#include "tree_sitter/parser.h"

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

#ifdef _MSC_VER
#pragma optimize("", off)
#elif defined(__clang__)
#pragma clang optimize off
#elif defined(__GNUC__)
#pragma GCC optimize ("O0")
#endif

#define LANGUAGE_VERSION 14
#define STATE_COUNT 9028
#define LARGE_STATE_COUNT 1918
#define SYMBOL_COUNT 554
#define ALIAS_COUNT 5
#define TOKEN_COUNT 220
#define EXTERNAL_TOKEN_COUNT 33
#define FIELD_COUNT 46
#define MAX_ALIAS_SEQUENCE_LENGTH 10
#define PRODUCTION_ID_COUNT 259

enum ts_symbol_identifiers {
  anon_sym_BANG = 1,
  aux_sym_shebang_line_token1 = 2,
  sym_comment = 3,
  aux_sym_simple_identifier_token1 = 4,
  aux_sym_simple_identifier_token2 = 5,
  aux_sym_simple_identifier_token3 = 6,
  aux_sym_simple_identifier_token4 = 7,
  anon_sym_actor = 8,
  anon_sym_async = 9,
  anon_sym_each = 10,
  anon_sym_lazy = 11,
  anon_sym_repeat = 12,
  anon_sym_package = 13,
  anon_sym_nil = 14,
  sym_real_literal = 15,
  sym_integer_literal = 16,
  sym_hex_literal = 17,
  sym_oct_literal = 18,
  sym_bin_literal = 19,
  anon_sym_true = 20,
  anon_sym_false = 21,
  anon_sym_DQUOTE = 22,
  aux_sym_line_str_text_token1 = 23,
  anon_sym_BSLASH = 24,
  anon_sym_u = 25,
  aux_sym__uni_character_literal_token1 = 26,
  anon_sym_DQUOTE_DQUOTE_DQUOTE = 27,
  anon_sym_RPAREN = 28,
  sym_raw_str_interpolation_start = 29,
  anon_sym_BSLASH_LPAREN = 30,
  anon_sym_COMMA = 31,
  sym__escaped_identifier = 32,
  aux_sym__extended_regex_literal_token1 = 33,
  aux_sym__multiline_regex_literal_token1 = 34,
  aux_sym__multiline_regex_literal_token2 = 35,
  sym__oneline_regex_literal = 36,
  anon_sym_COLON = 37,
  anon_sym_BANG2 = 38,
  anon_sym_LPAREN = 39,
  anon_sym_LBRACK = 40,
  anon_sym_RBRACK = 41,
  anon_sym_DOT = 42,
  anon_sym_Type = 43,
  anon_sym_Protocol = 44,
  anon_sym_QMARK = 45,
  anon_sym_QMARK2 = 46,
  anon_sym_some = 47,
  anon_sym_any = 48,
  anon_sym_AMP = 49,
  anon_sym_TILDE = 50,
  anon_sym_if = 51,
  anon_sym_switch = 52,
  anon_sym_selector = 53,
  anon_sym_getter_COLON = 54,
  anon_sym_setter_COLON = 55,
  aux_sym_custom_operator_token1 = 56,
  anon_sym_LT = 57,
  anon_sym_GT = 58,
  anon_sym_await = 59,
  anon_sym_file = 60,
  anon_sym_fileID = 61,
  anon_sym_filePath = 62,
  anon_sym_line = 63,
  anon_sym_column = 64,
  anon_sym_function = 65,
  anon_sym_dsohandle = 66,
  anon_sym_colorLiteral = 67,
  anon_sym_fileLiteral = 68,
  anon_sym_imageLiteral = 69,
  anon_sym_LBRACE = 70,
  anon_sym_CARET_LBRACE = 71,
  anon_sym_RBRACE = 72,
  anon_sym_in = 73,
  anon_sym_self = 74,
  anon_sym_super = 75,
  anon_sym_guard = 76,
  anon_sym_case = 77,
  anon_sym_fallthrough = 78,
  anon_sym_do = 79,
  anon_sym_keyPath = 80,
  anon_sym_try = 81,
  anon_sym_PLUS_EQ = 82,
  anon_sym_DASH_EQ = 83,
  anon_sym_STAR_EQ = 84,
  anon_sym_SLASH_EQ = 85,
  anon_sym_PERCENT_EQ = 86,
  anon_sym_BANG_EQ = 87,
  anon_sym_BANG_EQ_EQ = 88,
  anon_sym_EQ_EQ_EQ = 89,
  anon_sym_LT_EQ = 90,
  anon_sym_GT_EQ = 91,
  anon_sym_DOT_DOT_DOT = 92,
  anon_sym_DOT_DOT_LT = 93,
  anon_sym_is = 94,
  anon_sym_PLUS = 95,
  anon_sym_DASH = 96,
  anon_sym_STAR = 97,
  anon_sym_SLASH = 98,
  anon_sym_PERCENT = 99,
  anon_sym_PLUS_PLUS = 100,
  anon_sym_DASH_DASH = 101,
  anon_sym_PIPE = 102,
  anon_sym_CARET = 103,
  anon_sym_LT_LT = 104,
  anon_sym_GT_GT = 105,
  sym_statement_label = 106,
  anon_sym_for = 107,
  anon_sym_while = 108,
  sym_throw_keyword = 109,
  anon_sym_return = 110,
  anon_sym_continue = 111,
  anon_sym_break = 112,
  anon_sym_yield = 113,
  anon_sym_available = 114,
  anon_sym_unavailable = 115,
  anon_sym_import = 116,
  anon_sym_typealias = 117,
  anon_sym_struct = 118,
  anon_sym_class = 119,
  anon_sym_enum = 120,
  anon_sym_protocol = 121,
  anon_sym_let = 122,
  anon_sym_var = 123,
  anon_sym_func = 124,
  anon_sym_willSet = 125,
  anon_sym_didSet = 126,
  anon_sym_macro = 127,
  anon_sym_externalMacro = 128,
  anon_sym_extension = 129,
  anon_sym_indirect = 130,
  anon_sym_SEMI = 131,
  anon_sym_init = 132,
  anon_sym_deinit = 133,
  anon_sym_subscript = 134,
  anon_sym_get = 135,
  anon_sym_set = 136,
  anon_sym__modify = 137,
  anon_sym_prefix = 138,
  anon_sym_infix = 139,
  anon_sym_postfix = 140,
  anon_sym_operator = 141,
  anon_sym_precedencegroup = 142,
  anon_sym_associatedtype = 143,
  anon_sym_AT = 144,
  sym_wildcard_pattern = 145,
  anon_sym_override = 146,
  anon_sym_convenience = 147,
  anon_sym_required = 148,
  anon_sym_nonisolated = 149,
  anon_sym_public = 150,
  anon_sym_private = 151,
  anon_sym_internal = 152,
  anon_sym_fileprivate = 153,
  anon_sym_open = 154,
  anon_sym_mutating = 155,
  anon_sym_nonmutating = 156,
  anon_sym_static = 157,
  anon_sym_dynamic = 158,
  anon_sym_optional = 159,
  anon_sym_distributed = 160,
  anon_sym_final = 161,
  anon_sym_inout = 162,
  anon_sym_ATescaping = 163,
  anon_sym_ATautoclosure = 164,
  anon_sym_weak = 165,
  anon_sym_unowned = 166,
  anon_sym_unowned_LPARENsafe_RPAREN = 167,
  anon_sym_unowned_LPARENunsafe_RPAREN = 168,
  anon_sym_borrowing = 169,
  anon_sym_consuming = 170,
  anon_sym_property = 171,
  anon_sym_receiver = 172,
  anon_sym_param = 173,
  anon_sym_setparam = 174,
  anon_sym_delegate = 175,
  anon_sym_os = 176,
  anon_sym_arch = 177,
  anon_sym_swift = 178,
  anon_sym_compiler = 179,
  anon_sym_canImport = 180,
  anon_sym_targetEnvironment = 181,
  aux_sym_diagnostic_token1 = 182,
  aux_sym_diagnostic_token2 = 183,
  aux_sym_diagnostic_token3 = 184,
  anon_sym_unused1 = 185,
  anon_sym_unused2 = 186,
  sym_multiline_comment = 187,
  sym_raw_str_part = 188,
  sym_raw_str_continuing_indicator = 189,
  sym_raw_str_end_part = 190,
  sym__implicit_semi = 191,
  sym__explicit_semi = 192,
  sym__arrow_operator_custom = 193,
  sym__dot_custom = 194,
  sym__conjunction_operator_custom = 195,
  sym__disjunction_operator_custom = 196,
  sym__nil_coalescing_operator_custom = 197,
  sym__eq_custom = 198,
  sym__eq_eq_custom = 199,
  sym__plus_then_ws = 200,
  sym__minus_then_ws = 201,
  sym__bang_custom = 202,
  sym__throws_keyword = 203,
  sym__rethrows_keyword = 204,
  sym_default_keyword = 205,
  sym_where_keyword = 206,
  sym_else = 207,
  sym_catch_keyword = 208,
  sym__as_custom = 209,
  sym__as_quest_custom = 210,
  sym__as_bang_custom = 211,
  sym__async_keyword_custom = 212,
  sym__custom_operator = 213,
  sym__hash_symbol_custom = 214,
  sym__directive_if = 215,
  sym__directive_elseif = 216,
  sym__directive_else = 217,
  sym__directive_endif = 218,
  sym__fake_try_bang = 219,
  sym_source_file = 220,
  sym__semi = 221,
  sym_shebang_line = 222,
  sym_simple_identifier = 223,
  sym__contextual_simple_identifier = 224,
  sym_identifier = 225,
  sym__basic_literal = 226,
  sym_boolean_literal = 227,
  sym__string_literal = 228,
  sym_line_string_literal = 229,
  sym__line_string_content = 230,
  sym_line_str_text = 231,
  sym_str_escaped_char = 232,
  sym__uni_character_literal = 233,
  sym_multi_line_string_literal = 234,
  sym_raw_string_literal = 235,
  sym_raw_str_interpolation = 236,
  sym__multi_line_string_content = 237,
  sym__interpolation = 238,
  sym__interpolation_contents = 239,
  sym_multi_line_str_text = 240,
  sym_regex_literal = 241,
  sym__extended_regex_literal = 242,
  sym__multiline_regex_literal = 243,
  sym_type_annotation = 244,
  sym__possibly_implicitly_unwrapped_type = 245,
  sym__type = 246,
  sym__unannotated_type = 247,
  sym_user_type = 248,
  sym__simple_user_type = 249,
  sym_tuple_type = 250,
  sym_tuple_type_item = 251,
  sym__tuple_type_item_identifier = 252,
  sym_function_type = 253,
  sym_array_type = 254,
  sym_dictionary_type = 255,
  sym_optional_type = 256,
  sym_metatype = 257,
  sym__quest = 258,
  sym__immediate_quest = 259,
  sym_opaque_type = 260,
  sym_existential_type = 261,
  sym_type_parameter_pack = 262,
  sym_type_pack_expansion = 263,
  sym_protocol_composition_type = 264,
  sym_suppressed_constraint = 265,
  sym__expression = 266,
  sym__unary_expression = 267,
  sym_postfix_expression = 268,
  sym_constructor_expression = 269,
  sym__parenthesized_type = 270,
  sym_navigation_expression = 271,
  sym__navigable_type_expression = 272,
  sym_open_start_range_expression = 273,
  sym__range_operator = 274,
  sym_open_end_range_expression = 275,
  sym_prefix_expression = 276,
  sym_as_expression = 277,
  sym_selector_expression = 278,
  sym__binary_expression = 279,
  sym_multiplicative_expression = 280,
  sym_additive_expression = 281,
  sym_range_expression = 282,
  sym_infix_expression = 283,
  sym_nil_coalescing_expression = 284,
  sym_check_expression = 285,
  sym_comparison_expression = 286,
  sym_equality_expression = 287,
  sym_conjunction_expression = 288,
  sym_disjunction_expression = 289,
  sym_bitwise_operation = 290,
  sym_custom_operator = 291,
  sym_navigation_suffix = 292,
  sym_call_suffix = 293,
  sym_constructor_suffix = 294,
  sym__constructor_value_arguments = 295,
  sym__fn_call_lambda_arguments = 296,
  sym_type_arguments = 297,
  sym_value_arguments = 298,
  sym_value_argument_label = 299,
  sym_value_argument = 300,
  sym_try_expression = 301,
  sym_await_expression = 302,
  sym__await_operator = 303,
  sym_ternary_expression = 304,
  sym__expr_hack_at_ternary_binary_suffix = 305,
  sym_expr_hack_at_ternary_binary_call = 306,
  sym_expr_hack_at_ternary_binary_call_suffix = 307,
  sym_call_expression = 308,
  sym_macro_invocation = 309,
  sym__primary_expression = 310,
  sym_tuple_expression = 311,
  sym_array_literal = 312,
  sym_dictionary_literal = 313,
  sym__dictionary_literal_item = 314,
  sym_special_literal = 315,
  sym_playground_literal = 316,
  sym_lambda_literal = 317,
  sym__lambda_type_declaration = 318,
  sym_capture_list = 319,
  sym_capture_list_item = 320,
  sym_lambda_function_type = 321,
  sym_lambda_function_type_parameters = 322,
  sym_lambda_parameter = 323,
  sym_self_expression = 324,
  sym_super_expression = 325,
  sym__else_options = 326,
  sym_if_statement = 327,
  sym__if_condition_sequence_item = 328,
  sym__if_let_binding = 329,
  sym_guard_statement = 330,
  sym_switch_statement = 331,
  sym_switch_entry = 332,
  sym_switch_pattern = 333,
  sym_do_statement = 334,
  sym_catch_block = 335,
  sym_where_clause = 336,
  sym_key_path_expression = 337,
  sym_key_path_string_expression = 338,
  sym__key_path_component = 339,
  sym__key_path_postfixes = 340,
  sym_try_operator = 341,
  sym__try_operator_type = 342,
  sym__assignment_and_operator = 343,
  sym__equality_operator = 344,
  sym__comparison_operator = 345,
  sym__three_dot_operator = 346,
  sym__open_ended_range_operator = 347,
  sym__is_operator = 348,
  sym__additive_operator = 349,
  sym__multiplicative_operator = 350,
  sym_as_operator = 351,
  sym__prefix_unary_operator = 352,
  sym__bitwise_binary_operator = 353,
  sym__postfix_unary_operator = 354,
  sym_directly_assignable_expression = 355,
  sym_statements = 356,
  sym__local_statement = 357,
  sym__top_level_statement = 358,
  sym__block = 359,
  sym__labeled_statement = 360,
  sym_for_statement = 361,
  sym__for_statement_collection = 362,
  sym_for_statement_await = 363,
  sym_while_statement = 364,
  sym_repeat_while_statement = 365,
  sym_control_transfer_statement = 366,
  sym__throw_statement = 367,
  sym__optionally_valueful_control_keyword = 368,
  sym_assignment = 369,
  sym_value_parameter_pack = 370,
  sym_value_pack_expansion = 371,
  sym_availability_condition = 372,
  sym__availability_argument = 373,
  sym__global_declaration = 374,
  sym__type_level_declaration = 375,
  sym__local_declaration = 376,
  sym__local_property_declaration = 377,
  sym__local_typealias_declaration = 378,
  sym__local_function_declaration = 379,
  sym__local_class_declaration = 380,
  sym_import_declaration = 381,
  sym__import_kind = 382,
  sym_protocol_property_declaration = 383,
  sym_protocol_property_requirements = 384,
  sym_property_declaration = 385,
  sym__modifierless_property_declaration = 386,
  sym__single_modifierless_property_declaration = 387,
  sym__expression_with_willset_didset = 388,
  sym__expression_without_willset_didset = 389,
  sym_willset_didset_block = 390,
  sym_willset_clause = 391,
  sym_didset_clause = 392,
  sym_typealias_declaration = 393,
  sym__modifierless_typealias_declaration = 394,
  sym_function_declaration = 395,
  sym__modifierless_function_declaration = 396,
  sym__bodyless_function_declaration = 397,
  sym__modifierless_function_declaration_no_body = 398,
  sym_function_body = 399,
  sym_macro_declaration = 400,
  sym__macro_head = 401,
  sym__macro_signature = 402,
  sym_macro_definition = 403,
  sym_external_macro_definition = 404,
  sym_class_declaration = 405,
  sym__modifierless_class_declaration = 406,
  sym_class_body = 407,
  sym__inheritance_specifiers = 408,
  sym_inheritance_specifier = 409,
  sym__annotated_inheritance_specifier = 410,
  sym_type_parameters = 411,
  sym_type_parameter = 412,
  sym__type_parameter_possibly_packed = 413,
  sym_type_constraints = 414,
  sym_type_constraint = 415,
  sym_inheritance_constraint = 416,
  sym_equality_constraint = 417,
  sym__constrained_type = 418,
  sym__class_member_separator = 419,
  sym__class_member_declarations = 420,
  aux_sym__function_value_parameters = 421,
  sym__function_value_parameter = 422,
  sym_parameter = 423,
  sym__non_constructor_function_decl = 424,
  sym__referenceable_operator = 425,
  sym__equal_sign = 426,
  sym__eq_eq = 427,
  sym__dot = 428,
  sym__arrow_operator = 429,
  sym__conjunction_operator = 430,
  sym__disjunction_operator = 431,
  sym__nil_coalescing_operator = 432,
  sym__as = 433,
  sym__as_quest = 434,
  sym__as_bang = 435,
  sym__hash_symbol = 436,
  sym_bang = 437,
  sym__async_keyword = 438,
  sym__async_modifier = 439,
  sym_throws = 440,
  sym_enum_class_body = 441,
  sym_enum_entry = 442,
  sym__enum_entry_suffix = 443,
  sym_enum_type_parameters = 444,
  sym_protocol_declaration = 445,
  sym_protocol_body = 446,
  sym__protocol_member_declarations = 447,
  sym__protocol_member_declaration = 448,
  sym_init_declaration = 449,
  sym_deinit_declaration = 450,
  sym_subscript_declaration = 451,
  sym_computed_property = 452,
  sym_computed_getter = 453,
  sym_computed_modify = 454,
  sym_computed_setter = 455,
  sym_getter_specifier = 456,
  sym_setter_specifier = 457,
  sym_modify_specifier = 458,
  aux_sym__getter_effects = 459,
  sym_operator_declaration = 460,
  sym_deprecated_operator_declaration_body = 461,
  sym_precedence_group_declaration = 462,
  sym_precedence_group_attributes = 463,
  sym_precedence_group_attribute = 464,
  sym_associatedtype_declaration = 465,
  sym_attribute = 466,
  sym__attribute_argument = 467,
  sym__universally_allowed_pattern = 468,
  sym__bound_identifier = 469,
  sym__binding_pattern_no_expr = 470,
  sym__no_expr_pattern_already_bound = 471,
  sym__binding_pattern_with_expr = 472,
  sym__direct_or_indirect_binding = 473,
  sym_value_binding_pattern = 474,
  sym__possibly_async_binding_pattern_kind = 475,
  sym__binding_kind_and_pattern = 476,
  sym__tuple_pattern_item = 477,
  sym__tuple_pattern = 478,
  sym__case_pattern = 479,
  sym__type_casting_pattern = 480,
  sym__binding_pattern = 481,
  sym_modifiers = 482,
  aux_sym__locally_permitted_modifiers = 483,
  sym_parameter_modifiers = 484,
  sym__non_local_scope_modifier = 485,
  sym__locally_permitted_modifier = 486,
  sym_property_behavior_modifier = 487,
  sym_type_modifiers = 488,
  sym_member_modifier = 489,
  sym_visibility_modifier = 490,
  sym_type_parameter_modifiers = 491,
  sym_function_modifier = 492,
  sym_mutation_modifier = 493,
  sym_property_modifier = 494,
  sym_inheritance_modifier = 495,
  sym_parameter_modifier = 496,
  sym_ownership_modifier = 497,
  sym__parameter_ownership_modifier = 498,
  sym_directive = 499,
  sym__compilation_condition = 500,
  sym_diagnostic = 501,
  aux_sym_source_file_repeat1 = 502,
  aux_sym_identifier_repeat1 = 503,
  aux_sym_line_string_literal_repeat1 = 504,
  aux_sym_multi_line_string_literal_repeat1 = 505,
  aux_sym_raw_string_literal_repeat1 = 506,
  aux_sym__interpolation_contents_repeat1 = 507,
  aux_sym_user_type_repeat1 = 508,
  aux_sym_tuple_type_repeat1 = 509,
  aux_sym_optional_type_repeat1 = 510,
  aux_sym_protocol_composition_type_repeat1 = 511,
  aux_sym__constructor_value_arguments_repeat1 = 512,
  aux_sym__fn_call_lambda_arguments_repeat1 = 513,
  aux_sym_type_arguments_repeat1 = 514,
  aux_sym_value_argument_repeat1 = 515,
  aux_sym_tuple_expression_repeat1 = 516,
  aux_sym_array_literal_repeat1 = 517,
  aux_sym_dictionary_literal_repeat1 = 518,
  aux_sym_playground_literal_repeat1 = 519,
  aux_sym__lambda_type_declaration_repeat1 = 520,
  aux_sym_capture_list_repeat1 = 521,
  aux_sym_lambda_function_type_parameters_repeat1 = 522,
  aux_sym_if_statement_repeat1 = 523,
  aux_sym_switch_statement_repeat1 = 524,
  aux_sym_switch_entry_repeat1 = 525,
  aux_sym_do_statement_repeat1 = 526,
  aux_sym_key_path_expression_repeat1 = 527,
  aux_sym__key_path_component_repeat1 = 528,
  aux_sym_statements_repeat1 = 529,
  aux_sym_repeat_while_statement_repeat1 = 530,
  aux_sym_availability_condition_repeat1 = 531,
  aux_sym__availability_argument_repeat1 = 532,
  aux_sym_protocol_property_requirements_repeat1 = 533,
  aux_sym__modifierless_property_declaration_repeat1 = 534,
  aux_sym__inheritance_specifiers_repeat1 = 535,
  aux_sym_type_parameters_repeat1 = 536,
  aux_sym_type_constraints_repeat1 = 537,
  aux_sym__constrained_type_repeat1 = 538,
  aux_sym__class_member_declarations_repeat1 = 539,
  aux_sym__function_value_parameters_repeat1 = 540,
  aux_sym_enum_class_body_repeat1 = 541,
  aux_sym_enum_entry_repeat1 = 542,
  aux_sym_enum_type_parameters_repeat1 = 543,
  aux_sym__protocol_member_declarations_repeat1 = 544,
  aux_sym_computed_property_repeat1 = 545,
  aux_sym_deprecated_operator_declaration_body_repeat1 = 546,
  aux_sym_precedence_group_attributes_repeat1 = 547,
  aux_sym_attribute_repeat1 = 548,
  aux_sym__attribute_argument_repeat1 = 549,
  aux_sym__attribute_argument_repeat2 = 550,
  aux_sym__tuple_pattern_repeat1 = 551,
  aux_sym_modifiers_repeat1 = 552,
  aux_sym_parameter_modifiers_repeat1 = 553,
  alias_sym__expression = 554,
  alias_sym_fully_open_range = 555,
  alias_sym_interpolated_expression = 556,
  alias_sym_protocol_function_declaration = 557,
  alias_sym_type_identifier = 558,
};

static const char * const ts_symbol_names[] = {
  [ts_builtin_sym_end] = "end",
  [anon_sym_BANG] = "!",
  [aux_sym_shebang_line_token1] = "shebang_line_token1",
  [sym_comment] = "comment",
  [aux_sym_simple_identifier_token1] = "simple_identifier_token1",
  [aux_sym_simple_identifier_token2] = "simple_identifier_token2",
  [aux_sym_simple_identifier_token3] = "simple_identifier_token3",
  [aux_sym_simple_identifier_token4] = "simple_identifier_token4",
  [anon_sym_actor] = "actor",
  [anon_sym_async] = "async",
  [anon_sym_each] = "each",
  [anon_sym_lazy] = "lazy",
  [anon_sym_repeat] = "repeat",
  [anon_sym_package] = "package",
  [anon_sym_nil] = "nil",
  [sym_real_literal] = "real_literal",
  [sym_integer_literal] = "integer_literal",
  [sym_hex_literal] = "hex_literal",
  [sym_oct_literal] = "oct_literal",
  [sym_bin_literal] = "bin_literal",
  [anon_sym_true] = "true",
  [anon_sym_false] = "false",
  [anon_sym_DQUOTE] = "\"",
  [aux_sym_line_str_text_token1] = "line_str_text_token1",
  [anon_sym_BSLASH] = "\\",
  [anon_sym_u] = "u",
  [aux_sym__uni_character_literal_token1] = "_uni_character_literal_token1",
  [anon_sym_DQUOTE_DQUOTE_DQUOTE] = "\"\"\"",
  [anon_sym_RPAREN] = ")",
  [sym_raw_str_interpolation_start] = "raw_str_interpolation_start",
  [anon_sym_BSLASH_LPAREN] = "\\(",
  [anon_sym_COMMA] = ",",
  [sym__escaped_identifier] = "_escaped_identifier",
  [aux_sym__extended_regex_literal_token1] = "_extended_regex_literal_token1",
  [aux_sym__multiline_regex_literal_token1] = "_multiline_regex_literal_token1",
  [aux_sym__multiline_regex_literal_token2] = "_multiline_regex_literal_token2",
  [sym__oneline_regex_literal] = "_oneline_regex_literal",
  [anon_sym_COLON] = ":",
  [anon_sym_BANG2] = "!",
  [anon_sym_LPAREN] = "(",
  [anon_sym_LBRACK] = "[",
  [anon_sym_RBRACK] = "]",
  [anon_sym_DOT] = ".",
  [anon_sym_Type] = "Type",
  [anon_sym_Protocol] = "Protocol",
  [anon_sym_QMARK] = "\?",
  [anon_sym_QMARK2] = "\?",
  [anon_sym_some] = "some",
  [anon_sym_any] = "any",
  [anon_sym_AMP] = "&",
  [anon_sym_TILDE] = "~",
  [anon_sym_if] = "if",
  [anon_sym_switch] = "switch",
  [anon_sym_selector] = "selector",
  [anon_sym_getter_COLON] = "getter:",
  [anon_sym_setter_COLON] = "setter:",
  [aux_sym_custom_operator_token1] = "custom_operator_token1",
  [anon_sym_LT] = "<",
  [anon_sym_GT] = ">",
  [anon_sym_await] = "await",
  [anon_sym_file] = "file",
  [anon_sym_fileID] = "fileID",
  [anon_sym_filePath] = "filePath",
  [anon_sym_line] = "line",
  [anon_sym_column] = "column",
  [anon_sym_function] = "function",
  [anon_sym_dsohandle] = "dsohandle",
  [anon_sym_colorLiteral] = "colorLiteral",
  [anon_sym_fileLiteral] = "fileLiteral",
  [anon_sym_imageLiteral] = "imageLiteral",
  [anon_sym_LBRACE] = "{",
  [anon_sym_CARET_LBRACE] = "^{",
  [anon_sym_RBRACE] = "}",
  [anon_sym_in] = "in",
  [anon_sym_self] = "self",
  [anon_sym_super] = "super",
  [anon_sym_guard] = "guard",
  [anon_sym_case] = "case",
  [anon_sym_fallthrough] = "fallthrough",
  [anon_sym_do] = "do",
  [anon_sym_keyPath] = "keyPath",
  [anon_sym_try] = "try",
  [anon_sym_PLUS_EQ] = "+=",
  [anon_sym_DASH_EQ] = "-=",
  [anon_sym_STAR_EQ] = "*=",
  [anon_sym_SLASH_EQ] = "/=",
  [anon_sym_PERCENT_EQ] = "%=",
  [anon_sym_BANG_EQ] = "!=",
  [anon_sym_BANG_EQ_EQ] = "!==",
  [anon_sym_EQ_EQ_EQ] = "===",
  [anon_sym_LT_EQ] = "<=",
  [anon_sym_GT_EQ] = ">=",
  [anon_sym_DOT_DOT_DOT] = "...",
  [anon_sym_DOT_DOT_LT] = "..<",
  [anon_sym_is] = "is",
  [anon_sym_PLUS] = "+",
  [anon_sym_DASH] = "-",
  [anon_sym_STAR] = "*",
  [anon_sym_SLASH] = "/",
  [anon_sym_PERCENT] = "%",
  [anon_sym_PLUS_PLUS] = "++",
  [anon_sym_DASH_DASH] = "--",
  [anon_sym_PIPE] = "|",
  [anon_sym_CARET] = "^",
  [anon_sym_LT_LT] = "<<",
  [anon_sym_GT_GT] = ">>",
  [sym_statement_label] = "statement_label",
  [anon_sym_for] = "for",
  [anon_sym_while] = "while",
  [sym_throw_keyword] = "throw_keyword",
  [anon_sym_return] = "return",
  [anon_sym_continue] = "continue",
  [anon_sym_break] = "break",
  [anon_sym_yield] = "yield",
  [anon_sym_available] = "available",
  [anon_sym_unavailable] = "unavailable",
  [anon_sym_import] = "import",
  [anon_sym_typealias] = "typealias",
  [anon_sym_struct] = "struct",
  [anon_sym_class] = "class",
  [anon_sym_enum] = "enum",
  [anon_sym_protocol] = "protocol",
  [anon_sym_let] = "let",
  [anon_sym_var] = "var",
  [anon_sym_func] = "func",
  [anon_sym_willSet] = "willSet",
  [anon_sym_didSet] = "didSet",
  [anon_sym_macro] = "macro",
  [anon_sym_externalMacro] = "externalMacro",
  [anon_sym_extension] = "extension",
  [anon_sym_indirect] = "indirect",
  [anon_sym_SEMI] = ";",
  [anon_sym_init] = "init",
  [anon_sym_deinit] = "deinit",
  [anon_sym_subscript] = "subscript",
  [anon_sym_get] = "get",
  [anon_sym_set] = "set",
  [anon_sym__modify] = "_modify",
  [anon_sym_prefix] = "prefix",
  [anon_sym_infix] = "infix",
  [anon_sym_postfix] = "postfix",
  [anon_sym_operator] = "operator",
  [anon_sym_precedencegroup] = "precedencegroup",
  [anon_sym_associatedtype] = "associatedtype",
  [anon_sym_AT] = "@",
  [sym_wildcard_pattern] = "wildcard_pattern",
  [anon_sym_override] = "override",
  [anon_sym_convenience] = "convenience",
  [anon_sym_required] = "required",
  [anon_sym_nonisolated] = "nonisolated",
  [anon_sym_public] = "public",
  [anon_sym_private] = "private",
  [anon_sym_internal] = "internal",
  [anon_sym_fileprivate] = "fileprivate",
  [anon_sym_open] = "open",
  [anon_sym_mutating] = "mutating",
  [anon_sym_nonmutating] = "nonmutating",
  [anon_sym_static] = "static",
  [anon_sym_dynamic] = "dynamic",
  [anon_sym_optional] = "optional",
  [anon_sym_distributed] = "distributed",
  [anon_sym_final] = "final",
  [anon_sym_inout] = "inout",
  [anon_sym_ATescaping] = "@escaping",
  [anon_sym_ATautoclosure] = "@autoclosure",
  [anon_sym_weak] = "weak",
  [anon_sym_unowned] = "unowned",
  [anon_sym_unowned_LPARENsafe_RPAREN] = "unowned(safe)",
  [anon_sym_unowned_LPARENunsafe_RPAREN] = "unowned(unsafe)",
  [anon_sym_borrowing] = "borrowing",
  [anon_sym_consuming] = "consuming",
  [anon_sym_property] = "property",
  [anon_sym_receiver] = "receiver",
  [anon_sym_param] = "param",
  [anon_sym_setparam] = "setparam",
  [anon_sym_delegate] = "delegate",
  [anon_sym_os] = "os",
  [anon_sym_arch] = "arch",
  [anon_sym_swift] = "swift",
  [anon_sym_compiler] = "compiler",
  [anon_sym_canImport] = "canImport",
  [anon_sym_targetEnvironment] = "targetEnvironment",
  [aux_sym_diagnostic_token1] = "diagnostic_token1",
  [aux_sym_diagnostic_token2] = "diagnostic_token2",
  [aux_sym_diagnostic_token3] = "diagnostic_token3",
  [anon_sym_unused1] = "try\?",
  [anon_sym_unused2] = "try!",
  [sym_multiline_comment] = "multiline_comment",
  [sym_raw_str_part] = "raw_str_part",
  [sym_raw_str_continuing_indicator] = "raw_str_continuing_indicator",
  [sym_raw_str_end_part] = "raw_str_end_part",
  [sym__implicit_semi] = "_implicit_semi",
  [sym__explicit_semi] = "_explicit_semi",
  [sym__arrow_operator_custom] = "->",
  [sym__dot_custom] = ".",
  [sym__conjunction_operator_custom] = "&&",
  [sym__disjunction_operator_custom] = "||",
  [sym__nil_coalescing_operator_custom] = "\?\?",
  [sym__eq_custom] = "=",
  [sym__eq_eq_custom] = "==",
  [sym__plus_then_ws] = "+",
  [sym__minus_then_ws] = "-",
  [sym__bang_custom] = "_bang_custom",
  [sym__throws_keyword] = "_throws_keyword",
  [sym__rethrows_keyword] = "_rethrows_keyword",
  [sym_default_keyword] = "default_keyword",
  [sym_where_keyword] = "where_keyword",
  [sym_else] = "else",
  [sym_catch_keyword] = "catch_keyword",
  [sym__as_custom] = "as",
  [sym__as_quest_custom] = "as\?",
  [sym__as_bang_custom] = "as!",
  [sym__async_keyword_custom] = "async",
  [sym__custom_operator] = "_custom_operator",
  [sym__hash_symbol_custom] = "#",
  [sym__directive_if] = "#if",
  [sym__directive_elseif] = "#elseif",
  [sym__directive_else] = "#else",
  [sym__directive_endif] = "#endif",
  [sym__fake_try_bang] = "_fake_try_bang",
  [sym_source_file] = "source_file",
  [sym__semi] = "_semi",
  [sym_shebang_line] = "shebang_line",
  [sym_simple_identifier] = "simple_identifier",
  [sym__contextual_simple_identifier] = "_contextual_simple_identifier",
  [sym_identifier] = "identifier",
  [sym__basic_literal] = "_basic_literal",
  [sym_boolean_literal] = "boolean_literal",
  [sym__string_literal] = "_string_literal",
  [sym_line_string_literal] = "line_string_literal",
  [sym__line_string_content] = "_line_string_content",
  [sym_line_str_text] = "line_str_text",
  [sym_str_escaped_char] = "str_escaped_char",
  [sym__uni_character_literal] = "_uni_character_literal",
  [sym_multi_line_string_literal] = "multi_line_string_literal",
  [sym_raw_string_literal] = "raw_string_literal",
  [sym_raw_str_interpolation] = "raw_str_interpolation",
  [sym__multi_line_string_content] = "_multi_line_string_content",
  [sym__interpolation] = "_interpolation",
  [sym__interpolation_contents] = "_interpolation_contents",
  [sym_multi_line_str_text] = "multi_line_str_text",
  [sym_regex_literal] = "regex_literal",
  [sym__extended_regex_literal] = "_extended_regex_literal",
  [sym__multiline_regex_literal] = "_multiline_regex_literal",
  [sym_type_annotation] = "type_annotation",
  [sym__possibly_implicitly_unwrapped_type] = "_possibly_implicitly_unwrapped_type",
  [sym__type] = "_type",
  [sym__unannotated_type] = "_unannotated_type",
  [sym_user_type] = "user_type",
  [sym__simple_user_type] = "_simple_user_type",
  [sym_tuple_type] = "tuple_type",
  [sym_tuple_type_item] = "tuple_type_item",
  [sym__tuple_type_item_identifier] = "_tuple_type_item_identifier",
  [sym_function_type] = "function_type",
  [sym_array_type] = "array_type",
  [sym_dictionary_type] = "dictionary_type",
  [sym_optional_type] = "optional_type",
  [sym_metatype] = "metatype",
  [sym__quest] = "_quest",
  [sym__immediate_quest] = "\?",
  [sym_opaque_type] = "opaque_type",
  [sym_existential_type] = "existential_type",
  [sym_type_parameter_pack] = "type_parameter_pack",
  [sym_type_pack_expansion] = "type_pack_expansion",
  [sym_protocol_composition_type] = "protocol_composition_type",
  [sym_suppressed_constraint] = "suppressed_constraint",
  [sym__expression] = "_expression",
  [sym__unary_expression] = "_unary_expression",
  [sym_postfix_expression] = "postfix_expression",
  [sym_constructor_expression] = "constructor_expression",
  [sym__parenthesized_type] = "_parenthesized_type",
  [sym_navigation_expression] = "navigation_expression",
  [sym__navigable_type_expression] = "_navigable_type_expression",
  [sym_open_start_range_expression] = "open_start_range_expression",
  [sym__range_operator] = "_range_operator",
  [sym_open_end_range_expression] = "open_end_range_expression",
  [sym_prefix_expression] = "prefix_expression",
  [sym_as_expression] = "as_expression",
  [sym_selector_expression] = "selector_expression",
  [sym__binary_expression] = "_binary_expression",
  [sym_multiplicative_expression] = "multiplicative_expression",
  [sym_additive_expression] = "additive_expression",
  [sym_range_expression] = "range_expression",
  [sym_infix_expression] = "infix_expression",
  [sym_nil_coalescing_expression] = "nil_coalescing_expression",
  [sym_check_expression] = "check_expression",
  [sym_comparison_expression] = "comparison_expression",
  [sym_equality_expression] = "equality_expression",
  [sym_conjunction_expression] = "conjunction_expression",
  [sym_disjunction_expression] = "disjunction_expression",
  [sym_bitwise_operation] = "bitwise_operation",
  [sym_custom_operator] = "custom_operator",
  [sym_navigation_suffix] = "navigation_suffix",
  [sym_call_suffix] = "call_suffix",
  [sym_constructor_suffix] = "constructor_suffix",
  [sym__constructor_value_arguments] = "value_arguments",
  [sym__fn_call_lambda_arguments] = "_fn_call_lambda_arguments",
  [sym_type_arguments] = "type_arguments",
  [sym_value_arguments] = "value_arguments",
  [sym_value_argument_label] = "value_argument_label",
  [sym_value_argument] = "value_argument",
  [sym_try_expression] = "try_expression",
  [sym_await_expression] = "await_expression",
  [sym__await_operator] = "_await_operator",
  [sym_ternary_expression] = "ternary_expression",
  [sym__expr_hack_at_ternary_binary_suffix] = "_expr_hack_at_ternary_binary_suffix",
  [sym_expr_hack_at_ternary_binary_call] = "call_expression",
  [sym_expr_hack_at_ternary_binary_call_suffix] = "call_suffix",
  [sym_call_expression] = "call_expression",
  [sym_macro_invocation] = "macro_invocation",
  [sym__primary_expression] = "_primary_expression",
  [sym_tuple_expression] = "tuple_expression",
  [sym_array_literal] = "array_literal",
  [sym_dictionary_literal] = "dictionary_literal",
  [sym__dictionary_literal_item] = "_dictionary_literal_item",
  [sym_special_literal] = "special_literal",
  [sym_playground_literal] = "playground_literal",
  [sym_lambda_literal] = "lambda_literal",
  [sym__lambda_type_declaration] = "_lambda_type_declaration",
  [sym_capture_list] = "capture_list",
  [sym_capture_list_item] = "capture_list_item",
  [sym_lambda_function_type] = "lambda_function_type",
  [sym_lambda_function_type_parameters] = "lambda_function_type_parameters",
  [sym_lambda_parameter] = "lambda_parameter",
  [sym_self_expression] = "self_expression",
  [sym_super_expression] = "super_expression",
  [sym__else_options] = "_else_options",
  [sym_if_statement] = "if_statement",
  [sym__if_condition_sequence_item] = "_if_condition_sequence_item",
  [sym__if_let_binding] = "_if_let_binding",
  [sym_guard_statement] = "guard_statement",
  [sym_switch_statement] = "switch_statement",
  [sym_switch_entry] = "switch_entry",
  [sym_switch_pattern] = "switch_pattern",
  [sym_do_statement] = "do_statement",
  [sym_catch_block] = "catch_block",
  [sym_where_clause] = "where_clause",
  [sym_key_path_expression] = "key_path_expression",
  [sym_key_path_string_expression] = "key_path_string_expression",
  [sym__key_path_component] = "_key_path_component",
  [sym__key_path_postfixes] = "_key_path_postfixes",
  [sym_try_operator] = "try_operator",
  [sym__try_operator_type] = "_try_operator_type",
  [sym__assignment_and_operator] = "_assignment_and_operator",
  [sym__equality_operator] = "_equality_operator",
  [sym__comparison_operator] = "_comparison_operator",
  [sym__three_dot_operator] = "_three_dot_operator",
  [sym__open_ended_range_operator] = "_open_ended_range_operator",
  [sym__is_operator] = "_is_operator",
  [sym__additive_operator] = "_additive_operator",
  [sym__multiplicative_operator] = "_multiplicative_operator",
  [sym_as_operator] = "as_operator",
  [sym__prefix_unary_operator] = "_prefix_unary_operator",
  [sym__bitwise_binary_operator] = "_bitwise_binary_operator",
  [sym__postfix_unary_operator] = "_postfix_unary_operator",
  [sym_directly_assignable_expression] = "directly_assignable_expression",
  [sym_statements] = "statements",
  [sym__local_statement] = "_local_statement",
  [sym__top_level_statement] = "_top_level_statement",
  [sym__block] = "_block",
  [sym__labeled_statement] = "_labeled_statement",
  [sym_for_statement] = "for_statement",
  [sym__for_statement_collection] = "_for_statement_collection",
  [sym_for_statement_await] = "await_expression",
  [sym_while_statement] = "while_statement",
  [sym_repeat_while_statement] = "repeat_while_statement",
  [sym_control_transfer_statement] = "control_transfer_statement",
  [sym__throw_statement] = "_throw_statement",
  [sym__optionally_valueful_control_keyword] = "_optionally_valueful_control_keyword",
  [sym_assignment] = "assignment",
  [sym_value_parameter_pack] = "value_parameter_pack",
  [sym_value_pack_expansion] = "value_pack_expansion",
  [sym_availability_condition] = "availability_condition",
  [sym__availability_argument] = "_availability_argument",
  [sym__global_declaration] = "_global_declaration",
  [sym__type_level_declaration] = "_type_level_declaration",
  [sym__local_declaration] = "_local_declaration",
  [sym__local_property_declaration] = "property_declaration",
  [sym__local_typealias_declaration] = "typealias_declaration",
  [sym__local_function_declaration] = "function_declaration",
  [sym__local_class_declaration] = "class_declaration",
  [sym_import_declaration] = "import_declaration",
  [sym__import_kind] = "_import_kind",
  [sym_protocol_property_declaration] = "protocol_property_declaration",
  [sym_protocol_property_requirements] = "protocol_property_requirements",
  [sym_property_declaration] = "property_declaration",
  [sym__modifierless_property_declaration] = "_modifierless_property_declaration",
  [sym__single_modifierless_property_declaration] = "_single_modifierless_property_declaration",
  [sym__expression_with_willset_didset] = "_expression_with_willset_didset",
  [sym__expression_without_willset_didset] = "_expression_without_willset_didset",
  [sym_willset_didset_block] = "willset_didset_block",
  [sym_willset_clause] = "willset_clause",
  [sym_didset_clause] = "didset_clause",
  [sym_typealias_declaration] = "typealias_declaration",
  [sym__modifierless_typealias_declaration] = "_modifierless_typealias_declaration",
  [sym_function_declaration] = "function_declaration",
  [sym__modifierless_function_declaration] = "_modifierless_function_declaration",
  [sym__bodyless_function_declaration] = "_bodyless_function_declaration",
  [sym__modifierless_function_declaration_no_body] = "_modifierless_function_declaration_no_body",
  [sym_function_body] = "function_body",
  [sym_macro_declaration] = "macro_declaration",
  [sym__macro_head] = "_macro_head",
  [sym__macro_signature] = "_macro_signature",
  [sym_macro_definition] = "macro_definition",
  [sym_external_macro_definition] = "external_macro_definition",
  [sym_class_declaration] = "class_declaration",
  [sym__modifierless_class_declaration] = "_modifierless_class_declaration",
  [sym_class_body] = "class_body",
  [sym__inheritance_specifiers] = "_inheritance_specifiers",
  [sym_inheritance_specifier] = "inheritance_specifier",
  [sym__annotated_inheritance_specifier] = "_annotated_inheritance_specifier",
  [sym_type_parameters] = "type_parameters",
  [sym_type_parameter] = "type_parameter",
  [sym__type_parameter_possibly_packed] = "_type_parameter_possibly_packed",
  [sym_type_constraints] = "type_constraints",
  [sym_type_constraint] = "type_constraint",
  [sym_inheritance_constraint] = "inheritance_constraint",
  [sym_equality_constraint] = "equality_constraint",
  [sym__constrained_type] = "_constrained_type",
  [sym__class_member_separator] = "_class_member_separator",
  [sym__class_member_declarations] = "_class_member_declarations",
  [aux_sym__function_value_parameters] = "_function_value_parameters",
  [sym__function_value_parameter] = "_function_value_parameter",
  [sym_parameter] = "parameter",
  [sym__non_constructor_function_decl] = "_non_constructor_function_decl",
  [sym__referenceable_operator] = "_referenceable_operator",
  [sym__equal_sign] = "_equal_sign",
  [sym__eq_eq] = "_eq_eq",
  [sym__dot] = "_dot",
  [sym__arrow_operator] = "_arrow_operator",
  [sym__conjunction_operator] = "_conjunction_operator",
  [sym__disjunction_operator] = "_disjunction_operator",
  [sym__nil_coalescing_operator] = "_nil_coalescing_operator",
  [sym__as] = "_as",
  [sym__as_quest] = "_as_quest",
  [sym__as_bang] = "_as_bang",
  [sym__hash_symbol] = "_hash_symbol",
  [sym_bang] = "bang",
  [sym__async_keyword] = "_async_keyword",
  [sym__async_modifier] = "_async_modifier",
  [sym_throws] = "throws",
  [sym_enum_class_body] = "enum_class_body",
  [sym_enum_entry] = "enum_entry",
  [sym__enum_entry_suffix] = "_enum_entry_suffix",
  [sym_enum_type_parameters] = "enum_type_parameters",
  [sym_protocol_declaration] = "protocol_declaration",
  [sym_protocol_body] = "protocol_body",
  [sym__protocol_member_declarations] = "_protocol_member_declarations",
  [sym__protocol_member_declaration] = "_protocol_member_declaration",
  [sym_init_declaration] = "init_declaration",
  [sym_deinit_declaration] = "deinit_declaration",
  [sym_subscript_declaration] = "subscript_declaration",
  [sym_computed_property] = "computed_property",
  [sym_computed_getter] = "computed_getter",
  [sym_computed_modify] = "computed_modify",
  [sym_computed_setter] = "computed_setter",
  [sym_getter_specifier] = "getter_specifier",
  [sym_setter_specifier] = "setter_specifier",
  [sym_modify_specifier] = "modify_specifier",
  [aux_sym__getter_effects] = "_getter_effects",
  [sym_operator_declaration] = "operator_declaration",
  [sym_deprecated_operator_declaration_body] = "deprecated_operator_declaration_body",
  [sym_precedence_group_declaration] = "precedence_group_declaration",
  [sym_precedence_group_attributes] = "precedence_group_attributes",
  [sym_precedence_group_attribute] = "precedence_group_attribute",
  [sym_associatedtype_declaration] = "associatedtype_declaration",
  [sym_attribute] = "attribute",
  [sym__attribute_argument] = "_attribute_argument",
  [sym__universally_allowed_pattern] = "_universally_allowed_pattern",
  [sym__bound_identifier] = "_bound_identifier",
  [sym__binding_pattern_no_expr] = "_binding_pattern_no_expr",
  [sym__no_expr_pattern_already_bound] = "_no_expr_pattern_already_bound",
  [sym__binding_pattern_with_expr] = "pattern",
  [sym__direct_or_indirect_binding] = "_direct_or_indirect_binding",
  [sym_value_binding_pattern] = "value_binding_pattern",
  [sym__possibly_async_binding_pattern_kind] = "_possibly_async_binding_pattern_kind",
  [sym__binding_kind_and_pattern] = "_binding_kind_and_pattern",
  [sym__tuple_pattern_item] = "_tuple_pattern_item",
  [sym__tuple_pattern] = "_tuple_pattern",
  [sym__case_pattern] = "_case_pattern",
  [sym__type_casting_pattern] = "_type_casting_pattern",
  [sym__binding_pattern] = "_binding_pattern",
  [sym_modifiers] = "modifiers",
  [aux_sym__locally_permitted_modifiers] = "_locally_permitted_modifiers",
  [sym_parameter_modifiers] = "parameter_modifiers",
  [sym__non_local_scope_modifier] = "_non_local_scope_modifier",
  [sym__locally_permitted_modifier] = "_locally_permitted_modifier",
  [sym_property_behavior_modifier] = "property_behavior_modifier",
  [sym_type_modifiers] = "type_modifiers",
  [sym_member_modifier] = "member_modifier",
  [sym_visibility_modifier] = "visibility_modifier",
  [sym_type_parameter_modifiers] = "type_parameter_modifiers",
  [sym_function_modifier] = "function_modifier",
  [sym_mutation_modifier] = "mutation_modifier",
  [sym_property_modifier] = "property_modifier",
  [sym_inheritance_modifier] = "inheritance_modifier",
  [sym_parameter_modifier] = "parameter_modifier",
  [sym_ownership_modifier] = "ownership_modifier",
  [sym__parameter_ownership_modifier] = "_parameter_ownership_modifier",
  [sym_directive] = "directive",
  [sym__compilation_condition] = "_compilation_condition",
  [sym_diagnostic] = "diagnostic",
  [aux_sym_source_file_repeat1] = "source_file_repeat1",
  [aux_sym_identifier_repeat1] = "identifier_repeat1",
  [aux_sym_line_string_literal_repeat1] = "line_string_literal_repeat1",
  [aux_sym_multi_line_string_literal_repeat1] = "multi_line_string_literal_repeat1",
  [aux_sym_raw_string_literal_repeat1] = "raw_string_literal_repeat1",
  [aux_sym__interpolation_contents_repeat1] = "_interpolation_contents_repeat1",
  [aux_sym_user_type_repeat1] = "user_type_repeat1",
  [aux_sym_tuple_type_repeat1] = "tuple_type_repeat1",
  [aux_sym_optional_type_repeat1] = "optional_type_repeat1",
  [aux_sym_protocol_composition_type_repeat1] = "protocol_composition_type_repeat1",
  [aux_sym__constructor_value_arguments_repeat1] = "_constructor_value_arguments_repeat1",
  [aux_sym__fn_call_lambda_arguments_repeat1] = "_fn_call_lambda_arguments_repeat1",
  [aux_sym_type_arguments_repeat1] = "type_arguments_repeat1",
  [aux_sym_value_argument_repeat1] = "value_argument_repeat1",
  [aux_sym_tuple_expression_repeat1] = "tuple_expression_repeat1",
  [aux_sym_array_literal_repeat1] = "array_literal_repeat1",
  [aux_sym_dictionary_literal_repeat1] = "dictionary_literal_repeat1",
  [aux_sym_playground_literal_repeat1] = "playground_literal_repeat1",
  [aux_sym__lambda_type_declaration_repeat1] = "_lambda_type_declaration_repeat1",
  [aux_sym_capture_list_repeat1] = "capture_list_repeat1",
  [aux_sym_lambda_function_type_parameters_repeat1] = "lambda_function_type_parameters_repeat1",
  [aux_sym_if_statement_repeat1] = "if_statement_repeat1",
  [aux_sym_switch_statement_repeat1] = "switch_statement_repeat1",
  [aux_sym_switch_entry_repeat1] = "switch_entry_repeat1",
  [aux_sym_do_statement_repeat1] = "do_statement_repeat1",
  [aux_sym_key_path_expression_repeat1] = "key_path_expression_repeat1",
  [aux_sym__key_path_component_repeat1] = "_key_path_component_repeat1",
  [aux_sym_statements_repeat1] = "statements_repeat1",
  [aux_sym_repeat_while_statement_repeat1] = "repeat_while_statement_repeat1",
  [aux_sym_availability_condition_repeat1] = "availability_condition_repeat1",
  [aux_sym__availability_argument_repeat1] = "_availability_argument_repeat1",
  [aux_sym_protocol_property_requirements_repeat1] = "protocol_property_requirements_repeat1",
  [aux_sym__modifierless_property_declaration_repeat1] = "_modifierless_property_declaration_repeat1",
  [aux_sym__inheritance_specifiers_repeat1] = "_inheritance_specifiers_repeat1",
  [aux_sym_type_parameters_repeat1] = "type_parameters_repeat1",
  [aux_sym_type_constraints_repeat1] = "type_constraints_repeat1",
  [aux_sym__constrained_type_repeat1] = "_constrained_type_repeat1",
  [aux_sym__class_member_declarations_repeat1] = "_class_member_declarations_repeat1",
  [aux_sym__function_value_parameters_repeat1] = "_function_value_parameters_repeat1",
  [aux_sym_enum_class_body_repeat1] = "enum_class_body_repeat1",
  [aux_sym_enum_entry_repeat1] = "enum_entry_repeat1",
  [aux_sym_enum_type_parameters_repeat1] = "enum_type_parameters_repeat1",
  [aux_sym__protocol_member_declarations_repeat1] = "_protocol_member_declarations_repeat1",
  [aux_sym_computed_property_repeat1] = "computed_property_repeat1",
  [aux_sym_deprecated_operator_declaration_body_repeat1] = "deprecated_operator_declaration_body_repeat1",
  [aux_sym_precedence_group_attributes_repeat1] = "precedence_group_attributes_repeat1",
  [aux_sym_attribute_repeat1] = "attribute_repeat1",
  [aux_sym__attribute_argument_repeat1] = "_attribute_argument_repeat1",
  [aux_sym__attribute_argument_repeat2] = "_attribute_argument_repeat2",
  [aux_sym__tuple_pattern_repeat1] = "_tuple_pattern_repeat1",
  [aux_sym_modifiers_repeat1] = "modifiers_repeat1",
  [aux_sym_parameter_modifiers_repeat1] = "parameter_modifiers_repeat1",
  [alias_sym__expression] = "_expression",
  [alias_sym_fully_open_range] = "fully_open_range",
  [alias_sym_interpolated_expression] = "interpolated_expression",
  [alias_sym_protocol_function_declaration] = "protocol_function_declaration",
  [alias_sym_type_identifier] = "type_identifier",
};

static const TSSymbol ts_symbol_map[] = {
  [ts_builtin_sym_end] = ts_builtin_sym_end,
  [anon_sym_BANG] = anon_sym_BANG,
  [aux_sym_shebang_line_token1] = aux_sym_shebang_line_token1,
  [sym_comment] = sym_comment,
  [aux_sym_simple_identifier_token1] = aux_sym_simple_identifier_token1,
  [aux_sym_simple_identifier_token2] = aux_sym_simple_identifier_token2,
  [aux_sym_simple_identifier_token3] = aux_sym_simple_identifier_token3,
  [aux_sym_simple_identifier_token4] = aux_sym_simple_identifier_token4,
  [anon_sym_actor] = anon_sym_actor,
  [anon_sym_async] = anon_sym_async,
  [anon_sym_each] = anon_sym_each,
  [anon_sym_lazy] = anon_sym_lazy,
  [anon_sym_repeat] = anon_sym_repeat,
  [anon_sym_package] = anon_sym_package,
  [anon_sym_nil] = anon_sym_nil,
  [sym_real_literal] = sym_real_literal,
  [sym_integer_literal] = sym_integer_literal,
  [sym_hex_literal] = sym_hex_literal,
  [sym_oct_literal] = sym_oct_literal,
  [sym_bin_literal] = sym_bin_literal,
  [anon_sym_true] = anon_sym_true,
  [anon_sym_false] = anon_sym_false,
  [anon_sym_DQUOTE] = anon_sym_DQUOTE,
  [aux_sym_line_str_text_token1] = aux_sym_line_str_text_token1,
  [anon_sym_BSLASH] = anon_sym_BSLASH,
  [anon_sym_u] = anon_sym_u,
  [aux_sym__uni_character_literal_token1] = aux_sym__uni_character_literal_token1,
  [anon_sym_DQUOTE_DQUOTE_DQUOTE] = anon_sym_DQUOTE_DQUOTE_DQUOTE,
  [anon_sym_RPAREN] = anon_sym_RPAREN,
  [sym_raw_str_interpolation_start] = sym_raw_str_interpolation_start,
  [anon_sym_BSLASH_LPAREN] = anon_sym_BSLASH_LPAREN,
  [anon_sym_COMMA] = anon_sym_COMMA,
  [sym__escaped_identifier] = sym__escaped_identifier,
  [aux_sym__extended_regex_literal_token1] = aux_sym__extended_regex_literal_token1,
  [aux_sym__multiline_regex_literal_token1] = aux_sym__multiline_regex_literal_token1,
  [aux_sym__multiline_regex_literal_token2] = aux_sym__multiline_regex_literal_token2,
  [sym__oneline_regex_literal] = sym__oneline_regex_literal,
  [anon_sym_COLON] = anon_sym_COLON,
  [anon_sym_BANG2] = anon_sym_BANG,
  [anon_sym_LPAREN] = anon_sym_LPAREN,
  [anon_sym_LBRACK] = anon_sym_LBRACK,
  [anon_sym_RBRACK] = anon_sym_RBRACK,
  [anon_sym_DOT] = anon_sym_DOT,
  [anon_sym_Type] = anon_sym_Type,
  [anon_sym_Protocol] = anon_sym_Protocol,
  [anon_sym_QMARK] = anon_sym_QMARK,
  [anon_sym_QMARK2] = anon_sym_QMARK,
  [anon_sym_some] = anon_sym_some,
  [anon_sym_any] = anon_sym_any,
  [anon_sym_AMP] = anon_sym_AMP,
  [anon_sym_TILDE] = anon_sym_TILDE,
  [anon_sym_if] = anon_sym_if,
  [anon_sym_switch] = anon_sym_switch,
  [anon_sym_selector] = anon_sym_selector,
  [anon_sym_getter_COLON] = anon_sym_getter_COLON,
  [anon_sym_setter_COLON] = anon_sym_setter_COLON,
  [aux_sym_custom_operator_token1] = aux_sym_custom_operator_token1,
  [anon_sym_LT] = anon_sym_LT,
  [anon_sym_GT] = anon_sym_GT,
  [anon_sym_await] = anon_sym_await,
  [anon_sym_file] = anon_sym_file,
  [anon_sym_fileID] = anon_sym_fileID,
  [anon_sym_filePath] = anon_sym_filePath,
  [anon_sym_line] = anon_sym_line,
  [anon_sym_column] = anon_sym_column,
  [anon_sym_function] = anon_sym_function,
  [anon_sym_dsohandle] = anon_sym_dsohandle,
  [anon_sym_colorLiteral] = anon_sym_colorLiteral,
  [anon_sym_fileLiteral] = anon_sym_fileLiteral,
  [anon_sym_imageLiteral] = anon_sym_imageLiteral,
  [anon_sym_LBRACE] = anon_sym_LBRACE,
  [anon_sym_CARET_LBRACE] = anon_sym_CARET_LBRACE,
  [anon_sym_RBRACE] = anon_sym_RBRACE,
  [anon_sym_in] = anon_sym_in,
  [anon_sym_self] = anon_sym_self,
  [anon_sym_super] = anon_sym_super,
  [anon_sym_guard] = anon_sym_guard,
  [anon_sym_case] = anon_sym_case,
  [anon_sym_fallthrough] = anon_sym_fallthrough,
  [anon_sym_do] = anon_sym_do,
  [anon_sym_keyPath] = anon_sym_keyPath,
  [anon_sym_try] = anon_sym_try,
  [anon_sym_PLUS_EQ] = anon_sym_PLUS_EQ,
  [anon_sym_DASH_EQ] = anon_sym_DASH_EQ,
  [anon_sym_STAR_EQ] = anon_sym_STAR_EQ,
  [anon_sym_SLASH_EQ] = anon_sym_SLASH_EQ,
  [anon_sym_PERCENT_EQ] = anon_sym_PERCENT_EQ,
  [anon_sym_BANG_EQ] = anon_sym_BANG_EQ,
  [anon_sym_BANG_EQ_EQ] = anon_sym_BANG_EQ_EQ,
  [anon_sym_EQ_EQ_EQ] = anon_sym_EQ_EQ_EQ,
  [anon_sym_LT_EQ] = anon_sym_LT_EQ,
  [anon_sym_GT_EQ] = anon_sym_GT_EQ,
  [anon_sym_DOT_DOT_DOT] = anon_sym_DOT_DOT_DOT,
  [anon_sym_DOT_DOT_LT] = anon_sym_DOT_DOT_LT,
  [anon_sym_is] = anon_sym_is,
  [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_PERCENT] = anon_sym_PERCENT,
  [anon_sym_PLUS_PLUS] = anon_sym_PLUS_PLUS,
  [anon_sym_DASH_DASH] = anon_sym_DASH_DASH,
  [anon_sym_PIPE] = anon_sym_PIPE,
  [anon_sym_CARET] = anon_sym_CARET,
  [anon_sym_LT_LT] = anon_sym_LT_LT,
  [anon_sym_GT_GT] = anon_sym_GT_GT,
  [sym_statement_label] = sym_statement_label,
  [anon_sym_for] = anon_sym_for,
  [anon_sym_while] = anon_sym_while,
  [sym_throw_keyword] = sym_throw_keyword,
  [anon_sym_return] = anon_sym_return,
  [anon_sym_continue] = anon_sym_continue,
  [anon_sym_break] = anon_sym_break,
  [anon_sym_yield] = anon_sym_yield,
  [anon_sym_available] = anon_sym_available,
  [anon_sym_unavailable] = anon_sym_unavailable,
  [anon_sym_import] = anon_sym_import,
  [anon_sym_typealias] = anon_sym_typealias,
  [anon_sym_struct] = anon_sym_struct,
  [anon_sym_class] = anon_sym_class,
  [anon_sym_enum] = anon_sym_enum,
  [anon_sym_protocol] = anon_sym_protocol,
  [anon_sym_let] = anon_sym_let,
  [anon_sym_var] = anon_sym_var,
  [anon_sym_func] = anon_sym_func,
  [anon_sym_willSet] = anon_sym_willSet,
  [anon_sym_didSet] = anon_sym_didSet,
  [anon_sym_macro] = anon_sym_macro,
  [anon_sym_externalMacro] = anon_sym_externalMacro,
  [anon_sym_extension] = anon_sym_extension,
  [anon_sym_indirect] = anon_sym_indirect,
  [anon_sym_SEMI] = anon_sym_SEMI,
  [anon_sym_init] = anon_sym_init,
  [anon_sym_deinit] = anon_sym_deinit,
  [anon_sym_subscript] = anon_sym_subscript,
  [anon_sym_get] = anon_sym_get,
  [anon_sym_set] = anon_sym_set,
  [anon_sym__modify] = anon_sym__modify,
  [anon_sym_prefix] = anon_sym_prefix,
  [anon_sym_infix] = anon_sym_infix,
  [anon_sym_postfix] = anon_sym_postfix,
  [anon_sym_operator] = anon_sym_operator,
  [anon_sym_precedencegroup] = anon_sym_precedencegroup,
  [anon_sym_associatedtype] = anon_sym_associatedtype,
  [anon_sym_AT] = anon_sym_AT,
  [sym_wildcard_pattern] = sym_wildcard_pattern,
  [anon_sym_override] = anon_sym_override,
  [anon_sym_convenience] = anon_sym_convenience,
  [anon_sym_required] = anon_sym_required,
  [anon_sym_nonisolated] = anon_sym_nonisolated,
  [anon_sym_public] = anon_sym_public,
  [anon_sym_private] = anon_sym_private,
  [anon_sym_internal] = anon_sym_internal,
  [anon_sym_fileprivate] = anon_sym_fileprivate,
  [anon_sym_open] = anon_sym_open,
  [anon_sym_mutating] = anon_sym_mutating,
  [anon_sym_nonmutating] = anon_sym_nonmutating,
  [anon_sym_static] = anon_sym_static,
  [anon_sym_dynamic] = anon_sym_dynamic,
  [anon_sym_optional] = anon_sym_optional,
  [anon_sym_distributed] = anon_sym_distributed,
  [anon_sym_final] = anon_sym_final,
  [anon_sym_inout] = anon_sym_inout,
  [anon_sym_ATescaping] = anon_sym_ATescaping,
  [anon_sym_ATautoclosure] = anon_sym_ATautoclosure,
  [anon_sym_weak] = anon_sym_weak,
  [anon_sym_unowned] = anon_sym_unowned,
  [anon_sym_unowned_LPARENsafe_RPAREN] = anon_sym_unowned_LPARENsafe_RPAREN,
  [anon_sym_unowned_LPARENunsafe_RPAREN] = anon_sym_unowned_LPARENunsafe_RPAREN,
  [anon_sym_borrowing] = anon_sym_borrowing,
  [anon_sym_consuming] = anon_sym_consuming,
  [anon_sym_property] = anon_sym_property,
  [anon_sym_receiver] = anon_sym_receiver,
  [anon_sym_param] = anon_sym_param,
  [anon_sym_setparam] = anon_sym_setparam,
  [anon_sym_delegate] = anon_sym_delegate,
  [anon_sym_os] = anon_sym_os,
  [anon_sym_arch] = anon_sym_arch,
  [anon_sym_swift] = anon_sym_swift,
  [anon_sym_compiler] = anon_sym_compiler,
  [anon_sym_canImport] = anon_sym_canImport,
  [anon_sym_targetEnvironment] = anon_sym_targetEnvironment,
  [aux_sym_diagnostic_token1] = aux_sym_diagnostic_token1,
  [aux_sym_diagnostic_token2] = aux_sym_diagnostic_token2,
  [aux_sym_diagnostic_token3] = aux_sym_diagnostic_token3,
  [anon_sym_unused1] = anon_sym_unused1,
  [anon_sym_unused2] = anon_sym_unused2,
  [sym_multiline_comment] = sym_multiline_comment,
  [sym_raw_str_part] = sym_raw_str_part,
  [sym_raw_str_continuing_indicator] = sym_raw_str_continuing_indicator,
  [sym_raw_str_end_part] = sym_raw_str_end_part,
  [sym__implicit_semi] = sym__implicit_semi,
  [sym__explicit_semi] = sym__explicit_semi,
  [sym__arrow_operator_custom] = sym__arrow_operator_custom,
  [sym__dot_custom] = anon_sym_DOT,
  [sym__conjunction_operator_custom] = sym__conjunction_operator_custom,
  [sym__disjunction_operator_custom] = sym__disjunction_operator_custom,
  [sym__nil_coalescing_operator_custom] = sym__nil_coalescing_operator_custom,
  [sym__eq_custom] = sym__eq_custom,
  [sym__eq_eq_custom] = sym__eq_eq_custom,
  [sym__plus_then_ws] = anon_sym_PLUS,
  [sym__minus_then_ws] = anon_sym_DASH,
  [sym__bang_custom] = sym__bang_custom,
  [sym__throws_keyword] = sym__throws_keyword,
  [sym__rethrows_keyword] = sym__rethrows_keyword,
  [sym_default_keyword] = sym_default_keyword,
  [sym_where_keyword] = sym_where_keyword,
  [sym_else] = sym_else,
  [sym_catch_keyword] = sym_catch_keyword,
  [sym__as_custom] = sym__as_custom,
  [sym__as_quest_custom] = sym__as_quest_custom,
  [sym__as_bang_custom] = sym__as_bang_custom,
  [sym__async_keyword_custom] = anon_sym_async,
  [sym__custom_operator] = sym__custom_operator,
  [sym__hash_symbol_custom] = sym__hash_symbol_custom,
  [sym__directive_if] = sym__directive_if,
  [sym__directive_elseif] = sym__directive_elseif,
  [sym__directive_else] = sym__directive_else,
  [sym__directive_endif] = sym__directive_endif,
  [sym__fake_try_bang] = sym__fake_try_bang,
  [sym_source_file] = sym_source_file,
  [sym__semi] = sym__semi,
  [sym_shebang_line] = sym_shebang_line,
  [sym_simple_identifier] = sym_simple_identifier,
  [sym__contextual_simple_identifier] = sym__contextual_simple_identifier,
  [sym_identifier] = sym_identifier,
  [sym__basic_literal] = sym__basic_literal,
  [sym_boolean_literal] = sym_boolean_literal,
  [sym__string_literal] = sym__string_literal,
  [sym_line_string_literal] = sym_line_string_literal,
  [sym__line_string_content] = sym__line_string_content,
  [sym_line_str_text] = sym_line_str_text,
  [sym_str_escaped_char] = sym_str_escaped_char,
  [sym__uni_character_literal] = sym__uni_character_literal,
  [sym_multi_line_string_literal] = sym_multi_line_string_literal,
  [sym_raw_string_literal] = sym_raw_string_literal,
  [sym_raw_str_interpolation] = sym_raw_str_interpolation,
  [sym__multi_line_string_content] = sym__multi_line_string_content,
  [sym__interpolation] = sym__interpolation,
  [sym__interpolation_contents] = sym__interpolation_contents,
  [sym_multi_line_str_text] = sym_multi_line_str_text,
  [sym_regex_literal] = sym_regex_literal,
  [sym__extended_regex_literal] = sym__extended_regex_literal,
  [sym__multiline_regex_literal] = sym__multiline_regex_literal,
  [sym_type_annotation] = sym_type_annotation,
  [sym__possibly_implicitly_unwrapped_type] = sym__possibly_implicitly_unwrapped_type,
  [sym__type] = sym__type,
  [sym__unannotated_type] = sym__unannotated_type,
  [sym_user_type] = sym_user_type,
  [sym__simple_user_type] = sym__simple_user_type,
  [sym_tuple_type] = sym_tuple_type,
  [sym_tuple_type_item] = sym_tuple_type_item,
  [sym__tuple_type_item_identifier] = sym__tuple_type_item_identifier,
  [sym_function_type] = sym_function_type,
  [sym_array_type] = sym_array_type,
  [sym_dictionary_type] = sym_dictionary_type,
  [sym_optional_type] = sym_optional_type,
  [sym_metatype] = sym_metatype,
  [sym__quest] = sym__quest,
  [sym__immediate_quest] = anon_sym_QMARK,
  [sym_opaque_type] = sym_opaque_type,
  [sym_existential_type] = sym_existential_type,
  [sym_type_parameter_pack] = sym_type_parameter_pack,
  [sym_type_pack_expansion] = sym_type_pack_expansion,
  [sym_protocol_composition_type] = sym_protocol_composition_type,
  [sym_suppressed_constraint] = sym_suppressed_constraint,
  [sym__expression] = sym__expression,
  [sym__unary_expression] = sym__unary_expression,
  [sym_postfix_expression] = sym_postfix_expression,
  [sym_constructor_expression] = sym_constructor_expression,
  [sym__parenthesized_type] = sym__parenthesized_type,
  [sym_navigation_expression] = sym_navigation_expression,
  [sym__navigable_type_expression] = sym__navigable_type_expression,
  [sym_open_start_range_expression] = sym_open_start_range_expression,
  [sym__range_operator] = sym__range_operator,
  [sym_open_end_range_expression] = sym_open_end_range_expression,
  [sym_prefix_expression] = sym_prefix_expression,
  [sym_as_expression] = sym_as_expression,
  [sym_selector_expression] = sym_selector_expression,
  [sym__binary_expression] = sym__binary_expression,
  [sym_multiplicative_expression] = sym_multiplicative_expression,
  [sym_additive_expression] = sym_additive_expression,
  [sym_range_expression] = sym_range_expression,
  [sym_infix_expression] = sym_infix_expression,
  [sym_nil_coalescing_expression] = sym_nil_coalescing_expression,
  [sym_check_expression] = sym_check_expression,
  [sym_comparison_expression] = sym_comparison_expression,
  [sym_equality_expression] = sym_equality_expression,
  [sym_conjunction_expression] = sym_conjunction_expression,
  [sym_disjunction_expression] = sym_disjunction_expression,
  [sym_bitwise_operation] = sym_bitwise_operation,
  [sym_custom_operator] = sym_custom_operator,
  [sym_navigation_suffix] = sym_navigation_suffix,
  [sym_call_suffix] = sym_call_suffix,
  [sym_constructor_suffix] = sym_constructor_suffix,
  [sym__constructor_value_arguments] = sym_value_arguments,
  [sym__fn_call_lambda_arguments] = sym__fn_call_lambda_arguments,
  [sym_type_arguments] = sym_type_arguments,
  [sym_value_arguments] = sym_value_arguments,
  [sym_value_argument_label] = sym_value_argument_label,
  [sym_value_argument] = sym_value_argument,
  [sym_try_expression] = sym_try_expression,
  [sym_await_expression] = sym_await_expression,
  [sym__await_operator] = sym__await_operator,
  [sym_ternary_expression] = sym_ternary_expression,
  [sym__expr_hack_at_ternary_binary_suffix] = sym__expr_hack_at_ternary_binary_suffix,
  [sym_expr_hack_at_ternary_binary_call] = sym_call_expression,
  [sym_expr_hack_at_ternary_binary_call_suffix] = sym_call_suffix,
  [sym_call_expression] = sym_call_expression,
  [sym_macro_invocation] = sym_macro_invocation,
  [sym__primary_expression] = sym__primary_expression,
  [sym_tuple_expression] = sym_tuple_expression,
  [sym_array_literal] = sym_array_literal,
  [sym_dictionary_literal] = sym_dictionary_literal,
  [sym__dictionary_literal_item] = sym__dictionary_literal_item,
  [sym_special_literal] = sym_special_literal,
  [sym_playground_literal] = sym_playground_literal,
  [sym_lambda_literal] = sym_lambda_literal,
  [sym__lambda_type_declaration] = sym__lambda_type_declaration,
  [sym_capture_list] = sym_capture_list,
  [sym_capture_list_item] = sym_capture_list_item,
  [sym_lambda_function_type] = sym_lambda_function_type,
  [sym_lambda_function_type_parameters] = sym_lambda_function_type_parameters,
  [sym_lambda_parameter] = sym_lambda_parameter,
  [sym_self_expression] = sym_self_expression,
  [sym_super_expression] = sym_super_expression,
  [sym__else_options] = sym__else_options,
  [sym_if_statement] = sym_if_statement,
  [sym__if_condition_sequence_item] = sym__if_condition_sequence_item,
  [sym__if_let_binding] = sym__if_let_binding,
  [sym_guard_statement] = sym_guard_statement,
  [sym_switch_statement] = sym_switch_statement,
  [sym_switch_entry] = sym_switch_entry,
  [sym_switch_pattern] = sym_switch_pattern,
  [sym_do_statement] = sym_do_statement,
  [sym_catch_block] = sym_catch_block,
  [sym_where_clause] = sym_where_clause,
  [sym_key_path_expression] = sym_key_path_expression,
  [sym_key_path_string_expression] = sym_key_path_string_expression,
  [sym__key_path_component] = sym__key_path_component,
  [sym__key_path_postfixes] = sym__key_path_postfixes,
  [sym_try_operator] = sym_try_operator,
  [sym__try_operator_type] = sym__try_operator_type,
  [sym__assignment_and_operator] = sym__assignment_and_operator,
  [sym__equality_operator] = sym__equality_operator,
  [sym__comparison_operator] = sym__comparison_operator,
  [sym__three_dot_operator] = sym__three_dot_operator,
  [sym__open_ended_range_operator] = sym__open_ended_range_operator,
  [sym__is_operator] = sym__is_operator,
  [sym__additive_operator] = sym__additive_operator,
  [sym__multiplicative_operator] = sym__multiplicative_operator,
  [sym_as_operator] = sym_as_operator,
  [sym__prefix_unary_operator] = sym__prefix_unary_operator,
  [sym__bitwise_binary_operator] = sym__bitwise_binary_operator,
  [sym__postfix_unary_operator] = sym__postfix_unary_operator,
  [sym_directly_assignable_expression] = sym_directly_assignable_expression,
  [sym_statements] = sym_statements,
  [sym__local_statement] = sym__local_statement,
  [sym__top_level_statement] = sym__top_level_statement,
  [sym__block] = sym__block,
  [sym__labeled_statement] = sym__labeled_statement,
  [sym_for_statement] = sym_for_statement,
  [sym__for_statement_collection] = sym__for_statement_collection,
  [sym_for_statement_await] = sym_await_expression,
  [sym_while_statement] = sym_while_statement,
  [sym_repeat_while_statement] = sym_repeat_while_statement,
  [sym_control_transfer_statement] = sym_control_transfer_statement,
  [sym__throw_statement] = sym__throw_statement,
  [sym__optionally_valueful_control_keyword] = sym__optionally_valueful_control_keyword,
  [sym_assignment] = sym_assignment,
  [sym_value_parameter_pack] = sym_value_parameter_pack,
  [sym_value_pack_expansion] = sym_value_pack_expansion,
  [sym_availability_condition] = sym_availability_condition,
  [sym__availability_argument] = sym__availability_argument,
  [sym__global_declaration] = sym__global_declaration,
  [sym__type_level_declaration] = sym__type_level_declaration,
  [sym__local_declaration] = sym__local_declaration,
  [sym__local_property_declaration] = sym_property_declaration,
  [sym__local_typealias_declaration] = sym_typealias_declaration,
  [sym__local_function_declaration] = sym_function_declaration,
  [sym__local_class_declaration] = sym_class_declaration,
  [sym_import_declaration] = sym_import_declaration,
  [sym__import_kind] = sym__import_kind,
  [sym_protocol_property_declaration] = sym_protocol_property_declaration,
  [sym_protocol_property_requirements] = sym_protocol_property_requirements,
  [sym_property_declaration] = sym_property_declaration,
  [sym__modifierless_property_declaration] = sym__modifierless_property_declaration,
  [sym__single_modifierless_property_declaration] = sym__single_modifierless_property_declaration,
  [sym__expression_with_willset_didset] = sym__expression_with_willset_didset,
  [sym__expression_without_willset_didset] = sym__expression_without_willset_didset,
  [sym_willset_didset_block] = sym_willset_didset_block,
  [sym_willset_clause] = sym_willset_clause,
  [sym_didset_clause] = sym_didset_clause,
  [sym_typealias_declaration] = sym_typealias_declaration,
  [sym__modifierless_typealias_declaration] = sym__modifierless_typealias_declaration,
  [sym_function_declaration] = sym_function_declaration,
  [sym__modifierless_function_declaration] = sym__modifierless_function_declaration,
  [sym__bodyless_function_declaration] = sym__bodyless_function_declaration,
  [sym__modifierless_function_declaration_no_body] = sym__modifierless_function_declaration_no_body,
  [sym_function_body] = sym_function_body,
  [sym_macro_declaration] = sym_macro_declaration,
  [sym__macro_head] = sym__macro_head,
  [sym__macro_signature] = sym__macro_signature,
  [sym_macro_definition] = sym_macro_definition,
  [sym_external_macro_definition] = sym_external_macro_definition,
  [sym_class_declaration] = sym_class_declaration,
  [sym__modifierless_class_declaration] = sym__modifierless_class_declaration,
  [sym_class_body] = sym_class_body,
  [sym__inheritance_specifiers] = sym__inheritance_specifiers,
  [sym_inheritance_specifier] = sym_inheritance_specifier,
  [sym__annotated_inheritance_specifier] = sym__annotated_inheritance_specifier,
  [sym_type_parameters] = sym_type_parameters,
  [sym_type_parameter] = sym_type_parameter,
  [sym__type_parameter_possibly_packed] = sym__type_parameter_possibly_packed,
  [sym_type_constraints] = sym_type_constraints,
  [sym_type_constraint] = sym_type_constraint,
  [sym_inheritance_constraint] = sym_inheritance_constraint,
  [sym_equality_constraint] = sym_equality_constraint,
  [sym__constrained_type] = sym__constrained_type,
  [sym__class_member_separator] = sym__class_member_separator,
  [sym__class_member_declarations] = sym__class_member_declarations,
  [aux_sym__function_value_parameters] = aux_sym__function_value_parameters,
  [sym__function_value_parameter] = sym__function_value_parameter,
  [sym_parameter] = sym_parameter,
  [sym__non_constructor_function_decl] = sym__non_constructor_function_decl,
  [sym__referenceable_operator] = sym__referenceable_operator,
  [sym__equal_sign] = sym__equal_sign,
  [sym__eq_eq] = sym__eq_eq,
  [sym__dot] = sym__dot,
  [sym__arrow_operator] = sym__arrow_operator,
  [sym__conjunction_operator] = sym__conjunction_operator,
  [sym__disjunction_operator] = sym__disjunction_operator,
  [sym__nil_coalescing_operator] = sym__nil_coalescing_operator,
  [sym__as] = sym__as,
  [sym__as_quest] = sym__as_quest,
  [sym__as_bang] = sym__as_bang,
  [sym__hash_symbol] = sym__hash_symbol,
  [sym_bang] = sym_bang,
  [sym__async_keyword] = sym__async_keyword,
  [sym__async_modifier] = sym__async_modifier,
  [sym_throws] = sym_throws,
  [sym_enum_class_body] = sym_enum_class_body,
  [sym_enum_entry] = sym_enum_entry,
  [sym__enum_entry_suffix] = sym__enum_entry_suffix,
  [sym_enum_type_parameters] = sym_enum_type_parameters,
  [sym_protocol_declaration] = sym_protocol_declaration,
  [sym_protocol_body] = sym_protocol_body,
  [sym__protocol_member_declarations] = sym__protocol_member_declarations,
  [sym__protocol_member_declaration] = sym__protocol_member_declaration,
  [sym_init_declaration] = sym_init_declaration,
  [sym_deinit_declaration] = sym_deinit_declaration,
  [sym_subscript_declaration] = sym_subscript_declaration,
  [sym_computed_property] = sym_computed_property,
  [sym_computed_getter] = sym_computed_getter,
  [sym_computed_modify] = sym_computed_modify,
  [sym_computed_setter] = sym_computed_setter,
  [sym_getter_specifier] = sym_getter_specifier,
  [sym_setter_specifier] = sym_setter_specifier,
  [sym_modify_specifier] = sym_modify_specifier,
  [aux_sym__getter_effects] = aux_sym__getter_effects,
  [sym_operator_declaration] = sym_operator_declaration,
  [sym_deprecated_operator_declaration_body] = sym_deprecated_operator_declaration_body,
  [sym_precedence_group_declaration] = sym_precedence_group_declaration,
  [sym_precedence_group_attributes] = sym_precedence_group_attributes,
  [sym_precedence_group_attribute] = sym_precedence_group_attribute,
  [sym_associatedtype_declaration] = sym_associatedtype_declaration,
  [sym_attribute] = sym_attribute,
  [sym__attribute_argument] = sym__attribute_argument,
  [sym__universally_allowed_pattern] = sym__universally_allowed_pattern,
  [sym__bound_identifier] = sym__bound_identifier,
  [sym__binding_pattern_no_expr] = sym__binding_pattern_no_expr,
  [sym__no_expr_pattern_already_bound] = sym__no_expr_pattern_already_bound,
  [sym__binding_pattern_with_expr] = sym__binding_pattern_with_expr,
  [sym__direct_or_indirect_binding] = sym__direct_or_indirect_binding,
  [sym_value_binding_pattern] = sym_value_binding_pattern,
  [sym__possibly_async_binding_pattern_kind] = sym__possibly_async_binding_pattern_kind,
  [sym__binding_kind_and_pattern] = sym__binding_kind_and_pattern,
  [sym__tuple_pattern_item] = sym__tuple_pattern_item,
  [sym__tuple_pattern] = sym__tuple_pattern,
  [sym__case_pattern] = sym__case_pattern,
  [sym__type_casting_pattern] = sym__type_casting_pattern,
  [sym__binding_pattern] = sym__binding_pattern,
  [sym_modifiers] = sym_modifiers,
  [aux_sym__locally_permitted_modifiers] = aux_sym__locally_permitted_modifiers,
  [sym_parameter_modifiers] = sym_parameter_modifiers,
  [sym__non_local_scope_modifier] = sym__non_local_scope_modifier,
  [sym__locally_permitted_modifier] = sym__locally_permitted_modifier,
  [sym_property_behavior_modifier] = sym_property_behavior_modifier,
  [sym_type_modifiers] = sym_type_modifiers,
  [sym_member_modifier] = sym_member_modifier,
  [sym_visibility_modifier] = sym_visibility_modifier,
  [sym_type_parameter_modifiers] = sym_type_parameter_modifiers,
  [sym_function_modifier] = sym_function_modifier,
  [sym_mutation_modifier] = sym_mutation_modifier,
  [sym_property_modifier] = sym_property_modifier,
  [sym_inheritance_modifier] = sym_inheritance_modifier,
  [sym_parameter_modifier] = sym_parameter_modifier,
  [sym_ownership_modifier] = sym_ownership_modifier,
  [sym__parameter_ownership_modifier] = sym__parameter_ownership_modifier,
  [sym_directive] = sym_directive,
  [sym__compilation_condition] = sym__compilation_condition,
  [sym_diagnostic] = sym_diagnostic,
  [aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1,
  [aux_sym_identifier_repeat1] = aux_sym_identifier_repeat1,
  [aux_sym_line_string_literal_repeat1] = aux_sym_line_string_literal_repeat1,
  [aux_sym_multi_line_string_literal_repeat1] = aux_sym_multi_line_string_literal_repeat1,
  [aux_sym_raw_string_literal_repeat1] = aux_sym_raw_string_literal_repeat1,
  [aux_sym__interpolation_contents_repeat1] = aux_sym__interpolation_contents_repeat1,
  [aux_sym_user_type_repeat1] = aux_sym_user_type_repeat1,
  [aux_sym_tuple_type_repeat1] = aux_sym_tuple_type_repeat1,
  [aux_sym_optional_type_repeat1] = aux_sym_optional_type_repeat1,
  [aux_sym_protocol_composition_type_repeat1] = aux_sym_protocol_composition_type_repeat1,
  [aux_sym__constructor_value_arguments_repeat1] = aux_sym__constructor_value_arguments_repeat1,
  [aux_sym__fn_call_lambda_arguments_repeat1] = aux_sym__fn_call_lambda_arguments_repeat1,
  [aux_sym_type_arguments_repeat1] = aux_sym_type_arguments_repeat1,
  [aux_sym_value_argument_repeat1] = aux_sym_value_argument_repeat1,
  [aux_sym_tuple_expression_repeat1] = aux_sym_tuple_expression_repeat1,
  [aux_sym_array_literal_repeat1] = aux_sym_array_literal_repeat1,
  [aux_sym_dictionary_literal_repeat1] = aux_sym_dictionary_literal_repeat1,
  [aux_sym_playground_literal_repeat1] = aux_sym_playground_literal_repeat1,
  [aux_sym__lambda_type_declaration_repeat1] = aux_sym__lambda_type_declaration_repeat1,
  [aux_sym_capture_list_repeat1] = aux_sym_capture_list_repeat1,
  [aux_sym_lambda_function_type_parameters_repeat1] = aux_sym_lambda_function_type_parameters_repeat1,
  [aux_sym_if_statement_repeat1] = aux_sym_if_statement_repeat1,
  [aux_sym_switch_statement_repeat1] = aux_sym_switch_statement_repeat1,
  [aux_sym_switch_entry_repeat1] = aux_sym_switch_entry_repeat1,
  [aux_sym_do_statement_repeat1] = aux_sym_do_statement_repeat1,
  [aux_sym_key_path_expression_repeat1] = aux_sym_key_path_expression_repeat1,
  [aux_sym__key_path_component_repeat1] = aux_sym__key_path_component_repeat1,
  [aux_sym_statements_repeat1] = aux_sym_statements_repeat1,
  [aux_sym_repeat_while_statement_repeat1] = aux_sym_repeat_while_statement_repeat1,
  [aux_sym_availability_condition_repeat1] = aux_sym_availability_condition_repeat1,
  [aux_sym__availability_argument_repeat1] = aux_sym__availability_argument_repeat1,
  [aux_sym_protocol_property_requirements_repeat1] = aux_sym_protocol_property_requirements_repeat1,
  [aux_sym__modifierless_property_declaration_repeat1] = aux_sym__modifierless_property_declaration_repeat1,
  [aux_sym__inheritance_specifiers_repeat1] = aux_sym__inheritance_specifiers_repeat1,
  [aux_sym_type_parameters_repeat1] = aux_sym_type_parameters_repeat1,
  [aux_sym_type_constraints_repeat1] = aux_sym_type_constraints_repeat1,
  [aux_sym__constrained_type_repeat1] = aux_sym__constrained_type_repeat1,
  [aux_sym__class_member_declarations_repeat1] = aux_sym__class_member_declarations_repeat1,
  [aux_sym__function_value_parameters_repeat1] = aux_sym__function_value_parameters_repeat1,
  [aux_sym_enum_class_body_repeat1] = aux_sym_enum_class_body_repeat1,
  [aux_sym_enum_entry_repeat1] = aux_sym_enum_entry_repeat1,
  [aux_sym_enum_type_parameters_repeat1] = aux_sym_enum_type_parameters_repeat1,
  [aux_sym__protocol_member_declarations_repeat1] = aux_sym__protocol_member_declarations_repeat1,
  [aux_sym_computed_property_repeat1] = aux_sym_computed_property_repeat1,
  [aux_sym_deprecated_operator_declaration_body_repeat1] = aux_sym_deprecated_operator_declaration_body_repeat1,
  [aux_sym_precedence_group_attributes_repeat1] = aux_sym_precedence_group_attributes_repeat1,
  [aux_sym_attribute_repeat1] = aux_sym_attribute_repeat1,
  [aux_sym__attribute_argument_repeat1] = aux_sym__attribute_argument_repeat1,
  [aux_sym__attribute_argument_repeat2] = aux_sym__attribute_argument_repeat2,
  [aux_sym__tuple_pattern_repeat1] = aux_sym__tuple_pattern_repeat1,
  [aux_sym_modifiers_repeat1] = aux_sym_modifiers_repeat1,
  [aux_sym_parameter_modifiers_repeat1] = aux_sym_parameter_modifiers_repeat1,
  [alias_sym__expression] = alias_sym__expression,
  [alias_sym_fully_open_range] = alias_sym_fully_open_range,
  [alias_sym_interpolated_expression] = alias_sym_interpolated_expression,
  [alias_sym_protocol_function_declaration] = alias_sym_protocol_function_declaration,
  [alias_sym_type_identifier] = alias_sym_type_identifier,
};

static const TSSymbolMetadata ts_symbol_metadata[] = {
  [ts_builtin_sym_end] = {
    .visible = false,
    .named = true,
  },
  [anon_sym_BANG] = {
    .visible = true,
    .named = false,
  },
  [aux_sym_shebang_line_token1] = {
    .visible = false,
    .named = false,
  },
  [sym_comment] = {
    .visible = true,
    .named = true,
  },
  [aux_sym_simple_identifier_token1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_simple_identifier_token2] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_simple_identifier_token3] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_simple_identifier_token4] = {
    .visible = false,
    .named = false,
  },
  [anon_sym_actor] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_async] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_each] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_lazy] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_repeat] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_package] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_nil] = {
    .visible = true,
    .named = false,
  },
  [sym_real_literal] = {
    .visible = true,
    .named = true,
  },
  [sym_integer_literal] = {
    .visible = true,
    .named = true,
  },
  [sym_hex_literal] = {
    .visible = true,
    .named = true,
  },
  [sym_oct_literal] = {
    .visible = true,
    .named = true,
  },
  [sym_bin_literal] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_true] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_false] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DQUOTE] = {
    .visible = true,
    .named = false,
  },
  [aux_sym_line_str_text_token1] = {
    .visible = false,
    .named = false,
  },
  [anon_sym_BSLASH] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_u] = {
    .visible = true,
    .named = false,
  },
  [aux_sym__uni_character_literal_token1] = {
    .visible = false,
    .named = false,
  },
  [anon_sym_DQUOTE_DQUOTE_DQUOTE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_RPAREN] = {
    .visible = true,
    .named = false,
  },
  [sym_raw_str_interpolation_start] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_BSLASH_LPAREN] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_COMMA] = {
    .visible = true,
    .named = false,
  },
  [sym__escaped_identifier] = {
    .visible = false,
    .named = true,
  },
  [aux_sym__extended_regex_literal_token1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym__multiline_regex_literal_token1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym__multiline_regex_literal_token2] = {
    .visible = false,
    .named = false,
  },
  [sym__oneline_regex_literal] = {
    .visible = false,
    .named = true,
  },
  [anon_sym_COLON] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_BANG2] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LPAREN] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LBRACK] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_RBRACK] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DOT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_Type] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_Protocol] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_QMARK] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_QMARK2] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_some] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_any] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_AMP] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_TILDE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_if] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_switch] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_selector] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_getter_COLON] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_setter_COLON] = {
    .visible = true,
    .named = false,
  },
  [aux_sym_custom_operator_token1] = {
    .visible = false,
    .named = false,
  },
  [anon_sym_LT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_GT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_await] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_file] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_fileID] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_filePath] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_line] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_column] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_function] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_dsohandle] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_colorLiteral] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_fileLiteral] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_imageLiteral] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LBRACE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_CARET_LBRACE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_RBRACE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_in] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_self] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_super] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_guard] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_case] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_fallthrough] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_do] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_keyPath] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_try] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PLUS_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DASH_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_STAR_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_SLASH_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PERCENT_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_BANG_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_BANG_EQ_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_EQ_EQ_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LT_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_GT_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DOT_DOT_DOT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DOT_DOT_LT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_is] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PLUS] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DASH] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_STAR] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_SLASH] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PERCENT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PLUS_PLUS] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DASH_DASH] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PIPE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_CARET] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LT_LT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_GT_GT] = {
    .visible = true,
    .named = false,
  },
  [sym_statement_label] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_for] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_while] = {
    .visible = true,
    .named = false,
  },
  [sym_throw_keyword] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_return] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_continue] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_break] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_yield] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_available] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_unavailable] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_import] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_typealias] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_struct] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_class] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_enum] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_protocol] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_let] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_var] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_func] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_willSet] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_didSet] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_macro] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_externalMacro] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_extension] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_indirect] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_SEMI] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_init] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_deinit] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_subscript] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_get] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_set] = {
    .visible = true,
    .named = false,
  },
  [anon_sym__modify] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_prefix] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_infix] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_postfix] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_operator] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_precedencegroup] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_associatedtype] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_AT] = {
    .visible = true,
    .named = false,
  },
  [sym_wildcard_pattern] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_override] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_convenience] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_required] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_nonisolated] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_public] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_private] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_internal] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_fileprivate] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_open] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_mutating] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_nonmutating] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_static] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_dynamic] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_optional] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_distributed] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_final] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_inout] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_ATescaping] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_ATautoclosure] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_weak] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_unowned] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_unowned_LPARENsafe_RPAREN] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_unowned_LPARENunsafe_RPAREN] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_borrowing] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_consuming] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_property] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_receiver] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_param] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_setparam] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_delegate] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_os] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_arch] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_swift] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_compiler] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_canImport] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_targetEnvironment] = {
    .visible = true,
    .named = false,
  },
  [aux_sym_diagnostic_token1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_diagnostic_token2] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_diagnostic_token3] = {
    .visible = false,
    .named = false,
  },
  [anon_sym_unused1] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_unused2] = {
    .visible = true,
    .named = false,
  },
  [sym_multiline_comment] = {
    .visible = true,
    .named = true,
  },
  [sym_raw_str_part] = {
    .visible = true,
    .named = true,
  },
  [sym_raw_str_continuing_indicator] = {
    .visible = true,
    .named = true,
  },
  [sym_raw_str_end_part] = {
    .visible = true,
    .named = true,
  },
  [sym__implicit_semi] = {
    .visible = false,
    .named = true,
  },
  [sym__explicit_semi] = {
    .visible = false,
    .named = true,
  },
  [sym__arrow_operator_custom] = {
    .visible = true,
    .named = false,
  },
  [sym__dot_custom] = {
    .visible = true,
    .named = false,
  },
  [sym__conjunction_operator_custom] = {
    .visible = true,
    .named = false,
  },
  [sym__disjunction_operator_custom] = {
    .visible = true,
    .named = false,
  },
  [sym__nil_coalescing_operator_custom] = {
    .visible = true,
    .named = false,
  },
  [sym__eq_custom] = {
    .visible = true,
    .named = false,
  },
  [sym__eq_eq_custom] = {
    .visible = true,
    .named = false,
  },
  [sym__plus_then_ws] = {
    .visible = true,
    .named = false,
  },
  [sym__minus_then_ws] = {
    .visible = true,
    .named = false,
  },
  [sym__bang_custom] = {
    .visible = false,
    .named = true,
  },
  [sym__throws_keyword] = {
    .visible = false,
    .named = true,
  },
  [sym__rethrows_keyword] = {
    .visible = false,
    .named = true,
  },
  [sym_default_keyword] = {
    .visible = true,
    .named = true,
  },
  [sym_where_keyword] = {
    .visible = true,
    .named = true,
  },
  [sym_else] = {
    .visible = true,
    .named = true,
  },
  [sym_catch_keyword] = {
    .visible = true,
    .named = true,
  },
  [sym__as_custom] = {
    .visible = true,
    .named = false,
  },
  [sym__as_quest_custom] = {
    .visible = true,
    .named = false,
  },
  [sym__as_bang_custom] = {
    .visible = true,
    .named = false,
  },
  [sym__async_keyword_custom] = {
    .visible = true,
    .named = false,
  },
  [sym__custom_operator] = {
    .visible = false,
    .named = true,
  },
  [sym__hash_symbol_custom] = {
    .visible = true,
    .named = false,
  },
  [sym__directive_if] = {
    .visible = true,
    .named = false,
  },
  [sym__directive_elseif] = {
    .visible = true,
    .named = false,
  },
  [sym__directive_else] = {
    .visible = true,
    .named = false,
  },
  [sym__directive_endif] = {
    .visible = true,
    .named = false,
  },
  [sym__fake_try_bang] = {
    .visible = false,
    .named = true,
  },
  [sym_source_file] = {
    .visible = true,
    .named = true,
  },
  [sym__semi] = {
    .visible = false,
    .named = true,
  },
  [sym_shebang_line] = {
    .visible = true,
    .named = true,
  },
  [sym_simple_identifier] = {
    .visible = true,
    .named = true,
  },
  [sym__contextual_simple_identifier] = {
    .visible = false,
    .named = true,
  },
  [sym_identifier] = {
    .visible = true,
    .named = true,
  },
  [sym__basic_literal] = {
    .visible = false,
    .named = true,
  },
  [sym_boolean_literal] = {
    .visible = true,
    .named = true,
  },
  [sym__string_literal] = {
    .visible = false,
    .named = true,
  },
  [sym_line_string_literal] = {
    .visible = true,
    .named = true,
  },
  [sym__line_string_content] = {
    .visible = false,
    .named = true,
  },
  [sym_line_str_text] = {
    .visible = true,
    .named = true,
  },
  [sym_str_escaped_char] = {
    .visible = true,
    .named = true,
  },
  [sym__uni_character_literal] = {
    .visible = false,
    .named = true,
  },
  [sym_multi_line_string_literal] = {
    .visible = true,
    .named = true,
  },
  [sym_raw_string_literal] = {
    .visible = true,
    .named = true,
  },
  [sym_raw_str_interpolation] = {
    .visible = true,
    .named = true,
  },
  [sym__multi_line_string_content] = {
    .visible = false,
    .named = true,
  },
  [sym__interpolation] = {
    .visible = false,
    .named = true,
  },
  [sym__interpolation_contents] = {
    .visible = false,
    .named = true,
  },
  [sym_multi_line_str_text] = {
    .visible = true,
    .named = true,
  },
  [sym_regex_literal] = {
    .visible = true,
    .named = true,
  },
  [sym__extended_regex_literal] = {
    .visible = false,
    .named = true,
  },
  [sym__multiline_regex_literal] = {
    .visible = false,
    .named = true,
  },
  [sym_type_annotation] = {
    .visible = true,
    .named = true,
  },
  [sym__possibly_implicitly_unwrapped_type] = {
    .visible = false,
    .named = true,
  },
  [sym__type] = {
    .visible = false,
    .named = true,
  },
  [sym__unannotated_type] = {
    .visible = false,
    .named = true,
  },
  [sym_user_type] = {
    .visible = true,
    .named = true,
  },
  [sym__simple_user_type] = {
    .visible = false,
    .named = true,
  },
  [sym_tuple_type] = {
    .visible = true,
    .named = true,
  },
  [sym_tuple_type_item] = {
    .visible = true,
    .named = true,
  },
  [sym__tuple_type_item_identifier] = {
    .visible = false,
    .named = true,
  },
  [sym_function_type] = {
    .visible = true,
    .named = true,
  },
  [sym_array_type] = {
    .visible = true,
    .named = true,
  },
  [sym_dictionary_type] = {
    .visible = true,
    .named = true,
  },
  [sym_optional_type] = {
    .visible = true,
    .named = true,
  },
  [sym_metatype] = {
    .visible = true,
    .named = true,
  },
  [sym__quest] = {
    .visible = false,
    .named = true,
  },
  [sym__immediate_quest] = {
    .visible = true,
    .named = false,
  },
  [sym_opaque_type] = {
    .visible = true,
    .named = true,
  },
  [sym_existential_type] = {
    .visible = true,
    .named = true,
  },
  [sym_type_parameter_pack] = {
    .visible = true,
    .named = true,
  },
  [sym_type_pack_expansion] = {
    .visible = true,
    .named = true,
  },
  [sym_protocol_composition_type] = {
    .visible = true,
    .named = true,
  },
  [sym_suppressed_constraint] = {
    .visible = true,
    .named = true,
  },
  [sym__expression] = {
    .visible = false,
    .named = true,
  },
  [sym__unary_expression] = {
    .visible = false,
    .named = true,
  },
  [sym_postfix_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_constructor_expression] = {
    .visible = true,
    .named = true,
  },
  [sym__parenthesized_type] = {
    .visible = false,
    .named = true,
  },
  [sym_navigation_expression] = {
    .visible = true,
    .named = true,
  },
  [sym__navigable_type_expression] = {
    .visible = false,
    .named = true,
  },
  [sym_open_start_range_expression] = {
    .visible = true,
    .named = true,
  },
  [sym__range_operator] = {
    .visible = false,
    .named = true,
  },
  [sym_open_end_range_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_prefix_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_as_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_selector_expression] = {
    .visible = true,
    .named = true,
  },
  [sym__binary_expression] = {
    .visible = false,
    .named = true,
  },
  [sym_multiplicative_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_additive_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_range_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_infix_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_nil_coalescing_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_check_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_comparison_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_equality_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_conjunction_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_disjunction_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_bitwise_operation] = {
    .visible = true,
    .named = true,
  },
  [sym_custom_operator] = {
    .visible = true,
    .named = true,
  },
  [sym_navigation_suffix] = {
    .visible = true,
    .named = true,
  },
  [sym_call_suffix] = {
    .visible = true,
    .named = true,
  },
  [sym_constructor_suffix] = {
    .visible = true,
    .named = true,
  },
  [sym__constructor_value_arguments] = {
    .visible = true,
    .named = true,
  },
  [sym__fn_call_lambda_arguments] = {
    .visible = false,
    .named = true,
  },
  [sym_type_arguments] = {
    .visible = true,
    .named = true,
  },
  [sym_value_arguments] = {
    .visible = true,
    .named = true,
  },
  [sym_value_argument_label] = {
    .visible = true,
    .named = true,
  },
  [sym_value_argument] = {
    .visible = true,
    .named = true,
  },
  [sym_try_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_await_expression] = {
    .visible = true,
    .named = true,
  },
  [sym__await_operator] = {
    .visible = false,
    .named = true,
  },
  [sym_ternary_expression] = {
    .visible = true,
    .named = true,
  },
  [sym__expr_hack_at_ternary_binary_suffix] = {
    .visible = false,
    .named = true,
  },
  [sym_expr_hack_at_ternary_binary_call] = {
    .visible = true,
    .named = true,
  },
  [sym_expr_hack_at_ternary_binary_call_suffix] = {
    .visible = true,
    .named = true,
  },
  [sym_call_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_macro_invocation] = {
    .visible = true,
    .named = true,
  },
  [sym__primary_expression] = {
    .visible = false,
    .named = true,
  },
  [sym_tuple_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_array_literal] = {
    .visible = true,
    .named = true,
  },
  [sym_dictionary_literal] = {
    .visible = true,
    .named = true,
  },
  [sym__dictionary_literal_item] = {
    .visible = false,
    .named = true,
  },
  [sym_special_literal] = {
    .visible = true,
    .named = true,
  },
  [sym_playground_literal] = {
    .visible = true,
    .named = true,
  },
  [sym_lambda_literal] = {
    .visible = true,
    .named = true,
  },
  [sym__lambda_type_declaration] = {
    .visible = false,
    .named = true,
  },
  [sym_capture_list] = {
    .visible = true,
    .named = true,
  },
  [sym_capture_list_item] = {
    .visible = true,
    .named = true,
  },
  [sym_lambda_function_type] = {
    .visible = true,
    .named = true,
  },
  [sym_lambda_function_type_parameters] = {
    .visible = true,
    .named = true,
  },
  [sym_lambda_parameter] = {
    .visible = true,
    .named = true,
  },
  [sym_self_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_super_expression] = {
    .visible = true,
    .named = true,
  },
  [sym__else_options] = {
    .visible = false,
    .named = true,
  },
  [sym_if_statement] = {
    .visible = true,
    .named = true,
  },
  [sym__if_condition_sequence_item] = {
    .visible = false,
    .named = true,
  },
  [sym__if_let_binding] = {
    .visible = false,
    .named = true,
  },
  [sym_guard_statement] = {
    .visible = true,
    .named = true,
  },
  [sym_switch_statement] = {
    .visible = true,
    .named = true,
  },
  [sym_switch_entry] = {
    .visible = true,
    .named = true,
  },
  [sym_switch_pattern] = {
    .visible = true,
    .named = true,
  },
  [sym_do_statement] = {
    .visible = true,
    .named = true,
  },
  [sym_catch_block] = {
    .visible = true,
    .named = true,
  },
  [sym_where_clause] = {
    .visible = true,
    .named = true,
  },
  [sym_key_path_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_key_path_string_expression] = {
    .visible = true,
    .named = true,
  },
  [sym__key_path_component] = {
    .visible = false,
    .named = true,
  },
  [sym__key_path_postfixes] = {
    .visible = false,
    .named = true,
  },
  [sym_try_operator] = {
    .visible = true,
    .named = true,
  },
  [sym__try_operator_type] = {
    .visible = false,
    .named = true,
  },
  [sym__assignment_and_operator] = {
    .visible = false,
    .named = true,
  },
  [sym__equality_operator] = {
    .visible = false,
    .named = true,
  },
  [sym__comparison_operator] = {
    .visible = false,
    .named = true,
  },
  [sym__three_dot_operator] = {
    .visible = false,
    .named = true,
  },
  [sym__open_ended_range_operator] = {
    .visible = false,
    .named = true,
  },
  [sym__is_operator] = {
    .visible = false,
    .named = true,
  },
  [sym__additive_operator] = {
    .visible = false,
    .named = true,
  },
  [sym__multiplicative_operator] = {
    .visible = false,
    .named = true,
  },
  [sym_as_operator] = {
    .visible = true,
    .named = true,
  },
  [sym__prefix_unary_operator] = {
    .visible = false,
    .named = true,
  },
  [sym__bitwise_binary_operator] = {
    .visible = false,
    .named = true,
  },
  [sym__postfix_unary_operator] = {
    .visible = false,
    .named = true,
  },
  [sym_directly_assignable_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_statements] = {
    .visible = true,
    .named = true,
  },
  [sym__local_statement] = {
    .visible = false,
    .named = true,
  },
  [sym__top_level_statement] = {
    .visible = false,
    .named = true,
  },
  [sym__block] = {
    .visible = false,
    .named = true,
  },
  [sym__labeled_statement] = {
    .visible = false,
    .named = true,
  },
  [sym_for_statement] = {
    .visible = true,
    .named = true,
  },
  [sym__for_statement_collection] = {
    .visible = false,
    .named = true,
  },
  [sym_for_statement_await] = {
    .visible = true,
    .named = true,
  },
  [sym_while_statement] = {
    .visible = true,
    .named = true,
  },
  [sym_repeat_while_statement] = {
    .visible = true,
    .named = true,
  },
  [sym_control_transfer_statement] = {
    .visible = true,
    .named = true,
  },
  [sym__throw_statement] = {
    .visible = false,
    .named = true,
  },
  [sym__optionally_valueful_control_keyword] = {
    .visible = false,
    .named = true,
  },
  [sym_assignment] = {
    .visible = true,
    .named = true,
  },
  [sym_value_parameter_pack] = {
    .visible = true,
    .named = true,
  },
  [sym_value_pack_expansion] = {
    .visible = true,
    .named = true,
  },
  [sym_availability_condition] = {
    .visible = true,
    .named = true,
  },
  [sym__availability_argument] = {
    .visible = false,
    .named = true,
  },
  [sym__global_declaration] = {
    .visible = false,
    .named = true,
  },
  [sym__type_level_declaration] = {
    .visible = false,
    .named = true,
  },
  [sym__local_declaration] = {
    .visible = false,
    .named = true,
  },
  [sym__local_property_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym__local_typealias_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym__local_function_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym__local_class_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym_import_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym__import_kind] = {
    .visible = false,
    .named = true,
  },
  [sym_protocol_property_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym_protocol_property_requirements] = {
    .visible = true,
    .named = true,
  },
  [sym_property_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym__modifierless_property_declaration] = {
    .visible = false,
    .named = true,
  },
  [sym__single_modifierless_property_declaration] = {
    .visible = false,
    .named = true,
  },
  [sym__expression_with_willset_didset] = {
    .visible = false,
    .named = true,
  },
  [sym__expression_without_willset_didset] = {
    .visible = false,
    .named = true,
  },
  [sym_willset_didset_block] = {
    .visible = true,
    .named = true,
  },
  [sym_willset_clause] = {
    .visible = true,
    .named = true,
  },
  [sym_didset_clause] = {
    .visible = true,
    .named = true,
  },
  [sym_typealias_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym__modifierless_typealias_declaration] = {
    .visible = false,
    .named = true,
  },
  [sym_function_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym__modifierless_function_declaration] = {
    .visible = false,
    .named = true,
  },
  [sym__bodyless_function_declaration] = {
    .visible = false,
    .named = true,
  },
  [sym__modifierless_function_declaration_no_body] = {
    .visible = false,
    .named = true,
  },
  [sym_function_body] = {
    .visible = true,
    .named = true,
  },
  [sym_macro_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym__macro_head] = {
    .visible = false,
    .named = true,
  },
  [sym__macro_signature] = {
    .visible = false,
    .named = true,
  },
  [sym_macro_definition] = {
    .visible = true,
    .named = true,
  },
  [sym_external_macro_definition] = {
    .visible = true,
    .named = true,
  },
  [sym_class_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym__modifierless_class_declaration] = {
    .visible = false,
    .named = true,
  },
  [sym_class_body] = {
    .visible = true,
    .named = true,
  },
  [sym__inheritance_specifiers] = {
    .visible = false,
    .named = true,
  },
  [sym_inheritance_specifier] = {
    .visible = true,
    .named = true,
  },
  [sym__annotated_inheritance_specifier] = {
    .visible = false,
    .named = true,
  },
  [sym_type_parameters] = {
    .visible = true,
    .named = true,
  },
  [sym_type_parameter] = {
    .visible = true,
    .named = true,
  },
  [sym__type_parameter_possibly_packed] = {
    .visible = false,
    .named = true,
  },
  [sym_type_constraints] = {
    .visible = true,
    .named = true,
  },
  [sym_type_constraint] = {
    .visible = true,
    .named = true,
  },
  [sym_inheritance_constraint] = {
    .visible = true,
    .named = true,
  },
  [sym_equality_constraint] = {
    .visible = true,
    .named = true,
  },
  [sym__constrained_type] = {
    .visible = false,
    .named = true,
  },
  [sym__class_member_separator] = {
    .visible = false,
    .named = true,
  },
  [sym__class_member_declarations] = {
    .visible = false,
    .named = true,
  },
  [aux_sym__function_value_parameters] = {
    .visible = false,
    .named = false,
  },
  [sym__function_value_parameter] = {
    .visible = false,
    .named = true,
  },
  [sym_parameter] = {
    .visible = true,
    .named = true,
  },
  [sym__non_constructor_function_decl] = {
    .visible = false,
    .named = true,
  },
  [sym__referenceable_operator] = {
    .visible = false,
    .named = true,
  },
  [sym__equal_sign] = {
    .visible = false,
    .named = true,
  },
  [sym__eq_eq] = {
    .visible = false,
    .named = true,
  },
  [sym__dot] = {
    .visible = false,
    .named = true,
  },
  [sym__arrow_operator] = {
    .visible = false,
    .named = true,
  },
  [sym__conjunction_operator] = {
    .visible = false,
    .named = true,
  },
  [sym__disjunction_operator] = {
    .visible = false,
    .named = true,
  },
  [sym__nil_coalescing_operator] = {
    .visible = false,
    .named = true,
  },
  [sym__as] = {
    .visible = false,
    .named = true,
  },
  [sym__as_quest] = {
    .visible = false,
    .named = true,
  },
  [sym__as_bang] = {
    .visible = false,
    .named = true,
  },
  [sym__hash_symbol] = {
    .visible = false,
    .named = true,
  },
  [sym_bang] = {
    .visible = true,
    .named = true,
  },
  [sym__async_keyword] = {
    .visible = false,
    .named = true,
  },
  [sym__async_modifier] = {
    .visible = false,
    .named = true,
  },
  [sym_throws] = {
    .visible = true,
    .named = true,
  },
  [sym_enum_class_body] = {
    .visible = true,
    .named = true,
  },
  [sym_enum_entry] = {
    .visible = true,
    .named = true,
  },
  [sym__enum_entry_suffix] = {
    .visible = false,
    .named = true,
  },
  [sym_enum_type_parameters] = {
    .visible = true,
    .named = true,
  },
  [sym_protocol_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym_protocol_body] = {
    .visible = true,
    .named = true,
  },
  [sym__protocol_member_declarations] = {
    .visible = false,
    .named = true,
  },
  [sym__protocol_member_declaration] = {
    .visible = false,
    .named = true,
  },
  [sym_init_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym_deinit_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym_subscript_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym_computed_property] = {
    .visible = true,
    .named = true,
  },
  [sym_computed_getter] = {
    .visible = true,
    .named = true,
  },
  [sym_computed_modify] = {
    .visible = true,
    .named = true,
  },
  [sym_computed_setter] = {
    .visible = true,
    .named = true,
  },
  [sym_getter_specifier] = {
    .visible = true,
    .named = true,
  },
  [sym_setter_specifier] = {
    .visible = true,
    .named = true,
  },
  [sym_modify_specifier] = {
    .visible = true,
    .named = true,
  },
  [aux_sym__getter_effects] = {
    .visible = false,
    .named = false,
  },
  [sym_operator_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym_deprecated_operator_declaration_body] = {
    .visible = true,
    .named = true,
  },
  [sym_precedence_group_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym_precedence_group_attributes] = {
    .visible = true,
    .named = true,
  },
  [sym_precedence_group_attribute] = {
    .visible = true,
    .named = true,
  },
  [sym_associatedtype_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym_attribute] = {
    .visible = true,
    .named = true,
  },
  [sym__attribute_argument] = {
    .visible = false,
    .named = true,
  },
  [sym__universally_allowed_pattern] = {
    .visible = false,
    .named = true,
  },
  [sym__bound_identifier] = {
    .visible = false,
    .named = true,
  },
  [sym__binding_pattern_no_expr] = {
    .visible = false,
    .named = true,
  },
  [sym__no_expr_pattern_already_bound] = {
    .visible = false,
    .named = true,
  },
  [sym__binding_pattern_with_expr] = {
    .visible = true,
    .named = true,
  },
  [sym__direct_or_indirect_binding] = {
    .visible = false,
    .named = true,
  },
  [sym_value_binding_pattern] = {
    .visible = true,
    .named = true,
  },
  [sym__possibly_async_binding_pattern_kind] = {
    .visible = false,
    .named = true,
  },
  [sym__binding_kind_and_pattern] = {
    .visible = false,
    .named = true,
  },
  [sym__tuple_pattern_item] = {
    .visible = false,
    .named = true,
  },
  [sym__tuple_pattern] = {
    .visible = false,
    .named = true,
  },
  [sym__case_pattern] = {
    .visible = false,
    .named = true,
  },
  [sym__type_casting_pattern] = {
    .visible = false,
    .named = true,
  },
  [sym__binding_pattern] = {
    .visible = false,
    .named = true,
  },
  [sym_modifiers] = {
    .visible = true,
    .named = true,
  },
  [aux_sym__locally_permitted_modifiers] = {
    .visible = false,
    .named = false,
  },
  [sym_parameter_modifiers] = {
    .visible = true,
    .named = true,
  },
  [sym__non_local_scope_modifier] = {
    .visible = false,
    .named = true,
  },
  [sym__locally_permitted_modifier] = {
    .visible = false,
    .named = true,
  },
  [sym_property_behavior_modifier] = {
    .visible = true,
    .named = true,
  },
  [sym_type_modifiers] = {
    .visible = true,
    .named = true,
  },
  [sym_member_modifier] = {
    .visible = true,
    .named = true,
  },
  [sym_visibility_modifier] = {
    .visible = true,
    .named = true,
  },
  [sym_type_parameter_modifiers] = {
    .visible = true,
    .named = true,
  },
  [sym_function_modifier] = {
    .visible = true,
    .named = true,
  },
  [sym_mutation_modifier] = {
    .visible = true,
    .named = true,
  },
  [sym_property_modifier] = {
    .visible = true,
    .named = true,
  },
  [sym_inheritance_modifier] = {
    .visible = true,
    .named = true,
  },
  [sym_parameter_modifier] = {
    .visible = true,
    .named = true,
  },
  [sym_ownership_modifier] = {
    .visible = true,
    .named = true,
  },
  [sym__parameter_ownership_modifier] = {
    .visible = false,
    .named = true,
  },
  [sym_directive] = {
    .visible = true,
    .named = true,
  },
  [sym__compilation_condition] = {
    .visible = false,
    .named = true,
  },
  [sym_diagnostic] = {
    .visible = true,
    .named = true,
  },
  [aux_sym_source_file_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_identifier_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_line_string_literal_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_multi_line_string_literal_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_raw_string_literal_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym__interpolation_contents_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_user_type_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_tuple_type_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_optional_type_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_protocol_composition_type_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym__constructor_value_arguments_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym__fn_call_lambda_arguments_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_type_arguments_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_value_argument_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_tuple_expression_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_array_literal_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_dictionary_literal_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_playground_literal_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym__lambda_type_declaration_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_capture_list_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_lambda_function_type_parameters_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_if_statement_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_switch_statement_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_switch_entry_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_do_statement_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_key_path_expression_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym__key_path_component_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_statements_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_repeat_while_statement_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_availability_condition_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym__availability_argument_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_protocol_property_requirements_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym__modifierless_property_declaration_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym__inheritance_specifiers_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_type_parameters_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_type_constraints_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym__constrained_type_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym__class_member_declarations_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym__function_value_parameters_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_enum_class_body_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_enum_entry_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_enum_type_parameters_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym__protocol_member_declarations_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_computed_property_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_deprecated_operator_declaration_body_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_precedence_group_attributes_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_attribute_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym__attribute_argument_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym__attribute_argument_repeat2] = {
    .visible = false,
    .named = false,
  },
  [aux_sym__tuple_pattern_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_modifiers_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_parameter_modifiers_repeat1] = {
    .visible = false,
    .named = false,
  },
  [alias_sym__expression] = {
    .visible = true,
    .named = true,
  },
  [alias_sym_fully_open_range] = {
    .visible = true,
    .named = true,
  },
  [alias_sym_interpolated_expression] = {
    .visible = true,
    .named = true,
  },
  [alias_sym_protocol_function_declaration] = {
    .visible = true,
    .named = true,
  },
  [alias_sym_type_identifier] = {
    .visible = true,
    .named = true,
  },
};

enum ts_field_identifiers {
  field_body = 1,
  field_bound_identifier = 2,
  field_captures = 3,
  field_collection = 4,
  field_computed_value = 5,
  field_condition = 6,
  field_constrained_type = 7,
  field_constructed_type = 8,
  field_data_contents = 9,
  field_declaration_kind = 10,
  field_default_value = 11,
  field_definition = 12,
  field_element = 13,
  field_end = 14,
  field_error = 15,
  field_expr = 16,
  field_external_name = 17,
  field_if_false = 18,
  field_if_nil = 19,
  field_if_true = 20,
  field_inherits_from = 21,
  field_interpolation = 22,
  field_item = 23,
  field_key = 24,
  field_lhs = 25,
  field_must_equal = 26,
  field_must_inherit = 27,
  field_mutability = 28,
  field_name = 29,
  field_op = 30,
  field_operation = 31,
  field_operator = 32,
  field_params = 33,
  field_raw_value = 34,
  field_reference_specifier = 35,
  field_result = 36,
  field_return_type = 37,
  field_rhs = 38,
  field_start = 39,
  field_suffix = 40,
  field_suppressed = 41,
  field_target = 42,
  field_text = 43,
  field_type = 44,
  field_value = 45,
  field_wrapped = 46,
};

static const char * const ts_field_names[] = {
  [0] = NULL,
  [field_body] = "body",
  [field_bound_identifier] = "bound_identifier",
  [field_captures] = "captures",
  [field_collection] = "collection",
  [field_computed_value] = "computed_value",
  [field_condition] = "condition",
  [field_constrained_type] = "constrained_type",
  [field_constructed_type] = "constructed_type",
  [field_data_contents] = "data_contents",
  [field_declaration_kind] = "declaration_kind",
  [field_default_value] = "default_value",
  [field_definition] = "definition",
  [field_element] = "element",
  [field_end] = "end",
  [field_error] = "error",
  [field_expr] = "expr",
  [field_external_name] = "external_name",
  [field_if_false] = "if_false",
  [field_if_nil] = "if_nil",
  [field_if_true] = "if_true",
  [field_inherits_from] = "inherits_from",
  [field_interpolation] = "interpolation",
  [field_item] = "item",
  [field_key] = "key",
  [field_lhs] = "lhs",
  [field_must_equal] = "must_equal",
  [field_must_inherit] = "must_inherit",
  [field_mutability] = "mutability",
  [field_name] = "name",
  [field_op] = "op",
  [field_operation] = "operation",
  [field_operator] = "operator",
  [field_params] = "params",
  [field_raw_value] = "raw_value",
  [field_reference_specifier] = "reference_specifier",
  [field_result] = "result",
  [field_return_type] = "return_type",
  [field_rhs] = "rhs",
  [field_start] = "start",
  [field_suffix] = "suffix",
  [field_suppressed] = "suppressed",
  [field_target] = "target",
  [field_text] = "text",
  [field_type] = "type",
  [field_value] = "value",
  [field_wrapped] = "wrapped",
};

static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = {
  [1] = {.index = 0, .length = 1},
  [2] = {.index = 1, .length = 1},
  [5] = {.index = 2, .length = 3},
  [6] = {.index = 5, .length = 2},
  [7] = {.index = 7, .length = 3},
  [8] = {.index = 10, .length = 3},
  [9] = {.index = 13, .length = 2},
  [10] = {.index = 15, .length = 1},
  [11] = {.index = 16, .length = 1},
  [12] = {.index = 17, .length = 1},
  [13] = {.index = 18, .length = 2},
  [14] = {.index = 20, .length = 4},
  [15] = {.index = 24, .length = 1},
  [16] = {.index = 25, .length = 1},
  [17] = {.index = 26, .length = 1},
  [18] = {.index = 27, .length = 3},
  [19] = {.index = 30, .length = 1},
  [20] = {.index = 31, .length = 2},
  [21] = {.index = 30, .length = 1},
  [22] = {.index = 33, .length = 1},
  [23] = {.index = 34, .length = 2},
  [24] = {.index = 36, .length = 1},
  [25] = {.index = 37, .length = 2},
  [26] = {.index = 39, .length = 3},
  [27] = {.index = 42, .length = 1},
  [28] = {.index = 43, .length = 1},
  [29] = {.index = 44, .length = 2},
  [30] = {.index = 44, .length = 2},
  [31] = {.index = 46, .length = 4},
  [32] = {.index = 50, .length = 2},
  [33] = {.index = 52, .length = 3},
  [34] = {.index = 55, .length = 3},
  [35] = {.index = 58, .length = 2},
  [36] = {.index = 60, .length = 3},
  [37] = {.index = 63, .length = 3},
  [38] = {.index = 66, .length = 4},
  [40] = {.index = 70, .length = 1},
  [41] = {.index = 71, .length = 1},
  [42] = {.index = 72, .length = 1},
  [43] = {.index = 73, .length = 3},
  [44] = {.index = 76, .length = 2},
  [45] = {.index = 78, .length = 1},
  [46] = {.index = 79, .length = 1},
  [47] = {.index = 80, .length = 2},
  [48] = {.index = 82, .length = 1},
  [49] = {.index = 83, .length = 2},
  [50] = {.index = 85, .length = 1},
  [51] = {.index = 86, .length = 2},
  [52] = {.index = 88, .length = 2},
  [53] = {.index = 90, .length = 3},
  [54] = {.index = 93, .length = 2},
  [55] = {.index = 95, .length = 1},
  [56] = {.index = 96, .length = 1},
  [57] = {.index = 97, .length = 1},
  [58] = {.index = 98, .length = 4},
  [59] = {.index = 102, .length = 1},
  [60] = {.index = 103, .length = 2},
  [61] = {.index = 73, .length = 3},
  [62] = {.index = 105, .length = 2},
  [63] = {.index = 107, .length = 3},
  [64] = {.index = 110, .length = 2},
  [65] = {.index = 112, .length = 3},
  [66] = {.index = 115, .length = 3},
  [67] = {.index = 118, .length = 4},
  [68] = {.index = 122, .length = 3},
  [69] = {.index = 125, .length = 1},
  [70] = {.index = 126, .length = 2},
  [71] = {.index = 128, .length = 3},
  [72] = {.index = 131, .length = 1},
  [73] = {.index = 132, .length = 1},
  [74] = {.index = 133, .length = 2},
  [75] = {.index = 135, .length = 6},
  [76] = {.index = 141, .length = 4},
  [77] = {.index = 145, .length = 4},
  [78] = {.index = 149, .length = 3},
  [79] = {.index = 152, .length = 1},
  [80] = {.index = 153, .length = 1},
  [81] = {.index = 154, .length = 1},
  [82] = {.index = 155, .length = 2},
  [83] = {.index = 157, .length = 1},
  [84] = {.index = 158, .length = 2},
  [85] = {.index = 160, .length = 1},
  [86] = {.index = 161, .length = 3},
  [87] = {.index = 164, .length = 3},
  [88] = {.index = 167, .length = 4},
  [89] = {.index = 171, .length = 3},
  [90] = {.index = 174, .length = 2},
  [91] = {.index = 176, .length = 3},
  [92] = {.index = 179, .length = 2},
  [93] = {.index = 181, .length = 2},
  [94] = {.index = 183, .length = 2},
  [95] = {.index = 185, .length = 4},
  [96] = {.index = 189, .length = 4},
  [97] = {.index = 193, .length = 6},
  [98] = {.index = 199, .length = 6},
  [99] = {.index = 205, .length = 3},
  [100] = {.index = 208, .length = 2},
  [101] = {.index = 210, .length = 2},
  [102] = {.index = 212, .length = 1},
  [103] = {.index = 213, .length = 1},
  [104] = {.index = 214, .length = 2},
  [105] = {.index = 216, .length = 3},
  [106] = {.index = 219, .length = 3},
  [107] = {.index = 222, .length = 2},
  [108] = {.index = 224, .length = 3},
  [109] = {.index = 7, .length = 3},
  [110] = {.index = 227, .length = 1},
  [111] = {.index = 161, .length = 3},
  [112] = {.index = 228, .length = 3},
  [113] = {.index = 231, .length = 1},
  [114] = {.index = 232, .length = 2},
  [115] = {.index = 234, .length = 3},
  [116] = {.index = 237, .length = 3},
  [117] = {.index = 240, .length = 3},
  [118] = {.index = 243, .length = 3},
  [119] = {.index = 246, .length = 2},
  [120] = {.index = 248, .length = 2},
  [121] = {.index = 250, .length = 1},
  [122] = {.index = 251, .length = 4},
  [123] = {.index = 255, .length = 6},
  [124] = {.index = 261, .length = 4},
  [125] = {.index = 265, .length = 4},
  [126] = {.index = 269, .length = 2},
  [127] = {.index = 271, .length = 2},
  [128] = {.index = 273, .length = 1},
  [129] = {.index = 274, .length = 2},
  [130] = {.index = 276, .length = 3},
  [131] = {.index = 279, .length = 1},
  [132] = {.index = 280, .length = 3},
  [133] = {.index = 283, .length = 2},
  [134] = {.index = 285, .length = 3},
  [135] = {.index = 288, .length = 4},
  [136] = {.index = 292, .length = 3},
  [137] = {.index = 295, .length = 2},
  [138] = {.index = 297, .length = 3},
  [139] = {.index = 300, .length = 4},
  [140] = {.index = 304, .length = 2},
  [141] = {.index = 306, .length = 3},
  [142] = {.index = 309, .length = 4},
  [143] = {.index = 313, .length = 3},
  [144] = {.index = 316, .length = 2},
  [145] = {.index = 318, .length = 3},
  [146] = {.index = 321, .length = 3},
  [147] = {.index = 46, .length = 4},
  [148] = {.index = 324, .length = 1},
  [149] = {.index = 325, .length = 2},
  [150] = {.index = 276, .length = 3},
  [151] = {.index = 327, .length = 3},
  [152] = {.index = 330, .length = 2},
  [153] = {.index = 332, .length = 1},
  [154] = {.index = 333, .length = 1},
  [155] = {.index = 334, .length = 3},
  [156] = {.index = 337, .length = 3},
  [157] = {.index = 340, .length = 3},
  [158] = {.index = 343, .length = 3},
  [159] = {.index = 346, .length = 2},
  [160] = {.index = 348, .length = 3},
  [161] = {.index = 351, .length = 2},
  [162] = {.index = 353, .length = 4},
  [163] = {.index = 357, .length = 4},
  [164] = {.index = 361, .length = 4},
  [165] = {.index = 365, .length = 4},
  [166] = {.index = 369, .length = 2},
  [167] = {.index = 371, .length = 3},
  [168] = {.index = 374, .length = 3},
  [169] = {.index = 377, .length = 3},
  [170] = {.index = 380, .length = 3},
  [171] = {.index = 383, .length = 3},
  [172] = {.index = 386, .length = 3},
  [173] = {.index = 389, .length = 1},
  [174] = {.index = 390, .length = 6},
  [175] = {.index = 396, .length = 3},
  [176] = {.index = 399, .length = 4},
  [177] = {.index = 403, .length = 3},
  [178] = {.index = 406, .length = 2},
  [179] = {.index = 408, .length = 4},
  [180] = {.index = 412, .length = 4},
  [181] = {.index = 416, .length = 4},
  [182] = {.index = 420, .length = 3},
  [183] = {.index = 423, .length = 3},
  [184] = {.index = 426, .length = 3},
  [185] = {.index = 429, .length = 3},
  [186] = {.index = 432, .length = 1},
  [187] = {.index = 433, .length = 4},
  [188] = {.index = 152, .length = 1},
  [189] = {.index = 437, .length = 3},
  [190] = {.index = 386, .length = 3},
  [191] = {.index = 440, .length = 3},
  [192] = {.index = 443, .length = 1},
  [193] = {.index = 444, .length = 1},
  [194] = {.index = 445, .length = 3},
  [195] = {.index = 448, .length = 3},
  [196] = {.index = 451, .length = 3},
  [197] = {.index = 454, .length = 5},
  [198] = {.index = 459, .length = 4},
  [199] = {.index = 463, .length = 4},
  [200] = {.index = 467, .length = 2},
  [201] = {.index = 469, .length = 3},
  [202] = {.index = 472, .length = 3},
  [203] = {.index = 475, .length = 3},
  [204] = {.index = 478, .length = 3},
  [205] = {.index = 481, .length = 3},
  [206] = {.index = 484, .length = 3},
  [207] = {.index = 487, .length = 6},
  [208] = {.index = 493, .length = 3},
  [209] = {.index = 496, .length = 2},
  [210] = {.index = 498, .length = 4},
  [211] = {.index = 502, .length = 4},
  [212] = {.index = 506, .length = 3},
  [213] = {.index = 509, .length = 3},
  [214] = {.index = 512, .length = 3},
  [215] = {.index = 515, .length = 1},
  [216] = {.index = 516, .length = 6},
  [217] = {.index = 522, .length = 6},
  [218] = {.index = 528, .length = 3},
  [219] = {.index = 531, .length = 4},
  [220] = {.index = 535, .length = 1},
  [221] = {.index = 484, .length = 3},
  [222] = {.index = 536, .length = 3},
  [223] = {.index = 539, .length = 3},
  [224] = {.index = 542, .length = 3},
  [225] = {.index = 545, .length = 5},
  [226] = {.index = 550, .length = 4},
  [227] = {.index = 554, .length = 3},
  [228] = {.index = 557, .length = 3},
  [229] = {.index = 560, .length = 3},
  [230] = {.index = 563, .length = 5},
  [231] = {.index = 568, .length = 3},
  [232] = {.index = 571, .length = 6},
  [233] = {.index = 577, .length = 2},
  [234] = {.index = 579, .length = 4},
  [235] = {.index = 583, .length = 3},
  [236] = {.index = 586, .length = 3},
  [237] = {.index = 589, .length = 6},
  [238] = {.index = 595, .length = 3},
  [239] = {.index = 598, .length = 4},
  [240] = {.index = 602, .length = 3},
  [241] = {.index = 605, .length = 3},
  [242] = {.index = 608, .length = 3},
  [243] = {.index = 611, .length = 3},
  [244] = {.index = 614, .length = 3},
  [245] = {.index = 617, .length = 5},
  [246] = {.index = 622, .length = 3},
  [247] = {.index = 625, .length = 3},
  [248] = {.index = 628, .length = 6},
  [249] = {.index = 634, .length = 3},
  [250] = {.index = 637, .length = 3},
  [251] = {.index = 640, .length = 3},
  [252] = {.index = 643, .length = 3},
  [253] = {.index = 646, .length = 1},
  [254] = {.index = 647, .length = 2},
  [255] = {.index = 649, .length = 2},
  [256] = {.index = 651, .length = 2},
  [257] = {.index = 653, .length = 2},
  [258] = {.index = 655, .length = 2},
};

static const TSFieldMapEntry ts_field_map_entries[] = {
  [0] =
    {field_text, 0},
  [1] =
    {field_mutability, 0},
  [2] =
    {field_computed_value, 0, .inherited = true},
    {field_name, 0, .inherited = true},
    {field_value, 0, .inherited = true},
  [5] =
    {field_name, 0, .inherited = true},
    {field_value, 0, .inherited = true},
  [7] =
    {field_default_value, 0, .inherited = true},
    {field_name, 0, .inherited = true},
    {field_return_type, 0, .inherited = true},
  [10] =
    {field_body, 0, .inherited = true},
    {field_declaration_kind, 0, .inherited = true},
    {field_name, 0, .inherited = true},
  [13] =
    {field_interpolation, 1},
    {field_text, 0},
  [15] =
    {field_interpolation, 0, .inherited = true},
  [16] =
    {field_name, 0},
  [17] =
    {field_element, 0, .inherited = true},
  [18] =
    {field_bound_identifier, 0, .inherited = true},
    {field_name, 0, .inherited = true},
  [20] =
    {field_body, 0, .inherited = true},
    {field_default_value, 0, .inherited = true},
    {field_name, 0, .inherited = true},
    {field_return_type, 0, .inherited = true},
  [24] =
    {field_bound_identifier, 0},
  [25] =
    {field_name, 0, .inherited = true},
  [26] =
    {field_bound_identifier, 0, .inherited = true},
  [27] =
    {field_default_value, 1, .inherited = true},
    {field_name, 1, .inherited = true},
    {field_return_type, 1, .inherited = true},
  [30] =
    {field_name, 1},
  [31] =
    {field_default_value, 1, .inherited = true},
    {field_name, 0},
  [33] =
    {field_constructed_type, 0},
  [34] =
    {field_suffix, 1},
    {field_target, 0},
  [36] =
    {field_start, 0},
  [37] =
    {field_operation, 1},
    {field_target, 0},
  [39] =
    {field_element, 0, .inherited = true},
    {field_suffix, 1},
    {field_target, 0},
  [42] =
    {field_end, 1},
  [43] =
    {field_expr, 1},
  [44] =
    {field_operation, 0},
    {field_target, 1},
  [46] =
    {field_body, 1},
    {field_default_value, 0, .inherited = true},
    {field_name, 0, .inherited = true},
    {field_return_type, 0, .inherited = true},
  [50] =
    {field_default_value, 1, .inherited = true},
    {field_name, 0, .inherited = true},
  [52] =
    {field_computed_value, 1, .inherited = true},
    {field_name, 1, .inherited = true},
    {field_value, 1, .inherited = true},
  [55] =
    {field_bound_identifier, 0, .inherited = true},
    {field_name, 0},
    {field_name, 0, .inherited = true},
  [58] =
    {field_name, 1, .inherited = true},
    {field_value, 1, .inherited = true},
  [60] =
    {field_body, 1, .inherited = true},
    {field_declaration_kind, 1, .inherited = true},
    {field_name, 1, .inherited = true},
  [63] =
    {field_interpolation, 0, .inherited = true},
    {field_text, 0, .inherited = true},
    {field_text, 1},
  [66] =
    {field_interpolation, 0, .inherited = true},
    {field_interpolation, 1, .inherited = true},
    {field_text, 0, .inherited = true},
    {field_text, 1, .inherited = true},
  [70] =
    {field_value, 0},
  [71] =
    {field_interpolation, 0},
  [72] =
    {field_reference_specifier, 0, .inherited = true},
  [73] =
    {field_body, 2},
    {field_declaration_kind, 0},
    {field_name, 1},
  [76] =
    {field_interpolation, 1, .inherited = true},
    {field_text, 1, .inherited = true},
  [78] =
    {field_element, 1},
  [79] =
    {field_value, 1},
  [80] =
    {field_name, 0, .inherited = true},
    {field_type, 0},
  [82] =
    {field_suppressed, 1},
  [83] =
    {field_element, 1},
    {field_name, 1, .inherited = true},
  [85] =
    {field_wrapped, 0},
  [86] =
    {field_key, 1, .inherited = true},
    {field_value, 1, .inherited = true},
  [88] =
    {field_bound_identifier, 1, .inherited = true},
    {field_name, 1, .inherited = true},
  [90] =
    {field_bound_identifier, 1, .inherited = true},
    {field_condition, 1},
    {field_name, 1, .inherited = true},
  [93] =
    {field_captures, 1, .inherited = true},
    {field_type, 1, .inherited = true},
  [95] =
    {field_captures, 0},
  [96] =
    {field_type, 0},
  [97] =
    {field_result, 1},
  [98] =
    {field_body, 1, .inherited = true},
    {field_default_value, 1, .inherited = true},
    {field_name, 1, .inherited = true},
    {field_return_type, 1, .inherited = true},
  [102] =
    {field_name, 1, .inherited = true},
  [103] =
    {field_default_value, 2, .inherited = true},
    {field_name, 1},
  [105] =
    {field_default_value, 2, .inherited = true},
    {field_name, 0},
  [107] =
    {field_body, 2},
    {field_default_value, 1, .inherited = true},
    {field_name, 0},
  [110] =
    {field_default_value, 0, .inherited = true},
    {field_default_value, 1, .inherited = true},
  [112] =
    {field_end, 2},
    {field_op, 1},
    {field_start, 0},
  [115] =
    {field_lhs, 0},
    {field_op, 1},
    {field_rhs, 2},
  [118] =
    {field_name, 2, .inherited = true},
    {field_op, 1},
    {field_target, 0},
    {field_type, 2},
  [122] =
    {field_expr, 0},
    {field_name, 2, .inherited = true},
    {field_type, 2},
  [125] =
    {field_suffix, 1},
  [126] =
    {field_if_nil, 2},
    {field_value, 0},
  [128] =
    {field_operator, 1},
    {field_result, 2},
    {field_target, 0},
  [131] =
    {field_default_value, 2, .inherited = true},
  [132] =
    {field_default_value, 0, .inherited = true},
  [133] =
    {field_default_value, 2, .inherited = true},
    {field_name, 0, .inherited = true},
  [135] =
    {field_computed_value, 1, .inherited = true},
    {field_computed_value, 2, .inherited = true},
    {field_name, 1, .inherited = true},
    {field_name, 2, .inherited = true},
    {field_value, 1, .inherited = true},
    {field_value, 2, .inherited = true},
  [141] =
    {field_bound_identifier, 0, .inherited = true},
    {field_name, 0},
    {field_name, 0, .inherited = true},
    {field_value, 1, .inherited = true},
  [145] =
    {field_bound_identifier, 0, .inherited = true},
    {field_computed_value, 1},
    {field_name, 0},
    {field_name, 0, .inherited = true},
  [149] =
    {field_default_value, 2, .inherited = true},
    {field_name, 2, .inherited = true},
    {field_return_type, 2, .inherited = true},
  [152] =
    {field_name, 2},
  [153] =
    {field_interpolation, 1, .inherited = true},
  [154] =
    {field_reference_specifier, 0},
  [155] =
    {field_interpolation, 0},
    {field_interpolation, 1, .inherited = true},
  [157] =
    {field_reference_specifier, 1, .inherited = true},
  [158] =
    {field_reference_specifier, 0, .inherited = true},
    {field_reference_specifier, 1, .inherited = true},
  [160] =
    {field_inherits_from, 0},
  [161] =
    {field_body, 3},
    {field_declaration_kind, 0},
    {field_name, 1},
  [164] =
    {field_name, 2, .inherited = true},
    {field_value, 1},
    {field_value, 2, .inherited = true},
  [167] =
    {field_name, 0, .inherited = true},
    {field_name, 1, .inherited = true},
    {field_value, 0, .inherited = true},
    {field_value, 1, .inherited = true},
  [171] =
    {field_name, 0, .inherited = true},
    {field_name, 1, .inherited = true},
    {field_type, 1},
  [174] =
    {field_name, 1, .inherited = true},
    {field_type, 1},
  [176] =
    {field_name, 2, .inherited = true},
    {field_params, 0},
    {field_return_type, 2},
  [179] =
    {field_key, 0},
    {field_value, 2},
  [181] =
    {field_element, 1},
    {field_element, 2, .inherited = true},
  [183] =
    {field_element, 0, .inherited = true},
    {field_element, 1, .inherited = true},
  [185] =
    {field_key, 1, .inherited = true},
    {field_key, 2, .inherited = true},
    {field_value, 1, .inherited = true},
    {field_value, 2, .inherited = true},
  [189] =
    {field_key, 0, .inherited = true},
    {field_key, 1, .inherited = true},
    {field_value, 0, .inherited = true},
    {field_value, 1, .inherited = true},
  [193] =
    {field_bound_identifier, 1, .inherited = true},
    {field_bound_identifier, 2, .inherited = true},
    {field_condition, 1},
    {field_condition, 2, .inherited = true},
    {field_name, 1, .inherited = true},
    {field_name, 2, .inherited = true},
  [199] =
    {field_bound_identifier, 0, .inherited = true},
    {field_bound_identifier, 1, .inherited = true},
    {field_condition, 0, .inherited = true},
    {field_condition, 1, .inherited = true},
    {field_name, 0, .inherited = true},
    {field_name, 1, .inherited = true},
  [205] =
    {field_name, 0},
    {field_name, 2, .inherited = true},
    {field_type, 2},
  [208] =
    {field_captures, 0},
    {field_type, 1},
  [210] =
    {field_name, 2, .inherited = true},
    {field_return_type, 2},
  [212] =
    {field_captures, 1},
  [213] =
    {field_type, 1},
  [214] =
    {field_bound_identifier, 2, .inherited = true},
    {field_name, 2, .inherited = true},
  [216] =
    {field_bound_identifier, 0, .inherited = true},
    {field_name, 0, .inherited = true},
    {field_name, 2, .inherited = true},
  [219] =
    {field_name, 1},
    {field_name, 3, .inherited = true},
    {field_value, 3},
  [222] =
    {field_default_value, 3, .inherited = true},
    {field_name, 1},
  [224] =
    {field_body, 3},
    {field_default_value, 2, .inherited = true},
    {field_name, 1},
  [227] =
    {field_body, 0, .inherited = true},
  [228] =
    {field_body, 3},
    {field_declaration_kind, 1},
    {field_name, 2},
  [231] =
    {field_default_value, 1, .inherited = true},
  [232] =
    {field_default_value, 3, .inherited = true},
    {field_name, 0},
  [234] =
    {field_body, 3},
    {field_default_value, 2, .inherited = true},
    {field_name, 0},
  [237] =
    {field_body, 3},
    {field_default_value, 1, .inherited = true},
    {field_name, 0},
  [240] =
    {field_must_inherit, 3},
    {field_name, 1},
    {field_name, 3, .inherited = true},
  [243] =
    {field_default_value, 3},
    {field_name, 1},
    {field_name, 3, .inherited = true},
  [246] =
    {field_name, 0, .inherited = true},
    {field_name, 1, .inherited = true},
  [248] =
    {field_default_value, 2, .inherited = true},
    {field_definition, 3},
  [250] =
    {field_default_value, 3, .inherited = true},
  [251] =
    {field_default_value, 1, .inherited = true},
    {field_name, 0, .inherited = true},
    {field_name, 3, .inherited = true},
    {field_return_type, 3},
  [255] =
    {field_computed_value, 0, .inherited = true},
    {field_computed_value, 1, .inherited = true},
    {field_name, 0, .inherited = true},
    {field_name, 1, .inherited = true},
    {field_value, 0, .inherited = true},
    {field_value, 1, .inherited = true},
  [261] =
    {field_bound_identifier, 0, .inherited = true},
    {field_name, 0},
    {field_name, 0, .inherited = true},
    {field_value, 2, .inherited = true},
  [265] =
    {field_bound_identifier, 0, .inherited = true},
    {field_computed_value, 2},
    {field_name, 0},
    {field_name, 0, .inherited = true},
  [269] =
    {field_default_value, 3, .inherited = true},
    {field_name, 2},
  [271] =
    {field_name, 0},
    {field_value, 2},
  [273] =
    {field_interpolation, 1},
  [274] =
    {field_interpolation, 0, .inherited = true},
    {field_interpolation, 1, .inherited = true},
  [276] =
    {field_body, 4},
    {field_declaration_kind, 0},
    {field_name, 1},
  [279] =
    {field_body, 1},
  [280] =
    {field_bound_identifier, 4, .inherited = true},
    {field_condition, 4},
    {field_name, 4, .inherited = true},
  [283] =
    {field_name, 1},
    {field_value, 3},
  [285] =
    {field_name, 0, .inherited = true},
    {field_name, 2, .inherited = true},
    {field_type, 2},
  [288] =
    {field_key, 1},
    {field_name, 1, .inherited = true},
    {field_name, 3, .inherited = true},
    {field_value, 3},
  [292] =
    {field_name, 3, .inherited = true},
    {field_params, 0},
    {field_return_type, 3},
  [295] =
    {field_name, 3, .inherited = true},
    {field_return_type, 3},
  [297] =
    {field_name, 0},
    {field_name, 3, .inherited = true},
    {field_type, 3},
  [300] =
    {field_external_name, 0},
    {field_name, 1},
    {field_name, 3, .inherited = true},
    {field_type, 3},
  [304] =
    {field_captures, 1},
    {field_type, 2},
  [306] =
    {field_bound_identifier, 1, .inherited = true},
    {field_error, 1},
    {field_name, 1, .inherited = true},
  [309] =
    {field_bound_identifier, 1, .inherited = true},
    {field_collection, 3},
    {field_item, 1},
    {field_name, 1, .inherited = true},
  [313] =
    {field_name, 1},
    {field_name, 4, .inherited = true},
    {field_value, 4},
  [316] =
    {field_default_value, 4, .inherited = true},
    {field_name, 1},
  [318] =
    {field_body, 4},
    {field_default_value, 3, .inherited = true},
    {field_name, 1},
  [321] =
    {field_body, 4},
    {field_default_value, 2, .inherited = true},
    {field_name, 1},
  [324] =
    {field_body, 1, .inherited = true},
  [325] =
    {field_body, 0, .inherited = true},
    {field_body, 1, .inherited = true},
  [327] =
    {field_body, 4},
    {field_declaration_kind, 1},
    {field_name, 2},
  [330] =
    {field_default_value, 1, .inherited = true},
    {field_default_value, 2, .inherited = true},
  [332] =
    {field_default_value, 2},
  [333] =
    {field_name, 2, .inherited = true},
  [334] =
    {field_body, 4},
    {field_default_value, 3, .inherited = true},
    {field_name, 0},
  [337] =
    {field_body, 4},
    {field_default_value, 2, .inherited = true},
    {field_name, 0},
  [340] =
    {field_body, 4},
    {field_default_value, 1, .inherited = true},
    {field_name, 0},
  [343] =
    {field_default_value, 4},
    {field_name, 1},
    {field_name, 4, .inherited = true},
  [346] =
    {field_name, 1, .inherited = true},
    {field_name, 2, .inherited = true},
  [348] =
    {field_condition, 0},
    {field_if_false, 4},
    {field_if_true, 2},
  [351] =
    {field_default_value, 3, .inherited = true},
    {field_definition, 4},
  [353] =
    {field_default_value, 2, .inherited = true},
    {field_name, 0, .inherited = true},
    {field_name, 4, .inherited = true},
    {field_return_type, 4},
  [357] =
    {field_default_value, 1, .inherited = true},
    {field_name, 0, .inherited = true},
    {field_name, 4, .inherited = true},
    {field_return_type, 4},
  [361] =
    {field_bound_identifier, 0, .inherited = true},
    {field_name, 0},
    {field_name, 0, .inherited = true},
    {field_value, 3, .inherited = true},
  [365] =
    {field_bound_identifier, 0, .inherited = true},
    {field_computed_value, 3},
    {field_name, 0},
    {field_name, 0, .inherited = true},
  [369] =
    {field_default_value, 4, .inherited = true},
    {field_name, 2},
  [371] =
    {field_body, 4},
    {field_default_value, 3, .inherited = true},
    {field_name, 2},
  [374] =
    {field_must_inherit, 4},
    {field_name, 2},
    {field_name, 4, .inherited = true},
  [377] =
    {field_default_value, 4},
    {field_name, 2},
    {field_name, 4, .inherited = true},
  [380] =
    {field_constrained_type, 0},
    {field_inherits_from, 2},
    {field_name, 2, .inherited = true},
  [383] =
    {field_constrained_type, 0},
    {field_must_equal, 2},
    {field_name, 2, .inherited = true},
  [386] =
    {field_body, 5},
    {field_declaration_kind, 0},
    {field_name, 1},
  [389] =
    {field_body, 2},
  [390] =
    {field_bound_identifier, 4, .inherited = true},
    {field_bound_identifier, 5, .inherited = true},
    {field_condition, 4},
    {field_condition, 5, .inherited = true},
    {field_name, 4, .inherited = true},
    {field_name, 5, .inherited = true},
  [396] =
    {field_bound_identifier, 5, .inherited = true},
    {field_condition, 5},
    {field_name, 5, .inherited = true},
  [399] =
    {field_name, 1},
    {field_name, 4, .inherited = true},
    {field_value, 3},
    {field_value, 4, .inherited = true},
  [403] =
    {field_name, 4, .inherited = true},
    {field_params, 0},
    {field_return_type, 4},
  [406] =
    {field_name, 4, .inherited = true},
    {field_return_type, 4},
  [408] =
    {field_external_name, 0},
    {field_name, 1},
    {field_name, 4, .inherited = true},
    {field_type, 4},
  [412] =
    {field_bound_identifier, 2, .inherited = true},
    {field_collection, 4},
    {field_item, 2},
    {field_name, 2, .inherited = true},
  [416] =
    {field_bound_identifier, 1, .inherited = true},
    {field_collection, 4},
    {field_item, 1},
    {field_name, 1, .inherited = true},
  [420] =
    {field_body, 5},
    {field_default_value, 4, .inherited = true},
    {field_name, 1},
  [423] =
    {field_body, 5},
    {field_default_value, 3, .inherited = true},
    {field_name, 1},
  [426] =
    {field_body, 5},
    {field_default_value, 2, .inherited = true},
    {field_name, 1},
  [429] =
    {field_data_contents, 2, .inherited = true},
    {field_name, 1},
    {field_raw_value, 2, .inherited = true},
  [432] =
    {field_data_contents, 0},
  [433] =
    {field_data_contents, 2, .inherited = true},
    {field_name, 1},
    {field_name, 2, .inherited = true},
    {field_raw_value, 2, .inherited = true},
  [437] =
    {field_bound_identifier, 1, .inherited = true},
    {field_name, 1},
    {field_name, 1, .inherited = true},
  [440] =
    {field_body, 5},
    {field_declaration_kind, 1},
    {field_name, 2},
  [443] =
    {field_default_value, 3},
  [444] =
    {field_name, 3, .inherited = true},
  [445] =
    {field_body, 5},
    {field_default_value, 3, .inherited = true},
    {field_name, 0},
  [448] =
    {field_body, 5},
    {field_default_value, 2, .inherited = true},
    {field_name, 0},
  [451] =
    {field_body, 5},
    {field_default_value, 1, .inherited = true},
    {field_name, 0},
  [454] =
    {field_default_value, 5},
    {field_must_inherit, 3},
    {field_name, 1},
    {field_name, 3, .inherited = true},
    {field_name, 5, .inherited = true},
  [459] =
    {field_default_value, 2, .inherited = true},
    {field_name, 0, .inherited = true},
    {field_name, 5, .inherited = true},
    {field_return_type, 5},
  [463] =
    {field_default_value, 1, .inherited = true},
    {field_name, 0, .inherited = true},
    {field_name, 5, .inherited = true},
    {field_return_type, 5},
  [467] =
    {field_default_value, 5, .inherited = true},
    {field_name, 2},
  [469] =
    {field_body, 5},
    {field_default_value, 4, .inherited = true},
    {field_name, 2},
  [472] =
    {field_body, 5},
    {field_default_value, 3, .inherited = true},
    {field_name, 2},
  [475] =
    {field_default_value, 5},
    {field_name, 2},
    {field_name, 5, .inherited = true},
  [478] =
    {field_constrained_type, 1},
    {field_inherits_from, 3},
    {field_name, 3, .inherited = true},
  [481] =
    {field_constrained_type, 1},
    {field_must_equal, 3},
    {field_name, 3, .inherited = true},
  [484] =
    {field_body, 6},
    {field_declaration_kind, 0},
    {field_name, 1},
  [487] =
    {field_bound_identifier, 5, .inherited = true},
    {field_bound_identifier, 6, .inherited = true},
    {field_condition, 5},
    {field_condition, 6, .inherited = true},
    {field_name, 5, .inherited = true},
    {field_name, 6, .inherited = true},
  [493] =
    {field_bound_identifier, 6, .inherited = true},
    {field_condition, 6},
    {field_name, 6, .inherited = true},
  [496] =
    {field_name, 5, .inherited = true},
    {field_return_type, 5},
  [498] =
    {field_bound_identifier, 2, .inherited = true},
    {field_collection, 5},
    {field_item, 2},
    {field_name, 2, .inherited = true},
  [502] =
    {field_bound_identifier, 3, .inherited = true},
    {field_collection, 5},
    {field_item, 3},
    {field_name, 3, .inherited = true},
  [506] =
    {field_body, 6},
    {field_default_value, 4, .inherited = true},
    {field_name, 1},
  [509] =
    {field_body, 6},
    {field_default_value, 3, .inherited = true},
    {field_name, 1},
  [512] =
    {field_body, 6},
    {field_default_value, 2, .inherited = true},
    {field_name, 1},
  [515] =
    {field_raw_value, 1},
  [516] =
    {field_data_contents, 2, .inherited = true},
    {field_data_contents, 3, .inherited = true},
    {field_name, 1},
    {field_name, 3, .inherited = true},
    {field_raw_value, 2, .inherited = true},
    {field_raw_value, 3, .inherited = true},
  [522] =
    {field_data_contents, 0, .inherited = true},
    {field_data_contents, 1, .inherited = true},
    {field_name, 0, .inherited = true},
    {field_name, 1, .inherited = true},
    {field_raw_value, 0, .inherited = true},
    {field_raw_value, 1, .inherited = true},
  [528] =
    {field_data_contents, 3, .inherited = true},
    {field_name, 2},
    {field_raw_value, 3, .inherited = true},
  [531] =
    {field_data_contents, 3, .inherited = true},
    {field_name, 2},
    {field_name, 3, .inherited = true},
    {field_raw_value, 3, .inherited = true},
  [535] =
    {field_name, 3},
  [536] =
    {field_body, 6},
    {field_declaration_kind, 1},
    {field_name, 2},
  [539] =
    {field_body, 6},
    {field_default_value, 3, .inherited = true},
    {field_name, 0},
  [542] =
    {field_body, 6},
    {field_default_value, 2, .inherited = true},
    {field_name, 0},
  [545] =
    {field_default_value, 6},
    {field_must_inherit, 3},
    {field_name, 1},
    {field_name, 3, .inherited = true},
    {field_name, 6, .inherited = true},
  [550] =
    {field_default_value, 2, .inherited = true},
    {field_name, 0, .inherited = true},
    {field_name, 6, .inherited = true},
    {field_return_type, 6},
  [554] =
    {field_body, 6},
    {field_default_value, 5, .inherited = true},
    {field_name, 2},
  [557] =
    {field_body, 6},
    {field_default_value, 4, .inherited = true},
    {field_name, 2},
  [560] =
    {field_body, 6},
    {field_default_value, 3, .inherited = true},
    {field_name, 2},
  [563] =
    {field_default_value, 6},
    {field_must_inherit, 4},
    {field_name, 2},
    {field_name, 4, .inherited = true},
    {field_name, 6, .inherited = true},
  [568] =
    {field_default_value, 1, .inherited = true},
    {field_name, 3, .inherited = true},
    {field_return_type, 3},
  [571] =
    {field_bound_identifier, 6, .inherited = true},
    {field_bound_identifier, 7, .inherited = true},
    {field_condition, 6},
    {field_condition, 7, .inherited = true},
    {field_name, 6, .inherited = true},
    {field_name, 7, .inherited = true},
  [577] =
    {field_name, 6, .inherited = true},
    {field_return_type, 6},
  [579] =
    {field_bound_identifier, 3, .inherited = true},
    {field_collection, 6},
    {field_item, 3},
    {field_name, 3, .inherited = true},
  [583] =
    {field_body, 7},
    {field_default_value, 4, .inherited = true},
    {field_name, 1},
  [586] =
    {field_body, 7},
    {field_default_value, 3, .inherited = true},
    {field_name, 1},
  [589] =
    {field_data_contents, 3, .inherited = true},
    {field_data_contents, 4, .inherited = true},
    {field_name, 2},
    {field_name, 4, .inherited = true},
    {field_raw_value, 3, .inherited = true},
    {field_raw_value, 4, .inherited = true},
  [595] =
    {field_data_contents, 4, .inherited = true},
    {field_name, 3},
    {field_raw_value, 4, .inherited = true},
  [598] =
    {field_data_contents, 4, .inherited = true},
    {field_name, 3},
    {field_name, 4, .inherited = true},
    {field_raw_value, 4, .inherited = true},
  [602] =
    {field_body, 7},
    {field_declaration_kind, 1},
    {field_name, 2},
  [605] =
    {field_body, 7},
    {field_default_value, 3, .inherited = true},
    {field_name, 0},
  [608] =
    {field_body, 7},
    {field_default_value, 5, .inherited = true},
    {field_name, 2},
  [611] =
    {field_body, 7},
    {field_default_value, 4, .inherited = true},
    {field_name, 2},
  [614] =
    {field_body, 7},
    {field_default_value, 3, .inherited = true},
    {field_name, 2},
  [617] =
    {field_default_value, 7},
    {field_must_inherit, 4},
    {field_name, 2},
    {field_name, 4, .inherited = true},
    {field_name, 7, .inherited = true},
  [622] =
    {field_default_value, 2, .inherited = true},
    {field_name, 4, .inherited = true},
    {field_return_type, 4},
  [625] =
    {field_body, 8},
    {field_default_value, 4, .inherited = true},
    {field_name, 1},
  [628] =
    {field_data_contents, 4, .inherited = true},
    {field_data_contents, 5, .inherited = true},
    {field_name, 3},
    {field_name, 5, .inherited = true},
    {field_raw_value, 4, .inherited = true},
    {field_raw_value, 5, .inherited = true},
  [634] =
    {field_body, 8},
    {field_default_value, 5, .inherited = true},
    {field_name, 2},
  [637] =
    {field_body, 8},
    {field_default_value, 4, .inherited = true},
    {field_name, 2},
  [640] =
    {field_default_value, 3, .inherited = true},
    {field_name, 5, .inherited = true},
    {field_return_type, 5},
  [643] =
    {field_body, 9},
    {field_default_value, 5, .inherited = true},
    {field_name, 2},
  [646] =
    {field_name, 4, .inherited = true},
  [647] =
    {field_name, 3, .inherited = true},
    {field_name, 4, .inherited = true},
  [649] =
    {field_name, 1, .inherited = true},
    {field_name, 4, .inherited = true},
  [651] =
    {field_name, 4, .inherited = true},
    {field_name, 5, .inherited = true},
  [653] =
    {field_name, 3, .inherited = true},
    {field_name, 6, .inherited = true},
  [655] =
    {field_name, 4, .inherited = true},
    {field_name, 7, .inherited = true},
};

static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = {
  [0] = {0},
  [3] = {
    [0] = alias_sym_type_identifier,
  },
  [4] = {
    [0] = alias_sym_fully_open_range,
  },
  [12] = {
    [0] = sym_tuple_type_item,
  },
  [21] = {
    [1] = alias_sym_type_identifier,
  },
  [29] = {
    [1] = alias_sym__expression,
  },
  [34] = {
    [0] = sym__binding_pattern_with_expr,
  },
  [39] = {
    [0] = sym_simple_identifier,
  },
  [41] = {
    [0] = alias_sym_interpolated_expression,
  },
  [43] = {
    [1] = alias_sym_type_identifier,
  },
  [48] = {
    [1] = alias_sym_type_identifier,
  },
  [76] = {
    [0] = sym__binding_pattern_with_expr,
  },
  [77] = {
    [0] = sym__binding_pattern_with_expr,
  },
  [79] = {
    [2] = alias_sym_type_identifier,
  },
  [82] = {
    [0] = alias_sym_interpolated_expression,
  },
  [86] = {
    [1] = alias_sym_type_identifier,
  },
  [105] = {
    [0] = sym__binding_pattern_with_expr,
  },
  [106] = {
    [1] = alias_sym_type_identifier,
  },
  [109] = {
    [0] = alias_sym_protocol_function_declaration,
  },
  [112] = {
    [2] = alias_sym_type_identifier,
  },
  [117] = {
    [1] = alias_sym_type_identifier,
  },
  [118] = {
    [1] = alias_sym_type_identifier,
  },
  [124] = {
    [0] = sym__binding_pattern_with_expr,
  },
  [125] = {
    [0] = sym__binding_pattern_with_expr,
  },
  [128] = {
    [1] = alias_sym_interpolated_expression,
  },
  [130] = {
    [1] = alias_sym_type_identifier,
  },
  [141] = {
    [1] = sym__binding_pattern_with_expr,
  },
  [142] = {
    [1] = sym__binding_pattern_with_expr,
  },
  [143] = {
    [1] = alias_sym_type_identifier,
  },
  [147] = {
    [0] = alias_sym_protocol_function_declaration,
    [1] = alias_sym_protocol_function_declaration,
  },
  [151] = {
    [2] = alias_sym_type_identifier,
  },
  [158] = {
    [1] = alias_sym_type_identifier,
  },
  [164] = {
    [0] = sym__binding_pattern_with_expr,
  },
  [165] = {
    [0] = sym__binding_pattern_with_expr,
  },
  [168] = {
    [2] = alias_sym_type_identifier,
  },
  [169] = {
    [2] = alias_sym_type_identifier,
  },
  [172] = {
    [1] = alias_sym_type_identifier,
  },
  [180] = {
    [2] = sym__binding_pattern_with_expr,
  },
  [181] = {
    [1] = sym__binding_pattern_with_expr,
  },
  [189] = {
    [1] = sym__binding_pattern_with_expr,
  },
  [191] = {
    [2] = alias_sym_type_identifier,
  },
  [197] = {
    [1] = alias_sym_type_identifier,
  },
  [203] = {
    [2] = alias_sym_type_identifier,
  },
  [206] = {
    [1] = alias_sym_type_identifier,
  },
  [210] = {
    [2] = sym__binding_pattern_with_expr,
  },
  [211] = {
    [3] = sym__binding_pattern_with_expr,
  },
  [222] = {
    [2] = alias_sym_type_identifier,
  },
  [225] = {
    [1] = alias_sym_type_identifier,
  },
  [230] = {
    [2] = alias_sym_type_identifier,
  },
  [234] = {
    [3] = sym__binding_pattern_with_expr,
  },
  [240] = {
    [2] = alias_sym_type_identifier,
  },
  [245] = {
    [2] = alias_sym_type_identifier,
  },
};

static const uint16_t ts_non_terminal_alias_map[] = {
  sym_simple_identifier, 2,
    sym_simple_identifier,
    alias_sym_type_identifier,
  sym__parenthesized_type, 2,
    sym__parenthesized_type,
    sym_tuple_type_item,
  sym_value_argument, 2,
    sym_value_argument,
    alias_sym_interpolated_expression,
  sym__three_dot_operator, 2,
    sym__three_dot_operator,
    alias_sym_fully_open_range,
  sym__bodyless_function_declaration, 2,
    sym__bodyless_function_declaration,
    alias_sym_protocol_function_declaration,
  sym_function_body, 2,
    sym_function_body,
    alias_sym_protocol_function_declaration,
  sym__binding_pattern_no_expr, 2,
    sym__binding_pattern_no_expr,
    sym__binding_pattern_with_expr,
  sym__no_expr_pattern_already_bound, 2,
    sym__no_expr_pattern_already_bound,
    sym__binding_pattern_with_expr,
  sym__binding_kind_and_pattern, 2,
    sym__binding_kind_and_pattern,
    sym__binding_pattern_with_expr,
  0,
};

static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
  [0] = 0,
  [1] = 1,
  [2] = 2,
  [3] = 2,
  [4] = 2,
  [5] = 2,
  [6] = 6,
  [7] = 7,
  [8] = 6,
  [9] = 6,
  [10] = 6,
  [11] = 6,
  [12] = 6,
  [13] = 7,
  [14] = 6,
  [15] = 6,
  [16] = 6,
  [17] = 7,
  [18] = 6,
  [19] = 6,
  [20] = 7,
  [21] = 6,
  [22] = 22,
  [23] = 23,
  [24] = 24,
  [25] = 25,
  [26] = 26,
  [27] = 27,
  [28] = 28,
  [29] = 29,
  [30] = 29,
  [31] = 29,
  [32] = 32,
  [33] = 32,
  [34] = 34,
  [35] = 32,
  [36] = 32,
  [37] = 32,
  [38] = 32,
  [39] = 32,
  [40] = 34,
  [41] = 32,
  [42] = 32,
  [43] = 32,
  [44] = 32,
  [45] = 32,
  [46] = 46,
  [47] = 32,
  [48] = 32,
  [49] = 32,
  [50] = 32,
  [51] = 32,
  [52] = 32,
  [53] = 32,
  [54] = 54,
  [55] = 55,
  [56] = 55,
  [57] = 55,
  [58] = 54,
  [59] = 55,
  [60] = 60,
  [61] = 55,
  [62] = 60,
  [63] = 54,
  [64] = 55,
  [65] = 54,
  [66] = 55,
  [67] = 67,
  [68] = 55,
  [69] = 67,
  [70] = 55,
  [71] = 55,
  [72] = 54,
  [73] = 54,
  [74] = 55,
  [75] = 55,
  [76] = 76,
  [77] = 54,
  [78] = 54,
  [79] = 55,
  [80] = 54,
  [81] = 54,
  [82] = 55,
  [83] = 55,
  [84] = 54,
  [85] = 55,
  [86] = 55,
  [87] = 55,
  [88] = 54,
  [89] = 55,
  [90] = 54,
  [91] = 55,
  [92] = 54,
  [93] = 54,
  [94] = 54,
  [95] = 55,
  [96] = 54,
  [97] = 55,
  [98] = 54,
  [99] = 55,
  [100] = 54,
  [101] = 76,
  [102] = 102,
  [103] = 103,
  [104] = 104,
  [105] = 28,
  [106] = 106,
  [107] = 107,
  [108] = 108,
  [109] = 109,
  [110] = 110,
  [111] = 111,
  [112] = 27,
  [113] = 113,
  [114] = 46,
  [115] = 113,
  [116] = 46,
  [117] = 103,
  [118] = 106,
  [119] = 107,
  [120] = 106,
  [121] = 103,
  [122] = 107,
  [123] = 123,
  [124] = 124,
  [125] = 125,
  [126] = 126,
  [127] = 125,
  [128] = 126,
  [129] = 125,
  [130] = 126,
  [131] = 131,
  [132] = 132,
  [133] = 46,
  [134] = 46,
  [135] = 135,
  [136] = 46,
  [137] = 46,
  [138] = 46,
  [139] = 46,
  [140] = 46,
  [141] = 141,
  [142] = 141,
  [143] = 141,
  [144] = 141,
  [145] = 141,
  [146] = 141,
  [147] = 141,
  [148] = 141,
  [149] = 141,
  [150] = 141,
  [151] = 151,
  [152] = 151,
  [153] = 107,
  [154] = 123,
  [155] = 155,
  [156] = 155,
  [157] = 157,
  [158] = 157,
  [159] = 155,
  [160] = 157,
  [161] = 157,
  [162] = 157,
  [163] = 157,
  [164] = 155,
  [165] = 155,
  [166] = 155,
  [167] = 157,
  [168] = 155,
  [169] = 169,
  [170] = 170,
  [171] = 107,
  [172] = 172,
  [173] = 170,
  [174] = 170,
  [175] = 103,
  [176] = 170,
  [177] = 170,
  [178] = 106,
  [179] = 170,
  [180] = 180,
  [181] = 170,
  [182] = 182,
  [183] = 183,
  [184] = 103,
  [185] = 183,
  [186] = 186,
  [187] = 107,
  [188] = 106,
  [189] = 107,
  [190] = 107,
  [191] = 106,
  [192] = 103,
  [193] = 123,
  [194] = 106,
  [195] = 103,
  [196] = 196,
  [197] = 107,
  [198] = 106,
  [199] = 103,
  [200] = 106,
  [201] = 107,
  [202] = 103,
  [203] = 106,
  [204] = 204,
  [205] = 204,
  [206] = 206,
  [207] = 207,
  [208] = 208,
  [209] = 208,
  [210] = 207,
  [211] = 204,
  [212] = 204,
  [213] = 213,
  [214] = 214,
  [215] = 204,
  [216] = 216,
  [217] = 204,
  [218] = 216,
  [219] = 204,
  [220] = 206,
  [221] = 204,
  [222] = 204,
  [223] = 213,
  [224] = 216,
  [225] = 103,
  [226] = 204,
  [227] = 216,
  [228] = 204,
  [229] = 107,
  [230] = 214,
  [231] = 231,
  [232] = 232,
  [233] = 231,
  [234] = 234,
  [235] = 232,
  [236] = 236,
  [237] = 236,
  [238] = 238,
  [239] = 239,
  [240] = 240,
  [241] = 239,
  [242] = 240,
  [243] = 243,
  [244] = 232,
  [245] = 231,
  [246] = 236,
  [247] = 247,
  [248] = 232,
  [249] = 249,
  [250] = 234,
  [251] = 231,
  [252] = 249,
  [253] = 243,
  [254] = 247,
  [255] = 240,
  [256] = 249,
  [257] = 238,
  [258] = 247,
  [259] = 239,
  [260] = 243,
  [261] = 261,
  [262] = 262,
  [263] = 238,
  [264] = 239,
  [265] = 238,
  [266] = 239,
  [267] = 267,
  [268] = 234,
  [269] = 240,
  [270] = 232,
  [271] = 231,
  [272] = 243,
  [273] = 247,
  [274] = 234,
  [275] = 236,
  [276] = 249,
  [277] = 277,
  [278] = 238,
  [279] = 239,
  [280] = 232,
  [281] = 240,
  [282] = 249,
  [283] = 247,
  [284] = 232,
  [285] = 238,
  [286] = 243,
  [287] = 240,
  [288] = 239,
  [289] = 238,
  [290] = 249,
  [291] = 231,
  [292] = 247,
  [293] = 234,
  [294] = 236,
  [295] = 236,
  [296] = 240,
  [297] = 236,
  [298] = 234,
  [299] = 234,
  [300] = 243,
  [301] = 231,
  [302] = 232,
  [303] = 240,
  [304] = 239,
  [305] = 238,
  [306] = 243,
  [307] = 231,
  [308] = 234,
  [309] = 247,
  [310] = 236,
  [311] = 239,
  [312] = 240,
  [313] = 232,
  [314] = 249,
  [315] = 247,
  [316] = 243,
  [317] = 243,
  [318] = 240,
  [319] = 236,
  [320] = 239,
  [321] = 261,
  [322] = 234,
  [323] = 231,
  [324] = 238,
  [325] = 243,
  [326] = 247,
  [327] = 234,
  [328] = 236,
  [329] = 249,
  [330] = 249,
  [331] = 247,
  [332] = 332,
  [333] = 333,
  [334] = 334,
  [335] = 335,
  [336] = 336,
  [337] = 336,
  [338] = 336,
  [339] = 336,
  [340] = 340,
  [341] = 341,
  [342] = 341,
  [343] = 340,
  [344] = 336,
  [345] = 341,
  [346] = 341,
  [347] = 341,
  [348] = 336,
  [349] = 340,
  [350] = 341,
  [351] = 340,
  [352] = 341,
  [353] = 341,
  [354] = 336,
  [355] = 340,
  [356] = 336,
  [357] = 341,
  [358] = 336,
  [359] = 340,
  [360] = 340,
  [361] = 340,
  [362] = 336,
  [363] = 341,
  [364] = 340,
  [365] = 365,
  [366] = 365,
  [367] = 367,
  [368] = 368,
  [369] = 365,
  [370] = 365,
  [371] = 365,
  [372] = 372,
  [373] = 367,
  [374] = 374,
  [375] = 124,
  [376] = 376,
  [377] = 365,
  [378] = 368,
  [379] = 367,
  [380] = 365,
  [381] = 368,
  [382] = 368,
  [383] = 365,
  [384] = 374,
  [385] = 368,
  [386] = 368,
  [387] = 387,
  [388] = 367,
  [389] = 368,
  [390] = 368,
  [391] = 367,
  [392] = 367,
  [393] = 367,
  [394] = 367,
  [395] = 365,
  [396] = 367,
  [397] = 368,
  [398] = 365,
  [399] = 399,
  [400] = 400,
  [401] = 401,
  [402] = 400,
  [403] = 403,
  [404] = 404,
  [405] = 405,
  [406] = 399,
  [407] = 407,
  [408] = 408,
  [409] = 409,
  [410] = 410,
  [411] = 411,
  [412] = 411,
  [413] = 413,
  [414] = 413,
  [415] = 411,
  [416] = 410,
  [417] = 409,
  [418] = 400,
  [419] = 401,
  [420] = 411,
  [421] = 413,
  [422] = 408,
  [423] = 407,
  [424] = 399,
  [425] = 408,
  [426] = 407,
  [427] = 407,
  [428] = 408,
  [429] = 429,
  [430] = 407,
  [431] = 431,
  [432] = 431,
  [433] = 433,
  [434] = 399,
  [435] = 411,
  [436] = 433,
  [437] = 400,
  [438] = 399,
  [439] = 401,
  [440] = 433,
  [441] = 400,
  [442] = 411,
  [443] = 411,
  [444] = 433,
  [445] = 445,
  [446] = 410,
  [447] = 411,
  [448] = 410,
  [449] = 399,
  [450] = 411,
  [451] = 407,
  [452] = 408,
  [453] = 413,
  [454] = 433,
  [455] = 409,
  [456] = 413,
  [457] = 401,
  [458] = 413,
  [459] = 409,
  [460] = 410,
  [461] = 410,
  [462] = 409,
  [463] = 409,
  [464] = 445,
  [465] = 465,
  [466] = 465,
  [467] = 433,
  [468] = 399,
  [469] = 469,
  [470] = 407,
  [471] = 409,
  [472] = 410,
  [473] = 469,
  [474] = 399,
  [475] = 408,
  [476] = 476,
  [477] = 413,
  [478] = 410,
  [479] = 476,
  [480] = 409,
  [481] = 433,
  [482] = 400,
  [483] = 400,
  [484] = 433,
  [485] = 400,
  [486] = 401,
  [487] = 400,
  [488] = 401,
  [489] = 401,
  [490] = 401,
  [491] = 413,
  [492] = 492,
  [493] = 401,
  [494] = 408,
  [495] = 413,
  [496] = 409,
  [497] = 403,
  [498] = 404,
  [499] = 407,
  [500] = 399,
  [501] = 407,
  [502] = 405,
  [503] = 408,
  [504] = 413,
  [505] = 408,
  [506] = 433,
  [507] = 401,
  [508] = 400,
  [509] = 410,
  [510] = 409,
  [511] = 410,
  [512] = 408,
  [513] = 411,
  [514] = 407,
  [515] = 399,
  [516] = 516,
  [517] = 517,
  [518] = 518,
  [519] = 519,
  [520] = 520,
  [521] = 516,
  [522] = 522,
  [523] = 520,
  [524] = 517,
  [525] = 525,
  [526] = 517,
  [527] = 520,
  [528] = 522,
  [529] = 516,
  [530] = 519,
  [531] = 518,
  [532] = 518,
  [533] = 519,
  [534] = 516,
  [535] = 522,
  [536] = 517,
  [537] = 520,
  [538] = 538,
  [539] = 519,
  [540] = 516,
  [541] = 519,
  [542] = 542,
  [543] = 522,
  [544] = 518,
  [545] = 516,
  [546] = 518,
  [547] = 522,
  [548] = 520,
  [549] = 516,
  [550] = 517,
  [551] = 517,
  [552] = 520,
  [553] = 522,
  [554] = 519,
  [555] = 518,
  [556] = 517,
  [557] = 522,
  [558] = 518,
  [559] = 519,
  [560] = 520,
  [561] = 520,
  [562] = 517,
  [563] = 522,
  [564] = 516,
  [565] = 518,
  [566] = 519,
  [567] = 518,
  [568] = 522,
  [569] = 520,
  [570] = 519,
  [571] = 517,
  [572] = 516,
  [573] = 573,
  [574] = 574,
  [575] = 575,
  [576] = 576,
  [577] = 577,
  [578] = 578,
  [579] = 579,
  [580] = 578,
  [581] = 577,
  [582] = 578,
  [583] = 578,
  [584] = 584,
  [585] = 585,
  [586] = 586,
  [587] = 579,
  [588] = 586,
  [589] = 589,
  [590] = 590,
  [591] = 591,
  [592] = 576,
  [593] = 574,
  [594] = 574,
  [595] = 575,
  [596] = 596,
  [597] = 591,
  [598] = 589,
  [599] = 590,
  [600] = 574,
  [601] = 589,
  [602] = 591,
  [603] = 603,
  [604] = 576,
  [605] = 575,
  [606] = 606,
  [607] = 578,
  [608] = 589,
  [609] = 609,
  [610] = 577,
  [611] = 606,
  [612] = 586,
  [613] = 578,
  [614] = 577,
  [615] = 574,
  [616] = 616,
  [617] = 579,
  [618] = 577,
  [619] = 584,
  [620] = 616,
  [621] = 578,
  [622] = 616,
  [623] = 585,
  [624] = 586,
  [625] = 579,
  [626] = 603,
  [627] = 591,
  [628] = 585,
  [629] = 616,
  [630] = 630,
  [631] = 590,
  [632] = 577,
  [633] = 585,
  [634] = 591,
  [635] = 584,
  [636] = 578,
  [637] = 579,
  [638] = 590,
  [639] = 606,
  [640] = 591,
  [641] = 589,
  [642] = 589,
  [643] = 574,
  [644] = 575,
  [645] = 606,
  [646] = 585,
  [647] = 616,
  [648] = 606,
  [649] = 649,
  [650] = 596,
  [651] = 574,
  [652] = 591,
  [653] = 579,
  [654] = 616,
  [655] = 586,
  [656] = 575,
  [657] = 576,
  [658] = 658,
  [659] = 616,
  [660] = 606,
  [661] = 575,
  [662] = 576,
  [663] = 590,
  [664] = 664,
  [665] = 665,
  [666] = 574,
  [667] = 576,
  [668] = 589,
  [669] = 575,
  [670] = 606,
  [671] = 671,
  [672] = 576,
  [673] = 616,
  [674] = 584,
  [675] = 596,
  [676] = 585,
  [677] = 603,
  [678] = 606,
  [679] = 679,
  [680] = 680,
  [681] = 575,
  [682] = 682,
  [683] = 586,
  [684] = 590,
  [685] = 589,
  [686] = 579,
  [687] = 586,
  [688] = 590,
  [689] = 574,
  [690] = 690,
  [691] = 691,
  [692] = 692,
  [693] = 578,
  [694] = 576,
  [695] = 576,
  [696] = 585,
  [697] = 574,
  [698] = 589,
  [699] = 699,
  [700] = 577,
  [701] = 701,
  [702] = 585,
  [703] = 703,
  [704] = 590,
  [705] = 591,
  [706] = 589,
  [707] = 616,
  [708] = 658,
  [709] = 585,
  [710] = 606,
  [711] = 616,
  [712] = 575,
  [713] = 578,
  [714] = 576,
  [715] = 579,
  [716] = 575,
  [717] = 717,
  [718] = 718,
  [719] = 579,
  [720] = 577,
  [721] = 590,
  [722] = 603,
  [723] = 585,
  [724] = 579,
  [725] = 577,
  [726] = 596,
  [727] = 585,
  [728] = 728,
  [729] = 586,
  [730] = 585,
  [731] = 586,
  [732] = 606,
  [733] = 591,
  [734] = 734,
  [735] = 735,
  [736] = 736,
  [737] = 737,
  [738] = 738,
  [739] = 739,
  [740] = 740,
  [741] = 741,
  [742] = 742,
  [743] = 743,
  [744] = 744,
  [745] = 745,
  [746] = 746,
  [747] = 747,
  [748] = 748,
  [749] = 749,
  [750] = 750,
  [751] = 751,
  [752] = 752,
  [753] = 753,
  [754] = 754,
  [755] = 755,
  [756] = 735,
  [757] = 734,
  [758] = 739,
  [759] = 741,
  [760] = 738,
  [761] = 742,
  [762] = 737,
  [763] = 734,
  [764] = 735,
  [765] = 736,
  [766] = 740,
  [767] = 739,
  [768] = 738,
  [769] = 737,
  [770] = 741,
  [771] = 736,
  [772] = 740,
  [773] = 742,
  [774] = 743,
  [775] = 775,
  [776] = 746,
  [777] = 745,
  [778] = 749,
  [779] = 744,
  [780] = 750,
  [781] = 747,
  [782] = 751,
  [783] = 743,
  [784] = 748,
  [785] = 752,
  [786] = 754,
  [787] = 749,
  [788] = 751,
  [789] = 746,
  [790] = 754,
  [791] = 791,
  [792] = 752,
  [793] = 750,
  [794] = 744,
  [795] = 748,
  [796] = 745,
  [797] = 797,
  [798] = 798,
  [799] = 799,
  [800] = 800,
  [801] = 801,
  [802] = 802,
  [803] = 803,
  [804] = 804,
  [805] = 805,
  [806] = 806,
  [807] = 807,
  [808] = 808,
  [809] = 809,
  [810] = 810,
  [811] = 811,
  [812] = 812,
  [813] = 813,
  [814] = 814,
  [815] = 815,
  [816] = 816,
  [817] = 817,
  [818] = 818,
  [819] = 819,
  [820] = 820,
  [821] = 821,
  [822] = 822,
  [823] = 823,
  [824] = 824,
  [825] = 825,
  [826] = 826,
  [827] = 827,
  [828] = 828,
  [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] = 844,
  [845] = 845,
  [846] = 846,
  [847] = 846,
  [848] = 848,
  [849] = 849,
  [850] = 850,
  [851] = 851,
  [852] = 852,
  [853] = 853,
  [854] = 854,
  [855] = 855,
  [856] = 856,
  [857] = 857,
  [858] = 858,
  [859] = 818,
  [860] = 860,
  [861] = 861,
  [862] = 862,
  [863] = 863,
  [864] = 845,
  [865] = 865,
  [866] = 738,
  [867] = 867,
  [868] = 868,
  [869] = 869,
  [870] = 843,
  [871] = 871,
  [872] = 824,
  [873] = 844,
  [874] = 820,
  [875] = 837,
  [876] = 876,
  [877] = 877,
  [878] = 878,
  [879] = 829,
  [880] = 880,
  [881] = 831,
  [882] = 882,
  [883] = 883,
  [884] = 884,
  [885] = 885,
  [886] = 886,
  [887] = 887,
  [888] = 888,
  [889] = 889,
  [890] = 890,
  [891] = 891,
  [892] = 892,
  [893] = 893,
  [894] = 894,
  [895] = 895,
  [896] = 896,
  [897] = 842,
  [898] = 898,
  [899] = 899,
  [900] = 900,
  [901] = 901,
  [902] = 851,
  [903] = 903,
  [904] = 904,
  [905] = 905,
  [906] = 906,
  [907] = 907,
  [908] = 908,
  [909] = 909,
  [910] = 910,
  [911] = 911,
  [912] = 912,
  [913] = 913,
  [914] = 914,
  [915] = 915,
  [916] = 916,
  [917] = 917,
  [918] = 918,
  [919] = 919,
  [920] = 920,
  [921] = 921,
  [922] = 922,
  [923] = 871,
  [924] = 924,
  [925] = 925,
  [926] = 926,
  [927] = 927,
  [928] = 928,
  [929] = 798,
  [930] = 930,
  [931] = 931,
  [932] = 932,
  [933] = 933,
  [934] = 934,
  [935] = 935,
  [936] = 936,
  [937] = 937,
  [938] = 938,
  [939] = 939,
  [940] = 848,
  [941] = 941,
  [942] = 942,
  [943] = 850,
  [944] = 944,
  [945] = 945,
  [946] = 946,
  [947] = 947,
  [948] = 948,
  [949] = 949,
  [950] = 950,
  [951] = 951,
  [952] = 952,
  [953] = 953,
  [954] = 954,
  [955] = 955,
  [956] = 956,
  [957] = 880,
  [958] = 958,
  [959] = 959,
  [960] = 854,
  [961] = 961,
  [962] = 962,
  [963] = 963,
  [964] = 964,
  [965] = 965,
  [966] = 966,
  [967] = 967,
  [968] = 968,
  [969] = 969,
  [970] = 970,
  [971] = 971,
  [972] = 972,
  [973] = 973,
  [974] = 974,
  [975] = 975,
  [976] = 976,
  [977] = 977,
  [978] = 798,
  [979] = 979,
  [980] = 980,
  [981] = 981,
  [982] = 982,
  [983] = 983,
  [984] = 984,
  [985] = 985,
  [986] = 986,
  [987] = 987,
  [988] = 988,
  [989] = 989,
  [990] = 990,
  [991] = 846,
  [992] = 802,
  [993] = 990,
  [994] = 989,
  [995] = 806,
  [996] = 805,
  [997] = 989,
  [998] = 990,
  [999] = 806,
  [1000] = 802,
  [1001] = 805,
  [1002] = 804,
  [1003] = 812,
  [1004] = 1004,
  [1005] = 817,
  [1006] = 816,
  [1007] = 815,
  [1008] = 813,
  [1009] = 814,
  [1010] = 735,
  [1011] = 734,
  [1012] = 819,
  [1013] = 804,
  [1014] = 817,
  [1015] = 814,
  [1016] = 848,
  [1017] = 850,
  [1018] = 854,
  [1019] = 812,
  [1020] = 816,
  [1021] = 851,
  [1022] = 846,
  [1023] = 849,
  [1024] = 852,
  [1025] = 819,
  [1026] = 815,
  [1027] = 813,
  [1028] = 851,
  [1029] = 734,
  [1030] = 852,
  [1031] = 854,
  [1032] = 850,
  [1033] = 809,
  [1034] = 810,
  [1035] = 811,
  [1036] = 803,
  [1037] = 848,
  [1038] = 849,
  [1039] = 807,
  [1040] = 735,
  [1041] = 808,
  [1042] = 803,
  [1043] = 808,
  [1044] = 853,
  [1045] = 849,
  [1046] = 811,
  [1047] = 810,
  [1048] = 807,
  [1049] = 818,
  [1050] = 809,
  [1051] = 855,
  [1052] = 734,
  [1053] = 735,
  [1054] = 835,
  [1055] = 735,
  [1056] = 827,
  [1057] = 853,
  [1058] = 832,
  [1059] = 826,
  [1060] = 825,
  [1061] = 735,
  [1062] = 833,
  [1063] = 855,
  [1064] = 842,
  [1065] = 734,
  [1066] = 828,
  [1067] = 839,
  [1068] = 818,
  [1069] = 837,
  [1070] = 1070,
  [1071] = 820,
  [1072] = 830,
  [1073] = 845,
  [1074] = 822,
  [1075] = 841,
  [1076] = 843,
  [1077] = 844,
  [1078] = 831,
  [1079] = 829,
  [1080] = 824,
  [1081] = 834,
  [1082] = 838,
  [1083] = 840,
  [1084] = 823,
  [1085] = 836,
  [1086] = 734,
  [1087] = 821,
  [1088] = 832,
  [1089] = 742,
  [1090] = 828,
  [1091] = 833,
  [1092] = 825,
  [1093] = 826,
  [1094] = 837,
  [1095] = 836,
  [1096] = 827,
  [1097] = 741,
  [1098] = 845,
  [1099] = 839,
  [1100] = 843,
  [1101] = 736,
  [1102] = 735,
  [1103] = 740,
  [1104] = 820,
  [1105] = 734,
  [1106] = 822,
  [1107] = 838,
  [1108] = 830,
  [1109] = 842,
  [1110] = 737,
  [1111] = 840,
  [1112] = 841,
  [1113] = 835,
  [1114] = 821,
  [1115] = 823,
  [1116] = 834,
  [1117] = 824,
  [1118] = 829,
  [1119] = 831,
  [1120] = 739,
  [1121] = 844,
  [1122] = 738,
  [1123] = 1123,
  [1124] = 1123,
  [1125] = 736,
  [1126] = 737,
  [1127] = 1123,
  [1128] = 735,
  [1129] = 1129,
  [1130] = 740,
  [1131] = 738,
  [1132] = 734,
  [1133] = 734,
  [1134] = 1134,
  [1135] = 1135,
  [1136] = 1135,
  [1137] = 735,
  [1138] = 741,
  [1139] = 742,
  [1140] = 1123,
  [1141] = 1141,
  [1142] = 739,
  [1143] = 1135,
  [1144] = 1135,
  [1145] = 735,
  [1146] = 865,
  [1147] = 845,
  [1148] = 734,
  [1149] = 868,
  [1150] = 739,
  [1151] = 735,
  [1152] = 984,
  [1153] = 738,
  [1154] = 736,
  [1155] = 740,
  [1156] = 737,
  [1157] = 982,
  [1158] = 734,
  [1159] = 738,
  [1160] = 818,
  [1161] = 857,
  [1162] = 856,
  [1163] = 739,
  [1164] = 738,
  [1165] = 737,
  [1166] = 858,
  [1167] = 860,
  [1168] = 863,
  [1169] = 741,
  [1170] = 741,
  [1171] = 736,
  [1172] = 742,
  [1173] = 742,
  [1174] = 861,
  [1175] = 862,
  [1176] = 983,
  [1177] = 740,
  [1178] = 867,
  [1179] = 837,
  [1180] = 876,
  [1181] = 867,
  [1182] = 861,
  [1183] = 868,
  [1184] = 820,
  [1185] = 1185,
  [1186] = 862,
  [1187] = 858,
  [1188] = 982,
  [1189] = 742,
  [1190] = 740,
  [1191] = 843,
  [1192] = 736,
  [1193] = 844,
  [1194] = 741,
  [1195] = 738,
  [1196] = 857,
  [1197] = 831,
  [1198] = 829,
  [1199] = 824,
  [1200] = 863,
  [1201] = 860,
  [1202] = 869,
  [1203] = 735,
  [1204] = 1185,
  [1205] = 734,
  [1206] = 856,
  [1207] = 741,
  [1208] = 742,
  [1209] = 984,
  [1210] = 845,
  [1211] = 983,
  [1212] = 737,
  [1213] = 739,
  [1214] = 738,
  [1215] = 737,
  [1216] = 818,
  [1217] = 878,
  [1218] = 877,
  [1219] = 738,
  [1220] = 1185,
  [1221] = 880,
  [1222] = 1129,
  [1223] = 871,
  [1224] = 739,
  [1225] = 865,
  [1226] = 1226,
  [1227] = 740,
  [1228] = 1134,
  [1229] = 736,
  [1230] = 1185,
  [1231] = 927,
  [1232] = 871,
  [1233] = 936,
  [1234] = 908,
  [1235] = 895,
  [1236] = 922,
  [1237] = 914,
  [1238] = 911,
  [1239] = 951,
  [1240] = 952,
  [1241] = 888,
  [1242] = 900,
  [1243] = 894,
  [1244] = 969,
  [1245] = 876,
  [1246] = 953,
  [1247] = 905,
  [1248] = 878,
  [1249] = 954,
  [1250] = 935,
  [1251] = 926,
  [1252] = 945,
  [1253] = 893,
  [1254] = 968,
  [1255] = 977,
  [1256] = 739,
  [1257] = 742,
  [1258] = 913,
  [1259] = 955,
  [1260] = 898,
  [1261] = 904,
  [1262] = 901,
  [1263] = 938,
  [1264] = 939,
  [1265] = 937,
  [1266] = 976,
  [1267] = 924,
  [1268] = 884,
  [1269] = 886,
  [1270] = 961,
  [1271] = 887,
  [1272] = 880,
  [1273] = 1273,
  [1274] = 889,
  [1275] = 890,
  [1276] = 883,
  [1277] = 975,
  [1278] = 974,
  [1279] = 925,
  [1280] = 740,
  [1281] = 973,
  [1282] = 971,
  [1283] = 970,
  [1284] = 950,
  [1285] = 842,
  [1286] = 920,
  [1287] = 736,
  [1288] = 741,
  [1289] = 919,
  [1290] = 921,
  [1291] = 824,
  [1292] = 837,
  [1293] = 829,
  [1294] = 831,
  [1295] = 917,
  [1296] = 949,
  [1297] = 877,
  [1298] = 906,
  [1299] = 948,
  [1300] = 956,
  [1301] = 844,
  [1302] = 1302,
  [1303] = 930,
  [1304] = 896,
  [1305] = 912,
  [1306] = 972,
  [1307] = 869,
  [1308] = 967,
  [1309] = 962,
  [1310] = 885,
  [1311] = 966,
  [1312] = 941,
  [1313] = 958,
  [1314] = 880,
  [1315] = 891,
  [1316] = 942,
  [1317] = 918,
  [1318] = 738,
  [1319] = 737,
  [1320] = 934,
  [1321] = 871,
  [1322] = 882,
  [1323] = 820,
  [1324] = 916,
  [1325] = 909,
  [1326] = 963,
  [1327] = 933,
  [1328] = 928,
  [1329] = 1329,
  [1330] = 899,
  [1331] = 910,
  [1332] = 959,
  [1333] = 932,
  [1334] = 903,
  [1335] = 946,
  [1336] = 907,
  [1337] = 854,
  [1338] = 915,
  [1339] = 931,
  [1340] = 850,
  [1341] = 892,
  [1342] = 1342,
  [1343] = 843,
  [1344] = 965,
  [1345] = 851,
  [1346] = 947,
  [1347] = 848,
  [1348] = 964,
  [1349] = 944,
  [1350] = 912,
  [1351] = 961,
  [1352] = 973,
  [1353] = 920,
  [1354] = 972,
  [1355] = 905,
  [1356] = 848,
  [1357] = 903,
  [1358] = 968,
  [1359] = 850,
  [1360] = 974,
  [1361] = 975,
  [1362] = 953,
  [1363] = 948,
  [1364] = 904,
  [1365] = 976,
  [1366] = 885,
  [1367] = 928,
  [1368] = 917,
  [1369] = 934,
  [1370] = 892,
  [1371] = 907,
  [1372] = 971,
  [1373] = 909,
  [1374] = 891,
  [1375] = 959,
  [1376] = 890,
  [1377] = 889,
  [1378] = 949,
  [1379] = 946,
  [1380] = 913,
  [1381] = 951,
  [1382] = 926,
  [1383] = 935,
  [1384] = 950,
  [1385] = 899,
  [1386] = 977,
  [1387] = 921,
  [1388] = 944,
  [1389] = 947,
  [1390] = 854,
  [1391] = 915,
  [1392] = 931,
  [1393] = 842,
  [1394] = 945,
  [1395] = 882,
  [1396] = 887,
  [1397] = 942,
  [1398] = 939,
  [1399] = 952,
  [1400] = 955,
  [1401] = 962,
  [1402] = 938,
  [1403] = 963,
  [1404] = 927,
  [1405] = 896,
  [1406] = 925,
  [1407] = 930,
  [1408] = 918,
  [1409] = 956,
  [1410] = 954,
  [1411] = 932,
  [1412] = 886,
  [1413] = 908,
  [1414] = 965,
  [1415] = 884,
  [1416] = 895,
  [1417] = 936,
  [1418] = 919,
  [1419] = 937,
  [1420] = 966,
  [1421] = 900,
  [1422] = 906,
  [1423] = 894,
  [1424] = 922,
  [1425] = 893,
  [1426] = 1426,
  [1427] = 941,
  [1428] = 914,
  [1429] = 916,
  [1430] = 924,
  [1431] = 888,
  [1432] = 964,
  [1433] = 871,
  [1434] = 967,
  [1435] = 933,
  [1436] = 970,
  [1437] = 969,
  [1438] = 911,
  [1439] = 901,
  [1440] = 898,
  [1441] = 910,
  [1442] = 883,
  [1443] = 851,
  [1444] = 880,
  [1445] = 958,
  [1446] = 735,
  [1447] = 734,
  [1448] = 1448,
  [1449] = 846,
  [1450] = 735,
  [1451] = 734,
  [1452] = 743,
  [1453] = 735,
  [1454] = 734,
  [1455] = 775,
  [1456] = 747,
  [1457] = 743,
  [1458] = 751,
  [1459] = 748,
  [1460] = 754,
  [1461] = 744,
  [1462] = 745,
  [1463] = 752,
  [1464] = 750,
  [1465] = 746,
  [1466] = 749,
  [1467] = 797,
  [1468] = 1468,
  [1469] = 748,
  [1470] = 791,
  [1471] = 746,
  [1472] = 752,
  [1473] = 749,
  [1474] = 744,
  [1475] = 750,
  [1476] = 743,
  [1477] = 751,
  [1478] = 754,
  [1479] = 745,
  [1480] = 747,
  [1481] = 743,
  [1482] = 803,
  [1483] = 752,
  [1484] = 750,
  [1485] = 1485,
  [1486] = 748,
  [1487] = 1485,
  [1488] = 809,
  [1489] = 743,
  [1490] = 744,
  [1491] = 752,
  [1492] = 745,
  [1493] = 754,
  [1494] = 749,
  [1495] = 1129,
  [1496] = 743,
  [1497] = 1497,
  [1498] = 748,
  [1499] = 754,
  [1500] = 751,
  [1501] = 1501,
  [1502] = 749,
  [1503] = 1503,
  [1504] = 745,
  [1505] = 751,
  [1506] = 744,
  [1507] = 750,
  [1508] = 1485,
  [1509] = 1509,
  [1510] = 775,
  [1511] = 746,
  [1512] = 1485,
  [1513] = 1501,
  [1514] = 1485,
  [1515] = 1134,
  [1516] = 1485,
  [1517] = 799,
  [1518] = 810,
  [1519] = 746,
  [1520] = 1485,
  [1521] = 1485,
  [1522] = 1485,
  [1523] = 1523,
  [1524] = 746,
  [1525] = 775,
  [1526] = 746,
  [1527] = 752,
  [1528] = 1528,
  [1529] = 745,
  [1530] = 1523,
  [1531] = 1531,
  [1532] = 1532,
  [1533] = 1531,
  [1534] = 1532,
  [1535] = 1535,
  [1536] = 754,
  [1537] = 735,
  [1538] = 1538,
  [1539] = 1532,
  [1540] = 1532,
  [1541] = 751,
  [1542] = 1542,
  [1543] = 1532,
  [1544] = 1542,
  [1545] = 1531,
  [1546] = 1546,
  [1547] = 1531,
  [1548] = 1531,
  [1549] = 1532,
  [1550] = 1542,
  [1551] = 748,
  [1552] = 1542,
  [1553] = 1531,
  [1554] = 1554,
  [1555] = 1542,
  [1556] = 1556,
  [1557] = 1542,
  [1558] = 1528,
  [1559] = 818,
  [1560] = 801,
  [1561] = 1561,
  [1562] = 1532,
  [1563] = 1531,
  [1564] = 749,
  [1565] = 744,
  [1566] = 750,
  [1567] = 751,
  [1568] = 748,
  [1569] = 1569,
  [1570] = 1554,
  [1571] = 749,
  [1572] = 1572,
  [1573] = 1532,
  [1574] = 750,
  [1575] = 745,
  [1576] = 1542,
  [1577] = 1532,
  [1578] = 754,
  [1579] = 743,
  [1580] = 1542,
  [1581] = 1542,
  [1582] = 1582,
  [1583] = 1583,
  [1584] = 1584,
  [1585] = 1531,
  [1586] = 800,
  [1587] = 744,
  [1588] = 752,
  [1589] = 734,
  [1590] = 1531,
  [1591] = 1591,
  [1592] = 1592,
  [1593] = 1593,
  [1594] = 748,
  [1595] = 1595,
  [1596] = 829,
  [1597] = 1597,
  [1598] = 797,
  [1599] = 746,
  [1600] = 1600,
  [1601] = 1601,
  [1602] = 1602,
  [1603] = 1603,
  [1604] = 749,
  [1605] = 831,
  [1606] = 744,
  [1607] = 1607,
  [1608] = 824,
  [1609] = 752,
  [1610] = 1610,
  [1611] = 1611,
  [1612] = 745,
  [1613] = 754,
  [1614] = 1614,
  [1615] = 751,
  [1616] = 843,
  [1617] = 750,
  [1618] = 844,
  [1619] = 1619,
  [1620] = 845,
  [1621] = 1621,
  [1622] = 791,
  [1623] = 822,
  [1624] = 1624,
  [1625] = 1625,
  [1626] = 1626,
  [1627] = 1627,
  [1628] = 1628,
  [1629] = 1629,
  [1630] = 1628,
  [1631] = 1631,
  [1632] = 1632,
  [1633] = 1633,
  [1634] = 1628,
  [1635] = 737,
  [1636] = 1629,
  [1637] = 1627,
  [1638] = 1631,
  [1639] = 1629,
  [1640] = 1631,
  [1641] = 1629,
  [1642] = 1628,
  [1643] = 1631,
  [1644] = 1644,
  [1645] = 1628,
  [1646] = 1627,
  [1647] = 791,
  [1648] = 1648,
  [1649] = 1627,
  [1650] = 1628,
  [1651] = 1629,
  [1652] = 1628,
  [1653] = 1627,
  [1654] = 1631,
  [1655] = 1627,
  [1656] = 1627,
  [1657] = 1631,
  [1658] = 1629,
  [1659] = 1631,
  [1660] = 1628,
  [1661] = 1629,
  [1662] = 797,
  [1663] = 1627,
  [1664] = 1629,
  [1665] = 1631,
  [1666] = 1627,
  [1667] = 1629,
  [1668] = 1629,
  [1669] = 1628,
  [1670] = 1631,
  [1671] = 1671,
  [1672] = 1671,
  [1673] = 1671,
  [1674] = 1671,
  [1675] = 1671,
  [1676] = 1671,
  [1677] = 1671,
  [1678] = 1671,
  [1679] = 1671,
  [1680] = 1671,
  [1681] = 1671,
  [1682] = 1671,
  [1683] = 989,
  [1684] = 989,
  [1685] = 1685,
  [1686] = 1685,
  [1687] = 798,
  [1688] = 1688,
  [1689] = 1685,
  [1690] = 1690,
  [1691] = 1691,
  [1692] = 798,
  [1693] = 1004,
  [1694] = 798,
  [1695] = 1695,
  [1696] = 1226,
  [1697] = 798,
  [1698] = 798,
  [1699] = 798,
  [1700] = 798,
  [1701] = 806,
  [1702] = 805,
  [1703] = 802,
  [1704] = 845,
  [1705] = 804,
  [1706] = 805,
  [1707] = 802,
  [1708] = 846,
  [1709] = 806,
  [1710] = 812,
  [1711] = 806,
  [1712] = 810,
  [1713] = 802,
  [1714] = 802,
  [1715] = 813,
  [1716] = 804,
  [1717] = 809,
  [1718] = 819,
  [1719] = 818,
  [1720] = 805,
  [1721] = 805,
  [1722] = 817,
  [1723] = 803,
  [1724] = 806,
  [1725] = 814,
  [1726] = 815,
  [1727] = 816,
  [1728] = 1004,
  [1729] = 805,
  [1730] = 845,
  [1731] = 802,
  [1732] = 1732,
  [1733] = 806,
  [1734] = 845,
  [1735] = 805,
  [1736] = 806,
  [1737] = 818,
  [1738] = 808,
  [1739] = 1739,
  [1740] = 804,
  [1741] = 807,
  [1742] = 802,
  [1743] = 811,
  [1744] = 804,
  [1745] = 816,
  [1746] = 824,
  [1747] = 813,
  [1748] = 850,
  [1749] = 815,
  [1750] = 803,
  [1751] = 817,
  [1752] = 848,
  [1753] = 822,
  [1754] = 805,
  [1755] = 812,
  [1756] = 829,
  [1757] = 810,
  [1758] = 818,
  [1759] = 831,
  [1760] = 819,
  [1761] = 814,
  [1762] = 843,
  [1763] = 849,
  [1764] = 802,
  [1765] = 851,
  [1766] = 808,
  [1767] = 852,
  [1768] = 854,
  [1769] = 809,
  [1770] = 807,
  [1771] = 844,
  [1772] = 811,
  [1773] = 806,
  [1774] = 849,
  [1775] = 811,
  [1776] = 830,
  [1777] = 819,
  [1778] = 841,
  [1779] = 817,
  [1780] = 828,
  [1781] = 820,
  [1782] = 854,
  [1783] = 833,
  [1784] = 826,
  [1785] = 810,
  [1786] = 1786,
  [1787] = 807,
  [1788] = 824,
  [1789] = 837,
  [1790] = 809,
  [1791] = 848,
  [1792] = 842,
  [1793] = 816,
  [1794] = 844,
  [1795] = 853,
  [1796] = 812,
  [1797] = 829,
  [1798] = 831,
  [1799] = 808,
  [1800] = 851,
  [1801] = 834,
  [1802] = 855,
  [1803] = 843,
  [1804] = 839,
  [1805] = 1805,
  [1806] = 845,
  [1807] = 852,
  [1808] = 814,
  [1809] = 815,
  [1810] = 822,
  [1811] = 850,
  [1812] = 803,
  [1813] = 813,
  [1814] = 820,
  [1815] = 848,
  [1816] = 821,
  [1817] = 835,
  [1818] = 837,
  [1819] = 819,
  [1820] = 851,
  [1821] = 817,
  [1822] = 812,
  [1823] = 842,
  [1824] = 804,
  [1825] = 849,
  [1826] = 832,
  [1827] = 815,
  [1828] = 814,
  [1829] = 852,
  [1830] = 813,
  [1831] = 816,
  [1832] = 845,
  [1833] = 825,
  [1834] = 803,
  [1835] = 834,
  [1836] = 848,
  [1837] = 810,
  [1838] = 850,
  [1839] = 809,
  [1840] = 826,
  [1841] = 830,
  [1842] = 841,
  [1843] = 854,
  [1844] = 845,
  [1845] = 818,
  [1846] = 852,
  [1847] = 828,
  [1848] = 839,
  [1849] = 822,
  [1850] = 833,
  [1851] = 850,
  [1852] = 827,
  [1853] = 854,
  [1854] = 849,
  [1855] = 849,
  [1856] = 829,
  [1857] = 824,
  [1858] = 844,
  [1859] = 851,
  [1860] = 831,
  [1861] = 843,
  [1862] = 1862,
  [1863] = 835,
  [1864] = 808,
  [1865] = 849,
  [1866] = 855,
  [1867] = 852,
  [1868] = 854,
  [1869] = 813,
  [1870] = 814,
  [1871] = 851,
  [1872] = 815,
  [1873] = 826,
  [1874] = 833,
  [1875] = 841,
  [1876] = 853,
  [1877] = 845,
  [1878] = 842,
  [1879] = 807,
  [1880] = 851,
  [1881] = 839,
  [1882] = 812,
  [1883] = 816,
  [1884] = 837,
  [1885] = 817,
  [1886] = 1886,
  [1887] = 854,
  [1888] = 1888,
  [1889] = 852,
  [1890] = 1890,
  [1891] = 1891,
  [1892] = 830,
  [1893] = 1893,
  [1894] = 1894,
  [1895] = 1895,
  [1896] = 820,
  [1897] = 849,
  [1898] = 1898,
  [1899] = 848,
  [1900] = 828,
  [1901] = 850,
  [1902] = 804,
  [1903] = 1903,
  [1904] = 819,
  [1905] = 845,
  [1906] = 1906,
  [1907] = 845,
  [1908] = 811,
  [1909] = 827,
  [1910] = 848,
  [1911] = 832,
  [1912] = 834,
  [1913] = 850,
  [1914] = 825,
  [1915] = 821,
  [1916] = 1916,
  [1917] = 1917,
  [1918] = 804,
  [1919] = 822,
  [1920] = 824,
  [1921] = 849,
  [1922] = 855,
  [1923] = 829,
  [1924] = 831,
  [1925] = 814,
  [1926] = 827,
  [1927] = 844,
  [1928] = 843,
  [1929] = 816,
  [1930] = 819,
  [1931] = 813,
  [1932] = 815,
  [1933] = 850,
  [1934] = 835,
  [1935] = 804,
  [1936] = 821,
  [1937] = 852,
  [1938] = 854,
  [1939] = 851,
  [1940] = 812,
  [1941] = 832,
  [1942] = 848,
  [1943] = 845,
  [1944] = 817,
  [1945] = 853,
  [1946] = 825,
  [1947] = 816,
  [1948] = 814,
  [1949] = 855,
  [1950] = 817,
  [1951] = 1951,
  [1952] = 817,
  [1953] = 810,
  [1954] = 828,
  [1955] = 804,
  [1956] = 811,
  [1957] = 1957,
  [1958] = 842,
  [1959] = 815,
  [1960] = 837,
  [1961] = 820,
  [1962] = 803,
  [1963] = 808,
  [1964] = 807,
  [1965] = 853,
  [1966] = 804,
  [1967] = 826,
  [1968] = 816,
  [1969] = 813,
  [1970] = 812,
  [1971] = 815,
  [1972] = 818,
  [1973] = 839,
  [1974] = 841,
  [1975] = 819,
  [1976] = 803,
  [1977] = 809,
  [1978] = 819,
  [1979] = 812,
  [1980] = 814,
  [1981] = 813,
  [1982] = 833,
  [1983] = 830,
  [1984] = 834,
  [1985] = 814,
  [1986] = 819,
  [1987] = 827,
  [1988] = 832,
  [1989] = 855,
  [1990] = 1990,
  [1991] = 817,
  [1992] = 812,
  [1993] = 1993,
  [1994] = 815,
  [1995] = 1995,
  [1996] = 807,
  [1997] = 819,
  [1998] = 853,
  [1999] = 809,
  [2000] = 814,
  [2001] = 818,
  [2002] = 813,
  [2003] = 825,
  [2004] = 821,
  [2005] = 816,
  [2006] = 803,
  [2007] = 845,
  [2008] = 810,
  [2009] = 817,
  [2010] = 812,
  [2011] = 815,
  [2012] = 845,
  [2013] = 835,
  [2014] = 2014,
  [2015] = 808,
  [2016] = 813,
  [2017] = 816,
  [2018] = 811,
  [2019] = 804,
  [2020] = 836,
  [2021] = 2021,
  [2022] = 825,
  [2023] = 826,
  [2024] = 832,
  [2025] = 830,
  [2026] = 841,
  [2027] = 835,
  [2028] = 821,
  [2029] = 828,
  [2030] = 837,
  [2031] = 824,
  [2032] = 827,
  [2033] = 833,
  [2034] = 844,
  [2035] = 2035,
  [2036] = 2036,
  [2037] = 839,
  [2038] = 820,
  [2039] = 2039,
  [2040] = 2040,
  [2041] = 2041,
  [2042] = 810,
  [2043] = 2043,
  [2044] = 2044,
  [2045] = 2045,
  [2046] = 2046,
  [2047] = 809,
  [2048] = 2048,
  [2049] = 809,
  [2050] = 811,
  [2051] = 2051,
  [2052] = 2040,
  [2053] = 845,
  [2054] = 2054,
  [2055] = 842,
  [2056] = 812,
  [2057] = 823,
  [2058] = 834,
  [2059] = 843,
  [2060] = 822,
  [2061] = 807,
  [2062] = 813,
  [2063] = 814,
  [2064] = 845,
  [2065] = 815,
  [2066] = 2066,
  [2067] = 810,
  [2068] = 803,
  [2069] = 817,
  [2070] = 844,
  [2071] = 831,
  [2072] = 2072,
  [2073] = 2073,
  [2074] = 829,
  [2075] = 824,
  [2076] = 2076,
  [2077] = 1995,
  [2078] = 838,
  [2079] = 2079,
  [2080] = 855,
  [2081] = 808,
  [2082] = 853,
  [2083] = 818,
  [2084] = 2084,
  [2085] = 2085,
  [2086] = 843,
  [2087] = 816,
  [2088] = 840,
  [2089] = 831,
  [2090] = 829,
  [2091] = 819,
  [2092] = 822,
  [2093] = 843,
  [2094] = 828,
  [2095] = 855,
  [2096] = 834,
  [2097] = 2097,
  [2098] = 853,
  [2099] = 821,
  [2100] = 2100,
  [2101] = 2101,
  [2102] = 823,
  [2103] = 808,
  [2104] = 840,
  [2105] = 837,
  [2106] = 827,
  [2107] = 833,
  [2108] = 2108,
  [2109] = 835,
  [2110] = 2110,
  [2111] = 1995,
  [2112] = 836,
  [2113] = 838,
  [2114] = 820,
  [2115] = 807,
  [2116] = 810,
  [2117] = 809,
  [2118] = 822,
  [2119] = 803,
  [2120] = 2120,
  [2121] = 824,
  [2122] = 810,
  [2123] = 2123,
  [2124] = 841,
  [2125] = 2125,
  [2126] = 2126,
  [2127] = 2127,
  [2128] = 830,
  [2129] = 842,
  [2130] = 845,
  [2131] = 811,
  [2132] = 832,
  [2133] = 2133,
  [2134] = 829,
  [2135] = 803,
  [2136] = 839,
  [2137] = 818,
  [2138] = 831,
  [2139] = 826,
  [2140] = 825,
  [2141] = 2141,
  [2142] = 811,
  [2143] = 2143,
  [2144] = 853,
  [2145] = 844,
  [2146] = 807,
  [2147] = 809,
  [2148] = 855,
  [2149] = 808,
  [2150] = 2150,
  [2151] = 822,
  [2152] = 818,
  [2153] = 838,
  [2154] = 836,
  [2155] = 827,
  [2156] = 809,
  [2157] = 855,
  [2158] = 833,
  [2159] = 810,
  [2160] = 839,
  [2161] = 835,
  [2162] = 821,
  [2163] = 828,
  [2164] = 811,
  [2165] = 853,
  [2166] = 807,
  [2167] = 845,
  [2168] = 823,
  [2169] = 840,
  [2170] = 810,
  [2171] = 841,
  [2172] = 808,
  [2173] = 803,
  [2174] = 830,
  [2175] = 2175,
  [2176] = 810,
  [2177] = 809,
  [2178] = 818,
  [2179] = 842,
  [2180] = 832,
  [2181] = 2181,
  [2182] = 803,
  [2183] = 2183,
  [2184] = 826,
  [2185] = 825,
  [2186] = 878,
  [2187] = 818,
  [2188] = 803,
  [2189] = 878,
  [2190] = 804,
  [2191] = 2191,
  [2192] = 843,
  [2193] = 2193,
  [2194] = 2194,
  [2195] = 853,
  [2196] = 837,
  [2197] = 2197,
  [2198] = 824,
  [2199] = 2199,
  [2200] = 818,
  [2201] = 845,
  [2202] = 829,
  [2203] = 2203,
  [2204] = 2204,
  [2205] = 831,
  [2206] = 855,
  [2207] = 834,
  [2208] = 809,
  [2209] = 820,
  [2210] = 919,
  [2211] = 844,
  [2212] = 2212,
  [2213] = 836,
  [2214] = 832,
  [2215] = 830,
  [2216] = 2216,
  [2217] = 841,
  [2218] = 835,
  [2219] = 821,
  [2220] = 2220,
  [2221] = 2221,
  [2222] = 2222,
  [2223] = 828,
  [2224] = 735,
  [2225] = 863,
  [2226] = 823,
  [2227] = 820,
  [2228] = 844,
  [2229] = 822,
  [2230] = 2230,
  [2231] = 2231,
  [2232] = 839,
  [2233] = 843,
  [2234] = 842,
  [2235] = 843,
  [2236] = 2236,
  [2237] = 845,
  [2238] = 2238,
  [2239] = 845,
  [2240] = 845,
  [2241] = 845,
  [2242] = 840,
  [2243] = 2243,
  [2244] = 845,
  [2245] = 838,
  [2246] = 738,
  [2247] = 865,
  [2248] = 2248,
  [2249] = 845,
  [2250] = 2250,
  [2251] = 2251,
  [2252] = 818,
  [2253] = 833,
  [2254] = 827,
  [2255] = 2255,
  [2256] = 2181,
  [2257] = 984,
  [2258] = 827,
  [2259] = 2259,
  [2260] = 878,
  [2261] = 837,
  [2262] = 822,
  [2263] = 2263,
  [2264] = 840,
  [2265] = 823,
  [2266] = 834,
  [2267] = 853,
  [2268] = 833,
  [2269] = 2269,
  [2270] = 2270,
  [2271] = 2271,
  [2272] = 2272,
  [2273] = 860,
  [2274] = 836,
  [2275] = 844,
  [2276] = 828,
  [2277] = 1607,
  [2278] = 2278,
  [2279] = 821,
  [2280] = 835,
  [2281] = 858,
  [2282] = 820,
  [2283] = 818,
  [2284] = 842,
  [2285] = 825,
  [2286] = 839,
  [2287] = 2287,
  [2288] = 841,
  [2289] = 826,
  [2290] = 2290,
  [2291] = 855,
  [2292] = 831,
  [2293] = 862,
  [2294] = 856,
  [2295] = 830,
  [2296] = 2296,
  [2297] = 824,
  [2298] = 857,
  [2299] = 832,
  [2300] = 829,
  [2301] = 2301,
  [2302] = 837,
  [2303] = 834,
  [2304] = 826,
  [2305] = 868,
  [2306] = 983,
  [2307] = 824,
  [2308] = 982,
  [2309] = 734,
  [2310] = 2310,
  [2311] = 829,
  [2312] = 831,
  [2313] = 861,
  [2314] = 838,
  [2315] = 825,
  [2316] = 867,
  [2317] = 2317,
  [2318] = 1595,
  [2319] = 826,
  [2320] = 867,
  [2321] = 856,
  [2322] = 831,
  [2323] = 858,
  [2324] = 822,
  [2325] = 1603,
  [2326] = 2326,
  [2327] = 829,
  [2328] = 734,
  [2329] = 735,
  [2330] = 824,
  [2331] = 878,
  [2332] = 863,
  [2333] = 823,
  [2334] = 840,
  [2335] = 825,
  [2336] = 982,
  [2337] = 820,
  [2338] = 860,
  [2339] = 832,
  [2340] = 830,
  [2341] = 841,
  [2342] = 822,
  [2343] = 818,
  [2344] = 2344,
  [2345] = 877,
  [2346] = 834,
  [2347] = 835,
  [2348] = 822,
  [2349] = 821,
  [2350] = 828,
  [2351] = 843,
  [2352] = 810,
  [2353] = 2353,
  [2354] = 819,
  [2355] = 2355,
  [2356] = 2356,
  [2357] = 880,
  [2358] = 845,
  [2359] = 865,
  [2360] = 871,
  [2361] = 738,
  [2362] = 817,
  [2363] = 827,
  [2364] = 843,
  [2365] = 833,
  [2366] = 876,
  [2367] = 862,
  [2368] = 845,
  [2369] = 844,
  [2370] = 804,
  [2371] = 831,
  [2372] = 829,
  [2373] = 868,
  [2374] = 839,
  [2375] = 836,
  [2376] = 824,
  [2377] = 2377,
  [2378] = 2378,
  [2379] = 838,
  [2380] = 2380,
  [2381] = 809,
  [2382] = 842,
  [2383] = 869,
  [2384] = 815,
  [2385] = 818,
  [2386] = 843,
  [2387] = 1226,
  [2388] = 2388,
  [2389] = 843,
  [2390] = 2390,
  [2391] = 814,
  [2392] = 812,
  [2393] = 813,
  [2394] = 837,
  [2395] = 816,
  [2396] = 803,
  [2397] = 2301,
  [2398] = 824,
  [2399] = 983,
  [2400] = 829,
  [2401] = 861,
  [2402] = 737,
  [2403] = 831,
  [2404] = 857,
  [2405] = 844,
  [2406] = 820,
  [2407] = 1624,
  [2408] = 831,
  [2409] = 829,
  [2410] = 844,
  [2411] = 984,
  [2412] = 837,
  [2413] = 824,
  [2414] = 738,
  [2415] = 844,
  [2416] = 842,
  [2417] = 2417,
  [2418] = 2418,
  [2419] = 2419,
  [2420] = 2420,
  [2421] = 961,
  [2422] = 851,
  [2423] = 2423,
  [2424] = 2424,
  [2425] = 2425,
  [2426] = 2426,
  [2427] = 1624,
  [2428] = 1595,
  [2429] = 1603,
  [2430] = 818,
  [2431] = 2431,
  [2432] = 2432,
  [2433] = 2433,
  [2434] = 2434,
  [2435] = 848,
  [2436] = 850,
  [2437] = 2437,
  [2438] = 2438,
  [2439] = 2439,
  [2440] = 845,
  [2441] = 2441,
  [2442] = 854,
  [2443] = 2443,
  [2444] = 2444,
  [2445] = 845,
  [2446] = 845,
  [2447] = 2447,
  [2448] = 824,
  [2449] = 2449,
  [2450] = 2450,
  [2451] = 1607,
  [2452] = 2452,
  [2453] = 2355,
  [2454] = 858,
  [2455] = 2455,
  [2456] = 2456,
  [2457] = 2457,
  [2458] = 2458,
  [2459] = 2459,
  [2460] = 2378,
  [2461] = 2461,
  [2462] = 878,
  [2463] = 2463,
  [2464] = 2380,
  [2465] = 2465,
  [2466] = 2466,
  [2467] = 919,
  [2468] = 2468,
  [2469] = 2469,
  [2470] = 2470,
  [2471] = 2471,
  [2472] = 933,
  [2473] = 906,
  [2474] = 2474,
  [2475] = 2181,
  [2476] = 1624,
  [2477] = 2477,
  [2478] = 1595,
  [2479] = 2479,
  [2480] = 2480,
  [2481] = 2481,
  [2482] = 865,
  [2483] = 2483,
  [2484] = 2484,
  [2485] = 2485,
  [2486] = 1603,
  [2487] = 857,
  [2488] = 984,
  [2489] = 2489,
  [2490] = 916,
  [2491] = 829,
  [2492] = 2492,
  [2493] = 831,
  [2494] = 2494,
  [2495] = 734,
  [2496] = 735,
  [2497] = 2497,
  [2498] = 2498,
  [2499] = 2499,
  [2500] = 860,
  [2501] = 2501,
  [2502] = 915,
  [2503] = 2503,
  [2504] = 2504,
  [2505] = 913,
  [2506] = 2506,
  [2507] = 820,
  [2508] = 2508,
  [2509] = 2509,
  [2510] = 903,
  [2511] = 2511,
  [2512] = 880,
  [2513] = 2513,
  [2514] = 871,
  [2515] = 876,
  [2516] = 804,
  [2517] = 738,
  [2518] = 984,
  [2519] = 862,
  [2520] = 1302,
  [2521] = 856,
  [2522] = 877,
  [2523] = 2523,
  [2524] = 2524,
  [2525] = 1329,
  [2526] = 844,
  [2527] = 2527,
  [2528] = 2528,
  [2529] = 2529,
  [2530] = 2530,
  [2531] = 983,
  [2532] = 2532,
  [2533] = 926,
  [2534] = 871,
  [2535] = 982,
  [2536] = 918,
  [2537] = 1607,
  [2538] = 863,
  [2539] = 907,
  [2540] = 867,
  [2541] = 899,
  [2542] = 908,
  [2543] = 882,
  [2544] = 861,
  [2545] = 869,
  [2546] = 896,
  [2547] = 912,
  [2548] = 947,
  [2549] = 895,
  [2550] = 894,
  [2551] = 893,
  [2552] = 946,
  [2553] = 892,
  [2554] = 891,
  [2555] = 890,
  [2556] = 920,
  [2557] = 889,
  [2558] = 887,
  [2559] = 886,
  [2560] = 884,
  [2561] = 927,
  [2562] = 937,
  [2563] = 904,
  [2564] = 930,
  [2565] = 885,
  [2566] = 941,
  [2567] = 958,
  [2568] = 2423,
  [2569] = 2424,
  [2570] = 883,
  [2571] = 905,
  [2572] = 868,
  [2573] = 2573,
  [2574] = 917,
  [2575] = 811,
  [2576] = 2576,
  [2577] = 910,
  [2578] = 901,
  [2579] = 928,
  [2580] = 911,
  [2581] = 931,
  [2582] = 932,
  [2583] = 807,
  [2584] = 966,
  [2585] = 914,
  [2586] = 922,
  [2587] = 2455,
  [2588] = 2456,
  [2589] = 2458,
  [2590] = 936,
  [2591] = 938,
  [2592] = 837,
  [2593] = 939,
  [2594] = 967,
  [2595] = 808,
  [2596] = 942,
  [2597] = 944,
  [2598] = 934,
  [2599] = 948,
  [2600] = 949,
  [2601] = 921,
  [2602] = 969,
  [2603] = 970,
  [2604] = 971,
  [2605] = 950,
  [2606] = 951,
  [2607] = 952,
  [2608] = 973,
  [2609] = 953,
  [2610] = 954,
  [2611] = 974,
  [2612] = 955,
  [2613] = 956,
  [2614] = 909,
  [2615] = 975,
  [2616] = 962,
  [2617] = 976,
  [2618] = 977,
  [2619] = 880,
  [2620] = 963,
  [2621] = 964,
  [2622] = 945,
  [2623] = 965,
  [2624] = 959,
  [2625] = 968,
  [2626] = 972,
  [2627] = 925,
  [2628] = 2529,
  [2629] = 983,
  [2630] = 935,
  [2631] = 982,
  [2632] = 900,
  [2633] = 843,
  [2634] = 924,
  [2635] = 888,
  [2636] = 2437,
  [2637] = 898,
  [2638] = 871,
  [2639] = 927,
  [2640] = 926,
  [2641] = 921,
  [2642] = 831,
  [2643] = 863,
  [2644] = 818,
  [2645] = 878,
  [2646] = 829,
  [2647] = 738,
  [2648] = 932,
  [2649] = 824,
  [2650] = 959,
  [2651] = 844,
  [2652] = 845,
  [2653] = 843,
  [2654] = 2654,
  [2655] = 810,
  [2656] = 920,
  [2657] = 850,
  [2658] = 868,
  [2659] = 919,
  [2660] = 2660,
  [2661] = 809,
  [2662] = 883,
  [2663] = 2663,
  [2664] = 2664,
  [2665] = 735,
  [2666] = 734,
  [2667] = 2667,
  [2668] = 918,
  [2669] = 858,
  [2670] = 2670,
  [2671] = 861,
  [2672] = 818,
  [2673] = 735,
  [2674] = 2674,
  [2675] = 958,
  [2676] = 867,
  [2677] = 734,
  [2678] = 910,
  [2679] = 901,
  [2680] = 818,
  [2681] = 2681,
  [2682] = 824,
  [2683] = 966,
  [2684] = 967,
  [2685] = 969,
  [2686] = 970,
  [2687] = 848,
  [2688] = 982,
  [2689] = 2689,
  [2690] = 829,
  [2691] = 971,
  [2692] = 2692,
  [2693] = 816,
  [2694] = 2694,
  [2695] = 2695,
  [2696] = 871,
  [2697] = 2697,
  [2698] = 983,
  [2699] = 973,
  [2700] = 738,
  [2701] = 909,
  [2702] = 911,
  [2703] = 856,
  [2704] = 974,
  [2705] = 876,
  [2706] = 2706,
  [2707] = 975,
  [2708] = 931,
  [2709] = 862,
  [2710] = 914,
  [2711] = 922,
  [2712] = 977,
  [2713] = 945,
  [2714] = 935,
  [2715] = 900,
  [2716] = 2716,
  [2717] = 888,
  [2718] = 831,
  [2719] = 936,
  [2720] = 2720,
  [2721] = 898,
  [2722] = 2722,
  [2723] = 906,
  [2724] = 924,
  [2725] = 844,
  [2726] = 843,
  [2727] = 871,
  [2728] = 2728,
  [2729] = 934,
  [2730] = 2730,
  [2731] = 813,
  [2732] = 814,
  [2733] = 938,
  [2734] = 860,
  [2735] = 891,
  [2736] = 930,
  [2737] = 928,
  [2738] = 939,
  [2739] = 942,
  [2740] = 944,
  [2741] = 815,
  [2742] = 2742,
  [2743] = 2722,
  [2744] = 912,
  [2745] = 908,
  [2746] = 2746,
  [2747] = 2722,
  [2748] = 933,
  [2749] = 984,
  [2750] = 865,
  [2751] = 917,
  [2752] = 851,
  [2753] = 880,
  [2754] = 869,
  [2755] = 812,
  [2756] = 822,
  [2757] = 2301,
  [2758] = 820,
  [2759] = 899,
  [2760] = 857,
  [2761] = 817,
  [2762] = 857,
  [2763] = 803,
  [2764] = 984,
  [2765] = 882,
  [2766] = 842,
  [2767] = 896,
  [2768] = 895,
  [2769] = 2769,
  [2770] = 837,
  [2771] = 916,
  [2772] = 925,
  [2773] = 894,
  [2774] = 972,
  [2775] = 941,
  [2776] = 946,
  [2777] = 976,
  [2778] = 877,
  [2779] = 968,
  [2780] = 860,
  [2781] = 893,
  [2782] = 915,
  [2783] = 2783,
  [2784] = 2722,
  [2785] = 2785,
  [2786] = 947,
  [2787] = 845,
  [2788] = 948,
  [2789] = 949,
  [2790] = 863,
  [2791] = 950,
  [2792] = 892,
  [2793] = 2793,
  [2794] = 865,
  [2795] = 907,
  [2796] = 951,
  [2797] = 2797,
  [2798] = 952,
  [2799] = 2722,
  [2800] = 2800,
  [2801] = 965,
  [2802] = 964,
  [2803] = 963,
  [2804] = 962,
  [2805] = 913,
  [2806] = 819,
  [2807] = 2722,
  [2808] = 880,
  [2809] = 2722,
  [2810] = 862,
  [2811] = 856,
  [2812] = 885,
  [2813] = 854,
  [2814] = 905,
  [2815] = 858,
  [2816] = 904,
  [2817] = 2722,
  [2818] = 2722,
  [2819] = 983,
  [2820] = 982,
  [2821] = 903,
  [2822] = 937,
  [2823] = 884,
  [2824] = 886,
  [2825] = 956,
  [2826] = 887,
  [2827] = 867,
  [2828] = 861,
  [2829] = 2722,
  [2830] = 955,
  [2831] = 880,
  [2832] = 954,
  [2833] = 868,
  [2834] = 889,
  [2835] = 953,
  [2836] = 2836,
  [2837] = 2722,
  [2838] = 2838,
  [2839] = 890,
  [2840] = 961,
  [2841] = 895,
  [2842] = 2842,
  [2843] = 977,
  [2844] = 945,
  [2845] = 970,
  [2846] = 935,
  [2847] = 900,
  [2848] = 888,
  [2849] = 735,
  [2850] = 971,
  [2851] = 2851,
  [2852] = 898,
  [2853] = 924,
  [2854] = 973,
  [2855] = 974,
  [2856] = 812,
  [2857] = 975,
  [2858] = 2858,
  [2859] = 976,
  [2860] = 843,
  [2861] = 814,
  [2862] = 932,
  [2863] = 910,
  [2864] = 928,
  [2865] = 817,
  [2866] = 877,
  [2867] = 815,
  [2868] = 857,
  [2869] = 925,
  [2870] = 813,
  [2871] = 2871,
  [2872] = 972,
  [2873] = 931,
  [2874] = 968,
  [2875] = 966,
  [2876] = 965,
  [2877] = 964,
  [2878] = 963,
  [2879] = 962,
  [2880] = 969,
  [2881] = 956,
  [2882] = 2882,
  [2883] = 2883,
  [2884] = 2884,
  [2885] = 2885,
  [2886] = 2886,
  [2887] = 2887,
  [2888] = 2888,
  [2889] = 868,
  [2890] = 2890,
  [2891] = 917,
  [2892] = 816,
  [2893] = 2893,
  [2894] = 2894,
  [2895] = 2895,
  [2896] = 954,
  [2897] = 953,
  [2898] = 959,
  [2899] = 952,
  [2900] = 951,
  [2901] = 2901,
  [2902] = 819,
  [2903] = 2903,
  [2904] = 2904,
  [2905] = 2905,
  [2906] = 734,
  [2907] = 865,
  [2908] = 950,
  [2909] = 2909,
  [2910] = 949,
  [2911] = 948,
  [2912] = 2912,
  [2913] = 2851,
  [2914] = 2914,
  [2915] = 984,
  [2916] = 905,
  [2917] = 944,
  [2918] = 904,
  [2919] = 842,
  [2920] = 2920,
  [2921] = 2921,
  [2922] = 939,
  [2923] = 808,
  [2924] = 938,
  [2925] = 936,
  [2926] = 909,
  [2927] = 843,
  [2928] = 922,
  [2929] = 937,
  [2930] = 884,
  [2931] = 735,
  [2932] = 886,
  [2933] = 914,
  [2934] = 911,
  [2935] = 735,
  [2936] = 734,
  [2937] = 901,
  [2938] = 883,
  [2939] = 958,
  [2940] = 837,
  [2941] = 887,
  [2942] = 889,
  [2943] = 941,
  [2944] = 890,
  [2945] = 891,
  [2946] = 885,
  [2947] = 2871,
  [2948] = 892,
  [2949] = 930,
  [2950] = 967,
  [2951] = 927,
  [2952] = 807,
  [2953] = 844,
  [2954] = 861,
  [2955] = 920,
  [2956] = 893,
  [2957] = 876,
  [2958] = 894,
  [2959] = 734,
  [2960] = 916,
  [2961] = 896,
  [2962] = 882,
  [2963] = 867,
  [2964] = 863,
  [2965] = 2965,
  [2966] = 2842,
  [2967] = 845,
  [2968] = 1448,
  [2969] = 912,
  [2970] = 854,
  [2971] = 908,
  [2972] = 850,
  [2973] = 848,
  [2974] = 820,
  [2975] = 734,
  [2976] = 735,
  [2977] = 2977,
  [2978] = 842,
  [2979] = 2979,
  [2980] = 851,
  [2981] = 869,
  [2982] = 831,
  [2983] = 811,
  [2984] = 803,
  [2985] = 878,
  [2986] = 837,
  [2987] = 906,
  [2988] = 820,
  [2989] = 915,
  [2990] = 2990,
  [2991] = 899,
  [2992] = 2992,
  [2993] = 829,
  [2994] = 933,
  [2995] = 2995,
  [2996] = 824,
  [2997] = 837,
  [2998] = 2842,
  [2999] = 907,
  [3000] = 880,
  [3001] = 860,
  [3002] = 871,
  [3003] = 820,
  [3004] = 877,
  [3005] = 735,
  [3006] = 818,
  [3007] = 858,
  [3008] = 845,
  [3009] = 845,
  [3010] = 734,
  [3011] = 913,
  [3012] = 2842,
  [3013] = 3013,
  [3014] = 871,
  [3015] = 934,
  [3016] = 3016,
  [3017] = 2842,
  [3018] = 3018,
  [3019] = 3019,
  [3020] = 818,
  [3021] = 844,
  [3022] = 2842,
  [3023] = 878,
  [3024] = 831,
  [3025] = 809,
  [3026] = 829,
  [3027] = 2842,
  [3028] = 2842,
  [3029] = 824,
  [3030] = 880,
  [3031] = 810,
  [3032] = 942,
  [3033] = 2842,
  [3034] = 738,
  [3035] = 982,
  [3036] = 983,
  [3037] = 834,
  [3038] = 839,
  [3039] = 833,
  [3040] = 918,
  [3041] = 853,
  [3042] = 828,
  [3043] = 855,
  [3044] = 903,
  [3045] = 1226,
  [3046] = 946,
  [3047] = 947,
  [3048] = 841,
  [3049] = 3049,
  [3050] = 830,
  [3051] = 826,
  [3052] = 921,
  [3053] = 919,
  [3054] = 856,
  [3055] = 862,
  [3056] = 961,
  [3057] = 955,
  [3058] = 926,
  [3059] = 924,
  [3060] = 925,
  [3061] = 3061,
  [3062] = 3062,
  [3063] = 3063,
  [3064] = 3064,
  [3065] = 3065,
  [3066] = 3066,
  [3067] = 3067,
  [3068] = 3068,
  [3069] = 3069,
  [3070] = 3070,
  [3071] = 3071,
  [3072] = 3072,
  [3073] = 3073,
  [3074] = 3074,
  [3075] = 3075,
  [3076] = 3076,
  [3077] = 3077,
  [3078] = 3078,
  [3079] = 3079,
  [3080] = 3080,
  [3081] = 3081,
  [3082] = 3082,
  [3083] = 3083,
  [3084] = 3084,
  [3085] = 3085,
  [3086] = 3086,
  [3087] = 3087,
  [3088] = 3088,
  [3089] = 3089,
  [3090] = 3090,
  [3091] = 927,
  [3092] = 3092,
  [3093] = 3093,
  [3094] = 926,
  [3095] = 3095,
  [3096] = 854,
  [3097] = 842,
  [3098] = 3098,
  [3099] = 3099,
  [3100] = 3100,
  [3101] = 920,
  [3102] = 3102,
  [3103] = 3103,
  [3104] = 918,
  [3105] = 3105,
  [3106] = 880,
  [3107] = 734,
  [3108] = 878,
  [3109] = 735,
  [3110] = 3110,
  [3111] = 871,
  [3112] = 850,
  [3113] = 848,
  [3114] = 3114,
  [3115] = 843,
  [3116] = 3116,
  [3117] = 3117,
  [3118] = 3118,
  [3119] = 844,
  [3120] = 912,
  [3121] = 842,
  [3122] = 3122,
  [3123] = 3123,
  [3124] = 908,
  [3125] = 907,
  [3126] = 831,
  [3127] = 829,
  [3128] = 824,
  [3129] = 3129,
  [3130] = 837,
  [3131] = 3131,
  [3132] = 3132,
  [3133] = 3133,
  [3134] = 3134,
  [3135] = 3135,
  [3136] = 3136,
  [3137] = 3137,
  [3138] = 734,
  [3139] = 735,
  [3140] = 734,
  [3141] = 735,
  [3142] = 3142,
  [3143] = 3143,
  [3144] = 876,
  [3145] = 899,
  [3146] = 869,
  [3147] = 882,
  [3148] = 3148,
  [3149] = 3149,
  [3150] = 3150,
  [3151] = 896,
  [3152] = 3152,
  [3153] = 3153,
  [3154] = 895,
  [3155] = 894,
  [3156] = 893,
  [3157] = 3157,
  [3158] = 3158,
  [3159] = 3159,
  [3160] = 3160,
  [3161] = 820,
  [3162] = 3162,
  [3163] = 851,
  [3164] = 892,
  [3165] = 3165,
  [3166] = 3166,
  [3167] = 3167,
  [3168] = 891,
  [3169] = 845,
  [3170] = 3170,
  [3171] = 890,
  [3172] = 889,
  [3173] = 735,
  [3174] = 887,
  [3175] = 886,
  [3176] = 884,
  [3177] = 937,
  [3178] = 734,
  [3179] = 845,
  [3180] = 959,
  [3181] = 3181,
  [3182] = 827,
  [3183] = 903,
  [3184] = 904,
  [3185] = 905,
  [3186] = 3110,
  [3187] = 824,
  [3188] = 909,
  [3189] = 821,
  [3190] = 913,
  [3191] = 3191,
  [3192] = 934,
  [3193] = 915,
  [3194] = 3194,
  [3195] = 3195,
  [3196] = 3196,
  [3197] = 3197,
  [3198] = 3198,
  [3199] = 916,
  [3200] = 835,
  [3201] = 3201,
  [3202] = 3202,
  [3203] = 917,
  [3204] = 3204,
  [3205] = 3205,
  [3206] = 928,
  [3207] = 3207,
  [3208] = 3208,
  [3209] = 3209,
  [3210] = 3210,
  [3211] = 829,
  [3212] = 831,
  [3213] = 931,
  [3214] = 932,
  [3215] = 3215,
  [3216] = 946,
  [3217] = 947,
  [3218] = 3218,
  [3219] = 3219,
  [3220] = 3220,
  [3221] = 3221,
  [3222] = 3222,
  [3223] = 3223,
  [3224] = 3224,
  [3225] = 961,
  [3226] = 832,
  [3227] = 3227,
  [3228] = 3209,
  [3229] = 3229,
  [3230] = 3230,
  [3231] = 3231,
  [3232] = 3110,
  [3233] = 3224,
  [3234] = 3234,
  [3235] = 966,
  [3236] = 967,
  [3237] = 3237,
  [3238] = 844,
  [3239] = 3224,
  [3240] = 969,
  [3241] = 3209,
  [3242] = 970,
  [3243] = 971,
  [3244] = 973,
  [3245] = 974,
  [3246] = 975,
  [3247] = 976,
  [3248] = 3110,
  [3249] = 3224,
  [3250] = 977,
  [3251] = 945,
  [3252] = 935,
  [3253] = 900,
  [3254] = 888,
  [3255] = 898,
  [3256] = 825,
  [3257] = 906,
  [3258] = 3258,
  [3259] = 3259,
  [3260] = 3110,
  [3261] = 3224,
  [3262] = 3209,
  [3263] = 3110,
  [3264] = 3264,
  [3265] = 3224,
  [3266] = 933,
  [3267] = 3209,
  [3268] = 3110,
  [3269] = 3269,
  [3270] = 3110,
  [3271] = 3224,
  [3272] = 734,
  [3273] = 735,
  [3274] = 3209,
  [3275] = 3275,
  [3276] = 3110,
  [3277] = 925,
  [3278] = 972,
  [3279] = 968,
  [3280] = 3280,
  [3281] = 3281,
  [3282] = 3224,
  [3283] = 3209,
  [3284] = 3209,
  [3285] = 3285,
  [3286] = 965,
  [3287] = 964,
  [3288] = 963,
  [3289] = 962,
  [3290] = 3110,
  [3291] = 3224,
  [3292] = 3292,
  [3293] = 3227,
  [3294] = 3230,
  [3295] = 919,
  [3296] = 3224,
  [3297] = 3297,
  [3298] = 1226,
  [3299] = 3299,
  [3300] = 3209,
  [3301] = 3110,
  [3302] = 3302,
  [3303] = 3224,
  [3304] = 3209,
  [3305] = 3110,
  [3306] = 3306,
  [3307] = 3110,
  [3308] = 3224,
  [3309] = 3209,
  [3310] = 3209,
  [3311] = 3311,
  [3312] = 3312,
  [3313] = 3313,
  [3314] = 956,
  [3315] = 3110,
  [3316] = 955,
  [3317] = 3227,
  [3318] = 3318,
  [3319] = 954,
  [3320] = 953,
  [3321] = 3321,
  [3322] = 3322,
  [3323] = 3323,
  [3324] = 3324,
  [3325] = 3230,
  [3326] = 3326,
  [3327] = 3224,
  [3328] = 3328,
  [3329] = 3209,
  [3330] = 3330,
  [3331] = 3224,
  [3332] = 3332,
  [3333] = 3110,
  [3334] = 3224,
  [3335] = 3209,
  [3336] = 877,
  [3337] = 3110,
  [3338] = 3338,
  [3339] = 3339,
  [3340] = 952,
  [3341] = 951,
  [3342] = 3110,
  [3343] = 3209,
  [3344] = 3344,
  [3345] = 3224,
  [3346] = 950,
  [3347] = 949,
  [3348] = 948,
  [3349] = 3349,
  [3350] = 3209,
  [3351] = 3110,
  [3352] = 3352,
  [3353] = 3353,
  [3354] = 822,
  [3355] = 3355,
  [3356] = 3356,
  [3357] = 3357,
  [3358] = 3209,
  [3359] = 3224,
  [3360] = 3360,
  [3361] = 3361,
  [3362] = 3362,
  [3363] = 843,
  [3364] = 851,
  [3365] = 944,
  [3366] = 3366,
  [3367] = 942,
  [3368] = 939,
  [3369] = 938,
  [3370] = 936,
  [3371] = 3209,
  [3372] = 3110,
  [3373] = 3373,
  [3374] = 3224,
  [3375] = 3209,
  [3376] = 1129,
  [3377] = 3110,
  [3378] = 3224,
  [3379] = 3209,
  [3380] = 3110,
  [3381] = 3224,
  [3382] = 919,
  [3383] = 3383,
  [3384] = 3224,
  [3385] = 3385,
  [3386] = 922,
  [3387] = 914,
  [3388] = 3224,
  [3389] = 921,
  [3390] = 911,
  [3391] = 3209,
  [3392] = 3392,
  [3393] = 3393,
  [3394] = 3394,
  [3395] = 3395,
  [3396] = 854,
  [3397] = 3110,
  [3398] = 3110,
  [3399] = 930,
  [3400] = 901,
  [3401] = 910,
  [3402] = 883,
  [3403] = 885,
  [3404] = 941,
  [3405] = 3405,
  [3406] = 958,
  [3407] = 3224,
  [3408] = 958,
  [3409] = 959,
  [3410] = 883,
  [3411] = 910,
  [3412] = 901,
  [3413] = 941,
  [3414] = 3414,
  [3415] = 3415,
  [3416] = 885,
  [3417] = 930,
  [3418] = 927,
  [3419] = 3209,
  [3420] = 3420,
  [3421] = 926,
  [3422] = 3209,
  [3423] = 3423,
  [3424] = 909,
  [3425] = 3224,
  [3426] = 921,
  [3427] = 911,
  [3428] = 920,
  [3429] = 3110,
  [3430] = 3430,
  [3431] = 918,
  [3432] = 3230,
  [3433] = 3227,
  [3434] = 3434,
  [3435] = 3110,
  [3436] = 3436,
  [3437] = 914,
  [3438] = 922,
  [3439] = 3439,
  [3440] = 3224,
  [3441] = 3209,
  [3442] = 3442,
  [3443] = 3443,
  [3444] = 3209,
  [3445] = 3445,
  [3446] = 912,
  [3447] = 3447,
  [3448] = 3448,
  [3449] = 3449,
  [3450] = 908,
  [3451] = 907,
  [3452] = 3452,
  [3453] = 3453,
  [3454] = 934,
  [3455] = 936,
  [3456] = 938,
  [3457] = 3457,
  [3458] = 3224,
  [3459] = 939,
  [3460] = 3460,
  [3461] = 942,
  [3462] = 3110,
  [3463] = 1134,
  [3464] = 3464,
  [3465] = 944,
  [3466] = 3466,
  [3467] = 899,
  [3468] = 808,
  [3469] = 882,
  [3470] = 3110,
  [3471] = 3471,
  [3472] = 3472,
  [3473] = 896,
  [3474] = 3224,
  [3475] = 3209,
  [3476] = 895,
  [3477] = 894,
  [3478] = 893,
  [3479] = 3479,
  [3480] = 3209,
  [3481] = 3481,
  [3482] = 3482,
  [3483] = 3110,
  [3484] = 946,
  [3485] = 3110,
  [3486] = 892,
  [3487] = 3224,
  [3488] = 947,
  [3489] = 948,
  [3490] = 891,
  [3491] = 949,
  [3492] = 950,
  [3493] = 890,
  [3494] = 889,
  [3495] = 3110,
  [3496] = 887,
  [3497] = 886,
  [3498] = 884,
  [3499] = 937,
  [3500] = 3209,
  [3501] = 3501,
  [3502] = 3502,
  [3503] = 3503,
  [3504] = 903,
  [3505] = 904,
  [3506] = 905,
  [3507] = 3224,
  [3508] = 3224,
  [3509] = 913,
  [3510] = 3510,
  [3511] = 915,
  [3512] = 951,
  [3513] = 3513,
  [3514] = 952,
  [3515] = 3515,
  [3516] = 3516,
  [3517] = 916,
  [3518] = 3518,
  [3519] = 961,
  [3520] = 3520,
  [3521] = 917,
  [3522] = 953,
  [3523] = 3523,
  [3524] = 928,
  [3525] = 807,
  [3526] = 954,
  [3527] = 3110,
  [3528] = 3209,
  [3529] = 955,
  [3530] = 956,
  [3531] = 931,
  [3532] = 932,
  [3533] = 3209,
  [3534] = 3534,
  [3535] = 3535,
  [3536] = 3110,
  [3537] = 3537,
  [3538] = 3538,
  [3539] = 850,
  [3540] = 848,
  [3541] = 3541,
  [3542] = 3542,
  [3543] = 3224,
  [3544] = 3224,
  [3545] = 962,
  [3546] = 963,
  [3547] = 964,
  [3548] = 966,
  [3549] = 967,
  [3550] = 3550,
  [3551] = 3551,
  [3552] = 965,
  [3553] = 969,
  [3554] = 3209,
  [3555] = 970,
  [3556] = 971,
  [3557] = 973,
  [3558] = 974,
  [3559] = 975,
  [3560] = 976,
  [3561] = 3110,
  [3562] = 3209,
  [3563] = 977,
  [3564] = 945,
  [3565] = 935,
  [3566] = 900,
  [3567] = 888,
  [3568] = 898,
  [3569] = 811,
  [3570] = 906,
  [3571] = 924,
  [3572] = 3572,
  [3573] = 3209,
  [3574] = 933,
  [3575] = 3575,
  [3576] = 968,
  [3577] = 972,
  [3578] = 3224,
  [3579] = 914,
  [3580] = 826,
  [3581] = 955,
  [3582] = 928,
  [3583] = 931,
  [3584] = 933,
  [3585] = 932,
  [3586] = 2183,
  [3587] = 848,
  [3588] = 885,
  [3589] = 850,
  [3590] = 917,
  [3591] = 804,
  [3592] = 952,
  [3593] = 951,
  [3594] = 916,
  [3595] = 956,
  [3596] = 830,
  [3597] = 883,
  [3598] = 841,
  [3599] = 950,
  [3600] = 930,
  [3601] = 910,
  [3602] = 949,
  [3603] = 901,
  [3604] = 915,
  [3605] = 948,
  [3606] = 947,
  [3607] = 822,
  [3608] = 913,
  [3609] = 946,
  [3610] = 2133,
  [3611] = 855,
  [3612] = 905,
  [3613] = 904,
  [3614] = 958,
  [3615] = 965,
  [3616] = 903,
  [3617] = 3617,
  [3618] = 937,
  [3619] = 884,
  [3620] = 886,
  [3621] = 842,
  [3622] = 837,
  [3623] = 828,
  [3624] = 887,
  [3625] = 1888,
  [3626] = 735,
  [3627] = 734,
  [3628] = 889,
  [3629] = 734,
  [3630] = 735,
  [3631] = 820,
  [3632] = 890,
  [3633] = 966,
  [3634] = 891,
  [3635] = 892,
  [3636] = 893,
  [3637] = 894,
  [3638] = 895,
  [3639] = 919,
  [3640] = 734,
  [3641] = 735,
  [3642] = 968,
  [3643] = 967,
  [3644] = 896,
  [3645] = 882,
  [3646] = 1129,
  [3647] = 969,
  [3648] = 961,
  [3649] = 899,
  [3650] = 971,
  [3651] = 964,
  [3652] = 973,
  [3653] = 843,
  [3654] = 844,
  [3655] = 927,
  [3656] = 926,
  [3657] = 853,
  [3658] = 921,
  [3659] = 974,
  [3660] = 833,
  [3661] = 831,
  [3662] = 944,
  [3663] = 920,
  [3664] = 975,
  [3665] = 829,
  [3666] = 918,
  [3667] = 824,
  [3668] = 976,
  [3669] = 942,
  [3670] = 959,
  [3671] = 939,
  [3672] = 938,
  [3673] = 977,
  [3674] = 945,
  [3675] = 936,
  [3676] = 876,
  [3677] = 941,
  [3678] = 935,
  [3679] = 842,
  [3680] = 869,
  [3681] = 851,
  [3682] = 854,
  [3683] = 900,
  [3684] = 888,
  [3685] = 898,
  [3686] = 906,
  [3687] = 912,
  [3688] = 839,
  [3689] = 924,
  [3690] = 908,
  [3691] = 934,
  [3692] = 907,
  [3693] = 909,
  [3694] = 962,
  [3695] = 911,
  [3696] = 970,
  [3697] = 834,
  [3698] = 954,
  [3699] = 925,
  [3700] = 972,
  [3701] = 963,
  [3702] = 922,
  [3703] = 953,
  [3704] = 3704,
  [3705] = 1134,
  [3706] = 837,
  [3707] = 826,
  [3708] = 841,
  [3709] = 855,
  [3710] = 845,
  [3711] = 820,
  [3712] = 834,
  [3713] = 832,
  [3714] = 825,
  [3715] = 1129,
  [3716] = 1786,
  [3717] = 821,
  [3718] = 3704,
  [3719] = 839,
  [3720] = 827,
  [3721] = 835,
  [3722] = 735,
  [3723] = 830,
  [3724] = 734,
  [3725] = 842,
  [3726] = 828,
  [3727] = 853,
  [3728] = 1134,
  [3729] = 1732,
  [3730] = 833,
  [3731] = 1786,
  [3732] = 818,
  [3733] = 821,
  [3734] = 1129,
  [3735] = 819,
  [3736] = 803,
  [3737] = 825,
  [3738] = 832,
  [3739] = 735,
  [3740] = 803,
  [3741] = 813,
  [3742] = 3742,
  [3743] = 1951,
  [3744] = 817,
  [3745] = 3745,
  [3746] = 818,
  [3747] = 809,
  [3748] = 816,
  [3749] = 845,
  [3750] = 734,
  [3751] = 827,
  [3752] = 3742,
  [3753] = 1134,
  [3754] = 814,
  [3755] = 835,
  [3756] = 815,
  [3757] = 810,
  [3758] = 3704,
  [3759] = 810,
  [3760] = 735,
  [3761] = 3761,
  [3762] = 3762,
  [3763] = 3745,
  [3764] = 735,
  [3765] = 812,
  [3766] = 734,
  [3767] = 734,
  [3768] = 1957,
  [3769] = 809,
  [3770] = 1990,
  [3771] = 845,
  [3772] = 2437,
  [3773] = 845,
  [3774] = 808,
  [3775] = 811,
  [3776] = 845,
  [3777] = 3777,
  [3778] = 1993,
  [3779] = 807,
  [3780] = 2014,
  [3781] = 845,
  [3782] = 2079,
  [3783] = 824,
  [3784] = 829,
  [3785] = 831,
  [3786] = 2072,
  [3787] = 829,
  [3788] = 824,
  [3789] = 2076,
  [3790] = 844,
  [3791] = 1134,
  [3792] = 844,
  [3793] = 2039,
  [3794] = 1129,
  [3795] = 822,
  [3796] = 843,
  [3797] = 822,
  [3798] = 843,
  [3799] = 831,
  [3800] = 2123,
  [3801] = 855,
  [3802] = 2110,
  [3803] = 2127,
  [3804] = 837,
  [3805] = 828,
  [3806] = 2079,
  [3807] = 839,
  [3808] = 853,
  [3809] = 833,
  [3810] = 834,
  [3811] = 3811,
  [3812] = 2126,
  [3813] = 820,
  [3814] = 830,
  [3815] = 2097,
  [3816] = 1607,
  [3817] = 841,
  [3818] = 2150,
  [3819] = 2125,
  [3820] = 3820,
  [3821] = 3821,
  [3822] = 3822,
  [3823] = 842,
  [3824] = 3824,
  [3825] = 3811,
  [3826] = 2143,
  [3827] = 2101,
  [3828] = 2076,
  [3829] = 826,
  [3830] = 3830,
  [3831] = 3831,
  [3832] = 2199,
  [3833] = 845,
  [3834] = 2175,
  [3835] = 2199,
  [3836] = 827,
  [3837] = 2175,
  [3838] = 3830,
  [3839] = 3830,
  [3840] = 3840,
  [3841] = 2977,
  [3842] = 3830,
  [3843] = 3840,
  [3844] = 1624,
  [3845] = 2858,
  [3846] = 3830,
  [3847] = 3840,
  [3848] = 3840,
  [3849] = 3830,
  [3850] = 3830,
  [3851] = 3840,
  [3852] = 3840,
  [3853] = 3840,
  [3854] = 2990,
  [3855] = 3840,
  [3856] = 3830,
  [3857] = 3857,
  [3858] = 1595,
  [3859] = 825,
  [3860] = 832,
  [3861] = 835,
  [3862] = 821,
  [3863] = 1603,
  [3864] = 3864,
  [3865] = 3865,
  [3866] = 3866,
  [3867] = 3867,
  [3868] = 3868,
  [3869] = 3869,
  [3870] = 3870,
  [3871] = 3870,
  [3872] = 3870,
  [3873] = 2181,
  [3874] = 3874,
  [3875] = 3875,
  [3876] = 3876,
  [3877] = 3877,
  [3878] = 3878,
  [3879] = 3878,
  [3880] = 3880,
  [3881] = 3875,
  [3882] = 3878,
  [3883] = 3875,
  [3884] = 3878,
  [3885] = 3878,
  [3886] = 3886,
  [3887] = 3875,
  [3888] = 3888,
  [3889] = 2380,
  [3890] = 3878,
  [3891] = 3891,
  [3892] = 3875,
  [3893] = 3878,
  [3894] = 3875,
  [3895] = 3880,
  [3896] = 3896,
  [3897] = 3875,
  [3898] = 3878,
  [3899] = 3899,
  [3900] = 3878,
  [3901] = 3877,
  [3902] = 3902,
  [3903] = 3903,
  [3904] = 3891,
  [3905] = 3875,
  [3906] = 3878,
  [3907] = 3878,
  [3908] = 3875,
  [3909] = 3875,
  [3910] = 3910,
  [3911] = 3896,
  [3912] = 3878,
  [3913] = 3875,
  [3914] = 3875,
  [3915] = 3878,
  [3916] = 3875,
  [3917] = 3917,
  [3918] = 3878,
  [3919] = 3919,
  [3920] = 3877,
  [3921] = 3876,
  [3922] = 3875,
  [3923] = 3878,
  [3924] = 3877,
  [3925] = 3878,
  [3926] = 3875,
  [3927] = 3878,
  [3928] = 3878,
  [3929] = 3875,
  [3930] = 3875,
  [3931] = 3878,
  [3932] = 3878,
  [3933] = 3875,
  [3934] = 3875,
  [3935] = 3878,
  [3936] = 3878,
  [3937] = 3896,
  [3938] = 3875,
  [3939] = 3878,
  [3940] = 3940,
  [3941] = 3875,
  [3942] = 3878,
  [3943] = 3875,
  [3944] = 3878,
  [3945] = 3878,
  [3946] = 3877,
  [3947] = 3875,
  [3948] = 3878,
  [3949] = 3875,
  [3950] = 3877,
  [3951] = 3878,
  [3952] = 3952,
  [3953] = 3875,
  [3954] = 3954,
  [3955] = 3878,
  [3956] = 3875,
  [3957] = 3878,
  [3958] = 3875,
  [3959] = 3878,
  [3960] = 3902,
  [3961] = 3961,
  [3962] = 3878,
  [3963] = 3954,
  [3964] = 3964,
  [3965] = 3878,
  [3966] = 3878,
  [3967] = 3875,
  [3968] = 3875,
  [3969] = 3969,
  [3970] = 3970,
  [3971] = 3878,
  [3972] = 3961,
  [3973] = 3875,
  [3974] = 3886,
  [3975] = 3910,
  [3976] = 3940,
  [3977] = 3977,
  [3978] = 3875,
  [3979] = 3979,
  [3980] = 3980,
  [3981] = 3878,
  [3982] = 3902,
  [3983] = 3983,
  [3984] = 3875,
  [3985] = 3985,
  [3986] = 3986,
  [3987] = 3875,
  [3988] = 3988,
  [3989] = 3970,
  [3990] = 3891,
  [3991] = 3988,
  [3992] = 3899,
  [3993] = 3875,
  [3994] = 3994,
  [3995] = 3995,
  [3996] = 3969,
  [3997] = 3875,
  [3998] = 3875,
  [3999] = 3878,
  [4000] = 4000,
  [4001] = 4001,
  [4002] = 4002,
  [4003] = 4003,
  [4004] = 4004,
  [4005] = 4005,
  [4006] = 3896,
  [4007] = 3878,
  [4008] = 3896,
  [4009] = 3875,
  [4010] = 3875,
  [4011] = 3878,
  [4012] = 3902,
  [4013] = 3877,
  [4014] = 3986,
  [4015] = 4015,
  [4016] = 2181,
  [4017] = 3875,
  [4018] = 4018,
  [4019] = 3902,
  [4020] = 3875,
  [4021] = 3896,
  [4022] = 3899,
  [4023] = 3964,
  [4024] = 3875,
  [4025] = 3878,
  [4026] = 3875,
  [4027] = 4027,
  [4028] = 3878,
  [4029] = 4004,
  [4030] = 4030,
  [4031] = 3995,
  [4032] = 3994,
  [4033] = 4002,
  [4034] = 3875,
  [4035] = 4001,
  [4036] = 3878,
  [4037] = 3877,
  [4038] = 4018,
  [4039] = 3970,
  [4040] = 3961,
  [4041] = 3886,
  [4042] = 3910,
  [4043] = 3977,
  [4044] = 3979,
  [4045] = 3980,
  [4046] = 3983,
  [4047] = 3985,
  [4048] = 3986,
  [4049] = 3876,
  [4050] = 3988,
  [4051] = 3970,
  [4052] = 3961,
  [4053] = 3910,
  [4054] = 3977,
  [4055] = 3979,
  [4056] = 3983,
  [4057] = 3985,
  [4058] = 3878,
  [4059] = 3876,
  [4060] = 3878,
  [4061] = 3902,
  [4062] = 2355,
  [4063] = 3880,
  [4064] = 3902,
  [4065] = 3896,
  [4066] = 3875,
  [4067] = 3875,
  [4068] = 3878,
  [4069] = 3985,
  [4070] = 2301,
  [4071] = 3995,
  [4072] = 3983,
  [4073] = 3878,
  [4074] = 3875,
  [4075] = 3980,
  [4076] = 3875,
  [4077] = 3969,
  [4078] = 3875,
  [4079] = 3979,
  [4080] = 2377,
  [4081] = 3896,
  [4082] = 4030,
  [4083] = 3878,
  [4084] = 3878,
  [4085] = 3875,
  [4086] = 3888,
  [4087] = 3878,
  [4088] = 3977,
  [4089] = 3902,
  [4090] = 3875,
  [4091] = 4091,
  [4092] = 4027,
  [4093] = 4093,
  [4094] = 3878,
  [4095] = 3875,
  [4096] = 3875,
  [4097] = 3878,
  [4098] = 2378,
  [4099] = 3878,
  [4100] = 3994,
  [4101] = 4101,
  [4102] = 4102,
  [4103] = 4101,
  [4104] = 4104,
  [4105] = 4105,
  [4106] = 4106,
  [4107] = 4107,
  [4108] = 4108,
  [4109] = 4102,
  [4110] = 4110,
  [4111] = 2529,
  [4112] = 4112,
  [4113] = 4113,
  [4114] = 4112,
  [4115] = 4102,
  [4116] = 4116,
  [4117] = 4113,
  [4118] = 4107,
  [4119] = 4110,
  [4120] = 4113,
  [4121] = 4112,
  [4122] = 4122,
  [4123] = 4102,
  [4124] = 4124,
  [4125] = 4125,
  [4126] = 4102,
  [4127] = 4127,
  [4128] = 4128,
  [4129] = 4129,
  [4130] = 4113,
  [4131] = 4101,
  [4132] = 4132,
  [4133] = 4112,
  [4134] = 4112,
  [4135] = 4135,
  [4136] = 4102,
  [4137] = 4113,
  [4138] = 2458,
  [4139] = 4112,
  [4140] = 4102,
  [4141] = 2456,
  [4142] = 2455,
  [4143] = 4110,
  [4144] = 4113,
  [4145] = 4112,
  [4146] = 4146,
  [4147] = 4112,
  [4148] = 4148,
  [4149] = 4146,
  [4150] = 4150,
  [4151] = 4113,
  [4152] = 4102,
  [4153] = 4105,
  [4154] = 4112,
  [4155] = 4146,
  [4156] = 4113,
  [4157] = 4129,
  [4158] = 4112,
  [4159] = 2424,
  [4160] = 2423,
  [4161] = 4122,
  [4162] = 4102,
  [4163] = 4146,
  [4164] = 4164,
  [4165] = 4102,
  [4166] = 4146,
  [4167] = 4167,
  [4168] = 4124,
  [4169] = 4146,
  [4170] = 4122,
  [4171] = 4128,
  [4172] = 4128,
  [4173] = 4112,
  [4174] = 4174,
  [4175] = 4113,
  [4176] = 4102,
  [4177] = 4132,
  [4178] = 4178,
  [4179] = 4132,
  [4180] = 4150,
  [4181] = 4128,
  [4182] = 4146,
  [4183] = 4124,
  [4184] = 4184,
  [4185] = 4124,
  [4186] = 4102,
  [4187] = 4110,
  [4188] = 4112,
  [4189] = 4148,
  [4190] = 4102,
  [4191] = 4113,
  [4192] = 4174,
  [4193] = 4102,
  [4194] = 4102,
  [4195] = 4184,
  [4196] = 4113,
  [4197] = 4174,
  [4198] = 4112,
  [4199] = 4113,
  [4200] = 4105,
  [4201] = 4174,
  [4202] = 4102,
  [4203] = 4122,
  [4204] = 4167,
  [4205] = 4112,
  [4206] = 4106,
  [4207] = 4207,
  [4208] = 4112,
  [4209] = 4113,
  [4210] = 4174,
  [4211] = 4102,
  [4212] = 4150,
  [4213] = 4112,
  [4214] = 4113,
  [4215] = 4174,
  [4216] = 4174,
  [4217] = 4113,
  [4218] = 4174,
  [4219] = 4174,
  [4220] = 4184,
  [4221] = 4148,
  [4222] = 4122,
  [4223] = 4174,
  [4224] = 4184,
  [4225] = 4174,
  [4226] = 4184,
  [4227] = 4112,
  [4228] = 4174,
  [4229] = 4164,
  [4230] = 4184,
  [4231] = 4174,
  [4232] = 4164,
  [4233] = 4184,
  [4234] = 4116,
  [4235] = 4102,
  [4236] = 4124,
  [4237] = 4113,
  [4238] = 4174,
  [4239] = 4164,
  [4240] = 4184,
  [4241] = 4174,
  [4242] = 4164,
  [4243] = 4184,
  [4244] = 4174,
  [4245] = 4164,
  [4246] = 4184,
  [4247] = 4174,
  [4248] = 4164,
  [4249] = 4184,
  [4250] = 4128,
  [4251] = 4124,
  [4252] = 4128,
  [4253] = 4174,
  [4254] = 4113,
  [4255] = 4101,
  [4256] = 4164,
  [4257] = 4184,
  [4258] = 4112,
  [4259] = 4102,
  [4260] = 4174,
  [4261] = 4164,
  [4262] = 4184,
  [4263] = 4102,
  [4264] = 4174,
  [4265] = 4164,
  [4266] = 4184,
  [4267] = 4106,
  [4268] = 4104,
  [4269] = 4108,
  [4270] = 4174,
  [4271] = 4164,
  [4272] = 4105,
  [4273] = 4132,
  [4274] = 4184,
  [4275] = 4174,
  [4276] = 4164,
  [4277] = 4184,
  [4278] = 4113,
  [4279] = 2301,
  [4280] = 4132,
  [4281] = 4112,
  [4282] = 4174,
  [4283] = 4164,
  [4284] = 4112,
  [4285] = 4285,
  [4286] = 4110,
  [4287] = 4112,
  [4288] = 4102,
  [4289] = 4105,
  [4290] = 4128,
  [4291] = 4184,
  [4292] = 4174,
  [4293] = 4116,
  [4294] = 4102,
  [4295] = 4295,
  [4296] = 4113,
  [4297] = 4113,
  [4298] = 4112,
  [4299] = 4164,
  [4300] = 4104,
  [4301] = 4184,
  [4302] = 4174,
  [4303] = 4113,
  [4304] = 4164,
  [4305] = 4167,
  [4306] = 4112,
  [4307] = 4113,
  [4308] = 4308,
  [4309] = 4184,
  [4310] = 4108,
  [4311] = 4122,
  [4312] = 4102,
  [4313] = 4107,
  [4314] = 4113,
  [4315] = 4110,
  [4316] = 4112,
  [4317] = 4105,
  [4318] = 4174,
  [4319] = 4164,
  [4320] = 4124,
  [4321] = 4128,
  [4322] = 4184,
  [4323] = 4323,
  [4324] = 4174,
  [4325] = 4102,
  [4326] = 4127,
  [4327] = 4164,
  [4328] = 4184,
  [4329] = 4174,
  [4330] = 4132,
  [4331] = 4164,
  [4332] = 4124,
  [4333] = 4184,
  [4334] = 4174,
  [4335] = 4164,
  [4336] = 4184,
  [4337] = 4128,
  [4338] = 4174,
  [4339] = 4112,
  [4340] = 4113,
  [4341] = 4125,
  [4342] = 4342,
  [4343] = 4102,
  [4344] = 4344,
  [4345] = 4345,
  [4346] = 4127,
  [4347] = 4174,
  [4348] = 4164,
  [4349] = 4184,
  [4350] = 4110,
  [4351] = 4164,
  [4352] = 4102,
  [4353] = 4113,
  [4354] = 4174,
  [4355] = 4164,
  [4356] = 4184,
  [4357] = 4174,
  [4358] = 4164,
  [4359] = 4184,
  [4360] = 4174,
  [4361] = 4174,
  [4362] = 4112,
  [4363] = 4112,
  [4364] = 4105,
  [4365] = 4164,
  [4366] = 4112,
  [4367] = 4112,
  [4368] = 4184,
  [4369] = 4113,
  [4370] = 4174,
  [4371] = 4184,
  [4372] = 4372,
  [4373] = 4122,
  [4374] = 4113,
  [4375] = 4102,
  [4376] = 4125,
  [4377] = 4102,
  [4378] = 4124,
  [4379] = 4164,
  [4380] = 4128,
  [4381] = 4102,
  [4382] = 4164,
  [4383] = 4132,
  [4384] = 4184,
  [4385] = 4174,
  [4386] = 4164,
  [4387] = 4184,
  [4388] = 4174,
  [4389] = 4164,
  [4390] = 4184,
  [4391] = 4174,
  [4392] = 4132,
  [4393] = 4393,
  [4394] = 4112,
  [4395] = 4395,
  [4396] = 4174,
  [4397] = 4113,
  [4398] = 4184,
  [4399] = 4113,
  [4400] = 4112,
  [4401] = 4164,
  [4402] = 4164,
  [4403] = 4184,
  [4404] = 4102,
  [4405] = 4174,
  [4406] = 4129,
  [4407] = 4102,
  [4408] = 4174,
  [4409] = 4164,
  [4410] = 4113,
  [4411] = 4112,
  [4412] = 4184,
  [4413] = 4174,
  [4414] = 4164,
  [4415] = 4184,
  [4416] = 4174,
  [4417] = 4184,
  [4418] = 4164,
  [4419] = 4419,
  [4420] = 4184,
  [4421] = 4112,
  [4422] = 4112,
  [4423] = 4174,
  [4424] = 4113,
  [4425] = 4113,
  [4426] = 4102,
  [4427] = 4102,
  [4428] = 4164,
  [4429] = 4164,
  [4430] = 4184,
  [4431] = 4174,
  [4432] = 4122,
  [4433] = 4102,
  [4434] = 4113,
  [4435] = 4113,
  [4436] = 4164,
  [4437] = 4184,
  [4438] = 4174,
  [4439] = 4113,
  [4440] = 4164,
  [4441] = 4174,
  [4442] = 4112,
  [4443] = 4110,
  [4444] = 4184,
  [4445] = 4146,
  [4446] = 4184,
  [4447] = 4102,
  [4448] = 4174,
  [4449] = 4164,
  [4450] = 4112,
  [4451] = 4113,
  [4452] = 4102,
  [4453] = 4102,
  [4454] = 4112,
  [4455] = 4105,
  [4456] = 4184,
  [4457] = 4113,
  [4458] = 4164,
  [4459] = 4174,
  [4460] = 4124,
  [4461] = 4164,
  [4462] = 4112,
  [4463] = 4112,
  [4464] = 4184,
  [4465] = 4113,
  [4466] = 4122,
  [4467] = 4467,
  [4468] = 4113,
  [4469] = 4102,
  [4470] = 4167,
  [4471] = 4174,
  [4472] = 4184,
  [4473] = 4102,
  [4474] = 4132,
  [4475] = 4164,
  [4476] = 4164,
  [4477] = 4174,
  [4478] = 734,
  [4479] = 2654,
  [4480] = 4480,
  [4481] = 2785,
  [4482] = 4482,
  [4483] = 4483,
  [4484] = 4484,
  [4485] = 4485,
  [4486] = 4486,
  [4487] = 4487,
  [4488] = 4488,
  [4489] = 4489,
  [4490] = 2692,
  [4491] = 4491,
  [4492] = 4492,
  [4493] = 2882,
  [4494] = 3018,
  [4495] = 4495,
  [4496] = 4496,
  [4497] = 876,
  [4498] = 4498,
  [4499] = 2888,
  [4500] = 2887,
  [4501] = 2886,
  [4502] = 2885,
  [4503] = 2884,
  [4504] = 2883,
  [4505] = 4505,
  [4506] = 2894,
  [4507] = 2965,
  [4508] = 2912,
  [4509] = 4509,
  [4510] = 3019,
  [4511] = 4511,
  [4512] = 2895,
  [4513] = 2893,
  [4514] = 4514,
  [4515] = 3016,
  [4516] = 3013,
  [4517] = 2909,
  [4518] = 2905,
  [4519] = 2904,
  [4520] = 2903,
  [4521] = 4521,
  [4522] = 2901,
  [4523] = 4523,
  [4524] = 871,
  [4525] = 869,
  [4526] = 2914,
  [4527] = 880,
  [4528] = 880,
  [4529] = 4529,
  [4530] = 4530,
  [4531] = 871,
  [4532] = 4532,
  [4533] = 3326,
  [4534] = 4534,
  [4535] = 4535,
  [4536] = 4536,
  [4537] = 4537,
  [4538] = 3201,
  [4539] = 3237,
  [4540] = 4540,
  [4541] = 4541,
  [4542] = 3328,
  [4543] = 880,
  [4544] = 4544,
  [4545] = 4545,
  [4546] = 4546,
  [4547] = 3181,
  [4548] = 909,
  [4549] = 946,
  [4550] = 3281,
  [4551] = 947,
  [4552] = 4552,
  [4553] = 4553,
  [4554] = 3550,
  [4555] = 4555,
  [4556] = 3523,
  [4557] = 3503,
  [4558] = 4558,
  [4559] = 4559,
  [4560] = 4560,
  [4561] = 4561,
  [4562] = 4562,
  [4563] = 4563,
  [4564] = 4564,
  [4565] = 4565,
  [4566] = 4566,
  [4567] = 4567,
  [4568] = 4568,
  [4569] = 4569,
  [4570] = 3479,
  [4571] = 3170,
  [4572] = 3361,
  [4573] = 3362,
  [4574] = 3472,
  [4575] = 4575,
  [4576] = 4576,
  [4577] = 4577,
  [4578] = 4578,
  [4579] = 4579,
  [4580] = 3215,
  [4581] = 4581,
  [4582] = 3405,
  [4583] = 3434,
  [4584] = 4584,
  [4585] = 3471,
  [4586] = 3482,
  [4587] = 3373,
  [4588] = 4588,
  [4589] = 4589,
  [4590] = 4590,
  [4591] = 4591,
  [4592] = 871,
  [4593] = 4593,
  [4594] = 3076,
  [4595] = 4595,
  [4596] = 3551,
  [4597] = 4597,
  [4598] = 4598,
  [4599] = 4598,
  [4600] = 4600,
  [4601] = 4600,
  [4602] = 4602,
  [4603] = 4603,
  [4604] = 4604,
  [4605] = 4604,
  [4606] = 4604,
  [4607] = 4607,
  [4608] = 4602,
  [4609] = 4604,
  [4610] = 4607,
  [4611] = 4602,
  [4612] = 4612,
  [4613] = 4603,
  [4614] = 4603,
  [4615] = 4603,
  [4616] = 4604,
  [4617] = 4602,
  [4618] = 4607,
  [4619] = 4604,
  [4620] = 4607,
  [4621] = 4604,
  [4622] = 4607,
  [4623] = 4602,
  [4624] = 4603,
  [4625] = 4612,
  [4626] = 4626,
  [4627] = 4607,
  [4628] = 4603,
  [4629] = 4602,
  [4630] = 4602,
  [4631] = 4607,
  [4632] = 4603,
  [4633] = 4604,
  [4634] = 4604,
  [4635] = 4602,
  [4636] = 4607,
  [4637] = 4607,
  [4638] = 4602,
  [4639] = 4604,
  [4640] = 4607,
  [4641] = 4602,
  [4642] = 4604,
  [4643] = 4643,
  [4644] = 4603,
  [4645] = 4604,
  [4646] = 4607,
  [4647] = 4602,
  [4648] = 4603,
  [4649] = 4604,
  [4650] = 4603,
  [4651] = 4603,
  [4652] = 4604,
  [4653] = 4607,
  [4654] = 4654,
  [4655] = 4604,
  [4656] = 4603,
  [4657] = 4603,
  [4658] = 4604,
  [4659] = 4602,
  [4660] = 4602,
  [4661] = 4607,
  [4662] = 4602,
  [4663] = 4603,
  [4664] = 4602,
  [4665] = 4607,
  [4666] = 4607,
  [4667] = 4604,
  [4668] = 4603,
  [4669] = 4604,
  [4670] = 4607,
  [4671] = 4602,
  [4672] = 4604,
  [4673] = 4603,
  [4674] = 4603,
  [4675] = 4603,
  [4676] = 4602,
  [4677] = 4603,
  [4678] = 4607,
  [4679] = 4604,
  [4680] = 4680,
  [4681] = 4604,
  [4682] = 4604,
  [4683] = 4607,
  [4684] = 4602,
  [4685] = 4607,
  [4686] = 4604,
  [4687] = 4607,
  [4688] = 4602,
  [4689] = 4689,
  [4690] = 4602,
  [4691] = 4603,
  [4692] = 4607,
  [4693] = 4603,
  [4694] = 4603,
  [4695] = 4604,
  [4696] = 4604,
  [4697] = 4603,
  [4698] = 4607,
  [4699] = 4607,
  [4700] = 4604,
  [4701] = 4604,
  [4702] = 4607,
  [4703] = 4602,
  [4704] = 4602,
  [4705] = 4705,
  [4706] = 4603,
  [4707] = 4603,
  [4708] = 4603,
  [4709] = 4604,
  [4710] = 4607,
  [4711] = 4602,
  [4712] = 4603,
  [4713] = 4603,
  [4714] = 4602,
  [4715] = 4612,
  [4716] = 4607,
  [4717] = 4602,
  [4718] = 4602,
  [4719] = 4604,
  [4720] = 4612,
  [4721] = 4602,
  [4722] = 4607,
  [4723] = 4607,
  [4724] = 4604,
  [4725] = 4604,
  [4726] = 4603,
  [4727] = 4603,
  [4728] = 4604,
  [4729] = 4602,
  [4730] = 4607,
  [4731] = 4604,
  [4732] = 4607,
  [4733] = 4603,
  [4734] = 4603,
  [4735] = 4607,
  [4736] = 4602,
  [4737] = 4737,
  [4738] = 4604,
  [4739] = 4602,
  [4740] = 4607,
  [4741] = 4604,
  [4742] = 4604,
  [4743] = 4603,
  [4744] = 4607,
  [4745] = 4603,
  [4746] = 4607,
  [4747] = 4602,
  [4748] = 4602,
  [4749] = 4607,
  [4750] = 4603,
  [4751] = 4604,
  [4752] = 4603,
  [4753] = 4602,
  [4754] = 4602,
  [4755] = 4607,
  [4756] = 4604,
  [4757] = 4603,
  [4758] = 4602,
  [4759] = 4603,
  [4760] = 4603,
  [4761] = 4602,
  [4762] = 4607,
  [4763] = 4604,
  [4764] = 4602,
  [4765] = 4602,
  [4766] = 4607,
  [4767] = 4602,
  [4768] = 4607,
  [4769] = 2720,
  [4770] = 4770,
  [4771] = 4771,
  [4772] = 4772,
  [4773] = 4773,
  [4774] = 4774,
  [4775] = 4775,
  [4776] = 4776,
  [4777] = 4770,
  [4778] = 4775,
  [4779] = 4779,
  [4780] = 4780,
  [4781] = 989,
  [4782] = 4771,
  [4783] = 4775,
  [4784] = 4771,
  [4785] = 4775,
  [4786] = 4771,
  [4787] = 4787,
  [4788] = 4788,
  [4789] = 4787,
  [4790] = 810,
  [4791] = 2992,
  [4792] = 2326,
  [4793] = 4788,
  [4794] = 2979,
  [4795] = 2921,
  [4796] = 4796,
  [4797] = 989,
  [4798] = 4796,
  [4799] = 4788,
  [4800] = 4800,
  [4801] = 4788,
  [4802] = 4787,
  [4803] = 4803,
  [4804] = 2890,
  [4805] = 4787,
  [4806] = 4788,
  [4807] = 2995,
  [4808] = 4787,
  [4809] = 4809,
  [4810] = 4787,
  [4811] = 4787,
  [4812] = 4812,
  [4813] = 4813,
  [4814] = 4814,
  [4815] = 4803,
  [4816] = 4816,
  [4817] = 4788,
  [4818] = 4788,
  [4819] = 4803,
  [4820] = 818,
  [4821] = 4821,
  [4822] = 4803,
  [4823] = 4823,
  [4824] = 4796,
  [4825] = 4803,
  [4826] = 803,
  [4827] = 809,
  [4828] = 4796,
  [4829] = 4829,
  [4830] = 4830,
  [4831] = 4831,
  [4832] = 4832,
  [4833] = 4829,
  [4834] = 989,
  [4835] = 4832,
  [4836] = 845,
  [4837] = 4832,
  [4838] = 4831,
  [4839] = 4839,
  [4840] = 4832,
  [4841] = 4841,
  [4842] = 4839,
  [4843] = 822,
  [4844] = 4844,
  [4845] = 829,
  [4846] = 4844,
  [4847] = 831,
  [4848] = 4844,
  [4849] = 4844,
  [4850] = 4844,
  [4851] = 824,
  [4852] = 4844,
  [4853] = 4844,
  [4854] = 4844,
  [4855] = 843,
  [4856] = 4844,
  [4857] = 844,
  [4858] = 4844,
  [4859] = 1607,
  [4860] = 2437,
  [4861] = 1603,
  [4862] = 1624,
  [4863] = 1595,
  [4864] = 4864,
  [4865] = 4865,
  [4866] = 810,
  [4867] = 4864,
  [4868] = 4868,
  [4869] = 4868,
  [4870] = 4870,
  [4871] = 4870,
  [4872] = 4865,
  [4873] = 927,
  [4874] = 920,
  [4875] = 912,
  [4876] = 921,
  [4877] = 4870,
  [4878] = 4868,
  [4879] = 908,
  [4880] = 845,
  [4881] = 4870,
  [4882] = 4868,
  [4883] = 4868,
  [4884] = 4864,
  [4885] = 4870,
  [4886] = 4868,
  [4887] = 4868,
  [4888] = 4870,
  [4889] = 4865,
  [4890] = 4865,
  [4891] = 903,
  [4892] = 4864,
  [4893] = 4864,
  [4894] = 913,
  [4895] = 818,
  [4896] = 915,
  [4897] = 916,
  [4898] = 4864,
  [4899] = 4868,
  [4900] = 4864,
  [4901] = 906,
  [4902] = 4870,
  [4903] = 803,
  [4904] = 4865,
  [4905] = 4865,
  [4906] = 4865,
  [4907] = 4870,
  [4908] = 809,
  [4909] = 4909,
  [4910] = 4870,
  [4911] = 4865,
  [4912] = 4865,
  [4913] = 4864,
  [4914] = 4870,
  [4915] = 4868,
  [4916] = 4868,
  [4917] = 4864,
  [4918] = 4865,
  [4919] = 845,
  [4920] = 845,
  [4921] = 4921,
  [4922] = 4922,
  [4923] = 844,
  [4924] = 4924,
  [4925] = 4922,
  [4926] = 831,
  [4927] = 829,
  [4928] = 824,
  [4929] = 4929,
  [4930] = 4924,
  [4931] = 4931,
  [4932] = 4924,
  [4933] = 4933,
  [4934] = 4929,
  [4935] = 4933,
  [4936] = 822,
  [4937] = 843,
  [4938] = 4922,
  [4939] = 4933,
  [4940] = 4929,
  [4941] = 4941,
  [4942] = 4942,
  [4943] = 1607,
  [4944] = 4941,
  [4945] = 4941,
  [4946] = 4941,
  [4947] = 4947,
  [4948] = 4941,
  [4949] = 2133,
  [4950] = 4950,
  [4951] = 4941,
  [4952] = 4941,
  [4953] = 4941,
  [4954] = 1468,
  [4955] = 4955,
  [4956] = 4941,
  [4957] = 4957,
  [4958] = 4958,
  [4959] = 1603,
  [4960] = 2437,
  [4961] = 4961,
  [4962] = 845,
  [4963] = 4963,
  [4964] = 1595,
  [4965] = 1624,
  [4966] = 4966,
  [4967] = 804,
  [4968] = 4968,
  [4969] = 4969,
  [4970] = 4970,
  [4971] = 4971,
  [4972] = 4968,
  [4973] = 4973,
  [4974] = 4968,
  [4975] = 4969,
  [4976] = 4976,
  [4977] = 4968,
  [4978] = 4978,
  [4979] = 4968,
  [4980] = 804,
  [4981] = 4968,
  [4982] = 4968,
  [4983] = 4983,
  [4984] = 4968,
  [4985] = 4985,
  [4986] = 4968,
  [4987] = 4968,
  [4988] = 4969,
  [4989] = 4968,
  [4990] = 4968,
  [4991] = 4968,
  [4992] = 4992,
  [4993] = 809,
  [4994] = 816,
  [4995] = 817,
  [4996] = 810,
  [4997] = 812,
  [4998] = 818,
  [4999] = 813,
  [5000] = 5000,
  [5001] = 810,
  [5002] = 809,
  [5003] = 2979,
  [5004] = 819,
  [5005] = 814,
  [5006] = 803,
  [5007] = 815,
  [5008] = 803,
  [5009] = 804,
  [5010] = 5010,
  [5011] = 818,
  [5012] = 809,
  [5013] = 845,
  [5014] = 5014,
  [5015] = 5015,
  [5016] = 1644,
  [5017] = 5017,
  [5018] = 1497,
  [5019] = 1509,
  [5020] = 5017,
  [5021] = 811,
  [5022] = 5014,
  [5023] = 5014,
  [5024] = 5017,
  [5025] = 818,
  [5026] = 5014,
  [5027] = 5027,
  [5028] = 819,
  [5029] = 5017,
  [5030] = 5017,
  [5031] = 807,
  [5032] = 5027,
  [5033] = 5014,
  [5034] = 5014,
  [5035] = 804,
  [5036] = 810,
  [5037] = 818,
  [5038] = 816,
  [5039] = 5027,
  [5040] = 5027,
  [5041] = 818,
  [5042] = 5027,
  [5043] = 5017,
  [5044] = 845,
  [5045] = 5017,
  [5046] = 813,
  [5047] = 814,
  [5048] = 5027,
  [5049] = 5014,
  [5050] = 815,
  [5051] = 804,
  [5052] = 803,
  [5053] = 5027,
  [5054] = 809,
  [5055] = 803,
  [5056] = 812,
  [5057] = 808,
  [5058] = 817,
  [5059] = 810,
  [5060] = 5060,
  [5061] = 844,
  [5062] = 5062,
  [5063] = 804,
  [5064] = 4961,
  [5065] = 843,
  [5066] = 807,
  [5067] = 808,
  [5068] = 812,
  [5069] = 804,
  [5070] = 817,
  [5071] = 5071,
  [5072] = 5062,
  [5073] = 5073,
  [5074] = 5071,
  [5075] = 845,
  [5076] = 844,
  [5077] = 5077,
  [5078] = 804,
  [5079] = 803,
  [5080] = 824,
  [5081] = 1509,
  [5082] = 804,
  [5083] = 822,
  [5084] = 5077,
  [5085] = 816,
  [5086] = 5086,
  [5087] = 5073,
  [5088] = 5088,
  [5089] = 811,
  [5090] = 804,
  [5091] = 5071,
  [5092] = 829,
  [5093] = 5062,
  [5094] = 822,
  [5095] = 831,
  [5096] = 843,
  [5097] = 5073,
  [5098] = 845,
  [5099] = 845,
  [5100] = 810,
  [5101] = 831,
  [5102] = 813,
  [5103] = 5103,
  [5104] = 818,
  [5105] = 809,
  [5106] = 804,
  [5107] = 5071,
  [5108] = 819,
  [5109] = 814,
  [5110] = 5077,
  [5111] = 829,
  [5112] = 803,
  [5113] = 4958,
  [5114] = 824,
  [5115] = 815,
  [5116] = 5077,
  [5117] = 5117,
  [5118] = 814,
  [5119] = 834,
  [5120] = 837,
  [5121] = 1607,
  [5122] = 809,
  [5123] = 5123,
  [5124] = 1603,
  [5125] = 803,
  [5126] = 819,
  [5127] = 5127,
  [5128] = 1624,
  [5129] = 804,
  [5130] = 807,
  [5131] = 5131,
  [5132] = 820,
  [5133] = 822,
  [5134] = 5134,
  [5135] = 808,
  [5136] = 809,
  [5137] = 817,
  [5138] = 818,
  [5139] = 5127,
  [5140] = 811,
  [5141] = 818,
  [5142] = 812,
  [5143] = 5123,
  [5144] = 810,
  [5145] = 815,
  [5146] = 843,
  [5147] = 5147,
  [5148] = 810,
  [5149] = 2858,
  [5150] = 813,
  [5151] = 845,
  [5152] = 2977,
  [5153] = 816,
  [5154] = 5127,
  [5155] = 2990,
  [5156] = 843,
  [5157] = 5157,
  [5158] = 842,
  [5159] = 844,
  [5160] = 831,
  [5161] = 826,
  [5162] = 829,
  [5163] = 824,
  [5164] = 822,
  [5165] = 830,
  [5166] = 844,
  [5167] = 843,
  [5168] = 841,
  [5169] = 831,
  [5170] = 5170,
  [5171] = 829,
  [5172] = 1595,
  [5173] = 819,
  [5174] = 804,
  [5175] = 844,
  [5176] = 855,
  [5177] = 5177,
  [5178] = 809,
  [5179] = 831,
  [5180] = 816,
  [5181] = 824,
  [5182] = 828,
  [5183] = 804,
  [5184] = 829,
  [5185] = 824,
  [5186] = 803,
  [5187] = 810,
  [5188] = 5127,
  [5189] = 813,
  [5190] = 814,
  [5191] = 839,
  [5192] = 817,
  [5193] = 815,
  [5194] = 833,
  [5195] = 4971,
  [5196] = 822,
  [5197] = 853,
  [5198] = 812,
  [5199] = 803,
  [5200] = 807,
  [5201] = 841,
  [5202] = 5202,
  [5203] = 809,
  [5204] = 5204,
  [5205] = 830,
  [5206] = 809,
  [5207] = 832,
  [5208] = 808,
  [5209] = 810,
  [5210] = 855,
  [5211] = 817,
  [5212] = 817,
  [5213] = 808,
  [5214] = 815,
  [5215] = 803,
  [5216] = 812,
  [5217] = 804,
  [5218] = 814,
  [5219] = 813,
  [5220] = 5220,
  [5221] = 828,
  [5222] = 810,
  [5223] = 818,
  [5224] = 811,
  [5225] = 845,
  [5226] = 5220,
  [5227] = 5220,
  [5228] = 826,
  [5229] = 819,
  [5230] = 821,
  [5231] = 809,
  [5232] = 5204,
  [5233] = 835,
  [5234] = 803,
  [5235] = 824,
  [5236] = 815,
  [5237] = 829,
  [5238] = 804,
  [5239] = 845,
  [5240] = 853,
  [5241] = 845,
  [5242] = 831,
  [5243] = 816,
  [5244] = 815,
  [5245] = 803,
  [5246] = 5220,
  [5247] = 816,
  [5248] = 5202,
  [5249] = 810,
  [5250] = 844,
  [5251] = 818,
  [5252] = 812,
  [5253] = 833,
  [5254] = 819,
  [5255] = 812,
  [5256] = 807,
  [5257] = 819,
  [5258] = 814,
  [5259] = 813,
  [5260] = 825,
  [5261] = 817,
  [5262] = 809,
  [5263] = 827,
  [5264] = 812,
  [5265] = 814,
  [5266] = 810,
  [5267] = 818,
  [5268] = 816,
  [5269] = 839,
  [5270] = 5270,
  [5271] = 5271,
  [5272] = 811,
  [5273] = 5220,
  [5274] = 818,
  [5275] = 809,
  [5276] = 820,
  [5277] = 816,
  [5278] = 1607,
  [5279] = 816,
  [5280] = 816,
  [5281] = 813,
  [5282] = 834,
  [5283] = 804,
  [5284] = 837,
  [5285] = 813,
  [5286] = 807,
  [5287] = 5204,
  [5288] = 810,
  [5289] = 814,
  [5290] = 843,
  [5291] = 5220,
  [5292] = 804,
  [5293] = 812,
  [5294] = 5204,
  [5295] = 5220,
  [5296] = 808,
  [5297] = 803,
  [5298] = 5220,
  [5299] = 5202,
  [5300] = 5300,
  [5301] = 5301,
  [5302] = 815,
  [5303] = 5220,
  [5304] = 822,
  [5305] = 819,
  [5306] = 812,
  [5307] = 5220,
  [5308] = 813,
  [5309] = 809,
  [5310] = 814,
  [5311] = 817,
  [5312] = 1603,
  [5313] = 811,
  [5314] = 817,
  [5315] = 810,
  [5316] = 1595,
  [5317] = 819,
  [5318] = 813,
  [5319] = 842,
  [5320] = 815,
  [5321] = 1624,
  [5322] = 5322,
  [5323] = 819,
  [5324] = 817,
  [5325] = 814,
  [5326] = 5326,
  [5327] = 5327,
  [5328] = 815,
  [5329] = 5202,
  [5330] = 5330,
  [5331] = 845,
  [5332] = 5330,
  [5333] = 5333,
  [5334] = 1906,
  [5335] = 811,
  [5336] = 5336,
  [5337] = 5337,
  [5338] = 1891,
  [5339] = 5339,
  [5340] = 1890,
  [5341] = 1886,
  [5342] = 5330,
  [5343] = 5339,
  [5344] = 1888,
  [5345] = 5330,
  [5346] = 816,
  [5347] = 818,
  [5348] = 811,
  [5349] = 5330,
  [5350] = 813,
  [5351] = 814,
  [5352] = 815,
  [5353] = 812,
  [5354] = 819,
  [5355] = 807,
  [5356] = 845,
  [5357] = 817,
  [5358] = 5336,
  [5359] = 5337,
  [5360] = 5339,
  [5361] = 818,
  [5362] = 5330,
  [5363] = 808,
  [5364] = 809,
  [5365] = 5330,
  [5366] = 810,
  [5367] = 834,
  [5368] = 808,
  [5369] = 5336,
  [5370] = 5337,
  [5371] = 819,
  [5372] = 5336,
  [5373] = 5339,
  [5374] = 5330,
  [5375] = 822,
  [5376] = 1916,
  [5377] = 5330,
  [5378] = 819,
  [5379] = 804,
  [5380] = 824,
  [5381] = 5330,
  [5382] = 829,
  [5383] = 5383,
  [5384] = 831,
  [5385] = 817,
  [5386] = 844,
  [5387] = 845,
  [5388] = 837,
  [5389] = 5339,
  [5390] = 5330,
  [5391] = 5337,
  [5392] = 5336,
  [5393] = 810,
  [5394] = 5337,
  [5395] = 5330,
  [5396] = 5330,
  [5397] = 5330,
  [5398] = 5339,
  [5399] = 5330,
  [5400] = 5336,
  [5401] = 1903,
  [5402] = 809,
  [5403] = 5330,
  [5404] = 5330,
  [5405] = 809,
  [5406] = 843,
  [5407] = 1895,
  [5408] = 5330,
  [5409] = 810,
  [5410] = 5330,
  [5411] = 1917,
  [5412] = 1862,
  [5413] = 5330,
  [5414] = 5330,
  [5415] = 5337,
  [5416] = 803,
  [5417] = 5330,
  [5418] = 827,
  [5419] = 820,
  [5420] = 817,
  [5421] = 812,
  [5422] = 845,
  [5423] = 815,
  [5424] = 5330,
  [5425] = 5336,
  [5426] = 5337,
  [5427] = 814,
  [5428] = 813,
  [5429] = 845,
  [5430] = 5330,
  [5431] = 816,
  [5432] = 821,
  [5433] = 5339,
  [5434] = 5330,
  [5435] = 5330,
  [5436] = 5337,
  [5437] = 5336,
  [5438] = 5330,
  [5439] = 803,
  [5440] = 5330,
  [5441] = 5330,
  [5442] = 835,
  [5443] = 5330,
  [5444] = 815,
  [5445] = 824,
  [5446] = 814,
  [5447] = 818,
  [5448] = 5330,
  [5449] = 829,
  [5450] = 813,
  [5451] = 831,
  [5452] = 811,
  [5453] = 844,
  [5454] = 807,
  [5455] = 5330,
  [5456] = 822,
  [5457] = 5333,
  [5458] = 832,
  [5459] = 5330,
  [5460] = 5330,
  [5461] = 5330,
  [5462] = 5330,
  [5463] = 825,
  [5464] = 820,
  [5465] = 807,
  [5466] = 5383,
  [5467] = 5330,
  [5468] = 5468,
  [5469] = 843,
  [5470] = 5330,
  [5471] = 5330,
  [5472] = 809,
  [5473] = 1894,
  [5474] = 826,
  [5475] = 837,
  [5476] = 808,
  [5477] = 1893,
  [5478] = 830,
  [5479] = 841,
  [5480] = 810,
  [5481] = 811,
  [5482] = 818,
  [5483] = 5330,
  [5484] = 5330,
  [5485] = 816,
  [5486] = 5330,
  [5487] = 5330,
  [5488] = 842,
  [5489] = 5333,
  [5490] = 5490,
  [5491] = 839,
  [5492] = 5339,
  [5493] = 833,
  [5494] = 853,
  [5495] = 807,
  [5496] = 5330,
  [5497] = 5383,
  [5498] = 803,
  [5499] = 812,
  [5500] = 803,
  [5501] = 5337,
  [5502] = 828,
  [5503] = 808,
  [5504] = 855,
  [5505] = 5330,
  [5506] = 5339,
  [5507] = 5336,
  [5508] = 818,
  [5509] = 1898,
  [5510] = 5510,
  [5511] = 855,
  [5512] = 5512,
  [5513] = 843,
  [5514] = 5514,
  [5515] = 5515,
  [5516] = 5510,
  [5517] = 820,
  [5518] = 5518,
  [5519] = 5519,
  [5520] = 1886,
  [5521] = 839,
  [5522] = 5522,
  [5523] = 835,
  [5524] = 821,
  [5525] = 811,
  [5526] = 5510,
  [5527] = 803,
  [5528] = 5515,
  [5529] = 5522,
  [5530] = 5510,
  [5531] = 5522,
  [5532] = 813,
  [5533] = 814,
  [5534] = 815,
  [5535] = 5535,
  [5536] = 827,
  [5537] = 5519,
  [5538] = 837,
  [5539] = 812,
  [5540] = 1916,
  [5541] = 845,
  [5542] = 845,
  [5543] = 1888,
  [5544] = 5544,
  [5545] = 807,
  [5546] = 5546,
  [5547] = 844,
  [5548] = 5548,
  [5549] = 5519,
  [5550] = 842,
  [5551] = 5551,
  [5552] = 5552,
  [5553] = 5553,
  [5554] = 5522,
  [5555] = 5519,
  [5556] = 5556,
  [5557] = 845,
  [5558] = 5515,
  [5559] = 5552,
  [5560] = 5560,
  [5561] = 845,
  [5562] = 832,
  [5563] = 5544,
  [5564] = 825,
  [5565] = 5565,
  [5566] = 5510,
  [5567] = 842,
  [5568] = 5519,
  [5569] = 808,
  [5570] = 5522,
  [5571] = 808,
  [5572] = 816,
  [5573] = 828,
  [5574] = 5510,
  [5575] = 824,
  [5576] = 5515,
  [5577] = 5519,
  [5578] = 829,
  [5579] = 831,
  [5580] = 844,
  [5581] = 843,
  [5582] = 819,
  [5583] = 1509,
  [5584] = 5519,
  [5585] = 811,
  [5586] = 5519,
  [5587] = 819,
  [5588] = 817,
  [5589] = 826,
  [5590] = 822,
  [5591] = 5510,
  [5592] = 843,
  [5593] = 831,
  [5594] = 5522,
  [5595] = 5519,
  [5596] = 5519,
  [5597] = 5515,
  [5598] = 1903,
  [5599] = 834,
  [5600] = 807,
  [5601] = 809,
  [5602] = 844,
  [5603] = 5522,
  [5604] = 829,
  [5605] = 5605,
  [5606] = 1917,
  [5607] = 816,
  [5608] = 5515,
  [5609] = 1862,
  [5610] = 5519,
  [5611] = 5515,
  [5612] = 831,
  [5613] = 5613,
  [5614] = 829,
  [5615] = 5515,
  [5616] = 837,
  [5617] = 839,
  [5618] = 5618,
  [5619] = 824,
  [5620] = 817,
  [5621] = 830,
  [5622] = 5622,
  [5623] = 834,
  [5624] = 807,
  [5625] = 822,
  [5626] = 812,
  [5627] = 842,
  [5628] = 833,
  [5629] = 5629,
  [5630] = 5630,
  [5631] = 820,
  [5632] = 824,
  [5633] = 811,
  [5634] = 815,
  [5635] = 5519,
  [5636] = 5519,
  [5637] = 5535,
  [5638] = 814,
  [5639] = 810,
  [5640] = 813,
  [5641] = 5519,
  [5642] = 5642,
  [5643] = 5519,
  [5644] = 5644,
  [5645] = 5645,
  [5646] = 5646,
  [5647] = 853,
  [5648] = 822,
  [5649] = 5519,
  [5650] = 5644,
  [5651] = 841,
  [5652] = 5652,
  [5653] = 855,
  [5654] = 5544,
  [5655] = 5642,
  [5656] = 5535,
  [5657] = 828,
  [5658] = 5552,
  [5659] = 5519,
  [5660] = 5660,
  [5661] = 822,
  [5662] = 5512,
  [5663] = 1890,
  [5664] = 5519,
  [5665] = 1891,
  [5666] = 5510,
  [5667] = 5544,
  [5668] = 5668,
  [5669] = 5522,
  [5670] = 5519,
  [5671] = 5671,
  [5672] = 830,
  [5673] = 5622,
  [5674] = 841,
  [5675] = 5675,
  [5676] = 5646,
  [5677] = 1893,
  [5678] = 5678,
  [5679] = 1894,
  [5680] = 808,
  [5681] = 5681,
  [5682] = 5556,
  [5683] = 5512,
  [5684] = 5681,
  [5685] = 5552,
  [5686] = 5646,
  [5687] = 5622,
  [5688] = 5668,
  [5689] = 822,
  [5690] = 5535,
  [5691] = 844,
  [5692] = 5692,
  [5693] = 841,
  [5694] = 5642,
  [5695] = 830,
  [5696] = 5696,
  [5697] = 5642,
  [5698] = 816,
  [5699] = 5519,
  [5700] = 831,
  [5701] = 5519,
  [5702] = 5702,
  [5703] = 5703,
  [5704] = 837,
  [5705] = 5644,
  [5706] = 829,
  [5707] = 5535,
  [5708] = 828,
  [5709] = 5519,
  [5710] = 1898,
  [5711] = 5644,
  [5712] = 826,
  [5713] = 826,
  [5714] = 817,
  [5715] = 853,
  [5716] = 5716,
  [5717] = 5668,
  [5718] = 824,
  [5719] = 5719,
  [5720] = 845,
  [5721] = 1895,
  [5722] = 804,
  [5723] = 5622,
  [5724] = 845,
  [5725] = 5519,
  [5726] = 5519,
  [5727] = 5519,
  [5728] = 5671,
  [5729] = 5522,
  [5730] = 5681,
  [5731] = 824,
  [5732] = 5510,
  [5733] = 829,
  [5734] = 831,
  [5735] = 844,
  [5736] = 833,
  [5737] = 5519,
  [5738] = 5556,
  [5739] = 5646,
  [5740] = 5740,
  [5741] = 5671,
  [5742] = 5553,
  [5743] = 5519,
  [5744] = 843,
  [5745] = 5535,
  [5746] = 5519,
  [5747] = 811,
  [5748] = 834,
  [5749] = 5740,
  [5750] = 5519,
  [5751] = 5553,
  [5752] = 809,
  [5753] = 839,
  [5754] = 817,
  [5755] = 813,
  [5756] = 815,
  [5757] = 1906,
  [5758] = 5551,
  [5759] = 5552,
  [5760] = 5760,
  [5761] = 5544,
  [5762] = 814,
  [5763] = 5544,
  [5764] = 833,
  [5765] = 815,
  [5766] = 819,
  [5767] = 819,
  [5768] = 807,
  [5769] = 804,
  [5770] = 5552,
  [5771] = 5519,
  [5772] = 5552,
  [5773] = 5515,
  [5774] = 5544,
  [5775] = 843,
  [5776] = 812,
  [5777] = 814,
  [5778] = 813,
  [5779] = 818,
  [5780] = 810,
  [5781] = 5519,
  [5782] = 5519,
  [5783] = 812,
  [5784] = 5784,
  [5785] = 5535,
  [5786] = 808,
  [5787] = 816,
  [5788] = 5522,
  [5789] = 5510,
  [5790] = 5740,
  [5791] = 820,
  [5792] = 5556,
  [5793] = 803,
  [5794] = 5519,
  [5795] = 5795,
  [5796] = 5519,
  [5797] = 825,
  [5798] = 855,
  [5799] = 831,
  [5800] = 828,
  [5801] = 5801,
  [5802] = 826,
  [5803] = 841,
  [5804] = 829,
  [5805] = 844,
  [5806] = 822,
  [5807] = 5807,
  [5808] = 5808,
  [5809] = 830,
  [5810] = 855,
  [5811] = 833,
  [5812] = 1951,
  [5813] = 827,
  [5814] = 828,
  [5815] = 824,
  [5816] = 829,
  [5817] = 831,
  [5818] = 822,
  [5819] = 844,
  [5820] = 837,
  [5821] = 853,
  [5822] = 824,
  [5823] = 853,
  [5824] = 820,
  [5825] = 833,
  [5826] = 845,
  [5827] = 842,
  [5828] = 843,
  [5829] = 845,
  [5830] = 833,
  [5831] = 826,
  [5832] = 841,
  [5833] = 1957,
  [5834] = 820,
  [5835] = 816,
  [5836] = 830,
  [5837] = 855,
  [5838] = 830,
  [5839] = 839,
  [5840] = 842,
  [5841] = 826,
  [5842] = 855,
  [5843] = 843,
  [5844] = 844,
  [5845] = 834,
  [5846] = 828,
  [5847] = 853,
  [5848] = 833,
  [5849] = 827,
  [5850] = 828,
  [5851] = 5851,
  [5852] = 826,
  [5853] = 841,
  [5854] = 853,
  [5855] = 820,
  [5856] = 819,
  [5857] = 842,
  [5858] = 839,
  [5859] = 832,
  [5860] = 812,
  [5861] = 821,
  [5862] = 853,
  [5863] = 825,
  [5864] = 834,
  [5865] = 825,
  [5866] = 843,
  [5867] = 853,
  [5868] = 1607,
  [5869] = 835,
  [5870] = 839,
  [5871] = 855,
  [5872] = 817,
  [5873] = 808,
  [5874] = 832,
  [5875] = 815,
  [5876] = 845,
  [5877] = 819,
  [5878] = 837,
  [5879] = 837,
  [5880] = 820,
  [5881] = 5881,
  [5882] = 834,
  [5883] = 814,
  [5884] = 821,
  [5885] = 841,
  [5886] = 5886,
  [5887] = 830,
  [5888] = 824,
  [5889] = 839,
  [5890] = 835,
  [5891] = 829,
  [5892] = 831,
  [5893] = 5893,
  [5894] = 5894,
  [5895] = 855,
  [5896] = 837,
  [5897] = 813,
  [5898] = 835,
  [5899] = 832,
  [5900] = 844,
  [5901] = 831,
  [5902] = 822,
  [5903] = 807,
  [5904] = 829,
  [5905] = 822,
  [5906] = 842,
  [5907] = 824,
  [5908] = 821,
  [5909] = 5909,
  [5910] = 834,
  [5911] = 811,
  [5912] = 843,
  [5913] = 827,
  [5914] = 5808,
  [5915] = 813,
  [5916] = 842,
  [5917] = 1595,
  [5918] = 837,
  [5919] = 5919,
  [5920] = 809,
  [5921] = 5921,
  [5922] = 1993,
  [5923] = 830,
  [5924] = 828,
  [5925] = 839,
  [5926] = 810,
  [5927] = 834,
  [5928] = 853,
  [5929] = 832,
  [5930] = 1603,
  [5931] = 921,
  [5932] = 1624,
  [5933] = 855,
  [5934] = 817,
  [5935] = 820,
  [5936] = 834,
  [5937] = 841,
  [5938] = 830,
  [5939] = 820,
  [5940] = 837,
  [5941] = 833,
  [5942] = 845,
  [5943] = 833,
  [5944] = 1957,
  [5945] = 837,
  [5946] = 817,
  [5947] = 803,
  [5948] = 1990,
  [5949] = 826,
  [5950] = 820,
  [5951] = 843,
  [5952] = 809,
  [5953] = 816,
  [5954] = 820,
  [5955] = 816,
  [5956] = 812,
  [5957] = 834,
  [5958] = 2014,
  [5959] = 828,
  [5960] = 813,
  [5961] = 826,
  [5962] = 815,
  [5963] = 814,
  [5964] = 812,
  [5965] = 828,
  [5966] = 827,
  [5967] = 825,
  [5968] = 834,
  [5969] = 814,
  [5970] = 827,
  [5971] = 837,
  [5972] = 819,
  [5973] = 830,
  [5974] = 841,
  [5975] = 821,
  [5976] = 835,
  [5977] = 821,
  [5978] = 835,
  [5979] = 839,
  [5980] = 855,
  [5981] = 842,
  [5982] = 845,
  [5983] = 815,
  [5984] = 825,
  [5985] = 845,
  [5986] = 841,
  [5987] = 830,
  [5988] = 844,
  [5989] = 842,
  [5990] = 810,
  [5991] = 832,
  [5992] = 832,
  [5993] = 834,
  [5994] = 833,
  [5995] = 825,
  [5996] = 845,
  [5997] = 839,
  [5998] = 853,
  [5999] = 827,
  [6000] = 831,
  [6001] = 833,
  [6002] = 826,
  [6003] = 853,
  [6004] = 818,
  [6005] = 1951,
  [6006] = 827,
  [6007] = 6007,
  [6008] = 829,
  [6009] = 828,
  [6010] = 821,
  [6011] = 845,
  [6012] = 839,
  [6013] = 819,
  [6014] = 835,
  [6015] = 822,
  [6016] = 842,
  [6017] = 826,
  [6018] = 835,
  [6019] = 832,
  [6020] = 855,
  [6021] = 824,
  [6022] = 803,
  [6023] = 825,
  [6024] = 821,
  [6025] = 841,
  [6026] = 6026,
  [6027] = 6026,
  [6028] = 845,
  [6029] = 834,
  [6030] = 837,
  [6031] = 2041,
  [6032] = 845,
  [6033] = 835,
  [6034] = 6034,
  [6035] = 827,
  [6036] = 6036,
  [6037] = 6036,
  [6038] = 2046,
  [6039] = 845,
  [6040] = 853,
  [6041] = 832,
  [6042] = 826,
  [6043] = 2036,
  [6044] = 830,
  [6045] = 6026,
  [6046] = 841,
  [6047] = 827,
  [6048] = 845,
  [6049] = 855,
  [6050] = 828,
  [6051] = 835,
  [6052] = 2035,
  [6053] = 853,
  [6054] = 825,
  [6055] = 833,
  [6056] = 845,
  [6057] = 6036,
  [6058] = 845,
  [6059] = 821,
  [6060] = 832,
  [6061] = 2014,
  [6062] = 825,
  [6063] = 6026,
  [6064] = 855,
  [6065] = 845,
  [6066] = 6036,
  [6067] = 842,
  [6068] = 1990,
  [6069] = 839,
  [6070] = 821,
  [6071] = 827,
  [6072] = 6026,
  [6073] = 5696,
  [6074] = 804,
  [6075] = 821,
  [6076] = 6036,
  [6077] = 835,
  [6078] = 811,
  [6079] = 2084,
  [6080] = 6036,
  [6081] = 808,
  [6082] = 6036,
  [6083] = 2977,
  [6084] = 1993,
  [6085] = 5518,
  [6086] = 2045,
  [6087] = 6026,
  [6088] = 2054,
  [6089] = 2021,
  [6090] = 832,
  [6091] = 807,
  [6092] = 6026,
  [6093] = 825,
  [6094] = 853,
  [6095] = 2072,
  [6096] = 6036,
  [6097] = 855,
  [6098] = 853,
  [6099] = 2076,
  [6100] = 2079,
  [6101] = 820,
  [6102] = 6102,
  [6103] = 2044,
  [6104] = 6036,
  [6105] = 855,
  [6106] = 827,
  [6107] = 2085,
  [6108] = 6026,
  [6109] = 821,
  [6110] = 835,
  [6111] = 2043,
  [6112] = 2039,
  [6113] = 6026,
  [6114] = 6114,
  [6115] = 825,
  [6116] = 6036,
  [6117] = 2073,
  [6118] = 832,
  [6119] = 6119,
  [6120] = 6026,
  [6121] = 2039,
  [6122] = 6122,
  [6123] = 2100,
  [6124] = 2100,
  [6125] = 6125,
  [6126] = 6126,
  [6127] = 6127,
  [6128] = 6122,
  [6129] = 6122,
  [6130] = 2085,
  [6131] = 6122,
  [6132] = 6122,
  [6133] = 6122,
  [6134] = 6134,
  [6135] = 6126,
  [6136] = 6122,
  [6137] = 6122,
  [6138] = 6125,
  [6139] = 2079,
  [6140] = 2076,
  [6141] = 2125,
  [6142] = 6122,
  [6143] = 6125,
  [6144] = 3822,
  [6145] = 6122,
  [6146] = 6122,
  [6147] = 6122,
  [6148] = 843,
  [6149] = 6149,
  [6150] = 6126,
  [6151] = 822,
  [6152] = 6126,
  [6153] = 2073,
  [6154] = 6122,
  [6155] = 6122,
  [6156] = 2041,
  [6157] = 6122,
  [6158] = 6122,
  [6159] = 6125,
  [6160] = 2127,
  [6161] = 844,
  [6162] = 2021,
  [6163] = 831,
  [6164] = 6122,
  [6165] = 3821,
  [6166] = 6125,
  [6167] = 3824,
  [6168] = 829,
  [6169] = 6122,
  [6170] = 2054,
  [6171] = 824,
  [6172] = 2126,
  [6173] = 6125,
  [6174] = 6126,
  [6175] = 6126,
  [6176] = 6122,
  [6177] = 853,
  [6178] = 3820,
  [6179] = 2101,
  [6180] = 6126,
  [6181] = 6125,
  [6182] = 6125,
  [6183] = 2043,
  [6184] = 2045,
  [6185] = 6126,
  [6186] = 2035,
  [6187] = 2660,
  [6188] = 6122,
  [6189] = 2036,
  [6190] = 6122,
  [6191] = 2084,
  [6192] = 827,
  [6193] = 2044,
  [6194] = 2143,
  [6195] = 6122,
  [6196] = 855,
  [6197] = 821,
  [6198] = 835,
  [6199] = 845,
  [6200] = 6126,
  [6201] = 6122,
  [6202] = 6126,
  [6203] = 6122,
  [6204] = 832,
  [6205] = 2097,
  [6206] = 845,
  [6207] = 825,
  [6208] = 2076,
  [6209] = 6125,
  [6210] = 6122,
  [6211] = 2079,
  [6212] = 6122,
  [6213] = 2072,
  [6214] = 2150,
  [6215] = 6122,
  [6216] = 6125,
  [6217] = 6122,
  [6218] = 6122,
  [6219] = 6122,
  [6220] = 6122,
  [6221] = 6122,
  [6222] = 2046,
  [6223] = 6122,
  [6224] = 2110,
  [6225] = 2123,
  [6226] = 2175,
  [6227] = 853,
  [6228] = 3831,
  [6229] = 2204,
  [6230] = 3857,
  [6231] = 2197,
  [6232] = 853,
  [6233] = 2143,
  [6234] = 6234,
  [6235] = 2199,
  [6236] = 2194,
  [6237] = 2191,
  [6238] = 6238,
  [6239] = 2110,
  [6240] = 2097,
  [6241] = 834,
  [6242] = 2199,
  [6243] = 826,
  [6244] = 837,
  [6245] = 2150,
  [6246] = 2203,
  [6247] = 6238,
  [6248] = 6238,
  [6249] = 2175,
  [6250] = 6250,
  [6251] = 6238,
  [6252] = 2123,
  [6253] = 830,
  [6254] = 841,
  [6255] = 839,
  [6256] = 6238,
  [6257] = 2127,
  [6258] = 2126,
  [6259] = 2125,
  [6260] = 820,
  [6261] = 6238,
  [6262] = 2197,
  [6263] = 2100,
  [6264] = 2204,
  [6265] = 855,
  [6266] = 842,
  [6267] = 1951,
  [6268] = 855,
  [6269] = 833,
  [6270] = 6238,
  [6271] = 6271,
  [6272] = 2203,
  [6273] = 2101,
  [6274] = 828,
  [6275] = 6238,
  [6276] = 2194,
  [6277] = 6238,
  [6278] = 2191,
  [6279] = 6238,
  [6280] = 6280,
  [6281] = 845,
  [6282] = 6280,
  [6283] = 2251,
  [6284] = 2269,
  [6285] = 2270,
  [6286] = 2231,
  [6287] = 2255,
  [6288] = 2236,
  [6289] = 2230,
  [6290] = 2271,
  [6291] = 2290,
  [6292] = 6292,
  [6293] = 2278,
  [6294] = 2238,
  [6295] = 2296,
  [6296] = 1951,
  [6297] = 827,
  [6298] = 2263,
  [6299] = 6299,
  [6300] = 821,
  [6301] = 6301,
  [6302] = 2310,
  [6303] = 835,
  [6304] = 3868,
  [6305] = 3869,
  [6306] = 6306,
  [6307] = 6307,
  [6308] = 2243,
  [6309] = 6309,
  [6310] = 1993,
  [6311] = 6311,
  [6312] = 2203,
  [6313] = 2181,
  [6314] = 6314,
  [6315] = 6315,
  [6316] = 1990,
  [6317] = 2204,
  [6318] = 845,
  [6319] = 6319,
  [6320] = 6315,
  [6321] = 2272,
  [6322] = 832,
  [6323] = 2175,
  [6324] = 2221,
  [6325] = 2014,
  [6326] = 2194,
  [6327] = 6327,
  [6328] = 2248,
  [6329] = 2191,
  [6330] = 2287,
  [6331] = 825,
  [6332] = 6306,
  [6333] = 6333,
  [6334] = 6309,
  [6335] = 6315,
  [6336] = 2197,
  [6337] = 2259,
  [6338] = 1951,
  [6339] = 2216,
  [6340] = 2220,
  [6341] = 6280,
  [6342] = 3864,
  [6343] = 6343,
  [6344] = 6306,
  [6345] = 3867,
  [6346] = 3865,
  [6347] = 6347,
  [6348] = 2250,
  [6349] = 6349,
  [6350] = 6350,
  [6351] = 2212,
  [6352] = 2317,
  [6353] = 2222,
  [6354] = 845,
  [6355] = 2199,
  [6356] = 6356,
  [6357] = 6357,
  [6358] = 2271,
  [6359] = 1990,
  [6360] = 6360,
  [6361] = 845,
  [6362] = 6362,
  [6363] = 2317,
  [6364] = 2181,
  [6365] = 1990,
  [6366] = 2290,
  [6367] = 2014,
  [6368] = 6357,
  [6369] = 2310,
  [6370] = 2212,
  [6371] = 6371,
  [6372] = 3820,
  [6373] = 2301,
  [6374] = 6374,
  [6375] = 6375,
  [6376] = 6362,
  [6377] = 2014,
  [6378] = 2388,
  [6379] = 6371,
  [6380] = 6362,
  [6381] = 3820,
  [6382] = 6357,
  [6383] = 2272,
  [6384] = 2270,
  [6385] = 2269,
  [6386] = 6360,
  [6387] = 6362,
  [6388] = 6362,
  [6389] = 2251,
  [6390] = 6362,
  [6391] = 6360,
  [6392] = 6360,
  [6393] = 3824,
  [6394] = 2248,
  [6395] = 1993,
  [6396] = 6362,
  [6397] = 6357,
  [6398] = 6371,
  [6399] = 1509,
  [6400] = 3824,
  [6401] = 6362,
  [6402] = 3822,
  [6403] = 6362,
  [6404] = 3821,
  [6405] = 2238,
  [6406] = 6357,
  [6407] = 2076,
  [6408] = 2079,
  [6409] = 6371,
  [6410] = 6410,
  [6411] = 2079,
  [6412] = 2076,
  [6413] = 2236,
  [6414] = 6362,
  [6415] = 2231,
  [6416] = 6416,
  [6417] = 6362,
  [6418] = 6362,
  [6419] = 1993,
  [6420] = 6371,
  [6421] = 6362,
  [6422] = 6371,
  [6423] = 2100,
  [6424] = 6416,
  [6425] = 2263,
  [6426] = 2344,
  [6427] = 2243,
  [6428] = 6357,
  [6429] = 845,
  [6430] = 3821,
  [6431] = 6357,
  [6432] = 2181,
  [6433] = 6371,
  [6434] = 6434,
  [6435] = 2100,
  [6436] = 6357,
  [6437] = 6437,
  [6438] = 2355,
  [6439] = 6362,
  [6440] = 6357,
  [6441] = 2259,
  [6442] = 6371,
  [6443] = 6443,
  [6444] = 6362,
  [6445] = 6410,
  [6446] = 6362,
  [6447] = 6447,
  [6448] = 6448,
  [6449] = 6362,
  [6450] = 6416,
  [6451] = 6360,
  [6452] = 6362,
  [6453] = 6453,
  [6454] = 6362,
  [6455] = 6360,
  [6456] = 6375,
  [6457] = 2296,
  [6458] = 2378,
  [6459] = 6362,
  [6460] = 6360,
  [6461] = 6443,
  [6462] = 6443,
  [6463] = 6463,
  [6464] = 6362,
  [6465] = 6357,
  [6466] = 2278,
  [6467] = 6362,
  [6468] = 6149,
  [6469] = 6134,
  [6470] = 2255,
  [6471] = 6375,
  [6472] = 3822,
  [6473] = 6410,
  [6474] = 2380,
  [6475] = 6362,
  [6476] = 6476,
  [6477] = 6362,
  [6478] = 2076,
  [6479] = 6362,
  [6480] = 2230,
  [6481] = 6360,
  [6482] = 2287,
  [6483] = 6362,
  [6484] = 2250,
  [6485] = 2079,
  [6486] = 6362,
  [6487] = 845,
  [6488] = 2222,
  [6489] = 2377,
  [6490] = 6362,
  [6491] = 2220,
  [6492] = 6362,
  [6493] = 2216,
  [6494] = 6360,
  [6495] = 4093,
  [6496] = 6360,
  [6497] = 2221,
  [6498] = 6362,
  [6499] = 6371,
  [6500] = 6362,
  [6501] = 6501,
  [6502] = 6502,
  [6503] = 6362,
  [6504] = 6504,
  [6505] = 6371,
  [6506] = 6362,
  [6507] = 6362,
  [6508] = 880,
  [6509] = 6509,
  [6510] = 2528,
  [6511] = 4295,
  [6512] = 2301,
  [6513] = 2344,
  [6514] = 2434,
  [6515] = 2438,
  [6516] = 6516,
  [6517] = 2079,
  [6518] = 2449,
  [6519] = 2450,
  [6520] = 2076,
  [6521] = 6521,
  [6522] = 2123,
  [6523] = 2447,
  [6524] = 2076,
  [6525] = 2513,
  [6526] = 2079,
  [6527] = 2125,
  [6528] = 2425,
  [6529] = 6529,
  [6530] = 2511,
  [6531] = 2452,
  [6532] = 6532,
  [6533] = 6533,
  [6534] = 2355,
  [6535] = 2509,
  [6536] = 2377,
  [6537] = 2418,
  [6538] = 2484,
  [6539] = 6539,
  [6540] = 2474,
  [6541] = 2439,
  [6542] = 2433,
  [6543] = 2378,
  [6544] = 2576,
  [6545] = 2470,
  [6546] = 2378,
  [6547] = 2508,
  [6548] = 845,
  [6549] = 2469,
  [6550] = 2101,
  [6551] = 2199,
  [6552] = 2468,
  [6553] = 2175,
  [6554] = 6554,
  [6555] = 2423,
  [6556] = 2204,
  [6557] = 2424,
  [6558] = 6558,
  [6559] = 2527,
  [6560] = 2494,
  [6561] = 2197,
  [6562] = 2126,
  [6563] = 6516,
  [6564] = 2532,
  [6565] = 2420,
  [6566] = 6566,
  [6567] = 2497,
  [6568] = 6521,
  [6569] = 6521,
  [6570] = 845,
  [6571] = 2523,
  [6572] = 2498,
  [6573] = 2127,
  [6574] = 6574,
  [6575] = 2191,
  [6576] = 2197,
  [6577] = 4467,
  [6578] = 2419,
  [6579] = 2456,
  [6580] = 6509,
  [6581] = 3857,
  [6582] = 2458,
  [6583] = 2489,
  [6584] = 6566,
  [6585] = 2380,
  [6586] = 6521,
  [6587] = 2431,
  [6588] = 2524,
  [6589] = 2455,
  [6590] = 2499,
  [6591] = 2191,
  [6592] = 2432,
  [6593] = 6539,
  [6594] = 2194,
  [6595] = 2181,
  [6596] = 2194,
  [6597] = 3831,
  [6598] = 2143,
  [6599] = 845,
  [6600] = 2301,
  [6601] = 2480,
  [6602] = 2181,
  [6603] = 2150,
  [6604] = 2479,
  [6605] = 2204,
  [6606] = 6606,
  [6607] = 2443,
  [6608] = 6566,
  [6609] = 2501,
  [6610] = 2481,
  [6611] = 2426,
  [6612] = 2483,
  [6613] = 2203,
  [6614] = 4395,
  [6615] = 2380,
  [6616] = 2506,
  [6617] = 2485,
  [6618] = 3831,
  [6619] = 2388,
  [6620] = 2199,
  [6621] = 6539,
  [6622] = 4419,
  [6623] = 2181,
  [6624] = 6516,
  [6625] = 2457,
  [6626] = 871,
  [6627] = 2110,
  [6628] = 2459,
  [6629] = 2175,
  [6630] = 2097,
  [6631] = 2355,
  [6632] = 4393,
  [6633] = 2529,
  [6634] = 3857,
  [6635] = 6635,
  [6636] = 6539,
  [6637] = 2203,
  [6638] = 2530,
  [6639] = 6639,
  [6640] = 2461,
  [6641] = 6509,
  [6642] = 6566,
  [6643] = 2465,
  [6644] = 6644,
  [6645] = 6645,
  [6646] = 2468,
  [6647] = 6647,
  [6648] = 3868,
  [6649] = 2353,
  [6650] = 6650,
  [6651] = 6651,
  [6652] = 4483,
  [6653] = 3865,
  [6654] = 4486,
  [6655] = 4487,
  [6656] = 3869,
  [6657] = 2353,
  [6658] = 2529,
  [6659] = 3867,
  [6660] = 6660,
  [6661] = 2489,
  [6662] = 4488,
  [6663] = 3857,
  [6664] = 2380,
  [6665] = 3864,
  [6666] = 4482,
  [6667] = 2390,
  [6668] = 2576,
  [6669] = 2181,
  [6670] = 6670,
  [6671] = 6671,
  [6672] = 6672,
  [6673] = 2728,
  [6674] = 6674,
  [6675] = 2458,
  [6676] = 6676,
  [6677] = 2301,
  [6678] = 2456,
  [6679] = 919,
  [6680] = 2455,
  [6681] = 2455,
  [6682] = 6682,
  [6683] = 2199,
  [6684] = 6684,
  [6685] = 2424,
  [6686] = 2499,
  [6687] = 2485,
  [6688] = 2110,
  [6689] = 2175,
  [6690] = 2484,
  [6691] = 2494,
  [6692] = 2356,
  [6693] = 2497,
  [6694] = 2199,
  [6695] = 2123,
  [6696] = 2301,
  [6697] = 2424,
  [6698] = 2498,
  [6699] = 2175,
  [6700] = 2483,
  [6701] = 6701,
  [6702] = 3865,
  [6703] = 6703,
  [6704] = 2458,
  [6705] = 2481,
  [6706] = 2501,
  [6707] = 2353,
  [6708] = 2143,
  [6709] = 2456,
  [6710] = 2480,
  [6711] = 2355,
  [6712] = 2479,
  [6713] = 4484,
  [6714] = 4485,
  [6715] = 6715,
  [6716] = 2530,
  [6717] = 2506,
  [6718] = 6715,
  [6719] = 6719,
  [6720] = 3867,
  [6721] = 3864,
  [6722] = 2101,
  [6723] = 6723,
  [6724] = 2101,
  [6725] = 2474,
  [6726] = 6701,
  [6727] = 2469,
  [6728] = 6728,
  [6729] = 2123,
  [6730] = 2181,
  [6731] = 2390,
  [6732] = 2692,
  [6733] = 2097,
  [6734] = 2423,
  [6735] = 6735,
  [6736] = 2425,
  [6737] = 2470,
  [6738] = 6738,
  [6739] = 810,
  [6740] = 6740,
  [6741] = 2465,
  [6742] = 2356,
  [6743] = 6743,
  [6744] = 2528,
  [6745] = 6745,
  [6746] = 2461,
  [6747] = 2573,
  [6748] = 2378,
  [6749] = 2508,
  [6750] = 2459,
  [6751] = 6751,
  [6752] = 2150,
  [6753] = 2420,
  [6754] = 2419,
  [6755] = 2532,
  [6756] = 2509,
  [6757] = 2181,
  [6758] = 2457,
  [6759] = 3831,
  [6760] = 2524,
  [6761] = 6761,
  [6762] = 2800,
  [6763] = 6763,
  [6764] = 2097,
  [6765] = 6765,
  [6766] = 2511,
  [6767] = 2423,
  [6768] = 2513,
  [6769] = 2527,
  [6770] = 809,
  [6771] = 2125,
  [6772] = 2301,
  [6773] = 2143,
  [6774] = 2667,
  [6775] = 2356,
  [6776] = 3857,
  [6777] = 2127,
  [6778] = 3868,
  [6779] = 2426,
  [6780] = 2654,
  [6781] = 2573,
  [6782] = 6782,
  [6783] = 2079,
  [6784] = 2127,
  [6785] = 3831,
  [6786] = 2076,
  [6787] = 2431,
  [6788] = 6647,
  [6789] = 6789,
  [6790] = 2452,
  [6791] = 2126,
  [6792] = 2432,
  [6793] = 6793,
  [6794] = 6794,
  [6795] = 2126,
  [6796] = 2433,
  [6797] = 2434,
  [6798] = 2529,
  [6799] = 6799,
  [6800] = 2450,
  [6801] = 2660,
  [6802] = 3869,
  [6803] = 2418,
  [6804] = 2838,
  [6805] = 2150,
  [6806] = 2438,
  [6807] = 2175,
  [6808] = 2785,
  [6809] = 2439,
  [6810] = 6810,
  [6811] = 2110,
  [6812] = 845,
  [6813] = 2125,
  [6814] = 2199,
  [6815] = 2443,
  [6816] = 2447,
  [6817] = 2449,
  [6818] = 845,
  [6819] = 2523,
  [6820] = 2660,
  [6821] = 6821,
  [6822] = 4509,
  [6823] = 4521,
  [6824] = 871,
  [6825] = 6825,
  [6826] = 6826,
  [6827] = 6827,
  [6828] = 6828,
  [6829] = 6829,
  [6830] = 6830,
  [6831] = 820,
  [6832] = 6832,
  [6833] = 6828,
  [6834] = 6828,
  [6835] = 4491,
  [6836] = 6836,
  [6837] = 6828,
  [6838] = 6828,
  [6839] = 6839,
  [6840] = 6828,
  [6841] = 738,
  [6842] = 6828,
  [6843] = 6826,
  [6844] = 6826,
  [6845] = 6828,
  [6846] = 6825,
  [6847] = 6821,
  [6848] = 6848,
  [6849] = 6849,
  [6850] = 6836,
  [6851] = 6851,
  [6852] = 6825,
  [6853] = 6826,
  [6854] = 6825,
  [6855] = 6826,
  [6856] = 6821,
  [6857] = 6832,
  [6858] = 6828,
  [6859] = 6836,
  [6860] = 6860,
  [6861] = 6861,
  [6862] = 6862,
  [6863] = 6863,
  [6864] = 6864,
  [6865] = 6825,
  [6866] = 6826,
  [6867] = 6867,
  [6868] = 6825,
  [6869] = 4093,
  [6870] = 6827,
  [6871] = 6871,
  [6872] = 6827,
  [6873] = 2888,
  [6874] = 2887,
  [6875] = 6828,
  [6876] = 2886,
  [6877] = 6670,
  [6878] = 6878,
  [6879] = 6660,
  [6880] = 2885,
  [6881] = 2884,
  [6882] = 6882,
  [6883] = 6883,
  [6884] = 6884,
  [6885] = 4505,
  [6886] = 737,
  [6887] = 6887,
  [6888] = 4529,
  [6889] = 6825,
  [6890] = 2654,
  [6891] = 6836,
  [6892] = 6892,
  [6893] = 6836,
  [6894] = 6829,
  [6895] = 871,
  [6896] = 6821,
  [6897] = 6897,
  [6898] = 4492,
  [6899] = 2728,
  [6900] = 6821,
  [6901] = 858,
  [6902] = 6821,
  [6903] = 6821,
  [6904] = 2100,
  [6905] = 6905,
  [6906] = 4093,
  [6907] = 737,
  [6908] = 6821,
  [6909] = 2883,
  [6910] = 2882,
  [6911] = 2301,
  [6912] = 6912,
  [6913] = 6851,
  [6914] = 6821,
  [6915] = 880,
  [6916] = 6916,
  [6917] = 6447,
  [6918] = 6905,
  [6919] = 6821,
  [6920] = 6920,
  [6921] = 2660,
  [6922] = 6821,
  [6923] = 6923,
  [6924] = 6920,
  [6925] = 6925,
  [6926] = 6821,
  [6927] = 3821,
  [6928] = 6882,
  [6929] = 880,
  [6930] = 2301,
  [6931] = 6923,
  [6932] = 6821,
  [6933] = 3822,
  [6934] = 3824,
  [6935] = 2423,
  [6936] = 6825,
  [6937] = 2424,
  [6938] = 4511,
  [6939] = 6826,
  [6940] = 2667,
  [6941] = 6821,
  [6942] = 6821,
  [6943] = 2692,
  [6944] = 6830,
  [6945] = 6836,
  [6946] = 6946,
  [6947] = 2455,
  [6948] = 6821,
  [6949] = 6826,
  [6950] = 3013,
  [6951] = 863,
  [6952] = 2456,
  [6953] = 6953,
  [6954] = 738,
  [6955] = 6825,
  [6956] = 3016,
  [6957] = 6863,
  [6958] = 869,
  [6959] = 6862,
  [6960] = 3018,
  [6961] = 3019,
  [6962] = 2458,
  [6963] = 6963,
  [6964] = 4523,
  [6965] = 6826,
  [6966] = 6821,
  [6967] = 6821,
  [6968] = 6968,
  [6969] = 6821,
  [6970] = 2965,
  [6971] = 6836,
  [6972] = 6972,
  [6973] = 6830,
  [6974] = 6905,
  [6975] = 6821,
  [6976] = 6905,
  [6977] = 6434,
  [6978] = 6851,
  [6979] = 6821,
  [6980] = 6821,
  [6981] = 6502,
  [6982] = 6821,
  [6983] = 6821,
  [6984] = 4489,
  [6985] = 6821,
  [6986] = 6821,
  [6987] = 6987,
  [6988] = 6504,
  [6989] = 6821,
  [6990] = 6836,
  [6991] = 6905,
  [6992] = 2181,
  [6993] = 6851,
  [6994] = 6923,
  [6995] = 6821,
  [6996] = 6925,
  [6997] = 2529,
  [6998] = 2914,
  [6999] = 6920,
  [7000] = 6821,
  [7001] = 7001,
  [7002] = 4514,
  [7003] = 2912,
  [7004] = 6916,
  [7005] = 6821,
  [7006] = 7006,
  [7007] = 876,
  [7008] = 6821,
  [7009] = 6821,
  [7010] = 6821,
  [7011] = 6830,
  [7012] = 6821,
  [7013] = 3821,
  [7014] = 6920,
  [7015] = 6821,
  [7016] = 3822,
  [7017] = 6836,
  [7018] = 7018,
  [7019] = 3824,
  [7020] = 6821,
  [7021] = 4495,
  [7022] = 7022,
  [7023] = 6825,
  [7024] = 6821,
  [7025] = 4496,
  [7026] = 2836,
  [7027] = 2838,
  [7028] = 6851,
  [7029] = 6836,
  [7030] = 6851,
  [7031] = 2909,
  [7032] = 2905,
  [7033] = 2836,
  [7034] = 2904,
  [7035] = 6923,
  [7036] = 6905,
  [7037] = 6851,
  [7038] = 7038,
  [7039] = 2785,
  [7040] = 6925,
  [7041] = 2903,
  [7042] = 6826,
  [7043] = 2901,
  [7044] = 2895,
  [7045] = 6905,
  [7046] = 2301,
  [7047] = 6826,
  [7048] = 2894,
  [7049] = 2893,
  [7050] = 2800,
  [7051] = 6799,
  [7052] = 6821,
  [7053] = 6839,
  [7054] = 6827,
  [7055] = 6905,
  [7056] = 6839,
  [7057] = 4530,
  [7058] = 7058,
  [7059] = 6829,
  [7060] = 6916,
  [7061] = 6851,
  [7062] = 7062,
  [7063] = 6825,
  [7064] = 4498,
  [7065] = 6821,
  [7066] = 2888,
  [7067] = 7067,
  [7068] = 7068,
  [7069] = 7069,
  [7070] = 2914,
  [7071] = 3447,
  [7072] = 3445,
  [7073] = 3443,
  [7074] = 7074,
  [7075] = 3442,
  [7076] = 7076,
  [7077] = 7077,
  [7078] = 7078,
  [7079] = 7079,
  [7080] = 3452,
  [7081] = 3281,
  [7082] = 7079,
  [7083] = 2893,
  [7084] = 2894,
  [7085] = 2895,
  [7086] = 2901,
  [7087] = 7087,
  [7088] = 7088,
  [7089] = 2903,
  [7090] = 3215,
  [7091] = 2904,
  [7092] = 3299,
  [7093] = 3453,
  [7094] = 2882,
  [7095] = 2905,
  [7096] = 7096,
  [7097] = 2909,
  [7098] = 7098,
  [7099] = 3170,
  [7100] = 2912,
  [7101] = 7101,
  [7102] = 7102,
  [7103] = 7103,
  [7104] = 4537,
  [7105] = 4558,
  [7106] = 7106,
  [7107] = 3460,
  [7108] = 2378,
  [7109] = 7109,
  [7110] = 4540,
  [7111] = 7111,
  [7112] = 2746,
  [7113] = 4541,
  [7114] = 3344,
  [7115] = 7115,
  [7116] = 7116,
  [7117] = 7069,
  [7118] = 7118,
  [7119] = 7119,
  [7120] = 4544,
  [7121] = 3551,
  [7122] = 4545,
  [7123] = 4546,
  [7124] = 3210,
  [7125] = 3207,
  [7126] = 7126,
  [7127] = 7127,
  [7128] = 7128,
  [7129] = 7102,
  [7130] = 3082,
  [7131] = 3218,
  [7132] = 7132,
  [7133] = 7133,
  [7134] = 7134,
  [7135] = 3323,
  [7136] = 7136,
  [7137] = 3204,
  [7138] = 3202,
  [7139] = 7139,
  [7140] = 3198,
  [7141] = 7141,
  [7142] = 7142,
  [7143] = 3420,
  [7144] = 3197,
  [7145] = 7132,
  [7146] = 3196,
  [7147] = 7132,
  [7148] = 7148,
  [7149] = 7149,
  [7150] = 2883,
  [7151] = 7132,
  [7152] = 3195,
  [7153] = 7153,
  [7154] = 3194,
  [7155] = 3223,
  [7156] = 7156,
  [7157] = 3229,
  [7158] = 2884,
  [7159] = 2175,
  [7160] = 2199,
  [7161] = 2885,
  [7162] = 7162,
  [7163] = 3231,
  [7164] = 3550,
  [7165] = 7134,
  [7166] = 3259,
  [7167] = 4560,
  [7168] = 7168,
  [7169] = 7169,
  [7170] = 3269,
  [7171] = 7171,
  [7172] = 910,
  [7173] = 7098,
  [7174] = 2886,
  [7175] = 7175,
  [7176] = 2746,
  [7177] = 7128,
  [7178] = 947,
  [7179] = 7098,
  [7180] = 2887,
  [7181] = 7181,
  [7182] = 2301,
  [7183] = 7183,
  [7184] = 7184,
  [7185] = 946,
  [7186] = 871,
  [7187] = 3181,
  [7188] = 845,
  [7189] = 7189,
  [7190] = 7190,
  [7191] = 4566,
  [7192] = 4569,
  [7193] = 3357,
  [7194] = 942,
  [7195] = 2377,
  [7196] = 3356,
  [7197] = 7098,
  [7198] = 7198,
  [7199] = 4393,
  [7200] = 3355,
  [7201] = 4565,
  [7202] = 7202,
  [7203] = 3449,
  [7204] = 7132,
  [7205] = 3353,
  [7206] = 4559,
  [7207] = 3352,
  [7208] = 3349,
  [7209] = 7074,
  [7210] = 3338,
  [7211] = 3312,
  [7212] = 3472,
  [7213] = 7103,
  [7214] = 3013,
  [7215] = 3339,
  [7216] = 3016,
  [7217] = 7217,
  [7218] = 3018,
  [7219] = 3019,
  [7220] = 3165,
  [7221] = 909,
  [7222] = 3205,
  [7223] = 955,
  [7224] = 3542,
  [7225] = 3162,
  [7226] = 3479,
  [7227] = 7101,
  [7228] = 7069,
  [7229] = 7229,
  [7230] = 7230,
  [7231] = 3158,
  [7232] = 7232,
  [7233] = 7233,
  [7234] = 3157,
  [7235] = 7132,
  [7236] = 3332,
  [7237] = 7237,
  [7238] = 3153,
  [7239] = 7239,
  [7240] = 7098,
  [7241] = 7241,
  [7242] = 3152,
  [7243] = 3464,
  [7244] = 3537,
  [7245] = 845,
  [7246] = 845,
  [7247] = 7247,
  [7248] = 7248,
  [7249] = 3535,
  [7250] = 3534,
  [7251] = 7251,
  [7252] = 969,
  [7253] = 7253,
  [7254] = 7254,
  [7255] = 7087,
  [7256] = 7256,
  [7257] = 2965,
  [7258] = 880,
  [7259] = 2355,
  [7260] = 7232,
  [7261] = 4419,
  [7262] = 845,
  [7263] = 3285,
  [7264] = 3518,
  [7265] = 7098,
  [7266] = 2203,
  [7267] = 7267,
  [7268] = 7232,
  [7269] = 7139,
  [7270] = 7267,
  [7271] = 3148,
  [7272] = 7272,
  [7273] = 7139,
  [7274] = 3143,
  [7275] = 3136,
  [7276] = 7098,
  [7277] = 7229,
  [7278] = 7132,
  [7279] = 7098,
  [7280] = 7132,
  [7281] = 7118,
  [7282] = 7132,
  [7283] = 7096,
  [7284] = 7284,
  [7285] = 3502,
  [7286] = 3133,
  [7287] = 7149,
  [7288] = 7139,
  [7289] = 7289,
  [7290] = 3129,
  [7291] = 7106,
  [7292] = 3302,
  [7293] = 7134,
  [7294] = 3123,
  [7295] = 4536,
  [7296] = 2204,
  [7297] = 7074,
  [7298] = 3503,
  [7299] = 7299,
  [7300] = 3306,
  [7301] = 7162,
  [7302] = 7302,
  [7303] = 2194,
  [7304] = 3361,
  [7305] = 2191,
  [7306] = 3122,
  [7307] = 3118,
  [7308] = 7251,
  [7309] = 7309,
  [7310] = 7169,
  [7311] = 7098,
  [7312] = 7153,
  [7313] = 7116,
  [7314] = 2197,
  [7315] = 3311,
  [7316] = 3117,
  [7317] = 3150,
  [7318] = 3362,
  [7319] = 4534,
  [7320] = 3313,
  [7321] = 7321,
  [7322] = 7115,
  [7323] = 3318,
  [7324] = 3321,
  [7325] = 7325,
  [7326] = 7106,
  [7327] = 2380,
  [7328] = 3482,
  [7329] = 7088,
  [7330] = 7330,
  [7331] = 3201,
  [7332] = 7332,
  [7333] = 7132,
  [7334] = 3322,
  [7335] = 4419,
  [7336] = 3089,
  [7337] = 7098,
  [7338] = 3471,
  [7339] = 3510,
  [7340] = 7088,
  [7341] = 3065,
  [7342] = 3085,
  [7343] = 7272,
  [7344] = 3084,
  [7345] = 3083,
  [7346] = 7229,
  [7347] = 3081,
  [7348] = 3114,
  [7349] = 3080,
  [7350] = 3324,
  [7351] = 3221,
  [7352] = 7103,
  [7353] = 7353,
  [7354] = 3513,
  [7355] = 3515,
  [7356] = 7102,
  [7357] = 3516,
  [7358] = 3078,
  [7359] = 7079,
  [7360] = 7101,
  [7361] = 4595,
  [7362] = 4393,
  [7363] = 7111,
  [7364] = 3523,
  [7365] = 7365,
  [7366] = 7096,
  [7367] = 7251,
  [7368] = 7368,
  [7369] = 7369,
  [7370] = 3434,
  [7371] = 7115,
  [7372] = 7372,
  [7373] = 7267,
  [7374] = 7374,
  [7375] = 845,
  [7376] = 7272,
  [7377] = 3520,
  [7378] = 7162,
  [7379] = 3073,
  [7380] = 7380,
  [7381] = 4591,
  [7382] = 4590,
  [7383] = 3071,
  [7384] = 3326,
  [7385] = 4589,
  [7386] = 845,
  [7387] = 3070,
  [7388] = 3373,
  [7389] = 3392,
  [7390] = 7181,
  [7391] = 4588,
  [7392] = 3095,
  [7393] = 3088,
  [7394] = 7079,
  [7395] = 3087,
  [7396] = 3423,
  [7397] = 7181,
  [7398] = 3067,
  [7399] = 3086,
  [7400] = 3066,
  [7401] = 3132,
  [7402] = 7132,
  [7403] = 7232,
  [7404] = 837,
  [7405] = 7372,
  [7406] = 3064,
  [7407] = 3405,
  [7408] = 3063,
  [7409] = 3076,
  [7410] = 7087,
  [7411] = 7149,
  [7412] = 2746,
  [7413] = 3075,
  [7414] = 7103,
  [7415] = 3061,
  [7416] = 7369,
  [7417] = 7162,
  [7418] = 3383,
  [7419] = 4553,
  [7420] = 3068,
  [7421] = 7102,
  [7422] = 7422,
  [7423] = 7423,
  [7424] = 7424,
  [7425] = 7096,
  [7426] = 3062,
  [7427] = 3328,
  [7428] = 3237,
  [7429] = 7429,
  [7430] = 4555,
  [7431] = 7098,
  [7432] = 4535,
  [7433] = 7184,
  [7434] = 7434,
  [7435] = 7088,
  [7436] = 7111,
  [7437] = 3069,
  [7438] = 7115,
  [7439] = 7368,
  [7440] = 7183,
  [7441] = 7441,
  [7442] = 7429,
  [7443] = 4552,
  [7444] = 3150,
  [7445] = 4584,
  [7446] = 7446,
  [7447] = 7447,
  [7448] = 7448,
  [7449] = 7449,
  [7450] = 919,
  [7451] = 6968,
  [7452] = 7452,
  [7453] = 7453,
  [7454] = 7454,
  [7455] = 7455,
  [7456] = 7456,
  [7457] = 7457,
  [7458] = 7458,
  [7459] = 7459,
  [7460] = 7460,
  [7461] = 7461,
  [7462] = 7462,
  [7463] = 7463,
  [7464] = 7464,
  [7465] = 7465,
  [7466] = 7458,
  [7467] = 7446,
  [7468] = 7461,
  [7469] = 7463,
  [7470] = 7464,
  [7471] = 7465,
  [7472] = 7472,
  [7473] = 7472,
  [7474] = 7474,
  [7475] = 7475,
  [7476] = 7476,
  [7477] = 7477,
  [7478] = 7478,
  [7479] = 3385,
  [7480] = 871,
  [7481] = 7481,
  [7482] = 7475,
  [7483] = 7476,
  [7484] = 7484,
  [7485] = 7457,
  [7486] = 7486,
  [7487] = 7487,
  [7488] = 4561,
  [7489] = 7477,
  [7490] = 7490,
  [7491] = 7491,
  [7492] = 7478,
  [7493] = 7493,
  [7494] = 880,
  [7495] = 7495,
  [7496] = 7496,
  [7497] = 7497,
  [7498] = 736,
  [7499] = 7499,
  [7500] = 7500,
  [7501] = 7501,
  [7502] = 7502,
  [7503] = 7503,
  [7504] = 7481,
  [7505] = 7505,
  [7506] = 3149,
  [7507] = 7462,
  [7508] = 7457,
  [7509] = 7499,
  [7510] = 7501,
  [7511] = 7500,
  [7512] = 7512,
  [7513] = 7513,
  [7514] = 3072,
  [7515] = 3099,
  [7516] = 7460,
  [7517] = 7517,
  [7518] = 7518,
  [7519] = 7487,
  [7520] = 3090,
  [7521] = 7521,
  [7522] = 7522,
  [7523] = 3100,
  [7524] = 3102,
  [7525] = 2181,
  [7526] = 7490,
  [7527] = 3103,
  [7528] = 7453,
  [7529] = 7455,
  [7530] = 7456,
  [7531] = 7490,
  [7532] = 3079,
  [7533] = 7533,
  [7534] = 7459,
  [7535] = 7459,
  [7536] = 7462,
  [7537] = 3098,
  [7538] = 7456,
  [7539] = 3077,
  [7540] = 7540,
  [7541] = 7458,
  [7542] = 7457,
  [7543] = 7461,
  [7544] = 7464,
  [7545] = 7455,
  [7546] = 7465,
  [7547] = 7454,
  [7548] = 7472,
  [7549] = 7475,
  [7550] = 7476,
  [7551] = 3105,
  [7552] = 7552,
  [7553] = 7453,
  [7554] = 4482,
  [7555] = 7481,
  [7556] = 7556,
  [7557] = 7500,
  [7558] = 7501,
  [7559] = 7457,
  [7560] = 7560,
  [7561] = 7561,
  [7562] = 3439,
  [7563] = 7481,
  [7564] = 7499,
  [7565] = 6671,
  [7566] = 7502,
  [7567] = 6672,
  [7568] = 7568,
  [7569] = 7478,
  [7570] = 7570,
  [7571] = 7477,
  [7572] = 7487,
  [7573] = 3074,
  [7574] = 7574,
  [7575] = 7476,
  [7576] = 7475,
  [7577] = 6684,
  [7578] = 7512,
  [7579] = 7449,
  [7580] = 7472,
  [7581] = 7453,
  [7582] = 7448,
  [7583] = 7462,
  [7584] = 7584,
  [7585] = 3466,
  [7586] = 7465,
  [7587] = 7587,
  [7588] = 3131,
  [7589] = 7461,
  [7590] = 7491,
  [7591] = 7464,
  [7592] = 7463,
  [7593] = 3135,
  [7594] = 7487,
  [7595] = 7461,
  [7596] = 7596,
  [7597] = 7597,
  [7598] = 7448,
  [7599] = 7462,
  [7600] = 7600,
  [7601] = 7601,
  [7602] = 7602,
  [7603] = 7458,
  [7604] = 3137,
  [7605] = 7487,
  [7606] = 7574,
  [7607] = 7449,
  [7608] = 7608,
  [7609] = 7491,
  [7610] = 7556,
  [7611] = 3865,
  [7612] = 7453,
  [7613] = 3867,
  [7614] = 7453,
  [7615] = 3864,
  [7616] = 7462,
  [7617] = 7454,
  [7618] = 7455,
  [7619] = 7619,
  [7620] = 7461,
  [7621] = 7456,
  [7622] = 7481,
  [7623] = 7623,
  [7624] = 7460,
  [7625] = 3149,
  [7626] = 7462,
  [7627] = 3100,
  [7628] = 7459,
  [7629] = 7460,
  [7630] = 7533,
  [7631] = 7459,
  [7632] = 7521,
  [7633] = 3160,
  [7634] = 7460,
  [7635] = 7487,
  [7636] = 3116,
  [7637] = 7637,
  [7638] = 7462,
  [7639] = 3134,
  [7640] = 3430,
  [7641] = 921,
  [7642] = 7456,
  [7643] = 7453,
  [7644] = 3160,
  [7645] = 7462,
  [7646] = 3137,
  [7647] = 6644,
  [7648] = 7455,
  [7649] = 7461,
  [7650] = 7454,
  [7651] = 7453,
  [7652] = 3135,
  [7653] = 3134,
  [7654] = 3131,
  [7655] = 7452,
  [7656] = 3105,
  [7657] = 3166,
  [7658] = 7449,
  [7659] = 7659,
  [7660] = 7533,
  [7661] = 7448,
  [7662] = 3103,
  [7663] = 7487,
  [7664] = 7487,
  [7665] = 3102,
  [7666] = 3090,
  [7667] = 3201,
  [7668] = 3208,
  [7669] = 7499,
  [7670] = 7670,
  [7671] = 7491,
  [7672] = 7453,
  [7673] = 3219,
  [7674] = 7462,
  [7675] = 3079,
  [7676] = 3221,
  [7677] = 3077,
  [7678] = 7461,
  [7679] = 3436,
  [7680] = 3074,
  [7681] = 7446,
  [7682] = 3222,
  [7683] = 7502,
  [7684] = 3237,
  [7685] = 3258,
  [7686] = 3092,
  [7687] = 7452,
  [7688] = 3093,
  [7689] = 7499,
  [7690] = 7501,
  [7691] = 7458,
  [7692] = 7500,
  [7693] = 7487,
  [7694] = 7461,
  [7695] = 7463,
  [7696] = 7464,
  [7697] = 3098,
  [7698] = 3099,
  [7699] = 7465,
  [7700] = 6554,
  [7701] = 7453,
  [7702] = 7472,
  [7703] = 7462,
  [7704] = 7487,
  [7705] = 7475,
  [7706] = 7476,
  [7707] = 7461,
  [7708] = 7490,
  [7709] = 7484,
  [7710] = 7459,
  [7711] = 7477,
  [7712] = 7561,
  [7713] = 7490,
  [7714] = 7478,
  [7715] = 6810,
  [7716] = 7493,
  [7717] = 3142,
  [7718] = 7718,
  [7719] = 7502,
  [7720] = 3275,
  [7721] = 3280,
  [7722] = 7487,
  [7723] = 7457,
  [7724] = 7502,
  [7725] = 3281,
  [7726] = 3538,
  [7727] = 7457,
  [7728] = 7728,
  [7729] = 3299,
  [7730] = 7453,
  [7731] = 7512,
  [7732] = 7462,
  [7733] = 7733,
  [7734] = 7481,
  [7735] = 7735,
  [7736] = 7461,
  [7737] = 3541,
  [7738] = 7490,
  [7739] = 7499,
  [7740] = 7740,
  [7741] = 7741,
  [7742] = 7561,
  [7743] = 7501,
  [7744] = 7478,
  [7745] = 7745,
  [7746] = 7500,
  [7747] = 7477,
  [7748] = 7476,
  [7749] = 7475,
  [7750] = 7472,
  [7751] = 7487,
  [7752] = 7458,
  [7753] = 4581,
  [7754] = 7465,
  [7755] = 7464,
  [7756] = 4578,
  [7757] = 4576,
  [7758] = 7463,
  [7759] = 7453,
  [7760] = 4575,
  [7761] = 7462,
  [7762] = 4568,
  [7763] = 7461,
  [7764] = 7458,
  [7765] = 7461,
  [7766] = 3434,
  [7767] = 7452,
  [7768] = 7768,
  [7769] = 933,
  [7770] = 7770,
  [7771] = 7446,
  [7772] = 4532,
  [7773] = 7463,
  [7774] = 7464,
  [7775] = 7775,
  [7776] = 7465,
  [7777] = 4564,
  [7778] = 3361,
  [7779] = 3362,
  [7780] = 7487,
  [7781] = 7472,
  [7782] = 4563,
  [7783] = 7718,
  [7784] = 4562,
  [7785] = 7500,
  [7786] = 7501,
  [7787] = 7462,
  [7788] = 7453,
  [7789] = 7499,
  [7790] = 7462,
  [7791] = 4093,
  [7792] = 4482,
  [7793] = 7793,
  [7794] = 7461,
  [7795] = 7460,
  [7796] = 7459,
  [7797] = 7797,
  [7798] = 7456,
  [7799] = 7502,
  [7800] = 2660,
  [7801] = 7491,
  [7802] = 6574,
  [7803] = 7455,
  [7804] = 7487,
  [7805] = 7454,
  [7806] = 7453,
  [7807] = 7556,
  [7808] = 7474,
  [7809] = 7487,
  [7810] = 3191,
  [7811] = 7448,
  [7812] = 7812,
  [7813] = 7574,
  [7814] = 7449,
  [7815] = 3089,
  [7816] = 3085,
  [7817] = 7453,
  [7818] = 7818,
  [7819] = 7462,
  [7820] = 7481,
  [7821] = 7574,
  [7822] = 3083,
  [7823] = 7461,
  [7824] = 7449,
  [7825] = 3405,
  [7826] = 7448,
  [7827] = 6793,
  [7828] = 3423,
  [7829] = 3330,
  [7830] = 7830,
  [7831] = 7831,
  [7832] = 7832,
  [7833] = 7833,
  [7834] = 7487,
  [7835] = 7487,
  [7836] = 3081,
  [7837] = 7453,
  [7838] = 3439,
  [7839] = 3466,
  [7840] = 7454,
  [7841] = 3471,
  [7842] = 7453,
  [7843] = 7491,
  [7844] = 7462,
  [7845] = 7455,
  [7846] = 3482,
  [7847] = 7847,
  [7848] = 7461,
  [7849] = 7456,
  [7850] = 7456,
  [7851] = 7455,
  [7852] = 7299,
  [7853] = 3502,
  [7854] = 3481,
  [7855] = 3080,
  [7856] = 3078,
  [7857] = 7454,
  [7858] = 3518,
  [7859] = 7859,
  [7860] = 7487,
  [7861] = 7459,
  [7862] = 3073,
  [7863] = 7863,
  [7864] = 3534,
  [7865] = 3072,
  [7866] = 3535,
  [7867] = 7453,
  [7868] = 7453,
  [7869] = 7462,
  [7870] = 3071,
  [7871] = 3070,
  [7872] = 3068,
  [7873] = 7461,
  [7874] = 3067,
  [7875] = 3537,
  [7876] = 7876,
  [7877] = 7502,
  [7878] = 3538,
  [7879] = 3066,
  [7880] = 3541,
  [7881] = 7460,
  [7882] = 3064,
  [7883] = 3542,
  [7884] = 7499,
  [7885] = 7487,
  [7886] = 7501,
  [7887] = 3063,
  [7888] = 7500,
  [7889] = 7574,
  [7890] = 7890,
  [7891] = 3220,
  [7892] = 7453,
  [7893] = 7490,
  [7894] = 7462,
  [7895] = 3061,
  [7896] = 3501,
  [7897] = 3084,
  [7898] = 7461,
  [7899] = 7457,
  [7900] = 7462,
  [7901] = 7481,
  [7902] = 3062,
  [7903] = 3069,
  [7904] = 7904,
  [7905] = 7478,
  [7906] = 7477,
  [7907] = 7907,
  [7908] = 7476,
  [7909] = 7475,
  [7910] = 7487,
  [7911] = 3575,
  [7912] = 7446,
  [7913] = 7472,
  [7914] = 7465,
  [7915] = 3075,
  [7916] = 7461,
  [7917] = 7453,
  [7918] = 7464,
  [7919] = 7462,
  [7920] = 3076,
  [7921] = 3575,
  [7922] = 3572,
  [7923] = 7461,
  [7924] = 3065,
  [7925] = 7463,
  [7926] = 961,
  [7927] = 3086,
  [7928] = 3551,
  [7929] = 3166,
  [7930] = 3550,
  [7931] = 3208,
  [7932] = 7461,
  [7933] = 3087,
  [7934] = 7487,
  [7935] = 7458,
  [7936] = 7452,
  [7937] = 7458,
  [7938] = 3460,
  [7939] = 7939,
  [7940] = 7453,
  [7941] = 7452,
  [7942] = 7462,
  [7943] = 7461,
  [7944] = 3523,
  [7945] = 3088,
  [7946] = 7461,
  [7947] = 7947,
  [7948] = 3520,
  [7949] = 7446,
  [7950] = 3095,
  [7951] = 3516,
  [7952] = 3122,
  [7953] = 3572,
  [7954] = 7463,
  [7955] = 7464,
  [7956] = 3515,
  [7957] = 7487,
  [7958] = 3219,
  [7959] = 7465,
  [7960] = 3513,
  [7961] = 7462,
  [7962] = 3114,
  [7963] = 7453,
  [7964] = 7556,
  [7965] = 7462,
  [7966] = 3116,
  [7967] = 3510,
  [7968] = 3222,
  [7969] = 7461,
  [7970] = 7970,
  [7971] = 3503,
  [7972] = 7460,
  [7973] = 3501,
  [7974] = 3481,
  [7975] = 7975,
  [7976] = 3479,
  [7977] = 3117,
  [7978] = 3472,
  [7979] = 7459,
  [7980] = 7487,
  [7981] = 7472,
  [7982] = 3118,
  [7983] = 7456,
  [7984] = 7189,
  [7985] = 3464,
  [7986] = 7453,
  [7987] = 7455,
  [7988] = 7462,
  [7989] = 7989,
  [7990] = 7454,
  [7991] = 7453,
  [7992] = 7461,
  [7993] = 7556,
  [7994] = 3344,
  [7995] = 7500,
  [7996] = 3123,
  [7997] = 7475,
  [7998] = 7476,
  [7999] = 3453,
  [8000] = 3280,
  [8001] = 7475,
  [8002] = 3452,
  [8003] = 7487,
  [8004] = 3258,
  [8005] = 3129,
  [8006] = 3449,
  [8007] = 7449,
  [8008] = 7476,
  [8009] = 7453,
  [8010] = 3132,
  [8011] = 7462,
  [8012] = 8012,
  [8013] = 3447,
  [8014] = 7448,
  [8015] = 7461,
  [8016] = 3133,
  [8017] = 7477,
  [8018] = 7478,
  [8019] = 3445,
  [8020] = 3443,
  [8021] = 8021,
  [8022] = 7487,
  [8023] = 3442,
  [8024] = 7493,
  [8025] = 3436,
  [8026] = 7487,
  [8027] = 7491,
  [8028] = 7556,
  [8029] = 3430,
  [8030] = 3092,
  [8031] = 3420,
  [8032] = 7453,
  [8033] = 3136,
  [8034] = 7462,
  [8035] = 8035,
  [8036] = 7491,
  [8037] = 3093,
  [8038] = 7461,
  [8039] = 3143,
  [8040] = 7481,
  [8041] = 3148,
  [8042] = 8042,
  [8043] = 7457,
  [8044] = 7487,
  [8045] = 3142,
  [8046] = 3275,
  [8047] = 7512,
  [8048] = 7502,
  [8049] = 7487,
  [8050] = 8050,
  [8051] = 8051,
  [8052] = 3353,
  [8053] = 3152,
  [8054] = 3153,
  [8055] = 7453,
  [8056] = 7499,
  [8057] = 7462,
  [8058] = 3157,
  [8059] = 7501,
  [8060] = 7465,
  [8061] = 7461,
  [8062] = 8050,
  [8063] = 7490,
  [8064] = 3865,
  [8065] = 7484,
  [8066] = 3392,
  [8067] = 3158,
  [8068] = 8068,
  [8069] = 7457,
  [8070] = 7486,
  [8071] = 3385,
  [8072] = 7487,
  [8073] = 7477,
  [8074] = 3162,
  [8075] = 7478,
  [8076] = 3383,
  [8077] = 934,
  [8078] = 7453,
  [8079] = 8079,
  [8080] = 7462,
  [8081] = 3165,
  [8082] = 7481,
  [8083] = 7217,
  [8084] = 7461,
  [8085] = 3867,
  [8086] = 3170,
  [8087] = 3864,
  [8088] = 3181,
  [8089] = 3191,
  [8090] = 3194,
  [8091] = 3195,
  [8092] = 7830,
  [8093] = 845,
  [8094] = 3373,
  [8095] = 7487,
  [8096] = 8096,
  [8097] = 7490,
  [8098] = 7797,
  [8099] = 7478,
  [8100] = 3196,
  [8101] = 7453,
  [8102] = 3197,
  [8103] = 7462,
  [8104] = 3198,
  [8105] = 8105,
  [8106] = 7477,
  [8107] = 7461,
  [8108] = 6738,
  [8109] = 3357,
  [8110] = 4567,
  [8111] = 3202,
  [8112] = 7476,
  [8113] = 3204,
  [8114] = 3356,
  [8115] = 7475,
  [8116] = 3355,
  [8117] = 6789,
  [8118] = 7487,
  [8119] = 7500,
  [8120] = 3082,
  [8121] = 7472,
  [8122] = 7501,
  [8123] = 7491,
  [8124] = 7453,
  [8125] = 7464,
  [8126] = 7462,
  [8127] = 7499,
  [8128] = 3352,
  [8129] = 3207,
  [8130] = 7461,
  [8131] = 7463,
  [8132] = 3210,
  [8133] = 7574,
  [8134] = 3349,
  [8135] = 7461,
  [8136] = 7461,
  [8137] = 7493,
  [8138] = 7448,
  [8139] = 3338,
  [8140] = 7458,
  [8141] = 7487,
  [8142] = 7452,
  [8143] = 7453,
  [8144] = 3339,
  [8145] = 3205,
  [8146] = 6735,
  [8147] = 7453,
  [8148] = 7461,
  [8149] = 7462,
  [8150] = 7453,
  [8151] = 3332,
  [8152] = 7446,
  [8153] = 7461,
  [8154] = 8154,
  [8155] = 3330,
  [8156] = 3328,
  [8157] = 3326,
  [8158] = 8158,
  [8159] = 7461,
  [8160] = 7365,
  [8161] = 3324,
  [8162] = 3323,
  [8163] = 7453,
  [8164] = 7461,
  [8165] = 8165,
  [8166] = 7453,
  [8167] = 7453,
  [8168] = 3322,
  [8169] = 7461,
  [8170] = 7461,
  [8171] = 7453,
  [8172] = 7462,
  [8173] = 3321,
  [8174] = 3318,
  [8175] = 7461,
  [8176] = 7502,
  [8177] = 3313,
  [8178] = 8178,
  [8179] = 3312,
  [8180] = 7453,
  [8181] = 7453,
  [8182] = 3311,
  [8183] = 8051,
  [8184] = 7461,
  [8185] = 7460,
  [8186] = 7461,
  [8187] = 3306,
  [8188] = 3302,
  [8189] = 8189,
  [8190] = 3297,
  [8191] = 3292,
  [8192] = 3285,
  [8193] = 7459,
  [8194] = 7453,
  [8195] = 7453,
  [8196] = 3215,
  [8197] = 7461,
  [8198] = 7461,
  [8199] = 8199,
  [8200] = 7456,
  [8201] = 7455,
  [8202] = 7454,
  [8203] = 7453,
  [8204] = 7453,
  [8205] = 7556,
  [8206] = 8206,
  [8207] = 3269,
  [8208] = 7453,
  [8209] = 7461,
  [8210] = 7453,
  [8211] = 7574,
  [8212] = 7461,
  [8213] = 3259,
  [8214] = 4579,
  [8215] = 7939,
  [8216] = 7461,
  [8217] = 7453,
  [8218] = 7461,
  [8219] = 7449,
  [8220] = 3231,
  [8221] = 3229,
  [8222] = 7453,
  [8223] = 8223,
  [8224] = 8224,
  [8225] = 4593,
  [8226] = 7461,
  [8227] = 7448,
  [8228] = 4577,
  [8229] = 3292,
  [8230] = 3223,
  [8231] = 7453,
  [8232] = 3297,
  [8233] = 3220,
  [8234] = 7453,
  [8235] = 8235,
  [8236] = 7461,
  [8237] = 7461,
  [8238] = 7449,
  [8239] = 959,
  [8240] = 7453,
  [8241] = 7453,
  [8242] = 3218,
  [8243] = 7487,
  [8244] = 7461,
  [8245] = 8245,
  [8246] = 8246,
  [8247] = 8247,
  [8248] = 8248,
  [8249] = 8249,
  [8250] = 8250,
  [8251] = 8248,
  [8252] = 7198,
  [8253] = 8250,
  [8254] = 8254,
  [8255] = 8250,
  [8256] = 8256,
  [8257] = 8257,
  [8258] = 8258,
  [8259] = 8259,
  [8260] = 8250,
  [8261] = 8261,
  [8262] = 8250,
  [8263] = 8263,
  [8264] = 8264,
  [8265] = 8265,
  [8266] = 8266,
  [8267] = 8250,
  [8268] = 8268,
  [8269] = 8269,
  [8270] = 8270,
  [8271] = 8247,
  [8272] = 8272,
  [8273] = 8273,
  [8274] = 8274,
  [8275] = 8250,
  [8276] = 8276,
  [8277] = 8277,
  [8278] = 8278,
  [8279] = 8279,
  [8280] = 8250,
  [8281] = 8281,
  [8282] = 8261,
  [8283] = 8283,
  [8284] = 8249,
  [8285] = 8250,
  [8286] = 8286,
  [8287] = 8287,
  [8288] = 8250,
  [8289] = 8289,
  [8290] = 4523,
  [8291] = 8291,
  [8292] = 8292,
  [8293] = 8293,
  [8294] = 8294,
  [8295] = 8250,
  [8296] = 8289,
  [8297] = 8250,
  [8298] = 4509,
  [8299] = 8299,
  [8300] = 4496,
  [8301] = 8250,
  [8302] = 8283,
  [8303] = 8248,
  [8304] = 8294,
  [8305] = 8250,
  [8306] = 8270,
  [8307] = 8307,
  [8308] = 8308,
  [8309] = 8309,
  [8310] = 8276,
  [8311] = 8248,
  [8312] = 8312,
  [8313] = 8313,
  [8314] = 8250,
  [8315] = 8315,
  [8316] = 8316,
  [8317] = 8317,
  [8318] = 6782,
  [8319] = 8319,
  [8320] = 8320,
  [8321] = 4498,
  [8322] = 8279,
  [8323] = 8323,
  [8324] = 8248,
  [8325] = 8248,
  [8326] = 8326,
  [8327] = 8327,
  [8328] = 8328,
  [8329] = 8329,
  [8330] = 8250,
  [8331] = 8263,
  [8332] = 4495,
  [8333] = 2660,
  [8334] = 8334,
  [8335] = 2301,
  [8336] = 8336,
  [8337] = 8337,
  [8338] = 8338,
  [8339] = 8248,
  [8340] = 8248,
  [8341] = 8328,
  [8342] = 8250,
  [8343] = 8343,
  [8344] = 8294,
  [8345] = 8250,
  [8346] = 8254,
  [8347] = 8308,
  [8348] = 8329,
  [8349] = 8279,
  [8350] = 8248,
  [8351] = 8328,
  [8352] = 8307,
  [8353] = 8323,
  [8354] = 8354,
  [8355] = 8355,
  [8356] = 8337,
  [8357] = 8313,
  [8358] = 8250,
  [8359] = 8359,
  [8360] = 8360,
  [8361] = 8327,
  [8362] = 8299,
  [8363] = 8308,
  [8364] = 8364,
  [8365] = 8365,
  [8366] = 8355,
  [8367] = 8299,
  [8368] = 8368,
  [8369] = 8277,
  [8370] = 8254,
  [8371] = 8371,
  [8372] = 8299,
  [8373] = 8308,
  [8374] = 8374,
  [8375] = 8293,
  [8376] = 8292,
  [8377] = 8338,
  [8378] = 2377,
  [8379] = 8248,
  [8380] = 8354,
  [8381] = 8299,
  [8382] = 8308,
  [8383] = 8383,
  [8384] = 8384,
  [8385] = 8385,
  [8386] = 8250,
  [8387] = 8248,
  [8388] = 8287,
  [8389] = 8312,
  [8390] = 8274,
  [8391] = 8391,
  [8392] = 8277,
  [8393] = 8393,
  [8394] = 8394,
  [8395] = 8395,
  [8396] = 8396,
  [8397] = 8248,
  [8398] = 8299,
  [8399] = 8250,
  [8400] = 8308,
  [8401] = 8315,
  [8402] = 8343,
  [8403] = 8403,
  [8404] = 8404,
  [8405] = 8248,
  [8406] = 8299,
  [8407] = 8407,
  [8408] = 8250,
  [8409] = 8409,
  [8410] = 8308,
  [8411] = 8395,
  [8412] = 4496,
  [8413] = 8248,
  [8414] = 8299,
  [8415] = 8308,
  [8416] = 8385,
  [8417] = 8395,
  [8418] = 8418,
  [8419] = 8250,
  [8420] = 4495,
  [8421] = 8334,
  [8422] = 8273,
  [8423] = 8423,
  [8424] = 8403,
  [8425] = 6751,
  [8426] = 8248,
  [8427] = 8427,
  [8428] = 8299,
  [8429] = 8308,
  [8430] = 8430,
  [8431] = 8385,
  [8432] = 8158,
  [8433] = 8433,
  [8434] = 8434,
  [8435] = 4509,
  [8436] = 8263,
  [8437] = 8259,
  [8438] = 8250,
  [8439] = 8272,
  [8440] = 8430,
  [8441] = 8299,
  [8442] = 8256,
  [8443] = 8308,
  [8444] = 8289,
  [8445] = 8248,
  [8446] = 8250,
  [8447] = 8407,
  [8448] = 4514,
  [8449] = 8449,
  [8450] = 8450,
  [8451] = 8256,
  [8452] = 8248,
  [8453] = 8299,
  [8454] = 8364,
  [8455] = 8291,
  [8456] = 8365,
  [8457] = 8457,
  [8458] = 8308,
  [8459] = 8250,
  [8460] = 8248,
  [8461] = 8294,
  [8462] = 8250,
  [8463] = 8250,
  [8464] = 8396,
  [8465] = 8312,
  [8466] = 8360,
  [8467] = 6761,
  [8468] = 8326,
  [8469] = 8391,
  [8470] = 8299,
  [8471] = 8308,
  [8472] = 8294,
  [8473] = 8248,
  [8474] = 8343,
  [8475] = 8334,
  [8476] = 8250,
  [8477] = 8403,
  [8478] = 8299,
  [8479] = 8308,
  [8480] = 8480,
  [8481] = 8374,
  [8482] = 8250,
  [8483] = 8308,
  [8484] = 8307,
  [8485] = 8355,
  [8486] = 8313,
  [8487] = 8299,
  [8488] = 8308,
  [8489] = 8248,
  [8490] = 8308,
  [8491] = 8248,
  [8492] = 8299,
  [8493] = 8308,
  [8494] = 8281,
  [8495] = 8407,
  [8496] = 8294,
  [8497] = 8299,
  [8498] = 8248,
  [8499] = 8391,
  [8500] = 8500,
  [8501] = 8250,
  [8502] = 8323,
  [8503] = 8299,
  [8504] = 8308,
  [8505] = 8449,
  [8506] = 8354,
  [8507] = 8257,
  [8508] = 4498,
  [8509] = 8299,
  [8510] = 8308,
  [8511] = 8404,
  [8512] = 8299,
  [8513] = 8513,
  [8514] = 8299,
  [8515] = 8248,
  [8516] = 8329,
  [8517] = 8326,
  [8518] = 8248,
  [8519] = 8308,
  [8520] = 8326,
  [8521] = 8384,
  [8522] = 8250,
  [8523] = 8384,
  [8524] = 8292,
  [8525] = 8334,
  [8526] = 8404,
  [8527] = 6682,
  [8528] = 8293,
  [8529] = 8299,
  [8530] = 8530,
  [8531] = 6674,
  [8532] = 8308,
  [8533] = 8307,
  [8534] = 8355,
  [8535] = 8308,
  [8536] = 8250,
  [8537] = 8248,
  [8538] = 8248,
  [8539] = 8299,
  [8540] = 8294,
  [8541] = 8308,
  [8542] = 4514,
  [8543] = 8250,
  [8544] = 8299,
  [8545] = 8274,
  [8546] = 8299,
  [8547] = 8338,
  [8548] = 8248,
  [8549] = 8308,
  [8550] = 8550,
  [8551] = 8250,
  [8552] = 8552,
  [8553] = 8299,
  [8554] = 8308,
  [8555] = 8319,
  [8556] = 8265,
  [8557] = 8259,
  [8558] = 8248,
  [8559] = 8248,
  [8560] = 8326,
  [8561] = 8250,
  [8562] = 8299,
  [8563] = 8334,
  [8564] = 8308,
  [8565] = 8383,
  [8566] = 8374,
  [8567] = 8391,
  [8568] = 8299,
  [8569] = 8308,
  [8570] = 8307,
  [8571] = 8338,
  [8572] = 8308,
  [8573] = 8396,
  [8574] = 8407,
  [8575] = 8575,
  [8576] = 8337,
  [8577] = 8299,
  [8578] = 8299,
  [8579] = 8317,
  [8580] = 8294,
  [8581] = 8308,
  [8582] = 8329,
  [8583] = 8328,
  [8584] = 8327,
  [8585] = 8323,
  [8586] = 4511,
  [8587] = 8430,
  [8588] = 8326,
  [8589] = 8250,
  [8590] = 8313,
  [8591] = 8334,
  [8592] = 8299,
  [8593] = 8308,
  [8594] = 8299,
  [8595] = 8248,
  [8596] = 8270,
  [8597] = 8308,
  [8598] = 8307,
  [8599] = 8283,
  [8600] = 8308,
  [8601] = 8383,
  [8602] = 8299,
  [8603] = 8308,
  [8604] = 8272,
  [8605] = 8299,
  [8606] = 8384,
  [8607] = 8250,
  [8608] = 8299,
  [8609] = 8308,
  [8610] = 8293,
  [8611] = 8360,
  [8612] = 8292,
  [8613] = 8250,
  [8614] = 8291,
  [8615] = 8289,
  [8616] = 8326,
  [8617] = 8299,
  [8618] = 8308,
  [8619] = 8334,
  [8620] = 8248,
  [8621] = 8250,
  [8622] = 4511,
  [8623] = 8360,
  [8624] = 8299,
  [8625] = 8308,
  [8626] = 8307,
  [8627] = 8277,
  [8628] = 8308,
  [8629] = 8629,
  [8630] = 8630,
  [8631] = 8250,
  [8632] = 8316,
  [8633] = 8299,
  [8634] = 8273,
  [8635] = 8250,
  [8636] = 8636,
  [8637] = 6765,
  [8638] = 8248,
  [8639] = 8334,
  [8640] = 4523,
  [8641] = 8449,
  [8642] = 8308,
  [8643] = 8294,
  [8644] = 8263,
  [8645] = 8259,
  [8646] = 8299,
  [8647] = 8257,
  [8648] = 8250,
  [8649] = 8256,
  [8650] = 8250,
  [8651] = 8249,
  [8652] = 8334,
  [8653] = 8433,
  [8654] = 8371,
  [8655] = 8308,
  [8656] = 8299,
  [8657] = 8248,
  [8658] = 8658,
  [8659] = 8659,
  [8660] = 8660,
  [8661] = 8661,
  [8662] = 8662,
  [8663] = 8663,
  [8664] = 8664,
  [8665] = 8665,
  [8666] = 8666,
  [8667] = 7217,
  [8668] = 8668,
  [8669] = 7365,
  [8670] = 8670,
  [8671] = 8663,
  [8672] = 8672,
  [8673] = 8673,
  [8674] = 8674,
  [8675] = 8675,
  [8676] = 8664,
  [8677] = 8670,
  [8678] = 8678,
  [8679] = 8665,
  [8680] = 8680,
  [8681] = 8680,
  [8682] = 8682,
  [8683] = 8682,
  [8684] = 8684,
  [8685] = 8685,
  [8686] = 8686,
  [8687] = 8663,
  [8688] = 8680,
  [8689] = 8682,
  [8690] = 8665,
  [8691] = 8691,
  [8692] = 8678,
  [8693] = 8674,
  [8694] = 8678,
  [8695] = 8695,
  [8696] = 8670,
  [8697] = 8680,
  [8698] = 8670,
  [8699] = 7441,
  [8700] = 8665,
  [8701] = 8682,
  [8702] = 8678,
  [8703] = 8680,
  [8704] = 7434,
  [8705] = 8705,
  [8706] = 8706,
  [8707] = 8707,
  [8708] = 7325,
  [8709] = 8707,
  [8710] = 8691,
  [8711] = 8663,
  [8712] = 8663,
  [8713] = 7299,
  [8714] = 8714,
  [8715] = 8715,
  [8716] = 8707,
  [8717] = 8705,
  [8718] = 8663,
  [8719] = 8680,
  [8720] = 8678,
  [8721] = 8721,
  [8722] = 8722,
  [8723] = 8678,
  [8724] = 8724,
  [8725] = 8670,
  [8726] = 8726,
  [8727] = 7424,
  [8728] = 8665,
  [8729] = 8684,
  [8730] = 2377,
  [8731] = 8682,
  [8732] = 8682,
  [8733] = 8659,
  [8734] = 8734,
  [8735] = 8665,
  [8736] = 8670,
  [8737] = 8737,
  [8738] = 8715,
  [8739] = 8680,
  [8740] = 8740,
  [8741] = 8741,
  [8742] = 8678,
  [8743] = 8670,
  [8744] = 8744,
  [8745] = 8745,
  [8746] = 8746,
  [8747] = 8747,
  [8748] = 8663,
  [8749] = 8749,
  [8750] = 8695,
  [8751] = 8685,
  [8752] = 8686,
  [8753] = 8663,
  [8754] = 8682,
  [8755] = 8665,
  [8756] = 8665,
  [8757] = 8682,
  [8758] = 7233,
  [8759] = 8678,
  [8760] = 8663,
  [8761] = 8695,
  [8762] = 8663,
  [8763] = 7230,
  [8764] = 8764,
  [8765] = 8682,
  [8766] = 8665,
  [8767] = 8680,
  [8768] = 8678,
  [8769] = 8670,
  [8770] = 8678,
  [8771] = 8685,
  [8772] = 8707,
  [8773] = 8773,
  [8774] = 8663,
  [8775] = 8674,
  [8776] = 8660,
  [8777] = 8678,
  [8778] = 8685,
  [8779] = 8663,
  [8780] = 8682,
  [8781] = 8665,
  [8782] = 8674,
  [8783] = 8682,
  [8784] = 8665,
  [8785] = 8665,
  [8786] = 7189,
  [8787] = 8682,
  [8788] = 7126,
  [8789] = 8678,
  [8790] = 8665,
  [8791] = 7133,
  [8792] = 8682,
  [8793] = 8740,
  [8794] = 8665,
  [8795] = 7141,
  [8796] = 8682,
  [8797] = 8680,
  [8798] = 8685,
  [8799] = 8670,
  [8800] = 7142,
  [8801] = 8663,
  [8802] = 8665,
  [8803] = 7302,
  [8804] = 8663,
  [8805] = 8678,
  [8806] = 7119,
  [8807] = 8695,
  [8808] = 8707,
  [8809] = 7109,
  [8810] = 7148,
  [8811] = 8674,
  [8812] = 8812,
  [8813] = 8705,
  [8814] = 8814,
  [8815] = 8665,
  [8816] = 8678,
  [8817] = 8691,
  [8818] = 8818,
  [8819] = 8663,
  [8820] = 8665,
  [8821] = 8678,
  [8822] = 8678,
  [8823] = 8695,
  [8824] = 8824,
  [8825] = 8705,
  [8826] = 8814,
  [8827] = 8665,
  [8828] = 8678,
  [8829] = 8829,
  [8830] = 8685,
  [8831] = 8831,
  [8832] = 8674,
  [8833] = 8833,
  [8834] = 8834,
  [8835] = 8835,
  [8836] = 8678,
  [8837] = 8724,
  [8838] = 8678,
  [8839] = 8695,
  [8840] = 8840,
  [8841] = 8707,
  [8842] = 8842,
  [8843] = 8678,
  [8844] = 7284,
  [8845] = 8678,
  [8846] = 8707,
  [8847] = 8818,
  [8848] = 8678,
  [8849] = 8665,
  [8850] = 8682,
  [8851] = 8851,
  [8852] = 8852,
  [8853] = 8678,
  [8854] = 8707,
  [8855] = 8705,
  [8856] = 8818,
  [8857] = 8678,
  [8858] = 8685,
  [8859] = 8665,
  [8860] = 8691,
  [8861] = 8734,
  [8862] = 7253,
  [8863] = 8678,
  [8864] = 8682,
  [8865] = 834,
  [8866] = 8674,
  [8867] = 8867,
  [8868] = 8724,
  [8869] = 8680,
  [8870] = 8663,
  [8871] = 8670,
  [8872] = 8872,
  [8873] = 8873,
  [8874] = 8678,
  [8875] = 8678,
  [8876] = 8876,
  [8877] = 8877,
  [8878] = 8674,
  [8879] = 8879,
  [8880] = 8737,
  [8881] = 8814,
  [8882] = 8705,
  [8883] = 8883,
  [8884] = 7067,
  [8885] = 8773,
  [8886] = 8678,
  [8887] = 7254,
  [8888] = 8675,
  [8889] = 8661,
  [8890] = 8737,
  [8891] = 8678,
  [8892] = 8892,
  [8893] = 8663,
  [8894] = 8705,
  [8895] = 8678,
  [8896] = 8896,
  [8897] = 8897,
  [8898] = 8898,
  [8899] = 8678,
  [8900] = 8672,
  [8901] = 8666,
  [8902] = 8724,
  [8903] = 8685,
  [8904] = 8833,
  [8905] = 8835,
  [8906] = 7247,
  [8907] = 8907,
  [8908] = 8678,
  [8909] = 8715,
  [8910] = 8876,
  [8911] = 8695,
  [8912] = 8912,
  [8913] = 8695,
  [8914] = 8914,
  [8915] = 8812,
  [8916] = 8916,
  [8917] = 8873,
  [8918] = 8918,
  [8919] = 8907,
  [8920] = 8663,
  [8921] = 8678,
  [8922] = 8867,
  [8923] = 8923,
  [8924] = 8665,
  [8925] = 8678,
  [8926] = 8898,
  [8927] = 7321,
  [8928] = 8672,
  [8929] = 8666,
  [8930] = 8930,
  [8931] = 8833,
  [8932] = 8835,
  [8933] = 8678,
  [8934] = 8907,
  [8935] = 8674,
  [8936] = 8812,
  [8937] = 8705,
  [8938] = 8938,
  [8939] = 8672,
  [8940] = 8666,
  [8941] = 8941,
  [8942] = 8833,
  [8943] = 8835,
  [8944] = 8685,
  [8945] = 8907,
  [8946] = 8946,
  [8947] = 8812,
  [8948] = 8898,
  [8949] = 8672,
  [8950] = 8666,
  [8951] = 8678,
  [8952] = 8833,
  [8953] = 8835,
  [8954] = 8707,
  [8955] = 8955,
  [8956] = 8812,
  [8957] = 8957,
  [8958] = 8672,
  [8959] = 8666,
  [8960] = 8872,
  [8961] = 8833,
  [8962] = 8835,
  [8963] = 8682,
  [8964] = 8818,
  [8965] = 8812,
  [8966] = 8678,
  [8967] = 8672,
  [8968] = 8666,
  [8969] = 8663,
  [8970] = 8833,
  [8971] = 8835,
  [8972] = 8705,
  [8973] = 8973,
  [8974] = 8812,
  [8975] = 8695,
  [8976] = 8672,
  [8977] = 8666,
  [8978] = 8678,
  [8979] = 8833,
  [8980] = 8835,
  [8981] = 8678,
  [8982] = 8912,
  [8983] = 8812,
  [8984] = 8984,
  [8985] = 8672,
  [8986] = 8666,
  [8987] = 8707,
  [8988] = 8833,
  [8989] = 8835,
  [8990] = 8686,
  [8991] = 8812,
  [8992] = 8665,
  [8993] = 8672,
  [8994] = 8666,
  [8995] = 8914,
  [8996] = 8664,
  [8997] = 8682,
  [8998] = 8998,
  [8999] = 8668,
  [9000] = 8678,
  [9001] = 8674,
  [9002] = 8660,
  [9003] = 8678,
  [9004] = 8678,
  [9005] = 8668,
  [9006] = 8678,
  [9007] = 8668,
  [9008] = 8665,
  [9009] = 8668,
  [9010] = 8682,
  [9011] = 8668,
  [9012] = 8941,
  [9013] = 8668,
  [9014] = 9014,
  [9015] = 8668,
  [9016] = 8973,
  [9017] = 8668,
  [9018] = 8678,
  [9019] = 8668,
  [9020] = 8834,
  [9021] = 8834,
  [9022] = 8834,
  [9023] = 8834,
  [9024] = 8834,
  [9025] = 8834,
  [9026] = 8834,
  [9027] = 8834,
};

static TSCharacterRange aux_sym_simple_identifier_token1_character_set_1[] = {
  {'A', 'Z'}, {'_', '_'}, {'a', 'z'}, {0xa9, 0xaa}, {0xae, 0xae}, {0xb5, 0xb5}, {0xba, 0xba}, {0xc0, 0xd6},
  {0xd8, 0xf6}, {0xf8, 0x2c1}, {0x2c6, 0x2d1}, {0x2e0, 0x2e4}, {0x2ec, 0x2ec}, {0x2ee, 0x2ee}, {0x370, 0x374}, {0x376, 0x377},
  {0x37b, 0x37d}, {0x37f, 0x37f}, {0x386, 0x386}, {0x388, 0x38a}, {0x38c, 0x38c}, {0x38e, 0x3a1}, {0x3a3, 0x3f5}, {0x3f7, 0x481},
  {0x48a, 0x52f}, {0x531, 0x556}, {0x559, 0x559}, {0x560, 0x588}, {0x5d0, 0x5ea}, {0x5ef, 0x5f2}, {0x620, 0x64a}, {0x66e, 0x66f},
  {0x671, 0x6d3}, {0x6d5, 0x6d5}, {0x6e5, 0x6e6}, {0x6ee, 0x6ef}, {0x6fa, 0x6fc}, {0x6ff, 0x6ff}, {0x710, 0x710}, {0x712, 0x72f},
  {0x74d, 0x7a5}, {0x7b1, 0x7b1}, {0x7ca, 0x7ea}, {0x7f4, 0x7f5}, {0x7fa, 0x7fa}, {0x800, 0x815}, {0x81a, 0x81a}, {0x824, 0x824},
  {0x828, 0x828}, {0x840, 0x858}, {0x860, 0x86a}, {0x870, 0x887}, {0x889, 0x88e}, {0x8a0, 0x8c9}, {0x904, 0x939}, {0x93d, 0x93d},
  {0x950, 0x950}, {0x958, 0x961}, {0x971, 0x980}, {0x985, 0x98c}, {0x98f, 0x990}, {0x993, 0x9a8}, {0x9aa, 0x9b0}, {0x9b2, 0x9b2},
  {0x9b6, 0x9b9}, {0x9bd, 0x9bd}, {0x9ce, 0x9ce}, {0x9dc, 0x9dd}, {0x9df, 0x9e1}, {0x9f0, 0x9f1}, {0x9fc, 0x9fc}, {0xa05, 0xa0a},
  {0xa0f, 0xa10}, {0xa13, 0xa28}, {0xa2a, 0xa30}, {0xa32, 0xa33}, {0xa35, 0xa36}, {0xa38, 0xa39}, {0xa59, 0xa5c}, {0xa5e, 0xa5e},
  {0xa72, 0xa74}, {0xa85, 0xa8d}, {0xa8f, 0xa91}, {0xa93, 0xaa8}, {0xaaa, 0xab0}, {0xab2, 0xab3}, {0xab5, 0xab9}, {0xabd, 0xabd},
  {0xad0, 0xad0}, {0xae0, 0xae1}, {0xaf9, 0xaf9}, {0xb05, 0xb0c}, {0xb0f, 0xb10}, {0xb13, 0xb28}, {0xb2a, 0xb30}, {0xb32, 0xb33},
  {0xb35, 0xb39}, {0xb3d, 0xb3d}, {0xb5c, 0xb5d}, {0xb5f, 0xb61}, {0xb71, 0xb71}, {0xb83, 0xb83}, {0xb85, 0xb8a}, {0xb8e, 0xb90},
  {0xb92, 0xb95}, {0xb99, 0xb9a}, {0xb9c, 0xb9c}, {0xb9e, 0xb9f}, {0xba3, 0xba4}, {0xba8, 0xbaa}, {0xbae, 0xbb9}, {0xbd0, 0xbd0},
  {0xc05, 0xc0c}, {0xc0e, 0xc10}, {0xc12, 0xc28}, {0xc2a, 0xc39}, {0xc3d, 0xc3d}, {0xc58, 0xc5a}, {0xc5d, 0xc5d}, {0xc60, 0xc61},
  {0xc80, 0xc80}, {0xc85, 0xc8c}, {0xc8e, 0xc90}, {0xc92, 0xca8}, {0xcaa, 0xcb3}, {0xcb5, 0xcb9}, {0xcbd, 0xcbd}, {0xcdd, 0xcde},
  {0xce0, 0xce1}, {0xcf1, 0xcf2}, {0xd04, 0xd0c}, {0xd0e, 0xd10}, {0xd12, 0xd3a}, {0xd3d, 0xd3d}, {0xd4e, 0xd4e}, {0xd54, 0xd56},
  {0xd5f, 0xd61}, {0xd7a, 0xd7f}, {0xd85, 0xd96}, {0xd9a, 0xdb1}, {0xdb3, 0xdbb}, {0xdbd, 0xdbd}, {0xdc0, 0xdc6}, {0xe01, 0xe30},
  {0xe32, 0xe32}, {0xe40, 0xe46}, {0xe81, 0xe82}, {0xe84, 0xe84}, {0xe86, 0xe8a}, {0xe8c, 0xea3}, {0xea5, 0xea5}, {0xea7, 0xeb0},
  {0xeb2, 0xeb2}, {0xebd, 0xebd}, {0xec0, 0xec4}, {0xec6, 0xec6}, {0xedc, 0xedf}, {0xf00, 0xf00}, {0xf40, 0xf47}, {0xf49, 0xf6c},
  {0xf88, 0xf8c}, {0x1000, 0x102a}, {0x103f, 0x103f}, {0x1050, 0x1055}, {0x105a, 0x105d}, {0x1061, 0x1061}, {0x1065, 0x1066}, {0x106e, 0x1070},
  {0x1075, 0x1081}, {0x108e, 0x108e}, {0x10a0, 0x10c5}, {0x10c7, 0x10c7}, {0x10cd, 0x10cd}, {0x10d0, 0x10fa}, {0x10fc, 0x1248}, {0x124a, 0x124d},
  {0x1250, 0x1256}, {0x1258, 0x1258}, {0x125a, 0x125d}, {0x1260, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12b0}, {0x12b2, 0x12b5}, {0x12b8, 0x12be},
  {0x12c0, 0x12c0}, {0x12c2, 0x12c5}, {0x12c8, 0x12d6}, {0x12d8, 0x1310}, {0x1312, 0x1315}, {0x1318, 0x135a}, {0x1380, 0x138f}, {0x13a0, 0x13f5},
  {0x13f8, 0x13fd}, {0x1401, 0x166c}, {0x166f, 0x167f}, {0x1681, 0x169a}, {0x16a0, 0x16ea}, {0x16ee, 0x16f8}, {0x1700, 0x1711}, {0x171f, 0x1731},
  {0x1740, 0x1751}, {0x1760, 0x176c}, {0x176e, 0x1770}, {0x1780, 0x17b3}, {0x17d7, 0x17d7}, {0x17dc, 0x17dc}, {0x1820, 0x1878}, {0x1880, 0x18a8},
  {0x18aa, 0x18aa}, {0x18b0, 0x18f5}, {0x1900, 0x191e}, {0x1950, 0x196d}, {0x1970, 0x1974}, {0x1980, 0x19ab}, {0x19b0, 0x19c9}, {0x1a00, 0x1a16},
  {0x1a20, 0x1a54}, {0x1aa7, 0x1aa7}, {0x1b05, 0x1b33}, {0x1b45, 0x1b4c}, {0x1b83, 0x1ba0}, {0x1bae, 0x1baf}, {0x1bba, 0x1be5}, {0x1c00, 0x1c23},
  {0x1c4d, 0x1c4f}, {0x1c5a, 0x1c7d}, {0x1c80, 0x1c88}, {0x1c90, 0x1cba}, {0x1cbd, 0x1cbf}, {0x1ce9, 0x1cec}, {0x1cee, 0x1cf3}, {0x1cf5, 0x1cf6},
  {0x1cfa, 0x1cfa}, {0x1d00, 0x1dbf}, {0x1e00, 0x1f15}, {0x1f18, 0x1f1d}, {0x1f20, 0x1f45}, {0x1f48, 0x1f4d}, {0x1f50, 0x1f57}, {0x1f59, 0x1f59},
  {0x1f5b, 0x1f5b}, {0x1f5d, 0x1f5d}, {0x1f5f, 0x1f7d}, {0x1f80, 0x1fb4}, {0x1fb6, 0x1fbc}, {0x1fbe, 0x1fbe}, {0x1fc2, 0x1fc4}, {0x1fc6, 0x1fcc},
  {0x1fd0, 0x1fd3}, {0x1fd6, 0x1fdb}, {0x1fe0, 0x1fec}, {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ffc}, {0x203c, 0x203c}, {0x2049, 0x2049}, {0x2071, 0x2071},
  {0x207f, 0x207f}, {0x2090, 0x209c}, {0x2102, 0x2102}, {0x2107, 0x2107}, {0x210a, 0x2113}, {0x2115, 0x2115}, {0x2118, 0x211d}, {0x2122, 0x2122},
  {0x2124, 0x2124}, {0x2126, 0x2126}, {0x2128, 0x2128}, {0x212a, 0x2139}, {0x213c, 0x213f}, {0x2145, 0x2149}, {0x214e, 0x214e}, {0x2160, 0x2188},
  {0x2194, 0x2199}, {0x21a9, 0x21aa}, {0x231a, 0x231b}, {0x2328, 0x2328}, {0x23cf, 0x23cf}, {0x23e9, 0x23f3}, {0x23f8, 0x23fa}, {0x24c2, 0x24c2},
  {0x25aa, 0x25ab}, {0x25b6, 0x25b6}, {0x25c0, 0x25c0}, {0x25fb, 0x25fe}, {0x2600, 0x2604}, {0x260e, 0x260e}, {0x2611, 0x2611}, {0x2614, 0x2615},
  {0x2618, 0x2618}, {0x261d, 0x261d}, {0x2620, 0x2620}, {0x2622, 0x2623}, {0x2626, 0x2626}, {0x262a, 0x262a}, {0x262e, 0x262f}, {0x2638, 0x263a},
  {0x2640, 0x2640}, {0x2642, 0x2642}, {0x2648, 0x2653}, {0x265f, 0x2660}, {0x2663, 0x2663}, {0x2665, 0x2666}, {0x2668, 0x2668}, {0x267b, 0x267b},
  {0x267e, 0x267f}, {0x2692, 0x2697}, {0x2699, 0x2699}, {0x269b, 0x269c}, {0x26a0, 0x26a1}, {0x26a7, 0x26a7}, {0x26aa, 0x26ab}, {0x26b0, 0x26b1},
  {0x26bd, 0x26be}, {0x26c4, 0x26c5}, {0x26c8, 0x26c8}, {0x26ce, 0x26cf}, {0x26d1, 0x26d1}, {0x26d3, 0x26d4}, {0x26e9, 0x26ea}, {0x26f0, 0x26f5},
  {0x26f7, 0x26fa}, {0x26fd, 0x26fd}, {0x2702, 0x2702}, {0x2705, 0x2705}, {0x2708, 0x270d}, {0x270f, 0x270f}, {0x2712, 0x2712}, {0x2714, 0x2714},
  {0x2716, 0x2716}, {0x271d, 0x271d}, {0x2721, 0x2721}, {0x2728, 0x2728}, {0x2733, 0x2734}, {0x2744, 0x2744}, {0x2747, 0x2747}, {0x274c, 0x274c},
  {0x274e, 0x274e}, {0x2753, 0x2755}, {0x2757, 0x2757}, {0x2763, 0x2764}, {0x2795, 0x2797}, {0x27a1, 0x27a1}, {0x27b0, 0x27b0}, {0x27bf, 0x27bf},
  {0x2934, 0x2935}, {0x2b05, 0x2b07}, {0x2b1b, 0x2b1c}, {0x2b50, 0x2b50}, {0x2b55, 0x2b55}, {0x2c00, 0x2ce4}, {0x2ceb, 0x2cee}, {0x2cf2, 0x2cf3},
  {0x2d00, 0x2d25}, {0x2d27, 0x2d27}, {0x2d2d, 0x2d2d}, {0x2d30, 0x2d67}, {0x2d6f, 0x2d6f}, {0x2d80, 0x2d96}, {0x2da0, 0x2da6}, {0x2da8, 0x2dae},
  {0x2db0, 0x2db6}, {0x2db8, 0x2dbe}, {0x2dc0, 0x2dc6}, {0x2dc8, 0x2dce}, {0x2dd0, 0x2dd6}, {0x2dd8, 0x2dde}, {0x3005, 0x3007}, {0x3021, 0x3029},
  {0x3030, 0x3035}, {0x3038, 0x303d}, {0x3041, 0x3096}, {0x309d, 0x309f}, {0x30a1, 0x30fa}, {0x30fc, 0x30ff}, {0x3105, 0x312f}, {0x3131, 0x318e},
  {0x31a0, 0x31bf}, {0x31f0, 0x31ff}, {0x3297, 0x3297}, {0x3299, 0x3299}, {0x3400, 0x4dbf}, {0x4e00, 0xa48c}, {0xa4d0, 0xa4fd}, {0xa500, 0xa60c},
  {0xa610, 0xa61f}, {0xa62a, 0xa62b}, {0xa640, 0xa66e}, {0xa67f, 0xa69d}, {0xa6a0, 0xa6ef}, {0xa717, 0xa71f}, {0xa722, 0xa788}, {0xa78b, 0xa7ca},
  {0xa7d0, 0xa7d1}, {0xa7d3, 0xa7d3}, {0xa7d5, 0xa7d9}, {0xa7f2, 0xa801}, {0xa803, 0xa805}, {0xa807, 0xa80a}, {0xa80c, 0xa822}, {0xa840, 0xa873},
  {0xa882, 0xa8b3}, {0xa8f2, 0xa8f7}, {0xa8fb, 0xa8fb}, {0xa8fd, 0xa8fe}, {0xa90a, 0xa925}, {0xa930, 0xa946}, {0xa960, 0xa97c}, {0xa984, 0xa9b2},
  {0xa9cf, 0xa9cf}, {0xa9e0, 0xa9e4}, {0xa9e6, 0xa9ef}, {0xa9fa, 0xa9fe}, {0xaa00, 0xaa28}, {0xaa40, 0xaa42}, {0xaa44, 0xaa4b}, {0xaa60, 0xaa76},
  {0xaa7a, 0xaa7a}, {0xaa7e, 0xaaaf}, {0xaab1, 0xaab1}, {0xaab5, 0xaab6}, {0xaab9, 0xaabd}, {0xaac0, 0xaac0}, {0xaac2, 0xaac2}, {0xaadb, 0xaadd},
  {0xaae0, 0xaaea}, {0xaaf2, 0xaaf4}, {0xab01, 0xab06}, {0xab09, 0xab0e}, {0xab11, 0xab16}, {0xab20, 0xab26}, {0xab28, 0xab2e}, {0xab30, 0xab5a},
  {0xab5c, 0xab69}, {0xab70, 0xabe2}, {0xac00, 0xd7a3}, {0xd7b0, 0xd7c6}, {0xd7cb, 0xd7fb}, {0xf900, 0xfa6d}, {0xfa70, 0xfad9}, {0xfb00, 0xfb06},
  {0xfb13, 0xfb17}, {0xfb1d, 0xfb1d}, {0xfb1f, 0xfb28}, {0xfb2a, 0xfb36}, {0xfb38, 0xfb3c}, {0xfb3e, 0xfb3e}, {0xfb40, 0xfb41}, {0xfb43, 0xfb44},
  {0xfb46, 0xfbb1}, {0xfbd3, 0xfc5d}, {0xfc64, 0xfd3d}, {0xfd50, 0xfd8f}, {0xfd92, 0xfdc7}, {0xfdf0, 0xfdf9}, {0xfe71, 0xfe71}, {0xfe73, 0xfe73},
  {0xfe77, 0xfe77}, {0xfe79, 0xfe79}, {0xfe7b, 0xfe7b}, {0xfe7d, 0xfe7d}, {0xfe7f, 0xfefc}, {0xff21, 0xff3a}, {0xff41, 0xff5a}, {0xff66, 0xff9d},
  {0xffa0, 0xffbe}, {0xffc2, 0xffc7}, {0xffca, 0xffcf}, {0xffd2, 0xffd7}, {0xffda, 0xffdc}, {0x10000, 0x1000b}, {0x1000d, 0x10026}, {0x10028, 0x1003a},
  {0x1003c, 0x1003d}, {0x1003f, 0x1004d}, {0x10050, 0x1005d}, {0x10080, 0x100fa}, {0x10140, 0x10174}, {0x10280, 0x1029c}, {0x102a0, 0x102d0}, {0x10300, 0x1031f},
  {0x1032d, 0x1034a}, {0x10350, 0x10375}, {0x10380, 0x1039d}, {0x103a0, 0x103c3}, {0x103c8, 0x103cf}, {0x103d1, 0x103d5}, {0x10400, 0x1049d}, {0x104b0, 0x104d3},
  {0x104d8, 0x104fb}, {0x10500, 0x10527}, {0x10530, 0x10563}, {0x10570, 0x1057a}, {0x1057c, 0x1058a}, {0x1058c, 0x10592}, {0x10594, 0x10595}, {0x10597, 0x105a1},
  {0x105a3, 0x105b1}, {0x105b3, 0x105b9}, {0x105bb, 0x105bc}, {0x10600, 0x10736}, {0x10740, 0x10755}, {0x10760, 0x10767}, {0x10780, 0x10785}, {0x10787, 0x107b0},
  {0x107b2, 0x107ba}, {0x10800, 0x10805}, {0x10808, 0x10808}, {0x1080a, 0x10835}, {0x10837, 0x10838}, {0x1083c, 0x1083c}, {0x1083f, 0x10855}, {0x10860, 0x10876},
  {0x10880, 0x1089e}, {0x108e0, 0x108f2}, {0x108f4, 0x108f5}, {0x10900, 0x10915}, {0x10920, 0x10939}, {0x10980, 0x109b7}, {0x109be, 0x109bf}, {0x10a00, 0x10a00},
  {0x10a10, 0x10a13}, {0x10a15, 0x10a17}, {0x10a19, 0x10a35}, {0x10a60, 0x10a7c}, {0x10a80, 0x10a9c}, {0x10ac0, 0x10ac7}, {0x10ac9, 0x10ae4}, {0x10b00, 0x10b35},
  {0x10b40, 0x10b55}, {0x10b60, 0x10b72}, {0x10b80, 0x10b91}, {0x10c00, 0x10c48}, {0x10c80, 0x10cb2}, {0x10cc0, 0x10cf2}, {0x10d00, 0x10d23}, {0x10e80, 0x10ea9},
  {0x10eb0, 0x10eb1}, {0x10f00, 0x10f1c}, {0x10f27, 0x10f27}, {0x10f30, 0x10f45}, {0x10f70, 0x10f81}, {0x10fb0, 0x10fc4}, {0x10fe0, 0x10ff6}, {0x11003, 0x11037},
  {0x11071, 0x11072}, {0x11075, 0x11075}, {0x11083, 0x110af}, {0x110d0, 0x110e8}, {0x11103, 0x11126}, {0x11144, 0x11144}, {0x11147, 0x11147}, {0x11150, 0x11172},
  {0x11176, 0x11176}, {0x11183, 0x111b2}, {0x111c1, 0x111c4}, {0x111da, 0x111da}, {0x111dc, 0x111dc}, {0x11200, 0x11211}, {0x11213, 0x1122b}, {0x1123f, 0x11240},
  {0x11280, 0x11286}, {0x11288, 0x11288}, {0x1128a, 0x1128d}, {0x1128f, 0x1129d}, {0x1129f, 0x112a8}, {0x112b0, 0x112de}, {0x11305, 0x1130c}, {0x1130f, 0x11310},
  {0x11313, 0x11328}, {0x1132a, 0x11330}, {0x11332, 0x11333}, {0x11335, 0x11339}, {0x1133d, 0x1133d}, {0x11350, 0x11350}, {0x1135d, 0x11361}, {0x11400, 0x11434},
  {0x11447, 0x1144a}, {0x1145f, 0x11461}, {0x11480, 0x114af}, {0x114c4, 0x114c5}, {0x114c7, 0x114c7}, {0x11580, 0x115ae}, {0x115d8, 0x115db}, {0x11600, 0x1162f},
  {0x11644, 0x11644}, {0x11680, 0x116aa}, {0x116b8, 0x116b8}, {0x11700, 0x1171a}, {0x11740, 0x11746}, {0x11800, 0x1182b}, {0x118a0, 0x118df}, {0x118ff, 0x11906},
  {0x11909, 0x11909}, {0x1190c, 0x11913}, {0x11915, 0x11916}, {0x11918, 0x1192f}, {0x1193f, 0x1193f}, {0x11941, 0x11941}, {0x119a0, 0x119a7}, {0x119aa, 0x119d0},
  {0x119e1, 0x119e1}, {0x119e3, 0x119e3}, {0x11a00, 0x11a00}, {0x11a0b, 0x11a32}, {0x11a3a, 0x11a3a}, {0x11a50, 0x11a50}, {0x11a5c, 0x11a89}, {0x11a9d, 0x11a9d},
  {0x11ab0, 0x11af8}, {0x11c00, 0x11c08}, {0x11c0a, 0x11c2e}, {0x11c40, 0x11c40}, {0x11c72, 0x11c8f}, {0x11d00, 0x11d06}, {0x11d08, 0x11d09}, {0x11d0b, 0x11d30},
  {0x11d46, 0x11d46}, {0x11d60, 0x11d65}, {0x11d67, 0x11d68}, {0x11d6a, 0x11d89}, {0x11d98, 0x11d98}, {0x11ee0, 0x11ef2}, {0x11f02, 0x11f02}, {0x11f04, 0x11f10},
  {0x11f12, 0x11f33}, {0x11fb0, 0x11fb0}, {0x12000, 0x12399}, {0x12400, 0x1246e}, {0x12480, 0x12543}, {0x12f90, 0x12ff0}, {0x13000, 0x1342f}, {0x13441, 0x13446},
  {0x14400, 0x14646}, {0x16800, 0x16a38}, {0x16a40, 0x16a5e}, {0x16a70, 0x16abe}, {0x16ad0, 0x16aed}, {0x16b00, 0x16b2f}, {0x16b40, 0x16b43}, {0x16b63, 0x16b77},
  {0x16b7d, 0x16b8f}, {0x16e40, 0x16e7f}, {0x16f00, 0x16f4a}, {0x16f50, 0x16f50}, {0x16f93, 0x16f9f}, {0x16fe0, 0x16fe1}, {0x16fe3, 0x16fe3}, {0x17000, 0x187f7},
  {0x18800, 0x18cd5}, {0x18d00, 0x18d08}, {0x1aff0, 0x1aff3}, {0x1aff5, 0x1affb}, {0x1affd, 0x1affe}, {0x1b000, 0x1b122}, {0x1b132, 0x1b132}, {0x1b150, 0x1b152},
  {0x1b155, 0x1b155}, {0x1b164, 0x1b167}, {0x1b170, 0x1b2fb}, {0x1bc00, 0x1bc6a}, {0x1bc70, 0x1bc7c}, {0x1bc80, 0x1bc88}, {0x1bc90, 0x1bc99}, {0x1d400, 0x1d454},
  {0x1d456, 0x1d49c}, {0x1d49e, 0x1d49f}, {0x1d4a2, 0x1d4a2}, {0x1d4a5, 0x1d4a6}, {0x1d4a9, 0x1d4ac}, {0x1d4ae, 0x1d4b9}, {0x1d4bb, 0x1d4bb}, {0x1d4bd, 0x1d4c3},
  {0x1d4c5, 0x1d505}, {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514}, {0x1d516, 0x1d51c}, {0x1d51e, 0x1d539}, {0x1d53b, 0x1d53e}, {0x1d540, 0x1d544}, {0x1d546, 0x1d546},
  {0x1d54a, 0x1d550}, {0x1d552, 0x1d6a5}, {0x1d6a8, 0x1d6c0}, {0x1d6c2, 0x1d6da}, {0x1d6dc, 0x1d6fa}, {0x1d6fc, 0x1d714}, {0x1d716, 0x1d734}, {0x1d736, 0x1d74e},
  {0x1d750, 0x1d76e}, {0x1d770, 0x1d788}, {0x1d78a, 0x1d7a8}, {0x1d7aa, 0x1d7c2}, {0x1d7c4, 0x1d7cb}, {0x1df00, 0x1df1e}, {0x1df25, 0x1df2a}, {0x1e030, 0x1e06d},
  {0x1e100, 0x1e12c}, {0x1e137, 0x1e13d}, {0x1e14e, 0x1e14e}, {0x1e290, 0x1e2ad}, {0x1e2c0, 0x1e2eb}, {0x1e4d0, 0x1e4eb}, {0x1e7e0, 0x1e7e6}, {0x1e7e8, 0x1e7eb},
  {0x1e7ed, 0x1e7ee}, {0x1e7f0, 0x1e7fe}, {0x1e800, 0x1e8c4}, {0x1e900, 0x1e943}, {0x1e94b, 0x1e94b}, {0x1ee00, 0x1ee03}, {0x1ee05, 0x1ee1f}, {0x1ee21, 0x1ee22},
  {0x1ee24, 0x1ee24}, {0x1ee27, 0x1ee27}, {0x1ee29, 0x1ee32}, {0x1ee34, 0x1ee37}, {0x1ee39, 0x1ee39}, {0x1ee3b, 0x1ee3b}, {0x1ee42, 0x1ee42}, {0x1ee47, 0x1ee47},
  {0x1ee49, 0x1ee49}, {0x1ee4b, 0x1ee4b}, {0x1ee4d, 0x1ee4f}, {0x1ee51, 0x1ee52}, {0x1ee54, 0x1ee54}, {0x1ee57, 0x1ee57}, {0x1ee59, 0x1ee59}, {0x1ee5b, 0x1ee5b},
  {0x1ee5d, 0x1ee5d}, {0x1ee5f, 0x1ee5f}, {0x1ee61, 0x1ee62}, {0x1ee64, 0x1ee64}, {0x1ee67, 0x1ee6a}, {0x1ee6c, 0x1ee72}, {0x1ee74, 0x1ee77}, {0x1ee79, 0x1ee7c},
  {0x1ee7e, 0x1ee7e}, {0x1ee80, 0x1ee89}, {0x1ee8b, 0x1ee9b}, {0x1eea1, 0x1eea3}, {0x1eea5, 0x1eea9}, {0x1eeab, 0x1eebb}, {0x1f004, 0x1f004}, {0x1f0cf, 0x1f0cf},
  {0x1f170, 0x1f171}, {0x1f17e, 0x1f17f}, {0x1f18e, 0x1f18e}, {0x1f191, 0x1f19a}, {0x1f1e6, 0x1f1ff}, {0x1f201, 0x1f202}, {0x1f21a, 0x1f21a}, {0x1f22f, 0x1f22f},
  {0x1f232, 0x1f23a}, {0x1f250, 0x1f251}, {0x1f300, 0x1f321}, {0x1f324, 0x1f393}, {0x1f396, 0x1f397}, {0x1f399, 0x1f39b}, {0x1f39e, 0x1f3f0}, {0x1f3f3, 0x1f3f5},
  {0x1f3f7, 0x1f4fd}, {0x1f4ff, 0x1f53d}, {0x1f549, 0x1f54e}, {0x1f550, 0x1f567}, {0x1f56f, 0x1f570}, {0x1f573, 0x1f57a}, {0x1f587, 0x1f587}, {0x1f58a, 0x1f58d},
  {0x1f590, 0x1f590}, {0x1f595, 0x1f596}, {0x1f5a4, 0x1f5a5}, {0x1f5a8, 0x1f5a8}, {0x1f5b1, 0x1f5b2}, {0x1f5bc, 0x1f5bc}, {0x1f5c2, 0x1f5c4}, {0x1f5d1, 0x1f5d3},
  {0x1f5dc, 0x1f5de}, {0x1f5e1, 0x1f5e1}, {0x1f5e3, 0x1f5e3}, {0x1f5e8, 0x1f5e8}, {0x1f5ef, 0x1f5ef}, {0x1f5f3, 0x1f5f3}, {0x1f5fa, 0x1f64f}, {0x1f680, 0x1f6c5},
  {0x1f6cb, 0x1f6d2}, {0x1f6d5, 0x1f6d7}, {0x1f6dc, 0x1f6e5}, {0x1f6e9, 0x1f6e9}, {0x1f6eb, 0x1f6ec}, {0x1f6f0, 0x1f6f0}, {0x1f6f3, 0x1f6fc}, {0x1f7e0, 0x1f7eb},
  {0x1f7f0, 0x1f7f0}, {0x1f90c, 0x1f93a}, {0x1f93c, 0x1f945}, {0x1f947, 0x1f9ff}, {0x1fa70, 0x1fa7c}, {0x1fa80, 0x1fa88}, {0x1fa90, 0x1fabd}, {0x1fabf, 0x1fac5},
  {0x1face, 0x1fadb}, {0x1fae0, 0x1fae8}, {0x1faf0, 0x1faf8}, {0x20000, 0x2a6df}, {0x2a700, 0x2b739}, {0x2b740, 0x2b81d}, {0x2b820, 0x2cea1}, {0x2ceb0, 0x2ebe0},
  {0x2ebf0, 0x2ee5d}, {0x2f800, 0x2fa1d}, {0x30000, 0x3134a}, {0x31350, 0x323af},
};

static TSCharacterRange aux_sym_simple_identifier_token1_character_set_2[] = {
  {'#', '#'}, {'*', '*'}, {'0', '9'}, {'A', 'Z'}, {'_', '_'}, {'a', 'z'}, {0xa9, 0xaa}, {0xae, 0xae},
  {0xb5, 0xb5}, {0xb7, 0xb7}, {0xba, 0xba}, {0xc0, 0xd6}, {0xd8, 0xf6}, {0xf8, 0x2c1}, {0x2c6, 0x2d1}, {0x2e0, 0x2e4},
  {0x2ec, 0x2ec}, {0x2ee, 0x2ee}, {0x300, 0x374}, {0x376, 0x377}, {0x37b, 0x37d}, {0x37f, 0x37f}, {0x386, 0x38a}, {0x38c, 0x38c},
  {0x38e, 0x3a1}, {0x3a3, 0x3f5}, {0x3f7, 0x481}, {0x483, 0x487}, {0x48a, 0x52f}, {0x531, 0x556}, {0x559, 0x559}, {0x560, 0x588},
  {0x591, 0x5bd}, {0x5bf, 0x5bf}, {0x5c1, 0x5c2}, {0x5c4, 0x5c5}, {0x5c7, 0x5c7}, {0x5d0, 0x5ea}, {0x5ef, 0x5f2}, {0x610, 0x61a},
  {0x620, 0x669}, {0x66e, 0x6d3}, {0x6d5, 0x6dc}, {0x6df, 0x6e8}, {0x6ea, 0x6fc}, {0x6ff, 0x6ff}, {0x710, 0x74a}, {0x74d, 0x7b1},
  {0x7c0, 0x7f5}, {0x7fa, 0x7fa}, {0x7fd, 0x7fd}, {0x800, 0x82d}, {0x840, 0x85b}, {0x860, 0x86a}, {0x870, 0x887}, {0x889, 0x88e},
  {0x898, 0x8e1}, {0x8e3, 0x963}, {0x966, 0x96f}, {0x971, 0x983}, {0x985, 0x98c}, {0x98f, 0x990}, {0x993, 0x9a8}, {0x9aa, 0x9b0},
  {0x9b2, 0x9b2}, {0x9b6, 0x9b9}, {0x9bc, 0x9c4}, {0x9c7, 0x9c8}, {0x9cb, 0x9ce}, {0x9d7, 0x9d7}, {0x9dc, 0x9dd}, {0x9df, 0x9e3},
  {0x9e6, 0x9f1}, {0x9fc, 0x9fc}, {0x9fe, 0x9fe}, {0xa01, 0xa03}, {0xa05, 0xa0a}, {0xa0f, 0xa10}, {0xa13, 0xa28}, {0xa2a, 0xa30},
  {0xa32, 0xa33}, {0xa35, 0xa36}, {0xa38, 0xa39}, {0xa3c, 0xa3c}, {0xa3e, 0xa42}, {0xa47, 0xa48}, {0xa4b, 0xa4d}, {0xa51, 0xa51},
  {0xa59, 0xa5c}, {0xa5e, 0xa5e}, {0xa66, 0xa75}, {0xa81, 0xa83}, {0xa85, 0xa8d}, {0xa8f, 0xa91}, {0xa93, 0xaa8}, {0xaaa, 0xab0},
  {0xab2, 0xab3}, {0xab5, 0xab9}, {0xabc, 0xac5}, {0xac7, 0xac9}, {0xacb, 0xacd}, {0xad0, 0xad0}, {0xae0, 0xae3}, {0xae6, 0xaef},
  {0xaf9, 0xaff}, {0xb01, 0xb03}, {0xb05, 0xb0c}, {0xb0f, 0xb10}, {0xb13, 0xb28}, {0xb2a, 0xb30}, {0xb32, 0xb33}, {0xb35, 0xb39},
  {0xb3c, 0xb44}, {0xb47, 0xb48}, {0xb4b, 0xb4d}, {0xb55, 0xb57}, {0xb5c, 0xb5d}, {0xb5f, 0xb63}, {0xb66, 0xb6f}, {0xb71, 0xb71},
  {0xb82, 0xb83}, {0xb85, 0xb8a}, {0xb8e, 0xb90}, {0xb92, 0xb95}, {0xb99, 0xb9a}, {0xb9c, 0xb9c}, {0xb9e, 0xb9f}, {0xba3, 0xba4},
  {0xba8, 0xbaa}, {0xbae, 0xbb9}, {0xbbe, 0xbc2}, {0xbc6, 0xbc8}, {0xbca, 0xbcd}, {0xbd0, 0xbd0}, {0xbd7, 0xbd7}, {0xbe6, 0xbef},
  {0xc00, 0xc0c}, {0xc0e, 0xc10}, {0xc12, 0xc28}, {0xc2a, 0xc39}, {0xc3c, 0xc44}, {0xc46, 0xc48}, {0xc4a, 0xc4d}, {0xc55, 0xc56},
  {0xc58, 0xc5a}, {0xc5d, 0xc5d}, {0xc60, 0xc63}, {0xc66, 0xc6f}, {0xc80, 0xc83}, {0xc85, 0xc8c}, {0xc8e, 0xc90}, {0xc92, 0xca8},
  {0xcaa, 0xcb3}, {0xcb5, 0xcb9}, {0xcbc, 0xcc4}, {0xcc6, 0xcc8}, {0xcca, 0xccd}, {0xcd5, 0xcd6}, {0xcdd, 0xcde}, {0xce0, 0xce3},
  {0xce6, 0xcef}, {0xcf1, 0xcf3}, {0xd00, 0xd0c}, {0xd0e, 0xd10}, {0xd12, 0xd44}, {0xd46, 0xd48}, {0xd4a, 0xd4e}, {0xd54, 0xd57},
  {0xd5f, 0xd63}, {0xd66, 0xd6f}, {0xd7a, 0xd7f}, {0xd81, 0xd83}, {0xd85, 0xd96}, {0xd9a, 0xdb1}, {0xdb3, 0xdbb}, {0xdbd, 0xdbd},
  {0xdc0, 0xdc6}, {0xdca, 0xdca}, {0xdcf, 0xdd4}, {0xdd6, 0xdd6}, {0xdd8, 0xddf}, {0xde6, 0xdef}, {0xdf2, 0xdf3}, {0xe01, 0xe3a},
  {0xe40, 0xe4e}, {0xe50, 0xe59}, {0xe81, 0xe82}, {0xe84, 0xe84}, {0xe86, 0xe8a}, {0xe8c, 0xea3}, {0xea5, 0xea5}, {0xea7, 0xebd},
  {0xec0, 0xec4}, {0xec6, 0xec6}, {0xec8, 0xece}, {0xed0, 0xed9}, {0xedc, 0xedf}, {0xf00, 0xf00}, {0xf18, 0xf19}, {0xf20, 0xf29},
  {0xf35, 0xf35}, {0xf37, 0xf37}, {0xf39, 0xf39}, {0xf3e, 0xf47}, {0xf49, 0xf6c}, {0xf71, 0xf84}, {0xf86, 0xf97}, {0xf99, 0xfbc},
  {0xfc6, 0xfc6}, {0x1000, 0x1049}, {0x1050, 0x109d}, {0x10a0, 0x10c5}, {0x10c7, 0x10c7}, {0x10cd, 0x10cd}, {0x10d0, 0x10fa}, {0x10fc, 0x1248},
  {0x124a, 0x124d}, {0x1250, 0x1256}, {0x1258, 0x1258}, {0x125a, 0x125d}, {0x1260, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12b0}, {0x12b2, 0x12b5},
  {0x12b8, 0x12be}, {0x12c0, 0x12c0}, {0x12c2, 0x12c5}, {0x12c8, 0x12d6}, {0x12d8, 0x1310}, {0x1312, 0x1315}, {0x1318, 0x135a}, {0x135d, 0x135f},
  {0x1369, 0x1371}, {0x1380, 0x138f}, {0x13a0, 0x13f5}, {0x13f8, 0x13fd}, {0x1401, 0x166c}, {0x166f, 0x167f}, {0x1681, 0x169a}, {0x16a0, 0x16ea},
  {0x16ee, 0x16f8}, {0x1700, 0x1715}, {0x171f, 0x1734}, {0x1740, 0x1753}, {0x1760, 0x176c}, {0x176e, 0x1770}, {0x1772, 0x1773}, {0x1780, 0x17d3},
  {0x17d7, 0x17d7}, {0x17dc, 0x17dd}, {0x17e0, 0x17e9}, {0x180b, 0x180d}, {0x180f, 0x1819}, {0x1820, 0x1878}, {0x1880, 0x18aa}, {0x18b0, 0x18f5},
  {0x1900, 0x191e}, {0x1920, 0x192b}, {0x1930, 0x193b}, {0x1946, 0x196d}, {0x1970, 0x1974}, {0x1980, 0x19ab}, {0x19b0, 0x19c9}, {0x19d0, 0x19da},
  {0x1a00, 0x1a1b}, {0x1a20, 0x1a5e}, {0x1a60, 0x1a7c}, {0x1a7f, 0x1a89}, {0x1a90, 0x1a99}, {0x1aa7, 0x1aa7}, {0x1ab0, 0x1abd}, {0x1abf, 0x1ace},
  {0x1b00, 0x1b4c}, {0x1b50, 0x1b59}, {0x1b6b, 0x1b73}, {0x1b80, 0x1bf3}, {0x1c00, 0x1c37}, {0x1c40, 0x1c49}, {0x1c4d, 0x1c7d}, {0x1c80, 0x1c88},
  {0x1c90, 0x1cba}, {0x1cbd, 0x1cbf}, {0x1cd0, 0x1cd2}, {0x1cd4, 0x1cfa}, {0x1d00, 0x1f15}, {0x1f18, 0x1f1d}, {0x1f20, 0x1f45}, {0x1f48, 0x1f4d},
  {0x1f50, 0x1f57}, {0x1f59, 0x1f59}, {0x1f5b, 0x1f5b}, {0x1f5d, 0x1f5d}, {0x1f5f, 0x1f7d}, {0x1f80, 0x1fb4}, {0x1fb6, 0x1fbc}, {0x1fbe, 0x1fbe},
  {0x1fc2, 0x1fc4}, {0x1fc6, 0x1fcc}, {0x1fd0, 0x1fd3}, {0x1fd6, 0x1fdb}, {0x1fe0, 0x1fec}, {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ffc}, {0x200c, 0x200d},
  {0x203c, 0x203c}, {0x203f, 0x2040}, {0x2049, 0x2049}, {0x2054, 0x2054}, {0x2071, 0x2071}, {0x207f, 0x207f}, {0x2090, 0x209c}, {0x20d0, 0x20dc},
  {0x20e1, 0x20e1}, {0x20e5, 0x20f0}, {0x2102, 0x2102}, {0x2107, 0x2107}, {0x210a, 0x2113}, {0x2115, 0x2115}, {0x2118, 0x211d}, {0x2122, 0x2122},
  {0x2124, 0x2124}, {0x2126, 0x2126}, {0x2128, 0x2128}, {0x212a, 0x2139}, {0x213c, 0x213f}, {0x2145, 0x2149}, {0x214e, 0x214e}, {0x2160, 0x2188},
  {0x2194, 0x2199}, {0x21a9, 0x21aa}, {0x231a, 0x231b}, {0x2328, 0x2328}, {0x23cf, 0x23cf}, {0x23e9, 0x23f3}, {0x23f8, 0x23fa}, {0x24c2, 0x24c2},
  {0x25aa, 0x25ab}, {0x25b6, 0x25b6}, {0x25c0, 0x25c0}, {0x25fb, 0x25fe}, {0x2600, 0x2604}, {0x260e, 0x260e}, {0x2611, 0x2611}, {0x2614, 0x2615},
  {0x2618, 0x2618}, {0x261d, 0x261d}, {0x2620, 0x2620}, {0x2622, 0x2623}, {0x2626, 0x2626}, {0x262a, 0x262a}, {0x262e, 0x262f}, {0x2638, 0x263a},
  {0x2640, 0x2640}, {0x2642, 0x2642}, {0x2648, 0x2653}, {0x265f, 0x2660}, {0x2663, 0x2663}, {0x2665, 0x2666}, {0x2668, 0x2668}, {0x267b, 0x267b},
  {0x267e, 0x267f}, {0x2692, 0x2697}, {0x2699, 0x2699}, {0x269b, 0x269c}, {0x26a0, 0x26a1}, {0x26a7, 0x26a7}, {0x26aa, 0x26ab}, {0x26b0, 0x26b1},
  {0x26bd, 0x26be}, {0x26c4, 0x26c5}, {0x26c8, 0x26c8}, {0x26ce, 0x26cf}, {0x26d1, 0x26d1}, {0x26d3, 0x26d4}, {0x26e9, 0x26ea}, {0x26f0, 0x26f5},
  {0x26f7, 0x26fa}, {0x26fd, 0x26fd}, {0x2702, 0x2702}, {0x2705, 0x2705}, {0x2708, 0x270d}, {0x270f, 0x270f}, {0x2712, 0x2712}, {0x2714, 0x2714},
  {0x2716, 0x2716}, {0x271d, 0x271d}, {0x2721, 0x2721}, {0x2728, 0x2728}, {0x2733, 0x2734}, {0x2744, 0x2744}, {0x2747, 0x2747}, {0x274c, 0x274c},
  {0x274e, 0x274e}, {0x2753, 0x2755}, {0x2757, 0x2757}, {0x2763, 0x2764}, {0x2795, 0x2797}, {0x27a1, 0x27a1}, {0x27b0, 0x27b0}, {0x27bf, 0x27bf},
  {0x2934, 0x2935}, {0x2b05, 0x2b07}, {0x2b1b, 0x2b1c}, {0x2b50, 0x2b50}, {0x2b55, 0x2b55}, {0x2c00, 0x2ce4}, {0x2ceb, 0x2cf3}, {0x2d00, 0x2d25},
  {0x2d27, 0x2d27}, {0x2d2d, 0x2d2d}, {0x2d30, 0x2d67}, {0x2d6f, 0x2d6f}, {0x2d7f, 0x2d96}, {0x2da0, 0x2da6}, {0x2da8, 0x2dae}, {0x2db0, 0x2db6},
  {0x2db8, 0x2dbe}, {0x2dc0, 0x2dc6}, {0x2dc8, 0x2dce}, {0x2dd0, 0x2dd6}, {0x2dd8, 0x2dde}, {0x2de0, 0x2dff}, {0x3005, 0x3007}, {0x3021, 0x3035},
  {0x3038, 0x303d}, {0x3041, 0x3096}, {0x3099, 0x309a}, {0x309d, 0x309f}, {0x30a1, 0x30ff}, {0x3105, 0x312f}, {0x3131, 0x318e}, {0x31a0, 0x31bf},
  {0x31f0, 0x31ff}, {0x3297, 0x3297}, {0x3299, 0x3299}, {0x3400, 0x4dbf}, {0x4e00, 0xa48c}, {0xa4d0, 0xa4fd}, {0xa500, 0xa60c}, {0xa610, 0xa62b},
  {0xa640, 0xa66f}, {0xa674, 0xa67d}, {0xa67f, 0xa6f1}, {0xa717, 0xa71f}, {0xa722, 0xa788}, {0xa78b, 0xa7ca}, {0xa7d0, 0xa7d1}, {0xa7d3, 0xa7d3},
  {0xa7d5, 0xa7d9}, {0xa7f2, 0xa827}, {0xa82c, 0xa82c}, {0xa840, 0xa873}, {0xa880, 0xa8c5}, {0xa8d0, 0xa8d9}, {0xa8e0, 0xa8f7}, {0xa8fb, 0xa8fb},
  {0xa8fd, 0xa92d}, {0xa930, 0xa953}, {0xa960, 0xa97c}, {0xa980, 0xa9c0}, {0xa9cf, 0xa9d9}, {0xa9e0, 0xa9fe}, {0xaa00, 0xaa36}, {0xaa40, 0xaa4d},
  {0xaa50, 0xaa59}, {0xaa60, 0xaa76}, {0xaa7a, 0xaac2}, {0xaadb, 0xaadd}, {0xaae0, 0xaaef}, {0xaaf2, 0xaaf6}, {0xab01, 0xab06}, {0xab09, 0xab0e},
  {0xab11, 0xab16}, {0xab20, 0xab26}, {0xab28, 0xab2e}, {0xab30, 0xab5a}, {0xab5c, 0xab69}, {0xab70, 0xabea}, {0xabec, 0xabed}, {0xabf0, 0xabf9},
  {0xac00, 0xd7a3}, {0xd7b0, 0xd7c6}, {0xd7cb, 0xd7fb}, {0xf900, 0xfa6d}, {0xfa70, 0xfad9}, {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, {0xfb1d, 0xfb28},
  {0xfb2a, 0xfb36}, {0xfb38, 0xfb3c}, {0xfb3e, 0xfb3e}, {0xfb40, 0xfb41}, {0xfb43, 0xfb44}, {0xfb46, 0xfbb1}, {0xfbd3, 0xfc5d}, {0xfc64, 0xfd3d},
  {0xfd50, 0xfd8f}, {0xfd92, 0xfdc7}, {0xfdf0, 0xfdf9}, {0xfe00, 0xfe0f}, {0xfe20, 0xfe2f}, {0xfe33, 0xfe34}, {0xfe4d, 0xfe4f}, {0xfe71, 0xfe71},
  {0xfe73, 0xfe73}, {0xfe77, 0xfe77}, {0xfe79, 0xfe79}, {0xfe7b, 0xfe7b}, {0xfe7d, 0xfe7d}, {0xfe7f, 0xfefc}, {0xff10, 0xff19}, {0xff21, 0xff3a},
  {0xff3f, 0xff3f}, {0xff41, 0xff5a}, {0xff65, 0xffbe}, {0xffc2, 0xffc7}, {0xffca, 0xffcf}, {0xffd2, 0xffd7}, {0xffda, 0xffdc}, {0x10000, 0x1000b},
  {0x1000d, 0x10026}, {0x10028, 0x1003a}, {0x1003c, 0x1003d}, {0x1003f, 0x1004d}, {0x10050, 0x1005d}, {0x10080, 0x100fa}, {0x10140, 0x10174}, {0x101fd, 0x101fd},
  {0x10280, 0x1029c}, {0x102a0, 0x102d0}, {0x102e0, 0x102e0}, {0x10300, 0x1031f}, {0x1032d, 0x1034a}, {0x10350, 0x1037a}, {0x10380, 0x1039d}, {0x103a0, 0x103c3},
  {0x103c8, 0x103cf}, {0x103d1, 0x103d5}, {0x10400, 0x1049d}, {0x104a0, 0x104a9}, {0x104b0, 0x104d3}, {0x104d8, 0x104fb}, {0x10500, 0x10527}, {0x10530, 0x10563},
  {0x10570, 0x1057a}, {0x1057c, 0x1058a}, {0x1058c, 0x10592}, {0x10594, 0x10595}, {0x10597, 0x105a1}, {0x105a3, 0x105b1}, {0x105b3, 0x105b9}, {0x105bb, 0x105bc},
  {0x10600, 0x10736}, {0x10740, 0x10755}, {0x10760, 0x10767}, {0x10780, 0x10785}, {0x10787, 0x107b0}, {0x107b2, 0x107ba}, {0x10800, 0x10805}, {0x10808, 0x10808},
  {0x1080a, 0x10835}, {0x10837, 0x10838}, {0x1083c, 0x1083c}, {0x1083f, 0x10855}, {0x10860, 0x10876}, {0x10880, 0x1089e}, {0x108e0, 0x108f2}, {0x108f4, 0x108f5},
  {0x10900, 0x10915}, {0x10920, 0x10939}, {0x10980, 0x109b7}, {0x109be, 0x109bf}, {0x10a00, 0x10a03}, {0x10a05, 0x10a06}, {0x10a0c, 0x10a13}, {0x10a15, 0x10a17},
  {0x10a19, 0x10a35}, {0x10a38, 0x10a3a}, {0x10a3f, 0x10a3f}, {0x10a60, 0x10a7c}, {0x10a80, 0x10a9c}, {0x10ac0, 0x10ac7}, {0x10ac9, 0x10ae6}, {0x10b00, 0x10b35},
  {0x10b40, 0x10b55}, {0x10b60, 0x10b72}, {0x10b80, 0x10b91}, {0x10c00, 0x10c48}, {0x10c80, 0x10cb2}, {0x10cc0, 0x10cf2}, {0x10d00, 0x10d27}, {0x10d30, 0x10d39},
  {0x10e80, 0x10ea9}, {0x10eab, 0x10eac}, {0x10eb0, 0x10eb1}, {0x10efd, 0x10f1c}, {0x10f27, 0x10f27}, {0x10f30, 0x10f50}, {0x10f70, 0x10f85}, {0x10fb0, 0x10fc4},
  {0x10fe0, 0x10ff6}, {0x11000, 0x11046}, {0x11066, 0x11075}, {0x1107f, 0x110ba}, {0x110c2, 0x110c2}, {0x110d0, 0x110e8}, {0x110f0, 0x110f9}, {0x11100, 0x11134},
  {0x11136, 0x1113f}, {0x11144, 0x11147}, {0x11150, 0x11173}, {0x11176, 0x11176}, {0x11180, 0x111c4}, {0x111c9, 0x111cc}, {0x111ce, 0x111da}, {0x111dc, 0x111dc},
  {0x11200, 0x11211}, {0x11213, 0x11237}, {0x1123e, 0x11241}, {0x11280, 0x11286}, {0x11288, 0x11288}, {0x1128a, 0x1128d}, {0x1128f, 0x1129d}, {0x1129f, 0x112a8},
  {0x112b0, 0x112ea}, {0x112f0, 0x112f9}, {0x11300, 0x11303}, {0x11305, 0x1130c}, {0x1130f, 0x11310}, {0x11313, 0x11328}, {0x1132a, 0x11330}, {0x11332, 0x11333},
  {0x11335, 0x11339}, {0x1133b, 0x11344}, {0x11347, 0x11348}, {0x1134b, 0x1134d}, {0x11350, 0x11350}, {0x11357, 0x11357}, {0x1135d, 0x11363}, {0x11366, 0x1136c},
  {0x11370, 0x11374}, {0x11400, 0x1144a}, {0x11450, 0x11459}, {0x1145e, 0x11461}, {0x11480, 0x114c5}, {0x114c7, 0x114c7}, {0x114d0, 0x114d9}, {0x11580, 0x115b5},
  {0x115b8, 0x115c0}, {0x115d8, 0x115dd}, {0x11600, 0x11640}, {0x11644, 0x11644}, {0x11650, 0x11659}, {0x11680, 0x116b8}, {0x116c0, 0x116c9}, {0x11700, 0x1171a},
  {0x1171d, 0x1172b}, {0x11730, 0x11739}, {0x11740, 0x11746}, {0x11800, 0x1183a}, {0x118a0, 0x118e9}, {0x118ff, 0x11906}, {0x11909, 0x11909}, {0x1190c, 0x11913},
  {0x11915, 0x11916}, {0x11918, 0x11935}, {0x11937, 0x11938}, {0x1193b, 0x11943}, {0x11950, 0x11959}, {0x119a0, 0x119a7}, {0x119aa, 0x119d7}, {0x119da, 0x119e1},
  {0x119e3, 0x119e4}, {0x11a00, 0x11a3e}, {0x11a47, 0x11a47}, {0x11a50, 0x11a99}, {0x11a9d, 0x11a9d}, {0x11ab0, 0x11af8}, {0x11c00, 0x11c08}, {0x11c0a, 0x11c36},
  {0x11c38, 0x11c40}, {0x11c50, 0x11c59}, {0x11c72, 0x11c8f}, {0x11c92, 0x11ca7}, {0x11ca9, 0x11cb6}, {0x11d00, 0x11d06}, {0x11d08, 0x11d09}, {0x11d0b, 0x11d36},
  {0x11d3a, 0x11d3a}, {0x11d3c, 0x11d3d}, {0x11d3f, 0x11d47}, {0x11d50, 0x11d59}, {0x11d60, 0x11d65}, {0x11d67, 0x11d68}, {0x11d6a, 0x11d8e}, {0x11d90, 0x11d91},
  {0x11d93, 0x11d98}, {0x11da0, 0x11da9}, {0x11ee0, 0x11ef6}, {0x11f00, 0x11f10}, {0x11f12, 0x11f3a}, {0x11f3e, 0x11f42}, {0x11f50, 0x11f59}, {0x11fb0, 0x11fb0},
  {0x12000, 0x12399}, {0x12400, 0x1246e}, {0x12480, 0x12543}, {0x12f90, 0x12ff0}, {0x13000, 0x1342f}, {0x13440, 0x13455}, {0x14400, 0x14646}, {0x16800, 0x16a38},
  {0x16a40, 0x16a5e}, {0x16a60, 0x16a69}, {0x16a70, 0x16abe}, {0x16ac0, 0x16ac9}, {0x16ad0, 0x16aed}, {0x16af0, 0x16af4}, {0x16b00, 0x16b36}, {0x16b40, 0x16b43},
  {0x16b50, 0x16b59}, {0x16b63, 0x16b77}, {0x16b7d, 0x16b8f}, {0x16e40, 0x16e7f}, {0x16f00, 0x16f4a}, {0x16f4f, 0x16f87}, {0x16f8f, 0x16f9f}, {0x16fe0, 0x16fe1},
  {0x16fe3, 0x16fe4}, {0x16ff0, 0x16ff1}, {0x17000, 0x187f7}, {0x18800, 0x18cd5}, {0x18d00, 0x18d08}, {0x1aff0, 0x1aff3}, {0x1aff5, 0x1affb}, {0x1affd, 0x1affe},
  {0x1b000, 0x1b122}, {0x1b132, 0x1b132}, {0x1b150, 0x1b152}, {0x1b155, 0x1b155}, {0x1b164, 0x1b167}, {0x1b170, 0x1b2fb}, {0x1bc00, 0x1bc6a}, {0x1bc70, 0x1bc7c},
  {0x1bc80, 0x1bc88}, {0x1bc90, 0x1bc99}, {0x1bc9d, 0x1bc9e}, {0x1cf00, 0x1cf2d}, {0x1cf30, 0x1cf46}, {0x1d165, 0x1d169}, {0x1d16d, 0x1d172}, {0x1d17b, 0x1d182},
  {0x1d185, 0x1d18b}, {0x1d1aa, 0x1d1ad}, {0x1d242, 0x1d244}, {0x1d400, 0x1d454}, {0x1d456, 0x1d49c}, {0x1d49e, 0x1d49f}, {0x1d4a2, 0x1d4a2}, {0x1d4a5, 0x1d4a6},
  {0x1d4a9, 0x1d4ac}, {0x1d4ae, 0x1d4b9}, {0x1d4bb, 0x1d4bb}, {0x1d4bd, 0x1d4c3}, {0x1d4c5, 0x1d505}, {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514}, {0x1d516, 0x1d51c},
  {0x1d51e, 0x1d539}, {0x1d53b, 0x1d53e}, {0x1d540, 0x1d544}, {0x1d546, 0x1d546}, {0x1d54a, 0x1d550}, {0x1d552, 0x1d6a5}, {0x1d6a8, 0x1d6c0}, {0x1d6c2, 0x1d6da},
  {0x1d6dc, 0x1d6fa}, {0x1d6fc, 0x1d714}, {0x1d716, 0x1d734}, {0x1d736, 0x1d74e}, {0x1d750, 0x1d76e}, {0x1d770, 0x1d788}, {0x1d78a, 0x1d7a8}, {0x1d7aa, 0x1d7c2},
  {0x1d7c4, 0x1d7cb}, {0x1d7ce, 0x1d7ff}, {0x1da00, 0x1da36}, {0x1da3b, 0x1da6c}, {0x1da75, 0x1da75}, {0x1da84, 0x1da84}, {0x1da9b, 0x1da9f}, {0x1daa1, 0x1daaf},
  {0x1df00, 0x1df1e}, {0x1df25, 0x1df2a}, {0x1e000, 0x1e006}, {0x1e008, 0x1e018}, {0x1e01b, 0x1e021}, {0x1e023, 0x1e024}, {0x1e026, 0x1e02a}, {0x1e030, 0x1e06d},
  {0x1e08f, 0x1e08f}, {0x1e100, 0x1e12c}, {0x1e130, 0x1e13d}, {0x1e140, 0x1e149}, {0x1e14e, 0x1e14e}, {0x1e290, 0x1e2ae}, {0x1e2c0, 0x1e2f9}, {0x1e4d0, 0x1e4f9},
  {0x1e7e0, 0x1e7e6}, {0x1e7e8, 0x1e7eb}, {0x1e7ed, 0x1e7ee}, {0x1e7f0, 0x1e7fe}, {0x1e800, 0x1e8c4}, {0x1e8d0, 0x1e8d6}, {0x1e900, 0x1e94b}, {0x1e950, 0x1e959},
  {0x1ee00, 0x1ee03}, {0x1ee05, 0x1ee1f}, {0x1ee21, 0x1ee22}, {0x1ee24, 0x1ee24}, {0x1ee27, 0x1ee27}, {0x1ee29, 0x1ee32}, {0x1ee34, 0x1ee37}, {0x1ee39, 0x1ee39},
  {0x1ee3b, 0x1ee3b}, {0x1ee42, 0x1ee42}, {0x1ee47, 0x1ee47}, {0x1ee49, 0x1ee49}, {0x1ee4b, 0x1ee4b}, {0x1ee4d, 0x1ee4f}, {0x1ee51, 0x1ee52}, {0x1ee54, 0x1ee54},
  {0x1ee57, 0x1ee57}, {0x1ee59, 0x1ee59}, {0x1ee5b, 0x1ee5b}, {0x1ee5d, 0x1ee5d}, {0x1ee5f, 0x1ee5f}, {0x1ee61, 0x1ee62}, {0x1ee64, 0x1ee64}, {0x1ee67, 0x1ee6a},
  {0x1ee6c, 0x1ee72}, {0x1ee74, 0x1ee77}, {0x1ee79, 0x1ee7c}, {0x1ee7e, 0x1ee7e}, {0x1ee80, 0x1ee89}, {0x1ee8b, 0x1ee9b}, {0x1eea1, 0x1eea3}, {0x1eea5, 0x1eea9},
  {0x1eeab, 0x1eebb}, {0x1f004, 0x1f004}, {0x1f0cf, 0x1f0cf}, {0x1f170, 0x1f171}, {0x1f17e, 0x1f17f}, {0x1f18e, 0x1f18e}, {0x1f191, 0x1f19a}, {0x1f1e6, 0x1f1ff},
  {0x1f201, 0x1f202}, {0x1f21a, 0x1f21a}, {0x1f22f, 0x1f22f}, {0x1f232, 0x1f23a}, {0x1f250, 0x1f251}, {0x1f300, 0x1f321}, {0x1f324, 0x1f393}, {0x1f396, 0x1f397},
  {0x1f399, 0x1f39b}, {0x1f39e, 0x1f3f0}, {0x1f3f3, 0x1f3f5}, {0x1f3f7, 0x1f4fd}, {0x1f4ff, 0x1f53d}, {0x1f549, 0x1f54e}, {0x1f550, 0x1f567}, {0x1f56f, 0x1f570},
  {0x1f573, 0x1f57a}, {0x1f587, 0x1f587}, {0x1f58a, 0x1f58d}, {0x1f590, 0x1f590}, {0x1f595, 0x1f596}, {0x1f5a4, 0x1f5a5}, {0x1f5a8, 0x1f5a8}, {0x1f5b1, 0x1f5b2},
  {0x1f5bc, 0x1f5bc}, {0x1f5c2, 0x1f5c4}, {0x1f5d1, 0x1f5d3}, {0x1f5dc, 0x1f5de}, {0x1f5e1, 0x1f5e1}, {0x1f5e3, 0x1f5e3}, {0x1f5e8, 0x1f5e8}, {0x1f5ef, 0x1f5ef},
  {0x1f5f3, 0x1f5f3}, {0x1f5fa, 0x1f64f}, {0x1f680, 0x1f6c5}, {0x1f6cb, 0x1f6d2}, {0x1f6d5, 0x1f6d7}, {0x1f6dc, 0x1f6e5}, {0x1f6e9, 0x1f6e9}, {0x1f6eb, 0x1f6ec},
  {0x1f6f0, 0x1f6f0}, {0x1f6f3, 0x1f6fc}, {0x1f7e0, 0x1f7eb}, {0x1f7f0, 0x1f7f0}, {0x1f90c, 0x1f93a}, {0x1f93c, 0x1f945}, {0x1f947, 0x1f9ff}, {0x1fa70, 0x1fa7c},
  {0x1fa80, 0x1fa88}, {0x1fa90, 0x1fabd}, {0x1fabf, 0x1fac5}, {0x1face, 0x1fadb}, {0x1fae0, 0x1fae8}, {0x1faf0, 0x1faf8}, {0x1fbf0, 0x1fbf9}, {0x20000, 0x2a6df},
  {0x2a700, 0x2b739}, {0x2b740, 0x2b81d}, {0x2b820, 0x2cea1}, {0x2ceb0, 0x2ebe0}, {0x2ebf0, 0x2ee5d}, {0x2f800, 0x2fa1d}, {0x30000, 0x3134a}, {0x31350, 0x323af},
  {0xe0100, 0xe01ef},
};

static TSCharacterRange aux_sym_simple_identifier_token1_character_set_3[] = {
  {'#', '#'}, {'*', '*'}, {'0', '9'}, {'A', 'Z'}, {'_', '_'}, {'a', 'z'}, {0xa9, 0xaa}, {0xae, 0xae},
  {0xb5, 0xb5}, {0xb7, 0xb7}, {0xba, 0xba}, {0xc0, 0xd6}, {0xd8, 0xf6}, {0xf8, 0x2c1}, {0x2c6, 0x2d1}, {0x2e0, 0x2e4},
  {0x2ec, 0x2ec}, {0x2ee, 0x2ee}, {0x300, 0x374}, {0x376, 0x377}, {0x37b, 0x37d}, {0x37f, 0x37f}, {0x386, 0x38a}, {0x38c, 0x38c},
  {0x38e, 0x3a1}, {0x3a3, 0x3f5}, {0x3f7, 0x481}, {0x483, 0x487}, {0x48a, 0x52f}, {0x531, 0x556}, {0x559, 0x559}, {0x560, 0x588},
  {0x591, 0x5bd}, {0x5bf, 0x5bf}, {0x5c1, 0x5c2}, {0x5c4, 0x5c5}, {0x5c7, 0x5c7}, {0x5d0, 0x5ea}, {0x5ef, 0x5f2}, {0x610, 0x61a},
  {0x620, 0x669}, {0x66e, 0x6d3}, {0x6d5, 0x6dc}, {0x6df, 0x6e8}, {0x6ea, 0x6fc}, {0x6ff, 0x6ff}, {0x710, 0x74a}, {0x74d, 0x7b1},
  {0x7c0, 0x7f5}, {0x7fa, 0x7fa}, {0x7fd, 0x7fd}, {0x800, 0x82d}, {0x840, 0x85b}, {0x860, 0x86a}, {0x870, 0x887}, {0x889, 0x88e},
  {0x898, 0x8e1}, {0x8e3, 0x963}, {0x966, 0x96f}, {0x971, 0x983}, {0x985, 0x98c}, {0x98f, 0x990}, {0x993, 0x9a8}, {0x9aa, 0x9b0},
  {0x9b2, 0x9b2}, {0x9b6, 0x9b9}, {0x9bc, 0x9c4}, {0x9c7, 0x9c8}, {0x9cb, 0x9ce}, {0x9d7, 0x9d7}, {0x9dc, 0x9dd}, {0x9df, 0x9e3},
  {0x9e6, 0x9f1}, {0x9fc, 0x9fc}, {0x9fe, 0x9fe}, {0xa01, 0xa03}, {0xa05, 0xa0a}, {0xa0f, 0xa10}, {0xa13, 0xa28}, {0xa2a, 0xa30},
  {0xa32, 0xa33}, {0xa35, 0xa36}, {0xa38, 0xa39}, {0xa3c, 0xa3c}, {0xa3e, 0xa42}, {0xa47, 0xa48}, {0xa4b, 0xa4d}, {0xa51, 0xa51},
  {0xa59, 0xa5c}, {0xa5e, 0xa5e}, {0xa66, 0xa75}, {0xa81, 0xa83}, {0xa85, 0xa8d}, {0xa8f, 0xa91}, {0xa93, 0xaa8}, {0xaaa, 0xab0},
  {0xab2, 0xab3}, {0xab5, 0xab9}, {0xabc, 0xac5}, {0xac7, 0xac9}, {0xacb, 0xacd}, {0xad0, 0xad0}, {0xae0, 0xae3}, {0xae6, 0xaef},
  {0xaf9, 0xaff}, {0xb01, 0xb03}, {0xb05, 0xb0c}, {0xb0f, 0xb10}, {0xb13, 0xb28}, {0xb2a, 0xb30}, {0xb32, 0xb33}, {0xb35, 0xb39},
  {0xb3c, 0xb44}, {0xb47, 0xb48}, {0xb4b, 0xb4d}, {0xb55, 0xb57}, {0xb5c, 0xb5d}, {0xb5f, 0xb63}, {0xb66, 0xb6f}, {0xb71, 0xb71},
  {0xb82, 0xb83}, {0xb85, 0xb8a}, {0xb8e, 0xb90}, {0xb92, 0xb95}, {0xb99, 0xb9a}, {0xb9c, 0xb9c}, {0xb9e, 0xb9f}, {0xba3, 0xba4},
  {0xba8, 0xbaa}, {0xbae, 0xbb9}, {0xbbe, 0xbc2}, {0xbc6, 0xbc8}, {0xbca, 0xbcd}, {0xbd0, 0xbd0}, {0xbd7, 0xbd7}, {0xbe6, 0xbef},
  {0xc00, 0xc0c}, {0xc0e, 0xc10}, {0xc12, 0xc28}, {0xc2a, 0xc39}, {0xc3c, 0xc44}, {0xc46, 0xc48}, {0xc4a, 0xc4d}, {0xc55, 0xc56},
  {0xc58, 0xc5a}, {0xc5d, 0xc5d}, {0xc60, 0xc63}, {0xc66, 0xc6f}, {0xc80, 0xc83}, {0xc85, 0xc8c}, {0xc8e, 0xc90}, {0xc92, 0xca8},
  {0xcaa, 0xcb3}, {0xcb5, 0xcb9}, {0xcbc, 0xcc4}, {0xcc6, 0xcc8}, {0xcca, 0xccd}, {0xcd5, 0xcd6}, {0xcdd, 0xcde}, {0xce0, 0xce3},
  {0xce6, 0xcef}, {0xcf1, 0xcf3}, {0xd00, 0xd0c}, {0xd0e, 0xd10}, {0xd12, 0xd44}, {0xd46, 0xd48}, {0xd4a, 0xd4e}, {0xd54, 0xd57},
  {0xd5f, 0xd63}, {0xd66, 0xd6f}, {0xd7a, 0xd7f}, {0xd81, 0xd83}, {0xd85, 0xd96}, {0xd9a, 0xdb1}, {0xdb3, 0xdbb}, {0xdbd, 0xdbd},
  {0xdc0, 0xdc6}, {0xdca, 0xdca}, {0xdcf, 0xdd4}, {0xdd6, 0xdd6}, {0xdd8, 0xddf}, {0xde6, 0xdef}, {0xdf2, 0xdf3}, {0xe01, 0xe3a},
  {0xe40, 0xe4e}, {0xe50, 0xe59}, {0xe81, 0xe82}, {0xe84, 0xe84}, {0xe86, 0xe8a}, {0xe8c, 0xea3}, {0xea5, 0xea5}, {0xea7, 0xebd},
  {0xec0, 0xec4}, {0xec6, 0xec6}, {0xec8, 0xece}, {0xed0, 0xed9}, {0xedc, 0xedf}, {0xf00, 0xf00}, {0xf18, 0xf19}, {0xf20, 0xf29},
  {0xf35, 0xf35}, {0xf37, 0xf37}, {0xf39, 0xf39}, {0xf3e, 0xf47}, {0xf49, 0xf6c}, {0xf71, 0xf84}, {0xf86, 0xf97}, {0xf99, 0xfbc},
  {0xfc6, 0xfc6}, {0x1000, 0x1049}, {0x1050, 0x109d}, {0x10a0, 0x10c5}, {0x10c7, 0x10c7}, {0x10cd, 0x10cd}, {0x10d0, 0x10fa}, {0x10fc, 0x1248},
  {0x124a, 0x124d}, {0x1250, 0x1256}, {0x1258, 0x1258}, {0x125a, 0x125d}, {0x1260, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12b0}, {0x12b2, 0x12b5},
  {0x12b8, 0x12be}, {0x12c0, 0x12c0}, {0x12c2, 0x12c5}, {0x12c8, 0x12d6}, {0x12d8, 0x1310}, {0x1312, 0x1315}, {0x1318, 0x135a}, {0x135d, 0x135f},
  {0x1369, 0x1371}, {0x1380, 0x138f}, {0x13a0, 0x13f5}, {0x13f8, 0x13fd}, {0x1401, 0x166c}, {0x166f, 0x167f}, {0x1681, 0x169a}, {0x16a0, 0x16ea},
  {0x16ee, 0x16f8}, {0x1700, 0x1715}, {0x171f, 0x1734}, {0x1740, 0x1753}, {0x1760, 0x176c}, {0x176e, 0x1770}, {0x1772, 0x1773}, {0x1780, 0x17d3},
  {0x17d7, 0x17d7}, {0x17dc, 0x17dd}, {0x17e0, 0x17e9}, {0x180b, 0x180d}, {0x180f, 0x1819}, {0x1820, 0x1878}, {0x1880, 0x18aa}, {0x18b0, 0x18f5},
  {0x1900, 0x191e}, {0x1920, 0x192b}, {0x1930, 0x193b}, {0x1946, 0x196d}, {0x1970, 0x1974}, {0x1980, 0x19ab}, {0x19b0, 0x19c9}, {0x19d0, 0x19da},
  {0x1a00, 0x1a1b}, {0x1a20, 0x1a5e}, {0x1a60, 0x1a7c}, {0x1a7f, 0x1a89}, {0x1a90, 0x1a99}, {0x1aa7, 0x1aa7}, {0x1ab0, 0x1abd}, {0x1abf, 0x1ace},
  {0x1b00, 0x1b4c}, {0x1b50, 0x1b59}, {0x1b6b, 0x1b73}, {0x1b80, 0x1bf3}, {0x1c00, 0x1c37}, {0x1c40, 0x1c49}, {0x1c4d, 0x1c7d}, {0x1c80, 0x1c88},
  {0x1c90, 0x1cba}, {0x1cbd, 0x1cbf}, {0x1cd0, 0x1cd2}, {0x1cd4, 0x1cfa}, {0x1d00, 0x1f15}, {0x1f18, 0x1f1d}, {0x1f20, 0x1f45}, {0x1f48, 0x1f4d},
  {0x1f50, 0x1f57}, {0x1f59, 0x1f59}, {0x1f5b, 0x1f5b}, {0x1f5d, 0x1f5d}, {0x1f5f, 0x1f7d}, {0x1f80, 0x1fb4}, {0x1fb6, 0x1fbc}, {0x1fbe, 0x1fbe},
  {0x1fc2, 0x1fc4}, {0x1fc6, 0x1fcc}, {0x1fd0, 0x1fd3}, {0x1fd6, 0x1fdb}, {0x1fe0, 0x1fec}, {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ffc}, {0x200c, 0x200d},
  {0x203c, 0x203c}, {0x203f, 0x2040}, {0x2049, 0x2049}, {0x2054, 0x2054}, {0x2071, 0x2071}, {0x207f, 0x207f}, {0x2090, 0x209c}, {0x20d0, 0x20dc},
  {0x20e1, 0x20e1}, {0x20e3, 0x20e3}, {0x20e5, 0x20f0}, {0x2102, 0x2102}, {0x2107, 0x2107}, {0x210a, 0x2113}, {0x2115, 0x2115}, {0x2118, 0x211d},
  {0x2122, 0x2122}, {0x2124, 0x2124}, {0x2126, 0x2126}, {0x2128, 0x2128}, {0x212a, 0x2139}, {0x213c, 0x213f}, {0x2145, 0x2149}, {0x214e, 0x214e},
  {0x2160, 0x2188}, {0x2194, 0x2199}, {0x21a9, 0x21aa}, {0x231a, 0x231b}, {0x2328, 0x2328}, {0x23cf, 0x23cf}, {0x23e9, 0x23f3}, {0x23f8, 0x23fa},
  {0x24c2, 0x24c2}, {0x25aa, 0x25ab}, {0x25b6, 0x25b6}, {0x25c0, 0x25c0}, {0x25fb, 0x25fe}, {0x2600, 0x2604}, {0x260e, 0x260e}, {0x2611, 0x2611},
  {0x2614, 0x2615}, {0x2618, 0x2618}, {0x261d, 0x261d}, {0x2620, 0x2620}, {0x2622, 0x2623}, {0x2626, 0x2626}, {0x262a, 0x262a}, {0x262e, 0x262f},
  {0x2638, 0x263a}, {0x2640, 0x2640}, {0x2642, 0x2642}, {0x2648, 0x2653}, {0x265f, 0x2660}, {0x2663, 0x2663}, {0x2665, 0x2666}, {0x2668, 0x2668},
  {0x267b, 0x267b}, {0x267e, 0x267f}, {0x2692, 0x2697}, {0x2699, 0x2699}, {0x269b, 0x269c}, {0x26a0, 0x26a1}, {0x26a7, 0x26a7}, {0x26aa, 0x26ab},
  {0x26b0, 0x26b1}, {0x26bd, 0x26be}, {0x26c4, 0x26c5}, {0x26c8, 0x26c8}, {0x26ce, 0x26cf}, {0x26d1, 0x26d1}, {0x26d3, 0x26d4}, {0x26e9, 0x26ea},
  {0x26f0, 0x26f5}, {0x26f7, 0x26fa}, {0x26fd, 0x26fd}, {0x2702, 0x2702}, {0x2705, 0x2705}, {0x2708, 0x270d}, {0x270f, 0x270f}, {0x2712, 0x2712},
  {0x2714, 0x2714}, {0x2716, 0x2716}, {0x271d, 0x271d}, {0x2721, 0x2721}, {0x2728, 0x2728}, {0x2733, 0x2734}, {0x2744, 0x2744}, {0x2747, 0x2747},
  {0x274c, 0x274c}, {0x274e, 0x274e}, {0x2753, 0x2755}, {0x2757, 0x2757}, {0x2763, 0x2764}, {0x2795, 0x2797}, {0x27a1, 0x27a1}, {0x27b0, 0x27b0},
  {0x27bf, 0x27bf}, {0x2934, 0x2935}, {0x2b05, 0x2b07}, {0x2b1b, 0x2b1c}, {0x2b50, 0x2b50}, {0x2b55, 0x2b55}, {0x2c00, 0x2ce4}, {0x2ceb, 0x2cf3},
  {0x2d00, 0x2d25}, {0x2d27, 0x2d27}, {0x2d2d, 0x2d2d}, {0x2d30, 0x2d67}, {0x2d6f, 0x2d6f}, {0x2d7f, 0x2d96}, {0x2da0, 0x2da6}, {0x2da8, 0x2dae},
  {0x2db0, 0x2db6}, {0x2db8, 0x2dbe}, {0x2dc0, 0x2dc6}, {0x2dc8, 0x2dce}, {0x2dd0, 0x2dd6}, {0x2dd8, 0x2dde}, {0x2de0, 0x2dff}, {0x3005, 0x3007},
  {0x3021, 0x3035}, {0x3038, 0x303d}, {0x3041, 0x3096}, {0x3099, 0x309a}, {0x309d, 0x309f}, {0x30a1, 0x30ff}, {0x3105, 0x312f}, {0x3131, 0x318e},
  {0x31a0, 0x31bf}, {0x31f0, 0x31ff}, {0x3297, 0x3297}, {0x3299, 0x3299}, {0x3400, 0x4dbf}, {0x4e00, 0xa48c}, {0xa4d0, 0xa4fd}, {0xa500, 0xa60c},
  {0xa610, 0xa62b}, {0xa640, 0xa66f}, {0xa674, 0xa67d}, {0xa67f, 0xa6f1}, {0xa717, 0xa71f}, {0xa722, 0xa788}, {0xa78b, 0xa7ca}, {0xa7d0, 0xa7d1},
  {0xa7d3, 0xa7d3}, {0xa7d5, 0xa7d9}, {0xa7f2, 0xa827}, {0xa82c, 0xa82c}, {0xa840, 0xa873}, {0xa880, 0xa8c5}, {0xa8d0, 0xa8d9}, {0xa8e0, 0xa8f7},
  {0xa8fb, 0xa8fb}, {0xa8fd, 0xa92d}, {0xa930, 0xa953}, {0xa960, 0xa97c}, {0xa980, 0xa9c0}, {0xa9cf, 0xa9d9}, {0xa9e0, 0xa9fe}, {0xaa00, 0xaa36},
  {0xaa40, 0xaa4d}, {0xaa50, 0xaa59}, {0xaa60, 0xaa76}, {0xaa7a, 0xaac2}, {0xaadb, 0xaadd}, {0xaae0, 0xaaef}, {0xaaf2, 0xaaf6}, {0xab01, 0xab06},
  {0xab09, 0xab0e}, {0xab11, 0xab16}, {0xab20, 0xab26}, {0xab28, 0xab2e}, {0xab30, 0xab5a}, {0xab5c, 0xab69}, {0xab70, 0xabea}, {0xabec, 0xabed},
  {0xabf0, 0xabf9}, {0xac00, 0xd7a3}, {0xd7b0, 0xd7c6}, {0xd7cb, 0xd7fb}, {0xf900, 0xfa6d}, {0xfa70, 0xfad9}, {0xfb00, 0xfb06}, {0xfb13, 0xfb17},
  {0xfb1d, 0xfb28}, {0xfb2a, 0xfb36}, {0xfb38, 0xfb3c}, {0xfb3e, 0xfb3e}, {0xfb40, 0xfb41}, {0xfb43, 0xfb44}, {0xfb46, 0xfbb1}, {0xfbd3, 0xfc5d},
  {0xfc64, 0xfd3d}, {0xfd50, 0xfd8f}, {0xfd92, 0xfdc7}, {0xfdf0, 0xfdf9}, {0xfe00, 0xfe0f}, {0xfe20, 0xfe2f}, {0xfe33, 0xfe34}, {0xfe4d, 0xfe4f},
  {0xfe71, 0xfe71}, {0xfe73, 0xfe73}, {0xfe77, 0xfe77}, {0xfe79, 0xfe79}, {0xfe7b, 0xfe7b}, {0xfe7d, 0xfe7d}, {0xfe7f, 0xfefc}, {0xff10, 0xff19},
  {0xff21, 0xff3a}, {0xff3f, 0xff3f}, {0xff41, 0xff5a}, {0xff65, 0xffbe}, {0xffc2, 0xffc7}, {0xffca, 0xffcf}, {0xffd2, 0xffd7}, {0xffda, 0xffdc},
  {0x10000, 0x1000b}, {0x1000d, 0x10026}, {0x10028, 0x1003a}, {0x1003c, 0x1003d}, {0x1003f, 0x1004d}, {0x10050, 0x1005d}, {0x10080, 0x100fa}, {0x10140, 0x10174},
  {0x101fd, 0x101fd}, {0x10280, 0x1029c}, {0x102a0, 0x102d0}, {0x102e0, 0x102e0}, {0x10300, 0x1031f}, {0x1032d, 0x1034a}, {0x10350, 0x1037a}, {0x10380, 0x1039d},
  {0x103a0, 0x103c3}, {0x103c8, 0x103cf}, {0x103d1, 0x103d5}, {0x10400, 0x1049d}, {0x104a0, 0x104a9}, {0x104b0, 0x104d3}, {0x104d8, 0x104fb}, {0x10500, 0x10527},
  {0x10530, 0x10563}, {0x10570, 0x1057a}, {0x1057c, 0x1058a}, {0x1058c, 0x10592}, {0x10594, 0x10595}, {0x10597, 0x105a1}, {0x105a3, 0x105b1}, {0x105b3, 0x105b9},
  {0x105bb, 0x105bc}, {0x10600, 0x10736}, {0x10740, 0x10755}, {0x10760, 0x10767}, {0x10780, 0x10785}, {0x10787, 0x107b0}, {0x107b2, 0x107ba}, {0x10800, 0x10805},
  {0x10808, 0x10808}, {0x1080a, 0x10835}, {0x10837, 0x10838}, {0x1083c, 0x1083c}, {0x1083f, 0x10855}, {0x10860, 0x10876}, {0x10880, 0x1089e}, {0x108e0, 0x108f2},
  {0x108f4, 0x108f5}, {0x10900, 0x10915}, {0x10920, 0x10939}, {0x10980, 0x109b7}, {0x109be, 0x109bf}, {0x10a00, 0x10a03}, {0x10a05, 0x10a06}, {0x10a0c, 0x10a13},
  {0x10a15, 0x10a17}, {0x10a19, 0x10a35}, {0x10a38, 0x10a3a}, {0x10a3f, 0x10a3f}, {0x10a60, 0x10a7c}, {0x10a80, 0x10a9c}, {0x10ac0, 0x10ac7}, {0x10ac9, 0x10ae6},
  {0x10b00, 0x10b35}, {0x10b40, 0x10b55}, {0x10b60, 0x10b72}, {0x10b80, 0x10b91}, {0x10c00, 0x10c48}, {0x10c80, 0x10cb2}, {0x10cc0, 0x10cf2}, {0x10d00, 0x10d27},
  {0x10d30, 0x10d39}, {0x10e80, 0x10ea9}, {0x10eab, 0x10eac}, {0x10eb0, 0x10eb1}, {0x10efd, 0x10f1c}, {0x10f27, 0x10f27}, {0x10f30, 0x10f50}, {0x10f70, 0x10f85},
  {0x10fb0, 0x10fc4}, {0x10fe0, 0x10ff6}, {0x11000, 0x11046}, {0x11066, 0x11075}, {0x1107f, 0x110ba}, {0x110c2, 0x110c2}, {0x110d0, 0x110e8}, {0x110f0, 0x110f9},
  {0x11100, 0x11134}, {0x11136, 0x1113f}, {0x11144, 0x11147}, {0x11150, 0x11173}, {0x11176, 0x11176}, {0x11180, 0x111c4}, {0x111c9, 0x111cc}, {0x111ce, 0x111da},
  {0x111dc, 0x111dc}, {0x11200, 0x11211}, {0x11213, 0x11237}, {0x1123e, 0x11241}, {0x11280, 0x11286}, {0x11288, 0x11288}, {0x1128a, 0x1128d}, {0x1128f, 0x1129d},
  {0x1129f, 0x112a8}, {0x112b0, 0x112ea}, {0x112f0, 0x112f9}, {0x11300, 0x11303}, {0x11305, 0x1130c}, {0x1130f, 0x11310}, {0x11313, 0x11328}, {0x1132a, 0x11330},
  {0x11332, 0x11333}, {0x11335, 0x11339}, {0x1133b, 0x11344}, {0x11347, 0x11348}, {0x1134b, 0x1134d}, {0x11350, 0x11350}, {0x11357, 0x11357}, {0x1135d, 0x11363},
  {0x11366, 0x1136c}, {0x11370, 0x11374}, {0x11400, 0x1144a}, {0x11450, 0x11459}, {0x1145e, 0x11461}, {0x11480, 0x114c5}, {0x114c7, 0x114c7}, {0x114d0, 0x114d9},
  {0x11580, 0x115b5}, {0x115b8, 0x115c0}, {0x115d8, 0x115dd}, {0x11600, 0x11640}, {0x11644, 0x11644}, {0x11650, 0x11659}, {0x11680, 0x116b8}, {0x116c0, 0x116c9},
  {0x11700, 0x1171a}, {0x1171d, 0x1172b}, {0x11730, 0x11739}, {0x11740, 0x11746}, {0x11800, 0x1183a}, {0x118a0, 0x118e9}, {0x118ff, 0x11906}, {0x11909, 0x11909},
  {0x1190c, 0x11913}, {0x11915, 0x11916}, {0x11918, 0x11935}, {0x11937, 0x11938}, {0x1193b, 0x11943}, {0x11950, 0x11959}, {0x119a0, 0x119a7}, {0x119aa, 0x119d7},
  {0x119da, 0x119e1}, {0x119e3, 0x119e4}, {0x11a00, 0x11a3e}, {0x11a47, 0x11a47}, {0x11a50, 0x11a99}, {0x11a9d, 0x11a9d}, {0x11ab0, 0x11af8}, {0x11c00, 0x11c08},
  {0x11c0a, 0x11c36}, {0x11c38, 0x11c40}, {0x11c50, 0x11c59}, {0x11c72, 0x11c8f}, {0x11c92, 0x11ca7}, {0x11ca9, 0x11cb6}, {0x11d00, 0x11d06}, {0x11d08, 0x11d09},
  {0x11d0b, 0x11d36}, {0x11d3a, 0x11d3a}, {0x11d3c, 0x11d3d}, {0x11d3f, 0x11d47}, {0x11d50, 0x11d59}, {0x11d60, 0x11d65}, {0x11d67, 0x11d68}, {0x11d6a, 0x11d8e},
  {0x11d90, 0x11d91}, {0x11d93, 0x11d98}, {0x11da0, 0x11da9}, {0x11ee0, 0x11ef6}, {0x11f00, 0x11f10}, {0x11f12, 0x11f3a}, {0x11f3e, 0x11f42}, {0x11f50, 0x11f59},
  {0x11fb0, 0x11fb0}, {0x12000, 0x12399}, {0x12400, 0x1246e}, {0x12480, 0x12543}, {0x12f90, 0x12ff0}, {0x13000, 0x1342f}, {0x13440, 0x13455}, {0x14400, 0x14646},
  {0x16800, 0x16a38}, {0x16a40, 0x16a5e}, {0x16a60, 0x16a69}, {0x16a70, 0x16abe}, {0x16ac0, 0x16ac9}, {0x16ad0, 0x16aed}, {0x16af0, 0x16af4}, {0x16b00, 0x16b36},
  {0x16b40, 0x16b43}, {0x16b50, 0x16b59}, {0x16b63, 0x16b77}, {0x16b7d, 0x16b8f}, {0x16e40, 0x16e7f}, {0x16f00, 0x16f4a}, {0x16f4f, 0x16f87}, {0x16f8f, 0x16f9f},
  {0x16fe0, 0x16fe1}, {0x16fe3, 0x16fe4}, {0x16ff0, 0x16ff1}, {0x17000, 0x187f7}, {0x18800, 0x18cd5}, {0x18d00, 0x18d08}, {0x1aff0, 0x1aff3}, {0x1aff5, 0x1affb},
  {0x1affd, 0x1affe}, {0x1b000, 0x1b122}, {0x1b132, 0x1b132}, {0x1b150, 0x1b152}, {0x1b155, 0x1b155}, {0x1b164, 0x1b167}, {0x1b170, 0x1b2fb}, {0x1bc00, 0x1bc6a},
  {0x1bc70, 0x1bc7c}, {0x1bc80, 0x1bc88}, {0x1bc90, 0x1bc99}, {0x1bc9d, 0x1bc9e}, {0x1cf00, 0x1cf2d}, {0x1cf30, 0x1cf46}, {0x1d165, 0x1d169}, {0x1d16d, 0x1d172},
  {0x1d17b, 0x1d182}, {0x1d185, 0x1d18b}, {0x1d1aa, 0x1d1ad}, {0x1d242, 0x1d244}, {0x1d400, 0x1d454}, {0x1d456, 0x1d49c}, {0x1d49e, 0x1d49f}, {0x1d4a2, 0x1d4a2},
  {0x1d4a5, 0x1d4a6}, {0x1d4a9, 0x1d4ac}, {0x1d4ae, 0x1d4b9}, {0x1d4bb, 0x1d4bb}, {0x1d4bd, 0x1d4c3}, {0x1d4c5, 0x1d505}, {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514},
  {0x1d516, 0x1d51c}, {0x1d51e, 0x1d539}, {0x1d53b, 0x1d53e}, {0x1d540, 0x1d544}, {0x1d546, 0x1d546}, {0x1d54a, 0x1d550}, {0x1d552, 0x1d6a5}, {0x1d6a8, 0x1d6c0},
  {0x1d6c2, 0x1d6da}, {0x1d6dc, 0x1d6fa}, {0x1d6fc, 0x1d714}, {0x1d716, 0x1d734}, {0x1d736, 0x1d74e}, {0x1d750, 0x1d76e}, {0x1d770, 0x1d788}, {0x1d78a, 0x1d7a8},
  {0x1d7aa, 0x1d7c2}, {0x1d7c4, 0x1d7cb}, {0x1d7ce, 0x1d7ff}, {0x1da00, 0x1da36}, {0x1da3b, 0x1da6c}, {0x1da75, 0x1da75}, {0x1da84, 0x1da84}, {0x1da9b, 0x1da9f},
  {0x1daa1, 0x1daaf}, {0x1df00, 0x1df1e}, {0x1df25, 0x1df2a}, {0x1e000, 0x1e006}, {0x1e008, 0x1e018}, {0x1e01b, 0x1e021}, {0x1e023, 0x1e024}, {0x1e026, 0x1e02a},
  {0x1e030, 0x1e06d}, {0x1e08f, 0x1e08f}, {0x1e100, 0x1e12c}, {0x1e130, 0x1e13d}, {0x1e140, 0x1e149}, {0x1e14e, 0x1e14e}, {0x1e290, 0x1e2ae}, {0x1e2c0, 0x1e2f9},
  {0x1e4d0, 0x1e4f9}, {0x1e7e0, 0x1e7e6}, {0x1e7e8, 0x1e7eb}, {0x1e7ed, 0x1e7ee}, {0x1e7f0, 0x1e7fe}, {0x1e800, 0x1e8c4}, {0x1e8d0, 0x1e8d6}, {0x1e900, 0x1e94b},
  {0x1e950, 0x1e959}, {0x1ee00, 0x1ee03}, {0x1ee05, 0x1ee1f}, {0x1ee21, 0x1ee22}, {0x1ee24, 0x1ee24}, {0x1ee27, 0x1ee27}, {0x1ee29, 0x1ee32}, {0x1ee34, 0x1ee37},
  {0x1ee39, 0x1ee39}, {0x1ee3b, 0x1ee3b}, {0x1ee42, 0x1ee42}, {0x1ee47, 0x1ee47}, {0x1ee49, 0x1ee49}, {0x1ee4b, 0x1ee4b}, {0x1ee4d, 0x1ee4f}, {0x1ee51, 0x1ee52},
  {0x1ee54, 0x1ee54}, {0x1ee57, 0x1ee57}, {0x1ee59, 0x1ee59}, {0x1ee5b, 0x1ee5b}, {0x1ee5d, 0x1ee5d}, {0x1ee5f, 0x1ee5f}, {0x1ee61, 0x1ee62}, {0x1ee64, 0x1ee64},
  {0x1ee67, 0x1ee6a}, {0x1ee6c, 0x1ee72}, {0x1ee74, 0x1ee77}, {0x1ee79, 0x1ee7c}, {0x1ee7e, 0x1ee7e}, {0x1ee80, 0x1ee89}, {0x1ee8b, 0x1ee9b}, {0x1eea1, 0x1eea3},
  {0x1eea5, 0x1eea9}, {0x1eeab, 0x1eebb}, {0x1f004, 0x1f004}, {0x1f0cf, 0x1f0cf}, {0x1f170, 0x1f171}, {0x1f17e, 0x1f17f}, {0x1f18e, 0x1f18e}, {0x1f191, 0x1f19a},
  {0x1f1e6, 0x1f1ff}, {0x1f201, 0x1f202}, {0x1f21a, 0x1f21a}, {0x1f22f, 0x1f22f}, {0x1f232, 0x1f23a}, {0x1f250, 0x1f251}, {0x1f300, 0x1f321}, {0x1f324, 0x1f393},
  {0x1f396, 0x1f397}, {0x1f399, 0x1f39b}, {0x1f39e, 0x1f3f0}, {0x1f3f3, 0x1f3f5}, {0x1f3f7, 0x1f4fd}, {0x1f4ff, 0x1f53d}, {0x1f549, 0x1f54e}, {0x1f550, 0x1f567},
  {0x1f56f, 0x1f570}, {0x1f573, 0x1f57a}, {0x1f587, 0x1f587}, {0x1f58a, 0x1f58d}, {0x1f590, 0x1f590}, {0x1f595, 0x1f596}, {0x1f5a4, 0x1f5a5}, {0x1f5a8, 0x1f5a8},
  {0x1f5b1, 0x1f5b2}, {0x1f5bc, 0x1f5bc}, {0x1f5c2, 0x1f5c4}, {0x1f5d1, 0x1f5d3}, {0x1f5dc, 0x1f5de}, {0x1f5e1, 0x1f5e1}, {0x1f5e3, 0x1f5e3}, {0x1f5e8, 0x1f5e8},
  {0x1f5ef, 0x1f5ef}, {0x1f5f3, 0x1f5f3}, {0x1f5fa, 0x1f64f}, {0x1f680, 0x1f6c5}, {0x1f6cb, 0x1f6d2}, {0x1f6d5, 0x1f6d7}, {0x1f6dc, 0x1f6e5}, {0x1f6e9, 0x1f6e9},
  {0x1f6eb, 0x1f6ec}, {0x1f6f0, 0x1f6f0}, {0x1f6f3, 0x1f6fc}, {0x1f7e0, 0x1f7eb}, {0x1f7f0, 0x1f7f0}, {0x1f90c, 0x1f93a}, {0x1f93c, 0x1f945}, {0x1f947, 0x1f9ff},
  {0x1fa70, 0x1fa7c}, {0x1fa80, 0x1fa88}, {0x1fa90, 0x1fabd}, {0x1fabf, 0x1fac5}, {0x1face, 0x1fadb}, {0x1fae0, 0x1fae8}, {0x1faf0, 0x1faf8}, {0x1fbf0, 0x1fbf9},
  {0x20000, 0x2a6df}, {0x2a700, 0x2b739}, {0x2b740, 0x2b81d}, {0x2b820, 0x2cea1}, {0x2ceb0, 0x2ebe0}, {0x2ebf0, 0x2ee5d}, {0x2f800, 0x2fa1d}, {0x30000, 0x3134a},
  {0x31350, 0x323af}, {0xe0100, 0xe01ef},
};

static bool ts_lex(TSLexer *lexer, TSStateId state) {
  START_LEXER();
  eof = lexer->eof(lexer);
  switch (state) {
    case 0:
      if (eof) ADVANCE(752);
      ADVANCE_MAP(
        '!', 1731,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 1737,
        '/', 1841,
        '0', 1694,
        ':', 1729,
        ';', 1914,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1744,
        '@', 1947,
        'P', 571,
        'T', 711,
        '[', 1733,
        '\\', 1714,
        ']', 1734,
        '^', 1848,
        '_', 1948,
        '`', 163,
        'a', 227,
        'b', 525,
        'c', 164,
        'd', 272,
        'e', 200,
        'f', 165,
        'g', 306,
        'i', 354,
        'k', 305,
        'l', 167,
        'm', 170,
        'n', 384,
        'o', 555,
        'p', 168,
        'r', 273,
        's', 274,
        't', 175,
        'u', 1716,
        'v', 178,
        'w', 180,
        'y', 391,
        '{', 1790,
        '|', 1846,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(735);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      END_STATE();
    case 1:
      if (lookahead == '\n') ADVANCE(1726);
      if (lookahead == '/') ADVANCE(759);
      if (lookahead != 0) ADVANCE(132);
      END_STATE();
    case 2:
      if (lookahead == '\n') ADVANCE(3);
      if (lookahead == '/') ADVANCE(133);
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') ADVANCE(2);
      if (lookahead != 0) ADVANCE(4);
      END_STATE();
    case 3:
      if (lookahead == '\n') ADVANCE(3);
      if (lookahead == '/') ADVANCE(86);
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') ADVANCE(2);
      if (lookahead != 0) ADVANCE(4);
      END_STATE();
    case 4:
      if (lookahead == '\n') ADVANCE(5);
      if (lookahead == '/') ADVANCE(734);
      if (lookahead != 0) ADVANCE(4);
      END_STATE();
    case 5:
      if (lookahead == '\n') ADVANCE(5);
      if (lookahead == '/') ADVANCE(87);
      if (lookahead != 0) ADVANCE(4);
      END_STATE();
    case 6:
      ADVANCE_MAP(
        '!', 1731,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 1737,
        '/', 1841,
        '0', 1694,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1744,
        '[', 1733,
        '\\', 1713,
        '^', 1848,
        '`', 163,
        'a', 1183,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'f', 1126,
        'i', 1298,
        'l', 1129,
        'n', 1329,
        'p', 1136,
        'r', 1290,
        's', 1248,
        't', 1514,
        '{', 1790,
        '|', 1846,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(12);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 7:
      ADVANCE_MAP(
        '!', 1731,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1744,
        '[', 1733,
        '\\', 1713,
        '^', 1848,
        '`', 163,
        'a', 1189,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'f', 1126,
        'i', 1299,
        'l', 1129,
        'n', 1329,
        'p', 1136,
        'r', 1290,
        's', 1253,
        't', 1514,
        '{', 1790,
        '|', 1846,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(38);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 8:
      ADVANCE_MAP(
        '!', 1731,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 1736,
        '/', 1842,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1744,
        '@', 1947,
        '[', 1733,
        '^', 1848,
        '`', 163,
        'a', 1184,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'i', 1448,
        'l', 1129,
        'p', 1136,
        'r', 1290,
        's', 1475,
        '{', 1790,
        '|', 1846,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(41);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 9:
      ADVANCE_MAP(
        '!', 1731,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 1736,
        '/', 1842,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1744,
        '[', 1733,
        '^', 1848,
        'i', 615,
        '{', 1790,
        '|', 1846,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(65);
      END_STATE();
    case 10:
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 1737,
        '/', 1841,
        '0', 1694,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1744,
        '[', 1733,
        '\\', 1713,
        ']', 1734,
        '^', 1848,
        '`', 163,
        'a', 1183,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'f', 1126,
        'i', 1298,
        'l', 1129,
        'n', 1329,
        'p', 1136,
        'r', 1290,
        's', 1248,
        't', 1514,
        '{', 1790,
        '|', 1846,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(11);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 11:
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 1737,
        '/', 1841,
        '0', 1694,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1743,
        '[', 1733,
        '\\', 1713,
        ']', 1734,
        '^', 1848,
        '`', 163,
        'a', 1183,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'f', 1126,
        'i', 1298,
        'l', 1129,
        'n', 1329,
        'p', 1136,
        'r', 1290,
        's', 1248,
        't', 1514,
        '{', 1790,
        '|', 1846,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(11);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 12:
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 1737,
        '/', 1841,
        '0', 1694,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1743,
        '[', 1733,
        '\\', 1713,
        '^', 1848,
        '`', 163,
        'a', 1183,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'f', 1126,
        'i', 1298,
        'l', 1129,
        'n', 1329,
        'p', 1136,
        'r', 1290,
        's', 1248,
        't', 1514,
        '{', 1790,
        '|', 1846,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(12);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 13:
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '@', 1946,
        '[', 1733,
        '\\', 1713,
        ']', 1734,
        '^', 1848,
        '`', 163,
        'a', 1189,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'f', 1126,
        'i', 1299,
        'l', 1129,
        'n', 1329,
        'p', 1136,
        'r', 1290,
        's', 1253,
        't', 1514,
        '{', 1790,
        '|', 1846,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(13);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 14:
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        '*', 1840,
        '+', 1837,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '@', 1946,
        '[', 1733,
        '\\', 1713,
        ']', 1734,
        '^', 1848,
        '`', 163,
        'a', 1183,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'f', 1126,
        'i', 1299,
        'l', 1129,
        'n', 1329,
        'p', 1136,
        'r', 1290,
        's', 1248,
        't', 1514,
        '{', 1790,
        '|', 1846,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(14);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 15:
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        '*', 1840,
        '+', 1837,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '@', 1947,
        '[', 1733,
        '\\', 1713,
        '^', 1848,
        '_', 1949,
        '`', 163,
        'a', 1183,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'f', 1126,
        'i', 1297,
        'l', 1129,
        'n', 1329,
        'p', 1136,
        'r', 1290,
        's', 1248,
        't', 1514,
        '{', 1790,
        '|', 1846,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(15);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 16:
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        '*', 1840,
        '+', 1837,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '[', 1733,
        '\\', 1713,
        '^', 1848,
        '_', 1949,
        '`', 163,
        'a', 1189,
        'b', 1465,
        'c', 1119,
        'e', 1124,
        'f', 1126,
        'i', 1298,
        'l', 1127,
        'n', 1329,
        'p', 1136,
        'r', 1290,
        's', 1253,
        't', 1514,
        'v', 1131,
        '{', 1790,
        '|', 1846,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(16);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 17:
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1744,
        '[', 1733,
        '\\', 1713,
        '^', 1848,
        '`', 163,
        'a', 1189,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'f', 1126,
        'i', 1296,
        'l', 1129,
        'n', 1329,
        'p', 1136,
        'r', 1290,
        's', 1253,
        't', 1514,
        '{', 1790,
        '|', 1846,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(18);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 18:
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1743,
        '[', 1733,
        '\\', 1713,
        '^', 1848,
        '`', 163,
        'a', 1189,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'f', 1126,
        'i', 1296,
        'l', 1129,
        'n', 1329,
        'p', 1136,
        'r', 1290,
        's', 1253,
        't', 1514,
        '{', 1790,
        '|', 1846,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(18);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 19:
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        ';', 1914,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1744,
        '@', 1947,
        '[', 1733,
        '\\', 1713,
        '^', 1848,
        '`', 163,
        'a', 1186,
        'b', 1465,
        'c', 1118,
        'd', 1225,
        'e', 1120,
        'f', 1125,
        'i', 1293,
        'l', 1127,
        'm', 1623,
        'n', 1328,
        'o', 1500,
        'p', 1132,
        'r', 1226,
        's', 1249,
        't', 1513,
        'u', 1433,
        'v', 1131,
        'w', 1258,
        '{', 1790,
        '|', 1846,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(20);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 20:
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        ';', 1914,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1743,
        '@', 1947,
        '[', 1733,
        '\\', 1713,
        '^', 1848,
        '`', 163,
        'a', 1186,
        'b', 1465,
        'c', 1118,
        'd', 1225,
        'e', 1120,
        'f', 1125,
        'i', 1293,
        'l', 1127,
        'm', 1623,
        'n', 1328,
        'o', 1500,
        'p', 1132,
        'r', 1226,
        's', 1249,
        't', 1513,
        'u', 1433,
        'v', 1131,
        'w', 1258,
        '{', 1790,
        '|', 1846,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(20);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 21:
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1744,
        '@', 1947,
        '[', 1733,
        '\\', 1713,
        '^', 1848,
        '`', 163,
        'a', 1189,
        'b', 1465,
        'c', 1118,
        'd', 1327,
        'e', 1124,
        'f', 1146,
        'i', 1294,
        'l', 1127,
        'm', 1623,
        'n', 1328,
        'o', 1500,
        'p', 1133,
        'r', 1226,
        's', 1252,
        't', 1514,
        'u', 1433,
        'v', 1131,
        'w', 1258,
        '{', 1790,
        '|', 1846,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(23);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 22:
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1744,
        '@', 1947,
        '[', 1733,
        '\\', 1713,
        '^', 1848,
        '`', 163,
        'a', 1189,
        'b', 1465,
        'c', 1118,
        'd', 1327,
        'e', 1124,
        'f', 1146,
        'i', 1294,
        'l', 1129,
        'm', 1623,
        'n', 1328,
        'o', 1500,
        'p', 1133,
        'r', 1226,
        's', 1252,
        't', 1514,
        'u', 1433,
        'w', 1258,
        '{', 1790,
        '|', 1846,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(24);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 23:
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1743,
        '@', 1947,
        '[', 1733,
        '\\', 1713,
        '^', 1848,
        '`', 163,
        'a', 1189,
        'b', 1465,
        'c', 1118,
        'd', 1327,
        'e', 1124,
        'f', 1146,
        'i', 1294,
        'l', 1127,
        'm', 1623,
        'n', 1328,
        'o', 1500,
        'p', 1133,
        'r', 1226,
        's', 1252,
        't', 1514,
        'u', 1433,
        'v', 1131,
        'w', 1258,
        '{', 1790,
        '|', 1846,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(23);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 24:
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1743,
        '@', 1947,
        '[', 1733,
        '\\', 1713,
        '^', 1848,
        '`', 163,
        'a', 1189,
        'b', 1465,
        'c', 1118,
        'd', 1327,
        'e', 1124,
        'f', 1146,
        'i', 1294,
        'l', 1129,
        'm', 1623,
        'n', 1328,
        'o', 1500,
        'p', 1133,
        'r', 1226,
        's', 1252,
        't', 1514,
        'u', 1433,
        'w', 1258,
        '{', 1790,
        '|', 1846,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(24);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 25:
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '@', 1946,
        '[', 1733,
        '\\', 1713,
        ']', 1734,
        '^', 1848,
        '`', 163,
        'a', 1183,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'f', 1126,
        'i', 1299,
        'l', 1129,
        'n', 1329,
        'p', 1136,
        'r', 1290,
        's', 1248,
        't', 1514,
        'u', 1433,
        'w', 1258,
        '{', 1790,
        '|', 1846,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(25);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 26:
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '[', 1733,
        '\\', 1713,
        '^', 1848,
        '`', 163,
        'a', 1189,
        'b', 1465,
        'c', 1119,
        'e', 1124,
        'f', 1126,
        'i', 1299,
        'l', 1127,
        'n', 1329,
        'p', 1136,
        'r', 1290,
        's', 1253,
        't', 1514,
        'v', 1131,
        '{', 1790,
        '|', 1846,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(26);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 27:
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '@', 1947,
        '[', 1733,
        '\\', 1713,
        '^', 1848,
        '_', 960,
        '`', 163,
        'a', 805,
        'b', 989,
        'c', 947,
        'd', 905,
        'e', 771,
        'f', 772,
        'g', 873,
        'i', 883,
        'l', 774,
        'm', 1081,
        'n', 906,
        'o', 1007,
        'p', 781,
        'r', 847,
        's', 848,
        't', 901,
        'u', 971,
        'v', 784,
        'w', 858,
        'y', 929,
        '{', 1790,
        '|', 1846,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(27);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          ('h' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 28:
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '@', 1947,
        '[', 1733,
        '\\', 1713,
        '^', 1848,
        '`', 163,
        'a', 1183,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'f', 1126,
        'i', 1297,
        'l', 1129,
        'n', 1329,
        'p', 1136,
        'r', 1290,
        's', 1248,
        't', 1514,
        '{', 1790,
        '|', 1846,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(28);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 29:
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '@', 1947,
        '[', 1733,
        '\\', 1713,
        '^', 1848,
        '`', 163,
        'a', 805,
        'b', 989,
        'c', 797,
        'd', 903,
        'e', 771,
        'f', 772,
        'g', 1089,
        'i', 884,
        'l', 774,
        'm', 1081,
        'n', 906,
        'o', 1007,
        'p', 781,
        'r', 847,
        's', 854,
        't', 901,
        'u', 971,
        'v', 784,
        'w', 859,
        'y', 929,
        '{', 1790,
        '|', 1846,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(29);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          ('_' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 30:
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '@', 1947,
        '[', 1733,
        '\\', 1713,
        '^', 1848,
        '`', 163,
        'a', 805,
        'b', 989,
        'c', 797,
        'd', 903,
        'e', 771,
        'f', 792,
        'g', 1089,
        'i', 883,
        'l', 774,
        'm', 1081,
        'n', 906,
        'o', 1007,
        'p', 781,
        'r', 847,
        's', 854,
        't', 901,
        'u', 971,
        'v', 784,
        'w', 859,
        'y', 929,
        '{', 1790,
        '|', 1846,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(30);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          ('_' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 31:
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '@', 1947,
        '[', 1733,
        '\\', 1713,
        '^', 1848,
        '`', 163,
        'a', 805,
        'b', 989,
        'c', 947,
        'd', 905,
        'e', 771,
        'f', 772,
        'g', 1089,
        'i', 884,
        'l', 774,
        'm', 1081,
        'n', 906,
        'o', 1007,
        'p', 781,
        'r', 847,
        's', 854,
        't', 901,
        'u', 971,
        'v', 784,
        'w', 858,
        'y', 929,
        '{', 1790,
        '|', 1846,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(31);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          ('_' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 32:
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '@', 1947,
        '[', 1733,
        '\\', 1713,
        '^', 1848,
        '`', 163,
        'a', 1189,
        'b', 1465,
        'c', 1118,
        'd', 1327,
        'e', 1124,
        'f', 1146,
        'i', 1295,
        'l', 1129,
        'm', 1623,
        'n', 1328,
        'o', 1500,
        'p', 1133,
        'r', 1226,
        's', 1252,
        't', 1514,
        'u', 1433,
        'w', 1258,
        '{', 1790,
        '|', 1846,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(32);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 33:
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '@', 1946,
        '[', 1733,
        '\\', 1713,
        '^', 1848,
        '_', 960,
        '`', 163,
        'a', 805,
        'b', 989,
        'c', 948,
        'd', 991,
        'e', 771,
        'f', 773,
        'g', 873,
        'i', 886,
        'l', 774,
        'm', 1081,
        'n', 907,
        'p', 782,
        'r', 852,
        's', 849,
        't', 901,
        'u', 971,
        'v', 784,
        'w', 859,
        'y', 929,
        '{', 1790,
        '|', 1846,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(33);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          ('h' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 34:
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '@', 1946,
        '[', 1733,
        '\\', 1713,
        '^', 1848,
        '`', 163,
        'a', 805,
        'b', 989,
        'c', 948,
        'd', 991,
        'e', 771,
        'f', 773,
        'g', 1089,
        'i', 886,
        'l', 774,
        'n', 908,
        'p', 782,
        'r', 852,
        's', 855,
        't', 901,
        'u', 971,
        'v', 784,
        'w', 859,
        'y', 929,
        '{', 1790,
        '|', 1846,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(34);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          ('_' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 35:
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '@', 1946,
        '[', 1733,
        '\\', 1713,
        '^', 1848,
        '`', 163,
        'a', 805,
        'b', 989,
        'c', 948,
        'd', 991,
        'e', 771,
        'f', 773,
        'g', 1089,
        'i', 885,
        'l', 774,
        'n', 908,
        'p', 782,
        'r', 852,
        's', 855,
        't', 901,
        'u', 971,
        'v', 784,
        'w', 859,
        'y', 929,
        '{', 1790,
        '|', 1846,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(35);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          ('_' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 36:
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '[', 1733,
        '\\', 1713,
        '^', 1848,
        '_', 1949,
        '`', 163,
        'a', 1183,
        'b', 1465,
        'c', 1119,
        'e', 1124,
        'f', 1126,
        'i', 1298,
        'l', 1127,
        'n', 1329,
        'p', 1136,
        'r', 1290,
        's', 1248,
        't', 1514,
        'v', 1131,
        '{', 1790,
        '|', 1846,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(36);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 37:
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '[', 1733,
        '\\', 1713,
        '^', 1848,
        '`', 163,
        'a', 1189,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'f', 1126,
        'g', 1274,
        'i', 1299,
        'l', 1129,
        'n', 1329,
        'p', 1136,
        'r', 1290,
        's', 1239,
        't', 1514,
        '{', 1790,
        '|', 1846,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(37);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 38:
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '[', 1733,
        '\\', 1713,
        '^', 1848,
        '`', 163,
        'a', 1189,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'f', 1126,
        'i', 1299,
        'l', 1129,
        'n', 1329,
        'p', 1136,
        'r', 1290,
        's', 1253,
        't', 1514,
        '{', 1790,
        '|', 1846,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(38);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 39:
      ADVANCE_MAP(
        '!', 754,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 1736,
        '/', 1842,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1744,
        '@', 1947,
        '[', 1733,
        '^', 1848,
        '`', 163,
        'a', 1184,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'i', 1448,
        'l', 1129,
        'p', 1136,
        'r', 1290,
        's', 1475,
        '{', 1790,
        '|', 1846,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(40);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 40:
      ADVANCE_MAP(
        '!', 754,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 1736,
        '/', 1842,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1743,
        '@', 1947,
        '[', 1733,
        '^', 1848,
        '`', 163,
        'a', 1184,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'i', 1448,
        'l', 1129,
        'p', 1136,
        'r', 1290,
        's', 1475,
        '{', 1790,
        '|', 1846,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(40);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 41:
      ADVANCE_MAP(
        '!', 754,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 1736,
        '/', 1842,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1743,
        '@', 1947,
        '[', 1733,
        '^', 1848,
        '`', 163,
        'a', 1184,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'i', 1448,
        'l', 1129,
        'p', 1136,
        'r', 1290,
        's', 1475,
        '{', 1790,
        '|', 1846,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(41);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 42:
      ADVANCE_MAP(
        '!', 754,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 1736,
        '/', 1842,
        ';', 1914,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1744,
        '@', 1947,
        '[', 1733,
        '^', 1848,
        '`', 163,
        'a', 1182,
        'b', 1465,
        'c', 1118,
        'd', 1225,
        'e', 1120,
        'f', 1323,
        'i', 1405,
        'l', 1127,
        'm', 1623,
        'n', 1476,
        'o', 1500,
        'p', 1132,
        'r', 1226,
        's', 1473,
        't', 1649,
        'u', 1433,
        'v', 1131,
        'w', 1258,
        '{', 1790,
        '|', 1846,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(44);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 43:
      ADVANCE_MAP(
        '!', 754,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 1736,
        '/', 1842,
        ';', 1914,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1744,
        '@', 1947,
        '[', 1733,
        '^', 1848,
        '`', 163,
        'a', 1187,
        'b', 1465,
        'c', 1118,
        'd', 1225,
        'e', 1120,
        'f', 1323,
        'i', 1405,
        'l', 1127,
        'm', 1623,
        'n', 1476,
        'o', 1500,
        'p', 1132,
        'r', 1226,
        's', 1569,
        't', 1649,
        'u', 1433,
        'v', 1131,
        'w', 1258,
        '{', 1790,
        '|', 1846,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(45);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 44:
      ADVANCE_MAP(
        '!', 754,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 1736,
        '/', 1842,
        ';', 1914,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1743,
        '@', 1947,
        '[', 1733,
        '^', 1848,
        '`', 163,
        'a', 1182,
        'b', 1465,
        'c', 1118,
        'd', 1225,
        'e', 1120,
        'f', 1323,
        'i', 1405,
        'l', 1127,
        'm', 1623,
        'n', 1476,
        'o', 1500,
        'p', 1132,
        'r', 1226,
        's', 1473,
        't', 1649,
        'u', 1433,
        'v', 1131,
        'w', 1258,
        '{', 1790,
        '|', 1846,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(44);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 45:
      ADVANCE_MAP(
        '!', 754,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 1736,
        '/', 1842,
        ';', 1914,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1743,
        '@', 1947,
        '[', 1733,
        '^', 1848,
        '`', 163,
        'a', 1187,
        'b', 1465,
        'c', 1118,
        'd', 1225,
        'e', 1120,
        'f', 1323,
        'i', 1405,
        'l', 1127,
        'm', 1623,
        'n', 1476,
        'o', 1500,
        'p', 1132,
        'r', 1226,
        's', 1569,
        't', 1649,
        'u', 1433,
        'v', 1131,
        'w', 1258,
        '{', 1790,
        '|', 1846,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(45);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 46:
      ADVANCE_MAP(
        '!', 754,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 1736,
        '/', 1842,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1744,
        '@', 1947,
        '[', 1733,
        '^', 1848,
        '`', 163,
        'a', 1184,
        'b', 1465,
        'c', 1118,
        'd', 1327,
        'e', 1124,
        'f', 1147,
        'i', 1420,
        'l', 1129,
        'm', 1623,
        'n', 1476,
        'o', 1500,
        'p', 1133,
        'r', 1226,
        's', 1474,
        'u', 1433,
        'w', 1258,
        '{', 1790,
        '|', 1846,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(48);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 47:
      ADVANCE_MAP(
        '!', 754,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 1736,
        '/', 1842,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1744,
        '@', 1947,
        '[', 1733,
        '^', 1848,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1118,
        'd', 1327,
        'e', 1124,
        'f', 1147,
        'i', 1420,
        'l', 1129,
        'm', 1623,
        'n', 1476,
        'o', 1500,
        'p', 1133,
        'r', 1226,
        's', 1608,
        'u', 1433,
        'w', 1258,
        '{', 1790,
        '|', 1846,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(49);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 48:
      ADVANCE_MAP(
        '!', 754,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 1736,
        '/', 1842,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1743,
        '@', 1947,
        '[', 1733,
        '^', 1848,
        '`', 163,
        'a', 1184,
        'b', 1465,
        'c', 1118,
        'd', 1327,
        'e', 1124,
        'f', 1147,
        'i', 1420,
        'l', 1129,
        'm', 1623,
        'n', 1476,
        'o', 1500,
        'p', 1133,
        'r', 1226,
        's', 1474,
        'u', 1433,
        'w', 1258,
        '{', 1790,
        '|', 1846,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(48);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 49:
      ADVANCE_MAP(
        '!', 754,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 1736,
        '/', 1842,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1743,
        '@', 1947,
        '[', 1733,
        '^', 1848,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1118,
        'd', 1327,
        'e', 1124,
        'f', 1147,
        'i', 1420,
        'l', 1129,
        'm', 1623,
        'n', 1476,
        'o', 1500,
        'p', 1133,
        'r', 1226,
        's', 1608,
        'u', 1433,
        'w', 1258,
        '{', 1790,
        '|', 1846,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(49);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 50:
      ADVANCE_MAP(
        '!', 754,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 124,
        '/', 1842,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1744,
        '@', 1947,
        '[', 1733,
        '^', 1848,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1118,
        'd', 1327,
        'e', 1120,
        'f', 1323,
        'i', 1424,
        'l', 1127,
        'm', 1623,
        'n', 1476,
        'o', 1500,
        'p', 1133,
        'r', 1226,
        's', 1570,
        't', 1649,
        'u', 1433,
        'v', 1131,
        'w', 1258,
        '{', 1790,
        '|', 1846,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(57);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 51:
      ADVANCE_MAP(
        '!', 754,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 124,
        '/', 1842,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1744,
        '@', 1947,
        '[', 1733,
        '^', 1848,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1118,
        'd', 1327,
        'e', 1124,
        'f', 1324,
        'i', 1426,
        'l', 1129,
        'm', 1623,
        'n', 1476,
        'o', 1500,
        'p', 1133,
        'r', 1226,
        's', 1608,
        'u', 1433,
        'w', 1258,
        '{', 1790,
        '|', 1846,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(58);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 52:
      ADVANCE_MAP(
        '!', 754,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 124,
        '/', 1842,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1744,
        '@', 1947,
        '[', 1733,
        '^', 1848,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1385,
        'd', 1326,
        'e', 1120,
        'f', 1323,
        'i', 1424,
        'l', 1127,
        'm', 1623,
        'n', 1476,
        'o', 1500,
        'p', 1133,
        'r', 1226,
        's', 1570,
        't', 1649,
        'u', 1433,
        'v', 1131,
        'w', 1257,
        '{', 1790,
        '|', 1846,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(59);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 53:
      ADVANCE_MAP(
        '!', 754,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 124,
        '/', 1842,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1744,
        '@', 1947,
        '[', 1733,
        '^', 1848,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1385,
        'd', 1326,
        'e', 1124,
        'f', 1324,
        'i', 1426,
        'l', 1129,
        'm', 1623,
        'n', 1476,
        'o', 1500,
        'p', 1133,
        'r', 1226,
        's', 1608,
        'u', 1433,
        'w', 1257,
        '{', 1790,
        '|', 1846,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(60);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 54:
      ADVANCE_MAP(
        '!', 754,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 124,
        '/', 1842,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1744,
        '@', 1946,
        '[', 1733,
        '^', 1848,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1386,
        'e', 1120,
        'f', 1359,
        'i', 1427,
        'l', 1127,
        'p', 1136,
        'r', 1290,
        's', 1595,
        't', 1649,
        'u', 1433,
        'v', 1131,
        'w', 1258,
        '{', 1790,
        '|', 1846,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(61);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 55:
      ADVANCE_MAP(
        '!', 754,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 124,
        '/', 1842,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1744,
        '[', 1733,
        '^', 1848,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'i', 1422,
        'l', 1127,
        'p', 1136,
        'r', 1290,
        'v', 1131,
        '{', 1790,
        '|', 1846,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(62);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 56:
      ADVANCE_MAP(
        '!', 754,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 124,
        '/', 1842,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1744,
        '[', 1733,
        '^', 1848,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'i', 1422,
        'l', 1129,
        'p', 1136,
        'r', 1290,
        '{', 1790,
        '|', 1846,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(63);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 57:
      ADVANCE_MAP(
        '!', 754,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 124,
        '/', 1842,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1743,
        '@', 1947,
        '[', 1733,
        '^', 1848,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1118,
        'd', 1327,
        'e', 1120,
        'f', 1323,
        'i', 1424,
        'l', 1127,
        'm', 1623,
        'n', 1476,
        'o', 1500,
        'p', 1133,
        'r', 1226,
        's', 1570,
        't', 1649,
        'u', 1433,
        'v', 1131,
        'w', 1258,
        '{', 1790,
        '|', 1846,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(57);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 58:
      ADVANCE_MAP(
        '!', 754,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 124,
        '/', 1842,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1743,
        '@', 1947,
        '[', 1733,
        '^', 1848,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1118,
        'd', 1327,
        'e', 1124,
        'f', 1324,
        'i', 1426,
        'l', 1129,
        'm', 1623,
        'n', 1476,
        'o', 1500,
        'p', 1133,
        'r', 1226,
        's', 1608,
        'u', 1433,
        'w', 1258,
        '{', 1790,
        '|', 1846,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(58);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 59:
      ADVANCE_MAP(
        '!', 754,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 124,
        '/', 1842,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1743,
        '@', 1947,
        '[', 1733,
        '^', 1848,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1385,
        'd', 1326,
        'e', 1120,
        'f', 1323,
        'i', 1424,
        'l', 1127,
        'm', 1623,
        'n', 1476,
        'o', 1500,
        'p', 1133,
        'r', 1226,
        's', 1570,
        't', 1649,
        'u', 1433,
        'v', 1131,
        'w', 1257,
        '{', 1790,
        '|', 1846,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(59);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 60:
      ADVANCE_MAP(
        '!', 754,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 124,
        '/', 1842,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1743,
        '@', 1947,
        '[', 1733,
        '^', 1848,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1385,
        'd', 1326,
        'e', 1124,
        'f', 1324,
        'i', 1426,
        'l', 1129,
        'm', 1623,
        'n', 1476,
        'o', 1500,
        'p', 1133,
        'r', 1226,
        's', 1608,
        'u', 1433,
        'w', 1257,
        '{', 1790,
        '|', 1846,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(60);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 61:
      ADVANCE_MAP(
        '!', 754,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 124,
        '/', 1842,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1743,
        '@', 1946,
        '[', 1733,
        '^', 1848,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1386,
        'e', 1120,
        'f', 1359,
        'i', 1427,
        'l', 1127,
        'p', 1136,
        'r', 1290,
        's', 1595,
        't', 1649,
        'u', 1433,
        'v', 1131,
        'w', 1258,
        '{', 1790,
        '|', 1846,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(61);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 62:
      ADVANCE_MAP(
        '!', 754,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 124,
        '/', 1842,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1743,
        '[', 1733,
        '^', 1848,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'i', 1422,
        'l', 1127,
        'p', 1136,
        'r', 1290,
        'v', 1131,
        '{', 1790,
        '|', 1846,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(62);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 63:
      ADVANCE_MAP(
        '!', 754,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 124,
        '/', 1842,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1743,
        '[', 1733,
        '^', 1848,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'i', 1422,
        'l', 1129,
        'p', 1136,
        'r', 1290,
        '{', 1790,
        '|', 1846,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(63);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 64:
      ADVANCE_MAP(
        '!', 754,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '*', 1840,
        '+', 1837,
        '-', 1838,
        '/', 1842,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '^', 1847,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'l', 1129,
        'p', 1136,
        'r', 1290,
        '|', 1846,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(64);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 65:
      ADVANCE_MAP(
        '!', 754,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 1736,
        '/', 1842,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1743,
        '[', 1733,
        '^', 1848,
        'i', 615,
        '{', 1790,
        '|', 1846,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(65);
      END_STATE();
    case 66:
      ADVANCE_MAP(
        '!', 754,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 124,
        '/', 1842,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1744,
        '[', 1733,
        '^', 1848,
        'i', 487,
        '{', 1790,
        '|', 1846,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(67);
      END_STATE();
    case 67:
      ADVANCE_MAP(
        '!', 754,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 124,
        '/', 1842,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1743,
        '[', 1733,
        '^', 1848,
        'i', 487,
        '{', 1790,
        '|', 1846,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(67);
      END_STATE();
    case 68:
      ADVANCE_MAP(
        '!', 754,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        '-', 1838,
        '.', 124,
        '/', 1842,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1744,
        '@', 1946,
        '[', 1733,
        '^', 1848,
        'a', 229,
        'c', 444,
        'e', 488,
        'f', 417,
        'i', 509,
        'l', 166,
        's', 662,
        't', 717,
        'u', 510,
        'v', 178,
        'w', 308,
        '{', 1790,
        '|', 1846,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(69);
      END_STATE();
    case 69:
      ADVANCE_MAP(
        '!', 754,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        '-', 1838,
        '.', 124,
        '/', 1842,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1743,
        '@', 1946,
        '[', 1733,
        '^', 1848,
        'a', 229,
        'c', 444,
        'e', 488,
        'f', 417,
        'i', 509,
        'l', 166,
        's', 662,
        't', 717,
        'u', 510,
        'v', 178,
        'w', 308,
        '{', 1790,
        '|', 1846,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(69);
      END_STATE();
    case 70:
      ADVANCE_MAP(
        '!', 1730,
        '$', 727,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        ',', 1722,
        '.', 1738,
        '/', 130,
        ':', 1729,
        '<', 1762,
        '?', 1744,
        '@', 1947,
        '[', 1733,
        '`', 163,
        'a', 1184,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'i', 1449,
        'l', 1129,
        'p', 1136,
        'r', 1290,
        's', 1475,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(89);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 71:
      ADVANCE_MAP(
        '!', 1730,
        '$', 727,
        '&', 1749,
        '(', 1732,
        ',', 1722,
        '.', 1735,
        '/', 130,
        ':', 1729,
        '<', 1762,
        '?', 1744,
        '@', 1947,
        '[', 1733,
        '`', 163,
        'a', 1184,
        'b', 1465,
        'c', 1118,
        'd', 1327,
        'e', 1124,
        'f', 1147,
        'i', 1421,
        'l', 1129,
        'm', 1623,
        'n', 1476,
        'o', 1500,
        'p', 1133,
        'r', 1226,
        's', 1474,
        'u', 1433,
        'w', 1258,
        '{', 1790,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(90);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 72:
      ADVANCE_MAP(
        '!', 1730,
        '$', 727,
        '&', 1749,
        '(', 1732,
        ',', 1722,
        '.', 1735,
        '/', 130,
        ':', 1729,
        '<', 1762,
        '?', 1744,
        '[', 1733,
        '`', 163,
        'a', 1184,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'i', 1423,
        'l', 1129,
        'p', 1136,
        'r', 1290,
        's', 1475,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(91);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 73:
      ADVANCE_MAP(
        '!', 1730,
        '$', 727,
        '&', 1749,
        '(', 1732,
        ',', 1722,
        '.', 1735,
        '/', 130,
        '<', 1762,
        '?', 1744,
        '@', 1947,
        '[', 1733,
        '`', 163,
        'a', 1184,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'i', 1431,
        'l', 1129,
        'p', 1136,
        'r', 1290,
        's', 1475,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(92);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 74:
      ADVANCE_MAP(
        '!', 1730,
        '$', 727,
        '&', 1749,
        ')', 1719,
        ',', 1722,
        '.', 1735,
        '/', 130,
        ':', 1729,
        '>', 1765,
        ']', 1734,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'i', 1423,
        'l', 1129,
        'p', 1136,
        'r', 1290,
        '{', 1790,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(93);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 75:
      ADVANCE_MAP(
        '!', 1730,
        '$', 727,
        '(', 1732,
        '/', 130,
        '?', 1744,
        '_', 1949,
        '`', 163,
        'a', 1189,
        'b', 1465,
        'c', 1119,
        'e', 1124,
        'i', 1553,
        'l', 1127,
        'p', 1136,
        'r', 1290,
        'v', 1131,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(102);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 76:
      ADVANCE_MAP(
        '!', 1730,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        ',', 1722,
        '.', 1735,
        '/', 130,
        ':', 1729,
        '<', 1762,
        '>', 1765,
        '?', 1744,
        ']', 1734,
        '^', 721,
        'i', 486,
        'u', 1715,
        '{', 1790,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(118);
      END_STATE();
    case 77:
      ADVANCE_MAP(
        '!', 1730,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        ',', 1722,
        '.', 1738,
        '/', 130,
        '0', 1696,
        ':', 1729,
        ';', 1914,
        '<', 1762,
        '>', 1765,
        '?', 1744,
        '@', 1947,
        'P', 571,
        'T', 711,
        ']', 1734,
        '^', 721,
        '_', 470,
        'a', 228,
        'b', 524,
        'c', 209,
        'd', 330,
        'e', 488,
        'f', 207,
        'g', 343,
        'i', 355,
        'l', 166,
        'm', 170,
        'n', 529,
        'o', 556,
        'p', 191,
        'r', 300,
        's', 344,
        't', 717,
        'u', 510,
        'v', 178,
        'w', 309,
        '{', 1790,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(120);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1696);
      END_STATE();
    case 78:
      ADVANCE_MAP(
        '!', 753,
        '$', 727,
        '(', 1732,
        '/', 130,
        '`', 163,
        'a', 1185,
        'b', 1465,
        'c', 1161,
        'e', 1124,
        'f', 1126,
        'l', 1129,
        'o', 1556,
        'p', 1136,
        'r', 1290,
        's', 1640,
        't', 1157,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(78);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 79:
      ADVANCE_MAP(
        '!', 753,
        '$', 727,
        ')', 1719,
        '/', 130,
        '?', 1743,
        '[', 1733,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'l', 1129,
        'p', 1136,
        'r', 1290,
        's', 1254,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(79);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 80:
      ADVANCE_MAP(
        '!', 753,
        '$', 727,
        '/', 1,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1469,
        'd', 1568,
        'e', 1123,
        'f', 1350,
        'i', 1411,
        'k', 1263,
        'l', 1128,
        'p', 1136,
        'r', 1290,
        's', 1288,
        'w', 1153,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(80);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 81:
      ADVANCE_MAP(
        '"', 1708,
        '$', 727,
        '.', 728,
        '/', 128,
        '0', 1694,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'f', 1126,
        'l', 1129,
        'n', 1329,
        'p', 1136,
        'r', 1290,
        't', 1529,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(81);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 82:
      if (lookahead == '"') ADVANCE(1708);
      if (lookahead == '/') ADVANCE(1711);
      if (lookahead == '\\') ADVANCE(1714);
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') ADVANCE(1710);
      if (lookahead != 0) ADVANCE(1712);
      END_STATE();
    case 83:
      if (lookahead == '"') ADVANCE(1718);
      END_STATE();
    case 84:
      if (lookahead == '"') ADVANCE(1707);
      if (lookahead == '/') ADVANCE(1711);
      if (lookahead == '\\') ADVANCE(1714);
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') ADVANCE(1710);
      if (lookahead != 0) ADVANCE(1712);
      END_STATE();
    case 85:
      if (lookahead == '#') ADVANCE(85);
      if (lookahead == '(') ADVANCE(1720);
      END_STATE();
    case 86:
      if (lookahead == '#') ADVANCE(1727);
      if (lookahead == '/') ADVANCE(761);
      if (lookahead != 0) ADVANCE(4);
      END_STATE();
    case 87:
      if (lookahead == '#') ADVANCE(1727);
      if (lookahead != 0) ADVANCE(4);
      END_STATE();
    case 88:
      if (lookahead == '#') ADVANCE(1725);
      if (lookahead == '/') ADVANCE(88);
      if (lookahead != 0) ADVANCE(132);
      END_STATE();
    case 89:
      ADVANCE_MAP(
        '$', 727,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        ',', 1722,
        '.', 1738,
        '/', 130,
        ':', 1729,
        '<', 1762,
        '@', 1947,
        '[', 1733,
        '`', 163,
        'a', 1184,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'i', 1449,
        'l', 1129,
        'p', 1136,
        'r', 1290,
        's', 1475,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(89);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 90:
      ADVANCE_MAP(
        '$', 727,
        '&', 1749,
        '(', 1732,
        ',', 1722,
        '.', 1735,
        '/', 130,
        ':', 1729,
        '<', 1762,
        '?', 1743,
        '@', 1947,
        '[', 1733,
        '`', 163,
        'a', 1184,
        'b', 1465,
        'c', 1118,
        'd', 1327,
        'e', 1124,
        'f', 1147,
        'i', 1421,
        'l', 1129,
        'm', 1623,
        'n', 1476,
        'o', 1500,
        'p', 1133,
        'r', 1226,
        's', 1474,
        'u', 1433,
        'w', 1258,
        '{', 1790,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(90);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 91:
      ADVANCE_MAP(
        '$', 727,
        '&', 1749,
        '(', 1732,
        ',', 1722,
        '.', 1735,
        '/', 130,
        ':', 1729,
        '<', 1762,
        '?', 1743,
        '[', 1733,
        '`', 163,
        'a', 1184,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'i', 1423,
        'l', 1129,
        'p', 1136,
        'r', 1290,
        's', 1475,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(91);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 92:
      ADVANCE_MAP(
        '$', 727,
        '&', 1749,
        '(', 1732,
        ',', 1722,
        '.', 1735,
        '/', 130,
        '<', 1762,
        '@', 1947,
        '[', 1733,
        '`', 163,
        'a', 1184,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'i', 1431,
        'l', 1129,
        'p', 1136,
        'r', 1290,
        's', 1475,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(92);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 93:
      ADVANCE_MAP(
        '$', 727,
        '&', 1749,
        ')', 1719,
        ',', 1722,
        '.', 1735,
        '/', 130,
        ':', 1729,
        '>', 1765,
        ']', 1734,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'i', 1423,
        'l', 1129,
        'p', 1136,
        'r', 1290,
        '{', 1790,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(93);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 94:
      ADVANCE_MAP(
        '$', 727,
        '(', 1732,
        ')', 1719,
        '*', 1839,
        ',', 1722,
        '.', 1735,
        '/', 130,
        '0', 1696,
        ':', 1729,
        '<', 1762,
        '>', 1765,
        '@', 1946,
        '[', 1733,
        '^', 721,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'l', 1129,
        'p', 1136,
        'r', 1290,
        '{', 1790,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(94);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1696);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 95:
      ADVANCE_MAP(
        '$', 727,
        '(', 1732,
        ')', 1719,
        '/', 130,
        '@', 1947,
        '[', 1733,
        '_', 1949,
        '`', 163,
        'a', 1184,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'i', 1449,
        'l', 1129,
        'p', 1136,
        'r', 1290,
        's', 1475,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(95);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 96:
      ADVANCE_MAP(
        '$', 727,
        '(', 1732,
        ')', 1719,
        '/', 130,
        '@', 1946,
        '[', 1733,
        '_', 1949,
        '`', 163,
        'a', 1184,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'l', 1129,
        'p', 1136,
        'r', 1290,
        's', 1475,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(96);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 97:
      ADVANCE_MAP(
        '$', 727,
        '(', 1732,
        '/', 130,
        '<', 1762,
        '@', 1947,
        '[', 1733,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1118,
        'd', 1327,
        'e', 1120,
        'f', 1323,
        'i', 1425,
        'l', 1127,
        'm', 1623,
        'n', 1476,
        'o', 1500,
        'p', 1133,
        'r', 1226,
        's', 1250,
        't', 1649,
        'u', 1433,
        'v', 1131,
        'w', 1258,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(97);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 98:
      ADVANCE_MAP(
        '$', 727,
        '(', 1732,
        '/', 130,
        '<', 1762,
        '@', 1947,
        '[', 1733,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1385,
        'd', 1326,
        'e', 1120,
        'f', 1323,
        'i', 1425,
        'l', 1127,
        'm', 1623,
        'n', 1476,
        'o', 1500,
        'p', 1133,
        'r', 1226,
        's', 1250,
        't', 1649,
        'u', 1433,
        'v', 1131,
        'w', 1257,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(98);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 99:
      ADVANCE_MAP(
        '$', 727,
        '(', 1732,
        '/', 130,
        '<', 1762,
        '@', 1946,
        '[', 1733,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1386,
        'e', 1120,
        'f', 1359,
        'i', 1428,
        'l', 1127,
        'p', 1136,
        'r', 1290,
        's', 1251,
        't', 1649,
        'u', 1433,
        'v', 1131,
        'w', 1258,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(99);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 100:
      ADVANCE_MAP(
        '$', 727,
        '(', 1732,
        '/', 130,
        '<', 1762,
        '@', 1946,
        '[', 1733,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'i', 1423,
        'l', 1129,
        'p', 1136,
        'r', 1290,
        's', 1254,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(100);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 101:
      ADVANCE_MAP(
        '$', 727,
        '(', 1732,
        '/', 130,
        '_', 1949,
        '`', 163,
        'a', 1189,
        'b', 1465,
        'c', 1119,
        'e', 1124,
        'i', 1553,
        'l', 1127,
        'p', 1136,
        'r', 1290,
        't', 1527,
        'v', 1131,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(101);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 102:
      ADVANCE_MAP(
        '$', 727,
        '(', 1732,
        '/', 130,
        '_', 1949,
        '`', 163,
        'a', 1189,
        'b', 1465,
        'c', 1119,
        'e', 1124,
        'i', 1553,
        'l', 1127,
        'p', 1136,
        'r', 1290,
        'v', 1131,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(102);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 103:
      ADVANCE_MAP(
        '$', 727,
        '(', 1732,
        '/', 130,
        '_', 1949,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1119,
        'e', 1124,
        'i', 1553,
        'l', 1127,
        'p', 1136,
        'r', 1290,
        'v', 1131,
        '{', 1790,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(103);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 104:
      ADVANCE_MAP(
        '$', 727,
        ')', 1719,
        ',', 1722,
        '/', 130,
        ']', 1734,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'i', 1299,
        'l', 1129,
        'p', 1136,
        'r', 1290,
        's', 1638,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(104);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 105:
      ADVANCE_MAP(
        '$', 727,
        '/', 130,
        '<', 1764,
        '>', 1766,
        '@', 1947,
        '`', 163,
        'a', 1187,
        'b', 1465,
        'c', 1118,
        'd', 1225,
        'e', 1120,
        'f', 1323,
        'i', 1406,
        'l', 1127,
        'm', 1623,
        'n', 1476,
        'o', 1500,
        'p', 1134,
        'r', 1226,
        's', 1569,
        't', 1649,
        'u', 1433,
        'v', 1131,
        'w', 1258,
        '{', 733,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(105);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 106:
      ADVANCE_MAP(
        '$', 727,
        '/', 130,
        '@', 1947,
        '`', 163,
        'a', 1187,
        'b', 1465,
        'c', 1385,
        'd', 1225,
        'e', 1120,
        'f', 1323,
        'i', 1406,
        'l', 1127,
        'm', 1623,
        'n', 1476,
        'o', 1500,
        'p', 1134,
        'r', 1226,
        's', 1569,
        't', 1649,
        'u', 1433,
        'v', 1131,
        'w', 1258,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(106);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 107:
      ADVANCE_MAP(
        '$', 727,
        '/', 130,
        '@', 1947,
        '`', 163,
        'a', 1187,
        'b', 1465,
        'c', 1385,
        'd', 1327,
        'e', 1120,
        'f', 1323,
        'i', 1406,
        'l', 1127,
        'm', 1149,
        'n', 1476,
        'o', 1500,
        'p', 1134,
        'r', 1226,
        's', 1570,
        't', 1649,
        'u', 1433,
        'v', 1131,
        'w', 1258,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 108:
      ADVANCE_MAP(
        '$', 727,
        '/', 130,
        '@', 1947,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1118,
        'd', 1327,
        'e', 1124,
        'f', 1324,
        'i', 1421,
        'l', 1129,
        'm', 1623,
        'n', 1476,
        'o', 1500,
        'p', 1133,
        'r', 1226,
        's', 1608,
        'u', 1433,
        'w', 1258,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(108);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 109:
      ADVANCE_MAP(
        '$', 727,
        '/', 130,
        '@', 1947,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1385,
        'd', 1326,
        'e', 1124,
        'f', 1324,
        'i', 1421,
        'l', 1129,
        'm', 1623,
        'n', 1476,
        'o', 1500,
        'p', 1133,
        'r', 1226,
        's', 1608,
        'u', 1433,
        'w', 1257,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(109);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 110:
      ADVANCE_MAP(
        '$', 727,
        '/', 130,
        'P', 1552,
        'T', 1652,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'l', 1129,
        'p', 1136,
        'r', 1290,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(110);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 111:
      ADVANCE_MAP(
        '$', 727,
        '/', 130,
        ']', 1734,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'l', 1129,
        'p', 1136,
        'r', 1290,
        's', 1254,
        'u', 1433,
        'w', 1258,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(111);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 112:
      ADVANCE_MAP(
        '$', 727,
        '/', 130,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1386,
        'e', 1121,
        'f', 1622,
        'l', 1127,
        'p', 1135,
        'r', 1290,
        's', 1595,
        't', 1649,
        'v', 1131,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(112);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 113:
      ADVANCE_MAP(
        '$', 727,
        '/', 130,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'f', 1622,
        'i', 1463,
        'l', 1129,
        'p', 1136,
        'r', 1290,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(113);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 114:
      ADVANCE_MAP(
        '$', 727,
        '/', 130,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'f', 1126,
        'l', 1129,
        'p', 1136,
        'r', 1290,
        't', 1529,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(114);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 115:
      ADVANCE_MAP(
        '$', 727,
        '/', 130,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'l', 1127,
        'p', 1136,
        'r', 1290,
        'v', 1131,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(115);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 116:
      ADVANCE_MAP(
        '$', 727,
        '/', 1,
        '`', 163,
        'a', 1188,
        'b', 1465,
        'c', 1469,
        'd', 1568,
        'e', 1123,
        'f', 1350,
        'i', 1411,
        'k', 1263,
        'l', 1128,
        'p', 1136,
        'r', 1290,
        's', 1288,
        'u', 1455,
        'w', 1153,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(116);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 117:
      ADVANCE_MAP(
        '$', 727,
        '/', 1,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1469,
        'd', 1568,
        'e', 1122,
        'f', 1350,
        'i', 1411,
        'k', 1263,
        'l', 1128,
        'p', 1136,
        'r', 1290,
        's', 1288,
        'w', 1153,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(117);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 118:
      ADVANCE_MAP(
        '&', 1749,
        '(', 1732,
        ')', 1719,
        ',', 1722,
        '.', 1735,
        '/', 130,
        ':', 1729,
        '<', 1762,
        '>', 1765,
        '?', 1743,
        ']', 1734,
        '^', 721,
        'i', 486,
        'u', 1715,
        '{', 1790,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(118);
      END_STATE();
    case 119:
      ADVANCE_MAP(
        '&', 1749,
        '(', 1732,
        ')', 1719,
        ',', 1722,
        '.', 1735,
        '/', 130,
        ':', 1729,
        '<', 1762,
        '?', 1743,
        'i', 486,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(119);
      END_STATE();
    case 120:
      ADVANCE_MAP(
        '&', 1749,
        '(', 1732,
        ')', 1719,
        ',', 1722,
        '.', 1738,
        '/', 130,
        '0', 1696,
        ':', 1729,
        ';', 1914,
        '<', 1762,
        '>', 1765,
        '?', 1743,
        '@', 1947,
        'P', 571,
        'T', 711,
        ']', 1734,
        '^', 721,
        '_', 470,
        'a', 228,
        'b', 524,
        'c', 209,
        'd', 330,
        'e', 488,
        'f', 207,
        'g', 343,
        'i', 355,
        'l', 166,
        'm', 170,
        'n', 529,
        'o', 556,
        'p', 191,
        'r', 300,
        's', 344,
        't', 717,
        'u', 510,
        'v', 178,
        'w', 309,
        '{', 1790,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(120);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1696);
      END_STATE();
    case 121:
      ADVANCE_MAP(
        '(', 1732,
        '/', 130,
        '<', 1762,
        '@', 1946,
        '_', 470,
        'a', 229,
        'c', 444,
        'e', 488,
        'f', 417,
        'g', 342,
        'i', 508,
        'l', 166,
        'm', 687,
        'n', 548,
        's', 345,
        't', 717,
        'u', 510,
        'v', 178,
        'w', 308,
        '{', 1790,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(121);
      END_STATE();
    case 122:
      if (lookahead == ')') ADVANCE(2009);
      END_STATE();
    case 123:
      if (lookahead == ')') ADVANCE(2010);
      END_STATE();
    case 124:
      if (lookahead == '.') ADVANCE(127);
      END_STATE();
    case 125:
      if (lookahead == '.') ADVANCE(127);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(1692);
      END_STATE();
    case 126:
      if (lookahead == '.') ADVANCE(1833);
      END_STATE();
    case 127:
      if (lookahead == '.') ADVANCE(1833);
      if (lookahead == '<') ADVANCE(1834);
      END_STATE();
    case 128:
      if (lookahead == '/') ADVANCE(764);
      if (lookahead == '\t' ||
          lookahead == ' ') ADVANCE(723);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n') ADVANCE(129);
      END_STATE();
    case 129:
      if (lookahead == '/') ADVANCE(1728);
      if (lookahead == '\t' ||
          lookahead == ' ') ADVANCE(723);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n') ADVANCE(129);
      END_STATE();
    case 130:
      if (lookahead == '/') ADVANCE(766);
      END_STATE();
    case 131:
      if (lookahead == '/') ADVANCE(766);
      if (lookahead == '=') ADVANCE(1826);
      END_STATE();
    case 132:
      if (lookahead == '/') ADVANCE(88);
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(132);
      END_STATE();
    case 133:
      if (lookahead == '/') ADVANCE(761);
      if (lookahead != 0 &&
          lookahead != '#') ADVANCE(4);
      END_STATE();
    case 134:
      if (lookahead == '1') ADVANCE(2037);
      if (lookahead == '2') ADVANCE(2038);
      END_STATE();
    case 135:
      if (lookahead == ':') ADVANCE(1759);
      END_STATE();
    case 136:
      if (lookahead == ':') ADVANCE(1760);
      END_STATE();
    case 137:
      if (lookahead == '=') ADVANCE(1827);
      END_STATE();
    case 138:
      if (lookahead == '=') ADVANCE(1825);
      END_STATE();
    case 139:
      if (lookahead == '=') ADVANCE(1823);
      END_STATE();
    case 140:
      if (lookahead == '=') ADVANCE(1824);
      END_STATE();
    case 141:
      if (lookahead == '=') ADVANCE(1830);
      END_STATE();
    case 142:
      if (lookahead == '=') ADVANCE(141);
      END_STATE();
    case 143:
      if (lookahead == 'D') ADVANCE(1773);
      END_STATE();
    case 144:
      if (lookahead == 'E') ADVANCE(490);
      END_STATE();
    case 145:
      if (lookahead == 'I') ADVANCE(467);
      END_STATE();
    case 146:
      if (lookahead == 'L') ADVANCE(549);
      END_STATE();
    case 147:
      if (lookahead == 'L') ADVANCE(424);
      END_STATE();
    case 148:
      if (lookahead == 'L') ADVANCE(425);
      END_STATE();
    case 149:
      if (lookahead == 'M') ADVANCE(217);
      END_STATE();
    case 150:
      if (lookahead == 'P') ADVANCE(192);
      END_STATE();
    case 151:
      if (lookahead == 'S') ADVANCE(325);
      END_STATE();
    case 152:
      if (lookahead == 'S') ADVANCE(337);
      END_STATE();
    case 153:
      if (lookahead == '_') ADVANCE(153);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      END_STATE();
    case 154:
      if (lookahead == '_') ADVANCE(154);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(1698);
      END_STATE();
    case 155:
      if (lookahead == '_') ADVANCE(155);
      if (lookahead == '0' ||
          lookahead == '1') ADVANCE(1700);
      END_STATE();
    case 156:
      if (lookahead == '_') ADVANCE(156);
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(1699);
      END_STATE();
    case 157:
      if (lookahead == '_') ADVANCE(157);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(1692);
      END_STATE();
    case 158:
      if (lookahead == '_') ADVANCE(158);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(1697);
      END_STATE();
    case 159:
      if (lookahead == '_') ADVANCE(159);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(1693);
      END_STATE();
    case 160:
      if (lookahead == '_') ADVANCE(161);
      if (lookahead == 'P' ||
          lookahead == 'p') ADVANCE(724);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(160);
      END_STATE();
    case 161:
      if (lookahead == '_') ADVANCE(161);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(160);
      END_STATE();
    case 162:
      if (lookahead == '_') ADVANCE(162);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(1696);
      END_STATE();
    case 163:
      if (lookahead == '`') ADVANCE(1666);
      if (lookahead != 0 &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ') ADVANCE(163);
      END_STATE();
    case 164:
      if (lookahead == 'a') ADVANCE(477);
      if (lookahead == 'l') ADVANCE(173);
      if (lookahead == 'o') ADVANCE(430);
      END_STATE();
    case 165:
      if (lookahead == 'a') ADVANCE(431);
      if (lookahead == 'i') ADVANCE(447);
      if (lookahead == 'o') ADVANCE(572);
      if (lookahead == 'u') ADVANCE(491);
      END_STATE();
    case 166:
      if (lookahead == 'a') ADVANCE(720);
      if (lookahead == 'e') ADVANCE(635);
      END_STATE();
    case 167:
      if (lookahead == 'a') ADVANCE(720);
      if (lookahead == 'e') ADVANCE(635);
      if (lookahead == 'i') ADVANCE(507);
      END_STATE();
    case 168:
      if (lookahead == 'a') ADVANCE(232);
      if (lookahead == 'o') ADVANCE(625);
      if (lookahead == 'r') ADVANCE(276);
      if (lookahead == 'u') ADVANCE(221);
      END_STATE();
    case 169:
      if (lookahead == 'a') ADVANCE(369);
      if (lookahead == 'p') ADVANCE(541);
      END_STATE();
    case 170:
      if (lookahead == 'a') ADVANCE(253);
      if (lookahead == 'u') ADVANCE(659);
      END_STATE();
    case 171:
      if (lookahead == 'a') ADVANCE(427);
      END_STATE();
    case 172:
      if (lookahead == 'a') ADVANCE(360);
      END_STATE();
    case 173:
      if (lookahead == 'a') ADVANCE(620);
      END_STATE();
    case 174:
      if (lookahead == 'a') ADVANCE(428);
      END_STATE();
    case 175:
      if (lookahead == 'a') ADVANCE(606);
      if (lookahead == 'h') ADVANCE(586);
      if (lookahead == 'r') ADVANCE(691);
      if (lookahead == 'y') ADVANCE(563);
      END_STATE();
    case 176:
      if (lookahead == 'a') ADVANCE(399);
      END_STATE();
    case 177:
      if (lookahead == 'a') ADVANCE(473);
      END_STATE();
    case 178:
      if (lookahead == 'a') ADVANCE(573);
      END_STATE();
    case 179:
      if (lookahead == 'a') ADVANCE(465);
      END_STATE();
    case 180:
      if (lookahead == 'a') ADVANCE(588);
      if (lookahead == 'e') ADVANCE(171);
      if (lookahead == 'h') ADVANCE(394);
      if (lookahead == 'i') ADVANCE(446);
      END_STATE();
    case 181:
      if (lookahead == 'a') ADVANCE(466);
      END_STATE();
    case 182:
      if (lookahead == 'a') ADVANCE(574);
      END_STATE();
    case 183:
      if (lookahead == 'a') ADVANCE(671);
      if (lookahead == 'r') ADVANCE(689);
      END_STATE();
    case 184:
      if (lookahead == 'a') ADVANCE(617);
      END_STATE();
    case 185:
      if (lookahead == 'a') ADVANCE(434);
      END_STATE();
    case 186:
      if (lookahead == 'a') ADVANCE(494);
      END_STATE();
    case 187:
      if (lookahead == 'a') ADVANCE(675);
      END_STATE();
    case 188:
      if (lookahead == 'a') ADVANCE(436);
      END_STATE();
    case 189:
      if (lookahead == 'a') ADVANCE(437);
      END_STATE();
    case 190:
      if (lookahead == 'a') ADVANCE(438);
      END_STATE();
    case 191:
      if (lookahead == 'a') ADVANCE(231);
      if (lookahead == 'o') ADVANCE(625);
      if (lookahead == 'r') ADVANCE(277);
      if (lookahead == 'u') ADVANCE(221);
      END_STATE();
    case 192:
      if (lookahead == 'a') ADVANCE(657);
      END_STATE();
    case 193:
      if (lookahead == 'a') ADVANCE(440);
      END_STATE();
    case 194:
      if (lookahead == 'a') ADVANCE(643);
      END_STATE();
    case 195:
      if (lookahead == 'a') ADVANCE(441);
      END_STATE();
    case 196:
      if (lookahead == 'a') ADVANCE(598);
      END_STATE();
    case 197:
      if (lookahead == 'a') ADVANCE(442);
      END_STATE();
    case 198:
      if (lookahead == 'a') ADVANCE(658);
      END_STATE();
    case 199:
      if (lookahead == 'a') ADVANCE(674);
      END_STATE();
    case 200:
      if (lookahead == 'a') ADVANCE(238);
      if (lookahead == 'n') ADVANCE(685);
      if (lookahead == 'r') ADVANCE(607);
      if (lookahead == 'x') ADVANCE(660);
      END_STATE();
    case 201:
      if (lookahead == 'a') ADVANCE(224);
      END_STATE();
    case 202:
      if (lookahead == 'a') ADVANCE(704);
      if (lookahead == 'o') ADVANCE(706);
      if (lookahead == 'u') ADVANCE(629);
      END_STATE();
    case 203:
      if (lookahead == 'a') ADVANCE(567);
      END_STATE();
    case 204:
      if (lookahead == 'a') ADVANCE(663);
      END_STATE();
    case 205:
      if (lookahead == 'a') ADVANCE(361);
      END_STATE();
    case 206:
      if (lookahead == 'a') ADVANCE(398);
      END_STATE();
    case 207:
      if (lookahead == 'a') ADVANCE(454);
      if (lookahead == 'i') ADVANCE(459);
      if (lookahead == 'o') ADVANCE(572);
      if (lookahead == 'u') ADVANCE(491);
      END_STATE();
    case 208:
      if (lookahead == 'a') ADVANCE(454);
      if (lookahead == 'i') ADVANCE(459);
      if (lookahead == 'u') ADVANCE(491);
      END_STATE();
    case 209:
      if (lookahead == 'a') ADVANCE(624);
      if (lookahead == 'l') ADVANCE(173);
      if (lookahead == 'o') ADVANCE(485);
      END_STATE();
    case 210:
      if (lookahead == 'a') ADVANCE(453);
      END_STATE();
    case 211:
      if (lookahead == 'a') ADVANCE(371);
      END_STATE();
    case 212:
      if (lookahead == 'a') ADVANCE(664);
      END_STATE();
    case 213:
      if (lookahead == 'a') ADVANCE(665);
      END_STATE();
    case 214:
      if (lookahead == 'a') ADVANCE(667);
      END_STATE();
    case 215:
      if (lookahead == 'a') ADVANCE(669);
      END_STATE();
    case 216:
      if (lookahead == 'a') ADVANCE(677);
      END_STATE();
    case 217:
      if (lookahead == 'a') ADVANCE(255);
      END_STATE();
    case 218:
      if (lookahead == 'a') ADVANCE(679);
      END_STATE();
    case 219:
      if (lookahead == 'a') ADVANCE(226);
      END_STATE();
    case 220:
      if (lookahead == 'a') ADVANCE(426);
      END_STATE();
    case 221:
      if (lookahead == 'b') ADVANCE(448);
      END_STATE();
    case 222:
      if (lookahead == 'b') ADVANCE(627);
      END_STATE();
    case 223:
      if (lookahead == 'b') ADVANCE(627);
      if (lookahead == 'p') ADVANCE(327);
      END_STATE();
    case 224:
      if (lookahead == 'b') ADVANCE(456);
      END_STATE();
    case 225:
      if (lookahead == 'b') ADVANCE(697);
      END_STATE();
    case 226:
      if (lookahead == 'b') ADVANCE(458);
      END_STATE();
    case 227:
      if (lookahead == 'c') ADVANCE(654);
      if (lookahead == 'n') ADVANCE(712);
      if (lookahead == 'r') ADVANCE(230);
      if (lookahead == 's') ADVANCE(619);
      if (lookahead == 'v') ADVANCE(206);
      if (lookahead == 'w') ADVANCE(176);
      END_STATE();
    case 228:
      if (lookahead == 'c') ADVANCE(654);
      if (lookahead == 's') ADVANCE(619);
      END_STATE();
    case 229:
      if (lookahead == 'c') ADVANCE(654);
      if (lookahead == 's') ADVANCE(718);
      END_STATE();
    case 230:
      if (lookahead == 'c') ADVANCE(374);
      END_STATE();
    case 231:
      if (lookahead == 'c') ADVANCE(429);
      END_STATE();
    case 232:
      if (lookahead == 'c') ADVANCE(429);
      if (lookahead == 'r') ADVANCE(179);
      END_STATE();
    case 233:
      if (lookahead == 'c') ADVANCE(1894);
      END_STATE();
    case 234:
      if (lookahead == 'c') ADVANCE(1674);
      END_STATE();
    case 235:
      if (lookahead == 'c') ADVANCE(1962);
      END_STATE();
    case 236:
      if (lookahead == 'c') ADVANCE(1983);
      END_STATE();
    case 237:
      if (lookahead == 'c') ADVANCE(1986);
      END_STATE();
    case 238:
      if (lookahead == 'c') ADVANCE(375);
      END_STATE();
    case 239:
      if (lookahead == 'c') ADVANCE(376);
      END_STATE();
    case 240:
      if (lookahead == 'c') ADVANCE(203);
      END_STATE();
    case 241:
      if (lookahead == 'c') ADVANCE(539);
      END_STATE();
    case 242:
      if (lookahead == 'c') ADVANCE(451);
      END_STATE();
    case 243:
      if (lookahead == 'c') ADVANCE(323);
      if (lookahead == 'p') ADVANCE(349);
      if (lookahead == 'q') ADVANCE(698);
      if (lookahead == 't') ADVANCE(695);
      END_STATE();
    case 244:
      if (lookahead == 'c') ADVANCE(422);
      END_STATE();
    case 245:
      if (lookahead == 'c') ADVANCE(307);
      if (lookahead == 'f') ADVANCE(387);
      END_STATE();
    case 246:
      if (lookahead == 'c') ADVANCE(644);
      END_STATE();
    case 247:
      if (lookahead == 'c') ADVANCE(303);
      END_STATE();
    case 248:
      if (lookahead == 'c') ADVANCE(647);
      END_STATE();
    case 249:
      if (lookahead == 'c') ADVANCE(321);
      END_STATE();
    case 250:
      if (lookahead == 'c') ADVANCE(293);
      END_STATE();
    case 251:
      if (lookahead == 'c') ADVANCE(542);
      END_STATE();
    case 252:
      if (lookahead == 'c') ADVANCE(599);
      END_STATE();
    case 253:
      if (lookahead == 'c') ADVANCE(589);
      END_STATE();
    case 254:
      if (lookahead == 'c') ADVANCE(199);
      END_STATE();
    case 255:
      if (lookahead == 'c') ADVANCE(595);
      END_STATE();
    case 256:
      if (lookahead == 'c') ADVANCE(678);
      END_STATE();
    case 257:
      if (lookahead == 'd') ADVANCE(151);
      if (lookahead == 's') ADVANCE(661);
      END_STATE();
    case 258:
      if (lookahead == 'd') ADVANCE(1808);
      END_STATE();
    case 259:
      if (lookahead == 'd') ADVANCE(1864);
      END_STATE();
    case 260:
      if (lookahead == 'd') ADVANCE(134);
      END_STATE();
    case 261:
      if (lookahead == 'd') ADVANCE(2006);
      END_STATE();
    case 262:
      if (lookahead == 'd') ADVANCE(1956);
      END_STATE();
    case 263:
      if (lookahead == 'd') ADVANCE(1992);
      END_STATE();
    case 264:
      if (lookahead == 'd') ADVANCE(1959);
      END_STATE();
    case 265:
      if (lookahead == 'd') ADVANCE(408);
      END_STATE();
    case 266:
      if (lookahead == 'd') ADVANCE(408);
      if (lookahead == 'f') ADVANCE(383);
      if (lookahead == 'i') ADVANCE(651);
      if (lookahead == 'o') ADVANCE(690);
      if (lookahead == 't') ADVANCE(326);
      END_STATE();
    case 267:
      if (lookahead == 'd') ADVANCE(390);
      END_STATE();
    case 268:
      if (lookahead == 'd') ADVANCE(348);
      END_STATE();
    case 269:
      if (lookahead == 'd') ADVANCE(681);
      END_STATE();
    case 270:
      if (lookahead == 'd') ADVANCE(290);
      END_STATE();
    case 271:
      if (lookahead == 'd') ADVANCE(457);
      END_STATE();
    case 272:
      if (lookahead == 'e') ADVANCE(393);
      if (lookahead == 'i') ADVANCE(257);
      if (lookahead == 'o') ADVANCE(1816);
      if (lookahead == 's') ADVANCE(526);
      if (lookahead == 'y') ADVANCE(495);
      END_STATE();
    case 273:
      if (lookahead == 'e') ADVANCE(243);
      END_STATE();
    case 274:
      if (lookahead == 'e') ADVANCE(433);
      if (lookahead == 'o') ADVANCE(469);
      if (lookahead == 't') ADVANCE(183);
      if (lookahead == 'u') ADVANCE(223);
      if (lookahead == 'w') ADVANCE(382);
      END_STATE();
    case 275:
      if (lookahead == 'e') ADVANCE(480);
      if (lookahead == 't') ADVANCE(396);
      END_STATE();
    case 276:
      if (lookahead == 'e') ADVANCE(245);
      if (lookahead == 'i') ADVANCE(700);
      if (lookahead == 'o') ADVANCE(569);
      END_STATE();
    case 277:
      if (lookahead == 'e') ADVANCE(245);
      if (lookahead == 'i') ADVANCE(700);
      if (lookahead == 'o') ADVANCE(676);
      END_STATE();
    case 278:
      if (lookahead == 'e') ADVANCE(1739);
      END_STATE();
    case 279:
      if (lookahead == 'e') ADVANCE(1810);
      END_STATE();
    case 280:
      if (lookahead == 'e') ADVANCE(1771);
      END_STATE();
    case 281:
      if (lookahead == 'e') ADVANCE(1777);
      END_STATE();
    case 282:
      if (lookahead == 'e') ADVANCE(1745);
      END_STATE();
    case 283:
      if (lookahead == 'e') ADVANCE(1701);
      END_STATE();
    case 284:
      if (lookahead == 'e') ADVANCE(1704);
      END_STATE();
    case 285:
      if (lookahead == 'e') ADVANCE(1854);
      END_STATE();
    case 286:
      if (lookahead == 'e') ADVANCE(1686);
      END_STATE();
    case 287:
      if (lookahead == 'e') ADVANCE(1965);
      END_STATE();
    case 288:
      if (lookahead == 'e') ADVANCE(1860);
      END_STATE();
    case 289:
      if (lookahead == 'e') ADVANCE(2021);
      END_STATE();
    case 290:
      if (lookahead == 'e') ADVANCE(1950);
      END_STATE();
    case 291:
      if (lookahead == 'e') ADVANCE(1866);
      END_STATE();
    case 292:
      if (lookahead == 'e') ADVANCE(1782);
      END_STATE();
    case 293:
      if (lookahead == 'e') ADVANCE(1953);
      END_STATE();
    case 294:
      if (lookahead == 'e') ADVANCE(1868);
      END_STATE();
    case 295:
      if (lookahead == 'e') ADVANCE(2002);
      END_STATE();
    case 296:
      if (lookahead == 'e') ADVANCE(122);
      END_STATE();
    case 297:
      if (lookahead == 'e') ADVANCE(1943);
      END_STATE();
    case 298:
      if (lookahead == 'e') ADVANCE(570);
      END_STATE();
    case 299:
      if (lookahead == 'e') ADVANCE(1971);
      END_STATE();
    case 300:
      if (lookahead == 'e') ADVANCE(562);
      END_STATE();
    case 301:
      if (lookahead == 'e') ADVANCE(373);
      END_STATE();
    case 302:
      if (lookahead == 'e') ADVANCE(501);
      END_STATE();
    case 303:
      if (lookahead == 'e') ADVANCE(146);
      END_STATE();
    case 304:
      if (lookahead == 'e') ADVANCE(123);
      END_STATE();
    case 305:
      if (lookahead == 'e') ADVANCE(713);
      END_STATE();
    case 306:
      if (lookahead == 'e') ADVANCE(634);
      if (lookahead == 'u') ADVANCE(182);
      END_STATE();
    case 307:
      if (lookahead == 'e') ADVANCE(268);
      END_STATE();
    case 308:
      if (lookahead == 'e') ADVANCE(171);
      END_STATE();
    case 309:
      if (lookahead == 'e') ADVANCE(171);
      if (lookahead == 'h') ADVANCE(394);
      if (lookahead == 'i') ADVANCE(446);
      END_STATE();
    case 310:
      if (lookahead == 'e') ADVANCE(260);
      END_STATE();
    case 311:
      if (lookahead == 'e') ADVANCE(174);
      END_STATE();
    case 312:
      if (lookahead == 'e') ADVANCE(568);
      END_STATE();
    case 313:
      if (lookahead == 'e') ADVANCE(261);
      END_STATE();
    case 314:
      if (lookahead == 'e') ADVANCE(256);
      if (lookahead == 'f') ADVANCE(1802);
      END_STATE();
    case 315:
      if (lookahead == 'e') ADVANCE(443);
      END_STATE();
    case 316:
      if (lookahead == 'e') ADVANCE(262);
      END_STATE();
    case 317:
      if (lookahead == 'e') ADVANCE(608);
      END_STATE();
    case 318:
      if (lookahead == 'e') ADVANCE(269);
      END_STATE();
    case 319:
      if (lookahead == 'e') ADVANCE(513);
      END_STATE();
    case 320:
      if (lookahead == 'e') ADVANCE(263);
      END_STATE();
    case 321:
      if (lookahead == 'e') ADVANCE(372);
      END_STATE();
    case 322:
      if (lookahead == 'e') ADVANCE(264);
      END_STATE();
    case 323:
      if (lookahead == 'e') ADVANCE(386);
      END_STATE();
    case 324:
      if (lookahead == 'e') ADVANCE(210);
      END_STATE();
    case 325:
      if (lookahead == 'e') ADVANCE(641);
      END_STATE();
    case 326:
      if (lookahead == 'e') ADVANCE(614);
      END_STATE();
    case 327:
      if (lookahead == 'e') ADVANCE(578);
      END_STATE();
    case 328:
      if (lookahead == 'e') ADVANCE(579);
      END_STATE();
    case 329:
      if (lookahead == 'e') ADVANCE(584);
      END_STATE();
    case 330:
      if (lookahead == 'e') ADVANCE(392);
      if (lookahead == 'i') ADVANCE(257);
      if (lookahead == 'o') ADVANCE(1816);
      if (lookahead == 'y') ADVANCE(495);
      END_STATE();
    case 331:
      if (lookahead == 'e') ADVANCE(392);
      if (lookahead == 'i') ADVANCE(257);
      if (lookahead == 'y') ADVANCE(495);
      END_STATE();
    case 332:
      if (lookahead == 'e') ADVANCE(392);
      if (lookahead == 'i') ADVANCE(623);
      if (lookahead == 'y') ADVANCE(495);
      END_STATE();
    case 333:
      if (lookahead == 'e') ADVANCE(645);
      END_STATE();
    case 334:
      if (lookahead == 'e') ADVANCE(445);
      if (lookahead == 't') ADVANCE(183);
      if (lookahead == 'u') ADVANCE(222);
      END_STATE();
    case 335:
      if (lookahead == 'e') ADVANCE(580);
      END_STATE();
    case 336:
      if (lookahead == 'e') ADVANCE(582);
      END_STATE();
    case 337:
      if (lookahead == 'e') ADVANCE(646);
      END_STATE();
    case 338:
      if (lookahead == 'e') ADVANCE(512);
      END_STATE();
    case 339:
      if (lookahead == 'e') ADVANCE(611);
      END_STATE();
    case 340:
      if (lookahead == 'e') ADVANCE(479);
      if (lookahead == 't') ADVANCE(396);
      END_STATE();
    case 341:
      if (lookahead == 'e') ADVANCE(500);
      END_STATE();
    case 342:
      if (lookahead == 'e') ADVANCE(652);
      END_STATE();
    case 343:
      if (lookahead == 'e') ADVANCE(652);
      if (lookahead == 'u') ADVANCE(182);
      END_STATE();
    case 344:
      if (lookahead == 'e') ADVANCE(653);
      if (lookahead == 't') ADVANCE(183);
      if (lookahead == 'u') ADVANCE(222);
      if (lookahead == 'w') ADVANCE(413);
      END_STATE();
    case 345:
      if (lookahead == 'e') ADVANCE(653);
      if (lookahead == 't') ADVANCE(585);
      END_STATE();
    case 346:
      if (lookahead == 'e') ADVANCE(248);
      END_STATE();
    case 347:
      if (lookahead == 'e') ADVANCE(601);
      END_STATE();
    case 348:
      if (lookahead == 'e') ADVANCE(517);
      END_STATE();
    case 349:
      if (lookahead == 'e') ADVANCE(194);
      END_STATE();
    case 350:
      if (lookahead == 'e') ADVANCE(519);
      END_STATE();
    case 351:
      if (lookahead == 'e') ADVANCE(612);
      END_STATE();
    case 352:
      if (lookahead == 'e') ADVANCE(613);
      END_STATE();
    case 353:
      if (lookahead == 'e') ADVANCE(148);
      END_STATE();
    case 354:
      if (lookahead == 'f') ADVANCE(1751);
      if (lookahead == 'm') ADVANCE(169);
      if (lookahead == 'n') ADVANCE(1798);
      if (lookahead == 's') ADVANCE(1835);
      END_STATE();
    case 355:
      if (lookahead == 'f') ADVANCE(1751);
      if (lookahead == 'm') ADVANCE(565);
      if (lookahead == 'n') ADVANCE(266);
      END_STATE();
    case 356:
      if (lookahead == 'f') ADVANCE(1802);
      END_STATE();
    case 357:
      if (lookahead == 'f') ADVANCE(716);
      END_STATE();
    case 358:
      if (lookahead == 'f') ADVANCE(639);
      if (lookahead == 't') ADVANCE(239);
      END_STATE();
    case 359:
      if (lookahead == 'f') ADVANCE(388);
      END_STATE();
    case 360:
      if (lookahead == 'f') ADVANCE(296);
      END_STATE();
    case 361:
      if (lookahead == 'f') ADVANCE(304);
      END_STATE();
    case 362:
      if (lookahead == 'g') ADVANCE(2035);
      END_STATE();
    case 363:
      if (lookahead == 'g') ADVANCE(1977);
      END_STATE();
    case 364:
      if (lookahead == 'g') ADVANCE(2001);
      END_STATE();
    case 365:
      if (lookahead == 'g') ADVANCE(2011);
      END_STATE();
    case 366:
      if (lookahead == 'g') ADVANCE(2014);
      END_STATE();
    case 367:
      if (lookahead == 'g') ADVANCE(1980);
      END_STATE();
    case 368:
      if (lookahead == 'g') ADVANCE(379);
      END_STATE();
    case 369:
      if (lookahead == 'g') ADVANCE(353);
      END_STATE();
    case 370:
      if (lookahead == 'g') ADVANCE(333);
      END_STATE();
    case 371:
      if (lookahead == 'g') ADVANCE(286);
      END_STATE();
    case 372:
      if (lookahead == 'g') ADVANCE(596);
      END_STATE();
    case 373:
      if (lookahead == 'g') ADVANCE(212);
      END_STATE();
    case 374:
      if (lookahead == 'h') ADVANCE(2024);
      END_STATE();
    case 375:
      if (lookahead == 'h') ADVANCE(1677);
      END_STATE();
    case 376:
      if (lookahead == 'h') ADVANCE(1754);
      END_STATE();
    case 377:
      if (lookahead == 'h') ADVANCE(1818);
      END_STATE();
    case 378:
      if (lookahead == 'h') ADVANCE(1775);
      END_STATE();
    case 379:
      if (lookahead == 'h') ADVANCE(1813);
      END_STATE();
    case 380:
      if (lookahead == 'h') ADVANCE(186);
      END_STATE();
    case 381:
      if (lookahead == 'h') ADVANCE(593);
      END_STATE();
    case 382:
      if (lookahead == 'i') ADVANCE(358);
      END_STATE();
    case 383:
      if (lookahead == 'i') ADVANCE(708);
      END_STATE();
    case 384:
      if (lookahead == 'i') ADVANCE(432);
      if (lookahead == 'o') ADVANCE(478);
      END_STATE();
    case 385:
      if (lookahead == 'i') ADVANCE(225);
      END_STATE();
    case 386:
      if (lookahead == 'i') ADVANCE(702);
      END_STATE();
    case 387:
      if (lookahead == 'i') ADVANCE(709);
      END_STATE();
    case 388:
      if (lookahead == 'i') ADVANCE(710);
      END_STATE();
    case 389:
      if (lookahead == 'i') ADVANCE(560);
      END_STATE();
    case 390:
      if (lookahead == 'i') ADVANCE(357);
      END_STATE();
    case 391:
      if (lookahead == 'i') ADVANCE(315);
      END_STATE();
    case 392:
      if (lookahead == 'i') ADVANCE(514);
      END_STATE();
    case 393:
      if (lookahead == 'i') ADVANCE(514);
      if (lookahead == 'l') ADVANCE(301);
      END_STATE();
    case 394:
      if (lookahead == 'i') ADVANCE(455);
      END_STATE();
    case 395:
      if (lookahead == 'i') ADVANCE(626);
      if (lookahead == 'm') ADVANCE(699);
      END_STATE();
    case 396:
      if (lookahead == 'i') ADVANCE(554);
      END_STATE();
    case 397:
      if (lookahead == 'i') ADVANCE(499);
      END_STATE();
    case 398:
      if (lookahead == 'i') ADVANCE(452);
      END_STATE();
    case 399:
      if (lookahead == 'i') ADVANCE(637);
      END_STATE();
    case 400:
      if (lookahead == 'i') ADVANCE(461);
      END_STATE();
    case 401:
      if (lookahead == 'i') ADVANCE(543);
      END_STATE();
    case 402:
      if (lookahead == 'i') ADVANCE(489);
      END_STATE();
    case 403:
      if (lookahead == 'i') ADVANCE(235);
      END_STATE();
    case 404:
      if (lookahead == 'i') ADVANCE(492);
      END_STATE();
    case 405:
      if (lookahead == 'i') ADVANCE(640);
      END_STATE();
    case 406:
      if (lookahead == 'i') ADVANCE(236);
      END_STATE();
    case 407:
      if (lookahead == 'i') ADVANCE(493);
      END_STATE();
    case 408:
      if (lookahead == 'i') ADVANCE(602);
      END_STATE();
    case 409:
      if (lookahead == 'i') ADVANCE(237);
      END_STATE();
    case 410:
      if (lookahead == 'i') ADVANCE(497);
      END_STATE();
    case 411:
      if (lookahead == 'i') ADVANCE(503);
      END_STATE();
    case 412:
      if (lookahead == 'i') ADVANCE(505);
      END_STATE();
    case 413:
      if (lookahead == 'i') ADVANCE(672);
      END_STATE();
    case 414:
      if (lookahead == 'i') ADVANCE(184);
      END_STATE();
    case 415:
      if (lookahead == 'i') ADVANCE(270);
      END_STATE();
    case 416:
      if (lookahead == 'i') ADVANCE(604);
      END_STATE();
    case 417:
      if (lookahead == 'i') ADVANCE(498);
      if (lookahead == 'u') ADVANCE(491);
      END_STATE();
    case 418:
      if (lookahead == 'i') ADVANCE(546);
      END_STATE();
    case 419:
      if (lookahead == 'i') ADVANCE(680);
      END_STATE();
    case 420:
      if (lookahead == 'i') ADVANCE(609);
      END_STATE();
    case 421:
      if (lookahead == 'i') ADVANCE(350);
      END_STATE();
    case 422:
      if (lookahead == 'i') ADVANCE(213);
      END_STATE();
    case 423:
      if (lookahead == 'i') ADVANCE(703);
      END_STATE();
    case 424:
      if (lookahead == 'i') ADVANCE(682);
      END_STATE();
    case 425:
      if (lookahead == 'i') ADVANCE(683);
      END_STATE();
    case 426:
      if (lookahead == 'i') ADVANCE(463);
      END_STATE();
    case 427:
      if (lookahead == 'k') ADVANCE(2003);
      END_STATE();
    case 428:
      if (lookahead == 'k') ADVANCE(1862);
      END_STATE();
    case 429:
      if (lookahead == 'k') ADVANCE(211);
      END_STATE();
    case 430:
      if (lookahead == 'l') ADVANCE(535);
      if (lookahead == 'm') ADVANCE(564);
      if (lookahead == 'n') ADVANCE(621);
      END_STATE();
    case 431:
      if (lookahead == 'l') ADVANCE(450);
      END_STATE();
    case 432:
      if (lookahead == 'l') ADVANCE(1689);
      END_STATE();
    case 433:
      if (lookahead == 'l') ADVANCE(314);
      if (lookahead == 't') ADVANCE(1927);
      END_STATE();
    case 434:
      if (lookahead == 'l') ADVANCE(1995);
      END_STATE();
    case 435:
      if (lookahead == 'l') ADVANCE(1741);
      END_STATE();
    case 436:
      if (lookahead == 'l') ADVANCE(149);
      END_STATE();
    case 437:
      if (lookahead == 'l') ADVANCE(1968);
      END_STATE();
    case 438:
      if (lookahead == 'l') ADVANCE(1989);
      END_STATE();
    case 439:
      if (lookahead == 'l') ADVANCE(1885);
      END_STATE();
    case 440:
      if (lookahead == 'l') ADVANCE(1786);
      END_STATE();
    case 441:
      if (lookahead == 'l') ADVANCE(1784);
      END_STATE();
    case 442:
      if (lookahead == 'l') ADVANCE(1788);
      END_STATE();
    case 443:
      if (lookahead == 'l') ADVANCE(259);
      END_STATE();
    case 444:
      if (lookahead == 'l') ADVANCE(173);
      END_STATE();
    case 445:
      if (lookahead == 'l') ADVANCE(356);
      END_STATE();
    case 446:
      if (lookahead == 'l') ADVANCE(460);
      END_STATE();
    case 447:
      if (lookahead == 'l') ADVANCE(280);
      if (lookahead == 'n') ADVANCE(185);
      END_STATE();
    case 448:
      if (lookahead == 'l') ADVANCE(403);
      END_STATE();
    case 449:
      if (lookahead == 'l') ADVANCE(655);
      END_STATE();
    case 450:
      if (lookahead == 'l') ADVANCE(655);
      if (lookahead == 's') ADVANCE(284);
      END_STATE();
    case 451:
      if (lookahead == 'l') ADVANCE(532);
      END_STATE();
    case 452:
      if (lookahead == 'l') ADVANCE(201);
      END_STATE();
    case 453:
      if (lookahead == 'l') ADVANCE(414);
      END_STATE();
    case 454:
      if (lookahead == 'l') ADVANCE(449);
      END_STATE();
    case 455:
      if (lookahead == 'l') ADVANCE(285);
      END_STATE();
    case 456:
      if (lookahead == 'l') ADVANCE(291);
      END_STATE();
    case 457:
      if (lookahead == 'l') ADVANCE(292);
      END_STATE();
    case 458:
      if (lookahead == 'l') ADVANCE(294);
      END_STATE();
    case 459:
      if (lookahead == 'l') ADVANCE(312);
      if (lookahead == 'n') ADVANCE(185);
      END_STATE();
    case 460:
      if (lookahead == 'l') ADVANCE(152);
      END_STATE();
    case 461:
      if (lookahead == 'l') ADVANCE(335);
      END_STATE();
    case 462:
      if (lookahead == 'l') ADVANCE(214);
      END_STATE();
    case 463:
      if (lookahead == 'l') ADVANCE(219);
      END_STATE();
    case 464:
      if (lookahead == 'm') ADVANCE(1882);
      END_STATE();
    case 465:
      if (lookahead == 'm') ADVANCE(2019);
      END_STATE();
    case 466:
      if (lookahead == 'm') ADVANCE(2020);
      END_STATE();
    case 467:
      if (lookahead == 'm') ADVANCE(566);
      END_STATE();
    case 468:
      if (lookahead == 'm') ADVANCE(481);
      END_STATE();
    case 469:
      if (lookahead == 'm') ADVANCE(282);
      if (lookahead == 'u') ADVANCE(590);
      END_STATE();
    case 470:
      if (lookahead == 'm') ADVANCE(537);
      END_STATE();
    case 471:
      if (lookahead == 'm') ADVANCE(338);
      END_STATE();
    case 472:
      if (lookahead == 'm') ADVANCE(699);
      END_STATE();
    case 473:
      if (lookahead == 'm') ADVANCE(409);
      END_STATE();
    case 474:
      if (lookahead == 'm') ADVANCE(411);
      END_STATE();
    case 475:
      if (lookahead == 'm') ADVANCE(565);
      if (lookahead == 'n') ADVANCE(266);
      END_STATE();
    case 476:
      if (lookahead == 'm') ADVANCE(565);
      if (lookahead == 'n') ADVANCE(266);
      if (lookahead == 's') ADVANCE(1835);
      END_STATE();
    case 477:
      if (lookahead == 'n') ADVANCE(145);
      if (lookahead == 's') ADVANCE(279);
      END_STATE();
    case 478:
      if (lookahead == 'n') ADVANCE(395);
      END_STATE();
    case 479:
      if (lookahead == 'n') ADVANCE(1974);
      END_STATE();
    case 480:
      if (lookahead == 'n') ADVANCE(1974);
      if (lookahead == 'r') ADVANCE(216);
      END_STATE();
    case 481:
      if (lookahead == 'n') ADVANCE(1779);
      END_STATE();
    case 482:
      if (lookahead == 'n') ADVANCE(1858);
      END_STATE();
    case 483:
      if (lookahead == 'n') ADVANCE(1908);
      END_STATE();
    case 484:
      if (lookahead == 'n') ADVANCE(2036);
      END_STATE();
    case 485:
      if (lookahead == 'n') ADVANCE(622);
      END_STATE();
    case 486:
      if (lookahead == 'n') ADVANCE(1793);
      END_STATE();
    case 487:
      if (lookahead == 'n') ADVANCE(1793);
      if (lookahead == 's') ADVANCE(1835);
      END_STATE();
    case 488:
      if (lookahead == 'n') ADVANCE(685);
      if (lookahead == 'x') ADVANCE(668);
      END_STATE();
    case 489:
      if (lookahead == 'n') ADVANCE(362);
      END_STATE();
    case 490:
      if (lookahead == 'n') ADVANCE(701);
      END_STATE();
    case 491:
      if (lookahead == 'n') ADVANCE(233);
      END_STATE();
    case 492:
      if (lookahead == 'n') ADVANCE(363);
      END_STATE();
    case 493:
      if (lookahead == 'n') ADVANCE(364);
      END_STATE();
    case 494:
      if (lookahead == 'n') ADVANCE(271);
      END_STATE();
    case 495:
      if (lookahead == 'n') ADVANCE(177);
      END_STATE();
    case 496:
      if (lookahead == 'n') ADVANCE(234);
      END_STATE();
    case 497:
      if (lookahead == 'n') ADVANCE(365);
      END_STATE();
    case 498:
      if (lookahead == 'n') ADVANCE(185);
      END_STATE();
    case 499:
      if (lookahead == 'n') ADVANCE(692);
      END_STATE();
    case 500:
      if (lookahead == 'n') ADVANCE(631);
      END_STATE();
    case 501:
      if (lookahead == 'n') ADVANCE(631);
      if (lookahead == 'r') ADVANCE(515);
      END_STATE();
    case 502:
      if (lookahead == 'n') ADVANCE(471);
      END_STATE();
    case 503:
      if (lookahead == 'n') ADVANCE(366);
      END_STATE();
    case 504:
      if (lookahead == 'n') ADVANCE(472);
      END_STATE();
    case 505:
      if (lookahead == 'n') ADVANCE(367);
      END_STATE();
    case 506:
      if (lookahead == 'n') ADVANCE(632);
      END_STATE();
    case 507:
      if (lookahead == 'n') ADVANCE(281);
      END_STATE();
    case 508:
      if (lookahead == 'n') ADVANCE(265);
      END_STATE();
    case 509:
      if (lookahead == 'n') ADVANCE(265);
      if (lookahead == 's') ADVANCE(1835);
      END_STATE();
    case 510:
      if (lookahead == 'n') ADVANCE(521);
      END_STATE();
    case 511:
      if (lookahead == 'n') ADVANCE(313);
      END_STATE();
    case 512:
      if (lookahead == 'n') ADVANCE(650);
      END_STATE();
    case 513:
      if (lookahead == 'n') ADVANCE(421);
      END_STATE();
    case 514:
      if (lookahead == 'n') ADVANCE(405);
      END_STATE();
    case 515:
      if (lookahead == 'n') ADVANCE(188);
      END_STATE();
    case 516:
      if (lookahead == 'n') ADVANCE(402);
      END_STATE();
    case 517:
      if (lookahead == 'n') ADVANCE(249);
      END_STATE();
    case 518:
      if (lookahead == 'n') ADVANCE(189);
      END_STATE();
    case 519:
      if (lookahead == 'n') ADVANCE(250);
      END_STATE();
    case 520:
      if (lookahead == 'n') ADVANCE(190);
      END_STATE();
    case 521:
      if (lookahead == 'o') ADVANCE(706);
      END_STATE();
    case 522:
      if (lookahead == 'o') ADVANCE(1903);
      END_STATE();
    case 523:
      if (lookahead == 'o') ADVANCE(1906);
      END_STATE();
    case 524:
      if (lookahead == 'o') ADVANCE(610);
      END_STATE();
    case 525:
      if (lookahead == 'o') ADVANCE(610);
      if (lookahead == 'r') ADVANCE(311);
      END_STATE();
    case 526:
      if (lookahead == 'o') ADVANCE(380);
      END_STATE();
    case 527:
      if (lookahead == 'o') ADVANCE(705);
      END_STATE();
    case 528:
      if (lookahead == 'o') ADVANCE(707);
      END_STATE();
    case 529:
      if (lookahead == 'o') ADVANCE(478);
      END_STATE();
    case 530:
      if (lookahead == 'o') ADVANCE(244);
      END_STATE();
    case 531:
      if (lookahead == 'o') ADVANCE(688);
      END_STATE();
    case 532:
      if (lookahead == 'o') ADVANCE(630);
      END_STATE();
    case 533:
      if (lookahead == 'o') ADVANCE(686);
      END_STATE();
    case 534:
      if (lookahead == 'o') ADVANCE(575);
      END_STATE();
    case 535:
      if (lookahead == 'o') ADVANCE(576);
      if (lookahead == 'u') ADVANCE(468);
      END_STATE();
    case 536:
      if (lookahead == 'o') ADVANCE(242);
      END_STATE();
    case 537:
      if (lookahead == 'o') ADVANCE(267);
      END_STATE();
    case 538:
      if (lookahead == 'o') ADVANCE(241);
      END_STATE();
    case 539:
      if (lookahead == 'o') ADVANCE(435);
      END_STATE();
    case 540:
      if (lookahead == 'o') ADVANCE(577);
      END_STATE();
    case 541:
      if (lookahead == 'o') ADVANCE(597);
      END_STATE();
    case 542:
      if (lookahead == 'o') ADVANCE(439);
      END_STATE();
    case 543:
      if (lookahead == 'o') ADVANCE(483);
      END_STATE();
    case 544:
      if (lookahead == 'o') ADVANCE(502);
      END_STATE();
    case 545:
      if (lookahead == 'o') ADVANCE(581);
      END_STATE();
    case 546:
      if (lookahead == 'o') ADVANCE(484);
      END_STATE();
    case 547:
      if (lookahead == 'o') ADVANCE(583);
      END_STATE();
    case 548:
      if (lookahead == 'o') ADVANCE(504);
      END_STATE();
    case 549:
      if (lookahead == 'o') ADVANCE(254);
      END_STATE();
    case 550:
      if (lookahead == 'o') ADVANCE(462);
      END_STATE();
    case 551:
      if (lookahead == 'o') ADVANCE(251);
      END_STATE();
    case 552:
      if (lookahead == 'o') ADVANCE(603);
      END_STATE();
    case 553:
      if (lookahead == 'o') ADVANCE(673);
      END_STATE();
    case 554:
      if (lookahead == 'o') ADVANCE(520);
      END_STATE();
    case 555:
      if (lookahead == 'p') ADVANCE(275);
      if (lookahead == 's') ADVANCE(2022);
      if (lookahead == 'v') ADVANCE(317);
      END_STATE();
    case 556:
      if (lookahead == 'p') ADVANCE(275);
      if (lookahead == 'v') ADVANCE(317);
      END_STATE();
    case 557:
      if (lookahead == 'p') ADVANCE(1940);
      END_STATE();
    case 558:
      if (lookahead == 'p') ADVANCE(340);
      if (lookahead == 'v') ADVANCE(317);
      END_STATE();
    case 559:
      if (lookahead == 'p') ADVANCE(278);
      END_STATE();
    case 560:
      if (lookahead == 'p') ADVANCE(649);
      END_STATE();
    case 561:
      if (lookahead == 'p') ADVANCE(297);
      END_STATE();
    case 562:
      if (lookahead == 'p') ADVANCE(349);
      if (lookahead == 'q') ADVANCE(698);
      END_STATE();
    case 563:
      if (lookahead == 'p') ADVANCE(324);
      END_STATE();
    case 564:
      if (lookahead == 'p') ADVANCE(400);
      END_STATE();
    case 565:
      if (lookahead == 'p') ADVANCE(541);
      END_STATE();
    case 566:
      if (lookahead == 'p') ADVANCE(552);
      END_STATE();
    case 567:
      if (lookahead == 'p') ADVANCE(407);
      END_STATE();
    case 568:
      if (lookahead == 'p') ADVANCE(600);
      END_STATE();
    case 569:
      if (lookahead == 'p') ADVANCE(347);
      if (lookahead == 't') ADVANCE(551);
      END_STATE();
    case 570:
      if (lookahead == 'q') ADVANCE(698);
      END_STATE();
    case 571:
      if (lookahead == 'r') ADVANCE(553);
      END_STATE();
    case 572:
      if (lookahead == 'r') ADVANCE(1852);
      END_STATE();
    case 573:
      if (lookahead == 'r') ADVANCE(1891);
      END_STATE();
    case 574:
      if (lookahead == 'r') ADVANCE(258);
      END_STATE();
    case 575:
      if (lookahead == 'r') ADVANCE(1671);
      END_STATE();
    case 576:
      if (lookahead == 'r') ADVANCE(147);
      END_STATE();
    case 577:
      if (lookahead == 'r') ADVANCE(2034);
      END_STATE();
    case 578:
      if (lookahead == 'r') ADVANCE(1805);
      END_STATE();
    case 579:
      if (lookahead == 'r') ADVANCE(135);
      END_STATE();
    case 580:
      if (lookahead == 'r') ADVANCE(2028);
      END_STATE();
    case 581:
      if (lookahead == 'r') ADVANCE(1939);
      END_STATE();
    case 582:
      if (lookahead == 'r') ADVANCE(2018);
      END_STATE();
    case 583:
      if (lookahead == 'r') ADVANCE(1757);
      END_STATE();
    case 584:
      if (lookahead == 'r') ADVANCE(136);
      END_STATE();
    case 585:
      if (lookahead == 'r') ADVANCE(689);
      END_STATE();
    case 586:
      if (lookahead == 'r') ADVANCE(527);
      END_STATE();
    case 587:
      if (lookahead == 'r') ADVANCE(528);
      END_STATE();
    case 588:
      if (lookahead == 'r') ADVANCE(516);
      END_STATE();
    case 589:
      if (lookahead == 'r') ADVANCE(522);
      END_STATE();
    case 590:
      if (lookahead == 'r') ADVANCE(247);
      END_STATE();
    case 591:
      if (lookahead == 'r') ADVANCE(482);
      END_STATE();
    case 592:
      if (lookahead == 'r') ADVANCE(385);
      END_STATE();
    case 593:
      if (lookahead == 'r') ADVANCE(531);
      END_STATE();
    case 594:
      if (lookahead == 'r') ADVANCE(415);
      END_STATE();
    case 595:
      if (lookahead == 'r') ADVANCE(523);
      END_STATE();
    case 596:
      if (lookahead == 'r') ADVANCE(533);
      END_STATE();
    case 597:
      if (lookahead == 'r') ADVANCE(642);
      END_STATE();
    case 598:
      if (lookahead == 'r') ADVANCE(181);
      END_STATE();
    case 599:
      if (lookahead == 'r') ADVANCE(389);
      END_STATE();
    case 600:
      if (lookahead == 'r') ADVANCE(423);
      END_STATE();
    case 601:
      if (lookahead == 'r') ADVANCE(656);
      END_STATE();
    case 602:
      if (lookahead == 'r') ADVANCE(346);
      END_STATE();
    case 603:
      if (lookahead == 'r') ADVANCE(648);
      END_STATE();
    case 604:
      if (lookahead == 'r') ADVANCE(316);
      END_STATE();
    case 605:
      if (lookahead == 'r') ADVANCE(295);
      END_STATE();
    case 606:
      if (lookahead == 'r') ADVANCE(370);
      END_STATE();
    case 607:
      if (lookahead == 'r') ADVANCE(540);
      END_STATE();
    case 608:
      if (lookahead == 'r') ADVANCE(594);
      END_STATE();
    case 609:
      if (lookahead == 'r') ADVANCE(544);
      END_STATE();
    case 610:
      if (lookahead == 'r') ADVANCE(587);
      END_STATE();
    case 611:
      if (lookahead == 'r') ADVANCE(193);
      END_STATE();
    case 612:
      if (lookahead == 'r') ADVANCE(195);
      END_STATE();
    case 613:
      if (lookahead == 'r') ADVANCE(197);
      END_STATE();
    case 614:
      if (lookahead == 'r') ADVANCE(518);
      END_STATE();
    case 615:
      if (lookahead == 's') ADVANCE(1835);
      END_STATE();
    case 616:
      if (lookahead == 's') ADVANCE(1879);
      END_STATE();
    case 617:
      if (lookahead == 's') ADVANCE(1873);
      END_STATE();
    case 618:
      if (lookahead == 's') ADVANCE(240);
      END_STATE();
    case 619:
      if (lookahead == 's') ADVANCE(530);
      if (lookahead == 'y') ADVANCE(496);
      END_STATE();
    case 620:
      if (lookahead == 's') ADVANCE(616);
      END_STATE();
    case 621:
      if (lookahead == 's') ADVANCE(694);
      if (lookahead == 't') ADVANCE(397);
      if (lookahead == 'v') ADVANCE(319);
      END_STATE();
    case 622:
      if (lookahead == 's') ADVANCE(694);
      if (lookahead == 'v') ADVANCE(319);
      END_STATE();
    case 623:
      if (lookahead == 's') ADVANCE(661);
      END_STATE();
    case 624:
      if (lookahead == 's') ADVANCE(279);
      END_STATE();
    case 625:
      if (lookahead == 's') ADVANCE(636);
      END_STATE();
    case 626:
      if (lookahead == 's') ADVANCE(550);
      END_STATE();
    case 627:
      if (lookahead == 's') ADVANCE(252);
      END_STATE();
    case 628:
      if (lookahead == 's') ADVANCE(172);
      if (lookahead == 'u') ADVANCE(506);
      END_STATE();
    case 629:
      if (lookahead == 's') ADVANCE(310);
      END_STATE();
    case 630:
      if (lookahead == 's') ADVANCE(696);
      END_STATE();
    case 631:
      if (lookahead == 's') ADVANCE(401);
      END_STATE();
    case 632:
      if (lookahead == 's') ADVANCE(205);
      END_STATE();
    case 633:
      if (lookahead == 't') ADVANCE(183);
      if (lookahead == 'u') ADVANCE(222);
      END_STATE();
    case 634:
      if (lookahead == 't') ADVANCE(1924);
      END_STATE();
    case 635:
      if (lookahead == 't') ADVANCE(1888);
      END_STATE();
    case 636:
      if (lookahead == 't') ADVANCE(359);
      END_STATE();
    case 637:
      if (lookahead == 't') ADVANCE(1768);
      END_STATE();
    case 638:
      if (lookahead == 't') ADVANCE(1998);
      END_STATE();
    case 639:
      if (lookahead == 't') ADVANCE(2026);
      END_STATE();
    case 640:
      if (lookahead == 't') ADVANCE(1918);
      END_STATE();
    case 641:
      if (lookahead == 't') ADVANCE(1900);
      END_STATE();
    case 642:
      if (lookahead == 't') ADVANCE(1870);
      END_STATE();
    case 643:
      if (lookahead == 't') ADVANCE(1683);
      END_STATE();
    case 644:
      if (lookahead == 't') ADVANCE(1876);
      END_STATE();
    case 645:
      if (lookahead == 't') ADVANCE(144);
      END_STATE();
    case 646:
      if (lookahead == 't') ADVANCE(1897);
      END_STATE();
    case 647:
      if (lookahead == 't') ADVANCE(1911);
      END_STATE();
    case 648:
      if (lookahead == 't') ADVANCE(2030);
      END_STATE();
    case 649:
      if (lookahead == 't') ADVANCE(1920);
      END_STATE();
    case 650:
      if (lookahead == 't') ADVANCE(2032);
      END_STATE();
    case 651:
      if (lookahead == 't') ADVANCE(1915);
      END_STATE();
    case 652:
      if (lookahead == 't') ADVANCE(1922);
      END_STATE();
    case 653:
      if (lookahead == 't') ADVANCE(1925);
      END_STATE();
    case 654:
      if (lookahead == 't') ADVANCE(534);
      END_STATE();
    case 655:
      if (lookahead == 't') ADVANCE(381);
      END_STATE();
    case 656:
      if (lookahead == 't') ADVANCE(715);
      END_STATE();
    case 657:
      if (lookahead == 't') ADVANCE(377);
      END_STATE();
    case 658:
      if (lookahead == 't') ADVANCE(378);
      END_STATE();
    case 659:
      if (lookahead == 't') ADVANCE(187);
      END_STATE();
    case 660:
      if (lookahead == 't') ADVANCE(302);
      END_STATE();
    case 661:
      if (lookahead == 't') ADVANCE(592);
      END_STATE();
    case 662:
      if (lookahead == 't') ADVANCE(585);
      END_STATE();
    case 663:
      if (lookahead == 't') ADVANCE(287);
      END_STATE();
    case 664:
      if (lookahead == 't') ADVANCE(289);
      END_STATE();
    case 665:
      if (lookahead == 't') ADVANCE(318);
      END_STATE();
    case 666:
      if (lookahead == 't') ADVANCE(320);
      END_STATE();
    case 667:
      if (lookahead == 't') ADVANCE(322);
      END_STATE();
    case 668:
      if (lookahead == 't') ADVANCE(341);
      END_STATE();
    case 669:
      if (lookahead == 't') ADVANCE(299);
      END_STATE();
    case 670:
      if (lookahead == 't') ADVANCE(536);
      END_STATE();
    case 671:
      if (lookahead == 't') ADVANCE(406);
      END_STATE();
    case 672:
      if (lookahead == 't') ADVANCE(239);
      END_STATE();
    case 673:
      if (lookahead == 't') ADVANCE(538);
      END_STATE();
    case 674:
      if (lookahead == 't') ADVANCE(418);
      END_STATE();
    case 675:
      if (lookahead == 't') ADVANCE(404);
      END_STATE();
    case 676:
      if (lookahead == 't') ADVANCE(551);
      END_STATE();
    case 677:
      if (lookahead == 't') ADVANCE(545);
      END_STATE();
    case 678:
      if (lookahead == 't') ADVANCE(547);
      END_STATE();
    case 679:
      if (lookahead == 't') ADVANCE(412);
      END_STATE();
    case 680:
      if (lookahead == 't') ADVANCE(339);
      END_STATE();
    case 681:
      if (lookahead == 't') ADVANCE(719);
      END_STATE();
    case 682:
      if (lookahead == 't') ADVANCE(351);
      END_STATE();
    case 683:
      if (lookahead == 't') ADVANCE(352);
      END_STATE();
    case 684:
      if (lookahead == 't') ADVANCE(218);
      END_STATE();
    case 685:
      if (lookahead == 'u') ADVANCE(464);
      END_STATE();
    case 686:
      if (lookahead == 'u') ADVANCE(557);
      END_STATE();
    case 687:
      if (lookahead == 'u') ADVANCE(659);
      END_STATE();
    case 688:
      if (lookahead == 'u') ADVANCE(368);
      END_STATE();
    case 689:
      if (lookahead == 'u') ADVANCE(246);
      END_STATE();
    case 690:
      if (lookahead == 'u') ADVANCE(638);
      END_STATE();
    case 691:
      if (lookahead == 'u') ADVANCE(283);
      if (lookahead == 'y') ADVANCE(1820);
      END_STATE();
    case 692:
      if (lookahead == 'u') ADVANCE(288);
      END_STATE();
    case 693:
      if (lookahead == 'u') ADVANCE(670);
      END_STATE();
    case 694:
      if (lookahead == 'u') ADVANCE(474);
      END_STATE();
    case 695:
      if (lookahead == 'u') ADVANCE(591);
      END_STATE();
    case 696:
      if (lookahead == 'u') ADVANCE(605);
      END_STATE();
    case 697:
      if (lookahead == 'u') ADVANCE(666);
      END_STATE();
    case 698:
      if (lookahead == 'u') ADVANCE(416);
      END_STATE();
    case 699:
      if (lookahead == 'u') ADVANCE(684);
      END_STATE();
    case 700:
      if (lookahead == 'v') ADVANCE(204);
      END_STATE();
    case 701:
      if (lookahead == 'v') ADVANCE(420);
      END_STATE();
    case 702:
      if (lookahead == 'v') ADVANCE(336);
      END_STATE();
    case 703:
      if (lookahead == 'v') ADVANCE(215);
      END_STATE();
    case 704:
      if (lookahead == 'v') ADVANCE(220);
      END_STATE();
    case 705:
      if (lookahead == 'w') ADVANCE(1856);
      END_STATE();
    case 706:
      if (lookahead == 'w') ADVANCE(511);
      END_STATE();
    case 707:
      if (lookahead == 'w') ADVANCE(410);
      END_STATE();
    case 708:
      if (lookahead == 'x') ADVANCE(1933);
      END_STATE();
    case 709:
      if (lookahead == 'x') ADVANCE(1930);
      END_STATE();
    case 710:
      if (lookahead == 'x') ADVANCE(1936);
      END_STATE();
    case 711:
      if (lookahead == 'y') ADVANCE(559);
      END_STATE();
    case 712:
      if (lookahead == 'y') ADVANCE(1747);
      END_STATE();
    case 713:
      if (lookahead == 'y') ADVANCE(150);
      END_STATE();
    case 714:
      if (lookahead == 'y') ADVANCE(1680);
      END_STATE();
    case 715:
      if (lookahead == 'y') ADVANCE(2017);
      END_STATE();
    case 716:
      if (lookahead == 'y') ADVANCE(1928);
      END_STATE();
    case 717:
      if (lookahead == 'y') ADVANCE(563);
      END_STATE();
    case 718:
      if (lookahead == 'y') ADVANCE(496);
      END_STATE();
    case 719:
      if (lookahead == 'y') ADVANCE(561);
      END_STATE();
    case 720:
      if (lookahead == 'z') ADVANCE(714);
      END_STATE();
    case 721:
      if (lookahead == '{') ADVANCE(1791);
      END_STATE();
    case 722:
      if (lookahead == '}') ADVANCE(1717);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(722);
      END_STATE();
    case 723:
      if (lookahead == '\t' ||
          lookahead == ' ') ADVANCE(723);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '/') ADVANCE(129);
      END_STATE();
    case 724:
      if (lookahead == '+' ||
          lookahead == '-') ADVANCE(729);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(1693);
      END_STATE();
    case 725:
      if (lookahead == '0' ||
          lookahead == '1') ADVANCE(1700);
      END_STATE();
    case 726:
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(1699);
      END_STATE();
    case 727:
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(1667);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1669);
      END_STATE();
    case 728:
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(1692);
      END_STATE();
    case 729:
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(1693);
      END_STATE();
    case 730:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(1698);
      END_STATE();
    case 731:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(1697);
      END_STATE();
    case 732:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(160);
      END_STATE();
    case 733:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(722);
      END_STATE();
    case 734:
      if (lookahead != 0 &&
          lookahead != '#') ADVANCE(4);
      END_STATE();
    case 735:
      if (eof) ADVANCE(752);
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 1737,
        '/', 1841,
        '0', 1694,
        ':', 1729,
        ';', 1914,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1743,
        '@', 1947,
        'P', 571,
        'T', 711,
        '[', 1733,
        '\\', 1714,
        ']', 1734,
        '^', 1848,
        '_', 1948,
        '`', 163,
        'a', 227,
        'b', 525,
        'c', 164,
        'd', 272,
        'e', 200,
        'f', 165,
        'g', 306,
        'i', 354,
        'k', 305,
        'l', 167,
        'm', 170,
        'n', 384,
        'o', 555,
        'p', 168,
        'r', 273,
        's', 274,
        't', 175,
        'u', 1716,
        'v', 178,
        'w', 180,
        'y', 391,
        '{', 1790,
        '|', 1846,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(735);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      END_STATE();
    case 736:
      if (eof) ADVANCE(752);
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1744,
        '[', 1733,
        '\\', 1713,
        ']', 1734,
        '^', 1848,
        '`', 163,
        'a', 1189,
        'b', 1465,
        'c', 1119,
        'e', 1124,
        'f', 1126,
        'i', 1298,
        'l', 1127,
        'n', 1329,
        'p', 1136,
        'r', 1290,
        's', 1253,
        't', 1514,
        'v', 1131,
        '{', 1790,
        '|', 1846,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(738);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 737:
      if (eof) ADVANCE(752);
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1744,
        '[', 1733,
        '\\', 1713,
        ']', 1734,
        '^', 1848,
        '`', 163,
        'a', 1189,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'f', 1126,
        'i', 1298,
        'l', 1129,
        'n', 1329,
        'p', 1136,
        'r', 1290,
        's', 1253,
        't', 1514,
        '{', 1790,
        '|', 1846,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(739);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 738:
      if (eof) ADVANCE(752);
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1743,
        '[', 1733,
        '\\', 1713,
        ']', 1734,
        '^', 1848,
        '`', 163,
        'a', 1189,
        'b', 1465,
        'c', 1119,
        'e', 1124,
        'f', 1126,
        'i', 1298,
        'l', 1127,
        'n', 1329,
        'p', 1136,
        'r', 1290,
        's', 1253,
        't', 1514,
        'v', 1131,
        '{', 1790,
        '|', 1846,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(738);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 739:
      if (eof) ADVANCE(752);
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1743,
        '[', 1733,
        '\\', 1713,
        ']', 1734,
        '^', 1848,
        '`', 163,
        'a', 1189,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'f', 1126,
        'i', 1298,
        'l', 1129,
        'n', 1329,
        'p', 1136,
        'r', 1290,
        's', 1253,
        't', 1514,
        '{', 1790,
        '|', 1846,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(739);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 740:
      if (eof) ADVANCE(752);
      ADVANCE_MAP(
        '!', 754,
        '"', 1708,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        '*', 1840,
        '+', 1837,
        '-', 1838,
        '.', 125,
        '/', 1841,
        '0', 1694,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '@', 1947,
        '[', 1733,
        '\\', 1713,
        '^', 1848,
        '`', 163,
        'a', 804,
        'b', 990,
        'c', 946,
        'd', 903,
        'e', 771,
        'f', 772,
        'g', 1089,
        'i', 882,
        'l', 774,
        'm', 777,
        'n', 906,
        'o', 1007,
        'p', 780,
        'r', 836,
        's', 854,
        't', 901,
        'u', 971,
        'v', 784,
        'w', 859,
        '{', 1790,
        '|', 1846,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(740);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          ('_' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 741:
      if (eof) ADVANCE(752);
      ADVANCE_MAP(
        '!', 754,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 1736,
        '/', 1842,
        '0', 1696,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1744,
        '[', 1733,
        ']', 1734,
        '^', 1848,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'i', 1553,
        'l', 1129,
        'p', 1136,
        'r', 1290,
        '{', 1790,
        '|', 1846,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(742);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1696);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 742:
      if (eof) ADVANCE(752);
      ADVANCE_MAP(
        '!', 754,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 1736,
        '/', 1842,
        '0', 1696,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1743,
        '[', 1733,
        ']', 1734,
        '^', 1848,
        '`', 163,
        'a', 1190,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'i', 1553,
        'l', 1129,
        'p', 1136,
        'r', 1290,
        '{', 1790,
        '|', 1846,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(742);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1696);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 743:
      if (eof) ADVANCE(752);
      ADVANCE_MAP(
        '!', 754,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 1736,
        '/', 1842,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1744,
        '[', 1733,
        ']', 1734,
        '^', 1848,
        '`', 163,
        'a', 1184,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'i', 1553,
        'l', 1129,
        'p', 1136,
        'r', 1290,
        's', 1475,
        '{', 1790,
        '|', 1846,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(744);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 744:
      if (eof) ADVANCE(752);
      ADVANCE_MAP(
        '!', 754,
        '$', 727,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 1736,
        '/', 1842,
        ':', 1729,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1743,
        '[', 1733,
        ']', 1734,
        '^', 1848,
        '`', 163,
        'a', 1184,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'i', 1553,
        'l', 1129,
        'p', 1136,
        'r', 1290,
        's', 1475,
        '{', 1790,
        '|', 1846,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(744);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 745:
      if (eof) ADVANCE(752);
      ADVANCE_MAP(
        '!', 754,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 1736,
        '/', 1842,
        ':', 1729,
        ';', 1914,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1744,
        '@', 1947,
        '[', 1733,
        ']', 1734,
        '^', 1848,
        'a', 228,
        'b', 524,
        'c', 209,
        'd', 331,
        'e', 488,
        'f', 208,
        'i', 476,
        'l', 166,
        'm', 170,
        'n', 529,
        'o', 558,
        'p', 191,
        'r', 298,
        's', 334,
        't', 717,
        'u', 510,
        'v', 178,
        'w', 309,
        '{', 1790,
        '|', 1846,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(746);
      END_STATE();
    case 746:
      if (eof) ADVANCE(752);
      ADVANCE_MAP(
        '!', 754,
        '%', 1843,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        '*', 1840,
        '+', 1837,
        ',', 1722,
        '-', 1838,
        '.', 1736,
        '/', 1842,
        ':', 1729,
        ';', 1914,
        '<', 1763,
        '=', 142,
        '>', 1767,
        '?', 1743,
        '@', 1947,
        '[', 1733,
        ']', 1734,
        '^', 1848,
        'a', 228,
        'b', 524,
        'c', 209,
        'd', 331,
        'e', 488,
        'f', 208,
        'i', 476,
        'l', 166,
        'm', 170,
        'n', 529,
        'o', 558,
        'p', 191,
        'r', 298,
        's', 334,
        't', 717,
        'u', 510,
        'v', 178,
        'w', 309,
        '{', 1790,
        '|', 1846,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(746);
      END_STATE();
    case 747:
      if (eof) ADVANCE(752);
      ADVANCE_MAP(
        '!', 1730,
        '$', 727,
        '%', 137,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        '*', 138,
        '+', 139,
        ',', 1722,
        '-', 140,
        '.', 1738,
        '/', 131,
        '0', 1696,
        ':', 1729,
        '<', 1762,
        '>', 1765,
        '?', 1744,
        '@', 1947,
        '[', 1733,
        '\\', 85,
        ']', 1734,
        '^', 721,
        '`', 163,
        'a', 1182,
        'b', 1465,
        'c', 1118,
        'd', 1225,
        'e', 1120,
        'f', 1323,
        'i', 1406,
        'l', 1127,
        'm', 1623,
        'n', 1476,
        'o', 1500,
        'p', 1132,
        'r', 1226,
        's', 1473,
        't', 1649,
        'u', 1433,
        'v', 1131,
        'w', 1258,
        '{', 1790,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(750);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1696);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 748:
      if (eof) ADVANCE(752);
      ADVANCE_MAP(
        '!', 1730,
        '$', 727,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        ',', 1722,
        '.', 1738,
        '/', 130,
        ':', 1729,
        '<', 1762,
        '>', 1765,
        '?', 1744,
        '@', 1946,
        '[', 1733,
        ']', 1734,
        '`', 163,
        'a', 1184,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'l', 1129,
        'p', 1136,
        'r', 1290,
        's', 1475,
        '{', 1790,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(751);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 749:
      if (eof) ADVANCE(752);
      ADVANCE_MAP(
        '!', 753,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        ',', 1722,
        '.', 1735,
        '/', 130,
        ':', 1729,
        '<', 1762,
        '?', 1743,
        '@', 1947,
        'a', 228,
        'b', 524,
        'c', 209,
        'd', 332,
        'e', 488,
        'f', 208,
        'i', 475,
        'l', 166,
        'm', 687,
        'n', 529,
        'o', 558,
        'p', 191,
        'r', 298,
        's', 633,
        't', 717,
        'u', 510,
        'v', 178,
        'w', 308,
        '{', 1790,
        '}', 1792,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(749);
      END_STATE();
    case 750:
      if (eof) ADVANCE(752);
      ADVANCE_MAP(
        '$', 727,
        '%', 137,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        '*', 138,
        '+', 139,
        ',', 1722,
        '-', 140,
        '.', 1738,
        '/', 131,
        '0', 1696,
        ':', 1729,
        '<', 1762,
        '>', 1765,
        '?', 1743,
        '@', 1947,
        '[', 1733,
        '\\', 85,
        ']', 1734,
        '^', 721,
        '`', 163,
        'a', 1182,
        'b', 1465,
        'c', 1118,
        'd', 1225,
        'e', 1120,
        'f', 1323,
        'i', 1406,
        'l', 1127,
        'm', 1623,
        'n', 1476,
        'o', 1500,
        'p', 1132,
        'r', 1226,
        's', 1473,
        't', 1649,
        'u', 1433,
        'v', 1131,
        'w', 1258,
        '{', 1790,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(750);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(1696);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 751:
      if (eof) ADVANCE(752);
      ADVANCE_MAP(
        '$', 727,
        '&', 1749,
        '(', 1732,
        ')', 1719,
        ',', 1722,
        '.', 1738,
        '/', 130,
        ':', 1729,
        '<', 1762,
        '>', 1765,
        '?', 1743,
        '@', 1946,
        '[', 1733,
        ']', 1734,
        '`', 163,
        'a', 1184,
        'b', 1465,
        'c', 1487,
        'e', 1124,
        'l', 1129,
        'p', 1136,
        'r', 1290,
        's', 1475,
        '{', 1790,
        '}', 1792,
        '~', 1750,
      );
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') SKIP(751);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_1, 812, lookahead)) ADVANCE(1658);
      END_STATE();
    case 752:
      ACCEPT_TOKEN(ts_builtin_sym_end);
      END_STATE();
    case 753:
      ACCEPT_TOKEN(anon_sym_BANG);
      END_STATE();
    case 754:
      ACCEPT_TOKEN(anon_sym_BANG);
      if (lookahead == '=') ADVANCE(1828);
      END_STATE();
    case 755:
      ACCEPT_TOKEN(aux_sym_shebang_line_token1);
      if (lookahead == '/') ADVANCE(756);
      if (lookahead == '\t' ||
          lookahead == 0x0b ||
          lookahead == '\f' ||
          lookahead == ' ') ADVANCE(755);
      if (lookahead != 0 &&
          (lookahead < '\t' || '\r' < lookahead)) ADVANCE(757);
      END_STATE();
    case 756:
      ACCEPT_TOKEN(aux_sym_shebang_line_token1);
      if (lookahead == '/') ADVANCE(757);
      if (lookahead != 0 &&
          lookahead != '\n' &&
          lookahead != '\r') ADVANCE(757);
      END_STATE();
    case 757:
      ACCEPT_TOKEN(aux_sym_shebang_line_token1);
      if (lookahead != 0 &&
          lookahead != '\n' &&
          lookahead != '\r') ADVANCE(757);
      END_STATE();
    case 758:
      ACCEPT_TOKEN(sym_comment);
      if (lookahead == '\n') ADVANCE(132);
      if (lookahead == '#') ADVANCE(1724);
      if (lookahead == '/') ADVANCE(758);
      if (lookahead != 0) ADVANCE(765);
      END_STATE();
    case 759:
      ACCEPT_TOKEN(sym_comment);
      if (lookahead == '\n') ADVANCE(132);
      if (lookahead == '/') ADVANCE(758);
      if (lookahead != 0) ADVANCE(765);
      END_STATE();
    case 760:
      ACCEPT_TOKEN(sym_comment);
      if (lookahead == '\n') ADVANCE(4);
      if (lookahead == '#') ADVANCE(766);
      if (lookahead != 0) ADVANCE(761);
      END_STATE();
    case 761:
      ACCEPT_TOKEN(sym_comment);
      if (lookahead == '\n') ADVANCE(5);
      if (lookahead == '/') ADVANCE(760);
      if (lookahead != 0) ADVANCE(761);
      END_STATE();
    case 762:
      ACCEPT_TOKEN(sym_comment);
      if (lookahead == '*') ADVANCE(1761);
      if (lookahead == '/') ADVANCE(763);
      if (lookahead == '\t' ||
          lookahead == ' ') ADVANCE(764);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n') ADVANCE(764);
      END_STATE();
    case 763:
      ACCEPT_TOKEN(sym_comment);
      if (lookahead == '*') ADVANCE(1761);
      if (lookahead == '/') ADVANCE(763);
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(766);
      END_STATE();
    case 764:
      ACCEPT_TOKEN(sym_comment);
      if (lookahead == '/') ADVANCE(766);
      if (lookahead == '\t' ||
          lookahead == ' ') ADVANCE(764);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n') ADVANCE(764);
      END_STATE();
    case 765:
      ACCEPT_TOKEN(sym_comment);
      if (lookahead == '/') ADVANCE(758);
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(765);
      END_STATE();
    case 766:
      ACCEPT_TOKEN(sym_comment);
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(766);
      END_STATE();
    case 767:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1759);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 768:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1760);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 769:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'S') ADVANCE(874);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 770:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'S') ADVANCE(875);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 771:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(806);
      if (lookahead == 'n') ADVANCE(1080);
      if (lookahead == 'x') ADVANCE(1064);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 772:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(949);
      if (lookahead == 'i') ADVANCE(950);
      if (lookahead == 'o') ADVANCE(1017);
      if (lookahead == 'u') ADVANCE(974);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 773:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(949);
      if (lookahead == 'i') ADVANCE(979);
      if (lookahead == 'o') ADVANCE(1017);
      if (lookahead == 'u') ADVANCE(974);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 774:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(1106);
      if (lookahead == 'e') ADVANCE(1051);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 775:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(896);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 776:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(1041);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 777:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(821);
      if (lookahead == 'u') ADVANCE(1066);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 778:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(963);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 779:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(935);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 780:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(807);
      if (lookahead == 'o') ADVANCE(1046);
      if (lookahead == 'r') ADVANCE(837);
      if (lookahead == 'u') ADVANCE(802);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 781:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(807);
      if (lookahead == 'o') ADVANCE(1046);
      if (lookahead == 'r') ADVANCE(877);
      if (lookahead == 'u') ADVANCE(802);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 782:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(807);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 783:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(936);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 784:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(1018);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 785:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(1019);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 786:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(941);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 787:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(1039);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 788:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(942);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 789:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(1078);
      if (lookahead == 'r') ADVANCE(1084);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 790:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(943);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 791:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(1068);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 792:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(945);
      if (lookahead == 'i') ADVANCE(950);
      if (lookahead == 'o') ADVANCE(1017);
      if (lookahead == 'u') ADVANCE(974);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 793:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(1056);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 794:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(1071);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 795:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(924);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 796:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(1069);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 797:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(1049);
      if (lookahead == 'l') ADVANCE(776);
      if (lookahead == 'o') ADVANCE(968);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 798:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(957);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 799:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(1070);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 800:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(1073);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 801:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'a') ADVANCE(1074);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 802:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'b') ADVANCE(951);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 803:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'b') ADVANCE(1091);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 804:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'c') ADVANCE(1075);
      if (lookahead == 's') ADVANCE(1040);
      if (lookahead == 'w') ADVANCE(795);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 805:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'c') ADVANCE(1075);
      if (lookahead == 's') ADVANCE(1104);
      if (lookahead == 'w') ADVANCE(795);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 806:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'c') ADVANCE(898);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 807:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'c') ADVANCE(937);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 808:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'c') ADVANCE(1895);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 809:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'c') ADVANCE(1675);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 810:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'c') ADVANCE(1963);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 811:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'c') ADVANCE(1984);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 812:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'c') ADVANCE(1987);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 813:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'c') ADVANCE(899);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 814:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'c') ADVANCE(932);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 815:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'c') ADVANCE(1003);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 816:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'c') ADVANCE(853);
      if (lookahead == 'f') ADVANCE(910);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 817:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'c') ADVANCE(1057);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 818:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'c') ADVANCE(1058);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 819:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'c') ADVANCE(864);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 820:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'c') ADVANCE(844);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 821:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'c') ADVANCE(1025);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 822:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'd') ADVANCE(1809);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 823:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'd') ADVANCE(2007);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 824:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'd') ADVANCE(1957);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 825:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'd') ADVANCE(1993);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 826:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'd') ADVANCE(1960);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 827:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'd') ADVANCE(769);
      if (lookahead == 's') ADVANCE(1067);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 828:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'd') ADVANCE(1865);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 829:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'd') ADVANCE(916);
      if (lookahead == 'f') ADVANCE(904);
      if (lookahead == 'i') ADVANCE(1052);
      if (lookahead == 'o') ADVANCE(1086);
      if (lookahead == 't') ADVANCE(869);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 830:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'd') ADVANCE(916);
      if (lookahead == 'f') ADVANCE(904);
      if (lookahead == 'o') ADVANCE(1086);
      if (lookahead == 't') ADVANCE(869);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 831:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'd') ADVANCE(916);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 832:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'd') ADVANCE(843);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 833:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'd') ADVANCE(1062);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 834:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'd') ADVANCE(911);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 835:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'd') ADVANCE(880);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 836:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(1010);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 837:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(816);
      if (lookahead == 'i') ADVANCE(1094);
      if (lookahead == 'o') ADVANCE(1077);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 838:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(1702);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 839:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(1705);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 840:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(1855);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 841:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(1687);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 842:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(1966);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 843:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(1951);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 844:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(1954);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 845:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(1972);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 846:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(1944);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 847:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(1009);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 848:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(939);
      if (lookahead == 't') ADVANCE(789);
      if (lookahead == 'u') ADVANCE(1013);
      if (lookahead == 'w') ADVANCE(920);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 849:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(939);
      if (lookahead == 't') ADVANCE(1024);
      if (lookahead == 'u') ADVANCE(1013);
      if (lookahead == 'w') ADVANCE(920);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 850:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(1861);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 851:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(1811);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 852:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(1011);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 853:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(835);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 854:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(940);
      if (lookahead == 't') ADVANCE(789);
      if (lookahead == 'u') ADVANCE(1013);
      if (lookahead == 'w') ADVANCE(920);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 855:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(940);
      if (lookahead == 't') ADVANCE(1024);
      if (lookahead == 'u') ADVANCE(1013);
      if (lookahead == 'w') ADVANCE(920);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 856:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(1016);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 857:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(823);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 858:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(779);
      if (lookahead == 'h') ADVANCE(914);
      if (lookahead == 'i') ADVANCE(954);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 859:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(779);
      if (lookahead == 'h') ADVANCE(914);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 860:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(824);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 861:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(833);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 862:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(966);
      if (lookahead == 't') ADVANCE(915);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 863:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(825);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 864:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(897);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 865:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(980);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 866:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(826);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 867:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(985);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 868:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(798);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 869:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(1035);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 870:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(1021);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 871:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(783);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 872:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(952);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 873:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(1059);
      if (lookahead == 'u') ADVANCE(785);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 874:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(1060);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 875:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(1061);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 876:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(1037);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 877:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(889);
      if (lookahead == 'i') ADVANCE(1094);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 878:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(793);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 879:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(818);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 880:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(984);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 881:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'e') ADVANCE(987);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 882:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'f') ADVANCE(1752);
      if (lookahead == 'm') ADVANCE(1015);
      if (lookahead == 'n') ADVANCE(829);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 883:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'f') ADVANCE(1752);
      if (lookahead == 'n') ADVANCE(830);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 884:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'f') ADVANCE(1752);
      if (lookahead == 'n') ADVANCE(1794);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 885:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'f') ADVANCE(1752);
      if (lookahead == 'n') ADVANCE(1795);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 886:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'f') ADVANCE(1752);
      if (lookahead == 'n') ADVANCE(831);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 887:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'f') ADVANCE(1803);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 888:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'f') ADVANCE(1103);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 889:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'f') ADVANCE(910);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 890:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'f') ADVANCE(912);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 891:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'g') ADVANCE(1978);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 892:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'g') ADVANCE(2012);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 893:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'g') ADVANCE(2015);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 894:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'g') ADVANCE(1981);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 895:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'g') ADVANCE(900);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 896:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'g') ADVANCE(841);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 897:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'g') ADVANCE(1027);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 898:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'h') ADVANCE(1678);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 899:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'h') ADVANCE(1755);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 900:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'h') ADVANCE(1814);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 901:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'h') ADVANCE(1022);
      if (lookahead == 'r') ADVANCE(1083);
      if (lookahead == 'y') ADVANCE(1014);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 902:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'h') ADVANCE(1030);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 903:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(1042);
      if (lookahead == 'o') ADVANCE(1817);
      if (lookahead == 'y') ADVANCE(977);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 904:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(1099);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 905:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(827);
      if (lookahead == 'o') ADVANCE(1817);
      if (lookahead == 'y') ADVANCE(977);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 906:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(938);
      if (lookahead == 'o') ADVANCE(965);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 907:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(938);
      if (lookahead == 'o') ADVANCE(975);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 908:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(938);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 909:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(803);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 910:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(1100);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 911:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(888);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 912:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(1101);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 913:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(1047);
      if (lookahead == 'm') ADVANCE(1093);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 914:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(953);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 915:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(1006);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 916:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(1028);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 917:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(810);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 918:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(1005);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 919:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(972);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 920:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(1076);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 921:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(811);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 922:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(973);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 923:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(787);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 924:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(1053);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 925:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(812);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 926:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(976);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 927:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(978);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 928:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(982);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 929:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(872);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 930:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(832);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 931:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(1032);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 932:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(799);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 933:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(881);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 934:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'i') ADVANCE(1095);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 935:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'k') ADVANCE(2004);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 936:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'k') ADVANCE(1863);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 937:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'k') ADVANCE(775);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 938:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'l') ADVANCE(1690);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 939:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'l') ADVANCE(887);
      if (lookahead == 't') ADVANCE(1926);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 940:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'l') ADVANCE(887);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 941:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'l') ADVANCE(1996);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 942:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'l') ADVANCE(1969);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 943:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'l') ADVANCE(1990);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 944:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'l') ADVANCE(1886);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 945:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'l') ADVANCE(955);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 946:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'l') ADVANCE(776);
      if (lookahead == 'o') ADVANCE(964);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 947:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'l') ADVANCE(776);
      if (lookahead == 'o') ADVANCE(968);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 948:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'l') ADVANCE(776);
      if (lookahead == 'o') ADVANCE(970);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 949:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'l') ADVANCE(1048);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 950:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'l') ADVANCE(856);
      if (lookahead == 'n') ADVANCE(786);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 951:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'l') ADVANCE(917);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 952:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'l') ADVANCE(828);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 953:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'l') ADVANCE(840);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 954:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'l') ADVANCE(956);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 955:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'l') ADVANCE(1065);
      if (lookahead == 's') ADVANCE(839);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 956:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'l') ADVANCE(770);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 957:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'l') ADVANCE(923);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 958:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'l') ADVANCE(800);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 959:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'm') ADVANCE(1883);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 960:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'm') ADVANCE(1002);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 961:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'm') ADVANCE(926);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 962:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'm') ADVANCE(1093);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 963:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'm') ADVANCE(925);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 964:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'n') ADVANCE(1045);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 965:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'n') ADVANCE(913);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 966:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'n') ADVANCE(1975);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 967:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'n') ADVANCE(1909);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 968:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'n') ADVANCE(1043);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 969:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'n') ADVANCE(1859);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 970:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'n') ADVANCE(1044);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 971:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'n') ADVANCE(992);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 972:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'n') ADVANCE(891);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 973:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'n') ADVANCE(892);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 974:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'n') ADVANCE(808);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 975:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'n') ADVANCE(962);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 976:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'n') ADVANCE(893);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 977:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'n') ADVANCE(778);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 978:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'n') ADVANCE(894);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 979:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'n') ADVANCE(786);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 980:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'n') ADVANCE(1050);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 981:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'n') ADVANCE(809);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 982:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'n') ADVANCE(1088);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 983:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'n') ADVANCE(857);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 984:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'n') ADVANCE(819);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 985:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'n') ADVANCE(933);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 986:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'n') ADVANCE(788);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 987:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'n') ADVANCE(820);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 988:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'n') ADVANCE(790);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 989:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'o') ADVANCE(1036);
      if (lookahead == 'r') ADVANCE(871);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 990:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'o') ADVANCE(1036);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 991:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'o') ADVANCE(1817);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 992:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'o') ADVANCE(1097);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 993:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'o') ADVANCE(1904);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 994:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'o') ADVANCE(1096);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 995:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'o') ADVANCE(1098);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 996:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'o') ADVANCE(814);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 997:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'o') ADVANCE(1020);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 998:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'o') ADVANCE(958);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 999:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'o') ADVANCE(1082);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1000:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'o') ADVANCE(1031);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1001:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'o') ADVANCE(815);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1002:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'o') ADVANCE(834);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1003:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'o') ADVANCE(944);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1004:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'o') ADVANCE(1085);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1005:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'o') ADVANCE(967);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1006:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'o') ADVANCE(988);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1007:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'p') ADVANCE(862);
      if (lookahead == 'v') ADVANCE(876);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1008:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'p') ADVANCE(1941);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1009:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'p') ADVANCE(878);
      if (lookahead == 'q') ADVANCE(1092);
      if (lookahead == 't') ADVANCE(1087);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1010:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'p') ADVANCE(878);
      if (lookahead == 'q') ADVANCE(1092);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1011:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'p') ADVANCE(878);
      if (lookahead == 't') ADVANCE(1087);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1012:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'p') ADVANCE(846);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1013:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'p') ADVANCE(870);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1014:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'p') ADVANCE(868);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1015:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'p') ADVANCE(1000);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1016:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'p') ADVANCE(1033);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1017:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'r') ADVANCE(1853);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1018:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'r') ADVANCE(1892);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1019:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'r') ADVANCE(822);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1020:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'r') ADVANCE(1672);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1021:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'r') ADVANCE(1806);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1022:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'r') ADVANCE(994);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1023:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'r') ADVANCE(995);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1024:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'r') ADVANCE(1084);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1025:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'r') ADVANCE(993);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1026:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'r') ADVANCE(909);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1027:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'r') ADVANCE(999);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1028:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'r') ADVANCE(879);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1029:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'r') ADVANCE(930);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1030:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'r') ADVANCE(1004);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1031:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'r') ADVANCE(1055);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1032:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'r') ADVANCE(860);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1033:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'r') ADVANCE(934);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1034:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'r') ADVANCE(969);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1035:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'r') ADVANCE(986);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1036:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'r') ADVANCE(1023);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1037:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'r') ADVANCE(1029);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1038:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 's') ADVANCE(1880);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1039:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 's') ADVANCE(1874);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1040:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 's') ADVANCE(996);
      if (lookahead == 'y') ADVANCE(981);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1041:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 's') ADVANCE(1038);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1042:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 's') ADVANCE(1067);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1043:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 's') ADVANCE(1090);
      if (lookahead == 't') ADVANCE(928);
      if (lookahead == 'v') ADVANCE(867);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1044:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 's') ADVANCE(1090);
      if (lookahead == 't') ADVANCE(928);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1045:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 's') ADVANCE(1090);
      if (lookahead == 'v') ADVANCE(867);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1046:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 's') ADVANCE(1063);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1047:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 's') ADVANCE(998);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1048:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 's') ADVANCE(839);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1049:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 's') ADVANCE(851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1050:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 's') ADVANCE(918);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1051:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 't') ADVANCE(1889);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1052:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 't') ADVANCE(1916);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1053:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 't') ADVANCE(1769);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1054:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 't') ADVANCE(1999);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1055:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 't') ADVANCE(1871);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1056:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 't') ADVANCE(1684);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1057:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 't') ADVANCE(1877);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1058:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 't') ADVANCE(1912);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1059:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 't') ADVANCE(1923);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1060:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 't') ADVANCE(1901);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1061:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 't') ADVANCE(1898);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1062:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 't') ADVANCE(1105);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1063:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 't') ADVANCE(890);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1064:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 't') ADVANCE(865);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1065:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 't') ADVANCE(902);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1066:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 't') ADVANCE(791);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1067:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 't') ADVANCE(1026);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1068:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 't') ADVANCE(919);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1069:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 't') ADVANCE(842);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1070:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 't') ADVANCE(861);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1071:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 't') ADVANCE(927);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1072:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 't') ADVANCE(863);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1073:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 't') ADVANCE(866);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1074:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 't') ADVANCE(845);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1075:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 't') ADVANCE(997);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1076:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 't') ADVANCE(813);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1077:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 't') ADVANCE(1001);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1078:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 't') ADVANCE(921);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1079:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 't') ADVANCE(794);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1080:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'u') ADVANCE(959);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1081:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'u') ADVANCE(1066);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1082:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'u') ADVANCE(1008);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1083:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'u') ADVANCE(838);
      if (lookahead == 'y') ADVANCE(1821);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1084:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'u') ADVANCE(817);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1085:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'u') ADVANCE(895);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1086:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'u') ADVANCE(1054);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1087:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'u') ADVANCE(1034);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1088:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'u') ADVANCE(850);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1089:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'u') ADVANCE(785);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1090:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'u') ADVANCE(961);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1091:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'u') ADVANCE(1072);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1092:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'u') ADVANCE(931);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1093:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'u') ADVANCE(1079);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1094:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'v') ADVANCE(796);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1095:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'v') ADVANCE(801);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1096:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'w') ADVANCE(1857);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1097:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'w') ADVANCE(983);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1098:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'w') ADVANCE(922);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1099:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'x') ADVANCE(1934);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1100:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'x') ADVANCE(1931);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1101:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'x') ADVANCE(1937);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1102:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'y') ADVANCE(1681);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1103:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'y') ADVANCE(1929);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1104:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'y') ADVANCE(981);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1105:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'y') ADVANCE(1012);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1106:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'z') ADVANCE(1102);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'y')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1107:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1108:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'D') ADVANCE(1774);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1109:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'E') ADVANCE(1434);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1110:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'I') ADVANCE(1415);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1111:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'L') ADVANCE(1485);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1112:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'L') ADVANCE(1364);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1113:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'L') ADVANCE(1365);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1114:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'M') ADVANCE(1172);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1115:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'P') ADVANCE(1159);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1116:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'S') ADVANCE(1277);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1117:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'S') ADVANCE(1279);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1118:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1558);
      if (lookahead == 'l') ADVANCE(1139);
      if (lookahead == 'o') ADVANCE(1416);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1119:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1558);
      if (lookahead == 'o') ADVANCE(1447);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1120:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1191);
      if (lookahead == 'n') ADVANCE(1620);
      if (lookahead == 'x') ADVANCE(1590);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1121:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1191);
      if (lookahead == 'n') ADVANCE(1620);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1122:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1191);
      if (lookahead == 'r') ADVANCE(1549);
      if (lookahead == 'x') ADVANCE(1618);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1123:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1191);
      if (lookahead == 'r') ADVANCE(1549);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1124:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1191);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1125:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1400);
      if (lookahead == 'i') ADVANCE(1387);
      if (lookahead == 'u') ADVANCE(1436);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1126:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1400);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1127:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1653);
      if (lookahead == 'e') ADVANCE(1571);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1128:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1653);
      if (lookahead == 'i') ADVANCE(1457);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1129:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1653);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1130:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1311);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1131:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1515);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1132:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1192);
      if (lookahead == 'o') ADVANCE(1564);
      if (lookahead == 'r') ADVANCE(1227);
      if (lookahead == 'u') ADVANCE(1178);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1133:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1192);
      if (lookahead == 'o') ADVANCE(1564);
      if (lookahead == 'r') ADVANCE(1285);
      if (lookahead == 'u') ADVANCE(1178);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1134:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1192);
      if (lookahead == 'o') ADVANCE(1564);
      if (lookahead == 'r') ADVANCE(1284);
      if (lookahead == 'u') ADVANCE(1178);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1135:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1192);
      if (lookahead == 'r') ADVANCE(1482);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1136:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1192);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1137:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1412);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1138:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1369);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1139:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1562);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1140:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1374);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1141:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1375);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1142:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1555);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1143:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1376);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1144:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1605);
      if (lookahead == 'r') ADVANCE(1624);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1145:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1605);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1146:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1378);
      if (lookahead == 'i') ADVANCE(1387);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1147:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1389);
      if (lookahead == 'i') ADVANCE(1387);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1148:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1602);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1149:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1210);
      if (lookahead == 'u') ADVANCE(1593);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1150:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1380);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1151:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1577);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1152:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1381);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1153:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1543);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1154:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1382);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1155:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1383);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1156:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1356);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1157:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1547);
      if (lookahead == 'r') ADVANCE(1628);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1158:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1445);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1159:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1592);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1160:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1594);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1161:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1432);
      if (lookahead == 'o') ADVANCE(1408);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1162:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1180);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1163:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1637);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1164:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1312);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1165:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1596);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1166:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1344);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1167:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1391);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1168:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1597);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1169:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1599);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1170:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1600);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1171:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1611);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1172:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1212);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1173:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1181);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1174:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1617);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1175:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'a') ADVANCE(1368);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1176:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'b') ADVANCE(1565);
      if (lookahead == 'p') ADVANCE(1267);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1177:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'b') ADVANCE(1565);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1178:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'b') ADVANCE(1388);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1179:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'b') ADVANCE(1631);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1180:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'b') ADVANCE(1397);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1181:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'b') ADVANCE(1399);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1182:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1601);
      if (lookahead == 'n') ADVANCE(1647);
      if (lookahead == 's') ADVANCE(1557);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1183:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1601);
      if (lookahead == 'n') ADVANCE(1647);
      if (lookahead == 's') ADVANCE(1651);
      if (lookahead == 'w') ADVANCE(1166);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1184:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1601);
      if (lookahead == 'n') ADVANCE(1647);
      if (lookahead == 's') ADVANCE(1651);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1185:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1601);
      if (lookahead == 'r') ADVANCE(1200);
      if (lookahead == 's') ADVANCE(1651);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1186:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1601);
      if (lookahead == 's') ADVANCE(1557);
      if (lookahead == 'w') ADVANCE(1166);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1187:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1601);
      if (lookahead == 's') ADVANCE(1557);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1188:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1601);
      if (lookahead == 's') ADVANCE(1651);
      if (lookahead == 'v') ADVANCE(1156);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1189:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1601);
      if (lookahead == 's') ADVANCE(1651);
      if (lookahead == 'w') ADVANCE(1166);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1190:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1601);
      if (lookahead == 's') ADVANCE(1651);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1191:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1315);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1192:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1370);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1193:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1896);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1194:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1676);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1195:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1964);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1196:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1985);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1197:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1988);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1198:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1316);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1199:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1366);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1200:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1320);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1201:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1231);
      if (lookahead == 'f') ADVANCE(1331);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1202:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1578);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1203:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1579);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1204:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1261);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1205:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1235);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1206:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1606);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1207:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1247);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1208:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1484);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1209:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1490);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1210:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1534);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1211:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1538);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1212:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1539);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1213:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1174);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1214:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'c') ADVANCE(1610);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1215:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'd') ADVANCE(2008);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1216:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'd') ADVANCE(1958);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1217:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'd') ADVANCE(1994);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1218:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'd') ADVANCE(1961);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1219:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'd') ADVANCE(1116);
      if (lookahead == 's') ADVANCE(1591);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1220:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'd') ADVANCE(1340);
      if (lookahead == 'f') ADVANCE(1325);
      if (lookahead == 'i') ADVANCE(1572);
      if (lookahead == 'o') ADVANCE(1629);
      if (lookahead == 't') ADVANCE(1265);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1221:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'd') ADVANCE(1234);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1222:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'd') ADVANCE(1587);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1223:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'd') ADVANCE(1273);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1224:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'd') ADVANCE(1398);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1225:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1339);
      if (lookahead == 'i') ADVANCE(1561);
      if (lookahead == 'y') ADVANCE(1440);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1226:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1506);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1227:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1201);
      if (lookahead == 'i') ADVANCE(1634);
      if (lookahead == 'o') ADVANCE(1604);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1228:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1812);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1229:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1703);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1230:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1706);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1231:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1223);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1232:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1688);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1233:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1967);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1234:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1952);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1235:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1955);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1236:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1973);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1237:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1945);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1238:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1746);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1239:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1372);
      if (lookahead == 'u') ADVANCE(1508);
      if (lookahead == 'w') ADVANCE(1342);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1240:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1772);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1241:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1778);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1242:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1867);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1243:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1783);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1244:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1869);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1245:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1740);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1246:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1215);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1247:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1111);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1248:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1373);
      if (lookahead == 'o') ADVANCE(1409);
      if (lookahead == 'u') ADVANCE(1508);
      if (lookahead == 'w') ADVANCE(1342);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1249:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1373);
      if (lookahead == 't') ADVANCE(1144);
      if (lookahead == 'u') ADVANCE(1176);
      if (lookahead == 'w') ADVANCE(1342);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1250:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1373);
      if (lookahead == 't') ADVANCE(1144);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1251:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1373);
      if (lookahead == 't') ADVANCE(1526);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1252:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1373);
      if (lookahead == 't') ADVANCE(1145);
      if (lookahead == 'u') ADVANCE(1508);
      if (lookahead == 'w') ADVANCE(1342);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1253:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1373);
      if (lookahead == 'u') ADVANCE(1508);
      if (lookahead == 'w') ADVANCE(1342);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1254:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1373);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1255:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1511);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1256:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1216);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1257:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1138);
      if (lookahead == 'i') ADVANCE(1390);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1258:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1138);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1259:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1222);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1260:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1217);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1261:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1314);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1262:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1218);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1263:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1648);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1264:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1418);
      if (lookahead == 't') ADVANCE(1335);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1265:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1545);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1266:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1444);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1267:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1517);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1268:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1167);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1269:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1453);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1270:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1518);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1271:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1523);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1272:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1214);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1273:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1454);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1274:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1614);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1275:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1540);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1276:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1541);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1277:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1581);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1278:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1542);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1279:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1582);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1280:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1522);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1281:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1584);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1282:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1458);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1283:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1546);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1284:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1302);
      if (lookahead == 'i') ADVANCE(1634);
      if (lookahead == 'o') ADVANCE(1604);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1285:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1302);
      if (lookahead == 'i') ADVANCE(1634);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1286:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1203);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1287:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1151);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1288:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1396);
      if (lookahead == 'o') ADVANCE(1630);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1289:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1460);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1290:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1507);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1291:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1551);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1292:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'e') ADVANCE(1113);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1293:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'f') ADVANCE(1753);
      if (lookahead == 'm') ADVANCE(1509);
      if (lookahead == 'n') ADVANCE(1220);
      if (lookahead == 's') ADVANCE(1836);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1294:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'f') ADVANCE(1753);
      if (lookahead == 'n') ADVANCE(1301);
      if (lookahead == 's') ADVANCE(1836);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1295:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'f') ADVANCE(1753);
      if (lookahead == 'n') ADVANCE(1301);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1296:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'f') ADVANCE(1753);
      if (lookahead == 'n') ADVANCE(1801);
      if (lookahead == 's') ADVANCE(1836);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1297:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'f') ADVANCE(1753);
      if (lookahead == 'n') ADVANCE(1495);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1298:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'f') ADVANCE(1753);
      if (lookahead == 's') ADVANCE(1836);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1299:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'f') ADVANCE(1753);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1300:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'f') ADVANCE(1804);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1301:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'f') ADVANCE(1325);
      if (lookahead == 'o') ADVANCE(1629);
      if (lookahead == 't') ADVANCE(1265);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1302:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'f') ADVANCE(1331);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1303:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'f') ADVANCE(1332);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1304:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'f') ADVANCE(1583);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1305:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'g') ADVANCE(1979);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1306:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'g') ADVANCE(2013);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1307:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'g') ADVANCE(2016);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1308:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'g') ADVANCE(1982);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1309:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'g') ADVANCE(1660);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1310:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'g') ADVANCE(1317);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1311:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'g') ADVANCE(1232);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1312:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'g') ADVANCE(1292);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1313:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'g') ADVANCE(1281);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1314:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'g') ADVANCE(1528);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1315:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'h') ADVANCE(1679);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1316:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'h') ADVANCE(1756);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1317:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'h') ADVANCE(1815);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1318:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'h') ADVANCE(1819);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1319:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'h') ADVANCE(1776);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1320:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'h') ADVANCE(2025);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1321:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'h') ADVANCE(1158);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1322:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'h') ADVANCE(1530);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1323:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1387);
      if (lookahead == 'u') ADVANCE(1436);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1324:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1387);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1325:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1642);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1326:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1219);
      if (lookahead == 'y') ADVANCE(1440);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1327:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1561);
      if (lookahead == 'y') ADVANCE(1440);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1328:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1371);
      if (lookahead == 'o') ADVANCE(1417);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1329:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1371);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1330:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1179);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1331:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1643);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1332:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1644);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1333:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1502);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1334:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1304);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1335:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1497);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1336:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1572);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1337:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1563);
      if (lookahead == 'm') ADVANCE(1633);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1338:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1486);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1339:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1461);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1340:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1533);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1341:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1195);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1342:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1603);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1343:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1196);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1344:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1573);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1345:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1197);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1346:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1435);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1347:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1437);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1348:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1439);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1349:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1575);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1350:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1395);
      if (lookahead == 'u') ADVANCE(1462);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1351:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1442);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1352:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1402);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1353:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1446);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1354:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1221);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1355:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1142);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1356:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1392);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1357:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1536);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1358:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1492);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1359:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1443);
      if (lookahead == 'u') ADVANCE(1436);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1360:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1289);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1361:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1493);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1362:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1550);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1363:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1612);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1364:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1613);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1365:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1615);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1366:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1168);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1367:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1636);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1368:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'i') ADVANCE(1404);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1369:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'k') ADVANCE(2005);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1370:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'k') ADVANCE(1130);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1371:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1691);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1372:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1300);
      if (lookahead == 't') ADVANCE(1609);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1373:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1300);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1374:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1997);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1375:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1970);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1376:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1991);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1377:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1887);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1378:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1393);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1379:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1488);
      if (lookahead == 'n') ADVANCE(1560);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1380:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1787);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1381:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1785);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1382:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1789);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1383:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1114);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1384:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1742);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1385:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1139);
      if (lookahead == 'o') ADVANCE(1416);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1386:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1139);
      if (lookahead == 'o') ADVANCE(1447);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1387:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1255);
      if (lookahead == 'n') ADVANCE(1140);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1388:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1341);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1389:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1394);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1390:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1401);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1391:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1355);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1392:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1162);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1393:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1589);
      if (lookahead == 's') ADVANCE(1230);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1394:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1589);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1395:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1240);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1396:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1272);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1397:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1242);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1398:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1243);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1399:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1244);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1400:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1566);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1401:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1117);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1402:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1280);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1403:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1169);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1404:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'l') ADVANCE(1173);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1405:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'm') ADVANCE(1509);
      if (lookahead == 'n') ADVANCE(1220);
      if (lookahead == 's') ADVANCE(1836);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1406:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'm') ADVANCE(1509);
      if (lookahead == 'n') ADVANCE(1220);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1407:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'm') ADVANCE(1884);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1408:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'm') ADVANCE(1503);
      if (lookahead == 'n') ADVANCE(1560);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1409:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'm') ADVANCE(1238);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1410:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'm') ADVANCE(1429);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1411:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'm') ADVANCE(1164);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1412:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'm') ADVANCE(1345);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1413:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'm') ADVANCE(1348);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1414:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'm') ADVANCE(1282);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1415:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'm') ADVANCE(1512);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1416:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1559);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1417:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1337);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1418:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1976);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1419:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1910);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1420:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1301);
      if (lookahead == 's') ADVANCE(1836);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1421:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1301);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1422:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1801);
      if (lookahead == 's') ADVANCE(1836);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1423:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1801);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1424:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1796);
      if (lookahead == 's') ADVANCE(1836);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1425:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1796);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1426:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1799);
      if (lookahead == 's') ADVANCE(1836);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1427:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1797);
      if (lookahead == 's') ADVANCE(1836);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1428:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1797);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1429:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1780);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1430:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1781);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1431:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1800);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1432:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1110);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1433:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1466);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1434:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1635);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1435:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1305);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1436:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1193);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1437:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1306);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1438:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1661);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1439:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1307);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1440:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1137);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1441:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1194);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1442:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1308);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1443:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1140);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1444:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1567);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1445:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1224);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1446:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1309);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1447:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1560);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1448:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1495);
      if (lookahead == 's') ADVANCE(1836);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1449:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1495);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1450:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1141);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1451:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1246);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1452:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1143);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1453:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1360);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1454:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1204);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1455:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1163);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1456:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1155);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1457:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1241);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1458:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1586);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1459:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1414);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1460:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1205);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1461:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1349);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1462:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1206);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1463:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1336);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1464:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'n') ADVANCE(1353);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1465:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1524);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1466:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1639);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1467:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1905);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1468:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1907);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1469:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1379);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1470:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1641);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1471:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1516);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1472:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1199);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1473:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1409);
      if (lookahead == 't') ADVANCE(1144);
      if (lookahead == 'u') ADVANCE(1177);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1474:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1409);
      if (lookahead == 't') ADVANCE(1145);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1475:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1409);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1476:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1417);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1477:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1321);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1478:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1625);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1479:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1537);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1480:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1403);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1481:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1626);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1482:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1604);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1483:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1208);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1484:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1377);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1485:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1213);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1486:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1419);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1487:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1447);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1488:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1519);
      if (lookahead == 'u') ADVANCE(1410);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1489:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1520);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1490:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1384);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1491:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1521);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1492:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1430);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1493:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1438);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1494:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1459);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1495:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1629);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1496:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1544);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1497:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1452);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1498:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1209);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1499:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'o') ADVANCE(1616);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1500:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'p') ADVANCE(1264);
      if (lookahead == 'v') ADVANCE(1283);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1501:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'p') ADVANCE(1942);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1502:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'p') ADVANCE(1580);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1503:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'p') ADVANCE(1352);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1504:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'p') ADVANCE(1237);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1505:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'p') ADVANCE(1245);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1506:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'p') ADVANCE(1287);
      if (lookahead == 'q') ADVANCE(1632);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1507:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'p') ADVANCE(1287);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1508:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'p') ADVANCE(1267);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1509:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'p') ADVANCE(1479);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1510:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'p') ADVANCE(1268);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1511:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'p') ADVANCE(1535);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1512:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'p') ADVANCE(1496);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1513:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1627);
      if (lookahead == 'y') ADVANCE(1510);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1514:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1627);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1515:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1893);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1516:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1673);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1517:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1807);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1518:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(767);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1519:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1112);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1520:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1659);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1521:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1758);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1522:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(2029);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1523:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(768);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1524:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1525);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1525:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1470);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1526:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1624);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1527:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1645);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1528:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1478);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1529:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1628);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1530:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1481);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1531:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1330);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1532:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1354);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1533:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1286);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1534:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1467);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1535:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1367);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1536:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1256);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1537:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1576);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1538:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1333);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1539:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1468);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1540:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1150);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1541:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1152);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1542:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1154);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1543:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1464);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1544:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1585);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1545:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1450);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1546:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1532);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1547:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1313);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1548:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1207);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1549:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1489);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1550:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1494);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1551:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1456);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1552:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'r') ADVANCE(1499);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1553:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 's') ADVANCE(1836);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1554:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 's') ADVANCE(1881);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1555:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 's') ADVANCE(1875);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1556:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 's') ADVANCE(2023);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1557:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 's') ADVANCE(1472);
      if (lookahead == 'y') ADVANCE(1441);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1558:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 's') ADVANCE(1228);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1559:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 's') ADVANCE(1621);
      if (lookahead == 'v') ADVANCE(1269);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1560:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 's') ADVANCE(1621);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1561:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 's') ADVANCE(1591);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1562:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 's') ADVANCE(1554);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1563:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 's') ADVANCE(1480);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1564:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 's') ADVANCE(1588);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1565:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 's') ADVANCE(1211);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1566:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 's') ADVANCE(1230);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1567:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 's') ADVANCE(1338);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1568:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 's') ADVANCE(1477);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1569:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1144);
      if (lookahead == 'u') ADVANCE(1177);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1570:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1144);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1571:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1890);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1572:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1917);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1573:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1770);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1574:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(2000);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1575:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1919);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1576:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1872);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1577:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1685);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1578:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1878);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1579:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1913);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1580:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1921);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1581:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1902);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1582:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1899);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1583:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(2027);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1584:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1109);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1585:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(2031);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1586:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(2033);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1587:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1650);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1588:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1303);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1589:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1322);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1590:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1266);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1591:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1531);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1592:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1318);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1593:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1148);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1594:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1319);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1595:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1526);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1596:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1233);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1597:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1259);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1598:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1260);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1599:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1262);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1600:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1236);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1601:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1471);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1602:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1346);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1603:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1198);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1604:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1483);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1605:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1343);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1606:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1358);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1607:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1270);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1608:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1145);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1609:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1271);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1610:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1491);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1611:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1351);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1612:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1275);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1613:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1276);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1614:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1607);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1615:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1278);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1616:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1498);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1617:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1361);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1618:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1291);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1619:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 't') ADVANCE(1171);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1620:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'u') ADVANCE(1407);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1621:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'u') ADVANCE(1413);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1622:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'u') ADVANCE(1436);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1623:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'u') ADVANCE(1593);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1624:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'u') ADVANCE(1202);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1625:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'u') ADVANCE(1501);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1626:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'u') ADVANCE(1310);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1627:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'u') ADVANCE(1229);
      if (lookahead == 'y') ADVANCE(1822);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1628:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'u') ADVANCE(1229);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1629:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'u') ADVANCE(1574);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1630:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'u') ADVANCE(1548);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1631:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'u') ADVANCE(1598);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1632:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'u') ADVANCE(1357);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1633:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'u') ADVANCE(1619);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1634:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'v') ADVANCE(1165);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1635:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'v') ADVANCE(1362);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1636:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'v') ADVANCE(1170);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1637:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'v') ADVANCE(1175);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1638:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'w') ADVANCE(1342);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1639:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'w') ADVANCE(1451);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1640:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'w') ADVANCE(1334);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1641:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'w') ADVANCE(1347);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1642:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'x') ADVANCE(1935);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1643:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'x') ADVANCE(1932);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1644:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'x') ADVANCE(1938);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1645:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'y') ADVANCE(1822);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1646:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'y') ADVANCE(1682);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1647:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'y') ADVANCE(1748);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1648:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'y') ADVANCE(1115);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1649:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'y') ADVANCE(1510);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1650:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'y') ADVANCE(1504);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1651:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'y') ADVANCE(1441);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1652:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'y') ADVANCE(1505);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1653:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 'z') ADVANCE(1646);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1654:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 0x20e3) ADVANCE(1662);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_3, 922, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1655:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 0x20e3) ADVANCE(1663);
      if (lookahead == 0xfe0f) ADVANCE(1655);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1659);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_3, 922, lookahead)) ADVANCE(1659);
      if (lookahead != 0 &&
          lookahead != '\n' &&
          lookahead != '\r') ADVANCE(2034);
      END_STATE();
    case 1656:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 0x20e3) ADVANCE(1664);
      if (lookahead == 0xfe0f) ADVANCE(1656);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1660);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_3, 922, lookahead)) ADVANCE(1660);
      if (lookahead != 0 &&
          lookahead != '\n' &&
          lookahead != '\r') ADVANCE(2035);
      END_STATE();
    case 1657:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 0x20e3) ADVANCE(1665);
      if (lookahead == 0xfe0f) ADVANCE(1657);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1661);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_3, 922, lookahead)) ADVANCE(1661);
      if (lookahead != 0 &&
          lookahead != '\n' &&
          lookahead != '\r') ADVANCE(2036);
      END_STATE();
    case 1658:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1659:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 0xfe0f) ADVANCE(1655);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1659);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1659);
      if (lookahead != 0 &&
          lookahead != '\n' &&
          lookahead != '\r') ADVANCE(2034);
      END_STATE();
    case 1660:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 0xfe0f) ADVANCE(1656);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1660);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1660);
      if (lookahead != 0 &&
          lookahead != '\n' &&
          lookahead != '\r') ADVANCE(2035);
      END_STATE();
    case 1661:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (lookahead == 0xfe0f) ADVANCE(1657);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1661);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1661);
      if (lookahead != 0 &&
          lookahead != '\n' &&
          lookahead != '\r') ADVANCE(2036);
      END_STATE();
    case 1662:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1663:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1659);
      if (lookahead != 0 &&
          lookahead != '\n' &&
          lookahead != '\r') ADVANCE(2034);
      END_STATE();
    case 1664:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1660);
      if (lookahead != 0 &&
          lookahead != '\n' &&
          lookahead != '\r') ADVANCE(2035);
      END_STATE();
    case 1665:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token1);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1661);
      if (lookahead != 0 &&
          lookahead != '\n' &&
          lookahead != '\r') ADVANCE(2036);
      END_STATE();
    case 1666:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token2);
      END_STATE();
    case 1667:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token3);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(1667);
      END_STATE();
    case 1668:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token4);
      if (lookahead == 0x20e3) ADVANCE(1670);
      if (lookahead == 0xfe0f) ADVANCE(1668);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1669);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_3, 922, lookahead)) ADVANCE(1669);
      END_STATE();
    case 1669:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token4);
      if (lookahead == 0xfe0f) ADVANCE(1668);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1669);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1669);
      END_STATE();
    case 1670:
      ACCEPT_TOKEN(aux_sym_simple_identifier_token4);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1669);
      END_STATE();
    case 1671:
      ACCEPT_TOKEN(anon_sym_actor);
      END_STATE();
    case 1672:
      ACCEPT_TOKEN(anon_sym_actor);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1673:
      ACCEPT_TOKEN(anon_sym_actor);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1674:
      ACCEPT_TOKEN(anon_sym_async);
      END_STATE();
    case 1675:
      ACCEPT_TOKEN(anon_sym_async);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1676:
      ACCEPT_TOKEN(anon_sym_async);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1677:
      ACCEPT_TOKEN(anon_sym_each);
      END_STATE();
    case 1678:
      ACCEPT_TOKEN(anon_sym_each);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1679:
      ACCEPT_TOKEN(anon_sym_each);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1680:
      ACCEPT_TOKEN(anon_sym_lazy);
      END_STATE();
    case 1681:
      ACCEPT_TOKEN(anon_sym_lazy);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1682:
      ACCEPT_TOKEN(anon_sym_lazy);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1683:
      ACCEPT_TOKEN(anon_sym_repeat);
      END_STATE();
    case 1684:
      ACCEPT_TOKEN(anon_sym_repeat);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1685:
      ACCEPT_TOKEN(anon_sym_repeat);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1686:
      ACCEPT_TOKEN(anon_sym_package);
      END_STATE();
    case 1687:
      ACCEPT_TOKEN(anon_sym_package);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1688:
      ACCEPT_TOKEN(anon_sym_package);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1689:
      ACCEPT_TOKEN(anon_sym_nil);
      END_STATE();
    case 1690:
      ACCEPT_TOKEN(anon_sym_nil);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1691:
      ACCEPT_TOKEN(anon_sym_nil);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1692:
      ACCEPT_TOKEN(sym_real_literal);
      if (lookahead == '_') ADVANCE(157);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(724);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(1692);
      END_STATE();
    case 1693:
      ACCEPT_TOKEN(sym_real_literal);
      if (lookahead == '_') ADVANCE(159);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(1693);
      END_STATE();
    case 1694:
      ACCEPT_TOKEN(sym_integer_literal);
      ADVANCE_MAP(
        '.', 728,
        'X', 730,
        '_', 153,
        'x', 731,
        'B', 725,
        'b', 725,
        'E', 724,
        'e', 724,
        'O', 726,
        'o', 726,
      );
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      END_STATE();
    case 1695:
      ACCEPT_TOKEN(sym_integer_literal);
      if (lookahead == '.') ADVANCE(728);
      if (lookahead == '_') ADVANCE(153);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(724);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(1695);
      END_STATE();
    case 1696:
      ACCEPT_TOKEN(sym_integer_literal);
      if (lookahead == '_') ADVANCE(162);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(1696);
      END_STATE();
    case 1697:
      ACCEPT_TOKEN(sym_hex_literal);
      if (lookahead == '.') ADVANCE(732);
      if (lookahead == '_') ADVANCE(158);
      if (lookahead == 'P' ||
          lookahead == 'p') ADVANCE(724);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(1697);
      END_STATE();
    case 1698:
      ACCEPT_TOKEN(sym_hex_literal);
      if (lookahead == '_') ADVANCE(154);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(1698);
      END_STATE();
    case 1699:
      ACCEPT_TOKEN(sym_oct_literal);
      if (lookahead == '_') ADVANCE(156);
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(1699);
      END_STATE();
    case 1700:
      ACCEPT_TOKEN(sym_bin_literal);
      if (lookahead == '_') ADVANCE(155);
      if (lookahead == '0' ||
          lookahead == '1') ADVANCE(1700);
      END_STATE();
    case 1701:
      ACCEPT_TOKEN(anon_sym_true);
      END_STATE();
    case 1702:
      ACCEPT_TOKEN(anon_sym_true);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1703:
      ACCEPT_TOKEN(anon_sym_true);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1704:
      ACCEPT_TOKEN(anon_sym_false);
      END_STATE();
    case 1705:
      ACCEPT_TOKEN(anon_sym_false);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1706:
      ACCEPT_TOKEN(anon_sym_false);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1707:
      ACCEPT_TOKEN(anon_sym_DQUOTE);
      END_STATE();
    case 1708:
      ACCEPT_TOKEN(anon_sym_DQUOTE);
      if (lookahead == '"') ADVANCE(83);
      END_STATE();
    case 1709:
      ACCEPT_TOKEN(aux_sym_line_str_text_token1);
      if (lookahead == '\n') ADVANCE(1712);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '\\') ADVANCE(1709);
      END_STATE();
    case 1710:
      ACCEPT_TOKEN(aux_sym_line_str_text_token1);
      if (lookahead == '/') ADVANCE(1711);
      if (('\t' <= lookahead && lookahead <= '\r') ||
          lookahead == ' ') ADVANCE(1710);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '\\') ADVANCE(1712);
      END_STATE();
    case 1711:
      ACCEPT_TOKEN(aux_sym_line_str_text_token1);
      if (lookahead == '/') ADVANCE(1709);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '\\') ADVANCE(1712);
      END_STATE();
    case 1712:
      ACCEPT_TOKEN(aux_sym_line_str_text_token1);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '\\') ADVANCE(1712);
      END_STATE();
    case 1713:
      ACCEPT_TOKEN(anon_sym_BSLASH);
      END_STATE();
    case 1714:
      ACCEPT_TOKEN(anon_sym_BSLASH);
      ADVANCE_MAP(
        '(', 1721,
        '\n', 1723,
        '"', 1723,
        '\'', 1723,
        '0', 1723,
        '\\', 1723,
        'n', 1723,
        'r', 1723,
        't', 1723,
      );
      END_STATE();
    case 1715:
      ACCEPT_TOKEN(anon_sym_u);
      END_STATE();
    case 1716:
      ACCEPT_TOKEN(anon_sym_u);
      if (lookahead == 'n') ADVANCE(202);
      END_STATE();
    case 1717:
      ACCEPT_TOKEN(aux_sym__uni_character_literal_token1);
      END_STATE();
    case 1718:
      ACCEPT_TOKEN(anon_sym_DQUOTE_DQUOTE_DQUOTE);
      END_STATE();
    case 1719:
      ACCEPT_TOKEN(anon_sym_RPAREN);
      END_STATE();
    case 1720:
      ACCEPT_TOKEN(sym_raw_str_interpolation_start);
      END_STATE();
    case 1721:
      ACCEPT_TOKEN(anon_sym_BSLASH_LPAREN);
      END_STATE();
    case 1722:
      ACCEPT_TOKEN(anon_sym_COMMA);
      END_STATE();
    case 1723:
      ACCEPT_TOKEN(sym__escaped_identifier);
      END_STATE();
    case 1724:
      ACCEPT_TOKEN(aux_sym__extended_regex_literal_token1);
      if (lookahead == '/') ADVANCE(758);
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(765);
      END_STATE();
    case 1725:
      ACCEPT_TOKEN(aux_sym__extended_regex_literal_token1);
      if (lookahead == '/') ADVANCE(88);
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(132);
      END_STATE();
    case 1726:
      ACCEPT_TOKEN(aux_sym__multiline_regex_literal_token1);
      END_STATE();
    case 1727:
      ACCEPT_TOKEN(aux_sym__multiline_regex_literal_token2);
      END_STATE();
    case 1728:
      ACCEPT_TOKEN(sym__oneline_regex_literal);
      END_STATE();
    case 1729:
      ACCEPT_TOKEN(anon_sym_COLON);
      END_STATE();
    case 1730:
      ACCEPT_TOKEN(anon_sym_BANG2);
      END_STATE();
    case 1731:
      ACCEPT_TOKEN(anon_sym_BANG2);
      if (lookahead == '=') ADVANCE(1828);
      END_STATE();
    case 1732:
      ACCEPT_TOKEN(anon_sym_LPAREN);
      END_STATE();
    case 1733:
      ACCEPT_TOKEN(anon_sym_LBRACK);
      END_STATE();
    case 1734:
      ACCEPT_TOKEN(anon_sym_RBRACK);
      END_STATE();
    case 1735:
      ACCEPT_TOKEN(anon_sym_DOT);
      END_STATE();
    case 1736:
      ACCEPT_TOKEN(anon_sym_DOT);
      if (lookahead == '.') ADVANCE(127);
      END_STATE();
    case 1737:
      ACCEPT_TOKEN(anon_sym_DOT);
      if (lookahead == '.') ADVANCE(127);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(1692);
      END_STATE();
    case 1738:
      ACCEPT_TOKEN(anon_sym_DOT);
      if (lookahead == '.') ADVANCE(126);
      END_STATE();
    case 1739:
      ACCEPT_TOKEN(anon_sym_Type);
      END_STATE();
    case 1740:
      ACCEPT_TOKEN(anon_sym_Type);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1741:
      ACCEPT_TOKEN(anon_sym_Protocol);
      END_STATE();
    case 1742:
      ACCEPT_TOKEN(anon_sym_Protocol);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1743:
      ACCEPT_TOKEN(anon_sym_QMARK);
      END_STATE();
    case 1744:
      ACCEPT_TOKEN(anon_sym_QMARK2);
      END_STATE();
    case 1745:
      ACCEPT_TOKEN(anon_sym_some);
      END_STATE();
    case 1746:
      ACCEPT_TOKEN(anon_sym_some);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1747:
      ACCEPT_TOKEN(anon_sym_any);
      END_STATE();
    case 1748:
      ACCEPT_TOKEN(anon_sym_any);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1749:
      ACCEPT_TOKEN(anon_sym_AMP);
      END_STATE();
    case 1750:
      ACCEPT_TOKEN(anon_sym_TILDE);
      END_STATE();
    case 1751:
      ACCEPT_TOKEN(anon_sym_if);
      END_STATE();
    case 1752:
      ACCEPT_TOKEN(anon_sym_if);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1753:
      ACCEPT_TOKEN(anon_sym_if);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1754:
      ACCEPT_TOKEN(anon_sym_switch);
      END_STATE();
    case 1755:
      ACCEPT_TOKEN(anon_sym_switch);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1756:
      ACCEPT_TOKEN(anon_sym_switch);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1757:
      ACCEPT_TOKEN(anon_sym_selector);
      END_STATE();
    case 1758:
      ACCEPT_TOKEN(anon_sym_selector);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1759:
      ACCEPT_TOKEN(anon_sym_getter_COLON);
      END_STATE();
    case 1760:
      ACCEPT_TOKEN(anon_sym_setter_COLON);
      END_STATE();
    case 1761:
      ACCEPT_TOKEN(aux_sym_custom_operator_token1);
      if (lookahead == '*') ADVANCE(1761);
      END_STATE();
    case 1762:
      ACCEPT_TOKEN(anon_sym_LT);
      END_STATE();
    case 1763:
      ACCEPT_TOKEN(anon_sym_LT);
      if (lookahead == '<') ADVANCE(1849);
      if (lookahead == '=') ADVANCE(1831);
      END_STATE();
    case 1764:
      ACCEPT_TOKEN(anon_sym_LT);
      if (lookahead == '=') ADVANCE(1831);
      END_STATE();
    case 1765:
      ACCEPT_TOKEN(anon_sym_GT);
      END_STATE();
    case 1766:
      ACCEPT_TOKEN(anon_sym_GT);
      if (lookahead == '=') ADVANCE(1832);
      END_STATE();
    case 1767:
      ACCEPT_TOKEN(anon_sym_GT);
      if (lookahead == '=') ADVANCE(1832);
      if (lookahead == '>') ADVANCE(1850);
      END_STATE();
    case 1768:
      ACCEPT_TOKEN(anon_sym_await);
      END_STATE();
    case 1769:
      ACCEPT_TOKEN(anon_sym_await);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1770:
      ACCEPT_TOKEN(anon_sym_await);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1771:
      ACCEPT_TOKEN(anon_sym_file);
      if (lookahead == 'I') ADVANCE(143);
      if (lookahead == 'L') ADVANCE(419);
      if (lookahead == 'P') ADVANCE(198);
      END_STATE();
    case 1772:
      ACCEPT_TOKEN(anon_sym_file);
      if (lookahead == 'I') ADVANCE(1108);
      if (lookahead == 'L') ADVANCE(1363);
      if (lookahead == 'P') ADVANCE(1160);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1773:
      ACCEPT_TOKEN(anon_sym_fileID);
      END_STATE();
    case 1774:
      ACCEPT_TOKEN(anon_sym_fileID);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1775:
      ACCEPT_TOKEN(anon_sym_filePath);
      END_STATE();
    case 1776:
      ACCEPT_TOKEN(anon_sym_filePath);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1777:
      ACCEPT_TOKEN(anon_sym_line);
      END_STATE();
    case 1778:
      ACCEPT_TOKEN(anon_sym_line);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1779:
      ACCEPT_TOKEN(anon_sym_column);
      END_STATE();
    case 1780:
      ACCEPT_TOKEN(anon_sym_column);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1781:
      ACCEPT_TOKEN(anon_sym_function);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1782:
      ACCEPT_TOKEN(anon_sym_dsohandle);
      END_STATE();
    case 1783:
      ACCEPT_TOKEN(anon_sym_dsohandle);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1784:
      ACCEPT_TOKEN(anon_sym_colorLiteral);
      END_STATE();
    case 1785:
      ACCEPT_TOKEN(anon_sym_colorLiteral);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1786:
      ACCEPT_TOKEN(anon_sym_fileLiteral);
      END_STATE();
    case 1787:
      ACCEPT_TOKEN(anon_sym_fileLiteral);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1788:
      ACCEPT_TOKEN(anon_sym_imageLiteral);
      END_STATE();
    case 1789:
      ACCEPT_TOKEN(anon_sym_imageLiteral);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1790:
      ACCEPT_TOKEN(anon_sym_LBRACE);
      END_STATE();
    case 1791:
      ACCEPT_TOKEN(anon_sym_CARET_LBRACE);
      END_STATE();
    case 1792:
      ACCEPT_TOKEN(anon_sym_RBRACE);
      END_STATE();
    case 1793:
      ACCEPT_TOKEN(anon_sym_in);
      END_STATE();
    case 1794:
      ACCEPT_TOKEN(anon_sym_in);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'd') ADVANCE(916);
      if (lookahead == 'f') ADVANCE(904);
      if (lookahead == 'o') ADVANCE(1086);
      if (lookahead == 't') ADVANCE(869);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1795:
      ACCEPT_TOKEN(anon_sym_in);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 'd') ADVANCE(916);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1796:
      ACCEPT_TOKEN(anon_sym_in);
      if (lookahead == 'd') ADVANCE(1340);
      if (lookahead == 'f') ADVANCE(1325);
      if (lookahead == 'o') ADVANCE(1629);
      if (lookahead == 't') ADVANCE(1265);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1797:
      ACCEPT_TOKEN(anon_sym_in);
      if (lookahead == 'd') ADVANCE(1340);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1798:
      ACCEPT_TOKEN(anon_sym_in);
      if (lookahead == 'd') ADVANCE(408);
      if (lookahead == 'f') ADVANCE(383);
      if (lookahead == 'o') ADVANCE(690);
      if (lookahead == 't') ADVANCE(326);
      END_STATE();
    case 1799:
      ACCEPT_TOKEN(anon_sym_in);
      if (lookahead == 'f') ADVANCE(1325);
      if (lookahead == 'o') ADVANCE(1629);
      if (lookahead == 't') ADVANCE(1265);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1800:
      ACCEPT_TOKEN(anon_sym_in);
      if (lookahead == 'o') ADVANCE(1629);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1801:
      ACCEPT_TOKEN(anon_sym_in);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1802:
      ACCEPT_TOKEN(anon_sym_self);
      END_STATE();
    case 1803:
      ACCEPT_TOKEN(anon_sym_self);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1804:
      ACCEPT_TOKEN(anon_sym_self);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1805:
      ACCEPT_TOKEN(anon_sym_super);
      END_STATE();
    case 1806:
      ACCEPT_TOKEN(anon_sym_super);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1807:
      ACCEPT_TOKEN(anon_sym_super);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1808:
      ACCEPT_TOKEN(anon_sym_guard);
      END_STATE();
    case 1809:
      ACCEPT_TOKEN(anon_sym_guard);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1810:
      ACCEPT_TOKEN(anon_sym_case);
      END_STATE();
    case 1811:
      ACCEPT_TOKEN(anon_sym_case);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1812:
      ACCEPT_TOKEN(anon_sym_case);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1813:
      ACCEPT_TOKEN(anon_sym_fallthrough);
      END_STATE();
    case 1814:
      ACCEPT_TOKEN(anon_sym_fallthrough);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1815:
      ACCEPT_TOKEN(anon_sym_fallthrough);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1816:
      ACCEPT_TOKEN(anon_sym_do);
      END_STATE();
    case 1817:
      ACCEPT_TOKEN(anon_sym_do);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1818:
      ACCEPT_TOKEN(anon_sym_keyPath);
      END_STATE();
    case 1819:
      ACCEPT_TOKEN(anon_sym_keyPath);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1820:
      ACCEPT_TOKEN(anon_sym_try);
      END_STATE();
    case 1821:
      ACCEPT_TOKEN(anon_sym_try);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1822:
      ACCEPT_TOKEN(anon_sym_try);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1823:
      ACCEPT_TOKEN(anon_sym_PLUS_EQ);
      END_STATE();
    case 1824:
      ACCEPT_TOKEN(anon_sym_DASH_EQ);
      END_STATE();
    case 1825:
      ACCEPT_TOKEN(anon_sym_STAR_EQ);
      END_STATE();
    case 1826:
      ACCEPT_TOKEN(anon_sym_SLASH_EQ);
      END_STATE();
    case 1827:
      ACCEPT_TOKEN(anon_sym_PERCENT_EQ);
      END_STATE();
    case 1828:
      ACCEPT_TOKEN(anon_sym_BANG_EQ);
      if (lookahead == '=') ADVANCE(1829);
      END_STATE();
    case 1829:
      ACCEPT_TOKEN(anon_sym_BANG_EQ_EQ);
      END_STATE();
    case 1830:
      ACCEPT_TOKEN(anon_sym_EQ_EQ_EQ);
      END_STATE();
    case 1831:
      ACCEPT_TOKEN(anon_sym_LT_EQ);
      END_STATE();
    case 1832:
      ACCEPT_TOKEN(anon_sym_GT_EQ);
      END_STATE();
    case 1833:
      ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT);
      END_STATE();
    case 1834:
      ACCEPT_TOKEN(anon_sym_DOT_DOT_LT);
      END_STATE();
    case 1835:
      ACCEPT_TOKEN(anon_sym_is);
      END_STATE();
    case 1836:
      ACCEPT_TOKEN(anon_sym_is);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1837:
      ACCEPT_TOKEN(anon_sym_PLUS);
      if (lookahead == '+') ADVANCE(1844);
      if (lookahead == '=') ADVANCE(1823);
      END_STATE();
    case 1838:
      ACCEPT_TOKEN(anon_sym_DASH);
      if (lookahead == '-') ADVANCE(1845);
      if (lookahead == '=') ADVANCE(1824);
      END_STATE();
    case 1839:
      ACCEPT_TOKEN(anon_sym_STAR);
      END_STATE();
    case 1840:
      ACCEPT_TOKEN(anon_sym_STAR);
      if (lookahead == '=') ADVANCE(1825);
      END_STATE();
    case 1841:
      ACCEPT_TOKEN(anon_sym_SLASH);
      if (lookahead == '*') ADVANCE(1761);
      if (lookahead == '/') ADVANCE(762);
      if (lookahead == '=') ADVANCE(1826);
      if (lookahead == '\t' ||
          lookahead == ' ') ADVANCE(723);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n') ADVANCE(129);
      END_STATE();
    case 1842:
      ACCEPT_TOKEN(anon_sym_SLASH);
      if (lookahead == '*') ADVANCE(1761);
      if (lookahead == '/') ADVANCE(763);
      if (lookahead == '=') ADVANCE(1826);
      END_STATE();
    case 1843:
      ACCEPT_TOKEN(anon_sym_PERCENT);
      if (lookahead == '=') ADVANCE(1827);
      END_STATE();
    case 1844:
      ACCEPT_TOKEN(anon_sym_PLUS_PLUS);
      END_STATE();
    case 1845:
      ACCEPT_TOKEN(anon_sym_DASH_DASH);
      END_STATE();
    case 1846:
      ACCEPT_TOKEN(anon_sym_PIPE);
      END_STATE();
    case 1847:
      ACCEPT_TOKEN(anon_sym_CARET);
      END_STATE();
    case 1848:
      ACCEPT_TOKEN(anon_sym_CARET);
      if (lookahead == '{') ADVANCE(1791);
      END_STATE();
    case 1849:
      ACCEPT_TOKEN(anon_sym_LT_LT);
      END_STATE();
    case 1850:
      ACCEPT_TOKEN(anon_sym_GT_GT);
      END_STATE();
    case 1851:
      ACCEPT_TOKEN(sym_statement_label);
      END_STATE();
    case 1852:
      ACCEPT_TOKEN(anon_sym_for);
      END_STATE();
    case 1853:
      ACCEPT_TOKEN(anon_sym_for);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1854:
      ACCEPT_TOKEN(anon_sym_while);
      END_STATE();
    case 1855:
      ACCEPT_TOKEN(anon_sym_while);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1856:
      ACCEPT_TOKEN(sym_throw_keyword);
      END_STATE();
    case 1857:
      ACCEPT_TOKEN(sym_throw_keyword);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1858:
      ACCEPT_TOKEN(anon_sym_return);
      END_STATE();
    case 1859:
      ACCEPT_TOKEN(anon_sym_return);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1860:
      ACCEPT_TOKEN(anon_sym_continue);
      END_STATE();
    case 1861:
      ACCEPT_TOKEN(anon_sym_continue);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1862:
      ACCEPT_TOKEN(anon_sym_break);
      END_STATE();
    case 1863:
      ACCEPT_TOKEN(anon_sym_break);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1864:
      ACCEPT_TOKEN(anon_sym_yield);
      END_STATE();
    case 1865:
      ACCEPT_TOKEN(anon_sym_yield);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1866:
      ACCEPT_TOKEN(anon_sym_available);
      END_STATE();
    case 1867:
      ACCEPT_TOKEN(anon_sym_available);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1868:
      ACCEPT_TOKEN(anon_sym_unavailable);
      END_STATE();
    case 1869:
      ACCEPT_TOKEN(anon_sym_unavailable);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1870:
      ACCEPT_TOKEN(anon_sym_import);
      END_STATE();
    case 1871:
      ACCEPT_TOKEN(anon_sym_import);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1872:
      ACCEPT_TOKEN(anon_sym_import);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1873:
      ACCEPT_TOKEN(anon_sym_typealias);
      END_STATE();
    case 1874:
      ACCEPT_TOKEN(anon_sym_typealias);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1875:
      ACCEPT_TOKEN(anon_sym_typealias);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1876:
      ACCEPT_TOKEN(anon_sym_struct);
      END_STATE();
    case 1877:
      ACCEPT_TOKEN(anon_sym_struct);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1878:
      ACCEPT_TOKEN(anon_sym_struct);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1879:
      ACCEPT_TOKEN(anon_sym_class);
      END_STATE();
    case 1880:
      ACCEPT_TOKEN(anon_sym_class);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1881:
      ACCEPT_TOKEN(anon_sym_class);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1882:
      ACCEPT_TOKEN(anon_sym_enum);
      END_STATE();
    case 1883:
      ACCEPT_TOKEN(anon_sym_enum);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1884:
      ACCEPT_TOKEN(anon_sym_enum);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1885:
      ACCEPT_TOKEN(anon_sym_protocol);
      END_STATE();
    case 1886:
      ACCEPT_TOKEN(anon_sym_protocol);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1887:
      ACCEPT_TOKEN(anon_sym_protocol);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1888:
      ACCEPT_TOKEN(anon_sym_let);
      END_STATE();
    case 1889:
      ACCEPT_TOKEN(anon_sym_let);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1890:
      ACCEPT_TOKEN(anon_sym_let);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1891:
      ACCEPT_TOKEN(anon_sym_var);
      END_STATE();
    case 1892:
      ACCEPT_TOKEN(anon_sym_var);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1893:
      ACCEPT_TOKEN(anon_sym_var);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1894:
      ACCEPT_TOKEN(anon_sym_func);
      END_STATE();
    case 1895:
      ACCEPT_TOKEN(anon_sym_func);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1896:
      ACCEPT_TOKEN(anon_sym_func);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1897:
      ACCEPT_TOKEN(anon_sym_willSet);
      END_STATE();
    case 1898:
      ACCEPT_TOKEN(anon_sym_willSet);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1899:
      ACCEPT_TOKEN(anon_sym_willSet);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1900:
      ACCEPT_TOKEN(anon_sym_didSet);
      END_STATE();
    case 1901:
      ACCEPT_TOKEN(anon_sym_didSet);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1902:
      ACCEPT_TOKEN(anon_sym_didSet);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1903:
      ACCEPT_TOKEN(anon_sym_macro);
      END_STATE();
    case 1904:
      ACCEPT_TOKEN(anon_sym_macro);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1905:
      ACCEPT_TOKEN(anon_sym_macro);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1906:
      ACCEPT_TOKEN(anon_sym_externalMacro);
      END_STATE();
    case 1907:
      ACCEPT_TOKEN(anon_sym_externalMacro);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1908:
      ACCEPT_TOKEN(anon_sym_extension);
      END_STATE();
    case 1909:
      ACCEPT_TOKEN(anon_sym_extension);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1910:
      ACCEPT_TOKEN(anon_sym_extension);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1911:
      ACCEPT_TOKEN(anon_sym_indirect);
      END_STATE();
    case 1912:
      ACCEPT_TOKEN(anon_sym_indirect);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1913:
      ACCEPT_TOKEN(anon_sym_indirect);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1914:
      ACCEPT_TOKEN(anon_sym_SEMI);
      END_STATE();
    case 1915:
      ACCEPT_TOKEN(anon_sym_init);
      END_STATE();
    case 1916:
      ACCEPT_TOKEN(anon_sym_init);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1917:
      ACCEPT_TOKEN(anon_sym_init);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1918:
      ACCEPT_TOKEN(anon_sym_deinit);
      END_STATE();
    case 1919:
      ACCEPT_TOKEN(anon_sym_deinit);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1920:
      ACCEPT_TOKEN(anon_sym_subscript);
      END_STATE();
    case 1921:
      ACCEPT_TOKEN(anon_sym_subscript);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1922:
      ACCEPT_TOKEN(anon_sym_get);
      END_STATE();
    case 1923:
      ACCEPT_TOKEN(anon_sym_get);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1924:
      ACCEPT_TOKEN(anon_sym_get);
      if (lookahead == 't') ADVANCE(328);
      END_STATE();
    case 1925:
      ACCEPT_TOKEN(anon_sym_set);
      END_STATE();
    case 1926:
      ACCEPT_TOKEN(anon_sym_set);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1927:
      ACCEPT_TOKEN(anon_sym_set);
      if (lookahead == 'p') ADVANCE(196);
      if (lookahead == 't') ADVANCE(329);
      END_STATE();
    case 1928:
      ACCEPT_TOKEN(anon_sym__modify);
      END_STATE();
    case 1929:
      ACCEPT_TOKEN(anon_sym__modify);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1930:
      ACCEPT_TOKEN(anon_sym_prefix);
      END_STATE();
    case 1931:
      ACCEPT_TOKEN(anon_sym_prefix);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1932:
      ACCEPT_TOKEN(anon_sym_prefix);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1933:
      ACCEPT_TOKEN(anon_sym_infix);
      END_STATE();
    case 1934:
      ACCEPT_TOKEN(anon_sym_infix);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1935:
      ACCEPT_TOKEN(anon_sym_infix);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1936:
      ACCEPT_TOKEN(anon_sym_postfix);
      END_STATE();
    case 1937:
      ACCEPT_TOKEN(anon_sym_postfix);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1938:
      ACCEPT_TOKEN(anon_sym_postfix);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1939:
      ACCEPT_TOKEN(anon_sym_operator);
      END_STATE();
    case 1940:
      ACCEPT_TOKEN(anon_sym_precedencegroup);
      END_STATE();
    case 1941:
      ACCEPT_TOKEN(anon_sym_precedencegroup);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1942:
      ACCEPT_TOKEN(anon_sym_precedencegroup);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1943:
      ACCEPT_TOKEN(anon_sym_associatedtype);
      END_STATE();
    case 1944:
      ACCEPT_TOKEN(anon_sym_associatedtype);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1945:
      ACCEPT_TOKEN(anon_sym_associatedtype);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1946:
      ACCEPT_TOKEN(anon_sym_AT);
      END_STATE();
    case 1947:
      ACCEPT_TOKEN(anon_sym_AT);
      if (lookahead == 'a') ADVANCE(693);
      if (lookahead == 'e') ADVANCE(618);
      END_STATE();
    case 1948:
      ACCEPT_TOKEN(sym_wildcard_pattern);
      END_STATE();
    case 1949:
      ACCEPT_TOKEN(sym_wildcard_pattern);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1950:
      ACCEPT_TOKEN(anon_sym_override);
      END_STATE();
    case 1951:
      ACCEPT_TOKEN(anon_sym_override);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1952:
      ACCEPT_TOKEN(anon_sym_override);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1953:
      ACCEPT_TOKEN(anon_sym_convenience);
      END_STATE();
    case 1954:
      ACCEPT_TOKEN(anon_sym_convenience);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1955:
      ACCEPT_TOKEN(anon_sym_convenience);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1956:
      ACCEPT_TOKEN(anon_sym_required);
      END_STATE();
    case 1957:
      ACCEPT_TOKEN(anon_sym_required);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1958:
      ACCEPT_TOKEN(anon_sym_required);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1959:
      ACCEPT_TOKEN(anon_sym_nonisolated);
      END_STATE();
    case 1960:
      ACCEPT_TOKEN(anon_sym_nonisolated);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1961:
      ACCEPT_TOKEN(anon_sym_nonisolated);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1962:
      ACCEPT_TOKEN(anon_sym_public);
      END_STATE();
    case 1963:
      ACCEPT_TOKEN(anon_sym_public);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1964:
      ACCEPT_TOKEN(anon_sym_public);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1965:
      ACCEPT_TOKEN(anon_sym_private);
      END_STATE();
    case 1966:
      ACCEPT_TOKEN(anon_sym_private);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1967:
      ACCEPT_TOKEN(anon_sym_private);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1968:
      ACCEPT_TOKEN(anon_sym_internal);
      END_STATE();
    case 1969:
      ACCEPT_TOKEN(anon_sym_internal);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1970:
      ACCEPT_TOKEN(anon_sym_internal);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1971:
      ACCEPT_TOKEN(anon_sym_fileprivate);
      END_STATE();
    case 1972:
      ACCEPT_TOKEN(anon_sym_fileprivate);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1973:
      ACCEPT_TOKEN(anon_sym_fileprivate);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1974:
      ACCEPT_TOKEN(anon_sym_open);
      END_STATE();
    case 1975:
      ACCEPT_TOKEN(anon_sym_open);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1976:
      ACCEPT_TOKEN(anon_sym_open);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1977:
      ACCEPT_TOKEN(anon_sym_mutating);
      END_STATE();
    case 1978:
      ACCEPT_TOKEN(anon_sym_mutating);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1979:
      ACCEPT_TOKEN(anon_sym_mutating);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1980:
      ACCEPT_TOKEN(anon_sym_nonmutating);
      END_STATE();
    case 1981:
      ACCEPT_TOKEN(anon_sym_nonmutating);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1982:
      ACCEPT_TOKEN(anon_sym_nonmutating);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1983:
      ACCEPT_TOKEN(anon_sym_static);
      END_STATE();
    case 1984:
      ACCEPT_TOKEN(anon_sym_static);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1985:
      ACCEPT_TOKEN(anon_sym_static);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1986:
      ACCEPT_TOKEN(anon_sym_dynamic);
      END_STATE();
    case 1987:
      ACCEPT_TOKEN(anon_sym_dynamic);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1988:
      ACCEPT_TOKEN(anon_sym_dynamic);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1989:
      ACCEPT_TOKEN(anon_sym_optional);
      END_STATE();
    case 1990:
      ACCEPT_TOKEN(anon_sym_optional);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1991:
      ACCEPT_TOKEN(anon_sym_optional);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1992:
      ACCEPT_TOKEN(anon_sym_distributed);
      END_STATE();
    case 1993:
      ACCEPT_TOKEN(anon_sym_distributed);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1994:
      ACCEPT_TOKEN(anon_sym_distributed);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1995:
      ACCEPT_TOKEN(anon_sym_final);
      END_STATE();
    case 1996:
      ACCEPT_TOKEN(anon_sym_final);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1997:
      ACCEPT_TOKEN(anon_sym_final);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 1998:
      ACCEPT_TOKEN(anon_sym_inout);
      END_STATE();
    case 1999:
      ACCEPT_TOKEN(anon_sym_inout);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 2000:
      ACCEPT_TOKEN(anon_sym_inout);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 2001:
      ACCEPT_TOKEN(anon_sym_ATescaping);
      END_STATE();
    case 2002:
      ACCEPT_TOKEN(anon_sym_ATautoclosure);
      END_STATE();
    case 2003:
      ACCEPT_TOKEN(anon_sym_weak);
      END_STATE();
    case 2004:
      ACCEPT_TOKEN(anon_sym_weak);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 2005:
      ACCEPT_TOKEN(anon_sym_weak);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 2006:
      ACCEPT_TOKEN(anon_sym_unowned);
      if (lookahead == '(') ADVANCE(628);
      END_STATE();
    case 2007:
      ACCEPT_TOKEN(anon_sym_unowned);
      if (lookahead == '(') ADVANCE(628);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 2008:
      ACCEPT_TOKEN(anon_sym_unowned);
      if (lookahead == '(') ADVANCE(628);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 2009:
      ACCEPT_TOKEN(anon_sym_unowned_LPARENsafe_RPAREN);
      END_STATE();
    case 2010:
      ACCEPT_TOKEN(anon_sym_unowned_LPARENunsafe_RPAREN);
      END_STATE();
    case 2011:
      ACCEPT_TOKEN(anon_sym_borrowing);
      END_STATE();
    case 2012:
      ACCEPT_TOKEN(anon_sym_borrowing);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 2013:
      ACCEPT_TOKEN(anon_sym_borrowing);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 2014:
      ACCEPT_TOKEN(anon_sym_consuming);
      END_STATE();
    case 2015:
      ACCEPT_TOKEN(anon_sym_consuming);
      if (lookahead == ':') ADVANCE(1851);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(1107);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 2016:
      ACCEPT_TOKEN(anon_sym_consuming);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 2017:
      ACCEPT_TOKEN(anon_sym_property);
      END_STATE();
    case 2018:
      ACCEPT_TOKEN(anon_sym_receiver);
      END_STATE();
    case 2019:
      ACCEPT_TOKEN(anon_sym_param);
      END_STATE();
    case 2020:
      ACCEPT_TOKEN(anon_sym_setparam);
      END_STATE();
    case 2021:
      ACCEPT_TOKEN(anon_sym_delegate);
      END_STATE();
    case 2022:
      ACCEPT_TOKEN(anon_sym_os);
      END_STATE();
    case 2023:
      ACCEPT_TOKEN(anon_sym_os);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 2024:
      ACCEPT_TOKEN(anon_sym_arch);
      END_STATE();
    case 2025:
      ACCEPT_TOKEN(anon_sym_arch);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 2026:
      ACCEPT_TOKEN(anon_sym_swift);
      END_STATE();
    case 2027:
      ACCEPT_TOKEN(anon_sym_swift);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 2028:
      ACCEPT_TOKEN(anon_sym_compiler);
      END_STATE();
    case 2029:
      ACCEPT_TOKEN(anon_sym_compiler);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 2030:
      ACCEPT_TOKEN(anon_sym_canImport);
      END_STATE();
    case 2031:
      ACCEPT_TOKEN(anon_sym_canImport);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 2032:
      ACCEPT_TOKEN(anon_sym_targetEnvironment);
      END_STATE();
    case 2033:
      ACCEPT_TOKEN(anon_sym_targetEnvironment);
      if (lookahead == 0xfe0f) ADVANCE(1654);
      if ((0x1f3fb <= lookahead && lookahead <= 0x1f3ff)) ADVANCE(1658);
      if (set_contains(aux_sym_simple_identifier_token1_character_set_2, 921, lookahead)) ADVANCE(1658);
      END_STATE();
    case 2034:
      ACCEPT_TOKEN(aux_sym_diagnostic_token1);
      if (lookahead != 0 &&
          lookahead != '\n' &&
          lookahead != '\r') ADVANCE(2034);
      END_STATE();
    case 2035:
      ACCEPT_TOKEN(aux_sym_diagnostic_token2);
      if (lookahead != 0 &&
          lookahead != '\n' &&
          lookahead != '\r') ADVANCE(2035);
      END_STATE();
    case 2036:
      ACCEPT_TOKEN(aux_sym_diagnostic_token3);
      if (lookahead != 0 &&
          lookahead != '\n' &&
          lookahead != '\r') ADVANCE(2036);
      END_STATE();
    case 2037:
      ACCEPT_TOKEN(anon_sym_unused1);
      END_STATE();
    case 2038:
      ACCEPT_TOKEN(anon_sym_unused2);
      END_STATE();
    default:
      return false;
  }
}

static const TSLexMode ts_lex_modes[STATE_COUNT] = {
  [0] = {.lex_state = 0, .external_lex_state = 1},
  [1] = {.lex_state = 740, .external_lex_state = 2},
  [2] = {.lex_state = 27, .external_lex_state = 2},
  [3] = {.lex_state = 27, .external_lex_state = 2},
  [4] = {.lex_state = 27, .external_lex_state = 2},
  [5] = {.lex_state = 27, .external_lex_state = 2},
  [6] = {.lex_state = 29, .external_lex_state = 3},
  [7] = {.lex_state = 31, .external_lex_state = 2},
  [8] = {.lex_state = 29, .external_lex_state = 3},
  [9] = {.lex_state = 29, .external_lex_state = 3},
  [10] = {.lex_state = 29, .external_lex_state = 3},
  [11] = {.lex_state = 29, .external_lex_state = 3},
  [12] = {.lex_state = 29, .external_lex_state = 3},
  [13] = {.lex_state = 31, .external_lex_state = 2},
  [14] = {.lex_state = 29, .external_lex_state = 3},
  [15] = {.lex_state = 29, .external_lex_state = 3},
  [16] = {.lex_state = 29, .external_lex_state = 3},
  [17] = {.lex_state = 31, .external_lex_state = 2},
  [18] = {.lex_state = 29, .external_lex_state = 3},
  [19] = {.lex_state = 29, .external_lex_state = 3},
  [20] = {.lex_state = 31, .external_lex_state = 2},
  [21] = {.lex_state = 29, .external_lex_state = 3},
  [22] = {.lex_state = 740, .external_lex_state = 2},
  [23] = {.lex_state = 740, .external_lex_state = 2},
  [24] = {.lex_state = 740, .external_lex_state = 2},
  [25] = {.lex_state = 740, .external_lex_state = 2},
  [26] = {.lex_state = 740, .external_lex_state = 2},
  [27] = {.lex_state = 30, .external_lex_state = 3},
  [28] = {.lex_state = 30, .external_lex_state = 3},
  [29] = {.lex_state = 33, .external_lex_state = 2},
  [30] = {.lex_state = 33, .external_lex_state = 2},
  [31] = {.lex_state = 33, .external_lex_state = 2},
  [32] = {.lex_state = 35, .external_lex_state = 2},
  [33] = {.lex_state = 35, .external_lex_state = 2},
  [34] = {.lex_state = 35, .external_lex_state = 2},
  [35] = {.lex_state = 35, .external_lex_state = 2},
  [36] = {.lex_state = 35, .external_lex_state = 2},
  [37] = {.lex_state = 35, .external_lex_state = 2},
  [38] = {.lex_state = 35, .external_lex_state = 2},
  [39] = {.lex_state = 35, .external_lex_state = 2},
  [40] = {.lex_state = 35, .external_lex_state = 2},
  [41] = {.lex_state = 35, .external_lex_state = 2},
  [42] = {.lex_state = 35, .external_lex_state = 2},
  [43] = {.lex_state = 35, .external_lex_state = 2},
  [44] = {.lex_state = 35, .external_lex_state = 2},
  [45] = {.lex_state = 35, .external_lex_state = 2},
  [46] = {.lex_state = 19, .external_lex_state = 4},
  [47] = {.lex_state = 35, .external_lex_state = 2},
  [48] = {.lex_state = 35, .external_lex_state = 2},
  [49] = {.lex_state = 35, .external_lex_state = 2},
  [50] = {.lex_state = 35, .external_lex_state = 2},
  [51] = {.lex_state = 35, .external_lex_state = 2},
  [52] = {.lex_state = 35, .external_lex_state = 2},
  [53] = {.lex_state = 35, .external_lex_state = 2},
  [54] = {.lex_state = 34, .external_lex_state = 2},
  [55] = {.lex_state = 34, .external_lex_state = 2},
  [56] = {.lex_state = 34, .external_lex_state = 2},
  [57] = {.lex_state = 34, .external_lex_state = 2},
  [58] = {.lex_state = 34, .external_lex_state = 2},
  [59] = {.lex_state = 34, .external_lex_state = 2},
  [60] = {.lex_state = 34, .external_lex_state = 2},
  [61] = {.lex_state = 34, .external_lex_state = 2},
  [62] = {.lex_state = 34, .external_lex_state = 2},
  [63] = {.lex_state = 34, .external_lex_state = 2},
  [64] = {.lex_state = 34, .external_lex_state = 2},
  [65] = {.lex_state = 34, .external_lex_state = 2},
  [66] = {.lex_state = 34, .external_lex_state = 2},
  [67] = {.lex_state = 34, .external_lex_state = 2},
  [68] = {.lex_state = 34, .external_lex_state = 2},
  [69] = {.lex_state = 34, .external_lex_state = 2},
  [70] = {.lex_state = 34, .external_lex_state = 2},
  [71] = {.lex_state = 34, .external_lex_state = 2},
  [72] = {.lex_state = 34, .external_lex_state = 2},
  [73] = {.lex_state = 34, .external_lex_state = 2},
  [74] = {.lex_state = 34, .external_lex_state = 2},
  [75] = {.lex_state = 34, .external_lex_state = 2},
  [76] = {.lex_state = 34, .external_lex_state = 2},
  [77] = {.lex_state = 34, .external_lex_state = 2},
  [78] = {.lex_state = 34, .external_lex_state = 2},
  [79] = {.lex_state = 34, .external_lex_state = 2},
  [80] = {.lex_state = 34, .external_lex_state = 2},
  [81] = {.lex_state = 34, .external_lex_state = 2},
  [82] = {.lex_state = 34, .external_lex_state = 2},
  [83] = {.lex_state = 34, .external_lex_state = 2},
  [84] = {.lex_state = 34, .external_lex_state = 2},
  [85] = {.lex_state = 34, .external_lex_state = 2},
  [86] = {.lex_state = 34, .external_lex_state = 2},
  [87] = {.lex_state = 34, .external_lex_state = 2},
  [88] = {.lex_state = 34, .external_lex_state = 2},
  [89] = {.lex_state = 34, .external_lex_state = 2},
  [90] = {.lex_state = 34, .external_lex_state = 2},
  [91] = {.lex_state = 34, .external_lex_state = 2},
  [92] = {.lex_state = 34, .external_lex_state = 2},
  [93] = {.lex_state = 34, .external_lex_state = 2},
  [94] = {.lex_state = 34, .external_lex_state = 2},
  [95] = {.lex_state = 34, .external_lex_state = 2},
  [96] = {.lex_state = 34, .external_lex_state = 2},
  [97] = {.lex_state = 34, .external_lex_state = 2},
  [98] = {.lex_state = 34, .external_lex_state = 2},
  [99] = {.lex_state = 34, .external_lex_state = 2},
  [100] = {.lex_state = 34, .external_lex_state = 2},
  [101] = {.lex_state = 34, .external_lex_state = 2},
  [102] = {.lex_state = 34, .external_lex_state = 2},
  [103] = {.lex_state = 19, .external_lex_state = 4},
  [104] = {.lex_state = 34, .external_lex_state = 2},
  [105] = {.lex_state = 34, .external_lex_state = 2},
  [106] = {.lex_state = 19, .external_lex_state = 4},
  [107] = {.lex_state = 19, .external_lex_state = 4},
  [108] = {.lex_state = 34, .external_lex_state = 2},
  [109] = {.lex_state = 34, .external_lex_state = 2},
  [110] = {.lex_state = 34, .external_lex_state = 2},
  [111] = {.lex_state = 34, .external_lex_state = 2},
  [112] = {.lex_state = 34, .external_lex_state = 2},
  [113] = {.lex_state = 34, .external_lex_state = 2},
  [114] = {.lex_state = 21, .external_lex_state = 5},
  [115] = {.lex_state = 34, .external_lex_state = 2},
  [116] = {.lex_state = 21, .external_lex_state = 6},
  [117] = {.lex_state = 22, .external_lex_state = 5},
  [118] = {.lex_state = 22, .external_lex_state = 5},
  [119] = {.lex_state = 22, .external_lex_state = 5},
  [120] = {.lex_state = 22, .external_lex_state = 6},
  [121] = {.lex_state = 22, .external_lex_state = 6},
  [122] = {.lex_state = 22, .external_lex_state = 6},
  [123] = {.lex_state = 22, .external_lex_state = 6},
  [124] = {.lex_state = 32, .external_lex_state = 7},
  [125] = {.lex_state = 10, .external_lex_state = 8},
  [126] = {.lex_state = 6, .external_lex_state = 8},
  [127] = {.lex_state = 6, .external_lex_state = 8},
  [128] = {.lex_state = 10, .external_lex_state = 8},
  [129] = {.lex_state = 10, .external_lex_state = 8},
  [130] = {.lex_state = 10, .external_lex_state = 8},
  [131] = {.lex_state = 15, .external_lex_state = 2},
  [132] = {.lex_state = 25, .external_lex_state = 2},
  [133] = {.lex_state = 736, .external_lex_state = 9},
  [134] = {.lex_state = 736, .external_lex_state = 10},
  [135] = {.lex_state = 28, .external_lex_state = 2},
  [136] = {.lex_state = 736, .external_lex_state = 10},
  [137] = {.lex_state = 736, .external_lex_state = 4},
  [138] = {.lex_state = 736, .external_lex_state = 11},
  [139] = {.lex_state = 736, .external_lex_state = 12},
  [140] = {.lex_state = 736, .external_lex_state = 13},
  [141] = {.lex_state = 14, .external_lex_state = 2},
  [142] = {.lex_state = 14, .external_lex_state = 2},
  [143] = {.lex_state = 14, .external_lex_state = 2},
  [144] = {.lex_state = 14, .external_lex_state = 2},
  [145] = {.lex_state = 14, .external_lex_state = 2},
  [146] = {.lex_state = 14, .external_lex_state = 2},
  [147] = {.lex_state = 14, .external_lex_state = 2},
  [148] = {.lex_state = 14, .external_lex_state = 2},
  [149] = {.lex_state = 14, .external_lex_state = 2},
  [150] = {.lex_state = 14, .external_lex_state = 2},
  [151] = {.lex_state = 36, .external_lex_state = 2},
  [152] = {.lex_state = 36, .external_lex_state = 2},
  [153] = {.lex_state = 17, .external_lex_state = 14},
  [154] = {.lex_state = 17, .external_lex_state = 14},
  [155] = {.lex_state = 16, .external_lex_state = 2},
  [156] = {.lex_state = 16, .external_lex_state = 2},
  [157] = {.lex_state = 16, .external_lex_state = 2},
  [158] = {.lex_state = 16, .external_lex_state = 2},
  [159] = {.lex_state = 16, .external_lex_state = 2},
  [160] = {.lex_state = 16, .external_lex_state = 2},
  [161] = {.lex_state = 16, .external_lex_state = 2},
  [162] = {.lex_state = 16, .external_lex_state = 2},
  [163] = {.lex_state = 16, .external_lex_state = 2},
  [164] = {.lex_state = 16, .external_lex_state = 2},
  [165] = {.lex_state = 16, .external_lex_state = 2},
  [166] = {.lex_state = 16, .external_lex_state = 2},
  [167] = {.lex_state = 16, .external_lex_state = 2},
  [168] = {.lex_state = 16, .external_lex_state = 2},
  [169] = {.lex_state = 16, .external_lex_state = 2},
  [170] = {.lex_state = 16, .external_lex_state = 2},
  [171] = {.lex_state = 737, .external_lex_state = 9},
  [172] = {.lex_state = 16, .external_lex_state = 2},
  [173] = {.lex_state = 16, .external_lex_state = 2},
  [174] = {.lex_state = 16, .external_lex_state = 2},
  [175] = {.lex_state = 737, .external_lex_state = 9},
  [176] = {.lex_state = 16, .external_lex_state = 2},
  [177] = {.lex_state = 16, .external_lex_state = 2},
  [178] = {.lex_state = 737, .external_lex_state = 9},
  [179] = {.lex_state = 16, .external_lex_state = 2},
  [180] = {.lex_state = 16, .external_lex_state = 2},
  [181] = {.lex_state = 16, .external_lex_state = 2},
  [182] = {.lex_state = 16, .external_lex_state = 2},
  [183] = {.lex_state = 16, .external_lex_state = 2},
  [184] = {.lex_state = 737, .external_lex_state = 10},
  [185] = {.lex_state = 16, .external_lex_state = 2},
  [186] = {.lex_state = 16, .external_lex_state = 2},
  [187] = {.lex_state = 737, .external_lex_state = 10},
  [188] = {.lex_state = 737, .external_lex_state = 10},
  [189] = {.lex_state = 737, .external_lex_state = 10},
  [190] = {.lex_state = 737, .external_lex_state = 4},
  [191] = {.lex_state = 737, .external_lex_state = 10},
  [192] = {.lex_state = 737, .external_lex_state = 4},
  [193] = {.lex_state = 737, .external_lex_state = 10},
  [194] = {.lex_state = 737, .external_lex_state = 4},
  [195] = {.lex_state = 737, .external_lex_state = 10},
  [196] = {.lex_state = 26, .external_lex_state = 2},
  [197] = {.lex_state = 737, .external_lex_state = 12},
  [198] = {.lex_state = 737, .external_lex_state = 12},
  [199] = {.lex_state = 737, .external_lex_state = 11},
  [200] = {.lex_state = 737, .external_lex_state = 11},
  [201] = {.lex_state = 737, .external_lex_state = 11},
  [202] = {.lex_state = 737, .external_lex_state = 12},
  [203] = {.lex_state = 737, .external_lex_state = 13},
  [204] = {.lex_state = 26, .external_lex_state = 2},
  [205] = {.lex_state = 26, .external_lex_state = 2},
  [206] = {.lex_state = 26, .external_lex_state = 2},
  [207] = {.lex_state = 26, .external_lex_state = 2},
  [208] = {.lex_state = 26, .external_lex_state = 2},
  [209] = {.lex_state = 26, .external_lex_state = 2},
  [210] = {.lex_state = 26, .external_lex_state = 2},
  [211] = {.lex_state = 26, .external_lex_state = 2},
  [212] = {.lex_state = 26, .external_lex_state = 2},
  [213] = {.lex_state = 26, .external_lex_state = 2},
  [214] = {.lex_state = 26, .external_lex_state = 2},
  [215] = {.lex_state = 26, .external_lex_state = 2},
  [216] = {.lex_state = 26, .external_lex_state = 2},
  [217] = {.lex_state = 26, .external_lex_state = 2},
  [218] = {.lex_state = 26, .external_lex_state = 2},
  [219] = {.lex_state = 26, .external_lex_state = 2},
  [220] = {.lex_state = 26, .external_lex_state = 2},
  [221] = {.lex_state = 26, .external_lex_state = 2},
  [222] = {.lex_state = 26, .external_lex_state = 2},
  [223] = {.lex_state = 26, .external_lex_state = 2},
  [224] = {.lex_state = 26, .external_lex_state = 2},
  [225] = {.lex_state = 737, .external_lex_state = 13},
  [226] = {.lex_state = 26, .external_lex_state = 2},
  [227] = {.lex_state = 26, .external_lex_state = 2},
  [228] = {.lex_state = 26, .external_lex_state = 2},
  [229] = {.lex_state = 737, .external_lex_state = 13},
  [230] = {.lex_state = 26, .external_lex_state = 2},
  [231] = {.lex_state = 13, .external_lex_state = 2},
  [232] = {.lex_state = 13, .external_lex_state = 2},
  [233] = {.lex_state = 13, .external_lex_state = 2},
  [234] = {.lex_state = 13, .external_lex_state = 2},
  [235] = {.lex_state = 13, .external_lex_state = 2},
  [236] = {.lex_state = 13, .external_lex_state = 2},
  [237] = {.lex_state = 13, .external_lex_state = 2},
  [238] = {.lex_state = 13, .external_lex_state = 2},
  [239] = {.lex_state = 13, .external_lex_state = 2},
  [240] = {.lex_state = 13, .external_lex_state = 2},
  [241] = {.lex_state = 13, .external_lex_state = 2},
  [242] = {.lex_state = 13, .external_lex_state = 2},
  [243] = {.lex_state = 13, .external_lex_state = 2},
  [244] = {.lex_state = 13, .external_lex_state = 2},
  [245] = {.lex_state = 13, .external_lex_state = 2},
  [246] = {.lex_state = 13, .external_lex_state = 2},
  [247] = {.lex_state = 13, .external_lex_state = 2},
  [248] = {.lex_state = 13, .external_lex_state = 2},
  [249] = {.lex_state = 13, .external_lex_state = 2},
  [250] = {.lex_state = 13, .external_lex_state = 2},
  [251] = {.lex_state = 13, .external_lex_state = 2},
  [252] = {.lex_state = 13, .external_lex_state = 2},
  [253] = {.lex_state = 13, .external_lex_state = 2},
  [254] = {.lex_state = 13, .external_lex_state = 2},
  [255] = {.lex_state = 13, .external_lex_state = 2},
  [256] = {.lex_state = 13, .external_lex_state = 2},
  [257] = {.lex_state = 13, .external_lex_state = 2},
  [258] = {.lex_state = 13, .external_lex_state = 2},
  [259] = {.lex_state = 13, .external_lex_state = 2},
  [260] = {.lex_state = 13, .external_lex_state = 2},
  [261] = {.lex_state = 13, .external_lex_state = 2},
  [262] = {.lex_state = 13, .external_lex_state = 2},
  [263] = {.lex_state = 13, .external_lex_state = 2},
  [264] = {.lex_state = 13, .external_lex_state = 2},
  [265] = {.lex_state = 13, .external_lex_state = 2},
  [266] = {.lex_state = 13, .external_lex_state = 2},
  [267] = {.lex_state = 13, .external_lex_state = 2},
  [268] = {.lex_state = 13, .external_lex_state = 2},
  [269] = {.lex_state = 13, .external_lex_state = 2},
  [270] = {.lex_state = 13, .external_lex_state = 2},
  [271] = {.lex_state = 13, .external_lex_state = 2},
  [272] = {.lex_state = 13, .external_lex_state = 2},
  [273] = {.lex_state = 13, .external_lex_state = 2},
  [274] = {.lex_state = 13, .external_lex_state = 2},
  [275] = {.lex_state = 13, .external_lex_state = 2},
  [276] = {.lex_state = 13, .external_lex_state = 2},
  [277] = {.lex_state = 13, .external_lex_state = 2},
  [278] = {.lex_state = 13, .external_lex_state = 2},
  [279] = {.lex_state = 13, .external_lex_state = 2},
  [280] = {.lex_state = 13, .external_lex_state = 2},
  [281] = {.lex_state = 13, .external_lex_state = 2},
  [282] = {.lex_state = 13, .external_lex_state = 2},
  [283] = {.lex_state = 13, .external_lex_state = 2},
  [284] = {.lex_state = 13, .external_lex_state = 2},
  [285] = {.lex_state = 13, .external_lex_state = 2},
  [286] = {.lex_state = 13, .external_lex_state = 2},
  [287] = {.lex_state = 13, .external_lex_state = 2},
  [288] = {.lex_state = 13, .external_lex_state = 2},
  [289] = {.lex_state = 13, .external_lex_state = 2},
  [290] = {.lex_state = 13, .external_lex_state = 2},
  [291] = {.lex_state = 13, .external_lex_state = 2},
  [292] = {.lex_state = 13, .external_lex_state = 2},
  [293] = {.lex_state = 13, .external_lex_state = 2},
  [294] = {.lex_state = 13, .external_lex_state = 2},
  [295] = {.lex_state = 13, .external_lex_state = 2},
  [296] = {.lex_state = 13, .external_lex_state = 2},
  [297] = {.lex_state = 13, .external_lex_state = 2},
  [298] = {.lex_state = 13, .external_lex_state = 2},
  [299] = {.lex_state = 13, .external_lex_state = 2},
  [300] = {.lex_state = 13, .external_lex_state = 2},
  [301] = {.lex_state = 13, .external_lex_state = 2},
  [302] = {.lex_state = 13, .external_lex_state = 2},
  [303] = {.lex_state = 13, .external_lex_state = 2},
  [304] = {.lex_state = 13, .external_lex_state = 2},
  [305] = {.lex_state = 13, .external_lex_state = 2},
  [306] = {.lex_state = 13, .external_lex_state = 2},
  [307] = {.lex_state = 13, .external_lex_state = 2},
  [308] = {.lex_state = 13, .external_lex_state = 2},
  [309] = {.lex_state = 13, .external_lex_state = 2},
  [310] = {.lex_state = 13, .external_lex_state = 2},
  [311] = {.lex_state = 13, .external_lex_state = 2},
  [312] = {.lex_state = 13, .external_lex_state = 2},
  [313] = {.lex_state = 13, .external_lex_state = 2},
  [314] = {.lex_state = 13, .external_lex_state = 2},
  [315] = {.lex_state = 13, .external_lex_state = 2},
  [316] = {.lex_state = 13, .external_lex_state = 2},
  [317] = {.lex_state = 13, .external_lex_state = 2},
  [318] = {.lex_state = 13, .external_lex_state = 2},
  [319] = {.lex_state = 13, .external_lex_state = 2},
  [320] = {.lex_state = 13, .external_lex_state = 2},
  [321] = {.lex_state = 13, .external_lex_state = 2},
  [322] = {.lex_state = 13, .external_lex_state = 2},
  [323] = {.lex_state = 13, .external_lex_state = 2},
  [324] = {.lex_state = 13, .external_lex_state = 2},
  [325] = {.lex_state = 13, .external_lex_state = 2},
  [326] = {.lex_state = 13, .external_lex_state = 2},
  [327] = {.lex_state = 13, .external_lex_state = 2},
  [328] = {.lex_state = 13, .external_lex_state = 2},
  [329] = {.lex_state = 13, .external_lex_state = 2},
  [330] = {.lex_state = 13, .external_lex_state = 2},
  [331] = {.lex_state = 13, .external_lex_state = 2},
  [332] = {.lex_state = 13, .external_lex_state = 2},
  [333] = {.lex_state = 14, .external_lex_state = 2},
  [334] = {.lex_state = 13, .external_lex_state = 2},
  [335] = {.lex_state = 28, .external_lex_state = 2},
  [336] = {.lex_state = 13, .external_lex_state = 2},
  [337] = {.lex_state = 13, .external_lex_state = 2},
  [338] = {.lex_state = 13, .external_lex_state = 2},
  [339] = {.lex_state = 13, .external_lex_state = 2},
  [340] = {.lex_state = 14, .external_lex_state = 2},
  [341] = {.lex_state = 13, .external_lex_state = 2},
  [342] = {.lex_state = 13, .external_lex_state = 2},
  [343] = {.lex_state = 14, .external_lex_state = 2},
  [344] = {.lex_state = 13, .external_lex_state = 2},
  [345] = {.lex_state = 13, .external_lex_state = 2},
  [346] = {.lex_state = 13, .external_lex_state = 2},
  [347] = {.lex_state = 13, .external_lex_state = 2},
  [348] = {.lex_state = 13, .external_lex_state = 2},
  [349] = {.lex_state = 14, .external_lex_state = 2},
  [350] = {.lex_state = 13, .external_lex_state = 2},
  [351] = {.lex_state = 14, .external_lex_state = 2},
  [352] = {.lex_state = 13, .external_lex_state = 2},
  [353] = {.lex_state = 13, .external_lex_state = 2},
  [354] = {.lex_state = 13, .external_lex_state = 2},
  [355] = {.lex_state = 14, .external_lex_state = 2},
  [356] = {.lex_state = 13, .external_lex_state = 2},
  [357] = {.lex_state = 13, .external_lex_state = 2},
  [358] = {.lex_state = 13, .external_lex_state = 2},
  [359] = {.lex_state = 14, .external_lex_state = 2},
  [360] = {.lex_state = 14, .external_lex_state = 2},
  [361] = {.lex_state = 14, .external_lex_state = 2},
  [362] = {.lex_state = 13, .external_lex_state = 2},
  [363] = {.lex_state = 13, .external_lex_state = 2},
  [364] = {.lex_state = 14, .external_lex_state = 2},
  [365] = {.lex_state = 13, .external_lex_state = 2},
  [366] = {.lex_state = 13, .external_lex_state = 2},
  [367] = {.lex_state = 13, .external_lex_state = 2},
  [368] = {.lex_state = 13, .external_lex_state = 2},
  [369] = {.lex_state = 13, .external_lex_state = 2},
  [370] = {.lex_state = 13, .external_lex_state = 2},
  [371] = {.lex_state = 13, .external_lex_state = 2},
  [372] = {.lex_state = 13, .external_lex_state = 2},
  [373] = {.lex_state = 13, .external_lex_state = 2},
  [374] = {.lex_state = 13, .external_lex_state = 2},
  [375] = {.lex_state = 13, .external_lex_state = 15},
  [376] = {.lex_state = 13, .external_lex_state = 2},
  [377] = {.lex_state = 13, .external_lex_state = 2},
  [378] = {.lex_state = 13, .external_lex_state = 2},
  [379] = {.lex_state = 13, .external_lex_state = 2},
  [380] = {.lex_state = 13, .external_lex_state = 2},
  [381] = {.lex_state = 13, .external_lex_state = 2},
  [382] = {.lex_state = 13, .external_lex_state = 2},
  [383] = {.lex_state = 13, .external_lex_state = 2},
  [384] = {.lex_state = 13, .external_lex_state = 16},
  [385] = {.lex_state = 13, .external_lex_state = 2},
  [386] = {.lex_state = 13, .external_lex_state = 2},
  [387] = {.lex_state = 13, .external_lex_state = 2},
  [388] = {.lex_state = 13, .external_lex_state = 2},
  [389] = {.lex_state = 13, .external_lex_state = 2},
  [390] = {.lex_state = 13, .external_lex_state = 2},
  [391] = {.lex_state = 13, .external_lex_state = 2},
  [392] = {.lex_state = 13, .external_lex_state = 2},
  [393] = {.lex_state = 13, .external_lex_state = 2},
  [394] = {.lex_state = 13, .external_lex_state = 2},
  [395] = {.lex_state = 13, .external_lex_state = 2},
  [396] = {.lex_state = 13, .external_lex_state = 2},
  [397] = {.lex_state = 13, .external_lex_state = 2},
  [398] = {.lex_state = 13, .external_lex_state = 2},
  [399] = {.lex_state = 13, .external_lex_state = 2},
  [400] = {.lex_state = 13, .external_lex_state = 2},
  [401] = {.lex_state = 13, .external_lex_state = 2},
  [402] = {.lex_state = 13, .external_lex_state = 2},
  [403] = {.lex_state = 13, .external_lex_state = 2},
  [404] = {.lex_state = 13, .external_lex_state = 2},
  [405] = {.lex_state = 13, .external_lex_state = 2},
  [406] = {.lex_state = 13, .external_lex_state = 2},
  [407] = {.lex_state = 13, .external_lex_state = 2},
  [408] = {.lex_state = 13, .external_lex_state = 2},
  [409] = {.lex_state = 13, .external_lex_state = 2},
  [410] = {.lex_state = 13, .external_lex_state = 2},
  [411] = {.lex_state = 13, .external_lex_state = 2},
  [412] = {.lex_state = 13, .external_lex_state = 2},
  [413] = {.lex_state = 13, .external_lex_state = 2},
  [414] = {.lex_state = 13, .external_lex_state = 2},
  [415] = {.lex_state = 13, .external_lex_state = 2},
  [416] = {.lex_state = 13, .external_lex_state = 2},
  [417] = {.lex_state = 13, .external_lex_state = 2},
  [418] = {.lex_state = 13, .external_lex_state = 2},
  [419] = {.lex_state = 13, .external_lex_state = 2},
  [420] = {.lex_state = 13, .external_lex_state = 2},
  [421] = {.lex_state = 13, .external_lex_state = 2},
  [422] = {.lex_state = 13, .external_lex_state = 2},
  [423] = {.lex_state = 13, .external_lex_state = 2},
  [424] = {.lex_state = 13, .external_lex_state = 2},
  [425] = {.lex_state = 13, .external_lex_state = 2},
  [426] = {.lex_state = 13, .external_lex_state = 2},
  [427] = {.lex_state = 13, .external_lex_state = 2},
  [428] = {.lex_state = 13, .external_lex_state = 2},
  [429] = {.lex_state = 13, .external_lex_state = 2},
  [430] = {.lex_state = 13, .external_lex_state = 2},
  [431] = {.lex_state = 13, .external_lex_state = 2},
  [432] = {.lex_state = 13, .external_lex_state = 2},
  [433] = {.lex_state = 37, .external_lex_state = 2},
  [434] = {.lex_state = 13, .external_lex_state = 2},
  [435] = {.lex_state = 13, .external_lex_state = 2},
  [436] = {.lex_state = 37, .external_lex_state = 2},
  [437] = {.lex_state = 13, .external_lex_state = 2},
  [438] = {.lex_state = 13, .external_lex_state = 2},
  [439] = {.lex_state = 13, .external_lex_state = 2},
  [440] = {.lex_state = 37, .external_lex_state = 2},
  [441] = {.lex_state = 13, .external_lex_state = 2},
  [442] = {.lex_state = 13, .external_lex_state = 2},
  [443] = {.lex_state = 13, .external_lex_state = 2},
  [444] = {.lex_state = 37, .external_lex_state = 2},
  [445] = {.lex_state = 13, .external_lex_state = 2},
  [446] = {.lex_state = 13, .external_lex_state = 2},
  [447] = {.lex_state = 13, .external_lex_state = 2},
  [448] = {.lex_state = 13, .external_lex_state = 2},
  [449] = {.lex_state = 13, .external_lex_state = 2},
  [450] = {.lex_state = 13, .external_lex_state = 2},
  [451] = {.lex_state = 13, .external_lex_state = 2},
  [452] = {.lex_state = 13, .external_lex_state = 2},
  [453] = {.lex_state = 13, .external_lex_state = 2},
  [454] = {.lex_state = 37, .external_lex_state = 2},
  [455] = {.lex_state = 13, .external_lex_state = 2},
  [456] = {.lex_state = 13, .external_lex_state = 2},
  [457] = {.lex_state = 13, .external_lex_state = 2},
  [458] = {.lex_state = 13, .external_lex_state = 2},
  [459] = {.lex_state = 13, .external_lex_state = 2},
  [460] = {.lex_state = 13, .external_lex_state = 2},
  [461] = {.lex_state = 13, .external_lex_state = 2},
  [462] = {.lex_state = 13, .external_lex_state = 2},
  [463] = {.lex_state = 13, .external_lex_state = 2},
  [464] = {.lex_state = 13, .external_lex_state = 2},
  [465] = {.lex_state = 13, .external_lex_state = 2},
  [466] = {.lex_state = 13, .external_lex_state = 2},
  [467] = {.lex_state = 37, .external_lex_state = 2},
  [468] = {.lex_state = 13, .external_lex_state = 2},
  [469] = {.lex_state = 13, .external_lex_state = 2},
  [470] = {.lex_state = 13, .external_lex_state = 2},
  [471] = {.lex_state = 13, .external_lex_state = 2},
  [472] = {.lex_state = 13, .external_lex_state = 2},
  [473] = {.lex_state = 13, .external_lex_state = 2},
  [474] = {.lex_state = 13, .external_lex_state = 2},
  [475] = {.lex_state = 13, .external_lex_state = 2},
  [476] = {.lex_state = 13, .external_lex_state = 2},
  [477] = {.lex_state = 13, .external_lex_state = 2},
  [478] = {.lex_state = 13, .external_lex_state = 2},
  [479] = {.lex_state = 13, .external_lex_state = 2},
  [480] = {.lex_state = 13, .external_lex_state = 2},
  [481] = {.lex_state = 37, .external_lex_state = 2},
  [482] = {.lex_state = 13, .external_lex_state = 2},
  [483] = {.lex_state = 13, .external_lex_state = 2},
  [484] = {.lex_state = 37, .external_lex_state = 2},
  [485] = {.lex_state = 13, .external_lex_state = 2},
  [486] = {.lex_state = 13, .external_lex_state = 2},
  [487] = {.lex_state = 13, .external_lex_state = 2},
  [488] = {.lex_state = 13, .external_lex_state = 2},
  [489] = {.lex_state = 13, .external_lex_state = 2},
  [490] = {.lex_state = 13, .external_lex_state = 2},
  [491] = {.lex_state = 13, .external_lex_state = 2},
  [492] = {.lex_state = 13, .external_lex_state = 2},
  [493] = {.lex_state = 13, .external_lex_state = 2},
  [494] = {.lex_state = 13, .external_lex_state = 2},
  [495] = {.lex_state = 13, .external_lex_state = 2},
  [496] = {.lex_state = 13, .external_lex_state = 2},
  [497] = {.lex_state = 13, .external_lex_state = 2},
  [498] = {.lex_state = 13, .external_lex_state = 2},
  [499] = {.lex_state = 13, .external_lex_state = 2},
  [500] = {.lex_state = 13, .external_lex_state = 2},
  [501] = {.lex_state = 13, .external_lex_state = 2},
  [502] = {.lex_state = 13, .external_lex_state = 2},
  [503] = {.lex_state = 13, .external_lex_state = 2},
  [504] = {.lex_state = 13, .external_lex_state = 2},
  [505] = {.lex_state = 13, .external_lex_state = 2},
  [506] = {.lex_state = 37, .external_lex_state = 2},
  [507] = {.lex_state = 13, .external_lex_state = 2},
  [508] = {.lex_state = 13, .external_lex_state = 2},
  [509] = {.lex_state = 13, .external_lex_state = 2},
  [510] = {.lex_state = 13, .external_lex_state = 2},
  [511] = {.lex_state = 13, .external_lex_state = 2},
  [512] = {.lex_state = 13, .external_lex_state = 2},
  [513] = {.lex_state = 13, .external_lex_state = 2},
  [514] = {.lex_state = 13, .external_lex_state = 2},
  [515] = {.lex_state = 13, .external_lex_state = 2},
  [516] = {.lex_state = 13, .external_lex_state = 2},
  [517] = {.lex_state = 13, .external_lex_state = 2},
  [518] = {.lex_state = 13, .external_lex_state = 2},
  [519] = {.lex_state = 13, .external_lex_state = 2},
  [520] = {.lex_state = 13, .external_lex_state = 2},
  [521] = {.lex_state = 13, .external_lex_state = 2},
  [522] = {.lex_state = 13, .external_lex_state = 2},
  [523] = {.lex_state = 13, .external_lex_state = 2},
  [524] = {.lex_state = 13, .external_lex_state = 2},
  [525] = {.lex_state = 13, .external_lex_state = 2},
  [526] = {.lex_state = 13, .external_lex_state = 2},
  [527] = {.lex_state = 13, .external_lex_state = 2},
  [528] = {.lex_state = 13, .external_lex_state = 2},
  [529] = {.lex_state = 13, .external_lex_state = 2},
  [530] = {.lex_state = 13, .external_lex_state = 2},
  [531] = {.lex_state = 13, .external_lex_state = 2},
  [532] = {.lex_state = 13, .external_lex_state = 2},
  [533] = {.lex_state = 13, .external_lex_state = 2},
  [534] = {.lex_state = 13, .external_lex_state = 2},
  [535] = {.lex_state = 13, .external_lex_state = 2},
  [536] = {.lex_state = 13, .external_lex_state = 2},
  [537] = {.lex_state = 13, .external_lex_state = 2},
  [538] = {.lex_state = 13, .external_lex_state = 2},
  [539] = {.lex_state = 13, .external_lex_state = 2},
  [540] = {.lex_state = 13, .external_lex_state = 2},
  [541] = {.lex_state = 13, .external_lex_state = 2},
  [542] = {.lex_state = 13, .external_lex_state = 2},
  [543] = {.lex_state = 13, .external_lex_state = 2},
  [544] = {.lex_state = 13, .external_lex_state = 2},
  [545] = {.lex_state = 13, .external_lex_state = 2},
  [546] = {.lex_state = 13, .external_lex_state = 2},
  [547] = {.lex_state = 13, .external_lex_state = 2},
  [548] = {.lex_state = 13, .external_lex_state = 2},
  [549] = {.lex_state = 13, .external_lex_state = 2},
  [550] = {.lex_state = 13, .external_lex_state = 2},
  [551] = {.lex_state = 13, .external_lex_state = 2},
  [552] = {.lex_state = 13, .external_lex_state = 2},
  [553] = {.lex_state = 13, .external_lex_state = 2},
  [554] = {.lex_state = 13, .external_lex_state = 2},
  [555] = {.lex_state = 13, .external_lex_state = 2},
  [556] = {.lex_state = 13, .external_lex_state = 2},
  [557] = {.lex_state = 13, .external_lex_state = 2},
  [558] = {.lex_state = 13, .external_lex_state = 2},
  [559] = {.lex_state = 13, .external_lex_state = 2},
  [560] = {.lex_state = 13, .external_lex_state = 2},
  [561] = {.lex_state = 13, .external_lex_state = 2},
  [562] = {.lex_state = 13, .external_lex_state = 2},
  [563] = {.lex_state = 13, .external_lex_state = 2},
  [564] = {.lex_state = 13, .external_lex_state = 2},
  [565] = {.lex_state = 13, .external_lex_state = 2},
  [566] = {.lex_state = 13, .external_lex_state = 2},
  [567] = {.lex_state = 13, .external_lex_state = 2},
  [568] = {.lex_state = 13, .external_lex_state = 2},
  [569] = {.lex_state = 13, .external_lex_state = 2},
  [570] = {.lex_state = 13, .external_lex_state = 2},
  [571] = {.lex_state = 13, .external_lex_state = 2},
  [572] = {.lex_state = 13, .external_lex_state = 2},
  [573] = {.lex_state = 13, .external_lex_state = 2},
  [574] = {.lex_state = 13, .external_lex_state = 2},
  [575] = {.lex_state = 13, .external_lex_state = 2},
  [576] = {.lex_state = 13, .external_lex_state = 2},
  [577] = {.lex_state = 13, .external_lex_state = 2},
  [578] = {.lex_state = 13, .external_lex_state = 2},
  [579] = {.lex_state = 13, .external_lex_state = 2},
  [580] = {.lex_state = 13, .external_lex_state = 2},
  [581] = {.lex_state = 13, .external_lex_state = 2},
  [582] = {.lex_state = 13, .external_lex_state = 2},
  [583] = {.lex_state = 13, .external_lex_state = 2},
  [584] = {.lex_state = 13, .external_lex_state = 2},
  [585] = {.lex_state = 13, .external_lex_state = 2},
  [586] = {.lex_state = 13, .external_lex_state = 2},
  [587] = {.lex_state = 13, .external_lex_state = 2},
  [588] = {.lex_state = 13, .external_lex_state = 2},
  [589] = {.lex_state = 13, .external_lex_state = 2},
  [590] = {.lex_state = 13, .external_lex_state = 2},
  [591] = {.lex_state = 13, .external_lex_state = 2},
  [592] = {.lex_state = 13, .external_lex_state = 2},
  [593] = {.lex_state = 13, .external_lex_state = 2},
  [594] = {.lex_state = 13, .external_lex_state = 2},
  [595] = {.lex_state = 13, .external_lex_state = 2},
  [596] = {.lex_state = 13, .external_lex_state = 2},
  [597] = {.lex_state = 13, .external_lex_state = 2},
  [598] = {.lex_state = 13, .external_lex_state = 2},
  [599] = {.lex_state = 13, .external_lex_state = 2},
  [600] = {.lex_state = 13, .external_lex_state = 2},
  [601] = {.lex_state = 13, .external_lex_state = 2},
  [602] = {.lex_state = 13, .external_lex_state = 2},
  [603] = {.lex_state = 13, .external_lex_state = 2},
  [604] = {.lex_state = 13, .external_lex_state = 2},
  [605] = {.lex_state = 13, .external_lex_state = 2},
  [606] = {.lex_state = 13, .external_lex_state = 2},
  [607] = {.lex_state = 13, .external_lex_state = 2},
  [608] = {.lex_state = 13, .external_lex_state = 2},
  [609] = {.lex_state = 13, .external_lex_state = 2},
  [610] = {.lex_state = 13, .external_lex_state = 2},
  [611] = {.lex_state = 13, .external_lex_state = 2},
  [612] = {.lex_state = 13, .external_lex_state = 2},
  [613] = {.lex_state = 13, .external_lex_state = 2},
  [614] = {.lex_state = 13, .external_lex_state = 2},
  [615] = {.lex_state = 13, .external_lex_state = 2},
  [616] = {.lex_state = 13, .external_lex_state = 2},
  [617] = {.lex_state = 13, .external_lex_state = 2},
  [618] = {.lex_state = 13, .external_lex_state = 2},
  [619] = {.lex_state = 13, .external_lex_state = 2},
  [620] = {.lex_state = 13, .external_lex_state = 2},
  [621] = {.lex_state = 13, .external_lex_state = 2},
  [622] = {.lex_state = 13, .external_lex_state = 2},
  [623] = {.lex_state = 13, .external_lex_state = 2},
  [624] = {.lex_state = 13, .external_lex_state = 2},
  [625] = {.lex_state = 13, .external_lex_state = 2},
  [626] = {.lex_state = 13, .external_lex_state = 2},
  [627] = {.lex_state = 13, .external_lex_state = 2},
  [628] = {.lex_state = 13, .external_lex_state = 2},
  [629] = {.lex_state = 13, .external_lex_state = 2},
  [630] = {.lex_state = 13, .external_lex_state = 2},
  [631] = {.lex_state = 13, .external_lex_state = 2},
  [632] = {.lex_state = 13, .external_lex_state = 2},
  [633] = {.lex_state = 13, .external_lex_state = 2},
  [634] = {.lex_state = 13, .external_lex_state = 2},
  [635] = {.lex_state = 13, .external_lex_state = 2},
  [636] = {.lex_state = 13, .external_lex_state = 2},
  [637] = {.lex_state = 13, .external_lex_state = 2},
  [638] = {.lex_state = 13, .external_lex_state = 2},
  [639] = {.lex_state = 13, .external_lex_state = 2},
  [640] = {.lex_state = 13, .external_lex_state = 2},
  [641] = {.lex_state = 13, .external_lex_state = 2},
  [642] = {.lex_state = 13, .external_lex_state = 2},
  [643] = {.lex_state = 13, .external_lex_state = 2},
  [644] = {.lex_state = 13, .external_lex_state = 2},
  [645] = {.lex_state = 13, .external_lex_state = 2},
  [646] = {.lex_state = 13, .external_lex_state = 2},
  [647] = {.lex_state = 13, .external_lex_state = 2},
  [648] = {.lex_state = 13, .external_lex_state = 2},
  [649] = {.lex_state = 13, .external_lex_state = 2},
  [650] = {.lex_state = 13, .external_lex_state = 2},
  [651] = {.lex_state = 13, .external_lex_state = 2},
  [652] = {.lex_state = 13, .external_lex_state = 2},
  [653] = {.lex_state = 13, .external_lex_state = 2},
  [654] = {.lex_state = 13, .external_lex_state = 2},
  [655] = {.lex_state = 13, .external_lex_state = 2},
  [656] = {.lex_state = 13, .external_lex_state = 2},
  [657] = {.lex_state = 13, .external_lex_state = 2},
  [658] = {.lex_state = 13, .external_lex_state = 2},
  [659] = {.lex_state = 13, .external_lex_state = 2},
  [660] = {.lex_state = 13, .external_lex_state = 2},
  [661] = {.lex_state = 13, .external_lex_state = 2},
  [662] = {.lex_state = 13, .external_lex_state = 2},
  [663] = {.lex_state = 13, .external_lex_state = 2},
  [664] = {.lex_state = 13, .external_lex_state = 2},
  [665] = {.lex_state = 13, .external_lex_state = 2},
  [666] = {.lex_state = 13, .external_lex_state = 2},
  [667] = {.lex_state = 13, .external_lex_state = 2},
  [668] = {.lex_state = 13, .external_lex_state = 2},
  [669] = {.lex_state = 13, .external_lex_state = 2},
  [670] = {.lex_state = 13, .external_lex_state = 2},
  [671] = {.lex_state = 13, .external_lex_state = 2},
  [672] = {.lex_state = 13, .external_lex_state = 2},
  [673] = {.lex_state = 13, .external_lex_state = 2},
  [674] = {.lex_state = 13, .external_lex_state = 2},
  [675] = {.lex_state = 13, .external_lex_state = 2},
  [676] = {.lex_state = 13, .external_lex_state = 2},
  [677] = {.lex_state = 13, .external_lex_state = 2},
  [678] = {.lex_state = 13, .external_lex_state = 2},
  [679] = {.lex_state = 13, .external_lex_state = 2},
  [680] = {.lex_state = 13, .external_lex_state = 2},
  [681] = {.lex_state = 13, .external_lex_state = 2},
  [682] = {.lex_state = 13, .external_lex_state = 2},
  [683] = {.lex_state = 13, .external_lex_state = 2},
  [684] = {.lex_state = 13, .external_lex_state = 2},
  [685] = {.lex_state = 13, .external_lex_state = 2},
  [686] = {.lex_state = 13, .external_lex_state = 2},
  [687] = {.lex_state = 13, .external_lex_state = 2},
  [688] = {.lex_state = 13, .external_lex_state = 2},
  [689] = {.lex_state = 13, .external_lex_state = 2},
  [690] = {.lex_state = 13, .external_lex_state = 2},
  [691] = {.lex_state = 13, .external_lex_state = 2},
  [692] = {.lex_state = 13, .external_lex_state = 2},
  [693] = {.lex_state = 13, .external_lex_state = 2},
  [694] = {.lex_state = 13, .external_lex_state = 2},
  [695] = {.lex_state = 13, .external_lex_state = 2},
  [696] = {.lex_state = 13, .external_lex_state = 2},
  [697] = {.lex_state = 13, .external_lex_state = 2},
  [698] = {.lex_state = 13, .external_lex_state = 2},
  [699] = {.lex_state = 13, .external_lex_state = 2},
  [700] = {.lex_state = 13, .external_lex_state = 2},
  [701] = {.lex_state = 13, .external_lex_state = 2},
  [702] = {.lex_state = 13, .external_lex_state = 2},
  [703] = {.lex_state = 13, .external_lex_state = 2},
  [704] = {.lex_state = 13, .external_lex_state = 2},
  [705] = {.lex_state = 13, .external_lex_state = 2},
  [706] = {.lex_state = 13, .external_lex_state = 2},
  [707] = {.lex_state = 13, .external_lex_state = 2},
  [708] = {.lex_state = 13, .external_lex_state = 2},
  [709] = {.lex_state = 13, .external_lex_state = 2},
  [710] = {.lex_state = 13, .external_lex_state = 2},
  [711] = {.lex_state = 13, .external_lex_state = 2},
  [712] = {.lex_state = 13, .external_lex_state = 2},
  [713] = {.lex_state = 13, .external_lex_state = 2},
  [714] = {.lex_state = 13, .external_lex_state = 2},
  [715] = {.lex_state = 13, .external_lex_state = 2},
  [716] = {.lex_state = 13, .external_lex_state = 2},
  [717] = {.lex_state = 13, .external_lex_state = 2},
  [718] = {.lex_state = 13, .external_lex_state = 2},
  [719] = {.lex_state = 13, .external_lex_state = 2},
  [720] = {.lex_state = 13, .external_lex_state = 2},
  [721] = {.lex_state = 13, .external_lex_state = 2},
  [722] = {.lex_state = 13, .external_lex_state = 2},
  [723] = {.lex_state = 13, .external_lex_state = 2},
  [724] = {.lex_state = 13, .external_lex_state = 2},
  [725] = {.lex_state = 13, .external_lex_state = 2},
  [726] = {.lex_state = 13, .external_lex_state = 2},
  [727] = {.lex_state = 13, .external_lex_state = 2},
  [728] = {.lex_state = 13, .external_lex_state = 2},
  [729] = {.lex_state = 13, .external_lex_state = 2},
  [730] = {.lex_state = 13, .external_lex_state = 2},
  [731] = {.lex_state = 13, .external_lex_state = 2},
  [732] = {.lex_state = 13, .external_lex_state = 2},
  [733] = {.lex_state = 13, .external_lex_state = 2},
  [734] = {.lex_state = 42, .external_lex_state = 17},
  [735] = {.lex_state = 42, .external_lex_state = 17},
  [736] = {.lex_state = 19, .external_lex_state = 4},
  [737] = {.lex_state = 19, .external_lex_state = 4},
  [738] = {.lex_state = 19, .external_lex_state = 4},
  [739] = {.lex_state = 19, .external_lex_state = 4},
  [740] = {.lex_state = 19, .external_lex_state = 4},
  [741] = {.lex_state = 19, .external_lex_state = 4},
  [742] = {.lex_state = 19, .external_lex_state = 4},
  [743] = {.lex_state = 745, .external_lex_state = 18},
  [744] = {.lex_state = 745, .external_lex_state = 18},
  [745] = {.lex_state = 745, .external_lex_state = 18},
  [746] = {.lex_state = 745, .external_lex_state = 18},
  [747] = {.lex_state = 745, .external_lex_state = 18},
  [748] = {.lex_state = 745, .external_lex_state = 18},
  [749] = {.lex_state = 745, .external_lex_state = 18},
  [750] = {.lex_state = 745, .external_lex_state = 18},
  [751] = {.lex_state = 745, .external_lex_state = 18},
  [752] = {.lex_state = 745, .external_lex_state = 18},
  [753] = {.lex_state = 745, .external_lex_state = 18},
  [754] = {.lex_state = 745, .external_lex_state = 18},
  [755] = {.lex_state = 740, .external_lex_state = 2},
  [756] = {.lex_state = 46, .external_lex_state = 19},
  [757] = {.lex_state = 46, .external_lex_state = 19},
  [758] = {.lex_state = 22, .external_lex_state = 5},
  [759] = {.lex_state = 22, .external_lex_state = 5},
  [760] = {.lex_state = 22, .external_lex_state = 5},
  [761] = {.lex_state = 22, .external_lex_state = 5},
  [762] = {.lex_state = 22, .external_lex_state = 5},
  [763] = {.lex_state = 46, .external_lex_state = 20},
  [764] = {.lex_state = 46, .external_lex_state = 20},
  [765] = {.lex_state = 22, .external_lex_state = 5},
  [766] = {.lex_state = 22, .external_lex_state = 5},
  [767] = {.lex_state = 22, .external_lex_state = 6},
  [768] = {.lex_state = 22, .external_lex_state = 6},
  [769] = {.lex_state = 22, .external_lex_state = 6},
  [770] = {.lex_state = 22, .external_lex_state = 6},
  [771] = {.lex_state = 22, .external_lex_state = 6},
  [772] = {.lex_state = 22, .external_lex_state = 6},
  [773] = {.lex_state = 22, .external_lex_state = 6},
  [774] = {.lex_state = 745, .external_lex_state = 21},
  [775] = {.lex_state = 745, .external_lex_state = 21},
  [776] = {.lex_state = 745, .external_lex_state = 21},
  [777] = {.lex_state = 745, .external_lex_state = 21},
  [778] = {.lex_state = 745, .external_lex_state = 21},
  [779] = {.lex_state = 745, .external_lex_state = 21},
  [780] = {.lex_state = 745, .external_lex_state = 21},
  [781] = {.lex_state = 745, .external_lex_state = 22},
  [782] = {.lex_state = 745, .external_lex_state = 21},
  [783] = {.lex_state = 745, .external_lex_state = 22},
  [784] = {.lex_state = 745, .external_lex_state = 21},
  [785] = {.lex_state = 745, .external_lex_state = 21},
  [786] = {.lex_state = 745, .external_lex_state = 21},
  [787] = {.lex_state = 745, .external_lex_state = 22},
  [788] = {.lex_state = 745, .external_lex_state = 22},
  [789] = {.lex_state = 745, .external_lex_state = 22},
  [790] = {.lex_state = 745, .external_lex_state = 22},
  [791] = {.lex_state = 745, .external_lex_state = 22},
  [792] = {.lex_state = 745, .external_lex_state = 22},
  [793] = {.lex_state = 745, .external_lex_state = 22},
  [794] = {.lex_state = 745, .external_lex_state = 22},
  [795] = {.lex_state = 745, .external_lex_state = 22},
  [796] = {.lex_state = 745, .external_lex_state = 22},
  [797] = {.lex_state = 745, .external_lex_state = 22},
  [798] = {.lex_state = 43, .external_lex_state = 18},
  [799] = {.lex_state = 745, .external_lex_state = 22},
  [800] = {.lex_state = 745, .external_lex_state = 22},
  [801] = {.lex_state = 745, .external_lex_state = 22},
  [802] = {.lex_state = 43, .external_lex_state = 18},
  [803] = {.lex_state = 745, .external_lex_state = 17},
  [804] = {.lex_state = 745, .external_lex_state = 17},
  [805] = {.lex_state = 43, .external_lex_state = 18},
  [806] = {.lex_state = 43, .external_lex_state = 18},
  [807] = {.lex_state = 745, .external_lex_state = 17},
  [808] = {.lex_state = 745, .external_lex_state = 17},
  [809] = {.lex_state = 745, .external_lex_state = 17},
  [810] = {.lex_state = 745, .external_lex_state = 17},
  [811] = {.lex_state = 745, .external_lex_state = 17},
  [812] = {.lex_state = 745, .external_lex_state = 17},
  [813] = {.lex_state = 745, .external_lex_state = 17},
  [814] = {.lex_state = 745, .external_lex_state = 17},
  [815] = {.lex_state = 745, .external_lex_state = 17},
  [816] = {.lex_state = 745, .external_lex_state = 17},
  [817] = {.lex_state = 745, .external_lex_state = 17},
  [818] = {.lex_state = 745, .external_lex_state = 17},
  [819] = {.lex_state = 745, .external_lex_state = 17},
  [820] = {.lex_state = 745, .external_lex_state = 17},
  [821] = {.lex_state = 745, .external_lex_state = 17},
  [822] = {.lex_state = 745, .external_lex_state = 17},
  [823] = {.lex_state = 745, .external_lex_state = 18},
  [824] = {.lex_state = 745, .external_lex_state = 17},
  [825] = {.lex_state = 745, .external_lex_state = 17},
  [826] = {.lex_state = 745, .external_lex_state = 17},
  [827] = {.lex_state = 745, .external_lex_state = 17},
  [828] = {.lex_state = 745, .external_lex_state = 17},
  [829] = {.lex_state = 745, .external_lex_state = 17},
  [830] = {.lex_state = 745, .external_lex_state = 17},
  [831] = {.lex_state = 745, .external_lex_state = 17},
  [832] = {.lex_state = 745, .external_lex_state = 17},
  [833] = {.lex_state = 745, .external_lex_state = 17},
  [834] = {.lex_state = 745, .external_lex_state = 17},
  [835] = {.lex_state = 745, .external_lex_state = 17},
  [836] = {.lex_state = 745, .external_lex_state = 18},
  [837] = {.lex_state = 745, .external_lex_state = 17},
  [838] = {.lex_state = 745, .external_lex_state = 18},
  [839] = {.lex_state = 745, .external_lex_state = 17},
  [840] = {.lex_state = 745, .external_lex_state = 18},
  [841] = {.lex_state = 745, .external_lex_state = 17},
  [842] = {.lex_state = 745, .external_lex_state = 17},
  [843] = {.lex_state = 745, .external_lex_state = 17},
  [844] = {.lex_state = 745, .external_lex_state = 17},
  [845] = {.lex_state = 745, .external_lex_state = 17},
  [846] = {.lex_state = 52, .external_lex_state = 23},
  [847] = {.lex_state = 50, .external_lex_state = 20},
  [848] = {.lex_state = 43, .external_lex_state = 18},
  [849] = {.lex_state = 43, .external_lex_state = 18},
  [850] = {.lex_state = 43, .external_lex_state = 18},
  [851] = {.lex_state = 43, .external_lex_state = 18},
  [852] = {.lex_state = 43, .external_lex_state = 18},
  [853] = {.lex_state = 745, .external_lex_state = 17},
  [854] = {.lex_state = 43, .external_lex_state = 18},
  [855] = {.lex_state = 745, .external_lex_state = 17},
  [856] = {.lex_state = 745, .external_lex_state = 18},
  [857] = {.lex_state = 745, .external_lex_state = 18},
  [858] = {.lex_state = 745, .external_lex_state = 18},
  [859] = {.lex_state = 745, .external_lex_state = 18},
  [860] = {.lex_state = 745, .external_lex_state = 18},
  [861] = {.lex_state = 745, .external_lex_state = 18},
  [862] = {.lex_state = 745, .external_lex_state = 18},
  [863] = {.lex_state = 745, .external_lex_state = 18},
  [864] = {.lex_state = 745, .external_lex_state = 18},
  [865] = {.lex_state = 745, .external_lex_state = 18},
  [866] = {.lex_state = 745, .external_lex_state = 18},
  [867] = {.lex_state = 745, .external_lex_state = 18},
  [868] = {.lex_state = 745, .external_lex_state = 18},
  [869] = {.lex_state = 745, .external_lex_state = 24},
  [870] = {.lex_state = 745, .external_lex_state = 18},
  [871] = {.lex_state = 745, .external_lex_state = 24},
  [872] = {.lex_state = 745, .external_lex_state = 18},
  [873] = {.lex_state = 745, .external_lex_state = 18},
  [874] = {.lex_state = 745, .external_lex_state = 18},
  [875] = {.lex_state = 745, .external_lex_state = 18},
  [876] = {.lex_state = 745, .external_lex_state = 24},
  [877] = {.lex_state = 745, .external_lex_state = 18},
  [878] = {.lex_state = 745, .external_lex_state = 18},
  [879] = {.lex_state = 745, .external_lex_state = 18},
  [880] = {.lex_state = 745, .external_lex_state = 24},
  [881] = {.lex_state = 745, .external_lex_state = 18},
  [882] = {.lex_state = 745, .external_lex_state = 18},
  [883] = {.lex_state = 745, .external_lex_state = 18},
  [884] = {.lex_state = 745, .external_lex_state = 18},
  [885] = {.lex_state = 745, .external_lex_state = 18},
  [886] = {.lex_state = 745, .external_lex_state = 18},
  [887] = {.lex_state = 745, .external_lex_state = 18},
  [888] = {.lex_state = 745, .external_lex_state = 18},
  [889] = {.lex_state = 745, .external_lex_state = 18},
  [890] = {.lex_state = 745, .external_lex_state = 18},
  [891] = {.lex_state = 745, .external_lex_state = 18},
  [892] = {.lex_state = 745, .external_lex_state = 18},
  [893] = {.lex_state = 745, .external_lex_state = 18},
  [894] = {.lex_state = 745, .external_lex_state = 18},
  [895] = {.lex_state = 745, .external_lex_state = 18},
  [896] = {.lex_state = 745, .external_lex_state = 18},
  [897] = {.lex_state = 745, .external_lex_state = 18},
  [898] = {.lex_state = 745, .external_lex_state = 18},
  [899] = {.lex_state = 745, .external_lex_state = 18},
  [900] = {.lex_state = 745, .external_lex_state = 18},
  [901] = {.lex_state = 745, .external_lex_state = 18},
  [902] = {.lex_state = 745, .external_lex_state = 18},
  [903] = {.lex_state = 745, .external_lex_state = 18},
  [904] = {.lex_state = 745, .external_lex_state = 18},
  [905] = {.lex_state = 745, .external_lex_state = 18},
  [906] = {.lex_state = 745, .external_lex_state = 18},
  [907] = {.lex_state = 745, .external_lex_state = 18},
  [908] = {.lex_state = 745, .external_lex_state = 18},
  [909] = {.lex_state = 745, .external_lex_state = 18},
  [910] = {.lex_state = 745, .external_lex_state = 18},
  [911] = {.lex_state = 745, .external_lex_state = 18},
  [912] = {.lex_state = 745, .external_lex_state = 18},
  [913] = {.lex_state = 745, .external_lex_state = 18},
  [914] = {.lex_state = 745, .external_lex_state = 18},
  [915] = {.lex_state = 745, .external_lex_state = 18},
  [916] = {.lex_state = 745, .external_lex_state = 18},
  [917] = {.lex_state = 745, .external_lex_state = 18},
  [918] = {.lex_state = 745, .external_lex_state = 18},
  [919] = {.lex_state = 745, .external_lex_state = 18},
  [920] = {.lex_state = 745, .external_lex_state = 18},
  [921] = {.lex_state = 745, .external_lex_state = 18},
  [922] = {.lex_state = 745, .external_lex_state = 18},
  [923] = {.lex_state = 745, .external_lex_state = 18},
  [924] = {.lex_state = 745, .external_lex_state = 18},
  [925] = {.lex_state = 745, .external_lex_state = 18},
  [926] = {.lex_state = 745, .external_lex_state = 18},
  [927] = {.lex_state = 745, .external_lex_state = 18},
  [928] = {.lex_state = 745, .external_lex_state = 18},
  [929] = {.lex_state = 47, .external_lex_state = 21},
  [930] = {.lex_state = 745, .external_lex_state = 18},
  [931] = {.lex_state = 745, .external_lex_state = 18},
  [932] = {.lex_state = 745, .external_lex_state = 18},
  [933] = {.lex_state = 745, .external_lex_state = 18},
  [934] = {.lex_state = 745, .external_lex_state = 18},
  [935] = {.lex_state = 745, .external_lex_state = 18},
  [936] = {.lex_state = 745, .external_lex_state = 18},
  [937] = {.lex_state = 745, .external_lex_state = 18},
  [938] = {.lex_state = 745, .external_lex_state = 18},
  [939] = {.lex_state = 745, .external_lex_state = 18},
  [940] = {.lex_state = 745, .external_lex_state = 18},
  [941] = {.lex_state = 745, .external_lex_state = 18},
  [942] = {.lex_state = 745, .external_lex_state = 18},
  [943] = {.lex_state = 745, .external_lex_state = 18},
  [944] = {.lex_state = 745, .external_lex_state = 18},
  [945] = {.lex_state = 745, .external_lex_state = 18},
  [946] = {.lex_state = 745, .external_lex_state = 18},
  [947] = {.lex_state = 745, .external_lex_state = 18},
  [948] = {.lex_state = 745, .external_lex_state = 18},
  [949] = {.lex_state = 745, .external_lex_state = 18},
  [950] = {.lex_state = 745, .external_lex_state = 18},
  [951] = {.lex_state = 745, .external_lex_state = 18},
  [952] = {.lex_state = 745, .external_lex_state = 18},
  [953] = {.lex_state = 745, .external_lex_state = 18},
  [954] = {.lex_state = 745, .external_lex_state = 18},
  [955] = {.lex_state = 745, .external_lex_state = 18},
  [956] = {.lex_state = 745, .external_lex_state = 18},
  [957] = {.lex_state = 745, .external_lex_state = 18},
  [958] = {.lex_state = 745, .external_lex_state = 18},
  [959] = {.lex_state = 745, .external_lex_state = 18},
  [960] = {.lex_state = 745, .external_lex_state = 18},
  [961] = {.lex_state = 745, .external_lex_state = 18},
  [962] = {.lex_state = 745, .external_lex_state = 18},
  [963] = {.lex_state = 745, .external_lex_state = 18},
  [964] = {.lex_state = 745, .external_lex_state = 18},
  [965] = {.lex_state = 745, .external_lex_state = 18},
  [966] = {.lex_state = 745, .external_lex_state = 18},
  [967] = {.lex_state = 745, .external_lex_state = 18},
  [968] = {.lex_state = 745, .external_lex_state = 18},
  [969] = {.lex_state = 745, .external_lex_state = 18},
  [970] = {.lex_state = 745, .external_lex_state = 18},
  [971] = {.lex_state = 745, .external_lex_state = 18},
  [972] = {.lex_state = 745, .external_lex_state = 18},
  [973] = {.lex_state = 745, .external_lex_state = 18},
  [974] = {.lex_state = 745, .external_lex_state = 18},
  [975] = {.lex_state = 745, .external_lex_state = 18},
  [976] = {.lex_state = 745, .external_lex_state = 18},
  [977] = {.lex_state = 745, .external_lex_state = 18},
  [978] = {.lex_state = 47, .external_lex_state = 22},
  [979] = {.lex_state = 34, .external_lex_state = 2},
  [980] = {.lex_state = 34, .external_lex_state = 2},
  [981] = {.lex_state = 34, .external_lex_state = 2},
  [982] = {.lex_state = 745, .external_lex_state = 18},
  [983] = {.lex_state = 745, .external_lex_state = 18},
  [984] = {.lex_state = 745, .external_lex_state = 18},
  [985] = {.lex_state = 34, .external_lex_state = 2},
  [986] = {.lex_state = 34, .external_lex_state = 2},
  [987] = {.lex_state = 34, .external_lex_state = 2},
  [988] = {.lex_state = 34, .external_lex_state = 2},
  [989] = {.lex_state = 745, .external_lex_state = 25},
  [990] = {.lex_state = 745, .external_lex_state = 25},
  [991] = {.lex_state = 745, .external_lex_state = 25},
  [992] = {.lex_state = 47, .external_lex_state = 21},
  [993] = {.lex_state = 53, .external_lex_state = 23},
  [994] = {.lex_state = 51, .external_lex_state = 20},
  [995] = {.lex_state = 47, .external_lex_state = 21},
  [996] = {.lex_state = 47, .external_lex_state = 21},
  [997] = {.lex_state = 53, .external_lex_state = 23},
  [998] = {.lex_state = 51, .external_lex_state = 20},
  [999] = {.lex_state = 47, .external_lex_state = 22},
  [1000] = {.lex_state = 47, .external_lex_state = 22},
  [1001] = {.lex_state = 47, .external_lex_state = 22},
  [1002] = {.lex_state = 745, .external_lex_state = 19},
  [1003] = {.lex_state = 745, .external_lex_state = 19},
  [1004] = {.lex_state = 47, .external_lex_state = 22},
  [1005] = {.lex_state = 745, .external_lex_state = 19},
  [1006] = {.lex_state = 745, .external_lex_state = 19},
  [1007] = {.lex_state = 745, .external_lex_state = 19},
  [1008] = {.lex_state = 745, .external_lex_state = 19},
  [1009] = {.lex_state = 745, .external_lex_state = 19},
  [1010] = {.lex_state = 747, .external_lex_state = 26},
  [1011] = {.lex_state = 747, .external_lex_state = 26},
  [1012] = {.lex_state = 745, .external_lex_state = 19},
  [1013] = {.lex_state = 745, .external_lex_state = 20},
  [1014] = {.lex_state = 745, .external_lex_state = 20},
  [1015] = {.lex_state = 745, .external_lex_state = 20},
  [1016] = {.lex_state = 47, .external_lex_state = 21},
  [1017] = {.lex_state = 47, .external_lex_state = 21},
  [1018] = {.lex_state = 47, .external_lex_state = 21},
  [1019] = {.lex_state = 745, .external_lex_state = 20},
  [1020] = {.lex_state = 745, .external_lex_state = 20},
  [1021] = {.lex_state = 47, .external_lex_state = 21},
  [1022] = {.lex_state = 745, .external_lex_state = 22},
  [1023] = {.lex_state = 47, .external_lex_state = 21},
  [1024] = {.lex_state = 47, .external_lex_state = 21},
  [1025] = {.lex_state = 745, .external_lex_state = 20},
  [1026] = {.lex_state = 745, .external_lex_state = 20},
  [1027] = {.lex_state = 745, .external_lex_state = 20},
  [1028] = {.lex_state = 47, .external_lex_state = 22},
  [1029] = {.lex_state = 747, .external_lex_state = 27},
  [1030] = {.lex_state = 47, .external_lex_state = 22},
  [1031] = {.lex_state = 47, .external_lex_state = 22},
  [1032] = {.lex_state = 47, .external_lex_state = 22},
  [1033] = {.lex_state = 745, .external_lex_state = 19},
  [1034] = {.lex_state = 745, .external_lex_state = 19},
  [1035] = {.lex_state = 745, .external_lex_state = 19},
  [1036] = {.lex_state = 745, .external_lex_state = 19},
  [1037] = {.lex_state = 47, .external_lex_state = 22},
  [1038] = {.lex_state = 47, .external_lex_state = 22},
  [1039] = {.lex_state = 745, .external_lex_state = 19},
  [1040] = {.lex_state = 747, .external_lex_state = 27},
  [1041] = {.lex_state = 745, .external_lex_state = 19},
  [1042] = {.lex_state = 745, .external_lex_state = 20},
  [1043] = {.lex_state = 745, .external_lex_state = 20},
  [1044] = {.lex_state = 745, .external_lex_state = 19},
  [1045] = {.lex_state = 47, .external_lex_state = 22},
  [1046] = {.lex_state = 745, .external_lex_state = 20},
  [1047] = {.lex_state = 745, .external_lex_state = 20},
  [1048] = {.lex_state = 745, .external_lex_state = 20},
  [1049] = {.lex_state = 745, .external_lex_state = 19},
  [1050] = {.lex_state = 745, .external_lex_state = 20},
  [1051] = {.lex_state = 745, .external_lex_state = 19},
  [1052] = {.lex_state = 747, .external_lex_state = 28},
  [1053] = {.lex_state = 747, .external_lex_state = 28},
  [1054] = {.lex_state = 745, .external_lex_state = 19},
  [1055] = {.lex_state = 743, .external_lex_state = 29},
  [1056] = {.lex_state = 745, .external_lex_state = 19},
  [1057] = {.lex_state = 745, .external_lex_state = 20},
  [1058] = {.lex_state = 745, .external_lex_state = 19},
  [1059] = {.lex_state = 745, .external_lex_state = 19},
  [1060] = {.lex_state = 745, .external_lex_state = 19},
  [1061] = {.lex_state = 747, .external_lex_state = 30},
  [1062] = {.lex_state = 745, .external_lex_state = 19},
  [1063] = {.lex_state = 745, .external_lex_state = 20},
  [1064] = {.lex_state = 745, .external_lex_state = 19},
  [1065] = {.lex_state = 747, .external_lex_state = 30},
  [1066] = {.lex_state = 745, .external_lex_state = 19},
  [1067] = {.lex_state = 745, .external_lex_state = 19},
  [1068] = {.lex_state = 745, .external_lex_state = 20},
  [1069] = {.lex_state = 745, .external_lex_state = 19},
  [1070] = {.lex_state = 737, .external_lex_state = 4},
  [1071] = {.lex_state = 745, .external_lex_state = 19},
  [1072] = {.lex_state = 745, .external_lex_state = 19},
  [1073] = {.lex_state = 745, .external_lex_state = 19},
  [1074] = {.lex_state = 745, .external_lex_state = 19},
  [1075] = {.lex_state = 745, .external_lex_state = 19},
  [1076] = {.lex_state = 745, .external_lex_state = 19},
  [1077] = {.lex_state = 745, .external_lex_state = 19},
  [1078] = {.lex_state = 745, .external_lex_state = 19},
  [1079] = {.lex_state = 745, .external_lex_state = 19},
  [1080] = {.lex_state = 745, .external_lex_state = 19},
  [1081] = {.lex_state = 745, .external_lex_state = 19},
  [1082] = {.lex_state = 745, .external_lex_state = 21},
  [1083] = {.lex_state = 745, .external_lex_state = 21},
  [1084] = {.lex_state = 745, .external_lex_state = 21},
  [1085] = {.lex_state = 745, .external_lex_state = 21},
  [1086] = {.lex_state = 743, .external_lex_state = 29},
  [1087] = {.lex_state = 745, .external_lex_state = 19},
  [1088] = {.lex_state = 745, .external_lex_state = 20},
  [1089] = {.lex_state = 737, .external_lex_state = 9},
  [1090] = {.lex_state = 745, .external_lex_state = 20},
  [1091] = {.lex_state = 745, .external_lex_state = 20},
  [1092] = {.lex_state = 745, .external_lex_state = 20},
  [1093] = {.lex_state = 745, .external_lex_state = 20},
  [1094] = {.lex_state = 745, .external_lex_state = 20},
  [1095] = {.lex_state = 745, .external_lex_state = 22},
  [1096] = {.lex_state = 745, .external_lex_state = 20},
  [1097] = {.lex_state = 737, .external_lex_state = 9},
  [1098] = {.lex_state = 745, .external_lex_state = 20},
  [1099] = {.lex_state = 745, .external_lex_state = 20},
  [1100] = {.lex_state = 745, .external_lex_state = 20},
  [1101] = {.lex_state = 737, .external_lex_state = 9},
  [1102] = {.lex_state = 743, .external_lex_state = 23},
  [1103] = {.lex_state = 737, .external_lex_state = 9},
  [1104] = {.lex_state = 745, .external_lex_state = 20},
  [1105] = {.lex_state = 743, .external_lex_state = 23},
  [1106] = {.lex_state = 745, .external_lex_state = 20},
  [1107] = {.lex_state = 745, .external_lex_state = 22},
  [1108] = {.lex_state = 745, .external_lex_state = 20},
  [1109] = {.lex_state = 745, .external_lex_state = 20},
  [1110] = {.lex_state = 737, .external_lex_state = 9},
  [1111] = {.lex_state = 745, .external_lex_state = 22},
  [1112] = {.lex_state = 745, .external_lex_state = 20},
  [1113] = {.lex_state = 745, .external_lex_state = 20},
  [1114] = {.lex_state = 745, .external_lex_state = 20},
  [1115] = {.lex_state = 745, .external_lex_state = 22},
  [1116] = {.lex_state = 745, .external_lex_state = 20},
  [1117] = {.lex_state = 745, .external_lex_state = 20},
  [1118] = {.lex_state = 745, .external_lex_state = 20},
  [1119] = {.lex_state = 745, .external_lex_state = 20},
  [1120] = {.lex_state = 737, .external_lex_state = 9},
  [1121] = {.lex_state = 745, .external_lex_state = 20},
  [1122] = {.lex_state = 737, .external_lex_state = 9},
  [1123] = {.lex_state = 77, .external_lex_state = 31},
  [1124] = {.lex_state = 77, .external_lex_state = 31},
  [1125] = {.lex_state = 737, .external_lex_state = 10},
  [1126] = {.lex_state = 737, .external_lex_state = 10},
  [1127] = {.lex_state = 77, .external_lex_state = 31},
  [1128] = {.lex_state = 743, .external_lex_state = 17},
  [1129] = {.lex_state = 747, .external_lex_state = 32},
  [1130] = {.lex_state = 737, .external_lex_state = 10},
  [1131] = {.lex_state = 737, .external_lex_state = 10},
  [1132] = {.lex_state = 743, .external_lex_state = 17},
  [1133] = {.lex_state = 743, .external_lex_state = 23},
  [1134] = {.lex_state = 747, .external_lex_state = 32},
  [1135] = {.lex_state = 77, .external_lex_state = 31},
  [1136] = {.lex_state = 77, .external_lex_state = 31},
  [1137] = {.lex_state = 743, .external_lex_state = 23},
  [1138] = {.lex_state = 737, .external_lex_state = 10},
  [1139] = {.lex_state = 737, .external_lex_state = 10},
  [1140] = {.lex_state = 77, .external_lex_state = 31},
  [1141] = {.lex_state = 77, .external_lex_state = 31},
  [1142] = {.lex_state = 737, .external_lex_state = 10},
  [1143] = {.lex_state = 77, .external_lex_state = 31},
  [1144] = {.lex_state = 77, .external_lex_state = 31},
  [1145] = {.lex_state = 743, .external_lex_state = 33},
  [1146] = {.lex_state = 745, .external_lex_state = 21},
  [1147] = {.lex_state = 745, .external_lex_state = 21},
  [1148] = {.lex_state = 743, .external_lex_state = 34},
  [1149] = {.lex_state = 745, .external_lex_state = 21},
  [1150] = {.lex_state = 737, .external_lex_state = 4},
  [1151] = {.lex_state = 743, .external_lex_state = 34},
  [1152] = {.lex_state = 745, .external_lex_state = 21},
  [1153] = {.lex_state = 745, .external_lex_state = 21},
  [1154] = {.lex_state = 737, .external_lex_state = 10},
  [1155] = {.lex_state = 737, .external_lex_state = 4},
  [1156] = {.lex_state = 737, .external_lex_state = 10},
  [1157] = {.lex_state = 745, .external_lex_state = 21},
  [1158] = {.lex_state = 743, .external_lex_state = 33},
  [1159] = {.lex_state = 737, .external_lex_state = 10},
  [1160] = {.lex_state = 745, .external_lex_state = 21},
  [1161] = {.lex_state = 745, .external_lex_state = 21},
  [1162] = {.lex_state = 745, .external_lex_state = 21},
  [1163] = {.lex_state = 737, .external_lex_state = 10},
  [1164] = {.lex_state = 737, .external_lex_state = 4},
  [1165] = {.lex_state = 737, .external_lex_state = 4},
  [1166] = {.lex_state = 745, .external_lex_state = 21},
  [1167] = {.lex_state = 745, .external_lex_state = 21},
  [1168] = {.lex_state = 745, .external_lex_state = 21},
  [1169] = {.lex_state = 737, .external_lex_state = 4},
  [1170] = {.lex_state = 737, .external_lex_state = 10},
  [1171] = {.lex_state = 737, .external_lex_state = 4},
  [1172] = {.lex_state = 737, .external_lex_state = 4},
  [1173] = {.lex_state = 737, .external_lex_state = 10},
  [1174] = {.lex_state = 745, .external_lex_state = 21},
  [1175] = {.lex_state = 745, .external_lex_state = 21},
  [1176] = {.lex_state = 745, .external_lex_state = 21},
  [1177] = {.lex_state = 737, .external_lex_state = 10},
  [1178] = {.lex_state = 745, .external_lex_state = 21},
  [1179] = {.lex_state = 745, .external_lex_state = 21},
  [1180] = {.lex_state = 745, .external_lex_state = 35},
  [1181] = {.lex_state = 745, .external_lex_state = 22},
  [1182] = {.lex_state = 745, .external_lex_state = 22},
  [1183] = {.lex_state = 745, .external_lex_state = 22},
  [1184] = {.lex_state = 745, .external_lex_state = 21},
  [1185] = {.lex_state = 77, .external_lex_state = 31},
  [1186] = {.lex_state = 745, .external_lex_state = 22},
  [1187] = {.lex_state = 745, .external_lex_state = 22},
  [1188] = {.lex_state = 745, .external_lex_state = 22},
  [1189] = {.lex_state = 737, .external_lex_state = 11},
  [1190] = {.lex_state = 737, .external_lex_state = 11},
  [1191] = {.lex_state = 745, .external_lex_state = 21},
  [1192] = {.lex_state = 737, .external_lex_state = 11},
  [1193] = {.lex_state = 745, .external_lex_state = 21},
  [1194] = {.lex_state = 737, .external_lex_state = 11},
  [1195] = {.lex_state = 745, .external_lex_state = 22},
  [1196] = {.lex_state = 745, .external_lex_state = 22},
  [1197] = {.lex_state = 745, .external_lex_state = 21},
  [1198] = {.lex_state = 745, .external_lex_state = 21},
  [1199] = {.lex_state = 745, .external_lex_state = 21},
  [1200] = {.lex_state = 745, .external_lex_state = 22},
  [1201] = {.lex_state = 745, .external_lex_state = 22},
  [1202] = {.lex_state = 745, .external_lex_state = 35},
  [1203] = {.lex_state = 743, .external_lex_state = 36},
  [1204] = {.lex_state = 77, .external_lex_state = 31},
  [1205] = {.lex_state = 743, .external_lex_state = 36},
  [1206] = {.lex_state = 745, .external_lex_state = 22},
  [1207] = {.lex_state = 737, .external_lex_state = 12},
  [1208] = {.lex_state = 737, .external_lex_state = 12},
  [1209] = {.lex_state = 745, .external_lex_state = 22},
  [1210] = {.lex_state = 745, .external_lex_state = 22},
  [1211] = {.lex_state = 745, .external_lex_state = 22},
  [1212] = {.lex_state = 737, .external_lex_state = 11},
  [1213] = {.lex_state = 737, .external_lex_state = 11},
  [1214] = {.lex_state = 737, .external_lex_state = 12},
  [1215] = {.lex_state = 737, .external_lex_state = 12},
  [1216] = {.lex_state = 745, .external_lex_state = 22},
  [1217] = {.lex_state = 745, .external_lex_state = 21},
  [1218] = {.lex_state = 745, .external_lex_state = 21},
  [1219] = {.lex_state = 737, .external_lex_state = 11},
  [1220] = {.lex_state = 77, .external_lex_state = 31},
  [1221] = {.lex_state = 745, .external_lex_state = 35},
  [1222] = {.lex_state = 747, .external_lex_state = 31},
  [1223] = {.lex_state = 745, .external_lex_state = 35},
  [1224] = {.lex_state = 737, .external_lex_state = 12},
  [1225] = {.lex_state = 745, .external_lex_state = 22},
  [1226] = {.lex_state = 745, .external_lex_state = 22},
  [1227] = {.lex_state = 737, .external_lex_state = 12},
  [1228] = {.lex_state = 747, .external_lex_state = 31},
  [1229] = {.lex_state = 737, .external_lex_state = 12},
  [1230] = {.lex_state = 77, .external_lex_state = 31},
  [1231] = {.lex_state = 745, .external_lex_state = 21},
  [1232] = {.lex_state = 745, .external_lex_state = 21},
  [1233] = {.lex_state = 745, .external_lex_state = 21},
  [1234] = {.lex_state = 745, .external_lex_state = 21},
  [1235] = {.lex_state = 745, .external_lex_state = 21},
  [1236] = {.lex_state = 745, .external_lex_state = 21},
  [1237] = {.lex_state = 745, .external_lex_state = 21},
  [1238] = {.lex_state = 745, .external_lex_state = 21},
  [1239] = {.lex_state = 745, .external_lex_state = 21},
  [1240] = {.lex_state = 745, .external_lex_state = 21},
  [1241] = {.lex_state = 745, .external_lex_state = 21},
  [1242] = {.lex_state = 745, .external_lex_state = 21},
  [1243] = {.lex_state = 745, .external_lex_state = 21},
  [1244] = {.lex_state = 745, .external_lex_state = 21},
  [1245] = {.lex_state = 745, .external_lex_state = 37},
  [1246] = {.lex_state = 745, .external_lex_state = 21},
  [1247] = {.lex_state = 745, .external_lex_state = 21},
  [1248] = {.lex_state = 745, .external_lex_state = 22},
  [1249] = {.lex_state = 745, .external_lex_state = 21},
  [1250] = {.lex_state = 745, .external_lex_state = 21},
  [1251] = {.lex_state = 745, .external_lex_state = 21},
  [1252] = {.lex_state = 745, .external_lex_state = 21},
  [1253] = {.lex_state = 745, .external_lex_state = 21},
  [1254] = {.lex_state = 745, .external_lex_state = 21},
  [1255] = {.lex_state = 745, .external_lex_state = 21},
  [1256] = {.lex_state = 737, .external_lex_state = 13},
  [1257] = {.lex_state = 737, .external_lex_state = 13},
  [1258] = {.lex_state = 745, .external_lex_state = 21},
  [1259] = {.lex_state = 745, .external_lex_state = 21},
  [1260] = {.lex_state = 745, .external_lex_state = 21},
  [1261] = {.lex_state = 745, .external_lex_state = 21},
  [1262] = {.lex_state = 745, .external_lex_state = 21},
  [1263] = {.lex_state = 745, .external_lex_state = 21},
  [1264] = {.lex_state = 745, .external_lex_state = 21},
  [1265] = {.lex_state = 745, .external_lex_state = 21},
  [1266] = {.lex_state = 745, .external_lex_state = 21},
  [1267] = {.lex_state = 745, .external_lex_state = 21},
  [1268] = {.lex_state = 745, .external_lex_state = 21},
  [1269] = {.lex_state = 745, .external_lex_state = 21},
  [1270] = {.lex_state = 745, .external_lex_state = 21},
  [1271] = {.lex_state = 745, .external_lex_state = 21},
  [1272] = {.lex_state = 745, .external_lex_state = 21},
  [1273] = {.lex_state = 77, .external_lex_state = 31},
  [1274] = {.lex_state = 745, .external_lex_state = 21},
  [1275] = {.lex_state = 745, .external_lex_state = 21},
  [1276] = {.lex_state = 745, .external_lex_state = 21},
  [1277] = {.lex_state = 745, .external_lex_state = 21},
  [1278] = {.lex_state = 745, .external_lex_state = 21},
  [1279] = {.lex_state = 745, .external_lex_state = 21},
  [1280] = {.lex_state = 737, .external_lex_state = 13},
  [1281] = {.lex_state = 745, .external_lex_state = 21},
  [1282] = {.lex_state = 745, .external_lex_state = 21},
  [1283] = {.lex_state = 745, .external_lex_state = 21},
  [1284] = {.lex_state = 745, .external_lex_state = 21},
  [1285] = {.lex_state = 745, .external_lex_state = 21},
  [1286] = {.lex_state = 745, .external_lex_state = 21},
  [1287] = {.lex_state = 737, .external_lex_state = 13},
  [1288] = {.lex_state = 737, .external_lex_state = 13},
  [1289] = {.lex_state = 745, .external_lex_state = 21},
  [1290] = {.lex_state = 745, .external_lex_state = 21},
  [1291] = {.lex_state = 745, .external_lex_state = 22},
  [1292] = {.lex_state = 745, .external_lex_state = 22},
  [1293] = {.lex_state = 745, .external_lex_state = 22},
  [1294] = {.lex_state = 745, .external_lex_state = 22},
  [1295] = {.lex_state = 745, .external_lex_state = 21},
  [1296] = {.lex_state = 745, .external_lex_state = 21},
  [1297] = {.lex_state = 745, .external_lex_state = 22},
  [1298] = {.lex_state = 745, .external_lex_state = 21},
  [1299] = {.lex_state = 745, .external_lex_state = 21},
  [1300] = {.lex_state = 745, .external_lex_state = 21},
  [1301] = {.lex_state = 745, .external_lex_state = 22},
  [1302] = {.lex_state = 745, .external_lex_state = 22},
  [1303] = {.lex_state = 745, .external_lex_state = 21},
  [1304] = {.lex_state = 745, .external_lex_state = 21},
  [1305] = {.lex_state = 745, .external_lex_state = 21},
  [1306] = {.lex_state = 745, .external_lex_state = 21},
  [1307] = {.lex_state = 745, .external_lex_state = 37},
  [1308] = {.lex_state = 745, .external_lex_state = 21},
  [1309] = {.lex_state = 745, .external_lex_state = 21},
  [1310] = {.lex_state = 745, .external_lex_state = 21},
  [1311] = {.lex_state = 745, .external_lex_state = 21},
  [1312] = {.lex_state = 745, .external_lex_state = 21},
  [1313] = {.lex_state = 745, .external_lex_state = 21},
  [1314] = {.lex_state = 745, .external_lex_state = 37},
  [1315] = {.lex_state = 745, .external_lex_state = 21},
  [1316] = {.lex_state = 745, .external_lex_state = 21},
  [1317] = {.lex_state = 745, .external_lex_state = 21},
  [1318] = {.lex_state = 737, .external_lex_state = 13},
  [1319] = {.lex_state = 737, .external_lex_state = 13},
  [1320] = {.lex_state = 745, .external_lex_state = 21},
  [1321] = {.lex_state = 745, .external_lex_state = 37},
  [1322] = {.lex_state = 745, .external_lex_state = 21},
  [1323] = {.lex_state = 745, .external_lex_state = 22},
  [1324] = {.lex_state = 745, .external_lex_state = 21},
  [1325] = {.lex_state = 745, .external_lex_state = 21},
  [1326] = {.lex_state = 745, .external_lex_state = 21},
  [1327] = {.lex_state = 745, .external_lex_state = 21},
  [1328] = {.lex_state = 745, .external_lex_state = 21},
  [1329] = {.lex_state = 745, .external_lex_state = 22},
  [1330] = {.lex_state = 745, .external_lex_state = 21},
  [1331] = {.lex_state = 745, .external_lex_state = 21},
  [1332] = {.lex_state = 745, .external_lex_state = 21},
  [1333] = {.lex_state = 745, .external_lex_state = 21},
  [1334] = {.lex_state = 745, .external_lex_state = 21},
  [1335] = {.lex_state = 745, .external_lex_state = 21},
  [1336] = {.lex_state = 745, .external_lex_state = 21},
  [1337] = {.lex_state = 745, .external_lex_state = 21},
  [1338] = {.lex_state = 745, .external_lex_state = 21},
  [1339] = {.lex_state = 745, .external_lex_state = 21},
  [1340] = {.lex_state = 745, .external_lex_state = 21},
  [1341] = {.lex_state = 745, .external_lex_state = 21},
  [1342] = {.lex_state = 77, .external_lex_state = 31},
  [1343] = {.lex_state = 745, .external_lex_state = 22},
  [1344] = {.lex_state = 745, .external_lex_state = 21},
  [1345] = {.lex_state = 745, .external_lex_state = 21},
  [1346] = {.lex_state = 745, .external_lex_state = 21},
  [1347] = {.lex_state = 745, .external_lex_state = 21},
  [1348] = {.lex_state = 745, .external_lex_state = 21},
  [1349] = {.lex_state = 745, .external_lex_state = 21},
  [1350] = {.lex_state = 745, .external_lex_state = 22},
  [1351] = {.lex_state = 745, .external_lex_state = 22},
  [1352] = {.lex_state = 745, .external_lex_state = 22},
  [1353] = {.lex_state = 745, .external_lex_state = 22},
  [1354] = {.lex_state = 745, .external_lex_state = 22},
  [1355] = {.lex_state = 745, .external_lex_state = 22},
  [1356] = {.lex_state = 745, .external_lex_state = 22},
  [1357] = {.lex_state = 745, .external_lex_state = 22},
  [1358] = {.lex_state = 745, .external_lex_state = 22},
  [1359] = {.lex_state = 745, .external_lex_state = 22},
  [1360] = {.lex_state = 745, .external_lex_state = 22},
  [1361] = {.lex_state = 745, .external_lex_state = 22},
  [1362] = {.lex_state = 745, .external_lex_state = 22},
  [1363] = {.lex_state = 745, .external_lex_state = 22},
  [1364] = {.lex_state = 745, .external_lex_state = 22},
  [1365] = {.lex_state = 745, .external_lex_state = 22},
  [1366] = {.lex_state = 745, .external_lex_state = 22},
  [1367] = {.lex_state = 745, .external_lex_state = 22},
  [1368] = {.lex_state = 745, .external_lex_state = 22},
  [1369] = {.lex_state = 745, .external_lex_state = 22},
  [1370] = {.lex_state = 745, .external_lex_state = 22},
  [1371] = {.lex_state = 745, .external_lex_state = 22},
  [1372] = {.lex_state = 745, .external_lex_state = 22},
  [1373] = {.lex_state = 745, .external_lex_state = 22},
  [1374] = {.lex_state = 745, .external_lex_state = 22},
  [1375] = {.lex_state = 745, .external_lex_state = 22},
  [1376] = {.lex_state = 745, .external_lex_state = 22},
  [1377] = {.lex_state = 745, .external_lex_state = 22},
  [1378] = {.lex_state = 745, .external_lex_state = 22},
  [1379] = {.lex_state = 745, .external_lex_state = 22},
  [1380] = {.lex_state = 745, .external_lex_state = 22},
  [1381] = {.lex_state = 745, .external_lex_state = 22},
  [1382] = {.lex_state = 745, .external_lex_state = 22},
  [1383] = {.lex_state = 745, .external_lex_state = 22},
  [1384] = {.lex_state = 745, .external_lex_state = 22},
  [1385] = {.lex_state = 745, .external_lex_state = 22},
  [1386] = {.lex_state = 745, .external_lex_state = 22},
  [1387] = {.lex_state = 745, .external_lex_state = 22},
  [1388] = {.lex_state = 745, .external_lex_state = 22},
  [1389] = {.lex_state = 745, .external_lex_state = 22},
  [1390] = {.lex_state = 745, .external_lex_state = 22},
  [1391] = {.lex_state = 745, .external_lex_state = 22},
  [1392] = {.lex_state = 745, .external_lex_state = 22},
  [1393] = {.lex_state = 745, .external_lex_state = 22},
  [1394] = {.lex_state = 745, .external_lex_state = 22},
  [1395] = {.lex_state = 745, .external_lex_state = 22},
  [1396] = {.lex_state = 745, .external_lex_state = 22},
  [1397] = {.lex_state = 745, .external_lex_state = 22},
  [1398] = {.lex_state = 745, .external_lex_state = 22},
  [1399] = {.lex_state = 745, .external_lex_state = 22},
  [1400] = {.lex_state = 745, .external_lex_state = 22},
  [1401] = {.lex_state = 745, .external_lex_state = 22},
  [1402] = {.lex_state = 745, .external_lex_state = 22},
  [1403] = {.lex_state = 745, .external_lex_state = 22},
  [1404] = {.lex_state = 745, .external_lex_state = 22},
  [1405] = {.lex_state = 745, .external_lex_state = 22},
  [1406] = {.lex_state = 745, .external_lex_state = 22},
  [1407] = {.lex_state = 745, .external_lex_state = 22},
  [1408] = {.lex_state = 745, .external_lex_state = 22},
  [1409] = {.lex_state = 745, .external_lex_state = 22},
  [1410] = {.lex_state = 745, .external_lex_state = 22},
  [1411] = {.lex_state = 745, .external_lex_state = 22},
  [1412] = {.lex_state = 745, .external_lex_state = 22},
  [1413] = {.lex_state = 745, .external_lex_state = 22},
  [1414] = {.lex_state = 745, .external_lex_state = 22},
  [1415] = {.lex_state = 745, .external_lex_state = 22},
  [1416] = {.lex_state = 745, .external_lex_state = 22},
  [1417] = {.lex_state = 745, .external_lex_state = 22},
  [1418] = {.lex_state = 745, .external_lex_state = 22},
  [1419] = {.lex_state = 745, .external_lex_state = 22},
  [1420] = {.lex_state = 745, .external_lex_state = 22},
  [1421] = {.lex_state = 745, .external_lex_state = 22},
  [1422] = {.lex_state = 745, .external_lex_state = 22},
  [1423] = {.lex_state = 745, .external_lex_state = 22},
  [1424] = {.lex_state = 745, .external_lex_state = 22},
  [1425] = {.lex_state = 745, .external_lex_state = 22},
  [1426] = {.lex_state = 77, .external_lex_state = 31},
  [1427] = {.lex_state = 745, .external_lex_state = 22},
  [1428] = {.lex_state = 745, .external_lex_state = 22},
  [1429] = {.lex_state = 745, .external_lex_state = 22},
  [1430] = {.lex_state = 745, .external_lex_state = 22},
  [1431] = {.lex_state = 745, .external_lex_state = 22},
  [1432] = {.lex_state = 745, .external_lex_state = 22},
  [1433] = {.lex_state = 745, .external_lex_state = 22},
  [1434] = {.lex_state = 745, .external_lex_state = 22},
  [1435] = {.lex_state = 745, .external_lex_state = 22},
  [1436] = {.lex_state = 745, .external_lex_state = 22},
  [1437] = {.lex_state = 745, .external_lex_state = 22},
  [1438] = {.lex_state = 745, .external_lex_state = 22},
  [1439] = {.lex_state = 745, .external_lex_state = 22},
  [1440] = {.lex_state = 745, .external_lex_state = 22},
  [1441] = {.lex_state = 745, .external_lex_state = 22},
  [1442] = {.lex_state = 745, .external_lex_state = 22},
  [1443] = {.lex_state = 745, .external_lex_state = 22},
  [1444] = {.lex_state = 745, .external_lex_state = 22},
  [1445] = {.lex_state = 745, .external_lex_state = 22},
  [1446] = {.lex_state = 71, .external_lex_state = 38},
  [1447] = {.lex_state = 71, .external_lex_state = 38},
  [1448] = {.lex_state = 745, .external_lex_state = 22},
  [1449] = {.lex_state = 54, .external_lex_state = 23},
  [1450] = {.lex_state = 71, .external_lex_state = 39},
  [1451] = {.lex_state = 71, .external_lex_state = 39},
  [1452] = {.lex_state = 745, .external_lex_state = 40},
  [1453] = {.lex_state = 71, .external_lex_state = 41},
  [1454] = {.lex_state = 71, .external_lex_state = 41},
  [1455] = {.lex_state = 745, .external_lex_state = 40},
  [1456] = {.lex_state = 745, .external_lex_state = 25},
  [1457] = {.lex_state = 745, .external_lex_state = 25},
  [1458] = {.lex_state = 745, .external_lex_state = 40},
  [1459] = {.lex_state = 745, .external_lex_state = 40},
  [1460] = {.lex_state = 745, .external_lex_state = 40},
  [1461] = {.lex_state = 745, .external_lex_state = 40},
  [1462] = {.lex_state = 745, .external_lex_state = 40},
  [1463] = {.lex_state = 745, .external_lex_state = 40},
  [1464] = {.lex_state = 745, .external_lex_state = 40},
  [1465] = {.lex_state = 745, .external_lex_state = 40},
  [1466] = {.lex_state = 745, .external_lex_state = 40},
  [1467] = {.lex_state = 745, .external_lex_state = 25},
  [1468] = {.lex_state = 7, .external_lex_state = 42},
  [1469] = {.lex_state = 745, .external_lex_state = 25},
  [1470] = {.lex_state = 745, .external_lex_state = 25},
  [1471] = {.lex_state = 745, .external_lex_state = 25},
  [1472] = {.lex_state = 745, .external_lex_state = 25},
  [1473] = {.lex_state = 745, .external_lex_state = 25},
  [1474] = {.lex_state = 745, .external_lex_state = 25},
  [1475] = {.lex_state = 745, .external_lex_state = 25},
  [1476] = {.lex_state = 745, .external_lex_state = 18},
  [1477] = {.lex_state = 745, .external_lex_state = 25},
  [1478] = {.lex_state = 745, .external_lex_state = 25},
  [1479] = {.lex_state = 745, .external_lex_state = 25},
  [1480] = {.lex_state = 745, .external_lex_state = 25},
  [1481] = {.lex_state = 745, .external_lex_state = 25},
  [1482] = {.lex_state = 13, .external_lex_state = 2},
  [1483] = {.lex_state = 745, .external_lex_state = 18},
  [1484] = {.lex_state = 745, .external_lex_state = 25},
  [1485] = {.lex_state = 745, .external_lex_state = 18},
  [1486] = {.lex_state = 745, .external_lex_state = 18},
  [1487] = {.lex_state = 745, .external_lex_state = 18},
  [1488] = {.lex_state = 13, .external_lex_state = 2},
  [1489] = {.lex_state = 745, .external_lex_state = 43},
  [1490] = {.lex_state = 745, .external_lex_state = 25},
  [1491] = {.lex_state = 745, .external_lex_state = 25},
  [1492] = {.lex_state = 745, .external_lex_state = 18},
  [1493] = {.lex_state = 745, .external_lex_state = 18},
  [1494] = {.lex_state = 745, .external_lex_state = 25},
  [1495] = {.lex_state = 71, .external_lex_state = 44},
  [1496] = {.lex_state = 745, .external_lex_state = 45},
  [1497] = {.lex_state = 13, .external_lex_state = 2},
  [1498] = {.lex_state = 745, .external_lex_state = 25},
  [1499] = {.lex_state = 745, .external_lex_state = 25},
  [1500] = {.lex_state = 745, .external_lex_state = 18},
  [1501] = {.lex_state = 13, .external_lex_state = 2},
  [1502] = {.lex_state = 745, .external_lex_state = 18},
  [1503] = {.lex_state = 745, .external_lex_state = 40},
  [1504] = {.lex_state = 745, .external_lex_state = 25},
  [1505] = {.lex_state = 745, .external_lex_state = 25},
  [1506] = {.lex_state = 745, .external_lex_state = 18},
  [1507] = {.lex_state = 745, .external_lex_state = 18},
  [1508] = {.lex_state = 745, .external_lex_state = 18},
  [1509] = {.lex_state = 13, .external_lex_state = 2},
  [1510] = {.lex_state = 745, .external_lex_state = 43},
  [1511] = {.lex_state = 745, .external_lex_state = 25},
  [1512] = {.lex_state = 745, .external_lex_state = 18},
  [1513] = {.lex_state = 13, .external_lex_state = 2},
  [1514] = {.lex_state = 745, .external_lex_state = 18},
  [1515] = {.lex_state = 71, .external_lex_state = 44},
  [1516] = {.lex_state = 745, .external_lex_state = 18},
  [1517] = {.lex_state = 745, .external_lex_state = 25},
  [1518] = {.lex_state = 13, .external_lex_state = 2},
  [1519] = {.lex_state = 745, .external_lex_state = 18},
  [1520] = {.lex_state = 745, .external_lex_state = 18},
  [1521] = {.lex_state = 745, .external_lex_state = 18},
  [1522] = {.lex_state = 745, .external_lex_state = 18},
  [1523] = {.lex_state = 745, .external_lex_state = 18},
  [1524] = {.lex_state = 745, .external_lex_state = 43},
  [1525] = {.lex_state = 745, .external_lex_state = 45},
  [1526] = {.lex_state = 745, .external_lex_state = 45},
  [1527] = {.lex_state = 745, .external_lex_state = 45},
  [1528] = {.lex_state = 745, .external_lex_state = 45},
  [1529] = {.lex_state = 745, .external_lex_state = 45},
  [1530] = {.lex_state = 745, .external_lex_state = 18},
  [1531] = {.lex_state = 745, .external_lex_state = 18},
  [1532] = {.lex_state = 745, .external_lex_state = 18},
  [1533] = {.lex_state = 745, .external_lex_state = 18},
  [1534] = {.lex_state = 745, .external_lex_state = 18},
  [1535] = {.lex_state = 745, .external_lex_state = 25},
  [1536] = {.lex_state = 745, .external_lex_state = 45},
  [1537] = {.lex_state = 71, .external_lex_state = 46},
  [1538] = {.lex_state = 745, .external_lex_state = 18},
  [1539] = {.lex_state = 745, .external_lex_state = 18},
  [1540] = {.lex_state = 745, .external_lex_state = 18},
  [1541] = {.lex_state = 745, .external_lex_state = 45},
  [1542] = {.lex_state = 745, .external_lex_state = 18},
  [1543] = {.lex_state = 745, .external_lex_state = 18},
  [1544] = {.lex_state = 745, .external_lex_state = 18},
  [1545] = {.lex_state = 745, .external_lex_state = 18},
  [1546] = {.lex_state = 745, .external_lex_state = 18},
  [1547] = {.lex_state = 745, .external_lex_state = 18},
  [1548] = {.lex_state = 745, .external_lex_state = 18},
  [1549] = {.lex_state = 745, .external_lex_state = 18},
  [1550] = {.lex_state = 745, .external_lex_state = 18},
  [1551] = {.lex_state = 745, .external_lex_state = 45},
  [1552] = {.lex_state = 745, .external_lex_state = 18},
  [1553] = {.lex_state = 745, .external_lex_state = 18},
  [1554] = {.lex_state = 745, .external_lex_state = 18},
  [1555] = {.lex_state = 745, .external_lex_state = 18},
  [1556] = {.lex_state = 745, .external_lex_state = 18},
  [1557] = {.lex_state = 745, .external_lex_state = 18},
  [1558] = {.lex_state = 745, .external_lex_state = 18},
  [1559] = {.lex_state = 13, .external_lex_state = 2},
  [1560] = {.lex_state = 745, .external_lex_state = 25},
  [1561] = {.lex_state = 745, .external_lex_state = 18},
  [1562] = {.lex_state = 745, .external_lex_state = 18},
  [1563] = {.lex_state = 745, .external_lex_state = 18},
  [1564] = {.lex_state = 745, .external_lex_state = 45},
  [1565] = {.lex_state = 745, .external_lex_state = 45},
  [1566] = {.lex_state = 745, .external_lex_state = 45},
  [1567] = {.lex_state = 745, .external_lex_state = 43},
  [1568] = {.lex_state = 745, .external_lex_state = 43},
  [1569] = {.lex_state = 745, .external_lex_state = 18},
  [1570] = {.lex_state = 745, .external_lex_state = 18},
  [1571] = {.lex_state = 745, .external_lex_state = 43},
  [1572] = {.lex_state = 745, .external_lex_state = 18},
  [1573] = {.lex_state = 745, .external_lex_state = 18},
  [1574] = {.lex_state = 745, .external_lex_state = 43},
  [1575] = {.lex_state = 745, .external_lex_state = 43},
  [1576] = {.lex_state = 745, .external_lex_state = 18},
  [1577] = {.lex_state = 745, .external_lex_state = 18},
  [1578] = {.lex_state = 745, .external_lex_state = 43},
  [1579] = {.lex_state = 745, .external_lex_state = 24},
  [1580] = {.lex_state = 745, .external_lex_state = 18},
  [1581] = {.lex_state = 745, .external_lex_state = 18},
  [1582] = {.lex_state = 745, .external_lex_state = 18},
  [1583] = {.lex_state = 745, .external_lex_state = 18},
  [1584] = {.lex_state = 745, .external_lex_state = 18},
  [1585] = {.lex_state = 745, .external_lex_state = 18},
  [1586] = {.lex_state = 745, .external_lex_state = 25},
  [1587] = {.lex_state = 745, .external_lex_state = 43},
  [1588] = {.lex_state = 745, .external_lex_state = 43},
  [1589] = {.lex_state = 71, .external_lex_state = 46},
  [1590] = {.lex_state = 745, .external_lex_state = 18},
  [1591] = {.lex_state = 745, .external_lex_state = 18},
  [1592] = {.lex_state = 745, .external_lex_state = 18},
  [1593] = {.lex_state = 745, .external_lex_state = 18},
  [1594] = {.lex_state = 745, .external_lex_state = 24},
  [1595] = {.lex_state = 13, .external_lex_state = 2},
  [1596] = {.lex_state = 13, .external_lex_state = 2},
  [1597] = {.lex_state = 745, .external_lex_state = 18},
  [1598] = {.lex_state = 745, .external_lex_state = 24},
  [1599] = {.lex_state = 745, .external_lex_state = 24},
  [1600] = {.lex_state = 745, .external_lex_state = 18},
  [1601] = {.lex_state = 745, .external_lex_state = 18},
  [1602] = {.lex_state = 745, .external_lex_state = 18},
  [1603] = {.lex_state = 13, .external_lex_state = 2},
  [1604] = {.lex_state = 745, .external_lex_state = 24},
  [1605] = {.lex_state = 13, .external_lex_state = 2},
  [1606] = {.lex_state = 745, .external_lex_state = 24},
  [1607] = {.lex_state = 13, .external_lex_state = 2},
  [1608] = {.lex_state = 13, .external_lex_state = 2},
  [1609] = {.lex_state = 745, .external_lex_state = 24},
  [1610] = {.lex_state = 745, .external_lex_state = 18},
  [1611] = {.lex_state = 745, .external_lex_state = 18},
  [1612] = {.lex_state = 745, .external_lex_state = 24},
  [1613] = {.lex_state = 745, .external_lex_state = 24},
  [1614] = {.lex_state = 745, .external_lex_state = 18},
  [1615] = {.lex_state = 745, .external_lex_state = 24},
  [1616] = {.lex_state = 13, .external_lex_state = 2},
  [1617] = {.lex_state = 745, .external_lex_state = 24},
  [1618] = {.lex_state = 13, .external_lex_state = 2},
  [1619] = {.lex_state = 745, .external_lex_state = 18},
  [1620] = {.lex_state = 13, .external_lex_state = 2},
  [1621] = {.lex_state = 745, .external_lex_state = 18},
  [1622] = {.lex_state = 745, .external_lex_state = 24},
  [1623] = {.lex_state = 13, .external_lex_state = 2},
  [1624] = {.lex_state = 13, .external_lex_state = 2},
  [1625] = {.lex_state = 745, .external_lex_state = 18},
  [1626] = {.lex_state = 745, .external_lex_state = 18},
  [1627] = {.lex_state = 745, .external_lex_state = 18},
  [1628] = {.lex_state = 745, .external_lex_state = 18},
  [1629] = {.lex_state = 745, .external_lex_state = 18},
  [1630] = {.lex_state = 745, .external_lex_state = 18},
  [1631] = {.lex_state = 745, .external_lex_state = 18},
  [1632] = {.lex_state = 745, .external_lex_state = 45},
  [1633] = {.lex_state = 745, .external_lex_state = 45},
  [1634] = {.lex_state = 745, .external_lex_state = 18},
  [1635] = {.lex_state = 13, .external_lex_state = 2},
  [1636] = {.lex_state = 745, .external_lex_state = 18},
  [1637] = {.lex_state = 745, .external_lex_state = 18},
  [1638] = {.lex_state = 745, .external_lex_state = 18},
  [1639] = {.lex_state = 745, .external_lex_state = 18},
  [1640] = {.lex_state = 745, .external_lex_state = 18},
  [1641] = {.lex_state = 745, .external_lex_state = 18},
  [1642] = {.lex_state = 745, .external_lex_state = 18},
  [1643] = {.lex_state = 745, .external_lex_state = 18},
  [1644] = {.lex_state = 13, .external_lex_state = 2},
  [1645] = {.lex_state = 745, .external_lex_state = 18},
  [1646] = {.lex_state = 745, .external_lex_state = 18},
  [1647] = {.lex_state = 745, .external_lex_state = 18},
  [1648] = {.lex_state = 745, .external_lex_state = 18},
  [1649] = {.lex_state = 745, .external_lex_state = 18},
  [1650] = {.lex_state = 745, .external_lex_state = 18},
  [1651] = {.lex_state = 745, .external_lex_state = 18},
  [1652] = {.lex_state = 745, .external_lex_state = 18},
  [1653] = {.lex_state = 745, .external_lex_state = 18},
  [1654] = {.lex_state = 745, .external_lex_state = 18},
  [1655] = {.lex_state = 745, .external_lex_state = 18},
  [1656] = {.lex_state = 745, .external_lex_state = 18},
  [1657] = {.lex_state = 745, .external_lex_state = 18},
  [1658] = {.lex_state = 745, .external_lex_state = 18},
  [1659] = {.lex_state = 745, .external_lex_state = 18},
  [1660] = {.lex_state = 745, .external_lex_state = 18},
  [1661] = {.lex_state = 745, .external_lex_state = 18},
  [1662] = {.lex_state = 745, .external_lex_state = 18},
  [1663] = {.lex_state = 745, .external_lex_state = 18},
  [1664] = {.lex_state = 745, .external_lex_state = 18},
  [1665] = {.lex_state = 745, .external_lex_state = 18},
  [1666] = {.lex_state = 745, .external_lex_state = 18},
  [1667] = {.lex_state = 745, .external_lex_state = 18},
  [1668] = {.lex_state = 745, .external_lex_state = 18},
  [1669] = {.lex_state = 745, .external_lex_state = 18},
  [1670] = {.lex_state = 745, .external_lex_state = 18},
  [1671] = {.lex_state = 745, .external_lex_state = 18},
  [1672] = {.lex_state = 745, .external_lex_state = 18},
  [1673] = {.lex_state = 745, .external_lex_state = 18},
  [1674] = {.lex_state = 745, .external_lex_state = 18},
  [1675] = {.lex_state = 745, .external_lex_state = 18},
  [1676] = {.lex_state = 745, .external_lex_state = 18},
  [1677] = {.lex_state = 745, .external_lex_state = 18},
  [1678] = {.lex_state = 745, .external_lex_state = 18},
  [1679] = {.lex_state = 745, .external_lex_state = 18},
  [1680] = {.lex_state = 745, .external_lex_state = 18},
  [1681] = {.lex_state = 745, .external_lex_state = 18},
  [1682] = {.lex_state = 745, .external_lex_state = 18},
  [1683] = {.lex_state = 8, .external_lex_state = 17},
  [1684] = {.lex_state = 39, .external_lex_state = 17},
  [1685] = {.lex_state = 77, .external_lex_state = 31},
  [1686] = {.lex_state = 77, .external_lex_state = 31},
  [1687] = {.lex_state = 741, .external_lex_state = 40},
  [1688] = {.lex_state = 56, .external_lex_state = 23},
  [1689] = {.lex_state = 77, .external_lex_state = 31},
  [1690] = {.lex_state = 77, .external_lex_state = 31},
  [1691] = {.lex_state = 77, .external_lex_state = 31},
  [1692] = {.lex_state = 741, .external_lex_state = 25},
  [1693] = {.lex_state = 56, .external_lex_state = 23},
  [1694] = {.lex_state = 741, .external_lex_state = 25},
  [1695] = {.lex_state = 77, .external_lex_state = 31},
  [1696] = {.lex_state = 55, .external_lex_state = 23},
  [1697] = {.lex_state = 741, .external_lex_state = 18},
  [1698] = {.lex_state = 741, .external_lex_state = 43},
  [1699] = {.lex_state = 741, .external_lex_state = 45},
  [1700] = {.lex_state = 741, .external_lex_state = 24},
  [1701] = {.lex_state = 741, .external_lex_state = 40},
  [1702] = {.lex_state = 741, .external_lex_state = 40},
  [1703] = {.lex_state = 741, .external_lex_state = 40},
  [1704] = {.lex_state = 56, .external_lex_state = 23},
  [1705] = {.lex_state = 77, .external_lex_state = 47},
  [1706] = {.lex_state = 741, .external_lex_state = 25},
  [1707] = {.lex_state = 741, .external_lex_state = 25},
  [1708] = {.lex_state = 68, .external_lex_state = 25},
  [1709] = {.lex_state = 741, .external_lex_state = 25},
  [1710] = {.lex_state = 749, .external_lex_state = 47},
  [1711] = {.lex_state = 741, .external_lex_state = 18},
  [1712] = {.lex_state = 77, .external_lex_state = 26},
  [1713] = {.lex_state = 741, .external_lex_state = 25},
  [1714] = {.lex_state = 741, .external_lex_state = 18},
  [1715] = {.lex_state = 749, .external_lex_state = 47},
  [1716] = {.lex_state = 77, .external_lex_state = 48},
  [1717] = {.lex_state = 77, .external_lex_state = 26},
  [1718] = {.lex_state = 749, .external_lex_state = 47},
  [1719] = {.lex_state = 77, .external_lex_state = 26},
  [1720] = {.lex_state = 741, .external_lex_state = 25},
  [1721] = {.lex_state = 741, .external_lex_state = 18},
  [1722] = {.lex_state = 749, .external_lex_state = 47},
  [1723] = {.lex_state = 77, .external_lex_state = 26},
  [1724] = {.lex_state = 741, .external_lex_state = 25},
  [1725] = {.lex_state = 749, .external_lex_state = 47},
  [1726] = {.lex_state = 749, .external_lex_state = 47},
  [1727] = {.lex_state = 749, .external_lex_state = 47},
  [1728] = {.lex_state = 741, .external_lex_state = 25},
  [1729] = {.lex_state = 741, .external_lex_state = 45},
  [1730] = {.lex_state = 77, .external_lex_state = 28},
  [1731] = {.lex_state = 741, .external_lex_state = 43},
  [1732] = {.lex_state = 77, .external_lex_state = 31},
  [1733] = {.lex_state = 741, .external_lex_state = 45},
  [1734] = {.lex_state = 77, .external_lex_state = 26},
  [1735] = {.lex_state = 741, .external_lex_state = 43},
  [1736] = {.lex_state = 741, .external_lex_state = 43},
  [1737] = {.lex_state = 77, .external_lex_state = 28},
  [1738] = {.lex_state = 77, .external_lex_state = 47},
  [1739] = {.lex_state = 741, .external_lex_state = 18},
  [1740] = {.lex_state = 77, .external_lex_state = 49},
  [1741] = {.lex_state = 77, .external_lex_state = 47},
  [1742] = {.lex_state = 741, .external_lex_state = 45},
  [1743] = {.lex_state = 77, .external_lex_state = 47},
  [1744] = {.lex_state = 77, .external_lex_state = 50},
  [1745] = {.lex_state = 77, .external_lex_state = 48},
  [1746] = {.lex_state = 77, .external_lex_state = 26},
  [1747] = {.lex_state = 77, .external_lex_state = 48},
  [1748] = {.lex_state = 741, .external_lex_state = 40},
  [1749] = {.lex_state = 77, .external_lex_state = 48},
  [1750] = {.lex_state = 77, .external_lex_state = 27},
  [1751] = {.lex_state = 77, .external_lex_state = 48},
  [1752] = {.lex_state = 741, .external_lex_state = 40},
  [1753] = {.lex_state = 77, .external_lex_state = 26},
  [1754] = {.lex_state = 741, .external_lex_state = 24},
  [1755] = {.lex_state = 77, .external_lex_state = 48},
  [1756] = {.lex_state = 77, .external_lex_state = 26},
  [1757] = {.lex_state = 77, .external_lex_state = 27},
  [1758] = {.lex_state = 77, .external_lex_state = 27},
  [1759] = {.lex_state = 77, .external_lex_state = 26},
  [1760] = {.lex_state = 77, .external_lex_state = 48},
  [1761] = {.lex_state = 77, .external_lex_state = 48},
  [1762] = {.lex_state = 77, .external_lex_state = 26},
  [1763] = {.lex_state = 741, .external_lex_state = 40},
  [1764] = {.lex_state = 741, .external_lex_state = 24},
  [1765] = {.lex_state = 741, .external_lex_state = 40},
  [1766] = {.lex_state = 77, .external_lex_state = 49},
  [1767] = {.lex_state = 741, .external_lex_state = 40},
  [1768] = {.lex_state = 741, .external_lex_state = 40},
  [1769] = {.lex_state = 77, .external_lex_state = 27},
  [1770] = {.lex_state = 77, .external_lex_state = 49},
  [1771] = {.lex_state = 77, .external_lex_state = 26},
  [1772] = {.lex_state = 77, .external_lex_state = 49},
  [1773] = {.lex_state = 741, .external_lex_state = 24},
  [1774] = {.lex_state = 741, .external_lex_state = 25},
  [1775] = {.lex_state = 77, .external_lex_state = 48},
  [1776] = {.lex_state = 77, .external_lex_state = 47},
  [1777] = {.lex_state = 77, .external_lex_state = 49},
  [1778] = {.lex_state = 77, .external_lex_state = 47},
  [1779] = {.lex_state = 77, .external_lex_state = 49},
  [1780] = {.lex_state = 77, .external_lex_state = 47},
  [1781] = {.lex_state = 77, .external_lex_state = 47},
  [1782] = {.lex_state = 741, .external_lex_state = 25},
  [1783] = {.lex_state = 77, .external_lex_state = 47},
  [1784] = {.lex_state = 77, .external_lex_state = 47},
  [1785] = {.lex_state = 77, .external_lex_state = 28},
  [1786] = {.lex_state = 77, .external_lex_state = 31},
  [1787] = {.lex_state = 77, .external_lex_state = 48},
  [1788] = {.lex_state = 77, .external_lex_state = 28},
  [1789] = {.lex_state = 77, .external_lex_state = 47},
  [1790] = {.lex_state = 77, .external_lex_state = 28},
  [1791] = {.lex_state = 741, .external_lex_state = 25},
  [1792] = {.lex_state = 77, .external_lex_state = 47},
  [1793] = {.lex_state = 77, .external_lex_state = 49},
  [1794] = {.lex_state = 77, .external_lex_state = 28},
  [1795] = {.lex_state = 749, .external_lex_state = 47},
  [1796] = {.lex_state = 77, .external_lex_state = 49},
  [1797] = {.lex_state = 77, .external_lex_state = 28},
  [1798] = {.lex_state = 77, .external_lex_state = 28},
  [1799] = {.lex_state = 77, .external_lex_state = 48},
  [1800] = {.lex_state = 741, .external_lex_state = 25},
  [1801] = {.lex_state = 77, .external_lex_state = 47},
  [1802] = {.lex_state = 749, .external_lex_state = 47},
  [1803] = {.lex_state = 77, .external_lex_state = 28},
  [1804] = {.lex_state = 77, .external_lex_state = 47},
  [1805] = {.lex_state = 741, .external_lex_state = 18},
  [1806] = {.lex_state = 77, .external_lex_state = 27},
  [1807] = {.lex_state = 741, .external_lex_state = 25},
  [1808] = {.lex_state = 77, .external_lex_state = 49},
  [1809] = {.lex_state = 77, .external_lex_state = 49},
  [1810] = {.lex_state = 77, .external_lex_state = 28},
  [1811] = {.lex_state = 741, .external_lex_state = 25},
  [1812] = {.lex_state = 77, .external_lex_state = 28},
  [1813] = {.lex_state = 77, .external_lex_state = 49},
  [1814] = {.lex_state = 77, .external_lex_state = 49},
  [1815] = {.lex_state = 741, .external_lex_state = 25},
  [1816] = {.lex_state = 749, .external_lex_state = 47},
  [1817] = {.lex_state = 749, .external_lex_state = 47},
  [1818] = {.lex_state = 77, .external_lex_state = 49},
  [1819] = {.lex_state = 77, .external_lex_state = 50},
  [1820] = {.lex_state = 741, .external_lex_state = 18},
  [1821] = {.lex_state = 77, .external_lex_state = 50},
  [1822] = {.lex_state = 77, .external_lex_state = 50},
  [1823] = {.lex_state = 77, .external_lex_state = 49},
  [1824] = {.lex_state = 745, .external_lex_state = 29},
  [1825] = {.lex_state = 741, .external_lex_state = 18},
  [1826] = {.lex_state = 749, .external_lex_state = 47},
  [1827] = {.lex_state = 77, .external_lex_state = 50},
  [1828] = {.lex_state = 77, .external_lex_state = 50},
  [1829] = {.lex_state = 741, .external_lex_state = 25},
  [1830] = {.lex_state = 77, .external_lex_state = 50},
  [1831] = {.lex_state = 77, .external_lex_state = 50},
  [1832] = {.lex_state = 741, .external_lex_state = 18},
  [1833] = {.lex_state = 749, .external_lex_state = 47},
  [1834] = {.lex_state = 77, .external_lex_state = 30},
  [1835] = {.lex_state = 77, .external_lex_state = 49},
  [1836] = {.lex_state = 741, .external_lex_state = 18},
  [1837] = {.lex_state = 77, .external_lex_state = 30},
  [1838] = {.lex_state = 741, .external_lex_state = 18},
  [1839] = {.lex_state = 77, .external_lex_state = 30},
  [1840] = {.lex_state = 77, .external_lex_state = 49},
  [1841] = {.lex_state = 77, .external_lex_state = 49},
  [1842] = {.lex_state = 77, .external_lex_state = 49},
  [1843] = {.lex_state = 741, .external_lex_state = 25},
  [1844] = {.lex_state = 749, .external_lex_state = 47},
  [1845] = {.lex_state = 77, .external_lex_state = 30},
  [1846] = {.lex_state = 741, .external_lex_state = 18},
  [1847] = {.lex_state = 77, .external_lex_state = 49},
  [1848] = {.lex_state = 77, .external_lex_state = 49},
  [1849] = {.lex_state = 77, .external_lex_state = 27},
  [1850] = {.lex_state = 77, .external_lex_state = 49},
  [1851] = {.lex_state = 741, .external_lex_state = 25},
  [1852] = {.lex_state = 749, .external_lex_state = 47},
  [1853] = {.lex_state = 741, .external_lex_state = 18},
  [1854] = {.lex_state = 741, .external_lex_state = 25},
  [1855] = {.lex_state = 741, .external_lex_state = 25},
  [1856] = {.lex_state = 77, .external_lex_state = 27},
  [1857] = {.lex_state = 77, .external_lex_state = 27},
  [1858] = {.lex_state = 77, .external_lex_state = 27},
  [1859] = {.lex_state = 741, .external_lex_state = 25},
  [1860] = {.lex_state = 77, .external_lex_state = 27},
  [1861] = {.lex_state = 77, .external_lex_state = 27},
  [1862] = {.lex_state = 77, .external_lex_state = 51},
  [1863] = {.lex_state = 77, .external_lex_state = 49},
  [1864] = {.lex_state = 77, .external_lex_state = 50},
  [1865] = {.lex_state = 741, .external_lex_state = 45},
  [1866] = {.lex_state = 77, .external_lex_state = 48},
  [1867] = {.lex_state = 741, .external_lex_state = 43},
  [1868] = {.lex_state = 741, .external_lex_state = 43},
  [1869] = {.lex_state = 745, .external_lex_state = 29},
  [1870] = {.lex_state = 745, .external_lex_state = 29},
  [1871] = {.lex_state = 741, .external_lex_state = 43},
  [1872] = {.lex_state = 745, .external_lex_state = 29},
  [1873] = {.lex_state = 77, .external_lex_state = 48},
  [1874] = {.lex_state = 77, .external_lex_state = 48},
  [1875] = {.lex_state = 77, .external_lex_state = 48},
  [1876] = {.lex_state = 77, .external_lex_state = 48},
  [1877] = {.lex_state = 77, .external_lex_state = 52},
  [1878] = {.lex_state = 77, .external_lex_state = 48},
  [1879] = {.lex_state = 77, .external_lex_state = 50},
  [1880] = {.lex_state = 741, .external_lex_state = 45},
  [1881] = {.lex_state = 77, .external_lex_state = 48},
  [1882] = {.lex_state = 745, .external_lex_state = 29},
  [1883] = {.lex_state = 745, .external_lex_state = 29},
  [1884] = {.lex_state = 77, .external_lex_state = 48},
  [1885] = {.lex_state = 745, .external_lex_state = 29},
  [1886] = {.lex_state = 77, .external_lex_state = 51},
  [1887] = {.lex_state = 741, .external_lex_state = 45},
  [1888] = {.lex_state = 77, .external_lex_state = 53},
  [1889] = {.lex_state = 741, .external_lex_state = 45},
  [1890] = {.lex_state = 77, .external_lex_state = 51},
  [1891] = {.lex_state = 77, .external_lex_state = 51},
  [1892] = {.lex_state = 77, .external_lex_state = 48},
  [1893] = {.lex_state = 77, .external_lex_state = 51},
  [1894] = {.lex_state = 77, .external_lex_state = 51},
  [1895] = {.lex_state = 77, .external_lex_state = 51},
  [1896] = {.lex_state = 77, .external_lex_state = 48},
  [1897] = {.lex_state = 741, .external_lex_state = 43},
  [1898] = {.lex_state = 77, .external_lex_state = 51},
  [1899] = {.lex_state = 741, .external_lex_state = 45},
  [1900] = {.lex_state = 77, .external_lex_state = 48},
  [1901] = {.lex_state = 741, .external_lex_state = 45},
  [1902] = {.lex_state = 745, .external_lex_state = 23},
  [1903] = {.lex_state = 77, .external_lex_state = 51},
  [1904] = {.lex_state = 745, .external_lex_state = 29},
  [1905] = {.lex_state = 77, .external_lex_state = 30},
  [1906] = {.lex_state = 77, .external_lex_state = 51},
  [1907] = {.lex_state = 77, .external_lex_state = 49},
  [1908] = {.lex_state = 77, .external_lex_state = 50},
  [1909] = {.lex_state = 77, .external_lex_state = 49},
  [1910] = {.lex_state = 741, .external_lex_state = 43},
  [1911] = {.lex_state = 77, .external_lex_state = 49},
  [1912] = {.lex_state = 77, .external_lex_state = 48},
  [1913] = {.lex_state = 741, .external_lex_state = 43},
  [1914] = {.lex_state = 77, .external_lex_state = 49},
  [1915] = {.lex_state = 77, .external_lex_state = 49},
  [1916] = {.lex_state = 77, .external_lex_state = 51},
  [1917] = {.lex_state = 77, .external_lex_state = 51},
  [1918] = {.lex_state = 745, .external_lex_state = 17},
  [1919] = {.lex_state = 77, .external_lex_state = 30},
  [1920] = {.lex_state = 77, .external_lex_state = 30},
  [1921] = {.lex_state = 741, .external_lex_state = 24},
  [1922] = {.lex_state = 77, .external_lex_state = 49},
  [1923] = {.lex_state = 77, .external_lex_state = 30},
  [1924] = {.lex_state = 77, .external_lex_state = 30},
  [1925] = {.lex_state = 745, .external_lex_state = 23},
  [1926] = {.lex_state = 77, .external_lex_state = 48},
  [1927] = {.lex_state = 77, .external_lex_state = 30},
  [1928] = {.lex_state = 77, .external_lex_state = 30},
  [1929] = {.lex_state = 745, .external_lex_state = 23},
  [1930] = {.lex_state = 745, .external_lex_state = 23},
  [1931] = {.lex_state = 745, .external_lex_state = 23},
  [1932] = {.lex_state = 745, .external_lex_state = 23},
  [1933] = {.lex_state = 741, .external_lex_state = 24},
  [1934] = {.lex_state = 77, .external_lex_state = 48},
  [1935] = {.lex_state = 745, .external_lex_state = 23},
  [1936] = {.lex_state = 77, .external_lex_state = 48},
  [1937] = {.lex_state = 741, .external_lex_state = 24},
  [1938] = {.lex_state = 741, .external_lex_state = 24},
  [1939] = {.lex_state = 741, .external_lex_state = 24},
  [1940] = {.lex_state = 745, .external_lex_state = 23},
  [1941] = {.lex_state = 77, .external_lex_state = 48},
  [1942] = {.lex_state = 741, .external_lex_state = 24},
  [1943] = {.lex_state = 77, .external_lex_state = 48},
  [1944] = {.lex_state = 745, .external_lex_state = 23},
  [1945] = {.lex_state = 77, .external_lex_state = 49},
  [1946] = {.lex_state = 77, .external_lex_state = 48},
  [1947] = {.lex_state = 745, .external_lex_state = 23},
  [1948] = {.lex_state = 745, .external_lex_state = 23},
  [1949] = {.lex_state = 77, .external_lex_state = 50},
  [1950] = {.lex_state = 745, .external_lex_state = 23},
  [1951] = {.lex_state = 749, .external_lex_state = 54},
  [1952] = {.lex_state = 745, .external_lex_state = 17},
  [1953] = {.lex_state = 745, .external_lex_state = 29},
  [1954] = {.lex_state = 77, .external_lex_state = 50},
  [1955] = {.lex_state = 745, .external_lex_state = 33},
  [1956] = {.lex_state = 745, .external_lex_state = 29},
  [1957] = {.lex_state = 77, .external_lex_state = 53},
  [1958] = {.lex_state = 77, .external_lex_state = 50},
  [1959] = {.lex_state = 745, .external_lex_state = 23},
  [1960] = {.lex_state = 77, .external_lex_state = 50},
  [1961] = {.lex_state = 77, .external_lex_state = 50},
  [1962] = {.lex_state = 77, .external_lex_state = 52},
  [1963] = {.lex_state = 745, .external_lex_state = 29},
  [1964] = {.lex_state = 745, .external_lex_state = 29},
  [1965] = {.lex_state = 77, .external_lex_state = 50},
  [1966] = {.lex_state = 745, .external_lex_state = 34},
  [1967] = {.lex_state = 77, .external_lex_state = 50},
  [1968] = {.lex_state = 745, .external_lex_state = 17},
  [1969] = {.lex_state = 745, .external_lex_state = 23},
  [1970] = {.lex_state = 745, .external_lex_state = 17},
  [1971] = {.lex_state = 745, .external_lex_state = 17},
  [1972] = {.lex_state = 77, .external_lex_state = 52},
  [1973] = {.lex_state = 77, .external_lex_state = 50},
  [1974] = {.lex_state = 77, .external_lex_state = 50},
  [1975] = {.lex_state = 745, .external_lex_state = 17},
  [1976] = {.lex_state = 745, .external_lex_state = 29},
  [1977] = {.lex_state = 745, .external_lex_state = 29},
  [1978] = {.lex_state = 745, .external_lex_state = 23},
  [1979] = {.lex_state = 745, .external_lex_state = 23},
  [1980] = {.lex_state = 745, .external_lex_state = 17},
  [1981] = {.lex_state = 745, .external_lex_state = 17},
  [1982] = {.lex_state = 77, .external_lex_state = 50},
  [1983] = {.lex_state = 77, .external_lex_state = 50},
  [1984] = {.lex_state = 77, .external_lex_state = 50},
  [1985] = {.lex_state = 745, .external_lex_state = 34},
  [1986] = {.lex_state = 745, .external_lex_state = 33},
  [1987] = {.lex_state = 77, .external_lex_state = 50},
  [1988] = {.lex_state = 77, .external_lex_state = 50},
  [1989] = {.lex_state = 745, .external_lex_state = 29},
  [1990] = {.lex_state = 749, .external_lex_state = 55},
  [1991] = {.lex_state = 745, .external_lex_state = 33},
  [1992] = {.lex_state = 745, .external_lex_state = 33},
  [1993] = {.lex_state = 749, .external_lex_state = 55},
  [1994] = {.lex_state = 745, .external_lex_state = 33},
  [1995] = {.lex_state = 105, .external_lex_state = 31},
  [1996] = {.lex_state = 745, .external_lex_state = 23},
  [1997] = {.lex_state = 745, .external_lex_state = 34},
  [1998] = {.lex_state = 745, .external_lex_state = 29},
  [1999] = {.lex_state = 745, .external_lex_state = 23},
  [2000] = {.lex_state = 745, .external_lex_state = 33},
  [2001] = {.lex_state = 745, .external_lex_state = 29},
  [2002] = {.lex_state = 745, .external_lex_state = 33},
  [2003] = {.lex_state = 77, .external_lex_state = 50},
  [2004] = {.lex_state = 77, .external_lex_state = 50},
  [2005] = {.lex_state = 745, .external_lex_state = 33},
  [2006] = {.lex_state = 745, .external_lex_state = 23},
  [2007] = {.lex_state = 749, .external_lex_state = 54},
  [2008] = {.lex_state = 745, .external_lex_state = 23},
  [2009] = {.lex_state = 745, .external_lex_state = 34},
  [2010] = {.lex_state = 745, .external_lex_state = 34},
  [2011] = {.lex_state = 745, .external_lex_state = 34},
  [2012] = {.lex_state = 77, .external_lex_state = 50},
  [2013] = {.lex_state = 77, .external_lex_state = 50},
  [2014] = {.lex_state = 749, .external_lex_state = 55},
  [2015] = {.lex_state = 745, .external_lex_state = 23},
  [2016] = {.lex_state = 745, .external_lex_state = 34},
  [2017] = {.lex_state = 745, .external_lex_state = 34},
  [2018] = {.lex_state = 745, .external_lex_state = 23},
  [2019] = {.lex_state = 745, .external_lex_state = 36},
  [2020] = {.lex_state = 745, .external_lex_state = 40},
  [2021] = {.lex_state = 77, .external_lex_state = 56},
  [2022] = {.lex_state = 745, .external_lex_state = 29},
  [2023] = {.lex_state = 745, .external_lex_state = 29},
  [2024] = {.lex_state = 745, .external_lex_state = 29},
  [2025] = {.lex_state = 745, .external_lex_state = 29},
  [2026] = {.lex_state = 745, .external_lex_state = 29},
  [2027] = {.lex_state = 745, .external_lex_state = 29},
  [2028] = {.lex_state = 745, .external_lex_state = 29},
  [2029] = {.lex_state = 745, .external_lex_state = 29},
  [2030] = {.lex_state = 745, .external_lex_state = 29},
  [2031] = {.lex_state = 77, .external_lex_state = 52},
  [2032] = {.lex_state = 745, .external_lex_state = 29},
  [2033] = {.lex_state = 745, .external_lex_state = 29},
  [2034] = {.lex_state = 77, .external_lex_state = 52},
  [2035] = {.lex_state = 77, .external_lex_state = 56},
  [2036] = {.lex_state = 77, .external_lex_state = 56},
  [2037] = {.lex_state = 745, .external_lex_state = 29},
  [2038] = {.lex_state = 745, .external_lex_state = 29},
  [2039] = {.lex_state = 77, .external_lex_state = 32},
  [2040] = {.lex_state = 77, .external_lex_state = 31},
  [2041] = {.lex_state = 77, .external_lex_state = 56},
  [2042] = {.lex_state = 77, .external_lex_state = 52},
  [2043] = {.lex_state = 77, .external_lex_state = 56},
  [2044] = {.lex_state = 77, .external_lex_state = 56},
  [2045] = {.lex_state = 77, .external_lex_state = 56},
  [2046] = {.lex_state = 77, .external_lex_state = 56},
  [2047] = {.lex_state = 745, .external_lex_state = 23},
  [2048] = {.lex_state = 77, .external_lex_state = 32},
  [2049] = {.lex_state = 77, .external_lex_state = 52},
  [2050] = {.lex_state = 745, .external_lex_state = 23},
  [2051] = {.lex_state = 77, .external_lex_state = 32},
  [2052] = {.lex_state = 77, .external_lex_state = 57},
  [2053] = {.lex_state = 749, .external_lex_state = 55},
  [2054] = {.lex_state = 77, .external_lex_state = 56},
  [2055] = {.lex_state = 745, .external_lex_state = 29},
  [2056] = {.lex_state = 745, .external_lex_state = 36},
  [2057] = {.lex_state = 745, .external_lex_state = 40},
  [2058] = {.lex_state = 745, .external_lex_state = 29},
  [2059] = {.lex_state = 745, .external_lex_state = 29},
  [2060] = {.lex_state = 745, .external_lex_state = 29},
  [2061] = {.lex_state = 745, .external_lex_state = 23},
  [2062] = {.lex_state = 745, .external_lex_state = 36},
  [2063] = {.lex_state = 745, .external_lex_state = 36},
  [2064] = {.lex_state = 745, .external_lex_state = 29},
  [2065] = {.lex_state = 745, .external_lex_state = 36},
  [2066] = {.lex_state = 77, .external_lex_state = 32},
  [2067] = {.lex_state = 745, .external_lex_state = 23},
  [2068] = {.lex_state = 745, .external_lex_state = 23},
  [2069] = {.lex_state = 745, .external_lex_state = 36},
  [2070] = {.lex_state = 745, .external_lex_state = 29},
  [2071] = {.lex_state = 745, .external_lex_state = 29},
  [2072] = {.lex_state = 77, .external_lex_state = 32},
  [2073] = {.lex_state = 77, .external_lex_state = 56},
  [2074] = {.lex_state = 745, .external_lex_state = 29},
  [2075] = {.lex_state = 745, .external_lex_state = 29},
  [2076] = {.lex_state = 749, .external_lex_state = 55},
  [2077] = {.lex_state = 106, .external_lex_state = 31},
  [2078] = {.lex_state = 745, .external_lex_state = 40},
  [2079] = {.lex_state = 749, .external_lex_state = 55},
  [2080] = {.lex_state = 745, .external_lex_state = 23},
  [2081] = {.lex_state = 745, .external_lex_state = 23},
  [2082] = {.lex_state = 745, .external_lex_state = 23},
  [2083] = {.lex_state = 745, .external_lex_state = 23},
  [2084] = {.lex_state = 77, .external_lex_state = 56},
  [2085] = {.lex_state = 77, .external_lex_state = 56},
  [2086] = {.lex_state = 77, .external_lex_state = 52},
  [2087] = {.lex_state = 745, .external_lex_state = 36},
  [2088] = {.lex_state = 745, .external_lex_state = 40},
  [2089] = {.lex_state = 77, .external_lex_state = 52},
  [2090] = {.lex_state = 77, .external_lex_state = 52},
  [2091] = {.lex_state = 745, .external_lex_state = 36},
  [2092] = {.lex_state = 77, .external_lex_state = 52},
  [2093] = {.lex_state = 745, .external_lex_state = 23},
  [2094] = {.lex_state = 745, .external_lex_state = 23},
  [2095] = {.lex_state = 745, .external_lex_state = 17},
  [2096] = {.lex_state = 745, .external_lex_state = 23},
  [2097] = {.lex_state = 749, .external_lex_state = 55},
  [2098] = {.lex_state = 745, .external_lex_state = 23},
  [2099] = {.lex_state = 745, .external_lex_state = 23},
  [2100] = {.lex_state = 77, .external_lex_state = 51},
  [2101] = {.lex_state = 749, .external_lex_state = 55},
  [2102] = {.lex_state = 745, .external_lex_state = 25},
  [2103] = {.lex_state = 745, .external_lex_state = 33},
  [2104] = {.lex_state = 745, .external_lex_state = 25},
  [2105] = {.lex_state = 745, .external_lex_state = 23},
  [2106] = {.lex_state = 745, .external_lex_state = 23},
  [2107] = {.lex_state = 745, .external_lex_state = 23},
  [2108] = {.lex_state = 64, .external_lex_state = 58},
  [2109] = {.lex_state = 745, .external_lex_state = 23},
  [2110] = {.lex_state = 749, .external_lex_state = 55},
  [2111] = {.lex_state = 107, .external_lex_state = 31},
  [2112] = {.lex_state = 745, .external_lex_state = 25},
  [2113] = {.lex_state = 745, .external_lex_state = 25},
  [2114] = {.lex_state = 745, .external_lex_state = 23},
  [2115] = {.lex_state = 745, .external_lex_state = 33},
  [2116] = {.lex_state = 745, .external_lex_state = 33},
  [2117] = {.lex_state = 745, .external_lex_state = 33},
  [2118] = {.lex_state = 745, .external_lex_state = 23},
  [2119] = {.lex_state = 745, .external_lex_state = 34},
  [2120] = {.lex_state = 77, .external_lex_state = 32},
  [2121] = {.lex_state = 745, .external_lex_state = 23},
  [2122] = {.lex_state = 745, .external_lex_state = 34},
  [2123] = {.lex_state = 749, .external_lex_state = 55},
  [2124] = {.lex_state = 745, .external_lex_state = 23},
  [2125] = {.lex_state = 749, .external_lex_state = 55},
  [2126] = {.lex_state = 749, .external_lex_state = 55},
  [2127] = {.lex_state = 749, .external_lex_state = 55},
  [2128] = {.lex_state = 745, .external_lex_state = 23},
  [2129] = {.lex_state = 745, .external_lex_state = 23},
  [2130] = {.lex_state = 745, .external_lex_state = 23},
  [2131] = {.lex_state = 745, .external_lex_state = 33},
  [2132] = {.lex_state = 745, .external_lex_state = 23},
  [2133] = {.lex_state = 77, .external_lex_state = 31},
  [2134] = {.lex_state = 745, .external_lex_state = 23},
  [2135] = {.lex_state = 745, .external_lex_state = 33},
  [2136] = {.lex_state = 745, .external_lex_state = 23},
  [2137] = {.lex_state = 745, .external_lex_state = 23},
  [2138] = {.lex_state = 745, .external_lex_state = 23},
  [2139] = {.lex_state = 745, .external_lex_state = 23},
  [2140] = {.lex_state = 745, .external_lex_state = 23},
  [2141] = {.lex_state = 745, .external_lex_state = 17},
  [2142] = {.lex_state = 745, .external_lex_state = 34},
  [2143] = {.lex_state = 749, .external_lex_state = 55},
  [2144] = {.lex_state = 745, .external_lex_state = 17},
  [2145] = {.lex_state = 745, .external_lex_state = 23},
  [2146] = {.lex_state = 745, .external_lex_state = 34},
  [2147] = {.lex_state = 745, .external_lex_state = 34},
  [2148] = {.lex_state = 745, .external_lex_state = 23},
  [2149] = {.lex_state = 745, .external_lex_state = 34},
  [2150] = {.lex_state = 749, .external_lex_state = 55},
  [2151] = {.lex_state = 745, .external_lex_state = 23},
  [2152] = {.lex_state = 97, .external_lex_state = 59},
  [2153] = {.lex_state = 745, .external_lex_state = 25},
  [2154] = {.lex_state = 745, .external_lex_state = 25},
  [2155] = {.lex_state = 745, .external_lex_state = 23},
  [2156] = {.lex_state = 97, .external_lex_state = 59},
  [2157] = {.lex_state = 745, .external_lex_state = 34},
  [2158] = {.lex_state = 745, .external_lex_state = 23},
  [2159] = {.lex_state = 97, .external_lex_state = 59},
  [2160] = {.lex_state = 745, .external_lex_state = 23},
  [2161] = {.lex_state = 745, .external_lex_state = 23},
  [2162] = {.lex_state = 745, .external_lex_state = 23},
  [2163] = {.lex_state = 745, .external_lex_state = 23},
  [2164] = {.lex_state = 745, .external_lex_state = 36},
  [2165] = {.lex_state = 745, .external_lex_state = 34},
  [2166] = {.lex_state = 745, .external_lex_state = 36},
  [2167] = {.lex_state = 77, .external_lex_state = 32},
  [2168] = {.lex_state = 745, .external_lex_state = 25},
  [2169] = {.lex_state = 745, .external_lex_state = 25},
  [2170] = {.lex_state = 745, .external_lex_state = 36},
  [2171] = {.lex_state = 745, .external_lex_state = 23},
  [2172] = {.lex_state = 745, .external_lex_state = 36},
  [2173] = {.lex_state = 98, .external_lex_state = 52},
  [2174] = {.lex_state = 745, .external_lex_state = 23},
  [2175] = {.lex_state = 77, .external_lex_state = 55},
  [2176] = {.lex_state = 98, .external_lex_state = 52},
  [2177] = {.lex_state = 98, .external_lex_state = 52},
  [2178] = {.lex_state = 745, .external_lex_state = 34},
  [2179] = {.lex_state = 745, .external_lex_state = 23},
  [2180] = {.lex_state = 745, .external_lex_state = 23},
  [2181] = {.lex_state = 77, .external_lex_state = 32},
  [2182] = {.lex_state = 97, .external_lex_state = 59},
  [2183] = {.lex_state = 66, .external_lex_state = 23},
  [2184] = {.lex_state = 745, .external_lex_state = 23},
  [2185] = {.lex_state = 745, .external_lex_state = 23},
  [2186] = {.lex_state = 9, .external_lex_state = 17},
  [2187] = {.lex_state = 98, .external_lex_state = 52},
  [2188] = {.lex_state = 745, .external_lex_state = 36},
  [2189] = {.lex_state = 745, .external_lex_state = 17},
  [2190] = {.lex_state = 77, .external_lex_state = 60},
  [2191] = {.lex_state = 77, .external_lex_state = 51},
  [2192] = {.lex_state = 745, .external_lex_state = 23},
  [2193] = {.lex_state = 745, .external_lex_state = 17},
  [2194] = {.lex_state = 77, .external_lex_state = 51},
  [2195] = {.lex_state = 745, .external_lex_state = 33},
  [2196] = {.lex_state = 745, .external_lex_state = 23},
  [2197] = {.lex_state = 77, .external_lex_state = 51},
  [2198] = {.lex_state = 745, .external_lex_state = 23},
  [2199] = {.lex_state = 77, .external_lex_state = 55},
  [2200] = {.lex_state = 745, .external_lex_state = 33},
  [2201] = {.lex_state = 745, .external_lex_state = 23},
  [2202] = {.lex_state = 745, .external_lex_state = 23},
  [2203] = {.lex_state = 77, .external_lex_state = 51},
  [2204] = {.lex_state = 77, .external_lex_state = 51},
  [2205] = {.lex_state = 745, .external_lex_state = 23},
  [2206] = {.lex_state = 745, .external_lex_state = 33},
  [2207] = {.lex_state = 745, .external_lex_state = 23},
  [2208] = {.lex_state = 745, .external_lex_state = 36},
  [2209] = {.lex_state = 745, .external_lex_state = 23},
  [2210] = {.lex_state = 66, .external_lex_state = 23},
  [2211] = {.lex_state = 745, .external_lex_state = 23},
  [2212] = {.lex_state = 77, .external_lex_state = 61},
  [2213] = {.lex_state = 745, .external_lex_state = 45},
  [2214] = {.lex_state = 745, .external_lex_state = 34},
  [2215] = {.lex_state = 745, .external_lex_state = 34},
  [2216] = {.lex_state = 77, .external_lex_state = 61},
  [2217] = {.lex_state = 745, .external_lex_state = 34},
  [2218] = {.lex_state = 745, .external_lex_state = 34},
  [2219] = {.lex_state = 745, .external_lex_state = 34},
  [2220] = {.lex_state = 77, .external_lex_state = 61},
  [2221] = {.lex_state = 77, .external_lex_state = 53},
  [2222] = {.lex_state = 77, .external_lex_state = 61},
  [2223] = {.lex_state = 745, .external_lex_state = 34},
  [2224] = {.lex_state = 748, .external_lex_state = 62},
  [2225] = {.lex_state = 745, .external_lex_state = 40},
  [2226] = {.lex_state = 745, .external_lex_state = 43},
  [2227] = {.lex_state = 745, .external_lex_state = 34},
  [2228] = {.lex_state = 745, .external_lex_state = 33},
  [2229] = {.lex_state = 745, .external_lex_state = 33},
  [2230] = {.lex_state = 77, .external_lex_state = 61},
  [2231] = {.lex_state = 77, .external_lex_state = 61},
  [2232] = {.lex_state = 745, .external_lex_state = 33},
  [2233] = {.lex_state = 745, .external_lex_state = 34},
  [2234] = {.lex_state = 745, .external_lex_state = 33},
  [2235] = {.lex_state = 745, .external_lex_state = 33},
  [2236] = {.lex_state = 77, .external_lex_state = 61},
  [2237] = {.lex_state = 97, .external_lex_state = 59},
  [2238] = {.lex_state = 77, .external_lex_state = 61},
  [2239] = {.lex_state = 9, .external_lex_state = 17},
  [2240] = {.lex_state = 745, .external_lex_state = 40},
  [2241] = {.lex_state = 745, .external_lex_state = 34},
  [2242] = {.lex_state = 745, .external_lex_state = 43},
  [2243] = {.lex_state = 77, .external_lex_state = 61},
  [2244] = {.lex_state = 745, .external_lex_state = 33},
  [2245] = {.lex_state = 745, .external_lex_state = 43},
  [2246] = {.lex_state = 745, .external_lex_state = 40},
  [2247] = {.lex_state = 745, .external_lex_state = 40},
  [2248] = {.lex_state = 77, .external_lex_state = 61},
  [2249] = {.lex_state = 98, .external_lex_state = 52},
  [2250] = {.lex_state = 77, .external_lex_state = 61},
  [2251] = {.lex_state = 77, .external_lex_state = 61},
  [2252] = {.lex_state = 745, .external_lex_state = 40},
  [2253] = {.lex_state = 745, .external_lex_state = 33},
  [2254] = {.lex_state = 745, .external_lex_state = 33},
  [2255] = {.lex_state = 77, .external_lex_state = 61},
  [2256] = {.lex_state = 77, .external_lex_state = 53},
  [2257] = {.lex_state = 745, .external_lex_state = 40},
  [2258] = {.lex_state = 745, .external_lex_state = 34},
  [2259] = {.lex_state = 77, .external_lex_state = 53},
  [2260] = {.lex_state = 745, .external_lex_state = 17},
  [2261] = {.lex_state = 745, .external_lex_state = 33},
  [2262] = {.lex_state = 745, .external_lex_state = 34},
  [2263] = {.lex_state = 77, .external_lex_state = 61},
  [2264] = {.lex_state = 745, .external_lex_state = 45},
  [2265] = {.lex_state = 745, .external_lex_state = 45},
  [2266] = {.lex_state = 745, .external_lex_state = 33},
  [2267] = {.lex_state = 745, .external_lex_state = 36},
  [2268] = {.lex_state = 745, .external_lex_state = 34},
  [2269] = {.lex_state = 77, .external_lex_state = 61},
  [2270] = {.lex_state = 77, .external_lex_state = 61},
  [2271] = {.lex_state = 77, .external_lex_state = 61},
  [2272] = {.lex_state = 77, .external_lex_state = 61},
  [2273] = {.lex_state = 745, .external_lex_state = 40},
  [2274] = {.lex_state = 745, .external_lex_state = 43},
  [2275] = {.lex_state = 745, .external_lex_state = 34},
  [2276] = {.lex_state = 745, .external_lex_state = 33},
  [2277] = {.lex_state = 77, .external_lex_state = 31},
  [2278] = {.lex_state = 77, .external_lex_state = 61},
  [2279] = {.lex_state = 745, .external_lex_state = 33},
  [2280] = {.lex_state = 745, .external_lex_state = 33},
  [2281] = {.lex_state = 745, .external_lex_state = 40},
  [2282] = {.lex_state = 745, .external_lex_state = 33},
  [2283] = {.lex_state = 745, .external_lex_state = 36},
  [2284] = {.lex_state = 745, .external_lex_state = 34},
  [2285] = {.lex_state = 745, .external_lex_state = 34},
  [2286] = {.lex_state = 745, .external_lex_state = 34},
  [2287] = {.lex_state = 77, .external_lex_state = 61},
  [2288] = {.lex_state = 745, .external_lex_state = 33},
  [2289] = {.lex_state = 745, .external_lex_state = 34},
  [2290] = {.lex_state = 77, .external_lex_state = 61},
  [2291] = {.lex_state = 745, .external_lex_state = 36},
  [2292] = {.lex_state = 745, .external_lex_state = 34},
  [2293] = {.lex_state = 745, .external_lex_state = 40},
  [2294] = {.lex_state = 745, .external_lex_state = 40},
  [2295] = {.lex_state = 745, .external_lex_state = 33},
  [2296] = {.lex_state = 77, .external_lex_state = 61},
  [2297] = {.lex_state = 745, .external_lex_state = 33},
  [2298] = {.lex_state = 745, .external_lex_state = 40},
  [2299] = {.lex_state = 745, .external_lex_state = 33},
  [2300] = {.lex_state = 745, .external_lex_state = 34},
  [2301] = {.lex_state = 77, .external_lex_state = 32},
  [2302] = {.lex_state = 745, .external_lex_state = 34},
  [2303] = {.lex_state = 745, .external_lex_state = 34},
  [2304] = {.lex_state = 745, .external_lex_state = 33},
  [2305] = {.lex_state = 745, .external_lex_state = 40},
  [2306] = {.lex_state = 745, .external_lex_state = 40},
  [2307] = {.lex_state = 745, .external_lex_state = 34},
  [2308] = {.lex_state = 745, .external_lex_state = 40},
  [2309] = {.lex_state = 748, .external_lex_state = 62},
  [2310] = {.lex_state = 77, .external_lex_state = 61},
  [2311] = {.lex_state = 745, .external_lex_state = 33},
  [2312] = {.lex_state = 745, .external_lex_state = 33},
  [2313] = {.lex_state = 745, .external_lex_state = 40},
  [2314] = {.lex_state = 745, .external_lex_state = 45},
  [2315] = {.lex_state = 745, .external_lex_state = 33},
  [2316] = {.lex_state = 745, .external_lex_state = 40},
  [2317] = {.lex_state = 77, .external_lex_state = 61},
  [2318] = {.lex_state = 77, .external_lex_state = 31},
  [2319] = {.lex_state = 745, .external_lex_state = 36},
  [2320] = {.lex_state = 745, .external_lex_state = 25},
  [2321] = {.lex_state = 745, .external_lex_state = 25},
  [2322] = {.lex_state = 745, .external_lex_state = 40},
  [2323] = {.lex_state = 745, .external_lex_state = 25},
  [2324] = {.lex_state = 97, .external_lex_state = 59},
  [2325] = {.lex_state = 77, .external_lex_state = 31},
  [2326] = {.lex_state = 77, .external_lex_state = 31},
  [2327] = {.lex_state = 745, .external_lex_state = 40},
  [2328] = {.lex_state = 748, .external_lex_state = 62},
  [2329] = {.lex_state = 748, .external_lex_state = 62},
  [2330] = {.lex_state = 745, .external_lex_state = 40},
  [2331] = {.lex_state = 745, .external_lex_state = 40},
  [2332] = {.lex_state = 745, .external_lex_state = 25},
  [2333] = {.lex_state = 745, .external_lex_state = 24},
  [2334] = {.lex_state = 745, .external_lex_state = 24},
  [2335] = {.lex_state = 745, .external_lex_state = 36},
  [2336] = {.lex_state = 745, .external_lex_state = 25},
  [2337] = {.lex_state = 745, .external_lex_state = 40},
  [2338] = {.lex_state = 745, .external_lex_state = 25},
  [2339] = {.lex_state = 745, .external_lex_state = 36},
  [2340] = {.lex_state = 745, .external_lex_state = 36},
  [2341] = {.lex_state = 745, .external_lex_state = 36},
  [2342] = {.lex_state = 98, .external_lex_state = 52},
  [2343] = {.lex_state = 77, .external_lex_state = 38},
  [2344] = {.lex_state = 77, .external_lex_state = 53},
  [2345] = {.lex_state = 745, .external_lex_state = 40},
  [2346] = {.lex_state = 745, .external_lex_state = 36},
  [2347] = {.lex_state = 745, .external_lex_state = 36},
  [2348] = {.lex_state = 745, .external_lex_state = 36},
  [2349] = {.lex_state = 745, .external_lex_state = 36},
  [2350] = {.lex_state = 745, .external_lex_state = 36},
  [2351] = {.lex_state = 98, .external_lex_state = 52},
  [2352] = {.lex_state = 77, .external_lex_state = 38},
  [2353] = {.lex_state = 77, .external_lex_state = 52},
  [2354] = {.lex_state = 749, .external_lex_state = 60},
  [2355] = {.lex_state = 77, .external_lex_state = 32},
  [2356] = {.lex_state = 77, .external_lex_state = 52},
  [2357] = {.lex_state = 745, .external_lex_state = 63},
  [2358] = {.lex_state = 745, .external_lex_state = 36},
  [2359] = {.lex_state = 745, .external_lex_state = 25},
  [2360] = {.lex_state = 745, .external_lex_state = 63},
  [2361] = {.lex_state = 77, .external_lex_state = 31},
  [2362] = {.lex_state = 749, .external_lex_state = 60},
  [2363] = {.lex_state = 745, .external_lex_state = 36},
  [2364] = {.lex_state = 97, .external_lex_state = 59},
  [2365] = {.lex_state = 745, .external_lex_state = 36},
  [2366] = {.lex_state = 745, .external_lex_state = 63},
  [2367] = {.lex_state = 745, .external_lex_state = 25},
  [2368] = {.lex_state = 745, .external_lex_state = 25},
  [2369] = {.lex_state = 97, .external_lex_state = 59},
  [2370] = {.lex_state = 77, .external_lex_state = 64},
  [2371] = {.lex_state = 97, .external_lex_state = 59},
  [2372] = {.lex_state = 97, .external_lex_state = 59},
  [2373] = {.lex_state = 745, .external_lex_state = 25},
  [2374] = {.lex_state = 745, .external_lex_state = 36},
  [2375] = {.lex_state = 745, .external_lex_state = 24},
  [2376] = {.lex_state = 97, .external_lex_state = 59},
  [2377] = {.lex_state = 77, .external_lex_state = 53},
  [2378] = {.lex_state = 77, .external_lex_state = 32},
  [2379] = {.lex_state = 745, .external_lex_state = 24},
  [2380] = {.lex_state = 77, .external_lex_state = 32},
  [2381] = {.lex_state = 77, .external_lex_state = 38},
  [2382] = {.lex_state = 745, .external_lex_state = 36},
  [2383] = {.lex_state = 745, .external_lex_state = 63},
  [2384] = {.lex_state = 749, .external_lex_state = 60},
  [2385] = {.lex_state = 745, .external_lex_state = 25},
  [2386] = {.lex_state = 745, .external_lex_state = 40},
  [2387] = {.lex_state = 745, .external_lex_state = 25},
  [2388] = {.lex_state = 77, .external_lex_state = 53},
  [2389] = {.lex_state = 745, .external_lex_state = 36},
  [2390] = {.lex_state = 77, .external_lex_state = 52},
  [2391] = {.lex_state = 749, .external_lex_state = 60},
  [2392] = {.lex_state = 749, .external_lex_state = 60},
  [2393] = {.lex_state = 749, .external_lex_state = 60},
  [2394] = {.lex_state = 745, .external_lex_state = 36},
  [2395] = {.lex_state = 749, .external_lex_state = 60},
  [2396] = {.lex_state = 77, .external_lex_state = 38},
  [2397] = {.lex_state = 77, .external_lex_state = 53},
  [2398] = {.lex_state = 98, .external_lex_state = 52},
  [2399] = {.lex_state = 745, .external_lex_state = 25},
  [2400] = {.lex_state = 98, .external_lex_state = 52},
  [2401] = {.lex_state = 745, .external_lex_state = 25},
  [2402] = {.lex_state = 77, .external_lex_state = 31},
  [2403] = {.lex_state = 98, .external_lex_state = 52},
  [2404] = {.lex_state = 745, .external_lex_state = 25},
  [2405] = {.lex_state = 745, .external_lex_state = 36},
  [2406] = {.lex_state = 745, .external_lex_state = 36},
  [2407] = {.lex_state = 77, .external_lex_state = 31},
  [2408] = {.lex_state = 745, .external_lex_state = 36},
  [2409] = {.lex_state = 745, .external_lex_state = 36},
  [2410] = {.lex_state = 745, .external_lex_state = 40},
  [2411] = {.lex_state = 745, .external_lex_state = 25},
  [2412] = {.lex_state = 745, .external_lex_state = 40},
  [2413] = {.lex_state = 745, .external_lex_state = 36},
  [2414] = {.lex_state = 745, .external_lex_state = 25},
  [2415] = {.lex_state = 98, .external_lex_state = 52},
  [2416] = {.lex_state = 745, .external_lex_state = 40},
  [2417] = {.lex_state = 77, .external_lex_state = 31},
  [2418] = {.lex_state = 77, .external_lex_state = 31},
  [2419] = {.lex_state = 77, .external_lex_state = 31},
  [2420] = {.lex_state = 77, .external_lex_state = 31},
  [2421] = {.lex_state = 745, .external_lex_state = 40},
  [2422] = {.lex_state = 745, .external_lex_state = 40},
  [2423] = {.lex_state = 77, .external_lex_state = 31},
  [2424] = {.lex_state = 77, .external_lex_state = 31},
  [2425] = {.lex_state = 77, .external_lex_state = 31},
  [2426] = {.lex_state = 77, .external_lex_state = 31},
  [2427] = {.lex_state = 98, .external_lex_state = 31},
  [2428] = {.lex_state = 98, .external_lex_state = 31},
  [2429] = {.lex_state = 98, .external_lex_state = 31},
  [2430] = {.lex_state = 745, .external_lex_state = 25},
  [2431] = {.lex_state = 77, .external_lex_state = 31},
  [2432] = {.lex_state = 77, .external_lex_state = 31},
  [2433] = {.lex_state = 77, .external_lex_state = 31},
  [2434] = {.lex_state = 77, .external_lex_state = 31},
  [2435] = {.lex_state = 745, .external_lex_state = 40},
  [2436] = {.lex_state = 745, .external_lex_state = 40},
  [2437] = {.lex_state = 98, .external_lex_state = 31},
  [2438] = {.lex_state = 77, .external_lex_state = 31},
  [2439] = {.lex_state = 77, .external_lex_state = 31},
  [2440] = {.lex_state = 77, .external_lex_state = 53},
  [2441] = {.lex_state = 77, .external_lex_state = 31},
  [2442] = {.lex_state = 745, .external_lex_state = 40},
  [2443] = {.lex_state = 77, .external_lex_state = 31},
  [2444] = {.lex_state = 77, .external_lex_state = 31},
  [2445] = {.lex_state = 745, .external_lex_state = 25},
  [2446] = {.lex_state = 77, .external_lex_state = 38},
  [2447] = {.lex_state = 77, .external_lex_state = 31},
  [2448] = {.lex_state = 745, .external_lex_state = 25},
  [2449] = {.lex_state = 77, .external_lex_state = 31},
  [2450] = {.lex_state = 77, .external_lex_state = 31},
  [2451] = {.lex_state = 98, .external_lex_state = 31},
  [2452] = {.lex_state = 77, .external_lex_state = 31},
  [2453] = {.lex_state = 77, .external_lex_state = 31},
  [2454] = {.lex_state = 745, .external_lex_state = 25},
  [2455] = {.lex_state = 77, .external_lex_state = 31},
  [2456] = {.lex_state = 77, .external_lex_state = 31},
  [2457] = {.lex_state = 77, .external_lex_state = 31},
  [2458] = {.lex_state = 77, .external_lex_state = 31},
  [2459] = {.lex_state = 77, .external_lex_state = 31},
  [2460] = {.lex_state = 77, .external_lex_state = 31},
  [2461] = {.lex_state = 77, .external_lex_state = 31},
  [2462] = {.lex_state = 745, .external_lex_state = 25},
  [2463] = {.lex_state = 77, .external_lex_state = 31},
  [2464] = {.lex_state = 77, .external_lex_state = 31},
  [2465] = {.lex_state = 77, .external_lex_state = 31},
  [2466] = {.lex_state = 77, .external_lex_state = 31},
  [2467] = {.lex_state = 745, .external_lex_state = 40},
  [2468] = {.lex_state = 77, .external_lex_state = 31},
  [2469] = {.lex_state = 77, .external_lex_state = 31},
  [2470] = {.lex_state = 77, .external_lex_state = 31},
  [2471] = {.lex_state = 77, .external_lex_state = 31},
  [2472] = {.lex_state = 745, .external_lex_state = 40},
  [2473] = {.lex_state = 745, .external_lex_state = 40},
  [2474] = {.lex_state = 77, .external_lex_state = 31},
  [2475] = {.lex_state = 77, .external_lex_state = 31},
  [2476] = {.lex_state = 97, .external_lex_state = 57},
  [2477] = {.lex_state = 77, .external_lex_state = 31},
  [2478] = {.lex_state = 97, .external_lex_state = 57},
  [2479] = {.lex_state = 77, .external_lex_state = 31},
  [2480] = {.lex_state = 77, .external_lex_state = 31},
  [2481] = {.lex_state = 77, .external_lex_state = 31},
  [2482] = {.lex_state = 745, .external_lex_state = 25},
  [2483] = {.lex_state = 77, .external_lex_state = 31},
  [2484] = {.lex_state = 77, .external_lex_state = 31},
  [2485] = {.lex_state = 77, .external_lex_state = 31},
  [2486] = {.lex_state = 97, .external_lex_state = 57},
  [2487] = {.lex_state = 745, .external_lex_state = 25},
  [2488] = {.lex_state = 745, .external_lex_state = 25},
  [2489] = {.lex_state = 77, .external_lex_state = 31},
  [2490] = {.lex_state = 745, .external_lex_state = 40},
  [2491] = {.lex_state = 745, .external_lex_state = 25},
  [2492] = {.lex_state = 77, .external_lex_state = 31},
  [2493] = {.lex_state = 745, .external_lex_state = 25},
  [2494] = {.lex_state = 77, .external_lex_state = 31},
  [2495] = {.lex_state = 748, .external_lex_state = 65},
  [2496] = {.lex_state = 748, .external_lex_state = 65},
  [2497] = {.lex_state = 77, .external_lex_state = 31},
  [2498] = {.lex_state = 77, .external_lex_state = 31},
  [2499] = {.lex_state = 77, .external_lex_state = 31},
  [2500] = {.lex_state = 745, .external_lex_state = 25},
  [2501] = {.lex_state = 77, .external_lex_state = 31},
  [2502] = {.lex_state = 745, .external_lex_state = 40},
  [2503] = {.lex_state = 77, .external_lex_state = 31},
  [2504] = {.lex_state = 77, .external_lex_state = 31},
  [2505] = {.lex_state = 745, .external_lex_state = 40},
  [2506] = {.lex_state = 77, .external_lex_state = 31},
  [2507] = {.lex_state = 745, .external_lex_state = 25},
  [2508] = {.lex_state = 77, .external_lex_state = 31},
  [2509] = {.lex_state = 77, .external_lex_state = 31},
  [2510] = {.lex_state = 745, .external_lex_state = 40},
  [2511] = {.lex_state = 77, .external_lex_state = 31},
  [2512] = {.lex_state = 745, .external_lex_state = 40},
  [2513] = {.lex_state = 77, .external_lex_state = 31},
  [2514] = {.lex_state = 745, .external_lex_state = 40},
  [2515] = {.lex_state = 745, .external_lex_state = 66},
  [2516] = {.lex_state = 77, .external_lex_state = 67},
  [2517] = {.lex_state = 745, .external_lex_state = 25},
  [2518] = {.lex_state = 745, .external_lex_state = 18},
  [2519] = {.lex_state = 745, .external_lex_state = 25},
  [2520] = {.lex_state = 745, .external_lex_state = 25},
  [2521] = {.lex_state = 745, .external_lex_state = 25},
  [2522] = {.lex_state = 745, .external_lex_state = 25},
  [2523] = {.lex_state = 77, .external_lex_state = 31},
  [2524] = {.lex_state = 77, .external_lex_state = 31},
  [2525] = {.lex_state = 745, .external_lex_state = 25},
  [2526] = {.lex_state = 745, .external_lex_state = 25},
  [2527] = {.lex_state = 77, .external_lex_state = 31},
  [2528] = {.lex_state = 77, .external_lex_state = 31},
  [2529] = {.lex_state = 77, .external_lex_state = 31},
  [2530] = {.lex_state = 77, .external_lex_state = 31},
  [2531] = {.lex_state = 745, .external_lex_state = 25},
  [2532] = {.lex_state = 77, .external_lex_state = 31},
  [2533] = {.lex_state = 745, .external_lex_state = 40},
  [2534] = {.lex_state = 745, .external_lex_state = 66},
  [2535] = {.lex_state = 745, .external_lex_state = 25},
  [2536] = {.lex_state = 745, .external_lex_state = 40},
  [2537] = {.lex_state = 97, .external_lex_state = 57},
  [2538] = {.lex_state = 745, .external_lex_state = 25},
  [2539] = {.lex_state = 745, .external_lex_state = 40},
  [2540] = {.lex_state = 745, .external_lex_state = 25},
  [2541] = {.lex_state = 745, .external_lex_state = 40},
  [2542] = {.lex_state = 745, .external_lex_state = 40},
  [2543] = {.lex_state = 745, .external_lex_state = 40},
  [2544] = {.lex_state = 745, .external_lex_state = 25},
  [2545] = {.lex_state = 745, .external_lex_state = 66},
  [2546] = {.lex_state = 745, .external_lex_state = 40},
  [2547] = {.lex_state = 745, .external_lex_state = 40},
  [2548] = {.lex_state = 745, .external_lex_state = 40},
  [2549] = {.lex_state = 745, .external_lex_state = 40},
  [2550] = {.lex_state = 745, .external_lex_state = 40},
  [2551] = {.lex_state = 745, .external_lex_state = 40},
  [2552] = {.lex_state = 745, .external_lex_state = 40},
  [2553] = {.lex_state = 745, .external_lex_state = 40},
  [2554] = {.lex_state = 745, .external_lex_state = 40},
  [2555] = {.lex_state = 745, .external_lex_state = 40},
  [2556] = {.lex_state = 745, .external_lex_state = 40},
  [2557] = {.lex_state = 745, .external_lex_state = 40},
  [2558] = {.lex_state = 745, .external_lex_state = 40},
  [2559] = {.lex_state = 745, .external_lex_state = 40},
  [2560] = {.lex_state = 745, .external_lex_state = 40},
  [2561] = {.lex_state = 745, .external_lex_state = 40},
  [2562] = {.lex_state = 745, .external_lex_state = 40},
  [2563] = {.lex_state = 745, .external_lex_state = 40},
  [2564] = {.lex_state = 745, .external_lex_state = 40},
  [2565] = {.lex_state = 745, .external_lex_state = 40},
  [2566] = {.lex_state = 745, .external_lex_state = 40},
  [2567] = {.lex_state = 745, .external_lex_state = 40},
  [2568] = {.lex_state = 77, .external_lex_state = 32},
  [2569] = {.lex_state = 77, .external_lex_state = 32},
  [2570] = {.lex_state = 745, .external_lex_state = 40},
  [2571] = {.lex_state = 745, .external_lex_state = 40},
  [2572] = {.lex_state = 745, .external_lex_state = 25},
  [2573] = {.lex_state = 77, .external_lex_state = 31},
  [2574] = {.lex_state = 745, .external_lex_state = 40},
  [2575] = {.lex_state = 77, .external_lex_state = 60},
  [2576] = {.lex_state = 77, .external_lex_state = 31},
  [2577] = {.lex_state = 745, .external_lex_state = 40},
  [2578] = {.lex_state = 745, .external_lex_state = 40},
  [2579] = {.lex_state = 745, .external_lex_state = 40},
  [2580] = {.lex_state = 745, .external_lex_state = 40},
  [2581] = {.lex_state = 745, .external_lex_state = 40},
  [2582] = {.lex_state = 745, .external_lex_state = 40},
  [2583] = {.lex_state = 77, .external_lex_state = 60},
  [2584] = {.lex_state = 745, .external_lex_state = 40},
  [2585] = {.lex_state = 745, .external_lex_state = 40},
  [2586] = {.lex_state = 745, .external_lex_state = 40},
  [2587] = {.lex_state = 77, .external_lex_state = 32},
  [2588] = {.lex_state = 77, .external_lex_state = 32},
  [2589] = {.lex_state = 77, .external_lex_state = 32},
  [2590] = {.lex_state = 745, .external_lex_state = 40},
  [2591] = {.lex_state = 745, .external_lex_state = 40},
  [2592] = {.lex_state = 745, .external_lex_state = 25},
  [2593] = {.lex_state = 745, .external_lex_state = 40},
  [2594] = {.lex_state = 745, .external_lex_state = 40},
  [2595] = {.lex_state = 77, .external_lex_state = 60},
  [2596] = {.lex_state = 745, .external_lex_state = 40},
  [2597] = {.lex_state = 745, .external_lex_state = 40},
  [2598] = {.lex_state = 745, .external_lex_state = 40},
  [2599] = {.lex_state = 745, .external_lex_state = 40},
  [2600] = {.lex_state = 745, .external_lex_state = 40},
  [2601] = {.lex_state = 745, .external_lex_state = 40},
  [2602] = {.lex_state = 745, .external_lex_state = 40},
  [2603] = {.lex_state = 745, .external_lex_state = 40},
  [2604] = {.lex_state = 745, .external_lex_state = 40},
  [2605] = {.lex_state = 745, .external_lex_state = 40},
  [2606] = {.lex_state = 745, .external_lex_state = 40},
  [2607] = {.lex_state = 745, .external_lex_state = 40},
  [2608] = {.lex_state = 745, .external_lex_state = 40},
  [2609] = {.lex_state = 745, .external_lex_state = 40},
  [2610] = {.lex_state = 745, .external_lex_state = 40},
  [2611] = {.lex_state = 745, .external_lex_state = 40},
  [2612] = {.lex_state = 745, .external_lex_state = 40},
  [2613] = {.lex_state = 745, .external_lex_state = 40},
  [2614] = {.lex_state = 745, .external_lex_state = 40},
  [2615] = {.lex_state = 745, .external_lex_state = 40},
  [2616] = {.lex_state = 745, .external_lex_state = 40},
  [2617] = {.lex_state = 745, .external_lex_state = 40},
  [2618] = {.lex_state = 745, .external_lex_state = 40},
  [2619] = {.lex_state = 745, .external_lex_state = 66},
  [2620] = {.lex_state = 745, .external_lex_state = 40},
  [2621] = {.lex_state = 745, .external_lex_state = 40},
  [2622] = {.lex_state = 745, .external_lex_state = 40},
  [2623] = {.lex_state = 745, .external_lex_state = 40},
  [2624] = {.lex_state = 745, .external_lex_state = 40},
  [2625] = {.lex_state = 745, .external_lex_state = 40},
  [2626] = {.lex_state = 745, .external_lex_state = 40},
  [2627] = {.lex_state = 745, .external_lex_state = 40},
  [2628] = {.lex_state = 77, .external_lex_state = 32},
  [2629] = {.lex_state = 745, .external_lex_state = 18},
  [2630] = {.lex_state = 745, .external_lex_state = 40},
  [2631] = {.lex_state = 745, .external_lex_state = 18},
  [2632] = {.lex_state = 745, .external_lex_state = 40},
  [2633] = {.lex_state = 745, .external_lex_state = 25},
  [2634] = {.lex_state = 745, .external_lex_state = 40},
  [2635] = {.lex_state = 745, .external_lex_state = 40},
  [2636] = {.lex_state = 97, .external_lex_state = 57},
  [2637] = {.lex_state = 745, .external_lex_state = 40},
  [2638] = {.lex_state = 77, .external_lex_state = 31},
  [2639] = {.lex_state = 745, .external_lex_state = 25},
  [2640] = {.lex_state = 745, .external_lex_state = 25},
  [2641] = {.lex_state = 745, .external_lex_state = 25},
  [2642] = {.lex_state = 77, .external_lex_state = 38},
  [2643] = {.lex_state = 745, .external_lex_state = 43},
  [2644] = {.lex_state = 745, .external_lex_state = 43},
  [2645] = {.lex_state = 745, .external_lex_state = 25},
  [2646] = {.lex_state = 77, .external_lex_state = 38},
  [2647] = {.lex_state = 745, .external_lex_state = 45},
  [2648] = {.lex_state = 745, .external_lex_state = 25},
  [2649] = {.lex_state = 77, .external_lex_state = 38},
  [2650] = {.lex_state = 745, .external_lex_state = 25},
  [2651] = {.lex_state = 77, .external_lex_state = 38},
  [2652] = {.lex_state = 745, .external_lex_state = 43},
  [2653] = {.lex_state = 77, .external_lex_state = 38},
  [2654] = {.lex_state = 77, .external_lex_state = 31},
  [2655] = {.lex_state = 77, .external_lex_state = 39},
  [2656] = {.lex_state = 745, .external_lex_state = 25},
  [2657] = {.lex_state = 745, .external_lex_state = 25},
  [2658] = {.lex_state = 745, .external_lex_state = 45},
  [2659] = {.lex_state = 745, .external_lex_state = 25},
  [2660] = {.lex_state = 77, .external_lex_state = 61},
  [2661] = {.lex_state = 77, .external_lex_state = 39},
  [2662] = {.lex_state = 745, .external_lex_state = 25},
  [2663] = {.lex_state = 77, .external_lex_state = 31},
  [2664] = {.lex_state = 77, .external_lex_state = 31},
  [2665] = {.lex_state = 748, .external_lex_state = 65},
  [2666] = {.lex_state = 748, .external_lex_state = 65},
  [2667] = {.lex_state = 77, .external_lex_state = 32},
  [2668] = {.lex_state = 745, .external_lex_state = 25},
  [2669] = {.lex_state = 745, .external_lex_state = 43},
  [2670] = {.lex_state = 77, .external_lex_state = 31},
  [2671] = {.lex_state = 745, .external_lex_state = 45},
  [2672] = {.lex_state = 745, .external_lex_state = 45},
  [2673] = {.lex_state = 748, .external_lex_state = 68},
  [2674] = {.lex_state = 77, .external_lex_state = 31},
  [2675] = {.lex_state = 745, .external_lex_state = 25},
  [2676] = {.lex_state = 745, .external_lex_state = 45},
  [2677] = {.lex_state = 748, .external_lex_state = 68},
  [2678] = {.lex_state = 745, .external_lex_state = 25},
  [2679] = {.lex_state = 745, .external_lex_state = 25},
  [2680] = {.lex_state = 77, .external_lex_state = 39},
  [2681] = {.lex_state = 77, .external_lex_state = 31},
  [2682] = {.lex_state = 745, .external_lex_state = 25},
  [2683] = {.lex_state = 745, .external_lex_state = 25},
  [2684] = {.lex_state = 745, .external_lex_state = 25},
  [2685] = {.lex_state = 745, .external_lex_state = 25},
  [2686] = {.lex_state = 745, .external_lex_state = 25},
  [2687] = {.lex_state = 745, .external_lex_state = 25},
  [2688] = {.lex_state = 745, .external_lex_state = 45},
  [2689] = {.lex_state = 77, .external_lex_state = 31},
  [2690] = {.lex_state = 745, .external_lex_state = 25},
  [2691] = {.lex_state = 745, .external_lex_state = 25},
  [2692] = {.lex_state = 77, .external_lex_state = 31},
  [2693] = {.lex_state = 77, .external_lex_state = 64},
  [2694] = {.lex_state = 77, .external_lex_state = 31},
  [2695] = {.lex_state = 77, .external_lex_state = 31},
  [2696] = {.lex_state = 745, .external_lex_state = 25},
  [2697] = {.lex_state = 77, .external_lex_state = 31},
  [2698] = {.lex_state = 745, .external_lex_state = 45},
  [2699] = {.lex_state = 745, .external_lex_state = 25},
  [2700] = {.lex_state = 745, .external_lex_state = 43},
  [2701] = {.lex_state = 745, .external_lex_state = 25},
  [2702] = {.lex_state = 745, .external_lex_state = 25},
  [2703] = {.lex_state = 745, .external_lex_state = 45},
  [2704] = {.lex_state = 745, .external_lex_state = 25},
  [2705] = {.lex_state = 745, .external_lex_state = 66},
  [2706] = {.lex_state = 77, .external_lex_state = 31},
  [2707] = {.lex_state = 745, .external_lex_state = 25},
  [2708] = {.lex_state = 745, .external_lex_state = 25},
  [2709] = {.lex_state = 745, .external_lex_state = 45},
  [2710] = {.lex_state = 745, .external_lex_state = 25},
  [2711] = {.lex_state = 745, .external_lex_state = 25},
  [2712] = {.lex_state = 745, .external_lex_state = 25},
  [2713] = {.lex_state = 745, .external_lex_state = 25},
  [2714] = {.lex_state = 745, .external_lex_state = 25},
  [2715] = {.lex_state = 745, .external_lex_state = 25},
  [2716] = {.lex_state = 77, .external_lex_state = 31},
  [2717] = {.lex_state = 745, .external_lex_state = 25},
  [2718] = {.lex_state = 745, .external_lex_state = 25},
  [2719] = {.lex_state = 745, .external_lex_state = 25},
  [2720] = {.lex_state = 77, .external_lex_state = 31},
  [2721] = {.lex_state = 745, .external_lex_state = 25},
  [2722] = {.lex_state = 77, .external_lex_state = 57},
  [2723] = {.lex_state = 745, .external_lex_state = 25},
  [2724] = {.lex_state = 745, .external_lex_state = 25},
  [2725] = {.lex_state = 745, .external_lex_state = 25},
  [2726] = {.lex_state = 745, .external_lex_state = 25},
  [2727] = {.lex_state = 745, .external_lex_state = 66},
  [2728] = {.lex_state = 77, .external_lex_state = 32},
  [2729] = {.lex_state = 745, .external_lex_state = 25},
  [2730] = {.lex_state = 77, .external_lex_state = 31},
  [2731] = {.lex_state = 77, .external_lex_state = 64},
  [2732] = {.lex_state = 77, .external_lex_state = 64},
  [2733] = {.lex_state = 745, .external_lex_state = 25},
  [2734] = {.lex_state = 745, .external_lex_state = 45},
  [2735] = {.lex_state = 745, .external_lex_state = 25},
  [2736] = {.lex_state = 745, .external_lex_state = 25},
  [2737] = {.lex_state = 745, .external_lex_state = 25},
  [2738] = {.lex_state = 745, .external_lex_state = 25},
  [2739] = {.lex_state = 745, .external_lex_state = 25},
  [2740] = {.lex_state = 745, .external_lex_state = 25},
  [2741] = {.lex_state = 77, .external_lex_state = 64},
  [2742] = {.lex_state = 77, .external_lex_state = 31},
  [2743] = {.lex_state = 77, .external_lex_state = 57},
  [2744] = {.lex_state = 745, .external_lex_state = 25},
  [2745] = {.lex_state = 745, .external_lex_state = 25},
  [2746] = {.lex_state = 77, .external_lex_state = 52},
  [2747] = {.lex_state = 77, .external_lex_state = 57},
  [2748] = {.lex_state = 745, .external_lex_state = 25},
  [2749] = {.lex_state = 745, .external_lex_state = 45},
  [2750] = {.lex_state = 745, .external_lex_state = 43},
  [2751] = {.lex_state = 745, .external_lex_state = 25},
  [2752] = {.lex_state = 745, .external_lex_state = 25},
  [2753] = {.lex_state = 745, .external_lex_state = 25},
  [2754] = {.lex_state = 745, .external_lex_state = 66},
  [2755] = {.lex_state = 77, .external_lex_state = 64},
  [2756] = {.lex_state = 77, .external_lex_state = 38},
  [2757] = {.lex_state = 77, .external_lex_state = 31},
  [2758] = {.lex_state = 745, .external_lex_state = 25},
  [2759] = {.lex_state = 745, .external_lex_state = 25},
  [2760] = {.lex_state = 745, .external_lex_state = 43},
  [2761] = {.lex_state = 77, .external_lex_state = 64},
  [2762] = {.lex_state = 745, .external_lex_state = 45},
  [2763] = {.lex_state = 77, .external_lex_state = 39},
  [2764] = {.lex_state = 745, .external_lex_state = 43},
  [2765] = {.lex_state = 745, .external_lex_state = 25},
  [2766] = {.lex_state = 745, .external_lex_state = 25},
  [2767] = {.lex_state = 745, .external_lex_state = 25},
  [2768] = {.lex_state = 745, .external_lex_state = 25},
  [2769] = {.lex_state = 77, .external_lex_state = 57},
  [2770] = {.lex_state = 745, .external_lex_state = 25},
  [2771] = {.lex_state = 745, .external_lex_state = 25},
  [2772] = {.lex_state = 745, .external_lex_state = 25},
  [2773] = {.lex_state = 745, .external_lex_state = 25},
  [2774] = {.lex_state = 745, .external_lex_state = 25},
  [2775] = {.lex_state = 745, .external_lex_state = 25},
  [2776] = {.lex_state = 745, .external_lex_state = 25},
  [2777] = {.lex_state = 745, .external_lex_state = 25},
  [2778] = {.lex_state = 745, .external_lex_state = 25},
  [2779] = {.lex_state = 745, .external_lex_state = 25},
  [2780] = {.lex_state = 745, .external_lex_state = 43},
  [2781] = {.lex_state = 745, .external_lex_state = 25},
  [2782] = {.lex_state = 745, .external_lex_state = 25},
  [2783] = {.lex_state = 745, .external_lex_state = 18},
  [2784] = {.lex_state = 77, .external_lex_state = 57},
  [2785] = {.lex_state = 77, .external_lex_state = 31},
  [2786] = {.lex_state = 745, .external_lex_state = 25},
  [2787] = {.lex_state = 745, .external_lex_state = 45},
  [2788] = {.lex_state = 745, .external_lex_state = 25},
  [2789] = {.lex_state = 745, .external_lex_state = 25},
  [2790] = {.lex_state = 745, .external_lex_state = 45},
  [2791] = {.lex_state = 745, .external_lex_state = 25},
  [2792] = {.lex_state = 745, .external_lex_state = 25},
  [2793] = {.lex_state = 77, .external_lex_state = 31},
  [2794] = {.lex_state = 745, .external_lex_state = 45},
  [2795] = {.lex_state = 745, .external_lex_state = 25},
  [2796] = {.lex_state = 745, .external_lex_state = 25},
  [2797] = {.lex_state = 77, .external_lex_state = 31},
  [2798] = {.lex_state = 745, .external_lex_state = 25},
  [2799] = {.lex_state = 77, .external_lex_state = 57},
  [2800] = {.lex_state = 77, .external_lex_state = 32},
  [2801] = {.lex_state = 745, .external_lex_state = 25},
  [2802] = {.lex_state = 745, .external_lex_state = 25},
  [2803] = {.lex_state = 745, .external_lex_state = 25},
  [2804] = {.lex_state = 745, .external_lex_state = 25},
  [2805] = {.lex_state = 745, .external_lex_state = 25},
  [2806] = {.lex_state = 77, .external_lex_state = 64},
  [2807] = {.lex_state = 77, .external_lex_state = 57},
  [2808] = {.lex_state = 77, .external_lex_state = 31},
  [2809] = {.lex_state = 77, .external_lex_state = 57},
  [2810] = {.lex_state = 745, .external_lex_state = 43},
  [2811] = {.lex_state = 745, .external_lex_state = 43},
  [2812] = {.lex_state = 745, .external_lex_state = 25},
  [2813] = {.lex_state = 745, .external_lex_state = 25},
  [2814] = {.lex_state = 745, .external_lex_state = 25},
  [2815] = {.lex_state = 745, .external_lex_state = 45},
  [2816] = {.lex_state = 745, .external_lex_state = 25},
  [2817] = {.lex_state = 77, .external_lex_state = 57},
  [2818] = {.lex_state = 77, .external_lex_state = 57},
  [2819] = {.lex_state = 745, .external_lex_state = 43},
  [2820] = {.lex_state = 745, .external_lex_state = 43},
  [2821] = {.lex_state = 745, .external_lex_state = 25},
  [2822] = {.lex_state = 745, .external_lex_state = 25},
  [2823] = {.lex_state = 745, .external_lex_state = 25},
  [2824] = {.lex_state = 745, .external_lex_state = 25},
  [2825] = {.lex_state = 745, .external_lex_state = 25},
  [2826] = {.lex_state = 745, .external_lex_state = 25},
  [2827] = {.lex_state = 745, .external_lex_state = 43},
  [2828] = {.lex_state = 745, .external_lex_state = 43},
  [2829] = {.lex_state = 77, .external_lex_state = 57},
  [2830] = {.lex_state = 745, .external_lex_state = 25},
  [2831] = {.lex_state = 745, .external_lex_state = 66},
  [2832] = {.lex_state = 745, .external_lex_state = 25},
  [2833] = {.lex_state = 745, .external_lex_state = 43},
  [2834] = {.lex_state = 745, .external_lex_state = 25},
  [2835] = {.lex_state = 745, .external_lex_state = 25},
  [2836] = {.lex_state = 77, .external_lex_state = 31},
  [2837] = {.lex_state = 77, .external_lex_state = 57},
  [2838] = {.lex_state = 77, .external_lex_state = 32},
  [2839] = {.lex_state = 745, .external_lex_state = 25},
  [2840] = {.lex_state = 745, .external_lex_state = 25},
  [2841] = {.lex_state = 745, .external_lex_state = 25},
  [2842] = {.lex_state = 745, .external_lex_state = 18},
  [2843] = {.lex_state = 745, .external_lex_state = 25},
  [2844] = {.lex_state = 745, .external_lex_state = 25},
  [2845] = {.lex_state = 745, .external_lex_state = 25},
  [2846] = {.lex_state = 745, .external_lex_state = 25},
  [2847] = {.lex_state = 745, .external_lex_state = 25},
  [2848] = {.lex_state = 745, .external_lex_state = 25},
  [2849] = {.lex_state = 748, .external_lex_state = 68},
  [2850] = {.lex_state = 745, .external_lex_state = 25},
  [2851] = {.lex_state = 745, .external_lex_state = 18},
  [2852] = {.lex_state = 745, .external_lex_state = 25},
  [2853] = {.lex_state = 745, .external_lex_state = 25},
  [2854] = {.lex_state = 745, .external_lex_state = 25},
  [2855] = {.lex_state = 745, .external_lex_state = 25},
  [2856] = {.lex_state = 77, .external_lex_state = 67},
  [2857] = {.lex_state = 745, .external_lex_state = 25},
  [2858] = {.lex_state = 77, .external_lex_state = 31},
  [2859] = {.lex_state = 745, .external_lex_state = 25},
  [2860] = {.lex_state = 745, .external_lex_state = 43},
  [2861] = {.lex_state = 77, .external_lex_state = 67},
  [2862] = {.lex_state = 745, .external_lex_state = 25},
  [2863] = {.lex_state = 745, .external_lex_state = 25},
  [2864] = {.lex_state = 745, .external_lex_state = 25},
  [2865] = {.lex_state = 77, .external_lex_state = 67},
  [2866] = {.lex_state = 745, .external_lex_state = 43},
  [2867] = {.lex_state = 77, .external_lex_state = 67},
  [2868] = {.lex_state = 745, .external_lex_state = 24},
  [2869] = {.lex_state = 745, .external_lex_state = 25},
  [2870] = {.lex_state = 77, .external_lex_state = 67},
  [2871] = {.lex_state = 745, .external_lex_state = 18},
  [2872] = {.lex_state = 745, .external_lex_state = 25},
  [2873] = {.lex_state = 745, .external_lex_state = 25},
  [2874] = {.lex_state = 745, .external_lex_state = 25},
  [2875] = {.lex_state = 745, .external_lex_state = 25},
  [2876] = {.lex_state = 745, .external_lex_state = 25},
  [2877] = {.lex_state = 745, .external_lex_state = 25},
  [2878] = {.lex_state = 745, .external_lex_state = 25},
  [2879] = {.lex_state = 745, .external_lex_state = 25},
  [2880] = {.lex_state = 745, .external_lex_state = 25},
  [2881] = {.lex_state = 745, .external_lex_state = 25},
  [2882] = {.lex_state = 77, .external_lex_state = 31},
  [2883] = {.lex_state = 77, .external_lex_state = 31},
  [2884] = {.lex_state = 77, .external_lex_state = 31},
  [2885] = {.lex_state = 77, .external_lex_state = 31},
  [2886] = {.lex_state = 77, .external_lex_state = 31},
  [2887] = {.lex_state = 77, .external_lex_state = 31},
  [2888] = {.lex_state = 77, .external_lex_state = 31},
  [2889] = {.lex_state = 745, .external_lex_state = 24},
  [2890] = {.lex_state = 77, .external_lex_state = 31},
  [2891] = {.lex_state = 745, .external_lex_state = 25},
  [2892] = {.lex_state = 77, .external_lex_state = 67},
  [2893] = {.lex_state = 77, .external_lex_state = 31},
  [2894] = {.lex_state = 77, .external_lex_state = 31},
  [2895] = {.lex_state = 77, .external_lex_state = 31},
  [2896] = {.lex_state = 745, .external_lex_state = 25},
  [2897] = {.lex_state = 745, .external_lex_state = 25},
  [2898] = {.lex_state = 745, .external_lex_state = 25},
  [2899] = {.lex_state = 745, .external_lex_state = 25},
  [2900] = {.lex_state = 745, .external_lex_state = 25},
  [2901] = {.lex_state = 77, .external_lex_state = 31},
  [2902] = {.lex_state = 77, .external_lex_state = 67},
  [2903] = {.lex_state = 77, .external_lex_state = 31},
  [2904] = {.lex_state = 77, .external_lex_state = 31},
  [2905] = {.lex_state = 77, .external_lex_state = 31},
  [2906] = {.lex_state = 748, .external_lex_state = 68},
  [2907] = {.lex_state = 745, .external_lex_state = 24},
  [2908] = {.lex_state = 745, .external_lex_state = 25},
  [2909] = {.lex_state = 77, .external_lex_state = 31},
  [2910] = {.lex_state = 745, .external_lex_state = 25},
  [2911] = {.lex_state = 745, .external_lex_state = 25},
  [2912] = {.lex_state = 77, .external_lex_state = 31},
  [2913] = {.lex_state = 745, .external_lex_state = 45},
  [2914] = {.lex_state = 77, .external_lex_state = 31},
  [2915] = {.lex_state = 745, .external_lex_state = 24},
  [2916] = {.lex_state = 745, .external_lex_state = 25},
  [2917] = {.lex_state = 745, .external_lex_state = 25},
  [2918] = {.lex_state = 745, .external_lex_state = 25},
  [2919] = {.lex_state = 77, .external_lex_state = 60},
  [2920] = {.lex_state = 745, .external_lex_state = 18},
  [2921] = {.lex_state = 77, .external_lex_state = 31},
  [2922] = {.lex_state = 745, .external_lex_state = 25},
  [2923] = {.lex_state = 77, .external_lex_state = 64},
  [2924] = {.lex_state = 745, .external_lex_state = 25},
  [2925] = {.lex_state = 745, .external_lex_state = 25},
  [2926] = {.lex_state = 745, .external_lex_state = 25},
  [2927] = {.lex_state = 745, .external_lex_state = 45},
  [2928] = {.lex_state = 745, .external_lex_state = 25},
  [2929] = {.lex_state = 745, .external_lex_state = 25},
  [2930] = {.lex_state = 745, .external_lex_state = 25},
  [2931] = {.lex_state = 748, .external_lex_state = 30},
  [2932] = {.lex_state = 745, .external_lex_state = 25},
  [2933] = {.lex_state = 745, .external_lex_state = 25},
  [2934] = {.lex_state = 745, .external_lex_state = 25},
  [2935] = {.lex_state = 748, .external_lex_state = 69},
  [2936] = {.lex_state = 748, .external_lex_state = 69},
  [2937] = {.lex_state = 745, .external_lex_state = 25},
  [2938] = {.lex_state = 745, .external_lex_state = 25},
  [2939] = {.lex_state = 745, .external_lex_state = 25},
  [2940] = {.lex_state = 745, .external_lex_state = 45},
  [2941] = {.lex_state = 745, .external_lex_state = 25},
  [2942] = {.lex_state = 745, .external_lex_state = 25},
  [2943] = {.lex_state = 745, .external_lex_state = 25},
  [2944] = {.lex_state = 745, .external_lex_state = 25},
  [2945] = {.lex_state = 745, .external_lex_state = 25},
  [2946] = {.lex_state = 745, .external_lex_state = 25},
  [2947] = {.lex_state = 745, .external_lex_state = 18},
  [2948] = {.lex_state = 745, .external_lex_state = 25},
  [2949] = {.lex_state = 745, .external_lex_state = 25},
  [2950] = {.lex_state = 745, .external_lex_state = 25},
  [2951] = {.lex_state = 745, .external_lex_state = 25},
  [2952] = {.lex_state = 77, .external_lex_state = 64},
  [2953] = {.lex_state = 745, .external_lex_state = 45},
  [2954] = {.lex_state = 745, .external_lex_state = 24},
  [2955] = {.lex_state = 745, .external_lex_state = 25},
  [2956] = {.lex_state = 745, .external_lex_state = 25},
  [2957] = {.lex_state = 745, .external_lex_state = 43},
  [2958] = {.lex_state = 745, .external_lex_state = 25},
  [2959] = {.lex_state = 748, .external_lex_state = 30},
  [2960] = {.lex_state = 745, .external_lex_state = 25},
  [2961] = {.lex_state = 745, .external_lex_state = 25},
  [2962] = {.lex_state = 745, .external_lex_state = 25},
  [2963] = {.lex_state = 745, .external_lex_state = 24},
  [2964] = {.lex_state = 745, .external_lex_state = 24},
  [2965] = {.lex_state = 77, .external_lex_state = 31},
  [2966] = {.lex_state = 745, .external_lex_state = 18},
  [2967] = {.lex_state = 745, .external_lex_state = 24},
  [2968] = {.lex_state = 745, .external_lex_state = 25},
  [2969] = {.lex_state = 745, .external_lex_state = 25},
  [2970] = {.lex_state = 745, .external_lex_state = 25},
  [2971] = {.lex_state = 745, .external_lex_state = 25},
  [2972] = {.lex_state = 745, .external_lex_state = 25},
  [2973] = {.lex_state = 745, .external_lex_state = 25},
  [2974] = {.lex_state = 745, .external_lex_state = 45},
  [2975] = {.lex_state = 748, .external_lex_state = 26},
  [2976] = {.lex_state = 748, .external_lex_state = 26},
  [2977] = {.lex_state = 77, .external_lex_state = 31},
  [2978] = {.lex_state = 745, .external_lex_state = 25},
  [2979] = {.lex_state = 77, .external_lex_state = 31},
  [2980] = {.lex_state = 745, .external_lex_state = 25},
  [2981] = {.lex_state = 745, .external_lex_state = 43},
  [2982] = {.lex_state = 745, .external_lex_state = 45},
  [2983] = {.lex_state = 77, .external_lex_state = 64},
  [2984] = {.lex_state = 77, .external_lex_state = 41},
  [2985] = {.lex_state = 745, .external_lex_state = 45},
  [2986] = {.lex_state = 77, .external_lex_state = 60},
  [2987] = {.lex_state = 745, .external_lex_state = 25},
  [2988] = {.lex_state = 77, .external_lex_state = 60},
  [2989] = {.lex_state = 745, .external_lex_state = 25},
  [2990] = {.lex_state = 77, .external_lex_state = 31},
  [2991] = {.lex_state = 745, .external_lex_state = 25},
  [2992] = {.lex_state = 77, .external_lex_state = 31},
  [2993] = {.lex_state = 745, .external_lex_state = 45},
  [2994] = {.lex_state = 745, .external_lex_state = 25},
  [2995] = {.lex_state = 77, .external_lex_state = 31},
  [2996] = {.lex_state = 745, .external_lex_state = 45},
  [2997] = {.lex_state = 745, .external_lex_state = 43},
  [2998] = {.lex_state = 745, .external_lex_state = 18},
  [2999] = {.lex_state = 745, .external_lex_state = 25},
  [3000] = {.lex_state = 745, .external_lex_state = 25},
  [3001] = {.lex_state = 745, .external_lex_state = 24},
  [3002] = {.lex_state = 745, .external_lex_state = 25},
  [3003] = {.lex_state = 745, .external_lex_state = 43},
  [3004] = {.lex_state = 745, .external_lex_state = 45},
  [3005] = {.lex_state = 748, .external_lex_state = 70},
  [3006] = {.lex_state = 745, .external_lex_state = 24},
  [3007] = {.lex_state = 745, .external_lex_state = 24},
  [3008] = {.lex_state = 77, .external_lex_state = 31},
  [3009] = {.lex_state = 77, .external_lex_state = 39},
  [3010] = {.lex_state = 748, .external_lex_state = 70},
  [3011] = {.lex_state = 745, .external_lex_state = 25},
  [3012] = {.lex_state = 745, .external_lex_state = 18},
  [3013] = {.lex_state = 77, .external_lex_state = 31},
  [3014] = {.lex_state = 745, .external_lex_state = 43},
  [3015] = {.lex_state = 745, .external_lex_state = 25},
  [3016] = {.lex_state = 77, .external_lex_state = 31},
  [3017] = {.lex_state = 745, .external_lex_state = 18},
  [3018] = {.lex_state = 77, .external_lex_state = 31},
  [3019] = {.lex_state = 77, .external_lex_state = 31},
  [3020] = {.lex_state = 77, .external_lex_state = 41},
  [3021] = {.lex_state = 745, .external_lex_state = 43},
  [3022] = {.lex_state = 745, .external_lex_state = 18},
  [3023] = {.lex_state = 745, .external_lex_state = 43},
  [3024] = {.lex_state = 745, .external_lex_state = 43},
  [3025] = {.lex_state = 77, .external_lex_state = 41},
  [3026] = {.lex_state = 745, .external_lex_state = 43},
  [3027] = {.lex_state = 745, .external_lex_state = 18},
  [3028] = {.lex_state = 745, .external_lex_state = 18},
  [3029] = {.lex_state = 745, .external_lex_state = 43},
  [3030] = {.lex_state = 745, .external_lex_state = 43},
  [3031] = {.lex_state = 77, .external_lex_state = 41},
  [3032] = {.lex_state = 745, .external_lex_state = 25},
  [3033] = {.lex_state = 745, .external_lex_state = 18},
  [3034] = {.lex_state = 745, .external_lex_state = 24},
  [3035] = {.lex_state = 745, .external_lex_state = 24},
  [3036] = {.lex_state = 745, .external_lex_state = 24},
  [3037] = {.lex_state = 77, .external_lex_state = 60},
  [3038] = {.lex_state = 77, .external_lex_state = 60},
  [3039] = {.lex_state = 77, .external_lex_state = 60},
  [3040] = {.lex_state = 745, .external_lex_state = 25},
  [3041] = {.lex_state = 749, .external_lex_state = 60},
  [3042] = {.lex_state = 77, .external_lex_state = 60},
  [3043] = {.lex_state = 749, .external_lex_state = 60},
  [3044] = {.lex_state = 745, .external_lex_state = 25},
  [3045] = {.lex_state = 745, .external_lex_state = 24},
  [3046] = {.lex_state = 745, .external_lex_state = 25},
  [3047] = {.lex_state = 745, .external_lex_state = 25},
  [3048] = {.lex_state = 77, .external_lex_state = 60},
  [3049] = {.lex_state = 745, .external_lex_state = 18},
  [3050] = {.lex_state = 77, .external_lex_state = 60},
  [3051] = {.lex_state = 77, .external_lex_state = 60},
  [3052] = {.lex_state = 745, .external_lex_state = 25},
  [3053] = {.lex_state = 745, .external_lex_state = 25},
  [3054] = {.lex_state = 745, .external_lex_state = 24},
  [3055] = {.lex_state = 745, .external_lex_state = 24},
  [3056] = {.lex_state = 745, .external_lex_state = 25},
  [3057] = {.lex_state = 745, .external_lex_state = 25},
  [3058] = {.lex_state = 745, .external_lex_state = 25},
  [3059] = {.lex_state = 745, .external_lex_state = 45},
  [3060] = {.lex_state = 745, .external_lex_state = 43},
  [3061] = {.lex_state = 77, .external_lex_state = 31},
  [3062] = {.lex_state = 77, .external_lex_state = 31},
  [3063] = {.lex_state = 77, .external_lex_state = 31},
  [3064] = {.lex_state = 77, .external_lex_state = 31},
  [3065] = {.lex_state = 77, .external_lex_state = 31},
  [3066] = {.lex_state = 77, .external_lex_state = 31},
  [3067] = {.lex_state = 77, .external_lex_state = 31},
  [3068] = {.lex_state = 77, .external_lex_state = 31},
  [3069] = {.lex_state = 77, .external_lex_state = 31},
  [3070] = {.lex_state = 77, .external_lex_state = 31},
  [3071] = {.lex_state = 77, .external_lex_state = 31},
  [3072] = {.lex_state = 77, .external_lex_state = 31},
  [3073] = {.lex_state = 77, .external_lex_state = 31},
  [3074] = {.lex_state = 77, .external_lex_state = 31},
  [3075] = {.lex_state = 77, .external_lex_state = 31},
  [3076] = {.lex_state = 77, .external_lex_state = 31},
  [3077] = {.lex_state = 77, .external_lex_state = 31},
  [3078] = {.lex_state = 77, .external_lex_state = 31},
  [3079] = {.lex_state = 77, .external_lex_state = 31},
  [3080] = {.lex_state = 77, .external_lex_state = 31},
  [3081] = {.lex_state = 77, .external_lex_state = 31},
  [3082] = {.lex_state = 77, .external_lex_state = 31},
  [3083] = {.lex_state = 77, .external_lex_state = 31},
  [3084] = {.lex_state = 77, .external_lex_state = 31},
  [3085] = {.lex_state = 77, .external_lex_state = 31},
  [3086] = {.lex_state = 77, .external_lex_state = 31},
  [3087] = {.lex_state = 77, .external_lex_state = 31},
  [3088] = {.lex_state = 77, .external_lex_state = 31},
  [3089] = {.lex_state = 77, .external_lex_state = 31},
  [3090] = {.lex_state = 77, .external_lex_state = 31},
  [3091] = {.lex_state = 745, .external_lex_state = 45},
  [3092] = {.lex_state = 77, .external_lex_state = 31},
  [3093] = {.lex_state = 77, .external_lex_state = 31},
  [3094] = {.lex_state = 745, .external_lex_state = 45},
  [3095] = {.lex_state = 77, .external_lex_state = 31},
  [3096] = {.lex_state = 745, .external_lex_state = 45},
  [3097] = {.lex_state = 745, .external_lex_state = 45},
  [3098] = {.lex_state = 77, .external_lex_state = 31},
  [3099] = {.lex_state = 77, .external_lex_state = 31},
  [3100] = {.lex_state = 77, .external_lex_state = 31},
  [3101] = {.lex_state = 745, .external_lex_state = 45},
  [3102] = {.lex_state = 77, .external_lex_state = 31},
  [3103] = {.lex_state = 77, .external_lex_state = 31},
  [3104] = {.lex_state = 745, .external_lex_state = 45},
  [3105] = {.lex_state = 77, .external_lex_state = 31},
  [3106] = {.lex_state = 745, .external_lex_state = 45},
  [3107] = {.lex_state = 748, .external_lex_state = 71},
  [3108] = {.lex_state = 745, .external_lex_state = 24},
  [3109] = {.lex_state = 748, .external_lex_state = 71},
  [3110] = {.lex_state = 95, .external_lex_state = 31},
  [3111] = {.lex_state = 745, .external_lex_state = 45},
  [3112] = {.lex_state = 745, .external_lex_state = 45},
  [3113] = {.lex_state = 745, .external_lex_state = 45},
  [3114] = {.lex_state = 77, .external_lex_state = 31},
  [3115] = {.lex_state = 77, .external_lex_state = 39},
  [3116] = {.lex_state = 77, .external_lex_state = 31},
  [3117] = {.lex_state = 77, .external_lex_state = 31},
  [3118] = {.lex_state = 77, .external_lex_state = 31},
  [3119] = {.lex_state = 77, .external_lex_state = 39},
  [3120] = {.lex_state = 745, .external_lex_state = 45},
  [3121] = {.lex_state = 745, .external_lex_state = 43},
  [3122] = {.lex_state = 77, .external_lex_state = 31},
  [3123] = {.lex_state = 77, .external_lex_state = 31},
  [3124] = {.lex_state = 745, .external_lex_state = 45},
  [3125] = {.lex_state = 745, .external_lex_state = 45},
  [3126] = {.lex_state = 77, .external_lex_state = 39},
  [3127] = {.lex_state = 77, .external_lex_state = 39},
  [3128] = {.lex_state = 77, .external_lex_state = 39},
  [3129] = {.lex_state = 77, .external_lex_state = 31},
  [3130] = {.lex_state = 745, .external_lex_state = 24},
  [3131] = {.lex_state = 77, .external_lex_state = 31},
  [3132] = {.lex_state = 77, .external_lex_state = 31},
  [3133] = {.lex_state = 77, .external_lex_state = 31},
  [3134] = {.lex_state = 77, .external_lex_state = 31},
  [3135] = {.lex_state = 77, .external_lex_state = 31},
  [3136] = {.lex_state = 77, .external_lex_state = 31},
  [3137] = {.lex_state = 77, .external_lex_state = 31},
  [3138] = {.lex_state = 748, .external_lex_state = 72},
  [3139] = {.lex_state = 748, .external_lex_state = 72},
  [3140] = {.lex_state = 748, .external_lex_state = 28},
  [3141] = {.lex_state = 748, .external_lex_state = 28},
  [3142] = {.lex_state = 77, .external_lex_state = 31},
  [3143] = {.lex_state = 77, .external_lex_state = 31},
  [3144] = {.lex_state = 745, .external_lex_state = 43},
  [3145] = {.lex_state = 745, .external_lex_state = 45},
  [3146] = {.lex_state = 745, .external_lex_state = 43},
  [3147] = {.lex_state = 745, .external_lex_state = 45},
  [3148] = {.lex_state = 77, .external_lex_state = 31},
  [3149] = {.lex_state = 77, .external_lex_state = 31},
  [3150] = {.lex_state = 77, .external_lex_state = 31},
  [3151] = {.lex_state = 745, .external_lex_state = 45},
  [3152] = {.lex_state = 77, .external_lex_state = 31},
  [3153] = {.lex_state = 77, .external_lex_state = 31},
  [3154] = {.lex_state = 745, .external_lex_state = 45},
  [3155] = {.lex_state = 745, .external_lex_state = 45},
  [3156] = {.lex_state = 745, .external_lex_state = 45},
  [3157] = {.lex_state = 77, .external_lex_state = 31},
  [3158] = {.lex_state = 77, .external_lex_state = 31},
  [3159] = {.lex_state = 77, .external_lex_state = 31},
  [3160] = {.lex_state = 77, .external_lex_state = 31},
  [3161] = {.lex_state = 745, .external_lex_state = 24},
  [3162] = {.lex_state = 77, .external_lex_state = 31},
  [3163] = {.lex_state = 745, .external_lex_state = 45},
  [3164] = {.lex_state = 745, .external_lex_state = 45},
  [3165] = {.lex_state = 77, .external_lex_state = 31},
  [3166] = {.lex_state = 77, .external_lex_state = 31},
  [3167] = {.lex_state = 745, .external_lex_state = 18},
  [3168] = {.lex_state = 745, .external_lex_state = 45},
  [3169] = {.lex_state = 749, .external_lex_state = 60},
  [3170] = {.lex_state = 77, .external_lex_state = 31},
  [3171] = {.lex_state = 745, .external_lex_state = 45},
  [3172] = {.lex_state = 745, .external_lex_state = 45},
  [3173] = {.lex_state = 748, .external_lex_state = 69},
  [3174] = {.lex_state = 745, .external_lex_state = 45},
  [3175] = {.lex_state = 745, .external_lex_state = 45},
  [3176] = {.lex_state = 745, .external_lex_state = 45},
  [3177] = {.lex_state = 745, .external_lex_state = 45},
  [3178] = {.lex_state = 748, .external_lex_state = 69},
  [3179] = {.lex_state = 77, .external_lex_state = 41},
  [3180] = {.lex_state = 745, .external_lex_state = 43},
  [3181] = {.lex_state = 77, .external_lex_state = 31},
  [3182] = {.lex_state = 749, .external_lex_state = 60},
  [3183] = {.lex_state = 745, .external_lex_state = 45},
  [3184] = {.lex_state = 745, .external_lex_state = 45},
  [3185] = {.lex_state = 745, .external_lex_state = 45},
  [3186] = {.lex_state = 95, .external_lex_state = 31},
  [3187] = {.lex_state = 745, .external_lex_state = 24},
  [3188] = {.lex_state = 745, .external_lex_state = 43},
  [3189] = {.lex_state = 749, .external_lex_state = 60},
  [3190] = {.lex_state = 745, .external_lex_state = 45},
  [3191] = {.lex_state = 77, .external_lex_state = 31},
  [3192] = {.lex_state = 745, .external_lex_state = 43},
  [3193] = {.lex_state = 745, .external_lex_state = 45},
  [3194] = {.lex_state = 77, .external_lex_state = 31},
  [3195] = {.lex_state = 77, .external_lex_state = 31},
  [3196] = {.lex_state = 77, .external_lex_state = 31},
  [3197] = {.lex_state = 77, .external_lex_state = 31},
  [3198] = {.lex_state = 77, .external_lex_state = 31},
  [3199] = {.lex_state = 745, .external_lex_state = 45},
  [3200] = {.lex_state = 749, .external_lex_state = 60},
  [3201] = {.lex_state = 77, .external_lex_state = 31},
  [3202] = {.lex_state = 77, .external_lex_state = 31},
  [3203] = {.lex_state = 745, .external_lex_state = 45},
  [3204] = {.lex_state = 77, .external_lex_state = 31},
  [3205] = {.lex_state = 77, .external_lex_state = 31},
  [3206] = {.lex_state = 745, .external_lex_state = 45},
  [3207] = {.lex_state = 77, .external_lex_state = 31},
  [3208] = {.lex_state = 77, .external_lex_state = 31},
  [3209] = {.lex_state = 95, .external_lex_state = 31},
  [3210] = {.lex_state = 77, .external_lex_state = 31},
  [3211] = {.lex_state = 745, .external_lex_state = 24},
  [3212] = {.lex_state = 745, .external_lex_state = 24},
  [3213] = {.lex_state = 745, .external_lex_state = 45},
  [3214] = {.lex_state = 745, .external_lex_state = 45},
  [3215] = {.lex_state = 77, .external_lex_state = 31},
  [3216] = {.lex_state = 745, .external_lex_state = 43},
  [3217] = {.lex_state = 745, .external_lex_state = 43},
  [3218] = {.lex_state = 77, .external_lex_state = 31},
  [3219] = {.lex_state = 77, .external_lex_state = 31},
  [3220] = {.lex_state = 77, .external_lex_state = 31},
  [3221] = {.lex_state = 77, .external_lex_state = 31},
  [3222] = {.lex_state = 77, .external_lex_state = 31},
  [3223] = {.lex_state = 77, .external_lex_state = 31},
  [3224] = {.lex_state = 95, .external_lex_state = 31},
  [3225] = {.lex_state = 745, .external_lex_state = 43},
  [3226] = {.lex_state = 749, .external_lex_state = 60},
  [3227] = {.lex_state = 77, .external_lex_state = 31},
  [3228] = {.lex_state = 95, .external_lex_state = 31},
  [3229] = {.lex_state = 77, .external_lex_state = 31},
  [3230] = {.lex_state = 77, .external_lex_state = 31},
  [3231] = {.lex_state = 77, .external_lex_state = 31},
  [3232] = {.lex_state = 95, .external_lex_state = 31},
  [3233] = {.lex_state = 95, .external_lex_state = 31},
  [3234] = {.lex_state = 77, .external_lex_state = 31},
  [3235] = {.lex_state = 745, .external_lex_state = 45},
  [3236] = {.lex_state = 745, .external_lex_state = 45},
  [3237] = {.lex_state = 77, .external_lex_state = 31},
  [3238] = {.lex_state = 745, .external_lex_state = 24},
  [3239] = {.lex_state = 95, .external_lex_state = 31},
  [3240] = {.lex_state = 745, .external_lex_state = 45},
  [3241] = {.lex_state = 95, .external_lex_state = 31},
  [3242] = {.lex_state = 745, .external_lex_state = 45},
  [3243] = {.lex_state = 745, .external_lex_state = 45},
  [3244] = {.lex_state = 745, .external_lex_state = 45},
  [3245] = {.lex_state = 745, .external_lex_state = 45},
  [3246] = {.lex_state = 745, .external_lex_state = 45},
  [3247] = {.lex_state = 745, .external_lex_state = 45},
  [3248] = {.lex_state = 95, .external_lex_state = 31},
  [3249] = {.lex_state = 95, .external_lex_state = 31},
  [3250] = {.lex_state = 745, .external_lex_state = 45},
  [3251] = {.lex_state = 745, .external_lex_state = 45},
  [3252] = {.lex_state = 745, .external_lex_state = 45},
  [3253] = {.lex_state = 745, .external_lex_state = 45},
  [3254] = {.lex_state = 745, .external_lex_state = 45},
  [3255] = {.lex_state = 745, .external_lex_state = 45},
  [3256] = {.lex_state = 749, .external_lex_state = 60},
  [3257] = {.lex_state = 745, .external_lex_state = 45},
  [3258] = {.lex_state = 77, .external_lex_state = 31},
  [3259] = {.lex_state = 77, .external_lex_state = 31},
  [3260] = {.lex_state = 95, .external_lex_state = 31},
  [3261] = {.lex_state = 95, .external_lex_state = 31},
  [3262] = {.lex_state = 95, .external_lex_state = 31},
  [3263] = {.lex_state = 95, .external_lex_state = 31},
  [3264] = {.lex_state = 77, .external_lex_state = 31},
  [3265] = {.lex_state = 95, .external_lex_state = 31},
  [3266] = {.lex_state = 745, .external_lex_state = 43},
  [3267] = {.lex_state = 95, .external_lex_state = 31},
  [3268] = {.lex_state = 95, .external_lex_state = 31},
  [3269] = {.lex_state = 77, .external_lex_state = 31},
  [3270] = {.lex_state = 95, .external_lex_state = 31},
  [3271] = {.lex_state = 95, .external_lex_state = 31},
  [3272] = {.lex_state = 748, .external_lex_state = 73},
  [3273] = {.lex_state = 748, .external_lex_state = 73},
  [3274] = {.lex_state = 95, .external_lex_state = 31},
  [3275] = {.lex_state = 77, .external_lex_state = 31},
  [3276] = {.lex_state = 95, .external_lex_state = 31},
  [3277] = {.lex_state = 745, .external_lex_state = 45},
  [3278] = {.lex_state = 745, .external_lex_state = 45},
  [3279] = {.lex_state = 745, .external_lex_state = 45},
  [3280] = {.lex_state = 77, .external_lex_state = 31},
  [3281] = {.lex_state = 77, .external_lex_state = 31},
  [3282] = {.lex_state = 95, .external_lex_state = 31},
  [3283] = {.lex_state = 95, .external_lex_state = 31},
  [3284] = {.lex_state = 95, .external_lex_state = 31},
  [3285] = {.lex_state = 77, .external_lex_state = 31},
  [3286] = {.lex_state = 745, .external_lex_state = 45},
  [3287] = {.lex_state = 745, .external_lex_state = 45},
  [3288] = {.lex_state = 745, .external_lex_state = 45},
  [3289] = {.lex_state = 745, .external_lex_state = 45},
  [3290] = {.lex_state = 95, .external_lex_state = 31},
  [3291] = {.lex_state = 95, .external_lex_state = 31},
  [3292] = {.lex_state = 77, .external_lex_state = 31},
  [3293] = {.lex_state = 77, .external_lex_state = 31},
  [3294] = {.lex_state = 77, .external_lex_state = 31},
  [3295] = {.lex_state = 745, .external_lex_state = 43},
  [3296] = {.lex_state = 95, .external_lex_state = 31},
  [3297] = {.lex_state = 77, .external_lex_state = 31},
  [3298] = {.lex_state = 745, .external_lex_state = 18},
  [3299] = {.lex_state = 77, .external_lex_state = 31},
  [3300] = {.lex_state = 95, .external_lex_state = 31},
  [3301] = {.lex_state = 95, .external_lex_state = 31},
  [3302] = {.lex_state = 77, .external_lex_state = 31},
  [3303] = {.lex_state = 95, .external_lex_state = 31},
  [3304] = {.lex_state = 95, .external_lex_state = 31},
  [3305] = {.lex_state = 95, .external_lex_state = 31},
  [3306] = {.lex_state = 77, .external_lex_state = 31},
  [3307] = {.lex_state = 95, .external_lex_state = 31},
  [3308] = {.lex_state = 95, .external_lex_state = 31},
  [3309] = {.lex_state = 95, .external_lex_state = 31},
  [3310] = {.lex_state = 95, .external_lex_state = 31},
  [3311] = {.lex_state = 77, .external_lex_state = 31},
  [3312] = {.lex_state = 77, .external_lex_state = 31},
  [3313] = {.lex_state = 77, .external_lex_state = 31},
  [3314] = {.lex_state = 745, .external_lex_state = 45},
  [3315] = {.lex_state = 95, .external_lex_state = 31},
  [3316] = {.lex_state = 745, .external_lex_state = 45},
  [3317] = {.lex_state = 77, .external_lex_state = 31},
  [3318] = {.lex_state = 77, .external_lex_state = 31},
  [3319] = {.lex_state = 745, .external_lex_state = 45},
  [3320] = {.lex_state = 745, .external_lex_state = 45},
  [3321] = {.lex_state = 77, .external_lex_state = 31},
  [3322] = {.lex_state = 77, .external_lex_state = 31},
  [3323] = {.lex_state = 77, .external_lex_state = 31},
  [3324] = {.lex_state = 77, .external_lex_state = 31},
  [3325] = {.lex_state = 77, .external_lex_state = 31},
  [3326] = {.lex_state = 77, .external_lex_state = 31},
  [3327] = {.lex_state = 95, .external_lex_state = 31},
  [3328] = {.lex_state = 77, .external_lex_state = 31},
  [3329] = {.lex_state = 95, .external_lex_state = 31},
  [3330] = {.lex_state = 77, .external_lex_state = 31},
  [3331] = {.lex_state = 95, .external_lex_state = 31},
  [3332] = {.lex_state = 77, .external_lex_state = 31},
  [3333] = {.lex_state = 95, .external_lex_state = 31},
  [3334] = {.lex_state = 95, .external_lex_state = 31},
  [3335] = {.lex_state = 95, .external_lex_state = 31},
  [3336] = {.lex_state = 745, .external_lex_state = 24},
  [3337] = {.lex_state = 95, .external_lex_state = 31},
  [3338] = {.lex_state = 77, .external_lex_state = 31},
  [3339] = {.lex_state = 77, .external_lex_state = 31},
  [3340] = {.lex_state = 745, .external_lex_state = 45},
  [3341] = {.lex_state = 745, .external_lex_state = 45},
  [3342] = {.lex_state = 95, .external_lex_state = 31},
  [3343] = {.lex_state = 95, .external_lex_state = 31},
  [3344] = {.lex_state = 77, .external_lex_state = 31},
  [3345] = {.lex_state = 95, .external_lex_state = 31},
  [3346] = {.lex_state = 745, .external_lex_state = 45},
  [3347] = {.lex_state = 745, .external_lex_state = 45},
  [3348] = {.lex_state = 745, .external_lex_state = 45},
  [3349] = {.lex_state = 77, .external_lex_state = 31},
  [3350] = {.lex_state = 95, .external_lex_state = 31},
  [3351] = {.lex_state = 95, .external_lex_state = 31},
  [3352] = {.lex_state = 77, .external_lex_state = 31},
  [3353] = {.lex_state = 77, .external_lex_state = 31},
  [3354] = {.lex_state = 77, .external_lex_state = 39},
  [3355] = {.lex_state = 77, .external_lex_state = 31},
  [3356] = {.lex_state = 77, .external_lex_state = 31},
  [3357] = {.lex_state = 77, .external_lex_state = 31},
  [3358] = {.lex_state = 95, .external_lex_state = 31},
  [3359] = {.lex_state = 95, .external_lex_state = 31},
  [3360] = {.lex_state = 77, .external_lex_state = 31},
  [3361] = {.lex_state = 77, .external_lex_state = 31},
  [3362] = {.lex_state = 77, .external_lex_state = 31},
  [3363] = {.lex_state = 745, .external_lex_state = 24},
  [3364] = {.lex_state = 745, .external_lex_state = 43},
  [3365] = {.lex_state = 745, .external_lex_state = 45},
  [3366] = {.lex_state = 77, .external_lex_state = 31},
  [3367] = {.lex_state = 745, .external_lex_state = 45},
  [3368] = {.lex_state = 745, .external_lex_state = 45},
  [3369] = {.lex_state = 745, .external_lex_state = 45},
  [3370] = {.lex_state = 745, .external_lex_state = 45},
  [3371] = {.lex_state = 95, .external_lex_state = 31},
  [3372] = {.lex_state = 95, .external_lex_state = 31},
  [3373] = {.lex_state = 77, .external_lex_state = 31},
  [3374] = {.lex_state = 95, .external_lex_state = 31},
  [3375] = {.lex_state = 95, .external_lex_state = 31},
  [3376] = {.lex_state = 748, .external_lex_state = 74},
  [3377] = {.lex_state = 95, .external_lex_state = 31},
  [3378] = {.lex_state = 95, .external_lex_state = 31},
  [3379] = {.lex_state = 95, .external_lex_state = 31},
  [3380] = {.lex_state = 95, .external_lex_state = 31},
  [3381] = {.lex_state = 95, .external_lex_state = 31},
  [3382] = {.lex_state = 745, .external_lex_state = 45},
  [3383] = {.lex_state = 77, .external_lex_state = 31},
  [3384] = {.lex_state = 95, .external_lex_state = 31},
  [3385] = {.lex_state = 77, .external_lex_state = 31},
  [3386] = {.lex_state = 745, .external_lex_state = 45},
  [3387] = {.lex_state = 745, .external_lex_state = 45},
  [3388] = {.lex_state = 95, .external_lex_state = 31},
  [3389] = {.lex_state = 745, .external_lex_state = 43},
  [3390] = {.lex_state = 745, .external_lex_state = 45},
  [3391] = {.lex_state = 95, .external_lex_state = 31},
  [3392] = {.lex_state = 77, .external_lex_state = 31},
  [3393] = {.lex_state = 77, .external_lex_state = 31},
  [3394] = {.lex_state = 77, .external_lex_state = 31},
  [3395] = {.lex_state = 77, .external_lex_state = 31},
  [3396] = {.lex_state = 745, .external_lex_state = 43},
  [3397] = {.lex_state = 95, .external_lex_state = 31},
  [3398] = {.lex_state = 95, .external_lex_state = 31},
  [3399] = {.lex_state = 745, .external_lex_state = 43},
  [3400] = {.lex_state = 745, .external_lex_state = 45},
  [3401] = {.lex_state = 745, .external_lex_state = 45},
  [3402] = {.lex_state = 745, .external_lex_state = 45},
  [3403] = {.lex_state = 745, .external_lex_state = 43},
  [3404] = {.lex_state = 745, .external_lex_state = 43},
  [3405] = {.lex_state = 77, .external_lex_state = 31},
  [3406] = {.lex_state = 745, .external_lex_state = 43},
  [3407] = {.lex_state = 95, .external_lex_state = 31},
  [3408] = {.lex_state = 745, .external_lex_state = 45},
  [3409] = {.lex_state = 745, .external_lex_state = 45},
  [3410] = {.lex_state = 745, .external_lex_state = 43},
  [3411] = {.lex_state = 745, .external_lex_state = 43},
  [3412] = {.lex_state = 745, .external_lex_state = 43},
  [3413] = {.lex_state = 745, .external_lex_state = 45},
  [3414] = {.lex_state = 77, .external_lex_state = 31},
  [3415] = {.lex_state = 77, .external_lex_state = 31},
  [3416] = {.lex_state = 745, .external_lex_state = 45},
  [3417] = {.lex_state = 745, .external_lex_state = 45},
  [3418] = {.lex_state = 745, .external_lex_state = 43},
  [3419] = {.lex_state = 95, .external_lex_state = 31},
  [3420] = {.lex_state = 77, .external_lex_state = 31},
  [3421] = {.lex_state = 745, .external_lex_state = 43},
  [3422] = {.lex_state = 95, .external_lex_state = 31},
  [3423] = {.lex_state = 77, .external_lex_state = 31},
  [3424] = {.lex_state = 745, .external_lex_state = 45},
  [3425] = {.lex_state = 95, .external_lex_state = 31},
  [3426] = {.lex_state = 745, .external_lex_state = 45},
  [3427] = {.lex_state = 745, .external_lex_state = 43},
  [3428] = {.lex_state = 745, .external_lex_state = 43},
  [3429] = {.lex_state = 95, .external_lex_state = 31},
  [3430] = {.lex_state = 77, .external_lex_state = 31},
  [3431] = {.lex_state = 745, .external_lex_state = 43},
  [3432] = {.lex_state = 77, .external_lex_state = 31},
  [3433] = {.lex_state = 77, .external_lex_state = 31},
  [3434] = {.lex_state = 77, .external_lex_state = 31},
  [3435] = {.lex_state = 95, .external_lex_state = 31},
  [3436] = {.lex_state = 77, .external_lex_state = 31},
  [3437] = {.lex_state = 745, .external_lex_state = 43},
  [3438] = {.lex_state = 745, .external_lex_state = 43},
  [3439] = {.lex_state = 77, .external_lex_state = 31},
  [3440] = {.lex_state = 95, .external_lex_state = 31},
  [3441] = {.lex_state = 95, .external_lex_state = 31},
  [3442] = {.lex_state = 77, .external_lex_state = 31},
  [3443] = {.lex_state = 77, .external_lex_state = 31},
  [3444] = {.lex_state = 95, .external_lex_state = 31},
  [3445] = {.lex_state = 77, .external_lex_state = 31},
  [3446] = {.lex_state = 745, .external_lex_state = 43},
  [3447] = {.lex_state = 77, .external_lex_state = 31},
  [3448] = {.lex_state = 77, .external_lex_state = 31},
  [3449] = {.lex_state = 77, .external_lex_state = 31},
  [3450] = {.lex_state = 745, .external_lex_state = 43},
  [3451] = {.lex_state = 745, .external_lex_state = 43},
  [3452] = {.lex_state = 77, .external_lex_state = 31},
  [3453] = {.lex_state = 77, .external_lex_state = 31},
  [3454] = {.lex_state = 745, .external_lex_state = 45},
  [3455] = {.lex_state = 745, .external_lex_state = 43},
  [3456] = {.lex_state = 745, .external_lex_state = 43},
  [3457] = {.lex_state = 77, .external_lex_state = 31},
  [3458] = {.lex_state = 95, .external_lex_state = 31},
  [3459] = {.lex_state = 745, .external_lex_state = 43},
  [3460] = {.lex_state = 77, .external_lex_state = 31},
  [3461] = {.lex_state = 745, .external_lex_state = 43},
  [3462] = {.lex_state = 95, .external_lex_state = 31},
  [3463] = {.lex_state = 748, .external_lex_state = 74},
  [3464] = {.lex_state = 77, .external_lex_state = 31},
  [3465] = {.lex_state = 745, .external_lex_state = 43},
  [3466] = {.lex_state = 77, .external_lex_state = 31},
  [3467] = {.lex_state = 745, .external_lex_state = 43},
  [3468] = {.lex_state = 77, .external_lex_state = 67},
  [3469] = {.lex_state = 745, .external_lex_state = 43},
  [3470] = {.lex_state = 95, .external_lex_state = 31},
  [3471] = {.lex_state = 77, .external_lex_state = 31},
  [3472] = {.lex_state = 77, .external_lex_state = 31},
  [3473] = {.lex_state = 745, .external_lex_state = 43},
  [3474] = {.lex_state = 95, .external_lex_state = 31},
  [3475] = {.lex_state = 95, .external_lex_state = 31},
  [3476] = {.lex_state = 745, .external_lex_state = 43},
  [3477] = {.lex_state = 745, .external_lex_state = 43},
  [3478] = {.lex_state = 745, .external_lex_state = 43},
  [3479] = {.lex_state = 77, .external_lex_state = 31},
  [3480] = {.lex_state = 95, .external_lex_state = 31},
  [3481] = {.lex_state = 77, .external_lex_state = 31},
  [3482] = {.lex_state = 77, .external_lex_state = 31},
  [3483] = {.lex_state = 95, .external_lex_state = 31},
  [3484] = {.lex_state = 745, .external_lex_state = 45},
  [3485] = {.lex_state = 95, .external_lex_state = 31},
  [3486] = {.lex_state = 745, .external_lex_state = 43},
  [3487] = {.lex_state = 95, .external_lex_state = 31},
  [3488] = {.lex_state = 745, .external_lex_state = 45},
  [3489] = {.lex_state = 745, .external_lex_state = 43},
  [3490] = {.lex_state = 745, .external_lex_state = 43},
  [3491] = {.lex_state = 745, .external_lex_state = 43},
  [3492] = {.lex_state = 745, .external_lex_state = 43},
  [3493] = {.lex_state = 745, .external_lex_state = 43},
  [3494] = {.lex_state = 745, .external_lex_state = 43},
  [3495] = {.lex_state = 95, .external_lex_state = 31},
  [3496] = {.lex_state = 745, .external_lex_state = 43},
  [3497] = {.lex_state = 745, .external_lex_state = 43},
  [3498] = {.lex_state = 745, .external_lex_state = 43},
  [3499] = {.lex_state = 745, .external_lex_state = 43},
  [3500] = {.lex_state = 95, .external_lex_state = 31},
  [3501] = {.lex_state = 77, .external_lex_state = 31},
  [3502] = {.lex_state = 77, .external_lex_state = 31},
  [3503] = {.lex_state = 77, .external_lex_state = 31},
  [3504] = {.lex_state = 745, .external_lex_state = 43},
  [3505] = {.lex_state = 745, .external_lex_state = 43},
  [3506] = {.lex_state = 745, .external_lex_state = 43},
  [3507] = {.lex_state = 95, .external_lex_state = 31},
  [3508] = {.lex_state = 95, .external_lex_state = 31},
  [3509] = {.lex_state = 745, .external_lex_state = 43},
  [3510] = {.lex_state = 77, .external_lex_state = 31},
  [3511] = {.lex_state = 745, .external_lex_state = 43},
  [3512] = {.lex_state = 745, .external_lex_state = 43},
  [3513] = {.lex_state = 77, .external_lex_state = 31},
  [3514] = {.lex_state = 745, .external_lex_state = 43},
  [3515] = {.lex_state = 77, .external_lex_state = 31},
  [3516] = {.lex_state = 77, .external_lex_state = 31},
  [3517] = {.lex_state = 745, .external_lex_state = 43},
  [3518] = {.lex_state = 77, .external_lex_state = 31},
  [3519] = {.lex_state = 745, .external_lex_state = 45},
  [3520] = {.lex_state = 77, .external_lex_state = 31},
  [3521] = {.lex_state = 745, .external_lex_state = 43},
  [3522] = {.lex_state = 745, .external_lex_state = 43},
  [3523] = {.lex_state = 77, .external_lex_state = 31},
  [3524] = {.lex_state = 745, .external_lex_state = 43},
  [3525] = {.lex_state = 77, .external_lex_state = 67},
  [3526] = {.lex_state = 745, .external_lex_state = 43},
  [3527] = {.lex_state = 95, .external_lex_state = 31},
  [3528] = {.lex_state = 95, .external_lex_state = 31},
  [3529] = {.lex_state = 745, .external_lex_state = 43},
  [3530] = {.lex_state = 745, .external_lex_state = 43},
  [3531] = {.lex_state = 745, .external_lex_state = 43},
  [3532] = {.lex_state = 745, .external_lex_state = 43},
  [3533] = {.lex_state = 95, .external_lex_state = 31},
  [3534] = {.lex_state = 77, .external_lex_state = 31},
  [3535] = {.lex_state = 77, .external_lex_state = 31},
  [3536] = {.lex_state = 95, .external_lex_state = 31},
  [3537] = {.lex_state = 77, .external_lex_state = 31},
  [3538] = {.lex_state = 77, .external_lex_state = 31},
  [3539] = {.lex_state = 745, .external_lex_state = 43},
  [3540] = {.lex_state = 745, .external_lex_state = 43},
  [3541] = {.lex_state = 77, .external_lex_state = 31},
  [3542] = {.lex_state = 77, .external_lex_state = 31},
  [3543] = {.lex_state = 95, .external_lex_state = 31},
  [3544] = {.lex_state = 95, .external_lex_state = 31},
  [3545] = {.lex_state = 745, .external_lex_state = 43},
  [3546] = {.lex_state = 745, .external_lex_state = 43},
  [3547] = {.lex_state = 745, .external_lex_state = 43},
  [3548] = {.lex_state = 745, .external_lex_state = 43},
  [3549] = {.lex_state = 745, .external_lex_state = 43},
  [3550] = {.lex_state = 77, .external_lex_state = 31},
  [3551] = {.lex_state = 77, .external_lex_state = 31},
  [3552] = {.lex_state = 745, .external_lex_state = 43},
  [3553] = {.lex_state = 745, .external_lex_state = 43},
  [3554] = {.lex_state = 95, .external_lex_state = 31},
  [3555] = {.lex_state = 745, .external_lex_state = 43},
  [3556] = {.lex_state = 745, .external_lex_state = 43},
  [3557] = {.lex_state = 745, .external_lex_state = 43},
  [3558] = {.lex_state = 745, .external_lex_state = 43},
  [3559] = {.lex_state = 745, .external_lex_state = 43},
  [3560] = {.lex_state = 745, .external_lex_state = 43},
  [3561] = {.lex_state = 95, .external_lex_state = 31},
  [3562] = {.lex_state = 95, .external_lex_state = 31},
  [3563] = {.lex_state = 745, .external_lex_state = 43},
  [3564] = {.lex_state = 745, .external_lex_state = 43},
  [3565] = {.lex_state = 745, .external_lex_state = 43},
  [3566] = {.lex_state = 745, .external_lex_state = 43},
  [3567] = {.lex_state = 745, .external_lex_state = 43},
  [3568] = {.lex_state = 745, .external_lex_state = 43},
  [3569] = {.lex_state = 77, .external_lex_state = 67},
  [3570] = {.lex_state = 745, .external_lex_state = 43},
  [3571] = {.lex_state = 745, .external_lex_state = 43},
  [3572] = {.lex_state = 77, .external_lex_state = 31},
  [3573] = {.lex_state = 95, .external_lex_state = 31},
  [3574] = {.lex_state = 745, .external_lex_state = 45},
  [3575] = {.lex_state = 77, .external_lex_state = 31},
  [3576] = {.lex_state = 745, .external_lex_state = 43},
  [3577] = {.lex_state = 745, .external_lex_state = 43},
  [3578] = {.lex_state = 95, .external_lex_state = 31},
  [3579] = {.lex_state = 745, .external_lex_state = 24},
  [3580] = {.lex_state = 77, .external_lex_state = 64},
  [3581] = {.lex_state = 745, .external_lex_state = 24},
  [3582] = {.lex_state = 745, .external_lex_state = 24},
  [3583] = {.lex_state = 745, .external_lex_state = 24},
  [3584] = {.lex_state = 745, .external_lex_state = 24},
  [3585] = {.lex_state = 745, .external_lex_state = 24},
  [3586] = {.lex_state = 745, .external_lex_state = 18},
  [3587] = {.lex_state = 745, .external_lex_state = 24},
  [3588] = {.lex_state = 745, .external_lex_state = 24},
  [3589] = {.lex_state = 745, .external_lex_state = 24},
  [3590] = {.lex_state = 745, .external_lex_state = 24},
  [3591] = {.lex_state = 77, .external_lex_state = 75},
  [3592] = {.lex_state = 745, .external_lex_state = 24},
  [3593] = {.lex_state = 745, .external_lex_state = 24},
  [3594] = {.lex_state = 745, .external_lex_state = 24},
  [3595] = {.lex_state = 745, .external_lex_state = 24},
  [3596] = {.lex_state = 77, .external_lex_state = 64},
  [3597] = {.lex_state = 745, .external_lex_state = 24},
  [3598] = {.lex_state = 77, .external_lex_state = 64},
  [3599] = {.lex_state = 745, .external_lex_state = 24},
  [3600] = {.lex_state = 745, .external_lex_state = 24},
  [3601] = {.lex_state = 745, .external_lex_state = 24},
  [3602] = {.lex_state = 745, .external_lex_state = 24},
  [3603] = {.lex_state = 745, .external_lex_state = 24},
  [3604] = {.lex_state = 745, .external_lex_state = 24},
  [3605] = {.lex_state = 745, .external_lex_state = 24},
  [3606] = {.lex_state = 745, .external_lex_state = 24},
  [3607] = {.lex_state = 77, .external_lex_state = 41},
  [3608] = {.lex_state = 745, .external_lex_state = 24},
  [3609] = {.lex_state = 745, .external_lex_state = 24},
  [3610] = {.lex_state = 77, .external_lex_state = 57},
  [3611] = {.lex_state = 77, .external_lex_state = 64},
  [3612] = {.lex_state = 745, .external_lex_state = 24},
  [3613] = {.lex_state = 745, .external_lex_state = 24},
  [3614] = {.lex_state = 745, .external_lex_state = 24},
  [3615] = {.lex_state = 745, .external_lex_state = 24},
  [3616] = {.lex_state = 745, .external_lex_state = 24},
  [3617] = {.lex_state = 95, .external_lex_state = 31},
  [3618] = {.lex_state = 745, .external_lex_state = 24},
  [3619] = {.lex_state = 745, .external_lex_state = 24},
  [3620] = {.lex_state = 745, .external_lex_state = 24},
  [3621] = {.lex_state = 77, .external_lex_state = 64},
  [3622] = {.lex_state = 77, .external_lex_state = 64},
  [3623] = {.lex_state = 77, .external_lex_state = 64},
  [3624] = {.lex_state = 745, .external_lex_state = 24},
  [3625] = {.lex_state = 77, .external_lex_state = 76},
  [3626] = {.lex_state = 748, .external_lex_state = 27},
  [3627] = {.lex_state = 748, .external_lex_state = 27},
  [3628] = {.lex_state = 745, .external_lex_state = 24},
  [3629] = {.lex_state = 748, .external_lex_state = 77},
  [3630] = {.lex_state = 748, .external_lex_state = 77},
  [3631] = {.lex_state = 77, .external_lex_state = 64},
  [3632] = {.lex_state = 745, .external_lex_state = 24},
  [3633] = {.lex_state = 745, .external_lex_state = 24},
  [3634] = {.lex_state = 745, .external_lex_state = 24},
  [3635] = {.lex_state = 745, .external_lex_state = 24},
  [3636] = {.lex_state = 745, .external_lex_state = 24},
  [3637] = {.lex_state = 745, .external_lex_state = 24},
  [3638] = {.lex_state = 745, .external_lex_state = 24},
  [3639] = {.lex_state = 745, .external_lex_state = 24},
  [3640] = {.lex_state = 748, .external_lex_state = 78},
  [3641] = {.lex_state = 748, .external_lex_state = 78},
  [3642] = {.lex_state = 745, .external_lex_state = 24},
  [3643] = {.lex_state = 745, .external_lex_state = 24},
  [3644] = {.lex_state = 745, .external_lex_state = 24},
  [3645] = {.lex_state = 745, .external_lex_state = 24},
  [3646] = {.lex_state = 748, .external_lex_state = 74},
  [3647] = {.lex_state = 745, .external_lex_state = 24},
  [3648] = {.lex_state = 745, .external_lex_state = 24},
  [3649] = {.lex_state = 745, .external_lex_state = 24},
  [3650] = {.lex_state = 745, .external_lex_state = 24},
  [3651] = {.lex_state = 745, .external_lex_state = 24},
  [3652] = {.lex_state = 745, .external_lex_state = 24},
  [3653] = {.lex_state = 77, .external_lex_state = 41},
  [3654] = {.lex_state = 77, .external_lex_state = 41},
  [3655] = {.lex_state = 745, .external_lex_state = 24},
  [3656] = {.lex_state = 745, .external_lex_state = 24},
  [3657] = {.lex_state = 77, .external_lex_state = 64},
  [3658] = {.lex_state = 745, .external_lex_state = 24},
  [3659] = {.lex_state = 745, .external_lex_state = 24},
  [3660] = {.lex_state = 77, .external_lex_state = 64},
  [3661] = {.lex_state = 77, .external_lex_state = 41},
  [3662] = {.lex_state = 745, .external_lex_state = 24},
  [3663] = {.lex_state = 745, .external_lex_state = 24},
  [3664] = {.lex_state = 745, .external_lex_state = 24},
  [3665] = {.lex_state = 77, .external_lex_state = 41},
  [3666] = {.lex_state = 745, .external_lex_state = 24},
  [3667] = {.lex_state = 77, .external_lex_state = 41},
  [3668] = {.lex_state = 745, .external_lex_state = 24},
  [3669] = {.lex_state = 745, .external_lex_state = 24},
  [3670] = {.lex_state = 745, .external_lex_state = 24},
  [3671] = {.lex_state = 745, .external_lex_state = 24},
  [3672] = {.lex_state = 745, .external_lex_state = 24},
  [3673] = {.lex_state = 745, .external_lex_state = 24},
  [3674] = {.lex_state = 745, .external_lex_state = 24},
  [3675] = {.lex_state = 745, .external_lex_state = 24},
  [3676] = {.lex_state = 745, .external_lex_state = 24},
  [3677] = {.lex_state = 745, .external_lex_state = 24},
  [3678] = {.lex_state = 745, .external_lex_state = 24},
  [3679] = {.lex_state = 745, .external_lex_state = 24},
  [3680] = {.lex_state = 745, .external_lex_state = 24},
  [3681] = {.lex_state = 745, .external_lex_state = 24},
  [3682] = {.lex_state = 745, .external_lex_state = 24},
  [3683] = {.lex_state = 745, .external_lex_state = 24},
  [3684] = {.lex_state = 745, .external_lex_state = 24},
  [3685] = {.lex_state = 745, .external_lex_state = 24},
  [3686] = {.lex_state = 745, .external_lex_state = 24},
  [3687] = {.lex_state = 745, .external_lex_state = 24},
  [3688] = {.lex_state = 77, .external_lex_state = 64},
  [3689] = {.lex_state = 745, .external_lex_state = 24},
  [3690] = {.lex_state = 745, .external_lex_state = 24},
  [3691] = {.lex_state = 745, .external_lex_state = 24},
  [3692] = {.lex_state = 745, .external_lex_state = 24},
  [3693] = {.lex_state = 745, .external_lex_state = 24},
  [3694] = {.lex_state = 745, .external_lex_state = 24},
  [3695] = {.lex_state = 745, .external_lex_state = 24},
  [3696] = {.lex_state = 745, .external_lex_state = 24},
  [3697] = {.lex_state = 77, .external_lex_state = 64},
  [3698] = {.lex_state = 745, .external_lex_state = 24},
  [3699] = {.lex_state = 745, .external_lex_state = 24},
  [3700] = {.lex_state = 745, .external_lex_state = 24},
  [3701] = {.lex_state = 745, .external_lex_state = 24},
  [3702] = {.lex_state = 745, .external_lex_state = 24},
  [3703] = {.lex_state = 745, .external_lex_state = 24},
  [3704] = {.lex_state = 77, .external_lex_state = 31},
  [3705] = {.lex_state = 748, .external_lex_state = 74},
  [3706] = {.lex_state = 77, .external_lex_state = 67},
  [3707] = {.lex_state = 77, .external_lex_state = 67},
  [3708] = {.lex_state = 77, .external_lex_state = 67},
  [3709] = {.lex_state = 77, .external_lex_state = 67},
  [3710] = {.lex_state = 77, .external_lex_state = 64},
  [3711] = {.lex_state = 77, .external_lex_state = 67},
  [3712] = {.lex_state = 77, .external_lex_state = 67},
  [3713] = {.lex_state = 77, .external_lex_state = 64},
  [3714] = {.lex_state = 77, .external_lex_state = 64},
  [3715] = {.lex_state = 748, .external_lex_state = 79},
  [3716] = {.lex_state = 77, .external_lex_state = 57},
  [3717] = {.lex_state = 77, .external_lex_state = 64},
  [3718] = {.lex_state = 77, .external_lex_state = 31},
  [3719] = {.lex_state = 77, .external_lex_state = 67},
  [3720] = {.lex_state = 77, .external_lex_state = 64},
  [3721] = {.lex_state = 77, .external_lex_state = 64},
  [3722] = {.lex_state = 72, .external_lex_state = 78},
  [3723] = {.lex_state = 77, .external_lex_state = 67},
  [3724] = {.lex_state = 72, .external_lex_state = 78},
  [3725] = {.lex_state = 77, .external_lex_state = 67},
  [3726] = {.lex_state = 77, .external_lex_state = 67},
  [3727] = {.lex_state = 77, .external_lex_state = 67},
  [3728] = {.lex_state = 748, .external_lex_state = 79},
  [3729] = {.lex_state = 77, .external_lex_state = 57},
  [3730] = {.lex_state = 77, .external_lex_state = 67},
  [3731] = {.lex_state = 77, .external_lex_state = 31},
  [3732] = {.lex_state = 77, .external_lex_state = 59},
  [3733] = {.lex_state = 77, .external_lex_state = 67},
  [3734] = {.lex_state = 748, .external_lex_state = 79},
  [3735] = {.lex_state = 77, .external_lex_state = 75},
  [3736] = {.lex_state = 77, .external_lex_state = 46},
  [3737] = {.lex_state = 77, .external_lex_state = 67},
  [3738] = {.lex_state = 77, .external_lex_state = 67},
  [3739] = {.lex_state = 72, .external_lex_state = 30},
  [3740] = {.lex_state = 77, .external_lex_state = 59},
  [3741] = {.lex_state = 77, .external_lex_state = 75},
  [3742] = {.lex_state = 70, .external_lex_state = 31},
  [3743] = {.lex_state = 749, .external_lex_state = 80},
  [3744] = {.lex_state = 77, .external_lex_state = 75},
  [3745] = {.lex_state = 70, .external_lex_state = 31},
  [3746] = {.lex_state = 77, .external_lex_state = 46},
  [3747] = {.lex_state = 77, .external_lex_state = 59},
  [3748] = {.lex_state = 77, .external_lex_state = 75},
  [3749] = {.lex_state = 77, .external_lex_state = 67},
  [3750] = {.lex_state = 748, .external_lex_state = 81},
  [3751] = {.lex_state = 77, .external_lex_state = 67},
  [3752] = {.lex_state = 70, .external_lex_state = 31},
  [3753] = {.lex_state = 748, .external_lex_state = 79},
  [3754] = {.lex_state = 77, .external_lex_state = 75},
  [3755] = {.lex_state = 77, .external_lex_state = 67},
  [3756] = {.lex_state = 77, .external_lex_state = 75},
  [3757] = {.lex_state = 77, .external_lex_state = 59},
  [3758] = {.lex_state = 77, .external_lex_state = 31},
  [3759] = {.lex_state = 77, .external_lex_state = 46},
  [3760] = {.lex_state = 748, .external_lex_state = 71},
  [3761] = {.lex_state = 70, .external_lex_state = 31},
  [3762] = {.lex_state = 70, .external_lex_state = 31},
  [3763] = {.lex_state = 70, .external_lex_state = 31},
  [3764] = {.lex_state = 748, .external_lex_state = 81},
  [3765] = {.lex_state = 77, .external_lex_state = 75},
  [3766] = {.lex_state = 72, .external_lex_state = 30},
  [3767] = {.lex_state = 748, .external_lex_state = 71},
  [3768] = {.lex_state = 77, .external_lex_state = 76},
  [3769] = {.lex_state = 77, .external_lex_state = 46},
  [3770] = {.lex_state = 749, .external_lex_state = 82},
  [3771] = {.lex_state = 77, .external_lex_state = 46},
  [3772] = {.lex_state = 77, .external_lex_state = 31},
  [3773] = {.lex_state = 77, .external_lex_state = 59},
  [3774] = {.lex_state = 77, .external_lex_state = 75},
  [3775] = {.lex_state = 77, .external_lex_state = 75},
  [3776] = {.lex_state = 749, .external_lex_state = 80},
  [3777] = {.lex_state = 70, .external_lex_state = 31},
  [3778] = {.lex_state = 749, .external_lex_state = 82},
  [3779] = {.lex_state = 77, .external_lex_state = 75},
  [3780] = {.lex_state = 749, .external_lex_state = 82},
  [3781] = {.lex_state = 749, .external_lex_state = 82},
  [3782] = {.lex_state = 749, .external_lex_state = 82},
  [3783] = {.lex_state = 77, .external_lex_state = 59},
  [3784] = {.lex_state = 77, .external_lex_state = 59},
  [3785] = {.lex_state = 77, .external_lex_state = 59},
  [3786] = {.lex_state = 77, .external_lex_state = 44},
  [3787] = {.lex_state = 77, .external_lex_state = 46},
  [3788] = {.lex_state = 77, .external_lex_state = 46},
  [3789] = {.lex_state = 749, .external_lex_state = 82},
  [3790] = {.lex_state = 77, .external_lex_state = 59},
  [3791] = {.lex_state = 748, .external_lex_state = 31},
  [3792] = {.lex_state = 77, .external_lex_state = 46},
  [3793] = {.lex_state = 77, .external_lex_state = 44},
  [3794] = {.lex_state = 748, .external_lex_state = 31},
  [3795] = {.lex_state = 77, .external_lex_state = 46},
  [3796] = {.lex_state = 77, .external_lex_state = 59},
  [3797] = {.lex_state = 77, .external_lex_state = 59},
  [3798] = {.lex_state = 77, .external_lex_state = 46},
  [3799] = {.lex_state = 77, .external_lex_state = 46},
  [3800] = {.lex_state = 749, .external_lex_state = 82},
  [3801] = {.lex_state = 77, .external_lex_state = 75},
  [3802] = {.lex_state = 749, .external_lex_state = 82},
  [3803] = {.lex_state = 749, .external_lex_state = 82},
  [3804] = {.lex_state = 77, .external_lex_state = 75},
  [3805] = {.lex_state = 77, .external_lex_state = 75},
  [3806] = {.lex_state = 749, .external_lex_state = 82},
  [3807] = {.lex_state = 77, .external_lex_state = 75},
  [3808] = {.lex_state = 77, .external_lex_state = 75},
  [3809] = {.lex_state = 77, .external_lex_state = 75},
  [3810] = {.lex_state = 77, .external_lex_state = 75},
  [3811] = {.lex_state = 108, .external_lex_state = 57},
  [3812] = {.lex_state = 749, .external_lex_state = 82},
  [3813] = {.lex_state = 77, .external_lex_state = 75},
  [3814] = {.lex_state = 77, .external_lex_state = 75},
  [3815] = {.lex_state = 749, .external_lex_state = 82},
  [3816] = {.lex_state = 77, .external_lex_state = 57},
  [3817] = {.lex_state = 77, .external_lex_state = 75},
  [3818] = {.lex_state = 749, .external_lex_state = 82},
  [3819] = {.lex_state = 749, .external_lex_state = 82},
  [3820] = {.lex_state = 77, .external_lex_state = 82},
  [3821] = {.lex_state = 749, .external_lex_state = 82},
  [3822] = {.lex_state = 749, .external_lex_state = 82},
  [3823] = {.lex_state = 77, .external_lex_state = 75},
  [3824] = {.lex_state = 749, .external_lex_state = 82},
  [3825] = {.lex_state = 109, .external_lex_state = 31},
  [3826] = {.lex_state = 749, .external_lex_state = 82},
  [3827] = {.lex_state = 749, .external_lex_state = 82},
  [3828] = {.lex_state = 749, .external_lex_state = 82},
  [3829] = {.lex_state = 77, .external_lex_state = 75},
  [3830] = {.lex_state = 748, .external_lex_state = 31},
  [3831] = {.lex_state = 749, .external_lex_state = 82},
  [3832] = {.lex_state = 749, .external_lex_state = 82},
  [3833] = {.lex_state = 77, .external_lex_state = 75},
  [3834] = {.lex_state = 77, .external_lex_state = 82},
  [3835] = {.lex_state = 77, .external_lex_state = 82},
  [3836] = {.lex_state = 77, .external_lex_state = 75},
  [3837] = {.lex_state = 749, .external_lex_state = 82},
  [3838] = {.lex_state = 748, .external_lex_state = 31},
  [3839] = {.lex_state = 748, .external_lex_state = 31},
  [3840] = {.lex_state = 748, .external_lex_state = 31},
  [3841] = {.lex_state = 77, .external_lex_state = 57},
  [3842] = {.lex_state = 748, .external_lex_state = 31},
  [3843] = {.lex_state = 748, .external_lex_state = 31},
  [3844] = {.lex_state = 77, .external_lex_state = 57},
  [3845] = {.lex_state = 77, .external_lex_state = 57},
  [3846] = {.lex_state = 748, .external_lex_state = 31},
  [3847] = {.lex_state = 748, .external_lex_state = 31},
  [3848] = {.lex_state = 748, .external_lex_state = 31},
  [3849] = {.lex_state = 748, .external_lex_state = 31},
  [3850] = {.lex_state = 748, .external_lex_state = 31},
  [3851] = {.lex_state = 748, .external_lex_state = 31},
  [3852] = {.lex_state = 748, .external_lex_state = 31},
  [3853] = {.lex_state = 748, .external_lex_state = 31},
  [3854] = {.lex_state = 77, .external_lex_state = 57},
  [3855] = {.lex_state = 748, .external_lex_state = 31},
  [3856] = {.lex_state = 748, .external_lex_state = 31},
  [3857] = {.lex_state = 749, .external_lex_state = 82},
  [3858] = {.lex_state = 77, .external_lex_state = 57},
  [3859] = {.lex_state = 77, .external_lex_state = 75},
  [3860] = {.lex_state = 77, .external_lex_state = 75},
  [3861] = {.lex_state = 77, .external_lex_state = 75},
  [3862] = {.lex_state = 77, .external_lex_state = 75},
  [3863] = {.lex_state = 77, .external_lex_state = 57},
  [3864] = {.lex_state = 77, .external_lex_state = 82},
  [3865] = {.lex_state = 77, .external_lex_state = 82},
  [3866] = {.lex_state = 96, .external_lex_state = 31},
  [3867] = {.lex_state = 77, .external_lex_state = 82},
  [3868] = {.lex_state = 77, .external_lex_state = 76},
  [3869] = {.lex_state = 77, .external_lex_state = 76},
  [3870] = {.lex_state = 64, .external_lex_state = 58},
  [3871] = {.lex_state = 64, .external_lex_state = 58},
  [3872] = {.lex_state = 64, .external_lex_state = 58},
  [3873] = {.lex_state = 77, .external_lex_state = 76},
  [3874] = {.lex_state = 77, .external_lex_state = 31},
  [3875] = {.lex_state = 748, .external_lex_state = 31},
  [3876] = {.lex_state = 748, .external_lex_state = 31},
  [3877] = {.lex_state = 748, .external_lex_state = 31},
  [3878] = {.lex_state = 748, .external_lex_state = 31},
  [3879] = {.lex_state = 748, .external_lex_state = 31},
  [3880] = {.lex_state = 81, .external_lex_state = 83},
  [3881] = {.lex_state = 748, .external_lex_state = 31},
  [3882] = {.lex_state = 748, .external_lex_state = 31},
  [3883] = {.lex_state = 748, .external_lex_state = 31},
  [3884] = {.lex_state = 748, .external_lex_state = 31},
  [3885] = {.lex_state = 748, .external_lex_state = 31},
  [3886] = {.lex_state = 748, .external_lex_state = 31},
  [3887] = {.lex_state = 748, .external_lex_state = 31},
  [3888] = {.lex_state = 748, .external_lex_state = 31},
  [3889] = {.lex_state = 77, .external_lex_state = 44},
  [3890] = {.lex_state = 748, .external_lex_state = 31},
  [3891] = {.lex_state = 81, .external_lex_state = 83},
  [3892] = {.lex_state = 748, .external_lex_state = 31},
  [3893] = {.lex_state = 748, .external_lex_state = 31},
  [3894] = {.lex_state = 748, .external_lex_state = 31},
  [3895] = {.lex_state = 81, .external_lex_state = 83},
  [3896] = {.lex_state = 748, .external_lex_state = 31},
  [3897] = {.lex_state = 748, .external_lex_state = 31},
  [3898] = {.lex_state = 748, .external_lex_state = 31},
  [3899] = {.lex_state = 748, .external_lex_state = 31},
  [3900] = {.lex_state = 748, .external_lex_state = 31},
  [3901] = {.lex_state = 748, .external_lex_state = 31},
  [3902] = {.lex_state = 748, .external_lex_state = 31},
  [3903] = {.lex_state = 748, .external_lex_state = 31},
  [3904] = {.lex_state = 81, .external_lex_state = 83},
  [3905] = {.lex_state = 748, .external_lex_state = 31},
  [3906] = {.lex_state = 748, .external_lex_state = 31},
  [3907] = {.lex_state = 748, .external_lex_state = 31},
  [3908] = {.lex_state = 748, .external_lex_state = 31},
  [3909] = {.lex_state = 748, .external_lex_state = 31},
  [3910] = {.lex_state = 748, .external_lex_state = 31},
  [3911] = {.lex_state = 748, .external_lex_state = 31},
  [3912] = {.lex_state = 748, .external_lex_state = 31},
  [3913] = {.lex_state = 748, .external_lex_state = 31},
  [3914] = {.lex_state = 748, .external_lex_state = 31},
  [3915] = {.lex_state = 748, .external_lex_state = 31},
  [3916] = {.lex_state = 748, .external_lex_state = 31},
  [3917] = {.lex_state = 748, .external_lex_state = 31},
  [3918] = {.lex_state = 748, .external_lex_state = 31},
  [3919] = {.lex_state = 748, .external_lex_state = 31},
  [3920] = {.lex_state = 748, .external_lex_state = 31},
  [3921] = {.lex_state = 748, .external_lex_state = 31},
  [3922] = {.lex_state = 748, .external_lex_state = 31},
  [3923] = {.lex_state = 748, .external_lex_state = 31},
  [3924] = {.lex_state = 748, .external_lex_state = 31},
  [3925] = {.lex_state = 748, .external_lex_state = 31},
  [3926] = {.lex_state = 748, .external_lex_state = 31},
  [3927] = {.lex_state = 748, .external_lex_state = 31},
  [3928] = {.lex_state = 748, .external_lex_state = 31},
  [3929] = {.lex_state = 748, .external_lex_state = 31},
  [3930] = {.lex_state = 748, .external_lex_state = 31},
  [3931] = {.lex_state = 748, .external_lex_state = 31},
  [3932] = {.lex_state = 748, .external_lex_state = 31},
  [3933] = {.lex_state = 748, .external_lex_state = 31},
  [3934] = {.lex_state = 748, .external_lex_state = 31},
  [3935] = {.lex_state = 748, .external_lex_state = 31},
  [3936] = {.lex_state = 748, .external_lex_state = 31},
  [3937] = {.lex_state = 748, .external_lex_state = 31},
  [3938] = {.lex_state = 748, .external_lex_state = 31},
  [3939] = {.lex_state = 748, .external_lex_state = 31},
  [3940] = {.lex_state = 748, .external_lex_state = 31},
  [3941] = {.lex_state = 748, .external_lex_state = 31},
  [3942] = {.lex_state = 748, .external_lex_state = 31},
  [3943] = {.lex_state = 748, .external_lex_state = 31},
  [3944] = {.lex_state = 748, .external_lex_state = 31},
  [3945] = {.lex_state = 748, .external_lex_state = 31},
  [3946] = {.lex_state = 748, .external_lex_state = 31},
  [3947] = {.lex_state = 748, .external_lex_state = 31},
  [3948] = {.lex_state = 748, .external_lex_state = 31},
  [3949] = {.lex_state = 748, .external_lex_state = 31},
  [3950] = {.lex_state = 748, .external_lex_state = 31},
  [3951] = {.lex_state = 748, .external_lex_state = 31},
  [3952] = {.lex_state = 748, .external_lex_state = 31},
  [3953] = {.lex_state = 748, .external_lex_state = 31},
  [3954] = {.lex_state = 748, .external_lex_state = 31},
  [3955] = {.lex_state = 748, .external_lex_state = 31},
  [3956] = {.lex_state = 748, .external_lex_state = 31},
  [3957] = {.lex_state = 748, .external_lex_state = 31},
  [3958] = {.lex_state = 748, .external_lex_state = 31},
  [3959] = {.lex_state = 748, .external_lex_state = 31},
  [3960] = {.lex_state = 748, .external_lex_state = 31},
  [3961] = {.lex_state = 748, .external_lex_state = 31},
  [3962] = {.lex_state = 748, .external_lex_state = 31},
  [3963] = {.lex_state = 748, .external_lex_state = 31},
  [3964] = {.lex_state = 748, .external_lex_state = 31},
  [3965] = {.lex_state = 748, .external_lex_state = 31},
  [3966] = {.lex_state = 748, .external_lex_state = 31},
  [3967] = {.lex_state = 748, .external_lex_state = 31},
  [3968] = {.lex_state = 748, .external_lex_state = 31},
  [3969] = {.lex_state = 748, .external_lex_state = 31},
  [3970] = {.lex_state = 748, .external_lex_state = 31},
  [3971] = {.lex_state = 748, .external_lex_state = 31},
  [3972] = {.lex_state = 748, .external_lex_state = 31},
  [3973] = {.lex_state = 748, .external_lex_state = 31},
  [3974] = {.lex_state = 748, .external_lex_state = 31},
  [3975] = {.lex_state = 748, .external_lex_state = 31},
  [3976] = {.lex_state = 748, .external_lex_state = 31},
  [3977] = {.lex_state = 748, .external_lex_state = 31},
  [3978] = {.lex_state = 748, .external_lex_state = 31},
  [3979] = {.lex_state = 748, .external_lex_state = 31},
  [3980] = {.lex_state = 748, .external_lex_state = 31},
  [3981] = {.lex_state = 748, .external_lex_state = 31},
  [3982] = {.lex_state = 748, .external_lex_state = 31},
  [3983] = {.lex_state = 748, .external_lex_state = 31},
  [3984] = {.lex_state = 748, .external_lex_state = 31},
  [3985] = {.lex_state = 748, .external_lex_state = 31},
  [3986] = {.lex_state = 748, .external_lex_state = 31},
  [3987] = {.lex_state = 748, .external_lex_state = 31},
  [3988] = {.lex_state = 748, .external_lex_state = 31},
  [3989] = {.lex_state = 748, .external_lex_state = 31},
  [3990] = {.lex_state = 81, .external_lex_state = 83},
  [3991] = {.lex_state = 748, .external_lex_state = 31},
  [3992] = {.lex_state = 748, .external_lex_state = 31},
  [3993] = {.lex_state = 748, .external_lex_state = 31},
  [3994] = {.lex_state = 748, .external_lex_state = 31},
  [3995] = {.lex_state = 748, .external_lex_state = 31},
  [3996] = {.lex_state = 748, .external_lex_state = 31},
  [3997] = {.lex_state = 748, .external_lex_state = 31},
  [3998] = {.lex_state = 748, .external_lex_state = 31},
  [3999] = {.lex_state = 748, .external_lex_state = 31},
  [4000] = {.lex_state = 96, .external_lex_state = 31},
  [4001] = {.lex_state = 748, .external_lex_state = 31},
  [4002] = {.lex_state = 748, .external_lex_state = 31},
  [4003] = {.lex_state = 748, .external_lex_state = 31},
  [4004] = {.lex_state = 748, .external_lex_state = 31},
  [4005] = {.lex_state = 748, .external_lex_state = 31},
  [4006] = {.lex_state = 748, .external_lex_state = 31},
  [4007] = {.lex_state = 748, .external_lex_state = 31},
  [4008] = {.lex_state = 748, .external_lex_state = 31},
  [4009] = {.lex_state = 748, .external_lex_state = 31},
  [4010] = {.lex_state = 748, .external_lex_state = 31},
  [4011] = {.lex_state = 748, .external_lex_state = 31},
  [4012] = {.lex_state = 748, .external_lex_state = 31},
  [4013] = {.lex_state = 748, .external_lex_state = 31},
  [4014] = {.lex_state = 748, .external_lex_state = 31},
  [4015] = {.lex_state = 81, .external_lex_state = 83},
  [4016] = {.lex_state = 77, .external_lex_state = 44},
  [4017] = {.lex_state = 748, .external_lex_state = 31},
  [4018] = {.lex_state = 748, .external_lex_state = 31},
  [4019] = {.lex_state = 748, .external_lex_state = 31},
  [4020] = {.lex_state = 748, .external_lex_state = 31},
  [4021] = {.lex_state = 748, .external_lex_state = 31},
  [4022] = {.lex_state = 748, .external_lex_state = 31},
  [4023] = {.lex_state = 748, .external_lex_state = 31},
  [4024] = {.lex_state = 748, .external_lex_state = 31},
  [4025] = {.lex_state = 748, .external_lex_state = 31},
  [4026] = {.lex_state = 748, .external_lex_state = 31},
  [4027] = {.lex_state = 748, .external_lex_state = 31},
  [4028] = {.lex_state = 748, .external_lex_state = 31},
  [4029] = {.lex_state = 748, .external_lex_state = 31},
  [4030] = {.lex_state = 748, .external_lex_state = 31},
  [4031] = {.lex_state = 748, .external_lex_state = 31},
  [4032] = {.lex_state = 748, .external_lex_state = 31},
  [4033] = {.lex_state = 748, .external_lex_state = 31},
  [4034] = {.lex_state = 748, .external_lex_state = 31},
  [4035] = {.lex_state = 748, .external_lex_state = 31},
  [4036] = {.lex_state = 748, .external_lex_state = 31},
  [4037] = {.lex_state = 748, .external_lex_state = 31},
  [4038] = {.lex_state = 748, .external_lex_state = 31},
  [4039] = {.lex_state = 748, .external_lex_state = 31},
  [4040] = {.lex_state = 748, .external_lex_state = 31},
  [4041] = {.lex_state = 748, .external_lex_state = 31},
  [4042] = {.lex_state = 748, .external_lex_state = 31},
  [4043] = {.lex_state = 748, .external_lex_state = 31},
  [4044] = {.lex_state = 748, .external_lex_state = 31},
  [4045] = {.lex_state = 748, .external_lex_state = 31},
  [4046] = {.lex_state = 748, .external_lex_state = 31},
  [4047] = {.lex_state = 748, .external_lex_state = 31},
  [4048] = {.lex_state = 748, .external_lex_state = 31},
  [4049] = {.lex_state = 748, .external_lex_state = 31},
  [4050] = {.lex_state = 748, .external_lex_state = 31},
  [4051] = {.lex_state = 748, .external_lex_state = 31},
  [4052] = {.lex_state = 748, .external_lex_state = 31},
  [4053] = {.lex_state = 748, .external_lex_state = 31},
  [4054] = {.lex_state = 748, .external_lex_state = 31},
  [4055] = {.lex_state = 748, .external_lex_state = 31},
  [4056] = {.lex_state = 748, .external_lex_state = 31},
  [4057] = {.lex_state = 748, .external_lex_state = 31},
  [4058] = {.lex_state = 748, .external_lex_state = 31},
  [4059] = {.lex_state = 748, .external_lex_state = 31},
  [4060] = {.lex_state = 748, .external_lex_state = 31},
  [4061] = {.lex_state = 748, .external_lex_state = 31},
  [4062] = {.lex_state = 77, .external_lex_state = 44},
  [4063] = {.lex_state = 81, .external_lex_state = 83},
  [4064] = {.lex_state = 748, .external_lex_state = 31},
  [4065] = {.lex_state = 748, .external_lex_state = 31},
  [4066] = {.lex_state = 748, .external_lex_state = 31},
  [4067] = {.lex_state = 748, .external_lex_state = 31},
  [4068] = {.lex_state = 748, .external_lex_state = 31},
  [4069] = {.lex_state = 748, .external_lex_state = 31},
  [4070] = {.lex_state = 77, .external_lex_state = 76},
  [4071] = {.lex_state = 748, .external_lex_state = 31},
  [4072] = {.lex_state = 748, .external_lex_state = 31},
  [4073] = {.lex_state = 748, .external_lex_state = 31},
  [4074] = {.lex_state = 748, .external_lex_state = 31},
  [4075] = {.lex_state = 748, .external_lex_state = 31},
  [4076] = {.lex_state = 748, .external_lex_state = 31},
  [4077] = {.lex_state = 748, .external_lex_state = 31},
  [4078] = {.lex_state = 748, .external_lex_state = 31},
  [4079] = {.lex_state = 748, .external_lex_state = 31},
  [4080] = {.lex_state = 77, .external_lex_state = 76},
  [4081] = {.lex_state = 748, .external_lex_state = 31},
  [4082] = {.lex_state = 748, .external_lex_state = 31},
  [4083] = {.lex_state = 748, .external_lex_state = 31},
  [4084] = {.lex_state = 748, .external_lex_state = 31},
  [4085] = {.lex_state = 748, .external_lex_state = 31},
  [4086] = {.lex_state = 748, .external_lex_state = 31},
  [4087] = {.lex_state = 748, .external_lex_state = 31},
  [4088] = {.lex_state = 748, .external_lex_state = 31},
  [4089] = {.lex_state = 748, .external_lex_state = 31},
  [4090] = {.lex_state = 748, .external_lex_state = 31},
  [4091] = {.lex_state = 748, .external_lex_state = 31},
  [4092] = {.lex_state = 748, .external_lex_state = 31},
  [4093] = {.lex_state = 77, .external_lex_state = 76},
  [4094] = {.lex_state = 748, .external_lex_state = 31},
  [4095] = {.lex_state = 748, .external_lex_state = 31},
  [4096] = {.lex_state = 748, .external_lex_state = 31},
  [4097] = {.lex_state = 748, .external_lex_state = 31},
  [4098] = {.lex_state = 77, .external_lex_state = 44},
  [4099] = {.lex_state = 748, .external_lex_state = 31},
  [4100] = {.lex_state = 748, .external_lex_state = 31},
  [4101] = {.lex_state = 748, .external_lex_state = 31},
  [4102] = {.lex_state = 748, .external_lex_state = 31},
  [4103] = {.lex_state = 748, .external_lex_state = 31},
  [4104] = {.lex_state = 748, .external_lex_state = 31},
  [4105] = {.lex_state = 748, .external_lex_state = 31},
  [4106] = {.lex_state = 748, .external_lex_state = 31},
  [4107] = {.lex_state = 748, .external_lex_state = 31},
  [4108] = {.lex_state = 748, .external_lex_state = 31},
  [4109] = {.lex_state = 748, .external_lex_state = 31},
  [4110] = {.lex_state = 748, .external_lex_state = 31},
  [4111] = {.lex_state = 77, .external_lex_state = 44},
  [4112] = {.lex_state = 748, .external_lex_state = 31},
  [4113] = {.lex_state = 748, .external_lex_state = 31},
  [4114] = {.lex_state = 748, .external_lex_state = 31},
  [4115] = {.lex_state = 748, .external_lex_state = 31},
  [4116] = {.lex_state = 748, .external_lex_state = 31},
  [4117] = {.lex_state = 748, .external_lex_state = 31},
  [4118] = {.lex_state = 748, .external_lex_state = 31},
  [4119] = {.lex_state = 748, .external_lex_state = 31},
  [4120] = {.lex_state = 748, .external_lex_state = 31},
  [4121] = {.lex_state = 748, .external_lex_state = 31},
  [4122] = {.lex_state = 748, .external_lex_state = 31},
  [4123] = {.lex_state = 748, .external_lex_state = 31},
  [4124] = {.lex_state = 748, .external_lex_state = 31},
  [4125] = {.lex_state = 748, .external_lex_state = 31},
  [4126] = {.lex_state = 748, .external_lex_state = 31},
  [4127] = {.lex_state = 748, .external_lex_state = 31},
  [4128] = {.lex_state = 748, .external_lex_state = 31},
  [4129] = {.lex_state = 748, .external_lex_state = 31},
  [4130] = {.lex_state = 748, .external_lex_state = 31},
  [4131] = {.lex_state = 748, .external_lex_state = 31},
  [4132] = {.lex_state = 748, .external_lex_state = 31},
  [4133] = {.lex_state = 748, .external_lex_state = 31},
  [4134] = {.lex_state = 748, .external_lex_state = 31},
  [4135] = {.lex_state = 748, .external_lex_state = 31},
  [4136] = {.lex_state = 748, .external_lex_state = 31},
  [4137] = {.lex_state = 748, .external_lex_state = 31},
  [4138] = {.lex_state = 77, .external_lex_state = 44},
  [4139] = {.lex_state = 748, .external_lex_state = 31},
  [4140] = {.lex_state = 748, .external_lex_state = 31},
  [4141] = {.lex_state = 77, .external_lex_state = 44},
  [4142] = {.lex_state = 77, .external_lex_state = 44},
  [4143] = {.lex_state = 748, .external_lex_state = 31},
  [4144] = {.lex_state = 748, .external_lex_state = 31},
  [4145] = {.lex_state = 748, .external_lex_state = 31},
  [4146] = {.lex_state = 748, .external_lex_state = 31},
  [4147] = {.lex_state = 748, .external_lex_state = 31},
  [4148] = {.lex_state = 748, .external_lex_state = 31},
  [4149] = {.lex_state = 748, .external_lex_state = 31},
  [4150] = {.lex_state = 748, .external_lex_state = 31},
  [4151] = {.lex_state = 748, .external_lex_state = 31},
  [4152] = {.lex_state = 748, .external_lex_state = 31},
  [4153] = {.lex_state = 748, .external_lex_state = 31},
  [4154] = {.lex_state = 748, .external_lex_state = 31},
  [4155] = {.lex_state = 748, .external_lex_state = 31},
  [4156] = {.lex_state = 748, .external_lex_state = 31},
  [4157] = {.lex_state = 748, .external_lex_state = 31},
  [4158] = {.lex_state = 748, .external_lex_state = 31},
  [4159] = {.lex_state = 77, .external_lex_state = 44},
  [4160] = {.lex_state = 77, .external_lex_state = 44},
  [4161] = {.lex_state = 748, .external_lex_state = 31},
  [4162] = {.lex_state = 748, .external_lex_state = 31},
  [4163] = {.lex_state = 748, .external_lex_state = 31},
  [4164] = {.lex_state = 748, .external_lex_state = 31},
  [4165] = {.lex_state = 748, .external_lex_state = 31},
  [4166] = {.lex_state = 748, .external_lex_state = 31},
  [4167] = {.lex_state = 748, .external_lex_state = 31},
  [4168] = {.lex_state = 748, .external_lex_state = 31},
  [4169] = {.lex_state = 748, .external_lex_state = 31},
  [4170] = {.lex_state = 748, .external_lex_state = 31},
  [4171] = {.lex_state = 748, .external_lex_state = 31},
  [4172] = {.lex_state = 748, .external_lex_state = 31},
  [4173] = {.lex_state = 748, .external_lex_state = 31},
  [4174] = {.lex_state = 748, .external_lex_state = 31},
  [4175] = {.lex_state = 748, .external_lex_state = 31},
  [4176] = {.lex_state = 748, .external_lex_state = 31},
  [4177] = {.lex_state = 748, .external_lex_state = 31},
  [4178] = {.lex_state = 748, .external_lex_state = 31},
  [4179] = {.lex_state = 748, .external_lex_state = 31},
  [4180] = {.lex_state = 748, .external_lex_state = 31},
  [4181] = {.lex_state = 748, .external_lex_state = 31},
  [4182] = {.lex_state = 748, .external_lex_state = 31},
  [4183] = {.lex_state = 748, .external_lex_state = 31},
  [4184] = {.lex_state = 748, .external_lex_state = 31},
  [4185] = {.lex_state = 748, .external_lex_state = 31},
  [4186] = {.lex_state = 748, .external_lex_state = 31},
  [4187] = {.lex_state = 748, .external_lex_state = 31},
  [4188] = {.lex_state = 748, .external_lex_state = 31},
  [4189] = {.lex_state = 748, .external_lex_state = 31},
  [4190] = {.lex_state = 748, .external_lex_state = 31},
  [4191] = {.lex_state = 748, .external_lex_state = 31},
  [4192] = {.lex_state = 748, .external_lex_state = 31},
  [4193] = {.lex_state = 748, .external_lex_state = 31},
  [4194] = {.lex_state = 748, .external_lex_state = 31},
  [4195] = {.lex_state = 748, .external_lex_state = 31},
  [4196] = {.lex_state = 748, .external_lex_state = 31},
  [4197] = {.lex_state = 748, .external_lex_state = 31},
  [4198] = {.lex_state = 748, .external_lex_state = 31},
  [4199] = {.lex_state = 748, .external_lex_state = 31},
  [4200] = {.lex_state = 748, .external_lex_state = 31},
  [4201] = {.lex_state = 748, .external_lex_state = 31},
  [4202] = {.lex_state = 748, .external_lex_state = 31},
  [4203] = {.lex_state = 748, .external_lex_state = 31},
  [4204] = {.lex_state = 748, .external_lex_state = 31},
  [4205] = {.lex_state = 748, .external_lex_state = 31},
  [4206] = {.lex_state = 748, .external_lex_state = 31},
  [4207] = {.lex_state = 748, .external_lex_state = 31},
  [4208] = {.lex_state = 748, .external_lex_state = 31},
  [4209] = {.lex_state = 748, .external_lex_state = 31},
  [4210] = {.lex_state = 748, .external_lex_state = 31},
  [4211] = {.lex_state = 748, .external_lex_state = 31},
  [4212] = {.lex_state = 748, .external_lex_state = 31},
  [4213] = {.lex_state = 748, .external_lex_state = 31},
  [4214] = {.lex_state = 748, .external_lex_state = 31},
  [4215] = {.lex_state = 748, .external_lex_state = 31},
  [4216] = {.lex_state = 748, .external_lex_state = 31},
  [4217] = {.lex_state = 748, .external_lex_state = 31},
  [4218] = {.lex_state = 748, .external_lex_state = 31},
  [4219] = {.lex_state = 748, .external_lex_state = 31},
  [4220] = {.lex_state = 748, .external_lex_state = 31},
  [4221] = {.lex_state = 748, .external_lex_state = 31},
  [4222] = {.lex_state = 748, .external_lex_state = 31},
  [4223] = {.lex_state = 748, .external_lex_state = 31},
  [4224] = {.lex_state = 748, .external_lex_state = 31},
  [4225] = {.lex_state = 748, .external_lex_state = 31},
  [4226] = {.lex_state = 748, .external_lex_state = 31},
  [4227] = {.lex_state = 748, .external_lex_state = 31},
  [4228] = {.lex_state = 748, .external_lex_state = 31},
  [4229] = {.lex_state = 748, .external_lex_state = 31},
  [4230] = {.lex_state = 748, .external_lex_state = 31},
  [4231] = {.lex_state = 748, .external_lex_state = 31},
  [4232] = {.lex_state = 748, .external_lex_state = 31},
  [4233] = {.lex_state = 748, .external_lex_state = 31},
  [4234] = {.lex_state = 748, .external_lex_state = 31},
  [4235] = {.lex_state = 748, .external_lex_state = 31},
  [4236] = {.lex_state = 748, .external_lex_state = 31},
  [4237] = {.lex_state = 748, .external_lex_state = 31},
  [4238] = {.lex_state = 748, .external_lex_state = 31},
  [4239] = {.lex_state = 748, .external_lex_state = 31},
  [4240] = {.lex_state = 748, .external_lex_state = 31},
  [4241] = {.lex_state = 748, .external_lex_state = 31},
  [4242] = {.lex_state = 748, .external_lex_state = 31},
  [4243] = {.lex_state = 748, .external_lex_state = 31},
  [4244] = {.lex_state = 748, .external_lex_state = 31},
  [4245] = {.lex_state = 748, .external_lex_state = 31},
  [4246] = {.lex_state = 748, .external_lex_state = 31},
  [4247] = {.lex_state = 748, .external_lex_state = 31},
  [4248] = {.lex_state = 748, .external_lex_state = 31},
  [4249] = {.lex_state = 748, .external_lex_state = 31},
  [4250] = {.lex_state = 748, .external_lex_state = 31},
  [4251] = {.lex_state = 748, .external_lex_state = 31},
  [4252] = {.lex_state = 748, .external_lex_state = 31},
  [4253] = {.lex_state = 748, .external_lex_state = 31},
  [4254] = {.lex_state = 748, .external_lex_state = 31},
  [4255] = {.lex_state = 748, .external_lex_state = 31},
  [4256] = {.lex_state = 748, .external_lex_state = 31},
  [4257] = {.lex_state = 748, .external_lex_state = 31},
  [4258] = {.lex_state = 748, .external_lex_state = 31},
  [4259] = {.lex_state = 748, .external_lex_state = 31},
  [4260] = {.lex_state = 748, .external_lex_state = 31},
  [4261] = {.lex_state = 748, .external_lex_state = 31},
  [4262] = {.lex_state = 748, .external_lex_state = 31},
  [4263] = {.lex_state = 748, .external_lex_state = 31},
  [4264] = {.lex_state = 748, .external_lex_state = 31},
  [4265] = {.lex_state = 748, .external_lex_state = 31},
  [4266] = {.lex_state = 748, .external_lex_state = 31},
  [4267] = {.lex_state = 748, .external_lex_state = 31},
  [4268] = {.lex_state = 748, .external_lex_state = 31},
  [4269] = {.lex_state = 748, .external_lex_state = 31},
  [4270] = {.lex_state = 748, .external_lex_state = 31},
  [4271] = {.lex_state = 748, .external_lex_state = 31},
  [4272] = {.lex_state = 748, .external_lex_state = 31},
  [4273] = {.lex_state = 748, .external_lex_state = 31},
  [4274] = {.lex_state = 748, .external_lex_state = 31},
  [4275] = {.lex_state = 748, .external_lex_state = 31},
  [4276] = {.lex_state = 748, .external_lex_state = 31},
  [4277] = {.lex_state = 748, .external_lex_state = 31},
  [4278] = {.lex_state = 748, .external_lex_state = 31},
  [4279] = {.lex_state = 77, .external_lex_state = 44},
  [4280] = {.lex_state = 748, .external_lex_state = 31},
  [4281] = {.lex_state = 748, .external_lex_state = 31},
  [4282] = {.lex_state = 748, .external_lex_state = 31},
  [4283] = {.lex_state = 748, .external_lex_state = 31},
  [4284] = {.lex_state = 748, .external_lex_state = 31},
  [4285] = {.lex_state = 748, .external_lex_state = 31},
  [4286] = {.lex_state = 748, .external_lex_state = 31},
  [4287] = {.lex_state = 748, .external_lex_state = 31},
  [4288] = {.lex_state = 748, .external_lex_state = 31},
  [4289] = {.lex_state = 748, .external_lex_state = 31},
  [4290] = {.lex_state = 748, .external_lex_state = 31},
  [4291] = {.lex_state = 748, .external_lex_state = 31},
  [4292] = {.lex_state = 748, .external_lex_state = 31},
  [4293] = {.lex_state = 748, .external_lex_state = 31},
  [4294] = {.lex_state = 748, .external_lex_state = 31},
  [4295] = {.lex_state = 77, .external_lex_state = 84},
  [4296] = {.lex_state = 748, .external_lex_state = 31},
  [4297] = {.lex_state = 748, .external_lex_state = 31},
  [4298] = {.lex_state = 748, .external_lex_state = 31},
  [4299] = {.lex_state = 748, .external_lex_state = 31},
  [4300] = {.lex_state = 748, .external_lex_state = 31},
  [4301] = {.lex_state = 748, .external_lex_state = 31},
  [4302] = {.lex_state = 748, .external_lex_state = 31},
  [4303] = {.lex_state = 748, .external_lex_state = 31},
  [4304] = {.lex_state = 748, .external_lex_state = 31},
  [4305] = {.lex_state = 748, .external_lex_state = 31},
  [4306] = {.lex_state = 748, .external_lex_state = 31},
  [4307] = {.lex_state = 748, .external_lex_state = 31},
  [4308] = {.lex_state = 748, .external_lex_state = 31},
  [4309] = {.lex_state = 748, .external_lex_state = 31},
  [4310] = {.lex_state = 748, .external_lex_state = 31},
  [4311] = {.lex_state = 748, .external_lex_state = 31},
  [4312] = {.lex_state = 748, .external_lex_state = 31},
  [4313] = {.lex_state = 748, .external_lex_state = 31},
  [4314] = {.lex_state = 748, .external_lex_state = 31},
  [4315] = {.lex_state = 748, .external_lex_state = 31},
  [4316] = {.lex_state = 748, .external_lex_state = 31},
  [4317] = {.lex_state = 748, .external_lex_state = 31},
  [4318] = {.lex_state = 748, .external_lex_state = 31},
  [4319] = {.lex_state = 748, .external_lex_state = 31},
  [4320] = {.lex_state = 748, .external_lex_state = 31},
  [4321] = {.lex_state = 748, .external_lex_state = 31},
  [4322] = {.lex_state = 748, .external_lex_state = 31},
  [4323] = {.lex_state = 748, .external_lex_state = 31},
  [4324] = {.lex_state = 748, .external_lex_state = 31},
  [4325] = {.lex_state = 748, .external_lex_state = 31},
  [4326] = {.lex_state = 748, .external_lex_state = 31},
  [4327] = {.lex_state = 748, .external_lex_state = 31},
  [4328] = {.lex_state = 748, .external_lex_state = 31},
  [4329] = {.lex_state = 748, .external_lex_state = 31},
  [4330] = {.lex_state = 748, .external_lex_state = 31},
  [4331] = {.lex_state = 748, .external_lex_state = 31},
  [4332] = {.lex_state = 748, .external_lex_state = 31},
  [4333] = {.lex_state = 748, .external_lex_state = 31},
  [4334] = {.lex_state = 748, .external_lex_state = 31},
  [4335] = {.lex_state = 748, .external_lex_state = 31},
  [4336] = {.lex_state = 748, .external_lex_state = 31},
  [4337] = {.lex_state = 748, .external_lex_state = 31},
  [4338] = {.lex_state = 748, .external_lex_state = 31},
  [4339] = {.lex_state = 748, .external_lex_state = 31},
  [4340] = {.lex_state = 748, .external_lex_state = 31},
  [4341] = {.lex_state = 748, .external_lex_state = 31},
  [4342] = {.lex_state = 748, .external_lex_state = 31},
  [4343] = {.lex_state = 748, .external_lex_state = 31},
  [4344] = {.lex_state = 748, .external_lex_state = 31},
  [4345] = {.lex_state = 748, .external_lex_state = 31},
  [4346] = {.lex_state = 748, .external_lex_state = 31},
  [4347] = {.lex_state = 748, .external_lex_state = 31},
  [4348] = {.lex_state = 748, .external_lex_state = 31},
  [4349] = {.lex_state = 748, .external_lex_state = 31},
  [4350] = {.lex_state = 748, .external_lex_state = 31},
  [4351] = {.lex_state = 748, .external_lex_state = 31},
  [4352] = {.lex_state = 748, .external_lex_state = 31},
  [4353] = {.lex_state = 748, .external_lex_state = 31},
  [4354] = {.lex_state = 748, .external_lex_state = 31},
  [4355] = {.lex_state = 748, .external_lex_state = 31},
  [4356] = {.lex_state = 748, .external_lex_state = 31},
  [4357] = {.lex_state = 748, .external_lex_state = 31},
  [4358] = {.lex_state = 748, .external_lex_state = 31},
  [4359] = {.lex_state = 748, .external_lex_state = 31},
  [4360] = {.lex_state = 748, .external_lex_state = 31},
  [4361] = {.lex_state = 748, .external_lex_state = 31},
  [4362] = {.lex_state = 748, .external_lex_state = 31},
  [4363] = {.lex_state = 748, .external_lex_state = 31},
  [4364] = {.lex_state = 748, .external_lex_state = 31},
  [4365] = {.lex_state = 748, .external_lex_state = 31},
  [4366] = {.lex_state = 748, .external_lex_state = 31},
  [4367] = {.lex_state = 748, .external_lex_state = 31},
  [4368] = {.lex_state = 748, .external_lex_state = 31},
  [4369] = {.lex_state = 748, .external_lex_state = 31},
  [4370] = {.lex_state = 748, .external_lex_state = 31},
  [4371] = {.lex_state = 748, .external_lex_state = 31},
  [4372] = {.lex_state = 748, .external_lex_state = 31},
  [4373] = {.lex_state = 748, .external_lex_state = 31},
  [4374] = {.lex_state = 748, .external_lex_state = 31},
  [4375] = {.lex_state = 748, .external_lex_state = 31},
  [4376] = {.lex_state = 748, .external_lex_state = 31},
  [4377] = {.lex_state = 748, .external_lex_state = 31},
  [4378] = {.lex_state = 748, .external_lex_state = 31},
  [4379] = {.lex_state = 748, .external_lex_state = 31},
  [4380] = {.lex_state = 748, .external_lex_state = 31},
  [4381] = {.lex_state = 748, .external_lex_state = 31},
  [4382] = {.lex_state = 748, .external_lex_state = 31},
  [4383] = {.lex_state = 748, .external_lex_state = 31},
  [4384] = {.lex_state = 748, .external_lex_state = 31},
  [4385] = {.lex_state = 748, .external_lex_state = 31},
  [4386] = {.lex_state = 748, .external_lex_state = 31},
  [4387] = {.lex_state = 748, .external_lex_state = 31},
  [4388] = {.lex_state = 748, .external_lex_state = 31},
  [4389] = {.lex_state = 748, .external_lex_state = 31},
  [4390] = {.lex_state = 748, .external_lex_state = 31},
  [4391] = {.lex_state = 748, .external_lex_state = 31},
  [4392] = {.lex_state = 748, .external_lex_state = 31},
  [4393] = {.lex_state = 77, .external_lex_state = 76},
  [4394] = {.lex_state = 748, .external_lex_state = 31},
  [4395] = {.lex_state = 77, .external_lex_state = 84},
  [4396] = {.lex_state = 748, .external_lex_state = 31},
  [4397] = {.lex_state = 748, .external_lex_state = 31},
  [4398] = {.lex_state = 748, .external_lex_state = 31},
  [4399] = {.lex_state = 748, .external_lex_state = 31},
  [4400] = {.lex_state = 748, .external_lex_state = 31},
  [4401] = {.lex_state = 748, .external_lex_state = 31},
  [4402] = {.lex_state = 748, .external_lex_state = 31},
  [4403] = {.lex_state = 748, .external_lex_state = 31},
  [4404] = {.lex_state = 748, .external_lex_state = 31},
  [4405] = {.lex_state = 748, .external_lex_state = 31},
  [4406] = {.lex_state = 748, .external_lex_state = 31},
  [4407] = {.lex_state = 748, .external_lex_state = 31},
  [4408] = {.lex_state = 748, .external_lex_state = 31},
  [4409] = {.lex_state = 748, .external_lex_state = 31},
  [4410] = {.lex_state = 748, .external_lex_state = 31},
  [4411] = {.lex_state = 748, .external_lex_state = 31},
  [4412] = {.lex_state = 748, .external_lex_state = 31},
  [4413] = {.lex_state = 748, .external_lex_state = 31},
  [4414] = {.lex_state = 748, .external_lex_state = 31},
  [4415] = {.lex_state = 748, .external_lex_state = 31},
  [4416] = {.lex_state = 748, .external_lex_state = 31},
  [4417] = {.lex_state = 748, .external_lex_state = 31},
  [4418] = {.lex_state = 748, .external_lex_state = 31},
  [4419] = {.lex_state = 77, .external_lex_state = 76},
  [4420] = {.lex_state = 748, .external_lex_state = 31},
  [4421] = {.lex_state = 748, .external_lex_state = 31},
  [4422] = {.lex_state = 748, .external_lex_state = 31},
  [4423] = {.lex_state = 748, .external_lex_state = 31},
  [4424] = {.lex_state = 748, .external_lex_state = 31},
  [4425] = {.lex_state = 748, .external_lex_state = 31},
  [4426] = {.lex_state = 748, .external_lex_state = 31},
  [4427] = {.lex_state = 748, .external_lex_state = 31},
  [4428] = {.lex_state = 748, .external_lex_state = 31},
  [4429] = {.lex_state = 748, .external_lex_state = 31},
  [4430] = {.lex_state = 748, .external_lex_state = 31},
  [4431] = {.lex_state = 748, .external_lex_state = 31},
  [4432] = {.lex_state = 748, .external_lex_state = 31},
  [4433] = {.lex_state = 748, .external_lex_state = 31},
  [4434] = {.lex_state = 748, .external_lex_state = 31},
  [4435] = {.lex_state = 748, .external_lex_state = 31},
  [4436] = {.lex_state = 748, .external_lex_state = 31},
  [4437] = {.lex_state = 748, .external_lex_state = 31},
  [4438] = {.lex_state = 748, .external_lex_state = 31},
  [4439] = {.lex_state = 748, .external_lex_state = 31},
  [4440] = {.lex_state = 748, .external_lex_state = 31},
  [4441] = {.lex_state = 748, .external_lex_state = 31},
  [4442] = {.lex_state = 748, .external_lex_state = 31},
  [4443] = {.lex_state = 748, .external_lex_state = 31},
  [4444] = {.lex_state = 748, .external_lex_state = 31},
  [4445] = {.lex_state = 748, .external_lex_state = 31},
  [4446] = {.lex_state = 748, .external_lex_state = 31},
  [4447] = {.lex_state = 748, .external_lex_state = 31},
  [4448] = {.lex_state = 748, .external_lex_state = 31},
  [4449] = {.lex_state = 748, .external_lex_state = 31},
  [4450] = {.lex_state = 748, .external_lex_state = 31},
  [4451] = {.lex_state = 748, .external_lex_state = 31},
  [4452] = {.lex_state = 748, .external_lex_state = 31},
  [4453] = {.lex_state = 748, .external_lex_state = 31},
  [4454] = {.lex_state = 748, .external_lex_state = 31},
  [4455] = {.lex_state = 748, .external_lex_state = 31},
  [4456] = {.lex_state = 748, .external_lex_state = 31},
  [4457] = {.lex_state = 748, .external_lex_state = 31},
  [4458] = {.lex_state = 748, .external_lex_state = 31},
  [4459] = {.lex_state = 748, .external_lex_state = 31},
  [4460] = {.lex_state = 748, .external_lex_state = 31},
  [4461] = {.lex_state = 748, .external_lex_state = 31},
  [4462] = {.lex_state = 748, .external_lex_state = 31},
  [4463] = {.lex_state = 748, .external_lex_state = 31},
  [4464] = {.lex_state = 748, .external_lex_state = 31},
  [4465] = {.lex_state = 748, .external_lex_state = 31},
  [4466] = {.lex_state = 748, .external_lex_state = 31},
  [4467] = {.lex_state = 77, .external_lex_state = 84},
  [4468] = {.lex_state = 748, .external_lex_state = 31},
  [4469] = {.lex_state = 748, .external_lex_state = 31},
  [4470] = {.lex_state = 748, .external_lex_state = 31},
  [4471] = {.lex_state = 748, .external_lex_state = 31},
  [4472] = {.lex_state = 748, .external_lex_state = 31},
  [4473] = {.lex_state = 748, .external_lex_state = 31},
  [4474] = {.lex_state = 748, .external_lex_state = 31},
  [4475] = {.lex_state = 748, .external_lex_state = 31},
  [4476] = {.lex_state = 748, .external_lex_state = 31},
  [4477] = {.lex_state = 748, .external_lex_state = 31},
  [4478] = {.lex_state = 748, .external_lex_state = 61},
  [4479] = {.lex_state = 77, .external_lex_state = 85},
  [4480] = {.lex_state = 748, .external_lex_state = 31},
  [4481] = {.lex_state = 77, .external_lex_state = 85},
  [4482] = {.lex_state = 77, .external_lex_state = 85},
  [4483] = {.lex_state = 77, .external_lex_state = 85},
  [4484] = {.lex_state = 77, .external_lex_state = 85},
  [4485] = {.lex_state = 77, .external_lex_state = 85},
  [4486] = {.lex_state = 77, .external_lex_state = 85},
  [4487] = {.lex_state = 77, .external_lex_state = 85},
  [4488] = {.lex_state = 77, .external_lex_state = 85},
  [4489] = {.lex_state = 77, .external_lex_state = 85},
  [4490] = {.lex_state = 77, .external_lex_state = 85},
  [4491] = {.lex_state = 77, .external_lex_state = 85},
  [4492] = {.lex_state = 77, .external_lex_state = 85},
  [4493] = {.lex_state = 77, .external_lex_state = 85},
  [4494] = {.lex_state = 77, .external_lex_state = 85},
  [4495] = {.lex_state = 77, .external_lex_state = 85},
  [4496] = {.lex_state = 77, .external_lex_state = 85},
  [4497] = {.lex_state = 77, .external_lex_state = 86},
  [4498] = {.lex_state = 77, .external_lex_state = 85},
  [4499] = {.lex_state = 77, .external_lex_state = 85},
  [4500] = {.lex_state = 77, .external_lex_state = 85},
  [4501] = {.lex_state = 77, .external_lex_state = 85},
  [4502] = {.lex_state = 77, .external_lex_state = 85},
  [4503] = {.lex_state = 77, .external_lex_state = 85},
  [4504] = {.lex_state = 77, .external_lex_state = 85},
  [4505] = {.lex_state = 77, .external_lex_state = 84},
  [4506] = {.lex_state = 77, .external_lex_state = 85},
  [4507] = {.lex_state = 77, .external_lex_state = 85},
  [4508] = {.lex_state = 77, .external_lex_state = 85},
  [4509] = {.lex_state = 77, .external_lex_state = 85},
  [4510] = {.lex_state = 77, .external_lex_state = 85},
  [4511] = {.lex_state = 77, .external_lex_state = 85},
  [4512] = {.lex_state = 77, .external_lex_state = 85},
  [4513] = {.lex_state = 77, .external_lex_state = 85},
  [4514] = {.lex_state = 77, .external_lex_state = 85},
  [4515] = {.lex_state = 77, .external_lex_state = 85},
  [4516] = {.lex_state = 77, .external_lex_state = 85},
  [4517] = {.lex_state = 77, .external_lex_state = 85},
  [4518] = {.lex_state = 77, .external_lex_state = 85},
  [4519] = {.lex_state = 77, .external_lex_state = 85},
  [4520] = {.lex_state = 77, .external_lex_state = 85},
  [4521] = {.lex_state = 77, .external_lex_state = 84},
  [4522] = {.lex_state = 77, .external_lex_state = 85},
  [4523] = {.lex_state = 77, .external_lex_state = 85},
  [4524] = {.lex_state = 77, .external_lex_state = 84},
  [4525] = {.lex_state = 77, .external_lex_state = 86},
  [4526] = {.lex_state = 77, .external_lex_state = 85},
  [4527] = {.lex_state = 77, .external_lex_state = 84},
  [4528] = {.lex_state = 77, .external_lex_state = 86},
  [4529] = {.lex_state = 77, .external_lex_state = 84},
  [4530] = {.lex_state = 77, .external_lex_state = 84},
  [4531] = {.lex_state = 77, .external_lex_state = 86},
  [4532] = {.lex_state = 77, .external_lex_state = 85},
  [4533] = {.lex_state = 77, .external_lex_state = 85},
  [4534] = {.lex_state = 77, .external_lex_state = 85},
  [4535] = {.lex_state = 77, .external_lex_state = 85},
  [4536] = {.lex_state = 77, .external_lex_state = 85},
  [4537] = {.lex_state = 77, .external_lex_state = 85},
  [4538] = {.lex_state = 77, .external_lex_state = 85},
  [4539] = {.lex_state = 77, .external_lex_state = 85},
  [4540] = {.lex_state = 77, .external_lex_state = 85},
  [4541] = {.lex_state = 77, .external_lex_state = 85},
  [4542] = {.lex_state = 77, .external_lex_state = 85},
  [4543] = {.lex_state = 77, .external_lex_state = 85},
  [4544] = {.lex_state = 77, .external_lex_state = 85},
  [4545] = {.lex_state = 77, .external_lex_state = 85},
  [4546] = {.lex_state = 77, .external_lex_state = 85},
  [4547] = {.lex_state = 77, .external_lex_state = 85},
  [4548] = {.lex_state = 77, .external_lex_state = 85},
  [4549] = {.lex_state = 77, .external_lex_state = 85},
  [4550] = {.lex_state = 77, .external_lex_state = 85},
  [4551] = {.lex_state = 77, .external_lex_state = 85},
  [4552] = {.lex_state = 77, .external_lex_state = 85},
  [4553] = {.lex_state = 77, .external_lex_state = 85},
  [4554] = {.lex_state = 77, .external_lex_state = 85},
  [4555] = {.lex_state = 77, .external_lex_state = 85},
  [4556] = {.lex_state = 77, .external_lex_state = 85},
  [4557] = {.lex_state = 77, .external_lex_state = 85},
  [4558] = {.lex_state = 77, .external_lex_state = 85},
  [4559] = {.lex_state = 77, .external_lex_state = 85},
  [4560] = {.lex_state = 77, .external_lex_state = 85},
  [4561] = {.lex_state = 77, .external_lex_state = 85},
  [4562] = {.lex_state = 77, .external_lex_state = 85},
  [4563] = {.lex_state = 77, .external_lex_state = 85},
  [4564] = {.lex_state = 77, .external_lex_state = 85},
  [4565] = {.lex_state = 77, .external_lex_state = 85},
  [4566] = {.lex_state = 77, .external_lex_state = 85},
  [4567] = {.lex_state = 77, .external_lex_state = 85},
  [4568] = {.lex_state = 77, .external_lex_state = 85},
  [4569] = {.lex_state = 77, .external_lex_state = 85},
  [4570] = {.lex_state = 77, .external_lex_state = 85},
  [4571] = {.lex_state = 77, .external_lex_state = 85},
  [4572] = {.lex_state = 77, .external_lex_state = 85},
  [4573] = {.lex_state = 77, .external_lex_state = 85},
  [4574] = {.lex_state = 77, .external_lex_state = 85},
  [4575] = {.lex_state = 77, .external_lex_state = 85},
  [4576] = {.lex_state = 77, .external_lex_state = 85},
  [4577] = {.lex_state = 77, .external_lex_state = 85},
  [4578] = {.lex_state = 77, .external_lex_state = 85},
  [4579] = {.lex_state = 77, .external_lex_state = 85},
  [4580] = {.lex_state = 77, .external_lex_state = 85},
  [4581] = {.lex_state = 77, .external_lex_state = 85},
  [4582] = {.lex_state = 77, .external_lex_state = 85},
  [4583] = {.lex_state = 77, .external_lex_state = 85},
  [4584] = {.lex_state = 77, .external_lex_state = 85},
  [4585] = {.lex_state = 77, .external_lex_state = 85},
  [4586] = {.lex_state = 77, .external_lex_state = 85},
  [4587] = {.lex_state = 77, .external_lex_state = 85},
  [4588] = {.lex_state = 77, .external_lex_state = 85},
  [4589] = {.lex_state = 77, .external_lex_state = 85},
  [4590] = {.lex_state = 77, .external_lex_state = 85},
  [4591] = {.lex_state = 77, .external_lex_state = 85},
  [4592] = {.lex_state = 77, .external_lex_state = 85},
  [4593] = {.lex_state = 77, .external_lex_state = 85},
  [4594] = {.lex_state = 77, .external_lex_state = 85},
  [4595] = {.lex_state = 77, .external_lex_state = 85},
  [4596] = {.lex_state = 77, .external_lex_state = 85},
  [4597] = {.lex_state = 77, .external_lex_state = 31},
  [4598] = {.lex_state = 103, .external_lex_state = 87},
  [4599] = {.lex_state = 103, .external_lex_state = 87},
  [4600] = {.lex_state = 101, .external_lex_state = 52},
  [4601] = {.lex_state = 101, .external_lex_state = 52},
  [4602] = {.lex_state = 748, .external_lex_state = 31},
  [4603] = {.lex_state = 748, .external_lex_state = 31},
  [4604] = {.lex_state = 748, .external_lex_state = 31},
  [4605] = {.lex_state = 748, .external_lex_state = 31},
  [4606] = {.lex_state = 748, .external_lex_state = 31},
  [4607] = {.lex_state = 748, .external_lex_state = 31},
  [4608] = {.lex_state = 748, .external_lex_state = 31},
  [4609] = {.lex_state = 748, .external_lex_state = 31},
  [4610] = {.lex_state = 748, .external_lex_state = 31},
  [4611] = {.lex_state = 748, .external_lex_state = 31},
  [4612] = {.lex_state = 748, .external_lex_state = 31},
  [4613] = {.lex_state = 748, .external_lex_state = 31},
  [4614] = {.lex_state = 748, .external_lex_state = 31},
  [4615] = {.lex_state = 748, .external_lex_state = 31},
  [4616] = {.lex_state = 748, .external_lex_state = 31},
  [4617] = {.lex_state = 748, .external_lex_state = 31},
  [4618] = {.lex_state = 748, .external_lex_state = 31},
  [4619] = {.lex_state = 748, .external_lex_state = 31},
  [4620] = {.lex_state = 748, .external_lex_state = 31},
  [4621] = {.lex_state = 748, .external_lex_state = 31},
  [4622] = {.lex_state = 748, .external_lex_state = 31},
  [4623] = {.lex_state = 748, .external_lex_state = 31},
  [4624] = {.lex_state = 748, .external_lex_state = 31},
  [4625] = {.lex_state = 748, .external_lex_state = 31},
  [4626] = {.lex_state = 77, .external_lex_state = 57},
  [4627] = {.lex_state = 748, .external_lex_state = 31},
  [4628] = {.lex_state = 748, .external_lex_state = 31},
  [4629] = {.lex_state = 748, .external_lex_state = 31},
  [4630] = {.lex_state = 748, .external_lex_state = 31},
  [4631] = {.lex_state = 748, .external_lex_state = 31},
  [4632] = {.lex_state = 748, .external_lex_state = 31},
  [4633] = {.lex_state = 748, .external_lex_state = 31},
  [4634] = {.lex_state = 748, .external_lex_state = 31},
  [4635] = {.lex_state = 748, .external_lex_state = 31},
  [4636] = {.lex_state = 748, .external_lex_state = 31},
  [4637] = {.lex_state = 748, .external_lex_state = 31},
  [4638] = {.lex_state = 748, .external_lex_state = 31},
  [4639] = {.lex_state = 748, .external_lex_state = 31},
  [4640] = {.lex_state = 748, .external_lex_state = 31},
  [4641] = {.lex_state = 748, .external_lex_state = 31},
  [4642] = {.lex_state = 748, .external_lex_state = 31},
  [4643] = {.lex_state = 77, .external_lex_state = 57},
  [4644] = {.lex_state = 748, .external_lex_state = 31},
  [4645] = {.lex_state = 748, .external_lex_state = 31},
  [4646] = {.lex_state = 748, .external_lex_state = 31},
  [4647] = {.lex_state = 748, .external_lex_state = 31},
  [4648] = {.lex_state = 748, .external_lex_state = 31},
  [4649] = {.lex_state = 748, .external_lex_state = 31},
  [4650] = {.lex_state = 748, .external_lex_state = 31},
  [4651] = {.lex_state = 748, .external_lex_state = 31},
  [4652] = {.lex_state = 748, .external_lex_state = 31},
  [4653] = {.lex_state = 748, .external_lex_state = 31},
  [4654] = {.lex_state = 77, .external_lex_state = 57},
  [4655] = {.lex_state = 748, .external_lex_state = 31},
  [4656] = {.lex_state = 748, .external_lex_state = 31},
  [4657] = {.lex_state = 748, .external_lex_state = 31},
  [4658] = {.lex_state = 748, .external_lex_state = 31},
  [4659] = {.lex_state = 748, .external_lex_state = 31},
  [4660] = {.lex_state = 748, .external_lex_state = 31},
  [4661] = {.lex_state = 748, .external_lex_state = 31},
  [4662] = {.lex_state = 748, .external_lex_state = 31},
  [4663] = {.lex_state = 748, .external_lex_state = 31},
  [4664] = {.lex_state = 748, .external_lex_state = 31},
  [4665] = {.lex_state = 748, .external_lex_state = 31},
  [4666] = {.lex_state = 748, .external_lex_state = 31},
  [4667] = {.lex_state = 748, .external_lex_state = 31},
  [4668] = {.lex_state = 748, .external_lex_state = 31},
  [4669] = {.lex_state = 748, .external_lex_state = 31},
  [4670] = {.lex_state = 748, .external_lex_state = 31},
  [4671] = {.lex_state = 748, .external_lex_state = 31},
  [4672] = {.lex_state = 748, .external_lex_state = 31},
  [4673] = {.lex_state = 748, .external_lex_state = 31},
  [4674] = {.lex_state = 748, .external_lex_state = 31},
  [4675] = {.lex_state = 748, .external_lex_state = 31},
  [4676] = {.lex_state = 748, .external_lex_state = 31},
  [4677] = {.lex_state = 748, .external_lex_state = 31},
  [4678] = {.lex_state = 748, .external_lex_state = 31},
  [4679] = {.lex_state = 748, .external_lex_state = 31},
  [4680] = {.lex_state = 748, .external_lex_state = 31},
  [4681] = {.lex_state = 748, .external_lex_state = 31},
  [4682] = {.lex_state = 748, .external_lex_state = 31},
  [4683] = {.lex_state = 748, .external_lex_state = 31},
  [4684] = {.lex_state = 748, .external_lex_state = 31},
  [4685] = {.lex_state = 748, .external_lex_state = 31},
  [4686] = {.lex_state = 748, .external_lex_state = 31},
  [4687] = {.lex_state = 748, .external_lex_state = 31},
  [4688] = {.lex_state = 748, .external_lex_state = 31},
  [4689] = {.lex_state = 77, .external_lex_state = 57},
  [4690] = {.lex_state = 748, .external_lex_state = 31},
  [4691] = {.lex_state = 748, .external_lex_state = 31},
  [4692] = {.lex_state = 748, .external_lex_state = 31},
  [4693] = {.lex_state = 748, .external_lex_state = 31},
  [4694] = {.lex_state = 748, .external_lex_state = 31},
  [4695] = {.lex_state = 748, .external_lex_state = 31},
  [4696] = {.lex_state = 748, .external_lex_state = 31},
  [4697] = {.lex_state = 748, .external_lex_state = 31},
  [4698] = {.lex_state = 748, .external_lex_state = 31},
  [4699] = {.lex_state = 748, .external_lex_state = 31},
  [4700] = {.lex_state = 748, .external_lex_state = 31},
  [4701] = {.lex_state = 748, .external_lex_state = 31},
  [4702] = {.lex_state = 748, .external_lex_state = 31},
  [4703] = {.lex_state = 748, .external_lex_state = 31},
  [4704] = {.lex_state = 748, .external_lex_state = 31},
  [4705] = {.lex_state = 77, .external_lex_state = 57},
  [4706] = {.lex_state = 748, .external_lex_state = 31},
  [4707] = {.lex_state = 748, .external_lex_state = 31},
  [4708] = {.lex_state = 748, .external_lex_state = 31},
  [4709] = {.lex_state = 748, .external_lex_state = 31},
  [4710] = {.lex_state = 748, .external_lex_state = 31},
  [4711] = {.lex_state = 748, .external_lex_state = 31},
  [4712] = {.lex_state = 748, .external_lex_state = 31},
  [4713] = {.lex_state = 748, .external_lex_state = 31},
  [4714] = {.lex_state = 748, .external_lex_state = 31},
  [4715] = {.lex_state = 748, .external_lex_state = 31},
  [4716] = {.lex_state = 748, .external_lex_state = 31},
  [4717] = {.lex_state = 748, .external_lex_state = 31},
  [4718] = {.lex_state = 748, .external_lex_state = 31},
  [4719] = {.lex_state = 748, .external_lex_state = 31},
  [4720] = {.lex_state = 748, .external_lex_state = 31},
  [4721] = {.lex_state = 748, .external_lex_state = 31},
  [4722] = {.lex_state = 748, .external_lex_state = 31},
  [4723] = {.lex_state = 748, .external_lex_state = 31},
  [4724] = {.lex_state = 748, .external_lex_state = 31},
  [4725] = {.lex_state = 748, .external_lex_state = 31},
  [4726] = {.lex_state = 748, .external_lex_state = 31},
  [4727] = {.lex_state = 748, .external_lex_state = 31},
  [4728] = {.lex_state = 748, .external_lex_state = 31},
  [4729] = {.lex_state = 748, .external_lex_state = 31},
  [4730] = {.lex_state = 748, .external_lex_state = 31},
  [4731] = {.lex_state = 748, .external_lex_state = 31},
  [4732] = {.lex_state = 748, .external_lex_state = 31},
  [4733] = {.lex_state = 748, .external_lex_state = 31},
  [4734] = {.lex_state = 748, .external_lex_state = 31},
  [4735] = {.lex_state = 748, .external_lex_state = 31},
  [4736] = {.lex_state = 748, .external_lex_state = 31},
  [4737] = {.lex_state = 77, .external_lex_state = 57},
  [4738] = {.lex_state = 748, .external_lex_state = 31},
  [4739] = {.lex_state = 748, .external_lex_state = 31},
  [4740] = {.lex_state = 748, .external_lex_state = 31},
  [4741] = {.lex_state = 748, .external_lex_state = 31},
  [4742] = {.lex_state = 748, .external_lex_state = 31},
  [4743] = {.lex_state = 748, .external_lex_state = 31},
  [4744] = {.lex_state = 748, .external_lex_state = 31},
  [4745] = {.lex_state = 748, .external_lex_state = 31},
  [4746] = {.lex_state = 748, .external_lex_state = 31},
  [4747] = {.lex_state = 748, .external_lex_state = 31},
  [4748] = {.lex_state = 748, .external_lex_state = 31},
  [4749] = {.lex_state = 748, .external_lex_state = 31},
  [4750] = {.lex_state = 748, .external_lex_state = 31},
  [4751] = {.lex_state = 748, .external_lex_state = 31},
  [4752] = {.lex_state = 748, .external_lex_state = 31},
  [4753] = {.lex_state = 748, .external_lex_state = 31},
  [4754] = {.lex_state = 748, .external_lex_state = 31},
  [4755] = {.lex_state = 748, .external_lex_state = 31},
  [4756] = {.lex_state = 748, .external_lex_state = 31},
  [4757] = {.lex_state = 748, .external_lex_state = 31},
  [4758] = {.lex_state = 748, .external_lex_state = 31},
  [4759] = {.lex_state = 748, .external_lex_state = 31},
  [4760] = {.lex_state = 748, .external_lex_state = 31},
  [4761] = {.lex_state = 748, .external_lex_state = 31},
  [4762] = {.lex_state = 748, .external_lex_state = 31},
  [4763] = {.lex_state = 748, .external_lex_state = 31},
  [4764] = {.lex_state = 748, .external_lex_state = 31},
  [4765] = {.lex_state = 748, .external_lex_state = 31},
  [4766] = {.lex_state = 748, .external_lex_state = 31},
  [4767] = {.lex_state = 748, .external_lex_state = 31},
  [4768] = {.lex_state = 748, .external_lex_state = 31},
  [4769] = {.lex_state = 77, .external_lex_state = 57},
  [4770] = {.lex_state = 75, .external_lex_state = 52},
  [4771] = {.lex_state = 103, .external_lex_state = 52},
  [4772] = {.lex_state = 77, .external_lex_state = 57},
  [4773] = {.lex_state = 77, .external_lex_state = 57},
  [4774] = {.lex_state = 77, .external_lex_state = 57},
  [4775] = {.lex_state = 103, .external_lex_state = 52},
  [4776] = {.lex_state = 77, .external_lex_state = 57},
  [4777] = {.lex_state = 75, .external_lex_state = 52},
  [4778] = {.lex_state = 103, .external_lex_state = 52},
  [4779] = {.lex_state = 77, .external_lex_state = 57},
  [4780] = {.lex_state = 77, .external_lex_state = 57},
  [4781] = {.lex_state = 70, .external_lex_state = 28},
  [4782] = {.lex_state = 103, .external_lex_state = 52},
  [4783] = {.lex_state = 103, .external_lex_state = 52},
  [4784] = {.lex_state = 103, .external_lex_state = 52},
  [4785] = {.lex_state = 103, .external_lex_state = 52},
  [4786] = {.lex_state = 103, .external_lex_state = 52},
  [4787] = {.lex_state = 103, .external_lex_state = 52},
  [4788] = {.lex_state = 103, .external_lex_state = 52},
  [4789] = {.lex_state = 103, .external_lex_state = 52},
  [4790] = {.lex_state = 99, .external_lex_state = 52},
  [4791] = {.lex_state = 77, .external_lex_state = 57},
  [4792] = {.lex_state = 77, .external_lex_state = 57},
  [4793] = {.lex_state = 103, .external_lex_state = 52},
  [4794] = {.lex_state = 77, .external_lex_state = 57},
  [4795] = {.lex_state = 77, .external_lex_state = 57},
  [4796] = {.lex_state = 116, .external_lex_state = 31},
  [4797] = {.lex_state = 70, .external_lex_state = 30},
  [4798] = {.lex_state = 116, .external_lex_state = 31},
  [4799] = {.lex_state = 103, .external_lex_state = 52},
  [4800] = {.lex_state = 77, .external_lex_state = 31},
  [4801] = {.lex_state = 103, .external_lex_state = 52},
  [4802] = {.lex_state = 103, .external_lex_state = 52},
  [4803] = {.lex_state = 103, .external_lex_state = 52},
  [4804] = {.lex_state = 77, .external_lex_state = 57},
  [4805] = {.lex_state = 103, .external_lex_state = 52},
  [4806] = {.lex_state = 103, .external_lex_state = 52},
  [4807] = {.lex_state = 77, .external_lex_state = 57},
  [4808] = {.lex_state = 103, .external_lex_state = 52},
  [4809] = {.lex_state = 77, .external_lex_state = 31},
  [4810] = {.lex_state = 103, .external_lex_state = 52},
  [4811] = {.lex_state = 103, .external_lex_state = 52},
  [4812] = {.lex_state = 77, .external_lex_state = 31},
  [4813] = {.lex_state = 77, .external_lex_state = 31},
  [4814] = {.lex_state = 77, .external_lex_state = 31},
  [4815] = {.lex_state = 103, .external_lex_state = 52},
  [4816] = {.lex_state = 77, .external_lex_state = 31},
  [4817] = {.lex_state = 103, .external_lex_state = 52},
  [4818] = {.lex_state = 103, .external_lex_state = 52},
  [4819] = {.lex_state = 103, .external_lex_state = 52},
  [4820] = {.lex_state = 99, .external_lex_state = 52},
  [4821] = {.lex_state = 77, .external_lex_state = 31},
  [4822] = {.lex_state = 103, .external_lex_state = 52},
  [4823] = {.lex_state = 77, .external_lex_state = 31},
  [4824] = {.lex_state = 116, .external_lex_state = 31},
  [4825] = {.lex_state = 103, .external_lex_state = 52},
  [4826] = {.lex_state = 99, .external_lex_state = 52},
  [4827] = {.lex_state = 99, .external_lex_state = 52},
  [4828] = {.lex_state = 116, .external_lex_state = 31},
  [4829] = {.lex_state = 103, .external_lex_state = 52},
  [4830] = {.lex_state = 117, .external_lex_state = 31},
  [4831] = {.lex_state = 103, .external_lex_state = 52},
  [4832] = {.lex_state = 103, .external_lex_state = 52},
  [4833] = {.lex_state = 103, .external_lex_state = 52},
  [4834] = {.lex_state = 73, .external_lex_state = 30},
  [4835] = {.lex_state = 103, .external_lex_state = 52},
  [4836] = {.lex_state = 99, .external_lex_state = 52},
  [4837] = {.lex_state = 103, .external_lex_state = 52},
  [4838] = {.lex_state = 103, .external_lex_state = 52},
  [4839] = {.lex_state = 121, .external_lex_state = 31},
  [4840] = {.lex_state = 103, .external_lex_state = 52},
  [4841] = {.lex_state = 80, .external_lex_state = 31},
  [4842] = {.lex_state = 121, .external_lex_state = 31},
  [4843] = {.lex_state = 99, .external_lex_state = 52},
  [4844] = {.lex_state = 80, .external_lex_state = 31},
  [4845] = {.lex_state = 99, .external_lex_state = 52},
  [4846] = {.lex_state = 80, .external_lex_state = 31},
  [4847] = {.lex_state = 99, .external_lex_state = 52},
  [4848] = {.lex_state = 80, .external_lex_state = 31},
  [4849] = {.lex_state = 80, .external_lex_state = 31},
  [4850] = {.lex_state = 80, .external_lex_state = 31},
  [4851] = {.lex_state = 99, .external_lex_state = 52},
  [4852] = {.lex_state = 80, .external_lex_state = 31},
  [4853] = {.lex_state = 80, .external_lex_state = 31},
  [4854] = {.lex_state = 80, .external_lex_state = 31},
  [4855] = {.lex_state = 99, .external_lex_state = 52},
  [4856] = {.lex_state = 80, .external_lex_state = 31},
  [4857] = {.lex_state = 99, .external_lex_state = 52},
  [4858] = {.lex_state = 80, .external_lex_state = 31},
  [4859] = {.lex_state = 99, .external_lex_state = 31},
  [4860] = {.lex_state = 99, .external_lex_state = 31},
  [4861] = {.lex_state = 99, .external_lex_state = 31},
  [4862] = {.lex_state = 99, .external_lex_state = 31},
  [4863] = {.lex_state = 99, .external_lex_state = 31},
  [4864] = {.lex_state = 78, .external_lex_state = 31},
  [4865] = {.lex_state = 78, .external_lex_state = 31},
  [4866] = {.lex_state = 121, .external_lex_state = 52},
  [4867] = {.lex_state = 78, .external_lex_state = 31},
  [4868] = {.lex_state = 78, .external_lex_state = 31},
  [4869] = {.lex_state = 78, .external_lex_state = 31},
  [4870] = {.lex_state = 78, .external_lex_state = 31},
  [4871] = {.lex_state = 78, .external_lex_state = 31},
  [4872] = {.lex_state = 78, .external_lex_state = 31},
  [4873] = {.lex_state = 81, .external_lex_state = 83},
  [4874] = {.lex_state = 81, .external_lex_state = 83},
  [4875] = {.lex_state = 81, .external_lex_state = 83},
  [4876] = {.lex_state = 81, .external_lex_state = 83},
  [4877] = {.lex_state = 78, .external_lex_state = 31},
  [4878] = {.lex_state = 78, .external_lex_state = 31},
  [4879] = {.lex_state = 81, .external_lex_state = 83},
  [4880] = {.lex_state = 81, .external_lex_state = 83},
  [4881] = {.lex_state = 78, .external_lex_state = 31},
  [4882] = {.lex_state = 78, .external_lex_state = 31},
  [4883] = {.lex_state = 78, .external_lex_state = 31},
  [4884] = {.lex_state = 78, .external_lex_state = 31},
  [4885] = {.lex_state = 78, .external_lex_state = 31},
  [4886] = {.lex_state = 78, .external_lex_state = 31},
  [4887] = {.lex_state = 78, .external_lex_state = 31},
  [4888] = {.lex_state = 78, .external_lex_state = 31},
  [4889] = {.lex_state = 78, .external_lex_state = 31},
  [4890] = {.lex_state = 78, .external_lex_state = 31},
  [4891] = {.lex_state = 81, .external_lex_state = 83},
  [4892] = {.lex_state = 78, .external_lex_state = 31},
  [4893] = {.lex_state = 78, .external_lex_state = 31},
  [4894] = {.lex_state = 81, .external_lex_state = 83},
  [4895] = {.lex_state = 121, .external_lex_state = 52},
  [4896] = {.lex_state = 81, .external_lex_state = 83},
  [4897] = {.lex_state = 81, .external_lex_state = 83},
  [4898] = {.lex_state = 78, .external_lex_state = 31},
  [4899] = {.lex_state = 78, .external_lex_state = 31},
  [4900] = {.lex_state = 78, .external_lex_state = 31},
  [4901] = {.lex_state = 81, .external_lex_state = 83},
  [4902] = {.lex_state = 78, .external_lex_state = 31},
  [4903] = {.lex_state = 121, .external_lex_state = 52},
  [4904] = {.lex_state = 78, .external_lex_state = 31},
  [4905] = {.lex_state = 78, .external_lex_state = 31},
  [4906] = {.lex_state = 78, .external_lex_state = 31},
  [4907] = {.lex_state = 78, .external_lex_state = 31},
  [4908] = {.lex_state = 121, .external_lex_state = 52},
  [4909] = {.lex_state = 100, .external_lex_state = 31},
  [4910] = {.lex_state = 78, .external_lex_state = 31},
  [4911] = {.lex_state = 78, .external_lex_state = 31},
  [4912] = {.lex_state = 78, .external_lex_state = 31},
  [4913] = {.lex_state = 78, .external_lex_state = 31},
  [4914] = {.lex_state = 78, .external_lex_state = 31},
  [4915] = {.lex_state = 78, .external_lex_state = 31},
  [4916] = {.lex_state = 78, .external_lex_state = 31},
  [4917] = {.lex_state = 78, .external_lex_state = 31},
  [4918] = {.lex_state = 78, .external_lex_state = 31},
  [4919] = {.lex_state = 74, .external_lex_state = 50},
  [4920] = {.lex_state = 121, .external_lex_state = 52},
  [4921] = {.lex_state = 77, .external_lex_state = 31},
  [4922] = {.lex_state = 94, .external_lex_state = 61},
  [4923] = {.lex_state = 121, .external_lex_state = 52},
  [4924] = {.lex_state = 112, .external_lex_state = 31},
  [4925] = {.lex_state = 94, .external_lex_state = 61},
  [4926] = {.lex_state = 121, .external_lex_state = 52},
  [4927] = {.lex_state = 121, .external_lex_state = 52},
  [4928] = {.lex_state = 121, .external_lex_state = 52},
  [4929] = {.lex_state = 94, .external_lex_state = 61},
  [4930] = {.lex_state = 112, .external_lex_state = 31},
  [4931] = {.lex_state = 77, .external_lex_state = 31},
  [4932] = {.lex_state = 112, .external_lex_state = 31},
  [4933] = {.lex_state = 112, .external_lex_state = 31},
  [4934] = {.lex_state = 94, .external_lex_state = 61},
  [4935] = {.lex_state = 112, .external_lex_state = 31},
  [4936] = {.lex_state = 121, .external_lex_state = 52},
  [4937] = {.lex_state = 121, .external_lex_state = 52},
  [4938] = {.lex_state = 94, .external_lex_state = 61},
  [4939] = {.lex_state = 112, .external_lex_state = 31},
  [4940] = {.lex_state = 94, .external_lex_state = 61},
  [4941] = {.lex_state = 79, .external_lex_state = 88},
  [4942] = {.lex_state = 111, .external_lex_state = 31},
  [4943] = {.lex_state = 121, .external_lex_state = 31},
  [4944] = {.lex_state = 79, .external_lex_state = 88},
  [4945] = {.lex_state = 79, .external_lex_state = 88},
  [4946] = {.lex_state = 79, .external_lex_state = 88},
  [4947] = {.lex_state = 70, .external_lex_state = 31},
  [4948] = {.lex_state = 79, .external_lex_state = 88},
  [4949] = {.lex_state = 121, .external_lex_state = 31},
  [4950] = {.lex_state = 111, .external_lex_state = 31},
  [4951] = {.lex_state = 79, .external_lex_state = 88},
  [4952] = {.lex_state = 79, .external_lex_state = 88},
  [4953] = {.lex_state = 79, .external_lex_state = 88},
  [4954] = {.lex_state = 75, .external_lex_state = 89},
  [4955] = {.lex_state = 77, .external_lex_state = 31},
  [4956] = {.lex_state = 79, .external_lex_state = 88},
  [4957] = {.lex_state = 70, .external_lex_state = 31},
  [4958] = {.lex_state = 100, .external_lex_state = 50},
  [4959] = {.lex_state = 121, .external_lex_state = 31},
  [4960] = {.lex_state = 121, .external_lex_state = 31},
  [4961] = {.lex_state = 100, .external_lex_state = 50},
  [4962] = {.lex_state = 94, .external_lex_state = 31},
  [4963] = {.lex_state = 111, .external_lex_state = 31},
  [4964] = {.lex_state = 121, .external_lex_state = 31},
  [4965] = {.lex_state = 121, .external_lex_state = 31},
  [4966] = {.lex_state = 111, .external_lex_state = 31},
  [4967] = {.lex_state = 747, .external_lex_state = 90},
  [4968] = {.lex_state = 115, .external_lex_state = 52},
  [4969] = {.lex_state = 94, .external_lex_state = 31},
  [4970] = {.lex_state = 100, .external_lex_state = 31},
  [4971] = {.lex_state = 74, .external_lex_state = 50},
  [4972] = {.lex_state = 115, .external_lex_state = 52},
  [4973] = {.lex_state = 94, .external_lex_state = 31},
  [4974] = {.lex_state = 115, .external_lex_state = 52},
  [4975] = {.lex_state = 94, .external_lex_state = 31},
  [4976] = {.lex_state = 747, .external_lex_state = 30},
  [4977] = {.lex_state = 115, .external_lex_state = 52},
  [4978] = {.lex_state = 104, .external_lex_state = 31},
  [4979] = {.lex_state = 115, .external_lex_state = 52},
  [4980] = {.lex_state = 747, .external_lex_state = 90},
  [4981] = {.lex_state = 115, .external_lex_state = 52},
  [4982] = {.lex_state = 115, .external_lex_state = 52},
  [4983] = {.lex_state = 104, .external_lex_state = 31},
  [4984] = {.lex_state = 115, .external_lex_state = 52},
  [4985] = {.lex_state = 104, .external_lex_state = 31},
  [4986] = {.lex_state = 115, .external_lex_state = 52},
  [4987] = {.lex_state = 115, .external_lex_state = 52},
  [4988] = {.lex_state = 94, .external_lex_state = 31},
  [4989] = {.lex_state = 115, .external_lex_state = 52},
  [4990] = {.lex_state = 115, .external_lex_state = 52},
  [4991] = {.lex_state = 115, .external_lex_state = 52},
  [4992] = {.lex_state = 100, .external_lex_state = 31},
  [4993] = {.lex_state = 748, .external_lex_state = 52},
  [4994] = {.lex_state = 749, .external_lex_state = 90},
  [4995] = {.lex_state = 749, .external_lex_state = 90},
  [4996] = {.lex_state = 747, .external_lex_state = 62},
  [4997] = {.lex_state = 749, .external_lex_state = 90},
  [4998] = {.lex_state = 748, .external_lex_state = 52},
  [4999] = {.lex_state = 749, .external_lex_state = 90},
  [5000] = {.lex_state = 70, .external_lex_state = 31},
  [5001] = {.lex_state = 748, .external_lex_state = 52},
  [5002] = {.lex_state = 747, .external_lex_state = 62},
  [5003] = {.lex_state = 70, .external_lex_state = 31},
  [5004] = {.lex_state = 749, .external_lex_state = 90},
  [5005] = {.lex_state = 749, .external_lex_state = 90},
  [5006] = {.lex_state = 747, .external_lex_state = 62},
  [5007] = {.lex_state = 749, .external_lex_state = 90},
  [5008] = {.lex_state = 748, .external_lex_state = 52},
  [5009] = {.lex_state = 747, .external_lex_state = 91},
  [5010] = {.lex_state = 70, .external_lex_state = 31},
  [5011] = {.lex_state = 747, .external_lex_state = 62},
  [5012] = {.lex_state = 100, .external_lex_state = 52},
  [5013] = {.lex_state = 747, .external_lex_state = 62},
  [5014] = {.lex_state = 94, .external_lex_state = 31},
  [5015] = {.lex_state = 79, .external_lex_state = 31},
  [5016] = {.lex_state = 75, .external_lex_state = 52},
  [5017] = {.lex_state = 94, .external_lex_state = 31},
  [5018] = {.lex_state = 748, .external_lex_state = 31},
  [5019] = {.lex_state = 748, .external_lex_state = 31},
  [5020] = {.lex_state = 94, .external_lex_state = 31},
  [5021] = {.lex_state = 747, .external_lex_state = 90},
  [5022] = {.lex_state = 94, .external_lex_state = 31},
  [5023] = {.lex_state = 94, .external_lex_state = 31},
  [5024] = {.lex_state = 94, .external_lex_state = 31},
  [5025] = {.lex_state = 76, .external_lex_state = 30},
  [5026] = {.lex_state = 94, .external_lex_state = 31},
  [5027] = {.lex_state = 94, .external_lex_state = 31},
  [5028] = {.lex_state = 749, .external_lex_state = 90},
  [5029] = {.lex_state = 94, .external_lex_state = 31},
  [5030] = {.lex_state = 94, .external_lex_state = 31},
  [5031] = {.lex_state = 747, .external_lex_state = 90},
  [5032] = {.lex_state = 94, .external_lex_state = 31},
  [5033] = {.lex_state = 94, .external_lex_state = 31},
  [5034] = {.lex_state = 94, .external_lex_state = 31},
  [5035] = {.lex_state = 747, .external_lex_state = 91},
  [5036] = {.lex_state = 100, .external_lex_state = 52},
  [5037] = {.lex_state = 100, .external_lex_state = 52},
  [5038] = {.lex_state = 749, .external_lex_state = 90},
  [5039] = {.lex_state = 94, .external_lex_state = 31},
  [5040] = {.lex_state = 94, .external_lex_state = 31},
  [5041] = {.lex_state = 747, .external_lex_state = 62},
  [5042] = {.lex_state = 94, .external_lex_state = 31},
  [5043] = {.lex_state = 94, .external_lex_state = 31},
  [5044] = {.lex_state = 748, .external_lex_state = 52},
  [5045] = {.lex_state = 94, .external_lex_state = 31},
  [5046] = {.lex_state = 749, .external_lex_state = 90},
  [5047] = {.lex_state = 749, .external_lex_state = 90},
  [5048] = {.lex_state = 94, .external_lex_state = 31},
  [5049] = {.lex_state = 94, .external_lex_state = 31},
  [5050] = {.lex_state = 749, .external_lex_state = 90},
  [5051] = {.lex_state = 747, .external_lex_state = 92},
  [5052] = {.lex_state = 100, .external_lex_state = 52},
  [5053] = {.lex_state = 94, .external_lex_state = 31},
  [5054] = {.lex_state = 747, .external_lex_state = 62},
  [5055] = {.lex_state = 747, .external_lex_state = 62},
  [5056] = {.lex_state = 749, .external_lex_state = 90},
  [5057] = {.lex_state = 747, .external_lex_state = 90},
  [5058] = {.lex_state = 749, .external_lex_state = 90},
  [5059] = {.lex_state = 747, .external_lex_state = 62},
  [5060] = {.lex_state = 103, .external_lex_state = 52},
  [5061] = {.lex_state = 748, .external_lex_state = 52},
  [5062] = {.lex_state = 94, .external_lex_state = 31},
  [5063] = {.lex_state = 747, .external_lex_state = 47},
  [5064] = {.lex_state = 79, .external_lex_state = 31},
  [5065] = {.lex_state = 747, .external_lex_state = 62},
  [5066] = {.lex_state = 747, .external_lex_state = 90},
  [5067] = {.lex_state = 747, .external_lex_state = 90},
  [5068] = {.lex_state = 747, .external_lex_state = 91},
  [5069] = {.lex_state = 747, .external_lex_state = 93},
  [5070] = {.lex_state = 747, .external_lex_state = 91},
  [5071] = {.lex_state = 94, .external_lex_state = 31},
  [5072] = {.lex_state = 94, .external_lex_state = 31},
  [5073] = {.lex_state = 113, .external_lex_state = 31},
  [5074] = {.lex_state = 94, .external_lex_state = 31},
  [5075] = {.lex_state = 76, .external_lex_state = 30},
  [5076] = {.lex_state = 747, .external_lex_state = 62},
  [5077] = {.lex_state = 94, .external_lex_state = 31},
  [5078] = {.lex_state = 747, .external_lex_state = 94},
  [5079] = {.lex_state = 747, .external_lex_state = 30},
  [5080] = {.lex_state = 747, .external_lex_state = 62},
  [5081] = {.lex_state = 100, .external_lex_state = 31},
  [5082] = {.lex_state = 747, .external_lex_state = 95},
  [5083] = {.lex_state = 747, .external_lex_state = 62},
  [5084] = {.lex_state = 94, .external_lex_state = 31},
  [5085] = {.lex_state = 747, .external_lex_state = 91},
  [5086] = {.lex_state = 103, .external_lex_state = 52},
  [5087] = {.lex_state = 113, .external_lex_state = 31},
  [5088] = {.lex_state = 94, .external_lex_state = 31},
  [5089] = {.lex_state = 747, .external_lex_state = 90},
  [5090] = {.lex_state = 747, .external_lex_state = 92},
  [5091] = {.lex_state = 94, .external_lex_state = 31},
  [5092] = {.lex_state = 747, .external_lex_state = 62},
  [5093] = {.lex_state = 94, .external_lex_state = 31},
  [5094] = {.lex_state = 748, .external_lex_state = 52},
  [5095] = {.lex_state = 747, .external_lex_state = 62},
  [5096] = {.lex_state = 748, .external_lex_state = 52},
  [5097] = {.lex_state = 113, .external_lex_state = 31},
  [5098] = {.lex_state = 747, .external_lex_state = 62},
  [5099] = {.lex_state = 100, .external_lex_state = 52},
  [5100] = {.lex_state = 747, .external_lex_state = 65},
  [5101] = {.lex_state = 748, .external_lex_state = 52},
  [5102] = {.lex_state = 747, .external_lex_state = 91},
  [5103] = {.lex_state = 747, .external_lex_state = 30},
  [5104] = {.lex_state = 747, .external_lex_state = 65},
  [5105] = {.lex_state = 747, .external_lex_state = 65},
  [5106] = {.lex_state = 747, .external_lex_state = 50},
  [5107] = {.lex_state = 94, .external_lex_state = 31},
  [5108] = {.lex_state = 747, .external_lex_state = 91},
  [5109] = {.lex_state = 747, .external_lex_state = 91},
  [5110] = {.lex_state = 94, .external_lex_state = 31},
  [5111] = {.lex_state = 748, .external_lex_state = 52},
  [5112] = {.lex_state = 747, .external_lex_state = 65},
  [5113] = {.lex_state = 79, .external_lex_state = 31},
  [5114] = {.lex_state = 748, .external_lex_state = 52},
  [5115] = {.lex_state = 747, .external_lex_state = 91},
  [5116] = {.lex_state = 94, .external_lex_state = 31},
  [5117] = {.lex_state = 94, .external_lex_state = 31},
  [5118] = {.lex_state = 747, .external_lex_state = 91},
  [5119] = {.lex_state = 747, .external_lex_state = 90},
  [5120] = {.lex_state = 747, .external_lex_state = 90},
  [5121] = {.lex_state = 748, .external_lex_state = 31},
  [5122] = {.lex_state = 747, .external_lex_state = 30},
  [5123] = {.lex_state = 79, .external_lex_state = 31},
  [5124] = {.lex_state = 748, .external_lex_state = 31},
  [5125] = {.lex_state = 747, .external_lex_state = 68},
  [5126] = {.lex_state = 747, .external_lex_state = 91},
  [5127] = {.lex_state = 94, .external_lex_state = 31},
  [5128] = {.lex_state = 748, .external_lex_state = 31},
  [5129] = {.lex_state = 747, .external_lex_state = 96},
  [5130] = {.lex_state = 747, .external_lex_state = 91},
  [5131] = {.lex_state = 94, .external_lex_state = 31},
  [5132] = {.lex_state = 747, .external_lex_state = 90},
  [5133] = {.lex_state = 100, .external_lex_state = 52},
  [5134] = {.lex_state = 94, .external_lex_state = 31},
  [5135] = {.lex_state = 747, .external_lex_state = 91},
  [5136] = {.lex_state = 747, .external_lex_state = 65},
  [5137] = {.lex_state = 747, .external_lex_state = 91},
  [5138] = {.lex_state = 747, .external_lex_state = 65},
  [5139] = {.lex_state = 94, .external_lex_state = 31},
  [5140] = {.lex_state = 747, .external_lex_state = 91},
  [5141] = {.lex_state = 747, .external_lex_state = 68},
  [5142] = {.lex_state = 747, .external_lex_state = 91},
  [5143] = {.lex_state = 79, .external_lex_state = 31},
  [5144] = {.lex_state = 747, .external_lex_state = 65},
  [5145] = {.lex_state = 747, .external_lex_state = 91},
  [5146] = {.lex_state = 76, .external_lex_state = 30},
  [5147] = {.lex_state = 748, .external_lex_state = 31},
  [5148] = {.lex_state = 747, .external_lex_state = 30},
  [5149] = {.lex_state = 121, .external_lex_state = 31},
  [5150] = {.lex_state = 747, .external_lex_state = 91},
  [5151] = {.lex_state = 747, .external_lex_state = 65},
  [5152] = {.lex_state = 121, .external_lex_state = 31},
  [5153] = {.lex_state = 747, .external_lex_state = 91},
  [5154] = {.lex_state = 94, .external_lex_state = 31},
  [5155] = {.lex_state = 121, .external_lex_state = 31},
  [5156] = {.lex_state = 100, .external_lex_state = 52},
  [5157] = {.lex_state = 94, .external_lex_state = 31},
  [5158] = {.lex_state = 747, .external_lex_state = 90},
  [5159] = {.lex_state = 100, .external_lex_state = 52},
  [5160] = {.lex_state = 100, .external_lex_state = 52},
  [5161] = {.lex_state = 747, .external_lex_state = 90},
  [5162] = {.lex_state = 100, .external_lex_state = 52},
  [5163] = {.lex_state = 100, .external_lex_state = 52},
  [5164] = {.lex_state = 76, .external_lex_state = 30},
  [5165] = {.lex_state = 747, .external_lex_state = 90},
  [5166] = {.lex_state = 76, .external_lex_state = 30},
  [5167] = {.lex_state = 747, .external_lex_state = 62},
  [5168] = {.lex_state = 747, .external_lex_state = 90},
  [5169] = {.lex_state = 76, .external_lex_state = 30},
  [5170] = {.lex_state = 94, .external_lex_state = 31},
  [5171] = {.lex_state = 76, .external_lex_state = 30},
  [5172] = {.lex_state = 748, .external_lex_state = 31},
  [5173] = {.lex_state = 747, .external_lex_state = 92},
  [5174] = {.lex_state = 747, .external_lex_state = 97},
  [5175] = {.lex_state = 747, .external_lex_state = 62},
  [5176] = {.lex_state = 749, .external_lex_state = 90},
  [5177] = {.lex_state = 114, .external_lex_state = 31},
  [5178] = {.lex_state = 747, .external_lex_state = 68},
  [5179] = {.lex_state = 747, .external_lex_state = 62},
  [5180] = {.lex_state = 747, .external_lex_state = 92},
  [5181] = {.lex_state = 76, .external_lex_state = 30},
  [5182] = {.lex_state = 747, .external_lex_state = 90},
  [5183] = {.lex_state = 747, .external_lex_state = 95},
  [5184] = {.lex_state = 747, .external_lex_state = 62},
  [5185] = {.lex_state = 747, .external_lex_state = 62},
  [5186] = {.lex_state = 747, .external_lex_state = 65},
  [5187] = {.lex_state = 747, .external_lex_state = 68},
  [5188] = {.lex_state = 94, .external_lex_state = 31},
  [5189] = {.lex_state = 747, .external_lex_state = 92},
  [5190] = {.lex_state = 747, .external_lex_state = 92},
  [5191] = {.lex_state = 747, .external_lex_state = 90},
  [5192] = {.lex_state = 747, .external_lex_state = 92},
  [5193] = {.lex_state = 747, .external_lex_state = 92},
  [5194] = {.lex_state = 747, .external_lex_state = 90},
  [5195] = {.lex_state = 94, .external_lex_state = 31},
  [5196] = {.lex_state = 747, .external_lex_state = 62},
  [5197] = {.lex_state = 749, .external_lex_state = 90},
  [5198] = {.lex_state = 747, .external_lex_state = 92},
  [5199] = {.lex_state = 747, .external_lex_state = 71},
  [5200] = {.lex_state = 747, .external_lex_state = 92},
  [5201] = {.lex_state = 747, .external_lex_state = 90},
  [5202] = {.lex_state = 121, .external_lex_state = 31},
  [5203] = {.lex_state = 747, .external_lex_state = 70},
  [5204] = {.lex_state = 747, .external_lex_state = 94},
  [5205] = {.lex_state = 747, .external_lex_state = 90},
  [5206] = {.lex_state = 747, .external_lex_state = 30},
  [5207] = {.lex_state = 749, .external_lex_state = 90},
  [5208] = {.lex_state = 747, .external_lex_state = 92},
  [5209] = {.lex_state = 747, .external_lex_state = 30},
  [5210] = {.lex_state = 749, .external_lex_state = 90},
  [5211] = {.lex_state = 749, .external_lex_state = 47},
  [5212] = {.lex_state = 747, .external_lex_state = 50},
  [5213] = {.lex_state = 76, .external_lex_state = 50},
  [5214] = {.lex_state = 749, .external_lex_state = 47},
  [5215] = {.lex_state = 747, .external_lex_state = 70},
  [5216] = {.lex_state = 747, .external_lex_state = 94},
  [5217] = {.lex_state = 747, .external_lex_state = 48},
  [5218] = {.lex_state = 749, .external_lex_state = 47},
  [5219] = {.lex_state = 749, .external_lex_state = 47},
  [5220] = {.lex_state = 94, .external_lex_state = 31},
  [5221] = {.lex_state = 747, .external_lex_state = 90},
  [5222] = {.lex_state = 747, .external_lex_state = 69},
  [5223] = {.lex_state = 747, .external_lex_state = 69},
  [5224] = {.lex_state = 747, .external_lex_state = 92},
  [5225] = {.lex_state = 749, .external_lex_state = 90},
  [5226] = {.lex_state = 94, .external_lex_state = 31},
  [5227] = {.lex_state = 94, .external_lex_state = 31},
  [5228] = {.lex_state = 747, .external_lex_state = 90},
  [5229] = {.lex_state = 749, .external_lex_state = 47},
  [5230] = {.lex_state = 749, .external_lex_state = 90},
  [5231] = {.lex_state = 747, .external_lex_state = 69},
  [5232] = {.lex_state = 747, .external_lex_state = 94},
  [5233] = {.lex_state = 749, .external_lex_state = 90},
  [5234] = {.lex_state = 747, .external_lex_state = 69},
  [5235] = {.lex_state = 747, .external_lex_state = 65},
  [5236] = {.lex_state = 747, .external_lex_state = 95},
  [5237] = {.lex_state = 747, .external_lex_state = 65},
  [5238] = {.lex_state = 747, .external_lex_state = 98},
  [5239] = {.lex_state = 747, .external_lex_state = 65},
  [5240] = {.lex_state = 749, .external_lex_state = 90},
  [5241] = {.lex_state = 747, .external_lex_state = 68},
  [5242] = {.lex_state = 747, .external_lex_state = 65},
  [5243] = {.lex_state = 747, .external_lex_state = 94},
  [5244] = {.lex_state = 747, .external_lex_state = 94},
  [5245] = {.lex_state = 747, .external_lex_state = 68},
  [5246] = {.lex_state = 94, .external_lex_state = 31},
  [5247] = {.lex_state = 747, .external_lex_state = 50},
  [5248] = {.lex_state = 121, .external_lex_state = 31},
  [5249] = {.lex_state = 747, .external_lex_state = 70},
  [5250] = {.lex_state = 747, .external_lex_state = 65},
  [5251] = {.lex_state = 747, .external_lex_state = 70},
  [5252] = {.lex_state = 747, .external_lex_state = 95},
  [5253] = {.lex_state = 747, .external_lex_state = 90},
  [5254] = {.lex_state = 749, .external_lex_state = 93},
  [5255] = {.lex_state = 747, .external_lex_state = 50},
  [5256] = {.lex_state = 76, .external_lex_state = 50},
  [5257] = {.lex_state = 747, .external_lex_state = 94},
  [5258] = {.lex_state = 747, .external_lex_state = 94},
  [5259] = {.lex_state = 747, .external_lex_state = 94},
  [5260] = {.lex_state = 749, .external_lex_state = 90},
  [5261] = {.lex_state = 747, .external_lex_state = 95},
  [5262] = {.lex_state = 747, .external_lex_state = 71},
  [5263] = {.lex_state = 749, .external_lex_state = 90},
  [5264] = {.lex_state = 749, .external_lex_state = 93},
  [5265] = {.lex_state = 747, .external_lex_state = 95},
  [5266] = {.lex_state = 94, .external_lex_state = 52},
  [5267] = {.lex_state = 94, .external_lex_state = 52},
  [5268] = {.lex_state = 749, .external_lex_state = 47},
  [5269] = {.lex_state = 747, .external_lex_state = 90},
  [5270] = {.lex_state = 77, .external_lex_state = 31},
  [5271] = {.lex_state = 94, .external_lex_state = 31},
  [5272] = {.lex_state = 747, .external_lex_state = 91},
  [5273] = {.lex_state = 94, .external_lex_state = 31},
  [5274] = {.lex_state = 747, .external_lex_state = 68},
  [5275] = {.lex_state = 94, .external_lex_state = 52},
  [5276] = {.lex_state = 747, .external_lex_state = 90},
  [5277] = {.lex_state = 749, .external_lex_state = 93},
  [5278] = {.lex_state = 100, .external_lex_state = 31},
  [5279] = {.lex_state = 747, .external_lex_state = 92},
  [5280] = {.lex_state = 747, .external_lex_state = 95},
  [5281] = {.lex_state = 747, .external_lex_state = 95},
  [5282] = {.lex_state = 747, .external_lex_state = 90},
  [5283] = {.lex_state = 747, .external_lex_state = 49},
  [5284] = {.lex_state = 747, .external_lex_state = 90},
  [5285] = {.lex_state = 747, .external_lex_state = 92},
  [5286] = {.lex_state = 747, .external_lex_state = 91},
  [5287] = {.lex_state = 747, .external_lex_state = 94},
  [5288] = {.lex_state = 747, .external_lex_state = 71},
  [5289] = {.lex_state = 747, .external_lex_state = 92},
  [5290] = {.lex_state = 747, .external_lex_state = 65},
  [5291] = {.lex_state = 94, .external_lex_state = 31},
  [5292] = {.lex_state = 747, .external_lex_state = 99},
  [5293] = {.lex_state = 749, .external_lex_state = 47},
  [5294] = {.lex_state = 747, .external_lex_state = 94},
  [5295] = {.lex_state = 94, .external_lex_state = 31},
  [5296] = {.lex_state = 747, .external_lex_state = 91},
  [5297] = {.lex_state = 94, .external_lex_state = 52},
  [5298] = {.lex_state = 94, .external_lex_state = 31},
  [5299] = {.lex_state = 121, .external_lex_state = 31},
  [5300] = {.lex_state = 94, .external_lex_state = 31},
  [5301] = {.lex_state = 94, .external_lex_state = 31},
  [5302] = {.lex_state = 747, .external_lex_state = 92},
  [5303] = {.lex_state = 94, .external_lex_state = 31},
  [5304] = {.lex_state = 747, .external_lex_state = 65},
  [5305] = {.lex_state = 747, .external_lex_state = 95},
  [5306] = {.lex_state = 747, .external_lex_state = 92},
  [5307] = {.lex_state = 94, .external_lex_state = 31},
  [5308] = {.lex_state = 747, .external_lex_state = 50},
  [5309] = {.lex_state = 747, .external_lex_state = 68},
  [5310] = {.lex_state = 747, .external_lex_state = 50},
  [5311] = {.lex_state = 749, .external_lex_state = 93},
  [5312] = {.lex_state = 100, .external_lex_state = 31},
  [5313] = {.lex_state = 76, .external_lex_state = 50},
  [5314] = {.lex_state = 747, .external_lex_state = 94},
  [5315] = {.lex_state = 747, .external_lex_state = 68},
  [5316] = {.lex_state = 100, .external_lex_state = 31},
  [5317] = {.lex_state = 747, .external_lex_state = 50},
  [5318] = {.lex_state = 749, .external_lex_state = 93},
  [5319] = {.lex_state = 747, .external_lex_state = 90},
  [5320] = {.lex_state = 747, .external_lex_state = 50},
  [5321] = {.lex_state = 100, .external_lex_state = 31},
  [5322] = {.lex_state = 110, .external_lex_state = 31},
  [5323] = {.lex_state = 747, .external_lex_state = 92},
  [5324] = {.lex_state = 747, .external_lex_state = 92},
  [5325] = {.lex_state = 749, .external_lex_state = 93},
  [5326] = {.lex_state = 104, .external_lex_state = 31},
  [5327] = {.lex_state = 121, .external_lex_state = 31},
  [5328] = {.lex_state = 749, .external_lex_state = 93},
  [5329] = {.lex_state = 121, .external_lex_state = 31},
  [5330] = {.lex_state = 94, .external_lex_state = 31},
  [5331] = {.lex_state = 747, .external_lex_state = 69},
  [5332] = {.lex_state = 94, .external_lex_state = 31},
  [5333] = {.lex_state = 94, .external_lex_state = 31},
  [5334] = {.lex_state = 747, .external_lex_state = 100},
  [5335] = {.lex_state = 747, .external_lex_state = 94},
  [5336] = {.lex_state = 94, .external_lex_state = 31},
  [5337] = {.lex_state = 94, .external_lex_state = 31},
  [5338] = {.lex_state = 747, .external_lex_state = 100},
  [5339] = {.lex_state = 94, .external_lex_state = 31},
  [5340] = {.lex_state = 747, .external_lex_state = 100},
  [5341] = {.lex_state = 747, .external_lex_state = 100},
  [5342] = {.lex_state = 94, .external_lex_state = 31},
  [5343] = {.lex_state = 94, .external_lex_state = 31},
  [5344] = {.lex_state = 747, .external_lex_state = 101},
  [5345] = {.lex_state = 94, .external_lex_state = 31},
  [5346] = {.lex_state = 747, .external_lex_state = 96},
  [5347] = {.lex_state = 747, .external_lex_state = 73},
  [5348] = {.lex_state = 747, .external_lex_state = 93},
  [5349] = {.lex_state = 94, .external_lex_state = 31},
  [5350] = {.lex_state = 747, .external_lex_state = 96},
  [5351] = {.lex_state = 747, .external_lex_state = 96},
  [5352] = {.lex_state = 747, .external_lex_state = 96},
  [5353] = {.lex_state = 747, .external_lex_state = 96},
  [5354] = {.lex_state = 749, .external_lex_state = 97},
  [5355] = {.lex_state = 747, .external_lex_state = 93},
  [5356] = {.lex_state = 747, .external_lex_state = 70},
  [5357] = {.lex_state = 747, .external_lex_state = 96},
  [5358] = {.lex_state = 94, .external_lex_state = 31},
  [5359] = {.lex_state = 94, .external_lex_state = 31},
  [5360] = {.lex_state = 94, .external_lex_state = 31},
  [5361] = {.lex_state = 747, .external_lex_state = 69},
  [5362] = {.lex_state = 94, .external_lex_state = 31},
  [5363] = {.lex_state = 747, .external_lex_state = 93},
  [5364] = {.lex_state = 747, .external_lex_state = 73},
  [5365] = {.lex_state = 94, .external_lex_state = 31},
  [5366] = {.lex_state = 747, .external_lex_state = 73},
  [5367] = {.lex_state = 747, .external_lex_state = 91},
  [5368] = {.lex_state = 747, .external_lex_state = 94},
  [5369] = {.lex_state = 94, .external_lex_state = 31},
  [5370] = {.lex_state = 94, .external_lex_state = 31},
  [5371] = {.lex_state = 747, .external_lex_state = 96},
  [5372] = {.lex_state = 94, .external_lex_state = 31},
  [5373] = {.lex_state = 94, .external_lex_state = 31},
  [5374] = {.lex_state = 94, .external_lex_state = 31},
  [5375] = {.lex_state = 747, .external_lex_state = 68},
  [5376] = {.lex_state = 747, .external_lex_state = 100},
  [5377] = {.lex_state = 94, .external_lex_state = 31},
  [5378] = {.lex_state = 747, .external_lex_state = 95},
  [5379] = {.lex_state = 76, .external_lex_state = 99},
  [5380] = {.lex_state = 747, .external_lex_state = 65},
  [5381] = {.lex_state = 94, .external_lex_state = 31},
  [5382] = {.lex_state = 747, .external_lex_state = 65},
  [5383] = {.lex_state = 94, .external_lex_state = 31},
  [5384] = {.lex_state = 747, .external_lex_state = 65},
  [5385] = {.lex_state = 747, .external_lex_state = 95},
  [5386] = {.lex_state = 747, .external_lex_state = 65},
  [5387] = {.lex_state = 94, .external_lex_state = 52},
  [5388] = {.lex_state = 747, .external_lex_state = 30},
  [5389] = {.lex_state = 94, .external_lex_state = 31},
  [5390] = {.lex_state = 94, .external_lex_state = 31},
  [5391] = {.lex_state = 94, .external_lex_state = 31},
  [5392] = {.lex_state = 94, .external_lex_state = 31},
  [5393] = {.lex_state = 747, .external_lex_state = 72},
  [5394] = {.lex_state = 94, .external_lex_state = 31},
  [5395] = {.lex_state = 94, .external_lex_state = 31},
  [5396] = {.lex_state = 94, .external_lex_state = 31},
  [5397] = {.lex_state = 94, .external_lex_state = 31},
  [5398] = {.lex_state = 94, .external_lex_state = 31},
  [5399] = {.lex_state = 94, .external_lex_state = 31},
  [5400] = {.lex_state = 94, .external_lex_state = 31},
  [5401] = {.lex_state = 747, .external_lex_state = 100},
  [5402] = {.lex_state = 747, .external_lex_state = 72},
  [5403] = {.lex_state = 94, .external_lex_state = 31},
  [5404] = {.lex_state = 94, .external_lex_state = 31},
  [5405] = {.lex_state = 747, .external_lex_state = 69},
  [5406] = {.lex_state = 747, .external_lex_state = 65},
  [5407] = {.lex_state = 747, .external_lex_state = 100},
  [5408] = {.lex_state = 94, .external_lex_state = 31},
  [5409] = {.lex_state = 747, .external_lex_state = 69},
  [5410] = {.lex_state = 94, .external_lex_state = 31},
  [5411] = {.lex_state = 747, .external_lex_state = 100},
  [5412] = {.lex_state = 747, .external_lex_state = 100},
  [5413] = {.lex_state = 94, .external_lex_state = 31},
  [5414] = {.lex_state = 94, .external_lex_state = 31},
  [5415] = {.lex_state = 94, .external_lex_state = 31},
  [5416] = {.lex_state = 747, .external_lex_state = 69},
  [5417] = {.lex_state = 94, .external_lex_state = 31},
  [5418] = {.lex_state = 749, .external_lex_state = 90},
  [5419] = {.lex_state = 747, .external_lex_state = 30},
  [5420] = {.lex_state = 749, .external_lex_state = 97},
  [5421] = {.lex_state = 747, .external_lex_state = 95},
  [5422] = {.lex_state = 749, .external_lex_state = 90},
  [5423] = {.lex_state = 747, .external_lex_state = 95},
  [5424] = {.lex_state = 94, .external_lex_state = 31},
  [5425] = {.lex_state = 94, .external_lex_state = 31},
  [5426] = {.lex_state = 94, .external_lex_state = 31},
  [5427] = {.lex_state = 747, .external_lex_state = 95},
  [5428] = {.lex_state = 747, .external_lex_state = 95},
  [5429] = {.lex_state = 747, .external_lex_state = 68},
  [5430] = {.lex_state = 94, .external_lex_state = 31},
  [5431] = {.lex_state = 747, .external_lex_state = 95},
  [5432] = {.lex_state = 749, .external_lex_state = 90},
  [5433] = {.lex_state = 94, .external_lex_state = 31},
  [5434] = {.lex_state = 94, .external_lex_state = 31},
  [5435] = {.lex_state = 94, .external_lex_state = 31},
  [5436] = {.lex_state = 94, .external_lex_state = 31},
  [5437] = {.lex_state = 94, .external_lex_state = 31},
  [5438] = {.lex_state = 94, .external_lex_state = 31},
  [5439] = {.lex_state = 76, .external_lex_state = 78},
  [5440] = {.lex_state = 94, .external_lex_state = 31},
  [5441] = {.lex_state = 94, .external_lex_state = 31},
  [5442] = {.lex_state = 749, .external_lex_state = 90},
  [5443] = {.lex_state = 94, .external_lex_state = 31},
  [5444] = {.lex_state = 749, .external_lex_state = 97},
  [5445] = {.lex_state = 747, .external_lex_state = 68},
  [5446] = {.lex_state = 749, .external_lex_state = 97},
  [5447] = {.lex_state = 76, .external_lex_state = 78},
  [5448] = {.lex_state = 94, .external_lex_state = 31},
  [5449] = {.lex_state = 747, .external_lex_state = 68},
  [5450] = {.lex_state = 749, .external_lex_state = 97},
  [5451] = {.lex_state = 747, .external_lex_state = 68},
  [5452] = {.lex_state = 747, .external_lex_state = 95},
  [5453] = {.lex_state = 747, .external_lex_state = 68},
  [5454] = {.lex_state = 747, .external_lex_state = 94},
  [5455] = {.lex_state = 94, .external_lex_state = 31},
  [5456] = {.lex_state = 747, .external_lex_state = 65},
  [5457] = {.lex_state = 94, .external_lex_state = 31},
  [5458] = {.lex_state = 749, .external_lex_state = 90},
  [5459] = {.lex_state = 94, .external_lex_state = 31},
  [5460] = {.lex_state = 94, .external_lex_state = 31},
  [5461] = {.lex_state = 94, .external_lex_state = 31},
  [5462] = {.lex_state = 94, .external_lex_state = 31},
  [5463] = {.lex_state = 749, .external_lex_state = 90},
  [5464] = {.lex_state = 747, .external_lex_state = 91},
  [5465] = {.lex_state = 747, .external_lex_state = 95},
  [5466] = {.lex_state = 94, .external_lex_state = 31},
  [5467] = {.lex_state = 94, .external_lex_state = 31},
  [5468] = {.lex_state = 94, .external_lex_state = 31},
  [5469] = {.lex_state = 747, .external_lex_state = 68},
  [5470] = {.lex_state = 94, .external_lex_state = 31},
  [5471] = {.lex_state = 94, .external_lex_state = 31},
  [5472] = {.lex_state = 76, .external_lex_state = 78},
  [5473] = {.lex_state = 747, .external_lex_state = 100},
  [5474] = {.lex_state = 747, .external_lex_state = 91},
  [5475] = {.lex_state = 747, .external_lex_state = 91},
  [5476] = {.lex_state = 747, .external_lex_state = 95},
  [5477] = {.lex_state = 747, .external_lex_state = 100},
  [5478] = {.lex_state = 747, .external_lex_state = 91},
  [5479] = {.lex_state = 747, .external_lex_state = 91},
  [5480] = {.lex_state = 76, .external_lex_state = 78},
  [5481] = {.lex_state = 747, .external_lex_state = 92},
  [5482] = {.lex_state = 747, .external_lex_state = 71},
  [5483] = {.lex_state = 94, .external_lex_state = 31},
  [5484] = {.lex_state = 94, .external_lex_state = 31},
  [5485] = {.lex_state = 749, .external_lex_state = 97},
  [5486] = {.lex_state = 94, .external_lex_state = 31},
  [5487] = {.lex_state = 94, .external_lex_state = 31},
  [5488] = {.lex_state = 747, .external_lex_state = 91},
  [5489] = {.lex_state = 94, .external_lex_state = 31},
  [5490] = {.lex_state = 94, .external_lex_state = 31},
  [5491] = {.lex_state = 747, .external_lex_state = 91},
  [5492] = {.lex_state = 94, .external_lex_state = 31},
  [5493] = {.lex_state = 747, .external_lex_state = 91},
  [5494] = {.lex_state = 747, .external_lex_state = 91},
  [5495] = {.lex_state = 747, .external_lex_state = 92},
  [5496] = {.lex_state = 94, .external_lex_state = 31},
  [5497] = {.lex_state = 94, .external_lex_state = 31},
  [5498] = {.lex_state = 747, .external_lex_state = 73},
  [5499] = {.lex_state = 749, .external_lex_state = 97},
  [5500] = {.lex_state = 747, .external_lex_state = 72},
  [5501] = {.lex_state = 94, .external_lex_state = 31},
  [5502] = {.lex_state = 747, .external_lex_state = 91},
  [5503] = {.lex_state = 747, .external_lex_state = 92},
  [5504] = {.lex_state = 747, .external_lex_state = 91},
  [5505] = {.lex_state = 94, .external_lex_state = 31},
  [5506] = {.lex_state = 94, .external_lex_state = 31},
  [5507] = {.lex_state = 94, .external_lex_state = 31},
  [5508] = {.lex_state = 747, .external_lex_state = 72},
  [5509] = {.lex_state = 747, .external_lex_state = 100},
  [5510] = {.lex_state = 94, .external_lex_state = 31},
  [5511] = {.lex_state = 747, .external_lex_state = 91},
  [5512] = {.lex_state = 94, .external_lex_state = 31},
  [5513] = {.lex_state = 747, .external_lex_state = 71},
  [5514] = {.lex_state = 94, .external_lex_state = 31},
  [5515] = {.lex_state = 94, .external_lex_state = 31},
  [5516] = {.lex_state = 94, .external_lex_state = 31},
  [5517] = {.lex_state = 747, .external_lex_state = 92},
  [5518] = {.lex_state = 747, .external_lex_state = 96},
  [5519] = {.lex_state = 94, .external_lex_state = 31},
  [5520] = {.lex_state = 747, .external_lex_state = 100},
  [5521] = {.lex_state = 76, .external_lex_state = 50},
  [5522] = {.lex_state = 94, .external_lex_state = 31},
  [5523] = {.lex_state = 747, .external_lex_state = 91},
  [5524] = {.lex_state = 747, .external_lex_state = 91},
  [5525] = {.lex_state = 747, .external_lex_state = 95},
  [5526] = {.lex_state = 94, .external_lex_state = 31},
  [5527] = {.lex_state = 747, .external_lex_state = 77},
  [5528] = {.lex_state = 94, .external_lex_state = 31},
  [5529] = {.lex_state = 94, .external_lex_state = 31},
  [5530] = {.lex_state = 94, .external_lex_state = 31},
  [5531] = {.lex_state = 94, .external_lex_state = 31},
  [5532] = {.lex_state = 747, .external_lex_state = 48},
  [5533] = {.lex_state = 747, .external_lex_state = 48},
  [5534] = {.lex_state = 747, .external_lex_state = 48},
  [5535] = {.lex_state = 94, .external_lex_state = 31},
  [5536] = {.lex_state = 747, .external_lex_state = 91},
  [5537] = {.lex_state = 94, .external_lex_state = 31},
  [5538] = {.lex_state = 747, .external_lex_state = 92},
  [5539] = {.lex_state = 747, .external_lex_state = 48},
  [5540] = {.lex_state = 747, .external_lex_state = 100},
  [5541] = {.lex_state = 747, .external_lex_state = 73},
  [5542] = {.lex_state = 747, .external_lex_state = 69},
  [5543] = {.lex_state = 747, .external_lex_state = 101},
  [5544] = {.lex_state = 94, .external_lex_state = 31},
  [5545] = {.lex_state = 747, .external_lex_state = 95},
  [5546] = {.lex_state = 94, .external_lex_state = 31},
  [5547] = {.lex_state = 747, .external_lex_state = 69},
  [5548] = {.lex_state = 94, .external_lex_state = 31},
  [5549] = {.lex_state = 94, .external_lex_state = 31},
  [5550] = {.lex_state = 747, .external_lex_state = 92},
  [5551] = {.lex_state = 94, .external_lex_state = 31},
  [5552] = {.lex_state = 94, .external_lex_state = 31},
  [5553] = {.lex_state = 94, .external_lex_state = 31},
  [5554] = {.lex_state = 94, .external_lex_state = 31},
  [5555] = {.lex_state = 94, .external_lex_state = 31},
  [5556] = {.lex_state = 94, .external_lex_state = 31},
  [5557] = {.lex_state = 747, .external_lex_state = 91},
  [5558] = {.lex_state = 94, .external_lex_state = 31},
  [5559] = {.lex_state = 94, .external_lex_state = 31},
  [5560] = {.lex_state = 94, .external_lex_state = 31},
  [5561] = {.lex_state = 747, .external_lex_state = 72},
  [5562] = {.lex_state = 747, .external_lex_state = 91},
  [5563] = {.lex_state = 94, .external_lex_state = 31},
  [5564] = {.lex_state = 747, .external_lex_state = 91},
  [5565] = {.lex_state = 747, .external_lex_state = 30},
  [5566] = {.lex_state = 94, .external_lex_state = 31},
  [5567] = {.lex_state = 747, .external_lex_state = 91},
  [5568] = {.lex_state = 94, .external_lex_state = 31},
  [5569] = {.lex_state = 747, .external_lex_state = 95},
  [5570] = {.lex_state = 94, .external_lex_state = 31},
  [5571] = {.lex_state = 76, .external_lex_state = 99},
  [5572] = {.lex_state = 747, .external_lex_state = 49},
  [5573] = {.lex_state = 76, .external_lex_state = 50},
  [5574] = {.lex_state = 94, .external_lex_state = 31},
  [5575] = {.lex_state = 94, .external_lex_state = 52},
  [5576] = {.lex_state = 94, .external_lex_state = 31},
  [5577] = {.lex_state = 94, .external_lex_state = 31},
  [5578] = {.lex_state = 94, .external_lex_state = 52},
  [5579] = {.lex_state = 94, .external_lex_state = 52},
  [5580] = {.lex_state = 94, .external_lex_state = 52},
  [5581] = {.lex_state = 94, .external_lex_state = 52},
  [5582] = {.lex_state = 747, .external_lex_state = 98},
  [5583] = {.lex_state = 94, .external_lex_state = 31},
  [5584] = {.lex_state = 94, .external_lex_state = 31},
  [5585] = {.lex_state = 747, .external_lex_state = 97},
  [5586] = {.lex_state = 94, .external_lex_state = 31},
  [5587] = {.lex_state = 747, .external_lex_state = 49},
  [5588] = {.lex_state = 747, .external_lex_state = 48},
  [5589] = {.lex_state = 747, .external_lex_state = 92},
  [5590] = {.lex_state = 747, .external_lex_state = 71},
  [5591] = {.lex_state = 94, .external_lex_state = 31},
  [5592] = {.lex_state = 747, .external_lex_state = 70},
  [5593] = {.lex_state = 747, .external_lex_state = 69},
  [5594] = {.lex_state = 94, .external_lex_state = 31},
  [5595] = {.lex_state = 94, .external_lex_state = 31},
  [5596] = {.lex_state = 94, .external_lex_state = 31},
  [5597] = {.lex_state = 94, .external_lex_state = 31},
  [5598] = {.lex_state = 747, .external_lex_state = 100},
  [5599] = {.lex_state = 76, .external_lex_state = 50},
  [5600] = {.lex_state = 76, .external_lex_state = 99},
  [5601] = {.lex_state = 747, .external_lex_state = 28},
  [5602] = {.lex_state = 747, .external_lex_state = 71},
  [5603] = {.lex_state = 94, .external_lex_state = 31},
  [5604] = {.lex_state = 747, .external_lex_state = 69},
  [5605] = {.lex_state = 94, .external_lex_state = 31},
  [5606] = {.lex_state = 747, .external_lex_state = 100},
  [5607] = {.lex_state = 747, .external_lex_state = 48},
  [5608] = {.lex_state = 94, .external_lex_state = 31},
  [5609] = {.lex_state = 747, .external_lex_state = 100},
  [5610] = {.lex_state = 94, .external_lex_state = 31},
  [5611] = {.lex_state = 94, .external_lex_state = 31},
  [5612] = {.lex_state = 747, .external_lex_state = 71},
  [5613] = {.lex_state = 94, .external_lex_state = 31},
  [5614] = {.lex_state = 747, .external_lex_state = 71},
  [5615] = {.lex_state = 94, .external_lex_state = 31},
  [5616] = {.lex_state = 747, .external_lex_state = 91},
  [5617] = {.lex_state = 747, .external_lex_state = 91},
  [5618] = {.lex_state = 94, .external_lex_state = 31},
  [5619] = {.lex_state = 747, .external_lex_state = 71},
  [5620] = {.lex_state = 747, .external_lex_state = 98},
  [5621] = {.lex_state = 747, .external_lex_state = 92},
  [5622] = {.lex_state = 94, .external_lex_state = 31},
  [5623] = {.lex_state = 747, .external_lex_state = 92},
  [5624] = {.lex_state = 747, .external_lex_state = 97},
  [5625] = {.lex_state = 747, .external_lex_state = 70},
  [5626] = {.lex_state = 747, .external_lex_state = 49},
  [5627] = {.lex_state = 76, .external_lex_state = 50},
  [5628] = {.lex_state = 747, .external_lex_state = 91},
  [5629] = {.lex_state = 100, .external_lex_state = 31},
  [5630] = {.lex_state = 94, .external_lex_state = 31},
  [5631] = {.lex_state = 747, .external_lex_state = 91},
  [5632] = {.lex_state = 747, .external_lex_state = 69},
  [5633] = {.lex_state = 76, .external_lex_state = 99},
  [5634] = {.lex_state = 747, .external_lex_state = 98},
  [5635] = {.lex_state = 94, .external_lex_state = 31},
  [5636] = {.lex_state = 94, .external_lex_state = 31},
  [5637] = {.lex_state = 94, .external_lex_state = 31},
  [5638] = {.lex_state = 747, .external_lex_state = 98},
  [5639] = {.lex_state = 747, .external_lex_state = 28},
  [5640] = {.lex_state = 747, .external_lex_state = 98},
  [5641] = {.lex_state = 94, .external_lex_state = 31},
  [5642] = {.lex_state = 94, .external_lex_state = 31},
  [5643] = {.lex_state = 94, .external_lex_state = 31},
  [5644] = {.lex_state = 94, .external_lex_state = 31},
  [5645] = {.lex_state = 94, .external_lex_state = 31},
  [5646] = {.lex_state = 94, .external_lex_state = 31},
  [5647] = {.lex_state = 747, .external_lex_state = 91},
  [5648] = {.lex_state = 747, .external_lex_state = 69},
  [5649] = {.lex_state = 94, .external_lex_state = 31},
  [5650] = {.lex_state = 94, .external_lex_state = 31},
  [5651] = {.lex_state = 747, .external_lex_state = 92},
  [5652] = {.lex_state = 747, .external_lex_state = 81},
  [5653] = {.lex_state = 747, .external_lex_state = 92},
  [5654] = {.lex_state = 94, .external_lex_state = 31},
  [5655] = {.lex_state = 94, .external_lex_state = 31},
  [5656] = {.lex_state = 94, .external_lex_state = 31},
  [5657] = {.lex_state = 747, .external_lex_state = 91},
  [5658] = {.lex_state = 94, .external_lex_state = 31},
  [5659] = {.lex_state = 94, .external_lex_state = 31},
  [5660] = {.lex_state = 100, .external_lex_state = 31},
  [5661] = {.lex_state = 747, .external_lex_state = 68},
  [5662] = {.lex_state = 94, .external_lex_state = 31},
  [5663] = {.lex_state = 747, .external_lex_state = 100},
  [5664] = {.lex_state = 94, .external_lex_state = 31},
  [5665] = {.lex_state = 747, .external_lex_state = 100},
  [5666] = {.lex_state = 94, .external_lex_state = 31},
  [5667] = {.lex_state = 94, .external_lex_state = 31},
  [5668] = {.lex_state = 94, .external_lex_state = 31},
  [5669] = {.lex_state = 94, .external_lex_state = 31},
  [5670] = {.lex_state = 94, .external_lex_state = 31},
  [5671] = {.lex_state = 94, .external_lex_state = 31},
  [5672] = {.lex_state = 76, .external_lex_state = 50},
  [5673] = {.lex_state = 94, .external_lex_state = 31},
  [5674] = {.lex_state = 76, .external_lex_state = 50},
  [5675] = {.lex_state = 94, .external_lex_state = 31},
  [5676] = {.lex_state = 94, .external_lex_state = 31},
  [5677] = {.lex_state = 747, .external_lex_state = 100},
  [5678] = {.lex_state = 94, .external_lex_state = 31},
  [5679] = {.lex_state = 747, .external_lex_state = 100},
  [5680] = {.lex_state = 747, .external_lex_state = 97},
  [5681] = {.lex_state = 94, .external_lex_state = 31},
  [5682] = {.lex_state = 94, .external_lex_state = 31},
  [5683] = {.lex_state = 94, .external_lex_state = 31},
  [5684] = {.lex_state = 94, .external_lex_state = 31},
  [5685] = {.lex_state = 94, .external_lex_state = 31},
  [5686] = {.lex_state = 94, .external_lex_state = 31},
  [5687] = {.lex_state = 94, .external_lex_state = 31},
  [5688] = {.lex_state = 94, .external_lex_state = 31},
  [5689] = {.lex_state = 94, .external_lex_state = 52},
  [5690] = {.lex_state = 94, .external_lex_state = 31},
  [5691] = {.lex_state = 747, .external_lex_state = 70},
  [5692] = {.lex_state = 94, .external_lex_state = 31},
  [5693] = {.lex_state = 747, .external_lex_state = 91},
  [5694] = {.lex_state = 94, .external_lex_state = 31},
  [5695] = {.lex_state = 747, .external_lex_state = 91},
  [5696] = {.lex_state = 747, .external_lex_state = 96},
  [5697] = {.lex_state = 94, .external_lex_state = 31},
  [5698] = {.lex_state = 747, .external_lex_state = 98},
  [5699] = {.lex_state = 94, .external_lex_state = 31},
  [5700] = {.lex_state = 747, .external_lex_state = 70},
  [5701] = {.lex_state = 94, .external_lex_state = 31},
  [5702] = {.lex_state = 94, .external_lex_state = 31},
  [5703] = {.lex_state = 94, .external_lex_state = 31},
  [5704] = {.lex_state = 76, .external_lex_state = 50},
  [5705] = {.lex_state = 94, .external_lex_state = 31},
  [5706] = {.lex_state = 747, .external_lex_state = 70},
  [5707] = {.lex_state = 94, .external_lex_state = 31},
  [5708] = {.lex_state = 747, .external_lex_state = 92},
  [5709] = {.lex_state = 94, .external_lex_state = 31},
  [5710] = {.lex_state = 747, .external_lex_state = 100},
  [5711] = {.lex_state = 94, .external_lex_state = 31},
  [5712] = {.lex_state = 76, .external_lex_state = 50},
  [5713] = {.lex_state = 747, .external_lex_state = 91},
  [5714] = {.lex_state = 747, .external_lex_state = 49},
  [5715] = {.lex_state = 747, .external_lex_state = 92},
  [5716] = {.lex_state = 94, .external_lex_state = 31},
  [5717] = {.lex_state = 94, .external_lex_state = 31},
  [5718] = {.lex_state = 747, .external_lex_state = 70},
  [5719] = {.lex_state = 747, .external_lex_state = 91},
  [5720] = {.lex_state = 76, .external_lex_state = 78},
  [5721] = {.lex_state = 747, .external_lex_state = 100},
  [5722] = {.lex_state = 76, .external_lex_state = 50},
  [5723] = {.lex_state = 94, .external_lex_state = 31},
  [5724] = {.lex_state = 747, .external_lex_state = 71},
  [5725] = {.lex_state = 94, .external_lex_state = 31},
  [5726] = {.lex_state = 94, .external_lex_state = 31},
  [5727] = {.lex_state = 94, .external_lex_state = 31},
  [5728] = {.lex_state = 94, .external_lex_state = 31},
  [5729] = {.lex_state = 94, .external_lex_state = 31},
  [5730] = {.lex_state = 94, .external_lex_state = 31},
  [5731] = {.lex_state = 747, .external_lex_state = 68},
  [5732] = {.lex_state = 94, .external_lex_state = 31},
  [5733] = {.lex_state = 747, .external_lex_state = 68},
  [5734] = {.lex_state = 747, .external_lex_state = 68},
  [5735] = {.lex_state = 747, .external_lex_state = 68},
  [5736] = {.lex_state = 747, .external_lex_state = 92},
  [5737] = {.lex_state = 94, .external_lex_state = 31},
  [5738] = {.lex_state = 94, .external_lex_state = 31},
  [5739] = {.lex_state = 94, .external_lex_state = 31},
  [5740] = {.lex_state = 94, .external_lex_state = 31},
  [5741] = {.lex_state = 94, .external_lex_state = 31},
  [5742] = {.lex_state = 94, .external_lex_state = 31},
  [5743] = {.lex_state = 94, .external_lex_state = 31},
  [5744] = {.lex_state = 747, .external_lex_state = 68},
  [5745] = {.lex_state = 94, .external_lex_state = 31},
  [5746] = {.lex_state = 94, .external_lex_state = 31},
  [5747] = {.lex_state = 747, .external_lex_state = 96},
  [5748] = {.lex_state = 747, .external_lex_state = 91},
  [5749] = {.lex_state = 94, .external_lex_state = 31},
  [5750] = {.lex_state = 94, .external_lex_state = 31},
  [5751] = {.lex_state = 94, .external_lex_state = 31},
  [5752] = {.lex_state = 747, .external_lex_state = 77},
  [5753] = {.lex_state = 747, .external_lex_state = 92},
  [5754] = {.lex_state = 749, .external_lex_state = 99},
  [5755] = {.lex_state = 747, .external_lex_state = 49},
  [5756] = {.lex_state = 749, .external_lex_state = 99},
  [5757] = {.lex_state = 747, .external_lex_state = 100},
  [5758] = {.lex_state = 94, .external_lex_state = 31},
  [5759] = {.lex_state = 94, .external_lex_state = 31},
  [5760] = {.lex_state = 94, .external_lex_state = 31},
  [5761] = {.lex_state = 94, .external_lex_state = 31},
  [5762] = {.lex_state = 747, .external_lex_state = 49},
  [5763] = {.lex_state = 94, .external_lex_state = 31},
  [5764] = {.lex_state = 76, .external_lex_state = 50},
  [5765] = {.lex_state = 747, .external_lex_state = 49},
  [5766] = {.lex_state = 749, .external_lex_state = 99},
  [5767] = {.lex_state = 747, .external_lex_state = 48},
  [5768] = {.lex_state = 747, .external_lex_state = 96},
  [5769] = {.lex_state = 747, .external_lex_state = 102},
  [5770] = {.lex_state = 94, .external_lex_state = 31},
  [5771] = {.lex_state = 94, .external_lex_state = 31},
  [5772] = {.lex_state = 94, .external_lex_state = 31},
  [5773] = {.lex_state = 94, .external_lex_state = 31},
  [5774] = {.lex_state = 94, .external_lex_state = 31},
  [5775] = {.lex_state = 747, .external_lex_state = 69},
  [5776] = {.lex_state = 747, .external_lex_state = 98},
  [5777] = {.lex_state = 749, .external_lex_state = 99},
  [5778] = {.lex_state = 749, .external_lex_state = 99},
  [5779] = {.lex_state = 747, .external_lex_state = 77},
  [5780] = {.lex_state = 747, .external_lex_state = 77},
  [5781] = {.lex_state = 94, .external_lex_state = 31},
  [5782] = {.lex_state = 94, .external_lex_state = 31},
  [5783] = {.lex_state = 749, .external_lex_state = 99},
  [5784] = {.lex_state = 94, .external_lex_state = 31},
  [5785] = {.lex_state = 94, .external_lex_state = 31},
  [5786] = {.lex_state = 747, .external_lex_state = 96},
  [5787] = {.lex_state = 749, .external_lex_state = 99},
  [5788] = {.lex_state = 94, .external_lex_state = 31},
  [5789] = {.lex_state = 94, .external_lex_state = 31},
  [5790] = {.lex_state = 94, .external_lex_state = 31},
  [5791] = {.lex_state = 76, .external_lex_state = 50},
  [5792] = {.lex_state = 94, .external_lex_state = 31},
  [5793] = {.lex_state = 747, .external_lex_state = 28},
  [5794] = {.lex_state = 94, .external_lex_state = 31},
  [5795] = {.lex_state = 100, .external_lex_state = 31},
  [5796] = {.lex_state = 94, .external_lex_state = 31},
  [5797] = {.lex_state = 747, .external_lex_state = 92},
  [5798] = {.lex_state = 749, .external_lex_state = 93},
  [5799] = {.lex_state = 747, .external_lex_state = 72},
  [5800] = {.lex_state = 747, .external_lex_state = 93},
  [5801] = {.lex_state = 121, .external_lex_state = 103},
  [5802] = {.lex_state = 747, .external_lex_state = 92},
  [5803] = {.lex_state = 747, .external_lex_state = 92},
  [5804] = {.lex_state = 747, .external_lex_state = 72},
  [5805] = {.lex_state = 747, .external_lex_state = 72},
  [5806] = {.lex_state = 76, .external_lex_state = 78},
  [5807] = {.lex_state = 747, .external_lex_state = 28},
  [5808] = {.lex_state = 77, .external_lex_state = 31},
  [5809] = {.lex_state = 747, .external_lex_state = 92},
  [5810] = {.lex_state = 747, .external_lex_state = 92},
  [5811] = {.lex_state = 747, .external_lex_state = 94},
  [5812] = {.lex_state = 749, .external_lex_state = 104},
  [5813] = {.lex_state = 747, .external_lex_state = 92},
  [5814] = {.lex_state = 747, .external_lex_state = 92},
  [5815] = {.lex_state = 747, .external_lex_state = 73},
  [5816] = {.lex_state = 747, .external_lex_state = 73},
  [5817] = {.lex_state = 747, .external_lex_state = 73},
  [5818] = {.lex_state = 747, .external_lex_state = 73},
  [5819] = {.lex_state = 747, .external_lex_state = 73},
  [5820] = {.lex_state = 747, .external_lex_state = 92},
  [5821] = {.lex_state = 749, .external_lex_state = 93},
  [5822] = {.lex_state = 747, .external_lex_state = 72},
  [5823] = {.lex_state = 747, .external_lex_state = 92},
  [5824] = {.lex_state = 747, .external_lex_state = 92},
  [5825] = {.lex_state = 747, .external_lex_state = 93},
  [5826] = {.lex_state = 747, .external_lex_state = 91},
  [5827] = {.lex_state = 747, .external_lex_state = 93},
  [5828] = {.lex_state = 747, .external_lex_state = 73},
  [5829] = {.lex_state = 747, .external_lex_state = 92},
  [5830] = {.lex_state = 747, .external_lex_state = 92},
  [5831] = {.lex_state = 747, .external_lex_state = 95},
  [5832] = {.lex_state = 747, .external_lex_state = 93},
  [5833] = {.lex_state = 747, .external_lex_state = 101},
  [5834] = {.lex_state = 747, .external_lex_state = 94},
  [5835] = {.lex_state = 119, .external_lex_state = 99},
  [5836] = {.lex_state = 747, .external_lex_state = 93},
  [5837] = {.lex_state = 747, .external_lex_state = 94},
  [5838] = {.lex_state = 747, .external_lex_state = 95},
  [5839] = {.lex_state = 747, .external_lex_state = 92},
  [5840] = {.lex_state = 747, .external_lex_state = 95},
  [5841] = {.lex_state = 747, .external_lex_state = 94},
  [5842] = {.lex_state = 747, .external_lex_state = 95},
  [5843] = {.lex_state = 747, .external_lex_state = 72},
  [5844] = {.lex_state = 76, .external_lex_state = 78},
  [5845] = {.lex_state = 747, .external_lex_state = 92},
  [5846] = {.lex_state = 747, .external_lex_state = 95},
  [5847] = {.lex_state = 747, .external_lex_state = 95},
  [5848] = {.lex_state = 747, .external_lex_state = 95},
  [5849] = {.lex_state = 76, .external_lex_state = 50},
  [5850] = {.lex_state = 747, .external_lex_state = 94},
  [5851] = {.lex_state = 121, .external_lex_state = 103},
  [5852] = {.lex_state = 747, .external_lex_state = 93},
  [5853] = {.lex_state = 747, .external_lex_state = 95},
  [5854] = {.lex_state = 747, .external_lex_state = 94},
  [5855] = {.lex_state = 747, .external_lex_state = 95},
  [5856] = {.lex_state = 747, .external_lex_state = 94},
  [5857] = {.lex_state = 747, .external_lex_state = 92},
  [5858] = {.lex_state = 747, .external_lex_state = 95},
  [5859] = {.lex_state = 747, .external_lex_state = 92},
  [5860] = {.lex_state = 119, .external_lex_state = 99},
  [5861] = {.lex_state = 76, .external_lex_state = 50},
  [5862] = {.lex_state = 749, .external_lex_state = 47},
  [5863] = {.lex_state = 76, .external_lex_state = 50},
  [5864] = {.lex_state = 747, .external_lex_state = 95},
  [5865] = {.lex_state = 747, .external_lex_state = 91},
  [5866] = {.lex_state = 76, .external_lex_state = 78},
  [5867] = {.lex_state = 747, .external_lex_state = 50},
  [5868] = {.lex_state = 94, .external_lex_state = 31},
  [5869] = {.lex_state = 76, .external_lex_state = 50},
  [5870] = {.lex_state = 747, .external_lex_state = 93},
  [5871] = {.lex_state = 747, .external_lex_state = 50},
  [5872] = {.lex_state = 119, .external_lex_state = 99},
  [5873] = {.lex_state = 747, .external_lex_state = 98},
  [5874] = {.lex_state = 747, .external_lex_state = 91},
  [5875] = {.lex_state = 119, .external_lex_state = 99},
  [5876] = {.lex_state = 747, .external_lex_state = 77},
  [5877] = {.lex_state = 119, .external_lex_state = 99},
  [5878] = {.lex_state = 747, .external_lex_state = 95},
  [5879] = {.lex_state = 747, .external_lex_state = 93},
  [5880] = {.lex_state = 747, .external_lex_state = 93},
  [5881] = {.lex_state = 747, .external_lex_state = 28},
  [5882] = {.lex_state = 747, .external_lex_state = 94},
  [5883] = {.lex_state = 119, .external_lex_state = 99},
  [5884] = {.lex_state = 747, .external_lex_state = 92},
  [5885] = {.lex_state = 747, .external_lex_state = 94},
  [5886] = {.lex_state = 121, .external_lex_state = 103},
  [5887] = {.lex_state = 747, .external_lex_state = 94},
  [5888] = {.lex_state = 747, .external_lex_state = 69},
  [5889] = {.lex_state = 747, .external_lex_state = 94},
  [5890] = {.lex_state = 747, .external_lex_state = 92},
  [5891] = {.lex_state = 747, .external_lex_state = 69},
  [5892] = {.lex_state = 747, .external_lex_state = 69},
  [5893] = {.lex_state = 121, .external_lex_state = 103},
  [5894] = {.lex_state = 121, .external_lex_state = 103},
  [5895] = {.lex_state = 749, .external_lex_state = 47},
  [5896] = {.lex_state = 747, .external_lex_state = 94},
  [5897] = {.lex_state = 119, .external_lex_state = 99},
  [5898] = {.lex_state = 747, .external_lex_state = 91},
  [5899] = {.lex_state = 76, .external_lex_state = 50},
  [5900] = {.lex_state = 747, .external_lex_state = 69},
  [5901] = {.lex_state = 76, .external_lex_state = 78},
  [5902] = {.lex_state = 747, .external_lex_state = 69},
  [5903] = {.lex_state = 747, .external_lex_state = 98},
  [5904] = {.lex_state = 76, .external_lex_state = 78},
  [5905] = {.lex_state = 747, .external_lex_state = 72},
  [5906] = {.lex_state = 747, .external_lex_state = 94},
  [5907] = {.lex_state = 76, .external_lex_state = 78},
  [5908] = {.lex_state = 747, .external_lex_state = 91},
  [5909] = {.lex_state = 94, .external_lex_state = 31},
  [5910] = {.lex_state = 747, .external_lex_state = 93},
  [5911] = {.lex_state = 747, .external_lex_state = 98},
  [5912] = {.lex_state = 747, .external_lex_state = 69},
  [5913] = {.lex_state = 747, .external_lex_state = 91},
  [5914] = {.lex_state = 77, .external_lex_state = 31},
  [5915] = {.lex_state = 747, .external_lex_state = 102},
  [5916] = {.lex_state = 747, .external_lex_state = 96},
  [5917] = {.lex_state = 94, .external_lex_state = 31},
  [5918] = {.lex_state = 747, .external_lex_state = 97},
  [5919] = {.lex_state = 747, .external_lex_state = 102},
  [5920] = {.lex_state = 747, .external_lex_state = 81},
  [5921] = {.lex_state = 94, .external_lex_state = 31},
  [5922] = {.lex_state = 749, .external_lex_state = 105},
  [5923] = {.lex_state = 747, .external_lex_state = 96},
  [5924] = {.lex_state = 747, .external_lex_state = 97},
  [5925] = {.lex_state = 76, .external_lex_state = 99},
  [5926] = {.lex_state = 747, .external_lex_state = 81},
  [5927] = {.lex_state = 76, .external_lex_state = 99},
  [5928] = {.lex_state = 749, .external_lex_state = 97},
  [5929] = {.lex_state = 747, .external_lex_state = 94},
  [5930] = {.lex_state = 94, .external_lex_state = 31},
  [5931] = {.lex_state = 94, .external_lex_state = 31},
  [5932] = {.lex_state = 94, .external_lex_state = 31},
  [5933] = {.lex_state = 749, .external_lex_state = 97},
  [5934] = {.lex_state = 747, .external_lex_state = 102},
  [5935] = {.lex_state = 76, .external_lex_state = 99},
  [5936] = {.lex_state = 747, .external_lex_state = 96},
  [5937] = {.lex_state = 747, .external_lex_state = 97},
  [5938] = {.lex_state = 747, .external_lex_state = 97},
  [5939] = {.lex_state = 747, .external_lex_state = 97},
  [5940] = {.lex_state = 747, .external_lex_state = 96},
  [5941] = {.lex_state = 76, .external_lex_state = 99},
  [5942] = {.lex_state = 747, .external_lex_state = 94},
  [5943] = {.lex_state = 747, .external_lex_state = 97},
  [5944] = {.lex_state = 747, .external_lex_state = 101},
  [5945] = {.lex_state = 76, .external_lex_state = 99},
  [5946] = {.lex_state = 76, .external_lex_state = 50},
  [5947] = {.lex_state = 747, .external_lex_state = 81},
  [5948] = {.lex_state = 749, .external_lex_state = 105},
  [5949] = {.lex_state = 747, .external_lex_state = 97},
  [5950] = {.lex_state = 747, .external_lex_state = 96},
  [5951] = {.lex_state = 747, .external_lex_state = 77},
  [5952] = {.lex_state = 76, .external_lex_state = 30},
  [5953] = {.lex_state = 76, .external_lex_state = 50},
  [5954] = {.lex_state = 747, .external_lex_state = 95},
  [5955] = {.lex_state = 747, .external_lex_state = 102},
  [5956] = {.lex_state = 76, .external_lex_state = 50},
  [5957] = {.lex_state = 747, .external_lex_state = 97},
  [5958] = {.lex_state = 749, .external_lex_state = 105},
  [5959] = {.lex_state = 76, .external_lex_state = 99},
  [5960] = {.lex_state = 76, .external_lex_state = 50},
  [5961] = {.lex_state = 747, .external_lex_state = 95},
  [5962] = {.lex_state = 747, .external_lex_state = 102},
  [5963] = {.lex_state = 747, .external_lex_state = 102},
  [5964] = {.lex_state = 747, .external_lex_state = 102},
  [5965] = {.lex_state = 747, .external_lex_state = 95},
  [5966] = {.lex_state = 747, .external_lex_state = 94},
  [5967] = {.lex_state = 749, .external_lex_state = 93},
  [5968] = {.lex_state = 747, .external_lex_state = 30},
  [5969] = {.lex_state = 76, .external_lex_state = 50},
  [5970] = {.lex_state = 747, .external_lex_state = 95},
  [5971] = {.lex_state = 747, .external_lex_state = 95},
  [5972] = {.lex_state = 76, .external_lex_state = 50},
  [5973] = {.lex_state = 747, .external_lex_state = 95},
  [5974] = {.lex_state = 747, .external_lex_state = 95},
  [5975] = {.lex_state = 747, .external_lex_state = 94},
  [5976] = {.lex_state = 747, .external_lex_state = 94},
  [5977] = {.lex_state = 747, .external_lex_state = 95},
  [5978] = {.lex_state = 747, .external_lex_state = 95},
  [5979] = {.lex_state = 747, .external_lex_state = 96},
  [5980] = {.lex_state = 747, .external_lex_state = 95},
  [5981] = {.lex_state = 76, .external_lex_state = 99},
  [5982] = {.lex_state = 749, .external_lex_state = 93},
  [5983] = {.lex_state = 76, .external_lex_state = 50},
  [5984] = {.lex_state = 747, .external_lex_state = 94},
  [5985] = {.lex_state = 747, .external_lex_state = 95},
  [5986] = {.lex_state = 76, .external_lex_state = 99},
  [5987] = {.lex_state = 76, .external_lex_state = 99},
  [5988] = {.lex_state = 747, .external_lex_state = 77},
  [5989] = {.lex_state = 747, .external_lex_state = 97},
  [5990] = {.lex_state = 76, .external_lex_state = 30},
  [5991] = {.lex_state = 747, .external_lex_state = 95},
  [5992] = {.lex_state = 749, .external_lex_state = 93},
  [5993] = {.lex_state = 747, .external_lex_state = 95},
  [5994] = {.lex_state = 747, .external_lex_state = 96},
  [5995] = {.lex_state = 747, .external_lex_state = 95},
  [5996] = {.lex_state = 749, .external_lex_state = 104},
  [5997] = {.lex_state = 747, .external_lex_state = 97},
  [5998] = {.lex_state = 747, .external_lex_state = 95},
  [5999] = {.lex_state = 747, .external_lex_state = 92},
  [6000] = {.lex_state = 747, .external_lex_state = 77},
  [6001] = {.lex_state = 747, .external_lex_state = 95},
  [6002] = {.lex_state = 76, .external_lex_state = 99},
  [6003] = {.lex_state = 747, .external_lex_state = 96},
  [6004] = {.lex_state = 747, .external_lex_state = 81},
  [6005] = {.lex_state = 749, .external_lex_state = 104},
  [6006] = {.lex_state = 749, .external_lex_state = 93},
  [6007] = {.lex_state = 747, .external_lex_state = 30},
  [6008] = {.lex_state = 747, .external_lex_state = 77},
  [6009] = {.lex_state = 747, .external_lex_state = 96},
  [6010] = {.lex_state = 747, .external_lex_state = 92},
  [6011] = {.lex_state = 747, .external_lex_state = 92},
  [6012] = {.lex_state = 747, .external_lex_state = 95},
  [6013] = {.lex_state = 747, .external_lex_state = 102},
  [6014] = {.lex_state = 747, .external_lex_state = 92},
  [6015] = {.lex_state = 747, .external_lex_state = 77},
  [6016] = {.lex_state = 747, .external_lex_state = 95},
  [6017] = {.lex_state = 747, .external_lex_state = 96},
  [6018] = {.lex_state = 749, .external_lex_state = 93},
  [6019] = {.lex_state = 747, .external_lex_state = 92},
  [6020] = {.lex_state = 747, .external_lex_state = 96},
  [6021] = {.lex_state = 747, .external_lex_state = 77},
  [6022] = {.lex_state = 76, .external_lex_state = 30},
  [6023] = {.lex_state = 747, .external_lex_state = 92},
  [6024] = {.lex_state = 749, .external_lex_state = 93},
  [6025] = {.lex_state = 747, .external_lex_state = 96},
  [6026] = {.lex_state = 82, .external_lex_state = 31},
  [6027] = {.lex_state = 82, .external_lex_state = 31},
  [6028] = {.lex_state = 749, .external_lex_state = 97},
  [6029] = {.lex_state = 747, .external_lex_state = 98},
  [6030] = {.lex_state = 747, .external_lex_state = 98},
  [6031] = {.lex_state = 747, .external_lex_state = 106},
  [6032] = {.lex_state = 749, .external_lex_state = 104},
  [6033] = {.lex_state = 119, .external_lex_state = 99},
  [6034] = {.lex_state = 747, .external_lex_state = 94},
  [6035] = {.lex_state = 747, .external_lex_state = 95},
  [6036] = {.lex_state = 82, .external_lex_state = 31},
  [6037] = {.lex_state = 82, .external_lex_state = 31},
  [6038] = {.lex_state = 747, .external_lex_state = 106},
  [6039] = {.lex_state = 747, .external_lex_state = 81},
  [6040] = {.lex_state = 747, .external_lex_state = 48},
  [6041] = {.lex_state = 119, .external_lex_state = 99},
  [6042] = {.lex_state = 747, .external_lex_state = 98},
  [6043] = {.lex_state = 747, .external_lex_state = 106},
  [6044] = {.lex_state = 747, .external_lex_state = 98},
  [6045] = {.lex_state = 82, .external_lex_state = 31},
  [6046] = {.lex_state = 747, .external_lex_state = 98},
  [6047] = {.lex_state = 749, .external_lex_state = 97},
  [6048] = {.lex_state = 747, .external_lex_state = 95},
  [6049] = {.lex_state = 747, .external_lex_state = 98},
  [6050] = {.lex_state = 747, .external_lex_state = 98},
  [6051] = {.lex_state = 747, .external_lex_state = 95},
  [6052] = {.lex_state = 747, .external_lex_state = 106},
  [6053] = {.lex_state = 747, .external_lex_state = 98},
  [6054] = {.lex_state = 119, .external_lex_state = 99},
  [6055] = {.lex_state = 747, .external_lex_state = 98},
  [6056] = {.lex_state = 747, .external_lex_state = 96},
  [6057] = {.lex_state = 82, .external_lex_state = 31},
  [6058] = {.lex_state = 119, .external_lex_state = 99},
  [6059] = {.lex_state = 119, .external_lex_state = 99},
  [6060] = {.lex_state = 747, .external_lex_state = 95},
  [6061] = {.lex_state = 749, .external_lex_state = 105},
  [6062] = {.lex_state = 747, .external_lex_state = 95},
  [6063] = {.lex_state = 82, .external_lex_state = 31},
  [6064] = {.lex_state = 747, .external_lex_state = 48},
  [6065] = {.lex_state = 749, .external_lex_state = 105},
  [6066] = {.lex_state = 82, .external_lex_state = 31},
  [6067] = {.lex_state = 747, .external_lex_state = 98},
  [6068] = {.lex_state = 749, .external_lex_state = 105},
  [6069] = {.lex_state = 747, .external_lex_state = 98},
  [6070] = {.lex_state = 747, .external_lex_state = 95},
  [6071] = {.lex_state = 119, .external_lex_state = 99},
  [6072] = {.lex_state = 82, .external_lex_state = 31},
  [6073] = {.lex_state = 747, .external_lex_state = 94},
  [6074] = {.lex_state = 747, .external_lex_state = 50},
  [6075] = {.lex_state = 749, .external_lex_state = 97},
  [6076] = {.lex_state = 82, .external_lex_state = 31},
  [6077] = {.lex_state = 749, .external_lex_state = 97},
  [6078] = {.lex_state = 747, .external_lex_state = 102},
  [6079] = {.lex_state = 747, .external_lex_state = 106},
  [6080] = {.lex_state = 82, .external_lex_state = 31},
  [6081] = {.lex_state = 747, .external_lex_state = 102},
  [6082] = {.lex_state = 82, .external_lex_state = 31},
  [6083] = {.lex_state = 94, .external_lex_state = 31},
  [6084] = {.lex_state = 749, .external_lex_state = 105},
  [6085] = {.lex_state = 747, .external_lex_state = 94},
  [6086] = {.lex_state = 747, .external_lex_state = 106},
  [6087] = {.lex_state = 82, .external_lex_state = 31},
  [6088] = {.lex_state = 747, .external_lex_state = 106},
  [6089] = {.lex_state = 747, .external_lex_state = 106},
  [6090] = {.lex_state = 749, .external_lex_state = 97},
  [6091] = {.lex_state = 747, .external_lex_state = 102},
  [6092] = {.lex_state = 82, .external_lex_state = 31},
  [6093] = {.lex_state = 749, .external_lex_state = 97},
  [6094] = {.lex_state = 749, .external_lex_state = 99},
  [6095] = {.lex_state = 747, .external_lex_state = 74},
  [6096] = {.lex_state = 82, .external_lex_state = 31},
  [6097] = {.lex_state = 747, .external_lex_state = 49},
  [6098] = {.lex_state = 747, .external_lex_state = 49},
  [6099] = {.lex_state = 749, .external_lex_state = 105},
  [6100] = {.lex_state = 749, .external_lex_state = 105},
  [6101] = {.lex_state = 747, .external_lex_state = 98},
  [6102] = {.lex_state = 94, .external_lex_state = 31},
  [6103] = {.lex_state = 747, .external_lex_state = 106},
  [6104] = {.lex_state = 82, .external_lex_state = 31},
  [6105] = {.lex_state = 749, .external_lex_state = 99},
  [6106] = {.lex_state = 747, .external_lex_state = 96},
  [6107] = {.lex_state = 747, .external_lex_state = 106},
  [6108] = {.lex_state = 82, .external_lex_state = 31},
  [6109] = {.lex_state = 747, .external_lex_state = 96},
  [6110] = {.lex_state = 747, .external_lex_state = 96},
  [6111] = {.lex_state = 747, .external_lex_state = 106},
  [6112] = {.lex_state = 747, .external_lex_state = 74},
  [6113] = {.lex_state = 82, .external_lex_state = 31},
  [6114] = {.lex_state = 121, .external_lex_state = 31},
  [6115] = {.lex_state = 747, .external_lex_state = 96},
  [6116] = {.lex_state = 82, .external_lex_state = 31},
  [6117] = {.lex_state = 747, .external_lex_state = 106},
  [6118] = {.lex_state = 747, .external_lex_state = 96},
  [6119] = {.lex_state = 82, .external_lex_state = 31},
  [6120] = {.lex_state = 82, .external_lex_state = 31},
  [6121] = {.lex_state = 747, .external_lex_state = 74},
  [6122] = {.lex_state = 747, .external_lex_state = 50},
  [6123] = {.lex_state = 747, .external_lex_state = 100},
  [6124] = {.lex_state = 747, .external_lex_state = 96},
  [6125] = {.lex_state = 84, .external_lex_state = 31},
  [6126] = {.lex_state = 84, .external_lex_state = 31},
  [6127] = {.lex_state = 84, .external_lex_state = 31},
  [6128] = {.lex_state = 747, .external_lex_state = 50},
  [6129] = {.lex_state = 747, .external_lex_state = 50},
  [6130] = {.lex_state = 747, .external_lex_state = 106},
  [6131] = {.lex_state = 747, .external_lex_state = 50},
  [6132] = {.lex_state = 747, .external_lex_state = 50},
  [6133] = {.lex_state = 747, .external_lex_state = 50},
  [6134] = {.lex_state = 747, .external_lex_state = 107},
  [6135] = {.lex_state = 84, .external_lex_state = 31},
  [6136] = {.lex_state = 747, .external_lex_state = 50},
  [6137] = {.lex_state = 747, .external_lex_state = 50},
  [6138] = {.lex_state = 84, .external_lex_state = 31},
  [6139] = {.lex_state = 749, .external_lex_state = 105},
  [6140] = {.lex_state = 749, .external_lex_state = 105},
  [6141] = {.lex_state = 749, .external_lex_state = 105},
  [6142] = {.lex_state = 747, .external_lex_state = 50},
  [6143] = {.lex_state = 84, .external_lex_state = 31},
  [6144] = {.lex_state = 749, .external_lex_state = 105},
  [6145] = {.lex_state = 747, .external_lex_state = 50},
  [6146] = {.lex_state = 747, .external_lex_state = 50},
  [6147] = {.lex_state = 747, .external_lex_state = 50},
  [6148] = {.lex_state = 747, .external_lex_state = 81},
  [6149] = {.lex_state = 747, .external_lex_state = 107},
  [6150] = {.lex_state = 84, .external_lex_state = 31},
  [6151] = {.lex_state = 747, .external_lex_state = 81},
  [6152] = {.lex_state = 84, .external_lex_state = 31},
  [6153] = {.lex_state = 747, .external_lex_state = 106},
  [6154] = {.lex_state = 747, .external_lex_state = 50},
  [6155] = {.lex_state = 747, .external_lex_state = 50},
  [6156] = {.lex_state = 747, .external_lex_state = 106},
  [6157] = {.lex_state = 747, .external_lex_state = 50},
  [6158] = {.lex_state = 747, .external_lex_state = 50},
  [6159] = {.lex_state = 84, .external_lex_state = 31},
  [6160] = {.lex_state = 749, .external_lex_state = 105},
  [6161] = {.lex_state = 747, .external_lex_state = 81},
  [6162] = {.lex_state = 747, .external_lex_state = 106},
  [6163] = {.lex_state = 747, .external_lex_state = 81},
  [6164] = {.lex_state = 747, .external_lex_state = 50},
  [6165] = {.lex_state = 749, .external_lex_state = 105},
  [6166] = {.lex_state = 84, .external_lex_state = 31},
  [6167] = {.lex_state = 749, .external_lex_state = 105},
  [6168] = {.lex_state = 747, .external_lex_state = 81},
  [6169] = {.lex_state = 747, .external_lex_state = 50},
  [6170] = {.lex_state = 747, .external_lex_state = 106},
  [6171] = {.lex_state = 747, .external_lex_state = 81},
  [6172] = {.lex_state = 749, .external_lex_state = 105},
  [6173] = {.lex_state = 84, .external_lex_state = 31},
  [6174] = {.lex_state = 84, .external_lex_state = 31},
  [6175] = {.lex_state = 84, .external_lex_state = 31},
  [6176] = {.lex_state = 747, .external_lex_state = 50},
  [6177] = {.lex_state = 119, .external_lex_state = 99},
  [6178] = {.lex_state = 747, .external_lex_state = 105},
  [6179] = {.lex_state = 749, .external_lex_state = 105},
  [6180] = {.lex_state = 84, .external_lex_state = 31},
  [6181] = {.lex_state = 84, .external_lex_state = 31},
  [6182] = {.lex_state = 84, .external_lex_state = 31},
  [6183] = {.lex_state = 747, .external_lex_state = 106},
  [6184] = {.lex_state = 747, .external_lex_state = 106},
  [6185] = {.lex_state = 84, .external_lex_state = 31},
  [6186] = {.lex_state = 747, .external_lex_state = 106},
  [6187] = {.lex_state = 121, .external_lex_state = 103},
  [6188] = {.lex_state = 747, .external_lex_state = 50},
  [6189] = {.lex_state = 747, .external_lex_state = 106},
  [6190] = {.lex_state = 747, .external_lex_state = 50},
  [6191] = {.lex_state = 747, .external_lex_state = 106},
  [6192] = {.lex_state = 747, .external_lex_state = 98},
  [6193] = {.lex_state = 747, .external_lex_state = 106},
  [6194] = {.lex_state = 749, .external_lex_state = 105},
  [6195] = {.lex_state = 747, .external_lex_state = 50},
  [6196] = {.lex_state = 119, .external_lex_state = 99},
  [6197] = {.lex_state = 747, .external_lex_state = 98},
  [6198] = {.lex_state = 747, .external_lex_state = 98},
  [6199] = {.lex_state = 749, .external_lex_state = 105},
  [6200] = {.lex_state = 84, .external_lex_state = 31},
  [6201] = {.lex_state = 747, .external_lex_state = 50},
  [6202] = {.lex_state = 84, .external_lex_state = 31},
  [6203] = {.lex_state = 747, .external_lex_state = 50},
  [6204] = {.lex_state = 747, .external_lex_state = 98},
  [6205] = {.lex_state = 749, .external_lex_state = 105},
  [6206] = {.lex_state = 747, .external_lex_state = 98},
  [6207] = {.lex_state = 747, .external_lex_state = 98},
  [6208] = {.lex_state = 749, .external_lex_state = 105},
  [6209] = {.lex_state = 84, .external_lex_state = 31},
  [6210] = {.lex_state = 747, .external_lex_state = 50},
  [6211] = {.lex_state = 749, .external_lex_state = 105},
  [6212] = {.lex_state = 747, .external_lex_state = 50},
  [6213] = {.lex_state = 747, .external_lex_state = 74},
  [6214] = {.lex_state = 749, .external_lex_state = 105},
  [6215] = {.lex_state = 747, .external_lex_state = 50},
  [6216] = {.lex_state = 84, .external_lex_state = 31},
  [6217] = {.lex_state = 747, .external_lex_state = 50},
  [6218] = {.lex_state = 747, .external_lex_state = 50},
  [6219] = {.lex_state = 747, .external_lex_state = 50},
  [6220] = {.lex_state = 747, .external_lex_state = 50},
  [6221] = {.lex_state = 747, .external_lex_state = 50},
  [6222] = {.lex_state = 747, .external_lex_state = 106},
  [6223] = {.lex_state = 747, .external_lex_state = 50},
  [6224] = {.lex_state = 749, .external_lex_state = 105},
  [6225] = {.lex_state = 749, .external_lex_state = 105},
  [6226] = {.lex_state = 747, .external_lex_state = 105},
  [6227] = {.lex_state = 747, .external_lex_state = 102},
  [6228] = {.lex_state = 749, .external_lex_state = 105},
  [6229] = {.lex_state = 747, .external_lex_state = 96},
  [6230] = {.lex_state = 749, .external_lex_state = 105},
  [6231] = {.lex_state = 747, .external_lex_state = 100},
  [6232] = {.lex_state = 76, .external_lex_state = 50},
  [6233] = {.lex_state = 749, .external_lex_state = 105},
  [6234] = {.lex_state = 747, .external_lex_state = 50},
  [6235] = {.lex_state = 749, .external_lex_state = 105},
  [6236] = {.lex_state = 747, .external_lex_state = 96},
  [6237] = {.lex_state = 747, .external_lex_state = 96},
  [6238] = {.lex_state = 747, .external_lex_state = 31},
  [6239] = {.lex_state = 749, .external_lex_state = 105},
  [6240] = {.lex_state = 749, .external_lex_state = 105},
  [6241] = {.lex_state = 747, .external_lex_state = 102},
  [6242] = {.lex_state = 747, .external_lex_state = 105},
  [6243] = {.lex_state = 747, .external_lex_state = 102},
  [6244] = {.lex_state = 747, .external_lex_state = 102},
  [6245] = {.lex_state = 749, .external_lex_state = 105},
  [6246] = {.lex_state = 747, .external_lex_state = 96},
  [6247] = {.lex_state = 747, .external_lex_state = 31},
  [6248] = {.lex_state = 747, .external_lex_state = 31},
  [6249] = {.lex_state = 749, .external_lex_state = 105},
  [6250] = {.lex_state = 121, .external_lex_state = 31},
  [6251] = {.lex_state = 747, .external_lex_state = 31},
  [6252] = {.lex_state = 749, .external_lex_state = 105},
  [6253] = {.lex_state = 747, .external_lex_state = 102},
  [6254] = {.lex_state = 747, .external_lex_state = 102},
  [6255] = {.lex_state = 747, .external_lex_state = 102},
  [6256] = {.lex_state = 747, .external_lex_state = 31},
  [6257] = {.lex_state = 749, .external_lex_state = 105},
  [6258] = {.lex_state = 749, .external_lex_state = 105},
  [6259] = {.lex_state = 749, .external_lex_state = 105},
  [6260] = {.lex_state = 747, .external_lex_state = 102},
  [6261] = {.lex_state = 747, .external_lex_state = 31},
  [6262] = {.lex_state = 747, .external_lex_state = 96},
  [6263] = {.lex_state = 747, .external_lex_state = 100},
  [6264] = {.lex_state = 747, .external_lex_state = 100},
  [6265] = {.lex_state = 76, .external_lex_state = 50},
  [6266] = {.lex_state = 747, .external_lex_state = 102},
  [6267] = {.lex_state = 749, .external_lex_state = 108},
  [6268] = {.lex_state = 747, .external_lex_state = 102},
  [6269] = {.lex_state = 747, .external_lex_state = 102},
  [6270] = {.lex_state = 747, .external_lex_state = 31},
  [6271] = {.lex_state = 121, .external_lex_state = 31},
  [6272] = {.lex_state = 747, .external_lex_state = 100},
  [6273] = {.lex_state = 749, .external_lex_state = 105},
  [6274] = {.lex_state = 747, .external_lex_state = 102},
  [6275] = {.lex_state = 747, .external_lex_state = 31},
  [6276] = {.lex_state = 747, .external_lex_state = 100},
  [6277] = {.lex_state = 747, .external_lex_state = 31},
  [6278] = {.lex_state = 747, .external_lex_state = 100},
  [6279] = {.lex_state = 747, .external_lex_state = 31},
  [6280] = {.lex_state = 749, .external_lex_state = 88},
  [6281] = {.lex_state = 76, .external_lex_state = 50},
  [6282] = {.lex_state = 749, .external_lex_state = 88},
  [6283] = {.lex_state = 747, .external_lex_state = 109},
  [6284] = {.lex_state = 747, .external_lex_state = 109},
  [6285] = {.lex_state = 747, .external_lex_state = 109},
  [6286] = {.lex_state = 747, .external_lex_state = 109},
  [6287] = {.lex_state = 747, .external_lex_state = 109},
  [6288] = {.lex_state = 747, .external_lex_state = 109},
  [6289] = {.lex_state = 747, .external_lex_state = 109},
  [6290] = {.lex_state = 747, .external_lex_state = 109},
  [6291] = {.lex_state = 747, .external_lex_state = 109},
  [6292] = {.lex_state = 747, .external_lex_state = 52},
  [6293] = {.lex_state = 747, .external_lex_state = 109},
  [6294] = {.lex_state = 747, .external_lex_state = 109},
  [6295] = {.lex_state = 747, .external_lex_state = 109},
  [6296] = {.lex_state = 119, .external_lex_state = 110},
  [6297] = {.lex_state = 747, .external_lex_state = 102},
  [6298] = {.lex_state = 747, .external_lex_state = 109},
  [6299] = {.lex_state = 121, .external_lex_state = 31},
  [6300] = {.lex_state = 747, .external_lex_state = 102},
  [6301] = {.lex_state = 121, .external_lex_state = 31},
  [6302] = {.lex_state = 747, .external_lex_state = 109},
  [6303] = {.lex_state = 747, .external_lex_state = 102},
  [6304] = {.lex_state = 747, .external_lex_state = 101},
  [6305] = {.lex_state = 747, .external_lex_state = 101},
  [6306] = {.lex_state = 749, .external_lex_state = 88},
  [6307] = {.lex_state = 121, .external_lex_state = 31},
  [6308] = {.lex_state = 747, .external_lex_state = 109},
  [6309] = {.lex_state = 747, .external_lex_state = 52},
  [6310] = {.lex_state = 749, .external_lex_state = 111},
  [6311] = {.lex_state = 77, .external_lex_state = 31},
  [6312] = {.lex_state = 747, .external_lex_state = 100},
  [6313] = {.lex_state = 747, .external_lex_state = 101},
  [6314] = {.lex_state = 77, .external_lex_state = 31},
  [6315] = {.lex_state = 749, .external_lex_state = 88},
  [6316] = {.lex_state = 749, .external_lex_state = 111},
  [6317] = {.lex_state = 747, .external_lex_state = 100},
  [6318] = {.lex_state = 749, .external_lex_state = 108},
  [6319] = {.lex_state = 747, .external_lex_state = 112},
  [6320] = {.lex_state = 749, .external_lex_state = 88},
  [6321] = {.lex_state = 747, .external_lex_state = 109},
  [6322] = {.lex_state = 747, .external_lex_state = 102},
  [6323] = {.lex_state = 747, .external_lex_state = 105},
  [6324] = {.lex_state = 747, .external_lex_state = 101},
  [6325] = {.lex_state = 749, .external_lex_state = 111},
  [6326] = {.lex_state = 747, .external_lex_state = 100},
  [6327] = {.lex_state = 121, .external_lex_state = 31},
  [6328] = {.lex_state = 747, .external_lex_state = 109},
  [6329] = {.lex_state = 747, .external_lex_state = 100},
  [6330] = {.lex_state = 747, .external_lex_state = 109},
  [6331] = {.lex_state = 747, .external_lex_state = 102},
  [6332] = {.lex_state = 749, .external_lex_state = 88},
  [6333] = {.lex_state = 121, .external_lex_state = 31},
  [6334] = {.lex_state = 747, .external_lex_state = 52},
  [6335] = {.lex_state = 749, .external_lex_state = 88},
  [6336] = {.lex_state = 747, .external_lex_state = 100},
  [6337] = {.lex_state = 747, .external_lex_state = 101},
  [6338] = {.lex_state = 749, .external_lex_state = 113},
  [6339] = {.lex_state = 747, .external_lex_state = 109},
  [6340] = {.lex_state = 747, .external_lex_state = 109},
  [6341] = {.lex_state = 749, .external_lex_state = 88},
  [6342] = {.lex_state = 747, .external_lex_state = 105},
  [6343] = {.lex_state = 121, .external_lex_state = 31},
  [6344] = {.lex_state = 749, .external_lex_state = 88},
  [6345] = {.lex_state = 747, .external_lex_state = 105},
  [6346] = {.lex_state = 747, .external_lex_state = 105},
  [6347] = {.lex_state = 121, .external_lex_state = 31},
  [6348] = {.lex_state = 747, .external_lex_state = 109},
  [6349] = {.lex_state = 77, .external_lex_state = 31},
  [6350] = {.lex_state = 121, .external_lex_state = 31},
  [6351] = {.lex_state = 747, .external_lex_state = 109},
  [6352] = {.lex_state = 747, .external_lex_state = 109},
  [6353] = {.lex_state = 747, .external_lex_state = 109},
  [6354] = {.lex_state = 747, .external_lex_state = 102},
  [6355] = {.lex_state = 747, .external_lex_state = 105},
  [6356] = {.lex_state = 747, .external_lex_state = 94},
  [6357] = {.lex_state = 747, .external_lex_state = 52},
  [6358] = {.lex_state = 747, .external_lex_state = 109},
  [6359] = {.lex_state = 749, .external_lex_state = 114},
  [6360] = {.lex_state = 747, .external_lex_state = 31},
  [6361] = {.lex_state = 119, .external_lex_state = 110},
  [6362] = {.lex_state = 747, .external_lex_state = 50},
  [6363] = {.lex_state = 747, .external_lex_state = 109},
  [6364] = {.lex_state = 747, .external_lex_state = 101},
  [6365] = {.lex_state = 119, .external_lex_state = 115},
  [6366] = {.lex_state = 747, .external_lex_state = 109},
  [6367] = {.lex_state = 119, .external_lex_state = 115},
  [6368] = {.lex_state = 747, .external_lex_state = 52},
  [6369] = {.lex_state = 747, .external_lex_state = 109},
  [6370] = {.lex_state = 747, .external_lex_state = 109},
  [6371] = {.lex_state = 747, .external_lex_state = 32},
  [6372] = {.lex_state = 747, .external_lex_state = 55},
  [6373] = {.lex_state = 747, .external_lex_state = 101},
  [6374] = {.lex_state = 76, .external_lex_state = 50},
  [6375] = {.lex_state = 747, .external_lex_state = 116},
  [6376] = {.lex_state = 747, .external_lex_state = 50},
  [6377] = {.lex_state = 749, .external_lex_state = 114},
  [6378] = {.lex_state = 747, .external_lex_state = 101},
  [6379] = {.lex_state = 747, .external_lex_state = 32},
  [6380] = {.lex_state = 747, .external_lex_state = 50},
  [6381] = {.lex_state = 747, .external_lex_state = 111},
  [6382] = {.lex_state = 747, .external_lex_state = 52},
  [6383] = {.lex_state = 747, .external_lex_state = 109},
  [6384] = {.lex_state = 747, .external_lex_state = 109},
  [6385] = {.lex_state = 747, .external_lex_state = 109},
  [6386] = {.lex_state = 747, .external_lex_state = 31},
  [6387] = {.lex_state = 747, .external_lex_state = 50},
  [6388] = {.lex_state = 747, .external_lex_state = 50},
  [6389] = {.lex_state = 747, .external_lex_state = 109},
  [6390] = {.lex_state = 747, .external_lex_state = 50},
  [6391] = {.lex_state = 747, .external_lex_state = 31},
  [6392] = {.lex_state = 747, .external_lex_state = 31},
  [6393] = {.lex_state = 749, .external_lex_state = 55},
  [6394] = {.lex_state = 747, .external_lex_state = 109},
  [6395] = {.lex_state = 749, .external_lex_state = 114},
  [6396] = {.lex_state = 747, .external_lex_state = 50},
  [6397] = {.lex_state = 747, .external_lex_state = 52},
  [6398] = {.lex_state = 747, .external_lex_state = 32},
  [6399] = {.lex_state = 121, .external_lex_state = 31},
  [6400] = {.lex_state = 749, .external_lex_state = 111},
  [6401] = {.lex_state = 747, .external_lex_state = 50},
  [6402] = {.lex_state = 749, .external_lex_state = 111},
  [6403] = {.lex_state = 747, .external_lex_state = 50},
  [6404] = {.lex_state = 749, .external_lex_state = 111},
  [6405] = {.lex_state = 747, .external_lex_state = 109},
  [6406] = {.lex_state = 747, .external_lex_state = 52},
  [6407] = {.lex_state = 749, .external_lex_state = 111},
  [6408] = {.lex_state = 749, .external_lex_state = 55},
  [6409] = {.lex_state = 747, .external_lex_state = 32},
  [6410] = {.lex_state = 747, .external_lex_state = 116},
  [6411] = {.lex_state = 749, .external_lex_state = 111},
  [6412] = {.lex_state = 749, .external_lex_state = 55},
  [6413] = {.lex_state = 747, .external_lex_state = 109},
  [6414] = {.lex_state = 747, .external_lex_state = 50},
  [6415] = {.lex_state = 747, .external_lex_state = 109},
  [6416] = {.lex_state = 747, .external_lex_state = 116},
  [6417] = {.lex_state = 747, .external_lex_state = 50},
  [6418] = {.lex_state = 747, .external_lex_state = 50},
  [6419] = {.lex_state = 119, .external_lex_state = 115},
  [6420] = {.lex_state = 747, .external_lex_state = 32},
  [6421] = {.lex_state = 747, .external_lex_state = 50},
  [6422] = {.lex_state = 747, .external_lex_state = 32},
  [6423] = {.lex_state = 747, .external_lex_state = 94},
  [6424] = {.lex_state = 747, .external_lex_state = 116},
  [6425] = {.lex_state = 747, .external_lex_state = 109},
  [6426] = {.lex_state = 747, .external_lex_state = 101},
  [6427] = {.lex_state = 747, .external_lex_state = 109},
  [6428] = {.lex_state = 747, .external_lex_state = 52},
  [6429] = {.lex_state = 749, .external_lex_state = 113},
  [6430] = {.lex_state = 749, .external_lex_state = 55},
  [6431] = {.lex_state = 747, .external_lex_state = 52},
  [6432] = {.lex_state = 747, .external_lex_state = 74},
  [6433] = {.lex_state = 747, .external_lex_state = 32},
  [6434] = {.lex_state = 747, .external_lex_state = 117},
  [6435] = {.lex_state = 747, .external_lex_state = 112},
  [6436] = {.lex_state = 747, .external_lex_state = 52},
  [6437] = {.lex_state = 76, .external_lex_state = 50},
  [6438] = {.lex_state = 747, .external_lex_state = 74},
  [6439] = {.lex_state = 747, .external_lex_state = 50},
  [6440] = {.lex_state = 747, .external_lex_state = 52},
  [6441] = {.lex_state = 747, .external_lex_state = 101},
  [6442] = {.lex_state = 747, .external_lex_state = 32},
  [6443] = {.lex_state = 747, .external_lex_state = 116},
  [6444] = {.lex_state = 747, .external_lex_state = 50},
  [6445] = {.lex_state = 747, .external_lex_state = 116},
  [6446] = {.lex_state = 747, .external_lex_state = 50},
  [6447] = {.lex_state = 747, .external_lex_state = 117},
  [6448] = {.lex_state = 747, .external_lex_state = 101},
  [6449] = {.lex_state = 747, .external_lex_state = 50},
  [6450] = {.lex_state = 747, .external_lex_state = 116},
  [6451] = {.lex_state = 747, .external_lex_state = 31},
  [6452] = {.lex_state = 747, .external_lex_state = 50},
  [6453] = {.lex_state = 121, .external_lex_state = 31},
  [6454] = {.lex_state = 747, .external_lex_state = 50},
  [6455] = {.lex_state = 747, .external_lex_state = 31},
  [6456] = {.lex_state = 747, .external_lex_state = 116},
  [6457] = {.lex_state = 747, .external_lex_state = 109},
  [6458] = {.lex_state = 747, .external_lex_state = 74},
  [6459] = {.lex_state = 747, .external_lex_state = 50},
  [6460] = {.lex_state = 747, .external_lex_state = 31},
  [6461] = {.lex_state = 747, .external_lex_state = 116},
  [6462] = {.lex_state = 747, .external_lex_state = 116},
  [6463] = {.lex_state = 76, .external_lex_state = 50},
  [6464] = {.lex_state = 747, .external_lex_state = 50},
  [6465] = {.lex_state = 747, .external_lex_state = 52},
  [6466] = {.lex_state = 747, .external_lex_state = 109},
  [6467] = {.lex_state = 747, .external_lex_state = 50},
  [6468] = {.lex_state = 747, .external_lex_state = 118},
  [6469] = {.lex_state = 747, .external_lex_state = 118},
  [6470] = {.lex_state = 747, .external_lex_state = 109},
  [6471] = {.lex_state = 747, .external_lex_state = 116},
  [6472] = {.lex_state = 749, .external_lex_state = 55},
  [6473] = {.lex_state = 747, .external_lex_state = 116},
  [6474] = {.lex_state = 747, .external_lex_state = 74},
  [6475] = {.lex_state = 747, .external_lex_state = 50},
  [6476] = {.lex_state = 747, .external_lex_state = 101},
  [6477] = {.lex_state = 747, .external_lex_state = 50},
  [6478] = {.lex_state = 749, .external_lex_state = 111},
  [6479] = {.lex_state = 747, .external_lex_state = 50},
  [6480] = {.lex_state = 747, .external_lex_state = 109},
  [6481] = {.lex_state = 747, .external_lex_state = 31},
  [6482] = {.lex_state = 747, .external_lex_state = 109},
  [6483] = {.lex_state = 747, .external_lex_state = 50},
  [6484] = {.lex_state = 747, .external_lex_state = 109},
  [6485] = {.lex_state = 749, .external_lex_state = 111},
  [6486] = {.lex_state = 747, .external_lex_state = 50},
  [6487] = {.lex_state = 749, .external_lex_state = 111},
  [6488] = {.lex_state = 747, .external_lex_state = 109},
  [6489] = {.lex_state = 747, .external_lex_state = 101},
  [6490] = {.lex_state = 747, .external_lex_state = 50},
  [6491] = {.lex_state = 747, .external_lex_state = 109},
  [6492] = {.lex_state = 747, .external_lex_state = 50},
  [6493] = {.lex_state = 747, .external_lex_state = 109},
  [6494] = {.lex_state = 747, .external_lex_state = 31},
  [6495] = {.lex_state = 747, .external_lex_state = 101},
  [6496] = {.lex_state = 747, .external_lex_state = 31},
  [6497] = {.lex_state = 747, .external_lex_state = 101},
  [6498] = {.lex_state = 747, .external_lex_state = 50},
  [6499] = {.lex_state = 747, .external_lex_state = 32},
  [6500] = {.lex_state = 747, .external_lex_state = 50},
  [6501] = {.lex_state = 121, .external_lex_state = 31},
  [6502] = {.lex_state = 747, .external_lex_state = 117},
  [6503] = {.lex_state = 747, .external_lex_state = 50},
  [6504] = {.lex_state = 747, .external_lex_state = 117},
  [6505] = {.lex_state = 747, .external_lex_state = 32},
  [6506] = {.lex_state = 747, .external_lex_state = 50},
  [6507] = {.lex_state = 747, .external_lex_state = 50},
  [6508] = {.lex_state = 121, .external_lex_state = 31},
  [6509] = {.lex_state = 747, .external_lex_state = 61},
  [6510] = {.lex_state = 747, .external_lex_state = 79},
  [6511] = {.lex_state = 747, .external_lex_state = 119},
  [6512] = {.lex_state = 747, .external_lex_state = 101},
  [6513] = {.lex_state = 747, .external_lex_state = 101},
  [6514] = {.lex_state = 747, .external_lex_state = 79},
  [6515] = {.lex_state = 747, .external_lex_state = 79},
  [6516] = {.lex_state = 747, .external_lex_state = 61},
  [6517] = {.lex_state = 119, .external_lex_state = 115},
  [6518] = {.lex_state = 747, .external_lex_state = 79},
  [6519] = {.lex_state = 747, .external_lex_state = 79},
  [6520] = {.lex_state = 119, .external_lex_state = 115},
  [6521] = {.lex_state = 747, .external_lex_state = 61},
  [6522] = {.lex_state = 749, .external_lex_state = 111},
  [6523] = {.lex_state = 747, .external_lex_state = 79},
  [6524] = {.lex_state = 749, .external_lex_state = 114},
  [6525] = {.lex_state = 747, .external_lex_state = 79},
  [6526] = {.lex_state = 749, .external_lex_state = 114},
  [6527] = {.lex_state = 749, .external_lex_state = 111},
  [6528] = {.lex_state = 747, .external_lex_state = 79},
  [6529] = {.lex_state = 121, .external_lex_state = 31},
  [6530] = {.lex_state = 747, .external_lex_state = 79},
  [6531] = {.lex_state = 747, .external_lex_state = 79},
  [6532] = {.lex_state = 121, .external_lex_state = 31},
  [6533] = {.lex_state = 121, .external_lex_state = 31},
  [6534] = {.lex_state = 747, .external_lex_state = 74},
  [6535] = {.lex_state = 747, .external_lex_state = 79},
  [6536] = {.lex_state = 747, .external_lex_state = 101},
  [6537] = {.lex_state = 747, .external_lex_state = 79},
  [6538] = {.lex_state = 747, .external_lex_state = 79},
  [6539] = {.lex_state = 747, .external_lex_state = 61},
  [6540] = {.lex_state = 747, .external_lex_state = 79},
  [6541] = {.lex_state = 747, .external_lex_state = 79},
  [6542] = {.lex_state = 747, .external_lex_state = 79},
  [6543] = {.lex_state = 747, .external_lex_state = 74},
  [6544] = {.lex_state = 747, .external_lex_state = 79},
  [6545] = {.lex_state = 747, .external_lex_state = 79},
  [6546] = {.lex_state = 747, .external_lex_state = 79},
  [6547] = {.lex_state = 747, .external_lex_state = 79},
  [6548] = {.lex_state = 749, .external_lex_state = 114},
  [6549] = {.lex_state = 747, .external_lex_state = 79},
  [6550] = {.lex_state = 749, .external_lex_state = 111},
  [6551] = {.lex_state = 749, .external_lex_state = 55},
  [6552] = {.lex_state = 747, .external_lex_state = 79},
  [6553] = {.lex_state = 749, .external_lex_state = 55},
  [6554] = {.lex_state = 76, .external_lex_state = 50},
  [6555] = {.lex_state = 747, .external_lex_state = 74},
  [6556] = {.lex_state = 747, .external_lex_state = 94},
  [6557] = {.lex_state = 747, .external_lex_state = 74},
  [6558] = {.lex_state = 121, .external_lex_state = 31},
  [6559] = {.lex_state = 747, .external_lex_state = 79},
  [6560] = {.lex_state = 747, .external_lex_state = 79},
  [6561] = {.lex_state = 747, .external_lex_state = 112},
  [6562] = {.lex_state = 749, .external_lex_state = 111},
  [6563] = {.lex_state = 747, .external_lex_state = 61},
  [6564] = {.lex_state = 747, .external_lex_state = 79},
  [6565] = {.lex_state = 747, .external_lex_state = 79},
  [6566] = {.lex_state = 747, .external_lex_state = 61},
  [6567] = {.lex_state = 747, .external_lex_state = 79},
  [6568] = {.lex_state = 747, .external_lex_state = 61},
  [6569] = {.lex_state = 747, .external_lex_state = 61},
  [6570] = {.lex_state = 747, .external_lex_state = 101},
  [6571] = {.lex_state = 747, .external_lex_state = 79},
  [6572] = {.lex_state = 747, .external_lex_state = 79},
  [6573] = {.lex_state = 749, .external_lex_state = 111},
  [6574] = {.lex_state = 76, .external_lex_state = 50},
  [6575] = {.lex_state = 747, .external_lex_state = 94},
  [6576] = {.lex_state = 747, .external_lex_state = 94},
  [6577] = {.lex_state = 747, .external_lex_state = 119},
  [6578] = {.lex_state = 747, .external_lex_state = 79},
  [6579] = {.lex_state = 747, .external_lex_state = 74},
  [6580] = {.lex_state = 747, .external_lex_state = 61},
  [6581] = {.lex_state = 749, .external_lex_state = 55},
  [6582] = {.lex_state = 747, .external_lex_state = 74},
  [6583] = {.lex_state = 747, .external_lex_state = 79},
  [6584] = {.lex_state = 747, .external_lex_state = 61},
  [6585] = {.lex_state = 747, .external_lex_state = 74},
  [6586] = {.lex_state = 747, .external_lex_state = 61},
  [6587] = {.lex_state = 747, .external_lex_state = 79},
  [6588] = {.lex_state = 747, .external_lex_state = 79},
  [6589] = {.lex_state = 747, .external_lex_state = 74},
  [6590] = {.lex_state = 747, .external_lex_state = 79},
  [6591] = {.lex_state = 747, .external_lex_state = 112},
  [6592] = {.lex_state = 747, .external_lex_state = 79},
  [6593] = {.lex_state = 747, .external_lex_state = 61},
  [6594] = {.lex_state = 747, .external_lex_state = 112},
  [6595] = {.lex_state = 747, .external_lex_state = 74},
  [6596] = {.lex_state = 747, .external_lex_state = 94},
  [6597] = {.lex_state = 749, .external_lex_state = 55},
  [6598] = {.lex_state = 749, .external_lex_state = 111},
  [6599] = {.lex_state = 119, .external_lex_state = 115},
  [6600] = {.lex_state = 747, .external_lex_state = 74},
  [6601] = {.lex_state = 747, .external_lex_state = 79},
  [6602] = {.lex_state = 76, .external_lex_state = 50},
  [6603] = {.lex_state = 749, .external_lex_state = 111},
  [6604] = {.lex_state = 747, .external_lex_state = 79},
  [6605] = {.lex_state = 747, .external_lex_state = 112},
  [6606] = {.lex_state = 121, .external_lex_state = 31},
  [6607] = {.lex_state = 747, .external_lex_state = 79},
  [6608] = {.lex_state = 747, .external_lex_state = 61},
  [6609] = {.lex_state = 747, .external_lex_state = 79},
  [6610] = {.lex_state = 747, .external_lex_state = 79},
  [6611] = {.lex_state = 747, .external_lex_state = 79},
  [6612] = {.lex_state = 747, .external_lex_state = 79},
  [6613] = {.lex_state = 747, .external_lex_state = 94},
  [6614] = {.lex_state = 747, .external_lex_state = 119},
  [6615] = {.lex_state = 747, .external_lex_state = 79},
  [6616] = {.lex_state = 747, .external_lex_state = 79},
  [6617] = {.lex_state = 747, .external_lex_state = 79},
  [6618] = {.lex_state = 749, .external_lex_state = 111},
  [6619] = {.lex_state = 747, .external_lex_state = 101},
  [6620] = {.lex_state = 749, .external_lex_state = 111},
  [6621] = {.lex_state = 747, .external_lex_state = 61},
  [6622] = {.lex_state = 747, .external_lex_state = 101},
  [6623] = {.lex_state = 747, .external_lex_state = 79},
  [6624] = {.lex_state = 747, .external_lex_state = 61},
  [6625] = {.lex_state = 747, .external_lex_state = 79},
  [6626] = {.lex_state = 121, .external_lex_state = 31},
  [6627] = {.lex_state = 749, .external_lex_state = 111},
  [6628] = {.lex_state = 747, .external_lex_state = 79},
  [6629] = {.lex_state = 749, .external_lex_state = 111},
  [6630] = {.lex_state = 749, .external_lex_state = 111},
  [6631] = {.lex_state = 747, .external_lex_state = 79},
  [6632] = {.lex_state = 747, .external_lex_state = 101},
  [6633] = {.lex_state = 747, .external_lex_state = 74},
  [6634] = {.lex_state = 749, .external_lex_state = 111},
  [6635] = {.lex_state = 121, .external_lex_state = 31},
  [6636] = {.lex_state = 747, .external_lex_state = 61},
  [6637] = {.lex_state = 747, .external_lex_state = 112},
  [6638] = {.lex_state = 747, .external_lex_state = 79},
  [6639] = {.lex_state = 121, .external_lex_state = 31},
  [6640] = {.lex_state = 747, .external_lex_state = 79},
  [6641] = {.lex_state = 747, .external_lex_state = 61},
  [6642] = {.lex_state = 747, .external_lex_state = 61},
  [6643] = {.lex_state = 747, .external_lex_state = 79},
  [6644] = {.lex_state = 76, .external_lex_state = 50},
  [6645] = {.lex_state = 121, .external_lex_state = 31},
  [6646] = {.lex_state = 747, .external_lex_state = 79},
  [6647] = {.lex_state = 747, .external_lex_state = 114},
  [6648] = {.lex_state = 747, .external_lex_state = 53},
  [6649] = {.lex_state = 747, .external_lex_state = 120},
  [6650] = {.lex_state = 747, .external_lex_state = 79},
  [6651] = {.lex_state = 747, .external_lex_state = 79},
  [6652] = {.lex_state = 747, .external_lex_state = 79},
  [6653] = {.lex_state = 747, .external_lex_state = 111},
  [6654] = {.lex_state = 747, .external_lex_state = 79},
  [6655] = {.lex_state = 747, .external_lex_state = 79},
  [6656] = {.lex_state = 747, .external_lex_state = 53},
  [6657] = {.lex_state = 747, .external_lex_state = 120},
  [6658] = {.lex_state = 747, .external_lex_state = 79},
  [6659] = {.lex_state = 747, .external_lex_state = 111},
  [6660] = {.lex_state = 82, .external_lex_state = 31},
  [6661] = {.lex_state = 747, .external_lex_state = 79},
  [6662] = {.lex_state = 747, .external_lex_state = 79},
  [6663] = {.lex_state = 119, .external_lex_state = 115},
  [6664] = {.lex_state = 747, .external_lex_state = 79},
  [6665] = {.lex_state = 747, .external_lex_state = 111},
  [6666] = {.lex_state = 747, .external_lex_state = 79},
  [6667] = {.lex_state = 747, .external_lex_state = 120},
  [6668] = {.lex_state = 747, .external_lex_state = 79},
  [6669] = {.lex_state = 76, .external_lex_state = 31},
  [6670] = {.lex_state = 82, .external_lex_state = 31},
  [6671] = {.lex_state = 747, .external_lex_state = 109},
  [6672] = {.lex_state = 747, .external_lex_state = 109},
  [6673] = {.lex_state = 747, .external_lex_state = 74},
  [6674] = {.lex_state = 76, .external_lex_state = 50},
  [6675] = {.lex_state = 747, .external_lex_state = 79},
  [6676] = {.lex_state = 747, .external_lex_state = 79},
  [6677] = {.lex_state = 747, .external_lex_state = 79},
  [6678] = {.lex_state = 747, .external_lex_state = 79},
  [6679] = {.lex_state = 76, .external_lex_state = 50},
  [6680] = {.lex_state = 747, .external_lex_state = 79},
  [6681] = {.lex_state = 747, .external_lex_state = 74},
  [6682] = {.lex_state = 76, .external_lex_state = 50},
  [6683] = {.lex_state = 749, .external_lex_state = 114},
  [6684] = {.lex_state = 747, .external_lex_state = 109},
  [6685] = {.lex_state = 747, .external_lex_state = 74},
  [6686] = {.lex_state = 747, .external_lex_state = 79},
  [6687] = {.lex_state = 747, .external_lex_state = 79},
  [6688] = {.lex_state = 119, .external_lex_state = 115},
  [6689] = {.lex_state = 749, .external_lex_state = 114},
  [6690] = {.lex_state = 747, .external_lex_state = 79},
  [6691] = {.lex_state = 747, .external_lex_state = 79},
  [6692] = {.lex_state = 747, .external_lex_state = 120},
  [6693] = {.lex_state = 747, .external_lex_state = 79},
  [6694] = {.lex_state = 747, .external_lex_state = 111},
  [6695] = {.lex_state = 749, .external_lex_state = 114},
  [6696] = {.lex_state = 747, .external_lex_state = 74},
  [6697] = {.lex_state = 747, .external_lex_state = 79},
  [6698] = {.lex_state = 747, .external_lex_state = 79},
  [6699] = {.lex_state = 747, .external_lex_state = 111},
  [6700] = {.lex_state = 747, .external_lex_state = 79},
  [6701] = {.lex_state = 749, .external_lex_state = 115},
  [6702] = {.lex_state = 747, .external_lex_state = 55},
  [6703] = {.lex_state = 76, .external_lex_state = 121},
  [6704] = {.lex_state = 747, .external_lex_state = 74},
  [6705] = {.lex_state = 747, .external_lex_state = 79},
  [6706] = {.lex_state = 747, .external_lex_state = 79},
  [6707] = {.lex_state = 747, .external_lex_state = 122},
  [6708] = {.lex_state = 749, .external_lex_state = 114},
  [6709] = {.lex_state = 747, .external_lex_state = 74},
  [6710] = {.lex_state = 747, .external_lex_state = 79},
  [6711] = {.lex_state = 747, .external_lex_state = 79},
  [6712] = {.lex_state = 747, .external_lex_state = 79},
  [6713] = {.lex_state = 747, .external_lex_state = 79},
  [6714] = {.lex_state = 747, .external_lex_state = 79},
  [6715] = {.lex_state = 749, .external_lex_state = 114},
  [6716] = {.lex_state = 747, .external_lex_state = 79},
  [6717] = {.lex_state = 747, .external_lex_state = 79},
  [6718] = {.lex_state = 749, .external_lex_state = 115},
  [6719] = {.lex_state = 747, .external_lex_state = 61},
  [6720] = {.lex_state = 747, .external_lex_state = 55},
  [6721] = {.lex_state = 747, .external_lex_state = 55},
  [6722] = {.lex_state = 119, .external_lex_state = 115},
  [6723] = {.lex_state = 82, .external_lex_state = 31},
  [6724] = {.lex_state = 749, .external_lex_state = 114},
  [6725] = {.lex_state = 747, .external_lex_state = 79},
  [6726] = {.lex_state = 749, .external_lex_state = 114},
  [6727] = {.lex_state = 747, .external_lex_state = 79},
  [6728] = {.lex_state = 76, .external_lex_state = 121},
  [6729] = {.lex_state = 119, .external_lex_state = 115},
  [6730] = {.lex_state = 747, .external_lex_state = 79},
  [6731] = {.lex_state = 747, .external_lex_state = 120},
  [6732] = {.lex_state = 747, .external_lex_state = 79},
  [6733] = {.lex_state = 749, .external_lex_state = 114},
  [6734] = {.lex_state = 747, .external_lex_state = 74},
  [6735] = {.lex_state = 747, .external_lex_state = 109},
  [6736] = {.lex_state = 747, .external_lex_state = 79},
  [6737] = {.lex_state = 747, .external_lex_state = 79},
  [6738] = {.lex_state = 747, .external_lex_state = 109},
  [6739] = {.lex_state = 747, .external_lex_state = 52},
  [6740] = {.lex_state = 82, .external_lex_state = 31},
  [6741] = {.lex_state = 747, .external_lex_state = 79},
  [6742] = {.lex_state = 747, .external_lex_state = 120},
  [6743] = {.lex_state = 82, .external_lex_state = 31},
  [6744] = {.lex_state = 747, .external_lex_state = 79},
  [6745] = {.lex_state = 747, .external_lex_state = 79},
  [6746] = {.lex_state = 747, .external_lex_state = 79},
  [6747] = {.lex_state = 747, .external_lex_state = 79},
  [6748] = {.lex_state = 747, .external_lex_state = 79},
  [6749] = {.lex_state = 747, .external_lex_state = 79},
  [6750] = {.lex_state = 747, .external_lex_state = 79},
  [6751] = {.lex_state = 76, .external_lex_state = 50},
  [6752] = {.lex_state = 749, .external_lex_state = 114},
  [6753] = {.lex_state = 747, .external_lex_state = 79},
  [6754] = {.lex_state = 747, .external_lex_state = 79},
  [6755] = {.lex_state = 747, .external_lex_state = 79},
  [6756] = {.lex_state = 747, .external_lex_state = 79},
  [6757] = {.lex_state = 747, .external_lex_state = 109},
  [6758] = {.lex_state = 747, .external_lex_state = 79},
  [6759] = {.lex_state = 749, .external_lex_state = 114},
  [6760] = {.lex_state = 747, .external_lex_state = 79},
  [6761] = {.lex_state = 76, .external_lex_state = 50},
  [6762] = {.lex_state = 747, .external_lex_state = 74},
  [6763] = {.lex_state = 76, .external_lex_state = 121},
  [6764] = {.lex_state = 119, .external_lex_state = 115},
  [6765] = {.lex_state = 76, .external_lex_state = 50},
  [6766] = {.lex_state = 747, .external_lex_state = 79},
  [6767] = {.lex_state = 747, .external_lex_state = 79},
  [6768] = {.lex_state = 747, .external_lex_state = 79},
  [6769] = {.lex_state = 747, .external_lex_state = 79},
  [6770] = {.lex_state = 747, .external_lex_state = 52},
  [6771] = {.lex_state = 119, .external_lex_state = 115},
  [6772] = {.lex_state = 76, .external_lex_state = 50},
  [6773] = {.lex_state = 119, .external_lex_state = 115},
  [6774] = {.lex_state = 747, .external_lex_state = 74},
  [6775] = {.lex_state = 747, .external_lex_state = 122},
  [6776] = {.lex_state = 749, .external_lex_state = 114},
  [6777] = {.lex_state = 119, .external_lex_state = 115},
  [6778] = {.lex_state = 747, .external_lex_state = 123},
  [6779] = {.lex_state = 747, .external_lex_state = 79},
  [6780] = {.lex_state = 747, .external_lex_state = 79},
  [6781] = {.lex_state = 747, .external_lex_state = 79},
  [6782] = {.lex_state = 76, .external_lex_state = 50},
  [6783] = {.lex_state = 749, .external_lex_state = 114},
  [6784] = {.lex_state = 749, .external_lex_state = 114},
  [6785] = {.lex_state = 119, .external_lex_state = 115},
  [6786] = {.lex_state = 749, .external_lex_state = 114},
  [6787] = {.lex_state = 747, .external_lex_state = 79},
  [6788] = {.lex_state = 747, .external_lex_state = 114},
  [6789] = {.lex_state = 747, .external_lex_state = 109},
  [6790] = {.lex_state = 747, .external_lex_state = 79},
  [6791] = {.lex_state = 119, .external_lex_state = 115},
  [6792] = {.lex_state = 747, .external_lex_state = 79},
  [6793] = {.lex_state = 747, .external_lex_state = 109},
  [6794] = {.lex_state = 747, .external_lex_state = 61},
  [6795] = {.lex_state = 749, .external_lex_state = 114},
  [6796] = {.lex_state = 747, .external_lex_state = 79},
  [6797] = {.lex_state = 747, .external_lex_state = 79},
  [6798] = {.lex_state = 747, .external_lex_state = 74},
  [6799] = {.lex_state = 82, .external_lex_state = 31},
  [6800] = {.lex_state = 747, .external_lex_state = 79},
  [6801] = {.lex_state = 747, .external_lex_state = 109},
  [6802] = {.lex_state = 747, .external_lex_state = 123},
  [6803] = {.lex_state = 747, .external_lex_state = 79},
  [6804] = {.lex_state = 747, .external_lex_state = 74},
  [6805] = {.lex_state = 119, .external_lex_state = 115},
  [6806] = {.lex_state = 747, .external_lex_state = 79},
  [6807] = {.lex_state = 119, .external_lex_state = 115},
  [6808] = {.lex_state = 747, .external_lex_state = 79},
  [6809] = {.lex_state = 747, .external_lex_state = 79},
  [6810] = {.lex_state = 747, .external_lex_state = 109},
  [6811] = {.lex_state = 749, .external_lex_state = 114},
  [6812] = {.lex_state = 747, .external_lex_state = 61},
  [6813] = {.lex_state = 749, .external_lex_state = 114},
  [6814] = {.lex_state = 119, .external_lex_state = 115},
  [6815] = {.lex_state = 747, .external_lex_state = 79},
  [6816] = {.lex_state = 747, .external_lex_state = 79},
  [6817] = {.lex_state = 747, .external_lex_state = 79},
  [6818] = {.lex_state = 747, .external_lex_state = 101},
  [6819] = {.lex_state = 747, .external_lex_state = 79},
  [6820] = {.lex_state = 747, .external_lex_state = 117},
  [6821] = {.lex_state = 747, .external_lex_state = 121},
  [6822] = {.lex_state = 747, .external_lex_state = 79},
  [6823] = {.lex_state = 747, .external_lex_state = 119},
  [6824] = {.lex_state = 747, .external_lex_state = 119},
  [6825] = {.lex_state = 77, .external_lex_state = 31},
  [6826] = {.lex_state = 77, .external_lex_state = 31},
  [6827] = {.lex_state = 747, .external_lex_state = 61},
  [6828] = {.lex_state = 105, .external_lex_state = 31},
  [6829] = {.lex_state = 747, .external_lex_state = 61},
  [6830] = {.lex_state = 747, .external_lex_state = 61},
  [6831] = {.lex_state = 747, .external_lex_state = 52},
  [6832] = {.lex_state = 76, .external_lex_state = 115},
  [6833] = {.lex_state = 105, .external_lex_state = 31},
  [6834] = {.lex_state = 105, .external_lex_state = 31},
  [6835] = {.lex_state = 747, .external_lex_state = 79},
  [6836] = {.lex_state = 747, .external_lex_state = 124},
  [6837] = {.lex_state = 105, .external_lex_state = 31},
  [6838] = {.lex_state = 105, .external_lex_state = 31},
  [6839] = {.lex_state = 747, .external_lex_state = 61},
  [6840] = {.lex_state = 105, .external_lex_state = 31},
  [6841] = {.lex_state = 747, .external_lex_state = 79},
  [6842] = {.lex_state = 105, .external_lex_state = 31},
  [6843] = {.lex_state = 77, .external_lex_state = 31},
  [6844] = {.lex_state = 77, .external_lex_state = 31},
  [6845] = {.lex_state = 105, .external_lex_state = 31},
  [6846] = {.lex_state = 77, .external_lex_state = 31},
  [6847] = {.lex_state = 747, .external_lex_state = 121},
  [6848] = {.lex_state = 747, .external_lex_state = 32},
  [6849] = {.lex_state = 747, .external_lex_state = 32},
  [6850] = {.lex_state = 747, .external_lex_state = 124},
  [6851] = {.lex_state = 747, .external_lex_state = 125},
  [6852] = {.lex_state = 77, .external_lex_state = 31},
  [6853] = {.lex_state = 77, .external_lex_state = 31},
  [6854] = {.lex_state = 77, .external_lex_state = 31},
  [6855] = {.lex_state = 77, .external_lex_state = 31},
  [6856] = {.lex_state = 747, .external_lex_state = 121},
  [6857] = {.lex_state = 76, .external_lex_state = 115},
  [6858] = {.lex_state = 105, .external_lex_state = 31},
  [6859] = {.lex_state = 747, .external_lex_state = 124},
  [6860] = {.lex_state = 747, .external_lex_state = 32},
  [6861] = {.lex_state = 747, .external_lex_state = 79},
  [6862] = {.lex_state = 76, .external_lex_state = 115},
  [6863] = {.lex_state = 76, .external_lex_state = 115},
  [6864] = {.lex_state = 747, .external_lex_state = 61},
  [6865] = {.lex_state = 77, .external_lex_state = 31},
  [6866] = {.lex_state = 77, .external_lex_state = 31},
  [6867] = {.lex_state = 747, .external_lex_state = 32},
  [6868] = {.lex_state = 77, .external_lex_state = 31},
  [6869] = {.lex_state = 747, .external_lex_state = 53},
  [6870] = {.lex_state = 747, .external_lex_state = 61},
  [6871] = {.lex_state = 747, .external_lex_state = 31},
  [6872] = {.lex_state = 747, .external_lex_state = 61},
  [6873] = {.lex_state = 747, .external_lex_state = 79},
  [6874] = {.lex_state = 747, .external_lex_state = 79},
  [6875] = {.lex_state = 105, .external_lex_state = 31},
  [6876] = {.lex_state = 747, .external_lex_state = 79},
  [6877] = {.lex_state = 84, .external_lex_state = 31},
  [6878] = {.lex_state = 747, .external_lex_state = 79},
  [6879] = {.lex_state = 84, .external_lex_state = 31},
  [6880] = {.lex_state = 747, .external_lex_state = 79},
  [6881] = {.lex_state = 747, .external_lex_state = 79},
  [6882] = {.lex_state = 76, .external_lex_state = 115},
  [6883] = {.lex_state = 747, .external_lex_state = 79},
  [6884] = {.lex_state = 747, .external_lex_state = 125},
  [6885] = {.lex_state = 747, .external_lex_state = 119},
  [6886] = {.lex_state = 747, .external_lex_state = 79},
  [6887] = {.lex_state = 747, .external_lex_state = 79},
  [6888] = {.lex_state = 747, .external_lex_state = 119},
  [6889] = {.lex_state = 77, .external_lex_state = 31},
  [6890] = {.lex_state = 747, .external_lex_state = 79},
  [6891] = {.lex_state = 747, .external_lex_state = 124},
  [6892] = {.lex_state = 747, .external_lex_state = 61},
  [6893] = {.lex_state = 747, .external_lex_state = 124},
  [6894] = {.lex_state = 747, .external_lex_state = 61},
  [6895] = {.lex_state = 747, .external_lex_state = 126},
  [6896] = {.lex_state = 747, .external_lex_state = 121},
  [6897] = {.lex_state = 747, .external_lex_state = 79},
  [6898] = {.lex_state = 747, .external_lex_state = 79},
  [6899] = {.lex_state = 747, .external_lex_state = 74},
  [6900] = {.lex_state = 747, .external_lex_state = 121},
  [6901] = {.lex_state = 747, .external_lex_state = 124},
  [6902] = {.lex_state = 747, .external_lex_state = 121},
  [6903] = {.lex_state = 747, .external_lex_state = 121},
  [6904] = {.lex_state = 747, .external_lex_state = 116},
  [6905] = {.lex_state = 747, .external_lex_state = 125},
  [6906] = {.lex_state = 747, .external_lex_state = 123},
  [6907] = {.lex_state = 747, .external_lex_state = 79},
  [6908] = {.lex_state = 747, .external_lex_state = 121},
  [6909] = {.lex_state = 747, .external_lex_state = 79},
  [6910] = {.lex_state = 747, .external_lex_state = 79},
  [6911] = {.lex_state = 747, .external_lex_state = 109},
  [6912] = {.lex_state = 747, .external_lex_state = 79},
  [6913] = {.lex_state = 747, .external_lex_state = 125},
  [6914] = {.lex_state = 747, .external_lex_state = 121},
  [6915] = {.lex_state = 747, .external_lex_state = 126},
  [6916] = {.lex_state = 747, .external_lex_state = 61},
  [6917] = {.lex_state = 747, .external_lex_state = 116},
  [6918] = {.lex_state = 747, .external_lex_state = 125},
  [6919] = {.lex_state = 747, .external_lex_state = 121},
  [6920] = {.lex_state = 747, .external_lex_state = 61},
  [6921] = {.lex_state = 747, .external_lex_state = 109},
  [6922] = {.lex_state = 747, .external_lex_state = 121},
  [6923] = {.lex_state = 747, .external_lex_state = 61},
  [6924] = {.lex_state = 747, .external_lex_state = 61},
  [6925] = {.lex_state = 747, .external_lex_state = 61},
  [6926] = {.lex_state = 747, .external_lex_state = 121},
  [6927] = {.lex_state = 119, .external_lex_state = 115},
  [6928] = {.lex_state = 76, .external_lex_state = 115},
  [6929] = {.lex_state = 747, .external_lex_state = 119},
  [6930] = {.lex_state = 747, .external_lex_state = 79},
  [6931] = {.lex_state = 747, .external_lex_state = 61},
  [6932] = {.lex_state = 747, .external_lex_state = 121},
  [6933] = {.lex_state = 119, .external_lex_state = 115},
  [6934] = {.lex_state = 119, .external_lex_state = 115},
  [6935] = {.lex_state = 747, .external_lex_state = 79},
  [6936] = {.lex_state = 77, .external_lex_state = 31},
  [6937] = {.lex_state = 747, .external_lex_state = 79},
  [6938] = {.lex_state = 747, .external_lex_state = 79},
  [6939] = {.lex_state = 77, .external_lex_state = 31},
  [6940] = {.lex_state = 747, .external_lex_state = 74},
  [6941] = {.lex_state = 747, .external_lex_state = 121},
  [6942] = {.lex_state = 747, .external_lex_state = 121},
  [6943] = {.lex_state = 747, .external_lex_state = 79},
  [6944] = {.lex_state = 747, .external_lex_state = 61},
  [6945] = {.lex_state = 747, .external_lex_state = 124},
  [6946] = {.lex_state = 747, .external_lex_state = 32},
  [6947] = {.lex_state = 747, .external_lex_state = 79},
  [6948] = {.lex_state = 747, .external_lex_state = 121},
  [6949] = {.lex_state = 77, .external_lex_state = 31},
  [6950] = {.lex_state = 747, .external_lex_state = 79},
  [6951] = {.lex_state = 747, .external_lex_state = 124},
  [6952] = {.lex_state = 747, .external_lex_state = 79},
  [6953] = {.lex_state = 747, .external_lex_state = 32},
  [6954] = {.lex_state = 747, .external_lex_state = 79},
  [6955] = {.lex_state = 77, .external_lex_state = 31},
  [6956] = {.lex_state = 747, .external_lex_state = 79},
  [6957] = {.lex_state = 76, .external_lex_state = 115},
  [6958] = {.lex_state = 747, .external_lex_state = 126},
  [6959] = {.lex_state = 76, .external_lex_state = 115},
  [6960] = {.lex_state = 747, .external_lex_state = 79},
  [6961] = {.lex_state = 747, .external_lex_state = 79},
  [6962] = {.lex_state = 747, .external_lex_state = 79},
  [6963] = {.lex_state = 747, .external_lex_state = 109},
  [6964] = {.lex_state = 747, .external_lex_state = 79},
  [6965] = {.lex_state = 77, .external_lex_state = 31},
  [6966] = {.lex_state = 747, .external_lex_state = 121},
  [6967] = {.lex_state = 747, .external_lex_state = 121},
  [6968] = {.lex_state = 747, .external_lex_state = 125},
  [6969] = {.lex_state = 747, .external_lex_state = 121},
  [6970] = {.lex_state = 747, .external_lex_state = 79},
  [6971] = {.lex_state = 747, .external_lex_state = 124},
  [6972] = {.lex_state = 747, .external_lex_state = 109},
  [6973] = {.lex_state = 747, .external_lex_state = 61},
  [6974] = {.lex_state = 747, .external_lex_state = 125},
  [6975] = {.lex_state = 747, .external_lex_state = 121},
  [6976] = {.lex_state = 747, .external_lex_state = 125},
  [6977] = {.lex_state = 747, .external_lex_state = 116},
  [6978] = {.lex_state = 747, .external_lex_state = 125},
  [6979] = {.lex_state = 747, .external_lex_state = 121},
  [6980] = {.lex_state = 747, .external_lex_state = 121},
  [6981] = {.lex_state = 747, .external_lex_state = 116},
  [6982] = {.lex_state = 747, .external_lex_state = 121},
  [6983] = {.lex_state = 747, .external_lex_state = 121},
  [6984] = {.lex_state = 747, .external_lex_state = 79},
  [6985] = {.lex_state = 747, .external_lex_state = 121},
  [6986] = {.lex_state = 747, .external_lex_state = 121},
  [6987] = {.lex_state = 747, .external_lex_state = 79},
  [6988] = {.lex_state = 747, .external_lex_state = 116},
  [6989] = {.lex_state = 747, .external_lex_state = 121},
  [6990] = {.lex_state = 747, .external_lex_state = 124},
  [6991] = {.lex_state = 747, .external_lex_state = 125},
  [6992] = {.lex_state = 747, .external_lex_state = 123},
  [6993] = {.lex_state = 747, .external_lex_state = 125},
  [6994] = {.lex_state = 747, .external_lex_state = 61},
  [6995] = {.lex_state = 747, .external_lex_state = 121},
  [6996] = {.lex_state = 747, .external_lex_state = 61},
  [6997] = {.lex_state = 747, .external_lex_state = 79},
  [6998] = {.lex_state = 747, .external_lex_state = 79},
  [6999] = {.lex_state = 747, .external_lex_state = 61},
  [7000] = {.lex_state = 747, .external_lex_state = 121},
  [7001] = {.lex_state = 747, .external_lex_state = 32},
  [7002] = {.lex_state = 747, .external_lex_state = 79},
  [7003] = {.lex_state = 747, .external_lex_state = 79},
  [7004] = {.lex_state = 747, .external_lex_state = 61},
  [7005] = {.lex_state = 747, .external_lex_state = 121},
  [7006] = {.lex_state = 747, .external_lex_state = 79},
  [7007] = {.lex_state = 747, .external_lex_state = 126},
  [7008] = {.lex_state = 747, .external_lex_state = 121},
  [7009] = {.lex_state = 747, .external_lex_state = 121},
  [7010] = {.lex_state = 747, .external_lex_state = 121},
  [7011] = {.lex_state = 747, .external_lex_state = 61},
  [7012] = {.lex_state = 747, .external_lex_state = 121},
  [7013] = {.lex_state = 749, .external_lex_state = 114},
  [7014] = {.lex_state = 747, .external_lex_state = 61},
  [7015] = {.lex_state = 747, .external_lex_state = 121},
  [7016] = {.lex_state = 749, .external_lex_state = 114},
  [7017] = {.lex_state = 747, .external_lex_state = 124},
  [7018] = {.lex_state = 747, .external_lex_state = 61},
  [7019] = {.lex_state = 749, .external_lex_state = 114},
  [7020] = {.lex_state = 747, .external_lex_state = 121},
  [7021] = {.lex_state = 747, .external_lex_state = 79},
  [7022] = {.lex_state = 747, .external_lex_state = 125},
  [7023] = {.lex_state = 77, .external_lex_state = 31},
  [7024] = {.lex_state = 747, .external_lex_state = 121},
  [7025] = {.lex_state = 747, .external_lex_state = 79},
  [7026] = {.lex_state = 747, .external_lex_state = 79},
  [7027] = {.lex_state = 747, .external_lex_state = 74},
  [7028] = {.lex_state = 747, .external_lex_state = 125},
  [7029] = {.lex_state = 747, .external_lex_state = 124},
  [7030] = {.lex_state = 747, .external_lex_state = 125},
  [7031] = {.lex_state = 747, .external_lex_state = 79},
  [7032] = {.lex_state = 747, .external_lex_state = 79},
  [7033] = {.lex_state = 747, .external_lex_state = 79},
  [7034] = {.lex_state = 747, .external_lex_state = 79},
  [7035] = {.lex_state = 747, .external_lex_state = 61},
  [7036] = {.lex_state = 747, .external_lex_state = 125},
  [7037] = {.lex_state = 747, .external_lex_state = 125},
  [7038] = {.lex_state = 84, .external_lex_state = 31},
  [7039] = {.lex_state = 747, .external_lex_state = 79},
  [7040] = {.lex_state = 747, .external_lex_state = 61},
  [7041] = {.lex_state = 747, .external_lex_state = 79},
  [7042] = {.lex_state = 77, .external_lex_state = 31},
  [7043] = {.lex_state = 747, .external_lex_state = 79},
  [7044] = {.lex_state = 747, .external_lex_state = 79},
  [7045] = {.lex_state = 747, .external_lex_state = 125},
  [7046] = {.lex_state = 76, .external_lex_state = 31},
  [7047] = {.lex_state = 77, .external_lex_state = 31},
  [7048] = {.lex_state = 747, .external_lex_state = 79},
  [7049] = {.lex_state = 747, .external_lex_state = 79},
  [7050] = {.lex_state = 747, .external_lex_state = 74},
  [7051] = {.lex_state = 84, .external_lex_state = 31},
  [7052] = {.lex_state = 747, .external_lex_state = 121},
  [7053] = {.lex_state = 747, .external_lex_state = 61},
  [7054] = {.lex_state = 747, .external_lex_state = 61},
  [7055] = {.lex_state = 747, .external_lex_state = 125},
  [7056] = {.lex_state = 747, .external_lex_state = 61},
  [7057] = {.lex_state = 747, .external_lex_state = 119},
  [7058] = {.lex_state = 84, .external_lex_state = 31},
  [7059] = {.lex_state = 747, .external_lex_state = 61},
  [7060] = {.lex_state = 747, .external_lex_state = 61},
  [7061] = {.lex_state = 747, .external_lex_state = 125},
  [7062] = {.lex_state = 84, .external_lex_state = 31},
  [7063] = {.lex_state = 77, .external_lex_state = 31},
  [7064] = {.lex_state = 747, .external_lex_state = 79},
  [7065] = {.lex_state = 747, .external_lex_state = 121},
  [7066] = {.lex_state = 747, .external_lex_state = 79},
  [7067] = {.lex_state = 747, .external_lex_state = 79},
  [7068] = {.lex_state = 747, .external_lex_state = 31},
  [7069] = {.lex_state = 747, .external_lex_state = 31},
  [7070] = {.lex_state = 747, .external_lex_state = 79},
  [7071] = {.lex_state = 747, .external_lex_state = 79},
  [7072] = {.lex_state = 747, .external_lex_state = 79},
  [7073] = {.lex_state = 747, .external_lex_state = 79},
  [7074] = {.lex_state = 747, .external_lex_state = 31},
  [7075] = {.lex_state = 747, .external_lex_state = 79},
  [7076] = {.lex_state = 747, .external_lex_state = 32},
  [7077] = {.lex_state = 747, .external_lex_state = 61},
  [7078] = {.lex_state = 747, .external_lex_state = 61},
  [7079] = {.lex_state = 747, .external_lex_state = 61},
  [7080] = {.lex_state = 747, .external_lex_state = 79},
  [7081] = {.lex_state = 747, .external_lex_state = 79},
  [7082] = {.lex_state = 747, .external_lex_state = 61},
  [7083] = {.lex_state = 747, .external_lex_state = 79},
  [7084] = {.lex_state = 747, .external_lex_state = 79},
  [7085] = {.lex_state = 747, .external_lex_state = 79},
  [7086] = {.lex_state = 747, .external_lex_state = 79},
  [7087] = {.lex_state = 747, .external_lex_state = 31},
  [7088] = {.lex_state = 747, .external_lex_state = 61},
  [7089] = {.lex_state = 747, .external_lex_state = 79},
  [7090] = {.lex_state = 747, .external_lex_state = 79},
  [7091] = {.lex_state = 747, .external_lex_state = 79},
  [7092] = {.lex_state = 747, .external_lex_state = 79},
  [7093] = {.lex_state = 747, .external_lex_state = 79},
  [7094] = {.lex_state = 747, .external_lex_state = 79},
  [7095] = {.lex_state = 747, .external_lex_state = 79},
  [7096] = {.lex_state = 747, .external_lex_state = 61},
  [7097] = {.lex_state = 747, .external_lex_state = 79},
  [7098] = {.lex_state = 747, .external_lex_state = 31},
  [7099] = {.lex_state = 747, .external_lex_state = 79},
  [7100] = {.lex_state = 747, .external_lex_state = 79},
  [7101] = {.lex_state = 747, .external_lex_state = 61},
  [7102] = {.lex_state = 747, .external_lex_state = 61},
  [7103] = {.lex_state = 747, .external_lex_state = 61},
  [7104] = {.lex_state = 747, .external_lex_state = 79},
  [7105] = {.lex_state = 747, .external_lex_state = 79},
  [7106] = {.lex_state = 747, .external_lex_state = 61},
  [7107] = {.lex_state = 747, .external_lex_state = 79},
  [7108] = {.lex_state = 747, .external_lex_state = 31},
  [7109] = {.lex_state = 747, .external_lex_state = 79},
  [7110] = {.lex_state = 747, .external_lex_state = 79},
  [7111] = {.lex_state = 747, .external_lex_state = 61},
  [7112] = {.lex_state = 747, .external_lex_state = 120},
  [7113] = {.lex_state = 747, .external_lex_state = 79},
  [7114] = {.lex_state = 747, .external_lex_state = 79},
  [7115] = {.lex_state = 747, .external_lex_state = 61},
  [7116] = {.lex_state = 747, .external_lex_state = 61},
  [7117] = {.lex_state = 747, .external_lex_state = 31},
  [7118] = {.lex_state = 747, .external_lex_state = 61},
  [7119] = {.lex_state = 747, .external_lex_state = 79},
  [7120] = {.lex_state = 747, .external_lex_state = 79},
  [7121] = {.lex_state = 747, .external_lex_state = 79},
  [7122] = {.lex_state = 747, .external_lex_state = 79},
  [7123] = {.lex_state = 747, .external_lex_state = 79},
  [7124] = {.lex_state = 747, .external_lex_state = 79},
  [7125] = {.lex_state = 747, .external_lex_state = 79},
  [7126] = {.lex_state = 747, .external_lex_state = 79},
  [7127] = {.lex_state = 747, .external_lex_state = 31},
  [7128] = {.lex_state = 747, .external_lex_state = 31},
  [7129] = {.lex_state = 747, .external_lex_state = 61},
  [7130] = {.lex_state = 747, .external_lex_state = 79},
  [7131] = {.lex_state = 747, .external_lex_state = 79},
  [7132] = {.lex_state = 747, .external_lex_state = 31},
  [7133] = {.lex_state = 747, .external_lex_state = 79},
  [7134] = {.lex_state = 747, .external_lex_state = 61},
  [7135] = {.lex_state = 747, .external_lex_state = 79},
  [7136] = {.lex_state = 747, .external_lex_state = 61},
  [7137] = {.lex_state = 747, .external_lex_state = 79},
  [7138] = {.lex_state = 747, .external_lex_state = 79},
  [7139] = {.lex_state = 747, .external_lex_state = 61},
  [7140] = {.lex_state = 747, .external_lex_state = 79},
  [7141] = {.lex_state = 747, .external_lex_state = 79},
  [7142] = {.lex_state = 747, .external_lex_state = 79},
  [7143] = {.lex_state = 747, .external_lex_state = 79},
  [7144] = {.lex_state = 747, .external_lex_state = 79},
  [7145] = {.lex_state = 747, .external_lex_state = 31},
  [7146] = {.lex_state = 747, .external_lex_state = 79},
  [7147] = {.lex_state = 747, .external_lex_state = 31},
  [7148] = {.lex_state = 747, .external_lex_state = 79},
  [7149] = {.lex_state = 747, .external_lex_state = 61},
  [7150] = {.lex_state = 747, .external_lex_state = 79},
  [7151] = {.lex_state = 747, .external_lex_state = 31},
  [7152] = {.lex_state = 747, .external_lex_state = 79},
  [7153] = {.lex_state = 747, .external_lex_state = 61},
  [7154] = {.lex_state = 747, .external_lex_state = 79},
  [7155] = {.lex_state = 747, .external_lex_state = 79},
  [7156] = {.lex_state = 747, .external_lex_state = 61},
  [7157] = {.lex_state = 747, .external_lex_state = 79},
  [7158] = {.lex_state = 747, .external_lex_state = 79},
  [7159] = {.lex_state = 747, .external_lex_state = 114},
  [7160] = {.lex_state = 747, .external_lex_state = 114},
  [7161] = {.lex_state = 747, .external_lex_state = 79},
  [7162] = {.lex_state = 747, .external_lex_state = 61},
  [7163] = {.lex_state = 747, .external_lex_state = 79},
  [7164] = {.lex_state = 747, .external_lex_state = 79},
  [7165] = {.lex_state = 747, .external_lex_state = 61},
  [7166] = {.lex_state = 747, .external_lex_state = 79},
  [7167] = {.lex_state = 747, .external_lex_state = 79},
  [7168] = {.lex_state = 747, .external_lex_state = 61},
  [7169] = {.lex_state = 747, .external_lex_state = 61},
  [7170] = {.lex_state = 747, .external_lex_state = 79},
  [7171] = {.lex_state = 747, .external_lex_state = 31},
  [7172] = {.lex_state = 747, .external_lex_state = 109},
  [7173] = {.lex_state = 747, .external_lex_state = 31},
  [7174] = {.lex_state = 747, .external_lex_state = 79},
  [7175] = {.lex_state = 747, .external_lex_state = 31},
  [7176] = {.lex_state = 747, .external_lex_state = 122},
  [7177] = {.lex_state = 747, .external_lex_state = 31},
  [7178] = {.lex_state = 747, .external_lex_state = 79},
  [7179] = {.lex_state = 747, .external_lex_state = 31},
  [7180] = {.lex_state = 747, .external_lex_state = 79},
  [7181] = {.lex_state = 747, .external_lex_state = 31},
  [7182] = {.lex_state = 747, .external_lex_state = 123},
  [7183] = {.lex_state = 747, .external_lex_state = 114},
  [7184] = {.lex_state = 747, .external_lex_state = 114},
  [7185] = {.lex_state = 747, .external_lex_state = 79},
  [7186] = {.lex_state = 747, .external_lex_state = 79},
  [7187] = {.lex_state = 747, .external_lex_state = 79},
  [7188] = {.lex_state = 747, .external_lex_state = 79},
  [7189] = {.lex_state = 747, .external_lex_state = 31},
  [7190] = {.lex_state = 747, .external_lex_state = 109},
  [7191] = {.lex_state = 747, .external_lex_state = 79},
  [7192] = {.lex_state = 747, .external_lex_state = 79},
  [7193] = {.lex_state = 747, .external_lex_state = 79},
  [7194] = {.lex_state = 747, .external_lex_state = 109},
  [7195] = {.lex_state = 747, .external_lex_state = 123},
  [7196] = {.lex_state = 747, .external_lex_state = 79},
  [7197] = {.lex_state = 747, .external_lex_state = 31},
  [7198] = {.lex_state = 747, .external_lex_state = 125},
  [7199] = {.lex_state = 747, .external_lex_state = 123},
  [7200] = {.lex_state = 747, .external_lex_state = 79},
  [7201] = {.lex_state = 747, .external_lex_state = 79},
  [7202] = {.lex_state = 747, .external_lex_state = 31},
  [7203] = {.lex_state = 747, .external_lex_state = 79},
  [7204] = {.lex_state = 747, .external_lex_state = 31},
  [7205] = {.lex_state = 747, .external_lex_state = 79},
  [7206] = {.lex_state = 747, .external_lex_state = 79},
  [7207] = {.lex_state = 747, .external_lex_state = 79},
  [7208] = {.lex_state = 747, .external_lex_state = 79},
  [7209] = {.lex_state = 747, .external_lex_state = 31},
  [7210] = {.lex_state = 747, .external_lex_state = 79},
  [7211] = {.lex_state = 747, .external_lex_state = 79},
  [7212] = {.lex_state = 747, .external_lex_state = 79},
  [7213] = {.lex_state = 747, .external_lex_state = 61},
  [7214] = {.lex_state = 747, .external_lex_state = 79},
  [7215] = {.lex_state = 747, .external_lex_state = 79},
  [7216] = {.lex_state = 747, .external_lex_state = 79},
  [7217] = {.lex_state = 747, .external_lex_state = 31},
  [7218] = {.lex_state = 747, .external_lex_state = 79},
  [7219] = {.lex_state = 747, .external_lex_state = 79},
  [7220] = {.lex_state = 747, .external_lex_state = 79},
  [7221] = {.lex_state = 747, .external_lex_state = 79},
  [7222] = {.lex_state = 747, .external_lex_state = 79},
  [7223] = {.lex_state = 747, .external_lex_state = 109},
  [7224] = {.lex_state = 747, .external_lex_state = 79},
  [7225] = {.lex_state = 747, .external_lex_state = 79},
  [7226] = {.lex_state = 747, .external_lex_state = 79},
  [7227] = {.lex_state = 747, .external_lex_state = 61},
  [7228] = {.lex_state = 747, .external_lex_state = 31},
  [7229] = {.lex_state = 747, .external_lex_state = 61},
  [7230] = {.lex_state = 747, .external_lex_state = 79},
  [7231] = {.lex_state = 747, .external_lex_state = 79},
  [7232] = {.lex_state = 747, .external_lex_state = 32},
  [7233] = {.lex_state = 747, .external_lex_state = 79},
  [7234] = {.lex_state = 747, .external_lex_state = 79},
  [7235] = {.lex_state = 747, .external_lex_state = 31},
  [7236] = {.lex_state = 747, .external_lex_state = 79},
  [7237] = {.lex_state = 77, .external_lex_state = 31},
  [7238] = {.lex_state = 747, .external_lex_state = 79},
  [7239] = {.lex_state = 747, .external_lex_state = 61},
  [7240] = {.lex_state = 747, .external_lex_state = 31},
  [7241] = {.lex_state = 747, .external_lex_state = 61},
  [7242] = {.lex_state = 747, .external_lex_state = 79},
  [7243] = {.lex_state = 747, .external_lex_state = 79},
  [7244] = {.lex_state = 747, .external_lex_state = 79},
  [7245] = {.lex_state = 747, .external_lex_state = 125},
  [7246] = {.lex_state = 747, .external_lex_state = 122},
  [7247] = {.lex_state = 747, .external_lex_state = 79},
  [7248] = {.lex_state = 747, .external_lex_state = 109},
  [7249] = {.lex_state = 747, .external_lex_state = 79},
  [7250] = {.lex_state = 747, .external_lex_state = 79},
  [7251] = {.lex_state = 747, .external_lex_state = 31},
  [7252] = {.lex_state = 747, .external_lex_state = 109},
  [7253] = {.lex_state = 747, .external_lex_state = 79},
  [7254] = {.lex_state = 747, .external_lex_state = 79},
  [7255] = {.lex_state = 747, .external_lex_state = 31},
  [7256] = {.lex_state = 747, .external_lex_state = 31},
  [7257] = {.lex_state = 747, .external_lex_state = 79},
  [7258] = {.lex_state = 747, .external_lex_state = 79},
  [7259] = {.lex_state = 747, .external_lex_state = 31},
  [7260] = {.lex_state = 747, .external_lex_state = 32},
  [7261] = {.lex_state = 747, .external_lex_state = 123},
  [7262] = {.lex_state = 747, .external_lex_state = 79},
  [7263] = {.lex_state = 747, .external_lex_state = 79},
  [7264] = {.lex_state = 747, .external_lex_state = 79},
  [7265] = {.lex_state = 747, .external_lex_state = 31},
  [7266] = {.lex_state = 747, .external_lex_state = 116},
  [7267] = {.lex_state = 747, .external_lex_state = 61},
  [7268] = {.lex_state = 747, .external_lex_state = 32},
  [7269] = {.lex_state = 747, .external_lex_state = 61},
  [7270] = {.lex_state = 747, .external_lex_state = 61},
  [7271] = {.lex_state = 747, .external_lex_state = 79},
  [7272] = {.lex_state = 747, .external_lex_state = 61},
  [7273] = {.lex_state = 747, .external_lex_state = 61},
  [7274] = {.lex_state = 747, .external_lex_state = 79},
  [7275] = {.lex_state = 747, .external_lex_state = 79},
  [7276] = {.lex_state = 747, .external_lex_state = 31},
  [7277] = {.lex_state = 747, .external_lex_state = 61},
  [7278] = {.lex_state = 747, .external_lex_state = 31},
  [7279] = {.lex_state = 747, .external_lex_state = 31},
  [7280] = {.lex_state = 747, .external_lex_state = 31},
  [7281] = {.lex_state = 747, .external_lex_state = 61},
  [7282] = {.lex_state = 747, .external_lex_state = 31},
  [7283] = {.lex_state = 747, .external_lex_state = 61},
  [7284] = {.lex_state = 747, .external_lex_state = 79},
  [7285] = {.lex_state = 747, .external_lex_state = 79},
  [7286] = {.lex_state = 747, .external_lex_state = 79},
  [7287] = {.lex_state = 747, .external_lex_state = 61},
  [7288] = {.lex_state = 747, .external_lex_state = 61},
  [7289] = {.lex_state = 747, .external_lex_state = 61},
  [7290] = {.lex_state = 747, .external_lex_state = 79},
  [7291] = {.lex_state = 747, .external_lex_state = 61},
  [7292] = {.lex_state = 747, .external_lex_state = 79},
  [7293] = {.lex_state = 747, .external_lex_state = 61},
  [7294] = {.lex_state = 747, .external_lex_state = 79},
  [7295] = {.lex_state = 747, .external_lex_state = 79},
  [7296] = {.lex_state = 747, .external_lex_state = 116},
  [7297] = {.lex_state = 747, .external_lex_state = 31},
  [7298] = {.lex_state = 747, .external_lex_state = 79},
  [7299] = {.lex_state = 747, .external_lex_state = 31},
  [7300] = {.lex_state = 747, .external_lex_state = 79},
  [7301] = {.lex_state = 747, .external_lex_state = 61},
  [7302] = {.lex_state = 747, .external_lex_state = 79},
  [7303] = {.lex_state = 747, .external_lex_state = 116},
  [7304] = {.lex_state = 747, .external_lex_state = 79},
  [7305] = {.lex_state = 747, .external_lex_state = 116},
  [7306] = {.lex_state = 747, .external_lex_state = 79},
  [7307] = {.lex_state = 747, .external_lex_state = 79},
  [7308] = {.lex_state = 747, .external_lex_state = 31},
  [7309] = {.lex_state = 747, .external_lex_state = 32},
  [7310] = {.lex_state = 747, .external_lex_state = 61},
  [7311] = {.lex_state = 747, .external_lex_state = 31},
  [7312] = {.lex_state = 747, .external_lex_state = 61},
  [7313] = {.lex_state = 747, .external_lex_state = 61},
  [7314] = {.lex_state = 747, .external_lex_state = 116},
  [7315] = {.lex_state = 747, .external_lex_state = 79},
  [7316] = {.lex_state = 747, .external_lex_state = 79},
  [7317] = {.lex_state = 747, .external_lex_state = 79},
  [7318] = {.lex_state = 747, .external_lex_state = 79},
  [7319] = {.lex_state = 747, .external_lex_state = 79},
  [7320] = {.lex_state = 747, .external_lex_state = 79},
  [7321] = {.lex_state = 747, .external_lex_state = 79},
  [7322] = {.lex_state = 747, .external_lex_state = 61},
  [7323] = {.lex_state = 747, .external_lex_state = 79},
  [7324] = {.lex_state = 747, .external_lex_state = 79},
  [7325] = {.lex_state = 747, .external_lex_state = 79},
  [7326] = {.lex_state = 747, .external_lex_state = 61},
  [7327] = {.lex_state = 747, .external_lex_state = 31},
  [7328] = {.lex_state = 747, .external_lex_state = 79},
  [7329] = {.lex_state = 747, .external_lex_state = 61},
  [7330] = {.lex_state = 747, .external_lex_state = 32},
  [7331] = {.lex_state = 747, .external_lex_state = 79},
  [7332] = {.lex_state = 747, .external_lex_state = 32},
  [7333] = {.lex_state = 747, .external_lex_state = 31},
  [7334] = {.lex_state = 747, .external_lex_state = 79},
  [7335] = {.lex_state = 747, .external_lex_state = 53},
  [7336] = {.lex_state = 747, .external_lex_state = 79},
  [7337] = {.lex_state = 747, .external_lex_state = 31},
  [7338] = {.lex_state = 747, .external_lex_state = 79},
  [7339] = {.lex_state = 747, .external_lex_state = 79},
  [7340] = {.lex_state = 747, .external_lex_state = 61},
  [7341] = {.lex_state = 747, .external_lex_state = 79},
  [7342] = {.lex_state = 747, .external_lex_state = 79},
  [7343] = {.lex_state = 747, .external_lex_state = 61},
  [7344] = {.lex_state = 747, .external_lex_state = 79},
  [7345] = {.lex_state = 747, .external_lex_state = 79},
  [7346] = {.lex_state = 747, .external_lex_state = 61},
  [7347] = {.lex_state = 747, .external_lex_state = 79},
  [7348] = {.lex_state = 747, .external_lex_state = 79},
  [7349] = {.lex_state = 747, .external_lex_state = 79},
  [7350] = {.lex_state = 747, .external_lex_state = 79},
  [7351] = {.lex_state = 747, .external_lex_state = 79},
  [7352] = {.lex_state = 747, .external_lex_state = 61},
  [7353] = {.lex_state = 747, .external_lex_state = 32},
  [7354] = {.lex_state = 747, .external_lex_state = 79},
  [7355] = {.lex_state = 747, .external_lex_state = 79},
  [7356] = {.lex_state = 747, .external_lex_state = 61},
  [7357] = {.lex_state = 747, .external_lex_state = 79},
  [7358] = {.lex_state = 747, .external_lex_state = 79},
  [7359] = {.lex_state = 747, .external_lex_state = 61},
  [7360] = {.lex_state = 747, .external_lex_state = 61},
  [7361] = {.lex_state = 747, .external_lex_state = 79},
  [7362] = {.lex_state = 747, .external_lex_state = 53},
  [7363] = {.lex_state = 747, .external_lex_state = 61},
  [7364] = {.lex_state = 747, .external_lex_state = 79},
  [7365] = {.lex_state = 747, .external_lex_state = 31},
  [7366] = {.lex_state = 747, .external_lex_state = 61},
  [7367] = {.lex_state = 747, .external_lex_state = 31},
  [7368] = {.lex_state = 747, .external_lex_state = 61},
  [7369] = {.lex_state = 747, .external_lex_state = 61},
  [7370] = {.lex_state = 747, .external_lex_state = 79},
  [7371] = {.lex_state = 747, .external_lex_state = 61},
  [7372] = {.lex_state = 747, .external_lex_state = 61},
  [7373] = {.lex_state = 747, .external_lex_state = 61},
  [7374] = {.lex_state = 747, .external_lex_state = 61},
  [7375] = {.lex_state = 747, .external_lex_state = 120},
  [7376] = {.lex_state = 747, .external_lex_state = 61},
  [7377] = {.lex_state = 747, .external_lex_state = 79},
  [7378] = {.lex_state = 747, .external_lex_state = 61},
  [7379] = {.lex_state = 747, .external_lex_state = 79},
  [7380] = {.lex_state = 747, .external_lex_state = 32},
  [7381] = {.lex_state = 747, .external_lex_state = 79},
  [7382] = {.lex_state = 747, .external_lex_state = 79},
  [7383] = {.lex_state = 747, .external_lex_state = 79},
  [7384] = {.lex_state = 747, .external_lex_state = 79},
  [7385] = {.lex_state = 747, .external_lex_state = 79},
  [7386] = {.lex_state = 747, .external_lex_state = 120},
  [7387] = {.lex_state = 747, .external_lex_state = 79},
  [7388] = {.lex_state = 747, .external_lex_state = 79},
  [7389] = {.lex_state = 747, .external_lex_state = 79},
  [7390] = {.lex_state = 747, .external_lex_state = 31},
  [7391] = {.lex_state = 747, .external_lex_state = 79},
  [7392] = {.lex_state = 747, .external_lex_state = 79},
  [7393] = {.lex_state = 747, .external_lex_state = 79},
  [7394] = {.lex_state = 747, .external_lex_state = 61},
  [7395] = {.lex_state = 747, .external_lex_state = 79},
  [7396] = {.lex_state = 747, .external_lex_state = 79},
  [7397] = {.lex_state = 747, .external_lex_state = 31},
  [7398] = {.lex_state = 747, .external_lex_state = 79},
  [7399] = {.lex_state = 747, .external_lex_state = 79},
  [7400] = {.lex_state = 747, .external_lex_state = 79},
  [7401] = {.lex_state = 747, .external_lex_state = 79},
  [7402] = {.lex_state = 747, .external_lex_state = 31},
  [7403] = {.lex_state = 747, .external_lex_state = 32},
  [7404] = {.lex_state = 747, .external_lex_state = 52},
  [7405] = {.lex_state = 747, .external_lex_state = 61},
  [7406] = {.lex_state = 747, .external_lex_state = 79},
  [7407] = {.lex_state = 747, .external_lex_state = 79},
  [7408] = {.lex_state = 747, .external_lex_state = 79},
  [7409] = {.lex_state = 747, .external_lex_state = 79},
  [7410] = {.lex_state = 747, .external_lex_state = 31},
  [7411] = {.lex_state = 747, .external_lex_state = 61},
  [7412] = {.lex_state = 747, .external_lex_state = 120},
  [7413] = {.lex_state = 747, .external_lex_state = 79},
  [7414] = {.lex_state = 747, .external_lex_state = 61},
  [7415] = {.lex_state = 747, .external_lex_state = 79},
  [7416] = {.lex_state = 747, .external_lex_state = 61},
  [7417] = {.lex_state = 747, .external_lex_state = 61},
  [7418] = {.lex_state = 747, .external_lex_state = 79},
  [7419] = {.lex_state = 747, .external_lex_state = 79},
  [7420] = {.lex_state = 747, .external_lex_state = 79},
  [7421] = {.lex_state = 747, .external_lex_state = 61},
  [7422] = {.lex_state = 747, .external_lex_state = 32},
  [7423] = {.lex_state = 747, .external_lex_state = 61},
  [7424] = {.lex_state = 747, .external_lex_state = 79},
  [7425] = {.lex_state = 747, .external_lex_state = 61},
  [7426] = {.lex_state = 747, .external_lex_state = 79},
  [7427] = {.lex_state = 747, .external_lex_state = 79},
  [7428] = {.lex_state = 747, .external_lex_state = 79},
  [7429] = {.lex_state = 747, .external_lex_state = 61},
  [7430] = {.lex_state = 747, .external_lex_state = 79},
  [7431] = {.lex_state = 747, .external_lex_state = 31},
  [7432] = {.lex_state = 747, .external_lex_state = 79},
  [7433] = {.lex_state = 747, .external_lex_state = 115},
  [7434] = {.lex_state = 747, .external_lex_state = 79},
  [7435] = {.lex_state = 747, .external_lex_state = 61},
  [7436] = {.lex_state = 747, .external_lex_state = 61},
  [7437] = {.lex_state = 747, .external_lex_state = 79},
  [7438] = {.lex_state = 747, .external_lex_state = 61},
  [7439] = {.lex_state = 747, .external_lex_state = 61},
  [7440] = {.lex_state = 747, .external_lex_state = 115},
  [7441] = {.lex_state = 747, .external_lex_state = 79},
  [7442] = {.lex_state = 747, .external_lex_state = 61},
  [7443] = {.lex_state = 747, .external_lex_state = 79},
  [7444] = {.lex_state = 747, .external_lex_state = 79},
  [7445] = {.lex_state = 747, .external_lex_state = 79},
  [7446] = {.lex_state = 747, .external_lex_state = 31},
  [7447] = {.lex_state = 747, .external_lex_state = 31},
  [7448] = {.lex_state = 747, .external_lex_state = 31},
  [7449] = {.lex_state = 747, .external_lex_state = 31},
  [7450] = {.lex_state = 747, .external_lex_state = 31},
  [7451] = {.lex_state = 747, .external_lex_state = 31},
  [7452] = {.lex_state = 747, .external_lex_state = 31},
  [7453] = {.lex_state = 747, .external_lex_state = 31},
  [7454] = {.lex_state = 747, .external_lex_state = 31},
  [7455] = {.lex_state = 747, .external_lex_state = 31},
  [7456] = {.lex_state = 747, .external_lex_state = 31},
  [7457] = {.lex_state = 747, .external_lex_state = 31},
  [7458] = {.lex_state = 747, .external_lex_state = 31},
  [7459] = {.lex_state = 747, .external_lex_state = 31},
  [7460] = {.lex_state = 747, .external_lex_state = 31},
  [7461] = {.lex_state = 747, .external_lex_state = 31},
  [7462] = {.lex_state = 747, .external_lex_state = 31},
  [7463] = {.lex_state = 747, .external_lex_state = 31},
  [7464] = {.lex_state = 747, .external_lex_state = 31},
  [7465] = {.lex_state = 747, .external_lex_state = 31},
  [7466] = {.lex_state = 747, .external_lex_state = 31},
  [7467] = {.lex_state = 747, .external_lex_state = 31},
  [7468] = {.lex_state = 747, .external_lex_state = 31},
  [7469] = {.lex_state = 747, .external_lex_state = 31},
  [7470] = {.lex_state = 747, .external_lex_state = 31},
  [7471] = {.lex_state = 747, .external_lex_state = 31},
  [7472] = {.lex_state = 747, .external_lex_state = 31},
  [7473] = {.lex_state = 747, .external_lex_state = 31},
  [7474] = {.lex_state = 77, .external_lex_state = 127},
  [7475] = {.lex_state = 747, .external_lex_state = 31},
  [7476] = {.lex_state = 747, .external_lex_state = 31},
  [7477] = {.lex_state = 747, .external_lex_state = 31},
  [7478] = {.lex_state = 747, .external_lex_state = 31},
  [7479] = {.lex_state = 747, .external_lex_state = 79},
  [7480] = {.lex_state = 747, .external_lex_state = 79},
  [7481] = {.lex_state = 747, .external_lex_state = 31},
  [7482] = {.lex_state = 747, .external_lex_state = 31},
  [7483] = {.lex_state = 747, .external_lex_state = 31},
  [7484] = {.lex_state = 747, .external_lex_state = 31},
  [7485] = {.lex_state = 747, .external_lex_state = 31},
  [7486] = {.lex_state = 77, .external_lex_state = 127},
  [7487] = {.lex_state = 747, .external_lex_state = 31},
  [7488] = {.lex_state = 747, .external_lex_state = 79},
  [7489] = {.lex_state = 747, .external_lex_state = 31},
  [7490] = {.lex_state = 747, .external_lex_state = 31},
  [7491] = {.lex_state = 747, .external_lex_state = 31},
  [7492] = {.lex_state = 747, .external_lex_state = 31},
  [7493] = {.lex_state = 747, .external_lex_state = 31},
  [7494] = {.lex_state = 747, .external_lex_state = 79},
  [7495] = {.lex_state = 747, .external_lex_state = 32},
  [7496] = {.lex_state = 747, .external_lex_state = 79},
  [7497] = {.lex_state = 747, .external_lex_state = 31},
  [7498] = {.lex_state = 747, .external_lex_state = 32},
  [7499] = {.lex_state = 747, .external_lex_state = 128},
  [7500] = {.lex_state = 747, .external_lex_state = 52},
  [7501] = {.lex_state = 747, .external_lex_state = 52},
  [7502] = {.lex_state = 747, .external_lex_state = 31},
  [7503] = {.lex_state = 747, .external_lex_state = 31},
  [7504] = {.lex_state = 747, .external_lex_state = 31},
  [7505] = {.lex_state = 77, .external_lex_state = 31},
  [7506] = {.lex_state = 747, .external_lex_state = 79},
  [7507] = {.lex_state = 747, .external_lex_state = 31},
  [7508] = {.lex_state = 747, .external_lex_state = 31},
  [7509] = {.lex_state = 747, .external_lex_state = 128},
  [7510] = {.lex_state = 747, .external_lex_state = 52},
  [7511] = {.lex_state = 747, .external_lex_state = 52},
  [7512] = {.lex_state = 747, .external_lex_state = 31},
  [7513] = {.lex_state = 747, .external_lex_state = 31},
  [7514] = {.lex_state = 747, .external_lex_state = 79},
  [7515] = {.lex_state = 747, .external_lex_state = 79},
  [7516] = {.lex_state = 747, .external_lex_state = 31},
  [7517] = {.lex_state = 747, .external_lex_state = 31},
  [7518] = {.lex_state = 747, .external_lex_state = 31},
  [7519] = {.lex_state = 747, .external_lex_state = 31},
  [7520] = {.lex_state = 747, .external_lex_state = 79},
  [7521] = {.lex_state = 77, .external_lex_state = 127},
  [7522] = {.lex_state = 747, .external_lex_state = 31},
  [7523] = {.lex_state = 747, .external_lex_state = 79},
  [7524] = {.lex_state = 747, .external_lex_state = 79},
  [7525] = {.lex_state = 747, .external_lex_state = 61},
  [7526] = {.lex_state = 747, .external_lex_state = 31},
  [7527] = {.lex_state = 747, .external_lex_state = 79},
  [7528] = {.lex_state = 747, .external_lex_state = 31},
  [7529] = {.lex_state = 747, .external_lex_state = 31},
  [7530] = {.lex_state = 747, .external_lex_state = 31},
  [7531] = {.lex_state = 747, .external_lex_state = 31},
  [7532] = {.lex_state = 747, .external_lex_state = 79},
  [7533] = {.lex_state = 747, .external_lex_state = 31},
  [7534] = {.lex_state = 747, .external_lex_state = 31},
  [7535] = {.lex_state = 747, .external_lex_state = 31},
  [7536] = {.lex_state = 747, .external_lex_state = 31},
  [7537] = {.lex_state = 747, .external_lex_state = 79},
  [7538] = {.lex_state = 747, .external_lex_state = 31},
  [7539] = {.lex_state = 747, .external_lex_state = 79},
  [7540] = {.lex_state = 76, .external_lex_state = 129},
  [7541] = {.lex_state = 747, .external_lex_state = 31},
  [7542] = {.lex_state = 747, .external_lex_state = 31},
  [7543] = {.lex_state = 747, .external_lex_state = 31},
  [7544] = {.lex_state = 747, .external_lex_state = 31},
  [7545] = {.lex_state = 747, .external_lex_state = 31},
  [7546] = {.lex_state = 747, .external_lex_state = 31},
  [7547] = {.lex_state = 747, .external_lex_state = 31},
  [7548] = {.lex_state = 747, .external_lex_state = 31},
  [7549] = {.lex_state = 747, .external_lex_state = 31},
  [7550] = {.lex_state = 747, .external_lex_state = 31},
  [7551] = {.lex_state = 747, .external_lex_state = 79},
  [7552] = {.lex_state = 747, .external_lex_state = 31},
  [7553] = {.lex_state = 747, .external_lex_state = 31},
  [7554] = {.lex_state = 747, .external_lex_state = 31},
  [7555] = {.lex_state = 747, .external_lex_state = 31},
  [7556] = {.lex_state = 747, .external_lex_state = 31},
  [7557] = {.lex_state = 747, .external_lex_state = 52},
  [7558] = {.lex_state = 747, .external_lex_state = 52},
  [7559] = {.lex_state = 747, .external_lex_state = 31},
  [7560] = {.lex_state = 747, .external_lex_state = 31},
  [7561] = {.lex_state = 747, .external_lex_state = 31},
  [7562] = {.lex_state = 747, .external_lex_state = 79},
  [7563] = {.lex_state = 747, .external_lex_state = 31},
  [7564] = {.lex_state = 747, .external_lex_state = 128},
  [7565] = {.lex_state = 747, .external_lex_state = 61},
  [7566] = {.lex_state = 747, .external_lex_state = 31},
  [7567] = {.lex_state = 747, .external_lex_state = 61},
  [7568] = {.lex_state = 747, .external_lex_state = 31},
  [7569] = {.lex_state = 747, .external_lex_state = 31},
  [7570] = {.lex_state = 747, .external_lex_state = 31},
  [7571] = {.lex_state = 747, .external_lex_state = 31},
  [7572] = {.lex_state = 747, .external_lex_state = 31},
  [7573] = {.lex_state = 747, .external_lex_state = 79},
  [7574] = {.lex_state = 747, .external_lex_state = 31},
  [7575] = {.lex_state = 747, .external_lex_state = 31},
  [7576] = {.lex_state = 747, .external_lex_state = 31},
  [7577] = {.lex_state = 747, .external_lex_state = 61},
  [7578] = {.lex_state = 747, .external_lex_state = 31},
  [7579] = {.lex_state = 747, .external_lex_state = 31},
  [7580] = {.lex_state = 747, .external_lex_state = 31},
  [7581] = {.lex_state = 747, .external_lex_state = 31},
  [7582] = {.lex_state = 747, .external_lex_state = 31},
  [7583] = {.lex_state = 747, .external_lex_state = 31},
  [7584] = {.lex_state = 747, .external_lex_state = 31},
  [7585] = {.lex_state = 747, .external_lex_state = 79},
  [7586] = {.lex_state = 747, .external_lex_state = 31},
  [7587] = {.lex_state = 747, .external_lex_state = 79},
  [7588] = {.lex_state = 747, .external_lex_state = 79},
  [7589] = {.lex_state = 747, .external_lex_state = 31},
  [7590] = {.lex_state = 747, .external_lex_state = 31},
  [7591] = {.lex_state = 747, .external_lex_state = 31},
  [7592] = {.lex_state = 747, .external_lex_state = 31},
  [7593] = {.lex_state = 747, .external_lex_state = 79},
  [7594] = {.lex_state = 747, .external_lex_state = 31},
  [7595] = {.lex_state = 747, .external_lex_state = 31},
  [7596] = {.lex_state = 747, .external_lex_state = 31},
  [7597] = {.lex_state = 747, .external_lex_state = 79},
  [7598] = {.lex_state = 747, .external_lex_state = 31},
  [7599] = {.lex_state = 747, .external_lex_state = 31},
  [7600] = {.lex_state = 747, .external_lex_state = 31},
  [7601] = {.lex_state = 747, .external_lex_state = 31},
  [7602] = {.lex_state = 747, .external_lex_state = 31},
  [7603] = {.lex_state = 747, .external_lex_state = 31},
  [7604] = {.lex_state = 747, .external_lex_state = 79},
  [7605] = {.lex_state = 747, .external_lex_state = 31},
  [7606] = {.lex_state = 747, .external_lex_state = 31},
  [7607] = {.lex_state = 747, .external_lex_state = 31},
  [7608] = {.lex_state = 747, .external_lex_state = 31},
  [7609] = {.lex_state = 747, .external_lex_state = 31},
  [7610] = {.lex_state = 747, .external_lex_state = 31},
  [7611] = {.lex_state = 747, .external_lex_state = 114},
  [7612] = {.lex_state = 747, .external_lex_state = 31},
  [7613] = {.lex_state = 747, .external_lex_state = 114},
  [7614] = {.lex_state = 747, .external_lex_state = 31},
  [7615] = {.lex_state = 747, .external_lex_state = 114},
  [7616] = {.lex_state = 747, .external_lex_state = 31},
  [7617] = {.lex_state = 747, .external_lex_state = 31},
  [7618] = {.lex_state = 747, .external_lex_state = 31},
  [7619] = {.lex_state = 747, .external_lex_state = 31},
  [7620] = {.lex_state = 747, .external_lex_state = 31},
  [7621] = {.lex_state = 747, .external_lex_state = 31},
  [7622] = {.lex_state = 747, .external_lex_state = 31},
  [7623] = {.lex_state = 747, .external_lex_state = 31},
  [7624] = {.lex_state = 747, .external_lex_state = 31},
  [7625] = {.lex_state = 747, .external_lex_state = 79},
  [7626] = {.lex_state = 747, .external_lex_state = 31},
  [7627] = {.lex_state = 747, .external_lex_state = 79},
  [7628] = {.lex_state = 747, .external_lex_state = 31},
  [7629] = {.lex_state = 747, .external_lex_state = 31},
  [7630] = {.lex_state = 747, .external_lex_state = 31},
  [7631] = {.lex_state = 747, .external_lex_state = 31},
  [7632] = {.lex_state = 77, .external_lex_state = 127},
  [7633] = {.lex_state = 747, .external_lex_state = 79},
  [7634] = {.lex_state = 747, .external_lex_state = 31},
  [7635] = {.lex_state = 747, .external_lex_state = 31},
  [7636] = {.lex_state = 747, .external_lex_state = 79},
  [7637] = {.lex_state = 76, .external_lex_state = 129},
  [7638] = {.lex_state = 747, .external_lex_state = 31},
  [7639] = {.lex_state = 747, .external_lex_state = 79},
  [7640] = {.lex_state = 747, .external_lex_state = 79},
  [7641] = {.lex_state = 747, .external_lex_state = 124},
  [7642] = {.lex_state = 747, .external_lex_state = 31},
  [7643] = {.lex_state = 747, .external_lex_state = 31},
  [7644] = {.lex_state = 747, .external_lex_state = 79},
  [7645] = {.lex_state = 747, .external_lex_state = 31},
  [7646] = {.lex_state = 747, .external_lex_state = 79},
  [7647] = {.lex_state = 747, .external_lex_state = 31},
  [7648] = {.lex_state = 747, .external_lex_state = 31},
  [7649] = {.lex_state = 747, .external_lex_state = 31},
  [7650] = {.lex_state = 747, .external_lex_state = 31},
  [7651] = {.lex_state = 747, .external_lex_state = 31},
  [7652] = {.lex_state = 747, .external_lex_state = 79},
  [7653] = {.lex_state = 747, .external_lex_state = 79},
  [7654] = {.lex_state = 747, .external_lex_state = 79},
  [7655] = {.lex_state = 747, .external_lex_state = 31},
  [7656] = {.lex_state = 747, .external_lex_state = 79},
  [7657] = {.lex_state = 747, .external_lex_state = 79},
  [7658] = {.lex_state = 747, .external_lex_state = 31},
  [7659] = {.lex_state = 77, .external_lex_state = 31},
  [7660] = {.lex_state = 747, .external_lex_state = 31},
  [7661] = {.lex_state = 747, .external_lex_state = 31},
  [7662] = {.lex_state = 747, .external_lex_state = 79},
  [7663] = {.lex_state = 747, .external_lex_state = 31},
  [7664] = {.lex_state = 747, .external_lex_state = 31},
  [7665] = {.lex_state = 747, .external_lex_state = 79},
  [7666] = {.lex_state = 747, .external_lex_state = 79},
  [7667] = {.lex_state = 747, .external_lex_state = 79},
  [7668] = {.lex_state = 747, .external_lex_state = 79},
  [7669] = {.lex_state = 747, .external_lex_state = 128},
  [7670] = {.lex_state = 747, .external_lex_state = 130},
  [7671] = {.lex_state = 747, .external_lex_state = 31},
  [7672] = {.lex_state = 747, .external_lex_state = 31},
  [7673] = {.lex_state = 747, .external_lex_state = 79},
  [7674] = {.lex_state = 747, .external_lex_state = 31},
  [7675] = {.lex_state = 747, .external_lex_state = 79},
  [7676] = {.lex_state = 747, .external_lex_state = 79},
  [7677] = {.lex_state = 747, .external_lex_state = 79},
  [7678] = {.lex_state = 747, .external_lex_state = 31},
  [7679] = {.lex_state = 747, .external_lex_state = 79},
  [7680] = {.lex_state = 747, .external_lex_state = 79},
  [7681] = {.lex_state = 747, .external_lex_state = 31},
  [7682] = {.lex_state = 747, .external_lex_state = 79},
  [7683] = {.lex_state = 747, .external_lex_state = 31},
  [7684] = {.lex_state = 747, .external_lex_state = 79},
  [7685] = {.lex_state = 747, .external_lex_state = 79},
  [7686] = {.lex_state = 747, .external_lex_state = 79},
  [7687] = {.lex_state = 747, .external_lex_state = 31},
  [7688] = {.lex_state = 747, .external_lex_state = 79},
  [7689] = {.lex_state = 747, .external_lex_state = 128},
  [7690] = {.lex_state = 747, .external_lex_state = 52},
  [7691] = {.lex_state = 747, .external_lex_state = 31},
  [7692] = {.lex_state = 747, .external_lex_state = 52},
  [7693] = {.lex_state = 747, .external_lex_state = 31},
  [7694] = {.lex_state = 747, .external_lex_state = 31},
  [7695] = {.lex_state = 747, .external_lex_state = 31},
  [7696] = {.lex_state = 747, .external_lex_state = 31},
  [7697] = {.lex_state = 747, .external_lex_state = 79},
  [7698] = {.lex_state = 747, .external_lex_state = 79},
  [7699] = {.lex_state = 747, .external_lex_state = 31},
  [7700] = {.lex_state = 747, .external_lex_state = 31},
  [7701] = {.lex_state = 747, .external_lex_state = 31},
  [7702] = {.lex_state = 747, .external_lex_state = 31},
  [7703] = {.lex_state = 747, .external_lex_state = 31},
  [7704] = {.lex_state = 747, .external_lex_state = 31},
  [7705] = {.lex_state = 747, .external_lex_state = 31},
  [7706] = {.lex_state = 747, .external_lex_state = 31},
  [7707] = {.lex_state = 747, .external_lex_state = 31},
  [7708] = {.lex_state = 747, .external_lex_state = 31},
  [7709] = {.lex_state = 747, .external_lex_state = 31},
  [7710] = {.lex_state = 747, .external_lex_state = 31},
  [7711] = {.lex_state = 747, .external_lex_state = 31},
  [7712] = {.lex_state = 747, .external_lex_state = 31},
  [7713] = {.lex_state = 747, .external_lex_state = 31},
  [7714] = {.lex_state = 747, .external_lex_state = 31},
  [7715] = {.lex_state = 747, .external_lex_state = 61},
  [7716] = {.lex_state = 747, .external_lex_state = 31},
  [7717] = {.lex_state = 747, .external_lex_state = 79},
  [7718] = {.lex_state = 747, .external_lex_state = 31},
  [7719] = {.lex_state = 747, .external_lex_state = 31},
  [7720] = {.lex_state = 747, .external_lex_state = 79},
  [7721] = {.lex_state = 747, .external_lex_state = 79},
  [7722] = {.lex_state = 747, .external_lex_state = 31},
  [7723] = {.lex_state = 747, .external_lex_state = 31},
  [7724] = {.lex_state = 747, .external_lex_state = 31},
  [7725] = {.lex_state = 747, .external_lex_state = 79},
  [7726] = {.lex_state = 747, .external_lex_state = 79},
  [7727] = {.lex_state = 747, .external_lex_state = 31},
  [7728] = {.lex_state = 747, .external_lex_state = 61},
  [7729] = {.lex_state = 747, .external_lex_state = 79},
  [7730] = {.lex_state = 747, .external_lex_state = 31},
  [7731] = {.lex_state = 747, .external_lex_state = 31},
  [7732] = {.lex_state = 747, .external_lex_state = 31},
  [7733] = {.lex_state = 747, .external_lex_state = 61},
  [7734] = {.lex_state = 747, .external_lex_state = 31},
  [7735] = {.lex_state = 747, .external_lex_state = 79},
  [7736] = {.lex_state = 747, .external_lex_state = 31},
  [7737] = {.lex_state = 747, .external_lex_state = 79},
  [7738] = {.lex_state = 747, .external_lex_state = 31},
  [7739] = {.lex_state = 747, .external_lex_state = 128},
  [7740] = {.lex_state = 747, .external_lex_state = 31},
  [7741] = {.lex_state = 747, .external_lex_state = 31},
  [7742] = {.lex_state = 747, .external_lex_state = 31},
  [7743] = {.lex_state = 747, .external_lex_state = 52},
  [7744] = {.lex_state = 747, .external_lex_state = 31},
  [7745] = {.lex_state = 747, .external_lex_state = 130},
  [7746] = {.lex_state = 747, .external_lex_state = 52},
  [7747] = {.lex_state = 747, .external_lex_state = 31},
  [7748] = {.lex_state = 747, .external_lex_state = 31},
  [7749] = {.lex_state = 747, .external_lex_state = 31},
  [7750] = {.lex_state = 747, .external_lex_state = 31},
  [7751] = {.lex_state = 747, .external_lex_state = 31},
  [7752] = {.lex_state = 747, .external_lex_state = 31},
  [7753] = {.lex_state = 747, .external_lex_state = 79},
  [7754] = {.lex_state = 747, .external_lex_state = 31},
  [7755] = {.lex_state = 747, .external_lex_state = 31},
  [7756] = {.lex_state = 747, .external_lex_state = 79},
  [7757] = {.lex_state = 747, .external_lex_state = 79},
  [7758] = {.lex_state = 747, .external_lex_state = 31},
  [7759] = {.lex_state = 747, .external_lex_state = 31},
  [7760] = {.lex_state = 747, .external_lex_state = 79},
  [7761] = {.lex_state = 747, .external_lex_state = 31},
  [7762] = {.lex_state = 747, .external_lex_state = 79},
  [7763] = {.lex_state = 747, .external_lex_state = 31},
  [7764] = {.lex_state = 747, .external_lex_state = 31},
  [7765] = {.lex_state = 747, .external_lex_state = 31},
  [7766] = {.lex_state = 747, .external_lex_state = 79},
  [7767] = {.lex_state = 747, .external_lex_state = 31},
  [7768] = {.lex_state = 747, .external_lex_state = 32},
  [7769] = {.lex_state = 747, .external_lex_state = 124},
  [7770] = {.lex_state = 747, .external_lex_state = 32},
  [7771] = {.lex_state = 747, .external_lex_state = 31},
  [7772] = {.lex_state = 747, .external_lex_state = 79},
  [7773] = {.lex_state = 747, .external_lex_state = 31},
  [7774] = {.lex_state = 747, .external_lex_state = 31},
  [7775] = {.lex_state = 747, .external_lex_state = 31},
  [7776] = {.lex_state = 747, .external_lex_state = 31},
  [7777] = {.lex_state = 747, .external_lex_state = 79},
  [7778] = {.lex_state = 747, .external_lex_state = 79},
  [7779] = {.lex_state = 747, .external_lex_state = 79},
  [7780] = {.lex_state = 747, .external_lex_state = 31},
  [7781] = {.lex_state = 747, .external_lex_state = 31},
  [7782] = {.lex_state = 747, .external_lex_state = 79},
  [7783] = {.lex_state = 747, .external_lex_state = 31},
  [7784] = {.lex_state = 747, .external_lex_state = 79},
  [7785] = {.lex_state = 747, .external_lex_state = 52},
  [7786] = {.lex_state = 747, .external_lex_state = 52},
  [7787] = {.lex_state = 747, .external_lex_state = 31},
  [7788] = {.lex_state = 747, .external_lex_state = 31},
  [7789] = {.lex_state = 747, .external_lex_state = 128},
  [7790] = {.lex_state = 747, .external_lex_state = 31},
  [7791] = {.lex_state = 747, .external_lex_state = 61},
  [7792] = {.lex_state = 747, .external_lex_state = 131},
  [7793] = {.lex_state = 747, .external_lex_state = 79},
  [7794] = {.lex_state = 747, .external_lex_state = 31},
  [7795] = {.lex_state = 747, .external_lex_state = 31},
  [7796] = {.lex_state = 747, .external_lex_state = 31},
  [7797] = {.lex_state = 747, .external_lex_state = 131},
  [7798] = {.lex_state = 747, .external_lex_state = 31},
  [7799] = {.lex_state = 747, .external_lex_state = 31},
  [7800] = {.lex_state = 747, .external_lex_state = 116},
  [7801] = {.lex_state = 747, .external_lex_state = 31},
  [7802] = {.lex_state = 747, .external_lex_state = 31},
  [7803] = {.lex_state = 747, .external_lex_state = 31},
  [7804] = {.lex_state = 747, .external_lex_state = 31},
  [7805] = {.lex_state = 747, .external_lex_state = 31},
  [7806] = {.lex_state = 747, .external_lex_state = 31},
  [7807] = {.lex_state = 747, .external_lex_state = 31},
  [7808] = {.lex_state = 77, .external_lex_state = 127},
  [7809] = {.lex_state = 747, .external_lex_state = 31},
  [7810] = {.lex_state = 747, .external_lex_state = 79},
  [7811] = {.lex_state = 747, .external_lex_state = 31},
  [7812] = {.lex_state = 747, .external_lex_state = 79},
  [7813] = {.lex_state = 747, .external_lex_state = 31},
  [7814] = {.lex_state = 747, .external_lex_state = 31},
  [7815] = {.lex_state = 747, .external_lex_state = 79},
  [7816] = {.lex_state = 747, .external_lex_state = 79},
  [7817] = {.lex_state = 747, .external_lex_state = 31},
  [7818] = {.lex_state = 747, .external_lex_state = 79},
  [7819] = {.lex_state = 747, .external_lex_state = 31},
  [7820] = {.lex_state = 747, .external_lex_state = 31},
  [7821] = {.lex_state = 747, .external_lex_state = 31},
  [7822] = {.lex_state = 747, .external_lex_state = 79},
  [7823] = {.lex_state = 747, .external_lex_state = 31},
  [7824] = {.lex_state = 747, .external_lex_state = 31},
  [7825] = {.lex_state = 747, .external_lex_state = 79},
  [7826] = {.lex_state = 747, .external_lex_state = 31},
  [7827] = {.lex_state = 747, .external_lex_state = 61},
  [7828] = {.lex_state = 747, .external_lex_state = 79},
  [7829] = {.lex_state = 747, .external_lex_state = 79},
  [7830] = {.lex_state = 747, .external_lex_state = 31},
  [7831] = {.lex_state = 747, .external_lex_state = 31},
  [7832] = {.lex_state = 747, .external_lex_state = 79},
  [7833] = {.lex_state = 747, .external_lex_state = 79},
  [7834] = {.lex_state = 747, .external_lex_state = 31},
  [7835] = {.lex_state = 747, .external_lex_state = 31},
  [7836] = {.lex_state = 747, .external_lex_state = 79},
  [7837] = {.lex_state = 747, .external_lex_state = 31},
  [7838] = {.lex_state = 747, .external_lex_state = 79},
  [7839] = {.lex_state = 747, .external_lex_state = 79},
  [7840] = {.lex_state = 747, .external_lex_state = 31},
  [7841] = {.lex_state = 747, .external_lex_state = 79},
  [7842] = {.lex_state = 747, .external_lex_state = 31},
  [7843] = {.lex_state = 747, .external_lex_state = 31},
  [7844] = {.lex_state = 747, .external_lex_state = 31},
  [7845] = {.lex_state = 747, .external_lex_state = 31},
  [7846] = {.lex_state = 747, .external_lex_state = 79},
  [7847] = {.lex_state = 747, .external_lex_state = 79},
  [7848] = {.lex_state = 747, .external_lex_state = 31},
  [7849] = {.lex_state = 747, .external_lex_state = 31},
  [7850] = {.lex_state = 747, .external_lex_state = 31},
  [7851] = {.lex_state = 747, .external_lex_state = 31},
  [7852] = {.lex_state = 747, .external_lex_state = 61},
  [7853] = {.lex_state = 747, .external_lex_state = 79},
  [7854] = {.lex_state = 747, .external_lex_state = 79},
  [7855] = {.lex_state = 747, .external_lex_state = 79},
  [7856] = {.lex_state = 747, .external_lex_state = 79},
  [7857] = {.lex_state = 747, .external_lex_state = 31},
  [7858] = {.lex_state = 747, .external_lex_state = 79},
  [7859] = {.lex_state = 747, .external_lex_state = 79},
  [7860] = {.lex_state = 747, .external_lex_state = 31},
  [7861] = {.lex_state = 747, .external_lex_state = 31},
  [7862] = {.lex_state = 747, .external_lex_state = 79},
  [7863] = {.lex_state = 747, .external_lex_state = 79},
  [7864] = {.lex_state = 747, .external_lex_state = 79},
  [7865] = {.lex_state = 747, .external_lex_state = 79},
  [7866] = {.lex_state = 747, .external_lex_state = 79},
  [7867] = {.lex_state = 747, .external_lex_state = 31},
  [7868] = {.lex_state = 747, .external_lex_state = 31},
  [7869] = {.lex_state = 747, .external_lex_state = 31},
  [7870] = {.lex_state = 747, .external_lex_state = 79},
  [7871] = {.lex_state = 747, .external_lex_state = 79},
  [7872] = {.lex_state = 747, .external_lex_state = 79},
  [7873] = {.lex_state = 747, .external_lex_state = 31},
  [7874] = {.lex_state = 747, .external_lex_state = 79},
  [7875] = {.lex_state = 747, .external_lex_state = 79},
  [7876] = {.lex_state = 747, .external_lex_state = 31},
  [7877] = {.lex_state = 747, .external_lex_state = 31},
  [7878] = {.lex_state = 747, .external_lex_state = 79},
  [7879] = {.lex_state = 747, .external_lex_state = 79},
  [7880] = {.lex_state = 747, .external_lex_state = 79},
  [7881] = {.lex_state = 747, .external_lex_state = 31},
  [7882] = {.lex_state = 747, .external_lex_state = 79},
  [7883] = {.lex_state = 747, .external_lex_state = 79},
  [7884] = {.lex_state = 747, .external_lex_state = 128},
  [7885] = {.lex_state = 747, .external_lex_state = 31},
  [7886] = {.lex_state = 747, .external_lex_state = 52},
  [7887] = {.lex_state = 747, .external_lex_state = 79},
  [7888] = {.lex_state = 747, .external_lex_state = 52},
  [7889] = {.lex_state = 747, .external_lex_state = 31},
  [7890] = {.lex_state = 747, .external_lex_state = 79},
  [7891] = {.lex_state = 747, .external_lex_state = 79},
  [7892] = {.lex_state = 747, .external_lex_state = 31},
  [7893] = {.lex_state = 747, .external_lex_state = 31},
  [7894] = {.lex_state = 747, .external_lex_state = 31},
  [7895] = {.lex_state = 747, .external_lex_state = 79},
  [7896] = {.lex_state = 747, .external_lex_state = 79},
  [7897] = {.lex_state = 747, .external_lex_state = 79},
  [7898] = {.lex_state = 747, .external_lex_state = 31},
  [7899] = {.lex_state = 747, .external_lex_state = 31},
  [7900] = {.lex_state = 747, .external_lex_state = 31},
  [7901] = {.lex_state = 747, .external_lex_state = 31},
  [7902] = {.lex_state = 747, .external_lex_state = 79},
  [7903] = {.lex_state = 747, .external_lex_state = 79},
  [7904] = {.lex_state = 747, .external_lex_state = 79},
  [7905] = {.lex_state = 747, .external_lex_state = 31},
  [7906] = {.lex_state = 747, .external_lex_state = 31},
  [7907] = {.lex_state = 747, .external_lex_state = 31},
  [7908] = {.lex_state = 747, .external_lex_state = 31},
  [7909] = {.lex_state = 747, .external_lex_state = 31},
  [7910] = {.lex_state = 747, .external_lex_state = 31},
  [7911] = {.lex_state = 747, .external_lex_state = 79},
  [7912] = {.lex_state = 747, .external_lex_state = 31},
  [7913] = {.lex_state = 747, .external_lex_state = 31},
  [7914] = {.lex_state = 747, .external_lex_state = 31},
  [7915] = {.lex_state = 747, .external_lex_state = 79},
  [7916] = {.lex_state = 747, .external_lex_state = 31},
  [7917] = {.lex_state = 747, .external_lex_state = 31},
  [7918] = {.lex_state = 747, .external_lex_state = 31},
  [7919] = {.lex_state = 747, .external_lex_state = 31},
  [7920] = {.lex_state = 747, .external_lex_state = 79},
  [7921] = {.lex_state = 747, .external_lex_state = 79},
  [7922] = {.lex_state = 747, .external_lex_state = 79},
  [7923] = {.lex_state = 747, .external_lex_state = 31},
  [7924] = {.lex_state = 747, .external_lex_state = 79},
  [7925] = {.lex_state = 747, .external_lex_state = 31},
  [7926] = {.lex_state = 747, .external_lex_state = 124},
  [7927] = {.lex_state = 747, .external_lex_state = 79},
  [7928] = {.lex_state = 747, .external_lex_state = 79},
  [7929] = {.lex_state = 747, .external_lex_state = 79},
  [7930] = {.lex_state = 747, .external_lex_state = 79},
  [7931] = {.lex_state = 747, .external_lex_state = 79},
  [7932] = {.lex_state = 747, .external_lex_state = 31},
  [7933] = {.lex_state = 747, .external_lex_state = 79},
  [7934] = {.lex_state = 747, .external_lex_state = 31},
  [7935] = {.lex_state = 747, .external_lex_state = 31},
  [7936] = {.lex_state = 747, .external_lex_state = 31},
  [7937] = {.lex_state = 747, .external_lex_state = 31},
  [7938] = {.lex_state = 747, .external_lex_state = 79},
  [7939] = {.lex_state = 77, .external_lex_state = 127},
  [7940] = {.lex_state = 747, .external_lex_state = 31},
  [7941] = {.lex_state = 747, .external_lex_state = 31},
  [7942] = {.lex_state = 747, .external_lex_state = 31},
  [7943] = {.lex_state = 747, .external_lex_state = 31},
  [7944] = {.lex_state = 747, .external_lex_state = 79},
  [7945] = {.lex_state = 747, .external_lex_state = 79},
  [7946] = {.lex_state = 747, .external_lex_state = 31},
  [7947] = {.lex_state = 747, .external_lex_state = 31},
  [7948] = {.lex_state = 747, .external_lex_state = 79},
  [7949] = {.lex_state = 747, .external_lex_state = 31},
  [7950] = {.lex_state = 747, .external_lex_state = 79},
  [7951] = {.lex_state = 747, .external_lex_state = 79},
  [7952] = {.lex_state = 747, .external_lex_state = 79},
  [7953] = {.lex_state = 747, .external_lex_state = 79},
  [7954] = {.lex_state = 747, .external_lex_state = 31},
  [7955] = {.lex_state = 747, .external_lex_state = 31},
  [7956] = {.lex_state = 747, .external_lex_state = 79},
  [7957] = {.lex_state = 747, .external_lex_state = 31},
  [7958] = {.lex_state = 747, .external_lex_state = 79},
  [7959] = {.lex_state = 747, .external_lex_state = 31},
  [7960] = {.lex_state = 747, .external_lex_state = 79},
  [7961] = {.lex_state = 747, .external_lex_state = 31},
  [7962] = {.lex_state = 747, .external_lex_state = 79},
  [7963] = {.lex_state = 747, .external_lex_state = 31},
  [7964] = {.lex_state = 747, .external_lex_state = 31},
  [7965] = {.lex_state = 747, .external_lex_state = 31},
  [7966] = {.lex_state = 747, .external_lex_state = 79},
  [7967] = {.lex_state = 747, .external_lex_state = 79},
  [7968] = {.lex_state = 747, .external_lex_state = 79},
  [7969] = {.lex_state = 747, .external_lex_state = 31},
  [7970] = {.lex_state = 747, .external_lex_state = 31},
  [7971] = {.lex_state = 747, .external_lex_state = 79},
  [7972] = {.lex_state = 747, .external_lex_state = 31},
  [7973] = {.lex_state = 747, .external_lex_state = 79},
  [7974] = {.lex_state = 747, .external_lex_state = 79},
  [7975] = {.lex_state = 747, .external_lex_state = 128},
  [7976] = {.lex_state = 747, .external_lex_state = 79},
  [7977] = {.lex_state = 747, .external_lex_state = 79},
  [7978] = {.lex_state = 747, .external_lex_state = 79},
  [7979] = {.lex_state = 747, .external_lex_state = 31},
  [7980] = {.lex_state = 747, .external_lex_state = 31},
  [7981] = {.lex_state = 747, .external_lex_state = 31},
  [7982] = {.lex_state = 747, .external_lex_state = 79},
  [7983] = {.lex_state = 747, .external_lex_state = 31},
  [7984] = {.lex_state = 747, .external_lex_state = 61},
  [7985] = {.lex_state = 747, .external_lex_state = 79},
  [7986] = {.lex_state = 747, .external_lex_state = 31},
  [7987] = {.lex_state = 747, .external_lex_state = 31},
  [7988] = {.lex_state = 747, .external_lex_state = 31},
  [7989] = {.lex_state = 747, .external_lex_state = 79},
  [7990] = {.lex_state = 747, .external_lex_state = 31},
  [7991] = {.lex_state = 747, .external_lex_state = 31},
  [7992] = {.lex_state = 747, .external_lex_state = 31},
  [7993] = {.lex_state = 747, .external_lex_state = 31},
  [7994] = {.lex_state = 747, .external_lex_state = 79},
  [7995] = {.lex_state = 747, .external_lex_state = 52},
  [7996] = {.lex_state = 747, .external_lex_state = 79},
  [7997] = {.lex_state = 747, .external_lex_state = 31},
  [7998] = {.lex_state = 747, .external_lex_state = 31},
  [7999] = {.lex_state = 747, .external_lex_state = 79},
  [8000] = {.lex_state = 747, .external_lex_state = 79},
  [8001] = {.lex_state = 747, .external_lex_state = 31},
  [8002] = {.lex_state = 747, .external_lex_state = 79},
  [8003] = {.lex_state = 747, .external_lex_state = 31},
  [8004] = {.lex_state = 747, .external_lex_state = 79},
  [8005] = {.lex_state = 747, .external_lex_state = 79},
  [8006] = {.lex_state = 747, .external_lex_state = 79},
  [8007] = {.lex_state = 747, .external_lex_state = 31},
  [8008] = {.lex_state = 747, .external_lex_state = 31},
  [8009] = {.lex_state = 747, .external_lex_state = 31},
  [8010] = {.lex_state = 747, .external_lex_state = 79},
  [8011] = {.lex_state = 747, .external_lex_state = 31},
  [8012] = {.lex_state = 747, .external_lex_state = 31},
  [8013] = {.lex_state = 747, .external_lex_state = 79},
  [8014] = {.lex_state = 747, .external_lex_state = 31},
  [8015] = {.lex_state = 747, .external_lex_state = 31},
  [8016] = {.lex_state = 747, .external_lex_state = 79},
  [8017] = {.lex_state = 747, .external_lex_state = 31},
  [8018] = {.lex_state = 747, .external_lex_state = 31},
  [8019] = {.lex_state = 747, .external_lex_state = 79},
  [8020] = {.lex_state = 747, .external_lex_state = 79},
  [8021] = {.lex_state = 747, .external_lex_state = 79},
  [8022] = {.lex_state = 747, .external_lex_state = 31},
  [8023] = {.lex_state = 747, .external_lex_state = 79},
  [8024] = {.lex_state = 747, .external_lex_state = 31},
  [8025] = {.lex_state = 747, .external_lex_state = 79},
  [8026] = {.lex_state = 747, .external_lex_state = 31},
  [8027] = {.lex_state = 747, .external_lex_state = 31},
  [8028] = {.lex_state = 747, .external_lex_state = 31},
  [8029] = {.lex_state = 747, .external_lex_state = 79},
  [8030] = {.lex_state = 747, .external_lex_state = 79},
  [8031] = {.lex_state = 747, .external_lex_state = 79},
  [8032] = {.lex_state = 747, .external_lex_state = 31},
  [8033] = {.lex_state = 747, .external_lex_state = 79},
  [8034] = {.lex_state = 747, .external_lex_state = 31},
  [8035] = {.lex_state = 747, .external_lex_state = 79},
  [8036] = {.lex_state = 747, .external_lex_state = 31},
  [8037] = {.lex_state = 747, .external_lex_state = 79},
  [8038] = {.lex_state = 747, .external_lex_state = 31},
  [8039] = {.lex_state = 747, .external_lex_state = 79},
  [8040] = {.lex_state = 747, .external_lex_state = 31},
  [8041] = {.lex_state = 747, .external_lex_state = 79},
  [8042] = {.lex_state = 747, .external_lex_state = 31},
  [8043] = {.lex_state = 747, .external_lex_state = 31},
  [8044] = {.lex_state = 747, .external_lex_state = 31},
  [8045] = {.lex_state = 747, .external_lex_state = 79},
  [8046] = {.lex_state = 747, .external_lex_state = 79},
  [8047] = {.lex_state = 747, .external_lex_state = 31},
  [8048] = {.lex_state = 747, .external_lex_state = 31},
  [8049] = {.lex_state = 747, .external_lex_state = 31},
  [8050] = {.lex_state = 747, .external_lex_state = 31},
  [8051] = {.lex_state = 747, .external_lex_state = 131},
  [8052] = {.lex_state = 747, .external_lex_state = 79},
  [8053] = {.lex_state = 747, .external_lex_state = 79},
  [8054] = {.lex_state = 747, .external_lex_state = 79},
  [8055] = {.lex_state = 747, .external_lex_state = 31},
  [8056] = {.lex_state = 747, .external_lex_state = 128},
  [8057] = {.lex_state = 747, .external_lex_state = 31},
  [8058] = {.lex_state = 747, .external_lex_state = 79},
  [8059] = {.lex_state = 747, .external_lex_state = 52},
  [8060] = {.lex_state = 747, .external_lex_state = 31},
  [8061] = {.lex_state = 747, .external_lex_state = 31},
  [8062] = {.lex_state = 747, .external_lex_state = 31},
  [8063] = {.lex_state = 747, .external_lex_state = 31},
  [8064] = {.lex_state = 76, .external_lex_state = 115},
  [8065] = {.lex_state = 747, .external_lex_state = 31},
  [8066] = {.lex_state = 747, .external_lex_state = 79},
  [8067] = {.lex_state = 747, .external_lex_state = 79},
  [8068] = {.lex_state = 77, .external_lex_state = 127},
  [8069] = {.lex_state = 747, .external_lex_state = 31},
  [8070] = {.lex_state = 77, .external_lex_state = 127},
  [8071] = {.lex_state = 747, .external_lex_state = 79},
  [8072] = {.lex_state = 747, .external_lex_state = 31},
  [8073] = {.lex_state = 747, .external_lex_state = 31},
  [8074] = {.lex_state = 747, .external_lex_state = 79},
  [8075] = {.lex_state = 747, .external_lex_state = 31},
  [8076] = {.lex_state = 747, .external_lex_state = 79},
  [8077] = {.lex_state = 747, .external_lex_state = 124},
  [8078] = {.lex_state = 747, .external_lex_state = 31},
  [8079] = {.lex_state = 747, .external_lex_state = 31},
  [8080] = {.lex_state = 747, .external_lex_state = 31},
  [8081] = {.lex_state = 747, .external_lex_state = 79},
  [8082] = {.lex_state = 747, .external_lex_state = 31},
  [8083] = {.lex_state = 747, .external_lex_state = 61},
  [8084] = {.lex_state = 747, .external_lex_state = 31},
  [8085] = {.lex_state = 76, .external_lex_state = 115},
  [8086] = {.lex_state = 747, .external_lex_state = 79},
  [8087] = {.lex_state = 76, .external_lex_state = 115},
  [8088] = {.lex_state = 747, .external_lex_state = 79},
  [8089] = {.lex_state = 747, .external_lex_state = 79},
  [8090] = {.lex_state = 747, .external_lex_state = 79},
  [8091] = {.lex_state = 747, .external_lex_state = 79},
  [8092] = {.lex_state = 747, .external_lex_state = 31},
  [8093] = {.lex_state = 747, .external_lex_state = 124},
  [8094] = {.lex_state = 747, .external_lex_state = 79},
  [8095] = {.lex_state = 747, .external_lex_state = 31},
  [8096] = {.lex_state = 747, .external_lex_state = 31},
  [8097] = {.lex_state = 747, .external_lex_state = 31},
  [8098] = {.lex_state = 747, .external_lex_state = 131},
  [8099] = {.lex_state = 747, .external_lex_state = 31},
  [8100] = {.lex_state = 747, .external_lex_state = 79},
  [8101] = {.lex_state = 747, .external_lex_state = 31},
  [8102] = {.lex_state = 747, .external_lex_state = 79},
  [8103] = {.lex_state = 747, .external_lex_state = 31},
  [8104] = {.lex_state = 747, .external_lex_state = 79},
  [8105] = {.lex_state = 747, .external_lex_state = 32},
  [8106] = {.lex_state = 747, .external_lex_state = 31},
  [8107] = {.lex_state = 747, .external_lex_state = 31},
  [8108] = {.lex_state = 747, .external_lex_state = 61},
  [8109] = {.lex_state = 747, .external_lex_state = 79},
  [8110] = {.lex_state = 747, .external_lex_state = 79},
  [8111] = {.lex_state = 747, .external_lex_state = 79},
  [8112] = {.lex_state = 747, .external_lex_state = 31},
  [8113] = {.lex_state = 747, .external_lex_state = 79},
  [8114] = {.lex_state = 747, .external_lex_state = 79},
  [8115] = {.lex_state = 747, .external_lex_state = 31},
  [8116] = {.lex_state = 747, .external_lex_state = 79},
  [8117] = {.lex_state = 747, .external_lex_state = 61},
  [8118] = {.lex_state = 747, .external_lex_state = 31},
  [8119] = {.lex_state = 747, .external_lex_state = 52},
  [8120] = {.lex_state = 747, .external_lex_state = 79},
  [8121] = {.lex_state = 747, .external_lex_state = 31},
  [8122] = {.lex_state = 747, .external_lex_state = 52},
  [8123] = {.lex_state = 747, .external_lex_state = 31},
  [8124] = {.lex_state = 747, .external_lex_state = 31},
  [8125] = {.lex_state = 747, .external_lex_state = 31},
  [8126] = {.lex_state = 747, .external_lex_state = 31},
  [8127] = {.lex_state = 747, .external_lex_state = 128},
  [8128] = {.lex_state = 747, .external_lex_state = 79},
  [8129] = {.lex_state = 747, .external_lex_state = 79},
  [8130] = {.lex_state = 747, .external_lex_state = 31},
  [8131] = {.lex_state = 747, .external_lex_state = 31},
  [8132] = {.lex_state = 747, .external_lex_state = 79},
  [8133] = {.lex_state = 747, .external_lex_state = 31},
  [8134] = {.lex_state = 747, .external_lex_state = 79},
  [8135] = {.lex_state = 747, .external_lex_state = 31},
  [8136] = {.lex_state = 747, .external_lex_state = 31},
  [8137] = {.lex_state = 747, .external_lex_state = 31},
  [8138] = {.lex_state = 747, .external_lex_state = 31},
  [8139] = {.lex_state = 747, .external_lex_state = 79},
  [8140] = {.lex_state = 747, .external_lex_state = 31},
  [8141] = {.lex_state = 747, .external_lex_state = 31},
  [8142] = {.lex_state = 747, .external_lex_state = 31},
  [8143] = {.lex_state = 747, .external_lex_state = 31},
  [8144] = {.lex_state = 747, .external_lex_state = 79},
  [8145] = {.lex_state = 747, .external_lex_state = 79},
  [8146] = {.lex_state = 747, .external_lex_state = 61},
  [8147] = {.lex_state = 747, .external_lex_state = 31},
  [8148] = {.lex_state = 747, .external_lex_state = 31},
  [8149] = {.lex_state = 747, .external_lex_state = 31},
  [8150] = {.lex_state = 747, .external_lex_state = 31},
  [8151] = {.lex_state = 747, .external_lex_state = 79},
  [8152] = {.lex_state = 747, .external_lex_state = 31},
  [8153] = {.lex_state = 747, .external_lex_state = 31},
  [8154] = {.lex_state = 747, .external_lex_state = 61},
  [8155] = {.lex_state = 747, .external_lex_state = 79},
  [8156] = {.lex_state = 747, .external_lex_state = 79},
  [8157] = {.lex_state = 747, .external_lex_state = 79},
  [8158] = {.lex_state = 747, .external_lex_state = 61},
  [8159] = {.lex_state = 747, .external_lex_state = 31},
  [8160] = {.lex_state = 747, .external_lex_state = 61},
  [8161] = {.lex_state = 747, .external_lex_state = 79},
  [8162] = {.lex_state = 747, .external_lex_state = 79},
  [8163] = {.lex_state = 747, .external_lex_state = 31},
  [8164] = {.lex_state = 747, .external_lex_state = 31},
  [8165] = {.lex_state = 747, .external_lex_state = 79},
  [8166] = {.lex_state = 747, .external_lex_state = 31},
  [8167] = {.lex_state = 747, .external_lex_state = 31},
  [8168] = {.lex_state = 747, .external_lex_state = 79},
  [8169] = {.lex_state = 747, .external_lex_state = 31},
  [8170] = {.lex_state = 747, .external_lex_state = 31},
  [8171] = {.lex_state = 747, .external_lex_state = 31},
  [8172] = {.lex_state = 747, .external_lex_state = 31},
  [8173] = {.lex_state = 747, .external_lex_state = 79},
  [8174] = {.lex_state = 747, .external_lex_state = 79},
  [8175] = {.lex_state = 747, .external_lex_state = 31},
  [8176] = {.lex_state = 747, .external_lex_state = 31},
  [8177] = {.lex_state = 747, .external_lex_state = 79},
  [8178] = {.lex_state = 76, .external_lex_state = 129},
  [8179] = {.lex_state = 747, .external_lex_state = 79},
  [8180] = {.lex_state = 747, .external_lex_state = 31},
  [8181] = {.lex_state = 747, .external_lex_state = 31},
  [8182] = {.lex_state = 747, .external_lex_state = 79},
  [8183] = {.lex_state = 747, .external_lex_state = 131},
  [8184] = {.lex_state = 747, .external_lex_state = 31},
  [8185] = {.lex_state = 747, .external_lex_state = 31},
  [8186] = {.lex_state = 747, .external_lex_state = 31},
  [8187] = {.lex_state = 747, .external_lex_state = 79},
  [8188] = {.lex_state = 747, .external_lex_state = 79},
  [8189] = {.lex_state = 747, .external_lex_state = 31},
  [8190] = {.lex_state = 747, .external_lex_state = 79},
  [8191] = {.lex_state = 747, .external_lex_state = 79},
  [8192] = {.lex_state = 747, .external_lex_state = 79},
  [8193] = {.lex_state = 747, .external_lex_state = 31},
  [8194] = {.lex_state = 747, .external_lex_state = 31},
  [8195] = {.lex_state = 747, .external_lex_state = 31},
  [8196] = {.lex_state = 747, .external_lex_state = 79},
  [8197] = {.lex_state = 747, .external_lex_state = 31},
  [8198] = {.lex_state = 747, .external_lex_state = 31},
  [8199] = {.lex_state = 747, .external_lex_state = 31},
  [8200] = {.lex_state = 747, .external_lex_state = 31},
  [8201] = {.lex_state = 747, .external_lex_state = 31},
  [8202] = {.lex_state = 747, .external_lex_state = 31},
  [8203] = {.lex_state = 747, .external_lex_state = 31},
  [8204] = {.lex_state = 747, .external_lex_state = 31},
  [8205] = {.lex_state = 747, .external_lex_state = 31},
  [8206] = {.lex_state = 747, .external_lex_state = 31},
  [8207] = {.lex_state = 747, .external_lex_state = 79},
  [8208] = {.lex_state = 747, .external_lex_state = 31},
  [8209] = {.lex_state = 747, .external_lex_state = 31},
  [8210] = {.lex_state = 747, .external_lex_state = 31},
  [8211] = {.lex_state = 747, .external_lex_state = 31},
  [8212] = {.lex_state = 747, .external_lex_state = 31},
  [8213] = {.lex_state = 747, .external_lex_state = 79},
  [8214] = {.lex_state = 747, .external_lex_state = 79},
  [8215] = {.lex_state = 77, .external_lex_state = 127},
  [8216] = {.lex_state = 747, .external_lex_state = 31},
  [8217] = {.lex_state = 747, .external_lex_state = 31},
  [8218] = {.lex_state = 747, .external_lex_state = 31},
  [8219] = {.lex_state = 747, .external_lex_state = 31},
  [8220] = {.lex_state = 747, .external_lex_state = 79},
  [8221] = {.lex_state = 747, .external_lex_state = 79},
  [8222] = {.lex_state = 747, .external_lex_state = 31},
  [8223] = {.lex_state = 747, .external_lex_state = 31},
  [8224] = {.lex_state = 747, .external_lex_state = 31},
  [8225] = {.lex_state = 747, .external_lex_state = 79},
  [8226] = {.lex_state = 747, .external_lex_state = 31},
  [8227] = {.lex_state = 747, .external_lex_state = 31},
  [8228] = {.lex_state = 747, .external_lex_state = 79},
  [8229] = {.lex_state = 747, .external_lex_state = 79},
  [8230] = {.lex_state = 747, .external_lex_state = 79},
  [8231] = {.lex_state = 747, .external_lex_state = 31},
  [8232] = {.lex_state = 747, .external_lex_state = 79},
  [8233] = {.lex_state = 747, .external_lex_state = 79},
  [8234] = {.lex_state = 747, .external_lex_state = 31},
  [8235] = {.lex_state = 76, .external_lex_state = 129},
  [8236] = {.lex_state = 747, .external_lex_state = 31},
  [8237] = {.lex_state = 747, .external_lex_state = 31},
  [8238] = {.lex_state = 747, .external_lex_state = 31},
  [8239] = {.lex_state = 747, .external_lex_state = 124},
  [8240] = {.lex_state = 747, .external_lex_state = 31},
  [8241] = {.lex_state = 747, .external_lex_state = 31},
  [8242] = {.lex_state = 747, .external_lex_state = 79},
  [8243] = {.lex_state = 747, .external_lex_state = 31},
  [8244] = {.lex_state = 747, .external_lex_state = 31},
  [8245] = {.lex_state = 77, .external_lex_state = 31},
  [8246] = {.lex_state = 747, .external_lex_state = 31},
  [8247] = {.lex_state = 747, .external_lex_state = 31},
  [8248] = {.lex_state = 77, .external_lex_state = 31},
  [8249] = {.lex_state = 747, .external_lex_state = 31},
  [8250] = {.lex_state = 747, .external_lex_state = 31},
  [8251] = {.lex_state = 77, .external_lex_state = 31},
  [8252] = {.lex_state = 747, .external_lex_state = 31},
  [8253] = {.lex_state = 747, .external_lex_state = 31},
  [8254] = {.lex_state = 747, .external_lex_state = 31},
  [8255] = {.lex_state = 747, .external_lex_state = 31},
  [8256] = {.lex_state = 747, .external_lex_state = 31},
  [8257] = {.lex_state = 747, .external_lex_state = 31},
  [8258] = {.lex_state = 747, .external_lex_state = 31},
  [8259] = {.lex_state = 747, .external_lex_state = 31},
  [8260] = {.lex_state = 747, .external_lex_state = 31},
  [8261] = {.lex_state = 747, .external_lex_state = 31},
  [8262] = {.lex_state = 747, .external_lex_state = 31},
  [8263] = {.lex_state = 747, .external_lex_state = 31},
  [8264] = {.lex_state = 747, .external_lex_state = 31},
  [8265] = {.lex_state = 747, .external_lex_state = 31},
  [8266] = {.lex_state = 747, .external_lex_state = 31},
  [8267] = {.lex_state = 747, .external_lex_state = 31},
  [8268] = {.lex_state = 747, .external_lex_state = 31},
  [8269] = {.lex_state = 747, .external_lex_state = 31},
  [8270] = {.lex_state = 747, .external_lex_state = 31},
  [8271] = {.lex_state = 747, .external_lex_state = 31},
  [8272] = {.lex_state = 747, .external_lex_state = 31},
  [8273] = {.lex_state = 747, .external_lex_state = 31},
  [8274] = {.lex_state = 747, .external_lex_state = 31},
  [8275] = {.lex_state = 747, .external_lex_state = 31},
  [8276] = {.lex_state = 747, .external_lex_state = 31},
  [8277] = {.lex_state = 747, .external_lex_state = 31},
  [8278] = {.lex_state = 747, .external_lex_state = 31},
  [8279] = {.lex_state = 747, .external_lex_state = 31},
  [8280] = {.lex_state = 747, .external_lex_state = 31},
  [8281] = {.lex_state = 747, .external_lex_state = 31},
  [8282] = {.lex_state = 747, .external_lex_state = 31},
  [8283] = {.lex_state = 747, .external_lex_state = 31},
  [8284] = {.lex_state = 747, .external_lex_state = 31},
  [8285] = {.lex_state = 747, .external_lex_state = 31},
  [8286] = {.lex_state = 747, .external_lex_state = 31},
  [8287] = {.lex_state = 747, .external_lex_state = 31},
  [8288] = {.lex_state = 747, .external_lex_state = 31},
  [8289] = {.lex_state = 747, .external_lex_state = 31},
  [8290] = {.lex_state = 747, .external_lex_state = 31},
  [8291] = {.lex_state = 747, .external_lex_state = 31},
  [8292] = {.lex_state = 747, .external_lex_state = 31},
  [8293] = {.lex_state = 747, .external_lex_state = 31},
  [8294] = {.lex_state = 747, .external_lex_state = 31},
  [8295] = {.lex_state = 747, .external_lex_state = 31},
  [8296] = {.lex_state = 747, .external_lex_state = 31},
  [8297] = {.lex_state = 747, .external_lex_state = 31},
  [8298] = {.lex_state = 747, .external_lex_state = 31},
  [8299] = {.lex_state = 747, .external_lex_state = 129},
  [8300] = {.lex_state = 747, .external_lex_state = 131},
  [8301] = {.lex_state = 747, .external_lex_state = 31},
  [8302] = {.lex_state = 747, .external_lex_state = 31},
  [8303] = {.lex_state = 77, .external_lex_state = 31},
  [8304] = {.lex_state = 747, .external_lex_state = 31},
  [8305] = {.lex_state = 747, .external_lex_state = 31},
  [8306] = {.lex_state = 747, .external_lex_state = 31},
  [8307] = {.lex_state = 747, .external_lex_state = 52},
  [8308] = {.lex_state = 747, .external_lex_state = 129},
  [8309] = {.lex_state = 747, .external_lex_state = 31},
  [8310] = {.lex_state = 747, .external_lex_state = 31},
  [8311] = {.lex_state = 77, .external_lex_state = 31},
  [8312] = {.lex_state = 747, .external_lex_state = 31},
  [8313] = {.lex_state = 747, .external_lex_state = 31},
  [8314] = {.lex_state = 747, .external_lex_state = 31},
  [8315] = {.lex_state = 747, .external_lex_state = 31},
  [8316] = {.lex_state = 747, .external_lex_state = 31},
  [8317] = {.lex_state = 747, .external_lex_state = 31},
  [8318] = {.lex_state = 747, .external_lex_state = 31},
  [8319] = {.lex_state = 747, .external_lex_state = 31},
  [8320] = {.lex_state = 747, .external_lex_state = 31},
  [8321] = {.lex_state = 747, .external_lex_state = 131},
  [8322] = {.lex_state = 747, .external_lex_state = 31},
  [8323] = {.lex_state = 747, .external_lex_state = 31},
  [8324] = {.lex_state = 77, .external_lex_state = 31},
  [8325] = {.lex_state = 77, .external_lex_state = 31},
  [8326] = {.lex_state = 747, .external_lex_state = 52},
  [8327] = {.lex_state = 747, .external_lex_state = 31},
  [8328] = {.lex_state = 747, .external_lex_state = 31},
  [8329] = {.lex_state = 747, .external_lex_state = 31},
  [8330] = {.lex_state = 747, .external_lex_state = 31},
  [8331] = {.lex_state = 747, .external_lex_state = 31},
  [8332] = {.lex_state = 747, .external_lex_state = 31},
  [8333] = {.lex_state = 76, .external_lex_state = 129},
  [8334] = {.lex_state = 747, .external_lex_state = 115},
  [8335] = {.lex_state = 747, .external_lex_state = 61},
  [8336] = {.lex_state = 747, .external_lex_state = 31},
  [8337] = {.lex_state = 747, .external_lex_state = 31},
  [8338] = {.lex_state = 747, .external_lex_state = 31},
  [8339] = {.lex_state = 77, .external_lex_state = 31},
  [8340] = {.lex_state = 77, .external_lex_state = 31},
  [8341] = {.lex_state = 747, .external_lex_state = 31},
  [8342] = {.lex_state = 747, .external_lex_state = 31},
  [8343] = {.lex_state = 747, .external_lex_state = 31},
  [8344] = {.lex_state = 747, .external_lex_state = 31},
  [8345] = {.lex_state = 747, .external_lex_state = 31},
  [8346] = {.lex_state = 747, .external_lex_state = 31},
  [8347] = {.lex_state = 747, .external_lex_state = 129},
  [8348] = {.lex_state = 747, .external_lex_state = 31},
  [8349] = {.lex_state = 747, .external_lex_state = 31},
  [8350] = {.lex_state = 77, .external_lex_state = 31},
  [8351] = {.lex_state = 747, .external_lex_state = 31},
  [8352] = {.lex_state = 747, .external_lex_state = 52},
  [8353] = {.lex_state = 747, .external_lex_state = 31},
  [8354] = {.lex_state = 747, .external_lex_state = 31},
  [8355] = {.lex_state = 747, .external_lex_state = 32},
  [8356] = {.lex_state = 747, .external_lex_state = 31},
  [8357] = {.lex_state = 747, .external_lex_state = 31},
  [8358] = {.lex_state = 747, .external_lex_state = 31},
  [8359] = {.lex_state = 747, .external_lex_state = 31},
  [8360] = {.lex_state = 747, .external_lex_state = 31},
  [8361] = {.lex_state = 747, .external_lex_state = 31},
  [8362] = {.lex_state = 747, .external_lex_state = 129},
  [8363] = {.lex_state = 747, .external_lex_state = 129},
  [8364] = {.lex_state = 747, .external_lex_state = 31},
  [8365] = {.lex_state = 747, .external_lex_state = 31},
  [8366] = {.lex_state = 747, .external_lex_state = 32},
  [8367] = {.lex_state = 747, .external_lex_state = 129},
  [8368] = {.lex_state = 747, .external_lex_state = 31},
  [8369] = {.lex_state = 747, .external_lex_state = 31},
  [8370] = {.lex_state = 747, .external_lex_state = 31},
  [8371] = {.lex_state = 747, .external_lex_state = 31},
  [8372] = {.lex_state = 747, .external_lex_state = 129},
  [8373] = {.lex_state = 747, .external_lex_state = 129},
  [8374] = {.lex_state = 747, .external_lex_state = 31},
  [8375] = {.lex_state = 747, .external_lex_state = 31},
  [8376] = {.lex_state = 747, .external_lex_state = 31},
  [8377] = {.lex_state = 747, .external_lex_state = 31},
  [8378] = {.lex_state = 747, .external_lex_state = 61},
  [8379] = {.lex_state = 77, .external_lex_state = 31},
  [8380] = {.lex_state = 747, .external_lex_state = 31},
  [8381] = {.lex_state = 747, .external_lex_state = 129},
  [8382] = {.lex_state = 747, .external_lex_state = 129},
  [8383] = {.lex_state = 747, .external_lex_state = 31},
  [8384] = {.lex_state = 747, .external_lex_state = 31},
  [8385] = {.lex_state = 747, .external_lex_state = 31},
  [8386] = {.lex_state = 747, .external_lex_state = 31},
  [8387] = {.lex_state = 77, .external_lex_state = 31},
  [8388] = {.lex_state = 747, .external_lex_state = 31},
  [8389] = {.lex_state = 747, .external_lex_state = 31},
  [8390] = {.lex_state = 747, .external_lex_state = 31},
  [8391] = {.lex_state = 747, .external_lex_state = 31},
  [8392] = {.lex_state = 747, .external_lex_state = 31},
  [8393] = {.lex_state = 747, .external_lex_state = 128},
  [8394] = {.lex_state = 747, .external_lex_state = 31},
  [8395] = {.lex_state = 747, .external_lex_state = 31},
  [8396] = {.lex_state = 747, .external_lex_state = 31},
  [8397] = {.lex_state = 77, .external_lex_state = 31},
  [8398] = {.lex_state = 747, .external_lex_state = 129},
  [8399] = {.lex_state = 747, .external_lex_state = 31},
  [8400] = {.lex_state = 747, .external_lex_state = 129},
  [8401] = {.lex_state = 747, .external_lex_state = 31},
  [8402] = {.lex_state = 747, .external_lex_state = 31},
  [8403] = {.lex_state = 747, .external_lex_state = 31},
  [8404] = {.lex_state = 747, .external_lex_state = 31},
  [8405] = {.lex_state = 77, .external_lex_state = 31},
  [8406] = {.lex_state = 747, .external_lex_state = 129},
  [8407] = {.lex_state = 747, .external_lex_state = 31},
  [8408] = {.lex_state = 747, .external_lex_state = 31},
  [8409] = {.lex_state = 747, .external_lex_state = 31},
  [8410] = {.lex_state = 747, .external_lex_state = 129},
  [8411] = {.lex_state = 747, .external_lex_state = 31},
  [8412] = {.lex_state = 747, .external_lex_state = 31},
  [8413] = {.lex_state = 77, .external_lex_state = 31},
  [8414] = {.lex_state = 747, .external_lex_state = 129},
  [8415] = {.lex_state = 747, .external_lex_state = 129},
  [8416] = {.lex_state = 747, .external_lex_state = 31},
  [8417] = {.lex_state = 747, .external_lex_state = 31},
  [8418] = {.lex_state = 747, .external_lex_state = 31},
  [8419] = {.lex_state = 747, .external_lex_state = 31},
  [8420] = {.lex_state = 747, .external_lex_state = 131},
  [8421] = {.lex_state = 747, .external_lex_state = 115},
  [8422] = {.lex_state = 747, .external_lex_state = 31},
  [8423] = {.lex_state = 747, .external_lex_state = 31},
  [8424] = {.lex_state = 747, .external_lex_state = 31},
  [8425] = {.lex_state = 747, .external_lex_state = 31},
  [8426] = {.lex_state = 77, .external_lex_state = 31},
  [8427] = {.lex_state = 77, .external_lex_state = 57},
  [8428] = {.lex_state = 747, .external_lex_state = 129},
  [8429] = {.lex_state = 747, .external_lex_state = 129},
  [8430] = {.lex_state = 747, .external_lex_state = 31},
  [8431] = {.lex_state = 747, .external_lex_state = 31},
  [8432] = {.lex_state = 747, .external_lex_state = 31},
  [8433] = {.lex_state = 747, .external_lex_state = 31},
  [8434] = {.lex_state = 77, .external_lex_state = 31},
  [8435] = {.lex_state = 747, .external_lex_state = 131},
  [8436] = {.lex_state = 747, .external_lex_state = 31},
  [8437] = {.lex_state = 747, .external_lex_state = 31},
  [8438] = {.lex_state = 747, .external_lex_state = 31},
  [8439] = {.lex_state = 747, .external_lex_state = 31},
  [8440] = {.lex_state = 747, .external_lex_state = 31},
  [8441] = {.lex_state = 747, .external_lex_state = 129},
  [8442] = {.lex_state = 747, .external_lex_state = 31},
  [8443] = {.lex_state = 747, .external_lex_state = 129},
  [8444] = {.lex_state = 747, .external_lex_state = 31},
  [8445] = {.lex_state = 77, .external_lex_state = 31},
  [8446] = {.lex_state = 747, .external_lex_state = 31},
  [8447] = {.lex_state = 747, .external_lex_state = 31},
  [8448] = {.lex_state = 747, .external_lex_state = 31},
  [8449] = {.lex_state = 747, .external_lex_state = 31},
  [8450] = {.lex_state = 77, .external_lex_state = 31},
  [8451] = {.lex_state = 747, .external_lex_state = 31},
  [8452] = {.lex_state = 77, .external_lex_state = 31},
  [8453] = {.lex_state = 747, .external_lex_state = 129},
  [8454] = {.lex_state = 747, .external_lex_state = 31},
  [8455] = {.lex_state = 747, .external_lex_state = 31},
  [8456] = {.lex_state = 747, .external_lex_state = 31},
  [8457] = {.lex_state = 77, .external_lex_state = 31},
  [8458] = {.lex_state = 747, .external_lex_state = 129},
  [8459] = {.lex_state = 747, .external_lex_state = 31},
  [8460] = {.lex_state = 77, .external_lex_state = 31},
  [8461] = {.lex_state = 747, .external_lex_state = 31},
  [8462] = {.lex_state = 747, .external_lex_state = 31},
  [8463] = {.lex_state = 747, .external_lex_state = 31},
  [8464] = {.lex_state = 747, .external_lex_state = 31},
  [8465] = {.lex_state = 747, .external_lex_state = 31},
  [8466] = {.lex_state = 747, .external_lex_state = 31},
  [8467] = {.lex_state = 747, .external_lex_state = 31},
  [8468] = {.lex_state = 747, .external_lex_state = 52},
  [8469] = {.lex_state = 747, .external_lex_state = 31},
  [8470] = {.lex_state = 747, .external_lex_state = 129},
  [8471] = {.lex_state = 747, .external_lex_state = 129},
  [8472] = {.lex_state = 747, .external_lex_state = 31},
  [8473] = {.lex_state = 77, .external_lex_state = 31},
  [8474] = {.lex_state = 747, .external_lex_state = 31},
  [8475] = {.lex_state = 747, .external_lex_state = 115},
  [8476] = {.lex_state = 747, .external_lex_state = 31},
  [8477] = {.lex_state = 747, .external_lex_state = 31},
  [8478] = {.lex_state = 747, .external_lex_state = 129},
  [8479] = {.lex_state = 747, .external_lex_state = 129},
  [8480] = {.lex_state = 747, .external_lex_state = 31},
  [8481] = {.lex_state = 747, .external_lex_state = 31},
  [8482] = {.lex_state = 747, .external_lex_state = 31},
  [8483] = {.lex_state = 747, .external_lex_state = 129},
  [8484] = {.lex_state = 747, .external_lex_state = 52},
  [8485] = {.lex_state = 747, .external_lex_state = 32},
  [8486] = {.lex_state = 747, .external_lex_state = 31},
  [8487] = {.lex_state = 747, .external_lex_state = 129},
  [8488] = {.lex_state = 747, .external_lex_state = 129},
  [8489] = {.lex_state = 77, .external_lex_state = 31},
  [8490] = {.lex_state = 747, .external_lex_state = 129},
  [8491] = {.lex_state = 77, .external_lex_state = 31},
  [8492] = {.lex_state = 747, .external_lex_state = 129},
  [8493] = {.lex_state = 747, .external_lex_state = 129},
  [8494] = {.lex_state = 747, .external_lex_state = 31},
  [8495] = {.lex_state = 747, .external_lex_state = 31},
  [8496] = {.lex_state = 747, .external_lex_state = 31},
  [8497] = {.lex_state = 747, .external_lex_state = 129},
  [8498] = {.lex_state = 77, .external_lex_state = 31},
  [8499] = {.lex_state = 747, .external_lex_state = 31},
  [8500] = {.lex_state = 747, .external_lex_state = 31},
  [8501] = {.lex_state = 747, .external_lex_state = 31},
  [8502] = {.lex_state = 747, .external_lex_state = 31},
  [8503] = {.lex_state = 747, .external_lex_state = 129},
  [8504] = {.lex_state = 747, .external_lex_state = 129},
  [8505] = {.lex_state = 747, .external_lex_state = 31},
  [8506] = {.lex_state = 747, .external_lex_state = 31},
  [8507] = {.lex_state = 747, .external_lex_state = 31},
  [8508] = {.lex_state = 747, .external_lex_state = 31},
  [8509] = {.lex_state = 747, .external_lex_state = 129},
  [8510] = {.lex_state = 747, .external_lex_state = 129},
  [8511] = {.lex_state = 747, .external_lex_state = 31},
  [8512] = {.lex_state = 747, .external_lex_state = 129},
  [8513] = {.lex_state = 747, .external_lex_state = 31},
  [8514] = {.lex_state = 747, .external_lex_state = 129},
  [8515] = {.lex_state = 77, .external_lex_state = 31},
  [8516] = {.lex_state = 747, .external_lex_state = 31},
  [8517] = {.lex_state = 747, .external_lex_state = 52},
  [8518] = {.lex_state = 77, .external_lex_state = 31},
  [8519] = {.lex_state = 747, .external_lex_state = 129},
  [8520] = {.lex_state = 747, .external_lex_state = 52},
  [8521] = {.lex_state = 747, .external_lex_state = 31},
  [8522] = {.lex_state = 747, .external_lex_state = 31},
  [8523] = {.lex_state = 747, .external_lex_state = 31},
  [8524] = {.lex_state = 747, .external_lex_state = 31},
  [8525] = {.lex_state = 747, .external_lex_state = 115},
  [8526] = {.lex_state = 747, .external_lex_state = 31},
  [8527] = {.lex_state = 747, .external_lex_state = 31},
  [8528] = {.lex_state = 747, .external_lex_state = 31},
  [8529] = {.lex_state = 747, .external_lex_state = 129},
  [8530] = {.lex_state = 747, .external_lex_state = 31},
  [8531] = {.lex_state = 747, .external_lex_state = 31},
  [8532] = {.lex_state = 747, .external_lex_state = 129},
  [8533] = {.lex_state = 747, .external_lex_state = 52},
  [8534] = {.lex_state = 747, .external_lex_state = 32},
  [8535] = {.lex_state = 747, .external_lex_state = 129},
  [8536] = {.lex_state = 747, .external_lex_state = 31},
  [8537] = {.lex_state = 77, .external_lex_state = 31},
  [8538] = {.lex_state = 77, .external_lex_state = 31},
  [8539] = {.lex_state = 747, .external_lex_state = 129},
  [8540] = {.lex_state = 747, .external_lex_state = 31},
  [8541] = {.lex_state = 747, .external_lex_state = 129},
  [8542] = {.lex_state = 747, .external_lex_state = 131},
  [8543] = {.lex_state = 747, .external_lex_state = 31},
  [8544] = {.lex_state = 747, .external_lex_state = 129},
  [8545] = {.lex_state = 747, .external_lex_state = 31},
  [8546] = {.lex_state = 747, .external_lex_state = 129},
  [8547] = {.lex_state = 747, .external_lex_state = 31},
  [8548] = {.lex_state = 77, .external_lex_state = 31},
  [8549] = {.lex_state = 747, .external_lex_state = 129},
  [8550] = {.lex_state = 747, .external_lex_state = 31},
  [8551] = {.lex_state = 747, .external_lex_state = 31},
  [8552] = {.lex_state = 747, .external_lex_state = 31},
  [8553] = {.lex_state = 747, .external_lex_state = 129},
  [8554] = {.lex_state = 747, .external_lex_state = 129},
  [8555] = {.lex_state = 747, .external_lex_state = 31},
  [8556] = {.lex_state = 747, .external_lex_state = 31},
  [8557] = {.lex_state = 747, .external_lex_state = 31},
  [8558] = {.lex_state = 77, .external_lex_state = 31},
  [8559] = {.lex_state = 77, .external_lex_state = 31},
  [8560] = {.lex_state = 747, .external_lex_state = 52},
  [8561] = {.lex_state = 747, .external_lex_state = 31},
  [8562] = {.lex_state = 747, .external_lex_state = 129},
  [8563] = {.lex_state = 747, .external_lex_state = 115},
  [8564] = {.lex_state = 747, .external_lex_state = 129},
  [8565] = {.lex_state = 747, .external_lex_state = 31},
  [8566] = {.lex_state = 747, .external_lex_state = 31},
  [8567] = {.lex_state = 747, .external_lex_state = 31},
  [8568] = {.lex_state = 747, .external_lex_state = 129},
  [8569] = {.lex_state = 747, .external_lex_state = 129},
  [8570] = {.lex_state = 747, .external_lex_state = 52},
  [8571] = {.lex_state = 747, .external_lex_state = 31},
  [8572] = {.lex_state = 747, .external_lex_state = 129},
  [8573] = {.lex_state = 747, .external_lex_state = 31},
  [8574] = {.lex_state = 747, .external_lex_state = 31},
  [8575] = {.lex_state = 747, .external_lex_state = 31},
  [8576] = {.lex_state = 747, .external_lex_state = 31},
  [8577] = {.lex_state = 747, .external_lex_state = 129},
  [8578] = {.lex_state = 747, .external_lex_state = 129},
  [8579] = {.lex_state = 747, .external_lex_state = 31},
  [8580] = {.lex_state = 747, .external_lex_state = 31},
  [8581] = {.lex_state = 747, .external_lex_state = 129},
  [8582] = {.lex_state = 747, .external_lex_state = 31},
  [8583] = {.lex_state = 747, .external_lex_state = 31},
  [8584] = {.lex_state = 747, .external_lex_state = 31},
  [8585] = {.lex_state = 747, .external_lex_state = 31},
  [8586] = {.lex_state = 747, .external_lex_state = 31},
  [8587] = {.lex_state = 747, .external_lex_state = 31},
  [8588] = {.lex_state = 747, .external_lex_state = 52},
  [8589] = {.lex_state = 747, .external_lex_state = 31},
  [8590] = {.lex_state = 747, .external_lex_state = 31},
  [8591] = {.lex_state = 747, .external_lex_state = 115},
  [8592] = {.lex_state = 747, .external_lex_state = 129},
  [8593] = {.lex_state = 747, .external_lex_state = 129},
  [8594] = {.lex_state = 747, .external_lex_state = 129},
  [8595] = {.lex_state = 77, .external_lex_state = 31},
  [8596] = {.lex_state = 747, .external_lex_state = 31},
  [8597] = {.lex_state = 747, .external_lex_state = 129},
  [8598] = {.lex_state = 747, .external_lex_state = 52},
  [8599] = {.lex_state = 747, .external_lex_state = 31},
  [8600] = {.lex_state = 747, .external_lex_state = 129},
  [8601] = {.lex_state = 747, .external_lex_state = 31},
  [8602] = {.lex_state = 747, .external_lex_state = 129},
  [8603] = {.lex_state = 747, .external_lex_state = 129},
  [8604] = {.lex_state = 747, .external_lex_state = 31},
  [8605] = {.lex_state = 747, .external_lex_state = 129},
  [8606] = {.lex_state = 747, .external_lex_state = 31},
  [8607] = {.lex_state = 747, .external_lex_state = 31},
  [8608] = {.lex_state = 747, .external_lex_state = 129},
  [8609] = {.lex_state = 747, .external_lex_state = 129},
  [8610] = {.lex_state = 747, .external_lex_state = 31},
  [8611] = {.lex_state = 747, .external_lex_state = 31},
  [8612] = {.lex_state = 747, .external_lex_state = 31},
  [8613] = {.lex_state = 747, .external_lex_state = 31},
  [8614] = {.lex_state = 747, .external_lex_state = 31},
  [8615] = {.lex_state = 747, .external_lex_state = 31},
  [8616] = {.lex_state = 747, .external_lex_state = 52},
  [8617] = {.lex_state = 747, .external_lex_state = 129},
  [8618] = {.lex_state = 747, .external_lex_state = 129},
  [8619] = {.lex_state = 747, .external_lex_state = 115},
  [8620] = {.lex_state = 77, .external_lex_state = 31},
  [8621] = {.lex_state = 747, .external_lex_state = 31},
  [8622] = {.lex_state = 747, .external_lex_state = 131},
  [8623] = {.lex_state = 747, .external_lex_state = 31},
  [8624] = {.lex_state = 747, .external_lex_state = 129},
  [8625] = {.lex_state = 747, .external_lex_state = 129},
  [8626] = {.lex_state = 747, .external_lex_state = 52},
  [8627] = {.lex_state = 747, .external_lex_state = 31},
  [8628] = {.lex_state = 747, .external_lex_state = 129},
  [8629] = {.lex_state = 747, .external_lex_state = 31},
  [8630] = {.lex_state = 747, .external_lex_state = 31},
  [8631] = {.lex_state = 747, .external_lex_state = 31},
  [8632] = {.lex_state = 747, .external_lex_state = 31},
  [8633] = {.lex_state = 747, .external_lex_state = 129},
  [8634] = {.lex_state = 747, .external_lex_state = 31},
  [8635] = {.lex_state = 747, .external_lex_state = 31},
  [8636] = {.lex_state = 747, .external_lex_state = 31},
  [8637] = {.lex_state = 747, .external_lex_state = 31},
  [8638] = {.lex_state = 77, .external_lex_state = 31},
  [8639] = {.lex_state = 747, .external_lex_state = 115},
  [8640] = {.lex_state = 747, .external_lex_state = 131},
  [8641] = {.lex_state = 747, .external_lex_state = 31},
  [8642] = {.lex_state = 747, .external_lex_state = 129},
  [8643] = {.lex_state = 747, .external_lex_state = 31},
  [8644] = {.lex_state = 747, .external_lex_state = 31},
  [8645] = {.lex_state = 747, .external_lex_state = 31},
  [8646] = {.lex_state = 747, .external_lex_state = 129},
  [8647] = {.lex_state = 747, .external_lex_state = 31},
  [8648] = {.lex_state = 747, .external_lex_state = 31},
  [8649] = {.lex_state = 747, .external_lex_state = 31},
  [8650] = {.lex_state = 747, .external_lex_state = 31},
  [8651] = {.lex_state = 747, .external_lex_state = 31},
  [8652] = {.lex_state = 747, .external_lex_state = 115},
  [8653] = {.lex_state = 747, .external_lex_state = 31},
  [8654] = {.lex_state = 747, .external_lex_state = 31},
  [8655] = {.lex_state = 747, .external_lex_state = 129},
  [8656] = {.lex_state = 747, .external_lex_state = 129},
  [8657] = {.lex_state = 77, .external_lex_state = 31},
  [8658] = {.lex_state = 116, .external_lex_state = 31},
  [8659] = {.lex_state = 747, .external_lex_state = 31},
  [8660] = {.lex_state = 747, .external_lex_state = 31},
  [8661] = {.lex_state = 77, .external_lex_state = 31},
  [8662] = {.lex_state = 747, .external_lex_state = 31},
  [8663] = {.lex_state = 747, .external_lex_state = 31},
  [8664] = {.lex_state = 747, .external_lex_state = 31},
  [8665] = {.lex_state = 747, .external_lex_state = 31},
  [8666] = {.lex_state = 747, .external_lex_state = 31},
  [8667] = {.lex_state = 747, .external_lex_state = 32},
  [8668] = {.lex_state = 747, .external_lex_state = 31},
  [8669] = {.lex_state = 747, .external_lex_state = 32},
  [8670] = {.lex_state = 747, .external_lex_state = 31},
  [8671] = {.lex_state = 747, .external_lex_state = 31},
  [8672] = {.lex_state = 747, .external_lex_state = 31},
  [8673] = {.lex_state = 747, .external_lex_state = 31},
  [8674] = {.lex_state = 2, .external_lex_state = 31},
  [8675] = {.lex_state = 76, .external_lex_state = 31},
  [8676] = {.lex_state = 747, .external_lex_state = 31},
  [8677] = {.lex_state = 747, .external_lex_state = 31},
  [8678] = {.lex_state = 747, .external_lex_state = 31},
  [8679] = {.lex_state = 747, .external_lex_state = 31},
  [8680] = {.lex_state = 747, .external_lex_state = 31},
  [8681] = {.lex_state = 747, .external_lex_state = 31},
  [8682] = {.lex_state = 747, .external_lex_state = 31},
  [8683] = {.lex_state = 747, .external_lex_state = 31},
  [8684] = {.lex_state = 747, .external_lex_state = 31},
  [8685] = {.lex_state = 747, .external_lex_state = 31},
  [8686] = {.lex_state = 747, .external_lex_state = 31},
  [8687] = {.lex_state = 747, .external_lex_state = 31},
  [8688] = {.lex_state = 747, .external_lex_state = 31},
  [8689] = {.lex_state = 747, .external_lex_state = 31},
  [8690] = {.lex_state = 747, .external_lex_state = 31},
  [8691] = {.lex_state = 747, .external_lex_state = 31},
  [8692] = {.lex_state = 747, .external_lex_state = 31},
  [8693] = {.lex_state = 2, .external_lex_state = 31},
  [8694] = {.lex_state = 747, .external_lex_state = 31},
  [8695] = {.lex_state = 747, .external_lex_state = 31},
  [8696] = {.lex_state = 747, .external_lex_state = 31},
  [8697] = {.lex_state = 747, .external_lex_state = 31},
  [8698] = {.lex_state = 747, .external_lex_state = 31},
  [8699] = {.lex_state = 747, .external_lex_state = 31},
  [8700] = {.lex_state = 747, .external_lex_state = 31},
  [8701] = {.lex_state = 747, .external_lex_state = 31},
  [8702] = {.lex_state = 747, .external_lex_state = 31},
  [8703] = {.lex_state = 747, .external_lex_state = 31},
  [8704] = {.lex_state = 747, .external_lex_state = 31},
  [8705] = {.lex_state = 747, .external_lex_state = 31},
  [8706] = {.lex_state = 747, .external_lex_state = 31},
  [8707] = {.lex_state = 747, .external_lex_state = 31},
  [8708] = {.lex_state = 747, .external_lex_state = 31},
  [8709] = {.lex_state = 747, .external_lex_state = 31},
  [8710] = {.lex_state = 747, .external_lex_state = 31},
  [8711] = {.lex_state = 747, .external_lex_state = 31},
  [8712] = {.lex_state = 747, .external_lex_state = 31},
  [8713] = {.lex_state = 747, .external_lex_state = 32},
  [8714] = {.lex_state = 747, .external_lex_state = 31},
  [8715] = {.lex_state = 747, .external_lex_state = 31},
  [8716] = {.lex_state = 747, .external_lex_state = 31},
  [8717] = {.lex_state = 747, .external_lex_state = 31},
  [8718] = {.lex_state = 747, .external_lex_state = 31},
  [8719] = {.lex_state = 747, .external_lex_state = 31},
  [8720] = {.lex_state = 747, .external_lex_state = 31},
  [8721] = {.lex_state = 747, .external_lex_state = 31},
  [8722] = {.lex_state = 747, .external_lex_state = 31},
  [8723] = {.lex_state = 747, .external_lex_state = 31},
  [8724] = {.lex_state = 747, .external_lex_state = 31},
  [8725] = {.lex_state = 747, .external_lex_state = 31},
  [8726] = {.lex_state = 747, .external_lex_state = 31},
  [8727] = {.lex_state = 747, .external_lex_state = 31},
  [8728] = {.lex_state = 747, .external_lex_state = 31},
  [8729] = {.lex_state = 747, .external_lex_state = 31},
  [8730] = {.lex_state = 76, .external_lex_state = 31},
  [8731] = {.lex_state = 747, .external_lex_state = 31},
  [8732] = {.lex_state = 747, .external_lex_state = 31},
  [8733] = {.lex_state = 747, .external_lex_state = 31},
  [8734] = {.lex_state = 105, .external_lex_state = 31},
  [8735] = {.lex_state = 747, .external_lex_state = 31},
  [8736] = {.lex_state = 747, .external_lex_state = 31},
  [8737] = {.lex_state = 747, .external_lex_state = 31},
  [8738] = {.lex_state = 747, .external_lex_state = 31},
  [8739] = {.lex_state = 747, .external_lex_state = 31},
  [8740] = {.lex_state = 747, .external_lex_state = 31},
  [8741] = {.lex_state = 76, .external_lex_state = 31},
  [8742] = {.lex_state = 747, .external_lex_state = 31},
  [8743] = {.lex_state = 747, .external_lex_state = 31},
  [8744] = {.lex_state = 747, .external_lex_state = 31},
  [8745] = {.lex_state = 747, .external_lex_state = 31},
  [8746] = {.lex_state = 76, .external_lex_state = 31},
  [8747] = {.lex_state = 747, .external_lex_state = 31},
  [8748] = {.lex_state = 747, .external_lex_state = 31},
  [8749] = {.lex_state = 747, .external_lex_state = 31},
  [8750] = {.lex_state = 747, .external_lex_state = 31},
  [8751] = {.lex_state = 747, .external_lex_state = 31},
  [8752] = {.lex_state = 747, .external_lex_state = 31},
  [8753] = {.lex_state = 747, .external_lex_state = 31},
  [8754] = {.lex_state = 747, .external_lex_state = 31},
  [8755] = {.lex_state = 747, .external_lex_state = 31},
  [8756] = {.lex_state = 747, .external_lex_state = 31},
  [8757] = {.lex_state = 747, .external_lex_state = 31},
  [8758] = {.lex_state = 747, .external_lex_state = 31},
  [8759] = {.lex_state = 747, .external_lex_state = 31},
  [8760] = {.lex_state = 747, .external_lex_state = 31},
  [8761] = {.lex_state = 747, .external_lex_state = 31},
  [8762] = {.lex_state = 747, .external_lex_state = 31},
  [8763] = {.lex_state = 747, .external_lex_state = 31},
  [8764] = {.lex_state = 747, .external_lex_state = 31},
  [8765] = {.lex_state = 747, .external_lex_state = 31},
  [8766] = {.lex_state = 747, .external_lex_state = 31},
  [8767] = {.lex_state = 747, .external_lex_state = 31},
  [8768] = {.lex_state = 747, .external_lex_state = 31},
  [8769] = {.lex_state = 747, .external_lex_state = 31},
  [8770] = {.lex_state = 747, .external_lex_state = 31},
  [8771] = {.lex_state = 747, .external_lex_state = 31},
  [8772] = {.lex_state = 747, .external_lex_state = 31},
  [8773] = {.lex_state = 747, .external_lex_state = 31},
  [8774] = {.lex_state = 747, .external_lex_state = 31},
  [8775] = {.lex_state = 2, .external_lex_state = 31},
  [8776] = {.lex_state = 747, .external_lex_state = 31},
  [8777] = {.lex_state = 747, .external_lex_state = 31},
  [8778] = {.lex_state = 747, .external_lex_state = 31},
  [8779] = {.lex_state = 747, .external_lex_state = 31},
  [8780] = {.lex_state = 747, .external_lex_state = 31},
  [8781] = {.lex_state = 747, .external_lex_state = 31},
  [8782] = {.lex_state = 2, .external_lex_state = 31},
  [8783] = {.lex_state = 747, .external_lex_state = 31},
  [8784] = {.lex_state = 747, .external_lex_state = 31},
  [8785] = {.lex_state = 747, .external_lex_state = 31},
  [8786] = {.lex_state = 747, .external_lex_state = 32},
  [8787] = {.lex_state = 747, .external_lex_state = 31},
  [8788] = {.lex_state = 747, .external_lex_state = 31},
  [8789] = {.lex_state = 747, .external_lex_state = 31},
  [8790] = {.lex_state = 747, .external_lex_state = 31},
  [8791] = {.lex_state = 747, .external_lex_state = 31},
  [8792] = {.lex_state = 747, .external_lex_state = 31},
  [8793] = {.lex_state = 747, .external_lex_state = 31},
  [8794] = {.lex_state = 747, .external_lex_state = 31},
  [8795] = {.lex_state = 747, .external_lex_state = 31},
  [8796] = {.lex_state = 747, .external_lex_state = 31},
  [8797] = {.lex_state = 747, .external_lex_state = 31},
  [8798] = {.lex_state = 747, .external_lex_state = 31},
  [8799] = {.lex_state = 747, .external_lex_state = 31},
  [8800] = {.lex_state = 747, .external_lex_state = 31},
  [8801] = {.lex_state = 747, .external_lex_state = 31},
  [8802] = {.lex_state = 747, .external_lex_state = 31},
  [8803] = {.lex_state = 747, .external_lex_state = 31},
  [8804] = {.lex_state = 747, .external_lex_state = 31},
  [8805] = {.lex_state = 747, .external_lex_state = 31},
  [8806] = {.lex_state = 747, .external_lex_state = 31},
  [8807] = {.lex_state = 747, .external_lex_state = 31},
  [8808] = {.lex_state = 747, .external_lex_state = 31},
  [8809] = {.lex_state = 747, .external_lex_state = 31},
  [8810] = {.lex_state = 747, .external_lex_state = 31},
  [8811] = {.lex_state = 2, .external_lex_state = 31},
  [8812] = {.lex_state = 747, .external_lex_state = 31},
  [8813] = {.lex_state = 747, .external_lex_state = 31},
  [8814] = {.lex_state = 747, .external_lex_state = 31},
  [8815] = {.lex_state = 747, .external_lex_state = 31},
  [8816] = {.lex_state = 747, .external_lex_state = 31},
  [8817] = {.lex_state = 747, .external_lex_state = 31},
  [8818] = {.lex_state = 747, .external_lex_state = 31},
  [8819] = {.lex_state = 747, .external_lex_state = 31},
  [8820] = {.lex_state = 747, .external_lex_state = 31},
  [8821] = {.lex_state = 747, .external_lex_state = 31},
  [8822] = {.lex_state = 747, .external_lex_state = 31},
  [8823] = {.lex_state = 747, .external_lex_state = 31},
  [8824] = {.lex_state = 76, .external_lex_state = 31},
  [8825] = {.lex_state = 747, .external_lex_state = 31},
  [8826] = {.lex_state = 747, .external_lex_state = 31},
  [8827] = {.lex_state = 747, .external_lex_state = 31},
  [8828] = {.lex_state = 747, .external_lex_state = 31},
  [8829] = {.lex_state = 755, .external_lex_state = 31},
  [8830] = {.lex_state = 747, .external_lex_state = 31},
  [8831] = {.lex_state = 747, .external_lex_state = 31},
  [8832] = {.lex_state = 2, .external_lex_state = 31},
  [8833] = {.lex_state = 747, .external_lex_state = 31},
  [8834] = {.lex_state = 747, .external_lex_state = 31},
  [8835] = {.lex_state = 747, .external_lex_state = 31},
  [8836] = {.lex_state = 747, .external_lex_state = 31},
  [8837] = {.lex_state = 747, .external_lex_state = 31},
  [8838] = {.lex_state = 747, .external_lex_state = 31},
  [8839] = {.lex_state = 747, .external_lex_state = 31},
  [8840] = {.lex_state = 77, .external_lex_state = 31},
  [8841] = {.lex_state = 747, .external_lex_state = 31},
  [8842] = {.lex_state = 77, .external_lex_state = 31},
  [8843] = {.lex_state = 747, .external_lex_state = 31},
  [8844] = {.lex_state = 747, .external_lex_state = 31},
  [8845] = {.lex_state = 747, .external_lex_state = 31},
  [8846] = {.lex_state = 747, .external_lex_state = 31},
  [8847] = {.lex_state = 747, .external_lex_state = 31},
  [8848] = {.lex_state = 747, .external_lex_state = 31},
  [8849] = {.lex_state = 747, .external_lex_state = 31},
  [8850] = {.lex_state = 747, .external_lex_state = 31},
  [8851] = {.lex_state = 747, .external_lex_state = 31},
  [8852] = {.lex_state = 747, .external_lex_state = 31},
  [8853] = {.lex_state = 747, .external_lex_state = 31},
  [8854] = {.lex_state = 747, .external_lex_state = 31},
  [8855] = {.lex_state = 747, .external_lex_state = 31},
  [8856] = {.lex_state = 747, .external_lex_state = 31},
  [8857] = {.lex_state = 747, .external_lex_state = 31},
  [8858] = {.lex_state = 747, .external_lex_state = 31},
  [8859] = {.lex_state = 747, .external_lex_state = 31},
  [8860] = {.lex_state = 747, .external_lex_state = 31},
  [8861] = {.lex_state = 105, .external_lex_state = 31},
  [8862] = {.lex_state = 747, .external_lex_state = 31},
  [8863] = {.lex_state = 747, .external_lex_state = 31},
  [8864] = {.lex_state = 747, .external_lex_state = 31},
  [8865] = {.lex_state = 747, .external_lex_state = 52},
  [8866] = {.lex_state = 2, .external_lex_state = 31},
  [8867] = {.lex_state = 747, .external_lex_state = 31},
  [8868] = {.lex_state = 747, .external_lex_state = 31},
  [8869] = {.lex_state = 747, .external_lex_state = 31},
  [8870] = {.lex_state = 747, .external_lex_state = 31},
  [8871] = {.lex_state = 747, .external_lex_state = 31},
  [8872] = {.lex_state = 747, .external_lex_state = 31},
  [8873] = {.lex_state = 76, .external_lex_state = 31},
  [8874] = {.lex_state = 747, .external_lex_state = 31},
  [8875] = {.lex_state = 747, .external_lex_state = 31},
  [8876] = {.lex_state = 76, .external_lex_state = 31},
  [8877] = {.lex_state = 747, .external_lex_state = 31},
  [8878] = {.lex_state = 2, .external_lex_state = 31},
  [8879] = {.lex_state = 747, .external_lex_state = 31},
  [8880] = {.lex_state = 747, .external_lex_state = 31},
  [8881] = {.lex_state = 747, .external_lex_state = 31},
  [8882] = {.lex_state = 747, .external_lex_state = 31},
  [8883] = {.lex_state = 747, .external_lex_state = 31},
  [8884] = {.lex_state = 747, .external_lex_state = 31},
  [8885] = {.lex_state = 747, .external_lex_state = 31},
  [8886] = {.lex_state = 747, .external_lex_state = 31},
  [8887] = {.lex_state = 747, .external_lex_state = 31},
  [8888] = {.lex_state = 76, .external_lex_state = 31},
  [8889] = {.lex_state = 77, .external_lex_state = 31},
  [8890] = {.lex_state = 747, .external_lex_state = 31},
  [8891] = {.lex_state = 747, .external_lex_state = 31},
  [8892] = {.lex_state = 76, .external_lex_state = 31},
  [8893] = {.lex_state = 747, .external_lex_state = 31},
  [8894] = {.lex_state = 747, .external_lex_state = 31},
  [8895] = {.lex_state = 747, .external_lex_state = 31},
  [8896] = {.lex_state = 747, .external_lex_state = 31},
  [8897] = {.lex_state = 747, .external_lex_state = 31},
  [8898] = {.lex_state = 77, .external_lex_state = 31},
  [8899] = {.lex_state = 747, .external_lex_state = 31},
  [8900] = {.lex_state = 747, .external_lex_state = 31},
  [8901] = {.lex_state = 747, .external_lex_state = 31},
  [8902] = {.lex_state = 747, .external_lex_state = 31},
  [8903] = {.lex_state = 747, .external_lex_state = 31},
  [8904] = {.lex_state = 747, .external_lex_state = 31},
  [8905] = {.lex_state = 747, .external_lex_state = 31},
  [8906] = {.lex_state = 747, .external_lex_state = 31},
  [8907] = {.lex_state = 747, .external_lex_state = 31},
  [8908] = {.lex_state = 747, .external_lex_state = 31},
  [8909] = {.lex_state = 747, .external_lex_state = 31},
  [8910] = {.lex_state = 76, .external_lex_state = 31},
  [8911] = {.lex_state = 747, .external_lex_state = 31},
  [8912] = {.lex_state = 76, .external_lex_state = 31},
  [8913] = {.lex_state = 747, .external_lex_state = 31},
  [8914] = {.lex_state = 76, .external_lex_state = 31},
  [8915] = {.lex_state = 747, .external_lex_state = 31},
  [8916] = {.lex_state = 747, .external_lex_state = 31},
  [8917] = {.lex_state = 76, .external_lex_state = 31},
  [8918] = {.lex_state = 747, .external_lex_state = 31},
  [8919] = {.lex_state = 747, .external_lex_state = 31},
  [8920] = {.lex_state = 747, .external_lex_state = 31},
  [8921] = {.lex_state = 747, .external_lex_state = 31},
  [8922] = {.lex_state = 747, .external_lex_state = 31},
  [8923] = {.lex_state = 747, .external_lex_state = 31},
  [8924] = {.lex_state = 747, .external_lex_state = 31},
  [8925] = {.lex_state = 747, .external_lex_state = 31},
  [8926] = {.lex_state = 77, .external_lex_state = 31},
  [8927] = {.lex_state = 747, .external_lex_state = 31},
  [8928] = {.lex_state = 747, .external_lex_state = 31},
  [8929] = {.lex_state = 747, .external_lex_state = 31},
  [8930] = {.lex_state = 76, .external_lex_state = 31},
  [8931] = {.lex_state = 747, .external_lex_state = 31},
  [8932] = {.lex_state = 747, .external_lex_state = 31},
  [8933] = {.lex_state = 747, .external_lex_state = 31},
  [8934] = {.lex_state = 747, .external_lex_state = 31},
  [8935] = {.lex_state = 2, .external_lex_state = 31},
  [8936] = {.lex_state = 747, .external_lex_state = 31},
  [8937] = {.lex_state = 747, .external_lex_state = 31},
  [8938] = {.lex_state = 747, .external_lex_state = 31},
  [8939] = {.lex_state = 747, .external_lex_state = 31},
  [8940] = {.lex_state = 747, .external_lex_state = 31},
  [8941] = {.lex_state = 747, .external_lex_state = 31},
  [8942] = {.lex_state = 747, .external_lex_state = 31},
  [8943] = {.lex_state = 747, .external_lex_state = 31},
  [8944] = {.lex_state = 747, .external_lex_state = 31},
  [8945] = {.lex_state = 747, .external_lex_state = 31},
  [8946] = {.lex_state = 76, .external_lex_state = 31},
  [8947] = {.lex_state = 747, .external_lex_state = 31},
  [8948] = {.lex_state = 77, .external_lex_state = 31},
  [8949] = {.lex_state = 747, .external_lex_state = 31},
  [8950] = {.lex_state = 747, .external_lex_state = 31},
  [8951] = {.lex_state = 747, .external_lex_state = 31},
  [8952] = {.lex_state = 747, .external_lex_state = 31},
  [8953] = {.lex_state = 747, .external_lex_state = 31},
  [8954] = {.lex_state = 747, .external_lex_state = 31},
  [8955] = {.lex_state = 76, .external_lex_state = 31},
  [8956] = {.lex_state = 747, .external_lex_state = 31},
  [8957] = {.lex_state = 76, .external_lex_state = 31},
  [8958] = {.lex_state = 747, .external_lex_state = 31},
  [8959] = {.lex_state = 747, .external_lex_state = 31},
  [8960] = {.lex_state = 747, .external_lex_state = 31},
  [8961] = {.lex_state = 747, .external_lex_state = 31},
  [8962] = {.lex_state = 747, .external_lex_state = 31},
  [8963] = {.lex_state = 747, .external_lex_state = 31},
  [8964] = {.lex_state = 747, .external_lex_state = 31},
  [8965] = {.lex_state = 747, .external_lex_state = 31},
  [8966] = {.lex_state = 747, .external_lex_state = 31},
  [8967] = {.lex_state = 747, .external_lex_state = 31},
  [8968] = {.lex_state = 747, .external_lex_state = 31},
  [8969] = {.lex_state = 747, .external_lex_state = 31},
  [8970] = {.lex_state = 747, .external_lex_state = 31},
  [8971] = {.lex_state = 747, .external_lex_state = 31},
  [8972] = {.lex_state = 747, .external_lex_state = 31},
  [8973] = {.lex_state = 747, .external_lex_state = 31},
  [8974] = {.lex_state = 747, .external_lex_state = 31},
  [8975] = {.lex_state = 747, .external_lex_state = 31},
  [8976] = {.lex_state = 747, .external_lex_state = 31},
  [8977] = {.lex_state = 747, .external_lex_state = 31},
  [8978] = {.lex_state = 747, .external_lex_state = 31},
  [8979] = {.lex_state = 747, .external_lex_state = 31},
  [8980] = {.lex_state = 747, .external_lex_state = 31},
  [8981] = {.lex_state = 747, .external_lex_state = 31},
  [8982] = {.lex_state = 76, .external_lex_state = 31},
  [8983] = {.lex_state = 747, .external_lex_state = 31},
  [8984] = {.lex_state = 747, .external_lex_state = 31},
  [8985] = {.lex_state = 747, .external_lex_state = 31},
  [8986] = {.lex_state = 747, .external_lex_state = 31},
  [8987] = {.lex_state = 747, .external_lex_state = 31},
  [8988] = {.lex_state = 747, .external_lex_state = 31},
  [8989] = {.lex_state = 747, .external_lex_state = 31},
  [8990] = {.lex_state = 747, .external_lex_state = 31},
  [8991] = {.lex_state = 747, .external_lex_state = 31},
  [8992] = {.lex_state = 747, .external_lex_state = 31},
  [8993] = {.lex_state = 747, .external_lex_state = 31},
  [8994] = {.lex_state = 747, .external_lex_state = 31},
  [8995] = {.lex_state = 76, .external_lex_state = 31},
  [8996] = {.lex_state = 747, .external_lex_state = 31},
  [8997] = {.lex_state = 747, .external_lex_state = 31},
  [8998] = {.lex_state = 76, .external_lex_state = 31},
  [8999] = {.lex_state = 747, .external_lex_state = 31},
  [9000] = {.lex_state = 747, .external_lex_state = 31},
  [9001] = {.lex_state = 2, .external_lex_state = 31},
  [9002] = {.lex_state = 747, .external_lex_state = 31},
  [9003] = {.lex_state = 747, .external_lex_state = 31},
  [9004] = {.lex_state = 747, .external_lex_state = 31},
  [9005] = {.lex_state = 747, .external_lex_state = 31},
  [9006] = {.lex_state = 747, .external_lex_state = 31},
  [9007] = {.lex_state = 747, .external_lex_state = 31},
  [9008] = {.lex_state = 747, .external_lex_state = 31},
  [9009] = {.lex_state = 747, .external_lex_state = 31},
  [9010] = {.lex_state = 747, .external_lex_state = 31},
  [9011] = {.lex_state = 747, .external_lex_state = 31},
  [9012] = {.lex_state = 747, .external_lex_state = 31},
  [9013] = {.lex_state = 747, .external_lex_state = 31},
  [9014] = {.lex_state = 747, .external_lex_state = 31},
  [9015] = {.lex_state = 747, .external_lex_state = 31},
  [9016] = {.lex_state = 747, .external_lex_state = 31},
  [9017] = {.lex_state = 747, .external_lex_state = 31},
  [9018] = {.lex_state = 747, .external_lex_state = 31},
  [9019] = {.lex_state = 747, .external_lex_state = 31},
  [9020] = {.lex_state = 747, .external_lex_state = 31},
  [9021] = {.lex_state = 747, .external_lex_state = 31},
  [9022] = {.lex_state = 747, .external_lex_state = 31},
  [9023] = {.lex_state = 747, .external_lex_state = 31},
  [9024] = {.lex_state = 747, .external_lex_state = 31},
  [9025] = {.lex_state = 747, .external_lex_state = 31},
  [9026] = {.lex_state = 747, .external_lex_state = 31},
  [9027] = {.lex_state = 747, .external_lex_state = 31},
};

static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
  [0] = {
    [ts_builtin_sym_end] = ACTIONS(1),
    [anon_sym_BANG] = ACTIONS(1),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token2] = ACTIONS(1),
    [aux_sym_simple_identifier_token3] = ACTIONS(1),
    [aux_sym_simple_identifier_token4] = ACTIONS(1),
    [anon_sym_actor] = ACTIONS(1),
    [anon_sym_async] = ACTIONS(1),
    [anon_sym_each] = ACTIONS(1),
    [anon_sym_lazy] = ACTIONS(1),
    [anon_sym_repeat] = ACTIONS(1),
    [anon_sym_package] = ACTIONS(1),
    [anon_sym_nil] = ACTIONS(1),
    [sym_real_literal] = ACTIONS(1),
    [sym_integer_literal] = ACTIONS(1),
    [sym_hex_literal] = ACTIONS(1),
    [sym_oct_literal] = ACTIONS(1),
    [sym_bin_literal] = ACTIONS(1),
    [anon_sym_true] = ACTIONS(1),
    [anon_sym_false] = ACTIONS(1),
    [anon_sym_DQUOTE] = ACTIONS(1),
    [anon_sym_BSLASH] = ACTIONS(1),
    [anon_sym_u] = ACTIONS(1),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1),
    [anon_sym_RPAREN] = ACTIONS(1),
    [anon_sym_BSLASH_LPAREN] = ACTIONS(1),
    [anon_sym_COMMA] = ACTIONS(1),
    [sym__escaped_identifier] = ACTIONS(1),
    [sym__oneline_regex_literal] = ACTIONS(1),
    [anon_sym_COLON] = ACTIONS(1),
    [anon_sym_BANG2] = ACTIONS(1),
    [anon_sym_LPAREN] = ACTIONS(1),
    [anon_sym_LBRACK] = ACTIONS(1),
    [anon_sym_RBRACK] = ACTIONS(1),
    [anon_sym_DOT] = ACTIONS(1),
    [anon_sym_Type] = ACTIONS(1),
    [anon_sym_Protocol] = ACTIONS(1),
    [anon_sym_QMARK] = ACTIONS(1),
    [anon_sym_QMARK2] = ACTIONS(1),
    [anon_sym_some] = ACTIONS(1),
    [anon_sym_any] = ACTIONS(1),
    [anon_sym_AMP] = ACTIONS(1),
    [anon_sym_TILDE] = ACTIONS(1),
    [anon_sym_if] = ACTIONS(1),
    [anon_sym_switch] = ACTIONS(1),
    [anon_sym_selector] = ACTIONS(1),
    [anon_sym_getter_COLON] = ACTIONS(1),
    [anon_sym_setter_COLON] = ACTIONS(1),
    [aux_sym_custom_operator_token1] = ACTIONS(1),
    [anon_sym_LT] = ACTIONS(1),
    [anon_sym_GT] = ACTIONS(1),
    [anon_sym_await] = ACTIONS(1),
    [anon_sym_file] = ACTIONS(1),
    [anon_sym_fileID] = ACTIONS(1),
    [anon_sym_filePath] = ACTIONS(1),
    [anon_sym_line] = ACTIONS(1),
    [anon_sym_column] = ACTIONS(1),
    [anon_sym_dsohandle] = ACTIONS(1),
    [anon_sym_colorLiteral] = ACTIONS(1),
    [anon_sym_fileLiteral] = ACTIONS(1),
    [anon_sym_imageLiteral] = ACTIONS(1),
    [anon_sym_LBRACE] = ACTIONS(1),
    [anon_sym_CARET_LBRACE] = ACTIONS(1),
    [anon_sym_RBRACE] = ACTIONS(1),
    [anon_sym_in] = ACTIONS(1),
    [anon_sym_self] = ACTIONS(1),
    [anon_sym_super] = ACTIONS(1),
    [anon_sym_guard] = ACTIONS(1),
    [anon_sym_case] = ACTIONS(1),
    [anon_sym_fallthrough] = ACTIONS(1),
    [anon_sym_do] = ACTIONS(1),
    [anon_sym_keyPath] = ACTIONS(1),
    [anon_sym_try] = ACTIONS(1),
    [anon_sym_PLUS_EQ] = ACTIONS(1),
    [anon_sym_DASH_EQ] = ACTIONS(1),
    [anon_sym_STAR_EQ] = ACTIONS(1),
    [anon_sym_SLASH_EQ] = ACTIONS(1),
    [anon_sym_PERCENT_EQ] = ACTIONS(1),
    [anon_sym_BANG_EQ] = ACTIONS(1),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1),
    [anon_sym_LT_EQ] = ACTIONS(1),
    [anon_sym_GT_EQ] = ACTIONS(1),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1),
    [anon_sym_is] = ACTIONS(1),
    [anon_sym_PLUS] = ACTIONS(1),
    [anon_sym_DASH] = ACTIONS(1),
    [anon_sym_STAR] = ACTIONS(1),
    [anon_sym_SLASH] = ACTIONS(1),
    [anon_sym_PERCENT] = ACTIONS(1),
    [anon_sym_PLUS_PLUS] = ACTIONS(1),
    [anon_sym_DASH_DASH] = ACTIONS(1),
    [anon_sym_PIPE] = ACTIONS(1),
    [anon_sym_CARET] = ACTIONS(1),
    [anon_sym_LT_LT] = ACTIONS(1),
    [anon_sym_GT_GT] = ACTIONS(1),
    [anon_sym_for] = ACTIONS(1),
    [anon_sym_while] = ACTIONS(1),
    [sym_throw_keyword] = ACTIONS(1),
    [anon_sym_return] = ACTIONS(1),
    [anon_sym_continue] = ACTIONS(1),
    [anon_sym_break] = ACTIONS(1),
    [anon_sym_yield] = ACTIONS(1),
    [anon_sym_available] = ACTIONS(1),
    [anon_sym_unavailable] = ACTIONS(1),
    [anon_sym_import] = ACTIONS(1),
    [anon_sym_typealias] = ACTIONS(1),
    [anon_sym_struct] = ACTIONS(1),
    [anon_sym_class] = ACTIONS(1),
    [anon_sym_enum] = ACTIONS(1),
    [anon_sym_protocol] = ACTIONS(1),
    [anon_sym_let] = ACTIONS(1),
    [anon_sym_var] = ACTIONS(1),
    [anon_sym_func] = ACTIONS(1),
    [anon_sym_willSet] = ACTIONS(1),
    [anon_sym_didSet] = ACTIONS(1),
    [anon_sym_macro] = ACTIONS(1),
    [anon_sym_externalMacro] = ACTIONS(1),
    [anon_sym_extension] = ACTIONS(1),
    [anon_sym_indirect] = ACTIONS(1),
    [anon_sym_SEMI] = ACTIONS(1),
    [anon_sym_deinit] = ACTIONS(1),
    [anon_sym_subscript] = ACTIONS(1),
    [anon_sym_get] = ACTIONS(1),
    [anon_sym_set] = ACTIONS(1),
    [anon_sym_prefix] = ACTIONS(1),
    [anon_sym_infix] = ACTIONS(1),
    [anon_sym_postfix] = ACTIONS(1),
    [anon_sym_operator] = ACTIONS(1),
    [anon_sym_precedencegroup] = ACTIONS(1),
    [anon_sym_associatedtype] = ACTIONS(1),
    [anon_sym_AT] = ACTIONS(1),
    [sym_wildcard_pattern] = ACTIONS(1),
    [anon_sym_override] = ACTIONS(1),
    [anon_sym_convenience] = ACTIONS(1),
    [anon_sym_required] = ACTIONS(1),
    [anon_sym_nonisolated] = ACTIONS(1),
    [anon_sym_public] = ACTIONS(1),
    [anon_sym_private] = ACTIONS(1),
    [anon_sym_internal] = ACTIONS(1),
    [anon_sym_open] = ACTIONS(1),
    [anon_sym_mutating] = ACTIONS(1),
    [anon_sym_nonmutating] = ACTIONS(1),
    [anon_sym_static] = ACTIONS(1),
    [anon_sym_dynamic] = ACTIONS(1),
    [anon_sym_optional] = ACTIONS(1),
    [anon_sym_distributed] = ACTIONS(1),
    [anon_sym_final] = ACTIONS(1),
    [anon_sym_inout] = ACTIONS(1),
    [anon_sym_ATescaping] = ACTIONS(1),
    [anon_sym_ATautoclosure] = ACTIONS(1),
    [anon_sym_weak] = ACTIONS(1),
    [anon_sym_unowned] = ACTIONS(1),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(1),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(1),
    [anon_sym_borrowing] = ACTIONS(1),
    [anon_sym_consuming] = ACTIONS(1),
    [anon_sym_property] = ACTIONS(1),
    [anon_sym_receiver] = ACTIONS(1),
    [anon_sym_param] = ACTIONS(1),
    [anon_sym_setparam] = ACTIONS(1),
    [anon_sym_delegate] = ACTIONS(1),
    [anon_sym_os] = ACTIONS(1),
    [anon_sym_arch] = ACTIONS(1),
    [anon_sym_swift] = ACTIONS(1),
    [anon_sym_compiler] = ACTIONS(1),
    [anon_sym_canImport] = ACTIONS(1),
    [anon_sym_targetEnvironment] = ACTIONS(1),
    [aux_sym_diagnostic_token1] = ACTIONS(1),
    [aux_sym_diagnostic_token2] = ACTIONS(1),
    [aux_sym_diagnostic_token3] = ACTIONS(1),
    [anon_sym_unused1] = ACTIONS(1),
    [anon_sym_unused2] = ACTIONS(1),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(1),
    [sym_raw_str_continuing_indicator] = ACTIONS(1),
    [sym_raw_str_end_part] = ACTIONS(1),
    [sym__implicit_semi] = ACTIONS(1),
    [sym__explicit_semi] = ACTIONS(1),
    [sym__arrow_operator_custom] = ACTIONS(1),
    [sym__dot_custom] = ACTIONS(1),
    [sym__conjunction_operator_custom] = ACTIONS(1),
    [sym__disjunction_operator_custom] = ACTIONS(1),
    [sym__nil_coalescing_operator_custom] = ACTIONS(1),
    [sym__eq_custom] = ACTIONS(1),
    [sym__eq_eq_custom] = ACTIONS(1),
    [sym__plus_then_ws] = ACTIONS(1),
    [sym__minus_then_ws] = ACTIONS(1),
    [sym__bang_custom] = ACTIONS(1),
    [sym__throws_keyword] = ACTIONS(1),
    [sym__rethrows_keyword] = ACTIONS(1),
    [sym_default_keyword] = ACTIONS(1),
    [sym_where_keyword] = ACTIONS(1),
    [sym_else] = ACTIONS(1),
    [sym_catch_keyword] = ACTIONS(1),
    [sym__as_custom] = ACTIONS(1),
    [sym__as_quest_custom] = ACTIONS(1),
    [sym__as_bang_custom] = ACTIONS(1),
    [sym__async_keyword_custom] = ACTIONS(1),
    [sym__custom_operator] = ACTIONS(1),
    [sym__hash_symbol_custom] = ACTIONS(1),
    [sym__directive_if] = ACTIONS(1),
    [sym__directive_elseif] = ACTIONS(1),
    [sym__directive_else] = ACTIONS(1),
    [sym__directive_endif] = ACTIONS(1),
    [sym__fake_try_bang] = ACTIONS(1),
  },
  [1] = {
    [sym_source_file] = STATE(8923),
    [sym_shebang_line] = STATE(22),
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1535),
    [sym_boolean_literal] = STATE(1535),
    [sym__string_literal] = STATE(1535),
    [sym_line_string_literal] = STATE(1535),
    [sym_multi_line_string_literal] = STATE(1535),
    [sym_raw_string_literal] = STATE(1535),
    [sym_regex_literal] = STATE(1535),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1535),
    [sym__unary_expression] = STATE(1535),
    [sym_postfix_expression] = STATE(1535),
    [sym_constructor_expression] = STATE(1535),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1535),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1535),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1535),
    [sym_prefix_expression] = STATE(1535),
    [sym_as_expression] = STATE(1535),
    [sym_selector_expression] = STATE(1535),
    [sym__binary_expression] = STATE(1535),
    [sym_multiplicative_expression] = STATE(1535),
    [sym_additive_expression] = STATE(1535),
    [sym_range_expression] = STATE(1535),
    [sym_infix_expression] = STATE(1535),
    [sym_nil_coalescing_expression] = STATE(1535),
    [sym_check_expression] = STATE(1535),
    [sym_comparison_expression] = STATE(1535),
    [sym_equality_expression] = STATE(1535),
    [sym_conjunction_expression] = STATE(1535),
    [sym_disjunction_expression] = STATE(1535),
    [sym_bitwise_operation] = STATE(1535),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1535),
    [sym_await_expression] = STATE(1535),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1535),
    [sym_call_expression] = STATE(1535),
    [sym_macro_invocation] = STATE(1535),
    [sym__primary_expression] = STATE(1535),
    [sym_tuple_expression] = STATE(1535),
    [sym_array_literal] = STATE(1535),
    [sym_dictionary_literal] = STATE(1535),
    [sym_special_literal] = STATE(1535),
    [sym_playground_literal] = STATE(1535),
    [sym_lambda_literal] = STATE(1535),
    [sym_self_expression] = STATE(1535),
    [sym_super_expression] = STATE(1535),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6883),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6883),
    [sym_key_path_expression] = STATE(1535),
    [sym_key_path_string_expression] = STATE(1535),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1535),
    [sym__equality_operator] = STATE(1535),
    [sym__comparison_operator] = STATE(1535),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1535),
    [sym__multiplicative_operator] = STATE(1535),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym__top_level_statement] = STATE(6883),
    [sym__labeled_statement] = STATE(6883),
    [sym_for_statement] = STATE(6883),
    [sym_while_statement] = STATE(6883),
    [sym_repeat_while_statement] = STATE(6883),
    [sym__throw_statement] = STATE(6883),
    [sym_assignment] = STATE(1535),
    [sym_value_parameter_pack] = STATE(1535),
    [sym_value_pack_expansion] = STATE(1535),
    [sym__global_declaration] = STATE(6883),
    [sym_import_declaration] = STATE(6883),
    [sym_property_declaration] = STATE(6883),
    [sym__modifierless_property_declaration] = STATE(7506),
    [sym_typealias_declaration] = STATE(6883),
    [sym__modifierless_typealias_declaration] = STATE(7317),
    [sym_function_declaration] = STATE(6883),
    [sym__bodyless_function_declaration] = STATE(7712),
    [sym__modifierless_function_declaration_no_body] = STATE(8708),
    [sym_macro_declaration] = STATE(6883),
    [sym__macro_head] = STATE(5514),
    [sym_class_declaration] = STATE(6883),
    [sym__modifierless_class_declaration] = STATE(7644),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1535),
    [sym__equal_sign] = STATE(1535),
    [sym__eq_eq] = STATE(1535),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4841),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_protocol_declaration] = STATE(6883),
    [sym_init_declaration] = STATE(6883),
    [sym_operator_declaration] = STATE(6883),
    [sym_precedence_group_declaration] = STATE(6883),
    [sym_associatedtype_declaration] = STATE(6883),
    [sym_attribute] = STATE(1786),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [sym_modifiers] = STATE(4955),
    [aux_sym__locally_permitted_modifiers] = STATE(1786),
    [sym__non_local_scope_modifier] = STATE(1786),
    [sym__locally_permitted_modifier] = STATE(1786),
    [sym_property_behavior_modifier] = STATE(1786),
    [sym_member_modifier] = STATE(1786),
    [sym_visibility_modifier] = STATE(1786),
    [sym_function_modifier] = STATE(1786),
    [sym_mutation_modifier] = STATE(1786),
    [sym_property_modifier] = STATE(1786),
    [sym_inheritance_modifier] = STATE(1786),
    [sym_parameter_modifier] = STATE(1786),
    [sym_ownership_modifier] = STATE(1786),
    [sym__parameter_ownership_modifier] = STATE(989),
    [sym_directive] = STATE(1535),
    [sym_diagnostic] = STATE(1535),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym_modifiers_repeat1] = STATE(1786),
    [ts_builtin_sym_end] = ACTIONS(7),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(21),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(25),
    [anon_sym_nil] = ACTIONS(27),
    [sym_real_literal] = ACTIONS(29),
    [sym_integer_literal] = ACTIONS(27),
    [sym_hex_literal] = ACTIONS(27),
    [sym_oct_literal] = ACTIONS(29),
    [sym_bin_literal] = ACTIONS(29),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(27),
    [anon_sym_GT] = ACTIONS(27),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(29),
    [anon_sym_DASH_EQ] = ACTIONS(29),
    [anon_sym_STAR_EQ] = ACTIONS(29),
    [anon_sym_SLASH_EQ] = ACTIONS(29),
    [anon_sym_PERCENT_EQ] = ACTIONS(29),
    [anon_sym_BANG_EQ] = ACTIONS(27),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(29),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(29),
    [anon_sym_LT_EQ] = ACTIONS(29),
    [anon_sym_GT_EQ] = ACTIONS(29),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_SLASH] = ACTIONS(27),
    [anon_sym_PERCENT] = ACTIONS(27),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(29),
    [anon_sym_CARET] = ACTIONS(27),
    [anon_sym_LT_LT] = ACTIONS(29),
    [anon_sym_GT_GT] = ACTIONS(29),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_import] = ACTIONS(81),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(87),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_protocol] = ACTIONS(91),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_macro] = ACTIONS(97),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_init] = ACTIONS(103),
    [anon_sym_prefix] = ACTIONS(105),
    [anon_sym_infix] = ACTIONS(105),
    [anon_sym_postfix] = ACTIONS(105),
    [anon_sym_precedencegroup] = ACTIONS(107),
    [anon_sym_associatedtype] = ACTIONS(109),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(113),
    [anon_sym_convenience] = ACTIONS(113),
    [anon_sym_required] = ACTIONS(113),
    [anon_sym_nonisolated] = ACTIONS(113),
    [anon_sym_public] = ACTIONS(115),
    [anon_sym_private] = ACTIONS(115),
    [anon_sym_internal] = ACTIONS(115),
    [anon_sym_fileprivate] = ACTIONS(115),
    [anon_sym_open] = ACTIONS(115),
    [anon_sym_mutating] = ACTIONS(117),
    [anon_sym_nonmutating] = ACTIONS(117),
    [anon_sym_static] = ACTIONS(119),
    [anon_sym_dynamic] = ACTIONS(119),
    [anon_sym_optional] = ACTIONS(119),
    [anon_sym_distributed] = ACTIONS(119),
    [anon_sym_final] = ACTIONS(121),
    [anon_sym_inout] = ACTIONS(123),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(127),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(131),
    [anon_sym_consuming] = ACTIONS(131),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(29),
    [sym__eq_eq_custom] = ACTIONS(29),
    [sym__plus_then_ws] = ACTIONS(29),
    [sym__minus_then_ws] = ACTIONS(29),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(141),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [2] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8964),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym_willset_clause] = STATE(3227),
    [sym_didset_clause] = STATE(3230),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_computed_getter] = STATE(5329),
    [sym_computed_modify] = STATE(5329),
    [sym_computed_setter] = STATE(5329),
    [sym_getter_specifier] = STATE(6301),
    [sym_setter_specifier] = STATE(6271),
    [sym_modify_specifier] = STATE(6299),
    [sym_attribute] = STATE(3772),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [sym_modifiers] = STATE(8457),
    [aux_sym__locally_permitted_modifiers] = STATE(2040),
    [sym__non_local_scope_modifier] = STATE(3731),
    [sym__locally_permitted_modifier] = STATE(2040),
    [sym_property_behavior_modifier] = STATE(2040),
    [sym_member_modifier] = STATE(3731),
    [sym_visibility_modifier] = STATE(3731),
    [sym_function_modifier] = STATE(3731),
    [sym_mutation_modifier] = STATE(4597),
    [sym_property_modifier] = STATE(3731),
    [sym_inheritance_modifier] = STATE(2040),
    [sym_parameter_modifier] = STATE(3731),
    [sym_ownership_modifier] = STATE(2040),
    [sym__parameter_ownership_modifier] = STATE(989),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(6114),
    [aux_sym_computed_property_repeat1] = STATE(5329),
    [aux_sym_modifiers_repeat1] = STATE(3731),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(21),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(25),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(151),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(155),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_willSet] = ACTIONS(157),
    [anon_sym_didSet] = ACTIONS(159),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_get] = ACTIONS(161),
    [anon_sym_set] = ACTIONS(163),
    [anon_sym__modify] = ACTIONS(165),
    [anon_sym_prefix] = ACTIONS(167),
    [anon_sym_infix] = ACTIONS(167),
    [anon_sym_postfix] = ACTIONS(167),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(113),
    [anon_sym_convenience] = ACTIONS(113),
    [anon_sym_required] = ACTIONS(113),
    [anon_sym_nonisolated] = ACTIONS(113),
    [anon_sym_public] = ACTIONS(115),
    [anon_sym_private] = ACTIONS(115),
    [anon_sym_internal] = ACTIONS(115),
    [anon_sym_fileprivate] = ACTIONS(115),
    [anon_sym_open] = ACTIONS(115),
    [anon_sym_mutating] = ACTIONS(117),
    [anon_sym_nonmutating] = ACTIONS(117),
    [anon_sym_static] = ACTIONS(119),
    [anon_sym_dynamic] = ACTIONS(119),
    [anon_sym_optional] = ACTIONS(119),
    [anon_sym_distributed] = ACTIONS(119),
    [anon_sym_final] = ACTIONS(121),
    [anon_sym_inout] = ACTIONS(123),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(127),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(131),
    [anon_sym_consuming] = ACTIONS(131),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [3] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8856),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym_willset_clause] = STATE(3293),
    [sym_didset_clause] = STATE(3294),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_computed_getter] = STATE(5202),
    [sym_computed_modify] = STATE(5202),
    [sym_computed_setter] = STATE(5202),
    [sym_getter_specifier] = STATE(6301),
    [sym_setter_specifier] = STATE(6271),
    [sym_modify_specifier] = STATE(6299),
    [sym_attribute] = STATE(3772),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [sym_modifiers] = STATE(8457),
    [aux_sym__locally_permitted_modifiers] = STATE(2040),
    [sym__non_local_scope_modifier] = STATE(3731),
    [sym__locally_permitted_modifier] = STATE(2040),
    [sym_property_behavior_modifier] = STATE(2040),
    [sym_member_modifier] = STATE(3731),
    [sym_visibility_modifier] = STATE(3731),
    [sym_function_modifier] = STATE(3731),
    [sym_mutation_modifier] = STATE(4597),
    [sym_property_modifier] = STATE(3731),
    [sym_inheritance_modifier] = STATE(2040),
    [sym_parameter_modifier] = STATE(3731),
    [sym_ownership_modifier] = STATE(2040),
    [sym__parameter_ownership_modifier] = STATE(989),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(6114),
    [aux_sym_computed_property_repeat1] = STATE(5202),
    [aux_sym_modifiers_repeat1] = STATE(3731),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(21),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(25),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(171),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(155),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_willSet] = ACTIONS(157),
    [anon_sym_didSet] = ACTIONS(159),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_get] = ACTIONS(161),
    [anon_sym_set] = ACTIONS(163),
    [anon_sym__modify] = ACTIONS(165),
    [anon_sym_prefix] = ACTIONS(167),
    [anon_sym_infix] = ACTIONS(167),
    [anon_sym_postfix] = ACTIONS(167),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(113),
    [anon_sym_convenience] = ACTIONS(113),
    [anon_sym_required] = ACTIONS(113),
    [anon_sym_nonisolated] = ACTIONS(113),
    [anon_sym_public] = ACTIONS(115),
    [anon_sym_private] = ACTIONS(115),
    [anon_sym_internal] = ACTIONS(115),
    [anon_sym_fileprivate] = ACTIONS(115),
    [anon_sym_open] = ACTIONS(115),
    [anon_sym_mutating] = ACTIONS(117),
    [anon_sym_nonmutating] = ACTIONS(117),
    [anon_sym_static] = ACTIONS(119),
    [anon_sym_dynamic] = ACTIONS(119),
    [anon_sym_optional] = ACTIONS(119),
    [anon_sym_distributed] = ACTIONS(119),
    [anon_sym_final] = ACTIONS(121),
    [anon_sym_inout] = ACTIONS(123),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(127),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(131),
    [anon_sym_consuming] = ACTIONS(131),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [4] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8818),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym_willset_clause] = STATE(3433),
    [sym_didset_clause] = STATE(3432),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_computed_getter] = STATE(5299),
    [sym_computed_modify] = STATE(5299),
    [sym_computed_setter] = STATE(5299),
    [sym_getter_specifier] = STATE(6301),
    [sym_setter_specifier] = STATE(6271),
    [sym_modify_specifier] = STATE(6299),
    [sym_attribute] = STATE(3772),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [sym_modifiers] = STATE(8457),
    [aux_sym__locally_permitted_modifiers] = STATE(2040),
    [sym__non_local_scope_modifier] = STATE(3731),
    [sym__locally_permitted_modifier] = STATE(2040),
    [sym_property_behavior_modifier] = STATE(2040),
    [sym_member_modifier] = STATE(3731),
    [sym_visibility_modifier] = STATE(3731),
    [sym_function_modifier] = STATE(3731),
    [sym_mutation_modifier] = STATE(4597),
    [sym_property_modifier] = STATE(3731),
    [sym_inheritance_modifier] = STATE(2040),
    [sym_parameter_modifier] = STATE(3731),
    [sym_ownership_modifier] = STATE(2040),
    [sym__parameter_ownership_modifier] = STATE(989),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(6114),
    [aux_sym_computed_property_repeat1] = STATE(5299),
    [aux_sym_modifiers_repeat1] = STATE(3731),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(21),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(25),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(173),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(155),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_willSet] = ACTIONS(157),
    [anon_sym_didSet] = ACTIONS(159),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_get] = ACTIONS(161),
    [anon_sym_set] = ACTIONS(163),
    [anon_sym__modify] = ACTIONS(165),
    [anon_sym_prefix] = ACTIONS(167),
    [anon_sym_infix] = ACTIONS(167),
    [anon_sym_postfix] = ACTIONS(167),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(113),
    [anon_sym_convenience] = ACTIONS(113),
    [anon_sym_required] = ACTIONS(113),
    [anon_sym_nonisolated] = ACTIONS(113),
    [anon_sym_public] = ACTIONS(115),
    [anon_sym_private] = ACTIONS(115),
    [anon_sym_internal] = ACTIONS(115),
    [anon_sym_fileprivate] = ACTIONS(115),
    [anon_sym_open] = ACTIONS(115),
    [anon_sym_mutating] = ACTIONS(117),
    [anon_sym_nonmutating] = ACTIONS(117),
    [anon_sym_static] = ACTIONS(119),
    [anon_sym_dynamic] = ACTIONS(119),
    [anon_sym_optional] = ACTIONS(119),
    [anon_sym_distributed] = ACTIONS(119),
    [anon_sym_final] = ACTIONS(121),
    [anon_sym_inout] = ACTIONS(123),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(127),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(131),
    [anon_sym_consuming] = ACTIONS(131),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [5] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8847),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym_willset_clause] = STATE(3317),
    [sym_didset_clause] = STATE(3325),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_computed_getter] = STATE(5248),
    [sym_computed_modify] = STATE(5248),
    [sym_computed_setter] = STATE(5248),
    [sym_getter_specifier] = STATE(6301),
    [sym_setter_specifier] = STATE(6271),
    [sym_modify_specifier] = STATE(6299),
    [sym_attribute] = STATE(3772),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [sym_modifiers] = STATE(8457),
    [aux_sym__locally_permitted_modifiers] = STATE(2040),
    [sym__non_local_scope_modifier] = STATE(3731),
    [sym__locally_permitted_modifier] = STATE(2040),
    [sym_property_behavior_modifier] = STATE(2040),
    [sym_member_modifier] = STATE(3731),
    [sym_visibility_modifier] = STATE(3731),
    [sym_function_modifier] = STATE(3731),
    [sym_mutation_modifier] = STATE(4597),
    [sym_property_modifier] = STATE(3731),
    [sym_inheritance_modifier] = STATE(2040),
    [sym_parameter_modifier] = STATE(3731),
    [sym_ownership_modifier] = STATE(2040),
    [sym__parameter_ownership_modifier] = STATE(989),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(6114),
    [aux_sym_computed_property_repeat1] = STATE(5248),
    [aux_sym_modifiers_repeat1] = STATE(3731),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(21),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(25),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(175),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(155),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_willSet] = ACTIONS(157),
    [anon_sym_didSet] = ACTIONS(159),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_get] = ACTIONS(161),
    [anon_sym_set] = ACTIONS(163),
    [anon_sym__modify] = ACTIONS(165),
    [anon_sym_prefix] = ACTIONS(167),
    [anon_sym_infix] = ACTIONS(167),
    [anon_sym_postfix] = ACTIONS(167),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(113),
    [anon_sym_convenience] = ACTIONS(113),
    [anon_sym_required] = ACTIONS(113),
    [anon_sym_nonisolated] = ACTIONS(113),
    [anon_sym_public] = ACTIONS(115),
    [anon_sym_private] = ACTIONS(115),
    [anon_sym_internal] = ACTIONS(115),
    [anon_sym_fileprivate] = ACTIONS(115),
    [anon_sym_open] = ACTIONS(115),
    [anon_sym_mutating] = ACTIONS(117),
    [anon_sym_nonmutating] = ACTIONS(117),
    [anon_sym_static] = ACTIONS(119),
    [anon_sym_dynamic] = ACTIONS(119),
    [anon_sym_optional] = ACTIONS(119),
    [anon_sym_distributed] = ACTIONS(119),
    [anon_sym_final] = ACTIONS(121),
    [anon_sym_inout] = ACTIONS(123),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(127),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(131),
    [anon_sym_consuming] = ACTIONS(131),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [6] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(72),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_switch_entry] = STATE(2722),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8969),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(2636),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [sym_modifiers] = STATE(8427),
    [aux_sym__locally_permitted_modifiers] = STATE(2052),
    [sym__non_local_scope_modifier] = STATE(3716),
    [sym__locally_permitted_modifier] = STATE(2052),
    [sym_property_behavior_modifier] = STATE(2052),
    [sym_member_modifier] = STATE(3716),
    [sym_visibility_modifier] = STATE(3716),
    [sym_function_modifier] = STATE(3716),
    [sym_mutation_modifier] = STATE(3716),
    [sym_property_modifier] = STATE(3716),
    [sym_inheritance_modifier] = STATE(2052),
    [sym_parameter_modifier] = STATE(3716),
    [sym_ownership_modifier] = STATE(2052),
    [sym__parameter_ownership_modifier] = STATE(994),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [aux_sym_switch_statement_repeat1] = STATE(2722),
    [aux_sym_modifiers_repeat1] = STATE(3716),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(187),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(191),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(197),
    [anon_sym_in] = ACTIONS(199),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_case] = ACTIONS(203),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(205),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_prefix] = ACTIONS(207),
    [anon_sym_infix] = ACTIONS(207),
    [anon_sym_postfix] = ACTIONS(207),
    [anon_sym_AT] = ACTIONS(209),
    [anon_sym_override] = ACTIONS(211),
    [anon_sym_convenience] = ACTIONS(211),
    [anon_sym_required] = ACTIONS(211),
    [anon_sym_nonisolated] = ACTIONS(211),
    [anon_sym_public] = ACTIONS(213),
    [anon_sym_private] = ACTIONS(213),
    [anon_sym_internal] = ACTIONS(213),
    [anon_sym_fileprivate] = ACTIONS(213),
    [anon_sym_open] = ACTIONS(213),
    [anon_sym_mutating] = ACTIONS(215),
    [anon_sym_nonmutating] = ACTIONS(215),
    [anon_sym_static] = ACTIONS(217),
    [anon_sym_dynamic] = ACTIONS(217),
    [anon_sym_optional] = ACTIONS(217),
    [anon_sym_distributed] = ACTIONS(217),
    [anon_sym_final] = ACTIONS(219),
    [anon_sym_inout] = ACTIONS(221),
    [anon_sym_ATescaping] = ACTIONS(223),
    [anon_sym_ATautoclosure] = ACTIONS(223),
    [anon_sym_weak] = ACTIONS(225),
    [anon_sym_unowned] = ACTIONS(225),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(227),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(227),
    [anon_sym_borrowing] = ACTIONS(229),
    [anon_sym_consuming] = ACTIONS(229),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym_default_keyword] = ACTIONS(231),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [7] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(96),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8663),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym_willset_clause] = STATE(3317),
    [sym_didset_clause] = STATE(3325),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(2437),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [sym_modifiers] = STATE(8457),
    [aux_sym__locally_permitted_modifiers] = STATE(2040),
    [sym__non_local_scope_modifier] = STATE(3731),
    [sym__locally_permitted_modifier] = STATE(2040),
    [sym_property_behavior_modifier] = STATE(2040),
    [sym_member_modifier] = STATE(3731),
    [sym_visibility_modifier] = STATE(3731),
    [sym_function_modifier] = STATE(3731),
    [sym_mutation_modifier] = STATE(3731),
    [sym_property_modifier] = STATE(3731),
    [sym_inheritance_modifier] = STATE(2040),
    [sym_parameter_modifier] = STATE(3731),
    [sym_ownership_modifier] = STATE(2040),
    [sym__parameter_ownership_modifier] = STATE(997),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [aux_sym_modifiers_repeat1] = STATE(3731),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(233),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(235),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(237),
    [anon_sym_in] = ACTIONS(239),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(155),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_willSet] = ACTIONS(157),
    [anon_sym_didSet] = ACTIONS(159),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_prefix] = ACTIONS(167),
    [anon_sym_infix] = ACTIONS(167),
    [anon_sym_postfix] = ACTIONS(167),
    [anon_sym_AT] = ACTIONS(241),
    [anon_sym_override] = ACTIONS(113),
    [anon_sym_convenience] = ACTIONS(113),
    [anon_sym_required] = ACTIONS(113),
    [anon_sym_nonisolated] = ACTIONS(113),
    [anon_sym_public] = ACTIONS(115),
    [anon_sym_private] = ACTIONS(115),
    [anon_sym_internal] = ACTIONS(115),
    [anon_sym_fileprivate] = ACTIONS(115),
    [anon_sym_open] = ACTIONS(115),
    [anon_sym_mutating] = ACTIONS(117),
    [anon_sym_nonmutating] = ACTIONS(117),
    [anon_sym_static] = ACTIONS(119),
    [anon_sym_dynamic] = ACTIONS(119),
    [anon_sym_optional] = ACTIONS(119),
    [anon_sym_distributed] = ACTIONS(119),
    [anon_sym_final] = ACTIONS(121),
    [anon_sym_inout] = ACTIONS(123),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(127),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(243),
    [anon_sym_consuming] = ACTIONS(243),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [8] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(72),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_switch_entry] = STATE(2784),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8969),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(2636),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [sym_modifiers] = STATE(8427),
    [aux_sym__locally_permitted_modifiers] = STATE(2052),
    [sym__non_local_scope_modifier] = STATE(3716),
    [sym__locally_permitted_modifier] = STATE(2052),
    [sym_property_behavior_modifier] = STATE(2052),
    [sym_member_modifier] = STATE(3716),
    [sym_visibility_modifier] = STATE(3716),
    [sym_function_modifier] = STATE(3716),
    [sym_mutation_modifier] = STATE(3716),
    [sym_property_modifier] = STATE(3716),
    [sym_inheritance_modifier] = STATE(2052),
    [sym_parameter_modifier] = STATE(3716),
    [sym_ownership_modifier] = STATE(2052),
    [sym__parameter_ownership_modifier] = STATE(994),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [aux_sym_switch_statement_repeat1] = STATE(2784),
    [aux_sym_modifiers_repeat1] = STATE(3716),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(187),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(191),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(245),
    [anon_sym_in] = ACTIONS(199),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_case] = ACTIONS(203),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(205),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_prefix] = ACTIONS(207),
    [anon_sym_infix] = ACTIONS(207),
    [anon_sym_postfix] = ACTIONS(207),
    [anon_sym_AT] = ACTIONS(209),
    [anon_sym_override] = ACTIONS(211),
    [anon_sym_convenience] = ACTIONS(211),
    [anon_sym_required] = ACTIONS(211),
    [anon_sym_nonisolated] = ACTIONS(211),
    [anon_sym_public] = ACTIONS(213),
    [anon_sym_private] = ACTIONS(213),
    [anon_sym_internal] = ACTIONS(213),
    [anon_sym_fileprivate] = ACTIONS(213),
    [anon_sym_open] = ACTIONS(213),
    [anon_sym_mutating] = ACTIONS(215),
    [anon_sym_nonmutating] = ACTIONS(215),
    [anon_sym_static] = ACTIONS(217),
    [anon_sym_dynamic] = ACTIONS(217),
    [anon_sym_optional] = ACTIONS(217),
    [anon_sym_distributed] = ACTIONS(217),
    [anon_sym_final] = ACTIONS(219),
    [anon_sym_inout] = ACTIONS(221),
    [anon_sym_ATescaping] = ACTIONS(223),
    [anon_sym_ATautoclosure] = ACTIONS(223),
    [anon_sym_weak] = ACTIONS(225),
    [anon_sym_unowned] = ACTIONS(225),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(227),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(227),
    [anon_sym_borrowing] = ACTIONS(229),
    [anon_sym_consuming] = ACTIONS(229),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym_default_keyword] = ACTIONS(231),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [9] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(72),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_switch_entry] = STATE(2807),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8969),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(2636),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [sym_modifiers] = STATE(8427),
    [aux_sym__locally_permitted_modifiers] = STATE(2052),
    [sym__non_local_scope_modifier] = STATE(3716),
    [sym__locally_permitted_modifier] = STATE(2052),
    [sym_property_behavior_modifier] = STATE(2052),
    [sym_member_modifier] = STATE(3716),
    [sym_visibility_modifier] = STATE(3716),
    [sym_function_modifier] = STATE(3716),
    [sym_mutation_modifier] = STATE(3716),
    [sym_property_modifier] = STATE(3716),
    [sym_inheritance_modifier] = STATE(2052),
    [sym_parameter_modifier] = STATE(3716),
    [sym_ownership_modifier] = STATE(2052),
    [sym__parameter_ownership_modifier] = STATE(994),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [aux_sym_switch_statement_repeat1] = STATE(2807),
    [aux_sym_modifiers_repeat1] = STATE(3716),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(187),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(191),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(247),
    [anon_sym_in] = ACTIONS(199),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_case] = ACTIONS(203),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(205),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_prefix] = ACTIONS(207),
    [anon_sym_infix] = ACTIONS(207),
    [anon_sym_postfix] = ACTIONS(207),
    [anon_sym_AT] = ACTIONS(209),
    [anon_sym_override] = ACTIONS(211),
    [anon_sym_convenience] = ACTIONS(211),
    [anon_sym_required] = ACTIONS(211),
    [anon_sym_nonisolated] = ACTIONS(211),
    [anon_sym_public] = ACTIONS(213),
    [anon_sym_private] = ACTIONS(213),
    [anon_sym_internal] = ACTIONS(213),
    [anon_sym_fileprivate] = ACTIONS(213),
    [anon_sym_open] = ACTIONS(213),
    [anon_sym_mutating] = ACTIONS(215),
    [anon_sym_nonmutating] = ACTIONS(215),
    [anon_sym_static] = ACTIONS(217),
    [anon_sym_dynamic] = ACTIONS(217),
    [anon_sym_optional] = ACTIONS(217),
    [anon_sym_distributed] = ACTIONS(217),
    [anon_sym_final] = ACTIONS(219),
    [anon_sym_inout] = ACTIONS(221),
    [anon_sym_ATescaping] = ACTIONS(223),
    [anon_sym_ATautoclosure] = ACTIONS(223),
    [anon_sym_weak] = ACTIONS(225),
    [anon_sym_unowned] = ACTIONS(225),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(227),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(227),
    [anon_sym_borrowing] = ACTIONS(229),
    [anon_sym_consuming] = ACTIONS(229),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym_default_keyword] = ACTIONS(231),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [10] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(72),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_switch_entry] = STATE(2817),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8969),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(2636),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [sym_modifiers] = STATE(8427),
    [aux_sym__locally_permitted_modifiers] = STATE(2052),
    [sym__non_local_scope_modifier] = STATE(3716),
    [sym__locally_permitted_modifier] = STATE(2052),
    [sym_property_behavior_modifier] = STATE(2052),
    [sym_member_modifier] = STATE(3716),
    [sym_visibility_modifier] = STATE(3716),
    [sym_function_modifier] = STATE(3716),
    [sym_mutation_modifier] = STATE(3716),
    [sym_property_modifier] = STATE(3716),
    [sym_inheritance_modifier] = STATE(2052),
    [sym_parameter_modifier] = STATE(3716),
    [sym_ownership_modifier] = STATE(2052),
    [sym__parameter_ownership_modifier] = STATE(994),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [aux_sym_switch_statement_repeat1] = STATE(2817),
    [aux_sym_modifiers_repeat1] = STATE(3716),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(187),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(191),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(249),
    [anon_sym_in] = ACTIONS(199),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_case] = ACTIONS(203),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(205),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_prefix] = ACTIONS(207),
    [anon_sym_infix] = ACTIONS(207),
    [anon_sym_postfix] = ACTIONS(207),
    [anon_sym_AT] = ACTIONS(209),
    [anon_sym_override] = ACTIONS(211),
    [anon_sym_convenience] = ACTIONS(211),
    [anon_sym_required] = ACTIONS(211),
    [anon_sym_nonisolated] = ACTIONS(211),
    [anon_sym_public] = ACTIONS(213),
    [anon_sym_private] = ACTIONS(213),
    [anon_sym_internal] = ACTIONS(213),
    [anon_sym_fileprivate] = ACTIONS(213),
    [anon_sym_open] = ACTIONS(213),
    [anon_sym_mutating] = ACTIONS(215),
    [anon_sym_nonmutating] = ACTIONS(215),
    [anon_sym_static] = ACTIONS(217),
    [anon_sym_dynamic] = ACTIONS(217),
    [anon_sym_optional] = ACTIONS(217),
    [anon_sym_distributed] = ACTIONS(217),
    [anon_sym_final] = ACTIONS(219),
    [anon_sym_inout] = ACTIONS(221),
    [anon_sym_ATescaping] = ACTIONS(223),
    [anon_sym_ATautoclosure] = ACTIONS(223),
    [anon_sym_weak] = ACTIONS(225),
    [anon_sym_unowned] = ACTIONS(225),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(227),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(227),
    [anon_sym_borrowing] = ACTIONS(229),
    [anon_sym_consuming] = ACTIONS(229),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym_default_keyword] = ACTIONS(231),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [11] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(72),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_switch_entry] = STATE(2743),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8969),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(2636),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [sym_modifiers] = STATE(8427),
    [aux_sym__locally_permitted_modifiers] = STATE(2052),
    [sym__non_local_scope_modifier] = STATE(3716),
    [sym__locally_permitted_modifier] = STATE(2052),
    [sym_property_behavior_modifier] = STATE(2052),
    [sym_member_modifier] = STATE(3716),
    [sym_visibility_modifier] = STATE(3716),
    [sym_function_modifier] = STATE(3716),
    [sym_mutation_modifier] = STATE(3716),
    [sym_property_modifier] = STATE(3716),
    [sym_inheritance_modifier] = STATE(2052),
    [sym_parameter_modifier] = STATE(3716),
    [sym_ownership_modifier] = STATE(2052),
    [sym__parameter_ownership_modifier] = STATE(994),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [aux_sym_switch_statement_repeat1] = STATE(2743),
    [aux_sym_modifiers_repeat1] = STATE(3716),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(187),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(191),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(251),
    [anon_sym_in] = ACTIONS(199),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_case] = ACTIONS(203),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(205),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_prefix] = ACTIONS(207),
    [anon_sym_infix] = ACTIONS(207),
    [anon_sym_postfix] = ACTIONS(207),
    [anon_sym_AT] = ACTIONS(209),
    [anon_sym_override] = ACTIONS(211),
    [anon_sym_convenience] = ACTIONS(211),
    [anon_sym_required] = ACTIONS(211),
    [anon_sym_nonisolated] = ACTIONS(211),
    [anon_sym_public] = ACTIONS(213),
    [anon_sym_private] = ACTIONS(213),
    [anon_sym_internal] = ACTIONS(213),
    [anon_sym_fileprivate] = ACTIONS(213),
    [anon_sym_open] = ACTIONS(213),
    [anon_sym_mutating] = ACTIONS(215),
    [anon_sym_nonmutating] = ACTIONS(215),
    [anon_sym_static] = ACTIONS(217),
    [anon_sym_dynamic] = ACTIONS(217),
    [anon_sym_optional] = ACTIONS(217),
    [anon_sym_distributed] = ACTIONS(217),
    [anon_sym_final] = ACTIONS(219),
    [anon_sym_inout] = ACTIONS(221),
    [anon_sym_ATescaping] = ACTIONS(223),
    [anon_sym_ATautoclosure] = ACTIONS(223),
    [anon_sym_weak] = ACTIONS(225),
    [anon_sym_unowned] = ACTIONS(225),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(227),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(227),
    [anon_sym_borrowing] = ACTIONS(229),
    [anon_sym_consuming] = ACTIONS(229),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym_default_keyword] = ACTIONS(231),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [12] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(72),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_switch_entry] = STATE(2809),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8969),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(2636),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [sym_modifiers] = STATE(8427),
    [aux_sym__locally_permitted_modifiers] = STATE(2052),
    [sym__non_local_scope_modifier] = STATE(3716),
    [sym__locally_permitted_modifier] = STATE(2052),
    [sym_property_behavior_modifier] = STATE(2052),
    [sym_member_modifier] = STATE(3716),
    [sym_visibility_modifier] = STATE(3716),
    [sym_function_modifier] = STATE(3716),
    [sym_mutation_modifier] = STATE(3716),
    [sym_property_modifier] = STATE(3716),
    [sym_inheritance_modifier] = STATE(2052),
    [sym_parameter_modifier] = STATE(3716),
    [sym_ownership_modifier] = STATE(2052),
    [sym__parameter_ownership_modifier] = STATE(994),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [aux_sym_switch_statement_repeat1] = STATE(2809),
    [aux_sym_modifiers_repeat1] = STATE(3716),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(187),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(191),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(253),
    [anon_sym_in] = ACTIONS(199),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_case] = ACTIONS(203),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(205),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_prefix] = ACTIONS(207),
    [anon_sym_infix] = ACTIONS(207),
    [anon_sym_postfix] = ACTIONS(207),
    [anon_sym_AT] = ACTIONS(209),
    [anon_sym_override] = ACTIONS(211),
    [anon_sym_convenience] = ACTIONS(211),
    [anon_sym_required] = ACTIONS(211),
    [anon_sym_nonisolated] = ACTIONS(211),
    [anon_sym_public] = ACTIONS(213),
    [anon_sym_private] = ACTIONS(213),
    [anon_sym_internal] = ACTIONS(213),
    [anon_sym_fileprivate] = ACTIONS(213),
    [anon_sym_open] = ACTIONS(213),
    [anon_sym_mutating] = ACTIONS(215),
    [anon_sym_nonmutating] = ACTIONS(215),
    [anon_sym_static] = ACTIONS(217),
    [anon_sym_dynamic] = ACTIONS(217),
    [anon_sym_optional] = ACTIONS(217),
    [anon_sym_distributed] = ACTIONS(217),
    [anon_sym_final] = ACTIONS(219),
    [anon_sym_inout] = ACTIONS(221),
    [anon_sym_ATescaping] = ACTIONS(223),
    [anon_sym_ATautoclosure] = ACTIONS(223),
    [anon_sym_weak] = ACTIONS(225),
    [anon_sym_unowned] = ACTIONS(225),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(227),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(227),
    [anon_sym_borrowing] = ACTIONS(229),
    [anon_sym_consuming] = ACTIONS(229),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym_default_keyword] = ACTIONS(231),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [13] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(88),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8774),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym_willset_clause] = STATE(3433),
    [sym_didset_clause] = STATE(3432),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(2437),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [sym_modifiers] = STATE(8457),
    [aux_sym__locally_permitted_modifiers] = STATE(2040),
    [sym__non_local_scope_modifier] = STATE(3731),
    [sym__locally_permitted_modifier] = STATE(2040),
    [sym_property_behavior_modifier] = STATE(2040),
    [sym_member_modifier] = STATE(3731),
    [sym_visibility_modifier] = STATE(3731),
    [sym_function_modifier] = STATE(3731),
    [sym_mutation_modifier] = STATE(3731),
    [sym_property_modifier] = STATE(3731),
    [sym_inheritance_modifier] = STATE(2040),
    [sym_parameter_modifier] = STATE(3731),
    [sym_ownership_modifier] = STATE(2040),
    [sym__parameter_ownership_modifier] = STATE(997),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [aux_sym_modifiers_repeat1] = STATE(3731),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(233),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(235),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(255),
    [anon_sym_in] = ACTIONS(257),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(155),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_willSet] = ACTIONS(157),
    [anon_sym_didSet] = ACTIONS(159),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_prefix] = ACTIONS(167),
    [anon_sym_infix] = ACTIONS(167),
    [anon_sym_postfix] = ACTIONS(167),
    [anon_sym_AT] = ACTIONS(241),
    [anon_sym_override] = ACTIONS(113),
    [anon_sym_convenience] = ACTIONS(113),
    [anon_sym_required] = ACTIONS(113),
    [anon_sym_nonisolated] = ACTIONS(113),
    [anon_sym_public] = ACTIONS(115),
    [anon_sym_private] = ACTIONS(115),
    [anon_sym_internal] = ACTIONS(115),
    [anon_sym_fileprivate] = ACTIONS(115),
    [anon_sym_open] = ACTIONS(115),
    [anon_sym_mutating] = ACTIONS(117),
    [anon_sym_nonmutating] = ACTIONS(117),
    [anon_sym_static] = ACTIONS(119),
    [anon_sym_dynamic] = ACTIONS(119),
    [anon_sym_optional] = ACTIONS(119),
    [anon_sym_distributed] = ACTIONS(119),
    [anon_sym_final] = ACTIONS(121),
    [anon_sym_inout] = ACTIONS(123),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(127),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(243),
    [anon_sym_consuming] = ACTIONS(243),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [14] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(72),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_switch_entry] = STATE(2829),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8969),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(2636),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [sym_modifiers] = STATE(8427),
    [aux_sym__locally_permitted_modifiers] = STATE(2052),
    [sym__non_local_scope_modifier] = STATE(3716),
    [sym__locally_permitted_modifier] = STATE(2052),
    [sym_property_behavior_modifier] = STATE(2052),
    [sym_member_modifier] = STATE(3716),
    [sym_visibility_modifier] = STATE(3716),
    [sym_function_modifier] = STATE(3716),
    [sym_mutation_modifier] = STATE(3716),
    [sym_property_modifier] = STATE(3716),
    [sym_inheritance_modifier] = STATE(2052),
    [sym_parameter_modifier] = STATE(3716),
    [sym_ownership_modifier] = STATE(2052),
    [sym__parameter_ownership_modifier] = STATE(994),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [aux_sym_switch_statement_repeat1] = STATE(2829),
    [aux_sym_modifiers_repeat1] = STATE(3716),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(187),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(191),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(259),
    [anon_sym_in] = ACTIONS(199),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_case] = ACTIONS(203),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(205),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_prefix] = ACTIONS(207),
    [anon_sym_infix] = ACTIONS(207),
    [anon_sym_postfix] = ACTIONS(207),
    [anon_sym_AT] = ACTIONS(209),
    [anon_sym_override] = ACTIONS(211),
    [anon_sym_convenience] = ACTIONS(211),
    [anon_sym_required] = ACTIONS(211),
    [anon_sym_nonisolated] = ACTIONS(211),
    [anon_sym_public] = ACTIONS(213),
    [anon_sym_private] = ACTIONS(213),
    [anon_sym_internal] = ACTIONS(213),
    [anon_sym_fileprivate] = ACTIONS(213),
    [anon_sym_open] = ACTIONS(213),
    [anon_sym_mutating] = ACTIONS(215),
    [anon_sym_nonmutating] = ACTIONS(215),
    [anon_sym_static] = ACTIONS(217),
    [anon_sym_dynamic] = ACTIONS(217),
    [anon_sym_optional] = ACTIONS(217),
    [anon_sym_distributed] = ACTIONS(217),
    [anon_sym_final] = ACTIONS(219),
    [anon_sym_inout] = ACTIONS(221),
    [anon_sym_ATescaping] = ACTIONS(223),
    [anon_sym_ATautoclosure] = ACTIONS(223),
    [anon_sym_weak] = ACTIONS(225),
    [anon_sym_unowned] = ACTIONS(225),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(227),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(227),
    [anon_sym_borrowing] = ACTIONS(229),
    [anon_sym_consuming] = ACTIONS(229),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym_default_keyword] = ACTIONS(231),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [15] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(72),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_switch_entry] = STATE(2747),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8969),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(2636),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [sym_modifiers] = STATE(8427),
    [aux_sym__locally_permitted_modifiers] = STATE(2052),
    [sym__non_local_scope_modifier] = STATE(3716),
    [sym__locally_permitted_modifier] = STATE(2052),
    [sym_property_behavior_modifier] = STATE(2052),
    [sym_member_modifier] = STATE(3716),
    [sym_visibility_modifier] = STATE(3716),
    [sym_function_modifier] = STATE(3716),
    [sym_mutation_modifier] = STATE(3716),
    [sym_property_modifier] = STATE(3716),
    [sym_inheritance_modifier] = STATE(2052),
    [sym_parameter_modifier] = STATE(3716),
    [sym_ownership_modifier] = STATE(2052),
    [sym__parameter_ownership_modifier] = STATE(994),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [aux_sym_switch_statement_repeat1] = STATE(2747),
    [aux_sym_modifiers_repeat1] = STATE(3716),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(187),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(191),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(261),
    [anon_sym_in] = ACTIONS(199),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_case] = ACTIONS(203),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(205),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_prefix] = ACTIONS(207),
    [anon_sym_infix] = ACTIONS(207),
    [anon_sym_postfix] = ACTIONS(207),
    [anon_sym_AT] = ACTIONS(209),
    [anon_sym_override] = ACTIONS(211),
    [anon_sym_convenience] = ACTIONS(211),
    [anon_sym_required] = ACTIONS(211),
    [anon_sym_nonisolated] = ACTIONS(211),
    [anon_sym_public] = ACTIONS(213),
    [anon_sym_private] = ACTIONS(213),
    [anon_sym_internal] = ACTIONS(213),
    [anon_sym_fileprivate] = ACTIONS(213),
    [anon_sym_open] = ACTIONS(213),
    [anon_sym_mutating] = ACTIONS(215),
    [anon_sym_nonmutating] = ACTIONS(215),
    [anon_sym_static] = ACTIONS(217),
    [anon_sym_dynamic] = ACTIONS(217),
    [anon_sym_optional] = ACTIONS(217),
    [anon_sym_distributed] = ACTIONS(217),
    [anon_sym_final] = ACTIONS(219),
    [anon_sym_inout] = ACTIONS(221),
    [anon_sym_ATescaping] = ACTIONS(223),
    [anon_sym_ATautoclosure] = ACTIONS(223),
    [anon_sym_weak] = ACTIONS(225),
    [anon_sym_unowned] = ACTIONS(225),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(227),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(227),
    [anon_sym_borrowing] = ACTIONS(229),
    [anon_sym_consuming] = ACTIONS(229),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym_default_keyword] = ACTIONS(231),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [16] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(72),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_switch_entry] = STATE(2837),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8969),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(2636),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [sym_modifiers] = STATE(8427),
    [aux_sym__locally_permitted_modifiers] = STATE(2052),
    [sym__non_local_scope_modifier] = STATE(3716),
    [sym__locally_permitted_modifier] = STATE(2052),
    [sym_property_behavior_modifier] = STATE(2052),
    [sym_member_modifier] = STATE(3716),
    [sym_visibility_modifier] = STATE(3716),
    [sym_function_modifier] = STATE(3716),
    [sym_mutation_modifier] = STATE(3716),
    [sym_property_modifier] = STATE(3716),
    [sym_inheritance_modifier] = STATE(2052),
    [sym_parameter_modifier] = STATE(3716),
    [sym_ownership_modifier] = STATE(2052),
    [sym__parameter_ownership_modifier] = STATE(994),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [aux_sym_switch_statement_repeat1] = STATE(2837),
    [aux_sym_modifiers_repeat1] = STATE(3716),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(187),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(191),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(263),
    [anon_sym_in] = ACTIONS(199),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_case] = ACTIONS(203),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(205),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_prefix] = ACTIONS(207),
    [anon_sym_infix] = ACTIONS(207),
    [anon_sym_postfix] = ACTIONS(207),
    [anon_sym_AT] = ACTIONS(209),
    [anon_sym_override] = ACTIONS(211),
    [anon_sym_convenience] = ACTIONS(211),
    [anon_sym_required] = ACTIONS(211),
    [anon_sym_nonisolated] = ACTIONS(211),
    [anon_sym_public] = ACTIONS(213),
    [anon_sym_private] = ACTIONS(213),
    [anon_sym_internal] = ACTIONS(213),
    [anon_sym_fileprivate] = ACTIONS(213),
    [anon_sym_open] = ACTIONS(213),
    [anon_sym_mutating] = ACTIONS(215),
    [anon_sym_nonmutating] = ACTIONS(215),
    [anon_sym_static] = ACTIONS(217),
    [anon_sym_dynamic] = ACTIONS(217),
    [anon_sym_optional] = ACTIONS(217),
    [anon_sym_distributed] = ACTIONS(217),
    [anon_sym_final] = ACTIONS(219),
    [anon_sym_inout] = ACTIONS(221),
    [anon_sym_ATescaping] = ACTIONS(223),
    [anon_sym_ATautoclosure] = ACTIONS(223),
    [anon_sym_weak] = ACTIONS(225),
    [anon_sym_unowned] = ACTIONS(225),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(227),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(227),
    [anon_sym_borrowing] = ACTIONS(229),
    [anon_sym_consuming] = ACTIONS(229),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym_default_keyword] = ACTIONS(231),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [17] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(100),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8712),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym_willset_clause] = STATE(3227),
    [sym_didset_clause] = STATE(3230),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(2437),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [sym_modifiers] = STATE(8457),
    [aux_sym__locally_permitted_modifiers] = STATE(2040),
    [sym__non_local_scope_modifier] = STATE(3731),
    [sym__locally_permitted_modifier] = STATE(2040),
    [sym_property_behavior_modifier] = STATE(2040),
    [sym_member_modifier] = STATE(3731),
    [sym_visibility_modifier] = STATE(3731),
    [sym_function_modifier] = STATE(3731),
    [sym_mutation_modifier] = STATE(3731),
    [sym_property_modifier] = STATE(3731),
    [sym_inheritance_modifier] = STATE(2040),
    [sym_parameter_modifier] = STATE(3731),
    [sym_ownership_modifier] = STATE(2040),
    [sym__parameter_ownership_modifier] = STATE(997),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [aux_sym_modifiers_repeat1] = STATE(3731),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(233),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(235),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(265),
    [anon_sym_in] = ACTIONS(267),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(155),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_willSet] = ACTIONS(157),
    [anon_sym_didSet] = ACTIONS(159),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_prefix] = ACTIONS(167),
    [anon_sym_infix] = ACTIONS(167),
    [anon_sym_postfix] = ACTIONS(167),
    [anon_sym_AT] = ACTIONS(241),
    [anon_sym_override] = ACTIONS(113),
    [anon_sym_convenience] = ACTIONS(113),
    [anon_sym_required] = ACTIONS(113),
    [anon_sym_nonisolated] = ACTIONS(113),
    [anon_sym_public] = ACTIONS(115),
    [anon_sym_private] = ACTIONS(115),
    [anon_sym_internal] = ACTIONS(115),
    [anon_sym_fileprivate] = ACTIONS(115),
    [anon_sym_open] = ACTIONS(115),
    [anon_sym_mutating] = ACTIONS(117),
    [anon_sym_nonmutating] = ACTIONS(117),
    [anon_sym_static] = ACTIONS(119),
    [anon_sym_dynamic] = ACTIONS(119),
    [anon_sym_optional] = ACTIONS(119),
    [anon_sym_distributed] = ACTIONS(119),
    [anon_sym_final] = ACTIONS(121),
    [anon_sym_inout] = ACTIONS(123),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(127),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(243),
    [anon_sym_consuming] = ACTIONS(243),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [18] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(72),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_switch_entry] = STATE(2722),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8969),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(2636),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [sym_modifiers] = STATE(8427),
    [aux_sym__locally_permitted_modifiers] = STATE(2052),
    [sym__non_local_scope_modifier] = STATE(3716),
    [sym__locally_permitted_modifier] = STATE(2052),
    [sym_property_behavior_modifier] = STATE(2052),
    [sym_member_modifier] = STATE(3716),
    [sym_visibility_modifier] = STATE(3716),
    [sym_function_modifier] = STATE(3716),
    [sym_mutation_modifier] = STATE(3716),
    [sym_property_modifier] = STATE(3716),
    [sym_inheritance_modifier] = STATE(2052),
    [sym_parameter_modifier] = STATE(3716),
    [sym_ownership_modifier] = STATE(2052),
    [sym__parameter_ownership_modifier] = STATE(994),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [aux_sym_switch_statement_repeat1] = STATE(2722),
    [aux_sym_modifiers_repeat1] = STATE(3716),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(187),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(191),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(269),
    [anon_sym_in] = ACTIONS(199),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_case] = ACTIONS(203),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(205),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_prefix] = ACTIONS(207),
    [anon_sym_infix] = ACTIONS(207),
    [anon_sym_postfix] = ACTIONS(207),
    [anon_sym_AT] = ACTIONS(209),
    [anon_sym_override] = ACTIONS(211),
    [anon_sym_convenience] = ACTIONS(211),
    [anon_sym_required] = ACTIONS(211),
    [anon_sym_nonisolated] = ACTIONS(211),
    [anon_sym_public] = ACTIONS(213),
    [anon_sym_private] = ACTIONS(213),
    [anon_sym_internal] = ACTIONS(213),
    [anon_sym_fileprivate] = ACTIONS(213),
    [anon_sym_open] = ACTIONS(213),
    [anon_sym_mutating] = ACTIONS(215),
    [anon_sym_nonmutating] = ACTIONS(215),
    [anon_sym_static] = ACTIONS(217),
    [anon_sym_dynamic] = ACTIONS(217),
    [anon_sym_optional] = ACTIONS(217),
    [anon_sym_distributed] = ACTIONS(217),
    [anon_sym_final] = ACTIONS(219),
    [anon_sym_inout] = ACTIONS(221),
    [anon_sym_ATescaping] = ACTIONS(223),
    [anon_sym_ATautoclosure] = ACTIONS(223),
    [anon_sym_weak] = ACTIONS(225),
    [anon_sym_unowned] = ACTIONS(225),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(227),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(227),
    [anon_sym_borrowing] = ACTIONS(229),
    [anon_sym_consuming] = ACTIONS(229),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym_default_keyword] = ACTIONS(231),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [19] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(72),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_switch_entry] = STATE(2818),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8969),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(2636),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [sym_modifiers] = STATE(8427),
    [aux_sym__locally_permitted_modifiers] = STATE(2052),
    [sym__non_local_scope_modifier] = STATE(3716),
    [sym__locally_permitted_modifier] = STATE(2052),
    [sym_property_behavior_modifier] = STATE(2052),
    [sym_member_modifier] = STATE(3716),
    [sym_visibility_modifier] = STATE(3716),
    [sym_function_modifier] = STATE(3716),
    [sym_mutation_modifier] = STATE(3716),
    [sym_property_modifier] = STATE(3716),
    [sym_inheritance_modifier] = STATE(2052),
    [sym_parameter_modifier] = STATE(3716),
    [sym_ownership_modifier] = STATE(2052),
    [sym__parameter_ownership_modifier] = STATE(994),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [aux_sym_switch_statement_repeat1] = STATE(2818),
    [aux_sym_modifiers_repeat1] = STATE(3716),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(187),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(191),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(271),
    [anon_sym_in] = ACTIONS(199),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_case] = ACTIONS(203),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(205),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_prefix] = ACTIONS(207),
    [anon_sym_infix] = ACTIONS(207),
    [anon_sym_postfix] = ACTIONS(207),
    [anon_sym_AT] = ACTIONS(209),
    [anon_sym_override] = ACTIONS(211),
    [anon_sym_convenience] = ACTIONS(211),
    [anon_sym_required] = ACTIONS(211),
    [anon_sym_nonisolated] = ACTIONS(211),
    [anon_sym_public] = ACTIONS(213),
    [anon_sym_private] = ACTIONS(213),
    [anon_sym_internal] = ACTIONS(213),
    [anon_sym_fileprivate] = ACTIONS(213),
    [anon_sym_open] = ACTIONS(213),
    [anon_sym_mutating] = ACTIONS(215),
    [anon_sym_nonmutating] = ACTIONS(215),
    [anon_sym_static] = ACTIONS(217),
    [anon_sym_dynamic] = ACTIONS(217),
    [anon_sym_optional] = ACTIONS(217),
    [anon_sym_distributed] = ACTIONS(217),
    [anon_sym_final] = ACTIONS(219),
    [anon_sym_inout] = ACTIONS(221),
    [anon_sym_ATescaping] = ACTIONS(223),
    [anon_sym_ATautoclosure] = ACTIONS(223),
    [anon_sym_weak] = ACTIONS(225),
    [anon_sym_unowned] = ACTIONS(225),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(227),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(227),
    [anon_sym_borrowing] = ACTIONS(229),
    [anon_sym_consuming] = ACTIONS(229),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym_default_keyword] = ACTIONS(231),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [20] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(92),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8753),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym_willset_clause] = STATE(3293),
    [sym_didset_clause] = STATE(3294),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(2437),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [sym_modifiers] = STATE(8457),
    [aux_sym__locally_permitted_modifiers] = STATE(2040),
    [sym__non_local_scope_modifier] = STATE(3731),
    [sym__locally_permitted_modifier] = STATE(2040),
    [sym_property_behavior_modifier] = STATE(2040),
    [sym_member_modifier] = STATE(3731),
    [sym_visibility_modifier] = STATE(3731),
    [sym_function_modifier] = STATE(3731),
    [sym_mutation_modifier] = STATE(3731),
    [sym_property_modifier] = STATE(3731),
    [sym_inheritance_modifier] = STATE(2040),
    [sym_parameter_modifier] = STATE(3731),
    [sym_ownership_modifier] = STATE(2040),
    [sym__parameter_ownership_modifier] = STATE(997),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [aux_sym_modifiers_repeat1] = STATE(3731),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(233),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(235),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(273),
    [anon_sym_in] = ACTIONS(275),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(155),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_willSet] = ACTIONS(157),
    [anon_sym_didSet] = ACTIONS(159),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_prefix] = ACTIONS(167),
    [anon_sym_infix] = ACTIONS(167),
    [anon_sym_postfix] = ACTIONS(167),
    [anon_sym_AT] = ACTIONS(241),
    [anon_sym_override] = ACTIONS(113),
    [anon_sym_convenience] = ACTIONS(113),
    [anon_sym_required] = ACTIONS(113),
    [anon_sym_nonisolated] = ACTIONS(113),
    [anon_sym_public] = ACTIONS(115),
    [anon_sym_private] = ACTIONS(115),
    [anon_sym_internal] = ACTIONS(115),
    [anon_sym_fileprivate] = ACTIONS(115),
    [anon_sym_open] = ACTIONS(115),
    [anon_sym_mutating] = ACTIONS(117),
    [anon_sym_nonmutating] = ACTIONS(117),
    [anon_sym_static] = ACTIONS(119),
    [anon_sym_dynamic] = ACTIONS(119),
    [anon_sym_optional] = ACTIONS(119),
    [anon_sym_distributed] = ACTIONS(119),
    [anon_sym_final] = ACTIONS(121),
    [anon_sym_inout] = ACTIONS(123),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(127),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(243),
    [anon_sym_consuming] = ACTIONS(243),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [21] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(72),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_switch_entry] = STATE(2799),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8969),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(2636),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [sym_modifiers] = STATE(8427),
    [aux_sym__locally_permitted_modifiers] = STATE(2052),
    [sym__non_local_scope_modifier] = STATE(3716),
    [sym__locally_permitted_modifier] = STATE(2052),
    [sym_property_behavior_modifier] = STATE(2052),
    [sym_member_modifier] = STATE(3716),
    [sym_visibility_modifier] = STATE(3716),
    [sym_function_modifier] = STATE(3716),
    [sym_mutation_modifier] = STATE(3716),
    [sym_property_modifier] = STATE(3716),
    [sym_inheritance_modifier] = STATE(2052),
    [sym_parameter_modifier] = STATE(3716),
    [sym_ownership_modifier] = STATE(2052),
    [sym__parameter_ownership_modifier] = STATE(994),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [aux_sym_switch_statement_repeat1] = STATE(2799),
    [aux_sym_modifiers_repeat1] = STATE(3716),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(187),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(191),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(277),
    [anon_sym_in] = ACTIONS(199),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_case] = ACTIONS(203),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(205),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_prefix] = ACTIONS(207),
    [anon_sym_infix] = ACTIONS(207),
    [anon_sym_postfix] = ACTIONS(207),
    [anon_sym_AT] = ACTIONS(209),
    [anon_sym_override] = ACTIONS(211),
    [anon_sym_convenience] = ACTIONS(211),
    [anon_sym_required] = ACTIONS(211),
    [anon_sym_nonisolated] = ACTIONS(211),
    [anon_sym_public] = ACTIONS(213),
    [anon_sym_private] = ACTIONS(213),
    [anon_sym_internal] = ACTIONS(213),
    [anon_sym_fileprivate] = ACTIONS(213),
    [anon_sym_open] = ACTIONS(213),
    [anon_sym_mutating] = ACTIONS(215),
    [anon_sym_nonmutating] = ACTIONS(215),
    [anon_sym_static] = ACTIONS(217),
    [anon_sym_dynamic] = ACTIONS(217),
    [anon_sym_optional] = ACTIONS(217),
    [anon_sym_distributed] = ACTIONS(217),
    [anon_sym_final] = ACTIONS(219),
    [anon_sym_inout] = ACTIONS(221),
    [anon_sym_ATescaping] = ACTIONS(223),
    [anon_sym_ATautoclosure] = ACTIONS(223),
    [anon_sym_weak] = ACTIONS(225),
    [anon_sym_unowned] = ACTIONS(225),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(227),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(227),
    [anon_sym_borrowing] = ACTIONS(229),
    [anon_sym_consuming] = ACTIONS(229),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym_default_keyword] = ACTIONS(231),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [22] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1535),
    [sym_boolean_literal] = STATE(1535),
    [sym__string_literal] = STATE(1535),
    [sym_line_string_literal] = STATE(1535),
    [sym_multi_line_string_literal] = STATE(1535),
    [sym_raw_string_literal] = STATE(1535),
    [sym_regex_literal] = STATE(1535),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1535),
    [sym__unary_expression] = STATE(1535),
    [sym_postfix_expression] = STATE(1535),
    [sym_constructor_expression] = STATE(1535),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1535),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1535),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1535),
    [sym_prefix_expression] = STATE(1535),
    [sym_as_expression] = STATE(1535),
    [sym_selector_expression] = STATE(1535),
    [sym__binary_expression] = STATE(1535),
    [sym_multiplicative_expression] = STATE(1535),
    [sym_additive_expression] = STATE(1535),
    [sym_range_expression] = STATE(1535),
    [sym_infix_expression] = STATE(1535),
    [sym_nil_coalescing_expression] = STATE(1535),
    [sym_check_expression] = STATE(1535),
    [sym_comparison_expression] = STATE(1535),
    [sym_equality_expression] = STATE(1535),
    [sym_conjunction_expression] = STATE(1535),
    [sym_disjunction_expression] = STATE(1535),
    [sym_bitwise_operation] = STATE(1535),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1535),
    [sym_await_expression] = STATE(1535),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1535),
    [sym_call_expression] = STATE(1535),
    [sym_macro_invocation] = STATE(1535),
    [sym__primary_expression] = STATE(1535),
    [sym_tuple_expression] = STATE(1535),
    [sym_array_literal] = STATE(1535),
    [sym_dictionary_literal] = STATE(1535),
    [sym_special_literal] = STATE(1535),
    [sym_playground_literal] = STATE(1535),
    [sym_lambda_literal] = STATE(1535),
    [sym_self_expression] = STATE(1535),
    [sym_super_expression] = STATE(1535),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6887),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6887),
    [sym_key_path_expression] = STATE(1535),
    [sym_key_path_string_expression] = STATE(1535),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1535),
    [sym__equality_operator] = STATE(1535),
    [sym__comparison_operator] = STATE(1535),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1535),
    [sym__multiplicative_operator] = STATE(1535),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym__top_level_statement] = STATE(6887),
    [sym__labeled_statement] = STATE(6887),
    [sym_for_statement] = STATE(6887),
    [sym_while_statement] = STATE(6887),
    [sym_repeat_while_statement] = STATE(6887),
    [sym__throw_statement] = STATE(6887),
    [sym_assignment] = STATE(1535),
    [sym_value_parameter_pack] = STATE(1535),
    [sym_value_pack_expansion] = STATE(1535),
    [sym__global_declaration] = STATE(6887),
    [sym_import_declaration] = STATE(6887),
    [sym_property_declaration] = STATE(6887),
    [sym__modifierless_property_declaration] = STATE(7506),
    [sym_typealias_declaration] = STATE(6887),
    [sym__modifierless_typealias_declaration] = STATE(7317),
    [sym_function_declaration] = STATE(6887),
    [sym__bodyless_function_declaration] = STATE(7712),
    [sym__modifierless_function_declaration_no_body] = STATE(8708),
    [sym_macro_declaration] = STATE(6887),
    [sym__macro_head] = STATE(5514),
    [sym_class_declaration] = STATE(6887),
    [sym__modifierless_class_declaration] = STATE(7644),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1535),
    [sym__equal_sign] = STATE(1535),
    [sym__eq_eq] = STATE(1535),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_protocol_declaration] = STATE(6887),
    [sym_init_declaration] = STATE(6887),
    [sym_operator_declaration] = STATE(6887),
    [sym_precedence_group_declaration] = STATE(6887),
    [sym_associatedtype_declaration] = STATE(6887),
    [sym_attribute] = STATE(1786),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [sym_modifiers] = STATE(4955),
    [aux_sym__locally_permitted_modifiers] = STATE(1786),
    [sym__non_local_scope_modifier] = STATE(1786),
    [sym__locally_permitted_modifier] = STATE(1786),
    [sym_property_behavior_modifier] = STATE(1786),
    [sym_member_modifier] = STATE(1786),
    [sym_visibility_modifier] = STATE(1786),
    [sym_function_modifier] = STATE(1786),
    [sym_mutation_modifier] = STATE(1786),
    [sym_property_modifier] = STATE(1786),
    [sym_inheritance_modifier] = STATE(1786),
    [sym_parameter_modifier] = STATE(1786),
    [sym_ownership_modifier] = STATE(1786),
    [sym__parameter_ownership_modifier] = STATE(989),
    [sym_directive] = STATE(1535),
    [sym_diagnostic] = STATE(1535),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym_modifiers_repeat1] = STATE(1786),
    [ts_builtin_sym_end] = ACTIONS(279),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(21),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(25),
    [anon_sym_nil] = ACTIONS(27),
    [sym_real_literal] = ACTIONS(29),
    [sym_integer_literal] = ACTIONS(27),
    [sym_hex_literal] = ACTIONS(27),
    [sym_oct_literal] = ACTIONS(29),
    [sym_bin_literal] = ACTIONS(29),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(27),
    [anon_sym_GT] = ACTIONS(27),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(29),
    [anon_sym_DASH_EQ] = ACTIONS(29),
    [anon_sym_STAR_EQ] = ACTIONS(29),
    [anon_sym_SLASH_EQ] = ACTIONS(29),
    [anon_sym_PERCENT_EQ] = ACTIONS(29),
    [anon_sym_BANG_EQ] = ACTIONS(27),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(29),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(29),
    [anon_sym_LT_EQ] = ACTIONS(29),
    [anon_sym_GT_EQ] = ACTIONS(29),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_SLASH] = ACTIONS(27),
    [anon_sym_PERCENT] = ACTIONS(27),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(29),
    [anon_sym_CARET] = ACTIONS(27),
    [anon_sym_LT_LT] = ACTIONS(29),
    [anon_sym_GT_GT] = ACTIONS(29),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_import] = ACTIONS(81),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(87),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_protocol] = ACTIONS(91),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_macro] = ACTIONS(97),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_init] = ACTIONS(103),
    [anon_sym_prefix] = ACTIONS(105),
    [anon_sym_infix] = ACTIONS(105),
    [anon_sym_postfix] = ACTIONS(105),
    [anon_sym_precedencegroup] = ACTIONS(107),
    [anon_sym_associatedtype] = ACTIONS(109),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(113),
    [anon_sym_convenience] = ACTIONS(113),
    [anon_sym_required] = ACTIONS(113),
    [anon_sym_nonisolated] = ACTIONS(113),
    [anon_sym_public] = ACTIONS(115),
    [anon_sym_private] = ACTIONS(115),
    [anon_sym_internal] = ACTIONS(115),
    [anon_sym_fileprivate] = ACTIONS(115),
    [anon_sym_open] = ACTIONS(115),
    [anon_sym_mutating] = ACTIONS(117),
    [anon_sym_nonmutating] = ACTIONS(117),
    [anon_sym_static] = ACTIONS(119),
    [anon_sym_dynamic] = ACTIONS(119),
    [anon_sym_optional] = ACTIONS(119),
    [anon_sym_distributed] = ACTIONS(119),
    [anon_sym_final] = ACTIONS(121),
    [anon_sym_inout] = ACTIONS(123),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(127),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(131),
    [anon_sym_consuming] = ACTIONS(131),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(29),
    [sym__eq_eq_custom] = ACTIONS(29),
    [sym__plus_then_ws] = ACTIONS(29),
    [sym__minus_then_ws] = ACTIONS(29),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [23] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1535),
    [sym_boolean_literal] = STATE(1535),
    [sym__string_literal] = STATE(1535),
    [sym_line_string_literal] = STATE(1535),
    [sym_multi_line_string_literal] = STATE(1535),
    [sym_raw_string_literal] = STATE(1535),
    [sym_regex_literal] = STATE(1535),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1535),
    [sym__unary_expression] = STATE(1535),
    [sym_postfix_expression] = STATE(1535),
    [sym_constructor_expression] = STATE(1535),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1535),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1535),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1535),
    [sym_prefix_expression] = STATE(1535),
    [sym_as_expression] = STATE(1535),
    [sym_selector_expression] = STATE(1535),
    [sym__binary_expression] = STATE(1535),
    [sym_multiplicative_expression] = STATE(1535),
    [sym_additive_expression] = STATE(1535),
    [sym_range_expression] = STATE(1535),
    [sym_infix_expression] = STATE(1535),
    [sym_nil_coalescing_expression] = STATE(1535),
    [sym_check_expression] = STATE(1535),
    [sym_comparison_expression] = STATE(1535),
    [sym_equality_expression] = STATE(1535),
    [sym_conjunction_expression] = STATE(1535),
    [sym_disjunction_expression] = STATE(1535),
    [sym_bitwise_operation] = STATE(1535),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1535),
    [sym_await_expression] = STATE(1535),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1535),
    [sym_call_expression] = STATE(1535),
    [sym_macro_invocation] = STATE(1535),
    [sym__primary_expression] = STATE(1535),
    [sym_tuple_expression] = STATE(1535),
    [sym_array_literal] = STATE(1535),
    [sym_dictionary_literal] = STATE(1535),
    [sym_special_literal] = STATE(1535),
    [sym_playground_literal] = STATE(1535),
    [sym_lambda_literal] = STATE(1535),
    [sym_self_expression] = STATE(1535),
    [sym_super_expression] = STATE(1535),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(7847),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(7847),
    [sym_key_path_expression] = STATE(1535),
    [sym_key_path_string_expression] = STATE(1535),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1535),
    [sym__equality_operator] = STATE(1535),
    [sym__comparison_operator] = STATE(1535),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1535),
    [sym__multiplicative_operator] = STATE(1535),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym__top_level_statement] = STATE(7847),
    [sym__labeled_statement] = STATE(7847),
    [sym_for_statement] = STATE(7847),
    [sym_while_statement] = STATE(7847),
    [sym_repeat_while_statement] = STATE(7847),
    [sym__throw_statement] = STATE(7847),
    [sym_assignment] = STATE(1535),
    [sym_value_parameter_pack] = STATE(1535),
    [sym_value_pack_expansion] = STATE(1535),
    [sym__global_declaration] = STATE(7847),
    [sym_import_declaration] = STATE(7847),
    [sym_property_declaration] = STATE(7847),
    [sym__modifierless_property_declaration] = STATE(7506),
    [sym_typealias_declaration] = STATE(7847),
    [sym__modifierless_typealias_declaration] = STATE(7317),
    [sym_function_declaration] = STATE(7847),
    [sym__bodyless_function_declaration] = STATE(7712),
    [sym__modifierless_function_declaration_no_body] = STATE(8708),
    [sym_macro_declaration] = STATE(7847),
    [sym__macro_head] = STATE(5514),
    [sym_class_declaration] = STATE(7847),
    [sym__modifierless_class_declaration] = STATE(7644),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1535),
    [sym__equal_sign] = STATE(1535),
    [sym__eq_eq] = STATE(1535),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_protocol_declaration] = STATE(7847),
    [sym_init_declaration] = STATE(7847),
    [sym_operator_declaration] = STATE(7847),
    [sym_precedence_group_declaration] = STATE(7847),
    [sym_associatedtype_declaration] = STATE(7847),
    [sym_attribute] = STATE(1786),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [sym_modifiers] = STATE(4955),
    [aux_sym__locally_permitted_modifiers] = STATE(1786),
    [sym__non_local_scope_modifier] = STATE(1786),
    [sym__locally_permitted_modifier] = STATE(1786),
    [sym_property_behavior_modifier] = STATE(1786),
    [sym_member_modifier] = STATE(1786),
    [sym_visibility_modifier] = STATE(1786),
    [sym_function_modifier] = STATE(1786),
    [sym_mutation_modifier] = STATE(1786),
    [sym_property_modifier] = STATE(1786),
    [sym_inheritance_modifier] = STATE(1786),
    [sym_parameter_modifier] = STATE(1786),
    [sym_ownership_modifier] = STATE(1786),
    [sym__parameter_ownership_modifier] = STATE(989),
    [sym_directive] = STATE(1535),
    [sym_diagnostic] = STATE(1535),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym_modifiers_repeat1] = STATE(1786),
    [ts_builtin_sym_end] = ACTIONS(281),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(21),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(25),
    [anon_sym_nil] = ACTIONS(27),
    [sym_real_literal] = ACTIONS(29),
    [sym_integer_literal] = ACTIONS(27),
    [sym_hex_literal] = ACTIONS(27),
    [sym_oct_literal] = ACTIONS(29),
    [sym_bin_literal] = ACTIONS(29),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(27),
    [anon_sym_GT] = ACTIONS(27),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(29),
    [anon_sym_DASH_EQ] = ACTIONS(29),
    [anon_sym_STAR_EQ] = ACTIONS(29),
    [anon_sym_SLASH_EQ] = ACTIONS(29),
    [anon_sym_PERCENT_EQ] = ACTIONS(29),
    [anon_sym_BANG_EQ] = ACTIONS(27),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(29),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(29),
    [anon_sym_LT_EQ] = ACTIONS(29),
    [anon_sym_GT_EQ] = ACTIONS(29),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_SLASH] = ACTIONS(27),
    [anon_sym_PERCENT] = ACTIONS(27),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(29),
    [anon_sym_CARET] = ACTIONS(27),
    [anon_sym_LT_LT] = ACTIONS(29),
    [anon_sym_GT_GT] = ACTIONS(29),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_import] = ACTIONS(81),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(87),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_protocol] = ACTIONS(91),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_macro] = ACTIONS(97),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_init] = ACTIONS(103),
    [anon_sym_prefix] = ACTIONS(105),
    [anon_sym_infix] = ACTIONS(105),
    [anon_sym_postfix] = ACTIONS(105),
    [anon_sym_precedencegroup] = ACTIONS(107),
    [anon_sym_associatedtype] = ACTIONS(109),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(113),
    [anon_sym_convenience] = ACTIONS(113),
    [anon_sym_required] = ACTIONS(113),
    [anon_sym_nonisolated] = ACTIONS(113),
    [anon_sym_public] = ACTIONS(115),
    [anon_sym_private] = ACTIONS(115),
    [anon_sym_internal] = ACTIONS(115),
    [anon_sym_fileprivate] = ACTIONS(115),
    [anon_sym_open] = ACTIONS(115),
    [anon_sym_mutating] = ACTIONS(117),
    [anon_sym_nonmutating] = ACTIONS(117),
    [anon_sym_static] = ACTIONS(119),
    [anon_sym_dynamic] = ACTIONS(119),
    [anon_sym_optional] = ACTIONS(119),
    [anon_sym_distributed] = ACTIONS(119),
    [anon_sym_final] = ACTIONS(121),
    [anon_sym_inout] = ACTIONS(123),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(127),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(131),
    [anon_sym_consuming] = ACTIONS(131),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(29),
    [sym__eq_eq_custom] = ACTIONS(29),
    [sym__plus_then_ws] = ACTIONS(29),
    [sym__minus_then_ws] = ACTIONS(29),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [24] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1535),
    [sym_boolean_literal] = STATE(1535),
    [sym__string_literal] = STATE(1535),
    [sym_line_string_literal] = STATE(1535),
    [sym_multi_line_string_literal] = STATE(1535),
    [sym_raw_string_literal] = STATE(1535),
    [sym_regex_literal] = STATE(1535),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1535),
    [sym__unary_expression] = STATE(1535),
    [sym_postfix_expression] = STATE(1535),
    [sym_constructor_expression] = STATE(1535),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1535),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1535),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1535),
    [sym_prefix_expression] = STATE(1535),
    [sym_as_expression] = STATE(1535),
    [sym_selector_expression] = STATE(1535),
    [sym__binary_expression] = STATE(1535),
    [sym_multiplicative_expression] = STATE(1535),
    [sym_additive_expression] = STATE(1535),
    [sym_range_expression] = STATE(1535),
    [sym_infix_expression] = STATE(1535),
    [sym_nil_coalescing_expression] = STATE(1535),
    [sym_check_expression] = STATE(1535),
    [sym_comparison_expression] = STATE(1535),
    [sym_equality_expression] = STATE(1535),
    [sym_conjunction_expression] = STATE(1535),
    [sym_disjunction_expression] = STATE(1535),
    [sym_bitwise_operation] = STATE(1535),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1535),
    [sym_await_expression] = STATE(1535),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1535),
    [sym_call_expression] = STATE(1535),
    [sym_macro_invocation] = STATE(1535),
    [sym__primary_expression] = STATE(1535),
    [sym_tuple_expression] = STATE(1535),
    [sym_array_literal] = STATE(1535),
    [sym_dictionary_literal] = STATE(1535),
    [sym_special_literal] = STATE(1535),
    [sym_playground_literal] = STATE(1535),
    [sym_lambda_literal] = STATE(1535),
    [sym_self_expression] = STATE(1535),
    [sym_super_expression] = STATE(1535),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(7847),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(7847),
    [sym_key_path_expression] = STATE(1535),
    [sym_key_path_string_expression] = STATE(1535),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1535),
    [sym__equality_operator] = STATE(1535),
    [sym__comparison_operator] = STATE(1535),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1535),
    [sym__multiplicative_operator] = STATE(1535),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym__top_level_statement] = STATE(7847),
    [sym__labeled_statement] = STATE(7847),
    [sym_for_statement] = STATE(7847),
    [sym_while_statement] = STATE(7847),
    [sym_repeat_while_statement] = STATE(7847),
    [sym__throw_statement] = STATE(7847),
    [sym_assignment] = STATE(1535),
    [sym_value_parameter_pack] = STATE(1535),
    [sym_value_pack_expansion] = STATE(1535),
    [sym__global_declaration] = STATE(7847),
    [sym_import_declaration] = STATE(7847),
    [sym_property_declaration] = STATE(7847),
    [sym__modifierless_property_declaration] = STATE(7506),
    [sym_typealias_declaration] = STATE(7847),
    [sym__modifierless_typealias_declaration] = STATE(7317),
    [sym_function_declaration] = STATE(7847),
    [sym__bodyless_function_declaration] = STATE(7712),
    [sym__modifierless_function_declaration_no_body] = STATE(8708),
    [sym_macro_declaration] = STATE(7847),
    [sym__macro_head] = STATE(5514),
    [sym_class_declaration] = STATE(7847),
    [sym__modifierless_class_declaration] = STATE(7644),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1535),
    [sym__equal_sign] = STATE(1535),
    [sym__eq_eq] = STATE(1535),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_protocol_declaration] = STATE(7847),
    [sym_init_declaration] = STATE(7847),
    [sym_operator_declaration] = STATE(7847),
    [sym_precedence_group_declaration] = STATE(7847),
    [sym_associatedtype_declaration] = STATE(7847),
    [sym_attribute] = STATE(1786),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [sym_modifiers] = STATE(4955),
    [aux_sym__locally_permitted_modifiers] = STATE(1786),
    [sym__non_local_scope_modifier] = STATE(1786),
    [sym__locally_permitted_modifier] = STATE(1786),
    [sym_property_behavior_modifier] = STATE(1786),
    [sym_member_modifier] = STATE(1786),
    [sym_visibility_modifier] = STATE(1786),
    [sym_function_modifier] = STATE(1786),
    [sym_mutation_modifier] = STATE(1786),
    [sym_property_modifier] = STATE(1786),
    [sym_inheritance_modifier] = STATE(1786),
    [sym_parameter_modifier] = STATE(1786),
    [sym_ownership_modifier] = STATE(1786),
    [sym__parameter_ownership_modifier] = STATE(989),
    [sym_directive] = STATE(1535),
    [sym_diagnostic] = STATE(1535),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym_modifiers_repeat1] = STATE(1786),
    [ts_builtin_sym_end] = ACTIONS(283),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(21),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(25),
    [anon_sym_nil] = ACTIONS(27),
    [sym_real_literal] = ACTIONS(29),
    [sym_integer_literal] = ACTIONS(27),
    [sym_hex_literal] = ACTIONS(27),
    [sym_oct_literal] = ACTIONS(29),
    [sym_bin_literal] = ACTIONS(29),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(27),
    [anon_sym_GT] = ACTIONS(27),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(29),
    [anon_sym_DASH_EQ] = ACTIONS(29),
    [anon_sym_STAR_EQ] = ACTIONS(29),
    [anon_sym_SLASH_EQ] = ACTIONS(29),
    [anon_sym_PERCENT_EQ] = ACTIONS(29),
    [anon_sym_BANG_EQ] = ACTIONS(27),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(29),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(29),
    [anon_sym_LT_EQ] = ACTIONS(29),
    [anon_sym_GT_EQ] = ACTIONS(29),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_SLASH] = ACTIONS(27),
    [anon_sym_PERCENT] = ACTIONS(27),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(29),
    [anon_sym_CARET] = ACTIONS(27),
    [anon_sym_LT_LT] = ACTIONS(29),
    [anon_sym_GT_GT] = ACTIONS(29),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_import] = ACTIONS(81),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(87),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_protocol] = ACTIONS(91),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_macro] = ACTIONS(97),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_init] = ACTIONS(103),
    [anon_sym_prefix] = ACTIONS(105),
    [anon_sym_infix] = ACTIONS(105),
    [anon_sym_postfix] = ACTIONS(105),
    [anon_sym_precedencegroup] = ACTIONS(107),
    [anon_sym_associatedtype] = ACTIONS(109),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(113),
    [anon_sym_convenience] = ACTIONS(113),
    [anon_sym_required] = ACTIONS(113),
    [anon_sym_nonisolated] = ACTIONS(113),
    [anon_sym_public] = ACTIONS(115),
    [anon_sym_private] = ACTIONS(115),
    [anon_sym_internal] = ACTIONS(115),
    [anon_sym_fileprivate] = ACTIONS(115),
    [anon_sym_open] = ACTIONS(115),
    [anon_sym_mutating] = ACTIONS(117),
    [anon_sym_nonmutating] = ACTIONS(117),
    [anon_sym_static] = ACTIONS(119),
    [anon_sym_dynamic] = ACTIONS(119),
    [anon_sym_optional] = ACTIONS(119),
    [anon_sym_distributed] = ACTIONS(119),
    [anon_sym_final] = ACTIONS(121),
    [anon_sym_inout] = ACTIONS(123),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(127),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(131),
    [anon_sym_consuming] = ACTIONS(131),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(29),
    [sym__eq_eq_custom] = ACTIONS(29),
    [sym__plus_then_ws] = ACTIONS(29),
    [sym__minus_then_ws] = ACTIONS(29),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [25] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1535),
    [sym_boolean_literal] = STATE(1535),
    [sym__string_literal] = STATE(1535),
    [sym_line_string_literal] = STATE(1535),
    [sym_multi_line_string_literal] = STATE(1535),
    [sym_raw_string_literal] = STATE(1535),
    [sym_regex_literal] = STATE(1535),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1535),
    [sym__unary_expression] = STATE(1535),
    [sym_postfix_expression] = STATE(1535),
    [sym_constructor_expression] = STATE(1535),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1535),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1535),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1535),
    [sym_prefix_expression] = STATE(1535),
    [sym_as_expression] = STATE(1535),
    [sym_selector_expression] = STATE(1535),
    [sym__binary_expression] = STATE(1535),
    [sym_multiplicative_expression] = STATE(1535),
    [sym_additive_expression] = STATE(1535),
    [sym_range_expression] = STATE(1535),
    [sym_infix_expression] = STATE(1535),
    [sym_nil_coalescing_expression] = STATE(1535),
    [sym_check_expression] = STATE(1535),
    [sym_comparison_expression] = STATE(1535),
    [sym_equality_expression] = STATE(1535),
    [sym_conjunction_expression] = STATE(1535),
    [sym_disjunction_expression] = STATE(1535),
    [sym_bitwise_operation] = STATE(1535),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1535),
    [sym_await_expression] = STATE(1535),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1535),
    [sym_call_expression] = STATE(1535),
    [sym_macro_invocation] = STATE(1535),
    [sym__primary_expression] = STATE(1535),
    [sym_tuple_expression] = STATE(1535),
    [sym_array_literal] = STATE(1535),
    [sym_dictionary_literal] = STATE(1535),
    [sym_special_literal] = STATE(1535),
    [sym_playground_literal] = STATE(1535),
    [sym_lambda_literal] = STATE(1535),
    [sym_self_expression] = STATE(1535),
    [sym_super_expression] = STATE(1535),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(7847),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(7847),
    [sym_key_path_expression] = STATE(1535),
    [sym_key_path_string_expression] = STATE(1535),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1535),
    [sym__equality_operator] = STATE(1535),
    [sym__comparison_operator] = STATE(1535),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1535),
    [sym__multiplicative_operator] = STATE(1535),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym__top_level_statement] = STATE(7847),
    [sym__labeled_statement] = STATE(7847),
    [sym_for_statement] = STATE(7847),
    [sym_while_statement] = STATE(7847),
    [sym_repeat_while_statement] = STATE(7847),
    [sym__throw_statement] = STATE(7847),
    [sym_assignment] = STATE(1535),
    [sym_value_parameter_pack] = STATE(1535),
    [sym_value_pack_expansion] = STATE(1535),
    [sym__global_declaration] = STATE(7847),
    [sym_import_declaration] = STATE(7847),
    [sym_property_declaration] = STATE(7847),
    [sym__modifierless_property_declaration] = STATE(7506),
    [sym_typealias_declaration] = STATE(7847),
    [sym__modifierless_typealias_declaration] = STATE(7317),
    [sym_function_declaration] = STATE(7847),
    [sym__bodyless_function_declaration] = STATE(7712),
    [sym__modifierless_function_declaration_no_body] = STATE(8708),
    [sym_macro_declaration] = STATE(7847),
    [sym__macro_head] = STATE(5514),
    [sym_class_declaration] = STATE(7847),
    [sym__modifierless_class_declaration] = STATE(7644),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1535),
    [sym__equal_sign] = STATE(1535),
    [sym__eq_eq] = STATE(1535),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_protocol_declaration] = STATE(7847),
    [sym_init_declaration] = STATE(7847),
    [sym_operator_declaration] = STATE(7847),
    [sym_precedence_group_declaration] = STATE(7847),
    [sym_associatedtype_declaration] = STATE(7847),
    [sym_attribute] = STATE(1786),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [sym_modifiers] = STATE(4955),
    [aux_sym__locally_permitted_modifiers] = STATE(1786),
    [sym__non_local_scope_modifier] = STATE(1786),
    [sym__locally_permitted_modifier] = STATE(1786),
    [sym_property_behavior_modifier] = STATE(1786),
    [sym_member_modifier] = STATE(1786),
    [sym_visibility_modifier] = STATE(1786),
    [sym_function_modifier] = STATE(1786),
    [sym_mutation_modifier] = STATE(1786),
    [sym_property_modifier] = STATE(1786),
    [sym_inheritance_modifier] = STATE(1786),
    [sym_parameter_modifier] = STATE(1786),
    [sym_ownership_modifier] = STATE(1786),
    [sym__parameter_ownership_modifier] = STATE(989),
    [sym_directive] = STATE(1535),
    [sym_diagnostic] = STATE(1535),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym_modifiers_repeat1] = STATE(1786),
    [ts_builtin_sym_end] = ACTIONS(285),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(21),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(25),
    [anon_sym_nil] = ACTIONS(27),
    [sym_real_literal] = ACTIONS(29),
    [sym_integer_literal] = ACTIONS(27),
    [sym_hex_literal] = ACTIONS(27),
    [sym_oct_literal] = ACTIONS(29),
    [sym_bin_literal] = ACTIONS(29),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(27),
    [anon_sym_GT] = ACTIONS(27),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(29),
    [anon_sym_DASH_EQ] = ACTIONS(29),
    [anon_sym_STAR_EQ] = ACTIONS(29),
    [anon_sym_SLASH_EQ] = ACTIONS(29),
    [anon_sym_PERCENT_EQ] = ACTIONS(29),
    [anon_sym_BANG_EQ] = ACTIONS(27),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(29),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(29),
    [anon_sym_LT_EQ] = ACTIONS(29),
    [anon_sym_GT_EQ] = ACTIONS(29),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_SLASH] = ACTIONS(27),
    [anon_sym_PERCENT] = ACTIONS(27),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(29),
    [anon_sym_CARET] = ACTIONS(27),
    [anon_sym_LT_LT] = ACTIONS(29),
    [anon_sym_GT_GT] = ACTIONS(29),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_import] = ACTIONS(81),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(87),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_protocol] = ACTIONS(91),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_macro] = ACTIONS(97),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_init] = ACTIONS(103),
    [anon_sym_prefix] = ACTIONS(105),
    [anon_sym_infix] = ACTIONS(105),
    [anon_sym_postfix] = ACTIONS(105),
    [anon_sym_precedencegroup] = ACTIONS(107),
    [anon_sym_associatedtype] = ACTIONS(109),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(113),
    [anon_sym_convenience] = ACTIONS(113),
    [anon_sym_required] = ACTIONS(113),
    [anon_sym_nonisolated] = ACTIONS(113),
    [anon_sym_public] = ACTIONS(115),
    [anon_sym_private] = ACTIONS(115),
    [anon_sym_internal] = ACTIONS(115),
    [anon_sym_fileprivate] = ACTIONS(115),
    [anon_sym_open] = ACTIONS(115),
    [anon_sym_mutating] = ACTIONS(117),
    [anon_sym_nonmutating] = ACTIONS(117),
    [anon_sym_static] = ACTIONS(119),
    [anon_sym_dynamic] = ACTIONS(119),
    [anon_sym_optional] = ACTIONS(119),
    [anon_sym_distributed] = ACTIONS(119),
    [anon_sym_final] = ACTIONS(121),
    [anon_sym_inout] = ACTIONS(123),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(127),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(131),
    [anon_sym_consuming] = ACTIONS(131),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(29),
    [sym__eq_eq_custom] = ACTIONS(29),
    [sym__plus_then_ws] = ACTIONS(29),
    [sym__minus_then_ws] = ACTIONS(29),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [26] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1535),
    [sym_boolean_literal] = STATE(1535),
    [sym__string_literal] = STATE(1535),
    [sym_line_string_literal] = STATE(1535),
    [sym_multi_line_string_literal] = STATE(1535),
    [sym_raw_string_literal] = STATE(1535),
    [sym_regex_literal] = STATE(1535),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1535),
    [sym__unary_expression] = STATE(1535),
    [sym_postfix_expression] = STATE(1535),
    [sym_constructor_expression] = STATE(1535),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1535),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1535),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1535),
    [sym_prefix_expression] = STATE(1535),
    [sym_as_expression] = STATE(1535),
    [sym_selector_expression] = STATE(1535),
    [sym__binary_expression] = STATE(1535),
    [sym_multiplicative_expression] = STATE(1535),
    [sym_additive_expression] = STATE(1535),
    [sym_range_expression] = STATE(1535),
    [sym_infix_expression] = STATE(1535),
    [sym_nil_coalescing_expression] = STATE(1535),
    [sym_check_expression] = STATE(1535),
    [sym_comparison_expression] = STATE(1535),
    [sym_equality_expression] = STATE(1535),
    [sym_conjunction_expression] = STATE(1535),
    [sym_disjunction_expression] = STATE(1535),
    [sym_bitwise_operation] = STATE(1535),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1535),
    [sym_await_expression] = STATE(1535),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1535),
    [sym_call_expression] = STATE(1535),
    [sym_macro_invocation] = STATE(1535),
    [sym__primary_expression] = STATE(1535),
    [sym_tuple_expression] = STATE(1535),
    [sym_array_literal] = STATE(1535),
    [sym_dictionary_literal] = STATE(1535),
    [sym_special_literal] = STATE(1535),
    [sym_playground_literal] = STATE(1535),
    [sym_lambda_literal] = STATE(1535),
    [sym_self_expression] = STATE(1535),
    [sym_super_expression] = STATE(1535),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(7847),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(7847),
    [sym_key_path_expression] = STATE(1535),
    [sym_key_path_string_expression] = STATE(1535),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1535),
    [sym__equality_operator] = STATE(1535),
    [sym__comparison_operator] = STATE(1535),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1535),
    [sym__multiplicative_operator] = STATE(1535),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym__top_level_statement] = STATE(7847),
    [sym__labeled_statement] = STATE(7847),
    [sym_for_statement] = STATE(7847),
    [sym_while_statement] = STATE(7847),
    [sym_repeat_while_statement] = STATE(7847),
    [sym__throw_statement] = STATE(7847),
    [sym_assignment] = STATE(1535),
    [sym_value_parameter_pack] = STATE(1535),
    [sym_value_pack_expansion] = STATE(1535),
    [sym__global_declaration] = STATE(7847),
    [sym_import_declaration] = STATE(7847),
    [sym_property_declaration] = STATE(7847),
    [sym__modifierless_property_declaration] = STATE(7506),
    [sym_typealias_declaration] = STATE(7847),
    [sym__modifierless_typealias_declaration] = STATE(7317),
    [sym_function_declaration] = STATE(7847),
    [sym__bodyless_function_declaration] = STATE(7712),
    [sym__modifierless_function_declaration_no_body] = STATE(8708),
    [sym_macro_declaration] = STATE(7847),
    [sym__macro_head] = STATE(5514),
    [sym_class_declaration] = STATE(7847),
    [sym__modifierless_class_declaration] = STATE(7644),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1535),
    [sym__equal_sign] = STATE(1535),
    [sym__eq_eq] = STATE(1535),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_protocol_declaration] = STATE(7847),
    [sym_init_declaration] = STATE(7847),
    [sym_operator_declaration] = STATE(7847),
    [sym_precedence_group_declaration] = STATE(7847),
    [sym_associatedtype_declaration] = STATE(7847),
    [sym_attribute] = STATE(1786),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [sym_modifiers] = STATE(4955),
    [aux_sym__locally_permitted_modifiers] = STATE(1786),
    [sym__non_local_scope_modifier] = STATE(1786),
    [sym__locally_permitted_modifier] = STATE(1786),
    [sym_property_behavior_modifier] = STATE(1786),
    [sym_member_modifier] = STATE(1786),
    [sym_visibility_modifier] = STATE(1786),
    [sym_function_modifier] = STATE(1786),
    [sym_mutation_modifier] = STATE(1786),
    [sym_property_modifier] = STATE(1786),
    [sym_inheritance_modifier] = STATE(1786),
    [sym_parameter_modifier] = STATE(1786),
    [sym_ownership_modifier] = STATE(1786),
    [sym__parameter_ownership_modifier] = STATE(989),
    [sym_directive] = STATE(1535),
    [sym_diagnostic] = STATE(1535),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym_modifiers_repeat1] = STATE(1786),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(21),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(25),
    [anon_sym_nil] = ACTIONS(27),
    [sym_real_literal] = ACTIONS(29),
    [sym_integer_literal] = ACTIONS(27),
    [sym_hex_literal] = ACTIONS(27),
    [sym_oct_literal] = ACTIONS(29),
    [sym_bin_literal] = ACTIONS(29),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(27),
    [anon_sym_GT] = ACTIONS(27),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(29),
    [anon_sym_DASH_EQ] = ACTIONS(29),
    [anon_sym_STAR_EQ] = ACTIONS(29),
    [anon_sym_SLASH_EQ] = ACTIONS(29),
    [anon_sym_PERCENT_EQ] = ACTIONS(29),
    [anon_sym_BANG_EQ] = ACTIONS(27),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(29),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(29),
    [anon_sym_LT_EQ] = ACTIONS(29),
    [anon_sym_GT_EQ] = ACTIONS(29),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_SLASH] = ACTIONS(27),
    [anon_sym_PERCENT] = ACTIONS(27),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(29),
    [anon_sym_CARET] = ACTIONS(27),
    [anon_sym_LT_LT] = ACTIONS(29),
    [anon_sym_GT_GT] = ACTIONS(29),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_import] = ACTIONS(81),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(87),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_protocol] = ACTIONS(91),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_macro] = ACTIONS(97),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_init] = ACTIONS(103),
    [anon_sym_prefix] = ACTIONS(105),
    [anon_sym_infix] = ACTIONS(105),
    [anon_sym_postfix] = ACTIONS(105),
    [anon_sym_precedencegroup] = ACTIONS(107),
    [anon_sym_associatedtype] = ACTIONS(109),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(113),
    [anon_sym_convenience] = ACTIONS(113),
    [anon_sym_required] = ACTIONS(113),
    [anon_sym_nonisolated] = ACTIONS(113),
    [anon_sym_public] = ACTIONS(115),
    [anon_sym_private] = ACTIONS(115),
    [anon_sym_internal] = ACTIONS(115),
    [anon_sym_fileprivate] = ACTIONS(115),
    [anon_sym_open] = ACTIONS(115),
    [anon_sym_mutating] = ACTIONS(117),
    [anon_sym_nonmutating] = ACTIONS(117),
    [anon_sym_static] = ACTIONS(119),
    [anon_sym_dynamic] = ACTIONS(119),
    [anon_sym_optional] = ACTIONS(119),
    [anon_sym_distributed] = ACTIONS(119),
    [anon_sym_final] = ACTIONS(121),
    [anon_sym_inout] = ACTIONS(123),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(127),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(131),
    [anon_sym_consuming] = ACTIONS(131),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(29),
    [sym__eq_eq_custom] = ACTIONS(29),
    [sym__plus_then_ws] = ACTIONS(29),
    [sym__minus_then_ws] = ACTIONS(29),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [27] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(800),
    [sym_boolean_literal] = STATE(800),
    [sym__string_literal] = STATE(800),
    [sym_line_string_literal] = STATE(800),
    [sym_multi_line_string_literal] = STATE(800),
    [sym_raw_string_literal] = STATE(800),
    [sym_regex_literal] = STATE(800),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(800),
    [sym__unary_expression] = STATE(800),
    [sym_postfix_expression] = STATE(800),
    [sym_constructor_expression] = STATE(800),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(800),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(800),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(800),
    [sym_prefix_expression] = STATE(800),
    [sym_as_expression] = STATE(800),
    [sym_selector_expression] = STATE(800),
    [sym__binary_expression] = STATE(800),
    [sym_multiplicative_expression] = STATE(800),
    [sym_additive_expression] = STATE(800),
    [sym_range_expression] = STATE(800),
    [sym_infix_expression] = STATE(800),
    [sym_nil_coalescing_expression] = STATE(800),
    [sym_check_expression] = STATE(800),
    [sym_comparison_expression] = STATE(800),
    [sym_equality_expression] = STATE(800),
    [sym_conjunction_expression] = STATE(800),
    [sym_disjunction_expression] = STATE(800),
    [sym_bitwise_operation] = STATE(800),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(800),
    [sym_await_expression] = STATE(800),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(800),
    [sym_call_expression] = STATE(800),
    [sym_macro_invocation] = STATE(800),
    [sym__primary_expression] = STATE(800),
    [sym_tuple_expression] = STATE(800),
    [sym_array_literal] = STATE(800),
    [sym_dictionary_literal] = STATE(800),
    [sym_special_literal] = STATE(800),
    [sym_playground_literal] = STATE(800),
    [sym_lambda_literal] = STATE(800),
    [sym_self_expression] = STATE(800),
    [sym_super_expression] = STATE(800),
    [sym_if_statement] = STATE(1448),
    [sym_guard_statement] = STATE(4561),
    [sym_switch_statement] = STATE(1448),
    [sym_do_statement] = STATE(4561),
    [sym_key_path_expression] = STATE(800),
    [sym_key_path_string_expression] = STATE(800),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(800),
    [sym__equality_operator] = STATE(800),
    [sym__comparison_operator] = STATE(800),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(800),
    [sym__multiplicative_operator] = STATE(800),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym__local_statement] = STATE(4561),
    [sym__labeled_statement] = STATE(4561),
    [sym_for_statement] = STATE(4561),
    [sym_while_statement] = STATE(4561),
    [sym_repeat_while_statement] = STATE(4561),
    [sym_control_transfer_statement] = STATE(4561),
    [sym__throw_statement] = STATE(4581),
    [sym__optionally_valueful_control_keyword] = STATE(124),
    [sym_assignment] = STATE(800),
    [sym_value_parameter_pack] = STATE(800),
    [sym_value_pack_expansion] = STATE(800),
    [sym__local_declaration] = STATE(4561),
    [sym__local_property_declaration] = STATE(4578),
    [sym__local_typealias_declaration] = STATE(4576),
    [sym__local_function_declaration] = STATE(4575),
    [sym__local_class_declaration] = STATE(4568),
    [sym__modifierless_property_declaration] = STATE(4532),
    [sym__modifierless_typealias_declaration] = STATE(4564),
    [sym__modifierless_function_declaration] = STATE(4563),
    [sym__modifierless_function_declaration_no_body] = STATE(7718),
    [sym__modifierless_class_declaration] = STATE(4562),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(800),
    [sym__equal_sign] = STATE(800),
    [sym__eq_eq] = STATE(800),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4842),
    [sym_value_binding_pattern] = STATE(4785),
    [sym__possibly_async_binding_pattern_kind] = STATE(4785),
    [aux_sym__locally_permitted_modifiers] = STATE(4842),
    [sym__locally_permitted_modifier] = STATE(4842),
    [sym_property_behavior_modifier] = STATE(4842),
    [sym_inheritance_modifier] = STATE(4842),
    [sym_ownership_modifier] = STATE(4842),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(800),
    [sym_diagnostic] = STATE(800),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(293),
    [anon_sym_async] = ACTIONS(295),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(299),
    [anon_sym_repeat] = ACTIONS(301),
    [anon_sym_package] = ACTIONS(299),
    [anon_sym_nil] = ACTIONS(303),
    [sym_real_literal] = ACTIONS(305),
    [sym_integer_literal] = ACTIONS(303),
    [sym_hex_literal] = ACTIONS(303),
    [sym_oct_literal] = ACTIONS(305),
    [sym_bin_literal] = ACTIONS(305),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(303),
    [anon_sym_GT] = ACTIONS(303),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_RBRACE] = ACTIONS(333),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_guard] = ACTIONS(339),
    [anon_sym_case] = ACTIONS(299),
    [anon_sym_fallthrough] = ACTIONS(299),
    [anon_sym_do] = ACTIONS(341),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(305),
    [anon_sym_DASH_EQ] = ACTIONS(305),
    [anon_sym_STAR_EQ] = ACTIONS(305),
    [anon_sym_SLASH_EQ] = ACTIONS(305),
    [anon_sym_PERCENT_EQ] = ACTIONS(305),
    [anon_sym_BANG_EQ] = ACTIONS(303),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(305),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(305),
    [anon_sym_LT_EQ] = ACTIONS(305),
    [anon_sym_GT_EQ] = ACTIONS(305),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(303),
    [anon_sym_SLASH] = ACTIONS(303),
    [anon_sym_PERCENT] = ACTIONS(303),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(305),
    [anon_sym_CARET] = ACTIONS(303),
    [anon_sym_LT_LT] = ACTIONS(305),
    [anon_sym_GT_GT] = ACTIONS(305),
    [sym_statement_label] = ACTIONS(349),
    [anon_sym_for] = ACTIONS(351),
    [anon_sym_while] = ACTIONS(353),
    [sym_throw_keyword] = ACTIONS(355),
    [anon_sym_return] = ACTIONS(357),
    [anon_sym_continue] = ACTIONS(357),
    [anon_sym_break] = ACTIONS(357),
    [anon_sym_yield] = ACTIONS(357),
    [anon_sym_typealias] = ACTIONS(359),
    [anon_sym_struct] = ACTIONS(361),
    [anon_sym_class] = ACTIONS(299),
    [anon_sym_enum] = ACTIONS(363),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(365),
    [anon_sym_indirect] = ACTIONS(367),
    [anon_sym_prefix] = ACTIONS(299),
    [anon_sym_infix] = ACTIONS(299),
    [anon_sym_postfix] = ACTIONS(299),
    [anon_sym_AT] = ACTIONS(299),
    [anon_sym_override] = ACTIONS(299),
    [anon_sym_convenience] = ACTIONS(299),
    [anon_sym_required] = ACTIONS(299),
    [anon_sym_nonisolated] = ACTIONS(299),
    [anon_sym_public] = ACTIONS(299),
    [anon_sym_private] = ACTIONS(299),
    [anon_sym_internal] = ACTIONS(299),
    [anon_sym_fileprivate] = ACTIONS(299),
    [anon_sym_open] = ACTIONS(299),
    [anon_sym_mutating] = ACTIONS(299),
    [anon_sym_nonmutating] = ACTIONS(299),
    [anon_sym_static] = ACTIONS(299),
    [anon_sym_dynamic] = ACTIONS(299),
    [anon_sym_optional] = ACTIONS(299),
    [anon_sym_distributed] = ACTIONS(299),
    [anon_sym_final] = ACTIONS(299),
    [anon_sym_inout] = ACTIONS(299),
    [anon_sym_ATescaping] = ACTIONS(333),
    [anon_sym_ATautoclosure] = ACTIONS(333),
    [anon_sym_weak] = ACTIONS(299),
    [anon_sym_unowned] = ACTIONS(299),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(333),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(333),
    [anon_sym_borrowing] = ACTIONS(299),
    [anon_sym_consuming] = ACTIONS(299),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(305),
    [sym__eq_eq_custom] = ACTIONS(305),
    [sym__plus_then_ws] = ACTIONS(305),
    [sym__minus_then_ws] = ACTIONS(305),
    [sym__bang_custom] = ACTIONS(373),
    [sym_default_keyword] = ACTIONS(333),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [28] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(800),
    [sym_boolean_literal] = STATE(800),
    [sym__string_literal] = STATE(800),
    [sym_line_string_literal] = STATE(800),
    [sym_multi_line_string_literal] = STATE(800),
    [sym_raw_string_literal] = STATE(800),
    [sym_regex_literal] = STATE(800),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(800),
    [sym__unary_expression] = STATE(800),
    [sym_postfix_expression] = STATE(800),
    [sym_constructor_expression] = STATE(800),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(800),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(800),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(800),
    [sym_prefix_expression] = STATE(800),
    [sym_as_expression] = STATE(800),
    [sym_selector_expression] = STATE(800),
    [sym__binary_expression] = STATE(800),
    [sym_multiplicative_expression] = STATE(800),
    [sym_additive_expression] = STATE(800),
    [sym_range_expression] = STATE(800),
    [sym_infix_expression] = STATE(800),
    [sym_nil_coalescing_expression] = STATE(800),
    [sym_check_expression] = STATE(800),
    [sym_comparison_expression] = STATE(800),
    [sym_equality_expression] = STATE(800),
    [sym_conjunction_expression] = STATE(800),
    [sym_disjunction_expression] = STATE(800),
    [sym_bitwise_operation] = STATE(800),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(800),
    [sym_await_expression] = STATE(800),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(800),
    [sym_call_expression] = STATE(800),
    [sym_macro_invocation] = STATE(800),
    [sym__primary_expression] = STATE(800),
    [sym_tuple_expression] = STATE(800),
    [sym_array_literal] = STATE(800),
    [sym_dictionary_literal] = STATE(800),
    [sym_special_literal] = STATE(800),
    [sym_playground_literal] = STATE(800),
    [sym_lambda_literal] = STATE(800),
    [sym_self_expression] = STATE(800),
    [sym_super_expression] = STATE(800),
    [sym_if_statement] = STATE(1448),
    [sym_guard_statement] = STATE(4561),
    [sym_switch_statement] = STATE(1448),
    [sym_do_statement] = STATE(4561),
    [sym_key_path_expression] = STATE(800),
    [sym_key_path_string_expression] = STATE(800),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(800),
    [sym__equality_operator] = STATE(800),
    [sym__comparison_operator] = STATE(800),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(800),
    [sym__multiplicative_operator] = STATE(800),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym__local_statement] = STATE(4561),
    [sym__labeled_statement] = STATE(4561),
    [sym_for_statement] = STATE(4561),
    [sym_while_statement] = STATE(4561),
    [sym_repeat_while_statement] = STATE(4561),
    [sym_control_transfer_statement] = STATE(4561),
    [sym__throw_statement] = STATE(4581),
    [sym__optionally_valueful_control_keyword] = STATE(124),
    [sym_assignment] = STATE(800),
    [sym_value_parameter_pack] = STATE(800),
    [sym_value_pack_expansion] = STATE(800),
    [sym__local_declaration] = STATE(4561),
    [sym__local_property_declaration] = STATE(4578),
    [sym__local_typealias_declaration] = STATE(4576),
    [sym__local_function_declaration] = STATE(4575),
    [sym__local_class_declaration] = STATE(4568),
    [sym__modifierless_property_declaration] = STATE(4532),
    [sym__modifierless_typealias_declaration] = STATE(4564),
    [sym__modifierless_function_declaration] = STATE(4563),
    [sym__modifierless_function_declaration_no_body] = STATE(7718),
    [sym__modifierless_class_declaration] = STATE(4562),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(800),
    [sym__equal_sign] = STATE(800),
    [sym__eq_eq] = STATE(800),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4842),
    [sym_value_binding_pattern] = STATE(4785),
    [sym__possibly_async_binding_pattern_kind] = STATE(4785),
    [aux_sym__locally_permitted_modifiers] = STATE(4842),
    [sym__locally_permitted_modifier] = STATE(4842),
    [sym_property_behavior_modifier] = STATE(4842),
    [sym_inheritance_modifier] = STATE(4842),
    [sym_ownership_modifier] = STATE(4842),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(800),
    [sym_diagnostic] = STATE(800),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(293),
    [anon_sym_async] = ACTIONS(295),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(381),
    [anon_sym_repeat] = ACTIONS(301),
    [anon_sym_package] = ACTIONS(381),
    [anon_sym_nil] = ACTIONS(303),
    [sym_real_literal] = ACTIONS(305),
    [sym_integer_literal] = ACTIONS(303),
    [sym_hex_literal] = ACTIONS(303),
    [sym_oct_literal] = ACTIONS(305),
    [sym_bin_literal] = ACTIONS(305),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(303),
    [anon_sym_GT] = ACTIONS(303),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_RBRACE] = ACTIONS(383),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_guard] = ACTIONS(339),
    [anon_sym_case] = ACTIONS(381),
    [anon_sym_fallthrough] = ACTIONS(381),
    [anon_sym_do] = ACTIONS(341),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(305),
    [anon_sym_DASH_EQ] = ACTIONS(305),
    [anon_sym_STAR_EQ] = ACTIONS(305),
    [anon_sym_SLASH_EQ] = ACTIONS(305),
    [anon_sym_PERCENT_EQ] = ACTIONS(305),
    [anon_sym_BANG_EQ] = ACTIONS(303),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(305),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(305),
    [anon_sym_LT_EQ] = ACTIONS(305),
    [anon_sym_GT_EQ] = ACTIONS(305),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(303),
    [anon_sym_SLASH] = ACTIONS(303),
    [anon_sym_PERCENT] = ACTIONS(303),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(305),
    [anon_sym_CARET] = ACTIONS(303),
    [anon_sym_LT_LT] = ACTIONS(305),
    [anon_sym_GT_GT] = ACTIONS(305),
    [sym_statement_label] = ACTIONS(349),
    [anon_sym_for] = ACTIONS(351),
    [anon_sym_while] = ACTIONS(353),
    [sym_throw_keyword] = ACTIONS(355),
    [anon_sym_return] = ACTIONS(357),
    [anon_sym_continue] = ACTIONS(357),
    [anon_sym_break] = ACTIONS(357),
    [anon_sym_yield] = ACTIONS(357),
    [anon_sym_typealias] = ACTIONS(359),
    [anon_sym_struct] = ACTIONS(361),
    [anon_sym_class] = ACTIONS(381),
    [anon_sym_enum] = ACTIONS(363),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(365),
    [anon_sym_indirect] = ACTIONS(367),
    [anon_sym_prefix] = ACTIONS(381),
    [anon_sym_infix] = ACTIONS(381),
    [anon_sym_postfix] = ACTIONS(381),
    [anon_sym_AT] = ACTIONS(381),
    [anon_sym_override] = ACTIONS(381),
    [anon_sym_convenience] = ACTIONS(381),
    [anon_sym_required] = ACTIONS(381),
    [anon_sym_nonisolated] = ACTIONS(381),
    [anon_sym_public] = ACTIONS(381),
    [anon_sym_private] = ACTIONS(381),
    [anon_sym_internal] = ACTIONS(381),
    [anon_sym_fileprivate] = ACTIONS(381),
    [anon_sym_open] = ACTIONS(381),
    [anon_sym_mutating] = ACTIONS(381),
    [anon_sym_nonmutating] = ACTIONS(381),
    [anon_sym_static] = ACTIONS(381),
    [anon_sym_dynamic] = ACTIONS(381),
    [anon_sym_optional] = ACTIONS(381),
    [anon_sym_distributed] = ACTIONS(381),
    [anon_sym_final] = ACTIONS(381),
    [anon_sym_inout] = ACTIONS(381),
    [anon_sym_ATescaping] = ACTIONS(383),
    [anon_sym_ATautoclosure] = ACTIONS(383),
    [anon_sym_weak] = ACTIONS(381),
    [anon_sym_unowned] = ACTIONS(381),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(383),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(383),
    [anon_sym_borrowing] = ACTIONS(381),
    [anon_sym_consuming] = ACTIONS(381),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(305),
    [sym__eq_eq_custom] = ACTIONS(305),
    [sym__plus_then_ws] = ACTIONS(305),
    [sym__minus_then_ws] = ACTIONS(305),
    [sym__bang_custom] = ACTIONS(373),
    [sym_default_keyword] = ACTIONS(383),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [29] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8856),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_computed_getter] = STATE(5202),
    [sym_computed_modify] = STATE(5202),
    [sym_computed_setter] = STATE(5202),
    [sym_getter_specifier] = STATE(6301),
    [sym_setter_specifier] = STATE(6271),
    [sym_modify_specifier] = STATE(6299),
    [sym_attribute] = STATE(4960),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_mutation_modifier] = STATE(7505),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(6114),
    [aux_sym_computed_property_repeat1] = STATE(5202),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(171),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_get] = ACTIONS(161),
    [anon_sym_set] = ACTIONS(163),
    [anon_sym__modify] = ACTIONS(165),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_mutating] = ACTIONS(117),
    [anon_sym_nonmutating] = ACTIONS(117),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [30] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8818),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_computed_getter] = STATE(5299),
    [sym_computed_modify] = STATE(5299),
    [sym_computed_setter] = STATE(5299),
    [sym_getter_specifier] = STATE(6301),
    [sym_setter_specifier] = STATE(6271),
    [sym_modify_specifier] = STATE(6299),
    [sym_attribute] = STATE(4960),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_mutation_modifier] = STATE(7505),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(6114),
    [aux_sym_computed_property_repeat1] = STATE(5299),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(173),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_get] = ACTIONS(161),
    [anon_sym_set] = ACTIONS(163),
    [anon_sym__modify] = ACTIONS(165),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_mutating] = ACTIONS(117),
    [anon_sym_nonmutating] = ACTIONS(117),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [31] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8964),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_computed_getter] = STATE(5329),
    [sym_computed_modify] = STATE(5329),
    [sym_computed_setter] = STATE(5329),
    [sym_getter_specifier] = STATE(6301),
    [sym_setter_specifier] = STATE(6271),
    [sym_modify_specifier] = STATE(6299),
    [sym_attribute] = STATE(4960),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_mutation_modifier] = STATE(7505),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(6114),
    [aux_sym_computed_property_repeat1] = STATE(5329),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(151),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_get] = ACTIONS(161),
    [anon_sym_set] = ACTIONS(163),
    [anon_sym__modify] = ACTIONS(165),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_mutating] = ACTIONS(117),
    [anon_sym_nonmutating] = ACTIONS(117),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [32] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(92),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8753),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4860),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(1704),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(395),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(177),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(273),
    [anon_sym_in] = ACTIONS(275),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(397),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(177),
    [anon_sym_consuming] = ACTIONS(177),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [33] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(77),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8671),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4860),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(1704),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(395),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(177),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(399),
    [anon_sym_in] = ACTIONS(401),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(397),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(177),
    [anon_sym_consuming] = ACTIONS(177),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [34] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(93),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8684),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4860),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(1704),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(395),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(177),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(403),
    [anon_sym_in] = ACTIONS(405),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(397),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(177),
    [anon_sym_consuming] = ACTIONS(177),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [35] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(58),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8920),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4860),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(1704),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(395),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(177),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(407),
    [anon_sym_in] = ACTIONS(409),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(397),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(177),
    [anon_sym_consuming] = ACTIONS(177),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [36] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(72),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8969),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4860),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(1704),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(395),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(177),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(411),
    [anon_sym_in] = ACTIONS(199),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(397),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(177),
    [anon_sym_consuming] = ACTIONS(177),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [37] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(63),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8870),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4860),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(1704),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(395),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(177),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(413),
    [anon_sym_in] = ACTIONS(415),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(397),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(177),
    [anon_sym_consuming] = ACTIONS(177),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [38] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(84),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8762),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4860),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(1704),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(395),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(177),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(417),
    [anon_sym_in] = ACTIONS(419),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(397),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(177),
    [anon_sym_consuming] = ACTIONS(177),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [39] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(81),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8760),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4860),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(1704),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(395),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(177),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(421),
    [anon_sym_in] = ACTIONS(423),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(397),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(177),
    [anon_sym_consuming] = ACTIONS(177),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [40] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(84),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8729),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4860),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(1704),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(395),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(177),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(425),
    [anon_sym_in] = ACTIONS(419),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(397),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(177),
    [anon_sym_consuming] = ACTIONS(177),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [41] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(90),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8711),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4860),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(1704),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(395),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(177),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(427),
    [anon_sym_in] = ACTIONS(429),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(397),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(177),
    [anon_sym_consuming] = ACTIONS(177),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [42] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(98),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8718),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4860),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(1704),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(395),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(177),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(431),
    [anon_sym_in] = ACTIONS(433),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(397),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(177),
    [anon_sym_consuming] = ACTIONS(177),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [43] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(65),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8801),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4860),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(1704),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(395),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(177),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(435),
    [anon_sym_in] = ACTIONS(437),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(397),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(177),
    [anon_sym_consuming] = ACTIONS(177),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [44] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(94),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8687),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4860),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(1704),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(395),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(177),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(439),
    [anon_sym_in] = ACTIONS(441),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(397),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(177),
    [anon_sym_consuming] = ACTIONS(177),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [45] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(78),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8819),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4860),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(1704),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(395),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(177),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(443),
    [anon_sym_in] = ACTIONS(445),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(397),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(177),
    [anon_sym_consuming] = ACTIONS(177),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [46] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1662),
    [sym_boolean_literal] = STATE(1662),
    [sym__string_literal] = STATE(1662),
    [sym_line_string_literal] = STATE(1662),
    [sym_multi_line_string_literal] = STATE(1662),
    [sym_raw_string_literal] = STATE(1662),
    [sym_regex_literal] = STATE(1662),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1662),
    [sym__unary_expression] = STATE(1662),
    [sym_postfix_expression] = STATE(1662),
    [sym_constructor_expression] = STATE(1662),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1662),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1662),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1662),
    [sym_prefix_expression] = STATE(1662),
    [sym_as_expression] = STATE(1662),
    [sym_selector_expression] = STATE(1662),
    [sym__binary_expression] = STATE(1662),
    [sym_multiplicative_expression] = STATE(1662),
    [sym_additive_expression] = STATE(1662),
    [sym_range_expression] = STATE(1662),
    [sym_infix_expression] = STATE(1662),
    [sym_nil_coalescing_expression] = STATE(1662),
    [sym_check_expression] = STATE(1662),
    [sym_comparison_expression] = STATE(1662),
    [sym_equality_expression] = STATE(1662),
    [sym_conjunction_expression] = STATE(1662),
    [sym_disjunction_expression] = STATE(1662),
    [sym_bitwise_operation] = STATE(1662),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1662),
    [sym_await_expression] = STATE(1662),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1662),
    [sym_call_expression] = STATE(1662),
    [sym_macro_invocation] = STATE(1662),
    [sym__primary_expression] = STATE(1662),
    [sym_tuple_expression] = STATE(1662),
    [sym_array_literal] = STATE(1662),
    [sym_dictionary_literal] = STATE(1662),
    [sym_special_literal] = STATE(1662),
    [sym_playground_literal] = STATE(1662),
    [sym_lambda_literal] = STATE(1662),
    [sym_self_expression] = STATE(1662),
    [sym_super_expression] = STATE(1662),
    [sym_if_statement] = STATE(1662),
    [sym__if_condition_sequence_item] = STATE(7132),
    [sym__if_let_binding] = STATE(8586),
    [sym_switch_statement] = STATE(1662),
    [sym_key_path_expression] = STATE(1662),
    [sym_key_path_string_expression] = STATE(1662),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1662),
    [sym__equality_operator] = STATE(1662),
    [sym__comparison_operator] = STATE(1662),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1662),
    [sym__multiplicative_operator] = STATE(1662),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1662),
    [sym_value_parameter_pack] = STATE(1662),
    [sym_value_pack_expansion] = STATE(1662),
    [sym_availability_condition] = STATE(7132),
    [sym__referenceable_operator] = STATE(1662),
    [sym__equal_sign] = STATE(1662),
    [sym__eq_eq] = STATE(1662),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4798),
    [sym_bang] = STATE(1169),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6656),
    [sym_value_binding_pattern] = STATE(4803),
    [sym__possibly_async_binding_pattern_kind] = STATE(4803),
    [sym__binding_kind_and_pattern] = STATE(6648),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1662),
    [sym_diagnostic] = STATE(1662),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(447),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(447),
    [anon_sym_async] = ACTIONS(447),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(447),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(447),
    [anon_sym_nil] = ACTIONS(457),
    [sym_real_literal] = ACTIONS(459),
    [sym_integer_literal] = ACTIONS(457),
    [sym_hex_literal] = ACTIONS(457),
    [sym_oct_literal] = ACTIONS(459),
    [sym_bin_literal] = ACTIONS(459),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(469),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(469),
    [anon_sym_LBRACK] = ACTIONS(469),
    [anon_sym_QMARK] = ACTIONS(447),
    [anon_sym_QMARK2] = ACTIONS(469),
    [anon_sym_AMP] = ACTIONS(469),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(469),
    [anon_sym_LT] = ACTIONS(447),
    [anon_sym_GT] = ACTIONS(447),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(469),
    [anon_sym_CARET_LBRACE] = ACTIONS(469),
    [anon_sym_RBRACE] = ACTIONS(469),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(447),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(469),
    [anon_sym_DASH_EQ] = ACTIONS(469),
    [anon_sym_STAR_EQ] = ACTIONS(469),
    [anon_sym_SLASH_EQ] = ACTIONS(469),
    [anon_sym_PERCENT_EQ] = ACTIONS(469),
    [anon_sym_BANG_EQ] = ACTIONS(447),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(469),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(469),
    [anon_sym_LT_EQ] = ACTIONS(469),
    [anon_sym_GT_EQ] = ACTIONS(469),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(469),
    [anon_sym_DOT_DOT_LT] = ACTIONS(469),
    [anon_sym_is] = ACTIONS(447),
    [anon_sym_PLUS] = ACTIONS(447),
    [anon_sym_DASH] = ACTIONS(447),
    [anon_sym_STAR] = ACTIONS(447),
    [anon_sym_SLASH] = ACTIONS(447),
    [anon_sym_PERCENT] = ACTIONS(447),
    [anon_sym_PLUS_PLUS] = ACTIONS(469),
    [anon_sym_DASH_DASH] = ACTIONS(469),
    [anon_sym_PIPE] = ACTIONS(469),
    [anon_sym_CARET] = ACTIONS(447),
    [anon_sym_LT_LT] = ACTIONS(469),
    [anon_sym_GT_GT] = ACTIONS(469),
    [anon_sym_import] = ACTIONS(447),
    [anon_sym_typealias] = ACTIONS(447),
    [anon_sym_struct] = ACTIONS(447),
    [anon_sym_class] = ACTIONS(447),
    [anon_sym_enum] = ACTIONS(447),
    [anon_sym_protocol] = ACTIONS(447),
    [anon_sym_let] = ACTIONS(447),
    [anon_sym_var] = ACTIONS(447),
    [anon_sym_func] = ACTIONS(447),
    [anon_sym_extension] = ACTIONS(447),
    [anon_sym_indirect] = ACTIONS(447),
    [anon_sym_SEMI] = ACTIONS(469),
    [anon_sym_init] = ACTIONS(447),
    [anon_sym_deinit] = ACTIONS(447),
    [anon_sym_subscript] = ACTIONS(447),
    [anon_sym_prefix] = ACTIONS(447),
    [anon_sym_infix] = ACTIONS(447),
    [anon_sym_postfix] = ACTIONS(447),
    [anon_sym_precedencegroup] = ACTIONS(447),
    [anon_sym_associatedtype] = ACTIONS(447),
    [anon_sym_AT] = ACTIONS(447),
    [anon_sym_override] = ACTIONS(447),
    [anon_sym_convenience] = ACTIONS(447),
    [anon_sym_required] = ACTIONS(447),
    [anon_sym_nonisolated] = ACTIONS(447),
    [anon_sym_public] = ACTIONS(447),
    [anon_sym_private] = ACTIONS(447),
    [anon_sym_internal] = ACTIONS(447),
    [anon_sym_fileprivate] = ACTIONS(447),
    [anon_sym_open] = ACTIONS(447),
    [anon_sym_mutating] = ACTIONS(447),
    [anon_sym_nonmutating] = ACTIONS(447),
    [anon_sym_static] = ACTIONS(447),
    [anon_sym_dynamic] = ACTIONS(447),
    [anon_sym_optional] = ACTIONS(447),
    [anon_sym_distributed] = ACTIONS(447),
    [anon_sym_final] = ACTIONS(447),
    [anon_sym_inout] = ACTIONS(447),
    [anon_sym_ATescaping] = ACTIONS(469),
    [anon_sym_ATautoclosure] = ACTIONS(469),
    [anon_sym_weak] = ACTIONS(447),
    [anon_sym_unowned] = ACTIONS(447),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(469),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(469),
    [anon_sym_borrowing] = ACTIONS(447),
    [anon_sym_consuming] = ACTIONS(447),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(469),
    [sym__conjunction_operator_custom] = ACTIONS(469),
    [sym__disjunction_operator_custom] = ACTIONS(469),
    [sym__nil_coalescing_operator_custom] = ACTIONS(469),
    [sym__eq_custom] = ACTIONS(469),
    [sym__eq_eq_custom] = ACTIONS(469),
    [sym__plus_then_ws] = ACTIONS(469),
    [sym__minus_then_ws] = ACTIONS(469),
    [sym__bang_custom] = ACTIONS(469),
    [sym__as_custom] = ACTIONS(469),
    [sym__as_quest_custom] = ACTIONS(469),
    [sym__as_bang_custom] = ACTIONS(469),
    [sym__custom_operator] = ACTIONS(469),
    [sym__hash_symbol_custom] = ACTIONS(487),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [47] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(73),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8779),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4860),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(1704),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(395),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(177),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(493),
    [anon_sym_in] = ACTIONS(495),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(397),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(177),
    [anon_sym_consuming] = ACTIONS(177),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [48] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(80),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8804),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4860),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(1704),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(395),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(177),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(497),
    [anon_sym_in] = ACTIONS(499),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(397),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(177),
    [anon_sym_consuming] = ACTIONS(177),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [49] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(93),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8748),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4860),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(1704),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(395),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(177),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(501),
    [anon_sym_in] = ACTIONS(405),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(397),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(177),
    [anon_sym_consuming] = ACTIONS(177),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [50] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(54),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8893),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4860),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(1704),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(395),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(177),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(503),
    [anon_sym_in] = ACTIONS(505),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(397),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(177),
    [anon_sym_consuming] = ACTIONS(177),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [51] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(100),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8712),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4860),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(1704),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(395),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(177),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(265),
    [anon_sym_in] = ACTIONS(267),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(397),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(177),
    [anon_sym_consuming] = ACTIONS(177),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [52] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(88),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8774),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4860),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(1704),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(395),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(177),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(255),
    [anon_sym_in] = ACTIONS(257),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(397),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(177),
    [anon_sym_consuming] = ACTIONS(177),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [53] = {
    [sym_simple_identifier] = STATE(1688),
    [sym__contextual_simple_identifier] = STATE(1704),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym__lambda_type_declaration] = STATE(96),
    [sym_capture_list] = STATE(4992),
    [sym_lambda_function_type] = STATE(8741),
    [sym_lambda_function_type_parameters] = STATE(6437),
    [sym_lambda_parameter] = STATE(6644),
    [sym_self_expression] = STATE(2183),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8663),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4860),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(1704),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4909),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(177),
    [aux_sym_simple_identifier_token2] = ACTIONS(179),
    [aux_sym_simple_identifier_token3] = ACTIONS(179),
    [aux_sym_simple_identifier_token4] = ACTIONS(179),
    [anon_sym_actor] = ACTIONS(181),
    [anon_sym_async] = ACTIONS(183),
    [anon_sym_each] = ACTIONS(185),
    [anon_sym_lazy] = ACTIONS(395),
    [anon_sym_repeat] = ACTIONS(189),
    [anon_sym_package] = ACTIONS(177),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(193),
    [anon_sym_LBRACK] = ACTIONS(195),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(237),
    [anon_sym_in] = ACTIONS(239),
    [anon_sym_self] = ACTIONS(201),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(397),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(177),
    [anon_sym_consuming] = ACTIONS(177),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [54] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8864),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(507),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [55] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8679),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(509),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [56] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8827),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(511),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [57] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8820),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(513),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [58] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(9010),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(515),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [59] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(9008),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(517),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [60] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8867),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(519),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [61] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8849),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(521),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [62] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8922),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(523),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [63] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8850),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(525),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [64] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8815),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(527),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [65] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8757),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(529),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [66] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8756),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(531),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [67] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8941),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(533),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [68] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8802),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(535),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [69] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(9012),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(537),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [70] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8992),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(539),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [71] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8784),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(541),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [72] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8997),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(543),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [73] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8780),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(545),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [74] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8859),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(547),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [75] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8924),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(549),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [76] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(9016),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(551),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [77] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8689),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(553),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [78] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8787),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(555),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [79] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8766),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(557),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [80] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8783),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(559),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [81] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8765),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(561),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [82] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8785),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(563),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [83] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8781),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(565),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [84] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8732),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(567),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [85] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8728),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(569),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [86] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8690),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(571),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [87] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8790),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(573),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [88] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8796),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(575),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [89] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8755),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(577),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [90] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8701),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(579),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [91] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8700),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(581),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [92] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8754),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(583),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [93] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8963),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(585),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [94] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8682),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(587),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [95] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8735),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(589),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [96] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8683),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(591),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [97] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8665),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(593),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [98] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8792),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(595),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [99] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8794),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(597),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [100] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8731),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(599),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [101] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(6984),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(6984),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_statements] = STATE(8973),
    [sym__local_statement] = STATE(6984),
    [sym__labeled_statement] = STATE(6984),
    [sym_for_statement] = STATE(6984),
    [sym_while_statement] = STATE(6984),
    [sym_repeat_while_statement] = STATE(6984),
    [sym_control_transfer_statement] = STATE(6984),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(6984),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(601),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [102] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(800),
    [sym_boolean_literal] = STATE(800),
    [sym__string_literal] = STATE(800),
    [sym_line_string_literal] = STATE(800),
    [sym_multi_line_string_literal] = STATE(800),
    [sym_raw_string_literal] = STATE(800),
    [sym_regex_literal] = STATE(800),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(800),
    [sym__unary_expression] = STATE(800),
    [sym_postfix_expression] = STATE(800),
    [sym_constructor_expression] = STATE(800),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(800),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(800),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(800),
    [sym_prefix_expression] = STATE(800),
    [sym_as_expression] = STATE(800),
    [sym_selector_expression] = STATE(800),
    [sym__binary_expression] = STATE(800),
    [sym_multiplicative_expression] = STATE(800),
    [sym_additive_expression] = STATE(800),
    [sym_range_expression] = STATE(800),
    [sym_infix_expression] = STATE(800),
    [sym_nil_coalescing_expression] = STATE(800),
    [sym_check_expression] = STATE(800),
    [sym_comparison_expression] = STATE(800),
    [sym_equality_expression] = STATE(800),
    [sym_conjunction_expression] = STATE(800),
    [sym_disjunction_expression] = STATE(800),
    [sym_bitwise_operation] = STATE(800),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(800),
    [sym_await_expression] = STATE(800),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(800),
    [sym_call_expression] = STATE(800),
    [sym_macro_invocation] = STATE(800),
    [sym__primary_expression] = STATE(800),
    [sym_tuple_expression] = STATE(800),
    [sym_array_literal] = STATE(800),
    [sym_dictionary_literal] = STATE(800),
    [sym_special_literal] = STATE(800),
    [sym_playground_literal] = STATE(800),
    [sym_lambda_literal] = STATE(800),
    [sym_self_expression] = STATE(800),
    [sym_super_expression] = STATE(800),
    [sym_if_statement] = STATE(1448),
    [sym_guard_statement] = STATE(4489),
    [sym_switch_statement] = STATE(1448),
    [sym_do_statement] = STATE(4489),
    [sym_key_path_expression] = STATE(800),
    [sym_key_path_string_expression] = STATE(800),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(800),
    [sym__equality_operator] = STATE(800),
    [sym__comparison_operator] = STATE(800),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(800),
    [sym__multiplicative_operator] = STATE(800),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_statements] = STATE(4643),
    [sym__local_statement] = STATE(4489),
    [sym__labeled_statement] = STATE(4489),
    [sym_for_statement] = STATE(4489),
    [sym_while_statement] = STATE(4489),
    [sym_repeat_while_statement] = STATE(4489),
    [sym_control_transfer_statement] = STATE(4489),
    [sym__throw_statement] = STATE(4581),
    [sym__optionally_valueful_control_keyword] = STATE(124),
    [sym_assignment] = STATE(800),
    [sym_value_parameter_pack] = STATE(800),
    [sym_value_pack_expansion] = STATE(800),
    [sym__local_declaration] = STATE(4489),
    [sym__local_property_declaration] = STATE(4578),
    [sym__local_typealias_declaration] = STATE(4576),
    [sym__local_function_declaration] = STATE(4575),
    [sym__local_class_declaration] = STATE(4568),
    [sym__modifierless_property_declaration] = STATE(4532),
    [sym__modifierless_typealias_declaration] = STATE(4564),
    [sym__modifierless_function_declaration] = STATE(4563),
    [sym__modifierless_function_declaration_no_body] = STATE(7718),
    [sym__modifierless_class_declaration] = STATE(4562),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(800),
    [sym__equal_sign] = STATE(800),
    [sym__eq_eq] = STATE(800),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4842),
    [sym_value_binding_pattern] = STATE(4785),
    [sym__possibly_async_binding_pattern_kind] = STATE(4785),
    [aux_sym__locally_permitted_modifiers] = STATE(4842),
    [sym__locally_permitted_modifier] = STATE(4842),
    [sym_property_behavior_modifier] = STATE(4842),
    [sym_inheritance_modifier] = STATE(4842),
    [sym_ownership_modifier] = STATE(4842),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(800),
    [sym_diagnostic] = STATE(800),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(293),
    [anon_sym_async] = ACTIONS(295),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(603),
    [anon_sym_repeat] = ACTIONS(301),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(303),
    [sym_real_literal] = ACTIONS(305),
    [sym_integer_literal] = ACTIONS(303),
    [sym_hex_literal] = ACTIONS(303),
    [sym_oct_literal] = ACTIONS(305),
    [sym_bin_literal] = ACTIONS(305),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(303),
    [anon_sym_GT] = ACTIONS(303),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_guard] = ACTIONS(339),
    [anon_sym_do] = ACTIONS(341),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(305),
    [anon_sym_DASH_EQ] = ACTIONS(305),
    [anon_sym_STAR_EQ] = ACTIONS(305),
    [anon_sym_SLASH_EQ] = ACTIONS(305),
    [anon_sym_PERCENT_EQ] = ACTIONS(305),
    [anon_sym_BANG_EQ] = ACTIONS(303),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(305),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(305),
    [anon_sym_LT_EQ] = ACTIONS(305),
    [anon_sym_GT_EQ] = ACTIONS(305),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(303),
    [anon_sym_SLASH] = ACTIONS(303),
    [anon_sym_PERCENT] = ACTIONS(303),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(305),
    [anon_sym_CARET] = ACTIONS(303),
    [anon_sym_LT_LT] = ACTIONS(305),
    [anon_sym_GT_GT] = ACTIONS(305),
    [sym_statement_label] = ACTIONS(349),
    [anon_sym_for] = ACTIONS(351),
    [anon_sym_while] = ACTIONS(353),
    [sym_throw_keyword] = ACTIONS(355),
    [anon_sym_return] = ACTIONS(357),
    [anon_sym_continue] = ACTIONS(357),
    [anon_sym_break] = ACTIONS(357),
    [anon_sym_yield] = ACTIONS(357),
    [anon_sym_typealias] = ACTIONS(359),
    [anon_sym_struct] = ACTIONS(361),
    [anon_sym_class] = ACTIONS(361),
    [anon_sym_enum] = ACTIONS(363),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(365),
    [anon_sym_indirect] = ACTIONS(367),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(305),
    [sym__eq_eq_custom] = ACTIONS(305),
    [sym__plus_then_ws] = ACTIONS(305),
    [sym__minus_then_ws] = ACTIONS(305),
    [sym__bang_custom] = ACTIONS(373),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [103] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(752),
    [sym_boolean_literal] = STATE(752),
    [sym__string_literal] = STATE(752),
    [sym_line_string_literal] = STATE(752),
    [sym_multi_line_string_literal] = STATE(752),
    [sym_raw_string_literal] = STATE(752),
    [sym_regex_literal] = STATE(752),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6436),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6436),
    [sym_dictionary_type] = STATE(6436),
    [sym__expression] = STATE(752),
    [sym__unary_expression] = STATE(752),
    [sym_postfix_expression] = STATE(752),
    [sym_constructor_expression] = STATE(752),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(752),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(752),
    [sym__range_operator] = STATE(694),
    [sym_open_end_range_expression] = STATE(752),
    [sym_prefix_expression] = STATE(752),
    [sym_as_expression] = STATE(752),
    [sym_selector_expression] = STATE(752),
    [sym__binary_expression] = STATE(752),
    [sym_multiplicative_expression] = STATE(752),
    [sym_additive_expression] = STATE(752),
    [sym_range_expression] = STATE(752),
    [sym_infix_expression] = STATE(752),
    [sym_nil_coalescing_expression] = STATE(752),
    [sym_check_expression] = STATE(752),
    [sym_comparison_expression] = STATE(752),
    [sym_equality_expression] = STATE(752),
    [sym_conjunction_expression] = STATE(752),
    [sym_disjunction_expression] = STATE(752),
    [sym_bitwise_operation] = STATE(752),
    [sym_custom_operator] = STATE(741),
    [sym_try_expression] = STATE(752),
    [sym_await_expression] = STATE(752),
    [sym__await_operator] = STATE(681),
    [sym_ternary_expression] = STATE(752),
    [sym_call_expression] = STATE(752),
    [sym_macro_invocation] = STATE(752),
    [sym__primary_expression] = STATE(752),
    [sym_tuple_expression] = STATE(752),
    [sym_array_literal] = STATE(752),
    [sym_dictionary_literal] = STATE(752),
    [sym_special_literal] = STATE(752),
    [sym_playground_literal] = STATE(752),
    [sym_lambda_literal] = STATE(752),
    [sym_self_expression] = STATE(752),
    [sym_super_expression] = STATE(752),
    [sym_if_statement] = STATE(752),
    [sym_switch_statement] = STATE(752),
    [sym_key_path_expression] = STATE(752),
    [sym_key_path_string_expression] = STATE(752),
    [sym_try_operator] = STATE(678),
    [sym__assignment_and_operator] = STATE(752),
    [sym__equality_operator] = STATE(752),
    [sym__comparison_operator] = STATE(752),
    [sym__three_dot_operator] = STATE(742),
    [sym__open_ended_range_operator] = STATE(694),
    [sym__additive_operator] = STATE(752),
    [sym__multiplicative_operator] = STATE(752),
    [sym__prefix_unary_operator] = STATE(622),
    [sym_directly_assignable_expression] = STATE(6420),
    [sym_assignment] = STATE(752),
    [sym_value_parameter_pack] = STATE(752),
    [sym_value_pack_expansion] = STATE(752),
    [sym__referenceable_operator] = STATE(752),
    [sym__equal_sign] = STATE(752),
    [sym__eq_eq] = STATE(752),
    [sym__dot] = STATE(622),
    [sym__hash_symbol] = STATE(4852),
    [sym_bang] = STATE(741),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(752),
    [sym_diagnostic] = STATE(752),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(605),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(607),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(609),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(611),
    [sym_real_literal] = ACTIONS(613),
    [sym_integer_literal] = ACTIONS(611),
    [sym_hex_literal] = ACTIONS(611),
    [sym_oct_literal] = ACTIONS(613),
    [sym_bin_literal] = ACTIONS(613),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(615),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(617),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(625),
    [anon_sym_TILDE] = ACTIONS(625),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(627),
    [aux_sym_custom_operator_token1] = ACTIONS(629),
    [anon_sym_LT] = ACTIONS(611),
    [anon_sym_GT] = ACTIONS(611),
    [anon_sym_await] = ACTIONS(631),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(623),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(613),
    [anon_sym_DASH_EQ] = ACTIONS(613),
    [anon_sym_STAR_EQ] = ACTIONS(613),
    [anon_sym_SLASH_EQ] = ACTIONS(613),
    [anon_sym_PERCENT_EQ] = ACTIONS(613),
    [anon_sym_BANG_EQ] = ACTIONS(611),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(613),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(613),
    [anon_sym_LT_EQ] = ACTIONS(613),
    [anon_sym_GT_EQ] = ACTIONS(613),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(635),
    [anon_sym_DOT_DOT_LT] = ACTIONS(637),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(639),
    [anon_sym_DASH] = ACTIONS(639),
    [anon_sym_STAR] = ACTIONS(611),
    [anon_sym_SLASH] = ACTIONS(611),
    [anon_sym_PERCENT] = ACTIONS(611),
    [anon_sym_PLUS_PLUS] = ACTIONS(625),
    [anon_sym_DASH_DASH] = ACTIONS(625),
    [anon_sym_PIPE] = ACTIONS(613),
    [anon_sym_CARET] = ACTIONS(611),
    [anon_sym_LT_LT] = ACTIONS(613),
    [anon_sym_GT_GT] = ACTIONS(613),
    [anon_sym_import] = ACTIONS(623),
    [anon_sym_typealias] = ACTIONS(623),
    [anon_sym_struct] = ACTIONS(623),
    [anon_sym_class] = ACTIONS(623),
    [anon_sym_enum] = ACTIONS(623),
    [anon_sym_protocol] = ACTIONS(623),
    [anon_sym_let] = ACTIONS(623),
    [anon_sym_var] = ACTIONS(623),
    [anon_sym_func] = ACTIONS(623),
    [anon_sym_extension] = ACTIONS(623),
    [anon_sym_indirect] = ACTIONS(623),
    [anon_sym_SEMI] = ACTIONS(617),
    [anon_sym_init] = ACTIONS(623),
    [anon_sym_deinit] = ACTIONS(623),
    [anon_sym_subscript] = ACTIONS(623),
    [anon_sym_prefix] = ACTIONS(623),
    [anon_sym_infix] = ACTIONS(623),
    [anon_sym_postfix] = ACTIONS(623),
    [anon_sym_precedencegroup] = ACTIONS(623),
    [anon_sym_associatedtype] = ACTIONS(623),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(623),
    [anon_sym_convenience] = ACTIONS(623),
    [anon_sym_required] = ACTIONS(623),
    [anon_sym_nonisolated] = ACTIONS(623),
    [anon_sym_public] = ACTIONS(623),
    [anon_sym_private] = ACTIONS(623),
    [anon_sym_internal] = ACTIONS(623),
    [anon_sym_fileprivate] = ACTIONS(623),
    [anon_sym_open] = ACTIONS(623),
    [anon_sym_mutating] = ACTIONS(623),
    [anon_sym_nonmutating] = ACTIONS(623),
    [anon_sym_static] = ACTIONS(623),
    [anon_sym_dynamic] = ACTIONS(623),
    [anon_sym_optional] = ACTIONS(623),
    [anon_sym_distributed] = ACTIONS(623),
    [anon_sym_final] = ACTIONS(623),
    [anon_sym_inout] = ACTIONS(623),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(623),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(641),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(613),
    [sym__eq_eq_custom] = ACTIONS(613),
    [sym__plus_then_ws] = ACTIONS(613),
    [sym__minus_then_ws] = ACTIONS(613),
    [sym__bang_custom] = ACTIONS(643),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(629),
    [sym__hash_symbol_custom] = ACTIONS(645),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [104] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(800),
    [sym_boolean_literal] = STATE(800),
    [sym__string_literal] = STATE(800),
    [sym_line_string_literal] = STATE(800),
    [sym_multi_line_string_literal] = STATE(800),
    [sym_raw_string_literal] = STATE(800),
    [sym_regex_literal] = STATE(800),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(800),
    [sym__unary_expression] = STATE(800),
    [sym_postfix_expression] = STATE(800),
    [sym_constructor_expression] = STATE(800),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(800),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(800),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(800),
    [sym_prefix_expression] = STATE(800),
    [sym_as_expression] = STATE(800),
    [sym_selector_expression] = STATE(800),
    [sym__binary_expression] = STATE(800),
    [sym_multiplicative_expression] = STATE(800),
    [sym_additive_expression] = STATE(800),
    [sym_range_expression] = STATE(800),
    [sym_infix_expression] = STATE(800),
    [sym_nil_coalescing_expression] = STATE(800),
    [sym_check_expression] = STATE(800),
    [sym_comparison_expression] = STATE(800),
    [sym_equality_expression] = STATE(800),
    [sym_conjunction_expression] = STATE(800),
    [sym_disjunction_expression] = STATE(800),
    [sym_bitwise_operation] = STATE(800),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(800),
    [sym_await_expression] = STATE(800),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(800),
    [sym_call_expression] = STATE(800),
    [sym_macro_invocation] = STATE(800),
    [sym__primary_expression] = STATE(800),
    [sym_tuple_expression] = STATE(800),
    [sym_array_literal] = STATE(800),
    [sym_dictionary_literal] = STATE(800),
    [sym_special_literal] = STATE(800),
    [sym_playground_literal] = STATE(800),
    [sym_lambda_literal] = STATE(800),
    [sym_self_expression] = STATE(800),
    [sym_super_expression] = STATE(800),
    [sym_if_statement] = STATE(1448),
    [sym_guard_statement] = STATE(4489),
    [sym_switch_statement] = STATE(1448),
    [sym_do_statement] = STATE(4489),
    [sym_key_path_expression] = STATE(800),
    [sym_key_path_string_expression] = STATE(800),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(800),
    [sym__equality_operator] = STATE(800),
    [sym__comparison_operator] = STATE(800),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(800),
    [sym__multiplicative_operator] = STATE(800),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_statements] = STATE(4654),
    [sym__local_statement] = STATE(4489),
    [sym__labeled_statement] = STATE(4489),
    [sym_for_statement] = STATE(4489),
    [sym_while_statement] = STATE(4489),
    [sym_repeat_while_statement] = STATE(4489),
    [sym_control_transfer_statement] = STATE(4489),
    [sym__throw_statement] = STATE(4581),
    [sym__optionally_valueful_control_keyword] = STATE(124),
    [sym_assignment] = STATE(800),
    [sym_value_parameter_pack] = STATE(800),
    [sym_value_pack_expansion] = STATE(800),
    [sym__local_declaration] = STATE(4489),
    [sym__local_property_declaration] = STATE(4578),
    [sym__local_typealias_declaration] = STATE(4576),
    [sym__local_function_declaration] = STATE(4575),
    [sym__local_class_declaration] = STATE(4568),
    [sym__modifierless_property_declaration] = STATE(4532),
    [sym__modifierless_typealias_declaration] = STATE(4564),
    [sym__modifierless_function_declaration] = STATE(4563),
    [sym__modifierless_function_declaration_no_body] = STATE(7718),
    [sym__modifierless_class_declaration] = STATE(4562),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(800),
    [sym__equal_sign] = STATE(800),
    [sym__eq_eq] = STATE(800),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4842),
    [sym_value_binding_pattern] = STATE(4785),
    [sym__possibly_async_binding_pattern_kind] = STATE(4785),
    [aux_sym__locally_permitted_modifiers] = STATE(4842),
    [sym__locally_permitted_modifier] = STATE(4842),
    [sym_property_behavior_modifier] = STATE(4842),
    [sym_inheritance_modifier] = STATE(4842),
    [sym_ownership_modifier] = STATE(4842),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(800),
    [sym_diagnostic] = STATE(800),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(293),
    [anon_sym_async] = ACTIONS(295),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(603),
    [anon_sym_repeat] = ACTIONS(301),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(303),
    [sym_real_literal] = ACTIONS(305),
    [sym_integer_literal] = ACTIONS(303),
    [sym_hex_literal] = ACTIONS(303),
    [sym_oct_literal] = ACTIONS(305),
    [sym_bin_literal] = ACTIONS(305),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(303),
    [anon_sym_GT] = ACTIONS(303),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_guard] = ACTIONS(339),
    [anon_sym_do] = ACTIONS(341),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(305),
    [anon_sym_DASH_EQ] = ACTIONS(305),
    [anon_sym_STAR_EQ] = ACTIONS(305),
    [anon_sym_SLASH_EQ] = ACTIONS(305),
    [anon_sym_PERCENT_EQ] = ACTIONS(305),
    [anon_sym_BANG_EQ] = ACTIONS(303),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(305),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(305),
    [anon_sym_LT_EQ] = ACTIONS(305),
    [anon_sym_GT_EQ] = ACTIONS(305),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(303),
    [anon_sym_SLASH] = ACTIONS(303),
    [anon_sym_PERCENT] = ACTIONS(303),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(305),
    [anon_sym_CARET] = ACTIONS(303),
    [anon_sym_LT_LT] = ACTIONS(305),
    [anon_sym_GT_GT] = ACTIONS(305),
    [sym_statement_label] = ACTIONS(349),
    [anon_sym_for] = ACTIONS(351),
    [anon_sym_while] = ACTIONS(353),
    [sym_throw_keyword] = ACTIONS(355),
    [anon_sym_return] = ACTIONS(357),
    [anon_sym_continue] = ACTIONS(357),
    [anon_sym_break] = ACTIONS(357),
    [anon_sym_yield] = ACTIONS(357),
    [anon_sym_typealias] = ACTIONS(359),
    [anon_sym_struct] = ACTIONS(361),
    [anon_sym_class] = ACTIONS(361),
    [anon_sym_enum] = ACTIONS(363),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(365),
    [anon_sym_indirect] = ACTIONS(367),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(305),
    [sym__eq_eq_custom] = ACTIONS(305),
    [sym__plus_then_ws] = ACTIONS(305),
    [sym__minus_then_ws] = ACTIONS(305),
    [sym__bang_custom] = ACTIONS(373),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [105] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(7488),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(7488),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym__local_statement] = STATE(7488),
    [sym__labeled_statement] = STATE(7488),
    [sym_for_statement] = STATE(7488),
    [sym_while_statement] = STATE(7488),
    [sym_repeat_while_statement] = STATE(7488),
    [sym_control_transfer_statement] = STATE(7488),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(7488),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(383),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [106] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1673),
    [sym_boolean_literal] = STATE(1673),
    [sym__string_literal] = STATE(1673),
    [sym_line_string_literal] = STATE(1673),
    [sym_multi_line_string_literal] = STATE(1673),
    [sym_raw_string_literal] = STATE(1673),
    [sym_regex_literal] = STATE(1673),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1673),
    [sym__unary_expression] = STATE(1673),
    [sym_postfix_expression] = STATE(1673),
    [sym_constructor_expression] = STATE(1673),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1673),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1673),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1673),
    [sym_prefix_expression] = STATE(1673),
    [sym_as_expression] = STATE(1673),
    [sym_selector_expression] = STATE(1673),
    [sym__binary_expression] = STATE(1673),
    [sym_multiplicative_expression] = STATE(1673),
    [sym_additive_expression] = STATE(1673),
    [sym_range_expression] = STATE(1673),
    [sym_infix_expression] = STATE(1673),
    [sym_nil_coalescing_expression] = STATE(1673),
    [sym_check_expression] = STATE(1673),
    [sym_comparison_expression] = STATE(1673),
    [sym_equality_expression] = STATE(1673),
    [sym_conjunction_expression] = STATE(1673),
    [sym_disjunction_expression] = STATE(1673),
    [sym_bitwise_operation] = STATE(1673),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1673),
    [sym_await_expression] = STATE(1673),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1673),
    [sym_call_expression] = STATE(1673),
    [sym_macro_invocation] = STATE(1673),
    [sym__primary_expression] = STATE(1673),
    [sym_tuple_expression] = STATE(1673),
    [sym_array_literal] = STATE(1673),
    [sym_dictionary_literal] = STATE(1673),
    [sym_special_literal] = STATE(1673),
    [sym_playground_literal] = STATE(1673),
    [sym_lambda_literal] = STATE(1673),
    [sym_self_expression] = STATE(1673),
    [sym_super_expression] = STATE(1673),
    [sym_if_statement] = STATE(1673),
    [sym_switch_statement] = STATE(1673),
    [sym_key_path_expression] = STATE(1673),
    [sym_key_path_string_expression] = STATE(1673),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1673),
    [sym__equality_operator] = STATE(1673),
    [sym__comparison_operator] = STATE(1673),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1673),
    [sym__multiplicative_operator] = STATE(1673),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1673),
    [sym_value_parameter_pack] = STATE(1673),
    [sym_value_pack_expansion] = STATE(1673),
    [sym__referenceable_operator] = STATE(1673),
    [sym__equal_sign] = STATE(1673),
    [sym__eq_eq] = STATE(1673),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1673),
    [sym_diagnostic] = STATE(1673),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(447),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(447),
    [anon_sym_async] = ACTIONS(447),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(447),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(447),
    [anon_sym_nil] = ACTIONS(647),
    [sym_real_literal] = ACTIONS(649),
    [sym_integer_literal] = ACTIONS(647),
    [sym_hex_literal] = ACTIONS(647),
    [sym_oct_literal] = ACTIONS(649),
    [sym_bin_literal] = ACTIONS(649),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(469),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(469),
    [anon_sym_LBRACK] = ACTIONS(469),
    [anon_sym_QMARK] = ACTIONS(447),
    [anon_sym_QMARK2] = ACTIONS(469),
    [anon_sym_AMP] = ACTIONS(469),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(469),
    [anon_sym_LT] = ACTIONS(447),
    [anon_sym_GT] = ACTIONS(447),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(469),
    [anon_sym_CARET_LBRACE] = ACTIONS(469),
    [anon_sym_RBRACE] = ACTIONS(469),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(447),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(469),
    [anon_sym_DASH_EQ] = ACTIONS(469),
    [anon_sym_STAR_EQ] = ACTIONS(469),
    [anon_sym_SLASH_EQ] = ACTIONS(469),
    [anon_sym_PERCENT_EQ] = ACTIONS(469),
    [anon_sym_BANG_EQ] = ACTIONS(447),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(469),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(469),
    [anon_sym_LT_EQ] = ACTIONS(469),
    [anon_sym_GT_EQ] = ACTIONS(469),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(469),
    [anon_sym_DOT_DOT_LT] = ACTIONS(469),
    [anon_sym_is] = ACTIONS(447),
    [anon_sym_PLUS] = ACTIONS(447),
    [anon_sym_DASH] = ACTIONS(447),
    [anon_sym_STAR] = ACTIONS(447),
    [anon_sym_SLASH] = ACTIONS(447),
    [anon_sym_PERCENT] = ACTIONS(447),
    [anon_sym_PLUS_PLUS] = ACTIONS(469),
    [anon_sym_DASH_DASH] = ACTIONS(469),
    [anon_sym_PIPE] = ACTIONS(469),
    [anon_sym_CARET] = ACTIONS(447),
    [anon_sym_LT_LT] = ACTIONS(469),
    [anon_sym_GT_GT] = ACTIONS(469),
    [anon_sym_import] = ACTIONS(447),
    [anon_sym_typealias] = ACTIONS(447),
    [anon_sym_struct] = ACTIONS(447),
    [anon_sym_class] = ACTIONS(447),
    [anon_sym_enum] = ACTIONS(447),
    [anon_sym_protocol] = ACTIONS(447),
    [anon_sym_let] = ACTIONS(447),
    [anon_sym_var] = ACTIONS(447),
    [anon_sym_func] = ACTIONS(447),
    [anon_sym_extension] = ACTIONS(447),
    [anon_sym_indirect] = ACTIONS(447),
    [anon_sym_SEMI] = ACTIONS(469),
    [anon_sym_init] = ACTIONS(447),
    [anon_sym_deinit] = ACTIONS(447),
    [anon_sym_subscript] = ACTIONS(447),
    [anon_sym_prefix] = ACTIONS(447),
    [anon_sym_infix] = ACTIONS(447),
    [anon_sym_postfix] = ACTIONS(447),
    [anon_sym_precedencegroup] = ACTIONS(447),
    [anon_sym_associatedtype] = ACTIONS(447),
    [anon_sym_AT] = ACTIONS(447),
    [anon_sym_override] = ACTIONS(447),
    [anon_sym_convenience] = ACTIONS(447),
    [anon_sym_required] = ACTIONS(447),
    [anon_sym_nonisolated] = ACTIONS(447),
    [anon_sym_public] = ACTIONS(447),
    [anon_sym_private] = ACTIONS(447),
    [anon_sym_internal] = ACTIONS(447),
    [anon_sym_fileprivate] = ACTIONS(447),
    [anon_sym_open] = ACTIONS(447),
    [anon_sym_mutating] = ACTIONS(447),
    [anon_sym_nonmutating] = ACTIONS(447),
    [anon_sym_static] = ACTIONS(447),
    [anon_sym_dynamic] = ACTIONS(447),
    [anon_sym_optional] = ACTIONS(447),
    [anon_sym_distributed] = ACTIONS(447),
    [anon_sym_final] = ACTIONS(447),
    [anon_sym_inout] = ACTIONS(447),
    [anon_sym_ATescaping] = ACTIONS(469),
    [anon_sym_ATautoclosure] = ACTIONS(469),
    [anon_sym_weak] = ACTIONS(447),
    [anon_sym_unowned] = ACTIONS(447),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(469),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(469),
    [anon_sym_borrowing] = ACTIONS(447),
    [anon_sym_consuming] = ACTIONS(447),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(469),
    [sym__conjunction_operator_custom] = ACTIONS(469),
    [sym__disjunction_operator_custom] = ACTIONS(469),
    [sym__nil_coalescing_operator_custom] = ACTIONS(469),
    [sym__eq_custom] = ACTIONS(469),
    [sym__eq_eq_custom] = ACTIONS(469),
    [sym__plus_then_ws] = ACTIONS(469),
    [sym__minus_then_ws] = ACTIONS(469),
    [sym__bang_custom] = ACTIONS(469),
    [sym__as_custom] = ACTIONS(469),
    [sym__as_quest_custom] = ACTIONS(469),
    [sym__as_bang_custom] = ACTIONS(469),
    [sym__custom_operator] = ACTIONS(469),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [107] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(746),
    [sym_boolean_literal] = STATE(746),
    [sym__string_literal] = STATE(746),
    [sym_line_string_literal] = STATE(746),
    [sym_multi_line_string_literal] = STATE(746),
    [sym_raw_string_literal] = STATE(746),
    [sym_regex_literal] = STATE(746),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6436),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6436),
    [sym_dictionary_type] = STATE(6436),
    [sym__expression] = STATE(746),
    [sym__unary_expression] = STATE(746),
    [sym_postfix_expression] = STATE(746),
    [sym_constructor_expression] = STATE(746),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(746),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(746),
    [sym__range_operator] = STATE(694),
    [sym_open_end_range_expression] = STATE(746),
    [sym_prefix_expression] = STATE(746),
    [sym_as_expression] = STATE(746),
    [sym_selector_expression] = STATE(746),
    [sym__binary_expression] = STATE(746),
    [sym_multiplicative_expression] = STATE(746),
    [sym_additive_expression] = STATE(746),
    [sym_range_expression] = STATE(746),
    [sym_infix_expression] = STATE(746),
    [sym_nil_coalescing_expression] = STATE(746),
    [sym_check_expression] = STATE(746),
    [sym_comparison_expression] = STATE(746),
    [sym_equality_expression] = STATE(746),
    [sym_conjunction_expression] = STATE(746),
    [sym_disjunction_expression] = STATE(746),
    [sym_bitwise_operation] = STATE(746),
    [sym_custom_operator] = STATE(741),
    [sym_try_expression] = STATE(746),
    [sym_await_expression] = STATE(746),
    [sym__await_operator] = STATE(681),
    [sym_ternary_expression] = STATE(746),
    [sym_call_expression] = STATE(746),
    [sym_macro_invocation] = STATE(746),
    [sym__primary_expression] = STATE(746),
    [sym_tuple_expression] = STATE(746),
    [sym_array_literal] = STATE(746),
    [sym_dictionary_literal] = STATE(746),
    [sym_special_literal] = STATE(746),
    [sym_playground_literal] = STATE(746),
    [sym_lambda_literal] = STATE(746),
    [sym_self_expression] = STATE(746),
    [sym_super_expression] = STATE(746),
    [sym_if_statement] = STATE(746),
    [sym_switch_statement] = STATE(746),
    [sym_key_path_expression] = STATE(746),
    [sym_key_path_string_expression] = STATE(746),
    [sym_try_operator] = STATE(678),
    [sym__assignment_and_operator] = STATE(746),
    [sym__equality_operator] = STATE(746),
    [sym__comparison_operator] = STATE(746),
    [sym__three_dot_operator] = STATE(742),
    [sym__open_ended_range_operator] = STATE(694),
    [sym__additive_operator] = STATE(746),
    [sym__multiplicative_operator] = STATE(746),
    [sym__prefix_unary_operator] = STATE(622),
    [sym_directly_assignable_expression] = STATE(6420),
    [sym_assignment] = STATE(746),
    [sym_value_parameter_pack] = STATE(746),
    [sym_value_pack_expansion] = STATE(746),
    [sym__referenceable_operator] = STATE(746),
    [sym__equal_sign] = STATE(746),
    [sym__eq_eq] = STATE(746),
    [sym__dot] = STATE(622),
    [sym__hash_symbol] = STATE(4852),
    [sym_bang] = STATE(741),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(746),
    [sym_diagnostic] = STATE(746),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(605),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(607),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(609),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(653),
    [sym_real_literal] = ACTIONS(655),
    [sym_integer_literal] = ACTIONS(653),
    [sym_hex_literal] = ACTIONS(653),
    [sym_oct_literal] = ACTIONS(655),
    [sym_bin_literal] = ACTIONS(655),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(615),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(617),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(625),
    [anon_sym_TILDE] = ACTIONS(625),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(627),
    [aux_sym_custom_operator_token1] = ACTIONS(629),
    [anon_sym_LT] = ACTIONS(653),
    [anon_sym_GT] = ACTIONS(653),
    [anon_sym_await] = ACTIONS(631),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(623),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(655),
    [anon_sym_DASH_EQ] = ACTIONS(655),
    [anon_sym_STAR_EQ] = ACTIONS(655),
    [anon_sym_SLASH_EQ] = ACTIONS(655),
    [anon_sym_PERCENT_EQ] = ACTIONS(655),
    [anon_sym_BANG_EQ] = ACTIONS(653),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(655),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(655),
    [anon_sym_LT_EQ] = ACTIONS(655),
    [anon_sym_GT_EQ] = ACTIONS(655),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(635),
    [anon_sym_DOT_DOT_LT] = ACTIONS(637),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(639),
    [anon_sym_DASH] = ACTIONS(639),
    [anon_sym_STAR] = ACTIONS(653),
    [anon_sym_SLASH] = ACTIONS(653),
    [anon_sym_PERCENT] = ACTIONS(653),
    [anon_sym_PLUS_PLUS] = ACTIONS(625),
    [anon_sym_DASH_DASH] = ACTIONS(625),
    [anon_sym_PIPE] = ACTIONS(655),
    [anon_sym_CARET] = ACTIONS(653),
    [anon_sym_LT_LT] = ACTIONS(655),
    [anon_sym_GT_GT] = ACTIONS(655),
    [anon_sym_import] = ACTIONS(623),
    [anon_sym_typealias] = ACTIONS(623),
    [anon_sym_struct] = ACTIONS(623),
    [anon_sym_class] = ACTIONS(623),
    [anon_sym_enum] = ACTIONS(623),
    [anon_sym_protocol] = ACTIONS(623),
    [anon_sym_let] = ACTIONS(623),
    [anon_sym_var] = ACTIONS(623),
    [anon_sym_func] = ACTIONS(623),
    [anon_sym_extension] = ACTIONS(623),
    [anon_sym_indirect] = ACTIONS(623),
    [anon_sym_SEMI] = ACTIONS(617),
    [anon_sym_init] = ACTIONS(623),
    [anon_sym_deinit] = ACTIONS(623),
    [anon_sym_subscript] = ACTIONS(623),
    [anon_sym_prefix] = ACTIONS(623),
    [anon_sym_infix] = ACTIONS(623),
    [anon_sym_postfix] = ACTIONS(623),
    [anon_sym_precedencegroup] = ACTIONS(623),
    [anon_sym_associatedtype] = ACTIONS(623),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(623),
    [anon_sym_convenience] = ACTIONS(623),
    [anon_sym_required] = ACTIONS(623),
    [anon_sym_nonisolated] = ACTIONS(623),
    [anon_sym_public] = ACTIONS(623),
    [anon_sym_private] = ACTIONS(623),
    [anon_sym_internal] = ACTIONS(623),
    [anon_sym_fileprivate] = ACTIONS(623),
    [anon_sym_open] = ACTIONS(623),
    [anon_sym_mutating] = ACTIONS(623),
    [anon_sym_nonmutating] = ACTIONS(623),
    [anon_sym_static] = ACTIONS(623),
    [anon_sym_dynamic] = ACTIONS(623),
    [anon_sym_optional] = ACTIONS(623),
    [anon_sym_distributed] = ACTIONS(623),
    [anon_sym_final] = ACTIONS(623),
    [anon_sym_inout] = ACTIONS(623),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(623),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(641),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(655),
    [sym__eq_eq_custom] = ACTIONS(655),
    [sym__plus_then_ws] = ACTIONS(655),
    [sym__minus_then_ws] = ACTIONS(655),
    [sym__bang_custom] = ACTIONS(643),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(629),
    [sym__hash_symbol_custom] = ACTIONS(645),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [108] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(800),
    [sym_boolean_literal] = STATE(800),
    [sym__string_literal] = STATE(800),
    [sym_line_string_literal] = STATE(800),
    [sym_multi_line_string_literal] = STATE(800),
    [sym_raw_string_literal] = STATE(800),
    [sym_regex_literal] = STATE(800),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(800),
    [sym__unary_expression] = STATE(800),
    [sym_postfix_expression] = STATE(800),
    [sym_constructor_expression] = STATE(800),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(800),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(800),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(800),
    [sym_prefix_expression] = STATE(800),
    [sym_as_expression] = STATE(800),
    [sym_selector_expression] = STATE(800),
    [sym__binary_expression] = STATE(800),
    [sym_multiplicative_expression] = STATE(800),
    [sym_additive_expression] = STATE(800),
    [sym_range_expression] = STATE(800),
    [sym_infix_expression] = STATE(800),
    [sym_nil_coalescing_expression] = STATE(800),
    [sym_check_expression] = STATE(800),
    [sym_comparison_expression] = STATE(800),
    [sym_equality_expression] = STATE(800),
    [sym_conjunction_expression] = STATE(800),
    [sym_disjunction_expression] = STATE(800),
    [sym_bitwise_operation] = STATE(800),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(800),
    [sym_await_expression] = STATE(800),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(800),
    [sym_call_expression] = STATE(800),
    [sym_macro_invocation] = STATE(800),
    [sym__primary_expression] = STATE(800),
    [sym_tuple_expression] = STATE(800),
    [sym_array_literal] = STATE(800),
    [sym_dictionary_literal] = STATE(800),
    [sym_special_literal] = STATE(800),
    [sym_playground_literal] = STATE(800),
    [sym_lambda_literal] = STATE(800),
    [sym_self_expression] = STATE(800),
    [sym_super_expression] = STATE(800),
    [sym_if_statement] = STATE(1448),
    [sym_guard_statement] = STATE(4489),
    [sym_switch_statement] = STATE(1448),
    [sym_do_statement] = STATE(4489),
    [sym_key_path_expression] = STATE(800),
    [sym_key_path_string_expression] = STATE(800),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(800),
    [sym__equality_operator] = STATE(800),
    [sym__comparison_operator] = STATE(800),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(800),
    [sym__multiplicative_operator] = STATE(800),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_statements] = STATE(4705),
    [sym__local_statement] = STATE(4489),
    [sym__labeled_statement] = STATE(4489),
    [sym_for_statement] = STATE(4489),
    [sym_while_statement] = STATE(4489),
    [sym_repeat_while_statement] = STATE(4489),
    [sym_control_transfer_statement] = STATE(4489),
    [sym__throw_statement] = STATE(4581),
    [sym__optionally_valueful_control_keyword] = STATE(124),
    [sym_assignment] = STATE(800),
    [sym_value_parameter_pack] = STATE(800),
    [sym_value_pack_expansion] = STATE(800),
    [sym__local_declaration] = STATE(4489),
    [sym__local_property_declaration] = STATE(4578),
    [sym__local_typealias_declaration] = STATE(4576),
    [sym__local_function_declaration] = STATE(4575),
    [sym__local_class_declaration] = STATE(4568),
    [sym__modifierless_property_declaration] = STATE(4532),
    [sym__modifierless_typealias_declaration] = STATE(4564),
    [sym__modifierless_function_declaration] = STATE(4563),
    [sym__modifierless_function_declaration_no_body] = STATE(7718),
    [sym__modifierless_class_declaration] = STATE(4562),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(800),
    [sym__equal_sign] = STATE(800),
    [sym__eq_eq] = STATE(800),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4842),
    [sym_value_binding_pattern] = STATE(4785),
    [sym__possibly_async_binding_pattern_kind] = STATE(4785),
    [aux_sym__locally_permitted_modifiers] = STATE(4842),
    [sym__locally_permitted_modifier] = STATE(4842),
    [sym_property_behavior_modifier] = STATE(4842),
    [sym_inheritance_modifier] = STATE(4842),
    [sym_ownership_modifier] = STATE(4842),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(800),
    [sym_diagnostic] = STATE(800),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(293),
    [anon_sym_async] = ACTIONS(295),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(603),
    [anon_sym_repeat] = ACTIONS(301),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(303),
    [sym_real_literal] = ACTIONS(305),
    [sym_integer_literal] = ACTIONS(303),
    [sym_hex_literal] = ACTIONS(303),
    [sym_oct_literal] = ACTIONS(305),
    [sym_bin_literal] = ACTIONS(305),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(303),
    [anon_sym_GT] = ACTIONS(303),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_guard] = ACTIONS(339),
    [anon_sym_do] = ACTIONS(341),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(305),
    [anon_sym_DASH_EQ] = ACTIONS(305),
    [anon_sym_STAR_EQ] = ACTIONS(305),
    [anon_sym_SLASH_EQ] = ACTIONS(305),
    [anon_sym_PERCENT_EQ] = ACTIONS(305),
    [anon_sym_BANG_EQ] = ACTIONS(303),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(305),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(305),
    [anon_sym_LT_EQ] = ACTIONS(305),
    [anon_sym_GT_EQ] = ACTIONS(305),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(303),
    [anon_sym_SLASH] = ACTIONS(303),
    [anon_sym_PERCENT] = ACTIONS(303),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(305),
    [anon_sym_CARET] = ACTIONS(303),
    [anon_sym_LT_LT] = ACTIONS(305),
    [anon_sym_GT_GT] = ACTIONS(305),
    [sym_statement_label] = ACTIONS(349),
    [anon_sym_for] = ACTIONS(351),
    [anon_sym_while] = ACTIONS(353),
    [sym_throw_keyword] = ACTIONS(355),
    [anon_sym_return] = ACTIONS(357),
    [anon_sym_continue] = ACTIONS(357),
    [anon_sym_break] = ACTIONS(357),
    [anon_sym_yield] = ACTIONS(357),
    [anon_sym_typealias] = ACTIONS(359),
    [anon_sym_struct] = ACTIONS(361),
    [anon_sym_class] = ACTIONS(361),
    [anon_sym_enum] = ACTIONS(363),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(365),
    [anon_sym_indirect] = ACTIONS(367),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(305),
    [sym__eq_eq_custom] = ACTIONS(305),
    [sym__plus_then_ws] = ACTIONS(305),
    [sym__minus_then_ws] = ACTIONS(305),
    [sym__bang_custom] = ACTIONS(373),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [109] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(800),
    [sym_boolean_literal] = STATE(800),
    [sym__string_literal] = STATE(800),
    [sym_line_string_literal] = STATE(800),
    [sym_multi_line_string_literal] = STATE(800),
    [sym_raw_string_literal] = STATE(800),
    [sym_regex_literal] = STATE(800),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(800),
    [sym__unary_expression] = STATE(800),
    [sym_postfix_expression] = STATE(800),
    [sym_constructor_expression] = STATE(800),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(800),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(800),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(800),
    [sym_prefix_expression] = STATE(800),
    [sym_as_expression] = STATE(800),
    [sym_selector_expression] = STATE(800),
    [sym__binary_expression] = STATE(800),
    [sym_multiplicative_expression] = STATE(800),
    [sym_additive_expression] = STATE(800),
    [sym_range_expression] = STATE(800),
    [sym_infix_expression] = STATE(800),
    [sym_nil_coalescing_expression] = STATE(800),
    [sym_check_expression] = STATE(800),
    [sym_comparison_expression] = STATE(800),
    [sym_equality_expression] = STATE(800),
    [sym_conjunction_expression] = STATE(800),
    [sym_disjunction_expression] = STATE(800),
    [sym_bitwise_operation] = STATE(800),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(800),
    [sym_await_expression] = STATE(800),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(800),
    [sym_call_expression] = STATE(800),
    [sym_macro_invocation] = STATE(800),
    [sym__primary_expression] = STATE(800),
    [sym_tuple_expression] = STATE(800),
    [sym_array_literal] = STATE(800),
    [sym_dictionary_literal] = STATE(800),
    [sym_special_literal] = STATE(800),
    [sym_playground_literal] = STATE(800),
    [sym_lambda_literal] = STATE(800),
    [sym_self_expression] = STATE(800),
    [sym_super_expression] = STATE(800),
    [sym_if_statement] = STATE(1448),
    [sym_guard_statement] = STATE(4489),
    [sym_switch_statement] = STATE(1448),
    [sym_do_statement] = STATE(4489),
    [sym_key_path_expression] = STATE(800),
    [sym_key_path_string_expression] = STATE(800),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(800),
    [sym__equality_operator] = STATE(800),
    [sym__comparison_operator] = STATE(800),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(800),
    [sym__multiplicative_operator] = STATE(800),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_statements] = STATE(4626),
    [sym__local_statement] = STATE(4489),
    [sym__labeled_statement] = STATE(4489),
    [sym_for_statement] = STATE(4489),
    [sym_while_statement] = STATE(4489),
    [sym_repeat_while_statement] = STATE(4489),
    [sym_control_transfer_statement] = STATE(4489),
    [sym__throw_statement] = STATE(4581),
    [sym__optionally_valueful_control_keyword] = STATE(124),
    [sym_assignment] = STATE(800),
    [sym_value_parameter_pack] = STATE(800),
    [sym_value_pack_expansion] = STATE(800),
    [sym__local_declaration] = STATE(4489),
    [sym__local_property_declaration] = STATE(4578),
    [sym__local_typealias_declaration] = STATE(4576),
    [sym__local_function_declaration] = STATE(4575),
    [sym__local_class_declaration] = STATE(4568),
    [sym__modifierless_property_declaration] = STATE(4532),
    [sym__modifierless_typealias_declaration] = STATE(4564),
    [sym__modifierless_function_declaration] = STATE(4563),
    [sym__modifierless_function_declaration_no_body] = STATE(7718),
    [sym__modifierless_class_declaration] = STATE(4562),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(800),
    [sym__equal_sign] = STATE(800),
    [sym__eq_eq] = STATE(800),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4842),
    [sym_value_binding_pattern] = STATE(4785),
    [sym__possibly_async_binding_pattern_kind] = STATE(4785),
    [aux_sym__locally_permitted_modifiers] = STATE(4842),
    [sym__locally_permitted_modifier] = STATE(4842),
    [sym_property_behavior_modifier] = STATE(4842),
    [sym_inheritance_modifier] = STATE(4842),
    [sym_ownership_modifier] = STATE(4842),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(800),
    [sym_diagnostic] = STATE(800),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(293),
    [anon_sym_async] = ACTIONS(295),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(603),
    [anon_sym_repeat] = ACTIONS(301),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(303),
    [sym_real_literal] = ACTIONS(305),
    [sym_integer_literal] = ACTIONS(303),
    [sym_hex_literal] = ACTIONS(303),
    [sym_oct_literal] = ACTIONS(305),
    [sym_bin_literal] = ACTIONS(305),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(303),
    [anon_sym_GT] = ACTIONS(303),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_guard] = ACTIONS(339),
    [anon_sym_do] = ACTIONS(341),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(305),
    [anon_sym_DASH_EQ] = ACTIONS(305),
    [anon_sym_STAR_EQ] = ACTIONS(305),
    [anon_sym_SLASH_EQ] = ACTIONS(305),
    [anon_sym_PERCENT_EQ] = ACTIONS(305),
    [anon_sym_BANG_EQ] = ACTIONS(303),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(305),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(305),
    [anon_sym_LT_EQ] = ACTIONS(305),
    [anon_sym_GT_EQ] = ACTIONS(305),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(303),
    [anon_sym_SLASH] = ACTIONS(303),
    [anon_sym_PERCENT] = ACTIONS(303),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(305),
    [anon_sym_CARET] = ACTIONS(303),
    [anon_sym_LT_LT] = ACTIONS(305),
    [anon_sym_GT_GT] = ACTIONS(305),
    [sym_statement_label] = ACTIONS(349),
    [anon_sym_for] = ACTIONS(351),
    [anon_sym_while] = ACTIONS(353),
    [sym_throw_keyword] = ACTIONS(355),
    [anon_sym_return] = ACTIONS(357),
    [anon_sym_continue] = ACTIONS(357),
    [anon_sym_break] = ACTIONS(357),
    [anon_sym_yield] = ACTIONS(357),
    [anon_sym_typealias] = ACTIONS(359),
    [anon_sym_struct] = ACTIONS(361),
    [anon_sym_class] = ACTIONS(361),
    [anon_sym_enum] = ACTIONS(363),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(365),
    [anon_sym_indirect] = ACTIONS(367),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(305),
    [sym__eq_eq_custom] = ACTIONS(305),
    [sym__plus_then_ws] = ACTIONS(305),
    [sym__minus_then_ws] = ACTIONS(305),
    [sym__bang_custom] = ACTIONS(373),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [110] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(800),
    [sym_boolean_literal] = STATE(800),
    [sym__string_literal] = STATE(800),
    [sym_line_string_literal] = STATE(800),
    [sym_multi_line_string_literal] = STATE(800),
    [sym_raw_string_literal] = STATE(800),
    [sym_regex_literal] = STATE(800),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(800),
    [sym__unary_expression] = STATE(800),
    [sym_postfix_expression] = STATE(800),
    [sym_constructor_expression] = STATE(800),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(800),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(800),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(800),
    [sym_prefix_expression] = STATE(800),
    [sym_as_expression] = STATE(800),
    [sym_selector_expression] = STATE(800),
    [sym__binary_expression] = STATE(800),
    [sym_multiplicative_expression] = STATE(800),
    [sym_additive_expression] = STATE(800),
    [sym_range_expression] = STATE(800),
    [sym_infix_expression] = STATE(800),
    [sym_nil_coalescing_expression] = STATE(800),
    [sym_check_expression] = STATE(800),
    [sym_comparison_expression] = STATE(800),
    [sym_equality_expression] = STATE(800),
    [sym_conjunction_expression] = STATE(800),
    [sym_disjunction_expression] = STATE(800),
    [sym_bitwise_operation] = STATE(800),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(800),
    [sym_await_expression] = STATE(800),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(800),
    [sym_call_expression] = STATE(800),
    [sym_macro_invocation] = STATE(800),
    [sym__primary_expression] = STATE(800),
    [sym_tuple_expression] = STATE(800),
    [sym_array_literal] = STATE(800),
    [sym_dictionary_literal] = STATE(800),
    [sym_special_literal] = STATE(800),
    [sym_playground_literal] = STATE(800),
    [sym_lambda_literal] = STATE(800),
    [sym_self_expression] = STATE(800),
    [sym_super_expression] = STATE(800),
    [sym_if_statement] = STATE(1448),
    [sym_guard_statement] = STATE(4489),
    [sym_switch_statement] = STATE(1448),
    [sym_do_statement] = STATE(4489),
    [sym_key_path_expression] = STATE(800),
    [sym_key_path_string_expression] = STATE(800),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(800),
    [sym__equality_operator] = STATE(800),
    [sym__comparison_operator] = STATE(800),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(800),
    [sym__multiplicative_operator] = STATE(800),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_statements] = STATE(4737),
    [sym__local_statement] = STATE(4489),
    [sym__labeled_statement] = STATE(4489),
    [sym_for_statement] = STATE(4489),
    [sym_while_statement] = STATE(4489),
    [sym_repeat_while_statement] = STATE(4489),
    [sym_control_transfer_statement] = STATE(4489),
    [sym__throw_statement] = STATE(4581),
    [sym__optionally_valueful_control_keyword] = STATE(124),
    [sym_assignment] = STATE(800),
    [sym_value_parameter_pack] = STATE(800),
    [sym_value_pack_expansion] = STATE(800),
    [sym__local_declaration] = STATE(4489),
    [sym__local_property_declaration] = STATE(4578),
    [sym__local_typealias_declaration] = STATE(4576),
    [sym__local_function_declaration] = STATE(4575),
    [sym__local_class_declaration] = STATE(4568),
    [sym__modifierless_property_declaration] = STATE(4532),
    [sym__modifierless_typealias_declaration] = STATE(4564),
    [sym__modifierless_function_declaration] = STATE(4563),
    [sym__modifierless_function_declaration_no_body] = STATE(7718),
    [sym__modifierless_class_declaration] = STATE(4562),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(800),
    [sym__equal_sign] = STATE(800),
    [sym__eq_eq] = STATE(800),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4842),
    [sym_value_binding_pattern] = STATE(4785),
    [sym__possibly_async_binding_pattern_kind] = STATE(4785),
    [aux_sym__locally_permitted_modifiers] = STATE(4842),
    [sym__locally_permitted_modifier] = STATE(4842),
    [sym_property_behavior_modifier] = STATE(4842),
    [sym_inheritance_modifier] = STATE(4842),
    [sym_ownership_modifier] = STATE(4842),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(800),
    [sym_diagnostic] = STATE(800),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(293),
    [anon_sym_async] = ACTIONS(295),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(603),
    [anon_sym_repeat] = ACTIONS(301),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(303),
    [sym_real_literal] = ACTIONS(305),
    [sym_integer_literal] = ACTIONS(303),
    [sym_hex_literal] = ACTIONS(303),
    [sym_oct_literal] = ACTIONS(305),
    [sym_bin_literal] = ACTIONS(305),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(303),
    [anon_sym_GT] = ACTIONS(303),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_guard] = ACTIONS(339),
    [anon_sym_do] = ACTIONS(341),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(305),
    [anon_sym_DASH_EQ] = ACTIONS(305),
    [anon_sym_STAR_EQ] = ACTIONS(305),
    [anon_sym_SLASH_EQ] = ACTIONS(305),
    [anon_sym_PERCENT_EQ] = ACTIONS(305),
    [anon_sym_BANG_EQ] = ACTIONS(303),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(305),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(305),
    [anon_sym_LT_EQ] = ACTIONS(305),
    [anon_sym_GT_EQ] = ACTIONS(305),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(303),
    [anon_sym_SLASH] = ACTIONS(303),
    [anon_sym_PERCENT] = ACTIONS(303),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(305),
    [anon_sym_CARET] = ACTIONS(303),
    [anon_sym_LT_LT] = ACTIONS(305),
    [anon_sym_GT_GT] = ACTIONS(305),
    [sym_statement_label] = ACTIONS(349),
    [anon_sym_for] = ACTIONS(351),
    [anon_sym_while] = ACTIONS(353),
    [sym_throw_keyword] = ACTIONS(355),
    [anon_sym_return] = ACTIONS(357),
    [anon_sym_continue] = ACTIONS(357),
    [anon_sym_break] = ACTIONS(357),
    [anon_sym_yield] = ACTIONS(357),
    [anon_sym_typealias] = ACTIONS(359),
    [anon_sym_struct] = ACTIONS(361),
    [anon_sym_class] = ACTIONS(361),
    [anon_sym_enum] = ACTIONS(363),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(365),
    [anon_sym_indirect] = ACTIONS(367),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(305),
    [sym__eq_eq_custom] = ACTIONS(305),
    [sym__plus_then_ws] = ACTIONS(305),
    [sym__minus_then_ws] = ACTIONS(305),
    [sym__bang_custom] = ACTIONS(373),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [111] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(800),
    [sym_boolean_literal] = STATE(800),
    [sym__string_literal] = STATE(800),
    [sym_line_string_literal] = STATE(800),
    [sym_multi_line_string_literal] = STATE(800),
    [sym_raw_string_literal] = STATE(800),
    [sym_regex_literal] = STATE(800),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(800),
    [sym__unary_expression] = STATE(800),
    [sym_postfix_expression] = STATE(800),
    [sym_constructor_expression] = STATE(800),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(800),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(800),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(800),
    [sym_prefix_expression] = STATE(800),
    [sym_as_expression] = STATE(800),
    [sym_selector_expression] = STATE(800),
    [sym__binary_expression] = STATE(800),
    [sym_multiplicative_expression] = STATE(800),
    [sym_additive_expression] = STATE(800),
    [sym_range_expression] = STATE(800),
    [sym_infix_expression] = STATE(800),
    [sym_nil_coalescing_expression] = STATE(800),
    [sym_check_expression] = STATE(800),
    [sym_comparison_expression] = STATE(800),
    [sym_equality_expression] = STATE(800),
    [sym_conjunction_expression] = STATE(800),
    [sym_disjunction_expression] = STATE(800),
    [sym_bitwise_operation] = STATE(800),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(800),
    [sym_await_expression] = STATE(800),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(800),
    [sym_call_expression] = STATE(800),
    [sym_macro_invocation] = STATE(800),
    [sym__primary_expression] = STATE(800),
    [sym_tuple_expression] = STATE(800),
    [sym_array_literal] = STATE(800),
    [sym_dictionary_literal] = STATE(800),
    [sym_special_literal] = STATE(800),
    [sym_playground_literal] = STATE(800),
    [sym_lambda_literal] = STATE(800),
    [sym_self_expression] = STATE(800),
    [sym_super_expression] = STATE(800),
    [sym_if_statement] = STATE(1448),
    [sym_guard_statement] = STATE(4489),
    [sym_switch_statement] = STATE(1448),
    [sym_do_statement] = STATE(4489),
    [sym_key_path_expression] = STATE(800),
    [sym_key_path_string_expression] = STATE(800),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(800),
    [sym__equality_operator] = STATE(800),
    [sym__comparison_operator] = STATE(800),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(800),
    [sym__multiplicative_operator] = STATE(800),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_statements] = STATE(4689),
    [sym__local_statement] = STATE(4489),
    [sym__labeled_statement] = STATE(4489),
    [sym_for_statement] = STATE(4489),
    [sym_while_statement] = STATE(4489),
    [sym_repeat_while_statement] = STATE(4489),
    [sym_control_transfer_statement] = STATE(4489),
    [sym__throw_statement] = STATE(4581),
    [sym__optionally_valueful_control_keyword] = STATE(124),
    [sym_assignment] = STATE(800),
    [sym_value_parameter_pack] = STATE(800),
    [sym_value_pack_expansion] = STATE(800),
    [sym__local_declaration] = STATE(4489),
    [sym__local_property_declaration] = STATE(4578),
    [sym__local_typealias_declaration] = STATE(4576),
    [sym__local_function_declaration] = STATE(4575),
    [sym__local_class_declaration] = STATE(4568),
    [sym__modifierless_property_declaration] = STATE(4532),
    [sym__modifierless_typealias_declaration] = STATE(4564),
    [sym__modifierless_function_declaration] = STATE(4563),
    [sym__modifierless_function_declaration_no_body] = STATE(7718),
    [sym__modifierless_class_declaration] = STATE(4562),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(800),
    [sym__equal_sign] = STATE(800),
    [sym__eq_eq] = STATE(800),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4842),
    [sym_value_binding_pattern] = STATE(4785),
    [sym__possibly_async_binding_pattern_kind] = STATE(4785),
    [aux_sym__locally_permitted_modifiers] = STATE(4842),
    [sym__locally_permitted_modifier] = STATE(4842),
    [sym_property_behavior_modifier] = STATE(4842),
    [sym_inheritance_modifier] = STATE(4842),
    [sym_ownership_modifier] = STATE(4842),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(800),
    [sym_diagnostic] = STATE(800),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(293),
    [anon_sym_async] = ACTIONS(295),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(603),
    [anon_sym_repeat] = ACTIONS(301),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(303),
    [sym_real_literal] = ACTIONS(305),
    [sym_integer_literal] = ACTIONS(303),
    [sym_hex_literal] = ACTIONS(303),
    [sym_oct_literal] = ACTIONS(305),
    [sym_bin_literal] = ACTIONS(305),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(303),
    [anon_sym_GT] = ACTIONS(303),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_guard] = ACTIONS(339),
    [anon_sym_do] = ACTIONS(341),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(305),
    [anon_sym_DASH_EQ] = ACTIONS(305),
    [anon_sym_STAR_EQ] = ACTIONS(305),
    [anon_sym_SLASH_EQ] = ACTIONS(305),
    [anon_sym_PERCENT_EQ] = ACTIONS(305),
    [anon_sym_BANG_EQ] = ACTIONS(303),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(305),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(305),
    [anon_sym_LT_EQ] = ACTIONS(305),
    [anon_sym_GT_EQ] = ACTIONS(305),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(303),
    [anon_sym_SLASH] = ACTIONS(303),
    [anon_sym_PERCENT] = ACTIONS(303),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(305),
    [anon_sym_CARET] = ACTIONS(303),
    [anon_sym_LT_LT] = ACTIONS(305),
    [anon_sym_GT_GT] = ACTIONS(305),
    [sym_statement_label] = ACTIONS(349),
    [anon_sym_for] = ACTIONS(351),
    [anon_sym_while] = ACTIONS(353),
    [sym_throw_keyword] = ACTIONS(355),
    [anon_sym_return] = ACTIONS(357),
    [anon_sym_continue] = ACTIONS(357),
    [anon_sym_break] = ACTIONS(357),
    [anon_sym_yield] = ACTIONS(357),
    [anon_sym_typealias] = ACTIONS(359),
    [anon_sym_struct] = ACTIONS(361),
    [anon_sym_class] = ACTIONS(361),
    [anon_sym_enum] = ACTIONS(363),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(365),
    [anon_sym_indirect] = ACTIONS(367),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(305),
    [sym__eq_eq_custom] = ACTIONS(305),
    [sym__plus_then_ws] = ACTIONS(305),
    [sym__minus_then_ws] = ACTIONS(305),
    [sym__bang_custom] = ACTIONS(373),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [112] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(7488),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(7488),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym__local_statement] = STATE(7488),
    [sym__labeled_statement] = STATE(7488),
    [sym_for_statement] = STATE(7488),
    [sym_while_statement] = STATE(7488),
    [sym_repeat_while_statement] = STATE(7488),
    [sym_control_transfer_statement] = STATE(7488),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(7488),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(333),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [113] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(800),
    [sym_boolean_literal] = STATE(800),
    [sym__string_literal] = STATE(800),
    [sym_line_string_literal] = STATE(800),
    [sym_multi_line_string_literal] = STATE(800),
    [sym_raw_string_literal] = STATE(800),
    [sym_regex_literal] = STATE(800),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(800),
    [sym__unary_expression] = STATE(800),
    [sym_postfix_expression] = STATE(800),
    [sym_constructor_expression] = STATE(800),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(800),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(800),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(800),
    [sym_prefix_expression] = STATE(800),
    [sym_as_expression] = STATE(800),
    [sym_selector_expression] = STATE(800),
    [sym__binary_expression] = STATE(800),
    [sym_multiplicative_expression] = STATE(800),
    [sym_additive_expression] = STATE(800),
    [sym_range_expression] = STATE(800),
    [sym_infix_expression] = STATE(800),
    [sym_nil_coalescing_expression] = STATE(800),
    [sym_check_expression] = STATE(800),
    [sym_comparison_expression] = STATE(800),
    [sym_equality_expression] = STATE(800),
    [sym_conjunction_expression] = STATE(800),
    [sym_disjunction_expression] = STATE(800),
    [sym_bitwise_operation] = STATE(800),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(800),
    [sym_await_expression] = STATE(800),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(800),
    [sym_call_expression] = STATE(800),
    [sym_macro_invocation] = STATE(800),
    [sym__primary_expression] = STATE(800),
    [sym_tuple_expression] = STATE(800),
    [sym_array_literal] = STATE(800),
    [sym_dictionary_literal] = STATE(800),
    [sym_special_literal] = STATE(800),
    [sym_playground_literal] = STATE(800),
    [sym_lambda_literal] = STATE(800),
    [sym_self_expression] = STATE(800),
    [sym_super_expression] = STATE(800),
    [sym_if_statement] = STATE(1448),
    [sym_guard_statement] = STATE(4561),
    [sym_switch_statement] = STATE(1448),
    [sym_do_statement] = STATE(4561),
    [sym_key_path_expression] = STATE(800),
    [sym_key_path_string_expression] = STATE(800),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(800),
    [sym__equality_operator] = STATE(800),
    [sym__comparison_operator] = STATE(800),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(800),
    [sym__multiplicative_operator] = STATE(800),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym__local_statement] = STATE(4561),
    [sym__labeled_statement] = STATE(4561),
    [sym_for_statement] = STATE(4561),
    [sym_while_statement] = STATE(4561),
    [sym_repeat_while_statement] = STATE(4561),
    [sym_control_transfer_statement] = STATE(4561),
    [sym__throw_statement] = STATE(4581),
    [sym__optionally_valueful_control_keyword] = STATE(124),
    [sym_assignment] = STATE(800),
    [sym_value_parameter_pack] = STATE(800),
    [sym_value_pack_expansion] = STATE(800),
    [sym__local_declaration] = STATE(4561),
    [sym__local_property_declaration] = STATE(4578),
    [sym__local_typealias_declaration] = STATE(4576),
    [sym__local_function_declaration] = STATE(4575),
    [sym__local_class_declaration] = STATE(4568),
    [sym__modifierless_property_declaration] = STATE(4532),
    [sym__modifierless_typealias_declaration] = STATE(4564),
    [sym__modifierless_function_declaration] = STATE(4563),
    [sym__modifierless_function_declaration_no_body] = STATE(7718),
    [sym__modifierless_class_declaration] = STATE(4562),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(800),
    [sym__equal_sign] = STATE(800),
    [sym__eq_eq] = STATE(800),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4842),
    [sym_value_binding_pattern] = STATE(4785),
    [sym__possibly_async_binding_pattern_kind] = STATE(4785),
    [aux_sym__locally_permitted_modifiers] = STATE(4842),
    [sym__locally_permitted_modifier] = STATE(4842),
    [sym_property_behavior_modifier] = STATE(4842),
    [sym_inheritance_modifier] = STATE(4842),
    [sym_ownership_modifier] = STATE(4842),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(800),
    [sym_diagnostic] = STATE(800),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(293),
    [anon_sym_async] = ACTIONS(295),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(603),
    [anon_sym_repeat] = ACTIONS(301),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(303),
    [sym_real_literal] = ACTIONS(305),
    [sym_integer_literal] = ACTIONS(303),
    [sym_hex_literal] = ACTIONS(303),
    [sym_oct_literal] = ACTIONS(305),
    [sym_bin_literal] = ACTIONS(305),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(303),
    [anon_sym_GT] = ACTIONS(303),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_guard] = ACTIONS(339),
    [anon_sym_do] = ACTIONS(341),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(305),
    [anon_sym_DASH_EQ] = ACTIONS(305),
    [anon_sym_STAR_EQ] = ACTIONS(305),
    [anon_sym_SLASH_EQ] = ACTIONS(305),
    [anon_sym_PERCENT_EQ] = ACTIONS(305),
    [anon_sym_BANG_EQ] = ACTIONS(303),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(305),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(305),
    [anon_sym_LT_EQ] = ACTIONS(305),
    [anon_sym_GT_EQ] = ACTIONS(305),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(303),
    [anon_sym_SLASH] = ACTIONS(303),
    [anon_sym_PERCENT] = ACTIONS(303),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(305),
    [anon_sym_CARET] = ACTIONS(303),
    [anon_sym_LT_LT] = ACTIONS(305),
    [anon_sym_GT_GT] = ACTIONS(305),
    [sym_statement_label] = ACTIONS(349),
    [anon_sym_for] = ACTIONS(351),
    [anon_sym_while] = ACTIONS(353),
    [sym_throw_keyword] = ACTIONS(355),
    [anon_sym_return] = ACTIONS(357),
    [anon_sym_continue] = ACTIONS(357),
    [anon_sym_break] = ACTIONS(357),
    [anon_sym_yield] = ACTIONS(357),
    [anon_sym_typealias] = ACTIONS(359),
    [anon_sym_struct] = ACTIONS(361),
    [anon_sym_class] = ACTIONS(361),
    [anon_sym_enum] = ACTIONS(363),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(365),
    [anon_sym_indirect] = ACTIONS(367),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(305),
    [sym__eq_eq_custom] = ACTIONS(305),
    [sym__plus_then_ws] = ACTIONS(305),
    [sym__minus_then_ws] = ACTIONS(305),
    [sym__bang_custom] = ACTIONS(373),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [114] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1662),
    [sym_boolean_literal] = STATE(1662),
    [sym__string_literal] = STATE(1662),
    [sym_line_string_literal] = STATE(1662),
    [sym_multi_line_string_literal] = STATE(1662),
    [sym_raw_string_literal] = STATE(1662),
    [sym_regex_literal] = STATE(1662),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1662),
    [sym__unary_expression] = STATE(1662),
    [sym_postfix_expression] = STATE(1662),
    [sym_constructor_expression] = STATE(1662),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1662),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1662),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1662),
    [sym_prefix_expression] = STATE(1662),
    [sym_as_expression] = STATE(1662),
    [sym_selector_expression] = STATE(1662),
    [sym__binary_expression] = STATE(1662),
    [sym_multiplicative_expression] = STATE(1662),
    [sym_additive_expression] = STATE(1662),
    [sym_range_expression] = STATE(1662),
    [sym_infix_expression] = STATE(1662),
    [sym_nil_coalescing_expression] = STATE(1662),
    [sym_check_expression] = STATE(1662),
    [sym_comparison_expression] = STATE(1662),
    [sym_equality_expression] = STATE(1662),
    [sym_conjunction_expression] = STATE(1662),
    [sym_disjunction_expression] = STATE(1662),
    [sym_bitwise_operation] = STATE(1662),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1662),
    [sym_await_expression] = STATE(1662),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1662),
    [sym_call_expression] = STATE(1662),
    [sym_macro_invocation] = STATE(1662),
    [sym__primary_expression] = STATE(1662),
    [sym_tuple_expression] = STATE(1662),
    [sym_array_literal] = STATE(1662),
    [sym_dictionary_literal] = STATE(1662),
    [sym_special_literal] = STATE(1662),
    [sym_playground_literal] = STATE(1662),
    [sym_lambda_literal] = STATE(1662),
    [sym_self_expression] = STATE(1662),
    [sym_super_expression] = STATE(1662),
    [sym_if_statement] = STATE(1662),
    [sym__if_condition_sequence_item] = STATE(7402),
    [sym__if_let_binding] = STATE(8586),
    [sym_switch_statement] = STATE(1662),
    [sym_key_path_expression] = STATE(1662),
    [sym_key_path_string_expression] = STATE(1662),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1662),
    [sym__equality_operator] = STATE(1662),
    [sym__comparison_operator] = STATE(1662),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1662),
    [sym__multiplicative_operator] = STATE(1662),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1662),
    [sym_value_parameter_pack] = STATE(1662),
    [sym_value_pack_expansion] = STATE(1662),
    [sym_availability_condition] = STATE(7402),
    [sym__referenceable_operator] = STATE(1662),
    [sym__equal_sign] = STATE(1662),
    [sym__eq_eq] = STATE(1662),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4798),
    [sym_bang] = STATE(1169),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6656),
    [sym_value_binding_pattern] = STATE(4803),
    [sym__possibly_async_binding_pattern_kind] = STATE(4803),
    [sym__binding_kind_and_pattern] = STATE(6648),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1662),
    [sym_diagnostic] = STATE(1662),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(447),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(657),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(447),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(447),
    [anon_sym_nil] = ACTIONS(457),
    [sym_real_literal] = ACTIONS(459),
    [sym_integer_literal] = ACTIONS(457),
    [sym_hex_literal] = ACTIONS(457),
    [sym_oct_literal] = ACTIONS(459),
    [sym_bin_literal] = ACTIONS(459),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(469),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(469),
    [anon_sym_LBRACK] = ACTIONS(469),
    [anon_sym_QMARK] = ACTIONS(447),
    [anon_sym_QMARK2] = ACTIONS(469),
    [anon_sym_AMP] = ACTIONS(469),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(469),
    [anon_sym_LT] = ACTIONS(447),
    [anon_sym_GT] = ACTIONS(447),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(469),
    [anon_sym_CARET_LBRACE] = ACTIONS(469),
    [anon_sym_RBRACE] = ACTIONS(469),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(447),
    [anon_sym_fallthrough] = ACTIONS(447),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(469),
    [anon_sym_DASH_EQ] = ACTIONS(469),
    [anon_sym_STAR_EQ] = ACTIONS(469),
    [anon_sym_SLASH_EQ] = ACTIONS(469),
    [anon_sym_PERCENT_EQ] = ACTIONS(469),
    [anon_sym_BANG_EQ] = ACTIONS(447),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(469),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(469),
    [anon_sym_LT_EQ] = ACTIONS(469),
    [anon_sym_GT_EQ] = ACTIONS(469),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(469),
    [anon_sym_DOT_DOT_LT] = ACTIONS(469),
    [anon_sym_is] = ACTIONS(447),
    [anon_sym_PLUS] = ACTIONS(447),
    [anon_sym_DASH] = ACTIONS(447),
    [anon_sym_STAR] = ACTIONS(447),
    [anon_sym_SLASH] = ACTIONS(447),
    [anon_sym_PERCENT] = ACTIONS(447),
    [anon_sym_PLUS_PLUS] = ACTIONS(469),
    [anon_sym_DASH_DASH] = ACTIONS(469),
    [anon_sym_PIPE] = ACTIONS(469),
    [anon_sym_CARET] = ACTIONS(447),
    [anon_sym_LT_LT] = ACTIONS(469),
    [anon_sym_GT_GT] = ACTIONS(469),
    [anon_sym_class] = ACTIONS(447),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_prefix] = ACTIONS(447),
    [anon_sym_infix] = ACTIONS(447),
    [anon_sym_postfix] = ACTIONS(447),
    [anon_sym_AT] = ACTIONS(447),
    [anon_sym_override] = ACTIONS(447),
    [anon_sym_convenience] = ACTIONS(447),
    [anon_sym_required] = ACTIONS(447),
    [anon_sym_nonisolated] = ACTIONS(447),
    [anon_sym_public] = ACTIONS(447),
    [anon_sym_private] = ACTIONS(447),
    [anon_sym_internal] = ACTIONS(447),
    [anon_sym_fileprivate] = ACTIONS(447),
    [anon_sym_open] = ACTIONS(447),
    [anon_sym_mutating] = ACTIONS(447),
    [anon_sym_nonmutating] = ACTIONS(447),
    [anon_sym_static] = ACTIONS(447),
    [anon_sym_dynamic] = ACTIONS(447),
    [anon_sym_optional] = ACTIONS(447),
    [anon_sym_distributed] = ACTIONS(447),
    [anon_sym_final] = ACTIONS(447),
    [anon_sym_inout] = ACTIONS(447),
    [anon_sym_ATescaping] = ACTIONS(469),
    [anon_sym_ATautoclosure] = ACTIONS(469),
    [anon_sym_weak] = ACTIONS(447),
    [anon_sym_unowned] = ACTIONS(447),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(469),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(469),
    [anon_sym_borrowing] = ACTIONS(447),
    [anon_sym_consuming] = ACTIONS(447),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__implicit_semi] = ACTIONS(469),
    [sym__explicit_semi] = ACTIONS(469),
    [sym__dot_custom] = ACTIONS(469),
    [sym__conjunction_operator_custom] = ACTIONS(469),
    [sym__disjunction_operator_custom] = ACTIONS(469),
    [sym__nil_coalescing_operator_custom] = ACTIONS(469),
    [sym__eq_custom] = ACTIONS(469),
    [sym__eq_eq_custom] = ACTIONS(469),
    [sym__plus_then_ws] = ACTIONS(469),
    [sym__minus_then_ws] = ACTIONS(469),
    [sym__bang_custom] = ACTIONS(469),
    [sym_default_keyword] = ACTIONS(469),
    [sym_where_keyword] = ACTIONS(469),
    [sym__as_custom] = ACTIONS(469),
    [sym__as_quest_custom] = ACTIONS(469),
    [sym__as_bang_custom] = ACTIONS(469),
    [sym__custom_operator] = ACTIONS(469),
    [sym__hash_symbol_custom] = ACTIONS(487),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [115] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1586),
    [sym_boolean_literal] = STATE(1586),
    [sym__string_literal] = STATE(1586),
    [sym_line_string_literal] = STATE(1586),
    [sym_multi_line_string_literal] = STATE(1586),
    [sym_raw_string_literal] = STATE(1586),
    [sym_regex_literal] = STATE(1586),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1586),
    [sym__unary_expression] = STATE(1586),
    [sym_postfix_expression] = STATE(1586),
    [sym_constructor_expression] = STATE(1586),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1586),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1586),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1586),
    [sym_prefix_expression] = STATE(1586),
    [sym_as_expression] = STATE(1586),
    [sym_selector_expression] = STATE(1586),
    [sym__binary_expression] = STATE(1586),
    [sym_multiplicative_expression] = STATE(1586),
    [sym_additive_expression] = STATE(1586),
    [sym_range_expression] = STATE(1586),
    [sym_infix_expression] = STATE(1586),
    [sym_nil_coalescing_expression] = STATE(1586),
    [sym_check_expression] = STATE(1586),
    [sym_comparison_expression] = STATE(1586),
    [sym_equality_expression] = STATE(1586),
    [sym_conjunction_expression] = STATE(1586),
    [sym_disjunction_expression] = STATE(1586),
    [sym_bitwise_operation] = STATE(1586),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1586),
    [sym_await_expression] = STATE(1586),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1586),
    [sym_call_expression] = STATE(1586),
    [sym_macro_invocation] = STATE(1586),
    [sym__primary_expression] = STATE(1586),
    [sym_tuple_expression] = STATE(1586),
    [sym_array_literal] = STATE(1586),
    [sym_dictionary_literal] = STATE(1586),
    [sym_special_literal] = STATE(1586),
    [sym_playground_literal] = STATE(1586),
    [sym_lambda_literal] = STATE(1586),
    [sym_self_expression] = STATE(1586),
    [sym_super_expression] = STATE(1586),
    [sym_if_statement] = STATE(2968),
    [sym_guard_statement] = STATE(7488),
    [sym_switch_statement] = STATE(2968),
    [sym_do_statement] = STATE(7488),
    [sym_key_path_expression] = STATE(1586),
    [sym_key_path_string_expression] = STATE(1586),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1586),
    [sym__equality_operator] = STATE(1586),
    [sym__comparison_operator] = STATE(1586),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1586),
    [sym__multiplicative_operator] = STATE(1586),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym__local_statement] = STATE(7488),
    [sym__labeled_statement] = STATE(7488),
    [sym_for_statement] = STATE(7488),
    [sym_while_statement] = STATE(7488),
    [sym_repeat_while_statement] = STATE(7488),
    [sym_control_transfer_statement] = STATE(7488),
    [sym__throw_statement] = STATE(7753),
    [sym__optionally_valueful_control_keyword] = STATE(375),
    [sym_assignment] = STATE(1586),
    [sym_value_parameter_pack] = STATE(1586),
    [sym_value_pack_expansion] = STATE(1586),
    [sym__local_declaration] = STATE(7488),
    [sym__local_property_declaration] = STATE(7756),
    [sym__local_typealias_declaration] = STATE(7757),
    [sym__local_function_declaration] = STATE(7760),
    [sym__local_class_declaration] = STATE(7762),
    [sym__modifierless_property_declaration] = STATE(7772),
    [sym__modifierless_typealias_declaration] = STATE(7777),
    [sym__modifierless_function_declaration] = STATE(7782),
    [sym__modifierless_function_declaration_no_body] = STATE(7783),
    [sym__modifierless_class_declaration] = STATE(7784),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__referenceable_operator] = STATE(1586),
    [sym__equal_sign] = STATE(1586),
    [sym__eq_eq] = STATE(1586),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym_attribute] = STATE(4839),
    [sym_value_binding_pattern] = STATE(4783),
    [sym__possibly_async_binding_pattern_kind] = STATE(4783),
    [aux_sym__locally_permitted_modifiers] = STATE(4839),
    [sym__locally_permitted_modifier] = STATE(4839),
    [sym_property_behavior_modifier] = STATE(4839),
    [sym_inheritance_modifier] = STATE(4839),
    [sym_ownership_modifier] = STATE(4839),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1586),
    [sym_diagnostic] = STATE(1586),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(15),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(385),
    [anon_sym_repeat] = ACTIONS(23),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(147),
    [sym_real_literal] = ACTIONS(149),
    [sym_integer_literal] = ACTIONS(147),
    [sym_hex_literal] = ACTIONS(147),
    [sym_oct_literal] = ACTIONS(149),
    [sym_bin_literal] = ACTIONS(149),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(147),
    [anon_sym_GT] = ACTIONS(147),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_guard] = ACTIONS(61),
    [anon_sym_do] = ACTIONS(63),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(149),
    [anon_sym_DASH_EQ] = ACTIONS(149),
    [anon_sym_STAR_EQ] = ACTIONS(149),
    [anon_sym_SLASH_EQ] = ACTIONS(149),
    [anon_sym_PERCENT_EQ] = ACTIONS(149),
    [anon_sym_BANG_EQ] = ACTIONS(147),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(149),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(149),
    [anon_sym_LT_EQ] = ACTIONS(149),
    [anon_sym_GT_EQ] = ACTIONS(149),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(147),
    [anon_sym_SLASH] = ACTIONS(147),
    [anon_sym_PERCENT] = ACTIONS(147),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(149),
    [anon_sym_CARET] = ACTIONS(147),
    [anon_sym_LT_LT] = ACTIONS(149),
    [anon_sym_GT_GT] = ACTIONS(149),
    [sym_statement_label] = ACTIONS(73),
    [anon_sym_for] = ACTIONS(75),
    [anon_sym_while] = ACTIONS(77),
    [sym_throw_keyword] = ACTIONS(79),
    [anon_sym_return] = ACTIONS(153),
    [anon_sym_continue] = ACTIONS(153),
    [anon_sym_break] = ACTIONS(153),
    [anon_sym_yield] = ACTIONS(153),
    [anon_sym_typealias] = ACTIONS(83),
    [anon_sym_struct] = ACTIONS(85),
    [anon_sym_class] = ACTIONS(85),
    [anon_sym_enum] = ACTIONS(89),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_func] = ACTIONS(95),
    [anon_sym_extension] = ACTIONS(99),
    [anon_sym_indirect] = ACTIONS(101),
    [anon_sym_AT] = ACTIONS(387),
    [anon_sym_final] = ACTIONS(389),
    [anon_sym_weak] = ACTIONS(391),
    [anon_sym_unowned] = ACTIONS(391),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(393),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(149),
    [sym__eq_eq_custom] = ACTIONS(149),
    [sym__plus_then_ws] = ACTIONS(149),
    [sym__minus_then_ws] = ACTIONS(149),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [116] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1662),
    [sym_boolean_literal] = STATE(1662),
    [sym__string_literal] = STATE(1662),
    [sym_line_string_literal] = STATE(1662),
    [sym_multi_line_string_literal] = STATE(1662),
    [sym_raw_string_literal] = STATE(1662),
    [sym_regex_literal] = STATE(1662),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1662),
    [sym__unary_expression] = STATE(1662),
    [sym_postfix_expression] = STATE(1662),
    [sym_constructor_expression] = STATE(1662),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1662),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1662),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1662),
    [sym_prefix_expression] = STATE(1662),
    [sym_as_expression] = STATE(1662),
    [sym_selector_expression] = STATE(1662),
    [sym__binary_expression] = STATE(1662),
    [sym_multiplicative_expression] = STATE(1662),
    [sym_additive_expression] = STATE(1662),
    [sym_range_expression] = STATE(1662),
    [sym_infix_expression] = STATE(1662),
    [sym_nil_coalescing_expression] = STATE(1662),
    [sym_check_expression] = STATE(1662),
    [sym_comparison_expression] = STATE(1662),
    [sym_equality_expression] = STATE(1662),
    [sym_conjunction_expression] = STATE(1662),
    [sym_disjunction_expression] = STATE(1662),
    [sym_bitwise_operation] = STATE(1662),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1662),
    [sym_await_expression] = STATE(1662),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1662),
    [sym_call_expression] = STATE(1662),
    [sym_macro_invocation] = STATE(1662),
    [sym__primary_expression] = STATE(1662),
    [sym_tuple_expression] = STATE(1662),
    [sym_array_literal] = STATE(1662),
    [sym_dictionary_literal] = STATE(1662),
    [sym_special_literal] = STATE(1662),
    [sym_playground_literal] = STATE(1662),
    [sym_lambda_literal] = STATE(1662),
    [sym_self_expression] = STATE(1662),
    [sym_super_expression] = STATE(1662),
    [sym_if_statement] = STATE(1662),
    [sym__if_condition_sequence_item] = STATE(7145),
    [sym__if_let_binding] = STATE(8586),
    [sym_switch_statement] = STATE(1662),
    [sym_key_path_expression] = STATE(1662),
    [sym_key_path_string_expression] = STATE(1662),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1662),
    [sym__equality_operator] = STATE(1662),
    [sym__comparison_operator] = STATE(1662),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1662),
    [sym__multiplicative_operator] = STATE(1662),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1662),
    [sym_value_parameter_pack] = STATE(1662),
    [sym_value_pack_expansion] = STATE(1662),
    [sym_availability_condition] = STATE(7145),
    [sym__referenceable_operator] = STATE(1662),
    [sym__equal_sign] = STATE(1662),
    [sym__eq_eq] = STATE(1662),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4798),
    [sym_bang] = STATE(1169),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6656),
    [sym_value_binding_pattern] = STATE(4803),
    [sym__possibly_async_binding_pattern_kind] = STATE(4803),
    [sym__binding_kind_and_pattern] = STATE(6648),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1662),
    [sym_diagnostic] = STATE(1662),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(447),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(657),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(447),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(447),
    [anon_sym_nil] = ACTIONS(457),
    [sym_real_literal] = ACTIONS(459),
    [sym_integer_literal] = ACTIONS(457),
    [sym_hex_literal] = ACTIONS(457),
    [sym_oct_literal] = ACTIONS(459),
    [sym_bin_literal] = ACTIONS(459),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(469),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(469),
    [anon_sym_LBRACK] = ACTIONS(469),
    [anon_sym_QMARK] = ACTIONS(447),
    [anon_sym_QMARK2] = ACTIONS(469),
    [anon_sym_AMP] = ACTIONS(469),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(469),
    [anon_sym_LT] = ACTIONS(447),
    [anon_sym_GT] = ACTIONS(447),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(469),
    [anon_sym_CARET_LBRACE] = ACTIONS(469),
    [anon_sym_RBRACE] = ACTIONS(469),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(447),
    [anon_sym_fallthrough] = ACTIONS(447),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(469),
    [anon_sym_DASH_EQ] = ACTIONS(469),
    [anon_sym_STAR_EQ] = ACTIONS(469),
    [anon_sym_SLASH_EQ] = ACTIONS(469),
    [anon_sym_PERCENT_EQ] = ACTIONS(469),
    [anon_sym_BANG_EQ] = ACTIONS(447),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(469),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(469),
    [anon_sym_LT_EQ] = ACTIONS(469),
    [anon_sym_GT_EQ] = ACTIONS(469),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(469),
    [anon_sym_DOT_DOT_LT] = ACTIONS(469),
    [anon_sym_is] = ACTIONS(447),
    [anon_sym_PLUS] = ACTIONS(447),
    [anon_sym_DASH] = ACTIONS(447),
    [anon_sym_STAR] = ACTIONS(447),
    [anon_sym_SLASH] = ACTIONS(447),
    [anon_sym_PERCENT] = ACTIONS(447),
    [anon_sym_PLUS_PLUS] = ACTIONS(469),
    [anon_sym_DASH_DASH] = ACTIONS(469),
    [anon_sym_PIPE] = ACTIONS(469),
    [anon_sym_CARET] = ACTIONS(447),
    [anon_sym_LT_LT] = ACTIONS(469),
    [anon_sym_GT_GT] = ACTIONS(469),
    [anon_sym_class] = ACTIONS(447),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_prefix] = ACTIONS(447),
    [anon_sym_infix] = ACTIONS(447),
    [anon_sym_postfix] = ACTIONS(447),
    [anon_sym_AT] = ACTIONS(447),
    [anon_sym_override] = ACTIONS(447),
    [anon_sym_convenience] = ACTIONS(447),
    [anon_sym_required] = ACTIONS(447),
    [anon_sym_nonisolated] = ACTIONS(447),
    [anon_sym_public] = ACTIONS(447),
    [anon_sym_private] = ACTIONS(447),
    [anon_sym_internal] = ACTIONS(447),
    [anon_sym_fileprivate] = ACTIONS(447),
    [anon_sym_open] = ACTIONS(447),
    [anon_sym_mutating] = ACTIONS(447),
    [anon_sym_nonmutating] = ACTIONS(447),
    [anon_sym_static] = ACTIONS(447),
    [anon_sym_dynamic] = ACTIONS(447),
    [anon_sym_optional] = ACTIONS(447),
    [anon_sym_distributed] = ACTIONS(447),
    [anon_sym_final] = ACTIONS(447),
    [anon_sym_inout] = ACTIONS(447),
    [anon_sym_ATescaping] = ACTIONS(469),
    [anon_sym_ATautoclosure] = ACTIONS(469),
    [anon_sym_weak] = ACTIONS(447),
    [anon_sym_unowned] = ACTIONS(447),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(469),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(469),
    [anon_sym_borrowing] = ACTIONS(447),
    [anon_sym_consuming] = ACTIONS(447),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__implicit_semi] = ACTIONS(469),
    [sym__explicit_semi] = ACTIONS(469),
    [sym__dot_custom] = ACTIONS(469),
    [sym__conjunction_operator_custom] = ACTIONS(469),
    [sym__disjunction_operator_custom] = ACTIONS(469),
    [sym__nil_coalescing_operator_custom] = ACTIONS(469),
    [sym__eq_custom] = ACTIONS(469),
    [sym__eq_eq_custom] = ACTIONS(469),
    [sym__plus_then_ws] = ACTIONS(469),
    [sym__minus_then_ws] = ACTIONS(469),
    [sym__bang_custom] = ACTIONS(469),
    [sym_default_keyword] = ACTIONS(469),
    [sym__as_custom] = ACTIONS(469),
    [sym__as_quest_custom] = ACTIONS(469),
    [sym__as_bang_custom] = ACTIONS(469),
    [sym__custom_operator] = ACTIONS(469),
    [sym__hash_symbol_custom] = ACTIONS(487),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [117] = {
    [sym_simple_identifier] = STATE(1217),
    [sym__contextual_simple_identifier] = STATE(1147),
    [sym__basic_literal] = STATE(785),
    [sym_boolean_literal] = STATE(785),
    [sym__string_literal] = STATE(785),
    [sym_line_string_literal] = STATE(785),
    [sym_multi_line_string_literal] = STATE(785),
    [sym_raw_string_literal] = STATE(785),
    [sym_regex_literal] = STATE(785),
    [sym__extended_regex_literal] = STATE(1286),
    [sym__multiline_regex_literal] = STATE(1286),
    [sym_user_type] = STATE(6397),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6397),
    [sym_dictionary_type] = STATE(6397),
    [sym__expression] = STATE(785),
    [sym__unary_expression] = STATE(785),
    [sym_postfix_expression] = STATE(785),
    [sym_constructor_expression] = STATE(785),
    [sym__parenthesized_type] = STATE(7511),
    [sym_navigation_expression] = STATE(785),
    [sym__navigable_type_expression] = STATE(7510),
    [sym_open_start_range_expression] = STATE(785),
    [sym__range_operator] = STATE(695),
    [sym_open_end_range_expression] = STATE(785),
    [sym_prefix_expression] = STATE(785),
    [sym_as_expression] = STATE(785),
    [sym_selector_expression] = STATE(785),
    [sym__binary_expression] = STATE(785),
    [sym_multiplicative_expression] = STATE(785),
    [sym_additive_expression] = STATE(785),
    [sym_range_expression] = STATE(785),
    [sym_infix_expression] = STATE(785),
    [sym_nil_coalescing_expression] = STATE(785),
    [sym_check_expression] = STATE(785),
    [sym_comparison_expression] = STATE(785),
    [sym_equality_expression] = STATE(785),
    [sym_conjunction_expression] = STATE(785),
    [sym_disjunction_expression] = STATE(785),
    [sym_bitwise_operation] = STATE(785),
    [sym_custom_operator] = STATE(759),
    [sym_try_expression] = STATE(785),
    [sym_await_expression] = STATE(785),
    [sym__await_operator] = STATE(644),
    [sym_ternary_expression] = STATE(785),
    [sym_call_expression] = STATE(785),
    [sym_macro_invocation] = STATE(785),
    [sym__primary_expression] = STATE(785),
    [sym_tuple_expression] = STATE(785),
    [sym_array_literal] = STATE(785),
    [sym_dictionary_literal] = STATE(785),
    [sym_special_literal] = STATE(785),
    [sym_playground_literal] = STATE(785),
    [sym_lambda_literal] = STATE(785),
    [sym_self_expression] = STATE(785),
    [sym_super_expression] = STATE(785),
    [sym_if_statement] = STATE(785),
    [sym_switch_statement] = STATE(785),
    [sym_key_path_expression] = STATE(785),
    [sym_key_path_string_expression] = STATE(785),
    [sym_try_operator] = STATE(645),
    [sym__assignment_and_operator] = STATE(785),
    [sym__equality_operator] = STATE(785),
    [sym__comparison_operator] = STATE(785),
    [sym__three_dot_operator] = STATE(761),
    [sym__open_ended_range_operator] = STATE(695),
    [sym__additive_operator] = STATE(785),
    [sym__multiplicative_operator] = STATE(785),
    [sym__prefix_unary_operator] = STATE(659),
    [sym_directly_assignable_expression] = STATE(6398),
    [sym_assignment] = STATE(785),
    [sym_value_parameter_pack] = STATE(785),
    [sym_value_pack_expansion] = STATE(785),
    [sym__referenceable_operator] = STATE(785),
    [sym__equal_sign] = STATE(785),
    [sym__eq_eq] = STATE(785),
    [sym__dot] = STATE(659),
    [sym__hash_symbol] = STATE(4848),
    [sym_bang] = STATE(759),
    [sym__parameter_ownership_modifier] = STATE(1147),
    [sym_directive] = STATE(785),
    [sym_diagnostic] = STATE(785),
    [aux_sym_raw_string_literal_repeat1] = STATE(7499),
    [anon_sym_BANG] = ACTIONS(659),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(661),
    [aux_sym_simple_identifier_token2] = ACTIONS(663),
    [aux_sym_simple_identifier_token3] = ACTIONS(663),
    [aux_sym_simple_identifier_token4] = ACTIONS(663),
    [anon_sym_actor] = ACTIONS(661),
    [anon_sym_async] = ACTIONS(661),
    [anon_sym_each] = ACTIONS(665),
    [anon_sym_lazy] = ACTIONS(661),
    [anon_sym_repeat] = ACTIONS(667),
    [anon_sym_package] = ACTIONS(661),
    [anon_sym_nil] = ACTIONS(669),
    [sym_real_literal] = ACTIONS(671),
    [sym_integer_literal] = ACTIONS(669),
    [sym_hex_literal] = ACTIONS(669),
    [sym_oct_literal] = ACTIONS(671),
    [sym_bin_literal] = ACTIONS(671),
    [anon_sym_true] = ACTIONS(673),
    [anon_sym_false] = ACTIONS(673),
    [anon_sym_DQUOTE] = ACTIONS(675),
    [anon_sym_BSLASH] = ACTIONS(677),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(679),
    [anon_sym_COMMA] = ACTIONS(617),
    [sym__oneline_regex_literal] = ACTIONS(681),
    [anon_sym_LPAREN] = ACTIONS(683),
    [anon_sym_LBRACK] = ACTIONS(685),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(687),
    [anon_sym_TILDE] = ACTIONS(687),
    [anon_sym_if] = ACTIONS(689),
    [anon_sym_switch] = ACTIONS(691),
    [aux_sym_custom_operator_token1] = ACTIONS(693),
    [anon_sym_LT] = ACTIONS(669),
    [anon_sym_GT] = ACTIONS(669),
    [anon_sym_await] = ACTIONS(695),
    [anon_sym_LBRACE] = ACTIONS(697),
    [anon_sym_CARET_LBRACE] = ACTIONS(697),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_self] = ACTIONS(699),
    [anon_sym_super] = ACTIONS(701),
    [anon_sym_case] = ACTIONS(623),
    [anon_sym_fallthrough] = ACTIONS(623),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(671),
    [anon_sym_DASH_EQ] = ACTIONS(671),
    [anon_sym_STAR_EQ] = ACTIONS(671),
    [anon_sym_SLASH_EQ] = ACTIONS(671),
    [anon_sym_PERCENT_EQ] = ACTIONS(671),
    [anon_sym_BANG_EQ] = ACTIONS(669),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(671),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(671),
    [anon_sym_LT_EQ] = ACTIONS(671),
    [anon_sym_GT_EQ] = ACTIONS(671),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(703),
    [anon_sym_DOT_DOT_LT] = ACTIONS(705),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(707),
    [anon_sym_DASH] = ACTIONS(707),
    [anon_sym_STAR] = ACTIONS(669),
    [anon_sym_SLASH] = ACTIONS(669),
    [anon_sym_PERCENT] = ACTIONS(669),
    [anon_sym_PLUS_PLUS] = ACTIONS(687),
    [anon_sym_DASH_DASH] = ACTIONS(687),
    [anon_sym_PIPE] = ACTIONS(671),
    [anon_sym_CARET] = ACTIONS(669),
    [anon_sym_LT_LT] = ACTIONS(671),
    [anon_sym_GT_GT] = ACTIONS(671),
    [anon_sym_class] = ACTIONS(623),
    [anon_sym_prefix] = ACTIONS(623),
    [anon_sym_infix] = ACTIONS(623),
    [anon_sym_postfix] = ACTIONS(623),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(623),
    [anon_sym_convenience] = ACTIONS(623),
    [anon_sym_required] = ACTIONS(623),
    [anon_sym_nonisolated] = ACTIONS(623),
    [anon_sym_public] = ACTIONS(623),
    [anon_sym_private] = ACTIONS(623),
    [anon_sym_internal] = ACTIONS(623),
    [anon_sym_fileprivate] = ACTIONS(623),
    [anon_sym_open] = ACTIONS(623),
    [anon_sym_mutating] = ACTIONS(623),
    [anon_sym_nonmutating] = ACTIONS(623),
    [anon_sym_static] = ACTIONS(623),
    [anon_sym_dynamic] = ACTIONS(623),
    [anon_sym_optional] = ACTIONS(623),
    [anon_sym_distributed] = ACTIONS(623),
    [anon_sym_final] = ACTIONS(623),
    [anon_sym_inout] = ACTIONS(623),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(623),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(661),
    [anon_sym_consuming] = ACTIONS(661),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(709),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(711),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(671),
    [sym__eq_eq_custom] = ACTIONS(671),
    [sym__plus_then_ws] = ACTIONS(671),
    [sym__minus_then_ws] = ACTIONS(671),
    [sym__bang_custom] = ACTIONS(713),
    [sym_default_keyword] = ACTIONS(617),
    [sym_where_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(693),
    [sym__hash_symbol_custom] = ACTIONS(715),
    [sym__directive_if] = ACTIONS(717),
    [sym__directive_elseif] = ACTIONS(717),
    [sym__directive_else] = ACTIONS(719),
    [sym__directive_endif] = ACTIONS(719),
  },
  [118] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1679),
    [sym_boolean_literal] = STATE(1679),
    [sym__string_literal] = STATE(1679),
    [sym_line_string_literal] = STATE(1679),
    [sym_multi_line_string_literal] = STATE(1679),
    [sym_raw_string_literal] = STATE(1679),
    [sym_regex_literal] = STATE(1679),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1679),
    [sym__unary_expression] = STATE(1679),
    [sym_postfix_expression] = STATE(1679),
    [sym_constructor_expression] = STATE(1679),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1679),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1679),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1679),
    [sym_prefix_expression] = STATE(1679),
    [sym_as_expression] = STATE(1679),
    [sym_selector_expression] = STATE(1679),
    [sym__binary_expression] = STATE(1679),
    [sym_multiplicative_expression] = STATE(1679),
    [sym_additive_expression] = STATE(1679),
    [sym_range_expression] = STATE(1679),
    [sym_infix_expression] = STATE(1679),
    [sym_nil_coalescing_expression] = STATE(1679),
    [sym_check_expression] = STATE(1679),
    [sym_comparison_expression] = STATE(1679),
    [sym_equality_expression] = STATE(1679),
    [sym_conjunction_expression] = STATE(1679),
    [sym_disjunction_expression] = STATE(1679),
    [sym_bitwise_operation] = STATE(1679),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1679),
    [sym_await_expression] = STATE(1679),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1679),
    [sym_call_expression] = STATE(1679),
    [sym_macro_invocation] = STATE(1679),
    [sym__primary_expression] = STATE(1679),
    [sym_tuple_expression] = STATE(1679),
    [sym_array_literal] = STATE(1679),
    [sym_dictionary_literal] = STATE(1679),
    [sym_special_literal] = STATE(1679),
    [sym_playground_literal] = STATE(1679),
    [sym_lambda_literal] = STATE(1679),
    [sym_self_expression] = STATE(1679),
    [sym_super_expression] = STATE(1679),
    [sym_if_statement] = STATE(1679),
    [sym_switch_statement] = STATE(1679),
    [sym_key_path_expression] = STATE(1679),
    [sym_key_path_string_expression] = STATE(1679),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1679),
    [sym__equality_operator] = STATE(1679),
    [sym__comparison_operator] = STATE(1679),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1679),
    [sym__multiplicative_operator] = STATE(1679),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1679),
    [sym_value_parameter_pack] = STATE(1679),
    [sym_value_pack_expansion] = STATE(1679),
    [sym__referenceable_operator] = STATE(1679),
    [sym__equal_sign] = STATE(1679),
    [sym__eq_eq] = STATE(1679),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1679),
    [sym_diagnostic] = STATE(1679),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(447),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(447),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(447),
    [anon_sym_nil] = ACTIONS(721),
    [sym_real_literal] = ACTIONS(723),
    [sym_integer_literal] = ACTIONS(721),
    [sym_hex_literal] = ACTIONS(721),
    [sym_oct_literal] = ACTIONS(723),
    [sym_bin_literal] = ACTIONS(723),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(469),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(469),
    [anon_sym_LBRACK] = ACTIONS(469),
    [anon_sym_QMARK] = ACTIONS(447),
    [anon_sym_QMARK2] = ACTIONS(469),
    [anon_sym_AMP] = ACTIONS(469),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(469),
    [anon_sym_LT] = ACTIONS(447),
    [anon_sym_GT] = ACTIONS(447),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(469),
    [anon_sym_CARET_LBRACE] = ACTIONS(469),
    [anon_sym_RBRACE] = ACTIONS(469),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(447),
    [anon_sym_fallthrough] = ACTIONS(447),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(469),
    [anon_sym_DASH_EQ] = ACTIONS(469),
    [anon_sym_STAR_EQ] = ACTIONS(469),
    [anon_sym_SLASH_EQ] = ACTIONS(469),
    [anon_sym_PERCENT_EQ] = ACTIONS(469),
    [anon_sym_BANG_EQ] = ACTIONS(447),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(469),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(469),
    [anon_sym_LT_EQ] = ACTIONS(469),
    [anon_sym_GT_EQ] = ACTIONS(469),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(469),
    [anon_sym_DOT_DOT_LT] = ACTIONS(469),
    [anon_sym_is] = ACTIONS(447),
    [anon_sym_PLUS] = ACTIONS(447),
    [anon_sym_DASH] = ACTIONS(447),
    [anon_sym_STAR] = ACTIONS(447),
    [anon_sym_SLASH] = ACTIONS(447),
    [anon_sym_PERCENT] = ACTIONS(447),
    [anon_sym_PLUS_PLUS] = ACTIONS(469),
    [anon_sym_DASH_DASH] = ACTIONS(469),
    [anon_sym_PIPE] = ACTIONS(469),
    [anon_sym_CARET] = ACTIONS(447),
    [anon_sym_LT_LT] = ACTIONS(469),
    [anon_sym_GT_GT] = ACTIONS(469),
    [anon_sym_class] = ACTIONS(447),
    [anon_sym_prefix] = ACTIONS(447),
    [anon_sym_infix] = ACTIONS(447),
    [anon_sym_postfix] = ACTIONS(447),
    [anon_sym_AT] = ACTIONS(447),
    [anon_sym_override] = ACTIONS(447),
    [anon_sym_convenience] = ACTIONS(447),
    [anon_sym_required] = ACTIONS(447),
    [anon_sym_nonisolated] = ACTIONS(447),
    [anon_sym_public] = ACTIONS(447),
    [anon_sym_private] = ACTIONS(447),
    [anon_sym_internal] = ACTIONS(447),
    [anon_sym_fileprivate] = ACTIONS(447),
    [anon_sym_open] = ACTIONS(447),
    [anon_sym_mutating] = ACTIONS(447),
    [anon_sym_nonmutating] = ACTIONS(447),
    [anon_sym_static] = ACTIONS(447),
    [anon_sym_dynamic] = ACTIONS(447),
    [anon_sym_optional] = ACTIONS(447),
    [anon_sym_distributed] = ACTIONS(447),
    [anon_sym_final] = ACTIONS(447),
    [anon_sym_inout] = ACTIONS(447),
    [anon_sym_ATescaping] = ACTIONS(469),
    [anon_sym_ATautoclosure] = ACTIONS(469),
    [anon_sym_weak] = ACTIONS(447),
    [anon_sym_unowned] = ACTIONS(447),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(469),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(469),
    [anon_sym_borrowing] = ACTIONS(447),
    [anon_sym_consuming] = ACTIONS(447),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__implicit_semi] = ACTIONS(469),
    [sym__explicit_semi] = ACTIONS(469),
    [sym__dot_custom] = ACTIONS(469),
    [sym__conjunction_operator_custom] = ACTIONS(469),
    [sym__disjunction_operator_custom] = ACTIONS(469),
    [sym__nil_coalescing_operator_custom] = ACTIONS(469),
    [sym__eq_custom] = ACTIONS(469),
    [sym__eq_eq_custom] = ACTIONS(469),
    [sym__plus_then_ws] = ACTIONS(469),
    [sym__minus_then_ws] = ACTIONS(469),
    [sym__bang_custom] = ACTIONS(469),
    [sym_default_keyword] = ACTIONS(469),
    [sym_where_keyword] = ACTIONS(469),
    [sym__as_custom] = ACTIONS(469),
    [sym__as_quest_custom] = ACTIONS(469),
    [sym__as_bang_custom] = ACTIONS(469),
    [sym__custom_operator] = ACTIONS(469),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [119] = {
    [sym_simple_identifier] = STATE(1217),
    [sym__contextual_simple_identifier] = STATE(1147),
    [sym__basic_literal] = STATE(776),
    [sym_boolean_literal] = STATE(776),
    [sym__string_literal] = STATE(776),
    [sym_line_string_literal] = STATE(776),
    [sym_multi_line_string_literal] = STATE(776),
    [sym_raw_string_literal] = STATE(776),
    [sym_regex_literal] = STATE(776),
    [sym__extended_regex_literal] = STATE(1286),
    [sym__multiline_regex_literal] = STATE(1286),
    [sym_user_type] = STATE(6397),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6397),
    [sym_dictionary_type] = STATE(6397),
    [sym__expression] = STATE(776),
    [sym__unary_expression] = STATE(776),
    [sym_postfix_expression] = STATE(776),
    [sym_constructor_expression] = STATE(776),
    [sym__parenthesized_type] = STATE(7511),
    [sym_navigation_expression] = STATE(776),
    [sym__navigable_type_expression] = STATE(7510),
    [sym_open_start_range_expression] = STATE(776),
    [sym__range_operator] = STATE(695),
    [sym_open_end_range_expression] = STATE(776),
    [sym_prefix_expression] = STATE(776),
    [sym_as_expression] = STATE(776),
    [sym_selector_expression] = STATE(776),
    [sym__binary_expression] = STATE(776),
    [sym_multiplicative_expression] = STATE(776),
    [sym_additive_expression] = STATE(776),
    [sym_range_expression] = STATE(776),
    [sym_infix_expression] = STATE(776),
    [sym_nil_coalescing_expression] = STATE(776),
    [sym_check_expression] = STATE(776),
    [sym_comparison_expression] = STATE(776),
    [sym_equality_expression] = STATE(776),
    [sym_conjunction_expression] = STATE(776),
    [sym_disjunction_expression] = STATE(776),
    [sym_bitwise_operation] = STATE(776),
    [sym_custom_operator] = STATE(759),
    [sym_try_expression] = STATE(776),
    [sym_await_expression] = STATE(776),
    [sym__await_operator] = STATE(644),
    [sym_ternary_expression] = STATE(776),
    [sym_call_expression] = STATE(776),
    [sym_macro_invocation] = STATE(776),
    [sym__primary_expression] = STATE(776),
    [sym_tuple_expression] = STATE(776),
    [sym_array_literal] = STATE(776),
    [sym_dictionary_literal] = STATE(776),
    [sym_special_literal] = STATE(776),
    [sym_playground_literal] = STATE(776),
    [sym_lambda_literal] = STATE(776),
    [sym_self_expression] = STATE(776),
    [sym_super_expression] = STATE(776),
    [sym_if_statement] = STATE(776),
    [sym_switch_statement] = STATE(776),
    [sym_key_path_expression] = STATE(776),
    [sym_key_path_string_expression] = STATE(776),
    [sym_try_operator] = STATE(645),
    [sym__assignment_and_operator] = STATE(776),
    [sym__equality_operator] = STATE(776),
    [sym__comparison_operator] = STATE(776),
    [sym__three_dot_operator] = STATE(761),
    [sym__open_ended_range_operator] = STATE(695),
    [sym__additive_operator] = STATE(776),
    [sym__multiplicative_operator] = STATE(776),
    [sym__prefix_unary_operator] = STATE(659),
    [sym_directly_assignable_expression] = STATE(6398),
    [sym_assignment] = STATE(776),
    [sym_value_parameter_pack] = STATE(776),
    [sym_value_pack_expansion] = STATE(776),
    [sym__referenceable_operator] = STATE(776),
    [sym__equal_sign] = STATE(776),
    [sym__eq_eq] = STATE(776),
    [sym__dot] = STATE(659),
    [sym__hash_symbol] = STATE(4848),
    [sym_bang] = STATE(759),
    [sym__parameter_ownership_modifier] = STATE(1147),
    [sym_directive] = STATE(776),
    [sym_diagnostic] = STATE(776),
    [aux_sym_raw_string_literal_repeat1] = STATE(7499),
    [anon_sym_BANG] = ACTIONS(659),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(661),
    [aux_sym_simple_identifier_token2] = ACTIONS(663),
    [aux_sym_simple_identifier_token3] = ACTIONS(663),
    [aux_sym_simple_identifier_token4] = ACTIONS(663),
    [anon_sym_actor] = ACTIONS(661),
    [anon_sym_async] = ACTIONS(661),
    [anon_sym_each] = ACTIONS(665),
    [anon_sym_lazy] = ACTIONS(661),
    [anon_sym_repeat] = ACTIONS(667),
    [anon_sym_package] = ACTIONS(661),
    [anon_sym_nil] = ACTIONS(725),
    [sym_real_literal] = ACTIONS(727),
    [sym_integer_literal] = ACTIONS(725),
    [sym_hex_literal] = ACTIONS(725),
    [sym_oct_literal] = ACTIONS(727),
    [sym_bin_literal] = ACTIONS(727),
    [anon_sym_true] = ACTIONS(673),
    [anon_sym_false] = ACTIONS(673),
    [anon_sym_DQUOTE] = ACTIONS(675),
    [anon_sym_BSLASH] = ACTIONS(677),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(679),
    [anon_sym_COMMA] = ACTIONS(617),
    [sym__oneline_regex_literal] = ACTIONS(681),
    [anon_sym_LPAREN] = ACTIONS(683),
    [anon_sym_LBRACK] = ACTIONS(685),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(687),
    [anon_sym_TILDE] = ACTIONS(687),
    [anon_sym_if] = ACTIONS(689),
    [anon_sym_switch] = ACTIONS(691),
    [aux_sym_custom_operator_token1] = ACTIONS(693),
    [anon_sym_LT] = ACTIONS(725),
    [anon_sym_GT] = ACTIONS(725),
    [anon_sym_await] = ACTIONS(695),
    [anon_sym_LBRACE] = ACTIONS(697),
    [anon_sym_CARET_LBRACE] = ACTIONS(697),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_self] = ACTIONS(699),
    [anon_sym_super] = ACTIONS(701),
    [anon_sym_case] = ACTIONS(623),
    [anon_sym_fallthrough] = ACTIONS(623),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(727),
    [anon_sym_DASH_EQ] = ACTIONS(727),
    [anon_sym_STAR_EQ] = ACTIONS(727),
    [anon_sym_SLASH_EQ] = ACTIONS(727),
    [anon_sym_PERCENT_EQ] = ACTIONS(727),
    [anon_sym_BANG_EQ] = ACTIONS(725),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(727),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(727),
    [anon_sym_LT_EQ] = ACTIONS(727),
    [anon_sym_GT_EQ] = ACTIONS(727),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(703),
    [anon_sym_DOT_DOT_LT] = ACTIONS(705),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(707),
    [anon_sym_DASH] = ACTIONS(707),
    [anon_sym_STAR] = ACTIONS(725),
    [anon_sym_SLASH] = ACTIONS(725),
    [anon_sym_PERCENT] = ACTIONS(725),
    [anon_sym_PLUS_PLUS] = ACTIONS(687),
    [anon_sym_DASH_DASH] = ACTIONS(687),
    [anon_sym_PIPE] = ACTIONS(727),
    [anon_sym_CARET] = ACTIONS(725),
    [anon_sym_LT_LT] = ACTIONS(727),
    [anon_sym_GT_GT] = ACTIONS(727),
    [anon_sym_class] = ACTIONS(623),
    [anon_sym_prefix] = ACTIONS(623),
    [anon_sym_infix] = ACTIONS(623),
    [anon_sym_postfix] = ACTIONS(623),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(623),
    [anon_sym_convenience] = ACTIONS(623),
    [anon_sym_required] = ACTIONS(623),
    [anon_sym_nonisolated] = ACTIONS(623),
    [anon_sym_public] = ACTIONS(623),
    [anon_sym_private] = ACTIONS(623),
    [anon_sym_internal] = ACTIONS(623),
    [anon_sym_fileprivate] = ACTIONS(623),
    [anon_sym_open] = ACTIONS(623),
    [anon_sym_mutating] = ACTIONS(623),
    [anon_sym_nonmutating] = ACTIONS(623),
    [anon_sym_static] = ACTIONS(623),
    [anon_sym_dynamic] = ACTIONS(623),
    [anon_sym_optional] = ACTIONS(623),
    [anon_sym_distributed] = ACTIONS(623),
    [anon_sym_final] = ACTIONS(623),
    [anon_sym_inout] = ACTIONS(623),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(623),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(661),
    [anon_sym_consuming] = ACTIONS(661),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(709),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(711),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(727),
    [sym__eq_eq_custom] = ACTIONS(727),
    [sym__plus_then_ws] = ACTIONS(727),
    [sym__minus_then_ws] = ACTIONS(727),
    [sym__bang_custom] = ACTIONS(713),
    [sym_default_keyword] = ACTIONS(617),
    [sym_where_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(693),
    [sym__hash_symbol_custom] = ACTIONS(715),
    [sym__directive_if] = ACTIONS(717),
    [sym__directive_elseif] = ACTIONS(717),
    [sym__directive_else] = ACTIONS(719),
    [sym__directive_endif] = ACTIONS(719),
  },
  [120] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1680),
    [sym_boolean_literal] = STATE(1680),
    [sym__string_literal] = STATE(1680),
    [sym_line_string_literal] = STATE(1680),
    [sym_multi_line_string_literal] = STATE(1680),
    [sym_raw_string_literal] = STATE(1680),
    [sym_regex_literal] = STATE(1680),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1680),
    [sym__unary_expression] = STATE(1680),
    [sym_postfix_expression] = STATE(1680),
    [sym_constructor_expression] = STATE(1680),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1680),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1680),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1680),
    [sym_prefix_expression] = STATE(1680),
    [sym_as_expression] = STATE(1680),
    [sym_selector_expression] = STATE(1680),
    [sym__binary_expression] = STATE(1680),
    [sym_multiplicative_expression] = STATE(1680),
    [sym_additive_expression] = STATE(1680),
    [sym_range_expression] = STATE(1680),
    [sym_infix_expression] = STATE(1680),
    [sym_nil_coalescing_expression] = STATE(1680),
    [sym_check_expression] = STATE(1680),
    [sym_comparison_expression] = STATE(1680),
    [sym_equality_expression] = STATE(1680),
    [sym_conjunction_expression] = STATE(1680),
    [sym_disjunction_expression] = STATE(1680),
    [sym_bitwise_operation] = STATE(1680),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1680),
    [sym_await_expression] = STATE(1680),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1680),
    [sym_call_expression] = STATE(1680),
    [sym_macro_invocation] = STATE(1680),
    [sym__primary_expression] = STATE(1680),
    [sym_tuple_expression] = STATE(1680),
    [sym_array_literal] = STATE(1680),
    [sym_dictionary_literal] = STATE(1680),
    [sym_special_literal] = STATE(1680),
    [sym_playground_literal] = STATE(1680),
    [sym_lambda_literal] = STATE(1680),
    [sym_self_expression] = STATE(1680),
    [sym_super_expression] = STATE(1680),
    [sym_if_statement] = STATE(1680),
    [sym_switch_statement] = STATE(1680),
    [sym_key_path_expression] = STATE(1680),
    [sym_key_path_string_expression] = STATE(1680),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1680),
    [sym__equality_operator] = STATE(1680),
    [sym__comparison_operator] = STATE(1680),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1680),
    [sym__multiplicative_operator] = STATE(1680),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1680),
    [sym_value_parameter_pack] = STATE(1680),
    [sym_value_pack_expansion] = STATE(1680),
    [sym__referenceable_operator] = STATE(1680),
    [sym__equal_sign] = STATE(1680),
    [sym__eq_eq] = STATE(1680),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1680),
    [sym_diagnostic] = STATE(1680),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(447),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(447),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(447),
    [anon_sym_nil] = ACTIONS(729),
    [sym_real_literal] = ACTIONS(731),
    [sym_integer_literal] = ACTIONS(729),
    [sym_hex_literal] = ACTIONS(729),
    [sym_oct_literal] = ACTIONS(731),
    [sym_bin_literal] = ACTIONS(731),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(469),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(469),
    [anon_sym_LBRACK] = ACTIONS(469),
    [anon_sym_QMARK] = ACTIONS(447),
    [anon_sym_QMARK2] = ACTIONS(469),
    [anon_sym_AMP] = ACTIONS(469),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(469),
    [anon_sym_LT] = ACTIONS(447),
    [anon_sym_GT] = ACTIONS(447),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(469),
    [anon_sym_CARET_LBRACE] = ACTIONS(469),
    [anon_sym_RBRACE] = ACTIONS(469),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(447),
    [anon_sym_fallthrough] = ACTIONS(447),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(469),
    [anon_sym_DASH_EQ] = ACTIONS(469),
    [anon_sym_STAR_EQ] = ACTIONS(469),
    [anon_sym_SLASH_EQ] = ACTIONS(469),
    [anon_sym_PERCENT_EQ] = ACTIONS(469),
    [anon_sym_BANG_EQ] = ACTIONS(447),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(469),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(469),
    [anon_sym_LT_EQ] = ACTIONS(469),
    [anon_sym_GT_EQ] = ACTIONS(469),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(469),
    [anon_sym_DOT_DOT_LT] = ACTIONS(469),
    [anon_sym_is] = ACTIONS(447),
    [anon_sym_PLUS] = ACTIONS(447),
    [anon_sym_DASH] = ACTIONS(447),
    [anon_sym_STAR] = ACTIONS(447),
    [anon_sym_SLASH] = ACTIONS(447),
    [anon_sym_PERCENT] = ACTIONS(447),
    [anon_sym_PLUS_PLUS] = ACTIONS(469),
    [anon_sym_DASH_DASH] = ACTIONS(469),
    [anon_sym_PIPE] = ACTIONS(469),
    [anon_sym_CARET] = ACTIONS(447),
    [anon_sym_LT_LT] = ACTIONS(469),
    [anon_sym_GT_GT] = ACTIONS(469),
    [anon_sym_class] = ACTIONS(447),
    [anon_sym_prefix] = ACTIONS(447),
    [anon_sym_infix] = ACTIONS(447),
    [anon_sym_postfix] = ACTIONS(447),
    [anon_sym_AT] = ACTIONS(447),
    [anon_sym_override] = ACTIONS(447),
    [anon_sym_convenience] = ACTIONS(447),
    [anon_sym_required] = ACTIONS(447),
    [anon_sym_nonisolated] = ACTIONS(447),
    [anon_sym_public] = ACTIONS(447),
    [anon_sym_private] = ACTIONS(447),
    [anon_sym_internal] = ACTIONS(447),
    [anon_sym_fileprivate] = ACTIONS(447),
    [anon_sym_open] = ACTIONS(447),
    [anon_sym_mutating] = ACTIONS(447),
    [anon_sym_nonmutating] = ACTIONS(447),
    [anon_sym_static] = ACTIONS(447),
    [anon_sym_dynamic] = ACTIONS(447),
    [anon_sym_optional] = ACTIONS(447),
    [anon_sym_distributed] = ACTIONS(447),
    [anon_sym_final] = ACTIONS(447),
    [anon_sym_inout] = ACTIONS(447),
    [anon_sym_ATescaping] = ACTIONS(469),
    [anon_sym_ATautoclosure] = ACTIONS(469),
    [anon_sym_weak] = ACTIONS(447),
    [anon_sym_unowned] = ACTIONS(447),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(469),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(469),
    [anon_sym_borrowing] = ACTIONS(447),
    [anon_sym_consuming] = ACTIONS(447),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__implicit_semi] = ACTIONS(469),
    [sym__explicit_semi] = ACTIONS(469),
    [sym__dot_custom] = ACTIONS(469),
    [sym__conjunction_operator_custom] = ACTIONS(469),
    [sym__disjunction_operator_custom] = ACTIONS(469),
    [sym__nil_coalescing_operator_custom] = ACTIONS(469),
    [sym__eq_custom] = ACTIONS(469),
    [sym__eq_eq_custom] = ACTIONS(469),
    [sym__plus_then_ws] = ACTIONS(469),
    [sym__minus_then_ws] = ACTIONS(469),
    [sym__bang_custom] = ACTIONS(469),
    [sym_default_keyword] = ACTIONS(469),
    [sym__as_custom] = ACTIONS(469),
    [sym__as_quest_custom] = ACTIONS(469),
    [sym__as_bang_custom] = ACTIONS(469),
    [sym__custom_operator] = ACTIONS(469),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [121] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(792),
    [sym_boolean_literal] = STATE(792),
    [sym__string_literal] = STATE(792),
    [sym_line_string_literal] = STATE(792),
    [sym_multi_line_string_literal] = STATE(792),
    [sym_raw_string_literal] = STATE(792),
    [sym_regex_literal] = STATE(792),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(792),
    [sym__unary_expression] = STATE(792),
    [sym_postfix_expression] = STATE(792),
    [sym_constructor_expression] = STATE(792),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(792),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(792),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(792),
    [sym_prefix_expression] = STATE(792),
    [sym_as_expression] = STATE(792),
    [sym_selector_expression] = STATE(792),
    [sym__binary_expression] = STATE(792),
    [sym_multiplicative_expression] = STATE(792),
    [sym_additive_expression] = STATE(792),
    [sym_range_expression] = STATE(792),
    [sym_infix_expression] = STATE(792),
    [sym_nil_coalescing_expression] = STATE(792),
    [sym_check_expression] = STATE(792),
    [sym_comparison_expression] = STATE(792),
    [sym_equality_expression] = STATE(792),
    [sym_conjunction_expression] = STATE(792),
    [sym_disjunction_expression] = STATE(792),
    [sym_bitwise_operation] = STATE(792),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(792),
    [sym_await_expression] = STATE(792),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(792),
    [sym_call_expression] = STATE(792),
    [sym_macro_invocation] = STATE(792),
    [sym__primary_expression] = STATE(792),
    [sym_tuple_expression] = STATE(792),
    [sym_array_literal] = STATE(792),
    [sym_dictionary_literal] = STATE(792),
    [sym_special_literal] = STATE(792),
    [sym_playground_literal] = STATE(792),
    [sym_lambda_literal] = STATE(792),
    [sym_self_expression] = STATE(792),
    [sym_super_expression] = STATE(792),
    [sym_if_statement] = STATE(792),
    [sym_switch_statement] = STATE(792),
    [sym_key_path_expression] = STATE(792),
    [sym_key_path_string_expression] = STATE(792),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(792),
    [sym__equality_operator] = STATE(792),
    [sym__comparison_operator] = STATE(792),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(792),
    [sym__multiplicative_operator] = STATE(792),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_assignment] = STATE(792),
    [sym_value_parameter_pack] = STATE(792),
    [sym_value_pack_expansion] = STATE(792),
    [sym__referenceable_operator] = STATE(792),
    [sym__equal_sign] = STATE(792),
    [sym__eq_eq] = STATE(792),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(792),
    [sym_diagnostic] = STATE(792),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(289),
    [anon_sym_async] = ACTIONS(289),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(289),
    [anon_sym_repeat] = ACTIONS(733),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(735),
    [sym_real_literal] = ACTIONS(737),
    [sym_integer_literal] = ACTIONS(735),
    [sym_hex_literal] = ACTIONS(735),
    [sym_oct_literal] = ACTIONS(737),
    [sym_bin_literal] = ACTIONS(737),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [anon_sym_COMMA] = ACTIONS(617),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(735),
    [anon_sym_GT] = ACTIONS(735),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_case] = ACTIONS(623),
    [anon_sym_fallthrough] = ACTIONS(623),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(737),
    [anon_sym_DASH_EQ] = ACTIONS(737),
    [anon_sym_STAR_EQ] = ACTIONS(737),
    [anon_sym_SLASH_EQ] = ACTIONS(737),
    [anon_sym_PERCENT_EQ] = ACTIONS(737),
    [anon_sym_BANG_EQ] = ACTIONS(735),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(737),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(737),
    [anon_sym_LT_EQ] = ACTIONS(737),
    [anon_sym_GT_EQ] = ACTIONS(737),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(735),
    [anon_sym_SLASH] = ACTIONS(735),
    [anon_sym_PERCENT] = ACTIONS(735),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(737),
    [anon_sym_CARET] = ACTIONS(735),
    [anon_sym_LT_LT] = ACTIONS(737),
    [anon_sym_GT_GT] = ACTIONS(737),
    [anon_sym_class] = ACTIONS(623),
    [anon_sym_prefix] = ACTIONS(623),
    [anon_sym_infix] = ACTIONS(623),
    [anon_sym_postfix] = ACTIONS(623),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(623),
    [anon_sym_convenience] = ACTIONS(623),
    [anon_sym_required] = ACTIONS(623),
    [anon_sym_nonisolated] = ACTIONS(623),
    [anon_sym_public] = ACTIONS(623),
    [anon_sym_private] = ACTIONS(623),
    [anon_sym_internal] = ACTIONS(623),
    [anon_sym_fileprivate] = ACTIONS(623),
    [anon_sym_open] = ACTIONS(623),
    [anon_sym_mutating] = ACTIONS(623),
    [anon_sym_nonmutating] = ACTIONS(623),
    [anon_sym_static] = ACTIONS(623),
    [anon_sym_dynamic] = ACTIONS(623),
    [anon_sym_optional] = ACTIONS(623),
    [anon_sym_distributed] = ACTIONS(623),
    [anon_sym_final] = ACTIONS(623),
    [anon_sym_inout] = ACTIONS(623),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(623),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(371),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(737),
    [sym__eq_eq_custom] = ACTIONS(737),
    [sym__plus_then_ws] = ACTIONS(737),
    [sym__minus_then_ws] = ACTIONS(737),
    [sym__bang_custom] = ACTIONS(373),
    [sym_default_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [122] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(789),
    [sym_boolean_literal] = STATE(789),
    [sym__string_literal] = STATE(789),
    [sym_line_string_literal] = STATE(789),
    [sym_multi_line_string_literal] = STATE(789),
    [sym_raw_string_literal] = STATE(789),
    [sym_regex_literal] = STATE(789),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(789),
    [sym__unary_expression] = STATE(789),
    [sym_postfix_expression] = STATE(789),
    [sym_constructor_expression] = STATE(789),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(789),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(789),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(789),
    [sym_prefix_expression] = STATE(789),
    [sym_as_expression] = STATE(789),
    [sym_selector_expression] = STATE(789),
    [sym__binary_expression] = STATE(789),
    [sym_multiplicative_expression] = STATE(789),
    [sym_additive_expression] = STATE(789),
    [sym_range_expression] = STATE(789),
    [sym_infix_expression] = STATE(789),
    [sym_nil_coalescing_expression] = STATE(789),
    [sym_check_expression] = STATE(789),
    [sym_comparison_expression] = STATE(789),
    [sym_equality_expression] = STATE(789),
    [sym_conjunction_expression] = STATE(789),
    [sym_disjunction_expression] = STATE(789),
    [sym_bitwise_operation] = STATE(789),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(789),
    [sym_await_expression] = STATE(789),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(789),
    [sym_call_expression] = STATE(789),
    [sym_macro_invocation] = STATE(789),
    [sym__primary_expression] = STATE(789),
    [sym_tuple_expression] = STATE(789),
    [sym_array_literal] = STATE(789),
    [sym_dictionary_literal] = STATE(789),
    [sym_special_literal] = STATE(789),
    [sym_playground_literal] = STATE(789),
    [sym_lambda_literal] = STATE(789),
    [sym_self_expression] = STATE(789),
    [sym_super_expression] = STATE(789),
    [sym_if_statement] = STATE(789),
    [sym_switch_statement] = STATE(789),
    [sym_key_path_expression] = STATE(789),
    [sym_key_path_string_expression] = STATE(789),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(789),
    [sym__equality_operator] = STATE(789),
    [sym__comparison_operator] = STATE(789),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(789),
    [sym__multiplicative_operator] = STATE(789),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_assignment] = STATE(789),
    [sym_value_parameter_pack] = STATE(789),
    [sym_value_pack_expansion] = STATE(789),
    [sym__referenceable_operator] = STATE(789),
    [sym__equal_sign] = STATE(789),
    [sym__eq_eq] = STATE(789),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(789),
    [sym_diagnostic] = STATE(789),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(289),
    [anon_sym_async] = ACTIONS(289),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(289),
    [anon_sym_repeat] = ACTIONS(733),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(739),
    [sym_real_literal] = ACTIONS(741),
    [sym_integer_literal] = ACTIONS(739),
    [sym_hex_literal] = ACTIONS(739),
    [sym_oct_literal] = ACTIONS(741),
    [sym_bin_literal] = ACTIONS(741),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [anon_sym_COMMA] = ACTIONS(617),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(739),
    [anon_sym_GT] = ACTIONS(739),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_case] = ACTIONS(623),
    [anon_sym_fallthrough] = ACTIONS(623),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(741),
    [anon_sym_DASH_EQ] = ACTIONS(741),
    [anon_sym_STAR_EQ] = ACTIONS(741),
    [anon_sym_SLASH_EQ] = ACTIONS(741),
    [anon_sym_PERCENT_EQ] = ACTIONS(741),
    [anon_sym_BANG_EQ] = ACTIONS(739),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(741),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(741),
    [anon_sym_LT_EQ] = ACTIONS(741),
    [anon_sym_GT_EQ] = ACTIONS(741),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(739),
    [anon_sym_SLASH] = ACTIONS(739),
    [anon_sym_PERCENT] = ACTIONS(739),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(741),
    [anon_sym_CARET] = ACTIONS(739),
    [anon_sym_LT_LT] = ACTIONS(741),
    [anon_sym_GT_GT] = ACTIONS(741),
    [anon_sym_class] = ACTIONS(623),
    [anon_sym_prefix] = ACTIONS(623),
    [anon_sym_infix] = ACTIONS(623),
    [anon_sym_postfix] = ACTIONS(623),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(623),
    [anon_sym_convenience] = ACTIONS(623),
    [anon_sym_required] = ACTIONS(623),
    [anon_sym_nonisolated] = ACTIONS(623),
    [anon_sym_public] = ACTIONS(623),
    [anon_sym_private] = ACTIONS(623),
    [anon_sym_internal] = ACTIONS(623),
    [anon_sym_fileprivate] = ACTIONS(623),
    [anon_sym_open] = ACTIONS(623),
    [anon_sym_mutating] = ACTIONS(623),
    [anon_sym_nonmutating] = ACTIONS(623),
    [anon_sym_static] = ACTIONS(623),
    [anon_sym_dynamic] = ACTIONS(623),
    [anon_sym_optional] = ACTIONS(623),
    [anon_sym_distributed] = ACTIONS(623),
    [anon_sym_final] = ACTIONS(623),
    [anon_sym_inout] = ACTIONS(623),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(623),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(371),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(741),
    [sym__eq_eq_custom] = ACTIONS(741),
    [sym__plus_then_ws] = ACTIONS(741),
    [sym__minus_then_ws] = ACTIONS(741),
    [sym__bang_custom] = ACTIONS(373),
    [sym_default_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [123] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(792),
    [sym_boolean_literal] = STATE(792),
    [sym__string_literal] = STATE(792),
    [sym_line_string_literal] = STATE(792),
    [sym_multi_line_string_literal] = STATE(792),
    [sym_raw_string_literal] = STATE(792),
    [sym_regex_literal] = STATE(792),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(792),
    [sym__unary_expression] = STATE(792),
    [sym_postfix_expression] = STATE(792),
    [sym_constructor_expression] = STATE(792),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(792),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(792),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(792),
    [sym_prefix_expression] = STATE(792),
    [sym_as_expression] = STATE(792),
    [sym_selector_expression] = STATE(792),
    [sym__binary_expression] = STATE(792),
    [sym_multiplicative_expression] = STATE(792),
    [sym_additive_expression] = STATE(792),
    [sym_range_expression] = STATE(792),
    [sym_infix_expression] = STATE(792),
    [sym_nil_coalescing_expression] = STATE(792),
    [sym_check_expression] = STATE(792),
    [sym_comparison_expression] = STATE(792),
    [sym_equality_expression] = STATE(792),
    [sym_conjunction_expression] = STATE(792),
    [sym_disjunction_expression] = STATE(792),
    [sym_bitwise_operation] = STATE(792),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(792),
    [sym_await_expression] = STATE(792),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(792),
    [sym_call_expression] = STATE(792),
    [sym_macro_invocation] = STATE(792),
    [sym__primary_expression] = STATE(792),
    [sym_tuple_expression] = STATE(792),
    [sym_array_literal] = STATE(792),
    [sym_dictionary_literal] = STATE(792),
    [sym_special_literal] = STATE(792),
    [sym_playground_literal] = STATE(792),
    [sym_lambda_literal] = STATE(792),
    [sym_self_expression] = STATE(792),
    [sym_super_expression] = STATE(792),
    [sym_if_statement] = STATE(792),
    [sym_switch_statement] = STATE(792),
    [sym_key_path_expression] = STATE(792),
    [sym_key_path_string_expression] = STATE(792),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(792),
    [sym__equality_operator] = STATE(792),
    [sym__comparison_operator] = STATE(792),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(792),
    [sym__multiplicative_operator] = STATE(792),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_assignment] = STATE(792),
    [sym_value_parameter_pack] = STATE(792),
    [sym_value_pack_expansion] = STATE(792),
    [sym__referenceable_operator] = STATE(792),
    [sym__equal_sign] = STATE(792),
    [sym__eq_eq] = STATE(792),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(792),
    [sym_diagnostic] = STATE(792),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(289),
    [anon_sym_async] = ACTIONS(289),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(289),
    [anon_sym_repeat] = ACTIONS(733),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(735),
    [sym_real_literal] = ACTIONS(737),
    [sym_integer_literal] = ACTIONS(735),
    [sym_hex_literal] = ACTIONS(735),
    [sym_oct_literal] = ACTIONS(737),
    [sym_bin_literal] = ACTIONS(737),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(735),
    [anon_sym_GT] = ACTIONS(735),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(743),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_case] = ACTIONS(623),
    [anon_sym_fallthrough] = ACTIONS(623),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(737),
    [anon_sym_DASH_EQ] = ACTIONS(737),
    [anon_sym_STAR_EQ] = ACTIONS(737),
    [anon_sym_SLASH_EQ] = ACTIONS(737),
    [anon_sym_PERCENT_EQ] = ACTIONS(737),
    [anon_sym_BANG_EQ] = ACTIONS(735),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(737),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(737),
    [anon_sym_LT_EQ] = ACTIONS(737),
    [anon_sym_GT_EQ] = ACTIONS(737),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(735),
    [anon_sym_SLASH] = ACTIONS(735),
    [anon_sym_PERCENT] = ACTIONS(735),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(737),
    [anon_sym_CARET] = ACTIONS(735),
    [anon_sym_LT_LT] = ACTIONS(737),
    [anon_sym_GT_GT] = ACTIONS(737),
    [anon_sym_class] = ACTIONS(623),
    [anon_sym_prefix] = ACTIONS(623),
    [anon_sym_infix] = ACTIONS(623),
    [anon_sym_postfix] = ACTIONS(623),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(623),
    [anon_sym_convenience] = ACTIONS(623),
    [anon_sym_required] = ACTIONS(623),
    [anon_sym_nonisolated] = ACTIONS(623),
    [anon_sym_public] = ACTIONS(623),
    [anon_sym_private] = ACTIONS(623),
    [anon_sym_internal] = ACTIONS(623),
    [anon_sym_fileprivate] = ACTIONS(623),
    [anon_sym_open] = ACTIONS(623),
    [anon_sym_mutating] = ACTIONS(623),
    [anon_sym_nonmutating] = ACTIONS(623),
    [anon_sym_static] = ACTIONS(623),
    [anon_sym_dynamic] = ACTIONS(623),
    [anon_sym_optional] = ACTIONS(623),
    [anon_sym_distributed] = ACTIONS(623),
    [anon_sym_final] = ACTIONS(623),
    [anon_sym_inout] = ACTIONS(623),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(623),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(371),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(737),
    [sym__eq_eq_custom] = ACTIONS(737),
    [sym__plus_then_ws] = ACTIONS(737),
    [sym__minus_then_ws] = ACTIONS(737),
    [sym__bang_custom] = ACTIONS(373),
    [sym_default_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [124] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(801),
    [sym_boolean_literal] = STATE(801),
    [sym__string_literal] = STATE(801),
    [sym_line_string_literal] = STATE(801),
    [sym_multi_line_string_literal] = STATE(801),
    [sym_raw_string_literal] = STATE(801),
    [sym_regex_literal] = STATE(801),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(801),
    [sym__unary_expression] = STATE(801),
    [sym_postfix_expression] = STATE(801),
    [sym_constructor_expression] = STATE(801),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(801),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(801),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(801),
    [sym_prefix_expression] = STATE(801),
    [sym_as_expression] = STATE(801),
    [sym_selector_expression] = STATE(801),
    [sym__binary_expression] = STATE(801),
    [sym_multiplicative_expression] = STATE(801),
    [sym_additive_expression] = STATE(801),
    [sym_range_expression] = STATE(801),
    [sym_infix_expression] = STATE(801),
    [sym_nil_coalescing_expression] = STATE(801),
    [sym_check_expression] = STATE(801),
    [sym_comparison_expression] = STATE(801),
    [sym_equality_expression] = STATE(801),
    [sym_conjunction_expression] = STATE(801),
    [sym_disjunction_expression] = STATE(801),
    [sym_bitwise_operation] = STATE(801),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(801),
    [sym_await_expression] = STATE(801),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(801),
    [sym_call_expression] = STATE(801),
    [sym_macro_invocation] = STATE(801),
    [sym__primary_expression] = STATE(801),
    [sym_tuple_expression] = STATE(801),
    [sym_array_literal] = STATE(801),
    [sym_dictionary_literal] = STATE(801),
    [sym_special_literal] = STATE(801),
    [sym_playground_literal] = STATE(801),
    [sym_lambda_literal] = STATE(801),
    [sym_self_expression] = STATE(801),
    [sym_super_expression] = STATE(801),
    [sym_if_statement] = STATE(801),
    [sym_switch_statement] = STATE(801),
    [sym_key_path_expression] = STATE(801),
    [sym_key_path_string_expression] = STATE(801),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(801),
    [sym__equality_operator] = STATE(801),
    [sym__comparison_operator] = STATE(801),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(801),
    [sym__multiplicative_operator] = STATE(801),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_assignment] = STATE(801),
    [sym_value_parameter_pack] = STATE(801),
    [sym_value_pack_expansion] = STATE(801),
    [sym__referenceable_operator] = STATE(801),
    [sym__equal_sign] = STATE(801),
    [sym__eq_eq] = STATE(801),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(801),
    [sym_diagnostic] = STATE(801),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(289),
    [anon_sym_async] = ACTIONS(289),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(289),
    [anon_sym_repeat] = ACTIONS(733),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(745),
    [sym_real_literal] = ACTIONS(747),
    [sym_integer_literal] = ACTIONS(745),
    [sym_hex_literal] = ACTIONS(745),
    [sym_oct_literal] = ACTIONS(747),
    [sym_bin_literal] = ACTIONS(747),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(745),
    [anon_sym_GT] = ACTIONS(745),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_RBRACE] = ACTIONS(749),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_case] = ACTIONS(751),
    [anon_sym_fallthrough] = ACTIONS(751),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(747),
    [anon_sym_DASH_EQ] = ACTIONS(747),
    [anon_sym_STAR_EQ] = ACTIONS(747),
    [anon_sym_SLASH_EQ] = ACTIONS(747),
    [anon_sym_PERCENT_EQ] = ACTIONS(747),
    [anon_sym_BANG_EQ] = ACTIONS(745),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(747),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(747),
    [anon_sym_LT_EQ] = ACTIONS(747),
    [anon_sym_GT_EQ] = ACTIONS(747),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(745),
    [anon_sym_SLASH] = ACTIONS(745),
    [anon_sym_PERCENT] = ACTIONS(745),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(747),
    [anon_sym_CARET] = ACTIONS(745),
    [anon_sym_LT_LT] = ACTIONS(747),
    [anon_sym_GT_GT] = ACTIONS(747),
    [anon_sym_class] = ACTIONS(751),
    [anon_sym_prefix] = ACTIONS(751),
    [anon_sym_infix] = ACTIONS(751),
    [anon_sym_postfix] = ACTIONS(751),
    [anon_sym_AT] = ACTIONS(751),
    [anon_sym_override] = ACTIONS(751),
    [anon_sym_convenience] = ACTIONS(751),
    [anon_sym_required] = ACTIONS(751),
    [anon_sym_nonisolated] = ACTIONS(751),
    [anon_sym_public] = ACTIONS(751),
    [anon_sym_private] = ACTIONS(751),
    [anon_sym_internal] = ACTIONS(751),
    [anon_sym_fileprivate] = ACTIONS(751),
    [anon_sym_open] = ACTIONS(751),
    [anon_sym_mutating] = ACTIONS(751),
    [anon_sym_nonmutating] = ACTIONS(751),
    [anon_sym_static] = ACTIONS(751),
    [anon_sym_dynamic] = ACTIONS(751),
    [anon_sym_optional] = ACTIONS(751),
    [anon_sym_distributed] = ACTIONS(751),
    [anon_sym_final] = ACTIONS(751),
    [anon_sym_inout] = ACTIONS(751),
    [anon_sym_ATescaping] = ACTIONS(749),
    [anon_sym_ATautoclosure] = ACTIONS(749),
    [anon_sym_weak] = ACTIONS(751),
    [anon_sym_unowned] = ACTIONS(751),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(749),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(749),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__implicit_semi] = ACTIONS(749),
    [sym__explicit_semi] = ACTIONS(749),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(747),
    [sym__eq_eq_custom] = ACTIONS(747),
    [sym__plus_then_ws] = ACTIONS(747),
    [sym__minus_then_ws] = ACTIONS(747),
    [sym__bang_custom] = ACTIONS(373),
    [sym_default_keyword] = ACTIONS(749),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [125] = {
    [sym_simple_identifier] = STATE(2260),
    [sym__contextual_simple_identifier] = STATE(845),
    [sym__basic_literal] = STATE(1483),
    [sym_boolean_literal] = STATE(1483),
    [sym__string_literal] = STATE(1483),
    [sym_line_string_literal] = STATE(1483),
    [sym_multi_line_string_literal] = STATE(1483),
    [sym_raw_string_literal] = STATE(1483),
    [sym_regex_literal] = STATE(1483),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym__unannotated_type] = STATE(5320),
    [sym_user_type] = STATE(4976),
    [sym__simple_user_type] = STATE(5148),
    [sym_tuple_type] = STATE(5106),
    [sym_function_type] = STATE(5320),
    [sym_array_type] = STATE(4976),
    [sym_dictionary_type] = STATE(4976),
    [sym_optional_type] = STATE(5320),
    [sym_metatype] = STATE(5320),
    [sym_opaque_type] = STATE(5320),
    [sym_existential_type] = STATE(5320),
    [sym_type_parameter_pack] = STATE(5320),
    [sym_type_pack_expansion] = STATE(5320),
    [sym_protocol_composition_type] = STATE(5320),
    [sym_suppressed_constraint] = STATE(5320),
    [sym__expression] = STATE(1483),
    [sym__unary_expression] = STATE(1483),
    [sym_postfix_expression] = STATE(1483),
    [sym_constructor_expression] = STATE(1483),
    [sym__parenthesized_type] = STATE(5565),
    [sym_navigation_expression] = STATE(1483),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1483),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1483),
    [sym_prefix_expression] = STATE(1483),
    [sym_as_expression] = STATE(1483),
    [sym_selector_expression] = STATE(1483),
    [sym__binary_expression] = STATE(1483),
    [sym_multiplicative_expression] = STATE(1483),
    [sym_additive_expression] = STATE(1483),
    [sym_range_expression] = STATE(1483),
    [sym_infix_expression] = STATE(1483),
    [sym_nil_coalescing_expression] = STATE(1483),
    [sym_check_expression] = STATE(1483),
    [sym_comparison_expression] = STATE(1483),
    [sym_equality_expression] = STATE(1483),
    [sym_conjunction_expression] = STATE(1483),
    [sym_disjunction_expression] = STATE(1483),
    [sym_bitwise_operation] = STATE(1483),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1483),
    [sym_await_expression] = STATE(1483),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1483),
    [sym_call_expression] = STATE(1483),
    [sym_macro_invocation] = STATE(1483),
    [sym__primary_expression] = STATE(1483),
    [sym_tuple_expression] = STATE(1483),
    [sym_array_literal] = STATE(1483),
    [sym_dictionary_literal] = STATE(1483),
    [sym_special_literal] = STATE(1483),
    [sym_playground_literal] = STATE(1483),
    [sym_lambda_literal] = STATE(1483),
    [sym_self_expression] = STATE(1483),
    [sym_super_expression] = STATE(1483),
    [sym_if_statement] = STATE(1483),
    [sym_switch_statement] = STATE(1483),
    [sym_key_path_expression] = STATE(1483),
    [sym_key_path_string_expression] = STATE(1483),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1483),
    [sym__equality_operator] = STATE(1483),
    [sym__comparison_operator] = STATE(1483),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1483),
    [sym__multiplicative_operator] = STATE(1483),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1483),
    [sym_value_parameter_pack] = STATE(1483),
    [sym_value_pack_expansion] = STATE(1483),
    [sym__referenceable_operator] = STATE(1483),
    [sym__equal_sign] = STATE(1483),
    [sym__eq_eq] = STATE(1483),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(845),
    [sym_directive] = STATE(1483),
    [sym_diagnostic] = STATE(1483),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(755),
    [aux_sym_simple_identifier_token2] = ACTIONS(757),
    [aux_sym_simple_identifier_token3] = ACTIONS(757),
    [aux_sym_simple_identifier_token4] = ACTIONS(757),
    [anon_sym_actor] = ACTIONS(755),
    [anon_sym_async] = ACTIONS(755),
    [anon_sym_each] = ACTIONS(759),
    [anon_sym_lazy] = ACTIONS(755),
    [anon_sym_repeat] = ACTIONS(761),
    [anon_sym_package] = ACTIONS(755),
    [anon_sym_nil] = ACTIONS(763),
    [sym_real_literal] = ACTIONS(765),
    [sym_integer_literal] = ACTIONS(763),
    [sym_hex_literal] = ACTIONS(763),
    [sym_oct_literal] = ACTIONS(765),
    [sym_bin_literal] = ACTIONS(765),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(617),
    [anon_sym_COMMA] = ACTIONS(617),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_COLON] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(767),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_DOT] = ACTIONS(623),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(775),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(763),
    [anon_sym_GT] = ACTIONS(763),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(765),
    [anon_sym_DASH_EQ] = ACTIONS(765),
    [anon_sym_STAR_EQ] = ACTIONS(765),
    [anon_sym_SLASH_EQ] = ACTIONS(765),
    [anon_sym_PERCENT_EQ] = ACTIONS(765),
    [anon_sym_BANG_EQ] = ACTIONS(763),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(765),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(765),
    [anon_sym_LT_EQ] = ACTIONS(765),
    [anon_sym_GT_EQ] = ACTIONS(765),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(763),
    [anon_sym_SLASH] = ACTIONS(763),
    [anon_sym_PERCENT] = ACTIONS(763),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(765),
    [anon_sym_CARET] = ACTIONS(763),
    [anon_sym_LT_LT] = ACTIONS(765),
    [anon_sym_GT_GT] = ACTIONS(765),
    [anon_sym_borrowing] = ACTIONS(755),
    [anon_sym_consuming] = ACTIONS(755),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(785),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(765),
    [sym__eq_eq_custom] = ACTIONS(765),
    [sym__plus_then_ws] = ACTIONS(765),
    [sym__minus_then_ws] = ACTIONS(765),
    [sym__bang_custom] = ACTIONS(787),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [126] = {
    [sym_simple_identifier] = STATE(2186),
    [sym__contextual_simple_identifier] = STATE(2239),
    [sym__basic_literal] = STATE(1519),
    [sym_boolean_literal] = STATE(1519),
    [sym__string_literal] = STATE(1519),
    [sym_line_string_literal] = STATE(1519),
    [sym_multi_line_string_literal] = STATE(1519),
    [sym_raw_string_literal] = STATE(1519),
    [sym_regex_literal] = STATE(1519),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym__unannotated_type] = STATE(5317),
    [sym_user_type] = STATE(4976),
    [sym__simple_user_type] = STATE(5148),
    [sym_tuple_type] = STATE(5106),
    [sym_function_type] = STATE(5317),
    [sym_array_type] = STATE(4976),
    [sym_dictionary_type] = STATE(4976),
    [sym_optional_type] = STATE(5317),
    [sym_metatype] = STATE(5317),
    [sym_opaque_type] = STATE(5317),
    [sym_existential_type] = STATE(5317),
    [sym_type_parameter_pack] = STATE(5317),
    [sym_type_pack_expansion] = STATE(5317),
    [sym_protocol_composition_type] = STATE(5317),
    [sym_suppressed_constraint] = STATE(5317),
    [sym__expression] = STATE(1519),
    [sym__unary_expression] = STATE(1519),
    [sym_postfix_expression] = STATE(1519),
    [sym_constructor_expression] = STATE(1519),
    [sym__parenthesized_type] = STATE(5565),
    [sym_navigation_expression] = STATE(1519),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1519),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1519),
    [sym_prefix_expression] = STATE(1519),
    [sym_as_expression] = STATE(1519),
    [sym_selector_expression] = STATE(1519),
    [sym__binary_expression] = STATE(1519),
    [sym_multiplicative_expression] = STATE(1519),
    [sym_additive_expression] = STATE(1519),
    [sym_range_expression] = STATE(1519),
    [sym_infix_expression] = STATE(1519),
    [sym_nil_coalescing_expression] = STATE(1519),
    [sym_check_expression] = STATE(1519),
    [sym_comparison_expression] = STATE(1519),
    [sym_equality_expression] = STATE(1519),
    [sym_conjunction_expression] = STATE(1519),
    [sym_disjunction_expression] = STATE(1519),
    [sym_bitwise_operation] = STATE(1519),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1519),
    [sym_await_expression] = STATE(1519),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1519),
    [sym_call_expression] = STATE(1519),
    [sym_macro_invocation] = STATE(1519),
    [sym__primary_expression] = STATE(1519),
    [sym_tuple_expression] = STATE(1519),
    [sym_array_literal] = STATE(1519),
    [sym_dictionary_literal] = STATE(1519),
    [sym_special_literal] = STATE(1519),
    [sym_playground_literal] = STATE(1519),
    [sym_lambda_literal] = STATE(1519),
    [sym_self_expression] = STATE(1519),
    [sym_super_expression] = STATE(1519),
    [sym_if_statement] = STATE(1519),
    [sym_switch_statement] = STATE(1519),
    [sym_key_path_expression] = STATE(1519),
    [sym_key_path_string_expression] = STATE(1519),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1519),
    [sym__equality_operator] = STATE(1519),
    [sym__comparison_operator] = STATE(1519),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1519),
    [sym__multiplicative_operator] = STATE(1519),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1519),
    [sym_value_parameter_pack] = STATE(1519),
    [sym_value_pack_expansion] = STATE(1519),
    [sym__referenceable_operator] = STATE(1519),
    [sym__equal_sign] = STATE(1519),
    [sym__eq_eq] = STATE(1519),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(2239),
    [sym_directive] = STATE(1519),
    [sym_diagnostic] = STATE(1519),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(789),
    [aux_sym_simple_identifier_token2] = ACTIONS(791),
    [aux_sym_simple_identifier_token3] = ACTIONS(791),
    [aux_sym_simple_identifier_token4] = ACTIONS(791),
    [anon_sym_actor] = ACTIONS(789),
    [anon_sym_async] = ACTIONS(789),
    [anon_sym_each] = ACTIONS(793),
    [anon_sym_lazy] = ACTIONS(789),
    [anon_sym_repeat] = ACTIONS(795),
    [anon_sym_package] = ACTIONS(789),
    [anon_sym_nil] = ACTIONS(797),
    [sym_real_literal] = ACTIONS(799),
    [sym_integer_literal] = ACTIONS(797),
    [sym_hex_literal] = ACTIONS(797),
    [sym_oct_literal] = ACTIONS(799),
    [sym_bin_literal] = ACTIONS(799),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(617),
    [anon_sym_COMMA] = ACTIONS(617),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_BANG2] = ACTIONS(623),
    [anon_sym_LPAREN] = ACTIONS(767),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_DOT] = ACTIONS(623),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(775),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(797),
    [anon_sym_GT] = ACTIONS(797),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(799),
    [anon_sym_DASH_EQ] = ACTIONS(799),
    [anon_sym_STAR_EQ] = ACTIONS(799),
    [anon_sym_SLASH_EQ] = ACTIONS(799),
    [anon_sym_PERCENT_EQ] = ACTIONS(799),
    [anon_sym_BANG_EQ] = ACTIONS(797),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(799),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(799),
    [anon_sym_LT_EQ] = ACTIONS(799),
    [anon_sym_GT_EQ] = ACTIONS(799),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(797),
    [anon_sym_SLASH] = ACTIONS(797),
    [anon_sym_PERCENT] = ACTIONS(797),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(799),
    [anon_sym_CARET] = ACTIONS(797),
    [anon_sym_LT_LT] = ACTIONS(799),
    [anon_sym_GT_GT] = ACTIONS(799),
    [anon_sym_borrowing] = ACTIONS(789),
    [anon_sym_consuming] = ACTIONS(789),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(785),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(799),
    [sym__eq_eq_custom] = ACTIONS(799),
    [sym__plus_then_ws] = ACTIONS(799),
    [sym__minus_then_ws] = ACTIONS(799),
    [sym__bang_custom] = ACTIONS(787),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [127] = {
    [sym_simple_identifier] = STATE(2186),
    [sym__contextual_simple_identifier] = STATE(2239),
    [sym__basic_literal] = STATE(1483),
    [sym_boolean_literal] = STATE(1483),
    [sym__string_literal] = STATE(1483),
    [sym_line_string_literal] = STATE(1483),
    [sym_multi_line_string_literal] = STATE(1483),
    [sym_raw_string_literal] = STATE(1483),
    [sym_regex_literal] = STATE(1483),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym__unannotated_type] = STATE(5320),
    [sym_user_type] = STATE(4976),
    [sym__simple_user_type] = STATE(5148),
    [sym_tuple_type] = STATE(5106),
    [sym_function_type] = STATE(5320),
    [sym_array_type] = STATE(4976),
    [sym_dictionary_type] = STATE(4976),
    [sym_optional_type] = STATE(5320),
    [sym_metatype] = STATE(5320),
    [sym_opaque_type] = STATE(5320),
    [sym_existential_type] = STATE(5320),
    [sym_type_parameter_pack] = STATE(5320),
    [sym_type_pack_expansion] = STATE(5320),
    [sym_protocol_composition_type] = STATE(5320),
    [sym_suppressed_constraint] = STATE(5320),
    [sym__expression] = STATE(1483),
    [sym__unary_expression] = STATE(1483),
    [sym_postfix_expression] = STATE(1483),
    [sym_constructor_expression] = STATE(1483),
    [sym__parenthesized_type] = STATE(5565),
    [sym_navigation_expression] = STATE(1483),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1483),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1483),
    [sym_prefix_expression] = STATE(1483),
    [sym_as_expression] = STATE(1483),
    [sym_selector_expression] = STATE(1483),
    [sym__binary_expression] = STATE(1483),
    [sym_multiplicative_expression] = STATE(1483),
    [sym_additive_expression] = STATE(1483),
    [sym_range_expression] = STATE(1483),
    [sym_infix_expression] = STATE(1483),
    [sym_nil_coalescing_expression] = STATE(1483),
    [sym_check_expression] = STATE(1483),
    [sym_comparison_expression] = STATE(1483),
    [sym_equality_expression] = STATE(1483),
    [sym_conjunction_expression] = STATE(1483),
    [sym_disjunction_expression] = STATE(1483),
    [sym_bitwise_operation] = STATE(1483),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1483),
    [sym_await_expression] = STATE(1483),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1483),
    [sym_call_expression] = STATE(1483),
    [sym_macro_invocation] = STATE(1483),
    [sym__primary_expression] = STATE(1483),
    [sym_tuple_expression] = STATE(1483),
    [sym_array_literal] = STATE(1483),
    [sym_dictionary_literal] = STATE(1483),
    [sym_special_literal] = STATE(1483),
    [sym_playground_literal] = STATE(1483),
    [sym_lambda_literal] = STATE(1483),
    [sym_self_expression] = STATE(1483),
    [sym_super_expression] = STATE(1483),
    [sym_if_statement] = STATE(1483),
    [sym_switch_statement] = STATE(1483),
    [sym_key_path_expression] = STATE(1483),
    [sym_key_path_string_expression] = STATE(1483),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1483),
    [sym__equality_operator] = STATE(1483),
    [sym__comparison_operator] = STATE(1483),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1483),
    [sym__multiplicative_operator] = STATE(1483),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1483),
    [sym_value_parameter_pack] = STATE(1483),
    [sym_value_pack_expansion] = STATE(1483),
    [sym__referenceable_operator] = STATE(1483),
    [sym__equal_sign] = STATE(1483),
    [sym__eq_eq] = STATE(1483),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(2239),
    [sym_directive] = STATE(1483),
    [sym_diagnostic] = STATE(1483),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(789),
    [aux_sym_simple_identifier_token2] = ACTIONS(791),
    [aux_sym_simple_identifier_token3] = ACTIONS(791),
    [aux_sym_simple_identifier_token4] = ACTIONS(791),
    [anon_sym_actor] = ACTIONS(789),
    [anon_sym_async] = ACTIONS(789),
    [anon_sym_each] = ACTIONS(793),
    [anon_sym_lazy] = ACTIONS(789),
    [anon_sym_repeat] = ACTIONS(795),
    [anon_sym_package] = ACTIONS(789),
    [anon_sym_nil] = ACTIONS(763),
    [sym_real_literal] = ACTIONS(765),
    [sym_integer_literal] = ACTIONS(763),
    [sym_hex_literal] = ACTIONS(763),
    [sym_oct_literal] = ACTIONS(765),
    [sym_bin_literal] = ACTIONS(765),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(617),
    [anon_sym_COMMA] = ACTIONS(617),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_BANG2] = ACTIONS(623),
    [anon_sym_LPAREN] = ACTIONS(767),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_DOT] = ACTIONS(623),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(775),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(763),
    [anon_sym_GT] = ACTIONS(763),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(765),
    [anon_sym_DASH_EQ] = ACTIONS(765),
    [anon_sym_STAR_EQ] = ACTIONS(765),
    [anon_sym_SLASH_EQ] = ACTIONS(765),
    [anon_sym_PERCENT_EQ] = ACTIONS(765),
    [anon_sym_BANG_EQ] = ACTIONS(763),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(765),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(765),
    [anon_sym_LT_EQ] = ACTIONS(765),
    [anon_sym_GT_EQ] = ACTIONS(765),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(763),
    [anon_sym_SLASH] = ACTIONS(763),
    [anon_sym_PERCENT] = ACTIONS(763),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(765),
    [anon_sym_CARET] = ACTIONS(763),
    [anon_sym_LT_LT] = ACTIONS(765),
    [anon_sym_GT_GT] = ACTIONS(765),
    [anon_sym_borrowing] = ACTIONS(789),
    [anon_sym_consuming] = ACTIONS(789),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(785),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(765),
    [sym__eq_eq_custom] = ACTIONS(765),
    [sym__plus_then_ws] = ACTIONS(765),
    [sym__minus_then_ws] = ACTIONS(765),
    [sym__bang_custom] = ACTIONS(787),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [128] = {
    [sym_simple_identifier] = STATE(2189),
    [sym__contextual_simple_identifier] = STATE(845),
    [sym__basic_literal] = STATE(1519),
    [sym_boolean_literal] = STATE(1519),
    [sym__string_literal] = STATE(1519),
    [sym_line_string_literal] = STATE(1519),
    [sym_multi_line_string_literal] = STATE(1519),
    [sym_raw_string_literal] = STATE(1519),
    [sym_regex_literal] = STATE(1519),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym__unannotated_type] = STATE(5317),
    [sym_user_type] = STATE(4976),
    [sym__simple_user_type] = STATE(5148),
    [sym_tuple_type] = STATE(5106),
    [sym_function_type] = STATE(5317),
    [sym_array_type] = STATE(4976),
    [sym_dictionary_type] = STATE(4976),
    [sym_optional_type] = STATE(5317),
    [sym_metatype] = STATE(5317),
    [sym_opaque_type] = STATE(5317),
    [sym_existential_type] = STATE(5317),
    [sym_type_parameter_pack] = STATE(5317),
    [sym_type_pack_expansion] = STATE(5317),
    [sym_protocol_composition_type] = STATE(5317),
    [sym_suppressed_constraint] = STATE(5317),
    [sym__expression] = STATE(1519),
    [sym__unary_expression] = STATE(1519),
    [sym_postfix_expression] = STATE(1519),
    [sym_constructor_expression] = STATE(1519),
    [sym__parenthesized_type] = STATE(5565),
    [sym_navigation_expression] = STATE(1519),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1519),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1519),
    [sym_prefix_expression] = STATE(1519),
    [sym_as_expression] = STATE(1519),
    [sym_selector_expression] = STATE(1519),
    [sym__binary_expression] = STATE(1519),
    [sym_multiplicative_expression] = STATE(1519),
    [sym_additive_expression] = STATE(1519),
    [sym_range_expression] = STATE(1519),
    [sym_infix_expression] = STATE(1519),
    [sym_nil_coalescing_expression] = STATE(1519),
    [sym_check_expression] = STATE(1519),
    [sym_comparison_expression] = STATE(1519),
    [sym_equality_expression] = STATE(1519),
    [sym_conjunction_expression] = STATE(1519),
    [sym_disjunction_expression] = STATE(1519),
    [sym_bitwise_operation] = STATE(1519),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1519),
    [sym_await_expression] = STATE(1519),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1519),
    [sym_call_expression] = STATE(1519),
    [sym_macro_invocation] = STATE(1519),
    [sym__primary_expression] = STATE(1519),
    [sym_tuple_expression] = STATE(1519),
    [sym_array_literal] = STATE(1519),
    [sym_dictionary_literal] = STATE(1519),
    [sym_special_literal] = STATE(1519),
    [sym_playground_literal] = STATE(1519),
    [sym_lambda_literal] = STATE(1519),
    [sym_self_expression] = STATE(1519),
    [sym_super_expression] = STATE(1519),
    [sym_if_statement] = STATE(1519),
    [sym_switch_statement] = STATE(1519),
    [sym_key_path_expression] = STATE(1519),
    [sym_key_path_string_expression] = STATE(1519),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1519),
    [sym__equality_operator] = STATE(1519),
    [sym__comparison_operator] = STATE(1519),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1519),
    [sym__multiplicative_operator] = STATE(1519),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1519),
    [sym_value_parameter_pack] = STATE(1519),
    [sym_value_pack_expansion] = STATE(1519),
    [sym__referenceable_operator] = STATE(1519),
    [sym__equal_sign] = STATE(1519),
    [sym__eq_eq] = STATE(1519),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(845),
    [sym_directive] = STATE(1519),
    [sym_diagnostic] = STATE(1519),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(755),
    [aux_sym_simple_identifier_token2] = ACTIONS(757),
    [aux_sym_simple_identifier_token3] = ACTIONS(757),
    [aux_sym_simple_identifier_token4] = ACTIONS(757),
    [anon_sym_actor] = ACTIONS(755),
    [anon_sym_async] = ACTIONS(755),
    [anon_sym_each] = ACTIONS(801),
    [anon_sym_lazy] = ACTIONS(755),
    [anon_sym_repeat] = ACTIONS(803),
    [anon_sym_package] = ACTIONS(755),
    [anon_sym_nil] = ACTIONS(797),
    [sym_real_literal] = ACTIONS(799),
    [sym_integer_literal] = ACTIONS(797),
    [sym_hex_literal] = ACTIONS(797),
    [sym_oct_literal] = ACTIONS(799),
    [sym_bin_literal] = ACTIONS(799),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(617),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_COLON] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(767),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_RBRACK] = ACTIONS(617),
    [anon_sym_DOT] = ACTIONS(623),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(775),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(797),
    [anon_sym_GT] = ACTIONS(797),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(799),
    [anon_sym_DASH_EQ] = ACTIONS(799),
    [anon_sym_STAR_EQ] = ACTIONS(799),
    [anon_sym_SLASH_EQ] = ACTIONS(799),
    [anon_sym_PERCENT_EQ] = ACTIONS(799),
    [anon_sym_BANG_EQ] = ACTIONS(797),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(799),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(799),
    [anon_sym_LT_EQ] = ACTIONS(799),
    [anon_sym_GT_EQ] = ACTIONS(799),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(797),
    [anon_sym_SLASH] = ACTIONS(797),
    [anon_sym_PERCENT] = ACTIONS(797),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(799),
    [anon_sym_CARET] = ACTIONS(797),
    [anon_sym_LT_LT] = ACTIONS(799),
    [anon_sym_GT_GT] = ACTIONS(799),
    [anon_sym_borrowing] = ACTIONS(755),
    [anon_sym_consuming] = ACTIONS(755),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(785),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(799),
    [sym__eq_eq_custom] = ACTIONS(799),
    [sym__plus_then_ws] = ACTIONS(799),
    [sym__minus_then_ws] = ACTIONS(799),
    [sym__bang_custom] = ACTIONS(787),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [129] = {
    [sym_simple_identifier] = STATE(2189),
    [sym__contextual_simple_identifier] = STATE(845),
    [sym__basic_literal] = STATE(1483),
    [sym_boolean_literal] = STATE(1483),
    [sym__string_literal] = STATE(1483),
    [sym_line_string_literal] = STATE(1483),
    [sym_multi_line_string_literal] = STATE(1483),
    [sym_raw_string_literal] = STATE(1483),
    [sym_regex_literal] = STATE(1483),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym__unannotated_type] = STATE(5320),
    [sym_user_type] = STATE(4976),
    [sym__simple_user_type] = STATE(5148),
    [sym_tuple_type] = STATE(5106),
    [sym_function_type] = STATE(5320),
    [sym_array_type] = STATE(4976),
    [sym_dictionary_type] = STATE(4976),
    [sym_optional_type] = STATE(5320),
    [sym_metatype] = STATE(5320),
    [sym_opaque_type] = STATE(5320),
    [sym_existential_type] = STATE(5320),
    [sym_type_parameter_pack] = STATE(5320),
    [sym_type_pack_expansion] = STATE(5320),
    [sym_protocol_composition_type] = STATE(5320),
    [sym_suppressed_constraint] = STATE(5320),
    [sym__expression] = STATE(1483),
    [sym__unary_expression] = STATE(1483),
    [sym_postfix_expression] = STATE(1483),
    [sym_constructor_expression] = STATE(1483),
    [sym__parenthesized_type] = STATE(5565),
    [sym_navigation_expression] = STATE(1483),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1483),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1483),
    [sym_prefix_expression] = STATE(1483),
    [sym_as_expression] = STATE(1483),
    [sym_selector_expression] = STATE(1483),
    [sym__binary_expression] = STATE(1483),
    [sym_multiplicative_expression] = STATE(1483),
    [sym_additive_expression] = STATE(1483),
    [sym_range_expression] = STATE(1483),
    [sym_infix_expression] = STATE(1483),
    [sym_nil_coalescing_expression] = STATE(1483),
    [sym_check_expression] = STATE(1483),
    [sym_comparison_expression] = STATE(1483),
    [sym_equality_expression] = STATE(1483),
    [sym_conjunction_expression] = STATE(1483),
    [sym_disjunction_expression] = STATE(1483),
    [sym_bitwise_operation] = STATE(1483),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1483),
    [sym_await_expression] = STATE(1483),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1483),
    [sym_call_expression] = STATE(1483),
    [sym_macro_invocation] = STATE(1483),
    [sym__primary_expression] = STATE(1483),
    [sym_tuple_expression] = STATE(1483),
    [sym_array_literal] = STATE(1483),
    [sym_dictionary_literal] = STATE(1483),
    [sym_special_literal] = STATE(1483),
    [sym_playground_literal] = STATE(1483),
    [sym_lambda_literal] = STATE(1483),
    [sym_self_expression] = STATE(1483),
    [sym_super_expression] = STATE(1483),
    [sym_if_statement] = STATE(1483),
    [sym_switch_statement] = STATE(1483),
    [sym_key_path_expression] = STATE(1483),
    [sym_key_path_string_expression] = STATE(1483),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1483),
    [sym__equality_operator] = STATE(1483),
    [sym__comparison_operator] = STATE(1483),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1483),
    [sym__multiplicative_operator] = STATE(1483),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1483),
    [sym_value_parameter_pack] = STATE(1483),
    [sym_value_pack_expansion] = STATE(1483),
    [sym__referenceable_operator] = STATE(1483),
    [sym__equal_sign] = STATE(1483),
    [sym__eq_eq] = STATE(1483),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(845),
    [sym_directive] = STATE(1483),
    [sym_diagnostic] = STATE(1483),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(755),
    [aux_sym_simple_identifier_token2] = ACTIONS(757),
    [aux_sym_simple_identifier_token3] = ACTIONS(757),
    [aux_sym_simple_identifier_token4] = ACTIONS(757),
    [anon_sym_actor] = ACTIONS(755),
    [anon_sym_async] = ACTIONS(755),
    [anon_sym_each] = ACTIONS(801),
    [anon_sym_lazy] = ACTIONS(755),
    [anon_sym_repeat] = ACTIONS(803),
    [anon_sym_package] = ACTIONS(755),
    [anon_sym_nil] = ACTIONS(763),
    [sym_real_literal] = ACTIONS(765),
    [sym_integer_literal] = ACTIONS(763),
    [sym_hex_literal] = ACTIONS(763),
    [sym_oct_literal] = ACTIONS(765),
    [sym_bin_literal] = ACTIONS(765),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(617),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_COLON] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(767),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_RBRACK] = ACTIONS(617),
    [anon_sym_DOT] = ACTIONS(623),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(775),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(763),
    [anon_sym_GT] = ACTIONS(763),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(765),
    [anon_sym_DASH_EQ] = ACTIONS(765),
    [anon_sym_STAR_EQ] = ACTIONS(765),
    [anon_sym_SLASH_EQ] = ACTIONS(765),
    [anon_sym_PERCENT_EQ] = ACTIONS(765),
    [anon_sym_BANG_EQ] = ACTIONS(763),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(765),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(765),
    [anon_sym_LT_EQ] = ACTIONS(765),
    [anon_sym_GT_EQ] = ACTIONS(765),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(763),
    [anon_sym_SLASH] = ACTIONS(763),
    [anon_sym_PERCENT] = ACTIONS(763),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(765),
    [anon_sym_CARET] = ACTIONS(763),
    [anon_sym_LT_LT] = ACTIONS(765),
    [anon_sym_GT_GT] = ACTIONS(765),
    [anon_sym_borrowing] = ACTIONS(755),
    [anon_sym_consuming] = ACTIONS(755),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(785),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(765),
    [sym__eq_eq_custom] = ACTIONS(765),
    [sym__plus_then_ws] = ACTIONS(765),
    [sym__minus_then_ws] = ACTIONS(765),
    [sym__bang_custom] = ACTIONS(787),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [130] = {
    [sym_simple_identifier] = STATE(2260),
    [sym__contextual_simple_identifier] = STATE(845),
    [sym__basic_literal] = STATE(1519),
    [sym_boolean_literal] = STATE(1519),
    [sym__string_literal] = STATE(1519),
    [sym_line_string_literal] = STATE(1519),
    [sym_multi_line_string_literal] = STATE(1519),
    [sym_raw_string_literal] = STATE(1519),
    [sym_regex_literal] = STATE(1519),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym__unannotated_type] = STATE(5317),
    [sym_user_type] = STATE(4976),
    [sym__simple_user_type] = STATE(5148),
    [sym_tuple_type] = STATE(5106),
    [sym_function_type] = STATE(5317),
    [sym_array_type] = STATE(4976),
    [sym_dictionary_type] = STATE(4976),
    [sym_optional_type] = STATE(5317),
    [sym_metatype] = STATE(5317),
    [sym_opaque_type] = STATE(5317),
    [sym_existential_type] = STATE(5317),
    [sym_type_parameter_pack] = STATE(5317),
    [sym_type_pack_expansion] = STATE(5317),
    [sym_protocol_composition_type] = STATE(5317),
    [sym_suppressed_constraint] = STATE(5317),
    [sym__expression] = STATE(1519),
    [sym__unary_expression] = STATE(1519),
    [sym_postfix_expression] = STATE(1519),
    [sym_constructor_expression] = STATE(1519),
    [sym__parenthesized_type] = STATE(5565),
    [sym_navigation_expression] = STATE(1519),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1519),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1519),
    [sym_prefix_expression] = STATE(1519),
    [sym_as_expression] = STATE(1519),
    [sym_selector_expression] = STATE(1519),
    [sym__binary_expression] = STATE(1519),
    [sym_multiplicative_expression] = STATE(1519),
    [sym_additive_expression] = STATE(1519),
    [sym_range_expression] = STATE(1519),
    [sym_infix_expression] = STATE(1519),
    [sym_nil_coalescing_expression] = STATE(1519),
    [sym_check_expression] = STATE(1519),
    [sym_comparison_expression] = STATE(1519),
    [sym_equality_expression] = STATE(1519),
    [sym_conjunction_expression] = STATE(1519),
    [sym_disjunction_expression] = STATE(1519),
    [sym_bitwise_operation] = STATE(1519),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1519),
    [sym_await_expression] = STATE(1519),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1519),
    [sym_call_expression] = STATE(1519),
    [sym_macro_invocation] = STATE(1519),
    [sym__primary_expression] = STATE(1519),
    [sym_tuple_expression] = STATE(1519),
    [sym_array_literal] = STATE(1519),
    [sym_dictionary_literal] = STATE(1519),
    [sym_special_literal] = STATE(1519),
    [sym_playground_literal] = STATE(1519),
    [sym_lambda_literal] = STATE(1519),
    [sym_self_expression] = STATE(1519),
    [sym_super_expression] = STATE(1519),
    [sym_if_statement] = STATE(1519),
    [sym_switch_statement] = STATE(1519),
    [sym_key_path_expression] = STATE(1519),
    [sym_key_path_string_expression] = STATE(1519),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1519),
    [sym__equality_operator] = STATE(1519),
    [sym__comparison_operator] = STATE(1519),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1519),
    [sym__multiplicative_operator] = STATE(1519),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1519),
    [sym_value_parameter_pack] = STATE(1519),
    [sym_value_pack_expansion] = STATE(1519),
    [sym__referenceable_operator] = STATE(1519),
    [sym__equal_sign] = STATE(1519),
    [sym__eq_eq] = STATE(1519),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(845),
    [sym_directive] = STATE(1519),
    [sym_diagnostic] = STATE(1519),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(755),
    [aux_sym_simple_identifier_token2] = ACTIONS(757),
    [aux_sym_simple_identifier_token3] = ACTIONS(757),
    [aux_sym_simple_identifier_token4] = ACTIONS(757),
    [anon_sym_actor] = ACTIONS(755),
    [anon_sym_async] = ACTIONS(755),
    [anon_sym_each] = ACTIONS(759),
    [anon_sym_lazy] = ACTIONS(755),
    [anon_sym_repeat] = ACTIONS(761),
    [anon_sym_package] = ACTIONS(755),
    [anon_sym_nil] = ACTIONS(797),
    [sym_real_literal] = ACTIONS(799),
    [sym_integer_literal] = ACTIONS(797),
    [sym_hex_literal] = ACTIONS(797),
    [sym_oct_literal] = ACTIONS(799),
    [sym_bin_literal] = ACTIONS(799),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(617),
    [anon_sym_COMMA] = ACTIONS(617),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_COLON] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(767),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_DOT] = ACTIONS(623),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(775),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(797),
    [anon_sym_GT] = ACTIONS(797),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(799),
    [anon_sym_DASH_EQ] = ACTIONS(799),
    [anon_sym_STAR_EQ] = ACTIONS(799),
    [anon_sym_SLASH_EQ] = ACTIONS(799),
    [anon_sym_PERCENT_EQ] = ACTIONS(799),
    [anon_sym_BANG_EQ] = ACTIONS(797),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(799),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(799),
    [anon_sym_LT_EQ] = ACTIONS(799),
    [anon_sym_GT_EQ] = ACTIONS(799),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(797),
    [anon_sym_SLASH] = ACTIONS(797),
    [anon_sym_PERCENT] = ACTIONS(797),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(799),
    [anon_sym_CARET] = ACTIONS(797),
    [anon_sym_LT_LT] = ACTIONS(799),
    [anon_sym_GT_GT] = ACTIONS(799),
    [anon_sym_borrowing] = ACTIONS(755),
    [anon_sym_consuming] = ACTIONS(755),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(785),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(799),
    [sym__eq_eq_custom] = ACTIONS(799),
    [sym__plus_then_ws] = ACTIONS(799),
    [sym__minus_then_ws] = ACTIONS(799),
    [sym__bang_custom] = ACTIONS(787),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [131] = {
    [sym_simple_identifier] = STATE(2193),
    [sym__contextual_simple_identifier] = STATE(845),
    [sym__basic_literal] = STATE(1545),
    [sym_boolean_literal] = STATE(1545),
    [sym__string_literal] = STATE(1545),
    [sym_line_string_literal] = STATE(1545),
    [sym_multi_line_string_literal] = STATE(1545),
    [sym_raw_string_literal] = STATE(1545),
    [sym_regex_literal] = STATE(1545),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym__type] = STATE(8359),
    [sym__unannotated_type] = STATE(5247),
    [sym_user_type] = STATE(4976),
    [sym__simple_user_type] = STATE(5148),
    [sym_tuple_type] = STATE(5106),
    [sym_tuple_type_item] = STATE(8044),
    [sym__tuple_type_item_identifier] = STATE(3777),
    [sym_function_type] = STATE(5247),
    [sym_array_type] = STATE(4976),
    [sym_dictionary_type] = STATE(5103),
    [sym_optional_type] = STATE(5247),
    [sym_metatype] = STATE(5247),
    [sym_opaque_type] = STATE(6362),
    [sym_existential_type] = STATE(6362),
    [sym_type_parameter_pack] = STATE(5247),
    [sym_type_pack_expansion] = STATE(5247),
    [sym_protocol_composition_type] = STATE(5247),
    [sym_suppressed_constraint] = STATE(5247),
    [sym__expression] = STATE(1545),
    [sym__unary_expression] = STATE(1545),
    [sym_postfix_expression] = STATE(1545),
    [sym_constructor_expression] = STATE(1545),
    [sym__parenthesized_type] = STATE(5565),
    [sym_navigation_expression] = STATE(1545),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1545),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1545),
    [sym_prefix_expression] = STATE(1545),
    [sym_as_expression] = STATE(1545),
    [sym_selector_expression] = STATE(1545),
    [sym__binary_expression] = STATE(1545),
    [sym_multiplicative_expression] = STATE(1545),
    [sym_additive_expression] = STATE(1545),
    [sym_range_expression] = STATE(1545),
    [sym_infix_expression] = STATE(1545),
    [sym_nil_coalescing_expression] = STATE(1545),
    [sym_check_expression] = STATE(1545),
    [sym_comparison_expression] = STATE(1545),
    [sym_equality_expression] = STATE(1545),
    [sym_conjunction_expression] = STATE(1545),
    [sym_disjunction_expression] = STATE(1545),
    [sym_bitwise_operation] = STATE(1545),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1545),
    [sym_await_expression] = STATE(1545),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1545),
    [sym_call_expression] = STATE(1545),
    [sym_macro_invocation] = STATE(1545),
    [sym__primary_expression] = STATE(1545),
    [sym_tuple_expression] = STATE(1545),
    [sym_array_literal] = STATE(1545),
    [sym_dictionary_literal] = STATE(1545),
    [sym_special_literal] = STATE(1545),
    [sym_playground_literal] = STATE(1545),
    [sym_lambda_literal] = STATE(1545),
    [sym_self_expression] = STATE(1545),
    [sym_super_expression] = STATE(1545),
    [sym_if_statement] = STATE(1545),
    [sym_switch_statement] = STATE(1545),
    [sym_key_path_expression] = STATE(1545),
    [sym_key_path_string_expression] = STATE(1545),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1545),
    [sym__equality_operator] = STATE(1545),
    [sym__comparison_operator] = STATE(1545),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1545),
    [sym__multiplicative_operator] = STATE(1545),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1545),
    [sym_value_parameter_pack] = STATE(1545),
    [sym_value_pack_expansion] = STATE(1545),
    [sym__referenceable_operator] = STATE(1545),
    [sym__equal_sign] = STATE(1545),
    [sym__eq_eq] = STATE(1545),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(5018),
    [sym_parameter_modifiers] = STATE(4207),
    [sym_type_modifiers] = STATE(4630),
    [sym_parameter_modifier] = STATE(4947),
    [sym__parameter_ownership_modifier] = STATE(1684),
    [sym_directive] = STATE(1545),
    [sym_diagnostic] = STATE(1545),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(5018),
    [aux_sym_parameter_modifiers_repeat1] = STATE(4947),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(755),
    [aux_sym_simple_identifier_token2] = ACTIONS(757),
    [aux_sym_simple_identifier_token3] = ACTIONS(757),
    [aux_sym_simple_identifier_token4] = ACTIONS(757),
    [anon_sym_actor] = ACTIONS(755),
    [anon_sym_async] = ACTIONS(755),
    [anon_sym_each] = ACTIONS(759),
    [anon_sym_lazy] = ACTIONS(755),
    [anon_sym_repeat] = ACTIONS(761),
    [anon_sym_package] = ACTIONS(755),
    [anon_sym_nil] = ACTIONS(805),
    [sym_real_literal] = ACTIONS(807),
    [sym_integer_literal] = ACTIONS(805),
    [sym_hex_literal] = ACTIONS(805),
    [sym_oct_literal] = ACTIONS(807),
    [sym_bin_literal] = ACTIONS(807),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(809),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(767),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(775),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(805),
    [anon_sym_GT] = ACTIONS(805),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(807),
    [anon_sym_DASH_EQ] = ACTIONS(807),
    [anon_sym_STAR_EQ] = ACTIONS(807),
    [anon_sym_SLASH_EQ] = ACTIONS(807),
    [anon_sym_PERCENT_EQ] = ACTIONS(807),
    [anon_sym_BANG_EQ] = ACTIONS(805),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(807),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(807),
    [anon_sym_LT_EQ] = ACTIONS(807),
    [anon_sym_GT_EQ] = ACTIONS(807),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(805),
    [anon_sym_SLASH] = ACTIONS(805),
    [anon_sym_PERCENT] = ACTIONS(805),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(807),
    [anon_sym_CARET] = ACTIONS(805),
    [anon_sym_LT_LT] = ACTIONS(807),
    [anon_sym_GT_GT] = ACTIONS(807),
    [anon_sym_AT] = ACTIONS(811),
    [sym_wildcard_pattern] = ACTIONS(813),
    [anon_sym_inout] = ACTIONS(815),
    [anon_sym_ATescaping] = ACTIONS(817),
    [anon_sym_ATautoclosure] = ACTIONS(817),
    [anon_sym_borrowing] = ACTIONS(819),
    [anon_sym_consuming] = ACTIONS(819),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(807),
    [sym__eq_eq_custom] = ACTIONS(807),
    [sym__plus_then_ws] = ACTIONS(807),
    [sym__minus_then_ws] = ACTIONS(807),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [132] = {
    [sym_simple_identifier] = STATE(2141),
    [sym__contextual_simple_identifier] = STATE(845),
    [sym__basic_literal] = STATE(1521),
    [sym_boolean_literal] = STATE(1521),
    [sym__string_literal] = STATE(1521),
    [sym_line_string_literal] = STATE(1521),
    [sym_multi_line_string_literal] = STATE(1521),
    [sym_raw_string_literal] = STATE(1521),
    [sym_regex_literal] = STATE(1521),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym__type] = STATE(8613),
    [sym__unannotated_type] = STATE(5247),
    [sym_user_type] = STATE(4976),
    [sym__simple_user_type] = STATE(5148),
    [sym_tuple_type] = STATE(5106),
    [sym_function_type] = STATE(5247),
    [sym_array_type] = STATE(4976),
    [sym_dictionary_type] = STATE(4976),
    [sym_optional_type] = STATE(5247),
    [sym_metatype] = STATE(5247),
    [sym_opaque_type] = STATE(5247),
    [sym_existential_type] = STATE(5247),
    [sym_type_parameter_pack] = STATE(5247),
    [sym_type_pack_expansion] = STATE(5247),
    [sym_protocol_composition_type] = STATE(5247),
    [sym_suppressed_constraint] = STATE(5247),
    [sym__expression] = STATE(1521),
    [sym__unary_expression] = STATE(1521),
    [sym_postfix_expression] = STATE(1521),
    [sym_constructor_expression] = STATE(1521),
    [sym__parenthesized_type] = STATE(5565),
    [sym_navigation_expression] = STATE(1521),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1521),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1521),
    [sym_prefix_expression] = STATE(1521),
    [sym_as_expression] = STATE(1521),
    [sym_selector_expression] = STATE(1521),
    [sym__binary_expression] = STATE(1521),
    [sym_multiplicative_expression] = STATE(1521),
    [sym_additive_expression] = STATE(1521),
    [sym_range_expression] = STATE(1521),
    [sym_infix_expression] = STATE(1521),
    [sym_nil_coalescing_expression] = STATE(1521),
    [sym_check_expression] = STATE(1521),
    [sym_comparison_expression] = STATE(1521),
    [sym_equality_expression] = STATE(1521),
    [sym_conjunction_expression] = STATE(1521),
    [sym_disjunction_expression] = STATE(1521),
    [sym_bitwise_operation] = STATE(1521),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1521),
    [sym_await_expression] = STATE(1521),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1521),
    [sym_call_expression] = STATE(1521),
    [sym_macro_invocation] = STATE(1521),
    [sym__primary_expression] = STATE(1521),
    [sym_tuple_expression] = STATE(1521),
    [sym_array_literal] = STATE(1521),
    [sym_dictionary_literal] = STATE(1521),
    [sym__dictionary_literal_item] = STATE(7719),
    [sym_special_literal] = STATE(1521),
    [sym_playground_literal] = STATE(1521),
    [sym_lambda_literal] = STATE(1521),
    [sym_capture_list_item] = STATE(8189),
    [sym_self_expression] = STATE(3167),
    [sym_super_expression] = STATE(1521),
    [sym_if_statement] = STATE(1521),
    [sym_switch_statement] = STATE(1521),
    [sym_key_path_expression] = STATE(1521),
    [sym_key_path_string_expression] = STATE(1521),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1521),
    [sym__equality_operator] = STATE(1521),
    [sym__comparison_operator] = STATE(1521),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1521),
    [sym__multiplicative_operator] = STATE(1521),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1521),
    [sym_value_parameter_pack] = STATE(1521),
    [sym_value_pack_expansion] = STATE(1521),
    [sym__referenceable_operator] = STATE(1521),
    [sym__equal_sign] = STATE(1521),
    [sym__eq_eq] = STATE(1521),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(5018),
    [sym_type_modifiers] = STATE(4630),
    [sym_ownership_modifier] = STATE(5702),
    [sym__parameter_ownership_modifier] = STATE(845),
    [sym_directive] = STATE(1521),
    [sym_diagnostic] = STATE(1521),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(5018),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(755),
    [aux_sym_simple_identifier_token2] = ACTIONS(757),
    [aux_sym_simple_identifier_token3] = ACTIONS(757),
    [aux_sym_simple_identifier_token4] = ACTIONS(757),
    [anon_sym_actor] = ACTIONS(755),
    [anon_sym_async] = ACTIONS(755),
    [anon_sym_each] = ACTIONS(801),
    [anon_sym_lazy] = ACTIONS(755),
    [anon_sym_repeat] = ACTIONS(803),
    [anon_sym_package] = ACTIONS(755),
    [anon_sym_nil] = ACTIONS(821),
    [sym_real_literal] = ACTIONS(823),
    [sym_integer_literal] = ACTIONS(821),
    [sym_hex_literal] = ACTIONS(821),
    [sym_oct_literal] = ACTIONS(823),
    [sym_bin_literal] = ACTIONS(823),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_COLON] = ACTIONS(825),
    [anon_sym_LPAREN] = ACTIONS(767),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_RBRACK] = ACTIONS(827),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(775),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(821),
    [anon_sym_GT] = ACTIONS(821),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(823),
    [anon_sym_DASH_EQ] = ACTIONS(823),
    [anon_sym_STAR_EQ] = ACTIONS(823),
    [anon_sym_SLASH_EQ] = ACTIONS(823),
    [anon_sym_PERCENT_EQ] = ACTIONS(823),
    [anon_sym_BANG_EQ] = ACTIONS(821),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(823),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(823),
    [anon_sym_LT_EQ] = ACTIONS(823),
    [anon_sym_GT_EQ] = ACTIONS(823),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(821),
    [anon_sym_SLASH] = ACTIONS(821),
    [anon_sym_PERCENT] = ACTIONS(821),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(823),
    [anon_sym_CARET] = ACTIONS(821),
    [anon_sym_LT_LT] = ACTIONS(823),
    [anon_sym_GT_GT] = ACTIONS(823),
    [anon_sym_AT] = ACTIONS(829),
    [anon_sym_weak] = ACTIONS(831),
    [anon_sym_unowned] = ACTIONS(831),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(833),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(833),
    [anon_sym_borrowing] = ACTIONS(755),
    [anon_sym_consuming] = ACTIONS(755),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(823),
    [sym__eq_eq_custom] = ACTIONS(823),
    [sym__plus_then_ws] = ACTIONS(823),
    [sym__minus_then_ws] = ACTIONS(823),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [133] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1662),
    [sym_boolean_literal] = STATE(1662),
    [sym__string_literal] = STATE(1662),
    [sym_line_string_literal] = STATE(1662),
    [sym_multi_line_string_literal] = STATE(1662),
    [sym_raw_string_literal] = STATE(1662),
    [sym_regex_literal] = STATE(1662),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1662),
    [sym__unary_expression] = STATE(1662),
    [sym_postfix_expression] = STATE(1662),
    [sym_constructor_expression] = STATE(1662),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1662),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1662),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1662),
    [sym_prefix_expression] = STATE(1662),
    [sym_as_expression] = STATE(1662),
    [sym_selector_expression] = STATE(1662),
    [sym__binary_expression] = STATE(1662),
    [sym_multiplicative_expression] = STATE(1662),
    [sym_additive_expression] = STATE(1662),
    [sym_range_expression] = STATE(1662),
    [sym_infix_expression] = STATE(1662),
    [sym_nil_coalescing_expression] = STATE(1662),
    [sym_check_expression] = STATE(1662),
    [sym_comparison_expression] = STATE(1662),
    [sym_equality_expression] = STATE(1662),
    [sym_conjunction_expression] = STATE(1662),
    [sym_disjunction_expression] = STATE(1662),
    [sym_bitwise_operation] = STATE(1662),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1662),
    [sym_await_expression] = STATE(1662),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1662),
    [sym_call_expression] = STATE(1662),
    [sym_macro_invocation] = STATE(1662),
    [sym__primary_expression] = STATE(1662),
    [sym_tuple_expression] = STATE(1662),
    [sym_array_literal] = STATE(1662),
    [sym_dictionary_literal] = STATE(1662),
    [sym_special_literal] = STATE(1662),
    [sym_playground_literal] = STATE(1662),
    [sym_lambda_literal] = STATE(1662),
    [sym_self_expression] = STATE(1662),
    [sym_super_expression] = STATE(1662),
    [sym_if_statement] = STATE(1662),
    [sym__if_condition_sequence_item] = STATE(7333),
    [sym__if_let_binding] = STATE(8586),
    [sym_switch_statement] = STATE(1662),
    [sym_key_path_expression] = STATE(1662),
    [sym_key_path_string_expression] = STATE(1662),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1662),
    [sym__equality_operator] = STATE(1662),
    [sym__comparison_operator] = STATE(1662),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1662),
    [sym__multiplicative_operator] = STATE(1662),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1662),
    [sym_value_parameter_pack] = STATE(1662),
    [sym_value_pack_expansion] = STATE(1662),
    [sym_availability_condition] = STATE(7333),
    [sym__referenceable_operator] = STATE(1662),
    [sym__equal_sign] = STATE(1662),
    [sym__eq_eq] = STATE(1662),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4798),
    [sym_bang] = STATE(1169),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6656),
    [sym_value_binding_pattern] = STATE(4803),
    [sym__possibly_async_binding_pattern_kind] = STATE(4803),
    [sym__binding_kind_and_pattern] = STATE(6648),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1662),
    [sym_diagnostic] = STATE(1662),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [ts_builtin_sym_end] = ACTIONS(469),
    [anon_sym_BANG] = ACTIONS(447),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(657),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(457),
    [sym_real_literal] = ACTIONS(459),
    [sym_integer_literal] = ACTIONS(457),
    [sym_hex_literal] = ACTIONS(457),
    [sym_oct_literal] = ACTIONS(459),
    [sym_bin_literal] = ACTIONS(459),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(469),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(469),
    [anon_sym_LBRACK] = ACTIONS(469),
    [anon_sym_QMARK] = ACTIONS(447),
    [anon_sym_QMARK2] = ACTIONS(469),
    [anon_sym_AMP] = ACTIONS(469),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(469),
    [anon_sym_LT] = ACTIONS(447),
    [anon_sym_GT] = ACTIONS(447),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(469),
    [anon_sym_CARET_LBRACE] = ACTIONS(469),
    [anon_sym_RBRACE] = ACTIONS(469),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(835),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(469),
    [anon_sym_DASH_EQ] = ACTIONS(469),
    [anon_sym_STAR_EQ] = ACTIONS(469),
    [anon_sym_SLASH_EQ] = ACTIONS(469),
    [anon_sym_PERCENT_EQ] = ACTIONS(469),
    [anon_sym_BANG_EQ] = ACTIONS(447),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(469),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(469),
    [anon_sym_LT_EQ] = ACTIONS(469),
    [anon_sym_GT_EQ] = ACTIONS(469),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(469),
    [anon_sym_DOT_DOT_LT] = ACTIONS(469),
    [anon_sym_is] = ACTIONS(447),
    [anon_sym_PLUS] = ACTIONS(447),
    [anon_sym_DASH] = ACTIONS(447),
    [anon_sym_STAR] = ACTIONS(447),
    [anon_sym_SLASH] = ACTIONS(447),
    [anon_sym_PERCENT] = ACTIONS(447),
    [anon_sym_PLUS_PLUS] = ACTIONS(469),
    [anon_sym_DASH_DASH] = ACTIONS(469),
    [anon_sym_PIPE] = ACTIONS(469),
    [anon_sym_CARET] = ACTIONS(447),
    [anon_sym_LT_LT] = ACTIONS(469),
    [anon_sym_GT_GT] = ACTIONS(469),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__implicit_semi] = ACTIONS(469),
    [sym__explicit_semi] = ACTIONS(469),
    [sym__dot_custom] = ACTIONS(469),
    [sym__conjunction_operator_custom] = ACTIONS(469),
    [sym__disjunction_operator_custom] = ACTIONS(469),
    [sym__nil_coalescing_operator_custom] = ACTIONS(469),
    [sym__eq_custom] = ACTIONS(469),
    [sym__eq_eq_custom] = ACTIONS(469),
    [sym__plus_then_ws] = ACTIONS(469),
    [sym__minus_then_ws] = ACTIONS(469),
    [sym__bang_custom] = ACTIONS(469),
    [sym_where_keyword] = ACTIONS(469),
    [sym__as_custom] = ACTIONS(469),
    [sym__as_quest_custom] = ACTIONS(469),
    [sym__as_bang_custom] = ACTIONS(469),
    [sym__custom_operator] = ACTIONS(469),
    [sym__hash_symbol_custom] = ACTIONS(487),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [134] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1662),
    [sym_boolean_literal] = STATE(1662),
    [sym__string_literal] = STATE(1662),
    [sym_line_string_literal] = STATE(1662),
    [sym_multi_line_string_literal] = STATE(1662),
    [sym_raw_string_literal] = STATE(1662),
    [sym_regex_literal] = STATE(1662),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1662),
    [sym__unary_expression] = STATE(1662),
    [sym_postfix_expression] = STATE(1662),
    [sym_constructor_expression] = STATE(1662),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1662),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1662),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1662),
    [sym_prefix_expression] = STATE(1662),
    [sym_as_expression] = STATE(1662),
    [sym_selector_expression] = STATE(1662),
    [sym__binary_expression] = STATE(1662),
    [sym_multiplicative_expression] = STATE(1662),
    [sym_additive_expression] = STATE(1662),
    [sym_range_expression] = STATE(1662),
    [sym_infix_expression] = STATE(1662),
    [sym_nil_coalescing_expression] = STATE(1662),
    [sym_check_expression] = STATE(1662),
    [sym_comparison_expression] = STATE(1662),
    [sym_equality_expression] = STATE(1662),
    [sym_conjunction_expression] = STATE(1662),
    [sym_disjunction_expression] = STATE(1662),
    [sym_bitwise_operation] = STATE(1662),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1662),
    [sym_await_expression] = STATE(1662),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1662),
    [sym_call_expression] = STATE(1662),
    [sym_macro_invocation] = STATE(1662),
    [sym__primary_expression] = STATE(1662),
    [sym_tuple_expression] = STATE(1662),
    [sym_array_literal] = STATE(1662),
    [sym_dictionary_literal] = STATE(1662),
    [sym_special_literal] = STATE(1662),
    [sym_playground_literal] = STATE(1662),
    [sym_lambda_literal] = STATE(1662),
    [sym_self_expression] = STATE(1662),
    [sym_super_expression] = STATE(1662),
    [sym_if_statement] = STATE(1662),
    [sym__if_condition_sequence_item] = STATE(7151),
    [sym__if_let_binding] = STATE(8586),
    [sym_switch_statement] = STATE(1662),
    [sym_key_path_expression] = STATE(1662),
    [sym_key_path_string_expression] = STATE(1662),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1662),
    [sym__equality_operator] = STATE(1662),
    [sym__comparison_operator] = STATE(1662),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1662),
    [sym__multiplicative_operator] = STATE(1662),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1662),
    [sym_value_parameter_pack] = STATE(1662),
    [sym_value_pack_expansion] = STATE(1662),
    [sym_availability_condition] = STATE(7151),
    [sym__referenceable_operator] = STATE(1662),
    [sym__equal_sign] = STATE(1662),
    [sym__eq_eq] = STATE(1662),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4798),
    [sym_bang] = STATE(1169),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6656),
    [sym_value_binding_pattern] = STATE(4803),
    [sym__possibly_async_binding_pattern_kind] = STATE(4803),
    [sym__binding_kind_and_pattern] = STATE(6648),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1662),
    [sym_diagnostic] = STATE(1662),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [ts_builtin_sym_end] = ACTIONS(469),
    [anon_sym_BANG] = ACTIONS(447),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(657),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(457),
    [sym_real_literal] = ACTIONS(459),
    [sym_integer_literal] = ACTIONS(457),
    [sym_hex_literal] = ACTIONS(457),
    [sym_oct_literal] = ACTIONS(459),
    [sym_bin_literal] = ACTIONS(459),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(469),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(469),
    [anon_sym_LBRACK] = ACTIONS(469),
    [anon_sym_QMARK] = ACTIONS(447),
    [anon_sym_QMARK2] = ACTIONS(469),
    [anon_sym_AMP] = ACTIONS(469),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(469),
    [anon_sym_LT] = ACTIONS(447),
    [anon_sym_GT] = ACTIONS(447),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(469),
    [anon_sym_CARET_LBRACE] = ACTIONS(469),
    [anon_sym_RBRACE] = ACTIONS(469),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(835),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(469),
    [anon_sym_DASH_EQ] = ACTIONS(469),
    [anon_sym_STAR_EQ] = ACTIONS(469),
    [anon_sym_SLASH_EQ] = ACTIONS(469),
    [anon_sym_PERCENT_EQ] = ACTIONS(469),
    [anon_sym_BANG_EQ] = ACTIONS(447),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(469),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(469),
    [anon_sym_LT_EQ] = ACTIONS(469),
    [anon_sym_GT_EQ] = ACTIONS(469),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(469),
    [anon_sym_DOT_DOT_LT] = ACTIONS(469),
    [anon_sym_is] = ACTIONS(447),
    [anon_sym_PLUS] = ACTIONS(447),
    [anon_sym_DASH] = ACTIONS(447),
    [anon_sym_STAR] = ACTIONS(447),
    [anon_sym_SLASH] = ACTIONS(447),
    [anon_sym_PERCENT] = ACTIONS(447),
    [anon_sym_PLUS_PLUS] = ACTIONS(469),
    [anon_sym_DASH_DASH] = ACTIONS(469),
    [anon_sym_PIPE] = ACTIONS(469),
    [anon_sym_CARET] = ACTIONS(447),
    [anon_sym_LT_LT] = ACTIONS(469),
    [anon_sym_GT_GT] = ACTIONS(469),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__implicit_semi] = ACTIONS(469),
    [sym__explicit_semi] = ACTIONS(469),
    [sym__dot_custom] = ACTIONS(469),
    [sym__conjunction_operator_custom] = ACTIONS(469),
    [sym__disjunction_operator_custom] = ACTIONS(469),
    [sym__nil_coalescing_operator_custom] = ACTIONS(469),
    [sym__eq_custom] = ACTIONS(469),
    [sym__eq_eq_custom] = ACTIONS(469),
    [sym__plus_then_ws] = ACTIONS(469),
    [sym__minus_then_ws] = ACTIONS(469),
    [sym__bang_custom] = ACTIONS(469),
    [sym__as_custom] = ACTIONS(469),
    [sym__as_quest_custom] = ACTIONS(469),
    [sym__as_bang_custom] = ACTIONS(469),
    [sym__custom_operator] = ACTIONS(469),
    [sym__hash_symbol_custom] = ACTIONS(487),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [135] = {
    [sym_simple_identifier] = STATE(2186),
    [sym__contextual_simple_identifier] = STATE(2239),
    [sym__basic_literal] = STATE(1540),
    [sym_boolean_literal] = STATE(1540),
    [sym__string_literal] = STATE(1540),
    [sym_line_string_literal] = STATE(1540),
    [sym_multi_line_string_literal] = STATE(1540),
    [sym_raw_string_literal] = STATE(1540),
    [sym_regex_literal] = STATE(1540),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym__possibly_implicitly_unwrapped_type] = STATE(8531),
    [sym__type] = STATE(6669),
    [sym__unannotated_type] = STATE(5247),
    [sym_user_type] = STATE(4976),
    [sym__simple_user_type] = STATE(5148),
    [sym_tuple_type] = STATE(5106),
    [sym_function_type] = STATE(5247),
    [sym_array_type] = STATE(4976),
    [sym_dictionary_type] = STATE(4976),
    [sym_optional_type] = STATE(5247),
    [sym_metatype] = STATE(5247),
    [sym_opaque_type] = STATE(5247),
    [sym_existential_type] = STATE(5247),
    [sym_type_parameter_pack] = STATE(5247),
    [sym_type_pack_expansion] = STATE(5247),
    [sym_protocol_composition_type] = STATE(5247),
    [sym_suppressed_constraint] = STATE(5247),
    [sym__expression] = STATE(1540),
    [sym__unary_expression] = STATE(1540),
    [sym_postfix_expression] = STATE(1540),
    [sym_constructor_expression] = STATE(1540),
    [sym__parenthesized_type] = STATE(5565),
    [sym_navigation_expression] = STATE(1540),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1540),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1540),
    [sym_prefix_expression] = STATE(1540),
    [sym_as_expression] = STATE(1540),
    [sym_selector_expression] = STATE(1540),
    [sym__binary_expression] = STATE(1540),
    [sym_multiplicative_expression] = STATE(1540),
    [sym_additive_expression] = STATE(1540),
    [sym_range_expression] = STATE(1540),
    [sym_infix_expression] = STATE(1540),
    [sym_nil_coalescing_expression] = STATE(1540),
    [sym_check_expression] = STATE(1540),
    [sym_comparison_expression] = STATE(1540),
    [sym_equality_expression] = STATE(1540),
    [sym_conjunction_expression] = STATE(1540),
    [sym_disjunction_expression] = STATE(1540),
    [sym_bitwise_operation] = STATE(1540),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1540),
    [sym_await_expression] = STATE(1540),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1540),
    [sym_call_expression] = STATE(1540),
    [sym_macro_invocation] = STATE(1540),
    [sym__primary_expression] = STATE(1540),
    [sym_tuple_expression] = STATE(1540),
    [sym_array_literal] = STATE(1540),
    [sym_dictionary_literal] = STATE(1540),
    [sym_special_literal] = STATE(1540),
    [sym_playground_literal] = STATE(1540),
    [sym_lambda_literal] = STATE(1540),
    [sym_self_expression] = STATE(1540),
    [sym_super_expression] = STATE(1540),
    [sym_if_statement] = STATE(1540),
    [sym_switch_statement] = STATE(1540),
    [sym_key_path_expression] = STATE(1540),
    [sym_key_path_string_expression] = STATE(1540),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1540),
    [sym__equality_operator] = STATE(1540),
    [sym__comparison_operator] = STATE(1540),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1540),
    [sym__multiplicative_operator] = STATE(1540),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1540),
    [sym_value_parameter_pack] = STATE(1540),
    [sym_value_pack_expansion] = STATE(1540),
    [sym__referenceable_operator] = STATE(1540),
    [sym__equal_sign] = STATE(1540),
    [sym__eq_eq] = STATE(1540),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(5018),
    [sym_parameter_modifiers] = STATE(3888),
    [sym_type_modifiers] = STATE(4630),
    [sym_parameter_modifier] = STATE(4947),
    [sym__parameter_ownership_modifier] = STATE(1683),
    [sym_directive] = STATE(1540),
    [sym_diagnostic] = STATE(1540),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(5018),
    [aux_sym_parameter_modifiers_repeat1] = STATE(4947),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(789),
    [aux_sym_simple_identifier_token2] = ACTIONS(791),
    [aux_sym_simple_identifier_token3] = ACTIONS(791),
    [aux_sym_simple_identifier_token4] = ACTIONS(791),
    [anon_sym_actor] = ACTIONS(789),
    [anon_sym_async] = ACTIONS(789),
    [anon_sym_each] = ACTIONS(793),
    [anon_sym_lazy] = ACTIONS(789),
    [anon_sym_repeat] = ACTIONS(795),
    [anon_sym_package] = ACTIONS(789),
    [anon_sym_nil] = ACTIONS(837),
    [sym_real_literal] = ACTIONS(839),
    [sym_integer_literal] = ACTIONS(837),
    [sym_hex_literal] = ACTIONS(837),
    [sym_oct_literal] = ACTIONS(839),
    [sym_bin_literal] = ACTIONS(839),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(767),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(775),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(837),
    [anon_sym_GT] = ACTIONS(837),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(839),
    [anon_sym_DASH_EQ] = ACTIONS(839),
    [anon_sym_STAR_EQ] = ACTIONS(839),
    [anon_sym_SLASH_EQ] = ACTIONS(839),
    [anon_sym_PERCENT_EQ] = ACTIONS(839),
    [anon_sym_BANG_EQ] = ACTIONS(837),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(839),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(839),
    [anon_sym_LT_EQ] = ACTIONS(839),
    [anon_sym_GT_EQ] = ACTIONS(839),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(837),
    [anon_sym_SLASH] = ACTIONS(837),
    [anon_sym_PERCENT] = ACTIONS(837),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(839),
    [anon_sym_CARET] = ACTIONS(837),
    [anon_sym_LT_LT] = ACTIONS(839),
    [anon_sym_GT_GT] = ACTIONS(839),
    [anon_sym_AT] = ACTIONS(811),
    [anon_sym_inout] = ACTIONS(815),
    [anon_sym_ATescaping] = ACTIONS(817),
    [anon_sym_ATautoclosure] = ACTIONS(817),
    [anon_sym_borrowing] = ACTIONS(841),
    [anon_sym_consuming] = ACTIONS(841),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(839),
    [sym__eq_eq_custom] = ACTIONS(839),
    [sym__plus_then_ws] = ACTIONS(839),
    [sym__minus_then_ws] = ACTIONS(839),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [136] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1662),
    [sym_boolean_literal] = STATE(1662),
    [sym__string_literal] = STATE(1662),
    [sym_line_string_literal] = STATE(1662),
    [sym_multi_line_string_literal] = STATE(1662),
    [sym_raw_string_literal] = STATE(1662),
    [sym_regex_literal] = STATE(1662),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1662),
    [sym__unary_expression] = STATE(1662),
    [sym_postfix_expression] = STATE(1662),
    [sym_constructor_expression] = STATE(1662),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1662),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1662),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1662),
    [sym_prefix_expression] = STATE(1662),
    [sym_as_expression] = STATE(1662),
    [sym_selector_expression] = STATE(1662),
    [sym__binary_expression] = STATE(1662),
    [sym_multiplicative_expression] = STATE(1662),
    [sym_additive_expression] = STATE(1662),
    [sym_range_expression] = STATE(1662),
    [sym_infix_expression] = STATE(1662),
    [sym_nil_coalescing_expression] = STATE(1662),
    [sym_check_expression] = STATE(1662),
    [sym_comparison_expression] = STATE(1662),
    [sym_equality_expression] = STATE(1662),
    [sym_conjunction_expression] = STATE(1662),
    [sym_disjunction_expression] = STATE(1662),
    [sym_bitwise_operation] = STATE(1662),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1662),
    [sym_await_expression] = STATE(1662),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1662),
    [sym_call_expression] = STATE(1662),
    [sym_macro_invocation] = STATE(1662),
    [sym__primary_expression] = STATE(1662),
    [sym_tuple_expression] = STATE(1662),
    [sym_array_literal] = STATE(1662),
    [sym_dictionary_literal] = STATE(1662),
    [sym_special_literal] = STATE(1662),
    [sym_playground_literal] = STATE(1662),
    [sym_lambda_literal] = STATE(1662),
    [sym_self_expression] = STATE(1662),
    [sym_super_expression] = STATE(1662),
    [sym_if_statement] = STATE(1662),
    [sym__if_condition_sequence_item] = STATE(7147),
    [sym__if_let_binding] = STATE(8586),
    [sym_switch_statement] = STATE(1662),
    [sym_key_path_expression] = STATE(1662),
    [sym_key_path_string_expression] = STATE(1662),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1662),
    [sym__equality_operator] = STATE(1662),
    [sym__comparison_operator] = STATE(1662),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1662),
    [sym__multiplicative_operator] = STATE(1662),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1662),
    [sym_value_parameter_pack] = STATE(1662),
    [sym_value_pack_expansion] = STATE(1662),
    [sym_availability_condition] = STATE(7147),
    [sym__referenceable_operator] = STATE(1662),
    [sym__equal_sign] = STATE(1662),
    [sym__eq_eq] = STATE(1662),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4798),
    [sym_bang] = STATE(1169),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6656),
    [sym_value_binding_pattern] = STATE(4803),
    [sym__possibly_async_binding_pattern_kind] = STATE(4803),
    [sym__binding_kind_and_pattern] = STATE(6648),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1662),
    [sym_diagnostic] = STATE(1662),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(447),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(657),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(457),
    [sym_real_literal] = ACTIONS(459),
    [sym_integer_literal] = ACTIONS(457),
    [sym_hex_literal] = ACTIONS(457),
    [sym_oct_literal] = ACTIONS(459),
    [sym_bin_literal] = ACTIONS(459),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(469),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(469),
    [anon_sym_LBRACK] = ACTIONS(469),
    [anon_sym_QMARK] = ACTIONS(447),
    [anon_sym_QMARK2] = ACTIONS(469),
    [anon_sym_AMP] = ACTIONS(469),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(469),
    [anon_sym_LT] = ACTIONS(447),
    [anon_sym_GT] = ACTIONS(447),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(469),
    [anon_sym_CARET_LBRACE] = ACTIONS(469),
    [anon_sym_RBRACE] = ACTIONS(469),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(835),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(469),
    [anon_sym_DASH_EQ] = ACTIONS(469),
    [anon_sym_STAR_EQ] = ACTIONS(469),
    [anon_sym_SLASH_EQ] = ACTIONS(469),
    [anon_sym_PERCENT_EQ] = ACTIONS(469),
    [anon_sym_BANG_EQ] = ACTIONS(447),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(469),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(469),
    [anon_sym_LT_EQ] = ACTIONS(469),
    [anon_sym_GT_EQ] = ACTIONS(469),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(469),
    [anon_sym_DOT_DOT_LT] = ACTIONS(469),
    [anon_sym_is] = ACTIONS(447),
    [anon_sym_PLUS] = ACTIONS(447),
    [anon_sym_DASH] = ACTIONS(447),
    [anon_sym_STAR] = ACTIONS(447),
    [anon_sym_SLASH] = ACTIONS(447),
    [anon_sym_PERCENT] = ACTIONS(447),
    [anon_sym_PLUS_PLUS] = ACTIONS(469),
    [anon_sym_DASH_DASH] = ACTIONS(469),
    [anon_sym_PIPE] = ACTIONS(469),
    [anon_sym_CARET] = ACTIONS(447),
    [anon_sym_LT_LT] = ACTIONS(469),
    [anon_sym_GT_GT] = ACTIONS(469),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(469),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__implicit_semi] = ACTIONS(469),
    [sym__explicit_semi] = ACTIONS(469),
    [sym__dot_custom] = ACTIONS(469),
    [sym__conjunction_operator_custom] = ACTIONS(469),
    [sym__disjunction_operator_custom] = ACTIONS(469),
    [sym__nil_coalescing_operator_custom] = ACTIONS(469),
    [sym__eq_custom] = ACTIONS(469),
    [sym__eq_eq_custom] = ACTIONS(469),
    [sym__plus_then_ws] = ACTIONS(469),
    [sym__minus_then_ws] = ACTIONS(469),
    [sym__bang_custom] = ACTIONS(469),
    [sym__as_custom] = ACTIONS(469),
    [sym__as_quest_custom] = ACTIONS(469),
    [sym__as_bang_custom] = ACTIONS(469),
    [sym__custom_operator] = ACTIONS(469),
    [sym__hash_symbol_custom] = ACTIONS(487),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [137] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1662),
    [sym_boolean_literal] = STATE(1662),
    [sym__string_literal] = STATE(1662),
    [sym_line_string_literal] = STATE(1662),
    [sym_multi_line_string_literal] = STATE(1662),
    [sym_raw_string_literal] = STATE(1662),
    [sym_regex_literal] = STATE(1662),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1662),
    [sym__unary_expression] = STATE(1662),
    [sym_postfix_expression] = STATE(1662),
    [sym_constructor_expression] = STATE(1662),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1662),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1662),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1662),
    [sym_prefix_expression] = STATE(1662),
    [sym_as_expression] = STATE(1662),
    [sym_selector_expression] = STATE(1662),
    [sym__binary_expression] = STATE(1662),
    [sym_multiplicative_expression] = STATE(1662),
    [sym_additive_expression] = STATE(1662),
    [sym_range_expression] = STATE(1662),
    [sym_infix_expression] = STATE(1662),
    [sym_nil_coalescing_expression] = STATE(1662),
    [sym_check_expression] = STATE(1662),
    [sym_comparison_expression] = STATE(1662),
    [sym_equality_expression] = STATE(1662),
    [sym_conjunction_expression] = STATE(1662),
    [sym_disjunction_expression] = STATE(1662),
    [sym_bitwise_operation] = STATE(1662),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1662),
    [sym_await_expression] = STATE(1662),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1662),
    [sym_call_expression] = STATE(1662),
    [sym_macro_invocation] = STATE(1662),
    [sym__primary_expression] = STATE(1662),
    [sym_tuple_expression] = STATE(1662),
    [sym_array_literal] = STATE(1662),
    [sym_dictionary_literal] = STATE(1662),
    [sym_special_literal] = STATE(1662),
    [sym_playground_literal] = STATE(1662),
    [sym_lambda_literal] = STATE(1662),
    [sym_self_expression] = STATE(1662),
    [sym_super_expression] = STATE(1662),
    [sym_if_statement] = STATE(1662),
    [sym__if_condition_sequence_item] = STATE(7132),
    [sym__if_let_binding] = STATE(8586),
    [sym_switch_statement] = STATE(1662),
    [sym_key_path_expression] = STATE(1662),
    [sym_key_path_string_expression] = STATE(1662),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1662),
    [sym__equality_operator] = STATE(1662),
    [sym__comparison_operator] = STATE(1662),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1662),
    [sym__multiplicative_operator] = STATE(1662),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1662),
    [sym_value_parameter_pack] = STATE(1662),
    [sym_value_pack_expansion] = STATE(1662),
    [sym_availability_condition] = STATE(7132),
    [sym__referenceable_operator] = STATE(1662),
    [sym__equal_sign] = STATE(1662),
    [sym__eq_eq] = STATE(1662),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4798),
    [sym_bang] = STATE(1169),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6656),
    [sym_value_binding_pattern] = STATE(4803),
    [sym__possibly_async_binding_pattern_kind] = STATE(4803),
    [sym__binding_kind_and_pattern] = STATE(6648),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1662),
    [sym_diagnostic] = STATE(1662),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(447),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(657),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(457),
    [sym_real_literal] = ACTIONS(459),
    [sym_integer_literal] = ACTIONS(457),
    [sym_hex_literal] = ACTIONS(457),
    [sym_oct_literal] = ACTIONS(459),
    [sym_bin_literal] = ACTIONS(459),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(469),
    [anon_sym_COMMA] = ACTIONS(469),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_COLON] = ACTIONS(469),
    [anon_sym_LPAREN] = ACTIONS(469),
    [anon_sym_LBRACK] = ACTIONS(469),
    [anon_sym_RBRACK] = ACTIONS(469),
    [anon_sym_QMARK] = ACTIONS(447),
    [anon_sym_QMARK2] = ACTIONS(469),
    [anon_sym_AMP] = ACTIONS(469),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(469),
    [anon_sym_LT] = ACTIONS(447),
    [anon_sym_GT] = ACTIONS(447),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(469),
    [anon_sym_CARET_LBRACE] = ACTIONS(469),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(835),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(469),
    [anon_sym_DASH_EQ] = ACTIONS(469),
    [anon_sym_STAR_EQ] = ACTIONS(469),
    [anon_sym_SLASH_EQ] = ACTIONS(469),
    [anon_sym_PERCENT_EQ] = ACTIONS(469),
    [anon_sym_BANG_EQ] = ACTIONS(447),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(469),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(469),
    [anon_sym_LT_EQ] = ACTIONS(469),
    [anon_sym_GT_EQ] = ACTIONS(469),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(469),
    [anon_sym_DOT_DOT_LT] = ACTIONS(469),
    [anon_sym_is] = ACTIONS(447),
    [anon_sym_PLUS] = ACTIONS(447),
    [anon_sym_DASH] = ACTIONS(447),
    [anon_sym_STAR] = ACTIONS(447),
    [anon_sym_SLASH] = ACTIONS(447),
    [anon_sym_PERCENT] = ACTIONS(447),
    [anon_sym_PLUS_PLUS] = ACTIONS(469),
    [anon_sym_DASH_DASH] = ACTIONS(469),
    [anon_sym_PIPE] = ACTIONS(469),
    [anon_sym_CARET] = ACTIONS(447),
    [anon_sym_LT_LT] = ACTIONS(469),
    [anon_sym_GT_GT] = ACTIONS(469),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(469),
    [sym__conjunction_operator_custom] = ACTIONS(469),
    [sym__disjunction_operator_custom] = ACTIONS(469),
    [sym__nil_coalescing_operator_custom] = ACTIONS(469),
    [sym__eq_custom] = ACTIONS(469),
    [sym__eq_eq_custom] = ACTIONS(469),
    [sym__plus_then_ws] = ACTIONS(469),
    [sym__minus_then_ws] = ACTIONS(469),
    [sym__bang_custom] = ACTIONS(469),
    [sym__as_custom] = ACTIONS(469),
    [sym__as_quest_custom] = ACTIONS(469),
    [sym__as_bang_custom] = ACTIONS(469),
    [sym__custom_operator] = ACTIONS(469),
    [sym__hash_symbol_custom] = ACTIONS(487),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [138] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1662),
    [sym_boolean_literal] = STATE(1662),
    [sym__string_literal] = STATE(1662),
    [sym_line_string_literal] = STATE(1662),
    [sym_multi_line_string_literal] = STATE(1662),
    [sym_raw_string_literal] = STATE(1662),
    [sym_regex_literal] = STATE(1662),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1662),
    [sym__unary_expression] = STATE(1662),
    [sym_postfix_expression] = STATE(1662),
    [sym_constructor_expression] = STATE(1662),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1662),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1662),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1662),
    [sym_prefix_expression] = STATE(1662),
    [sym_as_expression] = STATE(1662),
    [sym_selector_expression] = STATE(1662),
    [sym__binary_expression] = STATE(1662),
    [sym_multiplicative_expression] = STATE(1662),
    [sym_additive_expression] = STATE(1662),
    [sym_range_expression] = STATE(1662),
    [sym_infix_expression] = STATE(1662),
    [sym_nil_coalescing_expression] = STATE(1662),
    [sym_check_expression] = STATE(1662),
    [sym_comparison_expression] = STATE(1662),
    [sym_equality_expression] = STATE(1662),
    [sym_conjunction_expression] = STATE(1662),
    [sym_disjunction_expression] = STATE(1662),
    [sym_bitwise_operation] = STATE(1662),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1662),
    [sym_await_expression] = STATE(1662),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1662),
    [sym_call_expression] = STATE(1662),
    [sym_macro_invocation] = STATE(1662),
    [sym__primary_expression] = STATE(1662),
    [sym_tuple_expression] = STATE(1662),
    [sym_array_literal] = STATE(1662),
    [sym_dictionary_literal] = STATE(1662),
    [sym_special_literal] = STATE(1662),
    [sym_playground_literal] = STATE(1662),
    [sym_lambda_literal] = STATE(1662),
    [sym_self_expression] = STATE(1662),
    [sym_super_expression] = STATE(1662),
    [sym_if_statement] = STATE(1662),
    [sym__if_condition_sequence_item] = STATE(7204),
    [sym__if_let_binding] = STATE(8586),
    [sym_switch_statement] = STATE(1662),
    [sym_key_path_expression] = STATE(1662),
    [sym_key_path_string_expression] = STATE(1662),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1662),
    [sym__equality_operator] = STATE(1662),
    [sym__comparison_operator] = STATE(1662),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1662),
    [sym__multiplicative_operator] = STATE(1662),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1662),
    [sym_value_parameter_pack] = STATE(1662),
    [sym_value_pack_expansion] = STATE(1662),
    [sym_availability_condition] = STATE(7204),
    [sym__referenceable_operator] = STATE(1662),
    [sym__equal_sign] = STATE(1662),
    [sym__eq_eq] = STATE(1662),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4798),
    [sym_bang] = STATE(1169),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6656),
    [sym_value_binding_pattern] = STATE(4803),
    [sym__possibly_async_binding_pattern_kind] = STATE(4803),
    [sym__binding_kind_and_pattern] = STATE(6648),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1662),
    [sym_diagnostic] = STATE(1662),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(447),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(657),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(457),
    [sym_real_literal] = ACTIONS(459),
    [sym_integer_literal] = ACTIONS(457),
    [sym_hex_literal] = ACTIONS(457),
    [sym_oct_literal] = ACTIONS(459),
    [sym_bin_literal] = ACTIONS(459),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(469),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_COLON] = ACTIONS(469),
    [anon_sym_LPAREN] = ACTIONS(469),
    [anon_sym_LBRACK] = ACTIONS(469),
    [anon_sym_QMARK] = ACTIONS(447),
    [anon_sym_QMARK2] = ACTIONS(469),
    [anon_sym_AMP] = ACTIONS(469),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(469),
    [anon_sym_LT] = ACTIONS(447),
    [anon_sym_GT] = ACTIONS(447),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(469),
    [anon_sym_CARET_LBRACE] = ACTIONS(469),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(835),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(469),
    [anon_sym_DASH_EQ] = ACTIONS(469),
    [anon_sym_STAR_EQ] = ACTIONS(469),
    [anon_sym_SLASH_EQ] = ACTIONS(469),
    [anon_sym_PERCENT_EQ] = ACTIONS(469),
    [anon_sym_BANG_EQ] = ACTIONS(447),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(469),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(469),
    [anon_sym_LT_EQ] = ACTIONS(469),
    [anon_sym_GT_EQ] = ACTIONS(469),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(469),
    [anon_sym_DOT_DOT_LT] = ACTIONS(469),
    [anon_sym_is] = ACTIONS(447),
    [anon_sym_PLUS] = ACTIONS(447),
    [anon_sym_DASH] = ACTIONS(447),
    [anon_sym_STAR] = ACTIONS(447),
    [anon_sym_SLASH] = ACTIONS(447),
    [anon_sym_PERCENT] = ACTIONS(447),
    [anon_sym_PLUS_PLUS] = ACTIONS(469),
    [anon_sym_DASH_DASH] = ACTIONS(469),
    [anon_sym_PIPE] = ACTIONS(469),
    [anon_sym_CARET] = ACTIONS(447),
    [anon_sym_LT_LT] = ACTIONS(469),
    [anon_sym_GT_GT] = ACTIONS(469),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(469),
    [sym__conjunction_operator_custom] = ACTIONS(469),
    [sym__disjunction_operator_custom] = ACTIONS(469),
    [sym__nil_coalescing_operator_custom] = ACTIONS(469),
    [sym__eq_custom] = ACTIONS(469),
    [sym__eq_eq_custom] = ACTIONS(469),
    [sym__plus_then_ws] = ACTIONS(469),
    [sym__minus_then_ws] = ACTIONS(469),
    [sym__bang_custom] = ACTIONS(469),
    [sym_where_keyword] = ACTIONS(469),
    [sym__as_custom] = ACTIONS(469),
    [sym__as_quest_custom] = ACTIONS(469),
    [sym__as_bang_custom] = ACTIONS(469),
    [sym__custom_operator] = ACTIONS(469),
    [sym__hash_symbol_custom] = ACTIONS(487),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [139] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1662),
    [sym_boolean_literal] = STATE(1662),
    [sym__string_literal] = STATE(1662),
    [sym_line_string_literal] = STATE(1662),
    [sym_multi_line_string_literal] = STATE(1662),
    [sym_raw_string_literal] = STATE(1662),
    [sym_regex_literal] = STATE(1662),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1662),
    [sym__unary_expression] = STATE(1662),
    [sym_postfix_expression] = STATE(1662),
    [sym_constructor_expression] = STATE(1662),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1662),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1662),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1662),
    [sym_prefix_expression] = STATE(1662),
    [sym_as_expression] = STATE(1662),
    [sym_selector_expression] = STATE(1662),
    [sym__binary_expression] = STATE(1662),
    [sym_multiplicative_expression] = STATE(1662),
    [sym_additive_expression] = STATE(1662),
    [sym_range_expression] = STATE(1662),
    [sym_infix_expression] = STATE(1662),
    [sym_nil_coalescing_expression] = STATE(1662),
    [sym_check_expression] = STATE(1662),
    [sym_comparison_expression] = STATE(1662),
    [sym_equality_expression] = STATE(1662),
    [sym_conjunction_expression] = STATE(1662),
    [sym_disjunction_expression] = STATE(1662),
    [sym_bitwise_operation] = STATE(1662),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1662),
    [sym_await_expression] = STATE(1662),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1662),
    [sym_call_expression] = STATE(1662),
    [sym_macro_invocation] = STATE(1662),
    [sym__primary_expression] = STATE(1662),
    [sym_tuple_expression] = STATE(1662),
    [sym_array_literal] = STATE(1662),
    [sym_dictionary_literal] = STATE(1662),
    [sym_special_literal] = STATE(1662),
    [sym_playground_literal] = STATE(1662),
    [sym_lambda_literal] = STATE(1662),
    [sym_self_expression] = STATE(1662),
    [sym_super_expression] = STATE(1662),
    [sym_if_statement] = STATE(1662),
    [sym__if_condition_sequence_item] = STATE(7278),
    [sym__if_let_binding] = STATE(8586),
    [sym_switch_statement] = STATE(1662),
    [sym_key_path_expression] = STATE(1662),
    [sym_key_path_string_expression] = STATE(1662),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1662),
    [sym__equality_operator] = STATE(1662),
    [sym__comparison_operator] = STATE(1662),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1662),
    [sym__multiplicative_operator] = STATE(1662),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1662),
    [sym_value_parameter_pack] = STATE(1662),
    [sym_value_pack_expansion] = STATE(1662),
    [sym_availability_condition] = STATE(7278),
    [sym__referenceable_operator] = STATE(1662),
    [sym__equal_sign] = STATE(1662),
    [sym__eq_eq] = STATE(1662),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4798),
    [sym_bang] = STATE(1169),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6656),
    [sym_value_binding_pattern] = STATE(4803),
    [sym__possibly_async_binding_pattern_kind] = STATE(4803),
    [sym__binding_kind_and_pattern] = STATE(6648),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1662),
    [sym_diagnostic] = STATE(1662),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(447),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(657),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(457),
    [sym_real_literal] = ACTIONS(459),
    [sym_integer_literal] = ACTIONS(457),
    [sym_hex_literal] = ACTIONS(457),
    [sym_oct_literal] = ACTIONS(459),
    [sym_bin_literal] = ACTIONS(459),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(469),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(469),
    [anon_sym_LBRACK] = ACTIONS(469),
    [anon_sym_QMARK] = ACTIONS(447),
    [anon_sym_QMARK2] = ACTIONS(469),
    [anon_sym_AMP] = ACTIONS(469),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(469),
    [anon_sym_LT] = ACTIONS(447),
    [anon_sym_GT] = ACTIONS(447),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(469),
    [anon_sym_CARET_LBRACE] = ACTIONS(469),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(835),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(469),
    [anon_sym_DASH_EQ] = ACTIONS(469),
    [anon_sym_STAR_EQ] = ACTIONS(469),
    [anon_sym_SLASH_EQ] = ACTIONS(469),
    [anon_sym_PERCENT_EQ] = ACTIONS(469),
    [anon_sym_BANG_EQ] = ACTIONS(447),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(469),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(469),
    [anon_sym_LT_EQ] = ACTIONS(469),
    [anon_sym_GT_EQ] = ACTIONS(469),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(469),
    [anon_sym_DOT_DOT_LT] = ACTIONS(469),
    [anon_sym_is] = ACTIONS(447),
    [anon_sym_PLUS] = ACTIONS(447),
    [anon_sym_DASH] = ACTIONS(447),
    [anon_sym_STAR] = ACTIONS(447),
    [anon_sym_SLASH] = ACTIONS(447),
    [anon_sym_PERCENT] = ACTIONS(447),
    [anon_sym_PLUS_PLUS] = ACTIONS(469),
    [anon_sym_DASH_DASH] = ACTIONS(469),
    [anon_sym_PIPE] = ACTIONS(469),
    [anon_sym_CARET] = ACTIONS(447),
    [anon_sym_LT_LT] = ACTIONS(469),
    [anon_sym_GT_GT] = ACTIONS(469),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(469),
    [sym__conjunction_operator_custom] = ACTIONS(469),
    [sym__disjunction_operator_custom] = ACTIONS(469),
    [sym__nil_coalescing_operator_custom] = ACTIONS(469),
    [sym__eq_custom] = ACTIONS(469),
    [sym__eq_eq_custom] = ACTIONS(469),
    [sym__plus_then_ws] = ACTIONS(469),
    [sym__minus_then_ws] = ACTIONS(469),
    [sym__bang_custom] = ACTIONS(469),
    [sym_where_keyword] = ACTIONS(469),
    [sym_else] = ACTIONS(469),
    [sym__as_custom] = ACTIONS(469),
    [sym__as_quest_custom] = ACTIONS(469),
    [sym__as_bang_custom] = ACTIONS(469),
    [sym__custom_operator] = ACTIONS(469),
    [sym__hash_symbol_custom] = ACTIONS(487),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [140] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1662),
    [sym_boolean_literal] = STATE(1662),
    [sym__string_literal] = STATE(1662),
    [sym_line_string_literal] = STATE(1662),
    [sym_multi_line_string_literal] = STATE(1662),
    [sym_raw_string_literal] = STATE(1662),
    [sym_regex_literal] = STATE(1662),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1662),
    [sym__unary_expression] = STATE(1662),
    [sym_postfix_expression] = STATE(1662),
    [sym_constructor_expression] = STATE(1662),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1662),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1662),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1662),
    [sym_prefix_expression] = STATE(1662),
    [sym_as_expression] = STATE(1662),
    [sym_selector_expression] = STATE(1662),
    [sym__binary_expression] = STATE(1662),
    [sym_multiplicative_expression] = STATE(1662),
    [sym_additive_expression] = STATE(1662),
    [sym_range_expression] = STATE(1662),
    [sym_infix_expression] = STATE(1662),
    [sym_nil_coalescing_expression] = STATE(1662),
    [sym_check_expression] = STATE(1662),
    [sym_comparison_expression] = STATE(1662),
    [sym_equality_expression] = STATE(1662),
    [sym_conjunction_expression] = STATE(1662),
    [sym_disjunction_expression] = STATE(1662),
    [sym_bitwise_operation] = STATE(1662),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1662),
    [sym_await_expression] = STATE(1662),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1662),
    [sym_call_expression] = STATE(1662),
    [sym_macro_invocation] = STATE(1662),
    [sym__primary_expression] = STATE(1662),
    [sym_tuple_expression] = STATE(1662),
    [sym_array_literal] = STATE(1662),
    [sym_dictionary_literal] = STATE(1662),
    [sym_special_literal] = STATE(1662),
    [sym_playground_literal] = STATE(1662),
    [sym_lambda_literal] = STATE(1662),
    [sym_self_expression] = STATE(1662),
    [sym_super_expression] = STATE(1662),
    [sym_if_statement] = STATE(1662),
    [sym__if_condition_sequence_item] = STATE(7280),
    [sym__if_let_binding] = STATE(8586),
    [sym_switch_statement] = STATE(1662),
    [sym_key_path_expression] = STATE(1662),
    [sym_key_path_string_expression] = STATE(1662),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1662),
    [sym__equality_operator] = STATE(1662),
    [sym__comparison_operator] = STATE(1662),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1662),
    [sym__multiplicative_operator] = STATE(1662),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1662),
    [sym_value_parameter_pack] = STATE(1662),
    [sym_value_pack_expansion] = STATE(1662),
    [sym_availability_condition] = STATE(7280),
    [sym__referenceable_operator] = STATE(1662),
    [sym__equal_sign] = STATE(1662),
    [sym__eq_eq] = STATE(1662),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4798),
    [sym_bang] = STATE(1169),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6656),
    [sym_value_binding_pattern] = STATE(4803),
    [sym__possibly_async_binding_pattern_kind] = STATE(4803),
    [sym__binding_kind_and_pattern] = STATE(6648),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1662),
    [sym_diagnostic] = STATE(1662),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(447),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(657),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(457),
    [sym_real_literal] = ACTIONS(459),
    [sym_integer_literal] = ACTIONS(457),
    [sym_hex_literal] = ACTIONS(457),
    [sym_oct_literal] = ACTIONS(459),
    [sym_bin_literal] = ACTIONS(459),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(469),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(469),
    [anon_sym_LBRACK] = ACTIONS(469),
    [anon_sym_QMARK] = ACTIONS(447),
    [anon_sym_QMARK2] = ACTIONS(469),
    [anon_sym_AMP] = ACTIONS(469),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(469),
    [anon_sym_LT] = ACTIONS(447),
    [anon_sym_GT] = ACTIONS(447),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(469),
    [anon_sym_CARET_LBRACE] = ACTIONS(469),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(835),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(469),
    [anon_sym_DASH_EQ] = ACTIONS(469),
    [anon_sym_STAR_EQ] = ACTIONS(469),
    [anon_sym_SLASH_EQ] = ACTIONS(469),
    [anon_sym_PERCENT_EQ] = ACTIONS(469),
    [anon_sym_BANG_EQ] = ACTIONS(447),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(469),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(469),
    [anon_sym_LT_EQ] = ACTIONS(469),
    [anon_sym_GT_EQ] = ACTIONS(469),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(469),
    [anon_sym_DOT_DOT_LT] = ACTIONS(469),
    [anon_sym_is] = ACTIONS(447),
    [anon_sym_PLUS] = ACTIONS(447),
    [anon_sym_DASH] = ACTIONS(447),
    [anon_sym_STAR] = ACTIONS(447),
    [anon_sym_SLASH] = ACTIONS(447),
    [anon_sym_PERCENT] = ACTIONS(447),
    [anon_sym_PLUS_PLUS] = ACTIONS(469),
    [anon_sym_DASH_DASH] = ACTIONS(469),
    [anon_sym_PIPE] = ACTIONS(469),
    [anon_sym_CARET] = ACTIONS(447),
    [anon_sym_LT_LT] = ACTIONS(469),
    [anon_sym_GT_GT] = ACTIONS(469),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(469),
    [sym__conjunction_operator_custom] = ACTIONS(469),
    [sym__disjunction_operator_custom] = ACTIONS(469),
    [sym__nil_coalescing_operator_custom] = ACTIONS(469),
    [sym__eq_custom] = ACTIONS(469),
    [sym__eq_eq_custom] = ACTIONS(469),
    [sym__plus_then_ws] = ACTIONS(469),
    [sym__minus_then_ws] = ACTIONS(469),
    [sym__bang_custom] = ACTIONS(469),
    [sym_else] = ACTIONS(469),
    [sym__as_custom] = ACTIONS(469),
    [sym__as_quest_custom] = ACTIONS(469),
    [sym__as_bang_custom] = ACTIONS(469),
    [sym__custom_operator] = ACTIONS(469),
    [sym__hash_symbol_custom] = ACTIONS(487),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [141] = {
    [sym_simple_identifier] = STATE(2189),
    [sym__contextual_simple_identifier] = STATE(845),
    [sym__basic_literal] = STATE(1514),
    [sym_boolean_literal] = STATE(1514),
    [sym__string_literal] = STATE(1514),
    [sym_line_string_literal] = STATE(1514),
    [sym_multi_line_string_literal] = STATE(1514),
    [sym_raw_string_literal] = STATE(1514),
    [sym_regex_literal] = STATE(1514),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym__type] = STATE(8613),
    [sym__unannotated_type] = STATE(5247),
    [sym_user_type] = STATE(4976),
    [sym__simple_user_type] = STATE(5148),
    [sym_tuple_type] = STATE(5106),
    [sym_function_type] = STATE(5247),
    [sym_array_type] = STATE(4976),
    [sym_dictionary_type] = STATE(4976),
    [sym_optional_type] = STATE(5247),
    [sym_metatype] = STATE(5247),
    [sym_opaque_type] = STATE(5247),
    [sym_existential_type] = STATE(5247),
    [sym_type_parameter_pack] = STATE(5247),
    [sym_type_pack_expansion] = STATE(5247),
    [sym_protocol_composition_type] = STATE(5247),
    [sym_suppressed_constraint] = STATE(5247),
    [sym__expression] = STATE(1514),
    [sym__unary_expression] = STATE(1514),
    [sym_postfix_expression] = STATE(1514),
    [sym_constructor_expression] = STATE(1514),
    [sym__parenthesized_type] = STATE(5565),
    [sym_navigation_expression] = STATE(1514),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1514),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1514),
    [sym_prefix_expression] = STATE(1514),
    [sym_as_expression] = STATE(1514),
    [sym_selector_expression] = STATE(1514),
    [sym__binary_expression] = STATE(1514),
    [sym_multiplicative_expression] = STATE(1514),
    [sym_additive_expression] = STATE(1514),
    [sym_range_expression] = STATE(1514),
    [sym_infix_expression] = STATE(1514),
    [sym_nil_coalescing_expression] = STATE(1514),
    [sym_check_expression] = STATE(1514),
    [sym_comparison_expression] = STATE(1514),
    [sym_equality_expression] = STATE(1514),
    [sym_conjunction_expression] = STATE(1514),
    [sym_disjunction_expression] = STATE(1514),
    [sym_bitwise_operation] = STATE(1514),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1514),
    [sym_await_expression] = STATE(1514),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1514),
    [sym_call_expression] = STATE(1514),
    [sym_macro_invocation] = STATE(1514),
    [sym__primary_expression] = STATE(1514),
    [sym_tuple_expression] = STATE(1514),
    [sym_array_literal] = STATE(1514),
    [sym_dictionary_literal] = STATE(1514),
    [sym__dictionary_literal_item] = STATE(7724),
    [sym_special_literal] = STATE(1514),
    [sym_playground_literal] = STATE(1514),
    [sym_lambda_literal] = STATE(1514),
    [sym_self_expression] = STATE(1514),
    [sym_super_expression] = STATE(1514),
    [sym_if_statement] = STATE(1514),
    [sym_switch_statement] = STATE(1514),
    [sym_key_path_expression] = STATE(1514),
    [sym_key_path_string_expression] = STATE(1514),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1514),
    [sym__equality_operator] = STATE(1514),
    [sym__comparison_operator] = STATE(1514),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1514),
    [sym__multiplicative_operator] = STATE(1514),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1514),
    [sym_value_parameter_pack] = STATE(1514),
    [sym_value_pack_expansion] = STATE(1514),
    [sym__referenceable_operator] = STATE(1514),
    [sym__equal_sign] = STATE(1514),
    [sym__eq_eq] = STATE(1514),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(5018),
    [sym_type_modifiers] = STATE(4630),
    [sym__parameter_ownership_modifier] = STATE(845),
    [sym_directive] = STATE(1514),
    [sym_diagnostic] = STATE(1514),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(5018),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(755),
    [aux_sym_simple_identifier_token2] = ACTIONS(757),
    [aux_sym_simple_identifier_token3] = ACTIONS(757),
    [aux_sym_simple_identifier_token4] = ACTIONS(757),
    [anon_sym_actor] = ACTIONS(755),
    [anon_sym_async] = ACTIONS(755),
    [anon_sym_each] = ACTIONS(801),
    [anon_sym_lazy] = ACTIONS(755),
    [anon_sym_repeat] = ACTIONS(803),
    [anon_sym_package] = ACTIONS(755),
    [anon_sym_nil] = ACTIONS(843),
    [sym_real_literal] = ACTIONS(845),
    [sym_integer_literal] = ACTIONS(843),
    [sym_hex_literal] = ACTIONS(843),
    [sym_oct_literal] = ACTIONS(845),
    [sym_bin_literal] = ACTIONS(845),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_COLON] = ACTIONS(847),
    [anon_sym_LPAREN] = ACTIONS(767),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_RBRACK] = ACTIONS(849),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(775),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(843),
    [anon_sym_GT] = ACTIONS(843),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(845),
    [anon_sym_DASH_EQ] = ACTIONS(845),
    [anon_sym_STAR_EQ] = ACTIONS(845),
    [anon_sym_SLASH_EQ] = ACTIONS(845),
    [anon_sym_PERCENT_EQ] = ACTIONS(845),
    [anon_sym_BANG_EQ] = ACTIONS(843),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(845),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(845),
    [anon_sym_LT_EQ] = ACTIONS(845),
    [anon_sym_GT_EQ] = ACTIONS(845),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(843),
    [anon_sym_SLASH] = ACTIONS(843),
    [anon_sym_PERCENT] = ACTIONS(843),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(845),
    [anon_sym_CARET] = ACTIONS(843),
    [anon_sym_LT_LT] = ACTIONS(845),
    [anon_sym_GT_GT] = ACTIONS(845),
    [anon_sym_AT] = ACTIONS(829),
    [anon_sym_borrowing] = ACTIONS(755),
    [anon_sym_consuming] = ACTIONS(755),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(845),
    [sym__eq_eq_custom] = ACTIONS(845),
    [sym__plus_then_ws] = ACTIONS(845),
    [sym__minus_then_ws] = ACTIONS(845),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [142] = {
    [sym_simple_identifier] = STATE(2189),
    [sym__contextual_simple_identifier] = STATE(845),
    [sym__basic_literal] = STATE(1521),
    [sym_boolean_literal] = STATE(1521),
    [sym__string_literal] = STATE(1521),
    [sym_line_string_literal] = STATE(1521),
    [sym_multi_line_string_literal] = STATE(1521),
    [sym_raw_string_literal] = STATE(1521),
    [sym_regex_literal] = STATE(1521),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym__type] = STATE(8613),
    [sym__unannotated_type] = STATE(5247),
    [sym_user_type] = STATE(4976),
    [sym__simple_user_type] = STATE(5148),
    [sym_tuple_type] = STATE(5106),
    [sym_function_type] = STATE(5247),
    [sym_array_type] = STATE(4976),
    [sym_dictionary_type] = STATE(4976),
    [sym_optional_type] = STATE(5247),
    [sym_metatype] = STATE(5247),
    [sym_opaque_type] = STATE(5247),
    [sym_existential_type] = STATE(5247),
    [sym_type_parameter_pack] = STATE(5247),
    [sym_type_pack_expansion] = STATE(5247),
    [sym_protocol_composition_type] = STATE(5247),
    [sym_suppressed_constraint] = STATE(5247),
    [sym__expression] = STATE(1521),
    [sym__unary_expression] = STATE(1521),
    [sym_postfix_expression] = STATE(1521),
    [sym_constructor_expression] = STATE(1521),
    [sym__parenthesized_type] = STATE(5565),
    [sym_navigation_expression] = STATE(1521),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1521),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1521),
    [sym_prefix_expression] = STATE(1521),
    [sym_as_expression] = STATE(1521),
    [sym_selector_expression] = STATE(1521),
    [sym__binary_expression] = STATE(1521),
    [sym_multiplicative_expression] = STATE(1521),
    [sym_additive_expression] = STATE(1521),
    [sym_range_expression] = STATE(1521),
    [sym_infix_expression] = STATE(1521),
    [sym_nil_coalescing_expression] = STATE(1521),
    [sym_check_expression] = STATE(1521),
    [sym_comparison_expression] = STATE(1521),
    [sym_equality_expression] = STATE(1521),
    [sym_conjunction_expression] = STATE(1521),
    [sym_disjunction_expression] = STATE(1521),
    [sym_bitwise_operation] = STATE(1521),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1521),
    [sym_await_expression] = STATE(1521),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1521),
    [sym_call_expression] = STATE(1521),
    [sym_macro_invocation] = STATE(1521),
    [sym__primary_expression] = STATE(1521),
    [sym_tuple_expression] = STATE(1521),
    [sym_array_literal] = STATE(1521),
    [sym_dictionary_literal] = STATE(1521),
    [sym__dictionary_literal_item] = STATE(7719),
    [sym_special_literal] = STATE(1521),
    [sym_playground_literal] = STATE(1521),
    [sym_lambda_literal] = STATE(1521),
    [sym_self_expression] = STATE(1521),
    [sym_super_expression] = STATE(1521),
    [sym_if_statement] = STATE(1521),
    [sym_switch_statement] = STATE(1521),
    [sym_key_path_expression] = STATE(1521),
    [sym_key_path_string_expression] = STATE(1521),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1521),
    [sym__equality_operator] = STATE(1521),
    [sym__comparison_operator] = STATE(1521),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1521),
    [sym__multiplicative_operator] = STATE(1521),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1521),
    [sym_value_parameter_pack] = STATE(1521),
    [sym_value_pack_expansion] = STATE(1521),
    [sym__referenceable_operator] = STATE(1521),
    [sym__equal_sign] = STATE(1521),
    [sym__eq_eq] = STATE(1521),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(5018),
    [sym_type_modifiers] = STATE(4630),
    [sym__parameter_ownership_modifier] = STATE(845),
    [sym_directive] = STATE(1521),
    [sym_diagnostic] = STATE(1521),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(5018),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(755),
    [aux_sym_simple_identifier_token2] = ACTIONS(757),
    [aux_sym_simple_identifier_token3] = ACTIONS(757),
    [aux_sym_simple_identifier_token4] = ACTIONS(757),
    [anon_sym_actor] = ACTIONS(755),
    [anon_sym_async] = ACTIONS(755),
    [anon_sym_each] = ACTIONS(801),
    [anon_sym_lazy] = ACTIONS(755),
    [anon_sym_repeat] = ACTIONS(803),
    [anon_sym_package] = ACTIONS(755),
    [anon_sym_nil] = ACTIONS(821),
    [sym_real_literal] = ACTIONS(823),
    [sym_integer_literal] = ACTIONS(821),
    [sym_hex_literal] = ACTIONS(821),
    [sym_oct_literal] = ACTIONS(823),
    [sym_bin_literal] = ACTIONS(823),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_COLON] = ACTIONS(825),
    [anon_sym_LPAREN] = ACTIONS(767),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_RBRACK] = ACTIONS(827),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(775),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(821),
    [anon_sym_GT] = ACTIONS(821),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(823),
    [anon_sym_DASH_EQ] = ACTIONS(823),
    [anon_sym_STAR_EQ] = ACTIONS(823),
    [anon_sym_SLASH_EQ] = ACTIONS(823),
    [anon_sym_PERCENT_EQ] = ACTIONS(823),
    [anon_sym_BANG_EQ] = ACTIONS(821),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(823),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(823),
    [anon_sym_LT_EQ] = ACTIONS(823),
    [anon_sym_GT_EQ] = ACTIONS(823),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(821),
    [anon_sym_SLASH] = ACTIONS(821),
    [anon_sym_PERCENT] = ACTIONS(821),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(823),
    [anon_sym_CARET] = ACTIONS(821),
    [anon_sym_LT_LT] = ACTIONS(823),
    [anon_sym_GT_GT] = ACTIONS(823),
    [anon_sym_AT] = ACTIONS(829),
    [anon_sym_borrowing] = ACTIONS(755),
    [anon_sym_consuming] = ACTIONS(755),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(823),
    [sym__eq_eq_custom] = ACTIONS(823),
    [sym__plus_then_ws] = ACTIONS(823),
    [sym__minus_then_ws] = ACTIONS(823),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [143] = {
    [sym_simple_identifier] = STATE(2189),
    [sym__contextual_simple_identifier] = STATE(845),
    [sym__basic_literal] = STATE(1512),
    [sym_boolean_literal] = STATE(1512),
    [sym__string_literal] = STATE(1512),
    [sym_line_string_literal] = STATE(1512),
    [sym_multi_line_string_literal] = STATE(1512),
    [sym_raw_string_literal] = STATE(1512),
    [sym_regex_literal] = STATE(1512),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym__type] = STATE(8613),
    [sym__unannotated_type] = STATE(5247),
    [sym_user_type] = STATE(4976),
    [sym__simple_user_type] = STATE(5148),
    [sym_tuple_type] = STATE(5106),
    [sym_function_type] = STATE(5247),
    [sym_array_type] = STATE(4976),
    [sym_dictionary_type] = STATE(4976),
    [sym_optional_type] = STATE(5247),
    [sym_metatype] = STATE(5247),
    [sym_opaque_type] = STATE(5247),
    [sym_existential_type] = STATE(5247),
    [sym_type_parameter_pack] = STATE(5247),
    [sym_type_pack_expansion] = STATE(5247),
    [sym_protocol_composition_type] = STATE(5247),
    [sym_suppressed_constraint] = STATE(5247),
    [sym__expression] = STATE(1512),
    [sym__unary_expression] = STATE(1512),
    [sym_postfix_expression] = STATE(1512),
    [sym_constructor_expression] = STATE(1512),
    [sym__parenthesized_type] = STATE(5565),
    [sym_navigation_expression] = STATE(1512),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1512),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1512),
    [sym_prefix_expression] = STATE(1512),
    [sym_as_expression] = STATE(1512),
    [sym_selector_expression] = STATE(1512),
    [sym__binary_expression] = STATE(1512),
    [sym_multiplicative_expression] = STATE(1512),
    [sym_additive_expression] = STATE(1512),
    [sym_range_expression] = STATE(1512),
    [sym_infix_expression] = STATE(1512),
    [sym_nil_coalescing_expression] = STATE(1512),
    [sym_check_expression] = STATE(1512),
    [sym_comparison_expression] = STATE(1512),
    [sym_equality_expression] = STATE(1512),
    [sym_conjunction_expression] = STATE(1512),
    [sym_disjunction_expression] = STATE(1512),
    [sym_bitwise_operation] = STATE(1512),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1512),
    [sym_await_expression] = STATE(1512),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1512),
    [sym_call_expression] = STATE(1512),
    [sym_macro_invocation] = STATE(1512),
    [sym__primary_expression] = STATE(1512),
    [sym_tuple_expression] = STATE(1512),
    [sym_array_literal] = STATE(1512),
    [sym_dictionary_literal] = STATE(1512),
    [sym__dictionary_literal_item] = STATE(7566),
    [sym_special_literal] = STATE(1512),
    [sym_playground_literal] = STATE(1512),
    [sym_lambda_literal] = STATE(1512),
    [sym_self_expression] = STATE(1512),
    [sym_super_expression] = STATE(1512),
    [sym_if_statement] = STATE(1512),
    [sym_switch_statement] = STATE(1512),
    [sym_key_path_expression] = STATE(1512),
    [sym_key_path_string_expression] = STATE(1512),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1512),
    [sym__equality_operator] = STATE(1512),
    [sym__comparison_operator] = STATE(1512),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1512),
    [sym__multiplicative_operator] = STATE(1512),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1512),
    [sym_value_parameter_pack] = STATE(1512),
    [sym_value_pack_expansion] = STATE(1512),
    [sym__referenceable_operator] = STATE(1512),
    [sym__equal_sign] = STATE(1512),
    [sym__eq_eq] = STATE(1512),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(5018),
    [sym_type_modifiers] = STATE(4630),
    [sym__parameter_ownership_modifier] = STATE(845),
    [sym_directive] = STATE(1512),
    [sym_diagnostic] = STATE(1512),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(5018),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(755),
    [aux_sym_simple_identifier_token2] = ACTIONS(757),
    [aux_sym_simple_identifier_token3] = ACTIONS(757),
    [aux_sym_simple_identifier_token4] = ACTIONS(757),
    [anon_sym_actor] = ACTIONS(755),
    [anon_sym_async] = ACTIONS(755),
    [anon_sym_each] = ACTIONS(801),
    [anon_sym_lazy] = ACTIONS(755),
    [anon_sym_repeat] = ACTIONS(803),
    [anon_sym_package] = ACTIONS(755),
    [anon_sym_nil] = ACTIONS(851),
    [sym_real_literal] = ACTIONS(853),
    [sym_integer_literal] = ACTIONS(851),
    [sym_hex_literal] = ACTIONS(851),
    [sym_oct_literal] = ACTIONS(853),
    [sym_bin_literal] = ACTIONS(853),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_COLON] = ACTIONS(855),
    [anon_sym_LPAREN] = ACTIONS(767),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_RBRACK] = ACTIONS(857),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(775),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(851),
    [anon_sym_GT] = ACTIONS(851),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(853),
    [anon_sym_DASH_EQ] = ACTIONS(853),
    [anon_sym_STAR_EQ] = ACTIONS(853),
    [anon_sym_SLASH_EQ] = ACTIONS(853),
    [anon_sym_PERCENT_EQ] = ACTIONS(853),
    [anon_sym_BANG_EQ] = ACTIONS(851),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(853),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(853),
    [anon_sym_LT_EQ] = ACTIONS(853),
    [anon_sym_GT_EQ] = ACTIONS(853),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(851),
    [anon_sym_SLASH] = ACTIONS(851),
    [anon_sym_PERCENT] = ACTIONS(851),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(853),
    [anon_sym_CARET] = ACTIONS(851),
    [anon_sym_LT_LT] = ACTIONS(853),
    [anon_sym_GT_GT] = ACTIONS(853),
    [anon_sym_AT] = ACTIONS(829),
    [anon_sym_borrowing] = ACTIONS(755),
    [anon_sym_consuming] = ACTIONS(755),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(853),
    [sym__eq_eq_custom] = ACTIONS(853),
    [sym__plus_then_ws] = ACTIONS(853),
    [sym__minus_then_ws] = ACTIONS(853),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [144] = {
    [sym_simple_identifier] = STATE(2189),
    [sym__contextual_simple_identifier] = STATE(845),
    [sym__basic_literal] = STATE(1516),
    [sym_boolean_literal] = STATE(1516),
    [sym__string_literal] = STATE(1516),
    [sym_line_string_literal] = STATE(1516),
    [sym_multi_line_string_literal] = STATE(1516),
    [sym_raw_string_literal] = STATE(1516),
    [sym_regex_literal] = STATE(1516),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym__type] = STATE(8613),
    [sym__unannotated_type] = STATE(5247),
    [sym_user_type] = STATE(4976),
    [sym__simple_user_type] = STATE(5148),
    [sym_tuple_type] = STATE(5106),
    [sym_function_type] = STATE(5247),
    [sym_array_type] = STATE(4976),
    [sym_dictionary_type] = STATE(4976),
    [sym_optional_type] = STATE(5247),
    [sym_metatype] = STATE(5247),
    [sym_opaque_type] = STATE(5247),
    [sym_existential_type] = STATE(5247),
    [sym_type_parameter_pack] = STATE(5247),
    [sym_type_pack_expansion] = STATE(5247),
    [sym_protocol_composition_type] = STATE(5247),
    [sym_suppressed_constraint] = STATE(5247),
    [sym__expression] = STATE(1516),
    [sym__unary_expression] = STATE(1516),
    [sym_postfix_expression] = STATE(1516),
    [sym_constructor_expression] = STATE(1516),
    [sym__parenthesized_type] = STATE(5565),
    [sym_navigation_expression] = STATE(1516),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1516),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1516),
    [sym_prefix_expression] = STATE(1516),
    [sym_as_expression] = STATE(1516),
    [sym_selector_expression] = STATE(1516),
    [sym__binary_expression] = STATE(1516),
    [sym_multiplicative_expression] = STATE(1516),
    [sym_additive_expression] = STATE(1516),
    [sym_range_expression] = STATE(1516),
    [sym_infix_expression] = STATE(1516),
    [sym_nil_coalescing_expression] = STATE(1516),
    [sym_check_expression] = STATE(1516),
    [sym_comparison_expression] = STATE(1516),
    [sym_equality_expression] = STATE(1516),
    [sym_conjunction_expression] = STATE(1516),
    [sym_disjunction_expression] = STATE(1516),
    [sym_bitwise_operation] = STATE(1516),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1516),
    [sym_await_expression] = STATE(1516),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1516),
    [sym_call_expression] = STATE(1516),
    [sym_macro_invocation] = STATE(1516),
    [sym__primary_expression] = STATE(1516),
    [sym_tuple_expression] = STATE(1516),
    [sym_array_literal] = STATE(1516),
    [sym_dictionary_literal] = STATE(1516),
    [sym__dictionary_literal_item] = STATE(7683),
    [sym_special_literal] = STATE(1516),
    [sym_playground_literal] = STATE(1516),
    [sym_lambda_literal] = STATE(1516),
    [sym_self_expression] = STATE(1516),
    [sym_super_expression] = STATE(1516),
    [sym_if_statement] = STATE(1516),
    [sym_switch_statement] = STATE(1516),
    [sym_key_path_expression] = STATE(1516),
    [sym_key_path_string_expression] = STATE(1516),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1516),
    [sym__equality_operator] = STATE(1516),
    [sym__comparison_operator] = STATE(1516),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1516),
    [sym__multiplicative_operator] = STATE(1516),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1516),
    [sym_value_parameter_pack] = STATE(1516),
    [sym_value_pack_expansion] = STATE(1516),
    [sym__referenceable_operator] = STATE(1516),
    [sym__equal_sign] = STATE(1516),
    [sym__eq_eq] = STATE(1516),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(5018),
    [sym_type_modifiers] = STATE(4630),
    [sym__parameter_ownership_modifier] = STATE(845),
    [sym_directive] = STATE(1516),
    [sym_diagnostic] = STATE(1516),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(5018),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(755),
    [aux_sym_simple_identifier_token2] = ACTIONS(757),
    [aux_sym_simple_identifier_token3] = ACTIONS(757),
    [aux_sym_simple_identifier_token4] = ACTIONS(757),
    [anon_sym_actor] = ACTIONS(755),
    [anon_sym_async] = ACTIONS(755),
    [anon_sym_each] = ACTIONS(801),
    [anon_sym_lazy] = ACTIONS(755),
    [anon_sym_repeat] = ACTIONS(803),
    [anon_sym_package] = ACTIONS(755),
    [anon_sym_nil] = ACTIONS(859),
    [sym_real_literal] = ACTIONS(861),
    [sym_integer_literal] = ACTIONS(859),
    [sym_hex_literal] = ACTIONS(859),
    [sym_oct_literal] = ACTIONS(861),
    [sym_bin_literal] = ACTIONS(861),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_COLON] = ACTIONS(863),
    [anon_sym_LPAREN] = ACTIONS(767),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_RBRACK] = ACTIONS(865),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(775),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(859),
    [anon_sym_GT] = ACTIONS(859),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(861),
    [anon_sym_DASH_EQ] = ACTIONS(861),
    [anon_sym_STAR_EQ] = ACTIONS(861),
    [anon_sym_SLASH_EQ] = ACTIONS(861),
    [anon_sym_PERCENT_EQ] = ACTIONS(861),
    [anon_sym_BANG_EQ] = ACTIONS(859),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(861),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(861),
    [anon_sym_LT_EQ] = ACTIONS(861),
    [anon_sym_GT_EQ] = ACTIONS(861),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(859),
    [anon_sym_SLASH] = ACTIONS(859),
    [anon_sym_PERCENT] = ACTIONS(859),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(861),
    [anon_sym_CARET] = ACTIONS(859),
    [anon_sym_LT_LT] = ACTIONS(861),
    [anon_sym_GT_GT] = ACTIONS(861),
    [anon_sym_AT] = ACTIONS(829),
    [anon_sym_borrowing] = ACTIONS(755),
    [anon_sym_consuming] = ACTIONS(755),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(861),
    [sym__eq_eq_custom] = ACTIONS(861),
    [sym__plus_then_ws] = ACTIONS(861),
    [sym__minus_then_ws] = ACTIONS(861),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [145] = {
    [sym_simple_identifier] = STATE(2189),
    [sym__contextual_simple_identifier] = STATE(845),
    [sym__basic_literal] = STATE(1487),
    [sym_boolean_literal] = STATE(1487),
    [sym__string_literal] = STATE(1487),
    [sym_line_string_literal] = STATE(1487),
    [sym_multi_line_string_literal] = STATE(1487),
    [sym_raw_string_literal] = STATE(1487),
    [sym_regex_literal] = STATE(1487),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym__type] = STATE(8613),
    [sym__unannotated_type] = STATE(5247),
    [sym_user_type] = STATE(4976),
    [sym__simple_user_type] = STATE(5148),
    [sym_tuple_type] = STATE(5106),
    [sym_function_type] = STATE(5247),
    [sym_array_type] = STATE(4976),
    [sym_dictionary_type] = STATE(4976),
    [sym_optional_type] = STATE(5247),
    [sym_metatype] = STATE(5247),
    [sym_opaque_type] = STATE(5247),
    [sym_existential_type] = STATE(5247),
    [sym_type_parameter_pack] = STATE(5247),
    [sym_type_pack_expansion] = STATE(5247),
    [sym_protocol_composition_type] = STATE(5247),
    [sym_suppressed_constraint] = STATE(5247),
    [sym__expression] = STATE(1487),
    [sym__unary_expression] = STATE(1487),
    [sym_postfix_expression] = STATE(1487),
    [sym_constructor_expression] = STATE(1487),
    [sym__parenthesized_type] = STATE(5565),
    [sym_navigation_expression] = STATE(1487),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1487),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1487),
    [sym_prefix_expression] = STATE(1487),
    [sym_as_expression] = STATE(1487),
    [sym_selector_expression] = STATE(1487),
    [sym__binary_expression] = STATE(1487),
    [sym_multiplicative_expression] = STATE(1487),
    [sym_additive_expression] = STATE(1487),
    [sym_range_expression] = STATE(1487),
    [sym_infix_expression] = STATE(1487),
    [sym_nil_coalescing_expression] = STATE(1487),
    [sym_check_expression] = STATE(1487),
    [sym_comparison_expression] = STATE(1487),
    [sym_equality_expression] = STATE(1487),
    [sym_conjunction_expression] = STATE(1487),
    [sym_disjunction_expression] = STATE(1487),
    [sym_bitwise_operation] = STATE(1487),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1487),
    [sym_await_expression] = STATE(1487),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1487),
    [sym_call_expression] = STATE(1487),
    [sym_macro_invocation] = STATE(1487),
    [sym__primary_expression] = STATE(1487),
    [sym_tuple_expression] = STATE(1487),
    [sym_array_literal] = STATE(1487),
    [sym_dictionary_literal] = STATE(1487),
    [sym__dictionary_literal_item] = STATE(8048),
    [sym_special_literal] = STATE(1487),
    [sym_playground_literal] = STATE(1487),
    [sym_lambda_literal] = STATE(1487),
    [sym_self_expression] = STATE(1487),
    [sym_super_expression] = STATE(1487),
    [sym_if_statement] = STATE(1487),
    [sym_switch_statement] = STATE(1487),
    [sym_key_path_expression] = STATE(1487),
    [sym_key_path_string_expression] = STATE(1487),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1487),
    [sym__equality_operator] = STATE(1487),
    [sym__comparison_operator] = STATE(1487),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1487),
    [sym__multiplicative_operator] = STATE(1487),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1487),
    [sym_value_parameter_pack] = STATE(1487),
    [sym_value_pack_expansion] = STATE(1487),
    [sym__referenceable_operator] = STATE(1487),
    [sym__equal_sign] = STATE(1487),
    [sym__eq_eq] = STATE(1487),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(5018),
    [sym_type_modifiers] = STATE(4630),
    [sym__parameter_ownership_modifier] = STATE(845),
    [sym_directive] = STATE(1487),
    [sym_diagnostic] = STATE(1487),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(5018),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(755),
    [aux_sym_simple_identifier_token2] = ACTIONS(757),
    [aux_sym_simple_identifier_token3] = ACTIONS(757),
    [aux_sym_simple_identifier_token4] = ACTIONS(757),
    [anon_sym_actor] = ACTIONS(755),
    [anon_sym_async] = ACTIONS(755),
    [anon_sym_each] = ACTIONS(801),
    [anon_sym_lazy] = ACTIONS(755),
    [anon_sym_repeat] = ACTIONS(803),
    [anon_sym_package] = ACTIONS(755),
    [anon_sym_nil] = ACTIONS(867),
    [sym_real_literal] = ACTIONS(869),
    [sym_integer_literal] = ACTIONS(867),
    [sym_hex_literal] = ACTIONS(867),
    [sym_oct_literal] = ACTIONS(869),
    [sym_bin_literal] = ACTIONS(869),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_COLON] = ACTIONS(871),
    [anon_sym_LPAREN] = ACTIONS(767),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_RBRACK] = ACTIONS(873),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(775),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(867),
    [anon_sym_GT] = ACTIONS(867),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(869),
    [anon_sym_DASH_EQ] = ACTIONS(869),
    [anon_sym_STAR_EQ] = ACTIONS(869),
    [anon_sym_SLASH_EQ] = ACTIONS(869),
    [anon_sym_PERCENT_EQ] = ACTIONS(869),
    [anon_sym_BANG_EQ] = ACTIONS(867),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(869),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(869),
    [anon_sym_LT_EQ] = ACTIONS(869),
    [anon_sym_GT_EQ] = ACTIONS(869),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(867),
    [anon_sym_SLASH] = ACTIONS(867),
    [anon_sym_PERCENT] = ACTIONS(867),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(869),
    [anon_sym_CARET] = ACTIONS(867),
    [anon_sym_LT_LT] = ACTIONS(869),
    [anon_sym_GT_GT] = ACTIONS(869),
    [anon_sym_AT] = ACTIONS(829),
    [anon_sym_borrowing] = ACTIONS(755),
    [anon_sym_consuming] = ACTIONS(755),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(869),
    [sym__eq_eq_custom] = ACTIONS(869),
    [sym__plus_then_ws] = ACTIONS(869),
    [sym__minus_then_ws] = ACTIONS(869),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [146] = {
    [sym_simple_identifier] = STATE(2189),
    [sym__contextual_simple_identifier] = STATE(845),
    [sym__basic_literal] = STATE(1508),
    [sym_boolean_literal] = STATE(1508),
    [sym__string_literal] = STATE(1508),
    [sym_line_string_literal] = STATE(1508),
    [sym_multi_line_string_literal] = STATE(1508),
    [sym_raw_string_literal] = STATE(1508),
    [sym_regex_literal] = STATE(1508),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym__type] = STATE(8613),
    [sym__unannotated_type] = STATE(5247),
    [sym_user_type] = STATE(4976),
    [sym__simple_user_type] = STATE(5148),
    [sym_tuple_type] = STATE(5106),
    [sym_function_type] = STATE(5247),
    [sym_array_type] = STATE(4976),
    [sym_dictionary_type] = STATE(4976),
    [sym_optional_type] = STATE(5247),
    [sym_metatype] = STATE(5247),
    [sym_opaque_type] = STATE(5247),
    [sym_existential_type] = STATE(5247),
    [sym_type_parameter_pack] = STATE(5247),
    [sym_type_pack_expansion] = STATE(5247),
    [sym_protocol_composition_type] = STATE(5247),
    [sym_suppressed_constraint] = STATE(5247),
    [sym__expression] = STATE(1508),
    [sym__unary_expression] = STATE(1508),
    [sym_postfix_expression] = STATE(1508),
    [sym_constructor_expression] = STATE(1508),
    [sym__parenthesized_type] = STATE(5565),
    [sym_navigation_expression] = STATE(1508),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1508),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1508),
    [sym_prefix_expression] = STATE(1508),
    [sym_as_expression] = STATE(1508),
    [sym_selector_expression] = STATE(1508),
    [sym__binary_expression] = STATE(1508),
    [sym_multiplicative_expression] = STATE(1508),
    [sym_additive_expression] = STATE(1508),
    [sym_range_expression] = STATE(1508),
    [sym_infix_expression] = STATE(1508),
    [sym_nil_coalescing_expression] = STATE(1508),
    [sym_check_expression] = STATE(1508),
    [sym_comparison_expression] = STATE(1508),
    [sym_equality_expression] = STATE(1508),
    [sym_conjunction_expression] = STATE(1508),
    [sym_disjunction_expression] = STATE(1508),
    [sym_bitwise_operation] = STATE(1508),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1508),
    [sym_await_expression] = STATE(1508),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1508),
    [sym_call_expression] = STATE(1508),
    [sym_macro_invocation] = STATE(1508),
    [sym__primary_expression] = STATE(1508),
    [sym_tuple_expression] = STATE(1508),
    [sym_array_literal] = STATE(1508),
    [sym_dictionary_literal] = STATE(1508),
    [sym__dictionary_literal_item] = STATE(8176),
    [sym_special_literal] = STATE(1508),
    [sym_playground_literal] = STATE(1508),
    [sym_lambda_literal] = STATE(1508),
    [sym_self_expression] = STATE(1508),
    [sym_super_expression] = STATE(1508),
    [sym_if_statement] = STATE(1508),
    [sym_switch_statement] = STATE(1508),
    [sym_key_path_expression] = STATE(1508),
    [sym_key_path_string_expression] = STATE(1508),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1508),
    [sym__equality_operator] = STATE(1508),
    [sym__comparison_operator] = STATE(1508),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1508),
    [sym__multiplicative_operator] = STATE(1508),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1508),
    [sym_value_parameter_pack] = STATE(1508),
    [sym_value_pack_expansion] = STATE(1508),
    [sym__referenceable_operator] = STATE(1508),
    [sym__equal_sign] = STATE(1508),
    [sym__eq_eq] = STATE(1508),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(5018),
    [sym_type_modifiers] = STATE(4630),
    [sym__parameter_ownership_modifier] = STATE(845),
    [sym_directive] = STATE(1508),
    [sym_diagnostic] = STATE(1508),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(5018),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(755),
    [aux_sym_simple_identifier_token2] = ACTIONS(757),
    [aux_sym_simple_identifier_token3] = ACTIONS(757),
    [aux_sym_simple_identifier_token4] = ACTIONS(757),
    [anon_sym_actor] = ACTIONS(755),
    [anon_sym_async] = ACTIONS(755),
    [anon_sym_each] = ACTIONS(801),
    [anon_sym_lazy] = ACTIONS(755),
    [anon_sym_repeat] = ACTIONS(803),
    [anon_sym_package] = ACTIONS(755),
    [anon_sym_nil] = ACTIONS(875),
    [sym_real_literal] = ACTIONS(877),
    [sym_integer_literal] = ACTIONS(875),
    [sym_hex_literal] = ACTIONS(875),
    [sym_oct_literal] = ACTIONS(877),
    [sym_bin_literal] = ACTIONS(877),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_COLON] = ACTIONS(879),
    [anon_sym_LPAREN] = ACTIONS(767),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_RBRACK] = ACTIONS(881),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(775),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(875),
    [anon_sym_GT] = ACTIONS(875),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(877),
    [anon_sym_DASH_EQ] = ACTIONS(877),
    [anon_sym_STAR_EQ] = ACTIONS(877),
    [anon_sym_SLASH_EQ] = ACTIONS(877),
    [anon_sym_PERCENT_EQ] = ACTIONS(877),
    [anon_sym_BANG_EQ] = ACTIONS(875),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(877),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(877),
    [anon_sym_LT_EQ] = ACTIONS(877),
    [anon_sym_GT_EQ] = ACTIONS(877),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(875),
    [anon_sym_SLASH] = ACTIONS(875),
    [anon_sym_PERCENT] = ACTIONS(875),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(877),
    [anon_sym_CARET] = ACTIONS(875),
    [anon_sym_LT_LT] = ACTIONS(877),
    [anon_sym_GT_GT] = ACTIONS(877),
    [anon_sym_AT] = ACTIONS(829),
    [anon_sym_borrowing] = ACTIONS(755),
    [anon_sym_consuming] = ACTIONS(755),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(877),
    [sym__eq_eq_custom] = ACTIONS(877),
    [sym__plus_then_ws] = ACTIONS(877),
    [sym__minus_then_ws] = ACTIONS(877),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [147] = {
    [sym_simple_identifier] = STATE(2189),
    [sym__contextual_simple_identifier] = STATE(845),
    [sym__basic_literal] = STATE(1520),
    [sym_boolean_literal] = STATE(1520),
    [sym__string_literal] = STATE(1520),
    [sym_line_string_literal] = STATE(1520),
    [sym_multi_line_string_literal] = STATE(1520),
    [sym_raw_string_literal] = STATE(1520),
    [sym_regex_literal] = STATE(1520),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym__type] = STATE(8613),
    [sym__unannotated_type] = STATE(5247),
    [sym_user_type] = STATE(4976),
    [sym__simple_user_type] = STATE(5148),
    [sym_tuple_type] = STATE(5106),
    [sym_function_type] = STATE(5247),
    [sym_array_type] = STATE(4976),
    [sym_dictionary_type] = STATE(4976),
    [sym_optional_type] = STATE(5247),
    [sym_metatype] = STATE(5247),
    [sym_opaque_type] = STATE(5247),
    [sym_existential_type] = STATE(5247),
    [sym_type_parameter_pack] = STATE(5247),
    [sym_type_pack_expansion] = STATE(5247),
    [sym_protocol_composition_type] = STATE(5247),
    [sym_suppressed_constraint] = STATE(5247),
    [sym__expression] = STATE(1520),
    [sym__unary_expression] = STATE(1520),
    [sym_postfix_expression] = STATE(1520),
    [sym_constructor_expression] = STATE(1520),
    [sym__parenthesized_type] = STATE(5565),
    [sym_navigation_expression] = STATE(1520),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1520),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1520),
    [sym_prefix_expression] = STATE(1520),
    [sym_as_expression] = STATE(1520),
    [sym_selector_expression] = STATE(1520),
    [sym__binary_expression] = STATE(1520),
    [sym_multiplicative_expression] = STATE(1520),
    [sym_additive_expression] = STATE(1520),
    [sym_range_expression] = STATE(1520),
    [sym_infix_expression] = STATE(1520),
    [sym_nil_coalescing_expression] = STATE(1520),
    [sym_check_expression] = STATE(1520),
    [sym_comparison_expression] = STATE(1520),
    [sym_equality_expression] = STATE(1520),
    [sym_conjunction_expression] = STATE(1520),
    [sym_disjunction_expression] = STATE(1520),
    [sym_bitwise_operation] = STATE(1520),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1520),
    [sym_await_expression] = STATE(1520),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1520),
    [sym_call_expression] = STATE(1520),
    [sym_macro_invocation] = STATE(1520),
    [sym__primary_expression] = STATE(1520),
    [sym_tuple_expression] = STATE(1520),
    [sym_array_literal] = STATE(1520),
    [sym_dictionary_literal] = STATE(1520),
    [sym__dictionary_literal_item] = STATE(7799),
    [sym_special_literal] = STATE(1520),
    [sym_playground_literal] = STATE(1520),
    [sym_lambda_literal] = STATE(1520),
    [sym_self_expression] = STATE(1520),
    [sym_super_expression] = STATE(1520),
    [sym_if_statement] = STATE(1520),
    [sym_switch_statement] = STATE(1520),
    [sym_key_path_expression] = STATE(1520),
    [sym_key_path_string_expression] = STATE(1520),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1520),
    [sym__equality_operator] = STATE(1520),
    [sym__comparison_operator] = STATE(1520),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1520),
    [sym__multiplicative_operator] = STATE(1520),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1520),
    [sym_value_parameter_pack] = STATE(1520),
    [sym_value_pack_expansion] = STATE(1520),
    [sym__referenceable_operator] = STATE(1520),
    [sym__equal_sign] = STATE(1520),
    [sym__eq_eq] = STATE(1520),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(5018),
    [sym_type_modifiers] = STATE(4630),
    [sym__parameter_ownership_modifier] = STATE(845),
    [sym_directive] = STATE(1520),
    [sym_diagnostic] = STATE(1520),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(5018),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(755),
    [aux_sym_simple_identifier_token2] = ACTIONS(757),
    [aux_sym_simple_identifier_token3] = ACTIONS(757),
    [aux_sym_simple_identifier_token4] = ACTIONS(757),
    [anon_sym_actor] = ACTIONS(755),
    [anon_sym_async] = ACTIONS(755),
    [anon_sym_each] = ACTIONS(801),
    [anon_sym_lazy] = ACTIONS(755),
    [anon_sym_repeat] = ACTIONS(803),
    [anon_sym_package] = ACTIONS(755),
    [anon_sym_nil] = ACTIONS(883),
    [sym_real_literal] = ACTIONS(885),
    [sym_integer_literal] = ACTIONS(883),
    [sym_hex_literal] = ACTIONS(883),
    [sym_oct_literal] = ACTIONS(885),
    [sym_bin_literal] = ACTIONS(885),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_COLON] = ACTIONS(887),
    [anon_sym_LPAREN] = ACTIONS(767),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_RBRACK] = ACTIONS(889),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(775),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(883),
    [anon_sym_GT] = ACTIONS(883),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(885),
    [anon_sym_DASH_EQ] = ACTIONS(885),
    [anon_sym_STAR_EQ] = ACTIONS(885),
    [anon_sym_SLASH_EQ] = ACTIONS(885),
    [anon_sym_PERCENT_EQ] = ACTIONS(885),
    [anon_sym_BANG_EQ] = ACTIONS(883),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(885),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(885),
    [anon_sym_LT_EQ] = ACTIONS(885),
    [anon_sym_GT_EQ] = ACTIONS(885),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(883),
    [anon_sym_SLASH] = ACTIONS(883),
    [anon_sym_PERCENT] = ACTIONS(883),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(885),
    [anon_sym_CARET] = ACTIONS(883),
    [anon_sym_LT_LT] = ACTIONS(885),
    [anon_sym_GT_GT] = ACTIONS(885),
    [anon_sym_AT] = ACTIONS(829),
    [anon_sym_borrowing] = ACTIONS(755),
    [anon_sym_consuming] = ACTIONS(755),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(885),
    [sym__eq_eq_custom] = ACTIONS(885),
    [sym__plus_then_ws] = ACTIONS(885),
    [sym__minus_then_ws] = ACTIONS(885),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [148] = {
    [sym_simple_identifier] = STATE(2189),
    [sym__contextual_simple_identifier] = STATE(845),
    [sym__basic_literal] = STATE(1485),
    [sym_boolean_literal] = STATE(1485),
    [sym__string_literal] = STATE(1485),
    [sym_line_string_literal] = STATE(1485),
    [sym_multi_line_string_literal] = STATE(1485),
    [sym_raw_string_literal] = STATE(1485),
    [sym_regex_literal] = STATE(1485),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym__type] = STATE(8613),
    [sym__unannotated_type] = STATE(5247),
    [sym_user_type] = STATE(4976),
    [sym__simple_user_type] = STATE(5148),
    [sym_tuple_type] = STATE(5106),
    [sym_function_type] = STATE(5247),
    [sym_array_type] = STATE(4976),
    [sym_dictionary_type] = STATE(4976),
    [sym_optional_type] = STATE(5247),
    [sym_metatype] = STATE(5247),
    [sym_opaque_type] = STATE(5247),
    [sym_existential_type] = STATE(5247),
    [sym_type_parameter_pack] = STATE(5247),
    [sym_type_pack_expansion] = STATE(5247),
    [sym_protocol_composition_type] = STATE(5247),
    [sym_suppressed_constraint] = STATE(5247),
    [sym__expression] = STATE(1485),
    [sym__unary_expression] = STATE(1485),
    [sym_postfix_expression] = STATE(1485),
    [sym_constructor_expression] = STATE(1485),
    [sym__parenthesized_type] = STATE(5565),
    [sym_navigation_expression] = STATE(1485),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1485),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1485),
    [sym_prefix_expression] = STATE(1485),
    [sym_as_expression] = STATE(1485),
    [sym_selector_expression] = STATE(1485),
    [sym__binary_expression] = STATE(1485),
    [sym_multiplicative_expression] = STATE(1485),
    [sym_additive_expression] = STATE(1485),
    [sym_range_expression] = STATE(1485),
    [sym_infix_expression] = STATE(1485),
    [sym_nil_coalescing_expression] = STATE(1485),
    [sym_check_expression] = STATE(1485),
    [sym_comparison_expression] = STATE(1485),
    [sym_equality_expression] = STATE(1485),
    [sym_conjunction_expression] = STATE(1485),
    [sym_disjunction_expression] = STATE(1485),
    [sym_bitwise_operation] = STATE(1485),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1485),
    [sym_await_expression] = STATE(1485),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1485),
    [sym_call_expression] = STATE(1485),
    [sym_macro_invocation] = STATE(1485),
    [sym__primary_expression] = STATE(1485),
    [sym_tuple_expression] = STATE(1485),
    [sym_array_literal] = STATE(1485),
    [sym_dictionary_literal] = STATE(1485),
    [sym__dictionary_literal_item] = STATE(7502),
    [sym_special_literal] = STATE(1485),
    [sym_playground_literal] = STATE(1485),
    [sym_lambda_literal] = STATE(1485),
    [sym_self_expression] = STATE(1485),
    [sym_super_expression] = STATE(1485),
    [sym_if_statement] = STATE(1485),
    [sym_switch_statement] = STATE(1485),
    [sym_key_path_expression] = STATE(1485),
    [sym_key_path_string_expression] = STATE(1485),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1485),
    [sym__equality_operator] = STATE(1485),
    [sym__comparison_operator] = STATE(1485),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1485),
    [sym__multiplicative_operator] = STATE(1485),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1485),
    [sym_value_parameter_pack] = STATE(1485),
    [sym_value_pack_expansion] = STATE(1485),
    [sym__referenceable_operator] = STATE(1485),
    [sym__equal_sign] = STATE(1485),
    [sym__eq_eq] = STATE(1485),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(5018),
    [sym_type_modifiers] = STATE(4630),
    [sym__parameter_ownership_modifier] = STATE(845),
    [sym_directive] = STATE(1485),
    [sym_diagnostic] = STATE(1485),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(5018),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(755),
    [aux_sym_simple_identifier_token2] = ACTIONS(757),
    [aux_sym_simple_identifier_token3] = ACTIONS(757),
    [aux_sym_simple_identifier_token4] = ACTIONS(757),
    [anon_sym_actor] = ACTIONS(755),
    [anon_sym_async] = ACTIONS(755),
    [anon_sym_each] = ACTIONS(801),
    [anon_sym_lazy] = ACTIONS(755),
    [anon_sym_repeat] = ACTIONS(803),
    [anon_sym_package] = ACTIONS(755),
    [anon_sym_nil] = ACTIONS(891),
    [sym_real_literal] = ACTIONS(893),
    [sym_integer_literal] = ACTIONS(891),
    [sym_hex_literal] = ACTIONS(891),
    [sym_oct_literal] = ACTIONS(893),
    [sym_bin_literal] = ACTIONS(893),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_COLON] = ACTIONS(895),
    [anon_sym_LPAREN] = ACTIONS(767),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_RBRACK] = ACTIONS(897),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(775),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(891),
    [anon_sym_GT] = ACTIONS(891),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(893),
    [anon_sym_DASH_EQ] = ACTIONS(893),
    [anon_sym_STAR_EQ] = ACTIONS(893),
    [anon_sym_SLASH_EQ] = ACTIONS(893),
    [anon_sym_PERCENT_EQ] = ACTIONS(893),
    [anon_sym_BANG_EQ] = ACTIONS(891),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(893),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(893),
    [anon_sym_LT_EQ] = ACTIONS(893),
    [anon_sym_GT_EQ] = ACTIONS(893),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(891),
    [anon_sym_SLASH] = ACTIONS(891),
    [anon_sym_PERCENT] = ACTIONS(891),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(893),
    [anon_sym_CARET] = ACTIONS(891),
    [anon_sym_LT_LT] = ACTIONS(893),
    [anon_sym_GT_GT] = ACTIONS(893),
    [anon_sym_AT] = ACTIONS(829),
    [anon_sym_borrowing] = ACTIONS(755),
    [anon_sym_consuming] = ACTIONS(755),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(893),
    [sym__eq_eq_custom] = ACTIONS(893),
    [sym__plus_then_ws] = ACTIONS(893),
    [sym__minus_then_ws] = ACTIONS(893),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [149] = {
    [sym_simple_identifier] = STATE(2189),
    [sym__contextual_simple_identifier] = STATE(845),
    [sym__basic_literal] = STATE(1522),
    [sym_boolean_literal] = STATE(1522),
    [sym__string_literal] = STATE(1522),
    [sym_line_string_literal] = STATE(1522),
    [sym_multi_line_string_literal] = STATE(1522),
    [sym_raw_string_literal] = STATE(1522),
    [sym_regex_literal] = STATE(1522),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym__type] = STATE(8613),
    [sym__unannotated_type] = STATE(5247),
    [sym_user_type] = STATE(4976),
    [sym__simple_user_type] = STATE(5148),
    [sym_tuple_type] = STATE(5106),
    [sym_function_type] = STATE(5247),
    [sym_array_type] = STATE(4976),
    [sym_dictionary_type] = STATE(4976),
    [sym_optional_type] = STATE(5247),
    [sym_metatype] = STATE(5247),
    [sym_opaque_type] = STATE(5247),
    [sym_existential_type] = STATE(5247),
    [sym_type_parameter_pack] = STATE(5247),
    [sym_type_pack_expansion] = STATE(5247),
    [sym_protocol_composition_type] = STATE(5247),
    [sym_suppressed_constraint] = STATE(5247),
    [sym__expression] = STATE(1522),
    [sym__unary_expression] = STATE(1522),
    [sym_postfix_expression] = STATE(1522),
    [sym_constructor_expression] = STATE(1522),
    [sym__parenthesized_type] = STATE(5565),
    [sym_navigation_expression] = STATE(1522),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1522),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1522),
    [sym_prefix_expression] = STATE(1522),
    [sym_as_expression] = STATE(1522),
    [sym_selector_expression] = STATE(1522),
    [sym__binary_expression] = STATE(1522),
    [sym_multiplicative_expression] = STATE(1522),
    [sym_additive_expression] = STATE(1522),
    [sym_range_expression] = STATE(1522),
    [sym_infix_expression] = STATE(1522),
    [sym_nil_coalescing_expression] = STATE(1522),
    [sym_check_expression] = STATE(1522),
    [sym_comparison_expression] = STATE(1522),
    [sym_equality_expression] = STATE(1522),
    [sym_conjunction_expression] = STATE(1522),
    [sym_disjunction_expression] = STATE(1522),
    [sym_bitwise_operation] = STATE(1522),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1522),
    [sym_await_expression] = STATE(1522),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1522),
    [sym_call_expression] = STATE(1522),
    [sym_macro_invocation] = STATE(1522),
    [sym__primary_expression] = STATE(1522),
    [sym_tuple_expression] = STATE(1522),
    [sym_array_literal] = STATE(1522),
    [sym_dictionary_literal] = STATE(1522),
    [sym__dictionary_literal_item] = STATE(7877),
    [sym_special_literal] = STATE(1522),
    [sym_playground_literal] = STATE(1522),
    [sym_lambda_literal] = STATE(1522),
    [sym_self_expression] = STATE(1522),
    [sym_super_expression] = STATE(1522),
    [sym_if_statement] = STATE(1522),
    [sym_switch_statement] = STATE(1522),
    [sym_key_path_expression] = STATE(1522),
    [sym_key_path_string_expression] = STATE(1522),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1522),
    [sym__equality_operator] = STATE(1522),
    [sym__comparison_operator] = STATE(1522),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1522),
    [sym__multiplicative_operator] = STATE(1522),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1522),
    [sym_value_parameter_pack] = STATE(1522),
    [sym_value_pack_expansion] = STATE(1522),
    [sym__referenceable_operator] = STATE(1522),
    [sym__equal_sign] = STATE(1522),
    [sym__eq_eq] = STATE(1522),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(5018),
    [sym_type_modifiers] = STATE(4630),
    [sym__parameter_ownership_modifier] = STATE(845),
    [sym_directive] = STATE(1522),
    [sym_diagnostic] = STATE(1522),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(5018),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(755),
    [aux_sym_simple_identifier_token2] = ACTIONS(757),
    [aux_sym_simple_identifier_token3] = ACTIONS(757),
    [aux_sym_simple_identifier_token4] = ACTIONS(757),
    [anon_sym_actor] = ACTIONS(755),
    [anon_sym_async] = ACTIONS(755),
    [anon_sym_each] = ACTIONS(801),
    [anon_sym_lazy] = ACTIONS(755),
    [anon_sym_repeat] = ACTIONS(803),
    [anon_sym_package] = ACTIONS(755),
    [anon_sym_nil] = ACTIONS(899),
    [sym_real_literal] = ACTIONS(901),
    [sym_integer_literal] = ACTIONS(899),
    [sym_hex_literal] = ACTIONS(899),
    [sym_oct_literal] = ACTIONS(901),
    [sym_bin_literal] = ACTIONS(901),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_COLON] = ACTIONS(903),
    [anon_sym_LPAREN] = ACTIONS(767),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_RBRACK] = ACTIONS(905),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(775),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(899),
    [anon_sym_GT] = ACTIONS(899),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(901),
    [anon_sym_DASH_EQ] = ACTIONS(901),
    [anon_sym_STAR_EQ] = ACTIONS(901),
    [anon_sym_SLASH_EQ] = ACTIONS(901),
    [anon_sym_PERCENT_EQ] = ACTIONS(901),
    [anon_sym_BANG_EQ] = ACTIONS(899),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(901),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(901),
    [anon_sym_LT_EQ] = ACTIONS(901),
    [anon_sym_GT_EQ] = ACTIONS(901),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(899),
    [anon_sym_SLASH] = ACTIONS(899),
    [anon_sym_PERCENT] = ACTIONS(899),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(901),
    [anon_sym_CARET] = ACTIONS(899),
    [anon_sym_LT_LT] = ACTIONS(901),
    [anon_sym_GT_GT] = ACTIONS(901),
    [anon_sym_AT] = ACTIONS(829),
    [anon_sym_borrowing] = ACTIONS(755),
    [anon_sym_consuming] = ACTIONS(755),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(901),
    [sym__eq_eq_custom] = ACTIONS(901),
    [sym__plus_then_ws] = ACTIONS(901),
    [sym__minus_then_ws] = ACTIONS(901),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [150] = {
    [sym_simple_identifier] = STATE(2189),
    [sym__contextual_simple_identifier] = STATE(845),
    [sym__basic_literal] = STATE(1514),
    [sym_boolean_literal] = STATE(1514),
    [sym__string_literal] = STATE(1514),
    [sym_line_string_literal] = STATE(1514),
    [sym_multi_line_string_literal] = STATE(1514),
    [sym_raw_string_literal] = STATE(1514),
    [sym_regex_literal] = STATE(1514),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym__type] = STATE(8476),
    [sym__unannotated_type] = STATE(5247),
    [sym_user_type] = STATE(4976),
    [sym__simple_user_type] = STATE(5148),
    [sym_tuple_type] = STATE(5106),
    [sym_function_type] = STATE(5247),
    [sym_array_type] = STATE(4976),
    [sym_dictionary_type] = STATE(4976),
    [sym_optional_type] = STATE(5247),
    [sym_metatype] = STATE(5247),
    [sym_opaque_type] = STATE(5247),
    [sym_existential_type] = STATE(5247),
    [sym_type_parameter_pack] = STATE(5247),
    [sym_type_pack_expansion] = STATE(5247),
    [sym_protocol_composition_type] = STATE(5247),
    [sym_suppressed_constraint] = STATE(5247),
    [sym__expression] = STATE(1514),
    [sym__unary_expression] = STATE(1514),
    [sym_postfix_expression] = STATE(1514),
    [sym_constructor_expression] = STATE(1514),
    [sym__parenthesized_type] = STATE(5565),
    [sym_navigation_expression] = STATE(1514),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1514),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1514),
    [sym_prefix_expression] = STATE(1514),
    [sym_as_expression] = STATE(1514),
    [sym_selector_expression] = STATE(1514),
    [sym__binary_expression] = STATE(1514),
    [sym_multiplicative_expression] = STATE(1514),
    [sym_additive_expression] = STATE(1514),
    [sym_range_expression] = STATE(1514),
    [sym_infix_expression] = STATE(1514),
    [sym_nil_coalescing_expression] = STATE(1514),
    [sym_check_expression] = STATE(1514),
    [sym_comparison_expression] = STATE(1514),
    [sym_equality_expression] = STATE(1514),
    [sym_conjunction_expression] = STATE(1514),
    [sym_disjunction_expression] = STATE(1514),
    [sym_bitwise_operation] = STATE(1514),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1514),
    [sym_await_expression] = STATE(1514),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1514),
    [sym_call_expression] = STATE(1514),
    [sym_macro_invocation] = STATE(1514),
    [sym__primary_expression] = STATE(1514),
    [sym_tuple_expression] = STATE(1514),
    [sym_array_literal] = STATE(1514),
    [sym_dictionary_literal] = STATE(1514),
    [sym__dictionary_literal_item] = STATE(7724),
    [sym_special_literal] = STATE(1514),
    [sym_playground_literal] = STATE(1514),
    [sym_lambda_literal] = STATE(1514),
    [sym_self_expression] = STATE(1514),
    [sym_super_expression] = STATE(1514),
    [sym_if_statement] = STATE(1514),
    [sym_switch_statement] = STATE(1514),
    [sym_key_path_expression] = STATE(1514),
    [sym_key_path_string_expression] = STATE(1514),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1514),
    [sym__equality_operator] = STATE(1514),
    [sym__comparison_operator] = STATE(1514),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1514),
    [sym__multiplicative_operator] = STATE(1514),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1514),
    [sym_value_parameter_pack] = STATE(1514),
    [sym_value_pack_expansion] = STATE(1514),
    [sym__referenceable_operator] = STATE(1514),
    [sym__equal_sign] = STATE(1514),
    [sym__eq_eq] = STATE(1514),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(5018),
    [sym_type_modifiers] = STATE(4630),
    [sym__parameter_ownership_modifier] = STATE(845),
    [sym_directive] = STATE(1514),
    [sym_diagnostic] = STATE(1514),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(5018),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(755),
    [aux_sym_simple_identifier_token2] = ACTIONS(757),
    [aux_sym_simple_identifier_token3] = ACTIONS(757),
    [aux_sym_simple_identifier_token4] = ACTIONS(757),
    [anon_sym_actor] = ACTIONS(755),
    [anon_sym_async] = ACTIONS(755),
    [anon_sym_each] = ACTIONS(801),
    [anon_sym_lazy] = ACTIONS(755),
    [anon_sym_repeat] = ACTIONS(803),
    [anon_sym_package] = ACTIONS(755),
    [anon_sym_nil] = ACTIONS(843),
    [sym_real_literal] = ACTIONS(845),
    [sym_integer_literal] = ACTIONS(843),
    [sym_hex_literal] = ACTIONS(843),
    [sym_oct_literal] = ACTIONS(845),
    [sym_bin_literal] = ACTIONS(845),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_COLON] = ACTIONS(847),
    [anon_sym_LPAREN] = ACTIONS(767),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_RBRACK] = ACTIONS(849),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(775),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(843),
    [anon_sym_GT] = ACTIONS(843),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(845),
    [anon_sym_DASH_EQ] = ACTIONS(845),
    [anon_sym_STAR_EQ] = ACTIONS(845),
    [anon_sym_SLASH_EQ] = ACTIONS(845),
    [anon_sym_PERCENT_EQ] = ACTIONS(845),
    [anon_sym_BANG_EQ] = ACTIONS(843),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(845),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(845),
    [anon_sym_LT_EQ] = ACTIONS(845),
    [anon_sym_GT_EQ] = ACTIONS(845),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(843),
    [anon_sym_SLASH] = ACTIONS(843),
    [anon_sym_PERCENT] = ACTIONS(843),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(845),
    [anon_sym_CARET] = ACTIONS(843),
    [anon_sym_LT_LT] = ACTIONS(845),
    [anon_sym_GT_GT] = ACTIONS(845),
    [anon_sym_AT] = ACTIONS(829),
    [anon_sym_borrowing] = ACTIONS(755),
    [anon_sym_consuming] = ACTIONS(755),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(845),
    [sym__eq_eq_custom] = ACTIONS(845),
    [sym__plus_then_ws] = ACTIONS(845),
    [sym__minus_then_ws] = ACTIONS(845),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [151] = {
    [sym_simple_identifier] = STATE(2871),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1570),
    [sym_boolean_literal] = STATE(1570),
    [sym__string_literal] = STATE(1570),
    [sym_line_string_literal] = STATE(1570),
    [sym_multi_line_string_literal] = STATE(1570),
    [sym_raw_string_literal] = STATE(1570),
    [sym_regex_literal] = STATE(1570),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6309),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6292),
    [sym_opaque_type] = STATE(8706),
    [sym_existential_type] = STATE(8706),
    [sym__expression] = STATE(1570),
    [sym__unary_expression] = STATE(1570),
    [sym_postfix_expression] = STATE(1570),
    [sym_constructor_expression] = STATE(1570),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1570),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1570),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1570),
    [sym_prefix_expression] = STATE(1570),
    [sym_as_expression] = STATE(1570),
    [sym_selector_expression] = STATE(1570),
    [sym__binary_expression] = STATE(1570),
    [sym_multiplicative_expression] = STATE(1570),
    [sym_additive_expression] = STATE(1570),
    [sym_range_expression] = STATE(1570),
    [sym_infix_expression] = STATE(1570),
    [sym_nil_coalescing_expression] = STATE(1570),
    [sym_check_expression] = STATE(1570),
    [sym_comparison_expression] = STATE(1570),
    [sym_equality_expression] = STATE(1570),
    [sym_conjunction_expression] = STATE(1570),
    [sym_disjunction_expression] = STATE(1570),
    [sym_bitwise_operation] = STATE(1570),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1570),
    [sym_await_expression] = STATE(1570),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1570),
    [sym_call_expression] = STATE(1570),
    [sym_macro_invocation] = STATE(1570),
    [sym__primary_expression] = STATE(1570),
    [sym_tuple_expression] = STATE(1570),
    [sym_array_literal] = STATE(1570),
    [sym_dictionary_literal] = STATE(1570),
    [sym_special_literal] = STATE(1570),
    [sym_playground_literal] = STATE(1570),
    [sym_lambda_literal] = STATE(1570),
    [sym_self_expression] = STATE(1570),
    [sym_super_expression] = STATE(1570),
    [sym_if_statement] = STATE(1570),
    [sym_switch_statement] = STATE(1570),
    [sym_key_path_expression] = STATE(1570),
    [sym_key_path_string_expression] = STATE(1570),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1570),
    [sym__equality_operator] = STATE(1570),
    [sym__comparison_operator] = STATE(1570),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1570),
    [sym__multiplicative_operator] = STATE(1570),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1570),
    [sym_value_parameter_pack] = STATE(1570),
    [sym_value_pack_expansion] = STATE(1570),
    [sym__referenceable_operator] = STATE(1570),
    [sym__equal_sign] = STATE(1570),
    [sym__eq_eq] = STATE(1570),
    [sym__dot] = STATE(1513),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__universally_allowed_pattern] = STATE(6718),
    [sym__bound_identifier] = STATE(6933),
    [sym__binding_pattern_no_expr] = STATE(8525),
    [sym__binding_pattern_with_expr] = STATE(8636),
    [sym_value_binding_pattern] = STATE(4817),
    [sym__tuple_pattern_item] = STATE(8133),
    [sym__tuple_pattern] = STATE(6718),
    [sym__case_pattern] = STATE(6718),
    [sym__type_casting_pattern] = STATE(6729),
    [sym__binding_pattern] = STATE(6701),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1570),
    [sym_diagnostic] = STATE(1570),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(907),
    [sym_real_literal] = ACTIONS(909),
    [sym_integer_literal] = ACTIONS(907),
    [sym_hex_literal] = ACTIONS(907),
    [sym_oct_literal] = ACTIONS(909),
    [sym_bin_literal] = ACTIONS(909),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(911),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(907),
    [anon_sym_GT] = ACTIONS(907),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(913),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(909),
    [anon_sym_DASH_EQ] = ACTIONS(909),
    [anon_sym_STAR_EQ] = ACTIONS(909),
    [anon_sym_SLASH_EQ] = ACTIONS(909),
    [anon_sym_PERCENT_EQ] = ACTIONS(909),
    [anon_sym_BANG_EQ] = ACTIONS(907),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(909),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(909),
    [anon_sym_LT_EQ] = ACTIONS(909),
    [anon_sym_GT_EQ] = ACTIONS(909),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(915),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(907),
    [anon_sym_SLASH] = ACTIONS(907),
    [anon_sym_PERCENT] = ACTIONS(907),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(909),
    [anon_sym_CARET] = ACTIONS(907),
    [anon_sym_LT_LT] = ACTIONS(909),
    [anon_sym_GT_GT] = ACTIONS(909),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [sym_wildcard_pattern] = ACTIONS(917),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(919),
    [sym__eq_custom] = ACTIONS(909),
    [sym__eq_eq_custom] = ACTIONS(909),
    [sym__plus_then_ws] = ACTIONS(909),
    [sym__minus_then_ws] = ACTIONS(909),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [152] = {
    [sym_simple_identifier] = STATE(2947),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1554),
    [sym_boolean_literal] = STATE(1554),
    [sym__string_literal] = STATE(1554),
    [sym_line_string_literal] = STATE(1554),
    [sym_multi_line_string_literal] = STATE(1554),
    [sym_raw_string_literal] = STATE(1554),
    [sym_regex_literal] = STATE(1554),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6309),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6292),
    [sym_opaque_type] = STATE(8706),
    [sym_existential_type] = STATE(8706),
    [sym__expression] = STATE(1554),
    [sym__unary_expression] = STATE(1554),
    [sym_postfix_expression] = STATE(1554),
    [sym_constructor_expression] = STATE(1554),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1554),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1554),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1554),
    [sym_prefix_expression] = STATE(1554),
    [sym_as_expression] = STATE(1554),
    [sym_selector_expression] = STATE(1554),
    [sym__binary_expression] = STATE(1554),
    [sym_multiplicative_expression] = STATE(1554),
    [sym_additive_expression] = STATE(1554),
    [sym_range_expression] = STATE(1554),
    [sym_infix_expression] = STATE(1554),
    [sym_nil_coalescing_expression] = STATE(1554),
    [sym_check_expression] = STATE(1554),
    [sym_comparison_expression] = STATE(1554),
    [sym_equality_expression] = STATE(1554),
    [sym_conjunction_expression] = STATE(1554),
    [sym_disjunction_expression] = STATE(1554),
    [sym_bitwise_operation] = STATE(1554),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1554),
    [sym_await_expression] = STATE(1554),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1554),
    [sym_call_expression] = STATE(1554),
    [sym_macro_invocation] = STATE(1554),
    [sym__primary_expression] = STATE(1554),
    [sym_tuple_expression] = STATE(1554),
    [sym_array_literal] = STATE(1554),
    [sym_dictionary_literal] = STATE(1554),
    [sym_special_literal] = STATE(1554),
    [sym_playground_literal] = STATE(1554),
    [sym_lambda_literal] = STATE(1554),
    [sym_self_expression] = STATE(1554),
    [sym_super_expression] = STATE(1554),
    [sym_if_statement] = STATE(1554),
    [sym_switch_statement] = STATE(1554),
    [sym_key_path_expression] = STATE(1554),
    [sym_key_path_string_expression] = STATE(1554),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1554),
    [sym__equality_operator] = STATE(1554),
    [sym__comparison_operator] = STATE(1554),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1554),
    [sym__multiplicative_operator] = STATE(1554),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1554),
    [sym_value_parameter_pack] = STATE(1554),
    [sym_value_pack_expansion] = STATE(1554),
    [sym__referenceable_operator] = STATE(1554),
    [sym__equal_sign] = STATE(1554),
    [sym__eq_eq] = STATE(1554),
    [sym__dot] = STATE(1513),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__universally_allowed_pattern] = STATE(6718),
    [sym__bound_identifier] = STATE(6933),
    [sym__binding_pattern_no_expr] = STATE(8525),
    [sym__binding_pattern_with_expr] = STATE(8636),
    [sym_value_binding_pattern] = STATE(4817),
    [sym__tuple_pattern_item] = STATE(8211),
    [sym__tuple_pattern] = STATE(6718),
    [sym__case_pattern] = STATE(6718),
    [sym__type_casting_pattern] = STATE(6729),
    [sym__binding_pattern] = STATE(6701),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1554),
    [sym_diagnostic] = STATE(1554),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(921),
    [sym_real_literal] = ACTIONS(923),
    [sym_integer_literal] = ACTIONS(921),
    [sym_hex_literal] = ACTIONS(921),
    [sym_oct_literal] = ACTIONS(923),
    [sym_bin_literal] = ACTIONS(923),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(911),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(921),
    [anon_sym_GT] = ACTIONS(921),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(913),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(923),
    [anon_sym_DASH_EQ] = ACTIONS(923),
    [anon_sym_STAR_EQ] = ACTIONS(923),
    [anon_sym_SLASH_EQ] = ACTIONS(923),
    [anon_sym_PERCENT_EQ] = ACTIONS(923),
    [anon_sym_BANG_EQ] = ACTIONS(921),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(923),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(923),
    [anon_sym_LT_EQ] = ACTIONS(923),
    [anon_sym_GT_EQ] = ACTIONS(923),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(915),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(921),
    [anon_sym_SLASH] = ACTIONS(921),
    [anon_sym_PERCENT] = ACTIONS(921),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(923),
    [anon_sym_CARET] = ACTIONS(921),
    [anon_sym_LT_LT] = ACTIONS(923),
    [anon_sym_GT_GT] = ACTIONS(923),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [sym_wildcard_pattern] = ACTIONS(917),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(919),
    [sym__eq_custom] = ACTIONS(923),
    [sym__eq_eq_custom] = ACTIONS(923),
    [sym__plus_then_ws] = ACTIONS(923),
    [sym__minus_then_ws] = ACTIONS(923),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [153] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1471),
    [sym_boolean_literal] = STATE(1471),
    [sym__string_literal] = STATE(1471),
    [sym_line_string_literal] = STATE(1471),
    [sym_multi_line_string_literal] = STATE(1471),
    [sym_raw_string_literal] = STATE(1471),
    [sym_regex_literal] = STATE(1471),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1471),
    [sym__unary_expression] = STATE(1471),
    [sym_postfix_expression] = STATE(1471),
    [sym_constructor_expression] = STATE(1471),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1471),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1471),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1471),
    [sym_prefix_expression] = STATE(1471),
    [sym_as_expression] = STATE(1471),
    [sym_selector_expression] = STATE(1471),
    [sym__binary_expression] = STATE(1471),
    [sym_multiplicative_expression] = STATE(1471),
    [sym_additive_expression] = STATE(1471),
    [sym_range_expression] = STATE(1471),
    [sym_infix_expression] = STATE(1471),
    [sym_nil_coalescing_expression] = STATE(1471),
    [sym_check_expression] = STATE(1471),
    [sym_comparison_expression] = STATE(1471),
    [sym_equality_expression] = STATE(1471),
    [sym_conjunction_expression] = STATE(1471),
    [sym_disjunction_expression] = STATE(1471),
    [sym_bitwise_operation] = STATE(1471),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1471),
    [sym_await_expression] = STATE(1471),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1471),
    [sym_call_expression] = STATE(1471),
    [sym_macro_invocation] = STATE(1471),
    [sym__primary_expression] = STATE(1471),
    [sym_tuple_expression] = STATE(1471),
    [sym_array_literal] = STATE(1471),
    [sym_dictionary_literal] = STATE(1471),
    [sym_special_literal] = STATE(1471),
    [sym_playground_literal] = STATE(1471),
    [sym_lambda_literal] = STATE(1471),
    [sym_self_expression] = STATE(1471),
    [sym_super_expression] = STATE(1471),
    [sym_if_statement] = STATE(1471),
    [sym_switch_statement] = STATE(1471),
    [sym_key_path_expression] = STATE(1471),
    [sym_key_path_string_expression] = STATE(1471),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1471),
    [sym__equality_operator] = STATE(1471),
    [sym__comparison_operator] = STATE(1471),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1471),
    [sym__multiplicative_operator] = STATE(1471),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_assignment] = STATE(1471),
    [sym_value_parameter_pack] = STATE(1471),
    [sym_value_pack_expansion] = STATE(1471),
    [sym__referenceable_operator] = STATE(1471),
    [sym__equal_sign] = STATE(1471),
    [sym__eq_eq] = STATE(1471),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1471),
    [sym_diagnostic] = STATE(1471),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(11),
    [anon_sym_async] = ACTIONS(11),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(11),
    [anon_sym_repeat] = ACTIONS(925),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(927),
    [sym_real_literal] = ACTIONS(929),
    [sym_integer_literal] = ACTIONS(927),
    [sym_hex_literal] = ACTIONS(927),
    [sym_oct_literal] = ACTIONS(929),
    [sym_bin_literal] = ACTIONS(929),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [anon_sym_COMMA] = ACTIONS(617),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_COLON] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(927),
    [anon_sym_GT] = ACTIONS(927),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_in] = ACTIONS(623),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(929),
    [anon_sym_DASH_EQ] = ACTIONS(929),
    [anon_sym_STAR_EQ] = ACTIONS(929),
    [anon_sym_SLASH_EQ] = ACTIONS(929),
    [anon_sym_PERCENT_EQ] = ACTIONS(929),
    [anon_sym_BANG_EQ] = ACTIONS(927),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(929),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(929),
    [anon_sym_LT_EQ] = ACTIONS(929),
    [anon_sym_GT_EQ] = ACTIONS(929),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(927),
    [anon_sym_SLASH] = ACTIONS(927),
    [anon_sym_PERCENT] = ACTIONS(927),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(929),
    [anon_sym_CARET] = ACTIONS(927),
    [anon_sym_LT_LT] = ACTIONS(929),
    [anon_sym_GT_GT] = ACTIONS(929),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(137),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(929),
    [sym__eq_eq_custom] = ACTIONS(929),
    [sym__plus_then_ws] = ACTIONS(929),
    [sym__minus_then_ws] = ACTIONS(929),
    [sym__bang_custom] = ACTIONS(139),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [154] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1472),
    [sym_boolean_literal] = STATE(1472),
    [sym__string_literal] = STATE(1472),
    [sym_line_string_literal] = STATE(1472),
    [sym_multi_line_string_literal] = STATE(1472),
    [sym_raw_string_literal] = STATE(1472),
    [sym_regex_literal] = STATE(1472),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1472),
    [sym__unary_expression] = STATE(1472),
    [sym_postfix_expression] = STATE(1472),
    [sym_constructor_expression] = STATE(1472),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1472),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1472),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1472),
    [sym_prefix_expression] = STATE(1472),
    [sym_as_expression] = STATE(1472),
    [sym_selector_expression] = STATE(1472),
    [sym__binary_expression] = STATE(1472),
    [sym_multiplicative_expression] = STATE(1472),
    [sym_additive_expression] = STATE(1472),
    [sym_range_expression] = STATE(1472),
    [sym_infix_expression] = STATE(1472),
    [sym_nil_coalescing_expression] = STATE(1472),
    [sym_check_expression] = STATE(1472),
    [sym_comparison_expression] = STATE(1472),
    [sym_equality_expression] = STATE(1472),
    [sym_conjunction_expression] = STATE(1472),
    [sym_disjunction_expression] = STATE(1472),
    [sym_bitwise_operation] = STATE(1472),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1472),
    [sym_await_expression] = STATE(1472),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1472),
    [sym_call_expression] = STATE(1472),
    [sym_macro_invocation] = STATE(1472),
    [sym__primary_expression] = STATE(1472),
    [sym_tuple_expression] = STATE(1472),
    [sym_array_literal] = STATE(1472),
    [sym_dictionary_literal] = STATE(1472),
    [sym_special_literal] = STATE(1472),
    [sym_playground_literal] = STATE(1472),
    [sym_lambda_literal] = STATE(1472),
    [sym_self_expression] = STATE(1472),
    [sym_super_expression] = STATE(1472),
    [sym_if_statement] = STATE(1472),
    [sym_switch_statement] = STATE(1472),
    [sym_key_path_expression] = STATE(1472),
    [sym_key_path_string_expression] = STATE(1472),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1472),
    [sym__equality_operator] = STATE(1472),
    [sym__comparison_operator] = STATE(1472),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1472),
    [sym__multiplicative_operator] = STATE(1472),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_assignment] = STATE(1472),
    [sym_value_parameter_pack] = STATE(1472),
    [sym_value_pack_expansion] = STATE(1472),
    [sym__referenceable_operator] = STATE(1472),
    [sym__equal_sign] = STATE(1472),
    [sym__eq_eq] = STATE(1472),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1472),
    [sym_diagnostic] = STATE(1472),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(11),
    [anon_sym_async] = ACTIONS(11),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(11),
    [anon_sym_repeat] = ACTIONS(925),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(931),
    [sym_real_literal] = ACTIONS(933),
    [sym_integer_literal] = ACTIONS(931),
    [sym_hex_literal] = ACTIONS(931),
    [sym_oct_literal] = ACTIONS(933),
    [sym_bin_literal] = ACTIONS(933),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [anon_sym_COMMA] = ACTIONS(617),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_COLON] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(931),
    [anon_sym_GT] = ACTIONS(931),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(935),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_in] = ACTIONS(623),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(933),
    [anon_sym_DASH_EQ] = ACTIONS(933),
    [anon_sym_STAR_EQ] = ACTIONS(933),
    [anon_sym_SLASH_EQ] = ACTIONS(933),
    [anon_sym_PERCENT_EQ] = ACTIONS(933),
    [anon_sym_BANG_EQ] = ACTIONS(931),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(933),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(933),
    [anon_sym_LT_EQ] = ACTIONS(933),
    [anon_sym_GT_EQ] = ACTIONS(933),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(931),
    [anon_sym_SLASH] = ACTIONS(931),
    [anon_sym_PERCENT] = ACTIONS(931),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(933),
    [anon_sym_CARET] = ACTIONS(931),
    [anon_sym_LT_LT] = ACTIONS(933),
    [anon_sym_GT_GT] = ACTIONS(933),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(137),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(933),
    [sym__eq_eq_custom] = ACTIONS(933),
    [sym__plus_then_ws] = ACTIONS(933),
    [sym__minus_then_ws] = ACTIONS(933),
    [sym__bang_custom] = ACTIONS(139),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [155] = {
    [sym_simple_identifier] = STATE(3049),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1558),
    [sym_boolean_literal] = STATE(1558),
    [sym__string_literal] = STATE(1558),
    [sym_line_string_literal] = STATE(1558),
    [sym_multi_line_string_literal] = STATE(1558),
    [sym_raw_string_literal] = STATE(1558),
    [sym_regex_literal] = STATE(1558),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6309),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1558),
    [sym__unary_expression] = STATE(1558),
    [sym_postfix_expression] = STATE(1558),
    [sym_constructor_expression] = STATE(1558),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1558),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1558),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1558),
    [sym_prefix_expression] = STATE(1558),
    [sym_as_expression] = STATE(1558),
    [sym_selector_expression] = STATE(1558),
    [sym__binary_expression] = STATE(1558),
    [sym_multiplicative_expression] = STATE(1558),
    [sym_additive_expression] = STATE(1558),
    [sym_range_expression] = STATE(1558),
    [sym_infix_expression] = STATE(1558),
    [sym_nil_coalescing_expression] = STATE(1558),
    [sym_check_expression] = STATE(1558),
    [sym_comparison_expression] = STATE(1558),
    [sym_equality_expression] = STATE(1558),
    [sym_conjunction_expression] = STATE(1558),
    [sym_disjunction_expression] = STATE(1558),
    [sym_bitwise_operation] = STATE(1558),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1558),
    [sym_await_expression] = STATE(1558),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1558),
    [sym_call_expression] = STATE(1558),
    [sym_macro_invocation] = STATE(1558),
    [sym__primary_expression] = STATE(1558),
    [sym_tuple_expression] = STATE(1558),
    [sym_array_literal] = STATE(1558),
    [sym_dictionary_literal] = STATE(1558),
    [sym_special_literal] = STATE(1558),
    [sym_playground_literal] = STATE(1558),
    [sym_lambda_literal] = STATE(1558),
    [sym_self_expression] = STATE(1558),
    [sym_super_expression] = STATE(1558),
    [sym_if_statement] = STATE(1558),
    [sym_switch_statement] = STATE(1558),
    [sym_key_path_expression] = STATE(1558),
    [sym_key_path_string_expression] = STATE(1558),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1558),
    [sym__equality_operator] = STATE(1558),
    [sym__comparison_operator] = STATE(1558),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1558),
    [sym__multiplicative_operator] = STATE(1558),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1558),
    [sym_value_parameter_pack] = STATE(1558),
    [sym_value_pack_expansion] = STATE(1558),
    [sym__referenceable_operator] = STATE(1558),
    [sym__equal_sign] = STATE(1558),
    [sym__eq_eq] = STATE(1558),
    [sym__dot] = STATE(1513),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__universally_allowed_pattern] = STATE(6718),
    [sym__bound_identifier] = STATE(6933),
    [sym__binding_pattern_no_expr] = STATE(8525),
    [sym__binding_pattern_with_expr] = STATE(8636),
    [sym_value_binding_pattern] = STATE(4817),
    [sym__tuple_pattern_item] = STATE(8286),
    [sym__tuple_pattern] = STATE(6718),
    [sym__case_pattern] = STATE(6718),
    [sym__type_casting_pattern] = STATE(6729),
    [sym__binding_pattern] = STATE(6701),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1558),
    [sym_diagnostic] = STATE(1558),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(937),
    [sym_real_literal] = ACTIONS(939),
    [sym_integer_literal] = ACTIONS(937),
    [sym_hex_literal] = ACTIONS(937),
    [sym_oct_literal] = ACTIONS(939),
    [sym_bin_literal] = ACTIONS(939),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(941),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(911),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(937),
    [anon_sym_GT] = ACTIONS(937),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(913),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(939),
    [anon_sym_DASH_EQ] = ACTIONS(939),
    [anon_sym_STAR_EQ] = ACTIONS(939),
    [anon_sym_SLASH_EQ] = ACTIONS(939),
    [anon_sym_PERCENT_EQ] = ACTIONS(939),
    [anon_sym_BANG_EQ] = ACTIONS(937),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(939),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(939),
    [anon_sym_LT_EQ] = ACTIONS(939),
    [anon_sym_GT_EQ] = ACTIONS(939),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(915),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(937),
    [anon_sym_SLASH] = ACTIONS(937),
    [anon_sym_PERCENT] = ACTIONS(937),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(939),
    [anon_sym_CARET] = ACTIONS(937),
    [anon_sym_LT_LT] = ACTIONS(939),
    [anon_sym_GT_GT] = ACTIONS(939),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [sym_wildcard_pattern] = ACTIONS(917),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(919),
    [sym__eq_custom] = ACTIONS(939),
    [sym__eq_eq_custom] = ACTIONS(939),
    [sym__plus_then_ws] = ACTIONS(939),
    [sym__minus_then_ws] = ACTIONS(939),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [156] = {
    [sym_simple_identifier] = STATE(3049),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1558),
    [sym_boolean_literal] = STATE(1558),
    [sym__string_literal] = STATE(1558),
    [sym_line_string_literal] = STATE(1558),
    [sym_multi_line_string_literal] = STATE(1558),
    [sym_raw_string_literal] = STATE(1558),
    [sym_regex_literal] = STATE(1558),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6309),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1558),
    [sym__unary_expression] = STATE(1558),
    [sym_postfix_expression] = STATE(1558),
    [sym_constructor_expression] = STATE(1558),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1558),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1558),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1558),
    [sym_prefix_expression] = STATE(1558),
    [sym_as_expression] = STATE(1558),
    [sym_selector_expression] = STATE(1558),
    [sym__binary_expression] = STATE(1558),
    [sym_multiplicative_expression] = STATE(1558),
    [sym_additive_expression] = STATE(1558),
    [sym_range_expression] = STATE(1558),
    [sym_infix_expression] = STATE(1558),
    [sym_nil_coalescing_expression] = STATE(1558),
    [sym_check_expression] = STATE(1558),
    [sym_comparison_expression] = STATE(1558),
    [sym_equality_expression] = STATE(1558),
    [sym_conjunction_expression] = STATE(1558),
    [sym_disjunction_expression] = STATE(1558),
    [sym_bitwise_operation] = STATE(1558),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1558),
    [sym_await_expression] = STATE(1558),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1558),
    [sym_call_expression] = STATE(1558),
    [sym_macro_invocation] = STATE(1558),
    [sym__primary_expression] = STATE(1558),
    [sym_tuple_expression] = STATE(1558),
    [sym_array_literal] = STATE(1558),
    [sym_dictionary_literal] = STATE(1558),
    [sym_special_literal] = STATE(1558),
    [sym_playground_literal] = STATE(1558),
    [sym_lambda_literal] = STATE(1558),
    [sym_self_expression] = STATE(1558),
    [sym_super_expression] = STATE(1558),
    [sym_if_statement] = STATE(1558),
    [sym_switch_statement] = STATE(1558),
    [sym_key_path_expression] = STATE(1558),
    [sym_key_path_string_expression] = STATE(1558),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1558),
    [sym__equality_operator] = STATE(1558),
    [sym__comparison_operator] = STATE(1558),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1558),
    [sym__multiplicative_operator] = STATE(1558),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1558),
    [sym_value_parameter_pack] = STATE(1558),
    [sym_value_pack_expansion] = STATE(1558),
    [sym__referenceable_operator] = STATE(1558),
    [sym__equal_sign] = STATE(1558),
    [sym__eq_eq] = STATE(1558),
    [sym__dot] = STATE(1513),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__universally_allowed_pattern] = STATE(6718),
    [sym__bound_identifier] = STATE(6933),
    [sym__binding_pattern_no_expr] = STATE(8525),
    [sym__binding_pattern_with_expr] = STATE(8636),
    [sym_value_binding_pattern] = STATE(4817),
    [sym__tuple_pattern_item] = STATE(8286),
    [sym__tuple_pattern] = STATE(6718),
    [sym__case_pattern] = STATE(6718),
    [sym__type_casting_pattern] = STATE(6729),
    [sym__binding_pattern] = STATE(6701),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1558),
    [sym_diagnostic] = STATE(1558),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(937),
    [sym_real_literal] = ACTIONS(939),
    [sym_integer_literal] = ACTIONS(937),
    [sym_hex_literal] = ACTIONS(937),
    [sym_oct_literal] = ACTIONS(939),
    [sym_bin_literal] = ACTIONS(939),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(943),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(911),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(937),
    [anon_sym_GT] = ACTIONS(937),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(913),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(939),
    [anon_sym_DASH_EQ] = ACTIONS(939),
    [anon_sym_STAR_EQ] = ACTIONS(939),
    [anon_sym_SLASH_EQ] = ACTIONS(939),
    [anon_sym_PERCENT_EQ] = ACTIONS(939),
    [anon_sym_BANG_EQ] = ACTIONS(937),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(939),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(939),
    [anon_sym_LT_EQ] = ACTIONS(939),
    [anon_sym_GT_EQ] = ACTIONS(939),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(915),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(937),
    [anon_sym_SLASH] = ACTIONS(937),
    [anon_sym_PERCENT] = ACTIONS(937),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(939),
    [anon_sym_CARET] = ACTIONS(937),
    [anon_sym_LT_LT] = ACTIONS(939),
    [anon_sym_GT_GT] = ACTIONS(939),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [sym_wildcard_pattern] = ACTIONS(917),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(919),
    [sym__eq_custom] = ACTIONS(939),
    [sym__eq_eq_custom] = ACTIONS(939),
    [sym__plus_then_ws] = ACTIONS(939),
    [sym__minus_then_ws] = ACTIONS(939),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [157] = {
    [sym_simple_identifier] = STATE(3049),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1558),
    [sym_boolean_literal] = STATE(1558),
    [sym__string_literal] = STATE(1558),
    [sym_line_string_literal] = STATE(1558),
    [sym_multi_line_string_literal] = STATE(1558),
    [sym_raw_string_literal] = STATE(1558),
    [sym_regex_literal] = STATE(1558),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6309),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1558),
    [sym__unary_expression] = STATE(1558),
    [sym_postfix_expression] = STATE(1558),
    [sym_constructor_expression] = STATE(1558),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1558),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1558),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1558),
    [sym_prefix_expression] = STATE(1558),
    [sym_as_expression] = STATE(1558),
    [sym_selector_expression] = STATE(1558),
    [sym__binary_expression] = STATE(1558),
    [sym_multiplicative_expression] = STATE(1558),
    [sym_additive_expression] = STATE(1558),
    [sym_range_expression] = STATE(1558),
    [sym_infix_expression] = STATE(1558),
    [sym_nil_coalescing_expression] = STATE(1558),
    [sym_check_expression] = STATE(1558),
    [sym_comparison_expression] = STATE(1558),
    [sym_equality_expression] = STATE(1558),
    [sym_conjunction_expression] = STATE(1558),
    [sym_disjunction_expression] = STATE(1558),
    [sym_bitwise_operation] = STATE(1558),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1558),
    [sym_await_expression] = STATE(1558),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1558),
    [sym_call_expression] = STATE(1558),
    [sym_macro_invocation] = STATE(1558),
    [sym__primary_expression] = STATE(1558),
    [sym_tuple_expression] = STATE(1558),
    [sym_array_literal] = STATE(1558),
    [sym_dictionary_literal] = STATE(1558),
    [sym_special_literal] = STATE(1558),
    [sym_playground_literal] = STATE(1558),
    [sym_lambda_literal] = STATE(1558),
    [sym_self_expression] = STATE(1558),
    [sym_super_expression] = STATE(1558),
    [sym_if_statement] = STATE(1558),
    [sym_switch_statement] = STATE(1558),
    [sym_key_path_expression] = STATE(1558),
    [sym_key_path_string_expression] = STATE(1558),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1558),
    [sym__equality_operator] = STATE(1558),
    [sym__comparison_operator] = STATE(1558),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1558),
    [sym__multiplicative_operator] = STATE(1558),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1558),
    [sym_value_parameter_pack] = STATE(1558),
    [sym_value_pack_expansion] = STATE(1558),
    [sym__referenceable_operator] = STATE(1558),
    [sym__equal_sign] = STATE(1558),
    [sym__eq_eq] = STATE(1558),
    [sym__dot] = STATE(1513),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__universally_allowed_pattern] = STATE(6718),
    [sym__bound_identifier] = STATE(6933),
    [sym__binding_pattern_no_expr] = STATE(8525),
    [sym__binding_pattern_with_expr] = STATE(8636),
    [sym_value_binding_pattern] = STATE(4817),
    [sym__tuple_pattern_item] = STATE(8286),
    [sym__tuple_pattern] = STATE(6718),
    [sym__case_pattern] = STATE(6718),
    [sym__type_casting_pattern] = STATE(6729),
    [sym__binding_pattern] = STATE(6701),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1558),
    [sym_diagnostic] = STATE(1558),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(937),
    [sym_real_literal] = ACTIONS(939),
    [sym_integer_literal] = ACTIONS(937),
    [sym_hex_literal] = ACTIONS(937),
    [sym_oct_literal] = ACTIONS(939),
    [sym_bin_literal] = ACTIONS(939),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(945),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(911),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(937),
    [anon_sym_GT] = ACTIONS(937),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(913),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(939),
    [anon_sym_DASH_EQ] = ACTIONS(939),
    [anon_sym_STAR_EQ] = ACTIONS(939),
    [anon_sym_SLASH_EQ] = ACTIONS(939),
    [anon_sym_PERCENT_EQ] = ACTIONS(939),
    [anon_sym_BANG_EQ] = ACTIONS(937),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(939),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(939),
    [anon_sym_LT_EQ] = ACTIONS(939),
    [anon_sym_GT_EQ] = ACTIONS(939),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(915),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(937),
    [anon_sym_SLASH] = ACTIONS(937),
    [anon_sym_PERCENT] = ACTIONS(937),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(939),
    [anon_sym_CARET] = ACTIONS(937),
    [anon_sym_LT_LT] = ACTIONS(939),
    [anon_sym_GT_GT] = ACTIONS(939),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [sym_wildcard_pattern] = ACTIONS(917),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(919),
    [sym__eq_custom] = ACTIONS(939),
    [sym__eq_eq_custom] = ACTIONS(939),
    [sym__plus_then_ws] = ACTIONS(939),
    [sym__minus_then_ws] = ACTIONS(939),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [158] = {
    [sym_simple_identifier] = STATE(3049),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1558),
    [sym_boolean_literal] = STATE(1558),
    [sym__string_literal] = STATE(1558),
    [sym_line_string_literal] = STATE(1558),
    [sym_multi_line_string_literal] = STATE(1558),
    [sym_raw_string_literal] = STATE(1558),
    [sym_regex_literal] = STATE(1558),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6309),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1558),
    [sym__unary_expression] = STATE(1558),
    [sym_postfix_expression] = STATE(1558),
    [sym_constructor_expression] = STATE(1558),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1558),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1558),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1558),
    [sym_prefix_expression] = STATE(1558),
    [sym_as_expression] = STATE(1558),
    [sym_selector_expression] = STATE(1558),
    [sym__binary_expression] = STATE(1558),
    [sym_multiplicative_expression] = STATE(1558),
    [sym_additive_expression] = STATE(1558),
    [sym_range_expression] = STATE(1558),
    [sym_infix_expression] = STATE(1558),
    [sym_nil_coalescing_expression] = STATE(1558),
    [sym_check_expression] = STATE(1558),
    [sym_comparison_expression] = STATE(1558),
    [sym_equality_expression] = STATE(1558),
    [sym_conjunction_expression] = STATE(1558),
    [sym_disjunction_expression] = STATE(1558),
    [sym_bitwise_operation] = STATE(1558),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1558),
    [sym_await_expression] = STATE(1558),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1558),
    [sym_call_expression] = STATE(1558),
    [sym_macro_invocation] = STATE(1558),
    [sym__primary_expression] = STATE(1558),
    [sym_tuple_expression] = STATE(1558),
    [sym_array_literal] = STATE(1558),
    [sym_dictionary_literal] = STATE(1558),
    [sym_special_literal] = STATE(1558),
    [sym_playground_literal] = STATE(1558),
    [sym_lambda_literal] = STATE(1558),
    [sym_self_expression] = STATE(1558),
    [sym_super_expression] = STATE(1558),
    [sym_if_statement] = STATE(1558),
    [sym_switch_statement] = STATE(1558),
    [sym_key_path_expression] = STATE(1558),
    [sym_key_path_string_expression] = STATE(1558),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1558),
    [sym__equality_operator] = STATE(1558),
    [sym__comparison_operator] = STATE(1558),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1558),
    [sym__multiplicative_operator] = STATE(1558),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1558),
    [sym_value_parameter_pack] = STATE(1558),
    [sym_value_pack_expansion] = STATE(1558),
    [sym__referenceable_operator] = STATE(1558),
    [sym__equal_sign] = STATE(1558),
    [sym__eq_eq] = STATE(1558),
    [sym__dot] = STATE(1513),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__universally_allowed_pattern] = STATE(6718),
    [sym__bound_identifier] = STATE(6933),
    [sym__binding_pattern_no_expr] = STATE(8525),
    [sym__binding_pattern_with_expr] = STATE(8636),
    [sym_value_binding_pattern] = STATE(4817),
    [sym__tuple_pattern_item] = STATE(8286),
    [sym__tuple_pattern] = STATE(6718),
    [sym__case_pattern] = STATE(6718),
    [sym__type_casting_pattern] = STATE(6729),
    [sym__binding_pattern] = STATE(6701),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1558),
    [sym_diagnostic] = STATE(1558),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(937),
    [sym_real_literal] = ACTIONS(939),
    [sym_integer_literal] = ACTIONS(937),
    [sym_hex_literal] = ACTIONS(937),
    [sym_oct_literal] = ACTIONS(939),
    [sym_bin_literal] = ACTIONS(939),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(947),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(911),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(937),
    [anon_sym_GT] = ACTIONS(937),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(913),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(939),
    [anon_sym_DASH_EQ] = ACTIONS(939),
    [anon_sym_STAR_EQ] = ACTIONS(939),
    [anon_sym_SLASH_EQ] = ACTIONS(939),
    [anon_sym_PERCENT_EQ] = ACTIONS(939),
    [anon_sym_BANG_EQ] = ACTIONS(937),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(939),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(939),
    [anon_sym_LT_EQ] = ACTIONS(939),
    [anon_sym_GT_EQ] = ACTIONS(939),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(915),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(937),
    [anon_sym_SLASH] = ACTIONS(937),
    [anon_sym_PERCENT] = ACTIONS(937),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(939),
    [anon_sym_CARET] = ACTIONS(937),
    [anon_sym_LT_LT] = ACTIONS(939),
    [anon_sym_GT_GT] = ACTIONS(939),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [sym_wildcard_pattern] = ACTIONS(917),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(919),
    [sym__eq_custom] = ACTIONS(939),
    [sym__eq_eq_custom] = ACTIONS(939),
    [sym__plus_then_ws] = ACTIONS(939),
    [sym__minus_then_ws] = ACTIONS(939),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [159] = {
    [sym_simple_identifier] = STATE(3049),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1558),
    [sym_boolean_literal] = STATE(1558),
    [sym__string_literal] = STATE(1558),
    [sym_line_string_literal] = STATE(1558),
    [sym_multi_line_string_literal] = STATE(1558),
    [sym_raw_string_literal] = STATE(1558),
    [sym_regex_literal] = STATE(1558),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6309),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1558),
    [sym__unary_expression] = STATE(1558),
    [sym_postfix_expression] = STATE(1558),
    [sym_constructor_expression] = STATE(1558),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1558),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1558),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1558),
    [sym_prefix_expression] = STATE(1558),
    [sym_as_expression] = STATE(1558),
    [sym_selector_expression] = STATE(1558),
    [sym__binary_expression] = STATE(1558),
    [sym_multiplicative_expression] = STATE(1558),
    [sym_additive_expression] = STATE(1558),
    [sym_range_expression] = STATE(1558),
    [sym_infix_expression] = STATE(1558),
    [sym_nil_coalescing_expression] = STATE(1558),
    [sym_check_expression] = STATE(1558),
    [sym_comparison_expression] = STATE(1558),
    [sym_equality_expression] = STATE(1558),
    [sym_conjunction_expression] = STATE(1558),
    [sym_disjunction_expression] = STATE(1558),
    [sym_bitwise_operation] = STATE(1558),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1558),
    [sym_await_expression] = STATE(1558),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1558),
    [sym_call_expression] = STATE(1558),
    [sym_macro_invocation] = STATE(1558),
    [sym__primary_expression] = STATE(1558),
    [sym_tuple_expression] = STATE(1558),
    [sym_array_literal] = STATE(1558),
    [sym_dictionary_literal] = STATE(1558),
    [sym_special_literal] = STATE(1558),
    [sym_playground_literal] = STATE(1558),
    [sym_lambda_literal] = STATE(1558),
    [sym_self_expression] = STATE(1558),
    [sym_super_expression] = STATE(1558),
    [sym_if_statement] = STATE(1558),
    [sym_switch_statement] = STATE(1558),
    [sym_key_path_expression] = STATE(1558),
    [sym_key_path_string_expression] = STATE(1558),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1558),
    [sym__equality_operator] = STATE(1558),
    [sym__comparison_operator] = STATE(1558),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1558),
    [sym__multiplicative_operator] = STATE(1558),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1558),
    [sym_value_parameter_pack] = STATE(1558),
    [sym_value_pack_expansion] = STATE(1558),
    [sym__referenceable_operator] = STATE(1558),
    [sym__equal_sign] = STATE(1558),
    [sym__eq_eq] = STATE(1558),
    [sym__dot] = STATE(1513),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__universally_allowed_pattern] = STATE(6718),
    [sym__bound_identifier] = STATE(6933),
    [sym__binding_pattern_no_expr] = STATE(8525),
    [sym__binding_pattern_with_expr] = STATE(8636),
    [sym_value_binding_pattern] = STATE(4817),
    [sym__tuple_pattern_item] = STATE(8286),
    [sym__tuple_pattern] = STATE(6718),
    [sym__case_pattern] = STATE(6718),
    [sym__type_casting_pattern] = STATE(6729),
    [sym__binding_pattern] = STATE(6701),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1558),
    [sym_diagnostic] = STATE(1558),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(937),
    [sym_real_literal] = ACTIONS(939),
    [sym_integer_literal] = ACTIONS(937),
    [sym_hex_literal] = ACTIONS(937),
    [sym_oct_literal] = ACTIONS(939),
    [sym_bin_literal] = ACTIONS(939),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(949),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(911),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(937),
    [anon_sym_GT] = ACTIONS(937),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(913),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(939),
    [anon_sym_DASH_EQ] = ACTIONS(939),
    [anon_sym_STAR_EQ] = ACTIONS(939),
    [anon_sym_SLASH_EQ] = ACTIONS(939),
    [anon_sym_PERCENT_EQ] = ACTIONS(939),
    [anon_sym_BANG_EQ] = ACTIONS(937),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(939),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(939),
    [anon_sym_LT_EQ] = ACTIONS(939),
    [anon_sym_GT_EQ] = ACTIONS(939),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(915),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(937),
    [anon_sym_SLASH] = ACTIONS(937),
    [anon_sym_PERCENT] = ACTIONS(937),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(939),
    [anon_sym_CARET] = ACTIONS(937),
    [anon_sym_LT_LT] = ACTIONS(939),
    [anon_sym_GT_GT] = ACTIONS(939),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [sym_wildcard_pattern] = ACTIONS(917),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(919),
    [sym__eq_custom] = ACTIONS(939),
    [sym__eq_eq_custom] = ACTIONS(939),
    [sym__plus_then_ws] = ACTIONS(939),
    [sym__minus_then_ws] = ACTIONS(939),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [160] = {
    [sym_simple_identifier] = STATE(3049),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1558),
    [sym_boolean_literal] = STATE(1558),
    [sym__string_literal] = STATE(1558),
    [sym_line_string_literal] = STATE(1558),
    [sym_multi_line_string_literal] = STATE(1558),
    [sym_raw_string_literal] = STATE(1558),
    [sym_regex_literal] = STATE(1558),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6309),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1558),
    [sym__unary_expression] = STATE(1558),
    [sym_postfix_expression] = STATE(1558),
    [sym_constructor_expression] = STATE(1558),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1558),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1558),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1558),
    [sym_prefix_expression] = STATE(1558),
    [sym_as_expression] = STATE(1558),
    [sym_selector_expression] = STATE(1558),
    [sym__binary_expression] = STATE(1558),
    [sym_multiplicative_expression] = STATE(1558),
    [sym_additive_expression] = STATE(1558),
    [sym_range_expression] = STATE(1558),
    [sym_infix_expression] = STATE(1558),
    [sym_nil_coalescing_expression] = STATE(1558),
    [sym_check_expression] = STATE(1558),
    [sym_comparison_expression] = STATE(1558),
    [sym_equality_expression] = STATE(1558),
    [sym_conjunction_expression] = STATE(1558),
    [sym_disjunction_expression] = STATE(1558),
    [sym_bitwise_operation] = STATE(1558),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1558),
    [sym_await_expression] = STATE(1558),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1558),
    [sym_call_expression] = STATE(1558),
    [sym_macro_invocation] = STATE(1558),
    [sym__primary_expression] = STATE(1558),
    [sym_tuple_expression] = STATE(1558),
    [sym_array_literal] = STATE(1558),
    [sym_dictionary_literal] = STATE(1558),
    [sym_special_literal] = STATE(1558),
    [sym_playground_literal] = STATE(1558),
    [sym_lambda_literal] = STATE(1558),
    [sym_self_expression] = STATE(1558),
    [sym_super_expression] = STATE(1558),
    [sym_if_statement] = STATE(1558),
    [sym_switch_statement] = STATE(1558),
    [sym_key_path_expression] = STATE(1558),
    [sym_key_path_string_expression] = STATE(1558),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1558),
    [sym__equality_operator] = STATE(1558),
    [sym__comparison_operator] = STATE(1558),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1558),
    [sym__multiplicative_operator] = STATE(1558),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1558),
    [sym_value_parameter_pack] = STATE(1558),
    [sym_value_pack_expansion] = STATE(1558),
    [sym__referenceable_operator] = STATE(1558),
    [sym__equal_sign] = STATE(1558),
    [sym__eq_eq] = STATE(1558),
    [sym__dot] = STATE(1513),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__universally_allowed_pattern] = STATE(6718),
    [sym__bound_identifier] = STATE(6933),
    [sym__binding_pattern_no_expr] = STATE(8525),
    [sym__binding_pattern_with_expr] = STATE(8636),
    [sym_value_binding_pattern] = STATE(4817),
    [sym__tuple_pattern_item] = STATE(8286),
    [sym__tuple_pattern] = STATE(6718),
    [sym__case_pattern] = STATE(6718),
    [sym__type_casting_pattern] = STATE(6729),
    [sym__binding_pattern] = STATE(6701),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1558),
    [sym_diagnostic] = STATE(1558),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(937),
    [sym_real_literal] = ACTIONS(939),
    [sym_integer_literal] = ACTIONS(937),
    [sym_hex_literal] = ACTIONS(937),
    [sym_oct_literal] = ACTIONS(939),
    [sym_bin_literal] = ACTIONS(939),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(951),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(911),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(937),
    [anon_sym_GT] = ACTIONS(937),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(913),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(939),
    [anon_sym_DASH_EQ] = ACTIONS(939),
    [anon_sym_STAR_EQ] = ACTIONS(939),
    [anon_sym_SLASH_EQ] = ACTIONS(939),
    [anon_sym_PERCENT_EQ] = ACTIONS(939),
    [anon_sym_BANG_EQ] = ACTIONS(937),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(939),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(939),
    [anon_sym_LT_EQ] = ACTIONS(939),
    [anon_sym_GT_EQ] = ACTIONS(939),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(915),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(937),
    [anon_sym_SLASH] = ACTIONS(937),
    [anon_sym_PERCENT] = ACTIONS(937),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(939),
    [anon_sym_CARET] = ACTIONS(937),
    [anon_sym_LT_LT] = ACTIONS(939),
    [anon_sym_GT_GT] = ACTIONS(939),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [sym_wildcard_pattern] = ACTIONS(917),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(919),
    [sym__eq_custom] = ACTIONS(939),
    [sym__eq_eq_custom] = ACTIONS(939),
    [sym__plus_then_ws] = ACTIONS(939),
    [sym__minus_then_ws] = ACTIONS(939),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [161] = {
    [sym_simple_identifier] = STATE(3049),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1558),
    [sym_boolean_literal] = STATE(1558),
    [sym__string_literal] = STATE(1558),
    [sym_line_string_literal] = STATE(1558),
    [sym_multi_line_string_literal] = STATE(1558),
    [sym_raw_string_literal] = STATE(1558),
    [sym_regex_literal] = STATE(1558),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6309),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1558),
    [sym__unary_expression] = STATE(1558),
    [sym_postfix_expression] = STATE(1558),
    [sym_constructor_expression] = STATE(1558),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1558),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1558),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1558),
    [sym_prefix_expression] = STATE(1558),
    [sym_as_expression] = STATE(1558),
    [sym_selector_expression] = STATE(1558),
    [sym__binary_expression] = STATE(1558),
    [sym_multiplicative_expression] = STATE(1558),
    [sym_additive_expression] = STATE(1558),
    [sym_range_expression] = STATE(1558),
    [sym_infix_expression] = STATE(1558),
    [sym_nil_coalescing_expression] = STATE(1558),
    [sym_check_expression] = STATE(1558),
    [sym_comparison_expression] = STATE(1558),
    [sym_equality_expression] = STATE(1558),
    [sym_conjunction_expression] = STATE(1558),
    [sym_disjunction_expression] = STATE(1558),
    [sym_bitwise_operation] = STATE(1558),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1558),
    [sym_await_expression] = STATE(1558),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1558),
    [sym_call_expression] = STATE(1558),
    [sym_macro_invocation] = STATE(1558),
    [sym__primary_expression] = STATE(1558),
    [sym_tuple_expression] = STATE(1558),
    [sym_array_literal] = STATE(1558),
    [sym_dictionary_literal] = STATE(1558),
    [sym_special_literal] = STATE(1558),
    [sym_playground_literal] = STATE(1558),
    [sym_lambda_literal] = STATE(1558),
    [sym_self_expression] = STATE(1558),
    [sym_super_expression] = STATE(1558),
    [sym_if_statement] = STATE(1558),
    [sym_switch_statement] = STATE(1558),
    [sym_key_path_expression] = STATE(1558),
    [sym_key_path_string_expression] = STATE(1558),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1558),
    [sym__equality_operator] = STATE(1558),
    [sym__comparison_operator] = STATE(1558),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1558),
    [sym__multiplicative_operator] = STATE(1558),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1558),
    [sym_value_parameter_pack] = STATE(1558),
    [sym_value_pack_expansion] = STATE(1558),
    [sym__referenceable_operator] = STATE(1558),
    [sym__equal_sign] = STATE(1558),
    [sym__eq_eq] = STATE(1558),
    [sym__dot] = STATE(1513),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__universally_allowed_pattern] = STATE(6718),
    [sym__bound_identifier] = STATE(6933),
    [sym__binding_pattern_no_expr] = STATE(8525),
    [sym__binding_pattern_with_expr] = STATE(8636),
    [sym_value_binding_pattern] = STATE(4817),
    [sym__tuple_pattern_item] = STATE(8286),
    [sym__tuple_pattern] = STATE(6718),
    [sym__case_pattern] = STATE(6718),
    [sym__type_casting_pattern] = STATE(6729),
    [sym__binding_pattern] = STATE(6701),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1558),
    [sym_diagnostic] = STATE(1558),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(937),
    [sym_real_literal] = ACTIONS(939),
    [sym_integer_literal] = ACTIONS(937),
    [sym_hex_literal] = ACTIONS(937),
    [sym_oct_literal] = ACTIONS(939),
    [sym_bin_literal] = ACTIONS(939),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(953),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(911),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(937),
    [anon_sym_GT] = ACTIONS(937),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(913),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(939),
    [anon_sym_DASH_EQ] = ACTIONS(939),
    [anon_sym_STAR_EQ] = ACTIONS(939),
    [anon_sym_SLASH_EQ] = ACTIONS(939),
    [anon_sym_PERCENT_EQ] = ACTIONS(939),
    [anon_sym_BANG_EQ] = ACTIONS(937),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(939),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(939),
    [anon_sym_LT_EQ] = ACTIONS(939),
    [anon_sym_GT_EQ] = ACTIONS(939),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(915),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(937),
    [anon_sym_SLASH] = ACTIONS(937),
    [anon_sym_PERCENT] = ACTIONS(937),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(939),
    [anon_sym_CARET] = ACTIONS(937),
    [anon_sym_LT_LT] = ACTIONS(939),
    [anon_sym_GT_GT] = ACTIONS(939),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [sym_wildcard_pattern] = ACTIONS(917),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(919),
    [sym__eq_custom] = ACTIONS(939),
    [sym__eq_eq_custom] = ACTIONS(939),
    [sym__plus_then_ws] = ACTIONS(939),
    [sym__minus_then_ws] = ACTIONS(939),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [162] = {
    [sym_simple_identifier] = STATE(3049),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1558),
    [sym_boolean_literal] = STATE(1558),
    [sym__string_literal] = STATE(1558),
    [sym_line_string_literal] = STATE(1558),
    [sym_multi_line_string_literal] = STATE(1558),
    [sym_raw_string_literal] = STATE(1558),
    [sym_regex_literal] = STATE(1558),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6309),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1558),
    [sym__unary_expression] = STATE(1558),
    [sym_postfix_expression] = STATE(1558),
    [sym_constructor_expression] = STATE(1558),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1558),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1558),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1558),
    [sym_prefix_expression] = STATE(1558),
    [sym_as_expression] = STATE(1558),
    [sym_selector_expression] = STATE(1558),
    [sym__binary_expression] = STATE(1558),
    [sym_multiplicative_expression] = STATE(1558),
    [sym_additive_expression] = STATE(1558),
    [sym_range_expression] = STATE(1558),
    [sym_infix_expression] = STATE(1558),
    [sym_nil_coalescing_expression] = STATE(1558),
    [sym_check_expression] = STATE(1558),
    [sym_comparison_expression] = STATE(1558),
    [sym_equality_expression] = STATE(1558),
    [sym_conjunction_expression] = STATE(1558),
    [sym_disjunction_expression] = STATE(1558),
    [sym_bitwise_operation] = STATE(1558),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1558),
    [sym_await_expression] = STATE(1558),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1558),
    [sym_call_expression] = STATE(1558),
    [sym_macro_invocation] = STATE(1558),
    [sym__primary_expression] = STATE(1558),
    [sym_tuple_expression] = STATE(1558),
    [sym_array_literal] = STATE(1558),
    [sym_dictionary_literal] = STATE(1558),
    [sym_special_literal] = STATE(1558),
    [sym_playground_literal] = STATE(1558),
    [sym_lambda_literal] = STATE(1558),
    [sym_self_expression] = STATE(1558),
    [sym_super_expression] = STATE(1558),
    [sym_if_statement] = STATE(1558),
    [sym_switch_statement] = STATE(1558),
    [sym_key_path_expression] = STATE(1558),
    [sym_key_path_string_expression] = STATE(1558),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1558),
    [sym__equality_operator] = STATE(1558),
    [sym__comparison_operator] = STATE(1558),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1558),
    [sym__multiplicative_operator] = STATE(1558),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1558),
    [sym_value_parameter_pack] = STATE(1558),
    [sym_value_pack_expansion] = STATE(1558),
    [sym__referenceable_operator] = STATE(1558),
    [sym__equal_sign] = STATE(1558),
    [sym__eq_eq] = STATE(1558),
    [sym__dot] = STATE(1513),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__universally_allowed_pattern] = STATE(6718),
    [sym__bound_identifier] = STATE(6933),
    [sym__binding_pattern_no_expr] = STATE(8525),
    [sym__binding_pattern_with_expr] = STATE(8636),
    [sym_value_binding_pattern] = STATE(4817),
    [sym__tuple_pattern_item] = STATE(8286),
    [sym__tuple_pattern] = STATE(6718),
    [sym__case_pattern] = STATE(6718),
    [sym__type_casting_pattern] = STATE(6729),
    [sym__binding_pattern] = STATE(6701),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1558),
    [sym_diagnostic] = STATE(1558),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(937),
    [sym_real_literal] = ACTIONS(939),
    [sym_integer_literal] = ACTIONS(937),
    [sym_hex_literal] = ACTIONS(937),
    [sym_oct_literal] = ACTIONS(939),
    [sym_bin_literal] = ACTIONS(939),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(955),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(911),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(937),
    [anon_sym_GT] = ACTIONS(937),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(913),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(939),
    [anon_sym_DASH_EQ] = ACTIONS(939),
    [anon_sym_STAR_EQ] = ACTIONS(939),
    [anon_sym_SLASH_EQ] = ACTIONS(939),
    [anon_sym_PERCENT_EQ] = ACTIONS(939),
    [anon_sym_BANG_EQ] = ACTIONS(937),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(939),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(939),
    [anon_sym_LT_EQ] = ACTIONS(939),
    [anon_sym_GT_EQ] = ACTIONS(939),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(915),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(937),
    [anon_sym_SLASH] = ACTIONS(937),
    [anon_sym_PERCENT] = ACTIONS(937),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(939),
    [anon_sym_CARET] = ACTIONS(937),
    [anon_sym_LT_LT] = ACTIONS(939),
    [anon_sym_GT_GT] = ACTIONS(939),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [sym_wildcard_pattern] = ACTIONS(917),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(919),
    [sym__eq_custom] = ACTIONS(939),
    [sym__eq_eq_custom] = ACTIONS(939),
    [sym__plus_then_ws] = ACTIONS(939),
    [sym__minus_then_ws] = ACTIONS(939),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [163] = {
    [sym_simple_identifier] = STATE(3049),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1558),
    [sym_boolean_literal] = STATE(1558),
    [sym__string_literal] = STATE(1558),
    [sym_line_string_literal] = STATE(1558),
    [sym_multi_line_string_literal] = STATE(1558),
    [sym_raw_string_literal] = STATE(1558),
    [sym_regex_literal] = STATE(1558),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6309),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1558),
    [sym__unary_expression] = STATE(1558),
    [sym_postfix_expression] = STATE(1558),
    [sym_constructor_expression] = STATE(1558),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1558),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1558),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1558),
    [sym_prefix_expression] = STATE(1558),
    [sym_as_expression] = STATE(1558),
    [sym_selector_expression] = STATE(1558),
    [sym__binary_expression] = STATE(1558),
    [sym_multiplicative_expression] = STATE(1558),
    [sym_additive_expression] = STATE(1558),
    [sym_range_expression] = STATE(1558),
    [sym_infix_expression] = STATE(1558),
    [sym_nil_coalescing_expression] = STATE(1558),
    [sym_check_expression] = STATE(1558),
    [sym_comparison_expression] = STATE(1558),
    [sym_equality_expression] = STATE(1558),
    [sym_conjunction_expression] = STATE(1558),
    [sym_disjunction_expression] = STATE(1558),
    [sym_bitwise_operation] = STATE(1558),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1558),
    [sym_await_expression] = STATE(1558),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1558),
    [sym_call_expression] = STATE(1558),
    [sym_macro_invocation] = STATE(1558),
    [sym__primary_expression] = STATE(1558),
    [sym_tuple_expression] = STATE(1558),
    [sym_array_literal] = STATE(1558),
    [sym_dictionary_literal] = STATE(1558),
    [sym_special_literal] = STATE(1558),
    [sym_playground_literal] = STATE(1558),
    [sym_lambda_literal] = STATE(1558),
    [sym_self_expression] = STATE(1558),
    [sym_super_expression] = STATE(1558),
    [sym_if_statement] = STATE(1558),
    [sym_switch_statement] = STATE(1558),
    [sym_key_path_expression] = STATE(1558),
    [sym_key_path_string_expression] = STATE(1558),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1558),
    [sym__equality_operator] = STATE(1558),
    [sym__comparison_operator] = STATE(1558),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1558),
    [sym__multiplicative_operator] = STATE(1558),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1558),
    [sym_value_parameter_pack] = STATE(1558),
    [sym_value_pack_expansion] = STATE(1558),
    [sym__referenceable_operator] = STATE(1558),
    [sym__equal_sign] = STATE(1558),
    [sym__eq_eq] = STATE(1558),
    [sym__dot] = STATE(1513),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__universally_allowed_pattern] = STATE(6718),
    [sym__bound_identifier] = STATE(6933),
    [sym__binding_pattern_no_expr] = STATE(8525),
    [sym__binding_pattern_with_expr] = STATE(8636),
    [sym_value_binding_pattern] = STATE(4817),
    [sym__tuple_pattern_item] = STATE(8286),
    [sym__tuple_pattern] = STATE(6718),
    [sym__case_pattern] = STATE(6718),
    [sym__type_casting_pattern] = STATE(6729),
    [sym__binding_pattern] = STATE(6701),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1558),
    [sym_diagnostic] = STATE(1558),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(937),
    [sym_real_literal] = ACTIONS(939),
    [sym_integer_literal] = ACTIONS(937),
    [sym_hex_literal] = ACTIONS(937),
    [sym_oct_literal] = ACTIONS(939),
    [sym_bin_literal] = ACTIONS(939),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(957),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(911),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(937),
    [anon_sym_GT] = ACTIONS(937),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(913),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(939),
    [anon_sym_DASH_EQ] = ACTIONS(939),
    [anon_sym_STAR_EQ] = ACTIONS(939),
    [anon_sym_SLASH_EQ] = ACTIONS(939),
    [anon_sym_PERCENT_EQ] = ACTIONS(939),
    [anon_sym_BANG_EQ] = ACTIONS(937),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(939),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(939),
    [anon_sym_LT_EQ] = ACTIONS(939),
    [anon_sym_GT_EQ] = ACTIONS(939),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(915),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(937),
    [anon_sym_SLASH] = ACTIONS(937),
    [anon_sym_PERCENT] = ACTIONS(937),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(939),
    [anon_sym_CARET] = ACTIONS(937),
    [anon_sym_LT_LT] = ACTIONS(939),
    [anon_sym_GT_GT] = ACTIONS(939),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [sym_wildcard_pattern] = ACTIONS(917),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(919),
    [sym__eq_custom] = ACTIONS(939),
    [sym__eq_eq_custom] = ACTIONS(939),
    [sym__plus_then_ws] = ACTIONS(939),
    [sym__minus_then_ws] = ACTIONS(939),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [164] = {
    [sym_simple_identifier] = STATE(3049),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1558),
    [sym_boolean_literal] = STATE(1558),
    [sym__string_literal] = STATE(1558),
    [sym_line_string_literal] = STATE(1558),
    [sym_multi_line_string_literal] = STATE(1558),
    [sym_raw_string_literal] = STATE(1558),
    [sym_regex_literal] = STATE(1558),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6309),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1558),
    [sym__unary_expression] = STATE(1558),
    [sym_postfix_expression] = STATE(1558),
    [sym_constructor_expression] = STATE(1558),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1558),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1558),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1558),
    [sym_prefix_expression] = STATE(1558),
    [sym_as_expression] = STATE(1558),
    [sym_selector_expression] = STATE(1558),
    [sym__binary_expression] = STATE(1558),
    [sym_multiplicative_expression] = STATE(1558),
    [sym_additive_expression] = STATE(1558),
    [sym_range_expression] = STATE(1558),
    [sym_infix_expression] = STATE(1558),
    [sym_nil_coalescing_expression] = STATE(1558),
    [sym_check_expression] = STATE(1558),
    [sym_comparison_expression] = STATE(1558),
    [sym_equality_expression] = STATE(1558),
    [sym_conjunction_expression] = STATE(1558),
    [sym_disjunction_expression] = STATE(1558),
    [sym_bitwise_operation] = STATE(1558),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1558),
    [sym_await_expression] = STATE(1558),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1558),
    [sym_call_expression] = STATE(1558),
    [sym_macro_invocation] = STATE(1558),
    [sym__primary_expression] = STATE(1558),
    [sym_tuple_expression] = STATE(1558),
    [sym_array_literal] = STATE(1558),
    [sym_dictionary_literal] = STATE(1558),
    [sym_special_literal] = STATE(1558),
    [sym_playground_literal] = STATE(1558),
    [sym_lambda_literal] = STATE(1558),
    [sym_self_expression] = STATE(1558),
    [sym_super_expression] = STATE(1558),
    [sym_if_statement] = STATE(1558),
    [sym_switch_statement] = STATE(1558),
    [sym_key_path_expression] = STATE(1558),
    [sym_key_path_string_expression] = STATE(1558),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1558),
    [sym__equality_operator] = STATE(1558),
    [sym__comparison_operator] = STATE(1558),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1558),
    [sym__multiplicative_operator] = STATE(1558),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1558),
    [sym_value_parameter_pack] = STATE(1558),
    [sym_value_pack_expansion] = STATE(1558),
    [sym__referenceable_operator] = STATE(1558),
    [sym__equal_sign] = STATE(1558),
    [sym__eq_eq] = STATE(1558),
    [sym__dot] = STATE(1513),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__universally_allowed_pattern] = STATE(6718),
    [sym__bound_identifier] = STATE(6933),
    [sym__binding_pattern_no_expr] = STATE(8525),
    [sym__binding_pattern_with_expr] = STATE(8636),
    [sym_value_binding_pattern] = STATE(4817),
    [sym__tuple_pattern_item] = STATE(8286),
    [sym__tuple_pattern] = STATE(6718),
    [sym__case_pattern] = STATE(6718),
    [sym__type_casting_pattern] = STATE(6729),
    [sym__binding_pattern] = STATE(6701),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1558),
    [sym_diagnostic] = STATE(1558),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(937),
    [sym_real_literal] = ACTIONS(939),
    [sym_integer_literal] = ACTIONS(937),
    [sym_hex_literal] = ACTIONS(937),
    [sym_oct_literal] = ACTIONS(939),
    [sym_bin_literal] = ACTIONS(939),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(959),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(911),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(937),
    [anon_sym_GT] = ACTIONS(937),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(913),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(939),
    [anon_sym_DASH_EQ] = ACTIONS(939),
    [anon_sym_STAR_EQ] = ACTIONS(939),
    [anon_sym_SLASH_EQ] = ACTIONS(939),
    [anon_sym_PERCENT_EQ] = ACTIONS(939),
    [anon_sym_BANG_EQ] = ACTIONS(937),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(939),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(939),
    [anon_sym_LT_EQ] = ACTIONS(939),
    [anon_sym_GT_EQ] = ACTIONS(939),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(915),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(937),
    [anon_sym_SLASH] = ACTIONS(937),
    [anon_sym_PERCENT] = ACTIONS(937),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(939),
    [anon_sym_CARET] = ACTIONS(937),
    [anon_sym_LT_LT] = ACTIONS(939),
    [anon_sym_GT_GT] = ACTIONS(939),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [sym_wildcard_pattern] = ACTIONS(917),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(919),
    [sym__eq_custom] = ACTIONS(939),
    [sym__eq_eq_custom] = ACTIONS(939),
    [sym__plus_then_ws] = ACTIONS(939),
    [sym__minus_then_ws] = ACTIONS(939),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [165] = {
    [sym_simple_identifier] = STATE(3049),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1558),
    [sym_boolean_literal] = STATE(1558),
    [sym__string_literal] = STATE(1558),
    [sym_line_string_literal] = STATE(1558),
    [sym_multi_line_string_literal] = STATE(1558),
    [sym_raw_string_literal] = STATE(1558),
    [sym_regex_literal] = STATE(1558),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6309),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1558),
    [sym__unary_expression] = STATE(1558),
    [sym_postfix_expression] = STATE(1558),
    [sym_constructor_expression] = STATE(1558),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1558),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1558),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1558),
    [sym_prefix_expression] = STATE(1558),
    [sym_as_expression] = STATE(1558),
    [sym_selector_expression] = STATE(1558),
    [sym__binary_expression] = STATE(1558),
    [sym_multiplicative_expression] = STATE(1558),
    [sym_additive_expression] = STATE(1558),
    [sym_range_expression] = STATE(1558),
    [sym_infix_expression] = STATE(1558),
    [sym_nil_coalescing_expression] = STATE(1558),
    [sym_check_expression] = STATE(1558),
    [sym_comparison_expression] = STATE(1558),
    [sym_equality_expression] = STATE(1558),
    [sym_conjunction_expression] = STATE(1558),
    [sym_disjunction_expression] = STATE(1558),
    [sym_bitwise_operation] = STATE(1558),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1558),
    [sym_await_expression] = STATE(1558),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1558),
    [sym_call_expression] = STATE(1558),
    [sym_macro_invocation] = STATE(1558),
    [sym__primary_expression] = STATE(1558),
    [sym_tuple_expression] = STATE(1558),
    [sym_array_literal] = STATE(1558),
    [sym_dictionary_literal] = STATE(1558),
    [sym_special_literal] = STATE(1558),
    [sym_playground_literal] = STATE(1558),
    [sym_lambda_literal] = STATE(1558),
    [sym_self_expression] = STATE(1558),
    [sym_super_expression] = STATE(1558),
    [sym_if_statement] = STATE(1558),
    [sym_switch_statement] = STATE(1558),
    [sym_key_path_expression] = STATE(1558),
    [sym_key_path_string_expression] = STATE(1558),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1558),
    [sym__equality_operator] = STATE(1558),
    [sym__comparison_operator] = STATE(1558),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1558),
    [sym__multiplicative_operator] = STATE(1558),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1558),
    [sym_value_parameter_pack] = STATE(1558),
    [sym_value_pack_expansion] = STATE(1558),
    [sym__referenceable_operator] = STATE(1558),
    [sym__equal_sign] = STATE(1558),
    [sym__eq_eq] = STATE(1558),
    [sym__dot] = STATE(1513),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__universally_allowed_pattern] = STATE(6718),
    [sym__bound_identifier] = STATE(6933),
    [sym__binding_pattern_no_expr] = STATE(8525),
    [sym__binding_pattern_with_expr] = STATE(8636),
    [sym_value_binding_pattern] = STATE(4817),
    [sym__tuple_pattern_item] = STATE(8286),
    [sym__tuple_pattern] = STATE(6718),
    [sym__case_pattern] = STATE(6718),
    [sym__type_casting_pattern] = STATE(6729),
    [sym__binding_pattern] = STATE(6701),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1558),
    [sym_diagnostic] = STATE(1558),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(937),
    [sym_real_literal] = ACTIONS(939),
    [sym_integer_literal] = ACTIONS(937),
    [sym_hex_literal] = ACTIONS(937),
    [sym_oct_literal] = ACTIONS(939),
    [sym_bin_literal] = ACTIONS(939),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(961),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(911),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(937),
    [anon_sym_GT] = ACTIONS(937),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(913),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(939),
    [anon_sym_DASH_EQ] = ACTIONS(939),
    [anon_sym_STAR_EQ] = ACTIONS(939),
    [anon_sym_SLASH_EQ] = ACTIONS(939),
    [anon_sym_PERCENT_EQ] = ACTIONS(939),
    [anon_sym_BANG_EQ] = ACTIONS(937),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(939),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(939),
    [anon_sym_LT_EQ] = ACTIONS(939),
    [anon_sym_GT_EQ] = ACTIONS(939),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(915),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(937),
    [anon_sym_SLASH] = ACTIONS(937),
    [anon_sym_PERCENT] = ACTIONS(937),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(939),
    [anon_sym_CARET] = ACTIONS(937),
    [anon_sym_LT_LT] = ACTIONS(939),
    [anon_sym_GT_GT] = ACTIONS(939),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [sym_wildcard_pattern] = ACTIONS(917),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(919),
    [sym__eq_custom] = ACTIONS(939),
    [sym__eq_eq_custom] = ACTIONS(939),
    [sym__plus_then_ws] = ACTIONS(939),
    [sym__minus_then_ws] = ACTIONS(939),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [166] = {
    [sym_simple_identifier] = STATE(3049),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1558),
    [sym_boolean_literal] = STATE(1558),
    [sym__string_literal] = STATE(1558),
    [sym_line_string_literal] = STATE(1558),
    [sym_multi_line_string_literal] = STATE(1558),
    [sym_raw_string_literal] = STATE(1558),
    [sym_regex_literal] = STATE(1558),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6309),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1558),
    [sym__unary_expression] = STATE(1558),
    [sym_postfix_expression] = STATE(1558),
    [sym_constructor_expression] = STATE(1558),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1558),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1558),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1558),
    [sym_prefix_expression] = STATE(1558),
    [sym_as_expression] = STATE(1558),
    [sym_selector_expression] = STATE(1558),
    [sym__binary_expression] = STATE(1558),
    [sym_multiplicative_expression] = STATE(1558),
    [sym_additive_expression] = STATE(1558),
    [sym_range_expression] = STATE(1558),
    [sym_infix_expression] = STATE(1558),
    [sym_nil_coalescing_expression] = STATE(1558),
    [sym_check_expression] = STATE(1558),
    [sym_comparison_expression] = STATE(1558),
    [sym_equality_expression] = STATE(1558),
    [sym_conjunction_expression] = STATE(1558),
    [sym_disjunction_expression] = STATE(1558),
    [sym_bitwise_operation] = STATE(1558),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1558),
    [sym_await_expression] = STATE(1558),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1558),
    [sym_call_expression] = STATE(1558),
    [sym_macro_invocation] = STATE(1558),
    [sym__primary_expression] = STATE(1558),
    [sym_tuple_expression] = STATE(1558),
    [sym_array_literal] = STATE(1558),
    [sym_dictionary_literal] = STATE(1558),
    [sym_special_literal] = STATE(1558),
    [sym_playground_literal] = STATE(1558),
    [sym_lambda_literal] = STATE(1558),
    [sym_self_expression] = STATE(1558),
    [sym_super_expression] = STATE(1558),
    [sym_if_statement] = STATE(1558),
    [sym_switch_statement] = STATE(1558),
    [sym_key_path_expression] = STATE(1558),
    [sym_key_path_string_expression] = STATE(1558),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1558),
    [sym__equality_operator] = STATE(1558),
    [sym__comparison_operator] = STATE(1558),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1558),
    [sym__multiplicative_operator] = STATE(1558),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1558),
    [sym_value_parameter_pack] = STATE(1558),
    [sym_value_pack_expansion] = STATE(1558),
    [sym__referenceable_operator] = STATE(1558),
    [sym__equal_sign] = STATE(1558),
    [sym__eq_eq] = STATE(1558),
    [sym__dot] = STATE(1513),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__universally_allowed_pattern] = STATE(6718),
    [sym__bound_identifier] = STATE(6933),
    [sym__binding_pattern_no_expr] = STATE(8525),
    [sym__binding_pattern_with_expr] = STATE(8636),
    [sym_value_binding_pattern] = STATE(4817),
    [sym__tuple_pattern_item] = STATE(8286),
    [sym__tuple_pattern] = STATE(6718),
    [sym__case_pattern] = STATE(6718),
    [sym__type_casting_pattern] = STATE(6729),
    [sym__binding_pattern] = STATE(6701),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1558),
    [sym_diagnostic] = STATE(1558),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(937),
    [sym_real_literal] = ACTIONS(939),
    [sym_integer_literal] = ACTIONS(937),
    [sym_hex_literal] = ACTIONS(937),
    [sym_oct_literal] = ACTIONS(939),
    [sym_bin_literal] = ACTIONS(939),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(963),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(911),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(937),
    [anon_sym_GT] = ACTIONS(937),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(913),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(939),
    [anon_sym_DASH_EQ] = ACTIONS(939),
    [anon_sym_STAR_EQ] = ACTIONS(939),
    [anon_sym_SLASH_EQ] = ACTIONS(939),
    [anon_sym_PERCENT_EQ] = ACTIONS(939),
    [anon_sym_BANG_EQ] = ACTIONS(937),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(939),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(939),
    [anon_sym_LT_EQ] = ACTIONS(939),
    [anon_sym_GT_EQ] = ACTIONS(939),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(915),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(937),
    [anon_sym_SLASH] = ACTIONS(937),
    [anon_sym_PERCENT] = ACTIONS(937),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(939),
    [anon_sym_CARET] = ACTIONS(937),
    [anon_sym_LT_LT] = ACTIONS(939),
    [anon_sym_GT_GT] = ACTIONS(939),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [sym_wildcard_pattern] = ACTIONS(917),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(919),
    [sym__eq_custom] = ACTIONS(939),
    [sym__eq_eq_custom] = ACTIONS(939),
    [sym__plus_then_ws] = ACTIONS(939),
    [sym__minus_then_ws] = ACTIONS(939),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [167] = {
    [sym_simple_identifier] = STATE(3049),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1558),
    [sym_boolean_literal] = STATE(1558),
    [sym__string_literal] = STATE(1558),
    [sym_line_string_literal] = STATE(1558),
    [sym_multi_line_string_literal] = STATE(1558),
    [sym_raw_string_literal] = STATE(1558),
    [sym_regex_literal] = STATE(1558),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6309),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1558),
    [sym__unary_expression] = STATE(1558),
    [sym_postfix_expression] = STATE(1558),
    [sym_constructor_expression] = STATE(1558),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1558),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1558),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1558),
    [sym_prefix_expression] = STATE(1558),
    [sym_as_expression] = STATE(1558),
    [sym_selector_expression] = STATE(1558),
    [sym__binary_expression] = STATE(1558),
    [sym_multiplicative_expression] = STATE(1558),
    [sym_additive_expression] = STATE(1558),
    [sym_range_expression] = STATE(1558),
    [sym_infix_expression] = STATE(1558),
    [sym_nil_coalescing_expression] = STATE(1558),
    [sym_check_expression] = STATE(1558),
    [sym_comparison_expression] = STATE(1558),
    [sym_equality_expression] = STATE(1558),
    [sym_conjunction_expression] = STATE(1558),
    [sym_disjunction_expression] = STATE(1558),
    [sym_bitwise_operation] = STATE(1558),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1558),
    [sym_await_expression] = STATE(1558),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1558),
    [sym_call_expression] = STATE(1558),
    [sym_macro_invocation] = STATE(1558),
    [sym__primary_expression] = STATE(1558),
    [sym_tuple_expression] = STATE(1558),
    [sym_array_literal] = STATE(1558),
    [sym_dictionary_literal] = STATE(1558),
    [sym_special_literal] = STATE(1558),
    [sym_playground_literal] = STATE(1558),
    [sym_lambda_literal] = STATE(1558),
    [sym_self_expression] = STATE(1558),
    [sym_super_expression] = STATE(1558),
    [sym_if_statement] = STATE(1558),
    [sym_switch_statement] = STATE(1558),
    [sym_key_path_expression] = STATE(1558),
    [sym_key_path_string_expression] = STATE(1558),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1558),
    [sym__equality_operator] = STATE(1558),
    [sym__comparison_operator] = STATE(1558),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1558),
    [sym__multiplicative_operator] = STATE(1558),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1558),
    [sym_value_parameter_pack] = STATE(1558),
    [sym_value_pack_expansion] = STATE(1558),
    [sym__referenceable_operator] = STATE(1558),
    [sym__equal_sign] = STATE(1558),
    [sym__eq_eq] = STATE(1558),
    [sym__dot] = STATE(1513),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__universally_allowed_pattern] = STATE(6718),
    [sym__bound_identifier] = STATE(6933),
    [sym__binding_pattern_no_expr] = STATE(8525),
    [sym__binding_pattern_with_expr] = STATE(8636),
    [sym_value_binding_pattern] = STATE(4817),
    [sym__tuple_pattern_item] = STATE(8286),
    [sym__tuple_pattern] = STATE(6718),
    [sym__case_pattern] = STATE(6718),
    [sym__type_casting_pattern] = STATE(6729),
    [sym__binding_pattern] = STATE(6701),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1558),
    [sym_diagnostic] = STATE(1558),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(937),
    [sym_real_literal] = ACTIONS(939),
    [sym_integer_literal] = ACTIONS(937),
    [sym_hex_literal] = ACTIONS(937),
    [sym_oct_literal] = ACTIONS(939),
    [sym_bin_literal] = ACTIONS(939),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(965),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(911),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(937),
    [anon_sym_GT] = ACTIONS(937),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(913),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(939),
    [anon_sym_DASH_EQ] = ACTIONS(939),
    [anon_sym_STAR_EQ] = ACTIONS(939),
    [anon_sym_SLASH_EQ] = ACTIONS(939),
    [anon_sym_PERCENT_EQ] = ACTIONS(939),
    [anon_sym_BANG_EQ] = ACTIONS(937),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(939),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(939),
    [anon_sym_LT_EQ] = ACTIONS(939),
    [anon_sym_GT_EQ] = ACTIONS(939),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(915),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(937),
    [anon_sym_SLASH] = ACTIONS(937),
    [anon_sym_PERCENT] = ACTIONS(937),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(939),
    [anon_sym_CARET] = ACTIONS(937),
    [anon_sym_LT_LT] = ACTIONS(939),
    [anon_sym_GT_GT] = ACTIONS(939),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [sym_wildcard_pattern] = ACTIONS(917),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(919),
    [sym__eq_custom] = ACTIONS(939),
    [sym__eq_eq_custom] = ACTIONS(939),
    [sym__plus_then_ws] = ACTIONS(939),
    [sym__minus_then_ws] = ACTIONS(939),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [168] = {
    [sym_simple_identifier] = STATE(3049),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1558),
    [sym_boolean_literal] = STATE(1558),
    [sym__string_literal] = STATE(1558),
    [sym_line_string_literal] = STATE(1558),
    [sym_multi_line_string_literal] = STATE(1558),
    [sym_raw_string_literal] = STATE(1558),
    [sym_regex_literal] = STATE(1558),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6309),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1558),
    [sym__unary_expression] = STATE(1558),
    [sym_postfix_expression] = STATE(1558),
    [sym_constructor_expression] = STATE(1558),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1558),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1558),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1558),
    [sym_prefix_expression] = STATE(1558),
    [sym_as_expression] = STATE(1558),
    [sym_selector_expression] = STATE(1558),
    [sym__binary_expression] = STATE(1558),
    [sym_multiplicative_expression] = STATE(1558),
    [sym_additive_expression] = STATE(1558),
    [sym_range_expression] = STATE(1558),
    [sym_infix_expression] = STATE(1558),
    [sym_nil_coalescing_expression] = STATE(1558),
    [sym_check_expression] = STATE(1558),
    [sym_comparison_expression] = STATE(1558),
    [sym_equality_expression] = STATE(1558),
    [sym_conjunction_expression] = STATE(1558),
    [sym_disjunction_expression] = STATE(1558),
    [sym_bitwise_operation] = STATE(1558),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1558),
    [sym_await_expression] = STATE(1558),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1558),
    [sym_call_expression] = STATE(1558),
    [sym_macro_invocation] = STATE(1558),
    [sym__primary_expression] = STATE(1558),
    [sym_tuple_expression] = STATE(1558),
    [sym_array_literal] = STATE(1558),
    [sym_dictionary_literal] = STATE(1558),
    [sym_special_literal] = STATE(1558),
    [sym_playground_literal] = STATE(1558),
    [sym_lambda_literal] = STATE(1558),
    [sym_self_expression] = STATE(1558),
    [sym_super_expression] = STATE(1558),
    [sym_if_statement] = STATE(1558),
    [sym_switch_statement] = STATE(1558),
    [sym_key_path_expression] = STATE(1558),
    [sym_key_path_string_expression] = STATE(1558),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1558),
    [sym__equality_operator] = STATE(1558),
    [sym__comparison_operator] = STATE(1558),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1558),
    [sym__multiplicative_operator] = STATE(1558),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1558),
    [sym_value_parameter_pack] = STATE(1558),
    [sym_value_pack_expansion] = STATE(1558),
    [sym__referenceable_operator] = STATE(1558),
    [sym__equal_sign] = STATE(1558),
    [sym__eq_eq] = STATE(1558),
    [sym__dot] = STATE(1513),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__universally_allowed_pattern] = STATE(6718),
    [sym__bound_identifier] = STATE(6933),
    [sym__binding_pattern_no_expr] = STATE(8525),
    [sym__binding_pattern_with_expr] = STATE(8636),
    [sym_value_binding_pattern] = STATE(4817),
    [sym__tuple_pattern_item] = STATE(8286),
    [sym__tuple_pattern] = STATE(6718),
    [sym__case_pattern] = STATE(6718),
    [sym__type_casting_pattern] = STATE(6729),
    [sym__binding_pattern] = STATE(6701),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1558),
    [sym_diagnostic] = STATE(1558),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(937),
    [sym_real_literal] = ACTIONS(939),
    [sym_integer_literal] = ACTIONS(937),
    [sym_hex_literal] = ACTIONS(937),
    [sym_oct_literal] = ACTIONS(939),
    [sym_bin_literal] = ACTIONS(939),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(967),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(911),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(937),
    [anon_sym_GT] = ACTIONS(937),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(913),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(939),
    [anon_sym_DASH_EQ] = ACTIONS(939),
    [anon_sym_STAR_EQ] = ACTIONS(939),
    [anon_sym_SLASH_EQ] = ACTIONS(939),
    [anon_sym_PERCENT_EQ] = ACTIONS(939),
    [anon_sym_BANG_EQ] = ACTIONS(937),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(939),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(939),
    [anon_sym_LT_EQ] = ACTIONS(939),
    [anon_sym_GT_EQ] = ACTIONS(939),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(915),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(937),
    [anon_sym_SLASH] = ACTIONS(937),
    [anon_sym_PERCENT] = ACTIONS(937),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(939),
    [anon_sym_CARET] = ACTIONS(937),
    [anon_sym_LT_LT] = ACTIONS(939),
    [anon_sym_GT_GT] = ACTIONS(939),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [sym_wildcard_pattern] = ACTIONS(917),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(919),
    [sym__eq_custom] = ACTIONS(939),
    [sym__eq_eq_custom] = ACTIONS(939),
    [sym__plus_then_ws] = ACTIONS(939),
    [sym__minus_then_ws] = ACTIONS(939),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [169] = {
    [sym_simple_identifier] = STATE(2851),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1558),
    [sym_boolean_literal] = STATE(1558),
    [sym__string_literal] = STATE(1558),
    [sym_line_string_literal] = STATE(1558),
    [sym_multi_line_string_literal] = STATE(1558),
    [sym_raw_string_literal] = STATE(1558),
    [sym_regex_literal] = STATE(1558),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6309),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1558),
    [sym__unary_expression] = STATE(1558),
    [sym_postfix_expression] = STATE(1558),
    [sym_constructor_expression] = STATE(1558),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1558),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1558),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1558),
    [sym_prefix_expression] = STATE(1558),
    [sym_as_expression] = STATE(1558),
    [sym_selector_expression] = STATE(1558),
    [sym__binary_expression] = STATE(1558),
    [sym_multiplicative_expression] = STATE(1558),
    [sym_additive_expression] = STATE(1558),
    [sym_range_expression] = STATE(1558),
    [sym_infix_expression] = STATE(1558),
    [sym_nil_coalescing_expression] = STATE(1558),
    [sym_check_expression] = STATE(1558),
    [sym_comparison_expression] = STATE(1558),
    [sym_equality_expression] = STATE(1558),
    [sym_conjunction_expression] = STATE(1558),
    [sym_disjunction_expression] = STATE(1558),
    [sym_bitwise_operation] = STATE(1558),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1558),
    [sym_await_expression] = STATE(1558),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1558),
    [sym_call_expression] = STATE(1558),
    [sym_macro_invocation] = STATE(1558),
    [sym__primary_expression] = STATE(1558),
    [sym_tuple_expression] = STATE(1558),
    [sym_array_literal] = STATE(1558),
    [sym_dictionary_literal] = STATE(1558),
    [sym_special_literal] = STATE(1558),
    [sym_playground_literal] = STATE(1558),
    [sym_lambda_literal] = STATE(1558),
    [sym_self_expression] = STATE(1558),
    [sym_super_expression] = STATE(1558),
    [sym_if_statement] = STATE(1558),
    [sym_switch_statement] = STATE(1558),
    [sym_switch_pattern] = STATE(8423),
    [sym_key_path_expression] = STATE(1558),
    [sym_key_path_string_expression] = STATE(1558),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1558),
    [sym__equality_operator] = STATE(1558),
    [sym__comparison_operator] = STATE(1558),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1558),
    [sym__multiplicative_operator] = STATE(1558),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1558),
    [sym_value_parameter_pack] = STATE(1558),
    [sym_value_pack_expansion] = STATE(1558),
    [sym__referenceable_operator] = STATE(1558),
    [sym__equal_sign] = STATE(1558),
    [sym__eq_eq] = STATE(1558),
    [sym__dot] = STATE(1513),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__universally_allowed_pattern] = STATE(6718),
    [sym__bound_identifier] = STATE(6933),
    [sym__binding_pattern_no_expr] = STATE(8525),
    [sym__binding_pattern_with_expr] = STATE(8432),
    [sym_value_binding_pattern] = STATE(4817),
    [sym__tuple_pattern] = STATE(6718),
    [sym__case_pattern] = STATE(6718),
    [sym__type_casting_pattern] = STATE(6729),
    [sym__binding_pattern] = STATE(6701),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1558),
    [sym_diagnostic] = STATE(1558),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(937),
    [sym_real_literal] = ACTIONS(939),
    [sym_integer_literal] = ACTIONS(937),
    [sym_hex_literal] = ACTIONS(937),
    [sym_oct_literal] = ACTIONS(939),
    [sym_bin_literal] = ACTIONS(939),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(911),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(937),
    [anon_sym_GT] = ACTIONS(937),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(913),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(939),
    [anon_sym_DASH_EQ] = ACTIONS(939),
    [anon_sym_STAR_EQ] = ACTIONS(939),
    [anon_sym_SLASH_EQ] = ACTIONS(939),
    [anon_sym_PERCENT_EQ] = ACTIONS(939),
    [anon_sym_BANG_EQ] = ACTIONS(937),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(939),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(939),
    [anon_sym_LT_EQ] = ACTIONS(939),
    [anon_sym_GT_EQ] = ACTIONS(939),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(915),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(937),
    [anon_sym_SLASH] = ACTIONS(937),
    [anon_sym_PERCENT] = ACTIONS(937),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(939),
    [anon_sym_CARET] = ACTIONS(937),
    [anon_sym_LT_LT] = ACTIONS(939),
    [anon_sym_GT_GT] = ACTIONS(939),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [sym_wildcard_pattern] = ACTIONS(917),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(919),
    [sym__eq_custom] = ACTIONS(939),
    [sym__eq_eq_custom] = ACTIONS(939),
    [sym__plus_then_ws] = ACTIONS(939),
    [sym__minus_then_ws] = ACTIONS(939),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [170] = {
    [sym_simple_identifier] = STATE(3049),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1558),
    [sym_boolean_literal] = STATE(1558),
    [sym__string_literal] = STATE(1558),
    [sym_line_string_literal] = STATE(1558),
    [sym_multi_line_string_literal] = STATE(1558),
    [sym_raw_string_literal] = STATE(1558),
    [sym_regex_literal] = STATE(1558),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6309),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1558),
    [sym__unary_expression] = STATE(1558),
    [sym_postfix_expression] = STATE(1558),
    [sym_constructor_expression] = STATE(1558),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1558),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1558),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1558),
    [sym_prefix_expression] = STATE(1558),
    [sym_as_expression] = STATE(1558),
    [sym_selector_expression] = STATE(1558),
    [sym__binary_expression] = STATE(1558),
    [sym_multiplicative_expression] = STATE(1558),
    [sym_additive_expression] = STATE(1558),
    [sym_range_expression] = STATE(1558),
    [sym_infix_expression] = STATE(1558),
    [sym_nil_coalescing_expression] = STATE(1558),
    [sym_check_expression] = STATE(1558),
    [sym_comparison_expression] = STATE(1558),
    [sym_equality_expression] = STATE(1558),
    [sym_conjunction_expression] = STATE(1558),
    [sym_disjunction_expression] = STATE(1558),
    [sym_bitwise_operation] = STATE(1558),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1558),
    [sym_await_expression] = STATE(1558),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1558),
    [sym_call_expression] = STATE(1558),
    [sym_macro_invocation] = STATE(1558),
    [sym__primary_expression] = STATE(1558),
    [sym_tuple_expression] = STATE(1558),
    [sym_array_literal] = STATE(1558),
    [sym_dictionary_literal] = STATE(1558),
    [sym_special_literal] = STATE(1558),
    [sym_playground_literal] = STATE(1558),
    [sym_lambda_literal] = STATE(1558),
    [sym_self_expression] = STATE(1558),
    [sym_super_expression] = STATE(1558),
    [sym_if_statement] = STATE(1558),
    [sym_switch_statement] = STATE(1558),
    [sym_key_path_expression] = STATE(1558),
    [sym_key_path_string_expression] = STATE(1558),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1558),
    [sym__equality_operator] = STATE(1558),
    [sym__comparison_operator] = STATE(1558),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1558),
    [sym__multiplicative_operator] = STATE(1558),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1558),
    [sym_value_parameter_pack] = STATE(1558),
    [sym_value_pack_expansion] = STATE(1558),
    [sym__referenceable_operator] = STATE(1558),
    [sym__equal_sign] = STATE(1558),
    [sym__eq_eq] = STATE(1558),
    [sym__dot] = STATE(1513),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__universally_allowed_pattern] = STATE(6718),
    [sym__bound_identifier] = STATE(6933),
    [sym__binding_pattern_no_expr] = STATE(8525),
    [sym__binding_pattern_with_expr] = STATE(8636),
    [sym_value_binding_pattern] = STATE(4817),
    [sym__tuple_pattern_item] = STATE(8133),
    [sym__tuple_pattern] = STATE(6718),
    [sym__case_pattern] = STATE(6718),
    [sym__type_casting_pattern] = STATE(6729),
    [sym__binding_pattern] = STATE(6701),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1558),
    [sym_diagnostic] = STATE(1558),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(937),
    [sym_real_literal] = ACTIONS(939),
    [sym_integer_literal] = ACTIONS(937),
    [sym_hex_literal] = ACTIONS(937),
    [sym_oct_literal] = ACTIONS(939),
    [sym_bin_literal] = ACTIONS(939),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(911),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(937),
    [anon_sym_GT] = ACTIONS(937),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(913),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(939),
    [anon_sym_DASH_EQ] = ACTIONS(939),
    [anon_sym_STAR_EQ] = ACTIONS(939),
    [anon_sym_SLASH_EQ] = ACTIONS(939),
    [anon_sym_PERCENT_EQ] = ACTIONS(939),
    [anon_sym_BANG_EQ] = ACTIONS(937),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(939),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(939),
    [anon_sym_LT_EQ] = ACTIONS(939),
    [anon_sym_GT_EQ] = ACTIONS(939),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(915),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(937),
    [anon_sym_SLASH] = ACTIONS(937),
    [anon_sym_PERCENT] = ACTIONS(937),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(939),
    [anon_sym_CARET] = ACTIONS(937),
    [anon_sym_LT_LT] = ACTIONS(939),
    [anon_sym_GT_GT] = ACTIONS(939),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [sym_wildcard_pattern] = ACTIONS(917),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(919),
    [sym__eq_custom] = ACTIONS(939),
    [sym__eq_eq_custom] = ACTIONS(939),
    [sym__plus_then_ws] = ACTIONS(939),
    [sym__minus_then_ws] = ACTIONS(939),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [171] = {
    [sym_simple_identifier] = STATE(2331),
    [sym__contextual_simple_identifier] = STATE(2240),
    [sym__basic_literal] = STATE(1465),
    [sym_boolean_literal] = STATE(1465),
    [sym__string_literal] = STATE(1465),
    [sym_line_string_literal] = STATE(1465),
    [sym_multi_line_string_literal] = STATE(1465),
    [sym_raw_string_literal] = STATE(1465),
    [sym_regex_literal] = STATE(1465),
    [sym__extended_regex_literal] = STATE(2556),
    [sym__multiline_regex_literal] = STATE(2556),
    [sym_user_type] = STATE(6440),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6440),
    [sym_dictionary_type] = STATE(6440),
    [sym__expression] = STATE(1465),
    [sym__unary_expression] = STATE(1465),
    [sym_postfix_expression] = STATE(1465),
    [sym_constructor_expression] = STATE(1465),
    [sym__parenthesized_type] = STATE(7995),
    [sym_navigation_expression] = STATE(1465),
    [sym__navigable_type_expression] = STATE(8059),
    [sym_open_start_range_expression] = STATE(1465),
    [sym__range_operator] = STATE(576),
    [sym_open_end_range_expression] = STATE(1465),
    [sym_prefix_expression] = STATE(1465),
    [sym_as_expression] = STATE(1465),
    [sym_selector_expression] = STATE(1465),
    [sym__binary_expression] = STATE(1465),
    [sym_multiplicative_expression] = STATE(1465),
    [sym_additive_expression] = STATE(1465),
    [sym_range_expression] = STATE(1465),
    [sym_infix_expression] = STATE(1465),
    [sym_nil_coalescing_expression] = STATE(1465),
    [sym_check_expression] = STATE(1465),
    [sym_comparison_expression] = STATE(1465),
    [sym_equality_expression] = STATE(1465),
    [sym_conjunction_expression] = STATE(1465),
    [sym_disjunction_expression] = STATE(1465),
    [sym_bitwise_operation] = STATE(1465),
    [sym_custom_operator] = STATE(1097),
    [sym_try_expression] = STATE(1465),
    [sym_await_expression] = STATE(1465),
    [sym__await_operator] = STATE(575),
    [sym_ternary_expression] = STATE(1465),
    [sym_call_expression] = STATE(1465),
    [sym_macro_invocation] = STATE(1465),
    [sym__primary_expression] = STATE(1465),
    [sym_tuple_expression] = STATE(1465),
    [sym_array_literal] = STATE(1465),
    [sym_dictionary_literal] = STATE(1465),
    [sym_special_literal] = STATE(1465),
    [sym_playground_literal] = STATE(1465),
    [sym_lambda_literal] = STATE(1465),
    [sym_self_expression] = STATE(1465),
    [sym_super_expression] = STATE(1465),
    [sym_if_statement] = STATE(1465),
    [sym_switch_statement] = STATE(1465),
    [sym_key_path_expression] = STATE(1465),
    [sym_key_path_string_expression] = STATE(1465),
    [sym_try_operator] = STATE(648),
    [sym__assignment_and_operator] = STATE(1465),
    [sym__equality_operator] = STATE(1465),
    [sym__comparison_operator] = STATE(1465),
    [sym__three_dot_operator] = STATE(1089),
    [sym__open_ended_range_operator] = STATE(576),
    [sym__additive_operator] = STATE(1465),
    [sym__multiplicative_operator] = STATE(1465),
    [sym__prefix_unary_operator] = STATE(711),
    [sym_directly_assignable_expression] = STATE(6442),
    [sym_assignment] = STATE(1465),
    [sym_value_parameter_pack] = STATE(1465),
    [sym_value_pack_expansion] = STATE(1465),
    [sym__referenceable_operator] = STATE(1465),
    [sym__equal_sign] = STATE(1465),
    [sym__eq_eq] = STATE(1465),
    [sym__dot] = STATE(711),
    [sym__hash_symbol] = STATE(4850),
    [sym_bang] = STATE(1097),
    [sym__parameter_ownership_modifier] = STATE(2240),
    [sym_directive] = STATE(1465),
    [sym_diagnostic] = STATE(1465),
    [aux_sym_raw_string_literal_repeat1] = STATE(7884),
    [ts_builtin_sym_end] = ACTIONS(617),
    [anon_sym_BANG] = ACTIONS(969),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(971),
    [aux_sym_simple_identifier_token2] = ACTIONS(973),
    [aux_sym_simple_identifier_token3] = ACTIONS(973),
    [aux_sym_simple_identifier_token4] = ACTIONS(973),
    [anon_sym_actor] = ACTIONS(971),
    [anon_sym_async] = ACTIONS(971),
    [anon_sym_each] = ACTIONS(975),
    [anon_sym_lazy] = ACTIONS(971),
    [anon_sym_repeat] = ACTIONS(977),
    [anon_sym_package] = ACTIONS(971),
    [anon_sym_nil] = ACTIONS(979),
    [sym_real_literal] = ACTIONS(981),
    [sym_integer_literal] = ACTIONS(979),
    [sym_hex_literal] = ACTIONS(979),
    [sym_oct_literal] = ACTIONS(981),
    [sym_bin_literal] = ACTIONS(981),
    [anon_sym_true] = ACTIONS(983),
    [anon_sym_false] = ACTIONS(983),
    [anon_sym_DQUOTE] = ACTIONS(985),
    [anon_sym_BSLASH] = ACTIONS(987),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(989),
    [anon_sym_COMMA] = ACTIONS(617),
    [sym__oneline_regex_literal] = ACTIONS(991),
    [anon_sym_LPAREN] = ACTIONS(993),
    [anon_sym_LBRACK] = ACTIONS(995),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(997),
    [anon_sym_TILDE] = ACTIONS(997),
    [anon_sym_if] = ACTIONS(999),
    [anon_sym_switch] = ACTIONS(1001),
    [aux_sym_custom_operator_token1] = ACTIONS(1003),
    [anon_sym_LT] = ACTIONS(979),
    [anon_sym_GT] = ACTIONS(979),
    [anon_sym_await] = ACTIONS(1005),
    [anon_sym_LBRACE] = ACTIONS(1007),
    [anon_sym_CARET_LBRACE] = ACTIONS(1007),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_self] = ACTIONS(1009),
    [anon_sym_super] = ACTIONS(1011),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(981),
    [anon_sym_DASH_EQ] = ACTIONS(981),
    [anon_sym_STAR_EQ] = ACTIONS(981),
    [anon_sym_SLASH_EQ] = ACTIONS(981),
    [anon_sym_PERCENT_EQ] = ACTIONS(981),
    [anon_sym_BANG_EQ] = ACTIONS(979),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(981),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(981),
    [anon_sym_LT_EQ] = ACTIONS(981),
    [anon_sym_GT_EQ] = ACTIONS(981),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1013),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1015),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(1017),
    [anon_sym_DASH] = ACTIONS(1017),
    [anon_sym_STAR] = ACTIONS(979),
    [anon_sym_SLASH] = ACTIONS(979),
    [anon_sym_PERCENT] = ACTIONS(979),
    [anon_sym_PLUS_PLUS] = ACTIONS(997),
    [anon_sym_DASH_DASH] = ACTIONS(997),
    [anon_sym_PIPE] = ACTIONS(981),
    [anon_sym_CARET] = ACTIONS(979),
    [anon_sym_LT_LT] = ACTIONS(981),
    [anon_sym_GT_GT] = ACTIONS(981),
    [anon_sym_borrowing] = ACTIONS(971),
    [anon_sym_consuming] = ACTIONS(971),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1019),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(1021),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(981),
    [sym__eq_eq_custom] = ACTIONS(981),
    [sym__plus_then_ws] = ACTIONS(981),
    [sym__minus_then_ws] = ACTIONS(981),
    [sym__bang_custom] = ACTIONS(1023),
    [sym_where_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(1003),
    [sym__hash_symbol_custom] = ACTIONS(1025),
    [sym__directive_if] = ACTIONS(1027),
    [sym__directive_elseif] = ACTIONS(1027),
    [sym__directive_else] = ACTIONS(1029),
    [sym__directive_endif] = ACTIONS(1029),
  },
  [172] = {
    [sym_simple_identifier] = STATE(2913),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1528),
    [sym_boolean_literal] = STATE(1528),
    [sym__string_literal] = STATE(1528),
    [sym_line_string_literal] = STATE(1528),
    [sym_multi_line_string_literal] = STATE(1528),
    [sym_raw_string_literal] = STATE(1528),
    [sym_regex_literal] = STATE(1528),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6334),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1528),
    [sym__unary_expression] = STATE(1528),
    [sym_postfix_expression] = STATE(1528),
    [sym_constructor_expression] = STATE(1528),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1528),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1528),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1528),
    [sym_prefix_expression] = STATE(1528),
    [sym_as_expression] = STATE(1528),
    [sym_selector_expression] = STATE(1528),
    [sym__binary_expression] = STATE(1528),
    [sym_multiplicative_expression] = STATE(1528),
    [sym_additive_expression] = STATE(1528),
    [sym_range_expression] = STATE(1528),
    [sym_infix_expression] = STATE(1528),
    [sym_nil_coalescing_expression] = STATE(1528),
    [sym_check_expression] = STATE(1528),
    [sym_comparison_expression] = STATE(1528),
    [sym_equality_expression] = STATE(1528),
    [sym_conjunction_expression] = STATE(1528),
    [sym_disjunction_expression] = STATE(1528),
    [sym_bitwise_operation] = STATE(1528),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1528),
    [sym_await_expression] = STATE(1528),
    [sym__await_operator] = STATE(712),
    [sym_ternary_expression] = STATE(1528),
    [sym_call_expression] = STATE(1528),
    [sym_macro_invocation] = STATE(1528),
    [sym__primary_expression] = STATE(1528),
    [sym_tuple_expression] = STATE(1528),
    [sym_array_literal] = STATE(1528),
    [sym_dictionary_literal] = STATE(1528),
    [sym_special_literal] = STATE(1528),
    [sym_playground_literal] = STATE(1528),
    [sym_lambda_literal] = STATE(1528),
    [sym_self_expression] = STATE(1528),
    [sym_super_expression] = STATE(1528),
    [sym_if_statement] = STATE(1528),
    [sym_switch_statement] = STATE(1528),
    [sym_switch_pattern] = STATE(7168),
    [sym_key_path_expression] = STATE(1528),
    [sym_key_path_string_expression] = STATE(1528),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1528),
    [sym__equality_operator] = STATE(1528),
    [sym__comparison_operator] = STATE(1528),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1528),
    [sym__multiplicative_operator] = STATE(1528),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym_assignment] = STATE(1528),
    [sym_value_parameter_pack] = STATE(1528),
    [sym_value_pack_expansion] = STATE(1528),
    [sym__referenceable_operator] = STATE(1528),
    [sym__equal_sign] = STATE(1528),
    [sym__eq_eq] = STATE(1528),
    [sym__dot] = STATE(1501),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__universally_allowed_pattern] = STATE(6715),
    [sym__bound_identifier] = STATE(6933),
    [sym__binding_pattern_no_expr] = STATE(8619),
    [sym__binding_pattern_with_expr] = STATE(8158),
    [sym_value_binding_pattern] = STATE(4806),
    [sym__tuple_pattern] = STATE(6715),
    [sym__case_pattern] = STATE(6715),
    [sym__type_casting_pattern] = STATE(6695),
    [sym__binding_pattern] = STATE(6726),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1528),
    [sym_diagnostic] = STATE(1528),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(1041),
    [sym_real_literal] = ACTIONS(1043),
    [sym_integer_literal] = ACTIONS(1041),
    [sym_hex_literal] = ACTIONS(1041),
    [sym_oct_literal] = ACTIONS(1043),
    [sym_bin_literal] = ACTIONS(1043),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1055),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(1041),
    [anon_sym_GT] = ACTIONS(1041),
    [anon_sym_await] = ACTIONS(1067),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_case] = ACTIONS(1075),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1043),
    [anon_sym_DASH_EQ] = ACTIONS(1043),
    [anon_sym_STAR_EQ] = ACTIONS(1043),
    [anon_sym_SLASH_EQ] = ACTIONS(1043),
    [anon_sym_PERCENT_EQ] = ACTIONS(1043),
    [anon_sym_BANG_EQ] = ACTIONS(1041),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1043),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1043),
    [anon_sym_LT_EQ] = ACTIONS(1043),
    [anon_sym_GT_EQ] = ACTIONS(1043),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_is] = ACTIONS(1081),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(1041),
    [anon_sym_SLASH] = ACTIONS(1041),
    [anon_sym_PERCENT] = ACTIONS(1041),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(1043),
    [anon_sym_CARET] = ACTIONS(1041),
    [anon_sym_LT_LT] = ACTIONS(1043),
    [anon_sym_GT_GT] = ACTIONS(1043),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [sym_wildcard_pattern] = ACTIONS(1085),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1089),
    [sym__eq_custom] = ACTIONS(1043),
    [sym__eq_eq_custom] = ACTIONS(1043),
    [sym__plus_then_ws] = ACTIONS(1043),
    [sym__minus_then_ws] = ACTIONS(1043),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [173] = {
    [sym_simple_identifier] = STATE(3049),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1558),
    [sym_boolean_literal] = STATE(1558),
    [sym__string_literal] = STATE(1558),
    [sym_line_string_literal] = STATE(1558),
    [sym_multi_line_string_literal] = STATE(1558),
    [sym_raw_string_literal] = STATE(1558),
    [sym_regex_literal] = STATE(1558),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6309),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1558),
    [sym__unary_expression] = STATE(1558),
    [sym_postfix_expression] = STATE(1558),
    [sym_constructor_expression] = STATE(1558),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1558),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1558),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1558),
    [sym_prefix_expression] = STATE(1558),
    [sym_as_expression] = STATE(1558),
    [sym_selector_expression] = STATE(1558),
    [sym__binary_expression] = STATE(1558),
    [sym_multiplicative_expression] = STATE(1558),
    [sym_additive_expression] = STATE(1558),
    [sym_range_expression] = STATE(1558),
    [sym_infix_expression] = STATE(1558),
    [sym_nil_coalescing_expression] = STATE(1558),
    [sym_check_expression] = STATE(1558),
    [sym_comparison_expression] = STATE(1558),
    [sym_equality_expression] = STATE(1558),
    [sym_conjunction_expression] = STATE(1558),
    [sym_disjunction_expression] = STATE(1558),
    [sym_bitwise_operation] = STATE(1558),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1558),
    [sym_await_expression] = STATE(1558),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1558),
    [sym_call_expression] = STATE(1558),
    [sym_macro_invocation] = STATE(1558),
    [sym__primary_expression] = STATE(1558),
    [sym_tuple_expression] = STATE(1558),
    [sym_array_literal] = STATE(1558),
    [sym_dictionary_literal] = STATE(1558),
    [sym_special_literal] = STATE(1558),
    [sym_playground_literal] = STATE(1558),
    [sym_lambda_literal] = STATE(1558),
    [sym_self_expression] = STATE(1558),
    [sym_super_expression] = STATE(1558),
    [sym_if_statement] = STATE(1558),
    [sym_switch_statement] = STATE(1558),
    [sym_key_path_expression] = STATE(1558),
    [sym_key_path_string_expression] = STATE(1558),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1558),
    [sym__equality_operator] = STATE(1558),
    [sym__comparison_operator] = STATE(1558),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1558),
    [sym__multiplicative_operator] = STATE(1558),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1558),
    [sym_value_parameter_pack] = STATE(1558),
    [sym_value_pack_expansion] = STATE(1558),
    [sym__referenceable_operator] = STATE(1558),
    [sym__equal_sign] = STATE(1558),
    [sym__eq_eq] = STATE(1558),
    [sym__dot] = STATE(1513),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__universally_allowed_pattern] = STATE(6718),
    [sym__bound_identifier] = STATE(6933),
    [sym__binding_pattern_no_expr] = STATE(8525),
    [sym__binding_pattern_with_expr] = STATE(8636),
    [sym_value_binding_pattern] = STATE(4817),
    [sym__tuple_pattern_item] = STATE(7813),
    [sym__tuple_pattern] = STATE(6718),
    [sym__case_pattern] = STATE(6718),
    [sym__type_casting_pattern] = STATE(6729),
    [sym__binding_pattern] = STATE(6701),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1558),
    [sym_diagnostic] = STATE(1558),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(937),
    [sym_real_literal] = ACTIONS(939),
    [sym_integer_literal] = ACTIONS(937),
    [sym_hex_literal] = ACTIONS(937),
    [sym_oct_literal] = ACTIONS(939),
    [sym_bin_literal] = ACTIONS(939),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(911),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(937),
    [anon_sym_GT] = ACTIONS(937),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(913),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(939),
    [anon_sym_DASH_EQ] = ACTIONS(939),
    [anon_sym_STAR_EQ] = ACTIONS(939),
    [anon_sym_SLASH_EQ] = ACTIONS(939),
    [anon_sym_PERCENT_EQ] = ACTIONS(939),
    [anon_sym_BANG_EQ] = ACTIONS(937),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(939),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(939),
    [anon_sym_LT_EQ] = ACTIONS(939),
    [anon_sym_GT_EQ] = ACTIONS(939),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(915),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(937),
    [anon_sym_SLASH] = ACTIONS(937),
    [anon_sym_PERCENT] = ACTIONS(937),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(939),
    [anon_sym_CARET] = ACTIONS(937),
    [anon_sym_LT_LT] = ACTIONS(939),
    [anon_sym_GT_GT] = ACTIONS(939),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [sym_wildcard_pattern] = ACTIONS(917),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(919),
    [sym__eq_custom] = ACTIONS(939),
    [sym__eq_eq_custom] = ACTIONS(939),
    [sym__plus_then_ws] = ACTIONS(939),
    [sym__minus_then_ws] = ACTIONS(939),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [174] = {
    [sym_simple_identifier] = STATE(3049),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1558),
    [sym_boolean_literal] = STATE(1558),
    [sym__string_literal] = STATE(1558),
    [sym_line_string_literal] = STATE(1558),
    [sym_multi_line_string_literal] = STATE(1558),
    [sym_raw_string_literal] = STATE(1558),
    [sym_regex_literal] = STATE(1558),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6309),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1558),
    [sym__unary_expression] = STATE(1558),
    [sym_postfix_expression] = STATE(1558),
    [sym_constructor_expression] = STATE(1558),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1558),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1558),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1558),
    [sym_prefix_expression] = STATE(1558),
    [sym_as_expression] = STATE(1558),
    [sym_selector_expression] = STATE(1558),
    [sym__binary_expression] = STATE(1558),
    [sym_multiplicative_expression] = STATE(1558),
    [sym_additive_expression] = STATE(1558),
    [sym_range_expression] = STATE(1558),
    [sym_infix_expression] = STATE(1558),
    [sym_nil_coalescing_expression] = STATE(1558),
    [sym_check_expression] = STATE(1558),
    [sym_comparison_expression] = STATE(1558),
    [sym_equality_expression] = STATE(1558),
    [sym_conjunction_expression] = STATE(1558),
    [sym_disjunction_expression] = STATE(1558),
    [sym_bitwise_operation] = STATE(1558),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1558),
    [sym_await_expression] = STATE(1558),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1558),
    [sym_call_expression] = STATE(1558),
    [sym_macro_invocation] = STATE(1558),
    [sym__primary_expression] = STATE(1558),
    [sym_tuple_expression] = STATE(1558),
    [sym_array_literal] = STATE(1558),
    [sym_dictionary_literal] = STATE(1558),
    [sym_special_literal] = STATE(1558),
    [sym_playground_literal] = STATE(1558),
    [sym_lambda_literal] = STATE(1558),
    [sym_self_expression] = STATE(1558),
    [sym_super_expression] = STATE(1558),
    [sym_if_statement] = STATE(1558),
    [sym_switch_statement] = STATE(1558),
    [sym_key_path_expression] = STATE(1558),
    [sym_key_path_string_expression] = STATE(1558),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1558),
    [sym__equality_operator] = STATE(1558),
    [sym__comparison_operator] = STATE(1558),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1558),
    [sym__multiplicative_operator] = STATE(1558),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1558),
    [sym_value_parameter_pack] = STATE(1558),
    [sym_value_pack_expansion] = STATE(1558),
    [sym__referenceable_operator] = STATE(1558),
    [sym__equal_sign] = STATE(1558),
    [sym__eq_eq] = STATE(1558),
    [sym__dot] = STATE(1513),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__universally_allowed_pattern] = STATE(6718),
    [sym__bound_identifier] = STATE(6933),
    [sym__binding_pattern_no_expr] = STATE(8525),
    [sym__binding_pattern_with_expr] = STATE(8636),
    [sym_value_binding_pattern] = STATE(4817),
    [sym__tuple_pattern_item] = STATE(7889),
    [sym__tuple_pattern] = STATE(6718),
    [sym__case_pattern] = STATE(6718),
    [sym__type_casting_pattern] = STATE(6729),
    [sym__binding_pattern] = STATE(6701),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1558),
    [sym_diagnostic] = STATE(1558),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(937),
    [sym_real_literal] = ACTIONS(939),
    [sym_integer_literal] = ACTIONS(937),
    [sym_hex_literal] = ACTIONS(937),
    [sym_oct_literal] = ACTIONS(939),
    [sym_bin_literal] = ACTIONS(939),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(911),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(937),
    [anon_sym_GT] = ACTIONS(937),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(913),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(939),
    [anon_sym_DASH_EQ] = ACTIONS(939),
    [anon_sym_STAR_EQ] = ACTIONS(939),
    [anon_sym_SLASH_EQ] = ACTIONS(939),
    [anon_sym_PERCENT_EQ] = ACTIONS(939),
    [anon_sym_BANG_EQ] = ACTIONS(937),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(939),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(939),
    [anon_sym_LT_EQ] = ACTIONS(939),
    [anon_sym_GT_EQ] = ACTIONS(939),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(915),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(937),
    [anon_sym_SLASH] = ACTIONS(937),
    [anon_sym_PERCENT] = ACTIONS(937),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(939),
    [anon_sym_CARET] = ACTIONS(937),
    [anon_sym_LT_LT] = ACTIONS(939),
    [anon_sym_GT_GT] = ACTIONS(939),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [sym_wildcard_pattern] = ACTIONS(917),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(919),
    [sym__eq_custom] = ACTIONS(939),
    [sym__eq_eq_custom] = ACTIONS(939),
    [sym__plus_then_ws] = ACTIONS(939),
    [sym__minus_then_ws] = ACTIONS(939),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [175] = {
    [sym_simple_identifier] = STATE(2331),
    [sym__contextual_simple_identifier] = STATE(2240),
    [sym__basic_literal] = STATE(1463),
    [sym_boolean_literal] = STATE(1463),
    [sym__string_literal] = STATE(1463),
    [sym_line_string_literal] = STATE(1463),
    [sym_multi_line_string_literal] = STATE(1463),
    [sym_raw_string_literal] = STATE(1463),
    [sym_regex_literal] = STATE(1463),
    [sym__extended_regex_literal] = STATE(2556),
    [sym__multiline_regex_literal] = STATE(2556),
    [sym_user_type] = STATE(6440),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6440),
    [sym_dictionary_type] = STATE(6440),
    [sym__expression] = STATE(1463),
    [sym__unary_expression] = STATE(1463),
    [sym_postfix_expression] = STATE(1463),
    [sym_constructor_expression] = STATE(1463),
    [sym__parenthesized_type] = STATE(7995),
    [sym_navigation_expression] = STATE(1463),
    [sym__navigable_type_expression] = STATE(8059),
    [sym_open_start_range_expression] = STATE(1463),
    [sym__range_operator] = STATE(576),
    [sym_open_end_range_expression] = STATE(1463),
    [sym_prefix_expression] = STATE(1463),
    [sym_as_expression] = STATE(1463),
    [sym_selector_expression] = STATE(1463),
    [sym__binary_expression] = STATE(1463),
    [sym_multiplicative_expression] = STATE(1463),
    [sym_additive_expression] = STATE(1463),
    [sym_range_expression] = STATE(1463),
    [sym_infix_expression] = STATE(1463),
    [sym_nil_coalescing_expression] = STATE(1463),
    [sym_check_expression] = STATE(1463),
    [sym_comparison_expression] = STATE(1463),
    [sym_equality_expression] = STATE(1463),
    [sym_conjunction_expression] = STATE(1463),
    [sym_disjunction_expression] = STATE(1463),
    [sym_bitwise_operation] = STATE(1463),
    [sym_custom_operator] = STATE(1097),
    [sym_try_expression] = STATE(1463),
    [sym_await_expression] = STATE(1463),
    [sym__await_operator] = STATE(575),
    [sym_ternary_expression] = STATE(1463),
    [sym_call_expression] = STATE(1463),
    [sym_macro_invocation] = STATE(1463),
    [sym__primary_expression] = STATE(1463),
    [sym_tuple_expression] = STATE(1463),
    [sym_array_literal] = STATE(1463),
    [sym_dictionary_literal] = STATE(1463),
    [sym_special_literal] = STATE(1463),
    [sym_playground_literal] = STATE(1463),
    [sym_lambda_literal] = STATE(1463),
    [sym_self_expression] = STATE(1463),
    [sym_super_expression] = STATE(1463),
    [sym_if_statement] = STATE(1463),
    [sym_switch_statement] = STATE(1463),
    [sym_key_path_expression] = STATE(1463),
    [sym_key_path_string_expression] = STATE(1463),
    [sym_try_operator] = STATE(648),
    [sym__assignment_and_operator] = STATE(1463),
    [sym__equality_operator] = STATE(1463),
    [sym__comparison_operator] = STATE(1463),
    [sym__three_dot_operator] = STATE(1089),
    [sym__open_ended_range_operator] = STATE(576),
    [sym__additive_operator] = STATE(1463),
    [sym__multiplicative_operator] = STATE(1463),
    [sym__prefix_unary_operator] = STATE(711),
    [sym_directly_assignable_expression] = STATE(6442),
    [sym_assignment] = STATE(1463),
    [sym_value_parameter_pack] = STATE(1463),
    [sym_value_pack_expansion] = STATE(1463),
    [sym__referenceable_operator] = STATE(1463),
    [sym__equal_sign] = STATE(1463),
    [sym__eq_eq] = STATE(1463),
    [sym__dot] = STATE(711),
    [sym__hash_symbol] = STATE(4850),
    [sym_bang] = STATE(1097),
    [sym__parameter_ownership_modifier] = STATE(2240),
    [sym_directive] = STATE(1463),
    [sym_diagnostic] = STATE(1463),
    [aux_sym_raw_string_literal_repeat1] = STATE(7884),
    [ts_builtin_sym_end] = ACTIONS(617),
    [anon_sym_BANG] = ACTIONS(969),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(971),
    [aux_sym_simple_identifier_token2] = ACTIONS(973),
    [aux_sym_simple_identifier_token3] = ACTIONS(973),
    [aux_sym_simple_identifier_token4] = ACTIONS(973),
    [anon_sym_actor] = ACTIONS(971),
    [anon_sym_async] = ACTIONS(971),
    [anon_sym_each] = ACTIONS(975),
    [anon_sym_lazy] = ACTIONS(971),
    [anon_sym_repeat] = ACTIONS(977),
    [anon_sym_package] = ACTIONS(971),
    [anon_sym_nil] = ACTIONS(1099),
    [sym_real_literal] = ACTIONS(1101),
    [sym_integer_literal] = ACTIONS(1099),
    [sym_hex_literal] = ACTIONS(1099),
    [sym_oct_literal] = ACTIONS(1101),
    [sym_bin_literal] = ACTIONS(1101),
    [anon_sym_true] = ACTIONS(983),
    [anon_sym_false] = ACTIONS(983),
    [anon_sym_DQUOTE] = ACTIONS(985),
    [anon_sym_BSLASH] = ACTIONS(987),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(989),
    [anon_sym_COMMA] = ACTIONS(617),
    [sym__oneline_regex_literal] = ACTIONS(991),
    [anon_sym_LPAREN] = ACTIONS(993),
    [anon_sym_LBRACK] = ACTIONS(995),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(997),
    [anon_sym_TILDE] = ACTIONS(997),
    [anon_sym_if] = ACTIONS(999),
    [anon_sym_switch] = ACTIONS(1001),
    [aux_sym_custom_operator_token1] = ACTIONS(1003),
    [anon_sym_LT] = ACTIONS(1099),
    [anon_sym_GT] = ACTIONS(1099),
    [anon_sym_await] = ACTIONS(1005),
    [anon_sym_LBRACE] = ACTIONS(1007),
    [anon_sym_CARET_LBRACE] = ACTIONS(1007),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_self] = ACTIONS(1009),
    [anon_sym_super] = ACTIONS(1011),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1101),
    [anon_sym_DASH_EQ] = ACTIONS(1101),
    [anon_sym_STAR_EQ] = ACTIONS(1101),
    [anon_sym_SLASH_EQ] = ACTIONS(1101),
    [anon_sym_PERCENT_EQ] = ACTIONS(1101),
    [anon_sym_BANG_EQ] = ACTIONS(1099),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1101),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1101),
    [anon_sym_LT_EQ] = ACTIONS(1101),
    [anon_sym_GT_EQ] = ACTIONS(1101),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1013),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1015),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(1017),
    [anon_sym_DASH] = ACTIONS(1017),
    [anon_sym_STAR] = ACTIONS(1099),
    [anon_sym_SLASH] = ACTIONS(1099),
    [anon_sym_PERCENT] = ACTIONS(1099),
    [anon_sym_PLUS_PLUS] = ACTIONS(997),
    [anon_sym_DASH_DASH] = ACTIONS(997),
    [anon_sym_PIPE] = ACTIONS(1101),
    [anon_sym_CARET] = ACTIONS(1099),
    [anon_sym_LT_LT] = ACTIONS(1101),
    [anon_sym_GT_GT] = ACTIONS(1101),
    [anon_sym_borrowing] = ACTIONS(971),
    [anon_sym_consuming] = ACTIONS(971),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1019),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(1021),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(1101),
    [sym__eq_eq_custom] = ACTIONS(1101),
    [sym__plus_then_ws] = ACTIONS(1101),
    [sym__minus_then_ws] = ACTIONS(1101),
    [sym__bang_custom] = ACTIONS(1023),
    [sym_where_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(1003),
    [sym__hash_symbol_custom] = ACTIONS(1025),
    [sym__directive_if] = ACTIONS(1027),
    [sym__directive_elseif] = ACTIONS(1027),
    [sym__directive_else] = ACTIONS(1029),
    [sym__directive_endif] = ACTIONS(1029),
  },
  [176] = {
    [sym_simple_identifier] = STATE(3049),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1558),
    [sym_boolean_literal] = STATE(1558),
    [sym__string_literal] = STATE(1558),
    [sym_line_string_literal] = STATE(1558),
    [sym_multi_line_string_literal] = STATE(1558),
    [sym_raw_string_literal] = STATE(1558),
    [sym_regex_literal] = STATE(1558),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6309),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1558),
    [sym__unary_expression] = STATE(1558),
    [sym_postfix_expression] = STATE(1558),
    [sym_constructor_expression] = STATE(1558),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1558),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1558),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1558),
    [sym_prefix_expression] = STATE(1558),
    [sym_as_expression] = STATE(1558),
    [sym_selector_expression] = STATE(1558),
    [sym__binary_expression] = STATE(1558),
    [sym_multiplicative_expression] = STATE(1558),
    [sym_additive_expression] = STATE(1558),
    [sym_range_expression] = STATE(1558),
    [sym_infix_expression] = STATE(1558),
    [sym_nil_coalescing_expression] = STATE(1558),
    [sym_check_expression] = STATE(1558),
    [sym_comparison_expression] = STATE(1558),
    [sym_equality_expression] = STATE(1558),
    [sym_conjunction_expression] = STATE(1558),
    [sym_disjunction_expression] = STATE(1558),
    [sym_bitwise_operation] = STATE(1558),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1558),
    [sym_await_expression] = STATE(1558),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1558),
    [sym_call_expression] = STATE(1558),
    [sym_macro_invocation] = STATE(1558),
    [sym__primary_expression] = STATE(1558),
    [sym_tuple_expression] = STATE(1558),
    [sym_array_literal] = STATE(1558),
    [sym_dictionary_literal] = STATE(1558),
    [sym_special_literal] = STATE(1558),
    [sym_playground_literal] = STATE(1558),
    [sym_lambda_literal] = STATE(1558),
    [sym_self_expression] = STATE(1558),
    [sym_super_expression] = STATE(1558),
    [sym_if_statement] = STATE(1558),
    [sym_switch_statement] = STATE(1558),
    [sym_key_path_expression] = STATE(1558),
    [sym_key_path_string_expression] = STATE(1558),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1558),
    [sym__equality_operator] = STATE(1558),
    [sym__comparison_operator] = STATE(1558),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1558),
    [sym__multiplicative_operator] = STATE(1558),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1558),
    [sym_value_parameter_pack] = STATE(1558),
    [sym_value_pack_expansion] = STATE(1558),
    [sym__referenceable_operator] = STATE(1558),
    [sym__equal_sign] = STATE(1558),
    [sym__eq_eq] = STATE(1558),
    [sym__dot] = STATE(1513),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__universally_allowed_pattern] = STATE(6718),
    [sym__bound_identifier] = STATE(6933),
    [sym__binding_pattern_no_expr] = STATE(8525),
    [sym__binding_pattern_with_expr] = STATE(8636),
    [sym_value_binding_pattern] = STATE(4817),
    [sym__tuple_pattern_item] = STATE(7574),
    [sym__tuple_pattern] = STATE(6718),
    [sym__case_pattern] = STATE(6718),
    [sym__type_casting_pattern] = STATE(6729),
    [sym__binding_pattern] = STATE(6701),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1558),
    [sym_diagnostic] = STATE(1558),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(937),
    [sym_real_literal] = ACTIONS(939),
    [sym_integer_literal] = ACTIONS(937),
    [sym_hex_literal] = ACTIONS(937),
    [sym_oct_literal] = ACTIONS(939),
    [sym_bin_literal] = ACTIONS(939),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(911),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(937),
    [anon_sym_GT] = ACTIONS(937),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(913),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(939),
    [anon_sym_DASH_EQ] = ACTIONS(939),
    [anon_sym_STAR_EQ] = ACTIONS(939),
    [anon_sym_SLASH_EQ] = ACTIONS(939),
    [anon_sym_PERCENT_EQ] = ACTIONS(939),
    [anon_sym_BANG_EQ] = ACTIONS(937),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(939),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(939),
    [anon_sym_LT_EQ] = ACTIONS(939),
    [anon_sym_GT_EQ] = ACTIONS(939),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(915),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(937),
    [anon_sym_SLASH] = ACTIONS(937),
    [anon_sym_PERCENT] = ACTIONS(937),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(939),
    [anon_sym_CARET] = ACTIONS(937),
    [anon_sym_LT_LT] = ACTIONS(939),
    [anon_sym_GT_GT] = ACTIONS(939),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [sym_wildcard_pattern] = ACTIONS(917),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(919),
    [sym__eq_custom] = ACTIONS(939),
    [sym__eq_eq_custom] = ACTIONS(939),
    [sym__plus_then_ws] = ACTIONS(939),
    [sym__minus_then_ws] = ACTIONS(939),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [177] = {
    [sym_simple_identifier] = STATE(3049),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1558),
    [sym_boolean_literal] = STATE(1558),
    [sym__string_literal] = STATE(1558),
    [sym_line_string_literal] = STATE(1558),
    [sym_multi_line_string_literal] = STATE(1558),
    [sym_raw_string_literal] = STATE(1558),
    [sym_regex_literal] = STATE(1558),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6309),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1558),
    [sym__unary_expression] = STATE(1558),
    [sym_postfix_expression] = STATE(1558),
    [sym_constructor_expression] = STATE(1558),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1558),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1558),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1558),
    [sym_prefix_expression] = STATE(1558),
    [sym_as_expression] = STATE(1558),
    [sym_selector_expression] = STATE(1558),
    [sym__binary_expression] = STATE(1558),
    [sym_multiplicative_expression] = STATE(1558),
    [sym_additive_expression] = STATE(1558),
    [sym_range_expression] = STATE(1558),
    [sym_infix_expression] = STATE(1558),
    [sym_nil_coalescing_expression] = STATE(1558),
    [sym_check_expression] = STATE(1558),
    [sym_comparison_expression] = STATE(1558),
    [sym_equality_expression] = STATE(1558),
    [sym_conjunction_expression] = STATE(1558),
    [sym_disjunction_expression] = STATE(1558),
    [sym_bitwise_operation] = STATE(1558),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1558),
    [sym_await_expression] = STATE(1558),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1558),
    [sym_call_expression] = STATE(1558),
    [sym_macro_invocation] = STATE(1558),
    [sym__primary_expression] = STATE(1558),
    [sym_tuple_expression] = STATE(1558),
    [sym_array_literal] = STATE(1558),
    [sym_dictionary_literal] = STATE(1558),
    [sym_special_literal] = STATE(1558),
    [sym_playground_literal] = STATE(1558),
    [sym_lambda_literal] = STATE(1558),
    [sym_self_expression] = STATE(1558),
    [sym_super_expression] = STATE(1558),
    [sym_if_statement] = STATE(1558),
    [sym_switch_statement] = STATE(1558),
    [sym_key_path_expression] = STATE(1558),
    [sym_key_path_string_expression] = STATE(1558),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1558),
    [sym__equality_operator] = STATE(1558),
    [sym__comparison_operator] = STATE(1558),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1558),
    [sym__multiplicative_operator] = STATE(1558),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1558),
    [sym_value_parameter_pack] = STATE(1558),
    [sym_value_pack_expansion] = STATE(1558),
    [sym__referenceable_operator] = STATE(1558),
    [sym__equal_sign] = STATE(1558),
    [sym__eq_eq] = STATE(1558),
    [sym__dot] = STATE(1513),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__universally_allowed_pattern] = STATE(6718),
    [sym__bound_identifier] = STATE(6933),
    [sym__binding_pattern_no_expr] = STATE(8525),
    [sym__binding_pattern_with_expr] = STATE(8636),
    [sym_value_binding_pattern] = STATE(4817),
    [sym__tuple_pattern_item] = STATE(7821),
    [sym__tuple_pattern] = STATE(6718),
    [sym__case_pattern] = STATE(6718),
    [sym__type_casting_pattern] = STATE(6729),
    [sym__binding_pattern] = STATE(6701),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1558),
    [sym_diagnostic] = STATE(1558),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(937),
    [sym_real_literal] = ACTIONS(939),
    [sym_integer_literal] = ACTIONS(937),
    [sym_hex_literal] = ACTIONS(937),
    [sym_oct_literal] = ACTIONS(939),
    [sym_bin_literal] = ACTIONS(939),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(911),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(937),
    [anon_sym_GT] = ACTIONS(937),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(913),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(939),
    [anon_sym_DASH_EQ] = ACTIONS(939),
    [anon_sym_STAR_EQ] = ACTIONS(939),
    [anon_sym_SLASH_EQ] = ACTIONS(939),
    [anon_sym_PERCENT_EQ] = ACTIONS(939),
    [anon_sym_BANG_EQ] = ACTIONS(937),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(939),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(939),
    [anon_sym_LT_EQ] = ACTIONS(939),
    [anon_sym_GT_EQ] = ACTIONS(939),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(915),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(937),
    [anon_sym_SLASH] = ACTIONS(937),
    [anon_sym_PERCENT] = ACTIONS(937),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(939),
    [anon_sym_CARET] = ACTIONS(937),
    [anon_sym_LT_LT] = ACTIONS(939),
    [anon_sym_GT_GT] = ACTIONS(939),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [sym_wildcard_pattern] = ACTIONS(917),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(919),
    [sym__eq_custom] = ACTIONS(939),
    [sym__eq_eq_custom] = ACTIONS(939),
    [sym__plus_then_ws] = ACTIONS(939),
    [sym__minus_then_ws] = ACTIONS(939),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [178] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1675),
    [sym_boolean_literal] = STATE(1675),
    [sym__string_literal] = STATE(1675),
    [sym_line_string_literal] = STATE(1675),
    [sym_multi_line_string_literal] = STATE(1675),
    [sym_raw_string_literal] = STATE(1675),
    [sym_regex_literal] = STATE(1675),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1675),
    [sym__unary_expression] = STATE(1675),
    [sym_postfix_expression] = STATE(1675),
    [sym_constructor_expression] = STATE(1675),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1675),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1675),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1675),
    [sym_prefix_expression] = STATE(1675),
    [sym_as_expression] = STATE(1675),
    [sym_selector_expression] = STATE(1675),
    [sym__binary_expression] = STATE(1675),
    [sym_multiplicative_expression] = STATE(1675),
    [sym_additive_expression] = STATE(1675),
    [sym_range_expression] = STATE(1675),
    [sym_infix_expression] = STATE(1675),
    [sym_nil_coalescing_expression] = STATE(1675),
    [sym_check_expression] = STATE(1675),
    [sym_comparison_expression] = STATE(1675),
    [sym_equality_expression] = STATE(1675),
    [sym_conjunction_expression] = STATE(1675),
    [sym_disjunction_expression] = STATE(1675),
    [sym_bitwise_operation] = STATE(1675),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1675),
    [sym_await_expression] = STATE(1675),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1675),
    [sym_call_expression] = STATE(1675),
    [sym_macro_invocation] = STATE(1675),
    [sym__primary_expression] = STATE(1675),
    [sym_tuple_expression] = STATE(1675),
    [sym_array_literal] = STATE(1675),
    [sym_dictionary_literal] = STATE(1675),
    [sym_special_literal] = STATE(1675),
    [sym_playground_literal] = STATE(1675),
    [sym_lambda_literal] = STATE(1675),
    [sym_self_expression] = STATE(1675),
    [sym_super_expression] = STATE(1675),
    [sym_if_statement] = STATE(1675),
    [sym_switch_statement] = STATE(1675),
    [sym_key_path_expression] = STATE(1675),
    [sym_key_path_string_expression] = STATE(1675),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1675),
    [sym__equality_operator] = STATE(1675),
    [sym__comparison_operator] = STATE(1675),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1675),
    [sym__multiplicative_operator] = STATE(1675),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1675),
    [sym_value_parameter_pack] = STATE(1675),
    [sym_value_pack_expansion] = STATE(1675),
    [sym__referenceable_operator] = STATE(1675),
    [sym__equal_sign] = STATE(1675),
    [sym__eq_eq] = STATE(1675),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1675),
    [sym_diagnostic] = STATE(1675),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [ts_builtin_sym_end] = ACTIONS(469),
    [anon_sym_BANG] = ACTIONS(447),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1103),
    [sym_real_literal] = ACTIONS(1105),
    [sym_integer_literal] = ACTIONS(1103),
    [sym_hex_literal] = ACTIONS(1103),
    [sym_oct_literal] = ACTIONS(1105),
    [sym_bin_literal] = ACTIONS(1105),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(469),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(469),
    [anon_sym_LBRACK] = ACTIONS(469),
    [anon_sym_QMARK] = ACTIONS(447),
    [anon_sym_QMARK2] = ACTIONS(469),
    [anon_sym_AMP] = ACTIONS(469),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(469),
    [anon_sym_LT] = ACTIONS(447),
    [anon_sym_GT] = ACTIONS(447),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(469),
    [anon_sym_CARET_LBRACE] = ACTIONS(469),
    [anon_sym_RBRACE] = ACTIONS(469),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(469),
    [anon_sym_DASH_EQ] = ACTIONS(469),
    [anon_sym_STAR_EQ] = ACTIONS(469),
    [anon_sym_SLASH_EQ] = ACTIONS(469),
    [anon_sym_PERCENT_EQ] = ACTIONS(469),
    [anon_sym_BANG_EQ] = ACTIONS(447),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(469),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(469),
    [anon_sym_LT_EQ] = ACTIONS(469),
    [anon_sym_GT_EQ] = ACTIONS(469),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(469),
    [anon_sym_DOT_DOT_LT] = ACTIONS(469),
    [anon_sym_is] = ACTIONS(447),
    [anon_sym_PLUS] = ACTIONS(447),
    [anon_sym_DASH] = ACTIONS(447),
    [anon_sym_STAR] = ACTIONS(447),
    [anon_sym_SLASH] = ACTIONS(447),
    [anon_sym_PERCENT] = ACTIONS(447),
    [anon_sym_PLUS_PLUS] = ACTIONS(469),
    [anon_sym_DASH_DASH] = ACTIONS(469),
    [anon_sym_PIPE] = ACTIONS(469),
    [anon_sym_CARET] = ACTIONS(447),
    [anon_sym_LT_LT] = ACTIONS(469),
    [anon_sym_GT_GT] = ACTIONS(469),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__implicit_semi] = ACTIONS(469),
    [sym__explicit_semi] = ACTIONS(469),
    [sym__dot_custom] = ACTIONS(469),
    [sym__conjunction_operator_custom] = ACTIONS(469),
    [sym__disjunction_operator_custom] = ACTIONS(469),
    [sym__nil_coalescing_operator_custom] = ACTIONS(469),
    [sym__eq_custom] = ACTIONS(469),
    [sym__eq_eq_custom] = ACTIONS(469),
    [sym__plus_then_ws] = ACTIONS(469),
    [sym__minus_then_ws] = ACTIONS(469),
    [sym__bang_custom] = ACTIONS(469),
    [sym_where_keyword] = ACTIONS(469),
    [sym__as_custom] = ACTIONS(469),
    [sym__as_quest_custom] = ACTIONS(469),
    [sym__as_bang_custom] = ACTIONS(469),
    [sym__custom_operator] = ACTIONS(469),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [179] = {
    [sym_simple_identifier] = STATE(3049),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1558),
    [sym_boolean_literal] = STATE(1558),
    [sym__string_literal] = STATE(1558),
    [sym_line_string_literal] = STATE(1558),
    [sym_multi_line_string_literal] = STATE(1558),
    [sym_raw_string_literal] = STATE(1558),
    [sym_regex_literal] = STATE(1558),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6309),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1558),
    [sym__unary_expression] = STATE(1558),
    [sym_postfix_expression] = STATE(1558),
    [sym_constructor_expression] = STATE(1558),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1558),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1558),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1558),
    [sym_prefix_expression] = STATE(1558),
    [sym_as_expression] = STATE(1558),
    [sym_selector_expression] = STATE(1558),
    [sym__binary_expression] = STATE(1558),
    [sym_multiplicative_expression] = STATE(1558),
    [sym_additive_expression] = STATE(1558),
    [sym_range_expression] = STATE(1558),
    [sym_infix_expression] = STATE(1558),
    [sym_nil_coalescing_expression] = STATE(1558),
    [sym_check_expression] = STATE(1558),
    [sym_comparison_expression] = STATE(1558),
    [sym_equality_expression] = STATE(1558),
    [sym_conjunction_expression] = STATE(1558),
    [sym_disjunction_expression] = STATE(1558),
    [sym_bitwise_operation] = STATE(1558),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1558),
    [sym_await_expression] = STATE(1558),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1558),
    [sym_call_expression] = STATE(1558),
    [sym_macro_invocation] = STATE(1558),
    [sym__primary_expression] = STATE(1558),
    [sym_tuple_expression] = STATE(1558),
    [sym_array_literal] = STATE(1558),
    [sym_dictionary_literal] = STATE(1558),
    [sym_special_literal] = STATE(1558),
    [sym_playground_literal] = STATE(1558),
    [sym_lambda_literal] = STATE(1558),
    [sym_self_expression] = STATE(1558),
    [sym_super_expression] = STATE(1558),
    [sym_if_statement] = STATE(1558),
    [sym_switch_statement] = STATE(1558),
    [sym_key_path_expression] = STATE(1558),
    [sym_key_path_string_expression] = STATE(1558),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1558),
    [sym__equality_operator] = STATE(1558),
    [sym__comparison_operator] = STATE(1558),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1558),
    [sym__multiplicative_operator] = STATE(1558),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1558),
    [sym_value_parameter_pack] = STATE(1558),
    [sym_value_pack_expansion] = STATE(1558),
    [sym__referenceable_operator] = STATE(1558),
    [sym__equal_sign] = STATE(1558),
    [sym__eq_eq] = STATE(1558),
    [sym__dot] = STATE(1513),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__universally_allowed_pattern] = STATE(6718),
    [sym__bound_identifier] = STATE(6933),
    [sym__binding_pattern_no_expr] = STATE(8525),
    [sym__binding_pattern_with_expr] = STATE(8636),
    [sym_value_binding_pattern] = STATE(4817),
    [sym__tuple_pattern_item] = STATE(8211),
    [sym__tuple_pattern] = STATE(6718),
    [sym__case_pattern] = STATE(6718),
    [sym__type_casting_pattern] = STATE(6729),
    [sym__binding_pattern] = STATE(6701),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1558),
    [sym_diagnostic] = STATE(1558),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(937),
    [sym_real_literal] = ACTIONS(939),
    [sym_integer_literal] = ACTIONS(937),
    [sym_hex_literal] = ACTIONS(937),
    [sym_oct_literal] = ACTIONS(939),
    [sym_bin_literal] = ACTIONS(939),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(911),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(937),
    [anon_sym_GT] = ACTIONS(937),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(913),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(939),
    [anon_sym_DASH_EQ] = ACTIONS(939),
    [anon_sym_STAR_EQ] = ACTIONS(939),
    [anon_sym_SLASH_EQ] = ACTIONS(939),
    [anon_sym_PERCENT_EQ] = ACTIONS(939),
    [anon_sym_BANG_EQ] = ACTIONS(937),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(939),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(939),
    [anon_sym_LT_EQ] = ACTIONS(939),
    [anon_sym_GT_EQ] = ACTIONS(939),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(915),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(937),
    [anon_sym_SLASH] = ACTIONS(937),
    [anon_sym_PERCENT] = ACTIONS(937),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(939),
    [anon_sym_CARET] = ACTIONS(937),
    [anon_sym_LT_LT] = ACTIONS(939),
    [anon_sym_GT_GT] = ACTIONS(939),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [sym_wildcard_pattern] = ACTIONS(917),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(919),
    [sym__eq_custom] = ACTIONS(939),
    [sym__eq_eq_custom] = ACTIONS(939),
    [sym__plus_then_ws] = ACTIONS(939),
    [sym__minus_then_ws] = ACTIONS(939),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [180] = {
    [sym_simple_identifier] = STATE(2913),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1528),
    [sym_boolean_literal] = STATE(1528),
    [sym__string_literal] = STATE(1528),
    [sym_line_string_literal] = STATE(1528),
    [sym_multi_line_string_literal] = STATE(1528),
    [sym_raw_string_literal] = STATE(1528),
    [sym_regex_literal] = STATE(1528),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6334),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1528),
    [sym__unary_expression] = STATE(1528),
    [sym_postfix_expression] = STATE(1528),
    [sym_constructor_expression] = STATE(1528),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1528),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1528),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1528),
    [sym_prefix_expression] = STATE(1528),
    [sym_as_expression] = STATE(1528),
    [sym_selector_expression] = STATE(1528),
    [sym__binary_expression] = STATE(1528),
    [sym_multiplicative_expression] = STATE(1528),
    [sym_additive_expression] = STATE(1528),
    [sym_range_expression] = STATE(1528),
    [sym_infix_expression] = STATE(1528),
    [sym_nil_coalescing_expression] = STATE(1528),
    [sym_check_expression] = STATE(1528),
    [sym_comparison_expression] = STATE(1528),
    [sym_equality_expression] = STATE(1528),
    [sym_conjunction_expression] = STATE(1528),
    [sym_disjunction_expression] = STATE(1528),
    [sym_bitwise_operation] = STATE(1528),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1528),
    [sym_await_expression] = STATE(1528),
    [sym__await_operator] = STATE(712),
    [sym_ternary_expression] = STATE(1528),
    [sym_call_expression] = STATE(1528),
    [sym_macro_invocation] = STATE(1528),
    [sym__primary_expression] = STATE(1528),
    [sym_tuple_expression] = STATE(1528),
    [sym_array_literal] = STATE(1528),
    [sym_dictionary_literal] = STATE(1528),
    [sym_special_literal] = STATE(1528),
    [sym_playground_literal] = STATE(1528),
    [sym_lambda_literal] = STATE(1528),
    [sym_self_expression] = STATE(1528),
    [sym_super_expression] = STATE(1528),
    [sym_if_statement] = STATE(1528),
    [sym_switch_statement] = STATE(1528),
    [sym_switch_pattern] = STATE(7239),
    [sym_key_path_expression] = STATE(1528),
    [sym_key_path_string_expression] = STATE(1528),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1528),
    [sym__equality_operator] = STATE(1528),
    [sym__comparison_operator] = STATE(1528),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1528),
    [sym__multiplicative_operator] = STATE(1528),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym_assignment] = STATE(1528),
    [sym_value_parameter_pack] = STATE(1528),
    [sym_value_pack_expansion] = STATE(1528),
    [sym__referenceable_operator] = STATE(1528),
    [sym__equal_sign] = STATE(1528),
    [sym__eq_eq] = STATE(1528),
    [sym__dot] = STATE(1501),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__universally_allowed_pattern] = STATE(6715),
    [sym__bound_identifier] = STATE(6933),
    [sym__binding_pattern_no_expr] = STATE(8619),
    [sym__binding_pattern_with_expr] = STATE(8158),
    [sym_value_binding_pattern] = STATE(4806),
    [sym__tuple_pattern] = STATE(6715),
    [sym__case_pattern] = STATE(6715),
    [sym__type_casting_pattern] = STATE(6695),
    [sym__binding_pattern] = STATE(6726),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1528),
    [sym_diagnostic] = STATE(1528),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(1041),
    [sym_real_literal] = ACTIONS(1043),
    [sym_integer_literal] = ACTIONS(1041),
    [sym_hex_literal] = ACTIONS(1041),
    [sym_oct_literal] = ACTIONS(1043),
    [sym_bin_literal] = ACTIONS(1043),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1055),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(1041),
    [anon_sym_GT] = ACTIONS(1041),
    [anon_sym_await] = ACTIONS(1067),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_case] = ACTIONS(1075),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1043),
    [anon_sym_DASH_EQ] = ACTIONS(1043),
    [anon_sym_STAR_EQ] = ACTIONS(1043),
    [anon_sym_SLASH_EQ] = ACTIONS(1043),
    [anon_sym_PERCENT_EQ] = ACTIONS(1043),
    [anon_sym_BANG_EQ] = ACTIONS(1041),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1043),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1043),
    [anon_sym_LT_EQ] = ACTIONS(1043),
    [anon_sym_GT_EQ] = ACTIONS(1043),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_is] = ACTIONS(1081),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(1041),
    [anon_sym_SLASH] = ACTIONS(1041),
    [anon_sym_PERCENT] = ACTIONS(1041),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(1043),
    [anon_sym_CARET] = ACTIONS(1041),
    [anon_sym_LT_LT] = ACTIONS(1043),
    [anon_sym_GT_GT] = ACTIONS(1043),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [sym_wildcard_pattern] = ACTIONS(1085),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1089),
    [sym__eq_custom] = ACTIONS(1043),
    [sym__eq_eq_custom] = ACTIONS(1043),
    [sym__plus_then_ws] = ACTIONS(1043),
    [sym__minus_then_ws] = ACTIONS(1043),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [181] = {
    [sym_simple_identifier] = STATE(3049),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1558),
    [sym_boolean_literal] = STATE(1558),
    [sym__string_literal] = STATE(1558),
    [sym_line_string_literal] = STATE(1558),
    [sym_multi_line_string_literal] = STATE(1558),
    [sym_raw_string_literal] = STATE(1558),
    [sym_regex_literal] = STATE(1558),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6309),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1558),
    [sym__unary_expression] = STATE(1558),
    [sym_postfix_expression] = STATE(1558),
    [sym_constructor_expression] = STATE(1558),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1558),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1558),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1558),
    [sym_prefix_expression] = STATE(1558),
    [sym_as_expression] = STATE(1558),
    [sym_selector_expression] = STATE(1558),
    [sym__binary_expression] = STATE(1558),
    [sym_multiplicative_expression] = STATE(1558),
    [sym_additive_expression] = STATE(1558),
    [sym_range_expression] = STATE(1558),
    [sym_infix_expression] = STATE(1558),
    [sym_nil_coalescing_expression] = STATE(1558),
    [sym_check_expression] = STATE(1558),
    [sym_comparison_expression] = STATE(1558),
    [sym_equality_expression] = STATE(1558),
    [sym_conjunction_expression] = STATE(1558),
    [sym_disjunction_expression] = STATE(1558),
    [sym_bitwise_operation] = STATE(1558),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1558),
    [sym_await_expression] = STATE(1558),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1558),
    [sym_call_expression] = STATE(1558),
    [sym_macro_invocation] = STATE(1558),
    [sym__primary_expression] = STATE(1558),
    [sym_tuple_expression] = STATE(1558),
    [sym_array_literal] = STATE(1558),
    [sym_dictionary_literal] = STATE(1558),
    [sym_special_literal] = STATE(1558),
    [sym_playground_literal] = STATE(1558),
    [sym_lambda_literal] = STATE(1558),
    [sym_self_expression] = STATE(1558),
    [sym_super_expression] = STATE(1558),
    [sym_if_statement] = STATE(1558),
    [sym_switch_statement] = STATE(1558),
    [sym_key_path_expression] = STATE(1558),
    [sym_key_path_string_expression] = STATE(1558),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1558),
    [sym__equality_operator] = STATE(1558),
    [sym__comparison_operator] = STATE(1558),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1558),
    [sym__multiplicative_operator] = STATE(1558),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1558),
    [sym_value_parameter_pack] = STATE(1558),
    [sym_value_pack_expansion] = STATE(1558),
    [sym__referenceable_operator] = STATE(1558),
    [sym__equal_sign] = STATE(1558),
    [sym__eq_eq] = STATE(1558),
    [sym__dot] = STATE(1513),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__universally_allowed_pattern] = STATE(6718),
    [sym__bound_identifier] = STATE(6933),
    [sym__binding_pattern_no_expr] = STATE(8525),
    [sym__binding_pattern_with_expr] = STATE(8636),
    [sym_value_binding_pattern] = STATE(4817),
    [sym__tuple_pattern_item] = STATE(7606),
    [sym__tuple_pattern] = STATE(6718),
    [sym__case_pattern] = STATE(6718),
    [sym__type_casting_pattern] = STATE(6729),
    [sym__binding_pattern] = STATE(6701),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1558),
    [sym_diagnostic] = STATE(1558),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(937),
    [sym_real_literal] = ACTIONS(939),
    [sym_integer_literal] = ACTIONS(937),
    [sym_hex_literal] = ACTIONS(937),
    [sym_oct_literal] = ACTIONS(939),
    [sym_bin_literal] = ACTIONS(939),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(911),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(937),
    [anon_sym_GT] = ACTIONS(937),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(913),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(939),
    [anon_sym_DASH_EQ] = ACTIONS(939),
    [anon_sym_STAR_EQ] = ACTIONS(939),
    [anon_sym_SLASH_EQ] = ACTIONS(939),
    [anon_sym_PERCENT_EQ] = ACTIONS(939),
    [anon_sym_BANG_EQ] = ACTIONS(937),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(939),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(939),
    [anon_sym_LT_EQ] = ACTIONS(939),
    [anon_sym_GT_EQ] = ACTIONS(939),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(915),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(937),
    [anon_sym_SLASH] = ACTIONS(937),
    [anon_sym_PERCENT] = ACTIONS(937),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(939),
    [anon_sym_CARET] = ACTIONS(937),
    [anon_sym_LT_LT] = ACTIONS(939),
    [anon_sym_GT_GT] = ACTIONS(939),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [sym_wildcard_pattern] = ACTIONS(917),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(919),
    [sym__eq_custom] = ACTIONS(939),
    [sym__eq_eq_custom] = ACTIONS(939),
    [sym__plus_then_ws] = ACTIONS(939),
    [sym__minus_then_ws] = ACTIONS(939),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [182] = {
    [sym_simple_identifier] = STATE(3049),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1558),
    [sym_boolean_literal] = STATE(1558),
    [sym__string_literal] = STATE(1558),
    [sym_line_string_literal] = STATE(1558),
    [sym_multi_line_string_literal] = STATE(1558),
    [sym_raw_string_literal] = STATE(1558),
    [sym_regex_literal] = STATE(1558),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6309),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1558),
    [sym__unary_expression] = STATE(1558),
    [sym_postfix_expression] = STATE(1558),
    [sym_constructor_expression] = STATE(1558),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1558),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1558),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1558),
    [sym_prefix_expression] = STATE(1558),
    [sym_as_expression] = STATE(1558),
    [sym_selector_expression] = STATE(1558),
    [sym__binary_expression] = STATE(1558),
    [sym_multiplicative_expression] = STATE(1558),
    [sym_additive_expression] = STATE(1558),
    [sym_range_expression] = STATE(1558),
    [sym_infix_expression] = STATE(1558),
    [sym_nil_coalescing_expression] = STATE(1558),
    [sym_check_expression] = STATE(1558),
    [sym_comparison_expression] = STATE(1558),
    [sym_equality_expression] = STATE(1558),
    [sym_conjunction_expression] = STATE(1558),
    [sym_disjunction_expression] = STATE(1558),
    [sym_bitwise_operation] = STATE(1558),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1558),
    [sym_await_expression] = STATE(1558),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1558),
    [sym_call_expression] = STATE(1558),
    [sym_macro_invocation] = STATE(1558),
    [sym__primary_expression] = STATE(1558),
    [sym_tuple_expression] = STATE(1558),
    [sym_array_literal] = STATE(1558),
    [sym_dictionary_literal] = STATE(1558),
    [sym_special_literal] = STATE(1558),
    [sym_playground_literal] = STATE(1558),
    [sym_lambda_literal] = STATE(1558),
    [sym_self_expression] = STATE(1558),
    [sym_super_expression] = STATE(1558),
    [sym_if_statement] = STATE(1558),
    [sym_switch_statement] = STATE(1558),
    [sym_key_path_expression] = STATE(1558),
    [sym_key_path_string_expression] = STATE(1558),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1558),
    [sym__equality_operator] = STATE(1558),
    [sym__comparison_operator] = STATE(1558),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1558),
    [sym__multiplicative_operator] = STATE(1558),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1558),
    [sym_value_parameter_pack] = STATE(1558),
    [sym_value_pack_expansion] = STATE(1558),
    [sym__referenceable_operator] = STATE(1558),
    [sym__equal_sign] = STATE(1558),
    [sym__eq_eq] = STATE(1558),
    [sym__dot] = STATE(1513),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__universally_allowed_pattern] = STATE(6718),
    [sym__bound_identifier] = STATE(6933),
    [sym__binding_pattern_no_expr] = STATE(8525),
    [sym__binding_pattern_with_expr] = STATE(8636),
    [sym_value_binding_pattern] = STATE(4817),
    [sym__tuple_pattern_item] = STATE(8286),
    [sym__tuple_pattern] = STATE(6718),
    [sym__case_pattern] = STATE(6718),
    [sym__type_casting_pattern] = STATE(6729),
    [sym__binding_pattern] = STATE(6701),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1558),
    [sym_diagnostic] = STATE(1558),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(937),
    [sym_real_literal] = ACTIONS(939),
    [sym_integer_literal] = ACTIONS(937),
    [sym_hex_literal] = ACTIONS(937),
    [sym_oct_literal] = ACTIONS(939),
    [sym_bin_literal] = ACTIONS(939),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(911),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(937),
    [anon_sym_GT] = ACTIONS(937),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(913),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(939),
    [anon_sym_DASH_EQ] = ACTIONS(939),
    [anon_sym_STAR_EQ] = ACTIONS(939),
    [anon_sym_SLASH_EQ] = ACTIONS(939),
    [anon_sym_PERCENT_EQ] = ACTIONS(939),
    [anon_sym_BANG_EQ] = ACTIONS(937),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(939),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(939),
    [anon_sym_LT_EQ] = ACTIONS(939),
    [anon_sym_GT_EQ] = ACTIONS(939),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(915),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(937),
    [anon_sym_SLASH] = ACTIONS(937),
    [anon_sym_PERCENT] = ACTIONS(937),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(939),
    [anon_sym_CARET] = ACTIONS(937),
    [anon_sym_LT_LT] = ACTIONS(939),
    [anon_sym_GT_GT] = ACTIONS(939),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [sym_wildcard_pattern] = ACTIONS(917),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(919),
    [sym__eq_custom] = ACTIONS(939),
    [sym__eq_eq_custom] = ACTIONS(939),
    [sym__plus_then_ws] = ACTIONS(939),
    [sym__minus_then_ws] = ACTIONS(939),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [183] = {
    [sym_simple_identifier] = STATE(2851),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1523),
    [sym_boolean_literal] = STATE(1523),
    [sym__string_literal] = STATE(1523),
    [sym_line_string_literal] = STATE(1523),
    [sym_multi_line_string_literal] = STATE(1523),
    [sym_raw_string_literal] = STATE(1523),
    [sym_regex_literal] = STATE(1523),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6309),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1523),
    [sym__unary_expression] = STATE(1523),
    [sym_postfix_expression] = STATE(1523),
    [sym_constructor_expression] = STATE(1523),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1523),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1523),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1523),
    [sym_prefix_expression] = STATE(1523),
    [sym_as_expression] = STATE(1523),
    [sym_selector_expression] = STATE(1523),
    [sym__binary_expression] = STATE(1523),
    [sym_multiplicative_expression] = STATE(1523),
    [sym_additive_expression] = STATE(1523),
    [sym_range_expression] = STATE(1523),
    [sym_infix_expression] = STATE(1523),
    [sym_nil_coalescing_expression] = STATE(1523),
    [sym_check_expression] = STATE(1523),
    [sym_comparison_expression] = STATE(1523),
    [sym_equality_expression] = STATE(1523),
    [sym_conjunction_expression] = STATE(1523),
    [sym_disjunction_expression] = STATE(1523),
    [sym_bitwise_operation] = STATE(1523),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1523),
    [sym_await_expression] = STATE(1523),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1523),
    [sym_call_expression] = STATE(1523),
    [sym_macro_invocation] = STATE(1523),
    [sym__primary_expression] = STATE(1523),
    [sym_tuple_expression] = STATE(1523),
    [sym_array_literal] = STATE(1523),
    [sym_dictionary_literal] = STATE(1523),
    [sym_special_literal] = STATE(1523),
    [sym_playground_literal] = STATE(1523),
    [sym_lambda_literal] = STATE(1523),
    [sym_self_expression] = STATE(1523),
    [sym_super_expression] = STATE(1523),
    [sym_if_statement] = STATE(1523),
    [sym_switch_statement] = STATE(1523),
    [sym_key_path_expression] = STATE(1523),
    [sym_key_path_string_expression] = STATE(1523),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1523),
    [sym__equality_operator] = STATE(1523),
    [sym__comparison_operator] = STATE(1523),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1523),
    [sym__multiplicative_operator] = STATE(1523),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1523),
    [sym_value_parameter_pack] = STATE(1523),
    [sym_value_pack_expansion] = STATE(1523),
    [sym__referenceable_operator] = STATE(1523),
    [sym__equal_sign] = STATE(1523),
    [sym__eq_eq] = STATE(1523),
    [sym__dot] = STATE(1513),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__universally_allowed_pattern] = STATE(6718),
    [sym__bound_identifier] = STATE(6933),
    [sym__binding_pattern_no_expr] = STATE(8525),
    [sym__binding_pattern_with_expr] = STATE(8268),
    [sym_value_binding_pattern] = STATE(4817),
    [sym__tuple_pattern] = STATE(6718),
    [sym__case_pattern] = STATE(6718),
    [sym__type_casting_pattern] = STATE(6729),
    [sym__binding_pattern] = STATE(6701),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1523),
    [sym_diagnostic] = STATE(1523),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1107),
    [sym_real_literal] = ACTIONS(1109),
    [sym_integer_literal] = ACTIONS(1107),
    [sym_hex_literal] = ACTIONS(1107),
    [sym_oct_literal] = ACTIONS(1109),
    [sym_bin_literal] = ACTIONS(1109),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(911),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1107),
    [anon_sym_GT] = ACTIONS(1107),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(913),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1109),
    [anon_sym_DASH_EQ] = ACTIONS(1109),
    [anon_sym_STAR_EQ] = ACTIONS(1109),
    [anon_sym_SLASH_EQ] = ACTIONS(1109),
    [anon_sym_PERCENT_EQ] = ACTIONS(1109),
    [anon_sym_BANG_EQ] = ACTIONS(1107),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1109),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1109),
    [anon_sym_LT_EQ] = ACTIONS(1109),
    [anon_sym_GT_EQ] = ACTIONS(1109),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(915),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1107),
    [anon_sym_SLASH] = ACTIONS(1107),
    [anon_sym_PERCENT] = ACTIONS(1107),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1109),
    [anon_sym_CARET] = ACTIONS(1107),
    [anon_sym_LT_LT] = ACTIONS(1109),
    [anon_sym_GT_GT] = ACTIONS(1109),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [sym_wildcard_pattern] = ACTIONS(917),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(919),
    [sym__eq_custom] = ACTIONS(1109),
    [sym__eq_eq_custom] = ACTIONS(1109),
    [sym__plus_then_ws] = ACTIONS(1109),
    [sym__minus_then_ws] = ACTIONS(1109),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [184] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1472),
    [sym_boolean_literal] = STATE(1472),
    [sym__string_literal] = STATE(1472),
    [sym_line_string_literal] = STATE(1472),
    [sym_multi_line_string_literal] = STATE(1472),
    [sym_raw_string_literal] = STATE(1472),
    [sym_regex_literal] = STATE(1472),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1472),
    [sym__unary_expression] = STATE(1472),
    [sym_postfix_expression] = STATE(1472),
    [sym_constructor_expression] = STATE(1472),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1472),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1472),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1472),
    [sym_prefix_expression] = STATE(1472),
    [sym_as_expression] = STATE(1472),
    [sym_selector_expression] = STATE(1472),
    [sym__binary_expression] = STATE(1472),
    [sym_multiplicative_expression] = STATE(1472),
    [sym_additive_expression] = STATE(1472),
    [sym_range_expression] = STATE(1472),
    [sym_infix_expression] = STATE(1472),
    [sym_nil_coalescing_expression] = STATE(1472),
    [sym_check_expression] = STATE(1472),
    [sym_comparison_expression] = STATE(1472),
    [sym_equality_expression] = STATE(1472),
    [sym_conjunction_expression] = STATE(1472),
    [sym_disjunction_expression] = STATE(1472),
    [sym_bitwise_operation] = STATE(1472),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1472),
    [sym_await_expression] = STATE(1472),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1472),
    [sym_call_expression] = STATE(1472),
    [sym_macro_invocation] = STATE(1472),
    [sym__primary_expression] = STATE(1472),
    [sym_tuple_expression] = STATE(1472),
    [sym_array_literal] = STATE(1472),
    [sym_dictionary_literal] = STATE(1472),
    [sym_special_literal] = STATE(1472),
    [sym_playground_literal] = STATE(1472),
    [sym_lambda_literal] = STATE(1472),
    [sym_self_expression] = STATE(1472),
    [sym_super_expression] = STATE(1472),
    [sym_if_statement] = STATE(1472),
    [sym_switch_statement] = STATE(1472),
    [sym_key_path_expression] = STATE(1472),
    [sym_key_path_string_expression] = STATE(1472),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1472),
    [sym__equality_operator] = STATE(1472),
    [sym__comparison_operator] = STATE(1472),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1472),
    [sym__multiplicative_operator] = STATE(1472),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_assignment] = STATE(1472),
    [sym_value_parameter_pack] = STATE(1472),
    [sym_value_pack_expansion] = STATE(1472),
    [sym__referenceable_operator] = STATE(1472),
    [sym__equal_sign] = STATE(1472),
    [sym__eq_eq] = STATE(1472),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1472),
    [sym_diagnostic] = STATE(1472),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [ts_builtin_sym_end] = ACTIONS(617),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(11),
    [anon_sym_async] = ACTIONS(11),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(11),
    [anon_sym_repeat] = ACTIONS(925),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(931),
    [sym_real_literal] = ACTIONS(933),
    [sym_integer_literal] = ACTIONS(931),
    [sym_hex_literal] = ACTIONS(931),
    [sym_oct_literal] = ACTIONS(933),
    [sym_bin_literal] = ACTIONS(933),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [anon_sym_COMMA] = ACTIONS(617),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(931),
    [anon_sym_GT] = ACTIONS(931),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(933),
    [anon_sym_DASH_EQ] = ACTIONS(933),
    [anon_sym_STAR_EQ] = ACTIONS(933),
    [anon_sym_SLASH_EQ] = ACTIONS(933),
    [anon_sym_PERCENT_EQ] = ACTIONS(933),
    [anon_sym_BANG_EQ] = ACTIONS(931),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(933),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(933),
    [anon_sym_LT_EQ] = ACTIONS(933),
    [anon_sym_GT_EQ] = ACTIONS(933),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(931),
    [anon_sym_SLASH] = ACTIONS(931),
    [anon_sym_PERCENT] = ACTIONS(931),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(933),
    [anon_sym_CARET] = ACTIONS(931),
    [anon_sym_LT_LT] = ACTIONS(933),
    [anon_sym_GT_GT] = ACTIONS(933),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(137),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(933),
    [sym__eq_eq_custom] = ACTIONS(933),
    [sym__plus_then_ws] = ACTIONS(933),
    [sym__minus_then_ws] = ACTIONS(933),
    [sym__bang_custom] = ACTIONS(139),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [185] = {
    [sym_simple_identifier] = STATE(2851),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1530),
    [sym_boolean_literal] = STATE(1530),
    [sym__string_literal] = STATE(1530),
    [sym_line_string_literal] = STATE(1530),
    [sym_multi_line_string_literal] = STATE(1530),
    [sym_raw_string_literal] = STATE(1530),
    [sym_regex_literal] = STATE(1530),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6309),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1530),
    [sym__unary_expression] = STATE(1530),
    [sym_postfix_expression] = STATE(1530),
    [sym_constructor_expression] = STATE(1530),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1530),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1530),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1530),
    [sym_prefix_expression] = STATE(1530),
    [sym_as_expression] = STATE(1530),
    [sym_selector_expression] = STATE(1530),
    [sym__binary_expression] = STATE(1530),
    [sym_multiplicative_expression] = STATE(1530),
    [sym_additive_expression] = STATE(1530),
    [sym_range_expression] = STATE(1530),
    [sym_infix_expression] = STATE(1530),
    [sym_nil_coalescing_expression] = STATE(1530),
    [sym_check_expression] = STATE(1530),
    [sym_comparison_expression] = STATE(1530),
    [sym_equality_expression] = STATE(1530),
    [sym_conjunction_expression] = STATE(1530),
    [sym_disjunction_expression] = STATE(1530),
    [sym_bitwise_operation] = STATE(1530),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1530),
    [sym_await_expression] = STATE(1530),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1530),
    [sym_call_expression] = STATE(1530),
    [sym_macro_invocation] = STATE(1530),
    [sym__primary_expression] = STATE(1530),
    [sym_tuple_expression] = STATE(1530),
    [sym_array_literal] = STATE(1530),
    [sym_dictionary_literal] = STATE(1530),
    [sym_special_literal] = STATE(1530),
    [sym_playground_literal] = STATE(1530),
    [sym_lambda_literal] = STATE(1530),
    [sym_self_expression] = STATE(1530),
    [sym_super_expression] = STATE(1530),
    [sym_if_statement] = STATE(1530),
    [sym_switch_statement] = STATE(1530),
    [sym_key_path_expression] = STATE(1530),
    [sym_key_path_string_expression] = STATE(1530),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1530),
    [sym__equality_operator] = STATE(1530),
    [sym__comparison_operator] = STATE(1530),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1530),
    [sym__multiplicative_operator] = STATE(1530),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1530),
    [sym_value_parameter_pack] = STATE(1530),
    [sym_value_pack_expansion] = STATE(1530),
    [sym__referenceable_operator] = STATE(1530),
    [sym__equal_sign] = STATE(1530),
    [sym__eq_eq] = STATE(1530),
    [sym__dot] = STATE(1513),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__universally_allowed_pattern] = STATE(6718),
    [sym__bound_identifier] = STATE(6933),
    [sym__binding_pattern_no_expr] = STATE(8525),
    [sym__binding_pattern_with_expr] = STATE(8268),
    [sym_value_binding_pattern] = STATE(4817),
    [sym__tuple_pattern] = STATE(6718),
    [sym__case_pattern] = STATE(6718),
    [sym__type_casting_pattern] = STATE(6729),
    [sym__binding_pattern] = STATE(6701),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1530),
    [sym_diagnostic] = STATE(1530),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1111),
    [sym_real_literal] = ACTIONS(1113),
    [sym_integer_literal] = ACTIONS(1111),
    [sym_hex_literal] = ACTIONS(1111),
    [sym_oct_literal] = ACTIONS(1113),
    [sym_bin_literal] = ACTIONS(1113),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(911),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1111),
    [anon_sym_GT] = ACTIONS(1111),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(913),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1113),
    [anon_sym_DASH_EQ] = ACTIONS(1113),
    [anon_sym_STAR_EQ] = ACTIONS(1113),
    [anon_sym_SLASH_EQ] = ACTIONS(1113),
    [anon_sym_PERCENT_EQ] = ACTIONS(1113),
    [anon_sym_BANG_EQ] = ACTIONS(1111),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1113),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1113),
    [anon_sym_LT_EQ] = ACTIONS(1113),
    [anon_sym_GT_EQ] = ACTIONS(1113),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(915),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1111),
    [anon_sym_SLASH] = ACTIONS(1111),
    [anon_sym_PERCENT] = ACTIONS(1111),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1113),
    [anon_sym_CARET] = ACTIONS(1111),
    [anon_sym_LT_LT] = ACTIONS(1113),
    [anon_sym_GT_GT] = ACTIONS(1113),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [sym_wildcard_pattern] = ACTIONS(917),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(919),
    [sym__eq_custom] = ACTIONS(1113),
    [sym__eq_eq_custom] = ACTIONS(1113),
    [sym__plus_then_ws] = ACTIONS(1113),
    [sym__minus_then_ws] = ACTIONS(1113),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [186] = {
    [sym_simple_identifier] = STATE(2851),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1558),
    [sym_boolean_literal] = STATE(1558),
    [sym__string_literal] = STATE(1558),
    [sym_line_string_literal] = STATE(1558),
    [sym_multi_line_string_literal] = STATE(1558),
    [sym_raw_string_literal] = STATE(1558),
    [sym_regex_literal] = STATE(1558),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6309),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1558),
    [sym__unary_expression] = STATE(1558),
    [sym_postfix_expression] = STATE(1558),
    [sym_constructor_expression] = STATE(1558),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1558),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1558),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1558),
    [sym_prefix_expression] = STATE(1558),
    [sym_as_expression] = STATE(1558),
    [sym_selector_expression] = STATE(1558),
    [sym__binary_expression] = STATE(1558),
    [sym_multiplicative_expression] = STATE(1558),
    [sym_additive_expression] = STATE(1558),
    [sym_range_expression] = STATE(1558),
    [sym_infix_expression] = STATE(1558),
    [sym_nil_coalescing_expression] = STATE(1558),
    [sym_check_expression] = STATE(1558),
    [sym_comparison_expression] = STATE(1558),
    [sym_equality_expression] = STATE(1558),
    [sym_conjunction_expression] = STATE(1558),
    [sym_disjunction_expression] = STATE(1558),
    [sym_bitwise_operation] = STATE(1558),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1558),
    [sym_await_expression] = STATE(1558),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1558),
    [sym_call_expression] = STATE(1558),
    [sym_macro_invocation] = STATE(1558),
    [sym__primary_expression] = STATE(1558),
    [sym_tuple_expression] = STATE(1558),
    [sym_array_literal] = STATE(1558),
    [sym_dictionary_literal] = STATE(1558),
    [sym_special_literal] = STATE(1558),
    [sym_playground_literal] = STATE(1558),
    [sym_lambda_literal] = STATE(1558),
    [sym_self_expression] = STATE(1558),
    [sym_super_expression] = STATE(1558),
    [sym_if_statement] = STATE(1558),
    [sym_switch_statement] = STATE(1558),
    [sym_key_path_expression] = STATE(1558),
    [sym_key_path_string_expression] = STATE(1558),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1558),
    [sym__equality_operator] = STATE(1558),
    [sym__comparison_operator] = STATE(1558),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1558),
    [sym__multiplicative_operator] = STATE(1558),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1558),
    [sym_value_parameter_pack] = STATE(1558),
    [sym_value_pack_expansion] = STATE(1558),
    [sym__referenceable_operator] = STATE(1558),
    [sym__equal_sign] = STATE(1558),
    [sym__eq_eq] = STATE(1558),
    [sym__dot] = STATE(1513),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__universally_allowed_pattern] = STATE(6718),
    [sym__bound_identifier] = STATE(6933),
    [sym__binding_pattern_no_expr] = STATE(8525),
    [sym__binding_pattern_with_expr] = STATE(8268),
    [sym_value_binding_pattern] = STATE(4817),
    [sym__tuple_pattern] = STATE(6718),
    [sym__case_pattern] = STATE(6718),
    [sym__type_casting_pattern] = STATE(6729),
    [sym__binding_pattern] = STATE(6701),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1558),
    [sym_diagnostic] = STATE(1558),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(937),
    [sym_real_literal] = ACTIONS(939),
    [sym_integer_literal] = ACTIONS(937),
    [sym_hex_literal] = ACTIONS(937),
    [sym_oct_literal] = ACTIONS(939),
    [sym_bin_literal] = ACTIONS(939),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(911),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(937),
    [anon_sym_GT] = ACTIONS(937),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(913),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(939),
    [anon_sym_DASH_EQ] = ACTIONS(939),
    [anon_sym_STAR_EQ] = ACTIONS(939),
    [anon_sym_SLASH_EQ] = ACTIONS(939),
    [anon_sym_PERCENT_EQ] = ACTIONS(939),
    [anon_sym_BANG_EQ] = ACTIONS(937),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(939),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(939),
    [anon_sym_LT_EQ] = ACTIONS(939),
    [anon_sym_GT_EQ] = ACTIONS(939),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(915),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(937),
    [anon_sym_SLASH] = ACTIONS(937),
    [anon_sym_PERCENT] = ACTIONS(937),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(939),
    [anon_sym_CARET] = ACTIONS(937),
    [anon_sym_LT_LT] = ACTIONS(939),
    [anon_sym_GT_GT] = ACTIONS(939),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [sym_wildcard_pattern] = ACTIONS(917),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(919),
    [sym__eq_custom] = ACTIONS(939),
    [sym__eq_eq_custom] = ACTIONS(939),
    [sym__plus_then_ws] = ACTIONS(939),
    [sym__minus_then_ws] = ACTIONS(939),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [187] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1471),
    [sym_boolean_literal] = STATE(1471),
    [sym__string_literal] = STATE(1471),
    [sym_line_string_literal] = STATE(1471),
    [sym_multi_line_string_literal] = STATE(1471),
    [sym_raw_string_literal] = STATE(1471),
    [sym_regex_literal] = STATE(1471),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1471),
    [sym__unary_expression] = STATE(1471),
    [sym_postfix_expression] = STATE(1471),
    [sym_constructor_expression] = STATE(1471),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1471),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1471),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1471),
    [sym_prefix_expression] = STATE(1471),
    [sym_as_expression] = STATE(1471),
    [sym_selector_expression] = STATE(1471),
    [sym__binary_expression] = STATE(1471),
    [sym_multiplicative_expression] = STATE(1471),
    [sym_additive_expression] = STATE(1471),
    [sym_range_expression] = STATE(1471),
    [sym_infix_expression] = STATE(1471),
    [sym_nil_coalescing_expression] = STATE(1471),
    [sym_check_expression] = STATE(1471),
    [sym_comparison_expression] = STATE(1471),
    [sym_equality_expression] = STATE(1471),
    [sym_conjunction_expression] = STATE(1471),
    [sym_disjunction_expression] = STATE(1471),
    [sym_bitwise_operation] = STATE(1471),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1471),
    [sym_await_expression] = STATE(1471),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1471),
    [sym_call_expression] = STATE(1471),
    [sym_macro_invocation] = STATE(1471),
    [sym__primary_expression] = STATE(1471),
    [sym_tuple_expression] = STATE(1471),
    [sym_array_literal] = STATE(1471),
    [sym_dictionary_literal] = STATE(1471),
    [sym_special_literal] = STATE(1471),
    [sym_playground_literal] = STATE(1471),
    [sym_lambda_literal] = STATE(1471),
    [sym_self_expression] = STATE(1471),
    [sym_super_expression] = STATE(1471),
    [sym_if_statement] = STATE(1471),
    [sym_switch_statement] = STATE(1471),
    [sym_key_path_expression] = STATE(1471),
    [sym_key_path_string_expression] = STATE(1471),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1471),
    [sym__equality_operator] = STATE(1471),
    [sym__comparison_operator] = STATE(1471),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1471),
    [sym__multiplicative_operator] = STATE(1471),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_assignment] = STATE(1471),
    [sym_value_parameter_pack] = STATE(1471),
    [sym_value_pack_expansion] = STATE(1471),
    [sym__referenceable_operator] = STATE(1471),
    [sym__equal_sign] = STATE(1471),
    [sym__eq_eq] = STATE(1471),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1471),
    [sym_diagnostic] = STATE(1471),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [ts_builtin_sym_end] = ACTIONS(617),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(11),
    [anon_sym_async] = ACTIONS(11),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(11),
    [anon_sym_repeat] = ACTIONS(925),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(927),
    [sym_real_literal] = ACTIONS(929),
    [sym_integer_literal] = ACTIONS(927),
    [sym_hex_literal] = ACTIONS(927),
    [sym_oct_literal] = ACTIONS(929),
    [sym_bin_literal] = ACTIONS(929),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [anon_sym_COMMA] = ACTIONS(617),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(927),
    [anon_sym_GT] = ACTIONS(927),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(929),
    [anon_sym_DASH_EQ] = ACTIONS(929),
    [anon_sym_STAR_EQ] = ACTIONS(929),
    [anon_sym_SLASH_EQ] = ACTIONS(929),
    [anon_sym_PERCENT_EQ] = ACTIONS(929),
    [anon_sym_BANG_EQ] = ACTIONS(927),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(929),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(929),
    [anon_sym_LT_EQ] = ACTIONS(929),
    [anon_sym_GT_EQ] = ACTIONS(929),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(927),
    [anon_sym_SLASH] = ACTIONS(927),
    [anon_sym_PERCENT] = ACTIONS(927),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(929),
    [anon_sym_CARET] = ACTIONS(927),
    [anon_sym_LT_LT] = ACTIONS(929),
    [anon_sym_GT_GT] = ACTIONS(929),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(137),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(929),
    [sym__eq_eq_custom] = ACTIONS(929),
    [sym__plus_then_ws] = ACTIONS(929),
    [sym__minus_then_ws] = ACTIONS(929),
    [sym__bang_custom] = ACTIONS(139),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [188] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1677),
    [sym_boolean_literal] = STATE(1677),
    [sym__string_literal] = STATE(1677),
    [sym_line_string_literal] = STATE(1677),
    [sym_multi_line_string_literal] = STATE(1677),
    [sym_raw_string_literal] = STATE(1677),
    [sym_regex_literal] = STATE(1677),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1677),
    [sym__unary_expression] = STATE(1677),
    [sym_postfix_expression] = STATE(1677),
    [sym_constructor_expression] = STATE(1677),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1677),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1677),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1677),
    [sym_prefix_expression] = STATE(1677),
    [sym_as_expression] = STATE(1677),
    [sym_selector_expression] = STATE(1677),
    [sym__binary_expression] = STATE(1677),
    [sym_multiplicative_expression] = STATE(1677),
    [sym_additive_expression] = STATE(1677),
    [sym_range_expression] = STATE(1677),
    [sym_infix_expression] = STATE(1677),
    [sym_nil_coalescing_expression] = STATE(1677),
    [sym_check_expression] = STATE(1677),
    [sym_comparison_expression] = STATE(1677),
    [sym_equality_expression] = STATE(1677),
    [sym_conjunction_expression] = STATE(1677),
    [sym_disjunction_expression] = STATE(1677),
    [sym_bitwise_operation] = STATE(1677),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1677),
    [sym_await_expression] = STATE(1677),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1677),
    [sym_call_expression] = STATE(1677),
    [sym_macro_invocation] = STATE(1677),
    [sym__primary_expression] = STATE(1677),
    [sym_tuple_expression] = STATE(1677),
    [sym_array_literal] = STATE(1677),
    [sym_dictionary_literal] = STATE(1677),
    [sym_special_literal] = STATE(1677),
    [sym_playground_literal] = STATE(1677),
    [sym_lambda_literal] = STATE(1677),
    [sym_self_expression] = STATE(1677),
    [sym_super_expression] = STATE(1677),
    [sym_if_statement] = STATE(1677),
    [sym_switch_statement] = STATE(1677),
    [sym_key_path_expression] = STATE(1677),
    [sym_key_path_string_expression] = STATE(1677),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1677),
    [sym__equality_operator] = STATE(1677),
    [sym__comparison_operator] = STATE(1677),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1677),
    [sym__multiplicative_operator] = STATE(1677),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1677),
    [sym_value_parameter_pack] = STATE(1677),
    [sym_value_pack_expansion] = STATE(1677),
    [sym__referenceable_operator] = STATE(1677),
    [sym__equal_sign] = STATE(1677),
    [sym__eq_eq] = STATE(1677),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1677),
    [sym_diagnostic] = STATE(1677),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [ts_builtin_sym_end] = ACTIONS(469),
    [anon_sym_BANG] = ACTIONS(447),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1115),
    [sym_real_literal] = ACTIONS(1117),
    [sym_integer_literal] = ACTIONS(1115),
    [sym_hex_literal] = ACTIONS(1115),
    [sym_oct_literal] = ACTIONS(1117),
    [sym_bin_literal] = ACTIONS(1117),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(469),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(469),
    [anon_sym_LBRACK] = ACTIONS(469),
    [anon_sym_QMARK] = ACTIONS(447),
    [anon_sym_QMARK2] = ACTIONS(469),
    [anon_sym_AMP] = ACTIONS(469),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(469),
    [anon_sym_LT] = ACTIONS(447),
    [anon_sym_GT] = ACTIONS(447),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(469),
    [anon_sym_CARET_LBRACE] = ACTIONS(469),
    [anon_sym_RBRACE] = ACTIONS(469),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(469),
    [anon_sym_DASH_EQ] = ACTIONS(469),
    [anon_sym_STAR_EQ] = ACTIONS(469),
    [anon_sym_SLASH_EQ] = ACTIONS(469),
    [anon_sym_PERCENT_EQ] = ACTIONS(469),
    [anon_sym_BANG_EQ] = ACTIONS(447),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(469),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(469),
    [anon_sym_LT_EQ] = ACTIONS(469),
    [anon_sym_GT_EQ] = ACTIONS(469),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(469),
    [anon_sym_DOT_DOT_LT] = ACTIONS(469),
    [anon_sym_is] = ACTIONS(447),
    [anon_sym_PLUS] = ACTIONS(447),
    [anon_sym_DASH] = ACTIONS(447),
    [anon_sym_STAR] = ACTIONS(447),
    [anon_sym_SLASH] = ACTIONS(447),
    [anon_sym_PERCENT] = ACTIONS(447),
    [anon_sym_PLUS_PLUS] = ACTIONS(469),
    [anon_sym_DASH_DASH] = ACTIONS(469),
    [anon_sym_PIPE] = ACTIONS(469),
    [anon_sym_CARET] = ACTIONS(447),
    [anon_sym_LT_LT] = ACTIONS(469),
    [anon_sym_GT_GT] = ACTIONS(469),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__implicit_semi] = ACTIONS(469),
    [sym__explicit_semi] = ACTIONS(469),
    [sym__dot_custom] = ACTIONS(469),
    [sym__conjunction_operator_custom] = ACTIONS(469),
    [sym__disjunction_operator_custom] = ACTIONS(469),
    [sym__nil_coalescing_operator_custom] = ACTIONS(469),
    [sym__eq_custom] = ACTIONS(469),
    [sym__eq_eq_custom] = ACTIONS(469),
    [sym__plus_then_ws] = ACTIONS(469),
    [sym__minus_then_ws] = ACTIONS(469),
    [sym__bang_custom] = ACTIONS(469),
    [sym__as_custom] = ACTIONS(469),
    [sym__as_quest_custom] = ACTIONS(469),
    [sym__as_bang_custom] = ACTIONS(469),
    [sym__custom_operator] = ACTIONS(469),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [189] = {
    [sym_simple_identifier] = STATE(2645),
    [sym__contextual_simple_identifier] = STATE(2445),
    [sym__basic_literal] = STATE(1511),
    [sym_boolean_literal] = STATE(1511),
    [sym__string_literal] = STATE(1511),
    [sym_line_string_literal] = STATE(1511),
    [sym_multi_line_string_literal] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_regex_literal] = STATE(1511),
    [sym__extended_regex_literal] = STATE(2955),
    [sym__multiline_regex_literal] = STATE(2955),
    [sym_user_type] = STATE(6382),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6382),
    [sym_dictionary_type] = STATE(6382),
    [sym__expression] = STATE(1511),
    [sym__unary_expression] = STATE(1511),
    [sym_postfix_expression] = STATE(1511),
    [sym_constructor_expression] = STATE(1511),
    [sym__parenthesized_type] = STATE(7692),
    [sym_navigation_expression] = STATE(1511),
    [sym__navigable_type_expression] = STATE(7690),
    [sym_open_start_range_expression] = STATE(1511),
    [sym__range_operator] = STATE(672),
    [sym_open_end_range_expression] = STATE(1511),
    [sym_prefix_expression] = STATE(1511),
    [sym_as_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym__binary_expression] = STATE(1511),
    [sym_multiplicative_expression] = STATE(1511),
    [sym_additive_expression] = STATE(1511),
    [sym_range_expression] = STATE(1511),
    [sym_infix_expression] = STATE(1511),
    [sym_nil_coalescing_expression] = STATE(1511),
    [sym_check_expression] = STATE(1511),
    [sym_comparison_expression] = STATE(1511),
    [sym_equality_expression] = STATE(1511),
    [sym_conjunction_expression] = STATE(1511),
    [sym_disjunction_expression] = STATE(1511),
    [sym_bitwise_operation] = STATE(1511),
    [sym_custom_operator] = STATE(1170),
    [sym_try_expression] = STATE(1511),
    [sym_await_expression] = STATE(1511),
    [sym__await_operator] = STATE(716),
    [sym_ternary_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_macro_invocation] = STATE(1511),
    [sym__primary_expression] = STATE(1511),
    [sym_tuple_expression] = STATE(1511),
    [sym_array_literal] = STATE(1511),
    [sym_dictionary_literal] = STATE(1511),
    [sym_special_literal] = STATE(1511),
    [sym_playground_literal] = STATE(1511),
    [sym_lambda_literal] = STATE(1511),
    [sym_self_expression] = STATE(1511),
    [sym_super_expression] = STATE(1511),
    [sym_if_statement] = STATE(1511),
    [sym_switch_statement] = STATE(1511),
    [sym_key_path_expression] = STATE(1511),
    [sym_key_path_string_expression] = STATE(1511),
    [sym_try_operator] = STATE(732),
    [sym__assignment_and_operator] = STATE(1511),
    [sym__equality_operator] = STATE(1511),
    [sym__comparison_operator] = STATE(1511),
    [sym__three_dot_operator] = STATE(1173),
    [sym__open_ended_range_operator] = STATE(672),
    [sym__additive_operator] = STATE(1511),
    [sym__multiplicative_operator] = STATE(1511),
    [sym__prefix_unary_operator] = STATE(647),
    [sym_directly_assignable_expression] = STATE(6379),
    [sym_assignment] = STATE(1511),
    [sym_value_parameter_pack] = STATE(1511),
    [sym_value_pack_expansion] = STATE(1511),
    [sym__referenceable_operator] = STATE(1511),
    [sym__equal_sign] = STATE(1511),
    [sym__eq_eq] = STATE(1511),
    [sym__dot] = STATE(647),
    [sym__hash_symbol] = STATE(4854),
    [sym_bang] = STATE(1170),
    [sym__parameter_ownership_modifier] = STATE(2445),
    [sym_directive] = STATE(1511),
    [sym_diagnostic] = STATE(1511),
    [aux_sym_raw_string_literal_repeat1] = STATE(7509),
    [anon_sym_BANG] = ACTIONS(1119),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1121),
    [aux_sym_simple_identifier_token2] = ACTIONS(1123),
    [aux_sym_simple_identifier_token3] = ACTIONS(1123),
    [aux_sym_simple_identifier_token4] = ACTIONS(1123),
    [anon_sym_actor] = ACTIONS(1121),
    [anon_sym_async] = ACTIONS(1121),
    [anon_sym_each] = ACTIONS(1125),
    [anon_sym_lazy] = ACTIONS(1121),
    [anon_sym_repeat] = ACTIONS(1127),
    [anon_sym_package] = ACTIONS(1121),
    [anon_sym_nil] = ACTIONS(1129),
    [sym_real_literal] = ACTIONS(1131),
    [sym_integer_literal] = ACTIONS(1129),
    [sym_hex_literal] = ACTIONS(1129),
    [sym_oct_literal] = ACTIONS(1131),
    [sym_bin_literal] = ACTIONS(1131),
    [anon_sym_true] = ACTIONS(1133),
    [anon_sym_false] = ACTIONS(1133),
    [anon_sym_DQUOTE] = ACTIONS(1135),
    [anon_sym_BSLASH] = ACTIONS(1137),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1139),
    [anon_sym_COMMA] = ACTIONS(617),
    [sym__oneline_regex_literal] = ACTIONS(1141),
    [anon_sym_LPAREN] = ACTIONS(1143),
    [anon_sym_LBRACK] = ACTIONS(1145),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(1147),
    [anon_sym_TILDE] = ACTIONS(1147),
    [anon_sym_if] = ACTIONS(1149),
    [anon_sym_switch] = ACTIONS(1151),
    [aux_sym_custom_operator_token1] = ACTIONS(1153),
    [anon_sym_LT] = ACTIONS(1129),
    [anon_sym_GT] = ACTIONS(1129),
    [anon_sym_await] = ACTIONS(1155),
    [anon_sym_LBRACE] = ACTIONS(1157),
    [anon_sym_CARET_LBRACE] = ACTIONS(1157),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_self] = ACTIONS(1159),
    [anon_sym_super] = ACTIONS(1161),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1131),
    [anon_sym_DASH_EQ] = ACTIONS(1131),
    [anon_sym_STAR_EQ] = ACTIONS(1131),
    [anon_sym_SLASH_EQ] = ACTIONS(1131),
    [anon_sym_PERCENT_EQ] = ACTIONS(1131),
    [anon_sym_BANG_EQ] = ACTIONS(1129),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1131),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1131),
    [anon_sym_LT_EQ] = ACTIONS(1131),
    [anon_sym_GT_EQ] = ACTIONS(1131),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1163),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1165),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(1167),
    [anon_sym_DASH] = ACTIONS(1167),
    [anon_sym_STAR] = ACTIONS(1129),
    [anon_sym_SLASH] = ACTIONS(1129),
    [anon_sym_PERCENT] = ACTIONS(1129),
    [anon_sym_PLUS_PLUS] = ACTIONS(1147),
    [anon_sym_DASH_DASH] = ACTIONS(1147),
    [anon_sym_PIPE] = ACTIONS(1131),
    [anon_sym_CARET] = ACTIONS(1129),
    [anon_sym_LT_LT] = ACTIONS(1131),
    [anon_sym_GT_GT] = ACTIONS(1131),
    [anon_sym_borrowing] = ACTIONS(1121),
    [anon_sym_consuming] = ACTIONS(1121),
    [sym_multiline_comment] = ACTIONS(617),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1169),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(1171),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(1131),
    [sym__eq_eq_custom] = ACTIONS(1131),
    [sym__plus_then_ws] = ACTIONS(1131),
    [sym__minus_then_ws] = ACTIONS(1131),
    [sym__bang_custom] = ACTIONS(1173),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(1153),
    [sym__hash_symbol_custom] = ACTIONS(1175),
    [sym__directive_if] = ACTIONS(1177),
    [sym__directive_elseif] = ACTIONS(1177),
    [sym__directive_else] = ACTIONS(1179),
    [sym__directive_endif] = ACTIONS(1179),
  },
  [190] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1519),
    [sym_boolean_literal] = STATE(1519),
    [sym__string_literal] = STATE(1519),
    [sym_line_string_literal] = STATE(1519),
    [sym_multi_line_string_literal] = STATE(1519),
    [sym_raw_string_literal] = STATE(1519),
    [sym_regex_literal] = STATE(1519),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1519),
    [sym__unary_expression] = STATE(1519),
    [sym_postfix_expression] = STATE(1519),
    [sym_constructor_expression] = STATE(1519),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1519),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1519),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1519),
    [sym_prefix_expression] = STATE(1519),
    [sym_as_expression] = STATE(1519),
    [sym_selector_expression] = STATE(1519),
    [sym__binary_expression] = STATE(1519),
    [sym_multiplicative_expression] = STATE(1519),
    [sym_additive_expression] = STATE(1519),
    [sym_range_expression] = STATE(1519),
    [sym_infix_expression] = STATE(1519),
    [sym_nil_coalescing_expression] = STATE(1519),
    [sym_check_expression] = STATE(1519),
    [sym_comparison_expression] = STATE(1519),
    [sym_equality_expression] = STATE(1519),
    [sym_conjunction_expression] = STATE(1519),
    [sym_disjunction_expression] = STATE(1519),
    [sym_bitwise_operation] = STATE(1519),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1519),
    [sym_await_expression] = STATE(1519),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1519),
    [sym_call_expression] = STATE(1519),
    [sym_macro_invocation] = STATE(1519),
    [sym__primary_expression] = STATE(1519),
    [sym_tuple_expression] = STATE(1519),
    [sym_array_literal] = STATE(1519),
    [sym_dictionary_literal] = STATE(1519),
    [sym_special_literal] = STATE(1519),
    [sym_playground_literal] = STATE(1519),
    [sym_lambda_literal] = STATE(1519),
    [sym_self_expression] = STATE(1519),
    [sym_super_expression] = STATE(1519),
    [sym_if_statement] = STATE(1519),
    [sym_switch_statement] = STATE(1519),
    [sym_key_path_expression] = STATE(1519),
    [sym_key_path_string_expression] = STATE(1519),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1519),
    [sym__equality_operator] = STATE(1519),
    [sym__comparison_operator] = STATE(1519),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1519),
    [sym__multiplicative_operator] = STATE(1519),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1519),
    [sym_value_parameter_pack] = STATE(1519),
    [sym_value_pack_expansion] = STATE(1519),
    [sym__referenceable_operator] = STATE(1519),
    [sym__equal_sign] = STATE(1519),
    [sym__eq_eq] = STATE(1519),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1519),
    [sym_diagnostic] = STATE(1519),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(797),
    [sym_real_literal] = ACTIONS(799),
    [sym_integer_literal] = ACTIONS(797),
    [sym_hex_literal] = ACTIONS(797),
    [sym_oct_literal] = ACTIONS(799),
    [sym_bin_literal] = ACTIONS(799),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(617),
    [anon_sym_COMMA] = ACTIONS(617),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_COLON] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(617),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(797),
    [anon_sym_GT] = ACTIONS(797),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(799),
    [anon_sym_DASH_EQ] = ACTIONS(799),
    [anon_sym_STAR_EQ] = ACTIONS(799),
    [anon_sym_SLASH_EQ] = ACTIONS(799),
    [anon_sym_PERCENT_EQ] = ACTIONS(799),
    [anon_sym_BANG_EQ] = ACTIONS(797),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(799),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(799),
    [anon_sym_LT_EQ] = ACTIONS(799),
    [anon_sym_GT_EQ] = ACTIONS(799),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(797),
    [anon_sym_SLASH] = ACTIONS(797),
    [anon_sym_PERCENT] = ACTIONS(797),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(799),
    [anon_sym_CARET] = ACTIONS(797),
    [anon_sym_LT_LT] = ACTIONS(799),
    [anon_sym_GT_GT] = ACTIONS(799),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(799),
    [sym__eq_eq_custom] = ACTIONS(799),
    [sym__plus_then_ws] = ACTIONS(799),
    [sym__minus_then_ws] = ACTIONS(799),
    [sym__bang_custom] = ACTIONS(787),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [191] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1682),
    [sym_boolean_literal] = STATE(1682),
    [sym__string_literal] = STATE(1682),
    [sym_line_string_literal] = STATE(1682),
    [sym_multi_line_string_literal] = STATE(1682),
    [sym_raw_string_literal] = STATE(1682),
    [sym_regex_literal] = STATE(1682),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1682),
    [sym__unary_expression] = STATE(1682),
    [sym_postfix_expression] = STATE(1682),
    [sym_constructor_expression] = STATE(1682),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1682),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1682),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1682),
    [sym_prefix_expression] = STATE(1682),
    [sym_as_expression] = STATE(1682),
    [sym_selector_expression] = STATE(1682),
    [sym__binary_expression] = STATE(1682),
    [sym_multiplicative_expression] = STATE(1682),
    [sym_additive_expression] = STATE(1682),
    [sym_range_expression] = STATE(1682),
    [sym_infix_expression] = STATE(1682),
    [sym_nil_coalescing_expression] = STATE(1682),
    [sym_check_expression] = STATE(1682),
    [sym_comparison_expression] = STATE(1682),
    [sym_equality_expression] = STATE(1682),
    [sym_conjunction_expression] = STATE(1682),
    [sym_disjunction_expression] = STATE(1682),
    [sym_bitwise_operation] = STATE(1682),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1682),
    [sym_await_expression] = STATE(1682),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1682),
    [sym_call_expression] = STATE(1682),
    [sym_macro_invocation] = STATE(1682),
    [sym__primary_expression] = STATE(1682),
    [sym_tuple_expression] = STATE(1682),
    [sym_array_literal] = STATE(1682),
    [sym_dictionary_literal] = STATE(1682),
    [sym_special_literal] = STATE(1682),
    [sym_playground_literal] = STATE(1682),
    [sym_lambda_literal] = STATE(1682),
    [sym_self_expression] = STATE(1682),
    [sym_super_expression] = STATE(1682),
    [sym_if_statement] = STATE(1682),
    [sym_switch_statement] = STATE(1682),
    [sym_key_path_expression] = STATE(1682),
    [sym_key_path_string_expression] = STATE(1682),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1682),
    [sym__equality_operator] = STATE(1682),
    [sym__comparison_operator] = STATE(1682),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1682),
    [sym__multiplicative_operator] = STATE(1682),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1682),
    [sym_value_parameter_pack] = STATE(1682),
    [sym_value_pack_expansion] = STATE(1682),
    [sym__referenceable_operator] = STATE(1682),
    [sym__equal_sign] = STATE(1682),
    [sym__eq_eq] = STATE(1682),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1682),
    [sym_diagnostic] = STATE(1682),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(447),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1181),
    [sym_real_literal] = ACTIONS(1183),
    [sym_integer_literal] = ACTIONS(1181),
    [sym_hex_literal] = ACTIONS(1181),
    [sym_oct_literal] = ACTIONS(1183),
    [sym_bin_literal] = ACTIONS(1183),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(469),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(469),
    [anon_sym_LBRACK] = ACTIONS(469),
    [anon_sym_QMARK] = ACTIONS(447),
    [anon_sym_QMARK2] = ACTIONS(469),
    [anon_sym_AMP] = ACTIONS(469),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(469),
    [anon_sym_LT] = ACTIONS(447),
    [anon_sym_GT] = ACTIONS(447),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(469),
    [anon_sym_CARET_LBRACE] = ACTIONS(469),
    [anon_sym_RBRACE] = ACTIONS(469),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(469),
    [anon_sym_DASH_EQ] = ACTIONS(469),
    [anon_sym_STAR_EQ] = ACTIONS(469),
    [anon_sym_SLASH_EQ] = ACTIONS(469),
    [anon_sym_PERCENT_EQ] = ACTIONS(469),
    [anon_sym_BANG_EQ] = ACTIONS(447),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(469),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(469),
    [anon_sym_LT_EQ] = ACTIONS(469),
    [anon_sym_GT_EQ] = ACTIONS(469),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(469),
    [anon_sym_DOT_DOT_LT] = ACTIONS(469),
    [anon_sym_is] = ACTIONS(447),
    [anon_sym_PLUS] = ACTIONS(447),
    [anon_sym_DASH] = ACTIONS(447),
    [anon_sym_STAR] = ACTIONS(447),
    [anon_sym_SLASH] = ACTIONS(447),
    [anon_sym_PERCENT] = ACTIONS(447),
    [anon_sym_PLUS_PLUS] = ACTIONS(469),
    [anon_sym_DASH_DASH] = ACTIONS(469),
    [anon_sym_PIPE] = ACTIONS(469),
    [anon_sym_CARET] = ACTIONS(447),
    [anon_sym_LT_LT] = ACTIONS(469),
    [anon_sym_GT_GT] = ACTIONS(469),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(469),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__implicit_semi] = ACTIONS(469),
    [sym__explicit_semi] = ACTIONS(469),
    [sym__dot_custom] = ACTIONS(469),
    [sym__conjunction_operator_custom] = ACTIONS(469),
    [sym__disjunction_operator_custom] = ACTIONS(469),
    [sym__nil_coalescing_operator_custom] = ACTIONS(469),
    [sym__eq_custom] = ACTIONS(469),
    [sym__eq_eq_custom] = ACTIONS(469),
    [sym__plus_then_ws] = ACTIONS(469),
    [sym__minus_then_ws] = ACTIONS(469),
    [sym__bang_custom] = ACTIONS(469),
    [sym__as_custom] = ACTIONS(469),
    [sym__as_quest_custom] = ACTIONS(469),
    [sym__as_bang_custom] = ACTIONS(469),
    [sym__custom_operator] = ACTIONS(469),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [192] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1483),
    [sym_boolean_literal] = STATE(1483),
    [sym__string_literal] = STATE(1483),
    [sym_line_string_literal] = STATE(1483),
    [sym_multi_line_string_literal] = STATE(1483),
    [sym_raw_string_literal] = STATE(1483),
    [sym_regex_literal] = STATE(1483),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1483),
    [sym__unary_expression] = STATE(1483),
    [sym_postfix_expression] = STATE(1483),
    [sym_constructor_expression] = STATE(1483),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1483),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1483),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1483),
    [sym_prefix_expression] = STATE(1483),
    [sym_as_expression] = STATE(1483),
    [sym_selector_expression] = STATE(1483),
    [sym__binary_expression] = STATE(1483),
    [sym_multiplicative_expression] = STATE(1483),
    [sym_additive_expression] = STATE(1483),
    [sym_range_expression] = STATE(1483),
    [sym_infix_expression] = STATE(1483),
    [sym_nil_coalescing_expression] = STATE(1483),
    [sym_check_expression] = STATE(1483),
    [sym_comparison_expression] = STATE(1483),
    [sym_equality_expression] = STATE(1483),
    [sym_conjunction_expression] = STATE(1483),
    [sym_disjunction_expression] = STATE(1483),
    [sym_bitwise_operation] = STATE(1483),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1483),
    [sym_await_expression] = STATE(1483),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1483),
    [sym_call_expression] = STATE(1483),
    [sym_macro_invocation] = STATE(1483),
    [sym__primary_expression] = STATE(1483),
    [sym_tuple_expression] = STATE(1483),
    [sym_array_literal] = STATE(1483),
    [sym_dictionary_literal] = STATE(1483),
    [sym_special_literal] = STATE(1483),
    [sym_playground_literal] = STATE(1483),
    [sym_lambda_literal] = STATE(1483),
    [sym_self_expression] = STATE(1483),
    [sym_super_expression] = STATE(1483),
    [sym_if_statement] = STATE(1483),
    [sym_switch_statement] = STATE(1483),
    [sym_key_path_expression] = STATE(1483),
    [sym_key_path_string_expression] = STATE(1483),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1483),
    [sym__equality_operator] = STATE(1483),
    [sym__comparison_operator] = STATE(1483),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1483),
    [sym__multiplicative_operator] = STATE(1483),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1483),
    [sym_value_parameter_pack] = STATE(1483),
    [sym_value_pack_expansion] = STATE(1483),
    [sym__referenceable_operator] = STATE(1483),
    [sym__equal_sign] = STATE(1483),
    [sym__eq_eq] = STATE(1483),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1483),
    [sym_diagnostic] = STATE(1483),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(763),
    [sym_real_literal] = ACTIONS(765),
    [sym_integer_literal] = ACTIONS(763),
    [sym_hex_literal] = ACTIONS(763),
    [sym_oct_literal] = ACTIONS(765),
    [sym_bin_literal] = ACTIONS(765),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(617),
    [anon_sym_COMMA] = ACTIONS(617),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_COLON] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(617),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(763),
    [anon_sym_GT] = ACTIONS(763),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(765),
    [anon_sym_DASH_EQ] = ACTIONS(765),
    [anon_sym_STAR_EQ] = ACTIONS(765),
    [anon_sym_SLASH_EQ] = ACTIONS(765),
    [anon_sym_PERCENT_EQ] = ACTIONS(765),
    [anon_sym_BANG_EQ] = ACTIONS(763),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(765),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(765),
    [anon_sym_LT_EQ] = ACTIONS(765),
    [anon_sym_GT_EQ] = ACTIONS(765),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(763),
    [anon_sym_SLASH] = ACTIONS(763),
    [anon_sym_PERCENT] = ACTIONS(763),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(765),
    [anon_sym_CARET] = ACTIONS(763),
    [anon_sym_LT_LT] = ACTIONS(765),
    [anon_sym_GT_GT] = ACTIONS(765),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(765),
    [sym__eq_eq_custom] = ACTIONS(765),
    [sym__plus_then_ws] = ACTIONS(765),
    [sym__minus_then_ws] = ACTIONS(765),
    [sym__bang_custom] = ACTIONS(787),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [193] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1472),
    [sym_boolean_literal] = STATE(1472),
    [sym__string_literal] = STATE(1472),
    [sym_line_string_literal] = STATE(1472),
    [sym_multi_line_string_literal] = STATE(1472),
    [sym_raw_string_literal] = STATE(1472),
    [sym_regex_literal] = STATE(1472),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1472),
    [sym__unary_expression] = STATE(1472),
    [sym_postfix_expression] = STATE(1472),
    [sym_constructor_expression] = STATE(1472),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1472),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1472),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1472),
    [sym_prefix_expression] = STATE(1472),
    [sym_as_expression] = STATE(1472),
    [sym_selector_expression] = STATE(1472),
    [sym__binary_expression] = STATE(1472),
    [sym_multiplicative_expression] = STATE(1472),
    [sym_additive_expression] = STATE(1472),
    [sym_range_expression] = STATE(1472),
    [sym_infix_expression] = STATE(1472),
    [sym_nil_coalescing_expression] = STATE(1472),
    [sym_check_expression] = STATE(1472),
    [sym_comparison_expression] = STATE(1472),
    [sym_equality_expression] = STATE(1472),
    [sym_conjunction_expression] = STATE(1472),
    [sym_disjunction_expression] = STATE(1472),
    [sym_bitwise_operation] = STATE(1472),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1472),
    [sym_await_expression] = STATE(1472),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1472),
    [sym_call_expression] = STATE(1472),
    [sym_macro_invocation] = STATE(1472),
    [sym__primary_expression] = STATE(1472),
    [sym_tuple_expression] = STATE(1472),
    [sym_array_literal] = STATE(1472),
    [sym_dictionary_literal] = STATE(1472),
    [sym_special_literal] = STATE(1472),
    [sym_playground_literal] = STATE(1472),
    [sym_lambda_literal] = STATE(1472),
    [sym_self_expression] = STATE(1472),
    [sym_super_expression] = STATE(1472),
    [sym_if_statement] = STATE(1472),
    [sym_switch_statement] = STATE(1472),
    [sym_key_path_expression] = STATE(1472),
    [sym_key_path_string_expression] = STATE(1472),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1472),
    [sym__equality_operator] = STATE(1472),
    [sym__comparison_operator] = STATE(1472),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1472),
    [sym__multiplicative_operator] = STATE(1472),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_assignment] = STATE(1472),
    [sym_value_parameter_pack] = STATE(1472),
    [sym_value_pack_expansion] = STATE(1472),
    [sym__referenceable_operator] = STATE(1472),
    [sym__equal_sign] = STATE(1472),
    [sym__eq_eq] = STATE(1472),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1472),
    [sym_diagnostic] = STATE(1472),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [ts_builtin_sym_end] = ACTIONS(617),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(11),
    [anon_sym_async] = ACTIONS(11),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(11),
    [anon_sym_repeat] = ACTIONS(925),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(931),
    [sym_real_literal] = ACTIONS(933),
    [sym_integer_literal] = ACTIONS(931),
    [sym_hex_literal] = ACTIONS(931),
    [sym_oct_literal] = ACTIONS(933),
    [sym_bin_literal] = ACTIONS(933),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(931),
    [anon_sym_GT] = ACTIONS(931),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(935),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(933),
    [anon_sym_DASH_EQ] = ACTIONS(933),
    [anon_sym_STAR_EQ] = ACTIONS(933),
    [anon_sym_SLASH_EQ] = ACTIONS(933),
    [anon_sym_PERCENT_EQ] = ACTIONS(933),
    [anon_sym_BANG_EQ] = ACTIONS(931),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(933),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(933),
    [anon_sym_LT_EQ] = ACTIONS(933),
    [anon_sym_GT_EQ] = ACTIONS(933),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(931),
    [anon_sym_SLASH] = ACTIONS(931),
    [anon_sym_PERCENT] = ACTIONS(931),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(933),
    [anon_sym_CARET] = ACTIONS(931),
    [anon_sym_LT_LT] = ACTIONS(933),
    [anon_sym_GT_GT] = ACTIONS(933),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(137),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(933),
    [sym__eq_eq_custom] = ACTIONS(933),
    [sym__plus_then_ws] = ACTIONS(933),
    [sym__minus_then_ws] = ACTIONS(933),
    [sym__bang_custom] = ACTIONS(139),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [194] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1672),
    [sym_boolean_literal] = STATE(1672),
    [sym__string_literal] = STATE(1672),
    [sym_line_string_literal] = STATE(1672),
    [sym_multi_line_string_literal] = STATE(1672),
    [sym_raw_string_literal] = STATE(1672),
    [sym_regex_literal] = STATE(1672),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1672),
    [sym__unary_expression] = STATE(1672),
    [sym_postfix_expression] = STATE(1672),
    [sym_constructor_expression] = STATE(1672),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1672),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1672),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1672),
    [sym_prefix_expression] = STATE(1672),
    [sym_as_expression] = STATE(1672),
    [sym_selector_expression] = STATE(1672),
    [sym__binary_expression] = STATE(1672),
    [sym_multiplicative_expression] = STATE(1672),
    [sym_additive_expression] = STATE(1672),
    [sym_range_expression] = STATE(1672),
    [sym_infix_expression] = STATE(1672),
    [sym_nil_coalescing_expression] = STATE(1672),
    [sym_check_expression] = STATE(1672),
    [sym_comparison_expression] = STATE(1672),
    [sym_equality_expression] = STATE(1672),
    [sym_conjunction_expression] = STATE(1672),
    [sym_disjunction_expression] = STATE(1672),
    [sym_bitwise_operation] = STATE(1672),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1672),
    [sym_await_expression] = STATE(1672),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1672),
    [sym_call_expression] = STATE(1672),
    [sym_macro_invocation] = STATE(1672),
    [sym__primary_expression] = STATE(1672),
    [sym_tuple_expression] = STATE(1672),
    [sym_array_literal] = STATE(1672),
    [sym_dictionary_literal] = STATE(1672),
    [sym_special_literal] = STATE(1672),
    [sym_playground_literal] = STATE(1672),
    [sym_lambda_literal] = STATE(1672),
    [sym_self_expression] = STATE(1672),
    [sym_super_expression] = STATE(1672),
    [sym_if_statement] = STATE(1672),
    [sym_switch_statement] = STATE(1672),
    [sym_key_path_expression] = STATE(1672),
    [sym_key_path_string_expression] = STATE(1672),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1672),
    [sym__equality_operator] = STATE(1672),
    [sym__comparison_operator] = STATE(1672),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1672),
    [sym__multiplicative_operator] = STATE(1672),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1672),
    [sym_value_parameter_pack] = STATE(1672),
    [sym_value_pack_expansion] = STATE(1672),
    [sym__referenceable_operator] = STATE(1672),
    [sym__equal_sign] = STATE(1672),
    [sym__eq_eq] = STATE(1672),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1672),
    [sym_diagnostic] = STATE(1672),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(447),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1185),
    [sym_real_literal] = ACTIONS(1187),
    [sym_integer_literal] = ACTIONS(1185),
    [sym_hex_literal] = ACTIONS(1185),
    [sym_oct_literal] = ACTIONS(1187),
    [sym_bin_literal] = ACTIONS(1187),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(469),
    [anon_sym_COMMA] = ACTIONS(469),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_COLON] = ACTIONS(469),
    [anon_sym_LPAREN] = ACTIONS(469),
    [anon_sym_LBRACK] = ACTIONS(469),
    [anon_sym_RBRACK] = ACTIONS(469),
    [anon_sym_QMARK] = ACTIONS(447),
    [anon_sym_QMARK2] = ACTIONS(469),
    [anon_sym_AMP] = ACTIONS(469),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(469),
    [anon_sym_LT] = ACTIONS(447),
    [anon_sym_GT] = ACTIONS(447),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(469),
    [anon_sym_CARET_LBRACE] = ACTIONS(469),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(469),
    [anon_sym_DASH_EQ] = ACTIONS(469),
    [anon_sym_STAR_EQ] = ACTIONS(469),
    [anon_sym_SLASH_EQ] = ACTIONS(469),
    [anon_sym_PERCENT_EQ] = ACTIONS(469),
    [anon_sym_BANG_EQ] = ACTIONS(447),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(469),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(469),
    [anon_sym_LT_EQ] = ACTIONS(469),
    [anon_sym_GT_EQ] = ACTIONS(469),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(469),
    [anon_sym_DOT_DOT_LT] = ACTIONS(469),
    [anon_sym_is] = ACTIONS(447),
    [anon_sym_PLUS] = ACTIONS(447),
    [anon_sym_DASH] = ACTIONS(447),
    [anon_sym_STAR] = ACTIONS(447),
    [anon_sym_SLASH] = ACTIONS(447),
    [anon_sym_PERCENT] = ACTIONS(447),
    [anon_sym_PLUS_PLUS] = ACTIONS(469),
    [anon_sym_DASH_DASH] = ACTIONS(469),
    [anon_sym_PIPE] = ACTIONS(469),
    [anon_sym_CARET] = ACTIONS(447),
    [anon_sym_LT_LT] = ACTIONS(469),
    [anon_sym_GT_GT] = ACTIONS(469),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(469),
    [sym__conjunction_operator_custom] = ACTIONS(469),
    [sym__disjunction_operator_custom] = ACTIONS(469),
    [sym__nil_coalescing_operator_custom] = ACTIONS(469),
    [sym__eq_custom] = ACTIONS(469),
    [sym__eq_eq_custom] = ACTIONS(469),
    [sym__plus_then_ws] = ACTIONS(469),
    [sym__minus_then_ws] = ACTIONS(469),
    [sym__bang_custom] = ACTIONS(469),
    [sym__as_custom] = ACTIONS(469),
    [sym__as_quest_custom] = ACTIONS(469),
    [sym__as_bang_custom] = ACTIONS(469),
    [sym__custom_operator] = ACTIONS(469),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [195] = {
    [sym_simple_identifier] = STATE(2645),
    [sym__contextual_simple_identifier] = STATE(2445),
    [sym__basic_literal] = STATE(1491),
    [sym_boolean_literal] = STATE(1491),
    [sym__string_literal] = STATE(1491),
    [sym_line_string_literal] = STATE(1491),
    [sym_multi_line_string_literal] = STATE(1491),
    [sym_raw_string_literal] = STATE(1491),
    [sym_regex_literal] = STATE(1491),
    [sym__extended_regex_literal] = STATE(2955),
    [sym__multiline_regex_literal] = STATE(2955),
    [sym_user_type] = STATE(6382),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6382),
    [sym_dictionary_type] = STATE(6382),
    [sym__expression] = STATE(1491),
    [sym__unary_expression] = STATE(1491),
    [sym_postfix_expression] = STATE(1491),
    [sym_constructor_expression] = STATE(1491),
    [sym__parenthesized_type] = STATE(7692),
    [sym_navigation_expression] = STATE(1491),
    [sym__navigable_type_expression] = STATE(7690),
    [sym_open_start_range_expression] = STATE(1491),
    [sym__range_operator] = STATE(672),
    [sym_open_end_range_expression] = STATE(1491),
    [sym_prefix_expression] = STATE(1491),
    [sym_as_expression] = STATE(1491),
    [sym_selector_expression] = STATE(1491),
    [sym__binary_expression] = STATE(1491),
    [sym_multiplicative_expression] = STATE(1491),
    [sym_additive_expression] = STATE(1491),
    [sym_range_expression] = STATE(1491),
    [sym_infix_expression] = STATE(1491),
    [sym_nil_coalescing_expression] = STATE(1491),
    [sym_check_expression] = STATE(1491),
    [sym_comparison_expression] = STATE(1491),
    [sym_equality_expression] = STATE(1491),
    [sym_conjunction_expression] = STATE(1491),
    [sym_disjunction_expression] = STATE(1491),
    [sym_bitwise_operation] = STATE(1491),
    [sym_custom_operator] = STATE(1170),
    [sym_try_expression] = STATE(1491),
    [sym_await_expression] = STATE(1491),
    [sym__await_operator] = STATE(716),
    [sym_ternary_expression] = STATE(1491),
    [sym_call_expression] = STATE(1491),
    [sym_macro_invocation] = STATE(1491),
    [sym__primary_expression] = STATE(1491),
    [sym_tuple_expression] = STATE(1491),
    [sym_array_literal] = STATE(1491),
    [sym_dictionary_literal] = STATE(1491),
    [sym_special_literal] = STATE(1491),
    [sym_playground_literal] = STATE(1491),
    [sym_lambda_literal] = STATE(1491),
    [sym_self_expression] = STATE(1491),
    [sym_super_expression] = STATE(1491),
    [sym_if_statement] = STATE(1491),
    [sym_switch_statement] = STATE(1491),
    [sym_key_path_expression] = STATE(1491),
    [sym_key_path_string_expression] = STATE(1491),
    [sym_try_operator] = STATE(732),
    [sym__assignment_and_operator] = STATE(1491),
    [sym__equality_operator] = STATE(1491),
    [sym__comparison_operator] = STATE(1491),
    [sym__three_dot_operator] = STATE(1173),
    [sym__open_ended_range_operator] = STATE(672),
    [sym__additive_operator] = STATE(1491),
    [sym__multiplicative_operator] = STATE(1491),
    [sym__prefix_unary_operator] = STATE(647),
    [sym_directly_assignable_expression] = STATE(6379),
    [sym_assignment] = STATE(1491),
    [sym_value_parameter_pack] = STATE(1491),
    [sym_value_pack_expansion] = STATE(1491),
    [sym__referenceable_operator] = STATE(1491),
    [sym__equal_sign] = STATE(1491),
    [sym__eq_eq] = STATE(1491),
    [sym__dot] = STATE(647),
    [sym__hash_symbol] = STATE(4854),
    [sym_bang] = STATE(1170),
    [sym__parameter_ownership_modifier] = STATE(2445),
    [sym_directive] = STATE(1491),
    [sym_diagnostic] = STATE(1491),
    [aux_sym_raw_string_literal_repeat1] = STATE(7509),
    [anon_sym_BANG] = ACTIONS(1119),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1121),
    [aux_sym_simple_identifier_token2] = ACTIONS(1123),
    [aux_sym_simple_identifier_token3] = ACTIONS(1123),
    [aux_sym_simple_identifier_token4] = ACTIONS(1123),
    [anon_sym_actor] = ACTIONS(1121),
    [anon_sym_async] = ACTIONS(1121),
    [anon_sym_each] = ACTIONS(1125),
    [anon_sym_lazy] = ACTIONS(1121),
    [anon_sym_repeat] = ACTIONS(1127),
    [anon_sym_package] = ACTIONS(1121),
    [anon_sym_nil] = ACTIONS(1189),
    [sym_real_literal] = ACTIONS(1191),
    [sym_integer_literal] = ACTIONS(1189),
    [sym_hex_literal] = ACTIONS(1189),
    [sym_oct_literal] = ACTIONS(1191),
    [sym_bin_literal] = ACTIONS(1191),
    [anon_sym_true] = ACTIONS(1133),
    [anon_sym_false] = ACTIONS(1133),
    [anon_sym_DQUOTE] = ACTIONS(1135),
    [anon_sym_BSLASH] = ACTIONS(1137),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1139),
    [anon_sym_COMMA] = ACTIONS(617),
    [sym__oneline_regex_literal] = ACTIONS(1141),
    [anon_sym_LPAREN] = ACTIONS(1143),
    [anon_sym_LBRACK] = ACTIONS(1145),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(1147),
    [anon_sym_TILDE] = ACTIONS(1147),
    [anon_sym_if] = ACTIONS(1149),
    [anon_sym_switch] = ACTIONS(1151),
    [aux_sym_custom_operator_token1] = ACTIONS(1153),
    [anon_sym_LT] = ACTIONS(1189),
    [anon_sym_GT] = ACTIONS(1189),
    [anon_sym_await] = ACTIONS(1155),
    [anon_sym_LBRACE] = ACTIONS(1157),
    [anon_sym_CARET_LBRACE] = ACTIONS(1157),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_self] = ACTIONS(1159),
    [anon_sym_super] = ACTIONS(1161),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1191),
    [anon_sym_DASH_EQ] = ACTIONS(1191),
    [anon_sym_STAR_EQ] = ACTIONS(1191),
    [anon_sym_SLASH_EQ] = ACTIONS(1191),
    [anon_sym_PERCENT_EQ] = ACTIONS(1191),
    [anon_sym_BANG_EQ] = ACTIONS(1189),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1191),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1191),
    [anon_sym_LT_EQ] = ACTIONS(1191),
    [anon_sym_GT_EQ] = ACTIONS(1191),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1163),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1165),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(1167),
    [anon_sym_DASH] = ACTIONS(1167),
    [anon_sym_STAR] = ACTIONS(1189),
    [anon_sym_SLASH] = ACTIONS(1189),
    [anon_sym_PERCENT] = ACTIONS(1189),
    [anon_sym_PLUS_PLUS] = ACTIONS(1147),
    [anon_sym_DASH_DASH] = ACTIONS(1147),
    [anon_sym_PIPE] = ACTIONS(1191),
    [anon_sym_CARET] = ACTIONS(1189),
    [anon_sym_LT_LT] = ACTIONS(1191),
    [anon_sym_GT_GT] = ACTIONS(1191),
    [anon_sym_borrowing] = ACTIONS(1121),
    [anon_sym_consuming] = ACTIONS(1121),
    [sym_multiline_comment] = ACTIONS(617),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1169),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(1171),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(1191),
    [sym__eq_eq_custom] = ACTIONS(1191),
    [sym__plus_then_ws] = ACTIONS(1191),
    [sym__minus_then_ws] = ACTIONS(1191),
    [sym__bang_custom] = ACTIONS(1173),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(1153),
    [sym__hash_symbol_custom] = ACTIONS(1175),
    [sym__directive_if] = ACTIONS(1177),
    [sym__directive_elseif] = ACTIONS(1177),
    [sym__directive_else] = ACTIONS(1179),
    [sym__directive_endif] = ACTIONS(1179),
  },
  [196] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1662),
    [sym_boolean_literal] = STATE(1662),
    [sym__string_literal] = STATE(1662),
    [sym_line_string_literal] = STATE(1662),
    [sym_multi_line_string_literal] = STATE(1662),
    [sym_raw_string_literal] = STATE(1662),
    [sym_regex_literal] = STATE(1662),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1662),
    [sym__unary_expression] = STATE(1662),
    [sym_postfix_expression] = STATE(1662),
    [sym_constructor_expression] = STATE(1662),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1662),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1662),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1662),
    [sym_prefix_expression] = STATE(1662),
    [sym_as_expression] = STATE(1662),
    [sym_selector_expression] = STATE(1662),
    [sym__binary_expression] = STATE(1662),
    [sym_multiplicative_expression] = STATE(1662),
    [sym_additive_expression] = STATE(1662),
    [sym_range_expression] = STATE(1662),
    [sym_infix_expression] = STATE(1662),
    [sym_nil_coalescing_expression] = STATE(1662),
    [sym_check_expression] = STATE(1662),
    [sym_comparison_expression] = STATE(1662),
    [sym_equality_expression] = STATE(1662),
    [sym_conjunction_expression] = STATE(1662),
    [sym_disjunction_expression] = STATE(1662),
    [sym_bitwise_operation] = STATE(1662),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1662),
    [sym_await_expression] = STATE(1662),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1662),
    [sym_call_expression] = STATE(1662),
    [sym_macro_invocation] = STATE(1662),
    [sym__primary_expression] = STATE(1662),
    [sym_tuple_expression] = STATE(1662),
    [sym_array_literal] = STATE(1662),
    [sym_dictionary_literal] = STATE(1662),
    [sym_special_literal] = STATE(1662),
    [sym_playground_literal] = STATE(1662),
    [sym_lambda_literal] = STATE(1662),
    [sym_self_expression] = STATE(1662),
    [sym_super_expression] = STATE(1662),
    [sym_if_statement] = STATE(1662),
    [sym__if_condition_sequence_item] = STATE(7132),
    [sym__if_let_binding] = STATE(8586),
    [sym_switch_statement] = STATE(1662),
    [sym_key_path_expression] = STATE(1662),
    [sym_key_path_string_expression] = STATE(1662),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1662),
    [sym__equality_operator] = STATE(1662),
    [sym__comparison_operator] = STATE(1662),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1662),
    [sym__multiplicative_operator] = STATE(1662),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1662),
    [sym_value_parameter_pack] = STATE(1662),
    [sym_value_pack_expansion] = STATE(1662),
    [sym_availability_condition] = STATE(7132),
    [sym__referenceable_operator] = STATE(1662),
    [sym__equal_sign] = STATE(1662),
    [sym__eq_eq] = STATE(1662),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4798),
    [sym_bang] = STATE(1169),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6656),
    [sym_value_binding_pattern] = STATE(4803),
    [sym__possibly_async_binding_pattern_kind] = STATE(4803),
    [sym__binding_kind_and_pattern] = STATE(6648),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1662),
    [sym_diagnostic] = STATE(1662),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(657),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(457),
    [sym_real_literal] = ACTIONS(459),
    [sym_integer_literal] = ACTIONS(457),
    [sym_hex_literal] = ACTIONS(457),
    [sym_oct_literal] = ACTIONS(459),
    [sym_bin_literal] = ACTIONS(459),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_COLON] = ACTIONS(1193),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(457),
    [anon_sym_GT] = ACTIONS(457),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(835),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(459),
    [anon_sym_DASH_EQ] = ACTIONS(459),
    [anon_sym_STAR_EQ] = ACTIONS(459),
    [anon_sym_SLASH_EQ] = ACTIONS(459),
    [anon_sym_PERCENT_EQ] = ACTIONS(459),
    [anon_sym_BANG_EQ] = ACTIONS(457),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(459),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(459),
    [anon_sym_LT_EQ] = ACTIONS(459),
    [anon_sym_GT_EQ] = ACTIONS(459),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(457),
    [anon_sym_SLASH] = ACTIONS(457),
    [anon_sym_PERCENT] = ACTIONS(457),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(459),
    [anon_sym_CARET] = ACTIONS(457),
    [anon_sym_LT_LT] = ACTIONS(459),
    [anon_sym_GT_GT] = ACTIONS(459),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(459),
    [sym__eq_eq_custom] = ACTIONS(459),
    [sym__plus_then_ws] = ACTIONS(459),
    [sym__minus_then_ws] = ACTIONS(459),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(487),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [197] = {
    [sym_simple_identifier] = STATE(3023),
    [sym__contextual_simple_identifier] = STATE(2652),
    [sym__basic_literal] = STATE(1524),
    [sym_boolean_literal] = STATE(1524),
    [sym__string_literal] = STATE(1524),
    [sym_line_string_literal] = STATE(1524),
    [sym_multi_line_string_literal] = STATE(1524),
    [sym_raw_string_literal] = STATE(1524),
    [sym_regex_literal] = STATE(1524),
    [sym__extended_regex_literal] = STATE(3428),
    [sym__multiline_regex_literal] = STATE(3428),
    [sym_user_type] = STATE(6368),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6368),
    [sym_dictionary_type] = STATE(6368),
    [sym__expression] = STATE(1524),
    [sym__unary_expression] = STATE(1524),
    [sym_postfix_expression] = STATE(1524),
    [sym_constructor_expression] = STATE(1524),
    [sym__parenthesized_type] = STATE(8119),
    [sym_navigation_expression] = STATE(1524),
    [sym__navigable_type_expression] = STATE(8122),
    [sym_open_start_range_expression] = STATE(1524),
    [sym__range_operator] = STATE(604),
    [sym_open_end_range_expression] = STATE(1524),
    [sym_prefix_expression] = STATE(1524),
    [sym_as_expression] = STATE(1524),
    [sym_selector_expression] = STATE(1524),
    [sym__binary_expression] = STATE(1524),
    [sym_multiplicative_expression] = STATE(1524),
    [sym_additive_expression] = STATE(1524),
    [sym_range_expression] = STATE(1524),
    [sym_infix_expression] = STATE(1524),
    [sym_nil_coalescing_expression] = STATE(1524),
    [sym_check_expression] = STATE(1524),
    [sym_comparison_expression] = STATE(1524),
    [sym_equality_expression] = STATE(1524),
    [sym_conjunction_expression] = STATE(1524),
    [sym_disjunction_expression] = STATE(1524),
    [sym_bitwise_operation] = STATE(1524),
    [sym_custom_operator] = STATE(1207),
    [sym_try_expression] = STATE(1524),
    [sym_await_expression] = STATE(1524),
    [sym__await_operator] = STATE(605),
    [sym_ternary_expression] = STATE(1524),
    [sym_call_expression] = STATE(1524),
    [sym_macro_invocation] = STATE(1524),
    [sym__primary_expression] = STATE(1524),
    [sym_tuple_expression] = STATE(1524),
    [sym_array_literal] = STATE(1524),
    [sym_dictionary_literal] = STATE(1524),
    [sym_special_literal] = STATE(1524),
    [sym_playground_literal] = STATE(1524),
    [sym_lambda_literal] = STATE(1524),
    [sym_self_expression] = STATE(1524),
    [sym_super_expression] = STATE(1524),
    [sym_if_statement] = STATE(1524),
    [sym_switch_statement] = STATE(1524),
    [sym_key_path_expression] = STATE(1524),
    [sym_key_path_string_expression] = STATE(1524),
    [sym_try_operator] = STATE(606),
    [sym__assignment_and_operator] = STATE(1524),
    [sym__equality_operator] = STATE(1524),
    [sym__comparison_operator] = STATE(1524),
    [sym__three_dot_operator] = STATE(1208),
    [sym__open_ended_range_operator] = STATE(604),
    [sym__additive_operator] = STATE(1524),
    [sym__multiplicative_operator] = STATE(1524),
    [sym__prefix_unary_operator] = STATE(616),
    [sym_directly_assignable_expression] = STATE(6371),
    [sym_assignment] = STATE(1524),
    [sym_value_parameter_pack] = STATE(1524),
    [sym_value_pack_expansion] = STATE(1524),
    [sym__referenceable_operator] = STATE(1524),
    [sym__equal_sign] = STATE(1524),
    [sym__eq_eq] = STATE(1524),
    [sym__dot] = STATE(616),
    [sym__hash_symbol] = STATE(4844),
    [sym_bang] = STATE(1207),
    [sym__parameter_ownership_modifier] = STATE(2652),
    [sym_directive] = STATE(1524),
    [sym_diagnostic] = STATE(1524),
    [aux_sym_raw_string_literal_repeat1] = STATE(8127),
    [anon_sym_BANG] = ACTIONS(1195),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1197),
    [aux_sym_simple_identifier_token2] = ACTIONS(1199),
    [aux_sym_simple_identifier_token3] = ACTIONS(1199),
    [aux_sym_simple_identifier_token4] = ACTIONS(1199),
    [anon_sym_actor] = ACTIONS(1197),
    [anon_sym_async] = ACTIONS(1197),
    [anon_sym_each] = ACTIONS(1201),
    [anon_sym_lazy] = ACTIONS(1197),
    [anon_sym_repeat] = ACTIONS(1203),
    [anon_sym_package] = ACTIONS(1197),
    [anon_sym_nil] = ACTIONS(1205),
    [sym_real_literal] = ACTIONS(1207),
    [sym_integer_literal] = ACTIONS(1205),
    [sym_hex_literal] = ACTIONS(1205),
    [sym_oct_literal] = ACTIONS(1207),
    [sym_bin_literal] = ACTIONS(1207),
    [anon_sym_true] = ACTIONS(1209),
    [anon_sym_false] = ACTIONS(1209),
    [anon_sym_DQUOTE] = ACTIONS(1211),
    [anon_sym_BSLASH] = ACTIONS(1213),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1215),
    [anon_sym_COMMA] = ACTIONS(617),
    [sym__oneline_regex_literal] = ACTIONS(1217),
    [anon_sym_LPAREN] = ACTIONS(1219),
    [anon_sym_LBRACK] = ACTIONS(1221),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(1223),
    [anon_sym_TILDE] = ACTIONS(1223),
    [anon_sym_if] = ACTIONS(1225),
    [anon_sym_switch] = ACTIONS(1227),
    [aux_sym_custom_operator_token1] = ACTIONS(1229),
    [anon_sym_LT] = ACTIONS(1205),
    [anon_sym_GT] = ACTIONS(1205),
    [anon_sym_await] = ACTIONS(1231),
    [anon_sym_LBRACE] = ACTIONS(1233),
    [anon_sym_CARET_LBRACE] = ACTIONS(1233),
    [anon_sym_self] = ACTIONS(1235),
    [anon_sym_super] = ACTIONS(1237),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1207),
    [anon_sym_DASH_EQ] = ACTIONS(1207),
    [anon_sym_STAR_EQ] = ACTIONS(1207),
    [anon_sym_SLASH_EQ] = ACTIONS(1207),
    [anon_sym_PERCENT_EQ] = ACTIONS(1207),
    [anon_sym_BANG_EQ] = ACTIONS(1205),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1207),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1207),
    [anon_sym_LT_EQ] = ACTIONS(1207),
    [anon_sym_GT_EQ] = ACTIONS(1207),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1241),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(1243),
    [anon_sym_DASH] = ACTIONS(1243),
    [anon_sym_STAR] = ACTIONS(1205),
    [anon_sym_SLASH] = ACTIONS(1205),
    [anon_sym_PERCENT] = ACTIONS(1205),
    [anon_sym_PLUS_PLUS] = ACTIONS(1223),
    [anon_sym_DASH_DASH] = ACTIONS(1223),
    [anon_sym_PIPE] = ACTIONS(1207),
    [anon_sym_CARET] = ACTIONS(1205),
    [anon_sym_LT_LT] = ACTIONS(1207),
    [anon_sym_GT_GT] = ACTIONS(1207),
    [anon_sym_borrowing] = ACTIONS(1197),
    [anon_sym_consuming] = ACTIONS(1197),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1245),
    [sym__dot_custom] = ACTIONS(1247),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(1207),
    [sym__eq_eq_custom] = ACTIONS(1207),
    [sym__plus_then_ws] = ACTIONS(1207),
    [sym__minus_then_ws] = ACTIONS(1207),
    [sym__bang_custom] = ACTIONS(1249),
    [sym_where_keyword] = ACTIONS(617),
    [sym_else] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(1229),
    [sym__hash_symbol_custom] = ACTIONS(1251),
    [sym__directive_if] = ACTIONS(1253),
    [sym__directive_elseif] = ACTIONS(1253),
    [sym__directive_else] = ACTIONS(1255),
    [sym__directive_endif] = ACTIONS(1255),
  },
  [198] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1681),
    [sym_boolean_literal] = STATE(1681),
    [sym__string_literal] = STATE(1681),
    [sym_line_string_literal] = STATE(1681),
    [sym_multi_line_string_literal] = STATE(1681),
    [sym_raw_string_literal] = STATE(1681),
    [sym_regex_literal] = STATE(1681),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1681),
    [sym__unary_expression] = STATE(1681),
    [sym_postfix_expression] = STATE(1681),
    [sym_constructor_expression] = STATE(1681),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1681),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1681),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1681),
    [sym_prefix_expression] = STATE(1681),
    [sym_as_expression] = STATE(1681),
    [sym_selector_expression] = STATE(1681),
    [sym__binary_expression] = STATE(1681),
    [sym_multiplicative_expression] = STATE(1681),
    [sym_additive_expression] = STATE(1681),
    [sym_range_expression] = STATE(1681),
    [sym_infix_expression] = STATE(1681),
    [sym_nil_coalescing_expression] = STATE(1681),
    [sym_check_expression] = STATE(1681),
    [sym_comparison_expression] = STATE(1681),
    [sym_equality_expression] = STATE(1681),
    [sym_conjunction_expression] = STATE(1681),
    [sym_disjunction_expression] = STATE(1681),
    [sym_bitwise_operation] = STATE(1681),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1681),
    [sym_await_expression] = STATE(1681),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1681),
    [sym_call_expression] = STATE(1681),
    [sym_macro_invocation] = STATE(1681),
    [sym__primary_expression] = STATE(1681),
    [sym_tuple_expression] = STATE(1681),
    [sym_array_literal] = STATE(1681),
    [sym_dictionary_literal] = STATE(1681),
    [sym_special_literal] = STATE(1681),
    [sym_playground_literal] = STATE(1681),
    [sym_lambda_literal] = STATE(1681),
    [sym_self_expression] = STATE(1681),
    [sym_super_expression] = STATE(1681),
    [sym_if_statement] = STATE(1681),
    [sym_switch_statement] = STATE(1681),
    [sym_key_path_expression] = STATE(1681),
    [sym_key_path_string_expression] = STATE(1681),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1681),
    [sym__equality_operator] = STATE(1681),
    [sym__comparison_operator] = STATE(1681),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1681),
    [sym__multiplicative_operator] = STATE(1681),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1681),
    [sym_value_parameter_pack] = STATE(1681),
    [sym_value_pack_expansion] = STATE(1681),
    [sym__referenceable_operator] = STATE(1681),
    [sym__equal_sign] = STATE(1681),
    [sym__eq_eq] = STATE(1681),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1681),
    [sym_diagnostic] = STATE(1681),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(447),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1257),
    [sym_real_literal] = ACTIONS(1259),
    [sym_integer_literal] = ACTIONS(1257),
    [sym_hex_literal] = ACTIONS(1257),
    [sym_oct_literal] = ACTIONS(1259),
    [sym_bin_literal] = ACTIONS(1259),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(469),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(469),
    [anon_sym_LBRACK] = ACTIONS(469),
    [anon_sym_QMARK] = ACTIONS(447),
    [anon_sym_QMARK2] = ACTIONS(469),
    [anon_sym_AMP] = ACTIONS(469),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(469),
    [anon_sym_LT] = ACTIONS(447),
    [anon_sym_GT] = ACTIONS(447),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(469),
    [anon_sym_CARET_LBRACE] = ACTIONS(469),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(469),
    [anon_sym_DASH_EQ] = ACTIONS(469),
    [anon_sym_STAR_EQ] = ACTIONS(469),
    [anon_sym_SLASH_EQ] = ACTIONS(469),
    [anon_sym_PERCENT_EQ] = ACTIONS(469),
    [anon_sym_BANG_EQ] = ACTIONS(447),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(469),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(469),
    [anon_sym_LT_EQ] = ACTIONS(469),
    [anon_sym_GT_EQ] = ACTIONS(469),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(469),
    [anon_sym_DOT_DOT_LT] = ACTIONS(469),
    [anon_sym_is] = ACTIONS(447),
    [anon_sym_PLUS] = ACTIONS(447),
    [anon_sym_DASH] = ACTIONS(447),
    [anon_sym_STAR] = ACTIONS(447),
    [anon_sym_SLASH] = ACTIONS(447),
    [anon_sym_PERCENT] = ACTIONS(447),
    [anon_sym_PLUS_PLUS] = ACTIONS(469),
    [anon_sym_DASH_DASH] = ACTIONS(469),
    [anon_sym_PIPE] = ACTIONS(469),
    [anon_sym_CARET] = ACTIONS(447),
    [anon_sym_LT_LT] = ACTIONS(469),
    [anon_sym_GT_GT] = ACTIONS(469),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(469),
    [sym__conjunction_operator_custom] = ACTIONS(469),
    [sym__disjunction_operator_custom] = ACTIONS(469),
    [sym__nil_coalescing_operator_custom] = ACTIONS(469),
    [sym__eq_custom] = ACTIONS(469),
    [sym__eq_eq_custom] = ACTIONS(469),
    [sym__plus_then_ws] = ACTIONS(469),
    [sym__minus_then_ws] = ACTIONS(469),
    [sym__bang_custom] = ACTIONS(469),
    [sym_where_keyword] = ACTIONS(469),
    [sym_else] = ACTIONS(469),
    [sym__as_custom] = ACTIONS(469),
    [sym__as_quest_custom] = ACTIONS(469),
    [sym__as_bang_custom] = ACTIONS(469),
    [sym__custom_operator] = ACTIONS(469),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [199] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1527),
    [sym_boolean_literal] = STATE(1527),
    [sym__string_literal] = STATE(1527),
    [sym_line_string_literal] = STATE(1527),
    [sym_multi_line_string_literal] = STATE(1527),
    [sym_raw_string_literal] = STATE(1527),
    [sym_regex_literal] = STATE(1527),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1527),
    [sym__unary_expression] = STATE(1527),
    [sym_postfix_expression] = STATE(1527),
    [sym_constructor_expression] = STATE(1527),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1527),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1527),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1527),
    [sym_prefix_expression] = STATE(1527),
    [sym_as_expression] = STATE(1527),
    [sym_selector_expression] = STATE(1527),
    [sym__binary_expression] = STATE(1527),
    [sym_multiplicative_expression] = STATE(1527),
    [sym_additive_expression] = STATE(1527),
    [sym_range_expression] = STATE(1527),
    [sym_infix_expression] = STATE(1527),
    [sym_nil_coalescing_expression] = STATE(1527),
    [sym_check_expression] = STATE(1527),
    [sym_comparison_expression] = STATE(1527),
    [sym_equality_expression] = STATE(1527),
    [sym_conjunction_expression] = STATE(1527),
    [sym_disjunction_expression] = STATE(1527),
    [sym_bitwise_operation] = STATE(1527),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1527),
    [sym_await_expression] = STATE(1527),
    [sym__await_operator] = STATE(712),
    [sym_ternary_expression] = STATE(1527),
    [sym_call_expression] = STATE(1527),
    [sym_macro_invocation] = STATE(1527),
    [sym__primary_expression] = STATE(1527),
    [sym_tuple_expression] = STATE(1527),
    [sym_array_literal] = STATE(1527),
    [sym_dictionary_literal] = STATE(1527),
    [sym_special_literal] = STATE(1527),
    [sym_playground_literal] = STATE(1527),
    [sym_lambda_literal] = STATE(1527),
    [sym_self_expression] = STATE(1527),
    [sym_super_expression] = STATE(1527),
    [sym_if_statement] = STATE(1527),
    [sym_switch_statement] = STATE(1527),
    [sym_key_path_expression] = STATE(1527),
    [sym_key_path_string_expression] = STATE(1527),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1527),
    [sym__equality_operator] = STATE(1527),
    [sym__comparison_operator] = STATE(1527),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1527),
    [sym__multiplicative_operator] = STATE(1527),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym_assignment] = STATE(1527),
    [sym_value_parameter_pack] = STATE(1527),
    [sym_value_pack_expansion] = STATE(1527),
    [sym__referenceable_operator] = STATE(1527),
    [sym__equal_sign] = STATE(1527),
    [sym__eq_eq] = STATE(1527),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1527),
    [sym_diagnostic] = STATE(1527),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(1261),
    [sym_real_literal] = ACTIONS(1263),
    [sym_integer_literal] = ACTIONS(1261),
    [sym_hex_literal] = ACTIONS(1261),
    [sym_oct_literal] = ACTIONS(1263),
    [sym_bin_literal] = ACTIONS(1263),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [anon_sym_COMMA] = ACTIONS(617),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_COLON] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(1261),
    [anon_sym_GT] = ACTIONS(1261),
    [anon_sym_await] = ACTIONS(1067),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1263),
    [anon_sym_DASH_EQ] = ACTIONS(1263),
    [anon_sym_STAR_EQ] = ACTIONS(1263),
    [anon_sym_SLASH_EQ] = ACTIONS(1263),
    [anon_sym_PERCENT_EQ] = ACTIONS(1263),
    [anon_sym_BANG_EQ] = ACTIONS(1261),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1263),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1263),
    [anon_sym_LT_EQ] = ACTIONS(1263),
    [anon_sym_GT_EQ] = ACTIONS(1263),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(1261),
    [anon_sym_SLASH] = ACTIONS(1261),
    [anon_sym_PERCENT] = ACTIONS(1261),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(1263),
    [anon_sym_CARET] = ACTIONS(1261),
    [anon_sym_LT_LT] = ACTIONS(1263),
    [anon_sym_GT_GT] = ACTIONS(1263),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(1263),
    [sym__eq_eq_custom] = ACTIONS(1263),
    [sym__plus_then_ws] = ACTIONS(1263),
    [sym__minus_then_ws] = ACTIONS(1263),
    [sym__bang_custom] = ACTIONS(1091),
    [sym_where_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [200] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1678),
    [sym_boolean_literal] = STATE(1678),
    [sym__string_literal] = STATE(1678),
    [sym_line_string_literal] = STATE(1678),
    [sym_multi_line_string_literal] = STATE(1678),
    [sym_raw_string_literal] = STATE(1678),
    [sym_regex_literal] = STATE(1678),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1678),
    [sym__unary_expression] = STATE(1678),
    [sym_postfix_expression] = STATE(1678),
    [sym_constructor_expression] = STATE(1678),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1678),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1678),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1678),
    [sym_prefix_expression] = STATE(1678),
    [sym_as_expression] = STATE(1678),
    [sym_selector_expression] = STATE(1678),
    [sym__binary_expression] = STATE(1678),
    [sym_multiplicative_expression] = STATE(1678),
    [sym_additive_expression] = STATE(1678),
    [sym_range_expression] = STATE(1678),
    [sym_infix_expression] = STATE(1678),
    [sym_nil_coalescing_expression] = STATE(1678),
    [sym_check_expression] = STATE(1678),
    [sym_comparison_expression] = STATE(1678),
    [sym_equality_expression] = STATE(1678),
    [sym_conjunction_expression] = STATE(1678),
    [sym_disjunction_expression] = STATE(1678),
    [sym_bitwise_operation] = STATE(1678),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1678),
    [sym_await_expression] = STATE(1678),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1678),
    [sym_call_expression] = STATE(1678),
    [sym_macro_invocation] = STATE(1678),
    [sym__primary_expression] = STATE(1678),
    [sym_tuple_expression] = STATE(1678),
    [sym_array_literal] = STATE(1678),
    [sym_dictionary_literal] = STATE(1678),
    [sym_special_literal] = STATE(1678),
    [sym_playground_literal] = STATE(1678),
    [sym_lambda_literal] = STATE(1678),
    [sym_self_expression] = STATE(1678),
    [sym_super_expression] = STATE(1678),
    [sym_if_statement] = STATE(1678),
    [sym_switch_statement] = STATE(1678),
    [sym_key_path_expression] = STATE(1678),
    [sym_key_path_string_expression] = STATE(1678),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1678),
    [sym__equality_operator] = STATE(1678),
    [sym__comparison_operator] = STATE(1678),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1678),
    [sym__multiplicative_operator] = STATE(1678),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1678),
    [sym_value_parameter_pack] = STATE(1678),
    [sym_value_pack_expansion] = STATE(1678),
    [sym__referenceable_operator] = STATE(1678),
    [sym__equal_sign] = STATE(1678),
    [sym__eq_eq] = STATE(1678),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1678),
    [sym_diagnostic] = STATE(1678),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(447),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1269),
    [sym_real_literal] = ACTIONS(1271),
    [sym_integer_literal] = ACTIONS(1269),
    [sym_hex_literal] = ACTIONS(1269),
    [sym_oct_literal] = ACTIONS(1271),
    [sym_bin_literal] = ACTIONS(1271),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(469),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_COLON] = ACTIONS(469),
    [anon_sym_LPAREN] = ACTIONS(469),
    [anon_sym_LBRACK] = ACTIONS(469),
    [anon_sym_QMARK] = ACTIONS(447),
    [anon_sym_QMARK2] = ACTIONS(469),
    [anon_sym_AMP] = ACTIONS(469),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(469),
    [anon_sym_LT] = ACTIONS(447),
    [anon_sym_GT] = ACTIONS(447),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(469),
    [anon_sym_CARET_LBRACE] = ACTIONS(469),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(469),
    [anon_sym_DASH_EQ] = ACTIONS(469),
    [anon_sym_STAR_EQ] = ACTIONS(469),
    [anon_sym_SLASH_EQ] = ACTIONS(469),
    [anon_sym_PERCENT_EQ] = ACTIONS(469),
    [anon_sym_BANG_EQ] = ACTIONS(447),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(469),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(469),
    [anon_sym_LT_EQ] = ACTIONS(469),
    [anon_sym_GT_EQ] = ACTIONS(469),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(469),
    [anon_sym_DOT_DOT_LT] = ACTIONS(469),
    [anon_sym_is] = ACTIONS(447),
    [anon_sym_PLUS] = ACTIONS(447),
    [anon_sym_DASH] = ACTIONS(447),
    [anon_sym_STAR] = ACTIONS(447),
    [anon_sym_SLASH] = ACTIONS(447),
    [anon_sym_PERCENT] = ACTIONS(447),
    [anon_sym_PLUS_PLUS] = ACTIONS(469),
    [anon_sym_DASH_DASH] = ACTIONS(469),
    [anon_sym_PIPE] = ACTIONS(469),
    [anon_sym_CARET] = ACTIONS(447),
    [anon_sym_LT_LT] = ACTIONS(469),
    [anon_sym_GT_GT] = ACTIONS(469),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(469),
    [sym__conjunction_operator_custom] = ACTIONS(469),
    [sym__disjunction_operator_custom] = ACTIONS(469),
    [sym__nil_coalescing_operator_custom] = ACTIONS(469),
    [sym__eq_custom] = ACTIONS(469),
    [sym__eq_eq_custom] = ACTIONS(469),
    [sym__plus_then_ws] = ACTIONS(469),
    [sym__minus_then_ws] = ACTIONS(469),
    [sym__bang_custom] = ACTIONS(469),
    [sym_where_keyword] = ACTIONS(469),
    [sym__as_custom] = ACTIONS(469),
    [sym__as_quest_custom] = ACTIONS(469),
    [sym__as_bang_custom] = ACTIONS(469),
    [sym__custom_operator] = ACTIONS(469),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [201] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1526),
    [sym_boolean_literal] = STATE(1526),
    [sym__string_literal] = STATE(1526),
    [sym_line_string_literal] = STATE(1526),
    [sym_multi_line_string_literal] = STATE(1526),
    [sym_raw_string_literal] = STATE(1526),
    [sym_regex_literal] = STATE(1526),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1526),
    [sym__unary_expression] = STATE(1526),
    [sym_postfix_expression] = STATE(1526),
    [sym_constructor_expression] = STATE(1526),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1526),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1526),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1526),
    [sym_prefix_expression] = STATE(1526),
    [sym_as_expression] = STATE(1526),
    [sym_selector_expression] = STATE(1526),
    [sym__binary_expression] = STATE(1526),
    [sym_multiplicative_expression] = STATE(1526),
    [sym_additive_expression] = STATE(1526),
    [sym_range_expression] = STATE(1526),
    [sym_infix_expression] = STATE(1526),
    [sym_nil_coalescing_expression] = STATE(1526),
    [sym_check_expression] = STATE(1526),
    [sym_comparison_expression] = STATE(1526),
    [sym_equality_expression] = STATE(1526),
    [sym_conjunction_expression] = STATE(1526),
    [sym_disjunction_expression] = STATE(1526),
    [sym_bitwise_operation] = STATE(1526),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1526),
    [sym_await_expression] = STATE(1526),
    [sym__await_operator] = STATE(712),
    [sym_ternary_expression] = STATE(1526),
    [sym_call_expression] = STATE(1526),
    [sym_macro_invocation] = STATE(1526),
    [sym__primary_expression] = STATE(1526),
    [sym_tuple_expression] = STATE(1526),
    [sym_array_literal] = STATE(1526),
    [sym_dictionary_literal] = STATE(1526),
    [sym_special_literal] = STATE(1526),
    [sym_playground_literal] = STATE(1526),
    [sym_lambda_literal] = STATE(1526),
    [sym_self_expression] = STATE(1526),
    [sym_super_expression] = STATE(1526),
    [sym_if_statement] = STATE(1526),
    [sym_switch_statement] = STATE(1526),
    [sym_key_path_expression] = STATE(1526),
    [sym_key_path_string_expression] = STATE(1526),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1526),
    [sym__equality_operator] = STATE(1526),
    [sym__comparison_operator] = STATE(1526),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1526),
    [sym__multiplicative_operator] = STATE(1526),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym_assignment] = STATE(1526),
    [sym_value_parameter_pack] = STATE(1526),
    [sym_value_pack_expansion] = STATE(1526),
    [sym__referenceable_operator] = STATE(1526),
    [sym__equal_sign] = STATE(1526),
    [sym__eq_eq] = STATE(1526),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1526),
    [sym_diagnostic] = STATE(1526),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(1273),
    [sym_real_literal] = ACTIONS(1275),
    [sym_integer_literal] = ACTIONS(1273),
    [sym_hex_literal] = ACTIONS(1273),
    [sym_oct_literal] = ACTIONS(1275),
    [sym_bin_literal] = ACTIONS(1275),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [anon_sym_COMMA] = ACTIONS(617),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_COLON] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(1273),
    [anon_sym_GT] = ACTIONS(1273),
    [anon_sym_await] = ACTIONS(1067),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1275),
    [anon_sym_DASH_EQ] = ACTIONS(1275),
    [anon_sym_STAR_EQ] = ACTIONS(1275),
    [anon_sym_SLASH_EQ] = ACTIONS(1275),
    [anon_sym_PERCENT_EQ] = ACTIONS(1275),
    [anon_sym_BANG_EQ] = ACTIONS(1273),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1275),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1275),
    [anon_sym_LT_EQ] = ACTIONS(1275),
    [anon_sym_GT_EQ] = ACTIONS(1275),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(1273),
    [anon_sym_SLASH] = ACTIONS(1273),
    [anon_sym_PERCENT] = ACTIONS(1273),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(1275),
    [anon_sym_CARET] = ACTIONS(1273),
    [anon_sym_LT_LT] = ACTIONS(1275),
    [anon_sym_GT_GT] = ACTIONS(1275),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(1275),
    [sym__eq_eq_custom] = ACTIONS(1275),
    [sym__plus_then_ws] = ACTIONS(1275),
    [sym__minus_then_ws] = ACTIONS(1275),
    [sym__bang_custom] = ACTIONS(1091),
    [sym_where_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [202] = {
    [sym_simple_identifier] = STATE(3023),
    [sym__contextual_simple_identifier] = STATE(2652),
    [sym__basic_literal] = STATE(1588),
    [sym_boolean_literal] = STATE(1588),
    [sym__string_literal] = STATE(1588),
    [sym_line_string_literal] = STATE(1588),
    [sym_multi_line_string_literal] = STATE(1588),
    [sym_raw_string_literal] = STATE(1588),
    [sym_regex_literal] = STATE(1588),
    [sym__extended_regex_literal] = STATE(3428),
    [sym__multiline_regex_literal] = STATE(3428),
    [sym_user_type] = STATE(6368),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6368),
    [sym_dictionary_type] = STATE(6368),
    [sym__expression] = STATE(1588),
    [sym__unary_expression] = STATE(1588),
    [sym_postfix_expression] = STATE(1588),
    [sym_constructor_expression] = STATE(1588),
    [sym__parenthesized_type] = STATE(8119),
    [sym_navigation_expression] = STATE(1588),
    [sym__navigable_type_expression] = STATE(8122),
    [sym_open_start_range_expression] = STATE(1588),
    [sym__range_operator] = STATE(604),
    [sym_open_end_range_expression] = STATE(1588),
    [sym_prefix_expression] = STATE(1588),
    [sym_as_expression] = STATE(1588),
    [sym_selector_expression] = STATE(1588),
    [sym__binary_expression] = STATE(1588),
    [sym_multiplicative_expression] = STATE(1588),
    [sym_additive_expression] = STATE(1588),
    [sym_range_expression] = STATE(1588),
    [sym_infix_expression] = STATE(1588),
    [sym_nil_coalescing_expression] = STATE(1588),
    [sym_check_expression] = STATE(1588),
    [sym_comparison_expression] = STATE(1588),
    [sym_equality_expression] = STATE(1588),
    [sym_conjunction_expression] = STATE(1588),
    [sym_disjunction_expression] = STATE(1588),
    [sym_bitwise_operation] = STATE(1588),
    [sym_custom_operator] = STATE(1207),
    [sym_try_expression] = STATE(1588),
    [sym_await_expression] = STATE(1588),
    [sym__await_operator] = STATE(605),
    [sym_ternary_expression] = STATE(1588),
    [sym_call_expression] = STATE(1588),
    [sym_macro_invocation] = STATE(1588),
    [sym__primary_expression] = STATE(1588),
    [sym_tuple_expression] = STATE(1588),
    [sym_array_literal] = STATE(1588),
    [sym_dictionary_literal] = STATE(1588),
    [sym_special_literal] = STATE(1588),
    [sym_playground_literal] = STATE(1588),
    [sym_lambda_literal] = STATE(1588),
    [sym_self_expression] = STATE(1588),
    [sym_super_expression] = STATE(1588),
    [sym_if_statement] = STATE(1588),
    [sym_switch_statement] = STATE(1588),
    [sym_key_path_expression] = STATE(1588),
    [sym_key_path_string_expression] = STATE(1588),
    [sym_try_operator] = STATE(606),
    [sym__assignment_and_operator] = STATE(1588),
    [sym__equality_operator] = STATE(1588),
    [sym__comparison_operator] = STATE(1588),
    [sym__three_dot_operator] = STATE(1208),
    [sym__open_ended_range_operator] = STATE(604),
    [sym__additive_operator] = STATE(1588),
    [sym__multiplicative_operator] = STATE(1588),
    [sym__prefix_unary_operator] = STATE(616),
    [sym_directly_assignable_expression] = STATE(6371),
    [sym_assignment] = STATE(1588),
    [sym_value_parameter_pack] = STATE(1588),
    [sym_value_pack_expansion] = STATE(1588),
    [sym__referenceable_operator] = STATE(1588),
    [sym__equal_sign] = STATE(1588),
    [sym__eq_eq] = STATE(1588),
    [sym__dot] = STATE(616),
    [sym__hash_symbol] = STATE(4844),
    [sym_bang] = STATE(1207),
    [sym__parameter_ownership_modifier] = STATE(2652),
    [sym_directive] = STATE(1588),
    [sym_diagnostic] = STATE(1588),
    [aux_sym_raw_string_literal_repeat1] = STATE(8127),
    [anon_sym_BANG] = ACTIONS(1195),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1197),
    [aux_sym_simple_identifier_token2] = ACTIONS(1199),
    [aux_sym_simple_identifier_token3] = ACTIONS(1199),
    [aux_sym_simple_identifier_token4] = ACTIONS(1199),
    [anon_sym_actor] = ACTIONS(1197),
    [anon_sym_async] = ACTIONS(1197),
    [anon_sym_each] = ACTIONS(1201),
    [anon_sym_lazy] = ACTIONS(1197),
    [anon_sym_repeat] = ACTIONS(1203),
    [anon_sym_package] = ACTIONS(1197),
    [anon_sym_nil] = ACTIONS(1277),
    [sym_real_literal] = ACTIONS(1279),
    [sym_integer_literal] = ACTIONS(1277),
    [sym_hex_literal] = ACTIONS(1277),
    [sym_oct_literal] = ACTIONS(1279),
    [sym_bin_literal] = ACTIONS(1279),
    [anon_sym_true] = ACTIONS(1209),
    [anon_sym_false] = ACTIONS(1209),
    [anon_sym_DQUOTE] = ACTIONS(1211),
    [anon_sym_BSLASH] = ACTIONS(1213),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1215),
    [anon_sym_COMMA] = ACTIONS(617),
    [sym__oneline_regex_literal] = ACTIONS(1217),
    [anon_sym_LPAREN] = ACTIONS(1219),
    [anon_sym_LBRACK] = ACTIONS(1221),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(1223),
    [anon_sym_TILDE] = ACTIONS(1223),
    [anon_sym_if] = ACTIONS(1225),
    [anon_sym_switch] = ACTIONS(1227),
    [aux_sym_custom_operator_token1] = ACTIONS(1229),
    [anon_sym_LT] = ACTIONS(1277),
    [anon_sym_GT] = ACTIONS(1277),
    [anon_sym_await] = ACTIONS(1231),
    [anon_sym_LBRACE] = ACTIONS(1233),
    [anon_sym_CARET_LBRACE] = ACTIONS(1233),
    [anon_sym_self] = ACTIONS(1235),
    [anon_sym_super] = ACTIONS(1237),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1279),
    [anon_sym_DASH_EQ] = ACTIONS(1279),
    [anon_sym_STAR_EQ] = ACTIONS(1279),
    [anon_sym_SLASH_EQ] = ACTIONS(1279),
    [anon_sym_PERCENT_EQ] = ACTIONS(1279),
    [anon_sym_BANG_EQ] = ACTIONS(1277),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1279),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1279),
    [anon_sym_LT_EQ] = ACTIONS(1279),
    [anon_sym_GT_EQ] = ACTIONS(1279),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1241),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(1243),
    [anon_sym_DASH] = ACTIONS(1243),
    [anon_sym_STAR] = ACTIONS(1277),
    [anon_sym_SLASH] = ACTIONS(1277),
    [anon_sym_PERCENT] = ACTIONS(1277),
    [anon_sym_PLUS_PLUS] = ACTIONS(1223),
    [anon_sym_DASH_DASH] = ACTIONS(1223),
    [anon_sym_PIPE] = ACTIONS(1279),
    [anon_sym_CARET] = ACTIONS(1277),
    [anon_sym_LT_LT] = ACTIONS(1279),
    [anon_sym_GT_GT] = ACTIONS(1279),
    [anon_sym_borrowing] = ACTIONS(1197),
    [anon_sym_consuming] = ACTIONS(1197),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1245),
    [sym__dot_custom] = ACTIONS(1247),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(1279),
    [sym__eq_eq_custom] = ACTIONS(1279),
    [sym__plus_then_ws] = ACTIONS(1279),
    [sym__minus_then_ws] = ACTIONS(1279),
    [sym__bang_custom] = ACTIONS(1249),
    [sym_where_keyword] = ACTIONS(617),
    [sym_else] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(1229),
    [sym__hash_symbol_custom] = ACTIONS(1251),
    [sym__directive_if] = ACTIONS(1253),
    [sym__directive_elseif] = ACTIONS(1253),
    [sym__directive_else] = ACTIONS(1255),
    [sym__directive_endif] = ACTIONS(1255),
  },
  [203] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1674),
    [sym_boolean_literal] = STATE(1674),
    [sym__string_literal] = STATE(1674),
    [sym_line_string_literal] = STATE(1674),
    [sym_multi_line_string_literal] = STATE(1674),
    [sym_raw_string_literal] = STATE(1674),
    [sym_regex_literal] = STATE(1674),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1674),
    [sym__unary_expression] = STATE(1674),
    [sym_postfix_expression] = STATE(1674),
    [sym_constructor_expression] = STATE(1674),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1674),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1674),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1674),
    [sym_prefix_expression] = STATE(1674),
    [sym_as_expression] = STATE(1674),
    [sym_selector_expression] = STATE(1674),
    [sym__binary_expression] = STATE(1674),
    [sym_multiplicative_expression] = STATE(1674),
    [sym_additive_expression] = STATE(1674),
    [sym_range_expression] = STATE(1674),
    [sym_infix_expression] = STATE(1674),
    [sym_nil_coalescing_expression] = STATE(1674),
    [sym_check_expression] = STATE(1674),
    [sym_comparison_expression] = STATE(1674),
    [sym_equality_expression] = STATE(1674),
    [sym_conjunction_expression] = STATE(1674),
    [sym_disjunction_expression] = STATE(1674),
    [sym_bitwise_operation] = STATE(1674),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1674),
    [sym_await_expression] = STATE(1674),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1674),
    [sym_call_expression] = STATE(1674),
    [sym_macro_invocation] = STATE(1674),
    [sym__primary_expression] = STATE(1674),
    [sym_tuple_expression] = STATE(1674),
    [sym_array_literal] = STATE(1674),
    [sym_dictionary_literal] = STATE(1674),
    [sym_special_literal] = STATE(1674),
    [sym_playground_literal] = STATE(1674),
    [sym_lambda_literal] = STATE(1674),
    [sym_self_expression] = STATE(1674),
    [sym_super_expression] = STATE(1674),
    [sym_if_statement] = STATE(1674),
    [sym_switch_statement] = STATE(1674),
    [sym_key_path_expression] = STATE(1674),
    [sym_key_path_string_expression] = STATE(1674),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1674),
    [sym__equality_operator] = STATE(1674),
    [sym__comparison_operator] = STATE(1674),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1674),
    [sym__multiplicative_operator] = STATE(1674),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1674),
    [sym_value_parameter_pack] = STATE(1674),
    [sym_value_pack_expansion] = STATE(1674),
    [sym__referenceable_operator] = STATE(1674),
    [sym__equal_sign] = STATE(1674),
    [sym__eq_eq] = STATE(1674),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1674),
    [sym_diagnostic] = STATE(1674),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(447),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1281),
    [sym_real_literal] = ACTIONS(1283),
    [sym_integer_literal] = ACTIONS(1281),
    [sym_hex_literal] = ACTIONS(1281),
    [sym_oct_literal] = ACTIONS(1283),
    [sym_bin_literal] = ACTIONS(1283),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(469),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(469),
    [anon_sym_LBRACK] = ACTIONS(469),
    [anon_sym_QMARK] = ACTIONS(447),
    [anon_sym_QMARK2] = ACTIONS(469),
    [anon_sym_AMP] = ACTIONS(469),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(469),
    [anon_sym_LT] = ACTIONS(447),
    [anon_sym_GT] = ACTIONS(447),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(469),
    [anon_sym_CARET_LBRACE] = ACTIONS(469),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(469),
    [anon_sym_DASH_EQ] = ACTIONS(469),
    [anon_sym_STAR_EQ] = ACTIONS(469),
    [anon_sym_SLASH_EQ] = ACTIONS(469),
    [anon_sym_PERCENT_EQ] = ACTIONS(469),
    [anon_sym_BANG_EQ] = ACTIONS(447),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(469),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(469),
    [anon_sym_LT_EQ] = ACTIONS(469),
    [anon_sym_GT_EQ] = ACTIONS(469),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(469),
    [anon_sym_DOT_DOT_LT] = ACTIONS(469),
    [anon_sym_is] = ACTIONS(447),
    [anon_sym_PLUS] = ACTIONS(447),
    [anon_sym_DASH] = ACTIONS(447),
    [anon_sym_STAR] = ACTIONS(447),
    [anon_sym_SLASH] = ACTIONS(447),
    [anon_sym_PERCENT] = ACTIONS(447),
    [anon_sym_PLUS_PLUS] = ACTIONS(469),
    [anon_sym_DASH_DASH] = ACTIONS(469),
    [anon_sym_PIPE] = ACTIONS(469),
    [anon_sym_CARET] = ACTIONS(447),
    [anon_sym_LT_LT] = ACTIONS(469),
    [anon_sym_GT_GT] = ACTIONS(469),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(469),
    [sym__conjunction_operator_custom] = ACTIONS(469),
    [sym__disjunction_operator_custom] = ACTIONS(469),
    [sym__nil_coalescing_operator_custom] = ACTIONS(469),
    [sym__eq_custom] = ACTIONS(469),
    [sym__eq_eq_custom] = ACTIONS(469),
    [sym__plus_then_ws] = ACTIONS(469),
    [sym__minus_then_ws] = ACTIONS(469),
    [sym__bang_custom] = ACTIONS(469),
    [sym_else] = ACTIONS(469),
    [sym__as_custom] = ACTIONS(469),
    [sym__as_quest_custom] = ACTIONS(469),
    [sym__as_bang_custom] = ACTIONS(469),
    [sym__custom_operator] = ACTIONS(469),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [204] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1662),
    [sym_boolean_literal] = STATE(1662),
    [sym__string_literal] = STATE(1662),
    [sym_line_string_literal] = STATE(1662),
    [sym_multi_line_string_literal] = STATE(1662),
    [sym_raw_string_literal] = STATE(1662),
    [sym_regex_literal] = STATE(1662),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1662),
    [sym__unary_expression] = STATE(1662),
    [sym_postfix_expression] = STATE(1662),
    [sym_constructor_expression] = STATE(1662),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1662),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1662),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1662),
    [sym_prefix_expression] = STATE(1662),
    [sym_as_expression] = STATE(1662),
    [sym_selector_expression] = STATE(1662),
    [sym__binary_expression] = STATE(1662),
    [sym_multiplicative_expression] = STATE(1662),
    [sym_additive_expression] = STATE(1662),
    [sym_range_expression] = STATE(1662),
    [sym_infix_expression] = STATE(1662),
    [sym_nil_coalescing_expression] = STATE(1662),
    [sym_check_expression] = STATE(1662),
    [sym_comparison_expression] = STATE(1662),
    [sym_equality_expression] = STATE(1662),
    [sym_conjunction_expression] = STATE(1662),
    [sym_disjunction_expression] = STATE(1662),
    [sym_bitwise_operation] = STATE(1662),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1662),
    [sym_await_expression] = STATE(1662),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1662),
    [sym_call_expression] = STATE(1662),
    [sym_macro_invocation] = STATE(1662),
    [sym__primary_expression] = STATE(1662),
    [sym_tuple_expression] = STATE(1662),
    [sym_array_literal] = STATE(1662),
    [sym_dictionary_literal] = STATE(1662),
    [sym_special_literal] = STATE(1662),
    [sym_playground_literal] = STATE(1662),
    [sym_lambda_literal] = STATE(1662),
    [sym_self_expression] = STATE(1662),
    [sym_super_expression] = STATE(1662),
    [sym_if_statement] = STATE(1662),
    [sym__if_condition_sequence_item] = STATE(7235),
    [sym__if_let_binding] = STATE(8586),
    [sym_switch_statement] = STATE(1662),
    [sym_key_path_expression] = STATE(1662),
    [sym_key_path_string_expression] = STATE(1662),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1662),
    [sym__equality_operator] = STATE(1662),
    [sym__comparison_operator] = STATE(1662),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1662),
    [sym__multiplicative_operator] = STATE(1662),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1662),
    [sym_value_parameter_pack] = STATE(1662),
    [sym_value_pack_expansion] = STATE(1662),
    [sym_availability_condition] = STATE(7235),
    [sym__referenceable_operator] = STATE(1662),
    [sym__equal_sign] = STATE(1662),
    [sym__eq_eq] = STATE(1662),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4798),
    [sym_bang] = STATE(1169),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6656),
    [sym_value_binding_pattern] = STATE(4803),
    [sym__possibly_async_binding_pattern_kind] = STATE(4803),
    [sym__binding_kind_and_pattern] = STATE(6648),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1662),
    [sym_diagnostic] = STATE(1662),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(657),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(457),
    [sym_real_literal] = ACTIONS(459),
    [sym_integer_literal] = ACTIONS(457),
    [sym_hex_literal] = ACTIONS(457),
    [sym_oct_literal] = ACTIONS(459),
    [sym_bin_literal] = ACTIONS(459),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(457),
    [anon_sym_GT] = ACTIONS(457),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(835),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(459),
    [anon_sym_DASH_EQ] = ACTIONS(459),
    [anon_sym_STAR_EQ] = ACTIONS(459),
    [anon_sym_SLASH_EQ] = ACTIONS(459),
    [anon_sym_PERCENT_EQ] = ACTIONS(459),
    [anon_sym_BANG_EQ] = ACTIONS(457),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(459),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(459),
    [anon_sym_LT_EQ] = ACTIONS(459),
    [anon_sym_GT_EQ] = ACTIONS(459),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(457),
    [anon_sym_SLASH] = ACTIONS(457),
    [anon_sym_PERCENT] = ACTIONS(457),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(459),
    [anon_sym_CARET] = ACTIONS(457),
    [anon_sym_LT_LT] = ACTIONS(459),
    [anon_sym_GT_GT] = ACTIONS(459),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(459),
    [sym__eq_eq_custom] = ACTIONS(459),
    [sym__plus_then_ws] = ACTIONS(459),
    [sym__minus_then_ws] = ACTIONS(459),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(487),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [205] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1662),
    [sym_boolean_literal] = STATE(1662),
    [sym__string_literal] = STATE(1662),
    [sym_line_string_literal] = STATE(1662),
    [sym_multi_line_string_literal] = STATE(1662),
    [sym_raw_string_literal] = STATE(1662),
    [sym_regex_literal] = STATE(1662),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1662),
    [sym__unary_expression] = STATE(1662),
    [sym_postfix_expression] = STATE(1662),
    [sym_constructor_expression] = STATE(1662),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1662),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1662),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1662),
    [sym_prefix_expression] = STATE(1662),
    [sym_as_expression] = STATE(1662),
    [sym_selector_expression] = STATE(1662),
    [sym__binary_expression] = STATE(1662),
    [sym_multiplicative_expression] = STATE(1662),
    [sym_additive_expression] = STATE(1662),
    [sym_range_expression] = STATE(1662),
    [sym_infix_expression] = STATE(1662),
    [sym_nil_coalescing_expression] = STATE(1662),
    [sym_check_expression] = STATE(1662),
    [sym_comparison_expression] = STATE(1662),
    [sym_equality_expression] = STATE(1662),
    [sym_conjunction_expression] = STATE(1662),
    [sym_disjunction_expression] = STATE(1662),
    [sym_bitwise_operation] = STATE(1662),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1662),
    [sym_await_expression] = STATE(1662),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1662),
    [sym_call_expression] = STATE(1662),
    [sym_macro_invocation] = STATE(1662),
    [sym__primary_expression] = STATE(1662),
    [sym_tuple_expression] = STATE(1662),
    [sym_array_literal] = STATE(1662),
    [sym_dictionary_literal] = STATE(1662),
    [sym_special_literal] = STATE(1662),
    [sym_playground_literal] = STATE(1662),
    [sym_lambda_literal] = STATE(1662),
    [sym_self_expression] = STATE(1662),
    [sym_super_expression] = STATE(1662),
    [sym_if_statement] = STATE(1662),
    [sym__if_condition_sequence_item] = STATE(7151),
    [sym__if_let_binding] = STATE(8586),
    [sym_switch_statement] = STATE(1662),
    [sym_key_path_expression] = STATE(1662),
    [sym_key_path_string_expression] = STATE(1662),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1662),
    [sym__equality_operator] = STATE(1662),
    [sym__comparison_operator] = STATE(1662),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1662),
    [sym__multiplicative_operator] = STATE(1662),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1662),
    [sym_value_parameter_pack] = STATE(1662),
    [sym_value_pack_expansion] = STATE(1662),
    [sym_availability_condition] = STATE(7151),
    [sym__referenceable_operator] = STATE(1662),
    [sym__equal_sign] = STATE(1662),
    [sym__eq_eq] = STATE(1662),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4798),
    [sym_bang] = STATE(1169),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6656),
    [sym_value_binding_pattern] = STATE(4803),
    [sym__possibly_async_binding_pattern_kind] = STATE(4803),
    [sym__binding_kind_and_pattern] = STATE(6648),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1662),
    [sym_diagnostic] = STATE(1662),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(657),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(457),
    [sym_real_literal] = ACTIONS(459),
    [sym_integer_literal] = ACTIONS(457),
    [sym_hex_literal] = ACTIONS(457),
    [sym_oct_literal] = ACTIONS(459),
    [sym_bin_literal] = ACTIONS(459),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(457),
    [anon_sym_GT] = ACTIONS(457),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(835),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(459),
    [anon_sym_DASH_EQ] = ACTIONS(459),
    [anon_sym_STAR_EQ] = ACTIONS(459),
    [anon_sym_SLASH_EQ] = ACTIONS(459),
    [anon_sym_PERCENT_EQ] = ACTIONS(459),
    [anon_sym_BANG_EQ] = ACTIONS(457),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(459),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(459),
    [anon_sym_LT_EQ] = ACTIONS(459),
    [anon_sym_GT_EQ] = ACTIONS(459),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(457),
    [anon_sym_SLASH] = ACTIONS(457),
    [anon_sym_PERCENT] = ACTIONS(457),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(459),
    [anon_sym_CARET] = ACTIONS(457),
    [anon_sym_LT_LT] = ACTIONS(459),
    [anon_sym_GT_GT] = ACTIONS(459),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(459),
    [sym__eq_eq_custom] = ACTIONS(459),
    [sym__plus_then_ws] = ACTIONS(459),
    [sym__minus_then_ws] = ACTIONS(459),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(487),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [206] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1467),
    [sym_boolean_literal] = STATE(1467),
    [sym__string_literal] = STATE(1467),
    [sym_line_string_literal] = STATE(1467),
    [sym_multi_line_string_literal] = STATE(1467),
    [sym_raw_string_literal] = STATE(1467),
    [sym_regex_literal] = STATE(1467),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1467),
    [sym__unary_expression] = STATE(1467),
    [sym_postfix_expression] = STATE(1467),
    [sym_constructor_expression] = STATE(1467),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1467),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1467),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1467),
    [sym_prefix_expression] = STATE(1467),
    [sym_as_expression] = STATE(1467),
    [sym_selector_expression] = STATE(1467),
    [sym__binary_expression] = STATE(1467),
    [sym_multiplicative_expression] = STATE(1467),
    [sym_additive_expression] = STATE(1467),
    [sym_range_expression] = STATE(1467),
    [sym_infix_expression] = STATE(1467),
    [sym_nil_coalescing_expression] = STATE(1467),
    [sym_check_expression] = STATE(1467),
    [sym_comparison_expression] = STATE(1467),
    [sym_equality_expression] = STATE(1467),
    [sym_conjunction_expression] = STATE(1467),
    [sym_disjunction_expression] = STATE(1467),
    [sym_bitwise_operation] = STATE(1467),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1467),
    [sym_await_expression] = STATE(1467),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1467),
    [sym_call_expression] = STATE(1467),
    [sym_macro_invocation] = STATE(1467),
    [sym__primary_expression] = STATE(1467),
    [sym_tuple_expression] = STATE(1467),
    [sym_array_literal] = STATE(1467),
    [sym_dictionary_literal] = STATE(1467),
    [sym_special_literal] = STATE(1467),
    [sym_playground_literal] = STATE(1467),
    [sym_lambda_literal] = STATE(1467),
    [sym_self_expression] = STATE(1467),
    [sym_super_expression] = STATE(1467),
    [sym_if_statement] = STATE(1467),
    [sym__if_condition_sequence_item] = STATE(6654),
    [sym__if_let_binding] = STATE(6938),
    [sym_switch_statement] = STATE(1467),
    [sym_key_path_expression] = STATE(1467),
    [sym_key_path_string_expression] = STATE(1467),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1467),
    [sym__equality_operator] = STATE(1467),
    [sym__comparison_operator] = STATE(1467),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1467),
    [sym__multiplicative_operator] = STATE(1467),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_assignment] = STATE(1467),
    [sym_value_parameter_pack] = STATE(1467),
    [sym_value_pack_expansion] = STATE(1467),
    [sym_availability_condition] = STATE(6654),
    [sym__referenceable_operator] = STATE(1467),
    [sym__equal_sign] = STATE(1467),
    [sym__eq_eq] = STATE(1467),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4828),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6305),
    [sym_value_binding_pattern] = STATE(4819),
    [sym__possibly_async_binding_pattern_kind] = STATE(4819),
    [sym__binding_kind_and_pattern] = STATE(6304),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1467),
    [sym_diagnostic] = STATE(1467),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(11),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(11),
    [anon_sym_repeat] = ACTIONS(925),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(1285),
    [sym_real_literal] = ACTIONS(1287),
    [sym_integer_literal] = ACTIONS(1285),
    [sym_hex_literal] = ACTIONS(1285),
    [sym_oct_literal] = ACTIONS(1287),
    [sym_bin_literal] = ACTIONS(1287),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(1285),
    [anon_sym_GT] = ACTIONS(1285),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_case] = ACTIONS(1289),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1287),
    [anon_sym_DASH_EQ] = ACTIONS(1287),
    [anon_sym_STAR_EQ] = ACTIONS(1287),
    [anon_sym_SLASH_EQ] = ACTIONS(1287),
    [anon_sym_PERCENT_EQ] = ACTIONS(1287),
    [anon_sym_BANG_EQ] = ACTIONS(1285),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1287),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1287),
    [anon_sym_LT_EQ] = ACTIONS(1287),
    [anon_sym_GT_EQ] = ACTIONS(1287),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(1285),
    [anon_sym_SLASH] = ACTIONS(1285),
    [anon_sym_PERCENT] = ACTIONS(1285),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(1287),
    [anon_sym_CARET] = ACTIONS(1285),
    [anon_sym_LT_LT] = ACTIONS(1287),
    [anon_sym_GT_GT] = ACTIONS(1287),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(1287),
    [sym__eq_eq_custom] = ACTIONS(1287),
    [sym__plus_then_ws] = ACTIONS(1287),
    [sym__minus_then_ws] = ACTIONS(1287),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(1291),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [207] = {
    [sym_simple_identifier] = STATE(3108),
    [sym__contextual_simple_identifier] = STATE(2967),
    [sym__basic_literal] = STATE(1598),
    [sym_boolean_literal] = STATE(1598),
    [sym__string_literal] = STATE(1598),
    [sym_line_string_literal] = STATE(1598),
    [sym_multi_line_string_literal] = STATE(1598),
    [sym_raw_string_literal] = STATE(1598),
    [sym_regex_literal] = STATE(1598),
    [sym__extended_regex_literal] = STATE(3663),
    [sym__multiline_regex_literal] = STATE(3663),
    [sym_user_type] = STATE(6406),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6406),
    [sym_dictionary_type] = STATE(6406),
    [sym__expression] = STATE(1598),
    [sym__unary_expression] = STATE(1598),
    [sym_postfix_expression] = STATE(1598),
    [sym_constructor_expression] = STATE(1598),
    [sym__parenthesized_type] = STATE(7557),
    [sym_navigation_expression] = STATE(1598),
    [sym__navigable_type_expression] = STATE(7558),
    [sym_open_start_range_expression] = STATE(1598),
    [sym__range_operator] = STATE(592),
    [sym_open_end_range_expression] = STATE(1598),
    [sym_prefix_expression] = STATE(1598),
    [sym_as_expression] = STATE(1598),
    [sym_selector_expression] = STATE(1598),
    [sym__binary_expression] = STATE(1598),
    [sym_multiplicative_expression] = STATE(1598),
    [sym_additive_expression] = STATE(1598),
    [sym_range_expression] = STATE(1598),
    [sym_infix_expression] = STATE(1598),
    [sym_nil_coalescing_expression] = STATE(1598),
    [sym_check_expression] = STATE(1598),
    [sym_comparison_expression] = STATE(1598),
    [sym_equality_expression] = STATE(1598),
    [sym_conjunction_expression] = STATE(1598),
    [sym_disjunction_expression] = STATE(1598),
    [sym_bitwise_operation] = STATE(1598),
    [sym_custom_operator] = STATE(1288),
    [sym_try_expression] = STATE(1598),
    [sym_await_expression] = STATE(1598),
    [sym__await_operator] = STATE(595),
    [sym_ternary_expression] = STATE(1598),
    [sym_call_expression] = STATE(1598),
    [sym_macro_invocation] = STATE(1598),
    [sym__primary_expression] = STATE(1598),
    [sym_tuple_expression] = STATE(1598),
    [sym_array_literal] = STATE(1598),
    [sym_dictionary_literal] = STATE(1598),
    [sym_special_literal] = STATE(1598),
    [sym_playground_literal] = STATE(1598),
    [sym_lambda_literal] = STATE(1598),
    [sym_self_expression] = STATE(1598),
    [sym_super_expression] = STATE(1598),
    [sym_if_statement] = STATE(1598),
    [sym__if_condition_sequence_item] = STATE(7797),
    [sym__if_let_binding] = STATE(8622),
    [sym_switch_statement] = STATE(1598),
    [sym_key_path_expression] = STATE(1598),
    [sym_key_path_string_expression] = STATE(1598),
    [sym_try_operator] = STATE(611),
    [sym__assignment_and_operator] = STATE(1598),
    [sym__equality_operator] = STATE(1598),
    [sym__comparison_operator] = STATE(1598),
    [sym__three_dot_operator] = STATE(1257),
    [sym__open_ended_range_operator] = STATE(592),
    [sym__additive_operator] = STATE(1598),
    [sym__multiplicative_operator] = STATE(1598),
    [sym__prefix_unary_operator] = STATE(620),
    [sym_directly_assignable_expression] = STATE(6409),
    [sym_assignment] = STATE(1598),
    [sym_value_parameter_pack] = STATE(1598),
    [sym_value_pack_expansion] = STATE(1598),
    [sym_availability_condition] = STATE(7797),
    [sym__referenceable_operator] = STATE(1598),
    [sym__equal_sign] = STATE(1598),
    [sym__eq_eq] = STATE(1598),
    [sym__dot] = STATE(620),
    [sym__hash_symbol] = STATE(4824),
    [sym_bang] = STATE(1288),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6802),
    [sym_value_binding_pattern] = STATE(4822),
    [sym__possibly_async_binding_pattern_kind] = STATE(4822),
    [sym__binding_kind_and_pattern] = STATE(6778),
    [sym__parameter_ownership_modifier] = STATE(2967),
    [sym_directive] = STATE(1598),
    [sym_diagnostic] = STATE(1598),
    [aux_sym_raw_string_literal_repeat1] = STATE(7564),
    [anon_sym_BANG] = ACTIONS(1293),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1295),
    [aux_sym_simple_identifier_token2] = ACTIONS(1297),
    [aux_sym_simple_identifier_token3] = ACTIONS(1297),
    [aux_sym_simple_identifier_token4] = ACTIONS(1297),
    [anon_sym_actor] = ACTIONS(1295),
    [anon_sym_async] = ACTIONS(1299),
    [anon_sym_each] = ACTIONS(1301),
    [anon_sym_lazy] = ACTIONS(1295),
    [anon_sym_repeat] = ACTIONS(1303),
    [anon_sym_package] = ACTIONS(1295),
    [anon_sym_nil] = ACTIONS(1305),
    [sym_real_literal] = ACTIONS(1307),
    [sym_integer_literal] = ACTIONS(1305),
    [sym_hex_literal] = ACTIONS(1305),
    [sym_oct_literal] = ACTIONS(1307),
    [sym_bin_literal] = ACTIONS(1307),
    [anon_sym_true] = ACTIONS(1309),
    [anon_sym_false] = ACTIONS(1309),
    [anon_sym_DQUOTE] = ACTIONS(1311),
    [anon_sym_BSLASH] = ACTIONS(1313),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1315),
    [sym__oneline_regex_literal] = ACTIONS(1317),
    [anon_sym_LPAREN] = ACTIONS(1319),
    [anon_sym_LBRACK] = ACTIONS(1321),
    [anon_sym_AMP] = ACTIONS(1323),
    [anon_sym_TILDE] = ACTIONS(1323),
    [anon_sym_if] = ACTIONS(1325),
    [anon_sym_switch] = ACTIONS(1327),
    [aux_sym_custom_operator_token1] = ACTIONS(1329),
    [anon_sym_LT] = ACTIONS(1305),
    [anon_sym_GT] = ACTIONS(1305),
    [anon_sym_await] = ACTIONS(1331),
    [anon_sym_LBRACE] = ACTIONS(1333),
    [anon_sym_CARET_LBRACE] = ACTIONS(1333),
    [anon_sym_self] = ACTIONS(1335),
    [anon_sym_super] = ACTIONS(1337),
    [anon_sym_case] = ACTIONS(1339),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1307),
    [anon_sym_DASH_EQ] = ACTIONS(1307),
    [anon_sym_STAR_EQ] = ACTIONS(1307),
    [anon_sym_SLASH_EQ] = ACTIONS(1307),
    [anon_sym_PERCENT_EQ] = ACTIONS(1307),
    [anon_sym_BANG_EQ] = ACTIONS(1305),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1307),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1307),
    [anon_sym_LT_EQ] = ACTIONS(1307),
    [anon_sym_GT_EQ] = ACTIONS(1307),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1341),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1343),
    [anon_sym_PLUS] = ACTIONS(1345),
    [anon_sym_DASH] = ACTIONS(1345),
    [anon_sym_STAR] = ACTIONS(1305),
    [anon_sym_SLASH] = ACTIONS(1305),
    [anon_sym_PERCENT] = ACTIONS(1305),
    [anon_sym_PLUS_PLUS] = ACTIONS(1323),
    [anon_sym_DASH_DASH] = ACTIONS(1323),
    [anon_sym_PIPE] = ACTIONS(1307),
    [anon_sym_CARET] = ACTIONS(1305),
    [anon_sym_LT_LT] = ACTIONS(1307),
    [anon_sym_GT_GT] = ACTIONS(1307),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(1295),
    [anon_sym_consuming] = ACTIONS(1295),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1347),
    [sym__dot_custom] = ACTIONS(1349),
    [sym__eq_custom] = ACTIONS(1307),
    [sym__eq_eq_custom] = ACTIONS(1307),
    [sym__plus_then_ws] = ACTIONS(1307),
    [sym__minus_then_ws] = ACTIONS(1307),
    [sym__bang_custom] = ACTIONS(1351),
    [sym__custom_operator] = ACTIONS(1329),
    [sym__hash_symbol_custom] = ACTIONS(1353),
    [sym__directive_if] = ACTIONS(1355),
    [sym__directive_elseif] = ACTIONS(1355),
    [sym__directive_else] = ACTIONS(1357),
    [sym__directive_endif] = ACTIONS(1357),
  },
  [208] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1662),
    [sym_boolean_literal] = STATE(1662),
    [sym__string_literal] = STATE(1662),
    [sym_line_string_literal] = STATE(1662),
    [sym_multi_line_string_literal] = STATE(1662),
    [sym_raw_string_literal] = STATE(1662),
    [sym_regex_literal] = STATE(1662),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1662),
    [sym__unary_expression] = STATE(1662),
    [sym_postfix_expression] = STATE(1662),
    [sym_constructor_expression] = STATE(1662),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1662),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1662),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1662),
    [sym_prefix_expression] = STATE(1662),
    [sym_as_expression] = STATE(1662),
    [sym_selector_expression] = STATE(1662),
    [sym__binary_expression] = STATE(1662),
    [sym_multiplicative_expression] = STATE(1662),
    [sym_additive_expression] = STATE(1662),
    [sym_range_expression] = STATE(1662),
    [sym_infix_expression] = STATE(1662),
    [sym_nil_coalescing_expression] = STATE(1662),
    [sym_check_expression] = STATE(1662),
    [sym_comparison_expression] = STATE(1662),
    [sym_equality_expression] = STATE(1662),
    [sym_conjunction_expression] = STATE(1662),
    [sym_disjunction_expression] = STATE(1662),
    [sym_bitwise_operation] = STATE(1662),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1662),
    [sym_await_expression] = STATE(1662),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1662),
    [sym_call_expression] = STATE(1662),
    [sym_macro_invocation] = STATE(1662),
    [sym__primary_expression] = STATE(1662),
    [sym_tuple_expression] = STATE(1662),
    [sym_array_literal] = STATE(1662),
    [sym_dictionary_literal] = STATE(1662),
    [sym_special_literal] = STATE(1662),
    [sym_playground_literal] = STATE(1662),
    [sym_lambda_literal] = STATE(1662),
    [sym_self_expression] = STATE(1662),
    [sym_super_expression] = STATE(1662),
    [sym_if_statement] = STATE(1662),
    [sym__if_condition_sequence_item] = STATE(7830),
    [sym__if_let_binding] = STATE(8586),
    [sym_switch_statement] = STATE(1662),
    [sym_key_path_expression] = STATE(1662),
    [sym_key_path_string_expression] = STATE(1662),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1662),
    [sym__equality_operator] = STATE(1662),
    [sym__comparison_operator] = STATE(1662),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1662),
    [sym__multiplicative_operator] = STATE(1662),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1662),
    [sym_value_parameter_pack] = STATE(1662),
    [sym_value_pack_expansion] = STATE(1662),
    [sym_availability_condition] = STATE(7830),
    [sym__referenceable_operator] = STATE(1662),
    [sym__equal_sign] = STATE(1662),
    [sym__eq_eq] = STATE(1662),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4798),
    [sym_bang] = STATE(1169),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6656),
    [sym_value_binding_pattern] = STATE(4803),
    [sym__possibly_async_binding_pattern_kind] = STATE(4803),
    [sym__binding_kind_and_pattern] = STATE(6648),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1662),
    [sym_diagnostic] = STATE(1662),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(657),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(457),
    [sym_real_literal] = ACTIONS(459),
    [sym_integer_literal] = ACTIONS(457),
    [sym_hex_literal] = ACTIONS(457),
    [sym_oct_literal] = ACTIONS(459),
    [sym_bin_literal] = ACTIONS(459),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(457),
    [anon_sym_GT] = ACTIONS(457),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(835),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(459),
    [anon_sym_DASH_EQ] = ACTIONS(459),
    [anon_sym_STAR_EQ] = ACTIONS(459),
    [anon_sym_SLASH_EQ] = ACTIONS(459),
    [anon_sym_PERCENT_EQ] = ACTIONS(459),
    [anon_sym_BANG_EQ] = ACTIONS(457),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(459),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(459),
    [anon_sym_LT_EQ] = ACTIONS(459),
    [anon_sym_GT_EQ] = ACTIONS(459),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(457),
    [anon_sym_SLASH] = ACTIONS(457),
    [anon_sym_PERCENT] = ACTIONS(457),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(459),
    [anon_sym_CARET] = ACTIONS(457),
    [anon_sym_LT_LT] = ACTIONS(459),
    [anon_sym_GT_GT] = ACTIONS(459),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(459),
    [sym__eq_eq_custom] = ACTIONS(459),
    [sym__plus_then_ws] = ACTIONS(459),
    [sym__minus_then_ws] = ACTIONS(459),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(487),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [209] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1662),
    [sym_boolean_literal] = STATE(1662),
    [sym__string_literal] = STATE(1662),
    [sym_line_string_literal] = STATE(1662),
    [sym_multi_line_string_literal] = STATE(1662),
    [sym_raw_string_literal] = STATE(1662),
    [sym_regex_literal] = STATE(1662),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1662),
    [sym__unary_expression] = STATE(1662),
    [sym_postfix_expression] = STATE(1662),
    [sym_constructor_expression] = STATE(1662),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1662),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1662),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1662),
    [sym_prefix_expression] = STATE(1662),
    [sym_as_expression] = STATE(1662),
    [sym_selector_expression] = STATE(1662),
    [sym__binary_expression] = STATE(1662),
    [sym_multiplicative_expression] = STATE(1662),
    [sym_additive_expression] = STATE(1662),
    [sym_range_expression] = STATE(1662),
    [sym_infix_expression] = STATE(1662),
    [sym_nil_coalescing_expression] = STATE(1662),
    [sym_check_expression] = STATE(1662),
    [sym_comparison_expression] = STATE(1662),
    [sym_equality_expression] = STATE(1662),
    [sym_conjunction_expression] = STATE(1662),
    [sym_disjunction_expression] = STATE(1662),
    [sym_bitwise_operation] = STATE(1662),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1662),
    [sym_await_expression] = STATE(1662),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1662),
    [sym_call_expression] = STATE(1662),
    [sym_macro_invocation] = STATE(1662),
    [sym__primary_expression] = STATE(1662),
    [sym_tuple_expression] = STATE(1662),
    [sym_array_literal] = STATE(1662),
    [sym_dictionary_literal] = STATE(1662),
    [sym_special_literal] = STATE(1662),
    [sym_playground_literal] = STATE(1662),
    [sym_lambda_literal] = STATE(1662),
    [sym_self_expression] = STATE(1662),
    [sym_super_expression] = STATE(1662),
    [sym_if_statement] = STATE(1662),
    [sym__if_condition_sequence_item] = STATE(8092),
    [sym__if_let_binding] = STATE(8586),
    [sym_switch_statement] = STATE(1662),
    [sym_key_path_expression] = STATE(1662),
    [sym_key_path_string_expression] = STATE(1662),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1662),
    [sym__equality_operator] = STATE(1662),
    [sym__comparison_operator] = STATE(1662),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1662),
    [sym__multiplicative_operator] = STATE(1662),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1662),
    [sym_value_parameter_pack] = STATE(1662),
    [sym_value_pack_expansion] = STATE(1662),
    [sym_availability_condition] = STATE(8092),
    [sym__referenceable_operator] = STATE(1662),
    [sym__equal_sign] = STATE(1662),
    [sym__eq_eq] = STATE(1662),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4798),
    [sym_bang] = STATE(1169),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6656),
    [sym_value_binding_pattern] = STATE(4803),
    [sym__possibly_async_binding_pattern_kind] = STATE(4803),
    [sym__binding_kind_and_pattern] = STATE(6648),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1662),
    [sym_diagnostic] = STATE(1662),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(657),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(457),
    [sym_real_literal] = ACTIONS(459),
    [sym_integer_literal] = ACTIONS(457),
    [sym_hex_literal] = ACTIONS(457),
    [sym_oct_literal] = ACTIONS(459),
    [sym_bin_literal] = ACTIONS(459),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(457),
    [anon_sym_GT] = ACTIONS(457),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(835),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(459),
    [anon_sym_DASH_EQ] = ACTIONS(459),
    [anon_sym_STAR_EQ] = ACTIONS(459),
    [anon_sym_SLASH_EQ] = ACTIONS(459),
    [anon_sym_PERCENT_EQ] = ACTIONS(459),
    [anon_sym_BANG_EQ] = ACTIONS(457),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(459),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(459),
    [anon_sym_LT_EQ] = ACTIONS(459),
    [anon_sym_GT_EQ] = ACTIONS(459),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(457),
    [anon_sym_SLASH] = ACTIONS(457),
    [anon_sym_PERCENT] = ACTIONS(457),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(459),
    [anon_sym_CARET] = ACTIONS(457),
    [anon_sym_LT_LT] = ACTIONS(459),
    [anon_sym_GT_GT] = ACTIONS(459),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(459),
    [sym__eq_eq_custom] = ACTIONS(459),
    [sym__plus_then_ws] = ACTIONS(459),
    [sym__minus_then_ws] = ACTIONS(459),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(487),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [210] = {
    [sym_simple_identifier] = STATE(3108),
    [sym__contextual_simple_identifier] = STATE(2967),
    [sym__basic_literal] = STATE(1598),
    [sym_boolean_literal] = STATE(1598),
    [sym__string_literal] = STATE(1598),
    [sym_line_string_literal] = STATE(1598),
    [sym_multi_line_string_literal] = STATE(1598),
    [sym_raw_string_literal] = STATE(1598),
    [sym_regex_literal] = STATE(1598),
    [sym__extended_regex_literal] = STATE(3663),
    [sym__multiline_regex_literal] = STATE(3663),
    [sym_user_type] = STATE(6406),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6406),
    [sym_dictionary_type] = STATE(6406),
    [sym__expression] = STATE(1598),
    [sym__unary_expression] = STATE(1598),
    [sym_postfix_expression] = STATE(1598),
    [sym_constructor_expression] = STATE(1598),
    [sym__parenthesized_type] = STATE(7557),
    [sym_navigation_expression] = STATE(1598),
    [sym__navigable_type_expression] = STATE(7558),
    [sym_open_start_range_expression] = STATE(1598),
    [sym__range_operator] = STATE(592),
    [sym_open_end_range_expression] = STATE(1598),
    [sym_prefix_expression] = STATE(1598),
    [sym_as_expression] = STATE(1598),
    [sym_selector_expression] = STATE(1598),
    [sym__binary_expression] = STATE(1598),
    [sym_multiplicative_expression] = STATE(1598),
    [sym_additive_expression] = STATE(1598),
    [sym_range_expression] = STATE(1598),
    [sym_infix_expression] = STATE(1598),
    [sym_nil_coalescing_expression] = STATE(1598),
    [sym_check_expression] = STATE(1598),
    [sym_comparison_expression] = STATE(1598),
    [sym_equality_expression] = STATE(1598),
    [sym_conjunction_expression] = STATE(1598),
    [sym_disjunction_expression] = STATE(1598),
    [sym_bitwise_operation] = STATE(1598),
    [sym_custom_operator] = STATE(1288),
    [sym_try_expression] = STATE(1598),
    [sym_await_expression] = STATE(1598),
    [sym__await_operator] = STATE(595),
    [sym_ternary_expression] = STATE(1598),
    [sym_call_expression] = STATE(1598),
    [sym_macro_invocation] = STATE(1598),
    [sym__primary_expression] = STATE(1598),
    [sym_tuple_expression] = STATE(1598),
    [sym_array_literal] = STATE(1598),
    [sym_dictionary_literal] = STATE(1598),
    [sym_special_literal] = STATE(1598),
    [sym_playground_literal] = STATE(1598),
    [sym_lambda_literal] = STATE(1598),
    [sym_self_expression] = STATE(1598),
    [sym_super_expression] = STATE(1598),
    [sym_if_statement] = STATE(1598),
    [sym__if_condition_sequence_item] = STATE(8098),
    [sym__if_let_binding] = STATE(8622),
    [sym_switch_statement] = STATE(1598),
    [sym_key_path_expression] = STATE(1598),
    [sym_key_path_string_expression] = STATE(1598),
    [sym_try_operator] = STATE(611),
    [sym__assignment_and_operator] = STATE(1598),
    [sym__equality_operator] = STATE(1598),
    [sym__comparison_operator] = STATE(1598),
    [sym__three_dot_operator] = STATE(1257),
    [sym__open_ended_range_operator] = STATE(592),
    [sym__additive_operator] = STATE(1598),
    [sym__multiplicative_operator] = STATE(1598),
    [sym__prefix_unary_operator] = STATE(620),
    [sym_directly_assignable_expression] = STATE(6409),
    [sym_assignment] = STATE(1598),
    [sym_value_parameter_pack] = STATE(1598),
    [sym_value_pack_expansion] = STATE(1598),
    [sym_availability_condition] = STATE(8098),
    [sym__referenceable_operator] = STATE(1598),
    [sym__equal_sign] = STATE(1598),
    [sym__eq_eq] = STATE(1598),
    [sym__dot] = STATE(620),
    [sym__hash_symbol] = STATE(4824),
    [sym_bang] = STATE(1288),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6802),
    [sym_value_binding_pattern] = STATE(4822),
    [sym__possibly_async_binding_pattern_kind] = STATE(4822),
    [sym__binding_kind_and_pattern] = STATE(6778),
    [sym__parameter_ownership_modifier] = STATE(2967),
    [sym_directive] = STATE(1598),
    [sym_diagnostic] = STATE(1598),
    [aux_sym_raw_string_literal_repeat1] = STATE(7564),
    [anon_sym_BANG] = ACTIONS(1293),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1295),
    [aux_sym_simple_identifier_token2] = ACTIONS(1297),
    [aux_sym_simple_identifier_token3] = ACTIONS(1297),
    [aux_sym_simple_identifier_token4] = ACTIONS(1297),
    [anon_sym_actor] = ACTIONS(1295),
    [anon_sym_async] = ACTIONS(1299),
    [anon_sym_each] = ACTIONS(1301),
    [anon_sym_lazy] = ACTIONS(1295),
    [anon_sym_repeat] = ACTIONS(1303),
    [anon_sym_package] = ACTIONS(1295),
    [anon_sym_nil] = ACTIONS(1305),
    [sym_real_literal] = ACTIONS(1307),
    [sym_integer_literal] = ACTIONS(1305),
    [sym_hex_literal] = ACTIONS(1305),
    [sym_oct_literal] = ACTIONS(1307),
    [sym_bin_literal] = ACTIONS(1307),
    [anon_sym_true] = ACTIONS(1309),
    [anon_sym_false] = ACTIONS(1309),
    [anon_sym_DQUOTE] = ACTIONS(1311),
    [anon_sym_BSLASH] = ACTIONS(1313),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1315),
    [sym__oneline_regex_literal] = ACTIONS(1317),
    [anon_sym_LPAREN] = ACTIONS(1319),
    [anon_sym_LBRACK] = ACTIONS(1321),
    [anon_sym_AMP] = ACTIONS(1323),
    [anon_sym_TILDE] = ACTIONS(1323),
    [anon_sym_if] = ACTIONS(1325),
    [anon_sym_switch] = ACTIONS(1327),
    [aux_sym_custom_operator_token1] = ACTIONS(1329),
    [anon_sym_LT] = ACTIONS(1305),
    [anon_sym_GT] = ACTIONS(1305),
    [anon_sym_await] = ACTIONS(1331),
    [anon_sym_LBRACE] = ACTIONS(1333),
    [anon_sym_CARET_LBRACE] = ACTIONS(1333),
    [anon_sym_self] = ACTIONS(1335),
    [anon_sym_super] = ACTIONS(1337),
    [anon_sym_case] = ACTIONS(1339),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1307),
    [anon_sym_DASH_EQ] = ACTIONS(1307),
    [anon_sym_STAR_EQ] = ACTIONS(1307),
    [anon_sym_SLASH_EQ] = ACTIONS(1307),
    [anon_sym_PERCENT_EQ] = ACTIONS(1307),
    [anon_sym_BANG_EQ] = ACTIONS(1305),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1307),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1307),
    [anon_sym_LT_EQ] = ACTIONS(1307),
    [anon_sym_GT_EQ] = ACTIONS(1307),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1341),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1343),
    [anon_sym_PLUS] = ACTIONS(1345),
    [anon_sym_DASH] = ACTIONS(1345),
    [anon_sym_STAR] = ACTIONS(1305),
    [anon_sym_SLASH] = ACTIONS(1305),
    [anon_sym_PERCENT] = ACTIONS(1305),
    [anon_sym_PLUS_PLUS] = ACTIONS(1323),
    [anon_sym_DASH_DASH] = ACTIONS(1323),
    [anon_sym_PIPE] = ACTIONS(1307),
    [anon_sym_CARET] = ACTIONS(1305),
    [anon_sym_LT_LT] = ACTIONS(1307),
    [anon_sym_GT_GT] = ACTIONS(1307),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(1295),
    [anon_sym_consuming] = ACTIONS(1295),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1347),
    [sym__dot_custom] = ACTIONS(1349),
    [sym__eq_custom] = ACTIONS(1307),
    [sym__eq_eq_custom] = ACTIONS(1307),
    [sym__plus_then_ws] = ACTIONS(1307),
    [sym__minus_then_ws] = ACTIONS(1307),
    [sym__bang_custom] = ACTIONS(1351),
    [sym__custom_operator] = ACTIONS(1329),
    [sym__hash_symbol_custom] = ACTIONS(1353),
    [sym__directive_if] = ACTIONS(1355),
    [sym__directive_elseif] = ACTIONS(1355),
    [sym__directive_else] = ACTIONS(1357),
    [sym__directive_endif] = ACTIONS(1357),
  },
  [211] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1662),
    [sym_boolean_literal] = STATE(1662),
    [sym__string_literal] = STATE(1662),
    [sym_line_string_literal] = STATE(1662),
    [sym_multi_line_string_literal] = STATE(1662),
    [sym_raw_string_literal] = STATE(1662),
    [sym_regex_literal] = STATE(1662),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1662),
    [sym__unary_expression] = STATE(1662),
    [sym_postfix_expression] = STATE(1662),
    [sym_constructor_expression] = STATE(1662),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1662),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1662),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1662),
    [sym_prefix_expression] = STATE(1662),
    [sym_as_expression] = STATE(1662),
    [sym_selector_expression] = STATE(1662),
    [sym__binary_expression] = STATE(1662),
    [sym_multiplicative_expression] = STATE(1662),
    [sym_additive_expression] = STATE(1662),
    [sym_range_expression] = STATE(1662),
    [sym_infix_expression] = STATE(1662),
    [sym_nil_coalescing_expression] = STATE(1662),
    [sym_check_expression] = STATE(1662),
    [sym_comparison_expression] = STATE(1662),
    [sym_equality_expression] = STATE(1662),
    [sym_conjunction_expression] = STATE(1662),
    [sym_disjunction_expression] = STATE(1662),
    [sym_bitwise_operation] = STATE(1662),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1662),
    [sym_await_expression] = STATE(1662),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1662),
    [sym_call_expression] = STATE(1662),
    [sym_macro_invocation] = STATE(1662),
    [sym__primary_expression] = STATE(1662),
    [sym_tuple_expression] = STATE(1662),
    [sym_array_literal] = STATE(1662),
    [sym_dictionary_literal] = STATE(1662),
    [sym_special_literal] = STATE(1662),
    [sym_playground_literal] = STATE(1662),
    [sym_lambda_literal] = STATE(1662),
    [sym_self_expression] = STATE(1662),
    [sym_super_expression] = STATE(1662),
    [sym_if_statement] = STATE(1662),
    [sym__if_condition_sequence_item] = STATE(7402),
    [sym__if_let_binding] = STATE(8586),
    [sym_switch_statement] = STATE(1662),
    [sym_key_path_expression] = STATE(1662),
    [sym_key_path_string_expression] = STATE(1662),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1662),
    [sym__equality_operator] = STATE(1662),
    [sym__comparison_operator] = STATE(1662),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1662),
    [sym__multiplicative_operator] = STATE(1662),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1662),
    [sym_value_parameter_pack] = STATE(1662),
    [sym_value_pack_expansion] = STATE(1662),
    [sym_availability_condition] = STATE(7402),
    [sym__referenceable_operator] = STATE(1662),
    [sym__equal_sign] = STATE(1662),
    [sym__eq_eq] = STATE(1662),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4798),
    [sym_bang] = STATE(1169),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6656),
    [sym_value_binding_pattern] = STATE(4803),
    [sym__possibly_async_binding_pattern_kind] = STATE(4803),
    [sym__binding_kind_and_pattern] = STATE(6648),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1662),
    [sym_diagnostic] = STATE(1662),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(657),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(457),
    [sym_real_literal] = ACTIONS(459),
    [sym_integer_literal] = ACTIONS(457),
    [sym_hex_literal] = ACTIONS(457),
    [sym_oct_literal] = ACTIONS(459),
    [sym_bin_literal] = ACTIONS(459),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(457),
    [anon_sym_GT] = ACTIONS(457),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(835),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(459),
    [anon_sym_DASH_EQ] = ACTIONS(459),
    [anon_sym_STAR_EQ] = ACTIONS(459),
    [anon_sym_SLASH_EQ] = ACTIONS(459),
    [anon_sym_PERCENT_EQ] = ACTIONS(459),
    [anon_sym_BANG_EQ] = ACTIONS(457),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(459),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(459),
    [anon_sym_LT_EQ] = ACTIONS(459),
    [anon_sym_GT_EQ] = ACTIONS(459),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(457),
    [anon_sym_SLASH] = ACTIONS(457),
    [anon_sym_PERCENT] = ACTIONS(457),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(459),
    [anon_sym_CARET] = ACTIONS(457),
    [anon_sym_LT_LT] = ACTIONS(459),
    [anon_sym_GT_GT] = ACTIONS(459),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(459),
    [sym__eq_eq_custom] = ACTIONS(459),
    [sym__plus_then_ws] = ACTIONS(459),
    [sym__minus_then_ws] = ACTIONS(459),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(487),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [212] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1662),
    [sym_boolean_literal] = STATE(1662),
    [sym__string_literal] = STATE(1662),
    [sym_line_string_literal] = STATE(1662),
    [sym_multi_line_string_literal] = STATE(1662),
    [sym_raw_string_literal] = STATE(1662),
    [sym_regex_literal] = STATE(1662),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1662),
    [sym__unary_expression] = STATE(1662),
    [sym_postfix_expression] = STATE(1662),
    [sym_constructor_expression] = STATE(1662),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1662),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1662),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1662),
    [sym_prefix_expression] = STATE(1662),
    [sym_as_expression] = STATE(1662),
    [sym_selector_expression] = STATE(1662),
    [sym__binary_expression] = STATE(1662),
    [sym_multiplicative_expression] = STATE(1662),
    [sym_additive_expression] = STATE(1662),
    [sym_range_expression] = STATE(1662),
    [sym_infix_expression] = STATE(1662),
    [sym_nil_coalescing_expression] = STATE(1662),
    [sym_check_expression] = STATE(1662),
    [sym_comparison_expression] = STATE(1662),
    [sym_equality_expression] = STATE(1662),
    [sym_conjunction_expression] = STATE(1662),
    [sym_disjunction_expression] = STATE(1662),
    [sym_bitwise_operation] = STATE(1662),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1662),
    [sym_await_expression] = STATE(1662),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1662),
    [sym_call_expression] = STATE(1662),
    [sym_macro_invocation] = STATE(1662),
    [sym__primary_expression] = STATE(1662),
    [sym_tuple_expression] = STATE(1662),
    [sym_array_literal] = STATE(1662),
    [sym_dictionary_literal] = STATE(1662),
    [sym_special_literal] = STATE(1662),
    [sym_playground_literal] = STATE(1662),
    [sym_lambda_literal] = STATE(1662),
    [sym_self_expression] = STATE(1662),
    [sym_super_expression] = STATE(1662),
    [sym_if_statement] = STATE(1662),
    [sym__if_condition_sequence_item] = STATE(7282),
    [sym__if_let_binding] = STATE(8586),
    [sym_switch_statement] = STATE(1662),
    [sym_key_path_expression] = STATE(1662),
    [sym_key_path_string_expression] = STATE(1662),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1662),
    [sym__equality_operator] = STATE(1662),
    [sym__comparison_operator] = STATE(1662),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1662),
    [sym__multiplicative_operator] = STATE(1662),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1662),
    [sym_value_parameter_pack] = STATE(1662),
    [sym_value_pack_expansion] = STATE(1662),
    [sym_availability_condition] = STATE(7282),
    [sym__referenceable_operator] = STATE(1662),
    [sym__equal_sign] = STATE(1662),
    [sym__eq_eq] = STATE(1662),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4798),
    [sym_bang] = STATE(1169),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6656),
    [sym_value_binding_pattern] = STATE(4803),
    [sym__possibly_async_binding_pattern_kind] = STATE(4803),
    [sym__binding_kind_and_pattern] = STATE(6648),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1662),
    [sym_diagnostic] = STATE(1662),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(657),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(457),
    [sym_real_literal] = ACTIONS(459),
    [sym_integer_literal] = ACTIONS(457),
    [sym_hex_literal] = ACTIONS(457),
    [sym_oct_literal] = ACTIONS(459),
    [sym_bin_literal] = ACTIONS(459),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(457),
    [anon_sym_GT] = ACTIONS(457),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(835),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(459),
    [anon_sym_DASH_EQ] = ACTIONS(459),
    [anon_sym_STAR_EQ] = ACTIONS(459),
    [anon_sym_SLASH_EQ] = ACTIONS(459),
    [anon_sym_PERCENT_EQ] = ACTIONS(459),
    [anon_sym_BANG_EQ] = ACTIONS(457),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(459),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(459),
    [anon_sym_LT_EQ] = ACTIONS(459),
    [anon_sym_GT_EQ] = ACTIONS(459),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(457),
    [anon_sym_SLASH] = ACTIONS(457),
    [anon_sym_PERCENT] = ACTIONS(457),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(459),
    [anon_sym_CARET] = ACTIONS(457),
    [anon_sym_LT_LT] = ACTIONS(459),
    [anon_sym_GT_GT] = ACTIONS(459),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(459),
    [sym__eq_eq_custom] = ACTIONS(459),
    [sym__plus_then_ws] = ACTIONS(459),
    [sym__minus_then_ws] = ACTIONS(459),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(487),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [213] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(797),
    [sym_boolean_literal] = STATE(797),
    [sym__string_literal] = STATE(797),
    [sym_line_string_literal] = STATE(797),
    [sym_multi_line_string_literal] = STATE(797),
    [sym_raw_string_literal] = STATE(797),
    [sym_regex_literal] = STATE(797),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(797),
    [sym__unary_expression] = STATE(797),
    [sym_postfix_expression] = STATE(797),
    [sym_constructor_expression] = STATE(797),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(797),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(797),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(797),
    [sym_prefix_expression] = STATE(797),
    [sym_as_expression] = STATE(797),
    [sym_selector_expression] = STATE(797),
    [sym__binary_expression] = STATE(797),
    [sym_multiplicative_expression] = STATE(797),
    [sym_additive_expression] = STATE(797),
    [sym_range_expression] = STATE(797),
    [sym_infix_expression] = STATE(797),
    [sym_nil_coalescing_expression] = STATE(797),
    [sym_check_expression] = STATE(797),
    [sym_comparison_expression] = STATE(797),
    [sym_equality_expression] = STATE(797),
    [sym_conjunction_expression] = STATE(797),
    [sym_disjunction_expression] = STATE(797),
    [sym_bitwise_operation] = STATE(797),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(797),
    [sym_await_expression] = STATE(797),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(797),
    [sym_call_expression] = STATE(797),
    [sym_macro_invocation] = STATE(797),
    [sym__primary_expression] = STATE(797),
    [sym_tuple_expression] = STATE(797),
    [sym_array_literal] = STATE(797),
    [sym_dictionary_literal] = STATE(797),
    [sym_special_literal] = STATE(797),
    [sym_playground_literal] = STATE(797),
    [sym_lambda_literal] = STATE(797),
    [sym_self_expression] = STATE(797),
    [sym_super_expression] = STATE(797),
    [sym_if_statement] = STATE(797),
    [sym__if_condition_sequence_item] = STATE(4485),
    [sym__if_let_binding] = STATE(4511),
    [sym_switch_statement] = STATE(797),
    [sym_key_path_expression] = STATE(797),
    [sym_key_path_string_expression] = STATE(797),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(797),
    [sym__equality_operator] = STATE(797),
    [sym__comparison_operator] = STATE(797),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(797),
    [sym__multiplicative_operator] = STATE(797),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_assignment] = STATE(797),
    [sym_value_parameter_pack] = STATE(797),
    [sym_value_pack_expansion] = STATE(797),
    [sym_availability_condition] = STATE(4485),
    [sym__referenceable_operator] = STATE(797),
    [sym__equal_sign] = STATE(797),
    [sym__eq_eq] = STATE(797),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4796),
    [sym_bang] = STATE(770),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(3869),
    [sym_value_binding_pattern] = STATE(4815),
    [sym__possibly_async_binding_pattern_kind] = STATE(4815),
    [sym__binding_kind_and_pattern] = STATE(3868),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(797),
    [sym_diagnostic] = STATE(797),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(289),
    [anon_sym_async] = ACTIONS(295),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(289),
    [anon_sym_repeat] = ACTIONS(733),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(1359),
    [sym_real_literal] = ACTIONS(1361),
    [sym_integer_literal] = ACTIONS(1359),
    [sym_hex_literal] = ACTIONS(1359),
    [sym_oct_literal] = ACTIONS(1361),
    [sym_bin_literal] = ACTIONS(1361),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(1359),
    [anon_sym_GT] = ACTIONS(1359),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_case] = ACTIONS(1363),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1361),
    [anon_sym_DASH_EQ] = ACTIONS(1361),
    [anon_sym_STAR_EQ] = ACTIONS(1361),
    [anon_sym_SLASH_EQ] = ACTIONS(1361),
    [anon_sym_PERCENT_EQ] = ACTIONS(1361),
    [anon_sym_BANG_EQ] = ACTIONS(1359),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1361),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1361),
    [anon_sym_LT_EQ] = ACTIONS(1361),
    [anon_sym_GT_EQ] = ACTIONS(1361),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(1359),
    [anon_sym_SLASH] = ACTIONS(1359),
    [anon_sym_PERCENT] = ACTIONS(1359),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(1361),
    [anon_sym_CARET] = ACTIONS(1359),
    [anon_sym_LT_LT] = ACTIONS(1361),
    [anon_sym_GT_GT] = ACTIONS(1361),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(1361),
    [sym__eq_eq_custom] = ACTIONS(1361),
    [sym__plus_then_ws] = ACTIONS(1361),
    [sym__minus_then_ws] = ACTIONS(1361),
    [sym__bang_custom] = ACTIONS(373),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(1365),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [214] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1467),
    [sym_boolean_literal] = STATE(1467),
    [sym__string_literal] = STATE(1467),
    [sym_line_string_literal] = STATE(1467),
    [sym_multi_line_string_literal] = STATE(1467),
    [sym_raw_string_literal] = STATE(1467),
    [sym_regex_literal] = STATE(1467),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1467),
    [sym__unary_expression] = STATE(1467),
    [sym_postfix_expression] = STATE(1467),
    [sym_constructor_expression] = STATE(1467),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1467),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1467),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1467),
    [sym_prefix_expression] = STATE(1467),
    [sym_as_expression] = STATE(1467),
    [sym_selector_expression] = STATE(1467),
    [sym__binary_expression] = STATE(1467),
    [sym_multiplicative_expression] = STATE(1467),
    [sym_additive_expression] = STATE(1467),
    [sym_range_expression] = STATE(1467),
    [sym_infix_expression] = STATE(1467),
    [sym_nil_coalescing_expression] = STATE(1467),
    [sym_check_expression] = STATE(1467),
    [sym_comparison_expression] = STATE(1467),
    [sym_equality_expression] = STATE(1467),
    [sym_conjunction_expression] = STATE(1467),
    [sym_disjunction_expression] = STATE(1467),
    [sym_bitwise_operation] = STATE(1467),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1467),
    [sym_await_expression] = STATE(1467),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1467),
    [sym_call_expression] = STATE(1467),
    [sym_macro_invocation] = STATE(1467),
    [sym__primary_expression] = STATE(1467),
    [sym_tuple_expression] = STATE(1467),
    [sym_array_literal] = STATE(1467),
    [sym_dictionary_literal] = STATE(1467),
    [sym_special_literal] = STATE(1467),
    [sym_playground_literal] = STATE(1467),
    [sym_lambda_literal] = STATE(1467),
    [sym_self_expression] = STATE(1467),
    [sym_super_expression] = STATE(1467),
    [sym_if_statement] = STATE(1467),
    [sym__if_condition_sequence_item] = STATE(6652),
    [sym__if_let_binding] = STATE(6938),
    [sym_switch_statement] = STATE(1467),
    [sym_key_path_expression] = STATE(1467),
    [sym_key_path_string_expression] = STATE(1467),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1467),
    [sym__equality_operator] = STATE(1467),
    [sym__comparison_operator] = STATE(1467),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1467),
    [sym__multiplicative_operator] = STATE(1467),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_assignment] = STATE(1467),
    [sym_value_parameter_pack] = STATE(1467),
    [sym_value_pack_expansion] = STATE(1467),
    [sym_availability_condition] = STATE(6652),
    [sym__referenceable_operator] = STATE(1467),
    [sym__equal_sign] = STATE(1467),
    [sym__eq_eq] = STATE(1467),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4828),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6305),
    [sym_value_binding_pattern] = STATE(4819),
    [sym__possibly_async_binding_pattern_kind] = STATE(4819),
    [sym__binding_kind_and_pattern] = STATE(6304),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1467),
    [sym_diagnostic] = STATE(1467),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(11),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(11),
    [anon_sym_repeat] = ACTIONS(925),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(1285),
    [sym_real_literal] = ACTIONS(1287),
    [sym_integer_literal] = ACTIONS(1285),
    [sym_hex_literal] = ACTIONS(1285),
    [sym_oct_literal] = ACTIONS(1287),
    [sym_bin_literal] = ACTIONS(1287),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(1285),
    [anon_sym_GT] = ACTIONS(1285),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_case] = ACTIONS(1289),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1287),
    [anon_sym_DASH_EQ] = ACTIONS(1287),
    [anon_sym_STAR_EQ] = ACTIONS(1287),
    [anon_sym_SLASH_EQ] = ACTIONS(1287),
    [anon_sym_PERCENT_EQ] = ACTIONS(1287),
    [anon_sym_BANG_EQ] = ACTIONS(1285),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1287),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1287),
    [anon_sym_LT_EQ] = ACTIONS(1287),
    [anon_sym_GT_EQ] = ACTIONS(1287),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(1285),
    [anon_sym_SLASH] = ACTIONS(1285),
    [anon_sym_PERCENT] = ACTIONS(1285),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(1287),
    [anon_sym_CARET] = ACTIONS(1285),
    [anon_sym_LT_LT] = ACTIONS(1287),
    [anon_sym_GT_GT] = ACTIONS(1287),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(1287),
    [sym__eq_eq_custom] = ACTIONS(1287),
    [sym__plus_then_ws] = ACTIONS(1287),
    [sym__minus_then_ws] = ACTIONS(1287),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(1291),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [215] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1662),
    [sym_boolean_literal] = STATE(1662),
    [sym__string_literal] = STATE(1662),
    [sym_line_string_literal] = STATE(1662),
    [sym_multi_line_string_literal] = STATE(1662),
    [sym_raw_string_literal] = STATE(1662),
    [sym_regex_literal] = STATE(1662),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1662),
    [sym__unary_expression] = STATE(1662),
    [sym_postfix_expression] = STATE(1662),
    [sym_constructor_expression] = STATE(1662),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1662),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1662),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1662),
    [sym_prefix_expression] = STATE(1662),
    [sym_as_expression] = STATE(1662),
    [sym_selector_expression] = STATE(1662),
    [sym__binary_expression] = STATE(1662),
    [sym_multiplicative_expression] = STATE(1662),
    [sym_additive_expression] = STATE(1662),
    [sym_range_expression] = STATE(1662),
    [sym_infix_expression] = STATE(1662),
    [sym_nil_coalescing_expression] = STATE(1662),
    [sym_check_expression] = STATE(1662),
    [sym_comparison_expression] = STATE(1662),
    [sym_equality_expression] = STATE(1662),
    [sym_conjunction_expression] = STATE(1662),
    [sym_disjunction_expression] = STATE(1662),
    [sym_bitwise_operation] = STATE(1662),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1662),
    [sym_await_expression] = STATE(1662),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1662),
    [sym_call_expression] = STATE(1662),
    [sym_macro_invocation] = STATE(1662),
    [sym__primary_expression] = STATE(1662),
    [sym_tuple_expression] = STATE(1662),
    [sym_array_literal] = STATE(1662),
    [sym_dictionary_literal] = STATE(1662),
    [sym_special_literal] = STATE(1662),
    [sym_playground_literal] = STATE(1662),
    [sym_lambda_literal] = STATE(1662),
    [sym_self_expression] = STATE(1662),
    [sym_super_expression] = STATE(1662),
    [sym_if_statement] = STATE(1662),
    [sym__if_condition_sequence_item] = STATE(7147),
    [sym__if_let_binding] = STATE(8586),
    [sym_switch_statement] = STATE(1662),
    [sym_key_path_expression] = STATE(1662),
    [sym_key_path_string_expression] = STATE(1662),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1662),
    [sym__equality_operator] = STATE(1662),
    [sym__comparison_operator] = STATE(1662),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1662),
    [sym__multiplicative_operator] = STATE(1662),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1662),
    [sym_value_parameter_pack] = STATE(1662),
    [sym_value_pack_expansion] = STATE(1662),
    [sym_availability_condition] = STATE(7147),
    [sym__referenceable_operator] = STATE(1662),
    [sym__equal_sign] = STATE(1662),
    [sym__eq_eq] = STATE(1662),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4798),
    [sym_bang] = STATE(1169),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6656),
    [sym_value_binding_pattern] = STATE(4803),
    [sym__possibly_async_binding_pattern_kind] = STATE(4803),
    [sym__binding_kind_and_pattern] = STATE(6648),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1662),
    [sym_diagnostic] = STATE(1662),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(657),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(457),
    [sym_real_literal] = ACTIONS(459),
    [sym_integer_literal] = ACTIONS(457),
    [sym_hex_literal] = ACTIONS(457),
    [sym_oct_literal] = ACTIONS(459),
    [sym_bin_literal] = ACTIONS(459),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(457),
    [anon_sym_GT] = ACTIONS(457),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(835),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(459),
    [anon_sym_DASH_EQ] = ACTIONS(459),
    [anon_sym_STAR_EQ] = ACTIONS(459),
    [anon_sym_SLASH_EQ] = ACTIONS(459),
    [anon_sym_PERCENT_EQ] = ACTIONS(459),
    [anon_sym_BANG_EQ] = ACTIONS(457),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(459),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(459),
    [anon_sym_LT_EQ] = ACTIONS(459),
    [anon_sym_GT_EQ] = ACTIONS(459),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(457),
    [anon_sym_SLASH] = ACTIONS(457),
    [anon_sym_PERCENT] = ACTIONS(457),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(459),
    [anon_sym_CARET] = ACTIONS(457),
    [anon_sym_LT_LT] = ACTIONS(459),
    [anon_sym_GT_GT] = ACTIONS(459),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(459),
    [sym__eq_eq_custom] = ACTIONS(459),
    [sym__plus_then_ws] = ACTIONS(459),
    [sym__minus_then_ws] = ACTIONS(459),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(487),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [216] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1467),
    [sym_boolean_literal] = STATE(1467),
    [sym__string_literal] = STATE(1467),
    [sym_line_string_literal] = STATE(1467),
    [sym_multi_line_string_literal] = STATE(1467),
    [sym_raw_string_literal] = STATE(1467),
    [sym_regex_literal] = STATE(1467),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1467),
    [sym__unary_expression] = STATE(1467),
    [sym_postfix_expression] = STATE(1467),
    [sym_constructor_expression] = STATE(1467),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1467),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1467),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1467),
    [sym_prefix_expression] = STATE(1467),
    [sym_as_expression] = STATE(1467),
    [sym_selector_expression] = STATE(1467),
    [sym__binary_expression] = STATE(1467),
    [sym_multiplicative_expression] = STATE(1467),
    [sym_additive_expression] = STATE(1467),
    [sym_range_expression] = STATE(1467),
    [sym_infix_expression] = STATE(1467),
    [sym_nil_coalescing_expression] = STATE(1467),
    [sym_check_expression] = STATE(1467),
    [sym_comparison_expression] = STATE(1467),
    [sym_equality_expression] = STATE(1467),
    [sym_conjunction_expression] = STATE(1467),
    [sym_disjunction_expression] = STATE(1467),
    [sym_bitwise_operation] = STATE(1467),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1467),
    [sym_await_expression] = STATE(1467),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1467),
    [sym_call_expression] = STATE(1467),
    [sym_macro_invocation] = STATE(1467),
    [sym__primary_expression] = STATE(1467),
    [sym_tuple_expression] = STATE(1467),
    [sym_array_literal] = STATE(1467),
    [sym_dictionary_literal] = STATE(1467),
    [sym_special_literal] = STATE(1467),
    [sym_playground_literal] = STATE(1467),
    [sym_lambda_literal] = STATE(1467),
    [sym_self_expression] = STATE(1467),
    [sym_super_expression] = STATE(1467),
    [sym_if_statement] = STATE(1467),
    [sym__if_condition_sequence_item] = STATE(7002),
    [sym__if_let_binding] = STATE(6938),
    [sym_switch_statement] = STATE(1467),
    [sym_key_path_expression] = STATE(1467),
    [sym_key_path_string_expression] = STATE(1467),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1467),
    [sym__equality_operator] = STATE(1467),
    [sym__comparison_operator] = STATE(1467),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1467),
    [sym__multiplicative_operator] = STATE(1467),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_assignment] = STATE(1467),
    [sym_value_parameter_pack] = STATE(1467),
    [sym_value_pack_expansion] = STATE(1467),
    [sym_availability_condition] = STATE(7002),
    [sym__referenceable_operator] = STATE(1467),
    [sym__equal_sign] = STATE(1467),
    [sym__eq_eq] = STATE(1467),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4828),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6305),
    [sym_value_binding_pattern] = STATE(4819),
    [sym__possibly_async_binding_pattern_kind] = STATE(4819),
    [sym__binding_kind_and_pattern] = STATE(6304),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1467),
    [sym_diagnostic] = STATE(1467),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(11),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(11),
    [anon_sym_repeat] = ACTIONS(925),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(1285),
    [sym_real_literal] = ACTIONS(1287),
    [sym_integer_literal] = ACTIONS(1285),
    [sym_hex_literal] = ACTIONS(1285),
    [sym_oct_literal] = ACTIONS(1287),
    [sym_bin_literal] = ACTIONS(1287),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(1285),
    [anon_sym_GT] = ACTIONS(1285),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_case] = ACTIONS(1289),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1287),
    [anon_sym_DASH_EQ] = ACTIONS(1287),
    [anon_sym_STAR_EQ] = ACTIONS(1287),
    [anon_sym_SLASH_EQ] = ACTIONS(1287),
    [anon_sym_PERCENT_EQ] = ACTIONS(1287),
    [anon_sym_BANG_EQ] = ACTIONS(1285),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1287),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1287),
    [anon_sym_LT_EQ] = ACTIONS(1287),
    [anon_sym_GT_EQ] = ACTIONS(1287),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(1285),
    [anon_sym_SLASH] = ACTIONS(1285),
    [anon_sym_PERCENT] = ACTIONS(1285),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(1287),
    [anon_sym_CARET] = ACTIONS(1285),
    [anon_sym_LT_LT] = ACTIONS(1287),
    [anon_sym_GT_GT] = ACTIONS(1287),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(1287),
    [sym__eq_eq_custom] = ACTIONS(1287),
    [sym__plus_then_ws] = ACTIONS(1287),
    [sym__minus_then_ws] = ACTIONS(1287),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(1291),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [217] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1662),
    [sym_boolean_literal] = STATE(1662),
    [sym__string_literal] = STATE(1662),
    [sym_line_string_literal] = STATE(1662),
    [sym_multi_line_string_literal] = STATE(1662),
    [sym_raw_string_literal] = STATE(1662),
    [sym_regex_literal] = STATE(1662),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1662),
    [sym__unary_expression] = STATE(1662),
    [sym_postfix_expression] = STATE(1662),
    [sym_constructor_expression] = STATE(1662),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1662),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1662),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1662),
    [sym_prefix_expression] = STATE(1662),
    [sym_as_expression] = STATE(1662),
    [sym_selector_expression] = STATE(1662),
    [sym__binary_expression] = STATE(1662),
    [sym_multiplicative_expression] = STATE(1662),
    [sym_additive_expression] = STATE(1662),
    [sym_range_expression] = STATE(1662),
    [sym_infix_expression] = STATE(1662),
    [sym_nil_coalescing_expression] = STATE(1662),
    [sym_check_expression] = STATE(1662),
    [sym_comparison_expression] = STATE(1662),
    [sym_equality_expression] = STATE(1662),
    [sym_conjunction_expression] = STATE(1662),
    [sym_disjunction_expression] = STATE(1662),
    [sym_bitwise_operation] = STATE(1662),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1662),
    [sym_await_expression] = STATE(1662),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1662),
    [sym_call_expression] = STATE(1662),
    [sym_macro_invocation] = STATE(1662),
    [sym__primary_expression] = STATE(1662),
    [sym_tuple_expression] = STATE(1662),
    [sym_array_literal] = STATE(1662),
    [sym_dictionary_literal] = STATE(1662),
    [sym_special_literal] = STATE(1662),
    [sym_playground_literal] = STATE(1662),
    [sym_lambda_literal] = STATE(1662),
    [sym_self_expression] = STATE(1662),
    [sym_super_expression] = STATE(1662),
    [sym_if_statement] = STATE(1662),
    [sym__if_condition_sequence_item] = STATE(7145),
    [sym__if_let_binding] = STATE(8586),
    [sym_switch_statement] = STATE(1662),
    [sym_key_path_expression] = STATE(1662),
    [sym_key_path_string_expression] = STATE(1662),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1662),
    [sym__equality_operator] = STATE(1662),
    [sym__comparison_operator] = STATE(1662),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1662),
    [sym__multiplicative_operator] = STATE(1662),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1662),
    [sym_value_parameter_pack] = STATE(1662),
    [sym_value_pack_expansion] = STATE(1662),
    [sym_availability_condition] = STATE(7145),
    [sym__referenceable_operator] = STATE(1662),
    [sym__equal_sign] = STATE(1662),
    [sym__eq_eq] = STATE(1662),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4798),
    [sym_bang] = STATE(1169),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6656),
    [sym_value_binding_pattern] = STATE(4803),
    [sym__possibly_async_binding_pattern_kind] = STATE(4803),
    [sym__binding_kind_and_pattern] = STATE(6648),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1662),
    [sym_diagnostic] = STATE(1662),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(657),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(457),
    [sym_real_literal] = ACTIONS(459),
    [sym_integer_literal] = ACTIONS(457),
    [sym_hex_literal] = ACTIONS(457),
    [sym_oct_literal] = ACTIONS(459),
    [sym_bin_literal] = ACTIONS(459),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(457),
    [anon_sym_GT] = ACTIONS(457),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(835),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(459),
    [anon_sym_DASH_EQ] = ACTIONS(459),
    [anon_sym_STAR_EQ] = ACTIONS(459),
    [anon_sym_SLASH_EQ] = ACTIONS(459),
    [anon_sym_PERCENT_EQ] = ACTIONS(459),
    [anon_sym_BANG_EQ] = ACTIONS(457),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(459),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(459),
    [anon_sym_LT_EQ] = ACTIONS(459),
    [anon_sym_GT_EQ] = ACTIONS(459),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(457),
    [anon_sym_SLASH] = ACTIONS(457),
    [anon_sym_PERCENT] = ACTIONS(457),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(459),
    [anon_sym_CARET] = ACTIONS(457),
    [anon_sym_LT_LT] = ACTIONS(459),
    [anon_sym_GT_GT] = ACTIONS(459),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(459),
    [sym__eq_eq_custom] = ACTIONS(459),
    [sym__plus_then_ws] = ACTIONS(459),
    [sym__minus_then_ws] = ACTIONS(459),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(487),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [218] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(797),
    [sym_boolean_literal] = STATE(797),
    [sym__string_literal] = STATE(797),
    [sym_line_string_literal] = STATE(797),
    [sym_multi_line_string_literal] = STATE(797),
    [sym_raw_string_literal] = STATE(797),
    [sym_regex_literal] = STATE(797),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(797),
    [sym__unary_expression] = STATE(797),
    [sym_postfix_expression] = STATE(797),
    [sym_constructor_expression] = STATE(797),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(797),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(797),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(797),
    [sym_prefix_expression] = STATE(797),
    [sym_as_expression] = STATE(797),
    [sym_selector_expression] = STATE(797),
    [sym__binary_expression] = STATE(797),
    [sym_multiplicative_expression] = STATE(797),
    [sym_additive_expression] = STATE(797),
    [sym_range_expression] = STATE(797),
    [sym_infix_expression] = STATE(797),
    [sym_nil_coalescing_expression] = STATE(797),
    [sym_check_expression] = STATE(797),
    [sym_comparison_expression] = STATE(797),
    [sym_equality_expression] = STATE(797),
    [sym_conjunction_expression] = STATE(797),
    [sym_disjunction_expression] = STATE(797),
    [sym_bitwise_operation] = STATE(797),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(797),
    [sym_await_expression] = STATE(797),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(797),
    [sym_call_expression] = STATE(797),
    [sym_macro_invocation] = STATE(797),
    [sym__primary_expression] = STATE(797),
    [sym_tuple_expression] = STATE(797),
    [sym_array_literal] = STATE(797),
    [sym_dictionary_literal] = STATE(797),
    [sym_special_literal] = STATE(797),
    [sym_playground_literal] = STATE(797),
    [sym_lambda_literal] = STATE(797),
    [sym_self_expression] = STATE(797),
    [sym_super_expression] = STATE(797),
    [sym_if_statement] = STATE(797),
    [sym__if_condition_sequence_item] = STATE(4514),
    [sym__if_let_binding] = STATE(4511),
    [sym_switch_statement] = STATE(797),
    [sym_key_path_expression] = STATE(797),
    [sym_key_path_string_expression] = STATE(797),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(797),
    [sym__equality_operator] = STATE(797),
    [sym__comparison_operator] = STATE(797),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(797),
    [sym__multiplicative_operator] = STATE(797),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_assignment] = STATE(797),
    [sym_value_parameter_pack] = STATE(797),
    [sym_value_pack_expansion] = STATE(797),
    [sym_availability_condition] = STATE(4514),
    [sym__referenceable_operator] = STATE(797),
    [sym__equal_sign] = STATE(797),
    [sym__eq_eq] = STATE(797),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4796),
    [sym_bang] = STATE(770),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(3869),
    [sym_value_binding_pattern] = STATE(4815),
    [sym__possibly_async_binding_pattern_kind] = STATE(4815),
    [sym__binding_kind_and_pattern] = STATE(3868),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(797),
    [sym_diagnostic] = STATE(797),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(289),
    [anon_sym_async] = ACTIONS(295),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(289),
    [anon_sym_repeat] = ACTIONS(733),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(1359),
    [sym_real_literal] = ACTIONS(1361),
    [sym_integer_literal] = ACTIONS(1359),
    [sym_hex_literal] = ACTIONS(1359),
    [sym_oct_literal] = ACTIONS(1361),
    [sym_bin_literal] = ACTIONS(1361),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(1359),
    [anon_sym_GT] = ACTIONS(1359),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_case] = ACTIONS(1363),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1361),
    [anon_sym_DASH_EQ] = ACTIONS(1361),
    [anon_sym_STAR_EQ] = ACTIONS(1361),
    [anon_sym_SLASH_EQ] = ACTIONS(1361),
    [anon_sym_PERCENT_EQ] = ACTIONS(1361),
    [anon_sym_BANG_EQ] = ACTIONS(1359),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1361),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1361),
    [anon_sym_LT_EQ] = ACTIONS(1361),
    [anon_sym_GT_EQ] = ACTIONS(1361),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(1359),
    [anon_sym_SLASH] = ACTIONS(1359),
    [anon_sym_PERCENT] = ACTIONS(1359),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(1361),
    [anon_sym_CARET] = ACTIONS(1359),
    [anon_sym_LT_LT] = ACTIONS(1361),
    [anon_sym_GT_GT] = ACTIONS(1361),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(1361),
    [sym__eq_eq_custom] = ACTIONS(1361),
    [sym__plus_then_ws] = ACTIONS(1361),
    [sym__minus_then_ws] = ACTIONS(1361),
    [sym__bang_custom] = ACTIONS(373),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(1365),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [219] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1662),
    [sym_boolean_literal] = STATE(1662),
    [sym__string_literal] = STATE(1662),
    [sym_line_string_literal] = STATE(1662),
    [sym_multi_line_string_literal] = STATE(1662),
    [sym_raw_string_literal] = STATE(1662),
    [sym_regex_literal] = STATE(1662),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1662),
    [sym__unary_expression] = STATE(1662),
    [sym_postfix_expression] = STATE(1662),
    [sym_constructor_expression] = STATE(1662),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1662),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1662),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1662),
    [sym_prefix_expression] = STATE(1662),
    [sym_as_expression] = STATE(1662),
    [sym_selector_expression] = STATE(1662),
    [sym__binary_expression] = STATE(1662),
    [sym_multiplicative_expression] = STATE(1662),
    [sym_additive_expression] = STATE(1662),
    [sym_range_expression] = STATE(1662),
    [sym_infix_expression] = STATE(1662),
    [sym_nil_coalescing_expression] = STATE(1662),
    [sym_check_expression] = STATE(1662),
    [sym_comparison_expression] = STATE(1662),
    [sym_equality_expression] = STATE(1662),
    [sym_conjunction_expression] = STATE(1662),
    [sym_disjunction_expression] = STATE(1662),
    [sym_bitwise_operation] = STATE(1662),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1662),
    [sym_await_expression] = STATE(1662),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1662),
    [sym_call_expression] = STATE(1662),
    [sym_macro_invocation] = STATE(1662),
    [sym__primary_expression] = STATE(1662),
    [sym_tuple_expression] = STATE(1662),
    [sym_array_literal] = STATE(1662),
    [sym_dictionary_literal] = STATE(1662),
    [sym_special_literal] = STATE(1662),
    [sym_playground_literal] = STATE(1662),
    [sym_lambda_literal] = STATE(1662),
    [sym_self_expression] = STATE(1662),
    [sym_super_expression] = STATE(1662),
    [sym_if_statement] = STATE(1662),
    [sym__if_condition_sequence_item] = STATE(7333),
    [sym__if_let_binding] = STATE(8586),
    [sym_switch_statement] = STATE(1662),
    [sym_key_path_expression] = STATE(1662),
    [sym_key_path_string_expression] = STATE(1662),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1662),
    [sym__equality_operator] = STATE(1662),
    [sym__comparison_operator] = STATE(1662),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1662),
    [sym__multiplicative_operator] = STATE(1662),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1662),
    [sym_value_parameter_pack] = STATE(1662),
    [sym_value_pack_expansion] = STATE(1662),
    [sym_availability_condition] = STATE(7333),
    [sym__referenceable_operator] = STATE(1662),
    [sym__equal_sign] = STATE(1662),
    [sym__eq_eq] = STATE(1662),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4798),
    [sym_bang] = STATE(1169),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6656),
    [sym_value_binding_pattern] = STATE(4803),
    [sym__possibly_async_binding_pattern_kind] = STATE(4803),
    [sym__binding_kind_and_pattern] = STATE(6648),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1662),
    [sym_diagnostic] = STATE(1662),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(657),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(457),
    [sym_real_literal] = ACTIONS(459),
    [sym_integer_literal] = ACTIONS(457),
    [sym_hex_literal] = ACTIONS(457),
    [sym_oct_literal] = ACTIONS(459),
    [sym_bin_literal] = ACTIONS(459),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(457),
    [anon_sym_GT] = ACTIONS(457),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(835),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(459),
    [anon_sym_DASH_EQ] = ACTIONS(459),
    [anon_sym_STAR_EQ] = ACTIONS(459),
    [anon_sym_SLASH_EQ] = ACTIONS(459),
    [anon_sym_PERCENT_EQ] = ACTIONS(459),
    [anon_sym_BANG_EQ] = ACTIONS(457),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(459),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(459),
    [anon_sym_LT_EQ] = ACTIONS(459),
    [anon_sym_GT_EQ] = ACTIONS(459),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(457),
    [anon_sym_SLASH] = ACTIONS(457),
    [anon_sym_PERCENT] = ACTIONS(457),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(459),
    [anon_sym_CARET] = ACTIONS(457),
    [anon_sym_LT_LT] = ACTIONS(459),
    [anon_sym_GT_GT] = ACTIONS(459),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(459),
    [sym__eq_eq_custom] = ACTIONS(459),
    [sym__plus_then_ws] = ACTIONS(459),
    [sym__minus_then_ws] = ACTIONS(459),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(487),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [220] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(797),
    [sym_boolean_literal] = STATE(797),
    [sym__string_literal] = STATE(797),
    [sym_line_string_literal] = STATE(797),
    [sym_multi_line_string_literal] = STATE(797),
    [sym_raw_string_literal] = STATE(797),
    [sym_regex_literal] = STATE(797),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(797),
    [sym__unary_expression] = STATE(797),
    [sym_postfix_expression] = STATE(797),
    [sym_constructor_expression] = STATE(797),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(797),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(797),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(797),
    [sym_prefix_expression] = STATE(797),
    [sym_as_expression] = STATE(797),
    [sym_selector_expression] = STATE(797),
    [sym__binary_expression] = STATE(797),
    [sym_multiplicative_expression] = STATE(797),
    [sym_additive_expression] = STATE(797),
    [sym_range_expression] = STATE(797),
    [sym_infix_expression] = STATE(797),
    [sym_nil_coalescing_expression] = STATE(797),
    [sym_check_expression] = STATE(797),
    [sym_comparison_expression] = STATE(797),
    [sym_equality_expression] = STATE(797),
    [sym_conjunction_expression] = STATE(797),
    [sym_disjunction_expression] = STATE(797),
    [sym_bitwise_operation] = STATE(797),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(797),
    [sym_await_expression] = STATE(797),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(797),
    [sym_call_expression] = STATE(797),
    [sym_macro_invocation] = STATE(797),
    [sym__primary_expression] = STATE(797),
    [sym_tuple_expression] = STATE(797),
    [sym_array_literal] = STATE(797),
    [sym_dictionary_literal] = STATE(797),
    [sym_special_literal] = STATE(797),
    [sym_playground_literal] = STATE(797),
    [sym_lambda_literal] = STATE(797),
    [sym_self_expression] = STATE(797),
    [sym_super_expression] = STATE(797),
    [sym_if_statement] = STATE(797),
    [sym__if_condition_sequence_item] = STATE(4486),
    [sym__if_let_binding] = STATE(4511),
    [sym_switch_statement] = STATE(797),
    [sym_key_path_expression] = STATE(797),
    [sym_key_path_string_expression] = STATE(797),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(797),
    [sym__equality_operator] = STATE(797),
    [sym__comparison_operator] = STATE(797),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(797),
    [sym__multiplicative_operator] = STATE(797),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_assignment] = STATE(797),
    [sym_value_parameter_pack] = STATE(797),
    [sym_value_pack_expansion] = STATE(797),
    [sym_availability_condition] = STATE(4486),
    [sym__referenceable_operator] = STATE(797),
    [sym__equal_sign] = STATE(797),
    [sym__eq_eq] = STATE(797),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4796),
    [sym_bang] = STATE(770),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(3869),
    [sym_value_binding_pattern] = STATE(4815),
    [sym__possibly_async_binding_pattern_kind] = STATE(4815),
    [sym__binding_kind_and_pattern] = STATE(3868),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(797),
    [sym_diagnostic] = STATE(797),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(289),
    [anon_sym_async] = ACTIONS(295),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(289),
    [anon_sym_repeat] = ACTIONS(733),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(1359),
    [sym_real_literal] = ACTIONS(1361),
    [sym_integer_literal] = ACTIONS(1359),
    [sym_hex_literal] = ACTIONS(1359),
    [sym_oct_literal] = ACTIONS(1361),
    [sym_bin_literal] = ACTIONS(1361),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(1359),
    [anon_sym_GT] = ACTIONS(1359),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_case] = ACTIONS(1363),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1361),
    [anon_sym_DASH_EQ] = ACTIONS(1361),
    [anon_sym_STAR_EQ] = ACTIONS(1361),
    [anon_sym_SLASH_EQ] = ACTIONS(1361),
    [anon_sym_PERCENT_EQ] = ACTIONS(1361),
    [anon_sym_BANG_EQ] = ACTIONS(1359),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1361),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1361),
    [anon_sym_LT_EQ] = ACTIONS(1361),
    [anon_sym_GT_EQ] = ACTIONS(1361),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(1359),
    [anon_sym_SLASH] = ACTIONS(1359),
    [anon_sym_PERCENT] = ACTIONS(1359),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(1361),
    [anon_sym_CARET] = ACTIONS(1359),
    [anon_sym_LT_LT] = ACTIONS(1361),
    [anon_sym_GT_GT] = ACTIONS(1361),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(1361),
    [sym__eq_eq_custom] = ACTIONS(1361),
    [sym__plus_then_ws] = ACTIONS(1361),
    [sym__minus_then_ws] = ACTIONS(1361),
    [sym__bang_custom] = ACTIONS(373),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(1365),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [221] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1662),
    [sym_boolean_literal] = STATE(1662),
    [sym__string_literal] = STATE(1662),
    [sym_line_string_literal] = STATE(1662),
    [sym_multi_line_string_literal] = STATE(1662),
    [sym_raw_string_literal] = STATE(1662),
    [sym_regex_literal] = STATE(1662),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1662),
    [sym__unary_expression] = STATE(1662),
    [sym_postfix_expression] = STATE(1662),
    [sym_constructor_expression] = STATE(1662),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1662),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1662),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1662),
    [sym_prefix_expression] = STATE(1662),
    [sym_as_expression] = STATE(1662),
    [sym_selector_expression] = STATE(1662),
    [sym__binary_expression] = STATE(1662),
    [sym_multiplicative_expression] = STATE(1662),
    [sym_additive_expression] = STATE(1662),
    [sym_range_expression] = STATE(1662),
    [sym_infix_expression] = STATE(1662),
    [sym_nil_coalescing_expression] = STATE(1662),
    [sym_check_expression] = STATE(1662),
    [sym_comparison_expression] = STATE(1662),
    [sym_equality_expression] = STATE(1662),
    [sym_conjunction_expression] = STATE(1662),
    [sym_disjunction_expression] = STATE(1662),
    [sym_bitwise_operation] = STATE(1662),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1662),
    [sym_await_expression] = STATE(1662),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1662),
    [sym_call_expression] = STATE(1662),
    [sym_macro_invocation] = STATE(1662),
    [sym__primary_expression] = STATE(1662),
    [sym_tuple_expression] = STATE(1662),
    [sym_array_literal] = STATE(1662),
    [sym_dictionary_literal] = STATE(1662),
    [sym_special_literal] = STATE(1662),
    [sym_playground_literal] = STATE(1662),
    [sym_lambda_literal] = STATE(1662),
    [sym_self_expression] = STATE(1662),
    [sym_super_expression] = STATE(1662),
    [sym_if_statement] = STATE(1662),
    [sym__if_condition_sequence_item] = STATE(7280),
    [sym__if_let_binding] = STATE(8586),
    [sym_switch_statement] = STATE(1662),
    [sym_key_path_expression] = STATE(1662),
    [sym_key_path_string_expression] = STATE(1662),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1662),
    [sym__equality_operator] = STATE(1662),
    [sym__comparison_operator] = STATE(1662),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1662),
    [sym__multiplicative_operator] = STATE(1662),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1662),
    [sym_value_parameter_pack] = STATE(1662),
    [sym_value_pack_expansion] = STATE(1662),
    [sym_availability_condition] = STATE(7280),
    [sym__referenceable_operator] = STATE(1662),
    [sym__equal_sign] = STATE(1662),
    [sym__eq_eq] = STATE(1662),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4798),
    [sym_bang] = STATE(1169),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6656),
    [sym_value_binding_pattern] = STATE(4803),
    [sym__possibly_async_binding_pattern_kind] = STATE(4803),
    [sym__binding_kind_and_pattern] = STATE(6648),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1662),
    [sym_diagnostic] = STATE(1662),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(657),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(457),
    [sym_real_literal] = ACTIONS(459),
    [sym_integer_literal] = ACTIONS(457),
    [sym_hex_literal] = ACTIONS(457),
    [sym_oct_literal] = ACTIONS(459),
    [sym_bin_literal] = ACTIONS(459),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(457),
    [anon_sym_GT] = ACTIONS(457),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(835),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(459),
    [anon_sym_DASH_EQ] = ACTIONS(459),
    [anon_sym_STAR_EQ] = ACTIONS(459),
    [anon_sym_SLASH_EQ] = ACTIONS(459),
    [anon_sym_PERCENT_EQ] = ACTIONS(459),
    [anon_sym_BANG_EQ] = ACTIONS(457),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(459),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(459),
    [anon_sym_LT_EQ] = ACTIONS(459),
    [anon_sym_GT_EQ] = ACTIONS(459),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(457),
    [anon_sym_SLASH] = ACTIONS(457),
    [anon_sym_PERCENT] = ACTIONS(457),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(459),
    [anon_sym_CARET] = ACTIONS(457),
    [anon_sym_LT_LT] = ACTIONS(459),
    [anon_sym_GT_GT] = ACTIONS(459),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(459),
    [sym__eq_eq_custom] = ACTIONS(459),
    [sym__plus_then_ws] = ACTIONS(459),
    [sym__minus_then_ws] = ACTIONS(459),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(487),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [222] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1662),
    [sym_boolean_literal] = STATE(1662),
    [sym__string_literal] = STATE(1662),
    [sym_line_string_literal] = STATE(1662),
    [sym_multi_line_string_literal] = STATE(1662),
    [sym_raw_string_literal] = STATE(1662),
    [sym_regex_literal] = STATE(1662),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1662),
    [sym__unary_expression] = STATE(1662),
    [sym_postfix_expression] = STATE(1662),
    [sym_constructor_expression] = STATE(1662),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1662),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1662),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1662),
    [sym_prefix_expression] = STATE(1662),
    [sym_as_expression] = STATE(1662),
    [sym_selector_expression] = STATE(1662),
    [sym__binary_expression] = STATE(1662),
    [sym_multiplicative_expression] = STATE(1662),
    [sym_additive_expression] = STATE(1662),
    [sym_range_expression] = STATE(1662),
    [sym_infix_expression] = STATE(1662),
    [sym_nil_coalescing_expression] = STATE(1662),
    [sym_check_expression] = STATE(1662),
    [sym_comparison_expression] = STATE(1662),
    [sym_equality_expression] = STATE(1662),
    [sym_conjunction_expression] = STATE(1662),
    [sym_disjunction_expression] = STATE(1662),
    [sym_bitwise_operation] = STATE(1662),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1662),
    [sym_await_expression] = STATE(1662),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1662),
    [sym_call_expression] = STATE(1662),
    [sym_macro_invocation] = STATE(1662),
    [sym__primary_expression] = STATE(1662),
    [sym_tuple_expression] = STATE(1662),
    [sym_array_literal] = STATE(1662),
    [sym_dictionary_literal] = STATE(1662),
    [sym_special_literal] = STATE(1662),
    [sym_playground_literal] = STATE(1662),
    [sym_lambda_literal] = STATE(1662),
    [sym_self_expression] = STATE(1662),
    [sym_super_expression] = STATE(1662),
    [sym_if_statement] = STATE(1662),
    [sym__if_condition_sequence_item] = STATE(7278),
    [sym__if_let_binding] = STATE(8586),
    [sym_switch_statement] = STATE(1662),
    [sym_key_path_expression] = STATE(1662),
    [sym_key_path_string_expression] = STATE(1662),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1662),
    [sym__equality_operator] = STATE(1662),
    [sym__comparison_operator] = STATE(1662),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1662),
    [sym__multiplicative_operator] = STATE(1662),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1662),
    [sym_value_parameter_pack] = STATE(1662),
    [sym_value_pack_expansion] = STATE(1662),
    [sym_availability_condition] = STATE(7278),
    [sym__referenceable_operator] = STATE(1662),
    [sym__equal_sign] = STATE(1662),
    [sym__eq_eq] = STATE(1662),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4798),
    [sym_bang] = STATE(1169),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6656),
    [sym_value_binding_pattern] = STATE(4803),
    [sym__possibly_async_binding_pattern_kind] = STATE(4803),
    [sym__binding_kind_and_pattern] = STATE(6648),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1662),
    [sym_diagnostic] = STATE(1662),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(657),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(457),
    [sym_real_literal] = ACTIONS(459),
    [sym_integer_literal] = ACTIONS(457),
    [sym_hex_literal] = ACTIONS(457),
    [sym_oct_literal] = ACTIONS(459),
    [sym_bin_literal] = ACTIONS(459),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(457),
    [anon_sym_GT] = ACTIONS(457),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(835),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(459),
    [anon_sym_DASH_EQ] = ACTIONS(459),
    [anon_sym_STAR_EQ] = ACTIONS(459),
    [anon_sym_SLASH_EQ] = ACTIONS(459),
    [anon_sym_PERCENT_EQ] = ACTIONS(459),
    [anon_sym_BANG_EQ] = ACTIONS(457),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(459),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(459),
    [anon_sym_LT_EQ] = ACTIONS(459),
    [anon_sym_GT_EQ] = ACTIONS(459),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(457),
    [anon_sym_SLASH] = ACTIONS(457),
    [anon_sym_PERCENT] = ACTIONS(457),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(459),
    [anon_sym_CARET] = ACTIONS(457),
    [anon_sym_LT_LT] = ACTIONS(459),
    [anon_sym_GT_GT] = ACTIONS(459),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(459),
    [sym__eq_eq_custom] = ACTIONS(459),
    [sym__plus_then_ws] = ACTIONS(459),
    [sym__minus_then_ws] = ACTIONS(459),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(487),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [223] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1467),
    [sym_boolean_literal] = STATE(1467),
    [sym__string_literal] = STATE(1467),
    [sym_line_string_literal] = STATE(1467),
    [sym_multi_line_string_literal] = STATE(1467),
    [sym_raw_string_literal] = STATE(1467),
    [sym_regex_literal] = STATE(1467),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1467),
    [sym__unary_expression] = STATE(1467),
    [sym_postfix_expression] = STATE(1467),
    [sym_constructor_expression] = STATE(1467),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1467),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1467),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1467),
    [sym_prefix_expression] = STATE(1467),
    [sym_as_expression] = STATE(1467),
    [sym_selector_expression] = STATE(1467),
    [sym__binary_expression] = STATE(1467),
    [sym_multiplicative_expression] = STATE(1467),
    [sym_additive_expression] = STATE(1467),
    [sym_range_expression] = STATE(1467),
    [sym_infix_expression] = STATE(1467),
    [sym_nil_coalescing_expression] = STATE(1467),
    [sym_check_expression] = STATE(1467),
    [sym_comparison_expression] = STATE(1467),
    [sym_equality_expression] = STATE(1467),
    [sym_conjunction_expression] = STATE(1467),
    [sym_disjunction_expression] = STATE(1467),
    [sym_bitwise_operation] = STATE(1467),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1467),
    [sym_await_expression] = STATE(1467),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1467),
    [sym_call_expression] = STATE(1467),
    [sym_macro_invocation] = STATE(1467),
    [sym__primary_expression] = STATE(1467),
    [sym_tuple_expression] = STATE(1467),
    [sym_array_literal] = STATE(1467),
    [sym_dictionary_literal] = STATE(1467),
    [sym_special_literal] = STATE(1467),
    [sym_playground_literal] = STATE(1467),
    [sym_lambda_literal] = STATE(1467),
    [sym_self_expression] = STATE(1467),
    [sym_super_expression] = STATE(1467),
    [sym_if_statement] = STATE(1467),
    [sym__if_condition_sequence_item] = STATE(6714),
    [sym__if_let_binding] = STATE(6938),
    [sym_switch_statement] = STATE(1467),
    [sym_key_path_expression] = STATE(1467),
    [sym_key_path_string_expression] = STATE(1467),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1467),
    [sym__equality_operator] = STATE(1467),
    [sym__comparison_operator] = STATE(1467),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1467),
    [sym__multiplicative_operator] = STATE(1467),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_assignment] = STATE(1467),
    [sym_value_parameter_pack] = STATE(1467),
    [sym_value_pack_expansion] = STATE(1467),
    [sym_availability_condition] = STATE(6714),
    [sym__referenceable_operator] = STATE(1467),
    [sym__equal_sign] = STATE(1467),
    [sym__eq_eq] = STATE(1467),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4828),
    [sym_bang] = STATE(1138),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6305),
    [sym_value_binding_pattern] = STATE(4819),
    [sym__possibly_async_binding_pattern_kind] = STATE(4819),
    [sym__binding_kind_and_pattern] = STATE(6304),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1467),
    [sym_diagnostic] = STATE(1467),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(11),
    [anon_sym_async] = ACTIONS(17),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(11),
    [anon_sym_repeat] = ACTIONS(925),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(1285),
    [sym_real_literal] = ACTIONS(1287),
    [sym_integer_literal] = ACTIONS(1285),
    [sym_hex_literal] = ACTIONS(1285),
    [sym_oct_literal] = ACTIONS(1287),
    [sym_bin_literal] = ACTIONS(1287),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(1285),
    [anon_sym_GT] = ACTIONS(1285),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_case] = ACTIONS(1289),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1287),
    [anon_sym_DASH_EQ] = ACTIONS(1287),
    [anon_sym_STAR_EQ] = ACTIONS(1287),
    [anon_sym_SLASH_EQ] = ACTIONS(1287),
    [anon_sym_PERCENT_EQ] = ACTIONS(1287),
    [anon_sym_BANG_EQ] = ACTIONS(1285),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1287),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1287),
    [anon_sym_LT_EQ] = ACTIONS(1287),
    [anon_sym_GT_EQ] = ACTIONS(1287),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(1285),
    [anon_sym_SLASH] = ACTIONS(1285),
    [anon_sym_PERCENT] = ACTIONS(1285),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(1287),
    [anon_sym_CARET] = ACTIONS(1285),
    [anon_sym_LT_LT] = ACTIONS(1287),
    [anon_sym_GT_GT] = ACTIONS(1287),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(1287),
    [sym__eq_eq_custom] = ACTIONS(1287),
    [sym__plus_then_ws] = ACTIONS(1287),
    [sym__minus_then_ws] = ACTIONS(1287),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(1291),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [224] = {
    [sym_simple_identifier] = STATE(3108),
    [sym__contextual_simple_identifier] = STATE(2967),
    [sym__basic_literal] = STATE(1598),
    [sym_boolean_literal] = STATE(1598),
    [sym__string_literal] = STATE(1598),
    [sym_line_string_literal] = STATE(1598),
    [sym_multi_line_string_literal] = STATE(1598),
    [sym_raw_string_literal] = STATE(1598),
    [sym_regex_literal] = STATE(1598),
    [sym__extended_regex_literal] = STATE(3663),
    [sym__multiline_regex_literal] = STATE(3663),
    [sym_user_type] = STATE(6406),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6406),
    [sym_dictionary_type] = STATE(6406),
    [sym__expression] = STATE(1598),
    [sym__unary_expression] = STATE(1598),
    [sym_postfix_expression] = STATE(1598),
    [sym_constructor_expression] = STATE(1598),
    [sym__parenthesized_type] = STATE(7557),
    [sym_navigation_expression] = STATE(1598),
    [sym__navigable_type_expression] = STATE(7558),
    [sym_open_start_range_expression] = STATE(1598),
    [sym__range_operator] = STATE(592),
    [sym_open_end_range_expression] = STATE(1598),
    [sym_prefix_expression] = STATE(1598),
    [sym_as_expression] = STATE(1598),
    [sym_selector_expression] = STATE(1598),
    [sym__binary_expression] = STATE(1598),
    [sym_multiplicative_expression] = STATE(1598),
    [sym_additive_expression] = STATE(1598),
    [sym_range_expression] = STATE(1598),
    [sym_infix_expression] = STATE(1598),
    [sym_nil_coalescing_expression] = STATE(1598),
    [sym_check_expression] = STATE(1598),
    [sym_comparison_expression] = STATE(1598),
    [sym_equality_expression] = STATE(1598),
    [sym_conjunction_expression] = STATE(1598),
    [sym_disjunction_expression] = STATE(1598),
    [sym_bitwise_operation] = STATE(1598),
    [sym_custom_operator] = STATE(1288),
    [sym_try_expression] = STATE(1598),
    [sym_await_expression] = STATE(1598),
    [sym__await_operator] = STATE(595),
    [sym_ternary_expression] = STATE(1598),
    [sym_call_expression] = STATE(1598),
    [sym_macro_invocation] = STATE(1598),
    [sym__primary_expression] = STATE(1598),
    [sym_tuple_expression] = STATE(1598),
    [sym_array_literal] = STATE(1598),
    [sym_dictionary_literal] = STATE(1598),
    [sym_special_literal] = STATE(1598),
    [sym_playground_literal] = STATE(1598),
    [sym_lambda_literal] = STATE(1598),
    [sym_self_expression] = STATE(1598),
    [sym_super_expression] = STATE(1598),
    [sym_if_statement] = STATE(1598),
    [sym__if_condition_sequence_item] = STATE(8542),
    [sym__if_let_binding] = STATE(8622),
    [sym_switch_statement] = STATE(1598),
    [sym_key_path_expression] = STATE(1598),
    [sym_key_path_string_expression] = STATE(1598),
    [sym_try_operator] = STATE(611),
    [sym__assignment_and_operator] = STATE(1598),
    [sym__equality_operator] = STATE(1598),
    [sym__comparison_operator] = STATE(1598),
    [sym__three_dot_operator] = STATE(1257),
    [sym__open_ended_range_operator] = STATE(592),
    [sym__additive_operator] = STATE(1598),
    [sym__multiplicative_operator] = STATE(1598),
    [sym__prefix_unary_operator] = STATE(620),
    [sym_directly_assignable_expression] = STATE(6409),
    [sym_assignment] = STATE(1598),
    [sym_value_parameter_pack] = STATE(1598),
    [sym_value_pack_expansion] = STATE(1598),
    [sym_availability_condition] = STATE(8542),
    [sym__referenceable_operator] = STATE(1598),
    [sym__equal_sign] = STATE(1598),
    [sym__eq_eq] = STATE(1598),
    [sym__dot] = STATE(620),
    [sym__hash_symbol] = STATE(4824),
    [sym_bang] = STATE(1288),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6802),
    [sym_value_binding_pattern] = STATE(4822),
    [sym__possibly_async_binding_pattern_kind] = STATE(4822),
    [sym__binding_kind_and_pattern] = STATE(6778),
    [sym__parameter_ownership_modifier] = STATE(2967),
    [sym_directive] = STATE(1598),
    [sym_diagnostic] = STATE(1598),
    [aux_sym_raw_string_literal_repeat1] = STATE(7564),
    [anon_sym_BANG] = ACTIONS(1293),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1295),
    [aux_sym_simple_identifier_token2] = ACTIONS(1297),
    [aux_sym_simple_identifier_token3] = ACTIONS(1297),
    [aux_sym_simple_identifier_token4] = ACTIONS(1297),
    [anon_sym_actor] = ACTIONS(1295),
    [anon_sym_async] = ACTIONS(1299),
    [anon_sym_each] = ACTIONS(1301),
    [anon_sym_lazy] = ACTIONS(1295),
    [anon_sym_repeat] = ACTIONS(1303),
    [anon_sym_package] = ACTIONS(1295),
    [anon_sym_nil] = ACTIONS(1305),
    [sym_real_literal] = ACTIONS(1307),
    [sym_integer_literal] = ACTIONS(1305),
    [sym_hex_literal] = ACTIONS(1305),
    [sym_oct_literal] = ACTIONS(1307),
    [sym_bin_literal] = ACTIONS(1307),
    [anon_sym_true] = ACTIONS(1309),
    [anon_sym_false] = ACTIONS(1309),
    [anon_sym_DQUOTE] = ACTIONS(1311),
    [anon_sym_BSLASH] = ACTIONS(1313),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1315),
    [sym__oneline_regex_literal] = ACTIONS(1317),
    [anon_sym_LPAREN] = ACTIONS(1319),
    [anon_sym_LBRACK] = ACTIONS(1321),
    [anon_sym_AMP] = ACTIONS(1323),
    [anon_sym_TILDE] = ACTIONS(1323),
    [anon_sym_if] = ACTIONS(1325),
    [anon_sym_switch] = ACTIONS(1327),
    [aux_sym_custom_operator_token1] = ACTIONS(1329),
    [anon_sym_LT] = ACTIONS(1305),
    [anon_sym_GT] = ACTIONS(1305),
    [anon_sym_await] = ACTIONS(1331),
    [anon_sym_LBRACE] = ACTIONS(1333),
    [anon_sym_CARET_LBRACE] = ACTIONS(1333),
    [anon_sym_self] = ACTIONS(1335),
    [anon_sym_super] = ACTIONS(1337),
    [anon_sym_case] = ACTIONS(1339),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1307),
    [anon_sym_DASH_EQ] = ACTIONS(1307),
    [anon_sym_STAR_EQ] = ACTIONS(1307),
    [anon_sym_SLASH_EQ] = ACTIONS(1307),
    [anon_sym_PERCENT_EQ] = ACTIONS(1307),
    [anon_sym_BANG_EQ] = ACTIONS(1305),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1307),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1307),
    [anon_sym_LT_EQ] = ACTIONS(1307),
    [anon_sym_GT_EQ] = ACTIONS(1307),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1341),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1343),
    [anon_sym_PLUS] = ACTIONS(1345),
    [anon_sym_DASH] = ACTIONS(1345),
    [anon_sym_STAR] = ACTIONS(1305),
    [anon_sym_SLASH] = ACTIONS(1305),
    [anon_sym_PERCENT] = ACTIONS(1305),
    [anon_sym_PLUS_PLUS] = ACTIONS(1323),
    [anon_sym_DASH_DASH] = ACTIONS(1323),
    [anon_sym_PIPE] = ACTIONS(1307),
    [anon_sym_CARET] = ACTIONS(1305),
    [anon_sym_LT_LT] = ACTIONS(1307),
    [anon_sym_GT_GT] = ACTIONS(1307),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(1295),
    [anon_sym_consuming] = ACTIONS(1295),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1347),
    [sym__dot_custom] = ACTIONS(1349),
    [sym__eq_custom] = ACTIONS(1307),
    [sym__eq_eq_custom] = ACTIONS(1307),
    [sym__plus_then_ws] = ACTIONS(1307),
    [sym__minus_then_ws] = ACTIONS(1307),
    [sym__bang_custom] = ACTIONS(1351),
    [sym__custom_operator] = ACTIONS(1329),
    [sym__hash_symbol_custom] = ACTIONS(1353),
    [sym__directive_if] = ACTIONS(1355),
    [sym__directive_elseif] = ACTIONS(1355),
    [sym__directive_else] = ACTIONS(1357),
    [sym__directive_endif] = ACTIONS(1357),
  },
  [225] = {
    [sym_simple_identifier] = STATE(3108),
    [sym__contextual_simple_identifier] = STATE(2967),
    [sym__basic_literal] = STATE(1609),
    [sym_boolean_literal] = STATE(1609),
    [sym__string_literal] = STATE(1609),
    [sym_line_string_literal] = STATE(1609),
    [sym_multi_line_string_literal] = STATE(1609),
    [sym_raw_string_literal] = STATE(1609),
    [sym_regex_literal] = STATE(1609),
    [sym__extended_regex_literal] = STATE(3663),
    [sym__multiline_regex_literal] = STATE(3663),
    [sym_user_type] = STATE(6406),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6406),
    [sym_dictionary_type] = STATE(6406),
    [sym__expression] = STATE(1609),
    [sym__unary_expression] = STATE(1609),
    [sym_postfix_expression] = STATE(1609),
    [sym_constructor_expression] = STATE(1609),
    [sym__parenthesized_type] = STATE(7557),
    [sym_navigation_expression] = STATE(1609),
    [sym__navigable_type_expression] = STATE(7558),
    [sym_open_start_range_expression] = STATE(1609),
    [sym__range_operator] = STATE(592),
    [sym_open_end_range_expression] = STATE(1609),
    [sym_prefix_expression] = STATE(1609),
    [sym_as_expression] = STATE(1609),
    [sym_selector_expression] = STATE(1609),
    [sym__binary_expression] = STATE(1609),
    [sym_multiplicative_expression] = STATE(1609),
    [sym_additive_expression] = STATE(1609),
    [sym_range_expression] = STATE(1609),
    [sym_infix_expression] = STATE(1609),
    [sym_nil_coalescing_expression] = STATE(1609),
    [sym_check_expression] = STATE(1609),
    [sym_comparison_expression] = STATE(1609),
    [sym_equality_expression] = STATE(1609),
    [sym_conjunction_expression] = STATE(1609),
    [sym_disjunction_expression] = STATE(1609),
    [sym_bitwise_operation] = STATE(1609),
    [sym_custom_operator] = STATE(1288),
    [sym_try_expression] = STATE(1609),
    [sym_await_expression] = STATE(1609),
    [sym__await_operator] = STATE(595),
    [sym_ternary_expression] = STATE(1609),
    [sym_call_expression] = STATE(1609),
    [sym_macro_invocation] = STATE(1609),
    [sym__primary_expression] = STATE(1609),
    [sym_tuple_expression] = STATE(1609),
    [sym_array_literal] = STATE(1609),
    [sym_dictionary_literal] = STATE(1609),
    [sym_special_literal] = STATE(1609),
    [sym_playground_literal] = STATE(1609),
    [sym_lambda_literal] = STATE(1609),
    [sym_self_expression] = STATE(1609),
    [sym_super_expression] = STATE(1609),
    [sym_if_statement] = STATE(1609),
    [sym_switch_statement] = STATE(1609),
    [sym_key_path_expression] = STATE(1609),
    [sym_key_path_string_expression] = STATE(1609),
    [sym_try_operator] = STATE(611),
    [sym__assignment_and_operator] = STATE(1609),
    [sym__equality_operator] = STATE(1609),
    [sym__comparison_operator] = STATE(1609),
    [sym__three_dot_operator] = STATE(1257),
    [sym__open_ended_range_operator] = STATE(592),
    [sym__additive_operator] = STATE(1609),
    [sym__multiplicative_operator] = STATE(1609),
    [sym__prefix_unary_operator] = STATE(620),
    [sym_directly_assignable_expression] = STATE(6409),
    [sym_assignment] = STATE(1609),
    [sym_value_parameter_pack] = STATE(1609),
    [sym_value_pack_expansion] = STATE(1609),
    [sym__referenceable_operator] = STATE(1609),
    [sym__equal_sign] = STATE(1609),
    [sym__eq_eq] = STATE(1609),
    [sym__dot] = STATE(620),
    [sym__hash_symbol] = STATE(4853),
    [sym_bang] = STATE(1288),
    [sym__parameter_ownership_modifier] = STATE(2967),
    [sym_directive] = STATE(1609),
    [sym_diagnostic] = STATE(1609),
    [aux_sym_raw_string_literal_repeat1] = STATE(7564),
    [anon_sym_BANG] = ACTIONS(1293),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1295),
    [aux_sym_simple_identifier_token2] = ACTIONS(1297),
    [aux_sym_simple_identifier_token3] = ACTIONS(1297),
    [aux_sym_simple_identifier_token4] = ACTIONS(1297),
    [anon_sym_actor] = ACTIONS(1295),
    [anon_sym_async] = ACTIONS(1295),
    [anon_sym_each] = ACTIONS(1301),
    [anon_sym_lazy] = ACTIONS(1295),
    [anon_sym_repeat] = ACTIONS(1303),
    [anon_sym_package] = ACTIONS(1295),
    [anon_sym_nil] = ACTIONS(1367),
    [sym_real_literal] = ACTIONS(1369),
    [sym_integer_literal] = ACTIONS(1367),
    [sym_hex_literal] = ACTIONS(1367),
    [sym_oct_literal] = ACTIONS(1369),
    [sym_bin_literal] = ACTIONS(1369),
    [anon_sym_true] = ACTIONS(1309),
    [anon_sym_false] = ACTIONS(1309),
    [anon_sym_DQUOTE] = ACTIONS(1311),
    [anon_sym_BSLASH] = ACTIONS(1313),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1315),
    [anon_sym_COMMA] = ACTIONS(617),
    [sym__oneline_regex_literal] = ACTIONS(1317),
    [anon_sym_LPAREN] = ACTIONS(1319),
    [anon_sym_LBRACK] = ACTIONS(1321),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(1323),
    [anon_sym_TILDE] = ACTIONS(1323),
    [anon_sym_if] = ACTIONS(1325),
    [anon_sym_switch] = ACTIONS(1327),
    [aux_sym_custom_operator_token1] = ACTIONS(1329),
    [anon_sym_LT] = ACTIONS(1367),
    [anon_sym_GT] = ACTIONS(1367),
    [anon_sym_await] = ACTIONS(1331),
    [anon_sym_LBRACE] = ACTIONS(1333),
    [anon_sym_CARET_LBRACE] = ACTIONS(1333),
    [anon_sym_self] = ACTIONS(1335),
    [anon_sym_super] = ACTIONS(1337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1369),
    [anon_sym_DASH_EQ] = ACTIONS(1369),
    [anon_sym_STAR_EQ] = ACTIONS(1369),
    [anon_sym_SLASH_EQ] = ACTIONS(1369),
    [anon_sym_PERCENT_EQ] = ACTIONS(1369),
    [anon_sym_BANG_EQ] = ACTIONS(1367),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1369),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1369),
    [anon_sym_LT_EQ] = ACTIONS(1369),
    [anon_sym_GT_EQ] = ACTIONS(1369),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1341),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1343),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(1345),
    [anon_sym_DASH] = ACTIONS(1345),
    [anon_sym_STAR] = ACTIONS(1367),
    [anon_sym_SLASH] = ACTIONS(1367),
    [anon_sym_PERCENT] = ACTIONS(1367),
    [anon_sym_PLUS_PLUS] = ACTIONS(1323),
    [anon_sym_DASH_DASH] = ACTIONS(1323),
    [anon_sym_PIPE] = ACTIONS(1369),
    [anon_sym_CARET] = ACTIONS(1367),
    [anon_sym_LT_LT] = ACTIONS(1369),
    [anon_sym_GT_GT] = ACTIONS(1369),
    [anon_sym_borrowing] = ACTIONS(1295),
    [anon_sym_consuming] = ACTIONS(1295),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1347),
    [sym__dot_custom] = ACTIONS(1349),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(1369),
    [sym__eq_eq_custom] = ACTIONS(1369),
    [sym__plus_then_ws] = ACTIONS(1369),
    [sym__minus_then_ws] = ACTIONS(1369),
    [sym__bang_custom] = ACTIONS(1351),
    [sym_else] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(1329),
    [sym__hash_symbol_custom] = ACTIONS(1371),
    [sym__directive_if] = ACTIONS(1355),
    [sym__directive_elseif] = ACTIONS(1355),
    [sym__directive_else] = ACTIONS(1357),
    [sym__directive_endif] = ACTIONS(1357),
  },
  [226] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1662),
    [sym_boolean_literal] = STATE(1662),
    [sym__string_literal] = STATE(1662),
    [sym_line_string_literal] = STATE(1662),
    [sym_multi_line_string_literal] = STATE(1662),
    [sym_raw_string_literal] = STATE(1662),
    [sym_regex_literal] = STATE(1662),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1662),
    [sym__unary_expression] = STATE(1662),
    [sym_postfix_expression] = STATE(1662),
    [sym_constructor_expression] = STATE(1662),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1662),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1662),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1662),
    [sym_prefix_expression] = STATE(1662),
    [sym_as_expression] = STATE(1662),
    [sym_selector_expression] = STATE(1662),
    [sym__binary_expression] = STATE(1662),
    [sym_multiplicative_expression] = STATE(1662),
    [sym_additive_expression] = STATE(1662),
    [sym_range_expression] = STATE(1662),
    [sym_infix_expression] = STATE(1662),
    [sym_nil_coalescing_expression] = STATE(1662),
    [sym_check_expression] = STATE(1662),
    [sym_comparison_expression] = STATE(1662),
    [sym_equality_expression] = STATE(1662),
    [sym_conjunction_expression] = STATE(1662),
    [sym_disjunction_expression] = STATE(1662),
    [sym_bitwise_operation] = STATE(1662),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1662),
    [sym_await_expression] = STATE(1662),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1662),
    [sym_call_expression] = STATE(1662),
    [sym_macro_invocation] = STATE(1662),
    [sym__primary_expression] = STATE(1662),
    [sym_tuple_expression] = STATE(1662),
    [sym_array_literal] = STATE(1662),
    [sym_dictionary_literal] = STATE(1662),
    [sym_special_literal] = STATE(1662),
    [sym_playground_literal] = STATE(1662),
    [sym_lambda_literal] = STATE(1662),
    [sym_self_expression] = STATE(1662),
    [sym_super_expression] = STATE(1662),
    [sym_if_statement] = STATE(1662),
    [sym__if_condition_sequence_item] = STATE(7204),
    [sym__if_let_binding] = STATE(8586),
    [sym_switch_statement] = STATE(1662),
    [sym_key_path_expression] = STATE(1662),
    [sym_key_path_string_expression] = STATE(1662),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1662),
    [sym__equality_operator] = STATE(1662),
    [sym__comparison_operator] = STATE(1662),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1662),
    [sym__multiplicative_operator] = STATE(1662),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1662),
    [sym_value_parameter_pack] = STATE(1662),
    [sym_value_pack_expansion] = STATE(1662),
    [sym_availability_condition] = STATE(7204),
    [sym__referenceable_operator] = STATE(1662),
    [sym__equal_sign] = STATE(1662),
    [sym__eq_eq] = STATE(1662),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4798),
    [sym_bang] = STATE(1169),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6656),
    [sym_value_binding_pattern] = STATE(4803),
    [sym__possibly_async_binding_pattern_kind] = STATE(4803),
    [sym__binding_kind_and_pattern] = STATE(6648),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1662),
    [sym_diagnostic] = STATE(1662),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(657),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(457),
    [sym_real_literal] = ACTIONS(459),
    [sym_integer_literal] = ACTIONS(457),
    [sym_hex_literal] = ACTIONS(457),
    [sym_oct_literal] = ACTIONS(459),
    [sym_bin_literal] = ACTIONS(459),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(457),
    [anon_sym_GT] = ACTIONS(457),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(835),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(459),
    [anon_sym_DASH_EQ] = ACTIONS(459),
    [anon_sym_STAR_EQ] = ACTIONS(459),
    [anon_sym_SLASH_EQ] = ACTIONS(459),
    [anon_sym_PERCENT_EQ] = ACTIONS(459),
    [anon_sym_BANG_EQ] = ACTIONS(457),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(459),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(459),
    [anon_sym_LT_EQ] = ACTIONS(459),
    [anon_sym_GT_EQ] = ACTIONS(459),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(457),
    [anon_sym_SLASH] = ACTIONS(457),
    [anon_sym_PERCENT] = ACTIONS(457),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(459),
    [anon_sym_CARET] = ACTIONS(457),
    [anon_sym_LT_LT] = ACTIONS(459),
    [anon_sym_GT_GT] = ACTIONS(459),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(459),
    [sym__eq_eq_custom] = ACTIONS(459),
    [sym__plus_then_ws] = ACTIONS(459),
    [sym__minus_then_ws] = ACTIONS(459),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(487),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [227] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1662),
    [sym_boolean_literal] = STATE(1662),
    [sym__string_literal] = STATE(1662),
    [sym_line_string_literal] = STATE(1662),
    [sym_multi_line_string_literal] = STATE(1662),
    [sym_raw_string_literal] = STATE(1662),
    [sym_regex_literal] = STATE(1662),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1662),
    [sym__unary_expression] = STATE(1662),
    [sym_postfix_expression] = STATE(1662),
    [sym_constructor_expression] = STATE(1662),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1662),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1662),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1662),
    [sym_prefix_expression] = STATE(1662),
    [sym_as_expression] = STATE(1662),
    [sym_selector_expression] = STATE(1662),
    [sym__binary_expression] = STATE(1662),
    [sym_multiplicative_expression] = STATE(1662),
    [sym_additive_expression] = STATE(1662),
    [sym_range_expression] = STATE(1662),
    [sym_infix_expression] = STATE(1662),
    [sym_nil_coalescing_expression] = STATE(1662),
    [sym_check_expression] = STATE(1662),
    [sym_comparison_expression] = STATE(1662),
    [sym_equality_expression] = STATE(1662),
    [sym_conjunction_expression] = STATE(1662),
    [sym_disjunction_expression] = STATE(1662),
    [sym_bitwise_operation] = STATE(1662),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1662),
    [sym_await_expression] = STATE(1662),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1662),
    [sym_call_expression] = STATE(1662),
    [sym_macro_invocation] = STATE(1662),
    [sym__primary_expression] = STATE(1662),
    [sym_tuple_expression] = STATE(1662),
    [sym_array_literal] = STATE(1662),
    [sym_dictionary_literal] = STATE(1662),
    [sym_special_literal] = STATE(1662),
    [sym_playground_literal] = STATE(1662),
    [sym_lambda_literal] = STATE(1662),
    [sym_self_expression] = STATE(1662),
    [sym_super_expression] = STATE(1662),
    [sym_if_statement] = STATE(1662),
    [sym__if_condition_sequence_item] = STATE(8448),
    [sym__if_let_binding] = STATE(8586),
    [sym_switch_statement] = STATE(1662),
    [sym_key_path_expression] = STATE(1662),
    [sym_key_path_string_expression] = STATE(1662),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1662),
    [sym__equality_operator] = STATE(1662),
    [sym__comparison_operator] = STATE(1662),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1662),
    [sym__multiplicative_operator] = STATE(1662),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1662),
    [sym_value_parameter_pack] = STATE(1662),
    [sym_value_pack_expansion] = STATE(1662),
    [sym_availability_condition] = STATE(8448),
    [sym__referenceable_operator] = STATE(1662),
    [sym__equal_sign] = STATE(1662),
    [sym__eq_eq] = STATE(1662),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4798),
    [sym_bang] = STATE(1169),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6656),
    [sym_value_binding_pattern] = STATE(4803),
    [sym__possibly_async_binding_pattern_kind] = STATE(4803),
    [sym__binding_kind_and_pattern] = STATE(6648),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1662),
    [sym_diagnostic] = STATE(1662),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(657),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(457),
    [sym_real_literal] = ACTIONS(459),
    [sym_integer_literal] = ACTIONS(457),
    [sym_hex_literal] = ACTIONS(457),
    [sym_oct_literal] = ACTIONS(459),
    [sym_bin_literal] = ACTIONS(459),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(457),
    [anon_sym_GT] = ACTIONS(457),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(835),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(459),
    [anon_sym_DASH_EQ] = ACTIONS(459),
    [anon_sym_STAR_EQ] = ACTIONS(459),
    [anon_sym_SLASH_EQ] = ACTIONS(459),
    [anon_sym_PERCENT_EQ] = ACTIONS(459),
    [anon_sym_BANG_EQ] = ACTIONS(457),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(459),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(459),
    [anon_sym_LT_EQ] = ACTIONS(459),
    [anon_sym_GT_EQ] = ACTIONS(459),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(457),
    [anon_sym_SLASH] = ACTIONS(457),
    [anon_sym_PERCENT] = ACTIONS(457),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(459),
    [anon_sym_CARET] = ACTIONS(457),
    [anon_sym_LT_LT] = ACTIONS(459),
    [anon_sym_GT_GT] = ACTIONS(459),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(459),
    [sym__eq_eq_custom] = ACTIONS(459),
    [sym__plus_then_ws] = ACTIONS(459),
    [sym__minus_then_ws] = ACTIONS(459),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(487),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [228] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1662),
    [sym_boolean_literal] = STATE(1662),
    [sym__string_literal] = STATE(1662),
    [sym_line_string_literal] = STATE(1662),
    [sym_multi_line_string_literal] = STATE(1662),
    [sym_raw_string_literal] = STATE(1662),
    [sym_regex_literal] = STATE(1662),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1662),
    [sym__unary_expression] = STATE(1662),
    [sym_postfix_expression] = STATE(1662),
    [sym_constructor_expression] = STATE(1662),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1662),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1662),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1662),
    [sym_prefix_expression] = STATE(1662),
    [sym_as_expression] = STATE(1662),
    [sym_selector_expression] = STATE(1662),
    [sym__binary_expression] = STATE(1662),
    [sym_multiplicative_expression] = STATE(1662),
    [sym_additive_expression] = STATE(1662),
    [sym_range_expression] = STATE(1662),
    [sym_infix_expression] = STATE(1662),
    [sym_nil_coalescing_expression] = STATE(1662),
    [sym_check_expression] = STATE(1662),
    [sym_comparison_expression] = STATE(1662),
    [sym_equality_expression] = STATE(1662),
    [sym_conjunction_expression] = STATE(1662),
    [sym_disjunction_expression] = STATE(1662),
    [sym_bitwise_operation] = STATE(1662),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1662),
    [sym_await_expression] = STATE(1662),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1662),
    [sym_call_expression] = STATE(1662),
    [sym_macro_invocation] = STATE(1662),
    [sym__primary_expression] = STATE(1662),
    [sym_tuple_expression] = STATE(1662),
    [sym_array_literal] = STATE(1662),
    [sym_dictionary_literal] = STATE(1662),
    [sym_special_literal] = STATE(1662),
    [sym_playground_literal] = STATE(1662),
    [sym_lambda_literal] = STATE(1662),
    [sym_self_expression] = STATE(1662),
    [sym_super_expression] = STATE(1662),
    [sym_if_statement] = STATE(1662),
    [sym__if_condition_sequence_item] = STATE(7132),
    [sym__if_let_binding] = STATE(8586),
    [sym_switch_statement] = STATE(1662),
    [sym_key_path_expression] = STATE(1662),
    [sym_key_path_string_expression] = STATE(1662),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1662),
    [sym__equality_operator] = STATE(1662),
    [sym__comparison_operator] = STATE(1662),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1662),
    [sym__multiplicative_operator] = STATE(1662),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1662),
    [sym_value_parameter_pack] = STATE(1662),
    [sym_value_pack_expansion] = STATE(1662),
    [sym_availability_condition] = STATE(7132),
    [sym__referenceable_operator] = STATE(1662),
    [sym__equal_sign] = STATE(1662),
    [sym__eq_eq] = STATE(1662),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4798),
    [sym_bang] = STATE(1169),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(6656),
    [sym_value_binding_pattern] = STATE(4803),
    [sym__possibly_async_binding_pattern_kind] = STATE(4803),
    [sym__binding_kind_and_pattern] = STATE(6648),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1662),
    [sym_diagnostic] = STATE(1662),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(657),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(457),
    [sym_real_literal] = ACTIONS(459),
    [sym_integer_literal] = ACTIONS(457),
    [sym_hex_literal] = ACTIONS(457),
    [sym_oct_literal] = ACTIONS(459),
    [sym_bin_literal] = ACTIONS(459),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(457),
    [anon_sym_GT] = ACTIONS(457),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_case] = ACTIONS(835),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(459),
    [anon_sym_DASH_EQ] = ACTIONS(459),
    [anon_sym_STAR_EQ] = ACTIONS(459),
    [anon_sym_SLASH_EQ] = ACTIONS(459),
    [anon_sym_PERCENT_EQ] = ACTIONS(459),
    [anon_sym_BANG_EQ] = ACTIONS(457),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(459),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(459),
    [anon_sym_LT_EQ] = ACTIONS(459),
    [anon_sym_GT_EQ] = ACTIONS(459),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(457),
    [anon_sym_SLASH] = ACTIONS(457),
    [anon_sym_PERCENT] = ACTIONS(457),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(459),
    [anon_sym_CARET] = ACTIONS(457),
    [anon_sym_LT_LT] = ACTIONS(459),
    [anon_sym_GT_GT] = ACTIONS(459),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(459),
    [sym__eq_eq_custom] = ACTIONS(459),
    [sym__plus_then_ws] = ACTIONS(459),
    [sym__minus_then_ws] = ACTIONS(459),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(487),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [229] = {
    [sym_simple_identifier] = STATE(3108),
    [sym__contextual_simple_identifier] = STATE(2967),
    [sym__basic_literal] = STATE(1599),
    [sym_boolean_literal] = STATE(1599),
    [sym__string_literal] = STATE(1599),
    [sym_line_string_literal] = STATE(1599),
    [sym_multi_line_string_literal] = STATE(1599),
    [sym_raw_string_literal] = STATE(1599),
    [sym_regex_literal] = STATE(1599),
    [sym__extended_regex_literal] = STATE(3663),
    [sym__multiline_regex_literal] = STATE(3663),
    [sym_user_type] = STATE(6406),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6406),
    [sym_dictionary_type] = STATE(6406),
    [sym__expression] = STATE(1599),
    [sym__unary_expression] = STATE(1599),
    [sym_postfix_expression] = STATE(1599),
    [sym_constructor_expression] = STATE(1599),
    [sym__parenthesized_type] = STATE(7557),
    [sym_navigation_expression] = STATE(1599),
    [sym__navigable_type_expression] = STATE(7558),
    [sym_open_start_range_expression] = STATE(1599),
    [sym__range_operator] = STATE(592),
    [sym_open_end_range_expression] = STATE(1599),
    [sym_prefix_expression] = STATE(1599),
    [sym_as_expression] = STATE(1599),
    [sym_selector_expression] = STATE(1599),
    [sym__binary_expression] = STATE(1599),
    [sym_multiplicative_expression] = STATE(1599),
    [sym_additive_expression] = STATE(1599),
    [sym_range_expression] = STATE(1599),
    [sym_infix_expression] = STATE(1599),
    [sym_nil_coalescing_expression] = STATE(1599),
    [sym_check_expression] = STATE(1599),
    [sym_comparison_expression] = STATE(1599),
    [sym_equality_expression] = STATE(1599),
    [sym_conjunction_expression] = STATE(1599),
    [sym_disjunction_expression] = STATE(1599),
    [sym_bitwise_operation] = STATE(1599),
    [sym_custom_operator] = STATE(1288),
    [sym_try_expression] = STATE(1599),
    [sym_await_expression] = STATE(1599),
    [sym__await_operator] = STATE(595),
    [sym_ternary_expression] = STATE(1599),
    [sym_call_expression] = STATE(1599),
    [sym_macro_invocation] = STATE(1599),
    [sym__primary_expression] = STATE(1599),
    [sym_tuple_expression] = STATE(1599),
    [sym_array_literal] = STATE(1599),
    [sym_dictionary_literal] = STATE(1599),
    [sym_special_literal] = STATE(1599),
    [sym_playground_literal] = STATE(1599),
    [sym_lambda_literal] = STATE(1599),
    [sym_self_expression] = STATE(1599),
    [sym_super_expression] = STATE(1599),
    [sym_if_statement] = STATE(1599),
    [sym_switch_statement] = STATE(1599),
    [sym_key_path_expression] = STATE(1599),
    [sym_key_path_string_expression] = STATE(1599),
    [sym_try_operator] = STATE(611),
    [sym__assignment_and_operator] = STATE(1599),
    [sym__equality_operator] = STATE(1599),
    [sym__comparison_operator] = STATE(1599),
    [sym__three_dot_operator] = STATE(1257),
    [sym__open_ended_range_operator] = STATE(592),
    [sym__additive_operator] = STATE(1599),
    [sym__multiplicative_operator] = STATE(1599),
    [sym__prefix_unary_operator] = STATE(620),
    [sym_directly_assignable_expression] = STATE(6409),
    [sym_assignment] = STATE(1599),
    [sym_value_parameter_pack] = STATE(1599),
    [sym_value_pack_expansion] = STATE(1599),
    [sym__referenceable_operator] = STATE(1599),
    [sym__equal_sign] = STATE(1599),
    [sym__eq_eq] = STATE(1599),
    [sym__dot] = STATE(620),
    [sym__hash_symbol] = STATE(4853),
    [sym_bang] = STATE(1288),
    [sym__parameter_ownership_modifier] = STATE(2967),
    [sym_directive] = STATE(1599),
    [sym_diagnostic] = STATE(1599),
    [aux_sym_raw_string_literal_repeat1] = STATE(7564),
    [anon_sym_BANG] = ACTIONS(1293),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1295),
    [aux_sym_simple_identifier_token2] = ACTIONS(1297),
    [aux_sym_simple_identifier_token3] = ACTIONS(1297),
    [aux_sym_simple_identifier_token4] = ACTIONS(1297),
    [anon_sym_actor] = ACTIONS(1295),
    [anon_sym_async] = ACTIONS(1295),
    [anon_sym_each] = ACTIONS(1301),
    [anon_sym_lazy] = ACTIONS(1295),
    [anon_sym_repeat] = ACTIONS(1303),
    [anon_sym_package] = ACTIONS(1295),
    [anon_sym_nil] = ACTIONS(1373),
    [sym_real_literal] = ACTIONS(1375),
    [sym_integer_literal] = ACTIONS(1373),
    [sym_hex_literal] = ACTIONS(1373),
    [sym_oct_literal] = ACTIONS(1375),
    [sym_bin_literal] = ACTIONS(1375),
    [anon_sym_true] = ACTIONS(1309),
    [anon_sym_false] = ACTIONS(1309),
    [anon_sym_DQUOTE] = ACTIONS(1311),
    [anon_sym_BSLASH] = ACTIONS(1313),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1315),
    [anon_sym_COMMA] = ACTIONS(617),
    [sym__oneline_regex_literal] = ACTIONS(1317),
    [anon_sym_LPAREN] = ACTIONS(1319),
    [anon_sym_LBRACK] = ACTIONS(1321),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(1323),
    [anon_sym_TILDE] = ACTIONS(1323),
    [anon_sym_if] = ACTIONS(1325),
    [anon_sym_switch] = ACTIONS(1327),
    [aux_sym_custom_operator_token1] = ACTIONS(1329),
    [anon_sym_LT] = ACTIONS(1373),
    [anon_sym_GT] = ACTIONS(1373),
    [anon_sym_await] = ACTIONS(1331),
    [anon_sym_LBRACE] = ACTIONS(1333),
    [anon_sym_CARET_LBRACE] = ACTIONS(1333),
    [anon_sym_self] = ACTIONS(1335),
    [anon_sym_super] = ACTIONS(1337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1375),
    [anon_sym_DASH_EQ] = ACTIONS(1375),
    [anon_sym_STAR_EQ] = ACTIONS(1375),
    [anon_sym_SLASH_EQ] = ACTIONS(1375),
    [anon_sym_PERCENT_EQ] = ACTIONS(1375),
    [anon_sym_BANG_EQ] = ACTIONS(1373),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1375),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1375),
    [anon_sym_LT_EQ] = ACTIONS(1375),
    [anon_sym_GT_EQ] = ACTIONS(1375),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1341),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1343),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(1345),
    [anon_sym_DASH] = ACTIONS(1345),
    [anon_sym_STAR] = ACTIONS(1373),
    [anon_sym_SLASH] = ACTIONS(1373),
    [anon_sym_PERCENT] = ACTIONS(1373),
    [anon_sym_PLUS_PLUS] = ACTIONS(1323),
    [anon_sym_DASH_DASH] = ACTIONS(1323),
    [anon_sym_PIPE] = ACTIONS(1375),
    [anon_sym_CARET] = ACTIONS(1373),
    [anon_sym_LT_LT] = ACTIONS(1375),
    [anon_sym_GT_GT] = ACTIONS(1375),
    [anon_sym_borrowing] = ACTIONS(1295),
    [anon_sym_consuming] = ACTIONS(1295),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1347),
    [sym__dot_custom] = ACTIONS(1349),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(1375),
    [sym__eq_eq_custom] = ACTIONS(1375),
    [sym__plus_then_ws] = ACTIONS(1375),
    [sym__minus_then_ws] = ACTIONS(1375),
    [sym__bang_custom] = ACTIONS(1351),
    [sym_else] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(1329),
    [sym__hash_symbol_custom] = ACTIONS(1371),
    [sym__directive_if] = ACTIONS(1355),
    [sym__directive_elseif] = ACTIONS(1355),
    [sym__directive_else] = ACTIONS(1357),
    [sym__directive_endif] = ACTIONS(1357),
  },
  [230] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(797),
    [sym_boolean_literal] = STATE(797),
    [sym__string_literal] = STATE(797),
    [sym_line_string_literal] = STATE(797),
    [sym_multi_line_string_literal] = STATE(797),
    [sym_raw_string_literal] = STATE(797),
    [sym_regex_literal] = STATE(797),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(797),
    [sym__unary_expression] = STATE(797),
    [sym_postfix_expression] = STATE(797),
    [sym_constructor_expression] = STATE(797),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(797),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(797),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(797),
    [sym_prefix_expression] = STATE(797),
    [sym_as_expression] = STATE(797),
    [sym_selector_expression] = STATE(797),
    [sym__binary_expression] = STATE(797),
    [sym_multiplicative_expression] = STATE(797),
    [sym_additive_expression] = STATE(797),
    [sym_range_expression] = STATE(797),
    [sym_infix_expression] = STATE(797),
    [sym_nil_coalescing_expression] = STATE(797),
    [sym_check_expression] = STATE(797),
    [sym_comparison_expression] = STATE(797),
    [sym_equality_expression] = STATE(797),
    [sym_conjunction_expression] = STATE(797),
    [sym_disjunction_expression] = STATE(797),
    [sym_bitwise_operation] = STATE(797),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(797),
    [sym_await_expression] = STATE(797),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(797),
    [sym_call_expression] = STATE(797),
    [sym_macro_invocation] = STATE(797),
    [sym__primary_expression] = STATE(797),
    [sym_tuple_expression] = STATE(797),
    [sym_array_literal] = STATE(797),
    [sym_dictionary_literal] = STATE(797),
    [sym_special_literal] = STATE(797),
    [sym_playground_literal] = STATE(797),
    [sym_lambda_literal] = STATE(797),
    [sym_self_expression] = STATE(797),
    [sym_super_expression] = STATE(797),
    [sym_if_statement] = STATE(797),
    [sym__if_condition_sequence_item] = STATE(4483),
    [sym__if_let_binding] = STATE(4511),
    [sym_switch_statement] = STATE(797),
    [sym_key_path_expression] = STATE(797),
    [sym_key_path_string_expression] = STATE(797),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(797),
    [sym__equality_operator] = STATE(797),
    [sym__comparison_operator] = STATE(797),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(797),
    [sym__multiplicative_operator] = STATE(797),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_assignment] = STATE(797),
    [sym_value_parameter_pack] = STATE(797),
    [sym_value_pack_expansion] = STATE(797),
    [sym_availability_condition] = STATE(4483),
    [sym__referenceable_operator] = STATE(797),
    [sym__equal_sign] = STATE(797),
    [sym__eq_eq] = STATE(797),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4796),
    [sym_bang] = STATE(770),
    [sym__async_modifier] = STATE(7659),
    [sym__direct_or_indirect_binding] = STATE(3869),
    [sym_value_binding_pattern] = STATE(4815),
    [sym__possibly_async_binding_pattern_kind] = STATE(4815),
    [sym__binding_kind_and_pattern] = STATE(3868),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(797),
    [sym_diagnostic] = STATE(797),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(289),
    [anon_sym_async] = ACTIONS(295),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(289),
    [anon_sym_repeat] = ACTIONS(733),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(1359),
    [sym_real_literal] = ACTIONS(1361),
    [sym_integer_literal] = ACTIONS(1359),
    [sym_hex_literal] = ACTIONS(1359),
    [sym_oct_literal] = ACTIONS(1361),
    [sym_bin_literal] = ACTIONS(1361),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(1359),
    [anon_sym_GT] = ACTIONS(1359),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_case] = ACTIONS(1363),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1361),
    [anon_sym_DASH_EQ] = ACTIONS(1361),
    [anon_sym_STAR_EQ] = ACTIONS(1361),
    [anon_sym_SLASH_EQ] = ACTIONS(1361),
    [anon_sym_PERCENT_EQ] = ACTIONS(1361),
    [anon_sym_BANG_EQ] = ACTIONS(1359),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1361),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1361),
    [anon_sym_LT_EQ] = ACTIONS(1361),
    [anon_sym_GT_EQ] = ACTIONS(1361),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(1359),
    [anon_sym_SLASH] = ACTIONS(1359),
    [anon_sym_PERCENT] = ACTIONS(1359),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(1361),
    [anon_sym_CARET] = ACTIONS(1359),
    [anon_sym_LT_LT] = ACTIONS(1361),
    [anon_sym_GT_GT] = ACTIONS(1361),
    [anon_sym_let] = ACTIONS(93),
    [anon_sym_var] = ACTIONS(93),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(1361),
    [sym__eq_eq_custom] = ACTIONS(1361),
    [sym__plus_then_ws] = ACTIONS(1361),
    [sym__minus_then_ws] = ACTIONS(1361),
    [sym__bang_custom] = ACTIONS(373),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(1365),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [231] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1381),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [232] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7990),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1389),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [233] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1391),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [234] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1393),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [235] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7857),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1395),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [236] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1393),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [237] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1397),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [238] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7634),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1399),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [239] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7621),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1401),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [240] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7851),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1403),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [241] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7849),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1403),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [242] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7618),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1401),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [243] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1405),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [244] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7617),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1407),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [245] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1409),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [246] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1411),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [247] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1405),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [248] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7805),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1413),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [249] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1415),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [250] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1411),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [251] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1417),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [252] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1419),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [253] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1421),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [254] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1421),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [255] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7803),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1423),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [256] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1425),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [257] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7624),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1427),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [258] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1429),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [259] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7798),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1423),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [260] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1429),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [261] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym__interpolation_contents] = STATE(8793),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(8012),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [262] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(8409),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1431),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [263] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7795),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1433),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [264] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7456),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1435),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [265] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7516),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1437),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [266] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7538),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1439),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [267] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(8409),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1441),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [268] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1397),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [269] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7545),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1439),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [270] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7547),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1443),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [271] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1445),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [272] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1447),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [273] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1447),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [274] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1449),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [275] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1449),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [276] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1451),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [277] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym__interpolation_contents] = STATE(8851),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(8012),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [278] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7972),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1453),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [279] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7983),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1455),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [280] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7840),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1457),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [281] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7987),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1455),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [282] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1459),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [283] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1461),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [284] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7454),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1463),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [285] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7460),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1465),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [286] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1461),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [287] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7845),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [288] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7850),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1467),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [289] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7881),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1469),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [290] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1471),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [291] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1473),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [292] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1475),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [293] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1477),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [294] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1477),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [295] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1479),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [296] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7455),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1435),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [297] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1481),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [298] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1479),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [299] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1481),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [300] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1475),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [301] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1483),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [302] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7650),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1485),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [303] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7648),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1487),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [304] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7642),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1487),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [305] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7629),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1489),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [306] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1491),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [307] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1493),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [308] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1495),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [309] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1491),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [310] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1495),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [311] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7530),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1497),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [312] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7529),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1497),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [313] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(8202),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1499),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [314] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1501),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [315] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1503),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [316] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1503),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [317] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1505),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [318] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(8201),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1507),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [319] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1509),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [320] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(8200),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1507),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [321] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym__interpolation_contents] = STATE(8740),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(8012),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [322] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1509),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [323] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1511),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [324] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(8185),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1513),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [325] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1515),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [326] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1515),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [327] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1517),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [328] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1517),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [329] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1519),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [330] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1521),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [331] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1505),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [332] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(7600),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [333] = {
    [sym_simple_identifier] = STATE(1739),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1563),
    [sym_boolean_literal] = STATE(1563),
    [sym__string_literal] = STATE(1563),
    [sym_line_string_literal] = STATE(1563),
    [sym_multi_line_string_literal] = STATE(1563),
    [sym_raw_string_literal] = STATE(1563),
    [sym_regex_literal] = STATE(1563),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6292),
    [sym_opaque_type] = STATE(8706),
    [sym_existential_type] = STATE(8706),
    [sym__expression] = STATE(1563),
    [sym__unary_expression] = STATE(1563),
    [sym_postfix_expression] = STATE(1563),
    [sym_constructor_expression] = STATE(1563),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1563),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1563),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1563),
    [sym_prefix_expression] = STATE(1563),
    [sym_as_expression] = STATE(1563),
    [sym_selector_expression] = STATE(1563),
    [sym__binary_expression] = STATE(1563),
    [sym_multiplicative_expression] = STATE(1563),
    [sym_additive_expression] = STATE(1563),
    [sym_range_expression] = STATE(1563),
    [sym_infix_expression] = STATE(1563),
    [sym_nil_coalescing_expression] = STATE(1563),
    [sym_check_expression] = STATE(1563),
    [sym_comparison_expression] = STATE(1563),
    [sym_equality_expression] = STATE(1563),
    [sym_conjunction_expression] = STATE(1563),
    [sym_disjunction_expression] = STATE(1563),
    [sym_bitwise_operation] = STATE(1563),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1563),
    [sym_await_expression] = STATE(1563),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1563),
    [sym_call_expression] = STATE(1563),
    [sym_macro_invocation] = STATE(1563),
    [sym__primary_expression] = STATE(1563),
    [sym_tuple_expression] = STATE(1563),
    [sym_array_literal] = STATE(1563),
    [sym_dictionary_literal] = STATE(1563),
    [sym_special_literal] = STATE(1563),
    [sym_playground_literal] = STATE(1563),
    [sym_lambda_literal] = STATE(1563),
    [sym_lambda_function_type_parameters] = STATE(8938),
    [sym_lambda_parameter] = STATE(7647),
    [sym_self_expression] = STATE(3586),
    [sym_super_expression] = STATE(1563),
    [sym_if_statement] = STATE(1563),
    [sym_switch_statement] = STATE(1563),
    [sym_key_path_expression] = STATE(1563),
    [sym_key_path_string_expression] = STATE(1563),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1563),
    [sym__equality_operator] = STATE(1563),
    [sym__comparison_operator] = STATE(1563),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1563),
    [sym__multiplicative_operator] = STATE(1563),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1563),
    [sym_value_parameter_pack] = STATE(1563),
    [sym_value_pack_expansion] = STATE(1563),
    [sym__referenceable_operator] = STATE(1563),
    [sym__equal_sign] = STATE(1563),
    [sym__eq_eq] = STATE(1563),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1563),
    [sym_diagnostic] = STATE(1563),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1527),
    [sym_real_literal] = ACTIONS(1529),
    [sym_integer_literal] = ACTIONS(1527),
    [sym_hex_literal] = ACTIONS(1527),
    [sym_oct_literal] = ACTIONS(1529),
    [sym_bin_literal] = ACTIONS(1529),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1531),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1527),
    [anon_sym_GT] = ACTIONS(1527),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1529),
    [anon_sym_DASH_EQ] = ACTIONS(1529),
    [anon_sym_STAR_EQ] = ACTIONS(1529),
    [anon_sym_SLASH_EQ] = ACTIONS(1529),
    [anon_sym_PERCENT_EQ] = ACTIONS(1529),
    [anon_sym_BANG_EQ] = ACTIONS(1527),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1529),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1529),
    [anon_sym_LT_EQ] = ACTIONS(1529),
    [anon_sym_GT_EQ] = ACTIONS(1529),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1527),
    [anon_sym_SLASH] = ACTIONS(1527),
    [anon_sym_PERCENT] = ACTIONS(1527),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1529),
    [anon_sym_CARET] = ACTIONS(1527),
    [anon_sym_LT_LT] = ACTIONS(1529),
    [anon_sym_GT_GT] = ACTIONS(1529),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1529),
    [sym__eq_eq_custom] = ACTIONS(1529),
    [sym__plus_then_ws] = ACTIONS(1529),
    [sym__minus_then_ws] = ACTIONS(1529),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [334] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1572),
    [sym_boolean_literal] = STATE(1572),
    [sym__string_literal] = STATE(1572),
    [sym_line_string_literal] = STATE(1572),
    [sym_multi_line_string_literal] = STATE(1572),
    [sym_raw_string_literal] = STATE(1572),
    [sym_regex_literal] = STATE(1572),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1572),
    [sym__unary_expression] = STATE(1572),
    [sym_postfix_expression] = STATE(1572),
    [sym_constructor_expression] = STATE(1572),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1572),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1572),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1572),
    [sym_prefix_expression] = STATE(1572),
    [sym_as_expression] = STATE(1572),
    [sym_selector_expression] = STATE(1572),
    [sym__binary_expression] = STATE(1572),
    [sym_multiplicative_expression] = STATE(1572),
    [sym_additive_expression] = STATE(1572),
    [sym_range_expression] = STATE(1572),
    [sym_infix_expression] = STATE(1572),
    [sym_nil_coalescing_expression] = STATE(1572),
    [sym_check_expression] = STATE(1572),
    [sym_comparison_expression] = STATE(1572),
    [sym_equality_expression] = STATE(1572),
    [sym_conjunction_expression] = STATE(1572),
    [sym_disjunction_expression] = STATE(1572),
    [sym_bitwise_operation] = STATE(1572),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8852),
    [sym_value_argument] = STATE(8409),
    [sym_try_expression] = STATE(1572),
    [sym_await_expression] = STATE(1572),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1572),
    [sym_call_expression] = STATE(1572),
    [sym_macro_invocation] = STATE(1572),
    [sym__primary_expression] = STATE(1572),
    [sym_tuple_expression] = STATE(1572),
    [sym_array_literal] = STATE(1572),
    [sym_dictionary_literal] = STATE(1572),
    [sym_special_literal] = STATE(1572),
    [sym_playground_literal] = STATE(1572),
    [sym_lambda_literal] = STATE(1572),
    [sym_self_expression] = STATE(1572),
    [sym_super_expression] = STATE(1572),
    [sym_if_statement] = STATE(1572),
    [sym_switch_statement] = STATE(1572),
    [sym_key_path_expression] = STATE(1572),
    [sym_key_path_string_expression] = STATE(1572),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1572),
    [sym__equality_operator] = STATE(1572),
    [sym__comparison_operator] = STATE(1572),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1572),
    [sym__multiplicative_operator] = STATE(1572),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1572),
    [sym_value_parameter_pack] = STATE(1572),
    [sym_value_pack_expansion] = STATE(1572),
    [sym__referenceable_operator] = STATE(1572),
    [sym__equal_sign] = STATE(1572),
    [sym__eq_eq] = STATE(1572),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym_attribute] = STATE(1497),
    [sym_type_modifiers] = STATE(429),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1572),
    [sym_diagnostic] = STATE(1572),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4978),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1497),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1377),
    [sym_real_literal] = ACTIONS(1379),
    [sym_integer_literal] = ACTIONS(1377),
    [sym_hex_literal] = ACTIONS(1377),
    [sym_oct_literal] = ACTIONS(1379),
    [sym_bin_literal] = ACTIONS(1379),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1377),
    [anon_sym_GT] = ACTIONS(1377),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1379),
    [anon_sym_DASH_EQ] = ACTIONS(1379),
    [anon_sym_STAR_EQ] = ACTIONS(1379),
    [anon_sym_SLASH_EQ] = ACTIONS(1379),
    [anon_sym_PERCENT_EQ] = ACTIONS(1379),
    [anon_sym_BANG_EQ] = ACTIONS(1377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1379),
    [anon_sym_LT_EQ] = ACTIONS(1379),
    [anon_sym_GT_EQ] = ACTIONS(1379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1377),
    [anon_sym_SLASH] = ACTIONS(1377),
    [anon_sym_PERCENT] = ACTIONS(1377),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1379),
    [anon_sym_CARET] = ACTIONS(1377),
    [anon_sym_LT_LT] = ACTIONS(1379),
    [anon_sym_GT_GT] = ACTIONS(1379),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1379),
    [sym__eq_eq_custom] = ACTIONS(1379),
    [sym__plus_then_ws] = ACTIONS(1379),
    [sym__minus_then_ws] = ACTIONS(1379),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [335] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1562),
    [sym_boolean_literal] = STATE(1562),
    [sym__string_literal] = STATE(1562),
    [sym_line_string_literal] = STATE(1562),
    [sym_multi_line_string_literal] = STATE(1562),
    [sym_raw_string_literal] = STATE(1562),
    [sym_regex_literal] = STATE(1562),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1562),
    [sym__unary_expression] = STATE(1562),
    [sym_postfix_expression] = STATE(1562),
    [sym_constructor_expression] = STATE(1562),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1562),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1562),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1562),
    [sym_prefix_expression] = STATE(1562),
    [sym_as_expression] = STATE(1562),
    [sym_selector_expression] = STATE(1562),
    [sym__binary_expression] = STATE(1562),
    [sym_multiplicative_expression] = STATE(1562),
    [sym_additive_expression] = STATE(1562),
    [sym_range_expression] = STATE(1562),
    [sym_infix_expression] = STATE(1562),
    [sym_nil_coalescing_expression] = STATE(1562),
    [sym_check_expression] = STATE(1562),
    [sym_comparison_expression] = STATE(1562),
    [sym_equality_expression] = STATE(1562),
    [sym_conjunction_expression] = STATE(1562),
    [sym_disjunction_expression] = STATE(1562),
    [sym_bitwise_operation] = STATE(1562),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1562),
    [sym_await_expression] = STATE(1562),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1562),
    [sym_call_expression] = STATE(1562),
    [sym_macro_invocation] = STATE(1562),
    [sym__primary_expression] = STATE(1562),
    [sym_tuple_expression] = STATE(1562),
    [sym_array_literal] = STATE(1562),
    [sym_dictionary_literal] = STATE(1562),
    [sym_special_literal] = STATE(1562),
    [sym_playground_literal] = STATE(1562),
    [sym_lambda_literal] = STATE(1562),
    [sym_self_expression] = STATE(1562),
    [sym_super_expression] = STATE(1562),
    [sym_if_statement] = STATE(1562),
    [sym_switch_statement] = STATE(1562),
    [sym_key_path_expression] = STATE(1562),
    [sym_key_path_string_expression] = STATE(1562),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1562),
    [sym__equality_operator] = STATE(1562),
    [sym__comparison_operator] = STATE(1562),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1562),
    [sym__multiplicative_operator] = STATE(1562),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1562),
    [sym_value_parameter_pack] = STATE(1562),
    [sym_value_pack_expansion] = STATE(1562),
    [sym__referenceable_operator] = STATE(1562),
    [sym__equal_sign] = STATE(1562),
    [sym__eq_eq] = STATE(1562),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1562),
    [sym_diagnostic] = STATE(1562),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1533),
    [aux_sym_simple_identifier_token2] = ACTIONS(1536),
    [aux_sym_simple_identifier_token3] = ACTIONS(1536),
    [aux_sym_simple_identifier_token4] = ACTIONS(1536),
    [anon_sym_actor] = ACTIONS(1533),
    [anon_sym_async] = ACTIONS(1533),
    [anon_sym_each] = ACTIONS(1539),
    [anon_sym_lazy] = ACTIONS(1533),
    [anon_sym_repeat] = ACTIONS(1542),
    [anon_sym_package] = ACTIONS(1533),
    [anon_sym_nil] = ACTIONS(1545),
    [sym_real_literal] = ACTIONS(1547),
    [sym_integer_literal] = ACTIONS(1545),
    [sym_hex_literal] = ACTIONS(1545),
    [sym_oct_literal] = ACTIONS(1547),
    [sym_bin_literal] = ACTIONS(1547),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(1549),
    [anon_sym_LBRACK] = ACTIONS(1552),
    [anon_sym_some] = ACTIONS(1555),
    [anon_sym_any] = ACTIONS(1555),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(1557),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1545),
    [anon_sym_GT] = ACTIONS(1545),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1547),
    [anon_sym_DASH_EQ] = ACTIONS(1547),
    [anon_sym_STAR_EQ] = ACTIONS(1547),
    [anon_sym_SLASH_EQ] = ACTIONS(1547),
    [anon_sym_PERCENT_EQ] = ACTIONS(1547),
    [anon_sym_BANG_EQ] = ACTIONS(1545),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1547),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1547),
    [anon_sym_LT_EQ] = ACTIONS(1547),
    [anon_sym_GT_EQ] = ACTIONS(1547),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1545),
    [anon_sym_SLASH] = ACTIONS(1545),
    [anon_sym_PERCENT] = ACTIONS(1545),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1547),
    [anon_sym_CARET] = ACTIONS(1545),
    [anon_sym_LT_LT] = ACTIONS(1547),
    [anon_sym_GT_GT] = ACTIONS(1547),
    [anon_sym_AT] = ACTIONS(1555),
    [anon_sym_inout] = ACTIONS(1555),
    [anon_sym_ATescaping] = ACTIONS(1560),
    [anon_sym_ATautoclosure] = ACTIONS(1560),
    [anon_sym_borrowing] = ACTIONS(1533),
    [anon_sym_consuming] = ACTIONS(1533),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1547),
    [sym__eq_eq_custom] = ACTIONS(1547),
    [sym__plus_then_ws] = ACTIONS(1547),
    [sym__minus_then_ws] = ACTIONS(1547),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [336] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(8269),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1566),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [337] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(8269),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1568),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [338] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(8269),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1570),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [339] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(8269),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1572),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [340] = {
    [sym_simple_identifier] = STATE(3027),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1533),
    [sym_boolean_literal] = STATE(1533),
    [sym__string_literal] = STATE(1533),
    [sym_line_string_literal] = STATE(1533),
    [sym_multi_line_string_literal] = STATE(1533),
    [sym_raw_string_literal] = STATE(1533),
    [sym_regex_literal] = STATE(1533),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6292),
    [sym_opaque_type] = STATE(8706),
    [sym_existential_type] = STATE(8706),
    [sym__expression] = STATE(1533),
    [sym__unary_expression] = STATE(1533),
    [sym_postfix_expression] = STATE(1533),
    [sym_constructor_expression] = STATE(1533),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1533),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1533),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1533),
    [sym_prefix_expression] = STATE(1533),
    [sym_as_expression] = STATE(1533),
    [sym_selector_expression] = STATE(1533),
    [sym__binary_expression] = STATE(1533),
    [sym_multiplicative_expression] = STATE(1533),
    [sym_additive_expression] = STATE(1533),
    [sym_range_expression] = STATE(1533),
    [sym_infix_expression] = STATE(1533),
    [sym_nil_coalescing_expression] = STATE(1533),
    [sym_check_expression] = STATE(1533),
    [sym_comparison_expression] = STATE(1533),
    [sym_equality_expression] = STATE(1533),
    [sym_conjunction_expression] = STATE(1533),
    [sym_disjunction_expression] = STATE(1533),
    [sym_bitwise_operation] = STATE(1533),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1533),
    [sym_await_expression] = STATE(1533),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1533),
    [sym_call_expression] = STATE(1533),
    [sym_macro_invocation] = STATE(1533),
    [sym__primary_expression] = STATE(1533),
    [sym_tuple_expression] = STATE(1533),
    [sym_array_literal] = STATE(1533),
    [sym_dictionary_literal] = STATE(1533),
    [sym_special_literal] = STATE(1533),
    [sym_playground_literal] = STATE(1533),
    [sym_lambda_literal] = STATE(1533),
    [sym_self_expression] = STATE(1533),
    [sym_super_expression] = STATE(1533),
    [sym_if_statement] = STATE(1533),
    [sym_switch_statement] = STATE(1533),
    [sym_key_path_expression] = STATE(1533),
    [sym_key_path_string_expression] = STATE(1533),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1533),
    [sym__equality_operator] = STATE(1533),
    [sym__comparison_operator] = STATE(1533),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1533),
    [sym__multiplicative_operator] = STATE(1533),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1533),
    [sym_value_parameter_pack] = STATE(1533),
    [sym_value_pack_expansion] = STATE(1533),
    [sym__referenceable_operator] = STATE(1533),
    [sym__equal_sign] = STATE(1533),
    [sym__eq_eq] = STATE(1533),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1533),
    [sym_diagnostic] = STATE(1533),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1574),
    [sym_real_literal] = ACTIONS(1576),
    [sym_integer_literal] = ACTIONS(1574),
    [sym_hex_literal] = ACTIONS(1574),
    [sym_oct_literal] = ACTIONS(1576),
    [sym_bin_literal] = ACTIONS(1576),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1574),
    [anon_sym_GT] = ACTIONS(1574),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1576),
    [anon_sym_DASH_EQ] = ACTIONS(1576),
    [anon_sym_STAR_EQ] = ACTIONS(1576),
    [anon_sym_SLASH_EQ] = ACTIONS(1576),
    [anon_sym_PERCENT_EQ] = ACTIONS(1576),
    [anon_sym_BANG_EQ] = ACTIONS(1574),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1576),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1576),
    [anon_sym_LT_EQ] = ACTIONS(1576),
    [anon_sym_GT_EQ] = ACTIONS(1576),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1574),
    [anon_sym_SLASH] = ACTIONS(1574),
    [anon_sym_PERCENT] = ACTIONS(1574),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1576),
    [anon_sym_CARET] = ACTIONS(1574),
    [anon_sym_LT_LT] = ACTIONS(1576),
    [anon_sym_GT_GT] = ACTIONS(1576),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1576),
    [sym__eq_eq_custom] = ACTIONS(1576),
    [sym__plus_then_ws] = ACTIONS(1576),
    [sym__minus_then_ws] = ACTIONS(1576),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [341] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(8269),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1578),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [342] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(8269),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1580),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [343] = {
    [sym_simple_identifier] = STATE(3012),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1531),
    [sym_boolean_literal] = STATE(1531),
    [sym__string_literal] = STATE(1531),
    [sym_line_string_literal] = STATE(1531),
    [sym_multi_line_string_literal] = STATE(1531),
    [sym_raw_string_literal] = STATE(1531),
    [sym_regex_literal] = STATE(1531),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6292),
    [sym_opaque_type] = STATE(8706),
    [sym_existential_type] = STATE(8706),
    [sym__expression] = STATE(1531),
    [sym__unary_expression] = STATE(1531),
    [sym_postfix_expression] = STATE(1531),
    [sym_constructor_expression] = STATE(1531),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1531),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1531),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1531),
    [sym_prefix_expression] = STATE(1531),
    [sym_as_expression] = STATE(1531),
    [sym_selector_expression] = STATE(1531),
    [sym__binary_expression] = STATE(1531),
    [sym_multiplicative_expression] = STATE(1531),
    [sym_additive_expression] = STATE(1531),
    [sym_range_expression] = STATE(1531),
    [sym_infix_expression] = STATE(1531),
    [sym_nil_coalescing_expression] = STATE(1531),
    [sym_check_expression] = STATE(1531),
    [sym_comparison_expression] = STATE(1531),
    [sym_equality_expression] = STATE(1531),
    [sym_conjunction_expression] = STATE(1531),
    [sym_disjunction_expression] = STATE(1531),
    [sym_bitwise_operation] = STATE(1531),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1531),
    [sym_await_expression] = STATE(1531),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1531),
    [sym_call_expression] = STATE(1531),
    [sym_macro_invocation] = STATE(1531),
    [sym__primary_expression] = STATE(1531),
    [sym_tuple_expression] = STATE(1531),
    [sym_array_literal] = STATE(1531),
    [sym_dictionary_literal] = STATE(1531),
    [sym_special_literal] = STATE(1531),
    [sym_playground_literal] = STATE(1531),
    [sym_lambda_literal] = STATE(1531),
    [sym_self_expression] = STATE(1531),
    [sym_super_expression] = STATE(1531),
    [sym_if_statement] = STATE(1531),
    [sym_switch_statement] = STATE(1531),
    [sym_key_path_expression] = STATE(1531),
    [sym_key_path_string_expression] = STATE(1531),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1531),
    [sym__equality_operator] = STATE(1531),
    [sym__comparison_operator] = STATE(1531),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1531),
    [sym__multiplicative_operator] = STATE(1531),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1531),
    [sym_value_parameter_pack] = STATE(1531),
    [sym_value_pack_expansion] = STATE(1531),
    [sym__referenceable_operator] = STATE(1531),
    [sym__equal_sign] = STATE(1531),
    [sym__eq_eq] = STATE(1531),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1531),
    [sym_diagnostic] = STATE(1531),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1582),
    [sym_real_literal] = ACTIONS(1584),
    [sym_integer_literal] = ACTIONS(1582),
    [sym_hex_literal] = ACTIONS(1582),
    [sym_oct_literal] = ACTIONS(1584),
    [sym_bin_literal] = ACTIONS(1584),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1582),
    [anon_sym_GT] = ACTIONS(1582),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1584),
    [anon_sym_DASH_EQ] = ACTIONS(1584),
    [anon_sym_STAR_EQ] = ACTIONS(1584),
    [anon_sym_SLASH_EQ] = ACTIONS(1584),
    [anon_sym_PERCENT_EQ] = ACTIONS(1584),
    [anon_sym_BANG_EQ] = ACTIONS(1582),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1584),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1584),
    [anon_sym_LT_EQ] = ACTIONS(1584),
    [anon_sym_GT_EQ] = ACTIONS(1584),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1582),
    [anon_sym_SLASH] = ACTIONS(1582),
    [anon_sym_PERCENT] = ACTIONS(1582),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1584),
    [anon_sym_CARET] = ACTIONS(1582),
    [anon_sym_LT_LT] = ACTIONS(1584),
    [anon_sym_GT_GT] = ACTIONS(1584),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1584),
    [sym__eq_eq_custom] = ACTIONS(1584),
    [sym__plus_then_ws] = ACTIONS(1584),
    [sym__minus_then_ws] = ACTIONS(1584),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [344] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(8269),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1586),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [345] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(8269),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1588),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [346] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(8269),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1590),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [347] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(8269),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1592),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [348] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(8269),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1594),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [349] = {
    [sym_simple_identifier] = STATE(3028),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1548),
    [sym_boolean_literal] = STATE(1548),
    [sym__string_literal] = STATE(1548),
    [sym_line_string_literal] = STATE(1548),
    [sym_multi_line_string_literal] = STATE(1548),
    [sym_raw_string_literal] = STATE(1548),
    [sym_regex_literal] = STATE(1548),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6292),
    [sym_opaque_type] = STATE(8706),
    [sym_existential_type] = STATE(8706),
    [sym__expression] = STATE(1548),
    [sym__unary_expression] = STATE(1548),
    [sym_postfix_expression] = STATE(1548),
    [sym_constructor_expression] = STATE(1548),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1548),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1548),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1548),
    [sym_prefix_expression] = STATE(1548),
    [sym_as_expression] = STATE(1548),
    [sym_selector_expression] = STATE(1548),
    [sym__binary_expression] = STATE(1548),
    [sym_multiplicative_expression] = STATE(1548),
    [sym_additive_expression] = STATE(1548),
    [sym_range_expression] = STATE(1548),
    [sym_infix_expression] = STATE(1548),
    [sym_nil_coalescing_expression] = STATE(1548),
    [sym_check_expression] = STATE(1548),
    [sym_comparison_expression] = STATE(1548),
    [sym_equality_expression] = STATE(1548),
    [sym_conjunction_expression] = STATE(1548),
    [sym_disjunction_expression] = STATE(1548),
    [sym_bitwise_operation] = STATE(1548),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1548),
    [sym_await_expression] = STATE(1548),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1548),
    [sym_call_expression] = STATE(1548),
    [sym_macro_invocation] = STATE(1548),
    [sym__primary_expression] = STATE(1548),
    [sym_tuple_expression] = STATE(1548),
    [sym_array_literal] = STATE(1548),
    [sym_dictionary_literal] = STATE(1548),
    [sym_special_literal] = STATE(1548),
    [sym_playground_literal] = STATE(1548),
    [sym_lambda_literal] = STATE(1548),
    [sym_self_expression] = STATE(1548),
    [sym_super_expression] = STATE(1548),
    [sym_if_statement] = STATE(1548),
    [sym_switch_statement] = STATE(1548),
    [sym_key_path_expression] = STATE(1548),
    [sym_key_path_string_expression] = STATE(1548),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1548),
    [sym__equality_operator] = STATE(1548),
    [sym__comparison_operator] = STATE(1548),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1548),
    [sym__multiplicative_operator] = STATE(1548),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1548),
    [sym_value_parameter_pack] = STATE(1548),
    [sym_value_pack_expansion] = STATE(1548),
    [sym__referenceable_operator] = STATE(1548),
    [sym__equal_sign] = STATE(1548),
    [sym__eq_eq] = STATE(1548),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1548),
    [sym_diagnostic] = STATE(1548),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1596),
    [sym_real_literal] = ACTIONS(1598),
    [sym_integer_literal] = ACTIONS(1596),
    [sym_hex_literal] = ACTIONS(1596),
    [sym_oct_literal] = ACTIONS(1598),
    [sym_bin_literal] = ACTIONS(1598),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1596),
    [anon_sym_GT] = ACTIONS(1596),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1598),
    [anon_sym_DASH_EQ] = ACTIONS(1598),
    [anon_sym_STAR_EQ] = ACTIONS(1598),
    [anon_sym_SLASH_EQ] = ACTIONS(1598),
    [anon_sym_PERCENT_EQ] = ACTIONS(1598),
    [anon_sym_BANG_EQ] = ACTIONS(1596),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1598),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1598),
    [anon_sym_LT_EQ] = ACTIONS(1598),
    [anon_sym_GT_EQ] = ACTIONS(1598),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1596),
    [anon_sym_SLASH] = ACTIONS(1596),
    [anon_sym_PERCENT] = ACTIONS(1596),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1598),
    [anon_sym_CARET] = ACTIONS(1596),
    [anon_sym_LT_LT] = ACTIONS(1598),
    [anon_sym_GT_GT] = ACTIONS(1598),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1598),
    [sym__eq_eq_custom] = ACTIONS(1598),
    [sym__plus_then_ws] = ACTIONS(1598),
    [sym__minus_then_ws] = ACTIONS(1598),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [350] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(8269),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1600),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [351] = {
    [sym_simple_identifier] = STATE(2998),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1547),
    [sym_boolean_literal] = STATE(1547),
    [sym__string_literal] = STATE(1547),
    [sym_line_string_literal] = STATE(1547),
    [sym_multi_line_string_literal] = STATE(1547),
    [sym_raw_string_literal] = STATE(1547),
    [sym_regex_literal] = STATE(1547),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6292),
    [sym_opaque_type] = STATE(8706),
    [sym_existential_type] = STATE(8706),
    [sym__expression] = STATE(1547),
    [sym__unary_expression] = STATE(1547),
    [sym_postfix_expression] = STATE(1547),
    [sym_constructor_expression] = STATE(1547),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1547),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1547),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1547),
    [sym_prefix_expression] = STATE(1547),
    [sym_as_expression] = STATE(1547),
    [sym_selector_expression] = STATE(1547),
    [sym__binary_expression] = STATE(1547),
    [sym_multiplicative_expression] = STATE(1547),
    [sym_additive_expression] = STATE(1547),
    [sym_range_expression] = STATE(1547),
    [sym_infix_expression] = STATE(1547),
    [sym_nil_coalescing_expression] = STATE(1547),
    [sym_check_expression] = STATE(1547),
    [sym_comparison_expression] = STATE(1547),
    [sym_equality_expression] = STATE(1547),
    [sym_conjunction_expression] = STATE(1547),
    [sym_disjunction_expression] = STATE(1547),
    [sym_bitwise_operation] = STATE(1547),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1547),
    [sym_await_expression] = STATE(1547),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1547),
    [sym_call_expression] = STATE(1547),
    [sym_macro_invocation] = STATE(1547),
    [sym__primary_expression] = STATE(1547),
    [sym_tuple_expression] = STATE(1547),
    [sym_array_literal] = STATE(1547),
    [sym_dictionary_literal] = STATE(1547),
    [sym_special_literal] = STATE(1547),
    [sym_playground_literal] = STATE(1547),
    [sym_lambda_literal] = STATE(1547),
    [sym_self_expression] = STATE(1547),
    [sym_super_expression] = STATE(1547),
    [sym_if_statement] = STATE(1547),
    [sym_switch_statement] = STATE(1547),
    [sym_key_path_expression] = STATE(1547),
    [sym_key_path_string_expression] = STATE(1547),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1547),
    [sym__equality_operator] = STATE(1547),
    [sym__comparison_operator] = STATE(1547),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1547),
    [sym__multiplicative_operator] = STATE(1547),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1547),
    [sym_value_parameter_pack] = STATE(1547),
    [sym_value_pack_expansion] = STATE(1547),
    [sym__referenceable_operator] = STATE(1547),
    [sym__equal_sign] = STATE(1547),
    [sym__eq_eq] = STATE(1547),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1547),
    [sym_diagnostic] = STATE(1547),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1602),
    [sym_real_literal] = ACTIONS(1604),
    [sym_integer_literal] = ACTIONS(1602),
    [sym_hex_literal] = ACTIONS(1602),
    [sym_oct_literal] = ACTIONS(1604),
    [sym_bin_literal] = ACTIONS(1604),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1602),
    [anon_sym_GT] = ACTIONS(1602),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1604),
    [anon_sym_DASH_EQ] = ACTIONS(1604),
    [anon_sym_STAR_EQ] = ACTIONS(1604),
    [anon_sym_SLASH_EQ] = ACTIONS(1604),
    [anon_sym_PERCENT_EQ] = ACTIONS(1604),
    [anon_sym_BANG_EQ] = ACTIONS(1602),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1604),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1604),
    [anon_sym_LT_EQ] = ACTIONS(1604),
    [anon_sym_GT_EQ] = ACTIONS(1604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1602),
    [anon_sym_SLASH] = ACTIONS(1602),
    [anon_sym_PERCENT] = ACTIONS(1602),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1604),
    [anon_sym_CARET] = ACTIONS(1602),
    [anon_sym_LT_LT] = ACTIONS(1604),
    [anon_sym_GT_GT] = ACTIONS(1604),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1604),
    [sym__eq_eq_custom] = ACTIONS(1604),
    [sym__plus_then_ws] = ACTIONS(1604),
    [sym__minus_then_ws] = ACTIONS(1604),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [352] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(8269),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1606),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [353] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(8269),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1608),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [354] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(8269),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1610),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [355] = {
    [sym_simple_identifier] = STATE(3022),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1585),
    [sym_boolean_literal] = STATE(1585),
    [sym__string_literal] = STATE(1585),
    [sym_line_string_literal] = STATE(1585),
    [sym_multi_line_string_literal] = STATE(1585),
    [sym_raw_string_literal] = STATE(1585),
    [sym_regex_literal] = STATE(1585),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6292),
    [sym_opaque_type] = STATE(8706),
    [sym_existential_type] = STATE(8706),
    [sym__expression] = STATE(1585),
    [sym__unary_expression] = STATE(1585),
    [sym_postfix_expression] = STATE(1585),
    [sym_constructor_expression] = STATE(1585),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1585),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1585),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1585),
    [sym_prefix_expression] = STATE(1585),
    [sym_as_expression] = STATE(1585),
    [sym_selector_expression] = STATE(1585),
    [sym__binary_expression] = STATE(1585),
    [sym_multiplicative_expression] = STATE(1585),
    [sym_additive_expression] = STATE(1585),
    [sym_range_expression] = STATE(1585),
    [sym_infix_expression] = STATE(1585),
    [sym_nil_coalescing_expression] = STATE(1585),
    [sym_check_expression] = STATE(1585),
    [sym_comparison_expression] = STATE(1585),
    [sym_equality_expression] = STATE(1585),
    [sym_conjunction_expression] = STATE(1585),
    [sym_disjunction_expression] = STATE(1585),
    [sym_bitwise_operation] = STATE(1585),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1585),
    [sym_await_expression] = STATE(1585),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1585),
    [sym_call_expression] = STATE(1585),
    [sym_macro_invocation] = STATE(1585),
    [sym__primary_expression] = STATE(1585),
    [sym_tuple_expression] = STATE(1585),
    [sym_array_literal] = STATE(1585),
    [sym_dictionary_literal] = STATE(1585),
    [sym_special_literal] = STATE(1585),
    [sym_playground_literal] = STATE(1585),
    [sym_lambda_literal] = STATE(1585),
    [sym_self_expression] = STATE(1585),
    [sym_super_expression] = STATE(1585),
    [sym_if_statement] = STATE(1585),
    [sym_switch_statement] = STATE(1585),
    [sym_key_path_expression] = STATE(1585),
    [sym_key_path_string_expression] = STATE(1585),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1585),
    [sym__equality_operator] = STATE(1585),
    [sym__comparison_operator] = STATE(1585),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1585),
    [sym__multiplicative_operator] = STATE(1585),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1585),
    [sym_value_parameter_pack] = STATE(1585),
    [sym_value_pack_expansion] = STATE(1585),
    [sym__referenceable_operator] = STATE(1585),
    [sym__equal_sign] = STATE(1585),
    [sym__eq_eq] = STATE(1585),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1585),
    [sym_diagnostic] = STATE(1585),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1612),
    [sym_real_literal] = ACTIONS(1614),
    [sym_integer_literal] = ACTIONS(1612),
    [sym_hex_literal] = ACTIONS(1612),
    [sym_oct_literal] = ACTIONS(1614),
    [sym_bin_literal] = ACTIONS(1614),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1612),
    [anon_sym_GT] = ACTIONS(1612),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1614),
    [anon_sym_DASH_EQ] = ACTIONS(1614),
    [anon_sym_STAR_EQ] = ACTIONS(1614),
    [anon_sym_SLASH_EQ] = ACTIONS(1614),
    [anon_sym_PERCENT_EQ] = ACTIONS(1614),
    [anon_sym_BANG_EQ] = ACTIONS(1612),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1614),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1614),
    [anon_sym_LT_EQ] = ACTIONS(1614),
    [anon_sym_GT_EQ] = ACTIONS(1614),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1612),
    [anon_sym_SLASH] = ACTIONS(1612),
    [anon_sym_PERCENT] = ACTIONS(1612),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1614),
    [anon_sym_CARET] = ACTIONS(1612),
    [anon_sym_LT_LT] = ACTIONS(1614),
    [anon_sym_GT_GT] = ACTIONS(1614),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1614),
    [sym__eq_eq_custom] = ACTIONS(1614),
    [sym__plus_then_ws] = ACTIONS(1614),
    [sym__minus_then_ws] = ACTIONS(1614),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [356] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(8269),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1616),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [357] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(8269),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1618),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [358] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(8269),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1620),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [359] = {
    [sym_simple_identifier] = STATE(2966),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1545),
    [sym_boolean_literal] = STATE(1545),
    [sym__string_literal] = STATE(1545),
    [sym_line_string_literal] = STATE(1545),
    [sym_multi_line_string_literal] = STATE(1545),
    [sym_raw_string_literal] = STATE(1545),
    [sym_regex_literal] = STATE(1545),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6292),
    [sym_opaque_type] = STATE(8706),
    [sym_existential_type] = STATE(8706),
    [sym__expression] = STATE(1545),
    [sym__unary_expression] = STATE(1545),
    [sym_postfix_expression] = STATE(1545),
    [sym_constructor_expression] = STATE(1545),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1545),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1545),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1545),
    [sym_prefix_expression] = STATE(1545),
    [sym_as_expression] = STATE(1545),
    [sym_selector_expression] = STATE(1545),
    [sym__binary_expression] = STATE(1545),
    [sym_multiplicative_expression] = STATE(1545),
    [sym_additive_expression] = STATE(1545),
    [sym_range_expression] = STATE(1545),
    [sym_infix_expression] = STATE(1545),
    [sym_nil_coalescing_expression] = STATE(1545),
    [sym_check_expression] = STATE(1545),
    [sym_comparison_expression] = STATE(1545),
    [sym_equality_expression] = STATE(1545),
    [sym_conjunction_expression] = STATE(1545),
    [sym_disjunction_expression] = STATE(1545),
    [sym_bitwise_operation] = STATE(1545),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1545),
    [sym_await_expression] = STATE(1545),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1545),
    [sym_call_expression] = STATE(1545),
    [sym_macro_invocation] = STATE(1545),
    [sym__primary_expression] = STATE(1545),
    [sym_tuple_expression] = STATE(1545),
    [sym_array_literal] = STATE(1545),
    [sym_dictionary_literal] = STATE(1545),
    [sym_special_literal] = STATE(1545),
    [sym_playground_literal] = STATE(1545),
    [sym_lambda_literal] = STATE(1545),
    [sym_self_expression] = STATE(1545),
    [sym_super_expression] = STATE(1545),
    [sym_if_statement] = STATE(1545),
    [sym_switch_statement] = STATE(1545),
    [sym_key_path_expression] = STATE(1545),
    [sym_key_path_string_expression] = STATE(1545),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1545),
    [sym__equality_operator] = STATE(1545),
    [sym__comparison_operator] = STATE(1545),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1545),
    [sym__multiplicative_operator] = STATE(1545),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1545),
    [sym_value_parameter_pack] = STATE(1545),
    [sym_value_pack_expansion] = STATE(1545),
    [sym__referenceable_operator] = STATE(1545),
    [sym__equal_sign] = STATE(1545),
    [sym__eq_eq] = STATE(1545),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1545),
    [sym_diagnostic] = STATE(1545),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(805),
    [sym_real_literal] = ACTIONS(807),
    [sym_integer_literal] = ACTIONS(805),
    [sym_hex_literal] = ACTIONS(805),
    [sym_oct_literal] = ACTIONS(807),
    [sym_bin_literal] = ACTIONS(807),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(805),
    [anon_sym_GT] = ACTIONS(805),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(807),
    [anon_sym_DASH_EQ] = ACTIONS(807),
    [anon_sym_STAR_EQ] = ACTIONS(807),
    [anon_sym_SLASH_EQ] = ACTIONS(807),
    [anon_sym_PERCENT_EQ] = ACTIONS(807),
    [anon_sym_BANG_EQ] = ACTIONS(805),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(807),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(807),
    [anon_sym_LT_EQ] = ACTIONS(807),
    [anon_sym_GT_EQ] = ACTIONS(807),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(805),
    [anon_sym_SLASH] = ACTIONS(805),
    [anon_sym_PERCENT] = ACTIONS(805),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(807),
    [anon_sym_CARET] = ACTIONS(805),
    [anon_sym_LT_LT] = ACTIONS(807),
    [anon_sym_GT_GT] = ACTIONS(807),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(807),
    [sym__eq_eq_custom] = ACTIONS(807),
    [sym__plus_then_ws] = ACTIONS(807),
    [sym__minus_then_ws] = ACTIONS(807),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [360] = {
    [sym_simple_identifier] = STATE(3017),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1553),
    [sym_boolean_literal] = STATE(1553),
    [sym__string_literal] = STATE(1553),
    [sym_line_string_literal] = STATE(1553),
    [sym_multi_line_string_literal] = STATE(1553),
    [sym_raw_string_literal] = STATE(1553),
    [sym_regex_literal] = STATE(1553),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6292),
    [sym_opaque_type] = STATE(8706),
    [sym_existential_type] = STATE(8706),
    [sym__expression] = STATE(1553),
    [sym__unary_expression] = STATE(1553),
    [sym_postfix_expression] = STATE(1553),
    [sym_constructor_expression] = STATE(1553),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1553),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1553),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1553),
    [sym_prefix_expression] = STATE(1553),
    [sym_as_expression] = STATE(1553),
    [sym_selector_expression] = STATE(1553),
    [sym__binary_expression] = STATE(1553),
    [sym_multiplicative_expression] = STATE(1553),
    [sym_additive_expression] = STATE(1553),
    [sym_range_expression] = STATE(1553),
    [sym_infix_expression] = STATE(1553),
    [sym_nil_coalescing_expression] = STATE(1553),
    [sym_check_expression] = STATE(1553),
    [sym_comparison_expression] = STATE(1553),
    [sym_equality_expression] = STATE(1553),
    [sym_conjunction_expression] = STATE(1553),
    [sym_disjunction_expression] = STATE(1553),
    [sym_bitwise_operation] = STATE(1553),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1553),
    [sym_await_expression] = STATE(1553),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1553),
    [sym_call_expression] = STATE(1553),
    [sym_macro_invocation] = STATE(1553),
    [sym__primary_expression] = STATE(1553),
    [sym_tuple_expression] = STATE(1553),
    [sym_array_literal] = STATE(1553),
    [sym_dictionary_literal] = STATE(1553),
    [sym_special_literal] = STATE(1553),
    [sym_playground_literal] = STATE(1553),
    [sym_lambda_literal] = STATE(1553),
    [sym_self_expression] = STATE(1553),
    [sym_super_expression] = STATE(1553),
    [sym_if_statement] = STATE(1553),
    [sym_switch_statement] = STATE(1553),
    [sym_key_path_expression] = STATE(1553),
    [sym_key_path_string_expression] = STATE(1553),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1553),
    [sym__equality_operator] = STATE(1553),
    [sym__comparison_operator] = STATE(1553),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1553),
    [sym__multiplicative_operator] = STATE(1553),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1553),
    [sym_value_parameter_pack] = STATE(1553),
    [sym_value_pack_expansion] = STATE(1553),
    [sym__referenceable_operator] = STATE(1553),
    [sym__equal_sign] = STATE(1553),
    [sym__eq_eq] = STATE(1553),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1553),
    [sym_diagnostic] = STATE(1553),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1622),
    [sym_real_literal] = ACTIONS(1624),
    [sym_integer_literal] = ACTIONS(1622),
    [sym_hex_literal] = ACTIONS(1622),
    [sym_oct_literal] = ACTIONS(1624),
    [sym_bin_literal] = ACTIONS(1624),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1622),
    [anon_sym_GT] = ACTIONS(1622),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1624),
    [anon_sym_DASH_EQ] = ACTIONS(1624),
    [anon_sym_STAR_EQ] = ACTIONS(1624),
    [anon_sym_SLASH_EQ] = ACTIONS(1624),
    [anon_sym_PERCENT_EQ] = ACTIONS(1624),
    [anon_sym_BANG_EQ] = ACTIONS(1622),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1624),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1624),
    [anon_sym_LT_EQ] = ACTIONS(1624),
    [anon_sym_GT_EQ] = ACTIONS(1624),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1622),
    [anon_sym_SLASH] = ACTIONS(1622),
    [anon_sym_PERCENT] = ACTIONS(1622),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1624),
    [anon_sym_CARET] = ACTIONS(1622),
    [anon_sym_LT_LT] = ACTIONS(1624),
    [anon_sym_GT_GT] = ACTIONS(1624),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1624),
    [sym__eq_eq_custom] = ACTIONS(1624),
    [sym__plus_then_ws] = ACTIONS(1624),
    [sym__minus_then_ws] = ACTIONS(1624),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [361] = {
    [sym_simple_identifier] = STATE(3033),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1590),
    [sym_boolean_literal] = STATE(1590),
    [sym__string_literal] = STATE(1590),
    [sym_line_string_literal] = STATE(1590),
    [sym_multi_line_string_literal] = STATE(1590),
    [sym_raw_string_literal] = STATE(1590),
    [sym_regex_literal] = STATE(1590),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6292),
    [sym_opaque_type] = STATE(8706),
    [sym_existential_type] = STATE(8706),
    [sym__expression] = STATE(1590),
    [sym__unary_expression] = STATE(1590),
    [sym_postfix_expression] = STATE(1590),
    [sym_constructor_expression] = STATE(1590),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1590),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1590),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1590),
    [sym_prefix_expression] = STATE(1590),
    [sym_as_expression] = STATE(1590),
    [sym_selector_expression] = STATE(1590),
    [sym__binary_expression] = STATE(1590),
    [sym_multiplicative_expression] = STATE(1590),
    [sym_additive_expression] = STATE(1590),
    [sym_range_expression] = STATE(1590),
    [sym_infix_expression] = STATE(1590),
    [sym_nil_coalescing_expression] = STATE(1590),
    [sym_check_expression] = STATE(1590),
    [sym_comparison_expression] = STATE(1590),
    [sym_equality_expression] = STATE(1590),
    [sym_conjunction_expression] = STATE(1590),
    [sym_disjunction_expression] = STATE(1590),
    [sym_bitwise_operation] = STATE(1590),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1590),
    [sym_await_expression] = STATE(1590),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1590),
    [sym_call_expression] = STATE(1590),
    [sym_macro_invocation] = STATE(1590),
    [sym__primary_expression] = STATE(1590),
    [sym_tuple_expression] = STATE(1590),
    [sym_array_literal] = STATE(1590),
    [sym_dictionary_literal] = STATE(1590),
    [sym_special_literal] = STATE(1590),
    [sym_playground_literal] = STATE(1590),
    [sym_lambda_literal] = STATE(1590),
    [sym_self_expression] = STATE(1590),
    [sym_super_expression] = STATE(1590),
    [sym_if_statement] = STATE(1590),
    [sym_switch_statement] = STATE(1590),
    [sym_key_path_expression] = STATE(1590),
    [sym_key_path_string_expression] = STATE(1590),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1590),
    [sym__equality_operator] = STATE(1590),
    [sym__comparison_operator] = STATE(1590),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1590),
    [sym__multiplicative_operator] = STATE(1590),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1590),
    [sym_value_parameter_pack] = STATE(1590),
    [sym_value_pack_expansion] = STATE(1590),
    [sym__referenceable_operator] = STATE(1590),
    [sym__equal_sign] = STATE(1590),
    [sym__eq_eq] = STATE(1590),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1590),
    [sym_diagnostic] = STATE(1590),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1626),
    [sym_real_literal] = ACTIONS(1628),
    [sym_integer_literal] = ACTIONS(1626),
    [sym_hex_literal] = ACTIONS(1626),
    [sym_oct_literal] = ACTIONS(1628),
    [sym_bin_literal] = ACTIONS(1628),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1626),
    [anon_sym_GT] = ACTIONS(1626),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1628),
    [anon_sym_DASH_EQ] = ACTIONS(1628),
    [anon_sym_STAR_EQ] = ACTIONS(1628),
    [anon_sym_SLASH_EQ] = ACTIONS(1628),
    [anon_sym_PERCENT_EQ] = ACTIONS(1628),
    [anon_sym_BANG_EQ] = ACTIONS(1626),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1628),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1628),
    [anon_sym_LT_EQ] = ACTIONS(1628),
    [anon_sym_GT_EQ] = ACTIONS(1628),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1626),
    [anon_sym_SLASH] = ACTIONS(1626),
    [anon_sym_PERCENT] = ACTIONS(1626),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1628),
    [anon_sym_CARET] = ACTIONS(1626),
    [anon_sym_LT_LT] = ACTIONS(1628),
    [anon_sym_GT_GT] = ACTIONS(1628),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1628),
    [sym__eq_eq_custom] = ACTIONS(1628),
    [sym__plus_then_ws] = ACTIONS(1628),
    [sym__minus_then_ws] = ACTIONS(1628),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [362] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(8269),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1630),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [363] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(8269),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1632),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [364] = {
    [sym_simple_identifier] = STATE(2842),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1563),
    [sym_boolean_literal] = STATE(1563),
    [sym__string_literal] = STATE(1563),
    [sym_line_string_literal] = STATE(1563),
    [sym_multi_line_string_literal] = STATE(1563),
    [sym_raw_string_literal] = STATE(1563),
    [sym_regex_literal] = STATE(1563),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6292),
    [sym_opaque_type] = STATE(8706),
    [sym_existential_type] = STATE(8706),
    [sym__expression] = STATE(1563),
    [sym__unary_expression] = STATE(1563),
    [sym_postfix_expression] = STATE(1563),
    [sym_constructor_expression] = STATE(1563),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1563),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1563),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1563),
    [sym_prefix_expression] = STATE(1563),
    [sym_as_expression] = STATE(1563),
    [sym_selector_expression] = STATE(1563),
    [sym__binary_expression] = STATE(1563),
    [sym_multiplicative_expression] = STATE(1563),
    [sym_additive_expression] = STATE(1563),
    [sym_range_expression] = STATE(1563),
    [sym_infix_expression] = STATE(1563),
    [sym_nil_coalescing_expression] = STATE(1563),
    [sym_check_expression] = STATE(1563),
    [sym_comparison_expression] = STATE(1563),
    [sym_equality_expression] = STATE(1563),
    [sym_conjunction_expression] = STATE(1563),
    [sym_disjunction_expression] = STATE(1563),
    [sym_bitwise_operation] = STATE(1563),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1563),
    [sym_await_expression] = STATE(1563),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1563),
    [sym_call_expression] = STATE(1563),
    [sym_macro_invocation] = STATE(1563),
    [sym__primary_expression] = STATE(1563),
    [sym_tuple_expression] = STATE(1563),
    [sym_array_literal] = STATE(1563),
    [sym_dictionary_literal] = STATE(1563),
    [sym_special_literal] = STATE(1563),
    [sym_playground_literal] = STATE(1563),
    [sym_lambda_literal] = STATE(1563),
    [sym_self_expression] = STATE(1563),
    [sym_super_expression] = STATE(1563),
    [sym_if_statement] = STATE(1563),
    [sym_switch_statement] = STATE(1563),
    [sym_key_path_expression] = STATE(1563),
    [sym_key_path_string_expression] = STATE(1563),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1563),
    [sym__equality_operator] = STATE(1563),
    [sym__comparison_operator] = STATE(1563),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1563),
    [sym__multiplicative_operator] = STATE(1563),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1563),
    [sym_value_parameter_pack] = STATE(1563),
    [sym_value_pack_expansion] = STATE(1563),
    [sym__referenceable_operator] = STATE(1563),
    [sym__equal_sign] = STATE(1563),
    [sym__eq_eq] = STATE(1563),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1563),
    [sym_diagnostic] = STATE(1563),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1527),
    [sym_real_literal] = ACTIONS(1529),
    [sym_integer_literal] = ACTIONS(1527),
    [sym_hex_literal] = ACTIONS(1527),
    [sym_oct_literal] = ACTIONS(1529),
    [sym_bin_literal] = ACTIONS(1529),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_some] = ACTIONS(771),
    [anon_sym_any] = ACTIONS(773),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1527),
    [anon_sym_GT] = ACTIONS(1527),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1529),
    [anon_sym_DASH_EQ] = ACTIONS(1529),
    [anon_sym_STAR_EQ] = ACTIONS(1529),
    [anon_sym_SLASH_EQ] = ACTIONS(1529),
    [anon_sym_PERCENT_EQ] = ACTIONS(1529),
    [anon_sym_BANG_EQ] = ACTIONS(1527),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1529),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1529),
    [anon_sym_LT_EQ] = ACTIONS(1529),
    [anon_sym_GT_EQ] = ACTIONS(1529),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1527),
    [anon_sym_SLASH] = ACTIONS(1527),
    [anon_sym_PERCENT] = ACTIONS(1527),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1529),
    [anon_sym_CARET] = ACTIONS(1527),
    [anon_sym_LT_LT] = ACTIONS(1529),
    [anon_sym_GT_GT] = ACTIONS(1529),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1529),
    [sym__eq_eq_custom] = ACTIONS(1529),
    [sym__plus_then_ws] = ACTIONS(1529),
    [sym__minus_then_ws] = ACTIONS(1529),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [365] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(7603),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [366] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(7691),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [367] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1648),
    [sym_boolean_literal] = STATE(1648),
    [sym__string_literal] = STATE(1648),
    [sym_line_string_literal] = STATE(1648),
    [sym_multi_line_string_literal] = STATE(1648),
    [sym_raw_string_literal] = STATE(1648),
    [sym_regex_literal] = STATE(1648),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1648),
    [sym__unary_expression] = STATE(1648),
    [sym_postfix_expression] = STATE(1648),
    [sym_constructor_expression] = STATE(1648),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1648),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1648),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1648),
    [sym_prefix_expression] = STATE(1648),
    [sym_as_expression] = STATE(1648),
    [sym_selector_expression] = STATE(1648),
    [sym__binary_expression] = STATE(1648),
    [sym_multiplicative_expression] = STATE(1648),
    [sym_additive_expression] = STATE(1648),
    [sym_range_expression] = STATE(1648),
    [sym_infix_expression] = STATE(1648),
    [sym_nil_coalescing_expression] = STATE(1648),
    [sym_check_expression] = STATE(1648),
    [sym_comparison_expression] = STATE(1648),
    [sym_equality_expression] = STATE(1648),
    [sym_conjunction_expression] = STATE(1648),
    [sym_disjunction_expression] = STATE(1648),
    [sym_bitwise_operation] = STATE(1648),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1648),
    [sym_await_expression] = STATE(1648),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1648),
    [sym_call_expression] = STATE(1648),
    [sym_macro_invocation] = STATE(1648),
    [sym__primary_expression] = STATE(1648),
    [sym_tuple_expression] = STATE(1648),
    [sym_array_literal] = STATE(1648),
    [sym_dictionary_literal] = STATE(1648),
    [sym__dictionary_literal_item] = STATE(8246),
    [sym_special_literal] = STATE(1648),
    [sym_playground_literal] = STATE(1648),
    [sym_lambda_literal] = STATE(1648),
    [sym_self_expression] = STATE(1648),
    [sym_super_expression] = STATE(1648),
    [sym_if_statement] = STATE(1648),
    [sym_switch_statement] = STATE(1648),
    [sym_key_path_expression] = STATE(1648),
    [sym_key_path_string_expression] = STATE(1648),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1648),
    [sym__equality_operator] = STATE(1648),
    [sym__comparison_operator] = STATE(1648),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1648),
    [sym__multiplicative_operator] = STATE(1648),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1648),
    [sym_value_parameter_pack] = STATE(1648),
    [sym_value_pack_expansion] = STATE(1648),
    [sym__referenceable_operator] = STATE(1648),
    [sym__equal_sign] = STATE(1648),
    [sym__eq_eq] = STATE(1648),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1648),
    [sym_diagnostic] = STATE(1648),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1634),
    [sym_real_literal] = ACTIONS(1636),
    [sym_integer_literal] = ACTIONS(1634),
    [sym_hex_literal] = ACTIONS(1634),
    [sym_oct_literal] = ACTIONS(1636),
    [sym_bin_literal] = ACTIONS(1636),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(1638),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1640),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1634),
    [anon_sym_GT] = ACTIONS(1634),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1636),
    [anon_sym_DASH_EQ] = ACTIONS(1636),
    [anon_sym_STAR_EQ] = ACTIONS(1636),
    [anon_sym_SLASH_EQ] = ACTIONS(1636),
    [anon_sym_PERCENT_EQ] = ACTIONS(1636),
    [anon_sym_BANG_EQ] = ACTIONS(1634),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1636),
    [anon_sym_LT_EQ] = ACTIONS(1636),
    [anon_sym_GT_EQ] = ACTIONS(1636),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1634),
    [anon_sym_SLASH] = ACTIONS(1634),
    [anon_sym_PERCENT] = ACTIONS(1634),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1636),
    [anon_sym_CARET] = ACTIONS(1634),
    [anon_sym_LT_LT] = ACTIONS(1636),
    [anon_sym_GT_GT] = ACTIONS(1636),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1636),
    [sym__eq_eq_custom] = ACTIONS(1636),
    [sym__plus_then_ws] = ACTIONS(1636),
    [sym__minus_then_ws] = ACTIONS(1636),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [368] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1648),
    [sym_boolean_literal] = STATE(1648),
    [sym__string_literal] = STATE(1648),
    [sym_line_string_literal] = STATE(1648),
    [sym_multi_line_string_literal] = STATE(1648),
    [sym_raw_string_literal] = STATE(1648),
    [sym_regex_literal] = STATE(1648),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1648),
    [sym__unary_expression] = STATE(1648),
    [sym_postfix_expression] = STATE(1648),
    [sym_constructor_expression] = STATE(1648),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1648),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1648),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1648),
    [sym_prefix_expression] = STATE(1648),
    [sym_as_expression] = STATE(1648),
    [sym_selector_expression] = STATE(1648),
    [sym__binary_expression] = STATE(1648),
    [sym_multiplicative_expression] = STATE(1648),
    [sym_additive_expression] = STATE(1648),
    [sym_range_expression] = STATE(1648),
    [sym_infix_expression] = STATE(1648),
    [sym_nil_coalescing_expression] = STATE(1648),
    [sym_check_expression] = STATE(1648),
    [sym_comparison_expression] = STATE(1648),
    [sym_equality_expression] = STATE(1648),
    [sym_conjunction_expression] = STATE(1648),
    [sym_disjunction_expression] = STATE(1648),
    [sym_bitwise_operation] = STATE(1648),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1648),
    [sym_await_expression] = STATE(1648),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1648),
    [sym_call_expression] = STATE(1648),
    [sym_macro_invocation] = STATE(1648),
    [sym__primary_expression] = STATE(1648),
    [sym_tuple_expression] = STATE(1648),
    [sym_array_literal] = STATE(1648),
    [sym_dictionary_literal] = STATE(1648),
    [sym__dictionary_literal_item] = STATE(8246),
    [sym_special_literal] = STATE(1648),
    [sym_playground_literal] = STATE(1648),
    [sym_lambda_literal] = STATE(1648),
    [sym_self_expression] = STATE(1648),
    [sym_super_expression] = STATE(1648),
    [sym_if_statement] = STATE(1648),
    [sym_switch_statement] = STATE(1648),
    [sym_key_path_expression] = STATE(1648),
    [sym_key_path_string_expression] = STATE(1648),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1648),
    [sym__equality_operator] = STATE(1648),
    [sym__comparison_operator] = STATE(1648),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1648),
    [sym__multiplicative_operator] = STATE(1648),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1648),
    [sym_value_parameter_pack] = STATE(1648),
    [sym_value_pack_expansion] = STATE(1648),
    [sym__referenceable_operator] = STATE(1648),
    [sym__equal_sign] = STATE(1648),
    [sym__eq_eq] = STATE(1648),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1648),
    [sym_diagnostic] = STATE(1648),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1634),
    [sym_real_literal] = ACTIONS(1636),
    [sym_integer_literal] = ACTIONS(1634),
    [sym_hex_literal] = ACTIONS(1634),
    [sym_oct_literal] = ACTIONS(1636),
    [sym_bin_literal] = ACTIONS(1636),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(1642),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1644),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1634),
    [anon_sym_GT] = ACTIONS(1634),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1636),
    [anon_sym_DASH_EQ] = ACTIONS(1636),
    [anon_sym_STAR_EQ] = ACTIONS(1636),
    [anon_sym_SLASH_EQ] = ACTIONS(1636),
    [anon_sym_PERCENT_EQ] = ACTIONS(1636),
    [anon_sym_BANG_EQ] = ACTIONS(1634),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1636),
    [anon_sym_LT_EQ] = ACTIONS(1636),
    [anon_sym_GT_EQ] = ACTIONS(1636),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1634),
    [anon_sym_SLASH] = ACTIONS(1634),
    [anon_sym_PERCENT] = ACTIONS(1634),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1636),
    [anon_sym_CARET] = ACTIONS(1634),
    [anon_sym_LT_LT] = ACTIONS(1636),
    [anon_sym_GT_GT] = ACTIONS(1636),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1636),
    [sym__eq_eq_custom] = ACTIONS(1636),
    [sym__plus_then_ws] = ACTIONS(1636),
    [sym__minus_then_ws] = ACTIONS(1636),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [369] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(7466),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [370] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(8140),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [371] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(7764),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [372] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(8269),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [373] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1648),
    [sym_boolean_literal] = STATE(1648),
    [sym__string_literal] = STATE(1648),
    [sym_line_string_literal] = STATE(1648),
    [sym_multi_line_string_literal] = STATE(1648),
    [sym_raw_string_literal] = STATE(1648),
    [sym_regex_literal] = STATE(1648),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1648),
    [sym__unary_expression] = STATE(1648),
    [sym_postfix_expression] = STATE(1648),
    [sym_constructor_expression] = STATE(1648),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1648),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1648),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1648),
    [sym_prefix_expression] = STATE(1648),
    [sym_as_expression] = STATE(1648),
    [sym_selector_expression] = STATE(1648),
    [sym__binary_expression] = STATE(1648),
    [sym_multiplicative_expression] = STATE(1648),
    [sym_additive_expression] = STATE(1648),
    [sym_range_expression] = STATE(1648),
    [sym_infix_expression] = STATE(1648),
    [sym_nil_coalescing_expression] = STATE(1648),
    [sym_check_expression] = STATE(1648),
    [sym_comparison_expression] = STATE(1648),
    [sym_equality_expression] = STATE(1648),
    [sym_conjunction_expression] = STATE(1648),
    [sym_disjunction_expression] = STATE(1648),
    [sym_bitwise_operation] = STATE(1648),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1648),
    [sym_await_expression] = STATE(1648),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1648),
    [sym_call_expression] = STATE(1648),
    [sym_macro_invocation] = STATE(1648),
    [sym__primary_expression] = STATE(1648),
    [sym_tuple_expression] = STATE(1648),
    [sym_array_literal] = STATE(1648),
    [sym_dictionary_literal] = STATE(1648),
    [sym__dictionary_literal_item] = STATE(8246),
    [sym_special_literal] = STATE(1648),
    [sym_playground_literal] = STATE(1648),
    [sym_lambda_literal] = STATE(1648),
    [sym_self_expression] = STATE(1648),
    [sym_super_expression] = STATE(1648),
    [sym_if_statement] = STATE(1648),
    [sym_switch_statement] = STATE(1648),
    [sym_key_path_expression] = STATE(1648),
    [sym_key_path_string_expression] = STATE(1648),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1648),
    [sym__equality_operator] = STATE(1648),
    [sym__comparison_operator] = STATE(1648),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1648),
    [sym__multiplicative_operator] = STATE(1648),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1648),
    [sym_value_parameter_pack] = STATE(1648),
    [sym_value_pack_expansion] = STATE(1648),
    [sym__referenceable_operator] = STATE(1648),
    [sym__equal_sign] = STATE(1648),
    [sym__eq_eq] = STATE(1648),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1648),
    [sym_diagnostic] = STATE(1648),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1634),
    [sym_real_literal] = ACTIONS(1636),
    [sym_integer_literal] = ACTIONS(1634),
    [sym_hex_literal] = ACTIONS(1634),
    [sym_oct_literal] = ACTIONS(1636),
    [sym_bin_literal] = ACTIONS(1636),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(1646),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1648),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1634),
    [anon_sym_GT] = ACTIONS(1634),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1636),
    [anon_sym_DASH_EQ] = ACTIONS(1636),
    [anon_sym_STAR_EQ] = ACTIONS(1636),
    [anon_sym_SLASH_EQ] = ACTIONS(1636),
    [anon_sym_PERCENT_EQ] = ACTIONS(1636),
    [anon_sym_BANG_EQ] = ACTIONS(1634),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1636),
    [anon_sym_LT_EQ] = ACTIONS(1636),
    [anon_sym_GT_EQ] = ACTIONS(1636),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1634),
    [anon_sym_SLASH] = ACTIONS(1634),
    [anon_sym_PERCENT] = ACTIONS(1634),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1636),
    [anon_sym_CARET] = ACTIONS(1634),
    [anon_sym_LT_LT] = ACTIONS(1636),
    [anon_sym_GT_GT] = ACTIONS(1636),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1636),
    [sym__eq_eq_custom] = ACTIONS(1636),
    [sym__plus_then_ws] = ACTIONS(1636),
    [sym__minus_then_ws] = ACTIONS(1636),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [374] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1667),
    [sym_boolean_literal] = STATE(1667),
    [sym__string_literal] = STATE(1667),
    [sym_line_string_literal] = STATE(1667),
    [sym_multi_line_string_literal] = STATE(1667),
    [sym_raw_string_literal] = STATE(1667),
    [sym_regex_literal] = STATE(1667),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1667),
    [sym__unary_expression] = STATE(1667),
    [sym_postfix_expression] = STATE(1667),
    [sym_constructor_expression] = STATE(1667),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1667),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1667),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1667),
    [sym_prefix_expression] = STATE(1667),
    [sym_as_expression] = STATE(1667),
    [sym_selector_expression] = STATE(1667),
    [sym__binary_expression] = STATE(1667),
    [sym_multiplicative_expression] = STATE(1667),
    [sym_additive_expression] = STATE(1667),
    [sym_range_expression] = STATE(1667),
    [sym_infix_expression] = STATE(1667),
    [sym_nil_coalescing_expression] = STATE(1667),
    [sym_check_expression] = STATE(1667),
    [sym_comparison_expression] = STATE(1667),
    [sym_equality_expression] = STATE(1667),
    [sym_conjunction_expression] = STATE(1667),
    [sym_disjunction_expression] = STATE(1667),
    [sym_bitwise_operation] = STATE(1667),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1667),
    [sym_await_expression] = STATE(1667),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1667),
    [sym_call_expression] = STATE(1667),
    [sym_macro_invocation] = STATE(1667),
    [sym__primary_expression] = STATE(1667),
    [sym_tuple_expression] = STATE(1667),
    [sym_array_literal] = STATE(1667),
    [sym_dictionary_literal] = STATE(1667),
    [sym_special_literal] = STATE(1667),
    [sym_playground_literal] = STATE(1667),
    [sym_lambda_literal] = STATE(1667),
    [sym_self_expression] = STATE(1667),
    [sym_super_expression] = STATE(1667),
    [sym_if_statement] = STATE(1667),
    [sym_switch_statement] = STATE(1667),
    [sym_key_path_expression] = STATE(1667),
    [sym_key_path_string_expression] = STATE(1667),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1667),
    [sym__equality_operator] = STATE(1667),
    [sym__comparison_operator] = STATE(1667),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1667),
    [sym__multiplicative_operator] = STATE(1667),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1667),
    [sym_value_parameter_pack] = STATE(1667),
    [sym_value_pack_expansion] = STATE(1667),
    [sym__referenceable_operator] = STATE(1667),
    [sym__equal_sign] = STATE(1667),
    [sym__eq_eq] = STATE(1667),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1667),
    [sym_diagnostic] = STATE(1667),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1650),
    [sym_real_literal] = ACTIONS(1652),
    [sym_integer_literal] = ACTIONS(1650),
    [sym_hex_literal] = ACTIONS(1650),
    [sym_oct_literal] = ACTIONS(1652),
    [sym_bin_literal] = ACTIONS(1652),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1654),
    [anon_sym_COMMA] = ACTIONS(1654),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_COLON] = ACTIONS(1654),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1650),
    [anon_sym_GT] = ACTIONS(1650),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1652),
    [anon_sym_DASH_EQ] = ACTIONS(1652),
    [anon_sym_STAR_EQ] = ACTIONS(1652),
    [anon_sym_SLASH_EQ] = ACTIONS(1652),
    [anon_sym_PERCENT_EQ] = ACTIONS(1652),
    [anon_sym_BANG_EQ] = ACTIONS(1650),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1652),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1652),
    [anon_sym_LT_EQ] = ACTIONS(1652),
    [anon_sym_GT_EQ] = ACTIONS(1652),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1650),
    [anon_sym_SLASH] = ACTIONS(1650),
    [anon_sym_PERCENT] = ACTIONS(1650),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1652),
    [anon_sym_CARET] = ACTIONS(1650),
    [anon_sym_LT_LT] = ACTIONS(1652),
    [anon_sym_GT_GT] = ACTIONS(1652),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1652),
    [sym__eq_eq_custom] = ACTIONS(1652),
    [sym__plus_then_ws] = ACTIONS(1652),
    [sym__minus_then_ws] = ACTIONS(1652),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [375] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1560),
    [sym_boolean_literal] = STATE(1560),
    [sym__string_literal] = STATE(1560),
    [sym_line_string_literal] = STATE(1560),
    [sym_multi_line_string_literal] = STATE(1560),
    [sym_raw_string_literal] = STATE(1560),
    [sym_regex_literal] = STATE(1560),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1560),
    [sym__unary_expression] = STATE(1560),
    [sym_postfix_expression] = STATE(1560),
    [sym_constructor_expression] = STATE(1560),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1560),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1560),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1560),
    [sym_prefix_expression] = STATE(1560),
    [sym_as_expression] = STATE(1560),
    [sym_selector_expression] = STATE(1560),
    [sym__binary_expression] = STATE(1560),
    [sym_multiplicative_expression] = STATE(1560),
    [sym_additive_expression] = STATE(1560),
    [sym_range_expression] = STATE(1560),
    [sym_infix_expression] = STATE(1560),
    [sym_nil_coalescing_expression] = STATE(1560),
    [sym_check_expression] = STATE(1560),
    [sym_comparison_expression] = STATE(1560),
    [sym_equality_expression] = STATE(1560),
    [sym_conjunction_expression] = STATE(1560),
    [sym_disjunction_expression] = STATE(1560),
    [sym_bitwise_operation] = STATE(1560),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1560),
    [sym_await_expression] = STATE(1560),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1560),
    [sym_call_expression] = STATE(1560),
    [sym_macro_invocation] = STATE(1560),
    [sym__primary_expression] = STATE(1560),
    [sym_tuple_expression] = STATE(1560),
    [sym_array_literal] = STATE(1560),
    [sym_dictionary_literal] = STATE(1560),
    [sym_special_literal] = STATE(1560),
    [sym_playground_literal] = STATE(1560),
    [sym_lambda_literal] = STATE(1560),
    [sym_self_expression] = STATE(1560),
    [sym_super_expression] = STATE(1560),
    [sym_if_statement] = STATE(1560),
    [sym_switch_statement] = STATE(1560),
    [sym_key_path_expression] = STATE(1560),
    [sym_key_path_string_expression] = STATE(1560),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1560),
    [sym__equality_operator] = STATE(1560),
    [sym__comparison_operator] = STATE(1560),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1560),
    [sym__multiplicative_operator] = STATE(1560),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_assignment] = STATE(1560),
    [sym_value_parameter_pack] = STATE(1560),
    [sym_value_pack_expansion] = STATE(1560),
    [sym__referenceable_operator] = STATE(1560),
    [sym__equal_sign] = STATE(1560),
    [sym__eq_eq] = STATE(1560),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1560),
    [sym_diagnostic] = STATE(1560),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(11),
    [anon_sym_async] = ACTIONS(11),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(11),
    [anon_sym_repeat] = ACTIONS(925),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(1656),
    [sym_real_literal] = ACTIONS(1658),
    [sym_integer_literal] = ACTIONS(1656),
    [sym_hex_literal] = ACTIONS(1656),
    [sym_oct_literal] = ACTIONS(1658),
    [sym_bin_literal] = ACTIONS(1658),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(1656),
    [anon_sym_GT] = ACTIONS(1656),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_RBRACE] = ACTIONS(749),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1658),
    [anon_sym_DASH_EQ] = ACTIONS(1658),
    [anon_sym_STAR_EQ] = ACTIONS(1658),
    [anon_sym_SLASH_EQ] = ACTIONS(1658),
    [anon_sym_PERCENT_EQ] = ACTIONS(1658),
    [anon_sym_BANG_EQ] = ACTIONS(1656),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1658),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1658),
    [anon_sym_LT_EQ] = ACTIONS(1658),
    [anon_sym_GT_EQ] = ACTIONS(1658),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(1656),
    [anon_sym_SLASH] = ACTIONS(1656),
    [anon_sym_PERCENT] = ACTIONS(1656),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(1658),
    [anon_sym_CARET] = ACTIONS(1656),
    [anon_sym_LT_LT] = ACTIONS(1658),
    [anon_sym_GT_GT] = ACTIONS(1658),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__implicit_semi] = ACTIONS(749),
    [sym__explicit_semi] = ACTIONS(749),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(1658),
    [sym__eq_eq_custom] = ACTIONS(1658),
    [sym__plus_then_ws] = ACTIONS(1658),
    [sym__minus_then_ws] = ACTIONS(1658),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [376] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1538),
    [sym_boolean_literal] = STATE(1538),
    [sym__string_literal] = STATE(1538),
    [sym_line_string_literal] = STATE(1538),
    [sym_multi_line_string_literal] = STATE(1538),
    [sym_raw_string_literal] = STATE(1538),
    [sym_regex_literal] = STATE(1538),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1538),
    [sym__unary_expression] = STATE(1538),
    [sym_postfix_expression] = STATE(1538),
    [sym_constructor_expression] = STATE(1538),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1538),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1538),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1538),
    [sym_prefix_expression] = STATE(1538),
    [sym_as_expression] = STATE(1538),
    [sym_selector_expression] = STATE(1538),
    [sym__binary_expression] = STATE(1538),
    [sym_multiplicative_expression] = STATE(1538),
    [sym_additive_expression] = STATE(1538),
    [sym_range_expression] = STATE(1538),
    [sym_infix_expression] = STATE(1538),
    [sym_nil_coalescing_expression] = STATE(1538),
    [sym_check_expression] = STATE(1538),
    [sym_comparison_expression] = STATE(1538),
    [sym_equality_expression] = STATE(1538),
    [sym_conjunction_expression] = STATE(1538),
    [sym_disjunction_expression] = STATE(1538),
    [sym_bitwise_operation] = STATE(1538),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1538),
    [sym_await_expression] = STATE(1538),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1538),
    [sym_call_expression] = STATE(1538),
    [sym_macro_invocation] = STATE(1538),
    [sym__primary_expression] = STATE(1538),
    [sym_tuple_expression] = STATE(1538),
    [sym_array_literal] = STATE(1538),
    [sym_dictionary_literal] = STATE(1538),
    [sym_special_literal] = STATE(1538),
    [sym_playground_literal] = STATE(1538),
    [sym_lambda_literal] = STATE(1538),
    [sym_self_expression] = STATE(1538),
    [sym_super_expression] = STATE(1538),
    [sym_if_statement] = STATE(1538),
    [sym_switch_statement] = STATE(1538),
    [sym_key_path_expression] = STATE(1538),
    [sym_key_path_string_expression] = STATE(1538),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1538),
    [sym__equality_operator] = STATE(1538),
    [sym__comparison_operator] = STATE(1538),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1538),
    [sym__multiplicative_operator] = STATE(1538),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1538),
    [sym_value_parameter_pack] = STATE(1538),
    [sym_value_pack_expansion] = STATE(1538),
    [sym__referenceable_operator] = STATE(1538),
    [sym__equal_sign] = STATE(1538),
    [sym__eq_eq] = STATE(1538),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1538),
    [sym_diagnostic] = STATE(1538),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1660),
    [aux_sym_simple_identifier_token2] = ACTIONS(1663),
    [aux_sym_simple_identifier_token3] = ACTIONS(1663),
    [aux_sym_simple_identifier_token4] = ACTIONS(1663),
    [anon_sym_actor] = ACTIONS(1660),
    [anon_sym_async] = ACTIONS(1660),
    [anon_sym_each] = ACTIONS(1666),
    [anon_sym_lazy] = ACTIONS(1660),
    [anon_sym_repeat] = ACTIONS(1669),
    [anon_sym_package] = ACTIONS(1660),
    [anon_sym_nil] = ACTIONS(1672),
    [sym_real_literal] = ACTIONS(1674),
    [sym_integer_literal] = ACTIONS(1672),
    [sym_hex_literal] = ACTIONS(1672),
    [sym_oct_literal] = ACTIONS(1674),
    [sym_bin_literal] = ACTIONS(1674),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1676),
    [anon_sym_COMMA] = ACTIONS(1676),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1676),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1678),
    [anon_sym_switch] = ACTIONS(1681),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1672),
    [anon_sym_GT] = ACTIONS(1672),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1674),
    [anon_sym_DASH_EQ] = ACTIONS(1674),
    [anon_sym_STAR_EQ] = ACTIONS(1674),
    [anon_sym_SLASH_EQ] = ACTIONS(1674),
    [anon_sym_PERCENT_EQ] = ACTIONS(1674),
    [anon_sym_BANG_EQ] = ACTIONS(1672),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1674),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1674),
    [anon_sym_LT_EQ] = ACTIONS(1674),
    [anon_sym_GT_EQ] = ACTIONS(1674),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1672),
    [anon_sym_SLASH] = ACTIONS(1672),
    [anon_sym_PERCENT] = ACTIONS(1672),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1674),
    [anon_sym_CARET] = ACTIONS(1672),
    [anon_sym_LT_LT] = ACTIONS(1674),
    [anon_sym_GT_GT] = ACTIONS(1674),
    [anon_sym_borrowing] = ACTIONS(1660),
    [anon_sym_consuming] = ACTIONS(1660),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1674),
    [sym__eq_eq_custom] = ACTIONS(1674),
    [sym__plus_then_ws] = ACTIONS(1674),
    [sym__minus_then_ws] = ACTIONS(1674),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [377] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(7458),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [378] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1648),
    [sym_boolean_literal] = STATE(1648),
    [sym__string_literal] = STATE(1648),
    [sym_line_string_literal] = STATE(1648),
    [sym_multi_line_string_literal] = STATE(1648),
    [sym_raw_string_literal] = STATE(1648),
    [sym_regex_literal] = STATE(1648),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1648),
    [sym__unary_expression] = STATE(1648),
    [sym_postfix_expression] = STATE(1648),
    [sym_constructor_expression] = STATE(1648),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1648),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1648),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1648),
    [sym_prefix_expression] = STATE(1648),
    [sym_as_expression] = STATE(1648),
    [sym_selector_expression] = STATE(1648),
    [sym__binary_expression] = STATE(1648),
    [sym_multiplicative_expression] = STATE(1648),
    [sym_additive_expression] = STATE(1648),
    [sym_range_expression] = STATE(1648),
    [sym_infix_expression] = STATE(1648),
    [sym_nil_coalescing_expression] = STATE(1648),
    [sym_check_expression] = STATE(1648),
    [sym_comparison_expression] = STATE(1648),
    [sym_equality_expression] = STATE(1648),
    [sym_conjunction_expression] = STATE(1648),
    [sym_disjunction_expression] = STATE(1648),
    [sym_bitwise_operation] = STATE(1648),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1648),
    [sym_await_expression] = STATE(1648),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1648),
    [sym_call_expression] = STATE(1648),
    [sym_macro_invocation] = STATE(1648),
    [sym__primary_expression] = STATE(1648),
    [sym_tuple_expression] = STATE(1648),
    [sym_array_literal] = STATE(1648),
    [sym_dictionary_literal] = STATE(1648),
    [sym__dictionary_literal_item] = STATE(8246),
    [sym_special_literal] = STATE(1648),
    [sym_playground_literal] = STATE(1648),
    [sym_lambda_literal] = STATE(1648),
    [sym_self_expression] = STATE(1648),
    [sym_super_expression] = STATE(1648),
    [sym_if_statement] = STATE(1648),
    [sym_switch_statement] = STATE(1648),
    [sym_key_path_expression] = STATE(1648),
    [sym_key_path_string_expression] = STATE(1648),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1648),
    [sym__equality_operator] = STATE(1648),
    [sym__comparison_operator] = STATE(1648),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1648),
    [sym__multiplicative_operator] = STATE(1648),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1648),
    [sym_value_parameter_pack] = STATE(1648),
    [sym_value_pack_expansion] = STATE(1648),
    [sym__referenceable_operator] = STATE(1648),
    [sym__equal_sign] = STATE(1648),
    [sym__eq_eq] = STATE(1648),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1648),
    [sym_diagnostic] = STATE(1648),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1634),
    [sym_real_literal] = ACTIONS(1636),
    [sym_integer_literal] = ACTIONS(1634),
    [sym_hex_literal] = ACTIONS(1634),
    [sym_oct_literal] = ACTIONS(1636),
    [sym_bin_literal] = ACTIONS(1636),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(1684),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1686),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1634),
    [anon_sym_GT] = ACTIONS(1634),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1636),
    [anon_sym_DASH_EQ] = ACTIONS(1636),
    [anon_sym_STAR_EQ] = ACTIONS(1636),
    [anon_sym_SLASH_EQ] = ACTIONS(1636),
    [anon_sym_PERCENT_EQ] = ACTIONS(1636),
    [anon_sym_BANG_EQ] = ACTIONS(1634),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1636),
    [anon_sym_LT_EQ] = ACTIONS(1636),
    [anon_sym_GT_EQ] = ACTIONS(1636),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1634),
    [anon_sym_SLASH] = ACTIONS(1634),
    [anon_sym_PERCENT] = ACTIONS(1634),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1636),
    [anon_sym_CARET] = ACTIONS(1634),
    [anon_sym_LT_LT] = ACTIONS(1636),
    [anon_sym_GT_GT] = ACTIONS(1636),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1636),
    [sym__eq_eq_custom] = ACTIONS(1636),
    [sym__plus_then_ws] = ACTIONS(1636),
    [sym__minus_then_ws] = ACTIONS(1636),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [379] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1648),
    [sym_boolean_literal] = STATE(1648),
    [sym__string_literal] = STATE(1648),
    [sym_line_string_literal] = STATE(1648),
    [sym_multi_line_string_literal] = STATE(1648),
    [sym_raw_string_literal] = STATE(1648),
    [sym_regex_literal] = STATE(1648),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1648),
    [sym__unary_expression] = STATE(1648),
    [sym_postfix_expression] = STATE(1648),
    [sym_constructor_expression] = STATE(1648),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1648),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1648),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1648),
    [sym_prefix_expression] = STATE(1648),
    [sym_as_expression] = STATE(1648),
    [sym_selector_expression] = STATE(1648),
    [sym__binary_expression] = STATE(1648),
    [sym_multiplicative_expression] = STATE(1648),
    [sym_additive_expression] = STATE(1648),
    [sym_range_expression] = STATE(1648),
    [sym_infix_expression] = STATE(1648),
    [sym_nil_coalescing_expression] = STATE(1648),
    [sym_check_expression] = STATE(1648),
    [sym_comparison_expression] = STATE(1648),
    [sym_equality_expression] = STATE(1648),
    [sym_conjunction_expression] = STATE(1648),
    [sym_disjunction_expression] = STATE(1648),
    [sym_bitwise_operation] = STATE(1648),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1648),
    [sym_await_expression] = STATE(1648),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1648),
    [sym_call_expression] = STATE(1648),
    [sym_macro_invocation] = STATE(1648),
    [sym__primary_expression] = STATE(1648),
    [sym_tuple_expression] = STATE(1648),
    [sym_array_literal] = STATE(1648),
    [sym_dictionary_literal] = STATE(1648),
    [sym__dictionary_literal_item] = STATE(8246),
    [sym_special_literal] = STATE(1648),
    [sym_playground_literal] = STATE(1648),
    [sym_lambda_literal] = STATE(1648),
    [sym_self_expression] = STATE(1648),
    [sym_super_expression] = STATE(1648),
    [sym_if_statement] = STATE(1648),
    [sym_switch_statement] = STATE(1648),
    [sym_key_path_expression] = STATE(1648),
    [sym_key_path_string_expression] = STATE(1648),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1648),
    [sym__equality_operator] = STATE(1648),
    [sym__comparison_operator] = STATE(1648),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1648),
    [sym__multiplicative_operator] = STATE(1648),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1648),
    [sym_value_parameter_pack] = STATE(1648),
    [sym_value_pack_expansion] = STATE(1648),
    [sym__referenceable_operator] = STATE(1648),
    [sym__equal_sign] = STATE(1648),
    [sym__eq_eq] = STATE(1648),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1648),
    [sym_diagnostic] = STATE(1648),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1634),
    [sym_real_literal] = ACTIONS(1636),
    [sym_integer_literal] = ACTIONS(1634),
    [sym_hex_literal] = ACTIONS(1634),
    [sym_oct_literal] = ACTIONS(1636),
    [sym_bin_literal] = ACTIONS(1636),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(1688),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1690),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1634),
    [anon_sym_GT] = ACTIONS(1634),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1636),
    [anon_sym_DASH_EQ] = ACTIONS(1636),
    [anon_sym_STAR_EQ] = ACTIONS(1636),
    [anon_sym_SLASH_EQ] = ACTIONS(1636),
    [anon_sym_PERCENT_EQ] = ACTIONS(1636),
    [anon_sym_BANG_EQ] = ACTIONS(1634),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1636),
    [anon_sym_LT_EQ] = ACTIONS(1636),
    [anon_sym_GT_EQ] = ACTIONS(1636),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1634),
    [anon_sym_SLASH] = ACTIONS(1634),
    [anon_sym_PERCENT] = ACTIONS(1634),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1636),
    [anon_sym_CARET] = ACTIONS(1634),
    [anon_sym_LT_LT] = ACTIONS(1636),
    [anon_sym_GT_GT] = ACTIONS(1636),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1636),
    [sym__eq_eq_custom] = ACTIONS(1636),
    [sym__plus_then_ws] = ACTIONS(1636),
    [sym__minus_then_ws] = ACTIONS(1636),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [380] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(7541),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [381] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1648),
    [sym_boolean_literal] = STATE(1648),
    [sym__string_literal] = STATE(1648),
    [sym_line_string_literal] = STATE(1648),
    [sym_multi_line_string_literal] = STATE(1648),
    [sym_raw_string_literal] = STATE(1648),
    [sym_regex_literal] = STATE(1648),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1648),
    [sym__unary_expression] = STATE(1648),
    [sym_postfix_expression] = STATE(1648),
    [sym_constructor_expression] = STATE(1648),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1648),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1648),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1648),
    [sym_prefix_expression] = STATE(1648),
    [sym_as_expression] = STATE(1648),
    [sym_selector_expression] = STATE(1648),
    [sym__binary_expression] = STATE(1648),
    [sym_multiplicative_expression] = STATE(1648),
    [sym_additive_expression] = STATE(1648),
    [sym_range_expression] = STATE(1648),
    [sym_infix_expression] = STATE(1648),
    [sym_nil_coalescing_expression] = STATE(1648),
    [sym_check_expression] = STATE(1648),
    [sym_comparison_expression] = STATE(1648),
    [sym_equality_expression] = STATE(1648),
    [sym_conjunction_expression] = STATE(1648),
    [sym_disjunction_expression] = STATE(1648),
    [sym_bitwise_operation] = STATE(1648),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1648),
    [sym_await_expression] = STATE(1648),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1648),
    [sym_call_expression] = STATE(1648),
    [sym_macro_invocation] = STATE(1648),
    [sym__primary_expression] = STATE(1648),
    [sym_tuple_expression] = STATE(1648),
    [sym_array_literal] = STATE(1648),
    [sym_dictionary_literal] = STATE(1648),
    [sym__dictionary_literal_item] = STATE(8246),
    [sym_special_literal] = STATE(1648),
    [sym_playground_literal] = STATE(1648),
    [sym_lambda_literal] = STATE(1648),
    [sym_self_expression] = STATE(1648),
    [sym_super_expression] = STATE(1648),
    [sym_if_statement] = STATE(1648),
    [sym_switch_statement] = STATE(1648),
    [sym_key_path_expression] = STATE(1648),
    [sym_key_path_string_expression] = STATE(1648),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1648),
    [sym__equality_operator] = STATE(1648),
    [sym__comparison_operator] = STATE(1648),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1648),
    [sym__multiplicative_operator] = STATE(1648),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1648),
    [sym_value_parameter_pack] = STATE(1648),
    [sym_value_pack_expansion] = STATE(1648),
    [sym__referenceable_operator] = STATE(1648),
    [sym__equal_sign] = STATE(1648),
    [sym__eq_eq] = STATE(1648),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1648),
    [sym_diagnostic] = STATE(1648),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1634),
    [sym_real_literal] = ACTIONS(1636),
    [sym_integer_literal] = ACTIONS(1634),
    [sym_hex_literal] = ACTIONS(1634),
    [sym_oct_literal] = ACTIONS(1636),
    [sym_bin_literal] = ACTIONS(1636),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(1692),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1694),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1634),
    [anon_sym_GT] = ACTIONS(1634),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1636),
    [anon_sym_DASH_EQ] = ACTIONS(1636),
    [anon_sym_STAR_EQ] = ACTIONS(1636),
    [anon_sym_SLASH_EQ] = ACTIONS(1636),
    [anon_sym_PERCENT_EQ] = ACTIONS(1636),
    [anon_sym_BANG_EQ] = ACTIONS(1634),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1636),
    [anon_sym_LT_EQ] = ACTIONS(1636),
    [anon_sym_GT_EQ] = ACTIONS(1636),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1634),
    [anon_sym_SLASH] = ACTIONS(1634),
    [anon_sym_PERCENT] = ACTIONS(1634),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1636),
    [anon_sym_CARET] = ACTIONS(1634),
    [anon_sym_LT_LT] = ACTIONS(1636),
    [anon_sym_GT_GT] = ACTIONS(1636),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1636),
    [sym__eq_eq_custom] = ACTIONS(1636),
    [sym__plus_then_ws] = ACTIONS(1636),
    [sym__minus_then_ws] = ACTIONS(1636),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [382] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1648),
    [sym_boolean_literal] = STATE(1648),
    [sym__string_literal] = STATE(1648),
    [sym_line_string_literal] = STATE(1648),
    [sym_multi_line_string_literal] = STATE(1648),
    [sym_raw_string_literal] = STATE(1648),
    [sym_regex_literal] = STATE(1648),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1648),
    [sym__unary_expression] = STATE(1648),
    [sym_postfix_expression] = STATE(1648),
    [sym_constructor_expression] = STATE(1648),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1648),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1648),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1648),
    [sym_prefix_expression] = STATE(1648),
    [sym_as_expression] = STATE(1648),
    [sym_selector_expression] = STATE(1648),
    [sym__binary_expression] = STATE(1648),
    [sym_multiplicative_expression] = STATE(1648),
    [sym_additive_expression] = STATE(1648),
    [sym_range_expression] = STATE(1648),
    [sym_infix_expression] = STATE(1648),
    [sym_nil_coalescing_expression] = STATE(1648),
    [sym_check_expression] = STATE(1648),
    [sym_comparison_expression] = STATE(1648),
    [sym_equality_expression] = STATE(1648),
    [sym_conjunction_expression] = STATE(1648),
    [sym_disjunction_expression] = STATE(1648),
    [sym_bitwise_operation] = STATE(1648),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1648),
    [sym_await_expression] = STATE(1648),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1648),
    [sym_call_expression] = STATE(1648),
    [sym_macro_invocation] = STATE(1648),
    [sym__primary_expression] = STATE(1648),
    [sym_tuple_expression] = STATE(1648),
    [sym_array_literal] = STATE(1648),
    [sym_dictionary_literal] = STATE(1648),
    [sym__dictionary_literal_item] = STATE(8246),
    [sym_special_literal] = STATE(1648),
    [sym_playground_literal] = STATE(1648),
    [sym_lambda_literal] = STATE(1648),
    [sym_self_expression] = STATE(1648),
    [sym_super_expression] = STATE(1648),
    [sym_if_statement] = STATE(1648),
    [sym_switch_statement] = STATE(1648),
    [sym_key_path_expression] = STATE(1648),
    [sym_key_path_string_expression] = STATE(1648),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1648),
    [sym__equality_operator] = STATE(1648),
    [sym__comparison_operator] = STATE(1648),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1648),
    [sym__multiplicative_operator] = STATE(1648),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1648),
    [sym_value_parameter_pack] = STATE(1648),
    [sym_value_pack_expansion] = STATE(1648),
    [sym__referenceable_operator] = STATE(1648),
    [sym__equal_sign] = STATE(1648),
    [sym__eq_eq] = STATE(1648),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1648),
    [sym_diagnostic] = STATE(1648),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1634),
    [sym_real_literal] = ACTIONS(1636),
    [sym_integer_literal] = ACTIONS(1634),
    [sym_hex_literal] = ACTIONS(1634),
    [sym_oct_literal] = ACTIONS(1636),
    [sym_bin_literal] = ACTIONS(1636),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(1696),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1698),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1634),
    [anon_sym_GT] = ACTIONS(1634),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1636),
    [anon_sym_DASH_EQ] = ACTIONS(1636),
    [anon_sym_STAR_EQ] = ACTIONS(1636),
    [anon_sym_SLASH_EQ] = ACTIONS(1636),
    [anon_sym_PERCENT_EQ] = ACTIONS(1636),
    [anon_sym_BANG_EQ] = ACTIONS(1634),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1636),
    [anon_sym_LT_EQ] = ACTIONS(1636),
    [anon_sym_GT_EQ] = ACTIONS(1636),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1634),
    [anon_sym_SLASH] = ACTIONS(1634),
    [anon_sym_PERCENT] = ACTIONS(1634),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1636),
    [anon_sym_CARET] = ACTIONS(1634),
    [anon_sym_LT_LT] = ACTIONS(1636),
    [anon_sym_GT_GT] = ACTIONS(1636),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1636),
    [sym__eq_eq_custom] = ACTIONS(1636),
    [sym__plus_then_ws] = ACTIONS(1636),
    [sym__minus_then_ws] = ACTIONS(1636),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [383] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(7937),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [384] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1668),
    [sym_boolean_literal] = STATE(1668),
    [sym__string_literal] = STATE(1668),
    [sym_line_string_literal] = STATE(1668),
    [sym_multi_line_string_literal] = STATE(1668),
    [sym_raw_string_literal] = STATE(1668),
    [sym_regex_literal] = STATE(1668),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1668),
    [sym__unary_expression] = STATE(1668),
    [sym_postfix_expression] = STATE(1668),
    [sym_constructor_expression] = STATE(1668),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1668),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1668),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1668),
    [sym_prefix_expression] = STATE(1668),
    [sym_as_expression] = STATE(1668),
    [sym_selector_expression] = STATE(1668),
    [sym__binary_expression] = STATE(1668),
    [sym_multiplicative_expression] = STATE(1668),
    [sym_additive_expression] = STATE(1668),
    [sym_range_expression] = STATE(1668),
    [sym_infix_expression] = STATE(1668),
    [sym_nil_coalescing_expression] = STATE(1668),
    [sym_check_expression] = STATE(1668),
    [sym_comparison_expression] = STATE(1668),
    [sym_equality_expression] = STATE(1668),
    [sym_conjunction_expression] = STATE(1668),
    [sym_disjunction_expression] = STATE(1668),
    [sym_bitwise_operation] = STATE(1668),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1668),
    [sym_await_expression] = STATE(1668),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1668),
    [sym_call_expression] = STATE(1668),
    [sym_macro_invocation] = STATE(1668),
    [sym__primary_expression] = STATE(1668),
    [sym_tuple_expression] = STATE(1668),
    [sym_array_literal] = STATE(1668),
    [sym_dictionary_literal] = STATE(1668),
    [sym_special_literal] = STATE(1668),
    [sym_playground_literal] = STATE(1668),
    [sym_lambda_literal] = STATE(1668),
    [sym_self_expression] = STATE(1668),
    [sym_super_expression] = STATE(1668),
    [sym_if_statement] = STATE(1668),
    [sym_switch_statement] = STATE(1668),
    [sym_key_path_expression] = STATE(1668),
    [sym_key_path_string_expression] = STATE(1668),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1668),
    [sym__equality_operator] = STATE(1668),
    [sym__comparison_operator] = STATE(1668),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1668),
    [sym__multiplicative_operator] = STATE(1668),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1668),
    [sym_value_parameter_pack] = STATE(1668),
    [sym_value_pack_expansion] = STATE(1668),
    [sym__referenceable_operator] = STATE(1668),
    [sym__equal_sign] = STATE(1668),
    [sym__eq_eq] = STATE(1668),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1668),
    [sym_diagnostic] = STATE(1668),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1700),
    [sym_real_literal] = ACTIONS(1702),
    [sym_integer_literal] = ACTIONS(1700),
    [sym_hex_literal] = ACTIONS(1700),
    [sym_oct_literal] = ACTIONS(1702),
    [sym_bin_literal] = ACTIONS(1702),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(1654),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_COLON] = ACTIONS(1654),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1700),
    [anon_sym_GT] = ACTIONS(1700),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1702),
    [anon_sym_DASH_EQ] = ACTIONS(1702),
    [anon_sym_STAR_EQ] = ACTIONS(1702),
    [anon_sym_SLASH_EQ] = ACTIONS(1702),
    [anon_sym_PERCENT_EQ] = ACTIONS(1702),
    [anon_sym_BANG_EQ] = ACTIONS(1700),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1702),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1702),
    [anon_sym_LT_EQ] = ACTIONS(1702),
    [anon_sym_GT_EQ] = ACTIONS(1702),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1700),
    [anon_sym_SLASH] = ACTIONS(1700),
    [anon_sym_PERCENT] = ACTIONS(1700),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1700),
    [anon_sym_LT_LT] = ACTIONS(1702),
    [anon_sym_GT_GT] = ACTIONS(1702),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1702),
    [sym__eq_eq_custom] = ACTIONS(1702),
    [sym__plus_then_ws] = ACTIONS(1702),
    [sym__minus_then_ws] = ACTIONS(1702),
    [sym__bang_custom] = ACTIONS(787),
    [sym_where_keyword] = ACTIONS(1654),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [385] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1648),
    [sym_boolean_literal] = STATE(1648),
    [sym__string_literal] = STATE(1648),
    [sym_line_string_literal] = STATE(1648),
    [sym_multi_line_string_literal] = STATE(1648),
    [sym_raw_string_literal] = STATE(1648),
    [sym_regex_literal] = STATE(1648),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1648),
    [sym__unary_expression] = STATE(1648),
    [sym_postfix_expression] = STATE(1648),
    [sym_constructor_expression] = STATE(1648),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1648),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1648),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1648),
    [sym_prefix_expression] = STATE(1648),
    [sym_as_expression] = STATE(1648),
    [sym_selector_expression] = STATE(1648),
    [sym__binary_expression] = STATE(1648),
    [sym_multiplicative_expression] = STATE(1648),
    [sym_additive_expression] = STATE(1648),
    [sym_range_expression] = STATE(1648),
    [sym_infix_expression] = STATE(1648),
    [sym_nil_coalescing_expression] = STATE(1648),
    [sym_check_expression] = STATE(1648),
    [sym_comparison_expression] = STATE(1648),
    [sym_equality_expression] = STATE(1648),
    [sym_conjunction_expression] = STATE(1648),
    [sym_disjunction_expression] = STATE(1648),
    [sym_bitwise_operation] = STATE(1648),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1648),
    [sym_await_expression] = STATE(1648),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1648),
    [sym_call_expression] = STATE(1648),
    [sym_macro_invocation] = STATE(1648),
    [sym__primary_expression] = STATE(1648),
    [sym_tuple_expression] = STATE(1648),
    [sym_array_literal] = STATE(1648),
    [sym_dictionary_literal] = STATE(1648),
    [sym__dictionary_literal_item] = STATE(8246),
    [sym_special_literal] = STATE(1648),
    [sym_playground_literal] = STATE(1648),
    [sym_lambda_literal] = STATE(1648),
    [sym_self_expression] = STATE(1648),
    [sym_super_expression] = STATE(1648),
    [sym_if_statement] = STATE(1648),
    [sym_switch_statement] = STATE(1648),
    [sym_key_path_expression] = STATE(1648),
    [sym_key_path_string_expression] = STATE(1648),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1648),
    [sym__equality_operator] = STATE(1648),
    [sym__comparison_operator] = STATE(1648),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1648),
    [sym__multiplicative_operator] = STATE(1648),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1648),
    [sym_value_parameter_pack] = STATE(1648),
    [sym_value_pack_expansion] = STATE(1648),
    [sym__referenceable_operator] = STATE(1648),
    [sym__equal_sign] = STATE(1648),
    [sym__eq_eq] = STATE(1648),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1648),
    [sym_diagnostic] = STATE(1648),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1634),
    [sym_real_literal] = ACTIONS(1636),
    [sym_integer_literal] = ACTIONS(1634),
    [sym_hex_literal] = ACTIONS(1634),
    [sym_oct_literal] = ACTIONS(1636),
    [sym_bin_literal] = ACTIONS(1636),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(1704),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1706),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1634),
    [anon_sym_GT] = ACTIONS(1634),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1636),
    [anon_sym_DASH_EQ] = ACTIONS(1636),
    [anon_sym_STAR_EQ] = ACTIONS(1636),
    [anon_sym_SLASH_EQ] = ACTIONS(1636),
    [anon_sym_PERCENT_EQ] = ACTIONS(1636),
    [anon_sym_BANG_EQ] = ACTIONS(1634),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1636),
    [anon_sym_LT_EQ] = ACTIONS(1636),
    [anon_sym_GT_EQ] = ACTIONS(1636),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1634),
    [anon_sym_SLASH] = ACTIONS(1634),
    [anon_sym_PERCENT] = ACTIONS(1634),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1636),
    [anon_sym_CARET] = ACTIONS(1634),
    [anon_sym_LT_LT] = ACTIONS(1636),
    [anon_sym_GT_GT] = ACTIONS(1636),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1636),
    [sym__eq_eq_custom] = ACTIONS(1636),
    [sym__plus_then_ws] = ACTIONS(1636),
    [sym__minus_then_ws] = ACTIONS(1636),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [386] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1648),
    [sym_boolean_literal] = STATE(1648),
    [sym__string_literal] = STATE(1648),
    [sym_line_string_literal] = STATE(1648),
    [sym_multi_line_string_literal] = STATE(1648),
    [sym_raw_string_literal] = STATE(1648),
    [sym_regex_literal] = STATE(1648),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1648),
    [sym__unary_expression] = STATE(1648),
    [sym_postfix_expression] = STATE(1648),
    [sym_constructor_expression] = STATE(1648),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1648),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1648),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1648),
    [sym_prefix_expression] = STATE(1648),
    [sym_as_expression] = STATE(1648),
    [sym_selector_expression] = STATE(1648),
    [sym__binary_expression] = STATE(1648),
    [sym_multiplicative_expression] = STATE(1648),
    [sym_additive_expression] = STATE(1648),
    [sym_range_expression] = STATE(1648),
    [sym_infix_expression] = STATE(1648),
    [sym_nil_coalescing_expression] = STATE(1648),
    [sym_check_expression] = STATE(1648),
    [sym_comparison_expression] = STATE(1648),
    [sym_equality_expression] = STATE(1648),
    [sym_conjunction_expression] = STATE(1648),
    [sym_disjunction_expression] = STATE(1648),
    [sym_bitwise_operation] = STATE(1648),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1648),
    [sym_await_expression] = STATE(1648),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1648),
    [sym_call_expression] = STATE(1648),
    [sym_macro_invocation] = STATE(1648),
    [sym__primary_expression] = STATE(1648),
    [sym_tuple_expression] = STATE(1648),
    [sym_array_literal] = STATE(1648),
    [sym_dictionary_literal] = STATE(1648),
    [sym__dictionary_literal_item] = STATE(8246),
    [sym_special_literal] = STATE(1648),
    [sym_playground_literal] = STATE(1648),
    [sym_lambda_literal] = STATE(1648),
    [sym_self_expression] = STATE(1648),
    [sym_super_expression] = STATE(1648),
    [sym_if_statement] = STATE(1648),
    [sym_switch_statement] = STATE(1648),
    [sym_key_path_expression] = STATE(1648),
    [sym_key_path_string_expression] = STATE(1648),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1648),
    [sym__equality_operator] = STATE(1648),
    [sym__comparison_operator] = STATE(1648),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1648),
    [sym__multiplicative_operator] = STATE(1648),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1648),
    [sym_value_parameter_pack] = STATE(1648),
    [sym_value_pack_expansion] = STATE(1648),
    [sym__referenceable_operator] = STATE(1648),
    [sym__equal_sign] = STATE(1648),
    [sym__eq_eq] = STATE(1648),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1648),
    [sym_diagnostic] = STATE(1648),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1634),
    [sym_real_literal] = ACTIONS(1636),
    [sym_integer_literal] = ACTIONS(1634),
    [sym_hex_literal] = ACTIONS(1634),
    [sym_oct_literal] = ACTIONS(1636),
    [sym_bin_literal] = ACTIONS(1636),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(1708),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1710),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1634),
    [anon_sym_GT] = ACTIONS(1634),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1636),
    [anon_sym_DASH_EQ] = ACTIONS(1636),
    [anon_sym_STAR_EQ] = ACTIONS(1636),
    [anon_sym_SLASH_EQ] = ACTIONS(1636),
    [anon_sym_PERCENT_EQ] = ACTIONS(1636),
    [anon_sym_BANG_EQ] = ACTIONS(1634),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1636),
    [anon_sym_LT_EQ] = ACTIONS(1636),
    [anon_sym_GT_EQ] = ACTIONS(1636),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1634),
    [anon_sym_SLASH] = ACTIONS(1634),
    [anon_sym_PERCENT] = ACTIONS(1634),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1636),
    [anon_sym_CARET] = ACTIONS(1634),
    [anon_sym_LT_LT] = ACTIONS(1636),
    [anon_sym_GT_GT] = ACTIONS(1636),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1636),
    [sym__eq_eq_custom] = ACTIONS(1636),
    [sym__plus_then_ws] = ACTIONS(1636),
    [sym__minus_then_ws] = ACTIONS(1636),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [387] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1583),
    [sym_boolean_literal] = STATE(1583),
    [sym__string_literal] = STATE(1583),
    [sym_line_string_literal] = STATE(1583),
    [sym_multi_line_string_literal] = STATE(1583),
    [sym_raw_string_literal] = STATE(1583),
    [sym_regex_literal] = STATE(1583),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1583),
    [sym__unary_expression] = STATE(1583),
    [sym_postfix_expression] = STATE(1583),
    [sym_constructor_expression] = STATE(1583),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1583),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1583),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1583),
    [sym_prefix_expression] = STATE(1583),
    [sym_as_expression] = STATE(1583),
    [sym_selector_expression] = STATE(1583),
    [sym__binary_expression] = STATE(1583),
    [sym_multiplicative_expression] = STATE(1583),
    [sym_additive_expression] = STATE(1583),
    [sym_range_expression] = STATE(1583),
    [sym_infix_expression] = STATE(1583),
    [sym_nil_coalescing_expression] = STATE(1583),
    [sym_check_expression] = STATE(1583),
    [sym_comparison_expression] = STATE(1583),
    [sym_equality_expression] = STATE(1583),
    [sym_conjunction_expression] = STATE(1583),
    [sym_disjunction_expression] = STATE(1583),
    [sym_bitwise_operation] = STATE(1583),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1583),
    [sym_await_expression] = STATE(1583),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1583),
    [sym_call_expression] = STATE(1583),
    [sym_macro_invocation] = STATE(1583),
    [sym__primary_expression] = STATE(1583),
    [sym_tuple_expression] = STATE(1583),
    [sym_array_literal] = STATE(1583),
    [sym_dictionary_literal] = STATE(1583),
    [sym_special_literal] = STATE(1583),
    [sym_playground_literal] = STATE(1583),
    [sym_lambda_literal] = STATE(1583),
    [sym_self_expression] = STATE(1583),
    [sym_super_expression] = STATE(1583),
    [sym_if_statement] = STATE(1583),
    [sym_switch_statement] = STATE(1583),
    [sym_key_path_expression] = STATE(1583),
    [sym_key_path_string_expression] = STATE(1583),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1583),
    [sym__equality_operator] = STATE(1583),
    [sym__comparison_operator] = STATE(1583),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1583),
    [sym__multiplicative_operator] = STATE(1583),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1583),
    [sym_value_parameter_pack] = STATE(1583),
    [sym_value_pack_expansion] = STATE(1583),
    [sym__referenceable_operator] = STATE(1583),
    [sym__equal_sign] = STATE(1583),
    [sym__eq_eq] = STATE(1583),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1583),
    [sym_diagnostic] = STATE(1583),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1660),
    [aux_sym_simple_identifier_token2] = ACTIONS(1663),
    [aux_sym_simple_identifier_token3] = ACTIONS(1663),
    [aux_sym_simple_identifier_token4] = ACTIONS(1663),
    [anon_sym_actor] = ACTIONS(1660),
    [anon_sym_async] = ACTIONS(1660),
    [anon_sym_each] = ACTIONS(1666),
    [anon_sym_lazy] = ACTIONS(1660),
    [anon_sym_repeat] = ACTIONS(1669),
    [anon_sym_package] = ACTIONS(1660),
    [anon_sym_nil] = ACTIONS(1712),
    [sym_real_literal] = ACTIONS(1714),
    [sym_integer_literal] = ACTIONS(1712),
    [sym_hex_literal] = ACTIONS(1712),
    [sym_oct_literal] = ACTIONS(1714),
    [sym_bin_literal] = ACTIONS(1714),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1676),
    [anon_sym_COMMA] = ACTIONS(1676),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1676),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1678),
    [anon_sym_switch] = ACTIONS(1681),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1712),
    [anon_sym_GT] = ACTIONS(1712),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1714),
    [anon_sym_DASH_EQ] = ACTIONS(1714),
    [anon_sym_STAR_EQ] = ACTIONS(1714),
    [anon_sym_SLASH_EQ] = ACTIONS(1714),
    [anon_sym_PERCENT_EQ] = ACTIONS(1714),
    [anon_sym_BANG_EQ] = ACTIONS(1712),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1714),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1714),
    [anon_sym_LT_EQ] = ACTIONS(1714),
    [anon_sym_GT_EQ] = ACTIONS(1714),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1712),
    [anon_sym_SLASH] = ACTIONS(1712),
    [anon_sym_PERCENT] = ACTIONS(1712),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1714),
    [anon_sym_CARET] = ACTIONS(1712),
    [anon_sym_LT_LT] = ACTIONS(1714),
    [anon_sym_GT_GT] = ACTIONS(1714),
    [anon_sym_borrowing] = ACTIONS(1660),
    [anon_sym_consuming] = ACTIONS(1660),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1714),
    [sym__eq_eq_custom] = ACTIONS(1714),
    [sym__plus_then_ws] = ACTIONS(1714),
    [sym__minus_then_ws] = ACTIONS(1714),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [388] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1648),
    [sym_boolean_literal] = STATE(1648),
    [sym__string_literal] = STATE(1648),
    [sym_line_string_literal] = STATE(1648),
    [sym_multi_line_string_literal] = STATE(1648),
    [sym_raw_string_literal] = STATE(1648),
    [sym_regex_literal] = STATE(1648),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1648),
    [sym__unary_expression] = STATE(1648),
    [sym_postfix_expression] = STATE(1648),
    [sym_constructor_expression] = STATE(1648),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1648),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1648),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1648),
    [sym_prefix_expression] = STATE(1648),
    [sym_as_expression] = STATE(1648),
    [sym_selector_expression] = STATE(1648),
    [sym__binary_expression] = STATE(1648),
    [sym_multiplicative_expression] = STATE(1648),
    [sym_additive_expression] = STATE(1648),
    [sym_range_expression] = STATE(1648),
    [sym_infix_expression] = STATE(1648),
    [sym_nil_coalescing_expression] = STATE(1648),
    [sym_check_expression] = STATE(1648),
    [sym_comparison_expression] = STATE(1648),
    [sym_equality_expression] = STATE(1648),
    [sym_conjunction_expression] = STATE(1648),
    [sym_disjunction_expression] = STATE(1648),
    [sym_bitwise_operation] = STATE(1648),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1648),
    [sym_await_expression] = STATE(1648),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1648),
    [sym_call_expression] = STATE(1648),
    [sym_macro_invocation] = STATE(1648),
    [sym__primary_expression] = STATE(1648),
    [sym_tuple_expression] = STATE(1648),
    [sym_array_literal] = STATE(1648),
    [sym_dictionary_literal] = STATE(1648),
    [sym__dictionary_literal_item] = STATE(8246),
    [sym_special_literal] = STATE(1648),
    [sym_playground_literal] = STATE(1648),
    [sym_lambda_literal] = STATE(1648),
    [sym_self_expression] = STATE(1648),
    [sym_super_expression] = STATE(1648),
    [sym_if_statement] = STATE(1648),
    [sym_switch_statement] = STATE(1648),
    [sym_key_path_expression] = STATE(1648),
    [sym_key_path_string_expression] = STATE(1648),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1648),
    [sym__equality_operator] = STATE(1648),
    [sym__comparison_operator] = STATE(1648),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1648),
    [sym__multiplicative_operator] = STATE(1648),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1648),
    [sym_value_parameter_pack] = STATE(1648),
    [sym_value_pack_expansion] = STATE(1648),
    [sym__referenceable_operator] = STATE(1648),
    [sym__equal_sign] = STATE(1648),
    [sym__eq_eq] = STATE(1648),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1648),
    [sym_diagnostic] = STATE(1648),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1634),
    [sym_real_literal] = ACTIONS(1636),
    [sym_integer_literal] = ACTIONS(1634),
    [sym_hex_literal] = ACTIONS(1634),
    [sym_oct_literal] = ACTIONS(1636),
    [sym_bin_literal] = ACTIONS(1636),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(1716),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1718),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1634),
    [anon_sym_GT] = ACTIONS(1634),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1636),
    [anon_sym_DASH_EQ] = ACTIONS(1636),
    [anon_sym_STAR_EQ] = ACTIONS(1636),
    [anon_sym_SLASH_EQ] = ACTIONS(1636),
    [anon_sym_PERCENT_EQ] = ACTIONS(1636),
    [anon_sym_BANG_EQ] = ACTIONS(1634),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1636),
    [anon_sym_LT_EQ] = ACTIONS(1636),
    [anon_sym_GT_EQ] = ACTIONS(1636),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1634),
    [anon_sym_SLASH] = ACTIONS(1634),
    [anon_sym_PERCENT] = ACTIONS(1634),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1636),
    [anon_sym_CARET] = ACTIONS(1634),
    [anon_sym_LT_LT] = ACTIONS(1636),
    [anon_sym_GT_GT] = ACTIONS(1636),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1636),
    [sym__eq_eq_custom] = ACTIONS(1636),
    [sym__plus_then_ws] = ACTIONS(1636),
    [sym__minus_then_ws] = ACTIONS(1636),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [389] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1648),
    [sym_boolean_literal] = STATE(1648),
    [sym__string_literal] = STATE(1648),
    [sym_line_string_literal] = STATE(1648),
    [sym_multi_line_string_literal] = STATE(1648),
    [sym_raw_string_literal] = STATE(1648),
    [sym_regex_literal] = STATE(1648),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1648),
    [sym__unary_expression] = STATE(1648),
    [sym_postfix_expression] = STATE(1648),
    [sym_constructor_expression] = STATE(1648),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1648),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1648),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1648),
    [sym_prefix_expression] = STATE(1648),
    [sym_as_expression] = STATE(1648),
    [sym_selector_expression] = STATE(1648),
    [sym__binary_expression] = STATE(1648),
    [sym_multiplicative_expression] = STATE(1648),
    [sym_additive_expression] = STATE(1648),
    [sym_range_expression] = STATE(1648),
    [sym_infix_expression] = STATE(1648),
    [sym_nil_coalescing_expression] = STATE(1648),
    [sym_check_expression] = STATE(1648),
    [sym_comparison_expression] = STATE(1648),
    [sym_equality_expression] = STATE(1648),
    [sym_conjunction_expression] = STATE(1648),
    [sym_disjunction_expression] = STATE(1648),
    [sym_bitwise_operation] = STATE(1648),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1648),
    [sym_await_expression] = STATE(1648),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1648),
    [sym_call_expression] = STATE(1648),
    [sym_macro_invocation] = STATE(1648),
    [sym__primary_expression] = STATE(1648),
    [sym_tuple_expression] = STATE(1648),
    [sym_array_literal] = STATE(1648),
    [sym_dictionary_literal] = STATE(1648),
    [sym__dictionary_literal_item] = STATE(8246),
    [sym_special_literal] = STATE(1648),
    [sym_playground_literal] = STATE(1648),
    [sym_lambda_literal] = STATE(1648),
    [sym_self_expression] = STATE(1648),
    [sym_super_expression] = STATE(1648),
    [sym_if_statement] = STATE(1648),
    [sym_switch_statement] = STATE(1648),
    [sym_key_path_expression] = STATE(1648),
    [sym_key_path_string_expression] = STATE(1648),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1648),
    [sym__equality_operator] = STATE(1648),
    [sym__comparison_operator] = STATE(1648),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1648),
    [sym__multiplicative_operator] = STATE(1648),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1648),
    [sym_value_parameter_pack] = STATE(1648),
    [sym_value_pack_expansion] = STATE(1648),
    [sym__referenceable_operator] = STATE(1648),
    [sym__equal_sign] = STATE(1648),
    [sym__eq_eq] = STATE(1648),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1648),
    [sym_diagnostic] = STATE(1648),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1634),
    [sym_real_literal] = ACTIONS(1636),
    [sym_integer_literal] = ACTIONS(1634),
    [sym_hex_literal] = ACTIONS(1634),
    [sym_oct_literal] = ACTIONS(1636),
    [sym_bin_literal] = ACTIONS(1636),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(1720),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1634),
    [anon_sym_GT] = ACTIONS(1634),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1636),
    [anon_sym_DASH_EQ] = ACTIONS(1636),
    [anon_sym_STAR_EQ] = ACTIONS(1636),
    [anon_sym_SLASH_EQ] = ACTIONS(1636),
    [anon_sym_PERCENT_EQ] = ACTIONS(1636),
    [anon_sym_BANG_EQ] = ACTIONS(1634),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1636),
    [anon_sym_LT_EQ] = ACTIONS(1636),
    [anon_sym_GT_EQ] = ACTIONS(1636),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1634),
    [anon_sym_SLASH] = ACTIONS(1634),
    [anon_sym_PERCENT] = ACTIONS(1634),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1636),
    [anon_sym_CARET] = ACTIONS(1634),
    [anon_sym_LT_LT] = ACTIONS(1636),
    [anon_sym_GT_GT] = ACTIONS(1636),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1636),
    [sym__eq_eq_custom] = ACTIONS(1636),
    [sym__plus_then_ws] = ACTIONS(1636),
    [sym__minus_then_ws] = ACTIONS(1636),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [390] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1648),
    [sym_boolean_literal] = STATE(1648),
    [sym__string_literal] = STATE(1648),
    [sym_line_string_literal] = STATE(1648),
    [sym_multi_line_string_literal] = STATE(1648),
    [sym_raw_string_literal] = STATE(1648),
    [sym_regex_literal] = STATE(1648),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1648),
    [sym__unary_expression] = STATE(1648),
    [sym_postfix_expression] = STATE(1648),
    [sym_constructor_expression] = STATE(1648),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1648),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1648),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1648),
    [sym_prefix_expression] = STATE(1648),
    [sym_as_expression] = STATE(1648),
    [sym_selector_expression] = STATE(1648),
    [sym__binary_expression] = STATE(1648),
    [sym_multiplicative_expression] = STATE(1648),
    [sym_additive_expression] = STATE(1648),
    [sym_range_expression] = STATE(1648),
    [sym_infix_expression] = STATE(1648),
    [sym_nil_coalescing_expression] = STATE(1648),
    [sym_check_expression] = STATE(1648),
    [sym_comparison_expression] = STATE(1648),
    [sym_equality_expression] = STATE(1648),
    [sym_conjunction_expression] = STATE(1648),
    [sym_disjunction_expression] = STATE(1648),
    [sym_bitwise_operation] = STATE(1648),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1648),
    [sym_await_expression] = STATE(1648),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1648),
    [sym_call_expression] = STATE(1648),
    [sym_macro_invocation] = STATE(1648),
    [sym__primary_expression] = STATE(1648),
    [sym_tuple_expression] = STATE(1648),
    [sym_array_literal] = STATE(1648),
    [sym_dictionary_literal] = STATE(1648),
    [sym__dictionary_literal_item] = STATE(8246),
    [sym_special_literal] = STATE(1648),
    [sym_playground_literal] = STATE(1648),
    [sym_lambda_literal] = STATE(1648),
    [sym_self_expression] = STATE(1648),
    [sym_super_expression] = STATE(1648),
    [sym_if_statement] = STATE(1648),
    [sym_switch_statement] = STATE(1648),
    [sym_key_path_expression] = STATE(1648),
    [sym_key_path_string_expression] = STATE(1648),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1648),
    [sym__equality_operator] = STATE(1648),
    [sym__comparison_operator] = STATE(1648),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1648),
    [sym__multiplicative_operator] = STATE(1648),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1648),
    [sym_value_parameter_pack] = STATE(1648),
    [sym_value_pack_expansion] = STATE(1648),
    [sym__referenceable_operator] = STATE(1648),
    [sym__equal_sign] = STATE(1648),
    [sym__eq_eq] = STATE(1648),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1648),
    [sym_diagnostic] = STATE(1648),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1634),
    [sym_real_literal] = ACTIONS(1636),
    [sym_integer_literal] = ACTIONS(1634),
    [sym_hex_literal] = ACTIONS(1634),
    [sym_oct_literal] = ACTIONS(1636),
    [sym_bin_literal] = ACTIONS(1636),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(1724),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1726),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1634),
    [anon_sym_GT] = ACTIONS(1634),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1636),
    [anon_sym_DASH_EQ] = ACTIONS(1636),
    [anon_sym_STAR_EQ] = ACTIONS(1636),
    [anon_sym_SLASH_EQ] = ACTIONS(1636),
    [anon_sym_PERCENT_EQ] = ACTIONS(1636),
    [anon_sym_BANG_EQ] = ACTIONS(1634),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1636),
    [anon_sym_LT_EQ] = ACTIONS(1636),
    [anon_sym_GT_EQ] = ACTIONS(1636),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1634),
    [anon_sym_SLASH] = ACTIONS(1634),
    [anon_sym_PERCENT] = ACTIONS(1634),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1636),
    [anon_sym_CARET] = ACTIONS(1634),
    [anon_sym_LT_LT] = ACTIONS(1636),
    [anon_sym_GT_GT] = ACTIONS(1636),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1636),
    [sym__eq_eq_custom] = ACTIONS(1636),
    [sym__plus_then_ws] = ACTIONS(1636),
    [sym__minus_then_ws] = ACTIONS(1636),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [391] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1648),
    [sym_boolean_literal] = STATE(1648),
    [sym__string_literal] = STATE(1648),
    [sym_line_string_literal] = STATE(1648),
    [sym_multi_line_string_literal] = STATE(1648),
    [sym_raw_string_literal] = STATE(1648),
    [sym_regex_literal] = STATE(1648),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1648),
    [sym__unary_expression] = STATE(1648),
    [sym_postfix_expression] = STATE(1648),
    [sym_constructor_expression] = STATE(1648),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1648),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1648),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1648),
    [sym_prefix_expression] = STATE(1648),
    [sym_as_expression] = STATE(1648),
    [sym_selector_expression] = STATE(1648),
    [sym__binary_expression] = STATE(1648),
    [sym_multiplicative_expression] = STATE(1648),
    [sym_additive_expression] = STATE(1648),
    [sym_range_expression] = STATE(1648),
    [sym_infix_expression] = STATE(1648),
    [sym_nil_coalescing_expression] = STATE(1648),
    [sym_check_expression] = STATE(1648),
    [sym_comparison_expression] = STATE(1648),
    [sym_equality_expression] = STATE(1648),
    [sym_conjunction_expression] = STATE(1648),
    [sym_disjunction_expression] = STATE(1648),
    [sym_bitwise_operation] = STATE(1648),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1648),
    [sym_await_expression] = STATE(1648),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1648),
    [sym_call_expression] = STATE(1648),
    [sym_macro_invocation] = STATE(1648),
    [sym__primary_expression] = STATE(1648),
    [sym_tuple_expression] = STATE(1648),
    [sym_array_literal] = STATE(1648),
    [sym_dictionary_literal] = STATE(1648),
    [sym__dictionary_literal_item] = STATE(8246),
    [sym_special_literal] = STATE(1648),
    [sym_playground_literal] = STATE(1648),
    [sym_lambda_literal] = STATE(1648),
    [sym_self_expression] = STATE(1648),
    [sym_super_expression] = STATE(1648),
    [sym_if_statement] = STATE(1648),
    [sym_switch_statement] = STATE(1648),
    [sym_key_path_expression] = STATE(1648),
    [sym_key_path_string_expression] = STATE(1648),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1648),
    [sym__equality_operator] = STATE(1648),
    [sym__comparison_operator] = STATE(1648),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1648),
    [sym__multiplicative_operator] = STATE(1648),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1648),
    [sym_value_parameter_pack] = STATE(1648),
    [sym_value_pack_expansion] = STATE(1648),
    [sym__referenceable_operator] = STATE(1648),
    [sym__equal_sign] = STATE(1648),
    [sym__eq_eq] = STATE(1648),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1648),
    [sym_diagnostic] = STATE(1648),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1634),
    [sym_real_literal] = ACTIONS(1636),
    [sym_integer_literal] = ACTIONS(1634),
    [sym_hex_literal] = ACTIONS(1634),
    [sym_oct_literal] = ACTIONS(1636),
    [sym_bin_literal] = ACTIONS(1636),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(1728),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1730),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1634),
    [anon_sym_GT] = ACTIONS(1634),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1636),
    [anon_sym_DASH_EQ] = ACTIONS(1636),
    [anon_sym_STAR_EQ] = ACTIONS(1636),
    [anon_sym_SLASH_EQ] = ACTIONS(1636),
    [anon_sym_PERCENT_EQ] = ACTIONS(1636),
    [anon_sym_BANG_EQ] = ACTIONS(1634),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1636),
    [anon_sym_LT_EQ] = ACTIONS(1636),
    [anon_sym_GT_EQ] = ACTIONS(1636),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1634),
    [anon_sym_SLASH] = ACTIONS(1634),
    [anon_sym_PERCENT] = ACTIONS(1634),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1636),
    [anon_sym_CARET] = ACTIONS(1634),
    [anon_sym_LT_LT] = ACTIONS(1636),
    [anon_sym_GT_GT] = ACTIONS(1636),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1636),
    [sym__eq_eq_custom] = ACTIONS(1636),
    [sym__plus_then_ws] = ACTIONS(1636),
    [sym__minus_then_ws] = ACTIONS(1636),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [392] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1648),
    [sym_boolean_literal] = STATE(1648),
    [sym__string_literal] = STATE(1648),
    [sym_line_string_literal] = STATE(1648),
    [sym_multi_line_string_literal] = STATE(1648),
    [sym_raw_string_literal] = STATE(1648),
    [sym_regex_literal] = STATE(1648),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1648),
    [sym__unary_expression] = STATE(1648),
    [sym_postfix_expression] = STATE(1648),
    [sym_constructor_expression] = STATE(1648),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1648),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1648),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1648),
    [sym_prefix_expression] = STATE(1648),
    [sym_as_expression] = STATE(1648),
    [sym_selector_expression] = STATE(1648),
    [sym__binary_expression] = STATE(1648),
    [sym_multiplicative_expression] = STATE(1648),
    [sym_additive_expression] = STATE(1648),
    [sym_range_expression] = STATE(1648),
    [sym_infix_expression] = STATE(1648),
    [sym_nil_coalescing_expression] = STATE(1648),
    [sym_check_expression] = STATE(1648),
    [sym_comparison_expression] = STATE(1648),
    [sym_equality_expression] = STATE(1648),
    [sym_conjunction_expression] = STATE(1648),
    [sym_disjunction_expression] = STATE(1648),
    [sym_bitwise_operation] = STATE(1648),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1648),
    [sym_await_expression] = STATE(1648),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1648),
    [sym_call_expression] = STATE(1648),
    [sym_macro_invocation] = STATE(1648),
    [sym__primary_expression] = STATE(1648),
    [sym_tuple_expression] = STATE(1648),
    [sym_array_literal] = STATE(1648),
    [sym_dictionary_literal] = STATE(1648),
    [sym__dictionary_literal_item] = STATE(8246),
    [sym_special_literal] = STATE(1648),
    [sym_playground_literal] = STATE(1648),
    [sym_lambda_literal] = STATE(1648),
    [sym_self_expression] = STATE(1648),
    [sym_super_expression] = STATE(1648),
    [sym_if_statement] = STATE(1648),
    [sym_switch_statement] = STATE(1648),
    [sym_key_path_expression] = STATE(1648),
    [sym_key_path_string_expression] = STATE(1648),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1648),
    [sym__equality_operator] = STATE(1648),
    [sym__comparison_operator] = STATE(1648),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1648),
    [sym__multiplicative_operator] = STATE(1648),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1648),
    [sym_value_parameter_pack] = STATE(1648),
    [sym_value_pack_expansion] = STATE(1648),
    [sym__referenceable_operator] = STATE(1648),
    [sym__equal_sign] = STATE(1648),
    [sym__eq_eq] = STATE(1648),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1648),
    [sym_diagnostic] = STATE(1648),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1634),
    [sym_real_literal] = ACTIONS(1636),
    [sym_integer_literal] = ACTIONS(1634),
    [sym_hex_literal] = ACTIONS(1634),
    [sym_oct_literal] = ACTIONS(1636),
    [sym_bin_literal] = ACTIONS(1636),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(1732),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1734),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1634),
    [anon_sym_GT] = ACTIONS(1634),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1636),
    [anon_sym_DASH_EQ] = ACTIONS(1636),
    [anon_sym_STAR_EQ] = ACTIONS(1636),
    [anon_sym_SLASH_EQ] = ACTIONS(1636),
    [anon_sym_PERCENT_EQ] = ACTIONS(1636),
    [anon_sym_BANG_EQ] = ACTIONS(1634),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1636),
    [anon_sym_LT_EQ] = ACTIONS(1636),
    [anon_sym_GT_EQ] = ACTIONS(1636),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1634),
    [anon_sym_SLASH] = ACTIONS(1634),
    [anon_sym_PERCENT] = ACTIONS(1634),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1636),
    [anon_sym_CARET] = ACTIONS(1634),
    [anon_sym_LT_LT] = ACTIONS(1636),
    [anon_sym_GT_GT] = ACTIONS(1636),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1636),
    [sym__eq_eq_custom] = ACTIONS(1636),
    [sym__plus_then_ws] = ACTIONS(1636),
    [sym__minus_then_ws] = ACTIONS(1636),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [393] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1648),
    [sym_boolean_literal] = STATE(1648),
    [sym__string_literal] = STATE(1648),
    [sym_line_string_literal] = STATE(1648),
    [sym_multi_line_string_literal] = STATE(1648),
    [sym_raw_string_literal] = STATE(1648),
    [sym_regex_literal] = STATE(1648),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1648),
    [sym__unary_expression] = STATE(1648),
    [sym_postfix_expression] = STATE(1648),
    [sym_constructor_expression] = STATE(1648),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1648),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1648),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1648),
    [sym_prefix_expression] = STATE(1648),
    [sym_as_expression] = STATE(1648),
    [sym_selector_expression] = STATE(1648),
    [sym__binary_expression] = STATE(1648),
    [sym_multiplicative_expression] = STATE(1648),
    [sym_additive_expression] = STATE(1648),
    [sym_range_expression] = STATE(1648),
    [sym_infix_expression] = STATE(1648),
    [sym_nil_coalescing_expression] = STATE(1648),
    [sym_check_expression] = STATE(1648),
    [sym_comparison_expression] = STATE(1648),
    [sym_equality_expression] = STATE(1648),
    [sym_conjunction_expression] = STATE(1648),
    [sym_disjunction_expression] = STATE(1648),
    [sym_bitwise_operation] = STATE(1648),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1648),
    [sym_await_expression] = STATE(1648),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1648),
    [sym_call_expression] = STATE(1648),
    [sym_macro_invocation] = STATE(1648),
    [sym__primary_expression] = STATE(1648),
    [sym_tuple_expression] = STATE(1648),
    [sym_array_literal] = STATE(1648),
    [sym_dictionary_literal] = STATE(1648),
    [sym__dictionary_literal_item] = STATE(8246),
    [sym_special_literal] = STATE(1648),
    [sym_playground_literal] = STATE(1648),
    [sym_lambda_literal] = STATE(1648),
    [sym_self_expression] = STATE(1648),
    [sym_super_expression] = STATE(1648),
    [sym_if_statement] = STATE(1648),
    [sym_switch_statement] = STATE(1648),
    [sym_key_path_expression] = STATE(1648),
    [sym_key_path_string_expression] = STATE(1648),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1648),
    [sym__equality_operator] = STATE(1648),
    [sym__comparison_operator] = STATE(1648),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1648),
    [sym__multiplicative_operator] = STATE(1648),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1648),
    [sym_value_parameter_pack] = STATE(1648),
    [sym_value_pack_expansion] = STATE(1648),
    [sym__referenceable_operator] = STATE(1648),
    [sym__equal_sign] = STATE(1648),
    [sym__eq_eq] = STATE(1648),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1648),
    [sym_diagnostic] = STATE(1648),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1634),
    [sym_real_literal] = ACTIONS(1636),
    [sym_integer_literal] = ACTIONS(1634),
    [sym_hex_literal] = ACTIONS(1634),
    [sym_oct_literal] = ACTIONS(1636),
    [sym_bin_literal] = ACTIONS(1636),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(1736),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1738),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1634),
    [anon_sym_GT] = ACTIONS(1634),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1636),
    [anon_sym_DASH_EQ] = ACTIONS(1636),
    [anon_sym_STAR_EQ] = ACTIONS(1636),
    [anon_sym_SLASH_EQ] = ACTIONS(1636),
    [anon_sym_PERCENT_EQ] = ACTIONS(1636),
    [anon_sym_BANG_EQ] = ACTIONS(1634),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1636),
    [anon_sym_LT_EQ] = ACTIONS(1636),
    [anon_sym_GT_EQ] = ACTIONS(1636),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1634),
    [anon_sym_SLASH] = ACTIONS(1634),
    [anon_sym_PERCENT] = ACTIONS(1634),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1636),
    [anon_sym_CARET] = ACTIONS(1634),
    [anon_sym_LT_LT] = ACTIONS(1636),
    [anon_sym_GT_GT] = ACTIONS(1636),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1636),
    [sym__eq_eq_custom] = ACTIONS(1636),
    [sym__plus_then_ws] = ACTIONS(1636),
    [sym__minus_then_ws] = ACTIONS(1636),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [394] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1648),
    [sym_boolean_literal] = STATE(1648),
    [sym__string_literal] = STATE(1648),
    [sym_line_string_literal] = STATE(1648),
    [sym_multi_line_string_literal] = STATE(1648),
    [sym_raw_string_literal] = STATE(1648),
    [sym_regex_literal] = STATE(1648),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1648),
    [sym__unary_expression] = STATE(1648),
    [sym_postfix_expression] = STATE(1648),
    [sym_constructor_expression] = STATE(1648),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1648),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1648),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1648),
    [sym_prefix_expression] = STATE(1648),
    [sym_as_expression] = STATE(1648),
    [sym_selector_expression] = STATE(1648),
    [sym__binary_expression] = STATE(1648),
    [sym_multiplicative_expression] = STATE(1648),
    [sym_additive_expression] = STATE(1648),
    [sym_range_expression] = STATE(1648),
    [sym_infix_expression] = STATE(1648),
    [sym_nil_coalescing_expression] = STATE(1648),
    [sym_check_expression] = STATE(1648),
    [sym_comparison_expression] = STATE(1648),
    [sym_equality_expression] = STATE(1648),
    [sym_conjunction_expression] = STATE(1648),
    [sym_disjunction_expression] = STATE(1648),
    [sym_bitwise_operation] = STATE(1648),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1648),
    [sym_await_expression] = STATE(1648),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1648),
    [sym_call_expression] = STATE(1648),
    [sym_macro_invocation] = STATE(1648),
    [sym__primary_expression] = STATE(1648),
    [sym_tuple_expression] = STATE(1648),
    [sym_array_literal] = STATE(1648),
    [sym_dictionary_literal] = STATE(1648),
    [sym__dictionary_literal_item] = STATE(8246),
    [sym_special_literal] = STATE(1648),
    [sym_playground_literal] = STATE(1648),
    [sym_lambda_literal] = STATE(1648),
    [sym_self_expression] = STATE(1648),
    [sym_super_expression] = STATE(1648),
    [sym_if_statement] = STATE(1648),
    [sym_switch_statement] = STATE(1648),
    [sym_key_path_expression] = STATE(1648),
    [sym_key_path_string_expression] = STATE(1648),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1648),
    [sym__equality_operator] = STATE(1648),
    [sym__comparison_operator] = STATE(1648),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1648),
    [sym__multiplicative_operator] = STATE(1648),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1648),
    [sym_value_parameter_pack] = STATE(1648),
    [sym_value_pack_expansion] = STATE(1648),
    [sym__referenceable_operator] = STATE(1648),
    [sym__equal_sign] = STATE(1648),
    [sym__eq_eq] = STATE(1648),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1648),
    [sym_diagnostic] = STATE(1648),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1634),
    [sym_real_literal] = ACTIONS(1636),
    [sym_integer_literal] = ACTIONS(1634),
    [sym_hex_literal] = ACTIONS(1634),
    [sym_oct_literal] = ACTIONS(1636),
    [sym_bin_literal] = ACTIONS(1636),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(1740),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1742),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1634),
    [anon_sym_GT] = ACTIONS(1634),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1636),
    [anon_sym_DASH_EQ] = ACTIONS(1636),
    [anon_sym_STAR_EQ] = ACTIONS(1636),
    [anon_sym_SLASH_EQ] = ACTIONS(1636),
    [anon_sym_PERCENT_EQ] = ACTIONS(1636),
    [anon_sym_BANG_EQ] = ACTIONS(1634),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1636),
    [anon_sym_LT_EQ] = ACTIONS(1636),
    [anon_sym_GT_EQ] = ACTIONS(1636),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1634),
    [anon_sym_SLASH] = ACTIONS(1634),
    [anon_sym_PERCENT] = ACTIONS(1634),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1636),
    [anon_sym_CARET] = ACTIONS(1634),
    [anon_sym_LT_LT] = ACTIONS(1636),
    [anon_sym_GT_GT] = ACTIONS(1636),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1636),
    [sym__eq_eq_custom] = ACTIONS(1636),
    [sym__plus_then_ws] = ACTIONS(1636),
    [sym__minus_then_ws] = ACTIONS(1636),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [395] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(7935),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [396] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1648),
    [sym_boolean_literal] = STATE(1648),
    [sym__string_literal] = STATE(1648),
    [sym_line_string_literal] = STATE(1648),
    [sym_multi_line_string_literal] = STATE(1648),
    [sym_raw_string_literal] = STATE(1648),
    [sym_regex_literal] = STATE(1648),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1648),
    [sym__unary_expression] = STATE(1648),
    [sym_postfix_expression] = STATE(1648),
    [sym_constructor_expression] = STATE(1648),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1648),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1648),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1648),
    [sym_prefix_expression] = STATE(1648),
    [sym_as_expression] = STATE(1648),
    [sym_selector_expression] = STATE(1648),
    [sym__binary_expression] = STATE(1648),
    [sym_multiplicative_expression] = STATE(1648),
    [sym_additive_expression] = STATE(1648),
    [sym_range_expression] = STATE(1648),
    [sym_infix_expression] = STATE(1648),
    [sym_nil_coalescing_expression] = STATE(1648),
    [sym_check_expression] = STATE(1648),
    [sym_comparison_expression] = STATE(1648),
    [sym_equality_expression] = STATE(1648),
    [sym_conjunction_expression] = STATE(1648),
    [sym_disjunction_expression] = STATE(1648),
    [sym_bitwise_operation] = STATE(1648),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1648),
    [sym_await_expression] = STATE(1648),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1648),
    [sym_call_expression] = STATE(1648),
    [sym_macro_invocation] = STATE(1648),
    [sym__primary_expression] = STATE(1648),
    [sym_tuple_expression] = STATE(1648),
    [sym_array_literal] = STATE(1648),
    [sym_dictionary_literal] = STATE(1648),
    [sym__dictionary_literal_item] = STATE(8246),
    [sym_special_literal] = STATE(1648),
    [sym_playground_literal] = STATE(1648),
    [sym_lambda_literal] = STATE(1648),
    [sym_self_expression] = STATE(1648),
    [sym_super_expression] = STATE(1648),
    [sym_if_statement] = STATE(1648),
    [sym_switch_statement] = STATE(1648),
    [sym_key_path_expression] = STATE(1648),
    [sym_key_path_string_expression] = STATE(1648),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1648),
    [sym__equality_operator] = STATE(1648),
    [sym__comparison_operator] = STATE(1648),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1648),
    [sym__multiplicative_operator] = STATE(1648),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1648),
    [sym_value_parameter_pack] = STATE(1648),
    [sym_value_pack_expansion] = STATE(1648),
    [sym__referenceable_operator] = STATE(1648),
    [sym__equal_sign] = STATE(1648),
    [sym__eq_eq] = STATE(1648),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1648),
    [sym_diagnostic] = STATE(1648),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1634),
    [sym_real_literal] = ACTIONS(1636),
    [sym_integer_literal] = ACTIONS(1634),
    [sym_hex_literal] = ACTIONS(1634),
    [sym_oct_literal] = ACTIONS(1636),
    [sym_bin_literal] = ACTIONS(1636),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(1744),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1746),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1634),
    [anon_sym_GT] = ACTIONS(1634),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1636),
    [anon_sym_DASH_EQ] = ACTIONS(1636),
    [anon_sym_STAR_EQ] = ACTIONS(1636),
    [anon_sym_SLASH_EQ] = ACTIONS(1636),
    [anon_sym_PERCENT_EQ] = ACTIONS(1636),
    [anon_sym_BANG_EQ] = ACTIONS(1634),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1636),
    [anon_sym_LT_EQ] = ACTIONS(1636),
    [anon_sym_GT_EQ] = ACTIONS(1636),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1634),
    [anon_sym_SLASH] = ACTIONS(1634),
    [anon_sym_PERCENT] = ACTIONS(1634),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1636),
    [anon_sym_CARET] = ACTIONS(1634),
    [anon_sym_LT_LT] = ACTIONS(1636),
    [anon_sym_GT_GT] = ACTIONS(1636),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1636),
    [sym__eq_eq_custom] = ACTIONS(1636),
    [sym__plus_then_ws] = ACTIONS(1636),
    [sym__minus_then_ws] = ACTIONS(1636),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [397] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1648),
    [sym_boolean_literal] = STATE(1648),
    [sym__string_literal] = STATE(1648),
    [sym_line_string_literal] = STATE(1648),
    [sym_multi_line_string_literal] = STATE(1648),
    [sym_raw_string_literal] = STATE(1648),
    [sym_regex_literal] = STATE(1648),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1648),
    [sym__unary_expression] = STATE(1648),
    [sym_postfix_expression] = STATE(1648),
    [sym_constructor_expression] = STATE(1648),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1648),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1648),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1648),
    [sym_prefix_expression] = STATE(1648),
    [sym_as_expression] = STATE(1648),
    [sym_selector_expression] = STATE(1648),
    [sym__binary_expression] = STATE(1648),
    [sym_multiplicative_expression] = STATE(1648),
    [sym_additive_expression] = STATE(1648),
    [sym_range_expression] = STATE(1648),
    [sym_infix_expression] = STATE(1648),
    [sym_nil_coalescing_expression] = STATE(1648),
    [sym_check_expression] = STATE(1648),
    [sym_comparison_expression] = STATE(1648),
    [sym_equality_expression] = STATE(1648),
    [sym_conjunction_expression] = STATE(1648),
    [sym_disjunction_expression] = STATE(1648),
    [sym_bitwise_operation] = STATE(1648),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1648),
    [sym_await_expression] = STATE(1648),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1648),
    [sym_call_expression] = STATE(1648),
    [sym_macro_invocation] = STATE(1648),
    [sym__primary_expression] = STATE(1648),
    [sym_tuple_expression] = STATE(1648),
    [sym_array_literal] = STATE(1648),
    [sym_dictionary_literal] = STATE(1648),
    [sym__dictionary_literal_item] = STATE(8246),
    [sym_special_literal] = STATE(1648),
    [sym_playground_literal] = STATE(1648),
    [sym_lambda_literal] = STATE(1648),
    [sym_self_expression] = STATE(1648),
    [sym_super_expression] = STATE(1648),
    [sym_if_statement] = STATE(1648),
    [sym_switch_statement] = STATE(1648),
    [sym_key_path_expression] = STATE(1648),
    [sym_key_path_string_expression] = STATE(1648),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1648),
    [sym__equality_operator] = STATE(1648),
    [sym__comparison_operator] = STATE(1648),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1648),
    [sym__multiplicative_operator] = STATE(1648),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1648),
    [sym_value_parameter_pack] = STATE(1648),
    [sym_value_pack_expansion] = STATE(1648),
    [sym__referenceable_operator] = STATE(1648),
    [sym__equal_sign] = STATE(1648),
    [sym__eq_eq] = STATE(1648),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1648),
    [sym_diagnostic] = STATE(1648),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1634),
    [sym_real_literal] = ACTIONS(1636),
    [sym_integer_literal] = ACTIONS(1634),
    [sym_hex_literal] = ACTIONS(1634),
    [sym_oct_literal] = ACTIONS(1636),
    [sym_bin_literal] = ACTIONS(1636),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_COMMA] = ACTIONS(1748),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1750),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1634),
    [anon_sym_GT] = ACTIONS(1634),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1636),
    [anon_sym_DASH_EQ] = ACTIONS(1636),
    [anon_sym_STAR_EQ] = ACTIONS(1636),
    [anon_sym_SLASH_EQ] = ACTIONS(1636),
    [anon_sym_PERCENT_EQ] = ACTIONS(1636),
    [anon_sym_BANG_EQ] = ACTIONS(1634),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1636),
    [anon_sym_LT_EQ] = ACTIONS(1636),
    [anon_sym_GT_EQ] = ACTIONS(1636),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1634),
    [anon_sym_SLASH] = ACTIONS(1634),
    [anon_sym_PERCENT] = ACTIONS(1634),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1636),
    [anon_sym_CARET] = ACTIONS(1634),
    [anon_sym_LT_LT] = ACTIONS(1636),
    [anon_sym_GT_GT] = ACTIONS(1636),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1636),
    [sym__eq_eq_custom] = ACTIONS(1636),
    [sym__plus_then_ws] = ACTIONS(1636),
    [sym__minus_then_ws] = ACTIONS(1636),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [398] = {
    [sym_simple_identifier] = STATE(1805),
    [sym__contextual_simple_identifier] = STATE(1832),
    [sym__basic_literal] = STATE(1597),
    [sym_boolean_literal] = STATE(1597),
    [sym__string_literal] = STATE(1597),
    [sym_line_string_literal] = STATE(1597),
    [sym_multi_line_string_literal] = STATE(1597),
    [sym_raw_string_literal] = STATE(1597),
    [sym_regex_literal] = STATE(1597),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1597),
    [sym__unary_expression] = STATE(1597),
    [sym_postfix_expression] = STATE(1597),
    [sym_constructor_expression] = STATE(1597),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1597),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1597),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1597),
    [sym_prefix_expression] = STATE(1597),
    [sym_as_expression] = STATE(1597),
    [sym_selector_expression] = STATE(1597),
    [sym__binary_expression] = STATE(1597),
    [sym_multiplicative_expression] = STATE(1597),
    [sym_additive_expression] = STATE(1597),
    [sym_range_expression] = STATE(1597),
    [sym_infix_expression] = STATE(1597),
    [sym_nil_coalescing_expression] = STATE(1597),
    [sym_check_expression] = STATE(1597),
    [sym_comparison_expression] = STATE(1597),
    [sym_equality_expression] = STATE(1597),
    [sym_conjunction_expression] = STATE(1597),
    [sym_disjunction_expression] = STATE(1597),
    [sym_bitwise_operation] = STATE(1597),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1597),
    [sym_await_expression] = STATE(1597),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1597),
    [sym_call_expression] = STATE(1597),
    [sym_macro_invocation] = STATE(1597),
    [sym__primary_expression] = STATE(1597),
    [sym_tuple_expression] = STATE(1597),
    [sym_array_literal] = STATE(1597),
    [sym_dictionary_literal] = STATE(1597),
    [sym_special_literal] = STATE(1597),
    [sym_playground_literal] = STATE(1597),
    [sym_lambda_literal] = STATE(1597),
    [sym_self_expression] = STATE(1597),
    [sym_super_expression] = STATE(1597),
    [sym_if_statement] = STATE(1597),
    [sym_switch_statement] = STATE(1597),
    [sym_key_path_expression] = STATE(1597),
    [sym_key_path_string_expression] = STATE(1597),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1597),
    [sym__equality_operator] = STATE(1597),
    [sym__comparison_operator] = STATE(1597),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1597),
    [sym__multiplicative_operator] = STATE(1597),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1597),
    [sym_value_parameter_pack] = STATE(1597),
    [sym_value_pack_expansion] = STATE(1597),
    [sym__referenceable_operator] = STATE(1597),
    [sym__equal_sign] = STATE(1597),
    [sym__eq_eq] = STATE(1597),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__attribute_argument] = STATE(7752),
    [sym__parameter_ownership_modifier] = STATE(1832),
    [sym_directive] = STATE(1597),
    [sym_diagnostic] = STATE(1597),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym__attribute_argument_repeat1] = STATE(5134),
    [aux_sym__attribute_argument_repeat2] = STATE(5300),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1523),
    [aux_sym_simple_identifier_token2] = ACTIONS(1525),
    [aux_sym_simple_identifier_token3] = ACTIONS(1525),
    [aux_sym_simple_identifier_token4] = ACTIONS(1525),
    [anon_sym_actor] = ACTIONS(1523),
    [anon_sym_async] = ACTIONS(1523),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(1523),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(1523),
    [anon_sym_nil] = ACTIONS(1562),
    [sym_real_literal] = ACTIONS(1564),
    [sym_integer_literal] = ACTIONS(1562),
    [sym_hex_literal] = ACTIONS(1562),
    [sym_oct_literal] = ACTIONS(1564),
    [sym_bin_literal] = ACTIONS(1564),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1562),
    [anon_sym_GT] = ACTIONS(1562),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1564),
    [anon_sym_DASH_EQ] = ACTIONS(1564),
    [anon_sym_STAR_EQ] = ACTIONS(1564),
    [anon_sym_SLASH_EQ] = ACTIONS(1564),
    [anon_sym_PERCENT_EQ] = ACTIONS(1564),
    [anon_sym_BANG_EQ] = ACTIONS(1562),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1564),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1564),
    [anon_sym_LT_EQ] = ACTIONS(1564),
    [anon_sym_GT_EQ] = ACTIONS(1564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1562),
    [anon_sym_SLASH] = ACTIONS(1562),
    [anon_sym_PERCENT] = ACTIONS(1562),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1562),
    [anon_sym_LT_LT] = ACTIONS(1564),
    [anon_sym_GT_GT] = ACTIONS(1564),
    [anon_sym_borrowing] = ACTIONS(1523),
    [anon_sym_consuming] = ACTIONS(1523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1564),
    [sym__eq_eq_custom] = ACTIONS(1564),
    [sym__plus_then_ws] = ACTIONS(1564),
    [sym__minus_then_ws] = ACTIONS(1564),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [399] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1496),
    [sym_boolean_literal] = STATE(1496),
    [sym__string_literal] = STATE(1496),
    [sym_line_string_literal] = STATE(1496),
    [sym_multi_line_string_literal] = STATE(1496),
    [sym_raw_string_literal] = STATE(1496),
    [sym_regex_literal] = STATE(1496),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1496),
    [sym__unary_expression] = STATE(1496),
    [sym_postfix_expression] = STATE(1496),
    [sym_constructor_expression] = STATE(1496),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1496),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1496),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1496),
    [sym_prefix_expression] = STATE(1496),
    [sym_as_expression] = STATE(1496),
    [sym_selector_expression] = STATE(1496),
    [sym__binary_expression] = STATE(1496),
    [sym_multiplicative_expression] = STATE(1496),
    [sym_additive_expression] = STATE(1496),
    [sym_range_expression] = STATE(1496),
    [sym_infix_expression] = STATE(1496),
    [sym_nil_coalescing_expression] = STATE(1496),
    [sym_check_expression] = STATE(1496),
    [sym_comparison_expression] = STATE(1496),
    [sym_equality_expression] = STATE(1496),
    [sym_conjunction_expression] = STATE(1496),
    [sym_disjunction_expression] = STATE(1496),
    [sym_bitwise_operation] = STATE(1496),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1496),
    [sym_await_expression] = STATE(1496),
    [sym__await_operator] = STATE(712),
    [sym_ternary_expression] = STATE(1496),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(3255),
    [sym_expr_hack_at_ternary_binary_call] = STATE(3255),
    [sym_call_expression] = STATE(1496),
    [sym_macro_invocation] = STATE(1496),
    [sym__primary_expression] = STATE(1496),
    [sym_tuple_expression] = STATE(1496),
    [sym_array_literal] = STATE(1496),
    [sym_dictionary_literal] = STATE(1496),
    [sym_special_literal] = STATE(1496),
    [sym_playground_literal] = STATE(1496),
    [sym_lambda_literal] = STATE(1496),
    [sym_self_expression] = STATE(1496),
    [sym_super_expression] = STATE(1496),
    [sym_if_statement] = STATE(1496),
    [sym_switch_statement] = STATE(1496),
    [sym_key_path_expression] = STATE(1496),
    [sym_key_path_string_expression] = STATE(1496),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1496),
    [sym__equality_operator] = STATE(1496),
    [sym__comparison_operator] = STATE(1496),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1496),
    [sym__multiplicative_operator] = STATE(1496),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym_assignment] = STATE(1496),
    [sym_value_parameter_pack] = STATE(1496),
    [sym_value_pack_expansion] = STATE(1496),
    [sym__referenceable_operator] = STATE(1496),
    [sym__equal_sign] = STATE(1496),
    [sym__eq_eq] = STATE(1496),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1496),
    [sym_diagnostic] = STATE(1496),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(1752),
    [sym_real_literal] = ACTIONS(1754),
    [sym_integer_literal] = ACTIONS(1752),
    [sym_hex_literal] = ACTIONS(1752),
    [sym_oct_literal] = ACTIONS(1754),
    [sym_bin_literal] = ACTIONS(1754),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(1752),
    [anon_sym_GT] = ACTIONS(1752),
    [anon_sym_await] = ACTIONS(1067),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1754),
    [anon_sym_DASH_EQ] = ACTIONS(1754),
    [anon_sym_STAR_EQ] = ACTIONS(1754),
    [anon_sym_SLASH_EQ] = ACTIONS(1754),
    [anon_sym_PERCENT_EQ] = ACTIONS(1754),
    [anon_sym_BANG_EQ] = ACTIONS(1752),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1754),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1754),
    [anon_sym_LT_EQ] = ACTIONS(1754),
    [anon_sym_GT_EQ] = ACTIONS(1754),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(1752),
    [anon_sym_SLASH] = ACTIONS(1752),
    [anon_sym_PERCENT] = ACTIONS(1752),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(1754),
    [anon_sym_CARET] = ACTIONS(1752),
    [anon_sym_LT_LT] = ACTIONS(1754),
    [anon_sym_GT_GT] = ACTIONS(1754),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(1754),
    [sym__eq_eq_custom] = ACTIONS(1754),
    [sym__plus_then_ws] = ACTIONS(1754),
    [sym__minus_then_ws] = ACTIONS(1754),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [400] = {
    [sym_simple_identifier] = STATE(2645),
    [sym__contextual_simple_identifier] = STATE(2445),
    [sym__basic_literal] = STATE(1481),
    [sym_boolean_literal] = STATE(1481),
    [sym__string_literal] = STATE(1481),
    [sym_line_string_literal] = STATE(1481),
    [sym_multi_line_string_literal] = STATE(1481),
    [sym_raw_string_literal] = STATE(1481),
    [sym_regex_literal] = STATE(1481),
    [sym__extended_regex_literal] = STATE(2955),
    [sym__multiline_regex_literal] = STATE(2955),
    [sym_user_type] = STATE(6382),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6382),
    [sym_dictionary_type] = STATE(6382),
    [sym__expression] = STATE(1481),
    [sym__unary_expression] = STATE(1481),
    [sym_postfix_expression] = STATE(1481),
    [sym_constructor_expression] = STATE(1481),
    [sym__parenthesized_type] = STATE(7692),
    [sym_navigation_expression] = STATE(1481),
    [sym__navigable_type_expression] = STATE(7690),
    [sym_open_start_range_expression] = STATE(1481),
    [sym__range_operator] = STATE(672),
    [sym_open_end_range_expression] = STATE(1481),
    [sym_prefix_expression] = STATE(1481),
    [sym_as_expression] = STATE(1481),
    [sym_selector_expression] = STATE(1481),
    [sym__binary_expression] = STATE(1481),
    [sym_multiplicative_expression] = STATE(1481),
    [sym_additive_expression] = STATE(1481),
    [sym_range_expression] = STATE(1481),
    [sym_infix_expression] = STATE(1481),
    [sym_nil_coalescing_expression] = STATE(1481),
    [sym_check_expression] = STATE(1481),
    [sym_comparison_expression] = STATE(1481),
    [sym_equality_expression] = STATE(1481),
    [sym_conjunction_expression] = STATE(1481),
    [sym_disjunction_expression] = STATE(1481),
    [sym_bitwise_operation] = STATE(1481),
    [sym_custom_operator] = STATE(1170),
    [sym_try_expression] = STATE(1481),
    [sym_await_expression] = STATE(1481),
    [sym__await_operator] = STATE(716),
    [sym_ternary_expression] = STATE(1481),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(2855),
    [sym_expr_hack_at_ternary_binary_call] = STATE(2855),
    [sym_call_expression] = STATE(1481),
    [sym_macro_invocation] = STATE(1481),
    [sym__primary_expression] = STATE(1481),
    [sym_tuple_expression] = STATE(1481),
    [sym_array_literal] = STATE(1481),
    [sym_dictionary_literal] = STATE(1481),
    [sym_special_literal] = STATE(1481),
    [sym_playground_literal] = STATE(1481),
    [sym_lambda_literal] = STATE(1481),
    [sym_self_expression] = STATE(1481),
    [sym_super_expression] = STATE(1481),
    [sym_if_statement] = STATE(1481),
    [sym_switch_statement] = STATE(1481),
    [sym_key_path_expression] = STATE(1481),
    [sym_key_path_string_expression] = STATE(1481),
    [sym_try_operator] = STATE(732),
    [sym__assignment_and_operator] = STATE(1481),
    [sym__equality_operator] = STATE(1481),
    [sym__comparison_operator] = STATE(1481),
    [sym__three_dot_operator] = STATE(1173),
    [sym__open_ended_range_operator] = STATE(672),
    [sym__additive_operator] = STATE(1481),
    [sym__multiplicative_operator] = STATE(1481),
    [sym__prefix_unary_operator] = STATE(647),
    [sym_directly_assignable_expression] = STATE(6379),
    [sym_assignment] = STATE(1481),
    [sym_value_parameter_pack] = STATE(1481),
    [sym_value_pack_expansion] = STATE(1481),
    [sym__referenceable_operator] = STATE(1481),
    [sym__equal_sign] = STATE(1481),
    [sym__eq_eq] = STATE(1481),
    [sym__dot] = STATE(647),
    [sym__hash_symbol] = STATE(4854),
    [sym_bang] = STATE(1170),
    [sym__parameter_ownership_modifier] = STATE(2445),
    [sym_directive] = STATE(1481),
    [sym_diagnostic] = STATE(1481),
    [aux_sym_raw_string_literal_repeat1] = STATE(7509),
    [anon_sym_BANG] = ACTIONS(1119),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1121),
    [aux_sym_simple_identifier_token2] = ACTIONS(1123),
    [aux_sym_simple_identifier_token3] = ACTIONS(1123),
    [aux_sym_simple_identifier_token4] = ACTIONS(1123),
    [anon_sym_actor] = ACTIONS(1121),
    [anon_sym_async] = ACTIONS(1121),
    [anon_sym_each] = ACTIONS(1125),
    [anon_sym_lazy] = ACTIONS(1121),
    [anon_sym_repeat] = ACTIONS(1127),
    [anon_sym_package] = ACTIONS(1121),
    [anon_sym_nil] = ACTIONS(1756),
    [sym_real_literal] = ACTIONS(1758),
    [sym_integer_literal] = ACTIONS(1756),
    [sym_hex_literal] = ACTIONS(1756),
    [sym_oct_literal] = ACTIONS(1758),
    [sym_bin_literal] = ACTIONS(1758),
    [anon_sym_true] = ACTIONS(1133),
    [anon_sym_false] = ACTIONS(1133),
    [anon_sym_DQUOTE] = ACTIONS(1135),
    [anon_sym_BSLASH] = ACTIONS(1137),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1139),
    [sym__oneline_regex_literal] = ACTIONS(1141),
    [anon_sym_LPAREN] = ACTIONS(1143),
    [anon_sym_LBRACK] = ACTIONS(1145),
    [anon_sym_AMP] = ACTIONS(1147),
    [anon_sym_TILDE] = ACTIONS(1147),
    [anon_sym_if] = ACTIONS(1149),
    [anon_sym_switch] = ACTIONS(1151),
    [aux_sym_custom_operator_token1] = ACTIONS(1153),
    [anon_sym_LT] = ACTIONS(1756),
    [anon_sym_GT] = ACTIONS(1756),
    [anon_sym_await] = ACTIONS(1155),
    [anon_sym_LBRACE] = ACTIONS(1157),
    [anon_sym_CARET_LBRACE] = ACTIONS(1157),
    [anon_sym_self] = ACTIONS(1159),
    [anon_sym_super] = ACTIONS(1161),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1758),
    [anon_sym_DASH_EQ] = ACTIONS(1758),
    [anon_sym_STAR_EQ] = ACTIONS(1758),
    [anon_sym_SLASH_EQ] = ACTIONS(1758),
    [anon_sym_PERCENT_EQ] = ACTIONS(1758),
    [anon_sym_BANG_EQ] = ACTIONS(1756),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1758),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1758),
    [anon_sym_LT_EQ] = ACTIONS(1758),
    [anon_sym_GT_EQ] = ACTIONS(1758),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1163),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1165),
    [anon_sym_PLUS] = ACTIONS(1167),
    [anon_sym_DASH] = ACTIONS(1167),
    [anon_sym_STAR] = ACTIONS(1756),
    [anon_sym_SLASH] = ACTIONS(1756),
    [anon_sym_PERCENT] = ACTIONS(1756),
    [anon_sym_PLUS_PLUS] = ACTIONS(1147),
    [anon_sym_DASH_DASH] = ACTIONS(1147),
    [anon_sym_PIPE] = ACTIONS(1758),
    [anon_sym_CARET] = ACTIONS(1756),
    [anon_sym_LT_LT] = ACTIONS(1758),
    [anon_sym_GT_GT] = ACTIONS(1758),
    [anon_sym_borrowing] = ACTIONS(1121),
    [anon_sym_consuming] = ACTIONS(1121),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1169),
    [sym__dot_custom] = ACTIONS(1171),
    [sym__eq_custom] = ACTIONS(1758),
    [sym__eq_eq_custom] = ACTIONS(1758),
    [sym__plus_then_ws] = ACTIONS(1758),
    [sym__minus_then_ws] = ACTIONS(1758),
    [sym__bang_custom] = ACTIONS(1173),
    [sym__custom_operator] = ACTIONS(1153),
    [sym__hash_symbol_custom] = ACTIONS(1175),
    [sym__directive_if] = ACTIONS(1177),
    [sym__directive_elseif] = ACTIONS(1177),
    [sym__directive_else] = ACTIONS(1179),
    [sym__directive_endif] = ACTIONS(1179),
  },
  [401] = {
    [sym_simple_identifier] = STATE(3023),
    [sym__contextual_simple_identifier] = STATE(2652),
    [sym__basic_literal] = STATE(1489),
    [sym_boolean_literal] = STATE(1489),
    [sym__string_literal] = STATE(1489),
    [sym_line_string_literal] = STATE(1489),
    [sym_multi_line_string_literal] = STATE(1489),
    [sym_raw_string_literal] = STATE(1489),
    [sym_regex_literal] = STATE(1489),
    [sym__extended_regex_literal] = STATE(3428),
    [sym__multiline_regex_literal] = STATE(3428),
    [sym_user_type] = STATE(6368),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6368),
    [sym_dictionary_type] = STATE(6368),
    [sym__expression] = STATE(1489),
    [sym__unary_expression] = STATE(1489),
    [sym_postfix_expression] = STATE(1489),
    [sym_constructor_expression] = STATE(1489),
    [sym__parenthesized_type] = STATE(8119),
    [sym_navigation_expression] = STATE(1489),
    [sym__navigable_type_expression] = STATE(8122),
    [sym_open_start_range_expression] = STATE(1489),
    [sym__range_operator] = STATE(604),
    [sym_open_end_range_expression] = STATE(1489),
    [sym_prefix_expression] = STATE(1489),
    [sym_as_expression] = STATE(1489),
    [sym_selector_expression] = STATE(1489),
    [sym__binary_expression] = STATE(1489),
    [sym_multiplicative_expression] = STATE(1489),
    [sym_additive_expression] = STATE(1489),
    [sym_range_expression] = STATE(1489),
    [sym_infix_expression] = STATE(1489),
    [sym_nil_coalescing_expression] = STATE(1489),
    [sym_check_expression] = STATE(1489),
    [sym_comparison_expression] = STATE(1489),
    [sym_equality_expression] = STATE(1489),
    [sym_conjunction_expression] = STATE(1489),
    [sym_disjunction_expression] = STATE(1489),
    [sym_bitwise_operation] = STATE(1489),
    [sym_custom_operator] = STATE(1207),
    [sym_try_expression] = STATE(1489),
    [sym_await_expression] = STATE(1489),
    [sym__await_operator] = STATE(605),
    [sym_ternary_expression] = STATE(1489),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(3559),
    [sym_expr_hack_at_ternary_binary_call] = STATE(3559),
    [sym_call_expression] = STATE(1489),
    [sym_macro_invocation] = STATE(1489),
    [sym__primary_expression] = STATE(1489),
    [sym_tuple_expression] = STATE(1489),
    [sym_array_literal] = STATE(1489),
    [sym_dictionary_literal] = STATE(1489),
    [sym_special_literal] = STATE(1489),
    [sym_playground_literal] = STATE(1489),
    [sym_lambda_literal] = STATE(1489),
    [sym_self_expression] = STATE(1489),
    [sym_super_expression] = STATE(1489),
    [sym_if_statement] = STATE(1489),
    [sym_switch_statement] = STATE(1489),
    [sym_key_path_expression] = STATE(1489),
    [sym_key_path_string_expression] = STATE(1489),
    [sym_try_operator] = STATE(606),
    [sym__assignment_and_operator] = STATE(1489),
    [sym__equality_operator] = STATE(1489),
    [sym__comparison_operator] = STATE(1489),
    [sym__three_dot_operator] = STATE(1208),
    [sym__open_ended_range_operator] = STATE(604),
    [sym__additive_operator] = STATE(1489),
    [sym__multiplicative_operator] = STATE(1489),
    [sym__prefix_unary_operator] = STATE(616),
    [sym_directly_assignable_expression] = STATE(6371),
    [sym_assignment] = STATE(1489),
    [sym_value_parameter_pack] = STATE(1489),
    [sym_value_pack_expansion] = STATE(1489),
    [sym__referenceable_operator] = STATE(1489),
    [sym__equal_sign] = STATE(1489),
    [sym__eq_eq] = STATE(1489),
    [sym__dot] = STATE(616),
    [sym__hash_symbol] = STATE(4844),
    [sym_bang] = STATE(1207),
    [sym__parameter_ownership_modifier] = STATE(2652),
    [sym_directive] = STATE(1489),
    [sym_diagnostic] = STATE(1489),
    [aux_sym_raw_string_literal_repeat1] = STATE(8127),
    [anon_sym_BANG] = ACTIONS(1195),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1197),
    [aux_sym_simple_identifier_token2] = ACTIONS(1199),
    [aux_sym_simple_identifier_token3] = ACTIONS(1199),
    [aux_sym_simple_identifier_token4] = ACTIONS(1199),
    [anon_sym_actor] = ACTIONS(1197),
    [anon_sym_async] = ACTIONS(1197),
    [anon_sym_each] = ACTIONS(1201),
    [anon_sym_lazy] = ACTIONS(1197),
    [anon_sym_repeat] = ACTIONS(1203),
    [anon_sym_package] = ACTIONS(1197),
    [anon_sym_nil] = ACTIONS(1760),
    [sym_real_literal] = ACTIONS(1762),
    [sym_integer_literal] = ACTIONS(1760),
    [sym_hex_literal] = ACTIONS(1760),
    [sym_oct_literal] = ACTIONS(1762),
    [sym_bin_literal] = ACTIONS(1762),
    [anon_sym_true] = ACTIONS(1209),
    [anon_sym_false] = ACTIONS(1209),
    [anon_sym_DQUOTE] = ACTIONS(1211),
    [anon_sym_BSLASH] = ACTIONS(1213),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1215),
    [sym__oneline_regex_literal] = ACTIONS(1217),
    [anon_sym_LPAREN] = ACTIONS(1219),
    [anon_sym_LBRACK] = ACTIONS(1221),
    [anon_sym_AMP] = ACTIONS(1223),
    [anon_sym_TILDE] = ACTIONS(1223),
    [anon_sym_if] = ACTIONS(1225),
    [anon_sym_switch] = ACTIONS(1227),
    [aux_sym_custom_operator_token1] = ACTIONS(1229),
    [anon_sym_LT] = ACTIONS(1760),
    [anon_sym_GT] = ACTIONS(1760),
    [anon_sym_await] = ACTIONS(1231),
    [anon_sym_LBRACE] = ACTIONS(1233),
    [anon_sym_CARET_LBRACE] = ACTIONS(1233),
    [anon_sym_self] = ACTIONS(1235),
    [anon_sym_super] = ACTIONS(1237),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1762),
    [anon_sym_DASH_EQ] = ACTIONS(1762),
    [anon_sym_STAR_EQ] = ACTIONS(1762),
    [anon_sym_SLASH_EQ] = ACTIONS(1762),
    [anon_sym_PERCENT_EQ] = ACTIONS(1762),
    [anon_sym_BANG_EQ] = ACTIONS(1760),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1762),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1762),
    [anon_sym_LT_EQ] = ACTIONS(1762),
    [anon_sym_GT_EQ] = ACTIONS(1762),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1241),
    [anon_sym_PLUS] = ACTIONS(1243),
    [anon_sym_DASH] = ACTIONS(1243),
    [anon_sym_STAR] = ACTIONS(1760),
    [anon_sym_SLASH] = ACTIONS(1760),
    [anon_sym_PERCENT] = ACTIONS(1760),
    [anon_sym_PLUS_PLUS] = ACTIONS(1223),
    [anon_sym_DASH_DASH] = ACTIONS(1223),
    [anon_sym_PIPE] = ACTIONS(1762),
    [anon_sym_CARET] = ACTIONS(1760),
    [anon_sym_LT_LT] = ACTIONS(1762),
    [anon_sym_GT_GT] = ACTIONS(1762),
    [anon_sym_borrowing] = ACTIONS(1197),
    [anon_sym_consuming] = ACTIONS(1197),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1245),
    [sym__dot_custom] = ACTIONS(1247),
    [sym__eq_custom] = ACTIONS(1762),
    [sym__eq_eq_custom] = ACTIONS(1762),
    [sym__plus_then_ws] = ACTIONS(1762),
    [sym__minus_then_ws] = ACTIONS(1762),
    [sym__bang_custom] = ACTIONS(1249),
    [sym__custom_operator] = ACTIONS(1229),
    [sym__hash_symbol_custom] = ACTIONS(1251),
    [sym__directive_if] = ACTIONS(1253),
    [sym__directive_elseif] = ACTIONS(1253),
    [sym__directive_else] = ACTIONS(1255),
    [sym__directive_endif] = ACTIONS(1255),
  },
  [402] = {
    [sym_simple_identifier] = STATE(3023),
    [sym__contextual_simple_identifier] = STATE(2652),
    [sym__basic_literal] = STATE(1489),
    [sym_boolean_literal] = STATE(1489),
    [sym__string_literal] = STATE(1489),
    [sym_line_string_literal] = STATE(1489),
    [sym_multi_line_string_literal] = STATE(1489),
    [sym_raw_string_literal] = STATE(1489),
    [sym_regex_literal] = STATE(1489),
    [sym__extended_regex_literal] = STATE(3428),
    [sym__multiline_regex_literal] = STATE(3428),
    [sym_user_type] = STATE(6368),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6368),
    [sym_dictionary_type] = STATE(6368),
    [sym__expression] = STATE(1489),
    [sym__unary_expression] = STATE(1489),
    [sym_postfix_expression] = STATE(1489),
    [sym_constructor_expression] = STATE(1489),
    [sym__parenthesized_type] = STATE(8119),
    [sym_navigation_expression] = STATE(1489),
    [sym__navigable_type_expression] = STATE(8122),
    [sym_open_start_range_expression] = STATE(1489),
    [sym__range_operator] = STATE(604),
    [sym_open_end_range_expression] = STATE(1489),
    [sym_prefix_expression] = STATE(1489),
    [sym_as_expression] = STATE(1489),
    [sym_selector_expression] = STATE(1489),
    [sym__binary_expression] = STATE(1489),
    [sym_multiplicative_expression] = STATE(1489),
    [sym_additive_expression] = STATE(1489),
    [sym_range_expression] = STATE(1489),
    [sym_infix_expression] = STATE(1489),
    [sym_nil_coalescing_expression] = STATE(1489),
    [sym_check_expression] = STATE(1489),
    [sym_comparison_expression] = STATE(1489),
    [sym_equality_expression] = STATE(1489),
    [sym_conjunction_expression] = STATE(1489),
    [sym_disjunction_expression] = STATE(1489),
    [sym_bitwise_operation] = STATE(1489),
    [sym_custom_operator] = STATE(1207),
    [sym_try_expression] = STATE(1489),
    [sym_await_expression] = STATE(1489),
    [sym__await_operator] = STATE(605),
    [sym_ternary_expression] = STATE(1489),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(3558),
    [sym_expr_hack_at_ternary_binary_call] = STATE(3558),
    [sym_call_expression] = STATE(1489),
    [sym_macro_invocation] = STATE(1489),
    [sym__primary_expression] = STATE(1489),
    [sym_tuple_expression] = STATE(1489),
    [sym_array_literal] = STATE(1489),
    [sym_dictionary_literal] = STATE(1489),
    [sym_special_literal] = STATE(1489),
    [sym_playground_literal] = STATE(1489),
    [sym_lambda_literal] = STATE(1489),
    [sym_self_expression] = STATE(1489),
    [sym_super_expression] = STATE(1489),
    [sym_if_statement] = STATE(1489),
    [sym_switch_statement] = STATE(1489),
    [sym_key_path_expression] = STATE(1489),
    [sym_key_path_string_expression] = STATE(1489),
    [sym_try_operator] = STATE(606),
    [sym__assignment_and_operator] = STATE(1489),
    [sym__equality_operator] = STATE(1489),
    [sym__comparison_operator] = STATE(1489),
    [sym__three_dot_operator] = STATE(1208),
    [sym__open_ended_range_operator] = STATE(604),
    [sym__additive_operator] = STATE(1489),
    [sym__multiplicative_operator] = STATE(1489),
    [sym__prefix_unary_operator] = STATE(616),
    [sym_directly_assignable_expression] = STATE(6371),
    [sym_assignment] = STATE(1489),
    [sym_value_parameter_pack] = STATE(1489),
    [sym_value_pack_expansion] = STATE(1489),
    [sym__referenceable_operator] = STATE(1489),
    [sym__equal_sign] = STATE(1489),
    [sym__eq_eq] = STATE(1489),
    [sym__dot] = STATE(616),
    [sym__hash_symbol] = STATE(4844),
    [sym_bang] = STATE(1207),
    [sym__parameter_ownership_modifier] = STATE(2652),
    [sym_directive] = STATE(1489),
    [sym_diagnostic] = STATE(1489),
    [aux_sym_raw_string_literal_repeat1] = STATE(8127),
    [anon_sym_BANG] = ACTIONS(1195),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1197),
    [aux_sym_simple_identifier_token2] = ACTIONS(1199),
    [aux_sym_simple_identifier_token3] = ACTIONS(1199),
    [aux_sym_simple_identifier_token4] = ACTIONS(1199),
    [anon_sym_actor] = ACTIONS(1197),
    [anon_sym_async] = ACTIONS(1197),
    [anon_sym_each] = ACTIONS(1201),
    [anon_sym_lazy] = ACTIONS(1197),
    [anon_sym_repeat] = ACTIONS(1203),
    [anon_sym_package] = ACTIONS(1197),
    [anon_sym_nil] = ACTIONS(1760),
    [sym_real_literal] = ACTIONS(1762),
    [sym_integer_literal] = ACTIONS(1760),
    [sym_hex_literal] = ACTIONS(1760),
    [sym_oct_literal] = ACTIONS(1762),
    [sym_bin_literal] = ACTIONS(1762),
    [anon_sym_true] = ACTIONS(1209),
    [anon_sym_false] = ACTIONS(1209),
    [anon_sym_DQUOTE] = ACTIONS(1211),
    [anon_sym_BSLASH] = ACTIONS(1213),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1215),
    [sym__oneline_regex_literal] = ACTIONS(1217),
    [anon_sym_LPAREN] = ACTIONS(1219),
    [anon_sym_LBRACK] = ACTIONS(1221),
    [anon_sym_AMP] = ACTIONS(1223),
    [anon_sym_TILDE] = ACTIONS(1223),
    [anon_sym_if] = ACTIONS(1225),
    [anon_sym_switch] = ACTIONS(1227),
    [aux_sym_custom_operator_token1] = ACTIONS(1229),
    [anon_sym_LT] = ACTIONS(1760),
    [anon_sym_GT] = ACTIONS(1760),
    [anon_sym_await] = ACTIONS(1231),
    [anon_sym_LBRACE] = ACTIONS(1233),
    [anon_sym_CARET_LBRACE] = ACTIONS(1233),
    [anon_sym_self] = ACTIONS(1235),
    [anon_sym_super] = ACTIONS(1237),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1762),
    [anon_sym_DASH_EQ] = ACTIONS(1762),
    [anon_sym_STAR_EQ] = ACTIONS(1762),
    [anon_sym_SLASH_EQ] = ACTIONS(1762),
    [anon_sym_PERCENT_EQ] = ACTIONS(1762),
    [anon_sym_BANG_EQ] = ACTIONS(1760),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1762),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1762),
    [anon_sym_LT_EQ] = ACTIONS(1762),
    [anon_sym_GT_EQ] = ACTIONS(1762),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1241),
    [anon_sym_PLUS] = ACTIONS(1243),
    [anon_sym_DASH] = ACTIONS(1243),
    [anon_sym_STAR] = ACTIONS(1760),
    [anon_sym_SLASH] = ACTIONS(1760),
    [anon_sym_PERCENT] = ACTIONS(1760),
    [anon_sym_PLUS_PLUS] = ACTIONS(1223),
    [anon_sym_DASH_DASH] = ACTIONS(1223),
    [anon_sym_PIPE] = ACTIONS(1762),
    [anon_sym_CARET] = ACTIONS(1760),
    [anon_sym_LT_LT] = ACTIONS(1762),
    [anon_sym_GT_GT] = ACTIONS(1762),
    [anon_sym_borrowing] = ACTIONS(1197),
    [anon_sym_consuming] = ACTIONS(1197),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1245),
    [sym__dot_custom] = ACTIONS(1247),
    [sym__eq_custom] = ACTIONS(1762),
    [sym__eq_eq_custom] = ACTIONS(1762),
    [sym__plus_then_ws] = ACTIONS(1762),
    [sym__minus_then_ws] = ACTIONS(1762),
    [sym__bang_custom] = ACTIONS(1249),
    [sym__custom_operator] = ACTIONS(1229),
    [sym__hash_symbol_custom] = ACTIONS(1251),
    [sym__directive_if] = ACTIONS(1253),
    [sym__directive_elseif] = ACTIONS(1253),
    [sym__directive_else] = ACTIONS(1255),
    [sym__directive_endif] = ACTIONS(1255),
  },
  [403] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1632),
    [sym_boolean_literal] = STATE(1632),
    [sym__string_literal] = STATE(1632),
    [sym_line_string_literal] = STATE(1632),
    [sym_multi_line_string_literal] = STATE(1632),
    [sym_raw_string_literal] = STATE(1632),
    [sym_regex_literal] = STATE(1632),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1632),
    [sym__unary_expression] = STATE(1632),
    [sym_postfix_expression] = STATE(1632),
    [sym_constructor_expression] = STATE(1632),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1632),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1632),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1632),
    [sym_prefix_expression] = STATE(1632),
    [sym_as_expression] = STATE(1632),
    [sym_selector_expression] = STATE(1632),
    [sym__binary_expression] = STATE(1632),
    [sym_multiplicative_expression] = STATE(1632),
    [sym_additive_expression] = STATE(1632),
    [sym_range_expression] = STATE(1632),
    [sym_infix_expression] = STATE(1632),
    [sym_nil_coalescing_expression] = STATE(1632),
    [sym_check_expression] = STATE(1632),
    [sym_comparison_expression] = STATE(1632),
    [sym_equality_expression] = STATE(1632),
    [sym_conjunction_expression] = STATE(1632),
    [sym_disjunction_expression] = STATE(1632),
    [sym_bitwise_operation] = STATE(1632),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1632),
    [sym_await_expression] = STATE(1632),
    [sym__await_operator] = STATE(728),
    [sym_ternary_expression] = STATE(1632),
    [sym_call_expression] = STATE(1632),
    [sym_macro_invocation] = STATE(1632),
    [sym__primary_expression] = STATE(1632),
    [sym_tuple_expression] = STATE(1632),
    [sym_array_literal] = STATE(1632),
    [sym_dictionary_literal] = STATE(1632),
    [sym_special_literal] = STATE(1632),
    [sym_playground_literal] = STATE(1632),
    [sym_lambda_literal] = STATE(1632),
    [sym_self_expression] = STATE(1632),
    [sym_super_expression] = STATE(1632),
    [sym_if_statement] = STATE(1632),
    [sym_switch_statement] = STATE(1632),
    [sym_key_path_expression] = STATE(1632),
    [sym_key_path_string_expression] = STATE(1632),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1632),
    [sym__equality_operator] = STATE(1632),
    [sym__comparison_operator] = STATE(1632),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1632),
    [sym__multiplicative_operator] = STATE(1632),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym__for_statement_collection] = STATE(7116),
    [sym_for_statement_await] = STATE(7116),
    [sym_assignment] = STATE(1632),
    [sym_value_parameter_pack] = STATE(1632),
    [sym_value_pack_expansion] = STATE(1632),
    [sym__referenceable_operator] = STATE(1632),
    [sym__equal_sign] = STATE(1632),
    [sym__eq_eq] = STATE(1632),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1632),
    [sym_diagnostic] = STATE(1632),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(1764),
    [sym_real_literal] = ACTIONS(1766),
    [sym_integer_literal] = ACTIONS(1764),
    [sym_hex_literal] = ACTIONS(1764),
    [sym_oct_literal] = ACTIONS(1766),
    [sym_bin_literal] = ACTIONS(1766),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(1764),
    [anon_sym_GT] = ACTIONS(1764),
    [anon_sym_await] = ACTIONS(1768),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1766),
    [anon_sym_DASH_EQ] = ACTIONS(1766),
    [anon_sym_STAR_EQ] = ACTIONS(1766),
    [anon_sym_SLASH_EQ] = ACTIONS(1766),
    [anon_sym_PERCENT_EQ] = ACTIONS(1766),
    [anon_sym_BANG_EQ] = ACTIONS(1764),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1766),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1766),
    [anon_sym_LT_EQ] = ACTIONS(1766),
    [anon_sym_GT_EQ] = ACTIONS(1766),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(1764),
    [anon_sym_SLASH] = ACTIONS(1764),
    [anon_sym_PERCENT] = ACTIONS(1764),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(1766),
    [anon_sym_CARET] = ACTIONS(1764),
    [anon_sym_LT_LT] = ACTIONS(1766),
    [anon_sym_GT_GT] = ACTIONS(1766),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(1766),
    [sym__eq_eq_custom] = ACTIONS(1766),
    [sym__plus_then_ws] = ACTIONS(1766),
    [sym__minus_then_ws] = ACTIONS(1766),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [404] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1632),
    [sym_boolean_literal] = STATE(1632),
    [sym__string_literal] = STATE(1632),
    [sym_line_string_literal] = STATE(1632),
    [sym_multi_line_string_literal] = STATE(1632),
    [sym_raw_string_literal] = STATE(1632),
    [sym_regex_literal] = STATE(1632),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1632),
    [sym__unary_expression] = STATE(1632),
    [sym_postfix_expression] = STATE(1632),
    [sym_constructor_expression] = STATE(1632),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1632),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1632),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1632),
    [sym_prefix_expression] = STATE(1632),
    [sym_as_expression] = STATE(1632),
    [sym_selector_expression] = STATE(1632),
    [sym__binary_expression] = STATE(1632),
    [sym_multiplicative_expression] = STATE(1632),
    [sym_additive_expression] = STATE(1632),
    [sym_range_expression] = STATE(1632),
    [sym_infix_expression] = STATE(1632),
    [sym_nil_coalescing_expression] = STATE(1632),
    [sym_check_expression] = STATE(1632),
    [sym_comparison_expression] = STATE(1632),
    [sym_equality_expression] = STATE(1632),
    [sym_conjunction_expression] = STATE(1632),
    [sym_disjunction_expression] = STATE(1632),
    [sym_bitwise_operation] = STATE(1632),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1632),
    [sym_await_expression] = STATE(1632),
    [sym__await_operator] = STATE(728),
    [sym_ternary_expression] = STATE(1632),
    [sym_call_expression] = STATE(1632),
    [sym_macro_invocation] = STATE(1632),
    [sym__primary_expression] = STATE(1632),
    [sym_tuple_expression] = STATE(1632),
    [sym_array_literal] = STATE(1632),
    [sym_dictionary_literal] = STATE(1632),
    [sym_special_literal] = STATE(1632),
    [sym_playground_literal] = STATE(1632),
    [sym_lambda_literal] = STATE(1632),
    [sym_self_expression] = STATE(1632),
    [sym_super_expression] = STATE(1632),
    [sym_if_statement] = STATE(1632),
    [sym_switch_statement] = STATE(1632),
    [sym_key_path_expression] = STATE(1632),
    [sym_key_path_string_expression] = STATE(1632),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1632),
    [sym__equality_operator] = STATE(1632),
    [sym__comparison_operator] = STATE(1632),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1632),
    [sym__multiplicative_operator] = STATE(1632),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym__for_statement_collection] = STATE(7153),
    [sym_for_statement_await] = STATE(7153),
    [sym_assignment] = STATE(1632),
    [sym_value_parameter_pack] = STATE(1632),
    [sym_value_pack_expansion] = STATE(1632),
    [sym__referenceable_operator] = STATE(1632),
    [sym__equal_sign] = STATE(1632),
    [sym__eq_eq] = STATE(1632),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1632),
    [sym_diagnostic] = STATE(1632),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(1764),
    [sym_real_literal] = ACTIONS(1766),
    [sym_integer_literal] = ACTIONS(1764),
    [sym_hex_literal] = ACTIONS(1764),
    [sym_oct_literal] = ACTIONS(1766),
    [sym_bin_literal] = ACTIONS(1766),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(1764),
    [anon_sym_GT] = ACTIONS(1764),
    [anon_sym_await] = ACTIONS(1768),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1766),
    [anon_sym_DASH_EQ] = ACTIONS(1766),
    [anon_sym_STAR_EQ] = ACTIONS(1766),
    [anon_sym_SLASH_EQ] = ACTIONS(1766),
    [anon_sym_PERCENT_EQ] = ACTIONS(1766),
    [anon_sym_BANG_EQ] = ACTIONS(1764),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1766),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1766),
    [anon_sym_LT_EQ] = ACTIONS(1766),
    [anon_sym_GT_EQ] = ACTIONS(1766),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(1764),
    [anon_sym_SLASH] = ACTIONS(1764),
    [anon_sym_PERCENT] = ACTIONS(1764),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(1766),
    [anon_sym_CARET] = ACTIONS(1764),
    [anon_sym_LT_LT] = ACTIONS(1766),
    [anon_sym_GT_GT] = ACTIONS(1766),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(1766),
    [sym__eq_eq_custom] = ACTIONS(1766),
    [sym__plus_then_ws] = ACTIONS(1766),
    [sym__minus_then_ws] = ACTIONS(1766),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [405] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1632),
    [sym_boolean_literal] = STATE(1632),
    [sym__string_literal] = STATE(1632),
    [sym_line_string_literal] = STATE(1632),
    [sym_multi_line_string_literal] = STATE(1632),
    [sym_raw_string_literal] = STATE(1632),
    [sym_regex_literal] = STATE(1632),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1632),
    [sym__unary_expression] = STATE(1632),
    [sym_postfix_expression] = STATE(1632),
    [sym_constructor_expression] = STATE(1632),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1632),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1632),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1632),
    [sym_prefix_expression] = STATE(1632),
    [sym_as_expression] = STATE(1632),
    [sym_selector_expression] = STATE(1632),
    [sym__binary_expression] = STATE(1632),
    [sym_multiplicative_expression] = STATE(1632),
    [sym_additive_expression] = STATE(1632),
    [sym_range_expression] = STATE(1632),
    [sym_infix_expression] = STATE(1632),
    [sym_nil_coalescing_expression] = STATE(1632),
    [sym_check_expression] = STATE(1632),
    [sym_comparison_expression] = STATE(1632),
    [sym_equality_expression] = STATE(1632),
    [sym_conjunction_expression] = STATE(1632),
    [sym_disjunction_expression] = STATE(1632),
    [sym_bitwise_operation] = STATE(1632),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1632),
    [sym_await_expression] = STATE(1632),
    [sym__await_operator] = STATE(728),
    [sym_ternary_expression] = STATE(1632),
    [sym_call_expression] = STATE(1632),
    [sym_macro_invocation] = STATE(1632),
    [sym__primary_expression] = STATE(1632),
    [sym_tuple_expression] = STATE(1632),
    [sym_array_literal] = STATE(1632),
    [sym_dictionary_literal] = STATE(1632),
    [sym_special_literal] = STATE(1632),
    [sym_playground_literal] = STATE(1632),
    [sym_lambda_literal] = STATE(1632),
    [sym_self_expression] = STATE(1632),
    [sym_super_expression] = STATE(1632),
    [sym_if_statement] = STATE(1632),
    [sym_switch_statement] = STATE(1632),
    [sym_key_path_expression] = STATE(1632),
    [sym_key_path_string_expression] = STATE(1632),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1632),
    [sym__equality_operator] = STATE(1632),
    [sym__comparison_operator] = STATE(1632),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1632),
    [sym__multiplicative_operator] = STATE(1632),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym__for_statement_collection] = STATE(7169),
    [sym_for_statement_await] = STATE(7169),
    [sym_assignment] = STATE(1632),
    [sym_value_parameter_pack] = STATE(1632),
    [sym_value_pack_expansion] = STATE(1632),
    [sym__referenceable_operator] = STATE(1632),
    [sym__equal_sign] = STATE(1632),
    [sym__eq_eq] = STATE(1632),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1632),
    [sym_diagnostic] = STATE(1632),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(1764),
    [sym_real_literal] = ACTIONS(1766),
    [sym_integer_literal] = ACTIONS(1764),
    [sym_hex_literal] = ACTIONS(1764),
    [sym_oct_literal] = ACTIONS(1766),
    [sym_bin_literal] = ACTIONS(1766),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(1764),
    [anon_sym_GT] = ACTIONS(1764),
    [anon_sym_await] = ACTIONS(1768),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1766),
    [anon_sym_DASH_EQ] = ACTIONS(1766),
    [anon_sym_STAR_EQ] = ACTIONS(1766),
    [anon_sym_SLASH_EQ] = ACTIONS(1766),
    [anon_sym_PERCENT_EQ] = ACTIONS(1766),
    [anon_sym_BANG_EQ] = ACTIONS(1764),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1766),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1766),
    [anon_sym_LT_EQ] = ACTIONS(1766),
    [anon_sym_GT_EQ] = ACTIONS(1766),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(1764),
    [anon_sym_SLASH] = ACTIONS(1764),
    [anon_sym_PERCENT] = ACTIONS(1764),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(1766),
    [anon_sym_CARET] = ACTIONS(1764),
    [anon_sym_LT_LT] = ACTIONS(1766),
    [anon_sym_GT_GT] = ACTIONS(1766),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(1766),
    [sym__eq_eq_custom] = ACTIONS(1766),
    [sym__plus_then_ws] = ACTIONS(1766),
    [sym__minus_then_ws] = ACTIONS(1766),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [406] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(743),
    [sym_boolean_literal] = STATE(743),
    [sym__string_literal] = STATE(743),
    [sym_line_string_literal] = STATE(743),
    [sym_multi_line_string_literal] = STATE(743),
    [sym_raw_string_literal] = STATE(743),
    [sym_regex_literal] = STATE(743),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6436),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6436),
    [sym_dictionary_type] = STATE(6436),
    [sym__expression] = STATE(743),
    [sym__unary_expression] = STATE(743),
    [sym_postfix_expression] = STATE(743),
    [sym_constructor_expression] = STATE(743),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(743),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(743),
    [sym__range_operator] = STATE(694),
    [sym_open_end_range_expression] = STATE(743),
    [sym_prefix_expression] = STATE(743),
    [sym_as_expression] = STATE(743),
    [sym_selector_expression] = STATE(743),
    [sym__binary_expression] = STATE(743),
    [sym_multiplicative_expression] = STATE(743),
    [sym_additive_expression] = STATE(743),
    [sym_range_expression] = STATE(743),
    [sym_infix_expression] = STATE(743),
    [sym_nil_coalescing_expression] = STATE(743),
    [sym_check_expression] = STATE(743),
    [sym_comparison_expression] = STATE(743),
    [sym_equality_expression] = STATE(743),
    [sym_conjunction_expression] = STATE(743),
    [sym_disjunction_expression] = STATE(743),
    [sym_bitwise_operation] = STATE(743),
    [sym_custom_operator] = STATE(741),
    [sym_try_expression] = STATE(743),
    [sym_await_expression] = STATE(743),
    [sym__await_operator] = STATE(681),
    [sym_ternary_expression] = STATE(743),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(898),
    [sym_expr_hack_at_ternary_binary_call] = STATE(898),
    [sym_call_expression] = STATE(743),
    [sym_macro_invocation] = STATE(743),
    [sym__primary_expression] = STATE(743),
    [sym_tuple_expression] = STATE(743),
    [sym_array_literal] = STATE(743),
    [sym_dictionary_literal] = STATE(743),
    [sym_special_literal] = STATE(743),
    [sym_playground_literal] = STATE(743),
    [sym_lambda_literal] = STATE(743),
    [sym_self_expression] = STATE(743),
    [sym_super_expression] = STATE(743),
    [sym_if_statement] = STATE(743),
    [sym_switch_statement] = STATE(743),
    [sym_key_path_expression] = STATE(743),
    [sym_key_path_string_expression] = STATE(743),
    [sym_try_operator] = STATE(678),
    [sym__assignment_and_operator] = STATE(743),
    [sym__equality_operator] = STATE(743),
    [sym__comparison_operator] = STATE(743),
    [sym__three_dot_operator] = STATE(742),
    [sym__open_ended_range_operator] = STATE(694),
    [sym__additive_operator] = STATE(743),
    [sym__multiplicative_operator] = STATE(743),
    [sym__prefix_unary_operator] = STATE(622),
    [sym_directly_assignable_expression] = STATE(6420),
    [sym_assignment] = STATE(743),
    [sym_value_parameter_pack] = STATE(743),
    [sym_value_pack_expansion] = STATE(743),
    [sym__referenceable_operator] = STATE(743),
    [sym__equal_sign] = STATE(743),
    [sym__eq_eq] = STATE(743),
    [sym__dot] = STATE(622),
    [sym__hash_symbol] = STATE(4852),
    [sym_bang] = STATE(741),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(743),
    [sym_diagnostic] = STATE(743),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(605),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(607),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(609),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1770),
    [sym_real_literal] = ACTIONS(1772),
    [sym_integer_literal] = ACTIONS(1770),
    [sym_hex_literal] = ACTIONS(1770),
    [sym_oct_literal] = ACTIONS(1772),
    [sym_bin_literal] = ACTIONS(1772),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(615),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(625),
    [anon_sym_TILDE] = ACTIONS(625),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(627),
    [aux_sym_custom_operator_token1] = ACTIONS(629),
    [anon_sym_LT] = ACTIONS(1770),
    [anon_sym_GT] = ACTIONS(1770),
    [anon_sym_await] = ACTIONS(631),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1772),
    [anon_sym_DASH_EQ] = ACTIONS(1772),
    [anon_sym_STAR_EQ] = ACTIONS(1772),
    [anon_sym_SLASH_EQ] = ACTIONS(1772),
    [anon_sym_PERCENT_EQ] = ACTIONS(1772),
    [anon_sym_BANG_EQ] = ACTIONS(1770),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1772),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1772),
    [anon_sym_LT_EQ] = ACTIONS(1772),
    [anon_sym_GT_EQ] = ACTIONS(1772),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(635),
    [anon_sym_DOT_DOT_LT] = ACTIONS(637),
    [anon_sym_PLUS] = ACTIONS(639),
    [anon_sym_DASH] = ACTIONS(639),
    [anon_sym_STAR] = ACTIONS(1770),
    [anon_sym_SLASH] = ACTIONS(1770),
    [anon_sym_PERCENT] = ACTIONS(1770),
    [anon_sym_PLUS_PLUS] = ACTIONS(625),
    [anon_sym_DASH_DASH] = ACTIONS(625),
    [anon_sym_PIPE] = ACTIONS(1772),
    [anon_sym_CARET] = ACTIONS(1770),
    [anon_sym_LT_LT] = ACTIONS(1772),
    [anon_sym_GT_GT] = ACTIONS(1772),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(641),
    [sym__eq_custom] = ACTIONS(1772),
    [sym__eq_eq_custom] = ACTIONS(1772),
    [sym__plus_then_ws] = ACTIONS(1772),
    [sym__minus_then_ws] = ACTIONS(1772),
    [sym__bang_custom] = ACTIONS(643),
    [sym__custom_operator] = ACTIONS(629),
    [sym__hash_symbol_custom] = ACTIONS(645),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [407] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(743),
    [sym_boolean_literal] = STATE(743),
    [sym__string_literal] = STATE(743),
    [sym_line_string_literal] = STATE(743),
    [sym_multi_line_string_literal] = STATE(743),
    [sym_raw_string_literal] = STATE(743),
    [sym_regex_literal] = STATE(743),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6436),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6436),
    [sym_dictionary_type] = STATE(6436),
    [sym__expression] = STATE(743),
    [sym__unary_expression] = STATE(743),
    [sym_postfix_expression] = STATE(743),
    [sym_constructor_expression] = STATE(743),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(743),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(743),
    [sym__range_operator] = STATE(694),
    [sym_open_end_range_expression] = STATE(743),
    [sym_prefix_expression] = STATE(743),
    [sym_as_expression] = STATE(743),
    [sym_selector_expression] = STATE(743),
    [sym__binary_expression] = STATE(743),
    [sym_multiplicative_expression] = STATE(743),
    [sym_additive_expression] = STATE(743),
    [sym_range_expression] = STATE(743),
    [sym_infix_expression] = STATE(743),
    [sym_nil_coalescing_expression] = STATE(743),
    [sym_check_expression] = STATE(743),
    [sym_comparison_expression] = STATE(743),
    [sym_equality_expression] = STATE(743),
    [sym_conjunction_expression] = STATE(743),
    [sym_disjunction_expression] = STATE(743),
    [sym_bitwise_operation] = STATE(743),
    [sym_custom_operator] = STATE(741),
    [sym_try_expression] = STATE(743),
    [sym_await_expression] = STATE(743),
    [sym__await_operator] = STATE(681),
    [sym_ternary_expression] = STATE(743),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(888),
    [sym_expr_hack_at_ternary_binary_call] = STATE(888),
    [sym_call_expression] = STATE(743),
    [sym_macro_invocation] = STATE(743),
    [sym__primary_expression] = STATE(743),
    [sym_tuple_expression] = STATE(743),
    [sym_array_literal] = STATE(743),
    [sym_dictionary_literal] = STATE(743),
    [sym_special_literal] = STATE(743),
    [sym_playground_literal] = STATE(743),
    [sym_lambda_literal] = STATE(743),
    [sym_self_expression] = STATE(743),
    [sym_super_expression] = STATE(743),
    [sym_if_statement] = STATE(743),
    [sym_switch_statement] = STATE(743),
    [sym_key_path_expression] = STATE(743),
    [sym_key_path_string_expression] = STATE(743),
    [sym_try_operator] = STATE(678),
    [sym__assignment_and_operator] = STATE(743),
    [sym__equality_operator] = STATE(743),
    [sym__comparison_operator] = STATE(743),
    [sym__three_dot_operator] = STATE(742),
    [sym__open_ended_range_operator] = STATE(694),
    [sym__additive_operator] = STATE(743),
    [sym__multiplicative_operator] = STATE(743),
    [sym__prefix_unary_operator] = STATE(622),
    [sym_directly_assignable_expression] = STATE(6420),
    [sym_assignment] = STATE(743),
    [sym_value_parameter_pack] = STATE(743),
    [sym_value_pack_expansion] = STATE(743),
    [sym__referenceable_operator] = STATE(743),
    [sym__equal_sign] = STATE(743),
    [sym__eq_eq] = STATE(743),
    [sym__dot] = STATE(622),
    [sym__hash_symbol] = STATE(4852),
    [sym_bang] = STATE(741),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(743),
    [sym_diagnostic] = STATE(743),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(605),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(607),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(609),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1770),
    [sym_real_literal] = ACTIONS(1772),
    [sym_integer_literal] = ACTIONS(1770),
    [sym_hex_literal] = ACTIONS(1770),
    [sym_oct_literal] = ACTIONS(1772),
    [sym_bin_literal] = ACTIONS(1772),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(615),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(625),
    [anon_sym_TILDE] = ACTIONS(625),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(627),
    [aux_sym_custom_operator_token1] = ACTIONS(629),
    [anon_sym_LT] = ACTIONS(1770),
    [anon_sym_GT] = ACTIONS(1770),
    [anon_sym_await] = ACTIONS(631),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1772),
    [anon_sym_DASH_EQ] = ACTIONS(1772),
    [anon_sym_STAR_EQ] = ACTIONS(1772),
    [anon_sym_SLASH_EQ] = ACTIONS(1772),
    [anon_sym_PERCENT_EQ] = ACTIONS(1772),
    [anon_sym_BANG_EQ] = ACTIONS(1770),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1772),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1772),
    [anon_sym_LT_EQ] = ACTIONS(1772),
    [anon_sym_GT_EQ] = ACTIONS(1772),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(635),
    [anon_sym_DOT_DOT_LT] = ACTIONS(637),
    [anon_sym_PLUS] = ACTIONS(639),
    [anon_sym_DASH] = ACTIONS(639),
    [anon_sym_STAR] = ACTIONS(1770),
    [anon_sym_SLASH] = ACTIONS(1770),
    [anon_sym_PERCENT] = ACTIONS(1770),
    [anon_sym_PLUS_PLUS] = ACTIONS(625),
    [anon_sym_DASH_DASH] = ACTIONS(625),
    [anon_sym_PIPE] = ACTIONS(1772),
    [anon_sym_CARET] = ACTIONS(1770),
    [anon_sym_LT_LT] = ACTIONS(1772),
    [anon_sym_GT_GT] = ACTIONS(1772),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(641),
    [sym__eq_custom] = ACTIONS(1772),
    [sym__eq_eq_custom] = ACTIONS(1772),
    [sym__plus_then_ws] = ACTIONS(1772),
    [sym__minus_then_ws] = ACTIONS(1772),
    [sym__bang_custom] = ACTIONS(643),
    [sym__custom_operator] = ACTIONS(629),
    [sym__hash_symbol_custom] = ACTIONS(645),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [408] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(743),
    [sym_boolean_literal] = STATE(743),
    [sym__string_literal] = STATE(743),
    [sym_line_string_literal] = STATE(743),
    [sym_multi_line_string_literal] = STATE(743),
    [sym_raw_string_literal] = STATE(743),
    [sym_regex_literal] = STATE(743),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6436),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6436),
    [sym_dictionary_type] = STATE(6436),
    [sym__expression] = STATE(743),
    [sym__unary_expression] = STATE(743),
    [sym_postfix_expression] = STATE(743),
    [sym_constructor_expression] = STATE(743),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(743),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(743),
    [sym__range_operator] = STATE(694),
    [sym_open_end_range_expression] = STATE(743),
    [sym_prefix_expression] = STATE(743),
    [sym_as_expression] = STATE(743),
    [sym_selector_expression] = STATE(743),
    [sym__binary_expression] = STATE(743),
    [sym_multiplicative_expression] = STATE(743),
    [sym_additive_expression] = STATE(743),
    [sym_range_expression] = STATE(743),
    [sym_infix_expression] = STATE(743),
    [sym_nil_coalescing_expression] = STATE(743),
    [sym_check_expression] = STATE(743),
    [sym_comparison_expression] = STATE(743),
    [sym_equality_expression] = STATE(743),
    [sym_conjunction_expression] = STATE(743),
    [sym_disjunction_expression] = STATE(743),
    [sym_bitwise_operation] = STATE(743),
    [sym_custom_operator] = STATE(741),
    [sym_try_expression] = STATE(743),
    [sym_await_expression] = STATE(743),
    [sym__await_operator] = STATE(681),
    [sym_ternary_expression] = STATE(743),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(900),
    [sym_expr_hack_at_ternary_binary_call] = STATE(900),
    [sym_call_expression] = STATE(743),
    [sym_macro_invocation] = STATE(743),
    [sym__primary_expression] = STATE(743),
    [sym_tuple_expression] = STATE(743),
    [sym_array_literal] = STATE(743),
    [sym_dictionary_literal] = STATE(743),
    [sym_special_literal] = STATE(743),
    [sym_playground_literal] = STATE(743),
    [sym_lambda_literal] = STATE(743),
    [sym_self_expression] = STATE(743),
    [sym_super_expression] = STATE(743),
    [sym_if_statement] = STATE(743),
    [sym_switch_statement] = STATE(743),
    [sym_key_path_expression] = STATE(743),
    [sym_key_path_string_expression] = STATE(743),
    [sym_try_operator] = STATE(678),
    [sym__assignment_and_operator] = STATE(743),
    [sym__equality_operator] = STATE(743),
    [sym__comparison_operator] = STATE(743),
    [sym__three_dot_operator] = STATE(742),
    [sym__open_ended_range_operator] = STATE(694),
    [sym__additive_operator] = STATE(743),
    [sym__multiplicative_operator] = STATE(743),
    [sym__prefix_unary_operator] = STATE(622),
    [sym_directly_assignable_expression] = STATE(6420),
    [sym_assignment] = STATE(743),
    [sym_value_parameter_pack] = STATE(743),
    [sym_value_pack_expansion] = STATE(743),
    [sym__referenceable_operator] = STATE(743),
    [sym__equal_sign] = STATE(743),
    [sym__eq_eq] = STATE(743),
    [sym__dot] = STATE(622),
    [sym__hash_symbol] = STATE(4852),
    [sym_bang] = STATE(741),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(743),
    [sym_diagnostic] = STATE(743),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(605),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(607),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(609),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1770),
    [sym_real_literal] = ACTIONS(1772),
    [sym_integer_literal] = ACTIONS(1770),
    [sym_hex_literal] = ACTIONS(1770),
    [sym_oct_literal] = ACTIONS(1772),
    [sym_bin_literal] = ACTIONS(1772),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(615),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(625),
    [anon_sym_TILDE] = ACTIONS(625),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(627),
    [aux_sym_custom_operator_token1] = ACTIONS(629),
    [anon_sym_LT] = ACTIONS(1770),
    [anon_sym_GT] = ACTIONS(1770),
    [anon_sym_await] = ACTIONS(631),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1772),
    [anon_sym_DASH_EQ] = ACTIONS(1772),
    [anon_sym_STAR_EQ] = ACTIONS(1772),
    [anon_sym_SLASH_EQ] = ACTIONS(1772),
    [anon_sym_PERCENT_EQ] = ACTIONS(1772),
    [anon_sym_BANG_EQ] = ACTIONS(1770),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1772),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1772),
    [anon_sym_LT_EQ] = ACTIONS(1772),
    [anon_sym_GT_EQ] = ACTIONS(1772),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(635),
    [anon_sym_DOT_DOT_LT] = ACTIONS(637),
    [anon_sym_PLUS] = ACTIONS(639),
    [anon_sym_DASH] = ACTIONS(639),
    [anon_sym_STAR] = ACTIONS(1770),
    [anon_sym_SLASH] = ACTIONS(1770),
    [anon_sym_PERCENT] = ACTIONS(1770),
    [anon_sym_PLUS_PLUS] = ACTIONS(625),
    [anon_sym_DASH_DASH] = ACTIONS(625),
    [anon_sym_PIPE] = ACTIONS(1772),
    [anon_sym_CARET] = ACTIONS(1770),
    [anon_sym_LT_LT] = ACTIONS(1772),
    [anon_sym_GT_GT] = ACTIONS(1772),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(641),
    [sym__eq_custom] = ACTIONS(1772),
    [sym__eq_eq_custom] = ACTIONS(1772),
    [sym__plus_then_ws] = ACTIONS(1772),
    [sym__minus_then_ws] = ACTIONS(1772),
    [sym__bang_custom] = ACTIONS(643),
    [sym__custom_operator] = ACTIONS(629),
    [sym__hash_symbol_custom] = ACTIONS(645),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [409] = {
    [sym_simple_identifier] = STATE(3023),
    [sym__contextual_simple_identifier] = STATE(2652),
    [sym__basic_literal] = STATE(1489),
    [sym_boolean_literal] = STATE(1489),
    [sym__string_literal] = STATE(1489),
    [sym_line_string_literal] = STATE(1489),
    [sym_multi_line_string_literal] = STATE(1489),
    [sym_raw_string_literal] = STATE(1489),
    [sym_regex_literal] = STATE(1489),
    [sym__extended_regex_literal] = STATE(3428),
    [sym__multiline_regex_literal] = STATE(3428),
    [sym_user_type] = STATE(6368),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6368),
    [sym_dictionary_type] = STATE(6368),
    [sym__expression] = STATE(1489),
    [sym__unary_expression] = STATE(1489),
    [sym_postfix_expression] = STATE(1489),
    [sym_constructor_expression] = STATE(1489),
    [sym__parenthesized_type] = STATE(8119),
    [sym_navigation_expression] = STATE(1489),
    [sym__navigable_type_expression] = STATE(8122),
    [sym_open_start_range_expression] = STATE(1489),
    [sym__range_operator] = STATE(604),
    [sym_open_end_range_expression] = STATE(1489),
    [sym_prefix_expression] = STATE(1489),
    [sym_as_expression] = STATE(1489),
    [sym_selector_expression] = STATE(1489),
    [sym__binary_expression] = STATE(1489),
    [sym_multiplicative_expression] = STATE(1489),
    [sym_additive_expression] = STATE(1489),
    [sym_range_expression] = STATE(1489),
    [sym_infix_expression] = STATE(1489),
    [sym_nil_coalescing_expression] = STATE(1489),
    [sym_check_expression] = STATE(1489),
    [sym_comparison_expression] = STATE(1489),
    [sym_equality_expression] = STATE(1489),
    [sym_conjunction_expression] = STATE(1489),
    [sym_disjunction_expression] = STATE(1489),
    [sym_bitwise_operation] = STATE(1489),
    [sym_custom_operator] = STATE(1207),
    [sym_try_expression] = STATE(1489),
    [sym_await_expression] = STATE(1489),
    [sym__await_operator] = STATE(605),
    [sym_ternary_expression] = STATE(1489),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(3556),
    [sym_expr_hack_at_ternary_binary_call] = STATE(3556),
    [sym_call_expression] = STATE(1489),
    [sym_macro_invocation] = STATE(1489),
    [sym__primary_expression] = STATE(1489),
    [sym_tuple_expression] = STATE(1489),
    [sym_array_literal] = STATE(1489),
    [sym_dictionary_literal] = STATE(1489),
    [sym_special_literal] = STATE(1489),
    [sym_playground_literal] = STATE(1489),
    [sym_lambda_literal] = STATE(1489),
    [sym_self_expression] = STATE(1489),
    [sym_super_expression] = STATE(1489),
    [sym_if_statement] = STATE(1489),
    [sym_switch_statement] = STATE(1489),
    [sym_key_path_expression] = STATE(1489),
    [sym_key_path_string_expression] = STATE(1489),
    [sym_try_operator] = STATE(606),
    [sym__assignment_and_operator] = STATE(1489),
    [sym__equality_operator] = STATE(1489),
    [sym__comparison_operator] = STATE(1489),
    [sym__three_dot_operator] = STATE(1208),
    [sym__open_ended_range_operator] = STATE(604),
    [sym__additive_operator] = STATE(1489),
    [sym__multiplicative_operator] = STATE(1489),
    [sym__prefix_unary_operator] = STATE(616),
    [sym_directly_assignable_expression] = STATE(6371),
    [sym_assignment] = STATE(1489),
    [sym_value_parameter_pack] = STATE(1489),
    [sym_value_pack_expansion] = STATE(1489),
    [sym__referenceable_operator] = STATE(1489),
    [sym__equal_sign] = STATE(1489),
    [sym__eq_eq] = STATE(1489),
    [sym__dot] = STATE(616),
    [sym__hash_symbol] = STATE(4844),
    [sym_bang] = STATE(1207),
    [sym__parameter_ownership_modifier] = STATE(2652),
    [sym_directive] = STATE(1489),
    [sym_diagnostic] = STATE(1489),
    [aux_sym_raw_string_literal_repeat1] = STATE(8127),
    [anon_sym_BANG] = ACTIONS(1195),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1197),
    [aux_sym_simple_identifier_token2] = ACTIONS(1199),
    [aux_sym_simple_identifier_token3] = ACTIONS(1199),
    [aux_sym_simple_identifier_token4] = ACTIONS(1199),
    [anon_sym_actor] = ACTIONS(1197),
    [anon_sym_async] = ACTIONS(1197),
    [anon_sym_each] = ACTIONS(1201),
    [anon_sym_lazy] = ACTIONS(1197),
    [anon_sym_repeat] = ACTIONS(1203),
    [anon_sym_package] = ACTIONS(1197),
    [anon_sym_nil] = ACTIONS(1760),
    [sym_real_literal] = ACTIONS(1762),
    [sym_integer_literal] = ACTIONS(1760),
    [sym_hex_literal] = ACTIONS(1760),
    [sym_oct_literal] = ACTIONS(1762),
    [sym_bin_literal] = ACTIONS(1762),
    [anon_sym_true] = ACTIONS(1209),
    [anon_sym_false] = ACTIONS(1209),
    [anon_sym_DQUOTE] = ACTIONS(1211),
    [anon_sym_BSLASH] = ACTIONS(1213),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1215),
    [sym__oneline_regex_literal] = ACTIONS(1217),
    [anon_sym_LPAREN] = ACTIONS(1219),
    [anon_sym_LBRACK] = ACTIONS(1221),
    [anon_sym_AMP] = ACTIONS(1223),
    [anon_sym_TILDE] = ACTIONS(1223),
    [anon_sym_if] = ACTIONS(1225),
    [anon_sym_switch] = ACTIONS(1227),
    [aux_sym_custom_operator_token1] = ACTIONS(1229),
    [anon_sym_LT] = ACTIONS(1760),
    [anon_sym_GT] = ACTIONS(1760),
    [anon_sym_await] = ACTIONS(1231),
    [anon_sym_LBRACE] = ACTIONS(1233),
    [anon_sym_CARET_LBRACE] = ACTIONS(1233),
    [anon_sym_self] = ACTIONS(1235),
    [anon_sym_super] = ACTIONS(1237),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1762),
    [anon_sym_DASH_EQ] = ACTIONS(1762),
    [anon_sym_STAR_EQ] = ACTIONS(1762),
    [anon_sym_SLASH_EQ] = ACTIONS(1762),
    [anon_sym_PERCENT_EQ] = ACTIONS(1762),
    [anon_sym_BANG_EQ] = ACTIONS(1760),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1762),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1762),
    [anon_sym_LT_EQ] = ACTIONS(1762),
    [anon_sym_GT_EQ] = ACTIONS(1762),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1241),
    [anon_sym_PLUS] = ACTIONS(1243),
    [anon_sym_DASH] = ACTIONS(1243),
    [anon_sym_STAR] = ACTIONS(1760),
    [anon_sym_SLASH] = ACTIONS(1760),
    [anon_sym_PERCENT] = ACTIONS(1760),
    [anon_sym_PLUS_PLUS] = ACTIONS(1223),
    [anon_sym_DASH_DASH] = ACTIONS(1223),
    [anon_sym_PIPE] = ACTIONS(1762),
    [anon_sym_CARET] = ACTIONS(1760),
    [anon_sym_LT_LT] = ACTIONS(1762),
    [anon_sym_GT_GT] = ACTIONS(1762),
    [anon_sym_borrowing] = ACTIONS(1197),
    [anon_sym_consuming] = ACTIONS(1197),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1245),
    [sym__dot_custom] = ACTIONS(1247),
    [sym__eq_custom] = ACTIONS(1762),
    [sym__eq_eq_custom] = ACTIONS(1762),
    [sym__plus_then_ws] = ACTIONS(1762),
    [sym__minus_then_ws] = ACTIONS(1762),
    [sym__bang_custom] = ACTIONS(1249),
    [sym__custom_operator] = ACTIONS(1229),
    [sym__hash_symbol_custom] = ACTIONS(1251),
    [sym__directive_if] = ACTIONS(1253),
    [sym__directive_elseif] = ACTIONS(1253),
    [sym__directive_else] = ACTIONS(1255),
    [sym__directive_endif] = ACTIONS(1255),
  },
  [410] = {
    [sym_simple_identifier] = STATE(3023),
    [sym__contextual_simple_identifier] = STATE(2652),
    [sym__basic_literal] = STATE(1489),
    [sym_boolean_literal] = STATE(1489),
    [sym__string_literal] = STATE(1489),
    [sym_line_string_literal] = STATE(1489),
    [sym_multi_line_string_literal] = STATE(1489),
    [sym_raw_string_literal] = STATE(1489),
    [sym_regex_literal] = STATE(1489),
    [sym__extended_regex_literal] = STATE(3428),
    [sym__multiline_regex_literal] = STATE(3428),
    [sym_user_type] = STATE(6368),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6368),
    [sym_dictionary_type] = STATE(6368),
    [sym__expression] = STATE(1489),
    [sym__unary_expression] = STATE(1489),
    [sym_postfix_expression] = STATE(1489),
    [sym_constructor_expression] = STATE(1489),
    [sym__parenthesized_type] = STATE(8119),
    [sym_navigation_expression] = STATE(1489),
    [sym__navigable_type_expression] = STATE(8122),
    [sym_open_start_range_expression] = STATE(1489),
    [sym__range_operator] = STATE(604),
    [sym_open_end_range_expression] = STATE(1489),
    [sym_prefix_expression] = STATE(1489),
    [sym_as_expression] = STATE(1489),
    [sym_selector_expression] = STATE(1489),
    [sym__binary_expression] = STATE(1489),
    [sym_multiplicative_expression] = STATE(1489),
    [sym_additive_expression] = STATE(1489),
    [sym_range_expression] = STATE(1489),
    [sym_infix_expression] = STATE(1489),
    [sym_nil_coalescing_expression] = STATE(1489),
    [sym_check_expression] = STATE(1489),
    [sym_comparison_expression] = STATE(1489),
    [sym_equality_expression] = STATE(1489),
    [sym_conjunction_expression] = STATE(1489),
    [sym_disjunction_expression] = STATE(1489),
    [sym_bitwise_operation] = STATE(1489),
    [sym_custom_operator] = STATE(1207),
    [sym_try_expression] = STATE(1489),
    [sym_await_expression] = STATE(1489),
    [sym__await_operator] = STATE(605),
    [sym_ternary_expression] = STATE(1489),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(3555),
    [sym_expr_hack_at_ternary_binary_call] = STATE(3555),
    [sym_call_expression] = STATE(1489),
    [sym_macro_invocation] = STATE(1489),
    [sym__primary_expression] = STATE(1489),
    [sym_tuple_expression] = STATE(1489),
    [sym_array_literal] = STATE(1489),
    [sym_dictionary_literal] = STATE(1489),
    [sym_special_literal] = STATE(1489),
    [sym_playground_literal] = STATE(1489),
    [sym_lambda_literal] = STATE(1489),
    [sym_self_expression] = STATE(1489),
    [sym_super_expression] = STATE(1489),
    [sym_if_statement] = STATE(1489),
    [sym_switch_statement] = STATE(1489),
    [sym_key_path_expression] = STATE(1489),
    [sym_key_path_string_expression] = STATE(1489),
    [sym_try_operator] = STATE(606),
    [sym__assignment_and_operator] = STATE(1489),
    [sym__equality_operator] = STATE(1489),
    [sym__comparison_operator] = STATE(1489),
    [sym__three_dot_operator] = STATE(1208),
    [sym__open_ended_range_operator] = STATE(604),
    [sym__additive_operator] = STATE(1489),
    [sym__multiplicative_operator] = STATE(1489),
    [sym__prefix_unary_operator] = STATE(616),
    [sym_directly_assignable_expression] = STATE(6371),
    [sym_assignment] = STATE(1489),
    [sym_value_parameter_pack] = STATE(1489),
    [sym_value_pack_expansion] = STATE(1489),
    [sym__referenceable_operator] = STATE(1489),
    [sym__equal_sign] = STATE(1489),
    [sym__eq_eq] = STATE(1489),
    [sym__dot] = STATE(616),
    [sym__hash_symbol] = STATE(4844),
    [sym_bang] = STATE(1207),
    [sym__parameter_ownership_modifier] = STATE(2652),
    [sym_directive] = STATE(1489),
    [sym_diagnostic] = STATE(1489),
    [aux_sym_raw_string_literal_repeat1] = STATE(8127),
    [anon_sym_BANG] = ACTIONS(1195),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1197),
    [aux_sym_simple_identifier_token2] = ACTIONS(1199),
    [aux_sym_simple_identifier_token3] = ACTIONS(1199),
    [aux_sym_simple_identifier_token4] = ACTIONS(1199),
    [anon_sym_actor] = ACTIONS(1197),
    [anon_sym_async] = ACTIONS(1197),
    [anon_sym_each] = ACTIONS(1201),
    [anon_sym_lazy] = ACTIONS(1197),
    [anon_sym_repeat] = ACTIONS(1203),
    [anon_sym_package] = ACTIONS(1197),
    [anon_sym_nil] = ACTIONS(1760),
    [sym_real_literal] = ACTIONS(1762),
    [sym_integer_literal] = ACTIONS(1760),
    [sym_hex_literal] = ACTIONS(1760),
    [sym_oct_literal] = ACTIONS(1762),
    [sym_bin_literal] = ACTIONS(1762),
    [anon_sym_true] = ACTIONS(1209),
    [anon_sym_false] = ACTIONS(1209),
    [anon_sym_DQUOTE] = ACTIONS(1211),
    [anon_sym_BSLASH] = ACTIONS(1213),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1215),
    [sym__oneline_regex_literal] = ACTIONS(1217),
    [anon_sym_LPAREN] = ACTIONS(1219),
    [anon_sym_LBRACK] = ACTIONS(1221),
    [anon_sym_AMP] = ACTIONS(1223),
    [anon_sym_TILDE] = ACTIONS(1223),
    [anon_sym_if] = ACTIONS(1225),
    [anon_sym_switch] = ACTIONS(1227),
    [aux_sym_custom_operator_token1] = ACTIONS(1229),
    [anon_sym_LT] = ACTIONS(1760),
    [anon_sym_GT] = ACTIONS(1760),
    [anon_sym_await] = ACTIONS(1231),
    [anon_sym_LBRACE] = ACTIONS(1233),
    [anon_sym_CARET_LBRACE] = ACTIONS(1233),
    [anon_sym_self] = ACTIONS(1235),
    [anon_sym_super] = ACTIONS(1237),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1762),
    [anon_sym_DASH_EQ] = ACTIONS(1762),
    [anon_sym_STAR_EQ] = ACTIONS(1762),
    [anon_sym_SLASH_EQ] = ACTIONS(1762),
    [anon_sym_PERCENT_EQ] = ACTIONS(1762),
    [anon_sym_BANG_EQ] = ACTIONS(1760),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1762),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1762),
    [anon_sym_LT_EQ] = ACTIONS(1762),
    [anon_sym_GT_EQ] = ACTIONS(1762),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1241),
    [anon_sym_PLUS] = ACTIONS(1243),
    [anon_sym_DASH] = ACTIONS(1243),
    [anon_sym_STAR] = ACTIONS(1760),
    [anon_sym_SLASH] = ACTIONS(1760),
    [anon_sym_PERCENT] = ACTIONS(1760),
    [anon_sym_PLUS_PLUS] = ACTIONS(1223),
    [anon_sym_DASH_DASH] = ACTIONS(1223),
    [anon_sym_PIPE] = ACTIONS(1762),
    [anon_sym_CARET] = ACTIONS(1760),
    [anon_sym_LT_LT] = ACTIONS(1762),
    [anon_sym_GT_GT] = ACTIONS(1762),
    [anon_sym_borrowing] = ACTIONS(1197),
    [anon_sym_consuming] = ACTIONS(1197),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1245),
    [sym__dot_custom] = ACTIONS(1247),
    [sym__eq_custom] = ACTIONS(1762),
    [sym__eq_eq_custom] = ACTIONS(1762),
    [sym__plus_then_ws] = ACTIONS(1762),
    [sym__minus_then_ws] = ACTIONS(1762),
    [sym__bang_custom] = ACTIONS(1249),
    [sym__custom_operator] = ACTIONS(1229),
    [sym__hash_symbol_custom] = ACTIONS(1251),
    [sym__directive_if] = ACTIONS(1253),
    [sym__directive_elseif] = ACTIONS(1253),
    [sym__directive_else] = ACTIONS(1255),
    [sym__directive_endif] = ACTIONS(1255),
  },
  [411] = {
    [sym_simple_identifier] = STATE(3108),
    [sym__contextual_simple_identifier] = STATE(2967),
    [sym__basic_literal] = STATE(1579),
    [sym_boolean_literal] = STATE(1579),
    [sym__string_literal] = STATE(1579),
    [sym_line_string_literal] = STATE(1579),
    [sym_multi_line_string_literal] = STATE(1579),
    [sym_raw_string_literal] = STATE(1579),
    [sym_regex_literal] = STATE(1579),
    [sym__extended_regex_literal] = STATE(3663),
    [sym__multiline_regex_literal] = STATE(3663),
    [sym_user_type] = STATE(6406),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6406),
    [sym_dictionary_type] = STATE(6406),
    [sym__expression] = STATE(1579),
    [sym__unary_expression] = STATE(1579),
    [sym_postfix_expression] = STATE(1579),
    [sym_constructor_expression] = STATE(1579),
    [sym__parenthesized_type] = STATE(7557),
    [sym_navigation_expression] = STATE(1579),
    [sym__navigable_type_expression] = STATE(7558),
    [sym_open_start_range_expression] = STATE(1579),
    [sym__range_operator] = STATE(592),
    [sym_open_end_range_expression] = STATE(1579),
    [sym_prefix_expression] = STATE(1579),
    [sym_as_expression] = STATE(1579),
    [sym_selector_expression] = STATE(1579),
    [sym__binary_expression] = STATE(1579),
    [sym_multiplicative_expression] = STATE(1579),
    [sym_additive_expression] = STATE(1579),
    [sym_range_expression] = STATE(1579),
    [sym_infix_expression] = STATE(1579),
    [sym_nil_coalescing_expression] = STATE(1579),
    [sym_check_expression] = STATE(1579),
    [sym_comparison_expression] = STATE(1579),
    [sym_equality_expression] = STATE(1579),
    [sym_conjunction_expression] = STATE(1579),
    [sym_disjunction_expression] = STATE(1579),
    [sym_bitwise_operation] = STATE(1579),
    [sym_custom_operator] = STATE(1288),
    [sym_try_expression] = STATE(1579),
    [sym_await_expression] = STATE(1579),
    [sym__await_operator] = STATE(595),
    [sym_ternary_expression] = STATE(1579),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(3671),
    [sym_expr_hack_at_ternary_binary_call] = STATE(3671),
    [sym_call_expression] = STATE(1579),
    [sym_macro_invocation] = STATE(1579),
    [sym__primary_expression] = STATE(1579),
    [sym_tuple_expression] = STATE(1579),
    [sym_array_literal] = STATE(1579),
    [sym_dictionary_literal] = STATE(1579),
    [sym_special_literal] = STATE(1579),
    [sym_playground_literal] = STATE(1579),
    [sym_lambda_literal] = STATE(1579),
    [sym_self_expression] = STATE(1579),
    [sym_super_expression] = STATE(1579),
    [sym_if_statement] = STATE(1579),
    [sym_switch_statement] = STATE(1579),
    [sym_key_path_expression] = STATE(1579),
    [sym_key_path_string_expression] = STATE(1579),
    [sym_try_operator] = STATE(611),
    [sym__assignment_and_operator] = STATE(1579),
    [sym__equality_operator] = STATE(1579),
    [sym__comparison_operator] = STATE(1579),
    [sym__three_dot_operator] = STATE(1257),
    [sym__open_ended_range_operator] = STATE(592),
    [sym__additive_operator] = STATE(1579),
    [sym__multiplicative_operator] = STATE(1579),
    [sym__prefix_unary_operator] = STATE(620),
    [sym_directly_assignable_expression] = STATE(6409),
    [sym_assignment] = STATE(1579),
    [sym_value_parameter_pack] = STATE(1579),
    [sym_value_pack_expansion] = STATE(1579),
    [sym__referenceable_operator] = STATE(1579),
    [sym__equal_sign] = STATE(1579),
    [sym__eq_eq] = STATE(1579),
    [sym__dot] = STATE(620),
    [sym__hash_symbol] = STATE(4853),
    [sym_bang] = STATE(1288),
    [sym__parameter_ownership_modifier] = STATE(2967),
    [sym_directive] = STATE(1579),
    [sym_diagnostic] = STATE(1579),
    [aux_sym_raw_string_literal_repeat1] = STATE(7564),
    [anon_sym_BANG] = ACTIONS(1293),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1295),
    [aux_sym_simple_identifier_token2] = ACTIONS(1297),
    [aux_sym_simple_identifier_token3] = ACTIONS(1297),
    [aux_sym_simple_identifier_token4] = ACTIONS(1297),
    [anon_sym_actor] = ACTIONS(1295),
    [anon_sym_async] = ACTIONS(1295),
    [anon_sym_each] = ACTIONS(1301),
    [anon_sym_lazy] = ACTIONS(1295),
    [anon_sym_repeat] = ACTIONS(1303),
    [anon_sym_package] = ACTIONS(1295),
    [anon_sym_nil] = ACTIONS(1774),
    [sym_real_literal] = ACTIONS(1776),
    [sym_integer_literal] = ACTIONS(1774),
    [sym_hex_literal] = ACTIONS(1774),
    [sym_oct_literal] = ACTIONS(1776),
    [sym_bin_literal] = ACTIONS(1776),
    [anon_sym_true] = ACTIONS(1309),
    [anon_sym_false] = ACTIONS(1309),
    [anon_sym_DQUOTE] = ACTIONS(1311),
    [anon_sym_BSLASH] = ACTIONS(1313),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1315),
    [sym__oneline_regex_literal] = ACTIONS(1317),
    [anon_sym_LPAREN] = ACTIONS(1319),
    [anon_sym_LBRACK] = ACTIONS(1321),
    [anon_sym_AMP] = ACTIONS(1323),
    [anon_sym_TILDE] = ACTIONS(1323),
    [anon_sym_if] = ACTIONS(1325),
    [anon_sym_switch] = ACTIONS(1327),
    [aux_sym_custom_operator_token1] = ACTIONS(1329),
    [anon_sym_LT] = ACTIONS(1774),
    [anon_sym_GT] = ACTIONS(1774),
    [anon_sym_await] = ACTIONS(1331),
    [anon_sym_LBRACE] = ACTIONS(1333),
    [anon_sym_CARET_LBRACE] = ACTIONS(1333),
    [anon_sym_self] = ACTIONS(1335),
    [anon_sym_super] = ACTIONS(1337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1776),
    [anon_sym_DASH_EQ] = ACTIONS(1776),
    [anon_sym_STAR_EQ] = ACTIONS(1776),
    [anon_sym_SLASH_EQ] = ACTIONS(1776),
    [anon_sym_PERCENT_EQ] = ACTIONS(1776),
    [anon_sym_BANG_EQ] = ACTIONS(1774),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1776),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1776),
    [anon_sym_LT_EQ] = ACTIONS(1776),
    [anon_sym_GT_EQ] = ACTIONS(1776),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1341),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1343),
    [anon_sym_PLUS] = ACTIONS(1345),
    [anon_sym_DASH] = ACTIONS(1345),
    [anon_sym_STAR] = ACTIONS(1774),
    [anon_sym_SLASH] = ACTIONS(1774),
    [anon_sym_PERCENT] = ACTIONS(1774),
    [anon_sym_PLUS_PLUS] = ACTIONS(1323),
    [anon_sym_DASH_DASH] = ACTIONS(1323),
    [anon_sym_PIPE] = ACTIONS(1776),
    [anon_sym_CARET] = ACTIONS(1774),
    [anon_sym_LT_LT] = ACTIONS(1776),
    [anon_sym_GT_GT] = ACTIONS(1776),
    [anon_sym_borrowing] = ACTIONS(1295),
    [anon_sym_consuming] = ACTIONS(1295),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1347),
    [sym__dot_custom] = ACTIONS(1349),
    [sym__eq_custom] = ACTIONS(1776),
    [sym__eq_eq_custom] = ACTIONS(1776),
    [sym__plus_then_ws] = ACTIONS(1776),
    [sym__minus_then_ws] = ACTIONS(1776),
    [sym__bang_custom] = ACTIONS(1351),
    [sym__custom_operator] = ACTIONS(1329),
    [sym__hash_symbol_custom] = ACTIONS(1371),
    [sym__directive_if] = ACTIONS(1355),
    [sym__directive_elseif] = ACTIONS(1355),
    [sym__directive_else] = ACTIONS(1357),
    [sym__directive_endif] = ACTIONS(1357),
  },
  [412] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1496),
    [sym_boolean_literal] = STATE(1496),
    [sym__string_literal] = STATE(1496),
    [sym_line_string_literal] = STATE(1496),
    [sym_multi_line_string_literal] = STATE(1496),
    [sym_raw_string_literal] = STATE(1496),
    [sym_regex_literal] = STATE(1496),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1496),
    [sym__unary_expression] = STATE(1496),
    [sym_postfix_expression] = STATE(1496),
    [sym_constructor_expression] = STATE(1496),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1496),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1496),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1496),
    [sym_prefix_expression] = STATE(1496),
    [sym_as_expression] = STATE(1496),
    [sym_selector_expression] = STATE(1496),
    [sym__binary_expression] = STATE(1496),
    [sym_multiplicative_expression] = STATE(1496),
    [sym_additive_expression] = STATE(1496),
    [sym_range_expression] = STATE(1496),
    [sym_infix_expression] = STATE(1496),
    [sym_nil_coalescing_expression] = STATE(1496),
    [sym_check_expression] = STATE(1496),
    [sym_comparison_expression] = STATE(1496),
    [sym_equality_expression] = STATE(1496),
    [sym_conjunction_expression] = STATE(1496),
    [sym_disjunction_expression] = STATE(1496),
    [sym_bitwise_operation] = STATE(1496),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1496),
    [sym_await_expression] = STATE(1496),
    [sym__await_operator] = STATE(712),
    [sym_ternary_expression] = STATE(1496),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(3368),
    [sym_expr_hack_at_ternary_binary_call] = STATE(3368),
    [sym_call_expression] = STATE(1496),
    [sym_macro_invocation] = STATE(1496),
    [sym__primary_expression] = STATE(1496),
    [sym_tuple_expression] = STATE(1496),
    [sym_array_literal] = STATE(1496),
    [sym_dictionary_literal] = STATE(1496),
    [sym_special_literal] = STATE(1496),
    [sym_playground_literal] = STATE(1496),
    [sym_lambda_literal] = STATE(1496),
    [sym_self_expression] = STATE(1496),
    [sym_super_expression] = STATE(1496),
    [sym_if_statement] = STATE(1496),
    [sym_switch_statement] = STATE(1496),
    [sym_key_path_expression] = STATE(1496),
    [sym_key_path_string_expression] = STATE(1496),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1496),
    [sym__equality_operator] = STATE(1496),
    [sym__comparison_operator] = STATE(1496),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1496),
    [sym__multiplicative_operator] = STATE(1496),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym_assignment] = STATE(1496),
    [sym_value_parameter_pack] = STATE(1496),
    [sym_value_pack_expansion] = STATE(1496),
    [sym__referenceable_operator] = STATE(1496),
    [sym__equal_sign] = STATE(1496),
    [sym__eq_eq] = STATE(1496),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1496),
    [sym_diagnostic] = STATE(1496),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(1752),
    [sym_real_literal] = ACTIONS(1754),
    [sym_integer_literal] = ACTIONS(1752),
    [sym_hex_literal] = ACTIONS(1752),
    [sym_oct_literal] = ACTIONS(1754),
    [sym_bin_literal] = ACTIONS(1754),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(1752),
    [anon_sym_GT] = ACTIONS(1752),
    [anon_sym_await] = ACTIONS(1067),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1754),
    [anon_sym_DASH_EQ] = ACTIONS(1754),
    [anon_sym_STAR_EQ] = ACTIONS(1754),
    [anon_sym_SLASH_EQ] = ACTIONS(1754),
    [anon_sym_PERCENT_EQ] = ACTIONS(1754),
    [anon_sym_BANG_EQ] = ACTIONS(1752),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1754),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1754),
    [anon_sym_LT_EQ] = ACTIONS(1754),
    [anon_sym_GT_EQ] = ACTIONS(1754),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(1752),
    [anon_sym_SLASH] = ACTIONS(1752),
    [anon_sym_PERCENT] = ACTIONS(1752),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(1754),
    [anon_sym_CARET] = ACTIONS(1752),
    [anon_sym_LT_LT] = ACTIONS(1754),
    [anon_sym_GT_GT] = ACTIONS(1754),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(1754),
    [sym__eq_eq_custom] = ACTIONS(1754),
    [sym__plus_then_ws] = ACTIONS(1754),
    [sym__minus_then_ws] = ACTIONS(1754),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [413] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(743),
    [sym_boolean_literal] = STATE(743),
    [sym__string_literal] = STATE(743),
    [sym_line_string_literal] = STATE(743),
    [sym_multi_line_string_literal] = STATE(743),
    [sym_raw_string_literal] = STATE(743),
    [sym_regex_literal] = STATE(743),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6436),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6436),
    [sym_dictionary_type] = STATE(6436),
    [sym__expression] = STATE(743),
    [sym__unary_expression] = STATE(743),
    [sym_postfix_expression] = STATE(743),
    [sym_constructor_expression] = STATE(743),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(743),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(743),
    [sym__range_operator] = STATE(694),
    [sym_open_end_range_expression] = STATE(743),
    [sym_prefix_expression] = STATE(743),
    [sym_as_expression] = STATE(743),
    [sym_selector_expression] = STATE(743),
    [sym__binary_expression] = STATE(743),
    [sym_multiplicative_expression] = STATE(743),
    [sym_additive_expression] = STATE(743),
    [sym_range_expression] = STATE(743),
    [sym_infix_expression] = STATE(743),
    [sym_nil_coalescing_expression] = STATE(743),
    [sym_check_expression] = STATE(743),
    [sym_comparison_expression] = STATE(743),
    [sym_equality_expression] = STATE(743),
    [sym_conjunction_expression] = STATE(743),
    [sym_disjunction_expression] = STATE(743),
    [sym_bitwise_operation] = STATE(743),
    [sym_custom_operator] = STATE(741),
    [sym_try_expression] = STATE(743),
    [sym_await_expression] = STATE(743),
    [sym__await_operator] = STATE(681),
    [sym_ternary_expression] = STATE(743),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(945),
    [sym_expr_hack_at_ternary_binary_call] = STATE(945),
    [sym_call_expression] = STATE(743),
    [sym_macro_invocation] = STATE(743),
    [sym__primary_expression] = STATE(743),
    [sym_tuple_expression] = STATE(743),
    [sym_array_literal] = STATE(743),
    [sym_dictionary_literal] = STATE(743),
    [sym_special_literal] = STATE(743),
    [sym_playground_literal] = STATE(743),
    [sym_lambda_literal] = STATE(743),
    [sym_self_expression] = STATE(743),
    [sym_super_expression] = STATE(743),
    [sym_if_statement] = STATE(743),
    [sym_switch_statement] = STATE(743),
    [sym_key_path_expression] = STATE(743),
    [sym_key_path_string_expression] = STATE(743),
    [sym_try_operator] = STATE(678),
    [sym__assignment_and_operator] = STATE(743),
    [sym__equality_operator] = STATE(743),
    [sym__comparison_operator] = STATE(743),
    [sym__three_dot_operator] = STATE(742),
    [sym__open_ended_range_operator] = STATE(694),
    [sym__additive_operator] = STATE(743),
    [sym__multiplicative_operator] = STATE(743),
    [sym__prefix_unary_operator] = STATE(622),
    [sym_directly_assignable_expression] = STATE(6420),
    [sym_assignment] = STATE(743),
    [sym_value_parameter_pack] = STATE(743),
    [sym_value_pack_expansion] = STATE(743),
    [sym__referenceable_operator] = STATE(743),
    [sym__equal_sign] = STATE(743),
    [sym__eq_eq] = STATE(743),
    [sym__dot] = STATE(622),
    [sym__hash_symbol] = STATE(4852),
    [sym_bang] = STATE(741),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(743),
    [sym_diagnostic] = STATE(743),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(605),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(607),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(609),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1770),
    [sym_real_literal] = ACTIONS(1772),
    [sym_integer_literal] = ACTIONS(1770),
    [sym_hex_literal] = ACTIONS(1770),
    [sym_oct_literal] = ACTIONS(1772),
    [sym_bin_literal] = ACTIONS(1772),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(615),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(625),
    [anon_sym_TILDE] = ACTIONS(625),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(627),
    [aux_sym_custom_operator_token1] = ACTIONS(629),
    [anon_sym_LT] = ACTIONS(1770),
    [anon_sym_GT] = ACTIONS(1770),
    [anon_sym_await] = ACTIONS(631),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1772),
    [anon_sym_DASH_EQ] = ACTIONS(1772),
    [anon_sym_STAR_EQ] = ACTIONS(1772),
    [anon_sym_SLASH_EQ] = ACTIONS(1772),
    [anon_sym_PERCENT_EQ] = ACTIONS(1772),
    [anon_sym_BANG_EQ] = ACTIONS(1770),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1772),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1772),
    [anon_sym_LT_EQ] = ACTIONS(1772),
    [anon_sym_GT_EQ] = ACTIONS(1772),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(635),
    [anon_sym_DOT_DOT_LT] = ACTIONS(637),
    [anon_sym_PLUS] = ACTIONS(639),
    [anon_sym_DASH] = ACTIONS(639),
    [anon_sym_STAR] = ACTIONS(1770),
    [anon_sym_SLASH] = ACTIONS(1770),
    [anon_sym_PERCENT] = ACTIONS(1770),
    [anon_sym_PLUS_PLUS] = ACTIONS(625),
    [anon_sym_DASH_DASH] = ACTIONS(625),
    [anon_sym_PIPE] = ACTIONS(1772),
    [anon_sym_CARET] = ACTIONS(1770),
    [anon_sym_LT_LT] = ACTIONS(1772),
    [anon_sym_GT_GT] = ACTIONS(1772),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(641),
    [sym__eq_custom] = ACTIONS(1772),
    [sym__eq_eq_custom] = ACTIONS(1772),
    [sym__plus_then_ws] = ACTIONS(1772),
    [sym__minus_then_ws] = ACTIONS(1772),
    [sym__bang_custom] = ACTIONS(643),
    [sym__custom_operator] = ACTIONS(629),
    [sym__hash_symbol_custom] = ACTIONS(645),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [414] = {
    [sym_simple_identifier] = STATE(1217),
    [sym__contextual_simple_identifier] = STATE(1147),
    [sym__basic_literal] = STATE(774),
    [sym_boolean_literal] = STATE(774),
    [sym__string_literal] = STATE(774),
    [sym_line_string_literal] = STATE(774),
    [sym_multi_line_string_literal] = STATE(774),
    [sym_raw_string_literal] = STATE(774),
    [sym_regex_literal] = STATE(774),
    [sym__extended_regex_literal] = STATE(1286),
    [sym__multiline_regex_literal] = STATE(1286),
    [sym_user_type] = STATE(6397),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6397),
    [sym_dictionary_type] = STATE(6397),
    [sym__expression] = STATE(774),
    [sym__unary_expression] = STATE(774),
    [sym_postfix_expression] = STATE(774),
    [sym_constructor_expression] = STATE(774),
    [sym__parenthesized_type] = STATE(7511),
    [sym_navigation_expression] = STATE(774),
    [sym__navigable_type_expression] = STATE(7510),
    [sym_open_start_range_expression] = STATE(774),
    [sym__range_operator] = STATE(695),
    [sym_open_end_range_expression] = STATE(774),
    [sym_prefix_expression] = STATE(774),
    [sym_as_expression] = STATE(774),
    [sym_selector_expression] = STATE(774),
    [sym__binary_expression] = STATE(774),
    [sym_multiplicative_expression] = STATE(774),
    [sym_additive_expression] = STATE(774),
    [sym_range_expression] = STATE(774),
    [sym_infix_expression] = STATE(774),
    [sym_nil_coalescing_expression] = STATE(774),
    [sym_check_expression] = STATE(774),
    [sym_comparison_expression] = STATE(774),
    [sym_equality_expression] = STATE(774),
    [sym_conjunction_expression] = STATE(774),
    [sym_disjunction_expression] = STATE(774),
    [sym_bitwise_operation] = STATE(774),
    [sym_custom_operator] = STATE(759),
    [sym_try_expression] = STATE(774),
    [sym_await_expression] = STATE(774),
    [sym__await_operator] = STATE(644),
    [sym_ternary_expression] = STATE(774),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(1252),
    [sym_expr_hack_at_ternary_binary_call] = STATE(1252),
    [sym_call_expression] = STATE(774),
    [sym_macro_invocation] = STATE(774),
    [sym__primary_expression] = STATE(774),
    [sym_tuple_expression] = STATE(774),
    [sym_array_literal] = STATE(774),
    [sym_dictionary_literal] = STATE(774),
    [sym_special_literal] = STATE(774),
    [sym_playground_literal] = STATE(774),
    [sym_lambda_literal] = STATE(774),
    [sym_self_expression] = STATE(774),
    [sym_super_expression] = STATE(774),
    [sym_if_statement] = STATE(774),
    [sym_switch_statement] = STATE(774),
    [sym_key_path_expression] = STATE(774),
    [sym_key_path_string_expression] = STATE(774),
    [sym_try_operator] = STATE(645),
    [sym__assignment_and_operator] = STATE(774),
    [sym__equality_operator] = STATE(774),
    [sym__comparison_operator] = STATE(774),
    [sym__three_dot_operator] = STATE(761),
    [sym__open_ended_range_operator] = STATE(695),
    [sym__additive_operator] = STATE(774),
    [sym__multiplicative_operator] = STATE(774),
    [sym__prefix_unary_operator] = STATE(659),
    [sym_directly_assignable_expression] = STATE(6398),
    [sym_assignment] = STATE(774),
    [sym_value_parameter_pack] = STATE(774),
    [sym_value_pack_expansion] = STATE(774),
    [sym__referenceable_operator] = STATE(774),
    [sym__equal_sign] = STATE(774),
    [sym__eq_eq] = STATE(774),
    [sym__dot] = STATE(659),
    [sym__hash_symbol] = STATE(4848),
    [sym_bang] = STATE(759),
    [sym__parameter_ownership_modifier] = STATE(1147),
    [sym_directive] = STATE(774),
    [sym_diagnostic] = STATE(774),
    [aux_sym_raw_string_literal_repeat1] = STATE(7499),
    [anon_sym_BANG] = ACTIONS(659),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(661),
    [aux_sym_simple_identifier_token2] = ACTIONS(663),
    [aux_sym_simple_identifier_token3] = ACTIONS(663),
    [aux_sym_simple_identifier_token4] = ACTIONS(663),
    [anon_sym_actor] = ACTIONS(661),
    [anon_sym_async] = ACTIONS(661),
    [anon_sym_each] = ACTIONS(665),
    [anon_sym_lazy] = ACTIONS(661),
    [anon_sym_repeat] = ACTIONS(667),
    [anon_sym_package] = ACTIONS(661),
    [anon_sym_nil] = ACTIONS(1778),
    [sym_real_literal] = ACTIONS(1780),
    [sym_integer_literal] = ACTIONS(1778),
    [sym_hex_literal] = ACTIONS(1778),
    [sym_oct_literal] = ACTIONS(1780),
    [sym_bin_literal] = ACTIONS(1780),
    [anon_sym_true] = ACTIONS(673),
    [anon_sym_false] = ACTIONS(673),
    [anon_sym_DQUOTE] = ACTIONS(675),
    [anon_sym_BSLASH] = ACTIONS(677),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(679),
    [sym__oneline_regex_literal] = ACTIONS(681),
    [anon_sym_LPAREN] = ACTIONS(683),
    [anon_sym_LBRACK] = ACTIONS(685),
    [anon_sym_AMP] = ACTIONS(687),
    [anon_sym_TILDE] = ACTIONS(687),
    [anon_sym_if] = ACTIONS(689),
    [anon_sym_switch] = ACTIONS(691),
    [aux_sym_custom_operator_token1] = ACTIONS(693),
    [anon_sym_LT] = ACTIONS(1778),
    [anon_sym_GT] = ACTIONS(1778),
    [anon_sym_await] = ACTIONS(695),
    [anon_sym_LBRACE] = ACTIONS(697),
    [anon_sym_CARET_LBRACE] = ACTIONS(697),
    [anon_sym_self] = ACTIONS(699),
    [anon_sym_super] = ACTIONS(701),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1780),
    [anon_sym_DASH_EQ] = ACTIONS(1780),
    [anon_sym_STAR_EQ] = ACTIONS(1780),
    [anon_sym_SLASH_EQ] = ACTIONS(1780),
    [anon_sym_PERCENT_EQ] = ACTIONS(1780),
    [anon_sym_BANG_EQ] = ACTIONS(1778),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1780),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1780),
    [anon_sym_LT_EQ] = ACTIONS(1780),
    [anon_sym_GT_EQ] = ACTIONS(1780),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(703),
    [anon_sym_DOT_DOT_LT] = ACTIONS(705),
    [anon_sym_PLUS] = ACTIONS(707),
    [anon_sym_DASH] = ACTIONS(707),
    [anon_sym_STAR] = ACTIONS(1778),
    [anon_sym_SLASH] = ACTIONS(1778),
    [anon_sym_PERCENT] = ACTIONS(1778),
    [anon_sym_PLUS_PLUS] = ACTIONS(687),
    [anon_sym_DASH_DASH] = ACTIONS(687),
    [anon_sym_PIPE] = ACTIONS(1780),
    [anon_sym_CARET] = ACTIONS(1778),
    [anon_sym_LT_LT] = ACTIONS(1780),
    [anon_sym_GT_GT] = ACTIONS(1780),
    [anon_sym_borrowing] = ACTIONS(661),
    [anon_sym_consuming] = ACTIONS(661),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(709),
    [sym__dot_custom] = ACTIONS(711),
    [sym__eq_custom] = ACTIONS(1780),
    [sym__eq_eq_custom] = ACTIONS(1780),
    [sym__plus_then_ws] = ACTIONS(1780),
    [sym__minus_then_ws] = ACTIONS(1780),
    [sym__bang_custom] = ACTIONS(713),
    [sym__custom_operator] = ACTIONS(693),
    [sym__hash_symbol_custom] = ACTIONS(715),
    [sym__directive_if] = ACTIONS(717),
    [sym__directive_elseif] = ACTIONS(717),
    [sym__directive_else] = ACTIONS(719),
    [sym__directive_endif] = ACTIONS(719),
  },
  [415] = {
    [sym_simple_identifier] = STATE(2645),
    [sym__contextual_simple_identifier] = STATE(2445),
    [sym__basic_literal] = STATE(1481),
    [sym_boolean_literal] = STATE(1481),
    [sym__string_literal] = STATE(1481),
    [sym_line_string_literal] = STATE(1481),
    [sym_multi_line_string_literal] = STATE(1481),
    [sym_raw_string_literal] = STATE(1481),
    [sym_regex_literal] = STATE(1481),
    [sym__extended_regex_literal] = STATE(2955),
    [sym__multiline_regex_literal] = STATE(2955),
    [sym_user_type] = STATE(6382),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6382),
    [sym_dictionary_type] = STATE(6382),
    [sym__expression] = STATE(1481),
    [sym__unary_expression] = STATE(1481),
    [sym_postfix_expression] = STATE(1481),
    [sym_constructor_expression] = STATE(1481),
    [sym__parenthesized_type] = STATE(7692),
    [sym_navigation_expression] = STATE(1481),
    [sym__navigable_type_expression] = STATE(7690),
    [sym_open_start_range_expression] = STATE(1481),
    [sym__range_operator] = STATE(672),
    [sym_open_end_range_expression] = STATE(1481),
    [sym_prefix_expression] = STATE(1481),
    [sym_as_expression] = STATE(1481),
    [sym_selector_expression] = STATE(1481),
    [sym__binary_expression] = STATE(1481),
    [sym_multiplicative_expression] = STATE(1481),
    [sym_additive_expression] = STATE(1481),
    [sym_range_expression] = STATE(1481),
    [sym_infix_expression] = STATE(1481),
    [sym_nil_coalescing_expression] = STATE(1481),
    [sym_check_expression] = STATE(1481),
    [sym_comparison_expression] = STATE(1481),
    [sym_equality_expression] = STATE(1481),
    [sym_conjunction_expression] = STATE(1481),
    [sym_disjunction_expression] = STATE(1481),
    [sym_bitwise_operation] = STATE(1481),
    [sym_custom_operator] = STATE(1170),
    [sym_try_expression] = STATE(1481),
    [sym_await_expression] = STATE(1481),
    [sym__await_operator] = STATE(716),
    [sym_ternary_expression] = STATE(1481),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(2922),
    [sym_expr_hack_at_ternary_binary_call] = STATE(2922),
    [sym_call_expression] = STATE(1481),
    [sym_macro_invocation] = STATE(1481),
    [sym__primary_expression] = STATE(1481),
    [sym_tuple_expression] = STATE(1481),
    [sym_array_literal] = STATE(1481),
    [sym_dictionary_literal] = STATE(1481),
    [sym_special_literal] = STATE(1481),
    [sym_playground_literal] = STATE(1481),
    [sym_lambda_literal] = STATE(1481),
    [sym_self_expression] = STATE(1481),
    [sym_super_expression] = STATE(1481),
    [sym_if_statement] = STATE(1481),
    [sym_switch_statement] = STATE(1481),
    [sym_key_path_expression] = STATE(1481),
    [sym_key_path_string_expression] = STATE(1481),
    [sym_try_operator] = STATE(732),
    [sym__assignment_and_operator] = STATE(1481),
    [sym__equality_operator] = STATE(1481),
    [sym__comparison_operator] = STATE(1481),
    [sym__three_dot_operator] = STATE(1173),
    [sym__open_ended_range_operator] = STATE(672),
    [sym__additive_operator] = STATE(1481),
    [sym__multiplicative_operator] = STATE(1481),
    [sym__prefix_unary_operator] = STATE(647),
    [sym_directly_assignable_expression] = STATE(6379),
    [sym_assignment] = STATE(1481),
    [sym_value_parameter_pack] = STATE(1481),
    [sym_value_pack_expansion] = STATE(1481),
    [sym__referenceable_operator] = STATE(1481),
    [sym__equal_sign] = STATE(1481),
    [sym__eq_eq] = STATE(1481),
    [sym__dot] = STATE(647),
    [sym__hash_symbol] = STATE(4854),
    [sym_bang] = STATE(1170),
    [sym__parameter_ownership_modifier] = STATE(2445),
    [sym_directive] = STATE(1481),
    [sym_diagnostic] = STATE(1481),
    [aux_sym_raw_string_literal_repeat1] = STATE(7509),
    [anon_sym_BANG] = ACTIONS(1119),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1121),
    [aux_sym_simple_identifier_token2] = ACTIONS(1123),
    [aux_sym_simple_identifier_token3] = ACTIONS(1123),
    [aux_sym_simple_identifier_token4] = ACTIONS(1123),
    [anon_sym_actor] = ACTIONS(1121),
    [anon_sym_async] = ACTIONS(1121),
    [anon_sym_each] = ACTIONS(1125),
    [anon_sym_lazy] = ACTIONS(1121),
    [anon_sym_repeat] = ACTIONS(1127),
    [anon_sym_package] = ACTIONS(1121),
    [anon_sym_nil] = ACTIONS(1756),
    [sym_real_literal] = ACTIONS(1758),
    [sym_integer_literal] = ACTIONS(1756),
    [sym_hex_literal] = ACTIONS(1756),
    [sym_oct_literal] = ACTIONS(1758),
    [sym_bin_literal] = ACTIONS(1758),
    [anon_sym_true] = ACTIONS(1133),
    [anon_sym_false] = ACTIONS(1133),
    [anon_sym_DQUOTE] = ACTIONS(1135),
    [anon_sym_BSLASH] = ACTIONS(1137),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1139),
    [sym__oneline_regex_literal] = ACTIONS(1141),
    [anon_sym_LPAREN] = ACTIONS(1143),
    [anon_sym_LBRACK] = ACTIONS(1145),
    [anon_sym_AMP] = ACTIONS(1147),
    [anon_sym_TILDE] = ACTIONS(1147),
    [anon_sym_if] = ACTIONS(1149),
    [anon_sym_switch] = ACTIONS(1151),
    [aux_sym_custom_operator_token1] = ACTIONS(1153),
    [anon_sym_LT] = ACTIONS(1756),
    [anon_sym_GT] = ACTIONS(1756),
    [anon_sym_await] = ACTIONS(1155),
    [anon_sym_LBRACE] = ACTIONS(1157),
    [anon_sym_CARET_LBRACE] = ACTIONS(1157),
    [anon_sym_self] = ACTIONS(1159),
    [anon_sym_super] = ACTIONS(1161),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1758),
    [anon_sym_DASH_EQ] = ACTIONS(1758),
    [anon_sym_STAR_EQ] = ACTIONS(1758),
    [anon_sym_SLASH_EQ] = ACTIONS(1758),
    [anon_sym_PERCENT_EQ] = ACTIONS(1758),
    [anon_sym_BANG_EQ] = ACTIONS(1756),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1758),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1758),
    [anon_sym_LT_EQ] = ACTIONS(1758),
    [anon_sym_GT_EQ] = ACTIONS(1758),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1163),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1165),
    [anon_sym_PLUS] = ACTIONS(1167),
    [anon_sym_DASH] = ACTIONS(1167),
    [anon_sym_STAR] = ACTIONS(1756),
    [anon_sym_SLASH] = ACTIONS(1756),
    [anon_sym_PERCENT] = ACTIONS(1756),
    [anon_sym_PLUS_PLUS] = ACTIONS(1147),
    [anon_sym_DASH_DASH] = ACTIONS(1147),
    [anon_sym_PIPE] = ACTIONS(1758),
    [anon_sym_CARET] = ACTIONS(1756),
    [anon_sym_LT_LT] = ACTIONS(1758),
    [anon_sym_GT_GT] = ACTIONS(1758),
    [anon_sym_borrowing] = ACTIONS(1121),
    [anon_sym_consuming] = ACTIONS(1121),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1169),
    [sym__dot_custom] = ACTIONS(1171),
    [sym__eq_custom] = ACTIONS(1758),
    [sym__eq_eq_custom] = ACTIONS(1758),
    [sym__plus_then_ws] = ACTIONS(1758),
    [sym__minus_then_ws] = ACTIONS(1758),
    [sym__bang_custom] = ACTIONS(1173),
    [sym__custom_operator] = ACTIONS(1153),
    [sym__hash_symbol_custom] = ACTIONS(1175),
    [sym__directive_if] = ACTIONS(1177),
    [sym__directive_elseif] = ACTIONS(1177),
    [sym__directive_else] = ACTIONS(1179),
    [sym__directive_endif] = ACTIONS(1179),
  },
  [416] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1496),
    [sym_boolean_literal] = STATE(1496),
    [sym__string_literal] = STATE(1496),
    [sym_line_string_literal] = STATE(1496),
    [sym_multi_line_string_literal] = STATE(1496),
    [sym_raw_string_literal] = STATE(1496),
    [sym_regex_literal] = STATE(1496),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1496),
    [sym__unary_expression] = STATE(1496),
    [sym_postfix_expression] = STATE(1496),
    [sym_constructor_expression] = STATE(1496),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1496),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1496),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1496),
    [sym_prefix_expression] = STATE(1496),
    [sym_as_expression] = STATE(1496),
    [sym_selector_expression] = STATE(1496),
    [sym__binary_expression] = STATE(1496),
    [sym_multiplicative_expression] = STATE(1496),
    [sym_additive_expression] = STATE(1496),
    [sym_range_expression] = STATE(1496),
    [sym_infix_expression] = STATE(1496),
    [sym_nil_coalescing_expression] = STATE(1496),
    [sym_check_expression] = STATE(1496),
    [sym_comparison_expression] = STATE(1496),
    [sym_equality_expression] = STATE(1496),
    [sym_conjunction_expression] = STATE(1496),
    [sym_disjunction_expression] = STATE(1496),
    [sym_bitwise_operation] = STATE(1496),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1496),
    [sym_await_expression] = STATE(1496),
    [sym__await_operator] = STATE(712),
    [sym_ternary_expression] = STATE(1496),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(3242),
    [sym_expr_hack_at_ternary_binary_call] = STATE(3242),
    [sym_call_expression] = STATE(1496),
    [sym_macro_invocation] = STATE(1496),
    [sym__primary_expression] = STATE(1496),
    [sym_tuple_expression] = STATE(1496),
    [sym_array_literal] = STATE(1496),
    [sym_dictionary_literal] = STATE(1496),
    [sym_special_literal] = STATE(1496),
    [sym_playground_literal] = STATE(1496),
    [sym_lambda_literal] = STATE(1496),
    [sym_self_expression] = STATE(1496),
    [sym_super_expression] = STATE(1496),
    [sym_if_statement] = STATE(1496),
    [sym_switch_statement] = STATE(1496),
    [sym_key_path_expression] = STATE(1496),
    [sym_key_path_string_expression] = STATE(1496),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1496),
    [sym__equality_operator] = STATE(1496),
    [sym__comparison_operator] = STATE(1496),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1496),
    [sym__multiplicative_operator] = STATE(1496),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym_assignment] = STATE(1496),
    [sym_value_parameter_pack] = STATE(1496),
    [sym_value_pack_expansion] = STATE(1496),
    [sym__referenceable_operator] = STATE(1496),
    [sym__equal_sign] = STATE(1496),
    [sym__eq_eq] = STATE(1496),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1496),
    [sym_diagnostic] = STATE(1496),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(1752),
    [sym_real_literal] = ACTIONS(1754),
    [sym_integer_literal] = ACTIONS(1752),
    [sym_hex_literal] = ACTIONS(1752),
    [sym_oct_literal] = ACTIONS(1754),
    [sym_bin_literal] = ACTIONS(1754),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(1752),
    [anon_sym_GT] = ACTIONS(1752),
    [anon_sym_await] = ACTIONS(1067),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1754),
    [anon_sym_DASH_EQ] = ACTIONS(1754),
    [anon_sym_STAR_EQ] = ACTIONS(1754),
    [anon_sym_SLASH_EQ] = ACTIONS(1754),
    [anon_sym_PERCENT_EQ] = ACTIONS(1754),
    [anon_sym_BANG_EQ] = ACTIONS(1752),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1754),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1754),
    [anon_sym_LT_EQ] = ACTIONS(1754),
    [anon_sym_GT_EQ] = ACTIONS(1754),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(1752),
    [anon_sym_SLASH] = ACTIONS(1752),
    [anon_sym_PERCENT] = ACTIONS(1752),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(1754),
    [anon_sym_CARET] = ACTIONS(1752),
    [anon_sym_LT_LT] = ACTIONS(1754),
    [anon_sym_GT_GT] = ACTIONS(1754),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(1754),
    [sym__eq_eq_custom] = ACTIONS(1754),
    [sym__plus_then_ws] = ACTIONS(1754),
    [sym__minus_then_ws] = ACTIONS(1754),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [417] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1496),
    [sym_boolean_literal] = STATE(1496),
    [sym__string_literal] = STATE(1496),
    [sym_line_string_literal] = STATE(1496),
    [sym_multi_line_string_literal] = STATE(1496),
    [sym_raw_string_literal] = STATE(1496),
    [sym_regex_literal] = STATE(1496),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1496),
    [sym__unary_expression] = STATE(1496),
    [sym_postfix_expression] = STATE(1496),
    [sym_constructor_expression] = STATE(1496),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1496),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1496),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1496),
    [sym_prefix_expression] = STATE(1496),
    [sym_as_expression] = STATE(1496),
    [sym_selector_expression] = STATE(1496),
    [sym__binary_expression] = STATE(1496),
    [sym_multiplicative_expression] = STATE(1496),
    [sym_additive_expression] = STATE(1496),
    [sym_range_expression] = STATE(1496),
    [sym_infix_expression] = STATE(1496),
    [sym_nil_coalescing_expression] = STATE(1496),
    [sym_check_expression] = STATE(1496),
    [sym_comparison_expression] = STATE(1496),
    [sym_equality_expression] = STATE(1496),
    [sym_conjunction_expression] = STATE(1496),
    [sym_disjunction_expression] = STATE(1496),
    [sym_bitwise_operation] = STATE(1496),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1496),
    [sym_await_expression] = STATE(1496),
    [sym__await_operator] = STATE(712),
    [sym_ternary_expression] = STATE(1496),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(3243),
    [sym_expr_hack_at_ternary_binary_call] = STATE(3243),
    [sym_call_expression] = STATE(1496),
    [sym_macro_invocation] = STATE(1496),
    [sym__primary_expression] = STATE(1496),
    [sym_tuple_expression] = STATE(1496),
    [sym_array_literal] = STATE(1496),
    [sym_dictionary_literal] = STATE(1496),
    [sym_special_literal] = STATE(1496),
    [sym_playground_literal] = STATE(1496),
    [sym_lambda_literal] = STATE(1496),
    [sym_self_expression] = STATE(1496),
    [sym_super_expression] = STATE(1496),
    [sym_if_statement] = STATE(1496),
    [sym_switch_statement] = STATE(1496),
    [sym_key_path_expression] = STATE(1496),
    [sym_key_path_string_expression] = STATE(1496),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1496),
    [sym__equality_operator] = STATE(1496),
    [sym__comparison_operator] = STATE(1496),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1496),
    [sym__multiplicative_operator] = STATE(1496),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym_assignment] = STATE(1496),
    [sym_value_parameter_pack] = STATE(1496),
    [sym_value_pack_expansion] = STATE(1496),
    [sym__referenceable_operator] = STATE(1496),
    [sym__equal_sign] = STATE(1496),
    [sym__eq_eq] = STATE(1496),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1496),
    [sym_diagnostic] = STATE(1496),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(1752),
    [sym_real_literal] = ACTIONS(1754),
    [sym_integer_literal] = ACTIONS(1752),
    [sym_hex_literal] = ACTIONS(1752),
    [sym_oct_literal] = ACTIONS(1754),
    [sym_bin_literal] = ACTIONS(1754),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(1752),
    [anon_sym_GT] = ACTIONS(1752),
    [anon_sym_await] = ACTIONS(1067),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1754),
    [anon_sym_DASH_EQ] = ACTIONS(1754),
    [anon_sym_STAR_EQ] = ACTIONS(1754),
    [anon_sym_SLASH_EQ] = ACTIONS(1754),
    [anon_sym_PERCENT_EQ] = ACTIONS(1754),
    [anon_sym_BANG_EQ] = ACTIONS(1752),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1754),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1754),
    [anon_sym_LT_EQ] = ACTIONS(1754),
    [anon_sym_GT_EQ] = ACTIONS(1754),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(1752),
    [anon_sym_SLASH] = ACTIONS(1752),
    [anon_sym_PERCENT] = ACTIONS(1752),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(1754),
    [anon_sym_CARET] = ACTIONS(1752),
    [anon_sym_LT_LT] = ACTIONS(1754),
    [anon_sym_GT_GT] = ACTIONS(1754),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(1754),
    [sym__eq_eq_custom] = ACTIONS(1754),
    [sym__plus_then_ws] = ACTIONS(1754),
    [sym__minus_then_ws] = ACTIONS(1754),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [418] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1496),
    [sym_boolean_literal] = STATE(1496),
    [sym__string_literal] = STATE(1496),
    [sym_line_string_literal] = STATE(1496),
    [sym_multi_line_string_literal] = STATE(1496),
    [sym_raw_string_literal] = STATE(1496),
    [sym_regex_literal] = STATE(1496),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1496),
    [sym__unary_expression] = STATE(1496),
    [sym_postfix_expression] = STATE(1496),
    [sym_constructor_expression] = STATE(1496),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1496),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1496),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1496),
    [sym_prefix_expression] = STATE(1496),
    [sym_as_expression] = STATE(1496),
    [sym_selector_expression] = STATE(1496),
    [sym__binary_expression] = STATE(1496),
    [sym_multiplicative_expression] = STATE(1496),
    [sym_additive_expression] = STATE(1496),
    [sym_range_expression] = STATE(1496),
    [sym_infix_expression] = STATE(1496),
    [sym_nil_coalescing_expression] = STATE(1496),
    [sym_check_expression] = STATE(1496),
    [sym_comparison_expression] = STATE(1496),
    [sym_equality_expression] = STATE(1496),
    [sym_conjunction_expression] = STATE(1496),
    [sym_disjunction_expression] = STATE(1496),
    [sym_bitwise_operation] = STATE(1496),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1496),
    [sym_await_expression] = STATE(1496),
    [sym__await_operator] = STATE(712),
    [sym_ternary_expression] = STATE(1496),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(3245),
    [sym_expr_hack_at_ternary_binary_call] = STATE(3245),
    [sym_call_expression] = STATE(1496),
    [sym_macro_invocation] = STATE(1496),
    [sym__primary_expression] = STATE(1496),
    [sym_tuple_expression] = STATE(1496),
    [sym_array_literal] = STATE(1496),
    [sym_dictionary_literal] = STATE(1496),
    [sym_special_literal] = STATE(1496),
    [sym_playground_literal] = STATE(1496),
    [sym_lambda_literal] = STATE(1496),
    [sym_self_expression] = STATE(1496),
    [sym_super_expression] = STATE(1496),
    [sym_if_statement] = STATE(1496),
    [sym_switch_statement] = STATE(1496),
    [sym_key_path_expression] = STATE(1496),
    [sym_key_path_string_expression] = STATE(1496),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1496),
    [sym__equality_operator] = STATE(1496),
    [sym__comparison_operator] = STATE(1496),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1496),
    [sym__multiplicative_operator] = STATE(1496),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym_assignment] = STATE(1496),
    [sym_value_parameter_pack] = STATE(1496),
    [sym_value_pack_expansion] = STATE(1496),
    [sym__referenceable_operator] = STATE(1496),
    [sym__equal_sign] = STATE(1496),
    [sym__eq_eq] = STATE(1496),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1496),
    [sym_diagnostic] = STATE(1496),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(1752),
    [sym_real_literal] = ACTIONS(1754),
    [sym_integer_literal] = ACTIONS(1752),
    [sym_hex_literal] = ACTIONS(1752),
    [sym_oct_literal] = ACTIONS(1754),
    [sym_bin_literal] = ACTIONS(1754),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(1752),
    [anon_sym_GT] = ACTIONS(1752),
    [anon_sym_await] = ACTIONS(1067),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1754),
    [anon_sym_DASH_EQ] = ACTIONS(1754),
    [anon_sym_STAR_EQ] = ACTIONS(1754),
    [anon_sym_SLASH_EQ] = ACTIONS(1754),
    [anon_sym_PERCENT_EQ] = ACTIONS(1754),
    [anon_sym_BANG_EQ] = ACTIONS(1752),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1754),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1754),
    [anon_sym_LT_EQ] = ACTIONS(1754),
    [anon_sym_GT_EQ] = ACTIONS(1754),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(1752),
    [anon_sym_SLASH] = ACTIONS(1752),
    [anon_sym_PERCENT] = ACTIONS(1752),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(1754),
    [anon_sym_CARET] = ACTIONS(1752),
    [anon_sym_LT_LT] = ACTIONS(1754),
    [anon_sym_GT_GT] = ACTIONS(1754),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(1754),
    [sym__eq_eq_custom] = ACTIONS(1754),
    [sym__plus_then_ws] = ACTIONS(1754),
    [sym__minus_then_ws] = ACTIONS(1754),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [419] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1496),
    [sym_boolean_literal] = STATE(1496),
    [sym__string_literal] = STATE(1496),
    [sym_line_string_literal] = STATE(1496),
    [sym_multi_line_string_literal] = STATE(1496),
    [sym_raw_string_literal] = STATE(1496),
    [sym_regex_literal] = STATE(1496),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1496),
    [sym__unary_expression] = STATE(1496),
    [sym_postfix_expression] = STATE(1496),
    [sym_constructor_expression] = STATE(1496),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1496),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1496),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1496),
    [sym_prefix_expression] = STATE(1496),
    [sym_as_expression] = STATE(1496),
    [sym_selector_expression] = STATE(1496),
    [sym__binary_expression] = STATE(1496),
    [sym_multiplicative_expression] = STATE(1496),
    [sym_additive_expression] = STATE(1496),
    [sym_range_expression] = STATE(1496),
    [sym_infix_expression] = STATE(1496),
    [sym_nil_coalescing_expression] = STATE(1496),
    [sym_check_expression] = STATE(1496),
    [sym_comparison_expression] = STATE(1496),
    [sym_equality_expression] = STATE(1496),
    [sym_conjunction_expression] = STATE(1496),
    [sym_disjunction_expression] = STATE(1496),
    [sym_bitwise_operation] = STATE(1496),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1496),
    [sym_await_expression] = STATE(1496),
    [sym__await_operator] = STATE(712),
    [sym_ternary_expression] = STATE(1496),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(3246),
    [sym_expr_hack_at_ternary_binary_call] = STATE(3246),
    [sym_call_expression] = STATE(1496),
    [sym_macro_invocation] = STATE(1496),
    [sym__primary_expression] = STATE(1496),
    [sym_tuple_expression] = STATE(1496),
    [sym_array_literal] = STATE(1496),
    [sym_dictionary_literal] = STATE(1496),
    [sym_special_literal] = STATE(1496),
    [sym_playground_literal] = STATE(1496),
    [sym_lambda_literal] = STATE(1496),
    [sym_self_expression] = STATE(1496),
    [sym_super_expression] = STATE(1496),
    [sym_if_statement] = STATE(1496),
    [sym_switch_statement] = STATE(1496),
    [sym_key_path_expression] = STATE(1496),
    [sym_key_path_string_expression] = STATE(1496),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1496),
    [sym__equality_operator] = STATE(1496),
    [sym__comparison_operator] = STATE(1496),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1496),
    [sym__multiplicative_operator] = STATE(1496),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym_assignment] = STATE(1496),
    [sym_value_parameter_pack] = STATE(1496),
    [sym_value_pack_expansion] = STATE(1496),
    [sym__referenceable_operator] = STATE(1496),
    [sym__equal_sign] = STATE(1496),
    [sym__eq_eq] = STATE(1496),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1496),
    [sym_diagnostic] = STATE(1496),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(1752),
    [sym_real_literal] = ACTIONS(1754),
    [sym_integer_literal] = ACTIONS(1752),
    [sym_hex_literal] = ACTIONS(1752),
    [sym_oct_literal] = ACTIONS(1754),
    [sym_bin_literal] = ACTIONS(1754),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(1752),
    [anon_sym_GT] = ACTIONS(1752),
    [anon_sym_await] = ACTIONS(1067),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1754),
    [anon_sym_DASH_EQ] = ACTIONS(1754),
    [anon_sym_STAR_EQ] = ACTIONS(1754),
    [anon_sym_SLASH_EQ] = ACTIONS(1754),
    [anon_sym_PERCENT_EQ] = ACTIONS(1754),
    [anon_sym_BANG_EQ] = ACTIONS(1752),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1754),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1754),
    [anon_sym_LT_EQ] = ACTIONS(1754),
    [anon_sym_GT_EQ] = ACTIONS(1754),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(1752),
    [anon_sym_SLASH] = ACTIONS(1752),
    [anon_sym_PERCENT] = ACTIONS(1752),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(1754),
    [anon_sym_CARET] = ACTIONS(1752),
    [anon_sym_LT_LT] = ACTIONS(1754),
    [anon_sym_GT_GT] = ACTIONS(1754),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(1754),
    [sym__eq_eq_custom] = ACTIONS(1754),
    [sym__plus_then_ws] = ACTIONS(1754),
    [sym__minus_then_ws] = ACTIONS(1754),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [420] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(783),
    [sym_boolean_literal] = STATE(783),
    [sym__string_literal] = STATE(783),
    [sym_line_string_literal] = STATE(783),
    [sym_multi_line_string_literal] = STATE(783),
    [sym_raw_string_literal] = STATE(783),
    [sym_regex_literal] = STATE(783),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(783),
    [sym__unary_expression] = STATE(783),
    [sym_postfix_expression] = STATE(783),
    [sym_constructor_expression] = STATE(783),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(783),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(783),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(783),
    [sym_prefix_expression] = STATE(783),
    [sym_as_expression] = STATE(783),
    [sym_selector_expression] = STATE(783),
    [sym__binary_expression] = STATE(783),
    [sym_multiplicative_expression] = STATE(783),
    [sym_additive_expression] = STATE(783),
    [sym_range_expression] = STATE(783),
    [sym_infix_expression] = STATE(783),
    [sym_nil_coalescing_expression] = STATE(783),
    [sym_check_expression] = STATE(783),
    [sym_comparison_expression] = STATE(783),
    [sym_equality_expression] = STATE(783),
    [sym_conjunction_expression] = STATE(783),
    [sym_disjunction_expression] = STATE(783),
    [sym_bitwise_operation] = STATE(783),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(783),
    [sym_await_expression] = STATE(783),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(783),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(1398),
    [sym_expr_hack_at_ternary_binary_call] = STATE(1398),
    [sym_call_expression] = STATE(783),
    [sym_macro_invocation] = STATE(783),
    [sym__primary_expression] = STATE(783),
    [sym_tuple_expression] = STATE(783),
    [sym_array_literal] = STATE(783),
    [sym_dictionary_literal] = STATE(783),
    [sym_special_literal] = STATE(783),
    [sym_playground_literal] = STATE(783),
    [sym_lambda_literal] = STATE(783),
    [sym_self_expression] = STATE(783),
    [sym_super_expression] = STATE(783),
    [sym_if_statement] = STATE(783),
    [sym_switch_statement] = STATE(783),
    [sym_key_path_expression] = STATE(783),
    [sym_key_path_string_expression] = STATE(783),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(783),
    [sym__equality_operator] = STATE(783),
    [sym__comparison_operator] = STATE(783),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(783),
    [sym__multiplicative_operator] = STATE(783),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_assignment] = STATE(783),
    [sym_value_parameter_pack] = STATE(783),
    [sym_value_pack_expansion] = STATE(783),
    [sym__referenceable_operator] = STATE(783),
    [sym__equal_sign] = STATE(783),
    [sym__eq_eq] = STATE(783),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(783),
    [sym_diagnostic] = STATE(783),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(289),
    [anon_sym_async] = ACTIONS(289),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(289),
    [anon_sym_repeat] = ACTIONS(733),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(1782),
    [sym_real_literal] = ACTIONS(1784),
    [sym_integer_literal] = ACTIONS(1782),
    [sym_hex_literal] = ACTIONS(1782),
    [sym_oct_literal] = ACTIONS(1784),
    [sym_bin_literal] = ACTIONS(1784),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(1782),
    [anon_sym_GT] = ACTIONS(1782),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1784),
    [anon_sym_DASH_EQ] = ACTIONS(1784),
    [anon_sym_STAR_EQ] = ACTIONS(1784),
    [anon_sym_SLASH_EQ] = ACTIONS(1784),
    [anon_sym_PERCENT_EQ] = ACTIONS(1784),
    [anon_sym_BANG_EQ] = ACTIONS(1782),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1784),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1784),
    [anon_sym_LT_EQ] = ACTIONS(1784),
    [anon_sym_GT_EQ] = ACTIONS(1784),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(1782),
    [anon_sym_SLASH] = ACTIONS(1782),
    [anon_sym_PERCENT] = ACTIONS(1782),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(1784),
    [anon_sym_CARET] = ACTIONS(1782),
    [anon_sym_LT_LT] = ACTIONS(1784),
    [anon_sym_GT_GT] = ACTIONS(1784),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(1784),
    [sym__eq_eq_custom] = ACTIONS(1784),
    [sym__plus_then_ws] = ACTIONS(1784),
    [sym__minus_then_ws] = ACTIONS(1784),
    [sym__bang_custom] = ACTIONS(373),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [421] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1496),
    [sym_boolean_literal] = STATE(1496),
    [sym__string_literal] = STATE(1496),
    [sym_line_string_literal] = STATE(1496),
    [sym_multi_line_string_literal] = STATE(1496),
    [sym_raw_string_literal] = STATE(1496),
    [sym_regex_literal] = STATE(1496),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1496),
    [sym__unary_expression] = STATE(1496),
    [sym_postfix_expression] = STATE(1496),
    [sym_constructor_expression] = STATE(1496),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1496),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1496),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1496),
    [sym_prefix_expression] = STATE(1496),
    [sym_as_expression] = STATE(1496),
    [sym_selector_expression] = STATE(1496),
    [sym__binary_expression] = STATE(1496),
    [sym_multiplicative_expression] = STATE(1496),
    [sym_additive_expression] = STATE(1496),
    [sym_range_expression] = STATE(1496),
    [sym_infix_expression] = STATE(1496),
    [sym_nil_coalescing_expression] = STATE(1496),
    [sym_check_expression] = STATE(1496),
    [sym_comparison_expression] = STATE(1496),
    [sym_equality_expression] = STATE(1496),
    [sym_conjunction_expression] = STATE(1496),
    [sym_disjunction_expression] = STATE(1496),
    [sym_bitwise_operation] = STATE(1496),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1496),
    [sym_await_expression] = STATE(1496),
    [sym__await_operator] = STATE(712),
    [sym_ternary_expression] = STATE(1496),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(3251),
    [sym_expr_hack_at_ternary_binary_call] = STATE(3251),
    [sym_call_expression] = STATE(1496),
    [sym_macro_invocation] = STATE(1496),
    [sym__primary_expression] = STATE(1496),
    [sym_tuple_expression] = STATE(1496),
    [sym_array_literal] = STATE(1496),
    [sym_dictionary_literal] = STATE(1496),
    [sym_special_literal] = STATE(1496),
    [sym_playground_literal] = STATE(1496),
    [sym_lambda_literal] = STATE(1496),
    [sym_self_expression] = STATE(1496),
    [sym_super_expression] = STATE(1496),
    [sym_if_statement] = STATE(1496),
    [sym_switch_statement] = STATE(1496),
    [sym_key_path_expression] = STATE(1496),
    [sym_key_path_string_expression] = STATE(1496),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1496),
    [sym__equality_operator] = STATE(1496),
    [sym__comparison_operator] = STATE(1496),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1496),
    [sym__multiplicative_operator] = STATE(1496),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym_assignment] = STATE(1496),
    [sym_value_parameter_pack] = STATE(1496),
    [sym_value_pack_expansion] = STATE(1496),
    [sym__referenceable_operator] = STATE(1496),
    [sym__equal_sign] = STATE(1496),
    [sym__eq_eq] = STATE(1496),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1496),
    [sym_diagnostic] = STATE(1496),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(1752),
    [sym_real_literal] = ACTIONS(1754),
    [sym_integer_literal] = ACTIONS(1752),
    [sym_hex_literal] = ACTIONS(1752),
    [sym_oct_literal] = ACTIONS(1754),
    [sym_bin_literal] = ACTIONS(1754),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(1752),
    [anon_sym_GT] = ACTIONS(1752),
    [anon_sym_await] = ACTIONS(1067),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1754),
    [anon_sym_DASH_EQ] = ACTIONS(1754),
    [anon_sym_STAR_EQ] = ACTIONS(1754),
    [anon_sym_SLASH_EQ] = ACTIONS(1754),
    [anon_sym_PERCENT_EQ] = ACTIONS(1754),
    [anon_sym_BANG_EQ] = ACTIONS(1752),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1754),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1754),
    [anon_sym_LT_EQ] = ACTIONS(1754),
    [anon_sym_GT_EQ] = ACTIONS(1754),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(1752),
    [anon_sym_SLASH] = ACTIONS(1752),
    [anon_sym_PERCENT] = ACTIONS(1752),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(1754),
    [anon_sym_CARET] = ACTIONS(1752),
    [anon_sym_LT_LT] = ACTIONS(1754),
    [anon_sym_GT_GT] = ACTIONS(1754),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(1754),
    [sym__eq_eq_custom] = ACTIONS(1754),
    [sym__plus_then_ws] = ACTIONS(1754),
    [sym__minus_then_ws] = ACTIONS(1754),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [422] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1496),
    [sym_boolean_literal] = STATE(1496),
    [sym__string_literal] = STATE(1496),
    [sym_line_string_literal] = STATE(1496),
    [sym_multi_line_string_literal] = STATE(1496),
    [sym_raw_string_literal] = STATE(1496),
    [sym_regex_literal] = STATE(1496),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1496),
    [sym__unary_expression] = STATE(1496),
    [sym_postfix_expression] = STATE(1496),
    [sym_constructor_expression] = STATE(1496),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1496),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1496),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1496),
    [sym_prefix_expression] = STATE(1496),
    [sym_as_expression] = STATE(1496),
    [sym_selector_expression] = STATE(1496),
    [sym__binary_expression] = STATE(1496),
    [sym_multiplicative_expression] = STATE(1496),
    [sym_additive_expression] = STATE(1496),
    [sym_range_expression] = STATE(1496),
    [sym_infix_expression] = STATE(1496),
    [sym_nil_coalescing_expression] = STATE(1496),
    [sym_check_expression] = STATE(1496),
    [sym_comparison_expression] = STATE(1496),
    [sym_equality_expression] = STATE(1496),
    [sym_conjunction_expression] = STATE(1496),
    [sym_disjunction_expression] = STATE(1496),
    [sym_bitwise_operation] = STATE(1496),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1496),
    [sym_await_expression] = STATE(1496),
    [sym__await_operator] = STATE(712),
    [sym_ternary_expression] = STATE(1496),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(3253),
    [sym_expr_hack_at_ternary_binary_call] = STATE(3253),
    [sym_call_expression] = STATE(1496),
    [sym_macro_invocation] = STATE(1496),
    [sym__primary_expression] = STATE(1496),
    [sym_tuple_expression] = STATE(1496),
    [sym_array_literal] = STATE(1496),
    [sym_dictionary_literal] = STATE(1496),
    [sym_special_literal] = STATE(1496),
    [sym_playground_literal] = STATE(1496),
    [sym_lambda_literal] = STATE(1496),
    [sym_self_expression] = STATE(1496),
    [sym_super_expression] = STATE(1496),
    [sym_if_statement] = STATE(1496),
    [sym_switch_statement] = STATE(1496),
    [sym_key_path_expression] = STATE(1496),
    [sym_key_path_string_expression] = STATE(1496),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1496),
    [sym__equality_operator] = STATE(1496),
    [sym__comparison_operator] = STATE(1496),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1496),
    [sym__multiplicative_operator] = STATE(1496),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym_assignment] = STATE(1496),
    [sym_value_parameter_pack] = STATE(1496),
    [sym_value_pack_expansion] = STATE(1496),
    [sym__referenceable_operator] = STATE(1496),
    [sym__equal_sign] = STATE(1496),
    [sym__eq_eq] = STATE(1496),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1496),
    [sym_diagnostic] = STATE(1496),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(1752),
    [sym_real_literal] = ACTIONS(1754),
    [sym_integer_literal] = ACTIONS(1752),
    [sym_hex_literal] = ACTIONS(1752),
    [sym_oct_literal] = ACTIONS(1754),
    [sym_bin_literal] = ACTIONS(1754),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(1752),
    [anon_sym_GT] = ACTIONS(1752),
    [anon_sym_await] = ACTIONS(1067),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1754),
    [anon_sym_DASH_EQ] = ACTIONS(1754),
    [anon_sym_STAR_EQ] = ACTIONS(1754),
    [anon_sym_SLASH_EQ] = ACTIONS(1754),
    [anon_sym_PERCENT_EQ] = ACTIONS(1754),
    [anon_sym_BANG_EQ] = ACTIONS(1752),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1754),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1754),
    [anon_sym_LT_EQ] = ACTIONS(1754),
    [anon_sym_GT_EQ] = ACTIONS(1754),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(1752),
    [anon_sym_SLASH] = ACTIONS(1752),
    [anon_sym_PERCENT] = ACTIONS(1752),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(1754),
    [anon_sym_CARET] = ACTIONS(1752),
    [anon_sym_LT_LT] = ACTIONS(1754),
    [anon_sym_GT_GT] = ACTIONS(1754),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(1754),
    [sym__eq_eq_custom] = ACTIONS(1754),
    [sym__plus_then_ws] = ACTIONS(1754),
    [sym__minus_then_ws] = ACTIONS(1754),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [423] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1496),
    [sym_boolean_literal] = STATE(1496),
    [sym__string_literal] = STATE(1496),
    [sym_line_string_literal] = STATE(1496),
    [sym_multi_line_string_literal] = STATE(1496),
    [sym_raw_string_literal] = STATE(1496),
    [sym_regex_literal] = STATE(1496),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1496),
    [sym__unary_expression] = STATE(1496),
    [sym_postfix_expression] = STATE(1496),
    [sym_constructor_expression] = STATE(1496),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1496),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1496),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1496),
    [sym_prefix_expression] = STATE(1496),
    [sym_as_expression] = STATE(1496),
    [sym_selector_expression] = STATE(1496),
    [sym__binary_expression] = STATE(1496),
    [sym_multiplicative_expression] = STATE(1496),
    [sym_additive_expression] = STATE(1496),
    [sym_range_expression] = STATE(1496),
    [sym_infix_expression] = STATE(1496),
    [sym_nil_coalescing_expression] = STATE(1496),
    [sym_check_expression] = STATE(1496),
    [sym_comparison_expression] = STATE(1496),
    [sym_equality_expression] = STATE(1496),
    [sym_conjunction_expression] = STATE(1496),
    [sym_disjunction_expression] = STATE(1496),
    [sym_bitwise_operation] = STATE(1496),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1496),
    [sym_await_expression] = STATE(1496),
    [sym__await_operator] = STATE(712),
    [sym_ternary_expression] = STATE(1496),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(3254),
    [sym_expr_hack_at_ternary_binary_call] = STATE(3254),
    [sym_call_expression] = STATE(1496),
    [sym_macro_invocation] = STATE(1496),
    [sym__primary_expression] = STATE(1496),
    [sym_tuple_expression] = STATE(1496),
    [sym_array_literal] = STATE(1496),
    [sym_dictionary_literal] = STATE(1496),
    [sym_special_literal] = STATE(1496),
    [sym_playground_literal] = STATE(1496),
    [sym_lambda_literal] = STATE(1496),
    [sym_self_expression] = STATE(1496),
    [sym_super_expression] = STATE(1496),
    [sym_if_statement] = STATE(1496),
    [sym_switch_statement] = STATE(1496),
    [sym_key_path_expression] = STATE(1496),
    [sym_key_path_string_expression] = STATE(1496),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1496),
    [sym__equality_operator] = STATE(1496),
    [sym__comparison_operator] = STATE(1496),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1496),
    [sym__multiplicative_operator] = STATE(1496),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym_assignment] = STATE(1496),
    [sym_value_parameter_pack] = STATE(1496),
    [sym_value_pack_expansion] = STATE(1496),
    [sym__referenceable_operator] = STATE(1496),
    [sym__equal_sign] = STATE(1496),
    [sym__eq_eq] = STATE(1496),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1496),
    [sym_diagnostic] = STATE(1496),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(1752),
    [sym_real_literal] = ACTIONS(1754),
    [sym_integer_literal] = ACTIONS(1752),
    [sym_hex_literal] = ACTIONS(1752),
    [sym_oct_literal] = ACTIONS(1754),
    [sym_bin_literal] = ACTIONS(1754),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(1752),
    [anon_sym_GT] = ACTIONS(1752),
    [anon_sym_await] = ACTIONS(1067),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1754),
    [anon_sym_DASH_EQ] = ACTIONS(1754),
    [anon_sym_STAR_EQ] = ACTIONS(1754),
    [anon_sym_SLASH_EQ] = ACTIONS(1754),
    [anon_sym_PERCENT_EQ] = ACTIONS(1754),
    [anon_sym_BANG_EQ] = ACTIONS(1752),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1754),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1754),
    [anon_sym_LT_EQ] = ACTIONS(1754),
    [anon_sym_GT_EQ] = ACTIONS(1754),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(1752),
    [anon_sym_SLASH] = ACTIONS(1752),
    [anon_sym_PERCENT] = ACTIONS(1752),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(1754),
    [anon_sym_CARET] = ACTIONS(1752),
    [anon_sym_LT_LT] = ACTIONS(1754),
    [anon_sym_GT_GT] = ACTIONS(1754),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(1754),
    [sym__eq_eq_custom] = ACTIONS(1754),
    [sym__plus_then_ws] = ACTIONS(1754),
    [sym__minus_then_ws] = ACTIONS(1754),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [424] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(783),
    [sym_boolean_literal] = STATE(783),
    [sym__string_literal] = STATE(783),
    [sym_line_string_literal] = STATE(783),
    [sym_multi_line_string_literal] = STATE(783),
    [sym_raw_string_literal] = STATE(783),
    [sym_regex_literal] = STATE(783),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(783),
    [sym__unary_expression] = STATE(783),
    [sym_postfix_expression] = STATE(783),
    [sym_constructor_expression] = STATE(783),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(783),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(783),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(783),
    [sym_prefix_expression] = STATE(783),
    [sym_as_expression] = STATE(783),
    [sym_selector_expression] = STATE(783),
    [sym__binary_expression] = STATE(783),
    [sym_multiplicative_expression] = STATE(783),
    [sym_additive_expression] = STATE(783),
    [sym_range_expression] = STATE(783),
    [sym_infix_expression] = STATE(783),
    [sym_nil_coalescing_expression] = STATE(783),
    [sym_check_expression] = STATE(783),
    [sym_comparison_expression] = STATE(783),
    [sym_equality_expression] = STATE(783),
    [sym_conjunction_expression] = STATE(783),
    [sym_disjunction_expression] = STATE(783),
    [sym_bitwise_operation] = STATE(783),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(783),
    [sym_await_expression] = STATE(783),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(783),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(1440),
    [sym_expr_hack_at_ternary_binary_call] = STATE(1440),
    [sym_call_expression] = STATE(783),
    [sym_macro_invocation] = STATE(783),
    [sym__primary_expression] = STATE(783),
    [sym_tuple_expression] = STATE(783),
    [sym_array_literal] = STATE(783),
    [sym_dictionary_literal] = STATE(783),
    [sym_special_literal] = STATE(783),
    [sym_playground_literal] = STATE(783),
    [sym_lambda_literal] = STATE(783),
    [sym_self_expression] = STATE(783),
    [sym_super_expression] = STATE(783),
    [sym_if_statement] = STATE(783),
    [sym_switch_statement] = STATE(783),
    [sym_key_path_expression] = STATE(783),
    [sym_key_path_string_expression] = STATE(783),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(783),
    [sym__equality_operator] = STATE(783),
    [sym__comparison_operator] = STATE(783),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(783),
    [sym__multiplicative_operator] = STATE(783),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_assignment] = STATE(783),
    [sym_value_parameter_pack] = STATE(783),
    [sym_value_pack_expansion] = STATE(783),
    [sym__referenceable_operator] = STATE(783),
    [sym__equal_sign] = STATE(783),
    [sym__eq_eq] = STATE(783),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(783),
    [sym_diagnostic] = STATE(783),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(289),
    [anon_sym_async] = ACTIONS(289),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(289),
    [anon_sym_repeat] = ACTIONS(733),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(1782),
    [sym_real_literal] = ACTIONS(1784),
    [sym_integer_literal] = ACTIONS(1782),
    [sym_hex_literal] = ACTIONS(1782),
    [sym_oct_literal] = ACTIONS(1784),
    [sym_bin_literal] = ACTIONS(1784),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(1782),
    [anon_sym_GT] = ACTIONS(1782),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1784),
    [anon_sym_DASH_EQ] = ACTIONS(1784),
    [anon_sym_STAR_EQ] = ACTIONS(1784),
    [anon_sym_SLASH_EQ] = ACTIONS(1784),
    [anon_sym_PERCENT_EQ] = ACTIONS(1784),
    [anon_sym_BANG_EQ] = ACTIONS(1782),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1784),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1784),
    [anon_sym_LT_EQ] = ACTIONS(1784),
    [anon_sym_GT_EQ] = ACTIONS(1784),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(1782),
    [anon_sym_SLASH] = ACTIONS(1782),
    [anon_sym_PERCENT] = ACTIONS(1782),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(1784),
    [anon_sym_CARET] = ACTIONS(1782),
    [anon_sym_LT_LT] = ACTIONS(1784),
    [anon_sym_GT_GT] = ACTIONS(1784),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(1784),
    [sym__eq_eq_custom] = ACTIONS(1784),
    [sym__plus_then_ws] = ACTIONS(1784),
    [sym__minus_then_ws] = ACTIONS(1784),
    [sym__bang_custom] = ACTIONS(373),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [425] = {
    [sym_simple_identifier] = STATE(1217),
    [sym__contextual_simple_identifier] = STATE(1147),
    [sym__basic_literal] = STATE(774),
    [sym_boolean_literal] = STATE(774),
    [sym__string_literal] = STATE(774),
    [sym_line_string_literal] = STATE(774),
    [sym_multi_line_string_literal] = STATE(774),
    [sym_raw_string_literal] = STATE(774),
    [sym_regex_literal] = STATE(774),
    [sym__extended_regex_literal] = STATE(1286),
    [sym__multiline_regex_literal] = STATE(1286),
    [sym_user_type] = STATE(6397),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6397),
    [sym_dictionary_type] = STATE(6397),
    [sym__expression] = STATE(774),
    [sym__unary_expression] = STATE(774),
    [sym_postfix_expression] = STATE(774),
    [sym_constructor_expression] = STATE(774),
    [sym__parenthesized_type] = STATE(7511),
    [sym_navigation_expression] = STATE(774),
    [sym__navigable_type_expression] = STATE(7510),
    [sym_open_start_range_expression] = STATE(774),
    [sym__range_operator] = STATE(695),
    [sym_open_end_range_expression] = STATE(774),
    [sym_prefix_expression] = STATE(774),
    [sym_as_expression] = STATE(774),
    [sym_selector_expression] = STATE(774),
    [sym__binary_expression] = STATE(774),
    [sym_multiplicative_expression] = STATE(774),
    [sym_additive_expression] = STATE(774),
    [sym_range_expression] = STATE(774),
    [sym_infix_expression] = STATE(774),
    [sym_nil_coalescing_expression] = STATE(774),
    [sym_check_expression] = STATE(774),
    [sym_comparison_expression] = STATE(774),
    [sym_equality_expression] = STATE(774),
    [sym_conjunction_expression] = STATE(774),
    [sym_disjunction_expression] = STATE(774),
    [sym_bitwise_operation] = STATE(774),
    [sym_custom_operator] = STATE(759),
    [sym_try_expression] = STATE(774),
    [sym_await_expression] = STATE(774),
    [sym__await_operator] = STATE(644),
    [sym_ternary_expression] = STATE(774),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(1242),
    [sym_expr_hack_at_ternary_binary_call] = STATE(1242),
    [sym_call_expression] = STATE(774),
    [sym_macro_invocation] = STATE(774),
    [sym__primary_expression] = STATE(774),
    [sym_tuple_expression] = STATE(774),
    [sym_array_literal] = STATE(774),
    [sym_dictionary_literal] = STATE(774),
    [sym_special_literal] = STATE(774),
    [sym_playground_literal] = STATE(774),
    [sym_lambda_literal] = STATE(774),
    [sym_self_expression] = STATE(774),
    [sym_super_expression] = STATE(774),
    [sym_if_statement] = STATE(774),
    [sym_switch_statement] = STATE(774),
    [sym_key_path_expression] = STATE(774),
    [sym_key_path_string_expression] = STATE(774),
    [sym_try_operator] = STATE(645),
    [sym__assignment_and_operator] = STATE(774),
    [sym__equality_operator] = STATE(774),
    [sym__comparison_operator] = STATE(774),
    [sym__three_dot_operator] = STATE(761),
    [sym__open_ended_range_operator] = STATE(695),
    [sym__additive_operator] = STATE(774),
    [sym__multiplicative_operator] = STATE(774),
    [sym__prefix_unary_operator] = STATE(659),
    [sym_directly_assignable_expression] = STATE(6398),
    [sym_assignment] = STATE(774),
    [sym_value_parameter_pack] = STATE(774),
    [sym_value_pack_expansion] = STATE(774),
    [sym__referenceable_operator] = STATE(774),
    [sym__equal_sign] = STATE(774),
    [sym__eq_eq] = STATE(774),
    [sym__dot] = STATE(659),
    [sym__hash_symbol] = STATE(4848),
    [sym_bang] = STATE(759),
    [sym__parameter_ownership_modifier] = STATE(1147),
    [sym_directive] = STATE(774),
    [sym_diagnostic] = STATE(774),
    [aux_sym_raw_string_literal_repeat1] = STATE(7499),
    [anon_sym_BANG] = ACTIONS(659),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(661),
    [aux_sym_simple_identifier_token2] = ACTIONS(663),
    [aux_sym_simple_identifier_token3] = ACTIONS(663),
    [aux_sym_simple_identifier_token4] = ACTIONS(663),
    [anon_sym_actor] = ACTIONS(661),
    [anon_sym_async] = ACTIONS(661),
    [anon_sym_each] = ACTIONS(665),
    [anon_sym_lazy] = ACTIONS(661),
    [anon_sym_repeat] = ACTIONS(667),
    [anon_sym_package] = ACTIONS(661),
    [anon_sym_nil] = ACTIONS(1778),
    [sym_real_literal] = ACTIONS(1780),
    [sym_integer_literal] = ACTIONS(1778),
    [sym_hex_literal] = ACTIONS(1778),
    [sym_oct_literal] = ACTIONS(1780),
    [sym_bin_literal] = ACTIONS(1780),
    [anon_sym_true] = ACTIONS(673),
    [anon_sym_false] = ACTIONS(673),
    [anon_sym_DQUOTE] = ACTIONS(675),
    [anon_sym_BSLASH] = ACTIONS(677),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(679),
    [sym__oneline_regex_literal] = ACTIONS(681),
    [anon_sym_LPAREN] = ACTIONS(683),
    [anon_sym_LBRACK] = ACTIONS(685),
    [anon_sym_AMP] = ACTIONS(687),
    [anon_sym_TILDE] = ACTIONS(687),
    [anon_sym_if] = ACTIONS(689),
    [anon_sym_switch] = ACTIONS(691),
    [aux_sym_custom_operator_token1] = ACTIONS(693),
    [anon_sym_LT] = ACTIONS(1778),
    [anon_sym_GT] = ACTIONS(1778),
    [anon_sym_await] = ACTIONS(695),
    [anon_sym_LBRACE] = ACTIONS(697),
    [anon_sym_CARET_LBRACE] = ACTIONS(697),
    [anon_sym_self] = ACTIONS(699),
    [anon_sym_super] = ACTIONS(701),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1780),
    [anon_sym_DASH_EQ] = ACTIONS(1780),
    [anon_sym_STAR_EQ] = ACTIONS(1780),
    [anon_sym_SLASH_EQ] = ACTIONS(1780),
    [anon_sym_PERCENT_EQ] = ACTIONS(1780),
    [anon_sym_BANG_EQ] = ACTIONS(1778),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1780),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1780),
    [anon_sym_LT_EQ] = ACTIONS(1780),
    [anon_sym_GT_EQ] = ACTIONS(1780),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(703),
    [anon_sym_DOT_DOT_LT] = ACTIONS(705),
    [anon_sym_PLUS] = ACTIONS(707),
    [anon_sym_DASH] = ACTIONS(707),
    [anon_sym_STAR] = ACTIONS(1778),
    [anon_sym_SLASH] = ACTIONS(1778),
    [anon_sym_PERCENT] = ACTIONS(1778),
    [anon_sym_PLUS_PLUS] = ACTIONS(687),
    [anon_sym_DASH_DASH] = ACTIONS(687),
    [anon_sym_PIPE] = ACTIONS(1780),
    [anon_sym_CARET] = ACTIONS(1778),
    [anon_sym_LT_LT] = ACTIONS(1780),
    [anon_sym_GT_GT] = ACTIONS(1780),
    [anon_sym_borrowing] = ACTIONS(661),
    [anon_sym_consuming] = ACTIONS(661),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(709),
    [sym__dot_custom] = ACTIONS(711),
    [sym__eq_custom] = ACTIONS(1780),
    [sym__eq_eq_custom] = ACTIONS(1780),
    [sym__plus_then_ws] = ACTIONS(1780),
    [sym__minus_then_ws] = ACTIONS(1780),
    [sym__bang_custom] = ACTIONS(713),
    [sym__custom_operator] = ACTIONS(693),
    [sym__hash_symbol_custom] = ACTIONS(715),
    [sym__directive_if] = ACTIONS(717),
    [sym__directive_elseif] = ACTIONS(717),
    [sym__directive_else] = ACTIONS(719),
    [sym__directive_endif] = ACTIONS(719),
  },
  [426] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(783),
    [sym_boolean_literal] = STATE(783),
    [sym__string_literal] = STATE(783),
    [sym_line_string_literal] = STATE(783),
    [sym_multi_line_string_literal] = STATE(783),
    [sym_raw_string_literal] = STATE(783),
    [sym_regex_literal] = STATE(783),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(783),
    [sym__unary_expression] = STATE(783),
    [sym_postfix_expression] = STATE(783),
    [sym_constructor_expression] = STATE(783),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(783),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(783),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(783),
    [sym_prefix_expression] = STATE(783),
    [sym_as_expression] = STATE(783),
    [sym_selector_expression] = STATE(783),
    [sym__binary_expression] = STATE(783),
    [sym_multiplicative_expression] = STATE(783),
    [sym_additive_expression] = STATE(783),
    [sym_range_expression] = STATE(783),
    [sym_infix_expression] = STATE(783),
    [sym_nil_coalescing_expression] = STATE(783),
    [sym_check_expression] = STATE(783),
    [sym_comparison_expression] = STATE(783),
    [sym_equality_expression] = STATE(783),
    [sym_conjunction_expression] = STATE(783),
    [sym_disjunction_expression] = STATE(783),
    [sym_bitwise_operation] = STATE(783),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(783),
    [sym_await_expression] = STATE(783),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(783),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(1431),
    [sym_expr_hack_at_ternary_binary_call] = STATE(1431),
    [sym_call_expression] = STATE(783),
    [sym_macro_invocation] = STATE(783),
    [sym__primary_expression] = STATE(783),
    [sym_tuple_expression] = STATE(783),
    [sym_array_literal] = STATE(783),
    [sym_dictionary_literal] = STATE(783),
    [sym_special_literal] = STATE(783),
    [sym_playground_literal] = STATE(783),
    [sym_lambda_literal] = STATE(783),
    [sym_self_expression] = STATE(783),
    [sym_super_expression] = STATE(783),
    [sym_if_statement] = STATE(783),
    [sym_switch_statement] = STATE(783),
    [sym_key_path_expression] = STATE(783),
    [sym_key_path_string_expression] = STATE(783),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(783),
    [sym__equality_operator] = STATE(783),
    [sym__comparison_operator] = STATE(783),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(783),
    [sym__multiplicative_operator] = STATE(783),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_assignment] = STATE(783),
    [sym_value_parameter_pack] = STATE(783),
    [sym_value_pack_expansion] = STATE(783),
    [sym__referenceable_operator] = STATE(783),
    [sym__equal_sign] = STATE(783),
    [sym__eq_eq] = STATE(783),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(783),
    [sym_diagnostic] = STATE(783),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(289),
    [anon_sym_async] = ACTIONS(289),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(289),
    [anon_sym_repeat] = ACTIONS(733),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(1782),
    [sym_real_literal] = ACTIONS(1784),
    [sym_integer_literal] = ACTIONS(1782),
    [sym_hex_literal] = ACTIONS(1782),
    [sym_oct_literal] = ACTIONS(1784),
    [sym_bin_literal] = ACTIONS(1784),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(1782),
    [anon_sym_GT] = ACTIONS(1782),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1784),
    [anon_sym_DASH_EQ] = ACTIONS(1784),
    [anon_sym_STAR_EQ] = ACTIONS(1784),
    [anon_sym_SLASH_EQ] = ACTIONS(1784),
    [anon_sym_PERCENT_EQ] = ACTIONS(1784),
    [anon_sym_BANG_EQ] = ACTIONS(1782),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1784),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1784),
    [anon_sym_LT_EQ] = ACTIONS(1784),
    [anon_sym_GT_EQ] = ACTIONS(1784),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(1782),
    [anon_sym_SLASH] = ACTIONS(1782),
    [anon_sym_PERCENT] = ACTIONS(1782),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(1784),
    [anon_sym_CARET] = ACTIONS(1782),
    [anon_sym_LT_LT] = ACTIONS(1784),
    [anon_sym_GT_GT] = ACTIONS(1784),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(1784),
    [sym__eq_eq_custom] = ACTIONS(1784),
    [sym__plus_then_ws] = ACTIONS(1784),
    [sym__minus_then_ws] = ACTIONS(1784),
    [sym__bang_custom] = ACTIONS(373),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [427] = {
    [sym_simple_identifier] = STATE(1217),
    [sym__contextual_simple_identifier] = STATE(1147),
    [sym__basic_literal] = STATE(774),
    [sym_boolean_literal] = STATE(774),
    [sym__string_literal] = STATE(774),
    [sym_line_string_literal] = STATE(774),
    [sym_multi_line_string_literal] = STATE(774),
    [sym_raw_string_literal] = STATE(774),
    [sym_regex_literal] = STATE(774),
    [sym__extended_regex_literal] = STATE(1286),
    [sym__multiline_regex_literal] = STATE(1286),
    [sym_user_type] = STATE(6397),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6397),
    [sym_dictionary_type] = STATE(6397),
    [sym__expression] = STATE(774),
    [sym__unary_expression] = STATE(774),
    [sym_postfix_expression] = STATE(774),
    [sym_constructor_expression] = STATE(774),
    [sym__parenthesized_type] = STATE(7511),
    [sym_navigation_expression] = STATE(774),
    [sym__navigable_type_expression] = STATE(7510),
    [sym_open_start_range_expression] = STATE(774),
    [sym__range_operator] = STATE(695),
    [sym_open_end_range_expression] = STATE(774),
    [sym_prefix_expression] = STATE(774),
    [sym_as_expression] = STATE(774),
    [sym_selector_expression] = STATE(774),
    [sym__binary_expression] = STATE(774),
    [sym_multiplicative_expression] = STATE(774),
    [sym_additive_expression] = STATE(774),
    [sym_range_expression] = STATE(774),
    [sym_infix_expression] = STATE(774),
    [sym_nil_coalescing_expression] = STATE(774),
    [sym_check_expression] = STATE(774),
    [sym_comparison_expression] = STATE(774),
    [sym_equality_expression] = STATE(774),
    [sym_conjunction_expression] = STATE(774),
    [sym_disjunction_expression] = STATE(774),
    [sym_bitwise_operation] = STATE(774),
    [sym_custom_operator] = STATE(759),
    [sym_try_expression] = STATE(774),
    [sym_await_expression] = STATE(774),
    [sym__await_operator] = STATE(644),
    [sym_ternary_expression] = STATE(774),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(1241),
    [sym_expr_hack_at_ternary_binary_call] = STATE(1241),
    [sym_call_expression] = STATE(774),
    [sym_macro_invocation] = STATE(774),
    [sym__primary_expression] = STATE(774),
    [sym_tuple_expression] = STATE(774),
    [sym_array_literal] = STATE(774),
    [sym_dictionary_literal] = STATE(774),
    [sym_special_literal] = STATE(774),
    [sym_playground_literal] = STATE(774),
    [sym_lambda_literal] = STATE(774),
    [sym_self_expression] = STATE(774),
    [sym_super_expression] = STATE(774),
    [sym_if_statement] = STATE(774),
    [sym_switch_statement] = STATE(774),
    [sym_key_path_expression] = STATE(774),
    [sym_key_path_string_expression] = STATE(774),
    [sym_try_operator] = STATE(645),
    [sym__assignment_and_operator] = STATE(774),
    [sym__equality_operator] = STATE(774),
    [sym__comparison_operator] = STATE(774),
    [sym__three_dot_operator] = STATE(761),
    [sym__open_ended_range_operator] = STATE(695),
    [sym__additive_operator] = STATE(774),
    [sym__multiplicative_operator] = STATE(774),
    [sym__prefix_unary_operator] = STATE(659),
    [sym_directly_assignable_expression] = STATE(6398),
    [sym_assignment] = STATE(774),
    [sym_value_parameter_pack] = STATE(774),
    [sym_value_pack_expansion] = STATE(774),
    [sym__referenceable_operator] = STATE(774),
    [sym__equal_sign] = STATE(774),
    [sym__eq_eq] = STATE(774),
    [sym__dot] = STATE(659),
    [sym__hash_symbol] = STATE(4848),
    [sym_bang] = STATE(759),
    [sym__parameter_ownership_modifier] = STATE(1147),
    [sym_directive] = STATE(774),
    [sym_diagnostic] = STATE(774),
    [aux_sym_raw_string_literal_repeat1] = STATE(7499),
    [anon_sym_BANG] = ACTIONS(659),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(661),
    [aux_sym_simple_identifier_token2] = ACTIONS(663),
    [aux_sym_simple_identifier_token3] = ACTIONS(663),
    [aux_sym_simple_identifier_token4] = ACTIONS(663),
    [anon_sym_actor] = ACTIONS(661),
    [anon_sym_async] = ACTIONS(661),
    [anon_sym_each] = ACTIONS(665),
    [anon_sym_lazy] = ACTIONS(661),
    [anon_sym_repeat] = ACTIONS(667),
    [anon_sym_package] = ACTIONS(661),
    [anon_sym_nil] = ACTIONS(1778),
    [sym_real_literal] = ACTIONS(1780),
    [sym_integer_literal] = ACTIONS(1778),
    [sym_hex_literal] = ACTIONS(1778),
    [sym_oct_literal] = ACTIONS(1780),
    [sym_bin_literal] = ACTIONS(1780),
    [anon_sym_true] = ACTIONS(673),
    [anon_sym_false] = ACTIONS(673),
    [anon_sym_DQUOTE] = ACTIONS(675),
    [anon_sym_BSLASH] = ACTIONS(677),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(679),
    [sym__oneline_regex_literal] = ACTIONS(681),
    [anon_sym_LPAREN] = ACTIONS(683),
    [anon_sym_LBRACK] = ACTIONS(685),
    [anon_sym_AMP] = ACTIONS(687),
    [anon_sym_TILDE] = ACTIONS(687),
    [anon_sym_if] = ACTIONS(689),
    [anon_sym_switch] = ACTIONS(691),
    [aux_sym_custom_operator_token1] = ACTIONS(693),
    [anon_sym_LT] = ACTIONS(1778),
    [anon_sym_GT] = ACTIONS(1778),
    [anon_sym_await] = ACTIONS(695),
    [anon_sym_LBRACE] = ACTIONS(697),
    [anon_sym_CARET_LBRACE] = ACTIONS(697),
    [anon_sym_self] = ACTIONS(699),
    [anon_sym_super] = ACTIONS(701),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1780),
    [anon_sym_DASH_EQ] = ACTIONS(1780),
    [anon_sym_STAR_EQ] = ACTIONS(1780),
    [anon_sym_SLASH_EQ] = ACTIONS(1780),
    [anon_sym_PERCENT_EQ] = ACTIONS(1780),
    [anon_sym_BANG_EQ] = ACTIONS(1778),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1780),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1780),
    [anon_sym_LT_EQ] = ACTIONS(1780),
    [anon_sym_GT_EQ] = ACTIONS(1780),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(703),
    [anon_sym_DOT_DOT_LT] = ACTIONS(705),
    [anon_sym_PLUS] = ACTIONS(707),
    [anon_sym_DASH] = ACTIONS(707),
    [anon_sym_STAR] = ACTIONS(1778),
    [anon_sym_SLASH] = ACTIONS(1778),
    [anon_sym_PERCENT] = ACTIONS(1778),
    [anon_sym_PLUS_PLUS] = ACTIONS(687),
    [anon_sym_DASH_DASH] = ACTIONS(687),
    [anon_sym_PIPE] = ACTIONS(1780),
    [anon_sym_CARET] = ACTIONS(1778),
    [anon_sym_LT_LT] = ACTIONS(1780),
    [anon_sym_GT_GT] = ACTIONS(1780),
    [anon_sym_borrowing] = ACTIONS(661),
    [anon_sym_consuming] = ACTIONS(661),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(709),
    [sym__dot_custom] = ACTIONS(711),
    [sym__eq_custom] = ACTIONS(1780),
    [sym__eq_eq_custom] = ACTIONS(1780),
    [sym__plus_then_ws] = ACTIONS(1780),
    [sym__minus_then_ws] = ACTIONS(1780),
    [sym__bang_custom] = ACTIONS(713),
    [sym__custom_operator] = ACTIONS(693),
    [sym__hash_symbol_custom] = ACTIONS(715),
    [sym__directive_if] = ACTIONS(717),
    [sym__directive_elseif] = ACTIONS(717),
    [sym__directive_else] = ACTIONS(719),
    [sym__directive_endif] = ACTIONS(719),
  },
  [428] = {
    [sym_simple_identifier] = STATE(3023),
    [sym__contextual_simple_identifier] = STATE(2652),
    [sym__basic_literal] = STATE(1489),
    [sym_boolean_literal] = STATE(1489),
    [sym__string_literal] = STATE(1489),
    [sym_line_string_literal] = STATE(1489),
    [sym_multi_line_string_literal] = STATE(1489),
    [sym_raw_string_literal] = STATE(1489),
    [sym_regex_literal] = STATE(1489),
    [sym__extended_regex_literal] = STATE(3428),
    [sym__multiline_regex_literal] = STATE(3428),
    [sym_user_type] = STATE(6368),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6368),
    [sym_dictionary_type] = STATE(6368),
    [sym__expression] = STATE(1489),
    [sym__unary_expression] = STATE(1489),
    [sym_postfix_expression] = STATE(1489),
    [sym_constructor_expression] = STATE(1489),
    [sym__parenthesized_type] = STATE(8119),
    [sym_navigation_expression] = STATE(1489),
    [sym__navigable_type_expression] = STATE(8122),
    [sym_open_start_range_expression] = STATE(1489),
    [sym__range_operator] = STATE(604),
    [sym_open_end_range_expression] = STATE(1489),
    [sym_prefix_expression] = STATE(1489),
    [sym_as_expression] = STATE(1489),
    [sym_selector_expression] = STATE(1489),
    [sym__binary_expression] = STATE(1489),
    [sym_multiplicative_expression] = STATE(1489),
    [sym_additive_expression] = STATE(1489),
    [sym_range_expression] = STATE(1489),
    [sym_infix_expression] = STATE(1489),
    [sym_nil_coalescing_expression] = STATE(1489),
    [sym_check_expression] = STATE(1489),
    [sym_comparison_expression] = STATE(1489),
    [sym_equality_expression] = STATE(1489),
    [sym_conjunction_expression] = STATE(1489),
    [sym_disjunction_expression] = STATE(1489),
    [sym_bitwise_operation] = STATE(1489),
    [sym_custom_operator] = STATE(1207),
    [sym_try_expression] = STATE(1489),
    [sym_await_expression] = STATE(1489),
    [sym__await_operator] = STATE(605),
    [sym_ternary_expression] = STATE(1489),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(3566),
    [sym_expr_hack_at_ternary_binary_call] = STATE(3566),
    [sym_call_expression] = STATE(1489),
    [sym_macro_invocation] = STATE(1489),
    [sym__primary_expression] = STATE(1489),
    [sym_tuple_expression] = STATE(1489),
    [sym_array_literal] = STATE(1489),
    [sym_dictionary_literal] = STATE(1489),
    [sym_special_literal] = STATE(1489),
    [sym_playground_literal] = STATE(1489),
    [sym_lambda_literal] = STATE(1489),
    [sym_self_expression] = STATE(1489),
    [sym_super_expression] = STATE(1489),
    [sym_if_statement] = STATE(1489),
    [sym_switch_statement] = STATE(1489),
    [sym_key_path_expression] = STATE(1489),
    [sym_key_path_string_expression] = STATE(1489),
    [sym_try_operator] = STATE(606),
    [sym__assignment_and_operator] = STATE(1489),
    [sym__equality_operator] = STATE(1489),
    [sym__comparison_operator] = STATE(1489),
    [sym__three_dot_operator] = STATE(1208),
    [sym__open_ended_range_operator] = STATE(604),
    [sym__additive_operator] = STATE(1489),
    [sym__multiplicative_operator] = STATE(1489),
    [sym__prefix_unary_operator] = STATE(616),
    [sym_directly_assignable_expression] = STATE(6371),
    [sym_assignment] = STATE(1489),
    [sym_value_parameter_pack] = STATE(1489),
    [sym_value_pack_expansion] = STATE(1489),
    [sym__referenceable_operator] = STATE(1489),
    [sym__equal_sign] = STATE(1489),
    [sym__eq_eq] = STATE(1489),
    [sym__dot] = STATE(616),
    [sym__hash_symbol] = STATE(4844),
    [sym_bang] = STATE(1207),
    [sym__parameter_ownership_modifier] = STATE(2652),
    [sym_directive] = STATE(1489),
    [sym_diagnostic] = STATE(1489),
    [aux_sym_raw_string_literal_repeat1] = STATE(8127),
    [anon_sym_BANG] = ACTIONS(1195),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1197),
    [aux_sym_simple_identifier_token2] = ACTIONS(1199),
    [aux_sym_simple_identifier_token3] = ACTIONS(1199),
    [aux_sym_simple_identifier_token4] = ACTIONS(1199),
    [anon_sym_actor] = ACTIONS(1197),
    [anon_sym_async] = ACTIONS(1197),
    [anon_sym_each] = ACTIONS(1201),
    [anon_sym_lazy] = ACTIONS(1197),
    [anon_sym_repeat] = ACTIONS(1203),
    [anon_sym_package] = ACTIONS(1197),
    [anon_sym_nil] = ACTIONS(1760),
    [sym_real_literal] = ACTIONS(1762),
    [sym_integer_literal] = ACTIONS(1760),
    [sym_hex_literal] = ACTIONS(1760),
    [sym_oct_literal] = ACTIONS(1762),
    [sym_bin_literal] = ACTIONS(1762),
    [anon_sym_true] = ACTIONS(1209),
    [anon_sym_false] = ACTIONS(1209),
    [anon_sym_DQUOTE] = ACTIONS(1211),
    [anon_sym_BSLASH] = ACTIONS(1213),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1215),
    [sym__oneline_regex_literal] = ACTIONS(1217),
    [anon_sym_LPAREN] = ACTIONS(1219),
    [anon_sym_LBRACK] = ACTIONS(1221),
    [anon_sym_AMP] = ACTIONS(1223),
    [anon_sym_TILDE] = ACTIONS(1223),
    [anon_sym_if] = ACTIONS(1225),
    [anon_sym_switch] = ACTIONS(1227),
    [aux_sym_custom_operator_token1] = ACTIONS(1229),
    [anon_sym_LT] = ACTIONS(1760),
    [anon_sym_GT] = ACTIONS(1760),
    [anon_sym_await] = ACTIONS(1231),
    [anon_sym_LBRACE] = ACTIONS(1233),
    [anon_sym_CARET_LBRACE] = ACTIONS(1233),
    [anon_sym_self] = ACTIONS(1235),
    [anon_sym_super] = ACTIONS(1237),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1762),
    [anon_sym_DASH_EQ] = ACTIONS(1762),
    [anon_sym_STAR_EQ] = ACTIONS(1762),
    [anon_sym_SLASH_EQ] = ACTIONS(1762),
    [anon_sym_PERCENT_EQ] = ACTIONS(1762),
    [anon_sym_BANG_EQ] = ACTIONS(1760),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1762),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1762),
    [anon_sym_LT_EQ] = ACTIONS(1762),
    [anon_sym_GT_EQ] = ACTIONS(1762),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1241),
    [anon_sym_PLUS] = ACTIONS(1243),
    [anon_sym_DASH] = ACTIONS(1243),
    [anon_sym_STAR] = ACTIONS(1760),
    [anon_sym_SLASH] = ACTIONS(1760),
    [anon_sym_PERCENT] = ACTIONS(1760),
    [anon_sym_PLUS_PLUS] = ACTIONS(1223),
    [anon_sym_DASH_DASH] = ACTIONS(1223),
    [anon_sym_PIPE] = ACTIONS(1762),
    [anon_sym_CARET] = ACTIONS(1760),
    [anon_sym_LT_LT] = ACTIONS(1762),
    [anon_sym_GT_GT] = ACTIONS(1762),
    [anon_sym_borrowing] = ACTIONS(1197),
    [anon_sym_consuming] = ACTIONS(1197),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1245),
    [sym__dot_custom] = ACTIONS(1247),
    [sym__eq_custom] = ACTIONS(1762),
    [sym__eq_eq_custom] = ACTIONS(1762),
    [sym__plus_then_ws] = ACTIONS(1762),
    [sym__minus_then_ws] = ACTIONS(1762),
    [sym__bang_custom] = ACTIONS(1249),
    [sym__custom_operator] = ACTIONS(1229),
    [sym__hash_symbol_custom] = ACTIONS(1251),
    [sym__directive_if] = ACTIONS(1253),
    [sym__directive_elseif] = ACTIONS(1253),
    [sym__directive_else] = ACTIONS(1255),
    [sym__directive_endif] = ACTIONS(1255),
  },
  [429] = {
    [sym_simple_identifier] = STATE(2783),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1561),
    [sym_boolean_literal] = STATE(1561),
    [sym__string_literal] = STATE(1561),
    [sym_line_string_literal] = STATE(1561),
    [sym_multi_line_string_literal] = STATE(1561),
    [sym_raw_string_literal] = STATE(1561),
    [sym_regex_literal] = STATE(1561),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1561),
    [sym__unary_expression] = STATE(1561),
    [sym_postfix_expression] = STATE(1561),
    [sym_constructor_expression] = STATE(1561),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1561),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1561),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1561),
    [sym_prefix_expression] = STATE(1561),
    [sym_as_expression] = STATE(1561),
    [sym_selector_expression] = STATE(1561),
    [sym__binary_expression] = STATE(1561),
    [sym_multiplicative_expression] = STATE(1561),
    [sym_additive_expression] = STATE(1561),
    [sym_range_expression] = STATE(1561),
    [sym_infix_expression] = STATE(1561),
    [sym_nil_coalescing_expression] = STATE(1561),
    [sym_check_expression] = STATE(1561),
    [sym_comparison_expression] = STATE(1561),
    [sym_equality_expression] = STATE(1561),
    [sym_conjunction_expression] = STATE(1561),
    [sym_disjunction_expression] = STATE(1561),
    [sym_bitwise_operation] = STATE(1561),
    [sym_custom_operator] = STATE(1169),
    [sym_value_argument_label] = STATE(8749),
    [sym_try_expression] = STATE(1561),
    [sym_await_expression] = STATE(1561),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1561),
    [sym_call_expression] = STATE(1561),
    [sym_macro_invocation] = STATE(1561),
    [sym__primary_expression] = STATE(1561),
    [sym_tuple_expression] = STATE(1561),
    [sym_array_literal] = STATE(1561),
    [sym_dictionary_literal] = STATE(1561),
    [sym_special_literal] = STATE(1561),
    [sym_playground_literal] = STATE(1561),
    [sym_lambda_literal] = STATE(1561),
    [sym_self_expression] = STATE(1561),
    [sym_super_expression] = STATE(1561),
    [sym_if_statement] = STATE(1561),
    [sym_switch_statement] = STATE(1561),
    [sym_key_path_expression] = STATE(1561),
    [sym_key_path_string_expression] = STATE(1561),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1561),
    [sym__equality_operator] = STATE(1561),
    [sym__comparison_operator] = STATE(1561),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1561),
    [sym__multiplicative_operator] = STATE(1561),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1561),
    [sym_value_parameter_pack] = STATE(1561),
    [sym_value_pack_expansion] = STATE(1561),
    [sym__referenceable_operator] = STATE(1561),
    [sym__equal_sign] = STATE(1561),
    [sym__eq_eq] = STATE(1561),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1561),
    [sym_diagnostic] = STATE(1561),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [aux_sym_value_argument_repeat1] = STATE(4985),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1786),
    [sym_real_literal] = ACTIONS(1788),
    [sym_integer_literal] = ACTIONS(1786),
    [sym_hex_literal] = ACTIONS(1786),
    [sym_oct_literal] = ACTIONS(1788),
    [sym_bin_literal] = ACTIONS(1788),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(1383),
    [anon_sym_switch] = ACTIONS(1385),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1786),
    [anon_sym_GT] = ACTIONS(1786),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1788),
    [anon_sym_DASH_EQ] = ACTIONS(1788),
    [anon_sym_STAR_EQ] = ACTIONS(1788),
    [anon_sym_SLASH_EQ] = ACTIONS(1788),
    [anon_sym_PERCENT_EQ] = ACTIONS(1788),
    [anon_sym_BANG_EQ] = ACTIONS(1786),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1788),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1788),
    [anon_sym_LT_EQ] = ACTIONS(1788),
    [anon_sym_GT_EQ] = ACTIONS(1788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1786),
    [anon_sym_SLASH] = ACTIONS(1786),
    [anon_sym_PERCENT] = ACTIONS(1786),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1788),
    [anon_sym_CARET] = ACTIONS(1786),
    [anon_sym_LT_LT] = ACTIONS(1788),
    [anon_sym_GT_GT] = ACTIONS(1788),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1788),
    [sym__eq_eq_custom] = ACTIONS(1788),
    [sym__plus_then_ws] = ACTIONS(1788),
    [sym__minus_then_ws] = ACTIONS(1788),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [430] = {
    [sym_simple_identifier] = STATE(3023),
    [sym__contextual_simple_identifier] = STATE(2652),
    [sym__basic_literal] = STATE(1489),
    [sym_boolean_literal] = STATE(1489),
    [sym__string_literal] = STATE(1489),
    [sym_line_string_literal] = STATE(1489),
    [sym_multi_line_string_literal] = STATE(1489),
    [sym_raw_string_literal] = STATE(1489),
    [sym_regex_literal] = STATE(1489),
    [sym__extended_regex_literal] = STATE(3428),
    [sym__multiline_regex_literal] = STATE(3428),
    [sym_user_type] = STATE(6368),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6368),
    [sym_dictionary_type] = STATE(6368),
    [sym__expression] = STATE(1489),
    [sym__unary_expression] = STATE(1489),
    [sym_postfix_expression] = STATE(1489),
    [sym_constructor_expression] = STATE(1489),
    [sym__parenthesized_type] = STATE(8119),
    [sym_navigation_expression] = STATE(1489),
    [sym__navigable_type_expression] = STATE(8122),
    [sym_open_start_range_expression] = STATE(1489),
    [sym__range_operator] = STATE(604),
    [sym_open_end_range_expression] = STATE(1489),
    [sym_prefix_expression] = STATE(1489),
    [sym_as_expression] = STATE(1489),
    [sym_selector_expression] = STATE(1489),
    [sym__binary_expression] = STATE(1489),
    [sym_multiplicative_expression] = STATE(1489),
    [sym_additive_expression] = STATE(1489),
    [sym_range_expression] = STATE(1489),
    [sym_infix_expression] = STATE(1489),
    [sym_nil_coalescing_expression] = STATE(1489),
    [sym_check_expression] = STATE(1489),
    [sym_comparison_expression] = STATE(1489),
    [sym_equality_expression] = STATE(1489),
    [sym_conjunction_expression] = STATE(1489),
    [sym_disjunction_expression] = STATE(1489),
    [sym_bitwise_operation] = STATE(1489),
    [sym_custom_operator] = STATE(1207),
    [sym_try_expression] = STATE(1489),
    [sym_await_expression] = STATE(1489),
    [sym__await_operator] = STATE(605),
    [sym_ternary_expression] = STATE(1489),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(3567),
    [sym_expr_hack_at_ternary_binary_call] = STATE(3567),
    [sym_call_expression] = STATE(1489),
    [sym_macro_invocation] = STATE(1489),
    [sym__primary_expression] = STATE(1489),
    [sym_tuple_expression] = STATE(1489),
    [sym_array_literal] = STATE(1489),
    [sym_dictionary_literal] = STATE(1489),
    [sym_special_literal] = STATE(1489),
    [sym_playground_literal] = STATE(1489),
    [sym_lambda_literal] = STATE(1489),
    [sym_self_expression] = STATE(1489),
    [sym_super_expression] = STATE(1489),
    [sym_if_statement] = STATE(1489),
    [sym_switch_statement] = STATE(1489),
    [sym_key_path_expression] = STATE(1489),
    [sym_key_path_string_expression] = STATE(1489),
    [sym_try_operator] = STATE(606),
    [sym__assignment_and_operator] = STATE(1489),
    [sym__equality_operator] = STATE(1489),
    [sym__comparison_operator] = STATE(1489),
    [sym__three_dot_operator] = STATE(1208),
    [sym__open_ended_range_operator] = STATE(604),
    [sym__additive_operator] = STATE(1489),
    [sym__multiplicative_operator] = STATE(1489),
    [sym__prefix_unary_operator] = STATE(616),
    [sym_directly_assignable_expression] = STATE(6371),
    [sym_assignment] = STATE(1489),
    [sym_value_parameter_pack] = STATE(1489),
    [sym_value_pack_expansion] = STATE(1489),
    [sym__referenceable_operator] = STATE(1489),
    [sym__equal_sign] = STATE(1489),
    [sym__eq_eq] = STATE(1489),
    [sym__dot] = STATE(616),
    [sym__hash_symbol] = STATE(4844),
    [sym_bang] = STATE(1207),
    [sym__parameter_ownership_modifier] = STATE(2652),
    [sym_directive] = STATE(1489),
    [sym_diagnostic] = STATE(1489),
    [aux_sym_raw_string_literal_repeat1] = STATE(8127),
    [anon_sym_BANG] = ACTIONS(1195),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1197),
    [aux_sym_simple_identifier_token2] = ACTIONS(1199),
    [aux_sym_simple_identifier_token3] = ACTIONS(1199),
    [aux_sym_simple_identifier_token4] = ACTIONS(1199),
    [anon_sym_actor] = ACTIONS(1197),
    [anon_sym_async] = ACTIONS(1197),
    [anon_sym_each] = ACTIONS(1201),
    [anon_sym_lazy] = ACTIONS(1197),
    [anon_sym_repeat] = ACTIONS(1203),
    [anon_sym_package] = ACTIONS(1197),
    [anon_sym_nil] = ACTIONS(1760),
    [sym_real_literal] = ACTIONS(1762),
    [sym_integer_literal] = ACTIONS(1760),
    [sym_hex_literal] = ACTIONS(1760),
    [sym_oct_literal] = ACTIONS(1762),
    [sym_bin_literal] = ACTIONS(1762),
    [anon_sym_true] = ACTIONS(1209),
    [anon_sym_false] = ACTIONS(1209),
    [anon_sym_DQUOTE] = ACTIONS(1211),
    [anon_sym_BSLASH] = ACTIONS(1213),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1215),
    [sym__oneline_regex_literal] = ACTIONS(1217),
    [anon_sym_LPAREN] = ACTIONS(1219),
    [anon_sym_LBRACK] = ACTIONS(1221),
    [anon_sym_AMP] = ACTIONS(1223),
    [anon_sym_TILDE] = ACTIONS(1223),
    [anon_sym_if] = ACTIONS(1225),
    [anon_sym_switch] = ACTIONS(1227),
    [aux_sym_custom_operator_token1] = ACTIONS(1229),
    [anon_sym_LT] = ACTIONS(1760),
    [anon_sym_GT] = ACTIONS(1760),
    [anon_sym_await] = ACTIONS(1231),
    [anon_sym_LBRACE] = ACTIONS(1233),
    [anon_sym_CARET_LBRACE] = ACTIONS(1233),
    [anon_sym_self] = ACTIONS(1235),
    [anon_sym_super] = ACTIONS(1237),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1762),
    [anon_sym_DASH_EQ] = ACTIONS(1762),
    [anon_sym_STAR_EQ] = ACTIONS(1762),
    [anon_sym_SLASH_EQ] = ACTIONS(1762),
    [anon_sym_PERCENT_EQ] = ACTIONS(1762),
    [anon_sym_BANG_EQ] = ACTIONS(1760),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1762),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1762),
    [anon_sym_LT_EQ] = ACTIONS(1762),
    [anon_sym_GT_EQ] = ACTIONS(1762),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1241),
    [anon_sym_PLUS] = ACTIONS(1243),
    [anon_sym_DASH] = ACTIONS(1243),
    [anon_sym_STAR] = ACTIONS(1760),
    [anon_sym_SLASH] = ACTIONS(1760),
    [anon_sym_PERCENT] = ACTIONS(1760),
    [anon_sym_PLUS_PLUS] = ACTIONS(1223),
    [anon_sym_DASH_DASH] = ACTIONS(1223),
    [anon_sym_PIPE] = ACTIONS(1762),
    [anon_sym_CARET] = ACTIONS(1760),
    [anon_sym_LT_LT] = ACTIONS(1762),
    [anon_sym_GT_GT] = ACTIONS(1762),
    [anon_sym_borrowing] = ACTIONS(1197),
    [anon_sym_consuming] = ACTIONS(1197),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1245),
    [sym__dot_custom] = ACTIONS(1247),
    [sym__eq_custom] = ACTIONS(1762),
    [sym__eq_eq_custom] = ACTIONS(1762),
    [sym__plus_then_ws] = ACTIONS(1762),
    [sym__minus_then_ws] = ACTIONS(1762),
    [sym__bang_custom] = ACTIONS(1249),
    [sym__custom_operator] = ACTIONS(1229),
    [sym__hash_symbol_custom] = ACTIONS(1251),
    [sym__directive_if] = ACTIONS(1253),
    [sym__directive_elseif] = ACTIONS(1253),
    [sym__directive_else] = ACTIONS(1255),
    [sym__directive_endif] = ACTIONS(1255),
  },
  [431] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1632),
    [sym_boolean_literal] = STATE(1632),
    [sym__string_literal] = STATE(1632),
    [sym_line_string_literal] = STATE(1632),
    [sym_multi_line_string_literal] = STATE(1632),
    [sym_raw_string_literal] = STATE(1632),
    [sym_regex_literal] = STATE(1632),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1632),
    [sym__unary_expression] = STATE(1632),
    [sym_postfix_expression] = STATE(1632),
    [sym_constructor_expression] = STATE(1632),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1632),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1632),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1632),
    [sym_prefix_expression] = STATE(1632),
    [sym_as_expression] = STATE(1632),
    [sym_selector_expression] = STATE(1632),
    [sym__binary_expression] = STATE(1632),
    [sym_multiplicative_expression] = STATE(1632),
    [sym_additive_expression] = STATE(1632),
    [sym_range_expression] = STATE(1632),
    [sym_infix_expression] = STATE(1632),
    [sym_nil_coalescing_expression] = STATE(1632),
    [sym_check_expression] = STATE(1632),
    [sym_comparison_expression] = STATE(1632),
    [sym_equality_expression] = STATE(1632),
    [sym_conjunction_expression] = STATE(1632),
    [sym_disjunction_expression] = STATE(1632),
    [sym_bitwise_operation] = STATE(1632),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1632),
    [sym_await_expression] = STATE(1632),
    [sym__await_operator] = STATE(728),
    [sym_ternary_expression] = STATE(1632),
    [sym_call_expression] = STATE(1632),
    [sym_macro_invocation] = STATE(1632),
    [sym__primary_expression] = STATE(1632),
    [sym_tuple_expression] = STATE(1632),
    [sym_array_literal] = STATE(1632),
    [sym_dictionary_literal] = STATE(1632),
    [sym_special_literal] = STATE(1632),
    [sym_playground_literal] = STATE(1632),
    [sym_lambda_literal] = STATE(1632),
    [sym_self_expression] = STATE(1632),
    [sym_super_expression] = STATE(1632),
    [sym_if_statement] = STATE(1632),
    [sym_switch_statement] = STATE(1632),
    [sym_key_path_expression] = STATE(1632),
    [sym_key_path_string_expression] = STATE(1632),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1632),
    [sym__equality_operator] = STATE(1632),
    [sym__comparison_operator] = STATE(1632),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1632),
    [sym__multiplicative_operator] = STATE(1632),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym__for_statement_collection] = STATE(7281),
    [sym_for_statement_await] = STATE(7281),
    [sym_assignment] = STATE(1632),
    [sym_value_parameter_pack] = STATE(1632),
    [sym_value_pack_expansion] = STATE(1632),
    [sym__referenceable_operator] = STATE(1632),
    [sym__equal_sign] = STATE(1632),
    [sym__eq_eq] = STATE(1632),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1632),
    [sym_diagnostic] = STATE(1632),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(1764),
    [sym_real_literal] = ACTIONS(1766),
    [sym_integer_literal] = ACTIONS(1764),
    [sym_hex_literal] = ACTIONS(1764),
    [sym_oct_literal] = ACTIONS(1766),
    [sym_bin_literal] = ACTIONS(1766),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(1764),
    [anon_sym_GT] = ACTIONS(1764),
    [anon_sym_await] = ACTIONS(1768),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1766),
    [anon_sym_DASH_EQ] = ACTIONS(1766),
    [anon_sym_STAR_EQ] = ACTIONS(1766),
    [anon_sym_SLASH_EQ] = ACTIONS(1766),
    [anon_sym_PERCENT_EQ] = ACTIONS(1766),
    [anon_sym_BANG_EQ] = ACTIONS(1764),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1766),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1766),
    [anon_sym_LT_EQ] = ACTIONS(1766),
    [anon_sym_GT_EQ] = ACTIONS(1766),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(1764),
    [anon_sym_SLASH] = ACTIONS(1764),
    [anon_sym_PERCENT] = ACTIONS(1764),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(1766),
    [anon_sym_CARET] = ACTIONS(1764),
    [anon_sym_LT_LT] = ACTIONS(1766),
    [anon_sym_GT_GT] = ACTIONS(1766),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(1766),
    [sym__eq_eq_custom] = ACTIONS(1766),
    [sym__plus_then_ws] = ACTIONS(1766),
    [sym__minus_then_ws] = ACTIONS(1766),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [432] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1632),
    [sym_boolean_literal] = STATE(1632),
    [sym__string_literal] = STATE(1632),
    [sym_line_string_literal] = STATE(1632),
    [sym_multi_line_string_literal] = STATE(1632),
    [sym_raw_string_literal] = STATE(1632),
    [sym_regex_literal] = STATE(1632),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1632),
    [sym__unary_expression] = STATE(1632),
    [sym_postfix_expression] = STATE(1632),
    [sym_constructor_expression] = STATE(1632),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1632),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1632),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1632),
    [sym_prefix_expression] = STATE(1632),
    [sym_as_expression] = STATE(1632),
    [sym_selector_expression] = STATE(1632),
    [sym__binary_expression] = STATE(1632),
    [sym_multiplicative_expression] = STATE(1632),
    [sym_additive_expression] = STATE(1632),
    [sym_range_expression] = STATE(1632),
    [sym_infix_expression] = STATE(1632),
    [sym_nil_coalescing_expression] = STATE(1632),
    [sym_check_expression] = STATE(1632),
    [sym_comparison_expression] = STATE(1632),
    [sym_equality_expression] = STATE(1632),
    [sym_conjunction_expression] = STATE(1632),
    [sym_disjunction_expression] = STATE(1632),
    [sym_bitwise_operation] = STATE(1632),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1632),
    [sym_await_expression] = STATE(1632),
    [sym__await_operator] = STATE(728),
    [sym_ternary_expression] = STATE(1632),
    [sym_call_expression] = STATE(1632),
    [sym_macro_invocation] = STATE(1632),
    [sym__primary_expression] = STATE(1632),
    [sym_tuple_expression] = STATE(1632),
    [sym_array_literal] = STATE(1632),
    [sym_dictionary_literal] = STATE(1632),
    [sym_special_literal] = STATE(1632),
    [sym_playground_literal] = STATE(1632),
    [sym_lambda_literal] = STATE(1632),
    [sym_self_expression] = STATE(1632),
    [sym_super_expression] = STATE(1632),
    [sym_if_statement] = STATE(1632),
    [sym_switch_statement] = STATE(1632),
    [sym_key_path_expression] = STATE(1632),
    [sym_key_path_string_expression] = STATE(1632),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1632),
    [sym__equality_operator] = STATE(1632),
    [sym__comparison_operator] = STATE(1632),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1632),
    [sym__multiplicative_operator] = STATE(1632),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym__for_statement_collection] = STATE(7118),
    [sym_for_statement_await] = STATE(7118),
    [sym_assignment] = STATE(1632),
    [sym_value_parameter_pack] = STATE(1632),
    [sym_value_pack_expansion] = STATE(1632),
    [sym__referenceable_operator] = STATE(1632),
    [sym__equal_sign] = STATE(1632),
    [sym__eq_eq] = STATE(1632),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1632),
    [sym_diagnostic] = STATE(1632),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(1764),
    [sym_real_literal] = ACTIONS(1766),
    [sym_integer_literal] = ACTIONS(1764),
    [sym_hex_literal] = ACTIONS(1764),
    [sym_oct_literal] = ACTIONS(1766),
    [sym_bin_literal] = ACTIONS(1766),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(1764),
    [anon_sym_GT] = ACTIONS(1764),
    [anon_sym_await] = ACTIONS(1768),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1766),
    [anon_sym_DASH_EQ] = ACTIONS(1766),
    [anon_sym_STAR_EQ] = ACTIONS(1766),
    [anon_sym_SLASH_EQ] = ACTIONS(1766),
    [anon_sym_PERCENT_EQ] = ACTIONS(1766),
    [anon_sym_BANG_EQ] = ACTIONS(1764),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1766),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1766),
    [anon_sym_LT_EQ] = ACTIONS(1766),
    [anon_sym_GT_EQ] = ACTIONS(1766),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(1764),
    [anon_sym_SLASH] = ACTIONS(1764),
    [anon_sym_PERCENT] = ACTIONS(1764),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(1766),
    [anon_sym_CARET] = ACTIONS(1764),
    [anon_sym_LT_LT] = ACTIONS(1766),
    [anon_sym_GT_GT] = ACTIONS(1766),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(1766),
    [sym__eq_eq_custom] = ACTIONS(1766),
    [sym__plus_then_ws] = ACTIONS(1766),
    [sym__minus_then_ws] = ACTIONS(1766),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [433] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1652),
    [sym_boolean_literal] = STATE(1652),
    [sym__string_literal] = STATE(1652),
    [sym_line_string_literal] = STATE(1652),
    [sym_multi_line_string_literal] = STATE(1652),
    [sym_raw_string_literal] = STATE(1652),
    [sym_regex_literal] = STATE(1652),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1652),
    [sym__unary_expression] = STATE(1652),
    [sym_postfix_expression] = STATE(1652),
    [sym_constructor_expression] = STATE(1652),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1652),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1652),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1652),
    [sym_prefix_expression] = STATE(1652),
    [sym_as_expression] = STATE(1652),
    [sym_selector_expression] = STATE(1652),
    [sym__binary_expression] = STATE(1652),
    [sym_multiplicative_expression] = STATE(1652),
    [sym_additive_expression] = STATE(1652),
    [sym_range_expression] = STATE(1652),
    [sym_infix_expression] = STATE(1652),
    [sym_nil_coalescing_expression] = STATE(1652),
    [sym_check_expression] = STATE(1652),
    [sym_comparison_expression] = STATE(1652),
    [sym_equality_expression] = STATE(1652),
    [sym_conjunction_expression] = STATE(1652),
    [sym_disjunction_expression] = STATE(1652),
    [sym_bitwise_operation] = STATE(1652),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1652),
    [sym_await_expression] = STATE(1652),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1652),
    [sym_call_expression] = STATE(1652),
    [sym_macro_invocation] = STATE(1652),
    [sym__primary_expression] = STATE(1652),
    [sym_tuple_expression] = STATE(1652),
    [sym_array_literal] = STATE(1652),
    [sym_dictionary_literal] = STATE(1652),
    [sym_special_literal] = STATE(1652),
    [sym_playground_literal] = STATE(1652),
    [sym_lambda_literal] = STATE(1652),
    [sym_self_expression] = STATE(1652),
    [sym_super_expression] = STATE(1652),
    [sym_if_statement] = STATE(1652),
    [sym_switch_statement] = STATE(1652),
    [sym_key_path_expression] = STATE(1652),
    [sym_key_path_string_expression] = STATE(1652),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1652),
    [sym__equality_operator] = STATE(1652),
    [sym__comparison_operator] = STATE(1652),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1652),
    [sym__multiplicative_operator] = STATE(1652),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1652),
    [sym_value_parameter_pack] = STATE(1652),
    [sym_value_pack_expansion] = STATE(1652),
    [sym__referenceable_operator] = STATE(1652),
    [sym__equal_sign] = STATE(1652),
    [sym__eq_eq] = STATE(1652),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1652),
    [sym_diagnostic] = STATE(1652),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1790),
    [sym_real_literal] = ACTIONS(1792),
    [sym_integer_literal] = ACTIONS(1790),
    [sym_hex_literal] = ACTIONS(1790),
    [sym_oct_literal] = ACTIONS(1792),
    [sym_bin_literal] = ACTIONS(1792),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [anon_sym_getter_COLON] = ACTIONS(1794),
    [anon_sym_setter_COLON] = ACTIONS(1794),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1790),
    [anon_sym_GT] = ACTIONS(1790),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1792),
    [anon_sym_DASH_EQ] = ACTIONS(1792),
    [anon_sym_STAR_EQ] = ACTIONS(1792),
    [anon_sym_SLASH_EQ] = ACTIONS(1792),
    [anon_sym_PERCENT_EQ] = ACTIONS(1792),
    [anon_sym_BANG_EQ] = ACTIONS(1790),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1792),
    [anon_sym_LT_EQ] = ACTIONS(1792),
    [anon_sym_GT_EQ] = ACTIONS(1792),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1790),
    [anon_sym_SLASH] = ACTIONS(1790),
    [anon_sym_PERCENT] = ACTIONS(1790),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1792),
    [anon_sym_CARET] = ACTIONS(1790),
    [anon_sym_LT_LT] = ACTIONS(1792),
    [anon_sym_GT_GT] = ACTIONS(1792),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1792),
    [sym__eq_eq_custom] = ACTIONS(1792),
    [sym__plus_then_ws] = ACTIONS(1792),
    [sym__minus_then_ws] = ACTIONS(1792),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [434] = {
    [sym_simple_identifier] = STATE(1217),
    [sym__contextual_simple_identifier] = STATE(1147),
    [sym__basic_literal] = STATE(774),
    [sym_boolean_literal] = STATE(774),
    [sym__string_literal] = STATE(774),
    [sym_line_string_literal] = STATE(774),
    [sym_multi_line_string_literal] = STATE(774),
    [sym_raw_string_literal] = STATE(774),
    [sym_regex_literal] = STATE(774),
    [sym__extended_regex_literal] = STATE(1286),
    [sym__multiline_regex_literal] = STATE(1286),
    [sym_user_type] = STATE(6397),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6397),
    [sym_dictionary_type] = STATE(6397),
    [sym__expression] = STATE(774),
    [sym__unary_expression] = STATE(774),
    [sym_postfix_expression] = STATE(774),
    [sym_constructor_expression] = STATE(774),
    [sym__parenthesized_type] = STATE(7511),
    [sym_navigation_expression] = STATE(774),
    [sym__navigable_type_expression] = STATE(7510),
    [sym_open_start_range_expression] = STATE(774),
    [sym__range_operator] = STATE(695),
    [sym_open_end_range_expression] = STATE(774),
    [sym_prefix_expression] = STATE(774),
    [sym_as_expression] = STATE(774),
    [sym_selector_expression] = STATE(774),
    [sym__binary_expression] = STATE(774),
    [sym_multiplicative_expression] = STATE(774),
    [sym_additive_expression] = STATE(774),
    [sym_range_expression] = STATE(774),
    [sym_infix_expression] = STATE(774),
    [sym_nil_coalescing_expression] = STATE(774),
    [sym_check_expression] = STATE(774),
    [sym_comparison_expression] = STATE(774),
    [sym_equality_expression] = STATE(774),
    [sym_conjunction_expression] = STATE(774),
    [sym_disjunction_expression] = STATE(774),
    [sym_bitwise_operation] = STATE(774),
    [sym_custom_operator] = STATE(759),
    [sym_try_expression] = STATE(774),
    [sym_await_expression] = STATE(774),
    [sym__await_operator] = STATE(644),
    [sym_ternary_expression] = STATE(774),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(1260),
    [sym_expr_hack_at_ternary_binary_call] = STATE(1260),
    [sym_call_expression] = STATE(774),
    [sym_macro_invocation] = STATE(774),
    [sym__primary_expression] = STATE(774),
    [sym_tuple_expression] = STATE(774),
    [sym_array_literal] = STATE(774),
    [sym_dictionary_literal] = STATE(774),
    [sym_special_literal] = STATE(774),
    [sym_playground_literal] = STATE(774),
    [sym_lambda_literal] = STATE(774),
    [sym_self_expression] = STATE(774),
    [sym_super_expression] = STATE(774),
    [sym_if_statement] = STATE(774),
    [sym_switch_statement] = STATE(774),
    [sym_key_path_expression] = STATE(774),
    [sym_key_path_string_expression] = STATE(774),
    [sym_try_operator] = STATE(645),
    [sym__assignment_and_operator] = STATE(774),
    [sym__equality_operator] = STATE(774),
    [sym__comparison_operator] = STATE(774),
    [sym__three_dot_operator] = STATE(761),
    [sym__open_ended_range_operator] = STATE(695),
    [sym__additive_operator] = STATE(774),
    [sym__multiplicative_operator] = STATE(774),
    [sym__prefix_unary_operator] = STATE(659),
    [sym_directly_assignable_expression] = STATE(6398),
    [sym_assignment] = STATE(774),
    [sym_value_parameter_pack] = STATE(774),
    [sym_value_pack_expansion] = STATE(774),
    [sym__referenceable_operator] = STATE(774),
    [sym__equal_sign] = STATE(774),
    [sym__eq_eq] = STATE(774),
    [sym__dot] = STATE(659),
    [sym__hash_symbol] = STATE(4848),
    [sym_bang] = STATE(759),
    [sym__parameter_ownership_modifier] = STATE(1147),
    [sym_directive] = STATE(774),
    [sym_diagnostic] = STATE(774),
    [aux_sym_raw_string_literal_repeat1] = STATE(7499),
    [anon_sym_BANG] = ACTIONS(659),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(661),
    [aux_sym_simple_identifier_token2] = ACTIONS(663),
    [aux_sym_simple_identifier_token3] = ACTIONS(663),
    [aux_sym_simple_identifier_token4] = ACTIONS(663),
    [anon_sym_actor] = ACTIONS(661),
    [anon_sym_async] = ACTIONS(661),
    [anon_sym_each] = ACTIONS(665),
    [anon_sym_lazy] = ACTIONS(661),
    [anon_sym_repeat] = ACTIONS(667),
    [anon_sym_package] = ACTIONS(661),
    [anon_sym_nil] = ACTIONS(1778),
    [sym_real_literal] = ACTIONS(1780),
    [sym_integer_literal] = ACTIONS(1778),
    [sym_hex_literal] = ACTIONS(1778),
    [sym_oct_literal] = ACTIONS(1780),
    [sym_bin_literal] = ACTIONS(1780),
    [anon_sym_true] = ACTIONS(673),
    [anon_sym_false] = ACTIONS(673),
    [anon_sym_DQUOTE] = ACTIONS(675),
    [anon_sym_BSLASH] = ACTIONS(677),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(679),
    [sym__oneline_regex_literal] = ACTIONS(681),
    [anon_sym_LPAREN] = ACTIONS(683),
    [anon_sym_LBRACK] = ACTIONS(685),
    [anon_sym_AMP] = ACTIONS(687),
    [anon_sym_TILDE] = ACTIONS(687),
    [anon_sym_if] = ACTIONS(689),
    [anon_sym_switch] = ACTIONS(691),
    [aux_sym_custom_operator_token1] = ACTIONS(693),
    [anon_sym_LT] = ACTIONS(1778),
    [anon_sym_GT] = ACTIONS(1778),
    [anon_sym_await] = ACTIONS(695),
    [anon_sym_LBRACE] = ACTIONS(697),
    [anon_sym_CARET_LBRACE] = ACTIONS(697),
    [anon_sym_self] = ACTIONS(699),
    [anon_sym_super] = ACTIONS(701),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1780),
    [anon_sym_DASH_EQ] = ACTIONS(1780),
    [anon_sym_STAR_EQ] = ACTIONS(1780),
    [anon_sym_SLASH_EQ] = ACTIONS(1780),
    [anon_sym_PERCENT_EQ] = ACTIONS(1780),
    [anon_sym_BANG_EQ] = ACTIONS(1778),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1780),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1780),
    [anon_sym_LT_EQ] = ACTIONS(1780),
    [anon_sym_GT_EQ] = ACTIONS(1780),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(703),
    [anon_sym_DOT_DOT_LT] = ACTIONS(705),
    [anon_sym_PLUS] = ACTIONS(707),
    [anon_sym_DASH] = ACTIONS(707),
    [anon_sym_STAR] = ACTIONS(1778),
    [anon_sym_SLASH] = ACTIONS(1778),
    [anon_sym_PERCENT] = ACTIONS(1778),
    [anon_sym_PLUS_PLUS] = ACTIONS(687),
    [anon_sym_DASH_DASH] = ACTIONS(687),
    [anon_sym_PIPE] = ACTIONS(1780),
    [anon_sym_CARET] = ACTIONS(1778),
    [anon_sym_LT_LT] = ACTIONS(1780),
    [anon_sym_GT_GT] = ACTIONS(1780),
    [anon_sym_borrowing] = ACTIONS(661),
    [anon_sym_consuming] = ACTIONS(661),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(709),
    [sym__dot_custom] = ACTIONS(711),
    [sym__eq_custom] = ACTIONS(1780),
    [sym__eq_eq_custom] = ACTIONS(1780),
    [sym__plus_then_ws] = ACTIONS(1780),
    [sym__minus_then_ws] = ACTIONS(1780),
    [sym__bang_custom] = ACTIONS(713),
    [sym__custom_operator] = ACTIONS(693),
    [sym__hash_symbol_custom] = ACTIONS(715),
    [sym__directive_if] = ACTIONS(717),
    [sym__directive_elseif] = ACTIONS(717),
    [sym__directive_else] = ACTIONS(719),
    [sym__directive_endif] = ACTIONS(719),
  },
  [435] = {
    [sym_simple_identifier] = STATE(3023),
    [sym__contextual_simple_identifier] = STATE(2652),
    [sym__basic_literal] = STATE(1489),
    [sym_boolean_literal] = STATE(1489),
    [sym__string_literal] = STATE(1489),
    [sym_line_string_literal] = STATE(1489),
    [sym_multi_line_string_literal] = STATE(1489),
    [sym_raw_string_literal] = STATE(1489),
    [sym_regex_literal] = STATE(1489),
    [sym__extended_regex_literal] = STATE(3428),
    [sym__multiline_regex_literal] = STATE(3428),
    [sym_user_type] = STATE(6368),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6368),
    [sym_dictionary_type] = STATE(6368),
    [sym__expression] = STATE(1489),
    [sym__unary_expression] = STATE(1489),
    [sym_postfix_expression] = STATE(1489),
    [sym_constructor_expression] = STATE(1489),
    [sym__parenthesized_type] = STATE(8119),
    [sym_navigation_expression] = STATE(1489),
    [sym__navigable_type_expression] = STATE(8122),
    [sym_open_start_range_expression] = STATE(1489),
    [sym__range_operator] = STATE(604),
    [sym_open_end_range_expression] = STATE(1489),
    [sym_prefix_expression] = STATE(1489),
    [sym_as_expression] = STATE(1489),
    [sym_selector_expression] = STATE(1489),
    [sym__binary_expression] = STATE(1489),
    [sym_multiplicative_expression] = STATE(1489),
    [sym_additive_expression] = STATE(1489),
    [sym_range_expression] = STATE(1489),
    [sym_infix_expression] = STATE(1489),
    [sym_nil_coalescing_expression] = STATE(1489),
    [sym_check_expression] = STATE(1489),
    [sym_comparison_expression] = STATE(1489),
    [sym_equality_expression] = STATE(1489),
    [sym_conjunction_expression] = STATE(1489),
    [sym_disjunction_expression] = STATE(1489),
    [sym_bitwise_operation] = STATE(1489),
    [sym_custom_operator] = STATE(1207),
    [sym_try_expression] = STATE(1489),
    [sym_await_expression] = STATE(1489),
    [sym__await_operator] = STATE(605),
    [sym_ternary_expression] = STATE(1489),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(3459),
    [sym_expr_hack_at_ternary_binary_call] = STATE(3459),
    [sym_call_expression] = STATE(1489),
    [sym_macro_invocation] = STATE(1489),
    [sym__primary_expression] = STATE(1489),
    [sym_tuple_expression] = STATE(1489),
    [sym_array_literal] = STATE(1489),
    [sym_dictionary_literal] = STATE(1489),
    [sym_special_literal] = STATE(1489),
    [sym_playground_literal] = STATE(1489),
    [sym_lambda_literal] = STATE(1489),
    [sym_self_expression] = STATE(1489),
    [sym_super_expression] = STATE(1489),
    [sym_if_statement] = STATE(1489),
    [sym_switch_statement] = STATE(1489),
    [sym_key_path_expression] = STATE(1489),
    [sym_key_path_string_expression] = STATE(1489),
    [sym_try_operator] = STATE(606),
    [sym__assignment_and_operator] = STATE(1489),
    [sym__equality_operator] = STATE(1489),
    [sym__comparison_operator] = STATE(1489),
    [sym__three_dot_operator] = STATE(1208),
    [sym__open_ended_range_operator] = STATE(604),
    [sym__additive_operator] = STATE(1489),
    [sym__multiplicative_operator] = STATE(1489),
    [sym__prefix_unary_operator] = STATE(616),
    [sym_directly_assignable_expression] = STATE(6371),
    [sym_assignment] = STATE(1489),
    [sym_value_parameter_pack] = STATE(1489),
    [sym_value_pack_expansion] = STATE(1489),
    [sym__referenceable_operator] = STATE(1489),
    [sym__equal_sign] = STATE(1489),
    [sym__eq_eq] = STATE(1489),
    [sym__dot] = STATE(616),
    [sym__hash_symbol] = STATE(4844),
    [sym_bang] = STATE(1207),
    [sym__parameter_ownership_modifier] = STATE(2652),
    [sym_directive] = STATE(1489),
    [sym_diagnostic] = STATE(1489),
    [aux_sym_raw_string_literal_repeat1] = STATE(8127),
    [anon_sym_BANG] = ACTIONS(1195),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1197),
    [aux_sym_simple_identifier_token2] = ACTIONS(1199),
    [aux_sym_simple_identifier_token3] = ACTIONS(1199),
    [aux_sym_simple_identifier_token4] = ACTIONS(1199),
    [anon_sym_actor] = ACTIONS(1197),
    [anon_sym_async] = ACTIONS(1197),
    [anon_sym_each] = ACTIONS(1201),
    [anon_sym_lazy] = ACTIONS(1197),
    [anon_sym_repeat] = ACTIONS(1203),
    [anon_sym_package] = ACTIONS(1197),
    [anon_sym_nil] = ACTIONS(1760),
    [sym_real_literal] = ACTIONS(1762),
    [sym_integer_literal] = ACTIONS(1760),
    [sym_hex_literal] = ACTIONS(1760),
    [sym_oct_literal] = ACTIONS(1762),
    [sym_bin_literal] = ACTIONS(1762),
    [anon_sym_true] = ACTIONS(1209),
    [anon_sym_false] = ACTIONS(1209),
    [anon_sym_DQUOTE] = ACTIONS(1211),
    [anon_sym_BSLASH] = ACTIONS(1213),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1215),
    [sym__oneline_regex_literal] = ACTIONS(1217),
    [anon_sym_LPAREN] = ACTIONS(1219),
    [anon_sym_LBRACK] = ACTIONS(1221),
    [anon_sym_AMP] = ACTIONS(1223),
    [anon_sym_TILDE] = ACTIONS(1223),
    [anon_sym_if] = ACTIONS(1225),
    [anon_sym_switch] = ACTIONS(1227),
    [aux_sym_custom_operator_token1] = ACTIONS(1229),
    [anon_sym_LT] = ACTIONS(1760),
    [anon_sym_GT] = ACTIONS(1760),
    [anon_sym_await] = ACTIONS(1231),
    [anon_sym_LBRACE] = ACTIONS(1233),
    [anon_sym_CARET_LBRACE] = ACTIONS(1233),
    [anon_sym_self] = ACTIONS(1235),
    [anon_sym_super] = ACTIONS(1237),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1762),
    [anon_sym_DASH_EQ] = ACTIONS(1762),
    [anon_sym_STAR_EQ] = ACTIONS(1762),
    [anon_sym_SLASH_EQ] = ACTIONS(1762),
    [anon_sym_PERCENT_EQ] = ACTIONS(1762),
    [anon_sym_BANG_EQ] = ACTIONS(1760),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1762),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1762),
    [anon_sym_LT_EQ] = ACTIONS(1762),
    [anon_sym_GT_EQ] = ACTIONS(1762),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1241),
    [anon_sym_PLUS] = ACTIONS(1243),
    [anon_sym_DASH] = ACTIONS(1243),
    [anon_sym_STAR] = ACTIONS(1760),
    [anon_sym_SLASH] = ACTIONS(1760),
    [anon_sym_PERCENT] = ACTIONS(1760),
    [anon_sym_PLUS_PLUS] = ACTIONS(1223),
    [anon_sym_DASH_DASH] = ACTIONS(1223),
    [anon_sym_PIPE] = ACTIONS(1762),
    [anon_sym_CARET] = ACTIONS(1760),
    [anon_sym_LT_LT] = ACTIONS(1762),
    [anon_sym_GT_GT] = ACTIONS(1762),
    [anon_sym_borrowing] = ACTIONS(1197),
    [anon_sym_consuming] = ACTIONS(1197),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1245),
    [sym__dot_custom] = ACTIONS(1247),
    [sym__eq_custom] = ACTIONS(1762),
    [sym__eq_eq_custom] = ACTIONS(1762),
    [sym__plus_then_ws] = ACTIONS(1762),
    [sym__minus_then_ws] = ACTIONS(1762),
    [sym__bang_custom] = ACTIONS(1249),
    [sym__custom_operator] = ACTIONS(1229),
    [sym__hash_symbol_custom] = ACTIONS(1251),
    [sym__directive_if] = ACTIONS(1253),
    [sym__directive_elseif] = ACTIONS(1253),
    [sym__directive_else] = ACTIONS(1255),
    [sym__directive_endif] = ACTIONS(1255),
  },
  [436] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1669),
    [sym_boolean_literal] = STATE(1669),
    [sym__string_literal] = STATE(1669),
    [sym_line_string_literal] = STATE(1669),
    [sym_multi_line_string_literal] = STATE(1669),
    [sym_raw_string_literal] = STATE(1669),
    [sym_regex_literal] = STATE(1669),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1669),
    [sym__unary_expression] = STATE(1669),
    [sym_postfix_expression] = STATE(1669),
    [sym_constructor_expression] = STATE(1669),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1669),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1669),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1669),
    [sym_prefix_expression] = STATE(1669),
    [sym_as_expression] = STATE(1669),
    [sym_selector_expression] = STATE(1669),
    [sym__binary_expression] = STATE(1669),
    [sym_multiplicative_expression] = STATE(1669),
    [sym_additive_expression] = STATE(1669),
    [sym_range_expression] = STATE(1669),
    [sym_infix_expression] = STATE(1669),
    [sym_nil_coalescing_expression] = STATE(1669),
    [sym_check_expression] = STATE(1669),
    [sym_comparison_expression] = STATE(1669),
    [sym_equality_expression] = STATE(1669),
    [sym_conjunction_expression] = STATE(1669),
    [sym_disjunction_expression] = STATE(1669),
    [sym_bitwise_operation] = STATE(1669),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1669),
    [sym_await_expression] = STATE(1669),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1669),
    [sym_call_expression] = STATE(1669),
    [sym_macro_invocation] = STATE(1669),
    [sym__primary_expression] = STATE(1669),
    [sym_tuple_expression] = STATE(1669),
    [sym_array_literal] = STATE(1669),
    [sym_dictionary_literal] = STATE(1669),
    [sym_special_literal] = STATE(1669),
    [sym_playground_literal] = STATE(1669),
    [sym_lambda_literal] = STATE(1669),
    [sym_self_expression] = STATE(1669),
    [sym_super_expression] = STATE(1669),
    [sym_if_statement] = STATE(1669),
    [sym_switch_statement] = STATE(1669),
    [sym_key_path_expression] = STATE(1669),
    [sym_key_path_string_expression] = STATE(1669),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1669),
    [sym__equality_operator] = STATE(1669),
    [sym__comparison_operator] = STATE(1669),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1669),
    [sym__multiplicative_operator] = STATE(1669),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1669),
    [sym_value_parameter_pack] = STATE(1669),
    [sym_value_pack_expansion] = STATE(1669),
    [sym__referenceable_operator] = STATE(1669),
    [sym__equal_sign] = STATE(1669),
    [sym__eq_eq] = STATE(1669),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1669),
    [sym_diagnostic] = STATE(1669),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1796),
    [sym_real_literal] = ACTIONS(1798),
    [sym_integer_literal] = ACTIONS(1796),
    [sym_hex_literal] = ACTIONS(1796),
    [sym_oct_literal] = ACTIONS(1798),
    [sym_bin_literal] = ACTIONS(1798),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [anon_sym_getter_COLON] = ACTIONS(1800),
    [anon_sym_setter_COLON] = ACTIONS(1800),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1796),
    [anon_sym_GT] = ACTIONS(1796),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1798),
    [anon_sym_DASH_EQ] = ACTIONS(1798),
    [anon_sym_STAR_EQ] = ACTIONS(1798),
    [anon_sym_SLASH_EQ] = ACTIONS(1798),
    [anon_sym_PERCENT_EQ] = ACTIONS(1798),
    [anon_sym_BANG_EQ] = ACTIONS(1796),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1798),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1798),
    [anon_sym_LT_EQ] = ACTIONS(1798),
    [anon_sym_GT_EQ] = ACTIONS(1798),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1796),
    [anon_sym_SLASH] = ACTIONS(1796),
    [anon_sym_PERCENT] = ACTIONS(1796),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1798),
    [anon_sym_CARET] = ACTIONS(1796),
    [anon_sym_LT_LT] = ACTIONS(1798),
    [anon_sym_GT_GT] = ACTIONS(1798),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1798),
    [sym__eq_eq_custom] = ACTIONS(1798),
    [sym__plus_then_ws] = ACTIONS(1798),
    [sym__minus_then_ws] = ACTIONS(1798),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [437] = {
    [sym_simple_identifier] = STATE(3108),
    [sym__contextual_simple_identifier] = STATE(2967),
    [sym__basic_literal] = STATE(1579),
    [sym_boolean_literal] = STATE(1579),
    [sym__string_literal] = STATE(1579),
    [sym_line_string_literal] = STATE(1579),
    [sym_multi_line_string_literal] = STATE(1579),
    [sym_raw_string_literal] = STATE(1579),
    [sym_regex_literal] = STATE(1579),
    [sym__extended_regex_literal] = STATE(3663),
    [sym__multiline_regex_literal] = STATE(3663),
    [sym_user_type] = STATE(6406),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6406),
    [sym_dictionary_type] = STATE(6406),
    [sym__expression] = STATE(1579),
    [sym__unary_expression] = STATE(1579),
    [sym_postfix_expression] = STATE(1579),
    [sym_constructor_expression] = STATE(1579),
    [sym__parenthesized_type] = STATE(7557),
    [sym_navigation_expression] = STATE(1579),
    [sym__navigable_type_expression] = STATE(7558),
    [sym_open_start_range_expression] = STATE(1579),
    [sym__range_operator] = STATE(592),
    [sym_open_end_range_expression] = STATE(1579),
    [sym_prefix_expression] = STATE(1579),
    [sym_as_expression] = STATE(1579),
    [sym_selector_expression] = STATE(1579),
    [sym__binary_expression] = STATE(1579),
    [sym_multiplicative_expression] = STATE(1579),
    [sym_additive_expression] = STATE(1579),
    [sym_range_expression] = STATE(1579),
    [sym_infix_expression] = STATE(1579),
    [sym_nil_coalescing_expression] = STATE(1579),
    [sym_check_expression] = STATE(1579),
    [sym_comparison_expression] = STATE(1579),
    [sym_equality_expression] = STATE(1579),
    [sym_conjunction_expression] = STATE(1579),
    [sym_disjunction_expression] = STATE(1579),
    [sym_bitwise_operation] = STATE(1579),
    [sym_custom_operator] = STATE(1288),
    [sym_try_expression] = STATE(1579),
    [sym_await_expression] = STATE(1579),
    [sym__await_operator] = STATE(595),
    [sym_ternary_expression] = STATE(1579),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(3659),
    [sym_expr_hack_at_ternary_binary_call] = STATE(3659),
    [sym_call_expression] = STATE(1579),
    [sym_macro_invocation] = STATE(1579),
    [sym__primary_expression] = STATE(1579),
    [sym_tuple_expression] = STATE(1579),
    [sym_array_literal] = STATE(1579),
    [sym_dictionary_literal] = STATE(1579),
    [sym_special_literal] = STATE(1579),
    [sym_playground_literal] = STATE(1579),
    [sym_lambda_literal] = STATE(1579),
    [sym_self_expression] = STATE(1579),
    [sym_super_expression] = STATE(1579),
    [sym_if_statement] = STATE(1579),
    [sym_switch_statement] = STATE(1579),
    [sym_key_path_expression] = STATE(1579),
    [sym_key_path_string_expression] = STATE(1579),
    [sym_try_operator] = STATE(611),
    [sym__assignment_and_operator] = STATE(1579),
    [sym__equality_operator] = STATE(1579),
    [sym__comparison_operator] = STATE(1579),
    [sym__three_dot_operator] = STATE(1257),
    [sym__open_ended_range_operator] = STATE(592),
    [sym__additive_operator] = STATE(1579),
    [sym__multiplicative_operator] = STATE(1579),
    [sym__prefix_unary_operator] = STATE(620),
    [sym_directly_assignable_expression] = STATE(6409),
    [sym_assignment] = STATE(1579),
    [sym_value_parameter_pack] = STATE(1579),
    [sym_value_pack_expansion] = STATE(1579),
    [sym__referenceable_operator] = STATE(1579),
    [sym__equal_sign] = STATE(1579),
    [sym__eq_eq] = STATE(1579),
    [sym__dot] = STATE(620),
    [sym__hash_symbol] = STATE(4853),
    [sym_bang] = STATE(1288),
    [sym__parameter_ownership_modifier] = STATE(2967),
    [sym_directive] = STATE(1579),
    [sym_diagnostic] = STATE(1579),
    [aux_sym_raw_string_literal_repeat1] = STATE(7564),
    [anon_sym_BANG] = ACTIONS(1293),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1295),
    [aux_sym_simple_identifier_token2] = ACTIONS(1297),
    [aux_sym_simple_identifier_token3] = ACTIONS(1297),
    [aux_sym_simple_identifier_token4] = ACTIONS(1297),
    [anon_sym_actor] = ACTIONS(1295),
    [anon_sym_async] = ACTIONS(1295),
    [anon_sym_each] = ACTIONS(1301),
    [anon_sym_lazy] = ACTIONS(1295),
    [anon_sym_repeat] = ACTIONS(1303),
    [anon_sym_package] = ACTIONS(1295),
    [anon_sym_nil] = ACTIONS(1774),
    [sym_real_literal] = ACTIONS(1776),
    [sym_integer_literal] = ACTIONS(1774),
    [sym_hex_literal] = ACTIONS(1774),
    [sym_oct_literal] = ACTIONS(1776),
    [sym_bin_literal] = ACTIONS(1776),
    [anon_sym_true] = ACTIONS(1309),
    [anon_sym_false] = ACTIONS(1309),
    [anon_sym_DQUOTE] = ACTIONS(1311),
    [anon_sym_BSLASH] = ACTIONS(1313),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1315),
    [sym__oneline_regex_literal] = ACTIONS(1317),
    [anon_sym_LPAREN] = ACTIONS(1319),
    [anon_sym_LBRACK] = ACTIONS(1321),
    [anon_sym_AMP] = ACTIONS(1323),
    [anon_sym_TILDE] = ACTIONS(1323),
    [anon_sym_if] = ACTIONS(1325),
    [anon_sym_switch] = ACTIONS(1327),
    [aux_sym_custom_operator_token1] = ACTIONS(1329),
    [anon_sym_LT] = ACTIONS(1774),
    [anon_sym_GT] = ACTIONS(1774),
    [anon_sym_await] = ACTIONS(1331),
    [anon_sym_LBRACE] = ACTIONS(1333),
    [anon_sym_CARET_LBRACE] = ACTIONS(1333),
    [anon_sym_self] = ACTIONS(1335),
    [anon_sym_super] = ACTIONS(1337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1776),
    [anon_sym_DASH_EQ] = ACTIONS(1776),
    [anon_sym_STAR_EQ] = ACTIONS(1776),
    [anon_sym_SLASH_EQ] = ACTIONS(1776),
    [anon_sym_PERCENT_EQ] = ACTIONS(1776),
    [anon_sym_BANG_EQ] = ACTIONS(1774),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1776),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1776),
    [anon_sym_LT_EQ] = ACTIONS(1776),
    [anon_sym_GT_EQ] = ACTIONS(1776),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1341),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1343),
    [anon_sym_PLUS] = ACTIONS(1345),
    [anon_sym_DASH] = ACTIONS(1345),
    [anon_sym_STAR] = ACTIONS(1774),
    [anon_sym_SLASH] = ACTIONS(1774),
    [anon_sym_PERCENT] = ACTIONS(1774),
    [anon_sym_PLUS_PLUS] = ACTIONS(1323),
    [anon_sym_DASH_DASH] = ACTIONS(1323),
    [anon_sym_PIPE] = ACTIONS(1776),
    [anon_sym_CARET] = ACTIONS(1774),
    [anon_sym_LT_LT] = ACTIONS(1776),
    [anon_sym_GT_GT] = ACTIONS(1776),
    [anon_sym_borrowing] = ACTIONS(1295),
    [anon_sym_consuming] = ACTIONS(1295),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1347),
    [sym__dot_custom] = ACTIONS(1349),
    [sym__eq_custom] = ACTIONS(1776),
    [sym__eq_eq_custom] = ACTIONS(1776),
    [sym__plus_then_ws] = ACTIONS(1776),
    [sym__minus_then_ws] = ACTIONS(1776),
    [sym__bang_custom] = ACTIONS(1351),
    [sym__custom_operator] = ACTIONS(1329),
    [sym__hash_symbol_custom] = ACTIONS(1371),
    [sym__directive_if] = ACTIONS(1355),
    [sym__directive_elseif] = ACTIONS(1355),
    [sym__directive_else] = ACTIONS(1357),
    [sym__directive_endif] = ACTIONS(1357),
  },
  [438] = {
    [sym_simple_identifier] = STATE(3023),
    [sym__contextual_simple_identifier] = STATE(2652),
    [sym__basic_literal] = STATE(1489),
    [sym_boolean_literal] = STATE(1489),
    [sym__string_literal] = STATE(1489),
    [sym_line_string_literal] = STATE(1489),
    [sym_multi_line_string_literal] = STATE(1489),
    [sym_raw_string_literal] = STATE(1489),
    [sym_regex_literal] = STATE(1489),
    [sym__extended_regex_literal] = STATE(3428),
    [sym__multiline_regex_literal] = STATE(3428),
    [sym_user_type] = STATE(6368),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6368),
    [sym_dictionary_type] = STATE(6368),
    [sym__expression] = STATE(1489),
    [sym__unary_expression] = STATE(1489),
    [sym_postfix_expression] = STATE(1489),
    [sym_constructor_expression] = STATE(1489),
    [sym__parenthesized_type] = STATE(8119),
    [sym_navigation_expression] = STATE(1489),
    [sym__navigable_type_expression] = STATE(8122),
    [sym_open_start_range_expression] = STATE(1489),
    [sym__range_operator] = STATE(604),
    [sym_open_end_range_expression] = STATE(1489),
    [sym_prefix_expression] = STATE(1489),
    [sym_as_expression] = STATE(1489),
    [sym_selector_expression] = STATE(1489),
    [sym__binary_expression] = STATE(1489),
    [sym_multiplicative_expression] = STATE(1489),
    [sym_additive_expression] = STATE(1489),
    [sym_range_expression] = STATE(1489),
    [sym_infix_expression] = STATE(1489),
    [sym_nil_coalescing_expression] = STATE(1489),
    [sym_check_expression] = STATE(1489),
    [sym_comparison_expression] = STATE(1489),
    [sym_equality_expression] = STATE(1489),
    [sym_conjunction_expression] = STATE(1489),
    [sym_disjunction_expression] = STATE(1489),
    [sym_bitwise_operation] = STATE(1489),
    [sym_custom_operator] = STATE(1207),
    [sym_try_expression] = STATE(1489),
    [sym_await_expression] = STATE(1489),
    [sym__await_operator] = STATE(605),
    [sym_ternary_expression] = STATE(1489),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(3568),
    [sym_expr_hack_at_ternary_binary_call] = STATE(3568),
    [sym_call_expression] = STATE(1489),
    [sym_macro_invocation] = STATE(1489),
    [sym__primary_expression] = STATE(1489),
    [sym_tuple_expression] = STATE(1489),
    [sym_array_literal] = STATE(1489),
    [sym_dictionary_literal] = STATE(1489),
    [sym_special_literal] = STATE(1489),
    [sym_playground_literal] = STATE(1489),
    [sym_lambda_literal] = STATE(1489),
    [sym_self_expression] = STATE(1489),
    [sym_super_expression] = STATE(1489),
    [sym_if_statement] = STATE(1489),
    [sym_switch_statement] = STATE(1489),
    [sym_key_path_expression] = STATE(1489),
    [sym_key_path_string_expression] = STATE(1489),
    [sym_try_operator] = STATE(606),
    [sym__assignment_and_operator] = STATE(1489),
    [sym__equality_operator] = STATE(1489),
    [sym__comparison_operator] = STATE(1489),
    [sym__three_dot_operator] = STATE(1208),
    [sym__open_ended_range_operator] = STATE(604),
    [sym__additive_operator] = STATE(1489),
    [sym__multiplicative_operator] = STATE(1489),
    [sym__prefix_unary_operator] = STATE(616),
    [sym_directly_assignable_expression] = STATE(6371),
    [sym_assignment] = STATE(1489),
    [sym_value_parameter_pack] = STATE(1489),
    [sym_value_pack_expansion] = STATE(1489),
    [sym__referenceable_operator] = STATE(1489),
    [sym__equal_sign] = STATE(1489),
    [sym__eq_eq] = STATE(1489),
    [sym__dot] = STATE(616),
    [sym__hash_symbol] = STATE(4844),
    [sym_bang] = STATE(1207),
    [sym__parameter_ownership_modifier] = STATE(2652),
    [sym_directive] = STATE(1489),
    [sym_diagnostic] = STATE(1489),
    [aux_sym_raw_string_literal_repeat1] = STATE(8127),
    [anon_sym_BANG] = ACTIONS(1195),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1197),
    [aux_sym_simple_identifier_token2] = ACTIONS(1199),
    [aux_sym_simple_identifier_token3] = ACTIONS(1199),
    [aux_sym_simple_identifier_token4] = ACTIONS(1199),
    [anon_sym_actor] = ACTIONS(1197),
    [anon_sym_async] = ACTIONS(1197),
    [anon_sym_each] = ACTIONS(1201),
    [anon_sym_lazy] = ACTIONS(1197),
    [anon_sym_repeat] = ACTIONS(1203),
    [anon_sym_package] = ACTIONS(1197),
    [anon_sym_nil] = ACTIONS(1760),
    [sym_real_literal] = ACTIONS(1762),
    [sym_integer_literal] = ACTIONS(1760),
    [sym_hex_literal] = ACTIONS(1760),
    [sym_oct_literal] = ACTIONS(1762),
    [sym_bin_literal] = ACTIONS(1762),
    [anon_sym_true] = ACTIONS(1209),
    [anon_sym_false] = ACTIONS(1209),
    [anon_sym_DQUOTE] = ACTIONS(1211),
    [anon_sym_BSLASH] = ACTIONS(1213),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1215),
    [sym__oneline_regex_literal] = ACTIONS(1217),
    [anon_sym_LPAREN] = ACTIONS(1219),
    [anon_sym_LBRACK] = ACTIONS(1221),
    [anon_sym_AMP] = ACTIONS(1223),
    [anon_sym_TILDE] = ACTIONS(1223),
    [anon_sym_if] = ACTIONS(1225),
    [anon_sym_switch] = ACTIONS(1227),
    [aux_sym_custom_operator_token1] = ACTIONS(1229),
    [anon_sym_LT] = ACTIONS(1760),
    [anon_sym_GT] = ACTIONS(1760),
    [anon_sym_await] = ACTIONS(1231),
    [anon_sym_LBRACE] = ACTIONS(1233),
    [anon_sym_CARET_LBRACE] = ACTIONS(1233),
    [anon_sym_self] = ACTIONS(1235),
    [anon_sym_super] = ACTIONS(1237),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1762),
    [anon_sym_DASH_EQ] = ACTIONS(1762),
    [anon_sym_STAR_EQ] = ACTIONS(1762),
    [anon_sym_SLASH_EQ] = ACTIONS(1762),
    [anon_sym_PERCENT_EQ] = ACTIONS(1762),
    [anon_sym_BANG_EQ] = ACTIONS(1760),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1762),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1762),
    [anon_sym_LT_EQ] = ACTIONS(1762),
    [anon_sym_GT_EQ] = ACTIONS(1762),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1241),
    [anon_sym_PLUS] = ACTIONS(1243),
    [anon_sym_DASH] = ACTIONS(1243),
    [anon_sym_STAR] = ACTIONS(1760),
    [anon_sym_SLASH] = ACTIONS(1760),
    [anon_sym_PERCENT] = ACTIONS(1760),
    [anon_sym_PLUS_PLUS] = ACTIONS(1223),
    [anon_sym_DASH_DASH] = ACTIONS(1223),
    [anon_sym_PIPE] = ACTIONS(1762),
    [anon_sym_CARET] = ACTIONS(1760),
    [anon_sym_LT_LT] = ACTIONS(1762),
    [anon_sym_GT_GT] = ACTIONS(1762),
    [anon_sym_borrowing] = ACTIONS(1197),
    [anon_sym_consuming] = ACTIONS(1197),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1245),
    [sym__dot_custom] = ACTIONS(1247),
    [sym__eq_custom] = ACTIONS(1762),
    [sym__eq_eq_custom] = ACTIONS(1762),
    [sym__plus_then_ws] = ACTIONS(1762),
    [sym__minus_then_ws] = ACTIONS(1762),
    [sym__bang_custom] = ACTIONS(1249),
    [sym__custom_operator] = ACTIONS(1229),
    [sym__hash_symbol_custom] = ACTIONS(1251),
    [sym__directive_if] = ACTIONS(1253),
    [sym__directive_elseif] = ACTIONS(1253),
    [sym__directive_else] = ACTIONS(1255),
    [sym__directive_endif] = ACTIONS(1255),
  },
  [439] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(743),
    [sym_boolean_literal] = STATE(743),
    [sym__string_literal] = STATE(743),
    [sym_line_string_literal] = STATE(743),
    [sym_multi_line_string_literal] = STATE(743),
    [sym_raw_string_literal] = STATE(743),
    [sym_regex_literal] = STATE(743),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6436),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6436),
    [sym_dictionary_type] = STATE(6436),
    [sym__expression] = STATE(743),
    [sym__unary_expression] = STATE(743),
    [sym_postfix_expression] = STATE(743),
    [sym_constructor_expression] = STATE(743),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(743),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(743),
    [sym__range_operator] = STATE(694),
    [sym_open_end_range_expression] = STATE(743),
    [sym_prefix_expression] = STATE(743),
    [sym_as_expression] = STATE(743),
    [sym_selector_expression] = STATE(743),
    [sym__binary_expression] = STATE(743),
    [sym_multiplicative_expression] = STATE(743),
    [sym_additive_expression] = STATE(743),
    [sym_range_expression] = STATE(743),
    [sym_infix_expression] = STATE(743),
    [sym_nil_coalescing_expression] = STATE(743),
    [sym_check_expression] = STATE(743),
    [sym_comparison_expression] = STATE(743),
    [sym_equality_expression] = STATE(743),
    [sym_conjunction_expression] = STATE(743),
    [sym_disjunction_expression] = STATE(743),
    [sym_bitwise_operation] = STATE(743),
    [sym_custom_operator] = STATE(741),
    [sym_try_expression] = STATE(743),
    [sym_await_expression] = STATE(743),
    [sym__await_operator] = STATE(681),
    [sym_ternary_expression] = STATE(743),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(975),
    [sym_expr_hack_at_ternary_binary_call] = STATE(975),
    [sym_call_expression] = STATE(743),
    [sym_macro_invocation] = STATE(743),
    [sym__primary_expression] = STATE(743),
    [sym_tuple_expression] = STATE(743),
    [sym_array_literal] = STATE(743),
    [sym_dictionary_literal] = STATE(743),
    [sym_special_literal] = STATE(743),
    [sym_playground_literal] = STATE(743),
    [sym_lambda_literal] = STATE(743),
    [sym_self_expression] = STATE(743),
    [sym_super_expression] = STATE(743),
    [sym_if_statement] = STATE(743),
    [sym_switch_statement] = STATE(743),
    [sym_key_path_expression] = STATE(743),
    [sym_key_path_string_expression] = STATE(743),
    [sym_try_operator] = STATE(678),
    [sym__assignment_and_operator] = STATE(743),
    [sym__equality_operator] = STATE(743),
    [sym__comparison_operator] = STATE(743),
    [sym__three_dot_operator] = STATE(742),
    [sym__open_ended_range_operator] = STATE(694),
    [sym__additive_operator] = STATE(743),
    [sym__multiplicative_operator] = STATE(743),
    [sym__prefix_unary_operator] = STATE(622),
    [sym_directly_assignable_expression] = STATE(6420),
    [sym_assignment] = STATE(743),
    [sym_value_parameter_pack] = STATE(743),
    [sym_value_pack_expansion] = STATE(743),
    [sym__referenceable_operator] = STATE(743),
    [sym__equal_sign] = STATE(743),
    [sym__eq_eq] = STATE(743),
    [sym__dot] = STATE(622),
    [sym__hash_symbol] = STATE(4852),
    [sym_bang] = STATE(741),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(743),
    [sym_diagnostic] = STATE(743),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(605),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(607),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(609),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1770),
    [sym_real_literal] = ACTIONS(1772),
    [sym_integer_literal] = ACTIONS(1770),
    [sym_hex_literal] = ACTIONS(1770),
    [sym_oct_literal] = ACTIONS(1772),
    [sym_bin_literal] = ACTIONS(1772),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(615),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(625),
    [anon_sym_TILDE] = ACTIONS(625),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(627),
    [aux_sym_custom_operator_token1] = ACTIONS(629),
    [anon_sym_LT] = ACTIONS(1770),
    [anon_sym_GT] = ACTIONS(1770),
    [anon_sym_await] = ACTIONS(631),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1772),
    [anon_sym_DASH_EQ] = ACTIONS(1772),
    [anon_sym_STAR_EQ] = ACTIONS(1772),
    [anon_sym_SLASH_EQ] = ACTIONS(1772),
    [anon_sym_PERCENT_EQ] = ACTIONS(1772),
    [anon_sym_BANG_EQ] = ACTIONS(1770),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1772),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1772),
    [anon_sym_LT_EQ] = ACTIONS(1772),
    [anon_sym_GT_EQ] = ACTIONS(1772),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(635),
    [anon_sym_DOT_DOT_LT] = ACTIONS(637),
    [anon_sym_PLUS] = ACTIONS(639),
    [anon_sym_DASH] = ACTIONS(639),
    [anon_sym_STAR] = ACTIONS(1770),
    [anon_sym_SLASH] = ACTIONS(1770),
    [anon_sym_PERCENT] = ACTIONS(1770),
    [anon_sym_PLUS_PLUS] = ACTIONS(625),
    [anon_sym_DASH_DASH] = ACTIONS(625),
    [anon_sym_PIPE] = ACTIONS(1772),
    [anon_sym_CARET] = ACTIONS(1770),
    [anon_sym_LT_LT] = ACTIONS(1772),
    [anon_sym_GT_GT] = ACTIONS(1772),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(641),
    [sym__eq_custom] = ACTIONS(1772),
    [sym__eq_eq_custom] = ACTIONS(1772),
    [sym__plus_then_ws] = ACTIONS(1772),
    [sym__minus_then_ws] = ACTIONS(1772),
    [sym__bang_custom] = ACTIONS(643),
    [sym__custom_operator] = ACTIONS(629),
    [sym__hash_symbol_custom] = ACTIONS(645),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [440] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1645),
    [sym_boolean_literal] = STATE(1645),
    [sym__string_literal] = STATE(1645),
    [sym_line_string_literal] = STATE(1645),
    [sym_multi_line_string_literal] = STATE(1645),
    [sym_raw_string_literal] = STATE(1645),
    [sym_regex_literal] = STATE(1645),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1645),
    [sym__unary_expression] = STATE(1645),
    [sym_postfix_expression] = STATE(1645),
    [sym_constructor_expression] = STATE(1645),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1645),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1645),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1645),
    [sym_prefix_expression] = STATE(1645),
    [sym_as_expression] = STATE(1645),
    [sym_selector_expression] = STATE(1645),
    [sym__binary_expression] = STATE(1645),
    [sym_multiplicative_expression] = STATE(1645),
    [sym_additive_expression] = STATE(1645),
    [sym_range_expression] = STATE(1645),
    [sym_infix_expression] = STATE(1645),
    [sym_nil_coalescing_expression] = STATE(1645),
    [sym_check_expression] = STATE(1645),
    [sym_comparison_expression] = STATE(1645),
    [sym_equality_expression] = STATE(1645),
    [sym_conjunction_expression] = STATE(1645),
    [sym_disjunction_expression] = STATE(1645),
    [sym_bitwise_operation] = STATE(1645),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1645),
    [sym_await_expression] = STATE(1645),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1645),
    [sym_call_expression] = STATE(1645),
    [sym_macro_invocation] = STATE(1645),
    [sym__primary_expression] = STATE(1645),
    [sym_tuple_expression] = STATE(1645),
    [sym_array_literal] = STATE(1645),
    [sym_dictionary_literal] = STATE(1645),
    [sym_special_literal] = STATE(1645),
    [sym_playground_literal] = STATE(1645),
    [sym_lambda_literal] = STATE(1645),
    [sym_self_expression] = STATE(1645),
    [sym_super_expression] = STATE(1645),
    [sym_if_statement] = STATE(1645),
    [sym_switch_statement] = STATE(1645),
    [sym_key_path_expression] = STATE(1645),
    [sym_key_path_string_expression] = STATE(1645),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1645),
    [sym__equality_operator] = STATE(1645),
    [sym__comparison_operator] = STATE(1645),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1645),
    [sym__multiplicative_operator] = STATE(1645),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1645),
    [sym_value_parameter_pack] = STATE(1645),
    [sym_value_pack_expansion] = STATE(1645),
    [sym__referenceable_operator] = STATE(1645),
    [sym__equal_sign] = STATE(1645),
    [sym__eq_eq] = STATE(1645),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1645),
    [sym_diagnostic] = STATE(1645),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1802),
    [sym_real_literal] = ACTIONS(1804),
    [sym_integer_literal] = ACTIONS(1802),
    [sym_hex_literal] = ACTIONS(1802),
    [sym_oct_literal] = ACTIONS(1804),
    [sym_bin_literal] = ACTIONS(1804),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [anon_sym_getter_COLON] = ACTIONS(1806),
    [anon_sym_setter_COLON] = ACTIONS(1806),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1802),
    [anon_sym_GT] = ACTIONS(1802),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1804),
    [anon_sym_DASH_EQ] = ACTIONS(1804),
    [anon_sym_STAR_EQ] = ACTIONS(1804),
    [anon_sym_SLASH_EQ] = ACTIONS(1804),
    [anon_sym_PERCENT_EQ] = ACTIONS(1804),
    [anon_sym_BANG_EQ] = ACTIONS(1802),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1804),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1804),
    [anon_sym_LT_EQ] = ACTIONS(1804),
    [anon_sym_GT_EQ] = ACTIONS(1804),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1802),
    [anon_sym_SLASH] = ACTIONS(1802),
    [anon_sym_PERCENT] = ACTIONS(1802),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1804),
    [anon_sym_CARET] = ACTIONS(1802),
    [anon_sym_LT_LT] = ACTIONS(1804),
    [anon_sym_GT_GT] = ACTIONS(1804),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1804),
    [sym__eq_eq_custom] = ACTIONS(1804),
    [sym__plus_then_ws] = ACTIONS(1804),
    [sym__minus_then_ws] = ACTIONS(1804),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [441] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(743),
    [sym_boolean_literal] = STATE(743),
    [sym__string_literal] = STATE(743),
    [sym_line_string_literal] = STATE(743),
    [sym_multi_line_string_literal] = STATE(743),
    [sym_raw_string_literal] = STATE(743),
    [sym_regex_literal] = STATE(743),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6436),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6436),
    [sym_dictionary_type] = STATE(6436),
    [sym__expression] = STATE(743),
    [sym__unary_expression] = STATE(743),
    [sym_postfix_expression] = STATE(743),
    [sym_constructor_expression] = STATE(743),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(743),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(743),
    [sym__range_operator] = STATE(694),
    [sym_open_end_range_expression] = STATE(743),
    [sym_prefix_expression] = STATE(743),
    [sym_as_expression] = STATE(743),
    [sym_selector_expression] = STATE(743),
    [sym__binary_expression] = STATE(743),
    [sym_multiplicative_expression] = STATE(743),
    [sym_additive_expression] = STATE(743),
    [sym_range_expression] = STATE(743),
    [sym_infix_expression] = STATE(743),
    [sym_nil_coalescing_expression] = STATE(743),
    [sym_check_expression] = STATE(743),
    [sym_comparison_expression] = STATE(743),
    [sym_equality_expression] = STATE(743),
    [sym_conjunction_expression] = STATE(743),
    [sym_disjunction_expression] = STATE(743),
    [sym_bitwise_operation] = STATE(743),
    [sym_custom_operator] = STATE(741),
    [sym_try_expression] = STATE(743),
    [sym_await_expression] = STATE(743),
    [sym__await_operator] = STATE(681),
    [sym_ternary_expression] = STATE(743),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(974),
    [sym_expr_hack_at_ternary_binary_call] = STATE(974),
    [sym_call_expression] = STATE(743),
    [sym_macro_invocation] = STATE(743),
    [sym__primary_expression] = STATE(743),
    [sym_tuple_expression] = STATE(743),
    [sym_array_literal] = STATE(743),
    [sym_dictionary_literal] = STATE(743),
    [sym_special_literal] = STATE(743),
    [sym_playground_literal] = STATE(743),
    [sym_lambda_literal] = STATE(743),
    [sym_self_expression] = STATE(743),
    [sym_super_expression] = STATE(743),
    [sym_if_statement] = STATE(743),
    [sym_switch_statement] = STATE(743),
    [sym_key_path_expression] = STATE(743),
    [sym_key_path_string_expression] = STATE(743),
    [sym_try_operator] = STATE(678),
    [sym__assignment_and_operator] = STATE(743),
    [sym__equality_operator] = STATE(743),
    [sym__comparison_operator] = STATE(743),
    [sym__three_dot_operator] = STATE(742),
    [sym__open_ended_range_operator] = STATE(694),
    [sym__additive_operator] = STATE(743),
    [sym__multiplicative_operator] = STATE(743),
    [sym__prefix_unary_operator] = STATE(622),
    [sym_directly_assignable_expression] = STATE(6420),
    [sym_assignment] = STATE(743),
    [sym_value_parameter_pack] = STATE(743),
    [sym_value_pack_expansion] = STATE(743),
    [sym__referenceable_operator] = STATE(743),
    [sym__equal_sign] = STATE(743),
    [sym__eq_eq] = STATE(743),
    [sym__dot] = STATE(622),
    [sym__hash_symbol] = STATE(4852),
    [sym_bang] = STATE(741),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(743),
    [sym_diagnostic] = STATE(743),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(605),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(607),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(609),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1770),
    [sym_real_literal] = ACTIONS(1772),
    [sym_integer_literal] = ACTIONS(1770),
    [sym_hex_literal] = ACTIONS(1770),
    [sym_oct_literal] = ACTIONS(1772),
    [sym_bin_literal] = ACTIONS(1772),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(615),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(625),
    [anon_sym_TILDE] = ACTIONS(625),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(627),
    [aux_sym_custom_operator_token1] = ACTIONS(629),
    [anon_sym_LT] = ACTIONS(1770),
    [anon_sym_GT] = ACTIONS(1770),
    [anon_sym_await] = ACTIONS(631),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1772),
    [anon_sym_DASH_EQ] = ACTIONS(1772),
    [anon_sym_STAR_EQ] = ACTIONS(1772),
    [anon_sym_SLASH_EQ] = ACTIONS(1772),
    [anon_sym_PERCENT_EQ] = ACTIONS(1772),
    [anon_sym_BANG_EQ] = ACTIONS(1770),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1772),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1772),
    [anon_sym_LT_EQ] = ACTIONS(1772),
    [anon_sym_GT_EQ] = ACTIONS(1772),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(635),
    [anon_sym_DOT_DOT_LT] = ACTIONS(637),
    [anon_sym_PLUS] = ACTIONS(639),
    [anon_sym_DASH] = ACTIONS(639),
    [anon_sym_STAR] = ACTIONS(1770),
    [anon_sym_SLASH] = ACTIONS(1770),
    [anon_sym_PERCENT] = ACTIONS(1770),
    [anon_sym_PLUS_PLUS] = ACTIONS(625),
    [anon_sym_DASH_DASH] = ACTIONS(625),
    [anon_sym_PIPE] = ACTIONS(1772),
    [anon_sym_CARET] = ACTIONS(1770),
    [anon_sym_LT_LT] = ACTIONS(1772),
    [anon_sym_GT_GT] = ACTIONS(1772),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(641),
    [sym__eq_custom] = ACTIONS(1772),
    [sym__eq_eq_custom] = ACTIONS(1772),
    [sym__plus_then_ws] = ACTIONS(1772),
    [sym__minus_then_ws] = ACTIONS(1772),
    [sym__bang_custom] = ACTIONS(643),
    [sym__custom_operator] = ACTIONS(629),
    [sym__hash_symbol_custom] = ACTIONS(645),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [442] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1457),
    [sym_boolean_literal] = STATE(1457),
    [sym__string_literal] = STATE(1457),
    [sym_line_string_literal] = STATE(1457),
    [sym_multi_line_string_literal] = STATE(1457),
    [sym_raw_string_literal] = STATE(1457),
    [sym_regex_literal] = STATE(1457),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1457),
    [sym__unary_expression] = STATE(1457),
    [sym_postfix_expression] = STATE(1457),
    [sym_constructor_expression] = STATE(1457),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1457),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1457),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1457),
    [sym_prefix_expression] = STATE(1457),
    [sym_as_expression] = STATE(1457),
    [sym_selector_expression] = STATE(1457),
    [sym__binary_expression] = STATE(1457),
    [sym_multiplicative_expression] = STATE(1457),
    [sym_additive_expression] = STATE(1457),
    [sym_range_expression] = STATE(1457),
    [sym_infix_expression] = STATE(1457),
    [sym_nil_coalescing_expression] = STATE(1457),
    [sym_check_expression] = STATE(1457),
    [sym_comparison_expression] = STATE(1457),
    [sym_equality_expression] = STATE(1457),
    [sym_conjunction_expression] = STATE(1457),
    [sym_disjunction_expression] = STATE(1457),
    [sym_bitwise_operation] = STATE(1457),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1457),
    [sym_await_expression] = STATE(1457),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1457),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(2738),
    [sym_expr_hack_at_ternary_binary_call] = STATE(2738),
    [sym_call_expression] = STATE(1457),
    [sym_macro_invocation] = STATE(1457),
    [sym__primary_expression] = STATE(1457),
    [sym_tuple_expression] = STATE(1457),
    [sym_array_literal] = STATE(1457),
    [sym_dictionary_literal] = STATE(1457),
    [sym_special_literal] = STATE(1457),
    [sym_playground_literal] = STATE(1457),
    [sym_lambda_literal] = STATE(1457),
    [sym_self_expression] = STATE(1457),
    [sym_super_expression] = STATE(1457),
    [sym_if_statement] = STATE(1457),
    [sym_switch_statement] = STATE(1457),
    [sym_key_path_expression] = STATE(1457),
    [sym_key_path_string_expression] = STATE(1457),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1457),
    [sym__equality_operator] = STATE(1457),
    [sym__comparison_operator] = STATE(1457),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1457),
    [sym__multiplicative_operator] = STATE(1457),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_assignment] = STATE(1457),
    [sym_value_parameter_pack] = STATE(1457),
    [sym_value_pack_expansion] = STATE(1457),
    [sym__referenceable_operator] = STATE(1457),
    [sym__equal_sign] = STATE(1457),
    [sym__eq_eq] = STATE(1457),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1457),
    [sym_diagnostic] = STATE(1457),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(11),
    [anon_sym_async] = ACTIONS(11),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(11),
    [anon_sym_repeat] = ACTIONS(925),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(1808),
    [sym_real_literal] = ACTIONS(1810),
    [sym_integer_literal] = ACTIONS(1808),
    [sym_hex_literal] = ACTIONS(1808),
    [sym_oct_literal] = ACTIONS(1810),
    [sym_bin_literal] = ACTIONS(1810),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(1808),
    [anon_sym_GT] = ACTIONS(1808),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1810),
    [anon_sym_DASH_EQ] = ACTIONS(1810),
    [anon_sym_STAR_EQ] = ACTIONS(1810),
    [anon_sym_SLASH_EQ] = ACTIONS(1810),
    [anon_sym_PERCENT_EQ] = ACTIONS(1810),
    [anon_sym_BANG_EQ] = ACTIONS(1808),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1810),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1810),
    [anon_sym_LT_EQ] = ACTIONS(1810),
    [anon_sym_GT_EQ] = ACTIONS(1810),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(1808),
    [anon_sym_SLASH] = ACTIONS(1808),
    [anon_sym_PERCENT] = ACTIONS(1808),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(1810),
    [anon_sym_CARET] = ACTIONS(1808),
    [anon_sym_LT_LT] = ACTIONS(1810),
    [anon_sym_GT_GT] = ACTIONS(1810),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(1810),
    [sym__eq_eq_custom] = ACTIONS(1810),
    [sym__plus_then_ws] = ACTIONS(1810),
    [sym__minus_then_ws] = ACTIONS(1810),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [443] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(743),
    [sym_boolean_literal] = STATE(743),
    [sym__string_literal] = STATE(743),
    [sym_line_string_literal] = STATE(743),
    [sym_multi_line_string_literal] = STATE(743),
    [sym_raw_string_literal] = STATE(743),
    [sym_regex_literal] = STATE(743),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6436),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6436),
    [sym_dictionary_type] = STATE(6436),
    [sym__expression] = STATE(743),
    [sym__unary_expression] = STATE(743),
    [sym_postfix_expression] = STATE(743),
    [sym_constructor_expression] = STATE(743),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(743),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(743),
    [sym__range_operator] = STATE(694),
    [sym_open_end_range_expression] = STATE(743),
    [sym_prefix_expression] = STATE(743),
    [sym_as_expression] = STATE(743),
    [sym_selector_expression] = STATE(743),
    [sym__binary_expression] = STATE(743),
    [sym_multiplicative_expression] = STATE(743),
    [sym_additive_expression] = STATE(743),
    [sym_range_expression] = STATE(743),
    [sym_infix_expression] = STATE(743),
    [sym_nil_coalescing_expression] = STATE(743),
    [sym_check_expression] = STATE(743),
    [sym_comparison_expression] = STATE(743),
    [sym_equality_expression] = STATE(743),
    [sym_conjunction_expression] = STATE(743),
    [sym_disjunction_expression] = STATE(743),
    [sym_bitwise_operation] = STATE(743),
    [sym_custom_operator] = STATE(741),
    [sym_try_expression] = STATE(743),
    [sym_await_expression] = STATE(743),
    [sym__await_operator] = STATE(681),
    [sym_ternary_expression] = STATE(743),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(939),
    [sym_expr_hack_at_ternary_binary_call] = STATE(939),
    [sym_call_expression] = STATE(743),
    [sym_macro_invocation] = STATE(743),
    [sym__primary_expression] = STATE(743),
    [sym_tuple_expression] = STATE(743),
    [sym_array_literal] = STATE(743),
    [sym_dictionary_literal] = STATE(743),
    [sym_special_literal] = STATE(743),
    [sym_playground_literal] = STATE(743),
    [sym_lambda_literal] = STATE(743),
    [sym_self_expression] = STATE(743),
    [sym_super_expression] = STATE(743),
    [sym_if_statement] = STATE(743),
    [sym_switch_statement] = STATE(743),
    [sym_key_path_expression] = STATE(743),
    [sym_key_path_string_expression] = STATE(743),
    [sym_try_operator] = STATE(678),
    [sym__assignment_and_operator] = STATE(743),
    [sym__equality_operator] = STATE(743),
    [sym__comparison_operator] = STATE(743),
    [sym__three_dot_operator] = STATE(742),
    [sym__open_ended_range_operator] = STATE(694),
    [sym__additive_operator] = STATE(743),
    [sym__multiplicative_operator] = STATE(743),
    [sym__prefix_unary_operator] = STATE(622),
    [sym_directly_assignable_expression] = STATE(6420),
    [sym_assignment] = STATE(743),
    [sym_value_parameter_pack] = STATE(743),
    [sym_value_pack_expansion] = STATE(743),
    [sym__referenceable_operator] = STATE(743),
    [sym__equal_sign] = STATE(743),
    [sym__eq_eq] = STATE(743),
    [sym__dot] = STATE(622),
    [sym__hash_symbol] = STATE(4852),
    [sym_bang] = STATE(741),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(743),
    [sym_diagnostic] = STATE(743),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(605),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(607),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(609),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1770),
    [sym_real_literal] = ACTIONS(1772),
    [sym_integer_literal] = ACTIONS(1770),
    [sym_hex_literal] = ACTIONS(1770),
    [sym_oct_literal] = ACTIONS(1772),
    [sym_bin_literal] = ACTIONS(1772),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(615),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(625),
    [anon_sym_TILDE] = ACTIONS(625),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(627),
    [aux_sym_custom_operator_token1] = ACTIONS(629),
    [anon_sym_LT] = ACTIONS(1770),
    [anon_sym_GT] = ACTIONS(1770),
    [anon_sym_await] = ACTIONS(631),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1772),
    [anon_sym_DASH_EQ] = ACTIONS(1772),
    [anon_sym_STAR_EQ] = ACTIONS(1772),
    [anon_sym_SLASH_EQ] = ACTIONS(1772),
    [anon_sym_PERCENT_EQ] = ACTIONS(1772),
    [anon_sym_BANG_EQ] = ACTIONS(1770),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1772),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1772),
    [anon_sym_LT_EQ] = ACTIONS(1772),
    [anon_sym_GT_EQ] = ACTIONS(1772),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(635),
    [anon_sym_DOT_DOT_LT] = ACTIONS(637),
    [anon_sym_PLUS] = ACTIONS(639),
    [anon_sym_DASH] = ACTIONS(639),
    [anon_sym_STAR] = ACTIONS(1770),
    [anon_sym_SLASH] = ACTIONS(1770),
    [anon_sym_PERCENT] = ACTIONS(1770),
    [anon_sym_PLUS_PLUS] = ACTIONS(625),
    [anon_sym_DASH_DASH] = ACTIONS(625),
    [anon_sym_PIPE] = ACTIONS(1772),
    [anon_sym_CARET] = ACTIONS(1770),
    [anon_sym_LT_LT] = ACTIONS(1772),
    [anon_sym_GT_GT] = ACTIONS(1772),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(641),
    [sym__eq_custom] = ACTIONS(1772),
    [sym__eq_eq_custom] = ACTIONS(1772),
    [sym__plus_then_ws] = ACTIONS(1772),
    [sym__minus_then_ws] = ACTIONS(1772),
    [sym__bang_custom] = ACTIONS(643),
    [sym__custom_operator] = ACTIONS(629),
    [sym__hash_symbol_custom] = ACTIONS(645),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [444] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1630),
    [sym_boolean_literal] = STATE(1630),
    [sym__string_literal] = STATE(1630),
    [sym_line_string_literal] = STATE(1630),
    [sym_multi_line_string_literal] = STATE(1630),
    [sym_raw_string_literal] = STATE(1630),
    [sym_regex_literal] = STATE(1630),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1630),
    [sym__unary_expression] = STATE(1630),
    [sym_postfix_expression] = STATE(1630),
    [sym_constructor_expression] = STATE(1630),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1630),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1630),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1630),
    [sym_prefix_expression] = STATE(1630),
    [sym_as_expression] = STATE(1630),
    [sym_selector_expression] = STATE(1630),
    [sym__binary_expression] = STATE(1630),
    [sym_multiplicative_expression] = STATE(1630),
    [sym_additive_expression] = STATE(1630),
    [sym_range_expression] = STATE(1630),
    [sym_infix_expression] = STATE(1630),
    [sym_nil_coalescing_expression] = STATE(1630),
    [sym_check_expression] = STATE(1630),
    [sym_comparison_expression] = STATE(1630),
    [sym_equality_expression] = STATE(1630),
    [sym_conjunction_expression] = STATE(1630),
    [sym_disjunction_expression] = STATE(1630),
    [sym_bitwise_operation] = STATE(1630),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1630),
    [sym_await_expression] = STATE(1630),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1630),
    [sym_call_expression] = STATE(1630),
    [sym_macro_invocation] = STATE(1630),
    [sym__primary_expression] = STATE(1630),
    [sym_tuple_expression] = STATE(1630),
    [sym_array_literal] = STATE(1630),
    [sym_dictionary_literal] = STATE(1630),
    [sym_special_literal] = STATE(1630),
    [sym_playground_literal] = STATE(1630),
    [sym_lambda_literal] = STATE(1630),
    [sym_self_expression] = STATE(1630),
    [sym_super_expression] = STATE(1630),
    [sym_if_statement] = STATE(1630),
    [sym_switch_statement] = STATE(1630),
    [sym_key_path_expression] = STATE(1630),
    [sym_key_path_string_expression] = STATE(1630),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1630),
    [sym__equality_operator] = STATE(1630),
    [sym__comparison_operator] = STATE(1630),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1630),
    [sym__multiplicative_operator] = STATE(1630),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1630),
    [sym_value_parameter_pack] = STATE(1630),
    [sym_value_pack_expansion] = STATE(1630),
    [sym__referenceable_operator] = STATE(1630),
    [sym__equal_sign] = STATE(1630),
    [sym__eq_eq] = STATE(1630),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1630),
    [sym_diagnostic] = STATE(1630),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1812),
    [sym_real_literal] = ACTIONS(1814),
    [sym_integer_literal] = ACTIONS(1812),
    [sym_hex_literal] = ACTIONS(1812),
    [sym_oct_literal] = ACTIONS(1814),
    [sym_bin_literal] = ACTIONS(1814),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [anon_sym_getter_COLON] = ACTIONS(1816),
    [anon_sym_setter_COLON] = ACTIONS(1816),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1812),
    [anon_sym_GT] = ACTIONS(1812),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1814),
    [anon_sym_DASH_EQ] = ACTIONS(1814),
    [anon_sym_STAR_EQ] = ACTIONS(1814),
    [anon_sym_SLASH_EQ] = ACTIONS(1814),
    [anon_sym_PERCENT_EQ] = ACTIONS(1814),
    [anon_sym_BANG_EQ] = ACTIONS(1812),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1814),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1814),
    [anon_sym_LT_EQ] = ACTIONS(1814),
    [anon_sym_GT_EQ] = ACTIONS(1814),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1812),
    [anon_sym_SLASH] = ACTIONS(1812),
    [anon_sym_PERCENT] = ACTIONS(1812),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1814),
    [anon_sym_CARET] = ACTIONS(1812),
    [anon_sym_LT_LT] = ACTIONS(1814),
    [anon_sym_GT_GT] = ACTIONS(1814),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1814),
    [sym__eq_eq_custom] = ACTIONS(1814),
    [sym__plus_then_ws] = ACTIONS(1814),
    [sym__minus_then_ws] = ACTIONS(1814),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [445] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1632),
    [sym_boolean_literal] = STATE(1632),
    [sym__string_literal] = STATE(1632),
    [sym_line_string_literal] = STATE(1632),
    [sym_multi_line_string_literal] = STATE(1632),
    [sym_raw_string_literal] = STATE(1632),
    [sym_regex_literal] = STATE(1632),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1632),
    [sym__unary_expression] = STATE(1632),
    [sym_postfix_expression] = STATE(1632),
    [sym_constructor_expression] = STATE(1632),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1632),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1632),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1632),
    [sym_prefix_expression] = STATE(1632),
    [sym_as_expression] = STATE(1632),
    [sym_selector_expression] = STATE(1632),
    [sym__binary_expression] = STATE(1632),
    [sym_multiplicative_expression] = STATE(1632),
    [sym_additive_expression] = STATE(1632),
    [sym_range_expression] = STATE(1632),
    [sym_infix_expression] = STATE(1632),
    [sym_nil_coalescing_expression] = STATE(1632),
    [sym_check_expression] = STATE(1632),
    [sym_comparison_expression] = STATE(1632),
    [sym_equality_expression] = STATE(1632),
    [sym_conjunction_expression] = STATE(1632),
    [sym_disjunction_expression] = STATE(1632),
    [sym_bitwise_operation] = STATE(1632),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1632),
    [sym_await_expression] = STATE(1632),
    [sym__await_operator] = STATE(728),
    [sym_ternary_expression] = STATE(1632),
    [sym_call_expression] = STATE(1632),
    [sym_macro_invocation] = STATE(1632),
    [sym__primary_expression] = STATE(1632),
    [sym_tuple_expression] = STATE(1632),
    [sym_array_literal] = STATE(1632),
    [sym_dictionary_literal] = STATE(1632),
    [sym_special_literal] = STATE(1632),
    [sym_playground_literal] = STATE(1632),
    [sym_lambda_literal] = STATE(1632),
    [sym_self_expression] = STATE(1632),
    [sym_super_expression] = STATE(1632),
    [sym_if_statement] = STATE(1632),
    [sym_switch_statement] = STATE(1632),
    [sym_key_path_expression] = STATE(1632),
    [sym_key_path_string_expression] = STATE(1632),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1632),
    [sym__equality_operator] = STATE(1632),
    [sym__comparison_operator] = STATE(1632),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1632),
    [sym__multiplicative_operator] = STATE(1632),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym__for_statement_collection] = STATE(7442),
    [sym_for_statement_await] = STATE(7442),
    [sym_assignment] = STATE(1632),
    [sym_value_parameter_pack] = STATE(1632),
    [sym_value_pack_expansion] = STATE(1632),
    [sym__referenceable_operator] = STATE(1632),
    [sym__equal_sign] = STATE(1632),
    [sym__eq_eq] = STATE(1632),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1632),
    [sym_diagnostic] = STATE(1632),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(1764),
    [sym_real_literal] = ACTIONS(1766),
    [sym_integer_literal] = ACTIONS(1764),
    [sym_hex_literal] = ACTIONS(1764),
    [sym_oct_literal] = ACTIONS(1766),
    [sym_bin_literal] = ACTIONS(1766),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(1764),
    [anon_sym_GT] = ACTIONS(1764),
    [anon_sym_await] = ACTIONS(1768),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1766),
    [anon_sym_DASH_EQ] = ACTIONS(1766),
    [anon_sym_STAR_EQ] = ACTIONS(1766),
    [anon_sym_SLASH_EQ] = ACTIONS(1766),
    [anon_sym_PERCENT_EQ] = ACTIONS(1766),
    [anon_sym_BANG_EQ] = ACTIONS(1764),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1766),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1766),
    [anon_sym_LT_EQ] = ACTIONS(1766),
    [anon_sym_GT_EQ] = ACTIONS(1766),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(1764),
    [anon_sym_SLASH] = ACTIONS(1764),
    [anon_sym_PERCENT] = ACTIONS(1764),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(1766),
    [anon_sym_CARET] = ACTIONS(1764),
    [anon_sym_LT_LT] = ACTIONS(1766),
    [anon_sym_GT_GT] = ACTIONS(1766),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(1766),
    [sym__eq_eq_custom] = ACTIONS(1766),
    [sym__plus_then_ws] = ACTIONS(1766),
    [sym__minus_then_ws] = ACTIONS(1766),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [446] = {
    [sym_simple_identifier] = STATE(3108),
    [sym__contextual_simple_identifier] = STATE(2967),
    [sym__basic_literal] = STATE(1579),
    [sym_boolean_literal] = STATE(1579),
    [sym__string_literal] = STATE(1579),
    [sym_line_string_literal] = STATE(1579),
    [sym_multi_line_string_literal] = STATE(1579),
    [sym_raw_string_literal] = STATE(1579),
    [sym_regex_literal] = STATE(1579),
    [sym__extended_regex_literal] = STATE(3663),
    [sym__multiline_regex_literal] = STATE(3663),
    [sym_user_type] = STATE(6406),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6406),
    [sym_dictionary_type] = STATE(6406),
    [sym__expression] = STATE(1579),
    [sym__unary_expression] = STATE(1579),
    [sym_postfix_expression] = STATE(1579),
    [sym_constructor_expression] = STATE(1579),
    [sym__parenthesized_type] = STATE(7557),
    [sym_navigation_expression] = STATE(1579),
    [sym__navigable_type_expression] = STATE(7558),
    [sym_open_start_range_expression] = STATE(1579),
    [sym__range_operator] = STATE(592),
    [sym_open_end_range_expression] = STATE(1579),
    [sym_prefix_expression] = STATE(1579),
    [sym_as_expression] = STATE(1579),
    [sym_selector_expression] = STATE(1579),
    [sym__binary_expression] = STATE(1579),
    [sym_multiplicative_expression] = STATE(1579),
    [sym_additive_expression] = STATE(1579),
    [sym_range_expression] = STATE(1579),
    [sym_infix_expression] = STATE(1579),
    [sym_nil_coalescing_expression] = STATE(1579),
    [sym_check_expression] = STATE(1579),
    [sym_comparison_expression] = STATE(1579),
    [sym_equality_expression] = STATE(1579),
    [sym_conjunction_expression] = STATE(1579),
    [sym_disjunction_expression] = STATE(1579),
    [sym_bitwise_operation] = STATE(1579),
    [sym_custom_operator] = STATE(1288),
    [sym_try_expression] = STATE(1579),
    [sym_await_expression] = STATE(1579),
    [sym__await_operator] = STATE(595),
    [sym_ternary_expression] = STATE(1579),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(3696),
    [sym_expr_hack_at_ternary_binary_call] = STATE(3696),
    [sym_call_expression] = STATE(1579),
    [sym_macro_invocation] = STATE(1579),
    [sym__primary_expression] = STATE(1579),
    [sym_tuple_expression] = STATE(1579),
    [sym_array_literal] = STATE(1579),
    [sym_dictionary_literal] = STATE(1579),
    [sym_special_literal] = STATE(1579),
    [sym_playground_literal] = STATE(1579),
    [sym_lambda_literal] = STATE(1579),
    [sym_self_expression] = STATE(1579),
    [sym_super_expression] = STATE(1579),
    [sym_if_statement] = STATE(1579),
    [sym_switch_statement] = STATE(1579),
    [sym_key_path_expression] = STATE(1579),
    [sym_key_path_string_expression] = STATE(1579),
    [sym_try_operator] = STATE(611),
    [sym__assignment_and_operator] = STATE(1579),
    [sym__equality_operator] = STATE(1579),
    [sym__comparison_operator] = STATE(1579),
    [sym__three_dot_operator] = STATE(1257),
    [sym__open_ended_range_operator] = STATE(592),
    [sym__additive_operator] = STATE(1579),
    [sym__multiplicative_operator] = STATE(1579),
    [sym__prefix_unary_operator] = STATE(620),
    [sym_directly_assignable_expression] = STATE(6409),
    [sym_assignment] = STATE(1579),
    [sym_value_parameter_pack] = STATE(1579),
    [sym_value_pack_expansion] = STATE(1579),
    [sym__referenceable_operator] = STATE(1579),
    [sym__equal_sign] = STATE(1579),
    [sym__eq_eq] = STATE(1579),
    [sym__dot] = STATE(620),
    [sym__hash_symbol] = STATE(4853),
    [sym_bang] = STATE(1288),
    [sym__parameter_ownership_modifier] = STATE(2967),
    [sym_directive] = STATE(1579),
    [sym_diagnostic] = STATE(1579),
    [aux_sym_raw_string_literal_repeat1] = STATE(7564),
    [anon_sym_BANG] = ACTIONS(1293),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1295),
    [aux_sym_simple_identifier_token2] = ACTIONS(1297),
    [aux_sym_simple_identifier_token3] = ACTIONS(1297),
    [aux_sym_simple_identifier_token4] = ACTIONS(1297),
    [anon_sym_actor] = ACTIONS(1295),
    [anon_sym_async] = ACTIONS(1295),
    [anon_sym_each] = ACTIONS(1301),
    [anon_sym_lazy] = ACTIONS(1295),
    [anon_sym_repeat] = ACTIONS(1303),
    [anon_sym_package] = ACTIONS(1295),
    [anon_sym_nil] = ACTIONS(1774),
    [sym_real_literal] = ACTIONS(1776),
    [sym_integer_literal] = ACTIONS(1774),
    [sym_hex_literal] = ACTIONS(1774),
    [sym_oct_literal] = ACTIONS(1776),
    [sym_bin_literal] = ACTIONS(1776),
    [anon_sym_true] = ACTIONS(1309),
    [anon_sym_false] = ACTIONS(1309),
    [anon_sym_DQUOTE] = ACTIONS(1311),
    [anon_sym_BSLASH] = ACTIONS(1313),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1315),
    [sym__oneline_regex_literal] = ACTIONS(1317),
    [anon_sym_LPAREN] = ACTIONS(1319),
    [anon_sym_LBRACK] = ACTIONS(1321),
    [anon_sym_AMP] = ACTIONS(1323),
    [anon_sym_TILDE] = ACTIONS(1323),
    [anon_sym_if] = ACTIONS(1325),
    [anon_sym_switch] = ACTIONS(1327),
    [aux_sym_custom_operator_token1] = ACTIONS(1329),
    [anon_sym_LT] = ACTIONS(1774),
    [anon_sym_GT] = ACTIONS(1774),
    [anon_sym_await] = ACTIONS(1331),
    [anon_sym_LBRACE] = ACTIONS(1333),
    [anon_sym_CARET_LBRACE] = ACTIONS(1333),
    [anon_sym_self] = ACTIONS(1335),
    [anon_sym_super] = ACTIONS(1337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1776),
    [anon_sym_DASH_EQ] = ACTIONS(1776),
    [anon_sym_STAR_EQ] = ACTIONS(1776),
    [anon_sym_SLASH_EQ] = ACTIONS(1776),
    [anon_sym_PERCENT_EQ] = ACTIONS(1776),
    [anon_sym_BANG_EQ] = ACTIONS(1774),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1776),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1776),
    [anon_sym_LT_EQ] = ACTIONS(1776),
    [anon_sym_GT_EQ] = ACTIONS(1776),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1341),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1343),
    [anon_sym_PLUS] = ACTIONS(1345),
    [anon_sym_DASH] = ACTIONS(1345),
    [anon_sym_STAR] = ACTIONS(1774),
    [anon_sym_SLASH] = ACTIONS(1774),
    [anon_sym_PERCENT] = ACTIONS(1774),
    [anon_sym_PLUS_PLUS] = ACTIONS(1323),
    [anon_sym_DASH_DASH] = ACTIONS(1323),
    [anon_sym_PIPE] = ACTIONS(1776),
    [anon_sym_CARET] = ACTIONS(1774),
    [anon_sym_LT_LT] = ACTIONS(1776),
    [anon_sym_GT_GT] = ACTIONS(1776),
    [anon_sym_borrowing] = ACTIONS(1295),
    [anon_sym_consuming] = ACTIONS(1295),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1347),
    [sym__dot_custom] = ACTIONS(1349),
    [sym__eq_custom] = ACTIONS(1776),
    [sym__eq_eq_custom] = ACTIONS(1776),
    [sym__plus_then_ws] = ACTIONS(1776),
    [sym__minus_then_ws] = ACTIONS(1776),
    [sym__bang_custom] = ACTIONS(1351),
    [sym__custom_operator] = ACTIONS(1329),
    [sym__hash_symbol_custom] = ACTIONS(1371),
    [sym__directive_if] = ACTIONS(1355),
    [sym__directive_elseif] = ACTIONS(1355),
    [sym__directive_else] = ACTIONS(1357),
    [sym__directive_endif] = ACTIONS(1357),
  },
  [447] = {
    [sym_simple_identifier] = STATE(2331),
    [sym__contextual_simple_identifier] = STATE(2240),
    [sym__basic_literal] = STATE(1452),
    [sym_boolean_literal] = STATE(1452),
    [sym__string_literal] = STATE(1452),
    [sym_line_string_literal] = STATE(1452),
    [sym_multi_line_string_literal] = STATE(1452),
    [sym_raw_string_literal] = STATE(1452),
    [sym_regex_literal] = STATE(1452),
    [sym__extended_regex_literal] = STATE(2556),
    [sym__multiline_regex_literal] = STATE(2556),
    [sym_user_type] = STATE(6440),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6440),
    [sym_dictionary_type] = STATE(6440),
    [sym__expression] = STATE(1452),
    [sym__unary_expression] = STATE(1452),
    [sym_postfix_expression] = STATE(1452),
    [sym_constructor_expression] = STATE(1452),
    [sym__parenthesized_type] = STATE(7995),
    [sym_navigation_expression] = STATE(1452),
    [sym__navigable_type_expression] = STATE(8059),
    [sym_open_start_range_expression] = STATE(1452),
    [sym__range_operator] = STATE(576),
    [sym_open_end_range_expression] = STATE(1452),
    [sym_prefix_expression] = STATE(1452),
    [sym_as_expression] = STATE(1452),
    [sym_selector_expression] = STATE(1452),
    [sym__binary_expression] = STATE(1452),
    [sym_multiplicative_expression] = STATE(1452),
    [sym_additive_expression] = STATE(1452),
    [sym_range_expression] = STATE(1452),
    [sym_infix_expression] = STATE(1452),
    [sym_nil_coalescing_expression] = STATE(1452),
    [sym_check_expression] = STATE(1452),
    [sym_comparison_expression] = STATE(1452),
    [sym_equality_expression] = STATE(1452),
    [sym_conjunction_expression] = STATE(1452),
    [sym_disjunction_expression] = STATE(1452),
    [sym_bitwise_operation] = STATE(1452),
    [sym_custom_operator] = STATE(1097),
    [sym_try_expression] = STATE(1452),
    [sym_await_expression] = STATE(1452),
    [sym__await_operator] = STATE(575),
    [sym_ternary_expression] = STATE(1452),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(2593),
    [sym_expr_hack_at_ternary_binary_call] = STATE(2593),
    [sym_call_expression] = STATE(1452),
    [sym_macro_invocation] = STATE(1452),
    [sym__primary_expression] = STATE(1452),
    [sym_tuple_expression] = STATE(1452),
    [sym_array_literal] = STATE(1452),
    [sym_dictionary_literal] = STATE(1452),
    [sym_special_literal] = STATE(1452),
    [sym_playground_literal] = STATE(1452),
    [sym_lambda_literal] = STATE(1452),
    [sym_self_expression] = STATE(1452),
    [sym_super_expression] = STATE(1452),
    [sym_if_statement] = STATE(1452),
    [sym_switch_statement] = STATE(1452),
    [sym_key_path_expression] = STATE(1452),
    [sym_key_path_string_expression] = STATE(1452),
    [sym_try_operator] = STATE(648),
    [sym__assignment_and_operator] = STATE(1452),
    [sym__equality_operator] = STATE(1452),
    [sym__comparison_operator] = STATE(1452),
    [sym__three_dot_operator] = STATE(1089),
    [sym__open_ended_range_operator] = STATE(576),
    [sym__additive_operator] = STATE(1452),
    [sym__multiplicative_operator] = STATE(1452),
    [sym__prefix_unary_operator] = STATE(711),
    [sym_directly_assignable_expression] = STATE(6442),
    [sym_assignment] = STATE(1452),
    [sym_value_parameter_pack] = STATE(1452),
    [sym_value_pack_expansion] = STATE(1452),
    [sym__referenceable_operator] = STATE(1452),
    [sym__equal_sign] = STATE(1452),
    [sym__eq_eq] = STATE(1452),
    [sym__dot] = STATE(711),
    [sym__hash_symbol] = STATE(4850),
    [sym_bang] = STATE(1097),
    [sym__parameter_ownership_modifier] = STATE(2240),
    [sym_directive] = STATE(1452),
    [sym_diagnostic] = STATE(1452),
    [aux_sym_raw_string_literal_repeat1] = STATE(7884),
    [anon_sym_BANG] = ACTIONS(969),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(971),
    [aux_sym_simple_identifier_token2] = ACTIONS(973),
    [aux_sym_simple_identifier_token3] = ACTIONS(973),
    [aux_sym_simple_identifier_token4] = ACTIONS(973),
    [anon_sym_actor] = ACTIONS(971),
    [anon_sym_async] = ACTIONS(971),
    [anon_sym_each] = ACTIONS(975),
    [anon_sym_lazy] = ACTIONS(971),
    [anon_sym_repeat] = ACTIONS(977),
    [anon_sym_package] = ACTIONS(971),
    [anon_sym_nil] = ACTIONS(1818),
    [sym_real_literal] = ACTIONS(1820),
    [sym_integer_literal] = ACTIONS(1818),
    [sym_hex_literal] = ACTIONS(1818),
    [sym_oct_literal] = ACTIONS(1820),
    [sym_bin_literal] = ACTIONS(1820),
    [anon_sym_true] = ACTIONS(983),
    [anon_sym_false] = ACTIONS(983),
    [anon_sym_DQUOTE] = ACTIONS(985),
    [anon_sym_BSLASH] = ACTIONS(987),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(989),
    [sym__oneline_regex_literal] = ACTIONS(991),
    [anon_sym_LPAREN] = ACTIONS(993),
    [anon_sym_LBRACK] = ACTIONS(995),
    [anon_sym_AMP] = ACTIONS(997),
    [anon_sym_TILDE] = ACTIONS(997),
    [anon_sym_if] = ACTIONS(999),
    [anon_sym_switch] = ACTIONS(1001),
    [aux_sym_custom_operator_token1] = ACTIONS(1003),
    [anon_sym_LT] = ACTIONS(1818),
    [anon_sym_GT] = ACTIONS(1818),
    [anon_sym_await] = ACTIONS(1005),
    [anon_sym_LBRACE] = ACTIONS(1007),
    [anon_sym_CARET_LBRACE] = ACTIONS(1007),
    [anon_sym_self] = ACTIONS(1009),
    [anon_sym_super] = ACTIONS(1011),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1820),
    [anon_sym_DASH_EQ] = ACTIONS(1820),
    [anon_sym_STAR_EQ] = ACTIONS(1820),
    [anon_sym_SLASH_EQ] = ACTIONS(1820),
    [anon_sym_PERCENT_EQ] = ACTIONS(1820),
    [anon_sym_BANG_EQ] = ACTIONS(1818),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1820),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1820),
    [anon_sym_LT_EQ] = ACTIONS(1820),
    [anon_sym_GT_EQ] = ACTIONS(1820),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1013),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1015),
    [anon_sym_PLUS] = ACTIONS(1017),
    [anon_sym_DASH] = ACTIONS(1017),
    [anon_sym_STAR] = ACTIONS(1818),
    [anon_sym_SLASH] = ACTIONS(1818),
    [anon_sym_PERCENT] = ACTIONS(1818),
    [anon_sym_PLUS_PLUS] = ACTIONS(997),
    [anon_sym_DASH_DASH] = ACTIONS(997),
    [anon_sym_PIPE] = ACTIONS(1820),
    [anon_sym_CARET] = ACTIONS(1818),
    [anon_sym_LT_LT] = ACTIONS(1820),
    [anon_sym_GT_GT] = ACTIONS(1820),
    [anon_sym_borrowing] = ACTIONS(971),
    [anon_sym_consuming] = ACTIONS(971),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1019),
    [sym__dot_custom] = ACTIONS(1021),
    [sym__eq_custom] = ACTIONS(1820),
    [sym__eq_eq_custom] = ACTIONS(1820),
    [sym__plus_then_ws] = ACTIONS(1820),
    [sym__minus_then_ws] = ACTIONS(1820),
    [sym__bang_custom] = ACTIONS(1023),
    [sym__custom_operator] = ACTIONS(1003),
    [sym__hash_symbol_custom] = ACTIONS(1025),
    [sym__directive_if] = ACTIONS(1027),
    [sym__directive_elseif] = ACTIONS(1027),
    [sym__directive_else] = ACTIONS(1029),
    [sym__directive_endif] = ACTIONS(1029),
  },
  [448] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(783),
    [sym_boolean_literal] = STATE(783),
    [sym__string_literal] = STATE(783),
    [sym_line_string_literal] = STATE(783),
    [sym_multi_line_string_literal] = STATE(783),
    [sym_raw_string_literal] = STATE(783),
    [sym_regex_literal] = STATE(783),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(783),
    [sym__unary_expression] = STATE(783),
    [sym_postfix_expression] = STATE(783),
    [sym_constructor_expression] = STATE(783),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(783),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(783),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(783),
    [sym_prefix_expression] = STATE(783),
    [sym_as_expression] = STATE(783),
    [sym_selector_expression] = STATE(783),
    [sym__binary_expression] = STATE(783),
    [sym_multiplicative_expression] = STATE(783),
    [sym_additive_expression] = STATE(783),
    [sym_range_expression] = STATE(783),
    [sym_infix_expression] = STATE(783),
    [sym_nil_coalescing_expression] = STATE(783),
    [sym_check_expression] = STATE(783),
    [sym_comparison_expression] = STATE(783),
    [sym_equality_expression] = STATE(783),
    [sym_conjunction_expression] = STATE(783),
    [sym_disjunction_expression] = STATE(783),
    [sym_bitwise_operation] = STATE(783),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(783),
    [sym_await_expression] = STATE(783),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(783),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(1436),
    [sym_expr_hack_at_ternary_binary_call] = STATE(1436),
    [sym_call_expression] = STATE(783),
    [sym_macro_invocation] = STATE(783),
    [sym__primary_expression] = STATE(783),
    [sym_tuple_expression] = STATE(783),
    [sym_array_literal] = STATE(783),
    [sym_dictionary_literal] = STATE(783),
    [sym_special_literal] = STATE(783),
    [sym_playground_literal] = STATE(783),
    [sym_lambda_literal] = STATE(783),
    [sym_self_expression] = STATE(783),
    [sym_super_expression] = STATE(783),
    [sym_if_statement] = STATE(783),
    [sym_switch_statement] = STATE(783),
    [sym_key_path_expression] = STATE(783),
    [sym_key_path_string_expression] = STATE(783),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(783),
    [sym__equality_operator] = STATE(783),
    [sym__comparison_operator] = STATE(783),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(783),
    [sym__multiplicative_operator] = STATE(783),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_assignment] = STATE(783),
    [sym_value_parameter_pack] = STATE(783),
    [sym_value_pack_expansion] = STATE(783),
    [sym__referenceable_operator] = STATE(783),
    [sym__equal_sign] = STATE(783),
    [sym__eq_eq] = STATE(783),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(783),
    [sym_diagnostic] = STATE(783),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(289),
    [anon_sym_async] = ACTIONS(289),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(289),
    [anon_sym_repeat] = ACTIONS(733),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(1782),
    [sym_real_literal] = ACTIONS(1784),
    [sym_integer_literal] = ACTIONS(1782),
    [sym_hex_literal] = ACTIONS(1782),
    [sym_oct_literal] = ACTIONS(1784),
    [sym_bin_literal] = ACTIONS(1784),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(1782),
    [anon_sym_GT] = ACTIONS(1782),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1784),
    [anon_sym_DASH_EQ] = ACTIONS(1784),
    [anon_sym_STAR_EQ] = ACTIONS(1784),
    [anon_sym_SLASH_EQ] = ACTIONS(1784),
    [anon_sym_PERCENT_EQ] = ACTIONS(1784),
    [anon_sym_BANG_EQ] = ACTIONS(1782),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1784),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1784),
    [anon_sym_LT_EQ] = ACTIONS(1784),
    [anon_sym_GT_EQ] = ACTIONS(1784),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(1782),
    [anon_sym_SLASH] = ACTIONS(1782),
    [anon_sym_PERCENT] = ACTIONS(1782),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(1784),
    [anon_sym_CARET] = ACTIONS(1782),
    [anon_sym_LT_LT] = ACTIONS(1784),
    [anon_sym_GT_GT] = ACTIONS(1784),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(1784),
    [sym__eq_eq_custom] = ACTIONS(1784),
    [sym__plus_then_ws] = ACTIONS(1784),
    [sym__minus_then_ws] = ACTIONS(1784),
    [sym__bang_custom] = ACTIONS(373),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [449] = {
    [sym_simple_identifier] = STATE(2645),
    [sym__contextual_simple_identifier] = STATE(2445),
    [sym__basic_literal] = STATE(1481),
    [sym_boolean_literal] = STATE(1481),
    [sym__string_literal] = STATE(1481),
    [sym_line_string_literal] = STATE(1481),
    [sym_multi_line_string_literal] = STATE(1481),
    [sym_raw_string_literal] = STATE(1481),
    [sym_regex_literal] = STATE(1481),
    [sym__extended_regex_literal] = STATE(2955),
    [sym__multiline_regex_literal] = STATE(2955),
    [sym_user_type] = STATE(6382),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6382),
    [sym_dictionary_type] = STATE(6382),
    [sym__expression] = STATE(1481),
    [sym__unary_expression] = STATE(1481),
    [sym_postfix_expression] = STATE(1481),
    [sym_constructor_expression] = STATE(1481),
    [sym__parenthesized_type] = STATE(7692),
    [sym_navigation_expression] = STATE(1481),
    [sym__navigable_type_expression] = STATE(7690),
    [sym_open_start_range_expression] = STATE(1481),
    [sym__range_operator] = STATE(672),
    [sym_open_end_range_expression] = STATE(1481),
    [sym_prefix_expression] = STATE(1481),
    [sym_as_expression] = STATE(1481),
    [sym_selector_expression] = STATE(1481),
    [sym__binary_expression] = STATE(1481),
    [sym_multiplicative_expression] = STATE(1481),
    [sym_additive_expression] = STATE(1481),
    [sym_range_expression] = STATE(1481),
    [sym_infix_expression] = STATE(1481),
    [sym_nil_coalescing_expression] = STATE(1481),
    [sym_check_expression] = STATE(1481),
    [sym_comparison_expression] = STATE(1481),
    [sym_equality_expression] = STATE(1481),
    [sym_conjunction_expression] = STATE(1481),
    [sym_disjunction_expression] = STATE(1481),
    [sym_bitwise_operation] = STATE(1481),
    [sym_custom_operator] = STATE(1170),
    [sym_try_expression] = STATE(1481),
    [sym_await_expression] = STATE(1481),
    [sym__await_operator] = STATE(716),
    [sym_ternary_expression] = STATE(1481),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(2852),
    [sym_expr_hack_at_ternary_binary_call] = STATE(2852),
    [sym_call_expression] = STATE(1481),
    [sym_macro_invocation] = STATE(1481),
    [sym__primary_expression] = STATE(1481),
    [sym_tuple_expression] = STATE(1481),
    [sym_array_literal] = STATE(1481),
    [sym_dictionary_literal] = STATE(1481),
    [sym_special_literal] = STATE(1481),
    [sym_playground_literal] = STATE(1481),
    [sym_lambda_literal] = STATE(1481),
    [sym_self_expression] = STATE(1481),
    [sym_super_expression] = STATE(1481),
    [sym_if_statement] = STATE(1481),
    [sym_switch_statement] = STATE(1481),
    [sym_key_path_expression] = STATE(1481),
    [sym_key_path_string_expression] = STATE(1481),
    [sym_try_operator] = STATE(732),
    [sym__assignment_and_operator] = STATE(1481),
    [sym__equality_operator] = STATE(1481),
    [sym__comparison_operator] = STATE(1481),
    [sym__three_dot_operator] = STATE(1173),
    [sym__open_ended_range_operator] = STATE(672),
    [sym__additive_operator] = STATE(1481),
    [sym__multiplicative_operator] = STATE(1481),
    [sym__prefix_unary_operator] = STATE(647),
    [sym_directly_assignable_expression] = STATE(6379),
    [sym_assignment] = STATE(1481),
    [sym_value_parameter_pack] = STATE(1481),
    [sym_value_pack_expansion] = STATE(1481),
    [sym__referenceable_operator] = STATE(1481),
    [sym__equal_sign] = STATE(1481),
    [sym__eq_eq] = STATE(1481),
    [sym__dot] = STATE(647),
    [sym__hash_symbol] = STATE(4854),
    [sym_bang] = STATE(1170),
    [sym__parameter_ownership_modifier] = STATE(2445),
    [sym_directive] = STATE(1481),
    [sym_diagnostic] = STATE(1481),
    [aux_sym_raw_string_literal_repeat1] = STATE(7509),
    [anon_sym_BANG] = ACTIONS(1119),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1121),
    [aux_sym_simple_identifier_token2] = ACTIONS(1123),
    [aux_sym_simple_identifier_token3] = ACTIONS(1123),
    [aux_sym_simple_identifier_token4] = ACTIONS(1123),
    [anon_sym_actor] = ACTIONS(1121),
    [anon_sym_async] = ACTIONS(1121),
    [anon_sym_each] = ACTIONS(1125),
    [anon_sym_lazy] = ACTIONS(1121),
    [anon_sym_repeat] = ACTIONS(1127),
    [anon_sym_package] = ACTIONS(1121),
    [anon_sym_nil] = ACTIONS(1756),
    [sym_real_literal] = ACTIONS(1758),
    [sym_integer_literal] = ACTIONS(1756),
    [sym_hex_literal] = ACTIONS(1756),
    [sym_oct_literal] = ACTIONS(1758),
    [sym_bin_literal] = ACTIONS(1758),
    [anon_sym_true] = ACTIONS(1133),
    [anon_sym_false] = ACTIONS(1133),
    [anon_sym_DQUOTE] = ACTIONS(1135),
    [anon_sym_BSLASH] = ACTIONS(1137),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1139),
    [sym__oneline_regex_literal] = ACTIONS(1141),
    [anon_sym_LPAREN] = ACTIONS(1143),
    [anon_sym_LBRACK] = ACTIONS(1145),
    [anon_sym_AMP] = ACTIONS(1147),
    [anon_sym_TILDE] = ACTIONS(1147),
    [anon_sym_if] = ACTIONS(1149),
    [anon_sym_switch] = ACTIONS(1151),
    [aux_sym_custom_operator_token1] = ACTIONS(1153),
    [anon_sym_LT] = ACTIONS(1756),
    [anon_sym_GT] = ACTIONS(1756),
    [anon_sym_await] = ACTIONS(1155),
    [anon_sym_LBRACE] = ACTIONS(1157),
    [anon_sym_CARET_LBRACE] = ACTIONS(1157),
    [anon_sym_self] = ACTIONS(1159),
    [anon_sym_super] = ACTIONS(1161),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1758),
    [anon_sym_DASH_EQ] = ACTIONS(1758),
    [anon_sym_STAR_EQ] = ACTIONS(1758),
    [anon_sym_SLASH_EQ] = ACTIONS(1758),
    [anon_sym_PERCENT_EQ] = ACTIONS(1758),
    [anon_sym_BANG_EQ] = ACTIONS(1756),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1758),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1758),
    [anon_sym_LT_EQ] = ACTIONS(1758),
    [anon_sym_GT_EQ] = ACTIONS(1758),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1163),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1165),
    [anon_sym_PLUS] = ACTIONS(1167),
    [anon_sym_DASH] = ACTIONS(1167),
    [anon_sym_STAR] = ACTIONS(1756),
    [anon_sym_SLASH] = ACTIONS(1756),
    [anon_sym_PERCENT] = ACTIONS(1756),
    [anon_sym_PLUS_PLUS] = ACTIONS(1147),
    [anon_sym_DASH_DASH] = ACTIONS(1147),
    [anon_sym_PIPE] = ACTIONS(1758),
    [anon_sym_CARET] = ACTIONS(1756),
    [anon_sym_LT_LT] = ACTIONS(1758),
    [anon_sym_GT_GT] = ACTIONS(1758),
    [anon_sym_borrowing] = ACTIONS(1121),
    [anon_sym_consuming] = ACTIONS(1121),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1169),
    [sym__dot_custom] = ACTIONS(1171),
    [sym__eq_custom] = ACTIONS(1758),
    [sym__eq_eq_custom] = ACTIONS(1758),
    [sym__plus_then_ws] = ACTIONS(1758),
    [sym__minus_then_ws] = ACTIONS(1758),
    [sym__bang_custom] = ACTIONS(1173),
    [sym__custom_operator] = ACTIONS(1153),
    [sym__hash_symbol_custom] = ACTIONS(1175),
    [sym__directive_if] = ACTIONS(1177),
    [sym__directive_elseif] = ACTIONS(1177),
    [sym__directive_else] = ACTIONS(1179),
    [sym__directive_endif] = ACTIONS(1179),
  },
  [450] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1476),
    [sym_boolean_literal] = STATE(1476),
    [sym__string_literal] = STATE(1476),
    [sym_line_string_literal] = STATE(1476),
    [sym_multi_line_string_literal] = STATE(1476),
    [sym_raw_string_literal] = STATE(1476),
    [sym_regex_literal] = STATE(1476),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1476),
    [sym__unary_expression] = STATE(1476),
    [sym_postfix_expression] = STATE(1476),
    [sym_constructor_expression] = STATE(1476),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1476),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1476),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1476),
    [sym_prefix_expression] = STATE(1476),
    [sym_as_expression] = STATE(1476),
    [sym_selector_expression] = STATE(1476),
    [sym__binary_expression] = STATE(1476),
    [sym_multiplicative_expression] = STATE(1476),
    [sym_additive_expression] = STATE(1476),
    [sym_range_expression] = STATE(1476),
    [sym_infix_expression] = STATE(1476),
    [sym_nil_coalescing_expression] = STATE(1476),
    [sym_check_expression] = STATE(1476),
    [sym_comparison_expression] = STATE(1476),
    [sym_equality_expression] = STATE(1476),
    [sym_conjunction_expression] = STATE(1476),
    [sym_disjunction_expression] = STATE(1476),
    [sym_bitwise_operation] = STATE(1476),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1476),
    [sym_await_expression] = STATE(1476),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1476),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(939),
    [sym_expr_hack_at_ternary_binary_call] = STATE(939),
    [sym_call_expression] = STATE(1476),
    [sym_macro_invocation] = STATE(1476),
    [sym__primary_expression] = STATE(1476),
    [sym_tuple_expression] = STATE(1476),
    [sym_array_literal] = STATE(1476),
    [sym_dictionary_literal] = STATE(1476),
    [sym_special_literal] = STATE(1476),
    [sym_playground_literal] = STATE(1476),
    [sym_lambda_literal] = STATE(1476),
    [sym_self_expression] = STATE(1476),
    [sym_super_expression] = STATE(1476),
    [sym_if_statement] = STATE(1476),
    [sym_switch_statement] = STATE(1476),
    [sym_key_path_expression] = STATE(1476),
    [sym_key_path_string_expression] = STATE(1476),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1476),
    [sym__equality_operator] = STATE(1476),
    [sym__comparison_operator] = STATE(1476),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1476),
    [sym__multiplicative_operator] = STATE(1476),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1476),
    [sym_value_parameter_pack] = STATE(1476),
    [sym_value_pack_expansion] = STATE(1476),
    [sym__referenceable_operator] = STATE(1476),
    [sym__equal_sign] = STATE(1476),
    [sym__eq_eq] = STATE(1476),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1476),
    [sym_diagnostic] = STATE(1476),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1822),
    [sym_real_literal] = ACTIONS(1824),
    [sym_integer_literal] = ACTIONS(1822),
    [sym_hex_literal] = ACTIONS(1822),
    [sym_oct_literal] = ACTIONS(1824),
    [sym_bin_literal] = ACTIONS(1824),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1822),
    [anon_sym_GT] = ACTIONS(1822),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1824),
    [anon_sym_DASH_EQ] = ACTIONS(1824),
    [anon_sym_STAR_EQ] = ACTIONS(1824),
    [anon_sym_SLASH_EQ] = ACTIONS(1824),
    [anon_sym_PERCENT_EQ] = ACTIONS(1824),
    [anon_sym_BANG_EQ] = ACTIONS(1822),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1824),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1824),
    [anon_sym_LT_EQ] = ACTIONS(1824),
    [anon_sym_GT_EQ] = ACTIONS(1824),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1822),
    [anon_sym_SLASH] = ACTIONS(1822),
    [anon_sym_PERCENT] = ACTIONS(1822),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1824),
    [anon_sym_CARET] = ACTIONS(1822),
    [anon_sym_LT_LT] = ACTIONS(1824),
    [anon_sym_GT_GT] = ACTIONS(1824),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1824),
    [sym__eq_eq_custom] = ACTIONS(1824),
    [sym__plus_then_ws] = ACTIONS(1824),
    [sym__minus_then_ws] = ACTIONS(1824),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [451] = {
    [sym_simple_identifier] = STATE(2645),
    [sym__contextual_simple_identifier] = STATE(2445),
    [sym__basic_literal] = STATE(1481),
    [sym_boolean_literal] = STATE(1481),
    [sym__string_literal] = STATE(1481),
    [sym_line_string_literal] = STATE(1481),
    [sym_multi_line_string_literal] = STATE(1481),
    [sym_raw_string_literal] = STATE(1481),
    [sym_regex_literal] = STATE(1481),
    [sym__extended_regex_literal] = STATE(2955),
    [sym__multiline_regex_literal] = STATE(2955),
    [sym_user_type] = STATE(6382),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6382),
    [sym_dictionary_type] = STATE(6382),
    [sym__expression] = STATE(1481),
    [sym__unary_expression] = STATE(1481),
    [sym_postfix_expression] = STATE(1481),
    [sym_constructor_expression] = STATE(1481),
    [sym__parenthesized_type] = STATE(7692),
    [sym_navigation_expression] = STATE(1481),
    [sym__navigable_type_expression] = STATE(7690),
    [sym_open_start_range_expression] = STATE(1481),
    [sym__range_operator] = STATE(672),
    [sym_open_end_range_expression] = STATE(1481),
    [sym_prefix_expression] = STATE(1481),
    [sym_as_expression] = STATE(1481),
    [sym_selector_expression] = STATE(1481),
    [sym__binary_expression] = STATE(1481),
    [sym_multiplicative_expression] = STATE(1481),
    [sym_additive_expression] = STATE(1481),
    [sym_range_expression] = STATE(1481),
    [sym_infix_expression] = STATE(1481),
    [sym_nil_coalescing_expression] = STATE(1481),
    [sym_check_expression] = STATE(1481),
    [sym_comparison_expression] = STATE(1481),
    [sym_equality_expression] = STATE(1481),
    [sym_conjunction_expression] = STATE(1481),
    [sym_disjunction_expression] = STATE(1481),
    [sym_bitwise_operation] = STATE(1481),
    [sym_custom_operator] = STATE(1170),
    [sym_try_expression] = STATE(1481),
    [sym_await_expression] = STATE(1481),
    [sym__await_operator] = STATE(716),
    [sym_ternary_expression] = STATE(1481),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(2848),
    [sym_expr_hack_at_ternary_binary_call] = STATE(2848),
    [sym_call_expression] = STATE(1481),
    [sym_macro_invocation] = STATE(1481),
    [sym__primary_expression] = STATE(1481),
    [sym_tuple_expression] = STATE(1481),
    [sym_array_literal] = STATE(1481),
    [sym_dictionary_literal] = STATE(1481),
    [sym_special_literal] = STATE(1481),
    [sym_playground_literal] = STATE(1481),
    [sym_lambda_literal] = STATE(1481),
    [sym_self_expression] = STATE(1481),
    [sym_super_expression] = STATE(1481),
    [sym_if_statement] = STATE(1481),
    [sym_switch_statement] = STATE(1481),
    [sym_key_path_expression] = STATE(1481),
    [sym_key_path_string_expression] = STATE(1481),
    [sym_try_operator] = STATE(732),
    [sym__assignment_and_operator] = STATE(1481),
    [sym__equality_operator] = STATE(1481),
    [sym__comparison_operator] = STATE(1481),
    [sym__three_dot_operator] = STATE(1173),
    [sym__open_ended_range_operator] = STATE(672),
    [sym__additive_operator] = STATE(1481),
    [sym__multiplicative_operator] = STATE(1481),
    [sym__prefix_unary_operator] = STATE(647),
    [sym_directly_assignable_expression] = STATE(6379),
    [sym_assignment] = STATE(1481),
    [sym_value_parameter_pack] = STATE(1481),
    [sym_value_pack_expansion] = STATE(1481),
    [sym__referenceable_operator] = STATE(1481),
    [sym__equal_sign] = STATE(1481),
    [sym__eq_eq] = STATE(1481),
    [sym__dot] = STATE(647),
    [sym__hash_symbol] = STATE(4854),
    [sym_bang] = STATE(1170),
    [sym__parameter_ownership_modifier] = STATE(2445),
    [sym_directive] = STATE(1481),
    [sym_diagnostic] = STATE(1481),
    [aux_sym_raw_string_literal_repeat1] = STATE(7509),
    [anon_sym_BANG] = ACTIONS(1119),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1121),
    [aux_sym_simple_identifier_token2] = ACTIONS(1123),
    [aux_sym_simple_identifier_token3] = ACTIONS(1123),
    [aux_sym_simple_identifier_token4] = ACTIONS(1123),
    [anon_sym_actor] = ACTIONS(1121),
    [anon_sym_async] = ACTIONS(1121),
    [anon_sym_each] = ACTIONS(1125),
    [anon_sym_lazy] = ACTIONS(1121),
    [anon_sym_repeat] = ACTIONS(1127),
    [anon_sym_package] = ACTIONS(1121),
    [anon_sym_nil] = ACTIONS(1756),
    [sym_real_literal] = ACTIONS(1758),
    [sym_integer_literal] = ACTIONS(1756),
    [sym_hex_literal] = ACTIONS(1756),
    [sym_oct_literal] = ACTIONS(1758),
    [sym_bin_literal] = ACTIONS(1758),
    [anon_sym_true] = ACTIONS(1133),
    [anon_sym_false] = ACTIONS(1133),
    [anon_sym_DQUOTE] = ACTIONS(1135),
    [anon_sym_BSLASH] = ACTIONS(1137),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1139),
    [sym__oneline_regex_literal] = ACTIONS(1141),
    [anon_sym_LPAREN] = ACTIONS(1143),
    [anon_sym_LBRACK] = ACTIONS(1145),
    [anon_sym_AMP] = ACTIONS(1147),
    [anon_sym_TILDE] = ACTIONS(1147),
    [anon_sym_if] = ACTIONS(1149),
    [anon_sym_switch] = ACTIONS(1151),
    [aux_sym_custom_operator_token1] = ACTIONS(1153),
    [anon_sym_LT] = ACTIONS(1756),
    [anon_sym_GT] = ACTIONS(1756),
    [anon_sym_await] = ACTIONS(1155),
    [anon_sym_LBRACE] = ACTIONS(1157),
    [anon_sym_CARET_LBRACE] = ACTIONS(1157),
    [anon_sym_self] = ACTIONS(1159),
    [anon_sym_super] = ACTIONS(1161),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1758),
    [anon_sym_DASH_EQ] = ACTIONS(1758),
    [anon_sym_STAR_EQ] = ACTIONS(1758),
    [anon_sym_SLASH_EQ] = ACTIONS(1758),
    [anon_sym_PERCENT_EQ] = ACTIONS(1758),
    [anon_sym_BANG_EQ] = ACTIONS(1756),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1758),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1758),
    [anon_sym_LT_EQ] = ACTIONS(1758),
    [anon_sym_GT_EQ] = ACTIONS(1758),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1163),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1165),
    [anon_sym_PLUS] = ACTIONS(1167),
    [anon_sym_DASH] = ACTIONS(1167),
    [anon_sym_STAR] = ACTIONS(1756),
    [anon_sym_SLASH] = ACTIONS(1756),
    [anon_sym_PERCENT] = ACTIONS(1756),
    [anon_sym_PLUS_PLUS] = ACTIONS(1147),
    [anon_sym_DASH_DASH] = ACTIONS(1147),
    [anon_sym_PIPE] = ACTIONS(1758),
    [anon_sym_CARET] = ACTIONS(1756),
    [anon_sym_LT_LT] = ACTIONS(1758),
    [anon_sym_GT_GT] = ACTIONS(1758),
    [anon_sym_borrowing] = ACTIONS(1121),
    [anon_sym_consuming] = ACTIONS(1121),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1169),
    [sym__dot_custom] = ACTIONS(1171),
    [sym__eq_custom] = ACTIONS(1758),
    [sym__eq_eq_custom] = ACTIONS(1758),
    [sym__plus_then_ws] = ACTIONS(1758),
    [sym__minus_then_ws] = ACTIONS(1758),
    [sym__bang_custom] = ACTIONS(1173),
    [sym__custom_operator] = ACTIONS(1153),
    [sym__hash_symbol_custom] = ACTIONS(1175),
    [sym__directive_if] = ACTIONS(1177),
    [sym__directive_elseif] = ACTIONS(1177),
    [sym__directive_else] = ACTIONS(1179),
    [sym__directive_endif] = ACTIONS(1179),
  },
  [452] = {
    [sym_simple_identifier] = STATE(2645),
    [sym__contextual_simple_identifier] = STATE(2445),
    [sym__basic_literal] = STATE(1481),
    [sym_boolean_literal] = STATE(1481),
    [sym__string_literal] = STATE(1481),
    [sym_line_string_literal] = STATE(1481),
    [sym_multi_line_string_literal] = STATE(1481),
    [sym_raw_string_literal] = STATE(1481),
    [sym_regex_literal] = STATE(1481),
    [sym__extended_regex_literal] = STATE(2955),
    [sym__multiline_regex_literal] = STATE(2955),
    [sym_user_type] = STATE(6382),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6382),
    [sym_dictionary_type] = STATE(6382),
    [sym__expression] = STATE(1481),
    [sym__unary_expression] = STATE(1481),
    [sym_postfix_expression] = STATE(1481),
    [sym_constructor_expression] = STATE(1481),
    [sym__parenthesized_type] = STATE(7692),
    [sym_navigation_expression] = STATE(1481),
    [sym__navigable_type_expression] = STATE(7690),
    [sym_open_start_range_expression] = STATE(1481),
    [sym__range_operator] = STATE(672),
    [sym_open_end_range_expression] = STATE(1481),
    [sym_prefix_expression] = STATE(1481),
    [sym_as_expression] = STATE(1481),
    [sym_selector_expression] = STATE(1481),
    [sym__binary_expression] = STATE(1481),
    [sym_multiplicative_expression] = STATE(1481),
    [sym_additive_expression] = STATE(1481),
    [sym_range_expression] = STATE(1481),
    [sym_infix_expression] = STATE(1481),
    [sym_nil_coalescing_expression] = STATE(1481),
    [sym_check_expression] = STATE(1481),
    [sym_comparison_expression] = STATE(1481),
    [sym_equality_expression] = STATE(1481),
    [sym_conjunction_expression] = STATE(1481),
    [sym_disjunction_expression] = STATE(1481),
    [sym_bitwise_operation] = STATE(1481),
    [sym_custom_operator] = STATE(1170),
    [sym_try_expression] = STATE(1481),
    [sym_await_expression] = STATE(1481),
    [sym__await_operator] = STATE(716),
    [sym_ternary_expression] = STATE(1481),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(2847),
    [sym_expr_hack_at_ternary_binary_call] = STATE(2847),
    [sym_call_expression] = STATE(1481),
    [sym_macro_invocation] = STATE(1481),
    [sym__primary_expression] = STATE(1481),
    [sym_tuple_expression] = STATE(1481),
    [sym_array_literal] = STATE(1481),
    [sym_dictionary_literal] = STATE(1481),
    [sym_special_literal] = STATE(1481),
    [sym_playground_literal] = STATE(1481),
    [sym_lambda_literal] = STATE(1481),
    [sym_self_expression] = STATE(1481),
    [sym_super_expression] = STATE(1481),
    [sym_if_statement] = STATE(1481),
    [sym_switch_statement] = STATE(1481),
    [sym_key_path_expression] = STATE(1481),
    [sym_key_path_string_expression] = STATE(1481),
    [sym_try_operator] = STATE(732),
    [sym__assignment_and_operator] = STATE(1481),
    [sym__equality_operator] = STATE(1481),
    [sym__comparison_operator] = STATE(1481),
    [sym__three_dot_operator] = STATE(1173),
    [sym__open_ended_range_operator] = STATE(672),
    [sym__additive_operator] = STATE(1481),
    [sym__multiplicative_operator] = STATE(1481),
    [sym__prefix_unary_operator] = STATE(647),
    [sym_directly_assignable_expression] = STATE(6379),
    [sym_assignment] = STATE(1481),
    [sym_value_parameter_pack] = STATE(1481),
    [sym_value_pack_expansion] = STATE(1481),
    [sym__referenceable_operator] = STATE(1481),
    [sym__equal_sign] = STATE(1481),
    [sym__eq_eq] = STATE(1481),
    [sym__dot] = STATE(647),
    [sym__hash_symbol] = STATE(4854),
    [sym_bang] = STATE(1170),
    [sym__parameter_ownership_modifier] = STATE(2445),
    [sym_directive] = STATE(1481),
    [sym_diagnostic] = STATE(1481),
    [aux_sym_raw_string_literal_repeat1] = STATE(7509),
    [anon_sym_BANG] = ACTIONS(1119),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1121),
    [aux_sym_simple_identifier_token2] = ACTIONS(1123),
    [aux_sym_simple_identifier_token3] = ACTIONS(1123),
    [aux_sym_simple_identifier_token4] = ACTIONS(1123),
    [anon_sym_actor] = ACTIONS(1121),
    [anon_sym_async] = ACTIONS(1121),
    [anon_sym_each] = ACTIONS(1125),
    [anon_sym_lazy] = ACTIONS(1121),
    [anon_sym_repeat] = ACTIONS(1127),
    [anon_sym_package] = ACTIONS(1121),
    [anon_sym_nil] = ACTIONS(1756),
    [sym_real_literal] = ACTIONS(1758),
    [sym_integer_literal] = ACTIONS(1756),
    [sym_hex_literal] = ACTIONS(1756),
    [sym_oct_literal] = ACTIONS(1758),
    [sym_bin_literal] = ACTIONS(1758),
    [anon_sym_true] = ACTIONS(1133),
    [anon_sym_false] = ACTIONS(1133),
    [anon_sym_DQUOTE] = ACTIONS(1135),
    [anon_sym_BSLASH] = ACTIONS(1137),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1139),
    [sym__oneline_regex_literal] = ACTIONS(1141),
    [anon_sym_LPAREN] = ACTIONS(1143),
    [anon_sym_LBRACK] = ACTIONS(1145),
    [anon_sym_AMP] = ACTIONS(1147),
    [anon_sym_TILDE] = ACTIONS(1147),
    [anon_sym_if] = ACTIONS(1149),
    [anon_sym_switch] = ACTIONS(1151),
    [aux_sym_custom_operator_token1] = ACTIONS(1153),
    [anon_sym_LT] = ACTIONS(1756),
    [anon_sym_GT] = ACTIONS(1756),
    [anon_sym_await] = ACTIONS(1155),
    [anon_sym_LBRACE] = ACTIONS(1157),
    [anon_sym_CARET_LBRACE] = ACTIONS(1157),
    [anon_sym_self] = ACTIONS(1159),
    [anon_sym_super] = ACTIONS(1161),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1758),
    [anon_sym_DASH_EQ] = ACTIONS(1758),
    [anon_sym_STAR_EQ] = ACTIONS(1758),
    [anon_sym_SLASH_EQ] = ACTIONS(1758),
    [anon_sym_PERCENT_EQ] = ACTIONS(1758),
    [anon_sym_BANG_EQ] = ACTIONS(1756),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1758),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1758),
    [anon_sym_LT_EQ] = ACTIONS(1758),
    [anon_sym_GT_EQ] = ACTIONS(1758),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1163),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1165),
    [anon_sym_PLUS] = ACTIONS(1167),
    [anon_sym_DASH] = ACTIONS(1167),
    [anon_sym_STAR] = ACTIONS(1756),
    [anon_sym_SLASH] = ACTIONS(1756),
    [anon_sym_PERCENT] = ACTIONS(1756),
    [anon_sym_PLUS_PLUS] = ACTIONS(1147),
    [anon_sym_DASH_DASH] = ACTIONS(1147),
    [anon_sym_PIPE] = ACTIONS(1758),
    [anon_sym_CARET] = ACTIONS(1756),
    [anon_sym_LT_LT] = ACTIONS(1758),
    [anon_sym_GT_GT] = ACTIONS(1758),
    [anon_sym_borrowing] = ACTIONS(1121),
    [anon_sym_consuming] = ACTIONS(1121),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1169),
    [sym__dot_custom] = ACTIONS(1171),
    [sym__eq_custom] = ACTIONS(1758),
    [sym__eq_eq_custom] = ACTIONS(1758),
    [sym__plus_then_ws] = ACTIONS(1758),
    [sym__minus_then_ws] = ACTIONS(1758),
    [sym__bang_custom] = ACTIONS(1173),
    [sym__custom_operator] = ACTIONS(1153),
    [sym__hash_symbol_custom] = ACTIONS(1175),
    [sym__directive_if] = ACTIONS(1177),
    [sym__directive_elseif] = ACTIONS(1177),
    [sym__directive_else] = ACTIONS(1179),
    [sym__directive_endif] = ACTIONS(1179),
  },
  [453] = {
    [sym_simple_identifier] = STATE(3108),
    [sym__contextual_simple_identifier] = STATE(2967),
    [sym__basic_literal] = STATE(1579),
    [sym_boolean_literal] = STATE(1579),
    [sym__string_literal] = STATE(1579),
    [sym_line_string_literal] = STATE(1579),
    [sym_multi_line_string_literal] = STATE(1579),
    [sym_raw_string_literal] = STATE(1579),
    [sym_regex_literal] = STATE(1579),
    [sym__extended_regex_literal] = STATE(3663),
    [sym__multiline_regex_literal] = STATE(3663),
    [sym_user_type] = STATE(6406),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6406),
    [sym_dictionary_type] = STATE(6406),
    [sym__expression] = STATE(1579),
    [sym__unary_expression] = STATE(1579),
    [sym_postfix_expression] = STATE(1579),
    [sym_constructor_expression] = STATE(1579),
    [sym__parenthesized_type] = STATE(7557),
    [sym_navigation_expression] = STATE(1579),
    [sym__navigable_type_expression] = STATE(7558),
    [sym_open_start_range_expression] = STATE(1579),
    [sym__range_operator] = STATE(592),
    [sym_open_end_range_expression] = STATE(1579),
    [sym_prefix_expression] = STATE(1579),
    [sym_as_expression] = STATE(1579),
    [sym_selector_expression] = STATE(1579),
    [sym__binary_expression] = STATE(1579),
    [sym_multiplicative_expression] = STATE(1579),
    [sym_additive_expression] = STATE(1579),
    [sym_range_expression] = STATE(1579),
    [sym_infix_expression] = STATE(1579),
    [sym_nil_coalescing_expression] = STATE(1579),
    [sym_check_expression] = STATE(1579),
    [sym_comparison_expression] = STATE(1579),
    [sym_equality_expression] = STATE(1579),
    [sym_conjunction_expression] = STATE(1579),
    [sym_disjunction_expression] = STATE(1579),
    [sym_bitwise_operation] = STATE(1579),
    [sym_custom_operator] = STATE(1288),
    [sym_try_expression] = STATE(1579),
    [sym_await_expression] = STATE(1579),
    [sym__await_operator] = STATE(595),
    [sym_ternary_expression] = STATE(1579),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(3674),
    [sym_expr_hack_at_ternary_binary_call] = STATE(3674),
    [sym_call_expression] = STATE(1579),
    [sym_macro_invocation] = STATE(1579),
    [sym__primary_expression] = STATE(1579),
    [sym_tuple_expression] = STATE(1579),
    [sym_array_literal] = STATE(1579),
    [sym_dictionary_literal] = STATE(1579),
    [sym_special_literal] = STATE(1579),
    [sym_playground_literal] = STATE(1579),
    [sym_lambda_literal] = STATE(1579),
    [sym_self_expression] = STATE(1579),
    [sym_super_expression] = STATE(1579),
    [sym_if_statement] = STATE(1579),
    [sym_switch_statement] = STATE(1579),
    [sym_key_path_expression] = STATE(1579),
    [sym_key_path_string_expression] = STATE(1579),
    [sym_try_operator] = STATE(611),
    [sym__assignment_and_operator] = STATE(1579),
    [sym__equality_operator] = STATE(1579),
    [sym__comparison_operator] = STATE(1579),
    [sym__three_dot_operator] = STATE(1257),
    [sym__open_ended_range_operator] = STATE(592),
    [sym__additive_operator] = STATE(1579),
    [sym__multiplicative_operator] = STATE(1579),
    [sym__prefix_unary_operator] = STATE(620),
    [sym_directly_assignable_expression] = STATE(6409),
    [sym_assignment] = STATE(1579),
    [sym_value_parameter_pack] = STATE(1579),
    [sym_value_pack_expansion] = STATE(1579),
    [sym__referenceable_operator] = STATE(1579),
    [sym__equal_sign] = STATE(1579),
    [sym__eq_eq] = STATE(1579),
    [sym__dot] = STATE(620),
    [sym__hash_symbol] = STATE(4853),
    [sym_bang] = STATE(1288),
    [sym__parameter_ownership_modifier] = STATE(2967),
    [sym_directive] = STATE(1579),
    [sym_diagnostic] = STATE(1579),
    [aux_sym_raw_string_literal_repeat1] = STATE(7564),
    [anon_sym_BANG] = ACTIONS(1293),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1295),
    [aux_sym_simple_identifier_token2] = ACTIONS(1297),
    [aux_sym_simple_identifier_token3] = ACTIONS(1297),
    [aux_sym_simple_identifier_token4] = ACTIONS(1297),
    [anon_sym_actor] = ACTIONS(1295),
    [anon_sym_async] = ACTIONS(1295),
    [anon_sym_each] = ACTIONS(1301),
    [anon_sym_lazy] = ACTIONS(1295),
    [anon_sym_repeat] = ACTIONS(1303),
    [anon_sym_package] = ACTIONS(1295),
    [anon_sym_nil] = ACTIONS(1774),
    [sym_real_literal] = ACTIONS(1776),
    [sym_integer_literal] = ACTIONS(1774),
    [sym_hex_literal] = ACTIONS(1774),
    [sym_oct_literal] = ACTIONS(1776),
    [sym_bin_literal] = ACTIONS(1776),
    [anon_sym_true] = ACTIONS(1309),
    [anon_sym_false] = ACTIONS(1309),
    [anon_sym_DQUOTE] = ACTIONS(1311),
    [anon_sym_BSLASH] = ACTIONS(1313),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1315),
    [sym__oneline_regex_literal] = ACTIONS(1317),
    [anon_sym_LPAREN] = ACTIONS(1319),
    [anon_sym_LBRACK] = ACTIONS(1321),
    [anon_sym_AMP] = ACTIONS(1323),
    [anon_sym_TILDE] = ACTIONS(1323),
    [anon_sym_if] = ACTIONS(1325),
    [anon_sym_switch] = ACTIONS(1327),
    [aux_sym_custom_operator_token1] = ACTIONS(1329),
    [anon_sym_LT] = ACTIONS(1774),
    [anon_sym_GT] = ACTIONS(1774),
    [anon_sym_await] = ACTIONS(1331),
    [anon_sym_LBRACE] = ACTIONS(1333),
    [anon_sym_CARET_LBRACE] = ACTIONS(1333),
    [anon_sym_self] = ACTIONS(1335),
    [anon_sym_super] = ACTIONS(1337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1776),
    [anon_sym_DASH_EQ] = ACTIONS(1776),
    [anon_sym_STAR_EQ] = ACTIONS(1776),
    [anon_sym_SLASH_EQ] = ACTIONS(1776),
    [anon_sym_PERCENT_EQ] = ACTIONS(1776),
    [anon_sym_BANG_EQ] = ACTIONS(1774),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1776),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1776),
    [anon_sym_LT_EQ] = ACTIONS(1776),
    [anon_sym_GT_EQ] = ACTIONS(1776),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1341),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1343),
    [anon_sym_PLUS] = ACTIONS(1345),
    [anon_sym_DASH] = ACTIONS(1345),
    [anon_sym_STAR] = ACTIONS(1774),
    [anon_sym_SLASH] = ACTIONS(1774),
    [anon_sym_PERCENT] = ACTIONS(1774),
    [anon_sym_PLUS_PLUS] = ACTIONS(1323),
    [anon_sym_DASH_DASH] = ACTIONS(1323),
    [anon_sym_PIPE] = ACTIONS(1776),
    [anon_sym_CARET] = ACTIONS(1774),
    [anon_sym_LT_LT] = ACTIONS(1776),
    [anon_sym_GT_GT] = ACTIONS(1776),
    [anon_sym_borrowing] = ACTIONS(1295),
    [anon_sym_consuming] = ACTIONS(1295),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1347),
    [sym__dot_custom] = ACTIONS(1349),
    [sym__eq_custom] = ACTIONS(1776),
    [sym__eq_eq_custom] = ACTIONS(1776),
    [sym__plus_then_ws] = ACTIONS(1776),
    [sym__minus_then_ws] = ACTIONS(1776),
    [sym__bang_custom] = ACTIONS(1351),
    [sym__custom_operator] = ACTIONS(1329),
    [sym__hash_symbol_custom] = ACTIONS(1371),
    [sym__directive_if] = ACTIONS(1355),
    [sym__directive_elseif] = ACTIONS(1355),
    [sym__directive_else] = ACTIONS(1357),
    [sym__directive_endif] = ACTIONS(1357),
  },
  [454] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1642),
    [sym_boolean_literal] = STATE(1642),
    [sym__string_literal] = STATE(1642),
    [sym_line_string_literal] = STATE(1642),
    [sym_multi_line_string_literal] = STATE(1642),
    [sym_raw_string_literal] = STATE(1642),
    [sym_regex_literal] = STATE(1642),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1642),
    [sym__unary_expression] = STATE(1642),
    [sym_postfix_expression] = STATE(1642),
    [sym_constructor_expression] = STATE(1642),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1642),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1642),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1642),
    [sym_prefix_expression] = STATE(1642),
    [sym_as_expression] = STATE(1642),
    [sym_selector_expression] = STATE(1642),
    [sym__binary_expression] = STATE(1642),
    [sym_multiplicative_expression] = STATE(1642),
    [sym_additive_expression] = STATE(1642),
    [sym_range_expression] = STATE(1642),
    [sym_infix_expression] = STATE(1642),
    [sym_nil_coalescing_expression] = STATE(1642),
    [sym_check_expression] = STATE(1642),
    [sym_comparison_expression] = STATE(1642),
    [sym_equality_expression] = STATE(1642),
    [sym_conjunction_expression] = STATE(1642),
    [sym_disjunction_expression] = STATE(1642),
    [sym_bitwise_operation] = STATE(1642),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1642),
    [sym_await_expression] = STATE(1642),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1642),
    [sym_call_expression] = STATE(1642),
    [sym_macro_invocation] = STATE(1642),
    [sym__primary_expression] = STATE(1642),
    [sym_tuple_expression] = STATE(1642),
    [sym_array_literal] = STATE(1642),
    [sym_dictionary_literal] = STATE(1642),
    [sym_special_literal] = STATE(1642),
    [sym_playground_literal] = STATE(1642),
    [sym_lambda_literal] = STATE(1642),
    [sym_self_expression] = STATE(1642),
    [sym_super_expression] = STATE(1642),
    [sym_if_statement] = STATE(1642),
    [sym_switch_statement] = STATE(1642),
    [sym_key_path_expression] = STATE(1642),
    [sym_key_path_string_expression] = STATE(1642),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1642),
    [sym__equality_operator] = STATE(1642),
    [sym__comparison_operator] = STATE(1642),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1642),
    [sym__multiplicative_operator] = STATE(1642),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1642),
    [sym_value_parameter_pack] = STATE(1642),
    [sym_value_pack_expansion] = STATE(1642),
    [sym__referenceable_operator] = STATE(1642),
    [sym__equal_sign] = STATE(1642),
    [sym__eq_eq] = STATE(1642),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1642),
    [sym_diagnostic] = STATE(1642),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1826),
    [sym_real_literal] = ACTIONS(1828),
    [sym_integer_literal] = ACTIONS(1826),
    [sym_hex_literal] = ACTIONS(1826),
    [sym_oct_literal] = ACTIONS(1828),
    [sym_bin_literal] = ACTIONS(1828),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [anon_sym_getter_COLON] = ACTIONS(1830),
    [anon_sym_setter_COLON] = ACTIONS(1830),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1826),
    [anon_sym_GT] = ACTIONS(1826),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1828),
    [anon_sym_DASH_EQ] = ACTIONS(1828),
    [anon_sym_STAR_EQ] = ACTIONS(1828),
    [anon_sym_SLASH_EQ] = ACTIONS(1828),
    [anon_sym_PERCENT_EQ] = ACTIONS(1828),
    [anon_sym_BANG_EQ] = ACTIONS(1826),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1828),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1828),
    [anon_sym_LT_EQ] = ACTIONS(1828),
    [anon_sym_GT_EQ] = ACTIONS(1828),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1826),
    [anon_sym_SLASH] = ACTIONS(1826),
    [anon_sym_PERCENT] = ACTIONS(1826),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1828),
    [anon_sym_CARET] = ACTIONS(1826),
    [anon_sym_LT_LT] = ACTIONS(1828),
    [anon_sym_GT_GT] = ACTIONS(1828),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1828),
    [sym__eq_eq_custom] = ACTIONS(1828),
    [sym__plus_then_ws] = ACTIONS(1828),
    [sym__minus_then_ws] = ACTIONS(1828),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [455] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(783),
    [sym_boolean_literal] = STATE(783),
    [sym__string_literal] = STATE(783),
    [sym_line_string_literal] = STATE(783),
    [sym_multi_line_string_literal] = STATE(783),
    [sym_raw_string_literal] = STATE(783),
    [sym_regex_literal] = STATE(783),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(783),
    [sym__unary_expression] = STATE(783),
    [sym_postfix_expression] = STATE(783),
    [sym_constructor_expression] = STATE(783),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(783),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(783),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(783),
    [sym_prefix_expression] = STATE(783),
    [sym_as_expression] = STATE(783),
    [sym_selector_expression] = STATE(783),
    [sym__binary_expression] = STATE(783),
    [sym_multiplicative_expression] = STATE(783),
    [sym_additive_expression] = STATE(783),
    [sym_range_expression] = STATE(783),
    [sym_infix_expression] = STATE(783),
    [sym_nil_coalescing_expression] = STATE(783),
    [sym_check_expression] = STATE(783),
    [sym_comparison_expression] = STATE(783),
    [sym_equality_expression] = STATE(783),
    [sym_conjunction_expression] = STATE(783),
    [sym_disjunction_expression] = STATE(783),
    [sym_bitwise_operation] = STATE(783),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(783),
    [sym_await_expression] = STATE(783),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(783),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(1372),
    [sym_expr_hack_at_ternary_binary_call] = STATE(1372),
    [sym_call_expression] = STATE(783),
    [sym_macro_invocation] = STATE(783),
    [sym__primary_expression] = STATE(783),
    [sym_tuple_expression] = STATE(783),
    [sym_array_literal] = STATE(783),
    [sym_dictionary_literal] = STATE(783),
    [sym_special_literal] = STATE(783),
    [sym_playground_literal] = STATE(783),
    [sym_lambda_literal] = STATE(783),
    [sym_self_expression] = STATE(783),
    [sym_super_expression] = STATE(783),
    [sym_if_statement] = STATE(783),
    [sym_switch_statement] = STATE(783),
    [sym_key_path_expression] = STATE(783),
    [sym_key_path_string_expression] = STATE(783),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(783),
    [sym__equality_operator] = STATE(783),
    [sym__comparison_operator] = STATE(783),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(783),
    [sym__multiplicative_operator] = STATE(783),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_assignment] = STATE(783),
    [sym_value_parameter_pack] = STATE(783),
    [sym_value_pack_expansion] = STATE(783),
    [sym__referenceable_operator] = STATE(783),
    [sym__equal_sign] = STATE(783),
    [sym__eq_eq] = STATE(783),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(783),
    [sym_diagnostic] = STATE(783),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(289),
    [anon_sym_async] = ACTIONS(289),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(289),
    [anon_sym_repeat] = ACTIONS(733),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(1782),
    [sym_real_literal] = ACTIONS(1784),
    [sym_integer_literal] = ACTIONS(1782),
    [sym_hex_literal] = ACTIONS(1782),
    [sym_oct_literal] = ACTIONS(1784),
    [sym_bin_literal] = ACTIONS(1784),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(1782),
    [anon_sym_GT] = ACTIONS(1782),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1784),
    [anon_sym_DASH_EQ] = ACTIONS(1784),
    [anon_sym_STAR_EQ] = ACTIONS(1784),
    [anon_sym_SLASH_EQ] = ACTIONS(1784),
    [anon_sym_PERCENT_EQ] = ACTIONS(1784),
    [anon_sym_BANG_EQ] = ACTIONS(1782),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1784),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1784),
    [anon_sym_LT_EQ] = ACTIONS(1784),
    [anon_sym_GT_EQ] = ACTIONS(1784),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(1782),
    [anon_sym_SLASH] = ACTIONS(1782),
    [anon_sym_PERCENT] = ACTIONS(1782),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(1784),
    [anon_sym_CARET] = ACTIONS(1782),
    [anon_sym_LT_LT] = ACTIONS(1784),
    [anon_sym_GT_GT] = ACTIONS(1784),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(1784),
    [sym__eq_eq_custom] = ACTIONS(1784),
    [sym__plus_then_ws] = ACTIONS(1784),
    [sym__minus_then_ws] = ACTIONS(1784),
    [sym__bang_custom] = ACTIONS(373),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [456] = {
    [sym_simple_identifier] = STATE(2645),
    [sym__contextual_simple_identifier] = STATE(2445),
    [sym__basic_literal] = STATE(1481),
    [sym_boolean_literal] = STATE(1481),
    [sym__string_literal] = STATE(1481),
    [sym_line_string_literal] = STATE(1481),
    [sym_multi_line_string_literal] = STATE(1481),
    [sym_raw_string_literal] = STATE(1481),
    [sym_regex_literal] = STATE(1481),
    [sym__extended_regex_literal] = STATE(2955),
    [sym__multiline_regex_literal] = STATE(2955),
    [sym_user_type] = STATE(6382),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6382),
    [sym_dictionary_type] = STATE(6382),
    [sym__expression] = STATE(1481),
    [sym__unary_expression] = STATE(1481),
    [sym_postfix_expression] = STATE(1481),
    [sym_constructor_expression] = STATE(1481),
    [sym__parenthesized_type] = STATE(7692),
    [sym_navigation_expression] = STATE(1481),
    [sym__navigable_type_expression] = STATE(7690),
    [sym_open_start_range_expression] = STATE(1481),
    [sym__range_operator] = STATE(672),
    [sym_open_end_range_expression] = STATE(1481),
    [sym_prefix_expression] = STATE(1481),
    [sym_as_expression] = STATE(1481),
    [sym_selector_expression] = STATE(1481),
    [sym__binary_expression] = STATE(1481),
    [sym_multiplicative_expression] = STATE(1481),
    [sym_additive_expression] = STATE(1481),
    [sym_range_expression] = STATE(1481),
    [sym_infix_expression] = STATE(1481),
    [sym_nil_coalescing_expression] = STATE(1481),
    [sym_check_expression] = STATE(1481),
    [sym_comparison_expression] = STATE(1481),
    [sym_equality_expression] = STATE(1481),
    [sym_conjunction_expression] = STATE(1481),
    [sym_disjunction_expression] = STATE(1481),
    [sym_bitwise_operation] = STATE(1481),
    [sym_custom_operator] = STATE(1170),
    [sym_try_expression] = STATE(1481),
    [sym_await_expression] = STATE(1481),
    [sym__await_operator] = STATE(716),
    [sym_ternary_expression] = STATE(1481),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(2844),
    [sym_expr_hack_at_ternary_binary_call] = STATE(2844),
    [sym_call_expression] = STATE(1481),
    [sym_macro_invocation] = STATE(1481),
    [sym__primary_expression] = STATE(1481),
    [sym_tuple_expression] = STATE(1481),
    [sym_array_literal] = STATE(1481),
    [sym_dictionary_literal] = STATE(1481),
    [sym_special_literal] = STATE(1481),
    [sym_playground_literal] = STATE(1481),
    [sym_lambda_literal] = STATE(1481),
    [sym_self_expression] = STATE(1481),
    [sym_super_expression] = STATE(1481),
    [sym_if_statement] = STATE(1481),
    [sym_switch_statement] = STATE(1481),
    [sym_key_path_expression] = STATE(1481),
    [sym_key_path_string_expression] = STATE(1481),
    [sym_try_operator] = STATE(732),
    [sym__assignment_and_operator] = STATE(1481),
    [sym__equality_operator] = STATE(1481),
    [sym__comparison_operator] = STATE(1481),
    [sym__three_dot_operator] = STATE(1173),
    [sym__open_ended_range_operator] = STATE(672),
    [sym__additive_operator] = STATE(1481),
    [sym__multiplicative_operator] = STATE(1481),
    [sym__prefix_unary_operator] = STATE(647),
    [sym_directly_assignable_expression] = STATE(6379),
    [sym_assignment] = STATE(1481),
    [sym_value_parameter_pack] = STATE(1481),
    [sym_value_pack_expansion] = STATE(1481),
    [sym__referenceable_operator] = STATE(1481),
    [sym__equal_sign] = STATE(1481),
    [sym__eq_eq] = STATE(1481),
    [sym__dot] = STATE(647),
    [sym__hash_symbol] = STATE(4854),
    [sym_bang] = STATE(1170),
    [sym__parameter_ownership_modifier] = STATE(2445),
    [sym_directive] = STATE(1481),
    [sym_diagnostic] = STATE(1481),
    [aux_sym_raw_string_literal_repeat1] = STATE(7509),
    [anon_sym_BANG] = ACTIONS(1119),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1121),
    [aux_sym_simple_identifier_token2] = ACTIONS(1123),
    [aux_sym_simple_identifier_token3] = ACTIONS(1123),
    [aux_sym_simple_identifier_token4] = ACTIONS(1123),
    [anon_sym_actor] = ACTIONS(1121),
    [anon_sym_async] = ACTIONS(1121),
    [anon_sym_each] = ACTIONS(1125),
    [anon_sym_lazy] = ACTIONS(1121),
    [anon_sym_repeat] = ACTIONS(1127),
    [anon_sym_package] = ACTIONS(1121),
    [anon_sym_nil] = ACTIONS(1756),
    [sym_real_literal] = ACTIONS(1758),
    [sym_integer_literal] = ACTIONS(1756),
    [sym_hex_literal] = ACTIONS(1756),
    [sym_oct_literal] = ACTIONS(1758),
    [sym_bin_literal] = ACTIONS(1758),
    [anon_sym_true] = ACTIONS(1133),
    [anon_sym_false] = ACTIONS(1133),
    [anon_sym_DQUOTE] = ACTIONS(1135),
    [anon_sym_BSLASH] = ACTIONS(1137),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1139),
    [sym__oneline_regex_literal] = ACTIONS(1141),
    [anon_sym_LPAREN] = ACTIONS(1143),
    [anon_sym_LBRACK] = ACTIONS(1145),
    [anon_sym_AMP] = ACTIONS(1147),
    [anon_sym_TILDE] = ACTIONS(1147),
    [anon_sym_if] = ACTIONS(1149),
    [anon_sym_switch] = ACTIONS(1151),
    [aux_sym_custom_operator_token1] = ACTIONS(1153),
    [anon_sym_LT] = ACTIONS(1756),
    [anon_sym_GT] = ACTIONS(1756),
    [anon_sym_await] = ACTIONS(1155),
    [anon_sym_LBRACE] = ACTIONS(1157),
    [anon_sym_CARET_LBRACE] = ACTIONS(1157),
    [anon_sym_self] = ACTIONS(1159),
    [anon_sym_super] = ACTIONS(1161),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1758),
    [anon_sym_DASH_EQ] = ACTIONS(1758),
    [anon_sym_STAR_EQ] = ACTIONS(1758),
    [anon_sym_SLASH_EQ] = ACTIONS(1758),
    [anon_sym_PERCENT_EQ] = ACTIONS(1758),
    [anon_sym_BANG_EQ] = ACTIONS(1756),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1758),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1758),
    [anon_sym_LT_EQ] = ACTIONS(1758),
    [anon_sym_GT_EQ] = ACTIONS(1758),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1163),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1165),
    [anon_sym_PLUS] = ACTIONS(1167),
    [anon_sym_DASH] = ACTIONS(1167),
    [anon_sym_STAR] = ACTIONS(1756),
    [anon_sym_SLASH] = ACTIONS(1756),
    [anon_sym_PERCENT] = ACTIONS(1756),
    [anon_sym_PLUS_PLUS] = ACTIONS(1147),
    [anon_sym_DASH_DASH] = ACTIONS(1147),
    [anon_sym_PIPE] = ACTIONS(1758),
    [anon_sym_CARET] = ACTIONS(1756),
    [anon_sym_LT_LT] = ACTIONS(1758),
    [anon_sym_GT_GT] = ACTIONS(1758),
    [anon_sym_borrowing] = ACTIONS(1121),
    [anon_sym_consuming] = ACTIONS(1121),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1169),
    [sym__dot_custom] = ACTIONS(1171),
    [sym__eq_custom] = ACTIONS(1758),
    [sym__eq_eq_custom] = ACTIONS(1758),
    [sym__plus_then_ws] = ACTIONS(1758),
    [sym__minus_then_ws] = ACTIONS(1758),
    [sym__bang_custom] = ACTIONS(1173),
    [sym__custom_operator] = ACTIONS(1153),
    [sym__hash_symbol_custom] = ACTIONS(1175),
    [sym__directive_if] = ACTIONS(1177),
    [sym__directive_elseif] = ACTIONS(1177),
    [sym__directive_else] = ACTIONS(1179),
    [sym__directive_endif] = ACTIONS(1179),
  },
  [457] = {
    [sym_simple_identifier] = STATE(2645),
    [sym__contextual_simple_identifier] = STATE(2445),
    [sym__basic_literal] = STATE(1481),
    [sym_boolean_literal] = STATE(1481),
    [sym__string_literal] = STATE(1481),
    [sym_line_string_literal] = STATE(1481),
    [sym_multi_line_string_literal] = STATE(1481),
    [sym_raw_string_literal] = STATE(1481),
    [sym_regex_literal] = STATE(1481),
    [sym__extended_regex_literal] = STATE(2955),
    [sym__multiline_regex_literal] = STATE(2955),
    [sym_user_type] = STATE(6382),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6382),
    [sym_dictionary_type] = STATE(6382),
    [sym__expression] = STATE(1481),
    [sym__unary_expression] = STATE(1481),
    [sym_postfix_expression] = STATE(1481),
    [sym_constructor_expression] = STATE(1481),
    [sym__parenthesized_type] = STATE(7692),
    [sym_navigation_expression] = STATE(1481),
    [sym__navigable_type_expression] = STATE(7690),
    [sym_open_start_range_expression] = STATE(1481),
    [sym__range_operator] = STATE(672),
    [sym_open_end_range_expression] = STATE(1481),
    [sym_prefix_expression] = STATE(1481),
    [sym_as_expression] = STATE(1481),
    [sym_selector_expression] = STATE(1481),
    [sym__binary_expression] = STATE(1481),
    [sym_multiplicative_expression] = STATE(1481),
    [sym_additive_expression] = STATE(1481),
    [sym_range_expression] = STATE(1481),
    [sym_infix_expression] = STATE(1481),
    [sym_nil_coalescing_expression] = STATE(1481),
    [sym_check_expression] = STATE(1481),
    [sym_comparison_expression] = STATE(1481),
    [sym_equality_expression] = STATE(1481),
    [sym_conjunction_expression] = STATE(1481),
    [sym_disjunction_expression] = STATE(1481),
    [sym_bitwise_operation] = STATE(1481),
    [sym_custom_operator] = STATE(1170),
    [sym_try_expression] = STATE(1481),
    [sym_await_expression] = STATE(1481),
    [sym__await_operator] = STATE(716),
    [sym_ternary_expression] = STATE(1481),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(2857),
    [sym_expr_hack_at_ternary_binary_call] = STATE(2857),
    [sym_call_expression] = STATE(1481),
    [sym_macro_invocation] = STATE(1481),
    [sym__primary_expression] = STATE(1481),
    [sym_tuple_expression] = STATE(1481),
    [sym_array_literal] = STATE(1481),
    [sym_dictionary_literal] = STATE(1481),
    [sym_special_literal] = STATE(1481),
    [sym_playground_literal] = STATE(1481),
    [sym_lambda_literal] = STATE(1481),
    [sym_self_expression] = STATE(1481),
    [sym_super_expression] = STATE(1481),
    [sym_if_statement] = STATE(1481),
    [sym_switch_statement] = STATE(1481),
    [sym_key_path_expression] = STATE(1481),
    [sym_key_path_string_expression] = STATE(1481),
    [sym_try_operator] = STATE(732),
    [sym__assignment_and_operator] = STATE(1481),
    [sym__equality_operator] = STATE(1481),
    [sym__comparison_operator] = STATE(1481),
    [sym__three_dot_operator] = STATE(1173),
    [sym__open_ended_range_operator] = STATE(672),
    [sym__additive_operator] = STATE(1481),
    [sym__multiplicative_operator] = STATE(1481),
    [sym__prefix_unary_operator] = STATE(647),
    [sym_directly_assignable_expression] = STATE(6379),
    [sym_assignment] = STATE(1481),
    [sym_value_parameter_pack] = STATE(1481),
    [sym_value_pack_expansion] = STATE(1481),
    [sym__referenceable_operator] = STATE(1481),
    [sym__equal_sign] = STATE(1481),
    [sym__eq_eq] = STATE(1481),
    [sym__dot] = STATE(647),
    [sym__hash_symbol] = STATE(4854),
    [sym_bang] = STATE(1170),
    [sym__parameter_ownership_modifier] = STATE(2445),
    [sym_directive] = STATE(1481),
    [sym_diagnostic] = STATE(1481),
    [aux_sym_raw_string_literal_repeat1] = STATE(7509),
    [anon_sym_BANG] = ACTIONS(1119),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1121),
    [aux_sym_simple_identifier_token2] = ACTIONS(1123),
    [aux_sym_simple_identifier_token3] = ACTIONS(1123),
    [aux_sym_simple_identifier_token4] = ACTIONS(1123),
    [anon_sym_actor] = ACTIONS(1121),
    [anon_sym_async] = ACTIONS(1121),
    [anon_sym_each] = ACTIONS(1125),
    [anon_sym_lazy] = ACTIONS(1121),
    [anon_sym_repeat] = ACTIONS(1127),
    [anon_sym_package] = ACTIONS(1121),
    [anon_sym_nil] = ACTIONS(1756),
    [sym_real_literal] = ACTIONS(1758),
    [sym_integer_literal] = ACTIONS(1756),
    [sym_hex_literal] = ACTIONS(1756),
    [sym_oct_literal] = ACTIONS(1758),
    [sym_bin_literal] = ACTIONS(1758),
    [anon_sym_true] = ACTIONS(1133),
    [anon_sym_false] = ACTIONS(1133),
    [anon_sym_DQUOTE] = ACTIONS(1135),
    [anon_sym_BSLASH] = ACTIONS(1137),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1139),
    [sym__oneline_regex_literal] = ACTIONS(1141),
    [anon_sym_LPAREN] = ACTIONS(1143),
    [anon_sym_LBRACK] = ACTIONS(1145),
    [anon_sym_AMP] = ACTIONS(1147),
    [anon_sym_TILDE] = ACTIONS(1147),
    [anon_sym_if] = ACTIONS(1149),
    [anon_sym_switch] = ACTIONS(1151),
    [aux_sym_custom_operator_token1] = ACTIONS(1153),
    [anon_sym_LT] = ACTIONS(1756),
    [anon_sym_GT] = ACTIONS(1756),
    [anon_sym_await] = ACTIONS(1155),
    [anon_sym_LBRACE] = ACTIONS(1157),
    [anon_sym_CARET_LBRACE] = ACTIONS(1157),
    [anon_sym_self] = ACTIONS(1159),
    [anon_sym_super] = ACTIONS(1161),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1758),
    [anon_sym_DASH_EQ] = ACTIONS(1758),
    [anon_sym_STAR_EQ] = ACTIONS(1758),
    [anon_sym_SLASH_EQ] = ACTIONS(1758),
    [anon_sym_PERCENT_EQ] = ACTIONS(1758),
    [anon_sym_BANG_EQ] = ACTIONS(1756),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1758),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1758),
    [anon_sym_LT_EQ] = ACTIONS(1758),
    [anon_sym_GT_EQ] = ACTIONS(1758),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1163),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1165),
    [anon_sym_PLUS] = ACTIONS(1167),
    [anon_sym_DASH] = ACTIONS(1167),
    [anon_sym_STAR] = ACTIONS(1756),
    [anon_sym_SLASH] = ACTIONS(1756),
    [anon_sym_PERCENT] = ACTIONS(1756),
    [anon_sym_PLUS_PLUS] = ACTIONS(1147),
    [anon_sym_DASH_DASH] = ACTIONS(1147),
    [anon_sym_PIPE] = ACTIONS(1758),
    [anon_sym_CARET] = ACTIONS(1756),
    [anon_sym_LT_LT] = ACTIONS(1758),
    [anon_sym_GT_GT] = ACTIONS(1758),
    [anon_sym_borrowing] = ACTIONS(1121),
    [anon_sym_consuming] = ACTIONS(1121),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1169),
    [sym__dot_custom] = ACTIONS(1171),
    [sym__eq_custom] = ACTIONS(1758),
    [sym__eq_eq_custom] = ACTIONS(1758),
    [sym__plus_then_ws] = ACTIONS(1758),
    [sym__minus_then_ws] = ACTIONS(1758),
    [sym__bang_custom] = ACTIONS(1173),
    [sym__custom_operator] = ACTIONS(1153),
    [sym__hash_symbol_custom] = ACTIONS(1175),
    [sym__directive_if] = ACTIONS(1177),
    [sym__directive_elseif] = ACTIONS(1177),
    [sym__directive_else] = ACTIONS(1179),
    [sym__directive_endif] = ACTIONS(1179),
  },
  [458] = {
    [sym_simple_identifier] = STATE(3023),
    [sym__contextual_simple_identifier] = STATE(2652),
    [sym__basic_literal] = STATE(1489),
    [sym_boolean_literal] = STATE(1489),
    [sym__string_literal] = STATE(1489),
    [sym_line_string_literal] = STATE(1489),
    [sym_multi_line_string_literal] = STATE(1489),
    [sym_raw_string_literal] = STATE(1489),
    [sym_regex_literal] = STATE(1489),
    [sym__extended_regex_literal] = STATE(3428),
    [sym__multiline_regex_literal] = STATE(3428),
    [sym_user_type] = STATE(6368),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6368),
    [sym_dictionary_type] = STATE(6368),
    [sym__expression] = STATE(1489),
    [sym__unary_expression] = STATE(1489),
    [sym_postfix_expression] = STATE(1489),
    [sym_constructor_expression] = STATE(1489),
    [sym__parenthesized_type] = STATE(8119),
    [sym_navigation_expression] = STATE(1489),
    [sym__navigable_type_expression] = STATE(8122),
    [sym_open_start_range_expression] = STATE(1489),
    [sym__range_operator] = STATE(604),
    [sym_open_end_range_expression] = STATE(1489),
    [sym_prefix_expression] = STATE(1489),
    [sym_as_expression] = STATE(1489),
    [sym_selector_expression] = STATE(1489),
    [sym__binary_expression] = STATE(1489),
    [sym_multiplicative_expression] = STATE(1489),
    [sym_additive_expression] = STATE(1489),
    [sym_range_expression] = STATE(1489),
    [sym_infix_expression] = STATE(1489),
    [sym_nil_coalescing_expression] = STATE(1489),
    [sym_check_expression] = STATE(1489),
    [sym_comparison_expression] = STATE(1489),
    [sym_equality_expression] = STATE(1489),
    [sym_conjunction_expression] = STATE(1489),
    [sym_disjunction_expression] = STATE(1489),
    [sym_bitwise_operation] = STATE(1489),
    [sym_custom_operator] = STATE(1207),
    [sym_try_expression] = STATE(1489),
    [sym_await_expression] = STATE(1489),
    [sym__await_operator] = STATE(605),
    [sym_ternary_expression] = STATE(1489),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(3564),
    [sym_expr_hack_at_ternary_binary_call] = STATE(3564),
    [sym_call_expression] = STATE(1489),
    [sym_macro_invocation] = STATE(1489),
    [sym__primary_expression] = STATE(1489),
    [sym_tuple_expression] = STATE(1489),
    [sym_array_literal] = STATE(1489),
    [sym_dictionary_literal] = STATE(1489),
    [sym_special_literal] = STATE(1489),
    [sym_playground_literal] = STATE(1489),
    [sym_lambda_literal] = STATE(1489),
    [sym_self_expression] = STATE(1489),
    [sym_super_expression] = STATE(1489),
    [sym_if_statement] = STATE(1489),
    [sym_switch_statement] = STATE(1489),
    [sym_key_path_expression] = STATE(1489),
    [sym_key_path_string_expression] = STATE(1489),
    [sym_try_operator] = STATE(606),
    [sym__assignment_and_operator] = STATE(1489),
    [sym__equality_operator] = STATE(1489),
    [sym__comparison_operator] = STATE(1489),
    [sym__three_dot_operator] = STATE(1208),
    [sym__open_ended_range_operator] = STATE(604),
    [sym__additive_operator] = STATE(1489),
    [sym__multiplicative_operator] = STATE(1489),
    [sym__prefix_unary_operator] = STATE(616),
    [sym_directly_assignable_expression] = STATE(6371),
    [sym_assignment] = STATE(1489),
    [sym_value_parameter_pack] = STATE(1489),
    [sym_value_pack_expansion] = STATE(1489),
    [sym__referenceable_operator] = STATE(1489),
    [sym__equal_sign] = STATE(1489),
    [sym__eq_eq] = STATE(1489),
    [sym__dot] = STATE(616),
    [sym__hash_symbol] = STATE(4844),
    [sym_bang] = STATE(1207),
    [sym__parameter_ownership_modifier] = STATE(2652),
    [sym_directive] = STATE(1489),
    [sym_diagnostic] = STATE(1489),
    [aux_sym_raw_string_literal_repeat1] = STATE(8127),
    [anon_sym_BANG] = ACTIONS(1195),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1197),
    [aux_sym_simple_identifier_token2] = ACTIONS(1199),
    [aux_sym_simple_identifier_token3] = ACTIONS(1199),
    [aux_sym_simple_identifier_token4] = ACTIONS(1199),
    [anon_sym_actor] = ACTIONS(1197),
    [anon_sym_async] = ACTIONS(1197),
    [anon_sym_each] = ACTIONS(1201),
    [anon_sym_lazy] = ACTIONS(1197),
    [anon_sym_repeat] = ACTIONS(1203),
    [anon_sym_package] = ACTIONS(1197),
    [anon_sym_nil] = ACTIONS(1760),
    [sym_real_literal] = ACTIONS(1762),
    [sym_integer_literal] = ACTIONS(1760),
    [sym_hex_literal] = ACTIONS(1760),
    [sym_oct_literal] = ACTIONS(1762),
    [sym_bin_literal] = ACTIONS(1762),
    [anon_sym_true] = ACTIONS(1209),
    [anon_sym_false] = ACTIONS(1209),
    [anon_sym_DQUOTE] = ACTIONS(1211),
    [anon_sym_BSLASH] = ACTIONS(1213),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1215),
    [sym__oneline_regex_literal] = ACTIONS(1217),
    [anon_sym_LPAREN] = ACTIONS(1219),
    [anon_sym_LBRACK] = ACTIONS(1221),
    [anon_sym_AMP] = ACTIONS(1223),
    [anon_sym_TILDE] = ACTIONS(1223),
    [anon_sym_if] = ACTIONS(1225),
    [anon_sym_switch] = ACTIONS(1227),
    [aux_sym_custom_operator_token1] = ACTIONS(1229),
    [anon_sym_LT] = ACTIONS(1760),
    [anon_sym_GT] = ACTIONS(1760),
    [anon_sym_await] = ACTIONS(1231),
    [anon_sym_LBRACE] = ACTIONS(1233),
    [anon_sym_CARET_LBRACE] = ACTIONS(1233),
    [anon_sym_self] = ACTIONS(1235),
    [anon_sym_super] = ACTIONS(1237),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1762),
    [anon_sym_DASH_EQ] = ACTIONS(1762),
    [anon_sym_STAR_EQ] = ACTIONS(1762),
    [anon_sym_SLASH_EQ] = ACTIONS(1762),
    [anon_sym_PERCENT_EQ] = ACTIONS(1762),
    [anon_sym_BANG_EQ] = ACTIONS(1760),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1762),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1762),
    [anon_sym_LT_EQ] = ACTIONS(1762),
    [anon_sym_GT_EQ] = ACTIONS(1762),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1241),
    [anon_sym_PLUS] = ACTIONS(1243),
    [anon_sym_DASH] = ACTIONS(1243),
    [anon_sym_STAR] = ACTIONS(1760),
    [anon_sym_SLASH] = ACTIONS(1760),
    [anon_sym_PERCENT] = ACTIONS(1760),
    [anon_sym_PLUS_PLUS] = ACTIONS(1223),
    [anon_sym_DASH_DASH] = ACTIONS(1223),
    [anon_sym_PIPE] = ACTIONS(1762),
    [anon_sym_CARET] = ACTIONS(1760),
    [anon_sym_LT_LT] = ACTIONS(1762),
    [anon_sym_GT_GT] = ACTIONS(1762),
    [anon_sym_borrowing] = ACTIONS(1197),
    [anon_sym_consuming] = ACTIONS(1197),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1245),
    [sym__dot_custom] = ACTIONS(1247),
    [sym__eq_custom] = ACTIONS(1762),
    [sym__eq_eq_custom] = ACTIONS(1762),
    [sym__plus_then_ws] = ACTIONS(1762),
    [sym__minus_then_ws] = ACTIONS(1762),
    [sym__bang_custom] = ACTIONS(1249),
    [sym__custom_operator] = ACTIONS(1229),
    [sym__hash_symbol_custom] = ACTIONS(1251),
    [sym__directive_if] = ACTIONS(1253),
    [sym__directive_elseif] = ACTIONS(1253),
    [sym__directive_else] = ACTIONS(1255),
    [sym__directive_endif] = ACTIONS(1255),
  },
  [459] = {
    [sym_simple_identifier] = STATE(2645),
    [sym__contextual_simple_identifier] = STATE(2445),
    [sym__basic_literal] = STATE(1481),
    [sym_boolean_literal] = STATE(1481),
    [sym__string_literal] = STATE(1481),
    [sym_line_string_literal] = STATE(1481),
    [sym_multi_line_string_literal] = STATE(1481),
    [sym_raw_string_literal] = STATE(1481),
    [sym_regex_literal] = STATE(1481),
    [sym__extended_regex_literal] = STATE(2955),
    [sym__multiline_regex_literal] = STATE(2955),
    [sym_user_type] = STATE(6382),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6382),
    [sym_dictionary_type] = STATE(6382),
    [sym__expression] = STATE(1481),
    [sym__unary_expression] = STATE(1481),
    [sym_postfix_expression] = STATE(1481),
    [sym_constructor_expression] = STATE(1481),
    [sym__parenthesized_type] = STATE(7692),
    [sym_navigation_expression] = STATE(1481),
    [sym__navigable_type_expression] = STATE(7690),
    [sym_open_start_range_expression] = STATE(1481),
    [sym__range_operator] = STATE(672),
    [sym_open_end_range_expression] = STATE(1481),
    [sym_prefix_expression] = STATE(1481),
    [sym_as_expression] = STATE(1481),
    [sym_selector_expression] = STATE(1481),
    [sym__binary_expression] = STATE(1481),
    [sym_multiplicative_expression] = STATE(1481),
    [sym_additive_expression] = STATE(1481),
    [sym_range_expression] = STATE(1481),
    [sym_infix_expression] = STATE(1481),
    [sym_nil_coalescing_expression] = STATE(1481),
    [sym_check_expression] = STATE(1481),
    [sym_comparison_expression] = STATE(1481),
    [sym_equality_expression] = STATE(1481),
    [sym_conjunction_expression] = STATE(1481),
    [sym_disjunction_expression] = STATE(1481),
    [sym_bitwise_operation] = STATE(1481),
    [sym_custom_operator] = STATE(1170),
    [sym_try_expression] = STATE(1481),
    [sym_await_expression] = STATE(1481),
    [sym__await_operator] = STATE(716),
    [sym_ternary_expression] = STATE(1481),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(2850),
    [sym_expr_hack_at_ternary_binary_call] = STATE(2850),
    [sym_call_expression] = STATE(1481),
    [sym_macro_invocation] = STATE(1481),
    [sym__primary_expression] = STATE(1481),
    [sym_tuple_expression] = STATE(1481),
    [sym_array_literal] = STATE(1481),
    [sym_dictionary_literal] = STATE(1481),
    [sym_special_literal] = STATE(1481),
    [sym_playground_literal] = STATE(1481),
    [sym_lambda_literal] = STATE(1481),
    [sym_self_expression] = STATE(1481),
    [sym_super_expression] = STATE(1481),
    [sym_if_statement] = STATE(1481),
    [sym_switch_statement] = STATE(1481),
    [sym_key_path_expression] = STATE(1481),
    [sym_key_path_string_expression] = STATE(1481),
    [sym_try_operator] = STATE(732),
    [sym__assignment_and_operator] = STATE(1481),
    [sym__equality_operator] = STATE(1481),
    [sym__comparison_operator] = STATE(1481),
    [sym__three_dot_operator] = STATE(1173),
    [sym__open_ended_range_operator] = STATE(672),
    [sym__additive_operator] = STATE(1481),
    [sym__multiplicative_operator] = STATE(1481),
    [sym__prefix_unary_operator] = STATE(647),
    [sym_directly_assignable_expression] = STATE(6379),
    [sym_assignment] = STATE(1481),
    [sym_value_parameter_pack] = STATE(1481),
    [sym_value_pack_expansion] = STATE(1481),
    [sym__referenceable_operator] = STATE(1481),
    [sym__equal_sign] = STATE(1481),
    [sym__eq_eq] = STATE(1481),
    [sym__dot] = STATE(647),
    [sym__hash_symbol] = STATE(4854),
    [sym_bang] = STATE(1170),
    [sym__parameter_ownership_modifier] = STATE(2445),
    [sym_directive] = STATE(1481),
    [sym_diagnostic] = STATE(1481),
    [aux_sym_raw_string_literal_repeat1] = STATE(7509),
    [anon_sym_BANG] = ACTIONS(1119),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1121),
    [aux_sym_simple_identifier_token2] = ACTIONS(1123),
    [aux_sym_simple_identifier_token3] = ACTIONS(1123),
    [aux_sym_simple_identifier_token4] = ACTIONS(1123),
    [anon_sym_actor] = ACTIONS(1121),
    [anon_sym_async] = ACTIONS(1121),
    [anon_sym_each] = ACTIONS(1125),
    [anon_sym_lazy] = ACTIONS(1121),
    [anon_sym_repeat] = ACTIONS(1127),
    [anon_sym_package] = ACTIONS(1121),
    [anon_sym_nil] = ACTIONS(1756),
    [sym_real_literal] = ACTIONS(1758),
    [sym_integer_literal] = ACTIONS(1756),
    [sym_hex_literal] = ACTIONS(1756),
    [sym_oct_literal] = ACTIONS(1758),
    [sym_bin_literal] = ACTIONS(1758),
    [anon_sym_true] = ACTIONS(1133),
    [anon_sym_false] = ACTIONS(1133),
    [anon_sym_DQUOTE] = ACTIONS(1135),
    [anon_sym_BSLASH] = ACTIONS(1137),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1139),
    [sym__oneline_regex_literal] = ACTIONS(1141),
    [anon_sym_LPAREN] = ACTIONS(1143),
    [anon_sym_LBRACK] = ACTIONS(1145),
    [anon_sym_AMP] = ACTIONS(1147),
    [anon_sym_TILDE] = ACTIONS(1147),
    [anon_sym_if] = ACTIONS(1149),
    [anon_sym_switch] = ACTIONS(1151),
    [aux_sym_custom_operator_token1] = ACTIONS(1153),
    [anon_sym_LT] = ACTIONS(1756),
    [anon_sym_GT] = ACTIONS(1756),
    [anon_sym_await] = ACTIONS(1155),
    [anon_sym_LBRACE] = ACTIONS(1157),
    [anon_sym_CARET_LBRACE] = ACTIONS(1157),
    [anon_sym_self] = ACTIONS(1159),
    [anon_sym_super] = ACTIONS(1161),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1758),
    [anon_sym_DASH_EQ] = ACTIONS(1758),
    [anon_sym_STAR_EQ] = ACTIONS(1758),
    [anon_sym_SLASH_EQ] = ACTIONS(1758),
    [anon_sym_PERCENT_EQ] = ACTIONS(1758),
    [anon_sym_BANG_EQ] = ACTIONS(1756),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1758),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1758),
    [anon_sym_LT_EQ] = ACTIONS(1758),
    [anon_sym_GT_EQ] = ACTIONS(1758),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1163),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1165),
    [anon_sym_PLUS] = ACTIONS(1167),
    [anon_sym_DASH] = ACTIONS(1167),
    [anon_sym_STAR] = ACTIONS(1756),
    [anon_sym_SLASH] = ACTIONS(1756),
    [anon_sym_PERCENT] = ACTIONS(1756),
    [anon_sym_PLUS_PLUS] = ACTIONS(1147),
    [anon_sym_DASH_DASH] = ACTIONS(1147),
    [anon_sym_PIPE] = ACTIONS(1758),
    [anon_sym_CARET] = ACTIONS(1756),
    [anon_sym_LT_LT] = ACTIONS(1758),
    [anon_sym_GT_GT] = ACTIONS(1758),
    [anon_sym_borrowing] = ACTIONS(1121),
    [anon_sym_consuming] = ACTIONS(1121),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1169),
    [sym__dot_custom] = ACTIONS(1171),
    [sym__eq_custom] = ACTIONS(1758),
    [sym__eq_eq_custom] = ACTIONS(1758),
    [sym__plus_then_ws] = ACTIONS(1758),
    [sym__minus_then_ws] = ACTIONS(1758),
    [sym__bang_custom] = ACTIONS(1173),
    [sym__custom_operator] = ACTIONS(1153),
    [sym__hash_symbol_custom] = ACTIONS(1175),
    [sym__directive_if] = ACTIONS(1177),
    [sym__directive_elseif] = ACTIONS(1177),
    [sym__directive_else] = ACTIONS(1179),
    [sym__directive_endif] = ACTIONS(1179),
  },
  [460] = {
    [sym_simple_identifier] = STATE(2645),
    [sym__contextual_simple_identifier] = STATE(2445),
    [sym__basic_literal] = STATE(1481),
    [sym_boolean_literal] = STATE(1481),
    [sym__string_literal] = STATE(1481),
    [sym_line_string_literal] = STATE(1481),
    [sym_multi_line_string_literal] = STATE(1481),
    [sym_raw_string_literal] = STATE(1481),
    [sym_regex_literal] = STATE(1481),
    [sym__extended_regex_literal] = STATE(2955),
    [sym__multiline_regex_literal] = STATE(2955),
    [sym_user_type] = STATE(6382),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6382),
    [sym_dictionary_type] = STATE(6382),
    [sym__expression] = STATE(1481),
    [sym__unary_expression] = STATE(1481),
    [sym_postfix_expression] = STATE(1481),
    [sym_constructor_expression] = STATE(1481),
    [sym__parenthesized_type] = STATE(7692),
    [sym_navigation_expression] = STATE(1481),
    [sym__navigable_type_expression] = STATE(7690),
    [sym_open_start_range_expression] = STATE(1481),
    [sym__range_operator] = STATE(672),
    [sym_open_end_range_expression] = STATE(1481),
    [sym_prefix_expression] = STATE(1481),
    [sym_as_expression] = STATE(1481),
    [sym_selector_expression] = STATE(1481),
    [sym__binary_expression] = STATE(1481),
    [sym_multiplicative_expression] = STATE(1481),
    [sym_additive_expression] = STATE(1481),
    [sym_range_expression] = STATE(1481),
    [sym_infix_expression] = STATE(1481),
    [sym_nil_coalescing_expression] = STATE(1481),
    [sym_check_expression] = STATE(1481),
    [sym_comparison_expression] = STATE(1481),
    [sym_equality_expression] = STATE(1481),
    [sym_conjunction_expression] = STATE(1481),
    [sym_disjunction_expression] = STATE(1481),
    [sym_bitwise_operation] = STATE(1481),
    [sym_custom_operator] = STATE(1170),
    [sym_try_expression] = STATE(1481),
    [sym_await_expression] = STATE(1481),
    [sym__await_operator] = STATE(716),
    [sym_ternary_expression] = STATE(1481),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(2845),
    [sym_expr_hack_at_ternary_binary_call] = STATE(2845),
    [sym_call_expression] = STATE(1481),
    [sym_macro_invocation] = STATE(1481),
    [sym__primary_expression] = STATE(1481),
    [sym_tuple_expression] = STATE(1481),
    [sym_array_literal] = STATE(1481),
    [sym_dictionary_literal] = STATE(1481),
    [sym_special_literal] = STATE(1481),
    [sym_playground_literal] = STATE(1481),
    [sym_lambda_literal] = STATE(1481),
    [sym_self_expression] = STATE(1481),
    [sym_super_expression] = STATE(1481),
    [sym_if_statement] = STATE(1481),
    [sym_switch_statement] = STATE(1481),
    [sym_key_path_expression] = STATE(1481),
    [sym_key_path_string_expression] = STATE(1481),
    [sym_try_operator] = STATE(732),
    [sym__assignment_and_operator] = STATE(1481),
    [sym__equality_operator] = STATE(1481),
    [sym__comparison_operator] = STATE(1481),
    [sym__three_dot_operator] = STATE(1173),
    [sym__open_ended_range_operator] = STATE(672),
    [sym__additive_operator] = STATE(1481),
    [sym__multiplicative_operator] = STATE(1481),
    [sym__prefix_unary_operator] = STATE(647),
    [sym_directly_assignable_expression] = STATE(6379),
    [sym_assignment] = STATE(1481),
    [sym_value_parameter_pack] = STATE(1481),
    [sym_value_pack_expansion] = STATE(1481),
    [sym__referenceable_operator] = STATE(1481),
    [sym__equal_sign] = STATE(1481),
    [sym__eq_eq] = STATE(1481),
    [sym__dot] = STATE(647),
    [sym__hash_symbol] = STATE(4854),
    [sym_bang] = STATE(1170),
    [sym__parameter_ownership_modifier] = STATE(2445),
    [sym_directive] = STATE(1481),
    [sym_diagnostic] = STATE(1481),
    [aux_sym_raw_string_literal_repeat1] = STATE(7509),
    [anon_sym_BANG] = ACTIONS(1119),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1121),
    [aux_sym_simple_identifier_token2] = ACTIONS(1123),
    [aux_sym_simple_identifier_token3] = ACTIONS(1123),
    [aux_sym_simple_identifier_token4] = ACTIONS(1123),
    [anon_sym_actor] = ACTIONS(1121),
    [anon_sym_async] = ACTIONS(1121),
    [anon_sym_each] = ACTIONS(1125),
    [anon_sym_lazy] = ACTIONS(1121),
    [anon_sym_repeat] = ACTIONS(1127),
    [anon_sym_package] = ACTIONS(1121),
    [anon_sym_nil] = ACTIONS(1756),
    [sym_real_literal] = ACTIONS(1758),
    [sym_integer_literal] = ACTIONS(1756),
    [sym_hex_literal] = ACTIONS(1756),
    [sym_oct_literal] = ACTIONS(1758),
    [sym_bin_literal] = ACTIONS(1758),
    [anon_sym_true] = ACTIONS(1133),
    [anon_sym_false] = ACTIONS(1133),
    [anon_sym_DQUOTE] = ACTIONS(1135),
    [anon_sym_BSLASH] = ACTIONS(1137),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1139),
    [sym__oneline_regex_literal] = ACTIONS(1141),
    [anon_sym_LPAREN] = ACTIONS(1143),
    [anon_sym_LBRACK] = ACTIONS(1145),
    [anon_sym_AMP] = ACTIONS(1147),
    [anon_sym_TILDE] = ACTIONS(1147),
    [anon_sym_if] = ACTIONS(1149),
    [anon_sym_switch] = ACTIONS(1151),
    [aux_sym_custom_operator_token1] = ACTIONS(1153),
    [anon_sym_LT] = ACTIONS(1756),
    [anon_sym_GT] = ACTIONS(1756),
    [anon_sym_await] = ACTIONS(1155),
    [anon_sym_LBRACE] = ACTIONS(1157),
    [anon_sym_CARET_LBRACE] = ACTIONS(1157),
    [anon_sym_self] = ACTIONS(1159),
    [anon_sym_super] = ACTIONS(1161),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1758),
    [anon_sym_DASH_EQ] = ACTIONS(1758),
    [anon_sym_STAR_EQ] = ACTIONS(1758),
    [anon_sym_SLASH_EQ] = ACTIONS(1758),
    [anon_sym_PERCENT_EQ] = ACTIONS(1758),
    [anon_sym_BANG_EQ] = ACTIONS(1756),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1758),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1758),
    [anon_sym_LT_EQ] = ACTIONS(1758),
    [anon_sym_GT_EQ] = ACTIONS(1758),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1163),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1165),
    [anon_sym_PLUS] = ACTIONS(1167),
    [anon_sym_DASH] = ACTIONS(1167),
    [anon_sym_STAR] = ACTIONS(1756),
    [anon_sym_SLASH] = ACTIONS(1756),
    [anon_sym_PERCENT] = ACTIONS(1756),
    [anon_sym_PLUS_PLUS] = ACTIONS(1147),
    [anon_sym_DASH_DASH] = ACTIONS(1147),
    [anon_sym_PIPE] = ACTIONS(1758),
    [anon_sym_CARET] = ACTIONS(1756),
    [anon_sym_LT_LT] = ACTIONS(1758),
    [anon_sym_GT_GT] = ACTIONS(1758),
    [anon_sym_borrowing] = ACTIONS(1121),
    [anon_sym_consuming] = ACTIONS(1121),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1169),
    [sym__dot_custom] = ACTIONS(1171),
    [sym__eq_custom] = ACTIONS(1758),
    [sym__eq_eq_custom] = ACTIONS(1758),
    [sym__plus_then_ws] = ACTIONS(1758),
    [sym__minus_then_ws] = ACTIONS(1758),
    [sym__bang_custom] = ACTIONS(1173),
    [sym__custom_operator] = ACTIONS(1153),
    [sym__hash_symbol_custom] = ACTIONS(1175),
    [sym__directive_if] = ACTIONS(1177),
    [sym__directive_elseif] = ACTIONS(1177),
    [sym__directive_else] = ACTIONS(1179),
    [sym__directive_endif] = ACTIONS(1179),
  },
  [461] = {
    [sym_simple_identifier] = STATE(1217),
    [sym__contextual_simple_identifier] = STATE(1147),
    [sym__basic_literal] = STATE(774),
    [sym_boolean_literal] = STATE(774),
    [sym__string_literal] = STATE(774),
    [sym_line_string_literal] = STATE(774),
    [sym_multi_line_string_literal] = STATE(774),
    [sym_raw_string_literal] = STATE(774),
    [sym_regex_literal] = STATE(774),
    [sym__extended_regex_literal] = STATE(1286),
    [sym__multiline_regex_literal] = STATE(1286),
    [sym_user_type] = STATE(6397),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6397),
    [sym_dictionary_type] = STATE(6397),
    [sym__expression] = STATE(774),
    [sym__unary_expression] = STATE(774),
    [sym_postfix_expression] = STATE(774),
    [sym_constructor_expression] = STATE(774),
    [sym__parenthesized_type] = STATE(7511),
    [sym_navigation_expression] = STATE(774),
    [sym__navigable_type_expression] = STATE(7510),
    [sym_open_start_range_expression] = STATE(774),
    [sym__range_operator] = STATE(695),
    [sym_open_end_range_expression] = STATE(774),
    [sym_prefix_expression] = STATE(774),
    [sym_as_expression] = STATE(774),
    [sym_selector_expression] = STATE(774),
    [sym__binary_expression] = STATE(774),
    [sym_multiplicative_expression] = STATE(774),
    [sym_additive_expression] = STATE(774),
    [sym_range_expression] = STATE(774),
    [sym_infix_expression] = STATE(774),
    [sym_nil_coalescing_expression] = STATE(774),
    [sym_check_expression] = STATE(774),
    [sym_comparison_expression] = STATE(774),
    [sym_equality_expression] = STATE(774),
    [sym_conjunction_expression] = STATE(774),
    [sym_disjunction_expression] = STATE(774),
    [sym_bitwise_operation] = STATE(774),
    [sym_custom_operator] = STATE(759),
    [sym_try_expression] = STATE(774),
    [sym_await_expression] = STATE(774),
    [sym__await_operator] = STATE(644),
    [sym_ternary_expression] = STATE(774),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(1283),
    [sym_expr_hack_at_ternary_binary_call] = STATE(1283),
    [sym_call_expression] = STATE(774),
    [sym_macro_invocation] = STATE(774),
    [sym__primary_expression] = STATE(774),
    [sym_tuple_expression] = STATE(774),
    [sym_array_literal] = STATE(774),
    [sym_dictionary_literal] = STATE(774),
    [sym_special_literal] = STATE(774),
    [sym_playground_literal] = STATE(774),
    [sym_lambda_literal] = STATE(774),
    [sym_self_expression] = STATE(774),
    [sym_super_expression] = STATE(774),
    [sym_if_statement] = STATE(774),
    [sym_switch_statement] = STATE(774),
    [sym_key_path_expression] = STATE(774),
    [sym_key_path_string_expression] = STATE(774),
    [sym_try_operator] = STATE(645),
    [sym__assignment_and_operator] = STATE(774),
    [sym__equality_operator] = STATE(774),
    [sym__comparison_operator] = STATE(774),
    [sym__three_dot_operator] = STATE(761),
    [sym__open_ended_range_operator] = STATE(695),
    [sym__additive_operator] = STATE(774),
    [sym__multiplicative_operator] = STATE(774),
    [sym__prefix_unary_operator] = STATE(659),
    [sym_directly_assignable_expression] = STATE(6398),
    [sym_assignment] = STATE(774),
    [sym_value_parameter_pack] = STATE(774),
    [sym_value_pack_expansion] = STATE(774),
    [sym__referenceable_operator] = STATE(774),
    [sym__equal_sign] = STATE(774),
    [sym__eq_eq] = STATE(774),
    [sym__dot] = STATE(659),
    [sym__hash_symbol] = STATE(4848),
    [sym_bang] = STATE(759),
    [sym__parameter_ownership_modifier] = STATE(1147),
    [sym_directive] = STATE(774),
    [sym_diagnostic] = STATE(774),
    [aux_sym_raw_string_literal_repeat1] = STATE(7499),
    [anon_sym_BANG] = ACTIONS(659),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(661),
    [aux_sym_simple_identifier_token2] = ACTIONS(663),
    [aux_sym_simple_identifier_token3] = ACTIONS(663),
    [aux_sym_simple_identifier_token4] = ACTIONS(663),
    [anon_sym_actor] = ACTIONS(661),
    [anon_sym_async] = ACTIONS(661),
    [anon_sym_each] = ACTIONS(665),
    [anon_sym_lazy] = ACTIONS(661),
    [anon_sym_repeat] = ACTIONS(667),
    [anon_sym_package] = ACTIONS(661),
    [anon_sym_nil] = ACTIONS(1778),
    [sym_real_literal] = ACTIONS(1780),
    [sym_integer_literal] = ACTIONS(1778),
    [sym_hex_literal] = ACTIONS(1778),
    [sym_oct_literal] = ACTIONS(1780),
    [sym_bin_literal] = ACTIONS(1780),
    [anon_sym_true] = ACTIONS(673),
    [anon_sym_false] = ACTIONS(673),
    [anon_sym_DQUOTE] = ACTIONS(675),
    [anon_sym_BSLASH] = ACTIONS(677),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(679),
    [sym__oneline_regex_literal] = ACTIONS(681),
    [anon_sym_LPAREN] = ACTIONS(683),
    [anon_sym_LBRACK] = ACTIONS(685),
    [anon_sym_AMP] = ACTIONS(687),
    [anon_sym_TILDE] = ACTIONS(687),
    [anon_sym_if] = ACTIONS(689),
    [anon_sym_switch] = ACTIONS(691),
    [aux_sym_custom_operator_token1] = ACTIONS(693),
    [anon_sym_LT] = ACTIONS(1778),
    [anon_sym_GT] = ACTIONS(1778),
    [anon_sym_await] = ACTIONS(695),
    [anon_sym_LBRACE] = ACTIONS(697),
    [anon_sym_CARET_LBRACE] = ACTIONS(697),
    [anon_sym_self] = ACTIONS(699),
    [anon_sym_super] = ACTIONS(701),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1780),
    [anon_sym_DASH_EQ] = ACTIONS(1780),
    [anon_sym_STAR_EQ] = ACTIONS(1780),
    [anon_sym_SLASH_EQ] = ACTIONS(1780),
    [anon_sym_PERCENT_EQ] = ACTIONS(1780),
    [anon_sym_BANG_EQ] = ACTIONS(1778),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1780),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1780),
    [anon_sym_LT_EQ] = ACTIONS(1780),
    [anon_sym_GT_EQ] = ACTIONS(1780),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(703),
    [anon_sym_DOT_DOT_LT] = ACTIONS(705),
    [anon_sym_PLUS] = ACTIONS(707),
    [anon_sym_DASH] = ACTIONS(707),
    [anon_sym_STAR] = ACTIONS(1778),
    [anon_sym_SLASH] = ACTIONS(1778),
    [anon_sym_PERCENT] = ACTIONS(1778),
    [anon_sym_PLUS_PLUS] = ACTIONS(687),
    [anon_sym_DASH_DASH] = ACTIONS(687),
    [anon_sym_PIPE] = ACTIONS(1780),
    [anon_sym_CARET] = ACTIONS(1778),
    [anon_sym_LT_LT] = ACTIONS(1780),
    [anon_sym_GT_GT] = ACTIONS(1780),
    [anon_sym_borrowing] = ACTIONS(661),
    [anon_sym_consuming] = ACTIONS(661),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(709),
    [sym__dot_custom] = ACTIONS(711),
    [sym__eq_custom] = ACTIONS(1780),
    [sym__eq_eq_custom] = ACTIONS(1780),
    [sym__plus_then_ws] = ACTIONS(1780),
    [sym__minus_then_ws] = ACTIONS(1780),
    [sym__bang_custom] = ACTIONS(713),
    [sym__custom_operator] = ACTIONS(693),
    [sym__hash_symbol_custom] = ACTIONS(715),
    [sym__directive_if] = ACTIONS(717),
    [sym__directive_elseif] = ACTIONS(717),
    [sym__directive_else] = ACTIONS(719),
    [sym__directive_endif] = ACTIONS(719),
  },
  [462] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(743),
    [sym_boolean_literal] = STATE(743),
    [sym__string_literal] = STATE(743),
    [sym_line_string_literal] = STATE(743),
    [sym_multi_line_string_literal] = STATE(743),
    [sym_raw_string_literal] = STATE(743),
    [sym_regex_literal] = STATE(743),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6436),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6436),
    [sym_dictionary_type] = STATE(6436),
    [sym__expression] = STATE(743),
    [sym__unary_expression] = STATE(743),
    [sym_postfix_expression] = STATE(743),
    [sym_constructor_expression] = STATE(743),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(743),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(743),
    [sym__range_operator] = STATE(694),
    [sym_open_end_range_expression] = STATE(743),
    [sym_prefix_expression] = STATE(743),
    [sym_as_expression] = STATE(743),
    [sym_selector_expression] = STATE(743),
    [sym__binary_expression] = STATE(743),
    [sym_multiplicative_expression] = STATE(743),
    [sym_additive_expression] = STATE(743),
    [sym_range_expression] = STATE(743),
    [sym_infix_expression] = STATE(743),
    [sym_nil_coalescing_expression] = STATE(743),
    [sym_check_expression] = STATE(743),
    [sym_comparison_expression] = STATE(743),
    [sym_equality_expression] = STATE(743),
    [sym_conjunction_expression] = STATE(743),
    [sym_disjunction_expression] = STATE(743),
    [sym_bitwise_operation] = STATE(743),
    [sym_custom_operator] = STATE(741),
    [sym_try_expression] = STATE(743),
    [sym_await_expression] = STATE(743),
    [sym__await_operator] = STATE(681),
    [sym_ternary_expression] = STATE(743),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(971),
    [sym_expr_hack_at_ternary_binary_call] = STATE(971),
    [sym_call_expression] = STATE(743),
    [sym_macro_invocation] = STATE(743),
    [sym__primary_expression] = STATE(743),
    [sym_tuple_expression] = STATE(743),
    [sym_array_literal] = STATE(743),
    [sym_dictionary_literal] = STATE(743),
    [sym_special_literal] = STATE(743),
    [sym_playground_literal] = STATE(743),
    [sym_lambda_literal] = STATE(743),
    [sym_self_expression] = STATE(743),
    [sym_super_expression] = STATE(743),
    [sym_if_statement] = STATE(743),
    [sym_switch_statement] = STATE(743),
    [sym_key_path_expression] = STATE(743),
    [sym_key_path_string_expression] = STATE(743),
    [sym_try_operator] = STATE(678),
    [sym__assignment_and_operator] = STATE(743),
    [sym__equality_operator] = STATE(743),
    [sym__comparison_operator] = STATE(743),
    [sym__three_dot_operator] = STATE(742),
    [sym__open_ended_range_operator] = STATE(694),
    [sym__additive_operator] = STATE(743),
    [sym__multiplicative_operator] = STATE(743),
    [sym__prefix_unary_operator] = STATE(622),
    [sym_directly_assignable_expression] = STATE(6420),
    [sym_assignment] = STATE(743),
    [sym_value_parameter_pack] = STATE(743),
    [sym_value_pack_expansion] = STATE(743),
    [sym__referenceable_operator] = STATE(743),
    [sym__equal_sign] = STATE(743),
    [sym__eq_eq] = STATE(743),
    [sym__dot] = STATE(622),
    [sym__hash_symbol] = STATE(4852),
    [sym_bang] = STATE(741),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(743),
    [sym_diagnostic] = STATE(743),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(605),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(607),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(609),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1770),
    [sym_real_literal] = ACTIONS(1772),
    [sym_integer_literal] = ACTIONS(1770),
    [sym_hex_literal] = ACTIONS(1770),
    [sym_oct_literal] = ACTIONS(1772),
    [sym_bin_literal] = ACTIONS(1772),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(615),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(625),
    [anon_sym_TILDE] = ACTIONS(625),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(627),
    [aux_sym_custom_operator_token1] = ACTIONS(629),
    [anon_sym_LT] = ACTIONS(1770),
    [anon_sym_GT] = ACTIONS(1770),
    [anon_sym_await] = ACTIONS(631),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1772),
    [anon_sym_DASH_EQ] = ACTIONS(1772),
    [anon_sym_STAR_EQ] = ACTIONS(1772),
    [anon_sym_SLASH_EQ] = ACTIONS(1772),
    [anon_sym_PERCENT_EQ] = ACTIONS(1772),
    [anon_sym_BANG_EQ] = ACTIONS(1770),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1772),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1772),
    [anon_sym_LT_EQ] = ACTIONS(1772),
    [anon_sym_GT_EQ] = ACTIONS(1772),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(635),
    [anon_sym_DOT_DOT_LT] = ACTIONS(637),
    [anon_sym_PLUS] = ACTIONS(639),
    [anon_sym_DASH] = ACTIONS(639),
    [anon_sym_STAR] = ACTIONS(1770),
    [anon_sym_SLASH] = ACTIONS(1770),
    [anon_sym_PERCENT] = ACTIONS(1770),
    [anon_sym_PLUS_PLUS] = ACTIONS(625),
    [anon_sym_DASH_DASH] = ACTIONS(625),
    [anon_sym_PIPE] = ACTIONS(1772),
    [anon_sym_CARET] = ACTIONS(1770),
    [anon_sym_LT_LT] = ACTIONS(1772),
    [anon_sym_GT_GT] = ACTIONS(1772),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(641),
    [sym__eq_custom] = ACTIONS(1772),
    [sym__eq_eq_custom] = ACTIONS(1772),
    [sym__plus_then_ws] = ACTIONS(1772),
    [sym__minus_then_ws] = ACTIONS(1772),
    [sym__bang_custom] = ACTIONS(643),
    [sym__custom_operator] = ACTIONS(629),
    [sym__hash_symbol_custom] = ACTIONS(645),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [463] = {
    [sym_simple_identifier] = STATE(3108),
    [sym__contextual_simple_identifier] = STATE(2967),
    [sym__basic_literal] = STATE(1579),
    [sym_boolean_literal] = STATE(1579),
    [sym__string_literal] = STATE(1579),
    [sym_line_string_literal] = STATE(1579),
    [sym_multi_line_string_literal] = STATE(1579),
    [sym_raw_string_literal] = STATE(1579),
    [sym_regex_literal] = STATE(1579),
    [sym__extended_regex_literal] = STATE(3663),
    [sym__multiline_regex_literal] = STATE(3663),
    [sym_user_type] = STATE(6406),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6406),
    [sym_dictionary_type] = STATE(6406),
    [sym__expression] = STATE(1579),
    [sym__unary_expression] = STATE(1579),
    [sym_postfix_expression] = STATE(1579),
    [sym_constructor_expression] = STATE(1579),
    [sym__parenthesized_type] = STATE(7557),
    [sym_navigation_expression] = STATE(1579),
    [sym__navigable_type_expression] = STATE(7558),
    [sym_open_start_range_expression] = STATE(1579),
    [sym__range_operator] = STATE(592),
    [sym_open_end_range_expression] = STATE(1579),
    [sym_prefix_expression] = STATE(1579),
    [sym_as_expression] = STATE(1579),
    [sym_selector_expression] = STATE(1579),
    [sym__binary_expression] = STATE(1579),
    [sym_multiplicative_expression] = STATE(1579),
    [sym_additive_expression] = STATE(1579),
    [sym_range_expression] = STATE(1579),
    [sym_infix_expression] = STATE(1579),
    [sym_nil_coalescing_expression] = STATE(1579),
    [sym_check_expression] = STATE(1579),
    [sym_comparison_expression] = STATE(1579),
    [sym_equality_expression] = STATE(1579),
    [sym_conjunction_expression] = STATE(1579),
    [sym_disjunction_expression] = STATE(1579),
    [sym_bitwise_operation] = STATE(1579),
    [sym_custom_operator] = STATE(1288),
    [sym_try_expression] = STATE(1579),
    [sym_await_expression] = STATE(1579),
    [sym__await_operator] = STATE(595),
    [sym_ternary_expression] = STATE(1579),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(3650),
    [sym_expr_hack_at_ternary_binary_call] = STATE(3650),
    [sym_call_expression] = STATE(1579),
    [sym_macro_invocation] = STATE(1579),
    [sym__primary_expression] = STATE(1579),
    [sym_tuple_expression] = STATE(1579),
    [sym_array_literal] = STATE(1579),
    [sym_dictionary_literal] = STATE(1579),
    [sym_special_literal] = STATE(1579),
    [sym_playground_literal] = STATE(1579),
    [sym_lambda_literal] = STATE(1579),
    [sym_self_expression] = STATE(1579),
    [sym_super_expression] = STATE(1579),
    [sym_if_statement] = STATE(1579),
    [sym_switch_statement] = STATE(1579),
    [sym_key_path_expression] = STATE(1579),
    [sym_key_path_string_expression] = STATE(1579),
    [sym_try_operator] = STATE(611),
    [sym__assignment_and_operator] = STATE(1579),
    [sym__equality_operator] = STATE(1579),
    [sym__comparison_operator] = STATE(1579),
    [sym__three_dot_operator] = STATE(1257),
    [sym__open_ended_range_operator] = STATE(592),
    [sym__additive_operator] = STATE(1579),
    [sym__multiplicative_operator] = STATE(1579),
    [sym__prefix_unary_operator] = STATE(620),
    [sym_directly_assignable_expression] = STATE(6409),
    [sym_assignment] = STATE(1579),
    [sym_value_parameter_pack] = STATE(1579),
    [sym_value_pack_expansion] = STATE(1579),
    [sym__referenceable_operator] = STATE(1579),
    [sym__equal_sign] = STATE(1579),
    [sym__eq_eq] = STATE(1579),
    [sym__dot] = STATE(620),
    [sym__hash_symbol] = STATE(4853),
    [sym_bang] = STATE(1288),
    [sym__parameter_ownership_modifier] = STATE(2967),
    [sym_directive] = STATE(1579),
    [sym_diagnostic] = STATE(1579),
    [aux_sym_raw_string_literal_repeat1] = STATE(7564),
    [anon_sym_BANG] = ACTIONS(1293),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1295),
    [aux_sym_simple_identifier_token2] = ACTIONS(1297),
    [aux_sym_simple_identifier_token3] = ACTIONS(1297),
    [aux_sym_simple_identifier_token4] = ACTIONS(1297),
    [anon_sym_actor] = ACTIONS(1295),
    [anon_sym_async] = ACTIONS(1295),
    [anon_sym_each] = ACTIONS(1301),
    [anon_sym_lazy] = ACTIONS(1295),
    [anon_sym_repeat] = ACTIONS(1303),
    [anon_sym_package] = ACTIONS(1295),
    [anon_sym_nil] = ACTIONS(1774),
    [sym_real_literal] = ACTIONS(1776),
    [sym_integer_literal] = ACTIONS(1774),
    [sym_hex_literal] = ACTIONS(1774),
    [sym_oct_literal] = ACTIONS(1776),
    [sym_bin_literal] = ACTIONS(1776),
    [anon_sym_true] = ACTIONS(1309),
    [anon_sym_false] = ACTIONS(1309),
    [anon_sym_DQUOTE] = ACTIONS(1311),
    [anon_sym_BSLASH] = ACTIONS(1313),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1315),
    [sym__oneline_regex_literal] = ACTIONS(1317),
    [anon_sym_LPAREN] = ACTIONS(1319),
    [anon_sym_LBRACK] = ACTIONS(1321),
    [anon_sym_AMP] = ACTIONS(1323),
    [anon_sym_TILDE] = ACTIONS(1323),
    [anon_sym_if] = ACTIONS(1325),
    [anon_sym_switch] = ACTIONS(1327),
    [aux_sym_custom_operator_token1] = ACTIONS(1329),
    [anon_sym_LT] = ACTIONS(1774),
    [anon_sym_GT] = ACTIONS(1774),
    [anon_sym_await] = ACTIONS(1331),
    [anon_sym_LBRACE] = ACTIONS(1333),
    [anon_sym_CARET_LBRACE] = ACTIONS(1333),
    [anon_sym_self] = ACTIONS(1335),
    [anon_sym_super] = ACTIONS(1337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1776),
    [anon_sym_DASH_EQ] = ACTIONS(1776),
    [anon_sym_STAR_EQ] = ACTIONS(1776),
    [anon_sym_SLASH_EQ] = ACTIONS(1776),
    [anon_sym_PERCENT_EQ] = ACTIONS(1776),
    [anon_sym_BANG_EQ] = ACTIONS(1774),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1776),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1776),
    [anon_sym_LT_EQ] = ACTIONS(1776),
    [anon_sym_GT_EQ] = ACTIONS(1776),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1341),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1343),
    [anon_sym_PLUS] = ACTIONS(1345),
    [anon_sym_DASH] = ACTIONS(1345),
    [anon_sym_STAR] = ACTIONS(1774),
    [anon_sym_SLASH] = ACTIONS(1774),
    [anon_sym_PERCENT] = ACTIONS(1774),
    [anon_sym_PLUS_PLUS] = ACTIONS(1323),
    [anon_sym_DASH_DASH] = ACTIONS(1323),
    [anon_sym_PIPE] = ACTIONS(1776),
    [anon_sym_CARET] = ACTIONS(1774),
    [anon_sym_LT_LT] = ACTIONS(1776),
    [anon_sym_GT_GT] = ACTIONS(1776),
    [anon_sym_borrowing] = ACTIONS(1295),
    [anon_sym_consuming] = ACTIONS(1295),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1347),
    [sym__dot_custom] = ACTIONS(1349),
    [sym__eq_custom] = ACTIONS(1776),
    [sym__eq_eq_custom] = ACTIONS(1776),
    [sym__plus_then_ws] = ACTIONS(1776),
    [sym__minus_then_ws] = ACTIONS(1776),
    [sym__bang_custom] = ACTIONS(1351),
    [sym__custom_operator] = ACTIONS(1329),
    [sym__hash_symbol_custom] = ACTIONS(1371),
    [sym__directive_if] = ACTIONS(1355),
    [sym__directive_elseif] = ACTIONS(1355),
    [sym__directive_else] = ACTIONS(1357),
    [sym__directive_endif] = ACTIONS(1357),
  },
  [464] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1632),
    [sym_boolean_literal] = STATE(1632),
    [sym__string_literal] = STATE(1632),
    [sym_line_string_literal] = STATE(1632),
    [sym_multi_line_string_literal] = STATE(1632),
    [sym_raw_string_literal] = STATE(1632),
    [sym_regex_literal] = STATE(1632),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1632),
    [sym__unary_expression] = STATE(1632),
    [sym_postfix_expression] = STATE(1632),
    [sym_constructor_expression] = STATE(1632),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1632),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1632),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1632),
    [sym_prefix_expression] = STATE(1632),
    [sym_as_expression] = STATE(1632),
    [sym_selector_expression] = STATE(1632),
    [sym__binary_expression] = STATE(1632),
    [sym_multiplicative_expression] = STATE(1632),
    [sym_additive_expression] = STATE(1632),
    [sym_range_expression] = STATE(1632),
    [sym_infix_expression] = STATE(1632),
    [sym_nil_coalescing_expression] = STATE(1632),
    [sym_check_expression] = STATE(1632),
    [sym_comparison_expression] = STATE(1632),
    [sym_equality_expression] = STATE(1632),
    [sym_conjunction_expression] = STATE(1632),
    [sym_disjunction_expression] = STATE(1632),
    [sym_bitwise_operation] = STATE(1632),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1632),
    [sym_await_expression] = STATE(1632),
    [sym__await_operator] = STATE(728),
    [sym_ternary_expression] = STATE(1632),
    [sym_call_expression] = STATE(1632),
    [sym_macro_invocation] = STATE(1632),
    [sym__primary_expression] = STATE(1632),
    [sym_tuple_expression] = STATE(1632),
    [sym_array_literal] = STATE(1632),
    [sym_dictionary_literal] = STATE(1632),
    [sym_special_literal] = STATE(1632),
    [sym_playground_literal] = STATE(1632),
    [sym_lambda_literal] = STATE(1632),
    [sym_self_expression] = STATE(1632),
    [sym_super_expression] = STATE(1632),
    [sym_if_statement] = STATE(1632),
    [sym_switch_statement] = STATE(1632),
    [sym_key_path_expression] = STATE(1632),
    [sym_key_path_string_expression] = STATE(1632),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1632),
    [sym__equality_operator] = STATE(1632),
    [sym__comparison_operator] = STATE(1632),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1632),
    [sym__multiplicative_operator] = STATE(1632),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym__for_statement_collection] = STATE(7429),
    [sym_for_statement_await] = STATE(7429),
    [sym_assignment] = STATE(1632),
    [sym_value_parameter_pack] = STATE(1632),
    [sym_value_pack_expansion] = STATE(1632),
    [sym__referenceable_operator] = STATE(1632),
    [sym__equal_sign] = STATE(1632),
    [sym__eq_eq] = STATE(1632),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1632),
    [sym_diagnostic] = STATE(1632),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(1764),
    [sym_real_literal] = ACTIONS(1766),
    [sym_integer_literal] = ACTIONS(1764),
    [sym_hex_literal] = ACTIONS(1764),
    [sym_oct_literal] = ACTIONS(1766),
    [sym_bin_literal] = ACTIONS(1766),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(1764),
    [anon_sym_GT] = ACTIONS(1764),
    [anon_sym_await] = ACTIONS(1768),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1766),
    [anon_sym_DASH_EQ] = ACTIONS(1766),
    [anon_sym_STAR_EQ] = ACTIONS(1766),
    [anon_sym_SLASH_EQ] = ACTIONS(1766),
    [anon_sym_PERCENT_EQ] = ACTIONS(1766),
    [anon_sym_BANG_EQ] = ACTIONS(1764),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1766),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1766),
    [anon_sym_LT_EQ] = ACTIONS(1766),
    [anon_sym_GT_EQ] = ACTIONS(1766),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(1764),
    [anon_sym_SLASH] = ACTIONS(1764),
    [anon_sym_PERCENT] = ACTIONS(1764),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(1766),
    [anon_sym_CARET] = ACTIONS(1764),
    [anon_sym_LT_LT] = ACTIONS(1766),
    [anon_sym_GT_GT] = ACTIONS(1766),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(1766),
    [sym__eq_eq_custom] = ACTIONS(1766),
    [sym__plus_then_ws] = ACTIONS(1766),
    [sym__minus_then_ws] = ACTIONS(1766),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [465] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1632),
    [sym_boolean_literal] = STATE(1632),
    [sym__string_literal] = STATE(1632),
    [sym_line_string_literal] = STATE(1632),
    [sym_multi_line_string_literal] = STATE(1632),
    [sym_raw_string_literal] = STATE(1632),
    [sym_regex_literal] = STATE(1632),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1632),
    [sym__unary_expression] = STATE(1632),
    [sym_postfix_expression] = STATE(1632),
    [sym_constructor_expression] = STATE(1632),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1632),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1632),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1632),
    [sym_prefix_expression] = STATE(1632),
    [sym_as_expression] = STATE(1632),
    [sym_selector_expression] = STATE(1632),
    [sym__binary_expression] = STATE(1632),
    [sym_multiplicative_expression] = STATE(1632),
    [sym_additive_expression] = STATE(1632),
    [sym_range_expression] = STATE(1632),
    [sym_infix_expression] = STATE(1632),
    [sym_nil_coalescing_expression] = STATE(1632),
    [sym_check_expression] = STATE(1632),
    [sym_comparison_expression] = STATE(1632),
    [sym_equality_expression] = STATE(1632),
    [sym_conjunction_expression] = STATE(1632),
    [sym_disjunction_expression] = STATE(1632),
    [sym_bitwise_operation] = STATE(1632),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1632),
    [sym_await_expression] = STATE(1632),
    [sym__await_operator] = STATE(728),
    [sym_ternary_expression] = STATE(1632),
    [sym_call_expression] = STATE(1632),
    [sym_macro_invocation] = STATE(1632),
    [sym__primary_expression] = STATE(1632),
    [sym_tuple_expression] = STATE(1632),
    [sym_array_literal] = STATE(1632),
    [sym_dictionary_literal] = STATE(1632),
    [sym_special_literal] = STATE(1632),
    [sym_playground_literal] = STATE(1632),
    [sym_lambda_literal] = STATE(1632),
    [sym_self_expression] = STATE(1632),
    [sym_super_expression] = STATE(1632),
    [sym_if_statement] = STATE(1632),
    [sym_switch_statement] = STATE(1632),
    [sym_key_path_expression] = STATE(1632),
    [sym_key_path_string_expression] = STATE(1632),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1632),
    [sym__equality_operator] = STATE(1632),
    [sym__comparison_operator] = STATE(1632),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1632),
    [sym__multiplicative_operator] = STATE(1632),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym__for_statement_collection] = STATE(7405),
    [sym_for_statement_await] = STATE(7405),
    [sym_assignment] = STATE(1632),
    [sym_value_parameter_pack] = STATE(1632),
    [sym_value_pack_expansion] = STATE(1632),
    [sym__referenceable_operator] = STATE(1632),
    [sym__equal_sign] = STATE(1632),
    [sym__eq_eq] = STATE(1632),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1632),
    [sym_diagnostic] = STATE(1632),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(1764),
    [sym_real_literal] = ACTIONS(1766),
    [sym_integer_literal] = ACTIONS(1764),
    [sym_hex_literal] = ACTIONS(1764),
    [sym_oct_literal] = ACTIONS(1766),
    [sym_bin_literal] = ACTIONS(1766),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(1764),
    [anon_sym_GT] = ACTIONS(1764),
    [anon_sym_await] = ACTIONS(1768),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1766),
    [anon_sym_DASH_EQ] = ACTIONS(1766),
    [anon_sym_STAR_EQ] = ACTIONS(1766),
    [anon_sym_SLASH_EQ] = ACTIONS(1766),
    [anon_sym_PERCENT_EQ] = ACTIONS(1766),
    [anon_sym_BANG_EQ] = ACTIONS(1764),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1766),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1766),
    [anon_sym_LT_EQ] = ACTIONS(1766),
    [anon_sym_GT_EQ] = ACTIONS(1766),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(1764),
    [anon_sym_SLASH] = ACTIONS(1764),
    [anon_sym_PERCENT] = ACTIONS(1764),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(1766),
    [anon_sym_CARET] = ACTIONS(1764),
    [anon_sym_LT_LT] = ACTIONS(1766),
    [anon_sym_GT_GT] = ACTIONS(1766),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(1766),
    [sym__eq_eq_custom] = ACTIONS(1766),
    [sym__plus_then_ws] = ACTIONS(1766),
    [sym__minus_then_ws] = ACTIONS(1766),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [466] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1632),
    [sym_boolean_literal] = STATE(1632),
    [sym__string_literal] = STATE(1632),
    [sym_line_string_literal] = STATE(1632),
    [sym_multi_line_string_literal] = STATE(1632),
    [sym_raw_string_literal] = STATE(1632),
    [sym_regex_literal] = STATE(1632),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1632),
    [sym__unary_expression] = STATE(1632),
    [sym_postfix_expression] = STATE(1632),
    [sym_constructor_expression] = STATE(1632),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1632),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1632),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1632),
    [sym_prefix_expression] = STATE(1632),
    [sym_as_expression] = STATE(1632),
    [sym_selector_expression] = STATE(1632),
    [sym__binary_expression] = STATE(1632),
    [sym_multiplicative_expression] = STATE(1632),
    [sym_additive_expression] = STATE(1632),
    [sym_range_expression] = STATE(1632),
    [sym_infix_expression] = STATE(1632),
    [sym_nil_coalescing_expression] = STATE(1632),
    [sym_check_expression] = STATE(1632),
    [sym_comparison_expression] = STATE(1632),
    [sym_equality_expression] = STATE(1632),
    [sym_conjunction_expression] = STATE(1632),
    [sym_disjunction_expression] = STATE(1632),
    [sym_bitwise_operation] = STATE(1632),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1632),
    [sym_await_expression] = STATE(1632),
    [sym__await_operator] = STATE(728),
    [sym_ternary_expression] = STATE(1632),
    [sym_call_expression] = STATE(1632),
    [sym_macro_invocation] = STATE(1632),
    [sym__primary_expression] = STATE(1632),
    [sym_tuple_expression] = STATE(1632),
    [sym_array_literal] = STATE(1632),
    [sym_dictionary_literal] = STATE(1632),
    [sym_special_literal] = STATE(1632),
    [sym_playground_literal] = STATE(1632),
    [sym_lambda_literal] = STATE(1632),
    [sym_self_expression] = STATE(1632),
    [sym_super_expression] = STATE(1632),
    [sym_if_statement] = STATE(1632),
    [sym_switch_statement] = STATE(1632),
    [sym_key_path_expression] = STATE(1632),
    [sym_key_path_string_expression] = STATE(1632),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1632),
    [sym__equality_operator] = STATE(1632),
    [sym__comparison_operator] = STATE(1632),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1632),
    [sym__multiplicative_operator] = STATE(1632),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym__for_statement_collection] = STATE(7372),
    [sym_for_statement_await] = STATE(7372),
    [sym_assignment] = STATE(1632),
    [sym_value_parameter_pack] = STATE(1632),
    [sym_value_pack_expansion] = STATE(1632),
    [sym__referenceable_operator] = STATE(1632),
    [sym__equal_sign] = STATE(1632),
    [sym__eq_eq] = STATE(1632),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1632),
    [sym_diagnostic] = STATE(1632),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(1764),
    [sym_real_literal] = ACTIONS(1766),
    [sym_integer_literal] = ACTIONS(1764),
    [sym_hex_literal] = ACTIONS(1764),
    [sym_oct_literal] = ACTIONS(1766),
    [sym_bin_literal] = ACTIONS(1766),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(1764),
    [anon_sym_GT] = ACTIONS(1764),
    [anon_sym_await] = ACTIONS(1768),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1766),
    [anon_sym_DASH_EQ] = ACTIONS(1766),
    [anon_sym_STAR_EQ] = ACTIONS(1766),
    [anon_sym_SLASH_EQ] = ACTIONS(1766),
    [anon_sym_PERCENT_EQ] = ACTIONS(1766),
    [anon_sym_BANG_EQ] = ACTIONS(1764),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1766),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1766),
    [anon_sym_LT_EQ] = ACTIONS(1766),
    [anon_sym_GT_EQ] = ACTIONS(1766),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(1764),
    [anon_sym_SLASH] = ACTIONS(1764),
    [anon_sym_PERCENT] = ACTIONS(1764),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(1766),
    [anon_sym_CARET] = ACTIONS(1764),
    [anon_sym_LT_LT] = ACTIONS(1766),
    [anon_sym_GT_GT] = ACTIONS(1766),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(1766),
    [sym__eq_eq_custom] = ACTIONS(1766),
    [sym__plus_then_ws] = ACTIONS(1766),
    [sym__minus_then_ws] = ACTIONS(1766),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [467] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1660),
    [sym_boolean_literal] = STATE(1660),
    [sym__string_literal] = STATE(1660),
    [sym_line_string_literal] = STATE(1660),
    [sym_multi_line_string_literal] = STATE(1660),
    [sym_raw_string_literal] = STATE(1660),
    [sym_regex_literal] = STATE(1660),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1660),
    [sym__unary_expression] = STATE(1660),
    [sym_postfix_expression] = STATE(1660),
    [sym_constructor_expression] = STATE(1660),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1660),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1660),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1660),
    [sym_prefix_expression] = STATE(1660),
    [sym_as_expression] = STATE(1660),
    [sym_selector_expression] = STATE(1660),
    [sym__binary_expression] = STATE(1660),
    [sym_multiplicative_expression] = STATE(1660),
    [sym_additive_expression] = STATE(1660),
    [sym_range_expression] = STATE(1660),
    [sym_infix_expression] = STATE(1660),
    [sym_nil_coalescing_expression] = STATE(1660),
    [sym_check_expression] = STATE(1660),
    [sym_comparison_expression] = STATE(1660),
    [sym_equality_expression] = STATE(1660),
    [sym_conjunction_expression] = STATE(1660),
    [sym_disjunction_expression] = STATE(1660),
    [sym_bitwise_operation] = STATE(1660),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1660),
    [sym_await_expression] = STATE(1660),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1660),
    [sym_call_expression] = STATE(1660),
    [sym_macro_invocation] = STATE(1660),
    [sym__primary_expression] = STATE(1660),
    [sym_tuple_expression] = STATE(1660),
    [sym_array_literal] = STATE(1660),
    [sym_dictionary_literal] = STATE(1660),
    [sym_special_literal] = STATE(1660),
    [sym_playground_literal] = STATE(1660),
    [sym_lambda_literal] = STATE(1660),
    [sym_self_expression] = STATE(1660),
    [sym_super_expression] = STATE(1660),
    [sym_if_statement] = STATE(1660),
    [sym_switch_statement] = STATE(1660),
    [sym_key_path_expression] = STATE(1660),
    [sym_key_path_string_expression] = STATE(1660),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1660),
    [sym__equality_operator] = STATE(1660),
    [sym__comparison_operator] = STATE(1660),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1660),
    [sym__multiplicative_operator] = STATE(1660),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1660),
    [sym_value_parameter_pack] = STATE(1660),
    [sym_value_pack_expansion] = STATE(1660),
    [sym__referenceable_operator] = STATE(1660),
    [sym__equal_sign] = STATE(1660),
    [sym__eq_eq] = STATE(1660),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1660),
    [sym_diagnostic] = STATE(1660),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1832),
    [sym_real_literal] = ACTIONS(1834),
    [sym_integer_literal] = ACTIONS(1832),
    [sym_hex_literal] = ACTIONS(1832),
    [sym_oct_literal] = ACTIONS(1834),
    [sym_bin_literal] = ACTIONS(1834),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [anon_sym_getter_COLON] = ACTIONS(1836),
    [anon_sym_setter_COLON] = ACTIONS(1836),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1832),
    [anon_sym_GT] = ACTIONS(1832),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1834),
    [anon_sym_DASH_EQ] = ACTIONS(1834),
    [anon_sym_STAR_EQ] = ACTIONS(1834),
    [anon_sym_SLASH_EQ] = ACTIONS(1834),
    [anon_sym_PERCENT_EQ] = ACTIONS(1834),
    [anon_sym_BANG_EQ] = ACTIONS(1832),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1834),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1834),
    [anon_sym_LT_EQ] = ACTIONS(1834),
    [anon_sym_GT_EQ] = ACTIONS(1834),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1832),
    [anon_sym_SLASH] = ACTIONS(1832),
    [anon_sym_PERCENT] = ACTIONS(1832),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1834),
    [anon_sym_CARET] = ACTIONS(1832),
    [anon_sym_LT_LT] = ACTIONS(1834),
    [anon_sym_GT_GT] = ACTIONS(1834),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1834),
    [sym__eq_eq_custom] = ACTIONS(1834),
    [sym__plus_then_ws] = ACTIONS(1834),
    [sym__minus_then_ws] = ACTIONS(1834),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [468] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1457),
    [sym_boolean_literal] = STATE(1457),
    [sym__string_literal] = STATE(1457),
    [sym_line_string_literal] = STATE(1457),
    [sym_multi_line_string_literal] = STATE(1457),
    [sym_raw_string_literal] = STATE(1457),
    [sym_regex_literal] = STATE(1457),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1457),
    [sym__unary_expression] = STATE(1457),
    [sym_postfix_expression] = STATE(1457),
    [sym_constructor_expression] = STATE(1457),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1457),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1457),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1457),
    [sym_prefix_expression] = STATE(1457),
    [sym_as_expression] = STATE(1457),
    [sym_selector_expression] = STATE(1457),
    [sym__binary_expression] = STATE(1457),
    [sym_multiplicative_expression] = STATE(1457),
    [sym_additive_expression] = STATE(1457),
    [sym_range_expression] = STATE(1457),
    [sym_infix_expression] = STATE(1457),
    [sym_nil_coalescing_expression] = STATE(1457),
    [sym_check_expression] = STATE(1457),
    [sym_comparison_expression] = STATE(1457),
    [sym_equality_expression] = STATE(1457),
    [sym_conjunction_expression] = STATE(1457),
    [sym_disjunction_expression] = STATE(1457),
    [sym_bitwise_operation] = STATE(1457),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1457),
    [sym_await_expression] = STATE(1457),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1457),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(2721),
    [sym_expr_hack_at_ternary_binary_call] = STATE(2721),
    [sym_call_expression] = STATE(1457),
    [sym_macro_invocation] = STATE(1457),
    [sym__primary_expression] = STATE(1457),
    [sym_tuple_expression] = STATE(1457),
    [sym_array_literal] = STATE(1457),
    [sym_dictionary_literal] = STATE(1457),
    [sym_special_literal] = STATE(1457),
    [sym_playground_literal] = STATE(1457),
    [sym_lambda_literal] = STATE(1457),
    [sym_self_expression] = STATE(1457),
    [sym_super_expression] = STATE(1457),
    [sym_if_statement] = STATE(1457),
    [sym_switch_statement] = STATE(1457),
    [sym_key_path_expression] = STATE(1457),
    [sym_key_path_string_expression] = STATE(1457),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1457),
    [sym__equality_operator] = STATE(1457),
    [sym__comparison_operator] = STATE(1457),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1457),
    [sym__multiplicative_operator] = STATE(1457),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_assignment] = STATE(1457),
    [sym_value_parameter_pack] = STATE(1457),
    [sym_value_pack_expansion] = STATE(1457),
    [sym__referenceable_operator] = STATE(1457),
    [sym__equal_sign] = STATE(1457),
    [sym__eq_eq] = STATE(1457),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1457),
    [sym_diagnostic] = STATE(1457),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(11),
    [anon_sym_async] = ACTIONS(11),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(11),
    [anon_sym_repeat] = ACTIONS(925),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(1808),
    [sym_real_literal] = ACTIONS(1810),
    [sym_integer_literal] = ACTIONS(1808),
    [sym_hex_literal] = ACTIONS(1808),
    [sym_oct_literal] = ACTIONS(1810),
    [sym_bin_literal] = ACTIONS(1810),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(1808),
    [anon_sym_GT] = ACTIONS(1808),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1810),
    [anon_sym_DASH_EQ] = ACTIONS(1810),
    [anon_sym_STAR_EQ] = ACTIONS(1810),
    [anon_sym_SLASH_EQ] = ACTIONS(1810),
    [anon_sym_PERCENT_EQ] = ACTIONS(1810),
    [anon_sym_BANG_EQ] = ACTIONS(1808),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1810),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1810),
    [anon_sym_LT_EQ] = ACTIONS(1810),
    [anon_sym_GT_EQ] = ACTIONS(1810),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(1808),
    [anon_sym_SLASH] = ACTIONS(1808),
    [anon_sym_PERCENT] = ACTIONS(1808),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(1810),
    [anon_sym_CARET] = ACTIONS(1808),
    [anon_sym_LT_LT] = ACTIONS(1810),
    [anon_sym_GT_GT] = ACTIONS(1810),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(1810),
    [sym__eq_eq_custom] = ACTIONS(1810),
    [sym__plus_then_ws] = ACTIONS(1810),
    [sym__minus_then_ws] = ACTIONS(1810),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [469] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1632),
    [sym_boolean_literal] = STATE(1632),
    [sym__string_literal] = STATE(1632),
    [sym_line_string_literal] = STATE(1632),
    [sym_multi_line_string_literal] = STATE(1632),
    [sym_raw_string_literal] = STATE(1632),
    [sym_regex_literal] = STATE(1632),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1632),
    [sym__unary_expression] = STATE(1632),
    [sym_postfix_expression] = STATE(1632),
    [sym_constructor_expression] = STATE(1632),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1632),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1632),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1632),
    [sym_prefix_expression] = STATE(1632),
    [sym_as_expression] = STATE(1632),
    [sym_selector_expression] = STATE(1632),
    [sym__binary_expression] = STATE(1632),
    [sym_multiplicative_expression] = STATE(1632),
    [sym_additive_expression] = STATE(1632),
    [sym_range_expression] = STATE(1632),
    [sym_infix_expression] = STATE(1632),
    [sym_nil_coalescing_expression] = STATE(1632),
    [sym_check_expression] = STATE(1632),
    [sym_comparison_expression] = STATE(1632),
    [sym_equality_expression] = STATE(1632),
    [sym_conjunction_expression] = STATE(1632),
    [sym_disjunction_expression] = STATE(1632),
    [sym_bitwise_operation] = STATE(1632),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1632),
    [sym_await_expression] = STATE(1632),
    [sym__await_operator] = STATE(728),
    [sym_ternary_expression] = STATE(1632),
    [sym_call_expression] = STATE(1632),
    [sym_macro_invocation] = STATE(1632),
    [sym__primary_expression] = STATE(1632),
    [sym_tuple_expression] = STATE(1632),
    [sym_array_literal] = STATE(1632),
    [sym_dictionary_literal] = STATE(1632),
    [sym_special_literal] = STATE(1632),
    [sym_playground_literal] = STATE(1632),
    [sym_lambda_literal] = STATE(1632),
    [sym_self_expression] = STATE(1632),
    [sym_super_expression] = STATE(1632),
    [sym_if_statement] = STATE(1632),
    [sym_switch_statement] = STATE(1632),
    [sym_key_path_expression] = STATE(1632),
    [sym_key_path_string_expression] = STATE(1632),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1632),
    [sym__equality_operator] = STATE(1632),
    [sym__comparison_operator] = STATE(1632),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1632),
    [sym__multiplicative_operator] = STATE(1632),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym__for_statement_collection] = STATE(7416),
    [sym_for_statement_await] = STATE(7416),
    [sym_assignment] = STATE(1632),
    [sym_value_parameter_pack] = STATE(1632),
    [sym_value_pack_expansion] = STATE(1632),
    [sym__referenceable_operator] = STATE(1632),
    [sym__equal_sign] = STATE(1632),
    [sym__eq_eq] = STATE(1632),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1632),
    [sym_diagnostic] = STATE(1632),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(1764),
    [sym_real_literal] = ACTIONS(1766),
    [sym_integer_literal] = ACTIONS(1764),
    [sym_hex_literal] = ACTIONS(1764),
    [sym_oct_literal] = ACTIONS(1766),
    [sym_bin_literal] = ACTIONS(1766),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(1764),
    [anon_sym_GT] = ACTIONS(1764),
    [anon_sym_await] = ACTIONS(1768),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1766),
    [anon_sym_DASH_EQ] = ACTIONS(1766),
    [anon_sym_STAR_EQ] = ACTIONS(1766),
    [anon_sym_SLASH_EQ] = ACTIONS(1766),
    [anon_sym_PERCENT_EQ] = ACTIONS(1766),
    [anon_sym_BANG_EQ] = ACTIONS(1764),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1766),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1766),
    [anon_sym_LT_EQ] = ACTIONS(1766),
    [anon_sym_GT_EQ] = ACTIONS(1766),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(1764),
    [anon_sym_SLASH] = ACTIONS(1764),
    [anon_sym_PERCENT] = ACTIONS(1764),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(1766),
    [anon_sym_CARET] = ACTIONS(1764),
    [anon_sym_LT_LT] = ACTIONS(1766),
    [anon_sym_GT_GT] = ACTIONS(1766),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(1766),
    [sym__eq_eq_custom] = ACTIONS(1766),
    [sym__plus_then_ws] = ACTIONS(1766),
    [sym__minus_then_ws] = ACTIONS(1766),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [470] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1457),
    [sym_boolean_literal] = STATE(1457),
    [sym__string_literal] = STATE(1457),
    [sym_line_string_literal] = STATE(1457),
    [sym_multi_line_string_literal] = STATE(1457),
    [sym_raw_string_literal] = STATE(1457),
    [sym_regex_literal] = STATE(1457),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1457),
    [sym__unary_expression] = STATE(1457),
    [sym_postfix_expression] = STATE(1457),
    [sym_constructor_expression] = STATE(1457),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1457),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1457),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1457),
    [sym_prefix_expression] = STATE(1457),
    [sym_as_expression] = STATE(1457),
    [sym_selector_expression] = STATE(1457),
    [sym__binary_expression] = STATE(1457),
    [sym_multiplicative_expression] = STATE(1457),
    [sym_additive_expression] = STATE(1457),
    [sym_range_expression] = STATE(1457),
    [sym_infix_expression] = STATE(1457),
    [sym_nil_coalescing_expression] = STATE(1457),
    [sym_check_expression] = STATE(1457),
    [sym_comparison_expression] = STATE(1457),
    [sym_equality_expression] = STATE(1457),
    [sym_conjunction_expression] = STATE(1457),
    [sym_disjunction_expression] = STATE(1457),
    [sym_bitwise_operation] = STATE(1457),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1457),
    [sym_await_expression] = STATE(1457),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1457),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(2717),
    [sym_expr_hack_at_ternary_binary_call] = STATE(2717),
    [sym_call_expression] = STATE(1457),
    [sym_macro_invocation] = STATE(1457),
    [sym__primary_expression] = STATE(1457),
    [sym_tuple_expression] = STATE(1457),
    [sym_array_literal] = STATE(1457),
    [sym_dictionary_literal] = STATE(1457),
    [sym_special_literal] = STATE(1457),
    [sym_playground_literal] = STATE(1457),
    [sym_lambda_literal] = STATE(1457),
    [sym_self_expression] = STATE(1457),
    [sym_super_expression] = STATE(1457),
    [sym_if_statement] = STATE(1457),
    [sym_switch_statement] = STATE(1457),
    [sym_key_path_expression] = STATE(1457),
    [sym_key_path_string_expression] = STATE(1457),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1457),
    [sym__equality_operator] = STATE(1457),
    [sym__comparison_operator] = STATE(1457),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1457),
    [sym__multiplicative_operator] = STATE(1457),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_assignment] = STATE(1457),
    [sym_value_parameter_pack] = STATE(1457),
    [sym_value_pack_expansion] = STATE(1457),
    [sym__referenceable_operator] = STATE(1457),
    [sym__equal_sign] = STATE(1457),
    [sym__eq_eq] = STATE(1457),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1457),
    [sym_diagnostic] = STATE(1457),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(11),
    [anon_sym_async] = ACTIONS(11),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(11),
    [anon_sym_repeat] = ACTIONS(925),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(1808),
    [sym_real_literal] = ACTIONS(1810),
    [sym_integer_literal] = ACTIONS(1808),
    [sym_hex_literal] = ACTIONS(1808),
    [sym_oct_literal] = ACTIONS(1810),
    [sym_bin_literal] = ACTIONS(1810),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(1808),
    [anon_sym_GT] = ACTIONS(1808),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1810),
    [anon_sym_DASH_EQ] = ACTIONS(1810),
    [anon_sym_STAR_EQ] = ACTIONS(1810),
    [anon_sym_SLASH_EQ] = ACTIONS(1810),
    [anon_sym_PERCENT_EQ] = ACTIONS(1810),
    [anon_sym_BANG_EQ] = ACTIONS(1808),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1810),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1810),
    [anon_sym_LT_EQ] = ACTIONS(1810),
    [anon_sym_GT_EQ] = ACTIONS(1810),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(1808),
    [anon_sym_SLASH] = ACTIONS(1808),
    [anon_sym_PERCENT] = ACTIONS(1808),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(1810),
    [anon_sym_CARET] = ACTIONS(1808),
    [anon_sym_LT_LT] = ACTIONS(1810),
    [anon_sym_GT_GT] = ACTIONS(1810),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(1810),
    [sym__eq_eq_custom] = ACTIONS(1810),
    [sym__plus_then_ws] = ACTIONS(1810),
    [sym__minus_then_ws] = ACTIONS(1810),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [471] = {
    [sym_simple_identifier] = STATE(1217),
    [sym__contextual_simple_identifier] = STATE(1147),
    [sym__basic_literal] = STATE(774),
    [sym_boolean_literal] = STATE(774),
    [sym__string_literal] = STATE(774),
    [sym_line_string_literal] = STATE(774),
    [sym_multi_line_string_literal] = STATE(774),
    [sym_raw_string_literal] = STATE(774),
    [sym_regex_literal] = STATE(774),
    [sym__extended_regex_literal] = STATE(1286),
    [sym__multiline_regex_literal] = STATE(1286),
    [sym_user_type] = STATE(6397),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6397),
    [sym_dictionary_type] = STATE(6397),
    [sym__expression] = STATE(774),
    [sym__unary_expression] = STATE(774),
    [sym_postfix_expression] = STATE(774),
    [sym_constructor_expression] = STATE(774),
    [sym__parenthesized_type] = STATE(7511),
    [sym_navigation_expression] = STATE(774),
    [sym__navigable_type_expression] = STATE(7510),
    [sym_open_start_range_expression] = STATE(774),
    [sym__range_operator] = STATE(695),
    [sym_open_end_range_expression] = STATE(774),
    [sym_prefix_expression] = STATE(774),
    [sym_as_expression] = STATE(774),
    [sym_selector_expression] = STATE(774),
    [sym__binary_expression] = STATE(774),
    [sym_multiplicative_expression] = STATE(774),
    [sym_additive_expression] = STATE(774),
    [sym_range_expression] = STATE(774),
    [sym_infix_expression] = STATE(774),
    [sym_nil_coalescing_expression] = STATE(774),
    [sym_check_expression] = STATE(774),
    [sym_comparison_expression] = STATE(774),
    [sym_equality_expression] = STATE(774),
    [sym_conjunction_expression] = STATE(774),
    [sym_disjunction_expression] = STATE(774),
    [sym_bitwise_operation] = STATE(774),
    [sym_custom_operator] = STATE(759),
    [sym_try_expression] = STATE(774),
    [sym_await_expression] = STATE(774),
    [sym__await_operator] = STATE(644),
    [sym_ternary_expression] = STATE(774),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(1282),
    [sym_expr_hack_at_ternary_binary_call] = STATE(1282),
    [sym_call_expression] = STATE(774),
    [sym_macro_invocation] = STATE(774),
    [sym__primary_expression] = STATE(774),
    [sym_tuple_expression] = STATE(774),
    [sym_array_literal] = STATE(774),
    [sym_dictionary_literal] = STATE(774),
    [sym_special_literal] = STATE(774),
    [sym_playground_literal] = STATE(774),
    [sym_lambda_literal] = STATE(774),
    [sym_self_expression] = STATE(774),
    [sym_super_expression] = STATE(774),
    [sym_if_statement] = STATE(774),
    [sym_switch_statement] = STATE(774),
    [sym_key_path_expression] = STATE(774),
    [sym_key_path_string_expression] = STATE(774),
    [sym_try_operator] = STATE(645),
    [sym__assignment_and_operator] = STATE(774),
    [sym__equality_operator] = STATE(774),
    [sym__comparison_operator] = STATE(774),
    [sym__three_dot_operator] = STATE(761),
    [sym__open_ended_range_operator] = STATE(695),
    [sym__additive_operator] = STATE(774),
    [sym__multiplicative_operator] = STATE(774),
    [sym__prefix_unary_operator] = STATE(659),
    [sym_directly_assignable_expression] = STATE(6398),
    [sym_assignment] = STATE(774),
    [sym_value_parameter_pack] = STATE(774),
    [sym_value_pack_expansion] = STATE(774),
    [sym__referenceable_operator] = STATE(774),
    [sym__equal_sign] = STATE(774),
    [sym__eq_eq] = STATE(774),
    [sym__dot] = STATE(659),
    [sym__hash_symbol] = STATE(4848),
    [sym_bang] = STATE(759),
    [sym__parameter_ownership_modifier] = STATE(1147),
    [sym_directive] = STATE(774),
    [sym_diagnostic] = STATE(774),
    [aux_sym_raw_string_literal_repeat1] = STATE(7499),
    [anon_sym_BANG] = ACTIONS(659),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(661),
    [aux_sym_simple_identifier_token2] = ACTIONS(663),
    [aux_sym_simple_identifier_token3] = ACTIONS(663),
    [aux_sym_simple_identifier_token4] = ACTIONS(663),
    [anon_sym_actor] = ACTIONS(661),
    [anon_sym_async] = ACTIONS(661),
    [anon_sym_each] = ACTIONS(665),
    [anon_sym_lazy] = ACTIONS(661),
    [anon_sym_repeat] = ACTIONS(667),
    [anon_sym_package] = ACTIONS(661),
    [anon_sym_nil] = ACTIONS(1778),
    [sym_real_literal] = ACTIONS(1780),
    [sym_integer_literal] = ACTIONS(1778),
    [sym_hex_literal] = ACTIONS(1778),
    [sym_oct_literal] = ACTIONS(1780),
    [sym_bin_literal] = ACTIONS(1780),
    [anon_sym_true] = ACTIONS(673),
    [anon_sym_false] = ACTIONS(673),
    [anon_sym_DQUOTE] = ACTIONS(675),
    [anon_sym_BSLASH] = ACTIONS(677),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(679),
    [sym__oneline_regex_literal] = ACTIONS(681),
    [anon_sym_LPAREN] = ACTIONS(683),
    [anon_sym_LBRACK] = ACTIONS(685),
    [anon_sym_AMP] = ACTIONS(687),
    [anon_sym_TILDE] = ACTIONS(687),
    [anon_sym_if] = ACTIONS(689),
    [anon_sym_switch] = ACTIONS(691),
    [aux_sym_custom_operator_token1] = ACTIONS(693),
    [anon_sym_LT] = ACTIONS(1778),
    [anon_sym_GT] = ACTIONS(1778),
    [anon_sym_await] = ACTIONS(695),
    [anon_sym_LBRACE] = ACTIONS(697),
    [anon_sym_CARET_LBRACE] = ACTIONS(697),
    [anon_sym_self] = ACTIONS(699),
    [anon_sym_super] = ACTIONS(701),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1780),
    [anon_sym_DASH_EQ] = ACTIONS(1780),
    [anon_sym_STAR_EQ] = ACTIONS(1780),
    [anon_sym_SLASH_EQ] = ACTIONS(1780),
    [anon_sym_PERCENT_EQ] = ACTIONS(1780),
    [anon_sym_BANG_EQ] = ACTIONS(1778),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1780),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1780),
    [anon_sym_LT_EQ] = ACTIONS(1780),
    [anon_sym_GT_EQ] = ACTIONS(1780),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(703),
    [anon_sym_DOT_DOT_LT] = ACTIONS(705),
    [anon_sym_PLUS] = ACTIONS(707),
    [anon_sym_DASH] = ACTIONS(707),
    [anon_sym_STAR] = ACTIONS(1778),
    [anon_sym_SLASH] = ACTIONS(1778),
    [anon_sym_PERCENT] = ACTIONS(1778),
    [anon_sym_PLUS_PLUS] = ACTIONS(687),
    [anon_sym_DASH_DASH] = ACTIONS(687),
    [anon_sym_PIPE] = ACTIONS(1780),
    [anon_sym_CARET] = ACTIONS(1778),
    [anon_sym_LT_LT] = ACTIONS(1780),
    [anon_sym_GT_GT] = ACTIONS(1780),
    [anon_sym_borrowing] = ACTIONS(661),
    [anon_sym_consuming] = ACTIONS(661),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(709),
    [sym__dot_custom] = ACTIONS(711),
    [sym__eq_custom] = ACTIONS(1780),
    [sym__eq_eq_custom] = ACTIONS(1780),
    [sym__plus_then_ws] = ACTIONS(1780),
    [sym__minus_then_ws] = ACTIONS(1780),
    [sym__bang_custom] = ACTIONS(713),
    [sym__custom_operator] = ACTIONS(693),
    [sym__hash_symbol_custom] = ACTIONS(715),
    [sym__directive_if] = ACTIONS(717),
    [sym__directive_elseif] = ACTIONS(717),
    [sym__directive_else] = ACTIONS(719),
    [sym__directive_endif] = ACTIONS(719),
  },
  [472] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(743),
    [sym_boolean_literal] = STATE(743),
    [sym__string_literal] = STATE(743),
    [sym_line_string_literal] = STATE(743),
    [sym_multi_line_string_literal] = STATE(743),
    [sym_raw_string_literal] = STATE(743),
    [sym_regex_literal] = STATE(743),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6436),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6436),
    [sym_dictionary_type] = STATE(6436),
    [sym__expression] = STATE(743),
    [sym__unary_expression] = STATE(743),
    [sym_postfix_expression] = STATE(743),
    [sym_constructor_expression] = STATE(743),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(743),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(743),
    [sym__range_operator] = STATE(694),
    [sym_open_end_range_expression] = STATE(743),
    [sym_prefix_expression] = STATE(743),
    [sym_as_expression] = STATE(743),
    [sym_selector_expression] = STATE(743),
    [sym__binary_expression] = STATE(743),
    [sym_multiplicative_expression] = STATE(743),
    [sym_additive_expression] = STATE(743),
    [sym_range_expression] = STATE(743),
    [sym_infix_expression] = STATE(743),
    [sym_nil_coalescing_expression] = STATE(743),
    [sym_check_expression] = STATE(743),
    [sym_comparison_expression] = STATE(743),
    [sym_equality_expression] = STATE(743),
    [sym_conjunction_expression] = STATE(743),
    [sym_disjunction_expression] = STATE(743),
    [sym_bitwise_operation] = STATE(743),
    [sym_custom_operator] = STATE(741),
    [sym_try_expression] = STATE(743),
    [sym_await_expression] = STATE(743),
    [sym__await_operator] = STATE(681),
    [sym_ternary_expression] = STATE(743),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(970),
    [sym_expr_hack_at_ternary_binary_call] = STATE(970),
    [sym_call_expression] = STATE(743),
    [sym_macro_invocation] = STATE(743),
    [sym__primary_expression] = STATE(743),
    [sym_tuple_expression] = STATE(743),
    [sym_array_literal] = STATE(743),
    [sym_dictionary_literal] = STATE(743),
    [sym_special_literal] = STATE(743),
    [sym_playground_literal] = STATE(743),
    [sym_lambda_literal] = STATE(743),
    [sym_self_expression] = STATE(743),
    [sym_super_expression] = STATE(743),
    [sym_if_statement] = STATE(743),
    [sym_switch_statement] = STATE(743),
    [sym_key_path_expression] = STATE(743),
    [sym_key_path_string_expression] = STATE(743),
    [sym_try_operator] = STATE(678),
    [sym__assignment_and_operator] = STATE(743),
    [sym__equality_operator] = STATE(743),
    [sym__comparison_operator] = STATE(743),
    [sym__three_dot_operator] = STATE(742),
    [sym__open_ended_range_operator] = STATE(694),
    [sym__additive_operator] = STATE(743),
    [sym__multiplicative_operator] = STATE(743),
    [sym__prefix_unary_operator] = STATE(622),
    [sym_directly_assignable_expression] = STATE(6420),
    [sym_assignment] = STATE(743),
    [sym_value_parameter_pack] = STATE(743),
    [sym_value_pack_expansion] = STATE(743),
    [sym__referenceable_operator] = STATE(743),
    [sym__equal_sign] = STATE(743),
    [sym__eq_eq] = STATE(743),
    [sym__dot] = STATE(622),
    [sym__hash_symbol] = STATE(4852),
    [sym_bang] = STATE(741),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(743),
    [sym_diagnostic] = STATE(743),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(605),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(607),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(609),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1770),
    [sym_real_literal] = ACTIONS(1772),
    [sym_integer_literal] = ACTIONS(1770),
    [sym_hex_literal] = ACTIONS(1770),
    [sym_oct_literal] = ACTIONS(1772),
    [sym_bin_literal] = ACTIONS(1772),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(615),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(625),
    [anon_sym_TILDE] = ACTIONS(625),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(627),
    [aux_sym_custom_operator_token1] = ACTIONS(629),
    [anon_sym_LT] = ACTIONS(1770),
    [anon_sym_GT] = ACTIONS(1770),
    [anon_sym_await] = ACTIONS(631),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1772),
    [anon_sym_DASH_EQ] = ACTIONS(1772),
    [anon_sym_STAR_EQ] = ACTIONS(1772),
    [anon_sym_SLASH_EQ] = ACTIONS(1772),
    [anon_sym_PERCENT_EQ] = ACTIONS(1772),
    [anon_sym_BANG_EQ] = ACTIONS(1770),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1772),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1772),
    [anon_sym_LT_EQ] = ACTIONS(1772),
    [anon_sym_GT_EQ] = ACTIONS(1772),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(635),
    [anon_sym_DOT_DOT_LT] = ACTIONS(637),
    [anon_sym_PLUS] = ACTIONS(639),
    [anon_sym_DASH] = ACTIONS(639),
    [anon_sym_STAR] = ACTIONS(1770),
    [anon_sym_SLASH] = ACTIONS(1770),
    [anon_sym_PERCENT] = ACTIONS(1770),
    [anon_sym_PLUS_PLUS] = ACTIONS(625),
    [anon_sym_DASH_DASH] = ACTIONS(625),
    [anon_sym_PIPE] = ACTIONS(1772),
    [anon_sym_CARET] = ACTIONS(1770),
    [anon_sym_LT_LT] = ACTIONS(1772),
    [anon_sym_GT_GT] = ACTIONS(1772),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(641),
    [sym__eq_custom] = ACTIONS(1772),
    [sym__eq_eq_custom] = ACTIONS(1772),
    [sym__plus_then_ws] = ACTIONS(1772),
    [sym__minus_then_ws] = ACTIONS(1772),
    [sym__bang_custom] = ACTIONS(643),
    [sym__custom_operator] = ACTIONS(629),
    [sym__hash_symbol_custom] = ACTIONS(645),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [473] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1632),
    [sym_boolean_literal] = STATE(1632),
    [sym__string_literal] = STATE(1632),
    [sym_line_string_literal] = STATE(1632),
    [sym_multi_line_string_literal] = STATE(1632),
    [sym_raw_string_literal] = STATE(1632),
    [sym_regex_literal] = STATE(1632),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1632),
    [sym__unary_expression] = STATE(1632),
    [sym_postfix_expression] = STATE(1632),
    [sym_constructor_expression] = STATE(1632),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1632),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1632),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1632),
    [sym_prefix_expression] = STATE(1632),
    [sym_as_expression] = STATE(1632),
    [sym_selector_expression] = STATE(1632),
    [sym__binary_expression] = STATE(1632),
    [sym_multiplicative_expression] = STATE(1632),
    [sym_additive_expression] = STATE(1632),
    [sym_range_expression] = STATE(1632),
    [sym_infix_expression] = STATE(1632),
    [sym_nil_coalescing_expression] = STATE(1632),
    [sym_check_expression] = STATE(1632),
    [sym_comparison_expression] = STATE(1632),
    [sym_equality_expression] = STATE(1632),
    [sym_conjunction_expression] = STATE(1632),
    [sym_disjunction_expression] = STATE(1632),
    [sym_bitwise_operation] = STATE(1632),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1632),
    [sym_await_expression] = STATE(1632),
    [sym__await_operator] = STATE(728),
    [sym_ternary_expression] = STATE(1632),
    [sym_call_expression] = STATE(1632),
    [sym_macro_invocation] = STATE(1632),
    [sym__primary_expression] = STATE(1632),
    [sym_tuple_expression] = STATE(1632),
    [sym_array_literal] = STATE(1632),
    [sym_dictionary_literal] = STATE(1632),
    [sym_special_literal] = STATE(1632),
    [sym_playground_literal] = STATE(1632),
    [sym_lambda_literal] = STATE(1632),
    [sym_self_expression] = STATE(1632),
    [sym_super_expression] = STATE(1632),
    [sym_if_statement] = STATE(1632),
    [sym_switch_statement] = STATE(1632),
    [sym_key_path_expression] = STATE(1632),
    [sym_key_path_string_expression] = STATE(1632),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1632),
    [sym__equality_operator] = STATE(1632),
    [sym__comparison_operator] = STATE(1632),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1632),
    [sym__multiplicative_operator] = STATE(1632),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym__for_statement_collection] = STATE(7369),
    [sym_for_statement_await] = STATE(7369),
    [sym_assignment] = STATE(1632),
    [sym_value_parameter_pack] = STATE(1632),
    [sym_value_pack_expansion] = STATE(1632),
    [sym__referenceable_operator] = STATE(1632),
    [sym__equal_sign] = STATE(1632),
    [sym__eq_eq] = STATE(1632),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1632),
    [sym_diagnostic] = STATE(1632),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(1764),
    [sym_real_literal] = ACTIONS(1766),
    [sym_integer_literal] = ACTIONS(1764),
    [sym_hex_literal] = ACTIONS(1764),
    [sym_oct_literal] = ACTIONS(1766),
    [sym_bin_literal] = ACTIONS(1766),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(1764),
    [anon_sym_GT] = ACTIONS(1764),
    [anon_sym_await] = ACTIONS(1768),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1766),
    [anon_sym_DASH_EQ] = ACTIONS(1766),
    [anon_sym_STAR_EQ] = ACTIONS(1766),
    [anon_sym_SLASH_EQ] = ACTIONS(1766),
    [anon_sym_PERCENT_EQ] = ACTIONS(1766),
    [anon_sym_BANG_EQ] = ACTIONS(1764),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1766),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1766),
    [anon_sym_LT_EQ] = ACTIONS(1766),
    [anon_sym_GT_EQ] = ACTIONS(1766),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(1764),
    [anon_sym_SLASH] = ACTIONS(1764),
    [anon_sym_PERCENT] = ACTIONS(1764),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(1766),
    [anon_sym_CARET] = ACTIONS(1764),
    [anon_sym_LT_LT] = ACTIONS(1766),
    [anon_sym_GT_GT] = ACTIONS(1766),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(1766),
    [sym__eq_eq_custom] = ACTIONS(1766),
    [sym__plus_then_ws] = ACTIONS(1766),
    [sym__minus_then_ws] = ACTIONS(1766),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [474] = {
    [sym_simple_identifier] = STATE(3108),
    [sym__contextual_simple_identifier] = STATE(2967),
    [sym__basic_literal] = STATE(1579),
    [sym_boolean_literal] = STATE(1579),
    [sym__string_literal] = STATE(1579),
    [sym_line_string_literal] = STATE(1579),
    [sym_multi_line_string_literal] = STATE(1579),
    [sym_raw_string_literal] = STATE(1579),
    [sym_regex_literal] = STATE(1579),
    [sym__extended_regex_literal] = STATE(3663),
    [sym__multiline_regex_literal] = STATE(3663),
    [sym_user_type] = STATE(6406),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6406),
    [sym_dictionary_type] = STATE(6406),
    [sym__expression] = STATE(1579),
    [sym__unary_expression] = STATE(1579),
    [sym_postfix_expression] = STATE(1579),
    [sym_constructor_expression] = STATE(1579),
    [sym__parenthesized_type] = STATE(7557),
    [sym_navigation_expression] = STATE(1579),
    [sym__navigable_type_expression] = STATE(7558),
    [sym_open_start_range_expression] = STATE(1579),
    [sym__range_operator] = STATE(592),
    [sym_open_end_range_expression] = STATE(1579),
    [sym_prefix_expression] = STATE(1579),
    [sym_as_expression] = STATE(1579),
    [sym_selector_expression] = STATE(1579),
    [sym__binary_expression] = STATE(1579),
    [sym_multiplicative_expression] = STATE(1579),
    [sym_additive_expression] = STATE(1579),
    [sym_range_expression] = STATE(1579),
    [sym_infix_expression] = STATE(1579),
    [sym_nil_coalescing_expression] = STATE(1579),
    [sym_check_expression] = STATE(1579),
    [sym_comparison_expression] = STATE(1579),
    [sym_equality_expression] = STATE(1579),
    [sym_conjunction_expression] = STATE(1579),
    [sym_disjunction_expression] = STATE(1579),
    [sym_bitwise_operation] = STATE(1579),
    [sym_custom_operator] = STATE(1288),
    [sym_try_expression] = STATE(1579),
    [sym_await_expression] = STATE(1579),
    [sym__await_operator] = STATE(595),
    [sym_ternary_expression] = STATE(1579),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(3685),
    [sym_expr_hack_at_ternary_binary_call] = STATE(3685),
    [sym_call_expression] = STATE(1579),
    [sym_macro_invocation] = STATE(1579),
    [sym__primary_expression] = STATE(1579),
    [sym_tuple_expression] = STATE(1579),
    [sym_array_literal] = STATE(1579),
    [sym_dictionary_literal] = STATE(1579),
    [sym_special_literal] = STATE(1579),
    [sym_playground_literal] = STATE(1579),
    [sym_lambda_literal] = STATE(1579),
    [sym_self_expression] = STATE(1579),
    [sym_super_expression] = STATE(1579),
    [sym_if_statement] = STATE(1579),
    [sym_switch_statement] = STATE(1579),
    [sym_key_path_expression] = STATE(1579),
    [sym_key_path_string_expression] = STATE(1579),
    [sym_try_operator] = STATE(611),
    [sym__assignment_and_operator] = STATE(1579),
    [sym__equality_operator] = STATE(1579),
    [sym__comparison_operator] = STATE(1579),
    [sym__three_dot_operator] = STATE(1257),
    [sym__open_ended_range_operator] = STATE(592),
    [sym__additive_operator] = STATE(1579),
    [sym__multiplicative_operator] = STATE(1579),
    [sym__prefix_unary_operator] = STATE(620),
    [sym_directly_assignable_expression] = STATE(6409),
    [sym_assignment] = STATE(1579),
    [sym_value_parameter_pack] = STATE(1579),
    [sym_value_pack_expansion] = STATE(1579),
    [sym__referenceable_operator] = STATE(1579),
    [sym__equal_sign] = STATE(1579),
    [sym__eq_eq] = STATE(1579),
    [sym__dot] = STATE(620),
    [sym__hash_symbol] = STATE(4853),
    [sym_bang] = STATE(1288),
    [sym__parameter_ownership_modifier] = STATE(2967),
    [sym_directive] = STATE(1579),
    [sym_diagnostic] = STATE(1579),
    [aux_sym_raw_string_literal_repeat1] = STATE(7564),
    [anon_sym_BANG] = ACTIONS(1293),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1295),
    [aux_sym_simple_identifier_token2] = ACTIONS(1297),
    [aux_sym_simple_identifier_token3] = ACTIONS(1297),
    [aux_sym_simple_identifier_token4] = ACTIONS(1297),
    [anon_sym_actor] = ACTIONS(1295),
    [anon_sym_async] = ACTIONS(1295),
    [anon_sym_each] = ACTIONS(1301),
    [anon_sym_lazy] = ACTIONS(1295),
    [anon_sym_repeat] = ACTIONS(1303),
    [anon_sym_package] = ACTIONS(1295),
    [anon_sym_nil] = ACTIONS(1774),
    [sym_real_literal] = ACTIONS(1776),
    [sym_integer_literal] = ACTIONS(1774),
    [sym_hex_literal] = ACTIONS(1774),
    [sym_oct_literal] = ACTIONS(1776),
    [sym_bin_literal] = ACTIONS(1776),
    [anon_sym_true] = ACTIONS(1309),
    [anon_sym_false] = ACTIONS(1309),
    [anon_sym_DQUOTE] = ACTIONS(1311),
    [anon_sym_BSLASH] = ACTIONS(1313),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1315),
    [sym__oneline_regex_literal] = ACTIONS(1317),
    [anon_sym_LPAREN] = ACTIONS(1319),
    [anon_sym_LBRACK] = ACTIONS(1321),
    [anon_sym_AMP] = ACTIONS(1323),
    [anon_sym_TILDE] = ACTIONS(1323),
    [anon_sym_if] = ACTIONS(1325),
    [anon_sym_switch] = ACTIONS(1327),
    [aux_sym_custom_operator_token1] = ACTIONS(1329),
    [anon_sym_LT] = ACTIONS(1774),
    [anon_sym_GT] = ACTIONS(1774),
    [anon_sym_await] = ACTIONS(1331),
    [anon_sym_LBRACE] = ACTIONS(1333),
    [anon_sym_CARET_LBRACE] = ACTIONS(1333),
    [anon_sym_self] = ACTIONS(1335),
    [anon_sym_super] = ACTIONS(1337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1776),
    [anon_sym_DASH_EQ] = ACTIONS(1776),
    [anon_sym_STAR_EQ] = ACTIONS(1776),
    [anon_sym_SLASH_EQ] = ACTIONS(1776),
    [anon_sym_PERCENT_EQ] = ACTIONS(1776),
    [anon_sym_BANG_EQ] = ACTIONS(1774),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1776),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1776),
    [anon_sym_LT_EQ] = ACTIONS(1776),
    [anon_sym_GT_EQ] = ACTIONS(1776),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1341),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1343),
    [anon_sym_PLUS] = ACTIONS(1345),
    [anon_sym_DASH] = ACTIONS(1345),
    [anon_sym_STAR] = ACTIONS(1774),
    [anon_sym_SLASH] = ACTIONS(1774),
    [anon_sym_PERCENT] = ACTIONS(1774),
    [anon_sym_PLUS_PLUS] = ACTIONS(1323),
    [anon_sym_DASH_DASH] = ACTIONS(1323),
    [anon_sym_PIPE] = ACTIONS(1776),
    [anon_sym_CARET] = ACTIONS(1774),
    [anon_sym_LT_LT] = ACTIONS(1776),
    [anon_sym_GT_GT] = ACTIONS(1776),
    [anon_sym_borrowing] = ACTIONS(1295),
    [anon_sym_consuming] = ACTIONS(1295),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1347),
    [sym__dot_custom] = ACTIONS(1349),
    [sym__eq_custom] = ACTIONS(1776),
    [sym__eq_eq_custom] = ACTIONS(1776),
    [sym__plus_then_ws] = ACTIONS(1776),
    [sym__minus_then_ws] = ACTIONS(1776),
    [sym__bang_custom] = ACTIONS(1351),
    [sym__custom_operator] = ACTIONS(1329),
    [sym__hash_symbol_custom] = ACTIONS(1371),
    [sym__directive_if] = ACTIONS(1355),
    [sym__directive_elseif] = ACTIONS(1355),
    [sym__directive_else] = ACTIONS(1357),
    [sym__directive_endif] = ACTIONS(1357),
  },
  [475] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1457),
    [sym_boolean_literal] = STATE(1457),
    [sym__string_literal] = STATE(1457),
    [sym_line_string_literal] = STATE(1457),
    [sym_multi_line_string_literal] = STATE(1457),
    [sym_raw_string_literal] = STATE(1457),
    [sym_regex_literal] = STATE(1457),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1457),
    [sym__unary_expression] = STATE(1457),
    [sym_postfix_expression] = STATE(1457),
    [sym_constructor_expression] = STATE(1457),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1457),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1457),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1457),
    [sym_prefix_expression] = STATE(1457),
    [sym_as_expression] = STATE(1457),
    [sym_selector_expression] = STATE(1457),
    [sym__binary_expression] = STATE(1457),
    [sym_multiplicative_expression] = STATE(1457),
    [sym_additive_expression] = STATE(1457),
    [sym_range_expression] = STATE(1457),
    [sym_infix_expression] = STATE(1457),
    [sym_nil_coalescing_expression] = STATE(1457),
    [sym_check_expression] = STATE(1457),
    [sym_comparison_expression] = STATE(1457),
    [sym_equality_expression] = STATE(1457),
    [sym_conjunction_expression] = STATE(1457),
    [sym_disjunction_expression] = STATE(1457),
    [sym_bitwise_operation] = STATE(1457),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1457),
    [sym_await_expression] = STATE(1457),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1457),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(2715),
    [sym_expr_hack_at_ternary_binary_call] = STATE(2715),
    [sym_call_expression] = STATE(1457),
    [sym_macro_invocation] = STATE(1457),
    [sym__primary_expression] = STATE(1457),
    [sym_tuple_expression] = STATE(1457),
    [sym_array_literal] = STATE(1457),
    [sym_dictionary_literal] = STATE(1457),
    [sym_special_literal] = STATE(1457),
    [sym_playground_literal] = STATE(1457),
    [sym_lambda_literal] = STATE(1457),
    [sym_self_expression] = STATE(1457),
    [sym_super_expression] = STATE(1457),
    [sym_if_statement] = STATE(1457),
    [sym_switch_statement] = STATE(1457),
    [sym_key_path_expression] = STATE(1457),
    [sym_key_path_string_expression] = STATE(1457),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1457),
    [sym__equality_operator] = STATE(1457),
    [sym__comparison_operator] = STATE(1457),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1457),
    [sym__multiplicative_operator] = STATE(1457),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_assignment] = STATE(1457),
    [sym_value_parameter_pack] = STATE(1457),
    [sym_value_pack_expansion] = STATE(1457),
    [sym__referenceable_operator] = STATE(1457),
    [sym__equal_sign] = STATE(1457),
    [sym__eq_eq] = STATE(1457),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1457),
    [sym_diagnostic] = STATE(1457),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(11),
    [anon_sym_async] = ACTIONS(11),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(11),
    [anon_sym_repeat] = ACTIONS(925),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(1808),
    [sym_real_literal] = ACTIONS(1810),
    [sym_integer_literal] = ACTIONS(1808),
    [sym_hex_literal] = ACTIONS(1808),
    [sym_oct_literal] = ACTIONS(1810),
    [sym_bin_literal] = ACTIONS(1810),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(1808),
    [anon_sym_GT] = ACTIONS(1808),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1810),
    [anon_sym_DASH_EQ] = ACTIONS(1810),
    [anon_sym_STAR_EQ] = ACTIONS(1810),
    [anon_sym_SLASH_EQ] = ACTIONS(1810),
    [anon_sym_PERCENT_EQ] = ACTIONS(1810),
    [anon_sym_BANG_EQ] = ACTIONS(1808),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1810),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1810),
    [anon_sym_LT_EQ] = ACTIONS(1810),
    [anon_sym_GT_EQ] = ACTIONS(1810),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(1808),
    [anon_sym_SLASH] = ACTIONS(1808),
    [anon_sym_PERCENT] = ACTIONS(1808),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(1810),
    [anon_sym_CARET] = ACTIONS(1808),
    [anon_sym_LT_LT] = ACTIONS(1810),
    [anon_sym_GT_GT] = ACTIONS(1810),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(1810),
    [sym__eq_eq_custom] = ACTIONS(1810),
    [sym__plus_then_ws] = ACTIONS(1810),
    [sym__minus_then_ws] = ACTIONS(1810),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [476] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1632),
    [sym_boolean_literal] = STATE(1632),
    [sym__string_literal] = STATE(1632),
    [sym_line_string_literal] = STATE(1632),
    [sym_multi_line_string_literal] = STATE(1632),
    [sym_raw_string_literal] = STATE(1632),
    [sym_regex_literal] = STATE(1632),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1632),
    [sym__unary_expression] = STATE(1632),
    [sym_postfix_expression] = STATE(1632),
    [sym_constructor_expression] = STATE(1632),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1632),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1632),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1632),
    [sym_prefix_expression] = STATE(1632),
    [sym_as_expression] = STATE(1632),
    [sym_selector_expression] = STATE(1632),
    [sym__binary_expression] = STATE(1632),
    [sym_multiplicative_expression] = STATE(1632),
    [sym_additive_expression] = STATE(1632),
    [sym_range_expression] = STATE(1632),
    [sym_infix_expression] = STATE(1632),
    [sym_nil_coalescing_expression] = STATE(1632),
    [sym_check_expression] = STATE(1632),
    [sym_comparison_expression] = STATE(1632),
    [sym_equality_expression] = STATE(1632),
    [sym_conjunction_expression] = STATE(1632),
    [sym_disjunction_expression] = STATE(1632),
    [sym_bitwise_operation] = STATE(1632),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1632),
    [sym_await_expression] = STATE(1632),
    [sym__await_operator] = STATE(728),
    [sym_ternary_expression] = STATE(1632),
    [sym_call_expression] = STATE(1632),
    [sym_macro_invocation] = STATE(1632),
    [sym__primary_expression] = STATE(1632),
    [sym_tuple_expression] = STATE(1632),
    [sym_array_literal] = STATE(1632),
    [sym_dictionary_literal] = STATE(1632),
    [sym_special_literal] = STATE(1632),
    [sym_playground_literal] = STATE(1632),
    [sym_lambda_literal] = STATE(1632),
    [sym_self_expression] = STATE(1632),
    [sym_super_expression] = STATE(1632),
    [sym_if_statement] = STATE(1632),
    [sym_switch_statement] = STATE(1632),
    [sym_key_path_expression] = STATE(1632),
    [sym_key_path_string_expression] = STATE(1632),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1632),
    [sym__equality_operator] = STATE(1632),
    [sym__comparison_operator] = STATE(1632),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1632),
    [sym__multiplicative_operator] = STATE(1632),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym__for_statement_collection] = STATE(7368),
    [sym_for_statement_await] = STATE(7368),
    [sym_assignment] = STATE(1632),
    [sym_value_parameter_pack] = STATE(1632),
    [sym_value_pack_expansion] = STATE(1632),
    [sym__referenceable_operator] = STATE(1632),
    [sym__equal_sign] = STATE(1632),
    [sym__eq_eq] = STATE(1632),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1632),
    [sym_diagnostic] = STATE(1632),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(1764),
    [sym_real_literal] = ACTIONS(1766),
    [sym_integer_literal] = ACTIONS(1764),
    [sym_hex_literal] = ACTIONS(1764),
    [sym_oct_literal] = ACTIONS(1766),
    [sym_bin_literal] = ACTIONS(1766),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(1764),
    [anon_sym_GT] = ACTIONS(1764),
    [anon_sym_await] = ACTIONS(1768),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1766),
    [anon_sym_DASH_EQ] = ACTIONS(1766),
    [anon_sym_STAR_EQ] = ACTIONS(1766),
    [anon_sym_SLASH_EQ] = ACTIONS(1766),
    [anon_sym_PERCENT_EQ] = ACTIONS(1766),
    [anon_sym_BANG_EQ] = ACTIONS(1764),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1766),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1766),
    [anon_sym_LT_EQ] = ACTIONS(1766),
    [anon_sym_GT_EQ] = ACTIONS(1766),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(1764),
    [anon_sym_SLASH] = ACTIONS(1764),
    [anon_sym_PERCENT] = ACTIONS(1764),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(1766),
    [anon_sym_CARET] = ACTIONS(1764),
    [anon_sym_LT_LT] = ACTIONS(1766),
    [anon_sym_GT_GT] = ACTIONS(1766),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(1766),
    [sym__eq_eq_custom] = ACTIONS(1766),
    [sym__plus_then_ws] = ACTIONS(1766),
    [sym__minus_then_ws] = ACTIONS(1766),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [477] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1457),
    [sym_boolean_literal] = STATE(1457),
    [sym__string_literal] = STATE(1457),
    [sym_line_string_literal] = STATE(1457),
    [sym_multi_line_string_literal] = STATE(1457),
    [sym_raw_string_literal] = STATE(1457),
    [sym_regex_literal] = STATE(1457),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1457),
    [sym__unary_expression] = STATE(1457),
    [sym_postfix_expression] = STATE(1457),
    [sym_constructor_expression] = STATE(1457),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1457),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1457),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1457),
    [sym_prefix_expression] = STATE(1457),
    [sym_as_expression] = STATE(1457),
    [sym_selector_expression] = STATE(1457),
    [sym__binary_expression] = STATE(1457),
    [sym_multiplicative_expression] = STATE(1457),
    [sym_additive_expression] = STATE(1457),
    [sym_range_expression] = STATE(1457),
    [sym_infix_expression] = STATE(1457),
    [sym_nil_coalescing_expression] = STATE(1457),
    [sym_check_expression] = STATE(1457),
    [sym_comparison_expression] = STATE(1457),
    [sym_equality_expression] = STATE(1457),
    [sym_conjunction_expression] = STATE(1457),
    [sym_disjunction_expression] = STATE(1457),
    [sym_bitwise_operation] = STATE(1457),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1457),
    [sym_await_expression] = STATE(1457),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1457),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(2713),
    [sym_expr_hack_at_ternary_binary_call] = STATE(2713),
    [sym_call_expression] = STATE(1457),
    [sym_macro_invocation] = STATE(1457),
    [sym__primary_expression] = STATE(1457),
    [sym_tuple_expression] = STATE(1457),
    [sym_array_literal] = STATE(1457),
    [sym_dictionary_literal] = STATE(1457),
    [sym_special_literal] = STATE(1457),
    [sym_playground_literal] = STATE(1457),
    [sym_lambda_literal] = STATE(1457),
    [sym_self_expression] = STATE(1457),
    [sym_super_expression] = STATE(1457),
    [sym_if_statement] = STATE(1457),
    [sym_switch_statement] = STATE(1457),
    [sym_key_path_expression] = STATE(1457),
    [sym_key_path_string_expression] = STATE(1457),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1457),
    [sym__equality_operator] = STATE(1457),
    [sym__comparison_operator] = STATE(1457),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1457),
    [sym__multiplicative_operator] = STATE(1457),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_assignment] = STATE(1457),
    [sym_value_parameter_pack] = STATE(1457),
    [sym_value_pack_expansion] = STATE(1457),
    [sym__referenceable_operator] = STATE(1457),
    [sym__equal_sign] = STATE(1457),
    [sym__eq_eq] = STATE(1457),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1457),
    [sym_diagnostic] = STATE(1457),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(11),
    [anon_sym_async] = ACTIONS(11),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(11),
    [anon_sym_repeat] = ACTIONS(925),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(1808),
    [sym_real_literal] = ACTIONS(1810),
    [sym_integer_literal] = ACTIONS(1808),
    [sym_hex_literal] = ACTIONS(1808),
    [sym_oct_literal] = ACTIONS(1810),
    [sym_bin_literal] = ACTIONS(1810),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(1808),
    [anon_sym_GT] = ACTIONS(1808),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1810),
    [anon_sym_DASH_EQ] = ACTIONS(1810),
    [anon_sym_STAR_EQ] = ACTIONS(1810),
    [anon_sym_SLASH_EQ] = ACTIONS(1810),
    [anon_sym_PERCENT_EQ] = ACTIONS(1810),
    [anon_sym_BANG_EQ] = ACTIONS(1808),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1810),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1810),
    [anon_sym_LT_EQ] = ACTIONS(1810),
    [anon_sym_GT_EQ] = ACTIONS(1810),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(1808),
    [anon_sym_SLASH] = ACTIONS(1808),
    [anon_sym_PERCENT] = ACTIONS(1808),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(1810),
    [anon_sym_CARET] = ACTIONS(1808),
    [anon_sym_LT_LT] = ACTIONS(1810),
    [anon_sym_GT_GT] = ACTIONS(1810),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(1810),
    [sym__eq_eq_custom] = ACTIONS(1810),
    [sym__plus_then_ws] = ACTIONS(1810),
    [sym__minus_then_ws] = ACTIONS(1810),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [478] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1476),
    [sym_boolean_literal] = STATE(1476),
    [sym__string_literal] = STATE(1476),
    [sym_line_string_literal] = STATE(1476),
    [sym_multi_line_string_literal] = STATE(1476),
    [sym_raw_string_literal] = STATE(1476),
    [sym_regex_literal] = STATE(1476),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1476),
    [sym__unary_expression] = STATE(1476),
    [sym_postfix_expression] = STATE(1476),
    [sym_constructor_expression] = STATE(1476),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1476),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1476),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1476),
    [sym_prefix_expression] = STATE(1476),
    [sym_as_expression] = STATE(1476),
    [sym_selector_expression] = STATE(1476),
    [sym__binary_expression] = STATE(1476),
    [sym_multiplicative_expression] = STATE(1476),
    [sym_additive_expression] = STATE(1476),
    [sym_range_expression] = STATE(1476),
    [sym_infix_expression] = STATE(1476),
    [sym_nil_coalescing_expression] = STATE(1476),
    [sym_check_expression] = STATE(1476),
    [sym_comparison_expression] = STATE(1476),
    [sym_equality_expression] = STATE(1476),
    [sym_conjunction_expression] = STATE(1476),
    [sym_disjunction_expression] = STATE(1476),
    [sym_bitwise_operation] = STATE(1476),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1476),
    [sym_await_expression] = STATE(1476),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1476),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(970),
    [sym_expr_hack_at_ternary_binary_call] = STATE(970),
    [sym_call_expression] = STATE(1476),
    [sym_macro_invocation] = STATE(1476),
    [sym__primary_expression] = STATE(1476),
    [sym_tuple_expression] = STATE(1476),
    [sym_array_literal] = STATE(1476),
    [sym_dictionary_literal] = STATE(1476),
    [sym_special_literal] = STATE(1476),
    [sym_playground_literal] = STATE(1476),
    [sym_lambda_literal] = STATE(1476),
    [sym_self_expression] = STATE(1476),
    [sym_super_expression] = STATE(1476),
    [sym_if_statement] = STATE(1476),
    [sym_switch_statement] = STATE(1476),
    [sym_key_path_expression] = STATE(1476),
    [sym_key_path_string_expression] = STATE(1476),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1476),
    [sym__equality_operator] = STATE(1476),
    [sym__comparison_operator] = STATE(1476),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1476),
    [sym__multiplicative_operator] = STATE(1476),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1476),
    [sym_value_parameter_pack] = STATE(1476),
    [sym_value_pack_expansion] = STATE(1476),
    [sym__referenceable_operator] = STATE(1476),
    [sym__equal_sign] = STATE(1476),
    [sym__eq_eq] = STATE(1476),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1476),
    [sym_diagnostic] = STATE(1476),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1822),
    [sym_real_literal] = ACTIONS(1824),
    [sym_integer_literal] = ACTIONS(1822),
    [sym_hex_literal] = ACTIONS(1822),
    [sym_oct_literal] = ACTIONS(1824),
    [sym_bin_literal] = ACTIONS(1824),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1822),
    [anon_sym_GT] = ACTIONS(1822),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1824),
    [anon_sym_DASH_EQ] = ACTIONS(1824),
    [anon_sym_STAR_EQ] = ACTIONS(1824),
    [anon_sym_SLASH_EQ] = ACTIONS(1824),
    [anon_sym_PERCENT_EQ] = ACTIONS(1824),
    [anon_sym_BANG_EQ] = ACTIONS(1822),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1824),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1824),
    [anon_sym_LT_EQ] = ACTIONS(1824),
    [anon_sym_GT_EQ] = ACTIONS(1824),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1822),
    [anon_sym_SLASH] = ACTIONS(1822),
    [anon_sym_PERCENT] = ACTIONS(1822),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1824),
    [anon_sym_CARET] = ACTIONS(1822),
    [anon_sym_LT_LT] = ACTIONS(1824),
    [anon_sym_GT_GT] = ACTIONS(1824),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1824),
    [sym__eq_eq_custom] = ACTIONS(1824),
    [sym__plus_then_ws] = ACTIONS(1824),
    [sym__minus_then_ws] = ACTIONS(1824),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [479] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1632),
    [sym_boolean_literal] = STATE(1632),
    [sym__string_literal] = STATE(1632),
    [sym_line_string_literal] = STATE(1632),
    [sym_multi_line_string_literal] = STATE(1632),
    [sym_raw_string_literal] = STATE(1632),
    [sym_regex_literal] = STATE(1632),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1632),
    [sym__unary_expression] = STATE(1632),
    [sym_postfix_expression] = STATE(1632),
    [sym_constructor_expression] = STATE(1632),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1632),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1632),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1632),
    [sym_prefix_expression] = STATE(1632),
    [sym_as_expression] = STATE(1632),
    [sym_selector_expression] = STATE(1632),
    [sym__binary_expression] = STATE(1632),
    [sym_multiplicative_expression] = STATE(1632),
    [sym_additive_expression] = STATE(1632),
    [sym_range_expression] = STATE(1632),
    [sym_infix_expression] = STATE(1632),
    [sym_nil_coalescing_expression] = STATE(1632),
    [sym_check_expression] = STATE(1632),
    [sym_comparison_expression] = STATE(1632),
    [sym_equality_expression] = STATE(1632),
    [sym_conjunction_expression] = STATE(1632),
    [sym_disjunction_expression] = STATE(1632),
    [sym_bitwise_operation] = STATE(1632),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1632),
    [sym_await_expression] = STATE(1632),
    [sym__await_operator] = STATE(728),
    [sym_ternary_expression] = STATE(1632),
    [sym_call_expression] = STATE(1632),
    [sym_macro_invocation] = STATE(1632),
    [sym__primary_expression] = STATE(1632),
    [sym_tuple_expression] = STATE(1632),
    [sym_array_literal] = STATE(1632),
    [sym_dictionary_literal] = STATE(1632),
    [sym_special_literal] = STATE(1632),
    [sym_playground_literal] = STATE(1632),
    [sym_lambda_literal] = STATE(1632),
    [sym_self_expression] = STATE(1632),
    [sym_super_expression] = STATE(1632),
    [sym_if_statement] = STATE(1632),
    [sym_switch_statement] = STATE(1632),
    [sym_key_path_expression] = STATE(1632),
    [sym_key_path_string_expression] = STATE(1632),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1632),
    [sym__equality_operator] = STATE(1632),
    [sym__comparison_operator] = STATE(1632),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1632),
    [sym__multiplicative_operator] = STATE(1632),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym__for_statement_collection] = STATE(7439),
    [sym_for_statement_await] = STATE(7439),
    [sym_assignment] = STATE(1632),
    [sym_value_parameter_pack] = STATE(1632),
    [sym_value_pack_expansion] = STATE(1632),
    [sym__referenceable_operator] = STATE(1632),
    [sym__equal_sign] = STATE(1632),
    [sym__eq_eq] = STATE(1632),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1632),
    [sym_diagnostic] = STATE(1632),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(1764),
    [sym_real_literal] = ACTIONS(1766),
    [sym_integer_literal] = ACTIONS(1764),
    [sym_hex_literal] = ACTIONS(1764),
    [sym_oct_literal] = ACTIONS(1766),
    [sym_bin_literal] = ACTIONS(1766),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(1764),
    [anon_sym_GT] = ACTIONS(1764),
    [anon_sym_await] = ACTIONS(1768),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1766),
    [anon_sym_DASH_EQ] = ACTIONS(1766),
    [anon_sym_STAR_EQ] = ACTIONS(1766),
    [anon_sym_SLASH_EQ] = ACTIONS(1766),
    [anon_sym_PERCENT_EQ] = ACTIONS(1766),
    [anon_sym_BANG_EQ] = ACTIONS(1764),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1766),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1766),
    [anon_sym_LT_EQ] = ACTIONS(1766),
    [anon_sym_GT_EQ] = ACTIONS(1766),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(1764),
    [anon_sym_SLASH] = ACTIONS(1764),
    [anon_sym_PERCENT] = ACTIONS(1764),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(1766),
    [anon_sym_CARET] = ACTIONS(1764),
    [anon_sym_LT_LT] = ACTIONS(1766),
    [anon_sym_GT_GT] = ACTIONS(1766),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(1766),
    [sym__eq_eq_custom] = ACTIONS(1766),
    [sym__plus_then_ws] = ACTIONS(1766),
    [sym__minus_then_ws] = ACTIONS(1766),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [480] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1476),
    [sym_boolean_literal] = STATE(1476),
    [sym__string_literal] = STATE(1476),
    [sym_line_string_literal] = STATE(1476),
    [sym_multi_line_string_literal] = STATE(1476),
    [sym_raw_string_literal] = STATE(1476),
    [sym_regex_literal] = STATE(1476),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1476),
    [sym__unary_expression] = STATE(1476),
    [sym_postfix_expression] = STATE(1476),
    [sym_constructor_expression] = STATE(1476),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1476),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1476),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1476),
    [sym_prefix_expression] = STATE(1476),
    [sym_as_expression] = STATE(1476),
    [sym_selector_expression] = STATE(1476),
    [sym__binary_expression] = STATE(1476),
    [sym_multiplicative_expression] = STATE(1476),
    [sym_additive_expression] = STATE(1476),
    [sym_range_expression] = STATE(1476),
    [sym_infix_expression] = STATE(1476),
    [sym_nil_coalescing_expression] = STATE(1476),
    [sym_check_expression] = STATE(1476),
    [sym_comparison_expression] = STATE(1476),
    [sym_equality_expression] = STATE(1476),
    [sym_conjunction_expression] = STATE(1476),
    [sym_disjunction_expression] = STATE(1476),
    [sym_bitwise_operation] = STATE(1476),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1476),
    [sym_await_expression] = STATE(1476),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1476),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(971),
    [sym_expr_hack_at_ternary_binary_call] = STATE(971),
    [sym_call_expression] = STATE(1476),
    [sym_macro_invocation] = STATE(1476),
    [sym__primary_expression] = STATE(1476),
    [sym_tuple_expression] = STATE(1476),
    [sym_array_literal] = STATE(1476),
    [sym_dictionary_literal] = STATE(1476),
    [sym_special_literal] = STATE(1476),
    [sym_playground_literal] = STATE(1476),
    [sym_lambda_literal] = STATE(1476),
    [sym_self_expression] = STATE(1476),
    [sym_super_expression] = STATE(1476),
    [sym_if_statement] = STATE(1476),
    [sym_switch_statement] = STATE(1476),
    [sym_key_path_expression] = STATE(1476),
    [sym_key_path_string_expression] = STATE(1476),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1476),
    [sym__equality_operator] = STATE(1476),
    [sym__comparison_operator] = STATE(1476),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1476),
    [sym__multiplicative_operator] = STATE(1476),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1476),
    [sym_value_parameter_pack] = STATE(1476),
    [sym_value_pack_expansion] = STATE(1476),
    [sym__referenceable_operator] = STATE(1476),
    [sym__equal_sign] = STATE(1476),
    [sym__eq_eq] = STATE(1476),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1476),
    [sym_diagnostic] = STATE(1476),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1822),
    [sym_real_literal] = ACTIONS(1824),
    [sym_integer_literal] = ACTIONS(1822),
    [sym_hex_literal] = ACTIONS(1822),
    [sym_oct_literal] = ACTIONS(1824),
    [sym_bin_literal] = ACTIONS(1824),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1822),
    [anon_sym_GT] = ACTIONS(1822),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1824),
    [anon_sym_DASH_EQ] = ACTIONS(1824),
    [anon_sym_STAR_EQ] = ACTIONS(1824),
    [anon_sym_SLASH_EQ] = ACTIONS(1824),
    [anon_sym_PERCENT_EQ] = ACTIONS(1824),
    [anon_sym_BANG_EQ] = ACTIONS(1822),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1824),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1824),
    [anon_sym_LT_EQ] = ACTIONS(1824),
    [anon_sym_GT_EQ] = ACTIONS(1824),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1822),
    [anon_sym_SLASH] = ACTIONS(1822),
    [anon_sym_PERCENT] = ACTIONS(1822),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1824),
    [anon_sym_CARET] = ACTIONS(1822),
    [anon_sym_LT_LT] = ACTIONS(1824),
    [anon_sym_GT_GT] = ACTIONS(1824),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1824),
    [sym__eq_eq_custom] = ACTIONS(1824),
    [sym__plus_then_ws] = ACTIONS(1824),
    [sym__minus_then_ws] = ACTIONS(1824),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [481] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1650),
    [sym_boolean_literal] = STATE(1650),
    [sym__string_literal] = STATE(1650),
    [sym_line_string_literal] = STATE(1650),
    [sym_multi_line_string_literal] = STATE(1650),
    [sym_raw_string_literal] = STATE(1650),
    [sym_regex_literal] = STATE(1650),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1650),
    [sym__unary_expression] = STATE(1650),
    [sym_postfix_expression] = STATE(1650),
    [sym_constructor_expression] = STATE(1650),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1650),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1650),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1650),
    [sym_prefix_expression] = STATE(1650),
    [sym_as_expression] = STATE(1650),
    [sym_selector_expression] = STATE(1650),
    [sym__binary_expression] = STATE(1650),
    [sym_multiplicative_expression] = STATE(1650),
    [sym_additive_expression] = STATE(1650),
    [sym_range_expression] = STATE(1650),
    [sym_infix_expression] = STATE(1650),
    [sym_nil_coalescing_expression] = STATE(1650),
    [sym_check_expression] = STATE(1650),
    [sym_comparison_expression] = STATE(1650),
    [sym_equality_expression] = STATE(1650),
    [sym_conjunction_expression] = STATE(1650),
    [sym_disjunction_expression] = STATE(1650),
    [sym_bitwise_operation] = STATE(1650),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1650),
    [sym_await_expression] = STATE(1650),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1650),
    [sym_call_expression] = STATE(1650),
    [sym_macro_invocation] = STATE(1650),
    [sym__primary_expression] = STATE(1650),
    [sym_tuple_expression] = STATE(1650),
    [sym_array_literal] = STATE(1650),
    [sym_dictionary_literal] = STATE(1650),
    [sym_special_literal] = STATE(1650),
    [sym_playground_literal] = STATE(1650),
    [sym_lambda_literal] = STATE(1650),
    [sym_self_expression] = STATE(1650),
    [sym_super_expression] = STATE(1650),
    [sym_if_statement] = STATE(1650),
    [sym_switch_statement] = STATE(1650),
    [sym_key_path_expression] = STATE(1650),
    [sym_key_path_string_expression] = STATE(1650),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1650),
    [sym__equality_operator] = STATE(1650),
    [sym__comparison_operator] = STATE(1650),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1650),
    [sym__multiplicative_operator] = STATE(1650),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1650),
    [sym_value_parameter_pack] = STATE(1650),
    [sym_value_pack_expansion] = STATE(1650),
    [sym__referenceable_operator] = STATE(1650),
    [sym__equal_sign] = STATE(1650),
    [sym__eq_eq] = STATE(1650),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1650),
    [sym_diagnostic] = STATE(1650),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1838),
    [sym_real_literal] = ACTIONS(1840),
    [sym_integer_literal] = ACTIONS(1838),
    [sym_hex_literal] = ACTIONS(1838),
    [sym_oct_literal] = ACTIONS(1840),
    [sym_bin_literal] = ACTIONS(1840),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [anon_sym_getter_COLON] = ACTIONS(1842),
    [anon_sym_setter_COLON] = ACTIONS(1842),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1838),
    [anon_sym_GT] = ACTIONS(1838),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1840),
    [anon_sym_DASH_EQ] = ACTIONS(1840),
    [anon_sym_STAR_EQ] = ACTIONS(1840),
    [anon_sym_SLASH_EQ] = ACTIONS(1840),
    [anon_sym_PERCENT_EQ] = ACTIONS(1840),
    [anon_sym_BANG_EQ] = ACTIONS(1838),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1840),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1840),
    [anon_sym_LT_EQ] = ACTIONS(1840),
    [anon_sym_GT_EQ] = ACTIONS(1840),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1838),
    [anon_sym_SLASH] = ACTIONS(1838),
    [anon_sym_PERCENT] = ACTIONS(1838),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1840),
    [anon_sym_CARET] = ACTIONS(1838),
    [anon_sym_LT_LT] = ACTIONS(1840),
    [anon_sym_GT_GT] = ACTIONS(1840),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1840),
    [sym__eq_eq_custom] = ACTIONS(1840),
    [sym__plus_then_ws] = ACTIONS(1840),
    [sym__minus_then_ws] = ACTIONS(1840),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [482] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1476),
    [sym_boolean_literal] = STATE(1476),
    [sym__string_literal] = STATE(1476),
    [sym_line_string_literal] = STATE(1476),
    [sym_multi_line_string_literal] = STATE(1476),
    [sym_raw_string_literal] = STATE(1476),
    [sym_regex_literal] = STATE(1476),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1476),
    [sym__unary_expression] = STATE(1476),
    [sym_postfix_expression] = STATE(1476),
    [sym_constructor_expression] = STATE(1476),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1476),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1476),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1476),
    [sym_prefix_expression] = STATE(1476),
    [sym_as_expression] = STATE(1476),
    [sym_selector_expression] = STATE(1476),
    [sym__binary_expression] = STATE(1476),
    [sym_multiplicative_expression] = STATE(1476),
    [sym_additive_expression] = STATE(1476),
    [sym_range_expression] = STATE(1476),
    [sym_infix_expression] = STATE(1476),
    [sym_nil_coalescing_expression] = STATE(1476),
    [sym_check_expression] = STATE(1476),
    [sym_comparison_expression] = STATE(1476),
    [sym_equality_expression] = STATE(1476),
    [sym_conjunction_expression] = STATE(1476),
    [sym_disjunction_expression] = STATE(1476),
    [sym_bitwise_operation] = STATE(1476),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1476),
    [sym_await_expression] = STATE(1476),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1476),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(974),
    [sym_expr_hack_at_ternary_binary_call] = STATE(974),
    [sym_call_expression] = STATE(1476),
    [sym_macro_invocation] = STATE(1476),
    [sym__primary_expression] = STATE(1476),
    [sym_tuple_expression] = STATE(1476),
    [sym_array_literal] = STATE(1476),
    [sym_dictionary_literal] = STATE(1476),
    [sym_special_literal] = STATE(1476),
    [sym_playground_literal] = STATE(1476),
    [sym_lambda_literal] = STATE(1476),
    [sym_self_expression] = STATE(1476),
    [sym_super_expression] = STATE(1476),
    [sym_if_statement] = STATE(1476),
    [sym_switch_statement] = STATE(1476),
    [sym_key_path_expression] = STATE(1476),
    [sym_key_path_string_expression] = STATE(1476),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1476),
    [sym__equality_operator] = STATE(1476),
    [sym__comparison_operator] = STATE(1476),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1476),
    [sym__multiplicative_operator] = STATE(1476),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1476),
    [sym_value_parameter_pack] = STATE(1476),
    [sym_value_pack_expansion] = STATE(1476),
    [sym__referenceable_operator] = STATE(1476),
    [sym__equal_sign] = STATE(1476),
    [sym__eq_eq] = STATE(1476),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1476),
    [sym_diagnostic] = STATE(1476),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1822),
    [sym_real_literal] = ACTIONS(1824),
    [sym_integer_literal] = ACTIONS(1822),
    [sym_hex_literal] = ACTIONS(1822),
    [sym_oct_literal] = ACTIONS(1824),
    [sym_bin_literal] = ACTIONS(1824),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1822),
    [anon_sym_GT] = ACTIONS(1822),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1824),
    [anon_sym_DASH_EQ] = ACTIONS(1824),
    [anon_sym_STAR_EQ] = ACTIONS(1824),
    [anon_sym_SLASH_EQ] = ACTIONS(1824),
    [anon_sym_PERCENT_EQ] = ACTIONS(1824),
    [anon_sym_BANG_EQ] = ACTIONS(1822),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1824),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1824),
    [anon_sym_LT_EQ] = ACTIONS(1824),
    [anon_sym_GT_EQ] = ACTIONS(1824),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1822),
    [anon_sym_SLASH] = ACTIONS(1822),
    [anon_sym_PERCENT] = ACTIONS(1822),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1824),
    [anon_sym_CARET] = ACTIONS(1822),
    [anon_sym_LT_LT] = ACTIONS(1824),
    [anon_sym_GT_GT] = ACTIONS(1824),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1824),
    [sym__eq_eq_custom] = ACTIONS(1824),
    [sym__plus_then_ws] = ACTIONS(1824),
    [sym__minus_then_ws] = ACTIONS(1824),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [483] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(783),
    [sym_boolean_literal] = STATE(783),
    [sym__string_literal] = STATE(783),
    [sym_line_string_literal] = STATE(783),
    [sym_multi_line_string_literal] = STATE(783),
    [sym_raw_string_literal] = STATE(783),
    [sym_regex_literal] = STATE(783),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(783),
    [sym__unary_expression] = STATE(783),
    [sym_postfix_expression] = STATE(783),
    [sym_constructor_expression] = STATE(783),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(783),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(783),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(783),
    [sym_prefix_expression] = STATE(783),
    [sym_as_expression] = STATE(783),
    [sym_selector_expression] = STATE(783),
    [sym__binary_expression] = STATE(783),
    [sym_multiplicative_expression] = STATE(783),
    [sym_additive_expression] = STATE(783),
    [sym_range_expression] = STATE(783),
    [sym_infix_expression] = STATE(783),
    [sym_nil_coalescing_expression] = STATE(783),
    [sym_check_expression] = STATE(783),
    [sym_comparison_expression] = STATE(783),
    [sym_equality_expression] = STATE(783),
    [sym_conjunction_expression] = STATE(783),
    [sym_disjunction_expression] = STATE(783),
    [sym_bitwise_operation] = STATE(783),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(783),
    [sym_await_expression] = STATE(783),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(783),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(1360),
    [sym_expr_hack_at_ternary_binary_call] = STATE(1360),
    [sym_call_expression] = STATE(783),
    [sym_macro_invocation] = STATE(783),
    [sym__primary_expression] = STATE(783),
    [sym_tuple_expression] = STATE(783),
    [sym_array_literal] = STATE(783),
    [sym_dictionary_literal] = STATE(783),
    [sym_special_literal] = STATE(783),
    [sym_playground_literal] = STATE(783),
    [sym_lambda_literal] = STATE(783),
    [sym_self_expression] = STATE(783),
    [sym_super_expression] = STATE(783),
    [sym_if_statement] = STATE(783),
    [sym_switch_statement] = STATE(783),
    [sym_key_path_expression] = STATE(783),
    [sym_key_path_string_expression] = STATE(783),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(783),
    [sym__equality_operator] = STATE(783),
    [sym__comparison_operator] = STATE(783),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(783),
    [sym__multiplicative_operator] = STATE(783),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_assignment] = STATE(783),
    [sym_value_parameter_pack] = STATE(783),
    [sym_value_pack_expansion] = STATE(783),
    [sym__referenceable_operator] = STATE(783),
    [sym__equal_sign] = STATE(783),
    [sym__eq_eq] = STATE(783),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(783),
    [sym_diagnostic] = STATE(783),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(289),
    [anon_sym_async] = ACTIONS(289),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(289),
    [anon_sym_repeat] = ACTIONS(733),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(1782),
    [sym_real_literal] = ACTIONS(1784),
    [sym_integer_literal] = ACTIONS(1782),
    [sym_hex_literal] = ACTIONS(1782),
    [sym_oct_literal] = ACTIONS(1784),
    [sym_bin_literal] = ACTIONS(1784),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(1782),
    [anon_sym_GT] = ACTIONS(1782),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1784),
    [anon_sym_DASH_EQ] = ACTIONS(1784),
    [anon_sym_STAR_EQ] = ACTIONS(1784),
    [anon_sym_SLASH_EQ] = ACTIONS(1784),
    [anon_sym_PERCENT_EQ] = ACTIONS(1784),
    [anon_sym_BANG_EQ] = ACTIONS(1782),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1784),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1784),
    [anon_sym_LT_EQ] = ACTIONS(1784),
    [anon_sym_GT_EQ] = ACTIONS(1784),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(1782),
    [anon_sym_SLASH] = ACTIONS(1782),
    [anon_sym_PERCENT] = ACTIONS(1782),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(1784),
    [anon_sym_CARET] = ACTIONS(1782),
    [anon_sym_LT_LT] = ACTIONS(1784),
    [anon_sym_GT_GT] = ACTIONS(1784),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(1784),
    [sym__eq_eq_custom] = ACTIONS(1784),
    [sym__plus_then_ws] = ACTIONS(1784),
    [sym__minus_then_ws] = ACTIONS(1784),
    [sym__bang_custom] = ACTIONS(373),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [484] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1634),
    [sym_boolean_literal] = STATE(1634),
    [sym__string_literal] = STATE(1634),
    [sym_line_string_literal] = STATE(1634),
    [sym_multi_line_string_literal] = STATE(1634),
    [sym_raw_string_literal] = STATE(1634),
    [sym_regex_literal] = STATE(1634),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1634),
    [sym__unary_expression] = STATE(1634),
    [sym_postfix_expression] = STATE(1634),
    [sym_constructor_expression] = STATE(1634),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1634),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1634),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1634),
    [sym_prefix_expression] = STATE(1634),
    [sym_as_expression] = STATE(1634),
    [sym_selector_expression] = STATE(1634),
    [sym__binary_expression] = STATE(1634),
    [sym_multiplicative_expression] = STATE(1634),
    [sym_additive_expression] = STATE(1634),
    [sym_range_expression] = STATE(1634),
    [sym_infix_expression] = STATE(1634),
    [sym_nil_coalescing_expression] = STATE(1634),
    [sym_check_expression] = STATE(1634),
    [sym_comparison_expression] = STATE(1634),
    [sym_equality_expression] = STATE(1634),
    [sym_conjunction_expression] = STATE(1634),
    [sym_disjunction_expression] = STATE(1634),
    [sym_bitwise_operation] = STATE(1634),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1634),
    [sym_await_expression] = STATE(1634),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1634),
    [sym_call_expression] = STATE(1634),
    [sym_macro_invocation] = STATE(1634),
    [sym__primary_expression] = STATE(1634),
    [sym_tuple_expression] = STATE(1634),
    [sym_array_literal] = STATE(1634),
    [sym_dictionary_literal] = STATE(1634),
    [sym_special_literal] = STATE(1634),
    [sym_playground_literal] = STATE(1634),
    [sym_lambda_literal] = STATE(1634),
    [sym_self_expression] = STATE(1634),
    [sym_super_expression] = STATE(1634),
    [sym_if_statement] = STATE(1634),
    [sym_switch_statement] = STATE(1634),
    [sym_key_path_expression] = STATE(1634),
    [sym_key_path_string_expression] = STATE(1634),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1634),
    [sym__equality_operator] = STATE(1634),
    [sym__comparison_operator] = STATE(1634),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1634),
    [sym__multiplicative_operator] = STATE(1634),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1634),
    [sym_value_parameter_pack] = STATE(1634),
    [sym_value_pack_expansion] = STATE(1634),
    [sym__referenceable_operator] = STATE(1634),
    [sym__equal_sign] = STATE(1634),
    [sym__eq_eq] = STATE(1634),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1634),
    [sym_diagnostic] = STATE(1634),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1844),
    [sym_real_literal] = ACTIONS(1846),
    [sym_integer_literal] = ACTIONS(1844),
    [sym_hex_literal] = ACTIONS(1844),
    [sym_oct_literal] = ACTIONS(1846),
    [sym_bin_literal] = ACTIONS(1846),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [anon_sym_getter_COLON] = ACTIONS(1848),
    [anon_sym_setter_COLON] = ACTIONS(1848),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1844),
    [anon_sym_GT] = ACTIONS(1844),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1846),
    [anon_sym_DASH_EQ] = ACTIONS(1846),
    [anon_sym_STAR_EQ] = ACTIONS(1846),
    [anon_sym_SLASH_EQ] = ACTIONS(1846),
    [anon_sym_PERCENT_EQ] = ACTIONS(1846),
    [anon_sym_BANG_EQ] = ACTIONS(1844),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1846),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1846),
    [anon_sym_LT_EQ] = ACTIONS(1846),
    [anon_sym_GT_EQ] = ACTIONS(1846),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1844),
    [anon_sym_SLASH] = ACTIONS(1844),
    [anon_sym_PERCENT] = ACTIONS(1844),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1846),
    [anon_sym_CARET] = ACTIONS(1844),
    [anon_sym_LT_LT] = ACTIONS(1846),
    [anon_sym_GT_GT] = ACTIONS(1846),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1846),
    [sym__eq_eq_custom] = ACTIONS(1846),
    [sym__plus_then_ws] = ACTIONS(1846),
    [sym__minus_then_ws] = ACTIONS(1846),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [485] = {
    [sym_simple_identifier] = STATE(1217),
    [sym__contextual_simple_identifier] = STATE(1147),
    [sym__basic_literal] = STATE(774),
    [sym_boolean_literal] = STATE(774),
    [sym__string_literal] = STATE(774),
    [sym_line_string_literal] = STATE(774),
    [sym_multi_line_string_literal] = STATE(774),
    [sym_raw_string_literal] = STATE(774),
    [sym_regex_literal] = STATE(774),
    [sym__extended_regex_literal] = STATE(1286),
    [sym__multiline_regex_literal] = STATE(1286),
    [sym_user_type] = STATE(6397),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6397),
    [sym_dictionary_type] = STATE(6397),
    [sym__expression] = STATE(774),
    [sym__unary_expression] = STATE(774),
    [sym_postfix_expression] = STATE(774),
    [sym_constructor_expression] = STATE(774),
    [sym__parenthesized_type] = STATE(7511),
    [sym_navigation_expression] = STATE(774),
    [sym__navigable_type_expression] = STATE(7510),
    [sym_open_start_range_expression] = STATE(774),
    [sym__range_operator] = STATE(695),
    [sym_open_end_range_expression] = STATE(774),
    [sym_prefix_expression] = STATE(774),
    [sym_as_expression] = STATE(774),
    [sym_selector_expression] = STATE(774),
    [sym__binary_expression] = STATE(774),
    [sym_multiplicative_expression] = STATE(774),
    [sym_additive_expression] = STATE(774),
    [sym_range_expression] = STATE(774),
    [sym_infix_expression] = STATE(774),
    [sym_nil_coalescing_expression] = STATE(774),
    [sym_check_expression] = STATE(774),
    [sym_comparison_expression] = STATE(774),
    [sym_equality_expression] = STATE(774),
    [sym_conjunction_expression] = STATE(774),
    [sym_disjunction_expression] = STATE(774),
    [sym_bitwise_operation] = STATE(774),
    [sym_custom_operator] = STATE(759),
    [sym_try_expression] = STATE(774),
    [sym_await_expression] = STATE(774),
    [sym__await_operator] = STATE(644),
    [sym_ternary_expression] = STATE(774),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(1278),
    [sym_expr_hack_at_ternary_binary_call] = STATE(1278),
    [sym_call_expression] = STATE(774),
    [sym_macro_invocation] = STATE(774),
    [sym__primary_expression] = STATE(774),
    [sym_tuple_expression] = STATE(774),
    [sym_array_literal] = STATE(774),
    [sym_dictionary_literal] = STATE(774),
    [sym_special_literal] = STATE(774),
    [sym_playground_literal] = STATE(774),
    [sym_lambda_literal] = STATE(774),
    [sym_self_expression] = STATE(774),
    [sym_super_expression] = STATE(774),
    [sym_if_statement] = STATE(774),
    [sym_switch_statement] = STATE(774),
    [sym_key_path_expression] = STATE(774),
    [sym_key_path_string_expression] = STATE(774),
    [sym_try_operator] = STATE(645),
    [sym__assignment_and_operator] = STATE(774),
    [sym__equality_operator] = STATE(774),
    [sym__comparison_operator] = STATE(774),
    [sym__three_dot_operator] = STATE(761),
    [sym__open_ended_range_operator] = STATE(695),
    [sym__additive_operator] = STATE(774),
    [sym__multiplicative_operator] = STATE(774),
    [sym__prefix_unary_operator] = STATE(659),
    [sym_directly_assignable_expression] = STATE(6398),
    [sym_assignment] = STATE(774),
    [sym_value_parameter_pack] = STATE(774),
    [sym_value_pack_expansion] = STATE(774),
    [sym__referenceable_operator] = STATE(774),
    [sym__equal_sign] = STATE(774),
    [sym__eq_eq] = STATE(774),
    [sym__dot] = STATE(659),
    [sym__hash_symbol] = STATE(4848),
    [sym_bang] = STATE(759),
    [sym__parameter_ownership_modifier] = STATE(1147),
    [sym_directive] = STATE(774),
    [sym_diagnostic] = STATE(774),
    [aux_sym_raw_string_literal_repeat1] = STATE(7499),
    [anon_sym_BANG] = ACTIONS(659),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(661),
    [aux_sym_simple_identifier_token2] = ACTIONS(663),
    [aux_sym_simple_identifier_token3] = ACTIONS(663),
    [aux_sym_simple_identifier_token4] = ACTIONS(663),
    [anon_sym_actor] = ACTIONS(661),
    [anon_sym_async] = ACTIONS(661),
    [anon_sym_each] = ACTIONS(665),
    [anon_sym_lazy] = ACTIONS(661),
    [anon_sym_repeat] = ACTIONS(667),
    [anon_sym_package] = ACTIONS(661),
    [anon_sym_nil] = ACTIONS(1778),
    [sym_real_literal] = ACTIONS(1780),
    [sym_integer_literal] = ACTIONS(1778),
    [sym_hex_literal] = ACTIONS(1778),
    [sym_oct_literal] = ACTIONS(1780),
    [sym_bin_literal] = ACTIONS(1780),
    [anon_sym_true] = ACTIONS(673),
    [anon_sym_false] = ACTIONS(673),
    [anon_sym_DQUOTE] = ACTIONS(675),
    [anon_sym_BSLASH] = ACTIONS(677),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(679),
    [sym__oneline_regex_literal] = ACTIONS(681),
    [anon_sym_LPAREN] = ACTIONS(683),
    [anon_sym_LBRACK] = ACTIONS(685),
    [anon_sym_AMP] = ACTIONS(687),
    [anon_sym_TILDE] = ACTIONS(687),
    [anon_sym_if] = ACTIONS(689),
    [anon_sym_switch] = ACTIONS(691),
    [aux_sym_custom_operator_token1] = ACTIONS(693),
    [anon_sym_LT] = ACTIONS(1778),
    [anon_sym_GT] = ACTIONS(1778),
    [anon_sym_await] = ACTIONS(695),
    [anon_sym_LBRACE] = ACTIONS(697),
    [anon_sym_CARET_LBRACE] = ACTIONS(697),
    [anon_sym_self] = ACTIONS(699),
    [anon_sym_super] = ACTIONS(701),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1780),
    [anon_sym_DASH_EQ] = ACTIONS(1780),
    [anon_sym_STAR_EQ] = ACTIONS(1780),
    [anon_sym_SLASH_EQ] = ACTIONS(1780),
    [anon_sym_PERCENT_EQ] = ACTIONS(1780),
    [anon_sym_BANG_EQ] = ACTIONS(1778),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1780),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1780),
    [anon_sym_LT_EQ] = ACTIONS(1780),
    [anon_sym_GT_EQ] = ACTIONS(1780),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(703),
    [anon_sym_DOT_DOT_LT] = ACTIONS(705),
    [anon_sym_PLUS] = ACTIONS(707),
    [anon_sym_DASH] = ACTIONS(707),
    [anon_sym_STAR] = ACTIONS(1778),
    [anon_sym_SLASH] = ACTIONS(1778),
    [anon_sym_PERCENT] = ACTIONS(1778),
    [anon_sym_PLUS_PLUS] = ACTIONS(687),
    [anon_sym_DASH_DASH] = ACTIONS(687),
    [anon_sym_PIPE] = ACTIONS(1780),
    [anon_sym_CARET] = ACTIONS(1778),
    [anon_sym_LT_LT] = ACTIONS(1780),
    [anon_sym_GT_GT] = ACTIONS(1780),
    [anon_sym_borrowing] = ACTIONS(661),
    [anon_sym_consuming] = ACTIONS(661),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(709),
    [sym__dot_custom] = ACTIONS(711),
    [sym__eq_custom] = ACTIONS(1780),
    [sym__eq_eq_custom] = ACTIONS(1780),
    [sym__plus_then_ws] = ACTIONS(1780),
    [sym__minus_then_ws] = ACTIONS(1780),
    [sym__bang_custom] = ACTIONS(713),
    [sym__custom_operator] = ACTIONS(693),
    [sym__hash_symbol_custom] = ACTIONS(715),
    [sym__directive_if] = ACTIONS(717),
    [sym__directive_elseif] = ACTIONS(717),
    [sym__directive_else] = ACTIONS(719),
    [sym__directive_endif] = ACTIONS(719),
  },
  [486] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1457),
    [sym_boolean_literal] = STATE(1457),
    [sym__string_literal] = STATE(1457),
    [sym_line_string_literal] = STATE(1457),
    [sym_multi_line_string_literal] = STATE(1457),
    [sym_raw_string_literal] = STATE(1457),
    [sym_regex_literal] = STATE(1457),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1457),
    [sym__unary_expression] = STATE(1457),
    [sym_postfix_expression] = STATE(1457),
    [sym_constructor_expression] = STATE(1457),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1457),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1457),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1457),
    [sym_prefix_expression] = STATE(1457),
    [sym_as_expression] = STATE(1457),
    [sym_selector_expression] = STATE(1457),
    [sym__binary_expression] = STATE(1457),
    [sym_multiplicative_expression] = STATE(1457),
    [sym_additive_expression] = STATE(1457),
    [sym_range_expression] = STATE(1457),
    [sym_infix_expression] = STATE(1457),
    [sym_nil_coalescing_expression] = STATE(1457),
    [sym_check_expression] = STATE(1457),
    [sym_comparison_expression] = STATE(1457),
    [sym_equality_expression] = STATE(1457),
    [sym_conjunction_expression] = STATE(1457),
    [sym_disjunction_expression] = STATE(1457),
    [sym_bitwise_operation] = STATE(1457),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1457),
    [sym_await_expression] = STATE(1457),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1457),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(2707),
    [sym_expr_hack_at_ternary_binary_call] = STATE(2707),
    [sym_call_expression] = STATE(1457),
    [sym_macro_invocation] = STATE(1457),
    [sym__primary_expression] = STATE(1457),
    [sym_tuple_expression] = STATE(1457),
    [sym_array_literal] = STATE(1457),
    [sym_dictionary_literal] = STATE(1457),
    [sym_special_literal] = STATE(1457),
    [sym_playground_literal] = STATE(1457),
    [sym_lambda_literal] = STATE(1457),
    [sym_self_expression] = STATE(1457),
    [sym_super_expression] = STATE(1457),
    [sym_if_statement] = STATE(1457),
    [sym_switch_statement] = STATE(1457),
    [sym_key_path_expression] = STATE(1457),
    [sym_key_path_string_expression] = STATE(1457),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1457),
    [sym__equality_operator] = STATE(1457),
    [sym__comparison_operator] = STATE(1457),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1457),
    [sym__multiplicative_operator] = STATE(1457),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_assignment] = STATE(1457),
    [sym_value_parameter_pack] = STATE(1457),
    [sym_value_pack_expansion] = STATE(1457),
    [sym__referenceable_operator] = STATE(1457),
    [sym__equal_sign] = STATE(1457),
    [sym__eq_eq] = STATE(1457),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1457),
    [sym_diagnostic] = STATE(1457),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(11),
    [anon_sym_async] = ACTIONS(11),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(11),
    [anon_sym_repeat] = ACTIONS(925),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(1808),
    [sym_real_literal] = ACTIONS(1810),
    [sym_integer_literal] = ACTIONS(1808),
    [sym_hex_literal] = ACTIONS(1808),
    [sym_oct_literal] = ACTIONS(1810),
    [sym_bin_literal] = ACTIONS(1810),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(1808),
    [anon_sym_GT] = ACTIONS(1808),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1810),
    [anon_sym_DASH_EQ] = ACTIONS(1810),
    [anon_sym_STAR_EQ] = ACTIONS(1810),
    [anon_sym_SLASH_EQ] = ACTIONS(1810),
    [anon_sym_PERCENT_EQ] = ACTIONS(1810),
    [anon_sym_BANG_EQ] = ACTIONS(1808),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1810),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1810),
    [anon_sym_LT_EQ] = ACTIONS(1810),
    [anon_sym_GT_EQ] = ACTIONS(1810),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(1808),
    [anon_sym_SLASH] = ACTIONS(1808),
    [anon_sym_PERCENT] = ACTIONS(1808),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(1810),
    [anon_sym_CARET] = ACTIONS(1808),
    [anon_sym_LT_LT] = ACTIONS(1810),
    [anon_sym_GT_GT] = ACTIONS(1810),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(1810),
    [sym__eq_eq_custom] = ACTIONS(1810),
    [sym__plus_then_ws] = ACTIONS(1810),
    [sym__minus_then_ws] = ACTIONS(1810),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [487] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1457),
    [sym_boolean_literal] = STATE(1457),
    [sym__string_literal] = STATE(1457),
    [sym_line_string_literal] = STATE(1457),
    [sym_multi_line_string_literal] = STATE(1457),
    [sym_raw_string_literal] = STATE(1457),
    [sym_regex_literal] = STATE(1457),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1457),
    [sym__unary_expression] = STATE(1457),
    [sym_postfix_expression] = STATE(1457),
    [sym_constructor_expression] = STATE(1457),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1457),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1457),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1457),
    [sym_prefix_expression] = STATE(1457),
    [sym_as_expression] = STATE(1457),
    [sym_selector_expression] = STATE(1457),
    [sym__binary_expression] = STATE(1457),
    [sym_multiplicative_expression] = STATE(1457),
    [sym_additive_expression] = STATE(1457),
    [sym_range_expression] = STATE(1457),
    [sym_infix_expression] = STATE(1457),
    [sym_nil_coalescing_expression] = STATE(1457),
    [sym_check_expression] = STATE(1457),
    [sym_comparison_expression] = STATE(1457),
    [sym_equality_expression] = STATE(1457),
    [sym_conjunction_expression] = STATE(1457),
    [sym_disjunction_expression] = STATE(1457),
    [sym_bitwise_operation] = STATE(1457),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1457),
    [sym_await_expression] = STATE(1457),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1457),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(2704),
    [sym_expr_hack_at_ternary_binary_call] = STATE(2704),
    [sym_call_expression] = STATE(1457),
    [sym_macro_invocation] = STATE(1457),
    [sym__primary_expression] = STATE(1457),
    [sym_tuple_expression] = STATE(1457),
    [sym_array_literal] = STATE(1457),
    [sym_dictionary_literal] = STATE(1457),
    [sym_special_literal] = STATE(1457),
    [sym_playground_literal] = STATE(1457),
    [sym_lambda_literal] = STATE(1457),
    [sym_self_expression] = STATE(1457),
    [sym_super_expression] = STATE(1457),
    [sym_if_statement] = STATE(1457),
    [sym_switch_statement] = STATE(1457),
    [sym_key_path_expression] = STATE(1457),
    [sym_key_path_string_expression] = STATE(1457),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1457),
    [sym__equality_operator] = STATE(1457),
    [sym__comparison_operator] = STATE(1457),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1457),
    [sym__multiplicative_operator] = STATE(1457),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_assignment] = STATE(1457),
    [sym_value_parameter_pack] = STATE(1457),
    [sym_value_pack_expansion] = STATE(1457),
    [sym__referenceable_operator] = STATE(1457),
    [sym__equal_sign] = STATE(1457),
    [sym__eq_eq] = STATE(1457),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1457),
    [sym_diagnostic] = STATE(1457),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(11),
    [anon_sym_async] = ACTIONS(11),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(11),
    [anon_sym_repeat] = ACTIONS(925),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(1808),
    [sym_real_literal] = ACTIONS(1810),
    [sym_integer_literal] = ACTIONS(1808),
    [sym_hex_literal] = ACTIONS(1808),
    [sym_oct_literal] = ACTIONS(1810),
    [sym_bin_literal] = ACTIONS(1810),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(1808),
    [anon_sym_GT] = ACTIONS(1808),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1810),
    [anon_sym_DASH_EQ] = ACTIONS(1810),
    [anon_sym_STAR_EQ] = ACTIONS(1810),
    [anon_sym_SLASH_EQ] = ACTIONS(1810),
    [anon_sym_PERCENT_EQ] = ACTIONS(1810),
    [anon_sym_BANG_EQ] = ACTIONS(1808),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1810),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1810),
    [anon_sym_LT_EQ] = ACTIONS(1810),
    [anon_sym_GT_EQ] = ACTIONS(1810),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(1808),
    [anon_sym_SLASH] = ACTIONS(1808),
    [anon_sym_PERCENT] = ACTIONS(1808),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(1810),
    [anon_sym_CARET] = ACTIONS(1808),
    [anon_sym_LT_LT] = ACTIONS(1810),
    [anon_sym_GT_GT] = ACTIONS(1810),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(1810),
    [sym__eq_eq_custom] = ACTIONS(1810),
    [sym__plus_then_ws] = ACTIONS(1810),
    [sym__minus_then_ws] = ACTIONS(1810),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [488] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1476),
    [sym_boolean_literal] = STATE(1476),
    [sym__string_literal] = STATE(1476),
    [sym_line_string_literal] = STATE(1476),
    [sym_multi_line_string_literal] = STATE(1476),
    [sym_raw_string_literal] = STATE(1476),
    [sym_regex_literal] = STATE(1476),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1476),
    [sym__unary_expression] = STATE(1476),
    [sym_postfix_expression] = STATE(1476),
    [sym_constructor_expression] = STATE(1476),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1476),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1476),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1476),
    [sym_prefix_expression] = STATE(1476),
    [sym_as_expression] = STATE(1476),
    [sym_selector_expression] = STATE(1476),
    [sym__binary_expression] = STATE(1476),
    [sym_multiplicative_expression] = STATE(1476),
    [sym_additive_expression] = STATE(1476),
    [sym_range_expression] = STATE(1476),
    [sym_infix_expression] = STATE(1476),
    [sym_nil_coalescing_expression] = STATE(1476),
    [sym_check_expression] = STATE(1476),
    [sym_comparison_expression] = STATE(1476),
    [sym_equality_expression] = STATE(1476),
    [sym_conjunction_expression] = STATE(1476),
    [sym_disjunction_expression] = STATE(1476),
    [sym_bitwise_operation] = STATE(1476),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1476),
    [sym_await_expression] = STATE(1476),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1476),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(975),
    [sym_expr_hack_at_ternary_binary_call] = STATE(975),
    [sym_call_expression] = STATE(1476),
    [sym_macro_invocation] = STATE(1476),
    [sym__primary_expression] = STATE(1476),
    [sym_tuple_expression] = STATE(1476),
    [sym_array_literal] = STATE(1476),
    [sym_dictionary_literal] = STATE(1476),
    [sym_special_literal] = STATE(1476),
    [sym_playground_literal] = STATE(1476),
    [sym_lambda_literal] = STATE(1476),
    [sym_self_expression] = STATE(1476),
    [sym_super_expression] = STATE(1476),
    [sym_if_statement] = STATE(1476),
    [sym_switch_statement] = STATE(1476),
    [sym_key_path_expression] = STATE(1476),
    [sym_key_path_string_expression] = STATE(1476),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1476),
    [sym__equality_operator] = STATE(1476),
    [sym__comparison_operator] = STATE(1476),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1476),
    [sym__multiplicative_operator] = STATE(1476),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1476),
    [sym_value_parameter_pack] = STATE(1476),
    [sym_value_pack_expansion] = STATE(1476),
    [sym__referenceable_operator] = STATE(1476),
    [sym__equal_sign] = STATE(1476),
    [sym__eq_eq] = STATE(1476),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1476),
    [sym_diagnostic] = STATE(1476),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1822),
    [sym_real_literal] = ACTIONS(1824),
    [sym_integer_literal] = ACTIONS(1822),
    [sym_hex_literal] = ACTIONS(1822),
    [sym_oct_literal] = ACTIONS(1824),
    [sym_bin_literal] = ACTIONS(1824),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1822),
    [anon_sym_GT] = ACTIONS(1822),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1824),
    [anon_sym_DASH_EQ] = ACTIONS(1824),
    [anon_sym_STAR_EQ] = ACTIONS(1824),
    [anon_sym_SLASH_EQ] = ACTIONS(1824),
    [anon_sym_PERCENT_EQ] = ACTIONS(1824),
    [anon_sym_BANG_EQ] = ACTIONS(1822),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1824),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1824),
    [anon_sym_LT_EQ] = ACTIONS(1824),
    [anon_sym_GT_EQ] = ACTIONS(1824),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1822),
    [anon_sym_SLASH] = ACTIONS(1822),
    [anon_sym_PERCENT] = ACTIONS(1822),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1824),
    [anon_sym_CARET] = ACTIONS(1822),
    [anon_sym_LT_LT] = ACTIONS(1824),
    [anon_sym_GT_GT] = ACTIONS(1824),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1824),
    [sym__eq_eq_custom] = ACTIONS(1824),
    [sym__plus_then_ws] = ACTIONS(1824),
    [sym__minus_then_ws] = ACTIONS(1824),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [489] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(783),
    [sym_boolean_literal] = STATE(783),
    [sym__string_literal] = STATE(783),
    [sym_line_string_literal] = STATE(783),
    [sym_multi_line_string_literal] = STATE(783),
    [sym_raw_string_literal] = STATE(783),
    [sym_regex_literal] = STATE(783),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(783),
    [sym__unary_expression] = STATE(783),
    [sym_postfix_expression] = STATE(783),
    [sym_constructor_expression] = STATE(783),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(783),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(783),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(783),
    [sym_prefix_expression] = STATE(783),
    [sym_as_expression] = STATE(783),
    [sym_selector_expression] = STATE(783),
    [sym__binary_expression] = STATE(783),
    [sym_multiplicative_expression] = STATE(783),
    [sym_additive_expression] = STATE(783),
    [sym_range_expression] = STATE(783),
    [sym_infix_expression] = STATE(783),
    [sym_nil_coalescing_expression] = STATE(783),
    [sym_check_expression] = STATE(783),
    [sym_comparison_expression] = STATE(783),
    [sym_equality_expression] = STATE(783),
    [sym_conjunction_expression] = STATE(783),
    [sym_disjunction_expression] = STATE(783),
    [sym_bitwise_operation] = STATE(783),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(783),
    [sym_await_expression] = STATE(783),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(783),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(1361),
    [sym_expr_hack_at_ternary_binary_call] = STATE(1361),
    [sym_call_expression] = STATE(783),
    [sym_macro_invocation] = STATE(783),
    [sym__primary_expression] = STATE(783),
    [sym_tuple_expression] = STATE(783),
    [sym_array_literal] = STATE(783),
    [sym_dictionary_literal] = STATE(783),
    [sym_special_literal] = STATE(783),
    [sym_playground_literal] = STATE(783),
    [sym_lambda_literal] = STATE(783),
    [sym_self_expression] = STATE(783),
    [sym_super_expression] = STATE(783),
    [sym_if_statement] = STATE(783),
    [sym_switch_statement] = STATE(783),
    [sym_key_path_expression] = STATE(783),
    [sym_key_path_string_expression] = STATE(783),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(783),
    [sym__equality_operator] = STATE(783),
    [sym__comparison_operator] = STATE(783),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(783),
    [sym__multiplicative_operator] = STATE(783),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_assignment] = STATE(783),
    [sym_value_parameter_pack] = STATE(783),
    [sym_value_pack_expansion] = STATE(783),
    [sym__referenceable_operator] = STATE(783),
    [sym__equal_sign] = STATE(783),
    [sym__eq_eq] = STATE(783),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(783),
    [sym_diagnostic] = STATE(783),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(289),
    [anon_sym_async] = ACTIONS(289),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(289),
    [anon_sym_repeat] = ACTIONS(733),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(1782),
    [sym_real_literal] = ACTIONS(1784),
    [sym_integer_literal] = ACTIONS(1782),
    [sym_hex_literal] = ACTIONS(1782),
    [sym_oct_literal] = ACTIONS(1784),
    [sym_bin_literal] = ACTIONS(1784),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(1782),
    [anon_sym_GT] = ACTIONS(1782),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1784),
    [anon_sym_DASH_EQ] = ACTIONS(1784),
    [anon_sym_STAR_EQ] = ACTIONS(1784),
    [anon_sym_SLASH_EQ] = ACTIONS(1784),
    [anon_sym_PERCENT_EQ] = ACTIONS(1784),
    [anon_sym_BANG_EQ] = ACTIONS(1782),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1784),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1784),
    [anon_sym_LT_EQ] = ACTIONS(1784),
    [anon_sym_GT_EQ] = ACTIONS(1784),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(1782),
    [anon_sym_SLASH] = ACTIONS(1782),
    [anon_sym_PERCENT] = ACTIONS(1782),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(1784),
    [anon_sym_CARET] = ACTIONS(1782),
    [anon_sym_LT_LT] = ACTIONS(1784),
    [anon_sym_GT_GT] = ACTIONS(1784),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(1784),
    [sym__eq_eq_custom] = ACTIONS(1784),
    [sym__plus_then_ws] = ACTIONS(1784),
    [sym__minus_then_ws] = ACTIONS(1784),
    [sym__bang_custom] = ACTIONS(373),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [490] = {
    [sym_simple_identifier] = STATE(1217),
    [sym__contextual_simple_identifier] = STATE(1147),
    [sym__basic_literal] = STATE(774),
    [sym_boolean_literal] = STATE(774),
    [sym__string_literal] = STATE(774),
    [sym_line_string_literal] = STATE(774),
    [sym_multi_line_string_literal] = STATE(774),
    [sym_raw_string_literal] = STATE(774),
    [sym_regex_literal] = STATE(774),
    [sym__extended_regex_literal] = STATE(1286),
    [sym__multiline_regex_literal] = STATE(1286),
    [sym_user_type] = STATE(6397),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6397),
    [sym_dictionary_type] = STATE(6397),
    [sym__expression] = STATE(774),
    [sym__unary_expression] = STATE(774),
    [sym_postfix_expression] = STATE(774),
    [sym_constructor_expression] = STATE(774),
    [sym__parenthesized_type] = STATE(7511),
    [sym_navigation_expression] = STATE(774),
    [sym__navigable_type_expression] = STATE(7510),
    [sym_open_start_range_expression] = STATE(774),
    [sym__range_operator] = STATE(695),
    [sym_open_end_range_expression] = STATE(774),
    [sym_prefix_expression] = STATE(774),
    [sym_as_expression] = STATE(774),
    [sym_selector_expression] = STATE(774),
    [sym__binary_expression] = STATE(774),
    [sym_multiplicative_expression] = STATE(774),
    [sym_additive_expression] = STATE(774),
    [sym_range_expression] = STATE(774),
    [sym_infix_expression] = STATE(774),
    [sym_nil_coalescing_expression] = STATE(774),
    [sym_check_expression] = STATE(774),
    [sym_comparison_expression] = STATE(774),
    [sym_equality_expression] = STATE(774),
    [sym_conjunction_expression] = STATE(774),
    [sym_disjunction_expression] = STATE(774),
    [sym_bitwise_operation] = STATE(774),
    [sym_custom_operator] = STATE(759),
    [sym_try_expression] = STATE(774),
    [sym_await_expression] = STATE(774),
    [sym__await_operator] = STATE(644),
    [sym_ternary_expression] = STATE(774),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(1277),
    [sym_expr_hack_at_ternary_binary_call] = STATE(1277),
    [sym_call_expression] = STATE(774),
    [sym_macro_invocation] = STATE(774),
    [sym__primary_expression] = STATE(774),
    [sym_tuple_expression] = STATE(774),
    [sym_array_literal] = STATE(774),
    [sym_dictionary_literal] = STATE(774),
    [sym_special_literal] = STATE(774),
    [sym_playground_literal] = STATE(774),
    [sym_lambda_literal] = STATE(774),
    [sym_self_expression] = STATE(774),
    [sym_super_expression] = STATE(774),
    [sym_if_statement] = STATE(774),
    [sym_switch_statement] = STATE(774),
    [sym_key_path_expression] = STATE(774),
    [sym_key_path_string_expression] = STATE(774),
    [sym_try_operator] = STATE(645),
    [sym__assignment_and_operator] = STATE(774),
    [sym__equality_operator] = STATE(774),
    [sym__comparison_operator] = STATE(774),
    [sym__three_dot_operator] = STATE(761),
    [sym__open_ended_range_operator] = STATE(695),
    [sym__additive_operator] = STATE(774),
    [sym__multiplicative_operator] = STATE(774),
    [sym__prefix_unary_operator] = STATE(659),
    [sym_directly_assignable_expression] = STATE(6398),
    [sym_assignment] = STATE(774),
    [sym_value_parameter_pack] = STATE(774),
    [sym_value_pack_expansion] = STATE(774),
    [sym__referenceable_operator] = STATE(774),
    [sym__equal_sign] = STATE(774),
    [sym__eq_eq] = STATE(774),
    [sym__dot] = STATE(659),
    [sym__hash_symbol] = STATE(4848),
    [sym_bang] = STATE(759),
    [sym__parameter_ownership_modifier] = STATE(1147),
    [sym_directive] = STATE(774),
    [sym_diagnostic] = STATE(774),
    [aux_sym_raw_string_literal_repeat1] = STATE(7499),
    [anon_sym_BANG] = ACTIONS(659),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(661),
    [aux_sym_simple_identifier_token2] = ACTIONS(663),
    [aux_sym_simple_identifier_token3] = ACTIONS(663),
    [aux_sym_simple_identifier_token4] = ACTIONS(663),
    [anon_sym_actor] = ACTIONS(661),
    [anon_sym_async] = ACTIONS(661),
    [anon_sym_each] = ACTIONS(665),
    [anon_sym_lazy] = ACTIONS(661),
    [anon_sym_repeat] = ACTIONS(667),
    [anon_sym_package] = ACTIONS(661),
    [anon_sym_nil] = ACTIONS(1778),
    [sym_real_literal] = ACTIONS(1780),
    [sym_integer_literal] = ACTIONS(1778),
    [sym_hex_literal] = ACTIONS(1778),
    [sym_oct_literal] = ACTIONS(1780),
    [sym_bin_literal] = ACTIONS(1780),
    [anon_sym_true] = ACTIONS(673),
    [anon_sym_false] = ACTIONS(673),
    [anon_sym_DQUOTE] = ACTIONS(675),
    [anon_sym_BSLASH] = ACTIONS(677),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(679),
    [sym__oneline_regex_literal] = ACTIONS(681),
    [anon_sym_LPAREN] = ACTIONS(683),
    [anon_sym_LBRACK] = ACTIONS(685),
    [anon_sym_AMP] = ACTIONS(687),
    [anon_sym_TILDE] = ACTIONS(687),
    [anon_sym_if] = ACTIONS(689),
    [anon_sym_switch] = ACTIONS(691),
    [aux_sym_custom_operator_token1] = ACTIONS(693),
    [anon_sym_LT] = ACTIONS(1778),
    [anon_sym_GT] = ACTIONS(1778),
    [anon_sym_await] = ACTIONS(695),
    [anon_sym_LBRACE] = ACTIONS(697),
    [anon_sym_CARET_LBRACE] = ACTIONS(697),
    [anon_sym_self] = ACTIONS(699),
    [anon_sym_super] = ACTIONS(701),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1780),
    [anon_sym_DASH_EQ] = ACTIONS(1780),
    [anon_sym_STAR_EQ] = ACTIONS(1780),
    [anon_sym_SLASH_EQ] = ACTIONS(1780),
    [anon_sym_PERCENT_EQ] = ACTIONS(1780),
    [anon_sym_BANG_EQ] = ACTIONS(1778),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1780),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1780),
    [anon_sym_LT_EQ] = ACTIONS(1780),
    [anon_sym_GT_EQ] = ACTIONS(1780),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(703),
    [anon_sym_DOT_DOT_LT] = ACTIONS(705),
    [anon_sym_PLUS] = ACTIONS(707),
    [anon_sym_DASH] = ACTIONS(707),
    [anon_sym_STAR] = ACTIONS(1778),
    [anon_sym_SLASH] = ACTIONS(1778),
    [anon_sym_PERCENT] = ACTIONS(1778),
    [anon_sym_PLUS_PLUS] = ACTIONS(687),
    [anon_sym_DASH_DASH] = ACTIONS(687),
    [anon_sym_PIPE] = ACTIONS(1780),
    [anon_sym_CARET] = ACTIONS(1778),
    [anon_sym_LT_LT] = ACTIONS(1780),
    [anon_sym_GT_GT] = ACTIONS(1780),
    [anon_sym_borrowing] = ACTIONS(661),
    [anon_sym_consuming] = ACTIONS(661),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(709),
    [sym__dot_custom] = ACTIONS(711),
    [sym__eq_custom] = ACTIONS(1780),
    [sym__eq_eq_custom] = ACTIONS(1780),
    [sym__plus_then_ws] = ACTIONS(1780),
    [sym__minus_then_ws] = ACTIONS(1780),
    [sym__bang_custom] = ACTIONS(713),
    [sym__custom_operator] = ACTIONS(693),
    [sym__hash_symbol_custom] = ACTIONS(715),
    [sym__directive_if] = ACTIONS(717),
    [sym__directive_elseif] = ACTIONS(717),
    [sym__directive_else] = ACTIONS(719),
    [sym__directive_endif] = ACTIONS(719),
  },
  [491] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1476),
    [sym_boolean_literal] = STATE(1476),
    [sym__string_literal] = STATE(1476),
    [sym_line_string_literal] = STATE(1476),
    [sym_multi_line_string_literal] = STATE(1476),
    [sym_raw_string_literal] = STATE(1476),
    [sym_regex_literal] = STATE(1476),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1476),
    [sym__unary_expression] = STATE(1476),
    [sym_postfix_expression] = STATE(1476),
    [sym_constructor_expression] = STATE(1476),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1476),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1476),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1476),
    [sym_prefix_expression] = STATE(1476),
    [sym_as_expression] = STATE(1476),
    [sym_selector_expression] = STATE(1476),
    [sym__binary_expression] = STATE(1476),
    [sym_multiplicative_expression] = STATE(1476),
    [sym_additive_expression] = STATE(1476),
    [sym_range_expression] = STATE(1476),
    [sym_infix_expression] = STATE(1476),
    [sym_nil_coalescing_expression] = STATE(1476),
    [sym_check_expression] = STATE(1476),
    [sym_comparison_expression] = STATE(1476),
    [sym_equality_expression] = STATE(1476),
    [sym_conjunction_expression] = STATE(1476),
    [sym_disjunction_expression] = STATE(1476),
    [sym_bitwise_operation] = STATE(1476),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1476),
    [sym_await_expression] = STATE(1476),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1476),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(945),
    [sym_expr_hack_at_ternary_binary_call] = STATE(945),
    [sym_call_expression] = STATE(1476),
    [sym_macro_invocation] = STATE(1476),
    [sym__primary_expression] = STATE(1476),
    [sym_tuple_expression] = STATE(1476),
    [sym_array_literal] = STATE(1476),
    [sym_dictionary_literal] = STATE(1476),
    [sym_special_literal] = STATE(1476),
    [sym_playground_literal] = STATE(1476),
    [sym_lambda_literal] = STATE(1476),
    [sym_self_expression] = STATE(1476),
    [sym_super_expression] = STATE(1476),
    [sym_if_statement] = STATE(1476),
    [sym_switch_statement] = STATE(1476),
    [sym_key_path_expression] = STATE(1476),
    [sym_key_path_string_expression] = STATE(1476),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1476),
    [sym__equality_operator] = STATE(1476),
    [sym__comparison_operator] = STATE(1476),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1476),
    [sym__multiplicative_operator] = STATE(1476),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1476),
    [sym_value_parameter_pack] = STATE(1476),
    [sym_value_pack_expansion] = STATE(1476),
    [sym__referenceable_operator] = STATE(1476),
    [sym__equal_sign] = STATE(1476),
    [sym__eq_eq] = STATE(1476),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1476),
    [sym_diagnostic] = STATE(1476),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1822),
    [sym_real_literal] = ACTIONS(1824),
    [sym_integer_literal] = ACTIONS(1822),
    [sym_hex_literal] = ACTIONS(1822),
    [sym_oct_literal] = ACTIONS(1824),
    [sym_bin_literal] = ACTIONS(1824),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1822),
    [anon_sym_GT] = ACTIONS(1822),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1824),
    [anon_sym_DASH_EQ] = ACTIONS(1824),
    [anon_sym_STAR_EQ] = ACTIONS(1824),
    [anon_sym_SLASH_EQ] = ACTIONS(1824),
    [anon_sym_PERCENT_EQ] = ACTIONS(1824),
    [anon_sym_BANG_EQ] = ACTIONS(1822),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1824),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1824),
    [anon_sym_LT_EQ] = ACTIONS(1824),
    [anon_sym_GT_EQ] = ACTIONS(1824),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1822),
    [anon_sym_SLASH] = ACTIONS(1822),
    [anon_sym_PERCENT] = ACTIONS(1822),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1824),
    [anon_sym_CARET] = ACTIONS(1822),
    [anon_sym_LT_LT] = ACTIONS(1824),
    [anon_sym_GT_GT] = ACTIONS(1824),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1824),
    [sym__eq_eq_custom] = ACTIONS(1824),
    [sym__plus_then_ws] = ACTIONS(1824),
    [sym__minus_then_ws] = ACTIONS(1824),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [492] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1592),
    [sym_boolean_literal] = STATE(1592),
    [sym__string_literal] = STATE(1592),
    [sym_line_string_literal] = STATE(1592),
    [sym_multi_line_string_literal] = STATE(1592),
    [sym_raw_string_literal] = STATE(1592),
    [sym_regex_literal] = STATE(1592),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1592),
    [sym__unary_expression] = STATE(1592),
    [sym_postfix_expression] = STATE(1592),
    [sym_constructor_expression] = STATE(1592),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1592),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1592),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1592),
    [sym_prefix_expression] = STATE(1592),
    [sym_as_expression] = STATE(1592),
    [sym_selector_expression] = STATE(1592),
    [sym__binary_expression] = STATE(1592),
    [sym_multiplicative_expression] = STATE(1592),
    [sym_additive_expression] = STATE(1592),
    [sym_range_expression] = STATE(1592),
    [sym_infix_expression] = STATE(1592),
    [sym_nil_coalescing_expression] = STATE(1592),
    [sym_check_expression] = STATE(1592),
    [sym_comparison_expression] = STATE(1592),
    [sym_equality_expression] = STATE(1592),
    [sym_conjunction_expression] = STATE(1592),
    [sym_disjunction_expression] = STATE(1592),
    [sym_bitwise_operation] = STATE(1592),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1592),
    [sym_await_expression] = STATE(1592),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1592),
    [sym_call_expression] = STATE(1592),
    [sym_macro_invocation] = STATE(1592),
    [sym__primary_expression] = STATE(1592),
    [sym_tuple_expression] = STATE(1592),
    [sym_array_literal] = STATE(1592),
    [sym_dictionary_literal] = STATE(1592),
    [sym_special_literal] = STATE(1592),
    [sym_playground_literal] = STATE(1592),
    [sym_lambda_literal] = STATE(1592),
    [sym_self_expression] = STATE(1592),
    [sym_super_expression] = STATE(1592),
    [sym_if_statement] = STATE(1592),
    [sym_switch_statement] = STATE(1592),
    [sym_key_path_expression] = STATE(1592),
    [sym_key_path_string_expression] = STATE(1592),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1592),
    [sym__equality_operator] = STATE(1592),
    [sym__comparison_operator] = STATE(1592),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1592),
    [sym__multiplicative_operator] = STATE(1592),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1592),
    [sym_value_parameter_pack] = STATE(1592),
    [sym_value_pack_expansion] = STATE(1592),
    [sym__referenceable_operator] = STATE(1592),
    [sym__equal_sign] = STATE(1592),
    [sym__eq_eq] = STATE(1592),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1592),
    [sym_diagnostic] = STATE(1592),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1850),
    [aux_sym_simple_identifier_token2] = ACTIONS(1853),
    [aux_sym_simple_identifier_token3] = ACTIONS(1853),
    [aux_sym_simple_identifier_token4] = ACTIONS(1853),
    [anon_sym_actor] = ACTIONS(1850),
    [anon_sym_async] = ACTIONS(1850),
    [anon_sym_each] = ACTIONS(1856),
    [anon_sym_lazy] = ACTIONS(1850),
    [anon_sym_repeat] = ACTIONS(1859),
    [anon_sym_package] = ACTIONS(1850),
    [anon_sym_nil] = ACTIONS(1862),
    [sym_real_literal] = ACTIONS(1864),
    [sym_integer_literal] = ACTIONS(1862),
    [sym_hex_literal] = ACTIONS(1862),
    [sym_oct_literal] = ACTIONS(1864),
    [sym_bin_literal] = ACTIONS(1864),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1866),
    [anon_sym_COMMA] = ACTIONS(1866),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1862),
    [anon_sym_GT] = ACTIONS(1862),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1864),
    [anon_sym_DASH_EQ] = ACTIONS(1864),
    [anon_sym_STAR_EQ] = ACTIONS(1864),
    [anon_sym_SLASH_EQ] = ACTIONS(1864),
    [anon_sym_PERCENT_EQ] = ACTIONS(1864),
    [anon_sym_BANG_EQ] = ACTIONS(1862),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1864),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1864),
    [anon_sym_LT_EQ] = ACTIONS(1864),
    [anon_sym_GT_EQ] = ACTIONS(1864),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1862),
    [anon_sym_SLASH] = ACTIONS(1862),
    [anon_sym_PERCENT] = ACTIONS(1862),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1864),
    [anon_sym_CARET] = ACTIONS(1862),
    [anon_sym_LT_LT] = ACTIONS(1864),
    [anon_sym_GT_GT] = ACTIONS(1864),
    [anon_sym_borrowing] = ACTIONS(1850),
    [anon_sym_consuming] = ACTIONS(1850),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1864),
    [sym__eq_eq_custom] = ACTIONS(1864),
    [sym__plus_then_ws] = ACTIONS(1864),
    [sym__minus_then_ws] = ACTIONS(1864),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [493] = {
    [sym_simple_identifier] = STATE(3108),
    [sym__contextual_simple_identifier] = STATE(2967),
    [sym__basic_literal] = STATE(1579),
    [sym_boolean_literal] = STATE(1579),
    [sym__string_literal] = STATE(1579),
    [sym_line_string_literal] = STATE(1579),
    [sym_multi_line_string_literal] = STATE(1579),
    [sym_raw_string_literal] = STATE(1579),
    [sym_regex_literal] = STATE(1579),
    [sym__extended_regex_literal] = STATE(3663),
    [sym__multiline_regex_literal] = STATE(3663),
    [sym_user_type] = STATE(6406),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6406),
    [sym_dictionary_type] = STATE(6406),
    [sym__expression] = STATE(1579),
    [sym__unary_expression] = STATE(1579),
    [sym_postfix_expression] = STATE(1579),
    [sym_constructor_expression] = STATE(1579),
    [sym__parenthesized_type] = STATE(7557),
    [sym_navigation_expression] = STATE(1579),
    [sym__navigable_type_expression] = STATE(7558),
    [sym_open_start_range_expression] = STATE(1579),
    [sym__range_operator] = STATE(592),
    [sym_open_end_range_expression] = STATE(1579),
    [sym_prefix_expression] = STATE(1579),
    [sym_as_expression] = STATE(1579),
    [sym_selector_expression] = STATE(1579),
    [sym__binary_expression] = STATE(1579),
    [sym_multiplicative_expression] = STATE(1579),
    [sym_additive_expression] = STATE(1579),
    [sym_range_expression] = STATE(1579),
    [sym_infix_expression] = STATE(1579),
    [sym_nil_coalescing_expression] = STATE(1579),
    [sym_check_expression] = STATE(1579),
    [sym_comparison_expression] = STATE(1579),
    [sym_equality_expression] = STATE(1579),
    [sym_conjunction_expression] = STATE(1579),
    [sym_disjunction_expression] = STATE(1579),
    [sym_bitwise_operation] = STATE(1579),
    [sym_custom_operator] = STATE(1288),
    [sym_try_expression] = STATE(1579),
    [sym_await_expression] = STATE(1579),
    [sym__await_operator] = STATE(595),
    [sym_ternary_expression] = STATE(1579),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(3664),
    [sym_expr_hack_at_ternary_binary_call] = STATE(3664),
    [sym_call_expression] = STATE(1579),
    [sym_macro_invocation] = STATE(1579),
    [sym__primary_expression] = STATE(1579),
    [sym_tuple_expression] = STATE(1579),
    [sym_array_literal] = STATE(1579),
    [sym_dictionary_literal] = STATE(1579),
    [sym_special_literal] = STATE(1579),
    [sym_playground_literal] = STATE(1579),
    [sym_lambda_literal] = STATE(1579),
    [sym_self_expression] = STATE(1579),
    [sym_super_expression] = STATE(1579),
    [sym_if_statement] = STATE(1579),
    [sym_switch_statement] = STATE(1579),
    [sym_key_path_expression] = STATE(1579),
    [sym_key_path_string_expression] = STATE(1579),
    [sym_try_operator] = STATE(611),
    [sym__assignment_and_operator] = STATE(1579),
    [sym__equality_operator] = STATE(1579),
    [sym__comparison_operator] = STATE(1579),
    [sym__three_dot_operator] = STATE(1257),
    [sym__open_ended_range_operator] = STATE(592),
    [sym__additive_operator] = STATE(1579),
    [sym__multiplicative_operator] = STATE(1579),
    [sym__prefix_unary_operator] = STATE(620),
    [sym_directly_assignable_expression] = STATE(6409),
    [sym_assignment] = STATE(1579),
    [sym_value_parameter_pack] = STATE(1579),
    [sym_value_pack_expansion] = STATE(1579),
    [sym__referenceable_operator] = STATE(1579),
    [sym__equal_sign] = STATE(1579),
    [sym__eq_eq] = STATE(1579),
    [sym__dot] = STATE(620),
    [sym__hash_symbol] = STATE(4853),
    [sym_bang] = STATE(1288),
    [sym__parameter_ownership_modifier] = STATE(2967),
    [sym_directive] = STATE(1579),
    [sym_diagnostic] = STATE(1579),
    [aux_sym_raw_string_literal_repeat1] = STATE(7564),
    [anon_sym_BANG] = ACTIONS(1293),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1295),
    [aux_sym_simple_identifier_token2] = ACTIONS(1297),
    [aux_sym_simple_identifier_token3] = ACTIONS(1297),
    [aux_sym_simple_identifier_token4] = ACTIONS(1297),
    [anon_sym_actor] = ACTIONS(1295),
    [anon_sym_async] = ACTIONS(1295),
    [anon_sym_each] = ACTIONS(1301),
    [anon_sym_lazy] = ACTIONS(1295),
    [anon_sym_repeat] = ACTIONS(1303),
    [anon_sym_package] = ACTIONS(1295),
    [anon_sym_nil] = ACTIONS(1774),
    [sym_real_literal] = ACTIONS(1776),
    [sym_integer_literal] = ACTIONS(1774),
    [sym_hex_literal] = ACTIONS(1774),
    [sym_oct_literal] = ACTIONS(1776),
    [sym_bin_literal] = ACTIONS(1776),
    [anon_sym_true] = ACTIONS(1309),
    [anon_sym_false] = ACTIONS(1309),
    [anon_sym_DQUOTE] = ACTIONS(1311),
    [anon_sym_BSLASH] = ACTIONS(1313),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1315),
    [sym__oneline_regex_literal] = ACTIONS(1317),
    [anon_sym_LPAREN] = ACTIONS(1319),
    [anon_sym_LBRACK] = ACTIONS(1321),
    [anon_sym_AMP] = ACTIONS(1323),
    [anon_sym_TILDE] = ACTIONS(1323),
    [anon_sym_if] = ACTIONS(1325),
    [anon_sym_switch] = ACTIONS(1327),
    [aux_sym_custom_operator_token1] = ACTIONS(1329),
    [anon_sym_LT] = ACTIONS(1774),
    [anon_sym_GT] = ACTIONS(1774),
    [anon_sym_await] = ACTIONS(1331),
    [anon_sym_LBRACE] = ACTIONS(1333),
    [anon_sym_CARET_LBRACE] = ACTIONS(1333),
    [anon_sym_self] = ACTIONS(1335),
    [anon_sym_super] = ACTIONS(1337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1776),
    [anon_sym_DASH_EQ] = ACTIONS(1776),
    [anon_sym_STAR_EQ] = ACTIONS(1776),
    [anon_sym_SLASH_EQ] = ACTIONS(1776),
    [anon_sym_PERCENT_EQ] = ACTIONS(1776),
    [anon_sym_BANG_EQ] = ACTIONS(1774),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1776),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1776),
    [anon_sym_LT_EQ] = ACTIONS(1776),
    [anon_sym_GT_EQ] = ACTIONS(1776),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1341),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1343),
    [anon_sym_PLUS] = ACTIONS(1345),
    [anon_sym_DASH] = ACTIONS(1345),
    [anon_sym_STAR] = ACTIONS(1774),
    [anon_sym_SLASH] = ACTIONS(1774),
    [anon_sym_PERCENT] = ACTIONS(1774),
    [anon_sym_PLUS_PLUS] = ACTIONS(1323),
    [anon_sym_DASH_DASH] = ACTIONS(1323),
    [anon_sym_PIPE] = ACTIONS(1776),
    [anon_sym_CARET] = ACTIONS(1774),
    [anon_sym_LT_LT] = ACTIONS(1776),
    [anon_sym_GT_GT] = ACTIONS(1776),
    [anon_sym_borrowing] = ACTIONS(1295),
    [anon_sym_consuming] = ACTIONS(1295),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1347),
    [sym__dot_custom] = ACTIONS(1349),
    [sym__eq_custom] = ACTIONS(1776),
    [sym__eq_eq_custom] = ACTIONS(1776),
    [sym__plus_then_ws] = ACTIONS(1776),
    [sym__minus_then_ws] = ACTIONS(1776),
    [sym__bang_custom] = ACTIONS(1351),
    [sym__custom_operator] = ACTIONS(1329),
    [sym__hash_symbol_custom] = ACTIONS(1371),
    [sym__directive_if] = ACTIONS(1355),
    [sym__directive_elseif] = ACTIONS(1355),
    [sym__directive_else] = ACTIONS(1357),
    [sym__directive_endif] = ACTIONS(1357),
  },
  [494] = {
    [sym_simple_identifier] = STATE(3108),
    [sym__contextual_simple_identifier] = STATE(2967),
    [sym__basic_literal] = STATE(1579),
    [sym_boolean_literal] = STATE(1579),
    [sym__string_literal] = STATE(1579),
    [sym_line_string_literal] = STATE(1579),
    [sym_multi_line_string_literal] = STATE(1579),
    [sym_raw_string_literal] = STATE(1579),
    [sym_regex_literal] = STATE(1579),
    [sym__extended_regex_literal] = STATE(3663),
    [sym__multiline_regex_literal] = STATE(3663),
    [sym_user_type] = STATE(6406),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6406),
    [sym_dictionary_type] = STATE(6406),
    [sym__expression] = STATE(1579),
    [sym__unary_expression] = STATE(1579),
    [sym_postfix_expression] = STATE(1579),
    [sym_constructor_expression] = STATE(1579),
    [sym__parenthesized_type] = STATE(7557),
    [sym_navigation_expression] = STATE(1579),
    [sym__navigable_type_expression] = STATE(7558),
    [sym_open_start_range_expression] = STATE(1579),
    [sym__range_operator] = STATE(592),
    [sym_open_end_range_expression] = STATE(1579),
    [sym_prefix_expression] = STATE(1579),
    [sym_as_expression] = STATE(1579),
    [sym_selector_expression] = STATE(1579),
    [sym__binary_expression] = STATE(1579),
    [sym_multiplicative_expression] = STATE(1579),
    [sym_additive_expression] = STATE(1579),
    [sym_range_expression] = STATE(1579),
    [sym_infix_expression] = STATE(1579),
    [sym_nil_coalescing_expression] = STATE(1579),
    [sym_check_expression] = STATE(1579),
    [sym_comparison_expression] = STATE(1579),
    [sym_equality_expression] = STATE(1579),
    [sym_conjunction_expression] = STATE(1579),
    [sym_disjunction_expression] = STATE(1579),
    [sym_bitwise_operation] = STATE(1579),
    [sym_custom_operator] = STATE(1288),
    [sym_try_expression] = STATE(1579),
    [sym_await_expression] = STATE(1579),
    [sym__await_operator] = STATE(595),
    [sym_ternary_expression] = STATE(1579),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(3683),
    [sym_expr_hack_at_ternary_binary_call] = STATE(3683),
    [sym_call_expression] = STATE(1579),
    [sym_macro_invocation] = STATE(1579),
    [sym__primary_expression] = STATE(1579),
    [sym_tuple_expression] = STATE(1579),
    [sym_array_literal] = STATE(1579),
    [sym_dictionary_literal] = STATE(1579),
    [sym_special_literal] = STATE(1579),
    [sym_playground_literal] = STATE(1579),
    [sym_lambda_literal] = STATE(1579),
    [sym_self_expression] = STATE(1579),
    [sym_super_expression] = STATE(1579),
    [sym_if_statement] = STATE(1579),
    [sym_switch_statement] = STATE(1579),
    [sym_key_path_expression] = STATE(1579),
    [sym_key_path_string_expression] = STATE(1579),
    [sym_try_operator] = STATE(611),
    [sym__assignment_and_operator] = STATE(1579),
    [sym__equality_operator] = STATE(1579),
    [sym__comparison_operator] = STATE(1579),
    [sym__three_dot_operator] = STATE(1257),
    [sym__open_ended_range_operator] = STATE(592),
    [sym__additive_operator] = STATE(1579),
    [sym__multiplicative_operator] = STATE(1579),
    [sym__prefix_unary_operator] = STATE(620),
    [sym_directly_assignable_expression] = STATE(6409),
    [sym_assignment] = STATE(1579),
    [sym_value_parameter_pack] = STATE(1579),
    [sym_value_pack_expansion] = STATE(1579),
    [sym__referenceable_operator] = STATE(1579),
    [sym__equal_sign] = STATE(1579),
    [sym__eq_eq] = STATE(1579),
    [sym__dot] = STATE(620),
    [sym__hash_symbol] = STATE(4853),
    [sym_bang] = STATE(1288),
    [sym__parameter_ownership_modifier] = STATE(2967),
    [sym_directive] = STATE(1579),
    [sym_diagnostic] = STATE(1579),
    [aux_sym_raw_string_literal_repeat1] = STATE(7564),
    [anon_sym_BANG] = ACTIONS(1293),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1295),
    [aux_sym_simple_identifier_token2] = ACTIONS(1297),
    [aux_sym_simple_identifier_token3] = ACTIONS(1297),
    [aux_sym_simple_identifier_token4] = ACTIONS(1297),
    [anon_sym_actor] = ACTIONS(1295),
    [anon_sym_async] = ACTIONS(1295),
    [anon_sym_each] = ACTIONS(1301),
    [anon_sym_lazy] = ACTIONS(1295),
    [anon_sym_repeat] = ACTIONS(1303),
    [anon_sym_package] = ACTIONS(1295),
    [anon_sym_nil] = ACTIONS(1774),
    [sym_real_literal] = ACTIONS(1776),
    [sym_integer_literal] = ACTIONS(1774),
    [sym_hex_literal] = ACTIONS(1774),
    [sym_oct_literal] = ACTIONS(1776),
    [sym_bin_literal] = ACTIONS(1776),
    [anon_sym_true] = ACTIONS(1309),
    [anon_sym_false] = ACTIONS(1309),
    [anon_sym_DQUOTE] = ACTIONS(1311),
    [anon_sym_BSLASH] = ACTIONS(1313),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1315),
    [sym__oneline_regex_literal] = ACTIONS(1317),
    [anon_sym_LPAREN] = ACTIONS(1319),
    [anon_sym_LBRACK] = ACTIONS(1321),
    [anon_sym_AMP] = ACTIONS(1323),
    [anon_sym_TILDE] = ACTIONS(1323),
    [anon_sym_if] = ACTIONS(1325),
    [anon_sym_switch] = ACTIONS(1327),
    [aux_sym_custom_operator_token1] = ACTIONS(1329),
    [anon_sym_LT] = ACTIONS(1774),
    [anon_sym_GT] = ACTIONS(1774),
    [anon_sym_await] = ACTIONS(1331),
    [anon_sym_LBRACE] = ACTIONS(1333),
    [anon_sym_CARET_LBRACE] = ACTIONS(1333),
    [anon_sym_self] = ACTIONS(1335),
    [anon_sym_super] = ACTIONS(1337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1776),
    [anon_sym_DASH_EQ] = ACTIONS(1776),
    [anon_sym_STAR_EQ] = ACTIONS(1776),
    [anon_sym_SLASH_EQ] = ACTIONS(1776),
    [anon_sym_PERCENT_EQ] = ACTIONS(1776),
    [anon_sym_BANG_EQ] = ACTIONS(1774),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1776),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1776),
    [anon_sym_LT_EQ] = ACTIONS(1776),
    [anon_sym_GT_EQ] = ACTIONS(1776),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1341),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1343),
    [anon_sym_PLUS] = ACTIONS(1345),
    [anon_sym_DASH] = ACTIONS(1345),
    [anon_sym_STAR] = ACTIONS(1774),
    [anon_sym_SLASH] = ACTIONS(1774),
    [anon_sym_PERCENT] = ACTIONS(1774),
    [anon_sym_PLUS_PLUS] = ACTIONS(1323),
    [anon_sym_DASH_DASH] = ACTIONS(1323),
    [anon_sym_PIPE] = ACTIONS(1776),
    [anon_sym_CARET] = ACTIONS(1774),
    [anon_sym_LT_LT] = ACTIONS(1776),
    [anon_sym_GT_GT] = ACTIONS(1776),
    [anon_sym_borrowing] = ACTIONS(1295),
    [anon_sym_consuming] = ACTIONS(1295),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1347),
    [sym__dot_custom] = ACTIONS(1349),
    [sym__eq_custom] = ACTIONS(1776),
    [sym__eq_eq_custom] = ACTIONS(1776),
    [sym__plus_then_ws] = ACTIONS(1776),
    [sym__minus_then_ws] = ACTIONS(1776),
    [sym__bang_custom] = ACTIONS(1351),
    [sym__custom_operator] = ACTIONS(1329),
    [sym__hash_symbol_custom] = ACTIONS(1371),
    [sym__directive_if] = ACTIONS(1355),
    [sym__directive_elseif] = ACTIONS(1355),
    [sym__directive_else] = ACTIONS(1357),
    [sym__directive_endif] = ACTIONS(1357),
  },
  [495] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(783),
    [sym_boolean_literal] = STATE(783),
    [sym__string_literal] = STATE(783),
    [sym_line_string_literal] = STATE(783),
    [sym_multi_line_string_literal] = STATE(783),
    [sym_raw_string_literal] = STATE(783),
    [sym_regex_literal] = STATE(783),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(783),
    [sym__unary_expression] = STATE(783),
    [sym_postfix_expression] = STATE(783),
    [sym_constructor_expression] = STATE(783),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(783),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(783),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(783),
    [sym_prefix_expression] = STATE(783),
    [sym_as_expression] = STATE(783),
    [sym_selector_expression] = STATE(783),
    [sym__binary_expression] = STATE(783),
    [sym_multiplicative_expression] = STATE(783),
    [sym_additive_expression] = STATE(783),
    [sym_range_expression] = STATE(783),
    [sym_infix_expression] = STATE(783),
    [sym_nil_coalescing_expression] = STATE(783),
    [sym_check_expression] = STATE(783),
    [sym_comparison_expression] = STATE(783),
    [sym_equality_expression] = STATE(783),
    [sym_conjunction_expression] = STATE(783),
    [sym_disjunction_expression] = STATE(783),
    [sym_bitwise_operation] = STATE(783),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(783),
    [sym_await_expression] = STATE(783),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(783),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(1394),
    [sym_expr_hack_at_ternary_binary_call] = STATE(1394),
    [sym_call_expression] = STATE(783),
    [sym_macro_invocation] = STATE(783),
    [sym__primary_expression] = STATE(783),
    [sym_tuple_expression] = STATE(783),
    [sym_array_literal] = STATE(783),
    [sym_dictionary_literal] = STATE(783),
    [sym_special_literal] = STATE(783),
    [sym_playground_literal] = STATE(783),
    [sym_lambda_literal] = STATE(783),
    [sym_self_expression] = STATE(783),
    [sym_super_expression] = STATE(783),
    [sym_if_statement] = STATE(783),
    [sym_switch_statement] = STATE(783),
    [sym_key_path_expression] = STATE(783),
    [sym_key_path_string_expression] = STATE(783),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(783),
    [sym__equality_operator] = STATE(783),
    [sym__comparison_operator] = STATE(783),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(783),
    [sym__multiplicative_operator] = STATE(783),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_assignment] = STATE(783),
    [sym_value_parameter_pack] = STATE(783),
    [sym_value_pack_expansion] = STATE(783),
    [sym__referenceable_operator] = STATE(783),
    [sym__equal_sign] = STATE(783),
    [sym__eq_eq] = STATE(783),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(783),
    [sym_diagnostic] = STATE(783),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(289),
    [anon_sym_async] = ACTIONS(289),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(289),
    [anon_sym_repeat] = ACTIONS(733),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(1782),
    [sym_real_literal] = ACTIONS(1784),
    [sym_integer_literal] = ACTIONS(1782),
    [sym_hex_literal] = ACTIONS(1782),
    [sym_oct_literal] = ACTIONS(1784),
    [sym_bin_literal] = ACTIONS(1784),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(1782),
    [anon_sym_GT] = ACTIONS(1782),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1784),
    [anon_sym_DASH_EQ] = ACTIONS(1784),
    [anon_sym_STAR_EQ] = ACTIONS(1784),
    [anon_sym_SLASH_EQ] = ACTIONS(1784),
    [anon_sym_PERCENT_EQ] = ACTIONS(1784),
    [anon_sym_BANG_EQ] = ACTIONS(1782),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1784),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1784),
    [anon_sym_LT_EQ] = ACTIONS(1784),
    [anon_sym_GT_EQ] = ACTIONS(1784),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(1782),
    [anon_sym_SLASH] = ACTIONS(1782),
    [anon_sym_PERCENT] = ACTIONS(1782),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(1784),
    [anon_sym_CARET] = ACTIONS(1782),
    [anon_sym_LT_LT] = ACTIONS(1784),
    [anon_sym_GT_GT] = ACTIONS(1784),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(1784),
    [sym__eq_eq_custom] = ACTIONS(1784),
    [sym__plus_then_ws] = ACTIONS(1784),
    [sym__minus_then_ws] = ACTIONS(1784),
    [sym__bang_custom] = ACTIONS(373),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [496] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1457),
    [sym_boolean_literal] = STATE(1457),
    [sym__string_literal] = STATE(1457),
    [sym_line_string_literal] = STATE(1457),
    [sym_multi_line_string_literal] = STATE(1457),
    [sym_raw_string_literal] = STATE(1457),
    [sym_regex_literal] = STATE(1457),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1457),
    [sym__unary_expression] = STATE(1457),
    [sym_postfix_expression] = STATE(1457),
    [sym_constructor_expression] = STATE(1457),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1457),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1457),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1457),
    [sym_prefix_expression] = STATE(1457),
    [sym_as_expression] = STATE(1457),
    [sym_selector_expression] = STATE(1457),
    [sym__binary_expression] = STATE(1457),
    [sym_multiplicative_expression] = STATE(1457),
    [sym_additive_expression] = STATE(1457),
    [sym_range_expression] = STATE(1457),
    [sym_infix_expression] = STATE(1457),
    [sym_nil_coalescing_expression] = STATE(1457),
    [sym_check_expression] = STATE(1457),
    [sym_comparison_expression] = STATE(1457),
    [sym_equality_expression] = STATE(1457),
    [sym_conjunction_expression] = STATE(1457),
    [sym_disjunction_expression] = STATE(1457),
    [sym_bitwise_operation] = STATE(1457),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1457),
    [sym_await_expression] = STATE(1457),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1457),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(2691),
    [sym_expr_hack_at_ternary_binary_call] = STATE(2691),
    [sym_call_expression] = STATE(1457),
    [sym_macro_invocation] = STATE(1457),
    [sym__primary_expression] = STATE(1457),
    [sym_tuple_expression] = STATE(1457),
    [sym_array_literal] = STATE(1457),
    [sym_dictionary_literal] = STATE(1457),
    [sym_special_literal] = STATE(1457),
    [sym_playground_literal] = STATE(1457),
    [sym_lambda_literal] = STATE(1457),
    [sym_self_expression] = STATE(1457),
    [sym_super_expression] = STATE(1457),
    [sym_if_statement] = STATE(1457),
    [sym_switch_statement] = STATE(1457),
    [sym_key_path_expression] = STATE(1457),
    [sym_key_path_string_expression] = STATE(1457),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1457),
    [sym__equality_operator] = STATE(1457),
    [sym__comparison_operator] = STATE(1457),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1457),
    [sym__multiplicative_operator] = STATE(1457),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_assignment] = STATE(1457),
    [sym_value_parameter_pack] = STATE(1457),
    [sym_value_pack_expansion] = STATE(1457),
    [sym__referenceable_operator] = STATE(1457),
    [sym__equal_sign] = STATE(1457),
    [sym__eq_eq] = STATE(1457),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1457),
    [sym_diagnostic] = STATE(1457),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(11),
    [anon_sym_async] = ACTIONS(11),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(11),
    [anon_sym_repeat] = ACTIONS(925),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(1808),
    [sym_real_literal] = ACTIONS(1810),
    [sym_integer_literal] = ACTIONS(1808),
    [sym_hex_literal] = ACTIONS(1808),
    [sym_oct_literal] = ACTIONS(1810),
    [sym_bin_literal] = ACTIONS(1810),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(1808),
    [anon_sym_GT] = ACTIONS(1808),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1810),
    [anon_sym_DASH_EQ] = ACTIONS(1810),
    [anon_sym_STAR_EQ] = ACTIONS(1810),
    [anon_sym_SLASH_EQ] = ACTIONS(1810),
    [anon_sym_PERCENT_EQ] = ACTIONS(1810),
    [anon_sym_BANG_EQ] = ACTIONS(1808),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1810),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1810),
    [anon_sym_LT_EQ] = ACTIONS(1810),
    [anon_sym_GT_EQ] = ACTIONS(1810),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(1808),
    [anon_sym_SLASH] = ACTIONS(1808),
    [anon_sym_PERCENT] = ACTIONS(1808),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(1810),
    [anon_sym_CARET] = ACTIONS(1808),
    [anon_sym_LT_LT] = ACTIONS(1810),
    [anon_sym_GT_GT] = ACTIONS(1810),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(1810),
    [sym__eq_eq_custom] = ACTIONS(1810),
    [sym__plus_then_ws] = ACTIONS(1810),
    [sym__minus_then_ws] = ACTIONS(1810),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [497] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1632),
    [sym_boolean_literal] = STATE(1632),
    [sym__string_literal] = STATE(1632),
    [sym_line_string_literal] = STATE(1632),
    [sym_multi_line_string_literal] = STATE(1632),
    [sym_raw_string_literal] = STATE(1632),
    [sym_regex_literal] = STATE(1632),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1632),
    [sym__unary_expression] = STATE(1632),
    [sym_postfix_expression] = STATE(1632),
    [sym_constructor_expression] = STATE(1632),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1632),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1632),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1632),
    [sym_prefix_expression] = STATE(1632),
    [sym_as_expression] = STATE(1632),
    [sym_selector_expression] = STATE(1632),
    [sym__binary_expression] = STATE(1632),
    [sym_multiplicative_expression] = STATE(1632),
    [sym_additive_expression] = STATE(1632),
    [sym_range_expression] = STATE(1632),
    [sym_infix_expression] = STATE(1632),
    [sym_nil_coalescing_expression] = STATE(1632),
    [sym_check_expression] = STATE(1632),
    [sym_comparison_expression] = STATE(1632),
    [sym_equality_expression] = STATE(1632),
    [sym_conjunction_expression] = STATE(1632),
    [sym_disjunction_expression] = STATE(1632),
    [sym_bitwise_operation] = STATE(1632),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1632),
    [sym_await_expression] = STATE(1632),
    [sym__await_operator] = STATE(728),
    [sym_ternary_expression] = STATE(1632),
    [sym_call_expression] = STATE(1632),
    [sym_macro_invocation] = STATE(1632),
    [sym__primary_expression] = STATE(1632),
    [sym_tuple_expression] = STATE(1632),
    [sym_array_literal] = STATE(1632),
    [sym_dictionary_literal] = STATE(1632),
    [sym_special_literal] = STATE(1632),
    [sym_playground_literal] = STATE(1632),
    [sym_lambda_literal] = STATE(1632),
    [sym_self_expression] = STATE(1632),
    [sym_super_expression] = STATE(1632),
    [sym_if_statement] = STATE(1632),
    [sym_switch_statement] = STATE(1632),
    [sym_key_path_expression] = STATE(1632),
    [sym_key_path_string_expression] = STATE(1632),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1632),
    [sym__equality_operator] = STATE(1632),
    [sym__comparison_operator] = STATE(1632),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1632),
    [sym__multiplicative_operator] = STATE(1632),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym__for_statement_collection] = STATE(7313),
    [sym_for_statement_await] = STATE(7313),
    [sym_assignment] = STATE(1632),
    [sym_value_parameter_pack] = STATE(1632),
    [sym_value_pack_expansion] = STATE(1632),
    [sym__referenceable_operator] = STATE(1632),
    [sym__equal_sign] = STATE(1632),
    [sym__eq_eq] = STATE(1632),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1632),
    [sym_diagnostic] = STATE(1632),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(1764),
    [sym_real_literal] = ACTIONS(1766),
    [sym_integer_literal] = ACTIONS(1764),
    [sym_hex_literal] = ACTIONS(1764),
    [sym_oct_literal] = ACTIONS(1766),
    [sym_bin_literal] = ACTIONS(1766),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(1764),
    [anon_sym_GT] = ACTIONS(1764),
    [anon_sym_await] = ACTIONS(1768),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1766),
    [anon_sym_DASH_EQ] = ACTIONS(1766),
    [anon_sym_STAR_EQ] = ACTIONS(1766),
    [anon_sym_SLASH_EQ] = ACTIONS(1766),
    [anon_sym_PERCENT_EQ] = ACTIONS(1766),
    [anon_sym_BANG_EQ] = ACTIONS(1764),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1766),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1766),
    [anon_sym_LT_EQ] = ACTIONS(1766),
    [anon_sym_GT_EQ] = ACTIONS(1766),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(1764),
    [anon_sym_SLASH] = ACTIONS(1764),
    [anon_sym_PERCENT] = ACTIONS(1764),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(1766),
    [anon_sym_CARET] = ACTIONS(1764),
    [anon_sym_LT_LT] = ACTIONS(1766),
    [anon_sym_GT_GT] = ACTIONS(1766),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(1766),
    [sym__eq_eq_custom] = ACTIONS(1766),
    [sym__plus_then_ws] = ACTIONS(1766),
    [sym__minus_then_ws] = ACTIONS(1766),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [498] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1632),
    [sym_boolean_literal] = STATE(1632),
    [sym__string_literal] = STATE(1632),
    [sym_line_string_literal] = STATE(1632),
    [sym_multi_line_string_literal] = STATE(1632),
    [sym_raw_string_literal] = STATE(1632),
    [sym_regex_literal] = STATE(1632),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1632),
    [sym__unary_expression] = STATE(1632),
    [sym_postfix_expression] = STATE(1632),
    [sym_constructor_expression] = STATE(1632),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1632),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1632),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1632),
    [sym_prefix_expression] = STATE(1632),
    [sym_as_expression] = STATE(1632),
    [sym_selector_expression] = STATE(1632),
    [sym__binary_expression] = STATE(1632),
    [sym_multiplicative_expression] = STATE(1632),
    [sym_additive_expression] = STATE(1632),
    [sym_range_expression] = STATE(1632),
    [sym_infix_expression] = STATE(1632),
    [sym_nil_coalescing_expression] = STATE(1632),
    [sym_check_expression] = STATE(1632),
    [sym_comparison_expression] = STATE(1632),
    [sym_equality_expression] = STATE(1632),
    [sym_conjunction_expression] = STATE(1632),
    [sym_disjunction_expression] = STATE(1632),
    [sym_bitwise_operation] = STATE(1632),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1632),
    [sym_await_expression] = STATE(1632),
    [sym__await_operator] = STATE(728),
    [sym_ternary_expression] = STATE(1632),
    [sym_call_expression] = STATE(1632),
    [sym_macro_invocation] = STATE(1632),
    [sym__primary_expression] = STATE(1632),
    [sym_tuple_expression] = STATE(1632),
    [sym_array_literal] = STATE(1632),
    [sym_dictionary_literal] = STATE(1632),
    [sym_special_literal] = STATE(1632),
    [sym_playground_literal] = STATE(1632),
    [sym_lambda_literal] = STATE(1632),
    [sym_self_expression] = STATE(1632),
    [sym_super_expression] = STATE(1632),
    [sym_if_statement] = STATE(1632),
    [sym_switch_statement] = STATE(1632),
    [sym_key_path_expression] = STATE(1632),
    [sym_key_path_string_expression] = STATE(1632),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1632),
    [sym__equality_operator] = STATE(1632),
    [sym__comparison_operator] = STATE(1632),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1632),
    [sym__multiplicative_operator] = STATE(1632),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym__for_statement_collection] = STATE(7312),
    [sym_for_statement_await] = STATE(7312),
    [sym_assignment] = STATE(1632),
    [sym_value_parameter_pack] = STATE(1632),
    [sym_value_pack_expansion] = STATE(1632),
    [sym__referenceable_operator] = STATE(1632),
    [sym__equal_sign] = STATE(1632),
    [sym__eq_eq] = STATE(1632),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1632),
    [sym_diagnostic] = STATE(1632),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(1764),
    [sym_real_literal] = ACTIONS(1766),
    [sym_integer_literal] = ACTIONS(1764),
    [sym_hex_literal] = ACTIONS(1764),
    [sym_oct_literal] = ACTIONS(1766),
    [sym_bin_literal] = ACTIONS(1766),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(1764),
    [anon_sym_GT] = ACTIONS(1764),
    [anon_sym_await] = ACTIONS(1768),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1766),
    [anon_sym_DASH_EQ] = ACTIONS(1766),
    [anon_sym_STAR_EQ] = ACTIONS(1766),
    [anon_sym_SLASH_EQ] = ACTIONS(1766),
    [anon_sym_PERCENT_EQ] = ACTIONS(1766),
    [anon_sym_BANG_EQ] = ACTIONS(1764),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1766),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1766),
    [anon_sym_LT_EQ] = ACTIONS(1766),
    [anon_sym_GT_EQ] = ACTIONS(1766),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(1764),
    [anon_sym_SLASH] = ACTIONS(1764),
    [anon_sym_PERCENT] = ACTIONS(1764),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(1766),
    [anon_sym_CARET] = ACTIONS(1764),
    [anon_sym_LT_LT] = ACTIONS(1766),
    [anon_sym_GT_GT] = ACTIONS(1766),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(1766),
    [sym__eq_eq_custom] = ACTIONS(1766),
    [sym__plus_then_ws] = ACTIONS(1766),
    [sym__minus_then_ws] = ACTIONS(1766),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [499] = {
    [sym_simple_identifier] = STATE(3108),
    [sym__contextual_simple_identifier] = STATE(2967),
    [sym__basic_literal] = STATE(1579),
    [sym_boolean_literal] = STATE(1579),
    [sym__string_literal] = STATE(1579),
    [sym_line_string_literal] = STATE(1579),
    [sym_multi_line_string_literal] = STATE(1579),
    [sym_raw_string_literal] = STATE(1579),
    [sym_regex_literal] = STATE(1579),
    [sym__extended_regex_literal] = STATE(3663),
    [sym__multiline_regex_literal] = STATE(3663),
    [sym_user_type] = STATE(6406),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6406),
    [sym_dictionary_type] = STATE(6406),
    [sym__expression] = STATE(1579),
    [sym__unary_expression] = STATE(1579),
    [sym_postfix_expression] = STATE(1579),
    [sym_constructor_expression] = STATE(1579),
    [sym__parenthesized_type] = STATE(7557),
    [sym_navigation_expression] = STATE(1579),
    [sym__navigable_type_expression] = STATE(7558),
    [sym_open_start_range_expression] = STATE(1579),
    [sym__range_operator] = STATE(592),
    [sym_open_end_range_expression] = STATE(1579),
    [sym_prefix_expression] = STATE(1579),
    [sym_as_expression] = STATE(1579),
    [sym_selector_expression] = STATE(1579),
    [sym__binary_expression] = STATE(1579),
    [sym_multiplicative_expression] = STATE(1579),
    [sym_additive_expression] = STATE(1579),
    [sym_range_expression] = STATE(1579),
    [sym_infix_expression] = STATE(1579),
    [sym_nil_coalescing_expression] = STATE(1579),
    [sym_check_expression] = STATE(1579),
    [sym_comparison_expression] = STATE(1579),
    [sym_equality_expression] = STATE(1579),
    [sym_conjunction_expression] = STATE(1579),
    [sym_disjunction_expression] = STATE(1579),
    [sym_bitwise_operation] = STATE(1579),
    [sym_custom_operator] = STATE(1288),
    [sym_try_expression] = STATE(1579),
    [sym_await_expression] = STATE(1579),
    [sym__await_operator] = STATE(595),
    [sym_ternary_expression] = STATE(1579),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(3684),
    [sym_expr_hack_at_ternary_binary_call] = STATE(3684),
    [sym_call_expression] = STATE(1579),
    [sym_macro_invocation] = STATE(1579),
    [sym__primary_expression] = STATE(1579),
    [sym_tuple_expression] = STATE(1579),
    [sym_array_literal] = STATE(1579),
    [sym_dictionary_literal] = STATE(1579),
    [sym_special_literal] = STATE(1579),
    [sym_playground_literal] = STATE(1579),
    [sym_lambda_literal] = STATE(1579),
    [sym_self_expression] = STATE(1579),
    [sym_super_expression] = STATE(1579),
    [sym_if_statement] = STATE(1579),
    [sym_switch_statement] = STATE(1579),
    [sym_key_path_expression] = STATE(1579),
    [sym_key_path_string_expression] = STATE(1579),
    [sym_try_operator] = STATE(611),
    [sym__assignment_and_operator] = STATE(1579),
    [sym__equality_operator] = STATE(1579),
    [sym__comparison_operator] = STATE(1579),
    [sym__three_dot_operator] = STATE(1257),
    [sym__open_ended_range_operator] = STATE(592),
    [sym__additive_operator] = STATE(1579),
    [sym__multiplicative_operator] = STATE(1579),
    [sym__prefix_unary_operator] = STATE(620),
    [sym_directly_assignable_expression] = STATE(6409),
    [sym_assignment] = STATE(1579),
    [sym_value_parameter_pack] = STATE(1579),
    [sym_value_pack_expansion] = STATE(1579),
    [sym__referenceable_operator] = STATE(1579),
    [sym__equal_sign] = STATE(1579),
    [sym__eq_eq] = STATE(1579),
    [sym__dot] = STATE(620),
    [sym__hash_symbol] = STATE(4853),
    [sym_bang] = STATE(1288),
    [sym__parameter_ownership_modifier] = STATE(2967),
    [sym_directive] = STATE(1579),
    [sym_diagnostic] = STATE(1579),
    [aux_sym_raw_string_literal_repeat1] = STATE(7564),
    [anon_sym_BANG] = ACTIONS(1293),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1295),
    [aux_sym_simple_identifier_token2] = ACTIONS(1297),
    [aux_sym_simple_identifier_token3] = ACTIONS(1297),
    [aux_sym_simple_identifier_token4] = ACTIONS(1297),
    [anon_sym_actor] = ACTIONS(1295),
    [anon_sym_async] = ACTIONS(1295),
    [anon_sym_each] = ACTIONS(1301),
    [anon_sym_lazy] = ACTIONS(1295),
    [anon_sym_repeat] = ACTIONS(1303),
    [anon_sym_package] = ACTIONS(1295),
    [anon_sym_nil] = ACTIONS(1774),
    [sym_real_literal] = ACTIONS(1776),
    [sym_integer_literal] = ACTIONS(1774),
    [sym_hex_literal] = ACTIONS(1774),
    [sym_oct_literal] = ACTIONS(1776),
    [sym_bin_literal] = ACTIONS(1776),
    [anon_sym_true] = ACTIONS(1309),
    [anon_sym_false] = ACTIONS(1309),
    [anon_sym_DQUOTE] = ACTIONS(1311),
    [anon_sym_BSLASH] = ACTIONS(1313),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1315),
    [sym__oneline_regex_literal] = ACTIONS(1317),
    [anon_sym_LPAREN] = ACTIONS(1319),
    [anon_sym_LBRACK] = ACTIONS(1321),
    [anon_sym_AMP] = ACTIONS(1323),
    [anon_sym_TILDE] = ACTIONS(1323),
    [anon_sym_if] = ACTIONS(1325),
    [anon_sym_switch] = ACTIONS(1327),
    [aux_sym_custom_operator_token1] = ACTIONS(1329),
    [anon_sym_LT] = ACTIONS(1774),
    [anon_sym_GT] = ACTIONS(1774),
    [anon_sym_await] = ACTIONS(1331),
    [anon_sym_LBRACE] = ACTIONS(1333),
    [anon_sym_CARET_LBRACE] = ACTIONS(1333),
    [anon_sym_self] = ACTIONS(1335),
    [anon_sym_super] = ACTIONS(1337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1776),
    [anon_sym_DASH_EQ] = ACTIONS(1776),
    [anon_sym_STAR_EQ] = ACTIONS(1776),
    [anon_sym_SLASH_EQ] = ACTIONS(1776),
    [anon_sym_PERCENT_EQ] = ACTIONS(1776),
    [anon_sym_BANG_EQ] = ACTIONS(1774),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1776),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1776),
    [anon_sym_LT_EQ] = ACTIONS(1776),
    [anon_sym_GT_EQ] = ACTIONS(1776),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1341),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1343),
    [anon_sym_PLUS] = ACTIONS(1345),
    [anon_sym_DASH] = ACTIONS(1345),
    [anon_sym_STAR] = ACTIONS(1774),
    [anon_sym_SLASH] = ACTIONS(1774),
    [anon_sym_PERCENT] = ACTIONS(1774),
    [anon_sym_PLUS_PLUS] = ACTIONS(1323),
    [anon_sym_DASH_DASH] = ACTIONS(1323),
    [anon_sym_PIPE] = ACTIONS(1776),
    [anon_sym_CARET] = ACTIONS(1774),
    [anon_sym_LT_LT] = ACTIONS(1776),
    [anon_sym_GT_GT] = ACTIONS(1776),
    [anon_sym_borrowing] = ACTIONS(1295),
    [anon_sym_consuming] = ACTIONS(1295),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1347),
    [sym__dot_custom] = ACTIONS(1349),
    [sym__eq_custom] = ACTIONS(1776),
    [sym__eq_eq_custom] = ACTIONS(1776),
    [sym__plus_then_ws] = ACTIONS(1776),
    [sym__minus_then_ws] = ACTIONS(1776),
    [sym__bang_custom] = ACTIONS(1351),
    [sym__custom_operator] = ACTIONS(1329),
    [sym__hash_symbol_custom] = ACTIONS(1371),
    [sym__directive_if] = ACTIONS(1355),
    [sym__directive_elseif] = ACTIONS(1355),
    [sym__directive_else] = ACTIONS(1357),
    [sym__directive_endif] = ACTIONS(1357),
  },
  [500] = {
    [sym_simple_identifier] = STATE(2331),
    [sym__contextual_simple_identifier] = STATE(2240),
    [sym__basic_literal] = STATE(1452),
    [sym_boolean_literal] = STATE(1452),
    [sym__string_literal] = STATE(1452),
    [sym_line_string_literal] = STATE(1452),
    [sym_multi_line_string_literal] = STATE(1452),
    [sym_raw_string_literal] = STATE(1452),
    [sym_regex_literal] = STATE(1452),
    [sym__extended_regex_literal] = STATE(2556),
    [sym__multiline_regex_literal] = STATE(2556),
    [sym_user_type] = STATE(6440),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6440),
    [sym_dictionary_type] = STATE(6440),
    [sym__expression] = STATE(1452),
    [sym__unary_expression] = STATE(1452),
    [sym_postfix_expression] = STATE(1452),
    [sym_constructor_expression] = STATE(1452),
    [sym__parenthesized_type] = STATE(7995),
    [sym_navigation_expression] = STATE(1452),
    [sym__navigable_type_expression] = STATE(8059),
    [sym_open_start_range_expression] = STATE(1452),
    [sym__range_operator] = STATE(576),
    [sym_open_end_range_expression] = STATE(1452),
    [sym_prefix_expression] = STATE(1452),
    [sym_as_expression] = STATE(1452),
    [sym_selector_expression] = STATE(1452),
    [sym__binary_expression] = STATE(1452),
    [sym_multiplicative_expression] = STATE(1452),
    [sym_additive_expression] = STATE(1452),
    [sym_range_expression] = STATE(1452),
    [sym_infix_expression] = STATE(1452),
    [sym_nil_coalescing_expression] = STATE(1452),
    [sym_check_expression] = STATE(1452),
    [sym_comparison_expression] = STATE(1452),
    [sym_equality_expression] = STATE(1452),
    [sym_conjunction_expression] = STATE(1452),
    [sym_disjunction_expression] = STATE(1452),
    [sym_bitwise_operation] = STATE(1452),
    [sym_custom_operator] = STATE(1097),
    [sym_try_expression] = STATE(1452),
    [sym_await_expression] = STATE(1452),
    [sym__await_operator] = STATE(575),
    [sym_ternary_expression] = STATE(1452),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(2637),
    [sym_expr_hack_at_ternary_binary_call] = STATE(2637),
    [sym_call_expression] = STATE(1452),
    [sym_macro_invocation] = STATE(1452),
    [sym__primary_expression] = STATE(1452),
    [sym_tuple_expression] = STATE(1452),
    [sym_array_literal] = STATE(1452),
    [sym_dictionary_literal] = STATE(1452),
    [sym_special_literal] = STATE(1452),
    [sym_playground_literal] = STATE(1452),
    [sym_lambda_literal] = STATE(1452),
    [sym_self_expression] = STATE(1452),
    [sym_super_expression] = STATE(1452),
    [sym_if_statement] = STATE(1452),
    [sym_switch_statement] = STATE(1452),
    [sym_key_path_expression] = STATE(1452),
    [sym_key_path_string_expression] = STATE(1452),
    [sym_try_operator] = STATE(648),
    [sym__assignment_and_operator] = STATE(1452),
    [sym__equality_operator] = STATE(1452),
    [sym__comparison_operator] = STATE(1452),
    [sym__three_dot_operator] = STATE(1089),
    [sym__open_ended_range_operator] = STATE(576),
    [sym__additive_operator] = STATE(1452),
    [sym__multiplicative_operator] = STATE(1452),
    [sym__prefix_unary_operator] = STATE(711),
    [sym_directly_assignable_expression] = STATE(6442),
    [sym_assignment] = STATE(1452),
    [sym_value_parameter_pack] = STATE(1452),
    [sym_value_pack_expansion] = STATE(1452),
    [sym__referenceable_operator] = STATE(1452),
    [sym__equal_sign] = STATE(1452),
    [sym__eq_eq] = STATE(1452),
    [sym__dot] = STATE(711),
    [sym__hash_symbol] = STATE(4850),
    [sym_bang] = STATE(1097),
    [sym__parameter_ownership_modifier] = STATE(2240),
    [sym_directive] = STATE(1452),
    [sym_diagnostic] = STATE(1452),
    [aux_sym_raw_string_literal_repeat1] = STATE(7884),
    [anon_sym_BANG] = ACTIONS(969),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(971),
    [aux_sym_simple_identifier_token2] = ACTIONS(973),
    [aux_sym_simple_identifier_token3] = ACTIONS(973),
    [aux_sym_simple_identifier_token4] = ACTIONS(973),
    [anon_sym_actor] = ACTIONS(971),
    [anon_sym_async] = ACTIONS(971),
    [anon_sym_each] = ACTIONS(975),
    [anon_sym_lazy] = ACTIONS(971),
    [anon_sym_repeat] = ACTIONS(977),
    [anon_sym_package] = ACTIONS(971),
    [anon_sym_nil] = ACTIONS(1818),
    [sym_real_literal] = ACTIONS(1820),
    [sym_integer_literal] = ACTIONS(1818),
    [sym_hex_literal] = ACTIONS(1818),
    [sym_oct_literal] = ACTIONS(1820),
    [sym_bin_literal] = ACTIONS(1820),
    [anon_sym_true] = ACTIONS(983),
    [anon_sym_false] = ACTIONS(983),
    [anon_sym_DQUOTE] = ACTIONS(985),
    [anon_sym_BSLASH] = ACTIONS(987),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(989),
    [sym__oneline_regex_literal] = ACTIONS(991),
    [anon_sym_LPAREN] = ACTIONS(993),
    [anon_sym_LBRACK] = ACTIONS(995),
    [anon_sym_AMP] = ACTIONS(997),
    [anon_sym_TILDE] = ACTIONS(997),
    [anon_sym_if] = ACTIONS(999),
    [anon_sym_switch] = ACTIONS(1001),
    [aux_sym_custom_operator_token1] = ACTIONS(1003),
    [anon_sym_LT] = ACTIONS(1818),
    [anon_sym_GT] = ACTIONS(1818),
    [anon_sym_await] = ACTIONS(1005),
    [anon_sym_LBRACE] = ACTIONS(1007),
    [anon_sym_CARET_LBRACE] = ACTIONS(1007),
    [anon_sym_self] = ACTIONS(1009),
    [anon_sym_super] = ACTIONS(1011),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1820),
    [anon_sym_DASH_EQ] = ACTIONS(1820),
    [anon_sym_STAR_EQ] = ACTIONS(1820),
    [anon_sym_SLASH_EQ] = ACTIONS(1820),
    [anon_sym_PERCENT_EQ] = ACTIONS(1820),
    [anon_sym_BANG_EQ] = ACTIONS(1818),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1820),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1820),
    [anon_sym_LT_EQ] = ACTIONS(1820),
    [anon_sym_GT_EQ] = ACTIONS(1820),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1013),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1015),
    [anon_sym_PLUS] = ACTIONS(1017),
    [anon_sym_DASH] = ACTIONS(1017),
    [anon_sym_STAR] = ACTIONS(1818),
    [anon_sym_SLASH] = ACTIONS(1818),
    [anon_sym_PERCENT] = ACTIONS(1818),
    [anon_sym_PLUS_PLUS] = ACTIONS(997),
    [anon_sym_DASH_DASH] = ACTIONS(997),
    [anon_sym_PIPE] = ACTIONS(1820),
    [anon_sym_CARET] = ACTIONS(1818),
    [anon_sym_LT_LT] = ACTIONS(1820),
    [anon_sym_GT_GT] = ACTIONS(1820),
    [anon_sym_borrowing] = ACTIONS(971),
    [anon_sym_consuming] = ACTIONS(971),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1019),
    [sym__dot_custom] = ACTIONS(1021),
    [sym__eq_custom] = ACTIONS(1820),
    [sym__eq_eq_custom] = ACTIONS(1820),
    [sym__plus_then_ws] = ACTIONS(1820),
    [sym__minus_then_ws] = ACTIONS(1820),
    [sym__bang_custom] = ACTIONS(1023),
    [sym__custom_operator] = ACTIONS(1003),
    [sym__hash_symbol_custom] = ACTIONS(1025),
    [sym__directive_if] = ACTIONS(1027),
    [sym__directive_elseif] = ACTIONS(1027),
    [sym__directive_else] = ACTIONS(1029),
    [sym__directive_endif] = ACTIONS(1029),
  },
  [501] = {
    [sym_simple_identifier] = STATE(2331),
    [sym__contextual_simple_identifier] = STATE(2240),
    [sym__basic_literal] = STATE(1452),
    [sym_boolean_literal] = STATE(1452),
    [sym__string_literal] = STATE(1452),
    [sym_line_string_literal] = STATE(1452),
    [sym_multi_line_string_literal] = STATE(1452),
    [sym_raw_string_literal] = STATE(1452),
    [sym_regex_literal] = STATE(1452),
    [sym__extended_regex_literal] = STATE(2556),
    [sym__multiline_regex_literal] = STATE(2556),
    [sym_user_type] = STATE(6440),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6440),
    [sym_dictionary_type] = STATE(6440),
    [sym__expression] = STATE(1452),
    [sym__unary_expression] = STATE(1452),
    [sym_postfix_expression] = STATE(1452),
    [sym_constructor_expression] = STATE(1452),
    [sym__parenthesized_type] = STATE(7995),
    [sym_navigation_expression] = STATE(1452),
    [sym__navigable_type_expression] = STATE(8059),
    [sym_open_start_range_expression] = STATE(1452),
    [sym__range_operator] = STATE(576),
    [sym_open_end_range_expression] = STATE(1452),
    [sym_prefix_expression] = STATE(1452),
    [sym_as_expression] = STATE(1452),
    [sym_selector_expression] = STATE(1452),
    [sym__binary_expression] = STATE(1452),
    [sym_multiplicative_expression] = STATE(1452),
    [sym_additive_expression] = STATE(1452),
    [sym_range_expression] = STATE(1452),
    [sym_infix_expression] = STATE(1452),
    [sym_nil_coalescing_expression] = STATE(1452),
    [sym_check_expression] = STATE(1452),
    [sym_comparison_expression] = STATE(1452),
    [sym_equality_expression] = STATE(1452),
    [sym_conjunction_expression] = STATE(1452),
    [sym_disjunction_expression] = STATE(1452),
    [sym_bitwise_operation] = STATE(1452),
    [sym_custom_operator] = STATE(1097),
    [sym_try_expression] = STATE(1452),
    [sym_await_expression] = STATE(1452),
    [sym__await_operator] = STATE(575),
    [sym_ternary_expression] = STATE(1452),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(2635),
    [sym_expr_hack_at_ternary_binary_call] = STATE(2635),
    [sym_call_expression] = STATE(1452),
    [sym_macro_invocation] = STATE(1452),
    [sym__primary_expression] = STATE(1452),
    [sym_tuple_expression] = STATE(1452),
    [sym_array_literal] = STATE(1452),
    [sym_dictionary_literal] = STATE(1452),
    [sym_special_literal] = STATE(1452),
    [sym_playground_literal] = STATE(1452),
    [sym_lambda_literal] = STATE(1452),
    [sym_self_expression] = STATE(1452),
    [sym_super_expression] = STATE(1452),
    [sym_if_statement] = STATE(1452),
    [sym_switch_statement] = STATE(1452),
    [sym_key_path_expression] = STATE(1452),
    [sym_key_path_string_expression] = STATE(1452),
    [sym_try_operator] = STATE(648),
    [sym__assignment_and_operator] = STATE(1452),
    [sym__equality_operator] = STATE(1452),
    [sym__comparison_operator] = STATE(1452),
    [sym__three_dot_operator] = STATE(1089),
    [sym__open_ended_range_operator] = STATE(576),
    [sym__additive_operator] = STATE(1452),
    [sym__multiplicative_operator] = STATE(1452),
    [sym__prefix_unary_operator] = STATE(711),
    [sym_directly_assignable_expression] = STATE(6442),
    [sym_assignment] = STATE(1452),
    [sym_value_parameter_pack] = STATE(1452),
    [sym_value_pack_expansion] = STATE(1452),
    [sym__referenceable_operator] = STATE(1452),
    [sym__equal_sign] = STATE(1452),
    [sym__eq_eq] = STATE(1452),
    [sym__dot] = STATE(711),
    [sym__hash_symbol] = STATE(4850),
    [sym_bang] = STATE(1097),
    [sym__parameter_ownership_modifier] = STATE(2240),
    [sym_directive] = STATE(1452),
    [sym_diagnostic] = STATE(1452),
    [aux_sym_raw_string_literal_repeat1] = STATE(7884),
    [anon_sym_BANG] = ACTIONS(969),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(971),
    [aux_sym_simple_identifier_token2] = ACTIONS(973),
    [aux_sym_simple_identifier_token3] = ACTIONS(973),
    [aux_sym_simple_identifier_token4] = ACTIONS(973),
    [anon_sym_actor] = ACTIONS(971),
    [anon_sym_async] = ACTIONS(971),
    [anon_sym_each] = ACTIONS(975),
    [anon_sym_lazy] = ACTIONS(971),
    [anon_sym_repeat] = ACTIONS(977),
    [anon_sym_package] = ACTIONS(971),
    [anon_sym_nil] = ACTIONS(1818),
    [sym_real_literal] = ACTIONS(1820),
    [sym_integer_literal] = ACTIONS(1818),
    [sym_hex_literal] = ACTIONS(1818),
    [sym_oct_literal] = ACTIONS(1820),
    [sym_bin_literal] = ACTIONS(1820),
    [anon_sym_true] = ACTIONS(983),
    [anon_sym_false] = ACTIONS(983),
    [anon_sym_DQUOTE] = ACTIONS(985),
    [anon_sym_BSLASH] = ACTIONS(987),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(989),
    [sym__oneline_regex_literal] = ACTIONS(991),
    [anon_sym_LPAREN] = ACTIONS(993),
    [anon_sym_LBRACK] = ACTIONS(995),
    [anon_sym_AMP] = ACTIONS(997),
    [anon_sym_TILDE] = ACTIONS(997),
    [anon_sym_if] = ACTIONS(999),
    [anon_sym_switch] = ACTIONS(1001),
    [aux_sym_custom_operator_token1] = ACTIONS(1003),
    [anon_sym_LT] = ACTIONS(1818),
    [anon_sym_GT] = ACTIONS(1818),
    [anon_sym_await] = ACTIONS(1005),
    [anon_sym_LBRACE] = ACTIONS(1007),
    [anon_sym_CARET_LBRACE] = ACTIONS(1007),
    [anon_sym_self] = ACTIONS(1009),
    [anon_sym_super] = ACTIONS(1011),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1820),
    [anon_sym_DASH_EQ] = ACTIONS(1820),
    [anon_sym_STAR_EQ] = ACTIONS(1820),
    [anon_sym_SLASH_EQ] = ACTIONS(1820),
    [anon_sym_PERCENT_EQ] = ACTIONS(1820),
    [anon_sym_BANG_EQ] = ACTIONS(1818),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1820),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1820),
    [anon_sym_LT_EQ] = ACTIONS(1820),
    [anon_sym_GT_EQ] = ACTIONS(1820),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1013),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1015),
    [anon_sym_PLUS] = ACTIONS(1017),
    [anon_sym_DASH] = ACTIONS(1017),
    [anon_sym_STAR] = ACTIONS(1818),
    [anon_sym_SLASH] = ACTIONS(1818),
    [anon_sym_PERCENT] = ACTIONS(1818),
    [anon_sym_PLUS_PLUS] = ACTIONS(997),
    [anon_sym_DASH_DASH] = ACTIONS(997),
    [anon_sym_PIPE] = ACTIONS(1820),
    [anon_sym_CARET] = ACTIONS(1818),
    [anon_sym_LT_LT] = ACTIONS(1820),
    [anon_sym_GT_GT] = ACTIONS(1820),
    [anon_sym_borrowing] = ACTIONS(971),
    [anon_sym_consuming] = ACTIONS(971),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1019),
    [sym__dot_custom] = ACTIONS(1021),
    [sym__eq_custom] = ACTIONS(1820),
    [sym__eq_eq_custom] = ACTIONS(1820),
    [sym__plus_then_ws] = ACTIONS(1820),
    [sym__minus_then_ws] = ACTIONS(1820),
    [sym__bang_custom] = ACTIONS(1023),
    [sym__custom_operator] = ACTIONS(1003),
    [sym__hash_symbol_custom] = ACTIONS(1025),
    [sym__directive_if] = ACTIONS(1027),
    [sym__directive_elseif] = ACTIONS(1027),
    [sym__directive_else] = ACTIONS(1029),
    [sym__directive_endif] = ACTIONS(1029),
  },
  [502] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1632),
    [sym_boolean_literal] = STATE(1632),
    [sym__string_literal] = STATE(1632),
    [sym_line_string_literal] = STATE(1632),
    [sym_multi_line_string_literal] = STATE(1632),
    [sym_raw_string_literal] = STATE(1632),
    [sym_regex_literal] = STATE(1632),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1632),
    [sym__unary_expression] = STATE(1632),
    [sym_postfix_expression] = STATE(1632),
    [sym_constructor_expression] = STATE(1632),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1632),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1632),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1632),
    [sym_prefix_expression] = STATE(1632),
    [sym_as_expression] = STATE(1632),
    [sym_selector_expression] = STATE(1632),
    [sym__binary_expression] = STATE(1632),
    [sym_multiplicative_expression] = STATE(1632),
    [sym_additive_expression] = STATE(1632),
    [sym_range_expression] = STATE(1632),
    [sym_infix_expression] = STATE(1632),
    [sym_nil_coalescing_expression] = STATE(1632),
    [sym_check_expression] = STATE(1632),
    [sym_comparison_expression] = STATE(1632),
    [sym_equality_expression] = STATE(1632),
    [sym_conjunction_expression] = STATE(1632),
    [sym_disjunction_expression] = STATE(1632),
    [sym_bitwise_operation] = STATE(1632),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1632),
    [sym_await_expression] = STATE(1632),
    [sym__await_operator] = STATE(728),
    [sym_ternary_expression] = STATE(1632),
    [sym_call_expression] = STATE(1632),
    [sym_macro_invocation] = STATE(1632),
    [sym__primary_expression] = STATE(1632),
    [sym_tuple_expression] = STATE(1632),
    [sym_array_literal] = STATE(1632),
    [sym_dictionary_literal] = STATE(1632),
    [sym_special_literal] = STATE(1632),
    [sym_playground_literal] = STATE(1632),
    [sym_lambda_literal] = STATE(1632),
    [sym_self_expression] = STATE(1632),
    [sym_super_expression] = STATE(1632),
    [sym_if_statement] = STATE(1632),
    [sym_switch_statement] = STATE(1632),
    [sym_key_path_expression] = STATE(1632),
    [sym_key_path_string_expression] = STATE(1632),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1632),
    [sym__equality_operator] = STATE(1632),
    [sym__comparison_operator] = STATE(1632),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1632),
    [sym__multiplicative_operator] = STATE(1632),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym__for_statement_collection] = STATE(7310),
    [sym_for_statement_await] = STATE(7310),
    [sym_assignment] = STATE(1632),
    [sym_value_parameter_pack] = STATE(1632),
    [sym_value_pack_expansion] = STATE(1632),
    [sym__referenceable_operator] = STATE(1632),
    [sym__equal_sign] = STATE(1632),
    [sym__eq_eq] = STATE(1632),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1632),
    [sym_diagnostic] = STATE(1632),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(1764),
    [sym_real_literal] = ACTIONS(1766),
    [sym_integer_literal] = ACTIONS(1764),
    [sym_hex_literal] = ACTIONS(1764),
    [sym_oct_literal] = ACTIONS(1766),
    [sym_bin_literal] = ACTIONS(1766),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(1764),
    [anon_sym_GT] = ACTIONS(1764),
    [anon_sym_await] = ACTIONS(1768),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1766),
    [anon_sym_DASH_EQ] = ACTIONS(1766),
    [anon_sym_STAR_EQ] = ACTIONS(1766),
    [anon_sym_SLASH_EQ] = ACTIONS(1766),
    [anon_sym_PERCENT_EQ] = ACTIONS(1766),
    [anon_sym_BANG_EQ] = ACTIONS(1764),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1766),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1766),
    [anon_sym_LT_EQ] = ACTIONS(1766),
    [anon_sym_GT_EQ] = ACTIONS(1766),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(1764),
    [anon_sym_SLASH] = ACTIONS(1764),
    [anon_sym_PERCENT] = ACTIONS(1764),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(1766),
    [anon_sym_CARET] = ACTIONS(1764),
    [anon_sym_LT_LT] = ACTIONS(1766),
    [anon_sym_GT_GT] = ACTIONS(1766),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(1766),
    [sym__eq_eq_custom] = ACTIONS(1766),
    [sym__plus_then_ws] = ACTIONS(1766),
    [sym__minus_then_ws] = ACTIONS(1766),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [503] = {
    [sym_simple_identifier] = STATE(2331),
    [sym__contextual_simple_identifier] = STATE(2240),
    [sym__basic_literal] = STATE(1452),
    [sym_boolean_literal] = STATE(1452),
    [sym__string_literal] = STATE(1452),
    [sym_line_string_literal] = STATE(1452),
    [sym_multi_line_string_literal] = STATE(1452),
    [sym_raw_string_literal] = STATE(1452),
    [sym_regex_literal] = STATE(1452),
    [sym__extended_regex_literal] = STATE(2556),
    [sym__multiline_regex_literal] = STATE(2556),
    [sym_user_type] = STATE(6440),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6440),
    [sym_dictionary_type] = STATE(6440),
    [sym__expression] = STATE(1452),
    [sym__unary_expression] = STATE(1452),
    [sym_postfix_expression] = STATE(1452),
    [sym_constructor_expression] = STATE(1452),
    [sym__parenthesized_type] = STATE(7995),
    [sym_navigation_expression] = STATE(1452),
    [sym__navigable_type_expression] = STATE(8059),
    [sym_open_start_range_expression] = STATE(1452),
    [sym__range_operator] = STATE(576),
    [sym_open_end_range_expression] = STATE(1452),
    [sym_prefix_expression] = STATE(1452),
    [sym_as_expression] = STATE(1452),
    [sym_selector_expression] = STATE(1452),
    [sym__binary_expression] = STATE(1452),
    [sym_multiplicative_expression] = STATE(1452),
    [sym_additive_expression] = STATE(1452),
    [sym_range_expression] = STATE(1452),
    [sym_infix_expression] = STATE(1452),
    [sym_nil_coalescing_expression] = STATE(1452),
    [sym_check_expression] = STATE(1452),
    [sym_comparison_expression] = STATE(1452),
    [sym_equality_expression] = STATE(1452),
    [sym_conjunction_expression] = STATE(1452),
    [sym_disjunction_expression] = STATE(1452),
    [sym_bitwise_operation] = STATE(1452),
    [sym_custom_operator] = STATE(1097),
    [sym_try_expression] = STATE(1452),
    [sym_await_expression] = STATE(1452),
    [sym__await_operator] = STATE(575),
    [sym_ternary_expression] = STATE(1452),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(2632),
    [sym_expr_hack_at_ternary_binary_call] = STATE(2632),
    [sym_call_expression] = STATE(1452),
    [sym_macro_invocation] = STATE(1452),
    [sym__primary_expression] = STATE(1452),
    [sym_tuple_expression] = STATE(1452),
    [sym_array_literal] = STATE(1452),
    [sym_dictionary_literal] = STATE(1452),
    [sym_special_literal] = STATE(1452),
    [sym_playground_literal] = STATE(1452),
    [sym_lambda_literal] = STATE(1452),
    [sym_self_expression] = STATE(1452),
    [sym_super_expression] = STATE(1452),
    [sym_if_statement] = STATE(1452),
    [sym_switch_statement] = STATE(1452),
    [sym_key_path_expression] = STATE(1452),
    [sym_key_path_string_expression] = STATE(1452),
    [sym_try_operator] = STATE(648),
    [sym__assignment_and_operator] = STATE(1452),
    [sym__equality_operator] = STATE(1452),
    [sym__comparison_operator] = STATE(1452),
    [sym__three_dot_operator] = STATE(1089),
    [sym__open_ended_range_operator] = STATE(576),
    [sym__additive_operator] = STATE(1452),
    [sym__multiplicative_operator] = STATE(1452),
    [sym__prefix_unary_operator] = STATE(711),
    [sym_directly_assignable_expression] = STATE(6442),
    [sym_assignment] = STATE(1452),
    [sym_value_parameter_pack] = STATE(1452),
    [sym_value_pack_expansion] = STATE(1452),
    [sym__referenceable_operator] = STATE(1452),
    [sym__equal_sign] = STATE(1452),
    [sym__eq_eq] = STATE(1452),
    [sym__dot] = STATE(711),
    [sym__hash_symbol] = STATE(4850),
    [sym_bang] = STATE(1097),
    [sym__parameter_ownership_modifier] = STATE(2240),
    [sym_directive] = STATE(1452),
    [sym_diagnostic] = STATE(1452),
    [aux_sym_raw_string_literal_repeat1] = STATE(7884),
    [anon_sym_BANG] = ACTIONS(969),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(971),
    [aux_sym_simple_identifier_token2] = ACTIONS(973),
    [aux_sym_simple_identifier_token3] = ACTIONS(973),
    [aux_sym_simple_identifier_token4] = ACTIONS(973),
    [anon_sym_actor] = ACTIONS(971),
    [anon_sym_async] = ACTIONS(971),
    [anon_sym_each] = ACTIONS(975),
    [anon_sym_lazy] = ACTIONS(971),
    [anon_sym_repeat] = ACTIONS(977),
    [anon_sym_package] = ACTIONS(971),
    [anon_sym_nil] = ACTIONS(1818),
    [sym_real_literal] = ACTIONS(1820),
    [sym_integer_literal] = ACTIONS(1818),
    [sym_hex_literal] = ACTIONS(1818),
    [sym_oct_literal] = ACTIONS(1820),
    [sym_bin_literal] = ACTIONS(1820),
    [anon_sym_true] = ACTIONS(983),
    [anon_sym_false] = ACTIONS(983),
    [anon_sym_DQUOTE] = ACTIONS(985),
    [anon_sym_BSLASH] = ACTIONS(987),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(989),
    [sym__oneline_regex_literal] = ACTIONS(991),
    [anon_sym_LPAREN] = ACTIONS(993),
    [anon_sym_LBRACK] = ACTIONS(995),
    [anon_sym_AMP] = ACTIONS(997),
    [anon_sym_TILDE] = ACTIONS(997),
    [anon_sym_if] = ACTIONS(999),
    [anon_sym_switch] = ACTIONS(1001),
    [aux_sym_custom_operator_token1] = ACTIONS(1003),
    [anon_sym_LT] = ACTIONS(1818),
    [anon_sym_GT] = ACTIONS(1818),
    [anon_sym_await] = ACTIONS(1005),
    [anon_sym_LBRACE] = ACTIONS(1007),
    [anon_sym_CARET_LBRACE] = ACTIONS(1007),
    [anon_sym_self] = ACTIONS(1009),
    [anon_sym_super] = ACTIONS(1011),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1820),
    [anon_sym_DASH_EQ] = ACTIONS(1820),
    [anon_sym_STAR_EQ] = ACTIONS(1820),
    [anon_sym_SLASH_EQ] = ACTIONS(1820),
    [anon_sym_PERCENT_EQ] = ACTIONS(1820),
    [anon_sym_BANG_EQ] = ACTIONS(1818),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1820),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1820),
    [anon_sym_LT_EQ] = ACTIONS(1820),
    [anon_sym_GT_EQ] = ACTIONS(1820),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1013),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1015),
    [anon_sym_PLUS] = ACTIONS(1017),
    [anon_sym_DASH] = ACTIONS(1017),
    [anon_sym_STAR] = ACTIONS(1818),
    [anon_sym_SLASH] = ACTIONS(1818),
    [anon_sym_PERCENT] = ACTIONS(1818),
    [anon_sym_PLUS_PLUS] = ACTIONS(997),
    [anon_sym_DASH_DASH] = ACTIONS(997),
    [anon_sym_PIPE] = ACTIONS(1820),
    [anon_sym_CARET] = ACTIONS(1818),
    [anon_sym_LT_LT] = ACTIONS(1820),
    [anon_sym_GT_GT] = ACTIONS(1820),
    [anon_sym_borrowing] = ACTIONS(971),
    [anon_sym_consuming] = ACTIONS(971),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1019),
    [sym__dot_custom] = ACTIONS(1021),
    [sym__eq_custom] = ACTIONS(1820),
    [sym__eq_eq_custom] = ACTIONS(1820),
    [sym__plus_then_ws] = ACTIONS(1820),
    [sym__minus_then_ws] = ACTIONS(1820),
    [sym__bang_custom] = ACTIONS(1023),
    [sym__custom_operator] = ACTIONS(1003),
    [sym__hash_symbol_custom] = ACTIONS(1025),
    [sym__directive_if] = ACTIONS(1027),
    [sym__directive_elseif] = ACTIONS(1027),
    [sym__directive_else] = ACTIONS(1029),
    [sym__directive_endif] = ACTIONS(1029),
  },
  [504] = {
    [sym_simple_identifier] = STATE(2331),
    [sym__contextual_simple_identifier] = STATE(2240),
    [sym__basic_literal] = STATE(1452),
    [sym_boolean_literal] = STATE(1452),
    [sym__string_literal] = STATE(1452),
    [sym_line_string_literal] = STATE(1452),
    [sym_multi_line_string_literal] = STATE(1452),
    [sym_raw_string_literal] = STATE(1452),
    [sym_regex_literal] = STATE(1452),
    [sym__extended_regex_literal] = STATE(2556),
    [sym__multiline_regex_literal] = STATE(2556),
    [sym_user_type] = STATE(6440),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6440),
    [sym_dictionary_type] = STATE(6440),
    [sym__expression] = STATE(1452),
    [sym__unary_expression] = STATE(1452),
    [sym_postfix_expression] = STATE(1452),
    [sym_constructor_expression] = STATE(1452),
    [sym__parenthesized_type] = STATE(7995),
    [sym_navigation_expression] = STATE(1452),
    [sym__navigable_type_expression] = STATE(8059),
    [sym_open_start_range_expression] = STATE(1452),
    [sym__range_operator] = STATE(576),
    [sym_open_end_range_expression] = STATE(1452),
    [sym_prefix_expression] = STATE(1452),
    [sym_as_expression] = STATE(1452),
    [sym_selector_expression] = STATE(1452),
    [sym__binary_expression] = STATE(1452),
    [sym_multiplicative_expression] = STATE(1452),
    [sym_additive_expression] = STATE(1452),
    [sym_range_expression] = STATE(1452),
    [sym_infix_expression] = STATE(1452),
    [sym_nil_coalescing_expression] = STATE(1452),
    [sym_check_expression] = STATE(1452),
    [sym_comparison_expression] = STATE(1452),
    [sym_equality_expression] = STATE(1452),
    [sym_conjunction_expression] = STATE(1452),
    [sym_disjunction_expression] = STATE(1452),
    [sym_bitwise_operation] = STATE(1452),
    [sym_custom_operator] = STATE(1097),
    [sym_try_expression] = STATE(1452),
    [sym_await_expression] = STATE(1452),
    [sym__await_operator] = STATE(575),
    [sym_ternary_expression] = STATE(1452),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(2622),
    [sym_expr_hack_at_ternary_binary_call] = STATE(2622),
    [sym_call_expression] = STATE(1452),
    [sym_macro_invocation] = STATE(1452),
    [sym__primary_expression] = STATE(1452),
    [sym_tuple_expression] = STATE(1452),
    [sym_array_literal] = STATE(1452),
    [sym_dictionary_literal] = STATE(1452),
    [sym_special_literal] = STATE(1452),
    [sym_playground_literal] = STATE(1452),
    [sym_lambda_literal] = STATE(1452),
    [sym_self_expression] = STATE(1452),
    [sym_super_expression] = STATE(1452),
    [sym_if_statement] = STATE(1452),
    [sym_switch_statement] = STATE(1452),
    [sym_key_path_expression] = STATE(1452),
    [sym_key_path_string_expression] = STATE(1452),
    [sym_try_operator] = STATE(648),
    [sym__assignment_and_operator] = STATE(1452),
    [sym__equality_operator] = STATE(1452),
    [sym__comparison_operator] = STATE(1452),
    [sym__three_dot_operator] = STATE(1089),
    [sym__open_ended_range_operator] = STATE(576),
    [sym__additive_operator] = STATE(1452),
    [sym__multiplicative_operator] = STATE(1452),
    [sym__prefix_unary_operator] = STATE(711),
    [sym_directly_assignable_expression] = STATE(6442),
    [sym_assignment] = STATE(1452),
    [sym_value_parameter_pack] = STATE(1452),
    [sym_value_pack_expansion] = STATE(1452),
    [sym__referenceable_operator] = STATE(1452),
    [sym__equal_sign] = STATE(1452),
    [sym__eq_eq] = STATE(1452),
    [sym__dot] = STATE(711),
    [sym__hash_symbol] = STATE(4850),
    [sym_bang] = STATE(1097),
    [sym__parameter_ownership_modifier] = STATE(2240),
    [sym_directive] = STATE(1452),
    [sym_diagnostic] = STATE(1452),
    [aux_sym_raw_string_literal_repeat1] = STATE(7884),
    [anon_sym_BANG] = ACTIONS(969),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(971),
    [aux_sym_simple_identifier_token2] = ACTIONS(973),
    [aux_sym_simple_identifier_token3] = ACTIONS(973),
    [aux_sym_simple_identifier_token4] = ACTIONS(973),
    [anon_sym_actor] = ACTIONS(971),
    [anon_sym_async] = ACTIONS(971),
    [anon_sym_each] = ACTIONS(975),
    [anon_sym_lazy] = ACTIONS(971),
    [anon_sym_repeat] = ACTIONS(977),
    [anon_sym_package] = ACTIONS(971),
    [anon_sym_nil] = ACTIONS(1818),
    [sym_real_literal] = ACTIONS(1820),
    [sym_integer_literal] = ACTIONS(1818),
    [sym_hex_literal] = ACTIONS(1818),
    [sym_oct_literal] = ACTIONS(1820),
    [sym_bin_literal] = ACTIONS(1820),
    [anon_sym_true] = ACTIONS(983),
    [anon_sym_false] = ACTIONS(983),
    [anon_sym_DQUOTE] = ACTIONS(985),
    [anon_sym_BSLASH] = ACTIONS(987),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(989),
    [sym__oneline_regex_literal] = ACTIONS(991),
    [anon_sym_LPAREN] = ACTIONS(993),
    [anon_sym_LBRACK] = ACTIONS(995),
    [anon_sym_AMP] = ACTIONS(997),
    [anon_sym_TILDE] = ACTIONS(997),
    [anon_sym_if] = ACTIONS(999),
    [anon_sym_switch] = ACTIONS(1001),
    [aux_sym_custom_operator_token1] = ACTIONS(1003),
    [anon_sym_LT] = ACTIONS(1818),
    [anon_sym_GT] = ACTIONS(1818),
    [anon_sym_await] = ACTIONS(1005),
    [anon_sym_LBRACE] = ACTIONS(1007),
    [anon_sym_CARET_LBRACE] = ACTIONS(1007),
    [anon_sym_self] = ACTIONS(1009),
    [anon_sym_super] = ACTIONS(1011),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1820),
    [anon_sym_DASH_EQ] = ACTIONS(1820),
    [anon_sym_STAR_EQ] = ACTIONS(1820),
    [anon_sym_SLASH_EQ] = ACTIONS(1820),
    [anon_sym_PERCENT_EQ] = ACTIONS(1820),
    [anon_sym_BANG_EQ] = ACTIONS(1818),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1820),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1820),
    [anon_sym_LT_EQ] = ACTIONS(1820),
    [anon_sym_GT_EQ] = ACTIONS(1820),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1013),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1015),
    [anon_sym_PLUS] = ACTIONS(1017),
    [anon_sym_DASH] = ACTIONS(1017),
    [anon_sym_STAR] = ACTIONS(1818),
    [anon_sym_SLASH] = ACTIONS(1818),
    [anon_sym_PERCENT] = ACTIONS(1818),
    [anon_sym_PLUS_PLUS] = ACTIONS(997),
    [anon_sym_DASH_DASH] = ACTIONS(997),
    [anon_sym_PIPE] = ACTIONS(1820),
    [anon_sym_CARET] = ACTIONS(1818),
    [anon_sym_LT_LT] = ACTIONS(1820),
    [anon_sym_GT_GT] = ACTIONS(1820),
    [anon_sym_borrowing] = ACTIONS(971),
    [anon_sym_consuming] = ACTIONS(971),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1019),
    [sym__dot_custom] = ACTIONS(1021),
    [sym__eq_custom] = ACTIONS(1820),
    [sym__eq_eq_custom] = ACTIONS(1820),
    [sym__plus_then_ws] = ACTIONS(1820),
    [sym__minus_then_ws] = ACTIONS(1820),
    [sym__bang_custom] = ACTIONS(1023),
    [sym__custom_operator] = ACTIONS(1003),
    [sym__hash_symbol_custom] = ACTIONS(1025),
    [sym__directive_if] = ACTIONS(1027),
    [sym__directive_elseif] = ACTIONS(1027),
    [sym__directive_else] = ACTIONS(1029),
    [sym__directive_endif] = ACTIONS(1029),
  },
  [505] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(783),
    [sym_boolean_literal] = STATE(783),
    [sym__string_literal] = STATE(783),
    [sym_line_string_literal] = STATE(783),
    [sym_multi_line_string_literal] = STATE(783),
    [sym_raw_string_literal] = STATE(783),
    [sym_regex_literal] = STATE(783),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(783),
    [sym__unary_expression] = STATE(783),
    [sym_postfix_expression] = STATE(783),
    [sym_constructor_expression] = STATE(783),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(783),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(783),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(783),
    [sym_prefix_expression] = STATE(783),
    [sym_as_expression] = STATE(783),
    [sym_selector_expression] = STATE(783),
    [sym__binary_expression] = STATE(783),
    [sym_multiplicative_expression] = STATE(783),
    [sym_additive_expression] = STATE(783),
    [sym_range_expression] = STATE(783),
    [sym_infix_expression] = STATE(783),
    [sym_nil_coalescing_expression] = STATE(783),
    [sym_check_expression] = STATE(783),
    [sym_comparison_expression] = STATE(783),
    [sym_equality_expression] = STATE(783),
    [sym_conjunction_expression] = STATE(783),
    [sym_disjunction_expression] = STATE(783),
    [sym_bitwise_operation] = STATE(783),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(783),
    [sym_await_expression] = STATE(783),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(783),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(1421),
    [sym_expr_hack_at_ternary_binary_call] = STATE(1421),
    [sym_call_expression] = STATE(783),
    [sym_macro_invocation] = STATE(783),
    [sym__primary_expression] = STATE(783),
    [sym_tuple_expression] = STATE(783),
    [sym_array_literal] = STATE(783),
    [sym_dictionary_literal] = STATE(783),
    [sym_special_literal] = STATE(783),
    [sym_playground_literal] = STATE(783),
    [sym_lambda_literal] = STATE(783),
    [sym_self_expression] = STATE(783),
    [sym_super_expression] = STATE(783),
    [sym_if_statement] = STATE(783),
    [sym_switch_statement] = STATE(783),
    [sym_key_path_expression] = STATE(783),
    [sym_key_path_string_expression] = STATE(783),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(783),
    [sym__equality_operator] = STATE(783),
    [sym__comparison_operator] = STATE(783),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(783),
    [sym__multiplicative_operator] = STATE(783),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_assignment] = STATE(783),
    [sym_value_parameter_pack] = STATE(783),
    [sym_value_pack_expansion] = STATE(783),
    [sym__referenceable_operator] = STATE(783),
    [sym__equal_sign] = STATE(783),
    [sym__eq_eq] = STATE(783),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(783),
    [sym_diagnostic] = STATE(783),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(289),
    [anon_sym_async] = ACTIONS(289),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(289),
    [anon_sym_repeat] = ACTIONS(733),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(1782),
    [sym_real_literal] = ACTIONS(1784),
    [sym_integer_literal] = ACTIONS(1782),
    [sym_hex_literal] = ACTIONS(1782),
    [sym_oct_literal] = ACTIONS(1784),
    [sym_bin_literal] = ACTIONS(1784),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(1782),
    [anon_sym_GT] = ACTIONS(1782),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1784),
    [anon_sym_DASH_EQ] = ACTIONS(1784),
    [anon_sym_STAR_EQ] = ACTIONS(1784),
    [anon_sym_SLASH_EQ] = ACTIONS(1784),
    [anon_sym_PERCENT_EQ] = ACTIONS(1784),
    [anon_sym_BANG_EQ] = ACTIONS(1782),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1784),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1784),
    [anon_sym_LT_EQ] = ACTIONS(1784),
    [anon_sym_GT_EQ] = ACTIONS(1784),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(1782),
    [anon_sym_SLASH] = ACTIONS(1782),
    [anon_sym_PERCENT] = ACTIONS(1782),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(1784),
    [anon_sym_CARET] = ACTIONS(1782),
    [anon_sym_LT_LT] = ACTIONS(1784),
    [anon_sym_GT_GT] = ACTIONS(1784),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(1784),
    [sym__eq_eq_custom] = ACTIONS(1784),
    [sym__plus_then_ws] = ACTIONS(1784),
    [sym__minus_then_ws] = ACTIONS(1784),
    [sym__bang_custom] = ACTIONS(373),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [506] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1628),
    [sym_boolean_literal] = STATE(1628),
    [sym__string_literal] = STATE(1628),
    [sym_line_string_literal] = STATE(1628),
    [sym_multi_line_string_literal] = STATE(1628),
    [sym_raw_string_literal] = STATE(1628),
    [sym_regex_literal] = STATE(1628),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1628),
    [sym__unary_expression] = STATE(1628),
    [sym_postfix_expression] = STATE(1628),
    [sym_constructor_expression] = STATE(1628),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1628),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1628),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1628),
    [sym_prefix_expression] = STATE(1628),
    [sym_as_expression] = STATE(1628),
    [sym_selector_expression] = STATE(1628),
    [sym__binary_expression] = STATE(1628),
    [sym_multiplicative_expression] = STATE(1628),
    [sym_additive_expression] = STATE(1628),
    [sym_range_expression] = STATE(1628),
    [sym_infix_expression] = STATE(1628),
    [sym_nil_coalescing_expression] = STATE(1628),
    [sym_check_expression] = STATE(1628),
    [sym_comparison_expression] = STATE(1628),
    [sym_equality_expression] = STATE(1628),
    [sym_conjunction_expression] = STATE(1628),
    [sym_disjunction_expression] = STATE(1628),
    [sym_bitwise_operation] = STATE(1628),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1628),
    [sym_await_expression] = STATE(1628),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1628),
    [sym_call_expression] = STATE(1628),
    [sym_macro_invocation] = STATE(1628),
    [sym__primary_expression] = STATE(1628),
    [sym_tuple_expression] = STATE(1628),
    [sym_array_literal] = STATE(1628),
    [sym_dictionary_literal] = STATE(1628),
    [sym_special_literal] = STATE(1628),
    [sym_playground_literal] = STATE(1628),
    [sym_lambda_literal] = STATE(1628),
    [sym_self_expression] = STATE(1628),
    [sym_super_expression] = STATE(1628),
    [sym_if_statement] = STATE(1628),
    [sym_switch_statement] = STATE(1628),
    [sym_key_path_expression] = STATE(1628),
    [sym_key_path_string_expression] = STATE(1628),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1628),
    [sym__equality_operator] = STATE(1628),
    [sym__comparison_operator] = STATE(1628),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1628),
    [sym__multiplicative_operator] = STATE(1628),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1628),
    [sym_value_parameter_pack] = STATE(1628),
    [sym_value_pack_expansion] = STATE(1628),
    [sym__referenceable_operator] = STATE(1628),
    [sym__equal_sign] = STATE(1628),
    [sym__eq_eq] = STATE(1628),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1628),
    [sym_diagnostic] = STATE(1628),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1868),
    [sym_real_literal] = ACTIONS(1870),
    [sym_integer_literal] = ACTIONS(1868),
    [sym_hex_literal] = ACTIONS(1868),
    [sym_oct_literal] = ACTIONS(1870),
    [sym_bin_literal] = ACTIONS(1870),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [anon_sym_getter_COLON] = ACTIONS(1872),
    [anon_sym_setter_COLON] = ACTIONS(1872),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1868),
    [anon_sym_GT] = ACTIONS(1868),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1870),
    [anon_sym_DASH_EQ] = ACTIONS(1870),
    [anon_sym_STAR_EQ] = ACTIONS(1870),
    [anon_sym_SLASH_EQ] = ACTIONS(1870),
    [anon_sym_PERCENT_EQ] = ACTIONS(1870),
    [anon_sym_BANG_EQ] = ACTIONS(1868),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1870),
    [anon_sym_LT_EQ] = ACTIONS(1870),
    [anon_sym_GT_EQ] = ACTIONS(1870),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1868),
    [anon_sym_SLASH] = ACTIONS(1868),
    [anon_sym_PERCENT] = ACTIONS(1868),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1870),
    [anon_sym_CARET] = ACTIONS(1868),
    [anon_sym_LT_LT] = ACTIONS(1870),
    [anon_sym_GT_GT] = ACTIONS(1870),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1870),
    [sym__eq_eq_custom] = ACTIONS(1870),
    [sym__plus_then_ws] = ACTIONS(1870),
    [sym__minus_then_ws] = ACTIONS(1870),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [507] = {
    [sym_simple_identifier] = STATE(2331),
    [sym__contextual_simple_identifier] = STATE(2240),
    [sym__basic_literal] = STATE(1452),
    [sym_boolean_literal] = STATE(1452),
    [sym__string_literal] = STATE(1452),
    [sym_line_string_literal] = STATE(1452),
    [sym_multi_line_string_literal] = STATE(1452),
    [sym_raw_string_literal] = STATE(1452),
    [sym_regex_literal] = STATE(1452),
    [sym__extended_regex_literal] = STATE(2556),
    [sym__multiline_regex_literal] = STATE(2556),
    [sym_user_type] = STATE(6440),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6440),
    [sym_dictionary_type] = STATE(6440),
    [sym__expression] = STATE(1452),
    [sym__unary_expression] = STATE(1452),
    [sym_postfix_expression] = STATE(1452),
    [sym_constructor_expression] = STATE(1452),
    [sym__parenthesized_type] = STATE(7995),
    [sym_navigation_expression] = STATE(1452),
    [sym__navigable_type_expression] = STATE(8059),
    [sym_open_start_range_expression] = STATE(1452),
    [sym__range_operator] = STATE(576),
    [sym_open_end_range_expression] = STATE(1452),
    [sym_prefix_expression] = STATE(1452),
    [sym_as_expression] = STATE(1452),
    [sym_selector_expression] = STATE(1452),
    [sym__binary_expression] = STATE(1452),
    [sym_multiplicative_expression] = STATE(1452),
    [sym_additive_expression] = STATE(1452),
    [sym_range_expression] = STATE(1452),
    [sym_infix_expression] = STATE(1452),
    [sym_nil_coalescing_expression] = STATE(1452),
    [sym_check_expression] = STATE(1452),
    [sym_comparison_expression] = STATE(1452),
    [sym_equality_expression] = STATE(1452),
    [sym_conjunction_expression] = STATE(1452),
    [sym_disjunction_expression] = STATE(1452),
    [sym_bitwise_operation] = STATE(1452),
    [sym_custom_operator] = STATE(1097),
    [sym_try_expression] = STATE(1452),
    [sym_await_expression] = STATE(1452),
    [sym__await_operator] = STATE(575),
    [sym_ternary_expression] = STATE(1452),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(2615),
    [sym_expr_hack_at_ternary_binary_call] = STATE(2615),
    [sym_call_expression] = STATE(1452),
    [sym_macro_invocation] = STATE(1452),
    [sym__primary_expression] = STATE(1452),
    [sym_tuple_expression] = STATE(1452),
    [sym_array_literal] = STATE(1452),
    [sym_dictionary_literal] = STATE(1452),
    [sym_special_literal] = STATE(1452),
    [sym_playground_literal] = STATE(1452),
    [sym_lambda_literal] = STATE(1452),
    [sym_self_expression] = STATE(1452),
    [sym_super_expression] = STATE(1452),
    [sym_if_statement] = STATE(1452),
    [sym_switch_statement] = STATE(1452),
    [sym_key_path_expression] = STATE(1452),
    [sym_key_path_string_expression] = STATE(1452),
    [sym_try_operator] = STATE(648),
    [sym__assignment_and_operator] = STATE(1452),
    [sym__equality_operator] = STATE(1452),
    [sym__comparison_operator] = STATE(1452),
    [sym__three_dot_operator] = STATE(1089),
    [sym__open_ended_range_operator] = STATE(576),
    [sym__additive_operator] = STATE(1452),
    [sym__multiplicative_operator] = STATE(1452),
    [sym__prefix_unary_operator] = STATE(711),
    [sym_directly_assignable_expression] = STATE(6442),
    [sym_assignment] = STATE(1452),
    [sym_value_parameter_pack] = STATE(1452),
    [sym_value_pack_expansion] = STATE(1452),
    [sym__referenceable_operator] = STATE(1452),
    [sym__equal_sign] = STATE(1452),
    [sym__eq_eq] = STATE(1452),
    [sym__dot] = STATE(711),
    [sym__hash_symbol] = STATE(4850),
    [sym_bang] = STATE(1097),
    [sym__parameter_ownership_modifier] = STATE(2240),
    [sym_directive] = STATE(1452),
    [sym_diagnostic] = STATE(1452),
    [aux_sym_raw_string_literal_repeat1] = STATE(7884),
    [anon_sym_BANG] = ACTIONS(969),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(971),
    [aux_sym_simple_identifier_token2] = ACTIONS(973),
    [aux_sym_simple_identifier_token3] = ACTIONS(973),
    [aux_sym_simple_identifier_token4] = ACTIONS(973),
    [anon_sym_actor] = ACTIONS(971),
    [anon_sym_async] = ACTIONS(971),
    [anon_sym_each] = ACTIONS(975),
    [anon_sym_lazy] = ACTIONS(971),
    [anon_sym_repeat] = ACTIONS(977),
    [anon_sym_package] = ACTIONS(971),
    [anon_sym_nil] = ACTIONS(1818),
    [sym_real_literal] = ACTIONS(1820),
    [sym_integer_literal] = ACTIONS(1818),
    [sym_hex_literal] = ACTIONS(1818),
    [sym_oct_literal] = ACTIONS(1820),
    [sym_bin_literal] = ACTIONS(1820),
    [anon_sym_true] = ACTIONS(983),
    [anon_sym_false] = ACTIONS(983),
    [anon_sym_DQUOTE] = ACTIONS(985),
    [anon_sym_BSLASH] = ACTIONS(987),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(989),
    [sym__oneline_regex_literal] = ACTIONS(991),
    [anon_sym_LPAREN] = ACTIONS(993),
    [anon_sym_LBRACK] = ACTIONS(995),
    [anon_sym_AMP] = ACTIONS(997),
    [anon_sym_TILDE] = ACTIONS(997),
    [anon_sym_if] = ACTIONS(999),
    [anon_sym_switch] = ACTIONS(1001),
    [aux_sym_custom_operator_token1] = ACTIONS(1003),
    [anon_sym_LT] = ACTIONS(1818),
    [anon_sym_GT] = ACTIONS(1818),
    [anon_sym_await] = ACTIONS(1005),
    [anon_sym_LBRACE] = ACTIONS(1007),
    [anon_sym_CARET_LBRACE] = ACTIONS(1007),
    [anon_sym_self] = ACTIONS(1009),
    [anon_sym_super] = ACTIONS(1011),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1820),
    [anon_sym_DASH_EQ] = ACTIONS(1820),
    [anon_sym_STAR_EQ] = ACTIONS(1820),
    [anon_sym_SLASH_EQ] = ACTIONS(1820),
    [anon_sym_PERCENT_EQ] = ACTIONS(1820),
    [anon_sym_BANG_EQ] = ACTIONS(1818),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1820),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1820),
    [anon_sym_LT_EQ] = ACTIONS(1820),
    [anon_sym_GT_EQ] = ACTIONS(1820),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1013),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1015),
    [anon_sym_PLUS] = ACTIONS(1017),
    [anon_sym_DASH] = ACTIONS(1017),
    [anon_sym_STAR] = ACTIONS(1818),
    [anon_sym_SLASH] = ACTIONS(1818),
    [anon_sym_PERCENT] = ACTIONS(1818),
    [anon_sym_PLUS_PLUS] = ACTIONS(997),
    [anon_sym_DASH_DASH] = ACTIONS(997),
    [anon_sym_PIPE] = ACTIONS(1820),
    [anon_sym_CARET] = ACTIONS(1818),
    [anon_sym_LT_LT] = ACTIONS(1820),
    [anon_sym_GT_GT] = ACTIONS(1820),
    [anon_sym_borrowing] = ACTIONS(971),
    [anon_sym_consuming] = ACTIONS(971),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1019),
    [sym__dot_custom] = ACTIONS(1021),
    [sym__eq_custom] = ACTIONS(1820),
    [sym__eq_eq_custom] = ACTIONS(1820),
    [sym__plus_then_ws] = ACTIONS(1820),
    [sym__minus_then_ws] = ACTIONS(1820),
    [sym__bang_custom] = ACTIONS(1023),
    [sym__custom_operator] = ACTIONS(1003),
    [sym__hash_symbol_custom] = ACTIONS(1025),
    [sym__directive_if] = ACTIONS(1027),
    [sym__directive_elseif] = ACTIONS(1027),
    [sym__directive_else] = ACTIONS(1029),
    [sym__directive_endif] = ACTIONS(1029),
  },
  [508] = {
    [sym_simple_identifier] = STATE(2331),
    [sym__contextual_simple_identifier] = STATE(2240),
    [sym__basic_literal] = STATE(1452),
    [sym_boolean_literal] = STATE(1452),
    [sym__string_literal] = STATE(1452),
    [sym_line_string_literal] = STATE(1452),
    [sym_multi_line_string_literal] = STATE(1452),
    [sym_raw_string_literal] = STATE(1452),
    [sym_regex_literal] = STATE(1452),
    [sym__extended_regex_literal] = STATE(2556),
    [sym__multiline_regex_literal] = STATE(2556),
    [sym_user_type] = STATE(6440),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6440),
    [sym_dictionary_type] = STATE(6440),
    [sym__expression] = STATE(1452),
    [sym__unary_expression] = STATE(1452),
    [sym_postfix_expression] = STATE(1452),
    [sym_constructor_expression] = STATE(1452),
    [sym__parenthesized_type] = STATE(7995),
    [sym_navigation_expression] = STATE(1452),
    [sym__navigable_type_expression] = STATE(8059),
    [sym_open_start_range_expression] = STATE(1452),
    [sym__range_operator] = STATE(576),
    [sym_open_end_range_expression] = STATE(1452),
    [sym_prefix_expression] = STATE(1452),
    [sym_as_expression] = STATE(1452),
    [sym_selector_expression] = STATE(1452),
    [sym__binary_expression] = STATE(1452),
    [sym_multiplicative_expression] = STATE(1452),
    [sym_additive_expression] = STATE(1452),
    [sym_range_expression] = STATE(1452),
    [sym_infix_expression] = STATE(1452),
    [sym_nil_coalescing_expression] = STATE(1452),
    [sym_check_expression] = STATE(1452),
    [sym_comparison_expression] = STATE(1452),
    [sym_equality_expression] = STATE(1452),
    [sym_conjunction_expression] = STATE(1452),
    [sym_disjunction_expression] = STATE(1452),
    [sym_bitwise_operation] = STATE(1452),
    [sym_custom_operator] = STATE(1097),
    [sym_try_expression] = STATE(1452),
    [sym_await_expression] = STATE(1452),
    [sym__await_operator] = STATE(575),
    [sym_ternary_expression] = STATE(1452),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(2611),
    [sym_expr_hack_at_ternary_binary_call] = STATE(2611),
    [sym_call_expression] = STATE(1452),
    [sym_macro_invocation] = STATE(1452),
    [sym__primary_expression] = STATE(1452),
    [sym_tuple_expression] = STATE(1452),
    [sym_array_literal] = STATE(1452),
    [sym_dictionary_literal] = STATE(1452),
    [sym_special_literal] = STATE(1452),
    [sym_playground_literal] = STATE(1452),
    [sym_lambda_literal] = STATE(1452),
    [sym_self_expression] = STATE(1452),
    [sym_super_expression] = STATE(1452),
    [sym_if_statement] = STATE(1452),
    [sym_switch_statement] = STATE(1452),
    [sym_key_path_expression] = STATE(1452),
    [sym_key_path_string_expression] = STATE(1452),
    [sym_try_operator] = STATE(648),
    [sym__assignment_and_operator] = STATE(1452),
    [sym__equality_operator] = STATE(1452),
    [sym__comparison_operator] = STATE(1452),
    [sym__three_dot_operator] = STATE(1089),
    [sym__open_ended_range_operator] = STATE(576),
    [sym__additive_operator] = STATE(1452),
    [sym__multiplicative_operator] = STATE(1452),
    [sym__prefix_unary_operator] = STATE(711),
    [sym_directly_assignable_expression] = STATE(6442),
    [sym_assignment] = STATE(1452),
    [sym_value_parameter_pack] = STATE(1452),
    [sym_value_pack_expansion] = STATE(1452),
    [sym__referenceable_operator] = STATE(1452),
    [sym__equal_sign] = STATE(1452),
    [sym__eq_eq] = STATE(1452),
    [sym__dot] = STATE(711),
    [sym__hash_symbol] = STATE(4850),
    [sym_bang] = STATE(1097),
    [sym__parameter_ownership_modifier] = STATE(2240),
    [sym_directive] = STATE(1452),
    [sym_diagnostic] = STATE(1452),
    [aux_sym_raw_string_literal_repeat1] = STATE(7884),
    [anon_sym_BANG] = ACTIONS(969),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(971),
    [aux_sym_simple_identifier_token2] = ACTIONS(973),
    [aux_sym_simple_identifier_token3] = ACTIONS(973),
    [aux_sym_simple_identifier_token4] = ACTIONS(973),
    [anon_sym_actor] = ACTIONS(971),
    [anon_sym_async] = ACTIONS(971),
    [anon_sym_each] = ACTIONS(975),
    [anon_sym_lazy] = ACTIONS(971),
    [anon_sym_repeat] = ACTIONS(977),
    [anon_sym_package] = ACTIONS(971),
    [anon_sym_nil] = ACTIONS(1818),
    [sym_real_literal] = ACTIONS(1820),
    [sym_integer_literal] = ACTIONS(1818),
    [sym_hex_literal] = ACTIONS(1818),
    [sym_oct_literal] = ACTIONS(1820),
    [sym_bin_literal] = ACTIONS(1820),
    [anon_sym_true] = ACTIONS(983),
    [anon_sym_false] = ACTIONS(983),
    [anon_sym_DQUOTE] = ACTIONS(985),
    [anon_sym_BSLASH] = ACTIONS(987),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(989),
    [sym__oneline_regex_literal] = ACTIONS(991),
    [anon_sym_LPAREN] = ACTIONS(993),
    [anon_sym_LBRACK] = ACTIONS(995),
    [anon_sym_AMP] = ACTIONS(997),
    [anon_sym_TILDE] = ACTIONS(997),
    [anon_sym_if] = ACTIONS(999),
    [anon_sym_switch] = ACTIONS(1001),
    [aux_sym_custom_operator_token1] = ACTIONS(1003),
    [anon_sym_LT] = ACTIONS(1818),
    [anon_sym_GT] = ACTIONS(1818),
    [anon_sym_await] = ACTIONS(1005),
    [anon_sym_LBRACE] = ACTIONS(1007),
    [anon_sym_CARET_LBRACE] = ACTIONS(1007),
    [anon_sym_self] = ACTIONS(1009),
    [anon_sym_super] = ACTIONS(1011),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1820),
    [anon_sym_DASH_EQ] = ACTIONS(1820),
    [anon_sym_STAR_EQ] = ACTIONS(1820),
    [anon_sym_SLASH_EQ] = ACTIONS(1820),
    [anon_sym_PERCENT_EQ] = ACTIONS(1820),
    [anon_sym_BANG_EQ] = ACTIONS(1818),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1820),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1820),
    [anon_sym_LT_EQ] = ACTIONS(1820),
    [anon_sym_GT_EQ] = ACTIONS(1820),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1013),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1015),
    [anon_sym_PLUS] = ACTIONS(1017),
    [anon_sym_DASH] = ACTIONS(1017),
    [anon_sym_STAR] = ACTIONS(1818),
    [anon_sym_SLASH] = ACTIONS(1818),
    [anon_sym_PERCENT] = ACTIONS(1818),
    [anon_sym_PLUS_PLUS] = ACTIONS(997),
    [anon_sym_DASH_DASH] = ACTIONS(997),
    [anon_sym_PIPE] = ACTIONS(1820),
    [anon_sym_CARET] = ACTIONS(1818),
    [anon_sym_LT_LT] = ACTIONS(1820),
    [anon_sym_GT_GT] = ACTIONS(1820),
    [anon_sym_borrowing] = ACTIONS(971),
    [anon_sym_consuming] = ACTIONS(971),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1019),
    [sym__dot_custom] = ACTIONS(1021),
    [sym__eq_custom] = ACTIONS(1820),
    [sym__eq_eq_custom] = ACTIONS(1820),
    [sym__plus_then_ws] = ACTIONS(1820),
    [sym__minus_then_ws] = ACTIONS(1820),
    [sym__bang_custom] = ACTIONS(1023),
    [sym__custom_operator] = ACTIONS(1003),
    [sym__hash_symbol_custom] = ACTIONS(1025),
    [sym__directive_if] = ACTIONS(1027),
    [sym__directive_elseif] = ACTIONS(1027),
    [sym__directive_else] = ACTIONS(1029),
    [sym__directive_endif] = ACTIONS(1029),
  },
  [509] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1457),
    [sym_boolean_literal] = STATE(1457),
    [sym__string_literal] = STATE(1457),
    [sym_line_string_literal] = STATE(1457),
    [sym_multi_line_string_literal] = STATE(1457),
    [sym_raw_string_literal] = STATE(1457),
    [sym_regex_literal] = STATE(1457),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1457),
    [sym__unary_expression] = STATE(1457),
    [sym_postfix_expression] = STATE(1457),
    [sym_constructor_expression] = STATE(1457),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1457),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1457),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1457),
    [sym_prefix_expression] = STATE(1457),
    [sym_as_expression] = STATE(1457),
    [sym_selector_expression] = STATE(1457),
    [sym__binary_expression] = STATE(1457),
    [sym_multiplicative_expression] = STATE(1457),
    [sym_additive_expression] = STATE(1457),
    [sym_range_expression] = STATE(1457),
    [sym_infix_expression] = STATE(1457),
    [sym_nil_coalescing_expression] = STATE(1457),
    [sym_check_expression] = STATE(1457),
    [sym_comparison_expression] = STATE(1457),
    [sym_equality_expression] = STATE(1457),
    [sym_conjunction_expression] = STATE(1457),
    [sym_disjunction_expression] = STATE(1457),
    [sym_bitwise_operation] = STATE(1457),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1457),
    [sym_await_expression] = STATE(1457),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1457),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(2686),
    [sym_expr_hack_at_ternary_binary_call] = STATE(2686),
    [sym_call_expression] = STATE(1457),
    [sym_macro_invocation] = STATE(1457),
    [sym__primary_expression] = STATE(1457),
    [sym_tuple_expression] = STATE(1457),
    [sym_array_literal] = STATE(1457),
    [sym_dictionary_literal] = STATE(1457),
    [sym_special_literal] = STATE(1457),
    [sym_playground_literal] = STATE(1457),
    [sym_lambda_literal] = STATE(1457),
    [sym_self_expression] = STATE(1457),
    [sym_super_expression] = STATE(1457),
    [sym_if_statement] = STATE(1457),
    [sym_switch_statement] = STATE(1457),
    [sym_key_path_expression] = STATE(1457),
    [sym_key_path_string_expression] = STATE(1457),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1457),
    [sym__equality_operator] = STATE(1457),
    [sym__comparison_operator] = STATE(1457),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1457),
    [sym__multiplicative_operator] = STATE(1457),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_assignment] = STATE(1457),
    [sym_value_parameter_pack] = STATE(1457),
    [sym_value_pack_expansion] = STATE(1457),
    [sym__referenceable_operator] = STATE(1457),
    [sym__equal_sign] = STATE(1457),
    [sym__eq_eq] = STATE(1457),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1457),
    [sym_diagnostic] = STATE(1457),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(11),
    [anon_sym_async] = ACTIONS(11),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(11),
    [anon_sym_repeat] = ACTIONS(925),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(1808),
    [sym_real_literal] = ACTIONS(1810),
    [sym_integer_literal] = ACTIONS(1808),
    [sym_hex_literal] = ACTIONS(1808),
    [sym_oct_literal] = ACTIONS(1810),
    [sym_bin_literal] = ACTIONS(1810),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(1808),
    [anon_sym_GT] = ACTIONS(1808),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1810),
    [anon_sym_DASH_EQ] = ACTIONS(1810),
    [anon_sym_STAR_EQ] = ACTIONS(1810),
    [anon_sym_SLASH_EQ] = ACTIONS(1810),
    [anon_sym_PERCENT_EQ] = ACTIONS(1810),
    [anon_sym_BANG_EQ] = ACTIONS(1808),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1810),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1810),
    [anon_sym_LT_EQ] = ACTIONS(1810),
    [anon_sym_GT_EQ] = ACTIONS(1810),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(1808),
    [anon_sym_SLASH] = ACTIONS(1808),
    [anon_sym_PERCENT] = ACTIONS(1808),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(1810),
    [anon_sym_CARET] = ACTIONS(1808),
    [anon_sym_LT_LT] = ACTIONS(1810),
    [anon_sym_GT_GT] = ACTIONS(1810),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(1810),
    [sym__eq_eq_custom] = ACTIONS(1810),
    [sym__plus_then_ws] = ACTIONS(1810),
    [sym__minus_then_ws] = ACTIONS(1810),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [510] = {
    [sym_simple_identifier] = STATE(2331),
    [sym__contextual_simple_identifier] = STATE(2240),
    [sym__basic_literal] = STATE(1452),
    [sym_boolean_literal] = STATE(1452),
    [sym__string_literal] = STATE(1452),
    [sym_line_string_literal] = STATE(1452),
    [sym_multi_line_string_literal] = STATE(1452),
    [sym_raw_string_literal] = STATE(1452),
    [sym_regex_literal] = STATE(1452),
    [sym__extended_regex_literal] = STATE(2556),
    [sym__multiline_regex_literal] = STATE(2556),
    [sym_user_type] = STATE(6440),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6440),
    [sym_dictionary_type] = STATE(6440),
    [sym__expression] = STATE(1452),
    [sym__unary_expression] = STATE(1452),
    [sym_postfix_expression] = STATE(1452),
    [sym_constructor_expression] = STATE(1452),
    [sym__parenthesized_type] = STATE(7995),
    [sym_navigation_expression] = STATE(1452),
    [sym__navigable_type_expression] = STATE(8059),
    [sym_open_start_range_expression] = STATE(1452),
    [sym__range_operator] = STATE(576),
    [sym_open_end_range_expression] = STATE(1452),
    [sym_prefix_expression] = STATE(1452),
    [sym_as_expression] = STATE(1452),
    [sym_selector_expression] = STATE(1452),
    [sym__binary_expression] = STATE(1452),
    [sym_multiplicative_expression] = STATE(1452),
    [sym_additive_expression] = STATE(1452),
    [sym_range_expression] = STATE(1452),
    [sym_infix_expression] = STATE(1452),
    [sym_nil_coalescing_expression] = STATE(1452),
    [sym_check_expression] = STATE(1452),
    [sym_comparison_expression] = STATE(1452),
    [sym_equality_expression] = STATE(1452),
    [sym_conjunction_expression] = STATE(1452),
    [sym_disjunction_expression] = STATE(1452),
    [sym_bitwise_operation] = STATE(1452),
    [sym_custom_operator] = STATE(1097),
    [sym_try_expression] = STATE(1452),
    [sym_await_expression] = STATE(1452),
    [sym__await_operator] = STATE(575),
    [sym_ternary_expression] = STATE(1452),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(2604),
    [sym_expr_hack_at_ternary_binary_call] = STATE(2604),
    [sym_call_expression] = STATE(1452),
    [sym_macro_invocation] = STATE(1452),
    [sym__primary_expression] = STATE(1452),
    [sym_tuple_expression] = STATE(1452),
    [sym_array_literal] = STATE(1452),
    [sym_dictionary_literal] = STATE(1452),
    [sym_special_literal] = STATE(1452),
    [sym_playground_literal] = STATE(1452),
    [sym_lambda_literal] = STATE(1452),
    [sym_self_expression] = STATE(1452),
    [sym_super_expression] = STATE(1452),
    [sym_if_statement] = STATE(1452),
    [sym_switch_statement] = STATE(1452),
    [sym_key_path_expression] = STATE(1452),
    [sym_key_path_string_expression] = STATE(1452),
    [sym_try_operator] = STATE(648),
    [sym__assignment_and_operator] = STATE(1452),
    [sym__equality_operator] = STATE(1452),
    [sym__comparison_operator] = STATE(1452),
    [sym__three_dot_operator] = STATE(1089),
    [sym__open_ended_range_operator] = STATE(576),
    [sym__additive_operator] = STATE(1452),
    [sym__multiplicative_operator] = STATE(1452),
    [sym__prefix_unary_operator] = STATE(711),
    [sym_directly_assignable_expression] = STATE(6442),
    [sym_assignment] = STATE(1452),
    [sym_value_parameter_pack] = STATE(1452),
    [sym_value_pack_expansion] = STATE(1452),
    [sym__referenceable_operator] = STATE(1452),
    [sym__equal_sign] = STATE(1452),
    [sym__eq_eq] = STATE(1452),
    [sym__dot] = STATE(711),
    [sym__hash_symbol] = STATE(4850),
    [sym_bang] = STATE(1097),
    [sym__parameter_ownership_modifier] = STATE(2240),
    [sym_directive] = STATE(1452),
    [sym_diagnostic] = STATE(1452),
    [aux_sym_raw_string_literal_repeat1] = STATE(7884),
    [anon_sym_BANG] = ACTIONS(969),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(971),
    [aux_sym_simple_identifier_token2] = ACTIONS(973),
    [aux_sym_simple_identifier_token3] = ACTIONS(973),
    [aux_sym_simple_identifier_token4] = ACTIONS(973),
    [anon_sym_actor] = ACTIONS(971),
    [anon_sym_async] = ACTIONS(971),
    [anon_sym_each] = ACTIONS(975),
    [anon_sym_lazy] = ACTIONS(971),
    [anon_sym_repeat] = ACTIONS(977),
    [anon_sym_package] = ACTIONS(971),
    [anon_sym_nil] = ACTIONS(1818),
    [sym_real_literal] = ACTIONS(1820),
    [sym_integer_literal] = ACTIONS(1818),
    [sym_hex_literal] = ACTIONS(1818),
    [sym_oct_literal] = ACTIONS(1820),
    [sym_bin_literal] = ACTIONS(1820),
    [anon_sym_true] = ACTIONS(983),
    [anon_sym_false] = ACTIONS(983),
    [anon_sym_DQUOTE] = ACTIONS(985),
    [anon_sym_BSLASH] = ACTIONS(987),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(989),
    [sym__oneline_regex_literal] = ACTIONS(991),
    [anon_sym_LPAREN] = ACTIONS(993),
    [anon_sym_LBRACK] = ACTIONS(995),
    [anon_sym_AMP] = ACTIONS(997),
    [anon_sym_TILDE] = ACTIONS(997),
    [anon_sym_if] = ACTIONS(999),
    [anon_sym_switch] = ACTIONS(1001),
    [aux_sym_custom_operator_token1] = ACTIONS(1003),
    [anon_sym_LT] = ACTIONS(1818),
    [anon_sym_GT] = ACTIONS(1818),
    [anon_sym_await] = ACTIONS(1005),
    [anon_sym_LBRACE] = ACTIONS(1007),
    [anon_sym_CARET_LBRACE] = ACTIONS(1007),
    [anon_sym_self] = ACTIONS(1009),
    [anon_sym_super] = ACTIONS(1011),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1820),
    [anon_sym_DASH_EQ] = ACTIONS(1820),
    [anon_sym_STAR_EQ] = ACTIONS(1820),
    [anon_sym_SLASH_EQ] = ACTIONS(1820),
    [anon_sym_PERCENT_EQ] = ACTIONS(1820),
    [anon_sym_BANG_EQ] = ACTIONS(1818),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1820),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1820),
    [anon_sym_LT_EQ] = ACTIONS(1820),
    [anon_sym_GT_EQ] = ACTIONS(1820),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1013),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1015),
    [anon_sym_PLUS] = ACTIONS(1017),
    [anon_sym_DASH] = ACTIONS(1017),
    [anon_sym_STAR] = ACTIONS(1818),
    [anon_sym_SLASH] = ACTIONS(1818),
    [anon_sym_PERCENT] = ACTIONS(1818),
    [anon_sym_PLUS_PLUS] = ACTIONS(997),
    [anon_sym_DASH_DASH] = ACTIONS(997),
    [anon_sym_PIPE] = ACTIONS(1820),
    [anon_sym_CARET] = ACTIONS(1818),
    [anon_sym_LT_LT] = ACTIONS(1820),
    [anon_sym_GT_GT] = ACTIONS(1820),
    [anon_sym_borrowing] = ACTIONS(971),
    [anon_sym_consuming] = ACTIONS(971),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1019),
    [sym__dot_custom] = ACTIONS(1021),
    [sym__eq_custom] = ACTIONS(1820),
    [sym__eq_eq_custom] = ACTIONS(1820),
    [sym__plus_then_ws] = ACTIONS(1820),
    [sym__minus_then_ws] = ACTIONS(1820),
    [sym__bang_custom] = ACTIONS(1023),
    [sym__custom_operator] = ACTIONS(1003),
    [sym__hash_symbol_custom] = ACTIONS(1025),
    [sym__directive_if] = ACTIONS(1027),
    [sym__directive_elseif] = ACTIONS(1027),
    [sym__directive_else] = ACTIONS(1029),
    [sym__directive_endif] = ACTIONS(1029),
  },
  [511] = {
    [sym_simple_identifier] = STATE(2331),
    [sym__contextual_simple_identifier] = STATE(2240),
    [sym__basic_literal] = STATE(1452),
    [sym_boolean_literal] = STATE(1452),
    [sym__string_literal] = STATE(1452),
    [sym_line_string_literal] = STATE(1452),
    [sym_multi_line_string_literal] = STATE(1452),
    [sym_raw_string_literal] = STATE(1452),
    [sym_regex_literal] = STATE(1452),
    [sym__extended_regex_literal] = STATE(2556),
    [sym__multiline_regex_literal] = STATE(2556),
    [sym_user_type] = STATE(6440),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6440),
    [sym_dictionary_type] = STATE(6440),
    [sym__expression] = STATE(1452),
    [sym__unary_expression] = STATE(1452),
    [sym_postfix_expression] = STATE(1452),
    [sym_constructor_expression] = STATE(1452),
    [sym__parenthesized_type] = STATE(7995),
    [sym_navigation_expression] = STATE(1452),
    [sym__navigable_type_expression] = STATE(8059),
    [sym_open_start_range_expression] = STATE(1452),
    [sym__range_operator] = STATE(576),
    [sym_open_end_range_expression] = STATE(1452),
    [sym_prefix_expression] = STATE(1452),
    [sym_as_expression] = STATE(1452),
    [sym_selector_expression] = STATE(1452),
    [sym__binary_expression] = STATE(1452),
    [sym_multiplicative_expression] = STATE(1452),
    [sym_additive_expression] = STATE(1452),
    [sym_range_expression] = STATE(1452),
    [sym_infix_expression] = STATE(1452),
    [sym_nil_coalescing_expression] = STATE(1452),
    [sym_check_expression] = STATE(1452),
    [sym_comparison_expression] = STATE(1452),
    [sym_equality_expression] = STATE(1452),
    [sym_conjunction_expression] = STATE(1452),
    [sym_disjunction_expression] = STATE(1452),
    [sym_bitwise_operation] = STATE(1452),
    [sym_custom_operator] = STATE(1097),
    [sym_try_expression] = STATE(1452),
    [sym_await_expression] = STATE(1452),
    [sym__await_operator] = STATE(575),
    [sym_ternary_expression] = STATE(1452),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(2603),
    [sym_expr_hack_at_ternary_binary_call] = STATE(2603),
    [sym_call_expression] = STATE(1452),
    [sym_macro_invocation] = STATE(1452),
    [sym__primary_expression] = STATE(1452),
    [sym_tuple_expression] = STATE(1452),
    [sym_array_literal] = STATE(1452),
    [sym_dictionary_literal] = STATE(1452),
    [sym_special_literal] = STATE(1452),
    [sym_playground_literal] = STATE(1452),
    [sym_lambda_literal] = STATE(1452),
    [sym_self_expression] = STATE(1452),
    [sym_super_expression] = STATE(1452),
    [sym_if_statement] = STATE(1452),
    [sym_switch_statement] = STATE(1452),
    [sym_key_path_expression] = STATE(1452),
    [sym_key_path_string_expression] = STATE(1452),
    [sym_try_operator] = STATE(648),
    [sym__assignment_and_operator] = STATE(1452),
    [sym__equality_operator] = STATE(1452),
    [sym__comparison_operator] = STATE(1452),
    [sym__three_dot_operator] = STATE(1089),
    [sym__open_ended_range_operator] = STATE(576),
    [sym__additive_operator] = STATE(1452),
    [sym__multiplicative_operator] = STATE(1452),
    [sym__prefix_unary_operator] = STATE(711),
    [sym_directly_assignable_expression] = STATE(6442),
    [sym_assignment] = STATE(1452),
    [sym_value_parameter_pack] = STATE(1452),
    [sym_value_pack_expansion] = STATE(1452),
    [sym__referenceable_operator] = STATE(1452),
    [sym__equal_sign] = STATE(1452),
    [sym__eq_eq] = STATE(1452),
    [sym__dot] = STATE(711),
    [sym__hash_symbol] = STATE(4850),
    [sym_bang] = STATE(1097),
    [sym__parameter_ownership_modifier] = STATE(2240),
    [sym_directive] = STATE(1452),
    [sym_diagnostic] = STATE(1452),
    [aux_sym_raw_string_literal_repeat1] = STATE(7884),
    [anon_sym_BANG] = ACTIONS(969),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(971),
    [aux_sym_simple_identifier_token2] = ACTIONS(973),
    [aux_sym_simple_identifier_token3] = ACTIONS(973),
    [aux_sym_simple_identifier_token4] = ACTIONS(973),
    [anon_sym_actor] = ACTIONS(971),
    [anon_sym_async] = ACTIONS(971),
    [anon_sym_each] = ACTIONS(975),
    [anon_sym_lazy] = ACTIONS(971),
    [anon_sym_repeat] = ACTIONS(977),
    [anon_sym_package] = ACTIONS(971),
    [anon_sym_nil] = ACTIONS(1818),
    [sym_real_literal] = ACTIONS(1820),
    [sym_integer_literal] = ACTIONS(1818),
    [sym_hex_literal] = ACTIONS(1818),
    [sym_oct_literal] = ACTIONS(1820),
    [sym_bin_literal] = ACTIONS(1820),
    [anon_sym_true] = ACTIONS(983),
    [anon_sym_false] = ACTIONS(983),
    [anon_sym_DQUOTE] = ACTIONS(985),
    [anon_sym_BSLASH] = ACTIONS(987),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(989),
    [sym__oneline_regex_literal] = ACTIONS(991),
    [anon_sym_LPAREN] = ACTIONS(993),
    [anon_sym_LBRACK] = ACTIONS(995),
    [anon_sym_AMP] = ACTIONS(997),
    [anon_sym_TILDE] = ACTIONS(997),
    [anon_sym_if] = ACTIONS(999),
    [anon_sym_switch] = ACTIONS(1001),
    [aux_sym_custom_operator_token1] = ACTIONS(1003),
    [anon_sym_LT] = ACTIONS(1818),
    [anon_sym_GT] = ACTIONS(1818),
    [anon_sym_await] = ACTIONS(1005),
    [anon_sym_LBRACE] = ACTIONS(1007),
    [anon_sym_CARET_LBRACE] = ACTIONS(1007),
    [anon_sym_self] = ACTIONS(1009),
    [anon_sym_super] = ACTIONS(1011),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1820),
    [anon_sym_DASH_EQ] = ACTIONS(1820),
    [anon_sym_STAR_EQ] = ACTIONS(1820),
    [anon_sym_SLASH_EQ] = ACTIONS(1820),
    [anon_sym_PERCENT_EQ] = ACTIONS(1820),
    [anon_sym_BANG_EQ] = ACTIONS(1818),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1820),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1820),
    [anon_sym_LT_EQ] = ACTIONS(1820),
    [anon_sym_GT_EQ] = ACTIONS(1820),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1013),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1015),
    [anon_sym_PLUS] = ACTIONS(1017),
    [anon_sym_DASH] = ACTIONS(1017),
    [anon_sym_STAR] = ACTIONS(1818),
    [anon_sym_SLASH] = ACTIONS(1818),
    [anon_sym_PERCENT] = ACTIONS(1818),
    [anon_sym_PLUS_PLUS] = ACTIONS(997),
    [anon_sym_DASH_DASH] = ACTIONS(997),
    [anon_sym_PIPE] = ACTIONS(1820),
    [anon_sym_CARET] = ACTIONS(1818),
    [anon_sym_LT_LT] = ACTIONS(1820),
    [anon_sym_GT_GT] = ACTIONS(1820),
    [anon_sym_borrowing] = ACTIONS(971),
    [anon_sym_consuming] = ACTIONS(971),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1019),
    [sym__dot_custom] = ACTIONS(1021),
    [sym__eq_custom] = ACTIONS(1820),
    [sym__eq_eq_custom] = ACTIONS(1820),
    [sym__plus_then_ws] = ACTIONS(1820),
    [sym__minus_then_ws] = ACTIONS(1820),
    [sym__bang_custom] = ACTIONS(1023),
    [sym__custom_operator] = ACTIONS(1003),
    [sym__hash_symbol_custom] = ACTIONS(1025),
    [sym__directive_if] = ACTIONS(1027),
    [sym__directive_elseif] = ACTIONS(1027),
    [sym__directive_else] = ACTIONS(1029),
    [sym__directive_endif] = ACTIONS(1029),
  },
  [512] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1476),
    [sym_boolean_literal] = STATE(1476),
    [sym__string_literal] = STATE(1476),
    [sym_line_string_literal] = STATE(1476),
    [sym_multi_line_string_literal] = STATE(1476),
    [sym_raw_string_literal] = STATE(1476),
    [sym_regex_literal] = STATE(1476),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1476),
    [sym__unary_expression] = STATE(1476),
    [sym_postfix_expression] = STATE(1476),
    [sym_constructor_expression] = STATE(1476),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1476),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1476),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1476),
    [sym_prefix_expression] = STATE(1476),
    [sym_as_expression] = STATE(1476),
    [sym_selector_expression] = STATE(1476),
    [sym__binary_expression] = STATE(1476),
    [sym_multiplicative_expression] = STATE(1476),
    [sym_additive_expression] = STATE(1476),
    [sym_range_expression] = STATE(1476),
    [sym_infix_expression] = STATE(1476),
    [sym_nil_coalescing_expression] = STATE(1476),
    [sym_check_expression] = STATE(1476),
    [sym_comparison_expression] = STATE(1476),
    [sym_equality_expression] = STATE(1476),
    [sym_conjunction_expression] = STATE(1476),
    [sym_disjunction_expression] = STATE(1476),
    [sym_bitwise_operation] = STATE(1476),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1476),
    [sym_await_expression] = STATE(1476),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1476),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(900),
    [sym_expr_hack_at_ternary_binary_call] = STATE(900),
    [sym_call_expression] = STATE(1476),
    [sym_macro_invocation] = STATE(1476),
    [sym__primary_expression] = STATE(1476),
    [sym_tuple_expression] = STATE(1476),
    [sym_array_literal] = STATE(1476),
    [sym_dictionary_literal] = STATE(1476),
    [sym_special_literal] = STATE(1476),
    [sym_playground_literal] = STATE(1476),
    [sym_lambda_literal] = STATE(1476),
    [sym_self_expression] = STATE(1476),
    [sym_super_expression] = STATE(1476),
    [sym_if_statement] = STATE(1476),
    [sym_switch_statement] = STATE(1476),
    [sym_key_path_expression] = STATE(1476),
    [sym_key_path_string_expression] = STATE(1476),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1476),
    [sym__equality_operator] = STATE(1476),
    [sym__comparison_operator] = STATE(1476),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1476),
    [sym__multiplicative_operator] = STATE(1476),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1476),
    [sym_value_parameter_pack] = STATE(1476),
    [sym_value_pack_expansion] = STATE(1476),
    [sym__referenceable_operator] = STATE(1476),
    [sym__equal_sign] = STATE(1476),
    [sym__eq_eq] = STATE(1476),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1476),
    [sym_diagnostic] = STATE(1476),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1822),
    [sym_real_literal] = ACTIONS(1824),
    [sym_integer_literal] = ACTIONS(1822),
    [sym_hex_literal] = ACTIONS(1822),
    [sym_oct_literal] = ACTIONS(1824),
    [sym_bin_literal] = ACTIONS(1824),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1822),
    [anon_sym_GT] = ACTIONS(1822),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1824),
    [anon_sym_DASH_EQ] = ACTIONS(1824),
    [anon_sym_STAR_EQ] = ACTIONS(1824),
    [anon_sym_SLASH_EQ] = ACTIONS(1824),
    [anon_sym_PERCENT_EQ] = ACTIONS(1824),
    [anon_sym_BANG_EQ] = ACTIONS(1822),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1824),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1824),
    [anon_sym_LT_EQ] = ACTIONS(1824),
    [anon_sym_GT_EQ] = ACTIONS(1824),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1822),
    [anon_sym_SLASH] = ACTIONS(1822),
    [anon_sym_PERCENT] = ACTIONS(1822),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1824),
    [anon_sym_CARET] = ACTIONS(1822),
    [anon_sym_LT_LT] = ACTIONS(1824),
    [anon_sym_GT_GT] = ACTIONS(1824),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1824),
    [sym__eq_eq_custom] = ACTIONS(1824),
    [sym__plus_then_ws] = ACTIONS(1824),
    [sym__minus_then_ws] = ACTIONS(1824),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [513] = {
    [sym_simple_identifier] = STATE(1217),
    [sym__contextual_simple_identifier] = STATE(1147),
    [sym__basic_literal] = STATE(774),
    [sym_boolean_literal] = STATE(774),
    [sym__string_literal] = STATE(774),
    [sym_line_string_literal] = STATE(774),
    [sym_multi_line_string_literal] = STATE(774),
    [sym_raw_string_literal] = STATE(774),
    [sym_regex_literal] = STATE(774),
    [sym__extended_regex_literal] = STATE(1286),
    [sym__multiline_regex_literal] = STATE(1286),
    [sym_user_type] = STATE(6397),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6397),
    [sym_dictionary_type] = STATE(6397),
    [sym__expression] = STATE(774),
    [sym__unary_expression] = STATE(774),
    [sym_postfix_expression] = STATE(774),
    [sym_constructor_expression] = STATE(774),
    [sym__parenthesized_type] = STATE(7511),
    [sym_navigation_expression] = STATE(774),
    [sym__navigable_type_expression] = STATE(7510),
    [sym_open_start_range_expression] = STATE(774),
    [sym__range_operator] = STATE(695),
    [sym_open_end_range_expression] = STATE(774),
    [sym_prefix_expression] = STATE(774),
    [sym_as_expression] = STATE(774),
    [sym_selector_expression] = STATE(774),
    [sym__binary_expression] = STATE(774),
    [sym_multiplicative_expression] = STATE(774),
    [sym_additive_expression] = STATE(774),
    [sym_range_expression] = STATE(774),
    [sym_infix_expression] = STATE(774),
    [sym_nil_coalescing_expression] = STATE(774),
    [sym_check_expression] = STATE(774),
    [sym_comparison_expression] = STATE(774),
    [sym_equality_expression] = STATE(774),
    [sym_conjunction_expression] = STATE(774),
    [sym_disjunction_expression] = STATE(774),
    [sym_bitwise_operation] = STATE(774),
    [sym_custom_operator] = STATE(759),
    [sym_try_expression] = STATE(774),
    [sym_await_expression] = STATE(774),
    [sym__await_operator] = STATE(644),
    [sym_ternary_expression] = STATE(774),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(1264),
    [sym_expr_hack_at_ternary_binary_call] = STATE(1264),
    [sym_call_expression] = STATE(774),
    [sym_macro_invocation] = STATE(774),
    [sym__primary_expression] = STATE(774),
    [sym_tuple_expression] = STATE(774),
    [sym_array_literal] = STATE(774),
    [sym_dictionary_literal] = STATE(774),
    [sym_special_literal] = STATE(774),
    [sym_playground_literal] = STATE(774),
    [sym_lambda_literal] = STATE(774),
    [sym_self_expression] = STATE(774),
    [sym_super_expression] = STATE(774),
    [sym_if_statement] = STATE(774),
    [sym_switch_statement] = STATE(774),
    [sym_key_path_expression] = STATE(774),
    [sym_key_path_string_expression] = STATE(774),
    [sym_try_operator] = STATE(645),
    [sym__assignment_and_operator] = STATE(774),
    [sym__equality_operator] = STATE(774),
    [sym__comparison_operator] = STATE(774),
    [sym__three_dot_operator] = STATE(761),
    [sym__open_ended_range_operator] = STATE(695),
    [sym__additive_operator] = STATE(774),
    [sym__multiplicative_operator] = STATE(774),
    [sym__prefix_unary_operator] = STATE(659),
    [sym_directly_assignable_expression] = STATE(6398),
    [sym_assignment] = STATE(774),
    [sym_value_parameter_pack] = STATE(774),
    [sym_value_pack_expansion] = STATE(774),
    [sym__referenceable_operator] = STATE(774),
    [sym__equal_sign] = STATE(774),
    [sym__eq_eq] = STATE(774),
    [sym__dot] = STATE(659),
    [sym__hash_symbol] = STATE(4848),
    [sym_bang] = STATE(759),
    [sym__parameter_ownership_modifier] = STATE(1147),
    [sym_directive] = STATE(774),
    [sym_diagnostic] = STATE(774),
    [aux_sym_raw_string_literal_repeat1] = STATE(7499),
    [anon_sym_BANG] = ACTIONS(659),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(661),
    [aux_sym_simple_identifier_token2] = ACTIONS(663),
    [aux_sym_simple_identifier_token3] = ACTIONS(663),
    [aux_sym_simple_identifier_token4] = ACTIONS(663),
    [anon_sym_actor] = ACTIONS(661),
    [anon_sym_async] = ACTIONS(661),
    [anon_sym_each] = ACTIONS(665),
    [anon_sym_lazy] = ACTIONS(661),
    [anon_sym_repeat] = ACTIONS(667),
    [anon_sym_package] = ACTIONS(661),
    [anon_sym_nil] = ACTIONS(1778),
    [sym_real_literal] = ACTIONS(1780),
    [sym_integer_literal] = ACTIONS(1778),
    [sym_hex_literal] = ACTIONS(1778),
    [sym_oct_literal] = ACTIONS(1780),
    [sym_bin_literal] = ACTIONS(1780),
    [anon_sym_true] = ACTIONS(673),
    [anon_sym_false] = ACTIONS(673),
    [anon_sym_DQUOTE] = ACTIONS(675),
    [anon_sym_BSLASH] = ACTIONS(677),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(679),
    [sym__oneline_regex_literal] = ACTIONS(681),
    [anon_sym_LPAREN] = ACTIONS(683),
    [anon_sym_LBRACK] = ACTIONS(685),
    [anon_sym_AMP] = ACTIONS(687),
    [anon_sym_TILDE] = ACTIONS(687),
    [anon_sym_if] = ACTIONS(689),
    [anon_sym_switch] = ACTIONS(691),
    [aux_sym_custom_operator_token1] = ACTIONS(693),
    [anon_sym_LT] = ACTIONS(1778),
    [anon_sym_GT] = ACTIONS(1778),
    [anon_sym_await] = ACTIONS(695),
    [anon_sym_LBRACE] = ACTIONS(697),
    [anon_sym_CARET_LBRACE] = ACTIONS(697),
    [anon_sym_self] = ACTIONS(699),
    [anon_sym_super] = ACTIONS(701),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1780),
    [anon_sym_DASH_EQ] = ACTIONS(1780),
    [anon_sym_STAR_EQ] = ACTIONS(1780),
    [anon_sym_SLASH_EQ] = ACTIONS(1780),
    [anon_sym_PERCENT_EQ] = ACTIONS(1780),
    [anon_sym_BANG_EQ] = ACTIONS(1778),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1780),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1780),
    [anon_sym_LT_EQ] = ACTIONS(1780),
    [anon_sym_GT_EQ] = ACTIONS(1780),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(703),
    [anon_sym_DOT_DOT_LT] = ACTIONS(705),
    [anon_sym_PLUS] = ACTIONS(707),
    [anon_sym_DASH] = ACTIONS(707),
    [anon_sym_STAR] = ACTIONS(1778),
    [anon_sym_SLASH] = ACTIONS(1778),
    [anon_sym_PERCENT] = ACTIONS(1778),
    [anon_sym_PLUS_PLUS] = ACTIONS(687),
    [anon_sym_DASH_DASH] = ACTIONS(687),
    [anon_sym_PIPE] = ACTIONS(1780),
    [anon_sym_CARET] = ACTIONS(1778),
    [anon_sym_LT_LT] = ACTIONS(1780),
    [anon_sym_GT_GT] = ACTIONS(1780),
    [anon_sym_borrowing] = ACTIONS(661),
    [anon_sym_consuming] = ACTIONS(661),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(709),
    [sym__dot_custom] = ACTIONS(711),
    [sym__eq_custom] = ACTIONS(1780),
    [sym__eq_eq_custom] = ACTIONS(1780),
    [sym__plus_then_ws] = ACTIONS(1780),
    [sym__minus_then_ws] = ACTIONS(1780),
    [sym__bang_custom] = ACTIONS(713),
    [sym__custom_operator] = ACTIONS(693),
    [sym__hash_symbol_custom] = ACTIONS(715),
    [sym__directive_if] = ACTIONS(717),
    [sym__directive_elseif] = ACTIONS(717),
    [sym__directive_else] = ACTIONS(719),
    [sym__directive_endif] = ACTIONS(719),
  },
  [514] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1476),
    [sym_boolean_literal] = STATE(1476),
    [sym__string_literal] = STATE(1476),
    [sym_line_string_literal] = STATE(1476),
    [sym_multi_line_string_literal] = STATE(1476),
    [sym_raw_string_literal] = STATE(1476),
    [sym_regex_literal] = STATE(1476),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1476),
    [sym__unary_expression] = STATE(1476),
    [sym_postfix_expression] = STATE(1476),
    [sym_constructor_expression] = STATE(1476),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1476),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1476),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1476),
    [sym_prefix_expression] = STATE(1476),
    [sym_as_expression] = STATE(1476),
    [sym_selector_expression] = STATE(1476),
    [sym__binary_expression] = STATE(1476),
    [sym_multiplicative_expression] = STATE(1476),
    [sym_additive_expression] = STATE(1476),
    [sym_range_expression] = STATE(1476),
    [sym_infix_expression] = STATE(1476),
    [sym_nil_coalescing_expression] = STATE(1476),
    [sym_check_expression] = STATE(1476),
    [sym_comparison_expression] = STATE(1476),
    [sym_equality_expression] = STATE(1476),
    [sym_conjunction_expression] = STATE(1476),
    [sym_disjunction_expression] = STATE(1476),
    [sym_bitwise_operation] = STATE(1476),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1476),
    [sym_await_expression] = STATE(1476),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1476),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(888),
    [sym_expr_hack_at_ternary_binary_call] = STATE(888),
    [sym_call_expression] = STATE(1476),
    [sym_macro_invocation] = STATE(1476),
    [sym__primary_expression] = STATE(1476),
    [sym_tuple_expression] = STATE(1476),
    [sym_array_literal] = STATE(1476),
    [sym_dictionary_literal] = STATE(1476),
    [sym_special_literal] = STATE(1476),
    [sym_playground_literal] = STATE(1476),
    [sym_lambda_literal] = STATE(1476),
    [sym_self_expression] = STATE(1476),
    [sym_super_expression] = STATE(1476),
    [sym_if_statement] = STATE(1476),
    [sym_switch_statement] = STATE(1476),
    [sym_key_path_expression] = STATE(1476),
    [sym_key_path_string_expression] = STATE(1476),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1476),
    [sym__equality_operator] = STATE(1476),
    [sym__comparison_operator] = STATE(1476),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1476),
    [sym__multiplicative_operator] = STATE(1476),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1476),
    [sym_value_parameter_pack] = STATE(1476),
    [sym_value_pack_expansion] = STATE(1476),
    [sym__referenceable_operator] = STATE(1476),
    [sym__equal_sign] = STATE(1476),
    [sym__eq_eq] = STATE(1476),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1476),
    [sym_diagnostic] = STATE(1476),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1822),
    [sym_real_literal] = ACTIONS(1824),
    [sym_integer_literal] = ACTIONS(1822),
    [sym_hex_literal] = ACTIONS(1822),
    [sym_oct_literal] = ACTIONS(1824),
    [sym_bin_literal] = ACTIONS(1824),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1822),
    [anon_sym_GT] = ACTIONS(1822),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1824),
    [anon_sym_DASH_EQ] = ACTIONS(1824),
    [anon_sym_STAR_EQ] = ACTIONS(1824),
    [anon_sym_SLASH_EQ] = ACTIONS(1824),
    [anon_sym_PERCENT_EQ] = ACTIONS(1824),
    [anon_sym_BANG_EQ] = ACTIONS(1822),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1824),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1824),
    [anon_sym_LT_EQ] = ACTIONS(1824),
    [anon_sym_GT_EQ] = ACTIONS(1824),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1822),
    [anon_sym_SLASH] = ACTIONS(1822),
    [anon_sym_PERCENT] = ACTIONS(1822),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1824),
    [anon_sym_CARET] = ACTIONS(1822),
    [anon_sym_LT_LT] = ACTIONS(1824),
    [anon_sym_GT_GT] = ACTIONS(1824),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1824),
    [sym__eq_eq_custom] = ACTIONS(1824),
    [sym__plus_then_ws] = ACTIONS(1824),
    [sym__minus_then_ws] = ACTIONS(1824),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [515] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1476),
    [sym_boolean_literal] = STATE(1476),
    [sym__string_literal] = STATE(1476),
    [sym_line_string_literal] = STATE(1476),
    [sym_multi_line_string_literal] = STATE(1476),
    [sym_raw_string_literal] = STATE(1476),
    [sym_regex_literal] = STATE(1476),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1476),
    [sym__unary_expression] = STATE(1476),
    [sym_postfix_expression] = STATE(1476),
    [sym_constructor_expression] = STATE(1476),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1476),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1476),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1476),
    [sym_prefix_expression] = STATE(1476),
    [sym_as_expression] = STATE(1476),
    [sym_selector_expression] = STATE(1476),
    [sym__binary_expression] = STATE(1476),
    [sym_multiplicative_expression] = STATE(1476),
    [sym_additive_expression] = STATE(1476),
    [sym_range_expression] = STATE(1476),
    [sym_infix_expression] = STATE(1476),
    [sym_nil_coalescing_expression] = STATE(1476),
    [sym_check_expression] = STATE(1476),
    [sym_comparison_expression] = STATE(1476),
    [sym_equality_expression] = STATE(1476),
    [sym_conjunction_expression] = STATE(1476),
    [sym_disjunction_expression] = STATE(1476),
    [sym_bitwise_operation] = STATE(1476),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1476),
    [sym_await_expression] = STATE(1476),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1476),
    [sym__expr_hack_at_ternary_binary_suffix] = STATE(898),
    [sym_expr_hack_at_ternary_binary_call] = STATE(898),
    [sym_call_expression] = STATE(1476),
    [sym_macro_invocation] = STATE(1476),
    [sym__primary_expression] = STATE(1476),
    [sym_tuple_expression] = STATE(1476),
    [sym_array_literal] = STATE(1476),
    [sym_dictionary_literal] = STATE(1476),
    [sym_special_literal] = STATE(1476),
    [sym_playground_literal] = STATE(1476),
    [sym_lambda_literal] = STATE(1476),
    [sym_self_expression] = STATE(1476),
    [sym_super_expression] = STATE(1476),
    [sym_if_statement] = STATE(1476),
    [sym_switch_statement] = STATE(1476),
    [sym_key_path_expression] = STATE(1476),
    [sym_key_path_string_expression] = STATE(1476),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1476),
    [sym__equality_operator] = STATE(1476),
    [sym__comparison_operator] = STATE(1476),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1476),
    [sym__multiplicative_operator] = STATE(1476),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1476),
    [sym_value_parameter_pack] = STATE(1476),
    [sym_value_pack_expansion] = STATE(1476),
    [sym__referenceable_operator] = STATE(1476),
    [sym__equal_sign] = STATE(1476),
    [sym__eq_eq] = STATE(1476),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1476),
    [sym_diagnostic] = STATE(1476),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1822),
    [sym_real_literal] = ACTIONS(1824),
    [sym_integer_literal] = ACTIONS(1822),
    [sym_hex_literal] = ACTIONS(1822),
    [sym_oct_literal] = ACTIONS(1824),
    [sym_bin_literal] = ACTIONS(1824),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1822),
    [anon_sym_GT] = ACTIONS(1822),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1824),
    [anon_sym_DASH_EQ] = ACTIONS(1824),
    [anon_sym_STAR_EQ] = ACTIONS(1824),
    [anon_sym_SLASH_EQ] = ACTIONS(1824),
    [anon_sym_PERCENT_EQ] = ACTIONS(1824),
    [anon_sym_BANG_EQ] = ACTIONS(1822),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1824),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1824),
    [anon_sym_LT_EQ] = ACTIONS(1824),
    [anon_sym_GT_EQ] = ACTIONS(1824),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1822),
    [anon_sym_SLASH] = ACTIONS(1822),
    [anon_sym_PERCENT] = ACTIONS(1822),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1824),
    [anon_sym_CARET] = ACTIONS(1822),
    [anon_sym_LT_LT] = ACTIONS(1824),
    [anon_sym_GT_GT] = ACTIONS(1824),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1824),
    [sym__eq_eq_custom] = ACTIONS(1824),
    [sym__plus_then_ws] = ACTIONS(1824),
    [sym__minus_then_ws] = ACTIONS(1824),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [516] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1878),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [517] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1880),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [518] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1882),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [519] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1884),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [520] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1593),
    [sym_boolean_literal] = STATE(1593),
    [sym__string_literal] = STATE(1593),
    [sym_line_string_literal] = STATE(1593),
    [sym_multi_line_string_literal] = STATE(1593),
    [sym_raw_string_literal] = STATE(1593),
    [sym_regex_literal] = STATE(1593),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1593),
    [sym__unary_expression] = STATE(1593),
    [sym_postfix_expression] = STATE(1593),
    [sym_constructor_expression] = STATE(1593),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1593),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1593),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1593),
    [sym_prefix_expression] = STATE(1593),
    [sym_as_expression] = STATE(1593),
    [sym_selector_expression] = STATE(1593),
    [sym__binary_expression] = STATE(1593),
    [sym_multiplicative_expression] = STATE(1593),
    [sym_additive_expression] = STATE(1593),
    [sym_range_expression] = STATE(1593),
    [sym_infix_expression] = STATE(1593),
    [sym_nil_coalescing_expression] = STATE(1593),
    [sym_check_expression] = STATE(1593),
    [sym_comparison_expression] = STATE(1593),
    [sym_equality_expression] = STATE(1593),
    [sym_conjunction_expression] = STATE(1593),
    [sym_disjunction_expression] = STATE(1593),
    [sym_bitwise_operation] = STATE(1593),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1593),
    [sym_await_expression] = STATE(1593),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1593),
    [sym_call_expression] = STATE(1593),
    [sym_macro_invocation] = STATE(1593),
    [sym__primary_expression] = STATE(1593),
    [sym_tuple_expression] = STATE(1593),
    [sym_array_literal] = STATE(1593),
    [sym_dictionary_literal] = STATE(1593),
    [sym_special_literal] = STATE(1593),
    [sym_playground_literal] = STATE(1593),
    [sym_lambda_literal] = STATE(1593),
    [sym_self_expression] = STATE(1593),
    [sym_super_expression] = STATE(1593),
    [sym_if_statement] = STATE(1593),
    [sym_switch_statement] = STATE(1593),
    [sym_key_path_expression] = STATE(1593),
    [sym_key_path_string_expression] = STATE(1593),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1593),
    [sym__equality_operator] = STATE(1593),
    [sym__comparison_operator] = STATE(1593),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1593),
    [sym__multiplicative_operator] = STATE(1593),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1593),
    [sym_value_parameter_pack] = STATE(1593),
    [sym_value_pack_expansion] = STATE(1593),
    [sym__referenceable_operator] = STATE(1593),
    [sym__equal_sign] = STATE(1593),
    [sym__eq_eq] = STATE(1593),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1593),
    [sym_diagnostic] = STATE(1593),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1886),
    [sym_real_literal] = ACTIONS(1888),
    [sym_integer_literal] = ACTIONS(1886),
    [sym_hex_literal] = ACTIONS(1886),
    [sym_oct_literal] = ACTIONS(1888),
    [sym_bin_literal] = ACTIONS(1888),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1890),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1886),
    [anon_sym_GT] = ACTIONS(1886),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1888),
    [anon_sym_DASH_EQ] = ACTIONS(1888),
    [anon_sym_STAR_EQ] = ACTIONS(1888),
    [anon_sym_SLASH_EQ] = ACTIONS(1888),
    [anon_sym_PERCENT_EQ] = ACTIONS(1888),
    [anon_sym_BANG_EQ] = ACTIONS(1886),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1888),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1888),
    [anon_sym_LT_EQ] = ACTIONS(1888),
    [anon_sym_GT_EQ] = ACTIONS(1888),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1886),
    [anon_sym_SLASH] = ACTIONS(1886),
    [anon_sym_PERCENT] = ACTIONS(1886),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1888),
    [anon_sym_CARET] = ACTIONS(1886),
    [anon_sym_LT_LT] = ACTIONS(1888),
    [anon_sym_GT_GT] = ACTIONS(1888),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1888),
    [sym__eq_eq_custom] = ACTIONS(1888),
    [sym__plus_then_ws] = ACTIONS(1888),
    [sym__minus_then_ws] = ACTIONS(1888),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [521] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1892),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [522] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1593),
    [sym_boolean_literal] = STATE(1593),
    [sym__string_literal] = STATE(1593),
    [sym_line_string_literal] = STATE(1593),
    [sym_multi_line_string_literal] = STATE(1593),
    [sym_raw_string_literal] = STATE(1593),
    [sym_regex_literal] = STATE(1593),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1593),
    [sym__unary_expression] = STATE(1593),
    [sym_postfix_expression] = STATE(1593),
    [sym_constructor_expression] = STATE(1593),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1593),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1593),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1593),
    [sym_prefix_expression] = STATE(1593),
    [sym_as_expression] = STATE(1593),
    [sym_selector_expression] = STATE(1593),
    [sym__binary_expression] = STATE(1593),
    [sym_multiplicative_expression] = STATE(1593),
    [sym_additive_expression] = STATE(1593),
    [sym_range_expression] = STATE(1593),
    [sym_infix_expression] = STATE(1593),
    [sym_nil_coalescing_expression] = STATE(1593),
    [sym_check_expression] = STATE(1593),
    [sym_comparison_expression] = STATE(1593),
    [sym_equality_expression] = STATE(1593),
    [sym_conjunction_expression] = STATE(1593),
    [sym_disjunction_expression] = STATE(1593),
    [sym_bitwise_operation] = STATE(1593),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1593),
    [sym_await_expression] = STATE(1593),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1593),
    [sym_call_expression] = STATE(1593),
    [sym_macro_invocation] = STATE(1593),
    [sym__primary_expression] = STATE(1593),
    [sym_tuple_expression] = STATE(1593),
    [sym_array_literal] = STATE(1593),
    [sym_dictionary_literal] = STATE(1593),
    [sym_special_literal] = STATE(1593),
    [sym_playground_literal] = STATE(1593),
    [sym_lambda_literal] = STATE(1593),
    [sym_self_expression] = STATE(1593),
    [sym_super_expression] = STATE(1593),
    [sym_if_statement] = STATE(1593),
    [sym_switch_statement] = STATE(1593),
    [sym_key_path_expression] = STATE(1593),
    [sym_key_path_string_expression] = STATE(1593),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1593),
    [sym__equality_operator] = STATE(1593),
    [sym__comparison_operator] = STATE(1593),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1593),
    [sym__multiplicative_operator] = STATE(1593),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1593),
    [sym_value_parameter_pack] = STATE(1593),
    [sym_value_pack_expansion] = STATE(1593),
    [sym__referenceable_operator] = STATE(1593),
    [sym__equal_sign] = STATE(1593),
    [sym__eq_eq] = STATE(1593),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1593),
    [sym_diagnostic] = STATE(1593),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1886),
    [sym_real_literal] = ACTIONS(1888),
    [sym_integer_literal] = ACTIONS(1886),
    [sym_hex_literal] = ACTIONS(1886),
    [sym_oct_literal] = ACTIONS(1888),
    [sym_bin_literal] = ACTIONS(1888),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1894),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1886),
    [anon_sym_GT] = ACTIONS(1886),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1888),
    [anon_sym_DASH_EQ] = ACTIONS(1888),
    [anon_sym_STAR_EQ] = ACTIONS(1888),
    [anon_sym_SLASH_EQ] = ACTIONS(1888),
    [anon_sym_PERCENT_EQ] = ACTIONS(1888),
    [anon_sym_BANG_EQ] = ACTIONS(1886),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1888),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1888),
    [anon_sym_LT_EQ] = ACTIONS(1888),
    [anon_sym_GT_EQ] = ACTIONS(1888),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1886),
    [anon_sym_SLASH] = ACTIONS(1886),
    [anon_sym_PERCENT] = ACTIONS(1886),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1888),
    [anon_sym_CARET] = ACTIONS(1886),
    [anon_sym_LT_LT] = ACTIONS(1888),
    [anon_sym_GT_GT] = ACTIONS(1888),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1888),
    [sym__eq_eq_custom] = ACTIONS(1888),
    [sym__plus_then_ws] = ACTIONS(1888),
    [sym__minus_then_ws] = ACTIONS(1888),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [523] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1593),
    [sym_boolean_literal] = STATE(1593),
    [sym__string_literal] = STATE(1593),
    [sym_line_string_literal] = STATE(1593),
    [sym_multi_line_string_literal] = STATE(1593),
    [sym_raw_string_literal] = STATE(1593),
    [sym_regex_literal] = STATE(1593),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1593),
    [sym__unary_expression] = STATE(1593),
    [sym_postfix_expression] = STATE(1593),
    [sym_constructor_expression] = STATE(1593),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1593),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1593),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1593),
    [sym_prefix_expression] = STATE(1593),
    [sym_as_expression] = STATE(1593),
    [sym_selector_expression] = STATE(1593),
    [sym__binary_expression] = STATE(1593),
    [sym_multiplicative_expression] = STATE(1593),
    [sym_additive_expression] = STATE(1593),
    [sym_range_expression] = STATE(1593),
    [sym_infix_expression] = STATE(1593),
    [sym_nil_coalescing_expression] = STATE(1593),
    [sym_check_expression] = STATE(1593),
    [sym_comparison_expression] = STATE(1593),
    [sym_equality_expression] = STATE(1593),
    [sym_conjunction_expression] = STATE(1593),
    [sym_disjunction_expression] = STATE(1593),
    [sym_bitwise_operation] = STATE(1593),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1593),
    [sym_await_expression] = STATE(1593),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1593),
    [sym_call_expression] = STATE(1593),
    [sym_macro_invocation] = STATE(1593),
    [sym__primary_expression] = STATE(1593),
    [sym_tuple_expression] = STATE(1593),
    [sym_array_literal] = STATE(1593),
    [sym_dictionary_literal] = STATE(1593),
    [sym_special_literal] = STATE(1593),
    [sym_playground_literal] = STATE(1593),
    [sym_lambda_literal] = STATE(1593),
    [sym_self_expression] = STATE(1593),
    [sym_super_expression] = STATE(1593),
    [sym_if_statement] = STATE(1593),
    [sym_switch_statement] = STATE(1593),
    [sym_key_path_expression] = STATE(1593),
    [sym_key_path_string_expression] = STATE(1593),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1593),
    [sym__equality_operator] = STATE(1593),
    [sym__comparison_operator] = STATE(1593),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1593),
    [sym__multiplicative_operator] = STATE(1593),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1593),
    [sym_value_parameter_pack] = STATE(1593),
    [sym_value_pack_expansion] = STATE(1593),
    [sym__referenceable_operator] = STATE(1593),
    [sym__equal_sign] = STATE(1593),
    [sym__eq_eq] = STATE(1593),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1593),
    [sym_diagnostic] = STATE(1593),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1886),
    [sym_real_literal] = ACTIONS(1888),
    [sym_integer_literal] = ACTIONS(1886),
    [sym_hex_literal] = ACTIONS(1886),
    [sym_oct_literal] = ACTIONS(1888),
    [sym_bin_literal] = ACTIONS(1888),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1896),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1886),
    [anon_sym_GT] = ACTIONS(1886),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1888),
    [anon_sym_DASH_EQ] = ACTIONS(1888),
    [anon_sym_STAR_EQ] = ACTIONS(1888),
    [anon_sym_SLASH_EQ] = ACTIONS(1888),
    [anon_sym_PERCENT_EQ] = ACTIONS(1888),
    [anon_sym_BANG_EQ] = ACTIONS(1886),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1888),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1888),
    [anon_sym_LT_EQ] = ACTIONS(1888),
    [anon_sym_GT_EQ] = ACTIONS(1888),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1886),
    [anon_sym_SLASH] = ACTIONS(1886),
    [anon_sym_PERCENT] = ACTIONS(1886),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1888),
    [anon_sym_CARET] = ACTIONS(1886),
    [anon_sym_LT_LT] = ACTIONS(1888),
    [anon_sym_GT_GT] = ACTIONS(1888),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1888),
    [sym__eq_eq_custom] = ACTIONS(1888),
    [sym__plus_then_ws] = ACTIONS(1888),
    [sym__minus_then_ws] = ACTIONS(1888),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [524] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1898),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [525] = {
    [sym_simple_identifier] = STATE(2331),
    [sym__contextual_simple_identifier] = STATE(2240),
    [sym__basic_literal] = STATE(1503),
    [sym_boolean_literal] = STATE(1503),
    [sym__string_literal] = STATE(1503),
    [sym_line_string_literal] = STATE(1503),
    [sym_multi_line_string_literal] = STATE(1503),
    [sym_raw_string_literal] = STATE(1503),
    [sym_regex_literal] = STATE(1503),
    [sym__extended_regex_literal] = STATE(2556),
    [sym__multiline_regex_literal] = STATE(2556),
    [sym_user_type] = STATE(6440),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6440),
    [sym_dictionary_type] = STATE(6440),
    [sym__expression] = STATE(1503),
    [sym__unary_expression] = STATE(1503),
    [sym_postfix_expression] = STATE(1503),
    [sym_constructor_expression] = STATE(1503),
    [sym__parenthesized_type] = STATE(7995),
    [sym_navigation_expression] = STATE(1503),
    [sym__navigable_type_expression] = STATE(8059),
    [sym_open_start_range_expression] = STATE(1503),
    [sym__range_operator] = STATE(576),
    [sym_open_end_range_expression] = STATE(1503),
    [sym_prefix_expression] = STATE(1503),
    [sym_as_expression] = STATE(1503),
    [sym_selector_expression] = STATE(1503),
    [sym__binary_expression] = STATE(1503),
    [sym_multiplicative_expression] = STATE(1503),
    [sym_additive_expression] = STATE(1503),
    [sym_range_expression] = STATE(1503),
    [sym_infix_expression] = STATE(1503),
    [sym_nil_coalescing_expression] = STATE(1503),
    [sym_check_expression] = STATE(1503),
    [sym_comparison_expression] = STATE(1503),
    [sym_equality_expression] = STATE(1503),
    [sym_conjunction_expression] = STATE(1503),
    [sym_disjunction_expression] = STATE(1503),
    [sym_bitwise_operation] = STATE(1503),
    [sym_custom_operator] = STATE(1097),
    [sym_try_expression] = STATE(1503),
    [sym_await_expression] = STATE(1503),
    [sym__await_operator] = STATE(575),
    [sym_ternary_expression] = STATE(1503),
    [sym_call_expression] = STATE(1503),
    [sym_macro_invocation] = STATE(1503),
    [sym__primary_expression] = STATE(1503),
    [sym_tuple_expression] = STATE(1503),
    [sym_array_literal] = STATE(1503),
    [sym_dictionary_literal] = STATE(1503),
    [sym_special_literal] = STATE(1503),
    [sym_playground_literal] = STATE(1503),
    [sym_lambda_literal] = STATE(1503),
    [sym_self_expression] = STATE(1503),
    [sym_super_expression] = STATE(1503),
    [sym_if_statement] = STATE(1503),
    [sym_switch_statement] = STATE(1503),
    [sym_key_path_expression] = STATE(1503),
    [sym_key_path_string_expression] = STATE(1503),
    [sym_try_operator] = STATE(648),
    [sym__assignment_and_operator] = STATE(1503),
    [sym__equality_operator] = STATE(1503),
    [sym__comparison_operator] = STATE(1503),
    [sym__three_dot_operator] = STATE(1089),
    [sym__open_ended_range_operator] = STATE(576),
    [sym__additive_operator] = STATE(1503),
    [sym__multiplicative_operator] = STATE(1503),
    [sym__prefix_unary_operator] = STATE(711),
    [sym_directly_assignable_expression] = STATE(6442),
    [sym_assignment] = STATE(1503),
    [sym_value_parameter_pack] = STATE(1503),
    [sym_value_pack_expansion] = STATE(1503),
    [sym_external_macro_definition] = STATE(7190),
    [sym__referenceable_operator] = STATE(1503),
    [sym__equal_sign] = STATE(1503),
    [sym__eq_eq] = STATE(1503),
    [sym__dot] = STATE(711),
    [sym__hash_symbol] = STATE(4830),
    [sym_bang] = STATE(1097),
    [sym__parameter_ownership_modifier] = STATE(2240),
    [sym_directive] = STATE(1503),
    [sym_diagnostic] = STATE(1503),
    [aux_sym_raw_string_literal_repeat1] = STATE(7884),
    [anon_sym_BANG] = ACTIONS(969),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(971),
    [aux_sym_simple_identifier_token2] = ACTIONS(973),
    [aux_sym_simple_identifier_token3] = ACTIONS(973),
    [aux_sym_simple_identifier_token4] = ACTIONS(973),
    [anon_sym_actor] = ACTIONS(971),
    [anon_sym_async] = ACTIONS(971),
    [anon_sym_each] = ACTIONS(975),
    [anon_sym_lazy] = ACTIONS(971),
    [anon_sym_repeat] = ACTIONS(977),
    [anon_sym_package] = ACTIONS(971),
    [anon_sym_nil] = ACTIONS(1900),
    [sym_real_literal] = ACTIONS(1902),
    [sym_integer_literal] = ACTIONS(1900),
    [sym_hex_literal] = ACTIONS(1900),
    [sym_oct_literal] = ACTIONS(1902),
    [sym_bin_literal] = ACTIONS(1902),
    [anon_sym_true] = ACTIONS(983),
    [anon_sym_false] = ACTIONS(983),
    [anon_sym_DQUOTE] = ACTIONS(985),
    [anon_sym_BSLASH] = ACTIONS(987),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(989),
    [sym__oneline_regex_literal] = ACTIONS(991),
    [anon_sym_LPAREN] = ACTIONS(993),
    [anon_sym_LBRACK] = ACTIONS(995),
    [anon_sym_AMP] = ACTIONS(997),
    [anon_sym_TILDE] = ACTIONS(997),
    [anon_sym_if] = ACTIONS(999),
    [anon_sym_switch] = ACTIONS(1001),
    [aux_sym_custom_operator_token1] = ACTIONS(1003),
    [anon_sym_LT] = ACTIONS(1900),
    [anon_sym_GT] = ACTIONS(1900),
    [anon_sym_await] = ACTIONS(1005),
    [anon_sym_LBRACE] = ACTIONS(1007),
    [anon_sym_CARET_LBRACE] = ACTIONS(1007),
    [anon_sym_self] = ACTIONS(1009),
    [anon_sym_super] = ACTIONS(1011),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1902),
    [anon_sym_DASH_EQ] = ACTIONS(1902),
    [anon_sym_STAR_EQ] = ACTIONS(1902),
    [anon_sym_SLASH_EQ] = ACTIONS(1902),
    [anon_sym_PERCENT_EQ] = ACTIONS(1902),
    [anon_sym_BANG_EQ] = ACTIONS(1900),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1902),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1902),
    [anon_sym_LT_EQ] = ACTIONS(1902),
    [anon_sym_GT_EQ] = ACTIONS(1902),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1013),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1015),
    [anon_sym_PLUS] = ACTIONS(1017),
    [anon_sym_DASH] = ACTIONS(1017),
    [anon_sym_STAR] = ACTIONS(1900),
    [anon_sym_SLASH] = ACTIONS(1900),
    [anon_sym_PERCENT] = ACTIONS(1900),
    [anon_sym_PLUS_PLUS] = ACTIONS(997),
    [anon_sym_DASH_DASH] = ACTIONS(997),
    [anon_sym_PIPE] = ACTIONS(1902),
    [anon_sym_CARET] = ACTIONS(1900),
    [anon_sym_LT_LT] = ACTIONS(1902),
    [anon_sym_GT_GT] = ACTIONS(1902),
    [anon_sym_borrowing] = ACTIONS(971),
    [anon_sym_consuming] = ACTIONS(971),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1019),
    [sym__dot_custom] = ACTIONS(1021),
    [sym__eq_custom] = ACTIONS(1902),
    [sym__eq_eq_custom] = ACTIONS(1902),
    [sym__plus_then_ws] = ACTIONS(1902),
    [sym__minus_then_ws] = ACTIONS(1902),
    [sym__bang_custom] = ACTIONS(1023),
    [sym__custom_operator] = ACTIONS(1003),
    [sym__hash_symbol_custom] = ACTIONS(1904),
    [sym__directive_if] = ACTIONS(1027),
    [sym__directive_elseif] = ACTIONS(1027),
    [sym__directive_else] = ACTIONS(1029),
    [sym__directive_endif] = ACTIONS(1029),
  },
  [526] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1906),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [527] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1593),
    [sym_boolean_literal] = STATE(1593),
    [sym__string_literal] = STATE(1593),
    [sym_line_string_literal] = STATE(1593),
    [sym_multi_line_string_literal] = STATE(1593),
    [sym_raw_string_literal] = STATE(1593),
    [sym_regex_literal] = STATE(1593),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1593),
    [sym__unary_expression] = STATE(1593),
    [sym_postfix_expression] = STATE(1593),
    [sym_constructor_expression] = STATE(1593),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1593),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1593),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1593),
    [sym_prefix_expression] = STATE(1593),
    [sym_as_expression] = STATE(1593),
    [sym_selector_expression] = STATE(1593),
    [sym__binary_expression] = STATE(1593),
    [sym_multiplicative_expression] = STATE(1593),
    [sym_additive_expression] = STATE(1593),
    [sym_range_expression] = STATE(1593),
    [sym_infix_expression] = STATE(1593),
    [sym_nil_coalescing_expression] = STATE(1593),
    [sym_check_expression] = STATE(1593),
    [sym_comparison_expression] = STATE(1593),
    [sym_equality_expression] = STATE(1593),
    [sym_conjunction_expression] = STATE(1593),
    [sym_disjunction_expression] = STATE(1593),
    [sym_bitwise_operation] = STATE(1593),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1593),
    [sym_await_expression] = STATE(1593),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1593),
    [sym_call_expression] = STATE(1593),
    [sym_macro_invocation] = STATE(1593),
    [sym__primary_expression] = STATE(1593),
    [sym_tuple_expression] = STATE(1593),
    [sym_array_literal] = STATE(1593),
    [sym_dictionary_literal] = STATE(1593),
    [sym_special_literal] = STATE(1593),
    [sym_playground_literal] = STATE(1593),
    [sym_lambda_literal] = STATE(1593),
    [sym_self_expression] = STATE(1593),
    [sym_super_expression] = STATE(1593),
    [sym_if_statement] = STATE(1593),
    [sym_switch_statement] = STATE(1593),
    [sym_key_path_expression] = STATE(1593),
    [sym_key_path_string_expression] = STATE(1593),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1593),
    [sym__equality_operator] = STATE(1593),
    [sym__comparison_operator] = STATE(1593),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1593),
    [sym__multiplicative_operator] = STATE(1593),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1593),
    [sym_value_parameter_pack] = STATE(1593),
    [sym_value_pack_expansion] = STATE(1593),
    [sym__referenceable_operator] = STATE(1593),
    [sym__equal_sign] = STATE(1593),
    [sym__eq_eq] = STATE(1593),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1593),
    [sym_diagnostic] = STATE(1593),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1886),
    [sym_real_literal] = ACTIONS(1888),
    [sym_integer_literal] = ACTIONS(1886),
    [sym_hex_literal] = ACTIONS(1886),
    [sym_oct_literal] = ACTIONS(1888),
    [sym_bin_literal] = ACTIONS(1888),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1908),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1886),
    [anon_sym_GT] = ACTIONS(1886),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1888),
    [anon_sym_DASH_EQ] = ACTIONS(1888),
    [anon_sym_STAR_EQ] = ACTIONS(1888),
    [anon_sym_SLASH_EQ] = ACTIONS(1888),
    [anon_sym_PERCENT_EQ] = ACTIONS(1888),
    [anon_sym_BANG_EQ] = ACTIONS(1886),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1888),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1888),
    [anon_sym_LT_EQ] = ACTIONS(1888),
    [anon_sym_GT_EQ] = ACTIONS(1888),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1886),
    [anon_sym_SLASH] = ACTIONS(1886),
    [anon_sym_PERCENT] = ACTIONS(1886),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1888),
    [anon_sym_CARET] = ACTIONS(1886),
    [anon_sym_LT_LT] = ACTIONS(1888),
    [anon_sym_GT_GT] = ACTIONS(1888),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1888),
    [sym__eq_eq_custom] = ACTIONS(1888),
    [sym__plus_then_ws] = ACTIONS(1888),
    [sym__minus_then_ws] = ACTIONS(1888),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [528] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1593),
    [sym_boolean_literal] = STATE(1593),
    [sym__string_literal] = STATE(1593),
    [sym_line_string_literal] = STATE(1593),
    [sym_multi_line_string_literal] = STATE(1593),
    [sym_raw_string_literal] = STATE(1593),
    [sym_regex_literal] = STATE(1593),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1593),
    [sym__unary_expression] = STATE(1593),
    [sym_postfix_expression] = STATE(1593),
    [sym_constructor_expression] = STATE(1593),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1593),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1593),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1593),
    [sym_prefix_expression] = STATE(1593),
    [sym_as_expression] = STATE(1593),
    [sym_selector_expression] = STATE(1593),
    [sym__binary_expression] = STATE(1593),
    [sym_multiplicative_expression] = STATE(1593),
    [sym_additive_expression] = STATE(1593),
    [sym_range_expression] = STATE(1593),
    [sym_infix_expression] = STATE(1593),
    [sym_nil_coalescing_expression] = STATE(1593),
    [sym_check_expression] = STATE(1593),
    [sym_comparison_expression] = STATE(1593),
    [sym_equality_expression] = STATE(1593),
    [sym_conjunction_expression] = STATE(1593),
    [sym_disjunction_expression] = STATE(1593),
    [sym_bitwise_operation] = STATE(1593),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1593),
    [sym_await_expression] = STATE(1593),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1593),
    [sym_call_expression] = STATE(1593),
    [sym_macro_invocation] = STATE(1593),
    [sym__primary_expression] = STATE(1593),
    [sym_tuple_expression] = STATE(1593),
    [sym_array_literal] = STATE(1593),
    [sym_dictionary_literal] = STATE(1593),
    [sym_special_literal] = STATE(1593),
    [sym_playground_literal] = STATE(1593),
    [sym_lambda_literal] = STATE(1593),
    [sym_self_expression] = STATE(1593),
    [sym_super_expression] = STATE(1593),
    [sym_if_statement] = STATE(1593),
    [sym_switch_statement] = STATE(1593),
    [sym_key_path_expression] = STATE(1593),
    [sym_key_path_string_expression] = STATE(1593),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1593),
    [sym__equality_operator] = STATE(1593),
    [sym__comparison_operator] = STATE(1593),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1593),
    [sym__multiplicative_operator] = STATE(1593),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1593),
    [sym_value_parameter_pack] = STATE(1593),
    [sym_value_pack_expansion] = STATE(1593),
    [sym__referenceable_operator] = STATE(1593),
    [sym__equal_sign] = STATE(1593),
    [sym__eq_eq] = STATE(1593),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1593),
    [sym_diagnostic] = STATE(1593),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1886),
    [sym_real_literal] = ACTIONS(1888),
    [sym_integer_literal] = ACTIONS(1886),
    [sym_hex_literal] = ACTIONS(1886),
    [sym_oct_literal] = ACTIONS(1888),
    [sym_bin_literal] = ACTIONS(1888),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1910),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1886),
    [anon_sym_GT] = ACTIONS(1886),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1888),
    [anon_sym_DASH_EQ] = ACTIONS(1888),
    [anon_sym_STAR_EQ] = ACTIONS(1888),
    [anon_sym_SLASH_EQ] = ACTIONS(1888),
    [anon_sym_PERCENT_EQ] = ACTIONS(1888),
    [anon_sym_BANG_EQ] = ACTIONS(1886),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1888),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1888),
    [anon_sym_LT_EQ] = ACTIONS(1888),
    [anon_sym_GT_EQ] = ACTIONS(1888),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1886),
    [anon_sym_SLASH] = ACTIONS(1886),
    [anon_sym_PERCENT] = ACTIONS(1886),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1888),
    [anon_sym_CARET] = ACTIONS(1886),
    [anon_sym_LT_LT] = ACTIONS(1888),
    [anon_sym_GT_GT] = ACTIONS(1888),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1888),
    [sym__eq_eq_custom] = ACTIONS(1888),
    [sym__plus_then_ws] = ACTIONS(1888),
    [sym__minus_then_ws] = ACTIONS(1888),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [529] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1912),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [530] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1914),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [531] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1916),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [532] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1918),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [533] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1920),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [534] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1922),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [535] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1593),
    [sym_boolean_literal] = STATE(1593),
    [sym__string_literal] = STATE(1593),
    [sym_line_string_literal] = STATE(1593),
    [sym_multi_line_string_literal] = STATE(1593),
    [sym_raw_string_literal] = STATE(1593),
    [sym_regex_literal] = STATE(1593),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1593),
    [sym__unary_expression] = STATE(1593),
    [sym_postfix_expression] = STATE(1593),
    [sym_constructor_expression] = STATE(1593),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1593),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1593),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1593),
    [sym_prefix_expression] = STATE(1593),
    [sym_as_expression] = STATE(1593),
    [sym_selector_expression] = STATE(1593),
    [sym__binary_expression] = STATE(1593),
    [sym_multiplicative_expression] = STATE(1593),
    [sym_additive_expression] = STATE(1593),
    [sym_range_expression] = STATE(1593),
    [sym_infix_expression] = STATE(1593),
    [sym_nil_coalescing_expression] = STATE(1593),
    [sym_check_expression] = STATE(1593),
    [sym_comparison_expression] = STATE(1593),
    [sym_equality_expression] = STATE(1593),
    [sym_conjunction_expression] = STATE(1593),
    [sym_disjunction_expression] = STATE(1593),
    [sym_bitwise_operation] = STATE(1593),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1593),
    [sym_await_expression] = STATE(1593),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1593),
    [sym_call_expression] = STATE(1593),
    [sym_macro_invocation] = STATE(1593),
    [sym__primary_expression] = STATE(1593),
    [sym_tuple_expression] = STATE(1593),
    [sym_array_literal] = STATE(1593),
    [sym_dictionary_literal] = STATE(1593),
    [sym_special_literal] = STATE(1593),
    [sym_playground_literal] = STATE(1593),
    [sym_lambda_literal] = STATE(1593),
    [sym_self_expression] = STATE(1593),
    [sym_super_expression] = STATE(1593),
    [sym_if_statement] = STATE(1593),
    [sym_switch_statement] = STATE(1593),
    [sym_key_path_expression] = STATE(1593),
    [sym_key_path_string_expression] = STATE(1593),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1593),
    [sym__equality_operator] = STATE(1593),
    [sym__comparison_operator] = STATE(1593),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1593),
    [sym__multiplicative_operator] = STATE(1593),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1593),
    [sym_value_parameter_pack] = STATE(1593),
    [sym_value_pack_expansion] = STATE(1593),
    [sym__referenceable_operator] = STATE(1593),
    [sym__equal_sign] = STATE(1593),
    [sym__eq_eq] = STATE(1593),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1593),
    [sym_diagnostic] = STATE(1593),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1886),
    [sym_real_literal] = ACTIONS(1888),
    [sym_integer_literal] = ACTIONS(1886),
    [sym_hex_literal] = ACTIONS(1886),
    [sym_oct_literal] = ACTIONS(1888),
    [sym_bin_literal] = ACTIONS(1888),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1924),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1886),
    [anon_sym_GT] = ACTIONS(1886),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1888),
    [anon_sym_DASH_EQ] = ACTIONS(1888),
    [anon_sym_STAR_EQ] = ACTIONS(1888),
    [anon_sym_SLASH_EQ] = ACTIONS(1888),
    [anon_sym_PERCENT_EQ] = ACTIONS(1888),
    [anon_sym_BANG_EQ] = ACTIONS(1886),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1888),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1888),
    [anon_sym_LT_EQ] = ACTIONS(1888),
    [anon_sym_GT_EQ] = ACTIONS(1888),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1886),
    [anon_sym_SLASH] = ACTIONS(1886),
    [anon_sym_PERCENT] = ACTIONS(1886),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1888),
    [anon_sym_CARET] = ACTIONS(1886),
    [anon_sym_LT_LT] = ACTIONS(1888),
    [anon_sym_GT_GT] = ACTIONS(1888),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1888),
    [sym__eq_eq_custom] = ACTIONS(1888),
    [sym__plus_then_ws] = ACTIONS(1888),
    [sym__minus_then_ws] = ACTIONS(1888),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [536] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1926),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [537] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1593),
    [sym_boolean_literal] = STATE(1593),
    [sym__string_literal] = STATE(1593),
    [sym_line_string_literal] = STATE(1593),
    [sym_multi_line_string_literal] = STATE(1593),
    [sym_raw_string_literal] = STATE(1593),
    [sym_regex_literal] = STATE(1593),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1593),
    [sym__unary_expression] = STATE(1593),
    [sym_postfix_expression] = STATE(1593),
    [sym_constructor_expression] = STATE(1593),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1593),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1593),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1593),
    [sym_prefix_expression] = STATE(1593),
    [sym_as_expression] = STATE(1593),
    [sym_selector_expression] = STATE(1593),
    [sym__binary_expression] = STATE(1593),
    [sym_multiplicative_expression] = STATE(1593),
    [sym_additive_expression] = STATE(1593),
    [sym_range_expression] = STATE(1593),
    [sym_infix_expression] = STATE(1593),
    [sym_nil_coalescing_expression] = STATE(1593),
    [sym_check_expression] = STATE(1593),
    [sym_comparison_expression] = STATE(1593),
    [sym_equality_expression] = STATE(1593),
    [sym_conjunction_expression] = STATE(1593),
    [sym_disjunction_expression] = STATE(1593),
    [sym_bitwise_operation] = STATE(1593),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1593),
    [sym_await_expression] = STATE(1593),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1593),
    [sym_call_expression] = STATE(1593),
    [sym_macro_invocation] = STATE(1593),
    [sym__primary_expression] = STATE(1593),
    [sym_tuple_expression] = STATE(1593),
    [sym_array_literal] = STATE(1593),
    [sym_dictionary_literal] = STATE(1593),
    [sym_special_literal] = STATE(1593),
    [sym_playground_literal] = STATE(1593),
    [sym_lambda_literal] = STATE(1593),
    [sym_self_expression] = STATE(1593),
    [sym_super_expression] = STATE(1593),
    [sym_if_statement] = STATE(1593),
    [sym_switch_statement] = STATE(1593),
    [sym_key_path_expression] = STATE(1593),
    [sym_key_path_string_expression] = STATE(1593),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1593),
    [sym__equality_operator] = STATE(1593),
    [sym__comparison_operator] = STATE(1593),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1593),
    [sym__multiplicative_operator] = STATE(1593),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1593),
    [sym_value_parameter_pack] = STATE(1593),
    [sym_value_pack_expansion] = STATE(1593),
    [sym__referenceable_operator] = STATE(1593),
    [sym__equal_sign] = STATE(1593),
    [sym__eq_eq] = STATE(1593),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1593),
    [sym_diagnostic] = STATE(1593),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1886),
    [sym_real_literal] = ACTIONS(1888),
    [sym_integer_literal] = ACTIONS(1886),
    [sym_hex_literal] = ACTIONS(1886),
    [sym_oct_literal] = ACTIONS(1888),
    [sym_bin_literal] = ACTIONS(1888),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1928),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1886),
    [anon_sym_GT] = ACTIONS(1886),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1888),
    [anon_sym_DASH_EQ] = ACTIONS(1888),
    [anon_sym_STAR_EQ] = ACTIONS(1888),
    [anon_sym_SLASH_EQ] = ACTIONS(1888),
    [anon_sym_PERCENT_EQ] = ACTIONS(1888),
    [anon_sym_BANG_EQ] = ACTIONS(1886),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1888),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1888),
    [anon_sym_LT_EQ] = ACTIONS(1888),
    [anon_sym_GT_EQ] = ACTIONS(1888),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1886),
    [anon_sym_SLASH] = ACTIONS(1886),
    [anon_sym_PERCENT] = ACTIONS(1886),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1888),
    [anon_sym_CARET] = ACTIONS(1886),
    [anon_sym_LT_LT] = ACTIONS(1888),
    [anon_sym_GT_GT] = ACTIONS(1888),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1888),
    [sym__eq_eq_custom] = ACTIONS(1888),
    [sym__plus_then_ws] = ACTIONS(1888),
    [sym__minus_then_ws] = ACTIONS(1888),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [538] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1672),
    [sym_boolean_literal] = STATE(1672),
    [sym__string_literal] = STATE(1672),
    [sym_line_string_literal] = STATE(1672),
    [sym_multi_line_string_literal] = STATE(1672),
    [sym_raw_string_literal] = STATE(1672),
    [sym_regex_literal] = STATE(1672),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1672),
    [sym__unary_expression] = STATE(1672),
    [sym_postfix_expression] = STATE(1672),
    [sym_constructor_expression] = STATE(1672),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1672),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1672),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1672),
    [sym_prefix_expression] = STATE(1672),
    [sym_as_expression] = STATE(1672),
    [sym_selector_expression] = STATE(1672),
    [sym__binary_expression] = STATE(1672),
    [sym_multiplicative_expression] = STATE(1672),
    [sym_additive_expression] = STATE(1672),
    [sym_range_expression] = STATE(1672),
    [sym_infix_expression] = STATE(1672),
    [sym_nil_coalescing_expression] = STATE(1672),
    [sym_check_expression] = STATE(1672),
    [sym_comparison_expression] = STATE(1672),
    [sym_equality_expression] = STATE(1672),
    [sym_conjunction_expression] = STATE(1672),
    [sym_disjunction_expression] = STATE(1672),
    [sym_bitwise_operation] = STATE(1672),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1672),
    [sym_await_expression] = STATE(1672),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1672),
    [sym_call_expression] = STATE(1672),
    [sym_macro_invocation] = STATE(1672),
    [sym__primary_expression] = STATE(1672),
    [sym_tuple_expression] = STATE(1672),
    [sym_array_literal] = STATE(1672),
    [sym_dictionary_literal] = STATE(1672),
    [sym_special_literal] = STATE(1672),
    [sym_playground_literal] = STATE(1672),
    [sym_lambda_literal] = STATE(1672),
    [sym_self_expression] = STATE(1672),
    [sym_super_expression] = STATE(1672),
    [sym_if_statement] = STATE(1672),
    [sym_switch_statement] = STATE(1672),
    [sym_key_path_expression] = STATE(1672),
    [sym_key_path_string_expression] = STATE(1672),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1672),
    [sym__equality_operator] = STATE(1672),
    [sym__comparison_operator] = STATE(1672),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1672),
    [sym__multiplicative_operator] = STATE(1672),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1672),
    [sym_value_parameter_pack] = STATE(1672),
    [sym_value_pack_expansion] = STATE(1672),
    [sym__referenceable_operator] = STATE(1672),
    [sym__equal_sign] = STATE(1672),
    [sym__eq_eq] = STATE(1672),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1672),
    [sym_diagnostic] = STATE(1672),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1185),
    [sym_real_literal] = ACTIONS(1187),
    [sym_integer_literal] = ACTIONS(1185),
    [sym_hex_literal] = ACTIONS(1185),
    [sym_oct_literal] = ACTIONS(1187),
    [sym_bin_literal] = ACTIONS(1187),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_COLON] = ACTIONS(1193),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1185),
    [anon_sym_GT] = ACTIONS(1185),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1187),
    [anon_sym_DASH_EQ] = ACTIONS(1187),
    [anon_sym_STAR_EQ] = ACTIONS(1187),
    [anon_sym_SLASH_EQ] = ACTIONS(1187),
    [anon_sym_PERCENT_EQ] = ACTIONS(1187),
    [anon_sym_BANG_EQ] = ACTIONS(1185),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1187),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1187),
    [anon_sym_LT_EQ] = ACTIONS(1187),
    [anon_sym_GT_EQ] = ACTIONS(1187),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1185),
    [anon_sym_SLASH] = ACTIONS(1185),
    [anon_sym_PERCENT] = ACTIONS(1185),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1187),
    [anon_sym_CARET] = ACTIONS(1185),
    [anon_sym_LT_LT] = ACTIONS(1187),
    [anon_sym_GT_GT] = ACTIONS(1187),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1187),
    [sym__eq_eq_custom] = ACTIONS(1187),
    [sym__plus_then_ws] = ACTIONS(1187),
    [sym__minus_then_ws] = ACTIONS(1187),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [539] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1930),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [540] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1932),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [541] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1934),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [542] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1648),
    [sym_boolean_literal] = STATE(1648),
    [sym__string_literal] = STATE(1648),
    [sym_line_string_literal] = STATE(1648),
    [sym_multi_line_string_literal] = STATE(1648),
    [sym_raw_string_literal] = STATE(1648),
    [sym_regex_literal] = STATE(1648),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1648),
    [sym__unary_expression] = STATE(1648),
    [sym_postfix_expression] = STATE(1648),
    [sym_constructor_expression] = STATE(1648),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1648),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1648),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1648),
    [sym_prefix_expression] = STATE(1648),
    [sym_as_expression] = STATE(1648),
    [sym_selector_expression] = STATE(1648),
    [sym__binary_expression] = STATE(1648),
    [sym_multiplicative_expression] = STATE(1648),
    [sym_additive_expression] = STATE(1648),
    [sym_range_expression] = STATE(1648),
    [sym_infix_expression] = STATE(1648),
    [sym_nil_coalescing_expression] = STATE(1648),
    [sym_check_expression] = STATE(1648),
    [sym_comparison_expression] = STATE(1648),
    [sym_equality_expression] = STATE(1648),
    [sym_conjunction_expression] = STATE(1648),
    [sym_disjunction_expression] = STATE(1648),
    [sym_bitwise_operation] = STATE(1648),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1648),
    [sym_await_expression] = STATE(1648),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1648),
    [sym_call_expression] = STATE(1648),
    [sym_macro_invocation] = STATE(1648),
    [sym__primary_expression] = STATE(1648),
    [sym_tuple_expression] = STATE(1648),
    [sym_array_literal] = STATE(1648),
    [sym_dictionary_literal] = STATE(1648),
    [sym__dictionary_literal_item] = STATE(8246),
    [sym_special_literal] = STATE(1648),
    [sym_playground_literal] = STATE(1648),
    [sym_lambda_literal] = STATE(1648),
    [sym_self_expression] = STATE(1648),
    [sym_super_expression] = STATE(1648),
    [sym_if_statement] = STATE(1648),
    [sym_switch_statement] = STATE(1648),
    [sym_key_path_expression] = STATE(1648),
    [sym_key_path_string_expression] = STATE(1648),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1648),
    [sym__equality_operator] = STATE(1648),
    [sym__comparison_operator] = STATE(1648),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1648),
    [sym__multiplicative_operator] = STATE(1648),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1648),
    [sym_value_parameter_pack] = STATE(1648),
    [sym_value_pack_expansion] = STATE(1648),
    [sym__referenceable_operator] = STATE(1648),
    [sym__equal_sign] = STATE(1648),
    [sym__eq_eq] = STATE(1648),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1648),
    [sym_diagnostic] = STATE(1648),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1634),
    [sym_real_literal] = ACTIONS(1636),
    [sym_integer_literal] = ACTIONS(1634),
    [sym_hex_literal] = ACTIONS(1634),
    [sym_oct_literal] = ACTIONS(1636),
    [sym_bin_literal] = ACTIONS(1636),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1634),
    [anon_sym_GT] = ACTIONS(1634),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1636),
    [anon_sym_DASH_EQ] = ACTIONS(1636),
    [anon_sym_STAR_EQ] = ACTIONS(1636),
    [anon_sym_SLASH_EQ] = ACTIONS(1636),
    [anon_sym_PERCENT_EQ] = ACTIONS(1636),
    [anon_sym_BANG_EQ] = ACTIONS(1634),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1636),
    [anon_sym_LT_EQ] = ACTIONS(1636),
    [anon_sym_GT_EQ] = ACTIONS(1636),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1634),
    [anon_sym_SLASH] = ACTIONS(1634),
    [anon_sym_PERCENT] = ACTIONS(1634),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1636),
    [anon_sym_CARET] = ACTIONS(1634),
    [anon_sym_LT_LT] = ACTIONS(1636),
    [anon_sym_GT_GT] = ACTIONS(1636),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1636),
    [sym__eq_eq_custom] = ACTIONS(1636),
    [sym__plus_then_ws] = ACTIONS(1636),
    [sym__minus_then_ws] = ACTIONS(1636),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [543] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1593),
    [sym_boolean_literal] = STATE(1593),
    [sym__string_literal] = STATE(1593),
    [sym_line_string_literal] = STATE(1593),
    [sym_multi_line_string_literal] = STATE(1593),
    [sym_raw_string_literal] = STATE(1593),
    [sym_regex_literal] = STATE(1593),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1593),
    [sym__unary_expression] = STATE(1593),
    [sym_postfix_expression] = STATE(1593),
    [sym_constructor_expression] = STATE(1593),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1593),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1593),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1593),
    [sym_prefix_expression] = STATE(1593),
    [sym_as_expression] = STATE(1593),
    [sym_selector_expression] = STATE(1593),
    [sym__binary_expression] = STATE(1593),
    [sym_multiplicative_expression] = STATE(1593),
    [sym_additive_expression] = STATE(1593),
    [sym_range_expression] = STATE(1593),
    [sym_infix_expression] = STATE(1593),
    [sym_nil_coalescing_expression] = STATE(1593),
    [sym_check_expression] = STATE(1593),
    [sym_comparison_expression] = STATE(1593),
    [sym_equality_expression] = STATE(1593),
    [sym_conjunction_expression] = STATE(1593),
    [sym_disjunction_expression] = STATE(1593),
    [sym_bitwise_operation] = STATE(1593),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1593),
    [sym_await_expression] = STATE(1593),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1593),
    [sym_call_expression] = STATE(1593),
    [sym_macro_invocation] = STATE(1593),
    [sym__primary_expression] = STATE(1593),
    [sym_tuple_expression] = STATE(1593),
    [sym_array_literal] = STATE(1593),
    [sym_dictionary_literal] = STATE(1593),
    [sym_special_literal] = STATE(1593),
    [sym_playground_literal] = STATE(1593),
    [sym_lambda_literal] = STATE(1593),
    [sym_self_expression] = STATE(1593),
    [sym_super_expression] = STATE(1593),
    [sym_if_statement] = STATE(1593),
    [sym_switch_statement] = STATE(1593),
    [sym_key_path_expression] = STATE(1593),
    [sym_key_path_string_expression] = STATE(1593),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1593),
    [sym__equality_operator] = STATE(1593),
    [sym__comparison_operator] = STATE(1593),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1593),
    [sym__multiplicative_operator] = STATE(1593),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1593),
    [sym_value_parameter_pack] = STATE(1593),
    [sym_value_pack_expansion] = STATE(1593),
    [sym__referenceable_operator] = STATE(1593),
    [sym__equal_sign] = STATE(1593),
    [sym__eq_eq] = STATE(1593),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1593),
    [sym_diagnostic] = STATE(1593),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1886),
    [sym_real_literal] = ACTIONS(1888),
    [sym_integer_literal] = ACTIONS(1886),
    [sym_hex_literal] = ACTIONS(1886),
    [sym_oct_literal] = ACTIONS(1888),
    [sym_bin_literal] = ACTIONS(1888),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1936),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1886),
    [anon_sym_GT] = ACTIONS(1886),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1888),
    [anon_sym_DASH_EQ] = ACTIONS(1888),
    [anon_sym_STAR_EQ] = ACTIONS(1888),
    [anon_sym_SLASH_EQ] = ACTIONS(1888),
    [anon_sym_PERCENT_EQ] = ACTIONS(1888),
    [anon_sym_BANG_EQ] = ACTIONS(1886),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1888),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1888),
    [anon_sym_LT_EQ] = ACTIONS(1888),
    [anon_sym_GT_EQ] = ACTIONS(1888),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1886),
    [anon_sym_SLASH] = ACTIONS(1886),
    [anon_sym_PERCENT] = ACTIONS(1886),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1888),
    [anon_sym_CARET] = ACTIONS(1886),
    [anon_sym_LT_LT] = ACTIONS(1888),
    [anon_sym_GT_GT] = ACTIONS(1888),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1888),
    [sym__eq_eq_custom] = ACTIONS(1888),
    [sym__plus_then_ws] = ACTIONS(1888),
    [sym__minus_then_ws] = ACTIONS(1888),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [544] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1938),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [545] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1940),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [546] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1942),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [547] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1593),
    [sym_boolean_literal] = STATE(1593),
    [sym__string_literal] = STATE(1593),
    [sym_line_string_literal] = STATE(1593),
    [sym_multi_line_string_literal] = STATE(1593),
    [sym_raw_string_literal] = STATE(1593),
    [sym_regex_literal] = STATE(1593),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1593),
    [sym__unary_expression] = STATE(1593),
    [sym_postfix_expression] = STATE(1593),
    [sym_constructor_expression] = STATE(1593),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1593),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1593),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1593),
    [sym_prefix_expression] = STATE(1593),
    [sym_as_expression] = STATE(1593),
    [sym_selector_expression] = STATE(1593),
    [sym__binary_expression] = STATE(1593),
    [sym_multiplicative_expression] = STATE(1593),
    [sym_additive_expression] = STATE(1593),
    [sym_range_expression] = STATE(1593),
    [sym_infix_expression] = STATE(1593),
    [sym_nil_coalescing_expression] = STATE(1593),
    [sym_check_expression] = STATE(1593),
    [sym_comparison_expression] = STATE(1593),
    [sym_equality_expression] = STATE(1593),
    [sym_conjunction_expression] = STATE(1593),
    [sym_disjunction_expression] = STATE(1593),
    [sym_bitwise_operation] = STATE(1593),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1593),
    [sym_await_expression] = STATE(1593),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1593),
    [sym_call_expression] = STATE(1593),
    [sym_macro_invocation] = STATE(1593),
    [sym__primary_expression] = STATE(1593),
    [sym_tuple_expression] = STATE(1593),
    [sym_array_literal] = STATE(1593),
    [sym_dictionary_literal] = STATE(1593),
    [sym_special_literal] = STATE(1593),
    [sym_playground_literal] = STATE(1593),
    [sym_lambda_literal] = STATE(1593),
    [sym_self_expression] = STATE(1593),
    [sym_super_expression] = STATE(1593),
    [sym_if_statement] = STATE(1593),
    [sym_switch_statement] = STATE(1593),
    [sym_key_path_expression] = STATE(1593),
    [sym_key_path_string_expression] = STATE(1593),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1593),
    [sym__equality_operator] = STATE(1593),
    [sym__comparison_operator] = STATE(1593),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1593),
    [sym__multiplicative_operator] = STATE(1593),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1593),
    [sym_value_parameter_pack] = STATE(1593),
    [sym_value_pack_expansion] = STATE(1593),
    [sym__referenceable_operator] = STATE(1593),
    [sym__equal_sign] = STATE(1593),
    [sym__eq_eq] = STATE(1593),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1593),
    [sym_diagnostic] = STATE(1593),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1886),
    [sym_real_literal] = ACTIONS(1888),
    [sym_integer_literal] = ACTIONS(1886),
    [sym_hex_literal] = ACTIONS(1886),
    [sym_oct_literal] = ACTIONS(1888),
    [sym_bin_literal] = ACTIONS(1888),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1944),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1886),
    [anon_sym_GT] = ACTIONS(1886),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1888),
    [anon_sym_DASH_EQ] = ACTIONS(1888),
    [anon_sym_STAR_EQ] = ACTIONS(1888),
    [anon_sym_SLASH_EQ] = ACTIONS(1888),
    [anon_sym_PERCENT_EQ] = ACTIONS(1888),
    [anon_sym_BANG_EQ] = ACTIONS(1886),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1888),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1888),
    [anon_sym_LT_EQ] = ACTIONS(1888),
    [anon_sym_GT_EQ] = ACTIONS(1888),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1886),
    [anon_sym_SLASH] = ACTIONS(1886),
    [anon_sym_PERCENT] = ACTIONS(1886),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1888),
    [anon_sym_CARET] = ACTIONS(1886),
    [anon_sym_LT_LT] = ACTIONS(1888),
    [anon_sym_GT_GT] = ACTIONS(1888),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1888),
    [sym__eq_eq_custom] = ACTIONS(1888),
    [sym__plus_then_ws] = ACTIONS(1888),
    [sym__minus_then_ws] = ACTIONS(1888),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [548] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1593),
    [sym_boolean_literal] = STATE(1593),
    [sym__string_literal] = STATE(1593),
    [sym_line_string_literal] = STATE(1593),
    [sym_multi_line_string_literal] = STATE(1593),
    [sym_raw_string_literal] = STATE(1593),
    [sym_regex_literal] = STATE(1593),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1593),
    [sym__unary_expression] = STATE(1593),
    [sym_postfix_expression] = STATE(1593),
    [sym_constructor_expression] = STATE(1593),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1593),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1593),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1593),
    [sym_prefix_expression] = STATE(1593),
    [sym_as_expression] = STATE(1593),
    [sym_selector_expression] = STATE(1593),
    [sym__binary_expression] = STATE(1593),
    [sym_multiplicative_expression] = STATE(1593),
    [sym_additive_expression] = STATE(1593),
    [sym_range_expression] = STATE(1593),
    [sym_infix_expression] = STATE(1593),
    [sym_nil_coalescing_expression] = STATE(1593),
    [sym_check_expression] = STATE(1593),
    [sym_comparison_expression] = STATE(1593),
    [sym_equality_expression] = STATE(1593),
    [sym_conjunction_expression] = STATE(1593),
    [sym_disjunction_expression] = STATE(1593),
    [sym_bitwise_operation] = STATE(1593),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1593),
    [sym_await_expression] = STATE(1593),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1593),
    [sym_call_expression] = STATE(1593),
    [sym_macro_invocation] = STATE(1593),
    [sym__primary_expression] = STATE(1593),
    [sym_tuple_expression] = STATE(1593),
    [sym_array_literal] = STATE(1593),
    [sym_dictionary_literal] = STATE(1593),
    [sym_special_literal] = STATE(1593),
    [sym_playground_literal] = STATE(1593),
    [sym_lambda_literal] = STATE(1593),
    [sym_self_expression] = STATE(1593),
    [sym_super_expression] = STATE(1593),
    [sym_if_statement] = STATE(1593),
    [sym_switch_statement] = STATE(1593),
    [sym_key_path_expression] = STATE(1593),
    [sym_key_path_string_expression] = STATE(1593),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1593),
    [sym__equality_operator] = STATE(1593),
    [sym__comparison_operator] = STATE(1593),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1593),
    [sym__multiplicative_operator] = STATE(1593),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1593),
    [sym_value_parameter_pack] = STATE(1593),
    [sym_value_pack_expansion] = STATE(1593),
    [sym__referenceable_operator] = STATE(1593),
    [sym__equal_sign] = STATE(1593),
    [sym__eq_eq] = STATE(1593),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1593),
    [sym_diagnostic] = STATE(1593),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1886),
    [sym_real_literal] = ACTIONS(1888),
    [sym_integer_literal] = ACTIONS(1886),
    [sym_hex_literal] = ACTIONS(1886),
    [sym_oct_literal] = ACTIONS(1888),
    [sym_bin_literal] = ACTIONS(1888),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1946),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1886),
    [anon_sym_GT] = ACTIONS(1886),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1888),
    [anon_sym_DASH_EQ] = ACTIONS(1888),
    [anon_sym_STAR_EQ] = ACTIONS(1888),
    [anon_sym_SLASH_EQ] = ACTIONS(1888),
    [anon_sym_PERCENT_EQ] = ACTIONS(1888),
    [anon_sym_BANG_EQ] = ACTIONS(1886),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1888),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1888),
    [anon_sym_LT_EQ] = ACTIONS(1888),
    [anon_sym_GT_EQ] = ACTIONS(1888),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1886),
    [anon_sym_SLASH] = ACTIONS(1886),
    [anon_sym_PERCENT] = ACTIONS(1886),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1888),
    [anon_sym_CARET] = ACTIONS(1886),
    [anon_sym_LT_LT] = ACTIONS(1888),
    [anon_sym_GT_GT] = ACTIONS(1888),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1888),
    [sym__eq_eq_custom] = ACTIONS(1888),
    [sym__plus_then_ws] = ACTIONS(1888),
    [sym__minus_then_ws] = ACTIONS(1888),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [549] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1948),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [550] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1950),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [551] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1952),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [552] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1593),
    [sym_boolean_literal] = STATE(1593),
    [sym__string_literal] = STATE(1593),
    [sym_line_string_literal] = STATE(1593),
    [sym_multi_line_string_literal] = STATE(1593),
    [sym_raw_string_literal] = STATE(1593),
    [sym_regex_literal] = STATE(1593),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1593),
    [sym__unary_expression] = STATE(1593),
    [sym_postfix_expression] = STATE(1593),
    [sym_constructor_expression] = STATE(1593),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1593),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1593),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1593),
    [sym_prefix_expression] = STATE(1593),
    [sym_as_expression] = STATE(1593),
    [sym_selector_expression] = STATE(1593),
    [sym__binary_expression] = STATE(1593),
    [sym_multiplicative_expression] = STATE(1593),
    [sym_additive_expression] = STATE(1593),
    [sym_range_expression] = STATE(1593),
    [sym_infix_expression] = STATE(1593),
    [sym_nil_coalescing_expression] = STATE(1593),
    [sym_check_expression] = STATE(1593),
    [sym_comparison_expression] = STATE(1593),
    [sym_equality_expression] = STATE(1593),
    [sym_conjunction_expression] = STATE(1593),
    [sym_disjunction_expression] = STATE(1593),
    [sym_bitwise_operation] = STATE(1593),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1593),
    [sym_await_expression] = STATE(1593),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1593),
    [sym_call_expression] = STATE(1593),
    [sym_macro_invocation] = STATE(1593),
    [sym__primary_expression] = STATE(1593),
    [sym_tuple_expression] = STATE(1593),
    [sym_array_literal] = STATE(1593),
    [sym_dictionary_literal] = STATE(1593),
    [sym_special_literal] = STATE(1593),
    [sym_playground_literal] = STATE(1593),
    [sym_lambda_literal] = STATE(1593),
    [sym_self_expression] = STATE(1593),
    [sym_super_expression] = STATE(1593),
    [sym_if_statement] = STATE(1593),
    [sym_switch_statement] = STATE(1593),
    [sym_key_path_expression] = STATE(1593),
    [sym_key_path_string_expression] = STATE(1593),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1593),
    [sym__equality_operator] = STATE(1593),
    [sym__comparison_operator] = STATE(1593),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1593),
    [sym__multiplicative_operator] = STATE(1593),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1593),
    [sym_value_parameter_pack] = STATE(1593),
    [sym_value_pack_expansion] = STATE(1593),
    [sym__referenceable_operator] = STATE(1593),
    [sym__equal_sign] = STATE(1593),
    [sym__eq_eq] = STATE(1593),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1593),
    [sym_diagnostic] = STATE(1593),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1886),
    [sym_real_literal] = ACTIONS(1888),
    [sym_integer_literal] = ACTIONS(1886),
    [sym_hex_literal] = ACTIONS(1886),
    [sym_oct_literal] = ACTIONS(1888),
    [sym_bin_literal] = ACTIONS(1888),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1954),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1886),
    [anon_sym_GT] = ACTIONS(1886),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1888),
    [anon_sym_DASH_EQ] = ACTIONS(1888),
    [anon_sym_STAR_EQ] = ACTIONS(1888),
    [anon_sym_SLASH_EQ] = ACTIONS(1888),
    [anon_sym_PERCENT_EQ] = ACTIONS(1888),
    [anon_sym_BANG_EQ] = ACTIONS(1886),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1888),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1888),
    [anon_sym_LT_EQ] = ACTIONS(1888),
    [anon_sym_GT_EQ] = ACTIONS(1888),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1886),
    [anon_sym_SLASH] = ACTIONS(1886),
    [anon_sym_PERCENT] = ACTIONS(1886),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1888),
    [anon_sym_CARET] = ACTIONS(1886),
    [anon_sym_LT_LT] = ACTIONS(1888),
    [anon_sym_GT_GT] = ACTIONS(1888),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1888),
    [sym__eq_eq_custom] = ACTIONS(1888),
    [sym__plus_then_ws] = ACTIONS(1888),
    [sym__minus_then_ws] = ACTIONS(1888),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [553] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1593),
    [sym_boolean_literal] = STATE(1593),
    [sym__string_literal] = STATE(1593),
    [sym_line_string_literal] = STATE(1593),
    [sym_multi_line_string_literal] = STATE(1593),
    [sym_raw_string_literal] = STATE(1593),
    [sym_regex_literal] = STATE(1593),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1593),
    [sym__unary_expression] = STATE(1593),
    [sym_postfix_expression] = STATE(1593),
    [sym_constructor_expression] = STATE(1593),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1593),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1593),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1593),
    [sym_prefix_expression] = STATE(1593),
    [sym_as_expression] = STATE(1593),
    [sym_selector_expression] = STATE(1593),
    [sym__binary_expression] = STATE(1593),
    [sym_multiplicative_expression] = STATE(1593),
    [sym_additive_expression] = STATE(1593),
    [sym_range_expression] = STATE(1593),
    [sym_infix_expression] = STATE(1593),
    [sym_nil_coalescing_expression] = STATE(1593),
    [sym_check_expression] = STATE(1593),
    [sym_comparison_expression] = STATE(1593),
    [sym_equality_expression] = STATE(1593),
    [sym_conjunction_expression] = STATE(1593),
    [sym_disjunction_expression] = STATE(1593),
    [sym_bitwise_operation] = STATE(1593),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1593),
    [sym_await_expression] = STATE(1593),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1593),
    [sym_call_expression] = STATE(1593),
    [sym_macro_invocation] = STATE(1593),
    [sym__primary_expression] = STATE(1593),
    [sym_tuple_expression] = STATE(1593),
    [sym_array_literal] = STATE(1593),
    [sym_dictionary_literal] = STATE(1593),
    [sym_special_literal] = STATE(1593),
    [sym_playground_literal] = STATE(1593),
    [sym_lambda_literal] = STATE(1593),
    [sym_self_expression] = STATE(1593),
    [sym_super_expression] = STATE(1593),
    [sym_if_statement] = STATE(1593),
    [sym_switch_statement] = STATE(1593),
    [sym_key_path_expression] = STATE(1593),
    [sym_key_path_string_expression] = STATE(1593),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1593),
    [sym__equality_operator] = STATE(1593),
    [sym__comparison_operator] = STATE(1593),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1593),
    [sym__multiplicative_operator] = STATE(1593),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1593),
    [sym_value_parameter_pack] = STATE(1593),
    [sym_value_pack_expansion] = STATE(1593),
    [sym__referenceable_operator] = STATE(1593),
    [sym__equal_sign] = STATE(1593),
    [sym__eq_eq] = STATE(1593),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1593),
    [sym_diagnostic] = STATE(1593),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1886),
    [sym_real_literal] = ACTIONS(1888),
    [sym_integer_literal] = ACTIONS(1886),
    [sym_hex_literal] = ACTIONS(1886),
    [sym_oct_literal] = ACTIONS(1888),
    [sym_bin_literal] = ACTIONS(1888),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1956),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1886),
    [anon_sym_GT] = ACTIONS(1886),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1888),
    [anon_sym_DASH_EQ] = ACTIONS(1888),
    [anon_sym_STAR_EQ] = ACTIONS(1888),
    [anon_sym_SLASH_EQ] = ACTIONS(1888),
    [anon_sym_PERCENT_EQ] = ACTIONS(1888),
    [anon_sym_BANG_EQ] = ACTIONS(1886),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1888),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1888),
    [anon_sym_LT_EQ] = ACTIONS(1888),
    [anon_sym_GT_EQ] = ACTIONS(1888),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1886),
    [anon_sym_SLASH] = ACTIONS(1886),
    [anon_sym_PERCENT] = ACTIONS(1886),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1888),
    [anon_sym_CARET] = ACTIONS(1886),
    [anon_sym_LT_LT] = ACTIONS(1888),
    [anon_sym_GT_GT] = ACTIONS(1888),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1888),
    [sym__eq_eq_custom] = ACTIONS(1888),
    [sym__plus_then_ws] = ACTIONS(1888),
    [sym__minus_then_ws] = ACTIONS(1888),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [554] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1958),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [555] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1960),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [556] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1962),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [557] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1593),
    [sym_boolean_literal] = STATE(1593),
    [sym__string_literal] = STATE(1593),
    [sym_line_string_literal] = STATE(1593),
    [sym_multi_line_string_literal] = STATE(1593),
    [sym_raw_string_literal] = STATE(1593),
    [sym_regex_literal] = STATE(1593),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1593),
    [sym__unary_expression] = STATE(1593),
    [sym_postfix_expression] = STATE(1593),
    [sym_constructor_expression] = STATE(1593),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1593),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1593),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1593),
    [sym_prefix_expression] = STATE(1593),
    [sym_as_expression] = STATE(1593),
    [sym_selector_expression] = STATE(1593),
    [sym__binary_expression] = STATE(1593),
    [sym_multiplicative_expression] = STATE(1593),
    [sym_additive_expression] = STATE(1593),
    [sym_range_expression] = STATE(1593),
    [sym_infix_expression] = STATE(1593),
    [sym_nil_coalescing_expression] = STATE(1593),
    [sym_check_expression] = STATE(1593),
    [sym_comparison_expression] = STATE(1593),
    [sym_equality_expression] = STATE(1593),
    [sym_conjunction_expression] = STATE(1593),
    [sym_disjunction_expression] = STATE(1593),
    [sym_bitwise_operation] = STATE(1593),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1593),
    [sym_await_expression] = STATE(1593),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1593),
    [sym_call_expression] = STATE(1593),
    [sym_macro_invocation] = STATE(1593),
    [sym__primary_expression] = STATE(1593),
    [sym_tuple_expression] = STATE(1593),
    [sym_array_literal] = STATE(1593),
    [sym_dictionary_literal] = STATE(1593),
    [sym_special_literal] = STATE(1593),
    [sym_playground_literal] = STATE(1593),
    [sym_lambda_literal] = STATE(1593),
    [sym_self_expression] = STATE(1593),
    [sym_super_expression] = STATE(1593),
    [sym_if_statement] = STATE(1593),
    [sym_switch_statement] = STATE(1593),
    [sym_key_path_expression] = STATE(1593),
    [sym_key_path_string_expression] = STATE(1593),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1593),
    [sym__equality_operator] = STATE(1593),
    [sym__comparison_operator] = STATE(1593),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1593),
    [sym__multiplicative_operator] = STATE(1593),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1593),
    [sym_value_parameter_pack] = STATE(1593),
    [sym_value_pack_expansion] = STATE(1593),
    [sym__referenceable_operator] = STATE(1593),
    [sym__equal_sign] = STATE(1593),
    [sym__eq_eq] = STATE(1593),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1593),
    [sym_diagnostic] = STATE(1593),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1886),
    [sym_real_literal] = ACTIONS(1888),
    [sym_integer_literal] = ACTIONS(1886),
    [sym_hex_literal] = ACTIONS(1886),
    [sym_oct_literal] = ACTIONS(1888),
    [sym_bin_literal] = ACTIONS(1888),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1964),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1886),
    [anon_sym_GT] = ACTIONS(1886),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1888),
    [anon_sym_DASH_EQ] = ACTIONS(1888),
    [anon_sym_STAR_EQ] = ACTIONS(1888),
    [anon_sym_SLASH_EQ] = ACTIONS(1888),
    [anon_sym_PERCENT_EQ] = ACTIONS(1888),
    [anon_sym_BANG_EQ] = ACTIONS(1886),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1888),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1888),
    [anon_sym_LT_EQ] = ACTIONS(1888),
    [anon_sym_GT_EQ] = ACTIONS(1888),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1886),
    [anon_sym_SLASH] = ACTIONS(1886),
    [anon_sym_PERCENT] = ACTIONS(1886),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1888),
    [anon_sym_CARET] = ACTIONS(1886),
    [anon_sym_LT_LT] = ACTIONS(1888),
    [anon_sym_GT_GT] = ACTIONS(1888),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1888),
    [sym__eq_eq_custom] = ACTIONS(1888),
    [sym__plus_then_ws] = ACTIONS(1888),
    [sym__minus_then_ws] = ACTIONS(1888),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [558] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1966),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [559] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1968),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [560] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1593),
    [sym_boolean_literal] = STATE(1593),
    [sym__string_literal] = STATE(1593),
    [sym_line_string_literal] = STATE(1593),
    [sym_multi_line_string_literal] = STATE(1593),
    [sym_raw_string_literal] = STATE(1593),
    [sym_regex_literal] = STATE(1593),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1593),
    [sym__unary_expression] = STATE(1593),
    [sym_postfix_expression] = STATE(1593),
    [sym_constructor_expression] = STATE(1593),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1593),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1593),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1593),
    [sym_prefix_expression] = STATE(1593),
    [sym_as_expression] = STATE(1593),
    [sym_selector_expression] = STATE(1593),
    [sym__binary_expression] = STATE(1593),
    [sym_multiplicative_expression] = STATE(1593),
    [sym_additive_expression] = STATE(1593),
    [sym_range_expression] = STATE(1593),
    [sym_infix_expression] = STATE(1593),
    [sym_nil_coalescing_expression] = STATE(1593),
    [sym_check_expression] = STATE(1593),
    [sym_comparison_expression] = STATE(1593),
    [sym_equality_expression] = STATE(1593),
    [sym_conjunction_expression] = STATE(1593),
    [sym_disjunction_expression] = STATE(1593),
    [sym_bitwise_operation] = STATE(1593),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1593),
    [sym_await_expression] = STATE(1593),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1593),
    [sym_call_expression] = STATE(1593),
    [sym_macro_invocation] = STATE(1593),
    [sym__primary_expression] = STATE(1593),
    [sym_tuple_expression] = STATE(1593),
    [sym_array_literal] = STATE(1593),
    [sym_dictionary_literal] = STATE(1593),
    [sym_special_literal] = STATE(1593),
    [sym_playground_literal] = STATE(1593),
    [sym_lambda_literal] = STATE(1593),
    [sym_self_expression] = STATE(1593),
    [sym_super_expression] = STATE(1593),
    [sym_if_statement] = STATE(1593),
    [sym_switch_statement] = STATE(1593),
    [sym_key_path_expression] = STATE(1593),
    [sym_key_path_string_expression] = STATE(1593),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1593),
    [sym__equality_operator] = STATE(1593),
    [sym__comparison_operator] = STATE(1593),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1593),
    [sym__multiplicative_operator] = STATE(1593),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1593),
    [sym_value_parameter_pack] = STATE(1593),
    [sym_value_pack_expansion] = STATE(1593),
    [sym__referenceable_operator] = STATE(1593),
    [sym__equal_sign] = STATE(1593),
    [sym__eq_eq] = STATE(1593),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1593),
    [sym_diagnostic] = STATE(1593),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1886),
    [sym_real_literal] = ACTIONS(1888),
    [sym_integer_literal] = ACTIONS(1886),
    [sym_hex_literal] = ACTIONS(1886),
    [sym_oct_literal] = ACTIONS(1888),
    [sym_bin_literal] = ACTIONS(1888),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1970),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1886),
    [anon_sym_GT] = ACTIONS(1886),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1888),
    [anon_sym_DASH_EQ] = ACTIONS(1888),
    [anon_sym_STAR_EQ] = ACTIONS(1888),
    [anon_sym_SLASH_EQ] = ACTIONS(1888),
    [anon_sym_PERCENT_EQ] = ACTIONS(1888),
    [anon_sym_BANG_EQ] = ACTIONS(1886),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1888),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1888),
    [anon_sym_LT_EQ] = ACTIONS(1888),
    [anon_sym_GT_EQ] = ACTIONS(1888),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1886),
    [anon_sym_SLASH] = ACTIONS(1886),
    [anon_sym_PERCENT] = ACTIONS(1886),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1888),
    [anon_sym_CARET] = ACTIONS(1886),
    [anon_sym_LT_LT] = ACTIONS(1888),
    [anon_sym_GT_GT] = ACTIONS(1888),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1888),
    [sym__eq_eq_custom] = ACTIONS(1888),
    [sym__plus_then_ws] = ACTIONS(1888),
    [sym__minus_then_ws] = ACTIONS(1888),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [561] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1593),
    [sym_boolean_literal] = STATE(1593),
    [sym__string_literal] = STATE(1593),
    [sym_line_string_literal] = STATE(1593),
    [sym_multi_line_string_literal] = STATE(1593),
    [sym_raw_string_literal] = STATE(1593),
    [sym_regex_literal] = STATE(1593),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1593),
    [sym__unary_expression] = STATE(1593),
    [sym_postfix_expression] = STATE(1593),
    [sym_constructor_expression] = STATE(1593),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1593),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1593),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1593),
    [sym_prefix_expression] = STATE(1593),
    [sym_as_expression] = STATE(1593),
    [sym_selector_expression] = STATE(1593),
    [sym__binary_expression] = STATE(1593),
    [sym_multiplicative_expression] = STATE(1593),
    [sym_additive_expression] = STATE(1593),
    [sym_range_expression] = STATE(1593),
    [sym_infix_expression] = STATE(1593),
    [sym_nil_coalescing_expression] = STATE(1593),
    [sym_check_expression] = STATE(1593),
    [sym_comparison_expression] = STATE(1593),
    [sym_equality_expression] = STATE(1593),
    [sym_conjunction_expression] = STATE(1593),
    [sym_disjunction_expression] = STATE(1593),
    [sym_bitwise_operation] = STATE(1593),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1593),
    [sym_await_expression] = STATE(1593),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1593),
    [sym_call_expression] = STATE(1593),
    [sym_macro_invocation] = STATE(1593),
    [sym__primary_expression] = STATE(1593),
    [sym_tuple_expression] = STATE(1593),
    [sym_array_literal] = STATE(1593),
    [sym_dictionary_literal] = STATE(1593),
    [sym_special_literal] = STATE(1593),
    [sym_playground_literal] = STATE(1593),
    [sym_lambda_literal] = STATE(1593),
    [sym_self_expression] = STATE(1593),
    [sym_super_expression] = STATE(1593),
    [sym_if_statement] = STATE(1593),
    [sym_switch_statement] = STATE(1593),
    [sym_key_path_expression] = STATE(1593),
    [sym_key_path_string_expression] = STATE(1593),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1593),
    [sym__equality_operator] = STATE(1593),
    [sym__comparison_operator] = STATE(1593),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1593),
    [sym__multiplicative_operator] = STATE(1593),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1593),
    [sym_value_parameter_pack] = STATE(1593),
    [sym_value_pack_expansion] = STATE(1593),
    [sym__referenceable_operator] = STATE(1593),
    [sym__equal_sign] = STATE(1593),
    [sym__eq_eq] = STATE(1593),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1593),
    [sym_diagnostic] = STATE(1593),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1886),
    [sym_real_literal] = ACTIONS(1888),
    [sym_integer_literal] = ACTIONS(1886),
    [sym_hex_literal] = ACTIONS(1886),
    [sym_oct_literal] = ACTIONS(1888),
    [sym_bin_literal] = ACTIONS(1888),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1972),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1886),
    [anon_sym_GT] = ACTIONS(1886),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1888),
    [anon_sym_DASH_EQ] = ACTIONS(1888),
    [anon_sym_STAR_EQ] = ACTIONS(1888),
    [anon_sym_SLASH_EQ] = ACTIONS(1888),
    [anon_sym_PERCENT_EQ] = ACTIONS(1888),
    [anon_sym_BANG_EQ] = ACTIONS(1886),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1888),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1888),
    [anon_sym_LT_EQ] = ACTIONS(1888),
    [anon_sym_GT_EQ] = ACTIONS(1888),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1886),
    [anon_sym_SLASH] = ACTIONS(1886),
    [anon_sym_PERCENT] = ACTIONS(1886),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1888),
    [anon_sym_CARET] = ACTIONS(1886),
    [anon_sym_LT_LT] = ACTIONS(1888),
    [anon_sym_GT_GT] = ACTIONS(1888),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1888),
    [sym__eq_eq_custom] = ACTIONS(1888),
    [sym__plus_then_ws] = ACTIONS(1888),
    [sym__minus_then_ws] = ACTIONS(1888),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [562] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1974),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [563] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1593),
    [sym_boolean_literal] = STATE(1593),
    [sym__string_literal] = STATE(1593),
    [sym_line_string_literal] = STATE(1593),
    [sym_multi_line_string_literal] = STATE(1593),
    [sym_raw_string_literal] = STATE(1593),
    [sym_regex_literal] = STATE(1593),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1593),
    [sym__unary_expression] = STATE(1593),
    [sym_postfix_expression] = STATE(1593),
    [sym_constructor_expression] = STATE(1593),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1593),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1593),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1593),
    [sym_prefix_expression] = STATE(1593),
    [sym_as_expression] = STATE(1593),
    [sym_selector_expression] = STATE(1593),
    [sym__binary_expression] = STATE(1593),
    [sym_multiplicative_expression] = STATE(1593),
    [sym_additive_expression] = STATE(1593),
    [sym_range_expression] = STATE(1593),
    [sym_infix_expression] = STATE(1593),
    [sym_nil_coalescing_expression] = STATE(1593),
    [sym_check_expression] = STATE(1593),
    [sym_comparison_expression] = STATE(1593),
    [sym_equality_expression] = STATE(1593),
    [sym_conjunction_expression] = STATE(1593),
    [sym_disjunction_expression] = STATE(1593),
    [sym_bitwise_operation] = STATE(1593),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1593),
    [sym_await_expression] = STATE(1593),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1593),
    [sym_call_expression] = STATE(1593),
    [sym_macro_invocation] = STATE(1593),
    [sym__primary_expression] = STATE(1593),
    [sym_tuple_expression] = STATE(1593),
    [sym_array_literal] = STATE(1593),
    [sym_dictionary_literal] = STATE(1593),
    [sym_special_literal] = STATE(1593),
    [sym_playground_literal] = STATE(1593),
    [sym_lambda_literal] = STATE(1593),
    [sym_self_expression] = STATE(1593),
    [sym_super_expression] = STATE(1593),
    [sym_if_statement] = STATE(1593),
    [sym_switch_statement] = STATE(1593),
    [sym_key_path_expression] = STATE(1593),
    [sym_key_path_string_expression] = STATE(1593),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1593),
    [sym__equality_operator] = STATE(1593),
    [sym__comparison_operator] = STATE(1593),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1593),
    [sym__multiplicative_operator] = STATE(1593),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1593),
    [sym_value_parameter_pack] = STATE(1593),
    [sym_value_pack_expansion] = STATE(1593),
    [sym__referenceable_operator] = STATE(1593),
    [sym__equal_sign] = STATE(1593),
    [sym__eq_eq] = STATE(1593),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1593),
    [sym_diagnostic] = STATE(1593),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1886),
    [sym_real_literal] = ACTIONS(1888),
    [sym_integer_literal] = ACTIONS(1886),
    [sym_hex_literal] = ACTIONS(1886),
    [sym_oct_literal] = ACTIONS(1888),
    [sym_bin_literal] = ACTIONS(1888),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1976),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1886),
    [anon_sym_GT] = ACTIONS(1886),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1888),
    [anon_sym_DASH_EQ] = ACTIONS(1888),
    [anon_sym_STAR_EQ] = ACTIONS(1888),
    [anon_sym_SLASH_EQ] = ACTIONS(1888),
    [anon_sym_PERCENT_EQ] = ACTIONS(1888),
    [anon_sym_BANG_EQ] = ACTIONS(1886),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1888),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1888),
    [anon_sym_LT_EQ] = ACTIONS(1888),
    [anon_sym_GT_EQ] = ACTIONS(1888),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1886),
    [anon_sym_SLASH] = ACTIONS(1886),
    [anon_sym_PERCENT] = ACTIONS(1886),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1888),
    [anon_sym_CARET] = ACTIONS(1886),
    [anon_sym_LT_LT] = ACTIONS(1888),
    [anon_sym_GT_GT] = ACTIONS(1888),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1888),
    [sym__eq_eq_custom] = ACTIONS(1888),
    [sym__plus_then_ws] = ACTIONS(1888),
    [sym__minus_then_ws] = ACTIONS(1888),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [564] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1978),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [565] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1980),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [566] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1982),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [567] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1984),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [568] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1593),
    [sym_boolean_literal] = STATE(1593),
    [sym__string_literal] = STATE(1593),
    [sym_line_string_literal] = STATE(1593),
    [sym_multi_line_string_literal] = STATE(1593),
    [sym_raw_string_literal] = STATE(1593),
    [sym_regex_literal] = STATE(1593),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1593),
    [sym__unary_expression] = STATE(1593),
    [sym_postfix_expression] = STATE(1593),
    [sym_constructor_expression] = STATE(1593),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1593),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1593),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1593),
    [sym_prefix_expression] = STATE(1593),
    [sym_as_expression] = STATE(1593),
    [sym_selector_expression] = STATE(1593),
    [sym__binary_expression] = STATE(1593),
    [sym_multiplicative_expression] = STATE(1593),
    [sym_additive_expression] = STATE(1593),
    [sym_range_expression] = STATE(1593),
    [sym_infix_expression] = STATE(1593),
    [sym_nil_coalescing_expression] = STATE(1593),
    [sym_check_expression] = STATE(1593),
    [sym_comparison_expression] = STATE(1593),
    [sym_equality_expression] = STATE(1593),
    [sym_conjunction_expression] = STATE(1593),
    [sym_disjunction_expression] = STATE(1593),
    [sym_bitwise_operation] = STATE(1593),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1593),
    [sym_await_expression] = STATE(1593),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1593),
    [sym_call_expression] = STATE(1593),
    [sym_macro_invocation] = STATE(1593),
    [sym__primary_expression] = STATE(1593),
    [sym_tuple_expression] = STATE(1593),
    [sym_array_literal] = STATE(1593),
    [sym_dictionary_literal] = STATE(1593),
    [sym_special_literal] = STATE(1593),
    [sym_playground_literal] = STATE(1593),
    [sym_lambda_literal] = STATE(1593),
    [sym_self_expression] = STATE(1593),
    [sym_super_expression] = STATE(1593),
    [sym_if_statement] = STATE(1593),
    [sym_switch_statement] = STATE(1593),
    [sym_key_path_expression] = STATE(1593),
    [sym_key_path_string_expression] = STATE(1593),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1593),
    [sym__equality_operator] = STATE(1593),
    [sym__comparison_operator] = STATE(1593),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1593),
    [sym__multiplicative_operator] = STATE(1593),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1593),
    [sym_value_parameter_pack] = STATE(1593),
    [sym_value_pack_expansion] = STATE(1593),
    [sym__referenceable_operator] = STATE(1593),
    [sym__equal_sign] = STATE(1593),
    [sym__eq_eq] = STATE(1593),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1593),
    [sym_diagnostic] = STATE(1593),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1886),
    [sym_real_literal] = ACTIONS(1888),
    [sym_integer_literal] = ACTIONS(1886),
    [sym_hex_literal] = ACTIONS(1886),
    [sym_oct_literal] = ACTIONS(1888),
    [sym_bin_literal] = ACTIONS(1888),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1986),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1886),
    [anon_sym_GT] = ACTIONS(1886),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1888),
    [anon_sym_DASH_EQ] = ACTIONS(1888),
    [anon_sym_STAR_EQ] = ACTIONS(1888),
    [anon_sym_SLASH_EQ] = ACTIONS(1888),
    [anon_sym_PERCENT_EQ] = ACTIONS(1888),
    [anon_sym_BANG_EQ] = ACTIONS(1886),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1888),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1888),
    [anon_sym_LT_EQ] = ACTIONS(1888),
    [anon_sym_GT_EQ] = ACTIONS(1888),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1886),
    [anon_sym_SLASH] = ACTIONS(1886),
    [anon_sym_PERCENT] = ACTIONS(1886),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1888),
    [anon_sym_CARET] = ACTIONS(1886),
    [anon_sym_LT_LT] = ACTIONS(1888),
    [anon_sym_GT_GT] = ACTIONS(1888),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1888),
    [sym__eq_eq_custom] = ACTIONS(1888),
    [sym__plus_then_ws] = ACTIONS(1888),
    [sym__minus_then_ws] = ACTIONS(1888),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [569] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1593),
    [sym_boolean_literal] = STATE(1593),
    [sym__string_literal] = STATE(1593),
    [sym_line_string_literal] = STATE(1593),
    [sym_multi_line_string_literal] = STATE(1593),
    [sym_raw_string_literal] = STATE(1593),
    [sym_regex_literal] = STATE(1593),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1593),
    [sym__unary_expression] = STATE(1593),
    [sym_postfix_expression] = STATE(1593),
    [sym_constructor_expression] = STATE(1593),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1593),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1593),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1593),
    [sym_prefix_expression] = STATE(1593),
    [sym_as_expression] = STATE(1593),
    [sym_selector_expression] = STATE(1593),
    [sym__binary_expression] = STATE(1593),
    [sym_multiplicative_expression] = STATE(1593),
    [sym_additive_expression] = STATE(1593),
    [sym_range_expression] = STATE(1593),
    [sym_infix_expression] = STATE(1593),
    [sym_nil_coalescing_expression] = STATE(1593),
    [sym_check_expression] = STATE(1593),
    [sym_comparison_expression] = STATE(1593),
    [sym_equality_expression] = STATE(1593),
    [sym_conjunction_expression] = STATE(1593),
    [sym_disjunction_expression] = STATE(1593),
    [sym_bitwise_operation] = STATE(1593),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1593),
    [sym_await_expression] = STATE(1593),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1593),
    [sym_call_expression] = STATE(1593),
    [sym_macro_invocation] = STATE(1593),
    [sym__primary_expression] = STATE(1593),
    [sym_tuple_expression] = STATE(1593),
    [sym_array_literal] = STATE(1593),
    [sym_dictionary_literal] = STATE(1593),
    [sym_special_literal] = STATE(1593),
    [sym_playground_literal] = STATE(1593),
    [sym_lambda_literal] = STATE(1593),
    [sym_self_expression] = STATE(1593),
    [sym_super_expression] = STATE(1593),
    [sym_if_statement] = STATE(1593),
    [sym_switch_statement] = STATE(1593),
    [sym_key_path_expression] = STATE(1593),
    [sym_key_path_string_expression] = STATE(1593),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1593),
    [sym__equality_operator] = STATE(1593),
    [sym__comparison_operator] = STATE(1593),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1593),
    [sym__multiplicative_operator] = STATE(1593),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1593),
    [sym_value_parameter_pack] = STATE(1593),
    [sym_value_pack_expansion] = STATE(1593),
    [sym__referenceable_operator] = STATE(1593),
    [sym__equal_sign] = STATE(1593),
    [sym__eq_eq] = STATE(1593),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1593),
    [sym_diagnostic] = STATE(1593),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1886),
    [sym_real_literal] = ACTIONS(1888),
    [sym_integer_literal] = ACTIONS(1886),
    [sym_hex_literal] = ACTIONS(1886),
    [sym_oct_literal] = ACTIONS(1888),
    [sym_bin_literal] = ACTIONS(1888),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_RBRACK] = ACTIONS(1988),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1886),
    [anon_sym_GT] = ACTIONS(1886),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1888),
    [anon_sym_DASH_EQ] = ACTIONS(1888),
    [anon_sym_STAR_EQ] = ACTIONS(1888),
    [anon_sym_SLASH_EQ] = ACTIONS(1888),
    [anon_sym_PERCENT_EQ] = ACTIONS(1888),
    [anon_sym_BANG_EQ] = ACTIONS(1886),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1888),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1888),
    [anon_sym_LT_EQ] = ACTIONS(1888),
    [anon_sym_GT_EQ] = ACTIONS(1888),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1886),
    [anon_sym_SLASH] = ACTIONS(1886),
    [anon_sym_PERCENT] = ACTIONS(1886),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1888),
    [anon_sym_CARET] = ACTIONS(1886),
    [anon_sym_LT_LT] = ACTIONS(1888),
    [anon_sym_GT_GT] = ACTIONS(1888),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1888),
    [sym__eq_eq_custom] = ACTIONS(1888),
    [sym__plus_then_ws] = ACTIONS(1888),
    [sym__minus_then_ws] = ACTIONS(1888),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [570] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1990),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [571] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1992),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [572] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [anon_sym_RPAREN] = ACTIONS(1994),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [573] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1591),
    [sym_boolean_literal] = STATE(1591),
    [sym__string_literal] = STATE(1591),
    [sym_line_string_literal] = STATE(1591),
    [sym_multi_line_string_literal] = STATE(1591),
    [sym_raw_string_literal] = STATE(1591),
    [sym_regex_literal] = STATE(1591),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1591),
    [sym__unary_expression] = STATE(1591),
    [sym_postfix_expression] = STATE(1591),
    [sym_constructor_expression] = STATE(1591),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1591),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1591),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1591),
    [sym_prefix_expression] = STATE(1591),
    [sym_as_expression] = STATE(1591),
    [sym_selector_expression] = STATE(1591),
    [sym__binary_expression] = STATE(1591),
    [sym_multiplicative_expression] = STATE(1591),
    [sym_additive_expression] = STATE(1591),
    [sym_range_expression] = STATE(1591),
    [sym_infix_expression] = STATE(1591),
    [sym_nil_coalescing_expression] = STATE(1591),
    [sym_check_expression] = STATE(1591),
    [sym_comparison_expression] = STATE(1591),
    [sym_equality_expression] = STATE(1591),
    [sym_conjunction_expression] = STATE(1591),
    [sym_disjunction_expression] = STATE(1591),
    [sym_bitwise_operation] = STATE(1591),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1591),
    [sym_await_expression] = STATE(1591),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1591),
    [sym_call_expression] = STATE(1591),
    [sym_macro_invocation] = STATE(1591),
    [sym__primary_expression] = STATE(1591),
    [sym_tuple_expression] = STATE(1591),
    [sym_array_literal] = STATE(1591),
    [sym_dictionary_literal] = STATE(1591),
    [sym_special_literal] = STATE(1591),
    [sym_playground_literal] = STATE(1591),
    [sym_lambda_literal] = STATE(1591),
    [sym_self_expression] = STATE(1591),
    [sym_super_expression] = STATE(1591),
    [sym_if_statement] = STATE(1591),
    [sym_switch_statement] = STATE(1591),
    [sym_key_path_expression] = STATE(1591),
    [sym_key_path_string_expression] = STATE(1591),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1591),
    [sym__equality_operator] = STATE(1591),
    [sym__comparison_operator] = STATE(1591),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1591),
    [sym__multiplicative_operator] = STATE(1591),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1591),
    [sym_value_parameter_pack] = STATE(1591),
    [sym_value_pack_expansion] = STATE(1591),
    [sym__referenceable_operator] = STATE(1591),
    [sym__equal_sign] = STATE(1591),
    [sym__eq_eq] = STATE(1591),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1591),
    [sym_diagnostic] = STATE(1591),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1996),
    [sym_real_literal] = ACTIONS(1998),
    [sym_integer_literal] = ACTIONS(1996),
    [sym_hex_literal] = ACTIONS(1996),
    [sym_oct_literal] = ACTIONS(1998),
    [sym_bin_literal] = ACTIONS(1998),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1996),
    [anon_sym_GT] = ACTIONS(1996),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1998),
    [anon_sym_DASH_EQ] = ACTIONS(1998),
    [anon_sym_STAR_EQ] = ACTIONS(1998),
    [anon_sym_SLASH_EQ] = ACTIONS(1998),
    [anon_sym_PERCENT_EQ] = ACTIONS(1998),
    [anon_sym_BANG_EQ] = ACTIONS(1996),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1998),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1998),
    [anon_sym_LT_EQ] = ACTIONS(1998),
    [anon_sym_GT_EQ] = ACTIONS(1998),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1996),
    [anon_sym_SLASH] = ACTIONS(1996),
    [anon_sym_PERCENT] = ACTIONS(1996),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1998),
    [anon_sym_CARET] = ACTIONS(1996),
    [anon_sym_LT_LT] = ACTIONS(1998),
    [anon_sym_GT_GT] = ACTIONS(1998),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1998),
    [sym__eq_eq_custom] = ACTIONS(1998),
    [sym__plus_then_ws] = ACTIONS(1998),
    [sym__minus_then_ws] = ACTIONS(1998),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [574] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(796),
    [sym_boolean_literal] = STATE(796),
    [sym__string_literal] = STATE(796),
    [sym_line_string_literal] = STATE(796),
    [sym_multi_line_string_literal] = STATE(796),
    [sym_raw_string_literal] = STATE(796),
    [sym_regex_literal] = STATE(796),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(796),
    [sym__unary_expression] = STATE(796),
    [sym_postfix_expression] = STATE(796),
    [sym_constructor_expression] = STATE(796),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(796),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(796),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(796),
    [sym_prefix_expression] = STATE(796),
    [sym_as_expression] = STATE(796),
    [sym_selector_expression] = STATE(796),
    [sym__binary_expression] = STATE(796),
    [sym_multiplicative_expression] = STATE(796),
    [sym_additive_expression] = STATE(796),
    [sym_range_expression] = STATE(796),
    [sym_infix_expression] = STATE(796),
    [sym_nil_coalescing_expression] = STATE(796),
    [sym_check_expression] = STATE(796),
    [sym_comparison_expression] = STATE(796),
    [sym_equality_expression] = STATE(796),
    [sym_conjunction_expression] = STATE(796),
    [sym_disjunction_expression] = STATE(796),
    [sym_bitwise_operation] = STATE(796),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(796),
    [sym_await_expression] = STATE(796),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(796),
    [sym_call_expression] = STATE(796),
    [sym_macro_invocation] = STATE(796),
    [sym__primary_expression] = STATE(796),
    [sym_tuple_expression] = STATE(796),
    [sym_array_literal] = STATE(796),
    [sym_dictionary_literal] = STATE(796),
    [sym_special_literal] = STATE(796),
    [sym_playground_literal] = STATE(796),
    [sym_lambda_literal] = STATE(796),
    [sym_self_expression] = STATE(796),
    [sym_super_expression] = STATE(796),
    [sym_if_statement] = STATE(796),
    [sym_switch_statement] = STATE(796),
    [sym_key_path_expression] = STATE(796),
    [sym_key_path_string_expression] = STATE(796),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(796),
    [sym__equality_operator] = STATE(796),
    [sym__comparison_operator] = STATE(796),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(796),
    [sym__multiplicative_operator] = STATE(796),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_assignment] = STATE(796),
    [sym_value_parameter_pack] = STATE(796),
    [sym_value_pack_expansion] = STATE(796),
    [sym__referenceable_operator] = STATE(796),
    [sym__equal_sign] = STATE(796),
    [sym__eq_eq] = STATE(796),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(796),
    [sym_diagnostic] = STATE(796),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(289),
    [anon_sym_async] = ACTIONS(289),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(289),
    [anon_sym_repeat] = ACTIONS(733),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(2000),
    [sym_real_literal] = ACTIONS(2002),
    [sym_integer_literal] = ACTIONS(2000),
    [sym_hex_literal] = ACTIONS(2000),
    [sym_oct_literal] = ACTIONS(2002),
    [sym_bin_literal] = ACTIONS(2002),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(2000),
    [anon_sym_GT] = ACTIONS(2000),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2002),
    [anon_sym_DASH_EQ] = ACTIONS(2002),
    [anon_sym_STAR_EQ] = ACTIONS(2002),
    [anon_sym_SLASH_EQ] = ACTIONS(2002),
    [anon_sym_PERCENT_EQ] = ACTIONS(2002),
    [anon_sym_BANG_EQ] = ACTIONS(2000),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2002),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2002),
    [anon_sym_LT_EQ] = ACTIONS(2002),
    [anon_sym_GT_EQ] = ACTIONS(2002),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(2000),
    [anon_sym_SLASH] = ACTIONS(2000),
    [anon_sym_PERCENT] = ACTIONS(2000),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(2002),
    [anon_sym_CARET] = ACTIONS(2000),
    [anon_sym_LT_LT] = ACTIONS(2002),
    [anon_sym_GT_GT] = ACTIONS(2002),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(2002),
    [sym__eq_eq_custom] = ACTIONS(2002),
    [sym__plus_then_ws] = ACTIONS(2002),
    [sym__minus_then_ws] = ACTIONS(2002),
    [sym__bang_custom] = ACTIONS(373),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [575] = {
    [sym_simple_identifier] = STATE(2331),
    [sym__contextual_simple_identifier] = STATE(2240),
    [sym__basic_literal] = STATE(1461),
    [sym_boolean_literal] = STATE(1461),
    [sym__string_literal] = STATE(1461),
    [sym_line_string_literal] = STATE(1461),
    [sym_multi_line_string_literal] = STATE(1461),
    [sym_raw_string_literal] = STATE(1461),
    [sym_regex_literal] = STATE(1461),
    [sym__extended_regex_literal] = STATE(2556),
    [sym__multiline_regex_literal] = STATE(2556),
    [sym_user_type] = STATE(6440),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6440),
    [sym_dictionary_type] = STATE(6440),
    [sym__expression] = STATE(1461),
    [sym__unary_expression] = STATE(1461),
    [sym_postfix_expression] = STATE(1461),
    [sym_constructor_expression] = STATE(1461),
    [sym__parenthesized_type] = STATE(7995),
    [sym_navigation_expression] = STATE(1461),
    [sym__navigable_type_expression] = STATE(8059),
    [sym_open_start_range_expression] = STATE(1461),
    [sym__range_operator] = STATE(576),
    [sym_open_end_range_expression] = STATE(1461),
    [sym_prefix_expression] = STATE(1461),
    [sym_as_expression] = STATE(1461),
    [sym_selector_expression] = STATE(1461),
    [sym__binary_expression] = STATE(1461),
    [sym_multiplicative_expression] = STATE(1461),
    [sym_additive_expression] = STATE(1461),
    [sym_range_expression] = STATE(1461),
    [sym_infix_expression] = STATE(1461),
    [sym_nil_coalescing_expression] = STATE(1461),
    [sym_check_expression] = STATE(1461),
    [sym_comparison_expression] = STATE(1461),
    [sym_equality_expression] = STATE(1461),
    [sym_conjunction_expression] = STATE(1461),
    [sym_disjunction_expression] = STATE(1461),
    [sym_bitwise_operation] = STATE(1461),
    [sym_custom_operator] = STATE(1097),
    [sym_try_expression] = STATE(1461),
    [sym_await_expression] = STATE(1461),
    [sym__await_operator] = STATE(575),
    [sym_ternary_expression] = STATE(2555),
    [sym_call_expression] = STATE(2557),
    [sym_macro_invocation] = STATE(1461),
    [sym__primary_expression] = STATE(1461),
    [sym_tuple_expression] = STATE(1461),
    [sym_array_literal] = STATE(1461),
    [sym_dictionary_literal] = STATE(1461),
    [sym_special_literal] = STATE(1461),
    [sym_playground_literal] = STATE(1461),
    [sym_lambda_literal] = STATE(1461),
    [sym_self_expression] = STATE(1461),
    [sym_super_expression] = STATE(1461),
    [sym_if_statement] = STATE(1461),
    [sym_switch_statement] = STATE(1461),
    [sym_key_path_expression] = STATE(1461),
    [sym_key_path_string_expression] = STATE(1461),
    [sym_try_operator] = STATE(648),
    [sym__assignment_and_operator] = STATE(1461),
    [sym__equality_operator] = STATE(1461),
    [sym__comparison_operator] = STATE(1461),
    [sym__three_dot_operator] = STATE(1089),
    [sym__open_ended_range_operator] = STATE(576),
    [sym__additive_operator] = STATE(1461),
    [sym__multiplicative_operator] = STATE(1461),
    [sym__prefix_unary_operator] = STATE(711),
    [sym_directly_assignable_expression] = STATE(6442),
    [sym_assignment] = STATE(1461),
    [sym_value_parameter_pack] = STATE(1461),
    [sym_value_pack_expansion] = STATE(1461),
    [sym__referenceable_operator] = STATE(1461),
    [sym__equal_sign] = STATE(1461),
    [sym__eq_eq] = STATE(1461),
    [sym__dot] = STATE(711),
    [sym__hash_symbol] = STATE(4850),
    [sym_bang] = STATE(1097),
    [sym__parameter_ownership_modifier] = STATE(2240),
    [sym_directive] = STATE(1461),
    [sym_diagnostic] = STATE(1461),
    [aux_sym_raw_string_literal_repeat1] = STATE(7884),
    [anon_sym_BANG] = ACTIONS(969),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(971),
    [aux_sym_simple_identifier_token2] = ACTIONS(973),
    [aux_sym_simple_identifier_token3] = ACTIONS(973),
    [aux_sym_simple_identifier_token4] = ACTIONS(973),
    [anon_sym_actor] = ACTIONS(971),
    [anon_sym_async] = ACTIONS(971),
    [anon_sym_each] = ACTIONS(975),
    [anon_sym_lazy] = ACTIONS(971),
    [anon_sym_repeat] = ACTIONS(977),
    [anon_sym_package] = ACTIONS(971),
    [anon_sym_nil] = ACTIONS(2004),
    [sym_real_literal] = ACTIONS(2006),
    [sym_integer_literal] = ACTIONS(2004),
    [sym_hex_literal] = ACTIONS(2004),
    [sym_oct_literal] = ACTIONS(2006),
    [sym_bin_literal] = ACTIONS(2006),
    [anon_sym_true] = ACTIONS(983),
    [anon_sym_false] = ACTIONS(983),
    [anon_sym_DQUOTE] = ACTIONS(985),
    [anon_sym_BSLASH] = ACTIONS(987),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(989),
    [sym__oneline_regex_literal] = ACTIONS(991),
    [anon_sym_LPAREN] = ACTIONS(993),
    [anon_sym_LBRACK] = ACTIONS(995),
    [anon_sym_AMP] = ACTIONS(997),
    [anon_sym_TILDE] = ACTIONS(997),
    [anon_sym_if] = ACTIONS(999),
    [anon_sym_switch] = ACTIONS(1001),
    [aux_sym_custom_operator_token1] = ACTIONS(1003),
    [anon_sym_LT] = ACTIONS(2004),
    [anon_sym_GT] = ACTIONS(2004),
    [anon_sym_await] = ACTIONS(1005),
    [anon_sym_LBRACE] = ACTIONS(1007),
    [anon_sym_CARET_LBRACE] = ACTIONS(1007),
    [anon_sym_self] = ACTIONS(1009),
    [anon_sym_super] = ACTIONS(1011),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2006),
    [anon_sym_DASH_EQ] = ACTIONS(2006),
    [anon_sym_STAR_EQ] = ACTIONS(2006),
    [anon_sym_SLASH_EQ] = ACTIONS(2006),
    [anon_sym_PERCENT_EQ] = ACTIONS(2006),
    [anon_sym_BANG_EQ] = ACTIONS(2004),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2006),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2006),
    [anon_sym_LT_EQ] = ACTIONS(2006),
    [anon_sym_GT_EQ] = ACTIONS(2006),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1013),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1015),
    [anon_sym_PLUS] = ACTIONS(1017),
    [anon_sym_DASH] = ACTIONS(1017),
    [anon_sym_STAR] = ACTIONS(2004),
    [anon_sym_SLASH] = ACTIONS(2004),
    [anon_sym_PERCENT] = ACTIONS(2004),
    [anon_sym_PLUS_PLUS] = ACTIONS(997),
    [anon_sym_DASH_DASH] = ACTIONS(997),
    [anon_sym_PIPE] = ACTIONS(2006),
    [anon_sym_CARET] = ACTIONS(2004),
    [anon_sym_LT_LT] = ACTIONS(2006),
    [anon_sym_GT_GT] = ACTIONS(2006),
    [anon_sym_borrowing] = ACTIONS(971),
    [anon_sym_consuming] = ACTIONS(971),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1019),
    [sym__dot_custom] = ACTIONS(1021),
    [sym__eq_custom] = ACTIONS(2006),
    [sym__eq_eq_custom] = ACTIONS(2006),
    [sym__plus_then_ws] = ACTIONS(2006),
    [sym__minus_then_ws] = ACTIONS(2006),
    [sym__bang_custom] = ACTIONS(1023),
    [sym__custom_operator] = ACTIONS(1003),
    [sym__hash_symbol_custom] = ACTIONS(1025),
    [sym__directive_if] = ACTIONS(1027),
    [sym__directive_elseif] = ACTIONS(1027),
    [sym__directive_else] = ACTIONS(1029),
    [sym__directive_endif] = ACTIONS(1029),
  },
  [576] = {
    [sym_simple_identifier] = STATE(2331),
    [sym__contextual_simple_identifier] = STATE(2240),
    [sym__basic_literal] = STATE(1464),
    [sym_boolean_literal] = STATE(1464),
    [sym__string_literal] = STATE(1464),
    [sym_line_string_literal] = STATE(1464),
    [sym_multi_line_string_literal] = STATE(1464),
    [sym_raw_string_literal] = STATE(1464),
    [sym_regex_literal] = STATE(1464),
    [sym__extended_regex_literal] = STATE(2556),
    [sym__multiline_regex_literal] = STATE(2556),
    [sym_user_type] = STATE(6440),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6440),
    [sym_dictionary_type] = STATE(6440),
    [sym__expression] = STATE(1464),
    [sym__unary_expression] = STATE(1464),
    [sym_postfix_expression] = STATE(1464),
    [sym_constructor_expression] = STATE(1464),
    [sym__parenthesized_type] = STATE(7995),
    [sym_navigation_expression] = STATE(1464),
    [sym__navigable_type_expression] = STATE(8059),
    [sym_open_start_range_expression] = STATE(1464),
    [sym__range_operator] = STATE(576),
    [sym_open_end_range_expression] = STATE(1464),
    [sym_prefix_expression] = STATE(1464),
    [sym_as_expression] = STATE(1464),
    [sym_selector_expression] = STATE(1464),
    [sym__binary_expression] = STATE(1464),
    [sym_multiplicative_expression] = STATE(1464),
    [sym_additive_expression] = STATE(1464),
    [sym_range_expression] = STATE(1464),
    [sym_infix_expression] = STATE(1464),
    [sym_nil_coalescing_expression] = STATE(1464),
    [sym_check_expression] = STATE(1464),
    [sym_comparison_expression] = STATE(1464),
    [sym_equality_expression] = STATE(1464),
    [sym_conjunction_expression] = STATE(1464),
    [sym_disjunction_expression] = STATE(1464),
    [sym_bitwise_operation] = STATE(1464),
    [sym_custom_operator] = STATE(1097),
    [sym_try_expression] = STATE(1464),
    [sym_await_expression] = STATE(1464),
    [sym__await_operator] = STATE(575),
    [sym_ternary_expression] = STATE(1464),
    [sym_call_expression] = STATE(1464),
    [sym_macro_invocation] = STATE(1464),
    [sym__primary_expression] = STATE(1464),
    [sym_tuple_expression] = STATE(1464),
    [sym_array_literal] = STATE(1464),
    [sym_dictionary_literal] = STATE(1464),
    [sym_special_literal] = STATE(1464),
    [sym_playground_literal] = STATE(1464),
    [sym_lambda_literal] = STATE(1464),
    [sym_self_expression] = STATE(1464),
    [sym_super_expression] = STATE(1464),
    [sym_if_statement] = STATE(1464),
    [sym_switch_statement] = STATE(1464),
    [sym_key_path_expression] = STATE(1464),
    [sym_key_path_string_expression] = STATE(1464),
    [sym_try_operator] = STATE(648),
    [sym__assignment_and_operator] = STATE(1464),
    [sym__equality_operator] = STATE(1464),
    [sym__comparison_operator] = STATE(1464),
    [sym__three_dot_operator] = STATE(1089),
    [sym__open_ended_range_operator] = STATE(576),
    [sym__additive_operator] = STATE(1464),
    [sym__multiplicative_operator] = STATE(1464),
    [sym__prefix_unary_operator] = STATE(711),
    [sym_directly_assignable_expression] = STATE(6442),
    [sym_assignment] = STATE(1464),
    [sym_value_parameter_pack] = STATE(1464),
    [sym_value_pack_expansion] = STATE(1464),
    [sym__referenceable_operator] = STATE(1464),
    [sym__equal_sign] = STATE(1464),
    [sym__eq_eq] = STATE(1464),
    [sym__dot] = STATE(711),
    [sym__hash_symbol] = STATE(4850),
    [sym_bang] = STATE(1097),
    [sym__parameter_ownership_modifier] = STATE(2240),
    [sym_directive] = STATE(1464),
    [sym_diagnostic] = STATE(1464),
    [aux_sym_raw_string_literal_repeat1] = STATE(7884),
    [anon_sym_BANG] = ACTIONS(969),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(971),
    [aux_sym_simple_identifier_token2] = ACTIONS(973),
    [aux_sym_simple_identifier_token3] = ACTIONS(973),
    [aux_sym_simple_identifier_token4] = ACTIONS(973),
    [anon_sym_actor] = ACTIONS(971),
    [anon_sym_async] = ACTIONS(971),
    [anon_sym_each] = ACTIONS(975),
    [anon_sym_lazy] = ACTIONS(971),
    [anon_sym_repeat] = ACTIONS(977),
    [anon_sym_package] = ACTIONS(971),
    [anon_sym_nil] = ACTIONS(2008),
    [sym_real_literal] = ACTIONS(2010),
    [sym_integer_literal] = ACTIONS(2008),
    [sym_hex_literal] = ACTIONS(2008),
    [sym_oct_literal] = ACTIONS(2010),
    [sym_bin_literal] = ACTIONS(2010),
    [anon_sym_true] = ACTIONS(983),
    [anon_sym_false] = ACTIONS(983),
    [anon_sym_DQUOTE] = ACTIONS(985),
    [anon_sym_BSLASH] = ACTIONS(987),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(989),
    [sym__oneline_regex_literal] = ACTIONS(991),
    [anon_sym_LPAREN] = ACTIONS(993),
    [anon_sym_LBRACK] = ACTIONS(995),
    [anon_sym_AMP] = ACTIONS(997),
    [anon_sym_TILDE] = ACTIONS(997),
    [anon_sym_if] = ACTIONS(999),
    [anon_sym_switch] = ACTIONS(1001),
    [aux_sym_custom_operator_token1] = ACTIONS(1003),
    [anon_sym_LT] = ACTIONS(2008),
    [anon_sym_GT] = ACTIONS(2008),
    [anon_sym_await] = ACTIONS(1005),
    [anon_sym_LBRACE] = ACTIONS(1007),
    [anon_sym_CARET_LBRACE] = ACTIONS(1007),
    [anon_sym_self] = ACTIONS(1009),
    [anon_sym_super] = ACTIONS(1011),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2010),
    [anon_sym_DASH_EQ] = ACTIONS(2010),
    [anon_sym_STAR_EQ] = ACTIONS(2010),
    [anon_sym_SLASH_EQ] = ACTIONS(2010),
    [anon_sym_PERCENT_EQ] = ACTIONS(2010),
    [anon_sym_BANG_EQ] = ACTIONS(2008),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2010),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2010),
    [anon_sym_LT_EQ] = ACTIONS(2010),
    [anon_sym_GT_EQ] = ACTIONS(2010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1013),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1015),
    [anon_sym_PLUS] = ACTIONS(1017),
    [anon_sym_DASH] = ACTIONS(1017),
    [anon_sym_STAR] = ACTIONS(2008),
    [anon_sym_SLASH] = ACTIONS(2008),
    [anon_sym_PERCENT] = ACTIONS(2008),
    [anon_sym_PLUS_PLUS] = ACTIONS(997),
    [anon_sym_DASH_DASH] = ACTIONS(997),
    [anon_sym_PIPE] = ACTIONS(2010),
    [anon_sym_CARET] = ACTIONS(2008),
    [anon_sym_LT_LT] = ACTIONS(2010),
    [anon_sym_GT_GT] = ACTIONS(2010),
    [anon_sym_borrowing] = ACTIONS(971),
    [anon_sym_consuming] = ACTIONS(971),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1019),
    [sym__dot_custom] = ACTIONS(1021),
    [sym__eq_custom] = ACTIONS(2010),
    [sym__eq_eq_custom] = ACTIONS(2010),
    [sym__plus_then_ws] = ACTIONS(2010),
    [sym__minus_then_ws] = ACTIONS(2010),
    [sym__bang_custom] = ACTIONS(1023),
    [sym__custom_operator] = ACTIONS(1003),
    [sym__hash_symbol_custom] = ACTIONS(1025),
    [sym__directive_if] = ACTIONS(1027),
    [sym__directive_elseif] = ACTIONS(1027),
    [sym__directive_else] = ACTIONS(1029),
    [sym__directive_endif] = ACTIONS(1029),
  },
  [577] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1549),
    [sym_boolean_literal] = STATE(1549),
    [sym__string_literal] = STATE(1549),
    [sym_line_string_literal] = STATE(1549),
    [sym_multi_line_string_literal] = STATE(1549),
    [sym_raw_string_literal] = STATE(1549),
    [sym_regex_literal] = STATE(1549),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1549),
    [sym__unary_expression] = STATE(1549),
    [sym_postfix_expression] = STATE(1549),
    [sym_constructor_expression] = STATE(1549),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1549),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1549),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1549),
    [sym_prefix_expression] = STATE(1549),
    [sym_as_expression] = STATE(1549),
    [sym_selector_expression] = STATE(1549),
    [sym__binary_expression] = STATE(1549),
    [sym_multiplicative_expression] = STATE(1549),
    [sym_additive_expression] = STATE(1549),
    [sym_range_expression] = STATE(1549),
    [sym_infix_expression] = STATE(1549),
    [sym_nil_coalescing_expression] = STATE(1549),
    [sym_check_expression] = STATE(1549),
    [sym_comparison_expression] = STATE(1549),
    [sym_equality_expression] = STATE(1549),
    [sym_conjunction_expression] = STATE(1549),
    [sym_disjunction_expression] = STATE(1549),
    [sym_bitwise_operation] = STATE(1549),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1549),
    [sym_await_expression] = STATE(1549),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1549),
    [sym_call_expression] = STATE(1549),
    [sym_macro_invocation] = STATE(1549),
    [sym__primary_expression] = STATE(1549),
    [sym_tuple_expression] = STATE(1549),
    [sym_array_literal] = STATE(1549),
    [sym_dictionary_literal] = STATE(1549),
    [sym_special_literal] = STATE(1549),
    [sym_playground_literal] = STATE(1549),
    [sym_lambda_literal] = STATE(1549),
    [sym_self_expression] = STATE(1549),
    [sym_super_expression] = STATE(1549),
    [sym_if_statement] = STATE(1549),
    [sym_switch_statement] = STATE(1549),
    [sym_key_path_expression] = STATE(1549),
    [sym_key_path_string_expression] = STATE(1549),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1549),
    [sym__equality_operator] = STATE(1549),
    [sym__comparison_operator] = STATE(1549),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1549),
    [sym__multiplicative_operator] = STATE(1549),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1549),
    [sym_value_parameter_pack] = STATE(1549),
    [sym_value_pack_expansion] = STATE(1549),
    [sym__referenceable_operator] = STATE(1549),
    [sym__equal_sign] = STATE(1549),
    [sym__eq_eq] = STATE(1549),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1549),
    [sym_diagnostic] = STATE(1549),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2012),
    [sym_real_literal] = ACTIONS(2014),
    [sym_integer_literal] = ACTIONS(2012),
    [sym_hex_literal] = ACTIONS(2012),
    [sym_oct_literal] = ACTIONS(2014),
    [sym_bin_literal] = ACTIONS(2014),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2012),
    [anon_sym_GT] = ACTIONS(2012),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2014),
    [anon_sym_DASH_EQ] = ACTIONS(2014),
    [anon_sym_STAR_EQ] = ACTIONS(2014),
    [anon_sym_SLASH_EQ] = ACTIONS(2014),
    [anon_sym_PERCENT_EQ] = ACTIONS(2014),
    [anon_sym_BANG_EQ] = ACTIONS(2012),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2014),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2014),
    [anon_sym_LT_EQ] = ACTIONS(2014),
    [anon_sym_GT_EQ] = ACTIONS(2014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2012),
    [anon_sym_SLASH] = ACTIONS(2012),
    [anon_sym_PERCENT] = ACTIONS(2012),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2014),
    [anon_sym_CARET] = ACTIONS(2012),
    [anon_sym_LT_LT] = ACTIONS(2014),
    [anon_sym_GT_GT] = ACTIONS(2014),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2014),
    [sym__eq_eq_custom] = ACTIONS(2014),
    [sym__plus_then_ws] = ACTIONS(2014),
    [sym__minus_then_ws] = ACTIONS(2014),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [578] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1629),
    [sym_boolean_literal] = STATE(1629),
    [sym__string_literal] = STATE(1629),
    [sym_line_string_literal] = STATE(1629),
    [sym_multi_line_string_literal] = STATE(1629),
    [sym_raw_string_literal] = STATE(1629),
    [sym_regex_literal] = STATE(1629),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1629),
    [sym__unary_expression] = STATE(1629),
    [sym_postfix_expression] = STATE(1629),
    [sym_constructor_expression] = STATE(1629),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1629),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1629),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1629),
    [sym_prefix_expression] = STATE(1629),
    [sym_as_expression] = STATE(1629),
    [sym_selector_expression] = STATE(1629),
    [sym__binary_expression] = STATE(1629),
    [sym_multiplicative_expression] = STATE(1629),
    [sym_additive_expression] = STATE(1629),
    [sym_range_expression] = STATE(1629),
    [sym_infix_expression] = STATE(1629),
    [sym_nil_coalescing_expression] = STATE(1629),
    [sym_check_expression] = STATE(1629),
    [sym_comparison_expression] = STATE(1629),
    [sym_equality_expression] = STATE(1629),
    [sym_conjunction_expression] = STATE(1629),
    [sym_disjunction_expression] = STATE(1629),
    [sym_bitwise_operation] = STATE(1629),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1629),
    [sym_await_expression] = STATE(1629),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1629),
    [sym_call_expression] = STATE(1629),
    [sym_macro_invocation] = STATE(1629),
    [sym__primary_expression] = STATE(1629),
    [sym_tuple_expression] = STATE(1629),
    [sym_array_literal] = STATE(1629),
    [sym_dictionary_literal] = STATE(1629),
    [sym_special_literal] = STATE(1629),
    [sym_playground_literal] = STATE(1629),
    [sym_lambda_literal] = STATE(1629),
    [sym_self_expression] = STATE(1629),
    [sym_super_expression] = STATE(1629),
    [sym_if_statement] = STATE(1629),
    [sym_switch_statement] = STATE(1629),
    [sym_key_path_expression] = STATE(1629),
    [sym_key_path_string_expression] = STATE(1629),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1629),
    [sym__equality_operator] = STATE(1629),
    [sym__comparison_operator] = STATE(1629),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1629),
    [sym__multiplicative_operator] = STATE(1629),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1629),
    [sym_value_parameter_pack] = STATE(1629),
    [sym_value_pack_expansion] = STATE(1629),
    [sym__referenceable_operator] = STATE(1629),
    [sym__equal_sign] = STATE(1629),
    [sym__eq_eq] = STATE(1629),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1629),
    [sym_diagnostic] = STATE(1629),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2016),
    [sym_real_literal] = ACTIONS(2018),
    [sym_integer_literal] = ACTIONS(2016),
    [sym_hex_literal] = ACTIONS(2016),
    [sym_oct_literal] = ACTIONS(2018),
    [sym_bin_literal] = ACTIONS(2018),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2016),
    [anon_sym_GT] = ACTIONS(2016),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2018),
    [anon_sym_DASH_EQ] = ACTIONS(2018),
    [anon_sym_STAR_EQ] = ACTIONS(2018),
    [anon_sym_SLASH_EQ] = ACTIONS(2018),
    [anon_sym_PERCENT_EQ] = ACTIONS(2018),
    [anon_sym_BANG_EQ] = ACTIONS(2016),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2018),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2018),
    [anon_sym_LT_EQ] = ACTIONS(2018),
    [anon_sym_GT_EQ] = ACTIONS(2018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2016),
    [anon_sym_SLASH] = ACTIONS(2016),
    [anon_sym_PERCENT] = ACTIONS(2016),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2018),
    [anon_sym_CARET] = ACTIONS(2016),
    [anon_sym_LT_LT] = ACTIONS(2018),
    [anon_sym_GT_GT] = ACTIONS(2018),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2018),
    [sym__eq_eq_custom] = ACTIONS(2018),
    [sym__plus_then_ws] = ACTIONS(2018),
    [sym__minus_then_ws] = ACTIONS(2018),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [579] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1500),
    [sym_boolean_literal] = STATE(1500),
    [sym__string_literal] = STATE(1500),
    [sym_line_string_literal] = STATE(1500),
    [sym_multi_line_string_literal] = STATE(1500),
    [sym_raw_string_literal] = STATE(1500),
    [sym_regex_literal] = STATE(1500),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1500),
    [sym__unary_expression] = STATE(1500),
    [sym_postfix_expression] = STATE(1500),
    [sym_constructor_expression] = STATE(1500),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1500),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1500),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1500),
    [sym_prefix_expression] = STATE(1500),
    [sym_as_expression] = STATE(1500),
    [sym_selector_expression] = STATE(1500),
    [sym__binary_expression] = STATE(1500),
    [sym_multiplicative_expression] = STATE(1500),
    [sym_additive_expression] = STATE(1500),
    [sym_range_expression] = STATE(1500),
    [sym_infix_expression] = STATE(1500),
    [sym_nil_coalescing_expression] = STATE(1500),
    [sym_check_expression] = STATE(1500),
    [sym_comparison_expression] = STATE(1500),
    [sym_equality_expression] = STATE(1500),
    [sym_conjunction_expression] = STATE(1500),
    [sym_disjunction_expression] = STATE(1500),
    [sym_bitwise_operation] = STATE(1500),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1500),
    [sym_await_expression] = STATE(1500),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1500),
    [sym_call_expression] = STATE(1500),
    [sym_macro_invocation] = STATE(1500),
    [sym__primary_expression] = STATE(1500),
    [sym_tuple_expression] = STATE(1500),
    [sym_array_literal] = STATE(1500),
    [sym_dictionary_literal] = STATE(1500),
    [sym_special_literal] = STATE(1500),
    [sym_playground_literal] = STATE(1500),
    [sym_lambda_literal] = STATE(1500),
    [sym_self_expression] = STATE(1500),
    [sym_super_expression] = STATE(1500),
    [sym_if_statement] = STATE(1500),
    [sym_switch_statement] = STATE(1500),
    [sym_key_path_expression] = STATE(1500),
    [sym_key_path_string_expression] = STATE(1500),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1500),
    [sym__equality_operator] = STATE(1500),
    [sym__comparison_operator] = STATE(1500),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1500),
    [sym__multiplicative_operator] = STATE(1500),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1500),
    [sym_value_parameter_pack] = STATE(1500),
    [sym_value_pack_expansion] = STATE(1500),
    [sym__referenceable_operator] = STATE(1500),
    [sym__equal_sign] = STATE(1500),
    [sym__eq_eq] = STATE(1500),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1500),
    [sym_diagnostic] = STATE(1500),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2020),
    [sym_real_literal] = ACTIONS(2022),
    [sym_integer_literal] = ACTIONS(2020),
    [sym_hex_literal] = ACTIONS(2020),
    [sym_oct_literal] = ACTIONS(2022),
    [sym_bin_literal] = ACTIONS(2022),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2020),
    [anon_sym_GT] = ACTIONS(2020),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2022),
    [anon_sym_DASH_EQ] = ACTIONS(2022),
    [anon_sym_STAR_EQ] = ACTIONS(2022),
    [anon_sym_SLASH_EQ] = ACTIONS(2022),
    [anon_sym_PERCENT_EQ] = ACTIONS(2022),
    [anon_sym_BANG_EQ] = ACTIONS(2020),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2022),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2022),
    [anon_sym_LT_EQ] = ACTIONS(2022),
    [anon_sym_GT_EQ] = ACTIONS(2022),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2020),
    [anon_sym_SLASH] = ACTIONS(2020),
    [anon_sym_PERCENT] = ACTIONS(2020),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2022),
    [anon_sym_CARET] = ACTIONS(2020),
    [anon_sym_LT_LT] = ACTIONS(2022),
    [anon_sym_GT_GT] = ACTIONS(2022),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2022),
    [sym__eq_eq_custom] = ACTIONS(2022),
    [sym__plus_then_ws] = ACTIONS(2022),
    [sym__minus_then_ws] = ACTIONS(2022),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [580] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1639),
    [sym_boolean_literal] = STATE(1639),
    [sym__string_literal] = STATE(1639),
    [sym_line_string_literal] = STATE(1639),
    [sym_multi_line_string_literal] = STATE(1639),
    [sym_raw_string_literal] = STATE(1639),
    [sym_regex_literal] = STATE(1639),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1639),
    [sym__unary_expression] = STATE(1639),
    [sym_postfix_expression] = STATE(1639),
    [sym_constructor_expression] = STATE(1639),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1639),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1639),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1639),
    [sym_prefix_expression] = STATE(1639),
    [sym_as_expression] = STATE(1639),
    [sym_selector_expression] = STATE(1639),
    [sym__binary_expression] = STATE(1639),
    [sym_multiplicative_expression] = STATE(1639),
    [sym_additive_expression] = STATE(1639),
    [sym_range_expression] = STATE(1639),
    [sym_infix_expression] = STATE(1639),
    [sym_nil_coalescing_expression] = STATE(1639),
    [sym_check_expression] = STATE(1639),
    [sym_comparison_expression] = STATE(1639),
    [sym_equality_expression] = STATE(1639),
    [sym_conjunction_expression] = STATE(1639),
    [sym_disjunction_expression] = STATE(1639),
    [sym_bitwise_operation] = STATE(1639),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1639),
    [sym_await_expression] = STATE(1639),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1639),
    [sym_call_expression] = STATE(1639),
    [sym_macro_invocation] = STATE(1639),
    [sym__primary_expression] = STATE(1639),
    [sym_tuple_expression] = STATE(1639),
    [sym_array_literal] = STATE(1639),
    [sym_dictionary_literal] = STATE(1639),
    [sym_special_literal] = STATE(1639),
    [sym_playground_literal] = STATE(1639),
    [sym_lambda_literal] = STATE(1639),
    [sym_self_expression] = STATE(1639),
    [sym_super_expression] = STATE(1639),
    [sym_if_statement] = STATE(1639),
    [sym_switch_statement] = STATE(1639),
    [sym_key_path_expression] = STATE(1639),
    [sym_key_path_string_expression] = STATE(1639),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1639),
    [sym__equality_operator] = STATE(1639),
    [sym__comparison_operator] = STATE(1639),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1639),
    [sym__multiplicative_operator] = STATE(1639),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1639),
    [sym_value_parameter_pack] = STATE(1639),
    [sym_value_pack_expansion] = STATE(1639),
    [sym__referenceable_operator] = STATE(1639),
    [sym__equal_sign] = STATE(1639),
    [sym__eq_eq] = STATE(1639),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1639),
    [sym_diagnostic] = STATE(1639),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2024),
    [sym_real_literal] = ACTIONS(2026),
    [sym_integer_literal] = ACTIONS(2024),
    [sym_hex_literal] = ACTIONS(2024),
    [sym_oct_literal] = ACTIONS(2026),
    [sym_bin_literal] = ACTIONS(2026),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2024),
    [anon_sym_GT] = ACTIONS(2024),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2026),
    [anon_sym_DASH_EQ] = ACTIONS(2026),
    [anon_sym_STAR_EQ] = ACTIONS(2026),
    [anon_sym_SLASH_EQ] = ACTIONS(2026),
    [anon_sym_PERCENT_EQ] = ACTIONS(2026),
    [anon_sym_BANG_EQ] = ACTIONS(2024),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2026),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2026),
    [anon_sym_LT_EQ] = ACTIONS(2026),
    [anon_sym_GT_EQ] = ACTIONS(2026),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2024),
    [anon_sym_SLASH] = ACTIONS(2024),
    [anon_sym_PERCENT] = ACTIONS(2024),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2026),
    [anon_sym_CARET] = ACTIONS(2024),
    [anon_sym_LT_LT] = ACTIONS(2026),
    [anon_sym_GT_GT] = ACTIONS(2026),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2026),
    [sym__eq_eq_custom] = ACTIONS(2026),
    [sym__plus_then_ws] = ACTIONS(2026),
    [sym__minus_then_ws] = ACTIONS(2026),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [581] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1534),
    [sym_boolean_literal] = STATE(1534),
    [sym__string_literal] = STATE(1534),
    [sym_line_string_literal] = STATE(1534),
    [sym_multi_line_string_literal] = STATE(1534),
    [sym_raw_string_literal] = STATE(1534),
    [sym_regex_literal] = STATE(1534),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1534),
    [sym__unary_expression] = STATE(1534),
    [sym_postfix_expression] = STATE(1534),
    [sym_constructor_expression] = STATE(1534),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1534),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1534),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1534),
    [sym_prefix_expression] = STATE(1534),
    [sym_as_expression] = STATE(1534),
    [sym_selector_expression] = STATE(1534),
    [sym__binary_expression] = STATE(1534),
    [sym_multiplicative_expression] = STATE(1534),
    [sym_additive_expression] = STATE(1534),
    [sym_range_expression] = STATE(1534),
    [sym_infix_expression] = STATE(1534),
    [sym_nil_coalescing_expression] = STATE(1534),
    [sym_check_expression] = STATE(1534),
    [sym_comparison_expression] = STATE(1534),
    [sym_equality_expression] = STATE(1534),
    [sym_conjunction_expression] = STATE(1534),
    [sym_disjunction_expression] = STATE(1534),
    [sym_bitwise_operation] = STATE(1534),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1534),
    [sym_await_expression] = STATE(1534),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1534),
    [sym_call_expression] = STATE(1534),
    [sym_macro_invocation] = STATE(1534),
    [sym__primary_expression] = STATE(1534),
    [sym_tuple_expression] = STATE(1534),
    [sym_array_literal] = STATE(1534),
    [sym_dictionary_literal] = STATE(1534),
    [sym_special_literal] = STATE(1534),
    [sym_playground_literal] = STATE(1534),
    [sym_lambda_literal] = STATE(1534),
    [sym_self_expression] = STATE(1534),
    [sym_super_expression] = STATE(1534),
    [sym_if_statement] = STATE(1534),
    [sym_switch_statement] = STATE(1534),
    [sym_key_path_expression] = STATE(1534),
    [sym_key_path_string_expression] = STATE(1534),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1534),
    [sym__equality_operator] = STATE(1534),
    [sym__comparison_operator] = STATE(1534),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1534),
    [sym__multiplicative_operator] = STATE(1534),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1534),
    [sym_value_parameter_pack] = STATE(1534),
    [sym_value_pack_expansion] = STATE(1534),
    [sym__referenceable_operator] = STATE(1534),
    [sym__equal_sign] = STATE(1534),
    [sym__eq_eq] = STATE(1534),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1534),
    [sym_diagnostic] = STATE(1534),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2028),
    [sym_real_literal] = ACTIONS(2030),
    [sym_integer_literal] = ACTIONS(2028),
    [sym_hex_literal] = ACTIONS(2028),
    [sym_oct_literal] = ACTIONS(2030),
    [sym_bin_literal] = ACTIONS(2030),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2028),
    [anon_sym_GT] = ACTIONS(2028),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2030),
    [anon_sym_DASH_EQ] = ACTIONS(2030),
    [anon_sym_STAR_EQ] = ACTIONS(2030),
    [anon_sym_SLASH_EQ] = ACTIONS(2030),
    [anon_sym_PERCENT_EQ] = ACTIONS(2030),
    [anon_sym_BANG_EQ] = ACTIONS(2028),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2030),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2030),
    [anon_sym_LT_EQ] = ACTIONS(2030),
    [anon_sym_GT_EQ] = ACTIONS(2030),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2028),
    [anon_sym_SLASH] = ACTIONS(2028),
    [anon_sym_PERCENT] = ACTIONS(2028),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2030),
    [anon_sym_CARET] = ACTIONS(2028),
    [anon_sym_LT_LT] = ACTIONS(2030),
    [anon_sym_GT_GT] = ACTIONS(2030),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2030),
    [sym__eq_eq_custom] = ACTIONS(2030),
    [sym__plus_then_ws] = ACTIONS(2030),
    [sym__minus_then_ws] = ACTIONS(2030),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [582] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1664),
    [sym_boolean_literal] = STATE(1664),
    [sym__string_literal] = STATE(1664),
    [sym_line_string_literal] = STATE(1664),
    [sym_multi_line_string_literal] = STATE(1664),
    [sym_raw_string_literal] = STATE(1664),
    [sym_regex_literal] = STATE(1664),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1664),
    [sym__unary_expression] = STATE(1664),
    [sym_postfix_expression] = STATE(1664),
    [sym_constructor_expression] = STATE(1664),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1664),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1664),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1664),
    [sym_prefix_expression] = STATE(1664),
    [sym_as_expression] = STATE(1664),
    [sym_selector_expression] = STATE(1664),
    [sym__binary_expression] = STATE(1664),
    [sym_multiplicative_expression] = STATE(1664),
    [sym_additive_expression] = STATE(1664),
    [sym_range_expression] = STATE(1664),
    [sym_infix_expression] = STATE(1664),
    [sym_nil_coalescing_expression] = STATE(1664),
    [sym_check_expression] = STATE(1664),
    [sym_comparison_expression] = STATE(1664),
    [sym_equality_expression] = STATE(1664),
    [sym_conjunction_expression] = STATE(1664),
    [sym_disjunction_expression] = STATE(1664),
    [sym_bitwise_operation] = STATE(1664),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1664),
    [sym_await_expression] = STATE(1664),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1664),
    [sym_call_expression] = STATE(1664),
    [sym_macro_invocation] = STATE(1664),
    [sym__primary_expression] = STATE(1664),
    [sym_tuple_expression] = STATE(1664),
    [sym_array_literal] = STATE(1664),
    [sym_dictionary_literal] = STATE(1664),
    [sym_special_literal] = STATE(1664),
    [sym_playground_literal] = STATE(1664),
    [sym_lambda_literal] = STATE(1664),
    [sym_self_expression] = STATE(1664),
    [sym_super_expression] = STATE(1664),
    [sym_if_statement] = STATE(1664),
    [sym_switch_statement] = STATE(1664),
    [sym_key_path_expression] = STATE(1664),
    [sym_key_path_string_expression] = STATE(1664),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1664),
    [sym__equality_operator] = STATE(1664),
    [sym__comparison_operator] = STATE(1664),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1664),
    [sym__multiplicative_operator] = STATE(1664),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1664),
    [sym_value_parameter_pack] = STATE(1664),
    [sym_value_pack_expansion] = STATE(1664),
    [sym__referenceable_operator] = STATE(1664),
    [sym__equal_sign] = STATE(1664),
    [sym__eq_eq] = STATE(1664),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1664),
    [sym_diagnostic] = STATE(1664),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2032),
    [sym_real_literal] = ACTIONS(2034),
    [sym_integer_literal] = ACTIONS(2032),
    [sym_hex_literal] = ACTIONS(2032),
    [sym_oct_literal] = ACTIONS(2034),
    [sym_bin_literal] = ACTIONS(2034),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2032),
    [anon_sym_GT] = ACTIONS(2032),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2034),
    [anon_sym_DASH_EQ] = ACTIONS(2034),
    [anon_sym_STAR_EQ] = ACTIONS(2034),
    [anon_sym_SLASH_EQ] = ACTIONS(2034),
    [anon_sym_PERCENT_EQ] = ACTIONS(2034),
    [anon_sym_BANG_EQ] = ACTIONS(2032),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2034),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2034),
    [anon_sym_LT_EQ] = ACTIONS(2034),
    [anon_sym_GT_EQ] = ACTIONS(2034),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2032),
    [anon_sym_SLASH] = ACTIONS(2032),
    [anon_sym_PERCENT] = ACTIONS(2032),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2034),
    [anon_sym_CARET] = ACTIONS(2032),
    [anon_sym_LT_LT] = ACTIONS(2034),
    [anon_sym_GT_GT] = ACTIONS(2034),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2034),
    [sym__eq_eq_custom] = ACTIONS(2034),
    [sym__plus_then_ws] = ACTIONS(2034),
    [sym__minus_then_ws] = ACTIONS(2034),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [583] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1641),
    [sym_boolean_literal] = STATE(1641),
    [sym__string_literal] = STATE(1641),
    [sym_line_string_literal] = STATE(1641),
    [sym_multi_line_string_literal] = STATE(1641),
    [sym_raw_string_literal] = STATE(1641),
    [sym_regex_literal] = STATE(1641),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1641),
    [sym__unary_expression] = STATE(1641),
    [sym_postfix_expression] = STATE(1641),
    [sym_constructor_expression] = STATE(1641),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1641),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1641),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1641),
    [sym_prefix_expression] = STATE(1641),
    [sym_as_expression] = STATE(1641),
    [sym_selector_expression] = STATE(1641),
    [sym__binary_expression] = STATE(1641),
    [sym_multiplicative_expression] = STATE(1641),
    [sym_additive_expression] = STATE(1641),
    [sym_range_expression] = STATE(1641),
    [sym_infix_expression] = STATE(1641),
    [sym_nil_coalescing_expression] = STATE(1641),
    [sym_check_expression] = STATE(1641),
    [sym_comparison_expression] = STATE(1641),
    [sym_equality_expression] = STATE(1641),
    [sym_conjunction_expression] = STATE(1641),
    [sym_disjunction_expression] = STATE(1641),
    [sym_bitwise_operation] = STATE(1641),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1641),
    [sym_await_expression] = STATE(1641),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1641),
    [sym_call_expression] = STATE(1641),
    [sym_macro_invocation] = STATE(1641),
    [sym__primary_expression] = STATE(1641),
    [sym_tuple_expression] = STATE(1641),
    [sym_array_literal] = STATE(1641),
    [sym_dictionary_literal] = STATE(1641),
    [sym_special_literal] = STATE(1641),
    [sym_playground_literal] = STATE(1641),
    [sym_lambda_literal] = STATE(1641),
    [sym_self_expression] = STATE(1641),
    [sym_super_expression] = STATE(1641),
    [sym_if_statement] = STATE(1641),
    [sym_switch_statement] = STATE(1641),
    [sym_key_path_expression] = STATE(1641),
    [sym_key_path_string_expression] = STATE(1641),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1641),
    [sym__equality_operator] = STATE(1641),
    [sym__comparison_operator] = STATE(1641),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1641),
    [sym__multiplicative_operator] = STATE(1641),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1641),
    [sym_value_parameter_pack] = STATE(1641),
    [sym_value_pack_expansion] = STATE(1641),
    [sym__referenceable_operator] = STATE(1641),
    [sym__equal_sign] = STATE(1641),
    [sym__eq_eq] = STATE(1641),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1641),
    [sym_diagnostic] = STATE(1641),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2036),
    [sym_real_literal] = ACTIONS(2038),
    [sym_integer_literal] = ACTIONS(2036),
    [sym_hex_literal] = ACTIONS(2036),
    [sym_oct_literal] = ACTIONS(2038),
    [sym_bin_literal] = ACTIONS(2038),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2036),
    [anon_sym_GT] = ACTIONS(2036),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2038),
    [anon_sym_DASH_EQ] = ACTIONS(2038),
    [anon_sym_STAR_EQ] = ACTIONS(2038),
    [anon_sym_SLASH_EQ] = ACTIONS(2038),
    [anon_sym_PERCENT_EQ] = ACTIONS(2038),
    [anon_sym_BANG_EQ] = ACTIONS(2036),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2038),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2038),
    [anon_sym_LT_EQ] = ACTIONS(2038),
    [anon_sym_GT_EQ] = ACTIONS(2038),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2036),
    [anon_sym_SLASH] = ACTIONS(2036),
    [anon_sym_PERCENT] = ACTIONS(2036),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2038),
    [anon_sym_CARET] = ACTIONS(2036),
    [anon_sym_LT_LT] = ACTIONS(2038),
    [anon_sym_GT_GT] = ACTIONS(2038),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2038),
    [sym__eq_eq_custom] = ACTIONS(2038),
    [sym__plus_then_ws] = ACTIONS(2038),
    [sym__minus_then_ws] = ACTIONS(2038),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [584] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1456),
    [sym_boolean_literal] = STATE(1456),
    [sym__string_literal] = STATE(1456),
    [sym_line_string_literal] = STATE(1456),
    [sym_multi_line_string_literal] = STATE(1456),
    [sym_raw_string_literal] = STATE(1456),
    [sym_regex_literal] = STATE(1456),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1456),
    [sym__unary_expression] = STATE(1456),
    [sym_postfix_expression] = STATE(1456),
    [sym_constructor_expression] = STATE(1456),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1456),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1456),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1456),
    [sym_prefix_expression] = STATE(1456),
    [sym_as_expression] = STATE(1456),
    [sym_selector_expression] = STATE(1456),
    [sym__binary_expression] = STATE(1456),
    [sym_multiplicative_expression] = STATE(1456),
    [sym_additive_expression] = STATE(1456),
    [sym_range_expression] = STATE(1456),
    [sym_infix_expression] = STATE(1456),
    [sym_nil_coalescing_expression] = STATE(1456),
    [sym_check_expression] = STATE(1456),
    [sym_comparison_expression] = STATE(1456),
    [sym_equality_expression] = STATE(1456),
    [sym_conjunction_expression] = STATE(1456),
    [sym_disjunction_expression] = STATE(1456),
    [sym_bitwise_operation] = STATE(1456),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1456),
    [sym_await_expression] = STATE(1456),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1456),
    [sym_call_expression] = STATE(1456),
    [sym_macro_invocation] = STATE(1456),
    [sym__primary_expression] = STATE(1456),
    [sym_tuple_expression] = STATE(1456),
    [sym_array_literal] = STATE(1456),
    [sym_dictionary_literal] = STATE(1456),
    [sym_special_literal] = STATE(1456),
    [sym_playground_literal] = STATE(1456),
    [sym_lambda_literal] = STATE(1456),
    [sym_self_expression] = STATE(1456),
    [sym_super_expression] = STATE(1456),
    [sym_if_statement] = STATE(1456),
    [sym_switch_statement] = STATE(1456),
    [sym_key_path_expression] = STATE(1456),
    [sym_key_path_string_expression] = STATE(1456),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1456),
    [sym__equality_operator] = STATE(1456),
    [sym__comparison_operator] = STATE(1456),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1456),
    [sym__multiplicative_operator] = STATE(1456),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_assignment] = STATE(1456),
    [sym_value_parameter_pack] = STATE(1456),
    [sym_value_pack_expansion] = STATE(1456),
    [sym__referenceable_operator] = STATE(1456),
    [sym__equal_sign] = STATE(1456),
    [sym__eq_eq] = STATE(1456),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1456),
    [sym_diagnostic] = STATE(1456),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(11),
    [anon_sym_async] = ACTIONS(11),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(11),
    [anon_sym_repeat] = ACTIONS(925),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(2040),
    [sym_real_literal] = ACTIONS(2042),
    [sym_integer_literal] = ACTIONS(2040),
    [sym_hex_literal] = ACTIONS(2040),
    [sym_oct_literal] = ACTIONS(2042),
    [sym_bin_literal] = ACTIONS(2042),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(2040),
    [anon_sym_GT] = ACTIONS(2040),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2042),
    [anon_sym_DASH_EQ] = ACTIONS(2042),
    [anon_sym_STAR_EQ] = ACTIONS(2042),
    [anon_sym_SLASH_EQ] = ACTIONS(2042),
    [anon_sym_PERCENT_EQ] = ACTIONS(2042),
    [anon_sym_BANG_EQ] = ACTIONS(2040),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2042),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2042),
    [anon_sym_LT_EQ] = ACTIONS(2042),
    [anon_sym_GT_EQ] = ACTIONS(2042),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(2040),
    [anon_sym_SLASH] = ACTIONS(2040),
    [anon_sym_PERCENT] = ACTIONS(2040),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(2042),
    [anon_sym_CARET] = ACTIONS(2040),
    [anon_sym_LT_LT] = ACTIONS(2042),
    [anon_sym_GT_GT] = ACTIONS(2042),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(2042),
    [sym__eq_eq_custom] = ACTIONS(2042),
    [sym__plus_then_ws] = ACTIONS(2042),
    [sym__minus_then_ws] = ACTIONS(2042),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [585] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1679),
    [sym_boolean_literal] = STATE(1679),
    [sym__string_literal] = STATE(1679),
    [sym_line_string_literal] = STATE(1679),
    [sym_multi_line_string_literal] = STATE(1679),
    [sym_raw_string_literal] = STATE(1679),
    [sym_regex_literal] = STATE(1679),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1679),
    [sym__unary_expression] = STATE(1679),
    [sym_postfix_expression] = STATE(1679),
    [sym_constructor_expression] = STATE(1679),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1679),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1679),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1679),
    [sym_prefix_expression] = STATE(1679),
    [sym_as_expression] = STATE(1679),
    [sym_selector_expression] = STATE(1679),
    [sym__binary_expression] = STATE(1679),
    [sym_multiplicative_expression] = STATE(1679),
    [sym_additive_expression] = STATE(1679),
    [sym_range_expression] = STATE(1679),
    [sym_infix_expression] = STATE(1679),
    [sym_nil_coalescing_expression] = STATE(1679),
    [sym_check_expression] = STATE(1679),
    [sym_comparison_expression] = STATE(1679),
    [sym_equality_expression] = STATE(1679),
    [sym_conjunction_expression] = STATE(1679),
    [sym_disjunction_expression] = STATE(1679),
    [sym_bitwise_operation] = STATE(1679),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1679),
    [sym_await_expression] = STATE(1679),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1679),
    [sym_call_expression] = STATE(1679),
    [sym_macro_invocation] = STATE(1679),
    [sym__primary_expression] = STATE(1679),
    [sym_tuple_expression] = STATE(1679),
    [sym_array_literal] = STATE(1679),
    [sym_dictionary_literal] = STATE(1679),
    [sym_special_literal] = STATE(1679),
    [sym_playground_literal] = STATE(1679),
    [sym_lambda_literal] = STATE(1679),
    [sym_self_expression] = STATE(1679),
    [sym_super_expression] = STATE(1679),
    [sym_if_statement] = STATE(1679),
    [sym_switch_statement] = STATE(1679),
    [sym_key_path_expression] = STATE(1679),
    [sym_key_path_string_expression] = STATE(1679),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1679),
    [sym__equality_operator] = STATE(1679),
    [sym__comparison_operator] = STATE(1679),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1679),
    [sym__multiplicative_operator] = STATE(1679),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1679),
    [sym_value_parameter_pack] = STATE(1679),
    [sym_value_pack_expansion] = STATE(1679),
    [sym__referenceable_operator] = STATE(1679),
    [sym__equal_sign] = STATE(1679),
    [sym__eq_eq] = STATE(1679),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1679),
    [sym_diagnostic] = STATE(1679),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(721),
    [sym_real_literal] = ACTIONS(723),
    [sym_integer_literal] = ACTIONS(721),
    [sym_hex_literal] = ACTIONS(721),
    [sym_oct_literal] = ACTIONS(723),
    [sym_bin_literal] = ACTIONS(723),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(721),
    [anon_sym_GT] = ACTIONS(721),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(723),
    [anon_sym_DASH_EQ] = ACTIONS(723),
    [anon_sym_STAR_EQ] = ACTIONS(723),
    [anon_sym_SLASH_EQ] = ACTIONS(723),
    [anon_sym_PERCENT_EQ] = ACTIONS(723),
    [anon_sym_BANG_EQ] = ACTIONS(721),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(723),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(723),
    [anon_sym_LT_EQ] = ACTIONS(723),
    [anon_sym_GT_EQ] = ACTIONS(723),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(721),
    [anon_sym_SLASH] = ACTIONS(721),
    [anon_sym_PERCENT] = ACTIONS(721),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(723),
    [anon_sym_CARET] = ACTIONS(721),
    [anon_sym_LT_LT] = ACTIONS(723),
    [anon_sym_GT_GT] = ACTIONS(723),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(723),
    [sym__eq_eq_custom] = ACTIONS(723),
    [sym__plus_then_ws] = ACTIONS(723),
    [sym__minus_then_ws] = ACTIONS(723),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [586] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1659),
    [sym_boolean_literal] = STATE(1659),
    [sym__string_literal] = STATE(1659),
    [sym_line_string_literal] = STATE(1659),
    [sym_multi_line_string_literal] = STATE(1659),
    [sym_raw_string_literal] = STATE(1659),
    [sym_regex_literal] = STATE(1659),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1659),
    [sym__unary_expression] = STATE(1659),
    [sym_postfix_expression] = STATE(1659),
    [sym_constructor_expression] = STATE(1659),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1659),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1659),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1659),
    [sym_prefix_expression] = STATE(1659),
    [sym_as_expression] = STATE(1659),
    [sym_selector_expression] = STATE(1659),
    [sym__binary_expression] = STATE(1659),
    [sym_multiplicative_expression] = STATE(1659),
    [sym_additive_expression] = STATE(1659),
    [sym_range_expression] = STATE(1659),
    [sym_infix_expression] = STATE(1659),
    [sym_nil_coalescing_expression] = STATE(1659),
    [sym_check_expression] = STATE(1659),
    [sym_comparison_expression] = STATE(1659),
    [sym_equality_expression] = STATE(1659),
    [sym_conjunction_expression] = STATE(1659),
    [sym_disjunction_expression] = STATE(1659),
    [sym_bitwise_operation] = STATE(1659),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1659),
    [sym_await_expression] = STATE(1659),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1659),
    [sym_call_expression] = STATE(1659),
    [sym_macro_invocation] = STATE(1659),
    [sym__primary_expression] = STATE(1659),
    [sym_tuple_expression] = STATE(1659),
    [sym_array_literal] = STATE(1659),
    [sym_dictionary_literal] = STATE(1659),
    [sym_special_literal] = STATE(1659),
    [sym_playground_literal] = STATE(1659),
    [sym_lambda_literal] = STATE(1659),
    [sym_self_expression] = STATE(1659),
    [sym_super_expression] = STATE(1659),
    [sym_if_statement] = STATE(1659),
    [sym_switch_statement] = STATE(1659),
    [sym_key_path_expression] = STATE(1659),
    [sym_key_path_string_expression] = STATE(1659),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1659),
    [sym__equality_operator] = STATE(1659),
    [sym__comparison_operator] = STATE(1659),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1659),
    [sym__multiplicative_operator] = STATE(1659),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1659),
    [sym_value_parameter_pack] = STATE(1659),
    [sym_value_pack_expansion] = STATE(1659),
    [sym__referenceable_operator] = STATE(1659),
    [sym__equal_sign] = STATE(1659),
    [sym__eq_eq] = STATE(1659),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1659),
    [sym_diagnostic] = STATE(1659),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2044),
    [sym_real_literal] = ACTIONS(2046),
    [sym_integer_literal] = ACTIONS(2044),
    [sym_hex_literal] = ACTIONS(2044),
    [sym_oct_literal] = ACTIONS(2046),
    [sym_bin_literal] = ACTIONS(2046),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2044),
    [anon_sym_GT] = ACTIONS(2044),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2046),
    [anon_sym_DASH_EQ] = ACTIONS(2046),
    [anon_sym_STAR_EQ] = ACTIONS(2046),
    [anon_sym_SLASH_EQ] = ACTIONS(2046),
    [anon_sym_PERCENT_EQ] = ACTIONS(2046),
    [anon_sym_BANG_EQ] = ACTIONS(2044),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2046),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2046),
    [anon_sym_LT_EQ] = ACTIONS(2046),
    [anon_sym_GT_EQ] = ACTIONS(2046),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2044),
    [anon_sym_SLASH] = ACTIONS(2044),
    [anon_sym_PERCENT] = ACTIONS(2044),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2046),
    [anon_sym_CARET] = ACTIONS(2044),
    [anon_sym_LT_LT] = ACTIONS(2046),
    [anon_sym_GT_GT] = ACTIONS(2046),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2046),
    [sym__eq_eq_custom] = ACTIONS(2046),
    [sym__plus_then_ws] = ACTIONS(2046),
    [sym__minus_then_ws] = ACTIONS(2046),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [587] = {
    [sym_simple_identifier] = STATE(1217),
    [sym__contextual_simple_identifier] = STATE(1147),
    [sym__basic_literal] = STATE(782),
    [sym_boolean_literal] = STATE(782),
    [sym__string_literal] = STATE(782),
    [sym_line_string_literal] = STATE(782),
    [sym_multi_line_string_literal] = STATE(782),
    [sym_raw_string_literal] = STATE(782),
    [sym_regex_literal] = STATE(782),
    [sym__extended_regex_literal] = STATE(1286),
    [sym__multiline_regex_literal] = STATE(1286),
    [sym_user_type] = STATE(6397),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6397),
    [sym_dictionary_type] = STATE(6397),
    [sym__expression] = STATE(782),
    [sym__unary_expression] = STATE(782),
    [sym_postfix_expression] = STATE(782),
    [sym_constructor_expression] = STATE(782),
    [sym__parenthesized_type] = STATE(7511),
    [sym_navigation_expression] = STATE(782),
    [sym__navigable_type_expression] = STATE(7510),
    [sym_open_start_range_expression] = STATE(782),
    [sym__range_operator] = STATE(695),
    [sym_open_end_range_expression] = STATE(782),
    [sym_prefix_expression] = STATE(782),
    [sym_as_expression] = STATE(782),
    [sym_selector_expression] = STATE(782),
    [sym__binary_expression] = STATE(782),
    [sym_multiplicative_expression] = STATE(782),
    [sym_additive_expression] = STATE(782),
    [sym_range_expression] = STATE(782),
    [sym_infix_expression] = STATE(782),
    [sym_nil_coalescing_expression] = STATE(782),
    [sym_check_expression] = STATE(782),
    [sym_comparison_expression] = STATE(782),
    [sym_equality_expression] = STATE(782),
    [sym_conjunction_expression] = STATE(782),
    [sym_disjunction_expression] = STATE(782),
    [sym_bitwise_operation] = STATE(782),
    [sym_custom_operator] = STATE(759),
    [sym_try_expression] = STATE(782),
    [sym_await_expression] = STATE(782),
    [sym__await_operator] = STATE(644),
    [sym_ternary_expression] = STATE(782),
    [sym_call_expression] = STATE(782),
    [sym_macro_invocation] = STATE(782),
    [sym__primary_expression] = STATE(782),
    [sym_tuple_expression] = STATE(782),
    [sym_array_literal] = STATE(782),
    [sym_dictionary_literal] = STATE(782),
    [sym_special_literal] = STATE(782),
    [sym_playground_literal] = STATE(782),
    [sym_lambda_literal] = STATE(782),
    [sym_self_expression] = STATE(782),
    [sym_super_expression] = STATE(782),
    [sym_if_statement] = STATE(782),
    [sym_switch_statement] = STATE(782),
    [sym_key_path_expression] = STATE(782),
    [sym_key_path_string_expression] = STATE(782),
    [sym_try_operator] = STATE(645),
    [sym__assignment_and_operator] = STATE(782),
    [sym__equality_operator] = STATE(782),
    [sym__comparison_operator] = STATE(782),
    [sym__three_dot_operator] = STATE(761),
    [sym__open_ended_range_operator] = STATE(695),
    [sym__additive_operator] = STATE(782),
    [sym__multiplicative_operator] = STATE(782),
    [sym__prefix_unary_operator] = STATE(659),
    [sym_directly_assignable_expression] = STATE(6398),
    [sym_assignment] = STATE(782),
    [sym_value_parameter_pack] = STATE(782),
    [sym_value_pack_expansion] = STATE(782),
    [sym__referenceable_operator] = STATE(782),
    [sym__equal_sign] = STATE(782),
    [sym__eq_eq] = STATE(782),
    [sym__dot] = STATE(659),
    [sym__hash_symbol] = STATE(4848),
    [sym_bang] = STATE(759),
    [sym__parameter_ownership_modifier] = STATE(1147),
    [sym_directive] = STATE(782),
    [sym_diagnostic] = STATE(782),
    [aux_sym_raw_string_literal_repeat1] = STATE(7499),
    [anon_sym_BANG] = ACTIONS(659),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(661),
    [aux_sym_simple_identifier_token2] = ACTIONS(663),
    [aux_sym_simple_identifier_token3] = ACTIONS(663),
    [aux_sym_simple_identifier_token4] = ACTIONS(663),
    [anon_sym_actor] = ACTIONS(661),
    [anon_sym_async] = ACTIONS(661),
    [anon_sym_each] = ACTIONS(665),
    [anon_sym_lazy] = ACTIONS(661),
    [anon_sym_repeat] = ACTIONS(667),
    [anon_sym_package] = ACTIONS(661),
    [anon_sym_nil] = ACTIONS(2048),
    [sym_real_literal] = ACTIONS(2050),
    [sym_integer_literal] = ACTIONS(2048),
    [sym_hex_literal] = ACTIONS(2048),
    [sym_oct_literal] = ACTIONS(2050),
    [sym_bin_literal] = ACTIONS(2050),
    [anon_sym_true] = ACTIONS(673),
    [anon_sym_false] = ACTIONS(673),
    [anon_sym_DQUOTE] = ACTIONS(675),
    [anon_sym_BSLASH] = ACTIONS(677),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(679),
    [sym__oneline_regex_literal] = ACTIONS(681),
    [anon_sym_LPAREN] = ACTIONS(683),
    [anon_sym_LBRACK] = ACTIONS(685),
    [anon_sym_AMP] = ACTIONS(687),
    [anon_sym_TILDE] = ACTIONS(687),
    [anon_sym_if] = ACTIONS(689),
    [anon_sym_switch] = ACTIONS(691),
    [aux_sym_custom_operator_token1] = ACTIONS(693),
    [anon_sym_LT] = ACTIONS(2048),
    [anon_sym_GT] = ACTIONS(2048),
    [anon_sym_await] = ACTIONS(695),
    [anon_sym_LBRACE] = ACTIONS(697),
    [anon_sym_CARET_LBRACE] = ACTIONS(697),
    [anon_sym_self] = ACTIONS(699),
    [anon_sym_super] = ACTIONS(701),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2050),
    [anon_sym_DASH_EQ] = ACTIONS(2050),
    [anon_sym_STAR_EQ] = ACTIONS(2050),
    [anon_sym_SLASH_EQ] = ACTIONS(2050),
    [anon_sym_PERCENT_EQ] = ACTIONS(2050),
    [anon_sym_BANG_EQ] = ACTIONS(2048),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2050),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2050),
    [anon_sym_LT_EQ] = ACTIONS(2050),
    [anon_sym_GT_EQ] = ACTIONS(2050),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(703),
    [anon_sym_DOT_DOT_LT] = ACTIONS(705),
    [anon_sym_PLUS] = ACTIONS(707),
    [anon_sym_DASH] = ACTIONS(707),
    [anon_sym_STAR] = ACTIONS(2048),
    [anon_sym_SLASH] = ACTIONS(2048),
    [anon_sym_PERCENT] = ACTIONS(2048),
    [anon_sym_PLUS_PLUS] = ACTIONS(687),
    [anon_sym_DASH_DASH] = ACTIONS(687),
    [anon_sym_PIPE] = ACTIONS(2050),
    [anon_sym_CARET] = ACTIONS(2048),
    [anon_sym_LT_LT] = ACTIONS(2050),
    [anon_sym_GT_GT] = ACTIONS(2050),
    [anon_sym_borrowing] = ACTIONS(661),
    [anon_sym_consuming] = ACTIONS(661),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(709),
    [sym__dot_custom] = ACTIONS(711),
    [sym__eq_custom] = ACTIONS(2050),
    [sym__eq_eq_custom] = ACTIONS(2050),
    [sym__plus_then_ws] = ACTIONS(2050),
    [sym__minus_then_ws] = ACTIONS(2050),
    [sym__bang_custom] = ACTIONS(713),
    [sym__custom_operator] = ACTIONS(693),
    [sym__hash_symbol_custom] = ACTIONS(715),
    [sym__directive_if] = ACTIONS(717),
    [sym__directive_elseif] = ACTIONS(717),
    [sym__directive_else] = ACTIONS(719),
    [sym__directive_endif] = ACTIONS(719),
  },
  [588] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1640),
    [sym_boolean_literal] = STATE(1640),
    [sym__string_literal] = STATE(1640),
    [sym_line_string_literal] = STATE(1640),
    [sym_multi_line_string_literal] = STATE(1640),
    [sym_raw_string_literal] = STATE(1640),
    [sym_regex_literal] = STATE(1640),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1640),
    [sym__unary_expression] = STATE(1640),
    [sym_postfix_expression] = STATE(1640),
    [sym_constructor_expression] = STATE(1640),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1640),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1640),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1640),
    [sym_prefix_expression] = STATE(1640),
    [sym_as_expression] = STATE(1640),
    [sym_selector_expression] = STATE(1640),
    [sym__binary_expression] = STATE(1640),
    [sym_multiplicative_expression] = STATE(1640),
    [sym_additive_expression] = STATE(1640),
    [sym_range_expression] = STATE(1640),
    [sym_infix_expression] = STATE(1640),
    [sym_nil_coalescing_expression] = STATE(1640),
    [sym_check_expression] = STATE(1640),
    [sym_comparison_expression] = STATE(1640),
    [sym_equality_expression] = STATE(1640),
    [sym_conjunction_expression] = STATE(1640),
    [sym_disjunction_expression] = STATE(1640),
    [sym_bitwise_operation] = STATE(1640),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1640),
    [sym_await_expression] = STATE(1640),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1640),
    [sym_call_expression] = STATE(1640),
    [sym_macro_invocation] = STATE(1640),
    [sym__primary_expression] = STATE(1640),
    [sym_tuple_expression] = STATE(1640),
    [sym_array_literal] = STATE(1640),
    [sym_dictionary_literal] = STATE(1640),
    [sym_special_literal] = STATE(1640),
    [sym_playground_literal] = STATE(1640),
    [sym_lambda_literal] = STATE(1640),
    [sym_self_expression] = STATE(1640),
    [sym_super_expression] = STATE(1640),
    [sym_if_statement] = STATE(1640),
    [sym_switch_statement] = STATE(1640),
    [sym_key_path_expression] = STATE(1640),
    [sym_key_path_string_expression] = STATE(1640),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1640),
    [sym__equality_operator] = STATE(1640),
    [sym__comparison_operator] = STATE(1640),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1640),
    [sym__multiplicative_operator] = STATE(1640),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1640),
    [sym_value_parameter_pack] = STATE(1640),
    [sym_value_pack_expansion] = STATE(1640),
    [sym__referenceable_operator] = STATE(1640),
    [sym__equal_sign] = STATE(1640),
    [sym__eq_eq] = STATE(1640),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1640),
    [sym_diagnostic] = STATE(1640),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2052),
    [sym_real_literal] = ACTIONS(2054),
    [sym_integer_literal] = ACTIONS(2052),
    [sym_hex_literal] = ACTIONS(2052),
    [sym_oct_literal] = ACTIONS(2054),
    [sym_bin_literal] = ACTIONS(2054),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2052),
    [anon_sym_GT] = ACTIONS(2052),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2054),
    [anon_sym_DASH_EQ] = ACTIONS(2054),
    [anon_sym_STAR_EQ] = ACTIONS(2054),
    [anon_sym_SLASH_EQ] = ACTIONS(2054),
    [anon_sym_PERCENT_EQ] = ACTIONS(2054),
    [anon_sym_BANG_EQ] = ACTIONS(2052),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2054),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2054),
    [anon_sym_LT_EQ] = ACTIONS(2054),
    [anon_sym_GT_EQ] = ACTIONS(2054),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2052),
    [anon_sym_SLASH] = ACTIONS(2052),
    [anon_sym_PERCENT] = ACTIONS(2052),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2054),
    [anon_sym_CARET] = ACTIONS(2052),
    [anon_sym_LT_LT] = ACTIONS(2054),
    [anon_sym_GT_GT] = ACTIONS(2054),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2054),
    [sym__eq_eq_custom] = ACTIONS(2054),
    [sym__plus_then_ws] = ACTIONS(2054),
    [sym__minus_then_ws] = ACTIONS(2054),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [589] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1493),
    [sym_boolean_literal] = STATE(1493),
    [sym__string_literal] = STATE(1493),
    [sym_line_string_literal] = STATE(1493),
    [sym_multi_line_string_literal] = STATE(1493),
    [sym_raw_string_literal] = STATE(1493),
    [sym_regex_literal] = STATE(1493),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1493),
    [sym__unary_expression] = STATE(1493),
    [sym_postfix_expression] = STATE(1493),
    [sym_constructor_expression] = STATE(1493),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1493),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1493),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1493),
    [sym_prefix_expression] = STATE(1493),
    [sym_as_expression] = STATE(1493),
    [sym_selector_expression] = STATE(1493),
    [sym__binary_expression] = STATE(1493),
    [sym_multiplicative_expression] = STATE(1493),
    [sym_additive_expression] = STATE(1493),
    [sym_range_expression] = STATE(1493),
    [sym_infix_expression] = STATE(1493),
    [sym_nil_coalescing_expression] = STATE(1493),
    [sym_check_expression] = STATE(1493),
    [sym_comparison_expression] = STATE(1493),
    [sym_equality_expression] = STATE(1493),
    [sym_conjunction_expression] = STATE(1493),
    [sym_disjunction_expression] = STATE(1493),
    [sym_bitwise_operation] = STATE(1493),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1493),
    [sym_await_expression] = STATE(1493),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1493),
    [sym_call_expression] = STATE(1493),
    [sym_macro_invocation] = STATE(1493),
    [sym__primary_expression] = STATE(1493),
    [sym_tuple_expression] = STATE(1493),
    [sym_array_literal] = STATE(1493),
    [sym_dictionary_literal] = STATE(1493),
    [sym_special_literal] = STATE(1493),
    [sym_playground_literal] = STATE(1493),
    [sym_lambda_literal] = STATE(1493),
    [sym_self_expression] = STATE(1493),
    [sym_super_expression] = STATE(1493),
    [sym_if_statement] = STATE(1493),
    [sym_switch_statement] = STATE(1493),
    [sym_key_path_expression] = STATE(1493),
    [sym_key_path_string_expression] = STATE(1493),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1493),
    [sym__equality_operator] = STATE(1493),
    [sym__comparison_operator] = STATE(1493),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1493),
    [sym__multiplicative_operator] = STATE(1493),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1493),
    [sym_value_parameter_pack] = STATE(1493),
    [sym_value_pack_expansion] = STATE(1493),
    [sym__referenceable_operator] = STATE(1493),
    [sym__equal_sign] = STATE(1493),
    [sym__eq_eq] = STATE(1493),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1493),
    [sym_diagnostic] = STATE(1493),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2056),
    [sym_real_literal] = ACTIONS(2058),
    [sym_integer_literal] = ACTIONS(2056),
    [sym_hex_literal] = ACTIONS(2056),
    [sym_oct_literal] = ACTIONS(2058),
    [sym_bin_literal] = ACTIONS(2058),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2056),
    [anon_sym_GT] = ACTIONS(2056),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2058),
    [anon_sym_DASH_EQ] = ACTIONS(2058),
    [anon_sym_STAR_EQ] = ACTIONS(2058),
    [anon_sym_SLASH_EQ] = ACTIONS(2058),
    [anon_sym_PERCENT_EQ] = ACTIONS(2058),
    [anon_sym_BANG_EQ] = ACTIONS(2056),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2058),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2058),
    [anon_sym_LT_EQ] = ACTIONS(2058),
    [anon_sym_GT_EQ] = ACTIONS(2058),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2056),
    [anon_sym_SLASH] = ACTIONS(2056),
    [anon_sym_PERCENT] = ACTIONS(2056),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2058),
    [anon_sym_CARET] = ACTIONS(2056),
    [anon_sym_LT_LT] = ACTIONS(2058),
    [anon_sym_GT_GT] = ACTIONS(2058),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2058),
    [sym__eq_eq_custom] = ACTIONS(2058),
    [sym__plus_then_ws] = ACTIONS(2058),
    [sym__minus_then_ws] = ACTIONS(2058),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [590] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1580),
    [sym_boolean_literal] = STATE(1580),
    [sym__string_literal] = STATE(1580),
    [sym_line_string_literal] = STATE(1580),
    [sym_multi_line_string_literal] = STATE(1580),
    [sym_raw_string_literal] = STATE(1580),
    [sym_regex_literal] = STATE(1580),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1580),
    [sym__unary_expression] = STATE(1580),
    [sym_postfix_expression] = STATE(1580),
    [sym_constructor_expression] = STATE(1580),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1580),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1580),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1580),
    [sym_prefix_expression] = STATE(1580),
    [sym_as_expression] = STATE(1580),
    [sym_selector_expression] = STATE(1580),
    [sym__binary_expression] = STATE(1580),
    [sym_multiplicative_expression] = STATE(1580),
    [sym_additive_expression] = STATE(1580),
    [sym_range_expression] = STATE(1580),
    [sym_infix_expression] = STATE(1580),
    [sym_nil_coalescing_expression] = STATE(1580),
    [sym_check_expression] = STATE(1580),
    [sym_comparison_expression] = STATE(1580),
    [sym_equality_expression] = STATE(1580),
    [sym_conjunction_expression] = STATE(1580),
    [sym_disjunction_expression] = STATE(1580),
    [sym_bitwise_operation] = STATE(1580),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1580),
    [sym_await_expression] = STATE(1580),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1580),
    [sym_call_expression] = STATE(1580),
    [sym_macro_invocation] = STATE(1580),
    [sym__primary_expression] = STATE(1580),
    [sym_tuple_expression] = STATE(1580),
    [sym_array_literal] = STATE(1580),
    [sym_dictionary_literal] = STATE(1580),
    [sym_special_literal] = STATE(1580),
    [sym_playground_literal] = STATE(1580),
    [sym_lambda_literal] = STATE(1580),
    [sym_self_expression] = STATE(1580),
    [sym_super_expression] = STATE(1580),
    [sym_if_statement] = STATE(1580),
    [sym_switch_statement] = STATE(1580),
    [sym_key_path_expression] = STATE(1580),
    [sym_key_path_string_expression] = STATE(1580),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1580),
    [sym__equality_operator] = STATE(1580),
    [sym__comparison_operator] = STATE(1580),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1580),
    [sym__multiplicative_operator] = STATE(1580),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1580),
    [sym_value_parameter_pack] = STATE(1580),
    [sym_value_pack_expansion] = STATE(1580),
    [sym__referenceable_operator] = STATE(1580),
    [sym__equal_sign] = STATE(1580),
    [sym__eq_eq] = STATE(1580),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1580),
    [sym_diagnostic] = STATE(1580),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2060),
    [sym_real_literal] = ACTIONS(2062),
    [sym_integer_literal] = ACTIONS(2060),
    [sym_hex_literal] = ACTIONS(2060),
    [sym_oct_literal] = ACTIONS(2062),
    [sym_bin_literal] = ACTIONS(2062),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2060),
    [anon_sym_GT] = ACTIONS(2060),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2062),
    [anon_sym_DASH_EQ] = ACTIONS(2062),
    [anon_sym_STAR_EQ] = ACTIONS(2062),
    [anon_sym_SLASH_EQ] = ACTIONS(2062),
    [anon_sym_PERCENT_EQ] = ACTIONS(2062),
    [anon_sym_BANG_EQ] = ACTIONS(2060),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2062),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2062),
    [anon_sym_LT_EQ] = ACTIONS(2062),
    [anon_sym_GT_EQ] = ACTIONS(2062),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2060),
    [anon_sym_SLASH] = ACTIONS(2060),
    [anon_sym_PERCENT] = ACTIONS(2060),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2062),
    [anon_sym_CARET] = ACTIONS(2060),
    [anon_sym_LT_LT] = ACTIONS(2062),
    [anon_sym_GT_GT] = ACTIONS(2062),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2062),
    [sym__eq_eq_custom] = ACTIONS(2062),
    [sym__plus_then_ws] = ACTIONS(2062),
    [sym__minus_then_ws] = ACTIONS(2062),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [591] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1663),
    [sym_boolean_literal] = STATE(1663),
    [sym__string_literal] = STATE(1663),
    [sym_line_string_literal] = STATE(1663),
    [sym_multi_line_string_literal] = STATE(1663),
    [sym_raw_string_literal] = STATE(1663),
    [sym_regex_literal] = STATE(1663),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1663),
    [sym__unary_expression] = STATE(1663),
    [sym_postfix_expression] = STATE(1663),
    [sym_constructor_expression] = STATE(1663),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1663),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1663),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1663),
    [sym_prefix_expression] = STATE(1663),
    [sym_as_expression] = STATE(1663),
    [sym_selector_expression] = STATE(1663),
    [sym__binary_expression] = STATE(1663),
    [sym_multiplicative_expression] = STATE(1663),
    [sym_additive_expression] = STATE(1663),
    [sym_range_expression] = STATE(1663),
    [sym_infix_expression] = STATE(1663),
    [sym_nil_coalescing_expression] = STATE(1663),
    [sym_check_expression] = STATE(1663),
    [sym_comparison_expression] = STATE(1663),
    [sym_equality_expression] = STATE(1663),
    [sym_conjunction_expression] = STATE(1663),
    [sym_disjunction_expression] = STATE(1663),
    [sym_bitwise_operation] = STATE(1663),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1663),
    [sym_await_expression] = STATE(1663),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1663),
    [sym_call_expression] = STATE(1663),
    [sym_macro_invocation] = STATE(1663),
    [sym__primary_expression] = STATE(1663),
    [sym_tuple_expression] = STATE(1663),
    [sym_array_literal] = STATE(1663),
    [sym_dictionary_literal] = STATE(1663),
    [sym_special_literal] = STATE(1663),
    [sym_playground_literal] = STATE(1663),
    [sym_lambda_literal] = STATE(1663),
    [sym_self_expression] = STATE(1663),
    [sym_super_expression] = STATE(1663),
    [sym_if_statement] = STATE(1663),
    [sym_switch_statement] = STATE(1663),
    [sym_key_path_expression] = STATE(1663),
    [sym_key_path_string_expression] = STATE(1663),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1663),
    [sym__equality_operator] = STATE(1663),
    [sym__comparison_operator] = STATE(1663),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1663),
    [sym__multiplicative_operator] = STATE(1663),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1663),
    [sym_value_parameter_pack] = STATE(1663),
    [sym_value_pack_expansion] = STATE(1663),
    [sym__referenceable_operator] = STATE(1663),
    [sym__equal_sign] = STATE(1663),
    [sym__eq_eq] = STATE(1663),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1663),
    [sym_diagnostic] = STATE(1663),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2064),
    [sym_real_literal] = ACTIONS(2066),
    [sym_integer_literal] = ACTIONS(2064),
    [sym_hex_literal] = ACTIONS(2064),
    [sym_oct_literal] = ACTIONS(2066),
    [sym_bin_literal] = ACTIONS(2066),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2064),
    [anon_sym_GT] = ACTIONS(2064),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2066),
    [anon_sym_DASH_EQ] = ACTIONS(2066),
    [anon_sym_STAR_EQ] = ACTIONS(2066),
    [anon_sym_SLASH_EQ] = ACTIONS(2066),
    [anon_sym_PERCENT_EQ] = ACTIONS(2066),
    [anon_sym_BANG_EQ] = ACTIONS(2064),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2066),
    [anon_sym_LT_EQ] = ACTIONS(2066),
    [anon_sym_GT_EQ] = ACTIONS(2066),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2064),
    [anon_sym_SLASH] = ACTIONS(2064),
    [anon_sym_PERCENT] = ACTIONS(2064),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2066),
    [anon_sym_CARET] = ACTIONS(2064),
    [anon_sym_LT_LT] = ACTIONS(2066),
    [anon_sym_GT_GT] = ACTIONS(2066),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2066),
    [sym__eq_eq_custom] = ACTIONS(2066),
    [sym__plus_then_ws] = ACTIONS(2066),
    [sym__minus_then_ws] = ACTIONS(2066),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [592] = {
    [sym_simple_identifier] = STATE(3108),
    [sym__contextual_simple_identifier] = STATE(2967),
    [sym__basic_literal] = STATE(1617),
    [sym_boolean_literal] = STATE(1617),
    [sym__string_literal] = STATE(1617),
    [sym_line_string_literal] = STATE(1617),
    [sym_multi_line_string_literal] = STATE(1617),
    [sym_raw_string_literal] = STATE(1617),
    [sym_regex_literal] = STATE(1617),
    [sym__extended_regex_literal] = STATE(3663),
    [sym__multiline_regex_literal] = STATE(3663),
    [sym_user_type] = STATE(6406),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6406),
    [sym_dictionary_type] = STATE(6406),
    [sym__expression] = STATE(1617),
    [sym__unary_expression] = STATE(1617),
    [sym_postfix_expression] = STATE(1617),
    [sym_constructor_expression] = STATE(1617),
    [sym__parenthesized_type] = STATE(7557),
    [sym_navigation_expression] = STATE(1617),
    [sym__navigable_type_expression] = STATE(7558),
    [sym_open_start_range_expression] = STATE(1617),
    [sym__range_operator] = STATE(592),
    [sym_open_end_range_expression] = STATE(1617),
    [sym_prefix_expression] = STATE(1617),
    [sym_as_expression] = STATE(1617),
    [sym_selector_expression] = STATE(1617),
    [sym__binary_expression] = STATE(1617),
    [sym_multiplicative_expression] = STATE(1617),
    [sym_additive_expression] = STATE(1617),
    [sym_range_expression] = STATE(1617),
    [sym_infix_expression] = STATE(1617),
    [sym_nil_coalescing_expression] = STATE(1617),
    [sym_check_expression] = STATE(1617),
    [sym_comparison_expression] = STATE(1617),
    [sym_equality_expression] = STATE(1617),
    [sym_conjunction_expression] = STATE(1617),
    [sym_disjunction_expression] = STATE(1617),
    [sym_bitwise_operation] = STATE(1617),
    [sym_custom_operator] = STATE(1288),
    [sym_try_expression] = STATE(1617),
    [sym_await_expression] = STATE(1617),
    [sym__await_operator] = STATE(595),
    [sym_ternary_expression] = STATE(1617),
    [sym_call_expression] = STATE(1617),
    [sym_macro_invocation] = STATE(1617),
    [sym__primary_expression] = STATE(1617),
    [sym_tuple_expression] = STATE(1617),
    [sym_array_literal] = STATE(1617),
    [sym_dictionary_literal] = STATE(1617),
    [sym_special_literal] = STATE(1617),
    [sym_playground_literal] = STATE(1617),
    [sym_lambda_literal] = STATE(1617),
    [sym_self_expression] = STATE(1617),
    [sym_super_expression] = STATE(1617),
    [sym_if_statement] = STATE(1617),
    [sym_switch_statement] = STATE(1617),
    [sym_key_path_expression] = STATE(1617),
    [sym_key_path_string_expression] = STATE(1617),
    [sym_try_operator] = STATE(611),
    [sym__assignment_and_operator] = STATE(1617),
    [sym__equality_operator] = STATE(1617),
    [sym__comparison_operator] = STATE(1617),
    [sym__three_dot_operator] = STATE(1257),
    [sym__open_ended_range_operator] = STATE(592),
    [sym__additive_operator] = STATE(1617),
    [sym__multiplicative_operator] = STATE(1617),
    [sym__prefix_unary_operator] = STATE(620),
    [sym_directly_assignable_expression] = STATE(6409),
    [sym_assignment] = STATE(1617),
    [sym_value_parameter_pack] = STATE(1617),
    [sym_value_pack_expansion] = STATE(1617),
    [sym__referenceable_operator] = STATE(1617),
    [sym__equal_sign] = STATE(1617),
    [sym__eq_eq] = STATE(1617),
    [sym__dot] = STATE(620),
    [sym__hash_symbol] = STATE(4853),
    [sym_bang] = STATE(1288),
    [sym__parameter_ownership_modifier] = STATE(2967),
    [sym_directive] = STATE(1617),
    [sym_diagnostic] = STATE(1617),
    [aux_sym_raw_string_literal_repeat1] = STATE(7564),
    [anon_sym_BANG] = ACTIONS(1293),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1295),
    [aux_sym_simple_identifier_token2] = ACTIONS(1297),
    [aux_sym_simple_identifier_token3] = ACTIONS(1297),
    [aux_sym_simple_identifier_token4] = ACTIONS(1297),
    [anon_sym_actor] = ACTIONS(1295),
    [anon_sym_async] = ACTIONS(1295),
    [anon_sym_each] = ACTIONS(1301),
    [anon_sym_lazy] = ACTIONS(1295),
    [anon_sym_repeat] = ACTIONS(1303),
    [anon_sym_package] = ACTIONS(1295),
    [anon_sym_nil] = ACTIONS(2068),
    [sym_real_literal] = ACTIONS(2070),
    [sym_integer_literal] = ACTIONS(2068),
    [sym_hex_literal] = ACTIONS(2068),
    [sym_oct_literal] = ACTIONS(2070),
    [sym_bin_literal] = ACTIONS(2070),
    [anon_sym_true] = ACTIONS(1309),
    [anon_sym_false] = ACTIONS(1309),
    [anon_sym_DQUOTE] = ACTIONS(1311),
    [anon_sym_BSLASH] = ACTIONS(1313),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1315),
    [sym__oneline_regex_literal] = ACTIONS(1317),
    [anon_sym_LPAREN] = ACTIONS(1319),
    [anon_sym_LBRACK] = ACTIONS(1321),
    [anon_sym_AMP] = ACTIONS(1323),
    [anon_sym_TILDE] = ACTIONS(1323),
    [anon_sym_if] = ACTIONS(1325),
    [anon_sym_switch] = ACTIONS(1327),
    [aux_sym_custom_operator_token1] = ACTIONS(1329),
    [anon_sym_LT] = ACTIONS(2068),
    [anon_sym_GT] = ACTIONS(2068),
    [anon_sym_await] = ACTIONS(1331),
    [anon_sym_LBRACE] = ACTIONS(1333),
    [anon_sym_CARET_LBRACE] = ACTIONS(1333),
    [anon_sym_self] = ACTIONS(1335),
    [anon_sym_super] = ACTIONS(1337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2070),
    [anon_sym_DASH_EQ] = ACTIONS(2070),
    [anon_sym_STAR_EQ] = ACTIONS(2070),
    [anon_sym_SLASH_EQ] = ACTIONS(2070),
    [anon_sym_PERCENT_EQ] = ACTIONS(2070),
    [anon_sym_BANG_EQ] = ACTIONS(2068),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2070),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2070),
    [anon_sym_LT_EQ] = ACTIONS(2070),
    [anon_sym_GT_EQ] = ACTIONS(2070),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1341),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1343),
    [anon_sym_PLUS] = ACTIONS(1345),
    [anon_sym_DASH] = ACTIONS(1345),
    [anon_sym_STAR] = ACTIONS(2068),
    [anon_sym_SLASH] = ACTIONS(2068),
    [anon_sym_PERCENT] = ACTIONS(2068),
    [anon_sym_PLUS_PLUS] = ACTIONS(1323),
    [anon_sym_DASH_DASH] = ACTIONS(1323),
    [anon_sym_PIPE] = ACTIONS(2070),
    [anon_sym_CARET] = ACTIONS(2068),
    [anon_sym_LT_LT] = ACTIONS(2070),
    [anon_sym_GT_GT] = ACTIONS(2070),
    [anon_sym_borrowing] = ACTIONS(1295),
    [anon_sym_consuming] = ACTIONS(1295),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1347),
    [sym__dot_custom] = ACTIONS(1349),
    [sym__eq_custom] = ACTIONS(2070),
    [sym__eq_eq_custom] = ACTIONS(2070),
    [sym__plus_then_ws] = ACTIONS(2070),
    [sym__minus_then_ws] = ACTIONS(2070),
    [sym__bang_custom] = ACTIONS(1351),
    [sym__custom_operator] = ACTIONS(1329),
    [sym__hash_symbol_custom] = ACTIONS(1371),
    [sym__directive_if] = ACTIONS(1355),
    [sym__directive_elseif] = ACTIONS(1355),
    [sym__directive_else] = ACTIONS(1357),
    [sym__directive_endif] = ACTIONS(1357),
  },
  [593] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1492),
    [sym_boolean_literal] = STATE(1492),
    [sym__string_literal] = STATE(1492),
    [sym_line_string_literal] = STATE(1492),
    [sym_multi_line_string_literal] = STATE(1492),
    [sym_raw_string_literal] = STATE(1492),
    [sym_regex_literal] = STATE(1492),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1492),
    [sym__unary_expression] = STATE(1492),
    [sym_postfix_expression] = STATE(1492),
    [sym_constructor_expression] = STATE(1492),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1492),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1492),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1492),
    [sym_prefix_expression] = STATE(1492),
    [sym_as_expression] = STATE(1492),
    [sym_selector_expression] = STATE(1492),
    [sym__binary_expression] = STATE(1492),
    [sym_multiplicative_expression] = STATE(1492),
    [sym_additive_expression] = STATE(1492),
    [sym_range_expression] = STATE(1492),
    [sym_infix_expression] = STATE(1492),
    [sym_nil_coalescing_expression] = STATE(1492),
    [sym_check_expression] = STATE(1492),
    [sym_comparison_expression] = STATE(1492),
    [sym_equality_expression] = STATE(1492),
    [sym_conjunction_expression] = STATE(1492),
    [sym_disjunction_expression] = STATE(1492),
    [sym_bitwise_operation] = STATE(1492),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1492),
    [sym_await_expression] = STATE(1492),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1492),
    [sym_call_expression] = STATE(1492),
    [sym_macro_invocation] = STATE(1492),
    [sym__primary_expression] = STATE(1492),
    [sym_tuple_expression] = STATE(1492),
    [sym_array_literal] = STATE(1492),
    [sym_dictionary_literal] = STATE(1492),
    [sym_special_literal] = STATE(1492),
    [sym_playground_literal] = STATE(1492),
    [sym_lambda_literal] = STATE(1492),
    [sym_self_expression] = STATE(1492),
    [sym_super_expression] = STATE(1492),
    [sym_if_statement] = STATE(1492),
    [sym_switch_statement] = STATE(1492),
    [sym_key_path_expression] = STATE(1492),
    [sym_key_path_string_expression] = STATE(1492),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1492),
    [sym__equality_operator] = STATE(1492),
    [sym__comparison_operator] = STATE(1492),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1492),
    [sym__multiplicative_operator] = STATE(1492),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1492),
    [sym_value_parameter_pack] = STATE(1492),
    [sym_value_pack_expansion] = STATE(1492),
    [sym__referenceable_operator] = STATE(1492),
    [sym__equal_sign] = STATE(1492),
    [sym__eq_eq] = STATE(1492),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1492),
    [sym_diagnostic] = STATE(1492),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2072),
    [sym_real_literal] = ACTIONS(2074),
    [sym_integer_literal] = ACTIONS(2072),
    [sym_hex_literal] = ACTIONS(2072),
    [sym_oct_literal] = ACTIONS(2074),
    [sym_bin_literal] = ACTIONS(2074),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2072),
    [anon_sym_GT] = ACTIONS(2072),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2074),
    [anon_sym_DASH_EQ] = ACTIONS(2074),
    [anon_sym_STAR_EQ] = ACTIONS(2074),
    [anon_sym_SLASH_EQ] = ACTIONS(2074),
    [anon_sym_PERCENT_EQ] = ACTIONS(2074),
    [anon_sym_BANG_EQ] = ACTIONS(2072),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2074),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2074),
    [anon_sym_LT_EQ] = ACTIONS(2074),
    [anon_sym_GT_EQ] = ACTIONS(2074),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2072),
    [anon_sym_SLASH] = ACTIONS(2072),
    [anon_sym_PERCENT] = ACTIONS(2072),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2074),
    [anon_sym_CARET] = ACTIONS(2072),
    [anon_sym_LT_LT] = ACTIONS(2074),
    [anon_sym_GT_GT] = ACTIONS(2074),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2074),
    [sym__eq_eq_custom] = ACTIONS(2074),
    [sym__plus_then_ws] = ACTIONS(2074),
    [sym__minus_then_ws] = ACTIONS(2074),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [594] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1479),
    [sym_boolean_literal] = STATE(1479),
    [sym__string_literal] = STATE(1479),
    [sym_line_string_literal] = STATE(1479),
    [sym_multi_line_string_literal] = STATE(1479),
    [sym_raw_string_literal] = STATE(1479),
    [sym_regex_literal] = STATE(1479),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1479),
    [sym__unary_expression] = STATE(1479),
    [sym_postfix_expression] = STATE(1479),
    [sym_constructor_expression] = STATE(1479),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1479),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1479),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1479),
    [sym_prefix_expression] = STATE(1479),
    [sym_as_expression] = STATE(1479),
    [sym_selector_expression] = STATE(1479),
    [sym__binary_expression] = STATE(1479),
    [sym_multiplicative_expression] = STATE(1479),
    [sym_additive_expression] = STATE(1479),
    [sym_range_expression] = STATE(1479),
    [sym_infix_expression] = STATE(1479),
    [sym_nil_coalescing_expression] = STATE(1479),
    [sym_check_expression] = STATE(1479),
    [sym_comparison_expression] = STATE(1479),
    [sym_equality_expression] = STATE(1479),
    [sym_conjunction_expression] = STATE(1479),
    [sym_disjunction_expression] = STATE(1479),
    [sym_bitwise_operation] = STATE(1479),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1479),
    [sym_await_expression] = STATE(1479),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1479),
    [sym_call_expression] = STATE(1479),
    [sym_macro_invocation] = STATE(1479),
    [sym__primary_expression] = STATE(1479),
    [sym_tuple_expression] = STATE(1479),
    [sym_array_literal] = STATE(1479),
    [sym_dictionary_literal] = STATE(1479),
    [sym_special_literal] = STATE(1479),
    [sym_playground_literal] = STATE(1479),
    [sym_lambda_literal] = STATE(1479),
    [sym_self_expression] = STATE(1479),
    [sym_super_expression] = STATE(1479),
    [sym_if_statement] = STATE(1479),
    [sym_switch_statement] = STATE(1479),
    [sym_key_path_expression] = STATE(1479),
    [sym_key_path_string_expression] = STATE(1479),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1479),
    [sym__equality_operator] = STATE(1479),
    [sym__comparison_operator] = STATE(1479),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1479),
    [sym__multiplicative_operator] = STATE(1479),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_assignment] = STATE(1479),
    [sym_value_parameter_pack] = STATE(1479),
    [sym_value_pack_expansion] = STATE(1479),
    [sym__referenceable_operator] = STATE(1479),
    [sym__equal_sign] = STATE(1479),
    [sym__eq_eq] = STATE(1479),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1479),
    [sym_diagnostic] = STATE(1479),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(11),
    [anon_sym_async] = ACTIONS(11),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(11),
    [anon_sym_repeat] = ACTIONS(925),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(2076),
    [sym_real_literal] = ACTIONS(2078),
    [sym_integer_literal] = ACTIONS(2076),
    [sym_hex_literal] = ACTIONS(2076),
    [sym_oct_literal] = ACTIONS(2078),
    [sym_bin_literal] = ACTIONS(2078),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(2076),
    [anon_sym_GT] = ACTIONS(2076),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2078),
    [anon_sym_DASH_EQ] = ACTIONS(2078),
    [anon_sym_STAR_EQ] = ACTIONS(2078),
    [anon_sym_SLASH_EQ] = ACTIONS(2078),
    [anon_sym_PERCENT_EQ] = ACTIONS(2078),
    [anon_sym_BANG_EQ] = ACTIONS(2076),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2078),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2078),
    [anon_sym_LT_EQ] = ACTIONS(2078),
    [anon_sym_GT_EQ] = ACTIONS(2078),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(2076),
    [anon_sym_SLASH] = ACTIONS(2076),
    [anon_sym_PERCENT] = ACTIONS(2076),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(2078),
    [anon_sym_CARET] = ACTIONS(2076),
    [anon_sym_LT_LT] = ACTIONS(2078),
    [anon_sym_GT_GT] = ACTIONS(2078),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(2078),
    [sym__eq_eq_custom] = ACTIONS(2078),
    [sym__plus_then_ws] = ACTIONS(2078),
    [sym__minus_then_ws] = ACTIONS(2078),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [595] = {
    [sym_simple_identifier] = STATE(3108),
    [sym__contextual_simple_identifier] = STATE(2967),
    [sym__basic_literal] = STATE(1606),
    [sym_boolean_literal] = STATE(1606),
    [sym__string_literal] = STATE(1606),
    [sym_line_string_literal] = STATE(1606),
    [sym_multi_line_string_literal] = STATE(1606),
    [sym_raw_string_literal] = STATE(1606),
    [sym_regex_literal] = STATE(1606),
    [sym__extended_regex_literal] = STATE(3663),
    [sym__multiline_regex_literal] = STATE(3663),
    [sym_user_type] = STATE(6406),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6406),
    [sym_dictionary_type] = STATE(6406),
    [sym__expression] = STATE(1606),
    [sym__unary_expression] = STATE(1606),
    [sym_postfix_expression] = STATE(1606),
    [sym_constructor_expression] = STATE(1606),
    [sym__parenthesized_type] = STATE(7557),
    [sym_navigation_expression] = STATE(1606),
    [sym__navigable_type_expression] = STATE(7558),
    [sym_open_start_range_expression] = STATE(1606),
    [sym__range_operator] = STATE(592),
    [sym_open_end_range_expression] = STATE(1606),
    [sym_prefix_expression] = STATE(1606),
    [sym_as_expression] = STATE(1606),
    [sym_selector_expression] = STATE(1606),
    [sym__binary_expression] = STATE(1606),
    [sym_multiplicative_expression] = STATE(1606),
    [sym_additive_expression] = STATE(1606),
    [sym_range_expression] = STATE(1606),
    [sym_infix_expression] = STATE(1606),
    [sym_nil_coalescing_expression] = STATE(1606),
    [sym_check_expression] = STATE(1606),
    [sym_comparison_expression] = STATE(1606),
    [sym_equality_expression] = STATE(1606),
    [sym_conjunction_expression] = STATE(1606),
    [sym_disjunction_expression] = STATE(1606),
    [sym_bitwise_operation] = STATE(1606),
    [sym_custom_operator] = STATE(1288),
    [sym_try_expression] = STATE(1606),
    [sym_await_expression] = STATE(1606),
    [sym__await_operator] = STATE(595),
    [sym_ternary_expression] = STATE(3632),
    [sym_call_expression] = STATE(3628),
    [sym_macro_invocation] = STATE(1606),
    [sym__primary_expression] = STATE(1606),
    [sym_tuple_expression] = STATE(1606),
    [sym_array_literal] = STATE(1606),
    [sym_dictionary_literal] = STATE(1606),
    [sym_special_literal] = STATE(1606),
    [sym_playground_literal] = STATE(1606),
    [sym_lambda_literal] = STATE(1606),
    [sym_self_expression] = STATE(1606),
    [sym_super_expression] = STATE(1606),
    [sym_if_statement] = STATE(1606),
    [sym_switch_statement] = STATE(1606),
    [sym_key_path_expression] = STATE(1606),
    [sym_key_path_string_expression] = STATE(1606),
    [sym_try_operator] = STATE(611),
    [sym__assignment_and_operator] = STATE(1606),
    [sym__equality_operator] = STATE(1606),
    [sym__comparison_operator] = STATE(1606),
    [sym__three_dot_operator] = STATE(1257),
    [sym__open_ended_range_operator] = STATE(592),
    [sym__additive_operator] = STATE(1606),
    [sym__multiplicative_operator] = STATE(1606),
    [sym__prefix_unary_operator] = STATE(620),
    [sym_directly_assignable_expression] = STATE(6409),
    [sym_assignment] = STATE(1606),
    [sym_value_parameter_pack] = STATE(1606),
    [sym_value_pack_expansion] = STATE(1606),
    [sym__referenceable_operator] = STATE(1606),
    [sym__equal_sign] = STATE(1606),
    [sym__eq_eq] = STATE(1606),
    [sym__dot] = STATE(620),
    [sym__hash_symbol] = STATE(4853),
    [sym_bang] = STATE(1288),
    [sym__parameter_ownership_modifier] = STATE(2967),
    [sym_directive] = STATE(1606),
    [sym_diagnostic] = STATE(1606),
    [aux_sym_raw_string_literal_repeat1] = STATE(7564),
    [anon_sym_BANG] = ACTIONS(1293),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1295),
    [aux_sym_simple_identifier_token2] = ACTIONS(1297),
    [aux_sym_simple_identifier_token3] = ACTIONS(1297),
    [aux_sym_simple_identifier_token4] = ACTIONS(1297),
    [anon_sym_actor] = ACTIONS(1295),
    [anon_sym_async] = ACTIONS(1295),
    [anon_sym_each] = ACTIONS(1301),
    [anon_sym_lazy] = ACTIONS(1295),
    [anon_sym_repeat] = ACTIONS(1303),
    [anon_sym_package] = ACTIONS(1295),
    [anon_sym_nil] = ACTIONS(2080),
    [sym_real_literal] = ACTIONS(2082),
    [sym_integer_literal] = ACTIONS(2080),
    [sym_hex_literal] = ACTIONS(2080),
    [sym_oct_literal] = ACTIONS(2082),
    [sym_bin_literal] = ACTIONS(2082),
    [anon_sym_true] = ACTIONS(1309),
    [anon_sym_false] = ACTIONS(1309),
    [anon_sym_DQUOTE] = ACTIONS(1311),
    [anon_sym_BSLASH] = ACTIONS(1313),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1315),
    [sym__oneline_regex_literal] = ACTIONS(1317),
    [anon_sym_LPAREN] = ACTIONS(1319),
    [anon_sym_LBRACK] = ACTIONS(1321),
    [anon_sym_AMP] = ACTIONS(1323),
    [anon_sym_TILDE] = ACTIONS(1323),
    [anon_sym_if] = ACTIONS(1325),
    [anon_sym_switch] = ACTIONS(1327),
    [aux_sym_custom_operator_token1] = ACTIONS(1329),
    [anon_sym_LT] = ACTIONS(2080),
    [anon_sym_GT] = ACTIONS(2080),
    [anon_sym_await] = ACTIONS(1331),
    [anon_sym_LBRACE] = ACTIONS(1333),
    [anon_sym_CARET_LBRACE] = ACTIONS(1333),
    [anon_sym_self] = ACTIONS(1335),
    [anon_sym_super] = ACTIONS(1337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2082),
    [anon_sym_DASH_EQ] = ACTIONS(2082),
    [anon_sym_STAR_EQ] = ACTIONS(2082),
    [anon_sym_SLASH_EQ] = ACTIONS(2082),
    [anon_sym_PERCENT_EQ] = ACTIONS(2082),
    [anon_sym_BANG_EQ] = ACTIONS(2080),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2082),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2082),
    [anon_sym_LT_EQ] = ACTIONS(2082),
    [anon_sym_GT_EQ] = ACTIONS(2082),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1341),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1343),
    [anon_sym_PLUS] = ACTIONS(1345),
    [anon_sym_DASH] = ACTIONS(1345),
    [anon_sym_STAR] = ACTIONS(2080),
    [anon_sym_SLASH] = ACTIONS(2080),
    [anon_sym_PERCENT] = ACTIONS(2080),
    [anon_sym_PLUS_PLUS] = ACTIONS(1323),
    [anon_sym_DASH_DASH] = ACTIONS(1323),
    [anon_sym_PIPE] = ACTIONS(2082),
    [anon_sym_CARET] = ACTIONS(2080),
    [anon_sym_LT_LT] = ACTIONS(2082),
    [anon_sym_GT_GT] = ACTIONS(2082),
    [anon_sym_borrowing] = ACTIONS(1295),
    [anon_sym_consuming] = ACTIONS(1295),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1347),
    [sym__dot_custom] = ACTIONS(1349),
    [sym__eq_custom] = ACTIONS(2082),
    [sym__eq_eq_custom] = ACTIONS(2082),
    [sym__plus_then_ws] = ACTIONS(2082),
    [sym__minus_then_ws] = ACTIONS(2082),
    [sym__bang_custom] = ACTIONS(1351),
    [sym__custom_operator] = ACTIONS(1329),
    [sym__hash_symbol_custom] = ACTIONS(1371),
    [sym__directive_if] = ACTIONS(1355),
    [sym__directive_elseif] = ACTIONS(1355),
    [sym__directive_else] = ACTIONS(1357),
    [sym__directive_endif] = ACTIONS(1357),
  },
  [596] = {
    [sym_simple_identifier] = STATE(3023),
    [sym__contextual_simple_identifier] = STATE(2652),
    [sym__basic_literal] = STATE(1510),
    [sym_boolean_literal] = STATE(1510),
    [sym__string_literal] = STATE(1510),
    [sym_line_string_literal] = STATE(1510),
    [sym_multi_line_string_literal] = STATE(1510),
    [sym_raw_string_literal] = STATE(1510),
    [sym_regex_literal] = STATE(1510),
    [sym__extended_regex_literal] = STATE(3428),
    [sym__multiline_regex_literal] = STATE(3428),
    [sym_user_type] = STATE(6368),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6368),
    [sym_dictionary_type] = STATE(6368),
    [sym__expression] = STATE(1510),
    [sym__unary_expression] = STATE(1510),
    [sym_postfix_expression] = STATE(1510),
    [sym_constructor_expression] = STATE(1510),
    [sym__parenthesized_type] = STATE(8119),
    [sym_navigation_expression] = STATE(1510),
    [sym__navigable_type_expression] = STATE(8122),
    [sym_open_start_range_expression] = STATE(1510),
    [sym__range_operator] = STATE(604),
    [sym_open_end_range_expression] = STATE(1510),
    [sym_prefix_expression] = STATE(1510),
    [sym_as_expression] = STATE(1510),
    [sym_selector_expression] = STATE(1510),
    [sym__binary_expression] = STATE(1510),
    [sym_multiplicative_expression] = STATE(1510),
    [sym_additive_expression] = STATE(1510),
    [sym_range_expression] = STATE(1510),
    [sym_infix_expression] = STATE(1510),
    [sym_nil_coalescing_expression] = STATE(1510),
    [sym_check_expression] = STATE(1510),
    [sym_comparison_expression] = STATE(1510),
    [sym_equality_expression] = STATE(1510),
    [sym_conjunction_expression] = STATE(1510),
    [sym_disjunction_expression] = STATE(1510),
    [sym_bitwise_operation] = STATE(1510),
    [sym_custom_operator] = STATE(1207),
    [sym_try_expression] = STATE(1510),
    [sym_await_expression] = STATE(1510),
    [sym__await_operator] = STATE(605),
    [sym_ternary_expression] = STATE(1510),
    [sym_call_expression] = STATE(1510),
    [sym_macro_invocation] = STATE(1510),
    [sym__primary_expression] = STATE(1510),
    [sym_tuple_expression] = STATE(1510),
    [sym_array_literal] = STATE(1510),
    [sym_dictionary_literal] = STATE(1510),
    [sym_special_literal] = STATE(1510),
    [sym_playground_literal] = STATE(1510),
    [sym_lambda_literal] = STATE(1510),
    [sym_self_expression] = STATE(1510),
    [sym_super_expression] = STATE(1510),
    [sym_if_statement] = STATE(1510),
    [sym_switch_statement] = STATE(1510),
    [sym_key_path_expression] = STATE(1510),
    [sym_key_path_string_expression] = STATE(1510),
    [sym_try_operator] = STATE(606),
    [sym__assignment_and_operator] = STATE(1510),
    [sym__equality_operator] = STATE(1510),
    [sym__comparison_operator] = STATE(1510),
    [sym__three_dot_operator] = STATE(1208),
    [sym__open_ended_range_operator] = STATE(604),
    [sym__additive_operator] = STATE(1510),
    [sym__multiplicative_operator] = STATE(1510),
    [sym__prefix_unary_operator] = STATE(616),
    [sym_directly_assignable_expression] = STATE(6371),
    [sym_assignment] = STATE(1510),
    [sym_value_parameter_pack] = STATE(1510),
    [sym_value_pack_expansion] = STATE(1510),
    [sym__referenceable_operator] = STATE(1510),
    [sym__equal_sign] = STATE(1510),
    [sym__eq_eq] = STATE(1510),
    [sym__dot] = STATE(616),
    [sym__hash_symbol] = STATE(4844),
    [sym_bang] = STATE(1207),
    [sym__parameter_ownership_modifier] = STATE(2652),
    [sym_directive] = STATE(1510),
    [sym_diagnostic] = STATE(1510),
    [aux_sym_raw_string_literal_repeat1] = STATE(8127),
    [anon_sym_BANG] = ACTIONS(1195),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1197),
    [aux_sym_simple_identifier_token2] = ACTIONS(1199),
    [aux_sym_simple_identifier_token3] = ACTIONS(1199),
    [aux_sym_simple_identifier_token4] = ACTIONS(1199),
    [anon_sym_actor] = ACTIONS(1197),
    [anon_sym_async] = ACTIONS(1197),
    [anon_sym_each] = ACTIONS(1201),
    [anon_sym_lazy] = ACTIONS(1197),
    [anon_sym_repeat] = ACTIONS(1203),
    [anon_sym_package] = ACTIONS(1197),
    [anon_sym_nil] = ACTIONS(2084),
    [sym_real_literal] = ACTIONS(2086),
    [sym_integer_literal] = ACTIONS(2084),
    [sym_hex_literal] = ACTIONS(2084),
    [sym_oct_literal] = ACTIONS(2086),
    [sym_bin_literal] = ACTIONS(2086),
    [anon_sym_true] = ACTIONS(1209),
    [anon_sym_false] = ACTIONS(1209),
    [anon_sym_DQUOTE] = ACTIONS(1211),
    [anon_sym_BSLASH] = ACTIONS(1213),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1215),
    [sym__oneline_regex_literal] = ACTIONS(1217),
    [anon_sym_LPAREN] = ACTIONS(1219),
    [anon_sym_LBRACK] = ACTIONS(1221),
    [anon_sym_AMP] = ACTIONS(1223),
    [anon_sym_TILDE] = ACTIONS(1223),
    [anon_sym_if] = ACTIONS(1225),
    [anon_sym_switch] = ACTIONS(1227),
    [aux_sym_custom_operator_token1] = ACTIONS(1229),
    [anon_sym_LT] = ACTIONS(2084),
    [anon_sym_GT] = ACTIONS(2084),
    [anon_sym_await] = ACTIONS(1231),
    [anon_sym_LBRACE] = ACTIONS(1233),
    [anon_sym_CARET_LBRACE] = ACTIONS(1233),
    [anon_sym_self] = ACTIONS(1235),
    [anon_sym_super] = ACTIONS(1237),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2086),
    [anon_sym_DASH_EQ] = ACTIONS(2086),
    [anon_sym_STAR_EQ] = ACTIONS(2086),
    [anon_sym_SLASH_EQ] = ACTIONS(2086),
    [anon_sym_PERCENT_EQ] = ACTIONS(2086),
    [anon_sym_BANG_EQ] = ACTIONS(2084),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2086),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2086),
    [anon_sym_LT_EQ] = ACTIONS(2086),
    [anon_sym_GT_EQ] = ACTIONS(2086),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1241),
    [anon_sym_PLUS] = ACTIONS(1243),
    [anon_sym_DASH] = ACTIONS(1243),
    [anon_sym_STAR] = ACTIONS(2084),
    [anon_sym_SLASH] = ACTIONS(2084),
    [anon_sym_PERCENT] = ACTIONS(2084),
    [anon_sym_PLUS_PLUS] = ACTIONS(1223),
    [anon_sym_DASH_DASH] = ACTIONS(1223),
    [anon_sym_PIPE] = ACTIONS(2086),
    [anon_sym_CARET] = ACTIONS(2084),
    [anon_sym_LT_LT] = ACTIONS(2086),
    [anon_sym_GT_GT] = ACTIONS(2086),
    [anon_sym_borrowing] = ACTIONS(1197),
    [anon_sym_consuming] = ACTIONS(1197),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1245),
    [sym__dot_custom] = ACTIONS(1247),
    [sym__eq_custom] = ACTIONS(2086),
    [sym__eq_eq_custom] = ACTIONS(2086),
    [sym__plus_then_ws] = ACTIONS(2086),
    [sym__minus_then_ws] = ACTIONS(2086),
    [sym__bang_custom] = ACTIONS(1249),
    [sym__custom_operator] = ACTIONS(1229),
    [sym__hash_symbol_custom] = ACTIONS(1251),
    [sym__directive_if] = ACTIONS(1253),
    [sym__directive_elseif] = ACTIONS(1253),
    [sym__directive_else] = ACTIONS(1255),
    [sym__directive_endif] = ACTIONS(1255),
  },
  [597] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1649),
    [sym_boolean_literal] = STATE(1649),
    [sym__string_literal] = STATE(1649),
    [sym_line_string_literal] = STATE(1649),
    [sym_multi_line_string_literal] = STATE(1649),
    [sym_raw_string_literal] = STATE(1649),
    [sym_regex_literal] = STATE(1649),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1649),
    [sym__unary_expression] = STATE(1649),
    [sym_postfix_expression] = STATE(1649),
    [sym_constructor_expression] = STATE(1649),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1649),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1649),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1649),
    [sym_prefix_expression] = STATE(1649),
    [sym_as_expression] = STATE(1649),
    [sym_selector_expression] = STATE(1649),
    [sym__binary_expression] = STATE(1649),
    [sym_multiplicative_expression] = STATE(1649),
    [sym_additive_expression] = STATE(1649),
    [sym_range_expression] = STATE(1649),
    [sym_infix_expression] = STATE(1649),
    [sym_nil_coalescing_expression] = STATE(1649),
    [sym_check_expression] = STATE(1649),
    [sym_comparison_expression] = STATE(1649),
    [sym_equality_expression] = STATE(1649),
    [sym_conjunction_expression] = STATE(1649),
    [sym_disjunction_expression] = STATE(1649),
    [sym_bitwise_operation] = STATE(1649),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1649),
    [sym_await_expression] = STATE(1649),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1649),
    [sym_call_expression] = STATE(1649),
    [sym_macro_invocation] = STATE(1649),
    [sym__primary_expression] = STATE(1649),
    [sym_tuple_expression] = STATE(1649),
    [sym_array_literal] = STATE(1649),
    [sym_dictionary_literal] = STATE(1649),
    [sym_special_literal] = STATE(1649),
    [sym_playground_literal] = STATE(1649),
    [sym_lambda_literal] = STATE(1649),
    [sym_self_expression] = STATE(1649),
    [sym_super_expression] = STATE(1649),
    [sym_if_statement] = STATE(1649),
    [sym_switch_statement] = STATE(1649),
    [sym_key_path_expression] = STATE(1649),
    [sym_key_path_string_expression] = STATE(1649),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1649),
    [sym__equality_operator] = STATE(1649),
    [sym__comparison_operator] = STATE(1649),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1649),
    [sym__multiplicative_operator] = STATE(1649),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1649),
    [sym_value_parameter_pack] = STATE(1649),
    [sym_value_pack_expansion] = STATE(1649),
    [sym__referenceable_operator] = STATE(1649),
    [sym__equal_sign] = STATE(1649),
    [sym__eq_eq] = STATE(1649),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1649),
    [sym_diagnostic] = STATE(1649),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2088),
    [sym_real_literal] = ACTIONS(2090),
    [sym_integer_literal] = ACTIONS(2088),
    [sym_hex_literal] = ACTIONS(2088),
    [sym_oct_literal] = ACTIONS(2090),
    [sym_bin_literal] = ACTIONS(2090),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2088),
    [anon_sym_GT] = ACTIONS(2088),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2090),
    [anon_sym_DASH_EQ] = ACTIONS(2090),
    [anon_sym_STAR_EQ] = ACTIONS(2090),
    [anon_sym_SLASH_EQ] = ACTIONS(2090),
    [anon_sym_PERCENT_EQ] = ACTIONS(2090),
    [anon_sym_BANG_EQ] = ACTIONS(2088),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2090),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2090),
    [anon_sym_LT_EQ] = ACTIONS(2090),
    [anon_sym_GT_EQ] = ACTIONS(2090),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2088),
    [anon_sym_SLASH] = ACTIONS(2088),
    [anon_sym_PERCENT] = ACTIONS(2088),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2090),
    [anon_sym_CARET] = ACTIONS(2088),
    [anon_sym_LT_LT] = ACTIONS(2090),
    [anon_sym_GT_GT] = ACTIONS(2090),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2090),
    [sym__eq_eq_custom] = ACTIONS(2090),
    [sym__plus_then_ws] = ACTIONS(2090),
    [sym__minus_then_ws] = ACTIONS(2090),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [598] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1478),
    [sym_boolean_literal] = STATE(1478),
    [sym__string_literal] = STATE(1478),
    [sym_line_string_literal] = STATE(1478),
    [sym_multi_line_string_literal] = STATE(1478),
    [sym_raw_string_literal] = STATE(1478),
    [sym_regex_literal] = STATE(1478),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1478),
    [sym__unary_expression] = STATE(1478),
    [sym_postfix_expression] = STATE(1478),
    [sym_constructor_expression] = STATE(1478),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1478),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1478),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1478),
    [sym_prefix_expression] = STATE(1478),
    [sym_as_expression] = STATE(1478),
    [sym_selector_expression] = STATE(1478),
    [sym__binary_expression] = STATE(1478),
    [sym_multiplicative_expression] = STATE(1478),
    [sym_additive_expression] = STATE(1478),
    [sym_range_expression] = STATE(1478),
    [sym_infix_expression] = STATE(1478),
    [sym_nil_coalescing_expression] = STATE(1478),
    [sym_check_expression] = STATE(1478),
    [sym_comparison_expression] = STATE(1478),
    [sym_equality_expression] = STATE(1478),
    [sym_conjunction_expression] = STATE(1478),
    [sym_disjunction_expression] = STATE(1478),
    [sym_bitwise_operation] = STATE(1478),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1478),
    [sym_await_expression] = STATE(1478),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1478),
    [sym_call_expression] = STATE(1478),
    [sym_macro_invocation] = STATE(1478),
    [sym__primary_expression] = STATE(1478),
    [sym_tuple_expression] = STATE(1478),
    [sym_array_literal] = STATE(1478),
    [sym_dictionary_literal] = STATE(1478),
    [sym_special_literal] = STATE(1478),
    [sym_playground_literal] = STATE(1478),
    [sym_lambda_literal] = STATE(1478),
    [sym_self_expression] = STATE(1478),
    [sym_super_expression] = STATE(1478),
    [sym_if_statement] = STATE(1478),
    [sym_switch_statement] = STATE(1478),
    [sym_key_path_expression] = STATE(1478),
    [sym_key_path_string_expression] = STATE(1478),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1478),
    [sym__equality_operator] = STATE(1478),
    [sym__comparison_operator] = STATE(1478),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1478),
    [sym__multiplicative_operator] = STATE(1478),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_assignment] = STATE(1478),
    [sym_value_parameter_pack] = STATE(1478),
    [sym_value_pack_expansion] = STATE(1478),
    [sym__referenceable_operator] = STATE(1478),
    [sym__equal_sign] = STATE(1478),
    [sym__eq_eq] = STATE(1478),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1478),
    [sym_diagnostic] = STATE(1478),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(11),
    [anon_sym_async] = ACTIONS(11),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(11),
    [anon_sym_repeat] = ACTIONS(925),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(2092),
    [sym_real_literal] = ACTIONS(2094),
    [sym_integer_literal] = ACTIONS(2092),
    [sym_hex_literal] = ACTIONS(2092),
    [sym_oct_literal] = ACTIONS(2094),
    [sym_bin_literal] = ACTIONS(2094),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(2092),
    [anon_sym_GT] = ACTIONS(2092),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2094),
    [anon_sym_DASH_EQ] = ACTIONS(2094),
    [anon_sym_STAR_EQ] = ACTIONS(2094),
    [anon_sym_SLASH_EQ] = ACTIONS(2094),
    [anon_sym_PERCENT_EQ] = ACTIONS(2094),
    [anon_sym_BANG_EQ] = ACTIONS(2092),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2094),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2094),
    [anon_sym_LT_EQ] = ACTIONS(2094),
    [anon_sym_GT_EQ] = ACTIONS(2094),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(2092),
    [anon_sym_SLASH] = ACTIONS(2092),
    [anon_sym_PERCENT] = ACTIONS(2092),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(2094),
    [anon_sym_CARET] = ACTIONS(2092),
    [anon_sym_LT_LT] = ACTIONS(2094),
    [anon_sym_GT_GT] = ACTIONS(2094),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(2094),
    [sym__eq_eq_custom] = ACTIONS(2094),
    [sym__plus_then_ws] = ACTIONS(2094),
    [sym__minus_then_ws] = ACTIONS(2094),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [599] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1576),
    [sym_boolean_literal] = STATE(1576),
    [sym__string_literal] = STATE(1576),
    [sym_line_string_literal] = STATE(1576),
    [sym_multi_line_string_literal] = STATE(1576),
    [sym_raw_string_literal] = STATE(1576),
    [sym_regex_literal] = STATE(1576),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1576),
    [sym__unary_expression] = STATE(1576),
    [sym_postfix_expression] = STATE(1576),
    [sym_constructor_expression] = STATE(1576),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1576),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1576),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1576),
    [sym_prefix_expression] = STATE(1576),
    [sym_as_expression] = STATE(1576),
    [sym_selector_expression] = STATE(1576),
    [sym__binary_expression] = STATE(1576),
    [sym_multiplicative_expression] = STATE(1576),
    [sym_additive_expression] = STATE(1576),
    [sym_range_expression] = STATE(1576),
    [sym_infix_expression] = STATE(1576),
    [sym_nil_coalescing_expression] = STATE(1576),
    [sym_check_expression] = STATE(1576),
    [sym_comparison_expression] = STATE(1576),
    [sym_equality_expression] = STATE(1576),
    [sym_conjunction_expression] = STATE(1576),
    [sym_disjunction_expression] = STATE(1576),
    [sym_bitwise_operation] = STATE(1576),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1576),
    [sym_await_expression] = STATE(1576),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1576),
    [sym_call_expression] = STATE(1576),
    [sym_macro_invocation] = STATE(1576),
    [sym__primary_expression] = STATE(1576),
    [sym_tuple_expression] = STATE(1576),
    [sym_array_literal] = STATE(1576),
    [sym_dictionary_literal] = STATE(1576),
    [sym_special_literal] = STATE(1576),
    [sym_playground_literal] = STATE(1576),
    [sym_lambda_literal] = STATE(1576),
    [sym_self_expression] = STATE(1576),
    [sym_super_expression] = STATE(1576),
    [sym_if_statement] = STATE(1576),
    [sym_switch_statement] = STATE(1576),
    [sym_key_path_expression] = STATE(1576),
    [sym_key_path_string_expression] = STATE(1576),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1576),
    [sym__equality_operator] = STATE(1576),
    [sym__comparison_operator] = STATE(1576),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1576),
    [sym__multiplicative_operator] = STATE(1576),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1576),
    [sym_value_parameter_pack] = STATE(1576),
    [sym_value_pack_expansion] = STATE(1576),
    [sym__referenceable_operator] = STATE(1576),
    [sym__equal_sign] = STATE(1576),
    [sym__eq_eq] = STATE(1576),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1576),
    [sym_diagnostic] = STATE(1576),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2096),
    [sym_real_literal] = ACTIONS(2098),
    [sym_integer_literal] = ACTIONS(2096),
    [sym_hex_literal] = ACTIONS(2096),
    [sym_oct_literal] = ACTIONS(2098),
    [sym_bin_literal] = ACTIONS(2098),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2096),
    [anon_sym_GT] = ACTIONS(2096),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2098),
    [anon_sym_DASH_EQ] = ACTIONS(2098),
    [anon_sym_STAR_EQ] = ACTIONS(2098),
    [anon_sym_SLASH_EQ] = ACTIONS(2098),
    [anon_sym_PERCENT_EQ] = ACTIONS(2098),
    [anon_sym_BANG_EQ] = ACTIONS(2096),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2098),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2098),
    [anon_sym_LT_EQ] = ACTIONS(2098),
    [anon_sym_GT_EQ] = ACTIONS(2098),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2096),
    [anon_sym_SLASH] = ACTIONS(2096),
    [anon_sym_PERCENT] = ACTIONS(2096),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2098),
    [anon_sym_CARET] = ACTIONS(2096),
    [anon_sym_LT_LT] = ACTIONS(2098),
    [anon_sym_GT_GT] = ACTIONS(2098),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2098),
    [sym__eq_eq_custom] = ACTIONS(2098),
    [sym__plus_then_ws] = ACTIONS(2098),
    [sym__minus_then_ws] = ACTIONS(2098),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [600] = {
    [sym_simple_identifier] = STATE(2645),
    [sym__contextual_simple_identifier] = STATE(2445),
    [sym__basic_literal] = STATE(1504),
    [sym_boolean_literal] = STATE(1504),
    [sym__string_literal] = STATE(1504),
    [sym_line_string_literal] = STATE(1504),
    [sym_multi_line_string_literal] = STATE(1504),
    [sym_raw_string_literal] = STATE(1504),
    [sym_regex_literal] = STATE(1504),
    [sym__extended_regex_literal] = STATE(2955),
    [sym__multiline_regex_literal] = STATE(2955),
    [sym_user_type] = STATE(6382),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6382),
    [sym_dictionary_type] = STATE(6382),
    [sym__expression] = STATE(1504),
    [sym__unary_expression] = STATE(1504),
    [sym_postfix_expression] = STATE(1504),
    [sym_constructor_expression] = STATE(1504),
    [sym__parenthesized_type] = STATE(7692),
    [sym_navigation_expression] = STATE(1504),
    [sym__navigable_type_expression] = STATE(7690),
    [sym_open_start_range_expression] = STATE(1504),
    [sym__range_operator] = STATE(672),
    [sym_open_end_range_expression] = STATE(1504),
    [sym_prefix_expression] = STATE(1504),
    [sym_as_expression] = STATE(1504),
    [sym_selector_expression] = STATE(1504),
    [sym__binary_expression] = STATE(1504),
    [sym_multiplicative_expression] = STATE(1504),
    [sym_additive_expression] = STATE(1504),
    [sym_range_expression] = STATE(1504),
    [sym_infix_expression] = STATE(1504),
    [sym_nil_coalescing_expression] = STATE(1504),
    [sym_check_expression] = STATE(1504),
    [sym_comparison_expression] = STATE(1504),
    [sym_equality_expression] = STATE(1504),
    [sym_conjunction_expression] = STATE(1504),
    [sym_disjunction_expression] = STATE(1504),
    [sym_bitwise_operation] = STATE(1504),
    [sym_custom_operator] = STATE(1170),
    [sym_try_expression] = STATE(1504),
    [sym_await_expression] = STATE(1504),
    [sym__await_operator] = STATE(716),
    [sym_ternary_expression] = STATE(1504),
    [sym_call_expression] = STATE(1504),
    [sym_macro_invocation] = STATE(1504),
    [sym__primary_expression] = STATE(1504),
    [sym_tuple_expression] = STATE(1504),
    [sym_array_literal] = STATE(1504),
    [sym_dictionary_literal] = STATE(1504),
    [sym_special_literal] = STATE(1504),
    [sym_playground_literal] = STATE(1504),
    [sym_lambda_literal] = STATE(1504),
    [sym_self_expression] = STATE(1504),
    [sym_super_expression] = STATE(1504),
    [sym_if_statement] = STATE(1504),
    [sym_switch_statement] = STATE(1504),
    [sym_key_path_expression] = STATE(1504),
    [sym_key_path_string_expression] = STATE(1504),
    [sym_try_operator] = STATE(732),
    [sym__assignment_and_operator] = STATE(1504),
    [sym__equality_operator] = STATE(1504),
    [sym__comparison_operator] = STATE(1504),
    [sym__three_dot_operator] = STATE(1173),
    [sym__open_ended_range_operator] = STATE(672),
    [sym__additive_operator] = STATE(1504),
    [sym__multiplicative_operator] = STATE(1504),
    [sym__prefix_unary_operator] = STATE(647),
    [sym_directly_assignable_expression] = STATE(6379),
    [sym_assignment] = STATE(1504),
    [sym_value_parameter_pack] = STATE(1504),
    [sym_value_pack_expansion] = STATE(1504),
    [sym__referenceable_operator] = STATE(1504),
    [sym__equal_sign] = STATE(1504),
    [sym__eq_eq] = STATE(1504),
    [sym__dot] = STATE(647),
    [sym__hash_symbol] = STATE(4854),
    [sym_bang] = STATE(1170),
    [sym__parameter_ownership_modifier] = STATE(2445),
    [sym_directive] = STATE(1504),
    [sym_diagnostic] = STATE(1504),
    [aux_sym_raw_string_literal_repeat1] = STATE(7509),
    [anon_sym_BANG] = ACTIONS(1119),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1121),
    [aux_sym_simple_identifier_token2] = ACTIONS(1123),
    [aux_sym_simple_identifier_token3] = ACTIONS(1123),
    [aux_sym_simple_identifier_token4] = ACTIONS(1123),
    [anon_sym_actor] = ACTIONS(1121),
    [anon_sym_async] = ACTIONS(1121),
    [anon_sym_each] = ACTIONS(1125),
    [anon_sym_lazy] = ACTIONS(1121),
    [anon_sym_repeat] = ACTIONS(1127),
    [anon_sym_package] = ACTIONS(1121),
    [anon_sym_nil] = ACTIONS(2100),
    [sym_real_literal] = ACTIONS(2102),
    [sym_integer_literal] = ACTIONS(2100),
    [sym_hex_literal] = ACTIONS(2100),
    [sym_oct_literal] = ACTIONS(2102),
    [sym_bin_literal] = ACTIONS(2102),
    [anon_sym_true] = ACTIONS(1133),
    [anon_sym_false] = ACTIONS(1133),
    [anon_sym_DQUOTE] = ACTIONS(1135),
    [anon_sym_BSLASH] = ACTIONS(1137),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1139),
    [sym__oneline_regex_literal] = ACTIONS(1141),
    [anon_sym_LPAREN] = ACTIONS(1143),
    [anon_sym_LBRACK] = ACTIONS(1145),
    [anon_sym_AMP] = ACTIONS(1147),
    [anon_sym_TILDE] = ACTIONS(1147),
    [anon_sym_if] = ACTIONS(1149),
    [anon_sym_switch] = ACTIONS(1151),
    [aux_sym_custom_operator_token1] = ACTIONS(1153),
    [anon_sym_LT] = ACTIONS(2100),
    [anon_sym_GT] = ACTIONS(2100),
    [anon_sym_await] = ACTIONS(1155),
    [anon_sym_LBRACE] = ACTIONS(1157),
    [anon_sym_CARET_LBRACE] = ACTIONS(1157),
    [anon_sym_self] = ACTIONS(1159),
    [anon_sym_super] = ACTIONS(1161),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2102),
    [anon_sym_DASH_EQ] = ACTIONS(2102),
    [anon_sym_STAR_EQ] = ACTIONS(2102),
    [anon_sym_SLASH_EQ] = ACTIONS(2102),
    [anon_sym_PERCENT_EQ] = ACTIONS(2102),
    [anon_sym_BANG_EQ] = ACTIONS(2100),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2102),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2102),
    [anon_sym_LT_EQ] = ACTIONS(2102),
    [anon_sym_GT_EQ] = ACTIONS(2102),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1163),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1165),
    [anon_sym_PLUS] = ACTIONS(1167),
    [anon_sym_DASH] = ACTIONS(1167),
    [anon_sym_STAR] = ACTIONS(2100),
    [anon_sym_SLASH] = ACTIONS(2100),
    [anon_sym_PERCENT] = ACTIONS(2100),
    [anon_sym_PLUS_PLUS] = ACTIONS(1147),
    [anon_sym_DASH_DASH] = ACTIONS(1147),
    [anon_sym_PIPE] = ACTIONS(2102),
    [anon_sym_CARET] = ACTIONS(2100),
    [anon_sym_LT_LT] = ACTIONS(2102),
    [anon_sym_GT_GT] = ACTIONS(2102),
    [anon_sym_borrowing] = ACTIONS(1121),
    [anon_sym_consuming] = ACTIONS(1121),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1169),
    [sym__dot_custom] = ACTIONS(1171),
    [sym__eq_custom] = ACTIONS(2102),
    [sym__eq_eq_custom] = ACTIONS(2102),
    [sym__plus_then_ws] = ACTIONS(2102),
    [sym__minus_then_ws] = ACTIONS(2102),
    [sym__bang_custom] = ACTIONS(1173),
    [sym__custom_operator] = ACTIONS(1153),
    [sym__hash_symbol_custom] = ACTIONS(1175),
    [sym__directive_if] = ACTIONS(1177),
    [sym__directive_elseif] = ACTIONS(1177),
    [sym__directive_else] = ACTIONS(1179),
    [sym__directive_endif] = ACTIONS(1179),
  },
  [601] = {
    [sym_simple_identifier] = STATE(2645),
    [sym__contextual_simple_identifier] = STATE(2445),
    [sym__basic_literal] = STATE(1499),
    [sym_boolean_literal] = STATE(1499),
    [sym__string_literal] = STATE(1499),
    [sym_line_string_literal] = STATE(1499),
    [sym_multi_line_string_literal] = STATE(1499),
    [sym_raw_string_literal] = STATE(1499),
    [sym_regex_literal] = STATE(1499),
    [sym__extended_regex_literal] = STATE(2955),
    [sym__multiline_regex_literal] = STATE(2955),
    [sym_user_type] = STATE(6382),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6382),
    [sym_dictionary_type] = STATE(6382),
    [sym__expression] = STATE(1499),
    [sym__unary_expression] = STATE(1499),
    [sym_postfix_expression] = STATE(1499),
    [sym_constructor_expression] = STATE(1499),
    [sym__parenthesized_type] = STATE(7692),
    [sym_navigation_expression] = STATE(1499),
    [sym__navigable_type_expression] = STATE(7690),
    [sym_open_start_range_expression] = STATE(1499),
    [sym__range_operator] = STATE(672),
    [sym_open_end_range_expression] = STATE(1499),
    [sym_prefix_expression] = STATE(1499),
    [sym_as_expression] = STATE(1499),
    [sym_selector_expression] = STATE(1499),
    [sym__binary_expression] = STATE(1499),
    [sym_multiplicative_expression] = STATE(1499),
    [sym_additive_expression] = STATE(1499),
    [sym_range_expression] = STATE(1499),
    [sym_infix_expression] = STATE(1499),
    [sym_nil_coalescing_expression] = STATE(1499),
    [sym_check_expression] = STATE(1499),
    [sym_comparison_expression] = STATE(1499),
    [sym_equality_expression] = STATE(1499),
    [sym_conjunction_expression] = STATE(1499),
    [sym_disjunction_expression] = STATE(1499),
    [sym_bitwise_operation] = STATE(1499),
    [sym_custom_operator] = STATE(1170),
    [sym_try_expression] = STATE(1499),
    [sym_await_expression] = STATE(1499),
    [sym__await_operator] = STATE(716),
    [sym_ternary_expression] = STATE(1499),
    [sym_call_expression] = STATE(1499),
    [sym_macro_invocation] = STATE(1499),
    [sym__primary_expression] = STATE(1499),
    [sym_tuple_expression] = STATE(1499),
    [sym_array_literal] = STATE(1499),
    [sym_dictionary_literal] = STATE(1499),
    [sym_special_literal] = STATE(1499),
    [sym_playground_literal] = STATE(1499),
    [sym_lambda_literal] = STATE(1499),
    [sym_self_expression] = STATE(1499),
    [sym_super_expression] = STATE(1499),
    [sym_if_statement] = STATE(1499),
    [sym_switch_statement] = STATE(1499),
    [sym_key_path_expression] = STATE(1499),
    [sym_key_path_string_expression] = STATE(1499),
    [sym_try_operator] = STATE(732),
    [sym__assignment_and_operator] = STATE(1499),
    [sym__equality_operator] = STATE(1499),
    [sym__comparison_operator] = STATE(1499),
    [sym__three_dot_operator] = STATE(1173),
    [sym__open_ended_range_operator] = STATE(672),
    [sym__additive_operator] = STATE(1499),
    [sym__multiplicative_operator] = STATE(1499),
    [sym__prefix_unary_operator] = STATE(647),
    [sym_directly_assignable_expression] = STATE(6379),
    [sym_assignment] = STATE(1499),
    [sym_value_parameter_pack] = STATE(1499),
    [sym_value_pack_expansion] = STATE(1499),
    [sym__referenceable_operator] = STATE(1499),
    [sym__equal_sign] = STATE(1499),
    [sym__eq_eq] = STATE(1499),
    [sym__dot] = STATE(647),
    [sym__hash_symbol] = STATE(4854),
    [sym_bang] = STATE(1170),
    [sym__parameter_ownership_modifier] = STATE(2445),
    [sym_directive] = STATE(1499),
    [sym_diagnostic] = STATE(1499),
    [aux_sym_raw_string_literal_repeat1] = STATE(7509),
    [anon_sym_BANG] = ACTIONS(1119),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1121),
    [aux_sym_simple_identifier_token2] = ACTIONS(1123),
    [aux_sym_simple_identifier_token3] = ACTIONS(1123),
    [aux_sym_simple_identifier_token4] = ACTIONS(1123),
    [anon_sym_actor] = ACTIONS(1121),
    [anon_sym_async] = ACTIONS(1121),
    [anon_sym_each] = ACTIONS(1125),
    [anon_sym_lazy] = ACTIONS(1121),
    [anon_sym_repeat] = ACTIONS(1127),
    [anon_sym_package] = ACTIONS(1121),
    [anon_sym_nil] = ACTIONS(2104),
    [sym_real_literal] = ACTIONS(2106),
    [sym_integer_literal] = ACTIONS(2104),
    [sym_hex_literal] = ACTIONS(2104),
    [sym_oct_literal] = ACTIONS(2106),
    [sym_bin_literal] = ACTIONS(2106),
    [anon_sym_true] = ACTIONS(1133),
    [anon_sym_false] = ACTIONS(1133),
    [anon_sym_DQUOTE] = ACTIONS(1135),
    [anon_sym_BSLASH] = ACTIONS(1137),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1139),
    [sym__oneline_regex_literal] = ACTIONS(1141),
    [anon_sym_LPAREN] = ACTIONS(1143),
    [anon_sym_LBRACK] = ACTIONS(1145),
    [anon_sym_AMP] = ACTIONS(1147),
    [anon_sym_TILDE] = ACTIONS(1147),
    [anon_sym_if] = ACTIONS(1149),
    [anon_sym_switch] = ACTIONS(1151),
    [aux_sym_custom_operator_token1] = ACTIONS(1153),
    [anon_sym_LT] = ACTIONS(2104),
    [anon_sym_GT] = ACTIONS(2104),
    [anon_sym_await] = ACTIONS(1155),
    [anon_sym_LBRACE] = ACTIONS(1157),
    [anon_sym_CARET_LBRACE] = ACTIONS(1157),
    [anon_sym_self] = ACTIONS(1159),
    [anon_sym_super] = ACTIONS(1161),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2106),
    [anon_sym_DASH_EQ] = ACTIONS(2106),
    [anon_sym_STAR_EQ] = ACTIONS(2106),
    [anon_sym_SLASH_EQ] = ACTIONS(2106),
    [anon_sym_PERCENT_EQ] = ACTIONS(2106),
    [anon_sym_BANG_EQ] = ACTIONS(2104),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2106),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2106),
    [anon_sym_LT_EQ] = ACTIONS(2106),
    [anon_sym_GT_EQ] = ACTIONS(2106),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1163),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1165),
    [anon_sym_PLUS] = ACTIONS(1167),
    [anon_sym_DASH] = ACTIONS(1167),
    [anon_sym_STAR] = ACTIONS(2104),
    [anon_sym_SLASH] = ACTIONS(2104),
    [anon_sym_PERCENT] = ACTIONS(2104),
    [anon_sym_PLUS_PLUS] = ACTIONS(1147),
    [anon_sym_DASH_DASH] = ACTIONS(1147),
    [anon_sym_PIPE] = ACTIONS(2106),
    [anon_sym_CARET] = ACTIONS(2104),
    [anon_sym_LT_LT] = ACTIONS(2106),
    [anon_sym_GT_GT] = ACTIONS(2106),
    [anon_sym_borrowing] = ACTIONS(1121),
    [anon_sym_consuming] = ACTIONS(1121),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1169),
    [sym__dot_custom] = ACTIONS(1171),
    [sym__eq_custom] = ACTIONS(2106),
    [sym__eq_eq_custom] = ACTIONS(2106),
    [sym__plus_then_ws] = ACTIONS(2106),
    [sym__minus_then_ws] = ACTIONS(2106),
    [sym__bang_custom] = ACTIONS(1173),
    [sym__custom_operator] = ACTIONS(1153),
    [sym__hash_symbol_custom] = ACTIONS(1175),
    [sym__directive_if] = ACTIONS(1177),
    [sym__directive_elseif] = ACTIONS(1177),
    [sym__directive_else] = ACTIONS(1179),
    [sym__directive_endif] = ACTIONS(1179),
  },
  [602] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1653),
    [sym_boolean_literal] = STATE(1653),
    [sym__string_literal] = STATE(1653),
    [sym_line_string_literal] = STATE(1653),
    [sym_multi_line_string_literal] = STATE(1653),
    [sym_raw_string_literal] = STATE(1653),
    [sym_regex_literal] = STATE(1653),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1653),
    [sym__unary_expression] = STATE(1653),
    [sym_postfix_expression] = STATE(1653),
    [sym_constructor_expression] = STATE(1653),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1653),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1653),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1653),
    [sym_prefix_expression] = STATE(1653),
    [sym_as_expression] = STATE(1653),
    [sym_selector_expression] = STATE(1653),
    [sym__binary_expression] = STATE(1653),
    [sym_multiplicative_expression] = STATE(1653),
    [sym_additive_expression] = STATE(1653),
    [sym_range_expression] = STATE(1653),
    [sym_infix_expression] = STATE(1653),
    [sym_nil_coalescing_expression] = STATE(1653),
    [sym_check_expression] = STATE(1653),
    [sym_comparison_expression] = STATE(1653),
    [sym_equality_expression] = STATE(1653),
    [sym_conjunction_expression] = STATE(1653),
    [sym_disjunction_expression] = STATE(1653),
    [sym_bitwise_operation] = STATE(1653),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1653),
    [sym_await_expression] = STATE(1653),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1653),
    [sym_call_expression] = STATE(1653),
    [sym_macro_invocation] = STATE(1653),
    [sym__primary_expression] = STATE(1653),
    [sym_tuple_expression] = STATE(1653),
    [sym_array_literal] = STATE(1653),
    [sym_dictionary_literal] = STATE(1653),
    [sym_special_literal] = STATE(1653),
    [sym_playground_literal] = STATE(1653),
    [sym_lambda_literal] = STATE(1653),
    [sym_self_expression] = STATE(1653),
    [sym_super_expression] = STATE(1653),
    [sym_if_statement] = STATE(1653),
    [sym_switch_statement] = STATE(1653),
    [sym_key_path_expression] = STATE(1653),
    [sym_key_path_string_expression] = STATE(1653),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1653),
    [sym__equality_operator] = STATE(1653),
    [sym__comparison_operator] = STATE(1653),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1653),
    [sym__multiplicative_operator] = STATE(1653),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1653),
    [sym_value_parameter_pack] = STATE(1653),
    [sym_value_pack_expansion] = STATE(1653),
    [sym__referenceable_operator] = STATE(1653),
    [sym__equal_sign] = STATE(1653),
    [sym__eq_eq] = STATE(1653),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1653),
    [sym_diagnostic] = STATE(1653),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2108),
    [sym_real_literal] = ACTIONS(2110),
    [sym_integer_literal] = ACTIONS(2108),
    [sym_hex_literal] = ACTIONS(2108),
    [sym_oct_literal] = ACTIONS(2110),
    [sym_bin_literal] = ACTIONS(2110),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2108),
    [anon_sym_GT] = ACTIONS(2108),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2110),
    [anon_sym_DASH_EQ] = ACTIONS(2110),
    [anon_sym_STAR_EQ] = ACTIONS(2110),
    [anon_sym_SLASH_EQ] = ACTIONS(2110),
    [anon_sym_PERCENT_EQ] = ACTIONS(2110),
    [anon_sym_BANG_EQ] = ACTIONS(2108),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2110),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2110),
    [anon_sym_LT_EQ] = ACTIONS(2110),
    [anon_sym_GT_EQ] = ACTIONS(2110),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2108),
    [anon_sym_SLASH] = ACTIONS(2108),
    [anon_sym_PERCENT] = ACTIONS(2108),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2110),
    [anon_sym_CARET] = ACTIONS(2108),
    [anon_sym_LT_LT] = ACTIONS(2110),
    [anon_sym_GT_GT] = ACTIONS(2110),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2110),
    [sym__eq_eq_custom] = ACTIONS(2110),
    [sym__plus_then_ws] = ACTIONS(2110),
    [sym__minus_then_ws] = ACTIONS(2110),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [603] = {
    [sym_simple_identifier] = STATE(3108),
    [sym__contextual_simple_identifier] = STATE(2967),
    [sym__basic_literal] = STATE(1622),
    [sym_boolean_literal] = STATE(1622),
    [sym__string_literal] = STATE(1622),
    [sym_line_string_literal] = STATE(1622),
    [sym_multi_line_string_literal] = STATE(1622),
    [sym_raw_string_literal] = STATE(1622),
    [sym_regex_literal] = STATE(1622),
    [sym__extended_regex_literal] = STATE(3663),
    [sym__multiline_regex_literal] = STATE(3663),
    [sym_user_type] = STATE(6406),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6406),
    [sym_dictionary_type] = STATE(6406),
    [sym__expression] = STATE(1622),
    [sym__unary_expression] = STATE(1622),
    [sym_postfix_expression] = STATE(1622),
    [sym_constructor_expression] = STATE(1622),
    [sym__parenthesized_type] = STATE(7557),
    [sym_navigation_expression] = STATE(1622),
    [sym__navigable_type_expression] = STATE(7558),
    [sym_open_start_range_expression] = STATE(1622),
    [sym__range_operator] = STATE(592),
    [sym_open_end_range_expression] = STATE(1622),
    [sym_prefix_expression] = STATE(1622),
    [sym_as_expression] = STATE(1622),
    [sym_selector_expression] = STATE(1622),
    [sym__binary_expression] = STATE(1622),
    [sym_multiplicative_expression] = STATE(1622),
    [sym_additive_expression] = STATE(1622),
    [sym_range_expression] = STATE(1622),
    [sym_infix_expression] = STATE(1622),
    [sym_nil_coalescing_expression] = STATE(1622),
    [sym_check_expression] = STATE(1622),
    [sym_comparison_expression] = STATE(1622),
    [sym_equality_expression] = STATE(1622),
    [sym_conjunction_expression] = STATE(1622),
    [sym_disjunction_expression] = STATE(1622),
    [sym_bitwise_operation] = STATE(1622),
    [sym_custom_operator] = STATE(1288),
    [sym_try_expression] = STATE(1622),
    [sym_await_expression] = STATE(1622),
    [sym__await_operator] = STATE(595),
    [sym_ternary_expression] = STATE(1622),
    [sym_call_expression] = STATE(1622),
    [sym_macro_invocation] = STATE(1622),
    [sym__primary_expression] = STATE(1622),
    [sym_tuple_expression] = STATE(1622),
    [sym_array_literal] = STATE(1622),
    [sym_dictionary_literal] = STATE(1622),
    [sym_special_literal] = STATE(1622),
    [sym_playground_literal] = STATE(1622),
    [sym_lambda_literal] = STATE(1622),
    [sym_self_expression] = STATE(1622),
    [sym_super_expression] = STATE(1622),
    [sym_if_statement] = STATE(1622),
    [sym_switch_statement] = STATE(1622),
    [sym_key_path_expression] = STATE(1622),
    [sym_key_path_string_expression] = STATE(1622),
    [sym_try_operator] = STATE(611),
    [sym__assignment_and_operator] = STATE(1622),
    [sym__equality_operator] = STATE(1622),
    [sym__comparison_operator] = STATE(1622),
    [sym__three_dot_operator] = STATE(1257),
    [sym__open_ended_range_operator] = STATE(592),
    [sym__additive_operator] = STATE(1622),
    [sym__multiplicative_operator] = STATE(1622),
    [sym__prefix_unary_operator] = STATE(620),
    [sym_directly_assignable_expression] = STATE(6409),
    [sym_assignment] = STATE(1622),
    [sym_value_parameter_pack] = STATE(1622),
    [sym_value_pack_expansion] = STATE(1622),
    [sym__referenceable_operator] = STATE(1622),
    [sym__equal_sign] = STATE(1622),
    [sym__eq_eq] = STATE(1622),
    [sym__dot] = STATE(620),
    [sym__hash_symbol] = STATE(4853),
    [sym_bang] = STATE(1288),
    [sym__parameter_ownership_modifier] = STATE(2967),
    [sym_directive] = STATE(1622),
    [sym_diagnostic] = STATE(1622),
    [aux_sym_raw_string_literal_repeat1] = STATE(7564),
    [anon_sym_BANG] = ACTIONS(1293),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1295),
    [aux_sym_simple_identifier_token2] = ACTIONS(1297),
    [aux_sym_simple_identifier_token3] = ACTIONS(1297),
    [aux_sym_simple_identifier_token4] = ACTIONS(1297),
    [anon_sym_actor] = ACTIONS(1295),
    [anon_sym_async] = ACTIONS(1295),
    [anon_sym_each] = ACTIONS(1301),
    [anon_sym_lazy] = ACTIONS(1295),
    [anon_sym_repeat] = ACTIONS(1303),
    [anon_sym_package] = ACTIONS(1295),
    [anon_sym_nil] = ACTIONS(2112),
    [sym_real_literal] = ACTIONS(2114),
    [sym_integer_literal] = ACTIONS(2112),
    [sym_hex_literal] = ACTIONS(2112),
    [sym_oct_literal] = ACTIONS(2114),
    [sym_bin_literal] = ACTIONS(2114),
    [anon_sym_true] = ACTIONS(1309),
    [anon_sym_false] = ACTIONS(1309),
    [anon_sym_DQUOTE] = ACTIONS(1311),
    [anon_sym_BSLASH] = ACTIONS(1313),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1315),
    [sym__oneline_regex_literal] = ACTIONS(1317),
    [anon_sym_LPAREN] = ACTIONS(1319),
    [anon_sym_LBRACK] = ACTIONS(1321),
    [anon_sym_AMP] = ACTIONS(1323),
    [anon_sym_TILDE] = ACTIONS(1323),
    [anon_sym_if] = ACTIONS(1325),
    [anon_sym_switch] = ACTIONS(1327),
    [aux_sym_custom_operator_token1] = ACTIONS(1329),
    [anon_sym_LT] = ACTIONS(2112),
    [anon_sym_GT] = ACTIONS(2112),
    [anon_sym_await] = ACTIONS(1331),
    [anon_sym_LBRACE] = ACTIONS(1333),
    [anon_sym_CARET_LBRACE] = ACTIONS(1333),
    [anon_sym_self] = ACTIONS(1335),
    [anon_sym_super] = ACTIONS(1337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2114),
    [anon_sym_DASH_EQ] = ACTIONS(2114),
    [anon_sym_STAR_EQ] = ACTIONS(2114),
    [anon_sym_SLASH_EQ] = ACTIONS(2114),
    [anon_sym_PERCENT_EQ] = ACTIONS(2114),
    [anon_sym_BANG_EQ] = ACTIONS(2112),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2114),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2114),
    [anon_sym_LT_EQ] = ACTIONS(2114),
    [anon_sym_GT_EQ] = ACTIONS(2114),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1341),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1343),
    [anon_sym_PLUS] = ACTIONS(1345),
    [anon_sym_DASH] = ACTIONS(1345),
    [anon_sym_STAR] = ACTIONS(2112),
    [anon_sym_SLASH] = ACTIONS(2112),
    [anon_sym_PERCENT] = ACTIONS(2112),
    [anon_sym_PLUS_PLUS] = ACTIONS(1323),
    [anon_sym_DASH_DASH] = ACTIONS(1323),
    [anon_sym_PIPE] = ACTIONS(2114),
    [anon_sym_CARET] = ACTIONS(2112),
    [anon_sym_LT_LT] = ACTIONS(2114),
    [anon_sym_GT_GT] = ACTIONS(2114),
    [anon_sym_borrowing] = ACTIONS(1295),
    [anon_sym_consuming] = ACTIONS(1295),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1347),
    [sym__dot_custom] = ACTIONS(1349),
    [sym__eq_custom] = ACTIONS(2114),
    [sym__eq_eq_custom] = ACTIONS(2114),
    [sym__plus_then_ws] = ACTIONS(2114),
    [sym__minus_then_ws] = ACTIONS(2114),
    [sym__bang_custom] = ACTIONS(1351),
    [sym__custom_operator] = ACTIONS(1329),
    [sym__hash_symbol_custom] = ACTIONS(1371),
    [sym__directive_if] = ACTIONS(1355),
    [sym__directive_elseif] = ACTIONS(1355),
    [sym__directive_else] = ACTIONS(1357),
    [sym__directive_endif] = ACTIONS(1357),
  },
  [604] = {
    [sym_simple_identifier] = STATE(3023),
    [sym__contextual_simple_identifier] = STATE(2652),
    [sym__basic_literal] = STATE(1574),
    [sym_boolean_literal] = STATE(1574),
    [sym__string_literal] = STATE(1574),
    [sym_line_string_literal] = STATE(1574),
    [sym_multi_line_string_literal] = STATE(1574),
    [sym_raw_string_literal] = STATE(1574),
    [sym_regex_literal] = STATE(1574),
    [sym__extended_regex_literal] = STATE(3428),
    [sym__multiline_regex_literal] = STATE(3428),
    [sym_user_type] = STATE(6368),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6368),
    [sym_dictionary_type] = STATE(6368),
    [sym__expression] = STATE(1574),
    [sym__unary_expression] = STATE(1574),
    [sym_postfix_expression] = STATE(1574),
    [sym_constructor_expression] = STATE(1574),
    [sym__parenthesized_type] = STATE(8119),
    [sym_navigation_expression] = STATE(1574),
    [sym__navigable_type_expression] = STATE(8122),
    [sym_open_start_range_expression] = STATE(1574),
    [sym__range_operator] = STATE(604),
    [sym_open_end_range_expression] = STATE(1574),
    [sym_prefix_expression] = STATE(1574),
    [sym_as_expression] = STATE(1574),
    [sym_selector_expression] = STATE(1574),
    [sym__binary_expression] = STATE(1574),
    [sym_multiplicative_expression] = STATE(1574),
    [sym_additive_expression] = STATE(1574),
    [sym_range_expression] = STATE(1574),
    [sym_infix_expression] = STATE(1574),
    [sym_nil_coalescing_expression] = STATE(1574),
    [sym_check_expression] = STATE(1574),
    [sym_comparison_expression] = STATE(1574),
    [sym_equality_expression] = STATE(1574),
    [sym_conjunction_expression] = STATE(1574),
    [sym_disjunction_expression] = STATE(1574),
    [sym_bitwise_operation] = STATE(1574),
    [sym_custom_operator] = STATE(1207),
    [sym_try_expression] = STATE(1574),
    [sym_await_expression] = STATE(1574),
    [sym__await_operator] = STATE(605),
    [sym_ternary_expression] = STATE(1574),
    [sym_call_expression] = STATE(1574),
    [sym_macro_invocation] = STATE(1574),
    [sym__primary_expression] = STATE(1574),
    [sym_tuple_expression] = STATE(1574),
    [sym_array_literal] = STATE(1574),
    [sym_dictionary_literal] = STATE(1574),
    [sym_special_literal] = STATE(1574),
    [sym_playground_literal] = STATE(1574),
    [sym_lambda_literal] = STATE(1574),
    [sym_self_expression] = STATE(1574),
    [sym_super_expression] = STATE(1574),
    [sym_if_statement] = STATE(1574),
    [sym_switch_statement] = STATE(1574),
    [sym_key_path_expression] = STATE(1574),
    [sym_key_path_string_expression] = STATE(1574),
    [sym_try_operator] = STATE(606),
    [sym__assignment_and_operator] = STATE(1574),
    [sym__equality_operator] = STATE(1574),
    [sym__comparison_operator] = STATE(1574),
    [sym__three_dot_operator] = STATE(1208),
    [sym__open_ended_range_operator] = STATE(604),
    [sym__additive_operator] = STATE(1574),
    [sym__multiplicative_operator] = STATE(1574),
    [sym__prefix_unary_operator] = STATE(616),
    [sym_directly_assignable_expression] = STATE(6371),
    [sym_assignment] = STATE(1574),
    [sym_value_parameter_pack] = STATE(1574),
    [sym_value_pack_expansion] = STATE(1574),
    [sym__referenceable_operator] = STATE(1574),
    [sym__equal_sign] = STATE(1574),
    [sym__eq_eq] = STATE(1574),
    [sym__dot] = STATE(616),
    [sym__hash_symbol] = STATE(4844),
    [sym_bang] = STATE(1207),
    [sym__parameter_ownership_modifier] = STATE(2652),
    [sym_directive] = STATE(1574),
    [sym_diagnostic] = STATE(1574),
    [aux_sym_raw_string_literal_repeat1] = STATE(8127),
    [anon_sym_BANG] = ACTIONS(1195),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1197),
    [aux_sym_simple_identifier_token2] = ACTIONS(1199),
    [aux_sym_simple_identifier_token3] = ACTIONS(1199),
    [aux_sym_simple_identifier_token4] = ACTIONS(1199),
    [anon_sym_actor] = ACTIONS(1197),
    [anon_sym_async] = ACTIONS(1197),
    [anon_sym_each] = ACTIONS(1201),
    [anon_sym_lazy] = ACTIONS(1197),
    [anon_sym_repeat] = ACTIONS(1203),
    [anon_sym_package] = ACTIONS(1197),
    [anon_sym_nil] = ACTIONS(2116),
    [sym_real_literal] = ACTIONS(2118),
    [sym_integer_literal] = ACTIONS(2116),
    [sym_hex_literal] = ACTIONS(2116),
    [sym_oct_literal] = ACTIONS(2118),
    [sym_bin_literal] = ACTIONS(2118),
    [anon_sym_true] = ACTIONS(1209),
    [anon_sym_false] = ACTIONS(1209),
    [anon_sym_DQUOTE] = ACTIONS(1211),
    [anon_sym_BSLASH] = ACTIONS(1213),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1215),
    [sym__oneline_regex_literal] = ACTIONS(1217),
    [anon_sym_LPAREN] = ACTIONS(1219),
    [anon_sym_LBRACK] = ACTIONS(1221),
    [anon_sym_AMP] = ACTIONS(1223),
    [anon_sym_TILDE] = ACTIONS(1223),
    [anon_sym_if] = ACTIONS(1225),
    [anon_sym_switch] = ACTIONS(1227),
    [aux_sym_custom_operator_token1] = ACTIONS(1229),
    [anon_sym_LT] = ACTIONS(2116),
    [anon_sym_GT] = ACTIONS(2116),
    [anon_sym_await] = ACTIONS(1231),
    [anon_sym_LBRACE] = ACTIONS(1233),
    [anon_sym_CARET_LBRACE] = ACTIONS(1233),
    [anon_sym_self] = ACTIONS(1235),
    [anon_sym_super] = ACTIONS(1237),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2118),
    [anon_sym_DASH_EQ] = ACTIONS(2118),
    [anon_sym_STAR_EQ] = ACTIONS(2118),
    [anon_sym_SLASH_EQ] = ACTIONS(2118),
    [anon_sym_PERCENT_EQ] = ACTIONS(2118),
    [anon_sym_BANG_EQ] = ACTIONS(2116),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2118),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2118),
    [anon_sym_LT_EQ] = ACTIONS(2118),
    [anon_sym_GT_EQ] = ACTIONS(2118),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1241),
    [anon_sym_PLUS] = ACTIONS(1243),
    [anon_sym_DASH] = ACTIONS(1243),
    [anon_sym_STAR] = ACTIONS(2116),
    [anon_sym_SLASH] = ACTIONS(2116),
    [anon_sym_PERCENT] = ACTIONS(2116),
    [anon_sym_PLUS_PLUS] = ACTIONS(1223),
    [anon_sym_DASH_DASH] = ACTIONS(1223),
    [anon_sym_PIPE] = ACTIONS(2118),
    [anon_sym_CARET] = ACTIONS(2116),
    [anon_sym_LT_LT] = ACTIONS(2118),
    [anon_sym_GT_GT] = ACTIONS(2118),
    [anon_sym_borrowing] = ACTIONS(1197),
    [anon_sym_consuming] = ACTIONS(1197),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1245),
    [sym__dot_custom] = ACTIONS(1247),
    [sym__eq_custom] = ACTIONS(2118),
    [sym__eq_eq_custom] = ACTIONS(2118),
    [sym__plus_then_ws] = ACTIONS(2118),
    [sym__minus_then_ws] = ACTIONS(2118),
    [sym__bang_custom] = ACTIONS(1249),
    [sym__custom_operator] = ACTIONS(1229),
    [sym__hash_symbol_custom] = ACTIONS(1251),
    [sym__directive_if] = ACTIONS(1253),
    [sym__directive_elseif] = ACTIONS(1253),
    [sym__directive_else] = ACTIONS(1255),
    [sym__directive_endif] = ACTIONS(1255),
  },
  [605] = {
    [sym_simple_identifier] = STATE(3023),
    [sym__contextual_simple_identifier] = STATE(2652),
    [sym__basic_literal] = STATE(1587),
    [sym_boolean_literal] = STATE(1587),
    [sym__string_literal] = STATE(1587),
    [sym_line_string_literal] = STATE(1587),
    [sym_multi_line_string_literal] = STATE(1587),
    [sym_raw_string_literal] = STATE(1587),
    [sym_regex_literal] = STATE(1587),
    [sym__extended_regex_literal] = STATE(3428),
    [sym__multiline_regex_literal] = STATE(3428),
    [sym_user_type] = STATE(6368),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6368),
    [sym_dictionary_type] = STATE(6368),
    [sym__expression] = STATE(1587),
    [sym__unary_expression] = STATE(1587),
    [sym_postfix_expression] = STATE(1587),
    [sym_constructor_expression] = STATE(1587),
    [sym__parenthesized_type] = STATE(8119),
    [sym_navigation_expression] = STATE(1587),
    [sym__navigable_type_expression] = STATE(8122),
    [sym_open_start_range_expression] = STATE(1587),
    [sym__range_operator] = STATE(604),
    [sym_open_end_range_expression] = STATE(1587),
    [sym_prefix_expression] = STATE(1587),
    [sym_as_expression] = STATE(1587),
    [sym_selector_expression] = STATE(1587),
    [sym__binary_expression] = STATE(1587),
    [sym_multiplicative_expression] = STATE(1587),
    [sym_additive_expression] = STATE(1587),
    [sym_range_expression] = STATE(1587),
    [sym_infix_expression] = STATE(1587),
    [sym_nil_coalescing_expression] = STATE(1587),
    [sym_check_expression] = STATE(1587),
    [sym_comparison_expression] = STATE(1587),
    [sym_equality_expression] = STATE(1587),
    [sym_conjunction_expression] = STATE(1587),
    [sym_disjunction_expression] = STATE(1587),
    [sym_bitwise_operation] = STATE(1587),
    [sym_custom_operator] = STATE(1207),
    [sym_try_expression] = STATE(1587),
    [sym_await_expression] = STATE(1587),
    [sym__await_operator] = STATE(605),
    [sym_ternary_expression] = STATE(3493),
    [sym_call_expression] = STATE(3494),
    [sym_macro_invocation] = STATE(1587),
    [sym__primary_expression] = STATE(1587),
    [sym_tuple_expression] = STATE(1587),
    [sym_array_literal] = STATE(1587),
    [sym_dictionary_literal] = STATE(1587),
    [sym_special_literal] = STATE(1587),
    [sym_playground_literal] = STATE(1587),
    [sym_lambda_literal] = STATE(1587),
    [sym_self_expression] = STATE(1587),
    [sym_super_expression] = STATE(1587),
    [sym_if_statement] = STATE(1587),
    [sym_switch_statement] = STATE(1587),
    [sym_key_path_expression] = STATE(1587),
    [sym_key_path_string_expression] = STATE(1587),
    [sym_try_operator] = STATE(606),
    [sym__assignment_and_operator] = STATE(1587),
    [sym__equality_operator] = STATE(1587),
    [sym__comparison_operator] = STATE(1587),
    [sym__three_dot_operator] = STATE(1208),
    [sym__open_ended_range_operator] = STATE(604),
    [sym__additive_operator] = STATE(1587),
    [sym__multiplicative_operator] = STATE(1587),
    [sym__prefix_unary_operator] = STATE(616),
    [sym_directly_assignable_expression] = STATE(6371),
    [sym_assignment] = STATE(1587),
    [sym_value_parameter_pack] = STATE(1587),
    [sym_value_pack_expansion] = STATE(1587),
    [sym__referenceable_operator] = STATE(1587),
    [sym__equal_sign] = STATE(1587),
    [sym__eq_eq] = STATE(1587),
    [sym__dot] = STATE(616),
    [sym__hash_symbol] = STATE(4844),
    [sym_bang] = STATE(1207),
    [sym__parameter_ownership_modifier] = STATE(2652),
    [sym_directive] = STATE(1587),
    [sym_diagnostic] = STATE(1587),
    [aux_sym_raw_string_literal_repeat1] = STATE(8127),
    [anon_sym_BANG] = ACTIONS(1195),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1197),
    [aux_sym_simple_identifier_token2] = ACTIONS(1199),
    [aux_sym_simple_identifier_token3] = ACTIONS(1199),
    [aux_sym_simple_identifier_token4] = ACTIONS(1199),
    [anon_sym_actor] = ACTIONS(1197),
    [anon_sym_async] = ACTIONS(1197),
    [anon_sym_each] = ACTIONS(1201),
    [anon_sym_lazy] = ACTIONS(1197),
    [anon_sym_repeat] = ACTIONS(1203),
    [anon_sym_package] = ACTIONS(1197),
    [anon_sym_nil] = ACTIONS(2120),
    [sym_real_literal] = ACTIONS(2122),
    [sym_integer_literal] = ACTIONS(2120),
    [sym_hex_literal] = ACTIONS(2120),
    [sym_oct_literal] = ACTIONS(2122),
    [sym_bin_literal] = ACTIONS(2122),
    [anon_sym_true] = ACTIONS(1209),
    [anon_sym_false] = ACTIONS(1209),
    [anon_sym_DQUOTE] = ACTIONS(1211),
    [anon_sym_BSLASH] = ACTIONS(1213),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1215),
    [sym__oneline_regex_literal] = ACTIONS(1217),
    [anon_sym_LPAREN] = ACTIONS(1219),
    [anon_sym_LBRACK] = ACTIONS(1221),
    [anon_sym_AMP] = ACTIONS(1223),
    [anon_sym_TILDE] = ACTIONS(1223),
    [anon_sym_if] = ACTIONS(1225),
    [anon_sym_switch] = ACTIONS(1227),
    [aux_sym_custom_operator_token1] = ACTIONS(1229),
    [anon_sym_LT] = ACTIONS(2120),
    [anon_sym_GT] = ACTIONS(2120),
    [anon_sym_await] = ACTIONS(1231),
    [anon_sym_LBRACE] = ACTIONS(1233),
    [anon_sym_CARET_LBRACE] = ACTIONS(1233),
    [anon_sym_self] = ACTIONS(1235),
    [anon_sym_super] = ACTIONS(1237),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2122),
    [anon_sym_DASH_EQ] = ACTIONS(2122),
    [anon_sym_STAR_EQ] = ACTIONS(2122),
    [anon_sym_SLASH_EQ] = ACTIONS(2122),
    [anon_sym_PERCENT_EQ] = ACTIONS(2122),
    [anon_sym_BANG_EQ] = ACTIONS(2120),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2122),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2122),
    [anon_sym_LT_EQ] = ACTIONS(2122),
    [anon_sym_GT_EQ] = ACTIONS(2122),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1241),
    [anon_sym_PLUS] = ACTIONS(1243),
    [anon_sym_DASH] = ACTIONS(1243),
    [anon_sym_STAR] = ACTIONS(2120),
    [anon_sym_SLASH] = ACTIONS(2120),
    [anon_sym_PERCENT] = ACTIONS(2120),
    [anon_sym_PLUS_PLUS] = ACTIONS(1223),
    [anon_sym_DASH_DASH] = ACTIONS(1223),
    [anon_sym_PIPE] = ACTIONS(2122),
    [anon_sym_CARET] = ACTIONS(2120),
    [anon_sym_LT_LT] = ACTIONS(2122),
    [anon_sym_GT_GT] = ACTIONS(2122),
    [anon_sym_borrowing] = ACTIONS(1197),
    [anon_sym_consuming] = ACTIONS(1197),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1245),
    [sym__dot_custom] = ACTIONS(1247),
    [sym__eq_custom] = ACTIONS(2122),
    [sym__eq_eq_custom] = ACTIONS(2122),
    [sym__plus_then_ws] = ACTIONS(2122),
    [sym__minus_then_ws] = ACTIONS(2122),
    [sym__bang_custom] = ACTIONS(1249),
    [sym__custom_operator] = ACTIONS(1229),
    [sym__hash_symbol_custom] = ACTIONS(1251),
    [sym__directive_if] = ACTIONS(1253),
    [sym__directive_elseif] = ACTIONS(1253),
    [sym__directive_else] = ACTIONS(1255),
    [sym__directive_endif] = ACTIONS(1255),
  },
  [606] = {
    [sym_simple_identifier] = STATE(3023),
    [sym__contextual_simple_identifier] = STATE(2652),
    [sym__basic_literal] = STATE(1571),
    [sym_boolean_literal] = STATE(1571),
    [sym__string_literal] = STATE(1571),
    [sym_line_string_literal] = STATE(1571),
    [sym_multi_line_string_literal] = STATE(1571),
    [sym_raw_string_literal] = STATE(1571),
    [sym_regex_literal] = STATE(1571),
    [sym__extended_regex_literal] = STATE(3428),
    [sym__multiline_regex_literal] = STATE(3428),
    [sym_user_type] = STATE(6368),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6368),
    [sym_dictionary_type] = STATE(6368),
    [sym__expression] = STATE(1571),
    [sym__unary_expression] = STATE(1571),
    [sym_postfix_expression] = STATE(1571),
    [sym_constructor_expression] = STATE(1571),
    [sym__parenthesized_type] = STATE(8119),
    [sym_navigation_expression] = STATE(1571),
    [sym__navigable_type_expression] = STATE(8122),
    [sym_open_start_range_expression] = STATE(1571),
    [sym__range_operator] = STATE(604),
    [sym_open_end_range_expression] = STATE(1571),
    [sym_prefix_expression] = STATE(1571),
    [sym_as_expression] = STATE(1571),
    [sym_selector_expression] = STATE(1571),
    [sym__binary_expression] = STATE(3496),
    [sym_multiplicative_expression] = STATE(3496),
    [sym_additive_expression] = STATE(3496),
    [sym_range_expression] = STATE(3496),
    [sym_infix_expression] = STATE(3496),
    [sym_nil_coalescing_expression] = STATE(3496),
    [sym_check_expression] = STATE(3496),
    [sym_comparison_expression] = STATE(3496),
    [sym_equality_expression] = STATE(3496),
    [sym_conjunction_expression] = STATE(3496),
    [sym_disjunction_expression] = STATE(3496),
    [sym_bitwise_operation] = STATE(3496),
    [sym_custom_operator] = STATE(1207),
    [sym_try_expression] = STATE(1571),
    [sym_await_expression] = STATE(1571),
    [sym__await_operator] = STATE(605),
    [sym_ternary_expression] = STATE(3497),
    [sym_call_expression] = STATE(3498),
    [sym_macro_invocation] = STATE(1571),
    [sym__primary_expression] = STATE(1571),
    [sym_tuple_expression] = STATE(1571),
    [sym_array_literal] = STATE(1571),
    [sym_dictionary_literal] = STATE(1571),
    [sym_special_literal] = STATE(1571),
    [sym_playground_literal] = STATE(1571),
    [sym_lambda_literal] = STATE(1571),
    [sym_self_expression] = STATE(1571),
    [sym_super_expression] = STATE(1571),
    [sym_if_statement] = STATE(1571),
    [sym_switch_statement] = STATE(1571),
    [sym_key_path_expression] = STATE(1571),
    [sym_key_path_string_expression] = STATE(1571),
    [sym_try_operator] = STATE(606),
    [sym__assignment_and_operator] = STATE(1571),
    [sym__equality_operator] = STATE(1571),
    [sym__comparison_operator] = STATE(1571),
    [sym__three_dot_operator] = STATE(1208),
    [sym__open_ended_range_operator] = STATE(604),
    [sym__additive_operator] = STATE(1571),
    [sym__multiplicative_operator] = STATE(1571),
    [sym__prefix_unary_operator] = STATE(616),
    [sym_directly_assignable_expression] = STATE(6371),
    [sym_assignment] = STATE(1571),
    [sym_value_parameter_pack] = STATE(1571),
    [sym_value_pack_expansion] = STATE(1571),
    [sym__referenceable_operator] = STATE(1571),
    [sym__equal_sign] = STATE(1571),
    [sym__eq_eq] = STATE(1571),
    [sym__dot] = STATE(616),
    [sym__hash_symbol] = STATE(4844),
    [sym_bang] = STATE(1207),
    [sym__parameter_ownership_modifier] = STATE(2652),
    [sym_directive] = STATE(1571),
    [sym_diagnostic] = STATE(1571),
    [aux_sym_raw_string_literal_repeat1] = STATE(8127),
    [anon_sym_BANG] = ACTIONS(1195),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1197),
    [aux_sym_simple_identifier_token2] = ACTIONS(1199),
    [aux_sym_simple_identifier_token3] = ACTIONS(1199),
    [aux_sym_simple_identifier_token4] = ACTIONS(1199),
    [anon_sym_actor] = ACTIONS(1197),
    [anon_sym_async] = ACTIONS(1197),
    [anon_sym_each] = ACTIONS(1201),
    [anon_sym_lazy] = ACTIONS(1197),
    [anon_sym_repeat] = ACTIONS(1203),
    [anon_sym_package] = ACTIONS(1197),
    [anon_sym_nil] = ACTIONS(2124),
    [sym_real_literal] = ACTIONS(2126),
    [sym_integer_literal] = ACTIONS(2124),
    [sym_hex_literal] = ACTIONS(2124),
    [sym_oct_literal] = ACTIONS(2126),
    [sym_bin_literal] = ACTIONS(2126),
    [anon_sym_true] = ACTIONS(1209),
    [anon_sym_false] = ACTIONS(1209),
    [anon_sym_DQUOTE] = ACTIONS(1211),
    [anon_sym_BSLASH] = ACTIONS(1213),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1215),
    [sym__oneline_regex_literal] = ACTIONS(1217),
    [anon_sym_LPAREN] = ACTIONS(1219),
    [anon_sym_LBRACK] = ACTIONS(1221),
    [anon_sym_AMP] = ACTIONS(1223),
    [anon_sym_TILDE] = ACTIONS(1223),
    [anon_sym_if] = ACTIONS(1225),
    [anon_sym_switch] = ACTIONS(1227),
    [aux_sym_custom_operator_token1] = ACTIONS(1229),
    [anon_sym_LT] = ACTIONS(2124),
    [anon_sym_GT] = ACTIONS(2124),
    [anon_sym_await] = ACTIONS(1231),
    [anon_sym_LBRACE] = ACTIONS(1233),
    [anon_sym_CARET_LBRACE] = ACTIONS(1233),
    [anon_sym_self] = ACTIONS(1235),
    [anon_sym_super] = ACTIONS(1237),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2126),
    [anon_sym_DASH_EQ] = ACTIONS(2126),
    [anon_sym_STAR_EQ] = ACTIONS(2126),
    [anon_sym_SLASH_EQ] = ACTIONS(2126),
    [anon_sym_PERCENT_EQ] = ACTIONS(2126),
    [anon_sym_BANG_EQ] = ACTIONS(2124),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2126),
    [anon_sym_LT_EQ] = ACTIONS(2126),
    [anon_sym_GT_EQ] = ACTIONS(2126),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1241),
    [anon_sym_PLUS] = ACTIONS(1243),
    [anon_sym_DASH] = ACTIONS(1243),
    [anon_sym_STAR] = ACTIONS(2124),
    [anon_sym_SLASH] = ACTIONS(2124),
    [anon_sym_PERCENT] = ACTIONS(2124),
    [anon_sym_PLUS_PLUS] = ACTIONS(1223),
    [anon_sym_DASH_DASH] = ACTIONS(1223),
    [anon_sym_PIPE] = ACTIONS(2126),
    [anon_sym_CARET] = ACTIONS(2124),
    [anon_sym_LT_LT] = ACTIONS(2126),
    [anon_sym_GT_GT] = ACTIONS(2126),
    [anon_sym_borrowing] = ACTIONS(1197),
    [anon_sym_consuming] = ACTIONS(1197),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1245),
    [sym__dot_custom] = ACTIONS(1247),
    [sym__eq_custom] = ACTIONS(2126),
    [sym__eq_eq_custom] = ACTIONS(2126),
    [sym__plus_then_ws] = ACTIONS(2126),
    [sym__minus_then_ws] = ACTIONS(2126),
    [sym__bang_custom] = ACTIONS(1249),
    [sym__custom_operator] = ACTIONS(1229),
    [sym__hash_symbol_custom] = ACTIONS(1251),
    [sym__directive_if] = ACTIONS(1253),
    [sym__directive_elseif] = ACTIONS(1253),
    [sym__directive_else] = ACTIONS(1255),
    [sym__directive_endif] = ACTIONS(1255),
  },
  [607] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1661),
    [sym_boolean_literal] = STATE(1661),
    [sym__string_literal] = STATE(1661),
    [sym_line_string_literal] = STATE(1661),
    [sym_multi_line_string_literal] = STATE(1661),
    [sym_raw_string_literal] = STATE(1661),
    [sym_regex_literal] = STATE(1661),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1661),
    [sym__unary_expression] = STATE(1661),
    [sym_postfix_expression] = STATE(1661),
    [sym_constructor_expression] = STATE(1661),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1661),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1661),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1661),
    [sym_prefix_expression] = STATE(1661),
    [sym_as_expression] = STATE(1661),
    [sym_selector_expression] = STATE(1661),
    [sym__binary_expression] = STATE(1661),
    [sym_multiplicative_expression] = STATE(1661),
    [sym_additive_expression] = STATE(1661),
    [sym_range_expression] = STATE(1661),
    [sym_infix_expression] = STATE(1661),
    [sym_nil_coalescing_expression] = STATE(1661),
    [sym_check_expression] = STATE(1661),
    [sym_comparison_expression] = STATE(1661),
    [sym_equality_expression] = STATE(1661),
    [sym_conjunction_expression] = STATE(1661),
    [sym_disjunction_expression] = STATE(1661),
    [sym_bitwise_operation] = STATE(1661),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1661),
    [sym_await_expression] = STATE(1661),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1661),
    [sym_call_expression] = STATE(1661),
    [sym_macro_invocation] = STATE(1661),
    [sym__primary_expression] = STATE(1661),
    [sym_tuple_expression] = STATE(1661),
    [sym_array_literal] = STATE(1661),
    [sym_dictionary_literal] = STATE(1661),
    [sym_special_literal] = STATE(1661),
    [sym_playground_literal] = STATE(1661),
    [sym_lambda_literal] = STATE(1661),
    [sym_self_expression] = STATE(1661),
    [sym_super_expression] = STATE(1661),
    [sym_if_statement] = STATE(1661),
    [sym_switch_statement] = STATE(1661),
    [sym_key_path_expression] = STATE(1661),
    [sym_key_path_string_expression] = STATE(1661),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1661),
    [sym__equality_operator] = STATE(1661),
    [sym__comparison_operator] = STATE(1661),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1661),
    [sym__multiplicative_operator] = STATE(1661),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1661),
    [sym_value_parameter_pack] = STATE(1661),
    [sym_value_pack_expansion] = STATE(1661),
    [sym__referenceable_operator] = STATE(1661),
    [sym__equal_sign] = STATE(1661),
    [sym__eq_eq] = STATE(1661),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1661),
    [sym_diagnostic] = STATE(1661),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2128),
    [sym_real_literal] = ACTIONS(2130),
    [sym_integer_literal] = ACTIONS(2128),
    [sym_hex_literal] = ACTIONS(2128),
    [sym_oct_literal] = ACTIONS(2130),
    [sym_bin_literal] = ACTIONS(2130),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2128),
    [anon_sym_GT] = ACTIONS(2128),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2130),
    [anon_sym_DASH_EQ] = ACTIONS(2130),
    [anon_sym_STAR_EQ] = ACTIONS(2130),
    [anon_sym_SLASH_EQ] = ACTIONS(2130),
    [anon_sym_PERCENT_EQ] = ACTIONS(2130),
    [anon_sym_BANG_EQ] = ACTIONS(2128),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2130),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2130),
    [anon_sym_LT_EQ] = ACTIONS(2130),
    [anon_sym_GT_EQ] = ACTIONS(2130),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2128),
    [anon_sym_SLASH] = ACTIONS(2128),
    [anon_sym_PERCENT] = ACTIONS(2128),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2130),
    [anon_sym_CARET] = ACTIONS(2128),
    [anon_sym_LT_LT] = ACTIONS(2130),
    [anon_sym_GT_GT] = ACTIONS(2130),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2130),
    [sym__eq_eq_custom] = ACTIONS(2130),
    [sym__plus_then_ws] = ACTIONS(2130),
    [sym__minus_then_ws] = ACTIONS(2130),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [608] = {
    [sym_simple_identifier] = STATE(2331),
    [sym__contextual_simple_identifier] = STATE(2240),
    [sym__basic_literal] = STATE(1460),
    [sym_boolean_literal] = STATE(1460),
    [sym__string_literal] = STATE(1460),
    [sym_line_string_literal] = STATE(1460),
    [sym_multi_line_string_literal] = STATE(1460),
    [sym_raw_string_literal] = STATE(1460),
    [sym_regex_literal] = STATE(1460),
    [sym__extended_regex_literal] = STATE(2556),
    [sym__multiline_regex_literal] = STATE(2556),
    [sym_user_type] = STATE(6440),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6440),
    [sym_dictionary_type] = STATE(6440),
    [sym__expression] = STATE(1460),
    [sym__unary_expression] = STATE(1460),
    [sym_postfix_expression] = STATE(1460),
    [sym_constructor_expression] = STATE(1460),
    [sym__parenthesized_type] = STATE(7995),
    [sym_navigation_expression] = STATE(1460),
    [sym__navigable_type_expression] = STATE(8059),
    [sym_open_start_range_expression] = STATE(1460),
    [sym__range_operator] = STATE(576),
    [sym_open_end_range_expression] = STATE(1460),
    [sym_prefix_expression] = STATE(1460),
    [sym_as_expression] = STATE(1460),
    [sym_selector_expression] = STATE(1460),
    [sym__binary_expression] = STATE(1460),
    [sym_multiplicative_expression] = STATE(1460),
    [sym_additive_expression] = STATE(1460),
    [sym_range_expression] = STATE(1460),
    [sym_infix_expression] = STATE(1460),
    [sym_nil_coalescing_expression] = STATE(1460),
    [sym_check_expression] = STATE(1460),
    [sym_comparison_expression] = STATE(1460),
    [sym_equality_expression] = STATE(1460),
    [sym_conjunction_expression] = STATE(1460),
    [sym_disjunction_expression] = STATE(1460),
    [sym_bitwise_operation] = STATE(1460),
    [sym_custom_operator] = STATE(1097),
    [sym_try_expression] = STATE(1460),
    [sym_await_expression] = STATE(1460),
    [sym__await_operator] = STATE(575),
    [sym_ternary_expression] = STATE(1460),
    [sym_call_expression] = STATE(1460),
    [sym_macro_invocation] = STATE(1460),
    [sym__primary_expression] = STATE(1460),
    [sym_tuple_expression] = STATE(1460),
    [sym_array_literal] = STATE(1460),
    [sym_dictionary_literal] = STATE(1460),
    [sym_special_literal] = STATE(1460),
    [sym_playground_literal] = STATE(1460),
    [sym_lambda_literal] = STATE(1460),
    [sym_self_expression] = STATE(1460),
    [sym_super_expression] = STATE(1460),
    [sym_if_statement] = STATE(1460),
    [sym_switch_statement] = STATE(1460),
    [sym_key_path_expression] = STATE(1460),
    [sym_key_path_string_expression] = STATE(1460),
    [sym_try_operator] = STATE(648),
    [sym__assignment_and_operator] = STATE(1460),
    [sym__equality_operator] = STATE(1460),
    [sym__comparison_operator] = STATE(1460),
    [sym__three_dot_operator] = STATE(1089),
    [sym__open_ended_range_operator] = STATE(576),
    [sym__additive_operator] = STATE(1460),
    [sym__multiplicative_operator] = STATE(1460),
    [sym__prefix_unary_operator] = STATE(711),
    [sym_directly_assignable_expression] = STATE(6442),
    [sym_assignment] = STATE(1460),
    [sym_value_parameter_pack] = STATE(1460),
    [sym_value_pack_expansion] = STATE(1460),
    [sym__referenceable_operator] = STATE(1460),
    [sym__equal_sign] = STATE(1460),
    [sym__eq_eq] = STATE(1460),
    [sym__dot] = STATE(711),
    [sym__hash_symbol] = STATE(4850),
    [sym_bang] = STATE(1097),
    [sym__parameter_ownership_modifier] = STATE(2240),
    [sym_directive] = STATE(1460),
    [sym_diagnostic] = STATE(1460),
    [aux_sym_raw_string_literal_repeat1] = STATE(7884),
    [anon_sym_BANG] = ACTIONS(969),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(971),
    [aux_sym_simple_identifier_token2] = ACTIONS(973),
    [aux_sym_simple_identifier_token3] = ACTIONS(973),
    [aux_sym_simple_identifier_token4] = ACTIONS(973),
    [anon_sym_actor] = ACTIONS(971),
    [anon_sym_async] = ACTIONS(971),
    [anon_sym_each] = ACTIONS(975),
    [anon_sym_lazy] = ACTIONS(971),
    [anon_sym_repeat] = ACTIONS(977),
    [anon_sym_package] = ACTIONS(971),
    [anon_sym_nil] = ACTIONS(2132),
    [sym_real_literal] = ACTIONS(2134),
    [sym_integer_literal] = ACTIONS(2132),
    [sym_hex_literal] = ACTIONS(2132),
    [sym_oct_literal] = ACTIONS(2134),
    [sym_bin_literal] = ACTIONS(2134),
    [anon_sym_true] = ACTIONS(983),
    [anon_sym_false] = ACTIONS(983),
    [anon_sym_DQUOTE] = ACTIONS(985),
    [anon_sym_BSLASH] = ACTIONS(987),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(989),
    [sym__oneline_regex_literal] = ACTIONS(991),
    [anon_sym_LPAREN] = ACTIONS(993),
    [anon_sym_LBRACK] = ACTIONS(995),
    [anon_sym_AMP] = ACTIONS(997),
    [anon_sym_TILDE] = ACTIONS(997),
    [anon_sym_if] = ACTIONS(999),
    [anon_sym_switch] = ACTIONS(1001),
    [aux_sym_custom_operator_token1] = ACTIONS(1003),
    [anon_sym_LT] = ACTIONS(2132),
    [anon_sym_GT] = ACTIONS(2132),
    [anon_sym_await] = ACTIONS(1005),
    [anon_sym_LBRACE] = ACTIONS(1007),
    [anon_sym_CARET_LBRACE] = ACTIONS(1007),
    [anon_sym_self] = ACTIONS(1009),
    [anon_sym_super] = ACTIONS(1011),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2134),
    [anon_sym_DASH_EQ] = ACTIONS(2134),
    [anon_sym_STAR_EQ] = ACTIONS(2134),
    [anon_sym_SLASH_EQ] = ACTIONS(2134),
    [anon_sym_PERCENT_EQ] = ACTIONS(2134),
    [anon_sym_BANG_EQ] = ACTIONS(2132),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2134),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2134),
    [anon_sym_LT_EQ] = ACTIONS(2134),
    [anon_sym_GT_EQ] = ACTIONS(2134),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1013),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1015),
    [anon_sym_PLUS] = ACTIONS(1017),
    [anon_sym_DASH] = ACTIONS(1017),
    [anon_sym_STAR] = ACTIONS(2132),
    [anon_sym_SLASH] = ACTIONS(2132),
    [anon_sym_PERCENT] = ACTIONS(2132),
    [anon_sym_PLUS_PLUS] = ACTIONS(997),
    [anon_sym_DASH_DASH] = ACTIONS(997),
    [anon_sym_PIPE] = ACTIONS(2134),
    [anon_sym_CARET] = ACTIONS(2132),
    [anon_sym_LT_LT] = ACTIONS(2134),
    [anon_sym_GT_GT] = ACTIONS(2134),
    [anon_sym_borrowing] = ACTIONS(971),
    [anon_sym_consuming] = ACTIONS(971),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1019),
    [sym__dot_custom] = ACTIONS(1021),
    [sym__eq_custom] = ACTIONS(2134),
    [sym__eq_eq_custom] = ACTIONS(2134),
    [sym__plus_then_ws] = ACTIONS(2134),
    [sym__minus_then_ws] = ACTIONS(2134),
    [sym__bang_custom] = ACTIONS(1023),
    [sym__custom_operator] = ACTIONS(1003),
    [sym__hash_symbol_custom] = ACTIONS(1025),
    [sym__directive_if] = ACTIONS(1027),
    [sym__directive_elseif] = ACTIONS(1027),
    [sym__directive_else] = ACTIONS(1029),
    [sym__directive_endif] = ACTIONS(1029),
  },
  [609] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1546),
    [sym_boolean_literal] = STATE(1546),
    [sym__string_literal] = STATE(1546),
    [sym_line_string_literal] = STATE(1546),
    [sym_multi_line_string_literal] = STATE(1546),
    [sym_raw_string_literal] = STATE(1546),
    [sym_regex_literal] = STATE(1546),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1546),
    [sym__unary_expression] = STATE(1546),
    [sym_postfix_expression] = STATE(1546),
    [sym_constructor_expression] = STATE(1546),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1546),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1546),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1546),
    [sym_prefix_expression] = STATE(1546),
    [sym_as_expression] = STATE(1546),
    [sym_selector_expression] = STATE(1546),
    [sym__binary_expression] = STATE(1546),
    [sym_multiplicative_expression] = STATE(1546),
    [sym_additive_expression] = STATE(1546),
    [sym_range_expression] = STATE(1546),
    [sym_infix_expression] = STATE(1546),
    [sym_nil_coalescing_expression] = STATE(1546),
    [sym_check_expression] = STATE(1546),
    [sym_comparison_expression] = STATE(1546),
    [sym_equality_expression] = STATE(1546),
    [sym_conjunction_expression] = STATE(1546),
    [sym_disjunction_expression] = STATE(1546),
    [sym_bitwise_operation] = STATE(1546),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1546),
    [sym_await_expression] = STATE(1546),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1546),
    [sym_call_expression] = STATE(1546),
    [sym_macro_invocation] = STATE(1546),
    [sym__primary_expression] = STATE(1546),
    [sym_tuple_expression] = STATE(1546),
    [sym_array_literal] = STATE(1546),
    [sym_dictionary_literal] = STATE(1546),
    [sym_special_literal] = STATE(1546),
    [sym_playground_literal] = STATE(1546),
    [sym_lambda_literal] = STATE(1546),
    [sym_self_expression] = STATE(1546),
    [sym_super_expression] = STATE(1546),
    [sym_if_statement] = STATE(1546),
    [sym_switch_statement] = STATE(1546),
    [sym_key_path_expression] = STATE(1546),
    [sym_key_path_string_expression] = STATE(1546),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1546),
    [sym__equality_operator] = STATE(1546),
    [sym__comparison_operator] = STATE(1546),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1546),
    [sym__multiplicative_operator] = STATE(1546),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1546),
    [sym_value_parameter_pack] = STATE(1546),
    [sym_value_pack_expansion] = STATE(1546),
    [sym__referenceable_operator] = STATE(1546),
    [sym__equal_sign] = STATE(1546),
    [sym__eq_eq] = STATE(1546),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1546),
    [sym_diagnostic] = STATE(1546),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2136),
    [sym_real_literal] = ACTIONS(2138),
    [sym_integer_literal] = ACTIONS(2136),
    [sym_hex_literal] = ACTIONS(2136),
    [sym_oct_literal] = ACTIONS(2138),
    [sym_bin_literal] = ACTIONS(2138),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2136),
    [anon_sym_GT] = ACTIONS(2136),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2138),
    [anon_sym_DASH_EQ] = ACTIONS(2138),
    [anon_sym_STAR_EQ] = ACTIONS(2138),
    [anon_sym_SLASH_EQ] = ACTIONS(2138),
    [anon_sym_PERCENT_EQ] = ACTIONS(2138),
    [anon_sym_BANG_EQ] = ACTIONS(2136),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2138),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2138),
    [anon_sym_LT_EQ] = ACTIONS(2138),
    [anon_sym_GT_EQ] = ACTIONS(2138),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2136),
    [anon_sym_SLASH] = ACTIONS(2136),
    [anon_sym_PERCENT] = ACTIONS(2136),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2138),
    [anon_sym_CARET] = ACTIONS(2136),
    [anon_sym_LT_LT] = ACTIONS(2138),
    [anon_sym_GT_GT] = ACTIONS(2138),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2138),
    [sym__eq_eq_custom] = ACTIONS(2138),
    [sym__plus_then_ws] = ACTIONS(2138),
    [sym__minus_then_ws] = ACTIONS(2138),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [610] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1543),
    [sym_boolean_literal] = STATE(1543),
    [sym__string_literal] = STATE(1543),
    [sym_line_string_literal] = STATE(1543),
    [sym_multi_line_string_literal] = STATE(1543),
    [sym_raw_string_literal] = STATE(1543),
    [sym_regex_literal] = STATE(1543),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1543),
    [sym__unary_expression] = STATE(1543),
    [sym_postfix_expression] = STATE(1543),
    [sym_constructor_expression] = STATE(1543),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1543),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1543),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1543),
    [sym_prefix_expression] = STATE(1543),
    [sym_as_expression] = STATE(1543),
    [sym_selector_expression] = STATE(1543),
    [sym__binary_expression] = STATE(1543),
    [sym_multiplicative_expression] = STATE(1543),
    [sym_additive_expression] = STATE(1543),
    [sym_range_expression] = STATE(1543),
    [sym_infix_expression] = STATE(1543),
    [sym_nil_coalescing_expression] = STATE(1543),
    [sym_check_expression] = STATE(1543),
    [sym_comparison_expression] = STATE(1543),
    [sym_equality_expression] = STATE(1543),
    [sym_conjunction_expression] = STATE(1543),
    [sym_disjunction_expression] = STATE(1543),
    [sym_bitwise_operation] = STATE(1543),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1543),
    [sym_await_expression] = STATE(1543),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1543),
    [sym_call_expression] = STATE(1543),
    [sym_macro_invocation] = STATE(1543),
    [sym__primary_expression] = STATE(1543),
    [sym_tuple_expression] = STATE(1543),
    [sym_array_literal] = STATE(1543),
    [sym_dictionary_literal] = STATE(1543),
    [sym_special_literal] = STATE(1543),
    [sym_playground_literal] = STATE(1543),
    [sym_lambda_literal] = STATE(1543),
    [sym_self_expression] = STATE(1543),
    [sym_super_expression] = STATE(1543),
    [sym_if_statement] = STATE(1543),
    [sym_switch_statement] = STATE(1543),
    [sym_key_path_expression] = STATE(1543),
    [sym_key_path_string_expression] = STATE(1543),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1543),
    [sym__equality_operator] = STATE(1543),
    [sym__comparison_operator] = STATE(1543),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1543),
    [sym__multiplicative_operator] = STATE(1543),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1543),
    [sym_value_parameter_pack] = STATE(1543),
    [sym_value_pack_expansion] = STATE(1543),
    [sym__referenceable_operator] = STATE(1543),
    [sym__equal_sign] = STATE(1543),
    [sym__eq_eq] = STATE(1543),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1543),
    [sym_diagnostic] = STATE(1543),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2140),
    [sym_real_literal] = ACTIONS(2142),
    [sym_integer_literal] = ACTIONS(2140),
    [sym_hex_literal] = ACTIONS(2140),
    [sym_oct_literal] = ACTIONS(2142),
    [sym_bin_literal] = ACTIONS(2142),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2140),
    [anon_sym_GT] = ACTIONS(2140),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2142),
    [anon_sym_DASH_EQ] = ACTIONS(2142),
    [anon_sym_STAR_EQ] = ACTIONS(2142),
    [anon_sym_SLASH_EQ] = ACTIONS(2142),
    [anon_sym_PERCENT_EQ] = ACTIONS(2142),
    [anon_sym_BANG_EQ] = ACTIONS(2140),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2142),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2142),
    [anon_sym_LT_EQ] = ACTIONS(2142),
    [anon_sym_GT_EQ] = ACTIONS(2142),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2140),
    [anon_sym_SLASH] = ACTIONS(2140),
    [anon_sym_PERCENT] = ACTIONS(2140),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2142),
    [anon_sym_CARET] = ACTIONS(2140),
    [anon_sym_LT_LT] = ACTIONS(2142),
    [anon_sym_GT_GT] = ACTIONS(2142),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2142),
    [sym__eq_eq_custom] = ACTIONS(2142),
    [sym__plus_then_ws] = ACTIONS(2142),
    [sym__minus_then_ws] = ACTIONS(2142),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [611] = {
    [sym_simple_identifier] = STATE(3108),
    [sym__contextual_simple_identifier] = STATE(2967),
    [sym__basic_literal] = STATE(1604),
    [sym_boolean_literal] = STATE(1604),
    [sym__string_literal] = STATE(1604),
    [sym_line_string_literal] = STATE(1604),
    [sym_multi_line_string_literal] = STATE(1604),
    [sym_raw_string_literal] = STATE(1604),
    [sym_regex_literal] = STATE(1604),
    [sym__extended_regex_literal] = STATE(3663),
    [sym__multiline_regex_literal] = STATE(3663),
    [sym_user_type] = STATE(6406),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6406),
    [sym_dictionary_type] = STATE(6406),
    [sym__expression] = STATE(1604),
    [sym__unary_expression] = STATE(1604),
    [sym_postfix_expression] = STATE(1604),
    [sym_constructor_expression] = STATE(1604),
    [sym__parenthesized_type] = STATE(7557),
    [sym_navigation_expression] = STATE(1604),
    [sym__navigable_type_expression] = STATE(7558),
    [sym_open_start_range_expression] = STATE(1604),
    [sym__range_operator] = STATE(592),
    [sym_open_end_range_expression] = STATE(1604),
    [sym_prefix_expression] = STATE(1604),
    [sym_as_expression] = STATE(1604),
    [sym_selector_expression] = STATE(1604),
    [sym__binary_expression] = STATE(3624),
    [sym_multiplicative_expression] = STATE(3624),
    [sym_additive_expression] = STATE(3624),
    [sym_range_expression] = STATE(3624),
    [sym_infix_expression] = STATE(3624),
    [sym_nil_coalescing_expression] = STATE(3624),
    [sym_check_expression] = STATE(3624),
    [sym_comparison_expression] = STATE(3624),
    [sym_equality_expression] = STATE(3624),
    [sym_conjunction_expression] = STATE(3624),
    [sym_disjunction_expression] = STATE(3624),
    [sym_bitwise_operation] = STATE(3624),
    [sym_custom_operator] = STATE(1288),
    [sym_try_expression] = STATE(1604),
    [sym_await_expression] = STATE(1604),
    [sym__await_operator] = STATE(595),
    [sym_ternary_expression] = STATE(3620),
    [sym_call_expression] = STATE(3619),
    [sym_macro_invocation] = STATE(1604),
    [sym__primary_expression] = STATE(1604),
    [sym_tuple_expression] = STATE(1604),
    [sym_array_literal] = STATE(1604),
    [sym_dictionary_literal] = STATE(1604),
    [sym_special_literal] = STATE(1604),
    [sym_playground_literal] = STATE(1604),
    [sym_lambda_literal] = STATE(1604),
    [sym_self_expression] = STATE(1604),
    [sym_super_expression] = STATE(1604),
    [sym_if_statement] = STATE(1604),
    [sym_switch_statement] = STATE(1604),
    [sym_key_path_expression] = STATE(1604),
    [sym_key_path_string_expression] = STATE(1604),
    [sym_try_operator] = STATE(611),
    [sym__assignment_and_operator] = STATE(1604),
    [sym__equality_operator] = STATE(1604),
    [sym__comparison_operator] = STATE(1604),
    [sym__three_dot_operator] = STATE(1257),
    [sym__open_ended_range_operator] = STATE(592),
    [sym__additive_operator] = STATE(1604),
    [sym__multiplicative_operator] = STATE(1604),
    [sym__prefix_unary_operator] = STATE(620),
    [sym_directly_assignable_expression] = STATE(6409),
    [sym_assignment] = STATE(1604),
    [sym_value_parameter_pack] = STATE(1604),
    [sym_value_pack_expansion] = STATE(1604),
    [sym__referenceable_operator] = STATE(1604),
    [sym__equal_sign] = STATE(1604),
    [sym__eq_eq] = STATE(1604),
    [sym__dot] = STATE(620),
    [sym__hash_symbol] = STATE(4853),
    [sym_bang] = STATE(1288),
    [sym__parameter_ownership_modifier] = STATE(2967),
    [sym_directive] = STATE(1604),
    [sym_diagnostic] = STATE(1604),
    [aux_sym_raw_string_literal_repeat1] = STATE(7564),
    [anon_sym_BANG] = ACTIONS(1293),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1295),
    [aux_sym_simple_identifier_token2] = ACTIONS(1297),
    [aux_sym_simple_identifier_token3] = ACTIONS(1297),
    [aux_sym_simple_identifier_token4] = ACTIONS(1297),
    [anon_sym_actor] = ACTIONS(1295),
    [anon_sym_async] = ACTIONS(1295),
    [anon_sym_each] = ACTIONS(1301),
    [anon_sym_lazy] = ACTIONS(1295),
    [anon_sym_repeat] = ACTIONS(1303),
    [anon_sym_package] = ACTIONS(1295),
    [anon_sym_nil] = ACTIONS(2144),
    [sym_real_literal] = ACTIONS(2146),
    [sym_integer_literal] = ACTIONS(2144),
    [sym_hex_literal] = ACTIONS(2144),
    [sym_oct_literal] = ACTIONS(2146),
    [sym_bin_literal] = ACTIONS(2146),
    [anon_sym_true] = ACTIONS(1309),
    [anon_sym_false] = ACTIONS(1309),
    [anon_sym_DQUOTE] = ACTIONS(1311),
    [anon_sym_BSLASH] = ACTIONS(1313),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1315),
    [sym__oneline_regex_literal] = ACTIONS(1317),
    [anon_sym_LPAREN] = ACTIONS(1319),
    [anon_sym_LBRACK] = ACTIONS(1321),
    [anon_sym_AMP] = ACTIONS(1323),
    [anon_sym_TILDE] = ACTIONS(1323),
    [anon_sym_if] = ACTIONS(1325),
    [anon_sym_switch] = ACTIONS(1327),
    [aux_sym_custom_operator_token1] = ACTIONS(1329),
    [anon_sym_LT] = ACTIONS(2144),
    [anon_sym_GT] = ACTIONS(2144),
    [anon_sym_await] = ACTIONS(1331),
    [anon_sym_LBRACE] = ACTIONS(1333),
    [anon_sym_CARET_LBRACE] = ACTIONS(1333),
    [anon_sym_self] = ACTIONS(1335),
    [anon_sym_super] = ACTIONS(1337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2146),
    [anon_sym_DASH_EQ] = ACTIONS(2146),
    [anon_sym_STAR_EQ] = ACTIONS(2146),
    [anon_sym_SLASH_EQ] = ACTIONS(2146),
    [anon_sym_PERCENT_EQ] = ACTIONS(2146),
    [anon_sym_BANG_EQ] = ACTIONS(2144),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2146),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2146),
    [anon_sym_LT_EQ] = ACTIONS(2146),
    [anon_sym_GT_EQ] = ACTIONS(2146),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1341),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1343),
    [anon_sym_PLUS] = ACTIONS(1345),
    [anon_sym_DASH] = ACTIONS(1345),
    [anon_sym_STAR] = ACTIONS(2144),
    [anon_sym_SLASH] = ACTIONS(2144),
    [anon_sym_PERCENT] = ACTIONS(2144),
    [anon_sym_PLUS_PLUS] = ACTIONS(1323),
    [anon_sym_DASH_DASH] = ACTIONS(1323),
    [anon_sym_PIPE] = ACTIONS(2146),
    [anon_sym_CARET] = ACTIONS(2144),
    [anon_sym_LT_LT] = ACTIONS(2146),
    [anon_sym_GT_GT] = ACTIONS(2146),
    [anon_sym_borrowing] = ACTIONS(1295),
    [anon_sym_consuming] = ACTIONS(1295),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1347),
    [sym__dot_custom] = ACTIONS(1349),
    [sym__eq_custom] = ACTIONS(2146),
    [sym__eq_eq_custom] = ACTIONS(2146),
    [sym__plus_then_ws] = ACTIONS(2146),
    [sym__minus_then_ws] = ACTIONS(2146),
    [sym__bang_custom] = ACTIONS(1351),
    [sym__custom_operator] = ACTIONS(1329),
    [sym__hash_symbol_custom] = ACTIONS(1371),
    [sym__directive_if] = ACTIONS(1355),
    [sym__directive_elseif] = ACTIONS(1355),
    [sym__directive_else] = ACTIONS(1357),
    [sym__directive_endif] = ACTIONS(1357),
  },
  [612] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1631),
    [sym_boolean_literal] = STATE(1631),
    [sym__string_literal] = STATE(1631),
    [sym_line_string_literal] = STATE(1631),
    [sym_multi_line_string_literal] = STATE(1631),
    [sym_raw_string_literal] = STATE(1631),
    [sym_regex_literal] = STATE(1631),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1631),
    [sym__unary_expression] = STATE(1631),
    [sym_postfix_expression] = STATE(1631),
    [sym_constructor_expression] = STATE(1631),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1631),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1631),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1631),
    [sym_prefix_expression] = STATE(1631),
    [sym_as_expression] = STATE(1631),
    [sym_selector_expression] = STATE(1631),
    [sym__binary_expression] = STATE(1631),
    [sym_multiplicative_expression] = STATE(1631),
    [sym_additive_expression] = STATE(1631),
    [sym_range_expression] = STATE(1631),
    [sym_infix_expression] = STATE(1631),
    [sym_nil_coalescing_expression] = STATE(1631),
    [sym_check_expression] = STATE(1631),
    [sym_comparison_expression] = STATE(1631),
    [sym_equality_expression] = STATE(1631),
    [sym_conjunction_expression] = STATE(1631),
    [sym_disjunction_expression] = STATE(1631),
    [sym_bitwise_operation] = STATE(1631),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1631),
    [sym_await_expression] = STATE(1631),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1631),
    [sym_call_expression] = STATE(1631),
    [sym_macro_invocation] = STATE(1631),
    [sym__primary_expression] = STATE(1631),
    [sym_tuple_expression] = STATE(1631),
    [sym_array_literal] = STATE(1631),
    [sym_dictionary_literal] = STATE(1631),
    [sym_special_literal] = STATE(1631),
    [sym_playground_literal] = STATE(1631),
    [sym_lambda_literal] = STATE(1631),
    [sym_self_expression] = STATE(1631),
    [sym_super_expression] = STATE(1631),
    [sym_if_statement] = STATE(1631),
    [sym_switch_statement] = STATE(1631),
    [sym_key_path_expression] = STATE(1631),
    [sym_key_path_string_expression] = STATE(1631),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1631),
    [sym__equality_operator] = STATE(1631),
    [sym__comparison_operator] = STATE(1631),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1631),
    [sym__multiplicative_operator] = STATE(1631),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1631),
    [sym_value_parameter_pack] = STATE(1631),
    [sym_value_pack_expansion] = STATE(1631),
    [sym__referenceable_operator] = STATE(1631),
    [sym__equal_sign] = STATE(1631),
    [sym__eq_eq] = STATE(1631),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1631),
    [sym_diagnostic] = STATE(1631),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2148),
    [sym_real_literal] = ACTIONS(2150),
    [sym_integer_literal] = ACTIONS(2148),
    [sym_hex_literal] = ACTIONS(2148),
    [sym_oct_literal] = ACTIONS(2150),
    [sym_bin_literal] = ACTIONS(2150),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2148),
    [anon_sym_GT] = ACTIONS(2148),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2150),
    [anon_sym_DASH_EQ] = ACTIONS(2150),
    [anon_sym_STAR_EQ] = ACTIONS(2150),
    [anon_sym_SLASH_EQ] = ACTIONS(2150),
    [anon_sym_PERCENT_EQ] = ACTIONS(2150),
    [anon_sym_BANG_EQ] = ACTIONS(2148),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2150),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2150),
    [anon_sym_LT_EQ] = ACTIONS(2150),
    [anon_sym_GT_EQ] = ACTIONS(2150),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2148),
    [anon_sym_SLASH] = ACTIONS(2148),
    [anon_sym_PERCENT] = ACTIONS(2148),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2150),
    [anon_sym_CARET] = ACTIONS(2148),
    [anon_sym_LT_LT] = ACTIONS(2150),
    [anon_sym_GT_GT] = ACTIONS(2150),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2150),
    [sym__eq_eq_custom] = ACTIONS(2150),
    [sym__plus_then_ws] = ACTIONS(2150),
    [sym__minus_then_ws] = ACTIONS(2150),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [613] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1651),
    [sym_boolean_literal] = STATE(1651),
    [sym__string_literal] = STATE(1651),
    [sym_line_string_literal] = STATE(1651),
    [sym_multi_line_string_literal] = STATE(1651),
    [sym_raw_string_literal] = STATE(1651),
    [sym_regex_literal] = STATE(1651),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1651),
    [sym__unary_expression] = STATE(1651),
    [sym_postfix_expression] = STATE(1651),
    [sym_constructor_expression] = STATE(1651),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1651),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1651),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1651),
    [sym_prefix_expression] = STATE(1651),
    [sym_as_expression] = STATE(1651),
    [sym_selector_expression] = STATE(1651),
    [sym__binary_expression] = STATE(1651),
    [sym_multiplicative_expression] = STATE(1651),
    [sym_additive_expression] = STATE(1651),
    [sym_range_expression] = STATE(1651),
    [sym_infix_expression] = STATE(1651),
    [sym_nil_coalescing_expression] = STATE(1651),
    [sym_check_expression] = STATE(1651),
    [sym_comparison_expression] = STATE(1651),
    [sym_equality_expression] = STATE(1651),
    [sym_conjunction_expression] = STATE(1651),
    [sym_disjunction_expression] = STATE(1651),
    [sym_bitwise_operation] = STATE(1651),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1651),
    [sym_await_expression] = STATE(1651),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1651),
    [sym_call_expression] = STATE(1651),
    [sym_macro_invocation] = STATE(1651),
    [sym__primary_expression] = STATE(1651),
    [sym_tuple_expression] = STATE(1651),
    [sym_array_literal] = STATE(1651),
    [sym_dictionary_literal] = STATE(1651),
    [sym_special_literal] = STATE(1651),
    [sym_playground_literal] = STATE(1651),
    [sym_lambda_literal] = STATE(1651),
    [sym_self_expression] = STATE(1651),
    [sym_super_expression] = STATE(1651),
    [sym_if_statement] = STATE(1651),
    [sym_switch_statement] = STATE(1651),
    [sym_key_path_expression] = STATE(1651),
    [sym_key_path_string_expression] = STATE(1651),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1651),
    [sym__equality_operator] = STATE(1651),
    [sym__comparison_operator] = STATE(1651),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1651),
    [sym__multiplicative_operator] = STATE(1651),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1651),
    [sym_value_parameter_pack] = STATE(1651),
    [sym_value_pack_expansion] = STATE(1651),
    [sym__referenceable_operator] = STATE(1651),
    [sym__equal_sign] = STATE(1651),
    [sym__eq_eq] = STATE(1651),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1651),
    [sym_diagnostic] = STATE(1651),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2152),
    [sym_real_literal] = ACTIONS(2154),
    [sym_integer_literal] = ACTIONS(2152),
    [sym_hex_literal] = ACTIONS(2152),
    [sym_oct_literal] = ACTIONS(2154),
    [sym_bin_literal] = ACTIONS(2154),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2152),
    [anon_sym_GT] = ACTIONS(2152),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2154),
    [anon_sym_DASH_EQ] = ACTIONS(2154),
    [anon_sym_STAR_EQ] = ACTIONS(2154),
    [anon_sym_SLASH_EQ] = ACTIONS(2154),
    [anon_sym_PERCENT_EQ] = ACTIONS(2154),
    [anon_sym_BANG_EQ] = ACTIONS(2152),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2154),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2154),
    [anon_sym_LT_EQ] = ACTIONS(2154),
    [anon_sym_GT_EQ] = ACTIONS(2154),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2152),
    [anon_sym_SLASH] = ACTIONS(2152),
    [anon_sym_PERCENT] = ACTIONS(2152),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2154),
    [anon_sym_CARET] = ACTIONS(2152),
    [anon_sym_LT_LT] = ACTIONS(2154),
    [anon_sym_GT_GT] = ACTIONS(2154),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2154),
    [sym__eq_eq_custom] = ACTIONS(2154),
    [sym__plus_then_ws] = ACTIONS(2154),
    [sym__minus_then_ws] = ACTIONS(2154),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [614] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1573),
    [sym_boolean_literal] = STATE(1573),
    [sym__string_literal] = STATE(1573),
    [sym_line_string_literal] = STATE(1573),
    [sym_multi_line_string_literal] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_regex_literal] = STATE(1573),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1573),
    [sym__unary_expression] = STATE(1573),
    [sym_postfix_expression] = STATE(1573),
    [sym_constructor_expression] = STATE(1573),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1573),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1573),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1573),
    [sym_prefix_expression] = STATE(1573),
    [sym_as_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym__binary_expression] = STATE(1573),
    [sym_multiplicative_expression] = STATE(1573),
    [sym_additive_expression] = STATE(1573),
    [sym_range_expression] = STATE(1573),
    [sym_infix_expression] = STATE(1573),
    [sym_nil_coalescing_expression] = STATE(1573),
    [sym_check_expression] = STATE(1573),
    [sym_comparison_expression] = STATE(1573),
    [sym_equality_expression] = STATE(1573),
    [sym_conjunction_expression] = STATE(1573),
    [sym_disjunction_expression] = STATE(1573),
    [sym_bitwise_operation] = STATE(1573),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1573),
    [sym_await_expression] = STATE(1573),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_macro_invocation] = STATE(1573),
    [sym__primary_expression] = STATE(1573),
    [sym_tuple_expression] = STATE(1573),
    [sym_array_literal] = STATE(1573),
    [sym_dictionary_literal] = STATE(1573),
    [sym_special_literal] = STATE(1573),
    [sym_playground_literal] = STATE(1573),
    [sym_lambda_literal] = STATE(1573),
    [sym_self_expression] = STATE(1573),
    [sym_super_expression] = STATE(1573),
    [sym_if_statement] = STATE(1573),
    [sym_switch_statement] = STATE(1573),
    [sym_key_path_expression] = STATE(1573),
    [sym_key_path_string_expression] = STATE(1573),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1573),
    [sym__equality_operator] = STATE(1573),
    [sym__comparison_operator] = STATE(1573),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1573),
    [sym__multiplicative_operator] = STATE(1573),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1573),
    [sym_value_parameter_pack] = STATE(1573),
    [sym_value_pack_expansion] = STATE(1573),
    [sym__referenceable_operator] = STATE(1573),
    [sym__equal_sign] = STATE(1573),
    [sym__eq_eq] = STATE(1573),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1573),
    [sym_diagnostic] = STATE(1573),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2156),
    [sym_real_literal] = ACTIONS(2158),
    [sym_integer_literal] = ACTIONS(2156),
    [sym_hex_literal] = ACTIONS(2156),
    [sym_oct_literal] = ACTIONS(2158),
    [sym_bin_literal] = ACTIONS(2158),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2156),
    [anon_sym_GT] = ACTIONS(2156),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2158),
    [anon_sym_DASH_EQ] = ACTIONS(2158),
    [anon_sym_STAR_EQ] = ACTIONS(2158),
    [anon_sym_SLASH_EQ] = ACTIONS(2158),
    [anon_sym_PERCENT_EQ] = ACTIONS(2158),
    [anon_sym_BANG_EQ] = ACTIONS(2156),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2158),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2158),
    [anon_sym_LT_EQ] = ACTIONS(2158),
    [anon_sym_GT_EQ] = ACTIONS(2158),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2156),
    [anon_sym_SLASH] = ACTIONS(2156),
    [anon_sym_PERCENT] = ACTIONS(2156),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2158),
    [anon_sym_CARET] = ACTIONS(2156),
    [anon_sym_LT_LT] = ACTIONS(2158),
    [anon_sym_GT_GT] = ACTIONS(2158),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2158),
    [sym__eq_eq_custom] = ACTIONS(2158),
    [sym__plus_then_ws] = ACTIONS(2158),
    [sym__minus_then_ws] = ACTIONS(2158),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [615] = {
    [sym_simple_identifier] = STATE(2331),
    [sym__contextual_simple_identifier] = STATE(2240),
    [sym__basic_literal] = STATE(1462),
    [sym_boolean_literal] = STATE(1462),
    [sym__string_literal] = STATE(1462),
    [sym_line_string_literal] = STATE(1462),
    [sym_multi_line_string_literal] = STATE(1462),
    [sym_raw_string_literal] = STATE(1462),
    [sym_regex_literal] = STATE(1462),
    [sym__extended_regex_literal] = STATE(2556),
    [sym__multiline_regex_literal] = STATE(2556),
    [sym_user_type] = STATE(6440),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6440),
    [sym_dictionary_type] = STATE(6440),
    [sym__expression] = STATE(1462),
    [sym__unary_expression] = STATE(1462),
    [sym_postfix_expression] = STATE(1462),
    [sym_constructor_expression] = STATE(1462),
    [sym__parenthesized_type] = STATE(7995),
    [sym_navigation_expression] = STATE(1462),
    [sym__navigable_type_expression] = STATE(8059),
    [sym_open_start_range_expression] = STATE(1462),
    [sym__range_operator] = STATE(576),
    [sym_open_end_range_expression] = STATE(1462),
    [sym_prefix_expression] = STATE(1462),
    [sym_as_expression] = STATE(1462),
    [sym_selector_expression] = STATE(1462),
    [sym__binary_expression] = STATE(1462),
    [sym_multiplicative_expression] = STATE(1462),
    [sym_additive_expression] = STATE(1462),
    [sym_range_expression] = STATE(1462),
    [sym_infix_expression] = STATE(1462),
    [sym_nil_coalescing_expression] = STATE(1462),
    [sym_check_expression] = STATE(1462),
    [sym_comparison_expression] = STATE(1462),
    [sym_equality_expression] = STATE(1462),
    [sym_conjunction_expression] = STATE(1462),
    [sym_disjunction_expression] = STATE(1462),
    [sym_bitwise_operation] = STATE(1462),
    [sym_custom_operator] = STATE(1097),
    [sym_try_expression] = STATE(1462),
    [sym_await_expression] = STATE(1462),
    [sym__await_operator] = STATE(575),
    [sym_ternary_expression] = STATE(1462),
    [sym_call_expression] = STATE(1462),
    [sym_macro_invocation] = STATE(1462),
    [sym__primary_expression] = STATE(1462),
    [sym_tuple_expression] = STATE(1462),
    [sym_array_literal] = STATE(1462),
    [sym_dictionary_literal] = STATE(1462),
    [sym_special_literal] = STATE(1462),
    [sym_playground_literal] = STATE(1462),
    [sym_lambda_literal] = STATE(1462),
    [sym_self_expression] = STATE(1462),
    [sym_super_expression] = STATE(1462),
    [sym_if_statement] = STATE(1462),
    [sym_switch_statement] = STATE(1462),
    [sym_key_path_expression] = STATE(1462),
    [sym_key_path_string_expression] = STATE(1462),
    [sym_try_operator] = STATE(648),
    [sym__assignment_and_operator] = STATE(1462),
    [sym__equality_operator] = STATE(1462),
    [sym__comparison_operator] = STATE(1462),
    [sym__three_dot_operator] = STATE(1089),
    [sym__open_ended_range_operator] = STATE(576),
    [sym__additive_operator] = STATE(1462),
    [sym__multiplicative_operator] = STATE(1462),
    [sym__prefix_unary_operator] = STATE(711),
    [sym_directly_assignable_expression] = STATE(6442),
    [sym_assignment] = STATE(1462),
    [sym_value_parameter_pack] = STATE(1462),
    [sym_value_pack_expansion] = STATE(1462),
    [sym__referenceable_operator] = STATE(1462),
    [sym__equal_sign] = STATE(1462),
    [sym__eq_eq] = STATE(1462),
    [sym__dot] = STATE(711),
    [sym__hash_symbol] = STATE(4850),
    [sym_bang] = STATE(1097),
    [sym__parameter_ownership_modifier] = STATE(2240),
    [sym_directive] = STATE(1462),
    [sym_diagnostic] = STATE(1462),
    [aux_sym_raw_string_literal_repeat1] = STATE(7884),
    [anon_sym_BANG] = ACTIONS(969),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(971),
    [aux_sym_simple_identifier_token2] = ACTIONS(973),
    [aux_sym_simple_identifier_token3] = ACTIONS(973),
    [aux_sym_simple_identifier_token4] = ACTIONS(973),
    [anon_sym_actor] = ACTIONS(971),
    [anon_sym_async] = ACTIONS(971),
    [anon_sym_each] = ACTIONS(975),
    [anon_sym_lazy] = ACTIONS(971),
    [anon_sym_repeat] = ACTIONS(977),
    [anon_sym_package] = ACTIONS(971),
    [anon_sym_nil] = ACTIONS(2160),
    [sym_real_literal] = ACTIONS(2162),
    [sym_integer_literal] = ACTIONS(2160),
    [sym_hex_literal] = ACTIONS(2160),
    [sym_oct_literal] = ACTIONS(2162),
    [sym_bin_literal] = ACTIONS(2162),
    [anon_sym_true] = ACTIONS(983),
    [anon_sym_false] = ACTIONS(983),
    [anon_sym_DQUOTE] = ACTIONS(985),
    [anon_sym_BSLASH] = ACTIONS(987),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(989),
    [sym__oneline_regex_literal] = ACTIONS(991),
    [anon_sym_LPAREN] = ACTIONS(993),
    [anon_sym_LBRACK] = ACTIONS(995),
    [anon_sym_AMP] = ACTIONS(997),
    [anon_sym_TILDE] = ACTIONS(997),
    [anon_sym_if] = ACTIONS(999),
    [anon_sym_switch] = ACTIONS(1001),
    [aux_sym_custom_operator_token1] = ACTIONS(1003),
    [anon_sym_LT] = ACTIONS(2160),
    [anon_sym_GT] = ACTIONS(2160),
    [anon_sym_await] = ACTIONS(1005),
    [anon_sym_LBRACE] = ACTIONS(1007),
    [anon_sym_CARET_LBRACE] = ACTIONS(1007),
    [anon_sym_self] = ACTIONS(1009),
    [anon_sym_super] = ACTIONS(1011),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2162),
    [anon_sym_DASH_EQ] = ACTIONS(2162),
    [anon_sym_STAR_EQ] = ACTIONS(2162),
    [anon_sym_SLASH_EQ] = ACTIONS(2162),
    [anon_sym_PERCENT_EQ] = ACTIONS(2162),
    [anon_sym_BANG_EQ] = ACTIONS(2160),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2162),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2162),
    [anon_sym_LT_EQ] = ACTIONS(2162),
    [anon_sym_GT_EQ] = ACTIONS(2162),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1013),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1015),
    [anon_sym_PLUS] = ACTIONS(1017),
    [anon_sym_DASH] = ACTIONS(1017),
    [anon_sym_STAR] = ACTIONS(2160),
    [anon_sym_SLASH] = ACTIONS(2160),
    [anon_sym_PERCENT] = ACTIONS(2160),
    [anon_sym_PLUS_PLUS] = ACTIONS(997),
    [anon_sym_DASH_DASH] = ACTIONS(997),
    [anon_sym_PIPE] = ACTIONS(2162),
    [anon_sym_CARET] = ACTIONS(2160),
    [anon_sym_LT_LT] = ACTIONS(2162),
    [anon_sym_GT_GT] = ACTIONS(2162),
    [anon_sym_borrowing] = ACTIONS(971),
    [anon_sym_consuming] = ACTIONS(971),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1019),
    [sym__dot_custom] = ACTIONS(1021),
    [sym__eq_custom] = ACTIONS(2162),
    [sym__eq_eq_custom] = ACTIONS(2162),
    [sym__plus_then_ws] = ACTIONS(2162),
    [sym__minus_then_ws] = ACTIONS(2162),
    [sym__bang_custom] = ACTIONS(1023),
    [sym__custom_operator] = ACTIONS(1003),
    [sym__hash_symbol_custom] = ACTIONS(1025),
    [sym__directive_if] = ACTIONS(1027),
    [sym__directive_elseif] = ACTIONS(1027),
    [sym__directive_else] = ACTIONS(1029),
    [sym__directive_endif] = ACTIONS(1029),
  },
  [616] = {
    [sym_simple_identifier] = STATE(3023),
    [sym__contextual_simple_identifier] = STATE(2652),
    [sym__basic_literal] = STATE(1568),
    [sym_boolean_literal] = STATE(1568),
    [sym__string_literal] = STATE(1568),
    [sym_line_string_literal] = STATE(1568),
    [sym_multi_line_string_literal] = STATE(1568),
    [sym_raw_string_literal] = STATE(1568),
    [sym_regex_literal] = STATE(1568),
    [sym__extended_regex_literal] = STATE(3428),
    [sym__multiline_regex_literal] = STATE(3428),
    [sym_user_type] = STATE(6368),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6368),
    [sym_dictionary_type] = STATE(6368),
    [sym__expression] = STATE(1568),
    [sym__unary_expression] = STATE(1568),
    [sym_postfix_expression] = STATE(1568),
    [sym_constructor_expression] = STATE(1568),
    [sym__parenthesized_type] = STATE(8119),
    [sym_navigation_expression] = STATE(1568),
    [sym__navigable_type_expression] = STATE(8122),
    [sym_open_start_range_expression] = STATE(1568),
    [sym__range_operator] = STATE(604),
    [sym_open_end_range_expression] = STATE(1568),
    [sym_prefix_expression] = STATE(1568),
    [sym_as_expression] = STATE(1568),
    [sym_selector_expression] = STATE(1568),
    [sym__binary_expression] = STATE(1568),
    [sym_multiplicative_expression] = STATE(1568),
    [sym_additive_expression] = STATE(1568),
    [sym_range_expression] = STATE(1568),
    [sym_infix_expression] = STATE(1568),
    [sym_nil_coalescing_expression] = STATE(1568),
    [sym_check_expression] = STATE(1568),
    [sym_comparison_expression] = STATE(1568),
    [sym_equality_expression] = STATE(1568),
    [sym_conjunction_expression] = STATE(1568),
    [sym_disjunction_expression] = STATE(1568),
    [sym_bitwise_operation] = STATE(1568),
    [sym_custom_operator] = STATE(1207),
    [sym_try_expression] = STATE(1568),
    [sym_await_expression] = STATE(1568),
    [sym__await_operator] = STATE(605),
    [sym_ternary_expression] = STATE(1568),
    [sym_call_expression] = STATE(1568),
    [sym_macro_invocation] = STATE(1568),
    [sym__primary_expression] = STATE(1568),
    [sym_tuple_expression] = STATE(1568),
    [sym_array_literal] = STATE(1568),
    [sym_dictionary_literal] = STATE(1568),
    [sym_special_literal] = STATE(1568),
    [sym_playground_literal] = STATE(1568),
    [sym_lambda_literal] = STATE(1568),
    [sym_self_expression] = STATE(1568),
    [sym_super_expression] = STATE(1568),
    [sym_if_statement] = STATE(1568),
    [sym_switch_statement] = STATE(1568),
    [sym_key_path_expression] = STATE(1568),
    [sym_key_path_string_expression] = STATE(1568),
    [sym_try_operator] = STATE(606),
    [sym__assignment_and_operator] = STATE(1568),
    [sym__equality_operator] = STATE(1568),
    [sym__comparison_operator] = STATE(1568),
    [sym__three_dot_operator] = STATE(1208),
    [sym__open_ended_range_operator] = STATE(604),
    [sym__additive_operator] = STATE(1568),
    [sym__multiplicative_operator] = STATE(1568),
    [sym__prefix_unary_operator] = STATE(616),
    [sym_directly_assignable_expression] = STATE(6371),
    [sym_assignment] = STATE(1568),
    [sym_value_parameter_pack] = STATE(1568),
    [sym_value_pack_expansion] = STATE(1568),
    [sym__referenceable_operator] = STATE(1568),
    [sym__equal_sign] = STATE(1568),
    [sym__eq_eq] = STATE(1568),
    [sym__dot] = STATE(616),
    [sym__hash_symbol] = STATE(4844),
    [sym_bang] = STATE(1207),
    [sym__parameter_ownership_modifier] = STATE(2652),
    [sym_directive] = STATE(1568),
    [sym_diagnostic] = STATE(1568),
    [aux_sym_raw_string_literal_repeat1] = STATE(8127),
    [anon_sym_BANG] = ACTIONS(1195),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1197),
    [aux_sym_simple_identifier_token2] = ACTIONS(1199),
    [aux_sym_simple_identifier_token3] = ACTIONS(1199),
    [aux_sym_simple_identifier_token4] = ACTIONS(1199),
    [anon_sym_actor] = ACTIONS(1197),
    [anon_sym_async] = ACTIONS(2164),
    [anon_sym_each] = ACTIONS(1201),
    [anon_sym_lazy] = ACTIONS(1197),
    [anon_sym_repeat] = ACTIONS(1203),
    [anon_sym_package] = ACTIONS(1197),
    [anon_sym_nil] = ACTIONS(2166),
    [sym_real_literal] = ACTIONS(2168),
    [sym_integer_literal] = ACTIONS(2166),
    [sym_hex_literal] = ACTIONS(2166),
    [sym_oct_literal] = ACTIONS(2168),
    [sym_bin_literal] = ACTIONS(2168),
    [anon_sym_true] = ACTIONS(1209),
    [anon_sym_false] = ACTIONS(1209),
    [anon_sym_DQUOTE] = ACTIONS(1211),
    [anon_sym_BSLASH] = ACTIONS(1213),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1215),
    [sym__oneline_regex_literal] = ACTIONS(1217),
    [anon_sym_LPAREN] = ACTIONS(1219),
    [anon_sym_LBRACK] = ACTIONS(1221),
    [anon_sym_AMP] = ACTIONS(1223),
    [anon_sym_TILDE] = ACTIONS(1223),
    [anon_sym_if] = ACTIONS(2170),
    [anon_sym_switch] = ACTIONS(2172),
    [aux_sym_custom_operator_token1] = ACTIONS(1229),
    [anon_sym_LT] = ACTIONS(2166),
    [anon_sym_GT] = ACTIONS(2166),
    [anon_sym_await] = ACTIONS(1231),
    [anon_sym_LBRACE] = ACTIONS(1233),
    [anon_sym_CARET_LBRACE] = ACTIONS(1233),
    [anon_sym_self] = ACTIONS(1235),
    [anon_sym_super] = ACTIONS(1237),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2168),
    [anon_sym_DASH_EQ] = ACTIONS(2168),
    [anon_sym_STAR_EQ] = ACTIONS(2168),
    [anon_sym_SLASH_EQ] = ACTIONS(2168),
    [anon_sym_PERCENT_EQ] = ACTIONS(2168),
    [anon_sym_BANG_EQ] = ACTIONS(2166),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2168),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2168),
    [anon_sym_LT_EQ] = ACTIONS(2168),
    [anon_sym_GT_EQ] = ACTIONS(2168),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1241),
    [anon_sym_PLUS] = ACTIONS(1243),
    [anon_sym_DASH] = ACTIONS(1243),
    [anon_sym_STAR] = ACTIONS(2166),
    [anon_sym_SLASH] = ACTIONS(2166),
    [anon_sym_PERCENT] = ACTIONS(2166),
    [anon_sym_PLUS_PLUS] = ACTIONS(1223),
    [anon_sym_DASH_DASH] = ACTIONS(1223),
    [anon_sym_PIPE] = ACTIONS(2168),
    [anon_sym_CARET] = ACTIONS(2166),
    [anon_sym_LT_LT] = ACTIONS(2168),
    [anon_sym_GT_GT] = ACTIONS(2168),
    [anon_sym_borrowing] = ACTIONS(1197),
    [anon_sym_consuming] = ACTIONS(1197),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1245),
    [sym__dot_custom] = ACTIONS(1247),
    [sym__eq_custom] = ACTIONS(2168),
    [sym__eq_eq_custom] = ACTIONS(2168),
    [sym__plus_then_ws] = ACTIONS(2168),
    [sym__minus_then_ws] = ACTIONS(2168),
    [sym__bang_custom] = ACTIONS(1249),
    [sym__custom_operator] = ACTIONS(1229),
    [sym__hash_symbol_custom] = ACTIONS(1251),
    [sym__directive_if] = ACTIONS(1253),
    [sym__directive_elseif] = ACTIONS(1253),
    [sym__directive_else] = ACTIONS(1255),
    [sym__directive_endif] = ACTIONS(1255),
  },
  [617] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1541),
    [sym_boolean_literal] = STATE(1541),
    [sym__string_literal] = STATE(1541),
    [sym_line_string_literal] = STATE(1541),
    [sym_multi_line_string_literal] = STATE(1541),
    [sym_raw_string_literal] = STATE(1541),
    [sym_regex_literal] = STATE(1541),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1541),
    [sym__unary_expression] = STATE(1541),
    [sym_postfix_expression] = STATE(1541),
    [sym_constructor_expression] = STATE(1541),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1541),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1541),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1541),
    [sym_prefix_expression] = STATE(1541),
    [sym_as_expression] = STATE(1541),
    [sym_selector_expression] = STATE(1541),
    [sym__binary_expression] = STATE(1541),
    [sym_multiplicative_expression] = STATE(1541),
    [sym_additive_expression] = STATE(1541),
    [sym_range_expression] = STATE(1541),
    [sym_infix_expression] = STATE(1541),
    [sym_nil_coalescing_expression] = STATE(1541),
    [sym_check_expression] = STATE(1541),
    [sym_comparison_expression] = STATE(1541),
    [sym_equality_expression] = STATE(1541),
    [sym_conjunction_expression] = STATE(1541),
    [sym_disjunction_expression] = STATE(1541),
    [sym_bitwise_operation] = STATE(1541),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1541),
    [sym_await_expression] = STATE(1541),
    [sym__await_operator] = STATE(712),
    [sym_ternary_expression] = STATE(1541),
    [sym_call_expression] = STATE(1541),
    [sym_macro_invocation] = STATE(1541),
    [sym__primary_expression] = STATE(1541),
    [sym_tuple_expression] = STATE(1541),
    [sym_array_literal] = STATE(1541),
    [sym_dictionary_literal] = STATE(1541),
    [sym_special_literal] = STATE(1541),
    [sym_playground_literal] = STATE(1541),
    [sym_lambda_literal] = STATE(1541),
    [sym_self_expression] = STATE(1541),
    [sym_super_expression] = STATE(1541),
    [sym_if_statement] = STATE(1541),
    [sym_switch_statement] = STATE(1541),
    [sym_key_path_expression] = STATE(1541),
    [sym_key_path_string_expression] = STATE(1541),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1541),
    [sym__equality_operator] = STATE(1541),
    [sym__comparison_operator] = STATE(1541),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1541),
    [sym__multiplicative_operator] = STATE(1541),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym_assignment] = STATE(1541),
    [sym_value_parameter_pack] = STATE(1541),
    [sym_value_pack_expansion] = STATE(1541),
    [sym__referenceable_operator] = STATE(1541),
    [sym__equal_sign] = STATE(1541),
    [sym__eq_eq] = STATE(1541),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1541),
    [sym_diagnostic] = STATE(1541),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(2174),
    [sym_real_literal] = ACTIONS(2176),
    [sym_integer_literal] = ACTIONS(2174),
    [sym_hex_literal] = ACTIONS(2174),
    [sym_oct_literal] = ACTIONS(2176),
    [sym_bin_literal] = ACTIONS(2176),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(2174),
    [anon_sym_GT] = ACTIONS(2174),
    [anon_sym_await] = ACTIONS(1067),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2176),
    [anon_sym_DASH_EQ] = ACTIONS(2176),
    [anon_sym_STAR_EQ] = ACTIONS(2176),
    [anon_sym_SLASH_EQ] = ACTIONS(2176),
    [anon_sym_PERCENT_EQ] = ACTIONS(2176),
    [anon_sym_BANG_EQ] = ACTIONS(2174),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2176),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2176),
    [anon_sym_LT_EQ] = ACTIONS(2176),
    [anon_sym_GT_EQ] = ACTIONS(2176),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(2174),
    [anon_sym_SLASH] = ACTIONS(2174),
    [anon_sym_PERCENT] = ACTIONS(2174),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(2176),
    [anon_sym_CARET] = ACTIONS(2174),
    [anon_sym_LT_LT] = ACTIONS(2176),
    [anon_sym_GT_GT] = ACTIONS(2176),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(2176),
    [sym__eq_eq_custom] = ACTIONS(2176),
    [sym__plus_then_ws] = ACTIONS(2176),
    [sym__minus_then_ws] = ACTIONS(2176),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [618] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1577),
    [sym_boolean_literal] = STATE(1577),
    [sym__string_literal] = STATE(1577),
    [sym_line_string_literal] = STATE(1577),
    [sym_multi_line_string_literal] = STATE(1577),
    [sym_raw_string_literal] = STATE(1577),
    [sym_regex_literal] = STATE(1577),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1577),
    [sym__unary_expression] = STATE(1577),
    [sym_postfix_expression] = STATE(1577),
    [sym_constructor_expression] = STATE(1577),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1577),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1577),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1577),
    [sym_prefix_expression] = STATE(1577),
    [sym_as_expression] = STATE(1577),
    [sym_selector_expression] = STATE(1577),
    [sym__binary_expression] = STATE(1577),
    [sym_multiplicative_expression] = STATE(1577),
    [sym_additive_expression] = STATE(1577),
    [sym_range_expression] = STATE(1577),
    [sym_infix_expression] = STATE(1577),
    [sym_nil_coalescing_expression] = STATE(1577),
    [sym_check_expression] = STATE(1577),
    [sym_comparison_expression] = STATE(1577),
    [sym_equality_expression] = STATE(1577),
    [sym_conjunction_expression] = STATE(1577),
    [sym_disjunction_expression] = STATE(1577),
    [sym_bitwise_operation] = STATE(1577),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1577),
    [sym_await_expression] = STATE(1577),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1577),
    [sym_call_expression] = STATE(1577),
    [sym_macro_invocation] = STATE(1577),
    [sym__primary_expression] = STATE(1577),
    [sym_tuple_expression] = STATE(1577),
    [sym_array_literal] = STATE(1577),
    [sym_dictionary_literal] = STATE(1577),
    [sym_special_literal] = STATE(1577),
    [sym_playground_literal] = STATE(1577),
    [sym_lambda_literal] = STATE(1577),
    [sym_self_expression] = STATE(1577),
    [sym_super_expression] = STATE(1577),
    [sym_if_statement] = STATE(1577),
    [sym_switch_statement] = STATE(1577),
    [sym_key_path_expression] = STATE(1577),
    [sym_key_path_string_expression] = STATE(1577),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1577),
    [sym__equality_operator] = STATE(1577),
    [sym__comparison_operator] = STATE(1577),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1577),
    [sym__multiplicative_operator] = STATE(1577),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1577),
    [sym_value_parameter_pack] = STATE(1577),
    [sym_value_pack_expansion] = STATE(1577),
    [sym__referenceable_operator] = STATE(1577),
    [sym__equal_sign] = STATE(1577),
    [sym__eq_eq] = STATE(1577),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1577),
    [sym_diagnostic] = STATE(1577),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2178),
    [sym_real_literal] = ACTIONS(2180),
    [sym_integer_literal] = ACTIONS(2178),
    [sym_hex_literal] = ACTIONS(2178),
    [sym_oct_literal] = ACTIONS(2180),
    [sym_bin_literal] = ACTIONS(2180),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2178),
    [anon_sym_GT] = ACTIONS(2178),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2180),
    [anon_sym_DASH_EQ] = ACTIONS(2180),
    [anon_sym_STAR_EQ] = ACTIONS(2180),
    [anon_sym_SLASH_EQ] = ACTIONS(2180),
    [anon_sym_PERCENT_EQ] = ACTIONS(2180),
    [anon_sym_BANG_EQ] = ACTIONS(2178),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2180),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2180),
    [anon_sym_LT_EQ] = ACTIONS(2180),
    [anon_sym_GT_EQ] = ACTIONS(2180),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2178),
    [anon_sym_SLASH] = ACTIONS(2178),
    [anon_sym_PERCENT] = ACTIONS(2178),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2180),
    [anon_sym_CARET] = ACTIONS(2178),
    [anon_sym_LT_LT] = ACTIONS(2180),
    [anon_sym_GT_GT] = ACTIONS(2180),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2180),
    [sym__eq_eq_custom] = ACTIONS(2180),
    [sym__plus_then_ws] = ACTIONS(2180),
    [sym__minus_then_ws] = ACTIONS(2180),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [619] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(781),
    [sym_boolean_literal] = STATE(781),
    [sym__string_literal] = STATE(781),
    [sym_line_string_literal] = STATE(781),
    [sym_multi_line_string_literal] = STATE(781),
    [sym_raw_string_literal] = STATE(781),
    [sym_regex_literal] = STATE(781),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(781),
    [sym__unary_expression] = STATE(781),
    [sym_postfix_expression] = STATE(781),
    [sym_constructor_expression] = STATE(781),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(781),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(781),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(781),
    [sym_prefix_expression] = STATE(781),
    [sym_as_expression] = STATE(781),
    [sym_selector_expression] = STATE(781),
    [sym__binary_expression] = STATE(781),
    [sym_multiplicative_expression] = STATE(781),
    [sym_additive_expression] = STATE(781),
    [sym_range_expression] = STATE(781),
    [sym_infix_expression] = STATE(781),
    [sym_nil_coalescing_expression] = STATE(781),
    [sym_check_expression] = STATE(781),
    [sym_comparison_expression] = STATE(781),
    [sym_equality_expression] = STATE(781),
    [sym_conjunction_expression] = STATE(781),
    [sym_disjunction_expression] = STATE(781),
    [sym_bitwise_operation] = STATE(781),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(781),
    [sym_await_expression] = STATE(781),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(781),
    [sym_call_expression] = STATE(781),
    [sym_macro_invocation] = STATE(781),
    [sym__primary_expression] = STATE(781),
    [sym_tuple_expression] = STATE(781),
    [sym_array_literal] = STATE(781),
    [sym_dictionary_literal] = STATE(781),
    [sym_special_literal] = STATE(781),
    [sym_playground_literal] = STATE(781),
    [sym_lambda_literal] = STATE(781),
    [sym_self_expression] = STATE(781),
    [sym_super_expression] = STATE(781),
    [sym_if_statement] = STATE(781),
    [sym_switch_statement] = STATE(781),
    [sym_key_path_expression] = STATE(781),
    [sym_key_path_string_expression] = STATE(781),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(781),
    [sym__equality_operator] = STATE(781),
    [sym__comparison_operator] = STATE(781),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(781),
    [sym__multiplicative_operator] = STATE(781),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_assignment] = STATE(781),
    [sym_value_parameter_pack] = STATE(781),
    [sym_value_pack_expansion] = STATE(781),
    [sym__referenceable_operator] = STATE(781),
    [sym__equal_sign] = STATE(781),
    [sym__eq_eq] = STATE(781),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(781),
    [sym_diagnostic] = STATE(781),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(289),
    [anon_sym_async] = ACTIONS(289),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(289),
    [anon_sym_repeat] = ACTIONS(733),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(2182),
    [sym_real_literal] = ACTIONS(2184),
    [sym_integer_literal] = ACTIONS(2182),
    [sym_hex_literal] = ACTIONS(2182),
    [sym_oct_literal] = ACTIONS(2184),
    [sym_bin_literal] = ACTIONS(2184),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(2182),
    [anon_sym_GT] = ACTIONS(2182),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2184),
    [anon_sym_DASH_EQ] = ACTIONS(2184),
    [anon_sym_STAR_EQ] = ACTIONS(2184),
    [anon_sym_SLASH_EQ] = ACTIONS(2184),
    [anon_sym_PERCENT_EQ] = ACTIONS(2184),
    [anon_sym_BANG_EQ] = ACTIONS(2182),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2184),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2184),
    [anon_sym_LT_EQ] = ACTIONS(2184),
    [anon_sym_GT_EQ] = ACTIONS(2184),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(2182),
    [anon_sym_SLASH] = ACTIONS(2182),
    [anon_sym_PERCENT] = ACTIONS(2182),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(2184),
    [anon_sym_CARET] = ACTIONS(2182),
    [anon_sym_LT_LT] = ACTIONS(2184),
    [anon_sym_GT_GT] = ACTIONS(2184),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(2184),
    [sym__eq_eq_custom] = ACTIONS(2184),
    [sym__plus_then_ws] = ACTIONS(2184),
    [sym__minus_then_ws] = ACTIONS(2184),
    [sym__bang_custom] = ACTIONS(373),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [620] = {
    [sym_simple_identifier] = STATE(3108),
    [sym__contextual_simple_identifier] = STATE(2967),
    [sym__basic_literal] = STATE(1594),
    [sym_boolean_literal] = STATE(1594),
    [sym__string_literal] = STATE(1594),
    [sym_line_string_literal] = STATE(1594),
    [sym_multi_line_string_literal] = STATE(1594),
    [sym_raw_string_literal] = STATE(1594),
    [sym_regex_literal] = STATE(1594),
    [sym__extended_regex_literal] = STATE(3663),
    [sym__multiline_regex_literal] = STATE(3663),
    [sym_user_type] = STATE(6406),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6406),
    [sym_dictionary_type] = STATE(6406),
    [sym__expression] = STATE(1594),
    [sym__unary_expression] = STATE(1594),
    [sym_postfix_expression] = STATE(1594),
    [sym_constructor_expression] = STATE(1594),
    [sym__parenthesized_type] = STATE(7557),
    [sym_navigation_expression] = STATE(1594),
    [sym__navigable_type_expression] = STATE(7558),
    [sym_open_start_range_expression] = STATE(1594),
    [sym__range_operator] = STATE(592),
    [sym_open_end_range_expression] = STATE(1594),
    [sym_prefix_expression] = STATE(1594),
    [sym_as_expression] = STATE(1594),
    [sym_selector_expression] = STATE(1594),
    [sym__binary_expression] = STATE(1594),
    [sym_multiplicative_expression] = STATE(1594),
    [sym_additive_expression] = STATE(1594),
    [sym_range_expression] = STATE(1594),
    [sym_infix_expression] = STATE(1594),
    [sym_nil_coalescing_expression] = STATE(1594),
    [sym_check_expression] = STATE(1594),
    [sym_comparison_expression] = STATE(1594),
    [sym_equality_expression] = STATE(1594),
    [sym_conjunction_expression] = STATE(1594),
    [sym_disjunction_expression] = STATE(1594),
    [sym_bitwise_operation] = STATE(1594),
    [sym_custom_operator] = STATE(1288),
    [sym_try_expression] = STATE(1594),
    [sym_await_expression] = STATE(1594),
    [sym__await_operator] = STATE(595),
    [sym_ternary_expression] = STATE(1594),
    [sym_call_expression] = STATE(1594),
    [sym_macro_invocation] = STATE(1594),
    [sym__primary_expression] = STATE(1594),
    [sym_tuple_expression] = STATE(1594),
    [sym_array_literal] = STATE(1594),
    [sym_dictionary_literal] = STATE(1594),
    [sym_special_literal] = STATE(1594),
    [sym_playground_literal] = STATE(1594),
    [sym_lambda_literal] = STATE(1594),
    [sym_self_expression] = STATE(1594),
    [sym_super_expression] = STATE(1594),
    [sym_if_statement] = STATE(1594),
    [sym_switch_statement] = STATE(1594),
    [sym_key_path_expression] = STATE(1594),
    [sym_key_path_string_expression] = STATE(1594),
    [sym_try_operator] = STATE(611),
    [sym__assignment_and_operator] = STATE(1594),
    [sym__equality_operator] = STATE(1594),
    [sym__comparison_operator] = STATE(1594),
    [sym__three_dot_operator] = STATE(1257),
    [sym__open_ended_range_operator] = STATE(592),
    [sym__additive_operator] = STATE(1594),
    [sym__multiplicative_operator] = STATE(1594),
    [sym__prefix_unary_operator] = STATE(620),
    [sym_directly_assignable_expression] = STATE(6409),
    [sym_assignment] = STATE(1594),
    [sym_value_parameter_pack] = STATE(1594),
    [sym_value_pack_expansion] = STATE(1594),
    [sym__referenceable_operator] = STATE(1594),
    [sym__equal_sign] = STATE(1594),
    [sym__eq_eq] = STATE(1594),
    [sym__dot] = STATE(620),
    [sym__hash_symbol] = STATE(4853),
    [sym_bang] = STATE(1288),
    [sym__parameter_ownership_modifier] = STATE(2967),
    [sym_directive] = STATE(1594),
    [sym_diagnostic] = STATE(1594),
    [aux_sym_raw_string_literal_repeat1] = STATE(7564),
    [anon_sym_BANG] = ACTIONS(1293),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1295),
    [aux_sym_simple_identifier_token2] = ACTIONS(1297),
    [aux_sym_simple_identifier_token3] = ACTIONS(1297),
    [aux_sym_simple_identifier_token4] = ACTIONS(1297),
    [anon_sym_actor] = ACTIONS(1295),
    [anon_sym_async] = ACTIONS(2186),
    [anon_sym_each] = ACTIONS(1301),
    [anon_sym_lazy] = ACTIONS(1295),
    [anon_sym_repeat] = ACTIONS(1303),
    [anon_sym_package] = ACTIONS(1295),
    [anon_sym_nil] = ACTIONS(2188),
    [sym_real_literal] = ACTIONS(2190),
    [sym_integer_literal] = ACTIONS(2188),
    [sym_hex_literal] = ACTIONS(2188),
    [sym_oct_literal] = ACTIONS(2190),
    [sym_bin_literal] = ACTIONS(2190),
    [anon_sym_true] = ACTIONS(1309),
    [anon_sym_false] = ACTIONS(1309),
    [anon_sym_DQUOTE] = ACTIONS(1311),
    [anon_sym_BSLASH] = ACTIONS(1313),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1315),
    [sym__oneline_regex_literal] = ACTIONS(1317),
    [anon_sym_LPAREN] = ACTIONS(1319),
    [anon_sym_LBRACK] = ACTIONS(1321),
    [anon_sym_AMP] = ACTIONS(1323),
    [anon_sym_TILDE] = ACTIONS(1323),
    [anon_sym_if] = ACTIONS(2192),
    [anon_sym_switch] = ACTIONS(2194),
    [aux_sym_custom_operator_token1] = ACTIONS(1329),
    [anon_sym_LT] = ACTIONS(2188),
    [anon_sym_GT] = ACTIONS(2188),
    [anon_sym_await] = ACTIONS(1331),
    [anon_sym_LBRACE] = ACTIONS(1333),
    [anon_sym_CARET_LBRACE] = ACTIONS(1333),
    [anon_sym_self] = ACTIONS(1335),
    [anon_sym_super] = ACTIONS(1337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2190),
    [anon_sym_DASH_EQ] = ACTIONS(2190),
    [anon_sym_STAR_EQ] = ACTIONS(2190),
    [anon_sym_SLASH_EQ] = ACTIONS(2190),
    [anon_sym_PERCENT_EQ] = ACTIONS(2190),
    [anon_sym_BANG_EQ] = ACTIONS(2188),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2190),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2190),
    [anon_sym_LT_EQ] = ACTIONS(2190),
    [anon_sym_GT_EQ] = ACTIONS(2190),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1341),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1343),
    [anon_sym_PLUS] = ACTIONS(1345),
    [anon_sym_DASH] = ACTIONS(1345),
    [anon_sym_STAR] = ACTIONS(2188),
    [anon_sym_SLASH] = ACTIONS(2188),
    [anon_sym_PERCENT] = ACTIONS(2188),
    [anon_sym_PLUS_PLUS] = ACTIONS(1323),
    [anon_sym_DASH_DASH] = ACTIONS(1323),
    [anon_sym_PIPE] = ACTIONS(2190),
    [anon_sym_CARET] = ACTIONS(2188),
    [anon_sym_LT_LT] = ACTIONS(2190),
    [anon_sym_GT_GT] = ACTIONS(2190),
    [anon_sym_borrowing] = ACTIONS(1295),
    [anon_sym_consuming] = ACTIONS(1295),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1347),
    [sym__dot_custom] = ACTIONS(1349),
    [sym__eq_custom] = ACTIONS(2190),
    [sym__eq_eq_custom] = ACTIONS(2190),
    [sym__plus_then_ws] = ACTIONS(2190),
    [sym__minus_then_ws] = ACTIONS(2190),
    [sym__bang_custom] = ACTIONS(1351),
    [sym__custom_operator] = ACTIONS(1329),
    [sym__hash_symbol_custom] = ACTIONS(1371),
    [sym__directive_if] = ACTIONS(1355),
    [sym__directive_elseif] = ACTIONS(1355),
    [sym__directive_else] = ACTIONS(1357),
    [sym__directive_endif] = ACTIONS(1357),
  },
  [621] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1636),
    [sym_boolean_literal] = STATE(1636),
    [sym__string_literal] = STATE(1636),
    [sym_line_string_literal] = STATE(1636),
    [sym_multi_line_string_literal] = STATE(1636),
    [sym_raw_string_literal] = STATE(1636),
    [sym_regex_literal] = STATE(1636),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1636),
    [sym__unary_expression] = STATE(1636),
    [sym_postfix_expression] = STATE(1636),
    [sym_constructor_expression] = STATE(1636),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1636),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1636),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1636),
    [sym_prefix_expression] = STATE(1636),
    [sym_as_expression] = STATE(1636),
    [sym_selector_expression] = STATE(1636),
    [sym__binary_expression] = STATE(1636),
    [sym_multiplicative_expression] = STATE(1636),
    [sym_additive_expression] = STATE(1636),
    [sym_range_expression] = STATE(1636),
    [sym_infix_expression] = STATE(1636),
    [sym_nil_coalescing_expression] = STATE(1636),
    [sym_check_expression] = STATE(1636),
    [sym_comparison_expression] = STATE(1636),
    [sym_equality_expression] = STATE(1636),
    [sym_conjunction_expression] = STATE(1636),
    [sym_disjunction_expression] = STATE(1636),
    [sym_bitwise_operation] = STATE(1636),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1636),
    [sym_await_expression] = STATE(1636),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1636),
    [sym_call_expression] = STATE(1636),
    [sym_macro_invocation] = STATE(1636),
    [sym__primary_expression] = STATE(1636),
    [sym_tuple_expression] = STATE(1636),
    [sym_array_literal] = STATE(1636),
    [sym_dictionary_literal] = STATE(1636),
    [sym_special_literal] = STATE(1636),
    [sym_playground_literal] = STATE(1636),
    [sym_lambda_literal] = STATE(1636),
    [sym_self_expression] = STATE(1636),
    [sym_super_expression] = STATE(1636),
    [sym_if_statement] = STATE(1636),
    [sym_switch_statement] = STATE(1636),
    [sym_key_path_expression] = STATE(1636),
    [sym_key_path_string_expression] = STATE(1636),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1636),
    [sym__equality_operator] = STATE(1636),
    [sym__comparison_operator] = STATE(1636),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1636),
    [sym__multiplicative_operator] = STATE(1636),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1636),
    [sym_value_parameter_pack] = STATE(1636),
    [sym_value_pack_expansion] = STATE(1636),
    [sym__referenceable_operator] = STATE(1636),
    [sym__equal_sign] = STATE(1636),
    [sym__eq_eq] = STATE(1636),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1636),
    [sym_diagnostic] = STATE(1636),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2196),
    [sym_real_literal] = ACTIONS(2198),
    [sym_integer_literal] = ACTIONS(2196),
    [sym_hex_literal] = ACTIONS(2196),
    [sym_oct_literal] = ACTIONS(2198),
    [sym_bin_literal] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2196),
    [anon_sym_GT] = ACTIONS(2196),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2198),
    [anon_sym_DASH_EQ] = ACTIONS(2198),
    [anon_sym_STAR_EQ] = ACTIONS(2198),
    [anon_sym_SLASH_EQ] = ACTIONS(2198),
    [anon_sym_PERCENT_EQ] = ACTIONS(2198),
    [anon_sym_BANG_EQ] = ACTIONS(2196),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2198),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2198),
    [anon_sym_LT_EQ] = ACTIONS(2198),
    [anon_sym_GT_EQ] = ACTIONS(2198),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2196),
    [anon_sym_SLASH] = ACTIONS(2196),
    [anon_sym_PERCENT] = ACTIONS(2196),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2198),
    [anon_sym_CARET] = ACTIONS(2196),
    [anon_sym_LT_LT] = ACTIONS(2198),
    [anon_sym_GT_GT] = ACTIONS(2198),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2198),
    [sym__eq_eq_custom] = ACTIONS(2198),
    [sym__plus_then_ws] = ACTIONS(2198),
    [sym__minus_then_ws] = ACTIONS(2198),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [622] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(748),
    [sym_boolean_literal] = STATE(748),
    [sym__string_literal] = STATE(748),
    [sym_line_string_literal] = STATE(748),
    [sym_multi_line_string_literal] = STATE(748),
    [sym_raw_string_literal] = STATE(748),
    [sym_regex_literal] = STATE(748),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6436),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6436),
    [sym_dictionary_type] = STATE(6436),
    [sym__expression] = STATE(748),
    [sym__unary_expression] = STATE(748),
    [sym_postfix_expression] = STATE(748),
    [sym_constructor_expression] = STATE(748),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(748),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(748),
    [sym__range_operator] = STATE(694),
    [sym_open_end_range_expression] = STATE(748),
    [sym_prefix_expression] = STATE(748),
    [sym_as_expression] = STATE(748),
    [sym_selector_expression] = STATE(748),
    [sym__binary_expression] = STATE(748),
    [sym_multiplicative_expression] = STATE(748),
    [sym_additive_expression] = STATE(748),
    [sym_range_expression] = STATE(748),
    [sym_infix_expression] = STATE(748),
    [sym_nil_coalescing_expression] = STATE(748),
    [sym_check_expression] = STATE(748),
    [sym_comparison_expression] = STATE(748),
    [sym_equality_expression] = STATE(748),
    [sym_conjunction_expression] = STATE(748),
    [sym_disjunction_expression] = STATE(748),
    [sym_bitwise_operation] = STATE(748),
    [sym_custom_operator] = STATE(741),
    [sym_try_expression] = STATE(748),
    [sym_await_expression] = STATE(748),
    [sym__await_operator] = STATE(681),
    [sym_ternary_expression] = STATE(748),
    [sym_call_expression] = STATE(748),
    [sym_macro_invocation] = STATE(748),
    [sym__primary_expression] = STATE(748),
    [sym_tuple_expression] = STATE(748),
    [sym_array_literal] = STATE(748),
    [sym_dictionary_literal] = STATE(748),
    [sym_special_literal] = STATE(748),
    [sym_playground_literal] = STATE(748),
    [sym_lambda_literal] = STATE(748),
    [sym_self_expression] = STATE(748),
    [sym_super_expression] = STATE(748),
    [sym_if_statement] = STATE(748),
    [sym_switch_statement] = STATE(748),
    [sym_key_path_expression] = STATE(748),
    [sym_key_path_string_expression] = STATE(748),
    [sym_try_operator] = STATE(678),
    [sym__assignment_and_operator] = STATE(748),
    [sym__equality_operator] = STATE(748),
    [sym__comparison_operator] = STATE(748),
    [sym__three_dot_operator] = STATE(742),
    [sym__open_ended_range_operator] = STATE(694),
    [sym__additive_operator] = STATE(748),
    [sym__multiplicative_operator] = STATE(748),
    [sym__prefix_unary_operator] = STATE(622),
    [sym_directly_assignable_expression] = STATE(6420),
    [sym_assignment] = STATE(748),
    [sym_value_parameter_pack] = STATE(748),
    [sym_value_pack_expansion] = STATE(748),
    [sym__referenceable_operator] = STATE(748),
    [sym__equal_sign] = STATE(748),
    [sym__eq_eq] = STATE(748),
    [sym__dot] = STATE(622),
    [sym__hash_symbol] = STATE(4852),
    [sym_bang] = STATE(741),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(748),
    [sym_diagnostic] = STATE(748),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(605),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(2200),
    [anon_sym_each] = ACTIONS(607),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(609),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2202),
    [sym_real_literal] = ACTIONS(2204),
    [sym_integer_literal] = ACTIONS(2202),
    [sym_hex_literal] = ACTIONS(2202),
    [sym_oct_literal] = ACTIONS(2204),
    [sym_bin_literal] = ACTIONS(2204),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(615),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(625),
    [anon_sym_TILDE] = ACTIONS(625),
    [anon_sym_if] = ACTIONS(2206),
    [anon_sym_switch] = ACTIONS(2208),
    [aux_sym_custom_operator_token1] = ACTIONS(629),
    [anon_sym_LT] = ACTIONS(2202),
    [anon_sym_GT] = ACTIONS(2202),
    [anon_sym_await] = ACTIONS(631),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2204),
    [anon_sym_DASH_EQ] = ACTIONS(2204),
    [anon_sym_STAR_EQ] = ACTIONS(2204),
    [anon_sym_SLASH_EQ] = ACTIONS(2204),
    [anon_sym_PERCENT_EQ] = ACTIONS(2204),
    [anon_sym_BANG_EQ] = ACTIONS(2202),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2204),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2204),
    [anon_sym_LT_EQ] = ACTIONS(2204),
    [anon_sym_GT_EQ] = ACTIONS(2204),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(635),
    [anon_sym_DOT_DOT_LT] = ACTIONS(637),
    [anon_sym_PLUS] = ACTIONS(639),
    [anon_sym_DASH] = ACTIONS(639),
    [anon_sym_STAR] = ACTIONS(2202),
    [anon_sym_SLASH] = ACTIONS(2202),
    [anon_sym_PERCENT] = ACTIONS(2202),
    [anon_sym_PLUS_PLUS] = ACTIONS(625),
    [anon_sym_DASH_DASH] = ACTIONS(625),
    [anon_sym_PIPE] = ACTIONS(2204),
    [anon_sym_CARET] = ACTIONS(2202),
    [anon_sym_LT_LT] = ACTIONS(2204),
    [anon_sym_GT_GT] = ACTIONS(2204),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(641),
    [sym__eq_custom] = ACTIONS(2204),
    [sym__eq_eq_custom] = ACTIONS(2204),
    [sym__plus_then_ws] = ACTIONS(2204),
    [sym__minus_then_ws] = ACTIONS(2204),
    [sym__bang_custom] = ACTIONS(643),
    [sym__custom_operator] = ACTIONS(629),
    [sym__hash_symbol_custom] = ACTIONS(645),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [623] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1675),
    [sym_boolean_literal] = STATE(1675),
    [sym__string_literal] = STATE(1675),
    [sym_line_string_literal] = STATE(1675),
    [sym_multi_line_string_literal] = STATE(1675),
    [sym_raw_string_literal] = STATE(1675),
    [sym_regex_literal] = STATE(1675),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1675),
    [sym__unary_expression] = STATE(1675),
    [sym_postfix_expression] = STATE(1675),
    [sym_constructor_expression] = STATE(1675),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1675),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1675),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1675),
    [sym_prefix_expression] = STATE(1675),
    [sym_as_expression] = STATE(1675),
    [sym_selector_expression] = STATE(1675),
    [sym__binary_expression] = STATE(1675),
    [sym_multiplicative_expression] = STATE(1675),
    [sym_additive_expression] = STATE(1675),
    [sym_range_expression] = STATE(1675),
    [sym_infix_expression] = STATE(1675),
    [sym_nil_coalescing_expression] = STATE(1675),
    [sym_check_expression] = STATE(1675),
    [sym_comparison_expression] = STATE(1675),
    [sym_equality_expression] = STATE(1675),
    [sym_conjunction_expression] = STATE(1675),
    [sym_disjunction_expression] = STATE(1675),
    [sym_bitwise_operation] = STATE(1675),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1675),
    [sym_await_expression] = STATE(1675),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1675),
    [sym_call_expression] = STATE(1675),
    [sym_macro_invocation] = STATE(1675),
    [sym__primary_expression] = STATE(1675),
    [sym_tuple_expression] = STATE(1675),
    [sym_array_literal] = STATE(1675),
    [sym_dictionary_literal] = STATE(1675),
    [sym_special_literal] = STATE(1675),
    [sym_playground_literal] = STATE(1675),
    [sym_lambda_literal] = STATE(1675),
    [sym_self_expression] = STATE(1675),
    [sym_super_expression] = STATE(1675),
    [sym_if_statement] = STATE(1675),
    [sym_switch_statement] = STATE(1675),
    [sym_key_path_expression] = STATE(1675),
    [sym_key_path_string_expression] = STATE(1675),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1675),
    [sym__equality_operator] = STATE(1675),
    [sym__comparison_operator] = STATE(1675),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1675),
    [sym__multiplicative_operator] = STATE(1675),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1675),
    [sym_value_parameter_pack] = STATE(1675),
    [sym_value_pack_expansion] = STATE(1675),
    [sym__referenceable_operator] = STATE(1675),
    [sym__equal_sign] = STATE(1675),
    [sym__eq_eq] = STATE(1675),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1675),
    [sym_diagnostic] = STATE(1675),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1103),
    [sym_real_literal] = ACTIONS(1105),
    [sym_integer_literal] = ACTIONS(1103),
    [sym_hex_literal] = ACTIONS(1103),
    [sym_oct_literal] = ACTIONS(1105),
    [sym_bin_literal] = ACTIONS(1105),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1103),
    [anon_sym_GT] = ACTIONS(1103),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1105),
    [anon_sym_DASH_EQ] = ACTIONS(1105),
    [anon_sym_STAR_EQ] = ACTIONS(1105),
    [anon_sym_SLASH_EQ] = ACTIONS(1105),
    [anon_sym_PERCENT_EQ] = ACTIONS(1105),
    [anon_sym_BANG_EQ] = ACTIONS(1103),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1105),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1105),
    [anon_sym_LT_EQ] = ACTIONS(1105),
    [anon_sym_GT_EQ] = ACTIONS(1105),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1103),
    [anon_sym_SLASH] = ACTIONS(1103),
    [anon_sym_PERCENT] = ACTIONS(1103),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1105),
    [anon_sym_CARET] = ACTIONS(1103),
    [anon_sym_LT_LT] = ACTIONS(1105),
    [anon_sym_GT_GT] = ACTIONS(1105),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1105),
    [sym__eq_eq_custom] = ACTIONS(1105),
    [sym__plus_then_ws] = ACTIONS(1105),
    [sym__minus_then_ws] = ACTIONS(1105),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [624] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1654),
    [sym_boolean_literal] = STATE(1654),
    [sym__string_literal] = STATE(1654),
    [sym_line_string_literal] = STATE(1654),
    [sym_multi_line_string_literal] = STATE(1654),
    [sym_raw_string_literal] = STATE(1654),
    [sym_regex_literal] = STATE(1654),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1654),
    [sym__unary_expression] = STATE(1654),
    [sym_postfix_expression] = STATE(1654),
    [sym_constructor_expression] = STATE(1654),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1654),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1654),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1654),
    [sym_prefix_expression] = STATE(1654),
    [sym_as_expression] = STATE(1654),
    [sym_selector_expression] = STATE(1654),
    [sym__binary_expression] = STATE(1654),
    [sym_multiplicative_expression] = STATE(1654),
    [sym_additive_expression] = STATE(1654),
    [sym_range_expression] = STATE(1654),
    [sym_infix_expression] = STATE(1654),
    [sym_nil_coalescing_expression] = STATE(1654),
    [sym_check_expression] = STATE(1654),
    [sym_comparison_expression] = STATE(1654),
    [sym_equality_expression] = STATE(1654),
    [sym_conjunction_expression] = STATE(1654),
    [sym_disjunction_expression] = STATE(1654),
    [sym_bitwise_operation] = STATE(1654),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1654),
    [sym_await_expression] = STATE(1654),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1654),
    [sym_call_expression] = STATE(1654),
    [sym_macro_invocation] = STATE(1654),
    [sym__primary_expression] = STATE(1654),
    [sym_tuple_expression] = STATE(1654),
    [sym_array_literal] = STATE(1654),
    [sym_dictionary_literal] = STATE(1654),
    [sym_special_literal] = STATE(1654),
    [sym_playground_literal] = STATE(1654),
    [sym_lambda_literal] = STATE(1654),
    [sym_self_expression] = STATE(1654),
    [sym_super_expression] = STATE(1654),
    [sym_if_statement] = STATE(1654),
    [sym_switch_statement] = STATE(1654),
    [sym_key_path_expression] = STATE(1654),
    [sym_key_path_string_expression] = STATE(1654),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1654),
    [sym__equality_operator] = STATE(1654),
    [sym__comparison_operator] = STATE(1654),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1654),
    [sym__multiplicative_operator] = STATE(1654),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1654),
    [sym_value_parameter_pack] = STATE(1654),
    [sym_value_pack_expansion] = STATE(1654),
    [sym__referenceable_operator] = STATE(1654),
    [sym__equal_sign] = STATE(1654),
    [sym__eq_eq] = STATE(1654),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1654),
    [sym_diagnostic] = STATE(1654),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2210),
    [sym_real_literal] = ACTIONS(2212),
    [sym_integer_literal] = ACTIONS(2210),
    [sym_hex_literal] = ACTIONS(2210),
    [sym_oct_literal] = ACTIONS(2212),
    [sym_bin_literal] = ACTIONS(2212),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2210),
    [anon_sym_GT] = ACTIONS(2210),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2212),
    [anon_sym_DASH_EQ] = ACTIONS(2212),
    [anon_sym_STAR_EQ] = ACTIONS(2212),
    [anon_sym_SLASH_EQ] = ACTIONS(2212),
    [anon_sym_PERCENT_EQ] = ACTIONS(2212),
    [anon_sym_BANG_EQ] = ACTIONS(2210),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2212),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2212),
    [anon_sym_LT_EQ] = ACTIONS(2212),
    [anon_sym_GT_EQ] = ACTIONS(2212),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2210),
    [anon_sym_SLASH] = ACTIONS(2210),
    [anon_sym_PERCENT] = ACTIONS(2210),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2212),
    [anon_sym_CARET] = ACTIONS(2210),
    [anon_sym_LT_LT] = ACTIONS(2212),
    [anon_sym_GT_GT] = ACTIONS(2212),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2212),
    [sym__eq_eq_custom] = ACTIONS(2212),
    [sym__plus_then_ws] = ACTIONS(2212),
    [sym__minus_then_ws] = ACTIONS(2212),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [625] = {
    [sym_simple_identifier] = STATE(2645),
    [sym__contextual_simple_identifier] = STATE(2445),
    [sym__basic_literal] = STATE(1505),
    [sym_boolean_literal] = STATE(1505),
    [sym__string_literal] = STATE(1505),
    [sym_line_string_literal] = STATE(1505),
    [sym_multi_line_string_literal] = STATE(1505),
    [sym_raw_string_literal] = STATE(1505),
    [sym_regex_literal] = STATE(1505),
    [sym__extended_regex_literal] = STATE(2955),
    [sym__multiline_regex_literal] = STATE(2955),
    [sym_user_type] = STATE(6382),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6382),
    [sym_dictionary_type] = STATE(6382),
    [sym__expression] = STATE(1505),
    [sym__unary_expression] = STATE(1505),
    [sym_postfix_expression] = STATE(1505),
    [sym_constructor_expression] = STATE(1505),
    [sym__parenthesized_type] = STATE(7692),
    [sym_navigation_expression] = STATE(1505),
    [sym__navigable_type_expression] = STATE(7690),
    [sym_open_start_range_expression] = STATE(1505),
    [sym__range_operator] = STATE(672),
    [sym_open_end_range_expression] = STATE(1505),
    [sym_prefix_expression] = STATE(1505),
    [sym_as_expression] = STATE(1505),
    [sym_selector_expression] = STATE(1505),
    [sym__binary_expression] = STATE(1505),
    [sym_multiplicative_expression] = STATE(1505),
    [sym_additive_expression] = STATE(1505),
    [sym_range_expression] = STATE(1505),
    [sym_infix_expression] = STATE(1505),
    [sym_nil_coalescing_expression] = STATE(1505),
    [sym_check_expression] = STATE(1505),
    [sym_comparison_expression] = STATE(1505),
    [sym_equality_expression] = STATE(1505),
    [sym_conjunction_expression] = STATE(1505),
    [sym_disjunction_expression] = STATE(1505),
    [sym_bitwise_operation] = STATE(1505),
    [sym_custom_operator] = STATE(1170),
    [sym_try_expression] = STATE(1505),
    [sym_await_expression] = STATE(1505),
    [sym__await_operator] = STATE(716),
    [sym_ternary_expression] = STATE(1505),
    [sym_call_expression] = STATE(1505),
    [sym_macro_invocation] = STATE(1505),
    [sym__primary_expression] = STATE(1505),
    [sym_tuple_expression] = STATE(1505),
    [sym_array_literal] = STATE(1505),
    [sym_dictionary_literal] = STATE(1505),
    [sym_special_literal] = STATE(1505),
    [sym_playground_literal] = STATE(1505),
    [sym_lambda_literal] = STATE(1505),
    [sym_self_expression] = STATE(1505),
    [sym_super_expression] = STATE(1505),
    [sym_if_statement] = STATE(1505),
    [sym_switch_statement] = STATE(1505),
    [sym_key_path_expression] = STATE(1505),
    [sym_key_path_string_expression] = STATE(1505),
    [sym_try_operator] = STATE(732),
    [sym__assignment_and_operator] = STATE(1505),
    [sym__equality_operator] = STATE(1505),
    [sym__comparison_operator] = STATE(1505),
    [sym__three_dot_operator] = STATE(1173),
    [sym__open_ended_range_operator] = STATE(672),
    [sym__additive_operator] = STATE(1505),
    [sym__multiplicative_operator] = STATE(1505),
    [sym__prefix_unary_operator] = STATE(647),
    [sym_directly_assignable_expression] = STATE(6379),
    [sym_assignment] = STATE(1505),
    [sym_value_parameter_pack] = STATE(1505),
    [sym_value_pack_expansion] = STATE(1505),
    [sym__referenceable_operator] = STATE(1505),
    [sym__equal_sign] = STATE(1505),
    [sym__eq_eq] = STATE(1505),
    [sym__dot] = STATE(647),
    [sym__hash_symbol] = STATE(4854),
    [sym_bang] = STATE(1170),
    [sym__parameter_ownership_modifier] = STATE(2445),
    [sym_directive] = STATE(1505),
    [sym_diagnostic] = STATE(1505),
    [aux_sym_raw_string_literal_repeat1] = STATE(7509),
    [anon_sym_BANG] = ACTIONS(1119),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1121),
    [aux_sym_simple_identifier_token2] = ACTIONS(1123),
    [aux_sym_simple_identifier_token3] = ACTIONS(1123),
    [aux_sym_simple_identifier_token4] = ACTIONS(1123),
    [anon_sym_actor] = ACTIONS(1121),
    [anon_sym_async] = ACTIONS(1121),
    [anon_sym_each] = ACTIONS(1125),
    [anon_sym_lazy] = ACTIONS(1121),
    [anon_sym_repeat] = ACTIONS(1127),
    [anon_sym_package] = ACTIONS(1121),
    [anon_sym_nil] = ACTIONS(2214),
    [sym_real_literal] = ACTIONS(2216),
    [sym_integer_literal] = ACTIONS(2214),
    [sym_hex_literal] = ACTIONS(2214),
    [sym_oct_literal] = ACTIONS(2216),
    [sym_bin_literal] = ACTIONS(2216),
    [anon_sym_true] = ACTIONS(1133),
    [anon_sym_false] = ACTIONS(1133),
    [anon_sym_DQUOTE] = ACTIONS(1135),
    [anon_sym_BSLASH] = ACTIONS(1137),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1139),
    [sym__oneline_regex_literal] = ACTIONS(1141),
    [anon_sym_LPAREN] = ACTIONS(1143),
    [anon_sym_LBRACK] = ACTIONS(1145),
    [anon_sym_AMP] = ACTIONS(1147),
    [anon_sym_TILDE] = ACTIONS(1147),
    [anon_sym_if] = ACTIONS(1149),
    [anon_sym_switch] = ACTIONS(1151),
    [aux_sym_custom_operator_token1] = ACTIONS(1153),
    [anon_sym_LT] = ACTIONS(2214),
    [anon_sym_GT] = ACTIONS(2214),
    [anon_sym_await] = ACTIONS(1155),
    [anon_sym_LBRACE] = ACTIONS(1157),
    [anon_sym_CARET_LBRACE] = ACTIONS(1157),
    [anon_sym_self] = ACTIONS(1159),
    [anon_sym_super] = ACTIONS(1161),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2216),
    [anon_sym_DASH_EQ] = ACTIONS(2216),
    [anon_sym_STAR_EQ] = ACTIONS(2216),
    [anon_sym_SLASH_EQ] = ACTIONS(2216),
    [anon_sym_PERCENT_EQ] = ACTIONS(2216),
    [anon_sym_BANG_EQ] = ACTIONS(2214),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2216),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2216),
    [anon_sym_LT_EQ] = ACTIONS(2216),
    [anon_sym_GT_EQ] = ACTIONS(2216),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1163),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1165),
    [anon_sym_PLUS] = ACTIONS(1167),
    [anon_sym_DASH] = ACTIONS(1167),
    [anon_sym_STAR] = ACTIONS(2214),
    [anon_sym_SLASH] = ACTIONS(2214),
    [anon_sym_PERCENT] = ACTIONS(2214),
    [anon_sym_PLUS_PLUS] = ACTIONS(1147),
    [anon_sym_DASH_DASH] = ACTIONS(1147),
    [anon_sym_PIPE] = ACTIONS(2216),
    [anon_sym_CARET] = ACTIONS(2214),
    [anon_sym_LT_LT] = ACTIONS(2216),
    [anon_sym_GT_GT] = ACTIONS(2216),
    [anon_sym_borrowing] = ACTIONS(1121),
    [anon_sym_consuming] = ACTIONS(1121),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1169),
    [sym__dot_custom] = ACTIONS(1171),
    [sym__eq_custom] = ACTIONS(2216),
    [sym__eq_eq_custom] = ACTIONS(2216),
    [sym__plus_then_ws] = ACTIONS(2216),
    [sym__minus_then_ws] = ACTIONS(2216),
    [sym__bang_custom] = ACTIONS(1173),
    [sym__custom_operator] = ACTIONS(1153),
    [sym__hash_symbol_custom] = ACTIONS(1175),
    [sym__directive_if] = ACTIONS(1177),
    [sym__directive_elseif] = ACTIONS(1177),
    [sym__directive_else] = ACTIONS(1179),
    [sym__directive_endif] = ACTIONS(1179),
  },
  [626] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1470),
    [sym_boolean_literal] = STATE(1470),
    [sym__string_literal] = STATE(1470),
    [sym_line_string_literal] = STATE(1470),
    [sym_multi_line_string_literal] = STATE(1470),
    [sym_raw_string_literal] = STATE(1470),
    [sym_regex_literal] = STATE(1470),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1470),
    [sym__unary_expression] = STATE(1470),
    [sym_postfix_expression] = STATE(1470),
    [sym_constructor_expression] = STATE(1470),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1470),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1470),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1470),
    [sym_prefix_expression] = STATE(1470),
    [sym_as_expression] = STATE(1470),
    [sym_selector_expression] = STATE(1470),
    [sym__binary_expression] = STATE(1470),
    [sym_multiplicative_expression] = STATE(1470),
    [sym_additive_expression] = STATE(1470),
    [sym_range_expression] = STATE(1470),
    [sym_infix_expression] = STATE(1470),
    [sym_nil_coalescing_expression] = STATE(1470),
    [sym_check_expression] = STATE(1470),
    [sym_comparison_expression] = STATE(1470),
    [sym_equality_expression] = STATE(1470),
    [sym_conjunction_expression] = STATE(1470),
    [sym_disjunction_expression] = STATE(1470),
    [sym_bitwise_operation] = STATE(1470),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1470),
    [sym_await_expression] = STATE(1470),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1470),
    [sym_call_expression] = STATE(1470),
    [sym_macro_invocation] = STATE(1470),
    [sym__primary_expression] = STATE(1470),
    [sym_tuple_expression] = STATE(1470),
    [sym_array_literal] = STATE(1470),
    [sym_dictionary_literal] = STATE(1470),
    [sym_special_literal] = STATE(1470),
    [sym_playground_literal] = STATE(1470),
    [sym_lambda_literal] = STATE(1470),
    [sym_self_expression] = STATE(1470),
    [sym_super_expression] = STATE(1470),
    [sym_if_statement] = STATE(1470),
    [sym_switch_statement] = STATE(1470),
    [sym_key_path_expression] = STATE(1470),
    [sym_key_path_string_expression] = STATE(1470),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1470),
    [sym__equality_operator] = STATE(1470),
    [sym__comparison_operator] = STATE(1470),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1470),
    [sym__multiplicative_operator] = STATE(1470),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_assignment] = STATE(1470),
    [sym_value_parameter_pack] = STATE(1470),
    [sym_value_pack_expansion] = STATE(1470),
    [sym__referenceable_operator] = STATE(1470),
    [sym__equal_sign] = STATE(1470),
    [sym__eq_eq] = STATE(1470),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1470),
    [sym_diagnostic] = STATE(1470),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(11),
    [anon_sym_async] = ACTIONS(11),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(11),
    [anon_sym_repeat] = ACTIONS(925),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(2218),
    [sym_real_literal] = ACTIONS(2220),
    [sym_integer_literal] = ACTIONS(2218),
    [sym_hex_literal] = ACTIONS(2218),
    [sym_oct_literal] = ACTIONS(2220),
    [sym_bin_literal] = ACTIONS(2220),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(2218),
    [anon_sym_GT] = ACTIONS(2218),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2220),
    [anon_sym_DASH_EQ] = ACTIONS(2220),
    [anon_sym_STAR_EQ] = ACTIONS(2220),
    [anon_sym_SLASH_EQ] = ACTIONS(2220),
    [anon_sym_PERCENT_EQ] = ACTIONS(2220),
    [anon_sym_BANG_EQ] = ACTIONS(2218),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2220),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2220),
    [anon_sym_LT_EQ] = ACTIONS(2220),
    [anon_sym_GT_EQ] = ACTIONS(2220),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(2218),
    [anon_sym_SLASH] = ACTIONS(2218),
    [anon_sym_PERCENT] = ACTIONS(2218),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(2220),
    [anon_sym_CARET] = ACTIONS(2218),
    [anon_sym_LT_LT] = ACTIONS(2220),
    [anon_sym_GT_GT] = ACTIONS(2220),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(2220),
    [sym__eq_eq_custom] = ACTIONS(2220),
    [sym__plus_then_ws] = ACTIONS(2220),
    [sym__minus_then_ws] = ACTIONS(2220),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [627] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1656),
    [sym_boolean_literal] = STATE(1656),
    [sym__string_literal] = STATE(1656),
    [sym_line_string_literal] = STATE(1656),
    [sym_multi_line_string_literal] = STATE(1656),
    [sym_raw_string_literal] = STATE(1656),
    [sym_regex_literal] = STATE(1656),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1656),
    [sym__unary_expression] = STATE(1656),
    [sym_postfix_expression] = STATE(1656),
    [sym_constructor_expression] = STATE(1656),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1656),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1656),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1656),
    [sym_prefix_expression] = STATE(1656),
    [sym_as_expression] = STATE(1656),
    [sym_selector_expression] = STATE(1656),
    [sym__binary_expression] = STATE(1656),
    [sym_multiplicative_expression] = STATE(1656),
    [sym_additive_expression] = STATE(1656),
    [sym_range_expression] = STATE(1656),
    [sym_infix_expression] = STATE(1656),
    [sym_nil_coalescing_expression] = STATE(1656),
    [sym_check_expression] = STATE(1656),
    [sym_comparison_expression] = STATE(1656),
    [sym_equality_expression] = STATE(1656),
    [sym_conjunction_expression] = STATE(1656),
    [sym_disjunction_expression] = STATE(1656),
    [sym_bitwise_operation] = STATE(1656),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1656),
    [sym_await_expression] = STATE(1656),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1656),
    [sym_call_expression] = STATE(1656),
    [sym_macro_invocation] = STATE(1656),
    [sym__primary_expression] = STATE(1656),
    [sym_tuple_expression] = STATE(1656),
    [sym_array_literal] = STATE(1656),
    [sym_dictionary_literal] = STATE(1656),
    [sym_special_literal] = STATE(1656),
    [sym_playground_literal] = STATE(1656),
    [sym_lambda_literal] = STATE(1656),
    [sym_self_expression] = STATE(1656),
    [sym_super_expression] = STATE(1656),
    [sym_if_statement] = STATE(1656),
    [sym_switch_statement] = STATE(1656),
    [sym_key_path_expression] = STATE(1656),
    [sym_key_path_string_expression] = STATE(1656),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1656),
    [sym__equality_operator] = STATE(1656),
    [sym__comparison_operator] = STATE(1656),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1656),
    [sym__multiplicative_operator] = STATE(1656),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1656),
    [sym_value_parameter_pack] = STATE(1656),
    [sym_value_pack_expansion] = STATE(1656),
    [sym__referenceable_operator] = STATE(1656),
    [sym__equal_sign] = STATE(1656),
    [sym__eq_eq] = STATE(1656),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1656),
    [sym_diagnostic] = STATE(1656),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2222),
    [sym_real_literal] = ACTIONS(2224),
    [sym_integer_literal] = ACTIONS(2222),
    [sym_hex_literal] = ACTIONS(2222),
    [sym_oct_literal] = ACTIONS(2224),
    [sym_bin_literal] = ACTIONS(2224),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2222),
    [anon_sym_GT] = ACTIONS(2222),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2224),
    [anon_sym_DASH_EQ] = ACTIONS(2224),
    [anon_sym_STAR_EQ] = ACTIONS(2224),
    [anon_sym_SLASH_EQ] = ACTIONS(2224),
    [anon_sym_PERCENT_EQ] = ACTIONS(2224),
    [anon_sym_BANG_EQ] = ACTIONS(2222),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2224),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2224),
    [anon_sym_LT_EQ] = ACTIONS(2224),
    [anon_sym_GT_EQ] = ACTIONS(2224),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2222),
    [anon_sym_SLASH] = ACTIONS(2222),
    [anon_sym_PERCENT] = ACTIONS(2222),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2224),
    [anon_sym_CARET] = ACTIONS(2222),
    [anon_sym_LT_LT] = ACTIONS(2224),
    [anon_sym_GT_GT] = ACTIONS(2224),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2224),
    [sym__eq_eq_custom] = ACTIONS(2224),
    [sym__plus_then_ws] = ACTIONS(2224),
    [sym__minus_then_ws] = ACTIONS(2224),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [628] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1673),
    [sym_boolean_literal] = STATE(1673),
    [sym__string_literal] = STATE(1673),
    [sym_line_string_literal] = STATE(1673),
    [sym_multi_line_string_literal] = STATE(1673),
    [sym_raw_string_literal] = STATE(1673),
    [sym_regex_literal] = STATE(1673),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1673),
    [sym__unary_expression] = STATE(1673),
    [sym_postfix_expression] = STATE(1673),
    [sym_constructor_expression] = STATE(1673),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1673),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1673),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1673),
    [sym_prefix_expression] = STATE(1673),
    [sym_as_expression] = STATE(1673),
    [sym_selector_expression] = STATE(1673),
    [sym__binary_expression] = STATE(1673),
    [sym_multiplicative_expression] = STATE(1673),
    [sym_additive_expression] = STATE(1673),
    [sym_range_expression] = STATE(1673),
    [sym_infix_expression] = STATE(1673),
    [sym_nil_coalescing_expression] = STATE(1673),
    [sym_check_expression] = STATE(1673),
    [sym_comparison_expression] = STATE(1673),
    [sym_equality_expression] = STATE(1673),
    [sym_conjunction_expression] = STATE(1673),
    [sym_disjunction_expression] = STATE(1673),
    [sym_bitwise_operation] = STATE(1673),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1673),
    [sym_await_expression] = STATE(1673),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1673),
    [sym_call_expression] = STATE(1673),
    [sym_macro_invocation] = STATE(1673),
    [sym__primary_expression] = STATE(1673),
    [sym_tuple_expression] = STATE(1673),
    [sym_array_literal] = STATE(1673),
    [sym_dictionary_literal] = STATE(1673),
    [sym_special_literal] = STATE(1673),
    [sym_playground_literal] = STATE(1673),
    [sym_lambda_literal] = STATE(1673),
    [sym_self_expression] = STATE(1673),
    [sym_super_expression] = STATE(1673),
    [sym_if_statement] = STATE(1673),
    [sym_switch_statement] = STATE(1673),
    [sym_key_path_expression] = STATE(1673),
    [sym_key_path_string_expression] = STATE(1673),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1673),
    [sym__equality_operator] = STATE(1673),
    [sym__comparison_operator] = STATE(1673),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1673),
    [sym__multiplicative_operator] = STATE(1673),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1673),
    [sym_value_parameter_pack] = STATE(1673),
    [sym_value_pack_expansion] = STATE(1673),
    [sym__referenceable_operator] = STATE(1673),
    [sym__equal_sign] = STATE(1673),
    [sym__eq_eq] = STATE(1673),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1673),
    [sym_diagnostic] = STATE(1673),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(647),
    [sym_real_literal] = ACTIONS(649),
    [sym_integer_literal] = ACTIONS(647),
    [sym_hex_literal] = ACTIONS(647),
    [sym_oct_literal] = ACTIONS(649),
    [sym_bin_literal] = ACTIONS(649),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(647),
    [anon_sym_GT] = ACTIONS(647),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(649),
    [anon_sym_DASH_EQ] = ACTIONS(649),
    [anon_sym_STAR_EQ] = ACTIONS(649),
    [anon_sym_SLASH_EQ] = ACTIONS(649),
    [anon_sym_PERCENT_EQ] = ACTIONS(649),
    [anon_sym_BANG_EQ] = ACTIONS(647),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(649),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(649),
    [anon_sym_LT_EQ] = ACTIONS(649),
    [anon_sym_GT_EQ] = ACTIONS(649),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(647),
    [anon_sym_SLASH] = ACTIONS(647),
    [anon_sym_PERCENT] = ACTIONS(647),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(649),
    [anon_sym_CARET] = ACTIONS(647),
    [anon_sym_LT_LT] = ACTIONS(649),
    [anon_sym_GT_GT] = ACTIONS(649),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(649),
    [sym__eq_eq_custom] = ACTIONS(649),
    [sym__plus_then_ws] = ACTIONS(649),
    [sym__minus_then_ws] = ACTIONS(649),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [629] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1486),
    [sym_boolean_literal] = STATE(1486),
    [sym__string_literal] = STATE(1486),
    [sym_line_string_literal] = STATE(1486),
    [sym_multi_line_string_literal] = STATE(1486),
    [sym_raw_string_literal] = STATE(1486),
    [sym_regex_literal] = STATE(1486),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1486),
    [sym__unary_expression] = STATE(1486),
    [sym_postfix_expression] = STATE(1486),
    [sym_constructor_expression] = STATE(1486),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1486),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1486),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1486),
    [sym_prefix_expression] = STATE(1486),
    [sym_as_expression] = STATE(1486),
    [sym_selector_expression] = STATE(1486),
    [sym__binary_expression] = STATE(1486),
    [sym_multiplicative_expression] = STATE(1486),
    [sym_additive_expression] = STATE(1486),
    [sym_range_expression] = STATE(1486),
    [sym_infix_expression] = STATE(1486),
    [sym_nil_coalescing_expression] = STATE(1486),
    [sym_check_expression] = STATE(1486),
    [sym_comparison_expression] = STATE(1486),
    [sym_equality_expression] = STATE(1486),
    [sym_conjunction_expression] = STATE(1486),
    [sym_disjunction_expression] = STATE(1486),
    [sym_bitwise_operation] = STATE(1486),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1486),
    [sym_await_expression] = STATE(1486),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1486),
    [sym_call_expression] = STATE(1486),
    [sym_macro_invocation] = STATE(1486),
    [sym__primary_expression] = STATE(1486),
    [sym_tuple_expression] = STATE(1486),
    [sym_array_literal] = STATE(1486),
    [sym_dictionary_literal] = STATE(1486),
    [sym_special_literal] = STATE(1486),
    [sym_playground_literal] = STATE(1486),
    [sym_lambda_literal] = STATE(1486),
    [sym_self_expression] = STATE(1486),
    [sym_super_expression] = STATE(1486),
    [sym_if_statement] = STATE(1486),
    [sym_switch_statement] = STATE(1486),
    [sym_key_path_expression] = STATE(1486),
    [sym_key_path_string_expression] = STATE(1486),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1486),
    [sym__equality_operator] = STATE(1486),
    [sym__comparison_operator] = STATE(1486),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1486),
    [sym__multiplicative_operator] = STATE(1486),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1486),
    [sym_value_parameter_pack] = STATE(1486),
    [sym_value_pack_expansion] = STATE(1486),
    [sym__referenceable_operator] = STATE(1486),
    [sym__equal_sign] = STATE(1486),
    [sym__eq_eq] = STATE(1486),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1486),
    [sym_diagnostic] = STATE(1486),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(2200),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2226),
    [sym_real_literal] = ACTIONS(2228),
    [sym_integer_literal] = ACTIONS(2226),
    [sym_hex_literal] = ACTIONS(2226),
    [sym_oct_literal] = ACTIONS(2228),
    [sym_bin_literal] = ACTIONS(2228),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(2230),
    [anon_sym_switch] = ACTIONS(2232),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2226),
    [anon_sym_GT] = ACTIONS(2226),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2228),
    [anon_sym_DASH_EQ] = ACTIONS(2228),
    [anon_sym_STAR_EQ] = ACTIONS(2228),
    [anon_sym_SLASH_EQ] = ACTIONS(2228),
    [anon_sym_PERCENT_EQ] = ACTIONS(2228),
    [anon_sym_BANG_EQ] = ACTIONS(2226),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2228),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2228),
    [anon_sym_LT_EQ] = ACTIONS(2228),
    [anon_sym_GT_EQ] = ACTIONS(2228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2226),
    [anon_sym_SLASH] = ACTIONS(2226),
    [anon_sym_PERCENT] = ACTIONS(2226),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2228),
    [anon_sym_CARET] = ACTIONS(2226),
    [anon_sym_LT_LT] = ACTIONS(2228),
    [anon_sym_GT_GT] = ACTIONS(2228),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2228),
    [sym__eq_eq_custom] = ACTIONS(2228),
    [sym__plus_then_ws] = ACTIONS(2228),
    [sym__minus_then_ws] = ACTIONS(2228),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [630] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1610),
    [sym_boolean_literal] = STATE(1610),
    [sym__string_literal] = STATE(1610),
    [sym_line_string_literal] = STATE(1610),
    [sym_multi_line_string_literal] = STATE(1610),
    [sym_raw_string_literal] = STATE(1610),
    [sym_regex_literal] = STATE(1610),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1610),
    [sym__unary_expression] = STATE(1610),
    [sym_postfix_expression] = STATE(1610),
    [sym_constructor_expression] = STATE(1610),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1610),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1610),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1610),
    [sym_prefix_expression] = STATE(1610),
    [sym_as_expression] = STATE(1610),
    [sym_selector_expression] = STATE(1610),
    [sym__binary_expression] = STATE(1610),
    [sym_multiplicative_expression] = STATE(1610),
    [sym_additive_expression] = STATE(1610),
    [sym_range_expression] = STATE(1610),
    [sym_infix_expression] = STATE(1610),
    [sym_nil_coalescing_expression] = STATE(1610),
    [sym_check_expression] = STATE(1610),
    [sym_comparison_expression] = STATE(1610),
    [sym_equality_expression] = STATE(1610),
    [sym_conjunction_expression] = STATE(1610),
    [sym_disjunction_expression] = STATE(1610),
    [sym_bitwise_operation] = STATE(1610),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1610),
    [sym_await_expression] = STATE(1610),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1610),
    [sym_call_expression] = STATE(1610),
    [sym_macro_invocation] = STATE(1610),
    [sym__primary_expression] = STATE(1610),
    [sym_tuple_expression] = STATE(1610),
    [sym_array_literal] = STATE(1610),
    [sym_dictionary_literal] = STATE(1610),
    [sym_special_literal] = STATE(1610),
    [sym_playground_literal] = STATE(1610),
    [sym_lambda_literal] = STATE(1610),
    [sym_self_expression] = STATE(1610),
    [sym_super_expression] = STATE(1610),
    [sym_if_statement] = STATE(1610),
    [sym_switch_statement] = STATE(1610),
    [sym_key_path_expression] = STATE(1610),
    [sym_key_path_string_expression] = STATE(1610),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1610),
    [sym__equality_operator] = STATE(1610),
    [sym__comparison_operator] = STATE(1610),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1610),
    [sym__multiplicative_operator] = STATE(1610),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1610),
    [sym_value_parameter_pack] = STATE(1610),
    [sym_value_pack_expansion] = STATE(1610),
    [sym__referenceable_operator] = STATE(1610),
    [sym__equal_sign] = STATE(1610),
    [sym__eq_eq] = STATE(1610),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1610),
    [sym_diagnostic] = STATE(1610),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2234),
    [sym_real_literal] = ACTIONS(2236),
    [sym_integer_literal] = ACTIONS(2234),
    [sym_hex_literal] = ACTIONS(2234),
    [sym_oct_literal] = ACTIONS(2236),
    [sym_bin_literal] = ACTIONS(2236),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2234),
    [anon_sym_GT] = ACTIONS(2234),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2236),
    [anon_sym_DASH_EQ] = ACTIONS(2236),
    [anon_sym_STAR_EQ] = ACTIONS(2236),
    [anon_sym_SLASH_EQ] = ACTIONS(2236),
    [anon_sym_PERCENT_EQ] = ACTIONS(2236),
    [anon_sym_BANG_EQ] = ACTIONS(2234),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2236),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2236),
    [anon_sym_LT_EQ] = ACTIONS(2236),
    [anon_sym_GT_EQ] = ACTIONS(2236),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2234),
    [anon_sym_SLASH] = ACTIONS(2234),
    [anon_sym_PERCENT] = ACTIONS(2234),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2236),
    [anon_sym_CARET] = ACTIONS(2234),
    [anon_sym_LT_LT] = ACTIONS(2236),
    [anon_sym_GT_GT] = ACTIONS(2236),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2236),
    [sym__eq_eq_custom] = ACTIONS(2236),
    [sym__plus_then_ws] = ACTIONS(2236),
    [sym__minus_then_ws] = ACTIONS(2236),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [631] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1557),
    [sym_boolean_literal] = STATE(1557),
    [sym__string_literal] = STATE(1557),
    [sym_line_string_literal] = STATE(1557),
    [sym_multi_line_string_literal] = STATE(1557),
    [sym_raw_string_literal] = STATE(1557),
    [sym_regex_literal] = STATE(1557),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1557),
    [sym__unary_expression] = STATE(1557),
    [sym_postfix_expression] = STATE(1557),
    [sym_constructor_expression] = STATE(1557),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1557),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1557),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1557),
    [sym_prefix_expression] = STATE(1557),
    [sym_as_expression] = STATE(1557),
    [sym_selector_expression] = STATE(1557),
    [sym__binary_expression] = STATE(1557),
    [sym_multiplicative_expression] = STATE(1557),
    [sym_additive_expression] = STATE(1557),
    [sym_range_expression] = STATE(1557),
    [sym_infix_expression] = STATE(1557),
    [sym_nil_coalescing_expression] = STATE(1557),
    [sym_check_expression] = STATE(1557),
    [sym_comparison_expression] = STATE(1557),
    [sym_equality_expression] = STATE(1557),
    [sym_conjunction_expression] = STATE(1557),
    [sym_disjunction_expression] = STATE(1557),
    [sym_bitwise_operation] = STATE(1557),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1557),
    [sym_await_expression] = STATE(1557),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1557),
    [sym_call_expression] = STATE(1557),
    [sym_macro_invocation] = STATE(1557),
    [sym__primary_expression] = STATE(1557),
    [sym_tuple_expression] = STATE(1557),
    [sym_array_literal] = STATE(1557),
    [sym_dictionary_literal] = STATE(1557),
    [sym_special_literal] = STATE(1557),
    [sym_playground_literal] = STATE(1557),
    [sym_lambda_literal] = STATE(1557),
    [sym_self_expression] = STATE(1557),
    [sym_super_expression] = STATE(1557),
    [sym_if_statement] = STATE(1557),
    [sym_switch_statement] = STATE(1557),
    [sym_key_path_expression] = STATE(1557),
    [sym_key_path_string_expression] = STATE(1557),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1557),
    [sym__equality_operator] = STATE(1557),
    [sym__comparison_operator] = STATE(1557),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1557),
    [sym__multiplicative_operator] = STATE(1557),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1557),
    [sym_value_parameter_pack] = STATE(1557),
    [sym_value_pack_expansion] = STATE(1557),
    [sym__referenceable_operator] = STATE(1557),
    [sym__equal_sign] = STATE(1557),
    [sym__eq_eq] = STATE(1557),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1557),
    [sym_diagnostic] = STATE(1557),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2238),
    [sym_real_literal] = ACTIONS(2240),
    [sym_integer_literal] = ACTIONS(2238),
    [sym_hex_literal] = ACTIONS(2238),
    [sym_oct_literal] = ACTIONS(2240),
    [sym_bin_literal] = ACTIONS(2240),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2238),
    [anon_sym_GT] = ACTIONS(2238),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2240),
    [anon_sym_DASH_EQ] = ACTIONS(2240),
    [anon_sym_STAR_EQ] = ACTIONS(2240),
    [anon_sym_SLASH_EQ] = ACTIONS(2240),
    [anon_sym_PERCENT_EQ] = ACTIONS(2240),
    [anon_sym_BANG_EQ] = ACTIONS(2238),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2240),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2240),
    [anon_sym_LT_EQ] = ACTIONS(2240),
    [anon_sym_GT_EQ] = ACTIONS(2240),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2238),
    [anon_sym_SLASH] = ACTIONS(2238),
    [anon_sym_PERCENT] = ACTIONS(2238),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2240),
    [anon_sym_CARET] = ACTIONS(2238),
    [anon_sym_LT_LT] = ACTIONS(2240),
    [anon_sym_GT_GT] = ACTIONS(2240),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2240),
    [sym__eq_eq_custom] = ACTIONS(2240),
    [sym__plus_then_ws] = ACTIONS(2240),
    [sym__minus_then_ws] = ACTIONS(2240),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [632] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1532),
    [sym_boolean_literal] = STATE(1532),
    [sym__string_literal] = STATE(1532),
    [sym_line_string_literal] = STATE(1532),
    [sym_multi_line_string_literal] = STATE(1532),
    [sym_raw_string_literal] = STATE(1532),
    [sym_regex_literal] = STATE(1532),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1532),
    [sym__unary_expression] = STATE(1532),
    [sym_postfix_expression] = STATE(1532),
    [sym_constructor_expression] = STATE(1532),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1532),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1532),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1532),
    [sym_prefix_expression] = STATE(1532),
    [sym_as_expression] = STATE(1532),
    [sym_selector_expression] = STATE(1532),
    [sym__binary_expression] = STATE(1532),
    [sym_multiplicative_expression] = STATE(1532),
    [sym_additive_expression] = STATE(1532),
    [sym_range_expression] = STATE(1532),
    [sym_infix_expression] = STATE(1532),
    [sym_nil_coalescing_expression] = STATE(1532),
    [sym_check_expression] = STATE(1532),
    [sym_comparison_expression] = STATE(1532),
    [sym_equality_expression] = STATE(1532),
    [sym_conjunction_expression] = STATE(1532),
    [sym_disjunction_expression] = STATE(1532),
    [sym_bitwise_operation] = STATE(1532),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1532),
    [sym_await_expression] = STATE(1532),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1532),
    [sym_call_expression] = STATE(1532),
    [sym_macro_invocation] = STATE(1532),
    [sym__primary_expression] = STATE(1532),
    [sym_tuple_expression] = STATE(1532),
    [sym_array_literal] = STATE(1532),
    [sym_dictionary_literal] = STATE(1532),
    [sym_special_literal] = STATE(1532),
    [sym_playground_literal] = STATE(1532),
    [sym_lambda_literal] = STATE(1532),
    [sym_self_expression] = STATE(1532),
    [sym_super_expression] = STATE(1532),
    [sym_if_statement] = STATE(1532),
    [sym_switch_statement] = STATE(1532),
    [sym_key_path_expression] = STATE(1532),
    [sym_key_path_string_expression] = STATE(1532),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1532),
    [sym__equality_operator] = STATE(1532),
    [sym__comparison_operator] = STATE(1532),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1532),
    [sym__multiplicative_operator] = STATE(1532),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1532),
    [sym_value_parameter_pack] = STATE(1532),
    [sym_value_pack_expansion] = STATE(1532),
    [sym__referenceable_operator] = STATE(1532),
    [sym__equal_sign] = STATE(1532),
    [sym__eq_eq] = STATE(1532),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1532),
    [sym_diagnostic] = STATE(1532),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2242),
    [sym_real_literal] = ACTIONS(2244),
    [sym_integer_literal] = ACTIONS(2242),
    [sym_hex_literal] = ACTIONS(2242),
    [sym_oct_literal] = ACTIONS(2244),
    [sym_bin_literal] = ACTIONS(2244),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2242),
    [anon_sym_GT] = ACTIONS(2242),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2244),
    [anon_sym_DASH_EQ] = ACTIONS(2244),
    [anon_sym_STAR_EQ] = ACTIONS(2244),
    [anon_sym_SLASH_EQ] = ACTIONS(2244),
    [anon_sym_PERCENT_EQ] = ACTIONS(2244),
    [anon_sym_BANG_EQ] = ACTIONS(2242),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2244),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2244),
    [anon_sym_LT_EQ] = ACTIONS(2244),
    [anon_sym_GT_EQ] = ACTIONS(2244),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2242),
    [anon_sym_SLASH] = ACTIONS(2242),
    [anon_sym_PERCENT] = ACTIONS(2242),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2244),
    [anon_sym_CARET] = ACTIONS(2242),
    [anon_sym_LT_LT] = ACTIONS(2244),
    [anon_sym_GT_GT] = ACTIONS(2244),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2244),
    [sym__eq_eq_custom] = ACTIONS(2244),
    [sym__plus_then_ws] = ACTIONS(2244),
    [sym__minus_then_ws] = ACTIONS(2244),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [633] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1671),
    [sym_boolean_literal] = STATE(1671),
    [sym__string_literal] = STATE(1671),
    [sym_line_string_literal] = STATE(1671),
    [sym_multi_line_string_literal] = STATE(1671),
    [sym_raw_string_literal] = STATE(1671),
    [sym_regex_literal] = STATE(1671),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1671),
    [sym__unary_expression] = STATE(1671),
    [sym_postfix_expression] = STATE(1671),
    [sym_constructor_expression] = STATE(1671),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1671),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1671),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1671),
    [sym_prefix_expression] = STATE(1671),
    [sym_as_expression] = STATE(1671),
    [sym_selector_expression] = STATE(1671),
    [sym__binary_expression] = STATE(1671),
    [sym_multiplicative_expression] = STATE(1671),
    [sym_additive_expression] = STATE(1671),
    [sym_range_expression] = STATE(1671),
    [sym_infix_expression] = STATE(1671),
    [sym_nil_coalescing_expression] = STATE(1671),
    [sym_check_expression] = STATE(1671),
    [sym_comparison_expression] = STATE(1671),
    [sym_equality_expression] = STATE(1671),
    [sym_conjunction_expression] = STATE(1671),
    [sym_disjunction_expression] = STATE(1671),
    [sym_bitwise_operation] = STATE(1671),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1671),
    [sym_await_expression] = STATE(1671),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1671),
    [sym_call_expression] = STATE(1671),
    [sym_macro_invocation] = STATE(1671),
    [sym__primary_expression] = STATE(1671),
    [sym_tuple_expression] = STATE(1671),
    [sym_array_literal] = STATE(1671),
    [sym_dictionary_literal] = STATE(1671),
    [sym_special_literal] = STATE(1671),
    [sym_playground_literal] = STATE(1671),
    [sym_lambda_literal] = STATE(1671),
    [sym_self_expression] = STATE(1671),
    [sym_super_expression] = STATE(1671),
    [sym_if_statement] = STATE(1671),
    [sym_switch_statement] = STATE(1671),
    [sym_key_path_expression] = STATE(1671),
    [sym_key_path_string_expression] = STATE(1671),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1671),
    [sym__equality_operator] = STATE(1671),
    [sym__comparison_operator] = STATE(1671),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1671),
    [sym__multiplicative_operator] = STATE(1671),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1671),
    [sym_value_parameter_pack] = STATE(1671),
    [sym_value_pack_expansion] = STATE(1671),
    [sym__referenceable_operator] = STATE(1671),
    [sym__equal_sign] = STATE(1671),
    [sym__eq_eq] = STATE(1671),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1671),
    [sym_diagnostic] = STATE(1671),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2246),
    [sym_real_literal] = ACTIONS(2248),
    [sym_integer_literal] = ACTIONS(2246),
    [sym_hex_literal] = ACTIONS(2246),
    [sym_oct_literal] = ACTIONS(2248),
    [sym_bin_literal] = ACTIONS(2248),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2246),
    [anon_sym_GT] = ACTIONS(2246),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2248),
    [anon_sym_DASH_EQ] = ACTIONS(2248),
    [anon_sym_STAR_EQ] = ACTIONS(2248),
    [anon_sym_SLASH_EQ] = ACTIONS(2248),
    [anon_sym_PERCENT_EQ] = ACTIONS(2248),
    [anon_sym_BANG_EQ] = ACTIONS(2246),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2248),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2248),
    [anon_sym_LT_EQ] = ACTIONS(2248),
    [anon_sym_GT_EQ] = ACTIONS(2248),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2246),
    [anon_sym_SLASH] = ACTIONS(2246),
    [anon_sym_PERCENT] = ACTIONS(2246),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2248),
    [anon_sym_CARET] = ACTIONS(2246),
    [anon_sym_LT_LT] = ACTIONS(2248),
    [anon_sym_GT_GT] = ACTIONS(2248),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2248),
    [sym__eq_eq_custom] = ACTIONS(2248),
    [sym__plus_then_ws] = ACTIONS(2248),
    [sym__minus_then_ws] = ACTIONS(2248),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [634] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1627),
    [sym_boolean_literal] = STATE(1627),
    [sym__string_literal] = STATE(1627),
    [sym_line_string_literal] = STATE(1627),
    [sym_multi_line_string_literal] = STATE(1627),
    [sym_raw_string_literal] = STATE(1627),
    [sym_regex_literal] = STATE(1627),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1627),
    [sym__unary_expression] = STATE(1627),
    [sym_postfix_expression] = STATE(1627),
    [sym_constructor_expression] = STATE(1627),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1627),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1627),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1627),
    [sym_prefix_expression] = STATE(1627),
    [sym_as_expression] = STATE(1627),
    [sym_selector_expression] = STATE(1627),
    [sym__binary_expression] = STATE(1627),
    [sym_multiplicative_expression] = STATE(1627),
    [sym_additive_expression] = STATE(1627),
    [sym_range_expression] = STATE(1627),
    [sym_infix_expression] = STATE(1627),
    [sym_nil_coalescing_expression] = STATE(1627),
    [sym_check_expression] = STATE(1627),
    [sym_comparison_expression] = STATE(1627),
    [sym_equality_expression] = STATE(1627),
    [sym_conjunction_expression] = STATE(1627),
    [sym_disjunction_expression] = STATE(1627),
    [sym_bitwise_operation] = STATE(1627),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1627),
    [sym_await_expression] = STATE(1627),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1627),
    [sym_call_expression] = STATE(1627),
    [sym_macro_invocation] = STATE(1627),
    [sym__primary_expression] = STATE(1627),
    [sym_tuple_expression] = STATE(1627),
    [sym_array_literal] = STATE(1627),
    [sym_dictionary_literal] = STATE(1627),
    [sym_special_literal] = STATE(1627),
    [sym_playground_literal] = STATE(1627),
    [sym_lambda_literal] = STATE(1627),
    [sym_self_expression] = STATE(1627),
    [sym_super_expression] = STATE(1627),
    [sym_if_statement] = STATE(1627),
    [sym_switch_statement] = STATE(1627),
    [sym_key_path_expression] = STATE(1627),
    [sym_key_path_string_expression] = STATE(1627),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1627),
    [sym__equality_operator] = STATE(1627),
    [sym__comparison_operator] = STATE(1627),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1627),
    [sym__multiplicative_operator] = STATE(1627),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1627),
    [sym_value_parameter_pack] = STATE(1627),
    [sym_value_pack_expansion] = STATE(1627),
    [sym__referenceable_operator] = STATE(1627),
    [sym__equal_sign] = STATE(1627),
    [sym__eq_eq] = STATE(1627),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1627),
    [sym_diagnostic] = STATE(1627),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2250),
    [sym_real_literal] = ACTIONS(2252),
    [sym_integer_literal] = ACTIONS(2250),
    [sym_hex_literal] = ACTIONS(2250),
    [sym_oct_literal] = ACTIONS(2252),
    [sym_bin_literal] = ACTIONS(2252),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2250),
    [anon_sym_GT] = ACTIONS(2250),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2252),
    [anon_sym_DASH_EQ] = ACTIONS(2252),
    [anon_sym_STAR_EQ] = ACTIONS(2252),
    [anon_sym_SLASH_EQ] = ACTIONS(2252),
    [anon_sym_PERCENT_EQ] = ACTIONS(2252),
    [anon_sym_BANG_EQ] = ACTIONS(2250),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2252),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2252),
    [anon_sym_LT_EQ] = ACTIONS(2252),
    [anon_sym_GT_EQ] = ACTIONS(2252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2250),
    [anon_sym_SLASH] = ACTIONS(2250),
    [anon_sym_PERCENT] = ACTIONS(2250),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2252),
    [anon_sym_CARET] = ACTIONS(2250),
    [anon_sym_LT_LT] = ACTIONS(2252),
    [anon_sym_GT_GT] = ACTIONS(2252),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2252),
    [sym__eq_eq_custom] = ACTIONS(2252),
    [sym__plus_then_ws] = ACTIONS(2252),
    [sym__minus_then_ws] = ACTIONS(2252),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [635] = {
    [sym_simple_identifier] = STATE(2645),
    [sym__contextual_simple_identifier] = STATE(2445),
    [sym__basic_literal] = STATE(1480),
    [sym_boolean_literal] = STATE(1480),
    [sym__string_literal] = STATE(1480),
    [sym_line_string_literal] = STATE(1480),
    [sym_multi_line_string_literal] = STATE(1480),
    [sym_raw_string_literal] = STATE(1480),
    [sym_regex_literal] = STATE(1480),
    [sym__extended_regex_literal] = STATE(2955),
    [sym__multiline_regex_literal] = STATE(2955),
    [sym_user_type] = STATE(6382),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6382),
    [sym_dictionary_type] = STATE(6382),
    [sym__expression] = STATE(1480),
    [sym__unary_expression] = STATE(1480),
    [sym_postfix_expression] = STATE(1480),
    [sym_constructor_expression] = STATE(1480),
    [sym__parenthesized_type] = STATE(7692),
    [sym_navigation_expression] = STATE(1480),
    [sym__navigable_type_expression] = STATE(7690),
    [sym_open_start_range_expression] = STATE(1480),
    [sym__range_operator] = STATE(672),
    [sym_open_end_range_expression] = STATE(1480),
    [sym_prefix_expression] = STATE(1480),
    [sym_as_expression] = STATE(1480),
    [sym_selector_expression] = STATE(1480),
    [sym__binary_expression] = STATE(1480),
    [sym_multiplicative_expression] = STATE(1480),
    [sym_additive_expression] = STATE(1480),
    [sym_range_expression] = STATE(1480),
    [sym_infix_expression] = STATE(1480),
    [sym_nil_coalescing_expression] = STATE(1480),
    [sym_check_expression] = STATE(1480),
    [sym_comparison_expression] = STATE(1480),
    [sym_equality_expression] = STATE(1480),
    [sym_conjunction_expression] = STATE(1480),
    [sym_disjunction_expression] = STATE(1480),
    [sym_bitwise_operation] = STATE(1480),
    [sym_custom_operator] = STATE(1170),
    [sym_try_expression] = STATE(1480),
    [sym_await_expression] = STATE(1480),
    [sym__await_operator] = STATE(716),
    [sym_ternary_expression] = STATE(1480),
    [sym_call_expression] = STATE(1480),
    [sym_macro_invocation] = STATE(1480),
    [sym__primary_expression] = STATE(1480),
    [sym_tuple_expression] = STATE(1480),
    [sym_array_literal] = STATE(1480),
    [sym_dictionary_literal] = STATE(1480),
    [sym_special_literal] = STATE(1480),
    [sym_playground_literal] = STATE(1480),
    [sym_lambda_literal] = STATE(1480),
    [sym_self_expression] = STATE(1480),
    [sym_super_expression] = STATE(1480),
    [sym_if_statement] = STATE(1480),
    [sym_switch_statement] = STATE(1480),
    [sym_key_path_expression] = STATE(1480),
    [sym_key_path_string_expression] = STATE(1480),
    [sym_try_operator] = STATE(732),
    [sym__assignment_and_operator] = STATE(1480),
    [sym__equality_operator] = STATE(1480),
    [sym__comparison_operator] = STATE(1480),
    [sym__three_dot_operator] = STATE(1173),
    [sym__open_ended_range_operator] = STATE(672),
    [sym__additive_operator] = STATE(1480),
    [sym__multiplicative_operator] = STATE(1480),
    [sym__prefix_unary_operator] = STATE(647),
    [sym_directly_assignable_expression] = STATE(6379),
    [sym_assignment] = STATE(1480),
    [sym_value_parameter_pack] = STATE(1480),
    [sym_value_pack_expansion] = STATE(1480),
    [sym__referenceable_operator] = STATE(1480),
    [sym__equal_sign] = STATE(1480),
    [sym__eq_eq] = STATE(1480),
    [sym__dot] = STATE(647),
    [sym__hash_symbol] = STATE(4854),
    [sym_bang] = STATE(1170),
    [sym__parameter_ownership_modifier] = STATE(2445),
    [sym_directive] = STATE(1480),
    [sym_diagnostic] = STATE(1480),
    [aux_sym_raw_string_literal_repeat1] = STATE(7509),
    [anon_sym_BANG] = ACTIONS(1119),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1121),
    [aux_sym_simple_identifier_token2] = ACTIONS(1123),
    [aux_sym_simple_identifier_token3] = ACTIONS(1123),
    [aux_sym_simple_identifier_token4] = ACTIONS(1123),
    [anon_sym_actor] = ACTIONS(1121),
    [anon_sym_async] = ACTIONS(1121),
    [anon_sym_each] = ACTIONS(1125),
    [anon_sym_lazy] = ACTIONS(1121),
    [anon_sym_repeat] = ACTIONS(1127),
    [anon_sym_package] = ACTIONS(1121),
    [anon_sym_nil] = ACTIONS(2254),
    [sym_real_literal] = ACTIONS(2256),
    [sym_integer_literal] = ACTIONS(2254),
    [sym_hex_literal] = ACTIONS(2254),
    [sym_oct_literal] = ACTIONS(2256),
    [sym_bin_literal] = ACTIONS(2256),
    [anon_sym_true] = ACTIONS(1133),
    [anon_sym_false] = ACTIONS(1133),
    [anon_sym_DQUOTE] = ACTIONS(1135),
    [anon_sym_BSLASH] = ACTIONS(1137),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1139),
    [sym__oneline_regex_literal] = ACTIONS(1141),
    [anon_sym_LPAREN] = ACTIONS(1143),
    [anon_sym_LBRACK] = ACTIONS(1145),
    [anon_sym_AMP] = ACTIONS(1147),
    [anon_sym_TILDE] = ACTIONS(1147),
    [anon_sym_if] = ACTIONS(1149),
    [anon_sym_switch] = ACTIONS(1151),
    [aux_sym_custom_operator_token1] = ACTIONS(1153),
    [anon_sym_LT] = ACTIONS(2254),
    [anon_sym_GT] = ACTIONS(2254),
    [anon_sym_await] = ACTIONS(1155),
    [anon_sym_LBRACE] = ACTIONS(1157),
    [anon_sym_CARET_LBRACE] = ACTIONS(1157),
    [anon_sym_self] = ACTIONS(1159),
    [anon_sym_super] = ACTIONS(1161),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2256),
    [anon_sym_DASH_EQ] = ACTIONS(2256),
    [anon_sym_STAR_EQ] = ACTIONS(2256),
    [anon_sym_SLASH_EQ] = ACTIONS(2256),
    [anon_sym_PERCENT_EQ] = ACTIONS(2256),
    [anon_sym_BANG_EQ] = ACTIONS(2254),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2256),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2256),
    [anon_sym_LT_EQ] = ACTIONS(2256),
    [anon_sym_GT_EQ] = ACTIONS(2256),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1163),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1165),
    [anon_sym_PLUS] = ACTIONS(1167),
    [anon_sym_DASH] = ACTIONS(1167),
    [anon_sym_STAR] = ACTIONS(2254),
    [anon_sym_SLASH] = ACTIONS(2254),
    [anon_sym_PERCENT] = ACTIONS(2254),
    [anon_sym_PLUS_PLUS] = ACTIONS(1147),
    [anon_sym_DASH_DASH] = ACTIONS(1147),
    [anon_sym_PIPE] = ACTIONS(2256),
    [anon_sym_CARET] = ACTIONS(2254),
    [anon_sym_LT_LT] = ACTIONS(2256),
    [anon_sym_GT_GT] = ACTIONS(2256),
    [anon_sym_borrowing] = ACTIONS(1121),
    [anon_sym_consuming] = ACTIONS(1121),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1169),
    [sym__dot_custom] = ACTIONS(1171),
    [sym__eq_custom] = ACTIONS(2256),
    [sym__eq_eq_custom] = ACTIONS(2256),
    [sym__plus_then_ws] = ACTIONS(2256),
    [sym__minus_then_ws] = ACTIONS(2256),
    [sym__bang_custom] = ACTIONS(1173),
    [sym__custom_operator] = ACTIONS(1153),
    [sym__hash_symbol_custom] = ACTIONS(1175),
    [sym__directive_if] = ACTIONS(1177),
    [sym__directive_elseif] = ACTIONS(1177),
    [sym__directive_else] = ACTIONS(1179),
    [sym__directive_endif] = ACTIONS(1179),
  },
  [636] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1658),
    [sym_boolean_literal] = STATE(1658),
    [sym__string_literal] = STATE(1658),
    [sym_line_string_literal] = STATE(1658),
    [sym_multi_line_string_literal] = STATE(1658),
    [sym_raw_string_literal] = STATE(1658),
    [sym_regex_literal] = STATE(1658),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1658),
    [sym__unary_expression] = STATE(1658),
    [sym_postfix_expression] = STATE(1658),
    [sym_constructor_expression] = STATE(1658),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1658),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1658),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1658),
    [sym_prefix_expression] = STATE(1658),
    [sym_as_expression] = STATE(1658),
    [sym_selector_expression] = STATE(1658),
    [sym__binary_expression] = STATE(1658),
    [sym_multiplicative_expression] = STATE(1658),
    [sym_additive_expression] = STATE(1658),
    [sym_range_expression] = STATE(1658),
    [sym_infix_expression] = STATE(1658),
    [sym_nil_coalescing_expression] = STATE(1658),
    [sym_check_expression] = STATE(1658),
    [sym_comparison_expression] = STATE(1658),
    [sym_equality_expression] = STATE(1658),
    [sym_conjunction_expression] = STATE(1658),
    [sym_disjunction_expression] = STATE(1658),
    [sym_bitwise_operation] = STATE(1658),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1658),
    [sym_await_expression] = STATE(1658),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1658),
    [sym_call_expression] = STATE(1658),
    [sym_macro_invocation] = STATE(1658),
    [sym__primary_expression] = STATE(1658),
    [sym_tuple_expression] = STATE(1658),
    [sym_array_literal] = STATE(1658),
    [sym_dictionary_literal] = STATE(1658),
    [sym_special_literal] = STATE(1658),
    [sym_playground_literal] = STATE(1658),
    [sym_lambda_literal] = STATE(1658),
    [sym_self_expression] = STATE(1658),
    [sym_super_expression] = STATE(1658),
    [sym_if_statement] = STATE(1658),
    [sym_switch_statement] = STATE(1658),
    [sym_key_path_expression] = STATE(1658),
    [sym_key_path_string_expression] = STATE(1658),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1658),
    [sym__equality_operator] = STATE(1658),
    [sym__comparison_operator] = STATE(1658),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1658),
    [sym__multiplicative_operator] = STATE(1658),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1658),
    [sym_value_parameter_pack] = STATE(1658),
    [sym_value_pack_expansion] = STATE(1658),
    [sym__referenceable_operator] = STATE(1658),
    [sym__equal_sign] = STATE(1658),
    [sym__eq_eq] = STATE(1658),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1658),
    [sym_diagnostic] = STATE(1658),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2258),
    [sym_real_literal] = ACTIONS(2260),
    [sym_integer_literal] = ACTIONS(2258),
    [sym_hex_literal] = ACTIONS(2258),
    [sym_oct_literal] = ACTIONS(2260),
    [sym_bin_literal] = ACTIONS(2260),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2258),
    [anon_sym_GT] = ACTIONS(2258),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2260),
    [anon_sym_DASH_EQ] = ACTIONS(2260),
    [anon_sym_STAR_EQ] = ACTIONS(2260),
    [anon_sym_SLASH_EQ] = ACTIONS(2260),
    [anon_sym_PERCENT_EQ] = ACTIONS(2260),
    [anon_sym_BANG_EQ] = ACTIONS(2258),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2260),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2260),
    [anon_sym_LT_EQ] = ACTIONS(2260),
    [anon_sym_GT_EQ] = ACTIONS(2260),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2258),
    [anon_sym_SLASH] = ACTIONS(2258),
    [anon_sym_PERCENT] = ACTIONS(2258),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2260),
    [anon_sym_CARET] = ACTIONS(2258),
    [anon_sym_LT_LT] = ACTIONS(2260),
    [anon_sym_GT_GT] = ACTIONS(2260),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2260),
    [sym__eq_eq_custom] = ACTIONS(2260),
    [sym__plus_then_ws] = ACTIONS(2260),
    [sym__minus_then_ws] = ACTIONS(2260),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [637] = {
    [sym_simple_identifier] = STATE(2331),
    [sym__contextual_simple_identifier] = STATE(2240),
    [sym__basic_literal] = STATE(1458),
    [sym_boolean_literal] = STATE(1458),
    [sym__string_literal] = STATE(1458),
    [sym_line_string_literal] = STATE(1458),
    [sym_multi_line_string_literal] = STATE(1458),
    [sym_raw_string_literal] = STATE(1458),
    [sym_regex_literal] = STATE(1458),
    [sym__extended_regex_literal] = STATE(2556),
    [sym__multiline_regex_literal] = STATE(2556),
    [sym_user_type] = STATE(6440),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6440),
    [sym_dictionary_type] = STATE(6440),
    [sym__expression] = STATE(1458),
    [sym__unary_expression] = STATE(1458),
    [sym_postfix_expression] = STATE(1458),
    [sym_constructor_expression] = STATE(1458),
    [sym__parenthesized_type] = STATE(7995),
    [sym_navigation_expression] = STATE(1458),
    [sym__navigable_type_expression] = STATE(8059),
    [sym_open_start_range_expression] = STATE(1458),
    [sym__range_operator] = STATE(576),
    [sym_open_end_range_expression] = STATE(1458),
    [sym_prefix_expression] = STATE(1458),
    [sym_as_expression] = STATE(1458),
    [sym_selector_expression] = STATE(1458),
    [sym__binary_expression] = STATE(1458),
    [sym_multiplicative_expression] = STATE(1458),
    [sym_additive_expression] = STATE(1458),
    [sym_range_expression] = STATE(1458),
    [sym_infix_expression] = STATE(1458),
    [sym_nil_coalescing_expression] = STATE(1458),
    [sym_check_expression] = STATE(1458),
    [sym_comparison_expression] = STATE(1458),
    [sym_equality_expression] = STATE(1458),
    [sym_conjunction_expression] = STATE(1458),
    [sym_disjunction_expression] = STATE(1458),
    [sym_bitwise_operation] = STATE(1458),
    [sym_custom_operator] = STATE(1097),
    [sym_try_expression] = STATE(1458),
    [sym_await_expression] = STATE(1458),
    [sym__await_operator] = STATE(575),
    [sym_ternary_expression] = STATE(1458),
    [sym_call_expression] = STATE(1458),
    [sym_macro_invocation] = STATE(1458),
    [sym__primary_expression] = STATE(1458),
    [sym_tuple_expression] = STATE(1458),
    [sym_array_literal] = STATE(1458),
    [sym_dictionary_literal] = STATE(1458),
    [sym_special_literal] = STATE(1458),
    [sym_playground_literal] = STATE(1458),
    [sym_lambda_literal] = STATE(1458),
    [sym_self_expression] = STATE(1458),
    [sym_super_expression] = STATE(1458),
    [sym_if_statement] = STATE(1458),
    [sym_switch_statement] = STATE(1458),
    [sym_key_path_expression] = STATE(1458),
    [sym_key_path_string_expression] = STATE(1458),
    [sym_try_operator] = STATE(648),
    [sym__assignment_and_operator] = STATE(1458),
    [sym__equality_operator] = STATE(1458),
    [sym__comparison_operator] = STATE(1458),
    [sym__three_dot_operator] = STATE(1089),
    [sym__open_ended_range_operator] = STATE(576),
    [sym__additive_operator] = STATE(1458),
    [sym__multiplicative_operator] = STATE(1458),
    [sym__prefix_unary_operator] = STATE(711),
    [sym_directly_assignable_expression] = STATE(6442),
    [sym_assignment] = STATE(1458),
    [sym_value_parameter_pack] = STATE(1458),
    [sym_value_pack_expansion] = STATE(1458),
    [sym__referenceable_operator] = STATE(1458),
    [sym__equal_sign] = STATE(1458),
    [sym__eq_eq] = STATE(1458),
    [sym__dot] = STATE(711),
    [sym__hash_symbol] = STATE(4850),
    [sym_bang] = STATE(1097),
    [sym__parameter_ownership_modifier] = STATE(2240),
    [sym_directive] = STATE(1458),
    [sym_diagnostic] = STATE(1458),
    [aux_sym_raw_string_literal_repeat1] = STATE(7884),
    [anon_sym_BANG] = ACTIONS(969),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(971),
    [aux_sym_simple_identifier_token2] = ACTIONS(973),
    [aux_sym_simple_identifier_token3] = ACTIONS(973),
    [aux_sym_simple_identifier_token4] = ACTIONS(973),
    [anon_sym_actor] = ACTIONS(971),
    [anon_sym_async] = ACTIONS(971),
    [anon_sym_each] = ACTIONS(975),
    [anon_sym_lazy] = ACTIONS(971),
    [anon_sym_repeat] = ACTIONS(977),
    [anon_sym_package] = ACTIONS(971),
    [anon_sym_nil] = ACTIONS(2262),
    [sym_real_literal] = ACTIONS(2264),
    [sym_integer_literal] = ACTIONS(2262),
    [sym_hex_literal] = ACTIONS(2262),
    [sym_oct_literal] = ACTIONS(2264),
    [sym_bin_literal] = ACTIONS(2264),
    [anon_sym_true] = ACTIONS(983),
    [anon_sym_false] = ACTIONS(983),
    [anon_sym_DQUOTE] = ACTIONS(985),
    [anon_sym_BSLASH] = ACTIONS(987),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(989),
    [sym__oneline_regex_literal] = ACTIONS(991),
    [anon_sym_LPAREN] = ACTIONS(993),
    [anon_sym_LBRACK] = ACTIONS(995),
    [anon_sym_AMP] = ACTIONS(997),
    [anon_sym_TILDE] = ACTIONS(997),
    [anon_sym_if] = ACTIONS(999),
    [anon_sym_switch] = ACTIONS(1001),
    [aux_sym_custom_operator_token1] = ACTIONS(1003),
    [anon_sym_LT] = ACTIONS(2262),
    [anon_sym_GT] = ACTIONS(2262),
    [anon_sym_await] = ACTIONS(1005),
    [anon_sym_LBRACE] = ACTIONS(1007),
    [anon_sym_CARET_LBRACE] = ACTIONS(1007),
    [anon_sym_self] = ACTIONS(1009),
    [anon_sym_super] = ACTIONS(1011),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2264),
    [anon_sym_DASH_EQ] = ACTIONS(2264),
    [anon_sym_STAR_EQ] = ACTIONS(2264),
    [anon_sym_SLASH_EQ] = ACTIONS(2264),
    [anon_sym_PERCENT_EQ] = ACTIONS(2264),
    [anon_sym_BANG_EQ] = ACTIONS(2262),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2264),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2264),
    [anon_sym_LT_EQ] = ACTIONS(2264),
    [anon_sym_GT_EQ] = ACTIONS(2264),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1013),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1015),
    [anon_sym_PLUS] = ACTIONS(1017),
    [anon_sym_DASH] = ACTIONS(1017),
    [anon_sym_STAR] = ACTIONS(2262),
    [anon_sym_SLASH] = ACTIONS(2262),
    [anon_sym_PERCENT] = ACTIONS(2262),
    [anon_sym_PLUS_PLUS] = ACTIONS(997),
    [anon_sym_DASH_DASH] = ACTIONS(997),
    [anon_sym_PIPE] = ACTIONS(2264),
    [anon_sym_CARET] = ACTIONS(2262),
    [anon_sym_LT_LT] = ACTIONS(2264),
    [anon_sym_GT_GT] = ACTIONS(2264),
    [anon_sym_borrowing] = ACTIONS(971),
    [anon_sym_consuming] = ACTIONS(971),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1019),
    [sym__dot_custom] = ACTIONS(1021),
    [sym__eq_custom] = ACTIONS(2264),
    [sym__eq_eq_custom] = ACTIONS(2264),
    [sym__plus_then_ws] = ACTIONS(2264),
    [sym__minus_then_ws] = ACTIONS(2264),
    [sym__bang_custom] = ACTIONS(1023),
    [sym__custom_operator] = ACTIONS(1003),
    [sym__hash_symbol_custom] = ACTIONS(1025),
    [sym__directive_if] = ACTIONS(1027),
    [sym__directive_elseif] = ACTIONS(1027),
    [sym__directive_else] = ACTIONS(1029),
    [sym__directive_endif] = ACTIONS(1029),
  },
  [638] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1550),
    [sym_boolean_literal] = STATE(1550),
    [sym__string_literal] = STATE(1550),
    [sym_line_string_literal] = STATE(1550),
    [sym_multi_line_string_literal] = STATE(1550),
    [sym_raw_string_literal] = STATE(1550),
    [sym_regex_literal] = STATE(1550),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1550),
    [sym__unary_expression] = STATE(1550),
    [sym_postfix_expression] = STATE(1550),
    [sym_constructor_expression] = STATE(1550),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1550),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1550),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1550),
    [sym_prefix_expression] = STATE(1550),
    [sym_as_expression] = STATE(1550),
    [sym_selector_expression] = STATE(1550),
    [sym__binary_expression] = STATE(1550),
    [sym_multiplicative_expression] = STATE(1550),
    [sym_additive_expression] = STATE(1550),
    [sym_range_expression] = STATE(1550),
    [sym_infix_expression] = STATE(1550),
    [sym_nil_coalescing_expression] = STATE(1550),
    [sym_check_expression] = STATE(1550),
    [sym_comparison_expression] = STATE(1550),
    [sym_equality_expression] = STATE(1550),
    [sym_conjunction_expression] = STATE(1550),
    [sym_disjunction_expression] = STATE(1550),
    [sym_bitwise_operation] = STATE(1550),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1550),
    [sym_await_expression] = STATE(1550),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1550),
    [sym_call_expression] = STATE(1550),
    [sym_macro_invocation] = STATE(1550),
    [sym__primary_expression] = STATE(1550),
    [sym_tuple_expression] = STATE(1550),
    [sym_array_literal] = STATE(1550),
    [sym_dictionary_literal] = STATE(1550),
    [sym_special_literal] = STATE(1550),
    [sym_playground_literal] = STATE(1550),
    [sym_lambda_literal] = STATE(1550),
    [sym_self_expression] = STATE(1550),
    [sym_super_expression] = STATE(1550),
    [sym_if_statement] = STATE(1550),
    [sym_switch_statement] = STATE(1550),
    [sym_key_path_expression] = STATE(1550),
    [sym_key_path_string_expression] = STATE(1550),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1550),
    [sym__equality_operator] = STATE(1550),
    [sym__comparison_operator] = STATE(1550),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1550),
    [sym__multiplicative_operator] = STATE(1550),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1550),
    [sym_value_parameter_pack] = STATE(1550),
    [sym_value_pack_expansion] = STATE(1550),
    [sym__referenceable_operator] = STATE(1550),
    [sym__equal_sign] = STATE(1550),
    [sym__eq_eq] = STATE(1550),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1550),
    [sym_diagnostic] = STATE(1550),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2266),
    [sym_real_literal] = ACTIONS(2268),
    [sym_integer_literal] = ACTIONS(2266),
    [sym_hex_literal] = ACTIONS(2266),
    [sym_oct_literal] = ACTIONS(2268),
    [sym_bin_literal] = ACTIONS(2268),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2266),
    [anon_sym_GT] = ACTIONS(2266),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2268),
    [anon_sym_DASH_EQ] = ACTIONS(2268),
    [anon_sym_STAR_EQ] = ACTIONS(2268),
    [anon_sym_SLASH_EQ] = ACTIONS(2268),
    [anon_sym_PERCENT_EQ] = ACTIONS(2268),
    [anon_sym_BANG_EQ] = ACTIONS(2266),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2268),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2268),
    [anon_sym_LT_EQ] = ACTIONS(2268),
    [anon_sym_GT_EQ] = ACTIONS(2268),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2266),
    [anon_sym_SLASH] = ACTIONS(2266),
    [anon_sym_PERCENT] = ACTIONS(2266),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2268),
    [anon_sym_CARET] = ACTIONS(2266),
    [anon_sym_LT_LT] = ACTIONS(2268),
    [anon_sym_GT_GT] = ACTIONS(2268),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2268),
    [sym__eq_eq_custom] = ACTIONS(2268),
    [sym__plus_then_ws] = ACTIONS(2268),
    [sym__minus_then_ws] = ACTIONS(2268),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [639] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1502),
    [sym_boolean_literal] = STATE(1502),
    [sym__string_literal] = STATE(1502),
    [sym_line_string_literal] = STATE(1502),
    [sym_multi_line_string_literal] = STATE(1502),
    [sym_raw_string_literal] = STATE(1502),
    [sym_regex_literal] = STATE(1502),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1502),
    [sym__unary_expression] = STATE(1502),
    [sym_postfix_expression] = STATE(1502),
    [sym_constructor_expression] = STATE(1502),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1502),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1502),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1502),
    [sym_prefix_expression] = STATE(1502),
    [sym_as_expression] = STATE(1502),
    [sym_selector_expression] = STATE(1502),
    [sym__binary_expression] = STATE(887),
    [sym_multiplicative_expression] = STATE(887),
    [sym_additive_expression] = STATE(887),
    [sym_range_expression] = STATE(887),
    [sym_infix_expression] = STATE(887),
    [sym_nil_coalescing_expression] = STATE(887),
    [sym_check_expression] = STATE(887),
    [sym_comparison_expression] = STATE(887),
    [sym_equality_expression] = STATE(887),
    [sym_conjunction_expression] = STATE(887),
    [sym_disjunction_expression] = STATE(887),
    [sym_bitwise_operation] = STATE(887),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1502),
    [sym_await_expression] = STATE(1502),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(886),
    [sym_call_expression] = STATE(884),
    [sym_macro_invocation] = STATE(1502),
    [sym__primary_expression] = STATE(1502),
    [sym_tuple_expression] = STATE(1502),
    [sym_array_literal] = STATE(1502),
    [sym_dictionary_literal] = STATE(1502),
    [sym_special_literal] = STATE(1502),
    [sym_playground_literal] = STATE(1502),
    [sym_lambda_literal] = STATE(1502),
    [sym_self_expression] = STATE(1502),
    [sym_super_expression] = STATE(1502),
    [sym_if_statement] = STATE(1502),
    [sym_switch_statement] = STATE(1502),
    [sym_key_path_expression] = STATE(1502),
    [sym_key_path_string_expression] = STATE(1502),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1502),
    [sym__equality_operator] = STATE(1502),
    [sym__comparison_operator] = STATE(1502),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1502),
    [sym__multiplicative_operator] = STATE(1502),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1502),
    [sym_value_parameter_pack] = STATE(1502),
    [sym_value_pack_expansion] = STATE(1502),
    [sym__referenceable_operator] = STATE(1502),
    [sym__equal_sign] = STATE(1502),
    [sym__eq_eq] = STATE(1502),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1502),
    [sym_diagnostic] = STATE(1502),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2270),
    [sym_real_literal] = ACTIONS(2272),
    [sym_integer_literal] = ACTIONS(2270),
    [sym_hex_literal] = ACTIONS(2270),
    [sym_oct_literal] = ACTIONS(2272),
    [sym_bin_literal] = ACTIONS(2272),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2270),
    [anon_sym_GT] = ACTIONS(2270),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_BANG_EQ] = ACTIONS(2270),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2272),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2270),
    [anon_sym_SLASH] = ACTIONS(2270),
    [anon_sym_PERCENT] = ACTIONS(2270),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2270),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2272),
    [sym__eq_eq_custom] = ACTIONS(2272),
    [sym__plus_then_ws] = ACTIONS(2272),
    [sym__minus_then_ws] = ACTIONS(2272),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [640] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1637),
    [sym_boolean_literal] = STATE(1637),
    [sym__string_literal] = STATE(1637),
    [sym_line_string_literal] = STATE(1637),
    [sym_multi_line_string_literal] = STATE(1637),
    [sym_raw_string_literal] = STATE(1637),
    [sym_regex_literal] = STATE(1637),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1637),
    [sym__unary_expression] = STATE(1637),
    [sym_postfix_expression] = STATE(1637),
    [sym_constructor_expression] = STATE(1637),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1637),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1637),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1637),
    [sym_prefix_expression] = STATE(1637),
    [sym_as_expression] = STATE(1637),
    [sym_selector_expression] = STATE(1637),
    [sym__binary_expression] = STATE(1637),
    [sym_multiplicative_expression] = STATE(1637),
    [sym_additive_expression] = STATE(1637),
    [sym_range_expression] = STATE(1637),
    [sym_infix_expression] = STATE(1637),
    [sym_nil_coalescing_expression] = STATE(1637),
    [sym_check_expression] = STATE(1637),
    [sym_comparison_expression] = STATE(1637),
    [sym_equality_expression] = STATE(1637),
    [sym_conjunction_expression] = STATE(1637),
    [sym_disjunction_expression] = STATE(1637),
    [sym_bitwise_operation] = STATE(1637),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1637),
    [sym_await_expression] = STATE(1637),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1637),
    [sym_call_expression] = STATE(1637),
    [sym_macro_invocation] = STATE(1637),
    [sym__primary_expression] = STATE(1637),
    [sym_tuple_expression] = STATE(1637),
    [sym_array_literal] = STATE(1637),
    [sym_dictionary_literal] = STATE(1637),
    [sym_special_literal] = STATE(1637),
    [sym_playground_literal] = STATE(1637),
    [sym_lambda_literal] = STATE(1637),
    [sym_self_expression] = STATE(1637),
    [sym_super_expression] = STATE(1637),
    [sym_if_statement] = STATE(1637),
    [sym_switch_statement] = STATE(1637),
    [sym_key_path_expression] = STATE(1637),
    [sym_key_path_string_expression] = STATE(1637),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1637),
    [sym__equality_operator] = STATE(1637),
    [sym__comparison_operator] = STATE(1637),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1637),
    [sym__multiplicative_operator] = STATE(1637),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1637),
    [sym_value_parameter_pack] = STATE(1637),
    [sym_value_pack_expansion] = STATE(1637),
    [sym__referenceable_operator] = STATE(1637),
    [sym__equal_sign] = STATE(1637),
    [sym__eq_eq] = STATE(1637),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1637),
    [sym_diagnostic] = STATE(1637),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2274),
    [sym_real_literal] = ACTIONS(2276),
    [sym_integer_literal] = ACTIONS(2274),
    [sym_hex_literal] = ACTIONS(2274),
    [sym_oct_literal] = ACTIONS(2276),
    [sym_bin_literal] = ACTIONS(2276),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2276),
    [anon_sym_DASH_EQ] = ACTIONS(2276),
    [anon_sym_STAR_EQ] = ACTIONS(2276),
    [anon_sym_SLASH_EQ] = ACTIONS(2276),
    [anon_sym_PERCENT_EQ] = ACTIONS(2276),
    [anon_sym_BANG_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2276),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2276),
    [anon_sym_LT_EQ] = ACTIONS(2276),
    [anon_sym_GT_EQ] = ACTIONS(2276),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2276),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2276),
    [anon_sym_GT_GT] = ACTIONS(2276),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2276),
    [sym__eq_eq_custom] = ACTIONS(2276),
    [sym__plus_then_ws] = ACTIONS(2276),
    [sym__minus_then_ws] = ACTIONS(2276),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [641] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1536),
    [sym_boolean_literal] = STATE(1536),
    [sym__string_literal] = STATE(1536),
    [sym_line_string_literal] = STATE(1536),
    [sym_multi_line_string_literal] = STATE(1536),
    [sym_raw_string_literal] = STATE(1536),
    [sym_regex_literal] = STATE(1536),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1536),
    [sym__unary_expression] = STATE(1536),
    [sym_postfix_expression] = STATE(1536),
    [sym_constructor_expression] = STATE(1536),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1536),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1536),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1536),
    [sym_prefix_expression] = STATE(1536),
    [sym_as_expression] = STATE(1536),
    [sym_selector_expression] = STATE(1536),
    [sym__binary_expression] = STATE(1536),
    [sym_multiplicative_expression] = STATE(1536),
    [sym_additive_expression] = STATE(1536),
    [sym_range_expression] = STATE(1536),
    [sym_infix_expression] = STATE(1536),
    [sym_nil_coalescing_expression] = STATE(1536),
    [sym_check_expression] = STATE(1536),
    [sym_comparison_expression] = STATE(1536),
    [sym_equality_expression] = STATE(1536),
    [sym_conjunction_expression] = STATE(1536),
    [sym_disjunction_expression] = STATE(1536),
    [sym_bitwise_operation] = STATE(1536),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1536),
    [sym_await_expression] = STATE(1536),
    [sym__await_operator] = STATE(712),
    [sym_ternary_expression] = STATE(1536),
    [sym_call_expression] = STATE(1536),
    [sym_macro_invocation] = STATE(1536),
    [sym__primary_expression] = STATE(1536),
    [sym_tuple_expression] = STATE(1536),
    [sym_array_literal] = STATE(1536),
    [sym_dictionary_literal] = STATE(1536),
    [sym_special_literal] = STATE(1536),
    [sym_playground_literal] = STATE(1536),
    [sym_lambda_literal] = STATE(1536),
    [sym_self_expression] = STATE(1536),
    [sym_super_expression] = STATE(1536),
    [sym_if_statement] = STATE(1536),
    [sym_switch_statement] = STATE(1536),
    [sym_key_path_expression] = STATE(1536),
    [sym_key_path_string_expression] = STATE(1536),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1536),
    [sym__equality_operator] = STATE(1536),
    [sym__comparison_operator] = STATE(1536),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1536),
    [sym__multiplicative_operator] = STATE(1536),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym_assignment] = STATE(1536),
    [sym_value_parameter_pack] = STATE(1536),
    [sym_value_pack_expansion] = STATE(1536),
    [sym__referenceable_operator] = STATE(1536),
    [sym__equal_sign] = STATE(1536),
    [sym__eq_eq] = STATE(1536),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1536),
    [sym_diagnostic] = STATE(1536),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(2278),
    [sym_real_literal] = ACTIONS(2280),
    [sym_integer_literal] = ACTIONS(2278),
    [sym_hex_literal] = ACTIONS(2278),
    [sym_oct_literal] = ACTIONS(2280),
    [sym_bin_literal] = ACTIONS(2280),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(2278),
    [anon_sym_GT] = ACTIONS(2278),
    [anon_sym_await] = ACTIONS(1067),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2280),
    [anon_sym_DASH_EQ] = ACTIONS(2280),
    [anon_sym_STAR_EQ] = ACTIONS(2280),
    [anon_sym_SLASH_EQ] = ACTIONS(2280),
    [anon_sym_PERCENT_EQ] = ACTIONS(2280),
    [anon_sym_BANG_EQ] = ACTIONS(2278),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2280),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2280),
    [anon_sym_LT_EQ] = ACTIONS(2280),
    [anon_sym_GT_EQ] = ACTIONS(2280),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(2278),
    [anon_sym_SLASH] = ACTIONS(2278),
    [anon_sym_PERCENT] = ACTIONS(2278),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(2280),
    [anon_sym_CARET] = ACTIONS(2278),
    [anon_sym_LT_LT] = ACTIONS(2280),
    [anon_sym_GT_GT] = ACTIONS(2280),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(2280),
    [sym__eq_eq_custom] = ACTIONS(2280),
    [sym__plus_then_ws] = ACTIONS(2280),
    [sym__minus_then_ws] = ACTIONS(2280),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [642] = {
    [sym_simple_identifier] = STATE(3108),
    [sym__contextual_simple_identifier] = STATE(2967),
    [sym__basic_literal] = STATE(1613),
    [sym_boolean_literal] = STATE(1613),
    [sym__string_literal] = STATE(1613),
    [sym_line_string_literal] = STATE(1613),
    [sym_multi_line_string_literal] = STATE(1613),
    [sym_raw_string_literal] = STATE(1613),
    [sym_regex_literal] = STATE(1613),
    [sym__extended_regex_literal] = STATE(3663),
    [sym__multiline_regex_literal] = STATE(3663),
    [sym_user_type] = STATE(6406),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6406),
    [sym_dictionary_type] = STATE(6406),
    [sym__expression] = STATE(1613),
    [sym__unary_expression] = STATE(1613),
    [sym_postfix_expression] = STATE(1613),
    [sym_constructor_expression] = STATE(1613),
    [sym__parenthesized_type] = STATE(7557),
    [sym_navigation_expression] = STATE(1613),
    [sym__navigable_type_expression] = STATE(7558),
    [sym_open_start_range_expression] = STATE(1613),
    [sym__range_operator] = STATE(592),
    [sym_open_end_range_expression] = STATE(1613),
    [sym_prefix_expression] = STATE(1613),
    [sym_as_expression] = STATE(1613),
    [sym_selector_expression] = STATE(1613),
    [sym__binary_expression] = STATE(1613),
    [sym_multiplicative_expression] = STATE(1613),
    [sym_additive_expression] = STATE(1613),
    [sym_range_expression] = STATE(1613),
    [sym_infix_expression] = STATE(1613),
    [sym_nil_coalescing_expression] = STATE(1613),
    [sym_check_expression] = STATE(1613),
    [sym_comparison_expression] = STATE(1613),
    [sym_equality_expression] = STATE(1613),
    [sym_conjunction_expression] = STATE(1613),
    [sym_disjunction_expression] = STATE(1613),
    [sym_bitwise_operation] = STATE(1613),
    [sym_custom_operator] = STATE(1288),
    [sym_try_expression] = STATE(1613),
    [sym_await_expression] = STATE(1613),
    [sym__await_operator] = STATE(595),
    [sym_ternary_expression] = STATE(1613),
    [sym_call_expression] = STATE(1613),
    [sym_macro_invocation] = STATE(1613),
    [sym__primary_expression] = STATE(1613),
    [sym_tuple_expression] = STATE(1613),
    [sym_array_literal] = STATE(1613),
    [sym_dictionary_literal] = STATE(1613),
    [sym_special_literal] = STATE(1613),
    [sym_playground_literal] = STATE(1613),
    [sym_lambda_literal] = STATE(1613),
    [sym_self_expression] = STATE(1613),
    [sym_super_expression] = STATE(1613),
    [sym_if_statement] = STATE(1613),
    [sym_switch_statement] = STATE(1613),
    [sym_key_path_expression] = STATE(1613),
    [sym_key_path_string_expression] = STATE(1613),
    [sym_try_operator] = STATE(611),
    [sym__assignment_and_operator] = STATE(1613),
    [sym__equality_operator] = STATE(1613),
    [sym__comparison_operator] = STATE(1613),
    [sym__three_dot_operator] = STATE(1257),
    [sym__open_ended_range_operator] = STATE(592),
    [sym__additive_operator] = STATE(1613),
    [sym__multiplicative_operator] = STATE(1613),
    [sym__prefix_unary_operator] = STATE(620),
    [sym_directly_assignable_expression] = STATE(6409),
    [sym_assignment] = STATE(1613),
    [sym_value_parameter_pack] = STATE(1613),
    [sym_value_pack_expansion] = STATE(1613),
    [sym__referenceable_operator] = STATE(1613),
    [sym__equal_sign] = STATE(1613),
    [sym__eq_eq] = STATE(1613),
    [sym__dot] = STATE(620),
    [sym__hash_symbol] = STATE(4853),
    [sym_bang] = STATE(1288),
    [sym__parameter_ownership_modifier] = STATE(2967),
    [sym_directive] = STATE(1613),
    [sym_diagnostic] = STATE(1613),
    [aux_sym_raw_string_literal_repeat1] = STATE(7564),
    [anon_sym_BANG] = ACTIONS(1293),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1295),
    [aux_sym_simple_identifier_token2] = ACTIONS(1297),
    [aux_sym_simple_identifier_token3] = ACTIONS(1297),
    [aux_sym_simple_identifier_token4] = ACTIONS(1297),
    [anon_sym_actor] = ACTIONS(1295),
    [anon_sym_async] = ACTIONS(1295),
    [anon_sym_each] = ACTIONS(1301),
    [anon_sym_lazy] = ACTIONS(1295),
    [anon_sym_repeat] = ACTIONS(1303),
    [anon_sym_package] = ACTIONS(1295),
    [anon_sym_nil] = ACTIONS(2282),
    [sym_real_literal] = ACTIONS(2284),
    [sym_integer_literal] = ACTIONS(2282),
    [sym_hex_literal] = ACTIONS(2282),
    [sym_oct_literal] = ACTIONS(2284),
    [sym_bin_literal] = ACTIONS(2284),
    [anon_sym_true] = ACTIONS(1309),
    [anon_sym_false] = ACTIONS(1309),
    [anon_sym_DQUOTE] = ACTIONS(1311),
    [anon_sym_BSLASH] = ACTIONS(1313),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1315),
    [sym__oneline_regex_literal] = ACTIONS(1317),
    [anon_sym_LPAREN] = ACTIONS(1319),
    [anon_sym_LBRACK] = ACTIONS(1321),
    [anon_sym_AMP] = ACTIONS(1323),
    [anon_sym_TILDE] = ACTIONS(1323),
    [anon_sym_if] = ACTIONS(1325),
    [anon_sym_switch] = ACTIONS(1327),
    [aux_sym_custom_operator_token1] = ACTIONS(1329),
    [anon_sym_LT] = ACTIONS(2282),
    [anon_sym_GT] = ACTIONS(2282),
    [anon_sym_await] = ACTIONS(1331),
    [anon_sym_LBRACE] = ACTIONS(1333),
    [anon_sym_CARET_LBRACE] = ACTIONS(1333),
    [anon_sym_self] = ACTIONS(1335),
    [anon_sym_super] = ACTIONS(1337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2284),
    [anon_sym_DASH_EQ] = ACTIONS(2284),
    [anon_sym_STAR_EQ] = ACTIONS(2284),
    [anon_sym_SLASH_EQ] = ACTIONS(2284),
    [anon_sym_PERCENT_EQ] = ACTIONS(2284),
    [anon_sym_BANG_EQ] = ACTIONS(2282),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2284),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2284),
    [anon_sym_LT_EQ] = ACTIONS(2284),
    [anon_sym_GT_EQ] = ACTIONS(2284),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1341),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1343),
    [anon_sym_PLUS] = ACTIONS(1345),
    [anon_sym_DASH] = ACTIONS(1345),
    [anon_sym_STAR] = ACTIONS(2282),
    [anon_sym_SLASH] = ACTIONS(2282),
    [anon_sym_PERCENT] = ACTIONS(2282),
    [anon_sym_PLUS_PLUS] = ACTIONS(1323),
    [anon_sym_DASH_DASH] = ACTIONS(1323),
    [anon_sym_PIPE] = ACTIONS(2284),
    [anon_sym_CARET] = ACTIONS(2282),
    [anon_sym_LT_LT] = ACTIONS(2284),
    [anon_sym_GT_GT] = ACTIONS(2284),
    [anon_sym_borrowing] = ACTIONS(1295),
    [anon_sym_consuming] = ACTIONS(1295),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1347),
    [sym__dot_custom] = ACTIONS(1349),
    [sym__eq_custom] = ACTIONS(2284),
    [sym__eq_eq_custom] = ACTIONS(2284),
    [sym__plus_then_ws] = ACTIONS(2284),
    [sym__minus_then_ws] = ACTIONS(2284),
    [sym__bang_custom] = ACTIONS(1351),
    [sym__custom_operator] = ACTIONS(1329),
    [sym__hash_symbol_custom] = ACTIONS(1371),
    [sym__directive_if] = ACTIONS(1355),
    [sym__directive_elseif] = ACTIONS(1355),
    [sym__directive_else] = ACTIONS(1357),
    [sym__directive_endif] = ACTIONS(1357),
  },
  [643] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1529),
    [sym_boolean_literal] = STATE(1529),
    [sym__string_literal] = STATE(1529),
    [sym_line_string_literal] = STATE(1529),
    [sym_multi_line_string_literal] = STATE(1529),
    [sym_raw_string_literal] = STATE(1529),
    [sym_regex_literal] = STATE(1529),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1529),
    [sym__unary_expression] = STATE(1529),
    [sym_postfix_expression] = STATE(1529),
    [sym_constructor_expression] = STATE(1529),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1529),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1529),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1529),
    [sym_prefix_expression] = STATE(1529),
    [sym_as_expression] = STATE(1529),
    [sym_selector_expression] = STATE(1529),
    [sym__binary_expression] = STATE(1529),
    [sym_multiplicative_expression] = STATE(1529),
    [sym_additive_expression] = STATE(1529),
    [sym_range_expression] = STATE(1529),
    [sym_infix_expression] = STATE(1529),
    [sym_nil_coalescing_expression] = STATE(1529),
    [sym_check_expression] = STATE(1529),
    [sym_comparison_expression] = STATE(1529),
    [sym_equality_expression] = STATE(1529),
    [sym_conjunction_expression] = STATE(1529),
    [sym_disjunction_expression] = STATE(1529),
    [sym_bitwise_operation] = STATE(1529),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1529),
    [sym_await_expression] = STATE(1529),
    [sym__await_operator] = STATE(712),
    [sym_ternary_expression] = STATE(1529),
    [sym_call_expression] = STATE(1529),
    [sym_macro_invocation] = STATE(1529),
    [sym__primary_expression] = STATE(1529),
    [sym_tuple_expression] = STATE(1529),
    [sym_array_literal] = STATE(1529),
    [sym_dictionary_literal] = STATE(1529),
    [sym_special_literal] = STATE(1529),
    [sym_playground_literal] = STATE(1529),
    [sym_lambda_literal] = STATE(1529),
    [sym_self_expression] = STATE(1529),
    [sym_super_expression] = STATE(1529),
    [sym_if_statement] = STATE(1529),
    [sym_switch_statement] = STATE(1529),
    [sym_key_path_expression] = STATE(1529),
    [sym_key_path_string_expression] = STATE(1529),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1529),
    [sym__equality_operator] = STATE(1529),
    [sym__comparison_operator] = STATE(1529),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1529),
    [sym__multiplicative_operator] = STATE(1529),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym_assignment] = STATE(1529),
    [sym_value_parameter_pack] = STATE(1529),
    [sym_value_pack_expansion] = STATE(1529),
    [sym__referenceable_operator] = STATE(1529),
    [sym__equal_sign] = STATE(1529),
    [sym__eq_eq] = STATE(1529),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1529),
    [sym_diagnostic] = STATE(1529),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(2286),
    [sym_real_literal] = ACTIONS(2288),
    [sym_integer_literal] = ACTIONS(2286),
    [sym_hex_literal] = ACTIONS(2286),
    [sym_oct_literal] = ACTIONS(2288),
    [sym_bin_literal] = ACTIONS(2288),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(2286),
    [anon_sym_GT] = ACTIONS(2286),
    [anon_sym_await] = ACTIONS(1067),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2288),
    [anon_sym_DASH_EQ] = ACTIONS(2288),
    [anon_sym_STAR_EQ] = ACTIONS(2288),
    [anon_sym_SLASH_EQ] = ACTIONS(2288),
    [anon_sym_PERCENT_EQ] = ACTIONS(2288),
    [anon_sym_BANG_EQ] = ACTIONS(2286),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2288),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2288),
    [anon_sym_LT_EQ] = ACTIONS(2288),
    [anon_sym_GT_EQ] = ACTIONS(2288),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(2286),
    [anon_sym_SLASH] = ACTIONS(2286),
    [anon_sym_PERCENT] = ACTIONS(2286),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(2288),
    [anon_sym_CARET] = ACTIONS(2286),
    [anon_sym_LT_LT] = ACTIONS(2288),
    [anon_sym_GT_GT] = ACTIONS(2288),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(2288),
    [sym__eq_eq_custom] = ACTIONS(2288),
    [sym__plus_then_ws] = ACTIONS(2288),
    [sym__minus_then_ws] = ACTIONS(2288),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [644] = {
    [sym_simple_identifier] = STATE(1217),
    [sym__contextual_simple_identifier] = STATE(1147),
    [sym__basic_literal] = STATE(779),
    [sym_boolean_literal] = STATE(779),
    [sym__string_literal] = STATE(779),
    [sym_line_string_literal] = STATE(779),
    [sym_multi_line_string_literal] = STATE(779),
    [sym_raw_string_literal] = STATE(779),
    [sym_regex_literal] = STATE(779),
    [sym__extended_regex_literal] = STATE(1286),
    [sym__multiline_regex_literal] = STATE(1286),
    [sym_user_type] = STATE(6397),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6397),
    [sym_dictionary_type] = STATE(6397),
    [sym__expression] = STATE(779),
    [sym__unary_expression] = STATE(779),
    [sym_postfix_expression] = STATE(779),
    [sym_constructor_expression] = STATE(779),
    [sym__parenthesized_type] = STATE(7511),
    [sym_navigation_expression] = STATE(779),
    [sym__navigable_type_expression] = STATE(7510),
    [sym_open_start_range_expression] = STATE(779),
    [sym__range_operator] = STATE(695),
    [sym_open_end_range_expression] = STATE(779),
    [sym_prefix_expression] = STATE(779),
    [sym_as_expression] = STATE(779),
    [sym_selector_expression] = STATE(779),
    [sym__binary_expression] = STATE(779),
    [sym_multiplicative_expression] = STATE(779),
    [sym_additive_expression] = STATE(779),
    [sym_range_expression] = STATE(779),
    [sym_infix_expression] = STATE(779),
    [sym_nil_coalescing_expression] = STATE(779),
    [sym_check_expression] = STATE(779),
    [sym_comparison_expression] = STATE(779),
    [sym_equality_expression] = STATE(779),
    [sym_conjunction_expression] = STATE(779),
    [sym_disjunction_expression] = STATE(779),
    [sym_bitwise_operation] = STATE(779),
    [sym_custom_operator] = STATE(759),
    [sym_try_expression] = STATE(779),
    [sym_await_expression] = STATE(779),
    [sym__await_operator] = STATE(644),
    [sym_ternary_expression] = STATE(1275),
    [sym_call_expression] = STATE(1274),
    [sym_macro_invocation] = STATE(779),
    [sym__primary_expression] = STATE(779),
    [sym_tuple_expression] = STATE(779),
    [sym_array_literal] = STATE(779),
    [sym_dictionary_literal] = STATE(779),
    [sym_special_literal] = STATE(779),
    [sym_playground_literal] = STATE(779),
    [sym_lambda_literal] = STATE(779),
    [sym_self_expression] = STATE(779),
    [sym_super_expression] = STATE(779),
    [sym_if_statement] = STATE(779),
    [sym_switch_statement] = STATE(779),
    [sym_key_path_expression] = STATE(779),
    [sym_key_path_string_expression] = STATE(779),
    [sym_try_operator] = STATE(645),
    [sym__assignment_and_operator] = STATE(779),
    [sym__equality_operator] = STATE(779),
    [sym__comparison_operator] = STATE(779),
    [sym__three_dot_operator] = STATE(761),
    [sym__open_ended_range_operator] = STATE(695),
    [sym__additive_operator] = STATE(779),
    [sym__multiplicative_operator] = STATE(779),
    [sym__prefix_unary_operator] = STATE(659),
    [sym_directly_assignable_expression] = STATE(6398),
    [sym_assignment] = STATE(779),
    [sym_value_parameter_pack] = STATE(779),
    [sym_value_pack_expansion] = STATE(779),
    [sym__referenceable_operator] = STATE(779),
    [sym__equal_sign] = STATE(779),
    [sym__eq_eq] = STATE(779),
    [sym__dot] = STATE(659),
    [sym__hash_symbol] = STATE(4848),
    [sym_bang] = STATE(759),
    [sym__parameter_ownership_modifier] = STATE(1147),
    [sym_directive] = STATE(779),
    [sym_diagnostic] = STATE(779),
    [aux_sym_raw_string_literal_repeat1] = STATE(7499),
    [anon_sym_BANG] = ACTIONS(659),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(661),
    [aux_sym_simple_identifier_token2] = ACTIONS(663),
    [aux_sym_simple_identifier_token3] = ACTIONS(663),
    [aux_sym_simple_identifier_token4] = ACTIONS(663),
    [anon_sym_actor] = ACTIONS(661),
    [anon_sym_async] = ACTIONS(661),
    [anon_sym_each] = ACTIONS(665),
    [anon_sym_lazy] = ACTIONS(661),
    [anon_sym_repeat] = ACTIONS(667),
    [anon_sym_package] = ACTIONS(661),
    [anon_sym_nil] = ACTIONS(2290),
    [sym_real_literal] = ACTIONS(2292),
    [sym_integer_literal] = ACTIONS(2290),
    [sym_hex_literal] = ACTIONS(2290),
    [sym_oct_literal] = ACTIONS(2292),
    [sym_bin_literal] = ACTIONS(2292),
    [anon_sym_true] = ACTIONS(673),
    [anon_sym_false] = ACTIONS(673),
    [anon_sym_DQUOTE] = ACTIONS(675),
    [anon_sym_BSLASH] = ACTIONS(677),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(679),
    [sym__oneline_regex_literal] = ACTIONS(681),
    [anon_sym_LPAREN] = ACTIONS(683),
    [anon_sym_LBRACK] = ACTIONS(685),
    [anon_sym_AMP] = ACTIONS(687),
    [anon_sym_TILDE] = ACTIONS(687),
    [anon_sym_if] = ACTIONS(689),
    [anon_sym_switch] = ACTIONS(691),
    [aux_sym_custom_operator_token1] = ACTIONS(693),
    [anon_sym_LT] = ACTIONS(2290),
    [anon_sym_GT] = ACTIONS(2290),
    [anon_sym_await] = ACTIONS(695),
    [anon_sym_LBRACE] = ACTIONS(697),
    [anon_sym_CARET_LBRACE] = ACTIONS(697),
    [anon_sym_self] = ACTIONS(699),
    [anon_sym_super] = ACTIONS(701),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2292),
    [anon_sym_DASH_EQ] = ACTIONS(2292),
    [anon_sym_STAR_EQ] = ACTIONS(2292),
    [anon_sym_SLASH_EQ] = ACTIONS(2292),
    [anon_sym_PERCENT_EQ] = ACTIONS(2292),
    [anon_sym_BANG_EQ] = ACTIONS(2290),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2292),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2292),
    [anon_sym_LT_EQ] = ACTIONS(2292),
    [anon_sym_GT_EQ] = ACTIONS(2292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(703),
    [anon_sym_DOT_DOT_LT] = ACTIONS(705),
    [anon_sym_PLUS] = ACTIONS(707),
    [anon_sym_DASH] = ACTIONS(707),
    [anon_sym_STAR] = ACTIONS(2290),
    [anon_sym_SLASH] = ACTIONS(2290),
    [anon_sym_PERCENT] = ACTIONS(2290),
    [anon_sym_PLUS_PLUS] = ACTIONS(687),
    [anon_sym_DASH_DASH] = ACTIONS(687),
    [anon_sym_PIPE] = ACTIONS(2292),
    [anon_sym_CARET] = ACTIONS(2290),
    [anon_sym_LT_LT] = ACTIONS(2292),
    [anon_sym_GT_GT] = ACTIONS(2292),
    [anon_sym_borrowing] = ACTIONS(661),
    [anon_sym_consuming] = ACTIONS(661),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(709),
    [sym__dot_custom] = ACTIONS(711),
    [sym__eq_custom] = ACTIONS(2292),
    [sym__eq_eq_custom] = ACTIONS(2292),
    [sym__plus_then_ws] = ACTIONS(2292),
    [sym__minus_then_ws] = ACTIONS(2292),
    [sym__bang_custom] = ACTIONS(713),
    [sym__custom_operator] = ACTIONS(693),
    [sym__hash_symbol_custom] = ACTIONS(715),
    [sym__directive_if] = ACTIONS(717),
    [sym__directive_elseif] = ACTIONS(717),
    [sym__directive_else] = ACTIONS(719),
    [sym__directive_endif] = ACTIONS(719),
  },
  [645] = {
    [sym_simple_identifier] = STATE(1217),
    [sym__contextual_simple_identifier] = STATE(1147),
    [sym__basic_literal] = STATE(778),
    [sym_boolean_literal] = STATE(778),
    [sym__string_literal] = STATE(778),
    [sym_line_string_literal] = STATE(778),
    [sym_multi_line_string_literal] = STATE(778),
    [sym_raw_string_literal] = STATE(778),
    [sym_regex_literal] = STATE(778),
    [sym__extended_regex_literal] = STATE(1286),
    [sym__multiline_regex_literal] = STATE(1286),
    [sym_user_type] = STATE(6397),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6397),
    [sym_dictionary_type] = STATE(6397),
    [sym__expression] = STATE(778),
    [sym__unary_expression] = STATE(778),
    [sym_postfix_expression] = STATE(778),
    [sym_constructor_expression] = STATE(778),
    [sym__parenthesized_type] = STATE(7511),
    [sym_navigation_expression] = STATE(778),
    [sym__navigable_type_expression] = STATE(7510),
    [sym_open_start_range_expression] = STATE(778),
    [sym__range_operator] = STATE(695),
    [sym_open_end_range_expression] = STATE(778),
    [sym_prefix_expression] = STATE(778),
    [sym_as_expression] = STATE(778),
    [sym_selector_expression] = STATE(778),
    [sym__binary_expression] = STATE(1271),
    [sym_multiplicative_expression] = STATE(1271),
    [sym_additive_expression] = STATE(1271),
    [sym_range_expression] = STATE(1271),
    [sym_infix_expression] = STATE(1271),
    [sym_nil_coalescing_expression] = STATE(1271),
    [sym_check_expression] = STATE(1271),
    [sym_comparison_expression] = STATE(1271),
    [sym_equality_expression] = STATE(1271),
    [sym_conjunction_expression] = STATE(1271),
    [sym_disjunction_expression] = STATE(1271),
    [sym_bitwise_operation] = STATE(1271),
    [sym_custom_operator] = STATE(759),
    [sym_try_expression] = STATE(778),
    [sym_await_expression] = STATE(778),
    [sym__await_operator] = STATE(644),
    [sym_ternary_expression] = STATE(1269),
    [sym_call_expression] = STATE(1268),
    [sym_macro_invocation] = STATE(778),
    [sym__primary_expression] = STATE(778),
    [sym_tuple_expression] = STATE(778),
    [sym_array_literal] = STATE(778),
    [sym_dictionary_literal] = STATE(778),
    [sym_special_literal] = STATE(778),
    [sym_playground_literal] = STATE(778),
    [sym_lambda_literal] = STATE(778),
    [sym_self_expression] = STATE(778),
    [sym_super_expression] = STATE(778),
    [sym_if_statement] = STATE(778),
    [sym_switch_statement] = STATE(778),
    [sym_key_path_expression] = STATE(778),
    [sym_key_path_string_expression] = STATE(778),
    [sym_try_operator] = STATE(645),
    [sym__assignment_and_operator] = STATE(778),
    [sym__equality_operator] = STATE(778),
    [sym__comparison_operator] = STATE(778),
    [sym__three_dot_operator] = STATE(761),
    [sym__open_ended_range_operator] = STATE(695),
    [sym__additive_operator] = STATE(778),
    [sym__multiplicative_operator] = STATE(778),
    [sym__prefix_unary_operator] = STATE(659),
    [sym_directly_assignable_expression] = STATE(6398),
    [sym_assignment] = STATE(778),
    [sym_value_parameter_pack] = STATE(778),
    [sym_value_pack_expansion] = STATE(778),
    [sym__referenceable_operator] = STATE(778),
    [sym__equal_sign] = STATE(778),
    [sym__eq_eq] = STATE(778),
    [sym__dot] = STATE(659),
    [sym__hash_symbol] = STATE(4848),
    [sym_bang] = STATE(759),
    [sym__parameter_ownership_modifier] = STATE(1147),
    [sym_directive] = STATE(778),
    [sym_diagnostic] = STATE(778),
    [aux_sym_raw_string_literal_repeat1] = STATE(7499),
    [anon_sym_BANG] = ACTIONS(659),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(661),
    [aux_sym_simple_identifier_token2] = ACTIONS(663),
    [aux_sym_simple_identifier_token3] = ACTIONS(663),
    [aux_sym_simple_identifier_token4] = ACTIONS(663),
    [anon_sym_actor] = ACTIONS(661),
    [anon_sym_async] = ACTIONS(661),
    [anon_sym_each] = ACTIONS(665),
    [anon_sym_lazy] = ACTIONS(661),
    [anon_sym_repeat] = ACTIONS(667),
    [anon_sym_package] = ACTIONS(661),
    [anon_sym_nil] = ACTIONS(2294),
    [sym_real_literal] = ACTIONS(2296),
    [sym_integer_literal] = ACTIONS(2294),
    [sym_hex_literal] = ACTIONS(2294),
    [sym_oct_literal] = ACTIONS(2296),
    [sym_bin_literal] = ACTIONS(2296),
    [anon_sym_true] = ACTIONS(673),
    [anon_sym_false] = ACTIONS(673),
    [anon_sym_DQUOTE] = ACTIONS(675),
    [anon_sym_BSLASH] = ACTIONS(677),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(679),
    [sym__oneline_regex_literal] = ACTIONS(681),
    [anon_sym_LPAREN] = ACTIONS(683),
    [anon_sym_LBRACK] = ACTIONS(685),
    [anon_sym_AMP] = ACTIONS(687),
    [anon_sym_TILDE] = ACTIONS(687),
    [anon_sym_if] = ACTIONS(689),
    [anon_sym_switch] = ACTIONS(691),
    [aux_sym_custom_operator_token1] = ACTIONS(693),
    [anon_sym_LT] = ACTIONS(2294),
    [anon_sym_GT] = ACTIONS(2294),
    [anon_sym_await] = ACTIONS(695),
    [anon_sym_LBRACE] = ACTIONS(697),
    [anon_sym_CARET_LBRACE] = ACTIONS(697),
    [anon_sym_self] = ACTIONS(699),
    [anon_sym_super] = ACTIONS(701),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2296),
    [anon_sym_DASH_EQ] = ACTIONS(2296),
    [anon_sym_STAR_EQ] = ACTIONS(2296),
    [anon_sym_SLASH_EQ] = ACTIONS(2296),
    [anon_sym_PERCENT_EQ] = ACTIONS(2296),
    [anon_sym_BANG_EQ] = ACTIONS(2294),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2296),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2296),
    [anon_sym_LT_EQ] = ACTIONS(2296),
    [anon_sym_GT_EQ] = ACTIONS(2296),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(703),
    [anon_sym_DOT_DOT_LT] = ACTIONS(705),
    [anon_sym_PLUS] = ACTIONS(707),
    [anon_sym_DASH] = ACTIONS(707),
    [anon_sym_STAR] = ACTIONS(2294),
    [anon_sym_SLASH] = ACTIONS(2294),
    [anon_sym_PERCENT] = ACTIONS(2294),
    [anon_sym_PLUS_PLUS] = ACTIONS(687),
    [anon_sym_DASH_DASH] = ACTIONS(687),
    [anon_sym_PIPE] = ACTIONS(2296),
    [anon_sym_CARET] = ACTIONS(2294),
    [anon_sym_LT_LT] = ACTIONS(2296),
    [anon_sym_GT_GT] = ACTIONS(2296),
    [anon_sym_borrowing] = ACTIONS(661),
    [anon_sym_consuming] = ACTIONS(661),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(709),
    [sym__dot_custom] = ACTIONS(711),
    [sym__eq_custom] = ACTIONS(2296),
    [sym__eq_eq_custom] = ACTIONS(2296),
    [sym__plus_then_ws] = ACTIONS(2296),
    [sym__minus_then_ws] = ACTIONS(2296),
    [sym__bang_custom] = ACTIONS(713),
    [sym__custom_operator] = ACTIONS(693),
    [sym__hash_symbol_custom] = ACTIONS(715),
    [sym__directive_if] = ACTIONS(717),
    [sym__directive_elseif] = ACTIONS(717),
    [sym__directive_else] = ACTIONS(719),
    [sym__directive_endif] = ACTIONS(719),
  },
  [646] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1672),
    [sym_boolean_literal] = STATE(1672),
    [sym__string_literal] = STATE(1672),
    [sym_line_string_literal] = STATE(1672),
    [sym_multi_line_string_literal] = STATE(1672),
    [sym_raw_string_literal] = STATE(1672),
    [sym_regex_literal] = STATE(1672),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1672),
    [sym__unary_expression] = STATE(1672),
    [sym_postfix_expression] = STATE(1672),
    [sym_constructor_expression] = STATE(1672),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1672),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1672),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1672),
    [sym_prefix_expression] = STATE(1672),
    [sym_as_expression] = STATE(1672),
    [sym_selector_expression] = STATE(1672),
    [sym__binary_expression] = STATE(1672),
    [sym_multiplicative_expression] = STATE(1672),
    [sym_additive_expression] = STATE(1672),
    [sym_range_expression] = STATE(1672),
    [sym_infix_expression] = STATE(1672),
    [sym_nil_coalescing_expression] = STATE(1672),
    [sym_check_expression] = STATE(1672),
    [sym_comparison_expression] = STATE(1672),
    [sym_equality_expression] = STATE(1672),
    [sym_conjunction_expression] = STATE(1672),
    [sym_disjunction_expression] = STATE(1672),
    [sym_bitwise_operation] = STATE(1672),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1672),
    [sym_await_expression] = STATE(1672),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1672),
    [sym_call_expression] = STATE(1672),
    [sym_macro_invocation] = STATE(1672),
    [sym__primary_expression] = STATE(1672),
    [sym_tuple_expression] = STATE(1672),
    [sym_array_literal] = STATE(1672),
    [sym_dictionary_literal] = STATE(1672),
    [sym_special_literal] = STATE(1672),
    [sym_playground_literal] = STATE(1672),
    [sym_lambda_literal] = STATE(1672),
    [sym_self_expression] = STATE(1672),
    [sym_super_expression] = STATE(1672),
    [sym_if_statement] = STATE(1672),
    [sym_switch_statement] = STATE(1672),
    [sym_key_path_expression] = STATE(1672),
    [sym_key_path_string_expression] = STATE(1672),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1672),
    [sym__equality_operator] = STATE(1672),
    [sym__comparison_operator] = STATE(1672),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1672),
    [sym__multiplicative_operator] = STATE(1672),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1672),
    [sym_value_parameter_pack] = STATE(1672),
    [sym_value_pack_expansion] = STATE(1672),
    [sym__referenceable_operator] = STATE(1672),
    [sym__equal_sign] = STATE(1672),
    [sym__eq_eq] = STATE(1672),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1672),
    [sym_diagnostic] = STATE(1672),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1185),
    [sym_real_literal] = ACTIONS(1187),
    [sym_integer_literal] = ACTIONS(1185),
    [sym_hex_literal] = ACTIONS(1185),
    [sym_oct_literal] = ACTIONS(1187),
    [sym_bin_literal] = ACTIONS(1187),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1185),
    [anon_sym_GT] = ACTIONS(1185),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1187),
    [anon_sym_DASH_EQ] = ACTIONS(1187),
    [anon_sym_STAR_EQ] = ACTIONS(1187),
    [anon_sym_SLASH_EQ] = ACTIONS(1187),
    [anon_sym_PERCENT_EQ] = ACTIONS(1187),
    [anon_sym_BANG_EQ] = ACTIONS(1185),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1187),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1187),
    [anon_sym_LT_EQ] = ACTIONS(1187),
    [anon_sym_GT_EQ] = ACTIONS(1187),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1185),
    [anon_sym_SLASH] = ACTIONS(1185),
    [anon_sym_PERCENT] = ACTIONS(1185),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1187),
    [anon_sym_CARET] = ACTIONS(1185),
    [anon_sym_LT_LT] = ACTIONS(1187),
    [anon_sym_GT_GT] = ACTIONS(1187),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1187),
    [sym__eq_eq_custom] = ACTIONS(1187),
    [sym__plus_then_ws] = ACTIONS(1187),
    [sym__minus_then_ws] = ACTIONS(1187),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [647] = {
    [sym_simple_identifier] = STATE(2645),
    [sym__contextual_simple_identifier] = STATE(2445),
    [sym__basic_literal] = STATE(1498),
    [sym_boolean_literal] = STATE(1498),
    [sym__string_literal] = STATE(1498),
    [sym_line_string_literal] = STATE(1498),
    [sym_multi_line_string_literal] = STATE(1498),
    [sym_raw_string_literal] = STATE(1498),
    [sym_regex_literal] = STATE(1498),
    [sym__extended_regex_literal] = STATE(2955),
    [sym__multiline_regex_literal] = STATE(2955),
    [sym_user_type] = STATE(6382),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6382),
    [sym_dictionary_type] = STATE(6382),
    [sym__expression] = STATE(1498),
    [sym__unary_expression] = STATE(1498),
    [sym_postfix_expression] = STATE(1498),
    [sym_constructor_expression] = STATE(1498),
    [sym__parenthesized_type] = STATE(7692),
    [sym_navigation_expression] = STATE(1498),
    [sym__navigable_type_expression] = STATE(7690),
    [sym_open_start_range_expression] = STATE(1498),
    [sym__range_operator] = STATE(672),
    [sym_open_end_range_expression] = STATE(1498),
    [sym_prefix_expression] = STATE(1498),
    [sym_as_expression] = STATE(1498),
    [sym_selector_expression] = STATE(1498),
    [sym__binary_expression] = STATE(1498),
    [sym_multiplicative_expression] = STATE(1498),
    [sym_additive_expression] = STATE(1498),
    [sym_range_expression] = STATE(1498),
    [sym_infix_expression] = STATE(1498),
    [sym_nil_coalescing_expression] = STATE(1498),
    [sym_check_expression] = STATE(1498),
    [sym_comparison_expression] = STATE(1498),
    [sym_equality_expression] = STATE(1498),
    [sym_conjunction_expression] = STATE(1498),
    [sym_disjunction_expression] = STATE(1498),
    [sym_bitwise_operation] = STATE(1498),
    [sym_custom_operator] = STATE(1170),
    [sym_try_expression] = STATE(1498),
    [sym_await_expression] = STATE(1498),
    [sym__await_operator] = STATE(716),
    [sym_ternary_expression] = STATE(1498),
    [sym_call_expression] = STATE(1498),
    [sym_macro_invocation] = STATE(1498),
    [sym__primary_expression] = STATE(1498),
    [sym_tuple_expression] = STATE(1498),
    [sym_array_literal] = STATE(1498),
    [sym_dictionary_literal] = STATE(1498),
    [sym_special_literal] = STATE(1498),
    [sym_playground_literal] = STATE(1498),
    [sym_lambda_literal] = STATE(1498),
    [sym_self_expression] = STATE(1498),
    [sym_super_expression] = STATE(1498),
    [sym_if_statement] = STATE(1498),
    [sym_switch_statement] = STATE(1498),
    [sym_key_path_expression] = STATE(1498),
    [sym_key_path_string_expression] = STATE(1498),
    [sym_try_operator] = STATE(732),
    [sym__assignment_and_operator] = STATE(1498),
    [sym__equality_operator] = STATE(1498),
    [sym__comparison_operator] = STATE(1498),
    [sym__three_dot_operator] = STATE(1173),
    [sym__open_ended_range_operator] = STATE(672),
    [sym__additive_operator] = STATE(1498),
    [sym__multiplicative_operator] = STATE(1498),
    [sym__prefix_unary_operator] = STATE(647),
    [sym_directly_assignable_expression] = STATE(6379),
    [sym_assignment] = STATE(1498),
    [sym_value_parameter_pack] = STATE(1498),
    [sym_value_pack_expansion] = STATE(1498),
    [sym__referenceable_operator] = STATE(1498),
    [sym__equal_sign] = STATE(1498),
    [sym__eq_eq] = STATE(1498),
    [sym__dot] = STATE(647),
    [sym__hash_symbol] = STATE(4854),
    [sym_bang] = STATE(1170),
    [sym__parameter_ownership_modifier] = STATE(2445),
    [sym_directive] = STATE(1498),
    [sym_diagnostic] = STATE(1498),
    [aux_sym_raw_string_literal_repeat1] = STATE(7509),
    [anon_sym_BANG] = ACTIONS(1119),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1121),
    [aux_sym_simple_identifier_token2] = ACTIONS(1123),
    [aux_sym_simple_identifier_token3] = ACTIONS(1123),
    [aux_sym_simple_identifier_token4] = ACTIONS(1123),
    [anon_sym_actor] = ACTIONS(1121),
    [anon_sym_async] = ACTIONS(2298),
    [anon_sym_each] = ACTIONS(1125),
    [anon_sym_lazy] = ACTIONS(1121),
    [anon_sym_repeat] = ACTIONS(1127),
    [anon_sym_package] = ACTIONS(1121),
    [anon_sym_nil] = ACTIONS(2300),
    [sym_real_literal] = ACTIONS(2302),
    [sym_integer_literal] = ACTIONS(2300),
    [sym_hex_literal] = ACTIONS(2300),
    [sym_oct_literal] = ACTIONS(2302),
    [sym_bin_literal] = ACTIONS(2302),
    [anon_sym_true] = ACTIONS(1133),
    [anon_sym_false] = ACTIONS(1133),
    [anon_sym_DQUOTE] = ACTIONS(1135),
    [anon_sym_BSLASH] = ACTIONS(1137),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1139),
    [sym__oneline_regex_literal] = ACTIONS(1141),
    [anon_sym_LPAREN] = ACTIONS(1143),
    [anon_sym_LBRACK] = ACTIONS(1145),
    [anon_sym_AMP] = ACTIONS(1147),
    [anon_sym_TILDE] = ACTIONS(1147),
    [anon_sym_if] = ACTIONS(2304),
    [anon_sym_switch] = ACTIONS(2306),
    [aux_sym_custom_operator_token1] = ACTIONS(1153),
    [anon_sym_LT] = ACTIONS(2300),
    [anon_sym_GT] = ACTIONS(2300),
    [anon_sym_await] = ACTIONS(1155),
    [anon_sym_LBRACE] = ACTIONS(1157),
    [anon_sym_CARET_LBRACE] = ACTIONS(1157),
    [anon_sym_self] = ACTIONS(1159),
    [anon_sym_super] = ACTIONS(1161),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2302),
    [anon_sym_DASH_EQ] = ACTIONS(2302),
    [anon_sym_STAR_EQ] = ACTIONS(2302),
    [anon_sym_SLASH_EQ] = ACTIONS(2302),
    [anon_sym_PERCENT_EQ] = ACTIONS(2302),
    [anon_sym_BANG_EQ] = ACTIONS(2300),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2302),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2302),
    [anon_sym_LT_EQ] = ACTIONS(2302),
    [anon_sym_GT_EQ] = ACTIONS(2302),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1163),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1165),
    [anon_sym_PLUS] = ACTIONS(1167),
    [anon_sym_DASH] = ACTIONS(1167),
    [anon_sym_STAR] = ACTIONS(2300),
    [anon_sym_SLASH] = ACTIONS(2300),
    [anon_sym_PERCENT] = ACTIONS(2300),
    [anon_sym_PLUS_PLUS] = ACTIONS(1147),
    [anon_sym_DASH_DASH] = ACTIONS(1147),
    [anon_sym_PIPE] = ACTIONS(2302),
    [anon_sym_CARET] = ACTIONS(2300),
    [anon_sym_LT_LT] = ACTIONS(2302),
    [anon_sym_GT_GT] = ACTIONS(2302),
    [anon_sym_borrowing] = ACTIONS(1121),
    [anon_sym_consuming] = ACTIONS(1121),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1169),
    [sym__dot_custom] = ACTIONS(1171),
    [sym__eq_custom] = ACTIONS(2302),
    [sym__eq_eq_custom] = ACTIONS(2302),
    [sym__plus_then_ws] = ACTIONS(2302),
    [sym__minus_then_ws] = ACTIONS(2302),
    [sym__bang_custom] = ACTIONS(1173),
    [sym__custom_operator] = ACTIONS(1153),
    [sym__hash_symbol_custom] = ACTIONS(1175),
    [sym__directive_if] = ACTIONS(1177),
    [sym__directive_elseif] = ACTIONS(1177),
    [sym__directive_else] = ACTIONS(1179),
    [sym__directive_endif] = ACTIONS(1179),
  },
  [648] = {
    [sym_simple_identifier] = STATE(2331),
    [sym__contextual_simple_identifier] = STATE(2240),
    [sym__basic_literal] = STATE(1466),
    [sym_boolean_literal] = STATE(1466),
    [sym__string_literal] = STATE(1466),
    [sym_line_string_literal] = STATE(1466),
    [sym_multi_line_string_literal] = STATE(1466),
    [sym_raw_string_literal] = STATE(1466),
    [sym_regex_literal] = STATE(1466),
    [sym__extended_regex_literal] = STATE(2556),
    [sym__multiline_regex_literal] = STATE(2556),
    [sym_user_type] = STATE(6440),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6440),
    [sym_dictionary_type] = STATE(6440),
    [sym__expression] = STATE(1466),
    [sym__unary_expression] = STATE(1466),
    [sym_postfix_expression] = STATE(1466),
    [sym_constructor_expression] = STATE(1466),
    [sym__parenthesized_type] = STATE(7995),
    [sym_navigation_expression] = STATE(1466),
    [sym__navigable_type_expression] = STATE(8059),
    [sym_open_start_range_expression] = STATE(1466),
    [sym__range_operator] = STATE(576),
    [sym_open_end_range_expression] = STATE(1466),
    [sym_prefix_expression] = STATE(1466),
    [sym_as_expression] = STATE(1466),
    [sym_selector_expression] = STATE(1466),
    [sym__binary_expression] = STATE(2558),
    [sym_multiplicative_expression] = STATE(2558),
    [sym_additive_expression] = STATE(2558),
    [sym_range_expression] = STATE(2558),
    [sym_infix_expression] = STATE(2558),
    [sym_nil_coalescing_expression] = STATE(2558),
    [sym_check_expression] = STATE(2558),
    [sym_comparison_expression] = STATE(2558),
    [sym_equality_expression] = STATE(2558),
    [sym_conjunction_expression] = STATE(2558),
    [sym_disjunction_expression] = STATE(2558),
    [sym_bitwise_operation] = STATE(2558),
    [sym_custom_operator] = STATE(1097),
    [sym_try_expression] = STATE(1466),
    [sym_await_expression] = STATE(1466),
    [sym__await_operator] = STATE(575),
    [sym_ternary_expression] = STATE(2559),
    [sym_call_expression] = STATE(2560),
    [sym_macro_invocation] = STATE(1466),
    [sym__primary_expression] = STATE(1466),
    [sym_tuple_expression] = STATE(1466),
    [sym_array_literal] = STATE(1466),
    [sym_dictionary_literal] = STATE(1466),
    [sym_special_literal] = STATE(1466),
    [sym_playground_literal] = STATE(1466),
    [sym_lambda_literal] = STATE(1466),
    [sym_self_expression] = STATE(1466),
    [sym_super_expression] = STATE(1466),
    [sym_if_statement] = STATE(1466),
    [sym_switch_statement] = STATE(1466),
    [sym_key_path_expression] = STATE(1466),
    [sym_key_path_string_expression] = STATE(1466),
    [sym_try_operator] = STATE(648),
    [sym__assignment_and_operator] = STATE(1466),
    [sym__equality_operator] = STATE(1466),
    [sym__comparison_operator] = STATE(1466),
    [sym__three_dot_operator] = STATE(1089),
    [sym__open_ended_range_operator] = STATE(576),
    [sym__additive_operator] = STATE(1466),
    [sym__multiplicative_operator] = STATE(1466),
    [sym__prefix_unary_operator] = STATE(711),
    [sym_directly_assignable_expression] = STATE(6442),
    [sym_assignment] = STATE(1466),
    [sym_value_parameter_pack] = STATE(1466),
    [sym_value_pack_expansion] = STATE(1466),
    [sym__referenceable_operator] = STATE(1466),
    [sym__equal_sign] = STATE(1466),
    [sym__eq_eq] = STATE(1466),
    [sym__dot] = STATE(711),
    [sym__hash_symbol] = STATE(4850),
    [sym_bang] = STATE(1097),
    [sym__parameter_ownership_modifier] = STATE(2240),
    [sym_directive] = STATE(1466),
    [sym_diagnostic] = STATE(1466),
    [aux_sym_raw_string_literal_repeat1] = STATE(7884),
    [anon_sym_BANG] = ACTIONS(969),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(971),
    [aux_sym_simple_identifier_token2] = ACTIONS(973),
    [aux_sym_simple_identifier_token3] = ACTIONS(973),
    [aux_sym_simple_identifier_token4] = ACTIONS(973),
    [anon_sym_actor] = ACTIONS(971),
    [anon_sym_async] = ACTIONS(971),
    [anon_sym_each] = ACTIONS(975),
    [anon_sym_lazy] = ACTIONS(971),
    [anon_sym_repeat] = ACTIONS(977),
    [anon_sym_package] = ACTIONS(971),
    [anon_sym_nil] = ACTIONS(2308),
    [sym_real_literal] = ACTIONS(2310),
    [sym_integer_literal] = ACTIONS(2308),
    [sym_hex_literal] = ACTIONS(2308),
    [sym_oct_literal] = ACTIONS(2310),
    [sym_bin_literal] = ACTIONS(2310),
    [anon_sym_true] = ACTIONS(983),
    [anon_sym_false] = ACTIONS(983),
    [anon_sym_DQUOTE] = ACTIONS(985),
    [anon_sym_BSLASH] = ACTIONS(987),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(989),
    [sym__oneline_regex_literal] = ACTIONS(991),
    [anon_sym_LPAREN] = ACTIONS(993),
    [anon_sym_LBRACK] = ACTIONS(995),
    [anon_sym_AMP] = ACTIONS(997),
    [anon_sym_TILDE] = ACTIONS(997),
    [anon_sym_if] = ACTIONS(999),
    [anon_sym_switch] = ACTIONS(1001),
    [aux_sym_custom_operator_token1] = ACTIONS(1003),
    [anon_sym_LT] = ACTIONS(2308),
    [anon_sym_GT] = ACTIONS(2308),
    [anon_sym_await] = ACTIONS(1005),
    [anon_sym_LBRACE] = ACTIONS(1007),
    [anon_sym_CARET_LBRACE] = ACTIONS(1007),
    [anon_sym_self] = ACTIONS(1009),
    [anon_sym_super] = ACTIONS(1011),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2310),
    [anon_sym_DASH_EQ] = ACTIONS(2310),
    [anon_sym_STAR_EQ] = ACTIONS(2310),
    [anon_sym_SLASH_EQ] = ACTIONS(2310),
    [anon_sym_PERCENT_EQ] = ACTIONS(2310),
    [anon_sym_BANG_EQ] = ACTIONS(2308),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2310),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2310),
    [anon_sym_LT_EQ] = ACTIONS(2310),
    [anon_sym_GT_EQ] = ACTIONS(2310),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1013),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1015),
    [anon_sym_PLUS] = ACTIONS(1017),
    [anon_sym_DASH] = ACTIONS(1017),
    [anon_sym_STAR] = ACTIONS(2308),
    [anon_sym_SLASH] = ACTIONS(2308),
    [anon_sym_PERCENT] = ACTIONS(2308),
    [anon_sym_PLUS_PLUS] = ACTIONS(997),
    [anon_sym_DASH_DASH] = ACTIONS(997),
    [anon_sym_PIPE] = ACTIONS(2310),
    [anon_sym_CARET] = ACTIONS(2308),
    [anon_sym_LT_LT] = ACTIONS(2310),
    [anon_sym_GT_GT] = ACTIONS(2310),
    [anon_sym_borrowing] = ACTIONS(971),
    [anon_sym_consuming] = ACTIONS(971),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1019),
    [sym__dot_custom] = ACTIONS(1021),
    [sym__eq_custom] = ACTIONS(2310),
    [sym__eq_eq_custom] = ACTIONS(2310),
    [sym__plus_then_ws] = ACTIONS(2310),
    [sym__minus_then_ws] = ACTIONS(2310),
    [sym__bang_custom] = ACTIONS(1023),
    [sym__custom_operator] = ACTIONS(1003),
    [sym__hash_symbol_custom] = ACTIONS(1025),
    [sym__directive_if] = ACTIONS(1027),
    [sym__directive_elseif] = ACTIONS(1027),
    [sym__directive_else] = ACTIONS(1029),
    [sym__directive_endif] = ACTIONS(1029),
  },
  [649] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(753),
    [sym_boolean_literal] = STATE(753),
    [sym__string_literal] = STATE(753),
    [sym_line_string_literal] = STATE(753),
    [sym_multi_line_string_literal] = STATE(753),
    [sym_raw_string_literal] = STATE(753),
    [sym_regex_literal] = STATE(753),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6436),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6436),
    [sym_dictionary_type] = STATE(6436),
    [sym__expression] = STATE(753),
    [sym__unary_expression] = STATE(753),
    [sym_postfix_expression] = STATE(753),
    [sym_constructor_expression] = STATE(753),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(753),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(753),
    [sym__range_operator] = STATE(694),
    [sym_open_end_range_expression] = STATE(753),
    [sym_prefix_expression] = STATE(753),
    [sym_as_expression] = STATE(753),
    [sym_selector_expression] = STATE(753),
    [sym__binary_expression] = STATE(753),
    [sym_multiplicative_expression] = STATE(753),
    [sym_additive_expression] = STATE(753),
    [sym_range_expression] = STATE(753),
    [sym_infix_expression] = STATE(753),
    [sym_nil_coalescing_expression] = STATE(753),
    [sym_check_expression] = STATE(753),
    [sym_comparison_expression] = STATE(753),
    [sym_equality_expression] = STATE(753),
    [sym_conjunction_expression] = STATE(753),
    [sym_disjunction_expression] = STATE(753),
    [sym_bitwise_operation] = STATE(753),
    [sym_custom_operator] = STATE(741),
    [sym_try_expression] = STATE(753),
    [sym_await_expression] = STATE(753),
    [sym__await_operator] = STATE(681),
    [sym_ternary_expression] = STATE(753),
    [sym_call_expression] = STATE(753),
    [sym_macro_invocation] = STATE(753),
    [sym__primary_expression] = STATE(753),
    [sym_tuple_expression] = STATE(753),
    [sym_array_literal] = STATE(753),
    [sym_dictionary_literal] = STATE(753),
    [sym_special_literal] = STATE(753),
    [sym_playground_literal] = STATE(753),
    [sym_lambda_literal] = STATE(753),
    [sym_self_expression] = STATE(753),
    [sym_super_expression] = STATE(753),
    [sym_if_statement] = STATE(753),
    [sym_switch_statement] = STATE(753),
    [sym_key_path_expression] = STATE(753),
    [sym_key_path_string_expression] = STATE(753),
    [sym_try_operator] = STATE(678),
    [sym__assignment_and_operator] = STATE(753),
    [sym__equality_operator] = STATE(753),
    [sym__comparison_operator] = STATE(753),
    [sym__three_dot_operator] = STATE(742),
    [sym__open_ended_range_operator] = STATE(694),
    [sym__additive_operator] = STATE(753),
    [sym__multiplicative_operator] = STATE(753),
    [sym__prefix_unary_operator] = STATE(622),
    [sym_directly_assignable_expression] = STATE(6420),
    [sym_assignment] = STATE(753),
    [sym_value_parameter_pack] = STATE(753),
    [sym_value_pack_expansion] = STATE(753),
    [sym__referenceable_operator] = STATE(753),
    [sym__equal_sign] = STATE(753),
    [sym__eq_eq] = STATE(753),
    [sym__dot] = STATE(622),
    [sym__hash_symbol] = STATE(4852),
    [sym_bang] = STATE(741),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(753),
    [sym_diagnostic] = STATE(753),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(605),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(607),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(609),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2312),
    [sym_real_literal] = ACTIONS(2314),
    [sym_integer_literal] = ACTIONS(2312),
    [sym_hex_literal] = ACTIONS(2312),
    [sym_oct_literal] = ACTIONS(2314),
    [sym_bin_literal] = ACTIONS(2314),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(615),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(625),
    [anon_sym_TILDE] = ACTIONS(625),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(627),
    [aux_sym_custom_operator_token1] = ACTIONS(629),
    [anon_sym_LT] = ACTIONS(2312),
    [anon_sym_GT] = ACTIONS(2312),
    [anon_sym_await] = ACTIONS(631),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2314),
    [anon_sym_DASH_EQ] = ACTIONS(2314),
    [anon_sym_STAR_EQ] = ACTIONS(2314),
    [anon_sym_SLASH_EQ] = ACTIONS(2314),
    [anon_sym_PERCENT_EQ] = ACTIONS(2314),
    [anon_sym_BANG_EQ] = ACTIONS(2312),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2314),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2314),
    [anon_sym_LT_EQ] = ACTIONS(2314),
    [anon_sym_GT_EQ] = ACTIONS(2314),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(635),
    [anon_sym_DOT_DOT_LT] = ACTIONS(637),
    [anon_sym_PLUS] = ACTIONS(639),
    [anon_sym_DASH] = ACTIONS(639),
    [anon_sym_STAR] = ACTIONS(2312),
    [anon_sym_SLASH] = ACTIONS(2312),
    [anon_sym_PERCENT] = ACTIONS(2312),
    [anon_sym_PLUS_PLUS] = ACTIONS(625),
    [anon_sym_DASH_DASH] = ACTIONS(625),
    [anon_sym_PIPE] = ACTIONS(2314),
    [anon_sym_CARET] = ACTIONS(2312),
    [anon_sym_LT_LT] = ACTIONS(2314),
    [anon_sym_GT_GT] = ACTIONS(2314),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(641),
    [sym__eq_custom] = ACTIONS(2314),
    [sym__eq_eq_custom] = ACTIONS(2314),
    [sym__plus_then_ws] = ACTIONS(2314),
    [sym__minus_then_ws] = ACTIONS(2314),
    [sym__bang_custom] = ACTIONS(643),
    [sym__custom_operator] = ACTIONS(629),
    [sym__hash_symbol_custom] = ACTIONS(645),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [650] = {
    [sym_simple_identifier] = STATE(1217),
    [sym__contextual_simple_identifier] = STATE(1147),
    [sym__basic_literal] = STATE(775),
    [sym_boolean_literal] = STATE(775),
    [sym__string_literal] = STATE(775),
    [sym_line_string_literal] = STATE(775),
    [sym_multi_line_string_literal] = STATE(775),
    [sym_raw_string_literal] = STATE(775),
    [sym_regex_literal] = STATE(775),
    [sym__extended_regex_literal] = STATE(1286),
    [sym__multiline_regex_literal] = STATE(1286),
    [sym_user_type] = STATE(6397),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6397),
    [sym_dictionary_type] = STATE(6397),
    [sym__expression] = STATE(775),
    [sym__unary_expression] = STATE(775),
    [sym_postfix_expression] = STATE(775),
    [sym_constructor_expression] = STATE(775),
    [sym__parenthesized_type] = STATE(7511),
    [sym_navigation_expression] = STATE(775),
    [sym__navigable_type_expression] = STATE(7510),
    [sym_open_start_range_expression] = STATE(775),
    [sym__range_operator] = STATE(695),
    [sym_open_end_range_expression] = STATE(775),
    [sym_prefix_expression] = STATE(775),
    [sym_as_expression] = STATE(775),
    [sym_selector_expression] = STATE(775),
    [sym__binary_expression] = STATE(775),
    [sym_multiplicative_expression] = STATE(775),
    [sym_additive_expression] = STATE(775),
    [sym_range_expression] = STATE(775),
    [sym_infix_expression] = STATE(775),
    [sym_nil_coalescing_expression] = STATE(775),
    [sym_check_expression] = STATE(775),
    [sym_comparison_expression] = STATE(775),
    [sym_equality_expression] = STATE(775),
    [sym_conjunction_expression] = STATE(775),
    [sym_disjunction_expression] = STATE(775),
    [sym_bitwise_operation] = STATE(775),
    [sym_custom_operator] = STATE(759),
    [sym_try_expression] = STATE(775),
    [sym_await_expression] = STATE(775),
    [sym__await_operator] = STATE(644),
    [sym_ternary_expression] = STATE(775),
    [sym_call_expression] = STATE(775),
    [sym_macro_invocation] = STATE(775),
    [sym__primary_expression] = STATE(775),
    [sym_tuple_expression] = STATE(775),
    [sym_array_literal] = STATE(775),
    [sym_dictionary_literal] = STATE(775),
    [sym_special_literal] = STATE(775),
    [sym_playground_literal] = STATE(775),
    [sym_lambda_literal] = STATE(775),
    [sym_self_expression] = STATE(775),
    [sym_super_expression] = STATE(775),
    [sym_if_statement] = STATE(775),
    [sym_switch_statement] = STATE(775),
    [sym_key_path_expression] = STATE(775),
    [sym_key_path_string_expression] = STATE(775),
    [sym_try_operator] = STATE(645),
    [sym__assignment_and_operator] = STATE(775),
    [sym__equality_operator] = STATE(775),
    [sym__comparison_operator] = STATE(775),
    [sym__three_dot_operator] = STATE(761),
    [sym__open_ended_range_operator] = STATE(695),
    [sym__additive_operator] = STATE(775),
    [sym__multiplicative_operator] = STATE(775),
    [sym__prefix_unary_operator] = STATE(659),
    [sym_directly_assignable_expression] = STATE(6398),
    [sym_assignment] = STATE(775),
    [sym_value_parameter_pack] = STATE(775),
    [sym_value_pack_expansion] = STATE(775),
    [sym__referenceable_operator] = STATE(775),
    [sym__equal_sign] = STATE(775),
    [sym__eq_eq] = STATE(775),
    [sym__dot] = STATE(659),
    [sym__hash_symbol] = STATE(4848),
    [sym_bang] = STATE(759),
    [sym__parameter_ownership_modifier] = STATE(1147),
    [sym_directive] = STATE(775),
    [sym_diagnostic] = STATE(775),
    [aux_sym_raw_string_literal_repeat1] = STATE(7499),
    [anon_sym_BANG] = ACTIONS(659),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(661),
    [aux_sym_simple_identifier_token2] = ACTIONS(663),
    [aux_sym_simple_identifier_token3] = ACTIONS(663),
    [aux_sym_simple_identifier_token4] = ACTIONS(663),
    [anon_sym_actor] = ACTIONS(661),
    [anon_sym_async] = ACTIONS(661),
    [anon_sym_each] = ACTIONS(665),
    [anon_sym_lazy] = ACTIONS(661),
    [anon_sym_repeat] = ACTIONS(667),
    [anon_sym_package] = ACTIONS(661),
    [anon_sym_nil] = ACTIONS(2316),
    [sym_real_literal] = ACTIONS(2318),
    [sym_integer_literal] = ACTIONS(2316),
    [sym_hex_literal] = ACTIONS(2316),
    [sym_oct_literal] = ACTIONS(2318),
    [sym_bin_literal] = ACTIONS(2318),
    [anon_sym_true] = ACTIONS(673),
    [anon_sym_false] = ACTIONS(673),
    [anon_sym_DQUOTE] = ACTIONS(675),
    [anon_sym_BSLASH] = ACTIONS(677),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(679),
    [sym__oneline_regex_literal] = ACTIONS(681),
    [anon_sym_LPAREN] = ACTIONS(683),
    [anon_sym_LBRACK] = ACTIONS(685),
    [anon_sym_AMP] = ACTIONS(687),
    [anon_sym_TILDE] = ACTIONS(687),
    [anon_sym_if] = ACTIONS(689),
    [anon_sym_switch] = ACTIONS(691),
    [aux_sym_custom_operator_token1] = ACTIONS(693),
    [anon_sym_LT] = ACTIONS(2316),
    [anon_sym_GT] = ACTIONS(2316),
    [anon_sym_await] = ACTIONS(695),
    [anon_sym_LBRACE] = ACTIONS(697),
    [anon_sym_CARET_LBRACE] = ACTIONS(697),
    [anon_sym_self] = ACTIONS(699),
    [anon_sym_super] = ACTIONS(701),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2318),
    [anon_sym_DASH_EQ] = ACTIONS(2318),
    [anon_sym_STAR_EQ] = ACTIONS(2318),
    [anon_sym_SLASH_EQ] = ACTIONS(2318),
    [anon_sym_PERCENT_EQ] = ACTIONS(2318),
    [anon_sym_BANG_EQ] = ACTIONS(2316),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2318),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2318),
    [anon_sym_LT_EQ] = ACTIONS(2318),
    [anon_sym_GT_EQ] = ACTIONS(2318),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(703),
    [anon_sym_DOT_DOT_LT] = ACTIONS(705),
    [anon_sym_PLUS] = ACTIONS(707),
    [anon_sym_DASH] = ACTIONS(707),
    [anon_sym_STAR] = ACTIONS(2316),
    [anon_sym_SLASH] = ACTIONS(2316),
    [anon_sym_PERCENT] = ACTIONS(2316),
    [anon_sym_PLUS_PLUS] = ACTIONS(687),
    [anon_sym_DASH_DASH] = ACTIONS(687),
    [anon_sym_PIPE] = ACTIONS(2318),
    [anon_sym_CARET] = ACTIONS(2316),
    [anon_sym_LT_LT] = ACTIONS(2318),
    [anon_sym_GT_GT] = ACTIONS(2318),
    [anon_sym_borrowing] = ACTIONS(661),
    [anon_sym_consuming] = ACTIONS(661),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(709),
    [sym__dot_custom] = ACTIONS(711),
    [sym__eq_custom] = ACTIONS(2318),
    [sym__eq_eq_custom] = ACTIONS(2318),
    [sym__plus_then_ws] = ACTIONS(2318),
    [sym__minus_then_ws] = ACTIONS(2318),
    [sym__bang_custom] = ACTIONS(713),
    [sym__custom_operator] = ACTIONS(693),
    [sym__hash_symbol_custom] = ACTIONS(715),
    [sym__directive_if] = ACTIONS(717),
    [sym__directive_elseif] = ACTIONS(717),
    [sym__directive_else] = ACTIONS(719),
    [sym__directive_endif] = ACTIONS(719),
  },
  [651] = {
    [sym_simple_identifier] = STATE(3108),
    [sym__contextual_simple_identifier] = STATE(2967),
    [sym__basic_literal] = STATE(1612),
    [sym_boolean_literal] = STATE(1612),
    [sym__string_literal] = STATE(1612),
    [sym_line_string_literal] = STATE(1612),
    [sym_multi_line_string_literal] = STATE(1612),
    [sym_raw_string_literal] = STATE(1612),
    [sym_regex_literal] = STATE(1612),
    [sym__extended_regex_literal] = STATE(3663),
    [sym__multiline_regex_literal] = STATE(3663),
    [sym_user_type] = STATE(6406),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6406),
    [sym_dictionary_type] = STATE(6406),
    [sym__expression] = STATE(1612),
    [sym__unary_expression] = STATE(1612),
    [sym_postfix_expression] = STATE(1612),
    [sym_constructor_expression] = STATE(1612),
    [sym__parenthesized_type] = STATE(7557),
    [sym_navigation_expression] = STATE(1612),
    [sym__navigable_type_expression] = STATE(7558),
    [sym_open_start_range_expression] = STATE(1612),
    [sym__range_operator] = STATE(592),
    [sym_open_end_range_expression] = STATE(1612),
    [sym_prefix_expression] = STATE(1612),
    [sym_as_expression] = STATE(1612),
    [sym_selector_expression] = STATE(1612),
    [sym__binary_expression] = STATE(1612),
    [sym_multiplicative_expression] = STATE(1612),
    [sym_additive_expression] = STATE(1612),
    [sym_range_expression] = STATE(1612),
    [sym_infix_expression] = STATE(1612),
    [sym_nil_coalescing_expression] = STATE(1612),
    [sym_check_expression] = STATE(1612),
    [sym_comparison_expression] = STATE(1612),
    [sym_equality_expression] = STATE(1612),
    [sym_conjunction_expression] = STATE(1612),
    [sym_disjunction_expression] = STATE(1612),
    [sym_bitwise_operation] = STATE(1612),
    [sym_custom_operator] = STATE(1288),
    [sym_try_expression] = STATE(1612),
    [sym_await_expression] = STATE(1612),
    [sym__await_operator] = STATE(595),
    [sym_ternary_expression] = STATE(1612),
    [sym_call_expression] = STATE(1612),
    [sym_macro_invocation] = STATE(1612),
    [sym__primary_expression] = STATE(1612),
    [sym_tuple_expression] = STATE(1612),
    [sym_array_literal] = STATE(1612),
    [sym_dictionary_literal] = STATE(1612),
    [sym_special_literal] = STATE(1612),
    [sym_playground_literal] = STATE(1612),
    [sym_lambda_literal] = STATE(1612),
    [sym_self_expression] = STATE(1612),
    [sym_super_expression] = STATE(1612),
    [sym_if_statement] = STATE(1612),
    [sym_switch_statement] = STATE(1612),
    [sym_key_path_expression] = STATE(1612),
    [sym_key_path_string_expression] = STATE(1612),
    [sym_try_operator] = STATE(611),
    [sym__assignment_and_operator] = STATE(1612),
    [sym__equality_operator] = STATE(1612),
    [sym__comparison_operator] = STATE(1612),
    [sym__three_dot_operator] = STATE(1257),
    [sym__open_ended_range_operator] = STATE(592),
    [sym__additive_operator] = STATE(1612),
    [sym__multiplicative_operator] = STATE(1612),
    [sym__prefix_unary_operator] = STATE(620),
    [sym_directly_assignable_expression] = STATE(6409),
    [sym_assignment] = STATE(1612),
    [sym_value_parameter_pack] = STATE(1612),
    [sym_value_pack_expansion] = STATE(1612),
    [sym__referenceable_operator] = STATE(1612),
    [sym__equal_sign] = STATE(1612),
    [sym__eq_eq] = STATE(1612),
    [sym__dot] = STATE(620),
    [sym__hash_symbol] = STATE(4853),
    [sym_bang] = STATE(1288),
    [sym__parameter_ownership_modifier] = STATE(2967),
    [sym_directive] = STATE(1612),
    [sym_diagnostic] = STATE(1612),
    [aux_sym_raw_string_literal_repeat1] = STATE(7564),
    [anon_sym_BANG] = ACTIONS(1293),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1295),
    [aux_sym_simple_identifier_token2] = ACTIONS(1297),
    [aux_sym_simple_identifier_token3] = ACTIONS(1297),
    [aux_sym_simple_identifier_token4] = ACTIONS(1297),
    [anon_sym_actor] = ACTIONS(1295),
    [anon_sym_async] = ACTIONS(1295),
    [anon_sym_each] = ACTIONS(1301),
    [anon_sym_lazy] = ACTIONS(1295),
    [anon_sym_repeat] = ACTIONS(1303),
    [anon_sym_package] = ACTIONS(1295),
    [anon_sym_nil] = ACTIONS(2320),
    [sym_real_literal] = ACTIONS(2322),
    [sym_integer_literal] = ACTIONS(2320),
    [sym_hex_literal] = ACTIONS(2320),
    [sym_oct_literal] = ACTIONS(2322),
    [sym_bin_literal] = ACTIONS(2322),
    [anon_sym_true] = ACTIONS(1309),
    [anon_sym_false] = ACTIONS(1309),
    [anon_sym_DQUOTE] = ACTIONS(1311),
    [anon_sym_BSLASH] = ACTIONS(1313),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1315),
    [sym__oneline_regex_literal] = ACTIONS(1317),
    [anon_sym_LPAREN] = ACTIONS(1319),
    [anon_sym_LBRACK] = ACTIONS(1321),
    [anon_sym_AMP] = ACTIONS(1323),
    [anon_sym_TILDE] = ACTIONS(1323),
    [anon_sym_if] = ACTIONS(1325),
    [anon_sym_switch] = ACTIONS(1327),
    [aux_sym_custom_operator_token1] = ACTIONS(1329),
    [anon_sym_LT] = ACTIONS(2320),
    [anon_sym_GT] = ACTIONS(2320),
    [anon_sym_await] = ACTIONS(1331),
    [anon_sym_LBRACE] = ACTIONS(1333),
    [anon_sym_CARET_LBRACE] = ACTIONS(1333),
    [anon_sym_self] = ACTIONS(1335),
    [anon_sym_super] = ACTIONS(1337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2322),
    [anon_sym_DASH_EQ] = ACTIONS(2322),
    [anon_sym_STAR_EQ] = ACTIONS(2322),
    [anon_sym_SLASH_EQ] = ACTIONS(2322),
    [anon_sym_PERCENT_EQ] = ACTIONS(2322),
    [anon_sym_BANG_EQ] = ACTIONS(2320),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2322),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2322),
    [anon_sym_LT_EQ] = ACTIONS(2322),
    [anon_sym_GT_EQ] = ACTIONS(2322),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1341),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1343),
    [anon_sym_PLUS] = ACTIONS(1345),
    [anon_sym_DASH] = ACTIONS(1345),
    [anon_sym_STAR] = ACTIONS(2320),
    [anon_sym_SLASH] = ACTIONS(2320),
    [anon_sym_PERCENT] = ACTIONS(2320),
    [anon_sym_PLUS_PLUS] = ACTIONS(1323),
    [anon_sym_DASH_DASH] = ACTIONS(1323),
    [anon_sym_PIPE] = ACTIONS(2322),
    [anon_sym_CARET] = ACTIONS(2320),
    [anon_sym_LT_LT] = ACTIONS(2322),
    [anon_sym_GT_GT] = ACTIONS(2322),
    [anon_sym_borrowing] = ACTIONS(1295),
    [anon_sym_consuming] = ACTIONS(1295),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1347),
    [sym__dot_custom] = ACTIONS(1349),
    [sym__eq_custom] = ACTIONS(2322),
    [sym__eq_eq_custom] = ACTIONS(2322),
    [sym__plus_then_ws] = ACTIONS(2322),
    [sym__minus_then_ws] = ACTIONS(2322),
    [sym__bang_custom] = ACTIONS(1351),
    [sym__custom_operator] = ACTIONS(1329),
    [sym__hash_symbol_custom] = ACTIONS(1371),
    [sym__directive_if] = ACTIONS(1355),
    [sym__directive_elseif] = ACTIONS(1355),
    [sym__directive_else] = ACTIONS(1357),
    [sym__directive_endif] = ACTIONS(1357),
  },
  [652] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1646),
    [sym_boolean_literal] = STATE(1646),
    [sym__string_literal] = STATE(1646),
    [sym_line_string_literal] = STATE(1646),
    [sym_multi_line_string_literal] = STATE(1646),
    [sym_raw_string_literal] = STATE(1646),
    [sym_regex_literal] = STATE(1646),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1646),
    [sym__unary_expression] = STATE(1646),
    [sym_postfix_expression] = STATE(1646),
    [sym_constructor_expression] = STATE(1646),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1646),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1646),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1646),
    [sym_prefix_expression] = STATE(1646),
    [sym_as_expression] = STATE(1646),
    [sym_selector_expression] = STATE(1646),
    [sym__binary_expression] = STATE(1646),
    [sym_multiplicative_expression] = STATE(1646),
    [sym_additive_expression] = STATE(1646),
    [sym_range_expression] = STATE(1646),
    [sym_infix_expression] = STATE(1646),
    [sym_nil_coalescing_expression] = STATE(1646),
    [sym_check_expression] = STATE(1646),
    [sym_comparison_expression] = STATE(1646),
    [sym_equality_expression] = STATE(1646),
    [sym_conjunction_expression] = STATE(1646),
    [sym_disjunction_expression] = STATE(1646),
    [sym_bitwise_operation] = STATE(1646),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1646),
    [sym_await_expression] = STATE(1646),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1646),
    [sym_call_expression] = STATE(1646),
    [sym_macro_invocation] = STATE(1646),
    [sym__primary_expression] = STATE(1646),
    [sym_tuple_expression] = STATE(1646),
    [sym_array_literal] = STATE(1646),
    [sym_dictionary_literal] = STATE(1646),
    [sym_special_literal] = STATE(1646),
    [sym_playground_literal] = STATE(1646),
    [sym_lambda_literal] = STATE(1646),
    [sym_self_expression] = STATE(1646),
    [sym_super_expression] = STATE(1646),
    [sym_if_statement] = STATE(1646),
    [sym_switch_statement] = STATE(1646),
    [sym_key_path_expression] = STATE(1646),
    [sym_key_path_string_expression] = STATE(1646),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1646),
    [sym__equality_operator] = STATE(1646),
    [sym__comparison_operator] = STATE(1646),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1646),
    [sym__multiplicative_operator] = STATE(1646),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1646),
    [sym_value_parameter_pack] = STATE(1646),
    [sym_value_pack_expansion] = STATE(1646),
    [sym__referenceable_operator] = STATE(1646),
    [sym__equal_sign] = STATE(1646),
    [sym__eq_eq] = STATE(1646),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1646),
    [sym_diagnostic] = STATE(1646),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2324),
    [sym_real_literal] = ACTIONS(2326),
    [sym_integer_literal] = ACTIONS(2324),
    [sym_hex_literal] = ACTIONS(2324),
    [sym_oct_literal] = ACTIONS(2326),
    [sym_bin_literal] = ACTIONS(2326),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2324),
    [anon_sym_GT] = ACTIONS(2324),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2326),
    [anon_sym_DASH_EQ] = ACTIONS(2326),
    [anon_sym_STAR_EQ] = ACTIONS(2326),
    [anon_sym_SLASH_EQ] = ACTIONS(2326),
    [anon_sym_PERCENT_EQ] = ACTIONS(2326),
    [anon_sym_BANG_EQ] = ACTIONS(2324),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2326),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2326),
    [anon_sym_LT_EQ] = ACTIONS(2326),
    [anon_sym_GT_EQ] = ACTIONS(2326),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2324),
    [anon_sym_SLASH] = ACTIONS(2324),
    [anon_sym_PERCENT] = ACTIONS(2324),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2326),
    [anon_sym_CARET] = ACTIONS(2324),
    [anon_sym_LT_LT] = ACTIONS(2326),
    [anon_sym_GT_GT] = ACTIONS(2326),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2326),
    [sym__eq_eq_custom] = ACTIONS(2326),
    [sym__plus_then_ws] = ACTIONS(2326),
    [sym__minus_then_ws] = ACTIONS(2326),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [653] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1477),
    [sym_boolean_literal] = STATE(1477),
    [sym__string_literal] = STATE(1477),
    [sym_line_string_literal] = STATE(1477),
    [sym_multi_line_string_literal] = STATE(1477),
    [sym_raw_string_literal] = STATE(1477),
    [sym_regex_literal] = STATE(1477),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1477),
    [sym__unary_expression] = STATE(1477),
    [sym_postfix_expression] = STATE(1477),
    [sym_constructor_expression] = STATE(1477),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1477),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1477),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1477),
    [sym_prefix_expression] = STATE(1477),
    [sym_as_expression] = STATE(1477),
    [sym_selector_expression] = STATE(1477),
    [sym__binary_expression] = STATE(1477),
    [sym_multiplicative_expression] = STATE(1477),
    [sym_additive_expression] = STATE(1477),
    [sym_range_expression] = STATE(1477),
    [sym_infix_expression] = STATE(1477),
    [sym_nil_coalescing_expression] = STATE(1477),
    [sym_check_expression] = STATE(1477),
    [sym_comparison_expression] = STATE(1477),
    [sym_equality_expression] = STATE(1477),
    [sym_conjunction_expression] = STATE(1477),
    [sym_disjunction_expression] = STATE(1477),
    [sym_bitwise_operation] = STATE(1477),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1477),
    [sym_await_expression] = STATE(1477),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1477),
    [sym_call_expression] = STATE(1477),
    [sym_macro_invocation] = STATE(1477),
    [sym__primary_expression] = STATE(1477),
    [sym_tuple_expression] = STATE(1477),
    [sym_array_literal] = STATE(1477),
    [sym_dictionary_literal] = STATE(1477),
    [sym_special_literal] = STATE(1477),
    [sym_playground_literal] = STATE(1477),
    [sym_lambda_literal] = STATE(1477),
    [sym_self_expression] = STATE(1477),
    [sym_super_expression] = STATE(1477),
    [sym_if_statement] = STATE(1477),
    [sym_switch_statement] = STATE(1477),
    [sym_key_path_expression] = STATE(1477),
    [sym_key_path_string_expression] = STATE(1477),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1477),
    [sym__equality_operator] = STATE(1477),
    [sym__comparison_operator] = STATE(1477),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1477),
    [sym__multiplicative_operator] = STATE(1477),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_assignment] = STATE(1477),
    [sym_value_parameter_pack] = STATE(1477),
    [sym_value_pack_expansion] = STATE(1477),
    [sym__referenceable_operator] = STATE(1477),
    [sym__equal_sign] = STATE(1477),
    [sym__eq_eq] = STATE(1477),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1477),
    [sym_diagnostic] = STATE(1477),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(11),
    [anon_sym_async] = ACTIONS(11),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(11),
    [anon_sym_repeat] = ACTIONS(925),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(2328),
    [sym_real_literal] = ACTIONS(2330),
    [sym_integer_literal] = ACTIONS(2328),
    [sym_hex_literal] = ACTIONS(2328),
    [sym_oct_literal] = ACTIONS(2330),
    [sym_bin_literal] = ACTIONS(2330),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(2328),
    [anon_sym_GT] = ACTIONS(2328),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2330),
    [anon_sym_DASH_EQ] = ACTIONS(2330),
    [anon_sym_STAR_EQ] = ACTIONS(2330),
    [anon_sym_SLASH_EQ] = ACTIONS(2330),
    [anon_sym_PERCENT_EQ] = ACTIONS(2330),
    [anon_sym_BANG_EQ] = ACTIONS(2328),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2330),
    [anon_sym_LT_EQ] = ACTIONS(2330),
    [anon_sym_GT_EQ] = ACTIONS(2330),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(2328),
    [anon_sym_SLASH] = ACTIONS(2328),
    [anon_sym_PERCENT] = ACTIONS(2328),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(2330),
    [anon_sym_CARET] = ACTIONS(2328),
    [anon_sym_LT_LT] = ACTIONS(2330),
    [anon_sym_GT_GT] = ACTIONS(2330),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(2330),
    [sym__eq_eq_custom] = ACTIONS(2330),
    [sym__plus_then_ws] = ACTIONS(2330),
    [sym__minus_then_ws] = ACTIONS(2330),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [654] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1469),
    [sym_boolean_literal] = STATE(1469),
    [sym__string_literal] = STATE(1469),
    [sym_line_string_literal] = STATE(1469),
    [sym_multi_line_string_literal] = STATE(1469),
    [sym_raw_string_literal] = STATE(1469),
    [sym_regex_literal] = STATE(1469),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1469),
    [sym__unary_expression] = STATE(1469),
    [sym_postfix_expression] = STATE(1469),
    [sym_constructor_expression] = STATE(1469),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1469),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1469),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1469),
    [sym_prefix_expression] = STATE(1469),
    [sym_as_expression] = STATE(1469),
    [sym_selector_expression] = STATE(1469),
    [sym__binary_expression] = STATE(1469),
    [sym_multiplicative_expression] = STATE(1469),
    [sym_additive_expression] = STATE(1469),
    [sym_range_expression] = STATE(1469),
    [sym_infix_expression] = STATE(1469),
    [sym_nil_coalescing_expression] = STATE(1469),
    [sym_check_expression] = STATE(1469),
    [sym_comparison_expression] = STATE(1469),
    [sym_equality_expression] = STATE(1469),
    [sym_conjunction_expression] = STATE(1469),
    [sym_disjunction_expression] = STATE(1469),
    [sym_bitwise_operation] = STATE(1469),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1469),
    [sym_await_expression] = STATE(1469),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1469),
    [sym_call_expression] = STATE(1469),
    [sym_macro_invocation] = STATE(1469),
    [sym__primary_expression] = STATE(1469),
    [sym_tuple_expression] = STATE(1469),
    [sym_array_literal] = STATE(1469),
    [sym_dictionary_literal] = STATE(1469),
    [sym_special_literal] = STATE(1469),
    [sym_playground_literal] = STATE(1469),
    [sym_lambda_literal] = STATE(1469),
    [sym_self_expression] = STATE(1469),
    [sym_super_expression] = STATE(1469),
    [sym_if_statement] = STATE(1469),
    [sym_switch_statement] = STATE(1469),
    [sym_key_path_expression] = STATE(1469),
    [sym_key_path_string_expression] = STATE(1469),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1469),
    [sym__equality_operator] = STATE(1469),
    [sym__comparison_operator] = STATE(1469),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1469),
    [sym__multiplicative_operator] = STATE(1469),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_assignment] = STATE(1469),
    [sym_value_parameter_pack] = STATE(1469),
    [sym_value_pack_expansion] = STATE(1469),
    [sym__referenceable_operator] = STATE(1469),
    [sym__equal_sign] = STATE(1469),
    [sym__eq_eq] = STATE(1469),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1469),
    [sym_diagnostic] = STATE(1469),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(11),
    [anon_sym_async] = ACTIONS(2332),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(11),
    [anon_sym_repeat] = ACTIONS(925),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(2334),
    [sym_real_literal] = ACTIONS(2336),
    [sym_integer_literal] = ACTIONS(2334),
    [sym_hex_literal] = ACTIONS(2334),
    [sym_oct_literal] = ACTIONS(2336),
    [sym_bin_literal] = ACTIONS(2336),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(2338),
    [anon_sym_switch] = ACTIONS(2340),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(2334),
    [anon_sym_GT] = ACTIONS(2334),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2336),
    [anon_sym_DASH_EQ] = ACTIONS(2336),
    [anon_sym_STAR_EQ] = ACTIONS(2336),
    [anon_sym_SLASH_EQ] = ACTIONS(2336),
    [anon_sym_PERCENT_EQ] = ACTIONS(2336),
    [anon_sym_BANG_EQ] = ACTIONS(2334),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2336),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2336),
    [anon_sym_LT_EQ] = ACTIONS(2336),
    [anon_sym_GT_EQ] = ACTIONS(2336),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(2334),
    [anon_sym_SLASH] = ACTIONS(2334),
    [anon_sym_PERCENT] = ACTIONS(2334),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(2336),
    [anon_sym_CARET] = ACTIONS(2334),
    [anon_sym_LT_LT] = ACTIONS(2336),
    [anon_sym_GT_GT] = ACTIONS(2336),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(2336),
    [sym__eq_eq_custom] = ACTIONS(2336),
    [sym__plus_then_ws] = ACTIONS(2336),
    [sym__minus_then_ws] = ACTIONS(2336),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [655] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1665),
    [sym_boolean_literal] = STATE(1665),
    [sym__string_literal] = STATE(1665),
    [sym_line_string_literal] = STATE(1665),
    [sym_multi_line_string_literal] = STATE(1665),
    [sym_raw_string_literal] = STATE(1665),
    [sym_regex_literal] = STATE(1665),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1665),
    [sym__unary_expression] = STATE(1665),
    [sym_postfix_expression] = STATE(1665),
    [sym_constructor_expression] = STATE(1665),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1665),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1665),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1665),
    [sym_prefix_expression] = STATE(1665),
    [sym_as_expression] = STATE(1665),
    [sym_selector_expression] = STATE(1665),
    [sym__binary_expression] = STATE(1665),
    [sym_multiplicative_expression] = STATE(1665),
    [sym_additive_expression] = STATE(1665),
    [sym_range_expression] = STATE(1665),
    [sym_infix_expression] = STATE(1665),
    [sym_nil_coalescing_expression] = STATE(1665),
    [sym_check_expression] = STATE(1665),
    [sym_comparison_expression] = STATE(1665),
    [sym_equality_expression] = STATE(1665),
    [sym_conjunction_expression] = STATE(1665),
    [sym_disjunction_expression] = STATE(1665),
    [sym_bitwise_operation] = STATE(1665),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1665),
    [sym_await_expression] = STATE(1665),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1665),
    [sym_call_expression] = STATE(1665),
    [sym_macro_invocation] = STATE(1665),
    [sym__primary_expression] = STATE(1665),
    [sym_tuple_expression] = STATE(1665),
    [sym_array_literal] = STATE(1665),
    [sym_dictionary_literal] = STATE(1665),
    [sym_special_literal] = STATE(1665),
    [sym_playground_literal] = STATE(1665),
    [sym_lambda_literal] = STATE(1665),
    [sym_self_expression] = STATE(1665),
    [sym_super_expression] = STATE(1665),
    [sym_if_statement] = STATE(1665),
    [sym_switch_statement] = STATE(1665),
    [sym_key_path_expression] = STATE(1665),
    [sym_key_path_string_expression] = STATE(1665),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1665),
    [sym__equality_operator] = STATE(1665),
    [sym__comparison_operator] = STATE(1665),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1665),
    [sym__multiplicative_operator] = STATE(1665),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1665),
    [sym_value_parameter_pack] = STATE(1665),
    [sym_value_pack_expansion] = STATE(1665),
    [sym__referenceable_operator] = STATE(1665),
    [sym__equal_sign] = STATE(1665),
    [sym__eq_eq] = STATE(1665),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1665),
    [sym_diagnostic] = STATE(1665),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2342),
    [sym_real_literal] = ACTIONS(2344),
    [sym_integer_literal] = ACTIONS(2342),
    [sym_hex_literal] = ACTIONS(2342),
    [sym_oct_literal] = ACTIONS(2344),
    [sym_bin_literal] = ACTIONS(2344),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2342),
    [anon_sym_GT] = ACTIONS(2342),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2344),
    [anon_sym_DASH_EQ] = ACTIONS(2344),
    [anon_sym_STAR_EQ] = ACTIONS(2344),
    [anon_sym_SLASH_EQ] = ACTIONS(2344),
    [anon_sym_PERCENT_EQ] = ACTIONS(2344),
    [anon_sym_BANG_EQ] = ACTIONS(2342),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2344),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2344),
    [anon_sym_LT_EQ] = ACTIONS(2344),
    [anon_sym_GT_EQ] = ACTIONS(2344),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2342),
    [anon_sym_SLASH] = ACTIONS(2342),
    [anon_sym_PERCENT] = ACTIONS(2342),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2344),
    [anon_sym_CARET] = ACTIONS(2342),
    [anon_sym_LT_LT] = ACTIONS(2344),
    [anon_sym_GT_GT] = ACTIONS(2344),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2344),
    [sym__eq_eq_custom] = ACTIONS(2344),
    [sym__plus_then_ws] = ACTIONS(2344),
    [sym__minus_then_ws] = ACTIONS(2344),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [656] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1506),
    [sym_boolean_literal] = STATE(1506),
    [sym__string_literal] = STATE(1506),
    [sym_line_string_literal] = STATE(1506),
    [sym_multi_line_string_literal] = STATE(1506),
    [sym_raw_string_literal] = STATE(1506),
    [sym_regex_literal] = STATE(1506),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1506),
    [sym__unary_expression] = STATE(1506),
    [sym_postfix_expression] = STATE(1506),
    [sym_constructor_expression] = STATE(1506),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1506),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1506),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1506),
    [sym_prefix_expression] = STATE(1506),
    [sym_as_expression] = STATE(1506),
    [sym_selector_expression] = STATE(1506),
    [sym__binary_expression] = STATE(1506),
    [sym_multiplicative_expression] = STATE(1506),
    [sym_additive_expression] = STATE(1506),
    [sym_range_expression] = STATE(1506),
    [sym_infix_expression] = STATE(1506),
    [sym_nil_coalescing_expression] = STATE(1506),
    [sym_check_expression] = STATE(1506),
    [sym_comparison_expression] = STATE(1506),
    [sym_equality_expression] = STATE(1506),
    [sym_conjunction_expression] = STATE(1506),
    [sym_disjunction_expression] = STATE(1506),
    [sym_bitwise_operation] = STATE(1506),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1506),
    [sym_await_expression] = STATE(1506),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(890),
    [sym_call_expression] = STATE(889),
    [sym_macro_invocation] = STATE(1506),
    [sym__primary_expression] = STATE(1506),
    [sym_tuple_expression] = STATE(1506),
    [sym_array_literal] = STATE(1506),
    [sym_dictionary_literal] = STATE(1506),
    [sym_special_literal] = STATE(1506),
    [sym_playground_literal] = STATE(1506),
    [sym_lambda_literal] = STATE(1506),
    [sym_self_expression] = STATE(1506),
    [sym_super_expression] = STATE(1506),
    [sym_if_statement] = STATE(1506),
    [sym_switch_statement] = STATE(1506),
    [sym_key_path_expression] = STATE(1506),
    [sym_key_path_string_expression] = STATE(1506),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1506),
    [sym__equality_operator] = STATE(1506),
    [sym__comparison_operator] = STATE(1506),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1506),
    [sym__multiplicative_operator] = STATE(1506),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1506),
    [sym_value_parameter_pack] = STATE(1506),
    [sym_value_pack_expansion] = STATE(1506),
    [sym__referenceable_operator] = STATE(1506),
    [sym__equal_sign] = STATE(1506),
    [sym__eq_eq] = STATE(1506),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1506),
    [sym_diagnostic] = STATE(1506),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2346),
    [sym_real_literal] = ACTIONS(2348),
    [sym_integer_literal] = ACTIONS(2346),
    [sym_hex_literal] = ACTIONS(2346),
    [sym_oct_literal] = ACTIONS(2348),
    [sym_bin_literal] = ACTIONS(2348),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2346),
    [anon_sym_GT] = ACTIONS(2346),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2348),
    [anon_sym_DASH_EQ] = ACTIONS(2348),
    [anon_sym_STAR_EQ] = ACTIONS(2348),
    [anon_sym_SLASH_EQ] = ACTIONS(2348),
    [anon_sym_PERCENT_EQ] = ACTIONS(2348),
    [anon_sym_BANG_EQ] = ACTIONS(2346),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2348),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2348),
    [anon_sym_LT_EQ] = ACTIONS(2348),
    [anon_sym_GT_EQ] = ACTIONS(2348),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2346),
    [anon_sym_SLASH] = ACTIONS(2346),
    [anon_sym_PERCENT] = ACTIONS(2346),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2348),
    [anon_sym_CARET] = ACTIONS(2346),
    [anon_sym_LT_LT] = ACTIONS(2348),
    [anon_sym_GT_GT] = ACTIONS(2348),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2348),
    [sym__eq_eq_custom] = ACTIONS(2348),
    [sym__plus_then_ws] = ACTIONS(2348),
    [sym__minus_then_ws] = ACTIONS(2348),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [657] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1507),
    [sym_boolean_literal] = STATE(1507),
    [sym__string_literal] = STATE(1507),
    [sym_line_string_literal] = STATE(1507),
    [sym_multi_line_string_literal] = STATE(1507),
    [sym_raw_string_literal] = STATE(1507),
    [sym_regex_literal] = STATE(1507),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1507),
    [sym__unary_expression] = STATE(1507),
    [sym_postfix_expression] = STATE(1507),
    [sym_constructor_expression] = STATE(1507),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1507),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1507),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1507),
    [sym_prefix_expression] = STATE(1507),
    [sym_as_expression] = STATE(1507),
    [sym_selector_expression] = STATE(1507),
    [sym__binary_expression] = STATE(1507),
    [sym_multiplicative_expression] = STATE(1507),
    [sym_additive_expression] = STATE(1507),
    [sym_range_expression] = STATE(1507),
    [sym_infix_expression] = STATE(1507),
    [sym_nil_coalescing_expression] = STATE(1507),
    [sym_check_expression] = STATE(1507),
    [sym_comparison_expression] = STATE(1507),
    [sym_equality_expression] = STATE(1507),
    [sym_conjunction_expression] = STATE(1507),
    [sym_disjunction_expression] = STATE(1507),
    [sym_bitwise_operation] = STATE(1507),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1507),
    [sym_await_expression] = STATE(1507),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1507),
    [sym_call_expression] = STATE(1507),
    [sym_macro_invocation] = STATE(1507),
    [sym__primary_expression] = STATE(1507),
    [sym_tuple_expression] = STATE(1507),
    [sym_array_literal] = STATE(1507),
    [sym_dictionary_literal] = STATE(1507),
    [sym_special_literal] = STATE(1507),
    [sym_playground_literal] = STATE(1507),
    [sym_lambda_literal] = STATE(1507),
    [sym_self_expression] = STATE(1507),
    [sym_super_expression] = STATE(1507),
    [sym_if_statement] = STATE(1507),
    [sym_switch_statement] = STATE(1507),
    [sym_key_path_expression] = STATE(1507),
    [sym_key_path_string_expression] = STATE(1507),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1507),
    [sym__equality_operator] = STATE(1507),
    [sym__comparison_operator] = STATE(1507),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1507),
    [sym__multiplicative_operator] = STATE(1507),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1507),
    [sym_value_parameter_pack] = STATE(1507),
    [sym_value_pack_expansion] = STATE(1507),
    [sym__referenceable_operator] = STATE(1507),
    [sym__equal_sign] = STATE(1507),
    [sym__eq_eq] = STATE(1507),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1507),
    [sym_diagnostic] = STATE(1507),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2350),
    [sym_real_literal] = ACTIONS(2352),
    [sym_integer_literal] = ACTIONS(2350),
    [sym_hex_literal] = ACTIONS(2350),
    [sym_oct_literal] = ACTIONS(2352),
    [sym_bin_literal] = ACTIONS(2352),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2350),
    [anon_sym_GT] = ACTIONS(2350),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2352),
    [anon_sym_DASH_EQ] = ACTIONS(2352),
    [anon_sym_STAR_EQ] = ACTIONS(2352),
    [anon_sym_SLASH_EQ] = ACTIONS(2352),
    [anon_sym_PERCENT_EQ] = ACTIONS(2352),
    [anon_sym_BANG_EQ] = ACTIONS(2350),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2352),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2352),
    [anon_sym_LT_EQ] = ACTIONS(2352),
    [anon_sym_GT_EQ] = ACTIONS(2352),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2350),
    [anon_sym_SLASH] = ACTIONS(2350),
    [anon_sym_PERCENT] = ACTIONS(2350),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2352),
    [anon_sym_CARET] = ACTIONS(2350),
    [anon_sym_LT_LT] = ACTIONS(2352),
    [anon_sym_GT_GT] = ACTIONS(2352),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2352),
    [sym__eq_eq_custom] = ACTIONS(2352),
    [sym__plus_then_ws] = ACTIONS(2352),
    [sym__minus_then_ws] = ACTIONS(2352),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [658] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(799),
    [sym_boolean_literal] = STATE(799),
    [sym__string_literal] = STATE(799),
    [sym_line_string_literal] = STATE(799),
    [sym_multi_line_string_literal] = STATE(799),
    [sym_raw_string_literal] = STATE(799),
    [sym_regex_literal] = STATE(799),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(799),
    [sym__unary_expression] = STATE(799),
    [sym_postfix_expression] = STATE(799),
    [sym_constructor_expression] = STATE(799),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(799),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(799),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(799),
    [sym_prefix_expression] = STATE(799),
    [sym_as_expression] = STATE(799),
    [sym_selector_expression] = STATE(799),
    [sym__binary_expression] = STATE(799),
    [sym_multiplicative_expression] = STATE(799),
    [sym_additive_expression] = STATE(799),
    [sym_range_expression] = STATE(799),
    [sym_infix_expression] = STATE(799),
    [sym_nil_coalescing_expression] = STATE(799),
    [sym_check_expression] = STATE(799),
    [sym_comparison_expression] = STATE(799),
    [sym_equality_expression] = STATE(799),
    [sym_conjunction_expression] = STATE(799),
    [sym_disjunction_expression] = STATE(799),
    [sym_bitwise_operation] = STATE(799),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(799),
    [sym_await_expression] = STATE(799),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(799),
    [sym_call_expression] = STATE(799),
    [sym_macro_invocation] = STATE(799),
    [sym__primary_expression] = STATE(799),
    [sym_tuple_expression] = STATE(799),
    [sym_array_literal] = STATE(799),
    [sym_dictionary_literal] = STATE(799),
    [sym_special_literal] = STATE(799),
    [sym_playground_literal] = STATE(799),
    [sym_lambda_literal] = STATE(799),
    [sym_self_expression] = STATE(799),
    [sym_super_expression] = STATE(799),
    [sym_if_statement] = STATE(799),
    [sym_switch_statement] = STATE(799),
    [sym_key_path_expression] = STATE(799),
    [sym_key_path_string_expression] = STATE(799),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(799),
    [sym__equality_operator] = STATE(799),
    [sym__comparison_operator] = STATE(799),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(799),
    [sym__multiplicative_operator] = STATE(799),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_assignment] = STATE(799),
    [sym_value_parameter_pack] = STATE(799),
    [sym_value_pack_expansion] = STATE(799),
    [sym__referenceable_operator] = STATE(799),
    [sym__equal_sign] = STATE(799),
    [sym__eq_eq] = STATE(799),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(799),
    [sym_diagnostic] = STATE(799),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(289),
    [anon_sym_async] = ACTIONS(289),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(289),
    [anon_sym_repeat] = ACTIONS(733),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(2354),
    [sym_real_literal] = ACTIONS(2356),
    [sym_integer_literal] = ACTIONS(2354),
    [sym_hex_literal] = ACTIONS(2354),
    [sym_oct_literal] = ACTIONS(2356),
    [sym_bin_literal] = ACTIONS(2356),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(2354),
    [anon_sym_GT] = ACTIONS(2354),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2356),
    [anon_sym_DASH_EQ] = ACTIONS(2356),
    [anon_sym_STAR_EQ] = ACTIONS(2356),
    [anon_sym_SLASH_EQ] = ACTIONS(2356),
    [anon_sym_PERCENT_EQ] = ACTIONS(2356),
    [anon_sym_BANG_EQ] = ACTIONS(2354),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2356),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2356),
    [anon_sym_LT_EQ] = ACTIONS(2356),
    [anon_sym_GT_EQ] = ACTIONS(2356),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(2354),
    [anon_sym_SLASH] = ACTIONS(2354),
    [anon_sym_PERCENT] = ACTIONS(2354),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(2356),
    [anon_sym_CARET] = ACTIONS(2354),
    [anon_sym_LT_LT] = ACTIONS(2356),
    [anon_sym_GT_GT] = ACTIONS(2356),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(2356),
    [sym__eq_eq_custom] = ACTIONS(2356),
    [sym__plus_then_ws] = ACTIONS(2356),
    [sym__minus_then_ws] = ACTIONS(2356),
    [sym__bang_custom] = ACTIONS(373),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [659] = {
    [sym_simple_identifier] = STATE(1217),
    [sym__contextual_simple_identifier] = STATE(1147),
    [sym__basic_literal] = STATE(784),
    [sym_boolean_literal] = STATE(784),
    [sym__string_literal] = STATE(784),
    [sym_line_string_literal] = STATE(784),
    [sym_multi_line_string_literal] = STATE(784),
    [sym_raw_string_literal] = STATE(784),
    [sym_regex_literal] = STATE(784),
    [sym__extended_regex_literal] = STATE(1286),
    [sym__multiline_regex_literal] = STATE(1286),
    [sym_user_type] = STATE(6397),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6397),
    [sym_dictionary_type] = STATE(6397),
    [sym__expression] = STATE(784),
    [sym__unary_expression] = STATE(784),
    [sym_postfix_expression] = STATE(784),
    [sym_constructor_expression] = STATE(784),
    [sym__parenthesized_type] = STATE(7511),
    [sym_navigation_expression] = STATE(784),
    [sym__navigable_type_expression] = STATE(7510),
    [sym_open_start_range_expression] = STATE(784),
    [sym__range_operator] = STATE(695),
    [sym_open_end_range_expression] = STATE(784),
    [sym_prefix_expression] = STATE(784),
    [sym_as_expression] = STATE(784),
    [sym_selector_expression] = STATE(784),
    [sym__binary_expression] = STATE(784),
    [sym_multiplicative_expression] = STATE(784),
    [sym_additive_expression] = STATE(784),
    [sym_range_expression] = STATE(784),
    [sym_infix_expression] = STATE(784),
    [sym_nil_coalescing_expression] = STATE(784),
    [sym_check_expression] = STATE(784),
    [sym_comparison_expression] = STATE(784),
    [sym_equality_expression] = STATE(784),
    [sym_conjunction_expression] = STATE(784),
    [sym_disjunction_expression] = STATE(784),
    [sym_bitwise_operation] = STATE(784),
    [sym_custom_operator] = STATE(759),
    [sym_try_expression] = STATE(784),
    [sym_await_expression] = STATE(784),
    [sym__await_operator] = STATE(644),
    [sym_ternary_expression] = STATE(784),
    [sym_call_expression] = STATE(784),
    [sym_macro_invocation] = STATE(784),
    [sym__primary_expression] = STATE(784),
    [sym_tuple_expression] = STATE(784),
    [sym_array_literal] = STATE(784),
    [sym_dictionary_literal] = STATE(784),
    [sym_special_literal] = STATE(784),
    [sym_playground_literal] = STATE(784),
    [sym_lambda_literal] = STATE(784),
    [sym_self_expression] = STATE(784),
    [sym_super_expression] = STATE(784),
    [sym_if_statement] = STATE(784),
    [sym_switch_statement] = STATE(784),
    [sym_key_path_expression] = STATE(784),
    [sym_key_path_string_expression] = STATE(784),
    [sym_try_operator] = STATE(645),
    [sym__assignment_and_operator] = STATE(784),
    [sym__equality_operator] = STATE(784),
    [sym__comparison_operator] = STATE(784),
    [sym__three_dot_operator] = STATE(761),
    [sym__open_ended_range_operator] = STATE(695),
    [sym__additive_operator] = STATE(784),
    [sym__multiplicative_operator] = STATE(784),
    [sym__prefix_unary_operator] = STATE(659),
    [sym_directly_assignable_expression] = STATE(6398),
    [sym_assignment] = STATE(784),
    [sym_value_parameter_pack] = STATE(784),
    [sym_value_pack_expansion] = STATE(784),
    [sym__referenceable_operator] = STATE(784),
    [sym__equal_sign] = STATE(784),
    [sym__eq_eq] = STATE(784),
    [sym__dot] = STATE(659),
    [sym__hash_symbol] = STATE(4848),
    [sym_bang] = STATE(759),
    [sym__parameter_ownership_modifier] = STATE(1147),
    [sym_directive] = STATE(784),
    [sym_diagnostic] = STATE(784),
    [aux_sym_raw_string_literal_repeat1] = STATE(7499),
    [anon_sym_BANG] = ACTIONS(659),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(661),
    [aux_sym_simple_identifier_token2] = ACTIONS(663),
    [aux_sym_simple_identifier_token3] = ACTIONS(663),
    [aux_sym_simple_identifier_token4] = ACTIONS(663),
    [anon_sym_actor] = ACTIONS(661),
    [anon_sym_async] = ACTIONS(2358),
    [anon_sym_each] = ACTIONS(665),
    [anon_sym_lazy] = ACTIONS(661),
    [anon_sym_repeat] = ACTIONS(667),
    [anon_sym_package] = ACTIONS(661),
    [anon_sym_nil] = ACTIONS(2360),
    [sym_real_literal] = ACTIONS(2362),
    [sym_integer_literal] = ACTIONS(2360),
    [sym_hex_literal] = ACTIONS(2360),
    [sym_oct_literal] = ACTIONS(2362),
    [sym_bin_literal] = ACTIONS(2362),
    [anon_sym_true] = ACTIONS(673),
    [anon_sym_false] = ACTIONS(673),
    [anon_sym_DQUOTE] = ACTIONS(675),
    [anon_sym_BSLASH] = ACTIONS(677),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(679),
    [sym__oneline_regex_literal] = ACTIONS(681),
    [anon_sym_LPAREN] = ACTIONS(683),
    [anon_sym_LBRACK] = ACTIONS(685),
    [anon_sym_AMP] = ACTIONS(687),
    [anon_sym_TILDE] = ACTIONS(687),
    [anon_sym_if] = ACTIONS(2364),
    [anon_sym_switch] = ACTIONS(2366),
    [aux_sym_custom_operator_token1] = ACTIONS(693),
    [anon_sym_LT] = ACTIONS(2360),
    [anon_sym_GT] = ACTIONS(2360),
    [anon_sym_await] = ACTIONS(695),
    [anon_sym_LBRACE] = ACTIONS(697),
    [anon_sym_CARET_LBRACE] = ACTIONS(697),
    [anon_sym_self] = ACTIONS(699),
    [anon_sym_super] = ACTIONS(701),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2362),
    [anon_sym_DASH_EQ] = ACTIONS(2362),
    [anon_sym_STAR_EQ] = ACTIONS(2362),
    [anon_sym_SLASH_EQ] = ACTIONS(2362),
    [anon_sym_PERCENT_EQ] = ACTIONS(2362),
    [anon_sym_BANG_EQ] = ACTIONS(2360),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2362),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2362),
    [anon_sym_LT_EQ] = ACTIONS(2362),
    [anon_sym_GT_EQ] = ACTIONS(2362),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(703),
    [anon_sym_DOT_DOT_LT] = ACTIONS(705),
    [anon_sym_PLUS] = ACTIONS(707),
    [anon_sym_DASH] = ACTIONS(707),
    [anon_sym_STAR] = ACTIONS(2360),
    [anon_sym_SLASH] = ACTIONS(2360),
    [anon_sym_PERCENT] = ACTIONS(2360),
    [anon_sym_PLUS_PLUS] = ACTIONS(687),
    [anon_sym_DASH_DASH] = ACTIONS(687),
    [anon_sym_PIPE] = ACTIONS(2362),
    [anon_sym_CARET] = ACTIONS(2360),
    [anon_sym_LT_LT] = ACTIONS(2362),
    [anon_sym_GT_GT] = ACTIONS(2362),
    [anon_sym_borrowing] = ACTIONS(661),
    [anon_sym_consuming] = ACTIONS(661),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(709),
    [sym__dot_custom] = ACTIONS(711),
    [sym__eq_custom] = ACTIONS(2362),
    [sym__eq_eq_custom] = ACTIONS(2362),
    [sym__plus_then_ws] = ACTIONS(2362),
    [sym__minus_then_ws] = ACTIONS(2362),
    [sym__bang_custom] = ACTIONS(713),
    [sym__custom_operator] = ACTIONS(693),
    [sym__hash_symbol_custom] = ACTIONS(715),
    [sym__directive_if] = ACTIONS(717),
    [sym__directive_elseif] = ACTIONS(717),
    [sym__directive_else] = ACTIONS(719),
    [sym__directive_endif] = ACTIONS(719),
  },
  [660] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1473),
    [sym_boolean_literal] = STATE(1473),
    [sym__string_literal] = STATE(1473),
    [sym_line_string_literal] = STATE(1473),
    [sym_multi_line_string_literal] = STATE(1473),
    [sym_raw_string_literal] = STATE(1473),
    [sym_regex_literal] = STATE(1473),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1473),
    [sym__unary_expression] = STATE(1473),
    [sym_postfix_expression] = STATE(1473),
    [sym_constructor_expression] = STATE(1473),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1473),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1473),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1473),
    [sym_prefix_expression] = STATE(1473),
    [sym_as_expression] = STATE(1473),
    [sym_selector_expression] = STATE(1473),
    [sym__binary_expression] = STATE(2826),
    [sym_multiplicative_expression] = STATE(2826),
    [sym_additive_expression] = STATE(2826),
    [sym_range_expression] = STATE(2826),
    [sym_infix_expression] = STATE(2826),
    [sym_nil_coalescing_expression] = STATE(2826),
    [sym_check_expression] = STATE(2826),
    [sym_comparison_expression] = STATE(2826),
    [sym_equality_expression] = STATE(2826),
    [sym_conjunction_expression] = STATE(2826),
    [sym_disjunction_expression] = STATE(2826),
    [sym_bitwise_operation] = STATE(2826),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1473),
    [sym_await_expression] = STATE(1473),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(2824),
    [sym_call_expression] = STATE(2823),
    [sym_macro_invocation] = STATE(1473),
    [sym__primary_expression] = STATE(1473),
    [sym_tuple_expression] = STATE(1473),
    [sym_array_literal] = STATE(1473),
    [sym_dictionary_literal] = STATE(1473),
    [sym_special_literal] = STATE(1473),
    [sym_playground_literal] = STATE(1473),
    [sym_lambda_literal] = STATE(1473),
    [sym_self_expression] = STATE(1473),
    [sym_super_expression] = STATE(1473),
    [sym_if_statement] = STATE(1473),
    [sym_switch_statement] = STATE(1473),
    [sym_key_path_expression] = STATE(1473),
    [sym_key_path_string_expression] = STATE(1473),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1473),
    [sym__equality_operator] = STATE(1473),
    [sym__comparison_operator] = STATE(1473),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1473),
    [sym__multiplicative_operator] = STATE(1473),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_assignment] = STATE(1473),
    [sym_value_parameter_pack] = STATE(1473),
    [sym_value_pack_expansion] = STATE(1473),
    [sym__referenceable_operator] = STATE(1473),
    [sym__equal_sign] = STATE(1473),
    [sym__eq_eq] = STATE(1473),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1473),
    [sym_diagnostic] = STATE(1473),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(11),
    [anon_sym_async] = ACTIONS(11),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(11),
    [anon_sym_repeat] = ACTIONS(925),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(2368),
    [sym_real_literal] = ACTIONS(2370),
    [sym_integer_literal] = ACTIONS(2368),
    [sym_hex_literal] = ACTIONS(2368),
    [sym_oct_literal] = ACTIONS(2370),
    [sym_bin_literal] = ACTIONS(2370),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(2368),
    [anon_sym_GT] = ACTIONS(2368),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2370),
    [anon_sym_DASH_EQ] = ACTIONS(2370),
    [anon_sym_STAR_EQ] = ACTIONS(2370),
    [anon_sym_SLASH_EQ] = ACTIONS(2370),
    [anon_sym_PERCENT_EQ] = ACTIONS(2370),
    [anon_sym_BANG_EQ] = ACTIONS(2368),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2370),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2370),
    [anon_sym_LT_EQ] = ACTIONS(2370),
    [anon_sym_GT_EQ] = ACTIONS(2370),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(2368),
    [anon_sym_SLASH] = ACTIONS(2368),
    [anon_sym_PERCENT] = ACTIONS(2368),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(2370),
    [anon_sym_CARET] = ACTIONS(2368),
    [anon_sym_LT_LT] = ACTIONS(2370),
    [anon_sym_GT_GT] = ACTIONS(2370),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(2370),
    [sym__eq_eq_custom] = ACTIONS(2370),
    [sym__plus_then_ws] = ACTIONS(2370),
    [sym__minus_then_ws] = ACTIONS(2370),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [661] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1474),
    [sym_boolean_literal] = STATE(1474),
    [sym__string_literal] = STATE(1474),
    [sym_line_string_literal] = STATE(1474),
    [sym_multi_line_string_literal] = STATE(1474),
    [sym_raw_string_literal] = STATE(1474),
    [sym_regex_literal] = STATE(1474),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1474),
    [sym__unary_expression] = STATE(1474),
    [sym_postfix_expression] = STATE(1474),
    [sym_constructor_expression] = STATE(1474),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1474),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1474),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1474),
    [sym_prefix_expression] = STATE(1474),
    [sym_as_expression] = STATE(1474),
    [sym_selector_expression] = STATE(1474),
    [sym__binary_expression] = STATE(1474),
    [sym_multiplicative_expression] = STATE(1474),
    [sym_additive_expression] = STATE(1474),
    [sym_range_expression] = STATE(1474),
    [sym_infix_expression] = STATE(1474),
    [sym_nil_coalescing_expression] = STATE(1474),
    [sym_check_expression] = STATE(1474),
    [sym_comparison_expression] = STATE(1474),
    [sym_equality_expression] = STATE(1474),
    [sym_conjunction_expression] = STATE(1474),
    [sym_disjunction_expression] = STATE(1474),
    [sym_bitwise_operation] = STATE(1474),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1474),
    [sym_await_expression] = STATE(1474),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(2839),
    [sym_call_expression] = STATE(2834),
    [sym_macro_invocation] = STATE(1474),
    [sym__primary_expression] = STATE(1474),
    [sym_tuple_expression] = STATE(1474),
    [sym_array_literal] = STATE(1474),
    [sym_dictionary_literal] = STATE(1474),
    [sym_special_literal] = STATE(1474),
    [sym_playground_literal] = STATE(1474),
    [sym_lambda_literal] = STATE(1474),
    [sym_self_expression] = STATE(1474),
    [sym_super_expression] = STATE(1474),
    [sym_if_statement] = STATE(1474),
    [sym_switch_statement] = STATE(1474),
    [sym_key_path_expression] = STATE(1474),
    [sym_key_path_string_expression] = STATE(1474),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1474),
    [sym__equality_operator] = STATE(1474),
    [sym__comparison_operator] = STATE(1474),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1474),
    [sym__multiplicative_operator] = STATE(1474),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_assignment] = STATE(1474),
    [sym_value_parameter_pack] = STATE(1474),
    [sym_value_pack_expansion] = STATE(1474),
    [sym__referenceable_operator] = STATE(1474),
    [sym__equal_sign] = STATE(1474),
    [sym__eq_eq] = STATE(1474),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1474),
    [sym_diagnostic] = STATE(1474),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(11),
    [anon_sym_async] = ACTIONS(11),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(11),
    [anon_sym_repeat] = ACTIONS(925),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(2372),
    [sym_real_literal] = ACTIONS(2374),
    [sym_integer_literal] = ACTIONS(2372),
    [sym_hex_literal] = ACTIONS(2372),
    [sym_oct_literal] = ACTIONS(2374),
    [sym_bin_literal] = ACTIONS(2374),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(2372),
    [anon_sym_GT] = ACTIONS(2372),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2374),
    [anon_sym_DASH_EQ] = ACTIONS(2374),
    [anon_sym_STAR_EQ] = ACTIONS(2374),
    [anon_sym_SLASH_EQ] = ACTIONS(2374),
    [anon_sym_PERCENT_EQ] = ACTIONS(2374),
    [anon_sym_BANG_EQ] = ACTIONS(2372),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2374),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2374),
    [anon_sym_LT_EQ] = ACTIONS(2374),
    [anon_sym_GT_EQ] = ACTIONS(2374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(2372),
    [anon_sym_SLASH] = ACTIONS(2372),
    [anon_sym_PERCENT] = ACTIONS(2372),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(2374),
    [anon_sym_CARET] = ACTIONS(2372),
    [anon_sym_LT_LT] = ACTIONS(2374),
    [anon_sym_GT_GT] = ACTIONS(2374),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(2374),
    [sym__eq_eq_custom] = ACTIONS(2374),
    [sym__plus_then_ws] = ACTIONS(2374),
    [sym__minus_then_ws] = ACTIONS(2374),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [662] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1475),
    [sym_boolean_literal] = STATE(1475),
    [sym__string_literal] = STATE(1475),
    [sym_line_string_literal] = STATE(1475),
    [sym_multi_line_string_literal] = STATE(1475),
    [sym_raw_string_literal] = STATE(1475),
    [sym_regex_literal] = STATE(1475),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1475),
    [sym__unary_expression] = STATE(1475),
    [sym_postfix_expression] = STATE(1475),
    [sym_constructor_expression] = STATE(1475),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1475),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1475),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1475),
    [sym_prefix_expression] = STATE(1475),
    [sym_as_expression] = STATE(1475),
    [sym_selector_expression] = STATE(1475),
    [sym__binary_expression] = STATE(1475),
    [sym_multiplicative_expression] = STATE(1475),
    [sym_additive_expression] = STATE(1475),
    [sym_range_expression] = STATE(1475),
    [sym_infix_expression] = STATE(1475),
    [sym_nil_coalescing_expression] = STATE(1475),
    [sym_check_expression] = STATE(1475),
    [sym_comparison_expression] = STATE(1475),
    [sym_equality_expression] = STATE(1475),
    [sym_conjunction_expression] = STATE(1475),
    [sym_disjunction_expression] = STATE(1475),
    [sym_bitwise_operation] = STATE(1475),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1475),
    [sym_await_expression] = STATE(1475),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1475),
    [sym_call_expression] = STATE(1475),
    [sym_macro_invocation] = STATE(1475),
    [sym__primary_expression] = STATE(1475),
    [sym_tuple_expression] = STATE(1475),
    [sym_array_literal] = STATE(1475),
    [sym_dictionary_literal] = STATE(1475),
    [sym_special_literal] = STATE(1475),
    [sym_playground_literal] = STATE(1475),
    [sym_lambda_literal] = STATE(1475),
    [sym_self_expression] = STATE(1475),
    [sym_super_expression] = STATE(1475),
    [sym_if_statement] = STATE(1475),
    [sym_switch_statement] = STATE(1475),
    [sym_key_path_expression] = STATE(1475),
    [sym_key_path_string_expression] = STATE(1475),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1475),
    [sym__equality_operator] = STATE(1475),
    [sym__comparison_operator] = STATE(1475),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1475),
    [sym__multiplicative_operator] = STATE(1475),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_assignment] = STATE(1475),
    [sym_value_parameter_pack] = STATE(1475),
    [sym_value_pack_expansion] = STATE(1475),
    [sym__referenceable_operator] = STATE(1475),
    [sym__equal_sign] = STATE(1475),
    [sym__eq_eq] = STATE(1475),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1475),
    [sym_diagnostic] = STATE(1475),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(11),
    [anon_sym_async] = ACTIONS(11),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(11),
    [anon_sym_repeat] = ACTIONS(925),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(2376),
    [sym_real_literal] = ACTIONS(2378),
    [sym_integer_literal] = ACTIONS(2376),
    [sym_hex_literal] = ACTIONS(2376),
    [sym_oct_literal] = ACTIONS(2378),
    [sym_bin_literal] = ACTIONS(2378),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(2376),
    [anon_sym_GT] = ACTIONS(2376),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2378),
    [anon_sym_DASH_EQ] = ACTIONS(2378),
    [anon_sym_STAR_EQ] = ACTIONS(2378),
    [anon_sym_SLASH_EQ] = ACTIONS(2378),
    [anon_sym_PERCENT_EQ] = ACTIONS(2378),
    [anon_sym_BANG_EQ] = ACTIONS(2376),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2378),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2378),
    [anon_sym_LT_EQ] = ACTIONS(2378),
    [anon_sym_GT_EQ] = ACTIONS(2378),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(2376),
    [anon_sym_SLASH] = ACTIONS(2376),
    [anon_sym_PERCENT] = ACTIONS(2376),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(2378),
    [anon_sym_CARET] = ACTIONS(2376),
    [anon_sym_LT_LT] = ACTIONS(2378),
    [anon_sym_GT_GT] = ACTIONS(2378),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(2378),
    [sym__eq_eq_custom] = ACTIONS(2378),
    [sym__plus_then_ws] = ACTIONS(2378),
    [sym__minus_then_ws] = ACTIONS(2378),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [663] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1544),
    [sym_boolean_literal] = STATE(1544),
    [sym__string_literal] = STATE(1544),
    [sym_line_string_literal] = STATE(1544),
    [sym_multi_line_string_literal] = STATE(1544),
    [sym_raw_string_literal] = STATE(1544),
    [sym_regex_literal] = STATE(1544),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1544),
    [sym__unary_expression] = STATE(1544),
    [sym_postfix_expression] = STATE(1544),
    [sym_constructor_expression] = STATE(1544),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1544),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1544),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1544),
    [sym_prefix_expression] = STATE(1544),
    [sym_as_expression] = STATE(1544),
    [sym_selector_expression] = STATE(1544),
    [sym__binary_expression] = STATE(1544),
    [sym_multiplicative_expression] = STATE(1544),
    [sym_additive_expression] = STATE(1544),
    [sym_range_expression] = STATE(1544),
    [sym_infix_expression] = STATE(1544),
    [sym_nil_coalescing_expression] = STATE(1544),
    [sym_check_expression] = STATE(1544),
    [sym_comparison_expression] = STATE(1544),
    [sym_equality_expression] = STATE(1544),
    [sym_conjunction_expression] = STATE(1544),
    [sym_disjunction_expression] = STATE(1544),
    [sym_bitwise_operation] = STATE(1544),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1544),
    [sym_await_expression] = STATE(1544),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1544),
    [sym_call_expression] = STATE(1544),
    [sym_macro_invocation] = STATE(1544),
    [sym__primary_expression] = STATE(1544),
    [sym_tuple_expression] = STATE(1544),
    [sym_array_literal] = STATE(1544),
    [sym_dictionary_literal] = STATE(1544),
    [sym_special_literal] = STATE(1544),
    [sym_playground_literal] = STATE(1544),
    [sym_lambda_literal] = STATE(1544),
    [sym_self_expression] = STATE(1544),
    [sym_super_expression] = STATE(1544),
    [sym_if_statement] = STATE(1544),
    [sym_switch_statement] = STATE(1544),
    [sym_key_path_expression] = STATE(1544),
    [sym_key_path_string_expression] = STATE(1544),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1544),
    [sym__equality_operator] = STATE(1544),
    [sym__comparison_operator] = STATE(1544),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1544),
    [sym__multiplicative_operator] = STATE(1544),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1544),
    [sym_value_parameter_pack] = STATE(1544),
    [sym_value_pack_expansion] = STATE(1544),
    [sym__referenceable_operator] = STATE(1544),
    [sym__equal_sign] = STATE(1544),
    [sym__eq_eq] = STATE(1544),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1544),
    [sym_diagnostic] = STATE(1544),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2380),
    [sym_real_literal] = ACTIONS(2382),
    [sym_integer_literal] = ACTIONS(2380),
    [sym_hex_literal] = ACTIONS(2380),
    [sym_oct_literal] = ACTIONS(2382),
    [sym_bin_literal] = ACTIONS(2382),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2380),
    [anon_sym_GT] = ACTIONS(2380),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2382),
    [anon_sym_DASH_EQ] = ACTIONS(2382),
    [anon_sym_STAR_EQ] = ACTIONS(2382),
    [anon_sym_SLASH_EQ] = ACTIONS(2382),
    [anon_sym_PERCENT_EQ] = ACTIONS(2382),
    [anon_sym_BANG_EQ] = ACTIONS(2380),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2382),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2382),
    [anon_sym_LT_EQ] = ACTIONS(2382),
    [anon_sym_GT_EQ] = ACTIONS(2382),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2380),
    [anon_sym_SLASH] = ACTIONS(2380),
    [anon_sym_PERCENT] = ACTIONS(2380),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2382),
    [anon_sym_CARET] = ACTIONS(2380),
    [anon_sym_LT_LT] = ACTIONS(2382),
    [anon_sym_GT_GT] = ACTIONS(2382),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2382),
    [sym__eq_eq_custom] = ACTIONS(2382),
    [sym__plus_then_ws] = ACTIONS(2382),
    [sym__minus_then_ws] = ACTIONS(2382),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [664] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1600),
    [sym_boolean_literal] = STATE(1600),
    [sym__string_literal] = STATE(1600),
    [sym_line_string_literal] = STATE(1600),
    [sym_multi_line_string_literal] = STATE(1600),
    [sym_raw_string_literal] = STATE(1600),
    [sym_regex_literal] = STATE(1600),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1600),
    [sym__unary_expression] = STATE(1600),
    [sym_postfix_expression] = STATE(1600),
    [sym_constructor_expression] = STATE(1600),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1600),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1600),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1600),
    [sym_prefix_expression] = STATE(1600),
    [sym_as_expression] = STATE(1600),
    [sym_selector_expression] = STATE(1600),
    [sym__binary_expression] = STATE(1600),
    [sym_multiplicative_expression] = STATE(1600),
    [sym_additive_expression] = STATE(1600),
    [sym_range_expression] = STATE(1600),
    [sym_infix_expression] = STATE(1600),
    [sym_nil_coalescing_expression] = STATE(1600),
    [sym_check_expression] = STATE(1600),
    [sym_comparison_expression] = STATE(1600),
    [sym_equality_expression] = STATE(1600),
    [sym_conjunction_expression] = STATE(1600),
    [sym_disjunction_expression] = STATE(1600),
    [sym_bitwise_operation] = STATE(1600),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1600),
    [sym_await_expression] = STATE(1600),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1600),
    [sym_call_expression] = STATE(1600),
    [sym_macro_invocation] = STATE(1600),
    [sym__primary_expression] = STATE(1600),
    [sym_tuple_expression] = STATE(1600),
    [sym_array_literal] = STATE(1600),
    [sym_dictionary_literal] = STATE(1600),
    [sym_special_literal] = STATE(1600),
    [sym_playground_literal] = STATE(1600),
    [sym_lambda_literal] = STATE(1600),
    [sym_self_expression] = STATE(1600),
    [sym_super_expression] = STATE(1600),
    [sym_if_statement] = STATE(1600),
    [sym_switch_statement] = STATE(1600),
    [sym_key_path_expression] = STATE(1600),
    [sym_key_path_string_expression] = STATE(1600),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1600),
    [sym__equality_operator] = STATE(1600),
    [sym__comparison_operator] = STATE(1600),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1600),
    [sym__multiplicative_operator] = STATE(1600),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1600),
    [sym_value_parameter_pack] = STATE(1600),
    [sym_value_pack_expansion] = STATE(1600),
    [sym__referenceable_operator] = STATE(1600),
    [sym__equal_sign] = STATE(1600),
    [sym__eq_eq] = STATE(1600),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1600),
    [sym_diagnostic] = STATE(1600),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2384),
    [sym_real_literal] = ACTIONS(2386),
    [sym_integer_literal] = ACTIONS(2384),
    [sym_hex_literal] = ACTIONS(2384),
    [sym_oct_literal] = ACTIONS(2386),
    [sym_bin_literal] = ACTIONS(2386),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2384),
    [anon_sym_GT] = ACTIONS(2384),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2386),
    [anon_sym_DASH_EQ] = ACTIONS(2386),
    [anon_sym_STAR_EQ] = ACTIONS(2386),
    [anon_sym_SLASH_EQ] = ACTIONS(2386),
    [anon_sym_PERCENT_EQ] = ACTIONS(2386),
    [anon_sym_BANG_EQ] = ACTIONS(2384),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2386),
    [anon_sym_LT_EQ] = ACTIONS(2386),
    [anon_sym_GT_EQ] = ACTIONS(2386),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2384),
    [anon_sym_SLASH] = ACTIONS(2384),
    [anon_sym_PERCENT] = ACTIONS(2384),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2386),
    [anon_sym_CARET] = ACTIONS(2384),
    [anon_sym_LT_LT] = ACTIONS(2386),
    [anon_sym_GT_GT] = ACTIONS(2386),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2386),
    [sym__eq_eq_custom] = ACTIONS(2386),
    [sym__plus_then_ws] = ACTIONS(2386),
    [sym__minus_then_ws] = ACTIONS(2386),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [665] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1602),
    [sym_boolean_literal] = STATE(1602),
    [sym__string_literal] = STATE(1602),
    [sym_line_string_literal] = STATE(1602),
    [sym_multi_line_string_literal] = STATE(1602),
    [sym_raw_string_literal] = STATE(1602),
    [sym_regex_literal] = STATE(1602),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1602),
    [sym__unary_expression] = STATE(1602),
    [sym_postfix_expression] = STATE(1602),
    [sym_constructor_expression] = STATE(1602),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1602),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1602),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1602),
    [sym_prefix_expression] = STATE(1602),
    [sym_as_expression] = STATE(1602),
    [sym_selector_expression] = STATE(1602),
    [sym__binary_expression] = STATE(1602),
    [sym_multiplicative_expression] = STATE(1602),
    [sym_additive_expression] = STATE(1602),
    [sym_range_expression] = STATE(1602),
    [sym_infix_expression] = STATE(1602),
    [sym_nil_coalescing_expression] = STATE(1602),
    [sym_check_expression] = STATE(1602),
    [sym_comparison_expression] = STATE(1602),
    [sym_equality_expression] = STATE(1602),
    [sym_conjunction_expression] = STATE(1602),
    [sym_disjunction_expression] = STATE(1602),
    [sym_bitwise_operation] = STATE(1602),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1602),
    [sym_await_expression] = STATE(1602),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1602),
    [sym_call_expression] = STATE(1602),
    [sym_macro_invocation] = STATE(1602),
    [sym__primary_expression] = STATE(1602),
    [sym_tuple_expression] = STATE(1602),
    [sym_array_literal] = STATE(1602),
    [sym_dictionary_literal] = STATE(1602),
    [sym_special_literal] = STATE(1602),
    [sym_playground_literal] = STATE(1602),
    [sym_lambda_literal] = STATE(1602),
    [sym_self_expression] = STATE(1602),
    [sym_super_expression] = STATE(1602),
    [sym_if_statement] = STATE(1602),
    [sym_switch_statement] = STATE(1602),
    [sym_key_path_expression] = STATE(1602),
    [sym_key_path_string_expression] = STATE(1602),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1602),
    [sym__equality_operator] = STATE(1602),
    [sym__comparison_operator] = STATE(1602),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1602),
    [sym__multiplicative_operator] = STATE(1602),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1602),
    [sym_value_parameter_pack] = STATE(1602),
    [sym_value_pack_expansion] = STATE(1602),
    [sym__referenceable_operator] = STATE(1602),
    [sym__equal_sign] = STATE(1602),
    [sym__eq_eq] = STATE(1602),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1602),
    [sym_diagnostic] = STATE(1602),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2388),
    [sym_real_literal] = ACTIONS(2390),
    [sym_integer_literal] = ACTIONS(2388),
    [sym_hex_literal] = ACTIONS(2388),
    [sym_oct_literal] = ACTIONS(2390),
    [sym_bin_literal] = ACTIONS(2390),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2388),
    [anon_sym_GT] = ACTIONS(2388),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2390),
    [anon_sym_DASH_EQ] = ACTIONS(2390),
    [anon_sym_STAR_EQ] = ACTIONS(2390),
    [anon_sym_SLASH_EQ] = ACTIONS(2390),
    [anon_sym_PERCENT_EQ] = ACTIONS(2390),
    [anon_sym_BANG_EQ] = ACTIONS(2388),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2390),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2390),
    [anon_sym_LT_EQ] = ACTIONS(2390),
    [anon_sym_GT_EQ] = ACTIONS(2390),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2388),
    [anon_sym_SLASH] = ACTIONS(2388),
    [anon_sym_PERCENT] = ACTIONS(2388),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2390),
    [anon_sym_CARET] = ACTIONS(2388),
    [anon_sym_LT_LT] = ACTIONS(2390),
    [anon_sym_GT_GT] = ACTIONS(2390),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2390),
    [sym__eq_eq_custom] = ACTIONS(2390),
    [sym__plus_then_ws] = ACTIONS(2390),
    [sym__minus_then_ws] = ACTIONS(2390),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [666] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(745),
    [sym_boolean_literal] = STATE(745),
    [sym__string_literal] = STATE(745),
    [sym_line_string_literal] = STATE(745),
    [sym_multi_line_string_literal] = STATE(745),
    [sym_raw_string_literal] = STATE(745),
    [sym_regex_literal] = STATE(745),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6436),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6436),
    [sym_dictionary_type] = STATE(6436),
    [sym__expression] = STATE(745),
    [sym__unary_expression] = STATE(745),
    [sym_postfix_expression] = STATE(745),
    [sym_constructor_expression] = STATE(745),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(745),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(745),
    [sym__range_operator] = STATE(694),
    [sym_open_end_range_expression] = STATE(745),
    [sym_prefix_expression] = STATE(745),
    [sym_as_expression] = STATE(745),
    [sym_selector_expression] = STATE(745),
    [sym__binary_expression] = STATE(745),
    [sym_multiplicative_expression] = STATE(745),
    [sym_additive_expression] = STATE(745),
    [sym_range_expression] = STATE(745),
    [sym_infix_expression] = STATE(745),
    [sym_nil_coalescing_expression] = STATE(745),
    [sym_check_expression] = STATE(745),
    [sym_comparison_expression] = STATE(745),
    [sym_equality_expression] = STATE(745),
    [sym_conjunction_expression] = STATE(745),
    [sym_disjunction_expression] = STATE(745),
    [sym_bitwise_operation] = STATE(745),
    [sym_custom_operator] = STATE(741),
    [sym_try_expression] = STATE(745),
    [sym_await_expression] = STATE(745),
    [sym__await_operator] = STATE(681),
    [sym_ternary_expression] = STATE(745),
    [sym_call_expression] = STATE(745),
    [sym_macro_invocation] = STATE(745),
    [sym__primary_expression] = STATE(745),
    [sym_tuple_expression] = STATE(745),
    [sym_array_literal] = STATE(745),
    [sym_dictionary_literal] = STATE(745),
    [sym_special_literal] = STATE(745),
    [sym_playground_literal] = STATE(745),
    [sym_lambda_literal] = STATE(745),
    [sym_self_expression] = STATE(745),
    [sym_super_expression] = STATE(745),
    [sym_if_statement] = STATE(745),
    [sym_switch_statement] = STATE(745),
    [sym_key_path_expression] = STATE(745),
    [sym_key_path_string_expression] = STATE(745),
    [sym_try_operator] = STATE(678),
    [sym__assignment_and_operator] = STATE(745),
    [sym__equality_operator] = STATE(745),
    [sym__comparison_operator] = STATE(745),
    [sym__three_dot_operator] = STATE(742),
    [sym__open_ended_range_operator] = STATE(694),
    [sym__additive_operator] = STATE(745),
    [sym__multiplicative_operator] = STATE(745),
    [sym__prefix_unary_operator] = STATE(622),
    [sym_directly_assignable_expression] = STATE(6420),
    [sym_assignment] = STATE(745),
    [sym_value_parameter_pack] = STATE(745),
    [sym_value_pack_expansion] = STATE(745),
    [sym__referenceable_operator] = STATE(745),
    [sym__equal_sign] = STATE(745),
    [sym__eq_eq] = STATE(745),
    [sym__dot] = STATE(622),
    [sym__hash_symbol] = STATE(4852),
    [sym_bang] = STATE(741),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(745),
    [sym_diagnostic] = STATE(745),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(605),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(607),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(609),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2392),
    [sym_real_literal] = ACTIONS(2394),
    [sym_integer_literal] = ACTIONS(2392),
    [sym_hex_literal] = ACTIONS(2392),
    [sym_oct_literal] = ACTIONS(2394),
    [sym_bin_literal] = ACTIONS(2394),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(615),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(625),
    [anon_sym_TILDE] = ACTIONS(625),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(627),
    [aux_sym_custom_operator_token1] = ACTIONS(629),
    [anon_sym_LT] = ACTIONS(2392),
    [anon_sym_GT] = ACTIONS(2392),
    [anon_sym_await] = ACTIONS(631),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2394),
    [anon_sym_DASH_EQ] = ACTIONS(2394),
    [anon_sym_STAR_EQ] = ACTIONS(2394),
    [anon_sym_SLASH_EQ] = ACTIONS(2394),
    [anon_sym_PERCENT_EQ] = ACTIONS(2394),
    [anon_sym_BANG_EQ] = ACTIONS(2392),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2394),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2394),
    [anon_sym_LT_EQ] = ACTIONS(2394),
    [anon_sym_GT_EQ] = ACTIONS(2394),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(635),
    [anon_sym_DOT_DOT_LT] = ACTIONS(637),
    [anon_sym_PLUS] = ACTIONS(639),
    [anon_sym_DASH] = ACTIONS(639),
    [anon_sym_STAR] = ACTIONS(2392),
    [anon_sym_SLASH] = ACTIONS(2392),
    [anon_sym_PERCENT] = ACTIONS(2392),
    [anon_sym_PLUS_PLUS] = ACTIONS(625),
    [anon_sym_DASH_DASH] = ACTIONS(625),
    [anon_sym_PIPE] = ACTIONS(2394),
    [anon_sym_CARET] = ACTIONS(2392),
    [anon_sym_LT_LT] = ACTIONS(2394),
    [anon_sym_GT_GT] = ACTIONS(2394),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(641),
    [sym__eq_custom] = ACTIONS(2394),
    [sym__eq_eq_custom] = ACTIONS(2394),
    [sym__plus_then_ws] = ACTIONS(2394),
    [sym__minus_then_ws] = ACTIONS(2394),
    [sym__bang_custom] = ACTIONS(643),
    [sym__custom_operator] = ACTIONS(629),
    [sym__hash_symbol_custom] = ACTIONS(645),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [667] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(793),
    [sym_boolean_literal] = STATE(793),
    [sym__string_literal] = STATE(793),
    [sym_line_string_literal] = STATE(793),
    [sym_multi_line_string_literal] = STATE(793),
    [sym_raw_string_literal] = STATE(793),
    [sym_regex_literal] = STATE(793),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(793),
    [sym__unary_expression] = STATE(793),
    [sym_postfix_expression] = STATE(793),
    [sym_constructor_expression] = STATE(793),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(793),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(793),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(793),
    [sym_prefix_expression] = STATE(793),
    [sym_as_expression] = STATE(793),
    [sym_selector_expression] = STATE(793),
    [sym__binary_expression] = STATE(793),
    [sym_multiplicative_expression] = STATE(793),
    [sym_additive_expression] = STATE(793),
    [sym_range_expression] = STATE(793),
    [sym_infix_expression] = STATE(793),
    [sym_nil_coalescing_expression] = STATE(793),
    [sym_check_expression] = STATE(793),
    [sym_comparison_expression] = STATE(793),
    [sym_equality_expression] = STATE(793),
    [sym_conjunction_expression] = STATE(793),
    [sym_disjunction_expression] = STATE(793),
    [sym_bitwise_operation] = STATE(793),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(793),
    [sym_await_expression] = STATE(793),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(793),
    [sym_call_expression] = STATE(793),
    [sym_macro_invocation] = STATE(793),
    [sym__primary_expression] = STATE(793),
    [sym_tuple_expression] = STATE(793),
    [sym_array_literal] = STATE(793),
    [sym_dictionary_literal] = STATE(793),
    [sym_special_literal] = STATE(793),
    [sym_playground_literal] = STATE(793),
    [sym_lambda_literal] = STATE(793),
    [sym_self_expression] = STATE(793),
    [sym_super_expression] = STATE(793),
    [sym_if_statement] = STATE(793),
    [sym_switch_statement] = STATE(793),
    [sym_key_path_expression] = STATE(793),
    [sym_key_path_string_expression] = STATE(793),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(793),
    [sym__equality_operator] = STATE(793),
    [sym__comparison_operator] = STATE(793),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(793),
    [sym__multiplicative_operator] = STATE(793),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_assignment] = STATE(793),
    [sym_value_parameter_pack] = STATE(793),
    [sym_value_pack_expansion] = STATE(793),
    [sym__referenceable_operator] = STATE(793),
    [sym__equal_sign] = STATE(793),
    [sym__eq_eq] = STATE(793),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(793),
    [sym_diagnostic] = STATE(793),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(289),
    [anon_sym_async] = ACTIONS(289),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(289),
    [anon_sym_repeat] = ACTIONS(733),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(2396),
    [sym_real_literal] = ACTIONS(2398),
    [sym_integer_literal] = ACTIONS(2396),
    [sym_hex_literal] = ACTIONS(2396),
    [sym_oct_literal] = ACTIONS(2398),
    [sym_bin_literal] = ACTIONS(2398),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(2396),
    [anon_sym_GT] = ACTIONS(2396),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2398),
    [anon_sym_DASH_EQ] = ACTIONS(2398),
    [anon_sym_STAR_EQ] = ACTIONS(2398),
    [anon_sym_SLASH_EQ] = ACTIONS(2398),
    [anon_sym_PERCENT_EQ] = ACTIONS(2398),
    [anon_sym_BANG_EQ] = ACTIONS(2396),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2398),
    [anon_sym_LT_EQ] = ACTIONS(2398),
    [anon_sym_GT_EQ] = ACTIONS(2398),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(2396),
    [anon_sym_SLASH] = ACTIONS(2396),
    [anon_sym_PERCENT] = ACTIONS(2396),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(2398),
    [anon_sym_CARET] = ACTIONS(2396),
    [anon_sym_LT_LT] = ACTIONS(2398),
    [anon_sym_GT_GT] = ACTIONS(2398),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(2398),
    [sym__eq_eq_custom] = ACTIONS(2398),
    [sym__plus_then_ws] = ACTIONS(2398),
    [sym__minus_then_ws] = ACTIONS(2398),
    [sym__bang_custom] = ACTIONS(373),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [668] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(754),
    [sym_boolean_literal] = STATE(754),
    [sym__string_literal] = STATE(754),
    [sym_line_string_literal] = STATE(754),
    [sym_multi_line_string_literal] = STATE(754),
    [sym_raw_string_literal] = STATE(754),
    [sym_regex_literal] = STATE(754),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6436),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6436),
    [sym_dictionary_type] = STATE(6436),
    [sym__expression] = STATE(754),
    [sym__unary_expression] = STATE(754),
    [sym_postfix_expression] = STATE(754),
    [sym_constructor_expression] = STATE(754),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(754),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(754),
    [sym__range_operator] = STATE(694),
    [sym_open_end_range_expression] = STATE(754),
    [sym_prefix_expression] = STATE(754),
    [sym_as_expression] = STATE(754),
    [sym_selector_expression] = STATE(754),
    [sym__binary_expression] = STATE(754),
    [sym_multiplicative_expression] = STATE(754),
    [sym_additive_expression] = STATE(754),
    [sym_range_expression] = STATE(754),
    [sym_infix_expression] = STATE(754),
    [sym_nil_coalescing_expression] = STATE(754),
    [sym_check_expression] = STATE(754),
    [sym_comparison_expression] = STATE(754),
    [sym_equality_expression] = STATE(754),
    [sym_conjunction_expression] = STATE(754),
    [sym_disjunction_expression] = STATE(754),
    [sym_bitwise_operation] = STATE(754),
    [sym_custom_operator] = STATE(741),
    [sym_try_expression] = STATE(754),
    [sym_await_expression] = STATE(754),
    [sym__await_operator] = STATE(681),
    [sym_ternary_expression] = STATE(754),
    [sym_call_expression] = STATE(754),
    [sym_macro_invocation] = STATE(754),
    [sym__primary_expression] = STATE(754),
    [sym_tuple_expression] = STATE(754),
    [sym_array_literal] = STATE(754),
    [sym_dictionary_literal] = STATE(754),
    [sym_special_literal] = STATE(754),
    [sym_playground_literal] = STATE(754),
    [sym_lambda_literal] = STATE(754),
    [sym_self_expression] = STATE(754),
    [sym_super_expression] = STATE(754),
    [sym_if_statement] = STATE(754),
    [sym_switch_statement] = STATE(754),
    [sym_key_path_expression] = STATE(754),
    [sym_key_path_string_expression] = STATE(754),
    [sym_try_operator] = STATE(678),
    [sym__assignment_and_operator] = STATE(754),
    [sym__equality_operator] = STATE(754),
    [sym__comparison_operator] = STATE(754),
    [sym__three_dot_operator] = STATE(742),
    [sym__open_ended_range_operator] = STATE(694),
    [sym__additive_operator] = STATE(754),
    [sym__multiplicative_operator] = STATE(754),
    [sym__prefix_unary_operator] = STATE(622),
    [sym_directly_assignable_expression] = STATE(6420),
    [sym_assignment] = STATE(754),
    [sym_value_parameter_pack] = STATE(754),
    [sym_value_pack_expansion] = STATE(754),
    [sym__referenceable_operator] = STATE(754),
    [sym__equal_sign] = STATE(754),
    [sym__eq_eq] = STATE(754),
    [sym__dot] = STATE(622),
    [sym__hash_symbol] = STATE(4852),
    [sym_bang] = STATE(741),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(754),
    [sym_diagnostic] = STATE(754),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(605),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(607),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(609),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2400),
    [sym_real_literal] = ACTIONS(2402),
    [sym_integer_literal] = ACTIONS(2400),
    [sym_hex_literal] = ACTIONS(2400),
    [sym_oct_literal] = ACTIONS(2402),
    [sym_bin_literal] = ACTIONS(2402),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(615),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(625),
    [anon_sym_TILDE] = ACTIONS(625),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(627),
    [aux_sym_custom_operator_token1] = ACTIONS(629),
    [anon_sym_LT] = ACTIONS(2400),
    [anon_sym_GT] = ACTIONS(2400),
    [anon_sym_await] = ACTIONS(631),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2402),
    [anon_sym_DASH_EQ] = ACTIONS(2402),
    [anon_sym_STAR_EQ] = ACTIONS(2402),
    [anon_sym_SLASH_EQ] = ACTIONS(2402),
    [anon_sym_PERCENT_EQ] = ACTIONS(2402),
    [anon_sym_BANG_EQ] = ACTIONS(2400),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2402),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2402),
    [anon_sym_LT_EQ] = ACTIONS(2402),
    [anon_sym_GT_EQ] = ACTIONS(2402),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(635),
    [anon_sym_DOT_DOT_LT] = ACTIONS(637),
    [anon_sym_PLUS] = ACTIONS(639),
    [anon_sym_DASH] = ACTIONS(639),
    [anon_sym_STAR] = ACTIONS(2400),
    [anon_sym_SLASH] = ACTIONS(2400),
    [anon_sym_PERCENT] = ACTIONS(2400),
    [anon_sym_PLUS_PLUS] = ACTIONS(625),
    [anon_sym_DASH_DASH] = ACTIONS(625),
    [anon_sym_PIPE] = ACTIONS(2402),
    [anon_sym_CARET] = ACTIONS(2400),
    [anon_sym_LT_LT] = ACTIONS(2402),
    [anon_sym_GT_GT] = ACTIONS(2402),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(641),
    [sym__eq_custom] = ACTIONS(2402),
    [sym__eq_eq_custom] = ACTIONS(2402),
    [sym__plus_then_ws] = ACTIONS(2402),
    [sym__minus_then_ws] = ACTIONS(2402),
    [sym__bang_custom] = ACTIONS(643),
    [sym__custom_operator] = ACTIONS(629),
    [sym__hash_symbol_custom] = ACTIONS(645),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [669] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(794),
    [sym_boolean_literal] = STATE(794),
    [sym__string_literal] = STATE(794),
    [sym_line_string_literal] = STATE(794),
    [sym_multi_line_string_literal] = STATE(794),
    [sym_raw_string_literal] = STATE(794),
    [sym_regex_literal] = STATE(794),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(794),
    [sym__unary_expression] = STATE(794),
    [sym_postfix_expression] = STATE(794),
    [sym_constructor_expression] = STATE(794),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(794),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(794),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(794),
    [sym_prefix_expression] = STATE(794),
    [sym_as_expression] = STATE(794),
    [sym_selector_expression] = STATE(794),
    [sym__binary_expression] = STATE(794),
    [sym_multiplicative_expression] = STATE(794),
    [sym_additive_expression] = STATE(794),
    [sym_range_expression] = STATE(794),
    [sym_infix_expression] = STATE(794),
    [sym_nil_coalescing_expression] = STATE(794),
    [sym_check_expression] = STATE(794),
    [sym_comparison_expression] = STATE(794),
    [sym_equality_expression] = STATE(794),
    [sym_conjunction_expression] = STATE(794),
    [sym_disjunction_expression] = STATE(794),
    [sym_bitwise_operation] = STATE(794),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(794),
    [sym_await_expression] = STATE(794),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(1376),
    [sym_call_expression] = STATE(1377),
    [sym_macro_invocation] = STATE(794),
    [sym__primary_expression] = STATE(794),
    [sym_tuple_expression] = STATE(794),
    [sym_array_literal] = STATE(794),
    [sym_dictionary_literal] = STATE(794),
    [sym_special_literal] = STATE(794),
    [sym_playground_literal] = STATE(794),
    [sym_lambda_literal] = STATE(794),
    [sym_self_expression] = STATE(794),
    [sym_super_expression] = STATE(794),
    [sym_if_statement] = STATE(794),
    [sym_switch_statement] = STATE(794),
    [sym_key_path_expression] = STATE(794),
    [sym_key_path_string_expression] = STATE(794),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(794),
    [sym__equality_operator] = STATE(794),
    [sym__comparison_operator] = STATE(794),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(794),
    [sym__multiplicative_operator] = STATE(794),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_assignment] = STATE(794),
    [sym_value_parameter_pack] = STATE(794),
    [sym_value_pack_expansion] = STATE(794),
    [sym__referenceable_operator] = STATE(794),
    [sym__equal_sign] = STATE(794),
    [sym__eq_eq] = STATE(794),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(794),
    [sym_diagnostic] = STATE(794),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(289),
    [anon_sym_async] = ACTIONS(289),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(289),
    [anon_sym_repeat] = ACTIONS(733),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(2404),
    [sym_real_literal] = ACTIONS(2406),
    [sym_integer_literal] = ACTIONS(2404),
    [sym_hex_literal] = ACTIONS(2404),
    [sym_oct_literal] = ACTIONS(2406),
    [sym_bin_literal] = ACTIONS(2406),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(2404),
    [anon_sym_GT] = ACTIONS(2404),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2406),
    [anon_sym_DASH_EQ] = ACTIONS(2406),
    [anon_sym_STAR_EQ] = ACTIONS(2406),
    [anon_sym_SLASH_EQ] = ACTIONS(2406),
    [anon_sym_PERCENT_EQ] = ACTIONS(2406),
    [anon_sym_BANG_EQ] = ACTIONS(2404),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2406),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2406),
    [anon_sym_LT_EQ] = ACTIONS(2406),
    [anon_sym_GT_EQ] = ACTIONS(2406),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(2404),
    [anon_sym_SLASH] = ACTIONS(2404),
    [anon_sym_PERCENT] = ACTIONS(2404),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(2406),
    [anon_sym_CARET] = ACTIONS(2404),
    [anon_sym_LT_LT] = ACTIONS(2406),
    [anon_sym_GT_GT] = ACTIONS(2406),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(2406),
    [sym__eq_eq_custom] = ACTIONS(2406),
    [sym__plus_then_ws] = ACTIONS(2406),
    [sym__minus_then_ws] = ACTIONS(2406),
    [sym__bang_custom] = ACTIONS(373),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [670] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(787),
    [sym_boolean_literal] = STATE(787),
    [sym__string_literal] = STATE(787),
    [sym_line_string_literal] = STATE(787),
    [sym_multi_line_string_literal] = STATE(787),
    [sym_raw_string_literal] = STATE(787),
    [sym_regex_literal] = STATE(787),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(787),
    [sym__unary_expression] = STATE(787),
    [sym_postfix_expression] = STATE(787),
    [sym_constructor_expression] = STATE(787),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(787),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(787),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(787),
    [sym_prefix_expression] = STATE(787),
    [sym_as_expression] = STATE(787),
    [sym_selector_expression] = STATE(787),
    [sym__binary_expression] = STATE(1396),
    [sym_multiplicative_expression] = STATE(1396),
    [sym_additive_expression] = STATE(1396),
    [sym_range_expression] = STATE(1396),
    [sym_infix_expression] = STATE(1396),
    [sym_nil_coalescing_expression] = STATE(1396),
    [sym_check_expression] = STATE(1396),
    [sym_comparison_expression] = STATE(1396),
    [sym_equality_expression] = STATE(1396),
    [sym_conjunction_expression] = STATE(1396),
    [sym_disjunction_expression] = STATE(1396),
    [sym_bitwise_operation] = STATE(1396),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(787),
    [sym_await_expression] = STATE(787),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(1412),
    [sym_call_expression] = STATE(1415),
    [sym_macro_invocation] = STATE(787),
    [sym__primary_expression] = STATE(787),
    [sym_tuple_expression] = STATE(787),
    [sym_array_literal] = STATE(787),
    [sym_dictionary_literal] = STATE(787),
    [sym_special_literal] = STATE(787),
    [sym_playground_literal] = STATE(787),
    [sym_lambda_literal] = STATE(787),
    [sym_self_expression] = STATE(787),
    [sym_super_expression] = STATE(787),
    [sym_if_statement] = STATE(787),
    [sym_switch_statement] = STATE(787),
    [sym_key_path_expression] = STATE(787),
    [sym_key_path_string_expression] = STATE(787),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(787),
    [sym__equality_operator] = STATE(787),
    [sym__comparison_operator] = STATE(787),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(787),
    [sym__multiplicative_operator] = STATE(787),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_assignment] = STATE(787),
    [sym_value_parameter_pack] = STATE(787),
    [sym_value_pack_expansion] = STATE(787),
    [sym__referenceable_operator] = STATE(787),
    [sym__equal_sign] = STATE(787),
    [sym__eq_eq] = STATE(787),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(787),
    [sym_diagnostic] = STATE(787),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(289),
    [anon_sym_async] = ACTIONS(289),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(289),
    [anon_sym_repeat] = ACTIONS(733),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(2408),
    [sym_real_literal] = ACTIONS(2410),
    [sym_integer_literal] = ACTIONS(2408),
    [sym_hex_literal] = ACTIONS(2408),
    [sym_oct_literal] = ACTIONS(2410),
    [sym_bin_literal] = ACTIONS(2410),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(2408),
    [anon_sym_GT] = ACTIONS(2408),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2410),
    [anon_sym_DASH_EQ] = ACTIONS(2410),
    [anon_sym_STAR_EQ] = ACTIONS(2410),
    [anon_sym_SLASH_EQ] = ACTIONS(2410),
    [anon_sym_PERCENT_EQ] = ACTIONS(2410),
    [anon_sym_BANG_EQ] = ACTIONS(2408),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2410),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2410),
    [anon_sym_LT_EQ] = ACTIONS(2410),
    [anon_sym_GT_EQ] = ACTIONS(2410),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(2408),
    [anon_sym_SLASH] = ACTIONS(2408),
    [anon_sym_PERCENT] = ACTIONS(2408),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(2410),
    [anon_sym_CARET] = ACTIONS(2408),
    [anon_sym_LT_LT] = ACTIONS(2410),
    [anon_sym_GT_GT] = ACTIONS(2410),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(2410),
    [sym__eq_eq_custom] = ACTIONS(2410),
    [sym__plus_then_ws] = ACTIONS(2410),
    [sym__minus_then_ws] = ACTIONS(2410),
    [sym__bang_custom] = ACTIONS(373),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [671] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1584),
    [sym_boolean_literal] = STATE(1584),
    [sym__string_literal] = STATE(1584),
    [sym_line_string_literal] = STATE(1584),
    [sym_multi_line_string_literal] = STATE(1584),
    [sym_raw_string_literal] = STATE(1584),
    [sym_regex_literal] = STATE(1584),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1584),
    [sym__unary_expression] = STATE(1584),
    [sym_postfix_expression] = STATE(1584),
    [sym_constructor_expression] = STATE(1584),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1584),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1584),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1584),
    [sym_prefix_expression] = STATE(1584),
    [sym_as_expression] = STATE(1584),
    [sym_selector_expression] = STATE(1584),
    [sym__binary_expression] = STATE(1584),
    [sym_multiplicative_expression] = STATE(1584),
    [sym_additive_expression] = STATE(1584),
    [sym_range_expression] = STATE(1584),
    [sym_infix_expression] = STATE(1584),
    [sym_nil_coalescing_expression] = STATE(1584),
    [sym_check_expression] = STATE(1584),
    [sym_comparison_expression] = STATE(1584),
    [sym_equality_expression] = STATE(1584),
    [sym_conjunction_expression] = STATE(1584),
    [sym_disjunction_expression] = STATE(1584),
    [sym_bitwise_operation] = STATE(1584),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1584),
    [sym_await_expression] = STATE(1584),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1584),
    [sym_call_expression] = STATE(1584),
    [sym_macro_invocation] = STATE(1584),
    [sym__primary_expression] = STATE(1584),
    [sym_tuple_expression] = STATE(1584),
    [sym_array_literal] = STATE(1584),
    [sym_dictionary_literal] = STATE(1584),
    [sym_special_literal] = STATE(1584),
    [sym_playground_literal] = STATE(1584),
    [sym_lambda_literal] = STATE(1584),
    [sym_self_expression] = STATE(1584),
    [sym_super_expression] = STATE(1584),
    [sym_if_statement] = STATE(1584),
    [sym_switch_statement] = STATE(1584),
    [sym_key_path_expression] = STATE(1584),
    [sym_key_path_string_expression] = STATE(1584),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1584),
    [sym__equality_operator] = STATE(1584),
    [sym__comparison_operator] = STATE(1584),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1584),
    [sym__multiplicative_operator] = STATE(1584),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1584),
    [sym_value_parameter_pack] = STATE(1584),
    [sym_value_pack_expansion] = STATE(1584),
    [sym__referenceable_operator] = STATE(1584),
    [sym__equal_sign] = STATE(1584),
    [sym__eq_eq] = STATE(1584),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1584),
    [sym_diagnostic] = STATE(1584),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2412),
    [sym_real_literal] = ACTIONS(2414),
    [sym_integer_literal] = ACTIONS(2412),
    [sym_hex_literal] = ACTIONS(2412),
    [sym_oct_literal] = ACTIONS(2414),
    [sym_bin_literal] = ACTIONS(2414),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2412),
    [anon_sym_GT] = ACTIONS(2412),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2414),
    [anon_sym_DASH_EQ] = ACTIONS(2414),
    [anon_sym_STAR_EQ] = ACTIONS(2414),
    [anon_sym_SLASH_EQ] = ACTIONS(2414),
    [anon_sym_PERCENT_EQ] = ACTIONS(2414),
    [anon_sym_BANG_EQ] = ACTIONS(2412),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2414),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2414),
    [anon_sym_LT_EQ] = ACTIONS(2414),
    [anon_sym_GT_EQ] = ACTIONS(2414),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2412),
    [anon_sym_SLASH] = ACTIONS(2412),
    [anon_sym_PERCENT] = ACTIONS(2412),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2414),
    [anon_sym_CARET] = ACTIONS(2412),
    [anon_sym_LT_LT] = ACTIONS(2414),
    [anon_sym_GT_GT] = ACTIONS(2414),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2414),
    [sym__eq_eq_custom] = ACTIONS(2414),
    [sym__plus_then_ws] = ACTIONS(2414),
    [sym__minus_then_ws] = ACTIONS(2414),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [672] = {
    [sym_simple_identifier] = STATE(2645),
    [sym__contextual_simple_identifier] = STATE(2445),
    [sym__basic_literal] = STATE(1484),
    [sym_boolean_literal] = STATE(1484),
    [sym__string_literal] = STATE(1484),
    [sym_line_string_literal] = STATE(1484),
    [sym_multi_line_string_literal] = STATE(1484),
    [sym_raw_string_literal] = STATE(1484),
    [sym_regex_literal] = STATE(1484),
    [sym__extended_regex_literal] = STATE(2955),
    [sym__multiline_regex_literal] = STATE(2955),
    [sym_user_type] = STATE(6382),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6382),
    [sym_dictionary_type] = STATE(6382),
    [sym__expression] = STATE(1484),
    [sym__unary_expression] = STATE(1484),
    [sym_postfix_expression] = STATE(1484),
    [sym_constructor_expression] = STATE(1484),
    [sym__parenthesized_type] = STATE(7692),
    [sym_navigation_expression] = STATE(1484),
    [sym__navigable_type_expression] = STATE(7690),
    [sym_open_start_range_expression] = STATE(1484),
    [sym__range_operator] = STATE(672),
    [sym_open_end_range_expression] = STATE(1484),
    [sym_prefix_expression] = STATE(1484),
    [sym_as_expression] = STATE(1484),
    [sym_selector_expression] = STATE(1484),
    [sym__binary_expression] = STATE(1484),
    [sym_multiplicative_expression] = STATE(1484),
    [sym_additive_expression] = STATE(1484),
    [sym_range_expression] = STATE(1484),
    [sym_infix_expression] = STATE(1484),
    [sym_nil_coalescing_expression] = STATE(1484),
    [sym_check_expression] = STATE(1484),
    [sym_comparison_expression] = STATE(1484),
    [sym_equality_expression] = STATE(1484),
    [sym_conjunction_expression] = STATE(1484),
    [sym_disjunction_expression] = STATE(1484),
    [sym_bitwise_operation] = STATE(1484),
    [sym_custom_operator] = STATE(1170),
    [sym_try_expression] = STATE(1484),
    [sym_await_expression] = STATE(1484),
    [sym__await_operator] = STATE(716),
    [sym_ternary_expression] = STATE(1484),
    [sym_call_expression] = STATE(1484),
    [sym_macro_invocation] = STATE(1484),
    [sym__primary_expression] = STATE(1484),
    [sym_tuple_expression] = STATE(1484),
    [sym_array_literal] = STATE(1484),
    [sym_dictionary_literal] = STATE(1484),
    [sym_special_literal] = STATE(1484),
    [sym_playground_literal] = STATE(1484),
    [sym_lambda_literal] = STATE(1484),
    [sym_self_expression] = STATE(1484),
    [sym_super_expression] = STATE(1484),
    [sym_if_statement] = STATE(1484),
    [sym_switch_statement] = STATE(1484),
    [sym_key_path_expression] = STATE(1484),
    [sym_key_path_string_expression] = STATE(1484),
    [sym_try_operator] = STATE(732),
    [sym__assignment_and_operator] = STATE(1484),
    [sym__equality_operator] = STATE(1484),
    [sym__comparison_operator] = STATE(1484),
    [sym__three_dot_operator] = STATE(1173),
    [sym__open_ended_range_operator] = STATE(672),
    [sym__additive_operator] = STATE(1484),
    [sym__multiplicative_operator] = STATE(1484),
    [sym__prefix_unary_operator] = STATE(647),
    [sym_directly_assignable_expression] = STATE(6379),
    [sym_assignment] = STATE(1484),
    [sym_value_parameter_pack] = STATE(1484),
    [sym_value_pack_expansion] = STATE(1484),
    [sym__referenceable_operator] = STATE(1484),
    [sym__equal_sign] = STATE(1484),
    [sym__eq_eq] = STATE(1484),
    [sym__dot] = STATE(647),
    [sym__hash_symbol] = STATE(4854),
    [sym_bang] = STATE(1170),
    [sym__parameter_ownership_modifier] = STATE(2445),
    [sym_directive] = STATE(1484),
    [sym_diagnostic] = STATE(1484),
    [aux_sym_raw_string_literal_repeat1] = STATE(7509),
    [anon_sym_BANG] = ACTIONS(1119),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1121),
    [aux_sym_simple_identifier_token2] = ACTIONS(1123),
    [aux_sym_simple_identifier_token3] = ACTIONS(1123),
    [aux_sym_simple_identifier_token4] = ACTIONS(1123),
    [anon_sym_actor] = ACTIONS(1121),
    [anon_sym_async] = ACTIONS(1121),
    [anon_sym_each] = ACTIONS(1125),
    [anon_sym_lazy] = ACTIONS(1121),
    [anon_sym_repeat] = ACTIONS(1127),
    [anon_sym_package] = ACTIONS(1121),
    [anon_sym_nil] = ACTIONS(2416),
    [sym_real_literal] = ACTIONS(2418),
    [sym_integer_literal] = ACTIONS(2416),
    [sym_hex_literal] = ACTIONS(2416),
    [sym_oct_literal] = ACTIONS(2418),
    [sym_bin_literal] = ACTIONS(2418),
    [anon_sym_true] = ACTIONS(1133),
    [anon_sym_false] = ACTIONS(1133),
    [anon_sym_DQUOTE] = ACTIONS(1135),
    [anon_sym_BSLASH] = ACTIONS(1137),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1139),
    [sym__oneline_regex_literal] = ACTIONS(1141),
    [anon_sym_LPAREN] = ACTIONS(1143),
    [anon_sym_LBRACK] = ACTIONS(1145),
    [anon_sym_AMP] = ACTIONS(1147),
    [anon_sym_TILDE] = ACTIONS(1147),
    [anon_sym_if] = ACTIONS(1149),
    [anon_sym_switch] = ACTIONS(1151),
    [aux_sym_custom_operator_token1] = ACTIONS(1153),
    [anon_sym_LT] = ACTIONS(2416),
    [anon_sym_GT] = ACTIONS(2416),
    [anon_sym_await] = ACTIONS(1155),
    [anon_sym_LBRACE] = ACTIONS(1157),
    [anon_sym_CARET_LBRACE] = ACTIONS(1157),
    [anon_sym_self] = ACTIONS(1159),
    [anon_sym_super] = ACTIONS(1161),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2418),
    [anon_sym_DASH_EQ] = ACTIONS(2418),
    [anon_sym_STAR_EQ] = ACTIONS(2418),
    [anon_sym_SLASH_EQ] = ACTIONS(2418),
    [anon_sym_PERCENT_EQ] = ACTIONS(2418),
    [anon_sym_BANG_EQ] = ACTIONS(2416),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2418),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2418),
    [anon_sym_LT_EQ] = ACTIONS(2418),
    [anon_sym_GT_EQ] = ACTIONS(2418),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1163),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1165),
    [anon_sym_PLUS] = ACTIONS(1167),
    [anon_sym_DASH] = ACTIONS(1167),
    [anon_sym_STAR] = ACTIONS(2416),
    [anon_sym_SLASH] = ACTIONS(2416),
    [anon_sym_PERCENT] = ACTIONS(2416),
    [anon_sym_PLUS_PLUS] = ACTIONS(1147),
    [anon_sym_DASH_DASH] = ACTIONS(1147),
    [anon_sym_PIPE] = ACTIONS(2418),
    [anon_sym_CARET] = ACTIONS(2416),
    [anon_sym_LT_LT] = ACTIONS(2418),
    [anon_sym_GT_GT] = ACTIONS(2418),
    [anon_sym_borrowing] = ACTIONS(1121),
    [anon_sym_consuming] = ACTIONS(1121),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1169),
    [sym__dot_custom] = ACTIONS(1171),
    [sym__eq_custom] = ACTIONS(2418),
    [sym__eq_eq_custom] = ACTIONS(2418),
    [sym__plus_then_ws] = ACTIONS(2418),
    [sym__minus_then_ws] = ACTIONS(2418),
    [sym__bang_custom] = ACTIONS(1173),
    [sym__custom_operator] = ACTIONS(1153),
    [sym__hash_symbol_custom] = ACTIONS(1175),
    [sym__directive_if] = ACTIONS(1177),
    [sym__directive_elseif] = ACTIONS(1177),
    [sym__directive_else] = ACTIONS(1179),
    [sym__directive_endif] = ACTIONS(1179),
  },
  [673] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(795),
    [sym_boolean_literal] = STATE(795),
    [sym__string_literal] = STATE(795),
    [sym_line_string_literal] = STATE(795),
    [sym_multi_line_string_literal] = STATE(795),
    [sym_raw_string_literal] = STATE(795),
    [sym_regex_literal] = STATE(795),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(795),
    [sym__unary_expression] = STATE(795),
    [sym_postfix_expression] = STATE(795),
    [sym_constructor_expression] = STATE(795),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(795),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(795),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(795),
    [sym_prefix_expression] = STATE(795),
    [sym_as_expression] = STATE(795),
    [sym_selector_expression] = STATE(795),
    [sym__binary_expression] = STATE(795),
    [sym_multiplicative_expression] = STATE(795),
    [sym_additive_expression] = STATE(795),
    [sym_range_expression] = STATE(795),
    [sym_infix_expression] = STATE(795),
    [sym_nil_coalescing_expression] = STATE(795),
    [sym_check_expression] = STATE(795),
    [sym_comparison_expression] = STATE(795),
    [sym_equality_expression] = STATE(795),
    [sym_conjunction_expression] = STATE(795),
    [sym_disjunction_expression] = STATE(795),
    [sym_bitwise_operation] = STATE(795),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(795),
    [sym_await_expression] = STATE(795),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(795),
    [sym_call_expression] = STATE(795),
    [sym_macro_invocation] = STATE(795),
    [sym__primary_expression] = STATE(795),
    [sym_tuple_expression] = STATE(795),
    [sym_array_literal] = STATE(795),
    [sym_dictionary_literal] = STATE(795),
    [sym_special_literal] = STATE(795),
    [sym_playground_literal] = STATE(795),
    [sym_lambda_literal] = STATE(795),
    [sym_self_expression] = STATE(795),
    [sym_super_expression] = STATE(795),
    [sym_if_statement] = STATE(795),
    [sym_switch_statement] = STATE(795),
    [sym_key_path_expression] = STATE(795),
    [sym_key_path_string_expression] = STATE(795),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(795),
    [sym__equality_operator] = STATE(795),
    [sym__comparison_operator] = STATE(795),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(795),
    [sym__multiplicative_operator] = STATE(795),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_assignment] = STATE(795),
    [sym_value_parameter_pack] = STATE(795),
    [sym_value_pack_expansion] = STATE(795),
    [sym__referenceable_operator] = STATE(795),
    [sym__equal_sign] = STATE(795),
    [sym__eq_eq] = STATE(795),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(795),
    [sym_diagnostic] = STATE(795),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(289),
    [anon_sym_async] = ACTIONS(2420),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(289),
    [anon_sym_repeat] = ACTIONS(733),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(2422),
    [sym_real_literal] = ACTIONS(2424),
    [sym_integer_literal] = ACTIONS(2422),
    [sym_hex_literal] = ACTIONS(2422),
    [sym_oct_literal] = ACTIONS(2424),
    [sym_bin_literal] = ACTIONS(2424),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(2426),
    [anon_sym_switch] = ACTIONS(2428),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(2422),
    [anon_sym_GT] = ACTIONS(2422),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2424),
    [anon_sym_DASH_EQ] = ACTIONS(2424),
    [anon_sym_STAR_EQ] = ACTIONS(2424),
    [anon_sym_SLASH_EQ] = ACTIONS(2424),
    [anon_sym_PERCENT_EQ] = ACTIONS(2424),
    [anon_sym_BANG_EQ] = ACTIONS(2422),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2424),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2424),
    [anon_sym_LT_EQ] = ACTIONS(2424),
    [anon_sym_GT_EQ] = ACTIONS(2424),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(2422),
    [anon_sym_SLASH] = ACTIONS(2422),
    [anon_sym_PERCENT] = ACTIONS(2422),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(2424),
    [anon_sym_CARET] = ACTIONS(2422),
    [anon_sym_LT_LT] = ACTIONS(2424),
    [anon_sym_GT_GT] = ACTIONS(2424),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(2424),
    [sym__eq_eq_custom] = ACTIONS(2424),
    [sym__plus_then_ws] = ACTIONS(2424),
    [sym__minus_then_ws] = ACTIONS(2424),
    [sym__bang_custom] = ACTIONS(373),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [674] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(747),
    [sym_boolean_literal] = STATE(747),
    [sym__string_literal] = STATE(747),
    [sym_line_string_literal] = STATE(747),
    [sym_multi_line_string_literal] = STATE(747),
    [sym_raw_string_literal] = STATE(747),
    [sym_regex_literal] = STATE(747),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6436),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6436),
    [sym_dictionary_type] = STATE(6436),
    [sym__expression] = STATE(747),
    [sym__unary_expression] = STATE(747),
    [sym_postfix_expression] = STATE(747),
    [sym_constructor_expression] = STATE(747),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(747),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(747),
    [sym__range_operator] = STATE(694),
    [sym_open_end_range_expression] = STATE(747),
    [sym_prefix_expression] = STATE(747),
    [sym_as_expression] = STATE(747),
    [sym_selector_expression] = STATE(747),
    [sym__binary_expression] = STATE(747),
    [sym_multiplicative_expression] = STATE(747),
    [sym_additive_expression] = STATE(747),
    [sym_range_expression] = STATE(747),
    [sym_infix_expression] = STATE(747),
    [sym_nil_coalescing_expression] = STATE(747),
    [sym_check_expression] = STATE(747),
    [sym_comparison_expression] = STATE(747),
    [sym_equality_expression] = STATE(747),
    [sym_conjunction_expression] = STATE(747),
    [sym_disjunction_expression] = STATE(747),
    [sym_bitwise_operation] = STATE(747),
    [sym_custom_operator] = STATE(741),
    [sym_try_expression] = STATE(747),
    [sym_await_expression] = STATE(747),
    [sym__await_operator] = STATE(681),
    [sym_ternary_expression] = STATE(747),
    [sym_call_expression] = STATE(747),
    [sym_macro_invocation] = STATE(747),
    [sym__primary_expression] = STATE(747),
    [sym_tuple_expression] = STATE(747),
    [sym_array_literal] = STATE(747),
    [sym_dictionary_literal] = STATE(747),
    [sym_special_literal] = STATE(747),
    [sym_playground_literal] = STATE(747),
    [sym_lambda_literal] = STATE(747),
    [sym_self_expression] = STATE(747),
    [sym_super_expression] = STATE(747),
    [sym_if_statement] = STATE(747),
    [sym_switch_statement] = STATE(747),
    [sym_key_path_expression] = STATE(747),
    [sym_key_path_string_expression] = STATE(747),
    [sym_try_operator] = STATE(678),
    [sym__assignment_and_operator] = STATE(747),
    [sym__equality_operator] = STATE(747),
    [sym__comparison_operator] = STATE(747),
    [sym__three_dot_operator] = STATE(742),
    [sym__open_ended_range_operator] = STATE(694),
    [sym__additive_operator] = STATE(747),
    [sym__multiplicative_operator] = STATE(747),
    [sym__prefix_unary_operator] = STATE(622),
    [sym_directly_assignable_expression] = STATE(6420),
    [sym_assignment] = STATE(747),
    [sym_value_parameter_pack] = STATE(747),
    [sym_value_pack_expansion] = STATE(747),
    [sym__referenceable_operator] = STATE(747),
    [sym__equal_sign] = STATE(747),
    [sym__eq_eq] = STATE(747),
    [sym__dot] = STATE(622),
    [sym__hash_symbol] = STATE(4852),
    [sym_bang] = STATE(741),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(747),
    [sym_diagnostic] = STATE(747),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(605),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(607),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(609),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2430),
    [sym_real_literal] = ACTIONS(2432),
    [sym_integer_literal] = ACTIONS(2430),
    [sym_hex_literal] = ACTIONS(2430),
    [sym_oct_literal] = ACTIONS(2432),
    [sym_bin_literal] = ACTIONS(2432),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(615),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(625),
    [anon_sym_TILDE] = ACTIONS(625),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(627),
    [aux_sym_custom_operator_token1] = ACTIONS(629),
    [anon_sym_LT] = ACTIONS(2430),
    [anon_sym_GT] = ACTIONS(2430),
    [anon_sym_await] = ACTIONS(631),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2432),
    [anon_sym_DASH_EQ] = ACTIONS(2432),
    [anon_sym_STAR_EQ] = ACTIONS(2432),
    [anon_sym_SLASH_EQ] = ACTIONS(2432),
    [anon_sym_PERCENT_EQ] = ACTIONS(2432),
    [anon_sym_BANG_EQ] = ACTIONS(2430),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2432),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2432),
    [anon_sym_LT_EQ] = ACTIONS(2432),
    [anon_sym_GT_EQ] = ACTIONS(2432),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(635),
    [anon_sym_DOT_DOT_LT] = ACTIONS(637),
    [anon_sym_PLUS] = ACTIONS(639),
    [anon_sym_DASH] = ACTIONS(639),
    [anon_sym_STAR] = ACTIONS(2430),
    [anon_sym_SLASH] = ACTIONS(2430),
    [anon_sym_PERCENT] = ACTIONS(2430),
    [anon_sym_PLUS_PLUS] = ACTIONS(625),
    [anon_sym_DASH_DASH] = ACTIONS(625),
    [anon_sym_PIPE] = ACTIONS(2432),
    [anon_sym_CARET] = ACTIONS(2430),
    [anon_sym_LT_LT] = ACTIONS(2432),
    [anon_sym_GT_GT] = ACTIONS(2432),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(641),
    [sym__eq_custom] = ACTIONS(2432),
    [sym__eq_eq_custom] = ACTIONS(2432),
    [sym__plus_then_ws] = ACTIONS(2432),
    [sym__minus_then_ws] = ACTIONS(2432),
    [sym__bang_custom] = ACTIONS(643),
    [sym__custom_operator] = ACTIONS(629),
    [sym__hash_symbol_custom] = ACTIONS(645),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [675] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1525),
    [sym_boolean_literal] = STATE(1525),
    [sym__string_literal] = STATE(1525),
    [sym_line_string_literal] = STATE(1525),
    [sym_multi_line_string_literal] = STATE(1525),
    [sym_raw_string_literal] = STATE(1525),
    [sym_regex_literal] = STATE(1525),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1525),
    [sym__unary_expression] = STATE(1525),
    [sym_postfix_expression] = STATE(1525),
    [sym_constructor_expression] = STATE(1525),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1525),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1525),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1525),
    [sym_prefix_expression] = STATE(1525),
    [sym_as_expression] = STATE(1525),
    [sym_selector_expression] = STATE(1525),
    [sym__binary_expression] = STATE(1525),
    [sym_multiplicative_expression] = STATE(1525),
    [sym_additive_expression] = STATE(1525),
    [sym_range_expression] = STATE(1525),
    [sym_infix_expression] = STATE(1525),
    [sym_nil_coalescing_expression] = STATE(1525),
    [sym_check_expression] = STATE(1525),
    [sym_comparison_expression] = STATE(1525),
    [sym_equality_expression] = STATE(1525),
    [sym_conjunction_expression] = STATE(1525),
    [sym_disjunction_expression] = STATE(1525),
    [sym_bitwise_operation] = STATE(1525),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1525),
    [sym_await_expression] = STATE(1525),
    [sym__await_operator] = STATE(712),
    [sym_ternary_expression] = STATE(1525),
    [sym_call_expression] = STATE(1525),
    [sym_macro_invocation] = STATE(1525),
    [sym__primary_expression] = STATE(1525),
    [sym_tuple_expression] = STATE(1525),
    [sym_array_literal] = STATE(1525),
    [sym_dictionary_literal] = STATE(1525),
    [sym_special_literal] = STATE(1525),
    [sym_playground_literal] = STATE(1525),
    [sym_lambda_literal] = STATE(1525),
    [sym_self_expression] = STATE(1525),
    [sym_super_expression] = STATE(1525),
    [sym_if_statement] = STATE(1525),
    [sym_switch_statement] = STATE(1525),
    [sym_key_path_expression] = STATE(1525),
    [sym_key_path_string_expression] = STATE(1525),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1525),
    [sym__equality_operator] = STATE(1525),
    [sym__comparison_operator] = STATE(1525),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1525),
    [sym__multiplicative_operator] = STATE(1525),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym_assignment] = STATE(1525),
    [sym_value_parameter_pack] = STATE(1525),
    [sym_value_pack_expansion] = STATE(1525),
    [sym__referenceable_operator] = STATE(1525),
    [sym__equal_sign] = STATE(1525),
    [sym__eq_eq] = STATE(1525),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1525),
    [sym_diagnostic] = STATE(1525),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(2434),
    [sym_real_literal] = ACTIONS(2436),
    [sym_integer_literal] = ACTIONS(2434),
    [sym_hex_literal] = ACTIONS(2434),
    [sym_oct_literal] = ACTIONS(2436),
    [sym_bin_literal] = ACTIONS(2436),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(2434),
    [anon_sym_GT] = ACTIONS(2434),
    [anon_sym_await] = ACTIONS(1067),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2436),
    [anon_sym_DASH_EQ] = ACTIONS(2436),
    [anon_sym_STAR_EQ] = ACTIONS(2436),
    [anon_sym_SLASH_EQ] = ACTIONS(2436),
    [anon_sym_PERCENT_EQ] = ACTIONS(2436),
    [anon_sym_BANG_EQ] = ACTIONS(2434),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2436),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2436),
    [anon_sym_LT_EQ] = ACTIONS(2436),
    [anon_sym_GT_EQ] = ACTIONS(2436),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(2434),
    [anon_sym_SLASH] = ACTIONS(2434),
    [anon_sym_PERCENT] = ACTIONS(2434),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(2436),
    [anon_sym_CARET] = ACTIONS(2434),
    [anon_sym_LT_LT] = ACTIONS(2436),
    [anon_sym_GT_GT] = ACTIONS(2436),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(2436),
    [sym__eq_eq_custom] = ACTIONS(2436),
    [sym__plus_then_ws] = ACTIONS(2436),
    [sym__minus_then_ws] = ACTIONS(2436),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [676] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1677),
    [sym_boolean_literal] = STATE(1677),
    [sym__string_literal] = STATE(1677),
    [sym_line_string_literal] = STATE(1677),
    [sym_multi_line_string_literal] = STATE(1677),
    [sym_raw_string_literal] = STATE(1677),
    [sym_regex_literal] = STATE(1677),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1677),
    [sym__unary_expression] = STATE(1677),
    [sym_postfix_expression] = STATE(1677),
    [sym_constructor_expression] = STATE(1677),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1677),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1677),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1677),
    [sym_prefix_expression] = STATE(1677),
    [sym_as_expression] = STATE(1677),
    [sym_selector_expression] = STATE(1677),
    [sym__binary_expression] = STATE(1677),
    [sym_multiplicative_expression] = STATE(1677),
    [sym_additive_expression] = STATE(1677),
    [sym_range_expression] = STATE(1677),
    [sym_infix_expression] = STATE(1677),
    [sym_nil_coalescing_expression] = STATE(1677),
    [sym_check_expression] = STATE(1677),
    [sym_comparison_expression] = STATE(1677),
    [sym_equality_expression] = STATE(1677),
    [sym_conjunction_expression] = STATE(1677),
    [sym_disjunction_expression] = STATE(1677),
    [sym_bitwise_operation] = STATE(1677),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1677),
    [sym_await_expression] = STATE(1677),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1677),
    [sym_call_expression] = STATE(1677),
    [sym_macro_invocation] = STATE(1677),
    [sym__primary_expression] = STATE(1677),
    [sym_tuple_expression] = STATE(1677),
    [sym_array_literal] = STATE(1677),
    [sym_dictionary_literal] = STATE(1677),
    [sym_special_literal] = STATE(1677),
    [sym_playground_literal] = STATE(1677),
    [sym_lambda_literal] = STATE(1677),
    [sym_self_expression] = STATE(1677),
    [sym_super_expression] = STATE(1677),
    [sym_if_statement] = STATE(1677),
    [sym_switch_statement] = STATE(1677),
    [sym_key_path_expression] = STATE(1677),
    [sym_key_path_string_expression] = STATE(1677),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1677),
    [sym__equality_operator] = STATE(1677),
    [sym__comparison_operator] = STATE(1677),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1677),
    [sym__multiplicative_operator] = STATE(1677),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1677),
    [sym_value_parameter_pack] = STATE(1677),
    [sym_value_pack_expansion] = STATE(1677),
    [sym__referenceable_operator] = STATE(1677),
    [sym__equal_sign] = STATE(1677),
    [sym__eq_eq] = STATE(1677),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1677),
    [sym_diagnostic] = STATE(1677),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1115),
    [sym_real_literal] = ACTIONS(1117),
    [sym_integer_literal] = ACTIONS(1115),
    [sym_hex_literal] = ACTIONS(1115),
    [sym_oct_literal] = ACTIONS(1117),
    [sym_bin_literal] = ACTIONS(1117),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1115),
    [anon_sym_GT] = ACTIONS(1115),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1117),
    [anon_sym_DASH_EQ] = ACTIONS(1117),
    [anon_sym_STAR_EQ] = ACTIONS(1117),
    [anon_sym_SLASH_EQ] = ACTIONS(1117),
    [anon_sym_PERCENT_EQ] = ACTIONS(1117),
    [anon_sym_BANG_EQ] = ACTIONS(1115),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1117),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1117),
    [anon_sym_LT_EQ] = ACTIONS(1117),
    [anon_sym_GT_EQ] = ACTIONS(1117),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1115),
    [anon_sym_SLASH] = ACTIONS(1115),
    [anon_sym_PERCENT] = ACTIONS(1115),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1117),
    [anon_sym_CARET] = ACTIONS(1115),
    [anon_sym_LT_LT] = ACTIONS(1117),
    [anon_sym_GT_GT] = ACTIONS(1117),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1117),
    [sym__eq_eq_custom] = ACTIONS(1117),
    [sym__plus_then_ws] = ACTIONS(1117),
    [sym__minus_then_ws] = ACTIONS(1117),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [677] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1647),
    [sym_boolean_literal] = STATE(1647),
    [sym__string_literal] = STATE(1647),
    [sym_line_string_literal] = STATE(1647),
    [sym_multi_line_string_literal] = STATE(1647),
    [sym_raw_string_literal] = STATE(1647),
    [sym_regex_literal] = STATE(1647),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1647),
    [sym__unary_expression] = STATE(1647),
    [sym_postfix_expression] = STATE(1647),
    [sym_constructor_expression] = STATE(1647),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1647),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1647),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1647),
    [sym_prefix_expression] = STATE(1647),
    [sym_as_expression] = STATE(1647),
    [sym_selector_expression] = STATE(1647),
    [sym__binary_expression] = STATE(1647),
    [sym_multiplicative_expression] = STATE(1647),
    [sym_additive_expression] = STATE(1647),
    [sym_range_expression] = STATE(1647),
    [sym_infix_expression] = STATE(1647),
    [sym_nil_coalescing_expression] = STATE(1647),
    [sym_check_expression] = STATE(1647),
    [sym_comparison_expression] = STATE(1647),
    [sym_equality_expression] = STATE(1647),
    [sym_conjunction_expression] = STATE(1647),
    [sym_disjunction_expression] = STATE(1647),
    [sym_bitwise_operation] = STATE(1647),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1647),
    [sym_await_expression] = STATE(1647),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1647),
    [sym_call_expression] = STATE(1647),
    [sym_macro_invocation] = STATE(1647),
    [sym__primary_expression] = STATE(1647),
    [sym_tuple_expression] = STATE(1647),
    [sym_array_literal] = STATE(1647),
    [sym_dictionary_literal] = STATE(1647),
    [sym_special_literal] = STATE(1647),
    [sym_playground_literal] = STATE(1647),
    [sym_lambda_literal] = STATE(1647),
    [sym_self_expression] = STATE(1647),
    [sym_super_expression] = STATE(1647),
    [sym_if_statement] = STATE(1647),
    [sym_switch_statement] = STATE(1647),
    [sym_key_path_expression] = STATE(1647),
    [sym_key_path_string_expression] = STATE(1647),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1647),
    [sym__equality_operator] = STATE(1647),
    [sym__comparison_operator] = STATE(1647),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1647),
    [sym__multiplicative_operator] = STATE(1647),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1647),
    [sym_value_parameter_pack] = STATE(1647),
    [sym_value_pack_expansion] = STATE(1647),
    [sym__referenceable_operator] = STATE(1647),
    [sym__equal_sign] = STATE(1647),
    [sym__eq_eq] = STATE(1647),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1647),
    [sym_diagnostic] = STATE(1647),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2438),
    [sym_real_literal] = ACTIONS(2440),
    [sym_integer_literal] = ACTIONS(2438),
    [sym_hex_literal] = ACTIONS(2438),
    [sym_oct_literal] = ACTIONS(2440),
    [sym_bin_literal] = ACTIONS(2440),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2438),
    [anon_sym_GT] = ACTIONS(2438),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2440),
    [anon_sym_DASH_EQ] = ACTIONS(2440),
    [anon_sym_STAR_EQ] = ACTIONS(2440),
    [anon_sym_SLASH_EQ] = ACTIONS(2440),
    [anon_sym_PERCENT_EQ] = ACTIONS(2440),
    [anon_sym_BANG_EQ] = ACTIONS(2438),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2440),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2440),
    [anon_sym_LT_EQ] = ACTIONS(2440),
    [anon_sym_GT_EQ] = ACTIONS(2440),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2438),
    [anon_sym_SLASH] = ACTIONS(2438),
    [anon_sym_PERCENT] = ACTIONS(2438),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2440),
    [anon_sym_CARET] = ACTIONS(2438),
    [anon_sym_LT_LT] = ACTIONS(2440),
    [anon_sym_GT_GT] = ACTIONS(2440),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2440),
    [sym__eq_eq_custom] = ACTIONS(2440),
    [sym__plus_then_ws] = ACTIONS(2440),
    [sym__minus_then_ws] = ACTIONS(2440),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [678] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(749),
    [sym_boolean_literal] = STATE(749),
    [sym__string_literal] = STATE(749),
    [sym_line_string_literal] = STATE(749),
    [sym_multi_line_string_literal] = STATE(749),
    [sym_raw_string_literal] = STATE(749),
    [sym_regex_literal] = STATE(749),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6436),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6436),
    [sym_dictionary_type] = STATE(6436),
    [sym__expression] = STATE(749),
    [sym__unary_expression] = STATE(749),
    [sym_postfix_expression] = STATE(749),
    [sym_constructor_expression] = STATE(749),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(749),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(749),
    [sym__range_operator] = STATE(694),
    [sym_open_end_range_expression] = STATE(749),
    [sym_prefix_expression] = STATE(749),
    [sym_as_expression] = STATE(749),
    [sym_selector_expression] = STATE(749),
    [sym__binary_expression] = STATE(887),
    [sym_multiplicative_expression] = STATE(887),
    [sym_additive_expression] = STATE(887),
    [sym_range_expression] = STATE(887),
    [sym_infix_expression] = STATE(887),
    [sym_nil_coalescing_expression] = STATE(887),
    [sym_check_expression] = STATE(887),
    [sym_comparison_expression] = STATE(887),
    [sym_equality_expression] = STATE(887),
    [sym_conjunction_expression] = STATE(887),
    [sym_disjunction_expression] = STATE(887),
    [sym_bitwise_operation] = STATE(887),
    [sym_custom_operator] = STATE(741),
    [sym_try_expression] = STATE(749),
    [sym_await_expression] = STATE(749),
    [sym__await_operator] = STATE(681),
    [sym_ternary_expression] = STATE(886),
    [sym_call_expression] = STATE(884),
    [sym_macro_invocation] = STATE(749),
    [sym__primary_expression] = STATE(749),
    [sym_tuple_expression] = STATE(749),
    [sym_array_literal] = STATE(749),
    [sym_dictionary_literal] = STATE(749),
    [sym_special_literal] = STATE(749),
    [sym_playground_literal] = STATE(749),
    [sym_lambda_literal] = STATE(749),
    [sym_self_expression] = STATE(749),
    [sym_super_expression] = STATE(749),
    [sym_if_statement] = STATE(749),
    [sym_switch_statement] = STATE(749),
    [sym_key_path_expression] = STATE(749),
    [sym_key_path_string_expression] = STATE(749),
    [sym_try_operator] = STATE(678),
    [sym__assignment_and_operator] = STATE(749),
    [sym__equality_operator] = STATE(749),
    [sym__comparison_operator] = STATE(749),
    [sym__three_dot_operator] = STATE(742),
    [sym__open_ended_range_operator] = STATE(694),
    [sym__additive_operator] = STATE(749),
    [sym__multiplicative_operator] = STATE(749),
    [sym__prefix_unary_operator] = STATE(622),
    [sym_directly_assignable_expression] = STATE(6420),
    [sym_assignment] = STATE(749),
    [sym_value_parameter_pack] = STATE(749),
    [sym_value_pack_expansion] = STATE(749),
    [sym__referenceable_operator] = STATE(749),
    [sym__equal_sign] = STATE(749),
    [sym__eq_eq] = STATE(749),
    [sym__dot] = STATE(622),
    [sym__hash_symbol] = STATE(4852),
    [sym_bang] = STATE(741),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(749),
    [sym_diagnostic] = STATE(749),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(605),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(607),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(609),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2442),
    [sym_real_literal] = ACTIONS(2444),
    [sym_integer_literal] = ACTIONS(2442),
    [sym_hex_literal] = ACTIONS(2442),
    [sym_oct_literal] = ACTIONS(2444),
    [sym_bin_literal] = ACTIONS(2444),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(615),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(625),
    [anon_sym_TILDE] = ACTIONS(625),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(627),
    [aux_sym_custom_operator_token1] = ACTIONS(629),
    [anon_sym_LT] = ACTIONS(2442),
    [anon_sym_GT] = ACTIONS(2442),
    [anon_sym_await] = ACTIONS(631),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2444),
    [anon_sym_DASH_EQ] = ACTIONS(2444),
    [anon_sym_STAR_EQ] = ACTIONS(2444),
    [anon_sym_SLASH_EQ] = ACTIONS(2444),
    [anon_sym_PERCENT_EQ] = ACTIONS(2444),
    [anon_sym_BANG_EQ] = ACTIONS(2442),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2444),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2444),
    [anon_sym_LT_EQ] = ACTIONS(2444),
    [anon_sym_GT_EQ] = ACTIONS(2444),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(635),
    [anon_sym_DOT_DOT_LT] = ACTIONS(637),
    [anon_sym_PLUS] = ACTIONS(639),
    [anon_sym_DASH] = ACTIONS(639),
    [anon_sym_STAR] = ACTIONS(2442),
    [anon_sym_SLASH] = ACTIONS(2442),
    [anon_sym_PERCENT] = ACTIONS(2442),
    [anon_sym_PLUS_PLUS] = ACTIONS(625),
    [anon_sym_DASH_DASH] = ACTIONS(625),
    [anon_sym_PIPE] = ACTIONS(2444),
    [anon_sym_CARET] = ACTIONS(2442),
    [anon_sym_LT_LT] = ACTIONS(2444),
    [anon_sym_GT_GT] = ACTIONS(2444),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(641),
    [sym__eq_custom] = ACTIONS(2444),
    [sym__eq_eq_custom] = ACTIONS(2444),
    [sym__plus_then_ws] = ACTIONS(2444),
    [sym__minus_then_ws] = ACTIONS(2444),
    [sym__bang_custom] = ACTIONS(643),
    [sym__custom_operator] = ACTIONS(629),
    [sym__hash_symbol_custom] = ACTIONS(645),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [679] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1614),
    [sym_boolean_literal] = STATE(1614),
    [sym__string_literal] = STATE(1614),
    [sym_line_string_literal] = STATE(1614),
    [sym_multi_line_string_literal] = STATE(1614),
    [sym_raw_string_literal] = STATE(1614),
    [sym_regex_literal] = STATE(1614),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1614),
    [sym__unary_expression] = STATE(1614),
    [sym_postfix_expression] = STATE(1614),
    [sym_constructor_expression] = STATE(1614),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1614),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1614),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1614),
    [sym_prefix_expression] = STATE(1614),
    [sym_as_expression] = STATE(1614),
    [sym_selector_expression] = STATE(1614),
    [sym__binary_expression] = STATE(1614),
    [sym_multiplicative_expression] = STATE(1614),
    [sym_additive_expression] = STATE(1614),
    [sym_range_expression] = STATE(1614),
    [sym_infix_expression] = STATE(1614),
    [sym_nil_coalescing_expression] = STATE(1614),
    [sym_check_expression] = STATE(1614),
    [sym_comparison_expression] = STATE(1614),
    [sym_equality_expression] = STATE(1614),
    [sym_conjunction_expression] = STATE(1614),
    [sym_disjunction_expression] = STATE(1614),
    [sym_bitwise_operation] = STATE(1614),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1614),
    [sym_await_expression] = STATE(1614),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1614),
    [sym_call_expression] = STATE(1614),
    [sym_macro_invocation] = STATE(1614),
    [sym__primary_expression] = STATE(1614),
    [sym_tuple_expression] = STATE(1614),
    [sym_array_literal] = STATE(1614),
    [sym_dictionary_literal] = STATE(1614),
    [sym_special_literal] = STATE(1614),
    [sym_playground_literal] = STATE(1614),
    [sym_lambda_literal] = STATE(1614),
    [sym_self_expression] = STATE(1614),
    [sym_super_expression] = STATE(1614),
    [sym_if_statement] = STATE(1614),
    [sym_switch_statement] = STATE(1614),
    [sym_key_path_expression] = STATE(1614),
    [sym_key_path_string_expression] = STATE(1614),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1614),
    [sym__equality_operator] = STATE(1614),
    [sym__comparison_operator] = STATE(1614),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1614),
    [sym__multiplicative_operator] = STATE(1614),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1614),
    [sym_value_parameter_pack] = STATE(1614),
    [sym_value_pack_expansion] = STATE(1614),
    [sym__referenceable_operator] = STATE(1614),
    [sym__equal_sign] = STATE(1614),
    [sym__eq_eq] = STATE(1614),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1614),
    [sym_diagnostic] = STATE(1614),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2446),
    [sym_real_literal] = ACTIONS(2448),
    [sym_integer_literal] = ACTIONS(2446),
    [sym_hex_literal] = ACTIONS(2446),
    [sym_oct_literal] = ACTIONS(2448),
    [sym_bin_literal] = ACTIONS(2448),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2446),
    [anon_sym_GT] = ACTIONS(2446),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2448),
    [anon_sym_DASH_EQ] = ACTIONS(2448),
    [anon_sym_STAR_EQ] = ACTIONS(2448),
    [anon_sym_SLASH_EQ] = ACTIONS(2448),
    [anon_sym_PERCENT_EQ] = ACTIONS(2448),
    [anon_sym_BANG_EQ] = ACTIONS(2446),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2448),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2448),
    [anon_sym_LT_EQ] = ACTIONS(2448),
    [anon_sym_GT_EQ] = ACTIONS(2448),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2446),
    [anon_sym_SLASH] = ACTIONS(2446),
    [anon_sym_PERCENT] = ACTIONS(2446),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2448),
    [anon_sym_CARET] = ACTIONS(2446),
    [anon_sym_LT_LT] = ACTIONS(2448),
    [anon_sym_GT_GT] = ACTIONS(2448),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2448),
    [sym__eq_eq_custom] = ACTIONS(2448),
    [sym__plus_then_ws] = ACTIONS(2448),
    [sym__minus_then_ws] = ACTIONS(2448),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [680] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1582),
    [sym_boolean_literal] = STATE(1582),
    [sym__string_literal] = STATE(1582),
    [sym_line_string_literal] = STATE(1582),
    [sym_multi_line_string_literal] = STATE(1582),
    [sym_raw_string_literal] = STATE(1582),
    [sym_regex_literal] = STATE(1582),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1582),
    [sym__unary_expression] = STATE(1582),
    [sym_postfix_expression] = STATE(1582),
    [sym_constructor_expression] = STATE(1582),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1582),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1582),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1582),
    [sym_prefix_expression] = STATE(1582),
    [sym_as_expression] = STATE(1582),
    [sym_selector_expression] = STATE(1582),
    [sym__binary_expression] = STATE(1582),
    [sym_multiplicative_expression] = STATE(1582),
    [sym_additive_expression] = STATE(1582),
    [sym_range_expression] = STATE(1582),
    [sym_infix_expression] = STATE(1582),
    [sym_nil_coalescing_expression] = STATE(1582),
    [sym_check_expression] = STATE(1582),
    [sym_comparison_expression] = STATE(1582),
    [sym_equality_expression] = STATE(1582),
    [sym_conjunction_expression] = STATE(1582),
    [sym_disjunction_expression] = STATE(1582),
    [sym_bitwise_operation] = STATE(1582),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1582),
    [sym_await_expression] = STATE(1582),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1582),
    [sym_call_expression] = STATE(1582),
    [sym_macro_invocation] = STATE(1582),
    [sym__primary_expression] = STATE(1582),
    [sym_tuple_expression] = STATE(1582),
    [sym_array_literal] = STATE(1582),
    [sym_dictionary_literal] = STATE(1582),
    [sym_special_literal] = STATE(1582),
    [sym_playground_literal] = STATE(1582),
    [sym_lambda_literal] = STATE(1582),
    [sym_self_expression] = STATE(1582),
    [sym_super_expression] = STATE(1582),
    [sym_if_statement] = STATE(1582),
    [sym_switch_statement] = STATE(1582),
    [sym_key_path_expression] = STATE(1582),
    [sym_key_path_string_expression] = STATE(1582),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1582),
    [sym__equality_operator] = STATE(1582),
    [sym__comparison_operator] = STATE(1582),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1582),
    [sym__multiplicative_operator] = STATE(1582),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1582),
    [sym_value_parameter_pack] = STATE(1582),
    [sym_value_pack_expansion] = STATE(1582),
    [sym__referenceable_operator] = STATE(1582),
    [sym__equal_sign] = STATE(1582),
    [sym__eq_eq] = STATE(1582),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1582),
    [sym_diagnostic] = STATE(1582),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2450),
    [sym_real_literal] = ACTIONS(2452),
    [sym_integer_literal] = ACTIONS(2450),
    [sym_hex_literal] = ACTIONS(2450),
    [sym_oct_literal] = ACTIONS(2452),
    [sym_bin_literal] = ACTIONS(2452),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2450),
    [anon_sym_GT] = ACTIONS(2450),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2452),
    [anon_sym_DASH_EQ] = ACTIONS(2452),
    [anon_sym_STAR_EQ] = ACTIONS(2452),
    [anon_sym_SLASH_EQ] = ACTIONS(2452),
    [anon_sym_PERCENT_EQ] = ACTIONS(2452),
    [anon_sym_BANG_EQ] = ACTIONS(2450),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2452),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2452),
    [anon_sym_LT_EQ] = ACTIONS(2452),
    [anon_sym_GT_EQ] = ACTIONS(2452),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2450),
    [anon_sym_SLASH] = ACTIONS(2450),
    [anon_sym_PERCENT] = ACTIONS(2450),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_CARET] = ACTIONS(2450),
    [anon_sym_LT_LT] = ACTIONS(2452),
    [anon_sym_GT_GT] = ACTIONS(2452),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2452),
    [sym__eq_eq_custom] = ACTIONS(2452),
    [sym__plus_then_ws] = ACTIONS(2452),
    [sym__minus_then_ws] = ACTIONS(2452),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [681] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(744),
    [sym_boolean_literal] = STATE(744),
    [sym__string_literal] = STATE(744),
    [sym_line_string_literal] = STATE(744),
    [sym_multi_line_string_literal] = STATE(744),
    [sym_raw_string_literal] = STATE(744),
    [sym_regex_literal] = STATE(744),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6436),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6436),
    [sym_dictionary_type] = STATE(6436),
    [sym__expression] = STATE(744),
    [sym__unary_expression] = STATE(744),
    [sym_postfix_expression] = STATE(744),
    [sym_constructor_expression] = STATE(744),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(744),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(744),
    [sym__range_operator] = STATE(694),
    [sym_open_end_range_expression] = STATE(744),
    [sym_prefix_expression] = STATE(744),
    [sym_as_expression] = STATE(744),
    [sym_selector_expression] = STATE(744),
    [sym__binary_expression] = STATE(744),
    [sym_multiplicative_expression] = STATE(744),
    [sym_additive_expression] = STATE(744),
    [sym_range_expression] = STATE(744),
    [sym_infix_expression] = STATE(744),
    [sym_nil_coalescing_expression] = STATE(744),
    [sym_check_expression] = STATE(744),
    [sym_comparison_expression] = STATE(744),
    [sym_equality_expression] = STATE(744),
    [sym_conjunction_expression] = STATE(744),
    [sym_disjunction_expression] = STATE(744),
    [sym_bitwise_operation] = STATE(744),
    [sym_custom_operator] = STATE(741),
    [sym_try_expression] = STATE(744),
    [sym_await_expression] = STATE(744),
    [sym__await_operator] = STATE(681),
    [sym_ternary_expression] = STATE(890),
    [sym_call_expression] = STATE(889),
    [sym_macro_invocation] = STATE(744),
    [sym__primary_expression] = STATE(744),
    [sym_tuple_expression] = STATE(744),
    [sym_array_literal] = STATE(744),
    [sym_dictionary_literal] = STATE(744),
    [sym_special_literal] = STATE(744),
    [sym_playground_literal] = STATE(744),
    [sym_lambda_literal] = STATE(744),
    [sym_self_expression] = STATE(744),
    [sym_super_expression] = STATE(744),
    [sym_if_statement] = STATE(744),
    [sym_switch_statement] = STATE(744),
    [sym_key_path_expression] = STATE(744),
    [sym_key_path_string_expression] = STATE(744),
    [sym_try_operator] = STATE(678),
    [sym__assignment_and_operator] = STATE(744),
    [sym__equality_operator] = STATE(744),
    [sym__comparison_operator] = STATE(744),
    [sym__three_dot_operator] = STATE(742),
    [sym__open_ended_range_operator] = STATE(694),
    [sym__additive_operator] = STATE(744),
    [sym__multiplicative_operator] = STATE(744),
    [sym__prefix_unary_operator] = STATE(622),
    [sym_directly_assignable_expression] = STATE(6420),
    [sym_assignment] = STATE(744),
    [sym_value_parameter_pack] = STATE(744),
    [sym_value_pack_expansion] = STATE(744),
    [sym__referenceable_operator] = STATE(744),
    [sym__equal_sign] = STATE(744),
    [sym__eq_eq] = STATE(744),
    [sym__dot] = STATE(622),
    [sym__hash_symbol] = STATE(4852),
    [sym_bang] = STATE(741),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(744),
    [sym_diagnostic] = STATE(744),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(605),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(607),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(609),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2454),
    [sym_real_literal] = ACTIONS(2456),
    [sym_integer_literal] = ACTIONS(2454),
    [sym_hex_literal] = ACTIONS(2454),
    [sym_oct_literal] = ACTIONS(2456),
    [sym_bin_literal] = ACTIONS(2456),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(615),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(625),
    [anon_sym_TILDE] = ACTIONS(625),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(627),
    [aux_sym_custom_operator_token1] = ACTIONS(629),
    [anon_sym_LT] = ACTIONS(2454),
    [anon_sym_GT] = ACTIONS(2454),
    [anon_sym_await] = ACTIONS(631),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2456),
    [anon_sym_DASH_EQ] = ACTIONS(2456),
    [anon_sym_STAR_EQ] = ACTIONS(2456),
    [anon_sym_SLASH_EQ] = ACTIONS(2456),
    [anon_sym_PERCENT_EQ] = ACTIONS(2456),
    [anon_sym_BANG_EQ] = ACTIONS(2454),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2456),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2456),
    [anon_sym_LT_EQ] = ACTIONS(2456),
    [anon_sym_GT_EQ] = ACTIONS(2456),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(635),
    [anon_sym_DOT_DOT_LT] = ACTIONS(637),
    [anon_sym_PLUS] = ACTIONS(639),
    [anon_sym_DASH] = ACTIONS(639),
    [anon_sym_STAR] = ACTIONS(2454),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [anon_sym_PLUS_PLUS] = ACTIONS(625),
    [anon_sym_DASH_DASH] = ACTIONS(625),
    [anon_sym_PIPE] = ACTIONS(2456),
    [anon_sym_CARET] = ACTIONS(2454),
    [anon_sym_LT_LT] = ACTIONS(2456),
    [anon_sym_GT_GT] = ACTIONS(2456),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(641),
    [sym__eq_custom] = ACTIONS(2456),
    [sym__eq_eq_custom] = ACTIONS(2456),
    [sym__plus_then_ws] = ACTIONS(2456),
    [sym__minus_then_ws] = ACTIONS(2456),
    [sym__bang_custom] = ACTIONS(643),
    [sym__custom_operator] = ACTIONS(629),
    [sym__hash_symbol_custom] = ACTIONS(645),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [682] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1619),
    [sym_boolean_literal] = STATE(1619),
    [sym__string_literal] = STATE(1619),
    [sym_line_string_literal] = STATE(1619),
    [sym_multi_line_string_literal] = STATE(1619),
    [sym_raw_string_literal] = STATE(1619),
    [sym_regex_literal] = STATE(1619),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1619),
    [sym__unary_expression] = STATE(1619),
    [sym_postfix_expression] = STATE(1619),
    [sym_constructor_expression] = STATE(1619),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1619),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1619),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1619),
    [sym_prefix_expression] = STATE(1619),
    [sym_as_expression] = STATE(1619),
    [sym_selector_expression] = STATE(1619),
    [sym__binary_expression] = STATE(1619),
    [sym_multiplicative_expression] = STATE(1619),
    [sym_additive_expression] = STATE(1619),
    [sym_range_expression] = STATE(1619),
    [sym_infix_expression] = STATE(1619),
    [sym_nil_coalescing_expression] = STATE(1619),
    [sym_check_expression] = STATE(1619),
    [sym_comparison_expression] = STATE(1619),
    [sym_equality_expression] = STATE(1619),
    [sym_conjunction_expression] = STATE(1619),
    [sym_disjunction_expression] = STATE(1619),
    [sym_bitwise_operation] = STATE(1619),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1619),
    [sym_await_expression] = STATE(1619),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1619),
    [sym_call_expression] = STATE(1619),
    [sym_macro_invocation] = STATE(1619),
    [sym__primary_expression] = STATE(1619),
    [sym_tuple_expression] = STATE(1619),
    [sym_array_literal] = STATE(1619),
    [sym_dictionary_literal] = STATE(1619),
    [sym_special_literal] = STATE(1619),
    [sym_playground_literal] = STATE(1619),
    [sym_lambda_literal] = STATE(1619),
    [sym_self_expression] = STATE(1619),
    [sym_super_expression] = STATE(1619),
    [sym_if_statement] = STATE(1619),
    [sym_switch_statement] = STATE(1619),
    [sym_key_path_expression] = STATE(1619),
    [sym_key_path_string_expression] = STATE(1619),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1619),
    [sym__equality_operator] = STATE(1619),
    [sym__comparison_operator] = STATE(1619),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1619),
    [sym__multiplicative_operator] = STATE(1619),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1619),
    [sym_value_parameter_pack] = STATE(1619),
    [sym_value_pack_expansion] = STATE(1619),
    [sym__referenceable_operator] = STATE(1619),
    [sym__equal_sign] = STATE(1619),
    [sym__eq_eq] = STATE(1619),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1619),
    [sym_diagnostic] = STATE(1619),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2458),
    [sym_real_literal] = ACTIONS(2460),
    [sym_integer_literal] = ACTIONS(2458),
    [sym_hex_literal] = ACTIONS(2458),
    [sym_oct_literal] = ACTIONS(2460),
    [sym_bin_literal] = ACTIONS(2460),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2460),
    [anon_sym_DASH_EQ] = ACTIONS(2460),
    [anon_sym_STAR_EQ] = ACTIONS(2460),
    [anon_sym_SLASH_EQ] = ACTIONS(2460),
    [anon_sym_PERCENT_EQ] = ACTIONS(2460),
    [anon_sym_BANG_EQ] = ACTIONS(2458),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2460),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2460),
    [anon_sym_LT_EQ] = ACTIONS(2460),
    [anon_sym_GT_EQ] = ACTIONS(2460),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2458),
    [anon_sym_SLASH] = ACTIONS(2458),
    [anon_sym_PERCENT] = ACTIONS(2458),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2460),
    [anon_sym_CARET] = ACTIONS(2458),
    [anon_sym_LT_LT] = ACTIONS(2460),
    [anon_sym_GT_GT] = ACTIONS(2460),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2460),
    [sym__eq_eq_custom] = ACTIONS(2460),
    [sym__plus_then_ws] = ACTIONS(2460),
    [sym__minus_then_ws] = ACTIONS(2460),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [683] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1643),
    [sym_boolean_literal] = STATE(1643),
    [sym__string_literal] = STATE(1643),
    [sym_line_string_literal] = STATE(1643),
    [sym_multi_line_string_literal] = STATE(1643),
    [sym_raw_string_literal] = STATE(1643),
    [sym_regex_literal] = STATE(1643),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1643),
    [sym__unary_expression] = STATE(1643),
    [sym_postfix_expression] = STATE(1643),
    [sym_constructor_expression] = STATE(1643),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1643),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1643),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1643),
    [sym_prefix_expression] = STATE(1643),
    [sym_as_expression] = STATE(1643),
    [sym_selector_expression] = STATE(1643),
    [sym__binary_expression] = STATE(1643),
    [sym_multiplicative_expression] = STATE(1643),
    [sym_additive_expression] = STATE(1643),
    [sym_range_expression] = STATE(1643),
    [sym_infix_expression] = STATE(1643),
    [sym_nil_coalescing_expression] = STATE(1643),
    [sym_check_expression] = STATE(1643),
    [sym_comparison_expression] = STATE(1643),
    [sym_equality_expression] = STATE(1643),
    [sym_conjunction_expression] = STATE(1643),
    [sym_disjunction_expression] = STATE(1643),
    [sym_bitwise_operation] = STATE(1643),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1643),
    [sym_await_expression] = STATE(1643),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1643),
    [sym_call_expression] = STATE(1643),
    [sym_macro_invocation] = STATE(1643),
    [sym__primary_expression] = STATE(1643),
    [sym_tuple_expression] = STATE(1643),
    [sym_array_literal] = STATE(1643),
    [sym_dictionary_literal] = STATE(1643),
    [sym_special_literal] = STATE(1643),
    [sym_playground_literal] = STATE(1643),
    [sym_lambda_literal] = STATE(1643),
    [sym_self_expression] = STATE(1643),
    [sym_super_expression] = STATE(1643),
    [sym_if_statement] = STATE(1643),
    [sym_switch_statement] = STATE(1643),
    [sym_key_path_expression] = STATE(1643),
    [sym_key_path_string_expression] = STATE(1643),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1643),
    [sym__equality_operator] = STATE(1643),
    [sym__comparison_operator] = STATE(1643),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1643),
    [sym__multiplicative_operator] = STATE(1643),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1643),
    [sym_value_parameter_pack] = STATE(1643),
    [sym_value_pack_expansion] = STATE(1643),
    [sym__referenceable_operator] = STATE(1643),
    [sym__equal_sign] = STATE(1643),
    [sym__eq_eq] = STATE(1643),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1643),
    [sym_diagnostic] = STATE(1643),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2462),
    [sym_real_literal] = ACTIONS(2464),
    [sym_integer_literal] = ACTIONS(2462),
    [sym_hex_literal] = ACTIONS(2462),
    [sym_oct_literal] = ACTIONS(2464),
    [sym_bin_literal] = ACTIONS(2464),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2462),
    [anon_sym_GT] = ACTIONS(2462),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2464),
    [anon_sym_DASH_EQ] = ACTIONS(2464),
    [anon_sym_STAR_EQ] = ACTIONS(2464),
    [anon_sym_SLASH_EQ] = ACTIONS(2464),
    [anon_sym_PERCENT_EQ] = ACTIONS(2464),
    [anon_sym_BANG_EQ] = ACTIONS(2462),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2464),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2464),
    [anon_sym_LT_EQ] = ACTIONS(2464),
    [anon_sym_GT_EQ] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2462),
    [anon_sym_SLASH] = ACTIONS(2462),
    [anon_sym_PERCENT] = ACTIONS(2462),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2464),
    [anon_sym_CARET] = ACTIONS(2462),
    [anon_sym_LT_LT] = ACTIONS(2464),
    [anon_sym_GT_GT] = ACTIONS(2464),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2464),
    [sym__eq_eq_custom] = ACTIONS(2464),
    [sym__plus_then_ws] = ACTIONS(2464),
    [sym__minus_then_ws] = ACTIONS(2464),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [684] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1581),
    [sym_boolean_literal] = STATE(1581),
    [sym__string_literal] = STATE(1581),
    [sym_line_string_literal] = STATE(1581),
    [sym_multi_line_string_literal] = STATE(1581),
    [sym_raw_string_literal] = STATE(1581),
    [sym_regex_literal] = STATE(1581),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1581),
    [sym__unary_expression] = STATE(1581),
    [sym_postfix_expression] = STATE(1581),
    [sym_constructor_expression] = STATE(1581),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1581),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1581),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1581),
    [sym_prefix_expression] = STATE(1581),
    [sym_as_expression] = STATE(1581),
    [sym_selector_expression] = STATE(1581),
    [sym__binary_expression] = STATE(1581),
    [sym_multiplicative_expression] = STATE(1581),
    [sym_additive_expression] = STATE(1581),
    [sym_range_expression] = STATE(1581),
    [sym_infix_expression] = STATE(1581),
    [sym_nil_coalescing_expression] = STATE(1581),
    [sym_check_expression] = STATE(1581),
    [sym_comparison_expression] = STATE(1581),
    [sym_equality_expression] = STATE(1581),
    [sym_conjunction_expression] = STATE(1581),
    [sym_disjunction_expression] = STATE(1581),
    [sym_bitwise_operation] = STATE(1581),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1581),
    [sym_await_expression] = STATE(1581),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1581),
    [sym_call_expression] = STATE(1581),
    [sym_macro_invocation] = STATE(1581),
    [sym__primary_expression] = STATE(1581),
    [sym_tuple_expression] = STATE(1581),
    [sym_array_literal] = STATE(1581),
    [sym_dictionary_literal] = STATE(1581),
    [sym_special_literal] = STATE(1581),
    [sym_playground_literal] = STATE(1581),
    [sym_lambda_literal] = STATE(1581),
    [sym_self_expression] = STATE(1581),
    [sym_super_expression] = STATE(1581),
    [sym_if_statement] = STATE(1581),
    [sym_switch_statement] = STATE(1581),
    [sym_key_path_expression] = STATE(1581),
    [sym_key_path_string_expression] = STATE(1581),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1581),
    [sym__equality_operator] = STATE(1581),
    [sym__comparison_operator] = STATE(1581),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1581),
    [sym__multiplicative_operator] = STATE(1581),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1581),
    [sym_value_parameter_pack] = STATE(1581),
    [sym_value_pack_expansion] = STATE(1581),
    [sym__referenceable_operator] = STATE(1581),
    [sym__equal_sign] = STATE(1581),
    [sym__eq_eq] = STATE(1581),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1581),
    [sym_diagnostic] = STATE(1581),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2466),
    [sym_real_literal] = ACTIONS(2468),
    [sym_integer_literal] = ACTIONS(2466),
    [sym_hex_literal] = ACTIONS(2466),
    [sym_oct_literal] = ACTIONS(2468),
    [sym_bin_literal] = ACTIONS(2468),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2466),
    [anon_sym_GT] = ACTIONS(2466),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2468),
    [anon_sym_DASH_EQ] = ACTIONS(2468),
    [anon_sym_STAR_EQ] = ACTIONS(2468),
    [anon_sym_SLASH_EQ] = ACTIONS(2468),
    [anon_sym_PERCENT_EQ] = ACTIONS(2468),
    [anon_sym_BANG_EQ] = ACTIONS(2466),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2468),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2468),
    [anon_sym_LT_EQ] = ACTIONS(2468),
    [anon_sym_GT_EQ] = ACTIONS(2468),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2466),
    [anon_sym_SLASH] = ACTIONS(2466),
    [anon_sym_PERCENT] = ACTIONS(2466),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2468),
    [anon_sym_CARET] = ACTIONS(2466),
    [anon_sym_LT_LT] = ACTIONS(2468),
    [anon_sym_GT_GT] = ACTIONS(2468),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2468),
    [sym__eq_eq_custom] = ACTIONS(2468),
    [sym__plus_then_ws] = ACTIONS(2468),
    [sym__minus_then_ws] = ACTIONS(2468),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [685] = {
    [sym_simple_identifier] = STATE(1217),
    [sym__contextual_simple_identifier] = STATE(1147),
    [sym__basic_literal] = STATE(786),
    [sym_boolean_literal] = STATE(786),
    [sym__string_literal] = STATE(786),
    [sym_line_string_literal] = STATE(786),
    [sym_multi_line_string_literal] = STATE(786),
    [sym_raw_string_literal] = STATE(786),
    [sym_regex_literal] = STATE(786),
    [sym__extended_regex_literal] = STATE(1286),
    [sym__multiline_regex_literal] = STATE(1286),
    [sym_user_type] = STATE(6397),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6397),
    [sym_dictionary_type] = STATE(6397),
    [sym__expression] = STATE(786),
    [sym__unary_expression] = STATE(786),
    [sym_postfix_expression] = STATE(786),
    [sym_constructor_expression] = STATE(786),
    [sym__parenthesized_type] = STATE(7511),
    [sym_navigation_expression] = STATE(786),
    [sym__navigable_type_expression] = STATE(7510),
    [sym_open_start_range_expression] = STATE(786),
    [sym__range_operator] = STATE(695),
    [sym_open_end_range_expression] = STATE(786),
    [sym_prefix_expression] = STATE(786),
    [sym_as_expression] = STATE(786),
    [sym_selector_expression] = STATE(786),
    [sym__binary_expression] = STATE(786),
    [sym_multiplicative_expression] = STATE(786),
    [sym_additive_expression] = STATE(786),
    [sym_range_expression] = STATE(786),
    [sym_infix_expression] = STATE(786),
    [sym_nil_coalescing_expression] = STATE(786),
    [sym_check_expression] = STATE(786),
    [sym_comparison_expression] = STATE(786),
    [sym_equality_expression] = STATE(786),
    [sym_conjunction_expression] = STATE(786),
    [sym_disjunction_expression] = STATE(786),
    [sym_bitwise_operation] = STATE(786),
    [sym_custom_operator] = STATE(759),
    [sym_try_expression] = STATE(786),
    [sym_await_expression] = STATE(786),
    [sym__await_operator] = STATE(644),
    [sym_ternary_expression] = STATE(786),
    [sym_call_expression] = STATE(786),
    [sym_macro_invocation] = STATE(786),
    [sym__primary_expression] = STATE(786),
    [sym_tuple_expression] = STATE(786),
    [sym_array_literal] = STATE(786),
    [sym_dictionary_literal] = STATE(786),
    [sym_special_literal] = STATE(786),
    [sym_playground_literal] = STATE(786),
    [sym_lambda_literal] = STATE(786),
    [sym_self_expression] = STATE(786),
    [sym_super_expression] = STATE(786),
    [sym_if_statement] = STATE(786),
    [sym_switch_statement] = STATE(786),
    [sym_key_path_expression] = STATE(786),
    [sym_key_path_string_expression] = STATE(786),
    [sym_try_operator] = STATE(645),
    [sym__assignment_and_operator] = STATE(786),
    [sym__equality_operator] = STATE(786),
    [sym__comparison_operator] = STATE(786),
    [sym__three_dot_operator] = STATE(761),
    [sym__open_ended_range_operator] = STATE(695),
    [sym__additive_operator] = STATE(786),
    [sym__multiplicative_operator] = STATE(786),
    [sym__prefix_unary_operator] = STATE(659),
    [sym_directly_assignable_expression] = STATE(6398),
    [sym_assignment] = STATE(786),
    [sym_value_parameter_pack] = STATE(786),
    [sym_value_pack_expansion] = STATE(786),
    [sym__referenceable_operator] = STATE(786),
    [sym__equal_sign] = STATE(786),
    [sym__eq_eq] = STATE(786),
    [sym__dot] = STATE(659),
    [sym__hash_symbol] = STATE(4848),
    [sym_bang] = STATE(759),
    [sym__parameter_ownership_modifier] = STATE(1147),
    [sym_directive] = STATE(786),
    [sym_diagnostic] = STATE(786),
    [aux_sym_raw_string_literal_repeat1] = STATE(7499),
    [anon_sym_BANG] = ACTIONS(659),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(661),
    [aux_sym_simple_identifier_token2] = ACTIONS(663),
    [aux_sym_simple_identifier_token3] = ACTIONS(663),
    [aux_sym_simple_identifier_token4] = ACTIONS(663),
    [anon_sym_actor] = ACTIONS(661),
    [anon_sym_async] = ACTIONS(661),
    [anon_sym_each] = ACTIONS(665),
    [anon_sym_lazy] = ACTIONS(661),
    [anon_sym_repeat] = ACTIONS(667),
    [anon_sym_package] = ACTIONS(661),
    [anon_sym_nil] = ACTIONS(2470),
    [sym_real_literal] = ACTIONS(2472),
    [sym_integer_literal] = ACTIONS(2470),
    [sym_hex_literal] = ACTIONS(2470),
    [sym_oct_literal] = ACTIONS(2472),
    [sym_bin_literal] = ACTIONS(2472),
    [anon_sym_true] = ACTIONS(673),
    [anon_sym_false] = ACTIONS(673),
    [anon_sym_DQUOTE] = ACTIONS(675),
    [anon_sym_BSLASH] = ACTIONS(677),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(679),
    [sym__oneline_regex_literal] = ACTIONS(681),
    [anon_sym_LPAREN] = ACTIONS(683),
    [anon_sym_LBRACK] = ACTIONS(685),
    [anon_sym_AMP] = ACTIONS(687),
    [anon_sym_TILDE] = ACTIONS(687),
    [anon_sym_if] = ACTIONS(689),
    [anon_sym_switch] = ACTIONS(691),
    [aux_sym_custom_operator_token1] = ACTIONS(693),
    [anon_sym_LT] = ACTIONS(2470),
    [anon_sym_GT] = ACTIONS(2470),
    [anon_sym_await] = ACTIONS(695),
    [anon_sym_LBRACE] = ACTIONS(697),
    [anon_sym_CARET_LBRACE] = ACTIONS(697),
    [anon_sym_self] = ACTIONS(699),
    [anon_sym_super] = ACTIONS(701),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2472),
    [anon_sym_DASH_EQ] = ACTIONS(2472),
    [anon_sym_STAR_EQ] = ACTIONS(2472),
    [anon_sym_SLASH_EQ] = ACTIONS(2472),
    [anon_sym_PERCENT_EQ] = ACTIONS(2472),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2472),
    [anon_sym_LT_EQ] = ACTIONS(2472),
    [anon_sym_GT_EQ] = ACTIONS(2472),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(703),
    [anon_sym_DOT_DOT_LT] = ACTIONS(705),
    [anon_sym_PLUS] = ACTIONS(707),
    [anon_sym_DASH] = ACTIONS(707),
    [anon_sym_STAR] = ACTIONS(2470),
    [anon_sym_SLASH] = ACTIONS(2470),
    [anon_sym_PERCENT] = ACTIONS(2470),
    [anon_sym_PLUS_PLUS] = ACTIONS(687),
    [anon_sym_DASH_DASH] = ACTIONS(687),
    [anon_sym_PIPE] = ACTIONS(2472),
    [anon_sym_CARET] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_borrowing] = ACTIONS(661),
    [anon_sym_consuming] = ACTIONS(661),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(709),
    [sym__dot_custom] = ACTIONS(711),
    [sym__eq_custom] = ACTIONS(2472),
    [sym__eq_eq_custom] = ACTIONS(2472),
    [sym__plus_then_ws] = ACTIONS(2472),
    [sym__minus_then_ws] = ACTIONS(2472),
    [sym__bang_custom] = ACTIONS(713),
    [sym__custom_operator] = ACTIONS(693),
    [sym__hash_symbol_custom] = ACTIONS(715),
    [sym__directive_if] = ACTIONS(717),
    [sym__directive_elseif] = ACTIONS(717),
    [sym__directive_else] = ACTIONS(719),
    [sym__directive_endif] = ACTIONS(719),
  },
  [686] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(788),
    [sym_boolean_literal] = STATE(788),
    [sym__string_literal] = STATE(788),
    [sym_line_string_literal] = STATE(788),
    [sym_multi_line_string_literal] = STATE(788),
    [sym_raw_string_literal] = STATE(788),
    [sym_regex_literal] = STATE(788),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(788),
    [sym__unary_expression] = STATE(788),
    [sym_postfix_expression] = STATE(788),
    [sym_constructor_expression] = STATE(788),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(788),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(788),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(788),
    [sym_prefix_expression] = STATE(788),
    [sym_as_expression] = STATE(788),
    [sym_selector_expression] = STATE(788),
    [sym__binary_expression] = STATE(788),
    [sym_multiplicative_expression] = STATE(788),
    [sym_additive_expression] = STATE(788),
    [sym_range_expression] = STATE(788),
    [sym_infix_expression] = STATE(788),
    [sym_nil_coalescing_expression] = STATE(788),
    [sym_check_expression] = STATE(788),
    [sym_comparison_expression] = STATE(788),
    [sym_equality_expression] = STATE(788),
    [sym_conjunction_expression] = STATE(788),
    [sym_disjunction_expression] = STATE(788),
    [sym_bitwise_operation] = STATE(788),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(788),
    [sym_await_expression] = STATE(788),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(788),
    [sym_call_expression] = STATE(788),
    [sym_macro_invocation] = STATE(788),
    [sym__primary_expression] = STATE(788),
    [sym_tuple_expression] = STATE(788),
    [sym_array_literal] = STATE(788),
    [sym_dictionary_literal] = STATE(788),
    [sym_special_literal] = STATE(788),
    [sym_playground_literal] = STATE(788),
    [sym_lambda_literal] = STATE(788),
    [sym_self_expression] = STATE(788),
    [sym_super_expression] = STATE(788),
    [sym_if_statement] = STATE(788),
    [sym_switch_statement] = STATE(788),
    [sym_key_path_expression] = STATE(788),
    [sym_key_path_string_expression] = STATE(788),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(788),
    [sym__equality_operator] = STATE(788),
    [sym__comparison_operator] = STATE(788),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(788),
    [sym__multiplicative_operator] = STATE(788),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_assignment] = STATE(788),
    [sym_value_parameter_pack] = STATE(788),
    [sym_value_pack_expansion] = STATE(788),
    [sym__referenceable_operator] = STATE(788),
    [sym__equal_sign] = STATE(788),
    [sym__eq_eq] = STATE(788),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(788),
    [sym_diagnostic] = STATE(788),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(289),
    [anon_sym_async] = ACTIONS(289),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(289),
    [anon_sym_repeat] = ACTIONS(733),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(2474),
    [sym_real_literal] = ACTIONS(2476),
    [sym_integer_literal] = ACTIONS(2474),
    [sym_hex_literal] = ACTIONS(2474),
    [sym_oct_literal] = ACTIONS(2476),
    [sym_bin_literal] = ACTIONS(2476),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(2474),
    [anon_sym_GT] = ACTIONS(2474),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2476),
    [anon_sym_DASH_EQ] = ACTIONS(2476),
    [anon_sym_STAR_EQ] = ACTIONS(2476),
    [anon_sym_SLASH_EQ] = ACTIONS(2476),
    [anon_sym_PERCENT_EQ] = ACTIONS(2476),
    [anon_sym_BANG_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2476),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2476),
    [anon_sym_LT_EQ] = ACTIONS(2476),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(2474),
    [anon_sym_SLASH] = ACTIONS(2474),
    [anon_sym_PERCENT] = ACTIONS(2474),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2474),
    [anon_sym_LT_LT] = ACTIONS(2476),
    [anon_sym_GT_GT] = ACTIONS(2476),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(2476),
    [sym__eq_eq_custom] = ACTIONS(2476),
    [sym__plus_then_ws] = ACTIONS(2476),
    [sym__minus_then_ws] = ACTIONS(2476),
    [sym__bang_custom] = ACTIONS(373),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [687] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1670),
    [sym_boolean_literal] = STATE(1670),
    [sym__string_literal] = STATE(1670),
    [sym_line_string_literal] = STATE(1670),
    [sym_multi_line_string_literal] = STATE(1670),
    [sym_raw_string_literal] = STATE(1670),
    [sym_regex_literal] = STATE(1670),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1670),
    [sym__unary_expression] = STATE(1670),
    [sym_postfix_expression] = STATE(1670),
    [sym_constructor_expression] = STATE(1670),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1670),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1670),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1670),
    [sym_prefix_expression] = STATE(1670),
    [sym_as_expression] = STATE(1670),
    [sym_selector_expression] = STATE(1670),
    [sym__binary_expression] = STATE(1670),
    [sym_multiplicative_expression] = STATE(1670),
    [sym_additive_expression] = STATE(1670),
    [sym_range_expression] = STATE(1670),
    [sym_infix_expression] = STATE(1670),
    [sym_nil_coalescing_expression] = STATE(1670),
    [sym_check_expression] = STATE(1670),
    [sym_comparison_expression] = STATE(1670),
    [sym_equality_expression] = STATE(1670),
    [sym_conjunction_expression] = STATE(1670),
    [sym_disjunction_expression] = STATE(1670),
    [sym_bitwise_operation] = STATE(1670),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1670),
    [sym_await_expression] = STATE(1670),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1670),
    [sym_call_expression] = STATE(1670),
    [sym_macro_invocation] = STATE(1670),
    [sym__primary_expression] = STATE(1670),
    [sym_tuple_expression] = STATE(1670),
    [sym_array_literal] = STATE(1670),
    [sym_dictionary_literal] = STATE(1670),
    [sym_special_literal] = STATE(1670),
    [sym_playground_literal] = STATE(1670),
    [sym_lambda_literal] = STATE(1670),
    [sym_self_expression] = STATE(1670),
    [sym_super_expression] = STATE(1670),
    [sym_if_statement] = STATE(1670),
    [sym_switch_statement] = STATE(1670),
    [sym_key_path_expression] = STATE(1670),
    [sym_key_path_string_expression] = STATE(1670),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1670),
    [sym__equality_operator] = STATE(1670),
    [sym__comparison_operator] = STATE(1670),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1670),
    [sym__multiplicative_operator] = STATE(1670),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1670),
    [sym_value_parameter_pack] = STATE(1670),
    [sym_value_pack_expansion] = STATE(1670),
    [sym__referenceable_operator] = STATE(1670),
    [sym__equal_sign] = STATE(1670),
    [sym__eq_eq] = STATE(1670),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1670),
    [sym_diagnostic] = STATE(1670),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2478),
    [sym_real_literal] = ACTIONS(2480),
    [sym_integer_literal] = ACTIONS(2478),
    [sym_hex_literal] = ACTIONS(2478),
    [sym_oct_literal] = ACTIONS(2480),
    [sym_bin_literal] = ACTIONS(2480),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2478),
    [anon_sym_GT] = ACTIONS(2478),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2480),
    [anon_sym_DASH_EQ] = ACTIONS(2480),
    [anon_sym_STAR_EQ] = ACTIONS(2480),
    [anon_sym_SLASH_EQ] = ACTIONS(2480),
    [anon_sym_PERCENT_EQ] = ACTIONS(2480),
    [anon_sym_BANG_EQ] = ACTIONS(2478),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2480),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2480),
    [anon_sym_LT_EQ] = ACTIONS(2480),
    [anon_sym_GT_EQ] = ACTIONS(2480),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2478),
    [anon_sym_SLASH] = ACTIONS(2478),
    [anon_sym_PERCENT] = ACTIONS(2478),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2480),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_LT_LT] = ACTIONS(2480),
    [anon_sym_GT_GT] = ACTIONS(2480),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2480),
    [sym__eq_eq_custom] = ACTIONS(2480),
    [sym__plus_then_ws] = ACTIONS(2480),
    [sym__minus_then_ws] = ACTIONS(2480),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [688] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1542),
    [sym_boolean_literal] = STATE(1542),
    [sym__string_literal] = STATE(1542),
    [sym_line_string_literal] = STATE(1542),
    [sym_multi_line_string_literal] = STATE(1542),
    [sym_raw_string_literal] = STATE(1542),
    [sym_regex_literal] = STATE(1542),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1542),
    [sym__unary_expression] = STATE(1542),
    [sym_postfix_expression] = STATE(1542),
    [sym_constructor_expression] = STATE(1542),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1542),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1542),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1542),
    [sym_prefix_expression] = STATE(1542),
    [sym_as_expression] = STATE(1542),
    [sym_selector_expression] = STATE(1542),
    [sym__binary_expression] = STATE(1542),
    [sym_multiplicative_expression] = STATE(1542),
    [sym_additive_expression] = STATE(1542),
    [sym_range_expression] = STATE(1542),
    [sym_infix_expression] = STATE(1542),
    [sym_nil_coalescing_expression] = STATE(1542),
    [sym_check_expression] = STATE(1542),
    [sym_comparison_expression] = STATE(1542),
    [sym_equality_expression] = STATE(1542),
    [sym_conjunction_expression] = STATE(1542),
    [sym_disjunction_expression] = STATE(1542),
    [sym_bitwise_operation] = STATE(1542),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1542),
    [sym_await_expression] = STATE(1542),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1542),
    [sym_call_expression] = STATE(1542),
    [sym_macro_invocation] = STATE(1542),
    [sym__primary_expression] = STATE(1542),
    [sym_tuple_expression] = STATE(1542),
    [sym_array_literal] = STATE(1542),
    [sym_dictionary_literal] = STATE(1542),
    [sym_special_literal] = STATE(1542),
    [sym_playground_literal] = STATE(1542),
    [sym_lambda_literal] = STATE(1542),
    [sym_self_expression] = STATE(1542),
    [sym_super_expression] = STATE(1542),
    [sym_if_statement] = STATE(1542),
    [sym_switch_statement] = STATE(1542),
    [sym_key_path_expression] = STATE(1542),
    [sym_key_path_string_expression] = STATE(1542),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1542),
    [sym__equality_operator] = STATE(1542),
    [sym__comparison_operator] = STATE(1542),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1542),
    [sym__multiplicative_operator] = STATE(1542),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1542),
    [sym_value_parameter_pack] = STATE(1542),
    [sym_value_pack_expansion] = STATE(1542),
    [sym__referenceable_operator] = STATE(1542),
    [sym__equal_sign] = STATE(1542),
    [sym__eq_eq] = STATE(1542),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1542),
    [sym_diagnostic] = STATE(1542),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2482),
    [sym_real_literal] = ACTIONS(2484),
    [sym_integer_literal] = ACTIONS(2482),
    [sym_hex_literal] = ACTIONS(2482),
    [sym_oct_literal] = ACTIONS(2484),
    [sym_bin_literal] = ACTIONS(2484),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2482),
    [anon_sym_GT] = ACTIONS(2482),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2484),
    [anon_sym_DASH_EQ] = ACTIONS(2484),
    [anon_sym_STAR_EQ] = ACTIONS(2484),
    [anon_sym_SLASH_EQ] = ACTIONS(2484),
    [anon_sym_PERCENT_EQ] = ACTIONS(2484),
    [anon_sym_BANG_EQ] = ACTIONS(2482),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2484),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2484),
    [anon_sym_LT_EQ] = ACTIONS(2484),
    [anon_sym_GT_EQ] = ACTIONS(2484),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2482),
    [anon_sym_SLASH] = ACTIONS(2482),
    [anon_sym_PERCENT] = ACTIONS(2482),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2484),
    [anon_sym_CARET] = ACTIONS(2482),
    [anon_sym_LT_LT] = ACTIONS(2484),
    [anon_sym_GT_GT] = ACTIONS(2484),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2484),
    [sym__eq_eq_custom] = ACTIONS(2484),
    [sym__plus_then_ws] = ACTIONS(2484),
    [sym__minus_then_ws] = ACTIONS(2484),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [689] = {
    [sym_simple_identifier] = STATE(1217),
    [sym__contextual_simple_identifier] = STATE(1147),
    [sym__basic_literal] = STATE(777),
    [sym_boolean_literal] = STATE(777),
    [sym__string_literal] = STATE(777),
    [sym_line_string_literal] = STATE(777),
    [sym_multi_line_string_literal] = STATE(777),
    [sym_raw_string_literal] = STATE(777),
    [sym_regex_literal] = STATE(777),
    [sym__extended_regex_literal] = STATE(1286),
    [sym__multiline_regex_literal] = STATE(1286),
    [sym_user_type] = STATE(6397),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6397),
    [sym_dictionary_type] = STATE(6397),
    [sym__expression] = STATE(777),
    [sym__unary_expression] = STATE(777),
    [sym_postfix_expression] = STATE(777),
    [sym_constructor_expression] = STATE(777),
    [sym__parenthesized_type] = STATE(7511),
    [sym_navigation_expression] = STATE(777),
    [sym__navigable_type_expression] = STATE(7510),
    [sym_open_start_range_expression] = STATE(777),
    [sym__range_operator] = STATE(695),
    [sym_open_end_range_expression] = STATE(777),
    [sym_prefix_expression] = STATE(777),
    [sym_as_expression] = STATE(777),
    [sym_selector_expression] = STATE(777),
    [sym__binary_expression] = STATE(777),
    [sym_multiplicative_expression] = STATE(777),
    [sym_additive_expression] = STATE(777),
    [sym_range_expression] = STATE(777),
    [sym_infix_expression] = STATE(777),
    [sym_nil_coalescing_expression] = STATE(777),
    [sym_check_expression] = STATE(777),
    [sym_comparison_expression] = STATE(777),
    [sym_equality_expression] = STATE(777),
    [sym_conjunction_expression] = STATE(777),
    [sym_disjunction_expression] = STATE(777),
    [sym_bitwise_operation] = STATE(777),
    [sym_custom_operator] = STATE(759),
    [sym_try_expression] = STATE(777),
    [sym_await_expression] = STATE(777),
    [sym__await_operator] = STATE(644),
    [sym_ternary_expression] = STATE(777),
    [sym_call_expression] = STATE(777),
    [sym_macro_invocation] = STATE(777),
    [sym__primary_expression] = STATE(777),
    [sym_tuple_expression] = STATE(777),
    [sym_array_literal] = STATE(777),
    [sym_dictionary_literal] = STATE(777),
    [sym_special_literal] = STATE(777),
    [sym_playground_literal] = STATE(777),
    [sym_lambda_literal] = STATE(777),
    [sym_self_expression] = STATE(777),
    [sym_super_expression] = STATE(777),
    [sym_if_statement] = STATE(777),
    [sym_switch_statement] = STATE(777),
    [sym_key_path_expression] = STATE(777),
    [sym_key_path_string_expression] = STATE(777),
    [sym_try_operator] = STATE(645),
    [sym__assignment_and_operator] = STATE(777),
    [sym__equality_operator] = STATE(777),
    [sym__comparison_operator] = STATE(777),
    [sym__three_dot_operator] = STATE(761),
    [sym__open_ended_range_operator] = STATE(695),
    [sym__additive_operator] = STATE(777),
    [sym__multiplicative_operator] = STATE(777),
    [sym__prefix_unary_operator] = STATE(659),
    [sym_directly_assignable_expression] = STATE(6398),
    [sym_assignment] = STATE(777),
    [sym_value_parameter_pack] = STATE(777),
    [sym_value_pack_expansion] = STATE(777),
    [sym__referenceable_operator] = STATE(777),
    [sym__equal_sign] = STATE(777),
    [sym__eq_eq] = STATE(777),
    [sym__dot] = STATE(659),
    [sym__hash_symbol] = STATE(4848),
    [sym_bang] = STATE(759),
    [sym__parameter_ownership_modifier] = STATE(1147),
    [sym_directive] = STATE(777),
    [sym_diagnostic] = STATE(777),
    [aux_sym_raw_string_literal_repeat1] = STATE(7499),
    [anon_sym_BANG] = ACTIONS(659),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(661),
    [aux_sym_simple_identifier_token2] = ACTIONS(663),
    [aux_sym_simple_identifier_token3] = ACTIONS(663),
    [aux_sym_simple_identifier_token4] = ACTIONS(663),
    [anon_sym_actor] = ACTIONS(661),
    [anon_sym_async] = ACTIONS(661),
    [anon_sym_each] = ACTIONS(665),
    [anon_sym_lazy] = ACTIONS(661),
    [anon_sym_repeat] = ACTIONS(667),
    [anon_sym_package] = ACTIONS(661),
    [anon_sym_nil] = ACTIONS(2486),
    [sym_real_literal] = ACTIONS(2488),
    [sym_integer_literal] = ACTIONS(2486),
    [sym_hex_literal] = ACTIONS(2486),
    [sym_oct_literal] = ACTIONS(2488),
    [sym_bin_literal] = ACTIONS(2488),
    [anon_sym_true] = ACTIONS(673),
    [anon_sym_false] = ACTIONS(673),
    [anon_sym_DQUOTE] = ACTIONS(675),
    [anon_sym_BSLASH] = ACTIONS(677),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(679),
    [sym__oneline_regex_literal] = ACTIONS(681),
    [anon_sym_LPAREN] = ACTIONS(683),
    [anon_sym_LBRACK] = ACTIONS(685),
    [anon_sym_AMP] = ACTIONS(687),
    [anon_sym_TILDE] = ACTIONS(687),
    [anon_sym_if] = ACTIONS(689),
    [anon_sym_switch] = ACTIONS(691),
    [aux_sym_custom_operator_token1] = ACTIONS(693),
    [anon_sym_LT] = ACTIONS(2486),
    [anon_sym_GT] = ACTIONS(2486),
    [anon_sym_await] = ACTIONS(695),
    [anon_sym_LBRACE] = ACTIONS(697),
    [anon_sym_CARET_LBRACE] = ACTIONS(697),
    [anon_sym_self] = ACTIONS(699),
    [anon_sym_super] = ACTIONS(701),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2488),
    [anon_sym_DASH_EQ] = ACTIONS(2488),
    [anon_sym_STAR_EQ] = ACTIONS(2488),
    [anon_sym_SLASH_EQ] = ACTIONS(2488),
    [anon_sym_PERCENT_EQ] = ACTIONS(2488),
    [anon_sym_BANG_EQ] = ACTIONS(2486),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2488),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2488),
    [anon_sym_LT_EQ] = ACTIONS(2488),
    [anon_sym_GT_EQ] = ACTIONS(2488),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(703),
    [anon_sym_DOT_DOT_LT] = ACTIONS(705),
    [anon_sym_PLUS] = ACTIONS(707),
    [anon_sym_DASH] = ACTIONS(707),
    [anon_sym_STAR] = ACTIONS(2486),
    [anon_sym_SLASH] = ACTIONS(2486),
    [anon_sym_PERCENT] = ACTIONS(2486),
    [anon_sym_PLUS_PLUS] = ACTIONS(687),
    [anon_sym_DASH_DASH] = ACTIONS(687),
    [anon_sym_PIPE] = ACTIONS(2488),
    [anon_sym_CARET] = ACTIONS(2486),
    [anon_sym_LT_LT] = ACTIONS(2488),
    [anon_sym_GT_GT] = ACTIONS(2488),
    [anon_sym_borrowing] = ACTIONS(661),
    [anon_sym_consuming] = ACTIONS(661),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(709),
    [sym__dot_custom] = ACTIONS(711),
    [sym__eq_custom] = ACTIONS(2488),
    [sym__eq_eq_custom] = ACTIONS(2488),
    [sym__plus_then_ws] = ACTIONS(2488),
    [sym__minus_then_ws] = ACTIONS(2488),
    [sym__bang_custom] = ACTIONS(713),
    [sym__custom_operator] = ACTIONS(693),
    [sym__hash_symbol_custom] = ACTIONS(715),
    [sym__directive_if] = ACTIONS(717),
    [sym__directive_elseif] = ACTIONS(717),
    [sym__directive_else] = ACTIONS(719),
    [sym__directive_endif] = ACTIONS(719),
  },
  [690] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1601),
    [sym_boolean_literal] = STATE(1601),
    [sym__string_literal] = STATE(1601),
    [sym_line_string_literal] = STATE(1601),
    [sym_multi_line_string_literal] = STATE(1601),
    [sym_raw_string_literal] = STATE(1601),
    [sym_regex_literal] = STATE(1601),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1601),
    [sym__unary_expression] = STATE(1601),
    [sym_postfix_expression] = STATE(1601),
    [sym_constructor_expression] = STATE(1601),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1601),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1601),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1601),
    [sym_prefix_expression] = STATE(1601),
    [sym_as_expression] = STATE(1601),
    [sym_selector_expression] = STATE(1601),
    [sym__binary_expression] = STATE(1601),
    [sym_multiplicative_expression] = STATE(1601),
    [sym_additive_expression] = STATE(1601),
    [sym_range_expression] = STATE(1601),
    [sym_infix_expression] = STATE(1601),
    [sym_nil_coalescing_expression] = STATE(1601),
    [sym_check_expression] = STATE(1601),
    [sym_comparison_expression] = STATE(1601),
    [sym_equality_expression] = STATE(1601),
    [sym_conjunction_expression] = STATE(1601),
    [sym_disjunction_expression] = STATE(1601),
    [sym_bitwise_operation] = STATE(1601),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1601),
    [sym_await_expression] = STATE(1601),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1601),
    [sym_call_expression] = STATE(1601),
    [sym_macro_invocation] = STATE(1601),
    [sym__primary_expression] = STATE(1601),
    [sym_tuple_expression] = STATE(1601),
    [sym_array_literal] = STATE(1601),
    [sym_dictionary_literal] = STATE(1601),
    [sym_special_literal] = STATE(1601),
    [sym_playground_literal] = STATE(1601),
    [sym_lambda_literal] = STATE(1601),
    [sym_self_expression] = STATE(1601),
    [sym_super_expression] = STATE(1601),
    [sym_if_statement] = STATE(1601),
    [sym_switch_statement] = STATE(1601),
    [sym_key_path_expression] = STATE(1601),
    [sym_key_path_string_expression] = STATE(1601),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1601),
    [sym__equality_operator] = STATE(1601),
    [sym__comparison_operator] = STATE(1601),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1601),
    [sym__multiplicative_operator] = STATE(1601),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1601),
    [sym_value_parameter_pack] = STATE(1601),
    [sym_value_pack_expansion] = STATE(1601),
    [sym__referenceable_operator] = STATE(1601),
    [sym__equal_sign] = STATE(1601),
    [sym__eq_eq] = STATE(1601),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1601),
    [sym_diagnostic] = STATE(1601),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2490),
    [sym_real_literal] = ACTIONS(2492),
    [sym_integer_literal] = ACTIONS(2490),
    [sym_hex_literal] = ACTIONS(2490),
    [sym_oct_literal] = ACTIONS(2492),
    [sym_bin_literal] = ACTIONS(2492),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2490),
    [anon_sym_GT] = ACTIONS(2490),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2492),
    [anon_sym_DASH_EQ] = ACTIONS(2492),
    [anon_sym_STAR_EQ] = ACTIONS(2492),
    [anon_sym_SLASH_EQ] = ACTIONS(2492),
    [anon_sym_PERCENT_EQ] = ACTIONS(2492),
    [anon_sym_BANG_EQ] = ACTIONS(2490),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2492),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2492),
    [anon_sym_LT_EQ] = ACTIONS(2492),
    [anon_sym_GT_EQ] = ACTIONS(2492),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2490),
    [anon_sym_SLASH] = ACTIONS(2490),
    [anon_sym_PERCENT] = ACTIONS(2490),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2492),
    [anon_sym_CARET] = ACTIONS(2490),
    [anon_sym_LT_LT] = ACTIONS(2492),
    [anon_sym_GT_GT] = ACTIONS(2492),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2492),
    [sym__eq_eq_custom] = ACTIONS(2492),
    [sym__plus_then_ws] = ACTIONS(2492),
    [sym__minus_then_ws] = ACTIONS(2492),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [691] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1621),
    [sym_boolean_literal] = STATE(1621),
    [sym__string_literal] = STATE(1621),
    [sym_line_string_literal] = STATE(1621),
    [sym_multi_line_string_literal] = STATE(1621),
    [sym_raw_string_literal] = STATE(1621),
    [sym_regex_literal] = STATE(1621),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1621),
    [sym__unary_expression] = STATE(1621),
    [sym_postfix_expression] = STATE(1621),
    [sym_constructor_expression] = STATE(1621),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1621),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1621),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1621),
    [sym_prefix_expression] = STATE(1621),
    [sym_as_expression] = STATE(1621),
    [sym_selector_expression] = STATE(1621),
    [sym__binary_expression] = STATE(1621),
    [sym_multiplicative_expression] = STATE(1621),
    [sym_additive_expression] = STATE(1621),
    [sym_range_expression] = STATE(1621),
    [sym_infix_expression] = STATE(1621),
    [sym_nil_coalescing_expression] = STATE(1621),
    [sym_check_expression] = STATE(1621),
    [sym_comparison_expression] = STATE(1621),
    [sym_equality_expression] = STATE(1621),
    [sym_conjunction_expression] = STATE(1621),
    [sym_disjunction_expression] = STATE(1621),
    [sym_bitwise_operation] = STATE(1621),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1621),
    [sym_await_expression] = STATE(1621),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1621),
    [sym_call_expression] = STATE(1621),
    [sym_macro_invocation] = STATE(1621),
    [sym__primary_expression] = STATE(1621),
    [sym_tuple_expression] = STATE(1621),
    [sym_array_literal] = STATE(1621),
    [sym_dictionary_literal] = STATE(1621),
    [sym_special_literal] = STATE(1621),
    [sym_playground_literal] = STATE(1621),
    [sym_lambda_literal] = STATE(1621),
    [sym_self_expression] = STATE(1621),
    [sym_super_expression] = STATE(1621),
    [sym_if_statement] = STATE(1621),
    [sym_switch_statement] = STATE(1621),
    [sym_key_path_expression] = STATE(1621),
    [sym_key_path_string_expression] = STATE(1621),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1621),
    [sym__equality_operator] = STATE(1621),
    [sym__comparison_operator] = STATE(1621),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1621),
    [sym__multiplicative_operator] = STATE(1621),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1621),
    [sym_value_parameter_pack] = STATE(1621),
    [sym_value_pack_expansion] = STATE(1621),
    [sym__referenceable_operator] = STATE(1621),
    [sym__equal_sign] = STATE(1621),
    [sym__eq_eq] = STATE(1621),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1621),
    [sym_diagnostic] = STATE(1621),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2494),
    [sym_real_literal] = ACTIONS(2496),
    [sym_integer_literal] = ACTIONS(2494),
    [sym_hex_literal] = ACTIONS(2494),
    [sym_oct_literal] = ACTIONS(2496),
    [sym_bin_literal] = ACTIONS(2496),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2494),
    [anon_sym_GT] = ACTIONS(2494),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2496),
    [anon_sym_DASH_EQ] = ACTIONS(2496),
    [anon_sym_STAR_EQ] = ACTIONS(2496),
    [anon_sym_SLASH_EQ] = ACTIONS(2496),
    [anon_sym_PERCENT_EQ] = ACTIONS(2496),
    [anon_sym_BANG_EQ] = ACTIONS(2494),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2496),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2496),
    [anon_sym_LT_EQ] = ACTIONS(2496),
    [anon_sym_GT_EQ] = ACTIONS(2496),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2494),
    [anon_sym_SLASH] = ACTIONS(2494),
    [anon_sym_PERCENT] = ACTIONS(2494),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2496),
    [anon_sym_CARET] = ACTIONS(2494),
    [anon_sym_LT_LT] = ACTIONS(2496),
    [anon_sym_GT_GT] = ACTIONS(2496),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2496),
    [sym__eq_eq_custom] = ACTIONS(2496),
    [sym__plus_then_ws] = ACTIONS(2496),
    [sym__minus_then_ws] = ACTIONS(2496),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [692] = {
    [sym_simple_identifier] = STATE(2920),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1626),
    [sym_boolean_literal] = STATE(1626),
    [sym__string_literal] = STATE(1626),
    [sym_line_string_literal] = STATE(1626),
    [sym_multi_line_string_literal] = STATE(1626),
    [sym_raw_string_literal] = STATE(1626),
    [sym_regex_literal] = STATE(1626),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1626),
    [sym__unary_expression] = STATE(1626),
    [sym_postfix_expression] = STATE(1626),
    [sym_constructor_expression] = STATE(1626),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1626),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1626),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1626),
    [sym_prefix_expression] = STATE(1626),
    [sym_as_expression] = STATE(1626),
    [sym_selector_expression] = STATE(1626),
    [sym__binary_expression] = STATE(1626),
    [sym_multiplicative_expression] = STATE(1626),
    [sym_additive_expression] = STATE(1626),
    [sym_range_expression] = STATE(1626),
    [sym_infix_expression] = STATE(1626),
    [sym_nil_coalescing_expression] = STATE(1626),
    [sym_check_expression] = STATE(1626),
    [sym_comparison_expression] = STATE(1626),
    [sym_equality_expression] = STATE(1626),
    [sym_conjunction_expression] = STATE(1626),
    [sym_disjunction_expression] = STATE(1626),
    [sym_bitwise_operation] = STATE(1626),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1626),
    [sym_await_expression] = STATE(1626),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1626),
    [sym_call_expression] = STATE(1626),
    [sym_macro_invocation] = STATE(1626),
    [sym__primary_expression] = STATE(1626),
    [sym_tuple_expression] = STATE(1626),
    [sym_array_literal] = STATE(1626),
    [sym_dictionary_literal] = STATE(1626),
    [sym_special_literal] = STATE(1626),
    [sym_playground_literal] = STATE(1626),
    [sym_lambda_literal] = STATE(1626),
    [sym_self_expression] = STATE(1626),
    [sym_super_expression] = STATE(1626),
    [sym_if_statement] = STATE(1626),
    [sym_switch_statement] = STATE(1626),
    [sym_key_path_expression] = STATE(1626),
    [sym_key_path_string_expression] = STATE(1626),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1626),
    [sym__equality_operator] = STATE(1626),
    [sym__comparison_operator] = STATE(1626),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1626),
    [sym__multiplicative_operator] = STATE(1626),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1626),
    [sym_value_parameter_pack] = STATE(1626),
    [sym_value_pack_expansion] = STATE(1626),
    [sym__referenceable_operator] = STATE(1626),
    [sym__equal_sign] = STATE(1626),
    [sym__eq_eq] = STATE(1626),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1626),
    [sym_diagnostic] = STATE(1626),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1874),
    [sym_real_literal] = ACTIONS(1876),
    [sym_integer_literal] = ACTIONS(1874),
    [sym_hex_literal] = ACTIONS(1874),
    [sym_oct_literal] = ACTIONS(1876),
    [sym_bin_literal] = ACTIONS(1876),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1874),
    [anon_sym_GT] = ACTIONS(1874),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1876),
    [anon_sym_DASH_EQ] = ACTIONS(1876),
    [anon_sym_STAR_EQ] = ACTIONS(1876),
    [anon_sym_SLASH_EQ] = ACTIONS(1876),
    [anon_sym_PERCENT_EQ] = ACTIONS(1876),
    [anon_sym_BANG_EQ] = ACTIONS(1874),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1876),
    [anon_sym_LT_EQ] = ACTIONS(1876),
    [anon_sym_GT_EQ] = ACTIONS(1876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_SLASH] = ACTIONS(1874),
    [anon_sym_PERCENT] = ACTIONS(1874),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1876),
    [anon_sym_CARET] = ACTIONS(1874),
    [anon_sym_LT_LT] = ACTIONS(1876),
    [anon_sym_GT_GT] = ACTIONS(1876),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1876),
    [sym__eq_eq_custom] = ACTIONS(1876),
    [sym__plus_then_ws] = ACTIONS(1876),
    [sym__minus_then_ws] = ACTIONS(1876),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [693] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1668),
    [sym_boolean_literal] = STATE(1668),
    [sym__string_literal] = STATE(1668),
    [sym_line_string_literal] = STATE(1668),
    [sym_multi_line_string_literal] = STATE(1668),
    [sym_raw_string_literal] = STATE(1668),
    [sym_regex_literal] = STATE(1668),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1668),
    [sym__unary_expression] = STATE(1668),
    [sym_postfix_expression] = STATE(1668),
    [sym_constructor_expression] = STATE(1668),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1668),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1668),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1668),
    [sym_prefix_expression] = STATE(1668),
    [sym_as_expression] = STATE(1668),
    [sym_selector_expression] = STATE(1668),
    [sym__binary_expression] = STATE(1668),
    [sym_multiplicative_expression] = STATE(1668),
    [sym_additive_expression] = STATE(1668),
    [sym_range_expression] = STATE(1668),
    [sym_infix_expression] = STATE(1668),
    [sym_nil_coalescing_expression] = STATE(1668),
    [sym_check_expression] = STATE(1668),
    [sym_comparison_expression] = STATE(1668),
    [sym_equality_expression] = STATE(1668),
    [sym_conjunction_expression] = STATE(1668),
    [sym_disjunction_expression] = STATE(1668),
    [sym_bitwise_operation] = STATE(1668),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1668),
    [sym_await_expression] = STATE(1668),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1668),
    [sym_call_expression] = STATE(1668),
    [sym_macro_invocation] = STATE(1668),
    [sym__primary_expression] = STATE(1668),
    [sym_tuple_expression] = STATE(1668),
    [sym_array_literal] = STATE(1668),
    [sym_dictionary_literal] = STATE(1668),
    [sym_special_literal] = STATE(1668),
    [sym_playground_literal] = STATE(1668),
    [sym_lambda_literal] = STATE(1668),
    [sym_self_expression] = STATE(1668),
    [sym_super_expression] = STATE(1668),
    [sym_if_statement] = STATE(1668),
    [sym_switch_statement] = STATE(1668),
    [sym_key_path_expression] = STATE(1668),
    [sym_key_path_string_expression] = STATE(1668),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1668),
    [sym__equality_operator] = STATE(1668),
    [sym__comparison_operator] = STATE(1668),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1668),
    [sym__multiplicative_operator] = STATE(1668),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1668),
    [sym_value_parameter_pack] = STATE(1668),
    [sym_value_pack_expansion] = STATE(1668),
    [sym__referenceable_operator] = STATE(1668),
    [sym__equal_sign] = STATE(1668),
    [sym__eq_eq] = STATE(1668),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1668),
    [sym_diagnostic] = STATE(1668),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1700),
    [sym_real_literal] = ACTIONS(1702),
    [sym_integer_literal] = ACTIONS(1700),
    [sym_hex_literal] = ACTIONS(1700),
    [sym_oct_literal] = ACTIONS(1702),
    [sym_bin_literal] = ACTIONS(1702),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1700),
    [anon_sym_GT] = ACTIONS(1700),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1702),
    [anon_sym_DASH_EQ] = ACTIONS(1702),
    [anon_sym_STAR_EQ] = ACTIONS(1702),
    [anon_sym_SLASH_EQ] = ACTIONS(1702),
    [anon_sym_PERCENT_EQ] = ACTIONS(1702),
    [anon_sym_BANG_EQ] = ACTIONS(1700),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1702),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1702),
    [anon_sym_LT_EQ] = ACTIONS(1702),
    [anon_sym_GT_EQ] = ACTIONS(1702),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1700),
    [anon_sym_SLASH] = ACTIONS(1700),
    [anon_sym_PERCENT] = ACTIONS(1700),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1700),
    [anon_sym_LT_LT] = ACTIONS(1702),
    [anon_sym_GT_GT] = ACTIONS(1702),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1702),
    [sym__eq_eq_custom] = ACTIONS(1702),
    [sym__plus_then_ws] = ACTIONS(1702),
    [sym__minus_then_ws] = ACTIONS(1702),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [694] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(750),
    [sym_boolean_literal] = STATE(750),
    [sym__string_literal] = STATE(750),
    [sym_line_string_literal] = STATE(750),
    [sym_multi_line_string_literal] = STATE(750),
    [sym_raw_string_literal] = STATE(750),
    [sym_regex_literal] = STATE(750),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6436),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6436),
    [sym_dictionary_type] = STATE(6436),
    [sym__expression] = STATE(750),
    [sym__unary_expression] = STATE(750),
    [sym_postfix_expression] = STATE(750),
    [sym_constructor_expression] = STATE(750),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(750),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(750),
    [sym__range_operator] = STATE(694),
    [sym_open_end_range_expression] = STATE(750),
    [sym_prefix_expression] = STATE(750),
    [sym_as_expression] = STATE(750),
    [sym_selector_expression] = STATE(750),
    [sym__binary_expression] = STATE(750),
    [sym_multiplicative_expression] = STATE(750),
    [sym_additive_expression] = STATE(750),
    [sym_range_expression] = STATE(750),
    [sym_infix_expression] = STATE(750),
    [sym_nil_coalescing_expression] = STATE(750),
    [sym_check_expression] = STATE(750),
    [sym_comparison_expression] = STATE(750),
    [sym_equality_expression] = STATE(750),
    [sym_conjunction_expression] = STATE(750),
    [sym_disjunction_expression] = STATE(750),
    [sym_bitwise_operation] = STATE(750),
    [sym_custom_operator] = STATE(741),
    [sym_try_expression] = STATE(750),
    [sym_await_expression] = STATE(750),
    [sym__await_operator] = STATE(681),
    [sym_ternary_expression] = STATE(750),
    [sym_call_expression] = STATE(750),
    [sym_macro_invocation] = STATE(750),
    [sym__primary_expression] = STATE(750),
    [sym_tuple_expression] = STATE(750),
    [sym_array_literal] = STATE(750),
    [sym_dictionary_literal] = STATE(750),
    [sym_special_literal] = STATE(750),
    [sym_playground_literal] = STATE(750),
    [sym_lambda_literal] = STATE(750),
    [sym_self_expression] = STATE(750),
    [sym_super_expression] = STATE(750),
    [sym_if_statement] = STATE(750),
    [sym_switch_statement] = STATE(750),
    [sym_key_path_expression] = STATE(750),
    [sym_key_path_string_expression] = STATE(750),
    [sym_try_operator] = STATE(678),
    [sym__assignment_and_operator] = STATE(750),
    [sym__equality_operator] = STATE(750),
    [sym__comparison_operator] = STATE(750),
    [sym__three_dot_operator] = STATE(742),
    [sym__open_ended_range_operator] = STATE(694),
    [sym__additive_operator] = STATE(750),
    [sym__multiplicative_operator] = STATE(750),
    [sym__prefix_unary_operator] = STATE(622),
    [sym_directly_assignable_expression] = STATE(6420),
    [sym_assignment] = STATE(750),
    [sym_value_parameter_pack] = STATE(750),
    [sym_value_pack_expansion] = STATE(750),
    [sym__referenceable_operator] = STATE(750),
    [sym__equal_sign] = STATE(750),
    [sym__eq_eq] = STATE(750),
    [sym__dot] = STATE(622),
    [sym__hash_symbol] = STATE(4852),
    [sym_bang] = STATE(741),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(750),
    [sym_diagnostic] = STATE(750),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(605),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(607),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(609),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2498),
    [sym_real_literal] = ACTIONS(2500),
    [sym_integer_literal] = ACTIONS(2498),
    [sym_hex_literal] = ACTIONS(2498),
    [sym_oct_literal] = ACTIONS(2500),
    [sym_bin_literal] = ACTIONS(2500),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(615),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(625),
    [anon_sym_TILDE] = ACTIONS(625),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(627),
    [aux_sym_custom_operator_token1] = ACTIONS(629),
    [anon_sym_LT] = ACTIONS(2498),
    [anon_sym_GT] = ACTIONS(2498),
    [anon_sym_await] = ACTIONS(631),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2500),
    [anon_sym_DASH_EQ] = ACTIONS(2500),
    [anon_sym_STAR_EQ] = ACTIONS(2500),
    [anon_sym_SLASH_EQ] = ACTIONS(2500),
    [anon_sym_PERCENT_EQ] = ACTIONS(2500),
    [anon_sym_BANG_EQ] = ACTIONS(2498),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2500),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2500),
    [anon_sym_LT_EQ] = ACTIONS(2500),
    [anon_sym_GT_EQ] = ACTIONS(2500),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(635),
    [anon_sym_DOT_DOT_LT] = ACTIONS(637),
    [anon_sym_PLUS] = ACTIONS(639),
    [anon_sym_DASH] = ACTIONS(639),
    [anon_sym_STAR] = ACTIONS(2498),
    [anon_sym_SLASH] = ACTIONS(2498),
    [anon_sym_PERCENT] = ACTIONS(2498),
    [anon_sym_PLUS_PLUS] = ACTIONS(625),
    [anon_sym_DASH_DASH] = ACTIONS(625),
    [anon_sym_PIPE] = ACTIONS(2500),
    [anon_sym_CARET] = ACTIONS(2498),
    [anon_sym_LT_LT] = ACTIONS(2500),
    [anon_sym_GT_GT] = ACTIONS(2500),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(641),
    [sym__eq_custom] = ACTIONS(2500),
    [sym__eq_eq_custom] = ACTIONS(2500),
    [sym__plus_then_ws] = ACTIONS(2500),
    [sym__minus_then_ws] = ACTIONS(2500),
    [sym__bang_custom] = ACTIONS(643),
    [sym__custom_operator] = ACTIONS(629),
    [sym__hash_symbol_custom] = ACTIONS(645),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [695] = {
    [sym_simple_identifier] = STATE(1217),
    [sym__contextual_simple_identifier] = STATE(1147),
    [sym__basic_literal] = STATE(780),
    [sym_boolean_literal] = STATE(780),
    [sym__string_literal] = STATE(780),
    [sym_line_string_literal] = STATE(780),
    [sym_multi_line_string_literal] = STATE(780),
    [sym_raw_string_literal] = STATE(780),
    [sym_regex_literal] = STATE(780),
    [sym__extended_regex_literal] = STATE(1286),
    [sym__multiline_regex_literal] = STATE(1286),
    [sym_user_type] = STATE(6397),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6397),
    [sym_dictionary_type] = STATE(6397),
    [sym__expression] = STATE(780),
    [sym__unary_expression] = STATE(780),
    [sym_postfix_expression] = STATE(780),
    [sym_constructor_expression] = STATE(780),
    [sym__parenthesized_type] = STATE(7511),
    [sym_navigation_expression] = STATE(780),
    [sym__navigable_type_expression] = STATE(7510),
    [sym_open_start_range_expression] = STATE(780),
    [sym__range_operator] = STATE(695),
    [sym_open_end_range_expression] = STATE(780),
    [sym_prefix_expression] = STATE(780),
    [sym_as_expression] = STATE(780),
    [sym_selector_expression] = STATE(780),
    [sym__binary_expression] = STATE(780),
    [sym_multiplicative_expression] = STATE(780),
    [sym_additive_expression] = STATE(780),
    [sym_range_expression] = STATE(780),
    [sym_infix_expression] = STATE(780),
    [sym_nil_coalescing_expression] = STATE(780),
    [sym_check_expression] = STATE(780),
    [sym_comparison_expression] = STATE(780),
    [sym_equality_expression] = STATE(780),
    [sym_conjunction_expression] = STATE(780),
    [sym_disjunction_expression] = STATE(780),
    [sym_bitwise_operation] = STATE(780),
    [sym_custom_operator] = STATE(759),
    [sym_try_expression] = STATE(780),
    [sym_await_expression] = STATE(780),
    [sym__await_operator] = STATE(644),
    [sym_ternary_expression] = STATE(780),
    [sym_call_expression] = STATE(780),
    [sym_macro_invocation] = STATE(780),
    [sym__primary_expression] = STATE(780),
    [sym_tuple_expression] = STATE(780),
    [sym_array_literal] = STATE(780),
    [sym_dictionary_literal] = STATE(780),
    [sym_special_literal] = STATE(780),
    [sym_playground_literal] = STATE(780),
    [sym_lambda_literal] = STATE(780),
    [sym_self_expression] = STATE(780),
    [sym_super_expression] = STATE(780),
    [sym_if_statement] = STATE(780),
    [sym_switch_statement] = STATE(780),
    [sym_key_path_expression] = STATE(780),
    [sym_key_path_string_expression] = STATE(780),
    [sym_try_operator] = STATE(645),
    [sym__assignment_and_operator] = STATE(780),
    [sym__equality_operator] = STATE(780),
    [sym__comparison_operator] = STATE(780),
    [sym__three_dot_operator] = STATE(761),
    [sym__open_ended_range_operator] = STATE(695),
    [sym__additive_operator] = STATE(780),
    [sym__multiplicative_operator] = STATE(780),
    [sym__prefix_unary_operator] = STATE(659),
    [sym_directly_assignable_expression] = STATE(6398),
    [sym_assignment] = STATE(780),
    [sym_value_parameter_pack] = STATE(780),
    [sym_value_pack_expansion] = STATE(780),
    [sym__referenceable_operator] = STATE(780),
    [sym__equal_sign] = STATE(780),
    [sym__eq_eq] = STATE(780),
    [sym__dot] = STATE(659),
    [sym__hash_symbol] = STATE(4848),
    [sym_bang] = STATE(759),
    [sym__parameter_ownership_modifier] = STATE(1147),
    [sym_directive] = STATE(780),
    [sym_diagnostic] = STATE(780),
    [aux_sym_raw_string_literal_repeat1] = STATE(7499),
    [anon_sym_BANG] = ACTIONS(659),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(661),
    [aux_sym_simple_identifier_token2] = ACTIONS(663),
    [aux_sym_simple_identifier_token3] = ACTIONS(663),
    [aux_sym_simple_identifier_token4] = ACTIONS(663),
    [anon_sym_actor] = ACTIONS(661),
    [anon_sym_async] = ACTIONS(661),
    [anon_sym_each] = ACTIONS(665),
    [anon_sym_lazy] = ACTIONS(661),
    [anon_sym_repeat] = ACTIONS(667),
    [anon_sym_package] = ACTIONS(661),
    [anon_sym_nil] = ACTIONS(2502),
    [sym_real_literal] = ACTIONS(2504),
    [sym_integer_literal] = ACTIONS(2502),
    [sym_hex_literal] = ACTIONS(2502),
    [sym_oct_literal] = ACTIONS(2504),
    [sym_bin_literal] = ACTIONS(2504),
    [anon_sym_true] = ACTIONS(673),
    [anon_sym_false] = ACTIONS(673),
    [anon_sym_DQUOTE] = ACTIONS(675),
    [anon_sym_BSLASH] = ACTIONS(677),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(679),
    [sym__oneline_regex_literal] = ACTIONS(681),
    [anon_sym_LPAREN] = ACTIONS(683),
    [anon_sym_LBRACK] = ACTIONS(685),
    [anon_sym_AMP] = ACTIONS(687),
    [anon_sym_TILDE] = ACTIONS(687),
    [anon_sym_if] = ACTIONS(689),
    [anon_sym_switch] = ACTIONS(691),
    [aux_sym_custom_operator_token1] = ACTIONS(693),
    [anon_sym_LT] = ACTIONS(2502),
    [anon_sym_GT] = ACTIONS(2502),
    [anon_sym_await] = ACTIONS(695),
    [anon_sym_LBRACE] = ACTIONS(697),
    [anon_sym_CARET_LBRACE] = ACTIONS(697),
    [anon_sym_self] = ACTIONS(699),
    [anon_sym_super] = ACTIONS(701),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2504),
    [anon_sym_DASH_EQ] = ACTIONS(2504),
    [anon_sym_STAR_EQ] = ACTIONS(2504),
    [anon_sym_SLASH_EQ] = ACTIONS(2504),
    [anon_sym_PERCENT_EQ] = ACTIONS(2504),
    [anon_sym_BANG_EQ] = ACTIONS(2502),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2504),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2504),
    [anon_sym_LT_EQ] = ACTIONS(2504),
    [anon_sym_GT_EQ] = ACTIONS(2504),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(703),
    [anon_sym_DOT_DOT_LT] = ACTIONS(705),
    [anon_sym_PLUS] = ACTIONS(707),
    [anon_sym_DASH] = ACTIONS(707),
    [anon_sym_STAR] = ACTIONS(2502),
    [anon_sym_SLASH] = ACTIONS(2502),
    [anon_sym_PERCENT] = ACTIONS(2502),
    [anon_sym_PLUS_PLUS] = ACTIONS(687),
    [anon_sym_DASH_DASH] = ACTIONS(687),
    [anon_sym_PIPE] = ACTIONS(2504),
    [anon_sym_CARET] = ACTIONS(2502),
    [anon_sym_LT_LT] = ACTIONS(2504),
    [anon_sym_GT_GT] = ACTIONS(2504),
    [anon_sym_borrowing] = ACTIONS(661),
    [anon_sym_consuming] = ACTIONS(661),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(709),
    [sym__dot_custom] = ACTIONS(711),
    [sym__eq_custom] = ACTIONS(2504),
    [sym__eq_eq_custom] = ACTIONS(2504),
    [sym__plus_then_ws] = ACTIONS(2504),
    [sym__minus_then_ws] = ACTIONS(2504),
    [sym__bang_custom] = ACTIONS(713),
    [sym__custom_operator] = ACTIONS(693),
    [sym__hash_symbol_custom] = ACTIONS(715),
    [sym__directive_if] = ACTIONS(717),
    [sym__directive_elseif] = ACTIONS(717),
    [sym__directive_else] = ACTIONS(719),
    [sym__directive_endif] = ACTIONS(719),
  },
  [696] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1682),
    [sym_boolean_literal] = STATE(1682),
    [sym__string_literal] = STATE(1682),
    [sym_line_string_literal] = STATE(1682),
    [sym_multi_line_string_literal] = STATE(1682),
    [sym_raw_string_literal] = STATE(1682),
    [sym_regex_literal] = STATE(1682),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1682),
    [sym__unary_expression] = STATE(1682),
    [sym_postfix_expression] = STATE(1682),
    [sym_constructor_expression] = STATE(1682),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1682),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1682),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1682),
    [sym_prefix_expression] = STATE(1682),
    [sym_as_expression] = STATE(1682),
    [sym_selector_expression] = STATE(1682),
    [sym__binary_expression] = STATE(1682),
    [sym_multiplicative_expression] = STATE(1682),
    [sym_additive_expression] = STATE(1682),
    [sym_range_expression] = STATE(1682),
    [sym_infix_expression] = STATE(1682),
    [sym_nil_coalescing_expression] = STATE(1682),
    [sym_check_expression] = STATE(1682),
    [sym_comparison_expression] = STATE(1682),
    [sym_equality_expression] = STATE(1682),
    [sym_conjunction_expression] = STATE(1682),
    [sym_disjunction_expression] = STATE(1682),
    [sym_bitwise_operation] = STATE(1682),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1682),
    [sym_await_expression] = STATE(1682),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1682),
    [sym_call_expression] = STATE(1682),
    [sym_macro_invocation] = STATE(1682),
    [sym__primary_expression] = STATE(1682),
    [sym_tuple_expression] = STATE(1682),
    [sym_array_literal] = STATE(1682),
    [sym_dictionary_literal] = STATE(1682),
    [sym_special_literal] = STATE(1682),
    [sym_playground_literal] = STATE(1682),
    [sym_lambda_literal] = STATE(1682),
    [sym_self_expression] = STATE(1682),
    [sym_super_expression] = STATE(1682),
    [sym_if_statement] = STATE(1682),
    [sym_switch_statement] = STATE(1682),
    [sym_key_path_expression] = STATE(1682),
    [sym_key_path_string_expression] = STATE(1682),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1682),
    [sym__equality_operator] = STATE(1682),
    [sym__comparison_operator] = STATE(1682),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1682),
    [sym__multiplicative_operator] = STATE(1682),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1682),
    [sym_value_parameter_pack] = STATE(1682),
    [sym_value_pack_expansion] = STATE(1682),
    [sym__referenceable_operator] = STATE(1682),
    [sym__equal_sign] = STATE(1682),
    [sym__eq_eq] = STATE(1682),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1682),
    [sym_diagnostic] = STATE(1682),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1181),
    [sym_real_literal] = ACTIONS(1183),
    [sym_integer_literal] = ACTIONS(1181),
    [sym_hex_literal] = ACTIONS(1181),
    [sym_oct_literal] = ACTIONS(1183),
    [sym_bin_literal] = ACTIONS(1183),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1181),
    [anon_sym_GT] = ACTIONS(1181),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1183),
    [anon_sym_DASH_EQ] = ACTIONS(1183),
    [anon_sym_STAR_EQ] = ACTIONS(1183),
    [anon_sym_SLASH_EQ] = ACTIONS(1183),
    [anon_sym_PERCENT_EQ] = ACTIONS(1183),
    [anon_sym_BANG_EQ] = ACTIONS(1181),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1183),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1183),
    [anon_sym_LT_EQ] = ACTIONS(1183),
    [anon_sym_GT_EQ] = ACTIONS(1183),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1181),
    [anon_sym_SLASH] = ACTIONS(1181),
    [anon_sym_PERCENT] = ACTIONS(1181),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1183),
    [anon_sym_CARET] = ACTIONS(1181),
    [anon_sym_LT_LT] = ACTIONS(1183),
    [anon_sym_GT_GT] = ACTIONS(1183),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1183),
    [sym__eq_eq_custom] = ACTIONS(1183),
    [sym__plus_then_ws] = ACTIONS(1183),
    [sym__minus_then_ws] = ACTIONS(1183),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [697] = {
    [sym_simple_identifier] = STATE(3023),
    [sym__contextual_simple_identifier] = STATE(2652),
    [sym__basic_literal] = STATE(1575),
    [sym_boolean_literal] = STATE(1575),
    [sym__string_literal] = STATE(1575),
    [sym_line_string_literal] = STATE(1575),
    [sym_multi_line_string_literal] = STATE(1575),
    [sym_raw_string_literal] = STATE(1575),
    [sym_regex_literal] = STATE(1575),
    [sym__extended_regex_literal] = STATE(3428),
    [sym__multiline_regex_literal] = STATE(3428),
    [sym_user_type] = STATE(6368),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6368),
    [sym_dictionary_type] = STATE(6368),
    [sym__expression] = STATE(1575),
    [sym__unary_expression] = STATE(1575),
    [sym_postfix_expression] = STATE(1575),
    [sym_constructor_expression] = STATE(1575),
    [sym__parenthesized_type] = STATE(8119),
    [sym_navigation_expression] = STATE(1575),
    [sym__navigable_type_expression] = STATE(8122),
    [sym_open_start_range_expression] = STATE(1575),
    [sym__range_operator] = STATE(604),
    [sym_open_end_range_expression] = STATE(1575),
    [sym_prefix_expression] = STATE(1575),
    [sym_as_expression] = STATE(1575),
    [sym_selector_expression] = STATE(1575),
    [sym__binary_expression] = STATE(1575),
    [sym_multiplicative_expression] = STATE(1575),
    [sym_additive_expression] = STATE(1575),
    [sym_range_expression] = STATE(1575),
    [sym_infix_expression] = STATE(1575),
    [sym_nil_coalescing_expression] = STATE(1575),
    [sym_check_expression] = STATE(1575),
    [sym_comparison_expression] = STATE(1575),
    [sym_equality_expression] = STATE(1575),
    [sym_conjunction_expression] = STATE(1575),
    [sym_disjunction_expression] = STATE(1575),
    [sym_bitwise_operation] = STATE(1575),
    [sym_custom_operator] = STATE(1207),
    [sym_try_expression] = STATE(1575),
    [sym_await_expression] = STATE(1575),
    [sym__await_operator] = STATE(605),
    [sym_ternary_expression] = STATE(1575),
    [sym_call_expression] = STATE(1575),
    [sym_macro_invocation] = STATE(1575),
    [sym__primary_expression] = STATE(1575),
    [sym_tuple_expression] = STATE(1575),
    [sym_array_literal] = STATE(1575),
    [sym_dictionary_literal] = STATE(1575),
    [sym_special_literal] = STATE(1575),
    [sym_playground_literal] = STATE(1575),
    [sym_lambda_literal] = STATE(1575),
    [sym_self_expression] = STATE(1575),
    [sym_super_expression] = STATE(1575),
    [sym_if_statement] = STATE(1575),
    [sym_switch_statement] = STATE(1575),
    [sym_key_path_expression] = STATE(1575),
    [sym_key_path_string_expression] = STATE(1575),
    [sym_try_operator] = STATE(606),
    [sym__assignment_and_operator] = STATE(1575),
    [sym__equality_operator] = STATE(1575),
    [sym__comparison_operator] = STATE(1575),
    [sym__three_dot_operator] = STATE(1208),
    [sym__open_ended_range_operator] = STATE(604),
    [sym__additive_operator] = STATE(1575),
    [sym__multiplicative_operator] = STATE(1575),
    [sym__prefix_unary_operator] = STATE(616),
    [sym_directly_assignable_expression] = STATE(6371),
    [sym_assignment] = STATE(1575),
    [sym_value_parameter_pack] = STATE(1575),
    [sym_value_pack_expansion] = STATE(1575),
    [sym__referenceable_operator] = STATE(1575),
    [sym__equal_sign] = STATE(1575),
    [sym__eq_eq] = STATE(1575),
    [sym__dot] = STATE(616),
    [sym__hash_symbol] = STATE(4844),
    [sym_bang] = STATE(1207),
    [sym__parameter_ownership_modifier] = STATE(2652),
    [sym_directive] = STATE(1575),
    [sym_diagnostic] = STATE(1575),
    [aux_sym_raw_string_literal_repeat1] = STATE(8127),
    [anon_sym_BANG] = ACTIONS(1195),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1197),
    [aux_sym_simple_identifier_token2] = ACTIONS(1199),
    [aux_sym_simple_identifier_token3] = ACTIONS(1199),
    [aux_sym_simple_identifier_token4] = ACTIONS(1199),
    [anon_sym_actor] = ACTIONS(1197),
    [anon_sym_async] = ACTIONS(1197),
    [anon_sym_each] = ACTIONS(1201),
    [anon_sym_lazy] = ACTIONS(1197),
    [anon_sym_repeat] = ACTIONS(1203),
    [anon_sym_package] = ACTIONS(1197),
    [anon_sym_nil] = ACTIONS(2506),
    [sym_real_literal] = ACTIONS(2508),
    [sym_integer_literal] = ACTIONS(2506),
    [sym_hex_literal] = ACTIONS(2506),
    [sym_oct_literal] = ACTIONS(2508),
    [sym_bin_literal] = ACTIONS(2508),
    [anon_sym_true] = ACTIONS(1209),
    [anon_sym_false] = ACTIONS(1209),
    [anon_sym_DQUOTE] = ACTIONS(1211),
    [anon_sym_BSLASH] = ACTIONS(1213),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1215),
    [sym__oneline_regex_literal] = ACTIONS(1217),
    [anon_sym_LPAREN] = ACTIONS(1219),
    [anon_sym_LBRACK] = ACTIONS(1221),
    [anon_sym_AMP] = ACTIONS(1223),
    [anon_sym_TILDE] = ACTIONS(1223),
    [anon_sym_if] = ACTIONS(1225),
    [anon_sym_switch] = ACTIONS(1227),
    [aux_sym_custom_operator_token1] = ACTIONS(1229),
    [anon_sym_LT] = ACTIONS(2506),
    [anon_sym_GT] = ACTIONS(2506),
    [anon_sym_await] = ACTIONS(1231),
    [anon_sym_LBRACE] = ACTIONS(1233),
    [anon_sym_CARET_LBRACE] = ACTIONS(1233),
    [anon_sym_self] = ACTIONS(1235),
    [anon_sym_super] = ACTIONS(1237),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2508),
    [anon_sym_DASH_EQ] = ACTIONS(2508),
    [anon_sym_STAR_EQ] = ACTIONS(2508),
    [anon_sym_SLASH_EQ] = ACTIONS(2508),
    [anon_sym_PERCENT_EQ] = ACTIONS(2508),
    [anon_sym_BANG_EQ] = ACTIONS(2506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2508),
    [anon_sym_LT_EQ] = ACTIONS(2508),
    [anon_sym_GT_EQ] = ACTIONS(2508),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1241),
    [anon_sym_PLUS] = ACTIONS(1243),
    [anon_sym_DASH] = ACTIONS(1243),
    [anon_sym_STAR] = ACTIONS(2506),
    [anon_sym_SLASH] = ACTIONS(2506),
    [anon_sym_PERCENT] = ACTIONS(2506),
    [anon_sym_PLUS_PLUS] = ACTIONS(1223),
    [anon_sym_DASH_DASH] = ACTIONS(1223),
    [anon_sym_PIPE] = ACTIONS(2508),
    [anon_sym_CARET] = ACTIONS(2506),
    [anon_sym_LT_LT] = ACTIONS(2508),
    [anon_sym_GT_GT] = ACTIONS(2508),
    [anon_sym_borrowing] = ACTIONS(1197),
    [anon_sym_consuming] = ACTIONS(1197),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1245),
    [sym__dot_custom] = ACTIONS(1247),
    [sym__eq_custom] = ACTIONS(2508),
    [sym__eq_eq_custom] = ACTIONS(2508),
    [sym__plus_then_ws] = ACTIONS(2508),
    [sym__minus_then_ws] = ACTIONS(2508),
    [sym__bang_custom] = ACTIONS(1249),
    [sym__custom_operator] = ACTIONS(1229),
    [sym__hash_symbol_custom] = ACTIONS(1251),
    [sym__directive_if] = ACTIONS(1253),
    [sym__directive_elseif] = ACTIONS(1253),
    [sym__directive_else] = ACTIONS(1255),
    [sym__directive_endif] = ACTIONS(1255),
  },
  [698] = {
    [sym_simple_identifier] = STATE(3023),
    [sym__contextual_simple_identifier] = STATE(2652),
    [sym__basic_literal] = STATE(1578),
    [sym_boolean_literal] = STATE(1578),
    [sym__string_literal] = STATE(1578),
    [sym_line_string_literal] = STATE(1578),
    [sym_multi_line_string_literal] = STATE(1578),
    [sym_raw_string_literal] = STATE(1578),
    [sym_regex_literal] = STATE(1578),
    [sym__extended_regex_literal] = STATE(3428),
    [sym__multiline_regex_literal] = STATE(3428),
    [sym_user_type] = STATE(6368),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6368),
    [sym_dictionary_type] = STATE(6368),
    [sym__expression] = STATE(1578),
    [sym__unary_expression] = STATE(1578),
    [sym_postfix_expression] = STATE(1578),
    [sym_constructor_expression] = STATE(1578),
    [sym__parenthesized_type] = STATE(8119),
    [sym_navigation_expression] = STATE(1578),
    [sym__navigable_type_expression] = STATE(8122),
    [sym_open_start_range_expression] = STATE(1578),
    [sym__range_operator] = STATE(604),
    [sym_open_end_range_expression] = STATE(1578),
    [sym_prefix_expression] = STATE(1578),
    [sym_as_expression] = STATE(1578),
    [sym_selector_expression] = STATE(1578),
    [sym__binary_expression] = STATE(1578),
    [sym_multiplicative_expression] = STATE(1578),
    [sym_additive_expression] = STATE(1578),
    [sym_range_expression] = STATE(1578),
    [sym_infix_expression] = STATE(1578),
    [sym_nil_coalescing_expression] = STATE(1578),
    [sym_check_expression] = STATE(1578),
    [sym_comparison_expression] = STATE(1578),
    [sym_equality_expression] = STATE(1578),
    [sym_conjunction_expression] = STATE(1578),
    [sym_disjunction_expression] = STATE(1578),
    [sym_bitwise_operation] = STATE(1578),
    [sym_custom_operator] = STATE(1207),
    [sym_try_expression] = STATE(1578),
    [sym_await_expression] = STATE(1578),
    [sym__await_operator] = STATE(605),
    [sym_ternary_expression] = STATE(1578),
    [sym_call_expression] = STATE(1578),
    [sym_macro_invocation] = STATE(1578),
    [sym__primary_expression] = STATE(1578),
    [sym_tuple_expression] = STATE(1578),
    [sym_array_literal] = STATE(1578),
    [sym_dictionary_literal] = STATE(1578),
    [sym_special_literal] = STATE(1578),
    [sym_playground_literal] = STATE(1578),
    [sym_lambda_literal] = STATE(1578),
    [sym_self_expression] = STATE(1578),
    [sym_super_expression] = STATE(1578),
    [sym_if_statement] = STATE(1578),
    [sym_switch_statement] = STATE(1578),
    [sym_key_path_expression] = STATE(1578),
    [sym_key_path_string_expression] = STATE(1578),
    [sym_try_operator] = STATE(606),
    [sym__assignment_and_operator] = STATE(1578),
    [sym__equality_operator] = STATE(1578),
    [sym__comparison_operator] = STATE(1578),
    [sym__three_dot_operator] = STATE(1208),
    [sym__open_ended_range_operator] = STATE(604),
    [sym__additive_operator] = STATE(1578),
    [sym__multiplicative_operator] = STATE(1578),
    [sym__prefix_unary_operator] = STATE(616),
    [sym_directly_assignable_expression] = STATE(6371),
    [sym_assignment] = STATE(1578),
    [sym_value_parameter_pack] = STATE(1578),
    [sym_value_pack_expansion] = STATE(1578),
    [sym__referenceable_operator] = STATE(1578),
    [sym__equal_sign] = STATE(1578),
    [sym__eq_eq] = STATE(1578),
    [sym__dot] = STATE(616),
    [sym__hash_symbol] = STATE(4844),
    [sym_bang] = STATE(1207),
    [sym__parameter_ownership_modifier] = STATE(2652),
    [sym_directive] = STATE(1578),
    [sym_diagnostic] = STATE(1578),
    [aux_sym_raw_string_literal_repeat1] = STATE(8127),
    [anon_sym_BANG] = ACTIONS(1195),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1197),
    [aux_sym_simple_identifier_token2] = ACTIONS(1199),
    [aux_sym_simple_identifier_token3] = ACTIONS(1199),
    [aux_sym_simple_identifier_token4] = ACTIONS(1199),
    [anon_sym_actor] = ACTIONS(1197),
    [anon_sym_async] = ACTIONS(1197),
    [anon_sym_each] = ACTIONS(1201),
    [anon_sym_lazy] = ACTIONS(1197),
    [anon_sym_repeat] = ACTIONS(1203),
    [anon_sym_package] = ACTIONS(1197),
    [anon_sym_nil] = ACTIONS(2510),
    [sym_real_literal] = ACTIONS(2512),
    [sym_integer_literal] = ACTIONS(2510),
    [sym_hex_literal] = ACTIONS(2510),
    [sym_oct_literal] = ACTIONS(2512),
    [sym_bin_literal] = ACTIONS(2512),
    [anon_sym_true] = ACTIONS(1209),
    [anon_sym_false] = ACTIONS(1209),
    [anon_sym_DQUOTE] = ACTIONS(1211),
    [anon_sym_BSLASH] = ACTIONS(1213),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1215),
    [sym__oneline_regex_literal] = ACTIONS(1217),
    [anon_sym_LPAREN] = ACTIONS(1219),
    [anon_sym_LBRACK] = ACTIONS(1221),
    [anon_sym_AMP] = ACTIONS(1223),
    [anon_sym_TILDE] = ACTIONS(1223),
    [anon_sym_if] = ACTIONS(1225),
    [anon_sym_switch] = ACTIONS(1227),
    [aux_sym_custom_operator_token1] = ACTIONS(1229),
    [anon_sym_LT] = ACTIONS(2510),
    [anon_sym_GT] = ACTIONS(2510),
    [anon_sym_await] = ACTIONS(1231),
    [anon_sym_LBRACE] = ACTIONS(1233),
    [anon_sym_CARET_LBRACE] = ACTIONS(1233),
    [anon_sym_self] = ACTIONS(1235),
    [anon_sym_super] = ACTIONS(1237),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2512),
    [anon_sym_DASH_EQ] = ACTIONS(2512),
    [anon_sym_STAR_EQ] = ACTIONS(2512),
    [anon_sym_SLASH_EQ] = ACTIONS(2512),
    [anon_sym_PERCENT_EQ] = ACTIONS(2512),
    [anon_sym_BANG_EQ] = ACTIONS(2510),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2512),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2512),
    [anon_sym_LT_EQ] = ACTIONS(2512),
    [anon_sym_GT_EQ] = ACTIONS(2512),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1241),
    [anon_sym_PLUS] = ACTIONS(1243),
    [anon_sym_DASH] = ACTIONS(1243),
    [anon_sym_STAR] = ACTIONS(2510),
    [anon_sym_SLASH] = ACTIONS(2510),
    [anon_sym_PERCENT] = ACTIONS(2510),
    [anon_sym_PLUS_PLUS] = ACTIONS(1223),
    [anon_sym_DASH_DASH] = ACTIONS(1223),
    [anon_sym_PIPE] = ACTIONS(2512),
    [anon_sym_CARET] = ACTIONS(2510),
    [anon_sym_LT_LT] = ACTIONS(2512),
    [anon_sym_GT_GT] = ACTIONS(2512),
    [anon_sym_borrowing] = ACTIONS(1197),
    [anon_sym_consuming] = ACTIONS(1197),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1245),
    [sym__dot_custom] = ACTIONS(1247),
    [sym__eq_custom] = ACTIONS(2512),
    [sym__eq_eq_custom] = ACTIONS(2512),
    [sym__plus_then_ws] = ACTIONS(2512),
    [sym__minus_then_ws] = ACTIONS(2512),
    [sym__bang_custom] = ACTIONS(1249),
    [sym__custom_operator] = ACTIONS(1229),
    [sym__hash_symbol_custom] = ACTIONS(1251),
    [sym__directive_if] = ACTIONS(1253),
    [sym__directive_elseif] = ACTIONS(1253),
    [sym__directive_else] = ACTIONS(1255),
    [sym__directive_endif] = ACTIONS(1255),
  },
  [699] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1556),
    [sym_boolean_literal] = STATE(1556),
    [sym__string_literal] = STATE(1556),
    [sym_line_string_literal] = STATE(1556),
    [sym_multi_line_string_literal] = STATE(1556),
    [sym_raw_string_literal] = STATE(1556),
    [sym_regex_literal] = STATE(1556),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1556),
    [sym__unary_expression] = STATE(1556),
    [sym_postfix_expression] = STATE(1556),
    [sym_constructor_expression] = STATE(1556),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1556),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1556),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1556),
    [sym_prefix_expression] = STATE(1556),
    [sym_as_expression] = STATE(1556),
    [sym_selector_expression] = STATE(1556),
    [sym__binary_expression] = STATE(1556),
    [sym_multiplicative_expression] = STATE(1556),
    [sym_additive_expression] = STATE(1556),
    [sym_range_expression] = STATE(1556),
    [sym_infix_expression] = STATE(1556),
    [sym_nil_coalescing_expression] = STATE(1556),
    [sym_check_expression] = STATE(1556),
    [sym_comparison_expression] = STATE(1556),
    [sym_equality_expression] = STATE(1556),
    [sym_conjunction_expression] = STATE(1556),
    [sym_disjunction_expression] = STATE(1556),
    [sym_bitwise_operation] = STATE(1556),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1556),
    [sym_await_expression] = STATE(1556),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1556),
    [sym_call_expression] = STATE(1556),
    [sym_macro_invocation] = STATE(1556),
    [sym__primary_expression] = STATE(1556),
    [sym_tuple_expression] = STATE(1556),
    [sym_array_literal] = STATE(1556),
    [sym_dictionary_literal] = STATE(1556),
    [sym_special_literal] = STATE(1556),
    [sym_playground_literal] = STATE(1556),
    [sym_lambda_literal] = STATE(1556),
    [sym_self_expression] = STATE(1556),
    [sym_super_expression] = STATE(1556),
    [sym_if_statement] = STATE(1556),
    [sym_switch_statement] = STATE(1556),
    [sym_key_path_expression] = STATE(1556),
    [sym_key_path_string_expression] = STATE(1556),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1556),
    [sym__equality_operator] = STATE(1556),
    [sym__comparison_operator] = STATE(1556),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1556),
    [sym__multiplicative_operator] = STATE(1556),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1556),
    [sym_value_parameter_pack] = STATE(1556),
    [sym_value_pack_expansion] = STATE(1556),
    [sym__referenceable_operator] = STATE(1556),
    [sym__equal_sign] = STATE(1556),
    [sym__eq_eq] = STATE(1556),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1556),
    [sym_diagnostic] = STATE(1556),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2514),
    [sym_real_literal] = ACTIONS(2516),
    [sym_integer_literal] = ACTIONS(2514),
    [sym_hex_literal] = ACTIONS(2514),
    [sym_oct_literal] = ACTIONS(2516),
    [sym_bin_literal] = ACTIONS(2516),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2514),
    [anon_sym_GT] = ACTIONS(2514),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2516),
    [anon_sym_DASH_EQ] = ACTIONS(2516),
    [anon_sym_STAR_EQ] = ACTIONS(2516),
    [anon_sym_SLASH_EQ] = ACTIONS(2516),
    [anon_sym_PERCENT_EQ] = ACTIONS(2516),
    [anon_sym_BANG_EQ] = ACTIONS(2514),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2516),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2516),
    [anon_sym_LT_EQ] = ACTIONS(2516),
    [anon_sym_GT_EQ] = ACTIONS(2516),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2514),
    [anon_sym_SLASH] = ACTIONS(2514),
    [anon_sym_PERCENT] = ACTIONS(2514),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2516),
    [anon_sym_CARET] = ACTIONS(2514),
    [anon_sym_LT_LT] = ACTIONS(2516),
    [anon_sym_GT_GT] = ACTIONS(2516),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2516),
    [sym__eq_eq_custom] = ACTIONS(2516),
    [sym__plus_then_ws] = ACTIONS(2516),
    [sym__minus_then_ws] = ACTIONS(2516),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [700] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1539),
    [sym_boolean_literal] = STATE(1539),
    [sym__string_literal] = STATE(1539),
    [sym_line_string_literal] = STATE(1539),
    [sym_multi_line_string_literal] = STATE(1539),
    [sym_raw_string_literal] = STATE(1539),
    [sym_regex_literal] = STATE(1539),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1539),
    [sym__unary_expression] = STATE(1539),
    [sym_postfix_expression] = STATE(1539),
    [sym_constructor_expression] = STATE(1539),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1539),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1539),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1539),
    [sym_prefix_expression] = STATE(1539),
    [sym_as_expression] = STATE(1539),
    [sym_selector_expression] = STATE(1539),
    [sym__binary_expression] = STATE(1539),
    [sym_multiplicative_expression] = STATE(1539),
    [sym_additive_expression] = STATE(1539),
    [sym_range_expression] = STATE(1539),
    [sym_infix_expression] = STATE(1539),
    [sym_nil_coalescing_expression] = STATE(1539),
    [sym_check_expression] = STATE(1539),
    [sym_comparison_expression] = STATE(1539),
    [sym_equality_expression] = STATE(1539),
    [sym_conjunction_expression] = STATE(1539),
    [sym_disjunction_expression] = STATE(1539),
    [sym_bitwise_operation] = STATE(1539),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1539),
    [sym_await_expression] = STATE(1539),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1539),
    [sym_call_expression] = STATE(1539),
    [sym_macro_invocation] = STATE(1539),
    [sym__primary_expression] = STATE(1539),
    [sym_tuple_expression] = STATE(1539),
    [sym_array_literal] = STATE(1539),
    [sym_dictionary_literal] = STATE(1539),
    [sym_special_literal] = STATE(1539),
    [sym_playground_literal] = STATE(1539),
    [sym_lambda_literal] = STATE(1539),
    [sym_self_expression] = STATE(1539),
    [sym_super_expression] = STATE(1539),
    [sym_if_statement] = STATE(1539),
    [sym_switch_statement] = STATE(1539),
    [sym_key_path_expression] = STATE(1539),
    [sym_key_path_string_expression] = STATE(1539),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1539),
    [sym__equality_operator] = STATE(1539),
    [sym__comparison_operator] = STATE(1539),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1539),
    [sym__multiplicative_operator] = STATE(1539),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1539),
    [sym_value_parameter_pack] = STATE(1539),
    [sym_value_pack_expansion] = STATE(1539),
    [sym__referenceable_operator] = STATE(1539),
    [sym__equal_sign] = STATE(1539),
    [sym__eq_eq] = STATE(1539),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1539),
    [sym_diagnostic] = STATE(1539),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2518),
    [sym_real_literal] = ACTIONS(2520),
    [sym_integer_literal] = ACTIONS(2518),
    [sym_hex_literal] = ACTIONS(2518),
    [sym_oct_literal] = ACTIONS(2520),
    [sym_bin_literal] = ACTIONS(2520),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2518),
    [anon_sym_GT] = ACTIONS(2518),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2520),
    [anon_sym_DASH_EQ] = ACTIONS(2520),
    [anon_sym_STAR_EQ] = ACTIONS(2520),
    [anon_sym_SLASH_EQ] = ACTIONS(2520),
    [anon_sym_PERCENT_EQ] = ACTIONS(2520),
    [anon_sym_BANG_EQ] = ACTIONS(2518),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2520),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2520),
    [anon_sym_LT_EQ] = ACTIONS(2520),
    [anon_sym_GT_EQ] = ACTIONS(2520),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2518),
    [anon_sym_SLASH] = ACTIONS(2518),
    [anon_sym_PERCENT] = ACTIONS(2518),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2520),
    [anon_sym_CARET] = ACTIONS(2518),
    [anon_sym_LT_LT] = ACTIONS(2520),
    [anon_sym_GT_GT] = ACTIONS(2520),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2520),
    [sym__eq_eq_custom] = ACTIONS(2520),
    [sym__plus_then_ws] = ACTIONS(2520),
    [sym__minus_then_ws] = ACTIONS(2520),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [701] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1593),
    [sym_boolean_literal] = STATE(1593),
    [sym__string_literal] = STATE(1593),
    [sym_line_string_literal] = STATE(1593),
    [sym_multi_line_string_literal] = STATE(1593),
    [sym_raw_string_literal] = STATE(1593),
    [sym_regex_literal] = STATE(1593),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1593),
    [sym__unary_expression] = STATE(1593),
    [sym_postfix_expression] = STATE(1593),
    [sym_constructor_expression] = STATE(1593),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1593),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1593),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1593),
    [sym_prefix_expression] = STATE(1593),
    [sym_as_expression] = STATE(1593),
    [sym_selector_expression] = STATE(1593),
    [sym__binary_expression] = STATE(1593),
    [sym_multiplicative_expression] = STATE(1593),
    [sym_additive_expression] = STATE(1593),
    [sym_range_expression] = STATE(1593),
    [sym_infix_expression] = STATE(1593),
    [sym_nil_coalescing_expression] = STATE(1593),
    [sym_check_expression] = STATE(1593),
    [sym_comparison_expression] = STATE(1593),
    [sym_equality_expression] = STATE(1593),
    [sym_conjunction_expression] = STATE(1593),
    [sym_disjunction_expression] = STATE(1593),
    [sym_bitwise_operation] = STATE(1593),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1593),
    [sym_await_expression] = STATE(1593),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1593),
    [sym_call_expression] = STATE(1593),
    [sym_macro_invocation] = STATE(1593),
    [sym__primary_expression] = STATE(1593),
    [sym_tuple_expression] = STATE(1593),
    [sym_array_literal] = STATE(1593),
    [sym_dictionary_literal] = STATE(1593),
    [sym_special_literal] = STATE(1593),
    [sym_playground_literal] = STATE(1593),
    [sym_lambda_literal] = STATE(1593),
    [sym_self_expression] = STATE(1593),
    [sym_super_expression] = STATE(1593),
    [sym_if_statement] = STATE(1593),
    [sym_switch_statement] = STATE(1593),
    [sym_key_path_expression] = STATE(1593),
    [sym_key_path_string_expression] = STATE(1593),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1593),
    [sym__equality_operator] = STATE(1593),
    [sym__comparison_operator] = STATE(1593),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1593),
    [sym__multiplicative_operator] = STATE(1593),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1593),
    [sym_value_parameter_pack] = STATE(1593),
    [sym_value_pack_expansion] = STATE(1593),
    [sym__referenceable_operator] = STATE(1593),
    [sym__equal_sign] = STATE(1593),
    [sym__eq_eq] = STATE(1593),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1593),
    [sym_diagnostic] = STATE(1593),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1886),
    [sym_real_literal] = ACTIONS(1888),
    [sym_integer_literal] = ACTIONS(1886),
    [sym_hex_literal] = ACTIONS(1886),
    [sym_oct_literal] = ACTIONS(1888),
    [sym_bin_literal] = ACTIONS(1888),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1886),
    [anon_sym_GT] = ACTIONS(1886),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1888),
    [anon_sym_DASH_EQ] = ACTIONS(1888),
    [anon_sym_STAR_EQ] = ACTIONS(1888),
    [anon_sym_SLASH_EQ] = ACTIONS(1888),
    [anon_sym_PERCENT_EQ] = ACTIONS(1888),
    [anon_sym_BANG_EQ] = ACTIONS(1886),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1888),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1888),
    [anon_sym_LT_EQ] = ACTIONS(1888),
    [anon_sym_GT_EQ] = ACTIONS(1888),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1886),
    [anon_sym_SLASH] = ACTIONS(1886),
    [anon_sym_PERCENT] = ACTIONS(1886),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1888),
    [anon_sym_CARET] = ACTIONS(1886),
    [anon_sym_LT_LT] = ACTIONS(1888),
    [anon_sym_GT_GT] = ACTIONS(1888),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1888),
    [sym__eq_eq_custom] = ACTIONS(1888),
    [sym__plus_then_ws] = ACTIONS(1888),
    [sym__minus_then_ws] = ACTIONS(1888),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [702] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1674),
    [sym_boolean_literal] = STATE(1674),
    [sym__string_literal] = STATE(1674),
    [sym_line_string_literal] = STATE(1674),
    [sym_multi_line_string_literal] = STATE(1674),
    [sym_raw_string_literal] = STATE(1674),
    [sym_regex_literal] = STATE(1674),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1674),
    [sym__unary_expression] = STATE(1674),
    [sym_postfix_expression] = STATE(1674),
    [sym_constructor_expression] = STATE(1674),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1674),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1674),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1674),
    [sym_prefix_expression] = STATE(1674),
    [sym_as_expression] = STATE(1674),
    [sym_selector_expression] = STATE(1674),
    [sym__binary_expression] = STATE(1674),
    [sym_multiplicative_expression] = STATE(1674),
    [sym_additive_expression] = STATE(1674),
    [sym_range_expression] = STATE(1674),
    [sym_infix_expression] = STATE(1674),
    [sym_nil_coalescing_expression] = STATE(1674),
    [sym_check_expression] = STATE(1674),
    [sym_comparison_expression] = STATE(1674),
    [sym_equality_expression] = STATE(1674),
    [sym_conjunction_expression] = STATE(1674),
    [sym_disjunction_expression] = STATE(1674),
    [sym_bitwise_operation] = STATE(1674),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1674),
    [sym_await_expression] = STATE(1674),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1674),
    [sym_call_expression] = STATE(1674),
    [sym_macro_invocation] = STATE(1674),
    [sym__primary_expression] = STATE(1674),
    [sym_tuple_expression] = STATE(1674),
    [sym_array_literal] = STATE(1674),
    [sym_dictionary_literal] = STATE(1674),
    [sym_special_literal] = STATE(1674),
    [sym_playground_literal] = STATE(1674),
    [sym_lambda_literal] = STATE(1674),
    [sym_self_expression] = STATE(1674),
    [sym_super_expression] = STATE(1674),
    [sym_if_statement] = STATE(1674),
    [sym_switch_statement] = STATE(1674),
    [sym_key_path_expression] = STATE(1674),
    [sym_key_path_string_expression] = STATE(1674),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1674),
    [sym__equality_operator] = STATE(1674),
    [sym__comparison_operator] = STATE(1674),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1674),
    [sym__multiplicative_operator] = STATE(1674),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1674),
    [sym_value_parameter_pack] = STATE(1674),
    [sym_value_pack_expansion] = STATE(1674),
    [sym__referenceable_operator] = STATE(1674),
    [sym__equal_sign] = STATE(1674),
    [sym__eq_eq] = STATE(1674),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1674),
    [sym_diagnostic] = STATE(1674),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1281),
    [sym_real_literal] = ACTIONS(1283),
    [sym_integer_literal] = ACTIONS(1281),
    [sym_hex_literal] = ACTIONS(1281),
    [sym_oct_literal] = ACTIONS(1283),
    [sym_bin_literal] = ACTIONS(1283),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1281),
    [anon_sym_GT] = ACTIONS(1281),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1283),
    [anon_sym_DASH_EQ] = ACTIONS(1283),
    [anon_sym_STAR_EQ] = ACTIONS(1283),
    [anon_sym_SLASH_EQ] = ACTIONS(1283),
    [anon_sym_PERCENT_EQ] = ACTIONS(1283),
    [anon_sym_BANG_EQ] = ACTIONS(1281),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1283),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1283),
    [anon_sym_LT_EQ] = ACTIONS(1283),
    [anon_sym_GT_EQ] = ACTIONS(1283),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1281),
    [anon_sym_SLASH] = ACTIONS(1281),
    [anon_sym_PERCENT] = ACTIONS(1281),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1283),
    [anon_sym_CARET] = ACTIONS(1281),
    [anon_sym_LT_LT] = ACTIONS(1283),
    [anon_sym_GT_GT] = ACTIONS(1283),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1283),
    [sym__eq_eq_custom] = ACTIONS(1283),
    [sym__plus_then_ws] = ACTIONS(1283),
    [sym__minus_then_ws] = ACTIONS(1283),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [703] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1611),
    [sym_boolean_literal] = STATE(1611),
    [sym__string_literal] = STATE(1611),
    [sym_line_string_literal] = STATE(1611),
    [sym_multi_line_string_literal] = STATE(1611),
    [sym_raw_string_literal] = STATE(1611),
    [sym_regex_literal] = STATE(1611),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1611),
    [sym__unary_expression] = STATE(1611),
    [sym_postfix_expression] = STATE(1611),
    [sym_constructor_expression] = STATE(1611),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1611),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1611),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1611),
    [sym_prefix_expression] = STATE(1611),
    [sym_as_expression] = STATE(1611),
    [sym_selector_expression] = STATE(1611),
    [sym__binary_expression] = STATE(1611),
    [sym_multiplicative_expression] = STATE(1611),
    [sym_additive_expression] = STATE(1611),
    [sym_range_expression] = STATE(1611),
    [sym_infix_expression] = STATE(1611),
    [sym_nil_coalescing_expression] = STATE(1611),
    [sym_check_expression] = STATE(1611),
    [sym_comparison_expression] = STATE(1611),
    [sym_equality_expression] = STATE(1611),
    [sym_conjunction_expression] = STATE(1611),
    [sym_disjunction_expression] = STATE(1611),
    [sym_bitwise_operation] = STATE(1611),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1611),
    [sym_await_expression] = STATE(1611),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1611),
    [sym_call_expression] = STATE(1611),
    [sym_macro_invocation] = STATE(1611),
    [sym__primary_expression] = STATE(1611),
    [sym_tuple_expression] = STATE(1611),
    [sym_array_literal] = STATE(1611),
    [sym_dictionary_literal] = STATE(1611),
    [sym_special_literal] = STATE(1611),
    [sym_playground_literal] = STATE(1611),
    [sym_lambda_literal] = STATE(1611),
    [sym_self_expression] = STATE(1611),
    [sym_super_expression] = STATE(1611),
    [sym_if_statement] = STATE(1611),
    [sym_switch_statement] = STATE(1611),
    [sym_key_path_expression] = STATE(1611),
    [sym_key_path_string_expression] = STATE(1611),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1611),
    [sym__equality_operator] = STATE(1611),
    [sym__comparison_operator] = STATE(1611),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1611),
    [sym__multiplicative_operator] = STATE(1611),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1611),
    [sym_value_parameter_pack] = STATE(1611),
    [sym_value_pack_expansion] = STATE(1611),
    [sym__referenceable_operator] = STATE(1611),
    [sym__equal_sign] = STATE(1611),
    [sym__eq_eq] = STATE(1611),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1611),
    [sym_diagnostic] = STATE(1611),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2522),
    [sym_real_literal] = ACTIONS(2524),
    [sym_integer_literal] = ACTIONS(2522),
    [sym_hex_literal] = ACTIONS(2522),
    [sym_oct_literal] = ACTIONS(2524),
    [sym_bin_literal] = ACTIONS(2524),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2522),
    [anon_sym_GT] = ACTIONS(2522),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2524),
    [anon_sym_DASH_EQ] = ACTIONS(2524),
    [anon_sym_STAR_EQ] = ACTIONS(2524),
    [anon_sym_SLASH_EQ] = ACTIONS(2524),
    [anon_sym_PERCENT_EQ] = ACTIONS(2524),
    [anon_sym_BANG_EQ] = ACTIONS(2522),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2524),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2524),
    [anon_sym_LT_EQ] = ACTIONS(2524),
    [anon_sym_GT_EQ] = ACTIONS(2524),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2522),
    [anon_sym_SLASH] = ACTIONS(2522),
    [anon_sym_PERCENT] = ACTIONS(2522),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2524),
    [anon_sym_CARET] = ACTIONS(2522),
    [anon_sym_LT_LT] = ACTIONS(2524),
    [anon_sym_GT_GT] = ACTIONS(2524),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2524),
    [sym__eq_eq_custom] = ACTIONS(2524),
    [sym__plus_then_ws] = ACTIONS(2524),
    [sym__minus_then_ws] = ACTIONS(2524),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [704] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1555),
    [sym_boolean_literal] = STATE(1555),
    [sym__string_literal] = STATE(1555),
    [sym_line_string_literal] = STATE(1555),
    [sym_multi_line_string_literal] = STATE(1555),
    [sym_raw_string_literal] = STATE(1555),
    [sym_regex_literal] = STATE(1555),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1555),
    [sym__unary_expression] = STATE(1555),
    [sym_postfix_expression] = STATE(1555),
    [sym_constructor_expression] = STATE(1555),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1555),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1555),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1555),
    [sym_prefix_expression] = STATE(1555),
    [sym_as_expression] = STATE(1555),
    [sym_selector_expression] = STATE(1555),
    [sym__binary_expression] = STATE(1555),
    [sym_multiplicative_expression] = STATE(1555),
    [sym_additive_expression] = STATE(1555),
    [sym_range_expression] = STATE(1555),
    [sym_infix_expression] = STATE(1555),
    [sym_nil_coalescing_expression] = STATE(1555),
    [sym_check_expression] = STATE(1555),
    [sym_comparison_expression] = STATE(1555),
    [sym_equality_expression] = STATE(1555),
    [sym_conjunction_expression] = STATE(1555),
    [sym_disjunction_expression] = STATE(1555),
    [sym_bitwise_operation] = STATE(1555),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1555),
    [sym_await_expression] = STATE(1555),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1555),
    [sym_call_expression] = STATE(1555),
    [sym_macro_invocation] = STATE(1555),
    [sym__primary_expression] = STATE(1555),
    [sym_tuple_expression] = STATE(1555),
    [sym_array_literal] = STATE(1555),
    [sym_dictionary_literal] = STATE(1555),
    [sym_special_literal] = STATE(1555),
    [sym_playground_literal] = STATE(1555),
    [sym_lambda_literal] = STATE(1555),
    [sym_self_expression] = STATE(1555),
    [sym_super_expression] = STATE(1555),
    [sym_if_statement] = STATE(1555),
    [sym_switch_statement] = STATE(1555),
    [sym_key_path_expression] = STATE(1555),
    [sym_key_path_string_expression] = STATE(1555),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1555),
    [sym__equality_operator] = STATE(1555),
    [sym__comparison_operator] = STATE(1555),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1555),
    [sym__multiplicative_operator] = STATE(1555),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1555),
    [sym_value_parameter_pack] = STATE(1555),
    [sym_value_pack_expansion] = STATE(1555),
    [sym__referenceable_operator] = STATE(1555),
    [sym__equal_sign] = STATE(1555),
    [sym__eq_eq] = STATE(1555),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1555),
    [sym_diagnostic] = STATE(1555),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2526),
    [sym_real_literal] = ACTIONS(2528),
    [sym_integer_literal] = ACTIONS(2526),
    [sym_hex_literal] = ACTIONS(2526),
    [sym_oct_literal] = ACTIONS(2528),
    [sym_bin_literal] = ACTIONS(2528),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2526),
    [anon_sym_GT] = ACTIONS(2526),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2528),
    [anon_sym_DASH_EQ] = ACTIONS(2528),
    [anon_sym_STAR_EQ] = ACTIONS(2528),
    [anon_sym_SLASH_EQ] = ACTIONS(2528),
    [anon_sym_PERCENT_EQ] = ACTIONS(2528),
    [anon_sym_BANG_EQ] = ACTIONS(2526),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2528),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2528),
    [anon_sym_LT_EQ] = ACTIONS(2528),
    [anon_sym_GT_EQ] = ACTIONS(2528),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2526),
    [anon_sym_SLASH] = ACTIONS(2526),
    [anon_sym_PERCENT] = ACTIONS(2526),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2528),
    [anon_sym_CARET] = ACTIONS(2526),
    [anon_sym_LT_LT] = ACTIONS(2528),
    [anon_sym_GT_GT] = ACTIONS(2528),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2528),
    [sym__eq_eq_custom] = ACTIONS(2528),
    [sym__plus_then_ws] = ACTIONS(2528),
    [sym__minus_then_ws] = ACTIONS(2528),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [705] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1666),
    [sym_boolean_literal] = STATE(1666),
    [sym__string_literal] = STATE(1666),
    [sym_line_string_literal] = STATE(1666),
    [sym_multi_line_string_literal] = STATE(1666),
    [sym_raw_string_literal] = STATE(1666),
    [sym_regex_literal] = STATE(1666),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1666),
    [sym__unary_expression] = STATE(1666),
    [sym_postfix_expression] = STATE(1666),
    [sym_constructor_expression] = STATE(1666),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1666),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1666),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1666),
    [sym_prefix_expression] = STATE(1666),
    [sym_as_expression] = STATE(1666),
    [sym_selector_expression] = STATE(1666),
    [sym__binary_expression] = STATE(1666),
    [sym_multiplicative_expression] = STATE(1666),
    [sym_additive_expression] = STATE(1666),
    [sym_range_expression] = STATE(1666),
    [sym_infix_expression] = STATE(1666),
    [sym_nil_coalescing_expression] = STATE(1666),
    [sym_check_expression] = STATE(1666),
    [sym_comparison_expression] = STATE(1666),
    [sym_equality_expression] = STATE(1666),
    [sym_conjunction_expression] = STATE(1666),
    [sym_disjunction_expression] = STATE(1666),
    [sym_bitwise_operation] = STATE(1666),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1666),
    [sym_await_expression] = STATE(1666),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1666),
    [sym_call_expression] = STATE(1666),
    [sym_macro_invocation] = STATE(1666),
    [sym__primary_expression] = STATE(1666),
    [sym_tuple_expression] = STATE(1666),
    [sym_array_literal] = STATE(1666),
    [sym_dictionary_literal] = STATE(1666),
    [sym_special_literal] = STATE(1666),
    [sym_playground_literal] = STATE(1666),
    [sym_lambda_literal] = STATE(1666),
    [sym_self_expression] = STATE(1666),
    [sym_super_expression] = STATE(1666),
    [sym_if_statement] = STATE(1666),
    [sym_switch_statement] = STATE(1666),
    [sym_key_path_expression] = STATE(1666),
    [sym_key_path_string_expression] = STATE(1666),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1666),
    [sym__equality_operator] = STATE(1666),
    [sym__comparison_operator] = STATE(1666),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1666),
    [sym__multiplicative_operator] = STATE(1666),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1666),
    [sym_value_parameter_pack] = STATE(1666),
    [sym_value_pack_expansion] = STATE(1666),
    [sym__referenceable_operator] = STATE(1666),
    [sym__equal_sign] = STATE(1666),
    [sym__eq_eq] = STATE(1666),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1666),
    [sym_diagnostic] = STATE(1666),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2530),
    [sym_real_literal] = ACTIONS(2532),
    [sym_integer_literal] = ACTIONS(2530),
    [sym_hex_literal] = ACTIONS(2530),
    [sym_oct_literal] = ACTIONS(2532),
    [sym_bin_literal] = ACTIONS(2532),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2530),
    [anon_sym_GT] = ACTIONS(2530),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2532),
    [anon_sym_DASH_EQ] = ACTIONS(2532),
    [anon_sym_STAR_EQ] = ACTIONS(2532),
    [anon_sym_SLASH_EQ] = ACTIONS(2532),
    [anon_sym_PERCENT_EQ] = ACTIONS(2532),
    [anon_sym_BANG_EQ] = ACTIONS(2530),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2532),
    [anon_sym_LT_EQ] = ACTIONS(2532),
    [anon_sym_GT_EQ] = ACTIONS(2532),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2530),
    [anon_sym_SLASH] = ACTIONS(2530),
    [anon_sym_PERCENT] = ACTIONS(2530),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2532),
    [anon_sym_CARET] = ACTIONS(2530),
    [anon_sym_LT_LT] = ACTIONS(2532),
    [anon_sym_GT_GT] = ACTIONS(2532),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2532),
    [sym__eq_eq_custom] = ACTIONS(2532),
    [sym__plus_then_ws] = ACTIONS(2532),
    [sym__minus_then_ws] = ACTIONS(2532),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [706] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(790),
    [sym_boolean_literal] = STATE(790),
    [sym__string_literal] = STATE(790),
    [sym_line_string_literal] = STATE(790),
    [sym_multi_line_string_literal] = STATE(790),
    [sym_raw_string_literal] = STATE(790),
    [sym_regex_literal] = STATE(790),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(790),
    [sym__unary_expression] = STATE(790),
    [sym_postfix_expression] = STATE(790),
    [sym_constructor_expression] = STATE(790),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(790),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(790),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(790),
    [sym_prefix_expression] = STATE(790),
    [sym_as_expression] = STATE(790),
    [sym_selector_expression] = STATE(790),
    [sym__binary_expression] = STATE(790),
    [sym_multiplicative_expression] = STATE(790),
    [sym_additive_expression] = STATE(790),
    [sym_range_expression] = STATE(790),
    [sym_infix_expression] = STATE(790),
    [sym_nil_coalescing_expression] = STATE(790),
    [sym_check_expression] = STATE(790),
    [sym_comparison_expression] = STATE(790),
    [sym_equality_expression] = STATE(790),
    [sym_conjunction_expression] = STATE(790),
    [sym_disjunction_expression] = STATE(790),
    [sym_bitwise_operation] = STATE(790),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(790),
    [sym_await_expression] = STATE(790),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(790),
    [sym_call_expression] = STATE(790),
    [sym_macro_invocation] = STATE(790),
    [sym__primary_expression] = STATE(790),
    [sym_tuple_expression] = STATE(790),
    [sym_array_literal] = STATE(790),
    [sym_dictionary_literal] = STATE(790),
    [sym_special_literal] = STATE(790),
    [sym_playground_literal] = STATE(790),
    [sym_lambda_literal] = STATE(790),
    [sym_self_expression] = STATE(790),
    [sym_super_expression] = STATE(790),
    [sym_if_statement] = STATE(790),
    [sym_switch_statement] = STATE(790),
    [sym_key_path_expression] = STATE(790),
    [sym_key_path_string_expression] = STATE(790),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(790),
    [sym__equality_operator] = STATE(790),
    [sym__comparison_operator] = STATE(790),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(790),
    [sym__multiplicative_operator] = STATE(790),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_assignment] = STATE(790),
    [sym_value_parameter_pack] = STATE(790),
    [sym_value_pack_expansion] = STATE(790),
    [sym__referenceable_operator] = STATE(790),
    [sym__equal_sign] = STATE(790),
    [sym__eq_eq] = STATE(790),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(790),
    [sym_diagnostic] = STATE(790),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(289),
    [anon_sym_async] = ACTIONS(289),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(289),
    [anon_sym_repeat] = ACTIONS(733),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(2534),
    [sym_real_literal] = ACTIONS(2536),
    [sym_integer_literal] = ACTIONS(2534),
    [sym_hex_literal] = ACTIONS(2534),
    [sym_oct_literal] = ACTIONS(2536),
    [sym_bin_literal] = ACTIONS(2536),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(2534),
    [anon_sym_GT] = ACTIONS(2534),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2536),
    [anon_sym_DASH_EQ] = ACTIONS(2536),
    [anon_sym_STAR_EQ] = ACTIONS(2536),
    [anon_sym_SLASH_EQ] = ACTIONS(2536),
    [anon_sym_PERCENT_EQ] = ACTIONS(2536),
    [anon_sym_BANG_EQ] = ACTIONS(2534),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2536),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2536),
    [anon_sym_LT_EQ] = ACTIONS(2536),
    [anon_sym_GT_EQ] = ACTIONS(2536),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(2534),
    [anon_sym_SLASH] = ACTIONS(2534),
    [anon_sym_PERCENT] = ACTIONS(2534),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(2536),
    [anon_sym_CARET] = ACTIONS(2534),
    [anon_sym_LT_LT] = ACTIONS(2536),
    [anon_sym_GT_GT] = ACTIONS(2536),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(2536),
    [sym__eq_eq_custom] = ACTIONS(2536),
    [sym__plus_then_ws] = ACTIONS(2536),
    [sym__minus_then_ws] = ACTIONS(2536),
    [sym__bang_custom] = ACTIONS(373),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [707] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1551),
    [sym_boolean_literal] = STATE(1551),
    [sym__string_literal] = STATE(1551),
    [sym_line_string_literal] = STATE(1551),
    [sym_multi_line_string_literal] = STATE(1551),
    [sym_raw_string_literal] = STATE(1551),
    [sym_regex_literal] = STATE(1551),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1551),
    [sym__unary_expression] = STATE(1551),
    [sym_postfix_expression] = STATE(1551),
    [sym_constructor_expression] = STATE(1551),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1551),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1551),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1551),
    [sym_prefix_expression] = STATE(1551),
    [sym_as_expression] = STATE(1551),
    [sym_selector_expression] = STATE(1551),
    [sym__binary_expression] = STATE(1551),
    [sym_multiplicative_expression] = STATE(1551),
    [sym_additive_expression] = STATE(1551),
    [sym_range_expression] = STATE(1551),
    [sym_infix_expression] = STATE(1551),
    [sym_nil_coalescing_expression] = STATE(1551),
    [sym_check_expression] = STATE(1551),
    [sym_comparison_expression] = STATE(1551),
    [sym_equality_expression] = STATE(1551),
    [sym_conjunction_expression] = STATE(1551),
    [sym_disjunction_expression] = STATE(1551),
    [sym_bitwise_operation] = STATE(1551),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1551),
    [sym_await_expression] = STATE(1551),
    [sym__await_operator] = STATE(712),
    [sym_ternary_expression] = STATE(1551),
    [sym_call_expression] = STATE(1551),
    [sym_macro_invocation] = STATE(1551),
    [sym__primary_expression] = STATE(1551),
    [sym_tuple_expression] = STATE(1551),
    [sym_array_literal] = STATE(1551),
    [sym_dictionary_literal] = STATE(1551),
    [sym_special_literal] = STATE(1551),
    [sym_playground_literal] = STATE(1551),
    [sym_lambda_literal] = STATE(1551),
    [sym_self_expression] = STATE(1551),
    [sym_super_expression] = STATE(1551),
    [sym_if_statement] = STATE(1551),
    [sym_switch_statement] = STATE(1551),
    [sym_key_path_expression] = STATE(1551),
    [sym_key_path_string_expression] = STATE(1551),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1551),
    [sym__equality_operator] = STATE(1551),
    [sym__comparison_operator] = STATE(1551),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1551),
    [sym__multiplicative_operator] = STATE(1551),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym_assignment] = STATE(1551),
    [sym_value_parameter_pack] = STATE(1551),
    [sym_value_pack_expansion] = STATE(1551),
    [sym__referenceable_operator] = STATE(1551),
    [sym__equal_sign] = STATE(1551),
    [sym__eq_eq] = STATE(1551),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1551),
    [sym_diagnostic] = STATE(1551),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(2538),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(2540),
    [sym_real_literal] = ACTIONS(2542),
    [sym_integer_literal] = ACTIONS(2540),
    [sym_hex_literal] = ACTIONS(2540),
    [sym_oct_literal] = ACTIONS(2542),
    [sym_bin_literal] = ACTIONS(2542),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(2544),
    [anon_sym_switch] = ACTIONS(2546),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(2540),
    [anon_sym_GT] = ACTIONS(2540),
    [anon_sym_await] = ACTIONS(1067),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2542),
    [anon_sym_DASH_EQ] = ACTIONS(2542),
    [anon_sym_STAR_EQ] = ACTIONS(2542),
    [anon_sym_SLASH_EQ] = ACTIONS(2542),
    [anon_sym_PERCENT_EQ] = ACTIONS(2542),
    [anon_sym_BANG_EQ] = ACTIONS(2540),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2542),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2542),
    [anon_sym_LT_EQ] = ACTIONS(2542),
    [anon_sym_GT_EQ] = ACTIONS(2542),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(2540),
    [anon_sym_SLASH] = ACTIONS(2540),
    [anon_sym_PERCENT] = ACTIONS(2540),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(2542),
    [anon_sym_CARET] = ACTIONS(2540),
    [anon_sym_LT_LT] = ACTIONS(2542),
    [anon_sym_GT_GT] = ACTIONS(2542),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(2542),
    [sym__eq_eq_custom] = ACTIONS(2542),
    [sym__plus_then_ws] = ACTIONS(2542),
    [sym__minus_then_ws] = ACTIONS(2542),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [708] = {
    [sym_simple_identifier] = STATE(2462),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__basic_literal] = STATE(1517),
    [sym_boolean_literal] = STATE(1517),
    [sym__string_literal] = STATE(1517),
    [sym_line_string_literal] = STATE(1517),
    [sym_multi_line_string_literal] = STATE(1517),
    [sym_raw_string_literal] = STATE(1517),
    [sym_regex_literal] = STATE(1517),
    [sym__extended_regex_literal] = STATE(2656),
    [sym__multiline_regex_literal] = STATE(2656),
    [sym_user_type] = STATE(6465),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6465),
    [sym_dictionary_type] = STATE(6465),
    [sym__expression] = STATE(1517),
    [sym__unary_expression] = STATE(1517),
    [sym_postfix_expression] = STATE(1517),
    [sym_constructor_expression] = STATE(1517),
    [sym__parenthesized_type] = STATE(7500),
    [sym_navigation_expression] = STATE(1517),
    [sym__navigable_type_expression] = STATE(7501),
    [sym_open_start_range_expression] = STATE(1517),
    [sym__range_operator] = STATE(662),
    [sym_open_end_range_expression] = STATE(1517),
    [sym_prefix_expression] = STATE(1517),
    [sym_as_expression] = STATE(1517),
    [sym_selector_expression] = STATE(1517),
    [sym__binary_expression] = STATE(1517),
    [sym_multiplicative_expression] = STATE(1517),
    [sym_additive_expression] = STATE(1517),
    [sym_range_expression] = STATE(1517),
    [sym_infix_expression] = STATE(1517),
    [sym_nil_coalescing_expression] = STATE(1517),
    [sym_check_expression] = STATE(1517),
    [sym_comparison_expression] = STATE(1517),
    [sym_equality_expression] = STATE(1517),
    [sym_conjunction_expression] = STATE(1517),
    [sym_disjunction_expression] = STATE(1517),
    [sym_bitwise_operation] = STATE(1517),
    [sym_custom_operator] = STATE(1138),
    [sym_try_expression] = STATE(1517),
    [sym_await_expression] = STATE(1517),
    [sym__await_operator] = STATE(661),
    [sym_ternary_expression] = STATE(1517),
    [sym_call_expression] = STATE(1517),
    [sym_macro_invocation] = STATE(1517),
    [sym__primary_expression] = STATE(1517),
    [sym_tuple_expression] = STATE(1517),
    [sym_array_literal] = STATE(1517),
    [sym_dictionary_literal] = STATE(1517),
    [sym_special_literal] = STATE(1517),
    [sym_playground_literal] = STATE(1517),
    [sym_lambda_literal] = STATE(1517),
    [sym_self_expression] = STATE(1517),
    [sym_super_expression] = STATE(1517),
    [sym_if_statement] = STATE(1517),
    [sym_switch_statement] = STATE(1517),
    [sym_key_path_expression] = STATE(1517),
    [sym_key_path_string_expression] = STATE(1517),
    [sym_try_operator] = STATE(660),
    [sym__assignment_and_operator] = STATE(1517),
    [sym__equality_operator] = STATE(1517),
    [sym__comparison_operator] = STATE(1517),
    [sym__three_dot_operator] = STATE(1139),
    [sym__open_ended_range_operator] = STATE(662),
    [sym__additive_operator] = STATE(1517),
    [sym__multiplicative_operator] = STATE(1517),
    [sym__prefix_unary_operator] = STATE(654),
    [sym_directly_assignable_expression] = STATE(6505),
    [sym_assignment] = STATE(1517),
    [sym_value_parameter_pack] = STATE(1517),
    [sym_value_pack_expansion] = STATE(1517),
    [sym__referenceable_operator] = STATE(1517),
    [sym__equal_sign] = STATE(1517),
    [sym__eq_eq] = STATE(1517),
    [sym__dot] = STATE(654),
    [sym__hash_symbol] = STATE(4856),
    [sym_bang] = STATE(1138),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [sym_directive] = STATE(1517),
    [sym_diagnostic] = STATE(1517),
    [aux_sym_raw_string_literal_repeat1] = STATE(7669),
    [anon_sym_BANG] = ACTIONS(9),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(11),
    [anon_sym_async] = ACTIONS(11),
    [anon_sym_each] = ACTIONS(19),
    [anon_sym_lazy] = ACTIONS(11),
    [anon_sym_repeat] = ACTIONS(925),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_nil] = ACTIONS(2548),
    [sym_real_literal] = ACTIONS(2550),
    [sym_integer_literal] = ACTIONS(2548),
    [sym_hex_literal] = ACTIONS(2548),
    [sym_oct_literal] = ACTIONS(2550),
    [sym_bin_literal] = ACTIONS(2550),
    [anon_sym_true] = ACTIONS(31),
    [anon_sym_false] = ACTIONS(31),
    [anon_sym_DQUOTE] = ACTIONS(33),
    [anon_sym_BSLASH] = ACTIONS(35),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(37),
    [sym__oneline_regex_literal] = ACTIONS(39),
    [anon_sym_LPAREN] = ACTIONS(41),
    [anon_sym_LBRACK] = ACTIONS(43),
    [anon_sym_AMP] = ACTIONS(45),
    [anon_sym_TILDE] = ACTIONS(45),
    [anon_sym_if] = ACTIONS(47),
    [anon_sym_switch] = ACTIONS(49),
    [aux_sym_custom_operator_token1] = ACTIONS(51),
    [anon_sym_LT] = ACTIONS(2548),
    [anon_sym_GT] = ACTIONS(2548),
    [anon_sym_await] = ACTIONS(53),
    [anon_sym_LBRACE] = ACTIONS(55),
    [anon_sym_CARET_LBRACE] = ACTIONS(55),
    [anon_sym_self] = ACTIONS(57),
    [anon_sym_super] = ACTIONS(59),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2550),
    [anon_sym_DASH_EQ] = ACTIONS(2550),
    [anon_sym_STAR_EQ] = ACTIONS(2550),
    [anon_sym_SLASH_EQ] = ACTIONS(2550),
    [anon_sym_PERCENT_EQ] = ACTIONS(2550),
    [anon_sym_BANG_EQ] = ACTIONS(2548),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2550),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2550),
    [anon_sym_LT_EQ] = ACTIONS(2550),
    [anon_sym_GT_EQ] = ACTIONS(2550),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(69),
    [anon_sym_PLUS] = ACTIONS(71),
    [anon_sym_DASH] = ACTIONS(71),
    [anon_sym_STAR] = ACTIONS(2548),
    [anon_sym_SLASH] = ACTIONS(2548),
    [anon_sym_PERCENT] = ACTIONS(2548),
    [anon_sym_PLUS_PLUS] = ACTIONS(45),
    [anon_sym_DASH_DASH] = ACTIONS(45),
    [anon_sym_PIPE] = ACTIONS(2550),
    [anon_sym_CARET] = ACTIONS(2548),
    [anon_sym_LT_LT] = ACTIONS(2550),
    [anon_sym_GT_GT] = ACTIONS(2550),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(135),
    [sym__dot_custom] = ACTIONS(137),
    [sym__eq_custom] = ACTIONS(2550),
    [sym__eq_eq_custom] = ACTIONS(2550),
    [sym__plus_then_ws] = ACTIONS(2550),
    [sym__minus_then_ws] = ACTIONS(2550),
    [sym__bang_custom] = ACTIONS(139),
    [sym__custom_operator] = ACTIONS(51),
    [sym__hash_symbol_custom] = ACTIONS(169),
    [sym__directive_if] = ACTIONS(143),
    [sym__directive_elseif] = ACTIONS(143),
    [sym__directive_else] = ACTIONS(145),
    [sym__directive_endif] = ACTIONS(145),
  },
  [709] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1680),
    [sym_boolean_literal] = STATE(1680),
    [sym__string_literal] = STATE(1680),
    [sym_line_string_literal] = STATE(1680),
    [sym_multi_line_string_literal] = STATE(1680),
    [sym_raw_string_literal] = STATE(1680),
    [sym_regex_literal] = STATE(1680),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1680),
    [sym__unary_expression] = STATE(1680),
    [sym_postfix_expression] = STATE(1680),
    [sym_constructor_expression] = STATE(1680),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1680),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1680),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1680),
    [sym_prefix_expression] = STATE(1680),
    [sym_as_expression] = STATE(1680),
    [sym_selector_expression] = STATE(1680),
    [sym__binary_expression] = STATE(1680),
    [sym_multiplicative_expression] = STATE(1680),
    [sym_additive_expression] = STATE(1680),
    [sym_range_expression] = STATE(1680),
    [sym_infix_expression] = STATE(1680),
    [sym_nil_coalescing_expression] = STATE(1680),
    [sym_check_expression] = STATE(1680),
    [sym_comparison_expression] = STATE(1680),
    [sym_equality_expression] = STATE(1680),
    [sym_conjunction_expression] = STATE(1680),
    [sym_disjunction_expression] = STATE(1680),
    [sym_bitwise_operation] = STATE(1680),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1680),
    [sym_await_expression] = STATE(1680),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1680),
    [sym_call_expression] = STATE(1680),
    [sym_macro_invocation] = STATE(1680),
    [sym__primary_expression] = STATE(1680),
    [sym_tuple_expression] = STATE(1680),
    [sym_array_literal] = STATE(1680),
    [sym_dictionary_literal] = STATE(1680),
    [sym_special_literal] = STATE(1680),
    [sym_playground_literal] = STATE(1680),
    [sym_lambda_literal] = STATE(1680),
    [sym_self_expression] = STATE(1680),
    [sym_super_expression] = STATE(1680),
    [sym_if_statement] = STATE(1680),
    [sym_switch_statement] = STATE(1680),
    [sym_key_path_expression] = STATE(1680),
    [sym_key_path_string_expression] = STATE(1680),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1680),
    [sym__equality_operator] = STATE(1680),
    [sym__comparison_operator] = STATE(1680),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1680),
    [sym__multiplicative_operator] = STATE(1680),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1680),
    [sym_value_parameter_pack] = STATE(1680),
    [sym_value_pack_expansion] = STATE(1680),
    [sym__referenceable_operator] = STATE(1680),
    [sym__equal_sign] = STATE(1680),
    [sym__eq_eq] = STATE(1680),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1680),
    [sym_diagnostic] = STATE(1680),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(729),
    [sym_real_literal] = ACTIONS(731),
    [sym_integer_literal] = ACTIONS(729),
    [sym_hex_literal] = ACTIONS(729),
    [sym_oct_literal] = ACTIONS(731),
    [sym_bin_literal] = ACTIONS(731),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(729),
    [anon_sym_GT] = ACTIONS(729),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(731),
    [anon_sym_DASH_EQ] = ACTIONS(731),
    [anon_sym_STAR_EQ] = ACTIONS(731),
    [anon_sym_SLASH_EQ] = ACTIONS(731),
    [anon_sym_PERCENT_EQ] = ACTIONS(731),
    [anon_sym_BANG_EQ] = ACTIONS(729),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(731),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(731),
    [anon_sym_LT_EQ] = ACTIONS(731),
    [anon_sym_GT_EQ] = ACTIONS(731),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(729),
    [anon_sym_SLASH] = ACTIONS(729),
    [anon_sym_PERCENT] = ACTIONS(729),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(731),
    [anon_sym_CARET] = ACTIONS(729),
    [anon_sym_LT_LT] = ACTIONS(731),
    [anon_sym_GT_GT] = ACTIONS(731),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(731),
    [sym__eq_eq_custom] = ACTIONS(731),
    [sym__plus_then_ws] = ACTIONS(731),
    [sym__minus_then_ws] = ACTIONS(731),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [710] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1564),
    [sym_boolean_literal] = STATE(1564),
    [sym__string_literal] = STATE(1564),
    [sym_line_string_literal] = STATE(1564),
    [sym_multi_line_string_literal] = STATE(1564),
    [sym_raw_string_literal] = STATE(1564),
    [sym_regex_literal] = STATE(1564),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1564),
    [sym__unary_expression] = STATE(1564),
    [sym_postfix_expression] = STATE(1564),
    [sym_constructor_expression] = STATE(1564),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1564),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1564),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1564),
    [sym_prefix_expression] = STATE(1564),
    [sym_as_expression] = STATE(1564),
    [sym_selector_expression] = STATE(1564),
    [sym__binary_expression] = STATE(3174),
    [sym_multiplicative_expression] = STATE(3174),
    [sym_additive_expression] = STATE(3174),
    [sym_range_expression] = STATE(3174),
    [sym_infix_expression] = STATE(3174),
    [sym_nil_coalescing_expression] = STATE(3174),
    [sym_check_expression] = STATE(3174),
    [sym_comparison_expression] = STATE(3174),
    [sym_equality_expression] = STATE(3174),
    [sym_conjunction_expression] = STATE(3174),
    [sym_disjunction_expression] = STATE(3174),
    [sym_bitwise_operation] = STATE(3174),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1564),
    [sym_await_expression] = STATE(1564),
    [sym__await_operator] = STATE(712),
    [sym_ternary_expression] = STATE(3175),
    [sym_call_expression] = STATE(3176),
    [sym_macro_invocation] = STATE(1564),
    [sym__primary_expression] = STATE(1564),
    [sym_tuple_expression] = STATE(1564),
    [sym_array_literal] = STATE(1564),
    [sym_dictionary_literal] = STATE(1564),
    [sym_special_literal] = STATE(1564),
    [sym_playground_literal] = STATE(1564),
    [sym_lambda_literal] = STATE(1564),
    [sym_self_expression] = STATE(1564),
    [sym_super_expression] = STATE(1564),
    [sym_if_statement] = STATE(1564),
    [sym_switch_statement] = STATE(1564),
    [sym_key_path_expression] = STATE(1564),
    [sym_key_path_string_expression] = STATE(1564),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1564),
    [sym__equality_operator] = STATE(1564),
    [sym__comparison_operator] = STATE(1564),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1564),
    [sym__multiplicative_operator] = STATE(1564),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym_assignment] = STATE(1564),
    [sym_value_parameter_pack] = STATE(1564),
    [sym_value_pack_expansion] = STATE(1564),
    [sym__referenceable_operator] = STATE(1564),
    [sym__equal_sign] = STATE(1564),
    [sym__eq_eq] = STATE(1564),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1564),
    [sym_diagnostic] = STATE(1564),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(2552),
    [sym_real_literal] = ACTIONS(2554),
    [sym_integer_literal] = ACTIONS(2552),
    [sym_hex_literal] = ACTIONS(2552),
    [sym_oct_literal] = ACTIONS(2554),
    [sym_bin_literal] = ACTIONS(2554),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(2552),
    [anon_sym_GT] = ACTIONS(2552),
    [anon_sym_await] = ACTIONS(1067),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2554),
    [anon_sym_DASH_EQ] = ACTIONS(2554),
    [anon_sym_STAR_EQ] = ACTIONS(2554),
    [anon_sym_SLASH_EQ] = ACTIONS(2554),
    [anon_sym_PERCENT_EQ] = ACTIONS(2554),
    [anon_sym_BANG_EQ] = ACTIONS(2552),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2554),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2554),
    [anon_sym_LT_EQ] = ACTIONS(2554),
    [anon_sym_GT_EQ] = ACTIONS(2554),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(2552),
    [anon_sym_SLASH] = ACTIONS(2552),
    [anon_sym_PERCENT] = ACTIONS(2552),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(2554),
    [anon_sym_CARET] = ACTIONS(2552),
    [anon_sym_LT_LT] = ACTIONS(2554),
    [anon_sym_GT_GT] = ACTIONS(2554),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(2554),
    [sym__eq_eq_custom] = ACTIONS(2554),
    [sym__plus_then_ws] = ACTIONS(2554),
    [sym__minus_then_ws] = ACTIONS(2554),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [711] = {
    [sym_simple_identifier] = STATE(2331),
    [sym__contextual_simple_identifier] = STATE(2240),
    [sym__basic_literal] = STATE(1459),
    [sym_boolean_literal] = STATE(1459),
    [sym__string_literal] = STATE(1459),
    [sym_line_string_literal] = STATE(1459),
    [sym_multi_line_string_literal] = STATE(1459),
    [sym_raw_string_literal] = STATE(1459),
    [sym_regex_literal] = STATE(1459),
    [sym__extended_regex_literal] = STATE(2556),
    [sym__multiline_regex_literal] = STATE(2556),
    [sym_user_type] = STATE(6440),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6440),
    [sym_dictionary_type] = STATE(6440),
    [sym__expression] = STATE(1459),
    [sym__unary_expression] = STATE(1459),
    [sym_postfix_expression] = STATE(1459),
    [sym_constructor_expression] = STATE(1459),
    [sym__parenthesized_type] = STATE(7995),
    [sym_navigation_expression] = STATE(1459),
    [sym__navigable_type_expression] = STATE(8059),
    [sym_open_start_range_expression] = STATE(1459),
    [sym__range_operator] = STATE(576),
    [sym_open_end_range_expression] = STATE(1459),
    [sym_prefix_expression] = STATE(1459),
    [sym_as_expression] = STATE(1459),
    [sym_selector_expression] = STATE(1459),
    [sym__binary_expression] = STATE(1459),
    [sym_multiplicative_expression] = STATE(1459),
    [sym_additive_expression] = STATE(1459),
    [sym_range_expression] = STATE(1459),
    [sym_infix_expression] = STATE(1459),
    [sym_nil_coalescing_expression] = STATE(1459),
    [sym_check_expression] = STATE(1459),
    [sym_comparison_expression] = STATE(1459),
    [sym_equality_expression] = STATE(1459),
    [sym_conjunction_expression] = STATE(1459),
    [sym_disjunction_expression] = STATE(1459),
    [sym_bitwise_operation] = STATE(1459),
    [sym_custom_operator] = STATE(1097),
    [sym_try_expression] = STATE(1459),
    [sym_await_expression] = STATE(1459),
    [sym__await_operator] = STATE(575),
    [sym_ternary_expression] = STATE(1459),
    [sym_call_expression] = STATE(1459),
    [sym_macro_invocation] = STATE(1459),
    [sym__primary_expression] = STATE(1459),
    [sym_tuple_expression] = STATE(1459),
    [sym_array_literal] = STATE(1459),
    [sym_dictionary_literal] = STATE(1459),
    [sym_special_literal] = STATE(1459),
    [sym_playground_literal] = STATE(1459),
    [sym_lambda_literal] = STATE(1459),
    [sym_self_expression] = STATE(1459),
    [sym_super_expression] = STATE(1459),
    [sym_if_statement] = STATE(1459),
    [sym_switch_statement] = STATE(1459),
    [sym_key_path_expression] = STATE(1459),
    [sym_key_path_string_expression] = STATE(1459),
    [sym_try_operator] = STATE(648),
    [sym__assignment_and_operator] = STATE(1459),
    [sym__equality_operator] = STATE(1459),
    [sym__comparison_operator] = STATE(1459),
    [sym__three_dot_operator] = STATE(1089),
    [sym__open_ended_range_operator] = STATE(576),
    [sym__additive_operator] = STATE(1459),
    [sym__multiplicative_operator] = STATE(1459),
    [sym__prefix_unary_operator] = STATE(711),
    [sym_directly_assignable_expression] = STATE(6442),
    [sym_assignment] = STATE(1459),
    [sym_value_parameter_pack] = STATE(1459),
    [sym_value_pack_expansion] = STATE(1459),
    [sym__referenceable_operator] = STATE(1459),
    [sym__equal_sign] = STATE(1459),
    [sym__eq_eq] = STATE(1459),
    [sym__dot] = STATE(711),
    [sym__hash_symbol] = STATE(4850),
    [sym_bang] = STATE(1097),
    [sym__parameter_ownership_modifier] = STATE(2240),
    [sym_directive] = STATE(1459),
    [sym_diagnostic] = STATE(1459),
    [aux_sym_raw_string_literal_repeat1] = STATE(7884),
    [anon_sym_BANG] = ACTIONS(969),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(971),
    [aux_sym_simple_identifier_token2] = ACTIONS(973),
    [aux_sym_simple_identifier_token3] = ACTIONS(973),
    [aux_sym_simple_identifier_token4] = ACTIONS(973),
    [anon_sym_actor] = ACTIONS(971),
    [anon_sym_async] = ACTIONS(2556),
    [anon_sym_each] = ACTIONS(975),
    [anon_sym_lazy] = ACTIONS(971),
    [anon_sym_repeat] = ACTIONS(977),
    [anon_sym_package] = ACTIONS(971),
    [anon_sym_nil] = ACTIONS(2558),
    [sym_real_literal] = ACTIONS(2560),
    [sym_integer_literal] = ACTIONS(2558),
    [sym_hex_literal] = ACTIONS(2558),
    [sym_oct_literal] = ACTIONS(2560),
    [sym_bin_literal] = ACTIONS(2560),
    [anon_sym_true] = ACTIONS(983),
    [anon_sym_false] = ACTIONS(983),
    [anon_sym_DQUOTE] = ACTIONS(985),
    [anon_sym_BSLASH] = ACTIONS(987),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(989),
    [sym__oneline_regex_literal] = ACTIONS(991),
    [anon_sym_LPAREN] = ACTIONS(993),
    [anon_sym_LBRACK] = ACTIONS(995),
    [anon_sym_AMP] = ACTIONS(997),
    [anon_sym_TILDE] = ACTIONS(997),
    [anon_sym_if] = ACTIONS(2562),
    [anon_sym_switch] = ACTIONS(2564),
    [aux_sym_custom_operator_token1] = ACTIONS(1003),
    [anon_sym_LT] = ACTIONS(2558),
    [anon_sym_GT] = ACTIONS(2558),
    [anon_sym_await] = ACTIONS(1005),
    [anon_sym_LBRACE] = ACTIONS(1007),
    [anon_sym_CARET_LBRACE] = ACTIONS(1007),
    [anon_sym_self] = ACTIONS(1009),
    [anon_sym_super] = ACTIONS(1011),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2560),
    [anon_sym_DASH_EQ] = ACTIONS(2560),
    [anon_sym_STAR_EQ] = ACTIONS(2560),
    [anon_sym_SLASH_EQ] = ACTIONS(2560),
    [anon_sym_PERCENT_EQ] = ACTIONS(2560),
    [anon_sym_BANG_EQ] = ACTIONS(2558),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2560),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2560),
    [anon_sym_LT_EQ] = ACTIONS(2560),
    [anon_sym_GT_EQ] = ACTIONS(2560),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1013),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1015),
    [anon_sym_PLUS] = ACTIONS(1017),
    [anon_sym_DASH] = ACTIONS(1017),
    [anon_sym_STAR] = ACTIONS(2558),
    [anon_sym_SLASH] = ACTIONS(2558),
    [anon_sym_PERCENT] = ACTIONS(2558),
    [anon_sym_PLUS_PLUS] = ACTIONS(997),
    [anon_sym_DASH_DASH] = ACTIONS(997),
    [anon_sym_PIPE] = ACTIONS(2560),
    [anon_sym_CARET] = ACTIONS(2558),
    [anon_sym_LT_LT] = ACTIONS(2560),
    [anon_sym_GT_GT] = ACTIONS(2560),
    [anon_sym_borrowing] = ACTIONS(971),
    [anon_sym_consuming] = ACTIONS(971),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1019),
    [sym__dot_custom] = ACTIONS(1021),
    [sym__eq_custom] = ACTIONS(2560),
    [sym__eq_eq_custom] = ACTIONS(2560),
    [sym__plus_then_ws] = ACTIONS(2560),
    [sym__minus_then_ws] = ACTIONS(2560),
    [sym__bang_custom] = ACTIONS(1023),
    [sym__custom_operator] = ACTIONS(1003),
    [sym__hash_symbol_custom] = ACTIONS(1025),
    [sym__directive_if] = ACTIONS(1027),
    [sym__directive_elseif] = ACTIONS(1027),
    [sym__directive_else] = ACTIONS(1029),
    [sym__directive_endif] = ACTIONS(1029),
  },
  [712] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1565),
    [sym_boolean_literal] = STATE(1565),
    [sym__string_literal] = STATE(1565),
    [sym_line_string_literal] = STATE(1565),
    [sym_multi_line_string_literal] = STATE(1565),
    [sym_raw_string_literal] = STATE(1565),
    [sym_regex_literal] = STATE(1565),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1565),
    [sym__unary_expression] = STATE(1565),
    [sym_postfix_expression] = STATE(1565),
    [sym_constructor_expression] = STATE(1565),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1565),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1565),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1565),
    [sym_prefix_expression] = STATE(1565),
    [sym_as_expression] = STATE(1565),
    [sym_selector_expression] = STATE(1565),
    [sym__binary_expression] = STATE(1565),
    [sym_multiplicative_expression] = STATE(1565),
    [sym_additive_expression] = STATE(1565),
    [sym_range_expression] = STATE(1565),
    [sym_infix_expression] = STATE(1565),
    [sym_nil_coalescing_expression] = STATE(1565),
    [sym_check_expression] = STATE(1565),
    [sym_comparison_expression] = STATE(1565),
    [sym_equality_expression] = STATE(1565),
    [sym_conjunction_expression] = STATE(1565),
    [sym_disjunction_expression] = STATE(1565),
    [sym_bitwise_operation] = STATE(1565),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1565),
    [sym_await_expression] = STATE(1565),
    [sym__await_operator] = STATE(712),
    [sym_ternary_expression] = STATE(3171),
    [sym_call_expression] = STATE(3172),
    [sym_macro_invocation] = STATE(1565),
    [sym__primary_expression] = STATE(1565),
    [sym_tuple_expression] = STATE(1565),
    [sym_array_literal] = STATE(1565),
    [sym_dictionary_literal] = STATE(1565),
    [sym_special_literal] = STATE(1565),
    [sym_playground_literal] = STATE(1565),
    [sym_lambda_literal] = STATE(1565),
    [sym_self_expression] = STATE(1565),
    [sym_super_expression] = STATE(1565),
    [sym_if_statement] = STATE(1565),
    [sym_switch_statement] = STATE(1565),
    [sym_key_path_expression] = STATE(1565),
    [sym_key_path_string_expression] = STATE(1565),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1565),
    [sym__equality_operator] = STATE(1565),
    [sym__comparison_operator] = STATE(1565),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1565),
    [sym__multiplicative_operator] = STATE(1565),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym_assignment] = STATE(1565),
    [sym_value_parameter_pack] = STATE(1565),
    [sym_value_pack_expansion] = STATE(1565),
    [sym__referenceable_operator] = STATE(1565),
    [sym__equal_sign] = STATE(1565),
    [sym__eq_eq] = STATE(1565),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1565),
    [sym_diagnostic] = STATE(1565),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(2566),
    [sym_real_literal] = ACTIONS(2568),
    [sym_integer_literal] = ACTIONS(2566),
    [sym_hex_literal] = ACTIONS(2566),
    [sym_oct_literal] = ACTIONS(2568),
    [sym_bin_literal] = ACTIONS(2568),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(2566),
    [anon_sym_GT] = ACTIONS(2566),
    [anon_sym_await] = ACTIONS(1067),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2568),
    [anon_sym_DASH_EQ] = ACTIONS(2568),
    [anon_sym_STAR_EQ] = ACTIONS(2568),
    [anon_sym_SLASH_EQ] = ACTIONS(2568),
    [anon_sym_PERCENT_EQ] = ACTIONS(2568),
    [anon_sym_BANG_EQ] = ACTIONS(2566),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2568),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2568),
    [anon_sym_LT_EQ] = ACTIONS(2568),
    [anon_sym_GT_EQ] = ACTIONS(2568),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(2566),
    [anon_sym_SLASH] = ACTIONS(2566),
    [anon_sym_PERCENT] = ACTIONS(2566),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(2568),
    [anon_sym_CARET] = ACTIONS(2566),
    [anon_sym_LT_LT] = ACTIONS(2568),
    [anon_sym_GT_GT] = ACTIONS(2568),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(2568),
    [sym__eq_eq_custom] = ACTIONS(2568),
    [sym__plus_then_ws] = ACTIONS(2568),
    [sym__minus_then_ws] = ACTIONS(2568),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [713] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1667),
    [sym_boolean_literal] = STATE(1667),
    [sym__string_literal] = STATE(1667),
    [sym_line_string_literal] = STATE(1667),
    [sym_multi_line_string_literal] = STATE(1667),
    [sym_raw_string_literal] = STATE(1667),
    [sym_regex_literal] = STATE(1667),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1667),
    [sym__unary_expression] = STATE(1667),
    [sym_postfix_expression] = STATE(1667),
    [sym_constructor_expression] = STATE(1667),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1667),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1667),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1667),
    [sym_prefix_expression] = STATE(1667),
    [sym_as_expression] = STATE(1667),
    [sym_selector_expression] = STATE(1667),
    [sym__binary_expression] = STATE(1667),
    [sym_multiplicative_expression] = STATE(1667),
    [sym_additive_expression] = STATE(1667),
    [sym_range_expression] = STATE(1667),
    [sym_infix_expression] = STATE(1667),
    [sym_nil_coalescing_expression] = STATE(1667),
    [sym_check_expression] = STATE(1667),
    [sym_comparison_expression] = STATE(1667),
    [sym_equality_expression] = STATE(1667),
    [sym_conjunction_expression] = STATE(1667),
    [sym_disjunction_expression] = STATE(1667),
    [sym_bitwise_operation] = STATE(1667),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1667),
    [sym_await_expression] = STATE(1667),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1667),
    [sym_call_expression] = STATE(1667),
    [sym_macro_invocation] = STATE(1667),
    [sym__primary_expression] = STATE(1667),
    [sym_tuple_expression] = STATE(1667),
    [sym_array_literal] = STATE(1667),
    [sym_dictionary_literal] = STATE(1667),
    [sym_special_literal] = STATE(1667),
    [sym_playground_literal] = STATE(1667),
    [sym_lambda_literal] = STATE(1667),
    [sym_self_expression] = STATE(1667),
    [sym_super_expression] = STATE(1667),
    [sym_if_statement] = STATE(1667),
    [sym_switch_statement] = STATE(1667),
    [sym_key_path_expression] = STATE(1667),
    [sym_key_path_string_expression] = STATE(1667),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1667),
    [sym__equality_operator] = STATE(1667),
    [sym__comparison_operator] = STATE(1667),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1667),
    [sym__multiplicative_operator] = STATE(1667),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1667),
    [sym_value_parameter_pack] = STATE(1667),
    [sym_value_pack_expansion] = STATE(1667),
    [sym__referenceable_operator] = STATE(1667),
    [sym__equal_sign] = STATE(1667),
    [sym__eq_eq] = STATE(1667),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1667),
    [sym_diagnostic] = STATE(1667),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1650),
    [sym_real_literal] = ACTIONS(1652),
    [sym_integer_literal] = ACTIONS(1650),
    [sym_hex_literal] = ACTIONS(1650),
    [sym_oct_literal] = ACTIONS(1652),
    [sym_bin_literal] = ACTIONS(1652),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1650),
    [anon_sym_GT] = ACTIONS(1650),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1652),
    [anon_sym_DASH_EQ] = ACTIONS(1652),
    [anon_sym_STAR_EQ] = ACTIONS(1652),
    [anon_sym_SLASH_EQ] = ACTIONS(1652),
    [anon_sym_PERCENT_EQ] = ACTIONS(1652),
    [anon_sym_BANG_EQ] = ACTIONS(1650),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1652),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1652),
    [anon_sym_LT_EQ] = ACTIONS(1652),
    [anon_sym_GT_EQ] = ACTIONS(1652),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1650),
    [anon_sym_SLASH] = ACTIONS(1650),
    [anon_sym_PERCENT] = ACTIONS(1650),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1652),
    [anon_sym_CARET] = ACTIONS(1650),
    [anon_sym_LT_LT] = ACTIONS(1652),
    [anon_sym_GT_GT] = ACTIONS(1652),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1652),
    [sym__eq_eq_custom] = ACTIONS(1652),
    [sym__plus_then_ws] = ACTIONS(1652),
    [sym__minus_then_ws] = ACTIONS(1652),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [714] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1566),
    [sym_boolean_literal] = STATE(1566),
    [sym__string_literal] = STATE(1566),
    [sym_line_string_literal] = STATE(1566),
    [sym_multi_line_string_literal] = STATE(1566),
    [sym_raw_string_literal] = STATE(1566),
    [sym_regex_literal] = STATE(1566),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1566),
    [sym__unary_expression] = STATE(1566),
    [sym_postfix_expression] = STATE(1566),
    [sym_constructor_expression] = STATE(1566),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1566),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1566),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1566),
    [sym_prefix_expression] = STATE(1566),
    [sym_as_expression] = STATE(1566),
    [sym_selector_expression] = STATE(1566),
    [sym__binary_expression] = STATE(1566),
    [sym_multiplicative_expression] = STATE(1566),
    [sym_additive_expression] = STATE(1566),
    [sym_range_expression] = STATE(1566),
    [sym_infix_expression] = STATE(1566),
    [sym_nil_coalescing_expression] = STATE(1566),
    [sym_check_expression] = STATE(1566),
    [sym_comparison_expression] = STATE(1566),
    [sym_equality_expression] = STATE(1566),
    [sym_conjunction_expression] = STATE(1566),
    [sym_disjunction_expression] = STATE(1566),
    [sym_bitwise_operation] = STATE(1566),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1566),
    [sym_await_expression] = STATE(1566),
    [sym__await_operator] = STATE(712),
    [sym_ternary_expression] = STATE(1566),
    [sym_call_expression] = STATE(1566),
    [sym_macro_invocation] = STATE(1566),
    [sym__primary_expression] = STATE(1566),
    [sym_tuple_expression] = STATE(1566),
    [sym_array_literal] = STATE(1566),
    [sym_dictionary_literal] = STATE(1566),
    [sym_special_literal] = STATE(1566),
    [sym_playground_literal] = STATE(1566),
    [sym_lambda_literal] = STATE(1566),
    [sym_self_expression] = STATE(1566),
    [sym_super_expression] = STATE(1566),
    [sym_if_statement] = STATE(1566),
    [sym_switch_statement] = STATE(1566),
    [sym_key_path_expression] = STATE(1566),
    [sym_key_path_string_expression] = STATE(1566),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1566),
    [sym__equality_operator] = STATE(1566),
    [sym__comparison_operator] = STATE(1566),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1566),
    [sym__multiplicative_operator] = STATE(1566),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym_assignment] = STATE(1566),
    [sym_value_parameter_pack] = STATE(1566),
    [sym_value_pack_expansion] = STATE(1566),
    [sym__referenceable_operator] = STATE(1566),
    [sym__equal_sign] = STATE(1566),
    [sym__eq_eq] = STATE(1566),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1566),
    [sym_diagnostic] = STATE(1566),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(2570),
    [sym_real_literal] = ACTIONS(2572),
    [sym_integer_literal] = ACTIONS(2570),
    [sym_hex_literal] = ACTIONS(2570),
    [sym_oct_literal] = ACTIONS(2572),
    [sym_bin_literal] = ACTIONS(2572),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(2570),
    [anon_sym_GT] = ACTIONS(2570),
    [anon_sym_await] = ACTIONS(1067),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2572),
    [anon_sym_DASH_EQ] = ACTIONS(2572),
    [anon_sym_STAR_EQ] = ACTIONS(2572),
    [anon_sym_SLASH_EQ] = ACTIONS(2572),
    [anon_sym_PERCENT_EQ] = ACTIONS(2572),
    [anon_sym_BANG_EQ] = ACTIONS(2570),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2572),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2572),
    [anon_sym_LT_EQ] = ACTIONS(2572),
    [anon_sym_GT_EQ] = ACTIONS(2572),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(2570),
    [anon_sym_SLASH] = ACTIONS(2570),
    [anon_sym_PERCENT] = ACTIONS(2570),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(2572),
    [anon_sym_CARET] = ACTIONS(2570),
    [anon_sym_LT_LT] = ACTIONS(2572),
    [anon_sym_GT_GT] = ACTIONS(2572),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(2572),
    [sym__eq_eq_custom] = ACTIONS(2572),
    [sym__plus_then_ws] = ACTIONS(2572),
    [sym__minus_then_ws] = ACTIONS(2572),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [715] = {
    [sym_simple_identifier] = STATE(3023),
    [sym__contextual_simple_identifier] = STATE(2652),
    [sym__basic_literal] = STATE(1567),
    [sym_boolean_literal] = STATE(1567),
    [sym__string_literal] = STATE(1567),
    [sym_line_string_literal] = STATE(1567),
    [sym_multi_line_string_literal] = STATE(1567),
    [sym_raw_string_literal] = STATE(1567),
    [sym_regex_literal] = STATE(1567),
    [sym__extended_regex_literal] = STATE(3428),
    [sym__multiline_regex_literal] = STATE(3428),
    [sym_user_type] = STATE(6368),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6368),
    [sym_dictionary_type] = STATE(6368),
    [sym__expression] = STATE(1567),
    [sym__unary_expression] = STATE(1567),
    [sym_postfix_expression] = STATE(1567),
    [sym_constructor_expression] = STATE(1567),
    [sym__parenthesized_type] = STATE(8119),
    [sym_navigation_expression] = STATE(1567),
    [sym__navigable_type_expression] = STATE(8122),
    [sym_open_start_range_expression] = STATE(1567),
    [sym__range_operator] = STATE(604),
    [sym_open_end_range_expression] = STATE(1567),
    [sym_prefix_expression] = STATE(1567),
    [sym_as_expression] = STATE(1567),
    [sym_selector_expression] = STATE(1567),
    [sym__binary_expression] = STATE(1567),
    [sym_multiplicative_expression] = STATE(1567),
    [sym_additive_expression] = STATE(1567),
    [sym_range_expression] = STATE(1567),
    [sym_infix_expression] = STATE(1567),
    [sym_nil_coalescing_expression] = STATE(1567),
    [sym_check_expression] = STATE(1567),
    [sym_comparison_expression] = STATE(1567),
    [sym_equality_expression] = STATE(1567),
    [sym_conjunction_expression] = STATE(1567),
    [sym_disjunction_expression] = STATE(1567),
    [sym_bitwise_operation] = STATE(1567),
    [sym_custom_operator] = STATE(1207),
    [sym_try_expression] = STATE(1567),
    [sym_await_expression] = STATE(1567),
    [sym__await_operator] = STATE(605),
    [sym_ternary_expression] = STATE(1567),
    [sym_call_expression] = STATE(1567),
    [sym_macro_invocation] = STATE(1567),
    [sym__primary_expression] = STATE(1567),
    [sym_tuple_expression] = STATE(1567),
    [sym_array_literal] = STATE(1567),
    [sym_dictionary_literal] = STATE(1567),
    [sym_special_literal] = STATE(1567),
    [sym_playground_literal] = STATE(1567),
    [sym_lambda_literal] = STATE(1567),
    [sym_self_expression] = STATE(1567),
    [sym_super_expression] = STATE(1567),
    [sym_if_statement] = STATE(1567),
    [sym_switch_statement] = STATE(1567),
    [sym_key_path_expression] = STATE(1567),
    [sym_key_path_string_expression] = STATE(1567),
    [sym_try_operator] = STATE(606),
    [sym__assignment_and_operator] = STATE(1567),
    [sym__equality_operator] = STATE(1567),
    [sym__comparison_operator] = STATE(1567),
    [sym__three_dot_operator] = STATE(1208),
    [sym__open_ended_range_operator] = STATE(604),
    [sym__additive_operator] = STATE(1567),
    [sym__multiplicative_operator] = STATE(1567),
    [sym__prefix_unary_operator] = STATE(616),
    [sym_directly_assignable_expression] = STATE(6371),
    [sym_assignment] = STATE(1567),
    [sym_value_parameter_pack] = STATE(1567),
    [sym_value_pack_expansion] = STATE(1567),
    [sym__referenceable_operator] = STATE(1567),
    [sym__equal_sign] = STATE(1567),
    [sym__eq_eq] = STATE(1567),
    [sym__dot] = STATE(616),
    [sym__hash_symbol] = STATE(4844),
    [sym_bang] = STATE(1207),
    [sym__parameter_ownership_modifier] = STATE(2652),
    [sym_directive] = STATE(1567),
    [sym_diagnostic] = STATE(1567),
    [aux_sym_raw_string_literal_repeat1] = STATE(8127),
    [anon_sym_BANG] = ACTIONS(1195),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1197),
    [aux_sym_simple_identifier_token2] = ACTIONS(1199),
    [aux_sym_simple_identifier_token3] = ACTIONS(1199),
    [aux_sym_simple_identifier_token4] = ACTIONS(1199),
    [anon_sym_actor] = ACTIONS(1197),
    [anon_sym_async] = ACTIONS(1197),
    [anon_sym_each] = ACTIONS(1201),
    [anon_sym_lazy] = ACTIONS(1197),
    [anon_sym_repeat] = ACTIONS(1203),
    [anon_sym_package] = ACTIONS(1197),
    [anon_sym_nil] = ACTIONS(2574),
    [sym_real_literal] = ACTIONS(2576),
    [sym_integer_literal] = ACTIONS(2574),
    [sym_hex_literal] = ACTIONS(2574),
    [sym_oct_literal] = ACTIONS(2576),
    [sym_bin_literal] = ACTIONS(2576),
    [anon_sym_true] = ACTIONS(1209),
    [anon_sym_false] = ACTIONS(1209),
    [anon_sym_DQUOTE] = ACTIONS(1211),
    [anon_sym_BSLASH] = ACTIONS(1213),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1215),
    [sym__oneline_regex_literal] = ACTIONS(1217),
    [anon_sym_LPAREN] = ACTIONS(1219),
    [anon_sym_LBRACK] = ACTIONS(1221),
    [anon_sym_AMP] = ACTIONS(1223),
    [anon_sym_TILDE] = ACTIONS(1223),
    [anon_sym_if] = ACTIONS(1225),
    [anon_sym_switch] = ACTIONS(1227),
    [aux_sym_custom_operator_token1] = ACTIONS(1229),
    [anon_sym_LT] = ACTIONS(2574),
    [anon_sym_GT] = ACTIONS(2574),
    [anon_sym_await] = ACTIONS(1231),
    [anon_sym_LBRACE] = ACTIONS(1233),
    [anon_sym_CARET_LBRACE] = ACTIONS(1233),
    [anon_sym_self] = ACTIONS(1235),
    [anon_sym_super] = ACTIONS(1237),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2576),
    [anon_sym_DASH_EQ] = ACTIONS(2576),
    [anon_sym_STAR_EQ] = ACTIONS(2576),
    [anon_sym_SLASH_EQ] = ACTIONS(2576),
    [anon_sym_PERCENT_EQ] = ACTIONS(2576),
    [anon_sym_BANG_EQ] = ACTIONS(2574),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2576),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2576),
    [anon_sym_LT_EQ] = ACTIONS(2576),
    [anon_sym_GT_EQ] = ACTIONS(2576),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1241),
    [anon_sym_PLUS] = ACTIONS(1243),
    [anon_sym_DASH] = ACTIONS(1243),
    [anon_sym_STAR] = ACTIONS(2574),
    [anon_sym_SLASH] = ACTIONS(2574),
    [anon_sym_PERCENT] = ACTIONS(2574),
    [anon_sym_PLUS_PLUS] = ACTIONS(1223),
    [anon_sym_DASH_DASH] = ACTIONS(1223),
    [anon_sym_PIPE] = ACTIONS(2576),
    [anon_sym_CARET] = ACTIONS(2574),
    [anon_sym_LT_LT] = ACTIONS(2576),
    [anon_sym_GT_GT] = ACTIONS(2576),
    [anon_sym_borrowing] = ACTIONS(1197),
    [anon_sym_consuming] = ACTIONS(1197),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1245),
    [sym__dot_custom] = ACTIONS(1247),
    [sym__eq_custom] = ACTIONS(2576),
    [sym__eq_eq_custom] = ACTIONS(2576),
    [sym__plus_then_ws] = ACTIONS(2576),
    [sym__minus_then_ws] = ACTIONS(2576),
    [sym__bang_custom] = ACTIONS(1249),
    [sym__custom_operator] = ACTIONS(1229),
    [sym__hash_symbol_custom] = ACTIONS(1251),
    [sym__directive_if] = ACTIONS(1253),
    [sym__directive_elseif] = ACTIONS(1253),
    [sym__directive_else] = ACTIONS(1255),
    [sym__directive_endif] = ACTIONS(1255),
  },
  [716] = {
    [sym_simple_identifier] = STATE(2645),
    [sym__contextual_simple_identifier] = STATE(2445),
    [sym__basic_literal] = STATE(1490),
    [sym_boolean_literal] = STATE(1490),
    [sym__string_literal] = STATE(1490),
    [sym_line_string_literal] = STATE(1490),
    [sym_multi_line_string_literal] = STATE(1490),
    [sym_raw_string_literal] = STATE(1490),
    [sym_regex_literal] = STATE(1490),
    [sym__extended_regex_literal] = STATE(2955),
    [sym__multiline_regex_literal] = STATE(2955),
    [sym_user_type] = STATE(6382),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6382),
    [sym_dictionary_type] = STATE(6382),
    [sym__expression] = STATE(1490),
    [sym__unary_expression] = STATE(1490),
    [sym_postfix_expression] = STATE(1490),
    [sym_constructor_expression] = STATE(1490),
    [sym__parenthesized_type] = STATE(7692),
    [sym_navigation_expression] = STATE(1490),
    [sym__navigable_type_expression] = STATE(7690),
    [sym_open_start_range_expression] = STATE(1490),
    [sym__range_operator] = STATE(672),
    [sym_open_end_range_expression] = STATE(1490),
    [sym_prefix_expression] = STATE(1490),
    [sym_as_expression] = STATE(1490),
    [sym_selector_expression] = STATE(1490),
    [sym__binary_expression] = STATE(1490),
    [sym_multiplicative_expression] = STATE(1490),
    [sym_additive_expression] = STATE(1490),
    [sym_range_expression] = STATE(1490),
    [sym_infix_expression] = STATE(1490),
    [sym_nil_coalescing_expression] = STATE(1490),
    [sym_check_expression] = STATE(1490),
    [sym_comparison_expression] = STATE(1490),
    [sym_equality_expression] = STATE(1490),
    [sym_conjunction_expression] = STATE(1490),
    [sym_disjunction_expression] = STATE(1490),
    [sym_bitwise_operation] = STATE(1490),
    [sym_custom_operator] = STATE(1170),
    [sym_try_expression] = STATE(1490),
    [sym_await_expression] = STATE(1490),
    [sym__await_operator] = STATE(716),
    [sym_ternary_expression] = STATE(2944),
    [sym_call_expression] = STATE(2942),
    [sym_macro_invocation] = STATE(1490),
    [sym__primary_expression] = STATE(1490),
    [sym_tuple_expression] = STATE(1490),
    [sym_array_literal] = STATE(1490),
    [sym_dictionary_literal] = STATE(1490),
    [sym_special_literal] = STATE(1490),
    [sym_playground_literal] = STATE(1490),
    [sym_lambda_literal] = STATE(1490),
    [sym_self_expression] = STATE(1490),
    [sym_super_expression] = STATE(1490),
    [sym_if_statement] = STATE(1490),
    [sym_switch_statement] = STATE(1490),
    [sym_key_path_expression] = STATE(1490),
    [sym_key_path_string_expression] = STATE(1490),
    [sym_try_operator] = STATE(732),
    [sym__assignment_and_operator] = STATE(1490),
    [sym__equality_operator] = STATE(1490),
    [sym__comparison_operator] = STATE(1490),
    [sym__three_dot_operator] = STATE(1173),
    [sym__open_ended_range_operator] = STATE(672),
    [sym__additive_operator] = STATE(1490),
    [sym__multiplicative_operator] = STATE(1490),
    [sym__prefix_unary_operator] = STATE(647),
    [sym_directly_assignable_expression] = STATE(6379),
    [sym_assignment] = STATE(1490),
    [sym_value_parameter_pack] = STATE(1490),
    [sym_value_pack_expansion] = STATE(1490),
    [sym__referenceable_operator] = STATE(1490),
    [sym__equal_sign] = STATE(1490),
    [sym__eq_eq] = STATE(1490),
    [sym__dot] = STATE(647),
    [sym__hash_symbol] = STATE(4854),
    [sym_bang] = STATE(1170),
    [sym__parameter_ownership_modifier] = STATE(2445),
    [sym_directive] = STATE(1490),
    [sym_diagnostic] = STATE(1490),
    [aux_sym_raw_string_literal_repeat1] = STATE(7509),
    [anon_sym_BANG] = ACTIONS(1119),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1121),
    [aux_sym_simple_identifier_token2] = ACTIONS(1123),
    [aux_sym_simple_identifier_token3] = ACTIONS(1123),
    [aux_sym_simple_identifier_token4] = ACTIONS(1123),
    [anon_sym_actor] = ACTIONS(1121),
    [anon_sym_async] = ACTIONS(1121),
    [anon_sym_each] = ACTIONS(1125),
    [anon_sym_lazy] = ACTIONS(1121),
    [anon_sym_repeat] = ACTIONS(1127),
    [anon_sym_package] = ACTIONS(1121),
    [anon_sym_nil] = ACTIONS(2578),
    [sym_real_literal] = ACTIONS(2580),
    [sym_integer_literal] = ACTIONS(2578),
    [sym_hex_literal] = ACTIONS(2578),
    [sym_oct_literal] = ACTIONS(2580),
    [sym_bin_literal] = ACTIONS(2580),
    [anon_sym_true] = ACTIONS(1133),
    [anon_sym_false] = ACTIONS(1133),
    [anon_sym_DQUOTE] = ACTIONS(1135),
    [anon_sym_BSLASH] = ACTIONS(1137),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1139),
    [sym__oneline_regex_literal] = ACTIONS(1141),
    [anon_sym_LPAREN] = ACTIONS(1143),
    [anon_sym_LBRACK] = ACTIONS(1145),
    [anon_sym_AMP] = ACTIONS(1147),
    [anon_sym_TILDE] = ACTIONS(1147),
    [anon_sym_if] = ACTIONS(1149),
    [anon_sym_switch] = ACTIONS(1151),
    [aux_sym_custom_operator_token1] = ACTIONS(1153),
    [anon_sym_LT] = ACTIONS(2578),
    [anon_sym_GT] = ACTIONS(2578),
    [anon_sym_await] = ACTIONS(1155),
    [anon_sym_LBRACE] = ACTIONS(1157),
    [anon_sym_CARET_LBRACE] = ACTIONS(1157),
    [anon_sym_self] = ACTIONS(1159),
    [anon_sym_super] = ACTIONS(1161),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2580),
    [anon_sym_DASH_EQ] = ACTIONS(2580),
    [anon_sym_STAR_EQ] = ACTIONS(2580),
    [anon_sym_SLASH_EQ] = ACTIONS(2580),
    [anon_sym_PERCENT_EQ] = ACTIONS(2580),
    [anon_sym_BANG_EQ] = ACTIONS(2578),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2580),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2580),
    [anon_sym_LT_EQ] = ACTIONS(2580),
    [anon_sym_GT_EQ] = ACTIONS(2580),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1163),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1165),
    [anon_sym_PLUS] = ACTIONS(1167),
    [anon_sym_DASH] = ACTIONS(1167),
    [anon_sym_STAR] = ACTIONS(2578),
    [anon_sym_SLASH] = ACTIONS(2578),
    [anon_sym_PERCENT] = ACTIONS(2578),
    [anon_sym_PLUS_PLUS] = ACTIONS(1147),
    [anon_sym_DASH_DASH] = ACTIONS(1147),
    [anon_sym_PIPE] = ACTIONS(2580),
    [anon_sym_CARET] = ACTIONS(2578),
    [anon_sym_LT_LT] = ACTIONS(2580),
    [anon_sym_GT_GT] = ACTIONS(2580),
    [anon_sym_borrowing] = ACTIONS(1121),
    [anon_sym_consuming] = ACTIONS(1121),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1169),
    [sym__dot_custom] = ACTIONS(1171),
    [sym__eq_custom] = ACTIONS(2580),
    [sym__eq_eq_custom] = ACTIONS(2580),
    [sym__plus_then_ws] = ACTIONS(2580),
    [sym__minus_then_ws] = ACTIONS(2580),
    [sym__bang_custom] = ACTIONS(1173),
    [sym__custom_operator] = ACTIONS(1153),
    [sym__hash_symbol_custom] = ACTIONS(1175),
    [sym__directive_if] = ACTIONS(1177),
    [sym__directive_elseif] = ACTIONS(1177),
    [sym__directive_else] = ACTIONS(1179),
    [sym__directive_endif] = ACTIONS(1179),
  },
  [717] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1569),
    [sym_boolean_literal] = STATE(1569),
    [sym__string_literal] = STATE(1569),
    [sym_line_string_literal] = STATE(1569),
    [sym_multi_line_string_literal] = STATE(1569),
    [sym_raw_string_literal] = STATE(1569),
    [sym_regex_literal] = STATE(1569),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1569),
    [sym__unary_expression] = STATE(1569),
    [sym_postfix_expression] = STATE(1569),
    [sym_constructor_expression] = STATE(1569),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1569),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1569),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1569),
    [sym_prefix_expression] = STATE(1569),
    [sym_as_expression] = STATE(1569),
    [sym_selector_expression] = STATE(1569),
    [sym__binary_expression] = STATE(1569),
    [sym_multiplicative_expression] = STATE(1569),
    [sym_additive_expression] = STATE(1569),
    [sym_range_expression] = STATE(1569),
    [sym_infix_expression] = STATE(1569),
    [sym_nil_coalescing_expression] = STATE(1569),
    [sym_check_expression] = STATE(1569),
    [sym_comparison_expression] = STATE(1569),
    [sym_equality_expression] = STATE(1569),
    [sym_conjunction_expression] = STATE(1569),
    [sym_disjunction_expression] = STATE(1569),
    [sym_bitwise_operation] = STATE(1569),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1569),
    [sym_await_expression] = STATE(1569),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1569),
    [sym_call_expression] = STATE(1569),
    [sym_macro_invocation] = STATE(1569),
    [sym__primary_expression] = STATE(1569),
    [sym_tuple_expression] = STATE(1569),
    [sym_array_literal] = STATE(1569),
    [sym_dictionary_literal] = STATE(1569),
    [sym_special_literal] = STATE(1569),
    [sym_playground_literal] = STATE(1569),
    [sym_lambda_literal] = STATE(1569),
    [sym_self_expression] = STATE(1569),
    [sym_super_expression] = STATE(1569),
    [sym_if_statement] = STATE(1569),
    [sym_switch_statement] = STATE(1569),
    [sym_key_path_expression] = STATE(1569),
    [sym_key_path_string_expression] = STATE(1569),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1569),
    [sym__equality_operator] = STATE(1569),
    [sym__comparison_operator] = STATE(1569),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1569),
    [sym__multiplicative_operator] = STATE(1569),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1569),
    [sym_value_parameter_pack] = STATE(1569),
    [sym_value_pack_expansion] = STATE(1569),
    [sym__referenceable_operator] = STATE(1569),
    [sym__equal_sign] = STATE(1569),
    [sym__eq_eq] = STATE(1569),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1569),
    [sym_diagnostic] = STATE(1569),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2582),
    [sym_real_literal] = ACTIONS(2584),
    [sym_integer_literal] = ACTIONS(2582),
    [sym_hex_literal] = ACTIONS(2582),
    [sym_oct_literal] = ACTIONS(2584),
    [sym_bin_literal] = ACTIONS(2584),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2582),
    [anon_sym_GT] = ACTIONS(2582),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2584),
    [anon_sym_DASH_EQ] = ACTIONS(2584),
    [anon_sym_STAR_EQ] = ACTIONS(2584),
    [anon_sym_SLASH_EQ] = ACTIONS(2584),
    [anon_sym_PERCENT_EQ] = ACTIONS(2584),
    [anon_sym_BANG_EQ] = ACTIONS(2582),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2584),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2584),
    [anon_sym_LT_EQ] = ACTIONS(2584),
    [anon_sym_GT_EQ] = ACTIONS(2584),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2582),
    [anon_sym_SLASH] = ACTIONS(2582),
    [anon_sym_PERCENT] = ACTIONS(2582),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2584),
    [anon_sym_CARET] = ACTIONS(2582),
    [anon_sym_LT_LT] = ACTIONS(2584),
    [anon_sym_GT_GT] = ACTIONS(2584),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2584),
    [sym__eq_eq_custom] = ACTIONS(2584),
    [sym__plus_then_ws] = ACTIONS(2584),
    [sym__minus_then_ws] = ACTIONS(2584),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [718] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1625),
    [sym_boolean_literal] = STATE(1625),
    [sym__string_literal] = STATE(1625),
    [sym_line_string_literal] = STATE(1625),
    [sym_multi_line_string_literal] = STATE(1625),
    [sym_raw_string_literal] = STATE(1625),
    [sym_regex_literal] = STATE(1625),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1625),
    [sym__unary_expression] = STATE(1625),
    [sym_postfix_expression] = STATE(1625),
    [sym_constructor_expression] = STATE(1625),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1625),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1625),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1625),
    [sym_prefix_expression] = STATE(1625),
    [sym_as_expression] = STATE(1625),
    [sym_selector_expression] = STATE(1625),
    [sym__binary_expression] = STATE(1625),
    [sym_multiplicative_expression] = STATE(1625),
    [sym_additive_expression] = STATE(1625),
    [sym_range_expression] = STATE(1625),
    [sym_infix_expression] = STATE(1625),
    [sym_nil_coalescing_expression] = STATE(1625),
    [sym_check_expression] = STATE(1625),
    [sym_comparison_expression] = STATE(1625),
    [sym_equality_expression] = STATE(1625),
    [sym_conjunction_expression] = STATE(1625),
    [sym_disjunction_expression] = STATE(1625),
    [sym_bitwise_operation] = STATE(1625),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1625),
    [sym_await_expression] = STATE(1625),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1625),
    [sym_call_expression] = STATE(1625),
    [sym_macro_invocation] = STATE(1625),
    [sym__primary_expression] = STATE(1625),
    [sym_tuple_expression] = STATE(1625),
    [sym_array_literal] = STATE(1625),
    [sym_dictionary_literal] = STATE(1625),
    [sym_special_literal] = STATE(1625),
    [sym_playground_literal] = STATE(1625),
    [sym_lambda_literal] = STATE(1625),
    [sym_self_expression] = STATE(1625),
    [sym_super_expression] = STATE(1625),
    [sym_if_statement] = STATE(1625),
    [sym_switch_statement] = STATE(1625),
    [sym_key_path_expression] = STATE(1625),
    [sym_key_path_string_expression] = STATE(1625),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1625),
    [sym__equality_operator] = STATE(1625),
    [sym__comparison_operator] = STATE(1625),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1625),
    [sym__multiplicative_operator] = STATE(1625),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1625),
    [sym_value_parameter_pack] = STATE(1625),
    [sym_value_pack_expansion] = STATE(1625),
    [sym__referenceable_operator] = STATE(1625),
    [sym__equal_sign] = STATE(1625),
    [sym__eq_eq] = STATE(1625),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1625),
    [sym_diagnostic] = STATE(1625),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2586),
    [sym_real_literal] = ACTIONS(2588),
    [sym_integer_literal] = ACTIONS(2586),
    [sym_hex_literal] = ACTIONS(2586),
    [sym_oct_literal] = ACTIONS(2588),
    [sym_bin_literal] = ACTIONS(2588),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2586),
    [anon_sym_GT] = ACTIONS(2586),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2588),
    [anon_sym_DASH_EQ] = ACTIONS(2588),
    [anon_sym_STAR_EQ] = ACTIONS(2588),
    [anon_sym_SLASH_EQ] = ACTIONS(2588),
    [anon_sym_PERCENT_EQ] = ACTIONS(2588),
    [anon_sym_BANG_EQ] = ACTIONS(2586),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2588),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2588),
    [anon_sym_LT_EQ] = ACTIONS(2588),
    [anon_sym_GT_EQ] = ACTIONS(2588),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2586),
    [anon_sym_SLASH] = ACTIONS(2586),
    [anon_sym_PERCENT] = ACTIONS(2586),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2588),
    [anon_sym_CARET] = ACTIONS(2586),
    [anon_sym_LT_LT] = ACTIONS(2588),
    [anon_sym_GT_GT] = ACTIONS(2588),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2588),
    [sym__eq_eq_custom] = ACTIONS(2588),
    [sym__plus_then_ws] = ACTIONS(2588),
    [sym__minus_then_ws] = ACTIONS(2588),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [719] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(751),
    [sym_boolean_literal] = STATE(751),
    [sym__string_literal] = STATE(751),
    [sym_line_string_literal] = STATE(751),
    [sym_multi_line_string_literal] = STATE(751),
    [sym_raw_string_literal] = STATE(751),
    [sym_regex_literal] = STATE(751),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6436),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6436),
    [sym_dictionary_type] = STATE(6436),
    [sym__expression] = STATE(751),
    [sym__unary_expression] = STATE(751),
    [sym_postfix_expression] = STATE(751),
    [sym_constructor_expression] = STATE(751),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(751),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(751),
    [sym__range_operator] = STATE(694),
    [sym_open_end_range_expression] = STATE(751),
    [sym_prefix_expression] = STATE(751),
    [sym_as_expression] = STATE(751),
    [sym_selector_expression] = STATE(751),
    [sym__binary_expression] = STATE(751),
    [sym_multiplicative_expression] = STATE(751),
    [sym_additive_expression] = STATE(751),
    [sym_range_expression] = STATE(751),
    [sym_infix_expression] = STATE(751),
    [sym_nil_coalescing_expression] = STATE(751),
    [sym_check_expression] = STATE(751),
    [sym_comparison_expression] = STATE(751),
    [sym_equality_expression] = STATE(751),
    [sym_conjunction_expression] = STATE(751),
    [sym_disjunction_expression] = STATE(751),
    [sym_bitwise_operation] = STATE(751),
    [sym_custom_operator] = STATE(741),
    [sym_try_expression] = STATE(751),
    [sym_await_expression] = STATE(751),
    [sym__await_operator] = STATE(681),
    [sym_ternary_expression] = STATE(751),
    [sym_call_expression] = STATE(751),
    [sym_macro_invocation] = STATE(751),
    [sym__primary_expression] = STATE(751),
    [sym_tuple_expression] = STATE(751),
    [sym_array_literal] = STATE(751),
    [sym_dictionary_literal] = STATE(751),
    [sym_special_literal] = STATE(751),
    [sym_playground_literal] = STATE(751),
    [sym_lambda_literal] = STATE(751),
    [sym_self_expression] = STATE(751),
    [sym_super_expression] = STATE(751),
    [sym_if_statement] = STATE(751),
    [sym_switch_statement] = STATE(751),
    [sym_key_path_expression] = STATE(751),
    [sym_key_path_string_expression] = STATE(751),
    [sym_try_operator] = STATE(678),
    [sym__assignment_and_operator] = STATE(751),
    [sym__equality_operator] = STATE(751),
    [sym__comparison_operator] = STATE(751),
    [sym__three_dot_operator] = STATE(742),
    [sym__open_ended_range_operator] = STATE(694),
    [sym__additive_operator] = STATE(751),
    [sym__multiplicative_operator] = STATE(751),
    [sym__prefix_unary_operator] = STATE(622),
    [sym_directly_assignable_expression] = STATE(6420),
    [sym_assignment] = STATE(751),
    [sym_value_parameter_pack] = STATE(751),
    [sym_value_pack_expansion] = STATE(751),
    [sym__referenceable_operator] = STATE(751),
    [sym__equal_sign] = STATE(751),
    [sym__eq_eq] = STATE(751),
    [sym__dot] = STATE(622),
    [sym__hash_symbol] = STATE(4852),
    [sym_bang] = STATE(741),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(751),
    [sym_diagnostic] = STATE(751),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(605),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(607),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(609),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2590),
    [sym_real_literal] = ACTIONS(2592),
    [sym_integer_literal] = ACTIONS(2590),
    [sym_hex_literal] = ACTIONS(2590),
    [sym_oct_literal] = ACTIONS(2592),
    [sym_bin_literal] = ACTIONS(2592),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(615),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(625),
    [anon_sym_TILDE] = ACTIONS(625),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(627),
    [aux_sym_custom_operator_token1] = ACTIONS(629),
    [anon_sym_LT] = ACTIONS(2590),
    [anon_sym_GT] = ACTIONS(2590),
    [anon_sym_await] = ACTIONS(631),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2592),
    [anon_sym_DASH_EQ] = ACTIONS(2592),
    [anon_sym_STAR_EQ] = ACTIONS(2592),
    [anon_sym_SLASH_EQ] = ACTIONS(2592),
    [anon_sym_PERCENT_EQ] = ACTIONS(2592),
    [anon_sym_BANG_EQ] = ACTIONS(2590),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2592),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2592),
    [anon_sym_LT_EQ] = ACTIONS(2592),
    [anon_sym_GT_EQ] = ACTIONS(2592),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(635),
    [anon_sym_DOT_DOT_LT] = ACTIONS(637),
    [anon_sym_PLUS] = ACTIONS(639),
    [anon_sym_DASH] = ACTIONS(639),
    [anon_sym_STAR] = ACTIONS(2590),
    [anon_sym_SLASH] = ACTIONS(2590),
    [anon_sym_PERCENT] = ACTIONS(2590),
    [anon_sym_PLUS_PLUS] = ACTIONS(625),
    [anon_sym_DASH_DASH] = ACTIONS(625),
    [anon_sym_PIPE] = ACTIONS(2592),
    [anon_sym_CARET] = ACTIONS(2590),
    [anon_sym_LT_LT] = ACTIONS(2592),
    [anon_sym_GT_GT] = ACTIONS(2592),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(641),
    [sym__eq_custom] = ACTIONS(2592),
    [sym__eq_eq_custom] = ACTIONS(2592),
    [sym__plus_then_ws] = ACTIONS(2592),
    [sym__minus_then_ws] = ACTIONS(2592),
    [sym__bang_custom] = ACTIONS(643),
    [sym__custom_operator] = ACTIONS(629),
    [sym__hash_symbol_custom] = ACTIONS(645),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [720] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1562),
    [sym_boolean_literal] = STATE(1562),
    [sym__string_literal] = STATE(1562),
    [sym_line_string_literal] = STATE(1562),
    [sym_multi_line_string_literal] = STATE(1562),
    [sym_raw_string_literal] = STATE(1562),
    [sym_regex_literal] = STATE(1562),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1562),
    [sym__unary_expression] = STATE(1562),
    [sym_postfix_expression] = STATE(1562),
    [sym_constructor_expression] = STATE(1562),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1562),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1562),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1562),
    [sym_prefix_expression] = STATE(1562),
    [sym_as_expression] = STATE(1562),
    [sym_selector_expression] = STATE(1562),
    [sym__binary_expression] = STATE(1562),
    [sym_multiplicative_expression] = STATE(1562),
    [sym_additive_expression] = STATE(1562),
    [sym_range_expression] = STATE(1562),
    [sym_infix_expression] = STATE(1562),
    [sym_nil_coalescing_expression] = STATE(1562),
    [sym_check_expression] = STATE(1562),
    [sym_comparison_expression] = STATE(1562),
    [sym_equality_expression] = STATE(1562),
    [sym_conjunction_expression] = STATE(1562),
    [sym_disjunction_expression] = STATE(1562),
    [sym_bitwise_operation] = STATE(1562),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1562),
    [sym_await_expression] = STATE(1562),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1562),
    [sym_call_expression] = STATE(1562),
    [sym_macro_invocation] = STATE(1562),
    [sym__primary_expression] = STATE(1562),
    [sym_tuple_expression] = STATE(1562),
    [sym_array_literal] = STATE(1562),
    [sym_dictionary_literal] = STATE(1562),
    [sym_special_literal] = STATE(1562),
    [sym_playground_literal] = STATE(1562),
    [sym_lambda_literal] = STATE(1562),
    [sym_self_expression] = STATE(1562),
    [sym_super_expression] = STATE(1562),
    [sym_if_statement] = STATE(1562),
    [sym_switch_statement] = STATE(1562),
    [sym_key_path_expression] = STATE(1562),
    [sym_key_path_string_expression] = STATE(1562),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1562),
    [sym__equality_operator] = STATE(1562),
    [sym__comparison_operator] = STATE(1562),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1562),
    [sym__multiplicative_operator] = STATE(1562),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1562),
    [sym_value_parameter_pack] = STATE(1562),
    [sym_value_pack_expansion] = STATE(1562),
    [sym__referenceable_operator] = STATE(1562),
    [sym__equal_sign] = STATE(1562),
    [sym__eq_eq] = STATE(1562),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1562),
    [sym_diagnostic] = STATE(1562),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1545),
    [sym_real_literal] = ACTIONS(1547),
    [sym_integer_literal] = ACTIONS(1545),
    [sym_hex_literal] = ACTIONS(1545),
    [sym_oct_literal] = ACTIONS(1547),
    [sym_bin_literal] = ACTIONS(1547),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1545),
    [anon_sym_GT] = ACTIONS(1545),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1547),
    [anon_sym_DASH_EQ] = ACTIONS(1547),
    [anon_sym_STAR_EQ] = ACTIONS(1547),
    [anon_sym_SLASH_EQ] = ACTIONS(1547),
    [anon_sym_PERCENT_EQ] = ACTIONS(1547),
    [anon_sym_BANG_EQ] = ACTIONS(1545),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1547),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1547),
    [anon_sym_LT_EQ] = ACTIONS(1547),
    [anon_sym_GT_EQ] = ACTIONS(1547),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1545),
    [anon_sym_SLASH] = ACTIONS(1545),
    [anon_sym_PERCENT] = ACTIONS(1545),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1547),
    [anon_sym_CARET] = ACTIONS(1545),
    [anon_sym_LT_LT] = ACTIONS(1547),
    [anon_sym_GT_GT] = ACTIONS(1547),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1547),
    [sym__eq_eq_custom] = ACTIONS(1547),
    [sym__plus_then_ws] = ACTIONS(1547),
    [sym__minus_then_ws] = ACTIONS(1547),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [721] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1552),
    [sym_boolean_literal] = STATE(1552),
    [sym__string_literal] = STATE(1552),
    [sym_line_string_literal] = STATE(1552),
    [sym_multi_line_string_literal] = STATE(1552),
    [sym_raw_string_literal] = STATE(1552),
    [sym_regex_literal] = STATE(1552),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1552),
    [sym__unary_expression] = STATE(1552),
    [sym_postfix_expression] = STATE(1552),
    [sym_constructor_expression] = STATE(1552),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1552),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1552),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1552),
    [sym_prefix_expression] = STATE(1552),
    [sym_as_expression] = STATE(1552),
    [sym_selector_expression] = STATE(1552),
    [sym__binary_expression] = STATE(1552),
    [sym_multiplicative_expression] = STATE(1552),
    [sym_additive_expression] = STATE(1552),
    [sym_range_expression] = STATE(1552),
    [sym_infix_expression] = STATE(1552),
    [sym_nil_coalescing_expression] = STATE(1552),
    [sym_check_expression] = STATE(1552),
    [sym_comparison_expression] = STATE(1552),
    [sym_equality_expression] = STATE(1552),
    [sym_conjunction_expression] = STATE(1552),
    [sym_disjunction_expression] = STATE(1552),
    [sym_bitwise_operation] = STATE(1552),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1552),
    [sym_await_expression] = STATE(1552),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1552),
    [sym_call_expression] = STATE(1552),
    [sym_macro_invocation] = STATE(1552),
    [sym__primary_expression] = STATE(1552),
    [sym_tuple_expression] = STATE(1552),
    [sym_array_literal] = STATE(1552),
    [sym_dictionary_literal] = STATE(1552),
    [sym_special_literal] = STATE(1552),
    [sym_playground_literal] = STATE(1552),
    [sym_lambda_literal] = STATE(1552),
    [sym_self_expression] = STATE(1552),
    [sym_super_expression] = STATE(1552),
    [sym_if_statement] = STATE(1552),
    [sym_switch_statement] = STATE(1552),
    [sym_key_path_expression] = STATE(1552),
    [sym_key_path_string_expression] = STATE(1552),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1552),
    [sym__equality_operator] = STATE(1552),
    [sym__comparison_operator] = STATE(1552),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1552),
    [sym__multiplicative_operator] = STATE(1552),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1552),
    [sym_value_parameter_pack] = STATE(1552),
    [sym_value_pack_expansion] = STATE(1552),
    [sym__referenceable_operator] = STATE(1552),
    [sym__equal_sign] = STATE(1552),
    [sym__eq_eq] = STATE(1552),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1552),
    [sym_diagnostic] = STATE(1552),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2594),
    [sym_real_literal] = ACTIONS(2596),
    [sym_integer_literal] = ACTIONS(2594),
    [sym_hex_literal] = ACTIONS(2594),
    [sym_oct_literal] = ACTIONS(2596),
    [sym_bin_literal] = ACTIONS(2596),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2594),
    [anon_sym_GT] = ACTIONS(2594),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2596),
    [anon_sym_DASH_EQ] = ACTIONS(2596),
    [anon_sym_STAR_EQ] = ACTIONS(2596),
    [anon_sym_SLASH_EQ] = ACTIONS(2596),
    [anon_sym_PERCENT_EQ] = ACTIONS(2596),
    [anon_sym_BANG_EQ] = ACTIONS(2594),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2596),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2596),
    [anon_sym_LT_EQ] = ACTIONS(2596),
    [anon_sym_GT_EQ] = ACTIONS(2596),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2594),
    [anon_sym_SLASH] = ACTIONS(2594),
    [anon_sym_PERCENT] = ACTIONS(2594),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2596),
    [anon_sym_CARET] = ACTIONS(2594),
    [anon_sym_LT_LT] = ACTIONS(2596),
    [anon_sym_GT_GT] = ACTIONS(2596),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2596),
    [sym__eq_eq_custom] = ACTIONS(2596),
    [sym__plus_then_ws] = ACTIONS(2596),
    [sym__minus_then_ws] = ACTIONS(2596),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [722] = {
    [sym_simple_identifier] = STATE(1248),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__basic_literal] = STATE(791),
    [sym_boolean_literal] = STATE(791),
    [sym__string_literal] = STATE(791),
    [sym_line_string_literal] = STATE(791),
    [sym_multi_line_string_literal] = STATE(791),
    [sym_raw_string_literal] = STATE(791),
    [sym_regex_literal] = STATE(791),
    [sym__extended_regex_literal] = STATE(1353),
    [sym__multiline_regex_literal] = STATE(1353),
    [sym_user_type] = STATE(6357),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6357),
    [sym_dictionary_type] = STATE(6357),
    [sym__expression] = STATE(791),
    [sym__unary_expression] = STATE(791),
    [sym_postfix_expression] = STATE(791),
    [sym_constructor_expression] = STATE(791),
    [sym__parenthesized_type] = STATE(7888),
    [sym_navigation_expression] = STATE(791),
    [sym__navigable_type_expression] = STATE(7886),
    [sym_open_start_range_expression] = STATE(791),
    [sym__range_operator] = STATE(667),
    [sym_open_end_range_expression] = STATE(791),
    [sym_prefix_expression] = STATE(791),
    [sym_as_expression] = STATE(791),
    [sym_selector_expression] = STATE(791),
    [sym__binary_expression] = STATE(791),
    [sym_multiplicative_expression] = STATE(791),
    [sym_additive_expression] = STATE(791),
    [sym_range_expression] = STATE(791),
    [sym_infix_expression] = STATE(791),
    [sym_nil_coalescing_expression] = STATE(791),
    [sym_check_expression] = STATE(791),
    [sym_comparison_expression] = STATE(791),
    [sym_equality_expression] = STATE(791),
    [sym_conjunction_expression] = STATE(791),
    [sym_disjunction_expression] = STATE(791),
    [sym_bitwise_operation] = STATE(791),
    [sym_custom_operator] = STATE(770),
    [sym_try_expression] = STATE(791),
    [sym_await_expression] = STATE(791),
    [sym__await_operator] = STATE(669),
    [sym_ternary_expression] = STATE(791),
    [sym_call_expression] = STATE(791),
    [sym_macro_invocation] = STATE(791),
    [sym__primary_expression] = STATE(791),
    [sym_tuple_expression] = STATE(791),
    [sym_array_literal] = STATE(791),
    [sym_dictionary_literal] = STATE(791),
    [sym_special_literal] = STATE(791),
    [sym_playground_literal] = STATE(791),
    [sym_lambda_literal] = STATE(791),
    [sym_self_expression] = STATE(791),
    [sym_super_expression] = STATE(791),
    [sym_if_statement] = STATE(791),
    [sym_switch_statement] = STATE(791),
    [sym_key_path_expression] = STATE(791),
    [sym_key_path_string_expression] = STATE(791),
    [sym_try_operator] = STATE(670),
    [sym__assignment_and_operator] = STATE(791),
    [sym__equality_operator] = STATE(791),
    [sym__comparison_operator] = STATE(791),
    [sym__three_dot_operator] = STATE(773),
    [sym__open_ended_range_operator] = STATE(667),
    [sym__additive_operator] = STATE(791),
    [sym__multiplicative_operator] = STATE(791),
    [sym__prefix_unary_operator] = STATE(673),
    [sym_directly_assignable_expression] = STATE(6499),
    [sym_assignment] = STATE(791),
    [sym_value_parameter_pack] = STATE(791),
    [sym_value_pack_expansion] = STATE(791),
    [sym__referenceable_operator] = STATE(791),
    [sym__equal_sign] = STATE(791),
    [sym__eq_eq] = STATE(791),
    [sym__dot] = STATE(673),
    [sym__hash_symbol] = STATE(4849),
    [sym_bang] = STATE(770),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [sym_directive] = STATE(791),
    [sym_diagnostic] = STATE(791),
    [aux_sym_raw_string_literal_repeat1] = STATE(7689),
    [anon_sym_BANG] = ACTIONS(287),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(289),
    [anon_sym_async] = ACTIONS(289),
    [anon_sym_each] = ACTIONS(297),
    [anon_sym_lazy] = ACTIONS(289),
    [anon_sym_repeat] = ACTIONS(733),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_nil] = ACTIONS(2598),
    [sym_real_literal] = ACTIONS(2600),
    [sym_integer_literal] = ACTIONS(2598),
    [sym_hex_literal] = ACTIONS(2598),
    [sym_oct_literal] = ACTIONS(2600),
    [sym_bin_literal] = ACTIONS(2600),
    [anon_sym_true] = ACTIONS(307),
    [anon_sym_false] = ACTIONS(307),
    [anon_sym_DQUOTE] = ACTIONS(309),
    [anon_sym_BSLASH] = ACTIONS(311),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(313),
    [sym__oneline_regex_literal] = ACTIONS(315),
    [anon_sym_LPAREN] = ACTIONS(317),
    [anon_sym_LBRACK] = ACTIONS(319),
    [anon_sym_AMP] = ACTIONS(321),
    [anon_sym_TILDE] = ACTIONS(321),
    [anon_sym_if] = ACTIONS(323),
    [anon_sym_switch] = ACTIONS(325),
    [aux_sym_custom_operator_token1] = ACTIONS(327),
    [anon_sym_LT] = ACTIONS(2598),
    [anon_sym_GT] = ACTIONS(2598),
    [anon_sym_await] = ACTIONS(329),
    [anon_sym_LBRACE] = ACTIONS(331),
    [anon_sym_CARET_LBRACE] = ACTIONS(331),
    [anon_sym_self] = ACTIONS(335),
    [anon_sym_super] = ACTIONS(337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2600),
    [anon_sym_DASH_EQ] = ACTIONS(2600),
    [anon_sym_STAR_EQ] = ACTIONS(2600),
    [anon_sym_SLASH_EQ] = ACTIONS(2600),
    [anon_sym_PERCENT_EQ] = ACTIONS(2600),
    [anon_sym_BANG_EQ] = ACTIONS(2598),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2600),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2600),
    [anon_sym_LT_EQ] = ACTIONS(2600),
    [anon_sym_GT_EQ] = ACTIONS(2600),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(345),
    [anon_sym_PLUS] = ACTIONS(347),
    [anon_sym_DASH] = ACTIONS(347),
    [anon_sym_STAR] = ACTIONS(2598),
    [anon_sym_SLASH] = ACTIONS(2598),
    [anon_sym_PERCENT] = ACTIONS(2598),
    [anon_sym_PLUS_PLUS] = ACTIONS(321),
    [anon_sym_DASH_DASH] = ACTIONS(321),
    [anon_sym_PIPE] = ACTIONS(2600),
    [anon_sym_CARET] = ACTIONS(2598),
    [anon_sym_LT_LT] = ACTIONS(2600),
    [anon_sym_GT_GT] = ACTIONS(2600),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(369),
    [sym__dot_custom] = ACTIONS(371),
    [sym__eq_custom] = ACTIONS(2600),
    [sym__eq_eq_custom] = ACTIONS(2600),
    [sym__plus_then_ws] = ACTIONS(2600),
    [sym__minus_then_ws] = ACTIONS(2600),
    [sym__bang_custom] = ACTIONS(373),
    [sym__custom_operator] = ACTIONS(327),
    [sym__hash_symbol_custom] = ACTIONS(375),
    [sym__directive_if] = ACTIONS(377),
    [sym__directive_elseif] = ACTIONS(377),
    [sym__directive_else] = ACTIONS(379),
    [sym__directive_endif] = ACTIONS(379),
  },
  [723] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1676),
    [sym_boolean_literal] = STATE(1676),
    [sym__string_literal] = STATE(1676),
    [sym_line_string_literal] = STATE(1676),
    [sym_multi_line_string_literal] = STATE(1676),
    [sym_raw_string_literal] = STATE(1676),
    [sym_regex_literal] = STATE(1676),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1676),
    [sym__unary_expression] = STATE(1676),
    [sym_postfix_expression] = STATE(1676),
    [sym_constructor_expression] = STATE(1676),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1676),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1676),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1676),
    [sym_prefix_expression] = STATE(1676),
    [sym_as_expression] = STATE(1676),
    [sym_selector_expression] = STATE(1676),
    [sym__binary_expression] = STATE(1676),
    [sym_multiplicative_expression] = STATE(1676),
    [sym_additive_expression] = STATE(1676),
    [sym_range_expression] = STATE(1676),
    [sym_infix_expression] = STATE(1676),
    [sym_nil_coalescing_expression] = STATE(1676),
    [sym_check_expression] = STATE(1676),
    [sym_comparison_expression] = STATE(1676),
    [sym_equality_expression] = STATE(1676),
    [sym_conjunction_expression] = STATE(1676),
    [sym_disjunction_expression] = STATE(1676),
    [sym_bitwise_operation] = STATE(1676),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1676),
    [sym_await_expression] = STATE(1676),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1676),
    [sym_call_expression] = STATE(1676),
    [sym_macro_invocation] = STATE(1676),
    [sym__primary_expression] = STATE(1676),
    [sym_tuple_expression] = STATE(1676),
    [sym_array_literal] = STATE(1676),
    [sym_dictionary_literal] = STATE(1676),
    [sym_special_literal] = STATE(1676),
    [sym_playground_literal] = STATE(1676),
    [sym_lambda_literal] = STATE(1676),
    [sym_self_expression] = STATE(1676),
    [sym_super_expression] = STATE(1676),
    [sym_if_statement] = STATE(1676),
    [sym_switch_statement] = STATE(1676),
    [sym_key_path_expression] = STATE(1676),
    [sym_key_path_string_expression] = STATE(1676),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1676),
    [sym__equality_operator] = STATE(1676),
    [sym__comparison_operator] = STATE(1676),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1676),
    [sym__multiplicative_operator] = STATE(1676),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1676),
    [sym_value_parameter_pack] = STATE(1676),
    [sym_value_pack_expansion] = STATE(1676),
    [sym__referenceable_operator] = STATE(1676),
    [sym__equal_sign] = STATE(1676),
    [sym__eq_eq] = STATE(1676),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1676),
    [sym_diagnostic] = STATE(1676),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2602),
    [sym_real_literal] = ACTIONS(2604),
    [sym_integer_literal] = ACTIONS(2602),
    [sym_hex_literal] = ACTIONS(2602),
    [sym_oct_literal] = ACTIONS(2604),
    [sym_bin_literal] = ACTIONS(2604),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2602),
    [anon_sym_GT] = ACTIONS(2602),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2604),
    [anon_sym_DASH_EQ] = ACTIONS(2604),
    [anon_sym_STAR_EQ] = ACTIONS(2604),
    [anon_sym_SLASH_EQ] = ACTIONS(2604),
    [anon_sym_PERCENT_EQ] = ACTIONS(2604),
    [anon_sym_BANG_EQ] = ACTIONS(2602),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2604),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2604),
    [anon_sym_LT_EQ] = ACTIONS(2604),
    [anon_sym_GT_EQ] = ACTIONS(2604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2602),
    [anon_sym_SLASH] = ACTIONS(2602),
    [anon_sym_PERCENT] = ACTIONS(2602),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2604),
    [anon_sym_CARET] = ACTIONS(2602),
    [anon_sym_LT_LT] = ACTIONS(2604),
    [anon_sym_GT_GT] = ACTIONS(2604),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2604),
    [sym__eq_eq_custom] = ACTIONS(2604),
    [sym__plus_then_ws] = ACTIONS(2604),
    [sym__minus_then_ws] = ACTIONS(2604),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [724] = {
    [sym_simple_identifier] = STATE(3108),
    [sym__contextual_simple_identifier] = STATE(2967),
    [sym__basic_literal] = STATE(1615),
    [sym_boolean_literal] = STATE(1615),
    [sym__string_literal] = STATE(1615),
    [sym_line_string_literal] = STATE(1615),
    [sym_multi_line_string_literal] = STATE(1615),
    [sym_raw_string_literal] = STATE(1615),
    [sym_regex_literal] = STATE(1615),
    [sym__extended_regex_literal] = STATE(3663),
    [sym__multiline_regex_literal] = STATE(3663),
    [sym_user_type] = STATE(6406),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6406),
    [sym_dictionary_type] = STATE(6406),
    [sym__expression] = STATE(1615),
    [sym__unary_expression] = STATE(1615),
    [sym_postfix_expression] = STATE(1615),
    [sym_constructor_expression] = STATE(1615),
    [sym__parenthesized_type] = STATE(7557),
    [sym_navigation_expression] = STATE(1615),
    [sym__navigable_type_expression] = STATE(7558),
    [sym_open_start_range_expression] = STATE(1615),
    [sym__range_operator] = STATE(592),
    [sym_open_end_range_expression] = STATE(1615),
    [sym_prefix_expression] = STATE(1615),
    [sym_as_expression] = STATE(1615),
    [sym_selector_expression] = STATE(1615),
    [sym__binary_expression] = STATE(1615),
    [sym_multiplicative_expression] = STATE(1615),
    [sym_additive_expression] = STATE(1615),
    [sym_range_expression] = STATE(1615),
    [sym_infix_expression] = STATE(1615),
    [sym_nil_coalescing_expression] = STATE(1615),
    [sym_check_expression] = STATE(1615),
    [sym_comparison_expression] = STATE(1615),
    [sym_equality_expression] = STATE(1615),
    [sym_conjunction_expression] = STATE(1615),
    [sym_disjunction_expression] = STATE(1615),
    [sym_bitwise_operation] = STATE(1615),
    [sym_custom_operator] = STATE(1288),
    [sym_try_expression] = STATE(1615),
    [sym_await_expression] = STATE(1615),
    [sym__await_operator] = STATE(595),
    [sym_ternary_expression] = STATE(1615),
    [sym_call_expression] = STATE(1615),
    [sym_macro_invocation] = STATE(1615),
    [sym__primary_expression] = STATE(1615),
    [sym_tuple_expression] = STATE(1615),
    [sym_array_literal] = STATE(1615),
    [sym_dictionary_literal] = STATE(1615),
    [sym_special_literal] = STATE(1615),
    [sym_playground_literal] = STATE(1615),
    [sym_lambda_literal] = STATE(1615),
    [sym_self_expression] = STATE(1615),
    [sym_super_expression] = STATE(1615),
    [sym_if_statement] = STATE(1615),
    [sym_switch_statement] = STATE(1615),
    [sym_key_path_expression] = STATE(1615),
    [sym_key_path_string_expression] = STATE(1615),
    [sym_try_operator] = STATE(611),
    [sym__assignment_and_operator] = STATE(1615),
    [sym__equality_operator] = STATE(1615),
    [sym__comparison_operator] = STATE(1615),
    [sym__three_dot_operator] = STATE(1257),
    [sym__open_ended_range_operator] = STATE(592),
    [sym__additive_operator] = STATE(1615),
    [sym__multiplicative_operator] = STATE(1615),
    [sym__prefix_unary_operator] = STATE(620),
    [sym_directly_assignable_expression] = STATE(6409),
    [sym_assignment] = STATE(1615),
    [sym_value_parameter_pack] = STATE(1615),
    [sym_value_pack_expansion] = STATE(1615),
    [sym__referenceable_operator] = STATE(1615),
    [sym__equal_sign] = STATE(1615),
    [sym__eq_eq] = STATE(1615),
    [sym__dot] = STATE(620),
    [sym__hash_symbol] = STATE(4853),
    [sym_bang] = STATE(1288),
    [sym__parameter_ownership_modifier] = STATE(2967),
    [sym_directive] = STATE(1615),
    [sym_diagnostic] = STATE(1615),
    [aux_sym_raw_string_literal_repeat1] = STATE(7564),
    [anon_sym_BANG] = ACTIONS(1293),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1295),
    [aux_sym_simple_identifier_token2] = ACTIONS(1297),
    [aux_sym_simple_identifier_token3] = ACTIONS(1297),
    [aux_sym_simple_identifier_token4] = ACTIONS(1297),
    [anon_sym_actor] = ACTIONS(1295),
    [anon_sym_async] = ACTIONS(1295),
    [anon_sym_each] = ACTIONS(1301),
    [anon_sym_lazy] = ACTIONS(1295),
    [anon_sym_repeat] = ACTIONS(1303),
    [anon_sym_package] = ACTIONS(1295),
    [anon_sym_nil] = ACTIONS(2606),
    [sym_real_literal] = ACTIONS(2608),
    [sym_integer_literal] = ACTIONS(2606),
    [sym_hex_literal] = ACTIONS(2606),
    [sym_oct_literal] = ACTIONS(2608),
    [sym_bin_literal] = ACTIONS(2608),
    [anon_sym_true] = ACTIONS(1309),
    [anon_sym_false] = ACTIONS(1309),
    [anon_sym_DQUOTE] = ACTIONS(1311),
    [anon_sym_BSLASH] = ACTIONS(1313),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1315),
    [sym__oneline_regex_literal] = ACTIONS(1317),
    [anon_sym_LPAREN] = ACTIONS(1319),
    [anon_sym_LBRACK] = ACTIONS(1321),
    [anon_sym_AMP] = ACTIONS(1323),
    [anon_sym_TILDE] = ACTIONS(1323),
    [anon_sym_if] = ACTIONS(1325),
    [anon_sym_switch] = ACTIONS(1327),
    [aux_sym_custom_operator_token1] = ACTIONS(1329),
    [anon_sym_LT] = ACTIONS(2606),
    [anon_sym_GT] = ACTIONS(2606),
    [anon_sym_await] = ACTIONS(1331),
    [anon_sym_LBRACE] = ACTIONS(1333),
    [anon_sym_CARET_LBRACE] = ACTIONS(1333),
    [anon_sym_self] = ACTIONS(1335),
    [anon_sym_super] = ACTIONS(1337),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2608),
    [anon_sym_DASH_EQ] = ACTIONS(2608),
    [anon_sym_STAR_EQ] = ACTIONS(2608),
    [anon_sym_SLASH_EQ] = ACTIONS(2608),
    [anon_sym_PERCENT_EQ] = ACTIONS(2608),
    [anon_sym_BANG_EQ] = ACTIONS(2606),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2608),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2608),
    [anon_sym_LT_EQ] = ACTIONS(2608),
    [anon_sym_GT_EQ] = ACTIONS(2608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1341),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1343),
    [anon_sym_PLUS] = ACTIONS(1345),
    [anon_sym_DASH] = ACTIONS(1345),
    [anon_sym_STAR] = ACTIONS(2606),
    [anon_sym_SLASH] = ACTIONS(2606),
    [anon_sym_PERCENT] = ACTIONS(2606),
    [anon_sym_PLUS_PLUS] = ACTIONS(1323),
    [anon_sym_DASH_DASH] = ACTIONS(1323),
    [anon_sym_PIPE] = ACTIONS(2608),
    [anon_sym_CARET] = ACTIONS(2606),
    [anon_sym_LT_LT] = ACTIONS(2608),
    [anon_sym_GT_GT] = ACTIONS(2608),
    [anon_sym_borrowing] = ACTIONS(1295),
    [anon_sym_consuming] = ACTIONS(1295),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1347),
    [sym__dot_custom] = ACTIONS(1349),
    [sym__eq_custom] = ACTIONS(2608),
    [sym__eq_eq_custom] = ACTIONS(2608),
    [sym__plus_then_ws] = ACTIONS(2608),
    [sym__minus_then_ws] = ACTIONS(2608),
    [sym__bang_custom] = ACTIONS(1351),
    [sym__custom_operator] = ACTIONS(1329),
    [sym__hash_symbol_custom] = ACTIONS(1371),
    [sym__directive_if] = ACTIONS(1355),
    [sym__directive_elseif] = ACTIONS(1355),
    [sym__directive_else] = ACTIONS(1357),
    [sym__directive_endif] = ACTIONS(1357),
  },
  [725] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1540),
    [sym_boolean_literal] = STATE(1540),
    [sym__string_literal] = STATE(1540),
    [sym_line_string_literal] = STATE(1540),
    [sym_multi_line_string_literal] = STATE(1540),
    [sym_raw_string_literal] = STATE(1540),
    [sym_regex_literal] = STATE(1540),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1540),
    [sym__unary_expression] = STATE(1540),
    [sym_postfix_expression] = STATE(1540),
    [sym_constructor_expression] = STATE(1540),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1540),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1540),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1540),
    [sym_prefix_expression] = STATE(1540),
    [sym_as_expression] = STATE(1540),
    [sym_selector_expression] = STATE(1540),
    [sym__binary_expression] = STATE(1540),
    [sym_multiplicative_expression] = STATE(1540),
    [sym_additive_expression] = STATE(1540),
    [sym_range_expression] = STATE(1540),
    [sym_infix_expression] = STATE(1540),
    [sym_nil_coalescing_expression] = STATE(1540),
    [sym_check_expression] = STATE(1540),
    [sym_comparison_expression] = STATE(1540),
    [sym_equality_expression] = STATE(1540),
    [sym_conjunction_expression] = STATE(1540),
    [sym_disjunction_expression] = STATE(1540),
    [sym_bitwise_operation] = STATE(1540),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1540),
    [sym_await_expression] = STATE(1540),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1540),
    [sym_call_expression] = STATE(1540),
    [sym_macro_invocation] = STATE(1540),
    [sym__primary_expression] = STATE(1540),
    [sym_tuple_expression] = STATE(1540),
    [sym_array_literal] = STATE(1540),
    [sym_dictionary_literal] = STATE(1540),
    [sym_special_literal] = STATE(1540),
    [sym_playground_literal] = STATE(1540),
    [sym_lambda_literal] = STATE(1540),
    [sym_self_expression] = STATE(1540),
    [sym_super_expression] = STATE(1540),
    [sym_if_statement] = STATE(1540),
    [sym_switch_statement] = STATE(1540),
    [sym_key_path_expression] = STATE(1540),
    [sym_key_path_string_expression] = STATE(1540),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1540),
    [sym__equality_operator] = STATE(1540),
    [sym__comparison_operator] = STATE(1540),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1540),
    [sym__multiplicative_operator] = STATE(1540),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1540),
    [sym_value_parameter_pack] = STATE(1540),
    [sym_value_pack_expansion] = STATE(1540),
    [sym__referenceable_operator] = STATE(1540),
    [sym__equal_sign] = STATE(1540),
    [sym__eq_eq] = STATE(1540),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1540),
    [sym_diagnostic] = STATE(1540),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(837),
    [sym_real_literal] = ACTIONS(839),
    [sym_integer_literal] = ACTIONS(837),
    [sym_hex_literal] = ACTIONS(837),
    [sym_oct_literal] = ACTIONS(839),
    [sym_bin_literal] = ACTIONS(839),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(837),
    [anon_sym_GT] = ACTIONS(837),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(839),
    [anon_sym_DASH_EQ] = ACTIONS(839),
    [anon_sym_STAR_EQ] = ACTIONS(839),
    [anon_sym_SLASH_EQ] = ACTIONS(839),
    [anon_sym_PERCENT_EQ] = ACTIONS(839),
    [anon_sym_BANG_EQ] = ACTIONS(837),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(839),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(839),
    [anon_sym_LT_EQ] = ACTIONS(839),
    [anon_sym_GT_EQ] = ACTIONS(839),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(837),
    [anon_sym_SLASH] = ACTIONS(837),
    [anon_sym_PERCENT] = ACTIONS(837),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(839),
    [anon_sym_CARET] = ACTIONS(837),
    [anon_sym_LT_LT] = ACTIONS(839),
    [anon_sym_GT_GT] = ACTIONS(839),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(839),
    [sym__eq_eq_custom] = ACTIONS(839),
    [sym__plus_then_ws] = ACTIONS(839),
    [sym__minus_then_ws] = ACTIONS(839),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [726] = {
    [sym_simple_identifier] = STATE(2331),
    [sym__contextual_simple_identifier] = STATE(2240),
    [sym__basic_literal] = STATE(1455),
    [sym_boolean_literal] = STATE(1455),
    [sym__string_literal] = STATE(1455),
    [sym_line_string_literal] = STATE(1455),
    [sym_multi_line_string_literal] = STATE(1455),
    [sym_raw_string_literal] = STATE(1455),
    [sym_regex_literal] = STATE(1455),
    [sym__extended_regex_literal] = STATE(2556),
    [sym__multiline_regex_literal] = STATE(2556),
    [sym_user_type] = STATE(6440),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6440),
    [sym_dictionary_type] = STATE(6440),
    [sym__expression] = STATE(1455),
    [sym__unary_expression] = STATE(1455),
    [sym_postfix_expression] = STATE(1455),
    [sym_constructor_expression] = STATE(1455),
    [sym__parenthesized_type] = STATE(7995),
    [sym_navigation_expression] = STATE(1455),
    [sym__navigable_type_expression] = STATE(8059),
    [sym_open_start_range_expression] = STATE(1455),
    [sym__range_operator] = STATE(576),
    [sym_open_end_range_expression] = STATE(1455),
    [sym_prefix_expression] = STATE(1455),
    [sym_as_expression] = STATE(1455),
    [sym_selector_expression] = STATE(1455),
    [sym__binary_expression] = STATE(1455),
    [sym_multiplicative_expression] = STATE(1455),
    [sym_additive_expression] = STATE(1455),
    [sym_range_expression] = STATE(1455),
    [sym_infix_expression] = STATE(1455),
    [sym_nil_coalescing_expression] = STATE(1455),
    [sym_check_expression] = STATE(1455),
    [sym_comparison_expression] = STATE(1455),
    [sym_equality_expression] = STATE(1455),
    [sym_conjunction_expression] = STATE(1455),
    [sym_disjunction_expression] = STATE(1455),
    [sym_bitwise_operation] = STATE(1455),
    [sym_custom_operator] = STATE(1097),
    [sym_try_expression] = STATE(1455),
    [sym_await_expression] = STATE(1455),
    [sym__await_operator] = STATE(575),
    [sym_ternary_expression] = STATE(1455),
    [sym_call_expression] = STATE(1455),
    [sym_macro_invocation] = STATE(1455),
    [sym__primary_expression] = STATE(1455),
    [sym_tuple_expression] = STATE(1455),
    [sym_array_literal] = STATE(1455),
    [sym_dictionary_literal] = STATE(1455),
    [sym_special_literal] = STATE(1455),
    [sym_playground_literal] = STATE(1455),
    [sym_lambda_literal] = STATE(1455),
    [sym_self_expression] = STATE(1455),
    [sym_super_expression] = STATE(1455),
    [sym_if_statement] = STATE(1455),
    [sym_switch_statement] = STATE(1455),
    [sym_key_path_expression] = STATE(1455),
    [sym_key_path_string_expression] = STATE(1455),
    [sym_try_operator] = STATE(648),
    [sym__assignment_and_operator] = STATE(1455),
    [sym__equality_operator] = STATE(1455),
    [sym__comparison_operator] = STATE(1455),
    [sym__three_dot_operator] = STATE(1089),
    [sym__open_ended_range_operator] = STATE(576),
    [sym__additive_operator] = STATE(1455),
    [sym__multiplicative_operator] = STATE(1455),
    [sym__prefix_unary_operator] = STATE(711),
    [sym_directly_assignable_expression] = STATE(6442),
    [sym_assignment] = STATE(1455),
    [sym_value_parameter_pack] = STATE(1455),
    [sym_value_pack_expansion] = STATE(1455),
    [sym__referenceable_operator] = STATE(1455),
    [sym__equal_sign] = STATE(1455),
    [sym__eq_eq] = STATE(1455),
    [sym__dot] = STATE(711),
    [sym__hash_symbol] = STATE(4850),
    [sym_bang] = STATE(1097),
    [sym__parameter_ownership_modifier] = STATE(2240),
    [sym_directive] = STATE(1455),
    [sym_diagnostic] = STATE(1455),
    [aux_sym_raw_string_literal_repeat1] = STATE(7884),
    [anon_sym_BANG] = ACTIONS(969),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(971),
    [aux_sym_simple_identifier_token2] = ACTIONS(973),
    [aux_sym_simple_identifier_token3] = ACTIONS(973),
    [aux_sym_simple_identifier_token4] = ACTIONS(973),
    [anon_sym_actor] = ACTIONS(971),
    [anon_sym_async] = ACTIONS(971),
    [anon_sym_each] = ACTIONS(975),
    [anon_sym_lazy] = ACTIONS(971),
    [anon_sym_repeat] = ACTIONS(977),
    [anon_sym_package] = ACTIONS(971),
    [anon_sym_nil] = ACTIONS(2610),
    [sym_real_literal] = ACTIONS(2612),
    [sym_integer_literal] = ACTIONS(2610),
    [sym_hex_literal] = ACTIONS(2610),
    [sym_oct_literal] = ACTIONS(2612),
    [sym_bin_literal] = ACTIONS(2612),
    [anon_sym_true] = ACTIONS(983),
    [anon_sym_false] = ACTIONS(983),
    [anon_sym_DQUOTE] = ACTIONS(985),
    [anon_sym_BSLASH] = ACTIONS(987),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(989),
    [sym__oneline_regex_literal] = ACTIONS(991),
    [anon_sym_LPAREN] = ACTIONS(993),
    [anon_sym_LBRACK] = ACTIONS(995),
    [anon_sym_AMP] = ACTIONS(997),
    [anon_sym_TILDE] = ACTIONS(997),
    [anon_sym_if] = ACTIONS(999),
    [anon_sym_switch] = ACTIONS(1001),
    [aux_sym_custom_operator_token1] = ACTIONS(1003),
    [anon_sym_LT] = ACTIONS(2610),
    [anon_sym_GT] = ACTIONS(2610),
    [anon_sym_await] = ACTIONS(1005),
    [anon_sym_LBRACE] = ACTIONS(1007),
    [anon_sym_CARET_LBRACE] = ACTIONS(1007),
    [anon_sym_self] = ACTIONS(1009),
    [anon_sym_super] = ACTIONS(1011),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2612),
    [anon_sym_DASH_EQ] = ACTIONS(2612),
    [anon_sym_STAR_EQ] = ACTIONS(2612),
    [anon_sym_SLASH_EQ] = ACTIONS(2612),
    [anon_sym_PERCENT_EQ] = ACTIONS(2612),
    [anon_sym_BANG_EQ] = ACTIONS(2610),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2612),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2612),
    [anon_sym_LT_EQ] = ACTIONS(2612),
    [anon_sym_GT_EQ] = ACTIONS(2612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1013),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1015),
    [anon_sym_PLUS] = ACTIONS(1017),
    [anon_sym_DASH] = ACTIONS(1017),
    [anon_sym_STAR] = ACTIONS(2610),
    [anon_sym_SLASH] = ACTIONS(2610),
    [anon_sym_PERCENT] = ACTIONS(2610),
    [anon_sym_PLUS_PLUS] = ACTIONS(997),
    [anon_sym_DASH_DASH] = ACTIONS(997),
    [anon_sym_PIPE] = ACTIONS(2612),
    [anon_sym_CARET] = ACTIONS(2610),
    [anon_sym_LT_LT] = ACTIONS(2612),
    [anon_sym_GT_GT] = ACTIONS(2612),
    [anon_sym_borrowing] = ACTIONS(971),
    [anon_sym_consuming] = ACTIONS(971),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1019),
    [sym__dot_custom] = ACTIONS(1021),
    [sym__eq_custom] = ACTIONS(2612),
    [sym__eq_eq_custom] = ACTIONS(2612),
    [sym__plus_then_ws] = ACTIONS(2612),
    [sym__minus_then_ws] = ACTIONS(2612),
    [sym__bang_custom] = ACTIONS(1023),
    [sym__custom_operator] = ACTIONS(1003),
    [sym__hash_symbol_custom] = ACTIONS(1025),
    [sym__directive_if] = ACTIONS(1027),
    [sym__directive_elseif] = ACTIONS(1027),
    [sym__directive_else] = ACTIONS(1029),
    [sym__directive_endif] = ACTIONS(1029),
  },
  [727] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1678),
    [sym_boolean_literal] = STATE(1678),
    [sym__string_literal] = STATE(1678),
    [sym_line_string_literal] = STATE(1678),
    [sym_multi_line_string_literal] = STATE(1678),
    [sym_raw_string_literal] = STATE(1678),
    [sym_regex_literal] = STATE(1678),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1678),
    [sym__unary_expression] = STATE(1678),
    [sym_postfix_expression] = STATE(1678),
    [sym_constructor_expression] = STATE(1678),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1678),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1678),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1678),
    [sym_prefix_expression] = STATE(1678),
    [sym_as_expression] = STATE(1678),
    [sym_selector_expression] = STATE(1678),
    [sym__binary_expression] = STATE(1678),
    [sym_multiplicative_expression] = STATE(1678),
    [sym_additive_expression] = STATE(1678),
    [sym_range_expression] = STATE(1678),
    [sym_infix_expression] = STATE(1678),
    [sym_nil_coalescing_expression] = STATE(1678),
    [sym_check_expression] = STATE(1678),
    [sym_comparison_expression] = STATE(1678),
    [sym_equality_expression] = STATE(1678),
    [sym_conjunction_expression] = STATE(1678),
    [sym_disjunction_expression] = STATE(1678),
    [sym_bitwise_operation] = STATE(1678),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1678),
    [sym_await_expression] = STATE(1678),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1678),
    [sym_call_expression] = STATE(1678),
    [sym_macro_invocation] = STATE(1678),
    [sym__primary_expression] = STATE(1678),
    [sym_tuple_expression] = STATE(1678),
    [sym_array_literal] = STATE(1678),
    [sym_dictionary_literal] = STATE(1678),
    [sym_special_literal] = STATE(1678),
    [sym_playground_literal] = STATE(1678),
    [sym_lambda_literal] = STATE(1678),
    [sym_self_expression] = STATE(1678),
    [sym_super_expression] = STATE(1678),
    [sym_if_statement] = STATE(1678),
    [sym_switch_statement] = STATE(1678),
    [sym_key_path_expression] = STATE(1678),
    [sym_key_path_string_expression] = STATE(1678),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1678),
    [sym__equality_operator] = STATE(1678),
    [sym__comparison_operator] = STATE(1678),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1678),
    [sym__multiplicative_operator] = STATE(1678),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1678),
    [sym_value_parameter_pack] = STATE(1678),
    [sym_value_pack_expansion] = STATE(1678),
    [sym__referenceable_operator] = STATE(1678),
    [sym__equal_sign] = STATE(1678),
    [sym__eq_eq] = STATE(1678),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1678),
    [sym_diagnostic] = STATE(1678),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1269),
    [sym_real_literal] = ACTIONS(1271),
    [sym_integer_literal] = ACTIONS(1269),
    [sym_hex_literal] = ACTIONS(1269),
    [sym_oct_literal] = ACTIONS(1271),
    [sym_bin_literal] = ACTIONS(1271),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1269),
    [anon_sym_GT] = ACTIONS(1269),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1271),
    [anon_sym_DASH_EQ] = ACTIONS(1271),
    [anon_sym_STAR_EQ] = ACTIONS(1271),
    [anon_sym_SLASH_EQ] = ACTIONS(1271),
    [anon_sym_PERCENT_EQ] = ACTIONS(1271),
    [anon_sym_BANG_EQ] = ACTIONS(1269),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1271),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1271),
    [anon_sym_LT_EQ] = ACTIONS(1271),
    [anon_sym_GT_EQ] = ACTIONS(1271),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1269),
    [anon_sym_SLASH] = ACTIONS(1269),
    [anon_sym_PERCENT] = ACTIONS(1269),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1271),
    [anon_sym_CARET] = ACTIONS(1269),
    [anon_sym_LT_LT] = ACTIONS(1271),
    [anon_sym_GT_GT] = ACTIONS(1271),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1271),
    [sym__eq_eq_custom] = ACTIONS(1271),
    [sym__plus_then_ws] = ACTIONS(1271),
    [sym__minus_then_ws] = ACTIONS(1271),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [728] = {
    [sym_simple_identifier] = STATE(2985),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__basic_literal] = STATE(1633),
    [sym_boolean_literal] = STATE(1633),
    [sym__string_literal] = STATE(1633),
    [sym_line_string_literal] = STATE(1633),
    [sym_multi_line_string_literal] = STATE(1633),
    [sym_raw_string_literal] = STATE(1633),
    [sym_regex_literal] = STATE(1633),
    [sym__extended_regex_literal] = STATE(3101),
    [sym__multiline_regex_literal] = STATE(3101),
    [sym_user_type] = STATE(6428),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6428),
    [sym_dictionary_type] = STATE(6428),
    [sym__expression] = STATE(1633),
    [sym__unary_expression] = STATE(1633),
    [sym_postfix_expression] = STATE(1633),
    [sym_constructor_expression] = STATE(1633),
    [sym__parenthesized_type] = STATE(7785),
    [sym_navigation_expression] = STATE(1633),
    [sym__navigable_type_expression] = STATE(7786),
    [sym_open_start_range_expression] = STATE(1633),
    [sym__range_operator] = STATE(714),
    [sym_open_end_range_expression] = STATE(1633),
    [sym_prefix_expression] = STATE(1633),
    [sym_as_expression] = STATE(1633),
    [sym_selector_expression] = STATE(1633),
    [sym__binary_expression] = STATE(1633),
    [sym_multiplicative_expression] = STATE(1633),
    [sym_additive_expression] = STATE(1633),
    [sym_range_expression] = STATE(1633),
    [sym_infix_expression] = STATE(1633),
    [sym_nil_coalescing_expression] = STATE(1633),
    [sym_check_expression] = STATE(1633),
    [sym_comparison_expression] = STATE(1633),
    [sym_equality_expression] = STATE(1633),
    [sym_conjunction_expression] = STATE(1633),
    [sym_disjunction_expression] = STATE(1633),
    [sym_bitwise_operation] = STATE(1633),
    [sym_custom_operator] = STATE(1194),
    [sym_try_expression] = STATE(1633),
    [sym_await_expression] = STATE(1633),
    [sym__await_operator] = STATE(712),
    [sym_ternary_expression] = STATE(3171),
    [sym_call_expression] = STATE(3172),
    [sym_macro_invocation] = STATE(1633),
    [sym__primary_expression] = STATE(1633),
    [sym_tuple_expression] = STATE(1633),
    [sym_array_literal] = STATE(1633),
    [sym_dictionary_literal] = STATE(1633),
    [sym_special_literal] = STATE(1633),
    [sym_playground_literal] = STATE(1633),
    [sym_lambda_literal] = STATE(1633),
    [sym_self_expression] = STATE(1633),
    [sym_super_expression] = STATE(1633),
    [sym_if_statement] = STATE(1633),
    [sym_switch_statement] = STATE(1633),
    [sym_key_path_expression] = STATE(1633),
    [sym_key_path_string_expression] = STATE(1633),
    [sym_try_operator] = STATE(710),
    [sym__assignment_and_operator] = STATE(1633),
    [sym__equality_operator] = STATE(1633),
    [sym__comparison_operator] = STATE(1633),
    [sym__three_dot_operator] = STATE(1189),
    [sym__open_ended_range_operator] = STATE(714),
    [sym__additive_operator] = STATE(1633),
    [sym__multiplicative_operator] = STATE(1633),
    [sym__prefix_unary_operator] = STATE(707),
    [sym_directly_assignable_expression] = STATE(6422),
    [sym_assignment] = STATE(1633),
    [sym_value_parameter_pack] = STATE(1633),
    [sym_value_pack_expansion] = STATE(1633),
    [sym__referenceable_operator] = STATE(1633),
    [sym__equal_sign] = STATE(1633),
    [sym__eq_eq] = STATE(1633),
    [sym__dot] = STATE(707),
    [sym__hash_symbol] = STATE(4858),
    [sym_bang] = STATE(1194),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [sym_directive] = STATE(1633),
    [sym_diagnostic] = STATE(1633),
    [aux_sym_raw_string_literal_repeat1] = STATE(7789),
    [anon_sym_BANG] = ACTIONS(1031),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1037),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1039),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_nil] = ACTIONS(2614),
    [sym_real_literal] = ACTIONS(2616),
    [sym_integer_literal] = ACTIONS(2614),
    [sym_hex_literal] = ACTIONS(2614),
    [sym_oct_literal] = ACTIONS(2616),
    [sym_bin_literal] = ACTIONS(2616),
    [anon_sym_true] = ACTIONS(1045),
    [anon_sym_false] = ACTIONS(1045),
    [anon_sym_DQUOTE] = ACTIONS(1047),
    [anon_sym_BSLASH] = ACTIONS(1049),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1051),
    [sym__oneline_regex_literal] = ACTIONS(1053),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_LBRACK] = ACTIONS(1057),
    [anon_sym_AMP] = ACTIONS(1059),
    [anon_sym_TILDE] = ACTIONS(1059),
    [anon_sym_if] = ACTIONS(1061),
    [anon_sym_switch] = ACTIONS(1063),
    [aux_sym_custom_operator_token1] = ACTIONS(1065),
    [anon_sym_LT] = ACTIONS(2614),
    [anon_sym_GT] = ACTIONS(2614),
    [anon_sym_await] = ACTIONS(1067),
    [anon_sym_LBRACE] = ACTIONS(1069),
    [anon_sym_CARET_LBRACE] = ACTIONS(1069),
    [anon_sym_self] = ACTIONS(1071),
    [anon_sym_super] = ACTIONS(1073),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2616),
    [anon_sym_DASH_EQ] = ACTIONS(2616),
    [anon_sym_STAR_EQ] = ACTIONS(2616),
    [anon_sym_SLASH_EQ] = ACTIONS(2616),
    [anon_sym_PERCENT_EQ] = ACTIONS(2616),
    [anon_sym_BANG_EQ] = ACTIONS(2614),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2616),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2616),
    [anon_sym_LT_EQ] = ACTIONS(2616),
    [anon_sym_GT_EQ] = ACTIONS(2616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1079),
    [anon_sym_PLUS] = ACTIONS(1083),
    [anon_sym_DASH] = ACTIONS(1083),
    [anon_sym_STAR] = ACTIONS(2614),
    [anon_sym_SLASH] = ACTIONS(2614),
    [anon_sym_PERCENT] = ACTIONS(2614),
    [anon_sym_PLUS_PLUS] = ACTIONS(1059),
    [anon_sym_DASH_DASH] = ACTIONS(1059),
    [anon_sym_PIPE] = ACTIONS(2616),
    [anon_sym_CARET] = ACTIONS(2614),
    [anon_sym_LT_LT] = ACTIONS(2616),
    [anon_sym_GT_GT] = ACTIONS(2616),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1087),
    [sym__dot_custom] = ACTIONS(1267),
    [sym__eq_custom] = ACTIONS(2616),
    [sym__eq_eq_custom] = ACTIONS(2616),
    [sym__plus_then_ws] = ACTIONS(2616),
    [sym__minus_then_ws] = ACTIONS(2616),
    [sym__bang_custom] = ACTIONS(1091),
    [sym__custom_operator] = ACTIONS(1065),
    [sym__hash_symbol_custom] = ACTIONS(1093),
    [sym__directive_if] = ACTIONS(1095),
    [sym__directive_elseif] = ACTIONS(1095),
    [sym__directive_else] = ACTIONS(1097),
    [sym__directive_endif] = ACTIONS(1097),
  },
  [729] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1657),
    [sym_boolean_literal] = STATE(1657),
    [sym__string_literal] = STATE(1657),
    [sym_line_string_literal] = STATE(1657),
    [sym_multi_line_string_literal] = STATE(1657),
    [sym_raw_string_literal] = STATE(1657),
    [sym_regex_literal] = STATE(1657),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1657),
    [sym__unary_expression] = STATE(1657),
    [sym_postfix_expression] = STATE(1657),
    [sym_constructor_expression] = STATE(1657),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1657),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1657),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1657),
    [sym_prefix_expression] = STATE(1657),
    [sym_as_expression] = STATE(1657),
    [sym_selector_expression] = STATE(1657),
    [sym__binary_expression] = STATE(1657),
    [sym_multiplicative_expression] = STATE(1657),
    [sym_additive_expression] = STATE(1657),
    [sym_range_expression] = STATE(1657),
    [sym_infix_expression] = STATE(1657),
    [sym_nil_coalescing_expression] = STATE(1657),
    [sym_check_expression] = STATE(1657),
    [sym_comparison_expression] = STATE(1657),
    [sym_equality_expression] = STATE(1657),
    [sym_conjunction_expression] = STATE(1657),
    [sym_disjunction_expression] = STATE(1657),
    [sym_bitwise_operation] = STATE(1657),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1657),
    [sym_await_expression] = STATE(1657),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1657),
    [sym_call_expression] = STATE(1657),
    [sym_macro_invocation] = STATE(1657),
    [sym__primary_expression] = STATE(1657),
    [sym_tuple_expression] = STATE(1657),
    [sym_array_literal] = STATE(1657),
    [sym_dictionary_literal] = STATE(1657),
    [sym_special_literal] = STATE(1657),
    [sym_playground_literal] = STATE(1657),
    [sym_lambda_literal] = STATE(1657),
    [sym_self_expression] = STATE(1657),
    [sym_super_expression] = STATE(1657),
    [sym_if_statement] = STATE(1657),
    [sym_switch_statement] = STATE(1657),
    [sym_key_path_expression] = STATE(1657),
    [sym_key_path_string_expression] = STATE(1657),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1657),
    [sym__equality_operator] = STATE(1657),
    [sym__comparison_operator] = STATE(1657),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1657),
    [sym__multiplicative_operator] = STATE(1657),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1657),
    [sym_value_parameter_pack] = STATE(1657),
    [sym_value_pack_expansion] = STATE(1657),
    [sym__referenceable_operator] = STATE(1657),
    [sym__equal_sign] = STATE(1657),
    [sym__eq_eq] = STATE(1657),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1657),
    [sym_diagnostic] = STATE(1657),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2618),
    [sym_real_literal] = ACTIONS(2620),
    [sym_integer_literal] = ACTIONS(2618),
    [sym_hex_literal] = ACTIONS(2618),
    [sym_oct_literal] = ACTIONS(2620),
    [sym_bin_literal] = ACTIONS(2620),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2618),
    [anon_sym_GT] = ACTIONS(2618),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2620),
    [anon_sym_DASH_EQ] = ACTIONS(2620),
    [anon_sym_STAR_EQ] = ACTIONS(2620),
    [anon_sym_SLASH_EQ] = ACTIONS(2620),
    [anon_sym_PERCENT_EQ] = ACTIONS(2620),
    [anon_sym_BANG_EQ] = ACTIONS(2618),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2620),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2620),
    [anon_sym_LT_EQ] = ACTIONS(2620),
    [anon_sym_GT_EQ] = ACTIONS(2620),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2618),
    [anon_sym_SLASH] = ACTIONS(2618),
    [anon_sym_PERCENT] = ACTIONS(2618),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2620),
    [anon_sym_CARET] = ACTIONS(2618),
    [anon_sym_LT_LT] = ACTIONS(2620),
    [anon_sym_GT_GT] = ACTIONS(2620),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2620),
    [sym__eq_eq_custom] = ACTIONS(2620),
    [sym__plus_then_ws] = ACTIONS(2620),
    [sym__minus_then_ws] = ACTIONS(2620),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [730] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1681),
    [sym_boolean_literal] = STATE(1681),
    [sym__string_literal] = STATE(1681),
    [sym_line_string_literal] = STATE(1681),
    [sym_multi_line_string_literal] = STATE(1681),
    [sym_raw_string_literal] = STATE(1681),
    [sym_regex_literal] = STATE(1681),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1681),
    [sym__unary_expression] = STATE(1681),
    [sym_postfix_expression] = STATE(1681),
    [sym_constructor_expression] = STATE(1681),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1681),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1681),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1681),
    [sym_prefix_expression] = STATE(1681),
    [sym_as_expression] = STATE(1681),
    [sym_selector_expression] = STATE(1681),
    [sym__binary_expression] = STATE(1681),
    [sym_multiplicative_expression] = STATE(1681),
    [sym_additive_expression] = STATE(1681),
    [sym_range_expression] = STATE(1681),
    [sym_infix_expression] = STATE(1681),
    [sym_nil_coalescing_expression] = STATE(1681),
    [sym_check_expression] = STATE(1681),
    [sym_comparison_expression] = STATE(1681),
    [sym_equality_expression] = STATE(1681),
    [sym_conjunction_expression] = STATE(1681),
    [sym_disjunction_expression] = STATE(1681),
    [sym_bitwise_operation] = STATE(1681),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1681),
    [sym_await_expression] = STATE(1681),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1681),
    [sym_call_expression] = STATE(1681),
    [sym_macro_invocation] = STATE(1681),
    [sym__primary_expression] = STATE(1681),
    [sym_tuple_expression] = STATE(1681),
    [sym_array_literal] = STATE(1681),
    [sym_dictionary_literal] = STATE(1681),
    [sym_special_literal] = STATE(1681),
    [sym_playground_literal] = STATE(1681),
    [sym_lambda_literal] = STATE(1681),
    [sym_self_expression] = STATE(1681),
    [sym_super_expression] = STATE(1681),
    [sym_if_statement] = STATE(1681),
    [sym_switch_statement] = STATE(1681),
    [sym_key_path_expression] = STATE(1681),
    [sym_key_path_string_expression] = STATE(1681),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1681),
    [sym__equality_operator] = STATE(1681),
    [sym__comparison_operator] = STATE(1681),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1681),
    [sym__multiplicative_operator] = STATE(1681),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1681),
    [sym_value_parameter_pack] = STATE(1681),
    [sym_value_pack_expansion] = STATE(1681),
    [sym__referenceable_operator] = STATE(1681),
    [sym__equal_sign] = STATE(1681),
    [sym__eq_eq] = STATE(1681),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1681),
    [sym_diagnostic] = STATE(1681),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(1257),
    [sym_real_literal] = ACTIONS(1259),
    [sym_integer_literal] = ACTIONS(1257),
    [sym_hex_literal] = ACTIONS(1257),
    [sym_oct_literal] = ACTIONS(1259),
    [sym_bin_literal] = ACTIONS(1259),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(1257),
    [anon_sym_GT] = ACTIONS(1257),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(1259),
    [anon_sym_DASH_EQ] = ACTIONS(1259),
    [anon_sym_STAR_EQ] = ACTIONS(1259),
    [anon_sym_SLASH_EQ] = ACTIONS(1259),
    [anon_sym_PERCENT_EQ] = ACTIONS(1259),
    [anon_sym_BANG_EQ] = ACTIONS(1257),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(1259),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1259),
    [anon_sym_LT_EQ] = ACTIONS(1259),
    [anon_sym_GT_EQ] = ACTIONS(1259),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(1257),
    [anon_sym_SLASH] = ACTIONS(1257),
    [anon_sym_PERCENT] = ACTIONS(1257),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(1259),
    [anon_sym_CARET] = ACTIONS(1257),
    [anon_sym_LT_LT] = ACTIONS(1259),
    [anon_sym_GT_GT] = ACTIONS(1259),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(1259),
    [sym__eq_eq_custom] = ACTIONS(1259),
    [sym__plus_then_ws] = ACTIONS(1259),
    [sym__minus_then_ws] = ACTIONS(1259),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [731] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1638),
    [sym_boolean_literal] = STATE(1638),
    [sym__string_literal] = STATE(1638),
    [sym_line_string_literal] = STATE(1638),
    [sym_multi_line_string_literal] = STATE(1638),
    [sym_raw_string_literal] = STATE(1638),
    [sym_regex_literal] = STATE(1638),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1638),
    [sym__unary_expression] = STATE(1638),
    [sym_postfix_expression] = STATE(1638),
    [sym_constructor_expression] = STATE(1638),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1638),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1638),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1638),
    [sym_prefix_expression] = STATE(1638),
    [sym_as_expression] = STATE(1638),
    [sym_selector_expression] = STATE(1638),
    [sym__binary_expression] = STATE(1638),
    [sym_multiplicative_expression] = STATE(1638),
    [sym_additive_expression] = STATE(1638),
    [sym_range_expression] = STATE(1638),
    [sym_infix_expression] = STATE(1638),
    [sym_nil_coalescing_expression] = STATE(1638),
    [sym_check_expression] = STATE(1638),
    [sym_comparison_expression] = STATE(1638),
    [sym_equality_expression] = STATE(1638),
    [sym_conjunction_expression] = STATE(1638),
    [sym_disjunction_expression] = STATE(1638),
    [sym_bitwise_operation] = STATE(1638),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1638),
    [sym_await_expression] = STATE(1638),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1638),
    [sym_call_expression] = STATE(1638),
    [sym_macro_invocation] = STATE(1638),
    [sym__primary_expression] = STATE(1638),
    [sym_tuple_expression] = STATE(1638),
    [sym_array_literal] = STATE(1638),
    [sym_dictionary_literal] = STATE(1638),
    [sym_special_literal] = STATE(1638),
    [sym_playground_literal] = STATE(1638),
    [sym_lambda_literal] = STATE(1638),
    [sym_self_expression] = STATE(1638),
    [sym_super_expression] = STATE(1638),
    [sym_if_statement] = STATE(1638),
    [sym_switch_statement] = STATE(1638),
    [sym_key_path_expression] = STATE(1638),
    [sym_key_path_string_expression] = STATE(1638),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1638),
    [sym__equality_operator] = STATE(1638),
    [sym__comparison_operator] = STATE(1638),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1638),
    [sym__multiplicative_operator] = STATE(1638),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1638),
    [sym_value_parameter_pack] = STATE(1638),
    [sym_value_pack_expansion] = STATE(1638),
    [sym__referenceable_operator] = STATE(1638),
    [sym__equal_sign] = STATE(1638),
    [sym__eq_eq] = STATE(1638),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1638),
    [sym_diagnostic] = STATE(1638),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2622),
    [sym_real_literal] = ACTIONS(2624),
    [sym_integer_literal] = ACTIONS(2622),
    [sym_hex_literal] = ACTIONS(2622),
    [sym_oct_literal] = ACTIONS(2624),
    [sym_bin_literal] = ACTIONS(2624),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2622),
    [anon_sym_GT] = ACTIONS(2622),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2624),
    [anon_sym_DASH_EQ] = ACTIONS(2624),
    [anon_sym_STAR_EQ] = ACTIONS(2624),
    [anon_sym_SLASH_EQ] = ACTIONS(2624),
    [anon_sym_PERCENT_EQ] = ACTIONS(2624),
    [anon_sym_BANG_EQ] = ACTIONS(2622),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2624),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2624),
    [anon_sym_LT_EQ] = ACTIONS(2624),
    [anon_sym_GT_EQ] = ACTIONS(2624),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2622),
    [anon_sym_SLASH] = ACTIONS(2622),
    [anon_sym_PERCENT] = ACTIONS(2622),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2624),
    [anon_sym_CARET] = ACTIONS(2622),
    [anon_sym_LT_LT] = ACTIONS(2624),
    [anon_sym_GT_GT] = ACTIONS(2624),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2624),
    [sym__eq_eq_custom] = ACTIONS(2624),
    [sym__plus_then_ws] = ACTIONS(2624),
    [sym__minus_then_ws] = ACTIONS(2624),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [732] = {
    [sym_simple_identifier] = STATE(2645),
    [sym__contextual_simple_identifier] = STATE(2445),
    [sym__basic_literal] = STATE(1494),
    [sym_boolean_literal] = STATE(1494),
    [sym__string_literal] = STATE(1494),
    [sym_line_string_literal] = STATE(1494),
    [sym_multi_line_string_literal] = STATE(1494),
    [sym_raw_string_literal] = STATE(1494),
    [sym_regex_literal] = STATE(1494),
    [sym__extended_regex_literal] = STATE(2955),
    [sym__multiline_regex_literal] = STATE(2955),
    [sym_user_type] = STATE(6382),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6382),
    [sym_dictionary_type] = STATE(6382),
    [sym__expression] = STATE(1494),
    [sym__unary_expression] = STATE(1494),
    [sym_postfix_expression] = STATE(1494),
    [sym_constructor_expression] = STATE(1494),
    [sym__parenthesized_type] = STATE(7692),
    [sym_navigation_expression] = STATE(1494),
    [sym__navigable_type_expression] = STATE(7690),
    [sym_open_start_range_expression] = STATE(1494),
    [sym__range_operator] = STATE(672),
    [sym_open_end_range_expression] = STATE(1494),
    [sym_prefix_expression] = STATE(1494),
    [sym_as_expression] = STATE(1494),
    [sym_selector_expression] = STATE(1494),
    [sym__binary_expression] = STATE(2941),
    [sym_multiplicative_expression] = STATE(2941),
    [sym_additive_expression] = STATE(2941),
    [sym_range_expression] = STATE(2941),
    [sym_infix_expression] = STATE(2941),
    [sym_nil_coalescing_expression] = STATE(2941),
    [sym_check_expression] = STATE(2941),
    [sym_comparison_expression] = STATE(2941),
    [sym_equality_expression] = STATE(2941),
    [sym_conjunction_expression] = STATE(2941),
    [sym_disjunction_expression] = STATE(2941),
    [sym_bitwise_operation] = STATE(2941),
    [sym_custom_operator] = STATE(1170),
    [sym_try_expression] = STATE(1494),
    [sym_await_expression] = STATE(1494),
    [sym__await_operator] = STATE(716),
    [sym_ternary_expression] = STATE(2932),
    [sym_call_expression] = STATE(2930),
    [sym_macro_invocation] = STATE(1494),
    [sym__primary_expression] = STATE(1494),
    [sym_tuple_expression] = STATE(1494),
    [sym_array_literal] = STATE(1494),
    [sym_dictionary_literal] = STATE(1494),
    [sym_special_literal] = STATE(1494),
    [sym_playground_literal] = STATE(1494),
    [sym_lambda_literal] = STATE(1494),
    [sym_self_expression] = STATE(1494),
    [sym_super_expression] = STATE(1494),
    [sym_if_statement] = STATE(1494),
    [sym_switch_statement] = STATE(1494),
    [sym_key_path_expression] = STATE(1494),
    [sym_key_path_string_expression] = STATE(1494),
    [sym_try_operator] = STATE(732),
    [sym__assignment_and_operator] = STATE(1494),
    [sym__equality_operator] = STATE(1494),
    [sym__comparison_operator] = STATE(1494),
    [sym__three_dot_operator] = STATE(1173),
    [sym__open_ended_range_operator] = STATE(672),
    [sym__additive_operator] = STATE(1494),
    [sym__multiplicative_operator] = STATE(1494),
    [sym__prefix_unary_operator] = STATE(647),
    [sym_directly_assignable_expression] = STATE(6379),
    [sym_assignment] = STATE(1494),
    [sym_value_parameter_pack] = STATE(1494),
    [sym_value_pack_expansion] = STATE(1494),
    [sym__referenceable_operator] = STATE(1494),
    [sym__equal_sign] = STATE(1494),
    [sym__eq_eq] = STATE(1494),
    [sym__dot] = STATE(647),
    [sym__hash_symbol] = STATE(4854),
    [sym_bang] = STATE(1170),
    [sym__parameter_ownership_modifier] = STATE(2445),
    [sym_directive] = STATE(1494),
    [sym_diagnostic] = STATE(1494),
    [aux_sym_raw_string_literal_repeat1] = STATE(7509),
    [anon_sym_BANG] = ACTIONS(1119),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1121),
    [aux_sym_simple_identifier_token2] = ACTIONS(1123),
    [aux_sym_simple_identifier_token3] = ACTIONS(1123),
    [aux_sym_simple_identifier_token4] = ACTIONS(1123),
    [anon_sym_actor] = ACTIONS(1121),
    [anon_sym_async] = ACTIONS(1121),
    [anon_sym_each] = ACTIONS(1125),
    [anon_sym_lazy] = ACTIONS(1121),
    [anon_sym_repeat] = ACTIONS(1127),
    [anon_sym_package] = ACTIONS(1121),
    [anon_sym_nil] = ACTIONS(2626),
    [sym_real_literal] = ACTIONS(2628),
    [sym_integer_literal] = ACTIONS(2626),
    [sym_hex_literal] = ACTIONS(2626),
    [sym_oct_literal] = ACTIONS(2628),
    [sym_bin_literal] = ACTIONS(2628),
    [anon_sym_true] = ACTIONS(1133),
    [anon_sym_false] = ACTIONS(1133),
    [anon_sym_DQUOTE] = ACTIONS(1135),
    [anon_sym_BSLASH] = ACTIONS(1137),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1139),
    [sym__oneline_regex_literal] = ACTIONS(1141),
    [anon_sym_LPAREN] = ACTIONS(1143),
    [anon_sym_LBRACK] = ACTIONS(1145),
    [anon_sym_AMP] = ACTIONS(1147),
    [anon_sym_TILDE] = ACTIONS(1147),
    [anon_sym_if] = ACTIONS(1149),
    [anon_sym_switch] = ACTIONS(1151),
    [aux_sym_custom_operator_token1] = ACTIONS(1153),
    [anon_sym_LT] = ACTIONS(2626),
    [anon_sym_GT] = ACTIONS(2626),
    [anon_sym_await] = ACTIONS(1155),
    [anon_sym_LBRACE] = ACTIONS(1157),
    [anon_sym_CARET_LBRACE] = ACTIONS(1157),
    [anon_sym_self] = ACTIONS(1159),
    [anon_sym_super] = ACTIONS(1161),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2628),
    [anon_sym_DASH_EQ] = ACTIONS(2628),
    [anon_sym_STAR_EQ] = ACTIONS(2628),
    [anon_sym_SLASH_EQ] = ACTIONS(2628),
    [anon_sym_PERCENT_EQ] = ACTIONS(2628),
    [anon_sym_BANG_EQ] = ACTIONS(2626),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2628),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2628),
    [anon_sym_LT_EQ] = ACTIONS(2628),
    [anon_sym_GT_EQ] = ACTIONS(2628),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1163),
    [anon_sym_DOT_DOT_LT] = ACTIONS(1165),
    [anon_sym_PLUS] = ACTIONS(1167),
    [anon_sym_DASH] = ACTIONS(1167),
    [anon_sym_STAR] = ACTIONS(2626),
    [anon_sym_SLASH] = ACTIONS(2626),
    [anon_sym_PERCENT] = ACTIONS(2626),
    [anon_sym_PLUS_PLUS] = ACTIONS(1147),
    [anon_sym_DASH_DASH] = ACTIONS(1147),
    [anon_sym_PIPE] = ACTIONS(2628),
    [anon_sym_CARET] = ACTIONS(2626),
    [anon_sym_LT_LT] = ACTIONS(2628),
    [anon_sym_GT_GT] = ACTIONS(2628),
    [anon_sym_borrowing] = ACTIONS(1121),
    [anon_sym_consuming] = ACTIONS(1121),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(1169),
    [sym__dot_custom] = ACTIONS(1171),
    [sym__eq_custom] = ACTIONS(2628),
    [sym__eq_eq_custom] = ACTIONS(2628),
    [sym__plus_then_ws] = ACTIONS(2628),
    [sym__minus_then_ws] = ACTIONS(2628),
    [sym__bang_custom] = ACTIONS(1173),
    [sym__custom_operator] = ACTIONS(1153),
    [sym__hash_symbol_custom] = ACTIONS(1175),
    [sym__directive_if] = ACTIONS(1177),
    [sym__directive_elseif] = ACTIONS(1177),
    [sym__directive_else] = ACTIONS(1179),
    [sym__directive_endif] = ACTIONS(1179),
  },
  [733] = {
    [sym_simple_identifier] = STATE(878),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__basic_literal] = STATE(1655),
    [sym_boolean_literal] = STATE(1655),
    [sym__string_literal] = STATE(1655),
    [sym_line_string_literal] = STATE(1655),
    [sym_multi_line_string_literal] = STATE(1655),
    [sym_raw_string_literal] = STATE(1655),
    [sym_regex_literal] = STATE(1655),
    [sym__extended_regex_literal] = STATE(920),
    [sym__multiline_regex_literal] = STATE(920),
    [sym_user_type] = STATE(6431),
    [sym__simple_user_type] = STATE(6739),
    [sym_array_type] = STATE(6431),
    [sym_dictionary_type] = STATE(6431),
    [sym__expression] = STATE(1655),
    [sym__unary_expression] = STATE(1655),
    [sym_postfix_expression] = STATE(1655),
    [sym_constructor_expression] = STATE(1655),
    [sym__parenthesized_type] = STATE(7746),
    [sym_navigation_expression] = STATE(1655),
    [sym__navigable_type_expression] = STATE(7743),
    [sym_open_start_range_expression] = STATE(1655),
    [sym__range_operator] = STATE(657),
    [sym_open_end_range_expression] = STATE(1655),
    [sym_prefix_expression] = STATE(1655),
    [sym_as_expression] = STATE(1655),
    [sym_selector_expression] = STATE(1655),
    [sym__binary_expression] = STATE(1655),
    [sym_multiplicative_expression] = STATE(1655),
    [sym_additive_expression] = STATE(1655),
    [sym_range_expression] = STATE(1655),
    [sym_infix_expression] = STATE(1655),
    [sym_nil_coalescing_expression] = STATE(1655),
    [sym_check_expression] = STATE(1655),
    [sym_comparison_expression] = STATE(1655),
    [sym_equality_expression] = STATE(1655),
    [sym_conjunction_expression] = STATE(1655),
    [sym_disjunction_expression] = STATE(1655),
    [sym_bitwise_operation] = STATE(1655),
    [sym_custom_operator] = STATE(1169),
    [sym_try_expression] = STATE(1655),
    [sym_await_expression] = STATE(1655),
    [sym__await_operator] = STATE(656),
    [sym_ternary_expression] = STATE(1655),
    [sym_call_expression] = STATE(1655),
    [sym_macro_invocation] = STATE(1655),
    [sym__primary_expression] = STATE(1655),
    [sym_tuple_expression] = STATE(1655),
    [sym_array_literal] = STATE(1655),
    [sym_dictionary_literal] = STATE(1655),
    [sym_special_literal] = STATE(1655),
    [sym_playground_literal] = STATE(1655),
    [sym_lambda_literal] = STATE(1655),
    [sym_self_expression] = STATE(1655),
    [sym_super_expression] = STATE(1655),
    [sym_if_statement] = STATE(1655),
    [sym_switch_statement] = STATE(1655),
    [sym_key_path_expression] = STATE(1655),
    [sym_key_path_string_expression] = STATE(1655),
    [sym_try_operator] = STATE(639),
    [sym__assignment_and_operator] = STATE(1655),
    [sym__equality_operator] = STATE(1655),
    [sym__comparison_operator] = STATE(1655),
    [sym__three_dot_operator] = STATE(1172),
    [sym__open_ended_range_operator] = STATE(657),
    [sym__additive_operator] = STATE(1655),
    [sym__multiplicative_operator] = STATE(1655),
    [sym__prefix_unary_operator] = STATE(629),
    [sym_directly_assignable_expression] = STATE(6433),
    [sym_assignment] = STATE(1655),
    [sym_value_parameter_pack] = STATE(1655),
    [sym_value_pack_expansion] = STATE(1655),
    [sym__referenceable_operator] = STATE(1655),
    [sym__equal_sign] = STATE(1655),
    [sym__eq_eq] = STATE(1655),
    [sym__dot] = STATE(629),
    [sym__hash_symbol] = STATE(4846),
    [sym_bang] = STATE(1169),
    [sym__parameter_ownership_modifier] = STATE(864),
    [sym_directive] = STATE(1655),
    [sym_diagnostic] = STATE(1655),
    [aux_sym_raw_string_literal_repeat1] = STATE(7739),
    [anon_sym_BANG] = ACTIONS(753),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(453),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(455),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_nil] = ACTIONS(2630),
    [sym_real_literal] = ACTIONS(2632),
    [sym_integer_literal] = ACTIONS(2630),
    [sym_hex_literal] = ACTIONS(2630),
    [sym_oct_literal] = ACTIONS(2632),
    [sym_bin_literal] = ACTIONS(2632),
    [anon_sym_true] = ACTIONS(461),
    [anon_sym_false] = ACTIONS(461),
    [anon_sym_DQUOTE] = ACTIONS(463),
    [anon_sym_BSLASH] = ACTIONS(465),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(467),
    [sym__oneline_regex_literal] = ACTIONS(471),
    [anon_sym_LPAREN] = ACTIONS(619),
    [anon_sym_LBRACK] = ACTIONS(621),
    [anon_sym_AMP] = ACTIONS(473),
    [anon_sym_TILDE] = ACTIONS(473),
    [anon_sym_if] = ACTIONS(475),
    [anon_sym_switch] = ACTIONS(477),
    [aux_sym_custom_operator_token1] = ACTIONS(777),
    [anon_sym_LT] = ACTIONS(2630),
    [anon_sym_GT] = ACTIONS(2630),
    [anon_sym_await] = ACTIONS(479),
    [anon_sym_LBRACE] = ACTIONS(633),
    [anon_sym_CARET_LBRACE] = ACTIONS(633),
    [anon_sym_self] = ACTIONS(481),
    [anon_sym_super] = ACTIONS(483),
    [anon_sym_try] = ACTIONS(65),
    [anon_sym_PLUS_EQ] = ACTIONS(2632),
    [anon_sym_DASH_EQ] = ACTIONS(2632),
    [anon_sym_STAR_EQ] = ACTIONS(2632),
    [anon_sym_SLASH_EQ] = ACTIONS(2632),
    [anon_sym_PERCENT_EQ] = ACTIONS(2632),
    [anon_sym_BANG_EQ] = ACTIONS(2630),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2632),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2632),
    [anon_sym_LT_EQ] = ACTIONS(2632),
    [anon_sym_GT_EQ] = ACTIONS(2632),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(781),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_DASH] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(2630),
    [anon_sym_SLASH] = ACTIONS(2630),
    [anon_sym_PERCENT] = ACTIONS(2630),
    [anon_sym_PLUS_PLUS] = ACTIONS(473),
    [anon_sym_DASH_DASH] = ACTIONS(473),
    [anon_sym_PIPE] = ACTIONS(2632),
    [anon_sym_CARET] = ACTIONS(2630),
    [anon_sym_LT_LT] = ACTIONS(2632),
    [anon_sym_GT_GT] = ACTIONS(2632),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(133),
    [sym_raw_str_end_part] = ACTIONS(485),
    [sym__dot_custom] = ACTIONS(785),
    [sym__eq_custom] = ACTIONS(2632),
    [sym__eq_eq_custom] = ACTIONS(2632),
    [sym__plus_then_ws] = ACTIONS(2632),
    [sym__minus_then_ws] = ACTIONS(2632),
    [sym__bang_custom] = ACTIONS(787),
    [sym__custom_operator] = ACTIONS(777),
    [sym__hash_symbol_custom] = ACTIONS(651),
    [sym__directive_if] = ACTIONS(489),
    [sym__directive_elseif] = ACTIONS(489),
    [sym__directive_else] = ACTIONS(491),
    [sym__directive_endif] = ACTIONS(491),
  },
  [734] = {
    [sym_simple_identifier] = STATE(818),
    [sym__contextual_simple_identifier] = STATE(845),
    [sym__unannotated_type] = STATE(819),
    [sym_user_type] = STATE(811),
    [sym__simple_user_type] = STATE(810),
    [sym_tuple_type] = STATE(804),
    [sym_function_type] = STATE(819),
    [sym_array_type] = STATE(811),
    [sym_dictionary_type] = STATE(811),
    [sym_optional_type] = STATE(819),
    [sym_metatype] = STATE(819),
    [sym_opaque_type] = STATE(819),
    [sym_existential_type] = STATE(819),
    [sym_type_parameter_pack] = STATE(819),
    [sym_type_pack_expansion] = STATE(819),
    [sym_protocol_composition_type] = STATE(819),
    [sym_suppressed_constraint] = STATE(819),
    [sym__parenthesized_type] = STATE(839),
    [sym__parameter_ownership_modifier] = STATE(845),
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(755),
    [aux_sym_simple_identifier_token2] = ACTIONS(757),
    [aux_sym_simple_identifier_token3] = ACTIONS(757),
    [aux_sym_simple_identifier_token4] = ACTIONS(757),
    [anon_sym_actor] = ACTIONS(2634),
    [anon_sym_async] = ACTIONS(2634),
    [anon_sym_each] = ACTIONS(2637),
    [anon_sym_lazy] = ACTIONS(2634),
    [anon_sym_repeat] = ACTIONS(2639),
    [anon_sym_package] = ACTIONS(2634),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(2641),
    [anon_sym_LBRACK] = ACTIONS(2644),
    [anon_sym_DOT] = ACTIONS(623),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(2647),
    [anon_sym_any] = ACTIONS(2649),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(2651),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_case] = ACTIONS(623),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_import] = ACTIONS(623),
    [anon_sym_typealias] = ACTIONS(623),
    [anon_sym_struct] = ACTIONS(623),
    [anon_sym_class] = ACTIONS(623),
    [anon_sym_enum] = ACTIONS(623),
    [anon_sym_protocol] = ACTIONS(623),
    [anon_sym_let] = ACTIONS(623),
    [anon_sym_var] = ACTIONS(623),
    [anon_sym_func] = ACTIONS(623),
    [anon_sym_extension] = ACTIONS(623),
    [anon_sym_indirect] = ACTIONS(623),
    [anon_sym_SEMI] = ACTIONS(617),
    [anon_sym_init] = ACTIONS(623),
    [anon_sym_deinit] = ACTIONS(623),
    [anon_sym_subscript] = ACTIONS(623),
    [anon_sym_prefix] = ACTIONS(623),
    [anon_sym_infix] = ACTIONS(623),
    [anon_sym_postfix] = ACTIONS(623),
    [anon_sym_precedencegroup] = ACTIONS(623),
    [anon_sym_associatedtype] = ACTIONS(623),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(623),
    [anon_sym_convenience] = ACTIONS(623),
    [anon_sym_required] = ACTIONS(623),
    [anon_sym_nonisolated] = ACTIONS(623),
    [anon_sym_public] = ACTIONS(623),
    [anon_sym_private] = ACTIONS(623),
    [anon_sym_internal] = ACTIONS(623),
    [anon_sym_fileprivate] = ACTIONS(623),
    [anon_sym_open] = ACTIONS(623),
    [anon_sym_mutating] = ACTIONS(623),
    [anon_sym_nonmutating] = ACTIONS(623),
    [anon_sym_static] = ACTIONS(623),
    [anon_sym_dynamic] = ACTIONS(623),
    [anon_sym_optional] = ACTIONS(623),
    [anon_sym_distributed] = ACTIONS(623),
    [anon_sym_final] = ACTIONS(623),
    [anon_sym_inout] = ACTIONS(623),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(623),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(2634),
    [anon_sym_consuming] = ACTIONS(2634),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [735] = {
    [sym_simple_identifier] = STATE(818),
    [sym__contextual_simple_identifier] = STATE(845),
    [sym__unannotated_type] = STATE(815),
    [sym_user_type] = STATE(811),
    [sym__simple_user_type] = STATE(810),
    [sym_tuple_type] = STATE(804),
    [sym_function_type] = STATE(815),
    [sym_array_type] = STATE(811),
    [sym_dictionary_type] = STATE(811),
    [sym_optional_type] = STATE(815),
    [sym_metatype] = STATE(815),
    [sym_opaque_type] = STATE(815),
    [sym_existential_type] = STATE(815),
    [sym_type_parameter_pack] = STATE(815),
    [sym_type_pack_expansion] = STATE(815),
    [sym_protocol_composition_type] = STATE(815),
    [sym_suppressed_constraint] = STATE(815),
    [sym__parenthesized_type] = STATE(839),
    [sym__parameter_ownership_modifier] = STATE(845),
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(755),
    [aux_sym_simple_identifier_token2] = ACTIONS(757),
    [aux_sym_simple_identifier_token3] = ACTIONS(757),
    [aux_sym_simple_identifier_token4] = ACTIONS(757),
    [anon_sym_actor] = ACTIONS(2634),
    [anon_sym_async] = ACTIONS(2634),
    [anon_sym_each] = ACTIONS(2637),
    [anon_sym_lazy] = ACTIONS(2634),
    [anon_sym_repeat] = ACTIONS(2639),
    [anon_sym_package] = ACTIONS(2634),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(2641),
    [anon_sym_LBRACK] = ACTIONS(2644),
    [anon_sym_DOT] = ACTIONS(623),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(2647),
    [anon_sym_any] = ACTIONS(2649),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(2651),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_case] = ACTIONS(623),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_import] = ACTIONS(623),
    [anon_sym_typealias] = ACTIONS(623),
    [anon_sym_struct] = ACTIONS(623),
    [anon_sym_class] = ACTIONS(623),
    [anon_sym_enum] = ACTIONS(623),
    [anon_sym_protocol] = ACTIONS(623),
    [anon_sym_let] = ACTIONS(623),
    [anon_sym_var] = ACTIONS(623),
    [anon_sym_func] = ACTIONS(623),
    [anon_sym_extension] = ACTIONS(623),
    [anon_sym_indirect] = ACTIONS(623),
    [anon_sym_SEMI] = ACTIONS(617),
    [anon_sym_init] = ACTIONS(623),
    [anon_sym_deinit] = ACTIONS(623),
    [anon_sym_subscript] = ACTIONS(623),
    [anon_sym_prefix] = ACTIONS(623),
    [anon_sym_infix] = ACTIONS(623),
    [anon_sym_postfix] = ACTIONS(623),
    [anon_sym_precedencegroup] = ACTIONS(623),
    [anon_sym_associatedtype] = ACTIONS(623),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(623),
    [anon_sym_convenience] = ACTIONS(623),
    [anon_sym_required] = ACTIONS(623),
    [anon_sym_nonisolated] = ACTIONS(623),
    [anon_sym_public] = ACTIONS(623),
    [anon_sym_private] = ACTIONS(623),
    [anon_sym_internal] = ACTIONS(623),
    [anon_sym_fileprivate] = ACTIONS(623),
    [anon_sym_open] = ACTIONS(623),
    [anon_sym_mutating] = ACTIONS(623),
    [anon_sym_nonmutating] = ACTIONS(623),
    [anon_sym_static] = ACTIONS(623),
    [anon_sym_dynamic] = ACTIONS(623),
    [anon_sym_optional] = ACTIONS(623),
    [anon_sym_distributed] = ACTIONS(623),
    [anon_sym_final] = ACTIONS(623),
    [anon_sym_inout] = ACTIONS(623),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(623),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(2634),
    [anon_sym_consuming] = ACTIONS(2634),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [736] = {
    [anon_sym_BANG] = ACTIONS(2653),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2653),
    [aux_sym_simple_identifier_token2] = ACTIONS(2655),
    [aux_sym_simple_identifier_token3] = ACTIONS(2655),
    [aux_sym_simple_identifier_token4] = ACTIONS(2655),
    [anon_sym_actor] = ACTIONS(2653),
    [anon_sym_async] = ACTIONS(2653),
    [anon_sym_each] = ACTIONS(2653),
    [anon_sym_lazy] = ACTIONS(2653),
    [anon_sym_repeat] = ACTIONS(2653),
    [anon_sym_package] = ACTIONS(2653),
    [anon_sym_nil] = ACTIONS(2653),
    [sym_real_literal] = ACTIONS(2655),
    [sym_integer_literal] = ACTIONS(2653),
    [sym_hex_literal] = ACTIONS(2653),
    [sym_oct_literal] = ACTIONS(2655),
    [sym_bin_literal] = ACTIONS(2655),
    [anon_sym_true] = ACTIONS(2653),
    [anon_sym_false] = ACTIONS(2653),
    [anon_sym_DQUOTE] = ACTIONS(2653),
    [anon_sym_BSLASH] = ACTIONS(2655),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2655),
    [anon_sym_COMMA] = ACTIONS(2655),
    [sym__oneline_regex_literal] = ACTIONS(2653),
    [anon_sym_LPAREN] = ACTIONS(2655),
    [anon_sym_LBRACK] = ACTIONS(2655),
    [anon_sym_QMARK] = ACTIONS(2653),
    [anon_sym_QMARK2] = ACTIONS(2655),
    [anon_sym_AMP] = ACTIONS(2655),
    [anon_sym_TILDE] = ACTIONS(2655),
    [anon_sym_if] = ACTIONS(2653),
    [anon_sym_switch] = ACTIONS(2653),
    [aux_sym_custom_operator_token1] = ACTIONS(2655),
    [anon_sym_LT] = ACTIONS(2653),
    [anon_sym_GT] = ACTIONS(2653),
    [anon_sym_await] = ACTIONS(2653),
    [anon_sym_LBRACE] = ACTIONS(2655),
    [anon_sym_CARET_LBRACE] = ACTIONS(2655),
    [anon_sym_RBRACE] = ACTIONS(2655),
    [anon_sym_self] = ACTIONS(2653),
    [anon_sym_super] = ACTIONS(2653),
    [anon_sym_case] = ACTIONS(2653),
    [anon_sym_try] = ACTIONS(2653),
    [anon_sym_PLUS_EQ] = ACTIONS(2655),
    [anon_sym_DASH_EQ] = ACTIONS(2655),
    [anon_sym_STAR_EQ] = ACTIONS(2655),
    [anon_sym_SLASH_EQ] = ACTIONS(2655),
    [anon_sym_PERCENT_EQ] = ACTIONS(2655),
    [anon_sym_BANG_EQ] = ACTIONS(2653),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2655),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2655),
    [anon_sym_LT_EQ] = ACTIONS(2655),
    [anon_sym_GT_EQ] = ACTIONS(2655),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2655),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2655),
    [anon_sym_is] = ACTIONS(2653),
    [anon_sym_PLUS] = ACTIONS(2653),
    [anon_sym_DASH] = ACTIONS(2653),
    [anon_sym_STAR] = ACTIONS(2653),
    [anon_sym_SLASH] = ACTIONS(2653),
    [anon_sym_PERCENT] = ACTIONS(2653),
    [anon_sym_PLUS_PLUS] = ACTIONS(2655),
    [anon_sym_DASH_DASH] = ACTIONS(2655),
    [anon_sym_PIPE] = ACTIONS(2655),
    [anon_sym_CARET] = ACTIONS(2653),
    [anon_sym_LT_LT] = ACTIONS(2655),
    [anon_sym_GT_GT] = ACTIONS(2655),
    [anon_sym_import] = ACTIONS(2653),
    [anon_sym_typealias] = ACTIONS(2653),
    [anon_sym_struct] = ACTIONS(2653),
    [anon_sym_class] = ACTIONS(2653),
    [anon_sym_enum] = ACTIONS(2653),
    [anon_sym_protocol] = ACTIONS(2653),
    [anon_sym_let] = ACTIONS(2653),
    [anon_sym_var] = ACTIONS(2653),
    [anon_sym_func] = ACTIONS(2653),
    [anon_sym_extension] = ACTIONS(2653),
    [anon_sym_indirect] = ACTIONS(2653),
    [anon_sym_SEMI] = ACTIONS(2655),
    [anon_sym_init] = ACTIONS(2653),
    [anon_sym_deinit] = ACTIONS(2653),
    [anon_sym_subscript] = ACTIONS(2653),
    [anon_sym_prefix] = ACTIONS(2653),
    [anon_sym_infix] = ACTIONS(2653),
    [anon_sym_postfix] = ACTIONS(2653),
    [anon_sym_precedencegroup] = ACTIONS(2653),
    [anon_sym_associatedtype] = ACTIONS(2653),
    [anon_sym_AT] = ACTIONS(2653),
    [anon_sym_override] = ACTIONS(2653),
    [anon_sym_convenience] = ACTIONS(2653),
    [anon_sym_required] = ACTIONS(2653),
    [anon_sym_nonisolated] = ACTIONS(2653),
    [anon_sym_public] = ACTIONS(2653),
    [anon_sym_private] = ACTIONS(2653),
    [anon_sym_internal] = ACTIONS(2653),
    [anon_sym_fileprivate] = ACTIONS(2653),
    [anon_sym_open] = ACTIONS(2653),
    [anon_sym_mutating] = ACTIONS(2653),
    [anon_sym_nonmutating] = ACTIONS(2653),
    [anon_sym_static] = ACTIONS(2653),
    [anon_sym_dynamic] = ACTIONS(2653),
    [anon_sym_optional] = ACTIONS(2653),
    [anon_sym_distributed] = ACTIONS(2653),
    [anon_sym_final] = ACTIONS(2653),
    [anon_sym_inout] = ACTIONS(2653),
    [anon_sym_ATescaping] = ACTIONS(2655),
    [anon_sym_ATautoclosure] = ACTIONS(2655),
    [anon_sym_weak] = ACTIONS(2653),
    [anon_sym_unowned] = ACTIONS(2653),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2655),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2655),
    [anon_sym_borrowing] = ACTIONS(2653),
    [anon_sym_consuming] = ACTIONS(2653),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2655),
    [sym_raw_str_end_part] = ACTIONS(2655),
    [sym__dot_custom] = ACTIONS(2655),
    [sym__conjunction_operator_custom] = ACTIONS(2655),
    [sym__disjunction_operator_custom] = ACTIONS(2655),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2655),
    [sym__eq_custom] = ACTIONS(2655),
    [sym__eq_eq_custom] = ACTIONS(2655),
    [sym__plus_then_ws] = ACTIONS(2655),
    [sym__minus_then_ws] = ACTIONS(2655),
    [sym__bang_custom] = ACTIONS(2655),
    [sym__as_custom] = ACTIONS(2655),
    [sym__as_quest_custom] = ACTIONS(2655),
    [sym__as_bang_custom] = ACTIONS(2655),
    [sym__custom_operator] = ACTIONS(2655),
    [sym__hash_symbol_custom] = ACTIONS(2655),
    [sym__directive_if] = ACTIONS(2655),
    [sym__directive_elseif] = ACTIONS(2655),
    [sym__directive_else] = ACTIONS(2655),
    [sym__directive_endif] = ACTIONS(2655),
  },
  [737] = {
    [anon_sym_BANG] = ACTIONS(2657),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2657),
    [aux_sym_simple_identifier_token2] = ACTIONS(2659),
    [aux_sym_simple_identifier_token3] = ACTIONS(2659),
    [aux_sym_simple_identifier_token4] = ACTIONS(2659),
    [anon_sym_actor] = ACTIONS(2657),
    [anon_sym_async] = ACTIONS(2657),
    [anon_sym_each] = ACTIONS(2657),
    [anon_sym_lazy] = ACTIONS(2657),
    [anon_sym_repeat] = ACTIONS(2657),
    [anon_sym_package] = ACTIONS(2657),
    [anon_sym_nil] = ACTIONS(2657),
    [sym_real_literal] = ACTIONS(2659),
    [sym_integer_literal] = ACTIONS(2657),
    [sym_hex_literal] = ACTIONS(2657),
    [sym_oct_literal] = ACTIONS(2659),
    [sym_bin_literal] = ACTIONS(2659),
    [anon_sym_true] = ACTIONS(2657),
    [anon_sym_false] = ACTIONS(2657),
    [anon_sym_DQUOTE] = ACTIONS(2657),
    [anon_sym_BSLASH] = ACTIONS(2659),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2659),
    [anon_sym_COMMA] = ACTIONS(2659),
    [sym__oneline_regex_literal] = ACTIONS(2657),
    [anon_sym_LPAREN] = ACTIONS(2659),
    [anon_sym_LBRACK] = ACTIONS(2659),
    [anon_sym_QMARK] = ACTIONS(2657),
    [anon_sym_QMARK2] = ACTIONS(2659),
    [anon_sym_AMP] = ACTIONS(2659),
    [anon_sym_TILDE] = ACTIONS(2659),
    [anon_sym_if] = ACTIONS(2657),
    [anon_sym_switch] = ACTIONS(2657),
    [aux_sym_custom_operator_token1] = ACTIONS(2659),
    [anon_sym_LT] = ACTIONS(2657),
    [anon_sym_GT] = ACTIONS(2657),
    [anon_sym_await] = ACTIONS(2657),
    [anon_sym_LBRACE] = ACTIONS(2659),
    [anon_sym_CARET_LBRACE] = ACTIONS(2659),
    [anon_sym_RBRACE] = ACTIONS(2659),
    [anon_sym_self] = ACTIONS(2657),
    [anon_sym_super] = ACTIONS(2657),
    [anon_sym_case] = ACTIONS(2657),
    [anon_sym_try] = ACTIONS(2657),
    [anon_sym_PLUS_EQ] = ACTIONS(2659),
    [anon_sym_DASH_EQ] = ACTIONS(2659),
    [anon_sym_STAR_EQ] = ACTIONS(2659),
    [anon_sym_SLASH_EQ] = ACTIONS(2659),
    [anon_sym_PERCENT_EQ] = ACTIONS(2659),
    [anon_sym_BANG_EQ] = ACTIONS(2657),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2659),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2659),
    [anon_sym_LT_EQ] = ACTIONS(2659),
    [anon_sym_GT_EQ] = ACTIONS(2659),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2659),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2659),
    [anon_sym_is] = ACTIONS(2657),
    [anon_sym_PLUS] = ACTIONS(2657),
    [anon_sym_DASH] = ACTIONS(2657),
    [anon_sym_STAR] = ACTIONS(2657),
    [anon_sym_SLASH] = ACTIONS(2657),
    [anon_sym_PERCENT] = ACTIONS(2657),
    [anon_sym_PLUS_PLUS] = ACTIONS(2659),
    [anon_sym_DASH_DASH] = ACTIONS(2659),
    [anon_sym_PIPE] = ACTIONS(2659),
    [anon_sym_CARET] = ACTIONS(2657),
    [anon_sym_LT_LT] = ACTIONS(2659),
    [anon_sym_GT_GT] = ACTIONS(2659),
    [anon_sym_import] = ACTIONS(2657),
    [anon_sym_typealias] = ACTIONS(2657),
    [anon_sym_struct] = ACTIONS(2657),
    [anon_sym_class] = ACTIONS(2657),
    [anon_sym_enum] = ACTIONS(2657),
    [anon_sym_protocol] = ACTIONS(2657),
    [anon_sym_let] = ACTIONS(2657),
    [anon_sym_var] = ACTIONS(2657),
    [anon_sym_func] = ACTIONS(2657),
    [anon_sym_extension] = ACTIONS(2657),
    [anon_sym_indirect] = ACTIONS(2657),
    [anon_sym_SEMI] = ACTIONS(2659),
    [anon_sym_init] = ACTIONS(2657),
    [anon_sym_deinit] = ACTIONS(2657),
    [anon_sym_subscript] = ACTIONS(2657),
    [anon_sym_prefix] = ACTIONS(2657),
    [anon_sym_infix] = ACTIONS(2657),
    [anon_sym_postfix] = ACTIONS(2657),
    [anon_sym_precedencegroup] = ACTIONS(2657),
    [anon_sym_associatedtype] = ACTIONS(2657),
    [anon_sym_AT] = ACTIONS(2657),
    [anon_sym_override] = ACTIONS(2657),
    [anon_sym_convenience] = ACTIONS(2657),
    [anon_sym_required] = ACTIONS(2657),
    [anon_sym_nonisolated] = ACTIONS(2657),
    [anon_sym_public] = ACTIONS(2657),
    [anon_sym_private] = ACTIONS(2657),
    [anon_sym_internal] = ACTIONS(2657),
    [anon_sym_fileprivate] = ACTIONS(2657),
    [anon_sym_open] = ACTIONS(2657),
    [anon_sym_mutating] = ACTIONS(2657),
    [anon_sym_nonmutating] = ACTIONS(2657),
    [anon_sym_static] = ACTIONS(2657),
    [anon_sym_dynamic] = ACTIONS(2657),
    [anon_sym_optional] = ACTIONS(2657),
    [anon_sym_distributed] = ACTIONS(2657),
    [anon_sym_final] = ACTIONS(2657),
    [anon_sym_inout] = ACTIONS(2657),
    [anon_sym_ATescaping] = ACTIONS(2659),
    [anon_sym_ATautoclosure] = ACTIONS(2659),
    [anon_sym_weak] = ACTIONS(2657),
    [anon_sym_unowned] = ACTIONS(2657),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2659),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2659),
    [anon_sym_borrowing] = ACTIONS(2657),
    [anon_sym_consuming] = ACTIONS(2657),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2659),
    [sym_raw_str_end_part] = ACTIONS(2659),
    [sym__dot_custom] = ACTIONS(2659),
    [sym__conjunction_operator_custom] = ACTIONS(2659),
    [sym__disjunction_operator_custom] = ACTIONS(2659),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2659),
    [sym__eq_custom] = ACTIONS(2659),
    [sym__eq_eq_custom] = ACTIONS(2659),
    [sym__plus_then_ws] = ACTIONS(2659),
    [sym__minus_then_ws] = ACTIONS(2659),
    [sym__bang_custom] = ACTIONS(2659),
    [sym__as_custom] = ACTIONS(2659),
    [sym__as_quest_custom] = ACTIONS(2659),
    [sym__as_bang_custom] = ACTIONS(2659),
    [sym__custom_operator] = ACTIONS(2659),
    [sym__hash_symbol_custom] = ACTIONS(2659),
    [sym__directive_if] = ACTIONS(2659),
    [sym__directive_elseif] = ACTIONS(2659),
    [sym__directive_else] = ACTIONS(2659),
    [sym__directive_endif] = ACTIONS(2659),
  },
  [738] = {
    [anon_sym_BANG] = ACTIONS(2661),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2661),
    [aux_sym_simple_identifier_token2] = ACTIONS(2663),
    [aux_sym_simple_identifier_token3] = ACTIONS(2663),
    [aux_sym_simple_identifier_token4] = ACTIONS(2663),
    [anon_sym_actor] = ACTIONS(2661),
    [anon_sym_async] = ACTIONS(2661),
    [anon_sym_each] = ACTIONS(2661),
    [anon_sym_lazy] = ACTIONS(2661),
    [anon_sym_repeat] = ACTIONS(2661),
    [anon_sym_package] = ACTIONS(2661),
    [anon_sym_nil] = ACTIONS(2661),
    [sym_real_literal] = ACTIONS(2663),
    [sym_integer_literal] = ACTIONS(2661),
    [sym_hex_literal] = ACTIONS(2661),
    [sym_oct_literal] = ACTIONS(2663),
    [sym_bin_literal] = ACTIONS(2663),
    [anon_sym_true] = ACTIONS(2661),
    [anon_sym_false] = ACTIONS(2661),
    [anon_sym_DQUOTE] = ACTIONS(2661),
    [anon_sym_BSLASH] = ACTIONS(2663),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2663),
    [anon_sym_COMMA] = ACTIONS(2663),
    [sym__oneline_regex_literal] = ACTIONS(2661),
    [anon_sym_LPAREN] = ACTIONS(2663),
    [anon_sym_LBRACK] = ACTIONS(2663),
    [anon_sym_QMARK] = ACTIONS(2661),
    [anon_sym_QMARK2] = ACTIONS(2663),
    [anon_sym_AMP] = ACTIONS(2663),
    [anon_sym_TILDE] = ACTIONS(2663),
    [anon_sym_if] = ACTIONS(2661),
    [anon_sym_switch] = ACTIONS(2661),
    [aux_sym_custom_operator_token1] = ACTIONS(2663),
    [anon_sym_LT] = ACTIONS(2661),
    [anon_sym_GT] = ACTIONS(2661),
    [anon_sym_await] = ACTIONS(2661),
    [anon_sym_LBRACE] = ACTIONS(2663),
    [anon_sym_CARET_LBRACE] = ACTIONS(2663),
    [anon_sym_RBRACE] = ACTIONS(2663),
    [anon_sym_self] = ACTIONS(2661),
    [anon_sym_super] = ACTIONS(2661),
    [anon_sym_case] = ACTIONS(2661),
    [anon_sym_try] = ACTIONS(2661),
    [anon_sym_PLUS_EQ] = ACTIONS(2663),
    [anon_sym_DASH_EQ] = ACTIONS(2663),
    [anon_sym_STAR_EQ] = ACTIONS(2663),
    [anon_sym_SLASH_EQ] = ACTIONS(2663),
    [anon_sym_PERCENT_EQ] = ACTIONS(2663),
    [anon_sym_BANG_EQ] = ACTIONS(2661),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2663),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2663),
    [anon_sym_LT_EQ] = ACTIONS(2663),
    [anon_sym_GT_EQ] = ACTIONS(2663),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2663),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2663),
    [anon_sym_is] = ACTIONS(2661),
    [anon_sym_PLUS] = ACTIONS(2661),
    [anon_sym_DASH] = ACTIONS(2661),
    [anon_sym_STAR] = ACTIONS(2661),
    [anon_sym_SLASH] = ACTIONS(2661),
    [anon_sym_PERCENT] = ACTIONS(2661),
    [anon_sym_PLUS_PLUS] = ACTIONS(2663),
    [anon_sym_DASH_DASH] = ACTIONS(2663),
    [anon_sym_PIPE] = ACTIONS(2663),
    [anon_sym_CARET] = ACTIONS(2661),
    [anon_sym_LT_LT] = ACTIONS(2663),
    [anon_sym_GT_GT] = ACTIONS(2663),
    [anon_sym_import] = ACTIONS(2661),
    [anon_sym_typealias] = ACTIONS(2661),
    [anon_sym_struct] = ACTIONS(2661),
    [anon_sym_class] = ACTIONS(2661),
    [anon_sym_enum] = ACTIONS(2661),
    [anon_sym_protocol] = ACTIONS(2661),
    [anon_sym_let] = ACTIONS(2661),
    [anon_sym_var] = ACTIONS(2661),
    [anon_sym_func] = ACTIONS(2661),
    [anon_sym_extension] = ACTIONS(2661),
    [anon_sym_indirect] = ACTIONS(2661),
    [anon_sym_SEMI] = ACTIONS(2663),
    [anon_sym_init] = ACTIONS(2661),
    [anon_sym_deinit] = ACTIONS(2661),
    [anon_sym_subscript] = ACTIONS(2661),
    [anon_sym_prefix] = ACTIONS(2661),
    [anon_sym_infix] = ACTIONS(2661),
    [anon_sym_postfix] = ACTIONS(2661),
    [anon_sym_precedencegroup] = ACTIONS(2661),
    [anon_sym_associatedtype] = ACTIONS(2661),
    [anon_sym_AT] = ACTIONS(2661),
    [anon_sym_override] = ACTIONS(2661),
    [anon_sym_convenience] = ACTIONS(2661),
    [anon_sym_required] = ACTIONS(2661),
    [anon_sym_nonisolated] = ACTIONS(2661),
    [anon_sym_public] = ACTIONS(2661),
    [anon_sym_private] = ACTIONS(2661),
    [anon_sym_internal] = ACTIONS(2661),
    [anon_sym_fileprivate] = ACTIONS(2661),
    [anon_sym_open] = ACTIONS(2661),
    [anon_sym_mutating] = ACTIONS(2661),
    [anon_sym_nonmutating] = ACTIONS(2661),
    [anon_sym_static] = ACTIONS(2661),
    [anon_sym_dynamic] = ACTIONS(2661),
    [anon_sym_optional] = ACTIONS(2661),
    [anon_sym_distributed] = ACTIONS(2661),
    [anon_sym_final] = ACTIONS(2661),
    [anon_sym_inout] = ACTIONS(2661),
    [anon_sym_ATescaping] = ACTIONS(2663),
    [anon_sym_ATautoclosure] = ACTIONS(2663),
    [anon_sym_weak] = ACTIONS(2661),
    [anon_sym_unowned] = ACTIONS(2661),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2663),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2663),
    [anon_sym_borrowing] = ACTIONS(2661),
    [anon_sym_consuming] = ACTIONS(2661),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2663),
    [sym_raw_str_end_part] = ACTIONS(2663),
    [sym__dot_custom] = ACTIONS(2663),
    [sym__conjunction_operator_custom] = ACTIONS(2663),
    [sym__disjunction_operator_custom] = ACTIONS(2663),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2663),
    [sym__eq_custom] = ACTIONS(2663),
    [sym__eq_eq_custom] = ACTIONS(2663),
    [sym__plus_then_ws] = ACTIONS(2663),
    [sym__minus_then_ws] = ACTIONS(2663),
    [sym__bang_custom] = ACTIONS(2663),
    [sym__as_custom] = ACTIONS(2663),
    [sym__as_quest_custom] = ACTIONS(2663),
    [sym__as_bang_custom] = ACTIONS(2663),
    [sym__custom_operator] = ACTIONS(2663),
    [sym__hash_symbol_custom] = ACTIONS(2663),
    [sym__directive_if] = ACTIONS(2663),
    [sym__directive_elseif] = ACTIONS(2663),
    [sym__directive_else] = ACTIONS(2663),
    [sym__directive_endif] = ACTIONS(2663),
  },
  [739] = {
    [anon_sym_BANG] = ACTIONS(2665),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2665),
    [aux_sym_simple_identifier_token2] = ACTIONS(2667),
    [aux_sym_simple_identifier_token3] = ACTIONS(2667),
    [aux_sym_simple_identifier_token4] = ACTIONS(2667),
    [anon_sym_actor] = ACTIONS(2665),
    [anon_sym_async] = ACTIONS(2665),
    [anon_sym_each] = ACTIONS(2665),
    [anon_sym_lazy] = ACTIONS(2665),
    [anon_sym_repeat] = ACTIONS(2665),
    [anon_sym_package] = ACTIONS(2665),
    [anon_sym_nil] = ACTIONS(2665),
    [sym_real_literal] = ACTIONS(2667),
    [sym_integer_literal] = ACTIONS(2665),
    [sym_hex_literal] = ACTIONS(2665),
    [sym_oct_literal] = ACTIONS(2667),
    [sym_bin_literal] = ACTIONS(2667),
    [anon_sym_true] = ACTIONS(2665),
    [anon_sym_false] = ACTIONS(2665),
    [anon_sym_DQUOTE] = ACTIONS(2665),
    [anon_sym_BSLASH] = ACTIONS(2667),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2667),
    [anon_sym_COMMA] = ACTIONS(2669),
    [sym__oneline_regex_literal] = ACTIONS(2665),
    [anon_sym_LPAREN] = ACTIONS(2667),
    [anon_sym_LBRACK] = ACTIONS(2667),
    [anon_sym_QMARK] = ACTIONS(2671),
    [anon_sym_QMARK2] = ACTIONS(2669),
    [anon_sym_AMP] = ACTIONS(2667),
    [anon_sym_TILDE] = ACTIONS(2667),
    [anon_sym_if] = ACTIONS(2665),
    [anon_sym_switch] = ACTIONS(2665),
    [aux_sym_custom_operator_token1] = ACTIONS(2667),
    [anon_sym_LT] = ACTIONS(2665),
    [anon_sym_GT] = ACTIONS(2665),
    [anon_sym_await] = ACTIONS(2665),
    [anon_sym_LBRACE] = ACTIONS(2667),
    [anon_sym_CARET_LBRACE] = ACTIONS(2667),
    [anon_sym_RBRACE] = ACTIONS(2669),
    [anon_sym_self] = ACTIONS(2665),
    [anon_sym_super] = ACTIONS(2665),
    [anon_sym_case] = ACTIONS(2671),
    [anon_sym_try] = ACTIONS(2665),
    [anon_sym_PLUS_EQ] = ACTIONS(2667),
    [anon_sym_DASH_EQ] = ACTIONS(2667),
    [anon_sym_STAR_EQ] = ACTIONS(2667),
    [anon_sym_SLASH_EQ] = ACTIONS(2667),
    [anon_sym_PERCENT_EQ] = ACTIONS(2667),
    [anon_sym_BANG_EQ] = ACTIONS(2665),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2667),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2667),
    [anon_sym_LT_EQ] = ACTIONS(2667),
    [anon_sym_GT_EQ] = ACTIONS(2667),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2667),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2667),
    [anon_sym_is] = ACTIONS(2671),
    [anon_sym_PLUS] = ACTIONS(2665),
    [anon_sym_DASH] = ACTIONS(2665),
    [anon_sym_STAR] = ACTIONS(2665),
    [anon_sym_SLASH] = ACTIONS(2665),
    [anon_sym_PERCENT] = ACTIONS(2665),
    [anon_sym_PLUS_PLUS] = ACTIONS(2667),
    [anon_sym_DASH_DASH] = ACTIONS(2667),
    [anon_sym_PIPE] = ACTIONS(2667),
    [anon_sym_CARET] = ACTIONS(2665),
    [anon_sym_LT_LT] = ACTIONS(2667),
    [anon_sym_GT_GT] = ACTIONS(2667),
    [anon_sym_import] = ACTIONS(2671),
    [anon_sym_typealias] = ACTIONS(2671),
    [anon_sym_struct] = ACTIONS(2671),
    [anon_sym_class] = ACTIONS(2671),
    [anon_sym_enum] = ACTIONS(2671),
    [anon_sym_protocol] = ACTIONS(2671),
    [anon_sym_let] = ACTIONS(2671),
    [anon_sym_var] = ACTIONS(2671),
    [anon_sym_func] = ACTIONS(2671),
    [anon_sym_extension] = ACTIONS(2671),
    [anon_sym_indirect] = ACTIONS(2671),
    [anon_sym_SEMI] = ACTIONS(2669),
    [anon_sym_init] = ACTIONS(2671),
    [anon_sym_deinit] = ACTIONS(2671),
    [anon_sym_subscript] = ACTIONS(2671),
    [anon_sym_prefix] = ACTIONS(2671),
    [anon_sym_infix] = ACTIONS(2671),
    [anon_sym_postfix] = ACTIONS(2671),
    [anon_sym_precedencegroup] = ACTIONS(2671),
    [anon_sym_associatedtype] = ACTIONS(2671),
    [anon_sym_AT] = ACTIONS(2671),
    [anon_sym_override] = ACTIONS(2671),
    [anon_sym_convenience] = ACTIONS(2671),
    [anon_sym_required] = ACTIONS(2671),
    [anon_sym_nonisolated] = ACTIONS(2671),
    [anon_sym_public] = ACTIONS(2671),
    [anon_sym_private] = ACTIONS(2671),
    [anon_sym_internal] = ACTIONS(2671),
    [anon_sym_fileprivate] = ACTIONS(2671),
    [anon_sym_open] = ACTIONS(2671),
    [anon_sym_mutating] = ACTIONS(2671),
    [anon_sym_nonmutating] = ACTIONS(2671),
    [anon_sym_static] = ACTIONS(2671),
    [anon_sym_dynamic] = ACTIONS(2671),
    [anon_sym_optional] = ACTIONS(2671),
    [anon_sym_distributed] = ACTIONS(2671),
    [anon_sym_final] = ACTIONS(2671),
    [anon_sym_inout] = ACTIONS(2671),
    [anon_sym_ATescaping] = ACTIONS(2669),
    [anon_sym_ATautoclosure] = ACTIONS(2669),
    [anon_sym_weak] = ACTIONS(2671),
    [anon_sym_unowned] = ACTIONS(2671),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2669),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2669),
    [anon_sym_borrowing] = ACTIONS(2665),
    [anon_sym_consuming] = ACTIONS(2665),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2667),
    [sym_raw_str_end_part] = ACTIONS(2667),
    [sym__dot_custom] = ACTIONS(2667),
    [sym__conjunction_operator_custom] = ACTIONS(2669),
    [sym__disjunction_operator_custom] = ACTIONS(2669),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2669),
    [sym__eq_custom] = ACTIONS(2667),
    [sym__eq_eq_custom] = ACTIONS(2667),
    [sym__plus_then_ws] = ACTIONS(2667),
    [sym__minus_then_ws] = ACTIONS(2667),
    [sym__bang_custom] = ACTIONS(2667),
    [sym__as_custom] = ACTIONS(2669),
    [sym__as_quest_custom] = ACTIONS(2669),
    [sym__as_bang_custom] = ACTIONS(2669),
    [sym__custom_operator] = ACTIONS(2667),
    [sym__hash_symbol_custom] = ACTIONS(2667),
    [sym__directive_if] = ACTIONS(2667),
    [sym__directive_elseif] = ACTIONS(2667),
    [sym__directive_else] = ACTIONS(2667),
    [sym__directive_endif] = ACTIONS(2667),
  },
  [740] = {
    [anon_sym_BANG] = ACTIONS(2673),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2676),
    [aux_sym_simple_identifier_token2] = ACTIONS(2678),
    [aux_sym_simple_identifier_token3] = ACTIONS(2678),
    [aux_sym_simple_identifier_token4] = ACTIONS(2678),
    [anon_sym_actor] = ACTIONS(2673),
    [anon_sym_async] = ACTIONS(2673),
    [anon_sym_each] = ACTIONS(2676),
    [anon_sym_lazy] = ACTIONS(2673),
    [anon_sym_repeat] = ACTIONS(2676),
    [anon_sym_package] = ACTIONS(2673),
    [anon_sym_nil] = ACTIONS(2676),
    [sym_real_literal] = ACTIONS(2678),
    [sym_integer_literal] = ACTIONS(2676),
    [sym_hex_literal] = ACTIONS(2676),
    [sym_oct_literal] = ACTIONS(2678),
    [sym_bin_literal] = ACTIONS(2678),
    [anon_sym_true] = ACTIONS(2676),
    [anon_sym_false] = ACTIONS(2676),
    [anon_sym_DQUOTE] = ACTIONS(2676),
    [anon_sym_BSLASH] = ACTIONS(2678),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2678),
    [anon_sym_COMMA] = ACTIONS(2680),
    [sym__oneline_regex_literal] = ACTIONS(2676),
    [anon_sym_LPAREN] = ACTIONS(2682),
    [anon_sym_LBRACK] = ACTIONS(2682),
    [anon_sym_QMARK] = ACTIONS(2685),
    [anon_sym_QMARK2] = ACTIONS(2680),
    [anon_sym_AMP] = ACTIONS(2682),
    [anon_sym_TILDE] = ACTIONS(2678),
    [anon_sym_if] = ACTIONS(2676),
    [anon_sym_switch] = ACTIONS(2676),
    [aux_sym_custom_operator_token1] = ACTIONS(2682),
    [anon_sym_LT] = ACTIONS(2673),
    [anon_sym_GT] = ACTIONS(2673),
    [anon_sym_await] = ACTIONS(2676),
    [anon_sym_LBRACE] = ACTIONS(2682),
    [anon_sym_CARET_LBRACE] = ACTIONS(2682),
    [anon_sym_RBRACE] = ACTIONS(2680),
    [anon_sym_self] = ACTIONS(2676),
    [anon_sym_super] = ACTIONS(2676),
    [anon_sym_case] = ACTIONS(2685),
    [anon_sym_try] = ACTIONS(2676),
    [anon_sym_PLUS_EQ] = ACTIONS(2682),
    [anon_sym_DASH_EQ] = ACTIONS(2682),
    [anon_sym_STAR_EQ] = ACTIONS(2682),
    [anon_sym_SLASH_EQ] = ACTIONS(2682),
    [anon_sym_PERCENT_EQ] = ACTIONS(2682),
    [anon_sym_BANG_EQ] = ACTIONS(2673),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2682),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2682),
    [anon_sym_LT_EQ] = ACTIONS(2682),
    [anon_sym_GT_EQ] = ACTIONS(2682),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2682),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2682),
    [anon_sym_is] = ACTIONS(2685),
    [anon_sym_PLUS] = ACTIONS(2673),
    [anon_sym_DASH] = ACTIONS(2673),
    [anon_sym_STAR] = ACTIONS(2673),
    [anon_sym_SLASH] = ACTIONS(2673),
    [anon_sym_PERCENT] = ACTIONS(2673),
    [anon_sym_PLUS_PLUS] = ACTIONS(2682),
    [anon_sym_DASH_DASH] = ACTIONS(2682),
    [anon_sym_PIPE] = ACTIONS(2682),
    [anon_sym_CARET] = ACTIONS(2673),
    [anon_sym_LT_LT] = ACTIONS(2682),
    [anon_sym_GT_GT] = ACTIONS(2682),
    [anon_sym_import] = ACTIONS(2685),
    [anon_sym_typealias] = ACTIONS(2685),
    [anon_sym_struct] = ACTIONS(2685),
    [anon_sym_class] = ACTIONS(2685),
    [anon_sym_enum] = ACTIONS(2685),
    [anon_sym_protocol] = ACTIONS(2685),
    [anon_sym_let] = ACTIONS(2685),
    [anon_sym_var] = ACTIONS(2685),
    [anon_sym_func] = ACTIONS(2685),
    [anon_sym_extension] = ACTIONS(2685),
    [anon_sym_indirect] = ACTIONS(2685),
    [anon_sym_SEMI] = ACTIONS(2680),
    [anon_sym_init] = ACTIONS(2685),
    [anon_sym_deinit] = ACTIONS(2685),
    [anon_sym_subscript] = ACTIONS(2685),
    [anon_sym_prefix] = ACTIONS(2685),
    [anon_sym_infix] = ACTIONS(2685),
    [anon_sym_postfix] = ACTIONS(2685),
    [anon_sym_precedencegroup] = ACTIONS(2685),
    [anon_sym_associatedtype] = ACTIONS(2685),
    [anon_sym_AT] = ACTIONS(2685),
    [anon_sym_override] = ACTIONS(2685),
    [anon_sym_convenience] = ACTIONS(2685),
    [anon_sym_required] = ACTIONS(2685),
    [anon_sym_nonisolated] = ACTIONS(2685),
    [anon_sym_public] = ACTIONS(2685),
    [anon_sym_private] = ACTIONS(2685),
    [anon_sym_internal] = ACTIONS(2685),
    [anon_sym_fileprivate] = ACTIONS(2685),
    [anon_sym_open] = ACTIONS(2685),
    [anon_sym_mutating] = ACTIONS(2685),
    [anon_sym_nonmutating] = ACTIONS(2685),
    [anon_sym_static] = ACTIONS(2685),
    [anon_sym_dynamic] = ACTIONS(2685),
    [anon_sym_optional] = ACTIONS(2685),
    [anon_sym_distributed] = ACTIONS(2685),
    [anon_sym_final] = ACTIONS(2685),
    [anon_sym_inout] = ACTIONS(2685),
    [anon_sym_ATescaping] = ACTIONS(2680),
    [anon_sym_ATautoclosure] = ACTIONS(2680),
    [anon_sym_weak] = ACTIONS(2685),
    [anon_sym_unowned] = ACTIONS(2685),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2680),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2680),
    [anon_sym_borrowing] = ACTIONS(2673),
    [anon_sym_consuming] = ACTIONS(2673),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2678),
    [sym_raw_str_end_part] = ACTIONS(2678),
    [sym__dot_custom] = ACTIONS(2682),
    [sym__conjunction_operator_custom] = ACTIONS(2680),
    [sym__disjunction_operator_custom] = ACTIONS(2680),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2680),
    [sym__eq_custom] = ACTIONS(2682),
    [sym__eq_eq_custom] = ACTIONS(2682),
    [sym__plus_then_ws] = ACTIONS(2682),
    [sym__minus_then_ws] = ACTIONS(2682),
    [sym__bang_custom] = ACTIONS(2682),
    [sym__as_custom] = ACTIONS(2680),
    [sym__as_quest_custom] = ACTIONS(2680),
    [sym__as_bang_custom] = ACTIONS(2680),
    [sym__custom_operator] = ACTIONS(2682),
    [sym__hash_symbol_custom] = ACTIONS(2678),
    [sym__directive_if] = ACTIONS(2678),
    [sym__directive_elseif] = ACTIONS(2678),
    [sym__directive_else] = ACTIONS(2678),
    [sym__directive_endif] = ACTIONS(2678),
  },
  [741] = {
    [anon_sym_BANG] = ACTIONS(2687),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2676),
    [aux_sym_simple_identifier_token2] = ACTIONS(2678),
    [aux_sym_simple_identifier_token3] = ACTIONS(2678),
    [aux_sym_simple_identifier_token4] = ACTIONS(2678),
    [anon_sym_actor] = ACTIONS(2687),
    [anon_sym_async] = ACTIONS(2687),
    [anon_sym_each] = ACTIONS(2676),
    [anon_sym_lazy] = ACTIONS(2687),
    [anon_sym_repeat] = ACTIONS(2676),
    [anon_sym_package] = ACTIONS(2687),
    [anon_sym_nil] = ACTIONS(2676),
    [sym_real_literal] = ACTIONS(2678),
    [sym_integer_literal] = ACTIONS(2676),
    [sym_hex_literal] = ACTIONS(2676),
    [sym_oct_literal] = ACTIONS(2678),
    [sym_bin_literal] = ACTIONS(2678),
    [anon_sym_true] = ACTIONS(2676),
    [anon_sym_false] = ACTIONS(2676),
    [anon_sym_DQUOTE] = ACTIONS(2676),
    [anon_sym_BSLASH] = ACTIONS(2678),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2678),
    [anon_sym_COMMA] = ACTIONS(2690),
    [sym__oneline_regex_literal] = ACTIONS(2676),
    [anon_sym_LPAREN] = ACTIONS(2692),
    [anon_sym_LBRACK] = ACTIONS(2692),
    [anon_sym_QMARK] = ACTIONS(2695),
    [anon_sym_QMARK2] = ACTIONS(2690),
    [anon_sym_AMP] = ACTIONS(2692),
    [anon_sym_TILDE] = ACTIONS(2678),
    [anon_sym_if] = ACTIONS(2676),
    [anon_sym_switch] = ACTIONS(2676),
    [aux_sym_custom_operator_token1] = ACTIONS(2692),
    [anon_sym_LT] = ACTIONS(2687),
    [anon_sym_GT] = ACTIONS(2687),
    [anon_sym_await] = ACTIONS(2676),
    [anon_sym_LBRACE] = ACTIONS(2692),
    [anon_sym_CARET_LBRACE] = ACTIONS(2692),
    [anon_sym_RBRACE] = ACTIONS(2690),
    [anon_sym_self] = ACTIONS(2676),
    [anon_sym_super] = ACTIONS(2676),
    [anon_sym_case] = ACTIONS(2695),
    [anon_sym_try] = ACTIONS(2676),
    [anon_sym_PLUS_EQ] = ACTIONS(2692),
    [anon_sym_DASH_EQ] = ACTIONS(2692),
    [anon_sym_STAR_EQ] = ACTIONS(2692),
    [anon_sym_SLASH_EQ] = ACTIONS(2692),
    [anon_sym_PERCENT_EQ] = ACTIONS(2692),
    [anon_sym_BANG_EQ] = ACTIONS(2687),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2692),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2692),
    [anon_sym_LT_EQ] = ACTIONS(2692),
    [anon_sym_GT_EQ] = ACTIONS(2692),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2692),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2692),
    [anon_sym_is] = ACTIONS(2695),
    [anon_sym_PLUS] = ACTIONS(2687),
    [anon_sym_DASH] = ACTIONS(2687),
    [anon_sym_STAR] = ACTIONS(2687),
    [anon_sym_SLASH] = ACTIONS(2687),
    [anon_sym_PERCENT] = ACTIONS(2687),
    [anon_sym_PLUS_PLUS] = ACTIONS(2692),
    [anon_sym_DASH_DASH] = ACTIONS(2692),
    [anon_sym_PIPE] = ACTIONS(2692),
    [anon_sym_CARET] = ACTIONS(2687),
    [anon_sym_LT_LT] = ACTIONS(2692),
    [anon_sym_GT_GT] = ACTIONS(2692),
    [anon_sym_import] = ACTIONS(2695),
    [anon_sym_typealias] = ACTIONS(2695),
    [anon_sym_struct] = ACTIONS(2695),
    [anon_sym_class] = ACTIONS(2695),
    [anon_sym_enum] = ACTIONS(2695),
    [anon_sym_protocol] = ACTIONS(2695),
    [anon_sym_let] = ACTIONS(2695),
    [anon_sym_var] = ACTIONS(2695),
    [anon_sym_func] = ACTIONS(2695),
    [anon_sym_extension] = ACTIONS(2695),
    [anon_sym_indirect] = ACTIONS(2695),
    [anon_sym_SEMI] = ACTIONS(2690),
    [anon_sym_init] = ACTIONS(2695),
    [anon_sym_deinit] = ACTIONS(2695),
    [anon_sym_subscript] = ACTIONS(2695),
    [anon_sym_prefix] = ACTIONS(2695),
    [anon_sym_infix] = ACTIONS(2695),
    [anon_sym_postfix] = ACTIONS(2695),
    [anon_sym_precedencegroup] = ACTIONS(2695),
    [anon_sym_associatedtype] = ACTIONS(2695),
    [anon_sym_AT] = ACTIONS(2695),
    [anon_sym_override] = ACTIONS(2695),
    [anon_sym_convenience] = ACTIONS(2695),
    [anon_sym_required] = ACTIONS(2695),
    [anon_sym_nonisolated] = ACTIONS(2695),
    [anon_sym_public] = ACTIONS(2695),
    [anon_sym_private] = ACTIONS(2695),
    [anon_sym_internal] = ACTIONS(2695),
    [anon_sym_fileprivate] = ACTIONS(2695),
    [anon_sym_open] = ACTIONS(2695),
    [anon_sym_mutating] = ACTIONS(2695),
    [anon_sym_nonmutating] = ACTIONS(2695),
    [anon_sym_static] = ACTIONS(2695),
    [anon_sym_dynamic] = ACTIONS(2695),
    [anon_sym_optional] = ACTIONS(2695),
    [anon_sym_distributed] = ACTIONS(2695),
    [anon_sym_final] = ACTIONS(2695),
    [anon_sym_inout] = ACTIONS(2695),
    [anon_sym_ATescaping] = ACTIONS(2690),
    [anon_sym_ATautoclosure] = ACTIONS(2690),
    [anon_sym_weak] = ACTIONS(2695),
    [anon_sym_unowned] = ACTIONS(2695),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2690),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2690),
    [anon_sym_borrowing] = ACTIONS(2687),
    [anon_sym_consuming] = ACTIONS(2687),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2678),
    [sym_raw_str_end_part] = ACTIONS(2678),
    [sym__dot_custom] = ACTIONS(2692),
    [sym__conjunction_operator_custom] = ACTIONS(2690),
    [sym__disjunction_operator_custom] = ACTIONS(2690),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2690),
    [sym__eq_custom] = ACTIONS(2692),
    [sym__eq_eq_custom] = ACTIONS(2692),
    [sym__plus_then_ws] = ACTIONS(2692),
    [sym__minus_then_ws] = ACTIONS(2692),
    [sym__bang_custom] = ACTIONS(2692),
    [sym__as_custom] = ACTIONS(2690),
    [sym__as_quest_custom] = ACTIONS(2690),
    [sym__as_bang_custom] = ACTIONS(2690),
    [sym__custom_operator] = ACTIONS(2692),
    [sym__hash_symbol_custom] = ACTIONS(2678),
    [sym__directive_if] = ACTIONS(2678),
    [sym__directive_elseif] = ACTIONS(2678),
    [sym__directive_else] = ACTIONS(2678),
    [sym__directive_endif] = ACTIONS(2678),
  },
  [742] = {
    [anon_sym_BANG] = ACTIONS(2665),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2665),
    [aux_sym_simple_identifier_token2] = ACTIONS(2667),
    [aux_sym_simple_identifier_token3] = ACTIONS(2667),
    [aux_sym_simple_identifier_token4] = ACTIONS(2667),
    [anon_sym_actor] = ACTIONS(2665),
    [anon_sym_async] = ACTIONS(2665),
    [anon_sym_each] = ACTIONS(2665),
    [anon_sym_lazy] = ACTIONS(2665),
    [anon_sym_repeat] = ACTIONS(2665),
    [anon_sym_package] = ACTIONS(2665),
    [anon_sym_nil] = ACTIONS(2665),
    [sym_real_literal] = ACTIONS(2667),
    [sym_integer_literal] = ACTIONS(2665),
    [sym_hex_literal] = ACTIONS(2665),
    [sym_oct_literal] = ACTIONS(2667),
    [sym_bin_literal] = ACTIONS(2667),
    [anon_sym_true] = ACTIONS(2665),
    [anon_sym_false] = ACTIONS(2665),
    [anon_sym_DQUOTE] = ACTIONS(2665),
    [anon_sym_BSLASH] = ACTIONS(2667),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2667),
    [anon_sym_COMMA] = ACTIONS(2697),
    [sym__oneline_regex_literal] = ACTIONS(2665),
    [anon_sym_LPAREN] = ACTIONS(2667),
    [anon_sym_LBRACK] = ACTIONS(2667),
    [anon_sym_QMARK] = ACTIONS(2699),
    [anon_sym_QMARK2] = ACTIONS(2697),
    [anon_sym_AMP] = ACTIONS(2667),
    [anon_sym_TILDE] = ACTIONS(2667),
    [anon_sym_if] = ACTIONS(2665),
    [anon_sym_switch] = ACTIONS(2665),
    [aux_sym_custom_operator_token1] = ACTIONS(2667),
    [anon_sym_LT] = ACTIONS(2665),
    [anon_sym_GT] = ACTIONS(2665),
    [anon_sym_await] = ACTIONS(2665),
    [anon_sym_LBRACE] = ACTIONS(2667),
    [anon_sym_CARET_LBRACE] = ACTIONS(2667),
    [anon_sym_RBRACE] = ACTIONS(2697),
    [anon_sym_self] = ACTIONS(2665),
    [anon_sym_super] = ACTIONS(2665),
    [anon_sym_case] = ACTIONS(2699),
    [anon_sym_try] = ACTIONS(2665),
    [anon_sym_PLUS_EQ] = ACTIONS(2667),
    [anon_sym_DASH_EQ] = ACTIONS(2667),
    [anon_sym_STAR_EQ] = ACTIONS(2667),
    [anon_sym_SLASH_EQ] = ACTIONS(2667),
    [anon_sym_PERCENT_EQ] = ACTIONS(2667),
    [anon_sym_BANG_EQ] = ACTIONS(2665),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2667),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2667),
    [anon_sym_LT_EQ] = ACTIONS(2667),
    [anon_sym_GT_EQ] = ACTIONS(2667),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2667),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2667),
    [anon_sym_is] = ACTIONS(2699),
    [anon_sym_PLUS] = ACTIONS(2665),
    [anon_sym_DASH] = ACTIONS(2665),
    [anon_sym_STAR] = ACTIONS(2665),
    [anon_sym_SLASH] = ACTIONS(2665),
    [anon_sym_PERCENT] = ACTIONS(2665),
    [anon_sym_PLUS_PLUS] = ACTIONS(2667),
    [anon_sym_DASH_DASH] = ACTIONS(2667),
    [anon_sym_PIPE] = ACTIONS(2667),
    [anon_sym_CARET] = ACTIONS(2665),
    [anon_sym_LT_LT] = ACTIONS(2667),
    [anon_sym_GT_GT] = ACTIONS(2667),
    [anon_sym_import] = ACTIONS(2699),
    [anon_sym_typealias] = ACTIONS(2699),
    [anon_sym_struct] = ACTIONS(2699),
    [anon_sym_class] = ACTIONS(2699),
    [anon_sym_enum] = ACTIONS(2699),
    [anon_sym_protocol] = ACTIONS(2699),
    [anon_sym_let] = ACTIONS(2699),
    [anon_sym_var] = ACTIONS(2699),
    [anon_sym_func] = ACTIONS(2699),
    [anon_sym_extension] = ACTIONS(2699),
    [anon_sym_indirect] = ACTIONS(2699),
    [anon_sym_SEMI] = ACTIONS(2697),
    [anon_sym_init] = ACTIONS(2699),
    [anon_sym_deinit] = ACTIONS(2699),
    [anon_sym_subscript] = ACTIONS(2699),
    [anon_sym_prefix] = ACTIONS(2699),
    [anon_sym_infix] = ACTIONS(2699),
    [anon_sym_postfix] = ACTIONS(2699),
    [anon_sym_precedencegroup] = ACTIONS(2699),
    [anon_sym_associatedtype] = ACTIONS(2699),
    [anon_sym_AT] = ACTIONS(2699),
    [anon_sym_override] = ACTIONS(2699),
    [anon_sym_convenience] = ACTIONS(2699),
    [anon_sym_required] = ACTIONS(2699),
    [anon_sym_nonisolated] = ACTIONS(2699),
    [anon_sym_public] = ACTIONS(2699),
    [anon_sym_private] = ACTIONS(2699),
    [anon_sym_internal] = ACTIONS(2699),
    [anon_sym_fileprivate] = ACTIONS(2699),
    [anon_sym_open] = ACTIONS(2699),
    [anon_sym_mutating] = ACTIONS(2699),
    [anon_sym_nonmutating] = ACTIONS(2699),
    [anon_sym_static] = ACTIONS(2699),
    [anon_sym_dynamic] = ACTIONS(2699),
    [anon_sym_optional] = ACTIONS(2699),
    [anon_sym_distributed] = ACTIONS(2699),
    [anon_sym_final] = ACTIONS(2699),
    [anon_sym_inout] = ACTIONS(2699),
    [anon_sym_ATescaping] = ACTIONS(2697),
    [anon_sym_ATautoclosure] = ACTIONS(2697),
    [anon_sym_weak] = ACTIONS(2699),
    [anon_sym_unowned] = ACTIONS(2699),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2697),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2697),
    [anon_sym_borrowing] = ACTIONS(2665),
    [anon_sym_consuming] = ACTIONS(2665),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2667),
    [sym_raw_str_end_part] = ACTIONS(2667),
    [sym__dot_custom] = ACTIONS(2667),
    [sym__conjunction_operator_custom] = ACTIONS(2697),
    [sym__disjunction_operator_custom] = ACTIONS(2697),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2697),
    [sym__eq_custom] = ACTIONS(2667),
    [sym__eq_eq_custom] = ACTIONS(2667),
    [sym__plus_then_ws] = ACTIONS(2667),
    [sym__minus_then_ws] = ACTIONS(2667),
    [sym__bang_custom] = ACTIONS(2667),
    [sym__as_custom] = ACTIONS(2697),
    [sym__as_quest_custom] = ACTIONS(2697),
    [sym__as_bang_custom] = ACTIONS(2697),
    [sym__custom_operator] = ACTIONS(2667),
    [sym__hash_symbol_custom] = ACTIONS(2667),
    [sym__directive_if] = ACTIONS(2667),
    [sym__directive_elseif] = ACTIONS(2667),
    [sym__directive_else] = ACTIONS(2667),
    [sym__directive_endif] = ACTIONS(2667),
  },
  [743] = {
    [sym__quest] = STATE(613),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(472),
    [sym_custom_operator] = STATE(462),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(984),
    [sym_expr_hack_at_ternary_binary_call_suffix] = STATE(954),
    [sym_lambda_literal] = STATE(805),
    [sym__equality_operator] = STATE(441),
    [sym__comparison_operator] = STATE(439),
    [sym__three_dot_operator] = STATE(739),
    [sym__open_ended_range_operator] = STATE(472),
    [sym__is_operator] = STATE(4128),
    [sym__additive_operator] = STATE(666),
    [sym__multiplicative_operator] = STATE(668),
    [sym_as_operator] = STATE(4124),
    [sym__bitwise_binary_operator] = STATE(413),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(441),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(408),
    [sym__disjunction_operator] = STATE(407),
    [sym__nil_coalescing_operator] = STATE(406),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(2703),
    [anon_sym_async] = ACTIONS(2703),
    [anon_sym_lazy] = ACTIONS(2703),
    [anon_sym_package] = ACTIONS(2703),
    [anon_sym_COMMA] = ACTIONS(2703),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(2709),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(2713),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2717),
    [anon_sym_GT] = ACTIONS(2717),
    [anon_sym_LBRACE] = ACTIONS(2703),
    [anon_sym_CARET_LBRACE] = ACTIONS(2703),
    [anon_sym_RBRACE] = ACTIONS(2703),
    [anon_sym_case] = ACTIONS(2703),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(2721),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2723),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2723),
    [anon_sym_LT_EQ] = ACTIONS(2725),
    [anon_sym_GT_EQ] = ACTIONS(2725),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(635),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2727),
    [anon_sym_is] = ACTIONS(2729),
    [anon_sym_PLUS] = ACTIONS(2731),
    [anon_sym_DASH] = ACTIONS(2731),
    [anon_sym_STAR] = ACTIONS(2733),
    [anon_sym_SLASH] = ACTIONS(2733),
    [anon_sym_PERCENT] = ACTIONS(2733),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(2713),
    [anon_sym_CARET] = ACTIONS(2737),
    [anon_sym_LT_LT] = ACTIONS(2713),
    [anon_sym_GT_GT] = ACTIONS(2713),
    [anon_sym_import] = ACTIONS(2703),
    [anon_sym_typealias] = ACTIONS(2703),
    [anon_sym_struct] = ACTIONS(2703),
    [anon_sym_class] = ACTIONS(2703),
    [anon_sym_enum] = ACTIONS(2703),
    [anon_sym_protocol] = ACTIONS(2703),
    [anon_sym_let] = ACTIONS(2703),
    [anon_sym_var] = ACTIONS(2703),
    [anon_sym_func] = ACTIONS(2703),
    [anon_sym_extension] = ACTIONS(2703),
    [anon_sym_indirect] = ACTIONS(2703),
    [anon_sym_SEMI] = ACTIONS(2703),
    [anon_sym_init] = ACTIONS(2703),
    [anon_sym_deinit] = ACTIONS(2703),
    [anon_sym_subscript] = ACTIONS(2703),
    [anon_sym_prefix] = ACTIONS(2703),
    [anon_sym_infix] = ACTIONS(2703),
    [anon_sym_postfix] = ACTIONS(2703),
    [anon_sym_precedencegroup] = ACTIONS(2703),
    [anon_sym_associatedtype] = ACTIONS(2703),
    [anon_sym_AT] = ACTIONS(2709),
    [anon_sym_override] = ACTIONS(2703),
    [anon_sym_convenience] = ACTIONS(2703),
    [anon_sym_required] = ACTIONS(2703),
    [anon_sym_nonisolated] = ACTIONS(2703),
    [anon_sym_public] = ACTIONS(2703),
    [anon_sym_private] = ACTIONS(2703),
    [anon_sym_internal] = ACTIONS(2703),
    [anon_sym_fileprivate] = ACTIONS(2703),
    [anon_sym_open] = ACTIONS(2703),
    [anon_sym_mutating] = ACTIONS(2703),
    [anon_sym_nonmutating] = ACTIONS(2703),
    [anon_sym_static] = ACTIONS(2703),
    [anon_sym_dynamic] = ACTIONS(2703),
    [anon_sym_optional] = ACTIONS(2703),
    [anon_sym_distributed] = ACTIONS(2703),
    [anon_sym_final] = ACTIONS(2703),
    [anon_sym_inout] = ACTIONS(2703),
    [anon_sym_ATescaping] = ACTIONS(2703),
    [anon_sym_ATautoclosure] = ACTIONS(2703),
    [anon_sym_weak] = ACTIONS(2703),
    [anon_sym_unowned] = ACTIONS(2709),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2703),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2703),
    [anon_sym_borrowing] = ACTIONS(2703),
    [anon_sym_consuming] = ACTIONS(2703),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(2741),
    [sym__disjunction_operator_custom] = ACTIONS(2743),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2745),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(2723),
    [sym__plus_then_ws] = ACTIONS(2747),
    [sym__minus_then_ws] = ACTIONS(2747),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [744] = {
    [sym__quest] = STATE(613),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(472),
    [sym_custom_operator] = STATE(462),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(983),
    [sym_lambda_literal] = STATE(805),
    [sym__equality_operator] = STATE(441),
    [sym__comparison_operator] = STATE(439),
    [sym__three_dot_operator] = STATE(739),
    [sym__open_ended_range_operator] = STATE(472),
    [sym__is_operator] = STATE(4128),
    [sym__additive_operator] = STATE(666),
    [sym__multiplicative_operator] = STATE(668),
    [sym_as_operator] = STATE(4124),
    [sym__bitwise_binary_operator] = STATE(413),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(441),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(408),
    [sym__disjunction_operator] = STATE(407),
    [sym__nil_coalescing_operator] = STATE(406),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(2753),
    [anon_sym_async] = ACTIONS(2753),
    [anon_sym_lazy] = ACTIONS(2753),
    [anon_sym_package] = ACTIONS(2753),
    [anon_sym_COMMA] = ACTIONS(2753),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(2755),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(2713),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2717),
    [anon_sym_GT] = ACTIONS(2717),
    [anon_sym_LBRACE] = ACTIONS(2757),
    [anon_sym_CARET_LBRACE] = ACTIONS(2757),
    [anon_sym_RBRACE] = ACTIONS(2753),
    [anon_sym_case] = ACTIONS(2753),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(2721),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2723),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2723),
    [anon_sym_LT_EQ] = ACTIONS(2725),
    [anon_sym_GT_EQ] = ACTIONS(2725),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(635),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2727),
    [anon_sym_is] = ACTIONS(2729),
    [anon_sym_PLUS] = ACTIONS(2731),
    [anon_sym_DASH] = ACTIONS(2731),
    [anon_sym_STAR] = ACTIONS(2733),
    [anon_sym_SLASH] = ACTIONS(2733),
    [anon_sym_PERCENT] = ACTIONS(2733),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(2713),
    [anon_sym_CARET] = ACTIONS(2737),
    [anon_sym_LT_LT] = ACTIONS(2713),
    [anon_sym_GT_GT] = ACTIONS(2713),
    [anon_sym_import] = ACTIONS(2753),
    [anon_sym_typealias] = ACTIONS(2753),
    [anon_sym_struct] = ACTIONS(2753),
    [anon_sym_class] = ACTIONS(2753),
    [anon_sym_enum] = ACTIONS(2753),
    [anon_sym_protocol] = ACTIONS(2753),
    [anon_sym_let] = ACTIONS(2753),
    [anon_sym_var] = ACTIONS(2753),
    [anon_sym_func] = ACTIONS(2753),
    [anon_sym_extension] = ACTIONS(2753),
    [anon_sym_indirect] = ACTIONS(2753),
    [anon_sym_SEMI] = ACTIONS(2753),
    [anon_sym_init] = ACTIONS(2753),
    [anon_sym_deinit] = ACTIONS(2753),
    [anon_sym_subscript] = ACTIONS(2753),
    [anon_sym_prefix] = ACTIONS(2753),
    [anon_sym_infix] = ACTIONS(2753),
    [anon_sym_postfix] = ACTIONS(2753),
    [anon_sym_precedencegroup] = ACTIONS(2753),
    [anon_sym_associatedtype] = ACTIONS(2753),
    [anon_sym_AT] = ACTIONS(2759),
    [anon_sym_override] = ACTIONS(2753),
    [anon_sym_convenience] = ACTIONS(2753),
    [anon_sym_required] = ACTIONS(2753),
    [anon_sym_nonisolated] = ACTIONS(2753),
    [anon_sym_public] = ACTIONS(2753),
    [anon_sym_private] = ACTIONS(2753),
    [anon_sym_internal] = ACTIONS(2753),
    [anon_sym_fileprivate] = ACTIONS(2753),
    [anon_sym_open] = ACTIONS(2753),
    [anon_sym_mutating] = ACTIONS(2753),
    [anon_sym_nonmutating] = ACTIONS(2753),
    [anon_sym_static] = ACTIONS(2753),
    [anon_sym_dynamic] = ACTIONS(2753),
    [anon_sym_optional] = ACTIONS(2753),
    [anon_sym_distributed] = ACTIONS(2753),
    [anon_sym_final] = ACTIONS(2753),
    [anon_sym_inout] = ACTIONS(2753),
    [anon_sym_ATescaping] = ACTIONS(2753),
    [anon_sym_ATautoclosure] = ACTIONS(2753),
    [anon_sym_weak] = ACTIONS(2753),
    [anon_sym_unowned] = ACTIONS(2759),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2753),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2753),
    [anon_sym_borrowing] = ACTIONS(2753),
    [anon_sym_consuming] = ACTIONS(2753),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(2741),
    [sym__disjunction_operator_custom] = ACTIONS(2743),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2745),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(2723),
    [sym__plus_then_ws] = ACTIONS(2747),
    [sym__minus_then_ws] = ACTIONS(2747),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [745] = {
    [sym__quest] = STATE(613),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(472),
    [sym_custom_operator] = STATE(462),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(983),
    [sym_lambda_literal] = STATE(805),
    [sym__equality_operator] = STATE(441),
    [sym__comparison_operator] = STATE(439),
    [sym__three_dot_operator] = STATE(739),
    [sym__open_ended_range_operator] = STATE(472),
    [sym__is_operator] = STATE(4128),
    [sym__additive_operator] = STATE(666),
    [sym__multiplicative_operator] = STATE(668),
    [sym_as_operator] = STATE(4124),
    [sym__bitwise_binary_operator] = STATE(413),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(441),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(408),
    [sym__disjunction_operator] = STATE(407),
    [sym__nil_coalescing_operator] = STATE(406),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2761),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(2763),
    [anon_sym_async] = ACTIONS(2763),
    [anon_sym_lazy] = ACTIONS(2763),
    [anon_sym_package] = ACTIONS(2763),
    [anon_sym_COMMA] = ACTIONS(2763),
    [anon_sym_LPAREN] = ACTIONS(2763),
    [anon_sym_LBRACK] = ACTIONS(2763),
    [anon_sym_QMARK] = ACTIONS(2761),
    [anon_sym_QMARK2] = ACTIONS(2763),
    [anon_sym_AMP] = ACTIONS(2763),
    [aux_sym_custom_operator_token1] = ACTIONS(2763),
    [anon_sym_LT] = ACTIONS(2761),
    [anon_sym_GT] = ACTIONS(2761),
    [anon_sym_LBRACE] = ACTIONS(2763),
    [anon_sym_CARET_LBRACE] = ACTIONS(2763),
    [anon_sym_RBRACE] = ACTIONS(2763),
    [anon_sym_case] = ACTIONS(2763),
    [anon_sym_PLUS_EQ] = ACTIONS(2763),
    [anon_sym_DASH_EQ] = ACTIONS(2763),
    [anon_sym_STAR_EQ] = ACTIONS(2763),
    [anon_sym_SLASH_EQ] = ACTIONS(2763),
    [anon_sym_PERCENT_EQ] = ACTIONS(2763),
    [anon_sym_BANG_EQ] = ACTIONS(2761),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2763),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2763),
    [anon_sym_LT_EQ] = ACTIONS(2763),
    [anon_sym_GT_EQ] = ACTIONS(2763),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2763),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2763),
    [anon_sym_is] = ACTIONS(2763),
    [anon_sym_PLUS] = ACTIONS(2761),
    [anon_sym_DASH] = ACTIONS(2761),
    [anon_sym_STAR] = ACTIONS(2733),
    [anon_sym_SLASH] = ACTIONS(2733),
    [anon_sym_PERCENT] = ACTIONS(2733),
    [anon_sym_PLUS_PLUS] = ACTIONS(2763),
    [anon_sym_DASH_DASH] = ACTIONS(2763),
    [anon_sym_PIPE] = ACTIONS(2763),
    [anon_sym_CARET] = ACTIONS(2761),
    [anon_sym_LT_LT] = ACTIONS(2763),
    [anon_sym_GT_GT] = ACTIONS(2763),
    [anon_sym_import] = ACTIONS(2763),
    [anon_sym_typealias] = ACTIONS(2763),
    [anon_sym_struct] = ACTIONS(2763),
    [anon_sym_class] = ACTIONS(2763),
    [anon_sym_enum] = ACTIONS(2763),
    [anon_sym_protocol] = ACTIONS(2763),
    [anon_sym_let] = ACTIONS(2763),
    [anon_sym_var] = ACTIONS(2763),
    [anon_sym_func] = ACTIONS(2763),
    [anon_sym_extension] = ACTIONS(2763),
    [anon_sym_indirect] = ACTIONS(2763),
    [anon_sym_SEMI] = ACTIONS(2763),
    [anon_sym_init] = ACTIONS(2763),
    [anon_sym_deinit] = ACTIONS(2763),
    [anon_sym_subscript] = ACTIONS(2763),
    [anon_sym_prefix] = ACTIONS(2763),
    [anon_sym_infix] = ACTIONS(2763),
    [anon_sym_postfix] = ACTIONS(2763),
    [anon_sym_precedencegroup] = ACTIONS(2763),
    [anon_sym_associatedtype] = ACTIONS(2763),
    [anon_sym_AT] = ACTIONS(2761),
    [anon_sym_override] = ACTIONS(2763),
    [anon_sym_convenience] = ACTIONS(2763),
    [anon_sym_required] = ACTIONS(2763),
    [anon_sym_nonisolated] = ACTIONS(2763),
    [anon_sym_public] = ACTIONS(2763),
    [anon_sym_private] = ACTIONS(2763),
    [anon_sym_internal] = ACTIONS(2763),
    [anon_sym_fileprivate] = ACTIONS(2763),
    [anon_sym_open] = ACTIONS(2763),
    [anon_sym_mutating] = ACTIONS(2763),
    [anon_sym_nonmutating] = ACTIONS(2763),
    [anon_sym_static] = ACTIONS(2763),
    [anon_sym_dynamic] = ACTIONS(2763),
    [anon_sym_optional] = ACTIONS(2763),
    [anon_sym_distributed] = ACTIONS(2763),
    [anon_sym_final] = ACTIONS(2763),
    [anon_sym_inout] = ACTIONS(2763),
    [anon_sym_ATescaping] = ACTIONS(2763),
    [anon_sym_ATautoclosure] = ACTIONS(2763),
    [anon_sym_weak] = ACTIONS(2763),
    [anon_sym_unowned] = ACTIONS(2761),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2763),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2763),
    [anon_sym_borrowing] = ACTIONS(2763),
    [anon_sym_consuming] = ACTIONS(2763),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2763),
    [sym__conjunction_operator_custom] = ACTIONS(2763),
    [sym__disjunction_operator_custom] = ACTIONS(2763),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2763),
    [sym__eq_custom] = ACTIONS(2763),
    [sym__eq_eq_custom] = ACTIONS(2763),
    [sym__plus_then_ws] = ACTIONS(2763),
    [sym__minus_then_ws] = ACTIONS(2763),
    [sym__bang_custom] = ACTIONS(2763),
    [sym__as_custom] = ACTIONS(2763),
    [sym__as_quest_custom] = ACTIONS(2763),
    [sym__as_bang_custom] = ACTIONS(2763),
    [sym__custom_operator] = ACTIONS(2763),
  },
  [746] = {
    [sym__quest] = STATE(613),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(472),
    [sym_custom_operator] = STATE(462),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(983),
    [sym_lambda_literal] = STATE(805),
    [sym__equality_operator] = STATE(441),
    [sym__comparison_operator] = STATE(439),
    [sym__three_dot_operator] = STATE(739),
    [sym__open_ended_range_operator] = STATE(472),
    [sym__is_operator] = STATE(4128),
    [sym__additive_operator] = STATE(666),
    [sym__multiplicative_operator] = STATE(668),
    [sym_as_operator] = STATE(4124),
    [sym__bitwise_binary_operator] = STATE(413),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(441),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(408),
    [sym__disjunction_operator] = STATE(407),
    [sym__nil_coalescing_operator] = STATE(406),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(2765),
    [anon_sym_async] = ACTIONS(2765),
    [anon_sym_lazy] = ACTIONS(2765),
    [anon_sym_package] = ACTIONS(2765),
    [anon_sym_COMMA] = ACTIONS(2765),
    [anon_sym_LPAREN] = ACTIONS(2765),
    [anon_sym_LBRACK] = ACTIONS(2765),
    [anon_sym_QMARK] = ACTIONS(2767),
    [anon_sym_QMARK2] = ACTIONS(2765),
    [anon_sym_AMP] = ACTIONS(2765),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2767),
    [anon_sym_GT] = ACTIONS(2767),
    [anon_sym_LBRACE] = ACTIONS(2765),
    [anon_sym_CARET_LBRACE] = ACTIONS(2765),
    [anon_sym_RBRACE] = ACTIONS(2765),
    [anon_sym_case] = ACTIONS(2765),
    [anon_sym_PLUS_EQ] = ACTIONS(2765),
    [anon_sym_DASH_EQ] = ACTIONS(2765),
    [anon_sym_STAR_EQ] = ACTIONS(2765),
    [anon_sym_SLASH_EQ] = ACTIONS(2765),
    [anon_sym_PERCENT_EQ] = ACTIONS(2765),
    [anon_sym_BANG_EQ] = ACTIONS(2721),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2723),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2723),
    [anon_sym_LT_EQ] = ACTIONS(2765),
    [anon_sym_GT_EQ] = ACTIONS(2765),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2765),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2765),
    [anon_sym_is] = ACTIONS(2729),
    [anon_sym_PLUS] = ACTIONS(2731),
    [anon_sym_DASH] = ACTIONS(2731),
    [anon_sym_STAR] = ACTIONS(2733),
    [anon_sym_SLASH] = ACTIONS(2733),
    [anon_sym_PERCENT] = ACTIONS(2733),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(2765),
    [anon_sym_CARET] = ACTIONS(2767),
    [anon_sym_LT_LT] = ACTIONS(2765),
    [anon_sym_GT_GT] = ACTIONS(2765),
    [anon_sym_import] = ACTIONS(2765),
    [anon_sym_typealias] = ACTIONS(2765),
    [anon_sym_struct] = ACTIONS(2765),
    [anon_sym_class] = ACTIONS(2765),
    [anon_sym_enum] = ACTIONS(2765),
    [anon_sym_protocol] = ACTIONS(2765),
    [anon_sym_let] = ACTIONS(2765),
    [anon_sym_var] = ACTIONS(2765),
    [anon_sym_func] = ACTIONS(2765),
    [anon_sym_extension] = ACTIONS(2765),
    [anon_sym_indirect] = ACTIONS(2765),
    [anon_sym_SEMI] = ACTIONS(2765),
    [anon_sym_init] = ACTIONS(2765),
    [anon_sym_deinit] = ACTIONS(2765),
    [anon_sym_subscript] = ACTIONS(2765),
    [anon_sym_prefix] = ACTIONS(2765),
    [anon_sym_infix] = ACTIONS(2765),
    [anon_sym_postfix] = ACTIONS(2765),
    [anon_sym_precedencegroup] = ACTIONS(2765),
    [anon_sym_associatedtype] = ACTIONS(2765),
    [anon_sym_AT] = ACTIONS(2767),
    [anon_sym_override] = ACTIONS(2765),
    [anon_sym_convenience] = ACTIONS(2765),
    [anon_sym_required] = ACTIONS(2765),
    [anon_sym_nonisolated] = ACTIONS(2765),
    [anon_sym_public] = ACTIONS(2765),
    [anon_sym_private] = ACTIONS(2765),
    [anon_sym_internal] = ACTIONS(2765),
    [anon_sym_fileprivate] = ACTIONS(2765),
    [anon_sym_open] = ACTIONS(2765),
    [anon_sym_mutating] = ACTIONS(2765),
    [anon_sym_nonmutating] = ACTIONS(2765),
    [anon_sym_static] = ACTIONS(2765),
    [anon_sym_dynamic] = ACTIONS(2765),
    [anon_sym_optional] = ACTIONS(2765),
    [anon_sym_distributed] = ACTIONS(2765),
    [anon_sym_final] = ACTIONS(2765),
    [anon_sym_inout] = ACTIONS(2765),
    [anon_sym_ATescaping] = ACTIONS(2765),
    [anon_sym_ATautoclosure] = ACTIONS(2765),
    [anon_sym_weak] = ACTIONS(2765),
    [anon_sym_unowned] = ACTIONS(2767),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2765),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2765),
    [anon_sym_borrowing] = ACTIONS(2765),
    [anon_sym_consuming] = ACTIONS(2765),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2765),
    [sym__conjunction_operator_custom] = ACTIONS(2741),
    [sym__disjunction_operator_custom] = ACTIONS(2743),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2745),
    [sym__eq_custom] = ACTIONS(2765),
    [sym__eq_eq_custom] = ACTIONS(2723),
    [sym__plus_then_ws] = ACTIONS(2747),
    [sym__minus_then_ws] = ACTIONS(2747),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2765),
    [sym__as_quest_custom] = ACTIONS(2765),
    [sym__as_bang_custom] = ACTIONS(2765),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [747] = {
    [sym__quest] = STATE(613),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(472),
    [sym_custom_operator] = STATE(462),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(983),
    [sym_lambda_literal] = STATE(805),
    [sym__equality_operator] = STATE(441),
    [sym__comparison_operator] = STATE(439),
    [sym__three_dot_operator] = STATE(739),
    [sym__open_ended_range_operator] = STATE(472),
    [sym__is_operator] = STATE(4128),
    [sym__additive_operator] = STATE(666),
    [sym__multiplicative_operator] = STATE(668),
    [sym_as_operator] = STATE(4124),
    [sym__bitwise_binary_operator] = STATE(413),
    [sym__postfix_unary_operator] = STATE(892),
    [sym_willset_didset_block] = STATE(2888),
    [sym__eq_eq] = STATE(441),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(408),
    [sym__disjunction_operator] = STATE(407),
    [sym__nil_coalescing_operator] = STATE(406),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(2769),
    [anon_sym_async] = ACTIONS(2769),
    [anon_sym_lazy] = ACTIONS(2769),
    [anon_sym_package] = ACTIONS(2769),
    [anon_sym_COMMA] = ACTIONS(2769),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(2755),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(2713),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2717),
    [anon_sym_GT] = ACTIONS(2717),
    [anon_sym_LBRACE] = ACTIONS(2771),
    [anon_sym_CARET_LBRACE] = ACTIONS(2757),
    [anon_sym_RBRACE] = ACTIONS(2769),
    [anon_sym_case] = ACTIONS(2769),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(2721),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2723),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2723),
    [anon_sym_LT_EQ] = ACTIONS(2725),
    [anon_sym_GT_EQ] = ACTIONS(2725),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(635),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2727),
    [anon_sym_is] = ACTIONS(2729),
    [anon_sym_PLUS] = ACTIONS(2731),
    [anon_sym_DASH] = ACTIONS(2731),
    [anon_sym_STAR] = ACTIONS(2733),
    [anon_sym_SLASH] = ACTIONS(2733),
    [anon_sym_PERCENT] = ACTIONS(2733),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(2713),
    [anon_sym_CARET] = ACTIONS(2737),
    [anon_sym_LT_LT] = ACTIONS(2713),
    [anon_sym_GT_GT] = ACTIONS(2713),
    [anon_sym_import] = ACTIONS(2769),
    [anon_sym_typealias] = ACTIONS(2769),
    [anon_sym_struct] = ACTIONS(2769),
    [anon_sym_class] = ACTIONS(2769),
    [anon_sym_enum] = ACTIONS(2769),
    [anon_sym_protocol] = ACTIONS(2769),
    [anon_sym_let] = ACTIONS(2769),
    [anon_sym_var] = ACTIONS(2769),
    [anon_sym_func] = ACTIONS(2769),
    [anon_sym_extension] = ACTIONS(2769),
    [anon_sym_indirect] = ACTIONS(2769),
    [anon_sym_init] = ACTIONS(2769),
    [anon_sym_deinit] = ACTIONS(2769),
    [anon_sym_subscript] = ACTIONS(2769),
    [anon_sym_prefix] = ACTIONS(2769),
    [anon_sym_infix] = ACTIONS(2769),
    [anon_sym_postfix] = ACTIONS(2769),
    [anon_sym_precedencegroup] = ACTIONS(2769),
    [anon_sym_associatedtype] = ACTIONS(2769),
    [anon_sym_AT] = ACTIONS(2773),
    [anon_sym_override] = ACTIONS(2769),
    [anon_sym_convenience] = ACTIONS(2769),
    [anon_sym_required] = ACTIONS(2769),
    [anon_sym_nonisolated] = ACTIONS(2769),
    [anon_sym_public] = ACTIONS(2769),
    [anon_sym_private] = ACTIONS(2769),
    [anon_sym_internal] = ACTIONS(2769),
    [anon_sym_fileprivate] = ACTIONS(2769),
    [anon_sym_open] = ACTIONS(2769),
    [anon_sym_mutating] = ACTIONS(2769),
    [anon_sym_nonmutating] = ACTIONS(2769),
    [anon_sym_static] = ACTIONS(2769),
    [anon_sym_dynamic] = ACTIONS(2769),
    [anon_sym_optional] = ACTIONS(2769),
    [anon_sym_distributed] = ACTIONS(2769),
    [anon_sym_final] = ACTIONS(2769),
    [anon_sym_inout] = ACTIONS(2769),
    [anon_sym_ATescaping] = ACTIONS(2769),
    [anon_sym_ATautoclosure] = ACTIONS(2769),
    [anon_sym_weak] = ACTIONS(2769),
    [anon_sym_unowned] = ACTIONS(2773),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2769),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2769),
    [anon_sym_borrowing] = ACTIONS(2769),
    [anon_sym_consuming] = ACTIONS(2769),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(2741),
    [sym__disjunction_operator_custom] = ACTIONS(2743),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2745),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(2723),
    [sym__plus_then_ws] = ACTIONS(2747),
    [sym__minus_then_ws] = ACTIONS(2747),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [748] = {
    [sym__quest] = STATE(613),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(472),
    [sym_custom_operator] = STATE(462),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(983),
    [sym_lambda_literal] = STATE(805),
    [sym__equality_operator] = STATE(441),
    [sym__comparison_operator] = STATE(439),
    [sym__three_dot_operator] = STATE(739),
    [sym__open_ended_range_operator] = STATE(472),
    [sym__is_operator] = STATE(4128),
    [sym__additive_operator] = STATE(666),
    [sym__multiplicative_operator] = STATE(668),
    [sym_as_operator] = STATE(4124),
    [sym__bitwise_binary_operator] = STATE(413),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(441),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(408),
    [sym__disjunction_operator] = STATE(407),
    [sym__nil_coalescing_operator] = STATE(406),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2775),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(2777),
    [anon_sym_async] = ACTIONS(2777),
    [anon_sym_lazy] = ACTIONS(2777),
    [anon_sym_package] = ACTIONS(2777),
    [anon_sym_COMMA] = ACTIONS(2777),
    [anon_sym_LPAREN] = ACTIONS(2777),
    [anon_sym_LBRACK] = ACTIONS(2777),
    [anon_sym_QMARK] = ACTIONS(2775),
    [anon_sym_QMARK2] = ACTIONS(2777),
    [anon_sym_AMP] = ACTIONS(2777),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2775),
    [anon_sym_GT] = ACTIONS(2775),
    [anon_sym_LBRACE] = ACTIONS(2777),
    [anon_sym_CARET_LBRACE] = ACTIONS(2777),
    [anon_sym_RBRACE] = ACTIONS(2777),
    [anon_sym_case] = ACTIONS(2777),
    [anon_sym_PLUS_EQ] = ACTIONS(2777),
    [anon_sym_DASH_EQ] = ACTIONS(2777),
    [anon_sym_STAR_EQ] = ACTIONS(2777),
    [anon_sym_SLASH_EQ] = ACTIONS(2777),
    [anon_sym_PERCENT_EQ] = ACTIONS(2777),
    [anon_sym_BANG_EQ] = ACTIONS(2775),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2777),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2777),
    [anon_sym_LT_EQ] = ACTIONS(2777),
    [anon_sym_GT_EQ] = ACTIONS(2777),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2777),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2777),
    [anon_sym_is] = ACTIONS(2777),
    [anon_sym_PLUS] = ACTIONS(2731),
    [anon_sym_DASH] = ACTIONS(2731),
    [anon_sym_STAR] = ACTIONS(2733),
    [anon_sym_SLASH] = ACTIONS(2733),
    [anon_sym_PERCENT] = ACTIONS(2733),
    [anon_sym_PLUS_PLUS] = ACTIONS(2777),
    [anon_sym_DASH_DASH] = ACTIONS(2777),
    [anon_sym_PIPE] = ACTIONS(2777),
    [anon_sym_CARET] = ACTIONS(2775),
    [anon_sym_LT_LT] = ACTIONS(2777),
    [anon_sym_GT_GT] = ACTIONS(2777),
    [anon_sym_import] = ACTIONS(2777),
    [anon_sym_typealias] = ACTIONS(2777),
    [anon_sym_struct] = ACTIONS(2777),
    [anon_sym_class] = ACTIONS(2777),
    [anon_sym_enum] = ACTIONS(2777),
    [anon_sym_protocol] = ACTIONS(2777),
    [anon_sym_let] = ACTIONS(2777),
    [anon_sym_var] = ACTIONS(2777),
    [anon_sym_func] = ACTIONS(2777),
    [anon_sym_extension] = ACTIONS(2777),
    [anon_sym_indirect] = ACTIONS(2777),
    [anon_sym_SEMI] = ACTIONS(2777),
    [anon_sym_init] = ACTIONS(2777),
    [anon_sym_deinit] = ACTIONS(2777),
    [anon_sym_subscript] = ACTIONS(2777),
    [anon_sym_prefix] = ACTIONS(2777),
    [anon_sym_infix] = ACTIONS(2777),
    [anon_sym_postfix] = ACTIONS(2777),
    [anon_sym_precedencegroup] = ACTIONS(2777),
    [anon_sym_associatedtype] = ACTIONS(2777),
    [anon_sym_AT] = ACTIONS(2775),
    [anon_sym_override] = ACTIONS(2777),
    [anon_sym_convenience] = ACTIONS(2777),
    [anon_sym_required] = ACTIONS(2777),
    [anon_sym_nonisolated] = ACTIONS(2777),
    [anon_sym_public] = ACTIONS(2777),
    [anon_sym_private] = ACTIONS(2777),
    [anon_sym_internal] = ACTIONS(2777),
    [anon_sym_fileprivate] = ACTIONS(2777),
    [anon_sym_open] = ACTIONS(2777),
    [anon_sym_mutating] = ACTIONS(2777),
    [anon_sym_nonmutating] = ACTIONS(2777),
    [anon_sym_static] = ACTIONS(2777),
    [anon_sym_dynamic] = ACTIONS(2777),
    [anon_sym_optional] = ACTIONS(2777),
    [anon_sym_distributed] = ACTIONS(2777),
    [anon_sym_final] = ACTIONS(2777),
    [anon_sym_inout] = ACTIONS(2777),
    [anon_sym_ATescaping] = ACTIONS(2777),
    [anon_sym_ATautoclosure] = ACTIONS(2777),
    [anon_sym_weak] = ACTIONS(2777),
    [anon_sym_unowned] = ACTIONS(2775),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2777),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2777),
    [anon_sym_borrowing] = ACTIONS(2777),
    [anon_sym_consuming] = ACTIONS(2777),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2777),
    [sym__conjunction_operator_custom] = ACTIONS(2777),
    [sym__disjunction_operator_custom] = ACTIONS(2777),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2745),
    [sym__eq_custom] = ACTIONS(2777),
    [sym__eq_eq_custom] = ACTIONS(2777),
    [sym__plus_then_ws] = ACTIONS(2747),
    [sym__minus_then_ws] = ACTIONS(2747),
    [sym__bang_custom] = ACTIONS(2777),
    [sym__as_custom] = ACTIONS(2777),
    [sym__as_quest_custom] = ACTIONS(2777),
    [sym__as_bang_custom] = ACTIONS(2777),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [749] = {
    [sym__quest] = STATE(613),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(472),
    [sym_custom_operator] = STATE(462),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(983),
    [sym_lambda_literal] = STATE(805),
    [sym__equality_operator] = STATE(441),
    [sym__comparison_operator] = STATE(439),
    [sym__three_dot_operator] = STATE(739),
    [sym__open_ended_range_operator] = STATE(472),
    [sym__is_operator] = STATE(4128),
    [sym__additive_operator] = STATE(666),
    [sym__multiplicative_operator] = STATE(668),
    [sym_as_operator] = STATE(4124),
    [sym__bitwise_binary_operator] = STATE(413),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(441),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(408),
    [sym__disjunction_operator] = STATE(407),
    [sym__nil_coalescing_operator] = STATE(406),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(2779),
    [anon_sym_async] = ACTIONS(2779),
    [anon_sym_lazy] = ACTIONS(2779),
    [anon_sym_package] = ACTIONS(2779),
    [anon_sym_COMMA] = ACTIONS(2779),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(2755),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(2713),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2717),
    [anon_sym_GT] = ACTIONS(2717),
    [anon_sym_LBRACE] = ACTIONS(2757),
    [anon_sym_CARET_LBRACE] = ACTIONS(2757),
    [anon_sym_RBRACE] = ACTIONS(2779),
    [anon_sym_case] = ACTIONS(2779),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(2721),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2723),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2723),
    [anon_sym_LT_EQ] = ACTIONS(2725),
    [anon_sym_GT_EQ] = ACTIONS(2725),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(635),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2727),
    [anon_sym_is] = ACTIONS(2729),
    [anon_sym_PLUS] = ACTIONS(2731),
    [anon_sym_DASH] = ACTIONS(2731),
    [anon_sym_STAR] = ACTIONS(2733),
    [anon_sym_SLASH] = ACTIONS(2733),
    [anon_sym_PERCENT] = ACTIONS(2733),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(2713),
    [anon_sym_CARET] = ACTIONS(2737),
    [anon_sym_LT_LT] = ACTIONS(2713),
    [anon_sym_GT_GT] = ACTIONS(2713),
    [anon_sym_import] = ACTIONS(2779),
    [anon_sym_typealias] = ACTIONS(2779),
    [anon_sym_struct] = ACTIONS(2779),
    [anon_sym_class] = ACTIONS(2779),
    [anon_sym_enum] = ACTIONS(2779),
    [anon_sym_protocol] = ACTIONS(2779),
    [anon_sym_let] = ACTIONS(2779),
    [anon_sym_var] = ACTIONS(2779),
    [anon_sym_func] = ACTIONS(2779),
    [anon_sym_extension] = ACTIONS(2779),
    [anon_sym_indirect] = ACTIONS(2779),
    [anon_sym_SEMI] = ACTIONS(2779),
    [anon_sym_init] = ACTIONS(2779),
    [anon_sym_deinit] = ACTIONS(2779),
    [anon_sym_subscript] = ACTIONS(2779),
    [anon_sym_prefix] = ACTIONS(2779),
    [anon_sym_infix] = ACTIONS(2779),
    [anon_sym_postfix] = ACTIONS(2779),
    [anon_sym_precedencegroup] = ACTIONS(2779),
    [anon_sym_associatedtype] = ACTIONS(2779),
    [anon_sym_AT] = ACTIONS(2781),
    [anon_sym_override] = ACTIONS(2779),
    [anon_sym_convenience] = ACTIONS(2779),
    [anon_sym_required] = ACTIONS(2779),
    [anon_sym_nonisolated] = ACTIONS(2779),
    [anon_sym_public] = ACTIONS(2779),
    [anon_sym_private] = ACTIONS(2779),
    [anon_sym_internal] = ACTIONS(2779),
    [anon_sym_fileprivate] = ACTIONS(2779),
    [anon_sym_open] = ACTIONS(2779),
    [anon_sym_mutating] = ACTIONS(2779),
    [anon_sym_nonmutating] = ACTIONS(2779),
    [anon_sym_static] = ACTIONS(2779),
    [anon_sym_dynamic] = ACTIONS(2779),
    [anon_sym_optional] = ACTIONS(2779),
    [anon_sym_distributed] = ACTIONS(2779),
    [anon_sym_final] = ACTIONS(2779),
    [anon_sym_inout] = ACTIONS(2779),
    [anon_sym_ATescaping] = ACTIONS(2779),
    [anon_sym_ATautoclosure] = ACTIONS(2779),
    [anon_sym_weak] = ACTIONS(2779),
    [anon_sym_unowned] = ACTIONS(2781),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2779),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2779),
    [anon_sym_borrowing] = ACTIONS(2779),
    [anon_sym_consuming] = ACTIONS(2779),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(2741),
    [sym__disjunction_operator_custom] = ACTIONS(2743),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2745),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(2723),
    [sym__plus_then_ws] = ACTIONS(2747),
    [sym__minus_then_ws] = ACTIONS(2747),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [750] = {
    [sym__quest] = STATE(613),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(472),
    [sym_custom_operator] = STATE(462),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(983),
    [sym_lambda_literal] = STATE(805),
    [sym__equality_operator] = STATE(441),
    [sym__comparison_operator] = STATE(439),
    [sym__three_dot_operator] = STATE(739),
    [sym__open_ended_range_operator] = STATE(472),
    [sym__is_operator] = STATE(4128),
    [sym__additive_operator] = STATE(666),
    [sym__multiplicative_operator] = STATE(668),
    [sym_as_operator] = STATE(4124),
    [sym__bitwise_binary_operator] = STATE(413),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(441),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(408),
    [sym__disjunction_operator] = STATE(407),
    [sym__nil_coalescing_operator] = STATE(406),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(2783),
    [anon_sym_async] = ACTIONS(2783),
    [anon_sym_lazy] = ACTIONS(2783),
    [anon_sym_package] = ACTIONS(2783),
    [anon_sym_COMMA] = ACTIONS(2783),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(2755),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(2713),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2717),
    [anon_sym_GT] = ACTIONS(2717),
    [anon_sym_LBRACE] = ACTIONS(2757),
    [anon_sym_CARET_LBRACE] = ACTIONS(2757),
    [anon_sym_RBRACE] = ACTIONS(2783),
    [anon_sym_case] = ACTIONS(2783),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(2721),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2723),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2723),
    [anon_sym_LT_EQ] = ACTIONS(2725),
    [anon_sym_GT_EQ] = ACTIONS(2725),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(635),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2727),
    [anon_sym_is] = ACTIONS(2729),
    [anon_sym_PLUS] = ACTIONS(2731),
    [anon_sym_DASH] = ACTIONS(2731),
    [anon_sym_STAR] = ACTIONS(2733),
    [anon_sym_SLASH] = ACTIONS(2733),
    [anon_sym_PERCENT] = ACTIONS(2733),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(2713),
    [anon_sym_CARET] = ACTIONS(2737),
    [anon_sym_LT_LT] = ACTIONS(2713),
    [anon_sym_GT_GT] = ACTIONS(2713),
    [anon_sym_import] = ACTIONS(2783),
    [anon_sym_typealias] = ACTIONS(2783),
    [anon_sym_struct] = ACTIONS(2783),
    [anon_sym_class] = ACTIONS(2783),
    [anon_sym_enum] = ACTIONS(2783),
    [anon_sym_protocol] = ACTIONS(2783),
    [anon_sym_let] = ACTIONS(2783),
    [anon_sym_var] = ACTIONS(2783),
    [anon_sym_func] = ACTIONS(2783),
    [anon_sym_extension] = ACTIONS(2783),
    [anon_sym_indirect] = ACTIONS(2783),
    [anon_sym_SEMI] = ACTIONS(2783),
    [anon_sym_init] = ACTIONS(2783),
    [anon_sym_deinit] = ACTIONS(2783),
    [anon_sym_subscript] = ACTIONS(2783),
    [anon_sym_prefix] = ACTIONS(2783),
    [anon_sym_infix] = ACTIONS(2783),
    [anon_sym_postfix] = ACTIONS(2783),
    [anon_sym_precedencegroup] = ACTIONS(2783),
    [anon_sym_associatedtype] = ACTIONS(2783),
    [anon_sym_AT] = ACTIONS(2785),
    [anon_sym_override] = ACTIONS(2783),
    [anon_sym_convenience] = ACTIONS(2783),
    [anon_sym_required] = ACTIONS(2783),
    [anon_sym_nonisolated] = ACTIONS(2783),
    [anon_sym_public] = ACTIONS(2783),
    [anon_sym_private] = ACTIONS(2783),
    [anon_sym_internal] = ACTIONS(2783),
    [anon_sym_fileprivate] = ACTIONS(2783),
    [anon_sym_open] = ACTIONS(2783),
    [anon_sym_mutating] = ACTIONS(2783),
    [anon_sym_nonmutating] = ACTIONS(2783),
    [anon_sym_static] = ACTIONS(2783),
    [anon_sym_dynamic] = ACTIONS(2783),
    [anon_sym_optional] = ACTIONS(2783),
    [anon_sym_distributed] = ACTIONS(2783),
    [anon_sym_final] = ACTIONS(2783),
    [anon_sym_inout] = ACTIONS(2783),
    [anon_sym_ATescaping] = ACTIONS(2783),
    [anon_sym_ATautoclosure] = ACTIONS(2783),
    [anon_sym_weak] = ACTIONS(2783),
    [anon_sym_unowned] = ACTIONS(2785),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2783),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2783),
    [anon_sym_borrowing] = ACTIONS(2783),
    [anon_sym_consuming] = ACTIONS(2783),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(2741),
    [sym__disjunction_operator_custom] = ACTIONS(2743),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2745),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(2723),
    [sym__plus_then_ws] = ACTIONS(2747),
    [sym__minus_then_ws] = ACTIONS(2747),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [751] = {
    [sym__quest] = STATE(613),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(472),
    [sym_custom_operator] = STATE(462),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(983),
    [sym_lambda_literal] = STATE(805),
    [sym__equality_operator] = STATE(441),
    [sym__comparison_operator] = STATE(439),
    [sym__three_dot_operator] = STATE(739),
    [sym__open_ended_range_operator] = STATE(472),
    [sym__is_operator] = STATE(4128),
    [sym__additive_operator] = STATE(666),
    [sym__multiplicative_operator] = STATE(668),
    [sym_as_operator] = STATE(4124),
    [sym__bitwise_binary_operator] = STATE(413),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(441),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(408),
    [sym__disjunction_operator] = STATE(407),
    [sym__nil_coalescing_operator] = STATE(406),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(2787),
    [anon_sym_async] = ACTIONS(2787),
    [anon_sym_lazy] = ACTIONS(2787),
    [anon_sym_package] = ACTIONS(2787),
    [anon_sym_COMMA] = ACTIONS(2787),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(2755),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(2713),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2717),
    [anon_sym_GT] = ACTIONS(2717),
    [anon_sym_LBRACE] = ACTIONS(2757),
    [anon_sym_CARET_LBRACE] = ACTIONS(2757),
    [anon_sym_RBRACE] = ACTIONS(2787),
    [anon_sym_case] = ACTIONS(2787),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(2721),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2723),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2723),
    [anon_sym_LT_EQ] = ACTIONS(2725),
    [anon_sym_GT_EQ] = ACTIONS(2725),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(635),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2727),
    [anon_sym_is] = ACTIONS(2729),
    [anon_sym_PLUS] = ACTIONS(2731),
    [anon_sym_DASH] = ACTIONS(2731),
    [anon_sym_STAR] = ACTIONS(2733),
    [anon_sym_SLASH] = ACTIONS(2733),
    [anon_sym_PERCENT] = ACTIONS(2733),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(2713),
    [anon_sym_CARET] = ACTIONS(2737),
    [anon_sym_LT_LT] = ACTIONS(2713),
    [anon_sym_GT_GT] = ACTIONS(2713),
    [anon_sym_import] = ACTIONS(2787),
    [anon_sym_typealias] = ACTIONS(2787),
    [anon_sym_struct] = ACTIONS(2787),
    [anon_sym_class] = ACTIONS(2787),
    [anon_sym_enum] = ACTIONS(2787),
    [anon_sym_protocol] = ACTIONS(2787),
    [anon_sym_let] = ACTIONS(2787),
    [anon_sym_var] = ACTIONS(2787),
    [anon_sym_func] = ACTIONS(2787),
    [anon_sym_extension] = ACTIONS(2787),
    [anon_sym_indirect] = ACTIONS(2787),
    [anon_sym_SEMI] = ACTIONS(2787),
    [anon_sym_init] = ACTIONS(2787),
    [anon_sym_deinit] = ACTIONS(2787),
    [anon_sym_subscript] = ACTIONS(2787),
    [anon_sym_prefix] = ACTIONS(2787),
    [anon_sym_infix] = ACTIONS(2787),
    [anon_sym_postfix] = ACTIONS(2787),
    [anon_sym_precedencegroup] = ACTIONS(2787),
    [anon_sym_associatedtype] = ACTIONS(2787),
    [anon_sym_AT] = ACTIONS(2789),
    [anon_sym_override] = ACTIONS(2787),
    [anon_sym_convenience] = ACTIONS(2787),
    [anon_sym_required] = ACTIONS(2787),
    [anon_sym_nonisolated] = ACTIONS(2787),
    [anon_sym_public] = ACTIONS(2787),
    [anon_sym_private] = ACTIONS(2787),
    [anon_sym_internal] = ACTIONS(2787),
    [anon_sym_fileprivate] = ACTIONS(2787),
    [anon_sym_open] = ACTIONS(2787),
    [anon_sym_mutating] = ACTIONS(2787),
    [anon_sym_nonmutating] = ACTIONS(2787),
    [anon_sym_static] = ACTIONS(2787),
    [anon_sym_dynamic] = ACTIONS(2787),
    [anon_sym_optional] = ACTIONS(2787),
    [anon_sym_distributed] = ACTIONS(2787),
    [anon_sym_final] = ACTIONS(2787),
    [anon_sym_inout] = ACTIONS(2787),
    [anon_sym_ATescaping] = ACTIONS(2787),
    [anon_sym_ATautoclosure] = ACTIONS(2787),
    [anon_sym_weak] = ACTIONS(2787),
    [anon_sym_unowned] = ACTIONS(2789),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2787),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2787),
    [anon_sym_borrowing] = ACTIONS(2787),
    [anon_sym_consuming] = ACTIONS(2787),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(2741),
    [sym__disjunction_operator_custom] = ACTIONS(2743),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2745),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(2723),
    [sym__plus_then_ws] = ACTIONS(2747),
    [sym__minus_then_ws] = ACTIONS(2747),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [752] = {
    [sym__quest] = STATE(613),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(472),
    [sym_custom_operator] = STATE(462),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(983),
    [sym_lambda_literal] = STATE(805),
    [sym__equality_operator] = STATE(441),
    [sym__comparison_operator] = STATE(439),
    [sym__three_dot_operator] = STATE(739),
    [sym__open_ended_range_operator] = STATE(472),
    [sym__is_operator] = STATE(4128),
    [sym__additive_operator] = STATE(666),
    [sym__multiplicative_operator] = STATE(668),
    [sym_as_operator] = STATE(4124),
    [sym__bitwise_binary_operator] = STATE(413),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(441),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(408),
    [sym__disjunction_operator] = STATE(407),
    [sym__nil_coalescing_operator] = STATE(406),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(2791),
    [anon_sym_async] = ACTIONS(2791),
    [anon_sym_lazy] = ACTIONS(2791),
    [anon_sym_package] = ACTIONS(2791),
    [anon_sym_COMMA] = ACTIONS(2791),
    [anon_sym_LPAREN] = ACTIONS(2791),
    [anon_sym_LBRACK] = ACTIONS(2791),
    [anon_sym_QMARK] = ACTIONS(2793),
    [anon_sym_QMARK2] = ACTIONS(2791),
    [anon_sym_AMP] = ACTIONS(2791),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2793),
    [anon_sym_GT] = ACTIONS(2793),
    [anon_sym_LBRACE] = ACTIONS(2791),
    [anon_sym_CARET_LBRACE] = ACTIONS(2791),
    [anon_sym_RBRACE] = ACTIONS(2791),
    [anon_sym_case] = ACTIONS(2791),
    [anon_sym_PLUS_EQ] = ACTIONS(2791),
    [anon_sym_DASH_EQ] = ACTIONS(2791),
    [anon_sym_STAR_EQ] = ACTIONS(2791),
    [anon_sym_SLASH_EQ] = ACTIONS(2791),
    [anon_sym_PERCENT_EQ] = ACTIONS(2791),
    [anon_sym_BANG_EQ] = ACTIONS(2721),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2723),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2723),
    [anon_sym_LT_EQ] = ACTIONS(2791),
    [anon_sym_GT_EQ] = ACTIONS(2791),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2791),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2791),
    [anon_sym_is] = ACTIONS(2729),
    [anon_sym_PLUS] = ACTIONS(2731),
    [anon_sym_DASH] = ACTIONS(2731),
    [anon_sym_STAR] = ACTIONS(2733),
    [anon_sym_SLASH] = ACTIONS(2733),
    [anon_sym_PERCENT] = ACTIONS(2733),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(2791),
    [anon_sym_CARET] = ACTIONS(2793),
    [anon_sym_LT_LT] = ACTIONS(2791),
    [anon_sym_GT_GT] = ACTIONS(2791),
    [anon_sym_import] = ACTIONS(2791),
    [anon_sym_typealias] = ACTIONS(2791),
    [anon_sym_struct] = ACTIONS(2791),
    [anon_sym_class] = ACTIONS(2791),
    [anon_sym_enum] = ACTIONS(2791),
    [anon_sym_protocol] = ACTIONS(2791),
    [anon_sym_let] = ACTIONS(2791),
    [anon_sym_var] = ACTIONS(2791),
    [anon_sym_func] = ACTIONS(2791),
    [anon_sym_extension] = ACTIONS(2791),
    [anon_sym_indirect] = ACTIONS(2791),
    [anon_sym_SEMI] = ACTIONS(2791),
    [anon_sym_init] = ACTIONS(2791),
    [anon_sym_deinit] = ACTIONS(2791),
    [anon_sym_subscript] = ACTIONS(2791),
    [anon_sym_prefix] = ACTIONS(2791),
    [anon_sym_infix] = ACTIONS(2791),
    [anon_sym_postfix] = ACTIONS(2791),
    [anon_sym_precedencegroup] = ACTIONS(2791),
    [anon_sym_associatedtype] = ACTIONS(2791),
    [anon_sym_AT] = ACTIONS(2793),
    [anon_sym_override] = ACTIONS(2791),
    [anon_sym_convenience] = ACTIONS(2791),
    [anon_sym_required] = ACTIONS(2791),
    [anon_sym_nonisolated] = ACTIONS(2791),
    [anon_sym_public] = ACTIONS(2791),
    [anon_sym_private] = ACTIONS(2791),
    [anon_sym_internal] = ACTIONS(2791),
    [anon_sym_fileprivate] = ACTIONS(2791),
    [anon_sym_open] = ACTIONS(2791),
    [anon_sym_mutating] = ACTIONS(2791),
    [anon_sym_nonmutating] = ACTIONS(2791),
    [anon_sym_static] = ACTIONS(2791),
    [anon_sym_dynamic] = ACTIONS(2791),
    [anon_sym_optional] = ACTIONS(2791),
    [anon_sym_distributed] = ACTIONS(2791),
    [anon_sym_final] = ACTIONS(2791),
    [anon_sym_inout] = ACTIONS(2791),
    [anon_sym_ATescaping] = ACTIONS(2791),
    [anon_sym_ATautoclosure] = ACTIONS(2791),
    [anon_sym_weak] = ACTIONS(2791),
    [anon_sym_unowned] = ACTIONS(2793),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2791),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2791),
    [anon_sym_borrowing] = ACTIONS(2791),
    [anon_sym_consuming] = ACTIONS(2791),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2791),
    [sym__conjunction_operator_custom] = ACTIONS(2741),
    [sym__disjunction_operator_custom] = ACTIONS(2743),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2745),
    [sym__eq_custom] = ACTIONS(2791),
    [sym__eq_eq_custom] = ACTIONS(2723),
    [sym__plus_then_ws] = ACTIONS(2747),
    [sym__minus_then_ws] = ACTIONS(2747),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2791),
    [sym__as_quest_custom] = ACTIONS(2791),
    [sym__as_bang_custom] = ACTIONS(2791),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [753] = {
    [sym__quest] = STATE(613),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(472),
    [sym_custom_operator] = STATE(462),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(983),
    [sym_lambda_literal] = STATE(805),
    [sym__equality_operator] = STATE(441),
    [sym__comparison_operator] = STATE(439),
    [sym__three_dot_operator] = STATE(739),
    [sym__open_ended_range_operator] = STATE(472),
    [sym__is_operator] = STATE(4128),
    [sym__additive_operator] = STATE(666),
    [sym__multiplicative_operator] = STATE(668),
    [sym_as_operator] = STATE(4124),
    [sym__bitwise_binary_operator] = STATE(413),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(441),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(408),
    [sym__disjunction_operator] = STATE(407),
    [sym__nil_coalescing_operator] = STATE(406),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(2795),
    [anon_sym_async] = ACTIONS(2795),
    [anon_sym_lazy] = ACTIONS(2795),
    [anon_sym_package] = ACTIONS(2795),
    [anon_sym_COMMA] = ACTIONS(2795),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(2755),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(2713),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2717),
    [anon_sym_GT] = ACTIONS(2717),
    [anon_sym_LBRACE] = ACTIONS(2757),
    [anon_sym_CARET_LBRACE] = ACTIONS(2757),
    [anon_sym_RBRACE] = ACTIONS(2795),
    [anon_sym_case] = ACTIONS(2795),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(2721),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2723),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2723),
    [anon_sym_LT_EQ] = ACTIONS(2725),
    [anon_sym_GT_EQ] = ACTIONS(2725),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(635),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2727),
    [anon_sym_is] = ACTIONS(2729),
    [anon_sym_PLUS] = ACTIONS(2731),
    [anon_sym_DASH] = ACTIONS(2731),
    [anon_sym_STAR] = ACTIONS(2733),
    [anon_sym_SLASH] = ACTIONS(2733),
    [anon_sym_PERCENT] = ACTIONS(2733),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(2713),
    [anon_sym_CARET] = ACTIONS(2737),
    [anon_sym_LT_LT] = ACTIONS(2713),
    [anon_sym_GT_GT] = ACTIONS(2713),
    [anon_sym_import] = ACTIONS(2795),
    [anon_sym_typealias] = ACTIONS(2795),
    [anon_sym_struct] = ACTIONS(2795),
    [anon_sym_class] = ACTIONS(2795),
    [anon_sym_enum] = ACTIONS(2795),
    [anon_sym_protocol] = ACTIONS(2795),
    [anon_sym_let] = ACTIONS(2795),
    [anon_sym_var] = ACTIONS(2795),
    [anon_sym_func] = ACTIONS(2795),
    [anon_sym_extension] = ACTIONS(2795),
    [anon_sym_indirect] = ACTIONS(2795),
    [anon_sym_SEMI] = ACTIONS(2795),
    [anon_sym_init] = ACTIONS(2795),
    [anon_sym_deinit] = ACTIONS(2795),
    [anon_sym_subscript] = ACTIONS(2795),
    [anon_sym_prefix] = ACTIONS(2795),
    [anon_sym_infix] = ACTIONS(2795),
    [anon_sym_postfix] = ACTIONS(2795),
    [anon_sym_precedencegroup] = ACTIONS(2795),
    [anon_sym_associatedtype] = ACTIONS(2795),
    [anon_sym_AT] = ACTIONS(2797),
    [anon_sym_override] = ACTIONS(2795),
    [anon_sym_convenience] = ACTIONS(2795),
    [anon_sym_required] = ACTIONS(2795),
    [anon_sym_nonisolated] = ACTIONS(2795),
    [anon_sym_public] = ACTIONS(2795),
    [anon_sym_private] = ACTIONS(2795),
    [anon_sym_internal] = ACTIONS(2795),
    [anon_sym_fileprivate] = ACTIONS(2795),
    [anon_sym_open] = ACTIONS(2795),
    [anon_sym_mutating] = ACTIONS(2795),
    [anon_sym_nonmutating] = ACTIONS(2795),
    [anon_sym_static] = ACTIONS(2795),
    [anon_sym_dynamic] = ACTIONS(2795),
    [anon_sym_optional] = ACTIONS(2795),
    [anon_sym_distributed] = ACTIONS(2795),
    [anon_sym_final] = ACTIONS(2795),
    [anon_sym_inout] = ACTIONS(2795),
    [anon_sym_ATescaping] = ACTIONS(2795),
    [anon_sym_ATautoclosure] = ACTIONS(2795),
    [anon_sym_weak] = ACTIONS(2795),
    [anon_sym_unowned] = ACTIONS(2797),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2795),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2795),
    [anon_sym_borrowing] = ACTIONS(2795),
    [anon_sym_consuming] = ACTIONS(2795),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(2741),
    [sym__disjunction_operator_custom] = ACTIONS(2743),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2745),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(2723),
    [sym__plus_then_ws] = ACTIONS(2747),
    [sym__minus_then_ws] = ACTIONS(2747),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [754] = {
    [sym__quest] = STATE(613),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(472),
    [sym_custom_operator] = STATE(462),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(983),
    [sym_lambda_literal] = STATE(805),
    [sym__equality_operator] = STATE(441),
    [sym__comparison_operator] = STATE(439),
    [sym__three_dot_operator] = STATE(739),
    [sym__open_ended_range_operator] = STATE(472),
    [sym__is_operator] = STATE(4128),
    [sym__additive_operator] = STATE(666),
    [sym__multiplicative_operator] = STATE(668),
    [sym_as_operator] = STATE(4124),
    [sym__bitwise_binary_operator] = STATE(413),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(441),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(408),
    [sym__disjunction_operator] = STATE(407),
    [sym__nil_coalescing_operator] = STATE(406),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2799),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(2801),
    [anon_sym_async] = ACTIONS(2801),
    [anon_sym_lazy] = ACTIONS(2801),
    [anon_sym_package] = ACTIONS(2801),
    [anon_sym_COMMA] = ACTIONS(2801),
    [anon_sym_LPAREN] = ACTIONS(2801),
    [anon_sym_LBRACK] = ACTIONS(2801),
    [anon_sym_QMARK] = ACTIONS(2799),
    [anon_sym_QMARK2] = ACTIONS(2801),
    [anon_sym_AMP] = ACTIONS(2801),
    [aux_sym_custom_operator_token1] = ACTIONS(2801),
    [anon_sym_LT] = ACTIONS(2799),
    [anon_sym_GT] = ACTIONS(2799),
    [anon_sym_LBRACE] = ACTIONS(2801),
    [anon_sym_CARET_LBRACE] = ACTIONS(2801),
    [anon_sym_RBRACE] = ACTIONS(2801),
    [anon_sym_case] = ACTIONS(2801),
    [anon_sym_PLUS_EQ] = ACTIONS(2801),
    [anon_sym_DASH_EQ] = ACTIONS(2801),
    [anon_sym_STAR_EQ] = ACTIONS(2801),
    [anon_sym_SLASH_EQ] = ACTIONS(2801),
    [anon_sym_PERCENT_EQ] = ACTIONS(2801),
    [anon_sym_BANG_EQ] = ACTIONS(2799),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2801),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2801),
    [anon_sym_LT_EQ] = ACTIONS(2801),
    [anon_sym_GT_EQ] = ACTIONS(2801),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2801),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2801),
    [anon_sym_is] = ACTIONS(2801),
    [anon_sym_PLUS] = ACTIONS(2799),
    [anon_sym_DASH] = ACTIONS(2799),
    [anon_sym_STAR] = ACTIONS(2799),
    [anon_sym_SLASH] = ACTIONS(2799),
    [anon_sym_PERCENT] = ACTIONS(2799),
    [anon_sym_PLUS_PLUS] = ACTIONS(2801),
    [anon_sym_DASH_DASH] = ACTIONS(2801),
    [anon_sym_PIPE] = ACTIONS(2801),
    [anon_sym_CARET] = ACTIONS(2799),
    [anon_sym_LT_LT] = ACTIONS(2801),
    [anon_sym_GT_GT] = ACTIONS(2801),
    [anon_sym_import] = ACTIONS(2801),
    [anon_sym_typealias] = ACTIONS(2801),
    [anon_sym_struct] = ACTIONS(2801),
    [anon_sym_class] = ACTIONS(2801),
    [anon_sym_enum] = ACTIONS(2801),
    [anon_sym_protocol] = ACTIONS(2801),
    [anon_sym_let] = ACTIONS(2801),
    [anon_sym_var] = ACTIONS(2801),
    [anon_sym_func] = ACTIONS(2801),
    [anon_sym_extension] = ACTIONS(2801),
    [anon_sym_indirect] = ACTIONS(2801),
    [anon_sym_SEMI] = ACTIONS(2801),
    [anon_sym_init] = ACTIONS(2801),
    [anon_sym_deinit] = ACTIONS(2801),
    [anon_sym_subscript] = ACTIONS(2801),
    [anon_sym_prefix] = ACTIONS(2801),
    [anon_sym_infix] = ACTIONS(2801),
    [anon_sym_postfix] = ACTIONS(2801),
    [anon_sym_precedencegroup] = ACTIONS(2801),
    [anon_sym_associatedtype] = ACTIONS(2801),
    [anon_sym_AT] = ACTIONS(2799),
    [anon_sym_override] = ACTIONS(2801),
    [anon_sym_convenience] = ACTIONS(2801),
    [anon_sym_required] = ACTIONS(2801),
    [anon_sym_nonisolated] = ACTIONS(2801),
    [anon_sym_public] = ACTIONS(2801),
    [anon_sym_private] = ACTIONS(2801),
    [anon_sym_internal] = ACTIONS(2801),
    [anon_sym_fileprivate] = ACTIONS(2801),
    [anon_sym_open] = ACTIONS(2801),
    [anon_sym_mutating] = ACTIONS(2801),
    [anon_sym_nonmutating] = ACTIONS(2801),
    [anon_sym_static] = ACTIONS(2801),
    [anon_sym_dynamic] = ACTIONS(2801),
    [anon_sym_optional] = ACTIONS(2801),
    [anon_sym_distributed] = ACTIONS(2801),
    [anon_sym_final] = ACTIONS(2801),
    [anon_sym_inout] = ACTIONS(2801),
    [anon_sym_ATescaping] = ACTIONS(2801),
    [anon_sym_ATautoclosure] = ACTIONS(2801),
    [anon_sym_weak] = ACTIONS(2801),
    [anon_sym_unowned] = ACTIONS(2799),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2801),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2801),
    [anon_sym_borrowing] = ACTIONS(2801),
    [anon_sym_consuming] = ACTIONS(2801),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2801),
    [sym__conjunction_operator_custom] = ACTIONS(2801),
    [sym__disjunction_operator_custom] = ACTIONS(2801),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2801),
    [sym__eq_custom] = ACTIONS(2801),
    [sym__eq_eq_custom] = ACTIONS(2801),
    [sym__plus_then_ws] = ACTIONS(2801),
    [sym__minus_then_ws] = ACTIONS(2801),
    [sym__bang_custom] = ACTIONS(2801),
    [sym__as_custom] = ACTIONS(2801),
    [sym__as_quest_custom] = ACTIONS(2801),
    [sym__as_bang_custom] = ACTIONS(2801),
    [sym__custom_operator] = ACTIONS(2801),
  },
  [755] = {
    [ts_builtin_sym_end] = ACTIONS(2803),
    [anon_sym_BANG] = ACTIONS(2805),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2805),
    [aux_sym_simple_identifier_token2] = ACTIONS(2803),
    [aux_sym_simple_identifier_token3] = ACTIONS(2803),
    [aux_sym_simple_identifier_token4] = ACTIONS(2803),
    [anon_sym_actor] = ACTIONS(2805),
    [anon_sym_async] = ACTIONS(2805),
    [anon_sym_each] = ACTIONS(2805),
    [anon_sym_lazy] = ACTIONS(2805),
    [anon_sym_repeat] = ACTIONS(2805),
    [anon_sym_package] = ACTIONS(2805),
    [anon_sym_nil] = ACTIONS(2805),
    [sym_real_literal] = ACTIONS(2803),
    [sym_integer_literal] = ACTIONS(2805),
    [sym_hex_literal] = ACTIONS(2805),
    [sym_oct_literal] = ACTIONS(2803),
    [sym_bin_literal] = ACTIONS(2803),
    [anon_sym_true] = ACTIONS(2805),
    [anon_sym_false] = ACTIONS(2805),
    [anon_sym_DQUOTE] = ACTIONS(2805),
    [anon_sym_BSLASH] = ACTIONS(2803),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2803),
    [sym__oneline_regex_literal] = ACTIONS(2805),
    [anon_sym_LPAREN] = ACTIONS(2803),
    [anon_sym_LBRACK] = ACTIONS(2803),
    [anon_sym_AMP] = ACTIONS(2803),
    [anon_sym_TILDE] = ACTIONS(2803),
    [anon_sym_if] = ACTIONS(2805),
    [anon_sym_switch] = ACTIONS(2805),
    [aux_sym_custom_operator_token1] = ACTIONS(2803),
    [anon_sym_LT] = ACTIONS(2805),
    [anon_sym_GT] = ACTIONS(2805),
    [anon_sym_await] = ACTIONS(2805),
    [anon_sym_LBRACE] = ACTIONS(2803),
    [anon_sym_CARET_LBRACE] = ACTIONS(2803),
    [anon_sym_self] = ACTIONS(2805),
    [anon_sym_super] = ACTIONS(2805),
    [anon_sym_guard] = ACTIONS(2805),
    [anon_sym_do] = ACTIONS(2805),
    [anon_sym_try] = ACTIONS(2805),
    [anon_sym_PLUS_EQ] = ACTIONS(2803),
    [anon_sym_DASH_EQ] = ACTIONS(2803),
    [anon_sym_STAR_EQ] = ACTIONS(2803),
    [anon_sym_SLASH_EQ] = ACTIONS(2803),
    [anon_sym_PERCENT_EQ] = ACTIONS(2803),
    [anon_sym_BANG_EQ] = ACTIONS(2805),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2803),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2803),
    [anon_sym_LT_EQ] = ACTIONS(2803),
    [anon_sym_GT_EQ] = ACTIONS(2803),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2803),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2803),
    [anon_sym_PLUS] = ACTIONS(2805),
    [anon_sym_DASH] = ACTIONS(2805),
    [anon_sym_STAR] = ACTIONS(2805),
    [anon_sym_SLASH] = ACTIONS(2805),
    [anon_sym_PERCENT] = ACTIONS(2805),
    [anon_sym_PLUS_PLUS] = ACTIONS(2803),
    [anon_sym_DASH_DASH] = ACTIONS(2803),
    [anon_sym_PIPE] = ACTIONS(2803),
    [anon_sym_CARET] = ACTIONS(2805),
    [anon_sym_LT_LT] = ACTIONS(2803),
    [anon_sym_GT_GT] = ACTIONS(2803),
    [sym_statement_label] = ACTIONS(2803),
    [anon_sym_for] = ACTIONS(2805),
    [anon_sym_while] = ACTIONS(2805),
    [sym_throw_keyword] = ACTIONS(2805),
    [anon_sym_import] = ACTIONS(2805),
    [anon_sym_typealias] = ACTIONS(2805),
    [anon_sym_struct] = ACTIONS(2805),
    [anon_sym_class] = ACTIONS(2805),
    [anon_sym_enum] = ACTIONS(2805),
    [anon_sym_protocol] = ACTIONS(2805),
    [anon_sym_let] = ACTIONS(2805),
    [anon_sym_var] = ACTIONS(2805),
    [anon_sym_func] = ACTIONS(2805),
    [anon_sym_macro] = ACTIONS(2805),
    [anon_sym_extension] = ACTIONS(2805),
    [anon_sym_indirect] = ACTIONS(2805),
    [anon_sym_init] = ACTIONS(2805),
    [anon_sym_prefix] = ACTIONS(2805),
    [anon_sym_infix] = ACTIONS(2805),
    [anon_sym_postfix] = ACTIONS(2805),
    [anon_sym_precedencegroup] = ACTIONS(2805),
    [anon_sym_associatedtype] = ACTIONS(2805),
    [anon_sym_AT] = ACTIONS(2805),
    [anon_sym_override] = ACTIONS(2805),
    [anon_sym_convenience] = ACTIONS(2805),
    [anon_sym_required] = ACTIONS(2805),
    [anon_sym_nonisolated] = ACTIONS(2805),
    [anon_sym_public] = ACTIONS(2805),
    [anon_sym_private] = ACTIONS(2805),
    [anon_sym_internal] = ACTIONS(2805),
    [anon_sym_fileprivate] = ACTIONS(2805),
    [anon_sym_open] = ACTIONS(2805),
    [anon_sym_mutating] = ACTIONS(2805),
    [anon_sym_nonmutating] = ACTIONS(2805),
    [anon_sym_static] = ACTIONS(2805),
    [anon_sym_dynamic] = ACTIONS(2805),
    [anon_sym_optional] = ACTIONS(2805),
    [anon_sym_distributed] = ACTIONS(2805),
    [anon_sym_final] = ACTIONS(2805),
    [anon_sym_inout] = ACTIONS(2805),
    [anon_sym_ATescaping] = ACTIONS(2803),
    [anon_sym_ATautoclosure] = ACTIONS(2803),
    [anon_sym_weak] = ACTIONS(2805),
    [anon_sym_unowned] = ACTIONS(2805),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2803),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2803),
    [anon_sym_borrowing] = ACTIONS(2805),
    [anon_sym_consuming] = ACTIONS(2805),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2803),
    [sym_raw_str_end_part] = ACTIONS(2803),
    [sym__dot_custom] = ACTIONS(2803),
    [sym__eq_custom] = ACTIONS(2803),
    [sym__eq_eq_custom] = ACTIONS(2803),
    [sym__plus_then_ws] = ACTIONS(2803),
    [sym__minus_then_ws] = ACTIONS(2803),
    [sym__bang_custom] = ACTIONS(2803),
    [sym__custom_operator] = ACTIONS(2803),
    [sym__hash_symbol_custom] = ACTIONS(2803),
    [sym__directive_if] = ACTIONS(2803),
    [sym__directive_elseif] = ACTIONS(2803),
    [sym__directive_else] = ACTIONS(2803),
    [sym__directive_endif] = ACTIONS(2803),
  },
  [756] = {
    [sym_simple_identifier] = STATE(1049),
    [sym__contextual_simple_identifier] = STATE(1073),
    [sym__unannotated_type] = STATE(1007),
    [sym_user_type] = STATE(1035),
    [sym__simple_user_type] = STATE(1034),
    [sym_tuple_type] = STATE(1002),
    [sym_function_type] = STATE(1007),
    [sym_array_type] = STATE(1035),
    [sym_dictionary_type] = STATE(1035),
    [sym_optional_type] = STATE(1007),
    [sym_metatype] = STATE(1007),
    [sym_opaque_type] = STATE(1007),
    [sym_existential_type] = STATE(1007),
    [sym_type_parameter_pack] = STATE(1007),
    [sym_type_pack_expansion] = STATE(1007),
    [sym_protocol_composition_type] = STATE(1007),
    [sym_suppressed_constraint] = STATE(1007),
    [sym__parenthesized_type] = STATE(1067),
    [sym__parameter_ownership_modifier] = STATE(1073),
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2807),
    [aux_sym_simple_identifier_token2] = ACTIONS(2809),
    [aux_sym_simple_identifier_token3] = ACTIONS(2809),
    [aux_sym_simple_identifier_token4] = ACTIONS(2809),
    [anon_sym_actor] = ACTIONS(2807),
    [anon_sym_async] = ACTIONS(2807),
    [anon_sym_each] = ACTIONS(2811),
    [anon_sym_lazy] = ACTIONS(2813),
    [anon_sym_repeat] = ACTIONS(2816),
    [anon_sym_package] = ACTIONS(2813),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(2818),
    [anon_sym_LBRACK] = ACTIONS(2821),
    [anon_sym_DOT] = ACTIONS(623),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(2824),
    [anon_sym_any] = ACTIONS(2826),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(2828),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_case] = ACTIONS(623),
    [anon_sym_fallthrough] = ACTIONS(623),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_class] = ACTIONS(623),
    [anon_sym_prefix] = ACTIONS(623),
    [anon_sym_infix] = ACTIONS(623),
    [anon_sym_postfix] = ACTIONS(623),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(623),
    [anon_sym_convenience] = ACTIONS(623),
    [anon_sym_required] = ACTIONS(623),
    [anon_sym_nonisolated] = ACTIONS(623),
    [anon_sym_public] = ACTIONS(623),
    [anon_sym_private] = ACTIONS(623),
    [anon_sym_internal] = ACTIONS(623),
    [anon_sym_fileprivate] = ACTIONS(623),
    [anon_sym_open] = ACTIONS(623),
    [anon_sym_mutating] = ACTIONS(623),
    [anon_sym_nonmutating] = ACTIONS(623),
    [anon_sym_static] = ACTIONS(623),
    [anon_sym_dynamic] = ACTIONS(623),
    [anon_sym_optional] = ACTIONS(623),
    [anon_sym_distributed] = ACTIONS(623),
    [anon_sym_final] = ACTIONS(623),
    [anon_sym_inout] = ACTIONS(623),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(623),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(2813),
    [anon_sym_consuming] = ACTIONS(2813),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym_default_keyword] = ACTIONS(617),
    [sym_where_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [757] = {
    [sym_simple_identifier] = STATE(1049),
    [sym__contextual_simple_identifier] = STATE(1073),
    [sym__unannotated_type] = STATE(1012),
    [sym_user_type] = STATE(1035),
    [sym__simple_user_type] = STATE(1034),
    [sym_tuple_type] = STATE(1002),
    [sym_function_type] = STATE(1012),
    [sym_array_type] = STATE(1035),
    [sym_dictionary_type] = STATE(1035),
    [sym_optional_type] = STATE(1012),
    [sym_metatype] = STATE(1012),
    [sym_opaque_type] = STATE(1012),
    [sym_existential_type] = STATE(1012),
    [sym_type_parameter_pack] = STATE(1012),
    [sym_type_pack_expansion] = STATE(1012),
    [sym_protocol_composition_type] = STATE(1012),
    [sym_suppressed_constraint] = STATE(1012),
    [sym__parenthesized_type] = STATE(1067),
    [sym__parameter_ownership_modifier] = STATE(1073),
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2807),
    [aux_sym_simple_identifier_token2] = ACTIONS(2809),
    [aux_sym_simple_identifier_token3] = ACTIONS(2809),
    [aux_sym_simple_identifier_token4] = ACTIONS(2809),
    [anon_sym_actor] = ACTIONS(2807),
    [anon_sym_async] = ACTIONS(2807),
    [anon_sym_each] = ACTIONS(2811),
    [anon_sym_lazy] = ACTIONS(2813),
    [anon_sym_repeat] = ACTIONS(2816),
    [anon_sym_package] = ACTIONS(2813),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(2818),
    [anon_sym_LBRACK] = ACTIONS(2821),
    [anon_sym_DOT] = ACTIONS(623),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(2824),
    [anon_sym_any] = ACTIONS(2826),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(2828),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_case] = ACTIONS(623),
    [anon_sym_fallthrough] = ACTIONS(623),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_class] = ACTIONS(623),
    [anon_sym_prefix] = ACTIONS(623),
    [anon_sym_infix] = ACTIONS(623),
    [anon_sym_postfix] = ACTIONS(623),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(623),
    [anon_sym_convenience] = ACTIONS(623),
    [anon_sym_required] = ACTIONS(623),
    [anon_sym_nonisolated] = ACTIONS(623),
    [anon_sym_public] = ACTIONS(623),
    [anon_sym_private] = ACTIONS(623),
    [anon_sym_internal] = ACTIONS(623),
    [anon_sym_fileprivate] = ACTIONS(623),
    [anon_sym_open] = ACTIONS(623),
    [anon_sym_mutating] = ACTIONS(623),
    [anon_sym_nonmutating] = ACTIONS(623),
    [anon_sym_static] = ACTIONS(623),
    [anon_sym_dynamic] = ACTIONS(623),
    [anon_sym_optional] = ACTIONS(623),
    [anon_sym_distributed] = ACTIONS(623),
    [anon_sym_final] = ACTIONS(623),
    [anon_sym_inout] = ACTIONS(623),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(623),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(2813),
    [anon_sym_consuming] = ACTIONS(2813),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym_default_keyword] = ACTIONS(617),
    [sym_where_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [758] = {
    [anon_sym_BANG] = ACTIONS(2665),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2665),
    [aux_sym_simple_identifier_token2] = ACTIONS(2667),
    [aux_sym_simple_identifier_token3] = ACTIONS(2667),
    [aux_sym_simple_identifier_token4] = ACTIONS(2667),
    [anon_sym_actor] = ACTIONS(2665),
    [anon_sym_async] = ACTIONS(2665),
    [anon_sym_each] = ACTIONS(2665),
    [anon_sym_lazy] = ACTIONS(2665),
    [anon_sym_repeat] = ACTIONS(2665),
    [anon_sym_package] = ACTIONS(2665),
    [anon_sym_nil] = ACTIONS(2665),
    [sym_real_literal] = ACTIONS(2667),
    [sym_integer_literal] = ACTIONS(2665),
    [sym_hex_literal] = ACTIONS(2665),
    [sym_oct_literal] = ACTIONS(2667),
    [sym_bin_literal] = ACTIONS(2667),
    [anon_sym_true] = ACTIONS(2665),
    [anon_sym_false] = ACTIONS(2665),
    [anon_sym_DQUOTE] = ACTIONS(2665),
    [anon_sym_BSLASH] = ACTIONS(2667),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2667),
    [anon_sym_COMMA] = ACTIONS(2669),
    [sym__oneline_regex_literal] = ACTIONS(2665),
    [anon_sym_LPAREN] = ACTIONS(2667),
    [anon_sym_LBRACK] = ACTIONS(2667),
    [anon_sym_QMARK] = ACTIONS(2671),
    [anon_sym_QMARK2] = ACTIONS(2669),
    [anon_sym_AMP] = ACTIONS(2667),
    [anon_sym_TILDE] = ACTIONS(2667),
    [anon_sym_if] = ACTIONS(2665),
    [anon_sym_switch] = ACTIONS(2665),
    [aux_sym_custom_operator_token1] = ACTIONS(2667),
    [anon_sym_LT] = ACTIONS(2665),
    [anon_sym_GT] = ACTIONS(2665),
    [anon_sym_await] = ACTIONS(2665),
    [anon_sym_LBRACE] = ACTIONS(2667),
    [anon_sym_CARET_LBRACE] = ACTIONS(2667),
    [anon_sym_RBRACE] = ACTIONS(2669),
    [anon_sym_self] = ACTIONS(2665),
    [anon_sym_super] = ACTIONS(2665),
    [anon_sym_case] = ACTIONS(2671),
    [anon_sym_fallthrough] = ACTIONS(2671),
    [anon_sym_try] = ACTIONS(2665),
    [anon_sym_PLUS_EQ] = ACTIONS(2667),
    [anon_sym_DASH_EQ] = ACTIONS(2667),
    [anon_sym_STAR_EQ] = ACTIONS(2667),
    [anon_sym_SLASH_EQ] = ACTIONS(2667),
    [anon_sym_PERCENT_EQ] = ACTIONS(2667),
    [anon_sym_BANG_EQ] = ACTIONS(2665),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2667),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2667),
    [anon_sym_LT_EQ] = ACTIONS(2667),
    [anon_sym_GT_EQ] = ACTIONS(2667),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2667),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2667),
    [anon_sym_is] = ACTIONS(2671),
    [anon_sym_PLUS] = ACTIONS(2665),
    [anon_sym_DASH] = ACTIONS(2665),
    [anon_sym_STAR] = ACTIONS(2665),
    [anon_sym_SLASH] = ACTIONS(2665),
    [anon_sym_PERCENT] = ACTIONS(2665),
    [anon_sym_PLUS_PLUS] = ACTIONS(2667),
    [anon_sym_DASH_DASH] = ACTIONS(2667),
    [anon_sym_PIPE] = ACTIONS(2667),
    [anon_sym_CARET] = ACTIONS(2665),
    [anon_sym_LT_LT] = ACTIONS(2667),
    [anon_sym_GT_GT] = ACTIONS(2667),
    [anon_sym_class] = ACTIONS(2671),
    [anon_sym_prefix] = ACTIONS(2671),
    [anon_sym_infix] = ACTIONS(2671),
    [anon_sym_postfix] = ACTIONS(2671),
    [anon_sym_AT] = ACTIONS(2671),
    [anon_sym_override] = ACTIONS(2671),
    [anon_sym_convenience] = ACTIONS(2671),
    [anon_sym_required] = ACTIONS(2671),
    [anon_sym_nonisolated] = ACTIONS(2671),
    [anon_sym_public] = ACTIONS(2671),
    [anon_sym_private] = ACTIONS(2671),
    [anon_sym_internal] = ACTIONS(2671),
    [anon_sym_fileprivate] = ACTIONS(2671),
    [anon_sym_open] = ACTIONS(2671),
    [anon_sym_mutating] = ACTIONS(2671),
    [anon_sym_nonmutating] = ACTIONS(2671),
    [anon_sym_static] = ACTIONS(2671),
    [anon_sym_dynamic] = ACTIONS(2671),
    [anon_sym_optional] = ACTIONS(2671),
    [anon_sym_distributed] = ACTIONS(2671),
    [anon_sym_final] = ACTIONS(2671),
    [anon_sym_inout] = ACTIONS(2671),
    [anon_sym_ATescaping] = ACTIONS(2669),
    [anon_sym_ATautoclosure] = ACTIONS(2669),
    [anon_sym_weak] = ACTIONS(2671),
    [anon_sym_unowned] = ACTIONS(2671),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2669),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2669),
    [anon_sym_borrowing] = ACTIONS(2665),
    [anon_sym_consuming] = ACTIONS(2665),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2667),
    [sym_raw_str_end_part] = ACTIONS(2667),
    [sym__implicit_semi] = ACTIONS(2669),
    [sym__explicit_semi] = ACTIONS(2669),
    [sym__dot_custom] = ACTIONS(2667),
    [sym__conjunction_operator_custom] = ACTIONS(2669),
    [sym__disjunction_operator_custom] = ACTIONS(2669),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2669),
    [sym__eq_custom] = ACTIONS(2667),
    [sym__eq_eq_custom] = ACTIONS(2667),
    [sym__plus_then_ws] = ACTIONS(2667),
    [sym__minus_then_ws] = ACTIONS(2667),
    [sym__bang_custom] = ACTIONS(2667),
    [sym_default_keyword] = ACTIONS(2669),
    [sym_where_keyword] = ACTIONS(2669),
    [sym__as_custom] = ACTIONS(2669),
    [sym__as_quest_custom] = ACTIONS(2669),
    [sym__as_bang_custom] = ACTIONS(2669),
    [sym__custom_operator] = ACTIONS(2667),
    [sym__hash_symbol_custom] = ACTIONS(2667),
    [sym__directive_if] = ACTIONS(2667),
    [sym__directive_elseif] = ACTIONS(2667),
    [sym__directive_else] = ACTIONS(2667),
    [sym__directive_endif] = ACTIONS(2667),
  },
  [759] = {
    [anon_sym_BANG] = ACTIONS(2687),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2676),
    [aux_sym_simple_identifier_token2] = ACTIONS(2678),
    [aux_sym_simple_identifier_token3] = ACTIONS(2678),
    [aux_sym_simple_identifier_token4] = ACTIONS(2678),
    [anon_sym_actor] = ACTIONS(2676),
    [anon_sym_async] = ACTIONS(2676),
    [anon_sym_each] = ACTIONS(2676),
    [anon_sym_lazy] = ACTIONS(2687),
    [anon_sym_repeat] = ACTIONS(2676),
    [anon_sym_package] = ACTIONS(2687),
    [anon_sym_nil] = ACTIONS(2676),
    [sym_real_literal] = ACTIONS(2678),
    [sym_integer_literal] = ACTIONS(2676),
    [sym_hex_literal] = ACTIONS(2676),
    [sym_oct_literal] = ACTIONS(2678),
    [sym_bin_literal] = ACTIONS(2678),
    [anon_sym_true] = ACTIONS(2676),
    [anon_sym_false] = ACTIONS(2676),
    [anon_sym_DQUOTE] = ACTIONS(2676),
    [anon_sym_BSLASH] = ACTIONS(2678),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2678),
    [anon_sym_COMMA] = ACTIONS(2690),
    [sym__oneline_regex_literal] = ACTIONS(2676),
    [anon_sym_LPAREN] = ACTIONS(2692),
    [anon_sym_LBRACK] = ACTIONS(2692),
    [anon_sym_QMARK] = ACTIONS(2695),
    [anon_sym_QMARK2] = ACTIONS(2690),
    [anon_sym_AMP] = ACTIONS(2692),
    [anon_sym_TILDE] = ACTIONS(2678),
    [anon_sym_if] = ACTIONS(2676),
    [anon_sym_switch] = ACTIONS(2676),
    [aux_sym_custom_operator_token1] = ACTIONS(2692),
    [anon_sym_LT] = ACTIONS(2687),
    [anon_sym_GT] = ACTIONS(2687),
    [anon_sym_await] = ACTIONS(2676),
    [anon_sym_LBRACE] = ACTIONS(2692),
    [anon_sym_CARET_LBRACE] = ACTIONS(2692),
    [anon_sym_RBRACE] = ACTIONS(2690),
    [anon_sym_self] = ACTIONS(2676),
    [anon_sym_super] = ACTIONS(2676),
    [anon_sym_case] = ACTIONS(2695),
    [anon_sym_fallthrough] = ACTIONS(2695),
    [anon_sym_try] = ACTIONS(2676),
    [anon_sym_PLUS_EQ] = ACTIONS(2692),
    [anon_sym_DASH_EQ] = ACTIONS(2692),
    [anon_sym_STAR_EQ] = ACTIONS(2692),
    [anon_sym_SLASH_EQ] = ACTIONS(2692),
    [anon_sym_PERCENT_EQ] = ACTIONS(2692),
    [anon_sym_BANG_EQ] = ACTIONS(2687),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2692),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2692),
    [anon_sym_LT_EQ] = ACTIONS(2692),
    [anon_sym_GT_EQ] = ACTIONS(2692),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2692),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2692),
    [anon_sym_is] = ACTIONS(2695),
    [anon_sym_PLUS] = ACTIONS(2687),
    [anon_sym_DASH] = ACTIONS(2687),
    [anon_sym_STAR] = ACTIONS(2687),
    [anon_sym_SLASH] = ACTIONS(2687),
    [anon_sym_PERCENT] = ACTIONS(2687),
    [anon_sym_PLUS_PLUS] = ACTIONS(2692),
    [anon_sym_DASH_DASH] = ACTIONS(2692),
    [anon_sym_PIPE] = ACTIONS(2692),
    [anon_sym_CARET] = ACTIONS(2687),
    [anon_sym_LT_LT] = ACTIONS(2692),
    [anon_sym_GT_GT] = ACTIONS(2692),
    [anon_sym_class] = ACTIONS(2695),
    [anon_sym_prefix] = ACTIONS(2695),
    [anon_sym_infix] = ACTIONS(2695),
    [anon_sym_postfix] = ACTIONS(2695),
    [anon_sym_AT] = ACTIONS(2695),
    [anon_sym_override] = ACTIONS(2695),
    [anon_sym_convenience] = ACTIONS(2695),
    [anon_sym_required] = ACTIONS(2695),
    [anon_sym_nonisolated] = ACTIONS(2695),
    [anon_sym_public] = ACTIONS(2695),
    [anon_sym_private] = ACTIONS(2695),
    [anon_sym_internal] = ACTIONS(2695),
    [anon_sym_fileprivate] = ACTIONS(2695),
    [anon_sym_open] = ACTIONS(2695),
    [anon_sym_mutating] = ACTIONS(2695),
    [anon_sym_nonmutating] = ACTIONS(2695),
    [anon_sym_static] = ACTIONS(2695),
    [anon_sym_dynamic] = ACTIONS(2695),
    [anon_sym_optional] = ACTIONS(2695),
    [anon_sym_distributed] = ACTIONS(2695),
    [anon_sym_final] = ACTIONS(2695),
    [anon_sym_inout] = ACTIONS(2695),
    [anon_sym_ATescaping] = ACTIONS(2690),
    [anon_sym_ATautoclosure] = ACTIONS(2690),
    [anon_sym_weak] = ACTIONS(2695),
    [anon_sym_unowned] = ACTIONS(2695),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2690),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2690),
    [anon_sym_borrowing] = ACTIONS(2687),
    [anon_sym_consuming] = ACTIONS(2687),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2678),
    [sym_raw_str_end_part] = ACTIONS(2678),
    [sym__implicit_semi] = ACTIONS(2690),
    [sym__explicit_semi] = ACTIONS(2690),
    [sym__dot_custom] = ACTIONS(2692),
    [sym__conjunction_operator_custom] = ACTIONS(2690),
    [sym__disjunction_operator_custom] = ACTIONS(2690),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2690),
    [sym__eq_custom] = ACTIONS(2692),
    [sym__eq_eq_custom] = ACTIONS(2692),
    [sym__plus_then_ws] = ACTIONS(2692),
    [sym__minus_then_ws] = ACTIONS(2692),
    [sym__bang_custom] = ACTIONS(2692),
    [sym_default_keyword] = ACTIONS(2690),
    [sym_where_keyword] = ACTIONS(2690),
    [sym__as_custom] = ACTIONS(2690),
    [sym__as_quest_custom] = ACTIONS(2690),
    [sym__as_bang_custom] = ACTIONS(2690),
    [sym__custom_operator] = ACTIONS(2692),
    [sym__hash_symbol_custom] = ACTIONS(2678),
    [sym__directive_if] = ACTIONS(2678),
    [sym__directive_elseif] = ACTIONS(2678),
    [sym__directive_else] = ACTIONS(2678),
    [sym__directive_endif] = ACTIONS(2678),
  },
  [760] = {
    [anon_sym_BANG] = ACTIONS(2661),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2661),
    [aux_sym_simple_identifier_token2] = ACTIONS(2663),
    [aux_sym_simple_identifier_token3] = ACTIONS(2663),
    [aux_sym_simple_identifier_token4] = ACTIONS(2663),
    [anon_sym_actor] = ACTIONS(2661),
    [anon_sym_async] = ACTIONS(2661),
    [anon_sym_each] = ACTIONS(2661),
    [anon_sym_lazy] = ACTIONS(2661),
    [anon_sym_repeat] = ACTIONS(2661),
    [anon_sym_package] = ACTIONS(2661),
    [anon_sym_nil] = ACTIONS(2661),
    [sym_real_literal] = ACTIONS(2663),
    [sym_integer_literal] = ACTIONS(2661),
    [sym_hex_literal] = ACTIONS(2661),
    [sym_oct_literal] = ACTIONS(2663),
    [sym_bin_literal] = ACTIONS(2663),
    [anon_sym_true] = ACTIONS(2661),
    [anon_sym_false] = ACTIONS(2661),
    [anon_sym_DQUOTE] = ACTIONS(2661),
    [anon_sym_BSLASH] = ACTIONS(2663),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2663),
    [anon_sym_COMMA] = ACTIONS(2663),
    [sym__oneline_regex_literal] = ACTIONS(2661),
    [anon_sym_LPAREN] = ACTIONS(2663),
    [anon_sym_LBRACK] = ACTIONS(2663),
    [anon_sym_QMARK] = ACTIONS(2661),
    [anon_sym_QMARK2] = ACTIONS(2663),
    [anon_sym_AMP] = ACTIONS(2663),
    [anon_sym_TILDE] = ACTIONS(2663),
    [anon_sym_if] = ACTIONS(2661),
    [anon_sym_switch] = ACTIONS(2661),
    [aux_sym_custom_operator_token1] = ACTIONS(2663),
    [anon_sym_LT] = ACTIONS(2661),
    [anon_sym_GT] = ACTIONS(2661),
    [anon_sym_await] = ACTIONS(2661),
    [anon_sym_LBRACE] = ACTIONS(2663),
    [anon_sym_CARET_LBRACE] = ACTIONS(2663),
    [anon_sym_RBRACE] = ACTIONS(2663),
    [anon_sym_self] = ACTIONS(2661),
    [anon_sym_super] = ACTIONS(2661),
    [anon_sym_case] = ACTIONS(2661),
    [anon_sym_fallthrough] = ACTIONS(2661),
    [anon_sym_try] = ACTIONS(2661),
    [anon_sym_PLUS_EQ] = ACTIONS(2663),
    [anon_sym_DASH_EQ] = ACTIONS(2663),
    [anon_sym_STAR_EQ] = ACTIONS(2663),
    [anon_sym_SLASH_EQ] = ACTIONS(2663),
    [anon_sym_PERCENT_EQ] = ACTIONS(2663),
    [anon_sym_BANG_EQ] = ACTIONS(2661),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2663),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2663),
    [anon_sym_LT_EQ] = ACTIONS(2663),
    [anon_sym_GT_EQ] = ACTIONS(2663),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2663),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2663),
    [anon_sym_is] = ACTIONS(2661),
    [anon_sym_PLUS] = ACTIONS(2661),
    [anon_sym_DASH] = ACTIONS(2661),
    [anon_sym_STAR] = ACTIONS(2661),
    [anon_sym_SLASH] = ACTIONS(2661),
    [anon_sym_PERCENT] = ACTIONS(2661),
    [anon_sym_PLUS_PLUS] = ACTIONS(2663),
    [anon_sym_DASH_DASH] = ACTIONS(2663),
    [anon_sym_PIPE] = ACTIONS(2663),
    [anon_sym_CARET] = ACTIONS(2661),
    [anon_sym_LT_LT] = ACTIONS(2663),
    [anon_sym_GT_GT] = ACTIONS(2663),
    [anon_sym_class] = ACTIONS(2661),
    [anon_sym_prefix] = ACTIONS(2661),
    [anon_sym_infix] = ACTIONS(2661),
    [anon_sym_postfix] = ACTIONS(2661),
    [anon_sym_AT] = ACTIONS(2661),
    [anon_sym_override] = ACTIONS(2661),
    [anon_sym_convenience] = ACTIONS(2661),
    [anon_sym_required] = ACTIONS(2661),
    [anon_sym_nonisolated] = ACTIONS(2661),
    [anon_sym_public] = ACTIONS(2661),
    [anon_sym_private] = ACTIONS(2661),
    [anon_sym_internal] = ACTIONS(2661),
    [anon_sym_fileprivate] = ACTIONS(2661),
    [anon_sym_open] = ACTIONS(2661),
    [anon_sym_mutating] = ACTIONS(2661),
    [anon_sym_nonmutating] = ACTIONS(2661),
    [anon_sym_static] = ACTIONS(2661),
    [anon_sym_dynamic] = ACTIONS(2661),
    [anon_sym_optional] = ACTIONS(2661),
    [anon_sym_distributed] = ACTIONS(2661),
    [anon_sym_final] = ACTIONS(2661),
    [anon_sym_inout] = ACTIONS(2661),
    [anon_sym_ATescaping] = ACTIONS(2663),
    [anon_sym_ATautoclosure] = ACTIONS(2663),
    [anon_sym_weak] = ACTIONS(2661),
    [anon_sym_unowned] = ACTIONS(2661),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2663),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2663),
    [anon_sym_borrowing] = ACTIONS(2661),
    [anon_sym_consuming] = ACTIONS(2661),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2663),
    [sym_raw_str_end_part] = ACTIONS(2663),
    [sym__implicit_semi] = ACTIONS(2663),
    [sym__explicit_semi] = ACTIONS(2663),
    [sym__dot_custom] = ACTIONS(2663),
    [sym__conjunction_operator_custom] = ACTIONS(2663),
    [sym__disjunction_operator_custom] = ACTIONS(2663),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2663),
    [sym__eq_custom] = ACTIONS(2663),
    [sym__eq_eq_custom] = ACTIONS(2663),
    [sym__plus_then_ws] = ACTIONS(2663),
    [sym__minus_then_ws] = ACTIONS(2663),
    [sym__bang_custom] = ACTIONS(2663),
    [sym_default_keyword] = ACTIONS(2663),
    [sym_where_keyword] = ACTIONS(2663),
    [sym__as_custom] = ACTIONS(2663),
    [sym__as_quest_custom] = ACTIONS(2663),
    [sym__as_bang_custom] = ACTIONS(2663),
    [sym__custom_operator] = ACTIONS(2663),
    [sym__hash_symbol_custom] = ACTIONS(2663),
    [sym__directive_if] = ACTIONS(2663),
    [sym__directive_elseif] = ACTIONS(2663),
    [sym__directive_else] = ACTIONS(2663),
    [sym__directive_endif] = ACTIONS(2663),
  },
  [761] = {
    [anon_sym_BANG] = ACTIONS(2665),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2665),
    [aux_sym_simple_identifier_token2] = ACTIONS(2667),
    [aux_sym_simple_identifier_token3] = ACTIONS(2667),
    [aux_sym_simple_identifier_token4] = ACTIONS(2667),
    [anon_sym_actor] = ACTIONS(2665),
    [anon_sym_async] = ACTIONS(2665),
    [anon_sym_each] = ACTIONS(2665),
    [anon_sym_lazy] = ACTIONS(2665),
    [anon_sym_repeat] = ACTIONS(2665),
    [anon_sym_package] = ACTIONS(2665),
    [anon_sym_nil] = ACTIONS(2665),
    [sym_real_literal] = ACTIONS(2667),
    [sym_integer_literal] = ACTIONS(2665),
    [sym_hex_literal] = ACTIONS(2665),
    [sym_oct_literal] = ACTIONS(2667),
    [sym_bin_literal] = ACTIONS(2667),
    [anon_sym_true] = ACTIONS(2665),
    [anon_sym_false] = ACTIONS(2665),
    [anon_sym_DQUOTE] = ACTIONS(2665),
    [anon_sym_BSLASH] = ACTIONS(2667),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2667),
    [anon_sym_COMMA] = ACTIONS(2697),
    [sym__oneline_regex_literal] = ACTIONS(2665),
    [anon_sym_LPAREN] = ACTIONS(2667),
    [anon_sym_LBRACK] = ACTIONS(2667),
    [anon_sym_QMARK] = ACTIONS(2699),
    [anon_sym_QMARK2] = ACTIONS(2697),
    [anon_sym_AMP] = ACTIONS(2667),
    [anon_sym_TILDE] = ACTIONS(2667),
    [anon_sym_if] = ACTIONS(2665),
    [anon_sym_switch] = ACTIONS(2665),
    [aux_sym_custom_operator_token1] = ACTIONS(2667),
    [anon_sym_LT] = ACTIONS(2665),
    [anon_sym_GT] = ACTIONS(2665),
    [anon_sym_await] = ACTIONS(2665),
    [anon_sym_LBRACE] = ACTIONS(2667),
    [anon_sym_CARET_LBRACE] = ACTIONS(2667),
    [anon_sym_RBRACE] = ACTIONS(2697),
    [anon_sym_self] = ACTIONS(2665),
    [anon_sym_super] = ACTIONS(2665),
    [anon_sym_case] = ACTIONS(2699),
    [anon_sym_fallthrough] = ACTIONS(2699),
    [anon_sym_try] = ACTIONS(2665),
    [anon_sym_PLUS_EQ] = ACTIONS(2667),
    [anon_sym_DASH_EQ] = ACTIONS(2667),
    [anon_sym_STAR_EQ] = ACTIONS(2667),
    [anon_sym_SLASH_EQ] = ACTIONS(2667),
    [anon_sym_PERCENT_EQ] = ACTIONS(2667),
    [anon_sym_BANG_EQ] = ACTIONS(2665),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2667),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2667),
    [anon_sym_LT_EQ] = ACTIONS(2667),
    [anon_sym_GT_EQ] = ACTIONS(2667),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2667),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2667),
    [anon_sym_is] = ACTIONS(2699),
    [anon_sym_PLUS] = ACTIONS(2665),
    [anon_sym_DASH] = ACTIONS(2665),
    [anon_sym_STAR] = ACTIONS(2665),
    [anon_sym_SLASH] = ACTIONS(2665),
    [anon_sym_PERCENT] = ACTIONS(2665),
    [anon_sym_PLUS_PLUS] = ACTIONS(2667),
    [anon_sym_DASH_DASH] = ACTIONS(2667),
    [anon_sym_PIPE] = ACTIONS(2667),
    [anon_sym_CARET] = ACTIONS(2665),
    [anon_sym_LT_LT] = ACTIONS(2667),
    [anon_sym_GT_GT] = ACTIONS(2667),
    [anon_sym_class] = ACTIONS(2699),
    [anon_sym_prefix] = ACTIONS(2699),
    [anon_sym_infix] = ACTIONS(2699),
    [anon_sym_postfix] = ACTIONS(2699),
    [anon_sym_AT] = ACTIONS(2699),
    [anon_sym_override] = ACTIONS(2699),
    [anon_sym_convenience] = ACTIONS(2699),
    [anon_sym_required] = ACTIONS(2699),
    [anon_sym_nonisolated] = ACTIONS(2699),
    [anon_sym_public] = ACTIONS(2699),
    [anon_sym_private] = ACTIONS(2699),
    [anon_sym_internal] = ACTIONS(2699),
    [anon_sym_fileprivate] = ACTIONS(2699),
    [anon_sym_open] = ACTIONS(2699),
    [anon_sym_mutating] = ACTIONS(2699),
    [anon_sym_nonmutating] = ACTIONS(2699),
    [anon_sym_static] = ACTIONS(2699),
    [anon_sym_dynamic] = ACTIONS(2699),
    [anon_sym_optional] = ACTIONS(2699),
    [anon_sym_distributed] = ACTIONS(2699),
    [anon_sym_final] = ACTIONS(2699),
    [anon_sym_inout] = ACTIONS(2699),
    [anon_sym_ATescaping] = ACTIONS(2697),
    [anon_sym_ATautoclosure] = ACTIONS(2697),
    [anon_sym_weak] = ACTIONS(2699),
    [anon_sym_unowned] = ACTIONS(2699),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2697),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2697),
    [anon_sym_borrowing] = ACTIONS(2665),
    [anon_sym_consuming] = ACTIONS(2665),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2667),
    [sym_raw_str_end_part] = ACTIONS(2667),
    [sym__implicit_semi] = ACTIONS(2697),
    [sym__explicit_semi] = ACTIONS(2697),
    [sym__dot_custom] = ACTIONS(2667),
    [sym__conjunction_operator_custom] = ACTIONS(2697),
    [sym__disjunction_operator_custom] = ACTIONS(2697),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2697),
    [sym__eq_custom] = ACTIONS(2667),
    [sym__eq_eq_custom] = ACTIONS(2667),
    [sym__plus_then_ws] = ACTIONS(2667),
    [sym__minus_then_ws] = ACTIONS(2667),
    [sym__bang_custom] = ACTIONS(2667),
    [sym_default_keyword] = ACTIONS(2697),
    [sym_where_keyword] = ACTIONS(2697),
    [sym__as_custom] = ACTIONS(2697),
    [sym__as_quest_custom] = ACTIONS(2697),
    [sym__as_bang_custom] = ACTIONS(2697),
    [sym__custom_operator] = ACTIONS(2667),
    [sym__hash_symbol_custom] = ACTIONS(2667),
    [sym__directive_if] = ACTIONS(2667),
    [sym__directive_elseif] = ACTIONS(2667),
    [sym__directive_else] = ACTIONS(2667),
    [sym__directive_endif] = ACTIONS(2667),
  },
  [762] = {
    [anon_sym_BANG] = ACTIONS(2657),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2657),
    [aux_sym_simple_identifier_token2] = ACTIONS(2659),
    [aux_sym_simple_identifier_token3] = ACTIONS(2659),
    [aux_sym_simple_identifier_token4] = ACTIONS(2659),
    [anon_sym_actor] = ACTIONS(2657),
    [anon_sym_async] = ACTIONS(2657),
    [anon_sym_each] = ACTIONS(2657),
    [anon_sym_lazy] = ACTIONS(2657),
    [anon_sym_repeat] = ACTIONS(2657),
    [anon_sym_package] = ACTIONS(2657),
    [anon_sym_nil] = ACTIONS(2657),
    [sym_real_literal] = ACTIONS(2659),
    [sym_integer_literal] = ACTIONS(2657),
    [sym_hex_literal] = ACTIONS(2657),
    [sym_oct_literal] = ACTIONS(2659),
    [sym_bin_literal] = ACTIONS(2659),
    [anon_sym_true] = ACTIONS(2657),
    [anon_sym_false] = ACTIONS(2657),
    [anon_sym_DQUOTE] = ACTIONS(2657),
    [anon_sym_BSLASH] = ACTIONS(2659),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2659),
    [anon_sym_COMMA] = ACTIONS(2659),
    [sym__oneline_regex_literal] = ACTIONS(2657),
    [anon_sym_LPAREN] = ACTIONS(2659),
    [anon_sym_LBRACK] = ACTIONS(2659),
    [anon_sym_QMARK] = ACTIONS(2657),
    [anon_sym_QMARK2] = ACTIONS(2659),
    [anon_sym_AMP] = ACTIONS(2659),
    [anon_sym_TILDE] = ACTIONS(2659),
    [anon_sym_if] = ACTIONS(2657),
    [anon_sym_switch] = ACTIONS(2657),
    [aux_sym_custom_operator_token1] = ACTIONS(2659),
    [anon_sym_LT] = ACTIONS(2657),
    [anon_sym_GT] = ACTIONS(2657),
    [anon_sym_await] = ACTIONS(2657),
    [anon_sym_LBRACE] = ACTIONS(2659),
    [anon_sym_CARET_LBRACE] = ACTIONS(2659),
    [anon_sym_RBRACE] = ACTIONS(2659),
    [anon_sym_self] = ACTIONS(2657),
    [anon_sym_super] = ACTIONS(2657),
    [anon_sym_case] = ACTIONS(2657),
    [anon_sym_fallthrough] = ACTIONS(2657),
    [anon_sym_try] = ACTIONS(2657),
    [anon_sym_PLUS_EQ] = ACTIONS(2659),
    [anon_sym_DASH_EQ] = ACTIONS(2659),
    [anon_sym_STAR_EQ] = ACTIONS(2659),
    [anon_sym_SLASH_EQ] = ACTIONS(2659),
    [anon_sym_PERCENT_EQ] = ACTIONS(2659),
    [anon_sym_BANG_EQ] = ACTIONS(2657),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2659),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2659),
    [anon_sym_LT_EQ] = ACTIONS(2659),
    [anon_sym_GT_EQ] = ACTIONS(2659),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2659),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2659),
    [anon_sym_is] = ACTIONS(2657),
    [anon_sym_PLUS] = ACTIONS(2657),
    [anon_sym_DASH] = ACTIONS(2657),
    [anon_sym_STAR] = ACTIONS(2657),
    [anon_sym_SLASH] = ACTIONS(2657),
    [anon_sym_PERCENT] = ACTIONS(2657),
    [anon_sym_PLUS_PLUS] = ACTIONS(2659),
    [anon_sym_DASH_DASH] = ACTIONS(2659),
    [anon_sym_PIPE] = ACTIONS(2659),
    [anon_sym_CARET] = ACTIONS(2657),
    [anon_sym_LT_LT] = ACTIONS(2659),
    [anon_sym_GT_GT] = ACTIONS(2659),
    [anon_sym_class] = ACTIONS(2657),
    [anon_sym_prefix] = ACTIONS(2657),
    [anon_sym_infix] = ACTIONS(2657),
    [anon_sym_postfix] = ACTIONS(2657),
    [anon_sym_AT] = ACTIONS(2657),
    [anon_sym_override] = ACTIONS(2657),
    [anon_sym_convenience] = ACTIONS(2657),
    [anon_sym_required] = ACTIONS(2657),
    [anon_sym_nonisolated] = ACTIONS(2657),
    [anon_sym_public] = ACTIONS(2657),
    [anon_sym_private] = ACTIONS(2657),
    [anon_sym_internal] = ACTIONS(2657),
    [anon_sym_fileprivate] = ACTIONS(2657),
    [anon_sym_open] = ACTIONS(2657),
    [anon_sym_mutating] = ACTIONS(2657),
    [anon_sym_nonmutating] = ACTIONS(2657),
    [anon_sym_static] = ACTIONS(2657),
    [anon_sym_dynamic] = ACTIONS(2657),
    [anon_sym_optional] = ACTIONS(2657),
    [anon_sym_distributed] = ACTIONS(2657),
    [anon_sym_final] = ACTIONS(2657),
    [anon_sym_inout] = ACTIONS(2657),
    [anon_sym_ATescaping] = ACTIONS(2659),
    [anon_sym_ATautoclosure] = ACTIONS(2659),
    [anon_sym_weak] = ACTIONS(2657),
    [anon_sym_unowned] = ACTIONS(2657),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2659),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2659),
    [anon_sym_borrowing] = ACTIONS(2657),
    [anon_sym_consuming] = ACTIONS(2657),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2659),
    [sym_raw_str_end_part] = ACTIONS(2659),
    [sym__implicit_semi] = ACTIONS(2659),
    [sym__explicit_semi] = ACTIONS(2659),
    [sym__dot_custom] = ACTIONS(2659),
    [sym__conjunction_operator_custom] = ACTIONS(2659),
    [sym__disjunction_operator_custom] = ACTIONS(2659),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2659),
    [sym__eq_custom] = ACTIONS(2659),
    [sym__eq_eq_custom] = ACTIONS(2659),
    [sym__plus_then_ws] = ACTIONS(2659),
    [sym__minus_then_ws] = ACTIONS(2659),
    [sym__bang_custom] = ACTIONS(2659),
    [sym_default_keyword] = ACTIONS(2659),
    [sym_where_keyword] = ACTIONS(2659),
    [sym__as_custom] = ACTIONS(2659),
    [sym__as_quest_custom] = ACTIONS(2659),
    [sym__as_bang_custom] = ACTIONS(2659),
    [sym__custom_operator] = ACTIONS(2659),
    [sym__hash_symbol_custom] = ACTIONS(2659),
    [sym__directive_if] = ACTIONS(2659),
    [sym__directive_elseif] = ACTIONS(2659),
    [sym__directive_else] = ACTIONS(2659),
    [sym__directive_endif] = ACTIONS(2659),
  },
  [763] = {
    [sym_simple_identifier] = STATE(1068),
    [sym__contextual_simple_identifier] = STATE(1098),
    [sym__unannotated_type] = STATE(1025),
    [sym_user_type] = STATE(1046),
    [sym__simple_user_type] = STATE(1047),
    [sym_tuple_type] = STATE(1013),
    [sym_function_type] = STATE(1025),
    [sym_array_type] = STATE(1046),
    [sym_dictionary_type] = STATE(1046),
    [sym_optional_type] = STATE(1025),
    [sym_metatype] = STATE(1025),
    [sym_opaque_type] = STATE(1025),
    [sym_existential_type] = STATE(1025),
    [sym_type_parameter_pack] = STATE(1025),
    [sym_type_pack_expansion] = STATE(1025),
    [sym_protocol_composition_type] = STATE(1025),
    [sym_suppressed_constraint] = STATE(1025),
    [sym__parenthesized_type] = STATE(1099),
    [sym__parameter_ownership_modifier] = STATE(1098),
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2830),
    [aux_sym_simple_identifier_token2] = ACTIONS(2832),
    [aux_sym_simple_identifier_token3] = ACTIONS(2832),
    [aux_sym_simple_identifier_token4] = ACTIONS(2832),
    [anon_sym_actor] = ACTIONS(2830),
    [anon_sym_async] = ACTIONS(2830),
    [anon_sym_each] = ACTIONS(2834),
    [anon_sym_lazy] = ACTIONS(2836),
    [anon_sym_repeat] = ACTIONS(2839),
    [anon_sym_package] = ACTIONS(2836),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(2841),
    [anon_sym_LBRACK] = ACTIONS(2844),
    [anon_sym_DOT] = ACTIONS(623),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(2847),
    [anon_sym_any] = ACTIONS(2849),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(2851),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_case] = ACTIONS(623),
    [anon_sym_fallthrough] = ACTIONS(623),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_class] = ACTIONS(623),
    [anon_sym_prefix] = ACTIONS(623),
    [anon_sym_infix] = ACTIONS(623),
    [anon_sym_postfix] = ACTIONS(623),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(623),
    [anon_sym_convenience] = ACTIONS(623),
    [anon_sym_required] = ACTIONS(623),
    [anon_sym_nonisolated] = ACTIONS(623),
    [anon_sym_public] = ACTIONS(623),
    [anon_sym_private] = ACTIONS(623),
    [anon_sym_internal] = ACTIONS(623),
    [anon_sym_fileprivate] = ACTIONS(623),
    [anon_sym_open] = ACTIONS(623),
    [anon_sym_mutating] = ACTIONS(623),
    [anon_sym_nonmutating] = ACTIONS(623),
    [anon_sym_static] = ACTIONS(623),
    [anon_sym_dynamic] = ACTIONS(623),
    [anon_sym_optional] = ACTIONS(623),
    [anon_sym_distributed] = ACTIONS(623),
    [anon_sym_final] = ACTIONS(623),
    [anon_sym_inout] = ACTIONS(623),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(623),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(2836),
    [anon_sym_consuming] = ACTIONS(2836),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym_default_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [764] = {
    [sym_simple_identifier] = STATE(1068),
    [sym__contextual_simple_identifier] = STATE(1098),
    [sym__unannotated_type] = STATE(1026),
    [sym_user_type] = STATE(1046),
    [sym__simple_user_type] = STATE(1047),
    [sym_tuple_type] = STATE(1013),
    [sym_function_type] = STATE(1026),
    [sym_array_type] = STATE(1046),
    [sym_dictionary_type] = STATE(1046),
    [sym_optional_type] = STATE(1026),
    [sym_metatype] = STATE(1026),
    [sym_opaque_type] = STATE(1026),
    [sym_existential_type] = STATE(1026),
    [sym_type_parameter_pack] = STATE(1026),
    [sym_type_pack_expansion] = STATE(1026),
    [sym_protocol_composition_type] = STATE(1026),
    [sym_suppressed_constraint] = STATE(1026),
    [sym__parenthesized_type] = STATE(1099),
    [sym__parameter_ownership_modifier] = STATE(1098),
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2830),
    [aux_sym_simple_identifier_token2] = ACTIONS(2832),
    [aux_sym_simple_identifier_token3] = ACTIONS(2832),
    [aux_sym_simple_identifier_token4] = ACTIONS(2832),
    [anon_sym_actor] = ACTIONS(2830),
    [anon_sym_async] = ACTIONS(2830),
    [anon_sym_each] = ACTIONS(2834),
    [anon_sym_lazy] = ACTIONS(2836),
    [anon_sym_repeat] = ACTIONS(2839),
    [anon_sym_package] = ACTIONS(2836),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(2841),
    [anon_sym_LBRACK] = ACTIONS(2844),
    [anon_sym_DOT] = ACTIONS(623),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(2847),
    [anon_sym_any] = ACTIONS(2849),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(2851),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_case] = ACTIONS(623),
    [anon_sym_fallthrough] = ACTIONS(623),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_class] = ACTIONS(623),
    [anon_sym_prefix] = ACTIONS(623),
    [anon_sym_infix] = ACTIONS(623),
    [anon_sym_postfix] = ACTIONS(623),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(623),
    [anon_sym_convenience] = ACTIONS(623),
    [anon_sym_required] = ACTIONS(623),
    [anon_sym_nonisolated] = ACTIONS(623),
    [anon_sym_public] = ACTIONS(623),
    [anon_sym_private] = ACTIONS(623),
    [anon_sym_internal] = ACTIONS(623),
    [anon_sym_fileprivate] = ACTIONS(623),
    [anon_sym_open] = ACTIONS(623),
    [anon_sym_mutating] = ACTIONS(623),
    [anon_sym_nonmutating] = ACTIONS(623),
    [anon_sym_static] = ACTIONS(623),
    [anon_sym_dynamic] = ACTIONS(623),
    [anon_sym_optional] = ACTIONS(623),
    [anon_sym_distributed] = ACTIONS(623),
    [anon_sym_final] = ACTIONS(623),
    [anon_sym_inout] = ACTIONS(623),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(623),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(2836),
    [anon_sym_consuming] = ACTIONS(2836),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym_default_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [765] = {
    [anon_sym_BANG] = ACTIONS(2653),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2653),
    [aux_sym_simple_identifier_token2] = ACTIONS(2655),
    [aux_sym_simple_identifier_token3] = ACTIONS(2655),
    [aux_sym_simple_identifier_token4] = ACTIONS(2655),
    [anon_sym_actor] = ACTIONS(2653),
    [anon_sym_async] = ACTIONS(2653),
    [anon_sym_each] = ACTIONS(2653),
    [anon_sym_lazy] = ACTIONS(2653),
    [anon_sym_repeat] = ACTIONS(2653),
    [anon_sym_package] = ACTIONS(2653),
    [anon_sym_nil] = ACTIONS(2653),
    [sym_real_literal] = ACTIONS(2655),
    [sym_integer_literal] = ACTIONS(2653),
    [sym_hex_literal] = ACTIONS(2653),
    [sym_oct_literal] = ACTIONS(2655),
    [sym_bin_literal] = ACTIONS(2655),
    [anon_sym_true] = ACTIONS(2653),
    [anon_sym_false] = ACTIONS(2653),
    [anon_sym_DQUOTE] = ACTIONS(2653),
    [anon_sym_BSLASH] = ACTIONS(2655),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2655),
    [anon_sym_COMMA] = ACTIONS(2655),
    [sym__oneline_regex_literal] = ACTIONS(2653),
    [anon_sym_LPAREN] = ACTIONS(2655),
    [anon_sym_LBRACK] = ACTIONS(2655),
    [anon_sym_QMARK] = ACTIONS(2653),
    [anon_sym_QMARK2] = ACTIONS(2655),
    [anon_sym_AMP] = ACTIONS(2655),
    [anon_sym_TILDE] = ACTIONS(2655),
    [anon_sym_if] = ACTIONS(2653),
    [anon_sym_switch] = ACTIONS(2653),
    [aux_sym_custom_operator_token1] = ACTIONS(2655),
    [anon_sym_LT] = ACTIONS(2653),
    [anon_sym_GT] = ACTIONS(2653),
    [anon_sym_await] = ACTIONS(2653),
    [anon_sym_LBRACE] = ACTIONS(2655),
    [anon_sym_CARET_LBRACE] = ACTIONS(2655),
    [anon_sym_RBRACE] = ACTIONS(2655),
    [anon_sym_self] = ACTIONS(2653),
    [anon_sym_super] = ACTIONS(2653),
    [anon_sym_case] = ACTIONS(2653),
    [anon_sym_fallthrough] = ACTIONS(2653),
    [anon_sym_try] = ACTIONS(2653),
    [anon_sym_PLUS_EQ] = ACTIONS(2655),
    [anon_sym_DASH_EQ] = ACTIONS(2655),
    [anon_sym_STAR_EQ] = ACTIONS(2655),
    [anon_sym_SLASH_EQ] = ACTIONS(2655),
    [anon_sym_PERCENT_EQ] = ACTIONS(2655),
    [anon_sym_BANG_EQ] = ACTIONS(2653),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2655),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2655),
    [anon_sym_LT_EQ] = ACTIONS(2655),
    [anon_sym_GT_EQ] = ACTIONS(2655),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2655),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2655),
    [anon_sym_is] = ACTIONS(2653),
    [anon_sym_PLUS] = ACTIONS(2653),
    [anon_sym_DASH] = ACTIONS(2653),
    [anon_sym_STAR] = ACTIONS(2653),
    [anon_sym_SLASH] = ACTIONS(2653),
    [anon_sym_PERCENT] = ACTIONS(2653),
    [anon_sym_PLUS_PLUS] = ACTIONS(2655),
    [anon_sym_DASH_DASH] = ACTIONS(2655),
    [anon_sym_PIPE] = ACTIONS(2655),
    [anon_sym_CARET] = ACTIONS(2653),
    [anon_sym_LT_LT] = ACTIONS(2655),
    [anon_sym_GT_GT] = ACTIONS(2655),
    [anon_sym_class] = ACTIONS(2653),
    [anon_sym_prefix] = ACTIONS(2653),
    [anon_sym_infix] = ACTIONS(2653),
    [anon_sym_postfix] = ACTIONS(2653),
    [anon_sym_AT] = ACTIONS(2653),
    [anon_sym_override] = ACTIONS(2653),
    [anon_sym_convenience] = ACTIONS(2653),
    [anon_sym_required] = ACTIONS(2653),
    [anon_sym_nonisolated] = ACTIONS(2653),
    [anon_sym_public] = ACTIONS(2653),
    [anon_sym_private] = ACTIONS(2653),
    [anon_sym_internal] = ACTIONS(2653),
    [anon_sym_fileprivate] = ACTIONS(2653),
    [anon_sym_open] = ACTIONS(2653),
    [anon_sym_mutating] = ACTIONS(2653),
    [anon_sym_nonmutating] = ACTIONS(2653),
    [anon_sym_static] = ACTIONS(2653),
    [anon_sym_dynamic] = ACTIONS(2653),
    [anon_sym_optional] = ACTIONS(2653),
    [anon_sym_distributed] = ACTIONS(2653),
    [anon_sym_final] = ACTIONS(2653),
    [anon_sym_inout] = ACTIONS(2653),
    [anon_sym_ATescaping] = ACTIONS(2655),
    [anon_sym_ATautoclosure] = ACTIONS(2655),
    [anon_sym_weak] = ACTIONS(2653),
    [anon_sym_unowned] = ACTIONS(2653),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2655),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2655),
    [anon_sym_borrowing] = ACTIONS(2653),
    [anon_sym_consuming] = ACTIONS(2653),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2655),
    [sym_raw_str_end_part] = ACTIONS(2655),
    [sym__implicit_semi] = ACTIONS(2655),
    [sym__explicit_semi] = ACTIONS(2655),
    [sym__dot_custom] = ACTIONS(2655),
    [sym__conjunction_operator_custom] = ACTIONS(2655),
    [sym__disjunction_operator_custom] = ACTIONS(2655),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2655),
    [sym__eq_custom] = ACTIONS(2655),
    [sym__eq_eq_custom] = ACTIONS(2655),
    [sym__plus_then_ws] = ACTIONS(2655),
    [sym__minus_then_ws] = ACTIONS(2655),
    [sym__bang_custom] = ACTIONS(2655),
    [sym_default_keyword] = ACTIONS(2655),
    [sym_where_keyword] = ACTIONS(2655),
    [sym__as_custom] = ACTIONS(2655),
    [sym__as_quest_custom] = ACTIONS(2655),
    [sym__as_bang_custom] = ACTIONS(2655),
    [sym__custom_operator] = ACTIONS(2655),
    [sym__hash_symbol_custom] = ACTIONS(2655),
    [sym__directive_if] = ACTIONS(2655),
    [sym__directive_elseif] = ACTIONS(2655),
    [sym__directive_else] = ACTIONS(2655),
    [sym__directive_endif] = ACTIONS(2655),
  },
  [766] = {
    [anon_sym_BANG] = ACTIONS(2673),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2676),
    [aux_sym_simple_identifier_token2] = ACTIONS(2678),
    [aux_sym_simple_identifier_token3] = ACTIONS(2678),
    [aux_sym_simple_identifier_token4] = ACTIONS(2678),
    [anon_sym_actor] = ACTIONS(2676),
    [anon_sym_async] = ACTIONS(2676),
    [anon_sym_each] = ACTIONS(2676),
    [anon_sym_lazy] = ACTIONS(2673),
    [anon_sym_repeat] = ACTIONS(2676),
    [anon_sym_package] = ACTIONS(2673),
    [anon_sym_nil] = ACTIONS(2676),
    [sym_real_literal] = ACTIONS(2678),
    [sym_integer_literal] = ACTIONS(2676),
    [sym_hex_literal] = ACTIONS(2676),
    [sym_oct_literal] = ACTIONS(2678),
    [sym_bin_literal] = ACTIONS(2678),
    [anon_sym_true] = ACTIONS(2676),
    [anon_sym_false] = ACTIONS(2676),
    [anon_sym_DQUOTE] = ACTIONS(2676),
    [anon_sym_BSLASH] = ACTIONS(2678),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2678),
    [anon_sym_COMMA] = ACTIONS(2680),
    [sym__oneline_regex_literal] = ACTIONS(2676),
    [anon_sym_LPAREN] = ACTIONS(2682),
    [anon_sym_LBRACK] = ACTIONS(2682),
    [anon_sym_QMARK] = ACTIONS(2685),
    [anon_sym_QMARK2] = ACTIONS(2680),
    [anon_sym_AMP] = ACTIONS(2682),
    [anon_sym_TILDE] = ACTIONS(2678),
    [anon_sym_if] = ACTIONS(2676),
    [anon_sym_switch] = ACTIONS(2676),
    [aux_sym_custom_operator_token1] = ACTIONS(2682),
    [anon_sym_LT] = ACTIONS(2673),
    [anon_sym_GT] = ACTIONS(2673),
    [anon_sym_await] = ACTIONS(2676),
    [anon_sym_LBRACE] = ACTIONS(2682),
    [anon_sym_CARET_LBRACE] = ACTIONS(2682),
    [anon_sym_RBRACE] = ACTIONS(2680),
    [anon_sym_self] = ACTIONS(2676),
    [anon_sym_super] = ACTIONS(2676),
    [anon_sym_case] = ACTIONS(2685),
    [anon_sym_fallthrough] = ACTIONS(2685),
    [anon_sym_try] = ACTIONS(2676),
    [anon_sym_PLUS_EQ] = ACTIONS(2682),
    [anon_sym_DASH_EQ] = ACTIONS(2682),
    [anon_sym_STAR_EQ] = ACTIONS(2682),
    [anon_sym_SLASH_EQ] = ACTIONS(2682),
    [anon_sym_PERCENT_EQ] = ACTIONS(2682),
    [anon_sym_BANG_EQ] = ACTIONS(2673),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2682),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2682),
    [anon_sym_LT_EQ] = ACTIONS(2682),
    [anon_sym_GT_EQ] = ACTIONS(2682),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2682),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2682),
    [anon_sym_is] = ACTIONS(2685),
    [anon_sym_PLUS] = ACTIONS(2673),
    [anon_sym_DASH] = ACTIONS(2673),
    [anon_sym_STAR] = ACTIONS(2673),
    [anon_sym_SLASH] = ACTIONS(2673),
    [anon_sym_PERCENT] = ACTIONS(2673),
    [anon_sym_PLUS_PLUS] = ACTIONS(2682),
    [anon_sym_DASH_DASH] = ACTIONS(2682),
    [anon_sym_PIPE] = ACTIONS(2682),
    [anon_sym_CARET] = ACTIONS(2673),
    [anon_sym_LT_LT] = ACTIONS(2682),
    [anon_sym_GT_GT] = ACTIONS(2682),
    [anon_sym_class] = ACTIONS(2685),
    [anon_sym_prefix] = ACTIONS(2685),
    [anon_sym_infix] = ACTIONS(2685),
    [anon_sym_postfix] = ACTIONS(2685),
    [anon_sym_AT] = ACTIONS(2685),
    [anon_sym_override] = ACTIONS(2685),
    [anon_sym_convenience] = ACTIONS(2685),
    [anon_sym_required] = ACTIONS(2685),
    [anon_sym_nonisolated] = ACTIONS(2685),
    [anon_sym_public] = ACTIONS(2685),
    [anon_sym_private] = ACTIONS(2685),
    [anon_sym_internal] = ACTIONS(2685),
    [anon_sym_fileprivate] = ACTIONS(2685),
    [anon_sym_open] = ACTIONS(2685),
    [anon_sym_mutating] = ACTIONS(2685),
    [anon_sym_nonmutating] = ACTIONS(2685),
    [anon_sym_static] = ACTIONS(2685),
    [anon_sym_dynamic] = ACTIONS(2685),
    [anon_sym_optional] = ACTIONS(2685),
    [anon_sym_distributed] = ACTIONS(2685),
    [anon_sym_final] = ACTIONS(2685),
    [anon_sym_inout] = ACTIONS(2685),
    [anon_sym_ATescaping] = ACTIONS(2680),
    [anon_sym_ATautoclosure] = ACTIONS(2680),
    [anon_sym_weak] = ACTIONS(2685),
    [anon_sym_unowned] = ACTIONS(2685),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2680),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2680),
    [anon_sym_borrowing] = ACTIONS(2673),
    [anon_sym_consuming] = ACTIONS(2673),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2678),
    [sym_raw_str_end_part] = ACTIONS(2678),
    [sym__implicit_semi] = ACTIONS(2680),
    [sym__explicit_semi] = ACTIONS(2680),
    [sym__dot_custom] = ACTIONS(2682),
    [sym__conjunction_operator_custom] = ACTIONS(2680),
    [sym__disjunction_operator_custom] = ACTIONS(2680),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2680),
    [sym__eq_custom] = ACTIONS(2682),
    [sym__eq_eq_custom] = ACTIONS(2682),
    [sym__plus_then_ws] = ACTIONS(2682),
    [sym__minus_then_ws] = ACTIONS(2682),
    [sym__bang_custom] = ACTIONS(2682),
    [sym_default_keyword] = ACTIONS(2680),
    [sym_where_keyword] = ACTIONS(2680),
    [sym__as_custom] = ACTIONS(2680),
    [sym__as_quest_custom] = ACTIONS(2680),
    [sym__as_bang_custom] = ACTIONS(2680),
    [sym__custom_operator] = ACTIONS(2682),
    [sym__hash_symbol_custom] = ACTIONS(2678),
    [sym__directive_if] = ACTIONS(2678),
    [sym__directive_elseif] = ACTIONS(2678),
    [sym__directive_else] = ACTIONS(2678),
    [sym__directive_endif] = ACTIONS(2678),
  },
  [767] = {
    [anon_sym_BANG] = ACTIONS(2665),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2665),
    [aux_sym_simple_identifier_token2] = ACTIONS(2667),
    [aux_sym_simple_identifier_token3] = ACTIONS(2667),
    [aux_sym_simple_identifier_token4] = ACTIONS(2667),
    [anon_sym_actor] = ACTIONS(2665),
    [anon_sym_async] = ACTIONS(2665),
    [anon_sym_each] = ACTIONS(2665),
    [anon_sym_lazy] = ACTIONS(2665),
    [anon_sym_repeat] = ACTIONS(2665),
    [anon_sym_package] = ACTIONS(2665),
    [anon_sym_nil] = ACTIONS(2665),
    [sym_real_literal] = ACTIONS(2667),
    [sym_integer_literal] = ACTIONS(2665),
    [sym_hex_literal] = ACTIONS(2665),
    [sym_oct_literal] = ACTIONS(2667),
    [sym_bin_literal] = ACTIONS(2667),
    [anon_sym_true] = ACTIONS(2665),
    [anon_sym_false] = ACTIONS(2665),
    [anon_sym_DQUOTE] = ACTIONS(2665),
    [anon_sym_BSLASH] = ACTIONS(2667),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2667),
    [anon_sym_COMMA] = ACTIONS(2669),
    [sym__oneline_regex_literal] = ACTIONS(2665),
    [anon_sym_LPAREN] = ACTIONS(2667),
    [anon_sym_LBRACK] = ACTIONS(2667),
    [anon_sym_QMARK] = ACTIONS(2671),
    [anon_sym_QMARK2] = ACTIONS(2669),
    [anon_sym_AMP] = ACTIONS(2667),
    [anon_sym_TILDE] = ACTIONS(2667),
    [anon_sym_if] = ACTIONS(2665),
    [anon_sym_switch] = ACTIONS(2665),
    [aux_sym_custom_operator_token1] = ACTIONS(2667),
    [anon_sym_LT] = ACTIONS(2665),
    [anon_sym_GT] = ACTIONS(2665),
    [anon_sym_await] = ACTIONS(2665),
    [anon_sym_LBRACE] = ACTIONS(2667),
    [anon_sym_CARET_LBRACE] = ACTIONS(2667),
    [anon_sym_RBRACE] = ACTIONS(2669),
    [anon_sym_self] = ACTIONS(2665),
    [anon_sym_super] = ACTIONS(2665),
    [anon_sym_case] = ACTIONS(2671),
    [anon_sym_fallthrough] = ACTIONS(2671),
    [anon_sym_try] = ACTIONS(2665),
    [anon_sym_PLUS_EQ] = ACTIONS(2667),
    [anon_sym_DASH_EQ] = ACTIONS(2667),
    [anon_sym_STAR_EQ] = ACTIONS(2667),
    [anon_sym_SLASH_EQ] = ACTIONS(2667),
    [anon_sym_PERCENT_EQ] = ACTIONS(2667),
    [anon_sym_BANG_EQ] = ACTIONS(2665),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2667),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2667),
    [anon_sym_LT_EQ] = ACTIONS(2667),
    [anon_sym_GT_EQ] = ACTIONS(2667),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2667),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2667),
    [anon_sym_is] = ACTIONS(2671),
    [anon_sym_PLUS] = ACTIONS(2665),
    [anon_sym_DASH] = ACTIONS(2665),
    [anon_sym_STAR] = ACTIONS(2665),
    [anon_sym_SLASH] = ACTIONS(2665),
    [anon_sym_PERCENT] = ACTIONS(2665),
    [anon_sym_PLUS_PLUS] = ACTIONS(2667),
    [anon_sym_DASH_DASH] = ACTIONS(2667),
    [anon_sym_PIPE] = ACTIONS(2667),
    [anon_sym_CARET] = ACTIONS(2665),
    [anon_sym_LT_LT] = ACTIONS(2667),
    [anon_sym_GT_GT] = ACTIONS(2667),
    [anon_sym_class] = ACTIONS(2671),
    [anon_sym_prefix] = ACTIONS(2671),
    [anon_sym_infix] = ACTIONS(2671),
    [anon_sym_postfix] = ACTIONS(2671),
    [anon_sym_AT] = ACTIONS(2671),
    [anon_sym_override] = ACTIONS(2671),
    [anon_sym_convenience] = ACTIONS(2671),
    [anon_sym_required] = ACTIONS(2671),
    [anon_sym_nonisolated] = ACTIONS(2671),
    [anon_sym_public] = ACTIONS(2671),
    [anon_sym_private] = ACTIONS(2671),
    [anon_sym_internal] = ACTIONS(2671),
    [anon_sym_fileprivate] = ACTIONS(2671),
    [anon_sym_open] = ACTIONS(2671),
    [anon_sym_mutating] = ACTIONS(2671),
    [anon_sym_nonmutating] = ACTIONS(2671),
    [anon_sym_static] = ACTIONS(2671),
    [anon_sym_dynamic] = ACTIONS(2671),
    [anon_sym_optional] = ACTIONS(2671),
    [anon_sym_distributed] = ACTIONS(2671),
    [anon_sym_final] = ACTIONS(2671),
    [anon_sym_inout] = ACTIONS(2671),
    [anon_sym_ATescaping] = ACTIONS(2669),
    [anon_sym_ATautoclosure] = ACTIONS(2669),
    [anon_sym_weak] = ACTIONS(2671),
    [anon_sym_unowned] = ACTIONS(2671),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2669),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2669),
    [anon_sym_borrowing] = ACTIONS(2665),
    [anon_sym_consuming] = ACTIONS(2665),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2667),
    [sym_raw_str_end_part] = ACTIONS(2667),
    [sym__implicit_semi] = ACTIONS(2669),
    [sym__explicit_semi] = ACTIONS(2669),
    [sym__dot_custom] = ACTIONS(2667),
    [sym__conjunction_operator_custom] = ACTIONS(2669),
    [sym__disjunction_operator_custom] = ACTIONS(2669),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2669),
    [sym__eq_custom] = ACTIONS(2667),
    [sym__eq_eq_custom] = ACTIONS(2667),
    [sym__plus_then_ws] = ACTIONS(2667),
    [sym__minus_then_ws] = ACTIONS(2667),
    [sym__bang_custom] = ACTIONS(2667),
    [sym_default_keyword] = ACTIONS(2669),
    [sym__as_custom] = ACTIONS(2669),
    [sym__as_quest_custom] = ACTIONS(2669),
    [sym__as_bang_custom] = ACTIONS(2669),
    [sym__custom_operator] = ACTIONS(2667),
    [sym__hash_symbol_custom] = ACTIONS(2667),
    [sym__directive_if] = ACTIONS(2667),
    [sym__directive_elseif] = ACTIONS(2667),
    [sym__directive_else] = ACTIONS(2667),
    [sym__directive_endif] = ACTIONS(2667),
  },
  [768] = {
    [anon_sym_BANG] = ACTIONS(2661),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2661),
    [aux_sym_simple_identifier_token2] = ACTIONS(2663),
    [aux_sym_simple_identifier_token3] = ACTIONS(2663),
    [aux_sym_simple_identifier_token4] = ACTIONS(2663),
    [anon_sym_actor] = ACTIONS(2661),
    [anon_sym_async] = ACTIONS(2661),
    [anon_sym_each] = ACTIONS(2661),
    [anon_sym_lazy] = ACTIONS(2661),
    [anon_sym_repeat] = ACTIONS(2661),
    [anon_sym_package] = ACTIONS(2661),
    [anon_sym_nil] = ACTIONS(2661),
    [sym_real_literal] = ACTIONS(2663),
    [sym_integer_literal] = ACTIONS(2661),
    [sym_hex_literal] = ACTIONS(2661),
    [sym_oct_literal] = ACTIONS(2663),
    [sym_bin_literal] = ACTIONS(2663),
    [anon_sym_true] = ACTIONS(2661),
    [anon_sym_false] = ACTIONS(2661),
    [anon_sym_DQUOTE] = ACTIONS(2661),
    [anon_sym_BSLASH] = ACTIONS(2663),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2663),
    [anon_sym_COMMA] = ACTIONS(2663),
    [sym__oneline_regex_literal] = ACTIONS(2661),
    [anon_sym_LPAREN] = ACTIONS(2663),
    [anon_sym_LBRACK] = ACTIONS(2663),
    [anon_sym_QMARK] = ACTIONS(2661),
    [anon_sym_QMARK2] = ACTIONS(2663),
    [anon_sym_AMP] = ACTIONS(2663),
    [anon_sym_TILDE] = ACTIONS(2663),
    [anon_sym_if] = ACTIONS(2661),
    [anon_sym_switch] = ACTIONS(2661),
    [aux_sym_custom_operator_token1] = ACTIONS(2663),
    [anon_sym_LT] = ACTIONS(2661),
    [anon_sym_GT] = ACTIONS(2661),
    [anon_sym_await] = ACTIONS(2661),
    [anon_sym_LBRACE] = ACTIONS(2663),
    [anon_sym_CARET_LBRACE] = ACTIONS(2663),
    [anon_sym_RBRACE] = ACTIONS(2663),
    [anon_sym_self] = ACTIONS(2661),
    [anon_sym_super] = ACTIONS(2661),
    [anon_sym_case] = ACTIONS(2661),
    [anon_sym_fallthrough] = ACTIONS(2661),
    [anon_sym_try] = ACTIONS(2661),
    [anon_sym_PLUS_EQ] = ACTIONS(2663),
    [anon_sym_DASH_EQ] = ACTIONS(2663),
    [anon_sym_STAR_EQ] = ACTIONS(2663),
    [anon_sym_SLASH_EQ] = ACTIONS(2663),
    [anon_sym_PERCENT_EQ] = ACTIONS(2663),
    [anon_sym_BANG_EQ] = ACTIONS(2661),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2663),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2663),
    [anon_sym_LT_EQ] = ACTIONS(2663),
    [anon_sym_GT_EQ] = ACTIONS(2663),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2663),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2663),
    [anon_sym_is] = ACTIONS(2661),
    [anon_sym_PLUS] = ACTIONS(2661),
    [anon_sym_DASH] = ACTIONS(2661),
    [anon_sym_STAR] = ACTIONS(2661),
    [anon_sym_SLASH] = ACTIONS(2661),
    [anon_sym_PERCENT] = ACTIONS(2661),
    [anon_sym_PLUS_PLUS] = ACTIONS(2663),
    [anon_sym_DASH_DASH] = ACTIONS(2663),
    [anon_sym_PIPE] = ACTIONS(2663),
    [anon_sym_CARET] = ACTIONS(2661),
    [anon_sym_LT_LT] = ACTIONS(2663),
    [anon_sym_GT_GT] = ACTIONS(2663),
    [anon_sym_class] = ACTIONS(2661),
    [anon_sym_prefix] = ACTIONS(2661),
    [anon_sym_infix] = ACTIONS(2661),
    [anon_sym_postfix] = ACTIONS(2661),
    [anon_sym_AT] = ACTIONS(2661),
    [anon_sym_override] = ACTIONS(2661),
    [anon_sym_convenience] = ACTIONS(2661),
    [anon_sym_required] = ACTIONS(2661),
    [anon_sym_nonisolated] = ACTIONS(2661),
    [anon_sym_public] = ACTIONS(2661),
    [anon_sym_private] = ACTIONS(2661),
    [anon_sym_internal] = ACTIONS(2661),
    [anon_sym_fileprivate] = ACTIONS(2661),
    [anon_sym_open] = ACTIONS(2661),
    [anon_sym_mutating] = ACTIONS(2661),
    [anon_sym_nonmutating] = ACTIONS(2661),
    [anon_sym_static] = ACTIONS(2661),
    [anon_sym_dynamic] = ACTIONS(2661),
    [anon_sym_optional] = ACTIONS(2661),
    [anon_sym_distributed] = ACTIONS(2661),
    [anon_sym_final] = ACTIONS(2661),
    [anon_sym_inout] = ACTIONS(2661),
    [anon_sym_ATescaping] = ACTIONS(2663),
    [anon_sym_ATautoclosure] = ACTIONS(2663),
    [anon_sym_weak] = ACTIONS(2661),
    [anon_sym_unowned] = ACTIONS(2661),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2663),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2663),
    [anon_sym_borrowing] = ACTIONS(2661),
    [anon_sym_consuming] = ACTIONS(2661),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2663),
    [sym_raw_str_end_part] = ACTIONS(2663),
    [sym__implicit_semi] = ACTIONS(2663),
    [sym__explicit_semi] = ACTIONS(2663),
    [sym__dot_custom] = ACTIONS(2663),
    [sym__conjunction_operator_custom] = ACTIONS(2663),
    [sym__disjunction_operator_custom] = ACTIONS(2663),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2663),
    [sym__eq_custom] = ACTIONS(2663),
    [sym__eq_eq_custom] = ACTIONS(2663),
    [sym__plus_then_ws] = ACTIONS(2663),
    [sym__minus_then_ws] = ACTIONS(2663),
    [sym__bang_custom] = ACTIONS(2663),
    [sym_default_keyword] = ACTIONS(2663),
    [sym__as_custom] = ACTIONS(2663),
    [sym__as_quest_custom] = ACTIONS(2663),
    [sym__as_bang_custom] = ACTIONS(2663),
    [sym__custom_operator] = ACTIONS(2663),
    [sym__hash_symbol_custom] = ACTIONS(2663),
    [sym__directive_if] = ACTIONS(2663),
    [sym__directive_elseif] = ACTIONS(2663),
    [sym__directive_else] = ACTIONS(2663),
    [sym__directive_endif] = ACTIONS(2663),
  },
  [769] = {
    [anon_sym_BANG] = ACTIONS(2657),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2657),
    [aux_sym_simple_identifier_token2] = ACTIONS(2659),
    [aux_sym_simple_identifier_token3] = ACTIONS(2659),
    [aux_sym_simple_identifier_token4] = ACTIONS(2659),
    [anon_sym_actor] = ACTIONS(2657),
    [anon_sym_async] = ACTIONS(2657),
    [anon_sym_each] = ACTIONS(2657),
    [anon_sym_lazy] = ACTIONS(2657),
    [anon_sym_repeat] = ACTIONS(2657),
    [anon_sym_package] = ACTIONS(2657),
    [anon_sym_nil] = ACTIONS(2657),
    [sym_real_literal] = ACTIONS(2659),
    [sym_integer_literal] = ACTIONS(2657),
    [sym_hex_literal] = ACTIONS(2657),
    [sym_oct_literal] = ACTIONS(2659),
    [sym_bin_literal] = ACTIONS(2659),
    [anon_sym_true] = ACTIONS(2657),
    [anon_sym_false] = ACTIONS(2657),
    [anon_sym_DQUOTE] = ACTIONS(2657),
    [anon_sym_BSLASH] = ACTIONS(2659),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2659),
    [anon_sym_COMMA] = ACTIONS(2659),
    [sym__oneline_regex_literal] = ACTIONS(2657),
    [anon_sym_LPAREN] = ACTIONS(2659),
    [anon_sym_LBRACK] = ACTIONS(2659),
    [anon_sym_QMARK] = ACTIONS(2657),
    [anon_sym_QMARK2] = ACTIONS(2659),
    [anon_sym_AMP] = ACTIONS(2659),
    [anon_sym_TILDE] = ACTIONS(2659),
    [anon_sym_if] = ACTIONS(2657),
    [anon_sym_switch] = ACTIONS(2657),
    [aux_sym_custom_operator_token1] = ACTIONS(2659),
    [anon_sym_LT] = ACTIONS(2657),
    [anon_sym_GT] = ACTIONS(2657),
    [anon_sym_await] = ACTIONS(2657),
    [anon_sym_LBRACE] = ACTIONS(2659),
    [anon_sym_CARET_LBRACE] = ACTIONS(2659),
    [anon_sym_RBRACE] = ACTIONS(2659),
    [anon_sym_self] = ACTIONS(2657),
    [anon_sym_super] = ACTIONS(2657),
    [anon_sym_case] = ACTIONS(2657),
    [anon_sym_fallthrough] = ACTIONS(2657),
    [anon_sym_try] = ACTIONS(2657),
    [anon_sym_PLUS_EQ] = ACTIONS(2659),
    [anon_sym_DASH_EQ] = ACTIONS(2659),
    [anon_sym_STAR_EQ] = ACTIONS(2659),
    [anon_sym_SLASH_EQ] = ACTIONS(2659),
    [anon_sym_PERCENT_EQ] = ACTIONS(2659),
    [anon_sym_BANG_EQ] = ACTIONS(2657),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2659),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2659),
    [anon_sym_LT_EQ] = ACTIONS(2659),
    [anon_sym_GT_EQ] = ACTIONS(2659),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2659),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2659),
    [anon_sym_is] = ACTIONS(2657),
    [anon_sym_PLUS] = ACTIONS(2657),
    [anon_sym_DASH] = ACTIONS(2657),
    [anon_sym_STAR] = ACTIONS(2657),
    [anon_sym_SLASH] = ACTIONS(2657),
    [anon_sym_PERCENT] = ACTIONS(2657),
    [anon_sym_PLUS_PLUS] = ACTIONS(2659),
    [anon_sym_DASH_DASH] = ACTIONS(2659),
    [anon_sym_PIPE] = ACTIONS(2659),
    [anon_sym_CARET] = ACTIONS(2657),
    [anon_sym_LT_LT] = ACTIONS(2659),
    [anon_sym_GT_GT] = ACTIONS(2659),
    [anon_sym_class] = ACTIONS(2657),
    [anon_sym_prefix] = ACTIONS(2657),
    [anon_sym_infix] = ACTIONS(2657),
    [anon_sym_postfix] = ACTIONS(2657),
    [anon_sym_AT] = ACTIONS(2657),
    [anon_sym_override] = ACTIONS(2657),
    [anon_sym_convenience] = ACTIONS(2657),
    [anon_sym_required] = ACTIONS(2657),
    [anon_sym_nonisolated] = ACTIONS(2657),
    [anon_sym_public] = ACTIONS(2657),
    [anon_sym_private] = ACTIONS(2657),
    [anon_sym_internal] = ACTIONS(2657),
    [anon_sym_fileprivate] = ACTIONS(2657),
    [anon_sym_open] = ACTIONS(2657),
    [anon_sym_mutating] = ACTIONS(2657),
    [anon_sym_nonmutating] = ACTIONS(2657),
    [anon_sym_static] = ACTIONS(2657),
    [anon_sym_dynamic] = ACTIONS(2657),
    [anon_sym_optional] = ACTIONS(2657),
    [anon_sym_distributed] = ACTIONS(2657),
    [anon_sym_final] = ACTIONS(2657),
    [anon_sym_inout] = ACTIONS(2657),
    [anon_sym_ATescaping] = ACTIONS(2659),
    [anon_sym_ATautoclosure] = ACTIONS(2659),
    [anon_sym_weak] = ACTIONS(2657),
    [anon_sym_unowned] = ACTIONS(2657),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2659),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2659),
    [anon_sym_borrowing] = ACTIONS(2657),
    [anon_sym_consuming] = ACTIONS(2657),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2659),
    [sym_raw_str_end_part] = ACTIONS(2659),
    [sym__implicit_semi] = ACTIONS(2659),
    [sym__explicit_semi] = ACTIONS(2659),
    [sym__dot_custom] = ACTIONS(2659),
    [sym__conjunction_operator_custom] = ACTIONS(2659),
    [sym__disjunction_operator_custom] = ACTIONS(2659),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2659),
    [sym__eq_custom] = ACTIONS(2659),
    [sym__eq_eq_custom] = ACTIONS(2659),
    [sym__plus_then_ws] = ACTIONS(2659),
    [sym__minus_then_ws] = ACTIONS(2659),
    [sym__bang_custom] = ACTIONS(2659),
    [sym_default_keyword] = ACTIONS(2659),
    [sym__as_custom] = ACTIONS(2659),
    [sym__as_quest_custom] = ACTIONS(2659),
    [sym__as_bang_custom] = ACTIONS(2659),
    [sym__custom_operator] = ACTIONS(2659),
    [sym__hash_symbol_custom] = ACTIONS(2659),
    [sym__directive_if] = ACTIONS(2659),
    [sym__directive_elseif] = ACTIONS(2659),
    [sym__directive_else] = ACTIONS(2659),
    [sym__directive_endif] = ACTIONS(2659),
  },
  [770] = {
    [anon_sym_BANG] = ACTIONS(2687),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2676),
    [aux_sym_simple_identifier_token2] = ACTIONS(2678),
    [aux_sym_simple_identifier_token3] = ACTIONS(2678),
    [aux_sym_simple_identifier_token4] = ACTIONS(2678),
    [anon_sym_actor] = ACTIONS(2676),
    [anon_sym_async] = ACTIONS(2676),
    [anon_sym_each] = ACTIONS(2676),
    [anon_sym_lazy] = ACTIONS(2687),
    [anon_sym_repeat] = ACTIONS(2676),
    [anon_sym_package] = ACTIONS(2687),
    [anon_sym_nil] = ACTIONS(2676),
    [sym_real_literal] = ACTIONS(2678),
    [sym_integer_literal] = ACTIONS(2676),
    [sym_hex_literal] = ACTIONS(2676),
    [sym_oct_literal] = ACTIONS(2678),
    [sym_bin_literal] = ACTIONS(2678),
    [anon_sym_true] = ACTIONS(2676),
    [anon_sym_false] = ACTIONS(2676),
    [anon_sym_DQUOTE] = ACTIONS(2676),
    [anon_sym_BSLASH] = ACTIONS(2678),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2678),
    [anon_sym_COMMA] = ACTIONS(2690),
    [sym__oneline_regex_literal] = ACTIONS(2676),
    [anon_sym_LPAREN] = ACTIONS(2692),
    [anon_sym_LBRACK] = ACTIONS(2692),
    [anon_sym_QMARK] = ACTIONS(2695),
    [anon_sym_QMARK2] = ACTIONS(2690),
    [anon_sym_AMP] = ACTIONS(2692),
    [anon_sym_TILDE] = ACTIONS(2678),
    [anon_sym_if] = ACTIONS(2676),
    [anon_sym_switch] = ACTIONS(2676),
    [aux_sym_custom_operator_token1] = ACTIONS(2692),
    [anon_sym_LT] = ACTIONS(2687),
    [anon_sym_GT] = ACTIONS(2687),
    [anon_sym_await] = ACTIONS(2676),
    [anon_sym_LBRACE] = ACTIONS(2692),
    [anon_sym_CARET_LBRACE] = ACTIONS(2692),
    [anon_sym_RBRACE] = ACTIONS(2690),
    [anon_sym_self] = ACTIONS(2676),
    [anon_sym_super] = ACTIONS(2676),
    [anon_sym_case] = ACTIONS(2695),
    [anon_sym_fallthrough] = ACTIONS(2695),
    [anon_sym_try] = ACTIONS(2676),
    [anon_sym_PLUS_EQ] = ACTIONS(2692),
    [anon_sym_DASH_EQ] = ACTIONS(2692),
    [anon_sym_STAR_EQ] = ACTIONS(2692),
    [anon_sym_SLASH_EQ] = ACTIONS(2692),
    [anon_sym_PERCENT_EQ] = ACTIONS(2692),
    [anon_sym_BANG_EQ] = ACTIONS(2687),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2692),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2692),
    [anon_sym_LT_EQ] = ACTIONS(2692),
    [anon_sym_GT_EQ] = ACTIONS(2692),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2692),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2692),
    [anon_sym_is] = ACTIONS(2695),
    [anon_sym_PLUS] = ACTIONS(2687),
    [anon_sym_DASH] = ACTIONS(2687),
    [anon_sym_STAR] = ACTIONS(2687),
    [anon_sym_SLASH] = ACTIONS(2687),
    [anon_sym_PERCENT] = ACTIONS(2687),
    [anon_sym_PLUS_PLUS] = ACTIONS(2692),
    [anon_sym_DASH_DASH] = ACTIONS(2692),
    [anon_sym_PIPE] = ACTIONS(2692),
    [anon_sym_CARET] = ACTIONS(2687),
    [anon_sym_LT_LT] = ACTIONS(2692),
    [anon_sym_GT_GT] = ACTIONS(2692),
    [anon_sym_class] = ACTIONS(2695),
    [anon_sym_prefix] = ACTIONS(2695),
    [anon_sym_infix] = ACTIONS(2695),
    [anon_sym_postfix] = ACTIONS(2695),
    [anon_sym_AT] = ACTIONS(2695),
    [anon_sym_override] = ACTIONS(2695),
    [anon_sym_convenience] = ACTIONS(2695),
    [anon_sym_required] = ACTIONS(2695),
    [anon_sym_nonisolated] = ACTIONS(2695),
    [anon_sym_public] = ACTIONS(2695),
    [anon_sym_private] = ACTIONS(2695),
    [anon_sym_internal] = ACTIONS(2695),
    [anon_sym_fileprivate] = ACTIONS(2695),
    [anon_sym_open] = ACTIONS(2695),
    [anon_sym_mutating] = ACTIONS(2695),
    [anon_sym_nonmutating] = ACTIONS(2695),
    [anon_sym_static] = ACTIONS(2695),
    [anon_sym_dynamic] = ACTIONS(2695),
    [anon_sym_optional] = ACTIONS(2695),
    [anon_sym_distributed] = ACTIONS(2695),
    [anon_sym_final] = ACTIONS(2695),
    [anon_sym_inout] = ACTIONS(2695),
    [anon_sym_ATescaping] = ACTIONS(2690),
    [anon_sym_ATautoclosure] = ACTIONS(2690),
    [anon_sym_weak] = ACTIONS(2695),
    [anon_sym_unowned] = ACTIONS(2695),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2690),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2690),
    [anon_sym_borrowing] = ACTIONS(2687),
    [anon_sym_consuming] = ACTIONS(2687),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2678),
    [sym_raw_str_end_part] = ACTIONS(2678),
    [sym__implicit_semi] = ACTIONS(2690),
    [sym__explicit_semi] = ACTIONS(2690),
    [sym__dot_custom] = ACTIONS(2692),
    [sym__conjunction_operator_custom] = ACTIONS(2690),
    [sym__disjunction_operator_custom] = ACTIONS(2690),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2690),
    [sym__eq_custom] = ACTIONS(2692),
    [sym__eq_eq_custom] = ACTIONS(2692),
    [sym__plus_then_ws] = ACTIONS(2692),
    [sym__minus_then_ws] = ACTIONS(2692),
    [sym__bang_custom] = ACTIONS(2692),
    [sym_default_keyword] = ACTIONS(2690),
    [sym__as_custom] = ACTIONS(2690),
    [sym__as_quest_custom] = ACTIONS(2690),
    [sym__as_bang_custom] = ACTIONS(2690),
    [sym__custom_operator] = ACTIONS(2692),
    [sym__hash_symbol_custom] = ACTIONS(2678),
    [sym__directive_if] = ACTIONS(2678),
    [sym__directive_elseif] = ACTIONS(2678),
    [sym__directive_else] = ACTIONS(2678),
    [sym__directive_endif] = ACTIONS(2678),
  },
  [771] = {
    [anon_sym_BANG] = ACTIONS(2653),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2653),
    [aux_sym_simple_identifier_token2] = ACTIONS(2655),
    [aux_sym_simple_identifier_token3] = ACTIONS(2655),
    [aux_sym_simple_identifier_token4] = ACTIONS(2655),
    [anon_sym_actor] = ACTIONS(2653),
    [anon_sym_async] = ACTIONS(2653),
    [anon_sym_each] = ACTIONS(2653),
    [anon_sym_lazy] = ACTIONS(2653),
    [anon_sym_repeat] = ACTIONS(2653),
    [anon_sym_package] = ACTIONS(2653),
    [anon_sym_nil] = ACTIONS(2653),
    [sym_real_literal] = ACTIONS(2655),
    [sym_integer_literal] = ACTIONS(2653),
    [sym_hex_literal] = ACTIONS(2653),
    [sym_oct_literal] = ACTIONS(2655),
    [sym_bin_literal] = ACTIONS(2655),
    [anon_sym_true] = ACTIONS(2653),
    [anon_sym_false] = ACTIONS(2653),
    [anon_sym_DQUOTE] = ACTIONS(2653),
    [anon_sym_BSLASH] = ACTIONS(2655),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2655),
    [anon_sym_COMMA] = ACTIONS(2655),
    [sym__oneline_regex_literal] = ACTIONS(2653),
    [anon_sym_LPAREN] = ACTIONS(2655),
    [anon_sym_LBRACK] = ACTIONS(2655),
    [anon_sym_QMARK] = ACTIONS(2653),
    [anon_sym_QMARK2] = ACTIONS(2655),
    [anon_sym_AMP] = ACTIONS(2655),
    [anon_sym_TILDE] = ACTIONS(2655),
    [anon_sym_if] = ACTIONS(2653),
    [anon_sym_switch] = ACTIONS(2653),
    [aux_sym_custom_operator_token1] = ACTIONS(2655),
    [anon_sym_LT] = ACTIONS(2653),
    [anon_sym_GT] = ACTIONS(2653),
    [anon_sym_await] = ACTIONS(2653),
    [anon_sym_LBRACE] = ACTIONS(2655),
    [anon_sym_CARET_LBRACE] = ACTIONS(2655),
    [anon_sym_RBRACE] = ACTIONS(2655),
    [anon_sym_self] = ACTIONS(2653),
    [anon_sym_super] = ACTIONS(2653),
    [anon_sym_case] = ACTIONS(2653),
    [anon_sym_fallthrough] = ACTIONS(2653),
    [anon_sym_try] = ACTIONS(2653),
    [anon_sym_PLUS_EQ] = ACTIONS(2655),
    [anon_sym_DASH_EQ] = ACTIONS(2655),
    [anon_sym_STAR_EQ] = ACTIONS(2655),
    [anon_sym_SLASH_EQ] = ACTIONS(2655),
    [anon_sym_PERCENT_EQ] = ACTIONS(2655),
    [anon_sym_BANG_EQ] = ACTIONS(2653),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2655),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2655),
    [anon_sym_LT_EQ] = ACTIONS(2655),
    [anon_sym_GT_EQ] = ACTIONS(2655),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2655),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2655),
    [anon_sym_is] = ACTIONS(2653),
    [anon_sym_PLUS] = ACTIONS(2653),
    [anon_sym_DASH] = ACTIONS(2653),
    [anon_sym_STAR] = ACTIONS(2653),
    [anon_sym_SLASH] = ACTIONS(2653),
    [anon_sym_PERCENT] = ACTIONS(2653),
    [anon_sym_PLUS_PLUS] = ACTIONS(2655),
    [anon_sym_DASH_DASH] = ACTIONS(2655),
    [anon_sym_PIPE] = ACTIONS(2655),
    [anon_sym_CARET] = ACTIONS(2653),
    [anon_sym_LT_LT] = ACTIONS(2655),
    [anon_sym_GT_GT] = ACTIONS(2655),
    [anon_sym_class] = ACTIONS(2653),
    [anon_sym_prefix] = ACTIONS(2653),
    [anon_sym_infix] = ACTIONS(2653),
    [anon_sym_postfix] = ACTIONS(2653),
    [anon_sym_AT] = ACTIONS(2653),
    [anon_sym_override] = ACTIONS(2653),
    [anon_sym_convenience] = ACTIONS(2653),
    [anon_sym_required] = ACTIONS(2653),
    [anon_sym_nonisolated] = ACTIONS(2653),
    [anon_sym_public] = ACTIONS(2653),
    [anon_sym_private] = ACTIONS(2653),
    [anon_sym_internal] = ACTIONS(2653),
    [anon_sym_fileprivate] = ACTIONS(2653),
    [anon_sym_open] = ACTIONS(2653),
    [anon_sym_mutating] = ACTIONS(2653),
    [anon_sym_nonmutating] = ACTIONS(2653),
    [anon_sym_static] = ACTIONS(2653),
    [anon_sym_dynamic] = ACTIONS(2653),
    [anon_sym_optional] = ACTIONS(2653),
    [anon_sym_distributed] = ACTIONS(2653),
    [anon_sym_final] = ACTIONS(2653),
    [anon_sym_inout] = ACTIONS(2653),
    [anon_sym_ATescaping] = ACTIONS(2655),
    [anon_sym_ATautoclosure] = ACTIONS(2655),
    [anon_sym_weak] = ACTIONS(2653),
    [anon_sym_unowned] = ACTIONS(2653),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2655),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2655),
    [anon_sym_borrowing] = ACTIONS(2653),
    [anon_sym_consuming] = ACTIONS(2653),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2655),
    [sym_raw_str_end_part] = ACTIONS(2655),
    [sym__implicit_semi] = ACTIONS(2655),
    [sym__explicit_semi] = ACTIONS(2655),
    [sym__dot_custom] = ACTIONS(2655),
    [sym__conjunction_operator_custom] = ACTIONS(2655),
    [sym__disjunction_operator_custom] = ACTIONS(2655),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2655),
    [sym__eq_custom] = ACTIONS(2655),
    [sym__eq_eq_custom] = ACTIONS(2655),
    [sym__plus_then_ws] = ACTIONS(2655),
    [sym__minus_then_ws] = ACTIONS(2655),
    [sym__bang_custom] = ACTIONS(2655),
    [sym_default_keyword] = ACTIONS(2655),
    [sym__as_custom] = ACTIONS(2655),
    [sym__as_quest_custom] = ACTIONS(2655),
    [sym__as_bang_custom] = ACTIONS(2655),
    [sym__custom_operator] = ACTIONS(2655),
    [sym__hash_symbol_custom] = ACTIONS(2655),
    [sym__directive_if] = ACTIONS(2655),
    [sym__directive_elseif] = ACTIONS(2655),
    [sym__directive_else] = ACTIONS(2655),
    [sym__directive_endif] = ACTIONS(2655),
  },
  [772] = {
    [anon_sym_BANG] = ACTIONS(2673),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2676),
    [aux_sym_simple_identifier_token2] = ACTIONS(2678),
    [aux_sym_simple_identifier_token3] = ACTIONS(2678),
    [aux_sym_simple_identifier_token4] = ACTIONS(2678),
    [anon_sym_actor] = ACTIONS(2676),
    [anon_sym_async] = ACTIONS(2676),
    [anon_sym_each] = ACTIONS(2676),
    [anon_sym_lazy] = ACTIONS(2673),
    [anon_sym_repeat] = ACTIONS(2676),
    [anon_sym_package] = ACTIONS(2673),
    [anon_sym_nil] = ACTIONS(2676),
    [sym_real_literal] = ACTIONS(2678),
    [sym_integer_literal] = ACTIONS(2676),
    [sym_hex_literal] = ACTIONS(2676),
    [sym_oct_literal] = ACTIONS(2678),
    [sym_bin_literal] = ACTIONS(2678),
    [anon_sym_true] = ACTIONS(2676),
    [anon_sym_false] = ACTIONS(2676),
    [anon_sym_DQUOTE] = ACTIONS(2676),
    [anon_sym_BSLASH] = ACTIONS(2678),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2678),
    [anon_sym_COMMA] = ACTIONS(2680),
    [sym__oneline_regex_literal] = ACTIONS(2676),
    [anon_sym_LPAREN] = ACTIONS(2682),
    [anon_sym_LBRACK] = ACTIONS(2682),
    [anon_sym_QMARK] = ACTIONS(2685),
    [anon_sym_QMARK2] = ACTIONS(2680),
    [anon_sym_AMP] = ACTIONS(2682),
    [anon_sym_TILDE] = ACTIONS(2678),
    [anon_sym_if] = ACTIONS(2676),
    [anon_sym_switch] = ACTIONS(2676),
    [aux_sym_custom_operator_token1] = ACTIONS(2682),
    [anon_sym_LT] = ACTIONS(2673),
    [anon_sym_GT] = ACTIONS(2673),
    [anon_sym_await] = ACTIONS(2676),
    [anon_sym_LBRACE] = ACTIONS(2682),
    [anon_sym_CARET_LBRACE] = ACTIONS(2682),
    [anon_sym_RBRACE] = ACTIONS(2680),
    [anon_sym_self] = ACTIONS(2676),
    [anon_sym_super] = ACTIONS(2676),
    [anon_sym_case] = ACTIONS(2685),
    [anon_sym_fallthrough] = ACTIONS(2685),
    [anon_sym_try] = ACTIONS(2676),
    [anon_sym_PLUS_EQ] = ACTIONS(2682),
    [anon_sym_DASH_EQ] = ACTIONS(2682),
    [anon_sym_STAR_EQ] = ACTIONS(2682),
    [anon_sym_SLASH_EQ] = ACTIONS(2682),
    [anon_sym_PERCENT_EQ] = ACTIONS(2682),
    [anon_sym_BANG_EQ] = ACTIONS(2673),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2682),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2682),
    [anon_sym_LT_EQ] = ACTIONS(2682),
    [anon_sym_GT_EQ] = ACTIONS(2682),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2682),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2682),
    [anon_sym_is] = ACTIONS(2685),
    [anon_sym_PLUS] = ACTIONS(2673),
    [anon_sym_DASH] = ACTIONS(2673),
    [anon_sym_STAR] = ACTIONS(2673),
    [anon_sym_SLASH] = ACTIONS(2673),
    [anon_sym_PERCENT] = ACTIONS(2673),
    [anon_sym_PLUS_PLUS] = ACTIONS(2682),
    [anon_sym_DASH_DASH] = ACTIONS(2682),
    [anon_sym_PIPE] = ACTIONS(2682),
    [anon_sym_CARET] = ACTIONS(2673),
    [anon_sym_LT_LT] = ACTIONS(2682),
    [anon_sym_GT_GT] = ACTIONS(2682),
    [anon_sym_class] = ACTIONS(2685),
    [anon_sym_prefix] = ACTIONS(2685),
    [anon_sym_infix] = ACTIONS(2685),
    [anon_sym_postfix] = ACTIONS(2685),
    [anon_sym_AT] = ACTIONS(2685),
    [anon_sym_override] = ACTIONS(2685),
    [anon_sym_convenience] = ACTIONS(2685),
    [anon_sym_required] = ACTIONS(2685),
    [anon_sym_nonisolated] = ACTIONS(2685),
    [anon_sym_public] = ACTIONS(2685),
    [anon_sym_private] = ACTIONS(2685),
    [anon_sym_internal] = ACTIONS(2685),
    [anon_sym_fileprivate] = ACTIONS(2685),
    [anon_sym_open] = ACTIONS(2685),
    [anon_sym_mutating] = ACTIONS(2685),
    [anon_sym_nonmutating] = ACTIONS(2685),
    [anon_sym_static] = ACTIONS(2685),
    [anon_sym_dynamic] = ACTIONS(2685),
    [anon_sym_optional] = ACTIONS(2685),
    [anon_sym_distributed] = ACTIONS(2685),
    [anon_sym_final] = ACTIONS(2685),
    [anon_sym_inout] = ACTIONS(2685),
    [anon_sym_ATescaping] = ACTIONS(2680),
    [anon_sym_ATautoclosure] = ACTIONS(2680),
    [anon_sym_weak] = ACTIONS(2685),
    [anon_sym_unowned] = ACTIONS(2685),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2680),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2680),
    [anon_sym_borrowing] = ACTIONS(2673),
    [anon_sym_consuming] = ACTIONS(2673),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2678),
    [sym_raw_str_end_part] = ACTIONS(2678),
    [sym__implicit_semi] = ACTIONS(2680),
    [sym__explicit_semi] = ACTIONS(2680),
    [sym__dot_custom] = ACTIONS(2682),
    [sym__conjunction_operator_custom] = ACTIONS(2680),
    [sym__disjunction_operator_custom] = ACTIONS(2680),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2680),
    [sym__eq_custom] = ACTIONS(2682),
    [sym__eq_eq_custom] = ACTIONS(2682),
    [sym__plus_then_ws] = ACTIONS(2682),
    [sym__minus_then_ws] = ACTIONS(2682),
    [sym__bang_custom] = ACTIONS(2682),
    [sym_default_keyword] = ACTIONS(2680),
    [sym__as_custom] = ACTIONS(2680),
    [sym__as_quest_custom] = ACTIONS(2680),
    [sym__as_bang_custom] = ACTIONS(2680),
    [sym__custom_operator] = ACTIONS(2682),
    [sym__hash_symbol_custom] = ACTIONS(2678),
    [sym__directive_if] = ACTIONS(2678),
    [sym__directive_elseif] = ACTIONS(2678),
    [sym__directive_else] = ACTIONS(2678),
    [sym__directive_endif] = ACTIONS(2678),
  },
  [773] = {
    [anon_sym_BANG] = ACTIONS(2665),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2665),
    [aux_sym_simple_identifier_token2] = ACTIONS(2667),
    [aux_sym_simple_identifier_token3] = ACTIONS(2667),
    [aux_sym_simple_identifier_token4] = ACTIONS(2667),
    [anon_sym_actor] = ACTIONS(2665),
    [anon_sym_async] = ACTIONS(2665),
    [anon_sym_each] = ACTIONS(2665),
    [anon_sym_lazy] = ACTIONS(2665),
    [anon_sym_repeat] = ACTIONS(2665),
    [anon_sym_package] = ACTIONS(2665),
    [anon_sym_nil] = ACTIONS(2665),
    [sym_real_literal] = ACTIONS(2667),
    [sym_integer_literal] = ACTIONS(2665),
    [sym_hex_literal] = ACTIONS(2665),
    [sym_oct_literal] = ACTIONS(2667),
    [sym_bin_literal] = ACTIONS(2667),
    [anon_sym_true] = ACTIONS(2665),
    [anon_sym_false] = ACTIONS(2665),
    [anon_sym_DQUOTE] = ACTIONS(2665),
    [anon_sym_BSLASH] = ACTIONS(2667),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2667),
    [anon_sym_COMMA] = ACTIONS(2697),
    [sym__oneline_regex_literal] = ACTIONS(2665),
    [anon_sym_LPAREN] = ACTIONS(2667),
    [anon_sym_LBRACK] = ACTIONS(2667),
    [anon_sym_QMARK] = ACTIONS(2699),
    [anon_sym_QMARK2] = ACTIONS(2697),
    [anon_sym_AMP] = ACTIONS(2667),
    [anon_sym_TILDE] = ACTIONS(2667),
    [anon_sym_if] = ACTIONS(2665),
    [anon_sym_switch] = ACTIONS(2665),
    [aux_sym_custom_operator_token1] = ACTIONS(2667),
    [anon_sym_LT] = ACTIONS(2665),
    [anon_sym_GT] = ACTIONS(2665),
    [anon_sym_await] = ACTIONS(2665),
    [anon_sym_LBRACE] = ACTIONS(2667),
    [anon_sym_CARET_LBRACE] = ACTIONS(2667),
    [anon_sym_RBRACE] = ACTIONS(2697),
    [anon_sym_self] = ACTIONS(2665),
    [anon_sym_super] = ACTIONS(2665),
    [anon_sym_case] = ACTIONS(2699),
    [anon_sym_fallthrough] = ACTIONS(2699),
    [anon_sym_try] = ACTIONS(2665),
    [anon_sym_PLUS_EQ] = ACTIONS(2667),
    [anon_sym_DASH_EQ] = ACTIONS(2667),
    [anon_sym_STAR_EQ] = ACTIONS(2667),
    [anon_sym_SLASH_EQ] = ACTIONS(2667),
    [anon_sym_PERCENT_EQ] = ACTIONS(2667),
    [anon_sym_BANG_EQ] = ACTIONS(2665),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2667),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2667),
    [anon_sym_LT_EQ] = ACTIONS(2667),
    [anon_sym_GT_EQ] = ACTIONS(2667),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2667),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2667),
    [anon_sym_is] = ACTIONS(2699),
    [anon_sym_PLUS] = ACTIONS(2665),
    [anon_sym_DASH] = ACTIONS(2665),
    [anon_sym_STAR] = ACTIONS(2665),
    [anon_sym_SLASH] = ACTIONS(2665),
    [anon_sym_PERCENT] = ACTIONS(2665),
    [anon_sym_PLUS_PLUS] = ACTIONS(2667),
    [anon_sym_DASH_DASH] = ACTIONS(2667),
    [anon_sym_PIPE] = ACTIONS(2667),
    [anon_sym_CARET] = ACTIONS(2665),
    [anon_sym_LT_LT] = ACTIONS(2667),
    [anon_sym_GT_GT] = ACTIONS(2667),
    [anon_sym_class] = ACTIONS(2699),
    [anon_sym_prefix] = ACTIONS(2699),
    [anon_sym_infix] = ACTIONS(2699),
    [anon_sym_postfix] = ACTIONS(2699),
    [anon_sym_AT] = ACTIONS(2699),
    [anon_sym_override] = ACTIONS(2699),
    [anon_sym_convenience] = ACTIONS(2699),
    [anon_sym_required] = ACTIONS(2699),
    [anon_sym_nonisolated] = ACTIONS(2699),
    [anon_sym_public] = ACTIONS(2699),
    [anon_sym_private] = ACTIONS(2699),
    [anon_sym_internal] = ACTIONS(2699),
    [anon_sym_fileprivate] = ACTIONS(2699),
    [anon_sym_open] = ACTIONS(2699),
    [anon_sym_mutating] = ACTIONS(2699),
    [anon_sym_nonmutating] = ACTIONS(2699),
    [anon_sym_static] = ACTIONS(2699),
    [anon_sym_dynamic] = ACTIONS(2699),
    [anon_sym_optional] = ACTIONS(2699),
    [anon_sym_distributed] = ACTIONS(2699),
    [anon_sym_final] = ACTIONS(2699),
    [anon_sym_inout] = ACTIONS(2699),
    [anon_sym_ATescaping] = ACTIONS(2697),
    [anon_sym_ATautoclosure] = ACTIONS(2697),
    [anon_sym_weak] = ACTIONS(2699),
    [anon_sym_unowned] = ACTIONS(2699),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2697),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2697),
    [anon_sym_borrowing] = ACTIONS(2665),
    [anon_sym_consuming] = ACTIONS(2665),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2667),
    [sym_raw_str_end_part] = ACTIONS(2667),
    [sym__implicit_semi] = ACTIONS(2697),
    [sym__explicit_semi] = ACTIONS(2697),
    [sym__dot_custom] = ACTIONS(2667),
    [sym__conjunction_operator_custom] = ACTIONS(2697),
    [sym__disjunction_operator_custom] = ACTIONS(2697),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2697),
    [sym__eq_custom] = ACTIONS(2667),
    [sym__eq_eq_custom] = ACTIONS(2667),
    [sym__plus_then_ws] = ACTIONS(2667),
    [sym__minus_then_ws] = ACTIONS(2667),
    [sym__bang_custom] = ACTIONS(2667),
    [sym_default_keyword] = ACTIONS(2697),
    [sym__as_custom] = ACTIONS(2697),
    [sym__as_quest_custom] = ACTIONS(2697),
    [sym__as_bang_custom] = ACTIONS(2697),
    [sym__custom_operator] = ACTIONS(2667),
    [sym__hash_symbol_custom] = ACTIONS(2667),
    [sym__directive_if] = ACTIONS(2667),
    [sym__directive_elseif] = ACTIONS(2667),
    [sym__directive_else] = ACTIONS(2667),
    [sym__directive_endif] = ACTIONS(2667),
  },
  [774] = {
    [sym__quest] = STATE(636),
    [sym__immediate_quest] = STATE(1304),
    [sym__range_operator] = STATE(461),
    [sym_custom_operator] = STATE(471),
    [sym_navigation_suffix] = STATE(1235),
    [sym_call_suffix] = STATE(1243),
    [sym__fn_call_lambda_arguments] = STATE(1253),
    [sym_value_arguments] = STATE(1152),
    [sym_expr_hack_at_ternary_binary_call_suffix] = STATE(1249),
    [sym_lambda_literal] = STATE(996),
    [sym__equality_operator] = STATE(485),
    [sym__comparison_operator] = STATE(490),
    [sym__three_dot_operator] = STATE(758),
    [sym__open_ended_range_operator] = STATE(461),
    [sym__is_operator] = STATE(4172),
    [sym__additive_operator] = STATE(689),
    [sym__multiplicative_operator] = STATE(685),
    [sym_as_operator] = STATE(4185),
    [sym__bitwise_binary_operator] = STATE(414),
    [sym__postfix_unary_operator] = STATE(1341),
    [sym__eq_eq] = STATE(485),
    [sym__dot] = STATE(5398),
    [sym__conjunction_operator] = STATE(425),
    [sym__disjunction_operator] = STATE(427),
    [sym__nil_coalescing_operator] = STATE(434),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(1341),
    [anon_sym_BANG] = ACTIONS(2853),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2703),
    [anon_sym_package] = ACTIONS(2703),
    [anon_sym_COMMA] = ACTIONS(2703),
    [anon_sym_LPAREN] = ACTIONS(2855),
    [anon_sym_LBRACK] = ACTIONS(2857),
    [anon_sym_QMARK] = ACTIONS(2709),
    [anon_sym_QMARK2] = ACTIONS(2859),
    [anon_sym_AMP] = ACTIONS(2861),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2863),
    [anon_sym_GT] = ACTIONS(2863),
    [anon_sym_LBRACE] = ACTIONS(2703),
    [anon_sym_CARET_LBRACE] = ACTIONS(2703),
    [anon_sym_RBRACE] = ACTIONS(2703),
    [anon_sym_case] = ACTIONS(2703),
    [anon_sym_fallthrough] = ACTIONS(2703),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(2865),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2867),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2867),
    [anon_sym_LT_EQ] = ACTIONS(2869),
    [anon_sym_GT_EQ] = ACTIONS(2869),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(703),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2871),
    [anon_sym_is] = ACTIONS(2873),
    [anon_sym_PLUS] = ACTIONS(2875),
    [anon_sym_DASH] = ACTIONS(2875),
    [anon_sym_STAR] = ACTIONS(2877),
    [anon_sym_SLASH] = ACTIONS(2877),
    [anon_sym_PERCENT] = ACTIONS(2877),
    [anon_sym_PLUS_PLUS] = ACTIONS(2879),
    [anon_sym_DASH_DASH] = ACTIONS(2879),
    [anon_sym_PIPE] = ACTIONS(2861),
    [anon_sym_CARET] = ACTIONS(2881),
    [anon_sym_LT_LT] = ACTIONS(2861),
    [anon_sym_GT_GT] = ACTIONS(2861),
    [anon_sym_class] = ACTIONS(2703),
    [anon_sym_prefix] = ACTIONS(2703),
    [anon_sym_infix] = ACTIONS(2703),
    [anon_sym_postfix] = ACTIONS(2703),
    [anon_sym_AT] = ACTIONS(2709),
    [anon_sym_override] = ACTIONS(2703),
    [anon_sym_convenience] = ACTIONS(2703),
    [anon_sym_required] = ACTIONS(2703),
    [anon_sym_nonisolated] = ACTIONS(2703),
    [anon_sym_public] = ACTIONS(2703),
    [anon_sym_private] = ACTIONS(2703),
    [anon_sym_internal] = ACTIONS(2703),
    [anon_sym_fileprivate] = ACTIONS(2703),
    [anon_sym_open] = ACTIONS(2703),
    [anon_sym_mutating] = ACTIONS(2703),
    [anon_sym_nonmutating] = ACTIONS(2703),
    [anon_sym_static] = ACTIONS(2703),
    [anon_sym_dynamic] = ACTIONS(2703),
    [anon_sym_optional] = ACTIONS(2703),
    [anon_sym_distributed] = ACTIONS(2703),
    [anon_sym_final] = ACTIONS(2703),
    [anon_sym_inout] = ACTIONS(2703),
    [anon_sym_ATescaping] = ACTIONS(2703),
    [anon_sym_ATautoclosure] = ACTIONS(2703),
    [anon_sym_weak] = ACTIONS(2703),
    [anon_sym_unowned] = ACTIONS(2709),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2703),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2703),
    [anon_sym_borrowing] = ACTIONS(2703),
    [anon_sym_consuming] = ACTIONS(2703),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2703),
    [sym__explicit_semi] = ACTIONS(2703),
    [sym__dot_custom] = ACTIONS(2883),
    [sym__conjunction_operator_custom] = ACTIONS(2885),
    [sym__disjunction_operator_custom] = ACTIONS(2887),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2889),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(2867),
    [sym__plus_then_ws] = ACTIONS(2891),
    [sym__minus_then_ws] = ACTIONS(2891),
    [sym__bang_custom] = ACTIONS(2893),
    [sym_default_keyword] = ACTIONS(2703),
    [sym_where_keyword] = ACTIONS(2703),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [775] = {
    [sym__quest] = STATE(636),
    [sym__immediate_quest] = STATE(1304),
    [sym__range_operator] = STATE(461),
    [sym_custom_operator] = STATE(471),
    [sym_navigation_suffix] = STATE(1235),
    [sym_call_suffix] = STATE(1243),
    [sym__fn_call_lambda_arguments] = STATE(1253),
    [sym_value_arguments] = STATE(1176),
    [sym_lambda_literal] = STATE(996),
    [sym_where_clause] = STATE(4509),
    [sym__equality_operator] = STATE(485),
    [sym__comparison_operator] = STATE(490),
    [sym__three_dot_operator] = STATE(758),
    [sym__open_ended_range_operator] = STATE(461),
    [sym__is_operator] = STATE(4172),
    [sym__additive_operator] = STATE(689),
    [sym__multiplicative_operator] = STATE(685),
    [sym_as_operator] = STATE(4185),
    [sym__bitwise_binary_operator] = STATE(414),
    [sym__postfix_unary_operator] = STATE(1341),
    [sym__eq_eq] = STATE(485),
    [sym__dot] = STATE(5398),
    [sym__conjunction_operator] = STATE(425),
    [sym__disjunction_operator] = STATE(427),
    [sym__nil_coalescing_operator] = STATE(434),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(1341),
    [anon_sym_BANG] = ACTIONS(2853),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2895),
    [anon_sym_package] = ACTIONS(2895),
    [anon_sym_COMMA] = ACTIONS(2895),
    [anon_sym_LPAREN] = ACTIONS(2855),
    [anon_sym_LBRACK] = ACTIONS(2857),
    [anon_sym_QMARK] = ACTIONS(2897),
    [anon_sym_QMARK2] = ACTIONS(2859),
    [anon_sym_AMP] = ACTIONS(2861),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2863),
    [anon_sym_GT] = ACTIONS(2863),
    [anon_sym_LBRACE] = ACTIONS(2899),
    [anon_sym_CARET_LBRACE] = ACTIONS(2899),
    [anon_sym_RBRACE] = ACTIONS(2895),
    [anon_sym_case] = ACTIONS(2895),
    [anon_sym_fallthrough] = ACTIONS(2895),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(2865),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2867),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2867),
    [anon_sym_LT_EQ] = ACTIONS(2869),
    [anon_sym_GT_EQ] = ACTIONS(2869),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(703),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2871),
    [anon_sym_is] = ACTIONS(2873),
    [anon_sym_PLUS] = ACTIONS(2875),
    [anon_sym_DASH] = ACTIONS(2875),
    [anon_sym_STAR] = ACTIONS(2877),
    [anon_sym_SLASH] = ACTIONS(2877),
    [anon_sym_PERCENT] = ACTIONS(2877),
    [anon_sym_PLUS_PLUS] = ACTIONS(2879),
    [anon_sym_DASH_DASH] = ACTIONS(2879),
    [anon_sym_PIPE] = ACTIONS(2861),
    [anon_sym_CARET] = ACTIONS(2881),
    [anon_sym_LT_LT] = ACTIONS(2861),
    [anon_sym_GT_GT] = ACTIONS(2861),
    [anon_sym_class] = ACTIONS(2895),
    [anon_sym_prefix] = ACTIONS(2895),
    [anon_sym_infix] = ACTIONS(2895),
    [anon_sym_postfix] = ACTIONS(2895),
    [anon_sym_AT] = ACTIONS(2901),
    [anon_sym_override] = ACTIONS(2895),
    [anon_sym_convenience] = ACTIONS(2895),
    [anon_sym_required] = ACTIONS(2895),
    [anon_sym_nonisolated] = ACTIONS(2895),
    [anon_sym_public] = ACTIONS(2895),
    [anon_sym_private] = ACTIONS(2895),
    [anon_sym_internal] = ACTIONS(2895),
    [anon_sym_fileprivate] = ACTIONS(2895),
    [anon_sym_open] = ACTIONS(2895),
    [anon_sym_mutating] = ACTIONS(2895),
    [anon_sym_nonmutating] = ACTIONS(2895),
    [anon_sym_static] = ACTIONS(2895),
    [anon_sym_dynamic] = ACTIONS(2895),
    [anon_sym_optional] = ACTIONS(2895),
    [anon_sym_distributed] = ACTIONS(2895),
    [anon_sym_final] = ACTIONS(2895),
    [anon_sym_inout] = ACTIONS(2895),
    [anon_sym_ATescaping] = ACTIONS(2895),
    [anon_sym_ATautoclosure] = ACTIONS(2895),
    [anon_sym_weak] = ACTIONS(2895),
    [anon_sym_unowned] = ACTIONS(2901),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2895),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2895),
    [anon_sym_borrowing] = ACTIONS(2895),
    [anon_sym_consuming] = ACTIONS(2895),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2895),
    [sym__explicit_semi] = ACTIONS(2895),
    [sym__dot_custom] = ACTIONS(2883),
    [sym__conjunction_operator_custom] = ACTIONS(2885),
    [sym__disjunction_operator_custom] = ACTIONS(2887),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2889),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(2867),
    [sym__plus_then_ws] = ACTIONS(2891),
    [sym__minus_then_ws] = ACTIONS(2891),
    [sym__bang_custom] = ACTIONS(2893),
    [sym_default_keyword] = ACTIONS(2895),
    [sym_where_keyword] = ACTIONS(2903),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [776] = {
    [sym__quest] = STATE(636),
    [sym__immediate_quest] = STATE(1304),
    [sym__range_operator] = STATE(461),
    [sym_custom_operator] = STATE(471),
    [sym_navigation_suffix] = STATE(1235),
    [sym_call_suffix] = STATE(1243),
    [sym__fn_call_lambda_arguments] = STATE(1253),
    [sym_value_arguments] = STATE(1176),
    [sym_lambda_literal] = STATE(996),
    [sym__equality_operator] = STATE(485),
    [sym__comparison_operator] = STATE(490),
    [sym__three_dot_operator] = STATE(758),
    [sym__open_ended_range_operator] = STATE(461),
    [sym__is_operator] = STATE(4172),
    [sym__additive_operator] = STATE(689),
    [sym__multiplicative_operator] = STATE(685),
    [sym_as_operator] = STATE(4185),
    [sym__bitwise_binary_operator] = STATE(414),
    [sym__postfix_unary_operator] = STATE(1341),
    [sym__eq_eq] = STATE(485),
    [sym__dot] = STATE(5398),
    [sym__conjunction_operator] = STATE(425),
    [sym__disjunction_operator] = STATE(427),
    [sym__nil_coalescing_operator] = STATE(434),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(1341),
    [anon_sym_BANG] = ACTIONS(2853),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2765),
    [anon_sym_package] = ACTIONS(2765),
    [anon_sym_COMMA] = ACTIONS(2765),
    [anon_sym_LPAREN] = ACTIONS(2765),
    [anon_sym_LBRACK] = ACTIONS(2765),
    [anon_sym_QMARK] = ACTIONS(2767),
    [anon_sym_QMARK2] = ACTIONS(2765),
    [anon_sym_AMP] = ACTIONS(2765),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2767),
    [anon_sym_GT] = ACTIONS(2767),
    [anon_sym_LBRACE] = ACTIONS(2765),
    [anon_sym_CARET_LBRACE] = ACTIONS(2765),
    [anon_sym_RBRACE] = ACTIONS(2765),
    [anon_sym_case] = ACTIONS(2765),
    [anon_sym_fallthrough] = ACTIONS(2765),
    [anon_sym_PLUS_EQ] = ACTIONS(2765),
    [anon_sym_DASH_EQ] = ACTIONS(2765),
    [anon_sym_STAR_EQ] = ACTIONS(2765),
    [anon_sym_SLASH_EQ] = ACTIONS(2765),
    [anon_sym_PERCENT_EQ] = ACTIONS(2765),
    [anon_sym_BANG_EQ] = ACTIONS(2865),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2867),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2867),
    [anon_sym_LT_EQ] = ACTIONS(2765),
    [anon_sym_GT_EQ] = ACTIONS(2765),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2765),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2765),
    [anon_sym_is] = ACTIONS(2873),
    [anon_sym_PLUS] = ACTIONS(2875),
    [anon_sym_DASH] = ACTIONS(2875),
    [anon_sym_STAR] = ACTIONS(2877),
    [anon_sym_SLASH] = ACTIONS(2877),
    [anon_sym_PERCENT] = ACTIONS(2877),
    [anon_sym_PLUS_PLUS] = ACTIONS(2879),
    [anon_sym_DASH_DASH] = ACTIONS(2879),
    [anon_sym_PIPE] = ACTIONS(2765),
    [anon_sym_CARET] = ACTIONS(2767),
    [anon_sym_LT_LT] = ACTIONS(2765),
    [anon_sym_GT_GT] = ACTIONS(2765),
    [anon_sym_class] = ACTIONS(2765),
    [anon_sym_prefix] = ACTIONS(2765),
    [anon_sym_infix] = ACTIONS(2765),
    [anon_sym_postfix] = ACTIONS(2765),
    [anon_sym_AT] = ACTIONS(2767),
    [anon_sym_override] = ACTIONS(2765),
    [anon_sym_convenience] = ACTIONS(2765),
    [anon_sym_required] = ACTIONS(2765),
    [anon_sym_nonisolated] = ACTIONS(2765),
    [anon_sym_public] = ACTIONS(2765),
    [anon_sym_private] = ACTIONS(2765),
    [anon_sym_internal] = ACTIONS(2765),
    [anon_sym_fileprivate] = ACTIONS(2765),
    [anon_sym_open] = ACTIONS(2765),
    [anon_sym_mutating] = ACTIONS(2765),
    [anon_sym_nonmutating] = ACTIONS(2765),
    [anon_sym_static] = ACTIONS(2765),
    [anon_sym_dynamic] = ACTIONS(2765),
    [anon_sym_optional] = ACTIONS(2765),
    [anon_sym_distributed] = ACTIONS(2765),
    [anon_sym_final] = ACTIONS(2765),
    [anon_sym_inout] = ACTIONS(2765),
    [anon_sym_ATescaping] = ACTIONS(2765),
    [anon_sym_ATautoclosure] = ACTIONS(2765),
    [anon_sym_weak] = ACTIONS(2765),
    [anon_sym_unowned] = ACTIONS(2767),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2765),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2765),
    [anon_sym_borrowing] = ACTIONS(2765),
    [anon_sym_consuming] = ACTIONS(2765),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2765),
    [sym__explicit_semi] = ACTIONS(2765),
    [sym__dot_custom] = ACTIONS(2765),
    [sym__conjunction_operator_custom] = ACTIONS(2885),
    [sym__disjunction_operator_custom] = ACTIONS(2887),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2889),
    [sym__eq_custom] = ACTIONS(2765),
    [sym__eq_eq_custom] = ACTIONS(2867),
    [sym__plus_then_ws] = ACTIONS(2891),
    [sym__minus_then_ws] = ACTIONS(2891),
    [sym__bang_custom] = ACTIONS(2893),
    [sym_default_keyword] = ACTIONS(2765),
    [sym_where_keyword] = ACTIONS(2765),
    [sym__as_custom] = ACTIONS(2765),
    [sym__as_quest_custom] = ACTIONS(2765),
    [sym__as_bang_custom] = ACTIONS(2765),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [777] = {
    [sym__quest] = STATE(636),
    [sym__immediate_quest] = STATE(1304),
    [sym__range_operator] = STATE(461),
    [sym_custom_operator] = STATE(471),
    [sym_navigation_suffix] = STATE(1235),
    [sym_call_suffix] = STATE(1243),
    [sym__fn_call_lambda_arguments] = STATE(1253),
    [sym_value_arguments] = STATE(1176),
    [sym_lambda_literal] = STATE(996),
    [sym__equality_operator] = STATE(485),
    [sym__comparison_operator] = STATE(490),
    [sym__three_dot_operator] = STATE(758),
    [sym__open_ended_range_operator] = STATE(461),
    [sym__is_operator] = STATE(4172),
    [sym__additive_operator] = STATE(689),
    [sym__multiplicative_operator] = STATE(685),
    [sym_as_operator] = STATE(4185),
    [sym__bitwise_binary_operator] = STATE(414),
    [sym__postfix_unary_operator] = STATE(1341),
    [sym__eq_eq] = STATE(485),
    [sym__dot] = STATE(5398),
    [sym__conjunction_operator] = STATE(425),
    [sym__disjunction_operator] = STATE(427),
    [sym__nil_coalescing_operator] = STATE(434),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(1341),
    [anon_sym_BANG] = ACTIONS(2761),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2763),
    [anon_sym_package] = ACTIONS(2763),
    [anon_sym_COMMA] = ACTIONS(2763),
    [anon_sym_LPAREN] = ACTIONS(2763),
    [anon_sym_LBRACK] = ACTIONS(2763),
    [anon_sym_QMARK] = ACTIONS(2761),
    [anon_sym_QMARK2] = ACTIONS(2763),
    [anon_sym_AMP] = ACTIONS(2763),
    [aux_sym_custom_operator_token1] = ACTIONS(2763),
    [anon_sym_LT] = ACTIONS(2761),
    [anon_sym_GT] = ACTIONS(2761),
    [anon_sym_LBRACE] = ACTIONS(2763),
    [anon_sym_CARET_LBRACE] = ACTIONS(2763),
    [anon_sym_RBRACE] = ACTIONS(2763),
    [anon_sym_case] = ACTIONS(2763),
    [anon_sym_fallthrough] = ACTIONS(2763),
    [anon_sym_PLUS_EQ] = ACTIONS(2763),
    [anon_sym_DASH_EQ] = ACTIONS(2763),
    [anon_sym_STAR_EQ] = ACTIONS(2763),
    [anon_sym_SLASH_EQ] = ACTIONS(2763),
    [anon_sym_PERCENT_EQ] = ACTIONS(2763),
    [anon_sym_BANG_EQ] = ACTIONS(2761),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2763),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2763),
    [anon_sym_LT_EQ] = ACTIONS(2763),
    [anon_sym_GT_EQ] = ACTIONS(2763),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2763),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2763),
    [anon_sym_is] = ACTIONS(2763),
    [anon_sym_PLUS] = ACTIONS(2761),
    [anon_sym_DASH] = ACTIONS(2761),
    [anon_sym_STAR] = ACTIONS(2877),
    [anon_sym_SLASH] = ACTIONS(2877),
    [anon_sym_PERCENT] = ACTIONS(2877),
    [anon_sym_PLUS_PLUS] = ACTIONS(2763),
    [anon_sym_DASH_DASH] = ACTIONS(2763),
    [anon_sym_PIPE] = ACTIONS(2763),
    [anon_sym_CARET] = ACTIONS(2761),
    [anon_sym_LT_LT] = ACTIONS(2763),
    [anon_sym_GT_GT] = ACTIONS(2763),
    [anon_sym_class] = ACTIONS(2763),
    [anon_sym_prefix] = ACTIONS(2763),
    [anon_sym_infix] = ACTIONS(2763),
    [anon_sym_postfix] = ACTIONS(2763),
    [anon_sym_AT] = ACTIONS(2761),
    [anon_sym_override] = ACTIONS(2763),
    [anon_sym_convenience] = ACTIONS(2763),
    [anon_sym_required] = ACTIONS(2763),
    [anon_sym_nonisolated] = ACTIONS(2763),
    [anon_sym_public] = ACTIONS(2763),
    [anon_sym_private] = ACTIONS(2763),
    [anon_sym_internal] = ACTIONS(2763),
    [anon_sym_fileprivate] = ACTIONS(2763),
    [anon_sym_open] = ACTIONS(2763),
    [anon_sym_mutating] = ACTIONS(2763),
    [anon_sym_nonmutating] = ACTIONS(2763),
    [anon_sym_static] = ACTIONS(2763),
    [anon_sym_dynamic] = ACTIONS(2763),
    [anon_sym_optional] = ACTIONS(2763),
    [anon_sym_distributed] = ACTIONS(2763),
    [anon_sym_final] = ACTIONS(2763),
    [anon_sym_inout] = ACTIONS(2763),
    [anon_sym_ATescaping] = ACTIONS(2763),
    [anon_sym_ATautoclosure] = ACTIONS(2763),
    [anon_sym_weak] = ACTIONS(2763),
    [anon_sym_unowned] = ACTIONS(2761),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2763),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2763),
    [anon_sym_borrowing] = ACTIONS(2763),
    [anon_sym_consuming] = ACTIONS(2763),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2763),
    [sym__explicit_semi] = ACTIONS(2763),
    [sym__dot_custom] = ACTIONS(2763),
    [sym__conjunction_operator_custom] = ACTIONS(2763),
    [sym__disjunction_operator_custom] = ACTIONS(2763),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2763),
    [sym__eq_custom] = ACTIONS(2763),
    [sym__eq_eq_custom] = ACTIONS(2763),
    [sym__plus_then_ws] = ACTIONS(2763),
    [sym__minus_then_ws] = ACTIONS(2763),
    [sym__bang_custom] = ACTIONS(2763),
    [sym_default_keyword] = ACTIONS(2763),
    [sym_where_keyword] = ACTIONS(2763),
    [sym__as_custom] = ACTIONS(2763),
    [sym__as_quest_custom] = ACTIONS(2763),
    [sym__as_bang_custom] = ACTIONS(2763),
    [sym__custom_operator] = ACTIONS(2763),
  },
  [778] = {
    [sym__quest] = STATE(636),
    [sym__immediate_quest] = STATE(1304),
    [sym__range_operator] = STATE(461),
    [sym_custom_operator] = STATE(471),
    [sym_navigation_suffix] = STATE(1235),
    [sym_call_suffix] = STATE(1243),
    [sym__fn_call_lambda_arguments] = STATE(1253),
    [sym_value_arguments] = STATE(1176),
    [sym_lambda_literal] = STATE(996),
    [sym__equality_operator] = STATE(485),
    [sym__comparison_operator] = STATE(490),
    [sym__three_dot_operator] = STATE(758),
    [sym__open_ended_range_operator] = STATE(461),
    [sym__is_operator] = STATE(4172),
    [sym__additive_operator] = STATE(689),
    [sym__multiplicative_operator] = STATE(685),
    [sym_as_operator] = STATE(4185),
    [sym__bitwise_binary_operator] = STATE(414),
    [sym__postfix_unary_operator] = STATE(1341),
    [sym__eq_eq] = STATE(485),
    [sym__dot] = STATE(5398),
    [sym__conjunction_operator] = STATE(425),
    [sym__disjunction_operator] = STATE(427),
    [sym__nil_coalescing_operator] = STATE(434),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(1341),
    [anon_sym_BANG] = ACTIONS(2853),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2779),
    [anon_sym_package] = ACTIONS(2779),
    [anon_sym_COMMA] = ACTIONS(2779),
    [anon_sym_LPAREN] = ACTIONS(2855),
    [anon_sym_LBRACK] = ACTIONS(2857),
    [anon_sym_QMARK] = ACTIONS(2897),
    [anon_sym_QMARK2] = ACTIONS(2859),
    [anon_sym_AMP] = ACTIONS(2861),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2863),
    [anon_sym_GT] = ACTIONS(2863),
    [anon_sym_LBRACE] = ACTIONS(2899),
    [anon_sym_CARET_LBRACE] = ACTIONS(2899),
    [anon_sym_RBRACE] = ACTIONS(2779),
    [anon_sym_case] = ACTIONS(2779),
    [anon_sym_fallthrough] = ACTIONS(2779),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(2865),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2867),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2867),
    [anon_sym_LT_EQ] = ACTIONS(2869),
    [anon_sym_GT_EQ] = ACTIONS(2869),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(703),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2871),
    [anon_sym_is] = ACTIONS(2873),
    [anon_sym_PLUS] = ACTIONS(2875),
    [anon_sym_DASH] = ACTIONS(2875),
    [anon_sym_STAR] = ACTIONS(2877),
    [anon_sym_SLASH] = ACTIONS(2877),
    [anon_sym_PERCENT] = ACTIONS(2877),
    [anon_sym_PLUS_PLUS] = ACTIONS(2879),
    [anon_sym_DASH_DASH] = ACTIONS(2879),
    [anon_sym_PIPE] = ACTIONS(2861),
    [anon_sym_CARET] = ACTIONS(2881),
    [anon_sym_LT_LT] = ACTIONS(2861),
    [anon_sym_GT_GT] = ACTIONS(2861),
    [anon_sym_class] = ACTIONS(2779),
    [anon_sym_prefix] = ACTIONS(2779),
    [anon_sym_infix] = ACTIONS(2779),
    [anon_sym_postfix] = ACTIONS(2779),
    [anon_sym_AT] = ACTIONS(2781),
    [anon_sym_override] = ACTIONS(2779),
    [anon_sym_convenience] = ACTIONS(2779),
    [anon_sym_required] = ACTIONS(2779),
    [anon_sym_nonisolated] = ACTIONS(2779),
    [anon_sym_public] = ACTIONS(2779),
    [anon_sym_private] = ACTIONS(2779),
    [anon_sym_internal] = ACTIONS(2779),
    [anon_sym_fileprivate] = ACTIONS(2779),
    [anon_sym_open] = ACTIONS(2779),
    [anon_sym_mutating] = ACTIONS(2779),
    [anon_sym_nonmutating] = ACTIONS(2779),
    [anon_sym_static] = ACTIONS(2779),
    [anon_sym_dynamic] = ACTIONS(2779),
    [anon_sym_optional] = ACTIONS(2779),
    [anon_sym_distributed] = ACTIONS(2779),
    [anon_sym_final] = ACTIONS(2779),
    [anon_sym_inout] = ACTIONS(2779),
    [anon_sym_ATescaping] = ACTIONS(2779),
    [anon_sym_ATautoclosure] = ACTIONS(2779),
    [anon_sym_weak] = ACTIONS(2779),
    [anon_sym_unowned] = ACTIONS(2781),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2779),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2779),
    [anon_sym_borrowing] = ACTIONS(2779),
    [anon_sym_consuming] = ACTIONS(2779),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2779),
    [sym__explicit_semi] = ACTIONS(2779),
    [sym__dot_custom] = ACTIONS(2883),
    [sym__conjunction_operator_custom] = ACTIONS(2885),
    [sym__disjunction_operator_custom] = ACTIONS(2887),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2889),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(2867),
    [sym__plus_then_ws] = ACTIONS(2891),
    [sym__minus_then_ws] = ACTIONS(2891),
    [sym__bang_custom] = ACTIONS(2893),
    [sym_default_keyword] = ACTIONS(2779),
    [sym_where_keyword] = ACTIONS(2779),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [779] = {
    [sym__quest] = STATE(636),
    [sym__immediate_quest] = STATE(1304),
    [sym__range_operator] = STATE(461),
    [sym_custom_operator] = STATE(471),
    [sym_navigation_suffix] = STATE(1235),
    [sym_call_suffix] = STATE(1243),
    [sym__fn_call_lambda_arguments] = STATE(1253),
    [sym_value_arguments] = STATE(1176),
    [sym_lambda_literal] = STATE(996),
    [sym__equality_operator] = STATE(485),
    [sym__comparison_operator] = STATE(490),
    [sym__three_dot_operator] = STATE(758),
    [sym__open_ended_range_operator] = STATE(461),
    [sym__is_operator] = STATE(4172),
    [sym__additive_operator] = STATE(689),
    [sym__multiplicative_operator] = STATE(685),
    [sym_as_operator] = STATE(4185),
    [sym__bitwise_binary_operator] = STATE(414),
    [sym__postfix_unary_operator] = STATE(1341),
    [sym__eq_eq] = STATE(485),
    [sym__dot] = STATE(5398),
    [sym__conjunction_operator] = STATE(425),
    [sym__disjunction_operator] = STATE(427),
    [sym__nil_coalescing_operator] = STATE(434),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(1341),
    [anon_sym_BANG] = ACTIONS(2853),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2753),
    [anon_sym_package] = ACTIONS(2753),
    [anon_sym_COMMA] = ACTIONS(2753),
    [anon_sym_LPAREN] = ACTIONS(2855),
    [anon_sym_LBRACK] = ACTIONS(2857),
    [anon_sym_QMARK] = ACTIONS(2897),
    [anon_sym_QMARK2] = ACTIONS(2859),
    [anon_sym_AMP] = ACTIONS(2861),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2863),
    [anon_sym_GT] = ACTIONS(2863),
    [anon_sym_LBRACE] = ACTIONS(2899),
    [anon_sym_CARET_LBRACE] = ACTIONS(2899),
    [anon_sym_RBRACE] = ACTIONS(2753),
    [anon_sym_case] = ACTIONS(2753),
    [anon_sym_fallthrough] = ACTIONS(2753),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(2865),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2867),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2867),
    [anon_sym_LT_EQ] = ACTIONS(2869),
    [anon_sym_GT_EQ] = ACTIONS(2869),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(703),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2871),
    [anon_sym_is] = ACTIONS(2873),
    [anon_sym_PLUS] = ACTIONS(2875),
    [anon_sym_DASH] = ACTIONS(2875),
    [anon_sym_STAR] = ACTIONS(2877),
    [anon_sym_SLASH] = ACTIONS(2877),
    [anon_sym_PERCENT] = ACTIONS(2877),
    [anon_sym_PLUS_PLUS] = ACTIONS(2879),
    [anon_sym_DASH_DASH] = ACTIONS(2879),
    [anon_sym_PIPE] = ACTIONS(2861),
    [anon_sym_CARET] = ACTIONS(2881),
    [anon_sym_LT_LT] = ACTIONS(2861),
    [anon_sym_GT_GT] = ACTIONS(2861),
    [anon_sym_class] = ACTIONS(2753),
    [anon_sym_prefix] = ACTIONS(2753),
    [anon_sym_infix] = ACTIONS(2753),
    [anon_sym_postfix] = ACTIONS(2753),
    [anon_sym_AT] = ACTIONS(2759),
    [anon_sym_override] = ACTIONS(2753),
    [anon_sym_convenience] = ACTIONS(2753),
    [anon_sym_required] = ACTIONS(2753),
    [anon_sym_nonisolated] = ACTIONS(2753),
    [anon_sym_public] = ACTIONS(2753),
    [anon_sym_private] = ACTIONS(2753),
    [anon_sym_internal] = ACTIONS(2753),
    [anon_sym_fileprivate] = ACTIONS(2753),
    [anon_sym_open] = ACTIONS(2753),
    [anon_sym_mutating] = ACTIONS(2753),
    [anon_sym_nonmutating] = ACTIONS(2753),
    [anon_sym_static] = ACTIONS(2753),
    [anon_sym_dynamic] = ACTIONS(2753),
    [anon_sym_optional] = ACTIONS(2753),
    [anon_sym_distributed] = ACTIONS(2753),
    [anon_sym_final] = ACTIONS(2753),
    [anon_sym_inout] = ACTIONS(2753),
    [anon_sym_ATescaping] = ACTIONS(2753),
    [anon_sym_ATautoclosure] = ACTIONS(2753),
    [anon_sym_weak] = ACTIONS(2753),
    [anon_sym_unowned] = ACTIONS(2759),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2753),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2753),
    [anon_sym_borrowing] = ACTIONS(2753),
    [anon_sym_consuming] = ACTIONS(2753),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2753),
    [sym__explicit_semi] = ACTIONS(2753),
    [sym__dot_custom] = ACTIONS(2883),
    [sym__conjunction_operator_custom] = ACTIONS(2885),
    [sym__disjunction_operator_custom] = ACTIONS(2887),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2889),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(2867),
    [sym__plus_then_ws] = ACTIONS(2891),
    [sym__minus_then_ws] = ACTIONS(2891),
    [sym__bang_custom] = ACTIONS(2893),
    [sym_default_keyword] = ACTIONS(2753),
    [sym_where_keyword] = ACTIONS(2753),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [780] = {
    [sym__quest] = STATE(636),
    [sym__immediate_quest] = STATE(1304),
    [sym__range_operator] = STATE(461),
    [sym_custom_operator] = STATE(471),
    [sym_navigation_suffix] = STATE(1235),
    [sym_call_suffix] = STATE(1243),
    [sym__fn_call_lambda_arguments] = STATE(1253),
    [sym_value_arguments] = STATE(1176),
    [sym_lambda_literal] = STATE(996),
    [sym__equality_operator] = STATE(485),
    [sym__comparison_operator] = STATE(490),
    [sym__three_dot_operator] = STATE(758),
    [sym__open_ended_range_operator] = STATE(461),
    [sym__is_operator] = STATE(4172),
    [sym__additive_operator] = STATE(689),
    [sym__multiplicative_operator] = STATE(685),
    [sym_as_operator] = STATE(4185),
    [sym__bitwise_binary_operator] = STATE(414),
    [sym__postfix_unary_operator] = STATE(1341),
    [sym__eq_eq] = STATE(485),
    [sym__dot] = STATE(5398),
    [sym__conjunction_operator] = STATE(425),
    [sym__disjunction_operator] = STATE(427),
    [sym__nil_coalescing_operator] = STATE(434),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(1341),
    [anon_sym_BANG] = ACTIONS(2853),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2783),
    [anon_sym_package] = ACTIONS(2783),
    [anon_sym_COMMA] = ACTIONS(2783),
    [anon_sym_LPAREN] = ACTIONS(2855),
    [anon_sym_LBRACK] = ACTIONS(2857),
    [anon_sym_QMARK] = ACTIONS(2897),
    [anon_sym_QMARK2] = ACTIONS(2859),
    [anon_sym_AMP] = ACTIONS(2861),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2863),
    [anon_sym_GT] = ACTIONS(2863),
    [anon_sym_LBRACE] = ACTIONS(2899),
    [anon_sym_CARET_LBRACE] = ACTIONS(2899),
    [anon_sym_RBRACE] = ACTIONS(2783),
    [anon_sym_case] = ACTIONS(2783),
    [anon_sym_fallthrough] = ACTIONS(2783),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(2865),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2867),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2867),
    [anon_sym_LT_EQ] = ACTIONS(2869),
    [anon_sym_GT_EQ] = ACTIONS(2869),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(703),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2871),
    [anon_sym_is] = ACTIONS(2873),
    [anon_sym_PLUS] = ACTIONS(2875),
    [anon_sym_DASH] = ACTIONS(2875),
    [anon_sym_STAR] = ACTIONS(2877),
    [anon_sym_SLASH] = ACTIONS(2877),
    [anon_sym_PERCENT] = ACTIONS(2877),
    [anon_sym_PLUS_PLUS] = ACTIONS(2879),
    [anon_sym_DASH_DASH] = ACTIONS(2879),
    [anon_sym_PIPE] = ACTIONS(2861),
    [anon_sym_CARET] = ACTIONS(2881),
    [anon_sym_LT_LT] = ACTIONS(2861),
    [anon_sym_GT_GT] = ACTIONS(2861),
    [anon_sym_class] = ACTIONS(2783),
    [anon_sym_prefix] = ACTIONS(2783),
    [anon_sym_infix] = ACTIONS(2783),
    [anon_sym_postfix] = ACTIONS(2783),
    [anon_sym_AT] = ACTIONS(2785),
    [anon_sym_override] = ACTIONS(2783),
    [anon_sym_convenience] = ACTIONS(2783),
    [anon_sym_required] = ACTIONS(2783),
    [anon_sym_nonisolated] = ACTIONS(2783),
    [anon_sym_public] = ACTIONS(2783),
    [anon_sym_private] = ACTIONS(2783),
    [anon_sym_internal] = ACTIONS(2783),
    [anon_sym_fileprivate] = ACTIONS(2783),
    [anon_sym_open] = ACTIONS(2783),
    [anon_sym_mutating] = ACTIONS(2783),
    [anon_sym_nonmutating] = ACTIONS(2783),
    [anon_sym_static] = ACTIONS(2783),
    [anon_sym_dynamic] = ACTIONS(2783),
    [anon_sym_optional] = ACTIONS(2783),
    [anon_sym_distributed] = ACTIONS(2783),
    [anon_sym_final] = ACTIONS(2783),
    [anon_sym_inout] = ACTIONS(2783),
    [anon_sym_ATescaping] = ACTIONS(2783),
    [anon_sym_ATautoclosure] = ACTIONS(2783),
    [anon_sym_weak] = ACTIONS(2783),
    [anon_sym_unowned] = ACTIONS(2785),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2783),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2783),
    [anon_sym_borrowing] = ACTIONS(2783),
    [anon_sym_consuming] = ACTIONS(2783),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2783),
    [sym__explicit_semi] = ACTIONS(2783),
    [sym__dot_custom] = ACTIONS(2883),
    [sym__conjunction_operator_custom] = ACTIONS(2885),
    [sym__disjunction_operator_custom] = ACTIONS(2887),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2889),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(2867),
    [sym__plus_then_ws] = ACTIONS(2891),
    [sym__minus_then_ws] = ACTIONS(2891),
    [sym__bang_custom] = ACTIONS(2893),
    [sym_default_keyword] = ACTIONS(2783),
    [sym_where_keyword] = ACTIONS(2783),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [781] = {
    [sym__quest] = STATE(582),
    [sym__immediate_quest] = STATE(1405),
    [sym__range_operator] = STATE(448),
    [sym_custom_operator] = STATE(455),
    [sym_navigation_suffix] = STATE(1416),
    [sym_call_suffix] = STATE(1423),
    [sym__fn_call_lambda_arguments] = STATE(1425),
    [sym_value_arguments] = STATE(1211),
    [sym_lambda_literal] = STATE(1001),
    [sym__equality_operator] = STATE(483),
    [sym__comparison_operator] = STATE(489),
    [sym__three_dot_operator] = STATE(767),
    [sym__open_ended_range_operator] = STATE(448),
    [sym__is_operator] = STATE(4250),
    [sym__additive_operator] = STATE(574),
    [sym__multiplicative_operator] = STATE(706),
    [sym_as_operator] = STATE(4236),
    [sym__bitwise_binary_operator] = STATE(495),
    [sym__postfix_unary_operator] = STATE(1370),
    [sym_willset_didset_block] = STATE(4499),
    [sym__eq_eq] = STATE(483),
    [sym__dot] = STATE(5360),
    [sym__conjunction_operator] = STATE(505),
    [sym__disjunction_operator] = STATE(426),
    [sym__nil_coalescing_operator] = STATE(424),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(1370),
    [anon_sym_BANG] = ACTIONS(2905),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2769),
    [anon_sym_package] = ACTIONS(2769),
    [anon_sym_COMMA] = ACTIONS(2769),
    [anon_sym_LPAREN] = ACTIONS(2907),
    [anon_sym_LBRACK] = ACTIONS(2909),
    [anon_sym_QMARK] = ACTIONS(2911),
    [anon_sym_QMARK2] = ACTIONS(2913),
    [anon_sym_AMP] = ACTIONS(2915),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2917),
    [anon_sym_GT] = ACTIONS(2917),
    [anon_sym_LBRACE] = ACTIONS(2919),
    [anon_sym_CARET_LBRACE] = ACTIONS(2921),
    [anon_sym_RBRACE] = ACTIONS(2769),
    [anon_sym_case] = ACTIONS(2769),
    [anon_sym_fallthrough] = ACTIONS(2769),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(2923),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2925),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2925),
    [anon_sym_LT_EQ] = ACTIONS(2927),
    [anon_sym_GT_EQ] = ACTIONS(2927),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2929),
    [anon_sym_is] = ACTIONS(2931),
    [anon_sym_PLUS] = ACTIONS(2933),
    [anon_sym_DASH] = ACTIONS(2933),
    [anon_sym_STAR] = ACTIONS(2935),
    [anon_sym_SLASH] = ACTIONS(2935),
    [anon_sym_PERCENT] = ACTIONS(2935),
    [anon_sym_PLUS_PLUS] = ACTIONS(2937),
    [anon_sym_DASH_DASH] = ACTIONS(2937),
    [anon_sym_PIPE] = ACTIONS(2915),
    [anon_sym_CARET] = ACTIONS(2939),
    [anon_sym_LT_LT] = ACTIONS(2915),
    [anon_sym_GT_GT] = ACTIONS(2915),
    [anon_sym_class] = ACTIONS(2769),
    [anon_sym_prefix] = ACTIONS(2769),
    [anon_sym_infix] = ACTIONS(2769),
    [anon_sym_postfix] = ACTIONS(2769),
    [anon_sym_AT] = ACTIONS(2773),
    [anon_sym_override] = ACTIONS(2769),
    [anon_sym_convenience] = ACTIONS(2769),
    [anon_sym_required] = ACTIONS(2769),
    [anon_sym_nonisolated] = ACTIONS(2769),
    [anon_sym_public] = ACTIONS(2769),
    [anon_sym_private] = ACTIONS(2769),
    [anon_sym_internal] = ACTIONS(2769),
    [anon_sym_fileprivate] = ACTIONS(2769),
    [anon_sym_open] = ACTIONS(2769),
    [anon_sym_mutating] = ACTIONS(2769),
    [anon_sym_nonmutating] = ACTIONS(2769),
    [anon_sym_static] = ACTIONS(2769),
    [anon_sym_dynamic] = ACTIONS(2769),
    [anon_sym_optional] = ACTIONS(2769),
    [anon_sym_distributed] = ACTIONS(2769),
    [anon_sym_final] = ACTIONS(2769),
    [anon_sym_inout] = ACTIONS(2769),
    [anon_sym_ATescaping] = ACTIONS(2769),
    [anon_sym_ATautoclosure] = ACTIONS(2769),
    [anon_sym_weak] = ACTIONS(2769),
    [anon_sym_unowned] = ACTIONS(2773),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2769),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2769),
    [anon_sym_borrowing] = ACTIONS(2769),
    [anon_sym_consuming] = ACTIONS(2769),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2769),
    [sym__explicit_semi] = ACTIONS(2769),
    [sym__dot_custom] = ACTIONS(2941),
    [sym__conjunction_operator_custom] = ACTIONS(2943),
    [sym__disjunction_operator_custom] = ACTIONS(2945),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2947),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(2925),
    [sym__plus_then_ws] = ACTIONS(2949),
    [sym__minus_then_ws] = ACTIONS(2949),
    [sym__bang_custom] = ACTIONS(2951),
    [sym_default_keyword] = ACTIONS(2769),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [782] = {
    [sym__quest] = STATE(636),
    [sym__immediate_quest] = STATE(1304),
    [sym__range_operator] = STATE(461),
    [sym_custom_operator] = STATE(471),
    [sym_navigation_suffix] = STATE(1235),
    [sym_call_suffix] = STATE(1243),
    [sym__fn_call_lambda_arguments] = STATE(1253),
    [sym_value_arguments] = STATE(1176),
    [sym_lambda_literal] = STATE(996),
    [sym__equality_operator] = STATE(485),
    [sym__comparison_operator] = STATE(490),
    [sym__three_dot_operator] = STATE(758),
    [sym__open_ended_range_operator] = STATE(461),
    [sym__is_operator] = STATE(4172),
    [sym__additive_operator] = STATE(689),
    [sym__multiplicative_operator] = STATE(685),
    [sym_as_operator] = STATE(4185),
    [sym__bitwise_binary_operator] = STATE(414),
    [sym__postfix_unary_operator] = STATE(1341),
    [sym__eq_eq] = STATE(485),
    [sym__dot] = STATE(5398),
    [sym__conjunction_operator] = STATE(425),
    [sym__disjunction_operator] = STATE(427),
    [sym__nil_coalescing_operator] = STATE(434),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(1341),
    [anon_sym_BANG] = ACTIONS(2853),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2787),
    [anon_sym_package] = ACTIONS(2787),
    [anon_sym_COMMA] = ACTIONS(2787),
    [anon_sym_LPAREN] = ACTIONS(2855),
    [anon_sym_LBRACK] = ACTIONS(2857),
    [anon_sym_QMARK] = ACTIONS(2897),
    [anon_sym_QMARK2] = ACTIONS(2859),
    [anon_sym_AMP] = ACTIONS(2861),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2863),
    [anon_sym_GT] = ACTIONS(2863),
    [anon_sym_LBRACE] = ACTIONS(2899),
    [anon_sym_CARET_LBRACE] = ACTIONS(2899),
    [anon_sym_RBRACE] = ACTIONS(2787),
    [anon_sym_case] = ACTIONS(2787),
    [anon_sym_fallthrough] = ACTIONS(2787),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(2865),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2867),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2867),
    [anon_sym_LT_EQ] = ACTIONS(2869),
    [anon_sym_GT_EQ] = ACTIONS(2869),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(703),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2871),
    [anon_sym_is] = ACTIONS(2873),
    [anon_sym_PLUS] = ACTIONS(2875),
    [anon_sym_DASH] = ACTIONS(2875),
    [anon_sym_STAR] = ACTIONS(2877),
    [anon_sym_SLASH] = ACTIONS(2877),
    [anon_sym_PERCENT] = ACTIONS(2877),
    [anon_sym_PLUS_PLUS] = ACTIONS(2879),
    [anon_sym_DASH_DASH] = ACTIONS(2879),
    [anon_sym_PIPE] = ACTIONS(2861),
    [anon_sym_CARET] = ACTIONS(2881),
    [anon_sym_LT_LT] = ACTIONS(2861),
    [anon_sym_GT_GT] = ACTIONS(2861),
    [anon_sym_class] = ACTIONS(2787),
    [anon_sym_prefix] = ACTIONS(2787),
    [anon_sym_infix] = ACTIONS(2787),
    [anon_sym_postfix] = ACTIONS(2787),
    [anon_sym_AT] = ACTIONS(2789),
    [anon_sym_override] = ACTIONS(2787),
    [anon_sym_convenience] = ACTIONS(2787),
    [anon_sym_required] = ACTIONS(2787),
    [anon_sym_nonisolated] = ACTIONS(2787),
    [anon_sym_public] = ACTIONS(2787),
    [anon_sym_private] = ACTIONS(2787),
    [anon_sym_internal] = ACTIONS(2787),
    [anon_sym_fileprivate] = ACTIONS(2787),
    [anon_sym_open] = ACTIONS(2787),
    [anon_sym_mutating] = ACTIONS(2787),
    [anon_sym_nonmutating] = ACTIONS(2787),
    [anon_sym_static] = ACTIONS(2787),
    [anon_sym_dynamic] = ACTIONS(2787),
    [anon_sym_optional] = ACTIONS(2787),
    [anon_sym_distributed] = ACTIONS(2787),
    [anon_sym_final] = ACTIONS(2787),
    [anon_sym_inout] = ACTIONS(2787),
    [anon_sym_ATescaping] = ACTIONS(2787),
    [anon_sym_ATautoclosure] = ACTIONS(2787),
    [anon_sym_weak] = ACTIONS(2787),
    [anon_sym_unowned] = ACTIONS(2789),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2787),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2787),
    [anon_sym_borrowing] = ACTIONS(2787),
    [anon_sym_consuming] = ACTIONS(2787),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2787),
    [sym__explicit_semi] = ACTIONS(2787),
    [sym__dot_custom] = ACTIONS(2883),
    [sym__conjunction_operator_custom] = ACTIONS(2885),
    [sym__disjunction_operator_custom] = ACTIONS(2887),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2889),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(2867),
    [sym__plus_then_ws] = ACTIONS(2891),
    [sym__minus_then_ws] = ACTIONS(2891),
    [sym__bang_custom] = ACTIONS(2893),
    [sym_default_keyword] = ACTIONS(2787),
    [sym_where_keyword] = ACTIONS(2787),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [783] = {
    [sym__quest] = STATE(582),
    [sym__immediate_quest] = STATE(1405),
    [sym__range_operator] = STATE(448),
    [sym_custom_operator] = STATE(455),
    [sym_navigation_suffix] = STATE(1416),
    [sym_call_suffix] = STATE(1423),
    [sym__fn_call_lambda_arguments] = STATE(1425),
    [sym_value_arguments] = STATE(1209),
    [sym_expr_hack_at_ternary_binary_call_suffix] = STATE(1410),
    [sym_lambda_literal] = STATE(1001),
    [sym__equality_operator] = STATE(483),
    [sym__comparison_operator] = STATE(489),
    [sym__three_dot_operator] = STATE(767),
    [sym__open_ended_range_operator] = STATE(448),
    [sym__is_operator] = STATE(4250),
    [sym__additive_operator] = STATE(574),
    [sym__multiplicative_operator] = STATE(706),
    [sym_as_operator] = STATE(4236),
    [sym__bitwise_binary_operator] = STATE(495),
    [sym__postfix_unary_operator] = STATE(1370),
    [sym__eq_eq] = STATE(483),
    [sym__dot] = STATE(5360),
    [sym__conjunction_operator] = STATE(505),
    [sym__disjunction_operator] = STATE(426),
    [sym__nil_coalescing_operator] = STATE(424),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(1370),
    [anon_sym_BANG] = ACTIONS(2905),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2703),
    [anon_sym_package] = ACTIONS(2703),
    [anon_sym_COMMA] = ACTIONS(2703),
    [anon_sym_LPAREN] = ACTIONS(2907),
    [anon_sym_LBRACK] = ACTIONS(2909),
    [anon_sym_QMARK] = ACTIONS(2709),
    [anon_sym_QMARK2] = ACTIONS(2913),
    [anon_sym_AMP] = ACTIONS(2915),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2917),
    [anon_sym_GT] = ACTIONS(2917),
    [anon_sym_LBRACE] = ACTIONS(2703),
    [anon_sym_CARET_LBRACE] = ACTIONS(2703),
    [anon_sym_RBRACE] = ACTIONS(2703),
    [anon_sym_case] = ACTIONS(2703),
    [anon_sym_fallthrough] = ACTIONS(2703),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(2923),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2925),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2925),
    [anon_sym_LT_EQ] = ACTIONS(2927),
    [anon_sym_GT_EQ] = ACTIONS(2927),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2929),
    [anon_sym_is] = ACTIONS(2931),
    [anon_sym_PLUS] = ACTIONS(2933),
    [anon_sym_DASH] = ACTIONS(2933),
    [anon_sym_STAR] = ACTIONS(2935),
    [anon_sym_SLASH] = ACTIONS(2935),
    [anon_sym_PERCENT] = ACTIONS(2935),
    [anon_sym_PLUS_PLUS] = ACTIONS(2937),
    [anon_sym_DASH_DASH] = ACTIONS(2937),
    [anon_sym_PIPE] = ACTIONS(2915),
    [anon_sym_CARET] = ACTIONS(2939),
    [anon_sym_LT_LT] = ACTIONS(2915),
    [anon_sym_GT_GT] = ACTIONS(2915),
    [anon_sym_class] = ACTIONS(2703),
    [anon_sym_prefix] = ACTIONS(2703),
    [anon_sym_infix] = ACTIONS(2703),
    [anon_sym_postfix] = ACTIONS(2703),
    [anon_sym_AT] = ACTIONS(2709),
    [anon_sym_override] = ACTIONS(2703),
    [anon_sym_convenience] = ACTIONS(2703),
    [anon_sym_required] = ACTIONS(2703),
    [anon_sym_nonisolated] = ACTIONS(2703),
    [anon_sym_public] = ACTIONS(2703),
    [anon_sym_private] = ACTIONS(2703),
    [anon_sym_internal] = ACTIONS(2703),
    [anon_sym_fileprivate] = ACTIONS(2703),
    [anon_sym_open] = ACTIONS(2703),
    [anon_sym_mutating] = ACTIONS(2703),
    [anon_sym_nonmutating] = ACTIONS(2703),
    [anon_sym_static] = ACTIONS(2703),
    [anon_sym_dynamic] = ACTIONS(2703),
    [anon_sym_optional] = ACTIONS(2703),
    [anon_sym_distributed] = ACTIONS(2703),
    [anon_sym_final] = ACTIONS(2703),
    [anon_sym_inout] = ACTIONS(2703),
    [anon_sym_ATescaping] = ACTIONS(2703),
    [anon_sym_ATautoclosure] = ACTIONS(2703),
    [anon_sym_weak] = ACTIONS(2703),
    [anon_sym_unowned] = ACTIONS(2709),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2703),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2703),
    [anon_sym_borrowing] = ACTIONS(2703),
    [anon_sym_consuming] = ACTIONS(2703),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2703),
    [sym__explicit_semi] = ACTIONS(2703),
    [sym__dot_custom] = ACTIONS(2941),
    [sym__conjunction_operator_custom] = ACTIONS(2943),
    [sym__disjunction_operator_custom] = ACTIONS(2945),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2947),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(2925),
    [sym__plus_then_ws] = ACTIONS(2949),
    [sym__minus_then_ws] = ACTIONS(2949),
    [sym__bang_custom] = ACTIONS(2951),
    [sym_default_keyword] = ACTIONS(2703),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [784] = {
    [sym__quest] = STATE(636),
    [sym__immediate_quest] = STATE(1304),
    [sym__range_operator] = STATE(461),
    [sym_custom_operator] = STATE(471),
    [sym_navigation_suffix] = STATE(1235),
    [sym_call_suffix] = STATE(1243),
    [sym__fn_call_lambda_arguments] = STATE(1253),
    [sym_value_arguments] = STATE(1176),
    [sym_lambda_literal] = STATE(996),
    [sym__equality_operator] = STATE(485),
    [sym__comparison_operator] = STATE(490),
    [sym__three_dot_operator] = STATE(758),
    [sym__open_ended_range_operator] = STATE(461),
    [sym__is_operator] = STATE(4172),
    [sym__additive_operator] = STATE(689),
    [sym__multiplicative_operator] = STATE(685),
    [sym_as_operator] = STATE(4185),
    [sym__bitwise_binary_operator] = STATE(414),
    [sym__postfix_unary_operator] = STATE(1341),
    [sym__eq_eq] = STATE(485),
    [sym__dot] = STATE(5398),
    [sym__conjunction_operator] = STATE(425),
    [sym__disjunction_operator] = STATE(427),
    [sym__nil_coalescing_operator] = STATE(434),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(1341),
    [anon_sym_BANG] = ACTIONS(2775),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2777),
    [anon_sym_package] = ACTIONS(2777),
    [anon_sym_COMMA] = ACTIONS(2777),
    [anon_sym_LPAREN] = ACTIONS(2777),
    [anon_sym_LBRACK] = ACTIONS(2777),
    [anon_sym_QMARK] = ACTIONS(2775),
    [anon_sym_QMARK2] = ACTIONS(2777),
    [anon_sym_AMP] = ACTIONS(2777),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2775),
    [anon_sym_GT] = ACTIONS(2775),
    [anon_sym_LBRACE] = ACTIONS(2777),
    [anon_sym_CARET_LBRACE] = ACTIONS(2777),
    [anon_sym_RBRACE] = ACTIONS(2777),
    [anon_sym_case] = ACTIONS(2777),
    [anon_sym_fallthrough] = ACTIONS(2777),
    [anon_sym_PLUS_EQ] = ACTIONS(2777),
    [anon_sym_DASH_EQ] = ACTIONS(2777),
    [anon_sym_STAR_EQ] = ACTIONS(2777),
    [anon_sym_SLASH_EQ] = ACTIONS(2777),
    [anon_sym_PERCENT_EQ] = ACTIONS(2777),
    [anon_sym_BANG_EQ] = ACTIONS(2775),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2777),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2777),
    [anon_sym_LT_EQ] = ACTIONS(2777),
    [anon_sym_GT_EQ] = ACTIONS(2777),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2777),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2777),
    [anon_sym_is] = ACTIONS(2777),
    [anon_sym_PLUS] = ACTIONS(2875),
    [anon_sym_DASH] = ACTIONS(2875),
    [anon_sym_STAR] = ACTIONS(2877),
    [anon_sym_SLASH] = ACTIONS(2877),
    [anon_sym_PERCENT] = ACTIONS(2877),
    [anon_sym_PLUS_PLUS] = ACTIONS(2777),
    [anon_sym_DASH_DASH] = ACTIONS(2777),
    [anon_sym_PIPE] = ACTIONS(2777),
    [anon_sym_CARET] = ACTIONS(2775),
    [anon_sym_LT_LT] = ACTIONS(2777),
    [anon_sym_GT_GT] = ACTIONS(2777),
    [anon_sym_class] = ACTIONS(2777),
    [anon_sym_prefix] = ACTIONS(2777),
    [anon_sym_infix] = ACTIONS(2777),
    [anon_sym_postfix] = ACTIONS(2777),
    [anon_sym_AT] = ACTIONS(2775),
    [anon_sym_override] = ACTIONS(2777),
    [anon_sym_convenience] = ACTIONS(2777),
    [anon_sym_required] = ACTIONS(2777),
    [anon_sym_nonisolated] = ACTIONS(2777),
    [anon_sym_public] = ACTIONS(2777),
    [anon_sym_private] = ACTIONS(2777),
    [anon_sym_internal] = ACTIONS(2777),
    [anon_sym_fileprivate] = ACTIONS(2777),
    [anon_sym_open] = ACTIONS(2777),
    [anon_sym_mutating] = ACTIONS(2777),
    [anon_sym_nonmutating] = ACTIONS(2777),
    [anon_sym_static] = ACTIONS(2777),
    [anon_sym_dynamic] = ACTIONS(2777),
    [anon_sym_optional] = ACTIONS(2777),
    [anon_sym_distributed] = ACTIONS(2777),
    [anon_sym_final] = ACTIONS(2777),
    [anon_sym_inout] = ACTIONS(2777),
    [anon_sym_ATescaping] = ACTIONS(2777),
    [anon_sym_ATautoclosure] = ACTIONS(2777),
    [anon_sym_weak] = ACTIONS(2777),
    [anon_sym_unowned] = ACTIONS(2775),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2777),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2777),
    [anon_sym_borrowing] = ACTIONS(2777),
    [anon_sym_consuming] = ACTIONS(2777),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2777),
    [sym__explicit_semi] = ACTIONS(2777),
    [sym__dot_custom] = ACTIONS(2777),
    [sym__conjunction_operator_custom] = ACTIONS(2777),
    [sym__disjunction_operator_custom] = ACTIONS(2777),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2889),
    [sym__eq_custom] = ACTIONS(2777),
    [sym__eq_eq_custom] = ACTIONS(2777),
    [sym__plus_then_ws] = ACTIONS(2891),
    [sym__minus_then_ws] = ACTIONS(2891),
    [sym__bang_custom] = ACTIONS(2777),
    [sym_default_keyword] = ACTIONS(2777),
    [sym_where_keyword] = ACTIONS(2777),
    [sym__as_custom] = ACTIONS(2777),
    [sym__as_quest_custom] = ACTIONS(2777),
    [sym__as_bang_custom] = ACTIONS(2777),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [785] = {
    [sym__quest] = STATE(636),
    [sym__immediate_quest] = STATE(1304),
    [sym__range_operator] = STATE(461),
    [sym_custom_operator] = STATE(471),
    [sym_navigation_suffix] = STATE(1235),
    [sym_call_suffix] = STATE(1243),
    [sym__fn_call_lambda_arguments] = STATE(1253),
    [sym_value_arguments] = STATE(1176),
    [sym_lambda_literal] = STATE(996),
    [sym__equality_operator] = STATE(485),
    [sym__comparison_operator] = STATE(490),
    [sym__three_dot_operator] = STATE(758),
    [sym__open_ended_range_operator] = STATE(461),
    [sym__is_operator] = STATE(4172),
    [sym__additive_operator] = STATE(689),
    [sym__multiplicative_operator] = STATE(685),
    [sym_as_operator] = STATE(4185),
    [sym__bitwise_binary_operator] = STATE(414),
    [sym__postfix_unary_operator] = STATE(1341),
    [sym__eq_eq] = STATE(485),
    [sym__dot] = STATE(5398),
    [sym__conjunction_operator] = STATE(425),
    [sym__disjunction_operator] = STATE(427),
    [sym__nil_coalescing_operator] = STATE(434),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(1341),
    [anon_sym_BANG] = ACTIONS(2853),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2791),
    [anon_sym_package] = ACTIONS(2791),
    [anon_sym_COMMA] = ACTIONS(2791),
    [anon_sym_LPAREN] = ACTIONS(2791),
    [anon_sym_LBRACK] = ACTIONS(2791),
    [anon_sym_QMARK] = ACTIONS(2793),
    [anon_sym_QMARK2] = ACTIONS(2791),
    [anon_sym_AMP] = ACTIONS(2791),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2793),
    [anon_sym_GT] = ACTIONS(2793),
    [anon_sym_LBRACE] = ACTIONS(2791),
    [anon_sym_CARET_LBRACE] = ACTIONS(2791),
    [anon_sym_RBRACE] = ACTIONS(2791),
    [anon_sym_case] = ACTIONS(2791),
    [anon_sym_fallthrough] = ACTIONS(2791),
    [anon_sym_PLUS_EQ] = ACTIONS(2791),
    [anon_sym_DASH_EQ] = ACTIONS(2791),
    [anon_sym_STAR_EQ] = ACTIONS(2791),
    [anon_sym_SLASH_EQ] = ACTIONS(2791),
    [anon_sym_PERCENT_EQ] = ACTIONS(2791),
    [anon_sym_BANG_EQ] = ACTIONS(2865),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2867),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2867),
    [anon_sym_LT_EQ] = ACTIONS(2791),
    [anon_sym_GT_EQ] = ACTIONS(2791),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2791),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2791),
    [anon_sym_is] = ACTIONS(2873),
    [anon_sym_PLUS] = ACTIONS(2875),
    [anon_sym_DASH] = ACTIONS(2875),
    [anon_sym_STAR] = ACTIONS(2877),
    [anon_sym_SLASH] = ACTIONS(2877),
    [anon_sym_PERCENT] = ACTIONS(2877),
    [anon_sym_PLUS_PLUS] = ACTIONS(2879),
    [anon_sym_DASH_DASH] = ACTIONS(2879),
    [anon_sym_PIPE] = ACTIONS(2791),
    [anon_sym_CARET] = ACTIONS(2793),
    [anon_sym_LT_LT] = ACTIONS(2791),
    [anon_sym_GT_GT] = ACTIONS(2791),
    [anon_sym_class] = ACTIONS(2791),
    [anon_sym_prefix] = ACTIONS(2791),
    [anon_sym_infix] = ACTIONS(2791),
    [anon_sym_postfix] = ACTIONS(2791),
    [anon_sym_AT] = ACTIONS(2793),
    [anon_sym_override] = ACTIONS(2791),
    [anon_sym_convenience] = ACTIONS(2791),
    [anon_sym_required] = ACTIONS(2791),
    [anon_sym_nonisolated] = ACTIONS(2791),
    [anon_sym_public] = ACTIONS(2791),
    [anon_sym_private] = ACTIONS(2791),
    [anon_sym_internal] = ACTIONS(2791),
    [anon_sym_fileprivate] = ACTIONS(2791),
    [anon_sym_open] = ACTIONS(2791),
    [anon_sym_mutating] = ACTIONS(2791),
    [anon_sym_nonmutating] = ACTIONS(2791),
    [anon_sym_static] = ACTIONS(2791),
    [anon_sym_dynamic] = ACTIONS(2791),
    [anon_sym_optional] = ACTIONS(2791),
    [anon_sym_distributed] = ACTIONS(2791),
    [anon_sym_final] = ACTIONS(2791),
    [anon_sym_inout] = ACTIONS(2791),
    [anon_sym_ATescaping] = ACTIONS(2791),
    [anon_sym_ATautoclosure] = ACTIONS(2791),
    [anon_sym_weak] = ACTIONS(2791),
    [anon_sym_unowned] = ACTIONS(2793),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2791),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2791),
    [anon_sym_borrowing] = ACTIONS(2791),
    [anon_sym_consuming] = ACTIONS(2791),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2791),
    [sym__explicit_semi] = ACTIONS(2791),
    [sym__dot_custom] = ACTIONS(2791),
    [sym__conjunction_operator_custom] = ACTIONS(2885),
    [sym__disjunction_operator_custom] = ACTIONS(2887),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2889),
    [sym__eq_custom] = ACTIONS(2791),
    [sym__eq_eq_custom] = ACTIONS(2867),
    [sym__plus_then_ws] = ACTIONS(2891),
    [sym__minus_then_ws] = ACTIONS(2891),
    [sym__bang_custom] = ACTIONS(2893),
    [sym_default_keyword] = ACTIONS(2791),
    [sym_where_keyword] = ACTIONS(2791),
    [sym__as_custom] = ACTIONS(2791),
    [sym__as_quest_custom] = ACTIONS(2791),
    [sym__as_bang_custom] = ACTIONS(2791),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [786] = {
    [sym__quest] = STATE(636),
    [sym__immediate_quest] = STATE(1304),
    [sym__range_operator] = STATE(461),
    [sym_custom_operator] = STATE(471),
    [sym_navigation_suffix] = STATE(1235),
    [sym_call_suffix] = STATE(1243),
    [sym__fn_call_lambda_arguments] = STATE(1253),
    [sym_value_arguments] = STATE(1176),
    [sym_lambda_literal] = STATE(996),
    [sym__equality_operator] = STATE(485),
    [sym__comparison_operator] = STATE(490),
    [sym__three_dot_operator] = STATE(758),
    [sym__open_ended_range_operator] = STATE(461),
    [sym__is_operator] = STATE(4172),
    [sym__additive_operator] = STATE(689),
    [sym__multiplicative_operator] = STATE(685),
    [sym_as_operator] = STATE(4185),
    [sym__bitwise_binary_operator] = STATE(414),
    [sym__postfix_unary_operator] = STATE(1341),
    [sym__eq_eq] = STATE(485),
    [sym__dot] = STATE(5398),
    [sym__conjunction_operator] = STATE(425),
    [sym__disjunction_operator] = STATE(427),
    [sym__nil_coalescing_operator] = STATE(434),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(1341),
    [anon_sym_BANG] = ACTIONS(2799),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2801),
    [anon_sym_package] = ACTIONS(2801),
    [anon_sym_COMMA] = ACTIONS(2801),
    [anon_sym_LPAREN] = ACTIONS(2801),
    [anon_sym_LBRACK] = ACTIONS(2801),
    [anon_sym_QMARK] = ACTIONS(2799),
    [anon_sym_QMARK2] = ACTIONS(2801),
    [anon_sym_AMP] = ACTIONS(2801),
    [aux_sym_custom_operator_token1] = ACTIONS(2801),
    [anon_sym_LT] = ACTIONS(2799),
    [anon_sym_GT] = ACTIONS(2799),
    [anon_sym_LBRACE] = ACTIONS(2801),
    [anon_sym_CARET_LBRACE] = ACTIONS(2801),
    [anon_sym_RBRACE] = ACTIONS(2801),
    [anon_sym_case] = ACTIONS(2801),
    [anon_sym_fallthrough] = ACTIONS(2801),
    [anon_sym_PLUS_EQ] = ACTIONS(2801),
    [anon_sym_DASH_EQ] = ACTIONS(2801),
    [anon_sym_STAR_EQ] = ACTIONS(2801),
    [anon_sym_SLASH_EQ] = ACTIONS(2801),
    [anon_sym_PERCENT_EQ] = ACTIONS(2801),
    [anon_sym_BANG_EQ] = ACTIONS(2799),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2801),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2801),
    [anon_sym_LT_EQ] = ACTIONS(2801),
    [anon_sym_GT_EQ] = ACTIONS(2801),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2801),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2801),
    [anon_sym_is] = ACTIONS(2801),
    [anon_sym_PLUS] = ACTIONS(2799),
    [anon_sym_DASH] = ACTIONS(2799),
    [anon_sym_STAR] = ACTIONS(2799),
    [anon_sym_SLASH] = ACTIONS(2799),
    [anon_sym_PERCENT] = ACTIONS(2799),
    [anon_sym_PLUS_PLUS] = ACTIONS(2801),
    [anon_sym_DASH_DASH] = ACTIONS(2801),
    [anon_sym_PIPE] = ACTIONS(2801),
    [anon_sym_CARET] = ACTIONS(2799),
    [anon_sym_LT_LT] = ACTIONS(2801),
    [anon_sym_GT_GT] = ACTIONS(2801),
    [anon_sym_class] = ACTIONS(2801),
    [anon_sym_prefix] = ACTIONS(2801),
    [anon_sym_infix] = ACTIONS(2801),
    [anon_sym_postfix] = ACTIONS(2801),
    [anon_sym_AT] = ACTIONS(2799),
    [anon_sym_override] = ACTIONS(2801),
    [anon_sym_convenience] = ACTIONS(2801),
    [anon_sym_required] = ACTIONS(2801),
    [anon_sym_nonisolated] = ACTIONS(2801),
    [anon_sym_public] = ACTIONS(2801),
    [anon_sym_private] = ACTIONS(2801),
    [anon_sym_internal] = ACTIONS(2801),
    [anon_sym_fileprivate] = ACTIONS(2801),
    [anon_sym_open] = ACTIONS(2801),
    [anon_sym_mutating] = ACTIONS(2801),
    [anon_sym_nonmutating] = ACTIONS(2801),
    [anon_sym_static] = ACTIONS(2801),
    [anon_sym_dynamic] = ACTIONS(2801),
    [anon_sym_optional] = ACTIONS(2801),
    [anon_sym_distributed] = ACTIONS(2801),
    [anon_sym_final] = ACTIONS(2801),
    [anon_sym_inout] = ACTIONS(2801),
    [anon_sym_ATescaping] = ACTIONS(2801),
    [anon_sym_ATautoclosure] = ACTIONS(2801),
    [anon_sym_weak] = ACTIONS(2801),
    [anon_sym_unowned] = ACTIONS(2799),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2801),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2801),
    [anon_sym_borrowing] = ACTIONS(2801),
    [anon_sym_consuming] = ACTIONS(2801),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2801),
    [sym__explicit_semi] = ACTIONS(2801),
    [sym__dot_custom] = ACTIONS(2801),
    [sym__conjunction_operator_custom] = ACTIONS(2801),
    [sym__disjunction_operator_custom] = ACTIONS(2801),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2801),
    [sym__eq_custom] = ACTIONS(2801),
    [sym__eq_eq_custom] = ACTIONS(2801),
    [sym__plus_then_ws] = ACTIONS(2801),
    [sym__minus_then_ws] = ACTIONS(2801),
    [sym__bang_custom] = ACTIONS(2801),
    [sym_default_keyword] = ACTIONS(2801),
    [sym_where_keyword] = ACTIONS(2801),
    [sym__as_custom] = ACTIONS(2801),
    [sym__as_quest_custom] = ACTIONS(2801),
    [sym__as_bang_custom] = ACTIONS(2801),
    [sym__custom_operator] = ACTIONS(2801),
  },
  [787] = {
    [sym__quest] = STATE(582),
    [sym__immediate_quest] = STATE(1405),
    [sym__range_operator] = STATE(448),
    [sym_custom_operator] = STATE(455),
    [sym_navigation_suffix] = STATE(1416),
    [sym_call_suffix] = STATE(1423),
    [sym__fn_call_lambda_arguments] = STATE(1425),
    [sym_value_arguments] = STATE(1211),
    [sym_lambda_literal] = STATE(1001),
    [sym__equality_operator] = STATE(483),
    [sym__comparison_operator] = STATE(489),
    [sym__three_dot_operator] = STATE(767),
    [sym__open_ended_range_operator] = STATE(448),
    [sym__is_operator] = STATE(4250),
    [sym__additive_operator] = STATE(574),
    [sym__multiplicative_operator] = STATE(706),
    [sym_as_operator] = STATE(4236),
    [sym__bitwise_binary_operator] = STATE(495),
    [sym__postfix_unary_operator] = STATE(1370),
    [sym__eq_eq] = STATE(483),
    [sym__dot] = STATE(5360),
    [sym__conjunction_operator] = STATE(505),
    [sym__disjunction_operator] = STATE(426),
    [sym__nil_coalescing_operator] = STATE(424),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(1370),
    [anon_sym_BANG] = ACTIONS(2905),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2779),
    [anon_sym_package] = ACTIONS(2779),
    [anon_sym_COMMA] = ACTIONS(2779),
    [anon_sym_LPAREN] = ACTIONS(2907),
    [anon_sym_LBRACK] = ACTIONS(2909),
    [anon_sym_QMARK] = ACTIONS(2911),
    [anon_sym_QMARK2] = ACTIONS(2913),
    [anon_sym_AMP] = ACTIONS(2915),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2917),
    [anon_sym_GT] = ACTIONS(2917),
    [anon_sym_LBRACE] = ACTIONS(2921),
    [anon_sym_CARET_LBRACE] = ACTIONS(2921),
    [anon_sym_RBRACE] = ACTIONS(2779),
    [anon_sym_case] = ACTIONS(2779),
    [anon_sym_fallthrough] = ACTIONS(2779),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(2923),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2925),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2925),
    [anon_sym_LT_EQ] = ACTIONS(2927),
    [anon_sym_GT_EQ] = ACTIONS(2927),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2929),
    [anon_sym_is] = ACTIONS(2931),
    [anon_sym_PLUS] = ACTIONS(2933),
    [anon_sym_DASH] = ACTIONS(2933),
    [anon_sym_STAR] = ACTIONS(2935),
    [anon_sym_SLASH] = ACTIONS(2935),
    [anon_sym_PERCENT] = ACTIONS(2935),
    [anon_sym_PLUS_PLUS] = ACTIONS(2937),
    [anon_sym_DASH_DASH] = ACTIONS(2937),
    [anon_sym_PIPE] = ACTIONS(2915),
    [anon_sym_CARET] = ACTIONS(2939),
    [anon_sym_LT_LT] = ACTIONS(2915),
    [anon_sym_GT_GT] = ACTIONS(2915),
    [anon_sym_class] = ACTIONS(2779),
    [anon_sym_prefix] = ACTIONS(2779),
    [anon_sym_infix] = ACTIONS(2779),
    [anon_sym_postfix] = ACTIONS(2779),
    [anon_sym_AT] = ACTIONS(2781),
    [anon_sym_override] = ACTIONS(2779),
    [anon_sym_convenience] = ACTIONS(2779),
    [anon_sym_required] = ACTIONS(2779),
    [anon_sym_nonisolated] = ACTIONS(2779),
    [anon_sym_public] = ACTIONS(2779),
    [anon_sym_private] = ACTIONS(2779),
    [anon_sym_internal] = ACTIONS(2779),
    [anon_sym_fileprivate] = ACTIONS(2779),
    [anon_sym_open] = ACTIONS(2779),
    [anon_sym_mutating] = ACTIONS(2779),
    [anon_sym_nonmutating] = ACTIONS(2779),
    [anon_sym_static] = ACTIONS(2779),
    [anon_sym_dynamic] = ACTIONS(2779),
    [anon_sym_optional] = ACTIONS(2779),
    [anon_sym_distributed] = ACTIONS(2779),
    [anon_sym_final] = ACTIONS(2779),
    [anon_sym_inout] = ACTIONS(2779),
    [anon_sym_ATescaping] = ACTIONS(2779),
    [anon_sym_ATautoclosure] = ACTIONS(2779),
    [anon_sym_weak] = ACTIONS(2779),
    [anon_sym_unowned] = ACTIONS(2781),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2779),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2779),
    [anon_sym_borrowing] = ACTIONS(2779),
    [anon_sym_consuming] = ACTIONS(2779),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2779),
    [sym__explicit_semi] = ACTIONS(2779),
    [sym__dot_custom] = ACTIONS(2941),
    [sym__conjunction_operator_custom] = ACTIONS(2943),
    [sym__disjunction_operator_custom] = ACTIONS(2945),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2947),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(2925),
    [sym__plus_then_ws] = ACTIONS(2949),
    [sym__minus_then_ws] = ACTIONS(2949),
    [sym__bang_custom] = ACTIONS(2951),
    [sym_default_keyword] = ACTIONS(2779),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [788] = {
    [sym__quest] = STATE(582),
    [sym__immediate_quest] = STATE(1405),
    [sym__range_operator] = STATE(448),
    [sym_custom_operator] = STATE(455),
    [sym_navigation_suffix] = STATE(1416),
    [sym_call_suffix] = STATE(1423),
    [sym__fn_call_lambda_arguments] = STATE(1425),
    [sym_value_arguments] = STATE(1211),
    [sym_lambda_literal] = STATE(1001),
    [sym__equality_operator] = STATE(483),
    [sym__comparison_operator] = STATE(489),
    [sym__three_dot_operator] = STATE(767),
    [sym__open_ended_range_operator] = STATE(448),
    [sym__is_operator] = STATE(4250),
    [sym__additive_operator] = STATE(574),
    [sym__multiplicative_operator] = STATE(706),
    [sym_as_operator] = STATE(4236),
    [sym__bitwise_binary_operator] = STATE(495),
    [sym__postfix_unary_operator] = STATE(1370),
    [sym__eq_eq] = STATE(483),
    [sym__dot] = STATE(5360),
    [sym__conjunction_operator] = STATE(505),
    [sym__disjunction_operator] = STATE(426),
    [sym__nil_coalescing_operator] = STATE(424),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(1370),
    [anon_sym_BANG] = ACTIONS(2905),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2787),
    [anon_sym_package] = ACTIONS(2787),
    [anon_sym_COMMA] = ACTIONS(2787),
    [anon_sym_LPAREN] = ACTIONS(2907),
    [anon_sym_LBRACK] = ACTIONS(2909),
    [anon_sym_QMARK] = ACTIONS(2911),
    [anon_sym_QMARK2] = ACTIONS(2913),
    [anon_sym_AMP] = ACTIONS(2915),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2917),
    [anon_sym_GT] = ACTIONS(2917),
    [anon_sym_LBRACE] = ACTIONS(2921),
    [anon_sym_CARET_LBRACE] = ACTIONS(2921),
    [anon_sym_RBRACE] = ACTIONS(2787),
    [anon_sym_case] = ACTIONS(2787),
    [anon_sym_fallthrough] = ACTIONS(2787),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(2923),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2925),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2925),
    [anon_sym_LT_EQ] = ACTIONS(2927),
    [anon_sym_GT_EQ] = ACTIONS(2927),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2929),
    [anon_sym_is] = ACTIONS(2931),
    [anon_sym_PLUS] = ACTIONS(2933),
    [anon_sym_DASH] = ACTIONS(2933),
    [anon_sym_STAR] = ACTIONS(2935),
    [anon_sym_SLASH] = ACTIONS(2935),
    [anon_sym_PERCENT] = ACTIONS(2935),
    [anon_sym_PLUS_PLUS] = ACTIONS(2937),
    [anon_sym_DASH_DASH] = ACTIONS(2937),
    [anon_sym_PIPE] = ACTIONS(2915),
    [anon_sym_CARET] = ACTIONS(2939),
    [anon_sym_LT_LT] = ACTIONS(2915),
    [anon_sym_GT_GT] = ACTIONS(2915),
    [anon_sym_class] = ACTIONS(2787),
    [anon_sym_prefix] = ACTIONS(2787),
    [anon_sym_infix] = ACTIONS(2787),
    [anon_sym_postfix] = ACTIONS(2787),
    [anon_sym_AT] = ACTIONS(2789),
    [anon_sym_override] = ACTIONS(2787),
    [anon_sym_convenience] = ACTIONS(2787),
    [anon_sym_required] = ACTIONS(2787),
    [anon_sym_nonisolated] = ACTIONS(2787),
    [anon_sym_public] = ACTIONS(2787),
    [anon_sym_private] = ACTIONS(2787),
    [anon_sym_internal] = ACTIONS(2787),
    [anon_sym_fileprivate] = ACTIONS(2787),
    [anon_sym_open] = ACTIONS(2787),
    [anon_sym_mutating] = ACTIONS(2787),
    [anon_sym_nonmutating] = ACTIONS(2787),
    [anon_sym_static] = ACTIONS(2787),
    [anon_sym_dynamic] = ACTIONS(2787),
    [anon_sym_optional] = ACTIONS(2787),
    [anon_sym_distributed] = ACTIONS(2787),
    [anon_sym_final] = ACTIONS(2787),
    [anon_sym_inout] = ACTIONS(2787),
    [anon_sym_ATescaping] = ACTIONS(2787),
    [anon_sym_ATautoclosure] = ACTIONS(2787),
    [anon_sym_weak] = ACTIONS(2787),
    [anon_sym_unowned] = ACTIONS(2789),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2787),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2787),
    [anon_sym_borrowing] = ACTIONS(2787),
    [anon_sym_consuming] = ACTIONS(2787),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2787),
    [sym__explicit_semi] = ACTIONS(2787),
    [sym__dot_custom] = ACTIONS(2941),
    [sym__conjunction_operator_custom] = ACTIONS(2943),
    [sym__disjunction_operator_custom] = ACTIONS(2945),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2947),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(2925),
    [sym__plus_then_ws] = ACTIONS(2949),
    [sym__minus_then_ws] = ACTIONS(2949),
    [sym__bang_custom] = ACTIONS(2951),
    [sym_default_keyword] = ACTIONS(2787),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [789] = {
    [sym__quest] = STATE(582),
    [sym__immediate_quest] = STATE(1405),
    [sym__range_operator] = STATE(448),
    [sym_custom_operator] = STATE(455),
    [sym_navigation_suffix] = STATE(1416),
    [sym_call_suffix] = STATE(1423),
    [sym__fn_call_lambda_arguments] = STATE(1425),
    [sym_value_arguments] = STATE(1211),
    [sym_lambda_literal] = STATE(1001),
    [sym__equality_operator] = STATE(483),
    [sym__comparison_operator] = STATE(489),
    [sym__three_dot_operator] = STATE(767),
    [sym__open_ended_range_operator] = STATE(448),
    [sym__is_operator] = STATE(4250),
    [sym__additive_operator] = STATE(574),
    [sym__multiplicative_operator] = STATE(706),
    [sym_as_operator] = STATE(4236),
    [sym__bitwise_binary_operator] = STATE(495),
    [sym__postfix_unary_operator] = STATE(1370),
    [sym__eq_eq] = STATE(483),
    [sym__dot] = STATE(5360),
    [sym__conjunction_operator] = STATE(505),
    [sym__disjunction_operator] = STATE(426),
    [sym__nil_coalescing_operator] = STATE(424),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(1370),
    [anon_sym_BANG] = ACTIONS(2905),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2765),
    [anon_sym_package] = ACTIONS(2765),
    [anon_sym_COMMA] = ACTIONS(2765),
    [anon_sym_LPAREN] = ACTIONS(2765),
    [anon_sym_LBRACK] = ACTIONS(2765),
    [anon_sym_QMARK] = ACTIONS(2767),
    [anon_sym_QMARK2] = ACTIONS(2765),
    [anon_sym_AMP] = ACTIONS(2765),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2767),
    [anon_sym_GT] = ACTIONS(2767),
    [anon_sym_LBRACE] = ACTIONS(2765),
    [anon_sym_CARET_LBRACE] = ACTIONS(2765),
    [anon_sym_RBRACE] = ACTIONS(2765),
    [anon_sym_case] = ACTIONS(2765),
    [anon_sym_fallthrough] = ACTIONS(2765),
    [anon_sym_PLUS_EQ] = ACTIONS(2765),
    [anon_sym_DASH_EQ] = ACTIONS(2765),
    [anon_sym_STAR_EQ] = ACTIONS(2765),
    [anon_sym_SLASH_EQ] = ACTIONS(2765),
    [anon_sym_PERCENT_EQ] = ACTIONS(2765),
    [anon_sym_BANG_EQ] = ACTIONS(2923),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2925),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2925),
    [anon_sym_LT_EQ] = ACTIONS(2765),
    [anon_sym_GT_EQ] = ACTIONS(2765),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2765),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2765),
    [anon_sym_is] = ACTIONS(2931),
    [anon_sym_PLUS] = ACTIONS(2933),
    [anon_sym_DASH] = ACTIONS(2933),
    [anon_sym_STAR] = ACTIONS(2935),
    [anon_sym_SLASH] = ACTIONS(2935),
    [anon_sym_PERCENT] = ACTIONS(2935),
    [anon_sym_PLUS_PLUS] = ACTIONS(2937),
    [anon_sym_DASH_DASH] = ACTIONS(2937),
    [anon_sym_PIPE] = ACTIONS(2765),
    [anon_sym_CARET] = ACTIONS(2767),
    [anon_sym_LT_LT] = ACTIONS(2765),
    [anon_sym_GT_GT] = ACTIONS(2765),
    [anon_sym_class] = ACTIONS(2765),
    [anon_sym_prefix] = ACTIONS(2765),
    [anon_sym_infix] = ACTIONS(2765),
    [anon_sym_postfix] = ACTIONS(2765),
    [anon_sym_AT] = ACTIONS(2767),
    [anon_sym_override] = ACTIONS(2765),
    [anon_sym_convenience] = ACTIONS(2765),
    [anon_sym_required] = ACTIONS(2765),
    [anon_sym_nonisolated] = ACTIONS(2765),
    [anon_sym_public] = ACTIONS(2765),
    [anon_sym_private] = ACTIONS(2765),
    [anon_sym_internal] = ACTIONS(2765),
    [anon_sym_fileprivate] = ACTIONS(2765),
    [anon_sym_open] = ACTIONS(2765),
    [anon_sym_mutating] = ACTIONS(2765),
    [anon_sym_nonmutating] = ACTIONS(2765),
    [anon_sym_static] = ACTIONS(2765),
    [anon_sym_dynamic] = ACTIONS(2765),
    [anon_sym_optional] = ACTIONS(2765),
    [anon_sym_distributed] = ACTIONS(2765),
    [anon_sym_final] = ACTIONS(2765),
    [anon_sym_inout] = ACTIONS(2765),
    [anon_sym_ATescaping] = ACTIONS(2765),
    [anon_sym_ATautoclosure] = ACTIONS(2765),
    [anon_sym_weak] = ACTIONS(2765),
    [anon_sym_unowned] = ACTIONS(2767),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2765),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2765),
    [anon_sym_borrowing] = ACTIONS(2765),
    [anon_sym_consuming] = ACTIONS(2765),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2765),
    [sym__explicit_semi] = ACTIONS(2765),
    [sym__dot_custom] = ACTIONS(2765),
    [sym__conjunction_operator_custom] = ACTIONS(2943),
    [sym__disjunction_operator_custom] = ACTIONS(2945),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2947),
    [sym__eq_custom] = ACTIONS(2765),
    [sym__eq_eq_custom] = ACTIONS(2925),
    [sym__plus_then_ws] = ACTIONS(2949),
    [sym__minus_then_ws] = ACTIONS(2949),
    [sym__bang_custom] = ACTIONS(2951),
    [sym_default_keyword] = ACTIONS(2765),
    [sym__as_custom] = ACTIONS(2765),
    [sym__as_quest_custom] = ACTIONS(2765),
    [sym__as_bang_custom] = ACTIONS(2765),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [790] = {
    [sym__quest] = STATE(582),
    [sym__immediate_quest] = STATE(1405),
    [sym__range_operator] = STATE(448),
    [sym_custom_operator] = STATE(455),
    [sym_navigation_suffix] = STATE(1416),
    [sym_call_suffix] = STATE(1423),
    [sym__fn_call_lambda_arguments] = STATE(1425),
    [sym_value_arguments] = STATE(1211),
    [sym_lambda_literal] = STATE(1001),
    [sym__equality_operator] = STATE(483),
    [sym__comparison_operator] = STATE(489),
    [sym__three_dot_operator] = STATE(767),
    [sym__open_ended_range_operator] = STATE(448),
    [sym__is_operator] = STATE(4250),
    [sym__additive_operator] = STATE(574),
    [sym__multiplicative_operator] = STATE(706),
    [sym_as_operator] = STATE(4236),
    [sym__bitwise_binary_operator] = STATE(495),
    [sym__postfix_unary_operator] = STATE(1370),
    [sym__eq_eq] = STATE(483),
    [sym__dot] = STATE(5360),
    [sym__conjunction_operator] = STATE(505),
    [sym__disjunction_operator] = STATE(426),
    [sym__nil_coalescing_operator] = STATE(424),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(1370),
    [anon_sym_BANG] = ACTIONS(2799),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2801),
    [anon_sym_package] = ACTIONS(2801),
    [anon_sym_COMMA] = ACTIONS(2801),
    [anon_sym_LPAREN] = ACTIONS(2801),
    [anon_sym_LBRACK] = ACTIONS(2801),
    [anon_sym_QMARK] = ACTIONS(2799),
    [anon_sym_QMARK2] = ACTIONS(2801),
    [anon_sym_AMP] = ACTIONS(2801),
    [aux_sym_custom_operator_token1] = ACTIONS(2801),
    [anon_sym_LT] = ACTIONS(2799),
    [anon_sym_GT] = ACTIONS(2799),
    [anon_sym_LBRACE] = ACTIONS(2801),
    [anon_sym_CARET_LBRACE] = ACTIONS(2801),
    [anon_sym_RBRACE] = ACTIONS(2801),
    [anon_sym_case] = ACTIONS(2801),
    [anon_sym_fallthrough] = ACTIONS(2801),
    [anon_sym_PLUS_EQ] = ACTIONS(2801),
    [anon_sym_DASH_EQ] = ACTIONS(2801),
    [anon_sym_STAR_EQ] = ACTIONS(2801),
    [anon_sym_SLASH_EQ] = ACTIONS(2801),
    [anon_sym_PERCENT_EQ] = ACTIONS(2801),
    [anon_sym_BANG_EQ] = ACTIONS(2799),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2801),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2801),
    [anon_sym_LT_EQ] = ACTIONS(2801),
    [anon_sym_GT_EQ] = ACTIONS(2801),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2801),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2801),
    [anon_sym_is] = ACTIONS(2801),
    [anon_sym_PLUS] = ACTIONS(2799),
    [anon_sym_DASH] = ACTIONS(2799),
    [anon_sym_STAR] = ACTIONS(2799),
    [anon_sym_SLASH] = ACTIONS(2799),
    [anon_sym_PERCENT] = ACTIONS(2799),
    [anon_sym_PLUS_PLUS] = ACTIONS(2801),
    [anon_sym_DASH_DASH] = ACTIONS(2801),
    [anon_sym_PIPE] = ACTIONS(2801),
    [anon_sym_CARET] = ACTIONS(2799),
    [anon_sym_LT_LT] = ACTIONS(2801),
    [anon_sym_GT_GT] = ACTIONS(2801),
    [anon_sym_class] = ACTIONS(2801),
    [anon_sym_prefix] = ACTIONS(2801),
    [anon_sym_infix] = ACTIONS(2801),
    [anon_sym_postfix] = ACTIONS(2801),
    [anon_sym_AT] = ACTIONS(2799),
    [anon_sym_override] = ACTIONS(2801),
    [anon_sym_convenience] = ACTIONS(2801),
    [anon_sym_required] = ACTIONS(2801),
    [anon_sym_nonisolated] = ACTIONS(2801),
    [anon_sym_public] = ACTIONS(2801),
    [anon_sym_private] = ACTIONS(2801),
    [anon_sym_internal] = ACTIONS(2801),
    [anon_sym_fileprivate] = ACTIONS(2801),
    [anon_sym_open] = ACTIONS(2801),
    [anon_sym_mutating] = ACTIONS(2801),
    [anon_sym_nonmutating] = ACTIONS(2801),
    [anon_sym_static] = ACTIONS(2801),
    [anon_sym_dynamic] = ACTIONS(2801),
    [anon_sym_optional] = ACTIONS(2801),
    [anon_sym_distributed] = ACTIONS(2801),
    [anon_sym_final] = ACTIONS(2801),
    [anon_sym_inout] = ACTIONS(2801),
    [anon_sym_ATescaping] = ACTIONS(2801),
    [anon_sym_ATautoclosure] = ACTIONS(2801),
    [anon_sym_weak] = ACTIONS(2801),
    [anon_sym_unowned] = ACTIONS(2799),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2801),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2801),
    [anon_sym_borrowing] = ACTIONS(2801),
    [anon_sym_consuming] = ACTIONS(2801),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2801),
    [sym__explicit_semi] = ACTIONS(2801),
    [sym__dot_custom] = ACTIONS(2801),
    [sym__conjunction_operator_custom] = ACTIONS(2801),
    [sym__disjunction_operator_custom] = ACTIONS(2801),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2801),
    [sym__eq_custom] = ACTIONS(2801),
    [sym__eq_eq_custom] = ACTIONS(2801),
    [sym__plus_then_ws] = ACTIONS(2801),
    [sym__minus_then_ws] = ACTIONS(2801),
    [sym__bang_custom] = ACTIONS(2801),
    [sym_default_keyword] = ACTIONS(2801),
    [sym__as_custom] = ACTIONS(2801),
    [sym__as_quest_custom] = ACTIONS(2801),
    [sym__as_bang_custom] = ACTIONS(2801),
    [sym__custom_operator] = ACTIONS(2801),
  },
  [791] = {
    [sym__quest] = STATE(582),
    [sym__immediate_quest] = STATE(1405),
    [sym__range_operator] = STATE(448),
    [sym_custom_operator] = STATE(455),
    [sym_navigation_suffix] = STATE(1416),
    [sym_call_suffix] = STATE(1423),
    [sym__fn_call_lambda_arguments] = STATE(1425),
    [sym_value_arguments] = STATE(1211),
    [sym_lambda_literal] = STATE(1001),
    [sym__equality_operator] = STATE(483),
    [sym__comparison_operator] = STATE(489),
    [sym__three_dot_operator] = STATE(767),
    [sym__open_ended_range_operator] = STATE(448),
    [sym__is_operator] = STATE(4250),
    [sym__additive_operator] = STATE(574),
    [sym__multiplicative_operator] = STATE(706),
    [sym_as_operator] = STATE(4236),
    [sym__bitwise_binary_operator] = STATE(495),
    [sym__postfix_unary_operator] = STATE(1370),
    [sym__eq_eq] = STATE(483),
    [sym__dot] = STATE(5360),
    [sym__conjunction_operator] = STATE(505),
    [sym__disjunction_operator] = STATE(426),
    [sym__nil_coalescing_operator] = STATE(424),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(1370),
    [anon_sym_BANG] = ACTIONS(2905),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2953),
    [anon_sym_package] = ACTIONS(2953),
    [anon_sym_COMMA] = ACTIONS(2953),
    [anon_sym_LPAREN] = ACTIONS(2907),
    [anon_sym_LBRACK] = ACTIONS(2909),
    [anon_sym_QMARK] = ACTIONS(2911),
    [anon_sym_QMARK2] = ACTIONS(2913),
    [anon_sym_AMP] = ACTIONS(2915),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2917),
    [anon_sym_GT] = ACTIONS(2917),
    [anon_sym_LBRACE] = ACTIONS(2921),
    [anon_sym_CARET_LBRACE] = ACTIONS(2921),
    [anon_sym_RBRACE] = ACTIONS(2953),
    [anon_sym_case] = ACTIONS(2953),
    [anon_sym_fallthrough] = ACTIONS(2953),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(2923),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2925),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2925),
    [anon_sym_LT_EQ] = ACTIONS(2927),
    [anon_sym_GT_EQ] = ACTIONS(2927),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2929),
    [anon_sym_is] = ACTIONS(2931),
    [anon_sym_PLUS] = ACTIONS(2933),
    [anon_sym_DASH] = ACTIONS(2933),
    [anon_sym_STAR] = ACTIONS(2935),
    [anon_sym_SLASH] = ACTIONS(2935),
    [anon_sym_PERCENT] = ACTIONS(2935),
    [anon_sym_PLUS_PLUS] = ACTIONS(2937),
    [anon_sym_DASH_DASH] = ACTIONS(2937),
    [anon_sym_PIPE] = ACTIONS(2915),
    [anon_sym_CARET] = ACTIONS(2939),
    [anon_sym_LT_LT] = ACTIONS(2915),
    [anon_sym_GT_GT] = ACTIONS(2915),
    [anon_sym_class] = ACTIONS(2953),
    [anon_sym_prefix] = ACTIONS(2953),
    [anon_sym_infix] = ACTIONS(2953),
    [anon_sym_postfix] = ACTIONS(2953),
    [anon_sym_AT] = ACTIONS(2955),
    [anon_sym_override] = ACTIONS(2953),
    [anon_sym_convenience] = ACTIONS(2953),
    [anon_sym_required] = ACTIONS(2953),
    [anon_sym_nonisolated] = ACTIONS(2953),
    [anon_sym_public] = ACTIONS(2953),
    [anon_sym_private] = ACTIONS(2953),
    [anon_sym_internal] = ACTIONS(2953),
    [anon_sym_fileprivate] = ACTIONS(2953),
    [anon_sym_open] = ACTIONS(2953),
    [anon_sym_mutating] = ACTIONS(2953),
    [anon_sym_nonmutating] = ACTIONS(2953),
    [anon_sym_static] = ACTIONS(2953),
    [anon_sym_dynamic] = ACTIONS(2953),
    [anon_sym_optional] = ACTIONS(2953),
    [anon_sym_distributed] = ACTIONS(2953),
    [anon_sym_final] = ACTIONS(2953),
    [anon_sym_inout] = ACTIONS(2953),
    [anon_sym_ATescaping] = ACTIONS(2953),
    [anon_sym_ATautoclosure] = ACTIONS(2953),
    [anon_sym_weak] = ACTIONS(2953),
    [anon_sym_unowned] = ACTIONS(2955),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2953),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2953),
    [anon_sym_borrowing] = ACTIONS(2953),
    [anon_sym_consuming] = ACTIONS(2953),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2953),
    [sym__explicit_semi] = ACTIONS(2953),
    [sym__dot_custom] = ACTIONS(2941),
    [sym__conjunction_operator_custom] = ACTIONS(2943),
    [sym__disjunction_operator_custom] = ACTIONS(2945),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2947),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(2925),
    [sym__plus_then_ws] = ACTIONS(2949),
    [sym__minus_then_ws] = ACTIONS(2949),
    [sym__bang_custom] = ACTIONS(2951),
    [sym_default_keyword] = ACTIONS(2953),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [792] = {
    [sym__quest] = STATE(582),
    [sym__immediate_quest] = STATE(1405),
    [sym__range_operator] = STATE(448),
    [sym_custom_operator] = STATE(455),
    [sym_navigation_suffix] = STATE(1416),
    [sym_call_suffix] = STATE(1423),
    [sym__fn_call_lambda_arguments] = STATE(1425),
    [sym_value_arguments] = STATE(1211),
    [sym_lambda_literal] = STATE(1001),
    [sym__equality_operator] = STATE(483),
    [sym__comparison_operator] = STATE(489),
    [sym__three_dot_operator] = STATE(767),
    [sym__open_ended_range_operator] = STATE(448),
    [sym__is_operator] = STATE(4250),
    [sym__additive_operator] = STATE(574),
    [sym__multiplicative_operator] = STATE(706),
    [sym_as_operator] = STATE(4236),
    [sym__bitwise_binary_operator] = STATE(495),
    [sym__postfix_unary_operator] = STATE(1370),
    [sym__eq_eq] = STATE(483),
    [sym__dot] = STATE(5360),
    [sym__conjunction_operator] = STATE(505),
    [sym__disjunction_operator] = STATE(426),
    [sym__nil_coalescing_operator] = STATE(424),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(1370),
    [anon_sym_BANG] = ACTIONS(2905),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2791),
    [anon_sym_package] = ACTIONS(2791),
    [anon_sym_COMMA] = ACTIONS(2791),
    [anon_sym_LPAREN] = ACTIONS(2791),
    [anon_sym_LBRACK] = ACTIONS(2791),
    [anon_sym_QMARK] = ACTIONS(2793),
    [anon_sym_QMARK2] = ACTIONS(2791),
    [anon_sym_AMP] = ACTIONS(2791),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2793),
    [anon_sym_GT] = ACTIONS(2793),
    [anon_sym_LBRACE] = ACTIONS(2791),
    [anon_sym_CARET_LBRACE] = ACTIONS(2791),
    [anon_sym_RBRACE] = ACTIONS(2791),
    [anon_sym_case] = ACTIONS(2791),
    [anon_sym_fallthrough] = ACTIONS(2791),
    [anon_sym_PLUS_EQ] = ACTIONS(2791),
    [anon_sym_DASH_EQ] = ACTIONS(2791),
    [anon_sym_STAR_EQ] = ACTIONS(2791),
    [anon_sym_SLASH_EQ] = ACTIONS(2791),
    [anon_sym_PERCENT_EQ] = ACTIONS(2791),
    [anon_sym_BANG_EQ] = ACTIONS(2923),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2925),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2925),
    [anon_sym_LT_EQ] = ACTIONS(2791),
    [anon_sym_GT_EQ] = ACTIONS(2791),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2791),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2791),
    [anon_sym_is] = ACTIONS(2931),
    [anon_sym_PLUS] = ACTIONS(2933),
    [anon_sym_DASH] = ACTIONS(2933),
    [anon_sym_STAR] = ACTIONS(2935),
    [anon_sym_SLASH] = ACTIONS(2935),
    [anon_sym_PERCENT] = ACTIONS(2935),
    [anon_sym_PLUS_PLUS] = ACTIONS(2937),
    [anon_sym_DASH_DASH] = ACTIONS(2937),
    [anon_sym_PIPE] = ACTIONS(2791),
    [anon_sym_CARET] = ACTIONS(2793),
    [anon_sym_LT_LT] = ACTIONS(2791),
    [anon_sym_GT_GT] = ACTIONS(2791),
    [anon_sym_class] = ACTIONS(2791),
    [anon_sym_prefix] = ACTIONS(2791),
    [anon_sym_infix] = ACTIONS(2791),
    [anon_sym_postfix] = ACTIONS(2791),
    [anon_sym_AT] = ACTIONS(2793),
    [anon_sym_override] = ACTIONS(2791),
    [anon_sym_convenience] = ACTIONS(2791),
    [anon_sym_required] = ACTIONS(2791),
    [anon_sym_nonisolated] = ACTIONS(2791),
    [anon_sym_public] = ACTIONS(2791),
    [anon_sym_private] = ACTIONS(2791),
    [anon_sym_internal] = ACTIONS(2791),
    [anon_sym_fileprivate] = ACTIONS(2791),
    [anon_sym_open] = ACTIONS(2791),
    [anon_sym_mutating] = ACTIONS(2791),
    [anon_sym_nonmutating] = ACTIONS(2791),
    [anon_sym_static] = ACTIONS(2791),
    [anon_sym_dynamic] = ACTIONS(2791),
    [anon_sym_optional] = ACTIONS(2791),
    [anon_sym_distributed] = ACTIONS(2791),
    [anon_sym_final] = ACTIONS(2791),
    [anon_sym_inout] = ACTIONS(2791),
    [anon_sym_ATescaping] = ACTIONS(2791),
    [anon_sym_ATautoclosure] = ACTIONS(2791),
    [anon_sym_weak] = ACTIONS(2791),
    [anon_sym_unowned] = ACTIONS(2793),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2791),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2791),
    [anon_sym_borrowing] = ACTIONS(2791),
    [anon_sym_consuming] = ACTIONS(2791),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2791),
    [sym__explicit_semi] = ACTIONS(2791),
    [sym__dot_custom] = ACTIONS(2791),
    [sym__conjunction_operator_custom] = ACTIONS(2943),
    [sym__disjunction_operator_custom] = ACTIONS(2945),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2947),
    [sym__eq_custom] = ACTIONS(2791),
    [sym__eq_eq_custom] = ACTIONS(2925),
    [sym__plus_then_ws] = ACTIONS(2949),
    [sym__minus_then_ws] = ACTIONS(2949),
    [sym__bang_custom] = ACTIONS(2951),
    [sym_default_keyword] = ACTIONS(2791),
    [sym__as_custom] = ACTIONS(2791),
    [sym__as_quest_custom] = ACTIONS(2791),
    [sym__as_bang_custom] = ACTIONS(2791),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [793] = {
    [sym__quest] = STATE(582),
    [sym__immediate_quest] = STATE(1405),
    [sym__range_operator] = STATE(448),
    [sym_custom_operator] = STATE(455),
    [sym_navigation_suffix] = STATE(1416),
    [sym_call_suffix] = STATE(1423),
    [sym__fn_call_lambda_arguments] = STATE(1425),
    [sym_value_arguments] = STATE(1211),
    [sym_lambda_literal] = STATE(1001),
    [sym__equality_operator] = STATE(483),
    [sym__comparison_operator] = STATE(489),
    [sym__three_dot_operator] = STATE(767),
    [sym__open_ended_range_operator] = STATE(448),
    [sym__is_operator] = STATE(4250),
    [sym__additive_operator] = STATE(574),
    [sym__multiplicative_operator] = STATE(706),
    [sym_as_operator] = STATE(4236),
    [sym__bitwise_binary_operator] = STATE(495),
    [sym__postfix_unary_operator] = STATE(1370),
    [sym__eq_eq] = STATE(483),
    [sym__dot] = STATE(5360),
    [sym__conjunction_operator] = STATE(505),
    [sym__disjunction_operator] = STATE(426),
    [sym__nil_coalescing_operator] = STATE(424),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(1370),
    [anon_sym_BANG] = ACTIONS(2905),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2783),
    [anon_sym_package] = ACTIONS(2783),
    [anon_sym_COMMA] = ACTIONS(2783),
    [anon_sym_LPAREN] = ACTIONS(2907),
    [anon_sym_LBRACK] = ACTIONS(2909),
    [anon_sym_QMARK] = ACTIONS(2911),
    [anon_sym_QMARK2] = ACTIONS(2913),
    [anon_sym_AMP] = ACTIONS(2915),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2917),
    [anon_sym_GT] = ACTIONS(2917),
    [anon_sym_LBRACE] = ACTIONS(2921),
    [anon_sym_CARET_LBRACE] = ACTIONS(2921),
    [anon_sym_RBRACE] = ACTIONS(2783),
    [anon_sym_case] = ACTIONS(2783),
    [anon_sym_fallthrough] = ACTIONS(2783),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(2923),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2925),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2925),
    [anon_sym_LT_EQ] = ACTIONS(2927),
    [anon_sym_GT_EQ] = ACTIONS(2927),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2929),
    [anon_sym_is] = ACTIONS(2931),
    [anon_sym_PLUS] = ACTIONS(2933),
    [anon_sym_DASH] = ACTIONS(2933),
    [anon_sym_STAR] = ACTIONS(2935),
    [anon_sym_SLASH] = ACTIONS(2935),
    [anon_sym_PERCENT] = ACTIONS(2935),
    [anon_sym_PLUS_PLUS] = ACTIONS(2937),
    [anon_sym_DASH_DASH] = ACTIONS(2937),
    [anon_sym_PIPE] = ACTIONS(2915),
    [anon_sym_CARET] = ACTIONS(2939),
    [anon_sym_LT_LT] = ACTIONS(2915),
    [anon_sym_GT_GT] = ACTIONS(2915),
    [anon_sym_class] = ACTIONS(2783),
    [anon_sym_prefix] = ACTIONS(2783),
    [anon_sym_infix] = ACTIONS(2783),
    [anon_sym_postfix] = ACTIONS(2783),
    [anon_sym_AT] = ACTIONS(2785),
    [anon_sym_override] = ACTIONS(2783),
    [anon_sym_convenience] = ACTIONS(2783),
    [anon_sym_required] = ACTIONS(2783),
    [anon_sym_nonisolated] = ACTIONS(2783),
    [anon_sym_public] = ACTIONS(2783),
    [anon_sym_private] = ACTIONS(2783),
    [anon_sym_internal] = ACTIONS(2783),
    [anon_sym_fileprivate] = ACTIONS(2783),
    [anon_sym_open] = ACTIONS(2783),
    [anon_sym_mutating] = ACTIONS(2783),
    [anon_sym_nonmutating] = ACTIONS(2783),
    [anon_sym_static] = ACTIONS(2783),
    [anon_sym_dynamic] = ACTIONS(2783),
    [anon_sym_optional] = ACTIONS(2783),
    [anon_sym_distributed] = ACTIONS(2783),
    [anon_sym_final] = ACTIONS(2783),
    [anon_sym_inout] = ACTIONS(2783),
    [anon_sym_ATescaping] = ACTIONS(2783),
    [anon_sym_ATautoclosure] = ACTIONS(2783),
    [anon_sym_weak] = ACTIONS(2783),
    [anon_sym_unowned] = ACTIONS(2785),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2783),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2783),
    [anon_sym_borrowing] = ACTIONS(2783),
    [anon_sym_consuming] = ACTIONS(2783),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2783),
    [sym__explicit_semi] = ACTIONS(2783),
    [sym__dot_custom] = ACTIONS(2941),
    [sym__conjunction_operator_custom] = ACTIONS(2943),
    [sym__disjunction_operator_custom] = ACTIONS(2945),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2947),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(2925),
    [sym__plus_then_ws] = ACTIONS(2949),
    [sym__minus_then_ws] = ACTIONS(2949),
    [sym__bang_custom] = ACTIONS(2951),
    [sym_default_keyword] = ACTIONS(2783),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [794] = {
    [sym__quest] = STATE(582),
    [sym__immediate_quest] = STATE(1405),
    [sym__range_operator] = STATE(448),
    [sym_custom_operator] = STATE(455),
    [sym_navigation_suffix] = STATE(1416),
    [sym_call_suffix] = STATE(1423),
    [sym__fn_call_lambda_arguments] = STATE(1425),
    [sym_value_arguments] = STATE(1211),
    [sym_lambda_literal] = STATE(1001),
    [sym__equality_operator] = STATE(483),
    [sym__comparison_operator] = STATE(489),
    [sym__three_dot_operator] = STATE(767),
    [sym__open_ended_range_operator] = STATE(448),
    [sym__is_operator] = STATE(4250),
    [sym__additive_operator] = STATE(574),
    [sym__multiplicative_operator] = STATE(706),
    [sym_as_operator] = STATE(4236),
    [sym__bitwise_binary_operator] = STATE(495),
    [sym__postfix_unary_operator] = STATE(1370),
    [sym__eq_eq] = STATE(483),
    [sym__dot] = STATE(5360),
    [sym__conjunction_operator] = STATE(505),
    [sym__disjunction_operator] = STATE(426),
    [sym__nil_coalescing_operator] = STATE(424),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(1370),
    [anon_sym_BANG] = ACTIONS(2905),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2753),
    [anon_sym_package] = ACTIONS(2753),
    [anon_sym_COMMA] = ACTIONS(2753),
    [anon_sym_LPAREN] = ACTIONS(2907),
    [anon_sym_LBRACK] = ACTIONS(2909),
    [anon_sym_QMARK] = ACTIONS(2911),
    [anon_sym_QMARK2] = ACTIONS(2913),
    [anon_sym_AMP] = ACTIONS(2915),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2917),
    [anon_sym_GT] = ACTIONS(2917),
    [anon_sym_LBRACE] = ACTIONS(2921),
    [anon_sym_CARET_LBRACE] = ACTIONS(2921),
    [anon_sym_RBRACE] = ACTIONS(2753),
    [anon_sym_case] = ACTIONS(2753),
    [anon_sym_fallthrough] = ACTIONS(2753),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(2923),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2925),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2925),
    [anon_sym_LT_EQ] = ACTIONS(2927),
    [anon_sym_GT_EQ] = ACTIONS(2927),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2929),
    [anon_sym_is] = ACTIONS(2931),
    [anon_sym_PLUS] = ACTIONS(2933),
    [anon_sym_DASH] = ACTIONS(2933),
    [anon_sym_STAR] = ACTIONS(2935),
    [anon_sym_SLASH] = ACTIONS(2935),
    [anon_sym_PERCENT] = ACTIONS(2935),
    [anon_sym_PLUS_PLUS] = ACTIONS(2937),
    [anon_sym_DASH_DASH] = ACTIONS(2937),
    [anon_sym_PIPE] = ACTIONS(2915),
    [anon_sym_CARET] = ACTIONS(2939),
    [anon_sym_LT_LT] = ACTIONS(2915),
    [anon_sym_GT_GT] = ACTIONS(2915),
    [anon_sym_class] = ACTIONS(2753),
    [anon_sym_prefix] = ACTIONS(2753),
    [anon_sym_infix] = ACTIONS(2753),
    [anon_sym_postfix] = ACTIONS(2753),
    [anon_sym_AT] = ACTIONS(2759),
    [anon_sym_override] = ACTIONS(2753),
    [anon_sym_convenience] = ACTIONS(2753),
    [anon_sym_required] = ACTIONS(2753),
    [anon_sym_nonisolated] = ACTIONS(2753),
    [anon_sym_public] = ACTIONS(2753),
    [anon_sym_private] = ACTIONS(2753),
    [anon_sym_internal] = ACTIONS(2753),
    [anon_sym_fileprivate] = ACTIONS(2753),
    [anon_sym_open] = ACTIONS(2753),
    [anon_sym_mutating] = ACTIONS(2753),
    [anon_sym_nonmutating] = ACTIONS(2753),
    [anon_sym_static] = ACTIONS(2753),
    [anon_sym_dynamic] = ACTIONS(2753),
    [anon_sym_optional] = ACTIONS(2753),
    [anon_sym_distributed] = ACTIONS(2753),
    [anon_sym_final] = ACTIONS(2753),
    [anon_sym_inout] = ACTIONS(2753),
    [anon_sym_ATescaping] = ACTIONS(2753),
    [anon_sym_ATautoclosure] = ACTIONS(2753),
    [anon_sym_weak] = ACTIONS(2753),
    [anon_sym_unowned] = ACTIONS(2759),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2753),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2753),
    [anon_sym_borrowing] = ACTIONS(2753),
    [anon_sym_consuming] = ACTIONS(2753),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2753),
    [sym__explicit_semi] = ACTIONS(2753),
    [sym__dot_custom] = ACTIONS(2941),
    [sym__conjunction_operator_custom] = ACTIONS(2943),
    [sym__disjunction_operator_custom] = ACTIONS(2945),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2947),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(2925),
    [sym__plus_then_ws] = ACTIONS(2949),
    [sym__minus_then_ws] = ACTIONS(2949),
    [sym__bang_custom] = ACTIONS(2951),
    [sym_default_keyword] = ACTIONS(2753),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [795] = {
    [sym__quest] = STATE(582),
    [sym__immediate_quest] = STATE(1405),
    [sym__range_operator] = STATE(448),
    [sym_custom_operator] = STATE(455),
    [sym_navigation_suffix] = STATE(1416),
    [sym_call_suffix] = STATE(1423),
    [sym__fn_call_lambda_arguments] = STATE(1425),
    [sym_value_arguments] = STATE(1211),
    [sym_lambda_literal] = STATE(1001),
    [sym__equality_operator] = STATE(483),
    [sym__comparison_operator] = STATE(489),
    [sym__three_dot_operator] = STATE(767),
    [sym__open_ended_range_operator] = STATE(448),
    [sym__is_operator] = STATE(4250),
    [sym__additive_operator] = STATE(574),
    [sym__multiplicative_operator] = STATE(706),
    [sym_as_operator] = STATE(4236),
    [sym__bitwise_binary_operator] = STATE(495),
    [sym__postfix_unary_operator] = STATE(1370),
    [sym__eq_eq] = STATE(483),
    [sym__dot] = STATE(5360),
    [sym__conjunction_operator] = STATE(505),
    [sym__disjunction_operator] = STATE(426),
    [sym__nil_coalescing_operator] = STATE(424),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(1370),
    [anon_sym_BANG] = ACTIONS(2775),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2777),
    [anon_sym_package] = ACTIONS(2777),
    [anon_sym_COMMA] = ACTIONS(2777),
    [anon_sym_LPAREN] = ACTIONS(2777),
    [anon_sym_LBRACK] = ACTIONS(2777),
    [anon_sym_QMARK] = ACTIONS(2775),
    [anon_sym_QMARK2] = ACTIONS(2777),
    [anon_sym_AMP] = ACTIONS(2777),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2775),
    [anon_sym_GT] = ACTIONS(2775),
    [anon_sym_LBRACE] = ACTIONS(2777),
    [anon_sym_CARET_LBRACE] = ACTIONS(2777),
    [anon_sym_RBRACE] = ACTIONS(2777),
    [anon_sym_case] = ACTIONS(2777),
    [anon_sym_fallthrough] = ACTIONS(2777),
    [anon_sym_PLUS_EQ] = ACTIONS(2777),
    [anon_sym_DASH_EQ] = ACTIONS(2777),
    [anon_sym_STAR_EQ] = ACTIONS(2777),
    [anon_sym_SLASH_EQ] = ACTIONS(2777),
    [anon_sym_PERCENT_EQ] = ACTIONS(2777),
    [anon_sym_BANG_EQ] = ACTIONS(2775),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2777),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2777),
    [anon_sym_LT_EQ] = ACTIONS(2777),
    [anon_sym_GT_EQ] = ACTIONS(2777),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2777),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2777),
    [anon_sym_is] = ACTIONS(2777),
    [anon_sym_PLUS] = ACTIONS(2933),
    [anon_sym_DASH] = ACTIONS(2933),
    [anon_sym_STAR] = ACTIONS(2935),
    [anon_sym_SLASH] = ACTIONS(2935),
    [anon_sym_PERCENT] = ACTIONS(2935),
    [anon_sym_PLUS_PLUS] = ACTIONS(2777),
    [anon_sym_DASH_DASH] = ACTIONS(2777),
    [anon_sym_PIPE] = ACTIONS(2777),
    [anon_sym_CARET] = ACTIONS(2775),
    [anon_sym_LT_LT] = ACTIONS(2777),
    [anon_sym_GT_GT] = ACTIONS(2777),
    [anon_sym_class] = ACTIONS(2777),
    [anon_sym_prefix] = ACTIONS(2777),
    [anon_sym_infix] = ACTIONS(2777),
    [anon_sym_postfix] = ACTIONS(2777),
    [anon_sym_AT] = ACTIONS(2775),
    [anon_sym_override] = ACTIONS(2777),
    [anon_sym_convenience] = ACTIONS(2777),
    [anon_sym_required] = ACTIONS(2777),
    [anon_sym_nonisolated] = ACTIONS(2777),
    [anon_sym_public] = ACTIONS(2777),
    [anon_sym_private] = ACTIONS(2777),
    [anon_sym_internal] = ACTIONS(2777),
    [anon_sym_fileprivate] = ACTIONS(2777),
    [anon_sym_open] = ACTIONS(2777),
    [anon_sym_mutating] = ACTIONS(2777),
    [anon_sym_nonmutating] = ACTIONS(2777),
    [anon_sym_static] = ACTIONS(2777),
    [anon_sym_dynamic] = ACTIONS(2777),
    [anon_sym_optional] = ACTIONS(2777),
    [anon_sym_distributed] = ACTIONS(2777),
    [anon_sym_final] = ACTIONS(2777),
    [anon_sym_inout] = ACTIONS(2777),
    [anon_sym_ATescaping] = ACTIONS(2777),
    [anon_sym_ATautoclosure] = ACTIONS(2777),
    [anon_sym_weak] = ACTIONS(2777),
    [anon_sym_unowned] = ACTIONS(2775),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2777),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2777),
    [anon_sym_borrowing] = ACTIONS(2777),
    [anon_sym_consuming] = ACTIONS(2777),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2777),
    [sym__explicit_semi] = ACTIONS(2777),
    [sym__dot_custom] = ACTIONS(2777),
    [sym__conjunction_operator_custom] = ACTIONS(2777),
    [sym__disjunction_operator_custom] = ACTIONS(2777),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2947),
    [sym__eq_custom] = ACTIONS(2777),
    [sym__eq_eq_custom] = ACTIONS(2777),
    [sym__plus_then_ws] = ACTIONS(2949),
    [sym__minus_then_ws] = ACTIONS(2949),
    [sym__bang_custom] = ACTIONS(2777),
    [sym_default_keyword] = ACTIONS(2777),
    [sym__as_custom] = ACTIONS(2777),
    [sym__as_quest_custom] = ACTIONS(2777),
    [sym__as_bang_custom] = ACTIONS(2777),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [796] = {
    [sym__quest] = STATE(582),
    [sym__immediate_quest] = STATE(1405),
    [sym__range_operator] = STATE(448),
    [sym_custom_operator] = STATE(455),
    [sym_navigation_suffix] = STATE(1416),
    [sym_call_suffix] = STATE(1423),
    [sym__fn_call_lambda_arguments] = STATE(1425),
    [sym_value_arguments] = STATE(1211),
    [sym_lambda_literal] = STATE(1001),
    [sym__equality_operator] = STATE(483),
    [sym__comparison_operator] = STATE(489),
    [sym__three_dot_operator] = STATE(767),
    [sym__open_ended_range_operator] = STATE(448),
    [sym__is_operator] = STATE(4250),
    [sym__additive_operator] = STATE(574),
    [sym__multiplicative_operator] = STATE(706),
    [sym_as_operator] = STATE(4236),
    [sym__bitwise_binary_operator] = STATE(495),
    [sym__postfix_unary_operator] = STATE(1370),
    [sym__eq_eq] = STATE(483),
    [sym__dot] = STATE(5360),
    [sym__conjunction_operator] = STATE(505),
    [sym__disjunction_operator] = STATE(426),
    [sym__nil_coalescing_operator] = STATE(424),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(1370),
    [anon_sym_BANG] = ACTIONS(2761),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2763),
    [anon_sym_package] = ACTIONS(2763),
    [anon_sym_COMMA] = ACTIONS(2763),
    [anon_sym_LPAREN] = ACTIONS(2763),
    [anon_sym_LBRACK] = ACTIONS(2763),
    [anon_sym_QMARK] = ACTIONS(2761),
    [anon_sym_QMARK2] = ACTIONS(2763),
    [anon_sym_AMP] = ACTIONS(2763),
    [aux_sym_custom_operator_token1] = ACTIONS(2763),
    [anon_sym_LT] = ACTIONS(2761),
    [anon_sym_GT] = ACTIONS(2761),
    [anon_sym_LBRACE] = ACTIONS(2763),
    [anon_sym_CARET_LBRACE] = ACTIONS(2763),
    [anon_sym_RBRACE] = ACTIONS(2763),
    [anon_sym_case] = ACTIONS(2763),
    [anon_sym_fallthrough] = ACTIONS(2763),
    [anon_sym_PLUS_EQ] = ACTIONS(2763),
    [anon_sym_DASH_EQ] = ACTIONS(2763),
    [anon_sym_STAR_EQ] = ACTIONS(2763),
    [anon_sym_SLASH_EQ] = ACTIONS(2763),
    [anon_sym_PERCENT_EQ] = ACTIONS(2763),
    [anon_sym_BANG_EQ] = ACTIONS(2761),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2763),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2763),
    [anon_sym_LT_EQ] = ACTIONS(2763),
    [anon_sym_GT_EQ] = ACTIONS(2763),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2763),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2763),
    [anon_sym_is] = ACTIONS(2763),
    [anon_sym_PLUS] = ACTIONS(2761),
    [anon_sym_DASH] = ACTIONS(2761),
    [anon_sym_STAR] = ACTIONS(2935),
    [anon_sym_SLASH] = ACTIONS(2935),
    [anon_sym_PERCENT] = ACTIONS(2935),
    [anon_sym_PLUS_PLUS] = ACTIONS(2763),
    [anon_sym_DASH_DASH] = ACTIONS(2763),
    [anon_sym_PIPE] = ACTIONS(2763),
    [anon_sym_CARET] = ACTIONS(2761),
    [anon_sym_LT_LT] = ACTIONS(2763),
    [anon_sym_GT_GT] = ACTIONS(2763),
    [anon_sym_class] = ACTIONS(2763),
    [anon_sym_prefix] = ACTIONS(2763),
    [anon_sym_infix] = ACTIONS(2763),
    [anon_sym_postfix] = ACTIONS(2763),
    [anon_sym_AT] = ACTIONS(2761),
    [anon_sym_override] = ACTIONS(2763),
    [anon_sym_convenience] = ACTIONS(2763),
    [anon_sym_required] = ACTIONS(2763),
    [anon_sym_nonisolated] = ACTIONS(2763),
    [anon_sym_public] = ACTIONS(2763),
    [anon_sym_private] = ACTIONS(2763),
    [anon_sym_internal] = ACTIONS(2763),
    [anon_sym_fileprivate] = ACTIONS(2763),
    [anon_sym_open] = ACTIONS(2763),
    [anon_sym_mutating] = ACTIONS(2763),
    [anon_sym_nonmutating] = ACTIONS(2763),
    [anon_sym_static] = ACTIONS(2763),
    [anon_sym_dynamic] = ACTIONS(2763),
    [anon_sym_optional] = ACTIONS(2763),
    [anon_sym_distributed] = ACTIONS(2763),
    [anon_sym_final] = ACTIONS(2763),
    [anon_sym_inout] = ACTIONS(2763),
    [anon_sym_ATescaping] = ACTIONS(2763),
    [anon_sym_ATautoclosure] = ACTIONS(2763),
    [anon_sym_weak] = ACTIONS(2763),
    [anon_sym_unowned] = ACTIONS(2761),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2763),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2763),
    [anon_sym_borrowing] = ACTIONS(2763),
    [anon_sym_consuming] = ACTIONS(2763),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2763),
    [sym__explicit_semi] = ACTIONS(2763),
    [sym__dot_custom] = ACTIONS(2763),
    [sym__conjunction_operator_custom] = ACTIONS(2763),
    [sym__disjunction_operator_custom] = ACTIONS(2763),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2763),
    [sym__eq_custom] = ACTIONS(2763),
    [sym__eq_eq_custom] = ACTIONS(2763),
    [sym__plus_then_ws] = ACTIONS(2763),
    [sym__minus_then_ws] = ACTIONS(2763),
    [sym__bang_custom] = ACTIONS(2763),
    [sym_default_keyword] = ACTIONS(2763),
    [sym__as_custom] = ACTIONS(2763),
    [sym__as_quest_custom] = ACTIONS(2763),
    [sym__as_bang_custom] = ACTIONS(2763),
    [sym__custom_operator] = ACTIONS(2763),
  },
  [797] = {
    [sym__quest] = STATE(582),
    [sym__immediate_quest] = STATE(1405),
    [sym__range_operator] = STATE(448),
    [sym_custom_operator] = STATE(455),
    [sym_navigation_suffix] = STATE(1416),
    [sym_call_suffix] = STATE(1423),
    [sym__fn_call_lambda_arguments] = STATE(1425),
    [sym_value_arguments] = STATE(1211),
    [sym_lambda_literal] = STATE(1001),
    [sym__equality_operator] = STATE(483),
    [sym__comparison_operator] = STATE(489),
    [sym__three_dot_operator] = STATE(767),
    [sym__open_ended_range_operator] = STATE(448),
    [sym__is_operator] = STATE(4250),
    [sym__additive_operator] = STATE(574),
    [sym__multiplicative_operator] = STATE(706),
    [sym_as_operator] = STATE(4236),
    [sym__bitwise_binary_operator] = STATE(495),
    [sym__postfix_unary_operator] = STATE(1370),
    [sym__eq_eq] = STATE(483),
    [sym__dot] = STATE(5360),
    [sym__conjunction_operator] = STATE(505),
    [sym__disjunction_operator] = STATE(426),
    [sym__nil_coalescing_operator] = STATE(424),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(1370),
    [anon_sym_BANG] = ACTIONS(2905),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2957),
    [anon_sym_package] = ACTIONS(2957),
    [anon_sym_COMMA] = ACTIONS(2957),
    [anon_sym_LPAREN] = ACTIONS(2907),
    [anon_sym_LBRACK] = ACTIONS(2909),
    [anon_sym_QMARK] = ACTIONS(2911),
    [anon_sym_QMARK2] = ACTIONS(2913),
    [anon_sym_AMP] = ACTIONS(2915),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2917),
    [anon_sym_GT] = ACTIONS(2917),
    [anon_sym_LBRACE] = ACTIONS(2921),
    [anon_sym_CARET_LBRACE] = ACTIONS(2921),
    [anon_sym_RBRACE] = ACTIONS(2957),
    [anon_sym_case] = ACTIONS(2957),
    [anon_sym_fallthrough] = ACTIONS(2957),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(2923),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2925),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2925),
    [anon_sym_LT_EQ] = ACTIONS(2927),
    [anon_sym_GT_EQ] = ACTIONS(2927),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2929),
    [anon_sym_is] = ACTIONS(2931),
    [anon_sym_PLUS] = ACTIONS(2933),
    [anon_sym_DASH] = ACTIONS(2933),
    [anon_sym_STAR] = ACTIONS(2935),
    [anon_sym_SLASH] = ACTIONS(2935),
    [anon_sym_PERCENT] = ACTIONS(2935),
    [anon_sym_PLUS_PLUS] = ACTIONS(2937),
    [anon_sym_DASH_DASH] = ACTIONS(2937),
    [anon_sym_PIPE] = ACTIONS(2915),
    [anon_sym_CARET] = ACTIONS(2939),
    [anon_sym_LT_LT] = ACTIONS(2915),
    [anon_sym_GT_GT] = ACTIONS(2915),
    [anon_sym_class] = ACTIONS(2957),
    [anon_sym_prefix] = ACTIONS(2957),
    [anon_sym_infix] = ACTIONS(2957),
    [anon_sym_postfix] = ACTIONS(2957),
    [anon_sym_AT] = ACTIONS(2959),
    [anon_sym_override] = ACTIONS(2957),
    [anon_sym_convenience] = ACTIONS(2957),
    [anon_sym_required] = ACTIONS(2957),
    [anon_sym_nonisolated] = ACTIONS(2957),
    [anon_sym_public] = ACTIONS(2957),
    [anon_sym_private] = ACTIONS(2957),
    [anon_sym_internal] = ACTIONS(2957),
    [anon_sym_fileprivate] = ACTIONS(2957),
    [anon_sym_open] = ACTIONS(2957),
    [anon_sym_mutating] = ACTIONS(2957),
    [anon_sym_nonmutating] = ACTIONS(2957),
    [anon_sym_static] = ACTIONS(2957),
    [anon_sym_dynamic] = ACTIONS(2957),
    [anon_sym_optional] = ACTIONS(2957),
    [anon_sym_distributed] = ACTIONS(2957),
    [anon_sym_final] = ACTIONS(2957),
    [anon_sym_inout] = ACTIONS(2957),
    [anon_sym_ATescaping] = ACTIONS(2957),
    [anon_sym_ATautoclosure] = ACTIONS(2957),
    [anon_sym_weak] = ACTIONS(2957),
    [anon_sym_unowned] = ACTIONS(2959),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2957),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2957),
    [anon_sym_borrowing] = ACTIONS(2957),
    [anon_sym_consuming] = ACTIONS(2957),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2957),
    [sym__explicit_semi] = ACTIONS(2957),
    [sym__dot_custom] = ACTIONS(2941),
    [sym__conjunction_operator_custom] = ACTIONS(2943),
    [sym__disjunction_operator_custom] = ACTIONS(2945),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2947),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(2925),
    [sym__plus_then_ws] = ACTIONS(2949),
    [sym__minus_then_ws] = ACTIONS(2949),
    [sym__bang_custom] = ACTIONS(2951),
    [sym_default_keyword] = ACTIONS(2957),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [798] = {
    [sym_simple_identifier] = STATE(859),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__simple_user_type] = STATE(861),
    [sym_array_type] = STATE(861),
    [sym_dictionary_type] = STATE(861),
    [sym__parameter_ownership_modifier] = STATE(864),
    [aux_sym_key_path_expression_repeat1] = STATE(867),
    [anon_sym_BANG] = ACTIONS(2961),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(449),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(449),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_COMMA] = ACTIONS(2963),
    [anon_sym_LPAREN] = ACTIONS(2963),
    [anon_sym_LBRACK] = ACTIONS(2965),
    [anon_sym_DOT] = ACTIONS(2967),
    [anon_sym_QMARK] = ACTIONS(2961),
    [anon_sym_QMARK2] = ACTIONS(2963),
    [anon_sym_AMP] = ACTIONS(2963),
    [aux_sym_custom_operator_token1] = ACTIONS(2963),
    [anon_sym_LT] = ACTIONS(2961),
    [anon_sym_GT] = ACTIONS(2961),
    [anon_sym_LBRACE] = ACTIONS(2963),
    [anon_sym_CARET_LBRACE] = ACTIONS(2963),
    [anon_sym_RBRACE] = ACTIONS(2963),
    [anon_sym_case] = ACTIONS(2961),
    [anon_sym_PLUS_EQ] = ACTIONS(2963),
    [anon_sym_DASH_EQ] = ACTIONS(2963),
    [anon_sym_STAR_EQ] = ACTIONS(2963),
    [anon_sym_SLASH_EQ] = ACTIONS(2963),
    [anon_sym_PERCENT_EQ] = ACTIONS(2963),
    [anon_sym_BANG_EQ] = ACTIONS(2961),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2963),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2963),
    [anon_sym_LT_EQ] = ACTIONS(2963),
    [anon_sym_GT_EQ] = ACTIONS(2963),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2963),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2963),
    [anon_sym_is] = ACTIONS(2961),
    [anon_sym_PLUS] = ACTIONS(2961),
    [anon_sym_DASH] = ACTIONS(2961),
    [anon_sym_STAR] = ACTIONS(2961),
    [anon_sym_SLASH] = ACTIONS(2961),
    [anon_sym_PERCENT] = ACTIONS(2961),
    [anon_sym_PLUS_PLUS] = ACTIONS(2963),
    [anon_sym_DASH_DASH] = ACTIONS(2963),
    [anon_sym_PIPE] = ACTIONS(2963),
    [anon_sym_CARET] = ACTIONS(2961),
    [anon_sym_LT_LT] = ACTIONS(2963),
    [anon_sym_GT_GT] = ACTIONS(2963),
    [anon_sym_import] = ACTIONS(2961),
    [anon_sym_typealias] = ACTIONS(2961),
    [anon_sym_struct] = ACTIONS(2961),
    [anon_sym_class] = ACTIONS(2961),
    [anon_sym_enum] = ACTIONS(2961),
    [anon_sym_protocol] = ACTIONS(2961),
    [anon_sym_let] = ACTIONS(2961),
    [anon_sym_var] = ACTIONS(2961),
    [anon_sym_func] = ACTIONS(2961),
    [anon_sym_extension] = ACTIONS(2961),
    [anon_sym_indirect] = ACTIONS(2961),
    [anon_sym_SEMI] = ACTIONS(2963),
    [anon_sym_init] = ACTIONS(2961),
    [anon_sym_deinit] = ACTIONS(2961),
    [anon_sym_subscript] = ACTIONS(2961),
    [anon_sym_prefix] = ACTIONS(2961),
    [anon_sym_infix] = ACTIONS(2961),
    [anon_sym_postfix] = ACTIONS(2961),
    [anon_sym_precedencegroup] = ACTIONS(2961),
    [anon_sym_associatedtype] = ACTIONS(2961),
    [anon_sym_AT] = ACTIONS(2961),
    [anon_sym_override] = ACTIONS(2961),
    [anon_sym_convenience] = ACTIONS(2961),
    [anon_sym_required] = ACTIONS(2961),
    [anon_sym_nonisolated] = ACTIONS(2961),
    [anon_sym_public] = ACTIONS(2961),
    [anon_sym_private] = ACTIONS(2961),
    [anon_sym_internal] = ACTIONS(2961),
    [anon_sym_fileprivate] = ACTIONS(2961),
    [anon_sym_open] = ACTIONS(2961),
    [anon_sym_mutating] = ACTIONS(2961),
    [anon_sym_nonmutating] = ACTIONS(2961),
    [anon_sym_static] = ACTIONS(2961),
    [anon_sym_dynamic] = ACTIONS(2961),
    [anon_sym_optional] = ACTIONS(2961),
    [anon_sym_distributed] = ACTIONS(2961),
    [anon_sym_final] = ACTIONS(2961),
    [anon_sym_inout] = ACTIONS(2961),
    [anon_sym_ATescaping] = ACTIONS(2963),
    [anon_sym_ATautoclosure] = ACTIONS(2963),
    [anon_sym_weak] = ACTIONS(2961),
    [anon_sym_unowned] = ACTIONS(2961),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2963),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2963),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2963),
    [sym__conjunction_operator_custom] = ACTIONS(2963),
    [sym__disjunction_operator_custom] = ACTIONS(2963),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2963),
    [sym__eq_custom] = ACTIONS(2963),
    [sym__eq_eq_custom] = ACTIONS(2963),
    [sym__plus_then_ws] = ACTIONS(2963),
    [sym__minus_then_ws] = ACTIONS(2963),
    [sym__bang_custom] = ACTIONS(2963),
    [sym__as_custom] = ACTIONS(2963),
    [sym__as_quest_custom] = ACTIONS(2963),
    [sym__as_bang_custom] = ACTIONS(2963),
    [sym__custom_operator] = ACTIONS(2963),
  },
  [799] = {
    [sym__quest] = STATE(582),
    [sym__immediate_quest] = STATE(1405),
    [sym__range_operator] = STATE(448),
    [sym_custom_operator] = STATE(455),
    [sym_navigation_suffix] = STATE(1416),
    [sym_call_suffix] = STATE(1423),
    [sym__fn_call_lambda_arguments] = STATE(1425),
    [sym_value_arguments] = STATE(1211),
    [sym_lambda_literal] = STATE(1001),
    [sym__equality_operator] = STATE(483),
    [sym__comparison_operator] = STATE(489),
    [sym__three_dot_operator] = STATE(767),
    [sym__open_ended_range_operator] = STATE(448),
    [sym__is_operator] = STATE(4250),
    [sym__additive_operator] = STATE(574),
    [sym__multiplicative_operator] = STATE(706),
    [sym_as_operator] = STATE(4236),
    [sym__bitwise_binary_operator] = STATE(495),
    [sym__postfix_unary_operator] = STATE(1370),
    [sym__eq_eq] = STATE(483),
    [sym__dot] = STATE(5360),
    [sym__conjunction_operator] = STATE(505),
    [sym__disjunction_operator] = STATE(426),
    [sym__nil_coalescing_operator] = STATE(424),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(1370),
    [anon_sym_BANG] = ACTIONS(2905),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2969),
    [anon_sym_package] = ACTIONS(2969),
    [anon_sym_LPAREN] = ACTIONS(2907),
    [anon_sym_LBRACK] = ACTIONS(2909),
    [anon_sym_QMARK] = ACTIONS(2911),
    [anon_sym_QMARK2] = ACTIONS(2913),
    [anon_sym_AMP] = ACTIONS(2915),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2917),
    [anon_sym_GT] = ACTIONS(2917),
    [anon_sym_LBRACE] = ACTIONS(2921),
    [anon_sym_CARET_LBRACE] = ACTIONS(2921),
    [anon_sym_RBRACE] = ACTIONS(2969),
    [anon_sym_case] = ACTIONS(2969),
    [anon_sym_fallthrough] = ACTIONS(2969),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(2923),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2925),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2925),
    [anon_sym_LT_EQ] = ACTIONS(2927),
    [anon_sym_GT_EQ] = ACTIONS(2927),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2929),
    [anon_sym_is] = ACTIONS(2931),
    [anon_sym_PLUS] = ACTIONS(2933),
    [anon_sym_DASH] = ACTIONS(2933),
    [anon_sym_STAR] = ACTIONS(2935),
    [anon_sym_SLASH] = ACTIONS(2935),
    [anon_sym_PERCENT] = ACTIONS(2935),
    [anon_sym_PLUS_PLUS] = ACTIONS(2937),
    [anon_sym_DASH_DASH] = ACTIONS(2937),
    [anon_sym_PIPE] = ACTIONS(2915),
    [anon_sym_CARET] = ACTIONS(2939),
    [anon_sym_LT_LT] = ACTIONS(2915),
    [anon_sym_GT_GT] = ACTIONS(2915),
    [anon_sym_class] = ACTIONS(2969),
    [anon_sym_prefix] = ACTIONS(2969),
    [anon_sym_infix] = ACTIONS(2969),
    [anon_sym_postfix] = ACTIONS(2969),
    [anon_sym_AT] = ACTIONS(2971),
    [anon_sym_override] = ACTIONS(2969),
    [anon_sym_convenience] = ACTIONS(2969),
    [anon_sym_required] = ACTIONS(2969),
    [anon_sym_nonisolated] = ACTIONS(2969),
    [anon_sym_public] = ACTIONS(2969),
    [anon_sym_private] = ACTIONS(2969),
    [anon_sym_internal] = ACTIONS(2969),
    [anon_sym_fileprivate] = ACTIONS(2969),
    [anon_sym_open] = ACTIONS(2969),
    [anon_sym_mutating] = ACTIONS(2969),
    [anon_sym_nonmutating] = ACTIONS(2969),
    [anon_sym_static] = ACTIONS(2969),
    [anon_sym_dynamic] = ACTIONS(2969),
    [anon_sym_optional] = ACTIONS(2969),
    [anon_sym_distributed] = ACTIONS(2969),
    [anon_sym_final] = ACTIONS(2969),
    [anon_sym_inout] = ACTIONS(2969),
    [anon_sym_ATescaping] = ACTIONS(2969),
    [anon_sym_ATautoclosure] = ACTIONS(2969),
    [anon_sym_weak] = ACTIONS(2969),
    [anon_sym_unowned] = ACTIONS(2971),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2969),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2969),
    [anon_sym_borrowing] = ACTIONS(2969),
    [anon_sym_consuming] = ACTIONS(2969),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2969),
    [sym__explicit_semi] = ACTIONS(2969),
    [sym__dot_custom] = ACTIONS(2941),
    [sym__conjunction_operator_custom] = ACTIONS(2943),
    [sym__disjunction_operator_custom] = ACTIONS(2945),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2947),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(2925),
    [sym__plus_then_ws] = ACTIONS(2949),
    [sym__minus_then_ws] = ACTIONS(2949),
    [sym__bang_custom] = ACTIONS(2951),
    [sym_default_keyword] = ACTIONS(2969),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [800] = {
    [sym__quest] = STATE(582),
    [sym__immediate_quest] = STATE(1405),
    [sym__range_operator] = STATE(448),
    [sym_custom_operator] = STATE(455),
    [sym_navigation_suffix] = STATE(1416),
    [sym_call_suffix] = STATE(1423),
    [sym__fn_call_lambda_arguments] = STATE(1425),
    [sym_value_arguments] = STATE(1211),
    [sym_lambda_literal] = STATE(1001),
    [sym__equality_operator] = STATE(483),
    [sym__comparison_operator] = STATE(489),
    [sym__three_dot_operator] = STATE(767),
    [sym__open_ended_range_operator] = STATE(448),
    [sym__is_operator] = STATE(4250),
    [sym__additive_operator] = STATE(574),
    [sym__multiplicative_operator] = STATE(706),
    [sym_as_operator] = STATE(4236),
    [sym__bitwise_binary_operator] = STATE(495),
    [sym__postfix_unary_operator] = STATE(1370),
    [sym__eq_eq] = STATE(483),
    [sym__dot] = STATE(5360),
    [sym__conjunction_operator] = STATE(505),
    [sym__disjunction_operator] = STATE(426),
    [sym__nil_coalescing_operator] = STATE(424),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(1370),
    [anon_sym_BANG] = ACTIONS(2905),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2973),
    [anon_sym_package] = ACTIONS(2973),
    [anon_sym_LPAREN] = ACTIONS(2907),
    [anon_sym_LBRACK] = ACTIONS(2909),
    [anon_sym_QMARK] = ACTIONS(2911),
    [anon_sym_QMARK2] = ACTIONS(2913),
    [anon_sym_AMP] = ACTIONS(2915),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2917),
    [anon_sym_GT] = ACTIONS(2917),
    [anon_sym_LBRACE] = ACTIONS(2921),
    [anon_sym_CARET_LBRACE] = ACTIONS(2921),
    [anon_sym_RBRACE] = ACTIONS(2973),
    [anon_sym_case] = ACTIONS(2973),
    [anon_sym_fallthrough] = ACTIONS(2973),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(2923),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2925),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2925),
    [anon_sym_LT_EQ] = ACTIONS(2927),
    [anon_sym_GT_EQ] = ACTIONS(2927),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2929),
    [anon_sym_is] = ACTIONS(2931),
    [anon_sym_PLUS] = ACTIONS(2933),
    [anon_sym_DASH] = ACTIONS(2933),
    [anon_sym_STAR] = ACTIONS(2935),
    [anon_sym_SLASH] = ACTIONS(2935),
    [anon_sym_PERCENT] = ACTIONS(2935),
    [anon_sym_PLUS_PLUS] = ACTIONS(2937),
    [anon_sym_DASH_DASH] = ACTIONS(2937),
    [anon_sym_PIPE] = ACTIONS(2915),
    [anon_sym_CARET] = ACTIONS(2939),
    [anon_sym_LT_LT] = ACTIONS(2915),
    [anon_sym_GT_GT] = ACTIONS(2915),
    [anon_sym_class] = ACTIONS(2973),
    [anon_sym_prefix] = ACTIONS(2973),
    [anon_sym_infix] = ACTIONS(2973),
    [anon_sym_postfix] = ACTIONS(2973),
    [anon_sym_AT] = ACTIONS(2975),
    [anon_sym_override] = ACTIONS(2973),
    [anon_sym_convenience] = ACTIONS(2973),
    [anon_sym_required] = ACTIONS(2973),
    [anon_sym_nonisolated] = ACTIONS(2973),
    [anon_sym_public] = ACTIONS(2973),
    [anon_sym_private] = ACTIONS(2973),
    [anon_sym_internal] = ACTIONS(2973),
    [anon_sym_fileprivate] = ACTIONS(2973),
    [anon_sym_open] = ACTIONS(2973),
    [anon_sym_mutating] = ACTIONS(2973),
    [anon_sym_nonmutating] = ACTIONS(2973),
    [anon_sym_static] = ACTIONS(2973),
    [anon_sym_dynamic] = ACTIONS(2973),
    [anon_sym_optional] = ACTIONS(2973),
    [anon_sym_distributed] = ACTIONS(2973),
    [anon_sym_final] = ACTIONS(2973),
    [anon_sym_inout] = ACTIONS(2973),
    [anon_sym_ATescaping] = ACTIONS(2973),
    [anon_sym_ATautoclosure] = ACTIONS(2973),
    [anon_sym_weak] = ACTIONS(2973),
    [anon_sym_unowned] = ACTIONS(2975),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2973),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2973),
    [anon_sym_borrowing] = ACTIONS(2973),
    [anon_sym_consuming] = ACTIONS(2973),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2973),
    [sym__explicit_semi] = ACTIONS(2973),
    [sym__dot_custom] = ACTIONS(2941),
    [sym__conjunction_operator_custom] = ACTIONS(2943),
    [sym__disjunction_operator_custom] = ACTIONS(2945),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2947),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(2925),
    [sym__plus_then_ws] = ACTIONS(2949),
    [sym__minus_then_ws] = ACTIONS(2949),
    [sym__bang_custom] = ACTIONS(2951),
    [sym_default_keyword] = ACTIONS(2973),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [801] = {
    [sym__quest] = STATE(582),
    [sym__immediate_quest] = STATE(1405),
    [sym__range_operator] = STATE(448),
    [sym_custom_operator] = STATE(455),
    [sym_navigation_suffix] = STATE(1416),
    [sym_call_suffix] = STATE(1423),
    [sym__fn_call_lambda_arguments] = STATE(1425),
    [sym_value_arguments] = STATE(1211),
    [sym_lambda_literal] = STATE(1001),
    [sym__equality_operator] = STATE(483),
    [sym__comparison_operator] = STATE(489),
    [sym__three_dot_operator] = STATE(767),
    [sym__open_ended_range_operator] = STATE(448),
    [sym__is_operator] = STATE(4250),
    [sym__additive_operator] = STATE(574),
    [sym__multiplicative_operator] = STATE(706),
    [sym_as_operator] = STATE(4236),
    [sym__bitwise_binary_operator] = STATE(495),
    [sym__postfix_unary_operator] = STATE(1370),
    [sym__eq_eq] = STATE(483),
    [sym__dot] = STATE(5360),
    [sym__conjunction_operator] = STATE(505),
    [sym__disjunction_operator] = STATE(426),
    [sym__nil_coalescing_operator] = STATE(424),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(1370),
    [anon_sym_BANG] = ACTIONS(2905),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2977),
    [anon_sym_package] = ACTIONS(2977),
    [anon_sym_LPAREN] = ACTIONS(2907),
    [anon_sym_LBRACK] = ACTIONS(2909),
    [anon_sym_QMARK] = ACTIONS(2911),
    [anon_sym_QMARK2] = ACTIONS(2913),
    [anon_sym_AMP] = ACTIONS(2915),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2917),
    [anon_sym_GT] = ACTIONS(2917),
    [anon_sym_LBRACE] = ACTIONS(2921),
    [anon_sym_CARET_LBRACE] = ACTIONS(2921),
    [anon_sym_RBRACE] = ACTIONS(2977),
    [anon_sym_case] = ACTIONS(2977),
    [anon_sym_fallthrough] = ACTIONS(2977),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(2923),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2925),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2925),
    [anon_sym_LT_EQ] = ACTIONS(2927),
    [anon_sym_GT_EQ] = ACTIONS(2927),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2929),
    [anon_sym_is] = ACTIONS(2931),
    [anon_sym_PLUS] = ACTIONS(2933),
    [anon_sym_DASH] = ACTIONS(2933),
    [anon_sym_STAR] = ACTIONS(2935),
    [anon_sym_SLASH] = ACTIONS(2935),
    [anon_sym_PERCENT] = ACTIONS(2935),
    [anon_sym_PLUS_PLUS] = ACTIONS(2937),
    [anon_sym_DASH_DASH] = ACTIONS(2937),
    [anon_sym_PIPE] = ACTIONS(2915),
    [anon_sym_CARET] = ACTIONS(2939),
    [anon_sym_LT_LT] = ACTIONS(2915),
    [anon_sym_GT_GT] = ACTIONS(2915),
    [anon_sym_class] = ACTIONS(2977),
    [anon_sym_prefix] = ACTIONS(2977),
    [anon_sym_infix] = ACTIONS(2977),
    [anon_sym_postfix] = ACTIONS(2977),
    [anon_sym_AT] = ACTIONS(2979),
    [anon_sym_override] = ACTIONS(2977),
    [anon_sym_convenience] = ACTIONS(2977),
    [anon_sym_required] = ACTIONS(2977),
    [anon_sym_nonisolated] = ACTIONS(2977),
    [anon_sym_public] = ACTIONS(2977),
    [anon_sym_private] = ACTIONS(2977),
    [anon_sym_internal] = ACTIONS(2977),
    [anon_sym_fileprivate] = ACTIONS(2977),
    [anon_sym_open] = ACTIONS(2977),
    [anon_sym_mutating] = ACTIONS(2977),
    [anon_sym_nonmutating] = ACTIONS(2977),
    [anon_sym_static] = ACTIONS(2977),
    [anon_sym_dynamic] = ACTIONS(2977),
    [anon_sym_optional] = ACTIONS(2977),
    [anon_sym_distributed] = ACTIONS(2977),
    [anon_sym_final] = ACTIONS(2977),
    [anon_sym_inout] = ACTIONS(2977),
    [anon_sym_ATescaping] = ACTIONS(2977),
    [anon_sym_ATautoclosure] = ACTIONS(2977),
    [anon_sym_weak] = ACTIONS(2977),
    [anon_sym_unowned] = ACTIONS(2979),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2977),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2977),
    [anon_sym_borrowing] = ACTIONS(2977),
    [anon_sym_consuming] = ACTIONS(2977),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2977),
    [sym__explicit_semi] = ACTIONS(2977),
    [sym__dot_custom] = ACTIONS(2941),
    [sym__conjunction_operator_custom] = ACTIONS(2943),
    [sym__disjunction_operator_custom] = ACTIONS(2945),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2947),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(2925),
    [sym__plus_then_ws] = ACTIONS(2949),
    [sym__minus_then_ws] = ACTIONS(2949),
    [sym__bang_custom] = ACTIONS(2951),
    [sym_default_keyword] = ACTIONS(2977),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [802] = {
    [sym_simple_identifier] = STATE(8677),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [aux_sym__fn_call_lambda_arguments_repeat1] = STATE(802),
    [anon_sym_BANG] = ACTIONS(2981),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2983),
    [aux_sym_simple_identifier_token2] = ACTIONS(2986),
    [aux_sym_simple_identifier_token3] = ACTIONS(2986),
    [aux_sym_simple_identifier_token4] = ACTIONS(2986),
    [anon_sym_actor] = ACTIONS(2983),
    [anon_sym_async] = ACTIONS(2983),
    [anon_sym_each] = ACTIONS(2983),
    [anon_sym_lazy] = ACTIONS(2983),
    [anon_sym_repeat] = ACTIONS(2983),
    [anon_sym_package] = ACTIONS(2983),
    [anon_sym_COMMA] = ACTIONS(2989),
    [anon_sym_LPAREN] = ACTIONS(2989),
    [anon_sym_LBRACK] = ACTIONS(2989),
    [anon_sym_QMARK] = ACTIONS(2981),
    [anon_sym_QMARK2] = ACTIONS(2989),
    [anon_sym_AMP] = ACTIONS(2989),
    [aux_sym_custom_operator_token1] = ACTIONS(2989),
    [anon_sym_LT] = ACTIONS(2981),
    [anon_sym_GT] = ACTIONS(2981),
    [anon_sym_LBRACE] = ACTIONS(2989),
    [anon_sym_CARET_LBRACE] = ACTIONS(2989),
    [anon_sym_RBRACE] = ACTIONS(2989),
    [anon_sym_case] = ACTIONS(2981),
    [anon_sym_PLUS_EQ] = ACTIONS(2989),
    [anon_sym_DASH_EQ] = ACTIONS(2989),
    [anon_sym_STAR_EQ] = ACTIONS(2989),
    [anon_sym_SLASH_EQ] = ACTIONS(2989),
    [anon_sym_PERCENT_EQ] = ACTIONS(2989),
    [anon_sym_BANG_EQ] = ACTIONS(2981),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2989),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2989),
    [anon_sym_LT_EQ] = ACTIONS(2989),
    [anon_sym_GT_EQ] = ACTIONS(2989),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2989),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2989),
    [anon_sym_is] = ACTIONS(2981),
    [anon_sym_PLUS] = ACTIONS(2981),
    [anon_sym_DASH] = ACTIONS(2981),
    [anon_sym_STAR] = ACTIONS(2981),
    [anon_sym_SLASH] = ACTIONS(2981),
    [anon_sym_PERCENT] = ACTIONS(2981),
    [anon_sym_PLUS_PLUS] = ACTIONS(2989),
    [anon_sym_DASH_DASH] = ACTIONS(2989),
    [anon_sym_PIPE] = ACTIONS(2989),
    [anon_sym_CARET] = ACTIONS(2981),
    [anon_sym_LT_LT] = ACTIONS(2989),
    [anon_sym_GT_GT] = ACTIONS(2989),
    [anon_sym_import] = ACTIONS(2981),
    [anon_sym_typealias] = ACTIONS(2981),
    [anon_sym_struct] = ACTIONS(2981),
    [anon_sym_class] = ACTIONS(2981),
    [anon_sym_enum] = ACTIONS(2981),
    [anon_sym_protocol] = ACTIONS(2981),
    [anon_sym_let] = ACTIONS(2981),
    [anon_sym_var] = ACTIONS(2981),
    [anon_sym_func] = ACTIONS(2981),
    [anon_sym_extension] = ACTIONS(2981),
    [anon_sym_indirect] = ACTIONS(2981),
    [anon_sym_SEMI] = ACTIONS(2989),
    [anon_sym_init] = ACTIONS(2981),
    [anon_sym_deinit] = ACTIONS(2981),
    [anon_sym_subscript] = ACTIONS(2981),
    [anon_sym_prefix] = ACTIONS(2981),
    [anon_sym_infix] = ACTIONS(2981),
    [anon_sym_postfix] = ACTIONS(2981),
    [anon_sym_precedencegroup] = ACTIONS(2981),
    [anon_sym_associatedtype] = ACTIONS(2981),
    [anon_sym_AT] = ACTIONS(2981),
    [anon_sym_override] = ACTIONS(2981),
    [anon_sym_convenience] = ACTIONS(2981),
    [anon_sym_required] = ACTIONS(2981),
    [anon_sym_nonisolated] = ACTIONS(2981),
    [anon_sym_public] = ACTIONS(2981),
    [anon_sym_private] = ACTIONS(2981),
    [anon_sym_internal] = ACTIONS(2981),
    [anon_sym_fileprivate] = ACTIONS(2981),
    [anon_sym_open] = ACTIONS(2981),
    [anon_sym_mutating] = ACTIONS(2981),
    [anon_sym_nonmutating] = ACTIONS(2981),
    [anon_sym_static] = ACTIONS(2981),
    [anon_sym_dynamic] = ACTIONS(2981),
    [anon_sym_optional] = ACTIONS(2981),
    [anon_sym_distributed] = ACTIONS(2981),
    [anon_sym_final] = ACTIONS(2981),
    [anon_sym_inout] = ACTIONS(2981),
    [anon_sym_ATescaping] = ACTIONS(2989),
    [anon_sym_ATautoclosure] = ACTIONS(2989),
    [anon_sym_weak] = ACTIONS(2981),
    [anon_sym_unowned] = ACTIONS(2981),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2989),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2989),
    [anon_sym_borrowing] = ACTIONS(2983),
    [anon_sym_consuming] = ACTIONS(2983),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2989),
    [sym__conjunction_operator_custom] = ACTIONS(2989),
    [sym__disjunction_operator_custom] = ACTIONS(2989),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2989),
    [sym__eq_custom] = ACTIONS(2989),
    [sym__eq_eq_custom] = ACTIONS(2989),
    [sym__plus_then_ws] = ACTIONS(2989),
    [sym__minus_then_ws] = ACTIONS(2989),
    [sym__bang_custom] = ACTIONS(2989),
    [sym__as_custom] = ACTIONS(2989),
    [sym__as_quest_custom] = ACTIONS(2989),
    [sym__as_bang_custom] = ACTIONS(2989),
    [sym__custom_operator] = ACTIONS(2989),
  },
  [803] = {
    [sym__dot] = STATE(5441),
    [aux_sym_user_type_repeat1] = STATE(803),
    [anon_sym_BANG] = ACTIONS(2991),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(2993),
    [anon_sym_async] = ACTIONS(2993),
    [anon_sym_lazy] = ACTIONS(2993),
    [anon_sym_package] = ACTIONS(2993),
    [anon_sym_RPAREN] = ACTIONS(2993),
    [anon_sym_COMMA] = ACTIONS(2993),
    [anon_sym_COLON] = ACTIONS(2993),
    [anon_sym_LPAREN] = ACTIONS(2993),
    [anon_sym_LBRACK] = ACTIONS(2993),
    [anon_sym_RBRACK] = ACTIONS(2993),
    [anon_sym_DOT] = ACTIONS(2991),
    [anon_sym_QMARK] = ACTIONS(2991),
    [anon_sym_QMARK2] = ACTIONS(2993),
    [anon_sym_AMP] = ACTIONS(2993),
    [aux_sym_custom_operator_token1] = ACTIONS(2993),
    [anon_sym_LT] = ACTIONS(2991),
    [anon_sym_GT] = ACTIONS(2991),
    [anon_sym_LBRACE] = ACTIONS(2993),
    [anon_sym_CARET_LBRACE] = ACTIONS(2993),
    [anon_sym_RBRACE] = ACTIONS(2993),
    [anon_sym_case] = ACTIONS(2993),
    [anon_sym_PLUS_EQ] = ACTIONS(2993),
    [anon_sym_DASH_EQ] = ACTIONS(2993),
    [anon_sym_STAR_EQ] = ACTIONS(2993),
    [anon_sym_SLASH_EQ] = ACTIONS(2993),
    [anon_sym_PERCENT_EQ] = ACTIONS(2993),
    [anon_sym_BANG_EQ] = ACTIONS(2991),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2993),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2993),
    [anon_sym_LT_EQ] = ACTIONS(2993),
    [anon_sym_GT_EQ] = ACTIONS(2993),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2993),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2993),
    [anon_sym_is] = ACTIONS(2993),
    [anon_sym_PLUS] = ACTIONS(2991),
    [anon_sym_DASH] = ACTIONS(2991),
    [anon_sym_STAR] = ACTIONS(2991),
    [anon_sym_SLASH] = ACTIONS(2991),
    [anon_sym_PERCENT] = ACTIONS(2991),
    [anon_sym_PLUS_PLUS] = ACTIONS(2993),
    [anon_sym_DASH_DASH] = ACTIONS(2993),
    [anon_sym_PIPE] = ACTIONS(2993),
    [anon_sym_CARET] = ACTIONS(2991),
    [anon_sym_LT_LT] = ACTIONS(2993),
    [anon_sym_GT_GT] = ACTIONS(2993),
    [anon_sym_import] = ACTIONS(2993),
    [anon_sym_typealias] = ACTIONS(2993),
    [anon_sym_struct] = ACTIONS(2993),
    [anon_sym_class] = ACTIONS(2993),
    [anon_sym_enum] = ACTIONS(2993),
    [anon_sym_protocol] = ACTIONS(2993),
    [anon_sym_let] = ACTIONS(2993),
    [anon_sym_var] = ACTIONS(2993),
    [anon_sym_func] = ACTIONS(2993),
    [anon_sym_extension] = ACTIONS(2993),
    [anon_sym_indirect] = ACTIONS(2993),
    [anon_sym_SEMI] = ACTIONS(2993),
    [anon_sym_init] = ACTIONS(2993),
    [anon_sym_deinit] = ACTIONS(2993),
    [anon_sym_subscript] = ACTIONS(2993),
    [anon_sym_prefix] = ACTIONS(2993),
    [anon_sym_infix] = ACTIONS(2993),
    [anon_sym_postfix] = ACTIONS(2993),
    [anon_sym_precedencegroup] = ACTIONS(2993),
    [anon_sym_associatedtype] = ACTIONS(2993),
    [anon_sym_AT] = ACTIONS(2991),
    [anon_sym_override] = ACTIONS(2993),
    [anon_sym_convenience] = ACTIONS(2993),
    [anon_sym_required] = ACTIONS(2993),
    [anon_sym_nonisolated] = ACTIONS(2993),
    [anon_sym_public] = ACTIONS(2993),
    [anon_sym_private] = ACTIONS(2993),
    [anon_sym_internal] = ACTIONS(2993),
    [anon_sym_fileprivate] = ACTIONS(2993),
    [anon_sym_open] = ACTIONS(2993),
    [anon_sym_mutating] = ACTIONS(2993),
    [anon_sym_nonmutating] = ACTIONS(2993),
    [anon_sym_static] = ACTIONS(2993),
    [anon_sym_dynamic] = ACTIONS(2993),
    [anon_sym_optional] = ACTIONS(2993),
    [anon_sym_distributed] = ACTIONS(2993),
    [anon_sym_final] = ACTIONS(2993),
    [anon_sym_inout] = ACTIONS(2993),
    [anon_sym_ATescaping] = ACTIONS(2993),
    [anon_sym_ATautoclosure] = ACTIONS(2993),
    [anon_sym_weak] = ACTIONS(2993),
    [anon_sym_unowned] = ACTIONS(2991),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2993),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2993),
    [anon_sym_borrowing] = ACTIONS(2993),
    [anon_sym_consuming] = ACTIONS(2993),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(2993),
    [sym__dot_custom] = ACTIONS(2995),
    [sym__conjunction_operator_custom] = ACTIONS(2993),
    [sym__disjunction_operator_custom] = ACTIONS(2993),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2993),
    [sym__eq_custom] = ACTIONS(2993),
    [sym__eq_eq_custom] = ACTIONS(2993),
    [sym__plus_then_ws] = ACTIONS(2993),
    [sym__minus_then_ws] = ACTIONS(2993),
    [sym__bang_custom] = ACTIONS(2993),
    [sym__throws_keyword] = ACTIONS(2993),
    [sym__rethrows_keyword] = ACTIONS(2993),
    [sym__as_custom] = ACTIONS(2993),
    [sym__as_quest_custom] = ACTIONS(2993),
    [sym__as_bang_custom] = ACTIONS(2993),
    [sym__async_keyword_custom] = ACTIONS(2993),
    [sym__custom_operator] = ACTIONS(2993),
  },
  [804] = {
    [sym__immediate_quest] = STATE(807),
    [sym__arrow_operator] = STATE(4263),
    [sym__async_keyword] = STATE(6902),
    [sym_throws] = STATE(8400),
    [aux_sym_optional_type_repeat1] = STATE(807),
    [anon_sym_BANG] = ACTIONS(2998),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3000),
    [anon_sym_async] = ACTIONS(3000),
    [anon_sym_lazy] = ACTIONS(3000),
    [anon_sym_package] = ACTIONS(3000),
    [anon_sym_COMMA] = ACTIONS(3000),
    [anon_sym_LPAREN] = ACTIONS(3000),
    [anon_sym_LBRACK] = ACTIONS(3000),
    [anon_sym_DOT] = ACTIONS(2998),
    [anon_sym_QMARK] = ACTIONS(2998),
    [anon_sym_QMARK2] = ACTIONS(3002),
    [anon_sym_AMP] = ACTIONS(3000),
    [aux_sym_custom_operator_token1] = ACTIONS(3000),
    [anon_sym_LT] = ACTIONS(2998),
    [anon_sym_GT] = ACTIONS(2998),
    [anon_sym_LBRACE] = ACTIONS(3000),
    [anon_sym_CARET_LBRACE] = ACTIONS(3000),
    [anon_sym_RBRACE] = ACTIONS(3000),
    [anon_sym_case] = ACTIONS(3000),
    [anon_sym_PLUS_EQ] = ACTIONS(3000),
    [anon_sym_DASH_EQ] = ACTIONS(3000),
    [anon_sym_STAR_EQ] = ACTIONS(3000),
    [anon_sym_SLASH_EQ] = ACTIONS(3000),
    [anon_sym_PERCENT_EQ] = ACTIONS(3000),
    [anon_sym_BANG_EQ] = ACTIONS(2998),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3000),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3000),
    [anon_sym_LT_EQ] = ACTIONS(3000),
    [anon_sym_GT_EQ] = ACTIONS(3000),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3000),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3000),
    [anon_sym_is] = ACTIONS(3000),
    [anon_sym_PLUS] = ACTIONS(2998),
    [anon_sym_DASH] = ACTIONS(2998),
    [anon_sym_STAR] = ACTIONS(2998),
    [anon_sym_SLASH] = ACTIONS(2998),
    [anon_sym_PERCENT] = ACTIONS(2998),
    [anon_sym_PLUS_PLUS] = ACTIONS(3000),
    [anon_sym_DASH_DASH] = ACTIONS(3000),
    [anon_sym_PIPE] = ACTIONS(3000),
    [anon_sym_CARET] = ACTIONS(2998),
    [anon_sym_LT_LT] = ACTIONS(3000),
    [anon_sym_GT_GT] = ACTIONS(3000),
    [anon_sym_import] = ACTIONS(3000),
    [anon_sym_typealias] = ACTIONS(3000),
    [anon_sym_struct] = ACTIONS(3000),
    [anon_sym_class] = ACTIONS(3000),
    [anon_sym_enum] = ACTIONS(3000),
    [anon_sym_protocol] = ACTIONS(3000),
    [anon_sym_let] = ACTIONS(3000),
    [anon_sym_var] = ACTIONS(3000),
    [anon_sym_func] = ACTIONS(3000),
    [anon_sym_extension] = ACTIONS(3000),
    [anon_sym_indirect] = ACTIONS(3000),
    [anon_sym_SEMI] = ACTIONS(3000),
    [anon_sym_init] = ACTIONS(3000),
    [anon_sym_deinit] = ACTIONS(3000),
    [anon_sym_subscript] = ACTIONS(3000),
    [anon_sym_prefix] = ACTIONS(3000),
    [anon_sym_infix] = ACTIONS(3000),
    [anon_sym_postfix] = ACTIONS(3000),
    [anon_sym_precedencegroup] = ACTIONS(3000),
    [anon_sym_associatedtype] = ACTIONS(3000),
    [anon_sym_AT] = ACTIONS(2998),
    [anon_sym_override] = ACTIONS(3000),
    [anon_sym_convenience] = ACTIONS(3000),
    [anon_sym_required] = ACTIONS(3000),
    [anon_sym_nonisolated] = ACTIONS(3000),
    [anon_sym_public] = ACTIONS(3000),
    [anon_sym_private] = ACTIONS(3000),
    [anon_sym_internal] = ACTIONS(3000),
    [anon_sym_fileprivate] = ACTIONS(3000),
    [anon_sym_open] = ACTIONS(3000),
    [anon_sym_mutating] = ACTIONS(3000),
    [anon_sym_nonmutating] = ACTIONS(3000),
    [anon_sym_static] = ACTIONS(3000),
    [anon_sym_dynamic] = ACTIONS(3000),
    [anon_sym_optional] = ACTIONS(3000),
    [anon_sym_distributed] = ACTIONS(3000),
    [anon_sym_final] = ACTIONS(3000),
    [anon_sym_inout] = ACTIONS(3000),
    [anon_sym_ATescaping] = ACTIONS(3000),
    [anon_sym_ATautoclosure] = ACTIONS(3000),
    [anon_sym_weak] = ACTIONS(3000),
    [anon_sym_unowned] = ACTIONS(2998),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3000),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3000),
    [anon_sym_borrowing] = ACTIONS(3000),
    [anon_sym_consuming] = ACTIONS(3000),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3004),
    [sym__dot_custom] = ACTIONS(3000),
    [sym__conjunction_operator_custom] = ACTIONS(3000),
    [sym__disjunction_operator_custom] = ACTIONS(3000),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3000),
    [sym__eq_custom] = ACTIONS(3000),
    [sym__eq_eq_custom] = ACTIONS(3000),
    [sym__plus_then_ws] = ACTIONS(3000),
    [sym__minus_then_ws] = ACTIONS(3000),
    [sym__bang_custom] = ACTIONS(3000),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym__as_custom] = ACTIONS(3000),
    [sym__as_quest_custom] = ACTIONS(3000),
    [sym__as_bang_custom] = ACTIONS(3000),
    [sym__async_keyword_custom] = ACTIONS(3008),
    [sym__custom_operator] = ACTIONS(3000),
  },
  [805] = {
    [sym_simple_identifier] = STATE(8677),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [aux_sym__fn_call_lambda_arguments_repeat1] = STATE(806),
    [anon_sym_BANG] = ACTIONS(3010),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3012),
    [aux_sym_simple_identifier_token2] = ACTIONS(3014),
    [aux_sym_simple_identifier_token3] = ACTIONS(3014),
    [aux_sym_simple_identifier_token4] = ACTIONS(3014),
    [anon_sym_actor] = ACTIONS(3016),
    [anon_sym_async] = ACTIONS(3016),
    [anon_sym_each] = ACTIONS(3012),
    [anon_sym_lazy] = ACTIONS(3016),
    [anon_sym_repeat] = ACTIONS(3012),
    [anon_sym_package] = ACTIONS(3016),
    [anon_sym_COMMA] = ACTIONS(3019),
    [anon_sym_LPAREN] = ACTIONS(3019),
    [anon_sym_LBRACK] = ACTIONS(3019),
    [anon_sym_QMARK] = ACTIONS(3010),
    [anon_sym_QMARK2] = ACTIONS(3019),
    [anon_sym_AMP] = ACTIONS(3019),
    [aux_sym_custom_operator_token1] = ACTIONS(3019),
    [anon_sym_LT] = ACTIONS(3010),
    [anon_sym_GT] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(3019),
    [anon_sym_CARET_LBRACE] = ACTIONS(3019),
    [anon_sym_RBRACE] = ACTIONS(3019),
    [anon_sym_case] = ACTIONS(3010),
    [anon_sym_PLUS_EQ] = ACTIONS(3019),
    [anon_sym_DASH_EQ] = ACTIONS(3019),
    [anon_sym_STAR_EQ] = ACTIONS(3019),
    [anon_sym_SLASH_EQ] = ACTIONS(3019),
    [anon_sym_PERCENT_EQ] = ACTIONS(3019),
    [anon_sym_BANG_EQ] = ACTIONS(3010),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3019),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3019),
    [anon_sym_LT_EQ] = ACTIONS(3019),
    [anon_sym_GT_EQ] = ACTIONS(3019),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3019),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3019),
    [anon_sym_is] = ACTIONS(3010),
    [anon_sym_PLUS] = ACTIONS(3010),
    [anon_sym_DASH] = ACTIONS(3010),
    [anon_sym_STAR] = ACTIONS(3010),
    [anon_sym_SLASH] = ACTIONS(3010),
    [anon_sym_PERCENT] = ACTIONS(3010),
    [anon_sym_PLUS_PLUS] = ACTIONS(3019),
    [anon_sym_DASH_DASH] = ACTIONS(3019),
    [anon_sym_PIPE] = ACTIONS(3019),
    [anon_sym_CARET] = ACTIONS(3010),
    [anon_sym_LT_LT] = ACTIONS(3019),
    [anon_sym_GT_GT] = ACTIONS(3019),
    [anon_sym_import] = ACTIONS(3010),
    [anon_sym_typealias] = ACTIONS(3010),
    [anon_sym_struct] = ACTIONS(3010),
    [anon_sym_class] = ACTIONS(3010),
    [anon_sym_enum] = ACTIONS(3010),
    [anon_sym_protocol] = ACTIONS(3010),
    [anon_sym_let] = ACTIONS(3010),
    [anon_sym_var] = ACTIONS(3010),
    [anon_sym_func] = ACTIONS(3010),
    [anon_sym_extension] = ACTIONS(3010),
    [anon_sym_indirect] = ACTIONS(3010),
    [anon_sym_SEMI] = ACTIONS(3019),
    [anon_sym_init] = ACTIONS(3010),
    [anon_sym_deinit] = ACTIONS(3010),
    [anon_sym_subscript] = ACTIONS(3010),
    [anon_sym_prefix] = ACTIONS(3010),
    [anon_sym_infix] = ACTIONS(3010),
    [anon_sym_postfix] = ACTIONS(3010),
    [anon_sym_precedencegroup] = ACTIONS(3010),
    [anon_sym_associatedtype] = ACTIONS(3010),
    [anon_sym_AT] = ACTIONS(3010),
    [anon_sym_override] = ACTIONS(3010),
    [anon_sym_convenience] = ACTIONS(3010),
    [anon_sym_required] = ACTIONS(3010),
    [anon_sym_nonisolated] = ACTIONS(3010),
    [anon_sym_public] = ACTIONS(3010),
    [anon_sym_private] = ACTIONS(3010),
    [anon_sym_internal] = ACTIONS(3010),
    [anon_sym_fileprivate] = ACTIONS(3010),
    [anon_sym_open] = ACTIONS(3010),
    [anon_sym_mutating] = ACTIONS(3010),
    [anon_sym_nonmutating] = ACTIONS(3010),
    [anon_sym_static] = ACTIONS(3010),
    [anon_sym_dynamic] = ACTIONS(3010),
    [anon_sym_optional] = ACTIONS(3010),
    [anon_sym_distributed] = ACTIONS(3010),
    [anon_sym_final] = ACTIONS(3010),
    [anon_sym_inout] = ACTIONS(3010),
    [anon_sym_ATescaping] = ACTIONS(3019),
    [anon_sym_ATautoclosure] = ACTIONS(3019),
    [anon_sym_weak] = ACTIONS(3010),
    [anon_sym_unowned] = ACTIONS(3010),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3019),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3019),
    [anon_sym_borrowing] = ACTIONS(3016),
    [anon_sym_consuming] = ACTIONS(3016),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3019),
    [sym__conjunction_operator_custom] = ACTIONS(3019),
    [sym__disjunction_operator_custom] = ACTIONS(3019),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3019),
    [sym__eq_custom] = ACTIONS(3019),
    [sym__eq_eq_custom] = ACTIONS(3019),
    [sym__plus_then_ws] = ACTIONS(3019),
    [sym__minus_then_ws] = ACTIONS(3019),
    [sym__bang_custom] = ACTIONS(3019),
    [sym__as_custom] = ACTIONS(3019),
    [sym__as_quest_custom] = ACTIONS(3019),
    [sym__as_bang_custom] = ACTIONS(3019),
    [sym__custom_operator] = ACTIONS(3019),
  },
  [806] = {
    [sym_simple_identifier] = STATE(8677),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [aux_sym__fn_call_lambda_arguments_repeat1] = STATE(802),
    [anon_sym_BANG] = ACTIONS(3021),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3012),
    [aux_sym_simple_identifier_token2] = ACTIONS(3014),
    [aux_sym_simple_identifier_token3] = ACTIONS(3014),
    [aux_sym_simple_identifier_token4] = ACTIONS(3014),
    [anon_sym_actor] = ACTIONS(3023),
    [anon_sym_async] = ACTIONS(3023),
    [anon_sym_each] = ACTIONS(3012),
    [anon_sym_lazy] = ACTIONS(3023),
    [anon_sym_repeat] = ACTIONS(3012),
    [anon_sym_package] = ACTIONS(3023),
    [anon_sym_COMMA] = ACTIONS(3026),
    [anon_sym_LPAREN] = ACTIONS(3026),
    [anon_sym_LBRACK] = ACTIONS(3026),
    [anon_sym_QMARK] = ACTIONS(3021),
    [anon_sym_QMARK2] = ACTIONS(3026),
    [anon_sym_AMP] = ACTIONS(3026),
    [aux_sym_custom_operator_token1] = ACTIONS(3026),
    [anon_sym_LT] = ACTIONS(3021),
    [anon_sym_GT] = ACTIONS(3021),
    [anon_sym_LBRACE] = ACTIONS(3026),
    [anon_sym_CARET_LBRACE] = ACTIONS(3026),
    [anon_sym_RBRACE] = ACTIONS(3026),
    [anon_sym_case] = ACTIONS(3021),
    [anon_sym_PLUS_EQ] = ACTIONS(3026),
    [anon_sym_DASH_EQ] = ACTIONS(3026),
    [anon_sym_STAR_EQ] = ACTIONS(3026),
    [anon_sym_SLASH_EQ] = ACTIONS(3026),
    [anon_sym_PERCENT_EQ] = ACTIONS(3026),
    [anon_sym_BANG_EQ] = ACTIONS(3021),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3026),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3026),
    [anon_sym_LT_EQ] = ACTIONS(3026),
    [anon_sym_GT_EQ] = ACTIONS(3026),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3026),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3026),
    [anon_sym_is] = ACTIONS(3021),
    [anon_sym_PLUS] = ACTIONS(3021),
    [anon_sym_DASH] = ACTIONS(3021),
    [anon_sym_STAR] = ACTIONS(3021),
    [anon_sym_SLASH] = ACTIONS(3021),
    [anon_sym_PERCENT] = ACTIONS(3021),
    [anon_sym_PLUS_PLUS] = ACTIONS(3026),
    [anon_sym_DASH_DASH] = ACTIONS(3026),
    [anon_sym_PIPE] = ACTIONS(3026),
    [anon_sym_CARET] = ACTIONS(3021),
    [anon_sym_LT_LT] = ACTIONS(3026),
    [anon_sym_GT_GT] = ACTIONS(3026),
    [anon_sym_import] = ACTIONS(3021),
    [anon_sym_typealias] = ACTIONS(3021),
    [anon_sym_struct] = ACTIONS(3021),
    [anon_sym_class] = ACTIONS(3021),
    [anon_sym_enum] = ACTIONS(3021),
    [anon_sym_protocol] = ACTIONS(3021),
    [anon_sym_let] = ACTIONS(3021),
    [anon_sym_var] = ACTIONS(3021),
    [anon_sym_func] = ACTIONS(3021),
    [anon_sym_extension] = ACTIONS(3021),
    [anon_sym_indirect] = ACTIONS(3021),
    [anon_sym_SEMI] = ACTIONS(3026),
    [anon_sym_init] = ACTIONS(3021),
    [anon_sym_deinit] = ACTIONS(3021),
    [anon_sym_subscript] = ACTIONS(3021),
    [anon_sym_prefix] = ACTIONS(3021),
    [anon_sym_infix] = ACTIONS(3021),
    [anon_sym_postfix] = ACTIONS(3021),
    [anon_sym_precedencegroup] = ACTIONS(3021),
    [anon_sym_associatedtype] = ACTIONS(3021),
    [anon_sym_AT] = ACTIONS(3021),
    [anon_sym_override] = ACTIONS(3021),
    [anon_sym_convenience] = ACTIONS(3021),
    [anon_sym_required] = ACTIONS(3021),
    [anon_sym_nonisolated] = ACTIONS(3021),
    [anon_sym_public] = ACTIONS(3021),
    [anon_sym_private] = ACTIONS(3021),
    [anon_sym_internal] = ACTIONS(3021),
    [anon_sym_fileprivate] = ACTIONS(3021),
    [anon_sym_open] = ACTIONS(3021),
    [anon_sym_mutating] = ACTIONS(3021),
    [anon_sym_nonmutating] = ACTIONS(3021),
    [anon_sym_static] = ACTIONS(3021),
    [anon_sym_dynamic] = ACTIONS(3021),
    [anon_sym_optional] = ACTIONS(3021),
    [anon_sym_distributed] = ACTIONS(3021),
    [anon_sym_final] = ACTIONS(3021),
    [anon_sym_inout] = ACTIONS(3021),
    [anon_sym_ATescaping] = ACTIONS(3026),
    [anon_sym_ATautoclosure] = ACTIONS(3026),
    [anon_sym_weak] = ACTIONS(3021),
    [anon_sym_unowned] = ACTIONS(3021),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3026),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3026),
    [anon_sym_borrowing] = ACTIONS(3023),
    [anon_sym_consuming] = ACTIONS(3023),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3026),
    [sym__conjunction_operator_custom] = ACTIONS(3026),
    [sym__disjunction_operator_custom] = ACTIONS(3026),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3026),
    [sym__eq_custom] = ACTIONS(3026),
    [sym__eq_eq_custom] = ACTIONS(3026),
    [sym__plus_then_ws] = ACTIONS(3026),
    [sym__minus_then_ws] = ACTIONS(3026),
    [sym__bang_custom] = ACTIONS(3026),
    [sym__as_custom] = ACTIONS(3026),
    [sym__as_quest_custom] = ACTIONS(3026),
    [sym__as_bang_custom] = ACTIONS(3026),
    [sym__custom_operator] = ACTIONS(3026),
  },
  [807] = {
    [sym__immediate_quest] = STATE(808),
    [aux_sym_optional_type_repeat1] = STATE(808),
    [anon_sym_BANG] = ACTIONS(3028),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3030),
    [anon_sym_async] = ACTIONS(3030),
    [anon_sym_lazy] = ACTIONS(3030),
    [anon_sym_package] = ACTIONS(3030),
    [anon_sym_RPAREN] = ACTIONS(3030),
    [anon_sym_COMMA] = ACTIONS(3030),
    [anon_sym_COLON] = ACTIONS(3030),
    [anon_sym_LPAREN] = ACTIONS(3030),
    [anon_sym_LBRACK] = ACTIONS(3030),
    [anon_sym_RBRACK] = ACTIONS(3030),
    [anon_sym_DOT] = ACTIONS(3028),
    [anon_sym_QMARK] = ACTIONS(3028),
    [anon_sym_QMARK2] = ACTIONS(3030),
    [anon_sym_AMP] = ACTIONS(3030),
    [aux_sym_custom_operator_token1] = ACTIONS(3030),
    [anon_sym_LT] = ACTIONS(3028),
    [anon_sym_GT] = ACTIONS(3028),
    [anon_sym_LBRACE] = ACTIONS(3030),
    [anon_sym_CARET_LBRACE] = ACTIONS(3030),
    [anon_sym_RBRACE] = ACTIONS(3030),
    [anon_sym_case] = ACTIONS(3030),
    [anon_sym_PLUS_EQ] = ACTIONS(3030),
    [anon_sym_DASH_EQ] = ACTIONS(3030),
    [anon_sym_STAR_EQ] = ACTIONS(3030),
    [anon_sym_SLASH_EQ] = ACTIONS(3030),
    [anon_sym_PERCENT_EQ] = ACTIONS(3030),
    [anon_sym_BANG_EQ] = ACTIONS(3028),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3030),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3030),
    [anon_sym_LT_EQ] = ACTIONS(3030),
    [anon_sym_GT_EQ] = ACTIONS(3030),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3030),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3030),
    [anon_sym_is] = ACTIONS(3030),
    [anon_sym_PLUS] = ACTIONS(3028),
    [anon_sym_DASH] = ACTIONS(3028),
    [anon_sym_STAR] = ACTIONS(3028),
    [anon_sym_SLASH] = ACTIONS(3028),
    [anon_sym_PERCENT] = ACTIONS(3028),
    [anon_sym_PLUS_PLUS] = ACTIONS(3030),
    [anon_sym_DASH_DASH] = ACTIONS(3030),
    [anon_sym_PIPE] = ACTIONS(3030),
    [anon_sym_CARET] = ACTIONS(3028),
    [anon_sym_LT_LT] = ACTIONS(3030),
    [anon_sym_GT_GT] = ACTIONS(3030),
    [anon_sym_import] = ACTIONS(3030),
    [anon_sym_typealias] = ACTIONS(3030),
    [anon_sym_struct] = ACTIONS(3030),
    [anon_sym_class] = ACTIONS(3030),
    [anon_sym_enum] = ACTIONS(3030),
    [anon_sym_protocol] = ACTIONS(3030),
    [anon_sym_let] = ACTIONS(3030),
    [anon_sym_var] = ACTIONS(3030),
    [anon_sym_func] = ACTIONS(3030),
    [anon_sym_extension] = ACTIONS(3030),
    [anon_sym_indirect] = ACTIONS(3030),
    [anon_sym_SEMI] = ACTIONS(3030),
    [anon_sym_init] = ACTIONS(3030),
    [anon_sym_deinit] = ACTIONS(3030),
    [anon_sym_subscript] = ACTIONS(3030),
    [anon_sym_prefix] = ACTIONS(3030),
    [anon_sym_infix] = ACTIONS(3030),
    [anon_sym_postfix] = ACTIONS(3030),
    [anon_sym_precedencegroup] = ACTIONS(3030),
    [anon_sym_associatedtype] = ACTIONS(3030),
    [anon_sym_AT] = ACTIONS(3028),
    [anon_sym_override] = ACTIONS(3030),
    [anon_sym_convenience] = ACTIONS(3030),
    [anon_sym_required] = ACTIONS(3030),
    [anon_sym_nonisolated] = ACTIONS(3030),
    [anon_sym_public] = ACTIONS(3030),
    [anon_sym_private] = ACTIONS(3030),
    [anon_sym_internal] = ACTIONS(3030),
    [anon_sym_fileprivate] = ACTIONS(3030),
    [anon_sym_open] = ACTIONS(3030),
    [anon_sym_mutating] = ACTIONS(3030),
    [anon_sym_nonmutating] = ACTIONS(3030),
    [anon_sym_static] = ACTIONS(3030),
    [anon_sym_dynamic] = ACTIONS(3030),
    [anon_sym_optional] = ACTIONS(3030),
    [anon_sym_distributed] = ACTIONS(3030),
    [anon_sym_final] = ACTIONS(3030),
    [anon_sym_inout] = ACTIONS(3030),
    [anon_sym_ATescaping] = ACTIONS(3030),
    [anon_sym_ATautoclosure] = ACTIONS(3030),
    [anon_sym_weak] = ACTIONS(3030),
    [anon_sym_unowned] = ACTIONS(3028),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3030),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3030),
    [anon_sym_borrowing] = ACTIONS(3030),
    [anon_sym_consuming] = ACTIONS(3030),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3030),
    [sym__dot_custom] = ACTIONS(3030),
    [sym__conjunction_operator_custom] = ACTIONS(3030),
    [sym__disjunction_operator_custom] = ACTIONS(3030),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3030),
    [sym__eq_custom] = ACTIONS(3030),
    [sym__eq_eq_custom] = ACTIONS(3030),
    [sym__plus_then_ws] = ACTIONS(3030),
    [sym__minus_then_ws] = ACTIONS(3030),
    [sym__bang_custom] = ACTIONS(3030),
    [sym__throws_keyword] = ACTIONS(3030),
    [sym__rethrows_keyword] = ACTIONS(3030),
    [sym__as_custom] = ACTIONS(3030),
    [sym__as_quest_custom] = ACTIONS(3030),
    [sym__as_bang_custom] = ACTIONS(3030),
    [sym__async_keyword_custom] = ACTIONS(3030),
    [sym__custom_operator] = ACTIONS(3030),
  },
  [808] = {
    [sym__immediate_quest] = STATE(808),
    [aux_sym_optional_type_repeat1] = STATE(808),
    [anon_sym_BANG] = ACTIONS(3032),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3034),
    [anon_sym_async] = ACTIONS(3034),
    [anon_sym_lazy] = ACTIONS(3034),
    [anon_sym_package] = ACTIONS(3034),
    [anon_sym_RPAREN] = ACTIONS(3034),
    [anon_sym_COMMA] = ACTIONS(3034),
    [anon_sym_COLON] = ACTIONS(3034),
    [anon_sym_LPAREN] = ACTIONS(3034),
    [anon_sym_LBRACK] = ACTIONS(3034),
    [anon_sym_RBRACK] = ACTIONS(3034),
    [anon_sym_DOT] = ACTIONS(3032),
    [anon_sym_QMARK] = ACTIONS(3032),
    [anon_sym_QMARK2] = ACTIONS(3036),
    [anon_sym_AMP] = ACTIONS(3034),
    [aux_sym_custom_operator_token1] = ACTIONS(3034),
    [anon_sym_LT] = ACTIONS(3032),
    [anon_sym_GT] = ACTIONS(3032),
    [anon_sym_LBRACE] = ACTIONS(3034),
    [anon_sym_CARET_LBRACE] = ACTIONS(3034),
    [anon_sym_RBRACE] = ACTIONS(3034),
    [anon_sym_case] = ACTIONS(3034),
    [anon_sym_PLUS_EQ] = ACTIONS(3034),
    [anon_sym_DASH_EQ] = ACTIONS(3034),
    [anon_sym_STAR_EQ] = ACTIONS(3034),
    [anon_sym_SLASH_EQ] = ACTIONS(3034),
    [anon_sym_PERCENT_EQ] = ACTIONS(3034),
    [anon_sym_BANG_EQ] = ACTIONS(3032),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3034),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3034),
    [anon_sym_LT_EQ] = ACTIONS(3034),
    [anon_sym_GT_EQ] = ACTIONS(3034),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3034),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3034),
    [anon_sym_is] = ACTIONS(3034),
    [anon_sym_PLUS] = ACTIONS(3032),
    [anon_sym_DASH] = ACTIONS(3032),
    [anon_sym_STAR] = ACTIONS(3032),
    [anon_sym_SLASH] = ACTIONS(3032),
    [anon_sym_PERCENT] = ACTIONS(3032),
    [anon_sym_PLUS_PLUS] = ACTIONS(3034),
    [anon_sym_DASH_DASH] = ACTIONS(3034),
    [anon_sym_PIPE] = ACTIONS(3034),
    [anon_sym_CARET] = ACTIONS(3032),
    [anon_sym_LT_LT] = ACTIONS(3034),
    [anon_sym_GT_GT] = ACTIONS(3034),
    [anon_sym_import] = ACTIONS(3034),
    [anon_sym_typealias] = ACTIONS(3034),
    [anon_sym_struct] = ACTIONS(3034),
    [anon_sym_class] = ACTIONS(3034),
    [anon_sym_enum] = ACTIONS(3034),
    [anon_sym_protocol] = ACTIONS(3034),
    [anon_sym_let] = ACTIONS(3034),
    [anon_sym_var] = ACTIONS(3034),
    [anon_sym_func] = ACTIONS(3034),
    [anon_sym_extension] = ACTIONS(3034),
    [anon_sym_indirect] = ACTIONS(3034),
    [anon_sym_SEMI] = ACTIONS(3034),
    [anon_sym_init] = ACTIONS(3034),
    [anon_sym_deinit] = ACTIONS(3034),
    [anon_sym_subscript] = ACTIONS(3034),
    [anon_sym_prefix] = ACTIONS(3034),
    [anon_sym_infix] = ACTIONS(3034),
    [anon_sym_postfix] = ACTIONS(3034),
    [anon_sym_precedencegroup] = ACTIONS(3034),
    [anon_sym_associatedtype] = ACTIONS(3034),
    [anon_sym_AT] = ACTIONS(3032),
    [anon_sym_override] = ACTIONS(3034),
    [anon_sym_convenience] = ACTIONS(3034),
    [anon_sym_required] = ACTIONS(3034),
    [anon_sym_nonisolated] = ACTIONS(3034),
    [anon_sym_public] = ACTIONS(3034),
    [anon_sym_private] = ACTIONS(3034),
    [anon_sym_internal] = ACTIONS(3034),
    [anon_sym_fileprivate] = ACTIONS(3034),
    [anon_sym_open] = ACTIONS(3034),
    [anon_sym_mutating] = ACTIONS(3034),
    [anon_sym_nonmutating] = ACTIONS(3034),
    [anon_sym_static] = ACTIONS(3034),
    [anon_sym_dynamic] = ACTIONS(3034),
    [anon_sym_optional] = ACTIONS(3034),
    [anon_sym_distributed] = ACTIONS(3034),
    [anon_sym_final] = ACTIONS(3034),
    [anon_sym_inout] = ACTIONS(3034),
    [anon_sym_ATescaping] = ACTIONS(3034),
    [anon_sym_ATautoclosure] = ACTIONS(3034),
    [anon_sym_weak] = ACTIONS(3034),
    [anon_sym_unowned] = ACTIONS(3032),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3034),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3034),
    [anon_sym_borrowing] = ACTIONS(3034),
    [anon_sym_consuming] = ACTIONS(3034),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3034),
    [sym__dot_custom] = ACTIONS(3034),
    [sym__conjunction_operator_custom] = ACTIONS(3034),
    [sym__disjunction_operator_custom] = ACTIONS(3034),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3034),
    [sym__eq_custom] = ACTIONS(3034),
    [sym__eq_eq_custom] = ACTIONS(3034),
    [sym__plus_then_ws] = ACTIONS(3034),
    [sym__minus_then_ws] = ACTIONS(3034),
    [sym__bang_custom] = ACTIONS(3034),
    [sym__throws_keyword] = ACTIONS(3034),
    [sym__rethrows_keyword] = ACTIONS(3034),
    [sym__as_custom] = ACTIONS(3034),
    [sym__as_quest_custom] = ACTIONS(3034),
    [sym__as_bang_custom] = ACTIONS(3034),
    [sym__async_keyword_custom] = ACTIONS(3034),
    [sym__custom_operator] = ACTIONS(3034),
  },
  [809] = {
    [sym__dot] = STATE(5441),
    [aux_sym_user_type_repeat1] = STATE(803),
    [anon_sym_BANG] = ACTIONS(3039),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3041),
    [anon_sym_async] = ACTIONS(3041),
    [anon_sym_lazy] = ACTIONS(3041),
    [anon_sym_package] = ACTIONS(3041),
    [anon_sym_RPAREN] = ACTIONS(3041),
    [anon_sym_COMMA] = ACTIONS(3041),
    [anon_sym_COLON] = ACTIONS(3041),
    [anon_sym_LPAREN] = ACTIONS(3041),
    [anon_sym_LBRACK] = ACTIONS(3041),
    [anon_sym_RBRACK] = ACTIONS(3041),
    [anon_sym_DOT] = ACTIONS(3039),
    [anon_sym_QMARK] = ACTIONS(3039),
    [anon_sym_QMARK2] = ACTIONS(3041),
    [anon_sym_AMP] = ACTIONS(3041),
    [aux_sym_custom_operator_token1] = ACTIONS(3041),
    [anon_sym_LT] = ACTIONS(3039),
    [anon_sym_GT] = ACTIONS(3039),
    [anon_sym_LBRACE] = ACTIONS(3041),
    [anon_sym_CARET_LBRACE] = ACTIONS(3041),
    [anon_sym_RBRACE] = ACTIONS(3041),
    [anon_sym_case] = ACTIONS(3041),
    [anon_sym_PLUS_EQ] = ACTIONS(3041),
    [anon_sym_DASH_EQ] = ACTIONS(3041),
    [anon_sym_STAR_EQ] = ACTIONS(3041),
    [anon_sym_SLASH_EQ] = ACTIONS(3041),
    [anon_sym_PERCENT_EQ] = ACTIONS(3041),
    [anon_sym_BANG_EQ] = ACTIONS(3039),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3041),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3041),
    [anon_sym_LT_EQ] = ACTIONS(3041),
    [anon_sym_GT_EQ] = ACTIONS(3041),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3041),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3041),
    [anon_sym_is] = ACTIONS(3041),
    [anon_sym_PLUS] = ACTIONS(3039),
    [anon_sym_DASH] = ACTIONS(3039),
    [anon_sym_STAR] = ACTIONS(3039),
    [anon_sym_SLASH] = ACTIONS(3039),
    [anon_sym_PERCENT] = ACTIONS(3039),
    [anon_sym_PLUS_PLUS] = ACTIONS(3041),
    [anon_sym_DASH_DASH] = ACTIONS(3041),
    [anon_sym_PIPE] = ACTIONS(3041),
    [anon_sym_CARET] = ACTIONS(3039),
    [anon_sym_LT_LT] = ACTIONS(3041),
    [anon_sym_GT_GT] = ACTIONS(3041),
    [anon_sym_import] = ACTIONS(3041),
    [anon_sym_typealias] = ACTIONS(3041),
    [anon_sym_struct] = ACTIONS(3041),
    [anon_sym_class] = ACTIONS(3041),
    [anon_sym_enum] = ACTIONS(3041),
    [anon_sym_protocol] = ACTIONS(3041),
    [anon_sym_let] = ACTIONS(3041),
    [anon_sym_var] = ACTIONS(3041),
    [anon_sym_func] = ACTIONS(3041),
    [anon_sym_extension] = ACTIONS(3041),
    [anon_sym_indirect] = ACTIONS(3041),
    [anon_sym_SEMI] = ACTIONS(3041),
    [anon_sym_init] = ACTIONS(3041),
    [anon_sym_deinit] = ACTIONS(3041),
    [anon_sym_subscript] = ACTIONS(3041),
    [anon_sym_prefix] = ACTIONS(3041),
    [anon_sym_infix] = ACTIONS(3041),
    [anon_sym_postfix] = ACTIONS(3041),
    [anon_sym_precedencegroup] = ACTIONS(3041),
    [anon_sym_associatedtype] = ACTIONS(3041),
    [anon_sym_AT] = ACTIONS(3039),
    [anon_sym_override] = ACTIONS(3041),
    [anon_sym_convenience] = ACTIONS(3041),
    [anon_sym_required] = ACTIONS(3041),
    [anon_sym_nonisolated] = ACTIONS(3041),
    [anon_sym_public] = ACTIONS(3041),
    [anon_sym_private] = ACTIONS(3041),
    [anon_sym_internal] = ACTIONS(3041),
    [anon_sym_fileprivate] = ACTIONS(3041),
    [anon_sym_open] = ACTIONS(3041),
    [anon_sym_mutating] = ACTIONS(3041),
    [anon_sym_nonmutating] = ACTIONS(3041),
    [anon_sym_static] = ACTIONS(3041),
    [anon_sym_dynamic] = ACTIONS(3041),
    [anon_sym_optional] = ACTIONS(3041),
    [anon_sym_distributed] = ACTIONS(3041),
    [anon_sym_final] = ACTIONS(3041),
    [anon_sym_inout] = ACTIONS(3041),
    [anon_sym_ATescaping] = ACTIONS(3041),
    [anon_sym_ATautoclosure] = ACTIONS(3041),
    [anon_sym_weak] = ACTIONS(3041),
    [anon_sym_unowned] = ACTIONS(3039),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3041),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3041),
    [anon_sym_borrowing] = ACTIONS(3041),
    [anon_sym_consuming] = ACTIONS(3041),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3041),
    [sym__dot_custom] = ACTIONS(3043),
    [sym__conjunction_operator_custom] = ACTIONS(3041),
    [sym__disjunction_operator_custom] = ACTIONS(3041),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3041),
    [sym__eq_custom] = ACTIONS(3041),
    [sym__eq_eq_custom] = ACTIONS(3041),
    [sym__plus_then_ws] = ACTIONS(3041),
    [sym__minus_then_ws] = ACTIONS(3041),
    [sym__bang_custom] = ACTIONS(3041),
    [sym__throws_keyword] = ACTIONS(3041),
    [sym__rethrows_keyword] = ACTIONS(3041),
    [sym__as_custom] = ACTIONS(3041),
    [sym__as_quest_custom] = ACTIONS(3041),
    [sym__as_bang_custom] = ACTIONS(3041),
    [sym__async_keyword_custom] = ACTIONS(3041),
    [sym__custom_operator] = ACTIONS(3041),
  },
  [810] = {
    [sym__dot] = STATE(5441),
    [aux_sym_user_type_repeat1] = STATE(809),
    [anon_sym_BANG] = ACTIONS(3046),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3048),
    [anon_sym_async] = ACTIONS(3048),
    [anon_sym_lazy] = ACTIONS(3048),
    [anon_sym_package] = ACTIONS(3048),
    [anon_sym_RPAREN] = ACTIONS(3048),
    [anon_sym_COMMA] = ACTIONS(3048),
    [anon_sym_COLON] = ACTIONS(3048),
    [anon_sym_LPAREN] = ACTIONS(3048),
    [anon_sym_LBRACK] = ACTIONS(3048),
    [anon_sym_RBRACK] = ACTIONS(3048),
    [anon_sym_DOT] = ACTIONS(3046),
    [anon_sym_QMARK] = ACTIONS(3046),
    [anon_sym_QMARK2] = ACTIONS(3048),
    [anon_sym_AMP] = ACTIONS(3048),
    [aux_sym_custom_operator_token1] = ACTIONS(3048),
    [anon_sym_LT] = ACTIONS(3046),
    [anon_sym_GT] = ACTIONS(3046),
    [anon_sym_LBRACE] = ACTIONS(3048),
    [anon_sym_CARET_LBRACE] = ACTIONS(3048),
    [anon_sym_RBRACE] = ACTIONS(3048),
    [anon_sym_case] = ACTIONS(3048),
    [anon_sym_PLUS_EQ] = ACTIONS(3048),
    [anon_sym_DASH_EQ] = ACTIONS(3048),
    [anon_sym_STAR_EQ] = ACTIONS(3048),
    [anon_sym_SLASH_EQ] = ACTIONS(3048),
    [anon_sym_PERCENT_EQ] = ACTIONS(3048),
    [anon_sym_BANG_EQ] = ACTIONS(3046),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3048),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3048),
    [anon_sym_LT_EQ] = ACTIONS(3048),
    [anon_sym_GT_EQ] = ACTIONS(3048),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3048),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3048),
    [anon_sym_is] = ACTIONS(3048),
    [anon_sym_PLUS] = ACTIONS(3046),
    [anon_sym_DASH] = ACTIONS(3046),
    [anon_sym_STAR] = ACTIONS(3046),
    [anon_sym_SLASH] = ACTIONS(3046),
    [anon_sym_PERCENT] = ACTIONS(3046),
    [anon_sym_PLUS_PLUS] = ACTIONS(3048),
    [anon_sym_DASH_DASH] = ACTIONS(3048),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_CARET] = ACTIONS(3046),
    [anon_sym_LT_LT] = ACTIONS(3048),
    [anon_sym_GT_GT] = ACTIONS(3048),
    [anon_sym_import] = ACTIONS(3048),
    [anon_sym_typealias] = ACTIONS(3048),
    [anon_sym_struct] = ACTIONS(3048),
    [anon_sym_class] = ACTIONS(3048),
    [anon_sym_enum] = ACTIONS(3048),
    [anon_sym_protocol] = ACTIONS(3048),
    [anon_sym_let] = ACTIONS(3048),
    [anon_sym_var] = ACTIONS(3048),
    [anon_sym_func] = ACTIONS(3048),
    [anon_sym_extension] = ACTIONS(3048),
    [anon_sym_indirect] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(3048),
    [anon_sym_init] = ACTIONS(3048),
    [anon_sym_deinit] = ACTIONS(3048),
    [anon_sym_subscript] = ACTIONS(3048),
    [anon_sym_prefix] = ACTIONS(3048),
    [anon_sym_infix] = ACTIONS(3048),
    [anon_sym_postfix] = ACTIONS(3048),
    [anon_sym_precedencegroup] = ACTIONS(3048),
    [anon_sym_associatedtype] = ACTIONS(3048),
    [anon_sym_AT] = ACTIONS(3046),
    [anon_sym_override] = ACTIONS(3048),
    [anon_sym_convenience] = ACTIONS(3048),
    [anon_sym_required] = ACTIONS(3048),
    [anon_sym_nonisolated] = ACTIONS(3048),
    [anon_sym_public] = ACTIONS(3048),
    [anon_sym_private] = ACTIONS(3048),
    [anon_sym_internal] = ACTIONS(3048),
    [anon_sym_fileprivate] = ACTIONS(3048),
    [anon_sym_open] = ACTIONS(3048),
    [anon_sym_mutating] = ACTIONS(3048),
    [anon_sym_nonmutating] = ACTIONS(3048),
    [anon_sym_static] = ACTIONS(3048),
    [anon_sym_dynamic] = ACTIONS(3048),
    [anon_sym_optional] = ACTIONS(3048),
    [anon_sym_distributed] = ACTIONS(3048),
    [anon_sym_final] = ACTIONS(3048),
    [anon_sym_inout] = ACTIONS(3048),
    [anon_sym_ATescaping] = ACTIONS(3048),
    [anon_sym_ATautoclosure] = ACTIONS(3048),
    [anon_sym_weak] = ACTIONS(3048),
    [anon_sym_unowned] = ACTIONS(3046),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3048),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3048),
    [anon_sym_borrowing] = ACTIONS(3048),
    [anon_sym_consuming] = ACTIONS(3048),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3048),
    [sym__dot_custom] = ACTIONS(3050),
    [sym__conjunction_operator_custom] = ACTIONS(3048),
    [sym__disjunction_operator_custom] = ACTIONS(3048),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3048),
    [sym__eq_custom] = ACTIONS(3048),
    [sym__eq_eq_custom] = ACTIONS(3048),
    [sym__plus_then_ws] = ACTIONS(3048),
    [sym__minus_then_ws] = ACTIONS(3048),
    [sym__bang_custom] = ACTIONS(3048),
    [sym__throws_keyword] = ACTIONS(3048),
    [sym__rethrows_keyword] = ACTIONS(3048),
    [sym__as_custom] = ACTIONS(3048),
    [sym__as_quest_custom] = ACTIONS(3048),
    [sym__as_bang_custom] = ACTIONS(3048),
    [sym__async_keyword_custom] = ACTIONS(3048),
    [sym__custom_operator] = ACTIONS(3048),
  },
  [811] = {
    [sym__immediate_quest] = STATE(807),
    [aux_sym_optional_type_repeat1] = STATE(807),
    [anon_sym_BANG] = ACTIONS(2998),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3000),
    [anon_sym_async] = ACTIONS(3000),
    [anon_sym_lazy] = ACTIONS(3000),
    [anon_sym_package] = ACTIONS(3000),
    [anon_sym_RPAREN] = ACTIONS(3000),
    [anon_sym_COMMA] = ACTIONS(3000),
    [anon_sym_COLON] = ACTIONS(3000),
    [anon_sym_LPAREN] = ACTIONS(3000),
    [anon_sym_LBRACK] = ACTIONS(3000),
    [anon_sym_RBRACK] = ACTIONS(3000),
    [anon_sym_DOT] = ACTIONS(2998),
    [anon_sym_QMARK] = ACTIONS(2998),
    [anon_sym_QMARK2] = ACTIONS(3002),
    [anon_sym_AMP] = ACTIONS(3000),
    [aux_sym_custom_operator_token1] = ACTIONS(3000),
    [anon_sym_LT] = ACTIONS(2998),
    [anon_sym_GT] = ACTIONS(2998),
    [anon_sym_LBRACE] = ACTIONS(3000),
    [anon_sym_CARET_LBRACE] = ACTIONS(3000),
    [anon_sym_RBRACE] = ACTIONS(3000),
    [anon_sym_case] = ACTIONS(3000),
    [anon_sym_PLUS_EQ] = ACTIONS(3000),
    [anon_sym_DASH_EQ] = ACTIONS(3000),
    [anon_sym_STAR_EQ] = ACTIONS(3000),
    [anon_sym_SLASH_EQ] = ACTIONS(3000),
    [anon_sym_PERCENT_EQ] = ACTIONS(3000),
    [anon_sym_BANG_EQ] = ACTIONS(2998),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3000),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3000),
    [anon_sym_LT_EQ] = ACTIONS(3000),
    [anon_sym_GT_EQ] = ACTIONS(3000),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3000),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3000),
    [anon_sym_is] = ACTIONS(3000),
    [anon_sym_PLUS] = ACTIONS(2998),
    [anon_sym_DASH] = ACTIONS(2998),
    [anon_sym_STAR] = ACTIONS(2998),
    [anon_sym_SLASH] = ACTIONS(2998),
    [anon_sym_PERCENT] = ACTIONS(2998),
    [anon_sym_PLUS_PLUS] = ACTIONS(3000),
    [anon_sym_DASH_DASH] = ACTIONS(3000),
    [anon_sym_PIPE] = ACTIONS(3000),
    [anon_sym_CARET] = ACTIONS(2998),
    [anon_sym_LT_LT] = ACTIONS(3000),
    [anon_sym_GT_GT] = ACTIONS(3000),
    [anon_sym_import] = ACTIONS(3000),
    [anon_sym_typealias] = ACTIONS(3000),
    [anon_sym_struct] = ACTIONS(3000),
    [anon_sym_class] = ACTIONS(3000),
    [anon_sym_enum] = ACTIONS(3000),
    [anon_sym_protocol] = ACTIONS(3000),
    [anon_sym_let] = ACTIONS(3000),
    [anon_sym_var] = ACTIONS(3000),
    [anon_sym_func] = ACTIONS(3000),
    [anon_sym_extension] = ACTIONS(3000),
    [anon_sym_indirect] = ACTIONS(3000),
    [anon_sym_SEMI] = ACTIONS(3000),
    [anon_sym_init] = ACTIONS(3000),
    [anon_sym_deinit] = ACTIONS(3000),
    [anon_sym_subscript] = ACTIONS(3000),
    [anon_sym_prefix] = ACTIONS(3000),
    [anon_sym_infix] = ACTIONS(3000),
    [anon_sym_postfix] = ACTIONS(3000),
    [anon_sym_precedencegroup] = ACTIONS(3000),
    [anon_sym_associatedtype] = ACTIONS(3000),
    [anon_sym_AT] = ACTIONS(2998),
    [anon_sym_override] = ACTIONS(3000),
    [anon_sym_convenience] = ACTIONS(3000),
    [anon_sym_required] = ACTIONS(3000),
    [anon_sym_nonisolated] = ACTIONS(3000),
    [anon_sym_public] = ACTIONS(3000),
    [anon_sym_private] = ACTIONS(3000),
    [anon_sym_internal] = ACTIONS(3000),
    [anon_sym_fileprivate] = ACTIONS(3000),
    [anon_sym_open] = ACTIONS(3000),
    [anon_sym_mutating] = ACTIONS(3000),
    [anon_sym_nonmutating] = ACTIONS(3000),
    [anon_sym_static] = ACTIONS(3000),
    [anon_sym_dynamic] = ACTIONS(3000),
    [anon_sym_optional] = ACTIONS(3000),
    [anon_sym_distributed] = ACTIONS(3000),
    [anon_sym_final] = ACTIONS(3000),
    [anon_sym_inout] = ACTIONS(3000),
    [anon_sym_ATescaping] = ACTIONS(3000),
    [anon_sym_ATautoclosure] = ACTIONS(3000),
    [anon_sym_weak] = ACTIONS(3000),
    [anon_sym_unowned] = ACTIONS(2998),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3000),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3000),
    [anon_sym_borrowing] = ACTIONS(3000),
    [anon_sym_consuming] = ACTIONS(3000),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3000),
    [sym__dot_custom] = ACTIONS(3000),
    [sym__conjunction_operator_custom] = ACTIONS(3000),
    [sym__disjunction_operator_custom] = ACTIONS(3000),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3000),
    [sym__eq_custom] = ACTIONS(3000),
    [sym__eq_eq_custom] = ACTIONS(3000),
    [sym__plus_then_ws] = ACTIONS(3000),
    [sym__minus_then_ws] = ACTIONS(3000),
    [sym__bang_custom] = ACTIONS(3000),
    [sym__throws_keyword] = ACTIONS(3000),
    [sym__rethrows_keyword] = ACTIONS(3000),
    [sym__as_custom] = ACTIONS(3000),
    [sym__as_quest_custom] = ACTIONS(3000),
    [sym__as_bang_custom] = ACTIONS(3000),
    [sym__async_keyword_custom] = ACTIONS(3000),
    [sym__custom_operator] = ACTIONS(3000),
  },
  [812] = {
    [sym__arrow_operator] = STATE(4263),
    [sym__async_keyword] = STATE(6902),
    [sym_throws] = STATE(8400),
    [aux_sym_protocol_composition_type_repeat1] = STATE(853),
    [anon_sym_BANG] = ACTIONS(3053),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3055),
    [anon_sym_async] = ACTIONS(3055),
    [anon_sym_lazy] = ACTIONS(3055),
    [anon_sym_package] = ACTIONS(3055),
    [anon_sym_COMMA] = ACTIONS(3055),
    [anon_sym_LPAREN] = ACTIONS(3055),
    [anon_sym_LBRACK] = ACTIONS(3055),
    [anon_sym_DOT] = ACTIONS(3057),
    [anon_sym_QMARK] = ACTIONS(3053),
    [anon_sym_QMARK2] = ACTIONS(3055),
    [anon_sym_AMP] = ACTIONS(3059),
    [aux_sym_custom_operator_token1] = ACTIONS(3055),
    [anon_sym_LT] = ACTIONS(3053),
    [anon_sym_GT] = ACTIONS(3053),
    [anon_sym_LBRACE] = ACTIONS(3055),
    [anon_sym_CARET_LBRACE] = ACTIONS(3055),
    [anon_sym_RBRACE] = ACTIONS(3055),
    [anon_sym_case] = ACTIONS(3055),
    [anon_sym_PLUS_EQ] = ACTIONS(3055),
    [anon_sym_DASH_EQ] = ACTIONS(3055),
    [anon_sym_STAR_EQ] = ACTIONS(3055),
    [anon_sym_SLASH_EQ] = ACTIONS(3055),
    [anon_sym_PERCENT_EQ] = ACTIONS(3055),
    [anon_sym_BANG_EQ] = ACTIONS(3053),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3055),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3055),
    [anon_sym_LT_EQ] = ACTIONS(3055),
    [anon_sym_GT_EQ] = ACTIONS(3055),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3055),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3055),
    [anon_sym_is] = ACTIONS(3055),
    [anon_sym_PLUS] = ACTIONS(3053),
    [anon_sym_DASH] = ACTIONS(3053),
    [anon_sym_STAR] = ACTIONS(3053),
    [anon_sym_SLASH] = ACTIONS(3053),
    [anon_sym_PERCENT] = ACTIONS(3053),
    [anon_sym_PLUS_PLUS] = ACTIONS(3055),
    [anon_sym_DASH_DASH] = ACTIONS(3055),
    [anon_sym_PIPE] = ACTIONS(3055),
    [anon_sym_CARET] = ACTIONS(3053),
    [anon_sym_LT_LT] = ACTIONS(3055),
    [anon_sym_GT_GT] = ACTIONS(3055),
    [anon_sym_import] = ACTIONS(3055),
    [anon_sym_typealias] = ACTIONS(3055),
    [anon_sym_struct] = ACTIONS(3055),
    [anon_sym_class] = ACTIONS(3055),
    [anon_sym_enum] = ACTIONS(3055),
    [anon_sym_protocol] = ACTIONS(3055),
    [anon_sym_let] = ACTIONS(3055),
    [anon_sym_var] = ACTIONS(3055),
    [anon_sym_func] = ACTIONS(3055),
    [anon_sym_extension] = ACTIONS(3055),
    [anon_sym_indirect] = ACTIONS(3055),
    [anon_sym_SEMI] = ACTIONS(3055),
    [anon_sym_init] = ACTIONS(3055),
    [anon_sym_deinit] = ACTIONS(3055),
    [anon_sym_subscript] = ACTIONS(3055),
    [anon_sym_prefix] = ACTIONS(3055),
    [anon_sym_infix] = ACTIONS(3055),
    [anon_sym_postfix] = ACTIONS(3055),
    [anon_sym_precedencegroup] = ACTIONS(3055),
    [anon_sym_associatedtype] = ACTIONS(3055),
    [anon_sym_AT] = ACTIONS(3053),
    [anon_sym_override] = ACTIONS(3055),
    [anon_sym_convenience] = ACTIONS(3055),
    [anon_sym_required] = ACTIONS(3055),
    [anon_sym_nonisolated] = ACTIONS(3055),
    [anon_sym_public] = ACTIONS(3055),
    [anon_sym_private] = ACTIONS(3055),
    [anon_sym_internal] = ACTIONS(3055),
    [anon_sym_fileprivate] = ACTIONS(3055),
    [anon_sym_open] = ACTIONS(3055),
    [anon_sym_mutating] = ACTIONS(3055),
    [anon_sym_nonmutating] = ACTIONS(3055),
    [anon_sym_static] = ACTIONS(3055),
    [anon_sym_dynamic] = ACTIONS(3055),
    [anon_sym_optional] = ACTIONS(3055),
    [anon_sym_distributed] = ACTIONS(3055),
    [anon_sym_final] = ACTIONS(3055),
    [anon_sym_inout] = ACTIONS(3055),
    [anon_sym_ATescaping] = ACTIONS(3055),
    [anon_sym_ATautoclosure] = ACTIONS(3055),
    [anon_sym_weak] = ACTIONS(3055),
    [anon_sym_unowned] = ACTIONS(3053),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3055),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3055),
    [anon_sym_borrowing] = ACTIONS(3055),
    [anon_sym_consuming] = ACTIONS(3055),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3004),
    [sym__dot_custom] = ACTIONS(3055),
    [sym__conjunction_operator_custom] = ACTIONS(3055),
    [sym__disjunction_operator_custom] = ACTIONS(3055),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3055),
    [sym__eq_custom] = ACTIONS(3055),
    [sym__eq_eq_custom] = ACTIONS(3055),
    [sym__plus_then_ws] = ACTIONS(3055),
    [sym__minus_then_ws] = ACTIONS(3055),
    [sym__bang_custom] = ACTIONS(3055),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym__as_custom] = ACTIONS(3055),
    [sym__as_quest_custom] = ACTIONS(3055),
    [sym__as_bang_custom] = ACTIONS(3055),
    [sym__async_keyword_custom] = ACTIONS(3008),
    [sym__custom_operator] = ACTIONS(3055),
  },
  [813] = {
    [sym__arrow_operator] = STATE(4263),
    [sym__async_keyword] = STATE(6902),
    [sym_throws] = STATE(8400),
    [aux_sym_protocol_composition_type_repeat1] = STATE(853),
    [anon_sym_BANG] = ACTIONS(3061),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3063),
    [anon_sym_async] = ACTIONS(3063),
    [anon_sym_lazy] = ACTIONS(3063),
    [anon_sym_package] = ACTIONS(3063),
    [anon_sym_COMMA] = ACTIONS(3063),
    [anon_sym_LPAREN] = ACTIONS(3063),
    [anon_sym_LBRACK] = ACTIONS(3063),
    [anon_sym_DOT] = ACTIONS(3057),
    [anon_sym_QMARK] = ACTIONS(3061),
    [anon_sym_QMARK2] = ACTIONS(3063),
    [anon_sym_AMP] = ACTIONS(3059),
    [aux_sym_custom_operator_token1] = ACTIONS(3063),
    [anon_sym_LT] = ACTIONS(3061),
    [anon_sym_GT] = ACTIONS(3061),
    [anon_sym_LBRACE] = ACTIONS(3063),
    [anon_sym_CARET_LBRACE] = ACTIONS(3063),
    [anon_sym_RBRACE] = ACTIONS(3063),
    [anon_sym_case] = ACTIONS(3063),
    [anon_sym_PLUS_EQ] = ACTIONS(3063),
    [anon_sym_DASH_EQ] = ACTIONS(3063),
    [anon_sym_STAR_EQ] = ACTIONS(3063),
    [anon_sym_SLASH_EQ] = ACTIONS(3063),
    [anon_sym_PERCENT_EQ] = ACTIONS(3063),
    [anon_sym_BANG_EQ] = ACTIONS(3061),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3063),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3063),
    [anon_sym_LT_EQ] = ACTIONS(3063),
    [anon_sym_GT_EQ] = ACTIONS(3063),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3063),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3063),
    [anon_sym_is] = ACTIONS(3063),
    [anon_sym_PLUS] = ACTIONS(3061),
    [anon_sym_DASH] = ACTIONS(3061),
    [anon_sym_STAR] = ACTIONS(3061),
    [anon_sym_SLASH] = ACTIONS(3061),
    [anon_sym_PERCENT] = ACTIONS(3061),
    [anon_sym_PLUS_PLUS] = ACTIONS(3063),
    [anon_sym_DASH_DASH] = ACTIONS(3063),
    [anon_sym_PIPE] = ACTIONS(3063),
    [anon_sym_CARET] = ACTIONS(3061),
    [anon_sym_LT_LT] = ACTIONS(3063),
    [anon_sym_GT_GT] = ACTIONS(3063),
    [anon_sym_import] = ACTIONS(3063),
    [anon_sym_typealias] = ACTIONS(3063),
    [anon_sym_struct] = ACTIONS(3063),
    [anon_sym_class] = ACTIONS(3063),
    [anon_sym_enum] = ACTIONS(3063),
    [anon_sym_protocol] = ACTIONS(3063),
    [anon_sym_let] = ACTIONS(3063),
    [anon_sym_var] = ACTIONS(3063),
    [anon_sym_func] = ACTIONS(3063),
    [anon_sym_extension] = ACTIONS(3063),
    [anon_sym_indirect] = ACTIONS(3063),
    [anon_sym_SEMI] = ACTIONS(3063),
    [anon_sym_init] = ACTIONS(3063),
    [anon_sym_deinit] = ACTIONS(3063),
    [anon_sym_subscript] = ACTIONS(3063),
    [anon_sym_prefix] = ACTIONS(3063),
    [anon_sym_infix] = ACTIONS(3063),
    [anon_sym_postfix] = ACTIONS(3063),
    [anon_sym_precedencegroup] = ACTIONS(3063),
    [anon_sym_associatedtype] = ACTIONS(3063),
    [anon_sym_AT] = ACTIONS(3061),
    [anon_sym_override] = ACTIONS(3063),
    [anon_sym_convenience] = ACTIONS(3063),
    [anon_sym_required] = ACTIONS(3063),
    [anon_sym_nonisolated] = ACTIONS(3063),
    [anon_sym_public] = ACTIONS(3063),
    [anon_sym_private] = ACTIONS(3063),
    [anon_sym_internal] = ACTIONS(3063),
    [anon_sym_fileprivate] = ACTIONS(3063),
    [anon_sym_open] = ACTIONS(3063),
    [anon_sym_mutating] = ACTIONS(3063),
    [anon_sym_nonmutating] = ACTIONS(3063),
    [anon_sym_static] = ACTIONS(3063),
    [anon_sym_dynamic] = ACTIONS(3063),
    [anon_sym_optional] = ACTIONS(3063),
    [anon_sym_distributed] = ACTIONS(3063),
    [anon_sym_final] = ACTIONS(3063),
    [anon_sym_inout] = ACTIONS(3063),
    [anon_sym_ATescaping] = ACTIONS(3063),
    [anon_sym_ATautoclosure] = ACTIONS(3063),
    [anon_sym_weak] = ACTIONS(3063),
    [anon_sym_unowned] = ACTIONS(3061),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3063),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3063),
    [anon_sym_borrowing] = ACTIONS(3063),
    [anon_sym_consuming] = ACTIONS(3063),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3004),
    [sym__dot_custom] = ACTIONS(3063),
    [sym__conjunction_operator_custom] = ACTIONS(3063),
    [sym__disjunction_operator_custom] = ACTIONS(3063),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3063),
    [sym__eq_custom] = ACTIONS(3063),
    [sym__eq_eq_custom] = ACTIONS(3063),
    [sym__plus_then_ws] = ACTIONS(3063),
    [sym__minus_then_ws] = ACTIONS(3063),
    [sym__bang_custom] = ACTIONS(3063),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym__as_custom] = ACTIONS(3063),
    [sym__as_quest_custom] = ACTIONS(3063),
    [sym__as_bang_custom] = ACTIONS(3063),
    [sym__async_keyword_custom] = ACTIONS(3008),
    [sym__custom_operator] = ACTIONS(3063),
  },
  [814] = {
    [sym__arrow_operator] = STATE(4263),
    [sym__async_keyword] = STATE(6902),
    [sym_throws] = STATE(8400),
    [aux_sym_protocol_composition_type_repeat1] = STATE(853),
    [anon_sym_BANG] = ACTIONS(3065),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3067),
    [anon_sym_async] = ACTIONS(3067),
    [anon_sym_lazy] = ACTIONS(3067),
    [anon_sym_package] = ACTIONS(3067),
    [anon_sym_COMMA] = ACTIONS(3067),
    [anon_sym_LPAREN] = ACTIONS(3067),
    [anon_sym_LBRACK] = ACTIONS(3067),
    [anon_sym_DOT] = ACTIONS(3057),
    [anon_sym_QMARK] = ACTIONS(3065),
    [anon_sym_QMARK2] = ACTIONS(3067),
    [anon_sym_AMP] = ACTIONS(3059),
    [aux_sym_custom_operator_token1] = ACTIONS(3067),
    [anon_sym_LT] = ACTIONS(3065),
    [anon_sym_GT] = ACTIONS(3065),
    [anon_sym_LBRACE] = ACTIONS(3067),
    [anon_sym_CARET_LBRACE] = ACTIONS(3067),
    [anon_sym_RBRACE] = ACTIONS(3067),
    [anon_sym_case] = ACTIONS(3067),
    [anon_sym_PLUS_EQ] = ACTIONS(3067),
    [anon_sym_DASH_EQ] = ACTIONS(3067),
    [anon_sym_STAR_EQ] = ACTIONS(3067),
    [anon_sym_SLASH_EQ] = ACTIONS(3067),
    [anon_sym_PERCENT_EQ] = ACTIONS(3067),
    [anon_sym_BANG_EQ] = ACTIONS(3065),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3067),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3067),
    [anon_sym_LT_EQ] = ACTIONS(3067),
    [anon_sym_GT_EQ] = ACTIONS(3067),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3067),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3067),
    [anon_sym_is] = ACTIONS(3067),
    [anon_sym_PLUS] = ACTIONS(3065),
    [anon_sym_DASH] = ACTIONS(3065),
    [anon_sym_STAR] = ACTIONS(3065),
    [anon_sym_SLASH] = ACTIONS(3065),
    [anon_sym_PERCENT] = ACTIONS(3065),
    [anon_sym_PLUS_PLUS] = ACTIONS(3067),
    [anon_sym_DASH_DASH] = ACTIONS(3067),
    [anon_sym_PIPE] = ACTIONS(3067),
    [anon_sym_CARET] = ACTIONS(3065),
    [anon_sym_LT_LT] = ACTIONS(3067),
    [anon_sym_GT_GT] = ACTIONS(3067),
    [anon_sym_import] = ACTIONS(3067),
    [anon_sym_typealias] = ACTIONS(3067),
    [anon_sym_struct] = ACTIONS(3067),
    [anon_sym_class] = ACTIONS(3067),
    [anon_sym_enum] = ACTIONS(3067),
    [anon_sym_protocol] = ACTIONS(3067),
    [anon_sym_let] = ACTIONS(3067),
    [anon_sym_var] = ACTIONS(3067),
    [anon_sym_func] = ACTIONS(3067),
    [anon_sym_extension] = ACTIONS(3067),
    [anon_sym_indirect] = ACTIONS(3067),
    [anon_sym_SEMI] = ACTIONS(3067),
    [anon_sym_init] = ACTIONS(3067),
    [anon_sym_deinit] = ACTIONS(3067),
    [anon_sym_subscript] = ACTIONS(3067),
    [anon_sym_prefix] = ACTIONS(3067),
    [anon_sym_infix] = ACTIONS(3067),
    [anon_sym_postfix] = ACTIONS(3067),
    [anon_sym_precedencegroup] = ACTIONS(3067),
    [anon_sym_associatedtype] = ACTIONS(3067),
    [anon_sym_AT] = ACTIONS(3065),
    [anon_sym_override] = ACTIONS(3067),
    [anon_sym_convenience] = ACTIONS(3067),
    [anon_sym_required] = ACTIONS(3067),
    [anon_sym_nonisolated] = ACTIONS(3067),
    [anon_sym_public] = ACTIONS(3067),
    [anon_sym_private] = ACTIONS(3067),
    [anon_sym_internal] = ACTIONS(3067),
    [anon_sym_fileprivate] = ACTIONS(3067),
    [anon_sym_open] = ACTIONS(3067),
    [anon_sym_mutating] = ACTIONS(3067),
    [anon_sym_nonmutating] = ACTIONS(3067),
    [anon_sym_static] = ACTIONS(3067),
    [anon_sym_dynamic] = ACTIONS(3067),
    [anon_sym_optional] = ACTIONS(3067),
    [anon_sym_distributed] = ACTIONS(3067),
    [anon_sym_final] = ACTIONS(3067),
    [anon_sym_inout] = ACTIONS(3067),
    [anon_sym_ATescaping] = ACTIONS(3067),
    [anon_sym_ATautoclosure] = ACTIONS(3067),
    [anon_sym_weak] = ACTIONS(3067),
    [anon_sym_unowned] = ACTIONS(3065),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3067),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3067),
    [anon_sym_borrowing] = ACTIONS(3067),
    [anon_sym_consuming] = ACTIONS(3067),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3004),
    [sym__dot_custom] = ACTIONS(3067),
    [sym__conjunction_operator_custom] = ACTIONS(3067),
    [sym__disjunction_operator_custom] = ACTIONS(3067),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3067),
    [sym__eq_custom] = ACTIONS(3067),
    [sym__eq_eq_custom] = ACTIONS(3067),
    [sym__plus_then_ws] = ACTIONS(3067),
    [sym__minus_then_ws] = ACTIONS(3067),
    [sym__bang_custom] = ACTIONS(3067),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym__as_custom] = ACTIONS(3067),
    [sym__as_quest_custom] = ACTIONS(3067),
    [sym__as_bang_custom] = ACTIONS(3067),
    [sym__async_keyword_custom] = ACTIONS(3008),
    [sym__custom_operator] = ACTIONS(3067),
  },
  [815] = {
    [sym__arrow_operator] = STATE(4263),
    [sym__async_keyword] = STATE(6902),
    [sym_throws] = STATE(8400),
    [aux_sym_protocol_composition_type_repeat1] = STATE(853),
    [anon_sym_BANG] = ACTIONS(3069),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3071),
    [anon_sym_async] = ACTIONS(3071),
    [anon_sym_lazy] = ACTIONS(3071),
    [anon_sym_package] = ACTIONS(3071),
    [anon_sym_COMMA] = ACTIONS(3071),
    [anon_sym_LPAREN] = ACTIONS(3071),
    [anon_sym_LBRACK] = ACTIONS(3071),
    [anon_sym_DOT] = ACTIONS(3069),
    [anon_sym_QMARK] = ACTIONS(3069),
    [anon_sym_QMARK2] = ACTIONS(3071),
    [anon_sym_AMP] = ACTIONS(3071),
    [aux_sym_custom_operator_token1] = ACTIONS(3071),
    [anon_sym_LT] = ACTIONS(3069),
    [anon_sym_GT] = ACTIONS(3069),
    [anon_sym_LBRACE] = ACTIONS(3071),
    [anon_sym_CARET_LBRACE] = ACTIONS(3071),
    [anon_sym_RBRACE] = ACTIONS(3071),
    [anon_sym_case] = ACTIONS(3071),
    [anon_sym_PLUS_EQ] = ACTIONS(3071),
    [anon_sym_DASH_EQ] = ACTIONS(3071),
    [anon_sym_STAR_EQ] = ACTIONS(3071),
    [anon_sym_SLASH_EQ] = ACTIONS(3071),
    [anon_sym_PERCENT_EQ] = ACTIONS(3071),
    [anon_sym_BANG_EQ] = ACTIONS(3069),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3071),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3071),
    [anon_sym_LT_EQ] = ACTIONS(3071),
    [anon_sym_GT_EQ] = ACTIONS(3071),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3071),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3071),
    [anon_sym_is] = ACTIONS(3071),
    [anon_sym_PLUS] = ACTIONS(3069),
    [anon_sym_DASH] = ACTIONS(3069),
    [anon_sym_STAR] = ACTIONS(3069),
    [anon_sym_SLASH] = ACTIONS(3069),
    [anon_sym_PERCENT] = ACTIONS(3069),
    [anon_sym_PLUS_PLUS] = ACTIONS(3071),
    [anon_sym_DASH_DASH] = ACTIONS(3071),
    [anon_sym_PIPE] = ACTIONS(3071),
    [anon_sym_CARET] = ACTIONS(3069),
    [anon_sym_LT_LT] = ACTIONS(3071),
    [anon_sym_GT_GT] = ACTIONS(3071),
    [anon_sym_import] = ACTIONS(3071),
    [anon_sym_typealias] = ACTIONS(3071),
    [anon_sym_struct] = ACTIONS(3071),
    [anon_sym_class] = ACTIONS(3071),
    [anon_sym_enum] = ACTIONS(3071),
    [anon_sym_protocol] = ACTIONS(3071),
    [anon_sym_let] = ACTIONS(3071),
    [anon_sym_var] = ACTIONS(3071),
    [anon_sym_func] = ACTIONS(3071),
    [anon_sym_extension] = ACTIONS(3071),
    [anon_sym_indirect] = ACTIONS(3071),
    [anon_sym_SEMI] = ACTIONS(3071),
    [anon_sym_init] = ACTIONS(3071),
    [anon_sym_deinit] = ACTIONS(3071),
    [anon_sym_subscript] = ACTIONS(3071),
    [anon_sym_prefix] = ACTIONS(3071),
    [anon_sym_infix] = ACTIONS(3071),
    [anon_sym_postfix] = ACTIONS(3071),
    [anon_sym_precedencegroup] = ACTIONS(3071),
    [anon_sym_associatedtype] = ACTIONS(3071),
    [anon_sym_AT] = ACTIONS(3069),
    [anon_sym_override] = ACTIONS(3071),
    [anon_sym_convenience] = ACTIONS(3071),
    [anon_sym_required] = ACTIONS(3071),
    [anon_sym_nonisolated] = ACTIONS(3071),
    [anon_sym_public] = ACTIONS(3071),
    [anon_sym_private] = ACTIONS(3071),
    [anon_sym_internal] = ACTIONS(3071),
    [anon_sym_fileprivate] = ACTIONS(3071),
    [anon_sym_open] = ACTIONS(3071),
    [anon_sym_mutating] = ACTIONS(3071),
    [anon_sym_nonmutating] = ACTIONS(3071),
    [anon_sym_static] = ACTIONS(3071),
    [anon_sym_dynamic] = ACTIONS(3071),
    [anon_sym_optional] = ACTIONS(3071),
    [anon_sym_distributed] = ACTIONS(3071),
    [anon_sym_final] = ACTIONS(3071),
    [anon_sym_inout] = ACTIONS(3071),
    [anon_sym_ATescaping] = ACTIONS(3071),
    [anon_sym_ATautoclosure] = ACTIONS(3071),
    [anon_sym_weak] = ACTIONS(3071),
    [anon_sym_unowned] = ACTIONS(3069),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3071),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3071),
    [anon_sym_borrowing] = ACTIONS(3071),
    [anon_sym_consuming] = ACTIONS(3071),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3071),
    [sym__dot_custom] = ACTIONS(3071),
    [sym__conjunction_operator_custom] = ACTIONS(3071),
    [sym__disjunction_operator_custom] = ACTIONS(3071),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3071),
    [sym__eq_custom] = ACTIONS(3071),
    [sym__eq_eq_custom] = ACTIONS(3071),
    [sym__plus_then_ws] = ACTIONS(3071),
    [sym__minus_then_ws] = ACTIONS(3071),
    [sym__bang_custom] = ACTIONS(3071),
    [sym__throws_keyword] = ACTIONS(3071),
    [sym__rethrows_keyword] = ACTIONS(3071),
    [sym__as_custom] = ACTIONS(3071),
    [sym__as_quest_custom] = ACTIONS(3071),
    [sym__as_bang_custom] = ACTIONS(3071),
    [sym__async_keyword_custom] = ACTIONS(3071),
    [sym__custom_operator] = ACTIONS(3071),
  },
  [816] = {
    [sym__arrow_operator] = STATE(4263),
    [sym__async_keyword] = STATE(6902),
    [sym_throws] = STATE(8400),
    [aux_sym_protocol_composition_type_repeat1] = STATE(853),
    [anon_sym_BANG] = ACTIONS(3073),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3075),
    [anon_sym_async] = ACTIONS(3075),
    [anon_sym_lazy] = ACTIONS(3075),
    [anon_sym_package] = ACTIONS(3075),
    [anon_sym_COMMA] = ACTIONS(3075),
    [anon_sym_LPAREN] = ACTIONS(3075),
    [anon_sym_LBRACK] = ACTIONS(3075),
    [anon_sym_DOT] = ACTIONS(3057),
    [anon_sym_QMARK] = ACTIONS(3073),
    [anon_sym_QMARK2] = ACTIONS(3075),
    [anon_sym_AMP] = ACTIONS(3059),
    [aux_sym_custom_operator_token1] = ACTIONS(3075),
    [anon_sym_LT] = ACTIONS(3073),
    [anon_sym_GT] = ACTIONS(3073),
    [anon_sym_LBRACE] = ACTIONS(3075),
    [anon_sym_CARET_LBRACE] = ACTIONS(3075),
    [anon_sym_RBRACE] = ACTIONS(3075),
    [anon_sym_case] = ACTIONS(3075),
    [anon_sym_PLUS_EQ] = ACTIONS(3075),
    [anon_sym_DASH_EQ] = ACTIONS(3075),
    [anon_sym_STAR_EQ] = ACTIONS(3075),
    [anon_sym_SLASH_EQ] = ACTIONS(3075),
    [anon_sym_PERCENT_EQ] = ACTIONS(3075),
    [anon_sym_BANG_EQ] = ACTIONS(3073),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3075),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3075),
    [anon_sym_LT_EQ] = ACTIONS(3075),
    [anon_sym_GT_EQ] = ACTIONS(3075),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3075),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3075),
    [anon_sym_is] = ACTIONS(3075),
    [anon_sym_PLUS] = ACTIONS(3073),
    [anon_sym_DASH] = ACTIONS(3073),
    [anon_sym_STAR] = ACTIONS(3073),
    [anon_sym_SLASH] = ACTIONS(3073),
    [anon_sym_PERCENT] = ACTIONS(3073),
    [anon_sym_PLUS_PLUS] = ACTIONS(3075),
    [anon_sym_DASH_DASH] = ACTIONS(3075),
    [anon_sym_PIPE] = ACTIONS(3075),
    [anon_sym_CARET] = ACTIONS(3073),
    [anon_sym_LT_LT] = ACTIONS(3075),
    [anon_sym_GT_GT] = ACTIONS(3075),
    [anon_sym_import] = ACTIONS(3075),
    [anon_sym_typealias] = ACTIONS(3075),
    [anon_sym_struct] = ACTIONS(3075),
    [anon_sym_class] = ACTIONS(3075),
    [anon_sym_enum] = ACTIONS(3075),
    [anon_sym_protocol] = ACTIONS(3075),
    [anon_sym_let] = ACTIONS(3075),
    [anon_sym_var] = ACTIONS(3075),
    [anon_sym_func] = ACTIONS(3075),
    [anon_sym_extension] = ACTIONS(3075),
    [anon_sym_indirect] = ACTIONS(3075),
    [anon_sym_SEMI] = ACTIONS(3075),
    [anon_sym_init] = ACTIONS(3075),
    [anon_sym_deinit] = ACTIONS(3075),
    [anon_sym_subscript] = ACTIONS(3075),
    [anon_sym_prefix] = ACTIONS(3075),
    [anon_sym_infix] = ACTIONS(3075),
    [anon_sym_postfix] = ACTIONS(3075),
    [anon_sym_precedencegroup] = ACTIONS(3075),
    [anon_sym_associatedtype] = ACTIONS(3075),
    [anon_sym_AT] = ACTIONS(3073),
    [anon_sym_override] = ACTIONS(3075),
    [anon_sym_convenience] = ACTIONS(3075),
    [anon_sym_required] = ACTIONS(3075),
    [anon_sym_nonisolated] = ACTIONS(3075),
    [anon_sym_public] = ACTIONS(3075),
    [anon_sym_private] = ACTIONS(3075),
    [anon_sym_internal] = ACTIONS(3075),
    [anon_sym_fileprivate] = ACTIONS(3075),
    [anon_sym_open] = ACTIONS(3075),
    [anon_sym_mutating] = ACTIONS(3075),
    [anon_sym_nonmutating] = ACTIONS(3075),
    [anon_sym_static] = ACTIONS(3075),
    [anon_sym_dynamic] = ACTIONS(3075),
    [anon_sym_optional] = ACTIONS(3075),
    [anon_sym_distributed] = ACTIONS(3075),
    [anon_sym_final] = ACTIONS(3075),
    [anon_sym_inout] = ACTIONS(3075),
    [anon_sym_ATescaping] = ACTIONS(3075),
    [anon_sym_ATautoclosure] = ACTIONS(3075),
    [anon_sym_weak] = ACTIONS(3075),
    [anon_sym_unowned] = ACTIONS(3073),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3075),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3075),
    [anon_sym_borrowing] = ACTIONS(3075),
    [anon_sym_consuming] = ACTIONS(3075),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3004),
    [sym__dot_custom] = ACTIONS(3075),
    [sym__conjunction_operator_custom] = ACTIONS(3075),
    [sym__disjunction_operator_custom] = ACTIONS(3075),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3075),
    [sym__eq_custom] = ACTIONS(3075),
    [sym__eq_eq_custom] = ACTIONS(3075),
    [sym__plus_then_ws] = ACTIONS(3075),
    [sym__minus_then_ws] = ACTIONS(3075),
    [sym__bang_custom] = ACTIONS(3075),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym__as_custom] = ACTIONS(3075),
    [sym__as_quest_custom] = ACTIONS(3075),
    [sym__as_bang_custom] = ACTIONS(3075),
    [sym__async_keyword_custom] = ACTIONS(3008),
    [sym__custom_operator] = ACTIONS(3075),
  },
  [817] = {
    [sym__arrow_operator] = STATE(4263),
    [sym__async_keyword] = STATE(6902),
    [sym_throws] = STATE(8400),
    [aux_sym_protocol_composition_type_repeat1] = STATE(853),
    [anon_sym_BANG] = ACTIONS(3077),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3079),
    [anon_sym_async] = ACTIONS(3079),
    [anon_sym_lazy] = ACTIONS(3079),
    [anon_sym_package] = ACTIONS(3079),
    [anon_sym_COMMA] = ACTIONS(3079),
    [anon_sym_LPAREN] = ACTIONS(3079),
    [anon_sym_LBRACK] = ACTIONS(3079),
    [anon_sym_DOT] = ACTIONS(3057),
    [anon_sym_QMARK] = ACTIONS(3077),
    [anon_sym_QMARK2] = ACTIONS(3079),
    [anon_sym_AMP] = ACTIONS(3059),
    [aux_sym_custom_operator_token1] = ACTIONS(3079),
    [anon_sym_LT] = ACTIONS(3077),
    [anon_sym_GT] = ACTIONS(3077),
    [anon_sym_LBRACE] = ACTIONS(3079),
    [anon_sym_CARET_LBRACE] = ACTIONS(3079),
    [anon_sym_RBRACE] = ACTIONS(3079),
    [anon_sym_case] = ACTIONS(3079),
    [anon_sym_PLUS_EQ] = ACTIONS(3079),
    [anon_sym_DASH_EQ] = ACTIONS(3079),
    [anon_sym_STAR_EQ] = ACTIONS(3079),
    [anon_sym_SLASH_EQ] = ACTIONS(3079),
    [anon_sym_PERCENT_EQ] = ACTIONS(3079),
    [anon_sym_BANG_EQ] = ACTIONS(3077),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3079),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3079),
    [anon_sym_LT_EQ] = ACTIONS(3079),
    [anon_sym_GT_EQ] = ACTIONS(3079),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3079),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3079),
    [anon_sym_is] = ACTIONS(3079),
    [anon_sym_PLUS] = ACTIONS(3077),
    [anon_sym_DASH] = ACTIONS(3077),
    [anon_sym_STAR] = ACTIONS(3077),
    [anon_sym_SLASH] = ACTIONS(3077),
    [anon_sym_PERCENT] = ACTIONS(3077),
    [anon_sym_PLUS_PLUS] = ACTIONS(3079),
    [anon_sym_DASH_DASH] = ACTIONS(3079),
    [anon_sym_PIPE] = ACTIONS(3079),
    [anon_sym_CARET] = ACTIONS(3077),
    [anon_sym_LT_LT] = ACTIONS(3079),
    [anon_sym_GT_GT] = ACTIONS(3079),
    [anon_sym_import] = ACTIONS(3079),
    [anon_sym_typealias] = ACTIONS(3079),
    [anon_sym_struct] = ACTIONS(3079),
    [anon_sym_class] = ACTIONS(3079),
    [anon_sym_enum] = ACTIONS(3079),
    [anon_sym_protocol] = ACTIONS(3079),
    [anon_sym_let] = ACTIONS(3079),
    [anon_sym_var] = ACTIONS(3079),
    [anon_sym_func] = ACTIONS(3079),
    [anon_sym_extension] = ACTIONS(3079),
    [anon_sym_indirect] = ACTIONS(3079),
    [anon_sym_SEMI] = ACTIONS(3079),
    [anon_sym_init] = ACTIONS(3079),
    [anon_sym_deinit] = ACTIONS(3079),
    [anon_sym_subscript] = ACTIONS(3079),
    [anon_sym_prefix] = ACTIONS(3079),
    [anon_sym_infix] = ACTIONS(3079),
    [anon_sym_postfix] = ACTIONS(3079),
    [anon_sym_precedencegroup] = ACTIONS(3079),
    [anon_sym_associatedtype] = ACTIONS(3079),
    [anon_sym_AT] = ACTIONS(3077),
    [anon_sym_override] = ACTIONS(3079),
    [anon_sym_convenience] = ACTIONS(3079),
    [anon_sym_required] = ACTIONS(3079),
    [anon_sym_nonisolated] = ACTIONS(3079),
    [anon_sym_public] = ACTIONS(3079),
    [anon_sym_private] = ACTIONS(3079),
    [anon_sym_internal] = ACTIONS(3079),
    [anon_sym_fileprivate] = ACTIONS(3079),
    [anon_sym_open] = ACTIONS(3079),
    [anon_sym_mutating] = ACTIONS(3079),
    [anon_sym_nonmutating] = ACTIONS(3079),
    [anon_sym_static] = ACTIONS(3079),
    [anon_sym_dynamic] = ACTIONS(3079),
    [anon_sym_optional] = ACTIONS(3079),
    [anon_sym_distributed] = ACTIONS(3079),
    [anon_sym_final] = ACTIONS(3079),
    [anon_sym_inout] = ACTIONS(3079),
    [anon_sym_ATescaping] = ACTIONS(3079),
    [anon_sym_ATautoclosure] = ACTIONS(3079),
    [anon_sym_weak] = ACTIONS(3079),
    [anon_sym_unowned] = ACTIONS(3077),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3079),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3079),
    [anon_sym_borrowing] = ACTIONS(3079),
    [anon_sym_consuming] = ACTIONS(3079),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3004),
    [sym__dot_custom] = ACTIONS(3079),
    [sym__conjunction_operator_custom] = ACTIONS(3079),
    [sym__disjunction_operator_custom] = ACTIONS(3079),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3079),
    [sym__eq_custom] = ACTIONS(3079),
    [sym__eq_eq_custom] = ACTIONS(3079),
    [sym__plus_then_ws] = ACTIONS(3079),
    [sym__minus_then_ws] = ACTIONS(3079),
    [sym__bang_custom] = ACTIONS(3079),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym__as_custom] = ACTIONS(3079),
    [sym__as_quest_custom] = ACTIONS(3079),
    [sym__as_bang_custom] = ACTIONS(3079),
    [sym__async_keyword_custom] = ACTIONS(3008),
    [sym__custom_operator] = ACTIONS(3079),
  },
  [818] = {
    [sym_type_arguments] = STATE(843),
    [anon_sym_BANG] = ACTIONS(3081),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3083),
    [anon_sym_async] = ACTIONS(3083),
    [anon_sym_lazy] = ACTIONS(3083),
    [anon_sym_package] = ACTIONS(3083),
    [anon_sym_RPAREN] = ACTIONS(3083),
    [anon_sym_COMMA] = ACTIONS(3083),
    [anon_sym_COLON] = ACTIONS(3083),
    [anon_sym_LPAREN] = ACTIONS(3083),
    [anon_sym_LBRACK] = ACTIONS(3083),
    [anon_sym_RBRACK] = ACTIONS(3083),
    [anon_sym_DOT] = ACTIONS(3081),
    [anon_sym_QMARK] = ACTIONS(3081),
    [anon_sym_QMARK2] = ACTIONS(3083),
    [anon_sym_AMP] = ACTIONS(3083),
    [aux_sym_custom_operator_token1] = ACTIONS(3083),
    [anon_sym_LT] = ACTIONS(3085),
    [anon_sym_GT] = ACTIONS(3081),
    [anon_sym_LBRACE] = ACTIONS(3083),
    [anon_sym_CARET_LBRACE] = ACTIONS(3083),
    [anon_sym_RBRACE] = ACTIONS(3083),
    [anon_sym_case] = ACTIONS(3083),
    [anon_sym_PLUS_EQ] = ACTIONS(3083),
    [anon_sym_DASH_EQ] = ACTIONS(3083),
    [anon_sym_STAR_EQ] = ACTIONS(3083),
    [anon_sym_SLASH_EQ] = ACTIONS(3083),
    [anon_sym_PERCENT_EQ] = ACTIONS(3083),
    [anon_sym_BANG_EQ] = ACTIONS(3081),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3083),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3083),
    [anon_sym_LT_EQ] = ACTIONS(3083),
    [anon_sym_GT_EQ] = ACTIONS(3083),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3083),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3083),
    [anon_sym_is] = ACTIONS(3083),
    [anon_sym_PLUS] = ACTIONS(3081),
    [anon_sym_DASH] = ACTIONS(3081),
    [anon_sym_STAR] = ACTIONS(3081),
    [anon_sym_SLASH] = ACTIONS(3081),
    [anon_sym_PERCENT] = ACTIONS(3081),
    [anon_sym_PLUS_PLUS] = ACTIONS(3083),
    [anon_sym_DASH_DASH] = ACTIONS(3083),
    [anon_sym_PIPE] = ACTIONS(3083),
    [anon_sym_CARET] = ACTIONS(3081),
    [anon_sym_LT_LT] = ACTIONS(3083),
    [anon_sym_GT_GT] = ACTIONS(3083),
    [anon_sym_import] = ACTIONS(3083),
    [anon_sym_typealias] = ACTIONS(3083),
    [anon_sym_struct] = ACTIONS(3083),
    [anon_sym_class] = ACTIONS(3083),
    [anon_sym_enum] = ACTIONS(3083),
    [anon_sym_protocol] = ACTIONS(3083),
    [anon_sym_let] = ACTIONS(3083),
    [anon_sym_var] = ACTIONS(3083),
    [anon_sym_func] = ACTIONS(3083),
    [anon_sym_extension] = ACTIONS(3083),
    [anon_sym_indirect] = ACTIONS(3083),
    [anon_sym_SEMI] = ACTIONS(3083),
    [anon_sym_init] = ACTIONS(3083),
    [anon_sym_deinit] = ACTIONS(3083),
    [anon_sym_subscript] = ACTIONS(3083),
    [anon_sym_prefix] = ACTIONS(3083),
    [anon_sym_infix] = ACTIONS(3083),
    [anon_sym_postfix] = ACTIONS(3083),
    [anon_sym_precedencegroup] = ACTIONS(3083),
    [anon_sym_associatedtype] = ACTIONS(3083),
    [anon_sym_AT] = ACTIONS(3081),
    [anon_sym_override] = ACTIONS(3083),
    [anon_sym_convenience] = ACTIONS(3083),
    [anon_sym_required] = ACTIONS(3083),
    [anon_sym_nonisolated] = ACTIONS(3083),
    [anon_sym_public] = ACTIONS(3083),
    [anon_sym_private] = ACTIONS(3083),
    [anon_sym_internal] = ACTIONS(3083),
    [anon_sym_fileprivate] = ACTIONS(3083),
    [anon_sym_open] = ACTIONS(3083),
    [anon_sym_mutating] = ACTIONS(3083),
    [anon_sym_nonmutating] = ACTIONS(3083),
    [anon_sym_static] = ACTIONS(3083),
    [anon_sym_dynamic] = ACTIONS(3083),
    [anon_sym_optional] = ACTIONS(3083),
    [anon_sym_distributed] = ACTIONS(3083),
    [anon_sym_final] = ACTIONS(3083),
    [anon_sym_inout] = ACTIONS(3083),
    [anon_sym_ATescaping] = ACTIONS(3083),
    [anon_sym_ATautoclosure] = ACTIONS(3083),
    [anon_sym_weak] = ACTIONS(3083),
    [anon_sym_unowned] = ACTIONS(3081),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3083),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3083),
    [anon_sym_borrowing] = ACTIONS(3083),
    [anon_sym_consuming] = ACTIONS(3083),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3083),
    [sym__dot_custom] = ACTIONS(3083),
    [sym__conjunction_operator_custom] = ACTIONS(3083),
    [sym__disjunction_operator_custom] = ACTIONS(3083),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3083),
    [sym__eq_custom] = ACTIONS(3083),
    [sym__eq_eq_custom] = ACTIONS(3083),
    [sym__plus_then_ws] = ACTIONS(3083),
    [sym__minus_then_ws] = ACTIONS(3083),
    [sym__bang_custom] = ACTIONS(3083),
    [sym__throws_keyword] = ACTIONS(3083),
    [sym__rethrows_keyword] = ACTIONS(3083),
    [sym__as_custom] = ACTIONS(3083),
    [sym__as_quest_custom] = ACTIONS(3083),
    [sym__as_bang_custom] = ACTIONS(3083),
    [sym__async_keyword_custom] = ACTIONS(3083),
    [sym__custom_operator] = ACTIONS(3083),
  },
  [819] = {
    [sym__arrow_operator] = STATE(4263),
    [sym__async_keyword] = STATE(6902),
    [sym_throws] = STATE(8400),
    [aux_sym_protocol_composition_type_repeat1] = STATE(853),
    [anon_sym_BANG] = ACTIONS(3087),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3089),
    [anon_sym_async] = ACTIONS(3089),
    [anon_sym_lazy] = ACTIONS(3089),
    [anon_sym_package] = ACTIONS(3089),
    [anon_sym_COMMA] = ACTIONS(3089),
    [anon_sym_LPAREN] = ACTIONS(3089),
    [anon_sym_LBRACK] = ACTIONS(3089),
    [anon_sym_DOT] = ACTIONS(3087),
    [anon_sym_QMARK] = ACTIONS(3087),
    [anon_sym_QMARK2] = ACTIONS(3089),
    [anon_sym_AMP] = ACTIONS(3089),
    [aux_sym_custom_operator_token1] = ACTIONS(3089),
    [anon_sym_LT] = ACTIONS(3087),
    [anon_sym_GT] = ACTIONS(3087),
    [anon_sym_LBRACE] = ACTIONS(3089),
    [anon_sym_CARET_LBRACE] = ACTIONS(3089),
    [anon_sym_RBRACE] = ACTIONS(3089),
    [anon_sym_case] = ACTIONS(3089),
    [anon_sym_PLUS_EQ] = ACTIONS(3089),
    [anon_sym_DASH_EQ] = ACTIONS(3089),
    [anon_sym_STAR_EQ] = ACTIONS(3089),
    [anon_sym_SLASH_EQ] = ACTIONS(3089),
    [anon_sym_PERCENT_EQ] = ACTIONS(3089),
    [anon_sym_BANG_EQ] = ACTIONS(3087),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3089),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3089),
    [anon_sym_LT_EQ] = ACTIONS(3089),
    [anon_sym_GT_EQ] = ACTIONS(3089),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3089),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3089),
    [anon_sym_is] = ACTIONS(3089),
    [anon_sym_PLUS] = ACTIONS(3087),
    [anon_sym_DASH] = ACTIONS(3087),
    [anon_sym_STAR] = ACTIONS(3087),
    [anon_sym_SLASH] = ACTIONS(3087),
    [anon_sym_PERCENT] = ACTIONS(3087),
    [anon_sym_PLUS_PLUS] = ACTIONS(3089),
    [anon_sym_DASH_DASH] = ACTIONS(3089),
    [anon_sym_PIPE] = ACTIONS(3089),
    [anon_sym_CARET] = ACTIONS(3087),
    [anon_sym_LT_LT] = ACTIONS(3089),
    [anon_sym_GT_GT] = ACTIONS(3089),
    [anon_sym_import] = ACTIONS(3089),
    [anon_sym_typealias] = ACTIONS(3089),
    [anon_sym_struct] = ACTIONS(3089),
    [anon_sym_class] = ACTIONS(3089),
    [anon_sym_enum] = ACTIONS(3089),
    [anon_sym_protocol] = ACTIONS(3089),
    [anon_sym_let] = ACTIONS(3089),
    [anon_sym_var] = ACTIONS(3089),
    [anon_sym_func] = ACTIONS(3089),
    [anon_sym_extension] = ACTIONS(3089),
    [anon_sym_indirect] = ACTIONS(3089),
    [anon_sym_SEMI] = ACTIONS(3089),
    [anon_sym_init] = ACTIONS(3089),
    [anon_sym_deinit] = ACTIONS(3089),
    [anon_sym_subscript] = ACTIONS(3089),
    [anon_sym_prefix] = ACTIONS(3089),
    [anon_sym_infix] = ACTIONS(3089),
    [anon_sym_postfix] = ACTIONS(3089),
    [anon_sym_precedencegroup] = ACTIONS(3089),
    [anon_sym_associatedtype] = ACTIONS(3089),
    [anon_sym_AT] = ACTIONS(3087),
    [anon_sym_override] = ACTIONS(3089),
    [anon_sym_convenience] = ACTIONS(3089),
    [anon_sym_required] = ACTIONS(3089),
    [anon_sym_nonisolated] = ACTIONS(3089),
    [anon_sym_public] = ACTIONS(3089),
    [anon_sym_private] = ACTIONS(3089),
    [anon_sym_internal] = ACTIONS(3089),
    [anon_sym_fileprivate] = ACTIONS(3089),
    [anon_sym_open] = ACTIONS(3089),
    [anon_sym_mutating] = ACTIONS(3089),
    [anon_sym_nonmutating] = ACTIONS(3089),
    [anon_sym_static] = ACTIONS(3089),
    [anon_sym_dynamic] = ACTIONS(3089),
    [anon_sym_optional] = ACTIONS(3089),
    [anon_sym_distributed] = ACTIONS(3089),
    [anon_sym_final] = ACTIONS(3089),
    [anon_sym_inout] = ACTIONS(3089),
    [anon_sym_ATescaping] = ACTIONS(3089),
    [anon_sym_ATautoclosure] = ACTIONS(3089),
    [anon_sym_weak] = ACTIONS(3089),
    [anon_sym_unowned] = ACTIONS(3087),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3089),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3089),
    [anon_sym_borrowing] = ACTIONS(3089),
    [anon_sym_consuming] = ACTIONS(3089),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3089),
    [sym__dot_custom] = ACTIONS(3089),
    [sym__conjunction_operator_custom] = ACTIONS(3089),
    [sym__disjunction_operator_custom] = ACTIONS(3089),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3089),
    [sym__eq_custom] = ACTIONS(3089),
    [sym__eq_eq_custom] = ACTIONS(3089),
    [sym__plus_then_ws] = ACTIONS(3089),
    [sym__minus_then_ws] = ACTIONS(3089),
    [sym__bang_custom] = ACTIONS(3089),
    [sym__throws_keyword] = ACTIONS(3089),
    [sym__rethrows_keyword] = ACTIONS(3089),
    [sym__as_custom] = ACTIONS(3089),
    [sym__as_quest_custom] = ACTIONS(3089),
    [sym__as_bang_custom] = ACTIONS(3089),
    [sym__async_keyword_custom] = ACTIONS(3089),
    [sym__custom_operator] = ACTIONS(3089),
  },
  [820] = {
    [anon_sym_BANG] = ACTIONS(3091),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3093),
    [anon_sym_async] = ACTIONS(3093),
    [anon_sym_lazy] = ACTIONS(3093),
    [anon_sym_package] = ACTIONS(3093),
    [anon_sym_RPAREN] = ACTIONS(3093),
    [anon_sym_COMMA] = ACTIONS(3093),
    [anon_sym_COLON] = ACTIONS(3093),
    [anon_sym_LPAREN] = ACTIONS(3093),
    [anon_sym_LBRACK] = ACTIONS(3093),
    [anon_sym_RBRACK] = ACTIONS(3093),
    [anon_sym_DOT] = ACTIONS(3091),
    [anon_sym_QMARK] = ACTIONS(3091),
    [anon_sym_QMARK2] = ACTIONS(3093),
    [anon_sym_AMP] = ACTIONS(3093),
    [aux_sym_custom_operator_token1] = ACTIONS(3093),
    [anon_sym_LT] = ACTIONS(3091),
    [anon_sym_GT] = ACTIONS(3091),
    [anon_sym_LBRACE] = ACTIONS(3093),
    [anon_sym_CARET_LBRACE] = ACTIONS(3093),
    [anon_sym_RBRACE] = ACTIONS(3093),
    [anon_sym_case] = ACTIONS(3093),
    [anon_sym_PLUS_EQ] = ACTIONS(3093),
    [anon_sym_DASH_EQ] = ACTIONS(3093),
    [anon_sym_STAR_EQ] = ACTIONS(3093),
    [anon_sym_SLASH_EQ] = ACTIONS(3093),
    [anon_sym_PERCENT_EQ] = ACTIONS(3093),
    [anon_sym_BANG_EQ] = ACTIONS(3091),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3093),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3093),
    [anon_sym_LT_EQ] = ACTIONS(3093),
    [anon_sym_GT_EQ] = ACTIONS(3093),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3093),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3093),
    [anon_sym_is] = ACTIONS(3093),
    [anon_sym_PLUS] = ACTIONS(3091),
    [anon_sym_DASH] = ACTIONS(3091),
    [anon_sym_STAR] = ACTIONS(3091),
    [anon_sym_SLASH] = ACTIONS(3091),
    [anon_sym_PERCENT] = ACTIONS(3091),
    [anon_sym_PLUS_PLUS] = ACTIONS(3093),
    [anon_sym_DASH_DASH] = ACTIONS(3093),
    [anon_sym_PIPE] = ACTIONS(3093),
    [anon_sym_CARET] = ACTIONS(3091),
    [anon_sym_LT_LT] = ACTIONS(3093),
    [anon_sym_GT_GT] = ACTIONS(3093),
    [anon_sym_import] = ACTIONS(3093),
    [anon_sym_typealias] = ACTIONS(3093),
    [anon_sym_struct] = ACTIONS(3093),
    [anon_sym_class] = ACTIONS(3093),
    [anon_sym_enum] = ACTIONS(3093),
    [anon_sym_protocol] = ACTIONS(3093),
    [anon_sym_let] = ACTIONS(3093),
    [anon_sym_var] = ACTIONS(3093),
    [anon_sym_func] = ACTIONS(3093),
    [anon_sym_extension] = ACTIONS(3093),
    [anon_sym_indirect] = ACTIONS(3093),
    [anon_sym_SEMI] = ACTIONS(3093),
    [anon_sym_init] = ACTIONS(3093),
    [anon_sym_deinit] = ACTIONS(3093),
    [anon_sym_subscript] = ACTIONS(3093),
    [anon_sym_prefix] = ACTIONS(3093),
    [anon_sym_infix] = ACTIONS(3093),
    [anon_sym_postfix] = ACTIONS(3093),
    [anon_sym_precedencegroup] = ACTIONS(3093),
    [anon_sym_associatedtype] = ACTIONS(3093),
    [anon_sym_AT] = ACTIONS(3091),
    [anon_sym_override] = ACTIONS(3093),
    [anon_sym_convenience] = ACTIONS(3093),
    [anon_sym_required] = ACTIONS(3093),
    [anon_sym_nonisolated] = ACTIONS(3093),
    [anon_sym_public] = ACTIONS(3093),
    [anon_sym_private] = ACTIONS(3093),
    [anon_sym_internal] = ACTIONS(3093),
    [anon_sym_fileprivate] = ACTIONS(3093),
    [anon_sym_open] = ACTIONS(3093),
    [anon_sym_mutating] = ACTIONS(3093),
    [anon_sym_nonmutating] = ACTIONS(3093),
    [anon_sym_static] = ACTIONS(3093),
    [anon_sym_dynamic] = ACTIONS(3093),
    [anon_sym_optional] = ACTIONS(3093),
    [anon_sym_distributed] = ACTIONS(3093),
    [anon_sym_final] = ACTIONS(3093),
    [anon_sym_inout] = ACTIONS(3093),
    [anon_sym_ATescaping] = ACTIONS(3093),
    [anon_sym_ATautoclosure] = ACTIONS(3093),
    [anon_sym_weak] = ACTIONS(3093),
    [anon_sym_unowned] = ACTIONS(3091),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3093),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3093),
    [anon_sym_borrowing] = ACTIONS(3093),
    [anon_sym_consuming] = ACTIONS(3093),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3093),
    [sym__dot_custom] = ACTIONS(3093),
    [sym__conjunction_operator_custom] = ACTIONS(3093),
    [sym__disjunction_operator_custom] = ACTIONS(3093),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3093),
    [sym__eq_custom] = ACTIONS(3093),
    [sym__eq_eq_custom] = ACTIONS(3093),
    [sym__plus_then_ws] = ACTIONS(3093),
    [sym__minus_then_ws] = ACTIONS(3093),
    [sym__bang_custom] = ACTIONS(3093),
    [sym__throws_keyword] = ACTIONS(3093),
    [sym__rethrows_keyword] = ACTIONS(3093),
    [sym__as_custom] = ACTIONS(3093),
    [sym__as_quest_custom] = ACTIONS(3093),
    [sym__as_bang_custom] = ACTIONS(3093),
    [sym__async_keyword_custom] = ACTIONS(3093),
    [sym__custom_operator] = ACTIONS(3093),
  },
  [821] = {
    [anon_sym_BANG] = ACTIONS(3095),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3097),
    [anon_sym_async] = ACTIONS(3097),
    [anon_sym_lazy] = ACTIONS(3097),
    [anon_sym_package] = ACTIONS(3097),
    [anon_sym_RPAREN] = ACTIONS(3097),
    [anon_sym_COMMA] = ACTIONS(3097),
    [anon_sym_COLON] = ACTIONS(3097),
    [anon_sym_LPAREN] = ACTIONS(3097),
    [anon_sym_LBRACK] = ACTIONS(3097),
    [anon_sym_RBRACK] = ACTIONS(3097),
    [anon_sym_DOT] = ACTIONS(3095),
    [anon_sym_QMARK] = ACTIONS(3095),
    [anon_sym_QMARK2] = ACTIONS(3097),
    [anon_sym_AMP] = ACTIONS(3097),
    [aux_sym_custom_operator_token1] = ACTIONS(3097),
    [anon_sym_LT] = ACTIONS(3095),
    [anon_sym_GT] = ACTIONS(3095),
    [anon_sym_LBRACE] = ACTIONS(3097),
    [anon_sym_CARET_LBRACE] = ACTIONS(3097),
    [anon_sym_RBRACE] = ACTIONS(3097),
    [anon_sym_case] = ACTIONS(3097),
    [anon_sym_PLUS_EQ] = ACTIONS(3097),
    [anon_sym_DASH_EQ] = ACTIONS(3097),
    [anon_sym_STAR_EQ] = ACTIONS(3097),
    [anon_sym_SLASH_EQ] = ACTIONS(3097),
    [anon_sym_PERCENT_EQ] = ACTIONS(3097),
    [anon_sym_BANG_EQ] = ACTIONS(3095),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3097),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3097),
    [anon_sym_LT_EQ] = ACTIONS(3097),
    [anon_sym_GT_EQ] = ACTIONS(3097),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3097),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3097),
    [anon_sym_is] = ACTIONS(3097),
    [anon_sym_PLUS] = ACTIONS(3095),
    [anon_sym_DASH] = ACTIONS(3095),
    [anon_sym_STAR] = ACTIONS(3095),
    [anon_sym_SLASH] = ACTIONS(3095),
    [anon_sym_PERCENT] = ACTIONS(3095),
    [anon_sym_PLUS_PLUS] = ACTIONS(3097),
    [anon_sym_DASH_DASH] = ACTIONS(3097),
    [anon_sym_PIPE] = ACTIONS(3097),
    [anon_sym_CARET] = ACTIONS(3095),
    [anon_sym_LT_LT] = ACTIONS(3097),
    [anon_sym_GT_GT] = ACTIONS(3097),
    [anon_sym_import] = ACTIONS(3097),
    [anon_sym_typealias] = ACTIONS(3097),
    [anon_sym_struct] = ACTIONS(3097),
    [anon_sym_class] = ACTIONS(3097),
    [anon_sym_enum] = ACTIONS(3097),
    [anon_sym_protocol] = ACTIONS(3097),
    [anon_sym_let] = ACTIONS(3097),
    [anon_sym_var] = ACTIONS(3097),
    [anon_sym_func] = ACTIONS(3097),
    [anon_sym_extension] = ACTIONS(3097),
    [anon_sym_indirect] = ACTIONS(3097),
    [anon_sym_SEMI] = ACTIONS(3097),
    [anon_sym_init] = ACTIONS(3097),
    [anon_sym_deinit] = ACTIONS(3097),
    [anon_sym_subscript] = ACTIONS(3097),
    [anon_sym_prefix] = ACTIONS(3097),
    [anon_sym_infix] = ACTIONS(3097),
    [anon_sym_postfix] = ACTIONS(3097),
    [anon_sym_precedencegroup] = ACTIONS(3097),
    [anon_sym_associatedtype] = ACTIONS(3097),
    [anon_sym_AT] = ACTIONS(3095),
    [anon_sym_override] = ACTIONS(3097),
    [anon_sym_convenience] = ACTIONS(3097),
    [anon_sym_required] = ACTIONS(3097),
    [anon_sym_nonisolated] = ACTIONS(3097),
    [anon_sym_public] = ACTIONS(3097),
    [anon_sym_private] = ACTIONS(3097),
    [anon_sym_internal] = ACTIONS(3097),
    [anon_sym_fileprivate] = ACTIONS(3097),
    [anon_sym_open] = ACTIONS(3097),
    [anon_sym_mutating] = ACTIONS(3097),
    [anon_sym_nonmutating] = ACTIONS(3097),
    [anon_sym_static] = ACTIONS(3097),
    [anon_sym_dynamic] = ACTIONS(3097),
    [anon_sym_optional] = ACTIONS(3097),
    [anon_sym_distributed] = ACTIONS(3097),
    [anon_sym_final] = ACTIONS(3097),
    [anon_sym_inout] = ACTIONS(3097),
    [anon_sym_ATescaping] = ACTIONS(3097),
    [anon_sym_ATautoclosure] = ACTIONS(3097),
    [anon_sym_weak] = ACTIONS(3097),
    [anon_sym_unowned] = ACTIONS(3095),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3097),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3097),
    [anon_sym_borrowing] = ACTIONS(3097),
    [anon_sym_consuming] = ACTIONS(3097),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3097),
    [sym__dot_custom] = ACTIONS(3097),
    [sym__conjunction_operator_custom] = ACTIONS(3097),
    [sym__disjunction_operator_custom] = ACTIONS(3097),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3097),
    [sym__eq_custom] = ACTIONS(3097),
    [sym__eq_eq_custom] = ACTIONS(3097),
    [sym__plus_then_ws] = ACTIONS(3097),
    [sym__minus_then_ws] = ACTIONS(3097),
    [sym__bang_custom] = ACTIONS(3097),
    [sym__throws_keyword] = ACTIONS(3097),
    [sym__rethrows_keyword] = ACTIONS(3097),
    [sym__as_custom] = ACTIONS(3097),
    [sym__as_quest_custom] = ACTIONS(3097),
    [sym__as_bang_custom] = ACTIONS(3097),
    [sym__async_keyword_custom] = ACTIONS(3097),
    [sym__custom_operator] = ACTIONS(3097),
  },
  [822] = {
    [anon_sym_BANG] = ACTIONS(2991),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(2993),
    [anon_sym_async] = ACTIONS(2993),
    [anon_sym_lazy] = ACTIONS(2993),
    [anon_sym_package] = ACTIONS(2993),
    [anon_sym_RPAREN] = ACTIONS(2993),
    [anon_sym_COMMA] = ACTIONS(2993),
    [anon_sym_COLON] = ACTIONS(2993),
    [anon_sym_LPAREN] = ACTIONS(2993),
    [anon_sym_LBRACK] = ACTIONS(2993),
    [anon_sym_RBRACK] = ACTIONS(2993),
    [anon_sym_DOT] = ACTIONS(2991),
    [anon_sym_QMARK] = ACTIONS(2991),
    [anon_sym_QMARK2] = ACTIONS(2993),
    [anon_sym_AMP] = ACTIONS(2993),
    [aux_sym_custom_operator_token1] = ACTIONS(2993),
    [anon_sym_LT] = ACTIONS(2991),
    [anon_sym_GT] = ACTIONS(2991),
    [anon_sym_LBRACE] = ACTIONS(2993),
    [anon_sym_CARET_LBRACE] = ACTIONS(2993),
    [anon_sym_RBRACE] = ACTIONS(2993),
    [anon_sym_case] = ACTIONS(2993),
    [anon_sym_PLUS_EQ] = ACTIONS(2993),
    [anon_sym_DASH_EQ] = ACTIONS(2993),
    [anon_sym_STAR_EQ] = ACTIONS(2993),
    [anon_sym_SLASH_EQ] = ACTIONS(2993),
    [anon_sym_PERCENT_EQ] = ACTIONS(2993),
    [anon_sym_BANG_EQ] = ACTIONS(2991),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2993),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2993),
    [anon_sym_LT_EQ] = ACTIONS(2993),
    [anon_sym_GT_EQ] = ACTIONS(2993),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2993),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2993),
    [anon_sym_is] = ACTIONS(2993),
    [anon_sym_PLUS] = ACTIONS(2991),
    [anon_sym_DASH] = ACTIONS(2991),
    [anon_sym_STAR] = ACTIONS(2991),
    [anon_sym_SLASH] = ACTIONS(2991),
    [anon_sym_PERCENT] = ACTIONS(2991),
    [anon_sym_PLUS_PLUS] = ACTIONS(2993),
    [anon_sym_DASH_DASH] = ACTIONS(2993),
    [anon_sym_PIPE] = ACTIONS(2993),
    [anon_sym_CARET] = ACTIONS(2991),
    [anon_sym_LT_LT] = ACTIONS(2993),
    [anon_sym_GT_GT] = ACTIONS(2993),
    [anon_sym_import] = ACTIONS(2993),
    [anon_sym_typealias] = ACTIONS(2993),
    [anon_sym_struct] = ACTIONS(2993),
    [anon_sym_class] = ACTIONS(2993),
    [anon_sym_enum] = ACTIONS(2993),
    [anon_sym_protocol] = ACTIONS(2993),
    [anon_sym_let] = ACTIONS(2993),
    [anon_sym_var] = ACTIONS(2993),
    [anon_sym_func] = ACTIONS(2993),
    [anon_sym_extension] = ACTIONS(2993),
    [anon_sym_indirect] = ACTIONS(2993),
    [anon_sym_SEMI] = ACTIONS(2993),
    [anon_sym_init] = ACTIONS(2993),
    [anon_sym_deinit] = ACTIONS(2993),
    [anon_sym_subscript] = ACTIONS(2993),
    [anon_sym_prefix] = ACTIONS(2993),
    [anon_sym_infix] = ACTIONS(2993),
    [anon_sym_postfix] = ACTIONS(2993),
    [anon_sym_precedencegroup] = ACTIONS(2993),
    [anon_sym_associatedtype] = ACTIONS(2993),
    [anon_sym_AT] = ACTIONS(2991),
    [anon_sym_override] = ACTIONS(2993),
    [anon_sym_convenience] = ACTIONS(2993),
    [anon_sym_required] = ACTIONS(2993),
    [anon_sym_nonisolated] = ACTIONS(2993),
    [anon_sym_public] = ACTIONS(2993),
    [anon_sym_private] = ACTIONS(2993),
    [anon_sym_internal] = ACTIONS(2993),
    [anon_sym_fileprivate] = ACTIONS(2993),
    [anon_sym_open] = ACTIONS(2993),
    [anon_sym_mutating] = ACTIONS(2993),
    [anon_sym_nonmutating] = ACTIONS(2993),
    [anon_sym_static] = ACTIONS(2993),
    [anon_sym_dynamic] = ACTIONS(2993),
    [anon_sym_optional] = ACTIONS(2993),
    [anon_sym_distributed] = ACTIONS(2993),
    [anon_sym_final] = ACTIONS(2993),
    [anon_sym_inout] = ACTIONS(2993),
    [anon_sym_ATescaping] = ACTIONS(2993),
    [anon_sym_ATautoclosure] = ACTIONS(2993),
    [anon_sym_weak] = ACTIONS(2993),
    [anon_sym_unowned] = ACTIONS(2991),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2993),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2993),
    [anon_sym_borrowing] = ACTIONS(2993),
    [anon_sym_consuming] = ACTIONS(2993),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(2993),
    [sym__dot_custom] = ACTIONS(2993),
    [sym__conjunction_operator_custom] = ACTIONS(2993),
    [sym__disjunction_operator_custom] = ACTIONS(2993),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2993),
    [sym__eq_custom] = ACTIONS(2993),
    [sym__eq_eq_custom] = ACTIONS(2993),
    [sym__plus_then_ws] = ACTIONS(2993),
    [sym__minus_then_ws] = ACTIONS(2993),
    [sym__bang_custom] = ACTIONS(2993),
    [sym__throws_keyword] = ACTIONS(2993),
    [sym__rethrows_keyword] = ACTIONS(2993),
    [sym__as_custom] = ACTIONS(2993),
    [sym__as_quest_custom] = ACTIONS(2993),
    [sym__as_bang_custom] = ACTIONS(2993),
    [sym__async_keyword_custom] = ACTIONS(2993),
    [sym__custom_operator] = ACTIONS(2993),
  },
  [823] = {
    [sym__key_path_postfixes] = STATE(838),
    [sym_bang] = STATE(838),
    [aux_sym__key_path_component_repeat1] = STATE(838),
    [anon_sym_BANG] = ACTIONS(3099),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3101),
    [anon_sym_async] = ACTIONS(3101),
    [anon_sym_lazy] = ACTIONS(3101),
    [anon_sym_package] = ACTIONS(3101),
    [anon_sym_RPAREN] = ACTIONS(3101),
    [anon_sym_COMMA] = ACTIONS(3101),
    [anon_sym_COLON] = ACTIONS(3101),
    [anon_sym_LPAREN] = ACTIONS(3101),
    [anon_sym_LBRACK] = ACTIONS(3101),
    [anon_sym_RBRACK] = ACTIONS(3101),
    [anon_sym_DOT] = ACTIONS(3099),
    [anon_sym_QMARK] = ACTIONS(3099),
    [anon_sym_QMARK2] = ACTIONS(3101),
    [anon_sym_AMP] = ACTIONS(3101),
    [aux_sym_custom_operator_token1] = ACTIONS(3101),
    [anon_sym_LT] = ACTIONS(3099),
    [anon_sym_GT] = ACTIONS(3099),
    [anon_sym_LBRACE] = ACTIONS(3101),
    [anon_sym_CARET_LBRACE] = ACTIONS(3101),
    [anon_sym_RBRACE] = ACTIONS(3101),
    [anon_sym_self] = ACTIONS(3103),
    [anon_sym_case] = ACTIONS(3101),
    [anon_sym_PLUS_EQ] = ACTIONS(3101),
    [anon_sym_DASH_EQ] = ACTIONS(3101),
    [anon_sym_STAR_EQ] = ACTIONS(3101),
    [anon_sym_SLASH_EQ] = ACTIONS(3101),
    [anon_sym_PERCENT_EQ] = ACTIONS(3101),
    [anon_sym_BANG_EQ] = ACTIONS(3099),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3101),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3101),
    [anon_sym_LT_EQ] = ACTIONS(3101),
    [anon_sym_GT_EQ] = ACTIONS(3101),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3101),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3101),
    [anon_sym_is] = ACTIONS(3101),
    [anon_sym_PLUS] = ACTIONS(3099),
    [anon_sym_DASH] = ACTIONS(3099),
    [anon_sym_STAR] = ACTIONS(3099),
    [anon_sym_SLASH] = ACTIONS(3099),
    [anon_sym_PERCENT] = ACTIONS(3099),
    [anon_sym_PLUS_PLUS] = ACTIONS(3101),
    [anon_sym_DASH_DASH] = ACTIONS(3101),
    [anon_sym_PIPE] = ACTIONS(3101),
    [anon_sym_CARET] = ACTIONS(3099),
    [anon_sym_LT_LT] = ACTIONS(3101),
    [anon_sym_GT_GT] = ACTIONS(3101),
    [anon_sym_import] = ACTIONS(3101),
    [anon_sym_typealias] = ACTIONS(3101),
    [anon_sym_struct] = ACTIONS(3101),
    [anon_sym_class] = ACTIONS(3101),
    [anon_sym_enum] = ACTIONS(3101),
    [anon_sym_protocol] = ACTIONS(3101),
    [anon_sym_let] = ACTIONS(3101),
    [anon_sym_var] = ACTIONS(3101),
    [anon_sym_func] = ACTIONS(3101),
    [anon_sym_extension] = ACTIONS(3101),
    [anon_sym_indirect] = ACTIONS(3101),
    [anon_sym_SEMI] = ACTIONS(3101),
    [anon_sym_init] = ACTIONS(3101),
    [anon_sym_deinit] = ACTIONS(3101),
    [anon_sym_subscript] = ACTIONS(3101),
    [anon_sym_prefix] = ACTIONS(3101),
    [anon_sym_infix] = ACTIONS(3101),
    [anon_sym_postfix] = ACTIONS(3101),
    [anon_sym_precedencegroup] = ACTIONS(3101),
    [anon_sym_associatedtype] = ACTIONS(3101),
    [anon_sym_AT] = ACTIONS(3099),
    [anon_sym_override] = ACTIONS(3101),
    [anon_sym_convenience] = ACTIONS(3101),
    [anon_sym_required] = ACTIONS(3101),
    [anon_sym_nonisolated] = ACTIONS(3101),
    [anon_sym_public] = ACTIONS(3101),
    [anon_sym_private] = ACTIONS(3101),
    [anon_sym_internal] = ACTIONS(3101),
    [anon_sym_fileprivate] = ACTIONS(3101),
    [anon_sym_open] = ACTIONS(3101),
    [anon_sym_mutating] = ACTIONS(3101),
    [anon_sym_nonmutating] = ACTIONS(3101),
    [anon_sym_static] = ACTIONS(3101),
    [anon_sym_dynamic] = ACTIONS(3101),
    [anon_sym_optional] = ACTIONS(3101),
    [anon_sym_distributed] = ACTIONS(3101),
    [anon_sym_final] = ACTIONS(3101),
    [anon_sym_inout] = ACTIONS(3101),
    [anon_sym_ATescaping] = ACTIONS(3101),
    [anon_sym_ATautoclosure] = ACTIONS(3101),
    [anon_sym_weak] = ACTIONS(3101),
    [anon_sym_unowned] = ACTIONS(3099),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3101),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3101),
    [anon_sym_borrowing] = ACTIONS(3101),
    [anon_sym_consuming] = ACTIONS(3101),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3101),
    [sym__conjunction_operator_custom] = ACTIONS(3101),
    [sym__disjunction_operator_custom] = ACTIONS(3101),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3101),
    [sym__eq_custom] = ACTIONS(3101),
    [sym__eq_eq_custom] = ACTIONS(3101),
    [sym__plus_then_ws] = ACTIONS(3101),
    [sym__minus_then_ws] = ACTIONS(3101),
    [sym__bang_custom] = ACTIONS(3101),
    [sym__as_custom] = ACTIONS(3101),
    [sym__as_quest_custom] = ACTIONS(3101),
    [sym__as_bang_custom] = ACTIONS(3101),
    [sym__custom_operator] = ACTIONS(3101),
  },
  [824] = {
    [anon_sym_BANG] = ACTIONS(3105),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3107),
    [anon_sym_async] = ACTIONS(3107),
    [anon_sym_lazy] = ACTIONS(3107),
    [anon_sym_package] = ACTIONS(3107),
    [anon_sym_RPAREN] = ACTIONS(3107),
    [anon_sym_COMMA] = ACTIONS(3107),
    [anon_sym_COLON] = ACTIONS(3107),
    [anon_sym_LPAREN] = ACTIONS(3107),
    [anon_sym_LBRACK] = ACTIONS(3107),
    [anon_sym_RBRACK] = ACTIONS(3107),
    [anon_sym_DOT] = ACTIONS(3105),
    [anon_sym_QMARK] = ACTIONS(3105),
    [anon_sym_QMARK2] = ACTIONS(3107),
    [anon_sym_AMP] = ACTIONS(3107),
    [aux_sym_custom_operator_token1] = ACTIONS(3107),
    [anon_sym_LT] = ACTIONS(3105),
    [anon_sym_GT] = ACTIONS(3105),
    [anon_sym_LBRACE] = ACTIONS(3107),
    [anon_sym_CARET_LBRACE] = ACTIONS(3107),
    [anon_sym_RBRACE] = ACTIONS(3107),
    [anon_sym_case] = ACTIONS(3107),
    [anon_sym_PLUS_EQ] = ACTIONS(3107),
    [anon_sym_DASH_EQ] = ACTIONS(3107),
    [anon_sym_STAR_EQ] = ACTIONS(3107),
    [anon_sym_SLASH_EQ] = ACTIONS(3107),
    [anon_sym_PERCENT_EQ] = ACTIONS(3107),
    [anon_sym_BANG_EQ] = ACTIONS(3105),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3107),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3107),
    [anon_sym_LT_EQ] = ACTIONS(3107),
    [anon_sym_GT_EQ] = ACTIONS(3107),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3107),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3107),
    [anon_sym_is] = ACTIONS(3107),
    [anon_sym_PLUS] = ACTIONS(3105),
    [anon_sym_DASH] = ACTIONS(3105),
    [anon_sym_STAR] = ACTIONS(3105),
    [anon_sym_SLASH] = ACTIONS(3105),
    [anon_sym_PERCENT] = ACTIONS(3105),
    [anon_sym_PLUS_PLUS] = ACTIONS(3107),
    [anon_sym_DASH_DASH] = ACTIONS(3107),
    [anon_sym_PIPE] = ACTIONS(3107),
    [anon_sym_CARET] = ACTIONS(3105),
    [anon_sym_LT_LT] = ACTIONS(3107),
    [anon_sym_GT_GT] = ACTIONS(3107),
    [anon_sym_import] = ACTIONS(3107),
    [anon_sym_typealias] = ACTIONS(3107),
    [anon_sym_struct] = ACTIONS(3107),
    [anon_sym_class] = ACTIONS(3107),
    [anon_sym_enum] = ACTIONS(3107),
    [anon_sym_protocol] = ACTIONS(3107),
    [anon_sym_let] = ACTIONS(3107),
    [anon_sym_var] = ACTIONS(3107),
    [anon_sym_func] = ACTIONS(3107),
    [anon_sym_extension] = ACTIONS(3107),
    [anon_sym_indirect] = ACTIONS(3107),
    [anon_sym_SEMI] = ACTIONS(3107),
    [anon_sym_init] = ACTIONS(3107),
    [anon_sym_deinit] = ACTIONS(3107),
    [anon_sym_subscript] = ACTIONS(3107),
    [anon_sym_prefix] = ACTIONS(3107),
    [anon_sym_infix] = ACTIONS(3107),
    [anon_sym_postfix] = ACTIONS(3107),
    [anon_sym_precedencegroup] = ACTIONS(3107),
    [anon_sym_associatedtype] = ACTIONS(3107),
    [anon_sym_AT] = ACTIONS(3105),
    [anon_sym_override] = ACTIONS(3107),
    [anon_sym_convenience] = ACTIONS(3107),
    [anon_sym_required] = ACTIONS(3107),
    [anon_sym_nonisolated] = ACTIONS(3107),
    [anon_sym_public] = ACTIONS(3107),
    [anon_sym_private] = ACTIONS(3107),
    [anon_sym_internal] = ACTIONS(3107),
    [anon_sym_fileprivate] = ACTIONS(3107),
    [anon_sym_open] = ACTIONS(3107),
    [anon_sym_mutating] = ACTIONS(3107),
    [anon_sym_nonmutating] = ACTIONS(3107),
    [anon_sym_static] = ACTIONS(3107),
    [anon_sym_dynamic] = ACTIONS(3107),
    [anon_sym_optional] = ACTIONS(3107),
    [anon_sym_distributed] = ACTIONS(3107),
    [anon_sym_final] = ACTIONS(3107),
    [anon_sym_inout] = ACTIONS(3107),
    [anon_sym_ATescaping] = ACTIONS(3107),
    [anon_sym_ATautoclosure] = ACTIONS(3107),
    [anon_sym_weak] = ACTIONS(3107),
    [anon_sym_unowned] = ACTIONS(3105),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3107),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3107),
    [anon_sym_borrowing] = ACTIONS(3107),
    [anon_sym_consuming] = ACTIONS(3107),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3107),
    [sym__dot_custom] = ACTIONS(3107),
    [sym__conjunction_operator_custom] = ACTIONS(3107),
    [sym__disjunction_operator_custom] = ACTIONS(3107),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3107),
    [sym__eq_custom] = ACTIONS(3107),
    [sym__eq_eq_custom] = ACTIONS(3107),
    [sym__plus_then_ws] = ACTIONS(3107),
    [sym__minus_then_ws] = ACTIONS(3107),
    [sym__bang_custom] = ACTIONS(3107),
    [sym__throws_keyword] = ACTIONS(3107),
    [sym__rethrows_keyword] = ACTIONS(3107),
    [sym__as_custom] = ACTIONS(3107),
    [sym__as_quest_custom] = ACTIONS(3107),
    [sym__as_bang_custom] = ACTIONS(3107),
    [sym__async_keyword_custom] = ACTIONS(3107),
    [sym__custom_operator] = ACTIONS(3107),
  },
  [825] = {
    [anon_sym_BANG] = ACTIONS(3109),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3111),
    [anon_sym_async] = ACTIONS(3111),
    [anon_sym_lazy] = ACTIONS(3111),
    [anon_sym_package] = ACTIONS(3111),
    [anon_sym_RPAREN] = ACTIONS(3111),
    [anon_sym_COMMA] = ACTIONS(3111),
    [anon_sym_COLON] = ACTIONS(3111),
    [anon_sym_LPAREN] = ACTIONS(3111),
    [anon_sym_LBRACK] = ACTIONS(3111),
    [anon_sym_RBRACK] = ACTIONS(3111),
    [anon_sym_DOT] = ACTIONS(3109),
    [anon_sym_QMARK] = ACTIONS(3109),
    [anon_sym_QMARK2] = ACTIONS(3111),
    [anon_sym_AMP] = ACTIONS(3111),
    [aux_sym_custom_operator_token1] = ACTIONS(3111),
    [anon_sym_LT] = ACTIONS(3109),
    [anon_sym_GT] = ACTIONS(3109),
    [anon_sym_LBRACE] = ACTIONS(3111),
    [anon_sym_CARET_LBRACE] = ACTIONS(3111),
    [anon_sym_RBRACE] = ACTIONS(3111),
    [anon_sym_case] = ACTIONS(3111),
    [anon_sym_PLUS_EQ] = ACTIONS(3111),
    [anon_sym_DASH_EQ] = ACTIONS(3111),
    [anon_sym_STAR_EQ] = ACTIONS(3111),
    [anon_sym_SLASH_EQ] = ACTIONS(3111),
    [anon_sym_PERCENT_EQ] = ACTIONS(3111),
    [anon_sym_BANG_EQ] = ACTIONS(3109),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3111),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3111),
    [anon_sym_LT_EQ] = ACTIONS(3111),
    [anon_sym_GT_EQ] = ACTIONS(3111),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3111),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3111),
    [anon_sym_is] = ACTIONS(3111),
    [anon_sym_PLUS] = ACTIONS(3109),
    [anon_sym_DASH] = ACTIONS(3109),
    [anon_sym_STAR] = ACTIONS(3109),
    [anon_sym_SLASH] = ACTIONS(3109),
    [anon_sym_PERCENT] = ACTIONS(3109),
    [anon_sym_PLUS_PLUS] = ACTIONS(3111),
    [anon_sym_DASH_DASH] = ACTIONS(3111),
    [anon_sym_PIPE] = ACTIONS(3111),
    [anon_sym_CARET] = ACTIONS(3109),
    [anon_sym_LT_LT] = ACTIONS(3111),
    [anon_sym_GT_GT] = ACTIONS(3111),
    [anon_sym_import] = ACTIONS(3111),
    [anon_sym_typealias] = ACTIONS(3111),
    [anon_sym_struct] = ACTIONS(3111),
    [anon_sym_class] = ACTIONS(3111),
    [anon_sym_enum] = ACTIONS(3111),
    [anon_sym_protocol] = ACTIONS(3111),
    [anon_sym_let] = ACTIONS(3111),
    [anon_sym_var] = ACTIONS(3111),
    [anon_sym_func] = ACTIONS(3111),
    [anon_sym_extension] = ACTIONS(3111),
    [anon_sym_indirect] = ACTIONS(3111),
    [anon_sym_SEMI] = ACTIONS(3111),
    [anon_sym_init] = ACTIONS(3111),
    [anon_sym_deinit] = ACTIONS(3111),
    [anon_sym_subscript] = ACTIONS(3111),
    [anon_sym_prefix] = ACTIONS(3111),
    [anon_sym_infix] = ACTIONS(3111),
    [anon_sym_postfix] = ACTIONS(3111),
    [anon_sym_precedencegroup] = ACTIONS(3111),
    [anon_sym_associatedtype] = ACTIONS(3111),
    [anon_sym_AT] = ACTIONS(3109),
    [anon_sym_override] = ACTIONS(3111),
    [anon_sym_convenience] = ACTIONS(3111),
    [anon_sym_required] = ACTIONS(3111),
    [anon_sym_nonisolated] = ACTIONS(3111),
    [anon_sym_public] = ACTIONS(3111),
    [anon_sym_private] = ACTIONS(3111),
    [anon_sym_internal] = ACTIONS(3111),
    [anon_sym_fileprivate] = ACTIONS(3111),
    [anon_sym_open] = ACTIONS(3111),
    [anon_sym_mutating] = ACTIONS(3111),
    [anon_sym_nonmutating] = ACTIONS(3111),
    [anon_sym_static] = ACTIONS(3111),
    [anon_sym_dynamic] = ACTIONS(3111),
    [anon_sym_optional] = ACTIONS(3111),
    [anon_sym_distributed] = ACTIONS(3111),
    [anon_sym_final] = ACTIONS(3111),
    [anon_sym_inout] = ACTIONS(3111),
    [anon_sym_ATescaping] = ACTIONS(3111),
    [anon_sym_ATautoclosure] = ACTIONS(3111),
    [anon_sym_weak] = ACTIONS(3111),
    [anon_sym_unowned] = ACTIONS(3109),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3111),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3111),
    [anon_sym_borrowing] = ACTIONS(3111),
    [anon_sym_consuming] = ACTIONS(3111),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3111),
    [sym__dot_custom] = ACTIONS(3111),
    [sym__conjunction_operator_custom] = ACTIONS(3111),
    [sym__disjunction_operator_custom] = ACTIONS(3111),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3111),
    [sym__eq_custom] = ACTIONS(3111),
    [sym__eq_eq_custom] = ACTIONS(3111),
    [sym__plus_then_ws] = ACTIONS(3111),
    [sym__minus_then_ws] = ACTIONS(3111),
    [sym__bang_custom] = ACTIONS(3111),
    [sym__throws_keyword] = ACTIONS(3111),
    [sym__rethrows_keyword] = ACTIONS(3111),
    [sym__as_custom] = ACTIONS(3111),
    [sym__as_quest_custom] = ACTIONS(3111),
    [sym__as_bang_custom] = ACTIONS(3111),
    [sym__async_keyword_custom] = ACTIONS(3111),
    [sym__custom_operator] = ACTIONS(3111),
  },
  [826] = {
    [anon_sym_BANG] = ACTIONS(3113),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3115),
    [anon_sym_async] = ACTIONS(3115),
    [anon_sym_lazy] = ACTIONS(3115),
    [anon_sym_package] = ACTIONS(3115),
    [anon_sym_RPAREN] = ACTIONS(3115),
    [anon_sym_COMMA] = ACTIONS(3115),
    [anon_sym_COLON] = ACTIONS(3115),
    [anon_sym_LPAREN] = ACTIONS(3115),
    [anon_sym_LBRACK] = ACTIONS(3115),
    [anon_sym_RBRACK] = ACTIONS(3115),
    [anon_sym_DOT] = ACTIONS(3113),
    [anon_sym_QMARK] = ACTIONS(3113),
    [anon_sym_QMARK2] = ACTIONS(3115),
    [anon_sym_AMP] = ACTIONS(3115),
    [aux_sym_custom_operator_token1] = ACTIONS(3115),
    [anon_sym_LT] = ACTIONS(3113),
    [anon_sym_GT] = ACTIONS(3113),
    [anon_sym_LBRACE] = ACTIONS(3115),
    [anon_sym_CARET_LBRACE] = ACTIONS(3115),
    [anon_sym_RBRACE] = ACTIONS(3115),
    [anon_sym_case] = ACTIONS(3115),
    [anon_sym_PLUS_EQ] = ACTIONS(3115),
    [anon_sym_DASH_EQ] = ACTIONS(3115),
    [anon_sym_STAR_EQ] = ACTIONS(3115),
    [anon_sym_SLASH_EQ] = ACTIONS(3115),
    [anon_sym_PERCENT_EQ] = ACTIONS(3115),
    [anon_sym_BANG_EQ] = ACTIONS(3113),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3115),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3115),
    [anon_sym_LT_EQ] = ACTIONS(3115),
    [anon_sym_GT_EQ] = ACTIONS(3115),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3115),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3115),
    [anon_sym_is] = ACTIONS(3115),
    [anon_sym_PLUS] = ACTIONS(3113),
    [anon_sym_DASH] = ACTIONS(3113),
    [anon_sym_STAR] = ACTIONS(3113),
    [anon_sym_SLASH] = ACTIONS(3113),
    [anon_sym_PERCENT] = ACTIONS(3113),
    [anon_sym_PLUS_PLUS] = ACTIONS(3115),
    [anon_sym_DASH_DASH] = ACTIONS(3115),
    [anon_sym_PIPE] = ACTIONS(3115),
    [anon_sym_CARET] = ACTIONS(3113),
    [anon_sym_LT_LT] = ACTIONS(3115),
    [anon_sym_GT_GT] = ACTIONS(3115),
    [anon_sym_import] = ACTIONS(3115),
    [anon_sym_typealias] = ACTIONS(3115),
    [anon_sym_struct] = ACTIONS(3115),
    [anon_sym_class] = ACTIONS(3115),
    [anon_sym_enum] = ACTIONS(3115),
    [anon_sym_protocol] = ACTIONS(3115),
    [anon_sym_let] = ACTIONS(3115),
    [anon_sym_var] = ACTIONS(3115),
    [anon_sym_func] = ACTIONS(3115),
    [anon_sym_extension] = ACTIONS(3115),
    [anon_sym_indirect] = ACTIONS(3115),
    [anon_sym_SEMI] = ACTIONS(3115),
    [anon_sym_init] = ACTIONS(3115),
    [anon_sym_deinit] = ACTIONS(3115),
    [anon_sym_subscript] = ACTIONS(3115),
    [anon_sym_prefix] = ACTIONS(3115),
    [anon_sym_infix] = ACTIONS(3115),
    [anon_sym_postfix] = ACTIONS(3115),
    [anon_sym_precedencegroup] = ACTIONS(3115),
    [anon_sym_associatedtype] = ACTIONS(3115),
    [anon_sym_AT] = ACTIONS(3113),
    [anon_sym_override] = ACTIONS(3115),
    [anon_sym_convenience] = ACTIONS(3115),
    [anon_sym_required] = ACTIONS(3115),
    [anon_sym_nonisolated] = ACTIONS(3115),
    [anon_sym_public] = ACTIONS(3115),
    [anon_sym_private] = ACTIONS(3115),
    [anon_sym_internal] = ACTIONS(3115),
    [anon_sym_fileprivate] = ACTIONS(3115),
    [anon_sym_open] = ACTIONS(3115),
    [anon_sym_mutating] = ACTIONS(3115),
    [anon_sym_nonmutating] = ACTIONS(3115),
    [anon_sym_static] = ACTIONS(3115),
    [anon_sym_dynamic] = ACTIONS(3115),
    [anon_sym_optional] = ACTIONS(3115),
    [anon_sym_distributed] = ACTIONS(3115),
    [anon_sym_final] = ACTIONS(3115),
    [anon_sym_inout] = ACTIONS(3115),
    [anon_sym_ATescaping] = ACTIONS(3115),
    [anon_sym_ATautoclosure] = ACTIONS(3115),
    [anon_sym_weak] = ACTIONS(3115),
    [anon_sym_unowned] = ACTIONS(3113),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3115),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3115),
    [anon_sym_borrowing] = ACTIONS(3115),
    [anon_sym_consuming] = ACTIONS(3115),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3115),
    [sym__dot_custom] = ACTIONS(3115),
    [sym__conjunction_operator_custom] = ACTIONS(3115),
    [sym__disjunction_operator_custom] = ACTIONS(3115),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3115),
    [sym__eq_custom] = ACTIONS(3115),
    [sym__eq_eq_custom] = ACTIONS(3115),
    [sym__plus_then_ws] = ACTIONS(3115),
    [sym__minus_then_ws] = ACTIONS(3115),
    [sym__bang_custom] = ACTIONS(3115),
    [sym__throws_keyword] = ACTIONS(3115),
    [sym__rethrows_keyword] = ACTIONS(3115),
    [sym__as_custom] = ACTIONS(3115),
    [sym__as_quest_custom] = ACTIONS(3115),
    [sym__as_bang_custom] = ACTIONS(3115),
    [sym__async_keyword_custom] = ACTIONS(3115),
    [sym__custom_operator] = ACTIONS(3115),
  },
  [827] = {
    [anon_sym_BANG] = ACTIONS(3117),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3119),
    [anon_sym_async] = ACTIONS(3119),
    [anon_sym_lazy] = ACTIONS(3119),
    [anon_sym_package] = ACTIONS(3119),
    [anon_sym_RPAREN] = ACTIONS(3119),
    [anon_sym_COMMA] = ACTIONS(3119),
    [anon_sym_COLON] = ACTIONS(3119),
    [anon_sym_LPAREN] = ACTIONS(3119),
    [anon_sym_LBRACK] = ACTIONS(3119),
    [anon_sym_RBRACK] = ACTIONS(3119),
    [anon_sym_DOT] = ACTIONS(3117),
    [anon_sym_QMARK] = ACTIONS(3117),
    [anon_sym_QMARK2] = ACTIONS(3119),
    [anon_sym_AMP] = ACTIONS(3119),
    [aux_sym_custom_operator_token1] = ACTIONS(3119),
    [anon_sym_LT] = ACTIONS(3117),
    [anon_sym_GT] = ACTIONS(3117),
    [anon_sym_LBRACE] = ACTIONS(3119),
    [anon_sym_CARET_LBRACE] = ACTIONS(3119),
    [anon_sym_RBRACE] = ACTIONS(3119),
    [anon_sym_case] = ACTIONS(3119),
    [anon_sym_PLUS_EQ] = ACTIONS(3119),
    [anon_sym_DASH_EQ] = ACTIONS(3119),
    [anon_sym_STAR_EQ] = ACTIONS(3119),
    [anon_sym_SLASH_EQ] = ACTIONS(3119),
    [anon_sym_PERCENT_EQ] = ACTIONS(3119),
    [anon_sym_BANG_EQ] = ACTIONS(3117),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3119),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3119),
    [anon_sym_LT_EQ] = ACTIONS(3119),
    [anon_sym_GT_EQ] = ACTIONS(3119),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3119),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3119),
    [anon_sym_is] = ACTIONS(3119),
    [anon_sym_PLUS] = ACTIONS(3117),
    [anon_sym_DASH] = ACTIONS(3117),
    [anon_sym_STAR] = ACTIONS(3117),
    [anon_sym_SLASH] = ACTIONS(3117),
    [anon_sym_PERCENT] = ACTIONS(3117),
    [anon_sym_PLUS_PLUS] = ACTIONS(3119),
    [anon_sym_DASH_DASH] = ACTIONS(3119),
    [anon_sym_PIPE] = ACTIONS(3119),
    [anon_sym_CARET] = ACTIONS(3117),
    [anon_sym_LT_LT] = ACTIONS(3119),
    [anon_sym_GT_GT] = ACTIONS(3119),
    [anon_sym_import] = ACTIONS(3119),
    [anon_sym_typealias] = ACTIONS(3119),
    [anon_sym_struct] = ACTIONS(3119),
    [anon_sym_class] = ACTIONS(3119),
    [anon_sym_enum] = ACTIONS(3119),
    [anon_sym_protocol] = ACTIONS(3119),
    [anon_sym_let] = ACTIONS(3119),
    [anon_sym_var] = ACTIONS(3119),
    [anon_sym_func] = ACTIONS(3119),
    [anon_sym_extension] = ACTIONS(3119),
    [anon_sym_indirect] = ACTIONS(3119),
    [anon_sym_SEMI] = ACTIONS(3119),
    [anon_sym_init] = ACTIONS(3119),
    [anon_sym_deinit] = ACTIONS(3119),
    [anon_sym_subscript] = ACTIONS(3119),
    [anon_sym_prefix] = ACTIONS(3119),
    [anon_sym_infix] = ACTIONS(3119),
    [anon_sym_postfix] = ACTIONS(3119),
    [anon_sym_precedencegroup] = ACTIONS(3119),
    [anon_sym_associatedtype] = ACTIONS(3119),
    [anon_sym_AT] = ACTIONS(3117),
    [anon_sym_override] = ACTIONS(3119),
    [anon_sym_convenience] = ACTIONS(3119),
    [anon_sym_required] = ACTIONS(3119),
    [anon_sym_nonisolated] = ACTIONS(3119),
    [anon_sym_public] = ACTIONS(3119),
    [anon_sym_private] = ACTIONS(3119),
    [anon_sym_internal] = ACTIONS(3119),
    [anon_sym_fileprivate] = ACTIONS(3119),
    [anon_sym_open] = ACTIONS(3119),
    [anon_sym_mutating] = ACTIONS(3119),
    [anon_sym_nonmutating] = ACTIONS(3119),
    [anon_sym_static] = ACTIONS(3119),
    [anon_sym_dynamic] = ACTIONS(3119),
    [anon_sym_optional] = ACTIONS(3119),
    [anon_sym_distributed] = ACTIONS(3119),
    [anon_sym_final] = ACTIONS(3119),
    [anon_sym_inout] = ACTIONS(3119),
    [anon_sym_ATescaping] = ACTIONS(3119),
    [anon_sym_ATautoclosure] = ACTIONS(3119),
    [anon_sym_weak] = ACTIONS(3119),
    [anon_sym_unowned] = ACTIONS(3117),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3119),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3119),
    [anon_sym_borrowing] = ACTIONS(3119),
    [anon_sym_consuming] = ACTIONS(3119),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3119),
    [sym__dot_custom] = ACTIONS(3119),
    [sym__conjunction_operator_custom] = ACTIONS(3119),
    [sym__disjunction_operator_custom] = ACTIONS(3119),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3119),
    [sym__eq_custom] = ACTIONS(3119),
    [sym__eq_eq_custom] = ACTIONS(3119),
    [sym__plus_then_ws] = ACTIONS(3119),
    [sym__minus_then_ws] = ACTIONS(3119),
    [sym__bang_custom] = ACTIONS(3119),
    [sym__throws_keyword] = ACTIONS(3119),
    [sym__rethrows_keyword] = ACTIONS(3119),
    [sym__as_custom] = ACTIONS(3119),
    [sym__as_quest_custom] = ACTIONS(3119),
    [sym__as_bang_custom] = ACTIONS(3119),
    [sym__async_keyword_custom] = ACTIONS(3119),
    [sym__custom_operator] = ACTIONS(3119),
  },
  [828] = {
    [anon_sym_BANG] = ACTIONS(3121),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3123),
    [anon_sym_async] = ACTIONS(3123),
    [anon_sym_lazy] = ACTIONS(3123),
    [anon_sym_package] = ACTIONS(3123),
    [anon_sym_RPAREN] = ACTIONS(3123),
    [anon_sym_COMMA] = ACTIONS(3123),
    [anon_sym_COLON] = ACTIONS(3123),
    [anon_sym_LPAREN] = ACTIONS(3123),
    [anon_sym_LBRACK] = ACTIONS(3123),
    [anon_sym_RBRACK] = ACTIONS(3123),
    [anon_sym_DOT] = ACTIONS(3121),
    [anon_sym_QMARK] = ACTIONS(3121),
    [anon_sym_QMARK2] = ACTIONS(3123),
    [anon_sym_AMP] = ACTIONS(3123),
    [aux_sym_custom_operator_token1] = ACTIONS(3123),
    [anon_sym_LT] = ACTIONS(3121),
    [anon_sym_GT] = ACTIONS(3121),
    [anon_sym_LBRACE] = ACTIONS(3123),
    [anon_sym_CARET_LBRACE] = ACTIONS(3123),
    [anon_sym_RBRACE] = ACTIONS(3123),
    [anon_sym_case] = ACTIONS(3123),
    [anon_sym_PLUS_EQ] = ACTIONS(3123),
    [anon_sym_DASH_EQ] = ACTIONS(3123),
    [anon_sym_STAR_EQ] = ACTIONS(3123),
    [anon_sym_SLASH_EQ] = ACTIONS(3123),
    [anon_sym_PERCENT_EQ] = ACTIONS(3123),
    [anon_sym_BANG_EQ] = ACTIONS(3121),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3123),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3123),
    [anon_sym_LT_EQ] = ACTIONS(3123),
    [anon_sym_GT_EQ] = ACTIONS(3123),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3123),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3123),
    [anon_sym_is] = ACTIONS(3123),
    [anon_sym_PLUS] = ACTIONS(3121),
    [anon_sym_DASH] = ACTIONS(3121),
    [anon_sym_STAR] = ACTIONS(3121),
    [anon_sym_SLASH] = ACTIONS(3121),
    [anon_sym_PERCENT] = ACTIONS(3121),
    [anon_sym_PLUS_PLUS] = ACTIONS(3123),
    [anon_sym_DASH_DASH] = ACTIONS(3123),
    [anon_sym_PIPE] = ACTIONS(3123),
    [anon_sym_CARET] = ACTIONS(3121),
    [anon_sym_LT_LT] = ACTIONS(3123),
    [anon_sym_GT_GT] = ACTIONS(3123),
    [anon_sym_import] = ACTIONS(3123),
    [anon_sym_typealias] = ACTIONS(3123),
    [anon_sym_struct] = ACTIONS(3123),
    [anon_sym_class] = ACTIONS(3123),
    [anon_sym_enum] = ACTIONS(3123),
    [anon_sym_protocol] = ACTIONS(3123),
    [anon_sym_let] = ACTIONS(3123),
    [anon_sym_var] = ACTIONS(3123),
    [anon_sym_func] = ACTIONS(3123),
    [anon_sym_extension] = ACTIONS(3123),
    [anon_sym_indirect] = ACTIONS(3123),
    [anon_sym_SEMI] = ACTIONS(3123),
    [anon_sym_init] = ACTIONS(3123),
    [anon_sym_deinit] = ACTIONS(3123),
    [anon_sym_subscript] = ACTIONS(3123),
    [anon_sym_prefix] = ACTIONS(3123),
    [anon_sym_infix] = ACTIONS(3123),
    [anon_sym_postfix] = ACTIONS(3123),
    [anon_sym_precedencegroup] = ACTIONS(3123),
    [anon_sym_associatedtype] = ACTIONS(3123),
    [anon_sym_AT] = ACTIONS(3121),
    [anon_sym_override] = ACTIONS(3123),
    [anon_sym_convenience] = ACTIONS(3123),
    [anon_sym_required] = ACTIONS(3123),
    [anon_sym_nonisolated] = ACTIONS(3123),
    [anon_sym_public] = ACTIONS(3123),
    [anon_sym_private] = ACTIONS(3123),
    [anon_sym_internal] = ACTIONS(3123),
    [anon_sym_fileprivate] = ACTIONS(3123),
    [anon_sym_open] = ACTIONS(3123),
    [anon_sym_mutating] = ACTIONS(3123),
    [anon_sym_nonmutating] = ACTIONS(3123),
    [anon_sym_static] = ACTIONS(3123),
    [anon_sym_dynamic] = ACTIONS(3123),
    [anon_sym_optional] = ACTIONS(3123),
    [anon_sym_distributed] = ACTIONS(3123),
    [anon_sym_final] = ACTIONS(3123),
    [anon_sym_inout] = ACTIONS(3123),
    [anon_sym_ATescaping] = ACTIONS(3123),
    [anon_sym_ATautoclosure] = ACTIONS(3123),
    [anon_sym_weak] = ACTIONS(3123),
    [anon_sym_unowned] = ACTIONS(3121),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3123),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3123),
    [anon_sym_borrowing] = ACTIONS(3123),
    [anon_sym_consuming] = ACTIONS(3123),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3123),
    [sym__dot_custom] = ACTIONS(3123),
    [sym__conjunction_operator_custom] = ACTIONS(3123),
    [sym__disjunction_operator_custom] = ACTIONS(3123),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3123),
    [sym__eq_custom] = ACTIONS(3123),
    [sym__eq_eq_custom] = ACTIONS(3123),
    [sym__plus_then_ws] = ACTIONS(3123),
    [sym__minus_then_ws] = ACTIONS(3123),
    [sym__bang_custom] = ACTIONS(3123),
    [sym__throws_keyword] = ACTIONS(3123),
    [sym__rethrows_keyword] = ACTIONS(3123),
    [sym__as_custom] = ACTIONS(3123),
    [sym__as_quest_custom] = ACTIONS(3123),
    [sym__as_bang_custom] = ACTIONS(3123),
    [sym__async_keyword_custom] = ACTIONS(3123),
    [sym__custom_operator] = ACTIONS(3123),
  },
  [829] = {
    [anon_sym_BANG] = ACTIONS(3125),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3127),
    [anon_sym_async] = ACTIONS(3127),
    [anon_sym_lazy] = ACTIONS(3127),
    [anon_sym_package] = ACTIONS(3127),
    [anon_sym_RPAREN] = ACTIONS(3127),
    [anon_sym_COMMA] = ACTIONS(3127),
    [anon_sym_COLON] = ACTIONS(3127),
    [anon_sym_LPAREN] = ACTIONS(3127),
    [anon_sym_LBRACK] = ACTIONS(3127),
    [anon_sym_RBRACK] = ACTIONS(3127),
    [anon_sym_DOT] = ACTIONS(3125),
    [anon_sym_QMARK] = ACTIONS(3125),
    [anon_sym_QMARK2] = ACTIONS(3127),
    [anon_sym_AMP] = ACTIONS(3127),
    [aux_sym_custom_operator_token1] = ACTIONS(3127),
    [anon_sym_LT] = ACTIONS(3125),
    [anon_sym_GT] = ACTIONS(3125),
    [anon_sym_LBRACE] = ACTIONS(3127),
    [anon_sym_CARET_LBRACE] = ACTIONS(3127),
    [anon_sym_RBRACE] = ACTIONS(3127),
    [anon_sym_case] = ACTIONS(3127),
    [anon_sym_PLUS_EQ] = ACTIONS(3127),
    [anon_sym_DASH_EQ] = ACTIONS(3127),
    [anon_sym_STAR_EQ] = ACTIONS(3127),
    [anon_sym_SLASH_EQ] = ACTIONS(3127),
    [anon_sym_PERCENT_EQ] = ACTIONS(3127),
    [anon_sym_BANG_EQ] = ACTIONS(3125),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3127),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3127),
    [anon_sym_LT_EQ] = ACTIONS(3127),
    [anon_sym_GT_EQ] = ACTIONS(3127),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3127),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3127),
    [anon_sym_is] = ACTIONS(3127),
    [anon_sym_PLUS] = ACTIONS(3125),
    [anon_sym_DASH] = ACTIONS(3125),
    [anon_sym_STAR] = ACTIONS(3125),
    [anon_sym_SLASH] = ACTIONS(3125),
    [anon_sym_PERCENT] = ACTIONS(3125),
    [anon_sym_PLUS_PLUS] = ACTIONS(3127),
    [anon_sym_DASH_DASH] = ACTIONS(3127),
    [anon_sym_PIPE] = ACTIONS(3127),
    [anon_sym_CARET] = ACTIONS(3125),
    [anon_sym_LT_LT] = ACTIONS(3127),
    [anon_sym_GT_GT] = ACTIONS(3127),
    [anon_sym_import] = ACTIONS(3127),
    [anon_sym_typealias] = ACTIONS(3127),
    [anon_sym_struct] = ACTIONS(3127),
    [anon_sym_class] = ACTIONS(3127),
    [anon_sym_enum] = ACTIONS(3127),
    [anon_sym_protocol] = ACTIONS(3127),
    [anon_sym_let] = ACTIONS(3127),
    [anon_sym_var] = ACTIONS(3127),
    [anon_sym_func] = ACTIONS(3127),
    [anon_sym_extension] = ACTIONS(3127),
    [anon_sym_indirect] = ACTIONS(3127),
    [anon_sym_SEMI] = ACTIONS(3127),
    [anon_sym_init] = ACTIONS(3127),
    [anon_sym_deinit] = ACTIONS(3127),
    [anon_sym_subscript] = ACTIONS(3127),
    [anon_sym_prefix] = ACTIONS(3127),
    [anon_sym_infix] = ACTIONS(3127),
    [anon_sym_postfix] = ACTIONS(3127),
    [anon_sym_precedencegroup] = ACTIONS(3127),
    [anon_sym_associatedtype] = ACTIONS(3127),
    [anon_sym_AT] = ACTIONS(3125),
    [anon_sym_override] = ACTIONS(3127),
    [anon_sym_convenience] = ACTIONS(3127),
    [anon_sym_required] = ACTIONS(3127),
    [anon_sym_nonisolated] = ACTIONS(3127),
    [anon_sym_public] = ACTIONS(3127),
    [anon_sym_private] = ACTIONS(3127),
    [anon_sym_internal] = ACTIONS(3127),
    [anon_sym_fileprivate] = ACTIONS(3127),
    [anon_sym_open] = ACTIONS(3127),
    [anon_sym_mutating] = ACTIONS(3127),
    [anon_sym_nonmutating] = ACTIONS(3127),
    [anon_sym_static] = ACTIONS(3127),
    [anon_sym_dynamic] = ACTIONS(3127),
    [anon_sym_optional] = ACTIONS(3127),
    [anon_sym_distributed] = ACTIONS(3127),
    [anon_sym_final] = ACTIONS(3127),
    [anon_sym_inout] = ACTIONS(3127),
    [anon_sym_ATescaping] = ACTIONS(3127),
    [anon_sym_ATautoclosure] = ACTIONS(3127),
    [anon_sym_weak] = ACTIONS(3127),
    [anon_sym_unowned] = ACTIONS(3125),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3127),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3127),
    [anon_sym_borrowing] = ACTIONS(3127),
    [anon_sym_consuming] = ACTIONS(3127),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3127),
    [sym__dot_custom] = ACTIONS(3127),
    [sym__conjunction_operator_custom] = ACTIONS(3127),
    [sym__disjunction_operator_custom] = ACTIONS(3127),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3127),
    [sym__eq_custom] = ACTIONS(3127),
    [sym__eq_eq_custom] = ACTIONS(3127),
    [sym__plus_then_ws] = ACTIONS(3127),
    [sym__minus_then_ws] = ACTIONS(3127),
    [sym__bang_custom] = ACTIONS(3127),
    [sym__throws_keyword] = ACTIONS(3127),
    [sym__rethrows_keyword] = ACTIONS(3127),
    [sym__as_custom] = ACTIONS(3127),
    [sym__as_quest_custom] = ACTIONS(3127),
    [sym__as_bang_custom] = ACTIONS(3127),
    [sym__async_keyword_custom] = ACTIONS(3127),
    [sym__custom_operator] = ACTIONS(3127),
  },
  [830] = {
    [anon_sym_BANG] = ACTIONS(3129),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3131),
    [anon_sym_async] = ACTIONS(3131),
    [anon_sym_lazy] = ACTIONS(3131),
    [anon_sym_package] = ACTIONS(3131),
    [anon_sym_RPAREN] = ACTIONS(3131),
    [anon_sym_COMMA] = ACTIONS(3131),
    [anon_sym_COLON] = ACTIONS(3131),
    [anon_sym_LPAREN] = ACTIONS(3131),
    [anon_sym_LBRACK] = ACTIONS(3131),
    [anon_sym_RBRACK] = ACTIONS(3131),
    [anon_sym_DOT] = ACTIONS(3129),
    [anon_sym_QMARK] = ACTIONS(3129),
    [anon_sym_QMARK2] = ACTIONS(3131),
    [anon_sym_AMP] = ACTIONS(3131),
    [aux_sym_custom_operator_token1] = ACTIONS(3131),
    [anon_sym_LT] = ACTIONS(3129),
    [anon_sym_GT] = ACTIONS(3129),
    [anon_sym_LBRACE] = ACTIONS(3131),
    [anon_sym_CARET_LBRACE] = ACTIONS(3131),
    [anon_sym_RBRACE] = ACTIONS(3131),
    [anon_sym_case] = ACTIONS(3131),
    [anon_sym_PLUS_EQ] = ACTIONS(3131),
    [anon_sym_DASH_EQ] = ACTIONS(3131),
    [anon_sym_STAR_EQ] = ACTIONS(3131),
    [anon_sym_SLASH_EQ] = ACTIONS(3131),
    [anon_sym_PERCENT_EQ] = ACTIONS(3131),
    [anon_sym_BANG_EQ] = ACTIONS(3129),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3131),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3131),
    [anon_sym_LT_EQ] = ACTIONS(3131),
    [anon_sym_GT_EQ] = ACTIONS(3131),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3131),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3131),
    [anon_sym_is] = ACTIONS(3131),
    [anon_sym_PLUS] = ACTIONS(3129),
    [anon_sym_DASH] = ACTIONS(3129),
    [anon_sym_STAR] = ACTIONS(3129),
    [anon_sym_SLASH] = ACTIONS(3129),
    [anon_sym_PERCENT] = ACTIONS(3129),
    [anon_sym_PLUS_PLUS] = ACTIONS(3131),
    [anon_sym_DASH_DASH] = ACTIONS(3131),
    [anon_sym_PIPE] = ACTIONS(3131),
    [anon_sym_CARET] = ACTIONS(3129),
    [anon_sym_LT_LT] = ACTIONS(3131),
    [anon_sym_GT_GT] = ACTIONS(3131),
    [anon_sym_import] = ACTIONS(3131),
    [anon_sym_typealias] = ACTIONS(3131),
    [anon_sym_struct] = ACTIONS(3131),
    [anon_sym_class] = ACTIONS(3131),
    [anon_sym_enum] = ACTIONS(3131),
    [anon_sym_protocol] = ACTIONS(3131),
    [anon_sym_let] = ACTIONS(3131),
    [anon_sym_var] = ACTIONS(3131),
    [anon_sym_func] = ACTIONS(3131),
    [anon_sym_extension] = ACTIONS(3131),
    [anon_sym_indirect] = ACTIONS(3131),
    [anon_sym_SEMI] = ACTIONS(3131),
    [anon_sym_init] = ACTIONS(3131),
    [anon_sym_deinit] = ACTIONS(3131),
    [anon_sym_subscript] = ACTIONS(3131),
    [anon_sym_prefix] = ACTIONS(3131),
    [anon_sym_infix] = ACTIONS(3131),
    [anon_sym_postfix] = ACTIONS(3131),
    [anon_sym_precedencegroup] = ACTIONS(3131),
    [anon_sym_associatedtype] = ACTIONS(3131),
    [anon_sym_AT] = ACTIONS(3129),
    [anon_sym_override] = ACTIONS(3131),
    [anon_sym_convenience] = ACTIONS(3131),
    [anon_sym_required] = ACTIONS(3131),
    [anon_sym_nonisolated] = ACTIONS(3131),
    [anon_sym_public] = ACTIONS(3131),
    [anon_sym_private] = ACTIONS(3131),
    [anon_sym_internal] = ACTIONS(3131),
    [anon_sym_fileprivate] = ACTIONS(3131),
    [anon_sym_open] = ACTIONS(3131),
    [anon_sym_mutating] = ACTIONS(3131),
    [anon_sym_nonmutating] = ACTIONS(3131),
    [anon_sym_static] = ACTIONS(3131),
    [anon_sym_dynamic] = ACTIONS(3131),
    [anon_sym_optional] = ACTIONS(3131),
    [anon_sym_distributed] = ACTIONS(3131),
    [anon_sym_final] = ACTIONS(3131),
    [anon_sym_inout] = ACTIONS(3131),
    [anon_sym_ATescaping] = ACTIONS(3131),
    [anon_sym_ATautoclosure] = ACTIONS(3131),
    [anon_sym_weak] = ACTIONS(3131),
    [anon_sym_unowned] = ACTIONS(3129),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3131),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3131),
    [anon_sym_borrowing] = ACTIONS(3131),
    [anon_sym_consuming] = ACTIONS(3131),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3131),
    [sym__dot_custom] = ACTIONS(3131),
    [sym__conjunction_operator_custom] = ACTIONS(3131),
    [sym__disjunction_operator_custom] = ACTIONS(3131),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3131),
    [sym__eq_custom] = ACTIONS(3131),
    [sym__eq_eq_custom] = ACTIONS(3131),
    [sym__plus_then_ws] = ACTIONS(3131),
    [sym__minus_then_ws] = ACTIONS(3131),
    [sym__bang_custom] = ACTIONS(3131),
    [sym__throws_keyword] = ACTIONS(3131),
    [sym__rethrows_keyword] = ACTIONS(3131),
    [sym__as_custom] = ACTIONS(3131),
    [sym__as_quest_custom] = ACTIONS(3131),
    [sym__as_bang_custom] = ACTIONS(3131),
    [sym__async_keyword_custom] = ACTIONS(3131),
    [sym__custom_operator] = ACTIONS(3131),
  },
  [831] = {
    [anon_sym_BANG] = ACTIONS(3133),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3135),
    [anon_sym_async] = ACTIONS(3135),
    [anon_sym_lazy] = ACTIONS(3135),
    [anon_sym_package] = ACTIONS(3135),
    [anon_sym_RPAREN] = ACTIONS(3135),
    [anon_sym_COMMA] = ACTIONS(3135),
    [anon_sym_COLON] = ACTIONS(3135),
    [anon_sym_LPAREN] = ACTIONS(3135),
    [anon_sym_LBRACK] = ACTIONS(3135),
    [anon_sym_RBRACK] = ACTIONS(3135),
    [anon_sym_DOT] = ACTIONS(3133),
    [anon_sym_QMARK] = ACTIONS(3133),
    [anon_sym_QMARK2] = ACTIONS(3135),
    [anon_sym_AMP] = ACTIONS(3135),
    [aux_sym_custom_operator_token1] = ACTIONS(3135),
    [anon_sym_LT] = ACTIONS(3133),
    [anon_sym_GT] = ACTIONS(3133),
    [anon_sym_LBRACE] = ACTIONS(3135),
    [anon_sym_CARET_LBRACE] = ACTIONS(3135),
    [anon_sym_RBRACE] = ACTIONS(3135),
    [anon_sym_case] = ACTIONS(3135),
    [anon_sym_PLUS_EQ] = ACTIONS(3135),
    [anon_sym_DASH_EQ] = ACTIONS(3135),
    [anon_sym_STAR_EQ] = ACTIONS(3135),
    [anon_sym_SLASH_EQ] = ACTIONS(3135),
    [anon_sym_PERCENT_EQ] = ACTIONS(3135),
    [anon_sym_BANG_EQ] = ACTIONS(3133),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3135),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3135),
    [anon_sym_LT_EQ] = ACTIONS(3135),
    [anon_sym_GT_EQ] = ACTIONS(3135),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3135),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3135),
    [anon_sym_is] = ACTIONS(3135),
    [anon_sym_PLUS] = ACTIONS(3133),
    [anon_sym_DASH] = ACTIONS(3133),
    [anon_sym_STAR] = ACTIONS(3133),
    [anon_sym_SLASH] = ACTIONS(3133),
    [anon_sym_PERCENT] = ACTIONS(3133),
    [anon_sym_PLUS_PLUS] = ACTIONS(3135),
    [anon_sym_DASH_DASH] = ACTIONS(3135),
    [anon_sym_PIPE] = ACTIONS(3135),
    [anon_sym_CARET] = ACTIONS(3133),
    [anon_sym_LT_LT] = ACTIONS(3135),
    [anon_sym_GT_GT] = ACTIONS(3135),
    [anon_sym_import] = ACTIONS(3135),
    [anon_sym_typealias] = ACTIONS(3135),
    [anon_sym_struct] = ACTIONS(3135),
    [anon_sym_class] = ACTIONS(3135),
    [anon_sym_enum] = ACTIONS(3135),
    [anon_sym_protocol] = ACTIONS(3135),
    [anon_sym_let] = ACTIONS(3135),
    [anon_sym_var] = ACTIONS(3135),
    [anon_sym_func] = ACTIONS(3135),
    [anon_sym_extension] = ACTIONS(3135),
    [anon_sym_indirect] = ACTIONS(3135),
    [anon_sym_SEMI] = ACTIONS(3135),
    [anon_sym_init] = ACTIONS(3135),
    [anon_sym_deinit] = ACTIONS(3135),
    [anon_sym_subscript] = ACTIONS(3135),
    [anon_sym_prefix] = ACTIONS(3135),
    [anon_sym_infix] = ACTIONS(3135),
    [anon_sym_postfix] = ACTIONS(3135),
    [anon_sym_precedencegroup] = ACTIONS(3135),
    [anon_sym_associatedtype] = ACTIONS(3135),
    [anon_sym_AT] = ACTIONS(3133),
    [anon_sym_override] = ACTIONS(3135),
    [anon_sym_convenience] = ACTIONS(3135),
    [anon_sym_required] = ACTIONS(3135),
    [anon_sym_nonisolated] = ACTIONS(3135),
    [anon_sym_public] = ACTIONS(3135),
    [anon_sym_private] = ACTIONS(3135),
    [anon_sym_internal] = ACTIONS(3135),
    [anon_sym_fileprivate] = ACTIONS(3135),
    [anon_sym_open] = ACTIONS(3135),
    [anon_sym_mutating] = ACTIONS(3135),
    [anon_sym_nonmutating] = ACTIONS(3135),
    [anon_sym_static] = ACTIONS(3135),
    [anon_sym_dynamic] = ACTIONS(3135),
    [anon_sym_optional] = ACTIONS(3135),
    [anon_sym_distributed] = ACTIONS(3135),
    [anon_sym_final] = ACTIONS(3135),
    [anon_sym_inout] = ACTIONS(3135),
    [anon_sym_ATescaping] = ACTIONS(3135),
    [anon_sym_ATautoclosure] = ACTIONS(3135),
    [anon_sym_weak] = ACTIONS(3135),
    [anon_sym_unowned] = ACTIONS(3133),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3135),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3135),
    [anon_sym_borrowing] = ACTIONS(3135),
    [anon_sym_consuming] = ACTIONS(3135),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3135),
    [sym__dot_custom] = ACTIONS(3135),
    [sym__conjunction_operator_custom] = ACTIONS(3135),
    [sym__disjunction_operator_custom] = ACTIONS(3135),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3135),
    [sym__eq_custom] = ACTIONS(3135),
    [sym__eq_eq_custom] = ACTIONS(3135),
    [sym__plus_then_ws] = ACTIONS(3135),
    [sym__minus_then_ws] = ACTIONS(3135),
    [sym__bang_custom] = ACTIONS(3135),
    [sym__throws_keyword] = ACTIONS(3135),
    [sym__rethrows_keyword] = ACTIONS(3135),
    [sym__as_custom] = ACTIONS(3135),
    [sym__as_quest_custom] = ACTIONS(3135),
    [sym__as_bang_custom] = ACTIONS(3135),
    [sym__async_keyword_custom] = ACTIONS(3135),
    [sym__custom_operator] = ACTIONS(3135),
  },
  [832] = {
    [anon_sym_BANG] = ACTIONS(3137),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3139),
    [anon_sym_async] = ACTIONS(3139),
    [anon_sym_lazy] = ACTIONS(3139),
    [anon_sym_package] = ACTIONS(3139),
    [anon_sym_RPAREN] = ACTIONS(3139),
    [anon_sym_COMMA] = ACTIONS(3139),
    [anon_sym_COLON] = ACTIONS(3139),
    [anon_sym_LPAREN] = ACTIONS(3139),
    [anon_sym_LBRACK] = ACTIONS(3139),
    [anon_sym_RBRACK] = ACTIONS(3139),
    [anon_sym_DOT] = ACTIONS(3137),
    [anon_sym_QMARK] = ACTIONS(3137),
    [anon_sym_QMARK2] = ACTIONS(3139),
    [anon_sym_AMP] = ACTIONS(3139),
    [aux_sym_custom_operator_token1] = ACTIONS(3139),
    [anon_sym_LT] = ACTIONS(3137),
    [anon_sym_GT] = ACTIONS(3137),
    [anon_sym_LBRACE] = ACTIONS(3139),
    [anon_sym_CARET_LBRACE] = ACTIONS(3139),
    [anon_sym_RBRACE] = ACTIONS(3139),
    [anon_sym_case] = ACTIONS(3139),
    [anon_sym_PLUS_EQ] = ACTIONS(3139),
    [anon_sym_DASH_EQ] = ACTIONS(3139),
    [anon_sym_STAR_EQ] = ACTIONS(3139),
    [anon_sym_SLASH_EQ] = ACTIONS(3139),
    [anon_sym_PERCENT_EQ] = ACTIONS(3139),
    [anon_sym_BANG_EQ] = ACTIONS(3137),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3139),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3139),
    [anon_sym_LT_EQ] = ACTIONS(3139),
    [anon_sym_GT_EQ] = ACTIONS(3139),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3139),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3139),
    [anon_sym_is] = ACTIONS(3139),
    [anon_sym_PLUS] = ACTIONS(3137),
    [anon_sym_DASH] = ACTIONS(3137),
    [anon_sym_STAR] = ACTIONS(3137),
    [anon_sym_SLASH] = ACTIONS(3137),
    [anon_sym_PERCENT] = ACTIONS(3137),
    [anon_sym_PLUS_PLUS] = ACTIONS(3139),
    [anon_sym_DASH_DASH] = ACTIONS(3139),
    [anon_sym_PIPE] = ACTIONS(3139),
    [anon_sym_CARET] = ACTIONS(3137),
    [anon_sym_LT_LT] = ACTIONS(3139),
    [anon_sym_GT_GT] = ACTIONS(3139),
    [anon_sym_import] = ACTIONS(3139),
    [anon_sym_typealias] = ACTIONS(3139),
    [anon_sym_struct] = ACTIONS(3139),
    [anon_sym_class] = ACTIONS(3139),
    [anon_sym_enum] = ACTIONS(3139),
    [anon_sym_protocol] = ACTIONS(3139),
    [anon_sym_let] = ACTIONS(3139),
    [anon_sym_var] = ACTIONS(3139),
    [anon_sym_func] = ACTIONS(3139),
    [anon_sym_extension] = ACTIONS(3139),
    [anon_sym_indirect] = ACTIONS(3139),
    [anon_sym_SEMI] = ACTIONS(3139),
    [anon_sym_init] = ACTIONS(3139),
    [anon_sym_deinit] = ACTIONS(3139),
    [anon_sym_subscript] = ACTIONS(3139),
    [anon_sym_prefix] = ACTIONS(3139),
    [anon_sym_infix] = ACTIONS(3139),
    [anon_sym_postfix] = ACTIONS(3139),
    [anon_sym_precedencegroup] = ACTIONS(3139),
    [anon_sym_associatedtype] = ACTIONS(3139),
    [anon_sym_AT] = ACTIONS(3137),
    [anon_sym_override] = ACTIONS(3139),
    [anon_sym_convenience] = ACTIONS(3139),
    [anon_sym_required] = ACTIONS(3139),
    [anon_sym_nonisolated] = ACTIONS(3139),
    [anon_sym_public] = ACTIONS(3139),
    [anon_sym_private] = ACTIONS(3139),
    [anon_sym_internal] = ACTIONS(3139),
    [anon_sym_fileprivate] = ACTIONS(3139),
    [anon_sym_open] = ACTIONS(3139),
    [anon_sym_mutating] = ACTIONS(3139),
    [anon_sym_nonmutating] = ACTIONS(3139),
    [anon_sym_static] = ACTIONS(3139),
    [anon_sym_dynamic] = ACTIONS(3139),
    [anon_sym_optional] = ACTIONS(3139),
    [anon_sym_distributed] = ACTIONS(3139),
    [anon_sym_final] = ACTIONS(3139),
    [anon_sym_inout] = ACTIONS(3139),
    [anon_sym_ATescaping] = ACTIONS(3139),
    [anon_sym_ATautoclosure] = ACTIONS(3139),
    [anon_sym_weak] = ACTIONS(3139),
    [anon_sym_unowned] = ACTIONS(3137),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3139),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3139),
    [anon_sym_borrowing] = ACTIONS(3139),
    [anon_sym_consuming] = ACTIONS(3139),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3139),
    [sym__dot_custom] = ACTIONS(3139),
    [sym__conjunction_operator_custom] = ACTIONS(3139),
    [sym__disjunction_operator_custom] = ACTIONS(3139),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3139),
    [sym__eq_custom] = ACTIONS(3139),
    [sym__eq_eq_custom] = ACTIONS(3139),
    [sym__plus_then_ws] = ACTIONS(3139),
    [sym__minus_then_ws] = ACTIONS(3139),
    [sym__bang_custom] = ACTIONS(3139),
    [sym__throws_keyword] = ACTIONS(3139),
    [sym__rethrows_keyword] = ACTIONS(3139),
    [sym__as_custom] = ACTIONS(3139),
    [sym__as_quest_custom] = ACTIONS(3139),
    [sym__as_bang_custom] = ACTIONS(3139),
    [sym__async_keyword_custom] = ACTIONS(3139),
    [sym__custom_operator] = ACTIONS(3139),
  },
  [833] = {
    [anon_sym_BANG] = ACTIONS(3141),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3143),
    [anon_sym_async] = ACTIONS(3143),
    [anon_sym_lazy] = ACTIONS(3143),
    [anon_sym_package] = ACTIONS(3143),
    [anon_sym_RPAREN] = ACTIONS(3143),
    [anon_sym_COMMA] = ACTIONS(3143),
    [anon_sym_COLON] = ACTIONS(3143),
    [anon_sym_LPAREN] = ACTIONS(3143),
    [anon_sym_LBRACK] = ACTIONS(3143),
    [anon_sym_RBRACK] = ACTIONS(3143),
    [anon_sym_DOT] = ACTIONS(3141),
    [anon_sym_QMARK] = ACTIONS(3141),
    [anon_sym_QMARK2] = ACTIONS(3143),
    [anon_sym_AMP] = ACTIONS(3143),
    [aux_sym_custom_operator_token1] = ACTIONS(3143),
    [anon_sym_LT] = ACTIONS(3141),
    [anon_sym_GT] = ACTIONS(3141),
    [anon_sym_LBRACE] = ACTIONS(3143),
    [anon_sym_CARET_LBRACE] = ACTIONS(3143),
    [anon_sym_RBRACE] = ACTIONS(3143),
    [anon_sym_case] = ACTIONS(3143),
    [anon_sym_PLUS_EQ] = ACTIONS(3143),
    [anon_sym_DASH_EQ] = ACTIONS(3143),
    [anon_sym_STAR_EQ] = ACTIONS(3143),
    [anon_sym_SLASH_EQ] = ACTIONS(3143),
    [anon_sym_PERCENT_EQ] = ACTIONS(3143),
    [anon_sym_BANG_EQ] = ACTIONS(3141),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3143),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3143),
    [anon_sym_LT_EQ] = ACTIONS(3143),
    [anon_sym_GT_EQ] = ACTIONS(3143),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3143),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3143),
    [anon_sym_is] = ACTIONS(3143),
    [anon_sym_PLUS] = ACTIONS(3141),
    [anon_sym_DASH] = ACTIONS(3141),
    [anon_sym_STAR] = ACTIONS(3141),
    [anon_sym_SLASH] = ACTIONS(3141),
    [anon_sym_PERCENT] = ACTIONS(3141),
    [anon_sym_PLUS_PLUS] = ACTIONS(3143),
    [anon_sym_DASH_DASH] = ACTIONS(3143),
    [anon_sym_PIPE] = ACTIONS(3143),
    [anon_sym_CARET] = ACTIONS(3141),
    [anon_sym_LT_LT] = ACTIONS(3143),
    [anon_sym_GT_GT] = ACTIONS(3143),
    [anon_sym_import] = ACTIONS(3143),
    [anon_sym_typealias] = ACTIONS(3143),
    [anon_sym_struct] = ACTIONS(3143),
    [anon_sym_class] = ACTIONS(3143),
    [anon_sym_enum] = ACTIONS(3143),
    [anon_sym_protocol] = ACTIONS(3143),
    [anon_sym_let] = ACTIONS(3143),
    [anon_sym_var] = ACTIONS(3143),
    [anon_sym_func] = ACTIONS(3143),
    [anon_sym_extension] = ACTIONS(3143),
    [anon_sym_indirect] = ACTIONS(3143),
    [anon_sym_SEMI] = ACTIONS(3143),
    [anon_sym_init] = ACTIONS(3143),
    [anon_sym_deinit] = ACTIONS(3143),
    [anon_sym_subscript] = ACTIONS(3143),
    [anon_sym_prefix] = ACTIONS(3143),
    [anon_sym_infix] = ACTIONS(3143),
    [anon_sym_postfix] = ACTIONS(3143),
    [anon_sym_precedencegroup] = ACTIONS(3143),
    [anon_sym_associatedtype] = ACTIONS(3143),
    [anon_sym_AT] = ACTIONS(3141),
    [anon_sym_override] = ACTIONS(3143),
    [anon_sym_convenience] = ACTIONS(3143),
    [anon_sym_required] = ACTIONS(3143),
    [anon_sym_nonisolated] = ACTIONS(3143),
    [anon_sym_public] = ACTIONS(3143),
    [anon_sym_private] = ACTIONS(3143),
    [anon_sym_internal] = ACTIONS(3143),
    [anon_sym_fileprivate] = ACTIONS(3143),
    [anon_sym_open] = ACTIONS(3143),
    [anon_sym_mutating] = ACTIONS(3143),
    [anon_sym_nonmutating] = ACTIONS(3143),
    [anon_sym_static] = ACTIONS(3143),
    [anon_sym_dynamic] = ACTIONS(3143),
    [anon_sym_optional] = ACTIONS(3143),
    [anon_sym_distributed] = ACTIONS(3143),
    [anon_sym_final] = ACTIONS(3143),
    [anon_sym_inout] = ACTIONS(3143),
    [anon_sym_ATescaping] = ACTIONS(3143),
    [anon_sym_ATautoclosure] = ACTIONS(3143),
    [anon_sym_weak] = ACTIONS(3143),
    [anon_sym_unowned] = ACTIONS(3141),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3143),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3143),
    [anon_sym_borrowing] = ACTIONS(3143),
    [anon_sym_consuming] = ACTIONS(3143),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3143),
    [sym__dot_custom] = ACTIONS(3143),
    [sym__conjunction_operator_custom] = ACTIONS(3143),
    [sym__disjunction_operator_custom] = ACTIONS(3143),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3143),
    [sym__eq_custom] = ACTIONS(3143),
    [sym__eq_eq_custom] = ACTIONS(3143),
    [sym__plus_then_ws] = ACTIONS(3143),
    [sym__minus_then_ws] = ACTIONS(3143),
    [sym__bang_custom] = ACTIONS(3143),
    [sym__throws_keyword] = ACTIONS(3143),
    [sym__rethrows_keyword] = ACTIONS(3143),
    [sym__as_custom] = ACTIONS(3143),
    [sym__as_quest_custom] = ACTIONS(3143),
    [sym__as_bang_custom] = ACTIONS(3143),
    [sym__async_keyword_custom] = ACTIONS(3143),
    [sym__custom_operator] = ACTIONS(3143),
  },
  [834] = {
    [anon_sym_BANG] = ACTIONS(3145),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3147),
    [anon_sym_async] = ACTIONS(3147),
    [anon_sym_lazy] = ACTIONS(3147),
    [anon_sym_package] = ACTIONS(3147),
    [anon_sym_RPAREN] = ACTIONS(3147),
    [anon_sym_COMMA] = ACTIONS(3147),
    [anon_sym_COLON] = ACTIONS(3147),
    [anon_sym_LPAREN] = ACTIONS(3147),
    [anon_sym_LBRACK] = ACTIONS(3147),
    [anon_sym_RBRACK] = ACTIONS(3147),
    [anon_sym_DOT] = ACTIONS(3145),
    [anon_sym_QMARK] = ACTIONS(3145),
    [anon_sym_QMARK2] = ACTIONS(3147),
    [anon_sym_AMP] = ACTIONS(3147),
    [aux_sym_custom_operator_token1] = ACTIONS(3147),
    [anon_sym_LT] = ACTIONS(3145),
    [anon_sym_GT] = ACTIONS(3145),
    [anon_sym_LBRACE] = ACTIONS(3147),
    [anon_sym_CARET_LBRACE] = ACTIONS(3147),
    [anon_sym_RBRACE] = ACTIONS(3147),
    [anon_sym_case] = ACTIONS(3147),
    [anon_sym_PLUS_EQ] = ACTIONS(3147),
    [anon_sym_DASH_EQ] = ACTIONS(3147),
    [anon_sym_STAR_EQ] = ACTIONS(3147),
    [anon_sym_SLASH_EQ] = ACTIONS(3147),
    [anon_sym_PERCENT_EQ] = ACTIONS(3147),
    [anon_sym_BANG_EQ] = ACTIONS(3145),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3147),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3147),
    [anon_sym_LT_EQ] = ACTIONS(3147),
    [anon_sym_GT_EQ] = ACTIONS(3147),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3147),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3147),
    [anon_sym_is] = ACTIONS(3147),
    [anon_sym_PLUS] = ACTIONS(3145),
    [anon_sym_DASH] = ACTIONS(3145),
    [anon_sym_STAR] = ACTIONS(3145),
    [anon_sym_SLASH] = ACTIONS(3145),
    [anon_sym_PERCENT] = ACTIONS(3145),
    [anon_sym_PLUS_PLUS] = ACTIONS(3147),
    [anon_sym_DASH_DASH] = ACTIONS(3147),
    [anon_sym_PIPE] = ACTIONS(3147),
    [anon_sym_CARET] = ACTIONS(3145),
    [anon_sym_LT_LT] = ACTIONS(3147),
    [anon_sym_GT_GT] = ACTIONS(3147),
    [anon_sym_import] = ACTIONS(3147),
    [anon_sym_typealias] = ACTIONS(3147),
    [anon_sym_struct] = ACTIONS(3147),
    [anon_sym_class] = ACTIONS(3147),
    [anon_sym_enum] = ACTIONS(3147),
    [anon_sym_protocol] = ACTIONS(3147),
    [anon_sym_let] = ACTIONS(3147),
    [anon_sym_var] = ACTIONS(3147),
    [anon_sym_func] = ACTIONS(3147),
    [anon_sym_extension] = ACTIONS(3147),
    [anon_sym_indirect] = ACTIONS(3147),
    [anon_sym_SEMI] = ACTIONS(3147),
    [anon_sym_init] = ACTIONS(3147),
    [anon_sym_deinit] = ACTIONS(3147),
    [anon_sym_subscript] = ACTIONS(3147),
    [anon_sym_prefix] = ACTIONS(3147),
    [anon_sym_infix] = ACTIONS(3147),
    [anon_sym_postfix] = ACTIONS(3147),
    [anon_sym_precedencegroup] = ACTIONS(3147),
    [anon_sym_associatedtype] = ACTIONS(3147),
    [anon_sym_AT] = ACTIONS(3145),
    [anon_sym_override] = ACTIONS(3147),
    [anon_sym_convenience] = ACTIONS(3147),
    [anon_sym_required] = ACTIONS(3147),
    [anon_sym_nonisolated] = ACTIONS(3147),
    [anon_sym_public] = ACTIONS(3147),
    [anon_sym_private] = ACTIONS(3147),
    [anon_sym_internal] = ACTIONS(3147),
    [anon_sym_fileprivate] = ACTIONS(3147),
    [anon_sym_open] = ACTIONS(3147),
    [anon_sym_mutating] = ACTIONS(3147),
    [anon_sym_nonmutating] = ACTIONS(3147),
    [anon_sym_static] = ACTIONS(3147),
    [anon_sym_dynamic] = ACTIONS(3147),
    [anon_sym_optional] = ACTIONS(3147),
    [anon_sym_distributed] = ACTIONS(3147),
    [anon_sym_final] = ACTIONS(3147),
    [anon_sym_inout] = ACTIONS(3147),
    [anon_sym_ATescaping] = ACTIONS(3147),
    [anon_sym_ATautoclosure] = ACTIONS(3147),
    [anon_sym_weak] = ACTIONS(3147),
    [anon_sym_unowned] = ACTIONS(3145),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3147),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3147),
    [anon_sym_borrowing] = ACTIONS(3147),
    [anon_sym_consuming] = ACTIONS(3147),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3147),
    [sym__dot_custom] = ACTIONS(3147),
    [sym__conjunction_operator_custom] = ACTIONS(3147),
    [sym__disjunction_operator_custom] = ACTIONS(3147),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3147),
    [sym__eq_custom] = ACTIONS(3147),
    [sym__eq_eq_custom] = ACTIONS(3147),
    [sym__plus_then_ws] = ACTIONS(3147),
    [sym__minus_then_ws] = ACTIONS(3147),
    [sym__bang_custom] = ACTIONS(3147),
    [sym__throws_keyword] = ACTIONS(3147),
    [sym__rethrows_keyword] = ACTIONS(3147),
    [sym__as_custom] = ACTIONS(3147),
    [sym__as_quest_custom] = ACTIONS(3147),
    [sym__as_bang_custom] = ACTIONS(3147),
    [sym__async_keyword_custom] = ACTIONS(3147),
    [sym__custom_operator] = ACTIONS(3147),
  },
  [835] = {
    [anon_sym_BANG] = ACTIONS(3149),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3151),
    [anon_sym_async] = ACTIONS(3151),
    [anon_sym_lazy] = ACTIONS(3151),
    [anon_sym_package] = ACTIONS(3151),
    [anon_sym_RPAREN] = ACTIONS(3151),
    [anon_sym_COMMA] = ACTIONS(3151),
    [anon_sym_COLON] = ACTIONS(3151),
    [anon_sym_LPAREN] = ACTIONS(3151),
    [anon_sym_LBRACK] = ACTIONS(3151),
    [anon_sym_RBRACK] = ACTIONS(3151),
    [anon_sym_DOT] = ACTIONS(3149),
    [anon_sym_QMARK] = ACTIONS(3149),
    [anon_sym_QMARK2] = ACTIONS(3151),
    [anon_sym_AMP] = ACTIONS(3151),
    [aux_sym_custom_operator_token1] = ACTIONS(3151),
    [anon_sym_LT] = ACTIONS(3149),
    [anon_sym_GT] = ACTIONS(3149),
    [anon_sym_LBRACE] = ACTIONS(3151),
    [anon_sym_CARET_LBRACE] = ACTIONS(3151),
    [anon_sym_RBRACE] = ACTIONS(3151),
    [anon_sym_case] = ACTIONS(3151),
    [anon_sym_PLUS_EQ] = ACTIONS(3151),
    [anon_sym_DASH_EQ] = ACTIONS(3151),
    [anon_sym_STAR_EQ] = ACTIONS(3151),
    [anon_sym_SLASH_EQ] = ACTIONS(3151),
    [anon_sym_PERCENT_EQ] = ACTIONS(3151),
    [anon_sym_BANG_EQ] = ACTIONS(3149),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3151),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3151),
    [anon_sym_LT_EQ] = ACTIONS(3151),
    [anon_sym_GT_EQ] = ACTIONS(3151),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3151),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3151),
    [anon_sym_is] = ACTIONS(3151),
    [anon_sym_PLUS] = ACTIONS(3149),
    [anon_sym_DASH] = ACTIONS(3149),
    [anon_sym_STAR] = ACTIONS(3149),
    [anon_sym_SLASH] = ACTIONS(3149),
    [anon_sym_PERCENT] = ACTIONS(3149),
    [anon_sym_PLUS_PLUS] = ACTIONS(3151),
    [anon_sym_DASH_DASH] = ACTIONS(3151),
    [anon_sym_PIPE] = ACTIONS(3151),
    [anon_sym_CARET] = ACTIONS(3149),
    [anon_sym_LT_LT] = ACTIONS(3151),
    [anon_sym_GT_GT] = ACTIONS(3151),
    [anon_sym_import] = ACTIONS(3151),
    [anon_sym_typealias] = ACTIONS(3151),
    [anon_sym_struct] = ACTIONS(3151),
    [anon_sym_class] = ACTIONS(3151),
    [anon_sym_enum] = ACTIONS(3151),
    [anon_sym_protocol] = ACTIONS(3151),
    [anon_sym_let] = ACTIONS(3151),
    [anon_sym_var] = ACTIONS(3151),
    [anon_sym_func] = ACTIONS(3151),
    [anon_sym_extension] = ACTIONS(3151),
    [anon_sym_indirect] = ACTIONS(3151),
    [anon_sym_SEMI] = ACTIONS(3151),
    [anon_sym_init] = ACTIONS(3151),
    [anon_sym_deinit] = ACTIONS(3151),
    [anon_sym_subscript] = ACTIONS(3151),
    [anon_sym_prefix] = ACTIONS(3151),
    [anon_sym_infix] = ACTIONS(3151),
    [anon_sym_postfix] = ACTIONS(3151),
    [anon_sym_precedencegroup] = ACTIONS(3151),
    [anon_sym_associatedtype] = ACTIONS(3151),
    [anon_sym_AT] = ACTIONS(3149),
    [anon_sym_override] = ACTIONS(3151),
    [anon_sym_convenience] = ACTIONS(3151),
    [anon_sym_required] = ACTIONS(3151),
    [anon_sym_nonisolated] = ACTIONS(3151),
    [anon_sym_public] = ACTIONS(3151),
    [anon_sym_private] = ACTIONS(3151),
    [anon_sym_internal] = ACTIONS(3151),
    [anon_sym_fileprivate] = ACTIONS(3151),
    [anon_sym_open] = ACTIONS(3151),
    [anon_sym_mutating] = ACTIONS(3151),
    [anon_sym_nonmutating] = ACTIONS(3151),
    [anon_sym_static] = ACTIONS(3151),
    [anon_sym_dynamic] = ACTIONS(3151),
    [anon_sym_optional] = ACTIONS(3151),
    [anon_sym_distributed] = ACTIONS(3151),
    [anon_sym_final] = ACTIONS(3151),
    [anon_sym_inout] = ACTIONS(3151),
    [anon_sym_ATescaping] = ACTIONS(3151),
    [anon_sym_ATautoclosure] = ACTIONS(3151),
    [anon_sym_weak] = ACTIONS(3151),
    [anon_sym_unowned] = ACTIONS(3149),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3151),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3151),
    [anon_sym_borrowing] = ACTIONS(3151),
    [anon_sym_consuming] = ACTIONS(3151),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3151),
    [sym__dot_custom] = ACTIONS(3151),
    [sym__conjunction_operator_custom] = ACTIONS(3151),
    [sym__disjunction_operator_custom] = ACTIONS(3151),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3151),
    [sym__eq_custom] = ACTIONS(3151),
    [sym__eq_eq_custom] = ACTIONS(3151),
    [sym__plus_then_ws] = ACTIONS(3151),
    [sym__minus_then_ws] = ACTIONS(3151),
    [sym__bang_custom] = ACTIONS(3151),
    [sym__throws_keyword] = ACTIONS(3151),
    [sym__rethrows_keyword] = ACTIONS(3151),
    [sym__as_custom] = ACTIONS(3151),
    [sym__as_quest_custom] = ACTIONS(3151),
    [sym__as_bang_custom] = ACTIONS(3151),
    [sym__async_keyword_custom] = ACTIONS(3151),
    [sym__custom_operator] = ACTIONS(3151),
  },
  [836] = {
    [sym__key_path_postfixes] = STATE(838),
    [sym_bang] = STATE(838),
    [aux_sym__key_path_component_repeat1] = STATE(838),
    [anon_sym_BANG] = ACTIONS(3153),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3155),
    [anon_sym_async] = ACTIONS(3155),
    [anon_sym_lazy] = ACTIONS(3155),
    [anon_sym_package] = ACTIONS(3155),
    [anon_sym_RPAREN] = ACTIONS(3155),
    [anon_sym_COMMA] = ACTIONS(3155),
    [anon_sym_COLON] = ACTIONS(3155),
    [anon_sym_LPAREN] = ACTIONS(3155),
    [anon_sym_LBRACK] = ACTIONS(3155),
    [anon_sym_RBRACK] = ACTIONS(3155),
    [anon_sym_DOT] = ACTIONS(3153),
    [anon_sym_QMARK] = ACTIONS(3153),
    [anon_sym_QMARK2] = ACTIONS(3155),
    [anon_sym_AMP] = ACTIONS(3155),
    [aux_sym_custom_operator_token1] = ACTIONS(3155),
    [anon_sym_LT] = ACTIONS(3153),
    [anon_sym_GT] = ACTIONS(3153),
    [anon_sym_LBRACE] = ACTIONS(3155),
    [anon_sym_CARET_LBRACE] = ACTIONS(3155),
    [anon_sym_RBRACE] = ACTIONS(3155),
    [anon_sym_self] = ACTIONS(3103),
    [anon_sym_case] = ACTIONS(3155),
    [anon_sym_PLUS_EQ] = ACTIONS(3155),
    [anon_sym_DASH_EQ] = ACTIONS(3155),
    [anon_sym_STAR_EQ] = ACTIONS(3155),
    [anon_sym_SLASH_EQ] = ACTIONS(3155),
    [anon_sym_PERCENT_EQ] = ACTIONS(3155),
    [anon_sym_BANG_EQ] = ACTIONS(3153),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3155),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3155),
    [anon_sym_LT_EQ] = ACTIONS(3155),
    [anon_sym_GT_EQ] = ACTIONS(3155),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3155),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3155),
    [anon_sym_is] = ACTIONS(3155),
    [anon_sym_PLUS] = ACTIONS(3153),
    [anon_sym_DASH] = ACTIONS(3153),
    [anon_sym_STAR] = ACTIONS(3153),
    [anon_sym_SLASH] = ACTIONS(3153),
    [anon_sym_PERCENT] = ACTIONS(3153),
    [anon_sym_PLUS_PLUS] = ACTIONS(3155),
    [anon_sym_DASH_DASH] = ACTIONS(3155),
    [anon_sym_PIPE] = ACTIONS(3155),
    [anon_sym_CARET] = ACTIONS(3153),
    [anon_sym_LT_LT] = ACTIONS(3155),
    [anon_sym_GT_GT] = ACTIONS(3155),
    [anon_sym_import] = ACTIONS(3155),
    [anon_sym_typealias] = ACTIONS(3155),
    [anon_sym_struct] = ACTIONS(3155),
    [anon_sym_class] = ACTIONS(3155),
    [anon_sym_enum] = ACTIONS(3155),
    [anon_sym_protocol] = ACTIONS(3155),
    [anon_sym_let] = ACTIONS(3155),
    [anon_sym_var] = ACTIONS(3155),
    [anon_sym_func] = ACTIONS(3155),
    [anon_sym_extension] = ACTIONS(3155),
    [anon_sym_indirect] = ACTIONS(3155),
    [anon_sym_SEMI] = ACTIONS(3155),
    [anon_sym_init] = ACTIONS(3155),
    [anon_sym_deinit] = ACTIONS(3155),
    [anon_sym_subscript] = ACTIONS(3155),
    [anon_sym_prefix] = ACTIONS(3155),
    [anon_sym_infix] = ACTIONS(3155),
    [anon_sym_postfix] = ACTIONS(3155),
    [anon_sym_precedencegroup] = ACTIONS(3155),
    [anon_sym_associatedtype] = ACTIONS(3155),
    [anon_sym_AT] = ACTIONS(3153),
    [anon_sym_override] = ACTIONS(3155),
    [anon_sym_convenience] = ACTIONS(3155),
    [anon_sym_required] = ACTIONS(3155),
    [anon_sym_nonisolated] = ACTIONS(3155),
    [anon_sym_public] = ACTIONS(3155),
    [anon_sym_private] = ACTIONS(3155),
    [anon_sym_internal] = ACTIONS(3155),
    [anon_sym_fileprivate] = ACTIONS(3155),
    [anon_sym_open] = ACTIONS(3155),
    [anon_sym_mutating] = ACTIONS(3155),
    [anon_sym_nonmutating] = ACTIONS(3155),
    [anon_sym_static] = ACTIONS(3155),
    [anon_sym_dynamic] = ACTIONS(3155),
    [anon_sym_optional] = ACTIONS(3155),
    [anon_sym_distributed] = ACTIONS(3155),
    [anon_sym_final] = ACTIONS(3155),
    [anon_sym_inout] = ACTIONS(3155),
    [anon_sym_ATescaping] = ACTIONS(3155),
    [anon_sym_ATautoclosure] = ACTIONS(3155),
    [anon_sym_weak] = ACTIONS(3155),
    [anon_sym_unowned] = ACTIONS(3153),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3155),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3155),
    [anon_sym_borrowing] = ACTIONS(3155),
    [anon_sym_consuming] = ACTIONS(3155),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3155),
    [sym__conjunction_operator_custom] = ACTIONS(3155),
    [sym__disjunction_operator_custom] = ACTIONS(3155),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3155),
    [sym__eq_custom] = ACTIONS(3155),
    [sym__eq_eq_custom] = ACTIONS(3155),
    [sym__plus_then_ws] = ACTIONS(3155),
    [sym__minus_then_ws] = ACTIONS(3155),
    [sym__bang_custom] = ACTIONS(3155),
    [sym__as_custom] = ACTIONS(3155),
    [sym__as_quest_custom] = ACTIONS(3155),
    [sym__as_bang_custom] = ACTIONS(3155),
    [sym__custom_operator] = ACTIONS(3155),
  },
  [837] = {
    [anon_sym_BANG] = ACTIONS(3157),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3159),
    [anon_sym_async] = ACTIONS(3159),
    [anon_sym_lazy] = ACTIONS(3159),
    [anon_sym_package] = ACTIONS(3159),
    [anon_sym_RPAREN] = ACTIONS(3159),
    [anon_sym_COMMA] = ACTIONS(3159),
    [anon_sym_COLON] = ACTIONS(3159),
    [anon_sym_LPAREN] = ACTIONS(3159),
    [anon_sym_LBRACK] = ACTIONS(3159),
    [anon_sym_RBRACK] = ACTIONS(3159),
    [anon_sym_DOT] = ACTIONS(3157),
    [anon_sym_QMARK] = ACTIONS(3157),
    [anon_sym_QMARK2] = ACTIONS(3159),
    [anon_sym_AMP] = ACTIONS(3159),
    [aux_sym_custom_operator_token1] = ACTIONS(3159),
    [anon_sym_LT] = ACTIONS(3157),
    [anon_sym_GT] = ACTIONS(3157),
    [anon_sym_LBRACE] = ACTIONS(3159),
    [anon_sym_CARET_LBRACE] = ACTIONS(3159),
    [anon_sym_RBRACE] = ACTIONS(3159),
    [anon_sym_case] = ACTIONS(3159),
    [anon_sym_PLUS_EQ] = ACTIONS(3159),
    [anon_sym_DASH_EQ] = ACTIONS(3159),
    [anon_sym_STAR_EQ] = ACTIONS(3159),
    [anon_sym_SLASH_EQ] = ACTIONS(3159),
    [anon_sym_PERCENT_EQ] = ACTIONS(3159),
    [anon_sym_BANG_EQ] = ACTIONS(3157),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3159),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3159),
    [anon_sym_LT_EQ] = ACTIONS(3159),
    [anon_sym_GT_EQ] = ACTIONS(3159),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3159),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3159),
    [anon_sym_is] = ACTIONS(3159),
    [anon_sym_PLUS] = ACTIONS(3157),
    [anon_sym_DASH] = ACTIONS(3157),
    [anon_sym_STAR] = ACTIONS(3157),
    [anon_sym_SLASH] = ACTIONS(3157),
    [anon_sym_PERCENT] = ACTIONS(3157),
    [anon_sym_PLUS_PLUS] = ACTIONS(3159),
    [anon_sym_DASH_DASH] = ACTIONS(3159),
    [anon_sym_PIPE] = ACTIONS(3159),
    [anon_sym_CARET] = ACTIONS(3157),
    [anon_sym_LT_LT] = ACTIONS(3159),
    [anon_sym_GT_GT] = ACTIONS(3159),
    [anon_sym_import] = ACTIONS(3159),
    [anon_sym_typealias] = ACTIONS(3159),
    [anon_sym_struct] = ACTIONS(3159),
    [anon_sym_class] = ACTIONS(3159),
    [anon_sym_enum] = ACTIONS(3159),
    [anon_sym_protocol] = ACTIONS(3159),
    [anon_sym_let] = ACTIONS(3159),
    [anon_sym_var] = ACTIONS(3159),
    [anon_sym_func] = ACTIONS(3159),
    [anon_sym_extension] = ACTIONS(3159),
    [anon_sym_indirect] = ACTIONS(3159),
    [anon_sym_SEMI] = ACTIONS(3159),
    [anon_sym_init] = ACTIONS(3159),
    [anon_sym_deinit] = ACTIONS(3159),
    [anon_sym_subscript] = ACTIONS(3159),
    [anon_sym_prefix] = ACTIONS(3159),
    [anon_sym_infix] = ACTIONS(3159),
    [anon_sym_postfix] = ACTIONS(3159),
    [anon_sym_precedencegroup] = ACTIONS(3159),
    [anon_sym_associatedtype] = ACTIONS(3159),
    [anon_sym_AT] = ACTIONS(3157),
    [anon_sym_override] = ACTIONS(3159),
    [anon_sym_convenience] = ACTIONS(3159),
    [anon_sym_required] = ACTIONS(3159),
    [anon_sym_nonisolated] = ACTIONS(3159),
    [anon_sym_public] = ACTIONS(3159),
    [anon_sym_private] = ACTIONS(3159),
    [anon_sym_internal] = ACTIONS(3159),
    [anon_sym_fileprivate] = ACTIONS(3159),
    [anon_sym_open] = ACTIONS(3159),
    [anon_sym_mutating] = ACTIONS(3159),
    [anon_sym_nonmutating] = ACTIONS(3159),
    [anon_sym_static] = ACTIONS(3159),
    [anon_sym_dynamic] = ACTIONS(3159),
    [anon_sym_optional] = ACTIONS(3159),
    [anon_sym_distributed] = ACTIONS(3159),
    [anon_sym_final] = ACTIONS(3159),
    [anon_sym_inout] = ACTIONS(3159),
    [anon_sym_ATescaping] = ACTIONS(3159),
    [anon_sym_ATautoclosure] = ACTIONS(3159),
    [anon_sym_weak] = ACTIONS(3159),
    [anon_sym_unowned] = ACTIONS(3157),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3159),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3159),
    [anon_sym_borrowing] = ACTIONS(3159),
    [anon_sym_consuming] = ACTIONS(3159),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3159),
    [sym__dot_custom] = ACTIONS(3159),
    [sym__conjunction_operator_custom] = ACTIONS(3159),
    [sym__disjunction_operator_custom] = ACTIONS(3159),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3159),
    [sym__eq_custom] = ACTIONS(3159),
    [sym__eq_eq_custom] = ACTIONS(3159),
    [sym__plus_then_ws] = ACTIONS(3159),
    [sym__minus_then_ws] = ACTIONS(3159),
    [sym__bang_custom] = ACTIONS(3159),
    [sym__throws_keyword] = ACTIONS(3159),
    [sym__rethrows_keyword] = ACTIONS(3159),
    [sym__as_custom] = ACTIONS(3159),
    [sym__as_quest_custom] = ACTIONS(3159),
    [sym__as_bang_custom] = ACTIONS(3159),
    [sym__async_keyword_custom] = ACTIONS(3159),
    [sym__custom_operator] = ACTIONS(3159),
  },
  [838] = {
    [sym__key_path_postfixes] = STATE(838),
    [sym_bang] = STATE(838),
    [aux_sym__key_path_component_repeat1] = STATE(838),
    [anon_sym_BANG] = ACTIONS(3161),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3164),
    [anon_sym_async] = ACTIONS(3164),
    [anon_sym_lazy] = ACTIONS(3164),
    [anon_sym_package] = ACTIONS(3164),
    [anon_sym_RPAREN] = ACTIONS(3164),
    [anon_sym_COMMA] = ACTIONS(3164),
    [anon_sym_COLON] = ACTIONS(3164),
    [anon_sym_LPAREN] = ACTIONS(3164),
    [anon_sym_LBRACK] = ACTIONS(3166),
    [anon_sym_RBRACK] = ACTIONS(3164),
    [anon_sym_DOT] = ACTIONS(3169),
    [anon_sym_QMARK] = ACTIONS(3171),
    [anon_sym_QMARK2] = ACTIONS(3164),
    [anon_sym_AMP] = ACTIONS(3164),
    [aux_sym_custom_operator_token1] = ACTIONS(3164),
    [anon_sym_LT] = ACTIONS(3169),
    [anon_sym_GT] = ACTIONS(3169),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_CARET_LBRACE] = ACTIONS(3164),
    [anon_sym_RBRACE] = ACTIONS(3164),
    [anon_sym_self] = ACTIONS(3174),
    [anon_sym_case] = ACTIONS(3164),
    [anon_sym_PLUS_EQ] = ACTIONS(3164),
    [anon_sym_DASH_EQ] = ACTIONS(3164),
    [anon_sym_STAR_EQ] = ACTIONS(3164),
    [anon_sym_SLASH_EQ] = ACTIONS(3164),
    [anon_sym_PERCENT_EQ] = ACTIONS(3164),
    [anon_sym_BANG_EQ] = ACTIONS(3169),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3164),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3164),
    [anon_sym_LT_EQ] = ACTIONS(3164),
    [anon_sym_GT_EQ] = ACTIONS(3164),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3164),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3164),
    [anon_sym_is] = ACTIONS(3164),
    [anon_sym_PLUS] = ACTIONS(3169),
    [anon_sym_DASH] = ACTIONS(3169),
    [anon_sym_STAR] = ACTIONS(3169),
    [anon_sym_SLASH] = ACTIONS(3169),
    [anon_sym_PERCENT] = ACTIONS(3169),
    [anon_sym_PLUS_PLUS] = ACTIONS(3164),
    [anon_sym_DASH_DASH] = ACTIONS(3164),
    [anon_sym_PIPE] = ACTIONS(3164),
    [anon_sym_CARET] = ACTIONS(3169),
    [anon_sym_LT_LT] = ACTIONS(3164),
    [anon_sym_GT_GT] = ACTIONS(3164),
    [anon_sym_import] = ACTIONS(3164),
    [anon_sym_typealias] = ACTIONS(3164),
    [anon_sym_struct] = ACTIONS(3164),
    [anon_sym_class] = ACTIONS(3164),
    [anon_sym_enum] = ACTIONS(3164),
    [anon_sym_protocol] = ACTIONS(3164),
    [anon_sym_let] = ACTIONS(3164),
    [anon_sym_var] = ACTIONS(3164),
    [anon_sym_func] = ACTIONS(3164),
    [anon_sym_extension] = ACTIONS(3164),
    [anon_sym_indirect] = ACTIONS(3164),
    [anon_sym_SEMI] = ACTIONS(3164),
    [anon_sym_init] = ACTIONS(3164),
    [anon_sym_deinit] = ACTIONS(3164),
    [anon_sym_subscript] = ACTIONS(3164),
    [anon_sym_prefix] = ACTIONS(3164),
    [anon_sym_infix] = ACTIONS(3164),
    [anon_sym_postfix] = ACTIONS(3164),
    [anon_sym_precedencegroup] = ACTIONS(3164),
    [anon_sym_associatedtype] = ACTIONS(3164),
    [anon_sym_AT] = ACTIONS(3169),
    [anon_sym_override] = ACTIONS(3164),
    [anon_sym_convenience] = ACTIONS(3164),
    [anon_sym_required] = ACTIONS(3164),
    [anon_sym_nonisolated] = ACTIONS(3164),
    [anon_sym_public] = ACTIONS(3164),
    [anon_sym_private] = ACTIONS(3164),
    [anon_sym_internal] = ACTIONS(3164),
    [anon_sym_fileprivate] = ACTIONS(3164),
    [anon_sym_open] = ACTIONS(3164),
    [anon_sym_mutating] = ACTIONS(3164),
    [anon_sym_nonmutating] = ACTIONS(3164),
    [anon_sym_static] = ACTIONS(3164),
    [anon_sym_dynamic] = ACTIONS(3164),
    [anon_sym_optional] = ACTIONS(3164),
    [anon_sym_distributed] = ACTIONS(3164),
    [anon_sym_final] = ACTIONS(3164),
    [anon_sym_inout] = ACTIONS(3164),
    [anon_sym_ATescaping] = ACTIONS(3164),
    [anon_sym_ATautoclosure] = ACTIONS(3164),
    [anon_sym_weak] = ACTIONS(3164),
    [anon_sym_unowned] = ACTIONS(3169),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3164),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3164),
    [anon_sym_borrowing] = ACTIONS(3164),
    [anon_sym_consuming] = ACTIONS(3164),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3164),
    [sym__conjunction_operator_custom] = ACTIONS(3164),
    [sym__disjunction_operator_custom] = ACTIONS(3164),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3164),
    [sym__eq_custom] = ACTIONS(3164),
    [sym__eq_eq_custom] = ACTIONS(3164),
    [sym__plus_then_ws] = ACTIONS(3164),
    [sym__minus_then_ws] = ACTIONS(3164),
    [sym__bang_custom] = ACTIONS(3177),
    [sym__as_custom] = ACTIONS(3164),
    [sym__as_quest_custom] = ACTIONS(3164),
    [sym__as_bang_custom] = ACTIONS(3164),
    [sym__custom_operator] = ACTIONS(3164),
  },
  [839] = {
    [anon_sym_BANG] = ACTIONS(3180),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3182),
    [anon_sym_async] = ACTIONS(3182),
    [anon_sym_lazy] = ACTIONS(3182),
    [anon_sym_package] = ACTIONS(3182),
    [anon_sym_RPAREN] = ACTIONS(3182),
    [anon_sym_COMMA] = ACTIONS(3182),
    [anon_sym_COLON] = ACTIONS(3182),
    [anon_sym_LPAREN] = ACTIONS(3182),
    [anon_sym_LBRACK] = ACTIONS(3182),
    [anon_sym_RBRACK] = ACTIONS(3182),
    [anon_sym_DOT] = ACTIONS(3180),
    [anon_sym_QMARK] = ACTIONS(3180),
    [anon_sym_QMARK2] = ACTIONS(3182),
    [anon_sym_AMP] = ACTIONS(3182),
    [aux_sym_custom_operator_token1] = ACTIONS(3182),
    [anon_sym_LT] = ACTIONS(3180),
    [anon_sym_GT] = ACTIONS(3180),
    [anon_sym_LBRACE] = ACTIONS(3182),
    [anon_sym_CARET_LBRACE] = ACTIONS(3182),
    [anon_sym_RBRACE] = ACTIONS(3182),
    [anon_sym_case] = ACTIONS(3182),
    [anon_sym_PLUS_EQ] = ACTIONS(3182),
    [anon_sym_DASH_EQ] = ACTIONS(3182),
    [anon_sym_STAR_EQ] = ACTIONS(3182),
    [anon_sym_SLASH_EQ] = ACTIONS(3182),
    [anon_sym_PERCENT_EQ] = ACTIONS(3182),
    [anon_sym_BANG_EQ] = ACTIONS(3180),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3182),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3182),
    [anon_sym_LT_EQ] = ACTIONS(3182),
    [anon_sym_GT_EQ] = ACTIONS(3182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3182),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3182),
    [anon_sym_is] = ACTIONS(3182),
    [anon_sym_PLUS] = ACTIONS(3180),
    [anon_sym_DASH] = ACTIONS(3180),
    [anon_sym_STAR] = ACTIONS(3180),
    [anon_sym_SLASH] = ACTIONS(3180),
    [anon_sym_PERCENT] = ACTIONS(3180),
    [anon_sym_PLUS_PLUS] = ACTIONS(3182),
    [anon_sym_DASH_DASH] = ACTIONS(3182),
    [anon_sym_PIPE] = ACTIONS(3182),
    [anon_sym_CARET] = ACTIONS(3180),
    [anon_sym_LT_LT] = ACTIONS(3182),
    [anon_sym_GT_GT] = ACTIONS(3182),
    [anon_sym_import] = ACTIONS(3182),
    [anon_sym_typealias] = ACTIONS(3182),
    [anon_sym_struct] = ACTIONS(3182),
    [anon_sym_class] = ACTIONS(3182),
    [anon_sym_enum] = ACTIONS(3182),
    [anon_sym_protocol] = ACTIONS(3182),
    [anon_sym_let] = ACTIONS(3182),
    [anon_sym_var] = ACTIONS(3182),
    [anon_sym_func] = ACTIONS(3182),
    [anon_sym_extension] = ACTIONS(3182),
    [anon_sym_indirect] = ACTIONS(3182),
    [anon_sym_SEMI] = ACTIONS(3182),
    [anon_sym_init] = ACTIONS(3182),
    [anon_sym_deinit] = ACTIONS(3182),
    [anon_sym_subscript] = ACTIONS(3182),
    [anon_sym_prefix] = ACTIONS(3182),
    [anon_sym_infix] = ACTIONS(3182),
    [anon_sym_postfix] = ACTIONS(3182),
    [anon_sym_precedencegroup] = ACTIONS(3182),
    [anon_sym_associatedtype] = ACTIONS(3182),
    [anon_sym_AT] = ACTIONS(3180),
    [anon_sym_override] = ACTIONS(3182),
    [anon_sym_convenience] = ACTIONS(3182),
    [anon_sym_required] = ACTIONS(3182),
    [anon_sym_nonisolated] = ACTIONS(3182),
    [anon_sym_public] = ACTIONS(3182),
    [anon_sym_private] = ACTIONS(3182),
    [anon_sym_internal] = ACTIONS(3182),
    [anon_sym_fileprivate] = ACTIONS(3182),
    [anon_sym_open] = ACTIONS(3182),
    [anon_sym_mutating] = ACTIONS(3182),
    [anon_sym_nonmutating] = ACTIONS(3182),
    [anon_sym_static] = ACTIONS(3182),
    [anon_sym_dynamic] = ACTIONS(3182),
    [anon_sym_optional] = ACTIONS(3182),
    [anon_sym_distributed] = ACTIONS(3182),
    [anon_sym_final] = ACTIONS(3182),
    [anon_sym_inout] = ACTIONS(3182),
    [anon_sym_ATescaping] = ACTIONS(3182),
    [anon_sym_ATautoclosure] = ACTIONS(3182),
    [anon_sym_weak] = ACTIONS(3182),
    [anon_sym_unowned] = ACTIONS(3180),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3182),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3182),
    [anon_sym_borrowing] = ACTIONS(3182),
    [anon_sym_consuming] = ACTIONS(3182),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3182),
    [sym__dot_custom] = ACTIONS(3182),
    [sym__conjunction_operator_custom] = ACTIONS(3182),
    [sym__disjunction_operator_custom] = ACTIONS(3182),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3182),
    [sym__eq_custom] = ACTIONS(3182),
    [sym__eq_eq_custom] = ACTIONS(3182),
    [sym__plus_then_ws] = ACTIONS(3182),
    [sym__minus_then_ws] = ACTIONS(3182),
    [sym__bang_custom] = ACTIONS(3182),
    [sym__throws_keyword] = ACTIONS(3182),
    [sym__rethrows_keyword] = ACTIONS(3182),
    [sym__as_custom] = ACTIONS(3182),
    [sym__as_quest_custom] = ACTIONS(3182),
    [sym__as_bang_custom] = ACTIONS(3182),
    [sym__async_keyword_custom] = ACTIONS(3182),
    [sym__custom_operator] = ACTIONS(3182),
  },
  [840] = {
    [sym__key_path_postfixes] = STATE(836),
    [sym_bang] = STATE(836),
    [aux_sym__key_path_component_repeat1] = STATE(836),
    [anon_sym_BANG] = ACTIONS(3099),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3101),
    [anon_sym_async] = ACTIONS(3101),
    [anon_sym_lazy] = ACTIONS(3101),
    [anon_sym_package] = ACTIONS(3101),
    [anon_sym_RPAREN] = ACTIONS(3101),
    [anon_sym_COMMA] = ACTIONS(3101),
    [anon_sym_COLON] = ACTIONS(3101),
    [anon_sym_LPAREN] = ACTIONS(3101),
    [anon_sym_LBRACK] = ACTIONS(3101),
    [anon_sym_RBRACK] = ACTIONS(3101),
    [anon_sym_DOT] = ACTIONS(3099),
    [anon_sym_QMARK] = ACTIONS(3099),
    [anon_sym_QMARK2] = ACTIONS(3101),
    [anon_sym_AMP] = ACTIONS(3101),
    [aux_sym_custom_operator_token1] = ACTIONS(3101),
    [anon_sym_LT] = ACTIONS(3099),
    [anon_sym_GT] = ACTIONS(3099),
    [anon_sym_LBRACE] = ACTIONS(3101),
    [anon_sym_CARET_LBRACE] = ACTIONS(3101),
    [anon_sym_RBRACE] = ACTIONS(3101),
    [anon_sym_self] = ACTIONS(3184),
    [anon_sym_case] = ACTIONS(3101),
    [anon_sym_PLUS_EQ] = ACTIONS(3101),
    [anon_sym_DASH_EQ] = ACTIONS(3101),
    [anon_sym_STAR_EQ] = ACTIONS(3101),
    [anon_sym_SLASH_EQ] = ACTIONS(3101),
    [anon_sym_PERCENT_EQ] = ACTIONS(3101),
    [anon_sym_BANG_EQ] = ACTIONS(3099),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3101),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3101),
    [anon_sym_LT_EQ] = ACTIONS(3101),
    [anon_sym_GT_EQ] = ACTIONS(3101),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3101),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3101),
    [anon_sym_is] = ACTIONS(3101),
    [anon_sym_PLUS] = ACTIONS(3099),
    [anon_sym_DASH] = ACTIONS(3099),
    [anon_sym_STAR] = ACTIONS(3099),
    [anon_sym_SLASH] = ACTIONS(3099),
    [anon_sym_PERCENT] = ACTIONS(3099),
    [anon_sym_PLUS_PLUS] = ACTIONS(3101),
    [anon_sym_DASH_DASH] = ACTIONS(3101),
    [anon_sym_PIPE] = ACTIONS(3101),
    [anon_sym_CARET] = ACTIONS(3099),
    [anon_sym_LT_LT] = ACTIONS(3101),
    [anon_sym_GT_GT] = ACTIONS(3101),
    [anon_sym_import] = ACTIONS(3101),
    [anon_sym_typealias] = ACTIONS(3101),
    [anon_sym_struct] = ACTIONS(3101),
    [anon_sym_class] = ACTIONS(3101),
    [anon_sym_enum] = ACTIONS(3101),
    [anon_sym_protocol] = ACTIONS(3101),
    [anon_sym_let] = ACTIONS(3101),
    [anon_sym_var] = ACTIONS(3101),
    [anon_sym_func] = ACTIONS(3101),
    [anon_sym_extension] = ACTIONS(3101),
    [anon_sym_indirect] = ACTIONS(3101),
    [anon_sym_SEMI] = ACTIONS(3101),
    [anon_sym_init] = ACTIONS(3101),
    [anon_sym_deinit] = ACTIONS(3101),
    [anon_sym_subscript] = ACTIONS(3101),
    [anon_sym_prefix] = ACTIONS(3101),
    [anon_sym_infix] = ACTIONS(3101),
    [anon_sym_postfix] = ACTIONS(3101),
    [anon_sym_precedencegroup] = ACTIONS(3101),
    [anon_sym_associatedtype] = ACTIONS(3101),
    [anon_sym_AT] = ACTIONS(3099),
    [anon_sym_override] = ACTIONS(3101),
    [anon_sym_convenience] = ACTIONS(3101),
    [anon_sym_required] = ACTIONS(3101),
    [anon_sym_nonisolated] = ACTIONS(3101),
    [anon_sym_public] = ACTIONS(3101),
    [anon_sym_private] = ACTIONS(3101),
    [anon_sym_internal] = ACTIONS(3101),
    [anon_sym_fileprivate] = ACTIONS(3101),
    [anon_sym_open] = ACTIONS(3101),
    [anon_sym_mutating] = ACTIONS(3101),
    [anon_sym_nonmutating] = ACTIONS(3101),
    [anon_sym_static] = ACTIONS(3101),
    [anon_sym_dynamic] = ACTIONS(3101),
    [anon_sym_optional] = ACTIONS(3101),
    [anon_sym_distributed] = ACTIONS(3101),
    [anon_sym_final] = ACTIONS(3101),
    [anon_sym_inout] = ACTIONS(3101),
    [anon_sym_ATescaping] = ACTIONS(3101),
    [anon_sym_ATautoclosure] = ACTIONS(3101),
    [anon_sym_weak] = ACTIONS(3101),
    [anon_sym_unowned] = ACTIONS(3099),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3101),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3101),
    [anon_sym_borrowing] = ACTIONS(3101),
    [anon_sym_consuming] = ACTIONS(3101),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3101),
    [sym__conjunction_operator_custom] = ACTIONS(3101),
    [sym__disjunction_operator_custom] = ACTIONS(3101),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3101),
    [sym__eq_custom] = ACTIONS(3101),
    [sym__eq_eq_custom] = ACTIONS(3101),
    [sym__plus_then_ws] = ACTIONS(3101),
    [sym__minus_then_ws] = ACTIONS(3101),
    [sym__bang_custom] = ACTIONS(3101),
    [sym__as_custom] = ACTIONS(3101),
    [sym__as_quest_custom] = ACTIONS(3101),
    [sym__as_bang_custom] = ACTIONS(3101),
    [sym__custom_operator] = ACTIONS(3101),
  },
  [841] = {
    [anon_sym_BANG] = ACTIONS(3186),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3188),
    [anon_sym_async] = ACTIONS(3188),
    [anon_sym_lazy] = ACTIONS(3188),
    [anon_sym_package] = ACTIONS(3188),
    [anon_sym_RPAREN] = ACTIONS(3188),
    [anon_sym_COMMA] = ACTIONS(3188),
    [anon_sym_COLON] = ACTIONS(3188),
    [anon_sym_LPAREN] = ACTIONS(3188),
    [anon_sym_LBRACK] = ACTIONS(3188),
    [anon_sym_RBRACK] = ACTIONS(3188),
    [anon_sym_DOT] = ACTIONS(3186),
    [anon_sym_QMARK] = ACTIONS(3186),
    [anon_sym_QMARK2] = ACTIONS(3188),
    [anon_sym_AMP] = ACTIONS(3188),
    [aux_sym_custom_operator_token1] = ACTIONS(3188),
    [anon_sym_LT] = ACTIONS(3186),
    [anon_sym_GT] = ACTIONS(3186),
    [anon_sym_LBRACE] = ACTIONS(3188),
    [anon_sym_CARET_LBRACE] = ACTIONS(3188),
    [anon_sym_RBRACE] = ACTIONS(3188),
    [anon_sym_case] = ACTIONS(3188),
    [anon_sym_PLUS_EQ] = ACTIONS(3188),
    [anon_sym_DASH_EQ] = ACTIONS(3188),
    [anon_sym_STAR_EQ] = ACTIONS(3188),
    [anon_sym_SLASH_EQ] = ACTIONS(3188),
    [anon_sym_PERCENT_EQ] = ACTIONS(3188),
    [anon_sym_BANG_EQ] = ACTIONS(3186),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3188),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3188),
    [anon_sym_LT_EQ] = ACTIONS(3188),
    [anon_sym_GT_EQ] = ACTIONS(3188),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3188),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3188),
    [anon_sym_is] = ACTIONS(3188),
    [anon_sym_PLUS] = ACTIONS(3186),
    [anon_sym_DASH] = ACTIONS(3186),
    [anon_sym_STAR] = ACTIONS(3186),
    [anon_sym_SLASH] = ACTIONS(3186),
    [anon_sym_PERCENT] = ACTIONS(3186),
    [anon_sym_PLUS_PLUS] = ACTIONS(3188),
    [anon_sym_DASH_DASH] = ACTIONS(3188),
    [anon_sym_PIPE] = ACTIONS(3188),
    [anon_sym_CARET] = ACTIONS(3186),
    [anon_sym_LT_LT] = ACTIONS(3188),
    [anon_sym_GT_GT] = ACTIONS(3188),
    [anon_sym_import] = ACTIONS(3188),
    [anon_sym_typealias] = ACTIONS(3188),
    [anon_sym_struct] = ACTIONS(3188),
    [anon_sym_class] = ACTIONS(3188),
    [anon_sym_enum] = ACTIONS(3188),
    [anon_sym_protocol] = ACTIONS(3188),
    [anon_sym_let] = ACTIONS(3188),
    [anon_sym_var] = ACTIONS(3188),
    [anon_sym_func] = ACTIONS(3188),
    [anon_sym_extension] = ACTIONS(3188),
    [anon_sym_indirect] = ACTIONS(3188),
    [anon_sym_SEMI] = ACTIONS(3188),
    [anon_sym_init] = ACTIONS(3188),
    [anon_sym_deinit] = ACTIONS(3188),
    [anon_sym_subscript] = ACTIONS(3188),
    [anon_sym_prefix] = ACTIONS(3188),
    [anon_sym_infix] = ACTIONS(3188),
    [anon_sym_postfix] = ACTIONS(3188),
    [anon_sym_precedencegroup] = ACTIONS(3188),
    [anon_sym_associatedtype] = ACTIONS(3188),
    [anon_sym_AT] = ACTIONS(3186),
    [anon_sym_override] = ACTIONS(3188),
    [anon_sym_convenience] = ACTIONS(3188),
    [anon_sym_required] = ACTIONS(3188),
    [anon_sym_nonisolated] = ACTIONS(3188),
    [anon_sym_public] = ACTIONS(3188),
    [anon_sym_private] = ACTIONS(3188),
    [anon_sym_internal] = ACTIONS(3188),
    [anon_sym_fileprivate] = ACTIONS(3188),
    [anon_sym_open] = ACTIONS(3188),
    [anon_sym_mutating] = ACTIONS(3188),
    [anon_sym_nonmutating] = ACTIONS(3188),
    [anon_sym_static] = ACTIONS(3188),
    [anon_sym_dynamic] = ACTIONS(3188),
    [anon_sym_optional] = ACTIONS(3188),
    [anon_sym_distributed] = ACTIONS(3188),
    [anon_sym_final] = ACTIONS(3188),
    [anon_sym_inout] = ACTIONS(3188),
    [anon_sym_ATescaping] = ACTIONS(3188),
    [anon_sym_ATautoclosure] = ACTIONS(3188),
    [anon_sym_weak] = ACTIONS(3188),
    [anon_sym_unowned] = ACTIONS(3186),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3188),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3188),
    [anon_sym_borrowing] = ACTIONS(3188),
    [anon_sym_consuming] = ACTIONS(3188),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3188),
    [sym__dot_custom] = ACTIONS(3188),
    [sym__conjunction_operator_custom] = ACTIONS(3188),
    [sym__disjunction_operator_custom] = ACTIONS(3188),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3188),
    [sym__eq_custom] = ACTIONS(3188),
    [sym__eq_eq_custom] = ACTIONS(3188),
    [sym__plus_then_ws] = ACTIONS(3188),
    [sym__minus_then_ws] = ACTIONS(3188),
    [sym__bang_custom] = ACTIONS(3188),
    [sym__throws_keyword] = ACTIONS(3188),
    [sym__rethrows_keyword] = ACTIONS(3188),
    [sym__as_custom] = ACTIONS(3188),
    [sym__as_quest_custom] = ACTIONS(3188),
    [sym__as_bang_custom] = ACTIONS(3188),
    [sym__async_keyword_custom] = ACTIONS(3188),
    [sym__custom_operator] = ACTIONS(3188),
  },
  [842] = {
    [anon_sym_BANG] = ACTIONS(3190),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3192),
    [anon_sym_async] = ACTIONS(3192),
    [anon_sym_lazy] = ACTIONS(3192),
    [anon_sym_package] = ACTIONS(3192),
    [anon_sym_RPAREN] = ACTIONS(3192),
    [anon_sym_COMMA] = ACTIONS(3192),
    [anon_sym_COLON] = ACTIONS(3192),
    [anon_sym_LPAREN] = ACTIONS(3192),
    [anon_sym_LBRACK] = ACTIONS(3192),
    [anon_sym_RBRACK] = ACTIONS(3192),
    [anon_sym_DOT] = ACTIONS(3190),
    [anon_sym_QMARK] = ACTIONS(3190),
    [anon_sym_QMARK2] = ACTIONS(3192),
    [anon_sym_AMP] = ACTIONS(3192),
    [aux_sym_custom_operator_token1] = ACTIONS(3192),
    [anon_sym_LT] = ACTIONS(3190),
    [anon_sym_GT] = ACTIONS(3190),
    [anon_sym_LBRACE] = ACTIONS(3192),
    [anon_sym_CARET_LBRACE] = ACTIONS(3192),
    [anon_sym_RBRACE] = ACTIONS(3192),
    [anon_sym_case] = ACTIONS(3192),
    [anon_sym_PLUS_EQ] = ACTIONS(3192),
    [anon_sym_DASH_EQ] = ACTIONS(3192),
    [anon_sym_STAR_EQ] = ACTIONS(3192),
    [anon_sym_SLASH_EQ] = ACTIONS(3192),
    [anon_sym_PERCENT_EQ] = ACTIONS(3192),
    [anon_sym_BANG_EQ] = ACTIONS(3190),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3192),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3192),
    [anon_sym_LT_EQ] = ACTIONS(3192),
    [anon_sym_GT_EQ] = ACTIONS(3192),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3192),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3192),
    [anon_sym_is] = ACTIONS(3192),
    [anon_sym_PLUS] = ACTIONS(3190),
    [anon_sym_DASH] = ACTIONS(3190),
    [anon_sym_STAR] = ACTIONS(3190),
    [anon_sym_SLASH] = ACTIONS(3190),
    [anon_sym_PERCENT] = ACTIONS(3190),
    [anon_sym_PLUS_PLUS] = ACTIONS(3192),
    [anon_sym_DASH_DASH] = ACTIONS(3192),
    [anon_sym_PIPE] = ACTIONS(3192),
    [anon_sym_CARET] = ACTIONS(3190),
    [anon_sym_LT_LT] = ACTIONS(3192),
    [anon_sym_GT_GT] = ACTIONS(3192),
    [anon_sym_import] = ACTIONS(3192),
    [anon_sym_typealias] = ACTIONS(3192),
    [anon_sym_struct] = ACTIONS(3192),
    [anon_sym_class] = ACTIONS(3192),
    [anon_sym_enum] = ACTIONS(3192),
    [anon_sym_protocol] = ACTIONS(3192),
    [anon_sym_let] = ACTIONS(3192),
    [anon_sym_var] = ACTIONS(3192),
    [anon_sym_func] = ACTIONS(3192),
    [anon_sym_extension] = ACTIONS(3192),
    [anon_sym_indirect] = ACTIONS(3192),
    [anon_sym_SEMI] = ACTIONS(3192),
    [anon_sym_init] = ACTIONS(3192),
    [anon_sym_deinit] = ACTIONS(3192),
    [anon_sym_subscript] = ACTIONS(3192),
    [anon_sym_prefix] = ACTIONS(3192),
    [anon_sym_infix] = ACTIONS(3192),
    [anon_sym_postfix] = ACTIONS(3192),
    [anon_sym_precedencegroup] = ACTIONS(3192),
    [anon_sym_associatedtype] = ACTIONS(3192),
    [anon_sym_AT] = ACTIONS(3190),
    [anon_sym_override] = ACTIONS(3192),
    [anon_sym_convenience] = ACTIONS(3192),
    [anon_sym_required] = ACTIONS(3192),
    [anon_sym_nonisolated] = ACTIONS(3192),
    [anon_sym_public] = ACTIONS(3192),
    [anon_sym_private] = ACTIONS(3192),
    [anon_sym_internal] = ACTIONS(3192),
    [anon_sym_fileprivate] = ACTIONS(3192),
    [anon_sym_open] = ACTIONS(3192),
    [anon_sym_mutating] = ACTIONS(3192),
    [anon_sym_nonmutating] = ACTIONS(3192),
    [anon_sym_static] = ACTIONS(3192),
    [anon_sym_dynamic] = ACTIONS(3192),
    [anon_sym_optional] = ACTIONS(3192),
    [anon_sym_distributed] = ACTIONS(3192),
    [anon_sym_final] = ACTIONS(3192),
    [anon_sym_inout] = ACTIONS(3192),
    [anon_sym_ATescaping] = ACTIONS(3192),
    [anon_sym_ATautoclosure] = ACTIONS(3192),
    [anon_sym_weak] = ACTIONS(3192),
    [anon_sym_unowned] = ACTIONS(3190),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3192),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3192),
    [anon_sym_borrowing] = ACTIONS(3192),
    [anon_sym_consuming] = ACTIONS(3192),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3192),
    [sym__dot_custom] = ACTIONS(3192),
    [sym__conjunction_operator_custom] = ACTIONS(3192),
    [sym__disjunction_operator_custom] = ACTIONS(3192),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3192),
    [sym__eq_custom] = ACTIONS(3192),
    [sym__eq_eq_custom] = ACTIONS(3192),
    [sym__plus_then_ws] = ACTIONS(3192),
    [sym__minus_then_ws] = ACTIONS(3192),
    [sym__bang_custom] = ACTIONS(3192),
    [sym__throws_keyword] = ACTIONS(3192),
    [sym__rethrows_keyword] = ACTIONS(3192),
    [sym__as_custom] = ACTIONS(3192),
    [sym__as_quest_custom] = ACTIONS(3192),
    [sym__as_bang_custom] = ACTIONS(3192),
    [sym__async_keyword_custom] = ACTIONS(3192),
    [sym__custom_operator] = ACTIONS(3192),
  },
  [843] = {
    [anon_sym_BANG] = ACTIONS(3194),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3196),
    [anon_sym_async] = ACTIONS(3196),
    [anon_sym_lazy] = ACTIONS(3196),
    [anon_sym_package] = ACTIONS(3196),
    [anon_sym_RPAREN] = ACTIONS(3196),
    [anon_sym_COMMA] = ACTIONS(3196),
    [anon_sym_COLON] = ACTIONS(3196),
    [anon_sym_LPAREN] = ACTIONS(3196),
    [anon_sym_LBRACK] = ACTIONS(3196),
    [anon_sym_RBRACK] = ACTIONS(3196),
    [anon_sym_DOT] = ACTIONS(3194),
    [anon_sym_QMARK] = ACTIONS(3194),
    [anon_sym_QMARK2] = ACTIONS(3196),
    [anon_sym_AMP] = ACTIONS(3196),
    [aux_sym_custom_operator_token1] = ACTIONS(3196),
    [anon_sym_LT] = ACTIONS(3194),
    [anon_sym_GT] = ACTIONS(3194),
    [anon_sym_LBRACE] = ACTIONS(3196),
    [anon_sym_CARET_LBRACE] = ACTIONS(3196),
    [anon_sym_RBRACE] = ACTIONS(3196),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_PLUS_EQ] = ACTIONS(3196),
    [anon_sym_DASH_EQ] = ACTIONS(3196),
    [anon_sym_STAR_EQ] = ACTIONS(3196),
    [anon_sym_SLASH_EQ] = ACTIONS(3196),
    [anon_sym_PERCENT_EQ] = ACTIONS(3196),
    [anon_sym_BANG_EQ] = ACTIONS(3194),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3196),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3196),
    [anon_sym_LT_EQ] = ACTIONS(3196),
    [anon_sym_GT_EQ] = ACTIONS(3196),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3196),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3196),
    [anon_sym_is] = ACTIONS(3196),
    [anon_sym_PLUS] = ACTIONS(3194),
    [anon_sym_DASH] = ACTIONS(3194),
    [anon_sym_STAR] = ACTIONS(3194),
    [anon_sym_SLASH] = ACTIONS(3194),
    [anon_sym_PERCENT] = ACTIONS(3194),
    [anon_sym_PLUS_PLUS] = ACTIONS(3196),
    [anon_sym_DASH_DASH] = ACTIONS(3196),
    [anon_sym_PIPE] = ACTIONS(3196),
    [anon_sym_CARET] = ACTIONS(3194),
    [anon_sym_LT_LT] = ACTIONS(3196),
    [anon_sym_GT_GT] = ACTIONS(3196),
    [anon_sym_import] = ACTIONS(3196),
    [anon_sym_typealias] = ACTIONS(3196),
    [anon_sym_struct] = ACTIONS(3196),
    [anon_sym_class] = ACTIONS(3196),
    [anon_sym_enum] = ACTIONS(3196),
    [anon_sym_protocol] = ACTIONS(3196),
    [anon_sym_let] = ACTIONS(3196),
    [anon_sym_var] = ACTIONS(3196),
    [anon_sym_func] = ACTIONS(3196),
    [anon_sym_extension] = ACTIONS(3196),
    [anon_sym_indirect] = ACTIONS(3196),
    [anon_sym_SEMI] = ACTIONS(3196),
    [anon_sym_init] = ACTIONS(3196),
    [anon_sym_deinit] = ACTIONS(3196),
    [anon_sym_subscript] = ACTIONS(3196),
    [anon_sym_prefix] = ACTIONS(3196),
    [anon_sym_infix] = ACTIONS(3196),
    [anon_sym_postfix] = ACTIONS(3196),
    [anon_sym_precedencegroup] = ACTIONS(3196),
    [anon_sym_associatedtype] = ACTIONS(3196),
    [anon_sym_AT] = ACTIONS(3194),
    [anon_sym_override] = ACTIONS(3196),
    [anon_sym_convenience] = ACTIONS(3196),
    [anon_sym_required] = ACTIONS(3196),
    [anon_sym_nonisolated] = ACTIONS(3196),
    [anon_sym_public] = ACTIONS(3196),
    [anon_sym_private] = ACTIONS(3196),
    [anon_sym_internal] = ACTIONS(3196),
    [anon_sym_fileprivate] = ACTIONS(3196),
    [anon_sym_open] = ACTIONS(3196),
    [anon_sym_mutating] = ACTIONS(3196),
    [anon_sym_nonmutating] = ACTIONS(3196),
    [anon_sym_static] = ACTIONS(3196),
    [anon_sym_dynamic] = ACTIONS(3196),
    [anon_sym_optional] = ACTIONS(3196),
    [anon_sym_distributed] = ACTIONS(3196),
    [anon_sym_final] = ACTIONS(3196),
    [anon_sym_inout] = ACTIONS(3196),
    [anon_sym_ATescaping] = ACTIONS(3196),
    [anon_sym_ATautoclosure] = ACTIONS(3196),
    [anon_sym_weak] = ACTIONS(3196),
    [anon_sym_unowned] = ACTIONS(3194),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3196),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3196),
    [anon_sym_borrowing] = ACTIONS(3196),
    [anon_sym_consuming] = ACTIONS(3196),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3196),
    [sym__dot_custom] = ACTIONS(3196),
    [sym__conjunction_operator_custom] = ACTIONS(3196),
    [sym__disjunction_operator_custom] = ACTIONS(3196),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3196),
    [sym__eq_custom] = ACTIONS(3196),
    [sym__eq_eq_custom] = ACTIONS(3196),
    [sym__plus_then_ws] = ACTIONS(3196),
    [sym__minus_then_ws] = ACTIONS(3196),
    [sym__bang_custom] = ACTIONS(3196),
    [sym__throws_keyword] = ACTIONS(3196),
    [sym__rethrows_keyword] = ACTIONS(3196),
    [sym__as_custom] = ACTIONS(3196),
    [sym__as_quest_custom] = ACTIONS(3196),
    [sym__as_bang_custom] = ACTIONS(3196),
    [sym__async_keyword_custom] = ACTIONS(3196),
    [sym__custom_operator] = ACTIONS(3196),
  },
  [844] = {
    [anon_sym_BANG] = ACTIONS(3198),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3200),
    [anon_sym_async] = ACTIONS(3200),
    [anon_sym_lazy] = ACTIONS(3200),
    [anon_sym_package] = ACTIONS(3200),
    [anon_sym_RPAREN] = ACTIONS(3200),
    [anon_sym_COMMA] = ACTIONS(3200),
    [anon_sym_COLON] = ACTIONS(3200),
    [anon_sym_LPAREN] = ACTIONS(3200),
    [anon_sym_LBRACK] = ACTIONS(3200),
    [anon_sym_RBRACK] = ACTIONS(3200),
    [anon_sym_DOT] = ACTIONS(3198),
    [anon_sym_QMARK] = ACTIONS(3198),
    [anon_sym_QMARK2] = ACTIONS(3200),
    [anon_sym_AMP] = ACTIONS(3200),
    [aux_sym_custom_operator_token1] = ACTIONS(3200),
    [anon_sym_LT] = ACTIONS(3198),
    [anon_sym_GT] = ACTIONS(3198),
    [anon_sym_LBRACE] = ACTIONS(3200),
    [anon_sym_CARET_LBRACE] = ACTIONS(3200),
    [anon_sym_RBRACE] = ACTIONS(3200),
    [anon_sym_case] = ACTIONS(3200),
    [anon_sym_PLUS_EQ] = ACTIONS(3200),
    [anon_sym_DASH_EQ] = ACTIONS(3200),
    [anon_sym_STAR_EQ] = ACTIONS(3200),
    [anon_sym_SLASH_EQ] = ACTIONS(3200),
    [anon_sym_PERCENT_EQ] = ACTIONS(3200),
    [anon_sym_BANG_EQ] = ACTIONS(3198),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3200),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3200),
    [anon_sym_LT_EQ] = ACTIONS(3200),
    [anon_sym_GT_EQ] = ACTIONS(3200),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3200),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3200),
    [anon_sym_is] = ACTIONS(3200),
    [anon_sym_PLUS] = ACTIONS(3198),
    [anon_sym_DASH] = ACTIONS(3198),
    [anon_sym_STAR] = ACTIONS(3198),
    [anon_sym_SLASH] = ACTIONS(3198),
    [anon_sym_PERCENT] = ACTIONS(3198),
    [anon_sym_PLUS_PLUS] = ACTIONS(3200),
    [anon_sym_DASH_DASH] = ACTIONS(3200),
    [anon_sym_PIPE] = ACTIONS(3200),
    [anon_sym_CARET] = ACTIONS(3198),
    [anon_sym_LT_LT] = ACTIONS(3200),
    [anon_sym_GT_GT] = ACTIONS(3200),
    [anon_sym_import] = ACTIONS(3200),
    [anon_sym_typealias] = ACTIONS(3200),
    [anon_sym_struct] = ACTIONS(3200),
    [anon_sym_class] = ACTIONS(3200),
    [anon_sym_enum] = ACTIONS(3200),
    [anon_sym_protocol] = ACTIONS(3200),
    [anon_sym_let] = ACTIONS(3200),
    [anon_sym_var] = ACTIONS(3200),
    [anon_sym_func] = ACTIONS(3200),
    [anon_sym_extension] = ACTIONS(3200),
    [anon_sym_indirect] = ACTIONS(3200),
    [anon_sym_SEMI] = ACTIONS(3200),
    [anon_sym_init] = ACTIONS(3200),
    [anon_sym_deinit] = ACTIONS(3200),
    [anon_sym_subscript] = ACTIONS(3200),
    [anon_sym_prefix] = ACTIONS(3200),
    [anon_sym_infix] = ACTIONS(3200),
    [anon_sym_postfix] = ACTIONS(3200),
    [anon_sym_precedencegroup] = ACTIONS(3200),
    [anon_sym_associatedtype] = ACTIONS(3200),
    [anon_sym_AT] = ACTIONS(3198),
    [anon_sym_override] = ACTIONS(3200),
    [anon_sym_convenience] = ACTIONS(3200),
    [anon_sym_required] = ACTIONS(3200),
    [anon_sym_nonisolated] = ACTIONS(3200),
    [anon_sym_public] = ACTIONS(3200),
    [anon_sym_private] = ACTIONS(3200),
    [anon_sym_internal] = ACTIONS(3200),
    [anon_sym_fileprivate] = ACTIONS(3200),
    [anon_sym_open] = ACTIONS(3200),
    [anon_sym_mutating] = ACTIONS(3200),
    [anon_sym_nonmutating] = ACTIONS(3200),
    [anon_sym_static] = ACTIONS(3200),
    [anon_sym_dynamic] = ACTIONS(3200),
    [anon_sym_optional] = ACTIONS(3200),
    [anon_sym_distributed] = ACTIONS(3200),
    [anon_sym_final] = ACTIONS(3200),
    [anon_sym_inout] = ACTIONS(3200),
    [anon_sym_ATescaping] = ACTIONS(3200),
    [anon_sym_ATautoclosure] = ACTIONS(3200),
    [anon_sym_weak] = ACTIONS(3200),
    [anon_sym_unowned] = ACTIONS(3198),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3200),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3200),
    [anon_sym_borrowing] = ACTIONS(3200),
    [anon_sym_consuming] = ACTIONS(3200),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3200),
    [sym__dot_custom] = ACTIONS(3200),
    [sym__conjunction_operator_custom] = ACTIONS(3200),
    [sym__disjunction_operator_custom] = ACTIONS(3200),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3200),
    [sym__eq_custom] = ACTIONS(3200),
    [sym__eq_eq_custom] = ACTIONS(3200),
    [sym__plus_then_ws] = ACTIONS(3200),
    [sym__minus_then_ws] = ACTIONS(3200),
    [sym__bang_custom] = ACTIONS(3200),
    [sym__throws_keyword] = ACTIONS(3200),
    [sym__rethrows_keyword] = ACTIONS(3200),
    [sym__as_custom] = ACTIONS(3200),
    [sym__as_quest_custom] = ACTIONS(3200),
    [sym__as_bang_custom] = ACTIONS(3200),
    [sym__async_keyword_custom] = ACTIONS(3200),
    [sym__custom_operator] = ACTIONS(3200),
  },
  [845] = {
    [anon_sym_BANG] = ACTIONS(3202),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3204),
    [anon_sym_async] = ACTIONS(3204),
    [anon_sym_lazy] = ACTIONS(3204),
    [anon_sym_package] = ACTIONS(3204),
    [anon_sym_RPAREN] = ACTIONS(3204),
    [anon_sym_COMMA] = ACTIONS(3204),
    [anon_sym_COLON] = ACTIONS(3204),
    [anon_sym_LPAREN] = ACTIONS(3204),
    [anon_sym_LBRACK] = ACTIONS(3204),
    [anon_sym_RBRACK] = ACTIONS(3204),
    [anon_sym_DOT] = ACTIONS(3202),
    [anon_sym_QMARK] = ACTIONS(3202),
    [anon_sym_QMARK2] = ACTIONS(3204),
    [anon_sym_AMP] = ACTIONS(3204),
    [aux_sym_custom_operator_token1] = ACTIONS(3204),
    [anon_sym_LT] = ACTIONS(3202),
    [anon_sym_GT] = ACTIONS(3202),
    [anon_sym_LBRACE] = ACTIONS(3204),
    [anon_sym_CARET_LBRACE] = ACTIONS(3204),
    [anon_sym_RBRACE] = ACTIONS(3204),
    [anon_sym_case] = ACTIONS(3204),
    [anon_sym_PLUS_EQ] = ACTIONS(3204),
    [anon_sym_DASH_EQ] = ACTIONS(3204),
    [anon_sym_STAR_EQ] = ACTIONS(3204),
    [anon_sym_SLASH_EQ] = ACTIONS(3204),
    [anon_sym_PERCENT_EQ] = ACTIONS(3204),
    [anon_sym_BANG_EQ] = ACTIONS(3202),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3204),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3204),
    [anon_sym_LT_EQ] = ACTIONS(3204),
    [anon_sym_GT_EQ] = ACTIONS(3204),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3204),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3204),
    [anon_sym_is] = ACTIONS(3204),
    [anon_sym_PLUS] = ACTIONS(3202),
    [anon_sym_DASH] = ACTIONS(3202),
    [anon_sym_STAR] = ACTIONS(3202),
    [anon_sym_SLASH] = ACTIONS(3202),
    [anon_sym_PERCENT] = ACTIONS(3202),
    [anon_sym_PLUS_PLUS] = ACTIONS(3204),
    [anon_sym_DASH_DASH] = ACTIONS(3204),
    [anon_sym_PIPE] = ACTIONS(3204),
    [anon_sym_CARET] = ACTIONS(3202),
    [anon_sym_LT_LT] = ACTIONS(3204),
    [anon_sym_GT_GT] = ACTIONS(3204),
    [anon_sym_import] = ACTIONS(3204),
    [anon_sym_typealias] = ACTIONS(3204),
    [anon_sym_struct] = ACTIONS(3204),
    [anon_sym_class] = ACTIONS(3204),
    [anon_sym_enum] = ACTIONS(3204),
    [anon_sym_protocol] = ACTIONS(3204),
    [anon_sym_let] = ACTIONS(3204),
    [anon_sym_var] = ACTIONS(3204),
    [anon_sym_func] = ACTIONS(3204),
    [anon_sym_extension] = ACTIONS(3204),
    [anon_sym_indirect] = ACTIONS(3204),
    [anon_sym_SEMI] = ACTIONS(3204),
    [anon_sym_init] = ACTIONS(3204),
    [anon_sym_deinit] = ACTIONS(3204),
    [anon_sym_subscript] = ACTIONS(3204),
    [anon_sym_prefix] = ACTIONS(3204),
    [anon_sym_infix] = ACTIONS(3204),
    [anon_sym_postfix] = ACTIONS(3204),
    [anon_sym_precedencegroup] = ACTIONS(3204),
    [anon_sym_associatedtype] = ACTIONS(3204),
    [anon_sym_AT] = ACTIONS(3202),
    [anon_sym_override] = ACTIONS(3204),
    [anon_sym_convenience] = ACTIONS(3204),
    [anon_sym_required] = ACTIONS(3204),
    [anon_sym_nonisolated] = ACTIONS(3204),
    [anon_sym_public] = ACTIONS(3204),
    [anon_sym_private] = ACTIONS(3204),
    [anon_sym_internal] = ACTIONS(3204),
    [anon_sym_fileprivate] = ACTIONS(3204),
    [anon_sym_open] = ACTIONS(3204),
    [anon_sym_mutating] = ACTIONS(3204),
    [anon_sym_nonmutating] = ACTIONS(3204),
    [anon_sym_static] = ACTIONS(3204),
    [anon_sym_dynamic] = ACTIONS(3204),
    [anon_sym_optional] = ACTIONS(3204),
    [anon_sym_distributed] = ACTIONS(3204),
    [anon_sym_final] = ACTIONS(3204),
    [anon_sym_inout] = ACTIONS(3204),
    [anon_sym_ATescaping] = ACTIONS(3204),
    [anon_sym_ATautoclosure] = ACTIONS(3204),
    [anon_sym_weak] = ACTIONS(3204),
    [anon_sym_unowned] = ACTIONS(3202),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3204),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3204),
    [anon_sym_borrowing] = ACTIONS(3204),
    [anon_sym_consuming] = ACTIONS(3204),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3204),
    [sym__dot_custom] = ACTIONS(3204),
    [sym__conjunction_operator_custom] = ACTIONS(3204),
    [sym__disjunction_operator_custom] = ACTIONS(3204),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3204),
    [sym__eq_custom] = ACTIONS(3204),
    [sym__eq_eq_custom] = ACTIONS(3204),
    [sym__plus_then_ws] = ACTIONS(3204),
    [sym__minus_then_ws] = ACTIONS(3204),
    [sym__bang_custom] = ACTIONS(3204),
    [sym__throws_keyword] = ACTIONS(3204),
    [sym__rethrows_keyword] = ACTIONS(3204),
    [sym__as_custom] = ACTIONS(3204),
    [sym__as_quest_custom] = ACTIONS(3204),
    [sym__as_bang_custom] = ACTIONS(3204),
    [sym__async_keyword_custom] = ACTIONS(3204),
    [sym__custom_operator] = ACTIONS(3204),
  },
  [846] = {
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(623),
    [aux_sym_simple_identifier_token2] = ACTIONS(617),
    [aux_sym_simple_identifier_token3] = ACTIONS(617),
    [aux_sym_simple_identifier_token4] = ACTIONS(617),
    [anon_sym_actor] = ACTIONS(3206),
    [anon_sym_async] = ACTIONS(3206),
    [anon_sym_each] = ACTIONS(623),
    [anon_sym_lazy] = ACTIONS(3206),
    [anon_sym_repeat] = ACTIONS(623),
    [anon_sym_package] = ACTIONS(3206),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_COLON] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(617),
    [anon_sym_LBRACK] = ACTIONS(617),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(617),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_in] = ACTIONS(623),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_typealias] = ACTIONS(3209),
    [anon_sym_struct] = ACTIONS(3209),
    [anon_sym_class] = ACTIONS(3209),
    [anon_sym_enum] = ACTIONS(3209),
    [anon_sym_let] = ACTIONS(3209),
    [anon_sym_var] = ACTIONS(3209),
    [anon_sym_func] = ACTIONS(3209),
    [anon_sym_willSet] = ACTIONS(3209),
    [anon_sym_didSet] = ACTIONS(3209),
    [anon_sym_extension] = ACTIONS(3209),
    [anon_sym_indirect] = ACTIONS(3209),
    [anon_sym_prefix] = ACTIONS(3209),
    [anon_sym_infix] = ACTIONS(3209),
    [anon_sym_postfix] = ACTIONS(3209),
    [anon_sym_AT] = ACTIONS(3209),
    [anon_sym_override] = ACTIONS(3209),
    [anon_sym_convenience] = ACTIONS(3209),
    [anon_sym_required] = ACTIONS(3209),
    [anon_sym_nonisolated] = ACTIONS(3209),
    [anon_sym_public] = ACTIONS(3209),
    [anon_sym_private] = ACTIONS(3209),
    [anon_sym_internal] = ACTIONS(3209),
    [anon_sym_fileprivate] = ACTIONS(3209),
    [anon_sym_open] = ACTIONS(3209),
    [anon_sym_mutating] = ACTIONS(3209),
    [anon_sym_nonmutating] = ACTIONS(3209),
    [anon_sym_static] = ACTIONS(3209),
    [anon_sym_dynamic] = ACTIONS(3209),
    [anon_sym_optional] = ACTIONS(3209),
    [anon_sym_distributed] = ACTIONS(3209),
    [anon_sym_final] = ACTIONS(3209),
    [anon_sym_inout] = ACTIONS(3209),
    [anon_sym_ATescaping] = ACTIONS(3211),
    [anon_sym_ATautoclosure] = ACTIONS(3211),
    [anon_sym_weak] = ACTIONS(3209),
    [anon_sym_unowned] = ACTIONS(3209),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3211),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3211),
    [anon_sym_borrowing] = ACTIONS(3206),
    [anon_sym_consuming] = ACTIONS(3206),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [847] = {
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(623),
    [aux_sym_simple_identifier_token2] = ACTIONS(617),
    [aux_sym_simple_identifier_token3] = ACTIONS(617),
    [aux_sym_simple_identifier_token4] = ACTIONS(617),
    [anon_sym_actor] = ACTIONS(3206),
    [anon_sym_async] = ACTIONS(3206),
    [anon_sym_each] = ACTIONS(623),
    [anon_sym_lazy] = ACTIONS(3206),
    [anon_sym_repeat] = ACTIONS(623),
    [anon_sym_package] = ACTIONS(3206),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_COLON] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(617),
    [anon_sym_LBRACK] = ACTIONS(617),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(617),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_in] = ACTIONS(623),
    [anon_sym_case] = ACTIONS(3209),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_typealias] = ACTIONS(3209),
    [anon_sym_struct] = ACTIONS(3209),
    [anon_sym_class] = ACTIONS(3209),
    [anon_sym_enum] = ACTIONS(3209),
    [anon_sym_let] = ACTIONS(3209),
    [anon_sym_var] = ACTIONS(3209),
    [anon_sym_func] = ACTIONS(3209),
    [anon_sym_extension] = ACTIONS(3209),
    [anon_sym_indirect] = ACTIONS(3209),
    [anon_sym_prefix] = ACTIONS(3209),
    [anon_sym_infix] = ACTIONS(3209),
    [anon_sym_postfix] = ACTIONS(3209),
    [anon_sym_AT] = ACTIONS(3209),
    [anon_sym_override] = ACTIONS(3209),
    [anon_sym_convenience] = ACTIONS(3209),
    [anon_sym_required] = ACTIONS(3209),
    [anon_sym_nonisolated] = ACTIONS(3209),
    [anon_sym_public] = ACTIONS(3209),
    [anon_sym_private] = ACTIONS(3209),
    [anon_sym_internal] = ACTIONS(3209),
    [anon_sym_fileprivate] = ACTIONS(3209),
    [anon_sym_open] = ACTIONS(3209),
    [anon_sym_mutating] = ACTIONS(3209),
    [anon_sym_nonmutating] = ACTIONS(3209),
    [anon_sym_static] = ACTIONS(3209),
    [anon_sym_dynamic] = ACTIONS(3209),
    [anon_sym_optional] = ACTIONS(3209),
    [anon_sym_distributed] = ACTIONS(3209),
    [anon_sym_final] = ACTIONS(3209),
    [anon_sym_inout] = ACTIONS(3209),
    [anon_sym_ATescaping] = ACTIONS(3211),
    [anon_sym_ATautoclosure] = ACTIONS(3211),
    [anon_sym_weak] = ACTIONS(3209),
    [anon_sym_unowned] = ACTIONS(3209),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3211),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3211),
    [anon_sym_borrowing] = ACTIONS(3206),
    [anon_sym_consuming] = ACTIONS(3206),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym_default_keyword] = ACTIONS(3211),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [848] = {
    [anon_sym_BANG] = ACTIONS(3213),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3213),
    [aux_sym_simple_identifier_token2] = ACTIONS(3215),
    [aux_sym_simple_identifier_token3] = ACTIONS(3215),
    [aux_sym_simple_identifier_token4] = ACTIONS(3215),
    [anon_sym_actor] = ACTIONS(3213),
    [anon_sym_async] = ACTIONS(3213),
    [anon_sym_each] = ACTIONS(3213),
    [anon_sym_lazy] = ACTIONS(3213),
    [anon_sym_repeat] = ACTIONS(3213),
    [anon_sym_package] = ACTIONS(3213),
    [anon_sym_COMMA] = ACTIONS(3215),
    [anon_sym_LPAREN] = ACTIONS(3215),
    [anon_sym_LBRACK] = ACTIONS(3215),
    [anon_sym_QMARK] = ACTIONS(3213),
    [anon_sym_QMARK2] = ACTIONS(3215),
    [anon_sym_AMP] = ACTIONS(3215),
    [aux_sym_custom_operator_token1] = ACTIONS(3215),
    [anon_sym_LT] = ACTIONS(3213),
    [anon_sym_GT] = ACTIONS(3213),
    [anon_sym_LBRACE] = ACTIONS(3215),
    [anon_sym_CARET_LBRACE] = ACTIONS(3215),
    [anon_sym_RBRACE] = ACTIONS(3215),
    [anon_sym_case] = ACTIONS(3213),
    [anon_sym_PLUS_EQ] = ACTIONS(3215),
    [anon_sym_DASH_EQ] = ACTIONS(3215),
    [anon_sym_STAR_EQ] = ACTIONS(3215),
    [anon_sym_SLASH_EQ] = ACTIONS(3215),
    [anon_sym_PERCENT_EQ] = ACTIONS(3215),
    [anon_sym_BANG_EQ] = ACTIONS(3213),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3215),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3215),
    [anon_sym_LT_EQ] = ACTIONS(3215),
    [anon_sym_GT_EQ] = ACTIONS(3215),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3215),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3215),
    [anon_sym_is] = ACTIONS(3213),
    [anon_sym_PLUS] = ACTIONS(3213),
    [anon_sym_DASH] = ACTIONS(3213),
    [anon_sym_STAR] = ACTIONS(3213),
    [anon_sym_SLASH] = ACTIONS(3213),
    [anon_sym_PERCENT] = ACTIONS(3213),
    [anon_sym_PLUS_PLUS] = ACTIONS(3215),
    [anon_sym_DASH_DASH] = ACTIONS(3215),
    [anon_sym_PIPE] = ACTIONS(3215),
    [anon_sym_CARET] = ACTIONS(3213),
    [anon_sym_LT_LT] = ACTIONS(3215),
    [anon_sym_GT_GT] = ACTIONS(3215),
    [anon_sym_import] = ACTIONS(3213),
    [anon_sym_typealias] = ACTIONS(3213),
    [anon_sym_struct] = ACTIONS(3213),
    [anon_sym_class] = ACTIONS(3213),
    [anon_sym_enum] = ACTIONS(3213),
    [anon_sym_protocol] = ACTIONS(3213),
    [anon_sym_let] = ACTIONS(3213),
    [anon_sym_var] = ACTIONS(3213),
    [anon_sym_func] = ACTIONS(3213),
    [anon_sym_extension] = ACTIONS(3213),
    [anon_sym_indirect] = ACTIONS(3213),
    [anon_sym_SEMI] = ACTIONS(3215),
    [anon_sym_init] = ACTIONS(3213),
    [anon_sym_deinit] = ACTIONS(3213),
    [anon_sym_subscript] = ACTIONS(3213),
    [anon_sym_prefix] = ACTIONS(3213),
    [anon_sym_infix] = ACTIONS(3213),
    [anon_sym_postfix] = ACTIONS(3213),
    [anon_sym_precedencegroup] = ACTIONS(3213),
    [anon_sym_associatedtype] = ACTIONS(3213),
    [anon_sym_AT] = ACTIONS(3213),
    [anon_sym_override] = ACTIONS(3213),
    [anon_sym_convenience] = ACTIONS(3213),
    [anon_sym_required] = ACTIONS(3213),
    [anon_sym_nonisolated] = ACTIONS(3213),
    [anon_sym_public] = ACTIONS(3213),
    [anon_sym_private] = ACTIONS(3213),
    [anon_sym_internal] = ACTIONS(3213),
    [anon_sym_fileprivate] = ACTIONS(3213),
    [anon_sym_open] = ACTIONS(3213),
    [anon_sym_mutating] = ACTIONS(3213),
    [anon_sym_nonmutating] = ACTIONS(3213),
    [anon_sym_static] = ACTIONS(3213),
    [anon_sym_dynamic] = ACTIONS(3213),
    [anon_sym_optional] = ACTIONS(3213),
    [anon_sym_distributed] = ACTIONS(3213),
    [anon_sym_final] = ACTIONS(3213),
    [anon_sym_inout] = ACTIONS(3213),
    [anon_sym_ATescaping] = ACTIONS(3215),
    [anon_sym_ATautoclosure] = ACTIONS(3215),
    [anon_sym_weak] = ACTIONS(3213),
    [anon_sym_unowned] = ACTIONS(3213),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3215),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3215),
    [anon_sym_borrowing] = ACTIONS(3213),
    [anon_sym_consuming] = ACTIONS(3213),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3215),
    [sym__conjunction_operator_custom] = ACTIONS(3215),
    [sym__disjunction_operator_custom] = ACTIONS(3215),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3215),
    [sym__eq_custom] = ACTIONS(3215),
    [sym__eq_eq_custom] = ACTIONS(3215),
    [sym__plus_then_ws] = ACTIONS(3215),
    [sym__minus_then_ws] = ACTIONS(3215),
    [sym__bang_custom] = ACTIONS(3215),
    [sym__as_custom] = ACTIONS(3215),
    [sym__as_quest_custom] = ACTIONS(3215),
    [sym__as_bang_custom] = ACTIONS(3215),
    [sym__custom_operator] = ACTIONS(3215),
  },
  [849] = {
    [anon_sym_BANG] = ACTIONS(3217),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3219),
    [aux_sym_simple_identifier_token2] = ACTIONS(3221),
    [aux_sym_simple_identifier_token3] = ACTIONS(3221),
    [aux_sym_simple_identifier_token4] = ACTIONS(3221),
    [anon_sym_actor] = ACTIONS(3217),
    [anon_sym_async] = ACTIONS(3217),
    [anon_sym_each] = ACTIONS(3219),
    [anon_sym_lazy] = ACTIONS(3217),
    [anon_sym_repeat] = ACTIONS(3219),
    [anon_sym_package] = ACTIONS(3217),
    [anon_sym_COMMA] = ACTIONS(3223),
    [anon_sym_LPAREN] = ACTIONS(3223),
    [anon_sym_LBRACK] = ACTIONS(3223),
    [anon_sym_QMARK] = ACTIONS(3217),
    [anon_sym_QMARK2] = ACTIONS(3223),
    [anon_sym_AMP] = ACTIONS(3223),
    [aux_sym_custom_operator_token1] = ACTIONS(3223),
    [anon_sym_LT] = ACTIONS(3217),
    [anon_sym_GT] = ACTIONS(3217),
    [anon_sym_LBRACE] = ACTIONS(3223),
    [anon_sym_CARET_LBRACE] = ACTIONS(3223),
    [anon_sym_RBRACE] = ACTIONS(3223),
    [anon_sym_case] = ACTIONS(3217),
    [anon_sym_PLUS_EQ] = ACTIONS(3223),
    [anon_sym_DASH_EQ] = ACTIONS(3223),
    [anon_sym_STAR_EQ] = ACTIONS(3223),
    [anon_sym_SLASH_EQ] = ACTIONS(3223),
    [anon_sym_PERCENT_EQ] = ACTIONS(3223),
    [anon_sym_BANG_EQ] = ACTIONS(3217),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3223),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3223),
    [anon_sym_LT_EQ] = ACTIONS(3223),
    [anon_sym_GT_EQ] = ACTIONS(3223),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3223),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3223),
    [anon_sym_is] = ACTIONS(3217),
    [anon_sym_PLUS] = ACTIONS(3217),
    [anon_sym_DASH] = ACTIONS(3217),
    [anon_sym_STAR] = ACTIONS(3217),
    [anon_sym_SLASH] = ACTIONS(3217),
    [anon_sym_PERCENT] = ACTIONS(3217),
    [anon_sym_PLUS_PLUS] = ACTIONS(3223),
    [anon_sym_DASH_DASH] = ACTIONS(3223),
    [anon_sym_PIPE] = ACTIONS(3223),
    [anon_sym_CARET] = ACTIONS(3217),
    [anon_sym_LT_LT] = ACTIONS(3223),
    [anon_sym_GT_GT] = ACTIONS(3223),
    [anon_sym_import] = ACTIONS(3217),
    [anon_sym_typealias] = ACTIONS(3217),
    [anon_sym_struct] = ACTIONS(3217),
    [anon_sym_class] = ACTIONS(3217),
    [anon_sym_enum] = ACTIONS(3217),
    [anon_sym_protocol] = ACTIONS(3217),
    [anon_sym_let] = ACTIONS(3217),
    [anon_sym_var] = ACTIONS(3217),
    [anon_sym_func] = ACTIONS(3217),
    [anon_sym_extension] = ACTIONS(3217),
    [anon_sym_indirect] = ACTIONS(3217),
    [anon_sym_SEMI] = ACTIONS(3223),
    [anon_sym_init] = ACTIONS(3217),
    [anon_sym_deinit] = ACTIONS(3217),
    [anon_sym_subscript] = ACTIONS(3217),
    [anon_sym_prefix] = ACTIONS(3217),
    [anon_sym_infix] = ACTIONS(3217),
    [anon_sym_postfix] = ACTIONS(3217),
    [anon_sym_precedencegroup] = ACTIONS(3217),
    [anon_sym_associatedtype] = ACTIONS(3217),
    [anon_sym_AT] = ACTIONS(3217),
    [anon_sym_override] = ACTIONS(3217),
    [anon_sym_convenience] = ACTIONS(3217),
    [anon_sym_required] = ACTIONS(3217),
    [anon_sym_nonisolated] = ACTIONS(3217),
    [anon_sym_public] = ACTIONS(3217),
    [anon_sym_private] = ACTIONS(3217),
    [anon_sym_internal] = ACTIONS(3217),
    [anon_sym_fileprivate] = ACTIONS(3217),
    [anon_sym_open] = ACTIONS(3217),
    [anon_sym_mutating] = ACTIONS(3217),
    [anon_sym_nonmutating] = ACTIONS(3217),
    [anon_sym_static] = ACTIONS(3217),
    [anon_sym_dynamic] = ACTIONS(3217),
    [anon_sym_optional] = ACTIONS(3217),
    [anon_sym_distributed] = ACTIONS(3217),
    [anon_sym_final] = ACTIONS(3217),
    [anon_sym_inout] = ACTIONS(3217),
    [anon_sym_ATescaping] = ACTIONS(3223),
    [anon_sym_ATautoclosure] = ACTIONS(3223),
    [anon_sym_weak] = ACTIONS(3217),
    [anon_sym_unowned] = ACTIONS(3217),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3223),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3223),
    [anon_sym_borrowing] = ACTIONS(3217),
    [anon_sym_consuming] = ACTIONS(3217),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3223),
    [sym__conjunction_operator_custom] = ACTIONS(3223),
    [sym__disjunction_operator_custom] = ACTIONS(3223),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3223),
    [sym__eq_custom] = ACTIONS(3223),
    [sym__eq_eq_custom] = ACTIONS(3223),
    [sym__plus_then_ws] = ACTIONS(3223),
    [sym__minus_then_ws] = ACTIONS(3223),
    [sym__bang_custom] = ACTIONS(3223),
    [sym__as_custom] = ACTIONS(3223),
    [sym__as_quest_custom] = ACTIONS(3223),
    [sym__as_bang_custom] = ACTIONS(3223),
    [sym__custom_operator] = ACTIONS(3223),
  },
  [850] = {
    [anon_sym_BANG] = ACTIONS(3225),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3225),
    [aux_sym_simple_identifier_token2] = ACTIONS(3227),
    [aux_sym_simple_identifier_token3] = ACTIONS(3227),
    [aux_sym_simple_identifier_token4] = ACTIONS(3227),
    [anon_sym_actor] = ACTIONS(3225),
    [anon_sym_async] = ACTIONS(3225),
    [anon_sym_each] = ACTIONS(3225),
    [anon_sym_lazy] = ACTIONS(3225),
    [anon_sym_repeat] = ACTIONS(3225),
    [anon_sym_package] = ACTIONS(3225),
    [anon_sym_COMMA] = ACTIONS(3227),
    [anon_sym_LPAREN] = ACTIONS(3227),
    [anon_sym_LBRACK] = ACTIONS(3227),
    [anon_sym_QMARK] = ACTIONS(3225),
    [anon_sym_QMARK2] = ACTIONS(3227),
    [anon_sym_AMP] = ACTIONS(3227),
    [aux_sym_custom_operator_token1] = ACTIONS(3227),
    [anon_sym_LT] = ACTIONS(3225),
    [anon_sym_GT] = ACTIONS(3225),
    [anon_sym_LBRACE] = ACTIONS(3227),
    [anon_sym_CARET_LBRACE] = ACTIONS(3227),
    [anon_sym_RBRACE] = ACTIONS(3227),
    [anon_sym_case] = ACTIONS(3225),
    [anon_sym_PLUS_EQ] = ACTIONS(3227),
    [anon_sym_DASH_EQ] = ACTIONS(3227),
    [anon_sym_STAR_EQ] = ACTIONS(3227),
    [anon_sym_SLASH_EQ] = ACTIONS(3227),
    [anon_sym_PERCENT_EQ] = ACTIONS(3227),
    [anon_sym_BANG_EQ] = ACTIONS(3225),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3227),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3227),
    [anon_sym_LT_EQ] = ACTIONS(3227),
    [anon_sym_GT_EQ] = ACTIONS(3227),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3227),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3227),
    [anon_sym_is] = ACTIONS(3225),
    [anon_sym_PLUS] = ACTIONS(3225),
    [anon_sym_DASH] = ACTIONS(3225),
    [anon_sym_STAR] = ACTIONS(3225),
    [anon_sym_SLASH] = ACTIONS(3225),
    [anon_sym_PERCENT] = ACTIONS(3225),
    [anon_sym_PLUS_PLUS] = ACTIONS(3227),
    [anon_sym_DASH_DASH] = ACTIONS(3227),
    [anon_sym_PIPE] = ACTIONS(3227),
    [anon_sym_CARET] = ACTIONS(3225),
    [anon_sym_LT_LT] = ACTIONS(3227),
    [anon_sym_GT_GT] = ACTIONS(3227),
    [anon_sym_import] = ACTIONS(3225),
    [anon_sym_typealias] = ACTIONS(3225),
    [anon_sym_struct] = ACTIONS(3225),
    [anon_sym_class] = ACTIONS(3225),
    [anon_sym_enum] = ACTIONS(3225),
    [anon_sym_protocol] = ACTIONS(3225),
    [anon_sym_let] = ACTIONS(3225),
    [anon_sym_var] = ACTIONS(3225),
    [anon_sym_func] = ACTIONS(3225),
    [anon_sym_extension] = ACTIONS(3225),
    [anon_sym_indirect] = ACTIONS(3225),
    [anon_sym_SEMI] = ACTIONS(3227),
    [anon_sym_init] = ACTIONS(3225),
    [anon_sym_deinit] = ACTIONS(3225),
    [anon_sym_subscript] = ACTIONS(3225),
    [anon_sym_prefix] = ACTIONS(3225),
    [anon_sym_infix] = ACTIONS(3225),
    [anon_sym_postfix] = ACTIONS(3225),
    [anon_sym_precedencegroup] = ACTIONS(3225),
    [anon_sym_associatedtype] = ACTIONS(3225),
    [anon_sym_AT] = ACTIONS(3225),
    [anon_sym_override] = ACTIONS(3225),
    [anon_sym_convenience] = ACTIONS(3225),
    [anon_sym_required] = ACTIONS(3225),
    [anon_sym_nonisolated] = ACTIONS(3225),
    [anon_sym_public] = ACTIONS(3225),
    [anon_sym_private] = ACTIONS(3225),
    [anon_sym_internal] = ACTIONS(3225),
    [anon_sym_fileprivate] = ACTIONS(3225),
    [anon_sym_open] = ACTIONS(3225),
    [anon_sym_mutating] = ACTIONS(3225),
    [anon_sym_nonmutating] = ACTIONS(3225),
    [anon_sym_static] = ACTIONS(3225),
    [anon_sym_dynamic] = ACTIONS(3225),
    [anon_sym_optional] = ACTIONS(3225),
    [anon_sym_distributed] = ACTIONS(3225),
    [anon_sym_final] = ACTIONS(3225),
    [anon_sym_inout] = ACTIONS(3225),
    [anon_sym_ATescaping] = ACTIONS(3227),
    [anon_sym_ATautoclosure] = ACTIONS(3227),
    [anon_sym_weak] = ACTIONS(3225),
    [anon_sym_unowned] = ACTIONS(3225),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3227),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3227),
    [anon_sym_borrowing] = ACTIONS(3225),
    [anon_sym_consuming] = ACTIONS(3225),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3227),
    [sym__conjunction_operator_custom] = ACTIONS(3227),
    [sym__disjunction_operator_custom] = ACTIONS(3227),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3227),
    [sym__eq_custom] = ACTIONS(3227),
    [sym__eq_eq_custom] = ACTIONS(3227),
    [sym__plus_then_ws] = ACTIONS(3227),
    [sym__minus_then_ws] = ACTIONS(3227),
    [sym__bang_custom] = ACTIONS(3227),
    [sym__as_custom] = ACTIONS(3227),
    [sym__as_quest_custom] = ACTIONS(3227),
    [sym__as_bang_custom] = ACTIONS(3227),
    [sym__custom_operator] = ACTIONS(3227),
  },
  [851] = {
    [anon_sym_BANG] = ACTIONS(3219),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3219),
    [aux_sym_simple_identifier_token2] = ACTIONS(3221),
    [aux_sym_simple_identifier_token3] = ACTIONS(3221),
    [aux_sym_simple_identifier_token4] = ACTIONS(3221),
    [anon_sym_actor] = ACTIONS(3219),
    [anon_sym_async] = ACTIONS(3219),
    [anon_sym_each] = ACTIONS(3219),
    [anon_sym_lazy] = ACTIONS(3219),
    [anon_sym_repeat] = ACTIONS(3219),
    [anon_sym_package] = ACTIONS(3219),
    [anon_sym_COMMA] = ACTIONS(3221),
    [anon_sym_LPAREN] = ACTIONS(3221),
    [anon_sym_LBRACK] = ACTIONS(3221),
    [anon_sym_QMARK] = ACTIONS(3219),
    [anon_sym_QMARK2] = ACTIONS(3221),
    [anon_sym_AMP] = ACTIONS(3221),
    [aux_sym_custom_operator_token1] = ACTIONS(3221),
    [anon_sym_LT] = ACTIONS(3219),
    [anon_sym_GT] = ACTIONS(3219),
    [anon_sym_LBRACE] = ACTIONS(3221),
    [anon_sym_CARET_LBRACE] = ACTIONS(3221),
    [anon_sym_RBRACE] = ACTIONS(3221),
    [anon_sym_case] = ACTIONS(3219),
    [anon_sym_PLUS_EQ] = ACTIONS(3221),
    [anon_sym_DASH_EQ] = ACTIONS(3221),
    [anon_sym_STAR_EQ] = ACTIONS(3221),
    [anon_sym_SLASH_EQ] = ACTIONS(3221),
    [anon_sym_PERCENT_EQ] = ACTIONS(3221),
    [anon_sym_BANG_EQ] = ACTIONS(3219),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3221),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3221),
    [anon_sym_LT_EQ] = ACTIONS(3221),
    [anon_sym_GT_EQ] = ACTIONS(3221),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3221),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3221),
    [anon_sym_is] = ACTIONS(3219),
    [anon_sym_PLUS] = ACTIONS(3219),
    [anon_sym_DASH] = ACTIONS(3219),
    [anon_sym_STAR] = ACTIONS(3219),
    [anon_sym_SLASH] = ACTIONS(3219),
    [anon_sym_PERCENT] = ACTIONS(3219),
    [anon_sym_PLUS_PLUS] = ACTIONS(3221),
    [anon_sym_DASH_DASH] = ACTIONS(3221),
    [anon_sym_PIPE] = ACTIONS(3221),
    [anon_sym_CARET] = ACTIONS(3219),
    [anon_sym_LT_LT] = ACTIONS(3221),
    [anon_sym_GT_GT] = ACTIONS(3221),
    [anon_sym_import] = ACTIONS(3219),
    [anon_sym_typealias] = ACTIONS(3219),
    [anon_sym_struct] = ACTIONS(3219),
    [anon_sym_class] = ACTIONS(3219),
    [anon_sym_enum] = ACTIONS(3219),
    [anon_sym_protocol] = ACTIONS(3219),
    [anon_sym_let] = ACTIONS(3219),
    [anon_sym_var] = ACTIONS(3219),
    [anon_sym_func] = ACTIONS(3219),
    [anon_sym_extension] = ACTIONS(3219),
    [anon_sym_indirect] = ACTIONS(3219),
    [anon_sym_SEMI] = ACTIONS(3221),
    [anon_sym_init] = ACTIONS(3219),
    [anon_sym_deinit] = ACTIONS(3219),
    [anon_sym_subscript] = ACTIONS(3219),
    [anon_sym_prefix] = ACTIONS(3219),
    [anon_sym_infix] = ACTIONS(3219),
    [anon_sym_postfix] = ACTIONS(3219),
    [anon_sym_precedencegroup] = ACTIONS(3219),
    [anon_sym_associatedtype] = ACTIONS(3219),
    [anon_sym_AT] = ACTIONS(3219),
    [anon_sym_override] = ACTIONS(3219),
    [anon_sym_convenience] = ACTIONS(3219),
    [anon_sym_required] = ACTIONS(3219),
    [anon_sym_nonisolated] = ACTIONS(3219),
    [anon_sym_public] = ACTIONS(3219),
    [anon_sym_private] = ACTIONS(3219),
    [anon_sym_internal] = ACTIONS(3219),
    [anon_sym_fileprivate] = ACTIONS(3219),
    [anon_sym_open] = ACTIONS(3219),
    [anon_sym_mutating] = ACTIONS(3219),
    [anon_sym_nonmutating] = ACTIONS(3219),
    [anon_sym_static] = ACTIONS(3219),
    [anon_sym_dynamic] = ACTIONS(3219),
    [anon_sym_optional] = ACTIONS(3219),
    [anon_sym_distributed] = ACTIONS(3219),
    [anon_sym_final] = ACTIONS(3219),
    [anon_sym_inout] = ACTIONS(3219),
    [anon_sym_ATescaping] = ACTIONS(3221),
    [anon_sym_ATautoclosure] = ACTIONS(3221),
    [anon_sym_weak] = ACTIONS(3219),
    [anon_sym_unowned] = ACTIONS(3219),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3221),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3221),
    [anon_sym_borrowing] = ACTIONS(3219),
    [anon_sym_consuming] = ACTIONS(3219),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3221),
    [sym__conjunction_operator_custom] = ACTIONS(3221),
    [sym__disjunction_operator_custom] = ACTIONS(3221),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3221),
    [sym__eq_custom] = ACTIONS(3221),
    [sym__eq_eq_custom] = ACTIONS(3221),
    [sym__plus_then_ws] = ACTIONS(3221),
    [sym__minus_then_ws] = ACTIONS(3221),
    [sym__bang_custom] = ACTIONS(3221),
    [sym__as_custom] = ACTIONS(3221),
    [sym__as_quest_custom] = ACTIONS(3221),
    [sym__as_bang_custom] = ACTIONS(3221),
    [sym__custom_operator] = ACTIONS(3221),
  },
  [852] = {
    [anon_sym_BANG] = ACTIONS(3229),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3229),
    [aux_sym_simple_identifier_token2] = ACTIONS(3231),
    [aux_sym_simple_identifier_token3] = ACTIONS(3231),
    [aux_sym_simple_identifier_token4] = ACTIONS(3231),
    [anon_sym_actor] = ACTIONS(3229),
    [anon_sym_async] = ACTIONS(3229),
    [anon_sym_each] = ACTIONS(3229),
    [anon_sym_lazy] = ACTIONS(3229),
    [anon_sym_repeat] = ACTIONS(3229),
    [anon_sym_package] = ACTIONS(3229),
    [anon_sym_COMMA] = ACTIONS(3231),
    [anon_sym_LPAREN] = ACTIONS(3231),
    [anon_sym_LBRACK] = ACTIONS(3231),
    [anon_sym_QMARK] = ACTIONS(3229),
    [anon_sym_QMARK2] = ACTIONS(3231),
    [anon_sym_AMP] = ACTIONS(3231),
    [aux_sym_custom_operator_token1] = ACTIONS(3231),
    [anon_sym_LT] = ACTIONS(3229),
    [anon_sym_GT] = ACTIONS(3229),
    [anon_sym_LBRACE] = ACTIONS(3231),
    [anon_sym_CARET_LBRACE] = ACTIONS(3231),
    [anon_sym_RBRACE] = ACTIONS(3231),
    [anon_sym_case] = ACTIONS(3229),
    [anon_sym_PLUS_EQ] = ACTIONS(3231),
    [anon_sym_DASH_EQ] = ACTIONS(3231),
    [anon_sym_STAR_EQ] = ACTIONS(3231),
    [anon_sym_SLASH_EQ] = ACTIONS(3231),
    [anon_sym_PERCENT_EQ] = ACTIONS(3231),
    [anon_sym_BANG_EQ] = ACTIONS(3229),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3231),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3231),
    [anon_sym_LT_EQ] = ACTIONS(3231),
    [anon_sym_GT_EQ] = ACTIONS(3231),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3231),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3231),
    [anon_sym_is] = ACTIONS(3229),
    [anon_sym_PLUS] = ACTIONS(3229),
    [anon_sym_DASH] = ACTIONS(3229),
    [anon_sym_STAR] = ACTIONS(3229),
    [anon_sym_SLASH] = ACTIONS(3229),
    [anon_sym_PERCENT] = ACTIONS(3229),
    [anon_sym_PLUS_PLUS] = ACTIONS(3231),
    [anon_sym_DASH_DASH] = ACTIONS(3231),
    [anon_sym_PIPE] = ACTIONS(3231),
    [anon_sym_CARET] = ACTIONS(3229),
    [anon_sym_LT_LT] = ACTIONS(3231),
    [anon_sym_GT_GT] = ACTIONS(3231),
    [anon_sym_import] = ACTIONS(3229),
    [anon_sym_typealias] = ACTIONS(3229),
    [anon_sym_struct] = ACTIONS(3229),
    [anon_sym_class] = ACTIONS(3229),
    [anon_sym_enum] = ACTIONS(3229),
    [anon_sym_protocol] = ACTIONS(3229),
    [anon_sym_let] = ACTIONS(3229),
    [anon_sym_var] = ACTIONS(3229),
    [anon_sym_func] = ACTIONS(3229),
    [anon_sym_extension] = ACTIONS(3229),
    [anon_sym_indirect] = ACTIONS(3229),
    [anon_sym_SEMI] = ACTIONS(3231),
    [anon_sym_init] = ACTIONS(3229),
    [anon_sym_deinit] = ACTIONS(3229),
    [anon_sym_subscript] = ACTIONS(3229),
    [anon_sym_prefix] = ACTIONS(3229),
    [anon_sym_infix] = ACTIONS(3229),
    [anon_sym_postfix] = ACTIONS(3229),
    [anon_sym_precedencegroup] = ACTIONS(3229),
    [anon_sym_associatedtype] = ACTIONS(3229),
    [anon_sym_AT] = ACTIONS(3229),
    [anon_sym_override] = ACTIONS(3229),
    [anon_sym_convenience] = ACTIONS(3229),
    [anon_sym_required] = ACTIONS(3229),
    [anon_sym_nonisolated] = ACTIONS(3229),
    [anon_sym_public] = ACTIONS(3229),
    [anon_sym_private] = ACTIONS(3229),
    [anon_sym_internal] = ACTIONS(3229),
    [anon_sym_fileprivate] = ACTIONS(3229),
    [anon_sym_open] = ACTIONS(3229),
    [anon_sym_mutating] = ACTIONS(3229),
    [anon_sym_nonmutating] = ACTIONS(3229),
    [anon_sym_static] = ACTIONS(3229),
    [anon_sym_dynamic] = ACTIONS(3229),
    [anon_sym_optional] = ACTIONS(3229),
    [anon_sym_distributed] = ACTIONS(3229),
    [anon_sym_final] = ACTIONS(3229),
    [anon_sym_inout] = ACTIONS(3229),
    [anon_sym_ATescaping] = ACTIONS(3231),
    [anon_sym_ATautoclosure] = ACTIONS(3231),
    [anon_sym_weak] = ACTIONS(3229),
    [anon_sym_unowned] = ACTIONS(3229),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3231),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3231),
    [anon_sym_borrowing] = ACTIONS(3229),
    [anon_sym_consuming] = ACTIONS(3229),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3231),
    [sym__conjunction_operator_custom] = ACTIONS(3231),
    [sym__disjunction_operator_custom] = ACTIONS(3231),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3231),
    [sym__eq_custom] = ACTIONS(3231),
    [sym__eq_eq_custom] = ACTIONS(3231),
    [sym__plus_then_ws] = ACTIONS(3231),
    [sym__minus_then_ws] = ACTIONS(3231),
    [sym__bang_custom] = ACTIONS(3231),
    [sym__as_custom] = ACTIONS(3231),
    [sym__as_quest_custom] = ACTIONS(3231),
    [sym__as_bang_custom] = ACTIONS(3231),
    [sym__custom_operator] = ACTIONS(3231),
  },
  [853] = {
    [aux_sym_protocol_composition_type_repeat1] = STATE(855),
    [anon_sym_BANG] = ACTIONS(3233),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3235),
    [anon_sym_async] = ACTIONS(3235),
    [anon_sym_lazy] = ACTIONS(3235),
    [anon_sym_package] = ACTIONS(3235),
    [anon_sym_COMMA] = ACTIONS(3235),
    [anon_sym_LPAREN] = ACTIONS(3235),
    [anon_sym_LBRACK] = ACTIONS(3235),
    [anon_sym_DOT] = ACTIONS(3233),
    [anon_sym_QMARK] = ACTIONS(3233),
    [anon_sym_QMARK2] = ACTIONS(3235),
    [anon_sym_AMP] = ACTIONS(3235),
    [aux_sym_custom_operator_token1] = ACTIONS(3235),
    [anon_sym_LT] = ACTIONS(3233),
    [anon_sym_GT] = ACTIONS(3233),
    [anon_sym_LBRACE] = ACTIONS(3235),
    [anon_sym_CARET_LBRACE] = ACTIONS(3235),
    [anon_sym_RBRACE] = ACTIONS(3235),
    [anon_sym_case] = ACTIONS(3235),
    [anon_sym_PLUS_EQ] = ACTIONS(3235),
    [anon_sym_DASH_EQ] = ACTIONS(3235),
    [anon_sym_STAR_EQ] = ACTIONS(3235),
    [anon_sym_SLASH_EQ] = ACTIONS(3235),
    [anon_sym_PERCENT_EQ] = ACTIONS(3235),
    [anon_sym_BANG_EQ] = ACTIONS(3233),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3235),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3235),
    [anon_sym_LT_EQ] = ACTIONS(3235),
    [anon_sym_GT_EQ] = ACTIONS(3235),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3235),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3235),
    [anon_sym_is] = ACTIONS(3235),
    [anon_sym_PLUS] = ACTIONS(3233),
    [anon_sym_DASH] = ACTIONS(3233),
    [anon_sym_STAR] = ACTIONS(3233),
    [anon_sym_SLASH] = ACTIONS(3233),
    [anon_sym_PERCENT] = ACTIONS(3233),
    [anon_sym_PLUS_PLUS] = ACTIONS(3235),
    [anon_sym_DASH_DASH] = ACTIONS(3235),
    [anon_sym_PIPE] = ACTIONS(3235),
    [anon_sym_CARET] = ACTIONS(3233),
    [anon_sym_LT_LT] = ACTIONS(3235),
    [anon_sym_GT_GT] = ACTIONS(3235),
    [anon_sym_import] = ACTIONS(3235),
    [anon_sym_typealias] = ACTIONS(3235),
    [anon_sym_struct] = ACTIONS(3235),
    [anon_sym_class] = ACTIONS(3235),
    [anon_sym_enum] = ACTIONS(3235),
    [anon_sym_protocol] = ACTIONS(3235),
    [anon_sym_let] = ACTIONS(3235),
    [anon_sym_var] = ACTIONS(3235),
    [anon_sym_func] = ACTIONS(3235),
    [anon_sym_extension] = ACTIONS(3235),
    [anon_sym_indirect] = ACTIONS(3235),
    [anon_sym_SEMI] = ACTIONS(3235),
    [anon_sym_init] = ACTIONS(3235),
    [anon_sym_deinit] = ACTIONS(3235),
    [anon_sym_subscript] = ACTIONS(3235),
    [anon_sym_prefix] = ACTIONS(3235),
    [anon_sym_infix] = ACTIONS(3235),
    [anon_sym_postfix] = ACTIONS(3235),
    [anon_sym_precedencegroup] = ACTIONS(3235),
    [anon_sym_associatedtype] = ACTIONS(3235),
    [anon_sym_AT] = ACTIONS(3233),
    [anon_sym_override] = ACTIONS(3235),
    [anon_sym_convenience] = ACTIONS(3235),
    [anon_sym_required] = ACTIONS(3235),
    [anon_sym_nonisolated] = ACTIONS(3235),
    [anon_sym_public] = ACTIONS(3235),
    [anon_sym_private] = ACTIONS(3235),
    [anon_sym_internal] = ACTIONS(3235),
    [anon_sym_fileprivate] = ACTIONS(3235),
    [anon_sym_open] = ACTIONS(3235),
    [anon_sym_mutating] = ACTIONS(3235),
    [anon_sym_nonmutating] = ACTIONS(3235),
    [anon_sym_static] = ACTIONS(3235),
    [anon_sym_dynamic] = ACTIONS(3235),
    [anon_sym_optional] = ACTIONS(3235),
    [anon_sym_distributed] = ACTIONS(3235),
    [anon_sym_final] = ACTIONS(3235),
    [anon_sym_inout] = ACTIONS(3235),
    [anon_sym_ATescaping] = ACTIONS(3235),
    [anon_sym_ATautoclosure] = ACTIONS(3235),
    [anon_sym_weak] = ACTIONS(3235),
    [anon_sym_unowned] = ACTIONS(3233),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3235),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3235),
    [anon_sym_borrowing] = ACTIONS(3235),
    [anon_sym_consuming] = ACTIONS(3235),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3235),
    [sym__dot_custom] = ACTIONS(3235),
    [sym__conjunction_operator_custom] = ACTIONS(3235),
    [sym__disjunction_operator_custom] = ACTIONS(3235),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3235),
    [sym__eq_custom] = ACTIONS(3235),
    [sym__eq_eq_custom] = ACTIONS(3235),
    [sym__plus_then_ws] = ACTIONS(3235),
    [sym__minus_then_ws] = ACTIONS(3235),
    [sym__bang_custom] = ACTIONS(3235),
    [sym__throws_keyword] = ACTIONS(3235),
    [sym__rethrows_keyword] = ACTIONS(3235),
    [sym__as_custom] = ACTIONS(3235),
    [sym__as_quest_custom] = ACTIONS(3235),
    [sym__as_bang_custom] = ACTIONS(3235),
    [sym__async_keyword_custom] = ACTIONS(3235),
    [sym__custom_operator] = ACTIONS(3235),
  },
  [854] = {
    [anon_sym_BANG] = ACTIONS(3237),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3237),
    [aux_sym_simple_identifier_token2] = ACTIONS(3239),
    [aux_sym_simple_identifier_token3] = ACTIONS(3239),
    [aux_sym_simple_identifier_token4] = ACTIONS(3239),
    [anon_sym_actor] = ACTIONS(3237),
    [anon_sym_async] = ACTIONS(3237),
    [anon_sym_each] = ACTIONS(3237),
    [anon_sym_lazy] = ACTIONS(3237),
    [anon_sym_repeat] = ACTIONS(3237),
    [anon_sym_package] = ACTIONS(3237),
    [anon_sym_COMMA] = ACTIONS(3239),
    [anon_sym_LPAREN] = ACTIONS(3239),
    [anon_sym_LBRACK] = ACTIONS(3239),
    [anon_sym_QMARK] = ACTIONS(3237),
    [anon_sym_QMARK2] = ACTIONS(3239),
    [anon_sym_AMP] = ACTIONS(3239),
    [aux_sym_custom_operator_token1] = ACTIONS(3239),
    [anon_sym_LT] = ACTIONS(3237),
    [anon_sym_GT] = ACTIONS(3237),
    [anon_sym_LBRACE] = ACTIONS(3239),
    [anon_sym_CARET_LBRACE] = ACTIONS(3239),
    [anon_sym_RBRACE] = ACTIONS(3239),
    [anon_sym_case] = ACTIONS(3237),
    [anon_sym_PLUS_EQ] = ACTIONS(3239),
    [anon_sym_DASH_EQ] = ACTIONS(3239),
    [anon_sym_STAR_EQ] = ACTIONS(3239),
    [anon_sym_SLASH_EQ] = ACTIONS(3239),
    [anon_sym_PERCENT_EQ] = ACTIONS(3239),
    [anon_sym_BANG_EQ] = ACTIONS(3237),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3239),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3239),
    [anon_sym_LT_EQ] = ACTIONS(3239),
    [anon_sym_GT_EQ] = ACTIONS(3239),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3239),
    [anon_sym_is] = ACTIONS(3237),
    [anon_sym_PLUS] = ACTIONS(3237),
    [anon_sym_DASH] = ACTIONS(3237),
    [anon_sym_STAR] = ACTIONS(3237),
    [anon_sym_SLASH] = ACTIONS(3237),
    [anon_sym_PERCENT] = ACTIONS(3237),
    [anon_sym_PLUS_PLUS] = ACTIONS(3239),
    [anon_sym_DASH_DASH] = ACTIONS(3239),
    [anon_sym_PIPE] = ACTIONS(3239),
    [anon_sym_CARET] = ACTIONS(3237),
    [anon_sym_LT_LT] = ACTIONS(3239),
    [anon_sym_GT_GT] = ACTIONS(3239),
    [anon_sym_import] = ACTIONS(3237),
    [anon_sym_typealias] = ACTIONS(3237),
    [anon_sym_struct] = ACTIONS(3237),
    [anon_sym_class] = ACTIONS(3237),
    [anon_sym_enum] = ACTIONS(3237),
    [anon_sym_protocol] = ACTIONS(3237),
    [anon_sym_let] = ACTIONS(3237),
    [anon_sym_var] = ACTIONS(3237),
    [anon_sym_func] = ACTIONS(3237),
    [anon_sym_extension] = ACTIONS(3237),
    [anon_sym_indirect] = ACTIONS(3237),
    [anon_sym_SEMI] = ACTIONS(3239),
    [anon_sym_init] = ACTIONS(3237),
    [anon_sym_deinit] = ACTIONS(3237),
    [anon_sym_subscript] = ACTIONS(3237),
    [anon_sym_prefix] = ACTIONS(3237),
    [anon_sym_infix] = ACTIONS(3237),
    [anon_sym_postfix] = ACTIONS(3237),
    [anon_sym_precedencegroup] = ACTIONS(3237),
    [anon_sym_associatedtype] = ACTIONS(3237),
    [anon_sym_AT] = ACTIONS(3237),
    [anon_sym_override] = ACTIONS(3237),
    [anon_sym_convenience] = ACTIONS(3237),
    [anon_sym_required] = ACTIONS(3237),
    [anon_sym_nonisolated] = ACTIONS(3237),
    [anon_sym_public] = ACTIONS(3237),
    [anon_sym_private] = ACTIONS(3237),
    [anon_sym_internal] = ACTIONS(3237),
    [anon_sym_fileprivate] = ACTIONS(3237),
    [anon_sym_open] = ACTIONS(3237),
    [anon_sym_mutating] = ACTIONS(3237),
    [anon_sym_nonmutating] = ACTIONS(3237),
    [anon_sym_static] = ACTIONS(3237),
    [anon_sym_dynamic] = ACTIONS(3237),
    [anon_sym_optional] = ACTIONS(3237),
    [anon_sym_distributed] = ACTIONS(3237),
    [anon_sym_final] = ACTIONS(3237),
    [anon_sym_inout] = ACTIONS(3237),
    [anon_sym_ATescaping] = ACTIONS(3239),
    [anon_sym_ATautoclosure] = ACTIONS(3239),
    [anon_sym_weak] = ACTIONS(3237),
    [anon_sym_unowned] = ACTIONS(3237),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3239),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3239),
    [anon_sym_borrowing] = ACTIONS(3237),
    [anon_sym_consuming] = ACTIONS(3237),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3239),
    [sym__conjunction_operator_custom] = ACTIONS(3239),
    [sym__disjunction_operator_custom] = ACTIONS(3239),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3239),
    [sym__eq_custom] = ACTIONS(3239),
    [sym__eq_eq_custom] = ACTIONS(3239),
    [sym__plus_then_ws] = ACTIONS(3239),
    [sym__minus_then_ws] = ACTIONS(3239),
    [sym__bang_custom] = ACTIONS(3239),
    [sym__as_custom] = ACTIONS(3239),
    [sym__as_quest_custom] = ACTIONS(3239),
    [sym__as_bang_custom] = ACTIONS(3239),
    [sym__custom_operator] = ACTIONS(3239),
  },
  [855] = {
    [aux_sym_protocol_composition_type_repeat1] = STATE(855),
    [anon_sym_BANG] = ACTIONS(3077),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3079),
    [anon_sym_async] = ACTIONS(3079),
    [anon_sym_lazy] = ACTIONS(3079),
    [anon_sym_package] = ACTIONS(3079),
    [anon_sym_COMMA] = ACTIONS(3079),
    [anon_sym_LPAREN] = ACTIONS(3079),
    [anon_sym_LBRACK] = ACTIONS(3079),
    [anon_sym_DOT] = ACTIONS(3077),
    [anon_sym_QMARK] = ACTIONS(3077),
    [anon_sym_QMARK2] = ACTIONS(3079),
    [anon_sym_AMP] = ACTIONS(3241),
    [aux_sym_custom_operator_token1] = ACTIONS(3079),
    [anon_sym_LT] = ACTIONS(3077),
    [anon_sym_GT] = ACTIONS(3077),
    [anon_sym_LBRACE] = ACTIONS(3079),
    [anon_sym_CARET_LBRACE] = ACTIONS(3079),
    [anon_sym_RBRACE] = ACTIONS(3079),
    [anon_sym_case] = ACTIONS(3079),
    [anon_sym_PLUS_EQ] = ACTIONS(3079),
    [anon_sym_DASH_EQ] = ACTIONS(3079),
    [anon_sym_STAR_EQ] = ACTIONS(3079),
    [anon_sym_SLASH_EQ] = ACTIONS(3079),
    [anon_sym_PERCENT_EQ] = ACTIONS(3079),
    [anon_sym_BANG_EQ] = ACTIONS(3077),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3079),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3079),
    [anon_sym_LT_EQ] = ACTIONS(3079),
    [anon_sym_GT_EQ] = ACTIONS(3079),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3079),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3079),
    [anon_sym_is] = ACTIONS(3079),
    [anon_sym_PLUS] = ACTIONS(3077),
    [anon_sym_DASH] = ACTIONS(3077),
    [anon_sym_STAR] = ACTIONS(3077),
    [anon_sym_SLASH] = ACTIONS(3077),
    [anon_sym_PERCENT] = ACTIONS(3077),
    [anon_sym_PLUS_PLUS] = ACTIONS(3079),
    [anon_sym_DASH_DASH] = ACTIONS(3079),
    [anon_sym_PIPE] = ACTIONS(3079),
    [anon_sym_CARET] = ACTIONS(3077),
    [anon_sym_LT_LT] = ACTIONS(3079),
    [anon_sym_GT_GT] = ACTIONS(3079),
    [anon_sym_import] = ACTIONS(3079),
    [anon_sym_typealias] = ACTIONS(3079),
    [anon_sym_struct] = ACTIONS(3079),
    [anon_sym_class] = ACTIONS(3079),
    [anon_sym_enum] = ACTIONS(3079),
    [anon_sym_protocol] = ACTIONS(3079),
    [anon_sym_let] = ACTIONS(3079),
    [anon_sym_var] = ACTIONS(3079),
    [anon_sym_func] = ACTIONS(3079),
    [anon_sym_extension] = ACTIONS(3079),
    [anon_sym_indirect] = ACTIONS(3079),
    [anon_sym_SEMI] = ACTIONS(3079),
    [anon_sym_init] = ACTIONS(3079),
    [anon_sym_deinit] = ACTIONS(3079),
    [anon_sym_subscript] = ACTIONS(3079),
    [anon_sym_prefix] = ACTIONS(3079),
    [anon_sym_infix] = ACTIONS(3079),
    [anon_sym_postfix] = ACTIONS(3079),
    [anon_sym_precedencegroup] = ACTIONS(3079),
    [anon_sym_associatedtype] = ACTIONS(3079),
    [anon_sym_AT] = ACTIONS(3077),
    [anon_sym_override] = ACTIONS(3079),
    [anon_sym_convenience] = ACTIONS(3079),
    [anon_sym_required] = ACTIONS(3079),
    [anon_sym_nonisolated] = ACTIONS(3079),
    [anon_sym_public] = ACTIONS(3079),
    [anon_sym_private] = ACTIONS(3079),
    [anon_sym_internal] = ACTIONS(3079),
    [anon_sym_fileprivate] = ACTIONS(3079),
    [anon_sym_open] = ACTIONS(3079),
    [anon_sym_mutating] = ACTIONS(3079),
    [anon_sym_nonmutating] = ACTIONS(3079),
    [anon_sym_static] = ACTIONS(3079),
    [anon_sym_dynamic] = ACTIONS(3079),
    [anon_sym_optional] = ACTIONS(3079),
    [anon_sym_distributed] = ACTIONS(3079),
    [anon_sym_final] = ACTIONS(3079),
    [anon_sym_inout] = ACTIONS(3079),
    [anon_sym_ATescaping] = ACTIONS(3079),
    [anon_sym_ATautoclosure] = ACTIONS(3079),
    [anon_sym_weak] = ACTIONS(3079),
    [anon_sym_unowned] = ACTIONS(3077),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3079),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3079),
    [anon_sym_borrowing] = ACTIONS(3079),
    [anon_sym_consuming] = ACTIONS(3079),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3079),
    [sym__dot_custom] = ACTIONS(3079),
    [sym__conjunction_operator_custom] = ACTIONS(3079),
    [sym__disjunction_operator_custom] = ACTIONS(3079),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3079),
    [sym__eq_custom] = ACTIONS(3079),
    [sym__eq_eq_custom] = ACTIONS(3079),
    [sym__plus_then_ws] = ACTIONS(3079),
    [sym__minus_then_ws] = ACTIONS(3079),
    [sym__bang_custom] = ACTIONS(3079),
    [sym__throws_keyword] = ACTIONS(3079),
    [sym__rethrows_keyword] = ACTIONS(3079),
    [sym__as_custom] = ACTIONS(3079),
    [sym__as_quest_custom] = ACTIONS(3079),
    [sym__as_bang_custom] = ACTIONS(3079),
    [sym__async_keyword_custom] = ACTIONS(3079),
    [sym__custom_operator] = ACTIONS(3079),
  },
  [856] = {
    [aux_sym_key_path_expression_repeat1] = STATE(862),
    [anon_sym_BANG] = ACTIONS(3244),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3246),
    [anon_sym_async] = ACTIONS(3246),
    [anon_sym_lazy] = ACTIONS(3246),
    [anon_sym_package] = ACTIONS(3246),
    [anon_sym_RPAREN] = ACTIONS(3246),
    [anon_sym_COMMA] = ACTIONS(3246),
    [anon_sym_COLON] = ACTIONS(3246),
    [anon_sym_LPAREN] = ACTIONS(3246),
    [anon_sym_LBRACK] = ACTIONS(3246),
    [anon_sym_RBRACK] = ACTIONS(3246),
    [anon_sym_DOT] = ACTIONS(2967),
    [anon_sym_QMARK] = ACTIONS(3244),
    [anon_sym_QMARK2] = ACTIONS(3246),
    [anon_sym_AMP] = ACTIONS(3246),
    [aux_sym_custom_operator_token1] = ACTIONS(3246),
    [anon_sym_LT] = ACTIONS(3244),
    [anon_sym_GT] = ACTIONS(3244),
    [anon_sym_LBRACE] = ACTIONS(3246),
    [anon_sym_CARET_LBRACE] = ACTIONS(3246),
    [anon_sym_RBRACE] = ACTIONS(3246),
    [anon_sym_case] = ACTIONS(3246),
    [anon_sym_PLUS_EQ] = ACTIONS(3246),
    [anon_sym_DASH_EQ] = ACTIONS(3246),
    [anon_sym_STAR_EQ] = ACTIONS(3246),
    [anon_sym_SLASH_EQ] = ACTIONS(3246),
    [anon_sym_PERCENT_EQ] = ACTIONS(3246),
    [anon_sym_BANG_EQ] = ACTIONS(3244),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3246),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3246),
    [anon_sym_LT_EQ] = ACTIONS(3246),
    [anon_sym_GT_EQ] = ACTIONS(3246),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3246),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3246),
    [anon_sym_is] = ACTIONS(3246),
    [anon_sym_PLUS] = ACTIONS(3244),
    [anon_sym_DASH] = ACTIONS(3244),
    [anon_sym_STAR] = ACTIONS(3244),
    [anon_sym_SLASH] = ACTIONS(3244),
    [anon_sym_PERCENT] = ACTIONS(3244),
    [anon_sym_PLUS_PLUS] = ACTIONS(3246),
    [anon_sym_DASH_DASH] = ACTIONS(3246),
    [anon_sym_PIPE] = ACTIONS(3246),
    [anon_sym_CARET] = ACTIONS(3244),
    [anon_sym_LT_LT] = ACTIONS(3246),
    [anon_sym_GT_GT] = ACTIONS(3246),
    [anon_sym_import] = ACTIONS(3246),
    [anon_sym_typealias] = ACTIONS(3246),
    [anon_sym_struct] = ACTIONS(3246),
    [anon_sym_class] = ACTIONS(3246),
    [anon_sym_enum] = ACTIONS(3246),
    [anon_sym_protocol] = ACTIONS(3246),
    [anon_sym_let] = ACTIONS(3246),
    [anon_sym_var] = ACTIONS(3246),
    [anon_sym_func] = ACTIONS(3246),
    [anon_sym_extension] = ACTIONS(3246),
    [anon_sym_indirect] = ACTIONS(3246),
    [anon_sym_SEMI] = ACTIONS(3246),
    [anon_sym_init] = ACTIONS(3246),
    [anon_sym_deinit] = ACTIONS(3246),
    [anon_sym_subscript] = ACTIONS(3246),
    [anon_sym_prefix] = ACTIONS(3246),
    [anon_sym_infix] = ACTIONS(3246),
    [anon_sym_postfix] = ACTIONS(3246),
    [anon_sym_precedencegroup] = ACTIONS(3246),
    [anon_sym_associatedtype] = ACTIONS(3246),
    [anon_sym_AT] = ACTIONS(3244),
    [anon_sym_override] = ACTIONS(3246),
    [anon_sym_convenience] = ACTIONS(3246),
    [anon_sym_required] = ACTIONS(3246),
    [anon_sym_nonisolated] = ACTIONS(3246),
    [anon_sym_public] = ACTIONS(3246),
    [anon_sym_private] = ACTIONS(3246),
    [anon_sym_internal] = ACTIONS(3246),
    [anon_sym_fileprivate] = ACTIONS(3246),
    [anon_sym_open] = ACTIONS(3246),
    [anon_sym_mutating] = ACTIONS(3246),
    [anon_sym_nonmutating] = ACTIONS(3246),
    [anon_sym_static] = ACTIONS(3246),
    [anon_sym_dynamic] = ACTIONS(3246),
    [anon_sym_optional] = ACTIONS(3246),
    [anon_sym_distributed] = ACTIONS(3246),
    [anon_sym_final] = ACTIONS(3246),
    [anon_sym_inout] = ACTIONS(3246),
    [anon_sym_ATescaping] = ACTIONS(3246),
    [anon_sym_ATautoclosure] = ACTIONS(3246),
    [anon_sym_weak] = ACTIONS(3246),
    [anon_sym_unowned] = ACTIONS(3244),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3246),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3246),
    [anon_sym_borrowing] = ACTIONS(3246),
    [anon_sym_consuming] = ACTIONS(3246),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3246),
    [sym__conjunction_operator_custom] = ACTIONS(3246),
    [sym__disjunction_operator_custom] = ACTIONS(3246),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3246),
    [sym__eq_custom] = ACTIONS(3246),
    [sym__eq_eq_custom] = ACTIONS(3246),
    [sym__plus_then_ws] = ACTIONS(3246),
    [sym__minus_then_ws] = ACTIONS(3246),
    [sym__bang_custom] = ACTIONS(3246),
    [sym__as_custom] = ACTIONS(3246),
    [sym__as_quest_custom] = ACTIONS(3246),
    [sym__as_bang_custom] = ACTIONS(3246),
    [sym__custom_operator] = ACTIONS(3246),
  },
  [857] = {
    [anon_sym_BANG] = ACTIONS(3248),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3250),
    [anon_sym_async] = ACTIONS(3250),
    [anon_sym_lazy] = ACTIONS(3250),
    [anon_sym_package] = ACTIONS(3250),
    [anon_sym_RPAREN] = ACTIONS(3250),
    [anon_sym_COMMA] = ACTIONS(3250),
    [anon_sym_COLON] = ACTIONS(3250),
    [anon_sym_LPAREN] = ACTIONS(3250),
    [anon_sym_LBRACK] = ACTIONS(3250),
    [anon_sym_RBRACK] = ACTIONS(3250),
    [anon_sym_DOT] = ACTIONS(3248),
    [anon_sym_QMARK] = ACTIONS(3248),
    [anon_sym_QMARK2] = ACTIONS(3250),
    [anon_sym_AMP] = ACTIONS(3250),
    [aux_sym_custom_operator_token1] = ACTIONS(3250),
    [anon_sym_LT] = ACTIONS(3248),
    [anon_sym_GT] = ACTIONS(3248),
    [anon_sym_LBRACE] = ACTIONS(3250),
    [anon_sym_CARET_LBRACE] = ACTIONS(3250),
    [anon_sym_RBRACE] = ACTIONS(3250),
    [anon_sym_self] = ACTIONS(3250),
    [anon_sym_case] = ACTIONS(3250),
    [anon_sym_PLUS_EQ] = ACTIONS(3250),
    [anon_sym_DASH_EQ] = ACTIONS(3250),
    [anon_sym_STAR_EQ] = ACTIONS(3250),
    [anon_sym_SLASH_EQ] = ACTIONS(3250),
    [anon_sym_PERCENT_EQ] = ACTIONS(3250),
    [anon_sym_BANG_EQ] = ACTIONS(3248),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3250),
    [anon_sym_LT_EQ] = ACTIONS(3250),
    [anon_sym_GT_EQ] = ACTIONS(3250),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3250),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3250),
    [anon_sym_is] = ACTIONS(3250),
    [anon_sym_PLUS] = ACTIONS(3248),
    [anon_sym_DASH] = ACTIONS(3248),
    [anon_sym_STAR] = ACTIONS(3248),
    [anon_sym_SLASH] = ACTIONS(3248),
    [anon_sym_PERCENT] = ACTIONS(3248),
    [anon_sym_PLUS_PLUS] = ACTIONS(3250),
    [anon_sym_DASH_DASH] = ACTIONS(3250),
    [anon_sym_PIPE] = ACTIONS(3250),
    [anon_sym_CARET] = ACTIONS(3248),
    [anon_sym_LT_LT] = ACTIONS(3250),
    [anon_sym_GT_GT] = ACTIONS(3250),
    [anon_sym_import] = ACTIONS(3250),
    [anon_sym_typealias] = ACTIONS(3250),
    [anon_sym_struct] = ACTIONS(3250),
    [anon_sym_class] = ACTIONS(3250),
    [anon_sym_enum] = ACTIONS(3250),
    [anon_sym_protocol] = ACTIONS(3250),
    [anon_sym_let] = ACTIONS(3250),
    [anon_sym_var] = ACTIONS(3250),
    [anon_sym_func] = ACTIONS(3250),
    [anon_sym_extension] = ACTIONS(3250),
    [anon_sym_indirect] = ACTIONS(3250),
    [anon_sym_SEMI] = ACTIONS(3250),
    [anon_sym_init] = ACTIONS(3250),
    [anon_sym_deinit] = ACTIONS(3250),
    [anon_sym_subscript] = ACTIONS(3250),
    [anon_sym_prefix] = ACTIONS(3250),
    [anon_sym_infix] = ACTIONS(3250),
    [anon_sym_postfix] = ACTIONS(3250),
    [anon_sym_precedencegroup] = ACTIONS(3250),
    [anon_sym_associatedtype] = ACTIONS(3250),
    [anon_sym_AT] = ACTIONS(3248),
    [anon_sym_override] = ACTIONS(3250),
    [anon_sym_convenience] = ACTIONS(3250),
    [anon_sym_required] = ACTIONS(3250),
    [anon_sym_nonisolated] = ACTIONS(3250),
    [anon_sym_public] = ACTIONS(3250),
    [anon_sym_private] = ACTIONS(3250),
    [anon_sym_internal] = ACTIONS(3250),
    [anon_sym_fileprivate] = ACTIONS(3250),
    [anon_sym_open] = ACTIONS(3250),
    [anon_sym_mutating] = ACTIONS(3250),
    [anon_sym_nonmutating] = ACTIONS(3250),
    [anon_sym_static] = ACTIONS(3250),
    [anon_sym_dynamic] = ACTIONS(3250),
    [anon_sym_optional] = ACTIONS(3250),
    [anon_sym_distributed] = ACTIONS(3250),
    [anon_sym_final] = ACTIONS(3250),
    [anon_sym_inout] = ACTIONS(3250),
    [anon_sym_ATescaping] = ACTIONS(3250),
    [anon_sym_ATautoclosure] = ACTIONS(3250),
    [anon_sym_weak] = ACTIONS(3250),
    [anon_sym_unowned] = ACTIONS(3248),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3250),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3250),
    [anon_sym_borrowing] = ACTIONS(3250),
    [anon_sym_consuming] = ACTIONS(3250),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3250),
    [sym__conjunction_operator_custom] = ACTIONS(3250),
    [sym__disjunction_operator_custom] = ACTIONS(3250),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3250),
    [sym__eq_custom] = ACTIONS(3250),
    [sym__eq_eq_custom] = ACTIONS(3250),
    [sym__plus_then_ws] = ACTIONS(3250),
    [sym__minus_then_ws] = ACTIONS(3250),
    [sym__bang_custom] = ACTIONS(3250),
    [sym__as_custom] = ACTIONS(3250),
    [sym__as_quest_custom] = ACTIONS(3250),
    [sym__as_bang_custom] = ACTIONS(3250),
    [sym__custom_operator] = ACTIONS(3250),
  },
  [858] = {
    [sym__conjunction_operator] = STATE(4890),
    [sym__disjunction_operator] = STATE(4890),
    [anon_sym_BANG] = ACTIONS(3252),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3254),
    [anon_sym_async] = ACTIONS(3254),
    [anon_sym_lazy] = ACTIONS(3254),
    [anon_sym_package] = ACTIONS(3254),
    [anon_sym_RPAREN] = ACTIONS(3254),
    [anon_sym_COMMA] = ACTIONS(3254),
    [anon_sym_COLON] = ACTIONS(3254),
    [anon_sym_LPAREN] = ACTIONS(3254),
    [anon_sym_LBRACK] = ACTIONS(3254),
    [anon_sym_RBRACK] = ACTIONS(3254),
    [anon_sym_QMARK] = ACTIONS(3252),
    [anon_sym_QMARK2] = ACTIONS(3254),
    [anon_sym_AMP] = ACTIONS(3254),
    [aux_sym_custom_operator_token1] = ACTIONS(3254),
    [anon_sym_LT] = ACTIONS(3252),
    [anon_sym_GT] = ACTIONS(3252),
    [anon_sym_LBRACE] = ACTIONS(3254),
    [anon_sym_CARET_LBRACE] = ACTIONS(3254),
    [anon_sym_RBRACE] = ACTIONS(3254),
    [anon_sym_case] = ACTIONS(3254),
    [anon_sym_PLUS_EQ] = ACTIONS(3254),
    [anon_sym_DASH_EQ] = ACTIONS(3254),
    [anon_sym_STAR_EQ] = ACTIONS(3254),
    [anon_sym_SLASH_EQ] = ACTIONS(3254),
    [anon_sym_PERCENT_EQ] = ACTIONS(3254),
    [anon_sym_BANG_EQ] = ACTIONS(3252),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3254),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3254),
    [anon_sym_LT_EQ] = ACTIONS(3254),
    [anon_sym_GT_EQ] = ACTIONS(3254),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3254),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3254),
    [anon_sym_is] = ACTIONS(3254),
    [anon_sym_PLUS] = ACTIONS(3252),
    [anon_sym_DASH] = ACTIONS(3252),
    [anon_sym_STAR] = ACTIONS(3252),
    [anon_sym_SLASH] = ACTIONS(3252),
    [anon_sym_PERCENT] = ACTIONS(3252),
    [anon_sym_PLUS_PLUS] = ACTIONS(3254),
    [anon_sym_DASH_DASH] = ACTIONS(3254),
    [anon_sym_PIPE] = ACTIONS(3254),
    [anon_sym_CARET] = ACTIONS(3252),
    [anon_sym_LT_LT] = ACTIONS(3254),
    [anon_sym_GT_GT] = ACTIONS(3254),
    [anon_sym_import] = ACTIONS(3254),
    [anon_sym_typealias] = ACTIONS(3254),
    [anon_sym_struct] = ACTIONS(3254),
    [anon_sym_class] = ACTIONS(3254),
    [anon_sym_enum] = ACTIONS(3254),
    [anon_sym_protocol] = ACTIONS(3254),
    [anon_sym_let] = ACTIONS(3254),
    [anon_sym_var] = ACTIONS(3254),
    [anon_sym_func] = ACTIONS(3254),
    [anon_sym_extension] = ACTIONS(3254),
    [anon_sym_indirect] = ACTIONS(3254),
    [anon_sym_SEMI] = ACTIONS(3254),
    [anon_sym_init] = ACTIONS(3254),
    [anon_sym_deinit] = ACTIONS(3254),
    [anon_sym_subscript] = ACTIONS(3254),
    [anon_sym_prefix] = ACTIONS(3254),
    [anon_sym_infix] = ACTIONS(3254),
    [anon_sym_postfix] = ACTIONS(3254),
    [anon_sym_precedencegroup] = ACTIONS(3254),
    [anon_sym_associatedtype] = ACTIONS(3254),
    [anon_sym_AT] = ACTIONS(3252),
    [anon_sym_override] = ACTIONS(3254),
    [anon_sym_convenience] = ACTIONS(3254),
    [anon_sym_required] = ACTIONS(3254),
    [anon_sym_nonisolated] = ACTIONS(3254),
    [anon_sym_public] = ACTIONS(3254),
    [anon_sym_private] = ACTIONS(3254),
    [anon_sym_internal] = ACTIONS(3254),
    [anon_sym_fileprivate] = ACTIONS(3254),
    [anon_sym_open] = ACTIONS(3254),
    [anon_sym_mutating] = ACTIONS(3254),
    [anon_sym_nonmutating] = ACTIONS(3254),
    [anon_sym_static] = ACTIONS(3254),
    [anon_sym_dynamic] = ACTIONS(3254),
    [anon_sym_optional] = ACTIONS(3254),
    [anon_sym_distributed] = ACTIONS(3254),
    [anon_sym_final] = ACTIONS(3254),
    [anon_sym_inout] = ACTIONS(3254),
    [anon_sym_ATescaping] = ACTIONS(3254),
    [anon_sym_ATautoclosure] = ACTIONS(3254),
    [anon_sym_weak] = ACTIONS(3254),
    [anon_sym_unowned] = ACTIONS(3252),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3254),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3254),
    [anon_sym_borrowing] = ACTIONS(3254),
    [anon_sym_consuming] = ACTIONS(3254),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3254),
    [sym__conjunction_operator_custom] = ACTIONS(3256),
    [sym__disjunction_operator_custom] = ACTIONS(3256),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3254),
    [sym__eq_custom] = ACTIONS(3254),
    [sym__eq_eq_custom] = ACTIONS(3254),
    [sym__plus_then_ws] = ACTIONS(3254),
    [sym__minus_then_ws] = ACTIONS(3254),
    [sym__bang_custom] = ACTIONS(3254),
    [sym__as_custom] = ACTIONS(3254),
    [sym__as_quest_custom] = ACTIONS(3254),
    [sym__as_bang_custom] = ACTIONS(3254),
    [sym__custom_operator] = ACTIONS(3254),
  },
  [859] = {
    [sym_type_arguments] = STATE(870),
    [anon_sym_BANG] = ACTIONS(3081),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3083),
    [anon_sym_async] = ACTIONS(3083),
    [anon_sym_lazy] = ACTIONS(3083),
    [anon_sym_package] = ACTIONS(3083),
    [anon_sym_RPAREN] = ACTIONS(3083),
    [anon_sym_COMMA] = ACTIONS(3083),
    [anon_sym_COLON] = ACTIONS(3083),
    [anon_sym_LPAREN] = ACTIONS(3083),
    [anon_sym_LBRACK] = ACTIONS(3083),
    [anon_sym_RBRACK] = ACTIONS(3083),
    [anon_sym_DOT] = ACTIONS(3081),
    [anon_sym_QMARK] = ACTIONS(3081),
    [anon_sym_QMARK2] = ACTIONS(3083),
    [anon_sym_AMP] = ACTIONS(3083),
    [aux_sym_custom_operator_token1] = ACTIONS(3083),
    [anon_sym_LT] = ACTIONS(3258),
    [anon_sym_GT] = ACTIONS(3081),
    [anon_sym_LBRACE] = ACTIONS(3083),
    [anon_sym_CARET_LBRACE] = ACTIONS(3083),
    [anon_sym_RBRACE] = ACTIONS(3083),
    [anon_sym_case] = ACTIONS(3083),
    [anon_sym_PLUS_EQ] = ACTIONS(3083),
    [anon_sym_DASH_EQ] = ACTIONS(3083),
    [anon_sym_STAR_EQ] = ACTIONS(3083),
    [anon_sym_SLASH_EQ] = ACTIONS(3083),
    [anon_sym_PERCENT_EQ] = ACTIONS(3083),
    [anon_sym_BANG_EQ] = ACTIONS(3081),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3083),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3083),
    [anon_sym_LT_EQ] = ACTIONS(3083),
    [anon_sym_GT_EQ] = ACTIONS(3083),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3083),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3083),
    [anon_sym_is] = ACTIONS(3083),
    [anon_sym_PLUS] = ACTIONS(3081),
    [anon_sym_DASH] = ACTIONS(3081),
    [anon_sym_STAR] = ACTIONS(3081),
    [anon_sym_SLASH] = ACTIONS(3081),
    [anon_sym_PERCENT] = ACTIONS(3081),
    [anon_sym_PLUS_PLUS] = ACTIONS(3083),
    [anon_sym_DASH_DASH] = ACTIONS(3083),
    [anon_sym_PIPE] = ACTIONS(3083),
    [anon_sym_CARET] = ACTIONS(3081),
    [anon_sym_LT_LT] = ACTIONS(3083),
    [anon_sym_GT_GT] = ACTIONS(3083),
    [anon_sym_import] = ACTIONS(3083),
    [anon_sym_typealias] = ACTIONS(3083),
    [anon_sym_struct] = ACTIONS(3083),
    [anon_sym_class] = ACTIONS(3083),
    [anon_sym_enum] = ACTIONS(3083),
    [anon_sym_protocol] = ACTIONS(3083),
    [anon_sym_let] = ACTIONS(3083),
    [anon_sym_var] = ACTIONS(3083),
    [anon_sym_func] = ACTIONS(3083),
    [anon_sym_extension] = ACTIONS(3083),
    [anon_sym_indirect] = ACTIONS(3083),
    [anon_sym_SEMI] = ACTIONS(3083),
    [anon_sym_init] = ACTIONS(3083),
    [anon_sym_deinit] = ACTIONS(3083),
    [anon_sym_subscript] = ACTIONS(3083),
    [anon_sym_prefix] = ACTIONS(3083),
    [anon_sym_infix] = ACTIONS(3083),
    [anon_sym_postfix] = ACTIONS(3083),
    [anon_sym_precedencegroup] = ACTIONS(3083),
    [anon_sym_associatedtype] = ACTIONS(3083),
    [anon_sym_AT] = ACTIONS(3081),
    [anon_sym_override] = ACTIONS(3083),
    [anon_sym_convenience] = ACTIONS(3083),
    [anon_sym_required] = ACTIONS(3083),
    [anon_sym_nonisolated] = ACTIONS(3083),
    [anon_sym_public] = ACTIONS(3083),
    [anon_sym_private] = ACTIONS(3083),
    [anon_sym_internal] = ACTIONS(3083),
    [anon_sym_fileprivate] = ACTIONS(3083),
    [anon_sym_open] = ACTIONS(3083),
    [anon_sym_mutating] = ACTIONS(3083),
    [anon_sym_nonmutating] = ACTIONS(3083),
    [anon_sym_static] = ACTIONS(3083),
    [anon_sym_dynamic] = ACTIONS(3083),
    [anon_sym_optional] = ACTIONS(3083),
    [anon_sym_distributed] = ACTIONS(3083),
    [anon_sym_final] = ACTIONS(3083),
    [anon_sym_inout] = ACTIONS(3083),
    [anon_sym_ATescaping] = ACTIONS(3083),
    [anon_sym_ATautoclosure] = ACTIONS(3083),
    [anon_sym_weak] = ACTIONS(3083),
    [anon_sym_unowned] = ACTIONS(3081),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3083),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3083),
    [anon_sym_borrowing] = ACTIONS(3083),
    [anon_sym_consuming] = ACTIONS(3083),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3083),
    [sym__conjunction_operator_custom] = ACTIONS(3083),
    [sym__disjunction_operator_custom] = ACTIONS(3083),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3083),
    [sym__eq_custom] = ACTIONS(3083),
    [sym__eq_eq_custom] = ACTIONS(3083),
    [sym__plus_then_ws] = ACTIONS(3083),
    [sym__minus_then_ws] = ACTIONS(3083),
    [sym__bang_custom] = ACTIONS(3083),
    [sym__as_custom] = ACTIONS(3083),
    [sym__as_quest_custom] = ACTIONS(3083),
    [sym__as_bang_custom] = ACTIONS(3083),
    [sym__custom_operator] = ACTIONS(3083),
  },
  [860] = {
    [anon_sym_BANG] = ACTIONS(3260),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3262),
    [anon_sym_async] = ACTIONS(3262),
    [anon_sym_lazy] = ACTIONS(3262),
    [anon_sym_package] = ACTIONS(3262),
    [anon_sym_RPAREN] = ACTIONS(3262),
    [anon_sym_COMMA] = ACTIONS(3262),
    [anon_sym_COLON] = ACTIONS(3262),
    [anon_sym_LPAREN] = ACTIONS(3262),
    [anon_sym_LBRACK] = ACTIONS(3262),
    [anon_sym_RBRACK] = ACTIONS(3262),
    [anon_sym_DOT] = ACTIONS(3260),
    [anon_sym_QMARK] = ACTIONS(3260),
    [anon_sym_QMARK2] = ACTIONS(3262),
    [anon_sym_AMP] = ACTIONS(3262),
    [aux_sym_custom_operator_token1] = ACTIONS(3262),
    [anon_sym_LT] = ACTIONS(3260),
    [anon_sym_GT] = ACTIONS(3260),
    [anon_sym_LBRACE] = ACTIONS(3262),
    [anon_sym_CARET_LBRACE] = ACTIONS(3262),
    [anon_sym_RBRACE] = ACTIONS(3262),
    [anon_sym_self] = ACTIONS(3262),
    [anon_sym_case] = ACTIONS(3262),
    [anon_sym_PLUS_EQ] = ACTIONS(3262),
    [anon_sym_DASH_EQ] = ACTIONS(3262),
    [anon_sym_STAR_EQ] = ACTIONS(3262),
    [anon_sym_SLASH_EQ] = ACTIONS(3262),
    [anon_sym_PERCENT_EQ] = ACTIONS(3262),
    [anon_sym_BANG_EQ] = ACTIONS(3260),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3262),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3262),
    [anon_sym_LT_EQ] = ACTIONS(3262),
    [anon_sym_GT_EQ] = ACTIONS(3262),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3262),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3262),
    [anon_sym_is] = ACTIONS(3262),
    [anon_sym_PLUS] = ACTIONS(3260),
    [anon_sym_DASH] = ACTIONS(3260),
    [anon_sym_STAR] = ACTIONS(3260),
    [anon_sym_SLASH] = ACTIONS(3260),
    [anon_sym_PERCENT] = ACTIONS(3260),
    [anon_sym_PLUS_PLUS] = ACTIONS(3262),
    [anon_sym_DASH_DASH] = ACTIONS(3262),
    [anon_sym_PIPE] = ACTIONS(3262),
    [anon_sym_CARET] = ACTIONS(3260),
    [anon_sym_LT_LT] = ACTIONS(3262),
    [anon_sym_GT_GT] = ACTIONS(3262),
    [anon_sym_import] = ACTIONS(3262),
    [anon_sym_typealias] = ACTIONS(3262),
    [anon_sym_struct] = ACTIONS(3262),
    [anon_sym_class] = ACTIONS(3262),
    [anon_sym_enum] = ACTIONS(3262),
    [anon_sym_protocol] = ACTIONS(3262),
    [anon_sym_let] = ACTIONS(3262),
    [anon_sym_var] = ACTIONS(3262),
    [anon_sym_func] = ACTIONS(3262),
    [anon_sym_extension] = ACTIONS(3262),
    [anon_sym_indirect] = ACTIONS(3262),
    [anon_sym_SEMI] = ACTIONS(3262),
    [anon_sym_init] = ACTIONS(3262),
    [anon_sym_deinit] = ACTIONS(3262),
    [anon_sym_subscript] = ACTIONS(3262),
    [anon_sym_prefix] = ACTIONS(3262),
    [anon_sym_infix] = ACTIONS(3262),
    [anon_sym_postfix] = ACTIONS(3262),
    [anon_sym_precedencegroup] = ACTIONS(3262),
    [anon_sym_associatedtype] = ACTIONS(3262),
    [anon_sym_AT] = ACTIONS(3260),
    [anon_sym_override] = ACTIONS(3262),
    [anon_sym_convenience] = ACTIONS(3262),
    [anon_sym_required] = ACTIONS(3262),
    [anon_sym_nonisolated] = ACTIONS(3262),
    [anon_sym_public] = ACTIONS(3262),
    [anon_sym_private] = ACTIONS(3262),
    [anon_sym_internal] = ACTIONS(3262),
    [anon_sym_fileprivate] = ACTIONS(3262),
    [anon_sym_open] = ACTIONS(3262),
    [anon_sym_mutating] = ACTIONS(3262),
    [anon_sym_nonmutating] = ACTIONS(3262),
    [anon_sym_static] = ACTIONS(3262),
    [anon_sym_dynamic] = ACTIONS(3262),
    [anon_sym_optional] = ACTIONS(3262),
    [anon_sym_distributed] = ACTIONS(3262),
    [anon_sym_final] = ACTIONS(3262),
    [anon_sym_inout] = ACTIONS(3262),
    [anon_sym_ATescaping] = ACTIONS(3262),
    [anon_sym_ATautoclosure] = ACTIONS(3262),
    [anon_sym_weak] = ACTIONS(3262),
    [anon_sym_unowned] = ACTIONS(3260),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3262),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3262),
    [anon_sym_borrowing] = ACTIONS(3262),
    [anon_sym_consuming] = ACTIONS(3262),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3262),
    [sym__conjunction_operator_custom] = ACTIONS(3262),
    [sym__disjunction_operator_custom] = ACTIONS(3262),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3262),
    [sym__eq_custom] = ACTIONS(3262),
    [sym__eq_eq_custom] = ACTIONS(3262),
    [sym__plus_then_ws] = ACTIONS(3262),
    [sym__minus_then_ws] = ACTIONS(3262),
    [sym__bang_custom] = ACTIONS(3262),
    [sym__as_custom] = ACTIONS(3262),
    [sym__as_quest_custom] = ACTIONS(3262),
    [sym__as_bang_custom] = ACTIONS(3262),
    [sym__custom_operator] = ACTIONS(3262),
  },
  [861] = {
    [aux_sym_key_path_expression_repeat1] = STATE(856),
    [anon_sym_BANG] = ACTIONS(3264),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3266),
    [anon_sym_async] = ACTIONS(3266),
    [anon_sym_lazy] = ACTIONS(3266),
    [anon_sym_package] = ACTIONS(3266),
    [anon_sym_RPAREN] = ACTIONS(3266),
    [anon_sym_COMMA] = ACTIONS(3266),
    [anon_sym_COLON] = ACTIONS(3266),
    [anon_sym_LPAREN] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(3266),
    [anon_sym_RBRACK] = ACTIONS(3266),
    [anon_sym_DOT] = ACTIONS(2967),
    [anon_sym_QMARK] = ACTIONS(3264),
    [anon_sym_QMARK2] = ACTIONS(3266),
    [anon_sym_AMP] = ACTIONS(3266),
    [aux_sym_custom_operator_token1] = ACTIONS(3266),
    [anon_sym_LT] = ACTIONS(3264),
    [anon_sym_GT] = ACTIONS(3264),
    [anon_sym_LBRACE] = ACTIONS(3266),
    [anon_sym_CARET_LBRACE] = ACTIONS(3266),
    [anon_sym_RBRACE] = ACTIONS(3266),
    [anon_sym_case] = ACTIONS(3266),
    [anon_sym_PLUS_EQ] = ACTIONS(3266),
    [anon_sym_DASH_EQ] = ACTIONS(3266),
    [anon_sym_STAR_EQ] = ACTIONS(3266),
    [anon_sym_SLASH_EQ] = ACTIONS(3266),
    [anon_sym_PERCENT_EQ] = ACTIONS(3266),
    [anon_sym_BANG_EQ] = ACTIONS(3264),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3266),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3266),
    [anon_sym_LT_EQ] = ACTIONS(3266),
    [anon_sym_GT_EQ] = ACTIONS(3266),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3266),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3266),
    [anon_sym_is] = ACTIONS(3266),
    [anon_sym_PLUS] = ACTIONS(3264),
    [anon_sym_DASH] = ACTIONS(3264),
    [anon_sym_STAR] = ACTIONS(3264),
    [anon_sym_SLASH] = ACTIONS(3264),
    [anon_sym_PERCENT] = ACTIONS(3264),
    [anon_sym_PLUS_PLUS] = ACTIONS(3266),
    [anon_sym_DASH_DASH] = ACTIONS(3266),
    [anon_sym_PIPE] = ACTIONS(3266),
    [anon_sym_CARET] = ACTIONS(3264),
    [anon_sym_LT_LT] = ACTIONS(3266),
    [anon_sym_GT_GT] = ACTIONS(3266),
    [anon_sym_import] = ACTIONS(3266),
    [anon_sym_typealias] = ACTIONS(3266),
    [anon_sym_struct] = ACTIONS(3266),
    [anon_sym_class] = ACTIONS(3266),
    [anon_sym_enum] = ACTIONS(3266),
    [anon_sym_protocol] = ACTIONS(3266),
    [anon_sym_let] = ACTIONS(3266),
    [anon_sym_var] = ACTIONS(3266),
    [anon_sym_func] = ACTIONS(3266),
    [anon_sym_extension] = ACTIONS(3266),
    [anon_sym_indirect] = ACTIONS(3266),
    [anon_sym_SEMI] = ACTIONS(3266),
    [anon_sym_init] = ACTIONS(3266),
    [anon_sym_deinit] = ACTIONS(3266),
    [anon_sym_subscript] = ACTIONS(3266),
    [anon_sym_prefix] = ACTIONS(3266),
    [anon_sym_infix] = ACTIONS(3266),
    [anon_sym_postfix] = ACTIONS(3266),
    [anon_sym_precedencegroup] = ACTIONS(3266),
    [anon_sym_associatedtype] = ACTIONS(3266),
    [anon_sym_AT] = ACTIONS(3264),
    [anon_sym_override] = ACTIONS(3266),
    [anon_sym_convenience] = ACTIONS(3266),
    [anon_sym_required] = ACTIONS(3266),
    [anon_sym_nonisolated] = ACTIONS(3266),
    [anon_sym_public] = ACTIONS(3266),
    [anon_sym_private] = ACTIONS(3266),
    [anon_sym_internal] = ACTIONS(3266),
    [anon_sym_fileprivate] = ACTIONS(3266),
    [anon_sym_open] = ACTIONS(3266),
    [anon_sym_mutating] = ACTIONS(3266),
    [anon_sym_nonmutating] = ACTIONS(3266),
    [anon_sym_static] = ACTIONS(3266),
    [anon_sym_dynamic] = ACTIONS(3266),
    [anon_sym_optional] = ACTIONS(3266),
    [anon_sym_distributed] = ACTIONS(3266),
    [anon_sym_final] = ACTIONS(3266),
    [anon_sym_inout] = ACTIONS(3266),
    [anon_sym_ATescaping] = ACTIONS(3266),
    [anon_sym_ATautoclosure] = ACTIONS(3266),
    [anon_sym_weak] = ACTIONS(3266),
    [anon_sym_unowned] = ACTIONS(3264),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3266),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3266),
    [anon_sym_borrowing] = ACTIONS(3266),
    [anon_sym_consuming] = ACTIONS(3266),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3266),
    [sym__conjunction_operator_custom] = ACTIONS(3266),
    [sym__disjunction_operator_custom] = ACTIONS(3266),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3266),
    [sym__eq_custom] = ACTIONS(3266),
    [sym__eq_eq_custom] = ACTIONS(3266),
    [sym__plus_then_ws] = ACTIONS(3266),
    [sym__minus_then_ws] = ACTIONS(3266),
    [sym__bang_custom] = ACTIONS(3266),
    [sym__as_custom] = ACTIONS(3266),
    [sym__as_quest_custom] = ACTIONS(3266),
    [sym__as_bang_custom] = ACTIONS(3266),
    [sym__custom_operator] = ACTIONS(3266),
  },
  [862] = {
    [aux_sym_key_path_expression_repeat1] = STATE(862),
    [anon_sym_BANG] = ACTIONS(3268),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3270),
    [anon_sym_async] = ACTIONS(3270),
    [anon_sym_lazy] = ACTIONS(3270),
    [anon_sym_package] = ACTIONS(3270),
    [anon_sym_RPAREN] = ACTIONS(3270),
    [anon_sym_COMMA] = ACTIONS(3270),
    [anon_sym_COLON] = ACTIONS(3270),
    [anon_sym_LPAREN] = ACTIONS(3270),
    [anon_sym_LBRACK] = ACTIONS(3270),
    [anon_sym_RBRACK] = ACTIONS(3270),
    [anon_sym_DOT] = ACTIONS(3272),
    [anon_sym_QMARK] = ACTIONS(3268),
    [anon_sym_QMARK2] = ACTIONS(3270),
    [anon_sym_AMP] = ACTIONS(3270),
    [aux_sym_custom_operator_token1] = ACTIONS(3270),
    [anon_sym_LT] = ACTIONS(3268),
    [anon_sym_GT] = ACTIONS(3268),
    [anon_sym_LBRACE] = ACTIONS(3270),
    [anon_sym_CARET_LBRACE] = ACTIONS(3270),
    [anon_sym_RBRACE] = ACTIONS(3270),
    [anon_sym_case] = ACTIONS(3270),
    [anon_sym_PLUS_EQ] = ACTIONS(3270),
    [anon_sym_DASH_EQ] = ACTIONS(3270),
    [anon_sym_STAR_EQ] = ACTIONS(3270),
    [anon_sym_SLASH_EQ] = ACTIONS(3270),
    [anon_sym_PERCENT_EQ] = ACTIONS(3270),
    [anon_sym_BANG_EQ] = ACTIONS(3268),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3270),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3270),
    [anon_sym_LT_EQ] = ACTIONS(3270),
    [anon_sym_GT_EQ] = ACTIONS(3270),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3270),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3270),
    [anon_sym_is] = ACTIONS(3270),
    [anon_sym_PLUS] = ACTIONS(3268),
    [anon_sym_DASH] = ACTIONS(3268),
    [anon_sym_STAR] = ACTIONS(3268),
    [anon_sym_SLASH] = ACTIONS(3268),
    [anon_sym_PERCENT] = ACTIONS(3268),
    [anon_sym_PLUS_PLUS] = ACTIONS(3270),
    [anon_sym_DASH_DASH] = ACTIONS(3270),
    [anon_sym_PIPE] = ACTIONS(3270),
    [anon_sym_CARET] = ACTIONS(3268),
    [anon_sym_LT_LT] = ACTIONS(3270),
    [anon_sym_GT_GT] = ACTIONS(3270),
    [anon_sym_import] = ACTIONS(3270),
    [anon_sym_typealias] = ACTIONS(3270),
    [anon_sym_struct] = ACTIONS(3270),
    [anon_sym_class] = ACTIONS(3270),
    [anon_sym_enum] = ACTIONS(3270),
    [anon_sym_protocol] = ACTIONS(3270),
    [anon_sym_let] = ACTIONS(3270),
    [anon_sym_var] = ACTIONS(3270),
    [anon_sym_func] = ACTIONS(3270),
    [anon_sym_extension] = ACTIONS(3270),
    [anon_sym_indirect] = ACTIONS(3270),
    [anon_sym_SEMI] = ACTIONS(3270),
    [anon_sym_init] = ACTIONS(3270),
    [anon_sym_deinit] = ACTIONS(3270),
    [anon_sym_subscript] = ACTIONS(3270),
    [anon_sym_prefix] = ACTIONS(3270),
    [anon_sym_infix] = ACTIONS(3270),
    [anon_sym_postfix] = ACTIONS(3270),
    [anon_sym_precedencegroup] = ACTIONS(3270),
    [anon_sym_associatedtype] = ACTIONS(3270),
    [anon_sym_AT] = ACTIONS(3268),
    [anon_sym_override] = ACTIONS(3270),
    [anon_sym_convenience] = ACTIONS(3270),
    [anon_sym_required] = ACTIONS(3270),
    [anon_sym_nonisolated] = ACTIONS(3270),
    [anon_sym_public] = ACTIONS(3270),
    [anon_sym_private] = ACTIONS(3270),
    [anon_sym_internal] = ACTIONS(3270),
    [anon_sym_fileprivate] = ACTIONS(3270),
    [anon_sym_open] = ACTIONS(3270),
    [anon_sym_mutating] = ACTIONS(3270),
    [anon_sym_nonmutating] = ACTIONS(3270),
    [anon_sym_static] = ACTIONS(3270),
    [anon_sym_dynamic] = ACTIONS(3270),
    [anon_sym_optional] = ACTIONS(3270),
    [anon_sym_distributed] = ACTIONS(3270),
    [anon_sym_final] = ACTIONS(3270),
    [anon_sym_inout] = ACTIONS(3270),
    [anon_sym_ATescaping] = ACTIONS(3270),
    [anon_sym_ATautoclosure] = ACTIONS(3270),
    [anon_sym_weak] = ACTIONS(3270),
    [anon_sym_unowned] = ACTIONS(3268),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3270),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3270),
    [anon_sym_borrowing] = ACTIONS(3270),
    [anon_sym_consuming] = ACTIONS(3270),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3270),
    [sym__conjunction_operator_custom] = ACTIONS(3270),
    [sym__disjunction_operator_custom] = ACTIONS(3270),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3270),
    [sym__eq_custom] = ACTIONS(3270),
    [sym__eq_eq_custom] = ACTIONS(3270),
    [sym__plus_then_ws] = ACTIONS(3270),
    [sym__minus_then_ws] = ACTIONS(3270),
    [sym__bang_custom] = ACTIONS(3270),
    [sym__as_custom] = ACTIONS(3270),
    [sym__as_quest_custom] = ACTIONS(3270),
    [sym__as_bang_custom] = ACTIONS(3270),
    [sym__custom_operator] = ACTIONS(3270),
  },
  [863] = {
    [sym__conjunction_operator] = STATE(4890),
    [sym__disjunction_operator] = STATE(4890),
    [anon_sym_BANG] = ACTIONS(3275),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3277),
    [anon_sym_async] = ACTIONS(3277),
    [anon_sym_lazy] = ACTIONS(3277),
    [anon_sym_package] = ACTIONS(3277),
    [anon_sym_RPAREN] = ACTIONS(3277),
    [anon_sym_COMMA] = ACTIONS(3277),
    [anon_sym_COLON] = ACTIONS(3277),
    [anon_sym_LPAREN] = ACTIONS(3277),
    [anon_sym_LBRACK] = ACTIONS(3277),
    [anon_sym_RBRACK] = ACTIONS(3277),
    [anon_sym_QMARK] = ACTIONS(3275),
    [anon_sym_QMARK2] = ACTIONS(3277),
    [anon_sym_AMP] = ACTIONS(3277),
    [aux_sym_custom_operator_token1] = ACTIONS(3277),
    [anon_sym_LT] = ACTIONS(3275),
    [anon_sym_GT] = ACTIONS(3275),
    [anon_sym_LBRACE] = ACTIONS(3277),
    [anon_sym_CARET_LBRACE] = ACTIONS(3277),
    [anon_sym_RBRACE] = ACTIONS(3277),
    [anon_sym_case] = ACTIONS(3277),
    [anon_sym_PLUS_EQ] = ACTIONS(3277),
    [anon_sym_DASH_EQ] = ACTIONS(3277),
    [anon_sym_STAR_EQ] = ACTIONS(3277),
    [anon_sym_SLASH_EQ] = ACTIONS(3277),
    [anon_sym_PERCENT_EQ] = ACTIONS(3277),
    [anon_sym_BANG_EQ] = ACTIONS(3275),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3277),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3277),
    [anon_sym_LT_EQ] = ACTIONS(3277),
    [anon_sym_GT_EQ] = ACTIONS(3277),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3277),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3277),
    [anon_sym_is] = ACTIONS(3277),
    [anon_sym_PLUS] = ACTIONS(3275),
    [anon_sym_DASH] = ACTIONS(3275),
    [anon_sym_STAR] = ACTIONS(3275),
    [anon_sym_SLASH] = ACTIONS(3275),
    [anon_sym_PERCENT] = ACTIONS(3275),
    [anon_sym_PLUS_PLUS] = ACTIONS(3277),
    [anon_sym_DASH_DASH] = ACTIONS(3277),
    [anon_sym_PIPE] = ACTIONS(3277),
    [anon_sym_CARET] = ACTIONS(3275),
    [anon_sym_LT_LT] = ACTIONS(3277),
    [anon_sym_GT_GT] = ACTIONS(3277),
    [anon_sym_import] = ACTIONS(3277),
    [anon_sym_typealias] = ACTIONS(3277),
    [anon_sym_struct] = ACTIONS(3277),
    [anon_sym_class] = ACTIONS(3277),
    [anon_sym_enum] = ACTIONS(3277),
    [anon_sym_protocol] = ACTIONS(3277),
    [anon_sym_let] = ACTIONS(3277),
    [anon_sym_var] = ACTIONS(3277),
    [anon_sym_func] = ACTIONS(3277),
    [anon_sym_extension] = ACTIONS(3277),
    [anon_sym_indirect] = ACTIONS(3277),
    [anon_sym_SEMI] = ACTIONS(3277),
    [anon_sym_init] = ACTIONS(3277),
    [anon_sym_deinit] = ACTIONS(3277),
    [anon_sym_subscript] = ACTIONS(3277),
    [anon_sym_prefix] = ACTIONS(3277),
    [anon_sym_infix] = ACTIONS(3277),
    [anon_sym_postfix] = ACTIONS(3277),
    [anon_sym_precedencegroup] = ACTIONS(3277),
    [anon_sym_associatedtype] = ACTIONS(3277),
    [anon_sym_AT] = ACTIONS(3275),
    [anon_sym_override] = ACTIONS(3277),
    [anon_sym_convenience] = ACTIONS(3277),
    [anon_sym_required] = ACTIONS(3277),
    [anon_sym_nonisolated] = ACTIONS(3277),
    [anon_sym_public] = ACTIONS(3277),
    [anon_sym_private] = ACTIONS(3277),
    [anon_sym_internal] = ACTIONS(3277),
    [anon_sym_fileprivate] = ACTIONS(3277),
    [anon_sym_open] = ACTIONS(3277),
    [anon_sym_mutating] = ACTIONS(3277),
    [anon_sym_nonmutating] = ACTIONS(3277),
    [anon_sym_static] = ACTIONS(3277),
    [anon_sym_dynamic] = ACTIONS(3277),
    [anon_sym_optional] = ACTIONS(3277),
    [anon_sym_distributed] = ACTIONS(3277),
    [anon_sym_final] = ACTIONS(3277),
    [anon_sym_inout] = ACTIONS(3277),
    [anon_sym_ATescaping] = ACTIONS(3277),
    [anon_sym_ATautoclosure] = ACTIONS(3277),
    [anon_sym_weak] = ACTIONS(3277),
    [anon_sym_unowned] = ACTIONS(3275),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3277),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3277),
    [anon_sym_borrowing] = ACTIONS(3277),
    [anon_sym_consuming] = ACTIONS(3277),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3277),
    [sym__conjunction_operator_custom] = ACTIONS(3256),
    [sym__disjunction_operator_custom] = ACTIONS(3256),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3277),
    [sym__eq_custom] = ACTIONS(3277),
    [sym__eq_eq_custom] = ACTIONS(3277),
    [sym__plus_then_ws] = ACTIONS(3277),
    [sym__minus_then_ws] = ACTIONS(3277),
    [sym__bang_custom] = ACTIONS(3277),
    [sym__as_custom] = ACTIONS(3277),
    [sym__as_quest_custom] = ACTIONS(3277),
    [sym__as_bang_custom] = ACTIONS(3277),
    [sym__custom_operator] = ACTIONS(3277),
  },
  [864] = {
    [anon_sym_BANG] = ACTIONS(3202),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3204),
    [anon_sym_async] = ACTIONS(3204),
    [anon_sym_lazy] = ACTIONS(3204),
    [anon_sym_package] = ACTIONS(3204),
    [anon_sym_RPAREN] = ACTIONS(3204),
    [anon_sym_COMMA] = ACTIONS(3204),
    [anon_sym_COLON] = ACTIONS(3204),
    [anon_sym_LPAREN] = ACTIONS(3204),
    [anon_sym_LBRACK] = ACTIONS(3204),
    [anon_sym_RBRACK] = ACTIONS(3204),
    [anon_sym_DOT] = ACTIONS(3202),
    [anon_sym_QMARK] = ACTIONS(3202),
    [anon_sym_QMARK2] = ACTIONS(3204),
    [anon_sym_AMP] = ACTIONS(3204),
    [aux_sym_custom_operator_token1] = ACTIONS(3204),
    [anon_sym_LT] = ACTIONS(3202),
    [anon_sym_GT] = ACTIONS(3202),
    [anon_sym_LBRACE] = ACTIONS(3204),
    [anon_sym_CARET_LBRACE] = ACTIONS(3204),
    [anon_sym_RBRACE] = ACTIONS(3204),
    [anon_sym_self] = ACTIONS(3204),
    [anon_sym_case] = ACTIONS(3204),
    [anon_sym_PLUS_EQ] = ACTIONS(3204),
    [anon_sym_DASH_EQ] = ACTIONS(3204),
    [anon_sym_STAR_EQ] = ACTIONS(3204),
    [anon_sym_SLASH_EQ] = ACTIONS(3204),
    [anon_sym_PERCENT_EQ] = ACTIONS(3204),
    [anon_sym_BANG_EQ] = ACTIONS(3202),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3204),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3204),
    [anon_sym_LT_EQ] = ACTIONS(3204),
    [anon_sym_GT_EQ] = ACTIONS(3204),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3204),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3204),
    [anon_sym_is] = ACTIONS(3204),
    [anon_sym_PLUS] = ACTIONS(3202),
    [anon_sym_DASH] = ACTIONS(3202),
    [anon_sym_STAR] = ACTIONS(3202),
    [anon_sym_SLASH] = ACTIONS(3202),
    [anon_sym_PERCENT] = ACTIONS(3202),
    [anon_sym_PLUS_PLUS] = ACTIONS(3204),
    [anon_sym_DASH_DASH] = ACTIONS(3204),
    [anon_sym_PIPE] = ACTIONS(3204),
    [anon_sym_CARET] = ACTIONS(3202),
    [anon_sym_LT_LT] = ACTIONS(3204),
    [anon_sym_GT_GT] = ACTIONS(3204),
    [anon_sym_import] = ACTIONS(3204),
    [anon_sym_typealias] = ACTIONS(3204),
    [anon_sym_struct] = ACTIONS(3204),
    [anon_sym_class] = ACTIONS(3204),
    [anon_sym_enum] = ACTIONS(3204),
    [anon_sym_protocol] = ACTIONS(3204),
    [anon_sym_let] = ACTIONS(3204),
    [anon_sym_var] = ACTIONS(3204),
    [anon_sym_func] = ACTIONS(3204),
    [anon_sym_extension] = ACTIONS(3204),
    [anon_sym_indirect] = ACTIONS(3204),
    [anon_sym_SEMI] = ACTIONS(3204),
    [anon_sym_init] = ACTIONS(3204),
    [anon_sym_deinit] = ACTIONS(3204),
    [anon_sym_subscript] = ACTIONS(3204),
    [anon_sym_prefix] = ACTIONS(3204),
    [anon_sym_infix] = ACTIONS(3204),
    [anon_sym_postfix] = ACTIONS(3204),
    [anon_sym_precedencegroup] = ACTIONS(3204),
    [anon_sym_associatedtype] = ACTIONS(3204),
    [anon_sym_AT] = ACTIONS(3202),
    [anon_sym_override] = ACTIONS(3204),
    [anon_sym_convenience] = ACTIONS(3204),
    [anon_sym_required] = ACTIONS(3204),
    [anon_sym_nonisolated] = ACTIONS(3204),
    [anon_sym_public] = ACTIONS(3204),
    [anon_sym_private] = ACTIONS(3204),
    [anon_sym_internal] = ACTIONS(3204),
    [anon_sym_fileprivate] = ACTIONS(3204),
    [anon_sym_open] = ACTIONS(3204),
    [anon_sym_mutating] = ACTIONS(3204),
    [anon_sym_nonmutating] = ACTIONS(3204),
    [anon_sym_static] = ACTIONS(3204),
    [anon_sym_dynamic] = ACTIONS(3204),
    [anon_sym_optional] = ACTIONS(3204),
    [anon_sym_distributed] = ACTIONS(3204),
    [anon_sym_final] = ACTIONS(3204),
    [anon_sym_inout] = ACTIONS(3204),
    [anon_sym_ATescaping] = ACTIONS(3204),
    [anon_sym_ATautoclosure] = ACTIONS(3204),
    [anon_sym_weak] = ACTIONS(3204),
    [anon_sym_unowned] = ACTIONS(3202),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3204),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3204),
    [anon_sym_borrowing] = ACTIONS(3204),
    [anon_sym_consuming] = ACTIONS(3204),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3204),
    [sym__conjunction_operator_custom] = ACTIONS(3204),
    [sym__disjunction_operator_custom] = ACTIONS(3204),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3204),
    [sym__eq_custom] = ACTIONS(3204),
    [sym__eq_eq_custom] = ACTIONS(3204),
    [sym__plus_then_ws] = ACTIONS(3204),
    [sym__minus_then_ws] = ACTIONS(3204),
    [sym__bang_custom] = ACTIONS(3204),
    [sym__as_custom] = ACTIONS(3204),
    [sym__as_quest_custom] = ACTIONS(3204),
    [sym__as_bang_custom] = ACTIONS(3204),
    [sym__custom_operator] = ACTIONS(3204),
  },
  [865] = {
    [anon_sym_BANG] = ACTIONS(3279),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3281),
    [anon_sym_async] = ACTIONS(3281),
    [anon_sym_lazy] = ACTIONS(3281),
    [anon_sym_package] = ACTIONS(3281),
    [anon_sym_RPAREN] = ACTIONS(3281),
    [anon_sym_COMMA] = ACTIONS(3281),
    [anon_sym_COLON] = ACTIONS(3281),
    [anon_sym_LPAREN] = ACTIONS(3281),
    [anon_sym_LBRACK] = ACTIONS(3281),
    [anon_sym_RBRACK] = ACTIONS(3281),
    [anon_sym_DOT] = ACTIONS(3279),
    [anon_sym_QMARK] = ACTIONS(3279),
    [anon_sym_QMARK2] = ACTIONS(3281),
    [anon_sym_AMP] = ACTIONS(3281),
    [aux_sym_custom_operator_token1] = ACTIONS(3281),
    [anon_sym_LT] = ACTIONS(3279),
    [anon_sym_GT] = ACTIONS(3279),
    [anon_sym_LBRACE] = ACTIONS(3281),
    [anon_sym_CARET_LBRACE] = ACTIONS(3281),
    [anon_sym_RBRACE] = ACTIONS(3281),
    [anon_sym_self] = ACTIONS(3281),
    [anon_sym_case] = ACTIONS(3281),
    [anon_sym_PLUS_EQ] = ACTIONS(3281),
    [anon_sym_DASH_EQ] = ACTIONS(3281),
    [anon_sym_STAR_EQ] = ACTIONS(3281),
    [anon_sym_SLASH_EQ] = ACTIONS(3281),
    [anon_sym_PERCENT_EQ] = ACTIONS(3281),
    [anon_sym_BANG_EQ] = ACTIONS(3279),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3281),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3281),
    [anon_sym_LT_EQ] = ACTIONS(3281),
    [anon_sym_GT_EQ] = ACTIONS(3281),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3281),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3281),
    [anon_sym_is] = ACTIONS(3281),
    [anon_sym_PLUS] = ACTIONS(3279),
    [anon_sym_DASH] = ACTIONS(3279),
    [anon_sym_STAR] = ACTIONS(3279),
    [anon_sym_SLASH] = ACTIONS(3279),
    [anon_sym_PERCENT] = ACTIONS(3279),
    [anon_sym_PLUS_PLUS] = ACTIONS(3281),
    [anon_sym_DASH_DASH] = ACTIONS(3281),
    [anon_sym_PIPE] = ACTIONS(3281),
    [anon_sym_CARET] = ACTIONS(3279),
    [anon_sym_LT_LT] = ACTIONS(3281),
    [anon_sym_GT_GT] = ACTIONS(3281),
    [anon_sym_import] = ACTIONS(3281),
    [anon_sym_typealias] = ACTIONS(3281),
    [anon_sym_struct] = ACTIONS(3281),
    [anon_sym_class] = ACTIONS(3281),
    [anon_sym_enum] = ACTIONS(3281),
    [anon_sym_protocol] = ACTIONS(3281),
    [anon_sym_let] = ACTIONS(3281),
    [anon_sym_var] = ACTIONS(3281),
    [anon_sym_func] = ACTIONS(3281),
    [anon_sym_extension] = ACTIONS(3281),
    [anon_sym_indirect] = ACTIONS(3281),
    [anon_sym_SEMI] = ACTIONS(3281),
    [anon_sym_init] = ACTIONS(3281),
    [anon_sym_deinit] = ACTIONS(3281),
    [anon_sym_subscript] = ACTIONS(3281),
    [anon_sym_prefix] = ACTIONS(3281),
    [anon_sym_infix] = ACTIONS(3281),
    [anon_sym_postfix] = ACTIONS(3281),
    [anon_sym_precedencegroup] = ACTIONS(3281),
    [anon_sym_associatedtype] = ACTIONS(3281),
    [anon_sym_AT] = ACTIONS(3279),
    [anon_sym_override] = ACTIONS(3281),
    [anon_sym_convenience] = ACTIONS(3281),
    [anon_sym_required] = ACTIONS(3281),
    [anon_sym_nonisolated] = ACTIONS(3281),
    [anon_sym_public] = ACTIONS(3281),
    [anon_sym_private] = ACTIONS(3281),
    [anon_sym_internal] = ACTIONS(3281),
    [anon_sym_fileprivate] = ACTIONS(3281),
    [anon_sym_open] = ACTIONS(3281),
    [anon_sym_mutating] = ACTIONS(3281),
    [anon_sym_nonmutating] = ACTIONS(3281),
    [anon_sym_static] = ACTIONS(3281),
    [anon_sym_dynamic] = ACTIONS(3281),
    [anon_sym_optional] = ACTIONS(3281),
    [anon_sym_distributed] = ACTIONS(3281),
    [anon_sym_final] = ACTIONS(3281),
    [anon_sym_inout] = ACTIONS(3281),
    [anon_sym_ATescaping] = ACTIONS(3281),
    [anon_sym_ATautoclosure] = ACTIONS(3281),
    [anon_sym_weak] = ACTIONS(3281),
    [anon_sym_unowned] = ACTIONS(3279),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3281),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3281),
    [anon_sym_borrowing] = ACTIONS(3281),
    [anon_sym_consuming] = ACTIONS(3281),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3281),
    [sym__conjunction_operator_custom] = ACTIONS(3281),
    [sym__disjunction_operator_custom] = ACTIONS(3281),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3281),
    [sym__eq_custom] = ACTIONS(3281),
    [sym__eq_eq_custom] = ACTIONS(3281),
    [sym__plus_then_ws] = ACTIONS(3281),
    [sym__minus_then_ws] = ACTIONS(3281),
    [sym__bang_custom] = ACTIONS(3281),
    [sym__as_custom] = ACTIONS(3281),
    [sym__as_quest_custom] = ACTIONS(3281),
    [sym__as_bang_custom] = ACTIONS(3281),
    [sym__custom_operator] = ACTIONS(3281),
  },
  [866] = {
    [anon_sym_BANG] = ACTIONS(2661),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(2663),
    [anon_sym_async] = ACTIONS(2663),
    [anon_sym_lazy] = ACTIONS(2663),
    [anon_sym_package] = ACTIONS(2663),
    [anon_sym_RPAREN] = ACTIONS(2663),
    [anon_sym_COMMA] = ACTIONS(2663),
    [anon_sym_COLON] = ACTIONS(2663),
    [anon_sym_LPAREN] = ACTIONS(2663),
    [anon_sym_LBRACK] = ACTIONS(2663),
    [anon_sym_RBRACK] = ACTIONS(2663),
    [anon_sym_DOT] = ACTIONS(2661),
    [anon_sym_QMARK] = ACTIONS(2661),
    [anon_sym_QMARK2] = ACTIONS(2663),
    [anon_sym_AMP] = ACTIONS(2663),
    [aux_sym_custom_operator_token1] = ACTIONS(2663),
    [anon_sym_LT] = ACTIONS(2661),
    [anon_sym_GT] = ACTIONS(2661),
    [anon_sym_LBRACE] = ACTIONS(2663),
    [anon_sym_CARET_LBRACE] = ACTIONS(2663),
    [anon_sym_RBRACE] = ACTIONS(2663),
    [anon_sym_self] = ACTIONS(2663),
    [anon_sym_case] = ACTIONS(2663),
    [anon_sym_PLUS_EQ] = ACTIONS(2663),
    [anon_sym_DASH_EQ] = ACTIONS(2663),
    [anon_sym_STAR_EQ] = ACTIONS(2663),
    [anon_sym_SLASH_EQ] = ACTIONS(2663),
    [anon_sym_PERCENT_EQ] = ACTIONS(2663),
    [anon_sym_BANG_EQ] = ACTIONS(2661),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2663),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2663),
    [anon_sym_LT_EQ] = ACTIONS(2663),
    [anon_sym_GT_EQ] = ACTIONS(2663),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2663),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2663),
    [anon_sym_is] = ACTIONS(2663),
    [anon_sym_PLUS] = ACTIONS(2661),
    [anon_sym_DASH] = ACTIONS(2661),
    [anon_sym_STAR] = ACTIONS(2661),
    [anon_sym_SLASH] = ACTIONS(2661),
    [anon_sym_PERCENT] = ACTIONS(2661),
    [anon_sym_PLUS_PLUS] = ACTIONS(2663),
    [anon_sym_DASH_DASH] = ACTIONS(2663),
    [anon_sym_PIPE] = ACTIONS(2663),
    [anon_sym_CARET] = ACTIONS(2661),
    [anon_sym_LT_LT] = ACTIONS(2663),
    [anon_sym_GT_GT] = ACTIONS(2663),
    [anon_sym_import] = ACTIONS(2663),
    [anon_sym_typealias] = ACTIONS(2663),
    [anon_sym_struct] = ACTIONS(2663),
    [anon_sym_class] = ACTIONS(2663),
    [anon_sym_enum] = ACTIONS(2663),
    [anon_sym_protocol] = ACTIONS(2663),
    [anon_sym_let] = ACTIONS(2663),
    [anon_sym_var] = ACTIONS(2663),
    [anon_sym_func] = ACTIONS(2663),
    [anon_sym_extension] = ACTIONS(2663),
    [anon_sym_indirect] = ACTIONS(2663),
    [anon_sym_SEMI] = ACTIONS(2663),
    [anon_sym_init] = ACTIONS(2663),
    [anon_sym_deinit] = ACTIONS(2663),
    [anon_sym_subscript] = ACTIONS(2663),
    [anon_sym_prefix] = ACTIONS(2663),
    [anon_sym_infix] = ACTIONS(2663),
    [anon_sym_postfix] = ACTIONS(2663),
    [anon_sym_precedencegroup] = ACTIONS(2663),
    [anon_sym_associatedtype] = ACTIONS(2663),
    [anon_sym_AT] = ACTIONS(2661),
    [anon_sym_override] = ACTIONS(2663),
    [anon_sym_convenience] = ACTIONS(2663),
    [anon_sym_required] = ACTIONS(2663),
    [anon_sym_nonisolated] = ACTIONS(2663),
    [anon_sym_public] = ACTIONS(2663),
    [anon_sym_private] = ACTIONS(2663),
    [anon_sym_internal] = ACTIONS(2663),
    [anon_sym_fileprivate] = ACTIONS(2663),
    [anon_sym_open] = ACTIONS(2663),
    [anon_sym_mutating] = ACTIONS(2663),
    [anon_sym_nonmutating] = ACTIONS(2663),
    [anon_sym_static] = ACTIONS(2663),
    [anon_sym_dynamic] = ACTIONS(2663),
    [anon_sym_optional] = ACTIONS(2663),
    [anon_sym_distributed] = ACTIONS(2663),
    [anon_sym_final] = ACTIONS(2663),
    [anon_sym_inout] = ACTIONS(2663),
    [anon_sym_ATescaping] = ACTIONS(2663),
    [anon_sym_ATautoclosure] = ACTIONS(2663),
    [anon_sym_weak] = ACTIONS(2663),
    [anon_sym_unowned] = ACTIONS(2661),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2663),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2663),
    [anon_sym_borrowing] = ACTIONS(2663),
    [anon_sym_consuming] = ACTIONS(2663),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2663),
    [sym__conjunction_operator_custom] = ACTIONS(2663),
    [sym__disjunction_operator_custom] = ACTIONS(2663),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2663),
    [sym__eq_custom] = ACTIONS(2663),
    [sym__eq_eq_custom] = ACTIONS(2663),
    [sym__plus_then_ws] = ACTIONS(2663),
    [sym__minus_then_ws] = ACTIONS(2663),
    [sym__bang_custom] = ACTIONS(2663),
    [sym__as_custom] = ACTIONS(2663),
    [sym__as_quest_custom] = ACTIONS(2663),
    [sym__as_bang_custom] = ACTIONS(2663),
    [sym__custom_operator] = ACTIONS(2663),
  },
  [867] = {
    [aux_sym_key_path_expression_repeat1] = STATE(862),
    [anon_sym_BANG] = ACTIONS(3264),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3266),
    [anon_sym_async] = ACTIONS(3266),
    [anon_sym_lazy] = ACTIONS(3266),
    [anon_sym_package] = ACTIONS(3266),
    [anon_sym_RPAREN] = ACTIONS(3266),
    [anon_sym_COMMA] = ACTIONS(3266),
    [anon_sym_COLON] = ACTIONS(3266),
    [anon_sym_LPAREN] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(3266),
    [anon_sym_RBRACK] = ACTIONS(3266),
    [anon_sym_DOT] = ACTIONS(2967),
    [anon_sym_QMARK] = ACTIONS(3264),
    [anon_sym_QMARK2] = ACTIONS(3266),
    [anon_sym_AMP] = ACTIONS(3266),
    [aux_sym_custom_operator_token1] = ACTIONS(3266),
    [anon_sym_LT] = ACTIONS(3264),
    [anon_sym_GT] = ACTIONS(3264),
    [anon_sym_LBRACE] = ACTIONS(3266),
    [anon_sym_CARET_LBRACE] = ACTIONS(3266),
    [anon_sym_RBRACE] = ACTIONS(3266),
    [anon_sym_case] = ACTIONS(3266),
    [anon_sym_PLUS_EQ] = ACTIONS(3266),
    [anon_sym_DASH_EQ] = ACTIONS(3266),
    [anon_sym_STAR_EQ] = ACTIONS(3266),
    [anon_sym_SLASH_EQ] = ACTIONS(3266),
    [anon_sym_PERCENT_EQ] = ACTIONS(3266),
    [anon_sym_BANG_EQ] = ACTIONS(3264),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3266),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3266),
    [anon_sym_LT_EQ] = ACTIONS(3266),
    [anon_sym_GT_EQ] = ACTIONS(3266),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3266),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3266),
    [anon_sym_is] = ACTIONS(3266),
    [anon_sym_PLUS] = ACTIONS(3264),
    [anon_sym_DASH] = ACTIONS(3264),
    [anon_sym_STAR] = ACTIONS(3264),
    [anon_sym_SLASH] = ACTIONS(3264),
    [anon_sym_PERCENT] = ACTIONS(3264),
    [anon_sym_PLUS_PLUS] = ACTIONS(3266),
    [anon_sym_DASH_DASH] = ACTIONS(3266),
    [anon_sym_PIPE] = ACTIONS(3266),
    [anon_sym_CARET] = ACTIONS(3264),
    [anon_sym_LT_LT] = ACTIONS(3266),
    [anon_sym_GT_GT] = ACTIONS(3266),
    [anon_sym_import] = ACTIONS(3266),
    [anon_sym_typealias] = ACTIONS(3266),
    [anon_sym_struct] = ACTIONS(3266),
    [anon_sym_class] = ACTIONS(3266),
    [anon_sym_enum] = ACTIONS(3266),
    [anon_sym_protocol] = ACTIONS(3266),
    [anon_sym_let] = ACTIONS(3266),
    [anon_sym_var] = ACTIONS(3266),
    [anon_sym_func] = ACTIONS(3266),
    [anon_sym_extension] = ACTIONS(3266),
    [anon_sym_indirect] = ACTIONS(3266),
    [anon_sym_SEMI] = ACTIONS(3266),
    [anon_sym_init] = ACTIONS(3266),
    [anon_sym_deinit] = ACTIONS(3266),
    [anon_sym_subscript] = ACTIONS(3266),
    [anon_sym_prefix] = ACTIONS(3266),
    [anon_sym_infix] = ACTIONS(3266),
    [anon_sym_postfix] = ACTIONS(3266),
    [anon_sym_precedencegroup] = ACTIONS(3266),
    [anon_sym_associatedtype] = ACTIONS(3266),
    [anon_sym_AT] = ACTIONS(3264),
    [anon_sym_override] = ACTIONS(3266),
    [anon_sym_convenience] = ACTIONS(3266),
    [anon_sym_required] = ACTIONS(3266),
    [anon_sym_nonisolated] = ACTIONS(3266),
    [anon_sym_public] = ACTIONS(3266),
    [anon_sym_private] = ACTIONS(3266),
    [anon_sym_internal] = ACTIONS(3266),
    [anon_sym_fileprivate] = ACTIONS(3266),
    [anon_sym_open] = ACTIONS(3266),
    [anon_sym_mutating] = ACTIONS(3266),
    [anon_sym_nonmutating] = ACTIONS(3266),
    [anon_sym_static] = ACTIONS(3266),
    [anon_sym_dynamic] = ACTIONS(3266),
    [anon_sym_optional] = ACTIONS(3266),
    [anon_sym_distributed] = ACTIONS(3266),
    [anon_sym_final] = ACTIONS(3266),
    [anon_sym_inout] = ACTIONS(3266),
    [anon_sym_ATescaping] = ACTIONS(3266),
    [anon_sym_ATautoclosure] = ACTIONS(3266),
    [anon_sym_weak] = ACTIONS(3266),
    [anon_sym_unowned] = ACTIONS(3264),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3266),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3266),
    [anon_sym_borrowing] = ACTIONS(3266),
    [anon_sym_consuming] = ACTIONS(3266),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3266),
    [sym__conjunction_operator_custom] = ACTIONS(3266),
    [sym__disjunction_operator_custom] = ACTIONS(3266),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3266),
    [sym__eq_custom] = ACTIONS(3266),
    [sym__eq_eq_custom] = ACTIONS(3266),
    [sym__plus_then_ws] = ACTIONS(3266),
    [sym__minus_then_ws] = ACTIONS(3266),
    [sym__bang_custom] = ACTIONS(3266),
    [sym__as_custom] = ACTIONS(3266),
    [sym__as_quest_custom] = ACTIONS(3266),
    [sym__as_bang_custom] = ACTIONS(3266),
    [sym__custom_operator] = ACTIONS(3266),
  },
  [868] = {
    [sym__conjunction_operator] = STATE(4890),
    [sym__disjunction_operator] = STATE(4890),
    [anon_sym_BANG] = ACTIONS(3283),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3285),
    [anon_sym_async] = ACTIONS(3285),
    [anon_sym_lazy] = ACTIONS(3285),
    [anon_sym_package] = ACTIONS(3285),
    [anon_sym_RPAREN] = ACTIONS(3285),
    [anon_sym_COMMA] = ACTIONS(3285),
    [anon_sym_COLON] = ACTIONS(3285),
    [anon_sym_LPAREN] = ACTIONS(3285),
    [anon_sym_LBRACK] = ACTIONS(3285),
    [anon_sym_RBRACK] = ACTIONS(3285),
    [anon_sym_QMARK] = ACTIONS(3283),
    [anon_sym_QMARK2] = ACTIONS(3285),
    [anon_sym_AMP] = ACTIONS(3285),
    [aux_sym_custom_operator_token1] = ACTIONS(3285),
    [anon_sym_LT] = ACTIONS(3283),
    [anon_sym_GT] = ACTIONS(3283),
    [anon_sym_LBRACE] = ACTIONS(3285),
    [anon_sym_CARET_LBRACE] = ACTIONS(3285),
    [anon_sym_RBRACE] = ACTIONS(3285),
    [anon_sym_case] = ACTIONS(3285),
    [anon_sym_PLUS_EQ] = ACTIONS(3285),
    [anon_sym_DASH_EQ] = ACTIONS(3285),
    [anon_sym_STAR_EQ] = ACTIONS(3285),
    [anon_sym_SLASH_EQ] = ACTIONS(3285),
    [anon_sym_PERCENT_EQ] = ACTIONS(3285),
    [anon_sym_BANG_EQ] = ACTIONS(3283),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3285),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3285),
    [anon_sym_LT_EQ] = ACTIONS(3285),
    [anon_sym_GT_EQ] = ACTIONS(3285),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3285),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3285),
    [anon_sym_is] = ACTIONS(3285),
    [anon_sym_PLUS] = ACTIONS(3283),
    [anon_sym_DASH] = ACTIONS(3283),
    [anon_sym_STAR] = ACTIONS(3283),
    [anon_sym_SLASH] = ACTIONS(3283),
    [anon_sym_PERCENT] = ACTIONS(3283),
    [anon_sym_PLUS_PLUS] = ACTIONS(3285),
    [anon_sym_DASH_DASH] = ACTIONS(3285),
    [anon_sym_PIPE] = ACTIONS(3285),
    [anon_sym_CARET] = ACTIONS(3283),
    [anon_sym_LT_LT] = ACTIONS(3285),
    [anon_sym_GT_GT] = ACTIONS(3285),
    [anon_sym_import] = ACTIONS(3285),
    [anon_sym_typealias] = ACTIONS(3285),
    [anon_sym_struct] = ACTIONS(3285),
    [anon_sym_class] = ACTIONS(3285),
    [anon_sym_enum] = ACTIONS(3285),
    [anon_sym_protocol] = ACTIONS(3285),
    [anon_sym_let] = ACTIONS(3285),
    [anon_sym_var] = ACTIONS(3285),
    [anon_sym_func] = ACTIONS(3285),
    [anon_sym_extension] = ACTIONS(3285),
    [anon_sym_indirect] = ACTIONS(3285),
    [anon_sym_SEMI] = ACTIONS(3285),
    [anon_sym_init] = ACTIONS(3285),
    [anon_sym_deinit] = ACTIONS(3285),
    [anon_sym_subscript] = ACTIONS(3285),
    [anon_sym_prefix] = ACTIONS(3285),
    [anon_sym_infix] = ACTIONS(3285),
    [anon_sym_postfix] = ACTIONS(3285),
    [anon_sym_precedencegroup] = ACTIONS(3285),
    [anon_sym_associatedtype] = ACTIONS(3285),
    [anon_sym_AT] = ACTIONS(3283),
    [anon_sym_override] = ACTIONS(3285),
    [anon_sym_convenience] = ACTIONS(3285),
    [anon_sym_required] = ACTIONS(3285),
    [anon_sym_nonisolated] = ACTIONS(3285),
    [anon_sym_public] = ACTIONS(3285),
    [anon_sym_private] = ACTIONS(3285),
    [anon_sym_internal] = ACTIONS(3285),
    [anon_sym_fileprivate] = ACTIONS(3285),
    [anon_sym_open] = ACTIONS(3285),
    [anon_sym_mutating] = ACTIONS(3285),
    [anon_sym_nonmutating] = ACTIONS(3285),
    [anon_sym_static] = ACTIONS(3285),
    [anon_sym_dynamic] = ACTIONS(3285),
    [anon_sym_optional] = ACTIONS(3285),
    [anon_sym_distributed] = ACTIONS(3285),
    [anon_sym_final] = ACTIONS(3285),
    [anon_sym_inout] = ACTIONS(3285),
    [anon_sym_ATescaping] = ACTIONS(3285),
    [anon_sym_ATautoclosure] = ACTIONS(3285),
    [anon_sym_weak] = ACTIONS(3285),
    [anon_sym_unowned] = ACTIONS(3283),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3285),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3285),
    [anon_sym_borrowing] = ACTIONS(3285),
    [anon_sym_consuming] = ACTIONS(3285),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3285),
    [sym__conjunction_operator_custom] = ACTIONS(3256),
    [sym__disjunction_operator_custom] = ACTIONS(3256),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3285),
    [sym__eq_custom] = ACTIONS(3285),
    [sym__eq_eq_custom] = ACTIONS(3285),
    [sym__plus_then_ws] = ACTIONS(3285),
    [sym__minus_then_ws] = ACTIONS(3285),
    [sym__bang_custom] = ACTIONS(3285),
    [sym__as_custom] = ACTIONS(3285),
    [sym__as_quest_custom] = ACTIONS(3285),
    [sym__as_bang_custom] = ACTIONS(3285),
    [sym__custom_operator] = ACTIONS(3285),
  },
  [869] = {
    [anon_sym_BANG] = ACTIONS(3287),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3289),
    [anon_sym_async] = ACTIONS(3289),
    [anon_sym_lazy] = ACTIONS(3289),
    [anon_sym_package] = ACTIONS(3289),
    [anon_sym_RPAREN] = ACTIONS(3289),
    [anon_sym_COMMA] = ACTIONS(3289),
    [anon_sym_COLON] = ACTIONS(3289),
    [anon_sym_LPAREN] = ACTIONS(3289),
    [anon_sym_LBRACK] = ACTIONS(3289),
    [anon_sym_RBRACK] = ACTIONS(3289),
    [anon_sym_QMARK] = ACTIONS(3287),
    [anon_sym_QMARK2] = ACTIONS(3289),
    [anon_sym_AMP] = ACTIONS(3289),
    [aux_sym_custom_operator_token1] = ACTIONS(3289),
    [anon_sym_LT] = ACTIONS(3287),
    [anon_sym_GT] = ACTIONS(3287),
    [anon_sym_LBRACE] = ACTIONS(3289),
    [anon_sym_CARET_LBRACE] = ACTIONS(3289),
    [anon_sym_RBRACE] = ACTIONS(3289),
    [anon_sym_case] = ACTIONS(3289),
    [anon_sym_PLUS_EQ] = ACTIONS(3289),
    [anon_sym_DASH_EQ] = ACTIONS(3289),
    [anon_sym_STAR_EQ] = ACTIONS(3289),
    [anon_sym_SLASH_EQ] = ACTIONS(3289),
    [anon_sym_PERCENT_EQ] = ACTIONS(3289),
    [anon_sym_BANG_EQ] = ACTIONS(3287),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3289),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3289),
    [anon_sym_LT_EQ] = ACTIONS(3289),
    [anon_sym_GT_EQ] = ACTIONS(3289),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3289),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3289),
    [anon_sym_is] = ACTIONS(3289),
    [anon_sym_PLUS] = ACTIONS(3287),
    [anon_sym_DASH] = ACTIONS(3287),
    [anon_sym_STAR] = ACTIONS(3287),
    [anon_sym_SLASH] = ACTIONS(3287),
    [anon_sym_PERCENT] = ACTIONS(3287),
    [anon_sym_PLUS_PLUS] = ACTIONS(3289),
    [anon_sym_DASH_DASH] = ACTIONS(3289),
    [anon_sym_PIPE] = ACTIONS(3289),
    [anon_sym_CARET] = ACTIONS(3287),
    [anon_sym_LT_LT] = ACTIONS(3289),
    [anon_sym_GT_GT] = ACTIONS(3289),
    [anon_sym_import] = ACTIONS(3289),
    [anon_sym_typealias] = ACTIONS(3289),
    [anon_sym_struct] = ACTIONS(3289),
    [anon_sym_class] = ACTIONS(3289),
    [anon_sym_enum] = ACTIONS(3289),
    [anon_sym_protocol] = ACTIONS(3289),
    [anon_sym_let] = ACTIONS(3289),
    [anon_sym_var] = ACTIONS(3289),
    [anon_sym_func] = ACTIONS(3289),
    [anon_sym_extension] = ACTIONS(3289),
    [anon_sym_indirect] = ACTIONS(3289),
    [anon_sym_SEMI] = ACTIONS(3289),
    [anon_sym_init] = ACTIONS(3289),
    [anon_sym_deinit] = ACTIONS(3289),
    [anon_sym_subscript] = ACTIONS(3289),
    [anon_sym_prefix] = ACTIONS(3289),
    [anon_sym_infix] = ACTIONS(3289),
    [anon_sym_postfix] = ACTIONS(3289),
    [anon_sym_precedencegroup] = ACTIONS(3289),
    [anon_sym_associatedtype] = ACTIONS(3289),
    [anon_sym_AT] = ACTIONS(3287),
    [anon_sym_override] = ACTIONS(3289),
    [anon_sym_convenience] = ACTIONS(3289),
    [anon_sym_required] = ACTIONS(3289),
    [anon_sym_nonisolated] = ACTIONS(3289),
    [anon_sym_public] = ACTIONS(3289),
    [anon_sym_private] = ACTIONS(3289),
    [anon_sym_internal] = ACTIONS(3289),
    [anon_sym_fileprivate] = ACTIONS(3289),
    [anon_sym_open] = ACTIONS(3289),
    [anon_sym_mutating] = ACTIONS(3289),
    [anon_sym_nonmutating] = ACTIONS(3289),
    [anon_sym_static] = ACTIONS(3289),
    [anon_sym_dynamic] = ACTIONS(3289),
    [anon_sym_optional] = ACTIONS(3289),
    [anon_sym_distributed] = ACTIONS(3289),
    [anon_sym_final] = ACTIONS(3289),
    [anon_sym_inout] = ACTIONS(3289),
    [anon_sym_ATescaping] = ACTIONS(3289),
    [anon_sym_ATautoclosure] = ACTIONS(3289),
    [anon_sym_weak] = ACTIONS(3289),
    [anon_sym_unowned] = ACTIONS(3287),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3289),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3289),
    [anon_sym_borrowing] = ACTIONS(3289),
    [anon_sym_consuming] = ACTIONS(3289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3289),
    [sym__conjunction_operator_custom] = ACTIONS(3289),
    [sym__disjunction_operator_custom] = ACTIONS(3289),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3289),
    [sym__eq_custom] = ACTIONS(3289),
    [sym__eq_eq_custom] = ACTIONS(3289),
    [sym__plus_then_ws] = ACTIONS(3289),
    [sym__minus_then_ws] = ACTIONS(3289),
    [sym__bang_custom] = ACTIONS(3289),
    [sym_else] = ACTIONS(3291),
    [sym__as_custom] = ACTIONS(3289),
    [sym__as_quest_custom] = ACTIONS(3289),
    [sym__as_bang_custom] = ACTIONS(3289),
    [sym__custom_operator] = ACTIONS(3289),
  },
  [870] = {
    [anon_sym_BANG] = ACTIONS(3194),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3196),
    [anon_sym_async] = ACTIONS(3196),
    [anon_sym_lazy] = ACTIONS(3196),
    [anon_sym_package] = ACTIONS(3196),
    [anon_sym_RPAREN] = ACTIONS(3196),
    [anon_sym_COMMA] = ACTIONS(3196),
    [anon_sym_COLON] = ACTIONS(3196),
    [anon_sym_LPAREN] = ACTIONS(3196),
    [anon_sym_LBRACK] = ACTIONS(3196),
    [anon_sym_RBRACK] = ACTIONS(3196),
    [anon_sym_DOT] = ACTIONS(3194),
    [anon_sym_QMARK] = ACTIONS(3194),
    [anon_sym_QMARK2] = ACTIONS(3196),
    [anon_sym_AMP] = ACTIONS(3196),
    [aux_sym_custom_operator_token1] = ACTIONS(3196),
    [anon_sym_LT] = ACTIONS(3194),
    [anon_sym_GT] = ACTIONS(3194),
    [anon_sym_LBRACE] = ACTIONS(3196),
    [anon_sym_CARET_LBRACE] = ACTIONS(3196),
    [anon_sym_RBRACE] = ACTIONS(3196),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_PLUS_EQ] = ACTIONS(3196),
    [anon_sym_DASH_EQ] = ACTIONS(3196),
    [anon_sym_STAR_EQ] = ACTIONS(3196),
    [anon_sym_SLASH_EQ] = ACTIONS(3196),
    [anon_sym_PERCENT_EQ] = ACTIONS(3196),
    [anon_sym_BANG_EQ] = ACTIONS(3194),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3196),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3196),
    [anon_sym_LT_EQ] = ACTIONS(3196),
    [anon_sym_GT_EQ] = ACTIONS(3196),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3196),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3196),
    [anon_sym_is] = ACTIONS(3196),
    [anon_sym_PLUS] = ACTIONS(3194),
    [anon_sym_DASH] = ACTIONS(3194),
    [anon_sym_STAR] = ACTIONS(3194),
    [anon_sym_SLASH] = ACTIONS(3194),
    [anon_sym_PERCENT] = ACTIONS(3194),
    [anon_sym_PLUS_PLUS] = ACTIONS(3196),
    [anon_sym_DASH_DASH] = ACTIONS(3196),
    [anon_sym_PIPE] = ACTIONS(3196),
    [anon_sym_CARET] = ACTIONS(3194),
    [anon_sym_LT_LT] = ACTIONS(3196),
    [anon_sym_GT_GT] = ACTIONS(3196),
    [anon_sym_import] = ACTIONS(3196),
    [anon_sym_typealias] = ACTIONS(3196),
    [anon_sym_struct] = ACTIONS(3196),
    [anon_sym_class] = ACTIONS(3196),
    [anon_sym_enum] = ACTIONS(3196),
    [anon_sym_protocol] = ACTIONS(3196),
    [anon_sym_let] = ACTIONS(3196),
    [anon_sym_var] = ACTIONS(3196),
    [anon_sym_func] = ACTIONS(3196),
    [anon_sym_extension] = ACTIONS(3196),
    [anon_sym_indirect] = ACTIONS(3196),
    [anon_sym_SEMI] = ACTIONS(3196),
    [anon_sym_init] = ACTIONS(3196),
    [anon_sym_deinit] = ACTIONS(3196),
    [anon_sym_subscript] = ACTIONS(3196),
    [anon_sym_prefix] = ACTIONS(3196),
    [anon_sym_infix] = ACTIONS(3196),
    [anon_sym_postfix] = ACTIONS(3196),
    [anon_sym_precedencegroup] = ACTIONS(3196),
    [anon_sym_associatedtype] = ACTIONS(3196),
    [anon_sym_AT] = ACTIONS(3194),
    [anon_sym_override] = ACTIONS(3196),
    [anon_sym_convenience] = ACTIONS(3196),
    [anon_sym_required] = ACTIONS(3196),
    [anon_sym_nonisolated] = ACTIONS(3196),
    [anon_sym_public] = ACTIONS(3196),
    [anon_sym_private] = ACTIONS(3196),
    [anon_sym_internal] = ACTIONS(3196),
    [anon_sym_fileprivate] = ACTIONS(3196),
    [anon_sym_open] = ACTIONS(3196),
    [anon_sym_mutating] = ACTIONS(3196),
    [anon_sym_nonmutating] = ACTIONS(3196),
    [anon_sym_static] = ACTIONS(3196),
    [anon_sym_dynamic] = ACTIONS(3196),
    [anon_sym_optional] = ACTIONS(3196),
    [anon_sym_distributed] = ACTIONS(3196),
    [anon_sym_final] = ACTIONS(3196),
    [anon_sym_inout] = ACTIONS(3196),
    [anon_sym_ATescaping] = ACTIONS(3196),
    [anon_sym_ATautoclosure] = ACTIONS(3196),
    [anon_sym_weak] = ACTIONS(3196),
    [anon_sym_unowned] = ACTIONS(3194),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3196),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3196),
    [anon_sym_borrowing] = ACTIONS(3196),
    [anon_sym_consuming] = ACTIONS(3196),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3196),
    [sym__conjunction_operator_custom] = ACTIONS(3196),
    [sym__disjunction_operator_custom] = ACTIONS(3196),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3196),
    [sym__eq_custom] = ACTIONS(3196),
    [sym__eq_eq_custom] = ACTIONS(3196),
    [sym__plus_then_ws] = ACTIONS(3196),
    [sym__minus_then_ws] = ACTIONS(3196),
    [sym__bang_custom] = ACTIONS(3196),
    [sym__as_custom] = ACTIONS(3196),
    [sym__as_quest_custom] = ACTIONS(3196),
    [sym__as_bang_custom] = ACTIONS(3196),
    [sym__custom_operator] = ACTIONS(3196),
  },
  [871] = {
    [anon_sym_BANG] = ACTIONS(3293),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3295),
    [anon_sym_async] = ACTIONS(3295),
    [anon_sym_lazy] = ACTIONS(3295),
    [anon_sym_package] = ACTIONS(3295),
    [anon_sym_RPAREN] = ACTIONS(3295),
    [anon_sym_COMMA] = ACTIONS(3295),
    [anon_sym_COLON] = ACTIONS(3295),
    [anon_sym_LPAREN] = ACTIONS(3295),
    [anon_sym_LBRACK] = ACTIONS(3295),
    [anon_sym_RBRACK] = ACTIONS(3295),
    [anon_sym_QMARK] = ACTIONS(3293),
    [anon_sym_QMARK2] = ACTIONS(3295),
    [anon_sym_AMP] = ACTIONS(3295),
    [aux_sym_custom_operator_token1] = ACTIONS(3295),
    [anon_sym_LT] = ACTIONS(3293),
    [anon_sym_GT] = ACTIONS(3293),
    [anon_sym_LBRACE] = ACTIONS(3295),
    [anon_sym_CARET_LBRACE] = ACTIONS(3295),
    [anon_sym_RBRACE] = ACTIONS(3295),
    [anon_sym_case] = ACTIONS(3295),
    [anon_sym_PLUS_EQ] = ACTIONS(3295),
    [anon_sym_DASH_EQ] = ACTIONS(3295),
    [anon_sym_STAR_EQ] = ACTIONS(3295),
    [anon_sym_SLASH_EQ] = ACTIONS(3295),
    [anon_sym_PERCENT_EQ] = ACTIONS(3295),
    [anon_sym_BANG_EQ] = ACTIONS(3293),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3295),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3295),
    [anon_sym_LT_EQ] = ACTIONS(3295),
    [anon_sym_GT_EQ] = ACTIONS(3295),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3295),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3295),
    [anon_sym_is] = ACTIONS(3295),
    [anon_sym_PLUS] = ACTIONS(3293),
    [anon_sym_DASH] = ACTIONS(3293),
    [anon_sym_STAR] = ACTIONS(3293),
    [anon_sym_SLASH] = ACTIONS(3293),
    [anon_sym_PERCENT] = ACTIONS(3293),
    [anon_sym_PLUS_PLUS] = ACTIONS(3295),
    [anon_sym_DASH_DASH] = ACTIONS(3295),
    [anon_sym_PIPE] = ACTIONS(3295),
    [anon_sym_CARET] = ACTIONS(3293),
    [anon_sym_LT_LT] = ACTIONS(3295),
    [anon_sym_GT_GT] = ACTIONS(3295),
    [anon_sym_import] = ACTIONS(3295),
    [anon_sym_typealias] = ACTIONS(3295),
    [anon_sym_struct] = ACTIONS(3295),
    [anon_sym_class] = ACTIONS(3295),
    [anon_sym_enum] = ACTIONS(3295),
    [anon_sym_protocol] = ACTIONS(3295),
    [anon_sym_let] = ACTIONS(3295),
    [anon_sym_var] = ACTIONS(3295),
    [anon_sym_func] = ACTIONS(3295),
    [anon_sym_extension] = ACTIONS(3295),
    [anon_sym_indirect] = ACTIONS(3295),
    [anon_sym_SEMI] = ACTIONS(3295),
    [anon_sym_init] = ACTIONS(3295),
    [anon_sym_deinit] = ACTIONS(3295),
    [anon_sym_subscript] = ACTIONS(3295),
    [anon_sym_prefix] = ACTIONS(3295),
    [anon_sym_infix] = ACTIONS(3295),
    [anon_sym_postfix] = ACTIONS(3295),
    [anon_sym_precedencegroup] = ACTIONS(3295),
    [anon_sym_associatedtype] = ACTIONS(3295),
    [anon_sym_AT] = ACTIONS(3293),
    [anon_sym_override] = ACTIONS(3295),
    [anon_sym_convenience] = ACTIONS(3295),
    [anon_sym_required] = ACTIONS(3295),
    [anon_sym_nonisolated] = ACTIONS(3295),
    [anon_sym_public] = ACTIONS(3295),
    [anon_sym_private] = ACTIONS(3295),
    [anon_sym_internal] = ACTIONS(3295),
    [anon_sym_fileprivate] = ACTIONS(3295),
    [anon_sym_open] = ACTIONS(3295),
    [anon_sym_mutating] = ACTIONS(3295),
    [anon_sym_nonmutating] = ACTIONS(3295),
    [anon_sym_static] = ACTIONS(3295),
    [anon_sym_dynamic] = ACTIONS(3295),
    [anon_sym_optional] = ACTIONS(3295),
    [anon_sym_distributed] = ACTIONS(3295),
    [anon_sym_final] = ACTIONS(3295),
    [anon_sym_inout] = ACTIONS(3295),
    [anon_sym_ATescaping] = ACTIONS(3295),
    [anon_sym_ATautoclosure] = ACTIONS(3295),
    [anon_sym_weak] = ACTIONS(3295),
    [anon_sym_unowned] = ACTIONS(3293),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3295),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3295),
    [anon_sym_borrowing] = ACTIONS(3295),
    [anon_sym_consuming] = ACTIONS(3295),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3295),
    [sym__conjunction_operator_custom] = ACTIONS(3295),
    [sym__disjunction_operator_custom] = ACTIONS(3295),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3295),
    [sym__eq_custom] = ACTIONS(3295),
    [sym__eq_eq_custom] = ACTIONS(3295),
    [sym__plus_then_ws] = ACTIONS(3295),
    [sym__minus_then_ws] = ACTIONS(3295),
    [sym__bang_custom] = ACTIONS(3295),
    [sym_else] = ACTIONS(3295),
    [sym__as_custom] = ACTIONS(3295),
    [sym__as_quest_custom] = ACTIONS(3295),
    [sym__as_bang_custom] = ACTIONS(3295),
    [sym__custom_operator] = ACTIONS(3295),
  },
  [872] = {
    [anon_sym_BANG] = ACTIONS(3105),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3107),
    [anon_sym_async] = ACTIONS(3107),
    [anon_sym_lazy] = ACTIONS(3107),
    [anon_sym_package] = ACTIONS(3107),
    [anon_sym_RPAREN] = ACTIONS(3107),
    [anon_sym_COMMA] = ACTIONS(3107),
    [anon_sym_COLON] = ACTIONS(3107),
    [anon_sym_LPAREN] = ACTIONS(3107),
    [anon_sym_LBRACK] = ACTIONS(3107),
    [anon_sym_RBRACK] = ACTIONS(3107),
    [anon_sym_DOT] = ACTIONS(3105),
    [anon_sym_QMARK] = ACTIONS(3105),
    [anon_sym_QMARK2] = ACTIONS(3107),
    [anon_sym_AMP] = ACTIONS(3107),
    [aux_sym_custom_operator_token1] = ACTIONS(3107),
    [anon_sym_LT] = ACTIONS(3105),
    [anon_sym_GT] = ACTIONS(3105),
    [anon_sym_LBRACE] = ACTIONS(3107),
    [anon_sym_CARET_LBRACE] = ACTIONS(3107),
    [anon_sym_RBRACE] = ACTIONS(3107),
    [anon_sym_case] = ACTIONS(3107),
    [anon_sym_PLUS_EQ] = ACTIONS(3107),
    [anon_sym_DASH_EQ] = ACTIONS(3107),
    [anon_sym_STAR_EQ] = ACTIONS(3107),
    [anon_sym_SLASH_EQ] = ACTIONS(3107),
    [anon_sym_PERCENT_EQ] = ACTIONS(3107),
    [anon_sym_BANG_EQ] = ACTIONS(3105),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3107),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3107),
    [anon_sym_LT_EQ] = ACTIONS(3107),
    [anon_sym_GT_EQ] = ACTIONS(3107),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3107),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3107),
    [anon_sym_is] = ACTIONS(3107),
    [anon_sym_PLUS] = ACTIONS(3105),
    [anon_sym_DASH] = ACTIONS(3105),
    [anon_sym_STAR] = ACTIONS(3105),
    [anon_sym_SLASH] = ACTIONS(3105),
    [anon_sym_PERCENT] = ACTIONS(3105),
    [anon_sym_PLUS_PLUS] = ACTIONS(3107),
    [anon_sym_DASH_DASH] = ACTIONS(3107),
    [anon_sym_PIPE] = ACTIONS(3107),
    [anon_sym_CARET] = ACTIONS(3105),
    [anon_sym_LT_LT] = ACTIONS(3107),
    [anon_sym_GT_GT] = ACTIONS(3107),
    [anon_sym_import] = ACTIONS(3107),
    [anon_sym_typealias] = ACTIONS(3107),
    [anon_sym_struct] = ACTIONS(3107),
    [anon_sym_class] = ACTIONS(3107),
    [anon_sym_enum] = ACTIONS(3107),
    [anon_sym_protocol] = ACTIONS(3107),
    [anon_sym_let] = ACTIONS(3107),
    [anon_sym_var] = ACTIONS(3107),
    [anon_sym_func] = ACTIONS(3107),
    [anon_sym_extension] = ACTIONS(3107),
    [anon_sym_indirect] = ACTIONS(3107),
    [anon_sym_SEMI] = ACTIONS(3107),
    [anon_sym_init] = ACTIONS(3107),
    [anon_sym_deinit] = ACTIONS(3107),
    [anon_sym_subscript] = ACTIONS(3107),
    [anon_sym_prefix] = ACTIONS(3107),
    [anon_sym_infix] = ACTIONS(3107),
    [anon_sym_postfix] = ACTIONS(3107),
    [anon_sym_precedencegroup] = ACTIONS(3107),
    [anon_sym_associatedtype] = ACTIONS(3107),
    [anon_sym_AT] = ACTIONS(3105),
    [anon_sym_override] = ACTIONS(3107),
    [anon_sym_convenience] = ACTIONS(3107),
    [anon_sym_required] = ACTIONS(3107),
    [anon_sym_nonisolated] = ACTIONS(3107),
    [anon_sym_public] = ACTIONS(3107),
    [anon_sym_private] = ACTIONS(3107),
    [anon_sym_internal] = ACTIONS(3107),
    [anon_sym_fileprivate] = ACTIONS(3107),
    [anon_sym_open] = ACTIONS(3107),
    [anon_sym_mutating] = ACTIONS(3107),
    [anon_sym_nonmutating] = ACTIONS(3107),
    [anon_sym_static] = ACTIONS(3107),
    [anon_sym_dynamic] = ACTIONS(3107),
    [anon_sym_optional] = ACTIONS(3107),
    [anon_sym_distributed] = ACTIONS(3107),
    [anon_sym_final] = ACTIONS(3107),
    [anon_sym_inout] = ACTIONS(3107),
    [anon_sym_ATescaping] = ACTIONS(3107),
    [anon_sym_ATautoclosure] = ACTIONS(3107),
    [anon_sym_weak] = ACTIONS(3107),
    [anon_sym_unowned] = ACTIONS(3105),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3107),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3107),
    [anon_sym_borrowing] = ACTIONS(3107),
    [anon_sym_consuming] = ACTIONS(3107),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3107),
    [sym__conjunction_operator_custom] = ACTIONS(3107),
    [sym__disjunction_operator_custom] = ACTIONS(3107),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3107),
    [sym__eq_custom] = ACTIONS(3107),
    [sym__eq_eq_custom] = ACTIONS(3107),
    [sym__plus_then_ws] = ACTIONS(3107),
    [sym__minus_then_ws] = ACTIONS(3107),
    [sym__bang_custom] = ACTIONS(3107),
    [sym__as_custom] = ACTIONS(3107),
    [sym__as_quest_custom] = ACTIONS(3107),
    [sym__as_bang_custom] = ACTIONS(3107),
    [sym__custom_operator] = ACTIONS(3107),
  },
  [873] = {
    [anon_sym_BANG] = ACTIONS(3198),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3200),
    [anon_sym_async] = ACTIONS(3200),
    [anon_sym_lazy] = ACTIONS(3200),
    [anon_sym_package] = ACTIONS(3200),
    [anon_sym_RPAREN] = ACTIONS(3200),
    [anon_sym_COMMA] = ACTIONS(3200),
    [anon_sym_COLON] = ACTIONS(3200),
    [anon_sym_LPAREN] = ACTIONS(3200),
    [anon_sym_LBRACK] = ACTIONS(3200),
    [anon_sym_RBRACK] = ACTIONS(3200),
    [anon_sym_DOT] = ACTIONS(3198),
    [anon_sym_QMARK] = ACTIONS(3198),
    [anon_sym_QMARK2] = ACTIONS(3200),
    [anon_sym_AMP] = ACTIONS(3200),
    [aux_sym_custom_operator_token1] = ACTIONS(3200),
    [anon_sym_LT] = ACTIONS(3198),
    [anon_sym_GT] = ACTIONS(3198),
    [anon_sym_LBRACE] = ACTIONS(3200),
    [anon_sym_CARET_LBRACE] = ACTIONS(3200),
    [anon_sym_RBRACE] = ACTIONS(3200),
    [anon_sym_case] = ACTIONS(3200),
    [anon_sym_PLUS_EQ] = ACTIONS(3200),
    [anon_sym_DASH_EQ] = ACTIONS(3200),
    [anon_sym_STAR_EQ] = ACTIONS(3200),
    [anon_sym_SLASH_EQ] = ACTIONS(3200),
    [anon_sym_PERCENT_EQ] = ACTIONS(3200),
    [anon_sym_BANG_EQ] = ACTIONS(3198),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3200),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3200),
    [anon_sym_LT_EQ] = ACTIONS(3200),
    [anon_sym_GT_EQ] = ACTIONS(3200),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3200),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3200),
    [anon_sym_is] = ACTIONS(3200),
    [anon_sym_PLUS] = ACTIONS(3198),
    [anon_sym_DASH] = ACTIONS(3198),
    [anon_sym_STAR] = ACTIONS(3198),
    [anon_sym_SLASH] = ACTIONS(3198),
    [anon_sym_PERCENT] = ACTIONS(3198),
    [anon_sym_PLUS_PLUS] = ACTIONS(3200),
    [anon_sym_DASH_DASH] = ACTIONS(3200),
    [anon_sym_PIPE] = ACTIONS(3200),
    [anon_sym_CARET] = ACTIONS(3198),
    [anon_sym_LT_LT] = ACTIONS(3200),
    [anon_sym_GT_GT] = ACTIONS(3200),
    [anon_sym_import] = ACTIONS(3200),
    [anon_sym_typealias] = ACTIONS(3200),
    [anon_sym_struct] = ACTIONS(3200),
    [anon_sym_class] = ACTIONS(3200),
    [anon_sym_enum] = ACTIONS(3200),
    [anon_sym_protocol] = ACTIONS(3200),
    [anon_sym_let] = ACTIONS(3200),
    [anon_sym_var] = ACTIONS(3200),
    [anon_sym_func] = ACTIONS(3200),
    [anon_sym_extension] = ACTIONS(3200),
    [anon_sym_indirect] = ACTIONS(3200),
    [anon_sym_SEMI] = ACTIONS(3200),
    [anon_sym_init] = ACTIONS(3200),
    [anon_sym_deinit] = ACTIONS(3200),
    [anon_sym_subscript] = ACTIONS(3200),
    [anon_sym_prefix] = ACTIONS(3200),
    [anon_sym_infix] = ACTIONS(3200),
    [anon_sym_postfix] = ACTIONS(3200),
    [anon_sym_precedencegroup] = ACTIONS(3200),
    [anon_sym_associatedtype] = ACTIONS(3200),
    [anon_sym_AT] = ACTIONS(3198),
    [anon_sym_override] = ACTIONS(3200),
    [anon_sym_convenience] = ACTIONS(3200),
    [anon_sym_required] = ACTIONS(3200),
    [anon_sym_nonisolated] = ACTIONS(3200),
    [anon_sym_public] = ACTIONS(3200),
    [anon_sym_private] = ACTIONS(3200),
    [anon_sym_internal] = ACTIONS(3200),
    [anon_sym_fileprivate] = ACTIONS(3200),
    [anon_sym_open] = ACTIONS(3200),
    [anon_sym_mutating] = ACTIONS(3200),
    [anon_sym_nonmutating] = ACTIONS(3200),
    [anon_sym_static] = ACTIONS(3200),
    [anon_sym_dynamic] = ACTIONS(3200),
    [anon_sym_optional] = ACTIONS(3200),
    [anon_sym_distributed] = ACTIONS(3200),
    [anon_sym_final] = ACTIONS(3200),
    [anon_sym_inout] = ACTIONS(3200),
    [anon_sym_ATescaping] = ACTIONS(3200),
    [anon_sym_ATautoclosure] = ACTIONS(3200),
    [anon_sym_weak] = ACTIONS(3200),
    [anon_sym_unowned] = ACTIONS(3198),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3200),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3200),
    [anon_sym_borrowing] = ACTIONS(3200),
    [anon_sym_consuming] = ACTIONS(3200),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3200),
    [sym__conjunction_operator_custom] = ACTIONS(3200),
    [sym__disjunction_operator_custom] = ACTIONS(3200),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3200),
    [sym__eq_custom] = ACTIONS(3200),
    [sym__eq_eq_custom] = ACTIONS(3200),
    [sym__plus_then_ws] = ACTIONS(3200),
    [sym__minus_then_ws] = ACTIONS(3200),
    [sym__bang_custom] = ACTIONS(3200),
    [sym__as_custom] = ACTIONS(3200),
    [sym__as_quest_custom] = ACTIONS(3200),
    [sym__as_bang_custom] = ACTIONS(3200),
    [sym__custom_operator] = ACTIONS(3200),
  },
  [874] = {
    [anon_sym_BANG] = ACTIONS(3091),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3093),
    [anon_sym_async] = ACTIONS(3093),
    [anon_sym_lazy] = ACTIONS(3093),
    [anon_sym_package] = ACTIONS(3093),
    [anon_sym_RPAREN] = ACTIONS(3093),
    [anon_sym_COMMA] = ACTIONS(3093),
    [anon_sym_COLON] = ACTIONS(3093),
    [anon_sym_LPAREN] = ACTIONS(3093),
    [anon_sym_LBRACK] = ACTIONS(3093),
    [anon_sym_RBRACK] = ACTIONS(3093),
    [anon_sym_DOT] = ACTIONS(3091),
    [anon_sym_QMARK] = ACTIONS(3091),
    [anon_sym_QMARK2] = ACTIONS(3093),
    [anon_sym_AMP] = ACTIONS(3093),
    [aux_sym_custom_operator_token1] = ACTIONS(3093),
    [anon_sym_LT] = ACTIONS(3091),
    [anon_sym_GT] = ACTIONS(3091),
    [anon_sym_LBRACE] = ACTIONS(3093),
    [anon_sym_CARET_LBRACE] = ACTIONS(3093),
    [anon_sym_RBRACE] = ACTIONS(3093),
    [anon_sym_case] = ACTIONS(3093),
    [anon_sym_PLUS_EQ] = ACTIONS(3093),
    [anon_sym_DASH_EQ] = ACTIONS(3093),
    [anon_sym_STAR_EQ] = ACTIONS(3093),
    [anon_sym_SLASH_EQ] = ACTIONS(3093),
    [anon_sym_PERCENT_EQ] = ACTIONS(3093),
    [anon_sym_BANG_EQ] = ACTIONS(3091),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3093),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3093),
    [anon_sym_LT_EQ] = ACTIONS(3093),
    [anon_sym_GT_EQ] = ACTIONS(3093),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3093),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3093),
    [anon_sym_is] = ACTIONS(3093),
    [anon_sym_PLUS] = ACTIONS(3091),
    [anon_sym_DASH] = ACTIONS(3091),
    [anon_sym_STAR] = ACTIONS(3091),
    [anon_sym_SLASH] = ACTIONS(3091),
    [anon_sym_PERCENT] = ACTIONS(3091),
    [anon_sym_PLUS_PLUS] = ACTIONS(3093),
    [anon_sym_DASH_DASH] = ACTIONS(3093),
    [anon_sym_PIPE] = ACTIONS(3093),
    [anon_sym_CARET] = ACTIONS(3091),
    [anon_sym_LT_LT] = ACTIONS(3093),
    [anon_sym_GT_GT] = ACTIONS(3093),
    [anon_sym_import] = ACTIONS(3093),
    [anon_sym_typealias] = ACTIONS(3093),
    [anon_sym_struct] = ACTIONS(3093),
    [anon_sym_class] = ACTIONS(3093),
    [anon_sym_enum] = ACTIONS(3093),
    [anon_sym_protocol] = ACTIONS(3093),
    [anon_sym_let] = ACTIONS(3093),
    [anon_sym_var] = ACTIONS(3093),
    [anon_sym_func] = ACTIONS(3093),
    [anon_sym_extension] = ACTIONS(3093),
    [anon_sym_indirect] = ACTIONS(3093),
    [anon_sym_SEMI] = ACTIONS(3093),
    [anon_sym_init] = ACTIONS(3093),
    [anon_sym_deinit] = ACTIONS(3093),
    [anon_sym_subscript] = ACTIONS(3093),
    [anon_sym_prefix] = ACTIONS(3093),
    [anon_sym_infix] = ACTIONS(3093),
    [anon_sym_postfix] = ACTIONS(3093),
    [anon_sym_precedencegroup] = ACTIONS(3093),
    [anon_sym_associatedtype] = ACTIONS(3093),
    [anon_sym_AT] = ACTIONS(3091),
    [anon_sym_override] = ACTIONS(3093),
    [anon_sym_convenience] = ACTIONS(3093),
    [anon_sym_required] = ACTIONS(3093),
    [anon_sym_nonisolated] = ACTIONS(3093),
    [anon_sym_public] = ACTIONS(3093),
    [anon_sym_private] = ACTIONS(3093),
    [anon_sym_internal] = ACTIONS(3093),
    [anon_sym_fileprivate] = ACTIONS(3093),
    [anon_sym_open] = ACTIONS(3093),
    [anon_sym_mutating] = ACTIONS(3093),
    [anon_sym_nonmutating] = ACTIONS(3093),
    [anon_sym_static] = ACTIONS(3093),
    [anon_sym_dynamic] = ACTIONS(3093),
    [anon_sym_optional] = ACTIONS(3093),
    [anon_sym_distributed] = ACTIONS(3093),
    [anon_sym_final] = ACTIONS(3093),
    [anon_sym_inout] = ACTIONS(3093),
    [anon_sym_ATescaping] = ACTIONS(3093),
    [anon_sym_ATautoclosure] = ACTIONS(3093),
    [anon_sym_weak] = ACTIONS(3093),
    [anon_sym_unowned] = ACTIONS(3091),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3093),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3093),
    [anon_sym_borrowing] = ACTIONS(3093),
    [anon_sym_consuming] = ACTIONS(3093),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3093),
    [sym__conjunction_operator_custom] = ACTIONS(3093),
    [sym__disjunction_operator_custom] = ACTIONS(3093),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3093),
    [sym__eq_custom] = ACTIONS(3093),
    [sym__eq_eq_custom] = ACTIONS(3093),
    [sym__plus_then_ws] = ACTIONS(3093),
    [sym__minus_then_ws] = ACTIONS(3093),
    [sym__bang_custom] = ACTIONS(3093),
    [sym__as_custom] = ACTIONS(3093),
    [sym__as_quest_custom] = ACTIONS(3093),
    [sym__as_bang_custom] = ACTIONS(3093),
    [sym__custom_operator] = ACTIONS(3093),
  },
  [875] = {
    [anon_sym_BANG] = ACTIONS(3157),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3159),
    [anon_sym_async] = ACTIONS(3159),
    [anon_sym_lazy] = ACTIONS(3159),
    [anon_sym_package] = ACTIONS(3159),
    [anon_sym_RPAREN] = ACTIONS(3159),
    [anon_sym_COMMA] = ACTIONS(3159),
    [anon_sym_COLON] = ACTIONS(3159),
    [anon_sym_LPAREN] = ACTIONS(3159),
    [anon_sym_LBRACK] = ACTIONS(3159),
    [anon_sym_RBRACK] = ACTIONS(3159),
    [anon_sym_DOT] = ACTIONS(3157),
    [anon_sym_QMARK] = ACTIONS(3157),
    [anon_sym_QMARK2] = ACTIONS(3159),
    [anon_sym_AMP] = ACTIONS(3159),
    [aux_sym_custom_operator_token1] = ACTIONS(3159),
    [anon_sym_LT] = ACTIONS(3157),
    [anon_sym_GT] = ACTIONS(3157),
    [anon_sym_LBRACE] = ACTIONS(3159),
    [anon_sym_CARET_LBRACE] = ACTIONS(3159),
    [anon_sym_RBRACE] = ACTIONS(3159),
    [anon_sym_case] = ACTIONS(3159),
    [anon_sym_PLUS_EQ] = ACTIONS(3159),
    [anon_sym_DASH_EQ] = ACTIONS(3159),
    [anon_sym_STAR_EQ] = ACTIONS(3159),
    [anon_sym_SLASH_EQ] = ACTIONS(3159),
    [anon_sym_PERCENT_EQ] = ACTIONS(3159),
    [anon_sym_BANG_EQ] = ACTIONS(3157),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3159),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3159),
    [anon_sym_LT_EQ] = ACTIONS(3159),
    [anon_sym_GT_EQ] = ACTIONS(3159),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3159),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3159),
    [anon_sym_is] = ACTIONS(3159),
    [anon_sym_PLUS] = ACTIONS(3157),
    [anon_sym_DASH] = ACTIONS(3157),
    [anon_sym_STAR] = ACTIONS(3157),
    [anon_sym_SLASH] = ACTIONS(3157),
    [anon_sym_PERCENT] = ACTIONS(3157),
    [anon_sym_PLUS_PLUS] = ACTIONS(3159),
    [anon_sym_DASH_DASH] = ACTIONS(3159),
    [anon_sym_PIPE] = ACTIONS(3159),
    [anon_sym_CARET] = ACTIONS(3157),
    [anon_sym_LT_LT] = ACTIONS(3159),
    [anon_sym_GT_GT] = ACTIONS(3159),
    [anon_sym_import] = ACTIONS(3159),
    [anon_sym_typealias] = ACTIONS(3159),
    [anon_sym_struct] = ACTIONS(3159),
    [anon_sym_class] = ACTIONS(3159),
    [anon_sym_enum] = ACTIONS(3159),
    [anon_sym_protocol] = ACTIONS(3159),
    [anon_sym_let] = ACTIONS(3159),
    [anon_sym_var] = ACTIONS(3159),
    [anon_sym_func] = ACTIONS(3159),
    [anon_sym_extension] = ACTIONS(3159),
    [anon_sym_indirect] = ACTIONS(3159),
    [anon_sym_SEMI] = ACTIONS(3159),
    [anon_sym_init] = ACTIONS(3159),
    [anon_sym_deinit] = ACTIONS(3159),
    [anon_sym_subscript] = ACTIONS(3159),
    [anon_sym_prefix] = ACTIONS(3159),
    [anon_sym_infix] = ACTIONS(3159),
    [anon_sym_postfix] = ACTIONS(3159),
    [anon_sym_precedencegroup] = ACTIONS(3159),
    [anon_sym_associatedtype] = ACTIONS(3159),
    [anon_sym_AT] = ACTIONS(3157),
    [anon_sym_override] = ACTIONS(3159),
    [anon_sym_convenience] = ACTIONS(3159),
    [anon_sym_required] = ACTIONS(3159),
    [anon_sym_nonisolated] = ACTIONS(3159),
    [anon_sym_public] = ACTIONS(3159),
    [anon_sym_private] = ACTIONS(3159),
    [anon_sym_internal] = ACTIONS(3159),
    [anon_sym_fileprivate] = ACTIONS(3159),
    [anon_sym_open] = ACTIONS(3159),
    [anon_sym_mutating] = ACTIONS(3159),
    [anon_sym_nonmutating] = ACTIONS(3159),
    [anon_sym_static] = ACTIONS(3159),
    [anon_sym_dynamic] = ACTIONS(3159),
    [anon_sym_optional] = ACTIONS(3159),
    [anon_sym_distributed] = ACTIONS(3159),
    [anon_sym_final] = ACTIONS(3159),
    [anon_sym_inout] = ACTIONS(3159),
    [anon_sym_ATescaping] = ACTIONS(3159),
    [anon_sym_ATautoclosure] = ACTIONS(3159),
    [anon_sym_weak] = ACTIONS(3159),
    [anon_sym_unowned] = ACTIONS(3157),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3159),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3159),
    [anon_sym_borrowing] = ACTIONS(3159),
    [anon_sym_consuming] = ACTIONS(3159),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3159),
    [sym__conjunction_operator_custom] = ACTIONS(3159),
    [sym__disjunction_operator_custom] = ACTIONS(3159),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3159),
    [sym__eq_custom] = ACTIONS(3159),
    [sym__eq_eq_custom] = ACTIONS(3159),
    [sym__plus_then_ws] = ACTIONS(3159),
    [sym__minus_then_ws] = ACTIONS(3159),
    [sym__bang_custom] = ACTIONS(3159),
    [sym__as_custom] = ACTIONS(3159),
    [sym__as_quest_custom] = ACTIONS(3159),
    [sym__as_bang_custom] = ACTIONS(3159),
    [sym__custom_operator] = ACTIONS(3159),
  },
  [876] = {
    [anon_sym_BANG] = ACTIONS(3297),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3299),
    [anon_sym_async] = ACTIONS(3299),
    [anon_sym_lazy] = ACTIONS(3299),
    [anon_sym_package] = ACTIONS(3299),
    [anon_sym_RPAREN] = ACTIONS(3299),
    [anon_sym_COMMA] = ACTIONS(3299),
    [anon_sym_COLON] = ACTIONS(3299),
    [anon_sym_LPAREN] = ACTIONS(3299),
    [anon_sym_LBRACK] = ACTIONS(3299),
    [anon_sym_RBRACK] = ACTIONS(3299),
    [anon_sym_QMARK] = ACTIONS(3297),
    [anon_sym_QMARK2] = ACTIONS(3299),
    [anon_sym_AMP] = ACTIONS(3299),
    [aux_sym_custom_operator_token1] = ACTIONS(3299),
    [anon_sym_LT] = ACTIONS(3297),
    [anon_sym_GT] = ACTIONS(3297),
    [anon_sym_LBRACE] = ACTIONS(3299),
    [anon_sym_CARET_LBRACE] = ACTIONS(3299),
    [anon_sym_RBRACE] = ACTIONS(3299),
    [anon_sym_case] = ACTIONS(3299),
    [anon_sym_PLUS_EQ] = ACTIONS(3299),
    [anon_sym_DASH_EQ] = ACTIONS(3299),
    [anon_sym_STAR_EQ] = ACTIONS(3299),
    [anon_sym_SLASH_EQ] = ACTIONS(3299),
    [anon_sym_PERCENT_EQ] = ACTIONS(3299),
    [anon_sym_BANG_EQ] = ACTIONS(3297),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3299),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3299),
    [anon_sym_LT_EQ] = ACTIONS(3299),
    [anon_sym_GT_EQ] = ACTIONS(3299),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3299),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3299),
    [anon_sym_is] = ACTIONS(3299),
    [anon_sym_PLUS] = ACTIONS(3297),
    [anon_sym_DASH] = ACTIONS(3297),
    [anon_sym_STAR] = ACTIONS(3297),
    [anon_sym_SLASH] = ACTIONS(3297),
    [anon_sym_PERCENT] = ACTIONS(3297),
    [anon_sym_PLUS_PLUS] = ACTIONS(3299),
    [anon_sym_DASH_DASH] = ACTIONS(3299),
    [anon_sym_PIPE] = ACTIONS(3299),
    [anon_sym_CARET] = ACTIONS(3297),
    [anon_sym_LT_LT] = ACTIONS(3299),
    [anon_sym_GT_GT] = ACTIONS(3299),
    [anon_sym_import] = ACTIONS(3299),
    [anon_sym_typealias] = ACTIONS(3299),
    [anon_sym_struct] = ACTIONS(3299),
    [anon_sym_class] = ACTIONS(3299),
    [anon_sym_enum] = ACTIONS(3299),
    [anon_sym_protocol] = ACTIONS(3299),
    [anon_sym_let] = ACTIONS(3299),
    [anon_sym_var] = ACTIONS(3299),
    [anon_sym_func] = ACTIONS(3299),
    [anon_sym_extension] = ACTIONS(3299),
    [anon_sym_indirect] = ACTIONS(3299),
    [anon_sym_SEMI] = ACTIONS(3299),
    [anon_sym_init] = ACTIONS(3299),
    [anon_sym_deinit] = ACTIONS(3299),
    [anon_sym_subscript] = ACTIONS(3299),
    [anon_sym_prefix] = ACTIONS(3299),
    [anon_sym_infix] = ACTIONS(3299),
    [anon_sym_postfix] = ACTIONS(3299),
    [anon_sym_precedencegroup] = ACTIONS(3299),
    [anon_sym_associatedtype] = ACTIONS(3299),
    [anon_sym_AT] = ACTIONS(3297),
    [anon_sym_override] = ACTIONS(3299),
    [anon_sym_convenience] = ACTIONS(3299),
    [anon_sym_required] = ACTIONS(3299),
    [anon_sym_nonisolated] = ACTIONS(3299),
    [anon_sym_public] = ACTIONS(3299),
    [anon_sym_private] = ACTIONS(3299),
    [anon_sym_internal] = ACTIONS(3299),
    [anon_sym_fileprivate] = ACTIONS(3299),
    [anon_sym_open] = ACTIONS(3299),
    [anon_sym_mutating] = ACTIONS(3299),
    [anon_sym_nonmutating] = ACTIONS(3299),
    [anon_sym_static] = ACTIONS(3299),
    [anon_sym_dynamic] = ACTIONS(3299),
    [anon_sym_optional] = ACTIONS(3299),
    [anon_sym_distributed] = ACTIONS(3299),
    [anon_sym_final] = ACTIONS(3299),
    [anon_sym_inout] = ACTIONS(3299),
    [anon_sym_ATescaping] = ACTIONS(3299),
    [anon_sym_ATautoclosure] = ACTIONS(3299),
    [anon_sym_weak] = ACTIONS(3299),
    [anon_sym_unowned] = ACTIONS(3297),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3299),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3299),
    [anon_sym_borrowing] = ACTIONS(3299),
    [anon_sym_consuming] = ACTIONS(3299),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3299),
    [sym__conjunction_operator_custom] = ACTIONS(3299),
    [sym__disjunction_operator_custom] = ACTIONS(3299),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3299),
    [sym__eq_custom] = ACTIONS(3299),
    [sym__eq_eq_custom] = ACTIONS(3299),
    [sym__plus_then_ws] = ACTIONS(3299),
    [sym__minus_then_ws] = ACTIONS(3299),
    [sym__bang_custom] = ACTIONS(3299),
    [sym_else] = ACTIONS(3301),
    [sym__as_custom] = ACTIONS(3299),
    [sym__as_quest_custom] = ACTIONS(3299),
    [sym__as_bang_custom] = ACTIONS(3299),
    [sym__custom_operator] = ACTIONS(3299),
  },
  [877] = {
    [anon_sym_BANG] = ACTIONS(3268),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3270),
    [anon_sym_async] = ACTIONS(3270),
    [anon_sym_lazy] = ACTIONS(3270),
    [anon_sym_package] = ACTIONS(3270),
    [anon_sym_RPAREN] = ACTIONS(3270),
    [anon_sym_COMMA] = ACTIONS(3270),
    [anon_sym_COLON] = ACTIONS(3270),
    [anon_sym_LPAREN] = ACTIONS(3270),
    [anon_sym_LBRACK] = ACTIONS(3270),
    [anon_sym_RBRACK] = ACTIONS(3270),
    [anon_sym_DOT] = ACTIONS(3268),
    [anon_sym_QMARK] = ACTIONS(3268),
    [anon_sym_QMARK2] = ACTIONS(3270),
    [anon_sym_AMP] = ACTIONS(3270),
    [aux_sym_custom_operator_token1] = ACTIONS(3270),
    [anon_sym_LT] = ACTIONS(3268),
    [anon_sym_GT] = ACTIONS(3268),
    [anon_sym_LBRACE] = ACTIONS(3270),
    [anon_sym_CARET_LBRACE] = ACTIONS(3270),
    [anon_sym_RBRACE] = ACTIONS(3270),
    [anon_sym_case] = ACTIONS(3270),
    [anon_sym_PLUS_EQ] = ACTIONS(3270),
    [anon_sym_DASH_EQ] = ACTIONS(3270),
    [anon_sym_STAR_EQ] = ACTIONS(3270),
    [anon_sym_SLASH_EQ] = ACTIONS(3270),
    [anon_sym_PERCENT_EQ] = ACTIONS(3270),
    [anon_sym_BANG_EQ] = ACTIONS(3268),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3270),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3270),
    [anon_sym_LT_EQ] = ACTIONS(3270),
    [anon_sym_GT_EQ] = ACTIONS(3270),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3270),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3270),
    [anon_sym_is] = ACTIONS(3270),
    [anon_sym_PLUS] = ACTIONS(3268),
    [anon_sym_DASH] = ACTIONS(3268),
    [anon_sym_STAR] = ACTIONS(3268),
    [anon_sym_SLASH] = ACTIONS(3268),
    [anon_sym_PERCENT] = ACTIONS(3268),
    [anon_sym_PLUS_PLUS] = ACTIONS(3270),
    [anon_sym_DASH_DASH] = ACTIONS(3270),
    [anon_sym_PIPE] = ACTIONS(3270),
    [anon_sym_CARET] = ACTIONS(3268),
    [anon_sym_LT_LT] = ACTIONS(3270),
    [anon_sym_GT_GT] = ACTIONS(3270),
    [anon_sym_import] = ACTIONS(3270),
    [anon_sym_typealias] = ACTIONS(3270),
    [anon_sym_struct] = ACTIONS(3270),
    [anon_sym_class] = ACTIONS(3270),
    [anon_sym_enum] = ACTIONS(3270),
    [anon_sym_protocol] = ACTIONS(3270),
    [anon_sym_let] = ACTIONS(3270),
    [anon_sym_var] = ACTIONS(3270),
    [anon_sym_func] = ACTIONS(3270),
    [anon_sym_extension] = ACTIONS(3270),
    [anon_sym_indirect] = ACTIONS(3270),
    [anon_sym_SEMI] = ACTIONS(3270),
    [anon_sym_init] = ACTIONS(3270),
    [anon_sym_deinit] = ACTIONS(3270),
    [anon_sym_subscript] = ACTIONS(3270),
    [anon_sym_prefix] = ACTIONS(3270),
    [anon_sym_infix] = ACTIONS(3270),
    [anon_sym_postfix] = ACTIONS(3270),
    [anon_sym_precedencegroup] = ACTIONS(3270),
    [anon_sym_associatedtype] = ACTIONS(3270),
    [anon_sym_AT] = ACTIONS(3268),
    [anon_sym_override] = ACTIONS(3270),
    [anon_sym_convenience] = ACTIONS(3270),
    [anon_sym_required] = ACTIONS(3270),
    [anon_sym_nonisolated] = ACTIONS(3270),
    [anon_sym_public] = ACTIONS(3270),
    [anon_sym_private] = ACTIONS(3270),
    [anon_sym_internal] = ACTIONS(3270),
    [anon_sym_fileprivate] = ACTIONS(3270),
    [anon_sym_open] = ACTIONS(3270),
    [anon_sym_mutating] = ACTIONS(3270),
    [anon_sym_nonmutating] = ACTIONS(3270),
    [anon_sym_static] = ACTIONS(3270),
    [anon_sym_dynamic] = ACTIONS(3270),
    [anon_sym_optional] = ACTIONS(3270),
    [anon_sym_distributed] = ACTIONS(3270),
    [anon_sym_final] = ACTIONS(3270),
    [anon_sym_inout] = ACTIONS(3270),
    [anon_sym_ATescaping] = ACTIONS(3270),
    [anon_sym_ATautoclosure] = ACTIONS(3270),
    [anon_sym_weak] = ACTIONS(3270),
    [anon_sym_unowned] = ACTIONS(3268),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3270),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3270),
    [anon_sym_borrowing] = ACTIONS(3270),
    [anon_sym_consuming] = ACTIONS(3270),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3270),
    [sym__conjunction_operator_custom] = ACTIONS(3270),
    [sym__disjunction_operator_custom] = ACTIONS(3270),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3270),
    [sym__eq_custom] = ACTIONS(3270),
    [sym__eq_eq_custom] = ACTIONS(3270),
    [sym__plus_then_ws] = ACTIONS(3270),
    [sym__minus_then_ws] = ACTIONS(3270),
    [sym__bang_custom] = ACTIONS(3270),
    [sym__as_custom] = ACTIONS(3270),
    [sym__as_quest_custom] = ACTIONS(3270),
    [sym__as_bang_custom] = ACTIONS(3270),
    [sym__custom_operator] = ACTIONS(3270),
  },
  [878] = {
    [sym_type_arguments] = STATE(2086),
    [anon_sym_BANG] = ACTIONS(3303),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3305),
    [anon_sym_async] = ACTIONS(3305),
    [anon_sym_lazy] = ACTIONS(3305),
    [anon_sym_package] = ACTIONS(3305),
    [anon_sym_RPAREN] = ACTIONS(3305),
    [anon_sym_COMMA] = ACTIONS(3305),
    [anon_sym_COLON] = ACTIONS(3305),
    [anon_sym_LPAREN] = ACTIONS(3307),
    [anon_sym_LBRACK] = ACTIONS(3305),
    [anon_sym_RBRACK] = ACTIONS(3305),
    [anon_sym_QMARK] = ACTIONS(3303),
    [anon_sym_QMARK2] = ACTIONS(3305),
    [anon_sym_AMP] = ACTIONS(3305),
    [aux_sym_custom_operator_token1] = ACTIONS(3305),
    [anon_sym_LT] = ACTIONS(3310),
    [anon_sym_GT] = ACTIONS(3303),
    [anon_sym_LBRACE] = ACTIONS(3307),
    [anon_sym_CARET_LBRACE] = ACTIONS(3307),
    [anon_sym_RBRACE] = ACTIONS(3305),
    [anon_sym_case] = ACTIONS(3305),
    [anon_sym_PLUS_EQ] = ACTIONS(3305),
    [anon_sym_DASH_EQ] = ACTIONS(3305),
    [anon_sym_STAR_EQ] = ACTIONS(3305),
    [anon_sym_SLASH_EQ] = ACTIONS(3305),
    [anon_sym_PERCENT_EQ] = ACTIONS(3305),
    [anon_sym_BANG_EQ] = ACTIONS(3303),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3305),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3305),
    [anon_sym_LT_EQ] = ACTIONS(3305),
    [anon_sym_GT_EQ] = ACTIONS(3305),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3305),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3305),
    [anon_sym_is] = ACTIONS(3305),
    [anon_sym_PLUS] = ACTIONS(3303),
    [anon_sym_DASH] = ACTIONS(3303),
    [anon_sym_STAR] = ACTIONS(3303),
    [anon_sym_SLASH] = ACTIONS(3303),
    [anon_sym_PERCENT] = ACTIONS(3303),
    [anon_sym_PLUS_PLUS] = ACTIONS(3305),
    [anon_sym_DASH_DASH] = ACTIONS(3305),
    [anon_sym_PIPE] = ACTIONS(3305),
    [anon_sym_CARET] = ACTIONS(3303),
    [anon_sym_LT_LT] = ACTIONS(3305),
    [anon_sym_GT_GT] = ACTIONS(3305),
    [anon_sym_import] = ACTIONS(3305),
    [anon_sym_typealias] = ACTIONS(3305),
    [anon_sym_struct] = ACTIONS(3305),
    [anon_sym_class] = ACTIONS(3305),
    [anon_sym_enum] = ACTIONS(3305),
    [anon_sym_protocol] = ACTIONS(3305),
    [anon_sym_let] = ACTIONS(3305),
    [anon_sym_var] = ACTIONS(3305),
    [anon_sym_func] = ACTIONS(3305),
    [anon_sym_extension] = ACTIONS(3305),
    [anon_sym_indirect] = ACTIONS(3305),
    [anon_sym_SEMI] = ACTIONS(3305),
    [anon_sym_init] = ACTIONS(3305),
    [anon_sym_deinit] = ACTIONS(3305),
    [anon_sym_subscript] = ACTIONS(3305),
    [anon_sym_prefix] = ACTIONS(3305),
    [anon_sym_infix] = ACTIONS(3305),
    [anon_sym_postfix] = ACTIONS(3305),
    [anon_sym_precedencegroup] = ACTIONS(3305),
    [anon_sym_associatedtype] = ACTIONS(3305),
    [anon_sym_AT] = ACTIONS(3303),
    [anon_sym_override] = ACTIONS(3305),
    [anon_sym_convenience] = ACTIONS(3305),
    [anon_sym_required] = ACTIONS(3305),
    [anon_sym_nonisolated] = ACTIONS(3305),
    [anon_sym_public] = ACTIONS(3305),
    [anon_sym_private] = ACTIONS(3305),
    [anon_sym_internal] = ACTIONS(3305),
    [anon_sym_fileprivate] = ACTIONS(3305),
    [anon_sym_open] = ACTIONS(3305),
    [anon_sym_mutating] = ACTIONS(3305),
    [anon_sym_nonmutating] = ACTIONS(3305),
    [anon_sym_static] = ACTIONS(3305),
    [anon_sym_dynamic] = ACTIONS(3305),
    [anon_sym_optional] = ACTIONS(3305),
    [anon_sym_distributed] = ACTIONS(3305),
    [anon_sym_final] = ACTIONS(3305),
    [anon_sym_inout] = ACTIONS(3305),
    [anon_sym_ATescaping] = ACTIONS(3305),
    [anon_sym_ATautoclosure] = ACTIONS(3305),
    [anon_sym_weak] = ACTIONS(3305),
    [anon_sym_unowned] = ACTIONS(3303),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3305),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3305),
    [anon_sym_borrowing] = ACTIONS(3305),
    [anon_sym_consuming] = ACTIONS(3305),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3307),
    [sym__conjunction_operator_custom] = ACTIONS(3305),
    [sym__disjunction_operator_custom] = ACTIONS(3305),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3305),
    [sym__eq_custom] = ACTIONS(3305),
    [sym__eq_eq_custom] = ACTIONS(3305),
    [sym__plus_then_ws] = ACTIONS(3305),
    [sym__minus_then_ws] = ACTIONS(3305),
    [sym__bang_custom] = ACTIONS(3305),
    [sym__as_custom] = ACTIONS(3305),
    [sym__as_quest_custom] = ACTIONS(3305),
    [sym__as_bang_custom] = ACTIONS(3305),
    [sym__custom_operator] = ACTIONS(3305),
  },
  [879] = {
    [anon_sym_BANG] = ACTIONS(3125),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3127),
    [anon_sym_async] = ACTIONS(3127),
    [anon_sym_lazy] = ACTIONS(3127),
    [anon_sym_package] = ACTIONS(3127),
    [anon_sym_RPAREN] = ACTIONS(3127),
    [anon_sym_COMMA] = ACTIONS(3127),
    [anon_sym_COLON] = ACTIONS(3127),
    [anon_sym_LPAREN] = ACTIONS(3127),
    [anon_sym_LBRACK] = ACTIONS(3127),
    [anon_sym_RBRACK] = ACTIONS(3127),
    [anon_sym_DOT] = ACTIONS(3125),
    [anon_sym_QMARK] = ACTIONS(3125),
    [anon_sym_QMARK2] = ACTIONS(3127),
    [anon_sym_AMP] = ACTIONS(3127),
    [aux_sym_custom_operator_token1] = ACTIONS(3127),
    [anon_sym_LT] = ACTIONS(3125),
    [anon_sym_GT] = ACTIONS(3125),
    [anon_sym_LBRACE] = ACTIONS(3127),
    [anon_sym_CARET_LBRACE] = ACTIONS(3127),
    [anon_sym_RBRACE] = ACTIONS(3127),
    [anon_sym_case] = ACTIONS(3127),
    [anon_sym_PLUS_EQ] = ACTIONS(3127),
    [anon_sym_DASH_EQ] = ACTIONS(3127),
    [anon_sym_STAR_EQ] = ACTIONS(3127),
    [anon_sym_SLASH_EQ] = ACTIONS(3127),
    [anon_sym_PERCENT_EQ] = ACTIONS(3127),
    [anon_sym_BANG_EQ] = ACTIONS(3125),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3127),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3127),
    [anon_sym_LT_EQ] = ACTIONS(3127),
    [anon_sym_GT_EQ] = ACTIONS(3127),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3127),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3127),
    [anon_sym_is] = ACTIONS(3127),
    [anon_sym_PLUS] = ACTIONS(3125),
    [anon_sym_DASH] = ACTIONS(3125),
    [anon_sym_STAR] = ACTIONS(3125),
    [anon_sym_SLASH] = ACTIONS(3125),
    [anon_sym_PERCENT] = ACTIONS(3125),
    [anon_sym_PLUS_PLUS] = ACTIONS(3127),
    [anon_sym_DASH_DASH] = ACTIONS(3127),
    [anon_sym_PIPE] = ACTIONS(3127),
    [anon_sym_CARET] = ACTIONS(3125),
    [anon_sym_LT_LT] = ACTIONS(3127),
    [anon_sym_GT_GT] = ACTIONS(3127),
    [anon_sym_import] = ACTIONS(3127),
    [anon_sym_typealias] = ACTIONS(3127),
    [anon_sym_struct] = ACTIONS(3127),
    [anon_sym_class] = ACTIONS(3127),
    [anon_sym_enum] = ACTIONS(3127),
    [anon_sym_protocol] = ACTIONS(3127),
    [anon_sym_let] = ACTIONS(3127),
    [anon_sym_var] = ACTIONS(3127),
    [anon_sym_func] = ACTIONS(3127),
    [anon_sym_extension] = ACTIONS(3127),
    [anon_sym_indirect] = ACTIONS(3127),
    [anon_sym_SEMI] = ACTIONS(3127),
    [anon_sym_init] = ACTIONS(3127),
    [anon_sym_deinit] = ACTIONS(3127),
    [anon_sym_subscript] = ACTIONS(3127),
    [anon_sym_prefix] = ACTIONS(3127),
    [anon_sym_infix] = ACTIONS(3127),
    [anon_sym_postfix] = ACTIONS(3127),
    [anon_sym_precedencegroup] = ACTIONS(3127),
    [anon_sym_associatedtype] = ACTIONS(3127),
    [anon_sym_AT] = ACTIONS(3125),
    [anon_sym_override] = ACTIONS(3127),
    [anon_sym_convenience] = ACTIONS(3127),
    [anon_sym_required] = ACTIONS(3127),
    [anon_sym_nonisolated] = ACTIONS(3127),
    [anon_sym_public] = ACTIONS(3127),
    [anon_sym_private] = ACTIONS(3127),
    [anon_sym_internal] = ACTIONS(3127),
    [anon_sym_fileprivate] = ACTIONS(3127),
    [anon_sym_open] = ACTIONS(3127),
    [anon_sym_mutating] = ACTIONS(3127),
    [anon_sym_nonmutating] = ACTIONS(3127),
    [anon_sym_static] = ACTIONS(3127),
    [anon_sym_dynamic] = ACTIONS(3127),
    [anon_sym_optional] = ACTIONS(3127),
    [anon_sym_distributed] = ACTIONS(3127),
    [anon_sym_final] = ACTIONS(3127),
    [anon_sym_inout] = ACTIONS(3127),
    [anon_sym_ATescaping] = ACTIONS(3127),
    [anon_sym_ATautoclosure] = ACTIONS(3127),
    [anon_sym_weak] = ACTIONS(3127),
    [anon_sym_unowned] = ACTIONS(3125),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3127),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3127),
    [anon_sym_borrowing] = ACTIONS(3127),
    [anon_sym_consuming] = ACTIONS(3127),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3127),
    [sym__conjunction_operator_custom] = ACTIONS(3127),
    [sym__disjunction_operator_custom] = ACTIONS(3127),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3127),
    [sym__eq_custom] = ACTIONS(3127),
    [sym__eq_eq_custom] = ACTIONS(3127),
    [sym__plus_then_ws] = ACTIONS(3127),
    [sym__minus_then_ws] = ACTIONS(3127),
    [sym__bang_custom] = ACTIONS(3127),
    [sym__as_custom] = ACTIONS(3127),
    [sym__as_quest_custom] = ACTIONS(3127),
    [sym__as_bang_custom] = ACTIONS(3127),
    [sym__custom_operator] = ACTIONS(3127),
  },
  [880] = {
    [anon_sym_BANG] = ACTIONS(3313),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3315),
    [anon_sym_async] = ACTIONS(3315),
    [anon_sym_lazy] = ACTIONS(3315),
    [anon_sym_package] = ACTIONS(3315),
    [anon_sym_RPAREN] = ACTIONS(3315),
    [anon_sym_COMMA] = ACTIONS(3315),
    [anon_sym_COLON] = ACTIONS(3315),
    [anon_sym_LPAREN] = ACTIONS(3315),
    [anon_sym_LBRACK] = ACTIONS(3315),
    [anon_sym_RBRACK] = ACTIONS(3315),
    [anon_sym_QMARK] = ACTIONS(3313),
    [anon_sym_QMARK2] = ACTIONS(3315),
    [anon_sym_AMP] = ACTIONS(3315),
    [aux_sym_custom_operator_token1] = ACTIONS(3315),
    [anon_sym_LT] = ACTIONS(3313),
    [anon_sym_GT] = ACTIONS(3313),
    [anon_sym_LBRACE] = ACTIONS(3315),
    [anon_sym_CARET_LBRACE] = ACTIONS(3315),
    [anon_sym_RBRACE] = ACTIONS(3315),
    [anon_sym_case] = ACTIONS(3315),
    [anon_sym_PLUS_EQ] = ACTIONS(3315),
    [anon_sym_DASH_EQ] = ACTIONS(3315),
    [anon_sym_STAR_EQ] = ACTIONS(3315),
    [anon_sym_SLASH_EQ] = ACTIONS(3315),
    [anon_sym_PERCENT_EQ] = ACTIONS(3315),
    [anon_sym_BANG_EQ] = ACTIONS(3313),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3315),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3315),
    [anon_sym_LT_EQ] = ACTIONS(3315),
    [anon_sym_GT_EQ] = ACTIONS(3315),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3315),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3315),
    [anon_sym_is] = ACTIONS(3315),
    [anon_sym_PLUS] = ACTIONS(3313),
    [anon_sym_DASH] = ACTIONS(3313),
    [anon_sym_STAR] = ACTIONS(3313),
    [anon_sym_SLASH] = ACTIONS(3313),
    [anon_sym_PERCENT] = ACTIONS(3313),
    [anon_sym_PLUS_PLUS] = ACTIONS(3315),
    [anon_sym_DASH_DASH] = ACTIONS(3315),
    [anon_sym_PIPE] = ACTIONS(3315),
    [anon_sym_CARET] = ACTIONS(3313),
    [anon_sym_LT_LT] = ACTIONS(3315),
    [anon_sym_GT_GT] = ACTIONS(3315),
    [anon_sym_import] = ACTIONS(3315),
    [anon_sym_typealias] = ACTIONS(3315),
    [anon_sym_struct] = ACTIONS(3315),
    [anon_sym_class] = ACTIONS(3315),
    [anon_sym_enum] = ACTIONS(3315),
    [anon_sym_protocol] = ACTIONS(3315),
    [anon_sym_let] = ACTIONS(3315),
    [anon_sym_var] = ACTIONS(3315),
    [anon_sym_func] = ACTIONS(3315),
    [anon_sym_extension] = ACTIONS(3315),
    [anon_sym_indirect] = ACTIONS(3315),
    [anon_sym_SEMI] = ACTIONS(3315),
    [anon_sym_init] = ACTIONS(3315),
    [anon_sym_deinit] = ACTIONS(3315),
    [anon_sym_subscript] = ACTIONS(3315),
    [anon_sym_prefix] = ACTIONS(3315),
    [anon_sym_infix] = ACTIONS(3315),
    [anon_sym_postfix] = ACTIONS(3315),
    [anon_sym_precedencegroup] = ACTIONS(3315),
    [anon_sym_associatedtype] = ACTIONS(3315),
    [anon_sym_AT] = ACTIONS(3313),
    [anon_sym_override] = ACTIONS(3315),
    [anon_sym_convenience] = ACTIONS(3315),
    [anon_sym_required] = ACTIONS(3315),
    [anon_sym_nonisolated] = ACTIONS(3315),
    [anon_sym_public] = ACTIONS(3315),
    [anon_sym_private] = ACTIONS(3315),
    [anon_sym_internal] = ACTIONS(3315),
    [anon_sym_fileprivate] = ACTIONS(3315),
    [anon_sym_open] = ACTIONS(3315),
    [anon_sym_mutating] = ACTIONS(3315),
    [anon_sym_nonmutating] = ACTIONS(3315),
    [anon_sym_static] = ACTIONS(3315),
    [anon_sym_dynamic] = ACTIONS(3315),
    [anon_sym_optional] = ACTIONS(3315),
    [anon_sym_distributed] = ACTIONS(3315),
    [anon_sym_final] = ACTIONS(3315),
    [anon_sym_inout] = ACTIONS(3315),
    [anon_sym_ATescaping] = ACTIONS(3315),
    [anon_sym_ATautoclosure] = ACTIONS(3315),
    [anon_sym_weak] = ACTIONS(3315),
    [anon_sym_unowned] = ACTIONS(3313),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3315),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3315),
    [anon_sym_borrowing] = ACTIONS(3315),
    [anon_sym_consuming] = ACTIONS(3315),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3315),
    [sym__conjunction_operator_custom] = ACTIONS(3315),
    [sym__disjunction_operator_custom] = ACTIONS(3315),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3315),
    [sym__eq_custom] = ACTIONS(3315),
    [sym__eq_eq_custom] = ACTIONS(3315),
    [sym__plus_then_ws] = ACTIONS(3315),
    [sym__minus_then_ws] = ACTIONS(3315),
    [sym__bang_custom] = ACTIONS(3315),
    [sym_else] = ACTIONS(3315),
    [sym__as_custom] = ACTIONS(3315),
    [sym__as_quest_custom] = ACTIONS(3315),
    [sym__as_bang_custom] = ACTIONS(3315),
    [sym__custom_operator] = ACTIONS(3315),
  },
  [881] = {
    [anon_sym_BANG] = ACTIONS(3133),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3135),
    [anon_sym_async] = ACTIONS(3135),
    [anon_sym_lazy] = ACTIONS(3135),
    [anon_sym_package] = ACTIONS(3135),
    [anon_sym_RPAREN] = ACTIONS(3135),
    [anon_sym_COMMA] = ACTIONS(3135),
    [anon_sym_COLON] = ACTIONS(3135),
    [anon_sym_LPAREN] = ACTIONS(3135),
    [anon_sym_LBRACK] = ACTIONS(3135),
    [anon_sym_RBRACK] = ACTIONS(3135),
    [anon_sym_DOT] = ACTIONS(3133),
    [anon_sym_QMARK] = ACTIONS(3133),
    [anon_sym_QMARK2] = ACTIONS(3135),
    [anon_sym_AMP] = ACTIONS(3135),
    [aux_sym_custom_operator_token1] = ACTIONS(3135),
    [anon_sym_LT] = ACTIONS(3133),
    [anon_sym_GT] = ACTIONS(3133),
    [anon_sym_LBRACE] = ACTIONS(3135),
    [anon_sym_CARET_LBRACE] = ACTIONS(3135),
    [anon_sym_RBRACE] = ACTIONS(3135),
    [anon_sym_case] = ACTIONS(3135),
    [anon_sym_PLUS_EQ] = ACTIONS(3135),
    [anon_sym_DASH_EQ] = ACTIONS(3135),
    [anon_sym_STAR_EQ] = ACTIONS(3135),
    [anon_sym_SLASH_EQ] = ACTIONS(3135),
    [anon_sym_PERCENT_EQ] = ACTIONS(3135),
    [anon_sym_BANG_EQ] = ACTIONS(3133),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3135),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3135),
    [anon_sym_LT_EQ] = ACTIONS(3135),
    [anon_sym_GT_EQ] = ACTIONS(3135),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3135),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3135),
    [anon_sym_is] = ACTIONS(3135),
    [anon_sym_PLUS] = ACTIONS(3133),
    [anon_sym_DASH] = ACTIONS(3133),
    [anon_sym_STAR] = ACTIONS(3133),
    [anon_sym_SLASH] = ACTIONS(3133),
    [anon_sym_PERCENT] = ACTIONS(3133),
    [anon_sym_PLUS_PLUS] = ACTIONS(3135),
    [anon_sym_DASH_DASH] = ACTIONS(3135),
    [anon_sym_PIPE] = ACTIONS(3135),
    [anon_sym_CARET] = ACTIONS(3133),
    [anon_sym_LT_LT] = ACTIONS(3135),
    [anon_sym_GT_GT] = ACTIONS(3135),
    [anon_sym_import] = ACTIONS(3135),
    [anon_sym_typealias] = ACTIONS(3135),
    [anon_sym_struct] = ACTIONS(3135),
    [anon_sym_class] = ACTIONS(3135),
    [anon_sym_enum] = ACTIONS(3135),
    [anon_sym_protocol] = ACTIONS(3135),
    [anon_sym_let] = ACTIONS(3135),
    [anon_sym_var] = ACTIONS(3135),
    [anon_sym_func] = ACTIONS(3135),
    [anon_sym_extension] = ACTIONS(3135),
    [anon_sym_indirect] = ACTIONS(3135),
    [anon_sym_SEMI] = ACTIONS(3135),
    [anon_sym_init] = ACTIONS(3135),
    [anon_sym_deinit] = ACTIONS(3135),
    [anon_sym_subscript] = ACTIONS(3135),
    [anon_sym_prefix] = ACTIONS(3135),
    [anon_sym_infix] = ACTIONS(3135),
    [anon_sym_postfix] = ACTIONS(3135),
    [anon_sym_precedencegroup] = ACTIONS(3135),
    [anon_sym_associatedtype] = ACTIONS(3135),
    [anon_sym_AT] = ACTIONS(3133),
    [anon_sym_override] = ACTIONS(3135),
    [anon_sym_convenience] = ACTIONS(3135),
    [anon_sym_required] = ACTIONS(3135),
    [anon_sym_nonisolated] = ACTIONS(3135),
    [anon_sym_public] = ACTIONS(3135),
    [anon_sym_private] = ACTIONS(3135),
    [anon_sym_internal] = ACTIONS(3135),
    [anon_sym_fileprivate] = ACTIONS(3135),
    [anon_sym_open] = ACTIONS(3135),
    [anon_sym_mutating] = ACTIONS(3135),
    [anon_sym_nonmutating] = ACTIONS(3135),
    [anon_sym_static] = ACTIONS(3135),
    [anon_sym_dynamic] = ACTIONS(3135),
    [anon_sym_optional] = ACTIONS(3135),
    [anon_sym_distributed] = ACTIONS(3135),
    [anon_sym_final] = ACTIONS(3135),
    [anon_sym_inout] = ACTIONS(3135),
    [anon_sym_ATescaping] = ACTIONS(3135),
    [anon_sym_ATautoclosure] = ACTIONS(3135),
    [anon_sym_weak] = ACTIONS(3135),
    [anon_sym_unowned] = ACTIONS(3133),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3135),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3135),
    [anon_sym_borrowing] = ACTIONS(3135),
    [anon_sym_consuming] = ACTIONS(3135),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3135),
    [sym__conjunction_operator_custom] = ACTIONS(3135),
    [sym__disjunction_operator_custom] = ACTIONS(3135),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3135),
    [sym__eq_custom] = ACTIONS(3135),
    [sym__eq_eq_custom] = ACTIONS(3135),
    [sym__plus_then_ws] = ACTIONS(3135),
    [sym__minus_then_ws] = ACTIONS(3135),
    [sym__bang_custom] = ACTIONS(3135),
    [sym__as_custom] = ACTIONS(3135),
    [sym__as_quest_custom] = ACTIONS(3135),
    [sym__as_bang_custom] = ACTIONS(3135),
    [sym__custom_operator] = ACTIONS(3135),
  },
  [882] = {
    [anon_sym_BANG] = ACTIONS(3317),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3319),
    [anon_sym_async] = ACTIONS(3319),
    [anon_sym_lazy] = ACTIONS(3319),
    [anon_sym_package] = ACTIONS(3319),
    [anon_sym_RPAREN] = ACTIONS(3319),
    [anon_sym_COMMA] = ACTIONS(3319),
    [anon_sym_COLON] = ACTIONS(3319),
    [anon_sym_LPAREN] = ACTIONS(3319),
    [anon_sym_LBRACK] = ACTIONS(3319),
    [anon_sym_RBRACK] = ACTIONS(3319),
    [anon_sym_QMARK] = ACTIONS(3317),
    [anon_sym_QMARK2] = ACTIONS(3319),
    [anon_sym_AMP] = ACTIONS(3319),
    [aux_sym_custom_operator_token1] = ACTIONS(3319),
    [anon_sym_LT] = ACTIONS(3317),
    [anon_sym_GT] = ACTIONS(3317),
    [anon_sym_LBRACE] = ACTIONS(3319),
    [anon_sym_CARET_LBRACE] = ACTIONS(3319),
    [anon_sym_RBRACE] = ACTIONS(3319),
    [anon_sym_case] = ACTIONS(3319),
    [anon_sym_PLUS_EQ] = ACTIONS(3319),
    [anon_sym_DASH_EQ] = ACTIONS(3319),
    [anon_sym_STAR_EQ] = ACTIONS(3319),
    [anon_sym_SLASH_EQ] = ACTIONS(3319),
    [anon_sym_PERCENT_EQ] = ACTIONS(3319),
    [anon_sym_BANG_EQ] = ACTIONS(3317),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3319),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3319),
    [anon_sym_LT_EQ] = ACTIONS(3319),
    [anon_sym_GT_EQ] = ACTIONS(3319),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3319),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3319),
    [anon_sym_is] = ACTIONS(3319),
    [anon_sym_PLUS] = ACTIONS(3317),
    [anon_sym_DASH] = ACTIONS(3317),
    [anon_sym_STAR] = ACTIONS(3317),
    [anon_sym_SLASH] = ACTIONS(3317),
    [anon_sym_PERCENT] = ACTIONS(3317),
    [anon_sym_PLUS_PLUS] = ACTIONS(3319),
    [anon_sym_DASH_DASH] = ACTIONS(3319),
    [anon_sym_PIPE] = ACTIONS(3319),
    [anon_sym_CARET] = ACTIONS(3317),
    [anon_sym_LT_LT] = ACTIONS(3319),
    [anon_sym_GT_GT] = ACTIONS(3319),
    [anon_sym_import] = ACTIONS(3319),
    [anon_sym_typealias] = ACTIONS(3319),
    [anon_sym_struct] = ACTIONS(3319),
    [anon_sym_class] = ACTIONS(3319),
    [anon_sym_enum] = ACTIONS(3319),
    [anon_sym_protocol] = ACTIONS(3319),
    [anon_sym_let] = ACTIONS(3319),
    [anon_sym_var] = ACTIONS(3319),
    [anon_sym_func] = ACTIONS(3319),
    [anon_sym_extension] = ACTIONS(3319),
    [anon_sym_indirect] = ACTIONS(3319),
    [anon_sym_SEMI] = ACTIONS(3319),
    [anon_sym_init] = ACTIONS(3319),
    [anon_sym_deinit] = ACTIONS(3319),
    [anon_sym_subscript] = ACTIONS(3319),
    [anon_sym_prefix] = ACTIONS(3319),
    [anon_sym_infix] = ACTIONS(3319),
    [anon_sym_postfix] = ACTIONS(3319),
    [anon_sym_precedencegroup] = ACTIONS(3319),
    [anon_sym_associatedtype] = ACTIONS(3319),
    [anon_sym_AT] = ACTIONS(3317),
    [anon_sym_override] = ACTIONS(3319),
    [anon_sym_convenience] = ACTIONS(3319),
    [anon_sym_required] = ACTIONS(3319),
    [anon_sym_nonisolated] = ACTIONS(3319),
    [anon_sym_public] = ACTIONS(3319),
    [anon_sym_private] = ACTIONS(3319),
    [anon_sym_internal] = ACTIONS(3319),
    [anon_sym_fileprivate] = ACTIONS(3319),
    [anon_sym_open] = ACTIONS(3319),
    [anon_sym_mutating] = ACTIONS(3319),
    [anon_sym_nonmutating] = ACTIONS(3319),
    [anon_sym_static] = ACTIONS(3319),
    [anon_sym_dynamic] = ACTIONS(3319),
    [anon_sym_optional] = ACTIONS(3319),
    [anon_sym_distributed] = ACTIONS(3319),
    [anon_sym_final] = ACTIONS(3319),
    [anon_sym_inout] = ACTIONS(3319),
    [anon_sym_ATescaping] = ACTIONS(3319),
    [anon_sym_ATautoclosure] = ACTIONS(3319),
    [anon_sym_weak] = ACTIONS(3319),
    [anon_sym_unowned] = ACTIONS(3317),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3319),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3319),
    [anon_sym_borrowing] = ACTIONS(3319),
    [anon_sym_consuming] = ACTIONS(3319),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3319),
    [sym__conjunction_operator_custom] = ACTIONS(3319),
    [sym__disjunction_operator_custom] = ACTIONS(3319),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3319),
    [sym__eq_custom] = ACTIONS(3319),
    [sym__eq_eq_custom] = ACTIONS(3319),
    [sym__plus_then_ws] = ACTIONS(3319),
    [sym__minus_then_ws] = ACTIONS(3319),
    [sym__bang_custom] = ACTIONS(3319),
    [sym__as_custom] = ACTIONS(3319),
    [sym__as_quest_custom] = ACTIONS(3319),
    [sym__as_bang_custom] = ACTIONS(3319),
    [sym__custom_operator] = ACTIONS(3319),
  },
  [883] = {
    [anon_sym_BANG] = ACTIONS(3321),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3323),
    [anon_sym_async] = ACTIONS(3323),
    [anon_sym_lazy] = ACTIONS(3323),
    [anon_sym_package] = ACTIONS(3323),
    [anon_sym_RPAREN] = ACTIONS(3323),
    [anon_sym_COMMA] = ACTIONS(3323),
    [anon_sym_COLON] = ACTIONS(3323),
    [anon_sym_LPAREN] = ACTIONS(3323),
    [anon_sym_LBRACK] = ACTIONS(3323),
    [anon_sym_RBRACK] = ACTIONS(3323),
    [anon_sym_QMARK] = ACTIONS(3321),
    [anon_sym_QMARK2] = ACTIONS(3323),
    [anon_sym_AMP] = ACTIONS(3323),
    [aux_sym_custom_operator_token1] = ACTIONS(3323),
    [anon_sym_LT] = ACTIONS(3321),
    [anon_sym_GT] = ACTIONS(3321),
    [anon_sym_LBRACE] = ACTIONS(3323),
    [anon_sym_CARET_LBRACE] = ACTIONS(3323),
    [anon_sym_RBRACE] = ACTIONS(3323),
    [anon_sym_case] = ACTIONS(3323),
    [anon_sym_PLUS_EQ] = ACTIONS(3323),
    [anon_sym_DASH_EQ] = ACTIONS(3323),
    [anon_sym_STAR_EQ] = ACTIONS(3323),
    [anon_sym_SLASH_EQ] = ACTIONS(3323),
    [anon_sym_PERCENT_EQ] = ACTIONS(3323),
    [anon_sym_BANG_EQ] = ACTIONS(3321),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3323),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3323),
    [anon_sym_LT_EQ] = ACTIONS(3323),
    [anon_sym_GT_EQ] = ACTIONS(3323),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3323),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3323),
    [anon_sym_is] = ACTIONS(3323),
    [anon_sym_PLUS] = ACTIONS(3321),
    [anon_sym_DASH] = ACTIONS(3321),
    [anon_sym_STAR] = ACTIONS(3321),
    [anon_sym_SLASH] = ACTIONS(3321),
    [anon_sym_PERCENT] = ACTIONS(3321),
    [anon_sym_PLUS_PLUS] = ACTIONS(3323),
    [anon_sym_DASH_DASH] = ACTIONS(3323),
    [anon_sym_PIPE] = ACTIONS(3323),
    [anon_sym_CARET] = ACTIONS(3321),
    [anon_sym_LT_LT] = ACTIONS(3323),
    [anon_sym_GT_GT] = ACTIONS(3323),
    [anon_sym_import] = ACTIONS(3323),
    [anon_sym_typealias] = ACTIONS(3323),
    [anon_sym_struct] = ACTIONS(3323),
    [anon_sym_class] = ACTIONS(3323),
    [anon_sym_enum] = ACTIONS(3323),
    [anon_sym_protocol] = ACTIONS(3323),
    [anon_sym_let] = ACTIONS(3323),
    [anon_sym_var] = ACTIONS(3323),
    [anon_sym_func] = ACTIONS(3323),
    [anon_sym_extension] = ACTIONS(3323),
    [anon_sym_indirect] = ACTIONS(3323),
    [anon_sym_SEMI] = ACTIONS(3323),
    [anon_sym_init] = ACTIONS(3323),
    [anon_sym_deinit] = ACTIONS(3323),
    [anon_sym_subscript] = ACTIONS(3323),
    [anon_sym_prefix] = ACTIONS(3323),
    [anon_sym_infix] = ACTIONS(3323),
    [anon_sym_postfix] = ACTIONS(3323),
    [anon_sym_precedencegroup] = ACTIONS(3323),
    [anon_sym_associatedtype] = ACTIONS(3323),
    [anon_sym_AT] = ACTIONS(3321),
    [anon_sym_override] = ACTIONS(3323),
    [anon_sym_convenience] = ACTIONS(3323),
    [anon_sym_required] = ACTIONS(3323),
    [anon_sym_nonisolated] = ACTIONS(3323),
    [anon_sym_public] = ACTIONS(3323),
    [anon_sym_private] = ACTIONS(3323),
    [anon_sym_internal] = ACTIONS(3323),
    [anon_sym_fileprivate] = ACTIONS(3323),
    [anon_sym_open] = ACTIONS(3323),
    [anon_sym_mutating] = ACTIONS(3323),
    [anon_sym_nonmutating] = ACTIONS(3323),
    [anon_sym_static] = ACTIONS(3323),
    [anon_sym_dynamic] = ACTIONS(3323),
    [anon_sym_optional] = ACTIONS(3323),
    [anon_sym_distributed] = ACTIONS(3323),
    [anon_sym_final] = ACTIONS(3323),
    [anon_sym_inout] = ACTIONS(3323),
    [anon_sym_ATescaping] = ACTIONS(3323),
    [anon_sym_ATautoclosure] = ACTIONS(3323),
    [anon_sym_weak] = ACTIONS(3323),
    [anon_sym_unowned] = ACTIONS(3321),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3323),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3323),
    [anon_sym_borrowing] = ACTIONS(3323),
    [anon_sym_consuming] = ACTIONS(3323),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3323),
    [sym__conjunction_operator_custom] = ACTIONS(3323),
    [sym__disjunction_operator_custom] = ACTIONS(3323),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3323),
    [sym__eq_custom] = ACTIONS(3323),
    [sym__eq_eq_custom] = ACTIONS(3323),
    [sym__plus_then_ws] = ACTIONS(3323),
    [sym__minus_then_ws] = ACTIONS(3323),
    [sym__bang_custom] = ACTIONS(3323),
    [sym__as_custom] = ACTIONS(3323),
    [sym__as_quest_custom] = ACTIONS(3323),
    [sym__as_bang_custom] = ACTIONS(3323),
    [sym__custom_operator] = ACTIONS(3323),
  },
  [884] = {
    [anon_sym_BANG] = ACTIONS(3325),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3328),
    [anon_sym_async] = ACTIONS(3328),
    [anon_sym_lazy] = ACTIONS(3328),
    [anon_sym_package] = ACTIONS(3328),
    [anon_sym_RPAREN] = ACTIONS(3328),
    [anon_sym_COMMA] = ACTIONS(3328),
    [anon_sym_COLON] = ACTIONS(3328),
    [anon_sym_LPAREN] = ACTIONS(3328),
    [anon_sym_LBRACK] = ACTIONS(3328),
    [anon_sym_RBRACK] = ACTIONS(3328),
    [anon_sym_QMARK] = ACTIONS(3325),
    [anon_sym_QMARK2] = ACTIONS(3328),
    [anon_sym_AMP] = ACTIONS(3328),
    [aux_sym_custom_operator_token1] = ACTIONS(3328),
    [anon_sym_LT] = ACTIONS(3325),
    [anon_sym_GT] = ACTIONS(3325),
    [anon_sym_LBRACE] = ACTIONS(3328),
    [anon_sym_CARET_LBRACE] = ACTIONS(3328),
    [anon_sym_RBRACE] = ACTIONS(3328),
    [anon_sym_case] = ACTIONS(3328),
    [anon_sym_PLUS_EQ] = ACTIONS(3328),
    [anon_sym_DASH_EQ] = ACTIONS(3328),
    [anon_sym_STAR_EQ] = ACTIONS(3328),
    [anon_sym_SLASH_EQ] = ACTIONS(3328),
    [anon_sym_PERCENT_EQ] = ACTIONS(3328),
    [anon_sym_BANG_EQ] = ACTIONS(3325),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3328),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3328),
    [anon_sym_LT_EQ] = ACTIONS(3328),
    [anon_sym_GT_EQ] = ACTIONS(3328),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3328),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3328),
    [anon_sym_is] = ACTIONS(3328),
    [anon_sym_PLUS] = ACTIONS(3325),
    [anon_sym_DASH] = ACTIONS(3325),
    [anon_sym_STAR] = ACTIONS(3325),
    [anon_sym_SLASH] = ACTIONS(3325),
    [anon_sym_PERCENT] = ACTIONS(3325),
    [anon_sym_PLUS_PLUS] = ACTIONS(3328),
    [anon_sym_DASH_DASH] = ACTIONS(3328),
    [anon_sym_PIPE] = ACTIONS(3328),
    [anon_sym_CARET] = ACTIONS(3325),
    [anon_sym_LT_LT] = ACTIONS(3328),
    [anon_sym_GT_GT] = ACTIONS(3328),
    [anon_sym_import] = ACTIONS(3328),
    [anon_sym_typealias] = ACTIONS(3328),
    [anon_sym_struct] = ACTIONS(3328),
    [anon_sym_class] = ACTIONS(3328),
    [anon_sym_enum] = ACTIONS(3328),
    [anon_sym_protocol] = ACTIONS(3328),
    [anon_sym_let] = ACTIONS(3328),
    [anon_sym_var] = ACTIONS(3328),
    [anon_sym_func] = ACTIONS(3328),
    [anon_sym_extension] = ACTIONS(3328),
    [anon_sym_indirect] = ACTIONS(3328),
    [anon_sym_SEMI] = ACTIONS(3328),
    [anon_sym_init] = ACTIONS(3328),
    [anon_sym_deinit] = ACTIONS(3328),
    [anon_sym_subscript] = ACTIONS(3328),
    [anon_sym_prefix] = ACTIONS(3328),
    [anon_sym_infix] = ACTIONS(3328),
    [anon_sym_postfix] = ACTIONS(3328),
    [anon_sym_precedencegroup] = ACTIONS(3328),
    [anon_sym_associatedtype] = ACTIONS(3328),
    [anon_sym_AT] = ACTIONS(3325),
    [anon_sym_override] = ACTIONS(3328),
    [anon_sym_convenience] = ACTIONS(3328),
    [anon_sym_required] = ACTIONS(3328),
    [anon_sym_nonisolated] = ACTIONS(3328),
    [anon_sym_public] = ACTIONS(3328),
    [anon_sym_private] = ACTIONS(3328),
    [anon_sym_internal] = ACTIONS(3328),
    [anon_sym_fileprivate] = ACTIONS(3328),
    [anon_sym_open] = ACTIONS(3328),
    [anon_sym_mutating] = ACTIONS(3328),
    [anon_sym_nonmutating] = ACTIONS(3328),
    [anon_sym_static] = ACTIONS(3328),
    [anon_sym_dynamic] = ACTIONS(3328),
    [anon_sym_optional] = ACTIONS(3328),
    [anon_sym_distributed] = ACTIONS(3328),
    [anon_sym_final] = ACTIONS(3328),
    [anon_sym_inout] = ACTIONS(3328),
    [anon_sym_ATescaping] = ACTIONS(3328),
    [anon_sym_ATautoclosure] = ACTIONS(3328),
    [anon_sym_weak] = ACTIONS(3328),
    [anon_sym_unowned] = ACTIONS(3325),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3328),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3328),
    [anon_sym_borrowing] = ACTIONS(3328),
    [anon_sym_consuming] = ACTIONS(3328),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3328),
    [sym__conjunction_operator_custom] = ACTIONS(3328),
    [sym__disjunction_operator_custom] = ACTIONS(3328),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3328),
    [sym__eq_custom] = ACTIONS(3328),
    [sym__eq_eq_custom] = ACTIONS(3328),
    [sym__plus_then_ws] = ACTIONS(3328),
    [sym__minus_then_ws] = ACTIONS(3328),
    [sym__bang_custom] = ACTIONS(3328),
    [sym__as_custom] = ACTIONS(3328),
    [sym__as_quest_custom] = ACTIONS(3328),
    [sym__as_bang_custom] = ACTIONS(3328),
    [sym__custom_operator] = ACTIONS(3328),
  },
  [885] = {
    [anon_sym_BANG] = ACTIONS(3331),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3333),
    [anon_sym_async] = ACTIONS(3333),
    [anon_sym_lazy] = ACTIONS(3333),
    [anon_sym_package] = ACTIONS(3333),
    [anon_sym_RPAREN] = ACTIONS(3333),
    [anon_sym_COMMA] = ACTIONS(3333),
    [anon_sym_COLON] = ACTIONS(3333),
    [anon_sym_LPAREN] = ACTIONS(3333),
    [anon_sym_LBRACK] = ACTIONS(3333),
    [anon_sym_RBRACK] = ACTIONS(3333),
    [anon_sym_QMARK] = ACTIONS(3331),
    [anon_sym_QMARK2] = ACTIONS(3333),
    [anon_sym_AMP] = ACTIONS(3333),
    [aux_sym_custom_operator_token1] = ACTIONS(3333),
    [anon_sym_LT] = ACTIONS(3331),
    [anon_sym_GT] = ACTIONS(3331),
    [anon_sym_LBRACE] = ACTIONS(3333),
    [anon_sym_CARET_LBRACE] = ACTIONS(3333),
    [anon_sym_RBRACE] = ACTIONS(3333),
    [anon_sym_case] = ACTIONS(3333),
    [anon_sym_PLUS_EQ] = ACTIONS(3333),
    [anon_sym_DASH_EQ] = ACTIONS(3333),
    [anon_sym_STAR_EQ] = ACTIONS(3333),
    [anon_sym_SLASH_EQ] = ACTIONS(3333),
    [anon_sym_PERCENT_EQ] = ACTIONS(3333),
    [anon_sym_BANG_EQ] = ACTIONS(3331),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3333),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3333),
    [anon_sym_LT_EQ] = ACTIONS(3333),
    [anon_sym_GT_EQ] = ACTIONS(3333),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3333),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3333),
    [anon_sym_is] = ACTIONS(3333),
    [anon_sym_PLUS] = ACTIONS(3331),
    [anon_sym_DASH] = ACTIONS(3331),
    [anon_sym_STAR] = ACTIONS(3331),
    [anon_sym_SLASH] = ACTIONS(3331),
    [anon_sym_PERCENT] = ACTIONS(3331),
    [anon_sym_PLUS_PLUS] = ACTIONS(3333),
    [anon_sym_DASH_DASH] = ACTIONS(3333),
    [anon_sym_PIPE] = ACTIONS(3333),
    [anon_sym_CARET] = ACTIONS(3331),
    [anon_sym_LT_LT] = ACTIONS(3333),
    [anon_sym_GT_GT] = ACTIONS(3333),
    [anon_sym_import] = ACTIONS(3333),
    [anon_sym_typealias] = ACTIONS(3333),
    [anon_sym_struct] = ACTIONS(3333),
    [anon_sym_class] = ACTIONS(3333),
    [anon_sym_enum] = ACTIONS(3333),
    [anon_sym_protocol] = ACTIONS(3333),
    [anon_sym_let] = ACTIONS(3333),
    [anon_sym_var] = ACTIONS(3333),
    [anon_sym_func] = ACTIONS(3333),
    [anon_sym_extension] = ACTIONS(3333),
    [anon_sym_indirect] = ACTIONS(3333),
    [anon_sym_SEMI] = ACTIONS(3333),
    [anon_sym_init] = ACTIONS(3333),
    [anon_sym_deinit] = ACTIONS(3333),
    [anon_sym_subscript] = ACTIONS(3333),
    [anon_sym_prefix] = ACTIONS(3333),
    [anon_sym_infix] = ACTIONS(3333),
    [anon_sym_postfix] = ACTIONS(3333),
    [anon_sym_precedencegroup] = ACTIONS(3333),
    [anon_sym_associatedtype] = ACTIONS(3333),
    [anon_sym_AT] = ACTIONS(3331),
    [anon_sym_override] = ACTIONS(3333),
    [anon_sym_convenience] = ACTIONS(3333),
    [anon_sym_required] = ACTIONS(3333),
    [anon_sym_nonisolated] = ACTIONS(3333),
    [anon_sym_public] = ACTIONS(3333),
    [anon_sym_private] = ACTIONS(3333),
    [anon_sym_internal] = ACTIONS(3333),
    [anon_sym_fileprivate] = ACTIONS(3333),
    [anon_sym_open] = ACTIONS(3333),
    [anon_sym_mutating] = ACTIONS(3333),
    [anon_sym_nonmutating] = ACTIONS(3333),
    [anon_sym_static] = ACTIONS(3333),
    [anon_sym_dynamic] = ACTIONS(3333),
    [anon_sym_optional] = ACTIONS(3333),
    [anon_sym_distributed] = ACTIONS(3333),
    [anon_sym_final] = ACTIONS(3333),
    [anon_sym_inout] = ACTIONS(3333),
    [anon_sym_ATescaping] = ACTIONS(3333),
    [anon_sym_ATautoclosure] = ACTIONS(3333),
    [anon_sym_weak] = ACTIONS(3333),
    [anon_sym_unowned] = ACTIONS(3331),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3333),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3333),
    [anon_sym_borrowing] = ACTIONS(3333),
    [anon_sym_consuming] = ACTIONS(3333),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3333),
    [sym__conjunction_operator_custom] = ACTIONS(3333),
    [sym__disjunction_operator_custom] = ACTIONS(3333),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3333),
    [sym__eq_custom] = ACTIONS(3333),
    [sym__eq_eq_custom] = ACTIONS(3333),
    [sym__plus_then_ws] = ACTIONS(3333),
    [sym__minus_then_ws] = ACTIONS(3333),
    [sym__bang_custom] = ACTIONS(3333),
    [sym__as_custom] = ACTIONS(3333),
    [sym__as_quest_custom] = ACTIONS(3333),
    [sym__as_bang_custom] = ACTIONS(3333),
    [sym__custom_operator] = ACTIONS(3333),
  },
  [886] = {
    [anon_sym_BANG] = ACTIONS(3335),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3338),
    [anon_sym_async] = ACTIONS(3338),
    [anon_sym_lazy] = ACTIONS(3338),
    [anon_sym_package] = ACTIONS(3338),
    [anon_sym_RPAREN] = ACTIONS(3338),
    [anon_sym_COMMA] = ACTIONS(3338),
    [anon_sym_COLON] = ACTIONS(3338),
    [anon_sym_LPAREN] = ACTIONS(3338),
    [anon_sym_LBRACK] = ACTIONS(3338),
    [anon_sym_RBRACK] = ACTIONS(3338),
    [anon_sym_QMARK] = ACTIONS(3335),
    [anon_sym_QMARK2] = ACTIONS(3338),
    [anon_sym_AMP] = ACTIONS(3338),
    [aux_sym_custom_operator_token1] = ACTIONS(3338),
    [anon_sym_LT] = ACTIONS(3335),
    [anon_sym_GT] = ACTIONS(3335),
    [anon_sym_LBRACE] = ACTIONS(3338),
    [anon_sym_CARET_LBRACE] = ACTIONS(3338),
    [anon_sym_RBRACE] = ACTIONS(3338),
    [anon_sym_case] = ACTIONS(3338),
    [anon_sym_PLUS_EQ] = ACTIONS(3338),
    [anon_sym_DASH_EQ] = ACTIONS(3338),
    [anon_sym_STAR_EQ] = ACTIONS(3338),
    [anon_sym_SLASH_EQ] = ACTIONS(3338),
    [anon_sym_PERCENT_EQ] = ACTIONS(3338),
    [anon_sym_BANG_EQ] = ACTIONS(3335),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3338),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3338),
    [anon_sym_LT_EQ] = ACTIONS(3338),
    [anon_sym_GT_EQ] = ACTIONS(3338),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3338),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3338),
    [anon_sym_is] = ACTIONS(3338),
    [anon_sym_PLUS] = ACTIONS(3335),
    [anon_sym_DASH] = ACTIONS(3335),
    [anon_sym_STAR] = ACTIONS(3335),
    [anon_sym_SLASH] = ACTIONS(3335),
    [anon_sym_PERCENT] = ACTIONS(3335),
    [anon_sym_PLUS_PLUS] = ACTIONS(3338),
    [anon_sym_DASH_DASH] = ACTIONS(3338),
    [anon_sym_PIPE] = ACTIONS(3338),
    [anon_sym_CARET] = ACTIONS(3335),
    [anon_sym_LT_LT] = ACTIONS(3338),
    [anon_sym_GT_GT] = ACTIONS(3338),
    [anon_sym_import] = ACTIONS(3338),
    [anon_sym_typealias] = ACTIONS(3338),
    [anon_sym_struct] = ACTIONS(3338),
    [anon_sym_class] = ACTIONS(3338),
    [anon_sym_enum] = ACTIONS(3338),
    [anon_sym_protocol] = ACTIONS(3338),
    [anon_sym_let] = ACTIONS(3338),
    [anon_sym_var] = ACTIONS(3338),
    [anon_sym_func] = ACTIONS(3338),
    [anon_sym_extension] = ACTIONS(3338),
    [anon_sym_indirect] = ACTIONS(3338),
    [anon_sym_SEMI] = ACTIONS(3338),
    [anon_sym_init] = ACTIONS(3338),
    [anon_sym_deinit] = ACTIONS(3338),
    [anon_sym_subscript] = ACTIONS(3338),
    [anon_sym_prefix] = ACTIONS(3338),
    [anon_sym_infix] = ACTIONS(3338),
    [anon_sym_postfix] = ACTIONS(3338),
    [anon_sym_precedencegroup] = ACTIONS(3338),
    [anon_sym_associatedtype] = ACTIONS(3338),
    [anon_sym_AT] = ACTIONS(3335),
    [anon_sym_override] = ACTIONS(3338),
    [anon_sym_convenience] = ACTIONS(3338),
    [anon_sym_required] = ACTIONS(3338),
    [anon_sym_nonisolated] = ACTIONS(3338),
    [anon_sym_public] = ACTIONS(3338),
    [anon_sym_private] = ACTIONS(3338),
    [anon_sym_internal] = ACTIONS(3338),
    [anon_sym_fileprivate] = ACTIONS(3338),
    [anon_sym_open] = ACTIONS(3338),
    [anon_sym_mutating] = ACTIONS(3338),
    [anon_sym_nonmutating] = ACTIONS(3338),
    [anon_sym_static] = ACTIONS(3338),
    [anon_sym_dynamic] = ACTIONS(3338),
    [anon_sym_optional] = ACTIONS(3338),
    [anon_sym_distributed] = ACTIONS(3338),
    [anon_sym_final] = ACTIONS(3338),
    [anon_sym_inout] = ACTIONS(3338),
    [anon_sym_ATescaping] = ACTIONS(3338),
    [anon_sym_ATautoclosure] = ACTIONS(3338),
    [anon_sym_weak] = ACTIONS(3338),
    [anon_sym_unowned] = ACTIONS(3335),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3338),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3338),
    [anon_sym_borrowing] = ACTIONS(3338),
    [anon_sym_consuming] = ACTIONS(3338),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3338),
    [sym__conjunction_operator_custom] = ACTIONS(3338),
    [sym__disjunction_operator_custom] = ACTIONS(3338),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3338),
    [sym__eq_custom] = ACTIONS(3338),
    [sym__eq_eq_custom] = ACTIONS(3338),
    [sym__plus_then_ws] = ACTIONS(3338),
    [sym__minus_then_ws] = ACTIONS(3338),
    [sym__bang_custom] = ACTIONS(3338),
    [sym__as_custom] = ACTIONS(3338),
    [sym__as_quest_custom] = ACTIONS(3338),
    [sym__as_bang_custom] = ACTIONS(3338),
    [sym__custom_operator] = ACTIONS(3338),
  },
  [887] = {
    [anon_sym_BANG] = ACTIONS(2781),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(2779),
    [anon_sym_async] = ACTIONS(2779),
    [anon_sym_lazy] = ACTIONS(2779),
    [anon_sym_package] = ACTIONS(2779),
    [anon_sym_RPAREN] = ACTIONS(2779),
    [anon_sym_COMMA] = ACTIONS(2779),
    [anon_sym_COLON] = ACTIONS(2779),
    [anon_sym_LPAREN] = ACTIONS(2779),
    [anon_sym_LBRACK] = ACTIONS(2779),
    [anon_sym_RBRACK] = ACTIONS(2779),
    [anon_sym_QMARK] = ACTIONS(2781),
    [anon_sym_QMARK2] = ACTIONS(2779),
    [anon_sym_AMP] = ACTIONS(2779),
    [aux_sym_custom_operator_token1] = ACTIONS(2779),
    [anon_sym_LT] = ACTIONS(2781),
    [anon_sym_GT] = ACTIONS(2781),
    [anon_sym_LBRACE] = ACTIONS(2779),
    [anon_sym_CARET_LBRACE] = ACTIONS(2779),
    [anon_sym_RBRACE] = ACTIONS(2779),
    [anon_sym_case] = ACTIONS(2779),
    [anon_sym_PLUS_EQ] = ACTIONS(2779),
    [anon_sym_DASH_EQ] = ACTIONS(2779),
    [anon_sym_STAR_EQ] = ACTIONS(2779),
    [anon_sym_SLASH_EQ] = ACTIONS(2779),
    [anon_sym_PERCENT_EQ] = ACTIONS(2779),
    [anon_sym_BANG_EQ] = ACTIONS(2781),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2779),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2779),
    [anon_sym_LT_EQ] = ACTIONS(2779),
    [anon_sym_GT_EQ] = ACTIONS(2779),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2779),
    [anon_sym_is] = ACTIONS(2779),
    [anon_sym_PLUS] = ACTIONS(2781),
    [anon_sym_DASH] = ACTIONS(2781),
    [anon_sym_STAR] = ACTIONS(2781),
    [anon_sym_SLASH] = ACTIONS(2781),
    [anon_sym_PERCENT] = ACTIONS(2781),
    [anon_sym_PLUS_PLUS] = ACTIONS(2779),
    [anon_sym_DASH_DASH] = ACTIONS(2779),
    [anon_sym_PIPE] = ACTIONS(2779),
    [anon_sym_CARET] = ACTIONS(2781),
    [anon_sym_LT_LT] = ACTIONS(2779),
    [anon_sym_GT_GT] = ACTIONS(2779),
    [anon_sym_import] = ACTIONS(2779),
    [anon_sym_typealias] = ACTIONS(2779),
    [anon_sym_struct] = ACTIONS(2779),
    [anon_sym_class] = ACTIONS(2779),
    [anon_sym_enum] = ACTIONS(2779),
    [anon_sym_protocol] = ACTIONS(2779),
    [anon_sym_let] = ACTIONS(2779),
    [anon_sym_var] = ACTIONS(2779),
    [anon_sym_func] = ACTIONS(2779),
    [anon_sym_extension] = ACTIONS(2779),
    [anon_sym_indirect] = ACTIONS(2779),
    [anon_sym_SEMI] = ACTIONS(2779),
    [anon_sym_init] = ACTIONS(2779),
    [anon_sym_deinit] = ACTIONS(2779),
    [anon_sym_subscript] = ACTIONS(2779),
    [anon_sym_prefix] = ACTIONS(2779),
    [anon_sym_infix] = ACTIONS(2779),
    [anon_sym_postfix] = ACTIONS(2779),
    [anon_sym_precedencegroup] = ACTIONS(2779),
    [anon_sym_associatedtype] = ACTIONS(2779),
    [anon_sym_AT] = ACTIONS(2781),
    [anon_sym_override] = ACTIONS(2779),
    [anon_sym_convenience] = ACTIONS(2779),
    [anon_sym_required] = ACTIONS(2779),
    [anon_sym_nonisolated] = ACTIONS(2779),
    [anon_sym_public] = ACTIONS(2779),
    [anon_sym_private] = ACTIONS(2779),
    [anon_sym_internal] = ACTIONS(2779),
    [anon_sym_fileprivate] = ACTIONS(2779),
    [anon_sym_open] = ACTIONS(2779),
    [anon_sym_mutating] = ACTIONS(2779),
    [anon_sym_nonmutating] = ACTIONS(2779),
    [anon_sym_static] = ACTIONS(2779),
    [anon_sym_dynamic] = ACTIONS(2779),
    [anon_sym_optional] = ACTIONS(2779),
    [anon_sym_distributed] = ACTIONS(2779),
    [anon_sym_final] = ACTIONS(2779),
    [anon_sym_inout] = ACTIONS(2779),
    [anon_sym_ATescaping] = ACTIONS(2779),
    [anon_sym_ATautoclosure] = ACTIONS(2779),
    [anon_sym_weak] = ACTIONS(2779),
    [anon_sym_unowned] = ACTIONS(2781),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2779),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2779),
    [anon_sym_borrowing] = ACTIONS(2779),
    [anon_sym_consuming] = ACTIONS(2779),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2779),
    [sym__conjunction_operator_custom] = ACTIONS(2779),
    [sym__disjunction_operator_custom] = ACTIONS(2779),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2779),
    [sym__eq_custom] = ACTIONS(2779),
    [sym__eq_eq_custom] = ACTIONS(2779),
    [sym__plus_then_ws] = ACTIONS(2779),
    [sym__minus_then_ws] = ACTIONS(2779),
    [sym__bang_custom] = ACTIONS(2779),
    [sym__as_custom] = ACTIONS(2779),
    [sym__as_quest_custom] = ACTIONS(2779),
    [sym__as_bang_custom] = ACTIONS(2779),
    [sym__custom_operator] = ACTIONS(2779),
  },
  [888] = {
    [anon_sym_BANG] = ACTIONS(3341),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3343),
    [anon_sym_async] = ACTIONS(3343),
    [anon_sym_lazy] = ACTIONS(3343),
    [anon_sym_package] = ACTIONS(3343),
    [anon_sym_RPAREN] = ACTIONS(3343),
    [anon_sym_COMMA] = ACTIONS(3343),
    [anon_sym_COLON] = ACTIONS(3343),
    [anon_sym_LPAREN] = ACTIONS(3343),
    [anon_sym_LBRACK] = ACTIONS(3343),
    [anon_sym_RBRACK] = ACTIONS(3343),
    [anon_sym_QMARK] = ACTIONS(3341),
    [anon_sym_QMARK2] = ACTIONS(3343),
    [anon_sym_AMP] = ACTIONS(3343),
    [aux_sym_custom_operator_token1] = ACTIONS(3343),
    [anon_sym_LT] = ACTIONS(3341),
    [anon_sym_GT] = ACTIONS(3341),
    [anon_sym_LBRACE] = ACTIONS(3343),
    [anon_sym_CARET_LBRACE] = ACTIONS(3343),
    [anon_sym_RBRACE] = ACTIONS(3343),
    [anon_sym_case] = ACTIONS(3343),
    [anon_sym_PLUS_EQ] = ACTIONS(3343),
    [anon_sym_DASH_EQ] = ACTIONS(3343),
    [anon_sym_STAR_EQ] = ACTIONS(3343),
    [anon_sym_SLASH_EQ] = ACTIONS(3343),
    [anon_sym_PERCENT_EQ] = ACTIONS(3343),
    [anon_sym_BANG_EQ] = ACTIONS(3341),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3343),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3343),
    [anon_sym_LT_EQ] = ACTIONS(3343),
    [anon_sym_GT_EQ] = ACTIONS(3343),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3343),
    [anon_sym_is] = ACTIONS(3343),
    [anon_sym_PLUS] = ACTIONS(3341),
    [anon_sym_DASH] = ACTIONS(3341),
    [anon_sym_STAR] = ACTIONS(3341),
    [anon_sym_SLASH] = ACTIONS(3341),
    [anon_sym_PERCENT] = ACTIONS(3341),
    [anon_sym_PLUS_PLUS] = ACTIONS(3343),
    [anon_sym_DASH_DASH] = ACTIONS(3343),
    [anon_sym_PIPE] = ACTIONS(3343),
    [anon_sym_CARET] = ACTIONS(3341),
    [anon_sym_LT_LT] = ACTIONS(3343),
    [anon_sym_GT_GT] = ACTIONS(3343),
    [anon_sym_import] = ACTIONS(3343),
    [anon_sym_typealias] = ACTIONS(3343),
    [anon_sym_struct] = ACTIONS(3343),
    [anon_sym_class] = ACTIONS(3343),
    [anon_sym_enum] = ACTIONS(3343),
    [anon_sym_protocol] = ACTIONS(3343),
    [anon_sym_let] = ACTIONS(3343),
    [anon_sym_var] = ACTIONS(3343),
    [anon_sym_func] = ACTIONS(3343),
    [anon_sym_extension] = ACTIONS(3343),
    [anon_sym_indirect] = ACTIONS(3343),
    [anon_sym_SEMI] = ACTIONS(3343),
    [anon_sym_init] = ACTIONS(3343),
    [anon_sym_deinit] = ACTIONS(3343),
    [anon_sym_subscript] = ACTIONS(3343),
    [anon_sym_prefix] = ACTIONS(3343),
    [anon_sym_infix] = ACTIONS(3343),
    [anon_sym_postfix] = ACTIONS(3343),
    [anon_sym_precedencegroup] = ACTIONS(3343),
    [anon_sym_associatedtype] = ACTIONS(3343),
    [anon_sym_AT] = ACTIONS(3341),
    [anon_sym_override] = ACTIONS(3343),
    [anon_sym_convenience] = ACTIONS(3343),
    [anon_sym_required] = ACTIONS(3343),
    [anon_sym_nonisolated] = ACTIONS(3343),
    [anon_sym_public] = ACTIONS(3343),
    [anon_sym_private] = ACTIONS(3343),
    [anon_sym_internal] = ACTIONS(3343),
    [anon_sym_fileprivate] = ACTIONS(3343),
    [anon_sym_open] = ACTIONS(3343),
    [anon_sym_mutating] = ACTIONS(3343),
    [anon_sym_nonmutating] = ACTIONS(3343),
    [anon_sym_static] = ACTIONS(3343),
    [anon_sym_dynamic] = ACTIONS(3343),
    [anon_sym_optional] = ACTIONS(3343),
    [anon_sym_distributed] = ACTIONS(3343),
    [anon_sym_final] = ACTIONS(3343),
    [anon_sym_inout] = ACTIONS(3343),
    [anon_sym_ATescaping] = ACTIONS(3343),
    [anon_sym_ATautoclosure] = ACTIONS(3343),
    [anon_sym_weak] = ACTIONS(3343),
    [anon_sym_unowned] = ACTIONS(3341),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3343),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3343),
    [anon_sym_borrowing] = ACTIONS(3343),
    [anon_sym_consuming] = ACTIONS(3343),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3343),
    [sym__conjunction_operator_custom] = ACTIONS(3343),
    [sym__disjunction_operator_custom] = ACTIONS(3343),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3343),
    [sym__eq_custom] = ACTIONS(3343),
    [sym__eq_eq_custom] = ACTIONS(3343),
    [sym__plus_then_ws] = ACTIONS(3343),
    [sym__minus_then_ws] = ACTIONS(3343),
    [sym__bang_custom] = ACTIONS(3343),
    [sym__as_custom] = ACTIONS(3343),
    [sym__as_quest_custom] = ACTIONS(3343),
    [sym__as_bang_custom] = ACTIONS(3343),
    [sym__custom_operator] = ACTIONS(3343),
  },
  [889] = {
    [anon_sym_BANG] = ACTIONS(3345),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3348),
    [anon_sym_async] = ACTIONS(3348),
    [anon_sym_lazy] = ACTIONS(3348),
    [anon_sym_package] = ACTIONS(3348),
    [anon_sym_RPAREN] = ACTIONS(3348),
    [anon_sym_COMMA] = ACTIONS(3348),
    [anon_sym_COLON] = ACTIONS(3348),
    [anon_sym_LPAREN] = ACTIONS(3348),
    [anon_sym_LBRACK] = ACTIONS(3348),
    [anon_sym_RBRACK] = ACTIONS(3348),
    [anon_sym_QMARK] = ACTIONS(3345),
    [anon_sym_QMARK2] = ACTIONS(3348),
    [anon_sym_AMP] = ACTIONS(3348),
    [aux_sym_custom_operator_token1] = ACTIONS(3348),
    [anon_sym_LT] = ACTIONS(3345),
    [anon_sym_GT] = ACTIONS(3345),
    [anon_sym_LBRACE] = ACTIONS(3348),
    [anon_sym_CARET_LBRACE] = ACTIONS(3348),
    [anon_sym_RBRACE] = ACTIONS(3348),
    [anon_sym_case] = ACTIONS(3348),
    [anon_sym_PLUS_EQ] = ACTIONS(3348),
    [anon_sym_DASH_EQ] = ACTIONS(3348),
    [anon_sym_STAR_EQ] = ACTIONS(3348),
    [anon_sym_SLASH_EQ] = ACTIONS(3348),
    [anon_sym_PERCENT_EQ] = ACTIONS(3348),
    [anon_sym_BANG_EQ] = ACTIONS(3345),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3348),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3348),
    [anon_sym_LT_EQ] = ACTIONS(3348),
    [anon_sym_GT_EQ] = ACTIONS(3348),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3348),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3348),
    [anon_sym_is] = ACTIONS(3348),
    [anon_sym_PLUS] = ACTIONS(3345),
    [anon_sym_DASH] = ACTIONS(3345),
    [anon_sym_STAR] = ACTIONS(3345),
    [anon_sym_SLASH] = ACTIONS(3345),
    [anon_sym_PERCENT] = ACTIONS(3345),
    [anon_sym_PLUS_PLUS] = ACTIONS(3348),
    [anon_sym_DASH_DASH] = ACTIONS(3348),
    [anon_sym_PIPE] = ACTIONS(3348),
    [anon_sym_CARET] = ACTIONS(3345),
    [anon_sym_LT_LT] = ACTIONS(3348),
    [anon_sym_GT_GT] = ACTIONS(3348),
    [anon_sym_import] = ACTIONS(3348),
    [anon_sym_typealias] = ACTIONS(3348),
    [anon_sym_struct] = ACTIONS(3348),
    [anon_sym_class] = ACTIONS(3348),
    [anon_sym_enum] = ACTIONS(3348),
    [anon_sym_protocol] = ACTIONS(3348),
    [anon_sym_let] = ACTIONS(3348),
    [anon_sym_var] = ACTIONS(3348),
    [anon_sym_func] = ACTIONS(3348),
    [anon_sym_extension] = ACTIONS(3348),
    [anon_sym_indirect] = ACTIONS(3348),
    [anon_sym_SEMI] = ACTIONS(3348),
    [anon_sym_init] = ACTIONS(3348),
    [anon_sym_deinit] = ACTIONS(3348),
    [anon_sym_subscript] = ACTIONS(3348),
    [anon_sym_prefix] = ACTIONS(3348),
    [anon_sym_infix] = ACTIONS(3348),
    [anon_sym_postfix] = ACTIONS(3348),
    [anon_sym_precedencegroup] = ACTIONS(3348),
    [anon_sym_associatedtype] = ACTIONS(3348),
    [anon_sym_AT] = ACTIONS(3345),
    [anon_sym_override] = ACTIONS(3348),
    [anon_sym_convenience] = ACTIONS(3348),
    [anon_sym_required] = ACTIONS(3348),
    [anon_sym_nonisolated] = ACTIONS(3348),
    [anon_sym_public] = ACTIONS(3348),
    [anon_sym_private] = ACTIONS(3348),
    [anon_sym_internal] = ACTIONS(3348),
    [anon_sym_fileprivate] = ACTIONS(3348),
    [anon_sym_open] = ACTIONS(3348),
    [anon_sym_mutating] = ACTIONS(3348),
    [anon_sym_nonmutating] = ACTIONS(3348),
    [anon_sym_static] = ACTIONS(3348),
    [anon_sym_dynamic] = ACTIONS(3348),
    [anon_sym_optional] = ACTIONS(3348),
    [anon_sym_distributed] = ACTIONS(3348),
    [anon_sym_final] = ACTIONS(3348),
    [anon_sym_inout] = ACTIONS(3348),
    [anon_sym_ATescaping] = ACTIONS(3348),
    [anon_sym_ATautoclosure] = ACTIONS(3348),
    [anon_sym_weak] = ACTIONS(3348),
    [anon_sym_unowned] = ACTIONS(3345),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3348),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3348),
    [anon_sym_borrowing] = ACTIONS(3348),
    [anon_sym_consuming] = ACTIONS(3348),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3348),
    [sym__conjunction_operator_custom] = ACTIONS(3348),
    [sym__disjunction_operator_custom] = ACTIONS(3348),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3348),
    [sym__eq_custom] = ACTIONS(3348),
    [sym__eq_eq_custom] = ACTIONS(3348),
    [sym__plus_then_ws] = ACTIONS(3348),
    [sym__minus_then_ws] = ACTIONS(3348),
    [sym__bang_custom] = ACTIONS(3348),
    [sym__as_custom] = ACTIONS(3348),
    [sym__as_quest_custom] = ACTIONS(3348),
    [sym__as_bang_custom] = ACTIONS(3348),
    [sym__custom_operator] = ACTIONS(3348),
  },
  [890] = {
    [anon_sym_BANG] = ACTIONS(3351),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3354),
    [anon_sym_async] = ACTIONS(3354),
    [anon_sym_lazy] = ACTIONS(3354),
    [anon_sym_package] = ACTIONS(3354),
    [anon_sym_RPAREN] = ACTIONS(3354),
    [anon_sym_COMMA] = ACTIONS(3354),
    [anon_sym_COLON] = ACTIONS(3354),
    [anon_sym_LPAREN] = ACTIONS(3354),
    [anon_sym_LBRACK] = ACTIONS(3354),
    [anon_sym_RBRACK] = ACTIONS(3354),
    [anon_sym_QMARK] = ACTIONS(3351),
    [anon_sym_QMARK2] = ACTIONS(3354),
    [anon_sym_AMP] = ACTIONS(3354),
    [aux_sym_custom_operator_token1] = ACTIONS(3354),
    [anon_sym_LT] = ACTIONS(3351),
    [anon_sym_GT] = ACTIONS(3351),
    [anon_sym_LBRACE] = ACTIONS(3354),
    [anon_sym_CARET_LBRACE] = ACTIONS(3354),
    [anon_sym_RBRACE] = ACTIONS(3354),
    [anon_sym_case] = ACTIONS(3354),
    [anon_sym_PLUS_EQ] = ACTIONS(3354),
    [anon_sym_DASH_EQ] = ACTIONS(3354),
    [anon_sym_STAR_EQ] = ACTIONS(3354),
    [anon_sym_SLASH_EQ] = ACTIONS(3354),
    [anon_sym_PERCENT_EQ] = ACTIONS(3354),
    [anon_sym_BANG_EQ] = ACTIONS(3351),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3354),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3354),
    [anon_sym_LT_EQ] = ACTIONS(3354),
    [anon_sym_GT_EQ] = ACTIONS(3354),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3354),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3354),
    [anon_sym_is] = ACTIONS(3354),
    [anon_sym_PLUS] = ACTIONS(3351),
    [anon_sym_DASH] = ACTIONS(3351),
    [anon_sym_STAR] = ACTIONS(3351),
    [anon_sym_SLASH] = ACTIONS(3351),
    [anon_sym_PERCENT] = ACTIONS(3351),
    [anon_sym_PLUS_PLUS] = ACTIONS(3354),
    [anon_sym_DASH_DASH] = ACTIONS(3354),
    [anon_sym_PIPE] = ACTIONS(3354),
    [anon_sym_CARET] = ACTIONS(3351),
    [anon_sym_LT_LT] = ACTIONS(3354),
    [anon_sym_GT_GT] = ACTIONS(3354),
    [anon_sym_import] = ACTIONS(3354),
    [anon_sym_typealias] = ACTIONS(3354),
    [anon_sym_struct] = ACTIONS(3354),
    [anon_sym_class] = ACTIONS(3354),
    [anon_sym_enum] = ACTIONS(3354),
    [anon_sym_protocol] = ACTIONS(3354),
    [anon_sym_let] = ACTIONS(3354),
    [anon_sym_var] = ACTIONS(3354),
    [anon_sym_func] = ACTIONS(3354),
    [anon_sym_extension] = ACTIONS(3354),
    [anon_sym_indirect] = ACTIONS(3354),
    [anon_sym_SEMI] = ACTIONS(3354),
    [anon_sym_init] = ACTIONS(3354),
    [anon_sym_deinit] = ACTIONS(3354),
    [anon_sym_subscript] = ACTIONS(3354),
    [anon_sym_prefix] = ACTIONS(3354),
    [anon_sym_infix] = ACTIONS(3354),
    [anon_sym_postfix] = ACTIONS(3354),
    [anon_sym_precedencegroup] = ACTIONS(3354),
    [anon_sym_associatedtype] = ACTIONS(3354),
    [anon_sym_AT] = ACTIONS(3351),
    [anon_sym_override] = ACTIONS(3354),
    [anon_sym_convenience] = ACTIONS(3354),
    [anon_sym_required] = ACTIONS(3354),
    [anon_sym_nonisolated] = ACTIONS(3354),
    [anon_sym_public] = ACTIONS(3354),
    [anon_sym_private] = ACTIONS(3354),
    [anon_sym_internal] = ACTIONS(3354),
    [anon_sym_fileprivate] = ACTIONS(3354),
    [anon_sym_open] = ACTIONS(3354),
    [anon_sym_mutating] = ACTIONS(3354),
    [anon_sym_nonmutating] = ACTIONS(3354),
    [anon_sym_static] = ACTIONS(3354),
    [anon_sym_dynamic] = ACTIONS(3354),
    [anon_sym_optional] = ACTIONS(3354),
    [anon_sym_distributed] = ACTIONS(3354),
    [anon_sym_final] = ACTIONS(3354),
    [anon_sym_inout] = ACTIONS(3354),
    [anon_sym_ATescaping] = ACTIONS(3354),
    [anon_sym_ATautoclosure] = ACTIONS(3354),
    [anon_sym_weak] = ACTIONS(3354),
    [anon_sym_unowned] = ACTIONS(3351),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3354),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3354),
    [anon_sym_borrowing] = ACTIONS(3354),
    [anon_sym_consuming] = ACTIONS(3354),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3354),
    [sym__conjunction_operator_custom] = ACTIONS(3354),
    [sym__disjunction_operator_custom] = ACTIONS(3354),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3354),
    [sym__eq_custom] = ACTIONS(3354),
    [sym__eq_eq_custom] = ACTIONS(3354),
    [sym__plus_then_ws] = ACTIONS(3354),
    [sym__minus_then_ws] = ACTIONS(3354),
    [sym__bang_custom] = ACTIONS(3354),
    [sym__as_custom] = ACTIONS(3354),
    [sym__as_quest_custom] = ACTIONS(3354),
    [sym__as_bang_custom] = ACTIONS(3354),
    [sym__custom_operator] = ACTIONS(3354),
  },
  [891] = {
    [anon_sym_BANG] = ACTIONS(3357),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3359),
    [anon_sym_async] = ACTIONS(3359),
    [anon_sym_lazy] = ACTIONS(3359),
    [anon_sym_package] = ACTIONS(3359),
    [anon_sym_RPAREN] = ACTIONS(3359),
    [anon_sym_COMMA] = ACTIONS(3359),
    [anon_sym_COLON] = ACTIONS(3359),
    [anon_sym_LPAREN] = ACTIONS(3359),
    [anon_sym_LBRACK] = ACTIONS(3359),
    [anon_sym_RBRACK] = ACTIONS(3359),
    [anon_sym_QMARK] = ACTIONS(3357),
    [anon_sym_QMARK2] = ACTIONS(3359),
    [anon_sym_AMP] = ACTIONS(3359),
    [aux_sym_custom_operator_token1] = ACTIONS(3359),
    [anon_sym_LT] = ACTIONS(3357),
    [anon_sym_GT] = ACTIONS(3357),
    [anon_sym_LBRACE] = ACTIONS(3359),
    [anon_sym_CARET_LBRACE] = ACTIONS(3359),
    [anon_sym_RBRACE] = ACTIONS(3359),
    [anon_sym_case] = ACTIONS(3359),
    [anon_sym_PLUS_EQ] = ACTIONS(3359),
    [anon_sym_DASH_EQ] = ACTIONS(3359),
    [anon_sym_STAR_EQ] = ACTIONS(3359),
    [anon_sym_SLASH_EQ] = ACTIONS(3359),
    [anon_sym_PERCENT_EQ] = ACTIONS(3359),
    [anon_sym_BANG_EQ] = ACTIONS(3357),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3359),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3359),
    [anon_sym_LT_EQ] = ACTIONS(3359),
    [anon_sym_GT_EQ] = ACTIONS(3359),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3359),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3359),
    [anon_sym_is] = ACTIONS(3359),
    [anon_sym_PLUS] = ACTIONS(3357),
    [anon_sym_DASH] = ACTIONS(3357),
    [anon_sym_STAR] = ACTIONS(3357),
    [anon_sym_SLASH] = ACTIONS(3357),
    [anon_sym_PERCENT] = ACTIONS(3357),
    [anon_sym_PLUS_PLUS] = ACTIONS(3359),
    [anon_sym_DASH_DASH] = ACTIONS(3359),
    [anon_sym_PIPE] = ACTIONS(3359),
    [anon_sym_CARET] = ACTIONS(3357),
    [anon_sym_LT_LT] = ACTIONS(3359),
    [anon_sym_GT_GT] = ACTIONS(3359),
    [anon_sym_import] = ACTIONS(3359),
    [anon_sym_typealias] = ACTIONS(3359),
    [anon_sym_struct] = ACTIONS(3359),
    [anon_sym_class] = ACTIONS(3359),
    [anon_sym_enum] = ACTIONS(3359),
    [anon_sym_protocol] = ACTIONS(3359),
    [anon_sym_let] = ACTIONS(3359),
    [anon_sym_var] = ACTIONS(3359),
    [anon_sym_func] = ACTIONS(3359),
    [anon_sym_extension] = ACTIONS(3359),
    [anon_sym_indirect] = ACTIONS(3359),
    [anon_sym_SEMI] = ACTIONS(3359),
    [anon_sym_init] = ACTIONS(3359),
    [anon_sym_deinit] = ACTIONS(3359),
    [anon_sym_subscript] = ACTIONS(3359),
    [anon_sym_prefix] = ACTIONS(3359),
    [anon_sym_infix] = ACTIONS(3359),
    [anon_sym_postfix] = ACTIONS(3359),
    [anon_sym_precedencegroup] = ACTIONS(3359),
    [anon_sym_associatedtype] = ACTIONS(3359),
    [anon_sym_AT] = ACTIONS(3357),
    [anon_sym_override] = ACTIONS(3359),
    [anon_sym_convenience] = ACTIONS(3359),
    [anon_sym_required] = ACTIONS(3359),
    [anon_sym_nonisolated] = ACTIONS(3359),
    [anon_sym_public] = ACTIONS(3359),
    [anon_sym_private] = ACTIONS(3359),
    [anon_sym_internal] = ACTIONS(3359),
    [anon_sym_fileprivate] = ACTIONS(3359),
    [anon_sym_open] = ACTIONS(3359),
    [anon_sym_mutating] = ACTIONS(3359),
    [anon_sym_nonmutating] = ACTIONS(3359),
    [anon_sym_static] = ACTIONS(3359),
    [anon_sym_dynamic] = ACTIONS(3359),
    [anon_sym_optional] = ACTIONS(3359),
    [anon_sym_distributed] = ACTIONS(3359),
    [anon_sym_final] = ACTIONS(3359),
    [anon_sym_inout] = ACTIONS(3359),
    [anon_sym_ATescaping] = ACTIONS(3359),
    [anon_sym_ATautoclosure] = ACTIONS(3359),
    [anon_sym_weak] = ACTIONS(3359),
    [anon_sym_unowned] = ACTIONS(3357),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3359),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3359),
    [anon_sym_borrowing] = ACTIONS(3359),
    [anon_sym_consuming] = ACTIONS(3359),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3359),
    [sym__conjunction_operator_custom] = ACTIONS(3359),
    [sym__disjunction_operator_custom] = ACTIONS(3359),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3359),
    [sym__eq_custom] = ACTIONS(3359),
    [sym__eq_eq_custom] = ACTIONS(3359),
    [sym__plus_then_ws] = ACTIONS(3359),
    [sym__minus_then_ws] = ACTIONS(3359),
    [sym__bang_custom] = ACTIONS(3359),
    [sym__as_custom] = ACTIONS(3359),
    [sym__as_quest_custom] = ACTIONS(3359),
    [sym__as_bang_custom] = ACTIONS(3359),
    [sym__custom_operator] = ACTIONS(3359),
  },
  [892] = {
    [anon_sym_BANG] = ACTIONS(3361),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3363),
    [anon_sym_async] = ACTIONS(3363),
    [anon_sym_lazy] = ACTIONS(3363),
    [anon_sym_package] = ACTIONS(3363),
    [anon_sym_RPAREN] = ACTIONS(3363),
    [anon_sym_COMMA] = ACTIONS(3363),
    [anon_sym_COLON] = ACTIONS(3363),
    [anon_sym_LPAREN] = ACTIONS(3363),
    [anon_sym_LBRACK] = ACTIONS(3363),
    [anon_sym_RBRACK] = ACTIONS(3363),
    [anon_sym_QMARK] = ACTIONS(3361),
    [anon_sym_QMARK2] = ACTIONS(3363),
    [anon_sym_AMP] = ACTIONS(3363),
    [aux_sym_custom_operator_token1] = ACTIONS(3363),
    [anon_sym_LT] = ACTIONS(3361),
    [anon_sym_GT] = ACTIONS(3361),
    [anon_sym_LBRACE] = ACTIONS(3363),
    [anon_sym_CARET_LBRACE] = ACTIONS(3363),
    [anon_sym_RBRACE] = ACTIONS(3363),
    [anon_sym_case] = ACTIONS(3363),
    [anon_sym_PLUS_EQ] = ACTIONS(3363),
    [anon_sym_DASH_EQ] = ACTIONS(3363),
    [anon_sym_STAR_EQ] = ACTIONS(3363),
    [anon_sym_SLASH_EQ] = ACTIONS(3363),
    [anon_sym_PERCENT_EQ] = ACTIONS(3363),
    [anon_sym_BANG_EQ] = ACTIONS(3361),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3363),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3363),
    [anon_sym_LT_EQ] = ACTIONS(3363),
    [anon_sym_GT_EQ] = ACTIONS(3363),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3363),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3363),
    [anon_sym_is] = ACTIONS(3363),
    [anon_sym_PLUS] = ACTIONS(3361),
    [anon_sym_DASH] = ACTIONS(3361),
    [anon_sym_STAR] = ACTIONS(3361),
    [anon_sym_SLASH] = ACTIONS(3361),
    [anon_sym_PERCENT] = ACTIONS(3361),
    [anon_sym_PLUS_PLUS] = ACTIONS(3363),
    [anon_sym_DASH_DASH] = ACTIONS(3363),
    [anon_sym_PIPE] = ACTIONS(3363),
    [anon_sym_CARET] = ACTIONS(3361),
    [anon_sym_LT_LT] = ACTIONS(3363),
    [anon_sym_GT_GT] = ACTIONS(3363),
    [anon_sym_import] = ACTIONS(3363),
    [anon_sym_typealias] = ACTIONS(3363),
    [anon_sym_struct] = ACTIONS(3363),
    [anon_sym_class] = ACTIONS(3363),
    [anon_sym_enum] = ACTIONS(3363),
    [anon_sym_protocol] = ACTIONS(3363),
    [anon_sym_let] = ACTIONS(3363),
    [anon_sym_var] = ACTIONS(3363),
    [anon_sym_func] = ACTIONS(3363),
    [anon_sym_extension] = ACTIONS(3363),
    [anon_sym_indirect] = ACTIONS(3363),
    [anon_sym_SEMI] = ACTIONS(3363),
    [anon_sym_init] = ACTIONS(3363),
    [anon_sym_deinit] = ACTIONS(3363),
    [anon_sym_subscript] = ACTIONS(3363),
    [anon_sym_prefix] = ACTIONS(3363),
    [anon_sym_infix] = ACTIONS(3363),
    [anon_sym_postfix] = ACTIONS(3363),
    [anon_sym_precedencegroup] = ACTIONS(3363),
    [anon_sym_associatedtype] = ACTIONS(3363),
    [anon_sym_AT] = ACTIONS(3361),
    [anon_sym_override] = ACTIONS(3363),
    [anon_sym_convenience] = ACTIONS(3363),
    [anon_sym_required] = ACTIONS(3363),
    [anon_sym_nonisolated] = ACTIONS(3363),
    [anon_sym_public] = ACTIONS(3363),
    [anon_sym_private] = ACTIONS(3363),
    [anon_sym_internal] = ACTIONS(3363),
    [anon_sym_fileprivate] = ACTIONS(3363),
    [anon_sym_open] = ACTIONS(3363),
    [anon_sym_mutating] = ACTIONS(3363),
    [anon_sym_nonmutating] = ACTIONS(3363),
    [anon_sym_static] = ACTIONS(3363),
    [anon_sym_dynamic] = ACTIONS(3363),
    [anon_sym_optional] = ACTIONS(3363),
    [anon_sym_distributed] = ACTIONS(3363),
    [anon_sym_final] = ACTIONS(3363),
    [anon_sym_inout] = ACTIONS(3363),
    [anon_sym_ATescaping] = ACTIONS(3363),
    [anon_sym_ATautoclosure] = ACTIONS(3363),
    [anon_sym_weak] = ACTIONS(3363),
    [anon_sym_unowned] = ACTIONS(3361),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3363),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3363),
    [anon_sym_borrowing] = ACTIONS(3363),
    [anon_sym_consuming] = ACTIONS(3363),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3363),
    [sym__conjunction_operator_custom] = ACTIONS(3363),
    [sym__disjunction_operator_custom] = ACTIONS(3363),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3363),
    [sym__eq_custom] = ACTIONS(3363),
    [sym__eq_eq_custom] = ACTIONS(3363),
    [sym__plus_then_ws] = ACTIONS(3363),
    [sym__minus_then_ws] = ACTIONS(3363),
    [sym__bang_custom] = ACTIONS(3363),
    [sym__as_custom] = ACTIONS(3363),
    [sym__as_quest_custom] = ACTIONS(3363),
    [sym__as_bang_custom] = ACTIONS(3363),
    [sym__custom_operator] = ACTIONS(3363),
  },
  [893] = {
    [anon_sym_BANG] = ACTIONS(3365),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3367),
    [anon_sym_async] = ACTIONS(3367),
    [anon_sym_lazy] = ACTIONS(3367),
    [anon_sym_package] = ACTIONS(3367),
    [anon_sym_RPAREN] = ACTIONS(3367),
    [anon_sym_COMMA] = ACTIONS(3367),
    [anon_sym_COLON] = ACTIONS(3367),
    [anon_sym_LPAREN] = ACTIONS(3367),
    [anon_sym_LBRACK] = ACTIONS(3367),
    [anon_sym_RBRACK] = ACTIONS(3367),
    [anon_sym_QMARK] = ACTIONS(3365),
    [anon_sym_QMARK2] = ACTIONS(3367),
    [anon_sym_AMP] = ACTIONS(3367),
    [aux_sym_custom_operator_token1] = ACTIONS(3367),
    [anon_sym_LT] = ACTIONS(3365),
    [anon_sym_GT] = ACTIONS(3365),
    [anon_sym_LBRACE] = ACTIONS(3367),
    [anon_sym_CARET_LBRACE] = ACTIONS(3367),
    [anon_sym_RBRACE] = ACTIONS(3367),
    [anon_sym_case] = ACTIONS(3367),
    [anon_sym_PLUS_EQ] = ACTIONS(3367),
    [anon_sym_DASH_EQ] = ACTIONS(3367),
    [anon_sym_STAR_EQ] = ACTIONS(3367),
    [anon_sym_SLASH_EQ] = ACTIONS(3367),
    [anon_sym_PERCENT_EQ] = ACTIONS(3367),
    [anon_sym_BANG_EQ] = ACTIONS(3365),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3367),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3367),
    [anon_sym_LT_EQ] = ACTIONS(3367),
    [anon_sym_GT_EQ] = ACTIONS(3367),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3367),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3367),
    [anon_sym_is] = ACTIONS(3367),
    [anon_sym_PLUS] = ACTIONS(3365),
    [anon_sym_DASH] = ACTIONS(3365),
    [anon_sym_STAR] = ACTIONS(3365),
    [anon_sym_SLASH] = ACTIONS(3365),
    [anon_sym_PERCENT] = ACTIONS(3365),
    [anon_sym_PLUS_PLUS] = ACTIONS(3367),
    [anon_sym_DASH_DASH] = ACTIONS(3367),
    [anon_sym_PIPE] = ACTIONS(3367),
    [anon_sym_CARET] = ACTIONS(3365),
    [anon_sym_LT_LT] = ACTIONS(3367),
    [anon_sym_GT_GT] = ACTIONS(3367),
    [anon_sym_import] = ACTIONS(3367),
    [anon_sym_typealias] = ACTIONS(3367),
    [anon_sym_struct] = ACTIONS(3367),
    [anon_sym_class] = ACTIONS(3367),
    [anon_sym_enum] = ACTIONS(3367),
    [anon_sym_protocol] = ACTIONS(3367),
    [anon_sym_let] = ACTIONS(3367),
    [anon_sym_var] = ACTIONS(3367),
    [anon_sym_func] = ACTIONS(3367),
    [anon_sym_extension] = ACTIONS(3367),
    [anon_sym_indirect] = ACTIONS(3367),
    [anon_sym_SEMI] = ACTIONS(3367),
    [anon_sym_init] = ACTIONS(3367),
    [anon_sym_deinit] = ACTIONS(3367),
    [anon_sym_subscript] = ACTIONS(3367),
    [anon_sym_prefix] = ACTIONS(3367),
    [anon_sym_infix] = ACTIONS(3367),
    [anon_sym_postfix] = ACTIONS(3367),
    [anon_sym_precedencegroup] = ACTIONS(3367),
    [anon_sym_associatedtype] = ACTIONS(3367),
    [anon_sym_AT] = ACTIONS(3365),
    [anon_sym_override] = ACTIONS(3367),
    [anon_sym_convenience] = ACTIONS(3367),
    [anon_sym_required] = ACTIONS(3367),
    [anon_sym_nonisolated] = ACTIONS(3367),
    [anon_sym_public] = ACTIONS(3367),
    [anon_sym_private] = ACTIONS(3367),
    [anon_sym_internal] = ACTIONS(3367),
    [anon_sym_fileprivate] = ACTIONS(3367),
    [anon_sym_open] = ACTIONS(3367),
    [anon_sym_mutating] = ACTIONS(3367),
    [anon_sym_nonmutating] = ACTIONS(3367),
    [anon_sym_static] = ACTIONS(3367),
    [anon_sym_dynamic] = ACTIONS(3367),
    [anon_sym_optional] = ACTIONS(3367),
    [anon_sym_distributed] = ACTIONS(3367),
    [anon_sym_final] = ACTIONS(3367),
    [anon_sym_inout] = ACTIONS(3367),
    [anon_sym_ATescaping] = ACTIONS(3367),
    [anon_sym_ATautoclosure] = ACTIONS(3367),
    [anon_sym_weak] = ACTIONS(3367),
    [anon_sym_unowned] = ACTIONS(3365),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3367),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3367),
    [anon_sym_borrowing] = ACTIONS(3367),
    [anon_sym_consuming] = ACTIONS(3367),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3367),
    [sym__conjunction_operator_custom] = ACTIONS(3367),
    [sym__disjunction_operator_custom] = ACTIONS(3367),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3367),
    [sym__eq_custom] = ACTIONS(3367),
    [sym__eq_eq_custom] = ACTIONS(3367),
    [sym__plus_then_ws] = ACTIONS(3367),
    [sym__minus_then_ws] = ACTIONS(3367),
    [sym__bang_custom] = ACTIONS(3367),
    [sym__as_custom] = ACTIONS(3367),
    [sym__as_quest_custom] = ACTIONS(3367),
    [sym__as_bang_custom] = ACTIONS(3367),
    [sym__custom_operator] = ACTIONS(3367),
  },
  [894] = {
    [anon_sym_BANG] = ACTIONS(3369),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3371),
    [anon_sym_async] = ACTIONS(3371),
    [anon_sym_lazy] = ACTIONS(3371),
    [anon_sym_package] = ACTIONS(3371),
    [anon_sym_RPAREN] = ACTIONS(3371),
    [anon_sym_COMMA] = ACTIONS(3371),
    [anon_sym_COLON] = ACTIONS(3371),
    [anon_sym_LPAREN] = ACTIONS(3371),
    [anon_sym_LBRACK] = ACTIONS(3371),
    [anon_sym_RBRACK] = ACTIONS(3371),
    [anon_sym_QMARK] = ACTIONS(3369),
    [anon_sym_QMARK2] = ACTIONS(3371),
    [anon_sym_AMP] = ACTIONS(3371),
    [aux_sym_custom_operator_token1] = ACTIONS(3371),
    [anon_sym_LT] = ACTIONS(3369),
    [anon_sym_GT] = ACTIONS(3369),
    [anon_sym_LBRACE] = ACTIONS(3371),
    [anon_sym_CARET_LBRACE] = ACTIONS(3371),
    [anon_sym_RBRACE] = ACTIONS(3371),
    [anon_sym_case] = ACTIONS(3371),
    [anon_sym_PLUS_EQ] = ACTIONS(3371),
    [anon_sym_DASH_EQ] = ACTIONS(3371),
    [anon_sym_STAR_EQ] = ACTIONS(3371),
    [anon_sym_SLASH_EQ] = ACTIONS(3371),
    [anon_sym_PERCENT_EQ] = ACTIONS(3371),
    [anon_sym_BANG_EQ] = ACTIONS(3369),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3371),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3371),
    [anon_sym_LT_EQ] = ACTIONS(3371),
    [anon_sym_GT_EQ] = ACTIONS(3371),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3371),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3371),
    [anon_sym_is] = ACTIONS(3371),
    [anon_sym_PLUS] = ACTIONS(3369),
    [anon_sym_DASH] = ACTIONS(3369),
    [anon_sym_STAR] = ACTIONS(3369),
    [anon_sym_SLASH] = ACTIONS(3369),
    [anon_sym_PERCENT] = ACTIONS(3369),
    [anon_sym_PLUS_PLUS] = ACTIONS(3371),
    [anon_sym_DASH_DASH] = ACTIONS(3371),
    [anon_sym_PIPE] = ACTIONS(3371),
    [anon_sym_CARET] = ACTIONS(3369),
    [anon_sym_LT_LT] = ACTIONS(3371),
    [anon_sym_GT_GT] = ACTIONS(3371),
    [anon_sym_import] = ACTIONS(3371),
    [anon_sym_typealias] = ACTIONS(3371),
    [anon_sym_struct] = ACTIONS(3371),
    [anon_sym_class] = ACTIONS(3371),
    [anon_sym_enum] = ACTIONS(3371),
    [anon_sym_protocol] = ACTIONS(3371),
    [anon_sym_let] = ACTIONS(3371),
    [anon_sym_var] = ACTIONS(3371),
    [anon_sym_func] = ACTIONS(3371),
    [anon_sym_extension] = ACTIONS(3371),
    [anon_sym_indirect] = ACTIONS(3371),
    [anon_sym_SEMI] = ACTIONS(3371),
    [anon_sym_init] = ACTIONS(3371),
    [anon_sym_deinit] = ACTIONS(3371),
    [anon_sym_subscript] = ACTIONS(3371),
    [anon_sym_prefix] = ACTIONS(3371),
    [anon_sym_infix] = ACTIONS(3371),
    [anon_sym_postfix] = ACTIONS(3371),
    [anon_sym_precedencegroup] = ACTIONS(3371),
    [anon_sym_associatedtype] = ACTIONS(3371),
    [anon_sym_AT] = ACTIONS(3369),
    [anon_sym_override] = ACTIONS(3371),
    [anon_sym_convenience] = ACTIONS(3371),
    [anon_sym_required] = ACTIONS(3371),
    [anon_sym_nonisolated] = ACTIONS(3371),
    [anon_sym_public] = ACTIONS(3371),
    [anon_sym_private] = ACTIONS(3371),
    [anon_sym_internal] = ACTIONS(3371),
    [anon_sym_fileprivate] = ACTIONS(3371),
    [anon_sym_open] = ACTIONS(3371),
    [anon_sym_mutating] = ACTIONS(3371),
    [anon_sym_nonmutating] = ACTIONS(3371),
    [anon_sym_static] = ACTIONS(3371),
    [anon_sym_dynamic] = ACTIONS(3371),
    [anon_sym_optional] = ACTIONS(3371),
    [anon_sym_distributed] = ACTIONS(3371),
    [anon_sym_final] = ACTIONS(3371),
    [anon_sym_inout] = ACTIONS(3371),
    [anon_sym_ATescaping] = ACTIONS(3371),
    [anon_sym_ATautoclosure] = ACTIONS(3371),
    [anon_sym_weak] = ACTIONS(3371),
    [anon_sym_unowned] = ACTIONS(3369),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3371),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3371),
    [anon_sym_borrowing] = ACTIONS(3371),
    [anon_sym_consuming] = ACTIONS(3371),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3371),
    [sym__conjunction_operator_custom] = ACTIONS(3371),
    [sym__disjunction_operator_custom] = ACTIONS(3371),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3371),
    [sym__eq_custom] = ACTIONS(3371),
    [sym__eq_eq_custom] = ACTIONS(3371),
    [sym__plus_then_ws] = ACTIONS(3371),
    [sym__minus_then_ws] = ACTIONS(3371),
    [sym__bang_custom] = ACTIONS(3371),
    [sym__as_custom] = ACTIONS(3371),
    [sym__as_quest_custom] = ACTIONS(3371),
    [sym__as_bang_custom] = ACTIONS(3371),
    [sym__custom_operator] = ACTIONS(3371),
  },
  [895] = {
    [anon_sym_BANG] = ACTIONS(3373),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3375),
    [anon_sym_async] = ACTIONS(3375),
    [anon_sym_lazy] = ACTIONS(3375),
    [anon_sym_package] = ACTIONS(3375),
    [anon_sym_RPAREN] = ACTIONS(3375),
    [anon_sym_COMMA] = ACTIONS(3375),
    [anon_sym_COLON] = ACTIONS(3375),
    [anon_sym_LPAREN] = ACTIONS(3375),
    [anon_sym_LBRACK] = ACTIONS(3375),
    [anon_sym_RBRACK] = ACTIONS(3375),
    [anon_sym_QMARK] = ACTIONS(3373),
    [anon_sym_QMARK2] = ACTIONS(3375),
    [anon_sym_AMP] = ACTIONS(3375),
    [aux_sym_custom_operator_token1] = ACTIONS(3375),
    [anon_sym_LT] = ACTIONS(3373),
    [anon_sym_GT] = ACTIONS(3373),
    [anon_sym_LBRACE] = ACTIONS(3375),
    [anon_sym_CARET_LBRACE] = ACTIONS(3375),
    [anon_sym_RBRACE] = ACTIONS(3375),
    [anon_sym_case] = ACTIONS(3375),
    [anon_sym_PLUS_EQ] = ACTIONS(3375),
    [anon_sym_DASH_EQ] = ACTIONS(3375),
    [anon_sym_STAR_EQ] = ACTIONS(3375),
    [anon_sym_SLASH_EQ] = ACTIONS(3375),
    [anon_sym_PERCENT_EQ] = ACTIONS(3375),
    [anon_sym_BANG_EQ] = ACTIONS(3373),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3375),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3375),
    [anon_sym_LT_EQ] = ACTIONS(3375),
    [anon_sym_GT_EQ] = ACTIONS(3375),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3375),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3375),
    [anon_sym_is] = ACTIONS(3375),
    [anon_sym_PLUS] = ACTIONS(3373),
    [anon_sym_DASH] = ACTIONS(3373),
    [anon_sym_STAR] = ACTIONS(3373),
    [anon_sym_SLASH] = ACTIONS(3373),
    [anon_sym_PERCENT] = ACTIONS(3373),
    [anon_sym_PLUS_PLUS] = ACTIONS(3375),
    [anon_sym_DASH_DASH] = ACTIONS(3375),
    [anon_sym_PIPE] = ACTIONS(3375),
    [anon_sym_CARET] = ACTIONS(3373),
    [anon_sym_LT_LT] = ACTIONS(3375),
    [anon_sym_GT_GT] = ACTIONS(3375),
    [anon_sym_import] = ACTIONS(3375),
    [anon_sym_typealias] = ACTIONS(3375),
    [anon_sym_struct] = ACTIONS(3375),
    [anon_sym_class] = ACTIONS(3375),
    [anon_sym_enum] = ACTIONS(3375),
    [anon_sym_protocol] = ACTIONS(3375),
    [anon_sym_let] = ACTIONS(3375),
    [anon_sym_var] = ACTIONS(3375),
    [anon_sym_func] = ACTIONS(3375),
    [anon_sym_extension] = ACTIONS(3375),
    [anon_sym_indirect] = ACTIONS(3375),
    [anon_sym_SEMI] = ACTIONS(3375),
    [anon_sym_init] = ACTIONS(3375),
    [anon_sym_deinit] = ACTIONS(3375),
    [anon_sym_subscript] = ACTIONS(3375),
    [anon_sym_prefix] = ACTIONS(3375),
    [anon_sym_infix] = ACTIONS(3375),
    [anon_sym_postfix] = ACTIONS(3375),
    [anon_sym_precedencegroup] = ACTIONS(3375),
    [anon_sym_associatedtype] = ACTIONS(3375),
    [anon_sym_AT] = ACTIONS(3373),
    [anon_sym_override] = ACTIONS(3375),
    [anon_sym_convenience] = ACTIONS(3375),
    [anon_sym_required] = ACTIONS(3375),
    [anon_sym_nonisolated] = ACTIONS(3375),
    [anon_sym_public] = ACTIONS(3375),
    [anon_sym_private] = ACTIONS(3375),
    [anon_sym_internal] = ACTIONS(3375),
    [anon_sym_fileprivate] = ACTIONS(3375),
    [anon_sym_open] = ACTIONS(3375),
    [anon_sym_mutating] = ACTIONS(3375),
    [anon_sym_nonmutating] = ACTIONS(3375),
    [anon_sym_static] = ACTIONS(3375),
    [anon_sym_dynamic] = ACTIONS(3375),
    [anon_sym_optional] = ACTIONS(3375),
    [anon_sym_distributed] = ACTIONS(3375),
    [anon_sym_final] = ACTIONS(3375),
    [anon_sym_inout] = ACTIONS(3375),
    [anon_sym_ATescaping] = ACTIONS(3375),
    [anon_sym_ATautoclosure] = ACTIONS(3375),
    [anon_sym_weak] = ACTIONS(3375),
    [anon_sym_unowned] = ACTIONS(3373),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3375),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3375),
    [anon_sym_borrowing] = ACTIONS(3375),
    [anon_sym_consuming] = ACTIONS(3375),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3375),
    [sym__conjunction_operator_custom] = ACTIONS(3375),
    [sym__disjunction_operator_custom] = ACTIONS(3375),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3375),
    [sym__eq_custom] = ACTIONS(3375),
    [sym__eq_eq_custom] = ACTIONS(3375),
    [sym__plus_then_ws] = ACTIONS(3375),
    [sym__minus_then_ws] = ACTIONS(3375),
    [sym__bang_custom] = ACTIONS(3375),
    [sym__as_custom] = ACTIONS(3375),
    [sym__as_quest_custom] = ACTIONS(3375),
    [sym__as_bang_custom] = ACTIONS(3375),
    [sym__custom_operator] = ACTIONS(3375),
  },
  [896] = {
    [anon_sym_BANG] = ACTIONS(3377),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3379),
    [anon_sym_async] = ACTIONS(3379),
    [anon_sym_lazy] = ACTIONS(3379),
    [anon_sym_package] = ACTIONS(3379),
    [anon_sym_RPAREN] = ACTIONS(3379),
    [anon_sym_COMMA] = ACTIONS(3379),
    [anon_sym_COLON] = ACTIONS(3379),
    [anon_sym_LPAREN] = ACTIONS(3379),
    [anon_sym_LBRACK] = ACTIONS(3379),
    [anon_sym_RBRACK] = ACTIONS(3379),
    [anon_sym_QMARK] = ACTIONS(3377),
    [anon_sym_QMARK2] = ACTIONS(3379),
    [anon_sym_AMP] = ACTIONS(3379),
    [aux_sym_custom_operator_token1] = ACTIONS(3379),
    [anon_sym_LT] = ACTIONS(3377),
    [anon_sym_GT] = ACTIONS(3377),
    [anon_sym_LBRACE] = ACTIONS(3379),
    [anon_sym_CARET_LBRACE] = ACTIONS(3379),
    [anon_sym_RBRACE] = ACTIONS(3379),
    [anon_sym_case] = ACTIONS(3379),
    [anon_sym_PLUS_EQ] = ACTIONS(3379),
    [anon_sym_DASH_EQ] = ACTIONS(3379),
    [anon_sym_STAR_EQ] = ACTIONS(3379),
    [anon_sym_SLASH_EQ] = ACTIONS(3379),
    [anon_sym_PERCENT_EQ] = ACTIONS(3379),
    [anon_sym_BANG_EQ] = ACTIONS(3377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3379),
    [anon_sym_LT_EQ] = ACTIONS(3379),
    [anon_sym_GT_EQ] = ACTIONS(3379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3379),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3379),
    [anon_sym_is] = ACTIONS(3379),
    [anon_sym_PLUS] = ACTIONS(3377),
    [anon_sym_DASH] = ACTIONS(3377),
    [anon_sym_STAR] = ACTIONS(3377),
    [anon_sym_SLASH] = ACTIONS(3377),
    [anon_sym_PERCENT] = ACTIONS(3377),
    [anon_sym_PLUS_PLUS] = ACTIONS(3379),
    [anon_sym_DASH_DASH] = ACTIONS(3379),
    [anon_sym_PIPE] = ACTIONS(3379),
    [anon_sym_CARET] = ACTIONS(3377),
    [anon_sym_LT_LT] = ACTIONS(3379),
    [anon_sym_GT_GT] = ACTIONS(3379),
    [anon_sym_import] = ACTIONS(3379),
    [anon_sym_typealias] = ACTIONS(3379),
    [anon_sym_struct] = ACTIONS(3379),
    [anon_sym_class] = ACTIONS(3379),
    [anon_sym_enum] = ACTIONS(3379),
    [anon_sym_protocol] = ACTIONS(3379),
    [anon_sym_let] = ACTIONS(3379),
    [anon_sym_var] = ACTIONS(3379),
    [anon_sym_func] = ACTIONS(3379),
    [anon_sym_extension] = ACTIONS(3379),
    [anon_sym_indirect] = ACTIONS(3379),
    [anon_sym_SEMI] = ACTIONS(3379),
    [anon_sym_init] = ACTIONS(3379),
    [anon_sym_deinit] = ACTIONS(3379),
    [anon_sym_subscript] = ACTIONS(3379),
    [anon_sym_prefix] = ACTIONS(3379),
    [anon_sym_infix] = ACTIONS(3379),
    [anon_sym_postfix] = ACTIONS(3379),
    [anon_sym_precedencegroup] = ACTIONS(3379),
    [anon_sym_associatedtype] = ACTIONS(3379),
    [anon_sym_AT] = ACTIONS(3377),
    [anon_sym_override] = ACTIONS(3379),
    [anon_sym_convenience] = ACTIONS(3379),
    [anon_sym_required] = ACTIONS(3379),
    [anon_sym_nonisolated] = ACTIONS(3379),
    [anon_sym_public] = ACTIONS(3379),
    [anon_sym_private] = ACTIONS(3379),
    [anon_sym_internal] = ACTIONS(3379),
    [anon_sym_fileprivate] = ACTIONS(3379),
    [anon_sym_open] = ACTIONS(3379),
    [anon_sym_mutating] = ACTIONS(3379),
    [anon_sym_nonmutating] = ACTIONS(3379),
    [anon_sym_static] = ACTIONS(3379),
    [anon_sym_dynamic] = ACTIONS(3379),
    [anon_sym_optional] = ACTIONS(3379),
    [anon_sym_distributed] = ACTIONS(3379),
    [anon_sym_final] = ACTIONS(3379),
    [anon_sym_inout] = ACTIONS(3379),
    [anon_sym_ATescaping] = ACTIONS(3379),
    [anon_sym_ATautoclosure] = ACTIONS(3379),
    [anon_sym_weak] = ACTIONS(3379),
    [anon_sym_unowned] = ACTIONS(3377),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3379),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3379),
    [anon_sym_borrowing] = ACTIONS(3379),
    [anon_sym_consuming] = ACTIONS(3379),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3379),
    [sym__conjunction_operator_custom] = ACTIONS(3379),
    [sym__disjunction_operator_custom] = ACTIONS(3379),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3379),
    [sym__eq_custom] = ACTIONS(3379),
    [sym__eq_eq_custom] = ACTIONS(3379),
    [sym__plus_then_ws] = ACTIONS(3379),
    [sym__minus_then_ws] = ACTIONS(3379),
    [sym__bang_custom] = ACTIONS(3379),
    [sym__as_custom] = ACTIONS(3379),
    [sym__as_quest_custom] = ACTIONS(3379),
    [sym__as_bang_custom] = ACTIONS(3379),
    [sym__custom_operator] = ACTIONS(3379),
  },
  [897] = {
    [anon_sym_BANG] = ACTIONS(3190),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3192),
    [anon_sym_async] = ACTIONS(3192),
    [anon_sym_lazy] = ACTIONS(3192),
    [anon_sym_package] = ACTIONS(3192),
    [anon_sym_RPAREN] = ACTIONS(3192),
    [anon_sym_COMMA] = ACTIONS(3192),
    [anon_sym_COLON] = ACTIONS(3192),
    [anon_sym_LPAREN] = ACTIONS(3192),
    [anon_sym_LBRACK] = ACTIONS(3192),
    [anon_sym_RBRACK] = ACTIONS(3192),
    [anon_sym_QMARK] = ACTIONS(3190),
    [anon_sym_QMARK2] = ACTIONS(3192),
    [anon_sym_AMP] = ACTIONS(3192),
    [aux_sym_custom_operator_token1] = ACTIONS(3192),
    [anon_sym_LT] = ACTIONS(3190),
    [anon_sym_GT] = ACTIONS(3190),
    [anon_sym_LBRACE] = ACTIONS(3192),
    [anon_sym_CARET_LBRACE] = ACTIONS(3192),
    [anon_sym_RBRACE] = ACTIONS(3192),
    [anon_sym_case] = ACTIONS(3192),
    [anon_sym_PLUS_EQ] = ACTIONS(3192),
    [anon_sym_DASH_EQ] = ACTIONS(3192),
    [anon_sym_STAR_EQ] = ACTIONS(3192),
    [anon_sym_SLASH_EQ] = ACTIONS(3192),
    [anon_sym_PERCENT_EQ] = ACTIONS(3192),
    [anon_sym_BANG_EQ] = ACTIONS(3190),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3192),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3192),
    [anon_sym_LT_EQ] = ACTIONS(3192),
    [anon_sym_GT_EQ] = ACTIONS(3192),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3192),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3192),
    [anon_sym_is] = ACTIONS(3192),
    [anon_sym_PLUS] = ACTIONS(3190),
    [anon_sym_DASH] = ACTIONS(3190),
    [anon_sym_STAR] = ACTIONS(3190),
    [anon_sym_SLASH] = ACTIONS(3190),
    [anon_sym_PERCENT] = ACTIONS(3190),
    [anon_sym_PLUS_PLUS] = ACTIONS(3192),
    [anon_sym_DASH_DASH] = ACTIONS(3192),
    [anon_sym_PIPE] = ACTIONS(3192),
    [anon_sym_CARET] = ACTIONS(3190),
    [anon_sym_LT_LT] = ACTIONS(3192),
    [anon_sym_GT_GT] = ACTIONS(3192),
    [anon_sym_import] = ACTIONS(3192),
    [anon_sym_typealias] = ACTIONS(3192),
    [anon_sym_struct] = ACTIONS(3192),
    [anon_sym_class] = ACTIONS(3192),
    [anon_sym_enum] = ACTIONS(3192),
    [anon_sym_protocol] = ACTIONS(3192),
    [anon_sym_let] = ACTIONS(3192),
    [anon_sym_var] = ACTIONS(3192),
    [anon_sym_func] = ACTIONS(3192),
    [anon_sym_extension] = ACTIONS(3192),
    [anon_sym_indirect] = ACTIONS(3192),
    [anon_sym_SEMI] = ACTIONS(3192),
    [anon_sym_init] = ACTIONS(3192),
    [anon_sym_deinit] = ACTIONS(3192),
    [anon_sym_subscript] = ACTIONS(3192),
    [anon_sym_prefix] = ACTIONS(3192),
    [anon_sym_infix] = ACTIONS(3192),
    [anon_sym_postfix] = ACTIONS(3192),
    [anon_sym_precedencegroup] = ACTIONS(3192),
    [anon_sym_associatedtype] = ACTIONS(3192),
    [anon_sym_AT] = ACTIONS(3190),
    [anon_sym_override] = ACTIONS(3192),
    [anon_sym_convenience] = ACTIONS(3192),
    [anon_sym_required] = ACTIONS(3192),
    [anon_sym_nonisolated] = ACTIONS(3192),
    [anon_sym_public] = ACTIONS(3192),
    [anon_sym_private] = ACTIONS(3192),
    [anon_sym_internal] = ACTIONS(3192),
    [anon_sym_fileprivate] = ACTIONS(3192),
    [anon_sym_open] = ACTIONS(3192),
    [anon_sym_mutating] = ACTIONS(3192),
    [anon_sym_nonmutating] = ACTIONS(3192),
    [anon_sym_static] = ACTIONS(3192),
    [anon_sym_dynamic] = ACTIONS(3192),
    [anon_sym_optional] = ACTIONS(3192),
    [anon_sym_distributed] = ACTIONS(3192),
    [anon_sym_final] = ACTIONS(3192),
    [anon_sym_inout] = ACTIONS(3192),
    [anon_sym_ATescaping] = ACTIONS(3192),
    [anon_sym_ATautoclosure] = ACTIONS(3192),
    [anon_sym_weak] = ACTIONS(3192),
    [anon_sym_unowned] = ACTIONS(3190),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3192),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3192),
    [anon_sym_borrowing] = ACTIONS(3192),
    [anon_sym_consuming] = ACTIONS(3192),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3192),
    [sym__conjunction_operator_custom] = ACTIONS(3192),
    [sym__disjunction_operator_custom] = ACTIONS(3192),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3192),
    [sym__eq_custom] = ACTIONS(3192),
    [sym__eq_eq_custom] = ACTIONS(3192),
    [sym__plus_then_ws] = ACTIONS(3192),
    [sym__minus_then_ws] = ACTIONS(3192),
    [sym__bang_custom] = ACTIONS(3192),
    [sym__as_custom] = ACTIONS(3192),
    [sym__as_quest_custom] = ACTIONS(3192),
    [sym__as_bang_custom] = ACTIONS(3192),
    [sym__custom_operator] = ACTIONS(3192),
  },
  [898] = {
    [anon_sym_BANG] = ACTIONS(3381),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3383),
    [anon_sym_async] = ACTIONS(3383),
    [anon_sym_lazy] = ACTIONS(3383),
    [anon_sym_package] = ACTIONS(3383),
    [anon_sym_RPAREN] = ACTIONS(3383),
    [anon_sym_COMMA] = ACTIONS(3383),
    [anon_sym_COLON] = ACTIONS(3383),
    [anon_sym_LPAREN] = ACTIONS(3383),
    [anon_sym_LBRACK] = ACTIONS(3383),
    [anon_sym_RBRACK] = ACTIONS(3383),
    [anon_sym_QMARK] = ACTIONS(3381),
    [anon_sym_QMARK2] = ACTIONS(3383),
    [anon_sym_AMP] = ACTIONS(3383),
    [aux_sym_custom_operator_token1] = ACTIONS(3383),
    [anon_sym_LT] = ACTIONS(3381),
    [anon_sym_GT] = ACTIONS(3381),
    [anon_sym_LBRACE] = ACTIONS(3383),
    [anon_sym_CARET_LBRACE] = ACTIONS(3383),
    [anon_sym_RBRACE] = ACTIONS(3383),
    [anon_sym_case] = ACTIONS(3383),
    [anon_sym_PLUS_EQ] = ACTIONS(3383),
    [anon_sym_DASH_EQ] = ACTIONS(3383),
    [anon_sym_STAR_EQ] = ACTIONS(3383),
    [anon_sym_SLASH_EQ] = ACTIONS(3383),
    [anon_sym_PERCENT_EQ] = ACTIONS(3383),
    [anon_sym_BANG_EQ] = ACTIONS(3381),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3383),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3383),
    [anon_sym_LT_EQ] = ACTIONS(3383),
    [anon_sym_GT_EQ] = ACTIONS(3383),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3383),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3383),
    [anon_sym_is] = ACTIONS(3383),
    [anon_sym_PLUS] = ACTIONS(3381),
    [anon_sym_DASH] = ACTIONS(3381),
    [anon_sym_STAR] = ACTIONS(3381),
    [anon_sym_SLASH] = ACTIONS(3381),
    [anon_sym_PERCENT] = ACTIONS(3381),
    [anon_sym_PLUS_PLUS] = ACTIONS(3383),
    [anon_sym_DASH_DASH] = ACTIONS(3383),
    [anon_sym_PIPE] = ACTIONS(3383),
    [anon_sym_CARET] = ACTIONS(3381),
    [anon_sym_LT_LT] = ACTIONS(3383),
    [anon_sym_GT_GT] = ACTIONS(3383),
    [anon_sym_import] = ACTIONS(3383),
    [anon_sym_typealias] = ACTIONS(3383),
    [anon_sym_struct] = ACTIONS(3383),
    [anon_sym_class] = ACTIONS(3383),
    [anon_sym_enum] = ACTIONS(3383),
    [anon_sym_protocol] = ACTIONS(3383),
    [anon_sym_let] = ACTIONS(3383),
    [anon_sym_var] = ACTIONS(3383),
    [anon_sym_func] = ACTIONS(3383),
    [anon_sym_extension] = ACTIONS(3383),
    [anon_sym_indirect] = ACTIONS(3383),
    [anon_sym_SEMI] = ACTIONS(3383),
    [anon_sym_init] = ACTIONS(3383),
    [anon_sym_deinit] = ACTIONS(3383),
    [anon_sym_subscript] = ACTIONS(3383),
    [anon_sym_prefix] = ACTIONS(3383),
    [anon_sym_infix] = ACTIONS(3383),
    [anon_sym_postfix] = ACTIONS(3383),
    [anon_sym_precedencegroup] = ACTIONS(3383),
    [anon_sym_associatedtype] = ACTIONS(3383),
    [anon_sym_AT] = ACTIONS(3381),
    [anon_sym_override] = ACTIONS(3383),
    [anon_sym_convenience] = ACTIONS(3383),
    [anon_sym_required] = ACTIONS(3383),
    [anon_sym_nonisolated] = ACTIONS(3383),
    [anon_sym_public] = ACTIONS(3383),
    [anon_sym_private] = ACTIONS(3383),
    [anon_sym_internal] = ACTIONS(3383),
    [anon_sym_fileprivate] = ACTIONS(3383),
    [anon_sym_open] = ACTIONS(3383),
    [anon_sym_mutating] = ACTIONS(3383),
    [anon_sym_nonmutating] = ACTIONS(3383),
    [anon_sym_static] = ACTIONS(3383),
    [anon_sym_dynamic] = ACTIONS(3383),
    [anon_sym_optional] = ACTIONS(3383),
    [anon_sym_distributed] = ACTIONS(3383),
    [anon_sym_final] = ACTIONS(3383),
    [anon_sym_inout] = ACTIONS(3383),
    [anon_sym_ATescaping] = ACTIONS(3383),
    [anon_sym_ATautoclosure] = ACTIONS(3383),
    [anon_sym_weak] = ACTIONS(3383),
    [anon_sym_unowned] = ACTIONS(3381),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3383),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3383),
    [anon_sym_borrowing] = ACTIONS(3383),
    [anon_sym_consuming] = ACTIONS(3383),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3383),
    [sym__conjunction_operator_custom] = ACTIONS(3383),
    [sym__disjunction_operator_custom] = ACTIONS(3383),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3383),
    [sym__eq_custom] = ACTIONS(3383),
    [sym__eq_eq_custom] = ACTIONS(3383),
    [sym__plus_then_ws] = ACTIONS(3383),
    [sym__minus_then_ws] = ACTIONS(3383),
    [sym__bang_custom] = ACTIONS(3383),
    [sym__as_custom] = ACTIONS(3383),
    [sym__as_quest_custom] = ACTIONS(3383),
    [sym__as_bang_custom] = ACTIONS(3383),
    [sym__custom_operator] = ACTIONS(3383),
  },
  [899] = {
    [anon_sym_BANG] = ACTIONS(3385),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3387),
    [anon_sym_async] = ACTIONS(3387),
    [anon_sym_lazy] = ACTIONS(3387),
    [anon_sym_package] = ACTIONS(3387),
    [anon_sym_RPAREN] = ACTIONS(3387),
    [anon_sym_COMMA] = ACTIONS(3387),
    [anon_sym_COLON] = ACTIONS(3387),
    [anon_sym_LPAREN] = ACTIONS(3387),
    [anon_sym_LBRACK] = ACTIONS(3387),
    [anon_sym_RBRACK] = ACTIONS(3387),
    [anon_sym_QMARK] = ACTIONS(3385),
    [anon_sym_QMARK2] = ACTIONS(3387),
    [anon_sym_AMP] = ACTIONS(3387),
    [aux_sym_custom_operator_token1] = ACTIONS(3387),
    [anon_sym_LT] = ACTIONS(3385),
    [anon_sym_GT] = ACTIONS(3385),
    [anon_sym_LBRACE] = ACTIONS(3387),
    [anon_sym_CARET_LBRACE] = ACTIONS(3387),
    [anon_sym_RBRACE] = ACTIONS(3387),
    [anon_sym_case] = ACTIONS(3387),
    [anon_sym_PLUS_EQ] = ACTIONS(3387),
    [anon_sym_DASH_EQ] = ACTIONS(3387),
    [anon_sym_STAR_EQ] = ACTIONS(3387),
    [anon_sym_SLASH_EQ] = ACTIONS(3387),
    [anon_sym_PERCENT_EQ] = ACTIONS(3387),
    [anon_sym_BANG_EQ] = ACTIONS(3385),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3387),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3387),
    [anon_sym_LT_EQ] = ACTIONS(3387),
    [anon_sym_GT_EQ] = ACTIONS(3387),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3387),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3387),
    [anon_sym_is] = ACTIONS(3387),
    [anon_sym_PLUS] = ACTIONS(3385),
    [anon_sym_DASH] = ACTIONS(3385),
    [anon_sym_STAR] = ACTIONS(3385),
    [anon_sym_SLASH] = ACTIONS(3385),
    [anon_sym_PERCENT] = ACTIONS(3385),
    [anon_sym_PLUS_PLUS] = ACTIONS(3387),
    [anon_sym_DASH_DASH] = ACTIONS(3387),
    [anon_sym_PIPE] = ACTIONS(3387),
    [anon_sym_CARET] = ACTIONS(3385),
    [anon_sym_LT_LT] = ACTIONS(3387),
    [anon_sym_GT_GT] = ACTIONS(3387),
    [anon_sym_import] = ACTIONS(3387),
    [anon_sym_typealias] = ACTIONS(3387),
    [anon_sym_struct] = ACTIONS(3387),
    [anon_sym_class] = ACTIONS(3387),
    [anon_sym_enum] = ACTIONS(3387),
    [anon_sym_protocol] = ACTIONS(3387),
    [anon_sym_let] = ACTIONS(3387),
    [anon_sym_var] = ACTIONS(3387),
    [anon_sym_func] = ACTIONS(3387),
    [anon_sym_extension] = ACTIONS(3387),
    [anon_sym_indirect] = ACTIONS(3387),
    [anon_sym_SEMI] = ACTIONS(3387),
    [anon_sym_init] = ACTIONS(3387),
    [anon_sym_deinit] = ACTIONS(3387),
    [anon_sym_subscript] = ACTIONS(3387),
    [anon_sym_prefix] = ACTIONS(3387),
    [anon_sym_infix] = ACTIONS(3387),
    [anon_sym_postfix] = ACTIONS(3387),
    [anon_sym_precedencegroup] = ACTIONS(3387),
    [anon_sym_associatedtype] = ACTIONS(3387),
    [anon_sym_AT] = ACTIONS(3385),
    [anon_sym_override] = ACTIONS(3387),
    [anon_sym_convenience] = ACTIONS(3387),
    [anon_sym_required] = ACTIONS(3387),
    [anon_sym_nonisolated] = ACTIONS(3387),
    [anon_sym_public] = ACTIONS(3387),
    [anon_sym_private] = ACTIONS(3387),
    [anon_sym_internal] = ACTIONS(3387),
    [anon_sym_fileprivate] = ACTIONS(3387),
    [anon_sym_open] = ACTIONS(3387),
    [anon_sym_mutating] = ACTIONS(3387),
    [anon_sym_nonmutating] = ACTIONS(3387),
    [anon_sym_static] = ACTIONS(3387),
    [anon_sym_dynamic] = ACTIONS(3387),
    [anon_sym_optional] = ACTIONS(3387),
    [anon_sym_distributed] = ACTIONS(3387),
    [anon_sym_final] = ACTIONS(3387),
    [anon_sym_inout] = ACTIONS(3387),
    [anon_sym_ATescaping] = ACTIONS(3387),
    [anon_sym_ATautoclosure] = ACTIONS(3387),
    [anon_sym_weak] = ACTIONS(3387),
    [anon_sym_unowned] = ACTIONS(3385),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3387),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3387),
    [anon_sym_borrowing] = ACTIONS(3387),
    [anon_sym_consuming] = ACTIONS(3387),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3387),
    [sym__conjunction_operator_custom] = ACTIONS(3387),
    [sym__disjunction_operator_custom] = ACTIONS(3387),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3387),
    [sym__eq_custom] = ACTIONS(3387),
    [sym__eq_eq_custom] = ACTIONS(3387),
    [sym__plus_then_ws] = ACTIONS(3387),
    [sym__minus_then_ws] = ACTIONS(3387),
    [sym__bang_custom] = ACTIONS(3387),
    [sym__as_custom] = ACTIONS(3387),
    [sym__as_quest_custom] = ACTIONS(3387),
    [sym__as_bang_custom] = ACTIONS(3387),
    [sym__custom_operator] = ACTIONS(3387),
  },
  [900] = {
    [anon_sym_BANG] = ACTIONS(3389),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3391),
    [anon_sym_async] = ACTIONS(3391),
    [anon_sym_lazy] = ACTIONS(3391),
    [anon_sym_package] = ACTIONS(3391),
    [anon_sym_RPAREN] = ACTIONS(3391),
    [anon_sym_COMMA] = ACTIONS(3391),
    [anon_sym_COLON] = ACTIONS(3391),
    [anon_sym_LPAREN] = ACTIONS(3391),
    [anon_sym_LBRACK] = ACTIONS(3391),
    [anon_sym_RBRACK] = ACTIONS(3391),
    [anon_sym_QMARK] = ACTIONS(3389),
    [anon_sym_QMARK2] = ACTIONS(3391),
    [anon_sym_AMP] = ACTIONS(3391),
    [aux_sym_custom_operator_token1] = ACTIONS(3391),
    [anon_sym_LT] = ACTIONS(3389),
    [anon_sym_GT] = ACTIONS(3389),
    [anon_sym_LBRACE] = ACTIONS(3391),
    [anon_sym_CARET_LBRACE] = ACTIONS(3391),
    [anon_sym_RBRACE] = ACTIONS(3391),
    [anon_sym_case] = ACTIONS(3391),
    [anon_sym_PLUS_EQ] = ACTIONS(3391),
    [anon_sym_DASH_EQ] = ACTIONS(3391),
    [anon_sym_STAR_EQ] = ACTIONS(3391),
    [anon_sym_SLASH_EQ] = ACTIONS(3391),
    [anon_sym_PERCENT_EQ] = ACTIONS(3391),
    [anon_sym_BANG_EQ] = ACTIONS(3389),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3391),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3391),
    [anon_sym_LT_EQ] = ACTIONS(3391),
    [anon_sym_GT_EQ] = ACTIONS(3391),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3391),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3391),
    [anon_sym_is] = ACTIONS(3391),
    [anon_sym_PLUS] = ACTIONS(3389),
    [anon_sym_DASH] = ACTIONS(3389),
    [anon_sym_STAR] = ACTIONS(3389),
    [anon_sym_SLASH] = ACTIONS(3389),
    [anon_sym_PERCENT] = ACTIONS(3389),
    [anon_sym_PLUS_PLUS] = ACTIONS(3391),
    [anon_sym_DASH_DASH] = ACTIONS(3391),
    [anon_sym_PIPE] = ACTIONS(3391),
    [anon_sym_CARET] = ACTIONS(3389),
    [anon_sym_LT_LT] = ACTIONS(3391),
    [anon_sym_GT_GT] = ACTIONS(3391),
    [anon_sym_import] = ACTIONS(3391),
    [anon_sym_typealias] = ACTIONS(3391),
    [anon_sym_struct] = ACTIONS(3391),
    [anon_sym_class] = ACTIONS(3391),
    [anon_sym_enum] = ACTIONS(3391),
    [anon_sym_protocol] = ACTIONS(3391),
    [anon_sym_let] = ACTIONS(3391),
    [anon_sym_var] = ACTIONS(3391),
    [anon_sym_func] = ACTIONS(3391),
    [anon_sym_extension] = ACTIONS(3391),
    [anon_sym_indirect] = ACTIONS(3391),
    [anon_sym_SEMI] = ACTIONS(3391),
    [anon_sym_init] = ACTIONS(3391),
    [anon_sym_deinit] = ACTIONS(3391),
    [anon_sym_subscript] = ACTIONS(3391),
    [anon_sym_prefix] = ACTIONS(3391),
    [anon_sym_infix] = ACTIONS(3391),
    [anon_sym_postfix] = ACTIONS(3391),
    [anon_sym_precedencegroup] = ACTIONS(3391),
    [anon_sym_associatedtype] = ACTIONS(3391),
    [anon_sym_AT] = ACTIONS(3389),
    [anon_sym_override] = ACTIONS(3391),
    [anon_sym_convenience] = ACTIONS(3391),
    [anon_sym_required] = ACTIONS(3391),
    [anon_sym_nonisolated] = ACTIONS(3391),
    [anon_sym_public] = ACTIONS(3391),
    [anon_sym_private] = ACTIONS(3391),
    [anon_sym_internal] = ACTIONS(3391),
    [anon_sym_fileprivate] = ACTIONS(3391),
    [anon_sym_open] = ACTIONS(3391),
    [anon_sym_mutating] = ACTIONS(3391),
    [anon_sym_nonmutating] = ACTIONS(3391),
    [anon_sym_static] = ACTIONS(3391),
    [anon_sym_dynamic] = ACTIONS(3391),
    [anon_sym_optional] = ACTIONS(3391),
    [anon_sym_distributed] = ACTIONS(3391),
    [anon_sym_final] = ACTIONS(3391),
    [anon_sym_inout] = ACTIONS(3391),
    [anon_sym_ATescaping] = ACTIONS(3391),
    [anon_sym_ATautoclosure] = ACTIONS(3391),
    [anon_sym_weak] = ACTIONS(3391),
    [anon_sym_unowned] = ACTIONS(3389),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3391),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3391),
    [anon_sym_borrowing] = ACTIONS(3391),
    [anon_sym_consuming] = ACTIONS(3391),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3391),
    [sym__conjunction_operator_custom] = ACTIONS(3391),
    [sym__disjunction_operator_custom] = ACTIONS(3391),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3391),
    [sym__eq_custom] = ACTIONS(3391),
    [sym__eq_eq_custom] = ACTIONS(3391),
    [sym__plus_then_ws] = ACTIONS(3391),
    [sym__minus_then_ws] = ACTIONS(3391),
    [sym__bang_custom] = ACTIONS(3391),
    [sym__as_custom] = ACTIONS(3391),
    [sym__as_quest_custom] = ACTIONS(3391),
    [sym__as_bang_custom] = ACTIONS(3391),
    [sym__custom_operator] = ACTIONS(3391),
  },
  [901] = {
    [anon_sym_BANG] = ACTIONS(3393),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3395),
    [anon_sym_async] = ACTIONS(3395),
    [anon_sym_lazy] = ACTIONS(3395),
    [anon_sym_package] = ACTIONS(3395),
    [anon_sym_RPAREN] = ACTIONS(3395),
    [anon_sym_COMMA] = ACTIONS(3395),
    [anon_sym_COLON] = ACTIONS(3395),
    [anon_sym_LPAREN] = ACTIONS(3395),
    [anon_sym_LBRACK] = ACTIONS(3395),
    [anon_sym_RBRACK] = ACTIONS(3395),
    [anon_sym_QMARK] = ACTIONS(3393),
    [anon_sym_QMARK2] = ACTIONS(3395),
    [anon_sym_AMP] = ACTIONS(3395),
    [aux_sym_custom_operator_token1] = ACTIONS(3395),
    [anon_sym_LT] = ACTIONS(3393),
    [anon_sym_GT] = ACTIONS(3393),
    [anon_sym_LBRACE] = ACTIONS(3395),
    [anon_sym_CARET_LBRACE] = ACTIONS(3395),
    [anon_sym_RBRACE] = ACTIONS(3395),
    [anon_sym_case] = ACTIONS(3395),
    [anon_sym_PLUS_EQ] = ACTIONS(3395),
    [anon_sym_DASH_EQ] = ACTIONS(3395),
    [anon_sym_STAR_EQ] = ACTIONS(3395),
    [anon_sym_SLASH_EQ] = ACTIONS(3395),
    [anon_sym_PERCENT_EQ] = ACTIONS(3395),
    [anon_sym_BANG_EQ] = ACTIONS(3393),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3395),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3395),
    [anon_sym_LT_EQ] = ACTIONS(3395),
    [anon_sym_GT_EQ] = ACTIONS(3395),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3395),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3395),
    [anon_sym_is] = ACTIONS(3395),
    [anon_sym_PLUS] = ACTIONS(3393),
    [anon_sym_DASH] = ACTIONS(3393),
    [anon_sym_STAR] = ACTIONS(3393),
    [anon_sym_SLASH] = ACTIONS(3393),
    [anon_sym_PERCENT] = ACTIONS(3393),
    [anon_sym_PLUS_PLUS] = ACTIONS(3395),
    [anon_sym_DASH_DASH] = ACTIONS(3395),
    [anon_sym_PIPE] = ACTIONS(3395),
    [anon_sym_CARET] = ACTIONS(3393),
    [anon_sym_LT_LT] = ACTIONS(3395),
    [anon_sym_GT_GT] = ACTIONS(3395),
    [anon_sym_import] = ACTIONS(3395),
    [anon_sym_typealias] = ACTIONS(3395),
    [anon_sym_struct] = ACTIONS(3395),
    [anon_sym_class] = ACTIONS(3395),
    [anon_sym_enum] = ACTIONS(3395),
    [anon_sym_protocol] = ACTIONS(3395),
    [anon_sym_let] = ACTIONS(3395),
    [anon_sym_var] = ACTIONS(3395),
    [anon_sym_func] = ACTIONS(3395),
    [anon_sym_extension] = ACTIONS(3395),
    [anon_sym_indirect] = ACTIONS(3395),
    [anon_sym_SEMI] = ACTIONS(3395),
    [anon_sym_init] = ACTIONS(3395),
    [anon_sym_deinit] = ACTIONS(3395),
    [anon_sym_subscript] = ACTIONS(3395),
    [anon_sym_prefix] = ACTIONS(3395),
    [anon_sym_infix] = ACTIONS(3395),
    [anon_sym_postfix] = ACTIONS(3395),
    [anon_sym_precedencegroup] = ACTIONS(3395),
    [anon_sym_associatedtype] = ACTIONS(3395),
    [anon_sym_AT] = ACTIONS(3393),
    [anon_sym_override] = ACTIONS(3395),
    [anon_sym_convenience] = ACTIONS(3395),
    [anon_sym_required] = ACTIONS(3395),
    [anon_sym_nonisolated] = ACTIONS(3395),
    [anon_sym_public] = ACTIONS(3395),
    [anon_sym_private] = ACTIONS(3395),
    [anon_sym_internal] = ACTIONS(3395),
    [anon_sym_fileprivate] = ACTIONS(3395),
    [anon_sym_open] = ACTIONS(3395),
    [anon_sym_mutating] = ACTIONS(3395),
    [anon_sym_nonmutating] = ACTIONS(3395),
    [anon_sym_static] = ACTIONS(3395),
    [anon_sym_dynamic] = ACTIONS(3395),
    [anon_sym_optional] = ACTIONS(3395),
    [anon_sym_distributed] = ACTIONS(3395),
    [anon_sym_final] = ACTIONS(3395),
    [anon_sym_inout] = ACTIONS(3395),
    [anon_sym_ATescaping] = ACTIONS(3395),
    [anon_sym_ATautoclosure] = ACTIONS(3395),
    [anon_sym_weak] = ACTIONS(3395),
    [anon_sym_unowned] = ACTIONS(3393),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3395),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3395),
    [anon_sym_borrowing] = ACTIONS(3395),
    [anon_sym_consuming] = ACTIONS(3395),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3395),
    [sym__conjunction_operator_custom] = ACTIONS(3395),
    [sym__disjunction_operator_custom] = ACTIONS(3395),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3395),
    [sym__eq_custom] = ACTIONS(3395),
    [sym__eq_eq_custom] = ACTIONS(3395),
    [sym__plus_then_ws] = ACTIONS(3395),
    [sym__minus_then_ws] = ACTIONS(3395),
    [sym__bang_custom] = ACTIONS(3395),
    [sym__as_custom] = ACTIONS(3395),
    [sym__as_quest_custom] = ACTIONS(3395),
    [sym__as_bang_custom] = ACTIONS(3395),
    [sym__custom_operator] = ACTIONS(3395),
  },
  [902] = {
    [anon_sym_BANG] = ACTIONS(3219),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3221),
    [anon_sym_async] = ACTIONS(3221),
    [anon_sym_lazy] = ACTIONS(3221),
    [anon_sym_package] = ACTIONS(3221),
    [anon_sym_RPAREN] = ACTIONS(3221),
    [anon_sym_COMMA] = ACTIONS(3221),
    [anon_sym_COLON] = ACTIONS(3221),
    [anon_sym_LPAREN] = ACTIONS(3221),
    [anon_sym_LBRACK] = ACTIONS(3221),
    [anon_sym_RBRACK] = ACTIONS(3221),
    [anon_sym_QMARK] = ACTIONS(3219),
    [anon_sym_QMARK2] = ACTIONS(3221),
    [anon_sym_AMP] = ACTIONS(3221),
    [aux_sym_custom_operator_token1] = ACTIONS(3221),
    [anon_sym_LT] = ACTIONS(3219),
    [anon_sym_GT] = ACTIONS(3219),
    [anon_sym_LBRACE] = ACTIONS(3221),
    [anon_sym_CARET_LBRACE] = ACTIONS(3221),
    [anon_sym_RBRACE] = ACTIONS(3221),
    [anon_sym_case] = ACTIONS(3221),
    [anon_sym_PLUS_EQ] = ACTIONS(3221),
    [anon_sym_DASH_EQ] = ACTIONS(3221),
    [anon_sym_STAR_EQ] = ACTIONS(3221),
    [anon_sym_SLASH_EQ] = ACTIONS(3221),
    [anon_sym_PERCENT_EQ] = ACTIONS(3221),
    [anon_sym_BANG_EQ] = ACTIONS(3219),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3221),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3221),
    [anon_sym_LT_EQ] = ACTIONS(3221),
    [anon_sym_GT_EQ] = ACTIONS(3221),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3221),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3221),
    [anon_sym_is] = ACTIONS(3221),
    [anon_sym_PLUS] = ACTIONS(3219),
    [anon_sym_DASH] = ACTIONS(3219),
    [anon_sym_STAR] = ACTIONS(3219),
    [anon_sym_SLASH] = ACTIONS(3219),
    [anon_sym_PERCENT] = ACTIONS(3219),
    [anon_sym_PLUS_PLUS] = ACTIONS(3221),
    [anon_sym_DASH_DASH] = ACTIONS(3221),
    [anon_sym_PIPE] = ACTIONS(3221),
    [anon_sym_CARET] = ACTIONS(3219),
    [anon_sym_LT_LT] = ACTIONS(3221),
    [anon_sym_GT_GT] = ACTIONS(3221),
    [anon_sym_import] = ACTIONS(3221),
    [anon_sym_typealias] = ACTIONS(3221),
    [anon_sym_struct] = ACTIONS(3221),
    [anon_sym_class] = ACTIONS(3221),
    [anon_sym_enum] = ACTIONS(3221),
    [anon_sym_protocol] = ACTIONS(3221),
    [anon_sym_let] = ACTIONS(3221),
    [anon_sym_var] = ACTIONS(3221),
    [anon_sym_func] = ACTIONS(3221),
    [anon_sym_extension] = ACTIONS(3221),
    [anon_sym_indirect] = ACTIONS(3221),
    [anon_sym_SEMI] = ACTIONS(3221),
    [anon_sym_init] = ACTIONS(3221),
    [anon_sym_deinit] = ACTIONS(3221),
    [anon_sym_subscript] = ACTIONS(3221),
    [anon_sym_prefix] = ACTIONS(3221),
    [anon_sym_infix] = ACTIONS(3221),
    [anon_sym_postfix] = ACTIONS(3221),
    [anon_sym_precedencegroup] = ACTIONS(3221),
    [anon_sym_associatedtype] = ACTIONS(3221),
    [anon_sym_AT] = ACTIONS(3219),
    [anon_sym_override] = ACTIONS(3221),
    [anon_sym_convenience] = ACTIONS(3221),
    [anon_sym_required] = ACTIONS(3221),
    [anon_sym_nonisolated] = ACTIONS(3221),
    [anon_sym_public] = ACTIONS(3221),
    [anon_sym_private] = ACTIONS(3221),
    [anon_sym_internal] = ACTIONS(3221),
    [anon_sym_fileprivate] = ACTIONS(3221),
    [anon_sym_open] = ACTIONS(3221),
    [anon_sym_mutating] = ACTIONS(3221),
    [anon_sym_nonmutating] = ACTIONS(3221),
    [anon_sym_static] = ACTIONS(3221),
    [anon_sym_dynamic] = ACTIONS(3221),
    [anon_sym_optional] = ACTIONS(3221),
    [anon_sym_distributed] = ACTIONS(3221),
    [anon_sym_final] = ACTIONS(3221),
    [anon_sym_inout] = ACTIONS(3221),
    [anon_sym_ATescaping] = ACTIONS(3221),
    [anon_sym_ATautoclosure] = ACTIONS(3221),
    [anon_sym_weak] = ACTIONS(3221),
    [anon_sym_unowned] = ACTIONS(3219),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3221),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3221),
    [anon_sym_borrowing] = ACTIONS(3221),
    [anon_sym_consuming] = ACTIONS(3221),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3221),
    [sym__conjunction_operator_custom] = ACTIONS(3221),
    [sym__disjunction_operator_custom] = ACTIONS(3221),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3221),
    [sym__eq_custom] = ACTIONS(3221),
    [sym__eq_eq_custom] = ACTIONS(3221),
    [sym__plus_then_ws] = ACTIONS(3221),
    [sym__minus_then_ws] = ACTIONS(3221),
    [sym__bang_custom] = ACTIONS(3221),
    [sym__as_custom] = ACTIONS(3221),
    [sym__as_quest_custom] = ACTIONS(3221),
    [sym__as_bang_custom] = ACTIONS(3221),
    [sym__custom_operator] = ACTIONS(3221),
  },
  [903] = {
    [anon_sym_BANG] = ACTIONS(3397),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3399),
    [anon_sym_async] = ACTIONS(3399),
    [anon_sym_lazy] = ACTIONS(3399),
    [anon_sym_package] = ACTIONS(3399),
    [anon_sym_RPAREN] = ACTIONS(3399),
    [anon_sym_COMMA] = ACTIONS(3399),
    [anon_sym_COLON] = ACTIONS(3399),
    [anon_sym_LPAREN] = ACTIONS(3399),
    [anon_sym_LBRACK] = ACTIONS(3399),
    [anon_sym_RBRACK] = ACTIONS(3399),
    [anon_sym_QMARK] = ACTIONS(3397),
    [anon_sym_QMARK2] = ACTIONS(3399),
    [anon_sym_AMP] = ACTIONS(3399),
    [aux_sym_custom_operator_token1] = ACTIONS(3399),
    [anon_sym_LT] = ACTIONS(3397),
    [anon_sym_GT] = ACTIONS(3397),
    [anon_sym_LBRACE] = ACTIONS(3399),
    [anon_sym_CARET_LBRACE] = ACTIONS(3399),
    [anon_sym_RBRACE] = ACTIONS(3399),
    [anon_sym_case] = ACTIONS(3399),
    [anon_sym_PLUS_EQ] = ACTIONS(3399),
    [anon_sym_DASH_EQ] = ACTIONS(3399),
    [anon_sym_STAR_EQ] = ACTIONS(3399),
    [anon_sym_SLASH_EQ] = ACTIONS(3399),
    [anon_sym_PERCENT_EQ] = ACTIONS(3399),
    [anon_sym_BANG_EQ] = ACTIONS(3397),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3399),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3399),
    [anon_sym_LT_EQ] = ACTIONS(3399),
    [anon_sym_GT_EQ] = ACTIONS(3399),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3399),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3399),
    [anon_sym_is] = ACTIONS(3399),
    [anon_sym_PLUS] = ACTIONS(3397),
    [anon_sym_DASH] = ACTIONS(3397),
    [anon_sym_STAR] = ACTIONS(3397),
    [anon_sym_SLASH] = ACTIONS(3397),
    [anon_sym_PERCENT] = ACTIONS(3397),
    [anon_sym_PLUS_PLUS] = ACTIONS(3399),
    [anon_sym_DASH_DASH] = ACTIONS(3399),
    [anon_sym_PIPE] = ACTIONS(3399),
    [anon_sym_CARET] = ACTIONS(3397),
    [anon_sym_LT_LT] = ACTIONS(3399),
    [anon_sym_GT_GT] = ACTIONS(3399),
    [anon_sym_import] = ACTIONS(3399),
    [anon_sym_typealias] = ACTIONS(3399),
    [anon_sym_struct] = ACTIONS(3399),
    [anon_sym_class] = ACTIONS(3399),
    [anon_sym_enum] = ACTIONS(3399),
    [anon_sym_protocol] = ACTIONS(3399),
    [anon_sym_let] = ACTIONS(3399),
    [anon_sym_var] = ACTIONS(3399),
    [anon_sym_func] = ACTIONS(3399),
    [anon_sym_extension] = ACTIONS(3399),
    [anon_sym_indirect] = ACTIONS(3399),
    [anon_sym_SEMI] = ACTIONS(3399),
    [anon_sym_init] = ACTIONS(3399),
    [anon_sym_deinit] = ACTIONS(3399),
    [anon_sym_subscript] = ACTIONS(3399),
    [anon_sym_prefix] = ACTIONS(3399),
    [anon_sym_infix] = ACTIONS(3399),
    [anon_sym_postfix] = ACTIONS(3399),
    [anon_sym_precedencegroup] = ACTIONS(3399),
    [anon_sym_associatedtype] = ACTIONS(3399),
    [anon_sym_AT] = ACTIONS(3397),
    [anon_sym_override] = ACTIONS(3399),
    [anon_sym_convenience] = ACTIONS(3399),
    [anon_sym_required] = ACTIONS(3399),
    [anon_sym_nonisolated] = ACTIONS(3399),
    [anon_sym_public] = ACTIONS(3399),
    [anon_sym_private] = ACTIONS(3399),
    [anon_sym_internal] = ACTIONS(3399),
    [anon_sym_fileprivate] = ACTIONS(3399),
    [anon_sym_open] = ACTIONS(3399),
    [anon_sym_mutating] = ACTIONS(3399),
    [anon_sym_nonmutating] = ACTIONS(3399),
    [anon_sym_static] = ACTIONS(3399),
    [anon_sym_dynamic] = ACTIONS(3399),
    [anon_sym_optional] = ACTIONS(3399),
    [anon_sym_distributed] = ACTIONS(3399),
    [anon_sym_final] = ACTIONS(3399),
    [anon_sym_inout] = ACTIONS(3399),
    [anon_sym_ATescaping] = ACTIONS(3399),
    [anon_sym_ATautoclosure] = ACTIONS(3399),
    [anon_sym_weak] = ACTIONS(3399),
    [anon_sym_unowned] = ACTIONS(3397),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3399),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3399),
    [anon_sym_borrowing] = ACTIONS(3399),
    [anon_sym_consuming] = ACTIONS(3399),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3399),
    [sym__conjunction_operator_custom] = ACTIONS(3399),
    [sym__disjunction_operator_custom] = ACTIONS(3399),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3399),
    [sym__eq_custom] = ACTIONS(3399),
    [sym__eq_eq_custom] = ACTIONS(3399),
    [sym__plus_then_ws] = ACTIONS(3399),
    [sym__minus_then_ws] = ACTIONS(3399),
    [sym__bang_custom] = ACTIONS(3399),
    [sym__as_custom] = ACTIONS(3399),
    [sym__as_quest_custom] = ACTIONS(3399),
    [sym__as_bang_custom] = ACTIONS(3399),
    [sym__custom_operator] = ACTIONS(3399),
  },
  [904] = {
    [anon_sym_BANG] = ACTIONS(3401),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3403),
    [anon_sym_async] = ACTIONS(3403),
    [anon_sym_lazy] = ACTIONS(3403),
    [anon_sym_package] = ACTIONS(3403),
    [anon_sym_RPAREN] = ACTIONS(3403),
    [anon_sym_COMMA] = ACTIONS(3403),
    [anon_sym_COLON] = ACTIONS(3403),
    [anon_sym_LPAREN] = ACTIONS(3403),
    [anon_sym_LBRACK] = ACTIONS(3403),
    [anon_sym_RBRACK] = ACTIONS(3403),
    [anon_sym_QMARK] = ACTIONS(3401),
    [anon_sym_QMARK2] = ACTIONS(3403),
    [anon_sym_AMP] = ACTIONS(3403),
    [aux_sym_custom_operator_token1] = ACTIONS(3403),
    [anon_sym_LT] = ACTIONS(3401),
    [anon_sym_GT] = ACTIONS(3401),
    [anon_sym_LBRACE] = ACTIONS(3403),
    [anon_sym_CARET_LBRACE] = ACTIONS(3403),
    [anon_sym_RBRACE] = ACTIONS(3403),
    [anon_sym_case] = ACTIONS(3403),
    [anon_sym_PLUS_EQ] = ACTIONS(3403),
    [anon_sym_DASH_EQ] = ACTIONS(3403),
    [anon_sym_STAR_EQ] = ACTIONS(3403),
    [anon_sym_SLASH_EQ] = ACTIONS(3403),
    [anon_sym_PERCENT_EQ] = ACTIONS(3403),
    [anon_sym_BANG_EQ] = ACTIONS(3401),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3403),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3403),
    [anon_sym_LT_EQ] = ACTIONS(3403),
    [anon_sym_GT_EQ] = ACTIONS(3403),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3403),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3403),
    [anon_sym_is] = ACTIONS(3403),
    [anon_sym_PLUS] = ACTIONS(3401),
    [anon_sym_DASH] = ACTIONS(3401),
    [anon_sym_STAR] = ACTIONS(3401),
    [anon_sym_SLASH] = ACTIONS(3401),
    [anon_sym_PERCENT] = ACTIONS(3401),
    [anon_sym_PLUS_PLUS] = ACTIONS(3403),
    [anon_sym_DASH_DASH] = ACTIONS(3403),
    [anon_sym_PIPE] = ACTIONS(3403),
    [anon_sym_CARET] = ACTIONS(3401),
    [anon_sym_LT_LT] = ACTIONS(3403),
    [anon_sym_GT_GT] = ACTIONS(3403),
    [anon_sym_import] = ACTIONS(3403),
    [anon_sym_typealias] = ACTIONS(3403),
    [anon_sym_struct] = ACTIONS(3403),
    [anon_sym_class] = ACTIONS(3403),
    [anon_sym_enum] = ACTIONS(3403),
    [anon_sym_protocol] = ACTIONS(3403),
    [anon_sym_let] = ACTIONS(3403),
    [anon_sym_var] = ACTIONS(3403),
    [anon_sym_func] = ACTIONS(3403),
    [anon_sym_extension] = ACTIONS(3403),
    [anon_sym_indirect] = ACTIONS(3403),
    [anon_sym_SEMI] = ACTIONS(3403),
    [anon_sym_init] = ACTIONS(3403),
    [anon_sym_deinit] = ACTIONS(3403),
    [anon_sym_subscript] = ACTIONS(3403),
    [anon_sym_prefix] = ACTIONS(3403),
    [anon_sym_infix] = ACTIONS(3403),
    [anon_sym_postfix] = ACTIONS(3403),
    [anon_sym_precedencegroup] = ACTIONS(3403),
    [anon_sym_associatedtype] = ACTIONS(3403),
    [anon_sym_AT] = ACTIONS(3401),
    [anon_sym_override] = ACTIONS(3403),
    [anon_sym_convenience] = ACTIONS(3403),
    [anon_sym_required] = ACTIONS(3403),
    [anon_sym_nonisolated] = ACTIONS(3403),
    [anon_sym_public] = ACTIONS(3403),
    [anon_sym_private] = ACTIONS(3403),
    [anon_sym_internal] = ACTIONS(3403),
    [anon_sym_fileprivate] = ACTIONS(3403),
    [anon_sym_open] = ACTIONS(3403),
    [anon_sym_mutating] = ACTIONS(3403),
    [anon_sym_nonmutating] = ACTIONS(3403),
    [anon_sym_static] = ACTIONS(3403),
    [anon_sym_dynamic] = ACTIONS(3403),
    [anon_sym_optional] = ACTIONS(3403),
    [anon_sym_distributed] = ACTIONS(3403),
    [anon_sym_final] = ACTIONS(3403),
    [anon_sym_inout] = ACTIONS(3403),
    [anon_sym_ATescaping] = ACTIONS(3403),
    [anon_sym_ATautoclosure] = ACTIONS(3403),
    [anon_sym_weak] = ACTIONS(3403),
    [anon_sym_unowned] = ACTIONS(3401),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3403),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3403),
    [anon_sym_borrowing] = ACTIONS(3403),
    [anon_sym_consuming] = ACTIONS(3403),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3403),
    [sym__conjunction_operator_custom] = ACTIONS(3403),
    [sym__disjunction_operator_custom] = ACTIONS(3403),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3403),
    [sym__eq_custom] = ACTIONS(3403),
    [sym__eq_eq_custom] = ACTIONS(3403),
    [sym__plus_then_ws] = ACTIONS(3403),
    [sym__minus_then_ws] = ACTIONS(3403),
    [sym__bang_custom] = ACTIONS(3403),
    [sym__as_custom] = ACTIONS(3403),
    [sym__as_quest_custom] = ACTIONS(3403),
    [sym__as_bang_custom] = ACTIONS(3403),
    [sym__custom_operator] = ACTIONS(3403),
  },
  [905] = {
    [anon_sym_BANG] = ACTIONS(3405),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3407),
    [anon_sym_async] = ACTIONS(3407),
    [anon_sym_lazy] = ACTIONS(3407),
    [anon_sym_package] = ACTIONS(3407),
    [anon_sym_RPAREN] = ACTIONS(3407),
    [anon_sym_COMMA] = ACTIONS(3407),
    [anon_sym_COLON] = ACTIONS(3407),
    [anon_sym_LPAREN] = ACTIONS(3407),
    [anon_sym_LBRACK] = ACTIONS(3407),
    [anon_sym_RBRACK] = ACTIONS(3407),
    [anon_sym_QMARK] = ACTIONS(3405),
    [anon_sym_QMARK2] = ACTIONS(3407),
    [anon_sym_AMP] = ACTIONS(3407),
    [aux_sym_custom_operator_token1] = ACTIONS(3407),
    [anon_sym_LT] = ACTIONS(3405),
    [anon_sym_GT] = ACTIONS(3405),
    [anon_sym_LBRACE] = ACTIONS(3407),
    [anon_sym_CARET_LBRACE] = ACTIONS(3407),
    [anon_sym_RBRACE] = ACTIONS(3407),
    [anon_sym_case] = ACTIONS(3407),
    [anon_sym_PLUS_EQ] = ACTIONS(3407),
    [anon_sym_DASH_EQ] = ACTIONS(3407),
    [anon_sym_STAR_EQ] = ACTIONS(3407),
    [anon_sym_SLASH_EQ] = ACTIONS(3407),
    [anon_sym_PERCENT_EQ] = ACTIONS(3407),
    [anon_sym_BANG_EQ] = ACTIONS(3405),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3407),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3407),
    [anon_sym_LT_EQ] = ACTIONS(3407),
    [anon_sym_GT_EQ] = ACTIONS(3407),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3407),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3407),
    [anon_sym_is] = ACTIONS(3407),
    [anon_sym_PLUS] = ACTIONS(3405),
    [anon_sym_DASH] = ACTIONS(3405),
    [anon_sym_STAR] = ACTIONS(3405),
    [anon_sym_SLASH] = ACTIONS(3405),
    [anon_sym_PERCENT] = ACTIONS(3405),
    [anon_sym_PLUS_PLUS] = ACTIONS(3407),
    [anon_sym_DASH_DASH] = ACTIONS(3407),
    [anon_sym_PIPE] = ACTIONS(3407),
    [anon_sym_CARET] = ACTIONS(3405),
    [anon_sym_LT_LT] = ACTIONS(3407),
    [anon_sym_GT_GT] = ACTIONS(3407),
    [anon_sym_import] = ACTIONS(3407),
    [anon_sym_typealias] = ACTIONS(3407),
    [anon_sym_struct] = ACTIONS(3407),
    [anon_sym_class] = ACTIONS(3407),
    [anon_sym_enum] = ACTIONS(3407),
    [anon_sym_protocol] = ACTIONS(3407),
    [anon_sym_let] = ACTIONS(3407),
    [anon_sym_var] = ACTIONS(3407),
    [anon_sym_func] = ACTIONS(3407),
    [anon_sym_extension] = ACTIONS(3407),
    [anon_sym_indirect] = ACTIONS(3407),
    [anon_sym_SEMI] = ACTIONS(3407),
    [anon_sym_init] = ACTIONS(3407),
    [anon_sym_deinit] = ACTIONS(3407),
    [anon_sym_subscript] = ACTIONS(3407),
    [anon_sym_prefix] = ACTIONS(3407),
    [anon_sym_infix] = ACTIONS(3407),
    [anon_sym_postfix] = ACTIONS(3407),
    [anon_sym_precedencegroup] = ACTIONS(3407),
    [anon_sym_associatedtype] = ACTIONS(3407),
    [anon_sym_AT] = ACTIONS(3405),
    [anon_sym_override] = ACTIONS(3407),
    [anon_sym_convenience] = ACTIONS(3407),
    [anon_sym_required] = ACTIONS(3407),
    [anon_sym_nonisolated] = ACTIONS(3407),
    [anon_sym_public] = ACTIONS(3407),
    [anon_sym_private] = ACTIONS(3407),
    [anon_sym_internal] = ACTIONS(3407),
    [anon_sym_fileprivate] = ACTIONS(3407),
    [anon_sym_open] = ACTIONS(3407),
    [anon_sym_mutating] = ACTIONS(3407),
    [anon_sym_nonmutating] = ACTIONS(3407),
    [anon_sym_static] = ACTIONS(3407),
    [anon_sym_dynamic] = ACTIONS(3407),
    [anon_sym_optional] = ACTIONS(3407),
    [anon_sym_distributed] = ACTIONS(3407),
    [anon_sym_final] = ACTIONS(3407),
    [anon_sym_inout] = ACTIONS(3407),
    [anon_sym_ATescaping] = ACTIONS(3407),
    [anon_sym_ATautoclosure] = ACTIONS(3407),
    [anon_sym_weak] = ACTIONS(3407),
    [anon_sym_unowned] = ACTIONS(3405),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3407),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3407),
    [anon_sym_borrowing] = ACTIONS(3407),
    [anon_sym_consuming] = ACTIONS(3407),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3407),
    [sym__conjunction_operator_custom] = ACTIONS(3407),
    [sym__disjunction_operator_custom] = ACTIONS(3407),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3407),
    [sym__eq_custom] = ACTIONS(3407),
    [sym__eq_eq_custom] = ACTIONS(3407),
    [sym__plus_then_ws] = ACTIONS(3407),
    [sym__minus_then_ws] = ACTIONS(3407),
    [sym__bang_custom] = ACTIONS(3407),
    [sym__as_custom] = ACTIONS(3407),
    [sym__as_quest_custom] = ACTIONS(3407),
    [sym__as_bang_custom] = ACTIONS(3407),
    [sym__custom_operator] = ACTIONS(3407),
  },
  [906] = {
    [anon_sym_BANG] = ACTIONS(3409),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3411),
    [anon_sym_async] = ACTIONS(3411),
    [anon_sym_lazy] = ACTIONS(3411),
    [anon_sym_package] = ACTIONS(3411),
    [anon_sym_RPAREN] = ACTIONS(3411),
    [anon_sym_COMMA] = ACTIONS(3411),
    [anon_sym_COLON] = ACTIONS(3411),
    [anon_sym_LPAREN] = ACTIONS(3411),
    [anon_sym_LBRACK] = ACTIONS(3411),
    [anon_sym_RBRACK] = ACTIONS(3411),
    [anon_sym_QMARK] = ACTIONS(3409),
    [anon_sym_QMARK2] = ACTIONS(3411),
    [anon_sym_AMP] = ACTIONS(3411),
    [aux_sym_custom_operator_token1] = ACTIONS(3411),
    [anon_sym_LT] = ACTIONS(3409),
    [anon_sym_GT] = ACTIONS(3409),
    [anon_sym_LBRACE] = ACTIONS(3411),
    [anon_sym_CARET_LBRACE] = ACTIONS(3411),
    [anon_sym_RBRACE] = ACTIONS(3411),
    [anon_sym_case] = ACTIONS(3411),
    [anon_sym_PLUS_EQ] = ACTIONS(3411),
    [anon_sym_DASH_EQ] = ACTIONS(3411),
    [anon_sym_STAR_EQ] = ACTIONS(3411),
    [anon_sym_SLASH_EQ] = ACTIONS(3411),
    [anon_sym_PERCENT_EQ] = ACTIONS(3411),
    [anon_sym_BANG_EQ] = ACTIONS(3409),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3411),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3411),
    [anon_sym_LT_EQ] = ACTIONS(3411),
    [anon_sym_GT_EQ] = ACTIONS(3411),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3411),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3411),
    [anon_sym_is] = ACTIONS(3411),
    [anon_sym_PLUS] = ACTIONS(3409),
    [anon_sym_DASH] = ACTIONS(3409),
    [anon_sym_STAR] = ACTIONS(3409),
    [anon_sym_SLASH] = ACTIONS(3409),
    [anon_sym_PERCENT] = ACTIONS(3409),
    [anon_sym_PLUS_PLUS] = ACTIONS(3411),
    [anon_sym_DASH_DASH] = ACTIONS(3411),
    [anon_sym_PIPE] = ACTIONS(3411),
    [anon_sym_CARET] = ACTIONS(3409),
    [anon_sym_LT_LT] = ACTIONS(3411),
    [anon_sym_GT_GT] = ACTIONS(3411),
    [anon_sym_import] = ACTIONS(3411),
    [anon_sym_typealias] = ACTIONS(3411),
    [anon_sym_struct] = ACTIONS(3411),
    [anon_sym_class] = ACTIONS(3411),
    [anon_sym_enum] = ACTIONS(3411),
    [anon_sym_protocol] = ACTIONS(3411),
    [anon_sym_let] = ACTIONS(3411),
    [anon_sym_var] = ACTIONS(3411),
    [anon_sym_func] = ACTIONS(3411),
    [anon_sym_extension] = ACTIONS(3411),
    [anon_sym_indirect] = ACTIONS(3411),
    [anon_sym_SEMI] = ACTIONS(3411),
    [anon_sym_init] = ACTIONS(3411),
    [anon_sym_deinit] = ACTIONS(3411),
    [anon_sym_subscript] = ACTIONS(3411),
    [anon_sym_prefix] = ACTIONS(3411),
    [anon_sym_infix] = ACTIONS(3411),
    [anon_sym_postfix] = ACTIONS(3411),
    [anon_sym_precedencegroup] = ACTIONS(3411),
    [anon_sym_associatedtype] = ACTIONS(3411),
    [anon_sym_AT] = ACTIONS(3409),
    [anon_sym_override] = ACTIONS(3411),
    [anon_sym_convenience] = ACTIONS(3411),
    [anon_sym_required] = ACTIONS(3411),
    [anon_sym_nonisolated] = ACTIONS(3411),
    [anon_sym_public] = ACTIONS(3411),
    [anon_sym_private] = ACTIONS(3411),
    [anon_sym_internal] = ACTIONS(3411),
    [anon_sym_fileprivate] = ACTIONS(3411),
    [anon_sym_open] = ACTIONS(3411),
    [anon_sym_mutating] = ACTIONS(3411),
    [anon_sym_nonmutating] = ACTIONS(3411),
    [anon_sym_static] = ACTIONS(3411),
    [anon_sym_dynamic] = ACTIONS(3411),
    [anon_sym_optional] = ACTIONS(3411),
    [anon_sym_distributed] = ACTIONS(3411),
    [anon_sym_final] = ACTIONS(3411),
    [anon_sym_inout] = ACTIONS(3411),
    [anon_sym_ATescaping] = ACTIONS(3411),
    [anon_sym_ATautoclosure] = ACTIONS(3411),
    [anon_sym_weak] = ACTIONS(3411),
    [anon_sym_unowned] = ACTIONS(3409),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3411),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3411),
    [anon_sym_borrowing] = ACTIONS(3411),
    [anon_sym_consuming] = ACTIONS(3411),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3411),
    [sym__conjunction_operator_custom] = ACTIONS(3411),
    [sym__disjunction_operator_custom] = ACTIONS(3411),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3411),
    [sym__eq_custom] = ACTIONS(3411),
    [sym__eq_eq_custom] = ACTIONS(3411),
    [sym__plus_then_ws] = ACTIONS(3411),
    [sym__minus_then_ws] = ACTIONS(3411),
    [sym__bang_custom] = ACTIONS(3411),
    [sym__as_custom] = ACTIONS(3411),
    [sym__as_quest_custom] = ACTIONS(3411),
    [sym__as_bang_custom] = ACTIONS(3411),
    [sym__custom_operator] = ACTIONS(3411),
  },
  [907] = {
    [anon_sym_BANG] = ACTIONS(3413),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3415),
    [anon_sym_async] = ACTIONS(3415),
    [anon_sym_lazy] = ACTIONS(3415),
    [anon_sym_package] = ACTIONS(3415),
    [anon_sym_RPAREN] = ACTIONS(3415),
    [anon_sym_COMMA] = ACTIONS(3415),
    [anon_sym_COLON] = ACTIONS(3415),
    [anon_sym_LPAREN] = ACTIONS(3415),
    [anon_sym_LBRACK] = ACTIONS(3415),
    [anon_sym_RBRACK] = ACTIONS(3415),
    [anon_sym_QMARK] = ACTIONS(3413),
    [anon_sym_QMARK2] = ACTIONS(3415),
    [anon_sym_AMP] = ACTIONS(3415),
    [aux_sym_custom_operator_token1] = ACTIONS(3415),
    [anon_sym_LT] = ACTIONS(3413),
    [anon_sym_GT] = ACTIONS(3413),
    [anon_sym_LBRACE] = ACTIONS(3415),
    [anon_sym_CARET_LBRACE] = ACTIONS(3415),
    [anon_sym_RBRACE] = ACTIONS(3415),
    [anon_sym_case] = ACTIONS(3415),
    [anon_sym_PLUS_EQ] = ACTIONS(3415),
    [anon_sym_DASH_EQ] = ACTIONS(3415),
    [anon_sym_STAR_EQ] = ACTIONS(3415),
    [anon_sym_SLASH_EQ] = ACTIONS(3415),
    [anon_sym_PERCENT_EQ] = ACTIONS(3415),
    [anon_sym_BANG_EQ] = ACTIONS(3413),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3415),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3415),
    [anon_sym_LT_EQ] = ACTIONS(3415),
    [anon_sym_GT_EQ] = ACTIONS(3415),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3415),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3415),
    [anon_sym_is] = ACTIONS(3415),
    [anon_sym_PLUS] = ACTIONS(3413),
    [anon_sym_DASH] = ACTIONS(3413),
    [anon_sym_STAR] = ACTIONS(3413),
    [anon_sym_SLASH] = ACTIONS(3413),
    [anon_sym_PERCENT] = ACTIONS(3413),
    [anon_sym_PLUS_PLUS] = ACTIONS(3415),
    [anon_sym_DASH_DASH] = ACTIONS(3415),
    [anon_sym_PIPE] = ACTIONS(3415),
    [anon_sym_CARET] = ACTIONS(3413),
    [anon_sym_LT_LT] = ACTIONS(3415),
    [anon_sym_GT_GT] = ACTIONS(3415),
    [anon_sym_import] = ACTIONS(3415),
    [anon_sym_typealias] = ACTIONS(3415),
    [anon_sym_struct] = ACTIONS(3415),
    [anon_sym_class] = ACTIONS(3415),
    [anon_sym_enum] = ACTIONS(3415),
    [anon_sym_protocol] = ACTIONS(3415),
    [anon_sym_let] = ACTIONS(3415),
    [anon_sym_var] = ACTIONS(3415),
    [anon_sym_func] = ACTIONS(3415),
    [anon_sym_extension] = ACTIONS(3415),
    [anon_sym_indirect] = ACTIONS(3415),
    [anon_sym_SEMI] = ACTIONS(3415),
    [anon_sym_init] = ACTIONS(3415),
    [anon_sym_deinit] = ACTIONS(3415),
    [anon_sym_subscript] = ACTIONS(3415),
    [anon_sym_prefix] = ACTIONS(3415),
    [anon_sym_infix] = ACTIONS(3415),
    [anon_sym_postfix] = ACTIONS(3415),
    [anon_sym_precedencegroup] = ACTIONS(3415),
    [anon_sym_associatedtype] = ACTIONS(3415),
    [anon_sym_AT] = ACTIONS(3413),
    [anon_sym_override] = ACTIONS(3415),
    [anon_sym_convenience] = ACTIONS(3415),
    [anon_sym_required] = ACTIONS(3415),
    [anon_sym_nonisolated] = ACTIONS(3415),
    [anon_sym_public] = ACTIONS(3415),
    [anon_sym_private] = ACTIONS(3415),
    [anon_sym_internal] = ACTIONS(3415),
    [anon_sym_fileprivate] = ACTIONS(3415),
    [anon_sym_open] = ACTIONS(3415),
    [anon_sym_mutating] = ACTIONS(3415),
    [anon_sym_nonmutating] = ACTIONS(3415),
    [anon_sym_static] = ACTIONS(3415),
    [anon_sym_dynamic] = ACTIONS(3415),
    [anon_sym_optional] = ACTIONS(3415),
    [anon_sym_distributed] = ACTIONS(3415),
    [anon_sym_final] = ACTIONS(3415),
    [anon_sym_inout] = ACTIONS(3415),
    [anon_sym_ATescaping] = ACTIONS(3415),
    [anon_sym_ATautoclosure] = ACTIONS(3415),
    [anon_sym_weak] = ACTIONS(3415),
    [anon_sym_unowned] = ACTIONS(3413),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3415),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3415),
    [anon_sym_borrowing] = ACTIONS(3415),
    [anon_sym_consuming] = ACTIONS(3415),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3415),
    [sym__conjunction_operator_custom] = ACTIONS(3415),
    [sym__disjunction_operator_custom] = ACTIONS(3415),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3415),
    [sym__eq_custom] = ACTIONS(3415),
    [sym__eq_eq_custom] = ACTIONS(3415),
    [sym__plus_then_ws] = ACTIONS(3415),
    [sym__minus_then_ws] = ACTIONS(3415),
    [sym__bang_custom] = ACTIONS(3415),
    [sym__as_custom] = ACTIONS(3415),
    [sym__as_quest_custom] = ACTIONS(3415),
    [sym__as_bang_custom] = ACTIONS(3415),
    [sym__custom_operator] = ACTIONS(3415),
  },
  [908] = {
    [anon_sym_BANG] = ACTIONS(3417),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3419),
    [anon_sym_async] = ACTIONS(3419),
    [anon_sym_lazy] = ACTIONS(3419),
    [anon_sym_package] = ACTIONS(3419),
    [anon_sym_RPAREN] = ACTIONS(3419),
    [anon_sym_COMMA] = ACTIONS(3419),
    [anon_sym_COLON] = ACTIONS(3419),
    [anon_sym_LPAREN] = ACTIONS(3419),
    [anon_sym_LBRACK] = ACTIONS(3419),
    [anon_sym_RBRACK] = ACTIONS(3419),
    [anon_sym_QMARK] = ACTIONS(3417),
    [anon_sym_QMARK2] = ACTIONS(3419),
    [anon_sym_AMP] = ACTIONS(3419),
    [aux_sym_custom_operator_token1] = ACTIONS(3419),
    [anon_sym_LT] = ACTIONS(3417),
    [anon_sym_GT] = ACTIONS(3417),
    [anon_sym_LBRACE] = ACTIONS(3419),
    [anon_sym_CARET_LBRACE] = ACTIONS(3419),
    [anon_sym_RBRACE] = ACTIONS(3419),
    [anon_sym_case] = ACTIONS(3419),
    [anon_sym_PLUS_EQ] = ACTIONS(3419),
    [anon_sym_DASH_EQ] = ACTIONS(3419),
    [anon_sym_STAR_EQ] = ACTIONS(3419),
    [anon_sym_SLASH_EQ] = ACTIONS(3419),
    [anon_sym_PERCENT_EQ] = ACTIONS(3419),
    [anon_sym_BANG_EQ] = ACTIONS(3417),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3419),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3419),
    [anon_sym_LT_EQ] = ACTIONS(3419),
    [anon_sym_GT_EQ] = ACTIONS(3419),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3419),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3419),
    [anon_sym_is] = ACTIONS(3419),
    [anon_sym_PLUS] = ACTIONS(3417),
    [anon_sym_DASH] = ACTIONS(3417),
    [anon_sym_STAR] = ACTIONS(3417),
    [anon_sym_SLASH] = ACTIONS(3417),
    [anon_sym_PERCENT] = ACTIONS(3417),
    [anon_sym_PLUS_PLUS] = ACTIONS(3419),
    [anon_sym_DASH_DASH] = ACTIONS(3419),
    [anon_sym_PIPE] = ACTIONS(3419),
    [anon_sym_CARET] = ACTIONS(3417),
    [anon_sym_LT_LT] = ACTIONS(3419),
    [anon_sym_GT_GT] = ACTIONS(3419),
    [anon_sym_import] = ACTIONS(3419),
    [anon_sym_typealias] = ACTIONS(3419),
    [anon_sym_struct] = ACTIONS(3419),
    [anon_sym_class] = ACTIONS(3419),
    [anon_sym_enum] = ACTIONS(3419),
    [anon_sym_protocol] = ACTIONS(3419),
    [anon_sym_let] = ACTIONS(3419),
    [anon_sym_var] = ACTIONS(3419),
    [anon_sym_func] = ACTIONS(3419),
    [anon_sym_extension] = ACTIONS(3419),
    [anon_sym_indirect] = ACTIONS(3419),
    [anon_sym_SEMI] = ACTIONS(3419),
    [anon_sym_init] = ACTIONS(3419),
    [anon_sym_deinit] = ACTIONS(3419),
    [anon_sym_subscript] = ACTIONS(3419),
    [anon_sym_prefix] = ACTIONS(3419),
    [anon_sym_infix] = ACTIONS(3419),
    [anon_sym_postfix] = ACTIONS(3419),
    [anon_sym_precedencegroup] = ACTIONS(3419),
    [anon_sym_associatedtype] = ACTIONS(3419),
    [anon_sym_AT] = ACTIONS(3417),
    [anon_sym_override] = ACTIONS(3419),
    [anon_sym_convenience] = ACTIONS(3419),
    [anon_sym_required] = ACTIONS(3419),
    [anon_sym_nonisolated] = ACTIONS(3419),
    [anon_sym_public] = ACTIONS(3419),
    [anon_sym_private] = ACTIONS(3419),
    [anon_sym_internal] = ACTIONS(3419),
    [anon_sym_fileprivate] = ACTIONS(3419),
    [anon_sym_open] = ACTIONS(3419),
    [anon_sym_mutating] = ACTIONS(3419),
    [anon_sym_nonmutating] = ACTIONS(3419),
    [anon_sym_static] = ACTIONS(3419),
    [anon_sym_dynamic] = ACTIONS(3419),
    [anon_sym_optional] = ACTIONS(3419),
    [anon_sym_distributed] = ACTIONS(3419),
    [anon_sym_final] = ACTIONS(3419),
    [anon_sym_inout] = ACTIONS(3419),
    [anon_sym_ATescaping] = ACTIONS(3419),
    [anon_sym_ATautoclosure] = ACTIONS(3419),
    [anon_sym_weak] = ACTIONS(3419),
    [anon_sym_unowned] = ACTIONS(3417),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3419),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3419),
    [anon_sym_borrowing] = ACTIONS(3419),
    [anon_sym_consuming] = ACTIONS(3419),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3419),
    [sym__conjunction_operator_custom] = ACTIONS(3419),
    [sym__disjunction_operator_custom] = ACTIONS(3419),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3419),
    [sym__eq_custom] = ACTIONS(3419),
    [sym__eq_eq_custom] = ACTIONS(3419),
    [sym__plus_then_ws] = ACTIONS(3419),
    [sym__minus_then_ws] = ACTIONS(3419),
    [sym__bang_custom] = ACTIONS(3419),
    [sym__as_custom] = ACTIONS(3419),
    [sym__as_quest_custom] = ACTIONS(3419),
    [sym__as_bang_custom] = ACTIONS(3419),
    [sym__custom_operator] = ACTIONS(3419),
  },
  [909] = {
    [anon_sym_BANG] = ACTIONS(3421),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3423),
    [anon_sym_async] = ACTIONS(3423),
    [anon_sym_lazy] = ACTIONS(3423),
    [anon_sym_package] = ACTIONS(3423),
    [anon_sym_RPAREN] = ACTIONS(3423),
    [anon_sym_COMMA] = ACTIONS(3423),
    [anon_sym_COLON] = ACTIONS(3423),
    [anon_sym_LPAREN] = ACTIONS(3423),
    [anon_sym_LBRACK] = ACTIONS(3423),
    [anon_sym_RBRACK] = ACTIONS(3423),
    [anon_sym_QMARK] = ACTIONS(3421),
    [anon_sym_QMARK2] = ACTIONS(3423),
    [anon_sym_AMP] = ACTIONS(3423),
    [aux_sym_custom_operator_token1] = ACTIONS(3423),
    [anon_sym_LT] = ACTIONS(3421),
    [anon_sym_GT] = ACTIONS(3421),
    [anon_sym_LBRACE] = ACTIONS(3423),
    [anon_sym_CARET_LBRACE] = ACTIONS(3423),
    [anon_sym_RBRACE] = ACTIONS(3423),
    [anon_sym_case] = ACTIONS(3423),
    [anon_sym_PLUS_EQ] = ACTIONS(3423),
    [anon_sym_DASH_EQ] = ACTIONS(3423),
    [anon_sym_STAR_EQ] = ACTIONS(3423),
    [anon_sym_SLASH_EQ] = ACTIONS(3423),
    [anon_sym_PERCENT_EQ] = ACTIONS(3423),
    [anon_sym_BANG_EQ] = ACTIONS(3421),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3423),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3423),
    [anon_sym_LT_EQ] = ACTIONS(3423),
    [anon_sym_GT_EQ] = ACTIONS(3423),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3423),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3423),
    [anon_sym_is] = ACTIONS(3423),
    [anon_sym_PLUS] = ACTIONS(3421),
    [anon_sym_DASH] = ACTIONS(3421),
    [anon_sym_STAR] = ACTIONS(3421),
    [anon_sym_SLASH] = ACTIONS(3421),
    [anon_sym_PERCENT] = ACTIONS(3421),
    [anon_sym_PLUS_PLUS] = ACTIONS(3423),
    [anon_sym_DASH_DASH] = ACTIONS(3423),
    [anon_sym_PIPE] = ACTIONS(3423),
    [anon_sym_CARET] = ACTIONS(3421),
    [anon_sym_LT_LT] = ACTIONS(3423),
    [anon_sym_GT_GT] = ACTIONS(3423),
    [anon_sym_import] = ACTIONS(3423),
    [anon_sym_typealias] = ACTIONS(3423),
    [anon_sym_struct] = ACTIONS(3423),
    [anon_sym_class] = ACTIONS(3423),
    [anon_sym_enum] = ACTIONS(3423),
    [anon_sym_protocol] = ACTIONS(3423),
    [anon_sym_let] = ACTIONS(3423),
    [anon_sym_var] = ACTIONS(3423),
    [anon_sym_func] = ACTIONS(3423),
    [anon_sym_extension] = ACTIONS(3423),
    [anon_sym_indirect] = ACTIONS(3423),
    [anon_sym_SEMI] = ACTIONS(3423),
    [anon_sym_init] = ACTIONS(3423),
    [anon_sym_deinit] = ACTIONS(3423),
    [anon_sym_subscript] = ACTIONS(3423),
    [anon_sym_prefix] = ACTIONS(3423),
    [anon_sym_infix] = ACTIONS(3423),
    [anon_sym_postfix] = ACTIONS(3423),
    [anon_sym_precedencegroup] = ACTIONS(3423),
    [anon_sym_associatedtype] = ACTIONS(3423),
    [anon_sym_AT] = ACTIONS(3421),
    [anon_sym_override] = ACTIONS(3423),
    [anon_sym_convenience] = ACTIONS(3423),
    [anon_sym_required] = ACTIONS(3423),
    [anon_sym_nonisolated] = ACTIONS(3423),
    [anon_sym_public] = ACTIONS(3423),
    [anon_sym_private] = ACTIONS(3423),
    [anon_sym_internal] = ACTIONS(3423),
    [anon_sym_fileprivate] = ACTIONS(3423),
    [anon_sym_open] = ACTIONS(3423),
    [anon_sym_mutating] = ACTIONS(3423),
    [anon_sym_nonmutating] = ACTIONS(3423),
    [anon_sym_static] = ACTIONS(3423),
    [anon_sym_dynamic] = ACTIONS(3423),
    [anon_sym_optional] = ACTIONS(3423),
    [anon_sym_distributed] = ACTIONS(3423),
    [anon_sym_final] = ACTIONS(3423),
    [anon_sym_inout] = ACTIONS(3423),
    [anon_sym_ATescaping] = ACTIONS(3423),
    [anon_sym_ATautoclosure] = ACTIONS(3423),
    [anon_sym_weak] = ACTIONS(3423),
    [anon_sym_unowned] = ACTIONS(3421),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3423),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3423),
    [anon_sym_borrowing] = ACTIONS(3423),
    [anon_sym_consuming] = ACTIONS(3423),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3423),
    [sym__conjunction_operator_custom] = ACTIONS(3423),
    [sym__disjunction_operator_custom] = ACTIONS(3423),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3423),
    [sym__eq_custom] = ACTIONS(3423),
    [sym__eq_eq_custom] = ACTIONS(3423),
    [sym__plus_then_ws] = ACTIONS(3423),
    [sym__minus_then_ws] = ACTIONS(3423),
    [sym__bang_custom] = ACTIONS(3423),
    [sym__as_custom] = ACTIONS(3423),
    [sym__as_quest_custom] = ACTIONS(3423),
    [sym__as_bang_custom] = ACTIONS(3423),
    [sym__custom_operator] = ACTIONS(3423),
  },
  [910] = {
    [anon_sym_BANG] = ACTIONS(3425),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3427),
    [anon_sym_async] = ACTIONS(3427),
    [anon_sym_lazy] = ACTIONS(3427),
    [anon_sym_package] = ACTIONS(3427),
    [anon_sym_RPAREN] = ACTIONS(3427),
    [anon_sym_COMMA] = ACTIONS(3427),
    [anon_sym_COLON] = ACTIONS(3427),
    [anon_sym_LPAREN] = ACTIONS(3427),
    [anon_sym_LBRACK] = ACTIONS(3427),
    [anon_sym_RBRACK] = ACTIONS(3427),
    [anon_sym_QMARK] = ACTIONS(3425),
    [anon_sym_QMARK2] = ACTIONS(3427),
    [anon_sym_AMP] = ACTIONS(3427),
    [aux_sym_custom_operator_token1] = ACTIONS(3427),
    [anon_sym_LT] = ACTIONS(3425),
    [anon_sym_GT] = ACTIONS(3425),
    [anon_sym_LBRACE] = ACTIONS(3427),
    [anon_sym_CARET_LBRACE] = ACTIONS(3427),
    [anon_sym_RBRACE] = ACTIONS(3427),
    [anon_sym_case] = ACTIONS(3427),
    [anon_sym_PLUS_EQ] = ACTIONS(3427),
    [anon_sym_DASH_EQ] = ACTIONS(3427),
    [anon_sym_STAR_EQ] = ACTIONS(3427),
    [anon_sym_SLASH_EQ] = ACTIONS(3427),
    [anon_sym_PERCENT_EQ] = ACTIONS(3427),
    [anon_sym_BANG_EQ] = ACTIONS(3425),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3427),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3427),
    [anon_sym_LT_EQ] = ACTIONS(3427),
    [anon_sym_GT_EQ] = ACTIONS(3427),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3427),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3427),
    [anon_sym_is] = ACTIONS(3427),
    [anon_sym_PLUS] = ACTIONS(3425),
    [anon_sym_DASH] = ACTIONS(3425),
    [anon_sym_STAR] = ACTIONS(3425),
    [anon_sym_SLASH] = ACTIONS(3425),
    [anon_sym_PERCENT] = ACTIONS(3425),
    [anon_sym_PLUS_PLUS] = ACTIONS(3427),
    [anon_sym_DASH_DASH] = ACTIONS(3427),
    [anon_sym_PIPE] = ACTIONS(3427),
    [anon_sym_CARET] = ACTIONS(3425),
    [anon_sym_LT_LT] = ACTIONS(3427),
    [anon_sym_GT_GT] = ACTIONS(3427),
    [anon_sym_import] = ACTIONS(3427),
    [anon_sym_typealias] = ACTIONS(3427),
    [anon_sym_struct] = ACTIONS(3427),
    [anon_sym_class] = ACTIONS(3427),
    [anon_sym_enum] = ACTIONS(3427),
    [anon_sym_protocol] = ACTIONS(3427),
    [anon_sym_let] = ACTIONS(3427),
    [anon_sym_var] = ACTIONS(3427),
    [anon_sym_func] = ACTIONS(3427),
    [anon_sym_extension] = ACTIONS(3427),
    [anon_sym_indirect] = ACTIONS(3427),
    [anon_sym_SEMI] = ACTIONS(3427),
    [anon_sym_init] = ACTIONS(3427),
    [anon_sym_deinit] = ACTIONS(3427),
    [anon_sym_subscript] = ACTIONS(3427),
    [anon_sym_prefix] = ACTIONS(3427),
    [anon_sym_infix] = ACTIONS(3427),
    [anon_sym_postfix] = ACTIONS(3427),
    [anon_sym_precedencegroup] = ACTIONS(3427),
    [anon_sym_associatedtype] = ACTIONS(3427),
    [anon_sym_AT] = ACTIONS(3425),
    [anon_sym_override] = ACTIONS(3427),
    [anon_sym_convenience] = ACTIONS(3427),
    [anon_sym_required] = ACTIONS(3427),
    [anon_sym_nonisolated] = ACTIONS(3427),
    [anon_sym_public] = ACTIONS(3427),
    [anon_sym_private] = ACTIONS(3427),
    [anon_sym_internal] = ACTIONS(3427),
    [anon_sym_fileprivate] = ACTIONS(3427),
    [anon_sym_open] = ACTIONS(3427),
    [anon_sym_mutating] = ACTIONS(3427),
    [anon_sym_nonmutating] = ACTIONS(3427),
    [anon_sym_static] = ACTIONS(3427),
    [anon_sym_dynamic] = ACTIONS(3427),
    [anon_sym_optional] = ACTIONS(3427),
    [anon_sym_distributed] = ACTIONS(3427),
    [anon_sym_final] = ACTIONS(3427),
    [anon_sym_inout] = ACTIONS(3427),
    [anon_sym_ATescaping] = ACTIONS(3427),
    [anon_sym_ATautoclosure] = ACTIONS(3427),
    [anon_sym_weak] = ACTIONS(3427),
    [anon_sym_unowned] = ACTIONS(3425),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3427),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3427),
    [anon_sym_borrowing] = ACTIONS(3427),
    [anon_sym_consuming] = ACTIONS(3427),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3427),
    [sym__conjunction_operator_custom] = ACTIONS(3427),
    [sym__disjunction_operator_custom] = ACTIONS(3427),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3427),
    [sym__eq_custom] = ACTIONS(3427),
    [sym__eq_eq_custom] = ACTIONS(3427),
    [sym__plus_then_ws] = ACTIONS(3427),
    [sym__minus_then_ws] = ACTIONS(3427),
    [sym__bang_custom] = ACTIONS(3427),
    [sym__as_custom] = ACTIONS(3427),
    [sym__as_quest_custom] = ACTIONS(3427),
    [sym__as_bang_custom] = ACTIONS(3427),
    [sym__custom_operator] = ACTIONS(3427),
  },
  [911] = {
    [anon_sym_BANG] = ACTIONS(3429),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3431),
    [anon_sym_async] = ACTIONS(3431),
    [anon_sym_lazy] = ACTIONS(3431),
    [anon_sym_package] = ACTIONS(3431),
    [anon_sym_RPAREN] = ACTIONS(3431),
    [anon_sym_COMMA] = ACTIONS(3431),
    [anon_sym_COLON] = ACTIONS(3431),
    [anon_sym_LPAREN] = ACTIONS(3431),
    [anon_sym_LBRACK] = ACTIONS(3431),
    [anon_sym_RBRACK] = ACTIONS(3431),
    [anon_sym_QMARK] = ACTIONS(3429),
    [anon_sym_QMARK2] = ACTIONS(3431),
    [anon_sym_AMP] = ACTIONS(3431),
    [aux_sym_custom_operator_token1] = ACTIONS(3431),
    [anon_sym_LT] = ACTIONS(3429),
    [anon_sym_GT] = ACTIONS(3429),
    [anon_sym_LBRACE] = ACTIONS(3431),
    [anon_sym_CARET_LBRACE] = ACTIONS(3431),
    [anon_sym_RBRACE] = ACTIONS(3431),
    [anon_sym_case] = ACTIONS(3431),
    [anon_sym_PLUS_EQ] = ACTIONS(3431),
    [anon_sym_DASH_EQ] = ACTIONS(3431),
    [anon_sym_STAR_EQ] = ACTIONS(3431),
    [anon_sym_SLASH_EQ] = ACTIONS(3431),
    [anon_sym_PERCENT_EQ] = ACTIONS(3431),
    [anon_sym_BANG_EQ] = ACTIONS(3429),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3431),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3431),
    [anon_sym_LT_EQ] = ACTIONS(3431),
    [anon_sym_GT_EQ] = ACTIONS(3431),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3431),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3431),
    [anon_sym_is] = ACTIONS(3431),
    [anon_sym_PLUS] = ACTIONS(3429),
    [anon_sym_DASH] = ACTIONS(3429),
    [anon_sym_STAR] = ACTIONS(3429),
    [anon_sym_SLASH] = ACTIONS(3429),
    [anon_sym_PERCENT] = ACTIONS(3429),
    [anon_sym_PLUS_PLUS] = ACTIONS(3431),
    [anon_sym_DASH_DASH] = ACTIONS(3431),
    [anon_sym_PIPE] = ACTIONS(3431),
    [anon_sym_CARET] = ACTIONS(3429),
    [anon_sym_LT_LT] = ACTIONS(3431),
    [anon_sym_GT_GT] = ACTIONS(3431),
    [anon_sym_import] = ACTIONS(3431),
    [anon_sym_typealias] = ACTIONS(3431),
    [anon_sym_struct] = ACTIONS(3431),
    [anon_sym_class] = ACTIONS(3431),
    [anon_sym_enum] = ACTIONS(3431),
    [anon_sym_protocol] = ACTIONS(3431),
    [anon_sym_let] = ACTIONS(3431),
    [anon_sym_var] = ACTIONS(3431),
    [anon_sym_func] = ACTIONS(3431),
    [anon_sym_extension] = ACTIONS(3431),
    [anon_sym_indirect] = ACTIONS(3431),
    [anon_sym_SEMI] = ACTIONS(3431),
    [anon_sym_init] = ACTIONS(3431),
    [anon_sym_deinit] = ACTIONS(3431),
    [anon_sym_subscript] = ACTIONS(3431),
    [anon_sym_prefix] = ACTIONS(3431),
    [anon_sym_infix] = ACTIONS(3431),
    [anon_sym_postfix] = ACTIONS(3431),
    [anon_sym_precedencegroup] = ACTIONS(3431),
    [anon_sym_associatedtype] = ACTIONS(3431),
    [anon_sym_AT] = ACTIONS(3429),
    [anon_sym_override] = ACTIONS(3431),
    [anon_sym_convenience] = ACTIONS(3431),
    [anon_sym_required] = ACTIONS(3431),
    [anon_sym_nonisolated] = ACTIONS(3431),
    [anon_sym_public] = ACTIONS(3431),
    [anon_sym_private] = ACTIONS(3431),
    [anon_sym_internal] = ACTIONS(3431),
    [anon_sym_fileprivate] = ACTIONS(3431),
    [anon_sym_open] = ACTIONS(3431),
    [anon_sym_mutating] = ACTIONS(3431),
    [anon_sym_nonmutating] = ACTIONS(3431),
    [anon_sym_static] = ACTIONS(3431),
    [anon_sym_dynamic] = ACTIONS(3431),
    [anon_sym_optional] = ACTIONS(3431),
    [anon_sym_distributed] = ACTIONS(3431),
    [anon_sym_final] = ACTIONS(3431),
    [anon_sym_inout] = ACTIONS(3431),
    [anon_sym_ATescaping] = ACTIONS(3431),
    [anon_sym_ATautoclosure] = ACTIONS(3431),
    [anon_sym_weak] = ACTIONS(3431),
    [anon_sym_unowned] = ACTIONS(3429),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3431),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3431),
    [anon_sym_borrowing] = ACTIONS(3431),
    [anon_sym_consuming] = ACTIONS(3431),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3431),
    [sym__conjunction_operator_custom] = ACTIONS(3431),
    [sym__disjunction_operator_custom] = ACTIONS(3431),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3431),
    [sym__eq_custom] = ACTIONS(3431),
    [sym__eq_eq_custom] = ACTIONS(3431),
    [sym__plus_then_ws] = ACTIONS(3431),
    [sym__minus_then_ws] = ACTIONS(3431),
    [sym__bang_custom] = ACTIONS(3431),
    [sym__as_custom] = ACTIONS(3431),
    [sym__as_quest_custom] = ACTIONS(3431),
    [sym__as_bang_custom] = ACTIONS(3431),
    [sym__custom_operator] = ACTIONS(3431),
  },
  [912] = {
    [anon_sym_BANG] = ACTIONS(3433),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3435),
    [anon_sym_async] = ACTIONS(3435),
    [anon_sym_lazy] = ACTIONS(3435),
    [anon_sym_package] = ACTIONS(3435),
    [anon_sym_RPAREN] = ACTIONS(3435),
    [anon_sym_COMMA] = ACTIONS(3435),
    [anon_sym_COLON] = ACTIONS(3435),
    [anon_sym_LPAREN] = ACTIONS(3435),
    [anon_sym_LBRACK] = ACTIONS(3435),
    [anon_sym_RBRACK] = ACTIONS(3435),
    [anon_sym_QMARK] = ACTIONS(3433),
    [anon_sym_QMARK2] = ACTIONS(3435),
    [anon_sym_AMP] = ACTIONS(3435),
    [aux_sym_custom_operator_token1] = ACTIONS(3435),
    [anon_sym_LT] = ACTIONS(3433),
    [anon_sym_GT] = ACTIONS(3433),
    [anon_sym_LBRACE] = ACTIONS(3435),
    [anon_sym_CARET_LBRACE] = ACTIONS(3435),
    [anon_sym_RBRACE] = ACTIONS(3435),
    [anon_sym_case] = ACTIONS(3435),
    [anon_sym_PLUS_EQ] = ACTIONS(3435),
    [anon_sym_DASH_EQ] = ACTIONS(3435),
    [anon_sym_STAR_EQ] = ACTIONS(3435),
    [anon_sym_SLASH_EQ] = ACTIONS(3435),
    [anon_sym_PERCENT_EQ] = ACTIONS(3435),
    [anon_sym_BANG_EQ] = ACTIONS(3433),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3435),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3435),
    [anon_sym_LT_EQ] = ACTIONS(3435),
    [anon_sym_GT_EQ] = ACTIONS(3435),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3435),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3435),
    [anon_sym_is] = ACTIONS(3435),
    [anon_sym_PLUS] = ACTIONS(3433),
    [anon_sym_DASH] = ACTIONS(3433),
    [anon_sym_STAR] = ACTIONS(3433),
    [anon_sym_SLASH] = ACTIONS(3433),
    [anon_sym_PERCENT] = ACTIONS(3433),
    [anon_sym_PLUS_PLUS] = ACTIONS(3435),
    [anon_sym_DASH_DASH] = ACTIONS(3435),
    [anon_sym_PIPE] = ACTIONS(3435),
    [anon_sym_CARET] = ACTIONS(3433),
    [anon_sym_LT_LT] = ACTIONS(3435),
    [anon_sym_GT_GT] = ACTIONS(3435),
    [anon_sym_import] = ACTIONS(3435),
    [anon_sym_typealias] = ACTIONS(3435),
    [anon_sym_struct] = ACTIONS(3435),
    [anon_sym_class] = ACTIONS(3435),
    [anon_sym_enum] = ACTIONS(3435),
    [anon_sym_protocol] = ACTIONS(3435),
    [anon_sym_let] = ACTIONS(3435),
    [anon_sym_var] = ACTIONS(3435),
    [anon_sym_func] = ACTIONS(3435),
    [anon_sym_extension] = ACTIONS(3435),
    [anon_sym_indirect] = ACTIONS(3435),
    [anon_sym_SEMI] = ACTIONS(3435),
    [anon_sym_init] = ACTIONS(3435),
    [anon_sym_deinit] = ACTIONS(3435),
    [anon_sym_subscript] = ACTIONS(3435),
    [anon_sym_prefix] = ACTIONS(3435),
    [anon_sym_infix] = ACTIONS(3435),
    [anon_sym_postfix] = ACTIONS(3435),
    [anon_sym_precedencegroup] = ACTIONS(3435),
    [anon_sym_associatedtype] = ACTIONS(3435),
    [anon_sym_AT] = ACTIONS(3433),
    [anon_sym_override] = ACTIONS(3435),
    [anon_sym_convenience] = ACTIONS(3435),
    [anon_sym_required] = ACTIONS(3435),
    [anon_sym_nonisolated] = ACTIONS(3435),
    [anon_sym_public] = ACTIONS(3435),
    [anon_sym_private] = ACTIONS(3435),
    [anon_sym_internal] = ACTIONS(3435),
    [anon_sym_fileprivate] = ACTIONS(3435),
    [anon_sym_open] = ACTIONS(3435),
    [anon_sym_mutating] = ACTIONS(3435),
    [anon_sym_nonmutating] = ACTIONS(3435),
    [anon_sym_static] = ACTIONS(3435),
    [anon_sym_dynamic] = ACTIONS(3435),
    [anon_sym_optional] = ACTIONS(3435),
    [anon_sym_distributed] = ACTIONS(3435),
    [anon_sym_final] = ACTIONS(3435),
    [anon_sym_inout] = ACTIONS(3435),
    [anon_sym_ATescaping] = ACTIONS(3435),
    [anon_sym_ATautoclosure] = ACTIONS(3435),
    [anon_sym_weak] = ACTIONS(3435),
    [anon_sym_unowned] = ACTIONS(3433),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3435),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3435),
    [anon_sym_borrowing] = ACTIONS(3435),
    [anon_sym_consuming] = ACTIONS(3435),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3435),
    [sym__conjunction_operator_custom] = ACTIONS(3435),
    [sym__disjunction_operator_custom] = ACTIONS(3435),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3435),
    [sym__eq_custom] = ACTIONS(3435),
    [sym__eq_eq_custom] = ACTIONS(3435),
    [sym__plus_then_ws] = ACTIONS(3435),
    [sym__minus_then_ws] = ACTIONS(3435),
    [sym__bang_custom] = ACTIONS(3435),
    [sym__as_custom] = ACTIONS(3435),
    [sym__as_quest_custom] = ACTIONS(3435),
    [sym__as_bang_custom] = ACTIONS(3435),
    [sym__custom_operator] = ACTIONS(3435),
  },
  [913] = {
    [anon_sym_BANG] = ACTIONS(3437),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3439),
    [anon_sym_async] = ACTIONS(3439),
    [anon_sym_lazy] = ACTIONS(3439),
    [anon_sym_package] = ACTIONS(3439),
    [anon_sym_RPAREN] = ACTIONS(3439),
    [anon_sym_COMMA] = ACTIONS(3439),
    [anon_sym_COLON] = ACTIONS(3439),
    [anon_sym_LPAREN] = ACTIONS(3439),
    [anon_sym_LBRACK] = ACTIONS(3439),
    [anon_sym_RBRACK] = ACTIONS(3439),
    [anon_sym_QMARK] = ACTIONS(3437),
    [anon_sym_QMARK2] = ACTIONS(3439),
    [anon_sym_AMP] = ACTIONS(3439),
    [aux_sym_custom_operator_token1] = ACTIONS(3439),
    [anon_sym_LT] = ACTIONS(3437),
    [anon_sym_GT] = ACTIONS(3437),
    [anon_sym_LBRACE] = ACTIONS(3439),
    [anon_sym_CARET_LBRACE] = ACTIONS(3439),
    [anon_sym_RBRACE] = ACTIONS(3439),
    [anon_sym_case] = ACTIONS(3439),
    [anon_sym_PLUS_EQ] = ACTIONS(3439),
    [anon_sym_DASH_EQ] = ACTIONS(3439),
    [anon_sym_STAR_EQ] = ACTIONS(3439),
    [anon_sym_SLASH_EQ] = ACTIONS(3439),
    [anon_sym_PERCENT_EQ] = ACTIONS(3439),
    [anon_sym_BANG_EQ] = ACTIONS(3437),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3439),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3439),
    [anon_sym_LT_EQ] = ACTIONS(3439),
    [anon_sym_GT_EQ] = ACTIONS(3439),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3439),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3439),
    [anon_sym_is] = ACTIONS(3439),
    [anon_sym_PLUS] = ACTIONS(3437),
    [anon_sym_DASH] = ACTIONS(3437),
    [anon_sym_STAR] = ACTIONS(3437),
    [anon_sym_SLASH] = ACTIONS(3437),
    [anon_sym_PERCENT] = ACTIONS(3437),
    [anon_sym_PLUS_PLUS] = ACTIONS(3439),
    [anon_sym_DASH_DASH] = ACTIONS(3439),
    [anon_sym_PIPE] = ACTIONS(3439),
    [anon_sym_CARET] = ACTIONS(3437),
    [anon_sym_LT_LT] = ACTIONS(3439),
    [anon_sym_GT_GT] = ACTIONS(3439),
    [anon_sym_import] = ACTIONS(3439),
    [anon_sym_typealias] = ACTIONS(3439),
    [anon_sym_struct] = ACTIONS(3439),
    [anon_sym_class] = ACTIONS(3439),
    [anon_sym_enum] = ACTIONS(3439),
    [anon_sym_protocol] = ACTIONS(3439),
    [anon_sym_let] = ACTIONS(3439),
    [anon_sym_var] = ACTIONS(3439),
    [anon_sym_func] = ACTIONS(3439),
    [anon_sym_extension] = ACTIONS(3439),
    [anon_sym_indirect] = ACTIONS(3439),
    [anon_sym_SEMI] = ACTIONS(3439),
    [anon_sym_init] = ACTIONS(3439),
    [anon_sym_deinit] = ACTIONS(3439),
    [anon_sym_subscript] = ACTIONS(3439),
    [anon_sym_prefix] = ACTIONS(3439),
    [anon_sym_infix] = ACTIONS(3439),
    [anon_sym_postfix] = ACTIONS(3439),
    [anon_sym_precedencegroup] = ACTIONS(3439),
    [anon_sym_associatedtype] = ACTIONS(3439),
    [anon_sym_AT] = ACTIONS(3437),
    [anon_sym_override] = ACTIONS(3439),
    [anon_sym_convenience] = ACTIONS(3439),
    [anon_sym_required] = ACTIONS(3439),
    [anon_sym_nonisolated] = ACTIONS(3439),
    [anon_sym_public] = ACTIONS(3439),
    [anon_sym_private] = ACTIONS(3439),
    [anon_sym_internal] = ACTIONS(3439),
    [anon_sym_fileprivate] = ACTIONS(3439),
    [anon_sym_open] = ACTIONS(3439),
    [anon_sym_mutating] = ACTIONS(3439),
    [anon_sym_nonmutating] = ACTIONS(3439),
    [anon_sym_static] = ACTIONS(3439),
    [anon_sym_dynamic] = ACTIONS(3439),
    [anon_sym_optional] = ACTIONS(3439),
    [anon_sym_distributed] = ACTIONS(3439),
    [anon_sym_final] = ACTIONS(3439),
    [anon_sym_inout] = ACTIONS(3439),
    [anon_sym_ATescaping] = ACTIONS(3439),
    [anon_sym_ATautoclosure] = ACTIONS(3439),
    [anon_sym_weak] = ACTIONS(3439),
    [anon_sym_unowned] = ACTIONS(3437),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3439),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3439),
    [anon_sym_borrowing] = ACTIONS(3439),
    [anon_sym_consuming] = ACTIONS(3439),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3439),
    [sym__conjunction_operator_custom] = ACTIONS(3439),
    [sym__disjunction_operator_custom] = ACTIONS(3439),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3439),
    [sym__eq_custom] = ACTIONS(3439),
    [sym__eq_eq_custom] = ACTIONS(3439),
    [sym__plus_then_ws] = ACTIONS(3439),
    [sym__minus_then_ws] = ACTIONS(3439),
    [sym__bang_custom] = ACTIONS(3439),
    [sym__as_custom] = ACTIONS(3439),
    [sym__as_quest_custom] = ACTIONS(3439),
    [sym__as_bang_custom] = ACTIONS(3439),
    [sym__custom_operator] = ACTIONS(3439),
  },
  [914] = {
    [anon_sym_BANG] = ACTIONS(3441),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3443),
    [anon_sym_async] = ACTIONS(3443),
    [anon_sym_lazy] = ACTIONS(3443),
    [anon_sym_package] = ACTIONS(3443),
    [anon_sym_RPAREN] = ACTIONS(3443),
    [anon_sym_COMMA] = ACTIONS(3443),
    [anon_sym_COLON] = ACTIONS(3443),
    [anon_sym_LPAREN] = ACTIONS(3443),
    [anon_sym_LBRACK] = ACTIONS(3443),
    [anon_sym_RBRACK] = ACTIONS(3443),
    [anon_sym_QMARK] = ACTIONS(3441),
    [anon_sym_QMARK2] = ACTIONS(3443),
    [anon_sym_AMP] = ACTIONS(3443),
    [aux_sym_custom_operator_token1] = ACTIONS(3443),
    [anon_sym_LT] = ACTIONS(3441),
    [anon_sym_GT] = ACTIONS(3441),
    [anon_sym_LBRACE] = ACTIONS(3443),
    [anon_sym_CARET_LBRACE] = ACTIONS(3443),
    [anon_sym_RBRACE] = ACTIONS(3443),
    [anon_sym_case] = ACTIONS(3443),
    [anon_sym_PLUS_EQ] = ACTIONS(3443),
    [anon_sym_DASH_EQ] = ACTIONS(3443),
    [anon_sym_STAR_EQ] = ACTIONS(3443),
    [anon_sym_SLASH_EQ] = ACTIONS(3443),
    [anon_sym_PERCENT_EQ] = ACTIONS(3443),
    [anon_sym_BANG_EQ] = ACTIONS(3441),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3443),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3443),
    [anon_sym_LT_EQ] = ACTIONS(3443),
    [anon_sym_GT_EQ] = ACTIONS(3443),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3443),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3443),
    [anon_sym_is] = ACTIONS(3443),
    [anon_sym_PLUS] = ACTIONS(3441),
    [anon_sym_DASH] = ACTIONS(3441),
    [anon_sym_STAR] = ACTIONS(3441),
    [anon_sym_SLASH] = ACTIONS(3441),
    [anon_sym_PERCENT] = ACTIONS(3441),
    [anon_sym_PLUS_PLUS] = ACTIONS(3443),
    [anon_sym_DASH_DASH] = ACTIONS(3443),
    [anon_sym_PIPE] = ACTIONS(3443),
    [anon_sym_CARET] = ACTIONS(3441),
    [anon_sym_LT_LT] = ACTIONS(3443),
    [anon_sym_GT_GT] = ACTIONS(3443),
    [anon_sym_import] = ACTIONS(3443),
    [anon_sym_typealias] = ACTIONS(3443),
    [anon_sym_struct] = ACTIONS(3443),
    [anon_sym_class] = ACTIONS(3443),
    [anon_sym_enum] = ACTIONS(3443),
    [anon_sym_protocol] = ACTIONS(3443),
    [anon_sym_let] = ACTIONS(3443),
    [anon_sym_var] = ACTIONS(3443),
    [anon_sym_func] = ACTIONS(3443),
    [anon_sym_extension] = ACTIONS(3443),
    [anon_sym_indirect] = ACTIONS(3443),
    [anon_sym_SEMI] = ACTIONS(3443),
    [anon_sym_init] = ACTIONS(3443),
    [anon_sym_deinit] = ACTIONS(3443),
    [anon_sym_subscript] = ACTIONS(3443),
    [anon_sym_prefix] = ACTIONS(3443),
    [anon_sym_infix] = ACTIONS(3443),
    [anon_sym_postfix] = ACTIONS(3443),
    [anon_sym_precedencegroup] = ACTIONS(3443),
    [anon_sym_associatedtype] = ACTIONS(3443),
    [anon_sym_AT] = ACTIONS(3441),
    [anon_sym_override] = ACTIONS(3443),
    [anon_sym_convenience] = ACTIONS(3443),
    [anon_sym_required] = ACTIONS(3443),
    [anon_sym_nonisolated] = ACTIONS(3443),
    [anon_sym_public] = ACTIONS(3443),
    [anon_sym_private] = ACTIONS(3443),
    [anon_sym_internal] = ACTIONS(3443),
    [anon_sym_fileprivate] = ACTIONS(3443),
    [anon_sym_open] = ACTIONS(3443),
    [anon_sym_mutating] = ACTIONS(3443),
    [anon_sym_nonmutating] = ACTIONS(3443),
    [anon_sym_static] = ACTIONS(3443),
    [anon_sym_dynamic] = ACTIONS(3443),
    [anon_sym_optional] = ACTIONS(3443),
    [anon_sym_distributed] = ACTIONS(3443),
    [anon_sym_final] = ACTIONS(3443),
    [anon_sym_inout] = ACTIONS(3443),
    [anon_sym_ATescaping] = ACTIONS(3443),
    [anon_sym_ATautoclosure] = ACTIONS(3443),
    [anon_sym_weak] = ACTIONS(3443),
    [anon_sym_unowned] = ACTIONS(3441),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3443),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3443),
    [anon_sym_borrowing] = ACTIONS(3443),
    [anon_sym_consuming] = ACTIONS(3443),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3443),
    [sym__conjunction_operator_custom] = ACTIONS(3443),
    [sym__disjunction_operator_custom] = ACTIONS(3443),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3443),
    [sym__eq_custom] = ACTIONS(3443),
    [sym__eq_eq_custom] = ACTIONS(3443),
    [sym__plus_then_ws] = ACTIONS(3443),
    [sym__minus_then_ws] = ACTIONS(3443),
    [sym__bang_custom] = ACTIONS(3443),
    [sym__as_custom] = ACTIONS(3443),
    [sym__as_quest_custom] = ACTIONS(3443),
    [sym__as_bang_custom] = ACTIONS(3443),
    [sym__custom_operator] = ACTIONS(3443),
  },
  [915] = {
    [anon_sym_BANG] = ACTIONS(3445),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3447),
    [anon_sym_async] = ACTIONS(3447),
    [anon_sym_lazy] = ACTIONS(3447),
    [anon_sym_package] = ACTIONS(3447),
    [anon_sym_RPAREN] = ACTIONS(3447),
    [anon_sym_COMMA] = ACTIONS(3447),
    [anon_sym_COLON] = ACTIONS(3447),
    [anon_sym_LPAREN] = ACTIONS(3447),
    [anon_sym_LBRACK] = ACTIONS(3447),
    [anon_sym_RBRACK] = ACTIONS(3447),
    [anon_sym_QMARK] = ACTIONS(3445),
    [anon_sym_QMARK2] = ACTIONS(3447),
    [anon_sym_AMP] = ACTIONS(3447),
    [aux_sym_custom_operator_token1] = ACTIONS(3447),
    [anon_sym_LT] = ACTIONS(3445),
    [anon_sym_GT] = ACTIONS(3445),
    [anon_sym_LBRACE] = ACTIONS(3447),
    [anon_sym_CARET_LBRACE] = ACTIONS(3447),
    [anon_sym_RBRACE] = ACTIONS(3447),
    [anon_sym_case] = ACTIONS(3447),
    [anon_sym_PLUS_EQ] = ACTIONS(3447),
    [anon_sym_DASH_EQ] = ACTIONS(3447),
    [anon_sym_STAR_EQ] = ACTIONS(3447),
    [anon_sym_SLASH_EQ] = ACTIONS(3447),
    [anon_sym_PERCENT_EQ] = ACTIONS(3447),
    [anon_sym_BANG_EQ] = ACTIONS(3445),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3447),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3447),
    [anon_sym_LT_EQ] = ACTIONS(3447),
    [anon_sym_GT_EQ] = ACTIONS(3447),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3447),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3447),
    [anon_sym_is] = ACTIONS(3447),
    [anon_sym_PLUS] = ACTIONS(3445),
    [anon_sym_DASH] = ACTIONS(3445),
    [anon_sym_STAR] = ACTIONS(3445),
    [anon_sym_SLASH] = ACTIONS(3445),
    [anon_sym_PERCENT] = ACTIONS(3445),
    [anon_sym_PLUS_PLUS] = ACTIONS(3447),
    [anon_sym_DASH_DASH] = ACTIONS(3447),
    [anon_sym_PIPE] = ACTIONS(3447),
    [anon_sym_CARET] = ACTIONS(3445),
    [anon_sym_LT_LT] = ACTIONS(3447),
    [anon_sym_GT_GT] = ACTIONS(3447),
    [anon_sym_import] = ACTIONS(3447),
    [anon_sym_typealias] = ACTIONS(3447),
    [anon_sym_struct] = ACTIONS(3447),
    [anon_sym_class] = ACTIONS(3447),
    [anon_sym_enum] = ACTIONS(3447),
    [anon_sym_protocol] = ACTIONS(3447),
    [anon_sym_let] = ACTIONS(3447),
    [anon_sym_var] = ACTIONS(3447),
    [anon_sym_func] = ACTIONS(3447),
    [anon_sym_extension] = ACTIONS(3447),
    [anon_sym_indirect] = ACTIONS(3447),
    [anon_sym_SEMI] = ACTIONS(3447),
    [anon_sym_init] = ACTIONS(3447),
    [anon_sym_deinit] = ACTIONS(3447),
    [anon_sym_subscript] = ACTIONS(3447),
    [anon_sym_prefix] = ACTIONS(3447),
    [anon_sym_infix] = ACTIONS(3447),
    [anon_sym_postfix] = ACTIONS(3447),
    [anon_sym_precedencegroup] = ACTIONS(3447),
    [anon_sym_associatedtype] = ACTIONS(3447),
    [anon_sym_AT] = ACTIONS(3445),
    [anon_sym_override] = ACTIONS(3447),
    [anon_sym_convenience] = ACTIONS(3447),
    [anon_sym_required] = ACTIONS(3447),
    [anon_sym_nonisolated] = ACTIONS(3447),
    [anon_sym_public] = ACTIONS(3447),
    [anon_sym_private] = ACTIONS(3447),
    [anon_sym_internal] = ACTIONS(3447),
    [anon_sym_fileprivate] = ACTIONS(3447),
    [anon_sym_open] = ACTIONS(3447),
    [anon_sym_mutating] = ACTIONS(3447),
    [anon_sym_nonmutating] = ACTIONS(3447),
    [anon_sym_static] = ACTIONS(3447),
    [anon_sym_dynamic] = ACTIONS(3447),
    [anon_sym_optional] = ACTIONS(3447),
    [anon_sym_distributed] = ACTIONS(3447),
    [anon_sym_final] = ACTIONS(3447),
    [anon_sym_inout] = ACTIONS(3447),
    [anon_sym_ATescaping] = ACTIONS(3447),
    [anon_sym_ATautoclosure] = ACTIONS(3447),
    [anon_sym_weak] = ACTIONS(3447),
    [anon_sym_unowned] = ACTIONS(3445),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3447),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3447),
    [anon_sym_borrowing] = ACTIONS(3447),
    [anon_sym_consuming] = ACTIONS(3447),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3447),
    [sym__conjunction_operator_custom] = ACTIONS(3447),
    [sym__disjunction_operator_custom] = ACTIONS(3447),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3447),
    [sym__eq_custom] = ACTIONS(3447),
    [sym__eq_eq_custom] = ACTIONS(3447),
    [sym__plus_then_ws] = ACTIONS(3447),
    [sym__minus_then_ws] = ACTIONS(3447),
    [sym__bang_custom] = ACTIONS(3447),
    [sym__as_custom] = ACTIONS(3447),
    [sym__as_quest_custom] = ACTIONS(3447),
    [sym__as_bang_custom] = ACTIONS(3447),
    [sym__custom_operator] = ACTIONS(3447),
  },
  [916] = {
    [anon_sym_BANG] = ACTIONS(3449),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3451),
    [anon_sym_async] = ACTIONS(3451),
    [anon_sym_lazy] = ACTIONS(3451),
    [anon_sym_package] = ACTIONS(3451),
    [anon_sym_RPAREN] = ACTIONS(3451),
    [anon_sym_COMMA] = ACTIONS(3451),
    [anon_sym_COLON] = ACTIONS(3451),
    [anon_sym_LPAREN] = ACTIONS(3451),
    [anon_sym_LBRACK] = ACTIONS(3451),
    [anon_sym_RBRACK] = ACTIONS(3451),
    [anon_sym_QMARK] = ACTIONS(3449),
    [anon_sym_QMARK2] = ACTIONS(3451),
    [anon_sym_AMP] = ACTIONS(3451),
    [aux_sym_custom_operator_token1] = ACTIONS(3451),
    [anon_sym_LT] = ACTIONS(3449),
    [anon_sym_GT] = ACTIONS(3449),
    [anon_sym_LBRACE] = ACTIONS(3451),
    [anon_sym_CARET_LBRACE] = ACTIONS(3451),
    [anon_sym_RBRACE] = ACTIONS(3451),
    [anon_sym_case] = ACTIONS(3451),
    [anon_sym_PLUS_EQ] = ACTIONS(3451),
    [anon_sym_DASH_EQ] = ACTIONS(3451),
    [anon_sym_STAR_EQ] = ACTIONS(3451),
    [anon_sym_SLASH_EQ] = ACTIONS(3451),
    [anon_sym_PERCENT_EQ] = ACTIONS(3451),
    [anon_sym_BANG_EQ] = ACTIONS(3449),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3451),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3451),
    [anon_sym_LT_EQ] = ACTIONS(3451),
    [anon_sym_GT_EQ] = ACTIONS(3451),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3451),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3451),
    [anon_sym_is] = ACTIONS(3451),
    [anon_sym_PLUS] = ACTIONS(3449),
    [anon_sym_DASH] = ACTIONS(3449),
    [anon_sym_STAR] = ACTIONS(3449),
    [anon_sym_SLASH] = ACTIONS(3449),
    [anon_sym_PERCENT] = ACTIONS(3449),
    [anon_sym_PLUS_PLUS] = ACTIONS(3451),
    [anon_sym_DASH_DASH] = ACTIONS(3451),
    [anon_sym_PIPE] = ACTIONS(3451),
    [anon_sym_CARET] = ACTIONS(3449),
    [anon_sym_LT_LT] = ACTIONS(3451),
    [anon_sym_GT_GT] = ACTIONS(3451),
    [anon_sym_import] = ACTIONS(3451),
    [anon_sym_typealias] = ACTIONS(3451),
    [anon_sym_struct] = ACTIONS(3451),
    [anon_sym_class] = ACTIONS(3451),
    [anon_sym_enum] = ACTIONS(3451),
    [anon_sym_protocol] = ACTIONS(3451),
    [anon_sym_let] = ACTIONS(3451),
    [anon_sym_var] = ACTIONS(3451),
    [anon_sym_func] = ACTIONS(3451),
    [anon_sym_extension] = ACTIONS(3451),
    [anon_sym_indirect] = ACTIONS(3451),
    [anon_sym_SEMI] = ACTIONS(3451),
    [anon_sym_init] = ACTIONS(3451),
    [anon_sym_deinit] = ACTIONS(3451),
    [anon_sym_subscript] = ACTIONS(3451),
    [anon_sym_prefix] = ACTIONS(3451),
    [anon_sym_infix] = ACTIONS(3451),
    [anon_sym_postfix] = ACTIONS(3451),
    [anon_sym_precedencegroup] = ACTIONS(3451),
    [anon_sym_associatedtype] = ACTIONS(3451),
    [anon_sym_AT] = ACTIONS(3449),
    [anon_sym_override] = ACTIONS(3451),
    [anon_sym_convenience] = ACTIONS(3451),
    [anon_sym_required] = ACTIONS(3451),
    [anon_sym_nonisolated] = ACTIONS(3451),
    [anon_sym_public] = ACTIONS(3451),
    [anon_sym_private] = ACTIONS(3451),
    [anon_sym_internal] = ACTIONS(3451),
    [anon_sym_fileprivate] = ACTIONS(3451),
    [anon_sym_open] = ACTIONS(3451),
    [anon_sym_mutating] = ACTIONS(3451),
    [anon_sym_nonmutating] = ACTIONS(3451),
    [anon_sym_static] = ACTIONS(3451),
    [anon_sym_dynamic] = ACTIONS(3451),
    [anon_sym_optional] = ACTIONS(3451),
    [anon_sym_distributed] = ACTIONS(3451),
    [anon_sym_final] = ACTIONS(3451),
    [anon_sym_inout] = ACTIONS(3451),
    [anon_sym_ATescaping] = ACTIONS(3451),
    [anon_sym_ATautoclosure] = ACTIONS(3451),
    [anon_sym_weak] = ACTIONS(3451),
    [anon_sym_unowned] = ACTIONS(3449),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3451),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3451),
    [anon_sym_borrowing] = ACTIONS(3451),
    [anon_sym_consuming] = ACTIONS(3451),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3451),
    [sym__conjunction_operator_custom] = ACTIONS(3451),
    [sym__disjunction_operator_custom] = ACTIONS(3451),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3451),
    [sym__eq_custom] = ACTIONS(3451),
    [sym__eq_eq_custom] = ACTIONS(3451),
    [sym__plus_then_ws] = ACTIONS(3451),
    [sym__minus_then_ws] = ACTIONS(3451),
    [sym__bang_custom] = ACTIONS(3451),
    [sym__as_custom] = ACTIONS(3451),
    [sym__as_quest_custom] = ACTIONS(3451),
    [sym__as_bang_custom] = ACTIONS(3451),
    [sym__custom_operator] = ACTIONS(3451),
  },
  [917] = {
    [anon_sym_BANG] = ACTIONS(3453),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3455),
    [anon_sym_async] = ACTIONS(3455),
    [anon_sym_lazy] = ACTIONS(3455),
    [anon_sym_package] = ACTIONS(3455),
    [anon_sym_RPAREN] = ACTIONS(3455),
    [anon_sym_COMMA] = ACTIONS(3455),
    [anon_sym_COLON] = ACTIONS(3455),
    [anon_sym_LPAREN] = ACTIONS(3455),
    [anon_sym_LBRACK] = ACTIONS(3455),
    [anon_sym_RBRACK] = ACTIONS(3455),
    [anon_sym_QMARK] = ACTIONS(3453),
    [anon_sym_QMARK2] = ACTIONS(3455),
    [anon_sym_AMP] = ACTIONS(3455),
    [aux_sym_custom_operator_token1] = ACTIONS(3455),
    [anon_sym_LT] = ACTIONS(3453),
    [anon_sym_GT] = ACTIONS(3453),
    [anon_sym_LBRACE] = ACTIONS(3455),
    [anon_sym_CARET_LBRACE] = ACTIONS(3455),
    [anon_sym_RBRACE] = ACTIONS(3455),
    [anon_sym_case] = ACTIONS(3455),
    [anon_sym_PLUS_EQ] = ACTIONS(3455),
    [anon_sym_DASH_EQ] = ACTIONS(3455),
    [anon_sym_STAR_EQ] = ACTIONS(3455),
    [anon_sym_SLASH_EQ] = ACTIONS(3455),
    [anon_sym_PERCENT_EQ] = ACTIONS(3455),
    [anon_sym_BANG_EQ] = ACTIONS(3453),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3455),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3455),
    [anon_sym_LT_EQ] = ACTIONS(3455),
    [anon_sym_GT_EQ] = ACTIONS(3455),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3455),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3455),
    [anon_sym_is] = ACTIONS(3455),
    [anon_sym_PLUS] = ACTIONS(3453),
    [anon_sym_DASH] = ACTIONS(3453),
    [anon_sym_STAR] = ACTIONS(3453),
    [anon_sym_SLASH] = ACTIONS(3453),
    [anon_sym_PERCENT] = ACTIONS(3453),
    [anon_sym_PLUS_PLUS] = ACTIONS(3455),
    [anon_sym_DASH_DASH] = ACTIONS(3455),
    [anon_sym_PIPE] = ACTIONS(3455),
    [anon_sym_CARET] = ACTIONS(3453),
    [anon_sym_LT_LT] = ACTIONS(3455),
    [anon_sym_GT_GT] = ACTIONS(3455),
    [anon_sym_import] = ACTIONS(3455),
    [anon_sym_typealias] = ACTIONS(3455),
    [anon_sym_struct] = ACTIONS(3455),
    [anon_sym_class] = ACTIONS(3455),
    [anon_sym_enum] = ACTIONS(3455),
    [anon_sym_protocol] = ACTIONS(3455),
    [anon_sym_let] = ACTIONS(3455),
    [anon_sym_var] = ACTIONS(3455),
    [anon_sym_func] = ACTIONS(3455),
    [anon_sym_extension] = ACTIONS(3455),
    [anon_sym_indirect] = ACTIONS(3455),
    [anon_sym_SEMI] = ACTIONS(3455),
    [anon_sym_init] = ACTIONS(3455),
    [anon_sym_deinit] = ACTIONS(3455),
    [anon_sym_subscript] = ACTIONS(3455),
    [anon_sym_prefix] = ACTIONS(3455),
    [anon_sym_infix] = ACTIONS(3455),
    [anon_sym_postfix] = ACTIONS(3455),
    [anon_sym_precedencegroup] = ACTIONS(3455),
    [anon_sym_associatedtype] = ACTIONS(3455),
    [anon_sym_AT] = ACTIONS(3453),
    [anon_sym_override] = ACTIONS(3455),
    [anon_sym_convenience] = ACTIONS(3455),
    [anon_sym_required] = ACTIONS(3455),
    [anon_sym_nonisolated] = ACTIONS(3455),
    [anon_sym_public] = ACTIONS(3455),
    [anon_sym_private] = ACTIONS(3455),
    [anon_sym_internal] = ACTIONS(3455),
    [anon_sym_fileprivate] = ACTIONS(3455),
    [anon_sym_open] = ACTIONS(3455),
    [anon_sym_mutating] = ACTIONS(3455),
    [anon_sym_nonmutating] = ACTIONS(3455),
    [anon_sym_static] = ACTIONS(3455),
    [anon_sym_dynamic] = ACTIONS(3455),
    [anon_sym_optional] = ACTIONS(3455),
    [anon_sym_distributed] = ACTIONS(3455),
    [anon_sym_final] = ACTIONS(3455),
    [anon_sym_inout] = ACTIONS(3455),
    [anon_sym_ATescaping] = ACTIONS(3455),
    [anon_sym_ATautoclosure] = ACTIONS(3455),
    [anon_sym_weak] = ACTIONS(3455),
    [anon_sym_unowned] = ACTIONS(3453),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3455),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3455),
    [anon_sym_borrowing] = ACTIONS(3455),
    [anon_sym_consuming] = ACTIONS(3455),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3455),
    [sym__conjunction_operator_custom] = ACTIONS(3455),
    [sym__disjunction_operator_custom] = ACTIONS(3455),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3455),
    [sym__eq_custom] = ACTIONS(3455),
    [sym__eq_eq_custom] = ACTIONS(3455),
    [sym__plus_then_ws] = ACTIONS(3455),
    [sym__minus_then_ws] = ACTIONS(3455),
    [sym__bang_custom] = ACTIONS(3455),
    [sym__as_custom] = ACTIONS(3455),
    [sym__as_quest_custom] = ACTIONS(3455),
    [sym__as_bang_custom] = ACTIONS(3455),
    [sym__custom_operator] = ACTIONS(3455),
  },
  [918] = {
    [anon_sym_BANG] = ACTIONS(3457),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3459),
    [anon_sym_async] = ACTIONS(3459),
    [anon_sym_lazy] = ACTIONS(3459),
    [anon_sym_package] = ACTIONS(3459),
    [anon_sym_RPAREN] = ACTIONS(3459),
    [anon_sym_COMMA] = ACTIONS(3459),
    [anon_sym_COLON] = ACTIONS(3459),
    [anon_sym_LPAREN] = ACTIONS(3459),
    [anon_sym_LBRACK] = ACTIONS(3459),
    [anon_sym_RBRACK] = ACTIONS(3459),
    [anon_sym_QMARK] = ACTIONS(3457),
    [anon_sym_QMARK2] = ACTIONS(3459),
    [anon_sym_AMP] = ACTIONS(3459),
    [aux_sym_custom_operator_token1] = ACTIONS(3459),
    [anon_sym_LT] = ACTIONS(3457),
    [anon_sym_GT] = ACTIONS(3457),
    [anon_sym_LBRACE] = ACTIONS(3459),
    [anon_sym_CARET_LBRACE] = ACTIONS(3459),
    [anon_sym_RBRACE] = ACTIONS(3459),
    [anon_sym_case] = ACTIONS(3459),
    [anon_sym_PLUS_EQ] = ACTIONS(3459),
    [anon_sym_DASH_EQ] = ACTIONS(3459),
    [anon_sym_STAR_EQ] = ACTIONS(3459),
    [anon_sym_SLASH_EQ] = ACTIONS(3459),
    [anon_sym_PERCENT_EQ] = ACTIONS(3459),
    [anon_sym_BANG_EQ] = ACTIONS(3457),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3459),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3459),
    [anon_sym_LT_EQ] = ACTIONS(3459),
    [anon_sym_GT_EQ] = ACTIONS(3459),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3459),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3459),
    [anon_sym_is] = ACTIONS(3459),
    [anon_sym_PLUS] = ACTIONS(3457),
    [anon_sym_DASH] = ACTIONS(3457),
    [anon_sym_STAR] = ACTIONS(3457),
    [anon_sym_SLASH] = ACTIONS(3457),
    [anon_sym_PERCENT] = ACTIONS(3457),
    [anon_sym_PLUS_PLUS] = ACTIONS(3459),
    [anon_sym_DASH_DASH] = ACTIONS(3459),
    [anon_sym_PIPE] = ACTIONS(3459),
    [anon_sym_CARET] = ACTIONS(3457),
    [anon_sym_LT_LT] = ACTIONS(3459),
    [anon_sym_GT_GT] = ACTIONS(3459),
    [anon_sym_import] = ACTIONS(3459),
    [anon_sym_typealias] = ACTIONS(3459),
    [anon_sym_struct] = ACTIONS(3459),
    [anon_sym_class] = ACTIONS(3459),
    [anon_sym_enum] = ACTIONS(3459),
    [anon_sym_protocol] = ACTIONS(3459),
    [anon_sym_let] = ACTIONS(3459),
    [anon_sym_var] = ACTIONS(3459),
    [anon_sym_func] = ACTIONS(3459),
    [anon_sym_extension] = ACTIONS(3459),
    [anon_sym_indirect] = ACTIONS(3459),
    [anon_sym_SEMI] = ACTIONS(3459),
    [anon_sym_init] = ACTIONS(3459),
    [anon_sym_deinit] = ACTIONS(3459),
    [anon_sym_subscript] = ACTIONS(3459),
    [anon_sym_prefix] = ACTIONS(3459),
    [anon_sym_infix] = ACTIONS(3459),
    [anon_sym_postfix] = ACTIONS(3459),
    [anon_sym_precedencegroup] = ACTIONS(3459),
    [anon_sym_associatedtype] = ACTIONS(3459),
    [anon_sym_AT] = ACTIONS(3457),
    [anon_sym_override] = ACTIONS(3459),
    [anon_sym_convenience] = ACTIONS(3459),
    [anon_sym_required] = ACTIONS(3459),
    [anon_sym_nonisolated] = ACTIONS(3459),
    [anon_sym_public] = ACTIONS(3459),
    [anon_sym_private] = ACTIONS(3459),
    [anon_sym_internal] = ACTIONS(3459),
    [anon_sym_fileprivate] = ACTIONS(3459),
    [anon_sym_open] = ACTIONS(3459),
    [anon_sym_mutating] = ACTIONS(3459),
    [anon_sym_nonmutating] = ACTIONS(3459),
    [anon_sym_static] = ACTIONS(3459),
    [anon_sym_dynamic] = ACTIONS(3459),
    [anon_sym_optional] = ACTIONS(3459),
    [anon_sym_distributed] = ACTIONS(3459),
    [anon_sym_final] = ACTIONS(3459),
    [anon_sym_inout] = ACTIONS(3459),
    [anon_sym_ATescaping] = ACTIONS(3459),
    [anon_sym_ATautoclosure] = ACTIONS(3459),
    [anon_sym_weak] = ACTIONS(3459),
    [anon_sym_unowned] = ACTIONS(3457),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3459),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3459),
    [anon_sym_borrowing] = ACTIONS(3459),
    [anon_sym_consuming] = ACTIONS(3459),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3459),
    [sym__conjunction_operator_custom] = ACTIONS(3459),
    [sym__disjunction_operator_custom] = ACTIONS(3459),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3459),
    [sym__eq_custom] = ACTIONS(3459),
    [sym__eq_eq_custom] = ACTIONS(3459),
    [sym__plus_then_ws] = ACTIONS(3459),
    [sym__minus_then_ws] = ACTIONS(3459),
    [sym__bang_custom] = ACTIONS(3459),
    [sym__as_custom] = ACTIONS(3459),
    [sym__as_quest_custom] = ACTIONS(3459),
    [sym__as_bang_custom] = ACTIONS(3459),
    [sym__custom_operator] = ACTIONS(3459),
  },
  [919] = {
    [anon_sym_BANG] = ACTIONS(3461),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3463),
    [anon_sym_async] = ACTIONS(3463),
    [anon_sym_lazy] = ACTIONS(3463),
    [anon_sym_package] = ACTIONS(3463),
    [anon_sym_RPAREN] = ACTIONS(3463),
    [anon_sym_COMMA] = ACTIONS(3463),
    [anon_sym_COLON] = ACTIONS(3463),
    [anon_sym_LPAREN] = ACTIONS(3463),
    [anon_sym_LBRACK] = ACTIONS(3463),
    [anon_sym_RBRACK] = ACTIONS(3463),
    [anon_sym_QMARK] = ACTIONS(3461),
    [anon_sym_QMARK2] = ACTIONS(3463),
    [anon_sym_AMP] = ACTIONS(3463),
    [aux_sym_custom_operator_token1] = ACTIONS(3463),
    [anon_sym_LT] = ACTIONS(3461),
    [anon_sym_GT] = ACTIONS(3461),
    [anon_sym_LBRACE] = ACTIONS(3463),
    [anon_sym_CARET_LBRACE] = ACTIONS(3463),
    [anon_sym_RBRACE] = ACTIONS(3463),
    [anon_sym_case] = ACTIONS(3463),
    [anon_sym_PLUS_EQ] = ACTIONS(3463),
    [anon_sym_DASH_EQ] = ACTIONS(3463),
    [anon_sym_STAR_EQ] = ACTIONS(3463),
    [anon_sym_SLASH_EQ] = ACTIONS(3463),
    [anon_sym_PERCENT_EQ] = ACTIONS(3463),
    [anon_sym_BANG_EQ] = ACTIONS(3461),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3463),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3463),
    [anon_sym_LT_EQ] = ACTIONS(3463),
    [anon_sym_GT_EQ] = ACTIONS(3463),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3463),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3463),
    [anon_sym_is] = ACTIONS(3463),
    [anon_sym_PLUS] = ACTIONS(3461),
    [anon_sym_DASH] = ACTIONS(3461),
    [anon_sym_STAR] = ACTIONS(3461),
    [anon_sym_SLASH] = ACTIONS(3461),
    [anon_sym_PERCENT] = ACTIONS(3461),
    [anon_sym_PLUS_PLUS] = ACTIONS(3463),
    [anon_sym_DASH_DASH] = ACTIONS(3463),
    [anon_sym_PIPE] = ACTIONS(3463),
    [anon_sym_CARET] = ACTIONS(3461),
    [anon_sym_LT_LT] = ACTIONS(3463),
    [anon_sym_GT_GT] = ACTIONS(3463),
    [anon_sym_import] = ACTIONS(3463),
    [anon_sym_typealias] = ACTIONS(3463),
    [anon_sym_struct] = ACTIONS(3463),
    [anon_sym_class] = ACTIONS(3463),
    [anon_sym_enum] = ACTIONS(3463),
    [anon_sym_protocol] = ACTIONS(3463),
    [anon_sym_let] = ACTIONS(3463),
    [anon_sym_var] = ACTIONS(3463),
    [anon_sym_func] = ACTIONS(3463),
    [anon_sym_extension] = ACTIONS(3463),
    [anon_sym_indirect] = ACTIONS(3463),
    [anon_sym_SEMI] = ACTIONS(3463),
    [anon_sym_init] = ACTIONS(3463),
    [anon_sym_deinit] = ACTIONS(3463),
    [anon_sym_subscript] = ACTIONS(3463),
    [anon_sym_prefix] = ACTIONS(3463),
    [anon_sym_infix] = ACTIONS(3463),
    [anon_sym_postfix] = ACTIONS(3463),
    [anon_sym_precedencegroup] = ACTIONS(3463),
    [anon_sym_associatedtype] = ACTIONS(3463),
    [anon_sym_AT] = ACTIONS(3461),
    [anon_sym_override] = ACTIONS(3463),
    [anon_sym_convenience] = ACTIONS(3463),
    [anon_sym_required] = ACTIONS(3463),
    [anon_sym_nonisolated] = ACTIONS(3463),
    [anon_sym_public] = ACTIONS(3463),
    [anon_sym_private] = ACTIONS(3463),
    [anon_sym_internal] = ACTIONS(3463),
    [anon_sym_fileprivate] = ACTIONS(3463),
    [anon_sym_open] = ACTIONS(3463),
    [anon_sym_mutating] = ACTIONS(3463),
    [anon_sym_nonmutating] = ACTIONS(3463),
    [anon_sym_static] = ACTIONS(3463),
    [anon_sym_dynamic] = ACTIONS(3463),
    [anon_sym_optional] = ACTIONS(3463),
    [anon_sym_distributed] = ACTIONS(3463),
    [anon_sym_final] = ACTIONS(3463),
    [anon_sym_inout] = ACTIONS(3463),
    [anon_sym_ATescaping] = ACTIONS(3463),
    [anon_sym_ATautoclosure] = ACTIONS(3463),
    [anon_sym_weak] = ACTIONS(3463),
    [anon_sym_unowned] = ACTIONS(3461),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3463),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3463),
    [anon_sym_borrowing] = ACTIONS(3463),
    [anon_sym_consuming] = ACTIONS(3463),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3463),
    [sym__conjunction_operator_custom] = ACTIONS(3463),
    [sym__disjunction_operator_custom] = ACTIONS(3463),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3463),
    [sym__eq_custom] = ACTIONS(3463),
    [sym__eq_eq_custom] = ACTIONS(3463),
    [sym__plus_then_ws] = ACTIONS(3463),
    [sym__minus_then_ws] = ACTIONS(3463),
    [sym__bang_custom] = ACTIONS(3463),
    [sym__as_custom] = ACTIONS(3463),
    [sym__as_quest_custom] = ACTIONS(3463),
    [sym__as_bang_custom] = ACTIONS(3463),
    [sym__custom_operator] = ACTIONS(3463),
  },
  [920] = {
    [anon_sym_BANG] = ACTIONS(3465),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3467),
    [anon_sym_async] = ACTIONS(3467),
    [anon_sym_lazy] = ACTIONS(3467),
    [anon_sym_package] = ACTIONS(3467),
    [anon_sym_RPAREN] = ACTIONS(3467),
    [anon_sym_COMMA] = ACTIONS(3467),
    [anon_sym_COLON] = ACTIONS(3467),
    [anon_sym_LPAREN] = ACTIONS(3467),
    [anon_sym_LBRACK] = ACTIONS(3467),
    [anon_sym_RBRACK] = ACTIONS(3467),
    [anon_sym_QMARK] = ACTIONS(3465),
    [anon_sym_QMARK2] = ACTIONS(3467),
    [anon_sym_AMP] = ACTIONS(3467),
    [aux_sym_custom_operator_token1] = ACTIONS(3467),
    [anon_sym_LT] = ACTIONS(3465),
    [anon_sym_GT] = ACTIONS(3465),
    [anon_sym_LBRACE] = ACTIONS(3467),
    [anon_sym_CARET_LBRACE] = ACTIONS(3467),
    [anon_sym_RBRACE] = ACTIONS(3467),
    [anon_sym_case] = ACTIONS(3467),
    [anon_sym_PLUS_EQ] = ACTIONS(3467),
    [anon_sym_DASH_EQ] = ACTIONS(3467),
    [anon_sym_STAR_EQ] = ACTIONS(3467),
    [anon_sym_SLASH_EQ] = ACTIONS(3467),
    [anon_sym_PERCENT_EQ] = ACTIONS(3467),
    [anon_sym_BANG_EQ] = ACTIONS(3465),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3467),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3467),
    [anon_sym_LT_EQ] = ACTIONS(3467),
    [anon_sym_GT_EQ] = ACTIONS(3467),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3467),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3467),
    [anon_sym_is] = ACTIONS(3467),
    [anon_sym_PLUS] = ACTIONS(3465),
    [anon_sym_DASH] = ACTIONS(3465),
    [anon_sym_STAR] = ACTIONS(3465),
    [anon_sym_SLASH] = ACTIONS(3465),
    [anon_sym_PERCENT] = ACTIONS(3465),
    [anon_sym_PLUS_PLUS] = ACTIONS(3467),
    [anon_sym_DASH_DASH] = ACTIONS(3467),
    [anon_sym_PIPE] = ACTIONS(3467),
    [anon_sym_CARET] = ACTIONS(3465),
    [anon_sym_LT_LT] = ACTIONS(3467),
    [anon_sym_GT_GT] = ACTIONS(3467),
    [anon_sym_import] = ACTIONS(3467),
    [anon_sym_typealias] = ACTIONS(3467),
    [anon_sym_struct] = ACTIONS(3467),
    [anon_sym_class] = ACTIONS(3467),
    [anon_sym_enum] = ACTIONS(3467),
    [anon_sym_protocol] = ACTIONS(3467),
    [anon_sym_let] = ACTIONS(3467),
    [anon_sym_var] = ACTIONS(3467),
    [anon_sym_func] = ACTIONS(3467),
    [anon_sym_extension] = ACTIONS(3467),
    [anon_sym_indirect] = ACTIONS(3467),
    [anon_sym_SEMI] = ACTIONS(3467),
    [anon_sym_init] = ACTIONS(3467),
    [anon_sym_deinit] = ACTIONS(3467),
    [anon_sym_subscript] = ACTIONS(3467),
    [anon_sym_prefix] = ACTIONS(3467),
    [anon_sym_infix] = ACTIONS(3467),
    [anon_sym_postfix] = ACTIONS(3467),
    [anon_sym_precedencegroup] = ACTIONS(3467),
    [anon_sym_associatedtype] = ACTIONS(3467),
    [anon_sym_AT] = ACTIONS(3465),
    [anon_sym_override] = ACTIONS(3467),
    [anon_sym_convenience] = ACTIONS(3467),
    [anon_sym_required] = ACTIONS(3467),
    [anon_sym_nonisolated] = ACTIONS(3467),
    [anon_sym_public] = ACTIONS(3467),
    [anon_sym_private] = ACTIONS(3467),
    [anon_sym_internal] = ACTIONS(3467),
    [anon_sym_fileprivate] = ACTIONS(3467),
    [anon_sym_open] = ACTIONS(3467),
    [anon_sym_mutating] = ACTIONS(3467),
    [anon_sym_nonmutating] = ACTIONS(3467),
    [anon_sym_static] = ACTIONS(3467),
    [anon_sym_dynamic] = ACTIONS(3467),
    [anon_sym_optional] = ACTIONS(3467),
    [anon_sym_distributed] = ACTIONS(3467),
    [anon_sym_final] = ACTIONS(3467),
    [anon_sym_inout] = ACTIONS(3467),
    [anon_sym_ATescaping] = ACTIONS(3467),
    [anon_sym_ATautoclosure] = ACTIONS(3467),
    [anon_sym_weak] = ACTIONS(3467),
    [anon_sym_unowned] = ACTIONS(3465),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3467),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3467),
    [anon_sym_borrowing] = ACTIONS(3467),
    [anon_sym_consuming] = ACTIONS(3467),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3467),
    [sym__conjunction_operator_custom] = ACTIONS(3467),
    [sym__disjunction_operator_custom] = ACTIONS(3467),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3467),
    [sym__eq_custom] = ACTIONS(3467),
    [sym__eq_eq_custom] = ACTIONS(3467),
    [sym__plus_then_ws] = ACTIONS(3467),
    [sym__minus_then_ws] = ACTIONS(3467),
    [sym__bang_custom] = ACTIONS(3467),
    [sym__as_custom] = ACTIONS(3467),
    [sym__as_quest_custom] = ACTIONS(3467),
    [sym__as_bang_custom] = ACTIONS(3467),
    [sym__custom_operator] = ACTIONS(3467),
  },
  [921] = {
    [anon_sym_BANG] = ACTIONS(3469),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3471),
    [anon_sym_async] = ACTIONS(3471),
    [anon_sym_lazy] = ACTIONS(3471),
    [anon_sym_package] = ACTIONS(3471),
    [anon_sym_RPAREN] = ACTIONS(3471),
    [anon_sym_COMMA] = ACTIONS(3471),
    [anon_sym_COLON] = ACTIONS(3471),
    [anon_sym_LPAREN] = ACTIONS(3471),
    [anon_sym_LBRACK] = ACTIONS(3471),
    [anon_sym_RBRACK] = ACTIONS(3471),
    [anon_sym_QMARK] = ACTIONS(3469),
    [anon_sym_QMARK2] = ACTIONS(3471),
    [anon_sym_AMP] = ACTIONS(3471),
    [aux_sym_custom_operator_token1] = ACTIONS(3471),
    [anon_sym_LT] = ACTIONS(3469),
    [anon_sym_GT] = ACTIONS(3469),
    [anon_sym_LBRACE] = ACTIONS(3471),
    [anon_sym_CARET_LBRACE] = ACTIONS(3471),
    [anon_sym_RBRACE] = ACTIONS(3471),
    [anon_sym_case] = ACTIONS(3471),
    [anon_sym_PLUS_EQ] = ACTIONS(3471),
    [anon_sym_DASH_EQ] = ACTIONS(3471),
    [anon_sym_STAR_EQ] = ACTIONS(3471),
    [anon_sym_SLASH_EQ] = ACTIONS(3471),
    [anon_sym_PERCENT_EQ] = ACTIONS(3471),
    [anon_sym_BANG_EQ] = ACTIONS(3469),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3471),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3471),
    [anon_sym_LT_EQ] = ACTIONS(3471),
    [anon_sym_GT_EQ] = ACTIONS(3471),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3471),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3471),
    [anon_sym_is] = ACTIONS(3471),
    [anon_sym_PLUS] = ACTIONS(3469),
    [anon_sym_DASH] = ACTIONS(3469),
    [anon_sym_STAR] = ACTIONS(3469),
    [anon_sym_SLASH] = ACTIONS(3469),
    [anon_sym_PERCENT] = ACTIONS(3469),
    [anon_sym_PLUS_PLUS] = ACTIONS(3471),
    [anon_sym_DASH_DASH] = ACTIONS(3471),
    [anon_sym_PIPE] = ACTIONS(3471),
    [anon_sym_CARET] = ACTIONS(3469),
    [anon_sym_LT_LT] = ACTIONS(3471),
    [anon_sym_GT_GT] = ACTIONS(3471),
    [anon_sym_import] = ACTIONS(3471),
    [anon_sym_typealias] = ACTIONS(3471),
    [anon_sym_struct] = ACTIONS(3471),
    [anon_sym_class] = ACTIONS(3471),
    [anon_sym_enum] = ACTIONS(3471),
    [anon_sym_protocol] = ACTIONS(3471),
    [anon_sym_let] = ACTIONS(3471),
    [anon_sym_var] = ACTIONS(3471),
    [anon_sym_func] = ACTIONS(3471),
    [anon_sym_extension] = ACTIONS(3471),
    [anon_sym_indirect] = ACTIONS(3471),
    [anon_sym_SEMI] = ACTIONS(3471),
    [anon_sym_init] = ACTIONS(3471),
    [anon_sym_deinit] = ACTIONS(3471),
    [anon_sym_subscript] = ACTIONS(3471),
    [anon_sym_prefix] = ACTIONS(3471),
    [anon_sym_infix] = ACTIONS(3471),
    [anon_sym_postfix] = ACTIONS(3471),
    [anon_sym_precedencegroup] = ACTIONS(3471),
    [anon_sym_associatedtype] = ACTIONS(3471),
    [anon_sym_AT] = ACTIONS(3469),
    [anon_sym_override] = ACTIONS(3471),
    [anon_sym_convenience] = ACTIONS(3471),
    [anon_sym_required] = ACTIONS(3471),
    [anon_sym_nonisolated] = ACTIONS(3471),
    [anon_sym_public] = ACTIONS(3471),
    [anon_sym_private] = ACTIONS(3471),
    [anon_sym_internal] = ACTIONS(3471),
    [anon_sym_fileprivate] = ACTIONS(3471),
    [anon_sym_open] = ACTIONS(3471),
    [anon_sym_mutating] = ACTIONS(3471),
    [anon_sym_nonmutating] = ACTIONS(3471),
    [anon_sym_static] = ACTIONS(3471),
    [anon_sym_dynamic] = ACTIONS(3471),
    [anon_sym_optional] = ACTIONS(3471),
    [anon_sym_distributed] = ACTIONS(3471),
    [anon_sym_final] = ACTIONS(3471),
    [anon_sym_inout] = ACTIONS(3471),
    [anon_sym_ATescaping] = ACTIONS(3471),
    [anon_sym_ATautoclosure] = ACTIONS(3471),
    [anon_sym_weak] = ACTIONS(3471),
    [anon_sym_unowned] = ACTIONS(3469),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3471),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3471),
    [anon_sym_borrowing] = ACTIONS(3471),
    [anon_sym_consuming] = ACTIONS(3471),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3471),
    [sym__conjunction_operator_custom] = ACTIONS(3471),
    [sym__disjunction_operator_custom] = ACTIONS(3471),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3471),
    [sym__eq_custom] = ACTIONS(3471),
    [sym__eq_eq_custom] = ACTIONS(3471),
    [sym__plus_then_ws] = ACTIONS(3471),
    [sym__minus_then_ws] = ACTIONS(3471),
    [sym__bang_custom] = ACTIONS(3471),
    [sym__as_custom] = ACTIONS(3471),
    [sym__as_quest_custom] = ACTIONS(3471),
    [sym__as_bang_custom] = ACTIONS(3471),
    [sym__custom_operator] = ACTIONS(3471),
  },
  [922] = {
    [anon_sym_BANG] = ACTIONS(3473),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3475),
    [anon_sym_async] = ACTIONS(3475),
    [anon_sym_lazy] = ACTIONS(3475),
    [anon_sym_package] = ACTIONS(3475),
    [anon_sym_RPAREN] = ACTIONS(3475),
    [anon_sym_COMMA] = ACTIONS(3475),
    [anon_sym_COLON] = ACTIONS(3475),
    [anon_sym_LPAREN] = ACTIONS(3475),
    [anon_sym_LBRACK] = ACTIONS(3475),
    [anon_sym_RBRACK] = ACTIONS(3475),
    [anon_sym_QMARK] = ACTIONS(3473),
    [anon_sym_QMARK2] = ACTIONS(3475),
    [anon_sym_AMP] = ACTIONS(3475),
    [aux_sym_custom_operator_token1] = ACTIONS(3475),
    [anon_sym_LT] = ACTIONS(3473),
    [anon_sym_GT] = ACTIONS(3473),
    [anon_sym_LBRACE] = ACTIONS(3475),
    [anon_sym_CARET_LBRACE] = ACTIONS(3475),
    [anon_sym_RBRACE] = ACTIONS(3475),
    [anon_sym_case] = ACTIONS(3475),
    [anon_sym_PLUS_EQ] = ACTIONS(3475),
    [anon_sym_DASH_EQ] = ACTIONS(3475),
    [anon_sym_STAR_EQ] = ACTIONS(3475),
    [anon_sym_SLASH_EQ] = ACTIONS(3475),
    [anon_sym_PERCENT_EQ] = ACTIONS(3475),
    [anon_sym_BANG_EQ] = ACTIONS(3473),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3475),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3475),
    [anon_sym_LT_EQ] = ACTIONS(3475),
    [anon_sym_GT_EQ] = ACTIONS(3475),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3475),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3475),
    [anon_sym_is] = ACTIONS(3475),
    [anon_sym_PLUS] = ACTIONS(3473),
    [anon_sym_DASH] = ACTIONS(3473),
    [anon_sym_STAR] = ACTIONS(3473),
    [anon_sym_SLASH] = ACTIONS(3473),
    [anon_sym_PERCENT] = ACTIONS(3473),
    [anon_sym_PLUS_PLUS] = ACTIONS(3475),
    [anon_sym_DASH_DASH] = ACTIONS(3475),
    [anon_sym_PIPE] = ACTIONS(3475),
    [anon_sym_CARET] = ACTIONS(3473),
    [anon_sym_LT_LT] = ACTIONS(3475),
    [anon_sym_GT_GT] = ACTIONS(3475),
    [anon_sym_import] = ACTIONS(3475),
    [anon_sym_typealias] = ACTIONS(3475),
    [anon_sym_struct] = ACTIONS(3475),
    [anon_sym_class] = ACTIONS(3475),
    [anon_sym_enum] = ACTIONS(3475),
    [anon_sym_protocol] = ACTIONS(3475),
    [anon_sym_let] = ACTIONS(3475),
    [anon_sym_var] = ACTIONS(3475),
    [anon_sym_func] = ACTIONS(3475),
    [anon_sym_extension] = ACTIONS(3475),
    [anon_sym_indirect] = ACTIONS(3475),
    [anon_sym_SEMI] = ACTIONS(3475),
    [anon_sym_init] = ACTIONS(3475),
    [anon_sym_deinit] = ACTIONS(3475),
    [anon_sym_subscript] = ACTIONS(3475),
    [anon_sym_prefix] = ACTIONS(3475),
    [anon_sym_infix] = ACTIONS(3475),
    [anon_sym_postfix] = ACTIONS(3475),
    [anon_sym_precedencegroup] = ACTIONS(3475),
    [anon_sym_associatedtype] = ACTIONS(3475),
    [anon_sym_AT] = ACTIONS(3473),
    [anon_sym_override] = ACTIONS(3475),
    [anon_sym_convenience] = ACTIONS(3475),
    [anon_sym_required] = ACTIONS(3475),
    [anon_sym_nonisolated] = ACTIONS(3475),
    [anon_sym_public] = ACTIONS(3475),
    [anon_sym_private] = ACTIONS(3475),
    [anon_sym_internal] = ACTIONS(3475),
    [anon_sym_fileprivate] = ACTIONS(3475),
    [anon_sym_open] = ACTIONS(3475),
    [anon_sym_mutating] = ACTIONS(3475),
    [anon_sym_nonmutating] = ACTIONS(3475),
    [anon_sym_static] = ACTIONS(3475),
    [anon_sym_dynamic] = ACTIONS(3475),
    [anon_sym_optional] = ACTIONS(3475),
    [anon_sym_distributed] = ACTIONS(3475),
    [anon_sym_final] = ACTIONS(3475),
    [anon_sym_inout] = ACTIONS(3475),
    [anon_sym_ATescaping] = ACTIONS(3475),
    [anon_sym_ATautoclosure] = ACTIONS(3475),
    [anon_sym_weak] = ACTIONS(3475),
    [anon_sym_unowned] = ACTIONS(3473),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3475),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3475),
    [anon_sym_borrowing] = ACTIONS(3475),
    [anon_sym_consuming] = ACTIONS(3475),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3475),
    [sym__conjunction_operator_custom] = ACTIONS(3475),
    [sym__disjunction_operator_custom] = ACTIONS(3475),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3475),
    [sym__eq_custom] = ACTIONS(3475),
    [sym__eq_eq_custom] = ACTIONS(3475),
    [sym__plus_then_ws] = ACTIONS(3475),
    [sym__minus_then_ws] = ACTIONS(3475),
    [sym__bang_custom] = ACTIONS(3475),
    [sym__as_custom] = ACTIONS(3475),
    [sym__as_quest_custom] = ACTIONS(3475),
    [sym__as_bang_custom] = ACTIONS(3475),
    [sym__custom_operator] = ACTIONS(3475),
  },
  [923] = {
    [anon_sym_BANG] = ACTIONS(3293),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3295),
    [anon_sym_async] = ACTIONS(3295),
    [anon_sym_lazy] = ACTIONS(3295),
    [anon_sym_package] = ACTIONS(3295),
    [anon_sym_RPAREN] = ACTIONS(3295),
    [anon_sym_COMMA] = ACTIONS(3295),
    [anon_sym_COLON] = ACTIONS(3295),
    [anon_sym_LPAREN] = ACTIONS(3295),
    [anon_sym_LBRACK] = ACTIONS(3295),
    [anon_sym_RBRACK] = ACTIONS(3295),
    [anon_sym_QMARK] = ACTIONS(3293),
    [anon_sym_QMARK2] = ACTIONS(3295),
    [anon_sym_AMP] = ACTIONS(3295),
    [aux_sym_custom_operator_token1] = ACTIONS(3295),
    [anon_sym_LT] = ACTIONS(3293),
    [anon_sym_GT] = ACTIONS(3293),
    [anon_sym_LBRACE] = ACTIONS(3295),
    [anon_sym_CARET_LBRACE] = ACTIONS(3295),
    [anon_sym_RBRACE] = ACTIONS(3295),
    [anon_sym_case] = ACTIONS(3295),
    [anon_sym_PLUS_EQ] = ACTIONS(3295),
    [anon_sym_DASH_EQ] = ACTIONS(3295),
    [anon_sym_STAR_EQ] = ACTIONS(3295),
    [anon_sym_SLASH_EQ] = ACTIONS(3295),
    [anon_sym_PERCENT_EQ] = ACTIONS(3295),
    [anon_sym_BANG_EQ] = ACTIONS(3293),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3295),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3295),
    [anon_sym_LT_EQ] = ACTIONS(3295),
    [anon_sym_GT_EQ] = ACTIONS(3295),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3295),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3295),
    [anon_sym_is] = ACTIONS(3295),
    [anon_sym_PLUS] = ACTIONS(3293),
    [anon_sym_DASH] = ACTIONS(3293),
    [anon_sym_STAR] = ACTIONS(3293),
    [anon_sym_SLASH] = ACTIONS(3293),
    [anon_sym_PERCENT] = ACTIONS(3293),
    [anon_sym_PLUS_PLUS] = ACTIONS(3295),
    [anon_sym_DASH_DASH] = ACTIONS(3295),
    [anon_sym_PIPE] = ACTIONS(3295),
    [anon_sym_CARET] = ACTIONS(3293),
    [anon_sym_LT_LT] = ACTIONS(3295),
    [anon_sym_GT_GT] = ACTIONS(3295),
    [anon_sym_import] = ACTIONS(3295),
    [anon_sym_typealias] = ACTIONS(3295),
    [anon_sym_struct] = ACTIONS(3295),
    [anon_sym_class] = ACTIONS(3295),
    [anon_sym_enum] = ACTIONS(3295),
    [anon_sym_protocol] = ACTIONS(3295),
    [anon_sym_let] = ACTIONS(3295),
    [anon_sym_var] = ACTIONS(3295),
    [anon_sym_func] = ACTIONS(3295),
    [anon_sym_extension] = ACTIONS(3295),
    [anon_sym_indirect] = ACTIONS(3295),
    [anon_sym_SEMI] = ACTIONS(3295),
    [anon_sym_init] = ACTIONS(3295),
    [anon_sym_deinit] = ACTIONS(3295),
    [anon_sym_subscript] = ACTIONS(3295),
    [anon_sym_prefix] = ACTIONS(3295),
    [anon_sym_infix] = ACTIONS(3295),
    [anon_sym_postfix] = ACTIONS(3295),
    [anon_sym_precedencegroup] = ACTIONS(3295),
    [anon_sym_associatedtype] = ACTIONS(3295),
    [anon_sym_AT] = ACTIONS(3293),
    [anon_sym_override] = ACTIONS(3295),
    [anon_sym_convenience] = ACTIONS(3295),
    [anon_sym_required] = ACTIONS(3295),
    [anon_sym_nonisolated] = ACTIONS(3295),
    [anon_sym_public] = ACTIONS(3295),
    [anon_sym_private] = ACTIONS(3295),
    [anon_sym_internal] = ACTIONS(3295),
    [anon_sym_fileprivate] = ACTIONS(3295),
    [anon_sym_open] = ACTIONS(3295),
    [anon_sym_mutating] = ACTIONS(3295),
    [anon_sym_nonmutating] = ACTIONS(3295),
    [anon_sym_static] = ACTIONS(3295),
    [anon_sym_dynamic] = ACTIONS(3295),
    [anon_sym_optional] = ACTIONS(3295),
    [anon_sym_distributed] = ACTIONS(3295),
    [anon_sym_final] = ACTIONS(3295),
    [anon_sym_inout] = ACTIONS(3295),
    [anon_sym_ATescaping] = ACTIONS(3295),
    [anon_sym_ATautoclosure] = ACTIONS(3295),
    [anon_sym_weak] = ACTIONS(3295),
    [anon_sym_unowned] = ACTIONS(3293),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3295),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3295),
    [anon_sym_borrowing] = ACTIONS(3295),
    [anon_sym_consuming] = ACTIONS(3295),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3295),
    [sym__conjunction_operator_custom] = ACTIONS(3295),
    [sym__disjunction_operator_custom] = ACTIONS(3295),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3295),
    [sym__eq_custom] = ACTIONS(3295),
    [sym__eq_eq_custom] = ACTIONS(3295),
    [sym__plus_then_ws] = ACTIONS(3295),
    [sym__minus_then_ws] = ACTIONS(3295),
    [sym__bang_custom] = ACTIONS(3295),
    [sym__as_custom] = ACTIONS(3295),
    [sym__as_quest_custom] = ACTIONS(3295),
    [sym__as_bang_custom] = ACTIONS(3295),
    [sym__custom_operator] = ACTIONS(3295),
  },
  [924] = {
    [anon_sym_BANG] = ACTIONS(3477),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3479),
    [anon_sym_async] = ACTIONS(3479),
    [anon_sym_lazy] = ACTIONS(3479),
    [anon_sym_package] = ACTIONS(3479),
    [anon_sym_RPAREN] = ACTIONS(3479),
    [anon_sym_COMMA] = ACTIONS(3479),
    [anon_sym_COLON] = ACTIONS(3479),
    [anon_sym_LPAREN] = ACTIONS(3479),
    [anon_sym_LBRACK] = ACTIONS(3479),
    [anon_sym_RBRACK] = ACTIONS(3479),
    [anon_sym_QMARK] = ACTIONS(3477),
    [anon_sym_QMARK2] = ACTIONS(3479),
    [anon_sym_AMP] = ACTIONS(3479),
    [aux_sym_custom_operator_token1] = ACTIONS(3479),
    [anon_sym_LT] = ACTIONS(3477),
    [anon_sym_GT] = ACTIONS(3477),
    [anon_sym_LBRACE] = ACTIONS(3479),
    [anon_sym_CARET_LBRACE] = ACTIONS(3479),
    [anon_sym_RBRACE] = ACTIONS(3479),
    [anon_sym_case] = ACTIONS(3479),
    [anon_sym_PLUS_EQ] = ACTIONS(3479),
    [anon_sym_DASH_EQ] = ACTIONS(3479),
    [anon_sym_STAR_EQ] = ACTIONS(3479),
    [anon_sym_SLASH_EQ] = ACTIONS(3479),
    [anon_sym_PERCENT_EQ] = ACTIONS(3479),
    [anon_sym_BANG_EQ] = ACTIONS(3477),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3479),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3479),
    [anon_sym_LT_EQ] = ACTIONS(3479),
    [anon_sym_GT_EQ] = ACTIONS(3479),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3479),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3479),
    [anon_sym_is] = ACTIONS(3479),
    [anon_sym_PLUS] = ACTIONS(3477),
    [anon_sym_DASH] = ACTIONS(3477),
    [anon_sym_STAR] = ACTIONS(3477),
    [anon_sym_SLASH] = ACTIONS(3477),
    [anon_sym_PERCENT] = ACTIONS(3477),
    [anon_sym_PLUS_PLUS] = ACTIONS(3479),
    [anon_sym_DASH_DASH] = ACTIONS(3479),
    [anon_sym_PIPE] = ACTIONS(3479),
    [anon_sym_CARET] = ACTIONS(3477),
    [anon_sym_LT_LT] = ACTIONS(3479),
    [anon_sym_GT_GT] = ACTIONS(3479),
    [anon_sym_import] = ACTIONS(3479),
    [anon_sym_typealias] = ACTIONS(3479),
    [anon_sym_struct] = ACTIONS(3479),
    [anon_sym_class] = ACTIONS(3479),
    [anon_sym_enum] = ACTIONS(3479),
    [anon_sym_protocol] = ACTIONS(3479),
    [anon_sym_let] = ACTIONS(3479),
    [anon_sym_var] = ACTIONS(3479),
    [anon_sym_func] = ACTIONS(3479),
    [anon_sym_extension] = ACTIONS(3479),
    [anon_sym_indirect] = ACTIONS(3479),
    [anon_sym_SEMI] = ACTIONS(3479),
    [anon_sym_init] = ACTIONS(3479),
    [anon_sym_deinit] = ACTIONS(3479),
    [anon_sym_subscript] = ACTIONS(3479),
    [anon_sym_prefix] = ACTIONS(3479),
    [anon_sym_infix] = ACTIONS(3479),
    [anon_sym_postfix] = ACTIONS(3479),
    [anon_sym_precedencegroup] = ACTIONS(3479),
    [anon_sym_associatedtype] = ACTIONS(3479),
    [anon_sym_AT] = ACTIONS(3477),
    [anon_sym_override] = ACTIONS(3479),
    [anon_sym_convenience] = ACTIONS(3479),
    [anon_sym_required] = ACTIONS(3479),
    [anon_sym_nonisolated] = ACTIONS(3479),
    [anon_sym_public] = ACTIONS(3479),
    [anon_sym_private] = ACTIONS(3479),
    [anon_sym_internal] = ACTIONS(3479),
    [anon_sym_fileprivate] = ACTIONS(3479),
    [anon_sym_open] = ACTIONS(3479),
    [anon_sym_mutating] = ACTIONS(3479),
    [anon_sym_nonmutating] = ACTIONS(3479),
    [anon_sym_static] = ACTIONS(3479),
    [anon_sym_dynamic] = ACTIONS(3479),
    [anon_sym_optional] = ACTIONS(3479),
    [anon_sym_distributed] = ACTIONS(3479),
    [anon_sym_final] = ACTIONS(3479),
    [anon_sym_inout] = ACTIONS(3479),
    [anon_sym_ATescaping] = ACTIONS(3479),
    [anon_sym_ATautoclosure] = ACTIONS(3479),
    [anon_sym_weak] = ACTIONS(3479),
    [anon_sym_unowned] = ACTIONS(3477),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3479),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3479),
    [anon_sym_borrowing] = ACTIONS(3479),
    [anon_sym_consuming] = ACTIONS(3479),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3479),
    [sym__conjunction_operator_custom] = ACTIONS(3479),
    [sym__disjunction_operator_custom] = ACTIONS(3479),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3479),
    [sym__eq_custom] = ACTIONS(3479),
    [sym__eq_eq_custom] = ACTIONS(3479),
    [sym__plus_then_ws] = ACTIONS(3479),
    [sym__minus_then_ws] = ACTIONS(3479),
    [sym__bang_custom] = ACTIONS(3479),
    [sym__as_custom] = ACTIONS(3479),
    [sym__as_quest_custom] = ACTIONS(3479),
    [sym__as_bang_custom] = ACTIONS(3479),
    [sym__custom_operator] = ACTIONS(3479),
  },
  [925] = {
    [anon_sym_BANG] = ACTIONS(3481),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3483),
    [anon_sym_async] = ACTIONS(3483),
    [anon_sym_lazy] = ACTIONS(3483),
    [anon_sym_package] = ACTIONS(3483),
    [anon_sym_RPAREN] = ACTIONS(3483),
    [anon_sym_COMMA] = ACTIONS(3483),
    [anon_sym_COLON] = ACTIONS(3483),
    [anon_sym_LPAREN] = ACTIONS(3483),
    [anon_sym_LBRACK] = ACTIONS(3483),
    [anon_sym_RBRACK] = ACTIONS(3483),
    [anon_sym_QMARK] = ACTIONS(3481),
    [anon_sym_QMARK2] = ACTIONS(3483),
    [anon_sym_AMP] = ACTIONS(3483),
    [aux_sym_custom_operator_token1] = ACTIONS(3483),
    [anon_sym_LT] = ACTIONS(3481),
    [anon_sym_GT] = ACTIONS(3481),
    [anon_sym_LBRACE] = ACTIONS(3483),
    [anon_sym_CARET_LBRACE] = ACTIONS(3483),
    [anon_sym_RBRACE] = ACTIONS(3483),
    [anon_sym_case] = ACTIONS(3483),
    [anon_sym_PLUS_EQ] = ACTIONS(3483),
    [anon_sym_DASH_EQ] = ACTIONS(3483),
    [anon_sym_STAR_EQ] = ACTIONS(3483),
    [anon_sym_SLASH_EQ] = ACTIONS(3483),
    [anon_sym_PERCENT_EQ] = ACTIONS(3483),
    [anon_sym_BANG_EQ] = ACTIONS(3481),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3483),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3483),
    [anon_sym_LT_EQ] = ACTIONS(3483),
    [anon_sym_GT_EQ] = ACTIONS(3483),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3483),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3483),
    [anon_sym_is] = ACTIONS(3483),
    [anon_sym_PLUS] = ACTIONS(3481),
    [anon_sym_DASH] = ACTIONS(3481),
    [anon_sym_STAR] = ACTIONS(3481),
    [anon_sym_SLASH] = ACTIONS(3481),
    [anon_sym_PERCENT] = ACTIONS(3481),
    [anon_sym_PLUS_PLUS] = ACTIONS(3483),
    [anon_sym_DASH_DASH] = ACTIONS(3483),
    [anon_sym_PIPE] = ACTIONS(3483),
    [anon_sym_CARET] = ACTIONS(3481),
    [anon_sym_LT_LT] = ACTIONS(3483),
    [anon_sym_GT_GT] = ACTIONS(3483),
    [anon_sym_import] = ACTIONS(3483),
    [anon_sym_typealias] = ACTIONS(3483),
    [anon_sym_struct] = ACTIONS(3483),
    [anon_sym_class] = ACTIONS(3483),
    [anon_sym_enum] = ACTIONS(3483),
    [anon_sym_protocol] = ACTIONS(3483),
    [anon_sym_let] = ACTIONS(3483),
    [anon_sym_var] = ACTIONS(3483),
    [anon_sym_func] = ACTIONS(3483),
    [anon_sym_extension] = ACTIONS(3483),
    [anon_sym_indirect] = ACTIONS(3483),
    [anon_sym_SEMI] = ACTIONS(3483),
    [anon_sym_init] = ACTIONS(3483),
    [anon_sym_deinit] = ACTIONS(3483),
    [anon_sym_subscript] = ACTIONS(3483),
    [anon_sym_prefix] = ACTIONS(3483),
    [anon_sym_infix] = ACTIONS(3483),
    [anon_sym_postfix] = ACTIONS(3483),
    [anon_sym_precedencegroup] = ACTIONS(3483),
    [anon_sym_associatedtype] = ACTIONS(3483),
    [anon_sym_AT] = ACTIONS(3481),
    [anon_sym_override] = ACTIONS(3483),
    [anon_sym_convenience] = ACTIONS(3483),
    [anon_sym_required] = ACTIONS(3483),
    [anon_sym_nonisolated] = ACTIONS(3483),
    [anon_sym_public] = ACTIONS(3483),
    [anon_sym_private] = ACTIONS(3483),
    [anon_sym_internal] = ACTIONS(3483),
    [anon_sym_fileprivate] = ACTIONS(3483),
    [anon_sym_open] = ACTIONS(3483),
    [anon_sym_mutating] = ACTIONS(3483),
    [anon_sym_nonmutating] = ACTIONS(3483),
    [anon_sym_static] = ACTIONS(3483),
    [anon_sym_dynamic] = ACTIONS(3483),
    [anon_sym_optional] = ACTIONS(3483),
    [anon_sym_distributed] = ACTIONS(3483),
    [anon_sym_final] = ACTIONS(3483),
    [anon_sym_inout] = ACTIONS(3483),
    [anon_sym_ATescaping] = ACTIONS(3483),
    [anon_sym_ATautoclosure] = ACTIONS(3483),
    [anon_sym_weak] = ACTIONS(3483),
    [anon_sym_unowned] = ACTIONS(3481),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3483),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3483),
    [anon_sym_borrowing] = ACTIONS(3483),
    [anon_sym_consuming] = ACTIONS(3483),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3483),
    [sym__conjunction_operator_custom] = ACTIONS(3483),
    [sym__disjunction_operator_custom] = ACTIONS(3483),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3483),
    [sym__eq_custom] = ACTIONS(3483),
    [sym__eq_eq_custom] = ACTIONS(3483),
    [sym__plus_then_ws] = ACTIONS(3483),
    [sym__minus_then_ws] = ACTIONS(3483),
    [sym__bang_custom] = ACTIONS(3483),
    [sym__as_custom] = ACTIONS(3483),
    [sym__as_quest_custom] = ACTIONS(3483),
    [sym__as_bang_custom] = ACTIONS(3483),
    [sym__custom_operator] = ACTIONS(3483),
  },
  [926] = {
    [anon_sym_BANG] = ACTIONS(3485),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3487),
    [anon_sym_async] = ACTIONS(3487),
    [anon_sym_lazy] = ACTIONS(3487),
    [anon_sym_package] = ACTIONS(3487),
    [anon_sym_RPAREN] = ACTIONS(3487),
    [anon_sym_COMMA] = ACTIONS(3487),
    [anon_sym_COLON] = ACTIONS(3487),
    [anon_sym_LPAREN] = ACTIONS(3487),
    [anon_sym_LBRACK] = ACTIONS(3487),
    [anon_sym_RBRACK] = ACTIONS(3487),
    [anon_sym_QMARK] = ACTIONS(3485),
    [anon_sym_QMARK2] = ACTIONS(3487),
    [anon_sym_AMP] = ACTIONS(3487),
    [aux_sym_custom_operator_token1] = ACTIONS(3487),
    [anon_sym_LT] = ACTIONS(3485),
    [anon_sym_GT] = ACTIONS(3485),
    [anon_sym_LBRACE] = ACTIONS(3487),
    [anon_sym_CARET_LBRACE] = ACTIONS(3487),
    [anon_sym_RBRACE] = ACTIONS(3487),
    [anon_sym_case] = ACTIONS(3487),
    [anon_sym_PLUS_EQ] = ACTIONS(3487),
    [anon_sym_DASH_EQ] = ACTIONS(3487),
    [anon_sym_STAR_EQ] = ACTIONS(3487),
    [anon_sym_SLASH_EQ] = ACTIONS(3487),
    [anon_sym_PERCENT_EQ] = ACTIONS(3487),
    [anon_sym_BANG_EQ] = ACTIONS(3485),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3487),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3487),
    [anon_sym_LT_EQ] = ACTIONS(3487),
    [anon_sym_GT_EQ] = ACTIONS(3487),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3487),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3487),
    [anon_sym_is] = ACTIONS(3487),
    [anon_sym_PLUS] = ACTIONS(3485),
    [anon_sym_DASH] = ACTIONS(3485),
    [anon_sym_STAR] = ACTIONS(3485),
    [anon_sym_SLASH] = ACTIONS(3485),
    [anon_sym_PERCENT] = ACTIONS(3485),
    [anon_sym_PLUS_PLUS] = ACTIONS(3487),
    [anon_sym_DASH_DASH] = ACTIONS(3487),
    [anon_sym_PIPE] = ACTIONS(3487),
    [anon_sym_CARET] = ACTIONS(3485),
    [anon_sym_LT_LT] = ACTIONS(3487),
    [anon_sym_GT_GT] = ACTIONS(3487),
    [anon_sym_import] = ACTIONS(3487),
    [anon_sym_typealias] = ACTIONS(3487),
    [anon_sym_struct] = ACTIONS(3487),
    [anon_sym_class] = ACTIONS(3487),
    [anon_sym_enum] = ACTIONS(3487),
    [anon_sym_protocol] = ACTIONS(3487),
    [anon_sym_let] = ACTIONS(3487),
    [anon_sym_var] = ACTIONS(3487),
    [anon_sym_func] = ACTIONS(3487),
    [anon_sym_extension] = ACTIONS(3487),
    [anon_sym_indirect] = ACTIONS(3487),
    [anon_sym_SEMI] = ACTIONS(3487),
    [anon_sym_init] = ACTIONS(3487),
    [anon_sym_deinit] = ACTIONS(3487),
    [anon_sym_subscript] = ACTIONS(3487),
    [anon_sym_prefix] = ACTIONS(3487),
    [anon_sym_infix] = ACTIONS(3487),
    [anon_sym_postfix] = ACTIONS(3487),
    [anon_sym_precedencegroup] = ACTIONS(3487),
    [anon_sym_associatedtype] = ACTIONS(3487),
    [anon_sym_AT] = ACTIONS(3485),
    [anon_sym_override] = ACTIONS(3487),
    [anon_sym_convenience] = ACTIONS(3487),
    [anon_sym_required] = ACTIONS(3487),
    [anon_sym_nonisolated] = ACTIONS(3487),
    [anon_sym_public] = ACTIONS(3487),
    [anon_sym_private] = ACTIONS(3487),
    [anon_sym_internal] = ACTIONS(3487),
    [anon_sym_fileprivate] = ACTIONS(3487),
    [anon_sym_open] = ACTIONS(3487),
    [anon_sym_mutating] = ACTIONS(3487),
    [anon_sym_nonmutating] = ACTIONS(3487),
    [anon_sym_static] = ACTIONS(3487),
    [anon_sym_dynamic] = ACTIONS(3487),
    [anon_sym_optional] = ACTIONS(3487),
    [anon_sym_distributed] = ACTIONS(3487),
    [anon_sym_final] = ACTIONS(3487),
    [anon_sym_inout] = ACTIONS(3487),
    [anon_sym_ATescaping] = ACTIONS(3487),
    [anon_sym_ATautoclosure] = ACTIONS(3487),
    [anon_sym_weak] = ACTIONS(3487),
    [anon_sym_unowned] = ACTIONS(3485),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3487),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3487),
    [anon_sym_borrowing] = ACTIONS(3487),
    [anon_sym_consuming] = ACTIONS(3487),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3487),
    [sym__conjunction_operator_custom] = ACTIONS(3487),
    [sym__disjunction_operator_custom] = ACTIONS(3487),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3487),
    [sym__eq_custom] = ACTIONS(3487),
    [sym__eq_eq_custom] = ACTIONS(3487),
    [sym__plus_then_ws] = ACTIONS(3487),
    [sym__minus_then_ws] = ACTIONS(3487),
    [sym__bang_custom] = ACTIONS(3487),
    [sym__as_custom] = ACTIONS(3487),
    [sym__as_quest_custom] = ACTIONS(3487),
    [sym__as_bang_custom] = ACTIONS(3487),
    [sym__custom_operator] = ACTIONS(3487),
  },
  [927] = {
    [anon_sym_BANG] = ACTIONS(3489),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3491),
    [anon_sym_async] = ACTIONS(3491),
    [anon_sym_lazy] = ACTIONS(3491),
    [anon_sym_package] = ACTIONS(3491),
    [anon_sym_RPAREN] = ACTIONS(3491),
    [anon_sym_COMMA] = ACTIONS(3491),
    [anon_sym_COLON] = ACTIONS(3491),
    [anon_sym_LPAREN] = ACTIONS(3491),
    [anon_sym_LBRACK] = ACTIONS(3491),
    [anon_sym_RBRACK] = ACTIONS(3491),
    [anon_sym_QMARK] = ACTIONS(3489),
    [anon_sym_QMARK2] = ACTIONS(3491),
    [anon_sym_AMP] = ACTIONS(3491),
    [aux_sym_custom_operator_token1] = ACTIONS(3491),
    [anon_sym_LT] = ACTIONS(3489),
    [anon_sym_GT] = ACTIONS(3489),
    [anon_sym_LBRACE] = ACTIONS(3491),
    [anon_sym_CARET_LBRACE] = ACTIONS(3491),
    [anon_sym_RBRACE] = ACTIONS(3491),
    [anon_sym_case] = ACTIONS(3491),
    [anon_sym_PLUS_EQ] = ACTIONS(3491),
    [anon_sym_DASH_EQ] = ACTIONS(3491),
    [anon_sym_STAR_EQ] = ACTIONS(3491),
    [anon_sym_SLASH_EQ] = ACTIONS(3491),
    [anon_sym_PERCENT_EQ] = ACTIONS(3491),
    [anon_sym_BANG_EQ] = ACTIONS(3489),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3491),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3491),
    [anon_sym_LT_EQ] = ACTIONS(3491),
    [anon_sym_GT_EQ] = ACTIONS(3491),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3491),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3491),
    [anon_sym_is] = ACTIONS(3491),
    [anon_sym_PLUS] = ACTIONS(3489),
    [anon_sym_DASH] = ACTIONS(3489),
    [anon_sym_STAR] = ACTIONS(3489),
    [anon_sym_SLASH] = ACTIONS(3489),
    [anon_sym_PERCENT] = ACTIONS(3489),
    [anon_sym_PLUS_PLUS] = ACTIONS(3491),
    [anon_sym_DASH_DASH] = ACTIONS(3491),
    [anon_sym_PIPE] = ACTIONS(3491),
    [anon_sym_CARET] = ACTIONS(3489),
    [anon_sym_LT_LT] = ACTIONS(3491),
    [anon_sym_GT_GT] = ACTIONS(3491),
    [anon_sym_import] = ACTIONS(3491),
    [anon_sym_typealias] = ACTIONS(3491),
    [anon_sym_struct] = ACTIONS(3491),
    [anon_sym_class] = ACTIONS(3491),
    [anon_sym_enum] = ACTIONS(3491),
    [anon_sym_protocol] = ACTIONS(3491),
    [anon_sym_let] = ACTIONS(3491),
    [anon_sym_var] = ACTIONS(3491),
    [anon_sym_func] = ACTIONS(3491),
    [anon_sym_extension] = ACTIONS(3491),
    [anon_sym_indirect] = ACTIONS(3491),
    [anon_sym_SEMI] = ACTIONS(3491),
    [anon_sym_init] = ACTIONS(3491),
    [anon_sym_deinit] = ACTIONS(3491),
    [anon_sym_subscript] = ACTIONS(3491),
    [anon_sym_prefix] = ACTIONS(3491),
    [anon_sym_infix] = ACTIONS(3491),
    [anon_sym_postfix] = ACTIONS(3491),
    [anon_sym_precedencegroup] = ACTIONS(3491),
    [anon_sym_associatedtype] = ACTIONS(3491),
    [anon_sym_AT] = ACTIONS(3489),
    [anon_sym_override] = ACTIONS(3491),
    [anon_sym_convenience] = ACTIONS(3491),
    [anon_sym_required] = ACTIONS(3491),
    [anon_sym_nonisolated] = ACTIONS(3491),
    [anon_sym_public] = ACTIONS(3491),
    [anon_sym_private] = ACTIONS(3491),
    [anon_sym_internal] = ACTIONS(3491),
    [anon_sym_fileprivate] = ACTIONS(3491),
    [anon_sym_open] = ACTIONS(3491),
    [anon_sym_mutating] = ACTIONS(3491),
    [anon_sym_nonmutating] = ACTIONS(3491),
    [anon_sym_static] = ACTIONS(3491),
    [anon_sym_dynamic] = ACTIONS(3491),
    [anon_sym_optional] = ACTIONS(3491),
    [anon_sym_distributed] = ACTIONS(3491),
    [anon_sym_final] = ACTIONS(3491),
    [anon_sym_inout] = ACTIONS(3491),
    [anon_sym_ATescaping] = ACTIONS(3491),
    [anon_sym_ATautoclosure] = ACTIONS(3491),
    [anon_sym_weak] = ACTIONS(3491),
    [anon_sym_unowned] = ACTIONS(3489),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3491),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3491),
    [anon_sym_borrowing] = ACTIONS(3491),
    [anon_sym_consuming] = ACTIONS(3491),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3491),
    [sym__conjunction_operator_custom] = ACTIONS(3491),
    [sym__disjunction_operator_custom] = ACTIONS(3491),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3491),
    [sym__eq_custom] = ACTIONS(3491),
    [sym__eq_eq_custom] = ACTIONS(3491),
    [sym__plus_then_ws] = ACTIONS(3491),
    [sym__minus_then_ws] = ACTIONS(3491),
    [sym__bang_custom] = ACTIONS(3491),
    [sym__as_custom] = ACTIONS(3491),
    [sym__as_quest_custom] = ACTIONS(3491),
    [sym__as_bang_custom] = ACTIONS(3491),
    [sym__custom_operator] = ACTIONS(3491),
  },
  [928] = {
    [anon_sym_BANG] = ACTIONS(3493),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3495),
    [anon_sym_async] = ACTIONS(3495),
    [anon_sym_lazy] = ACTIONS(3495),
    [anon_sym_package] = ACTIONS(3495),
    [anon_sym_RPAREN] = ACTIONS(3495),
    [anon_sym_COMMA] = ACTIONS(3495),
    [anon_sym_COLON] = ACTIONS(3495),
    [anon_sym_LPAREN] = ACTIONS(3495),
    [anon_sym_LBRACK] = ACTIONS(3495),
    [anon_sym_RBRACK] = ACTIONS(3495),
    [anon_sym_QMARK] = ACTIONS(3493),
    [anon_sym_QMARK2] = ACTIONS(3495),
    [anon_sym_AMP] = ACTIONS(3495),
    [aux_sym_custom_operator_token1] = ACTIONS(3495),
    [anon_sym_LT] = ACTIONS(3493),
    [anon_sym_GT] = ACTIONS(3493),
    [anon_sym_LBRACE] = ACTIONS(3495),
    [anon_sym_CARET_LBRACE] = ACTIONS(3495),
    [anon_sym_RBRACE] = ACTIONS(3495),
    [anon_sym_case] = ACTIONS(3495),
    [anon_sym_PLUS_EQ] = ACTIONS(3495),
    [anon_sym_DASH_EQ] = ACTIONS(3495),
    [anon_sym_STAR_EQ] = ACTIONS(3495),
    [anon_sym_SLASH_EQ] = ACTIONS(3495),
    [anon_sym_PERCENT_EQ] = ACTIONS(3495),
    [anon_sym_BANG_EQ] = ACTIONS(3493),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3495),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3495),
    [anon_sym_LT_EQ] = ACTIONS(3495),
    [anon_sym_GT_EQ] = ACTIONS(3495),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3495),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3495),
    [anon_sym_is] = ACTIONS(3495),
    [anon_sym_PLUS] = ACTIONS(3493),
    [anon_sym_DASH] = ACTIONS(3493),
    [anon_sym_STAR] = ACTIONS(3493),
    [anon_sym_SLASH] = ACTIONS(3493),
    [anon_sym_PERCENT] = ACTIONS(3493),
    [anon_sym_PLUS_PLUS] = ACTIONS(3495),
    [anon_sym_DASH_DASH] = ACTIONS(3495),
    [anon_sym_PIPE] = ACTIONS(3495),
    [anon_sym_CARET] = ACTIONS(3493),
    [anon_sym_LT_LT] = ACTIONS(3495),
    [anon_sym_GT_GT] = ACTIONS(3495),
    [anon_sym_import] = ACTIONS(3495),
    [anon_sym_typealias] = ACTIONS(3495),
    [anon_sym_struct] = ACTIONS(3495),
    [anon_sym_class] = ACTIONS(3495),
    [anon_sym_enum] = ACTIONS(3495),
    [anon_sym_protocol] = ACTIONS(3495),
    [anon_sym_let] = ACTIONS(3495),
    [anon_sym_var] = ACTIONS(3495),
    [anon_sym_func] = ACTIONS(3495),
    [anon_sym_extension] = ACTIONS(3495),
    [anon_sym_indirect] = ACTIONS(3495),
    [anon_sym_SEMI] = ACTIONS(3495),
    [anon_sym_init] = ACTIONS(3495),
    [anon_sym_deinit] = ACTIONS(3495),
    [anon_sym_subscript] = ACTIONS(3495),
    [anon_sym_prefix] = ACTIONS(3495),
    [anon_sym_infix] = ACTIONS(3495),
    [anon_sym_postfix] = ACTIONS(3495),
    [anon_sym_precedencegroup] = ACTIONS(3495),
    [anon_sym_associatedtype] = ACTIONS(3495),
    [anon_sym_AT] = ACTIONS(3493),
    [anon_sym_override] = ACTIONS(3495),
    [anon_sym_convenience] = ACTIONS(3495),
    [anon_sym_required] = ACTIONS(3495),
    [anon_sym_nonisolated] = ACTIONS(3495),
    [anon_sym_public] = ACTIONS(3495),
    [anon_sym_private] = ACTIONS(3495),
    [anon_sym_internal] = ACTIONS(3495),
    [anon_sym_fileprivate] = ACTIONS(3495),
    [anon_sym_open] = ACTIONS(3495),
    [anon_sym_mutating] = ACTIONS(3495),
    [anon_sym_nonmutating] = ACTIONS(3495),
    [anon_sym_static] = ACTIONS(3495),
    [anon_sym_dynamic] = ACTIONS(3495),
    [anon_sym_optional] = ACTIONS(3495),
    [anon_sym_distributed] = ACTIONS(3495),
    [anon_sym_final] = ACTIONS(3495),
    [anon_sym_inout] = ACTIONS(3495),
    [anon_sym_ATescaping] = ACTIONS(3495),
    [anon_sym_ATautoclosure] = ACTIONS(3495),
    [anon_sym_weak] = ACTIONS(3495),
    [anon_sym_unowned] = ACTIONS(3493),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3495),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3495),
    [anon_sym_borrowing] = ACTIONS(3495),
    [anon_sym_consuming] = ACTIONS(3495),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3495),
    [sym__conjunction_operator_custom] = ACTIONS(3495),
    [sym__disjunction_operator_custom] = ACTIONS(3495),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3495),
    [sym__eq_custom] = ACTIONS(3495),
    [sym__eq_eq_custom] = ACTIONS(3495),
    [sym__plus_then_ws] = ACTIONS(3495),
    [sym__minus_then_ws] = ACTIONS(3495),
    [sym__bang_custom] = ACTIONS(3495),
    [sym__as_custom] = ACTIONS(3495),
    [sym__as_quest_custom] = ACTIONS(3495),
    [sym__as_bang_custom] = ACTIONS(3495),
    [sym__custom_operator] = ACTIONS(3495),
  },
  [929] = {
    [sym_simple_identifier] = STATE(1160),
    [sym__contextual_simple_identifier] = STATE(1147),
    [sym__simple_user_type] = STATE(1174),
    [sym_array_type] = STATE(1174),
    [sym_dictionary_type] = STATE(1174),
    [sym__parameter_ownership_modifier] = STATE(1147),
    [aux_sym_key_path_expression_repeat1] = STATE(1178),
    [anon_sym_BANG] = ACTIONS(2961),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(661),
    [aux_sym_simple_identifier_token2] = ACTIONS(663),
    [aux_sym_simple_identifier_token3] = ACTIONS(663),
    [aux_sym_simple_identifier_token4] = ACTIONS(663),
    [anon_sym_actor] = ACTIONS(661),
    [anon_sym_async] = ACTIONS(661),
    [anon_sym_each] = ACTIONS(661),
    [anon_sym_lazy] = ACTIONS(661),
    [anon_sym_repeat] = ACTIONS(661),
    [anon_sym_package] = ACTIONS(661),
    [anon_sym_COMMA] = ACTIONS(2963),
    [anon_sym_LPAREN] = ACTIONS(2963),
    [anon_sym_LBRACK] = ACTIONS(3497),
    [anon_sym_DOT] = ACTIONS(3499),
    [anon_sym_QMARK] = ACTIONS(2961),
    [anon_sym_QMARK2] = ACTIONS(2963),
    [anon_sym_AMP] = ACTIONS(2963),
    [aux_sym_custom_operator_token1] = ACTIONS(2963),
    [anon_sym_LT] = ACTIONS(2961),
    [anon_sym_GT] = ACTIONS(2961),
    [anon_sym_LBRACE] = ACTIONS(2963),
    [anon_sym_CARET_LBRACE] = ACTIONS(2963),
    [anon_sym_RBRACE] = ACTIONS(2963),
    [anon_sym_case] = ACTIONS(2961),
    [anon_sym_fallthrough] = ACTIONS(2961),
    [anon_sym_PLUS_EQ] = ACTIONS(2963),
    [anon_sym_DASH_EQ] = ACTIONS(2963),
    [anon_sym_STAR_EQ] = ACTIONS(2963),
    [anon_sym_SLASH_EQ] = ACTIONS(2963),
    [anon_sym_PERCENT_EQ] = ACTIONS(2963),
    [anon_sym_BANG_EQ] = ACTIONS(2961),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2963),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2963),
    [anon_sym_LT_EQ] = ACTIONS(2963),
    [anon_sym_GT_EQ] = ACTIONS(2963),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2963),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2963),
    [anon_sym_is] = ACTIONS(2961),
    [anon_sym_PLUS] = ACTIONS(2961),
    [anon_sym_DASH] = ACTIONS(2961),
    [anon_sym_STAR] = ACTIONS(2961),
    [anon_sym_SLASH] = ACTIONS(2961),
    [anon_sym_PERCENT] = ACTIONS(2961),
    [anon_sym_PLUS_PLUS] = ACTIONS(2963),
    [anon_sym_DASH_DASH] = ACTIONS(2963),
    [anon_sym_PIPE] = ACTIONS(2963),
    [anon_sym_CARET] = ACTIONS(2961),
    [anon_sym_LT_LT] = ACTIONS(2963),
    [anon_sym_GT_GT] = ACTIONS(2963),
    [anon_sym_class] = ACTIONS(2961),
    [anon_sym_prefix] = ACTIONS(2961),
    [anon_sym_infix] = ACTIONS(2961),
    [anon_sym_postfix] = ACTIONS(2961),
    [anon_sym_AT] = ACTIONS(2961),
    [anon_sym_override] = ACTIONS(2961),
    [anon_sym_convenience] = ACTIONS(2961),
    [anon_sym_required] = ACTIONS(2961),
    [anon_sym_nonisolated] = ACTIONS(2961),
    [anon_sym_public] = ACTIONS(2961),
    [anon_sym_private] = ACTIONS(2961),
    [anon_sym_internal] = ACTIONS(2961),
    [anon_sym_fileprivate] = ACTIONS(2961),
    [anon_sym_open] = ACTIONS(2961),
    [anon_sym_mutating] = ACTIONS(2961),
    [anon_sym_nonmutating] = ACTIONS(2961),
    [anon_sym_static] = ACTIONS(2961),
    [anon_sym_dynamic] = ACTIONS(2961),
    [anon_sym_optional] = ACTIONS(2961),
    [anon_sym_distributed] = ACTIONS(2961),
    [anon_sym_final] = ACTIONS(2961),
    [anon_sym_inout] = ACTIONS(2961),
    [anon_sym_ATescaping] = ACTIONS(2963),
    [anon_sym_ATautoclosure] = ACTIONS(2963),
    [anon_sym_weak] = ACTIONS(2961),
    [anon_sym_unowned] = ACTIONS(2961),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2963),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2963),
    [anon_sym_borrowing] = ACTIONS(661),
    [anon_sym_consuming] = ACTIONS(661),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2963),
    [sym__explicit_semi] = ACTIONS(2963),
    [sym__dot_custom] = ACTIONS(2963),
    [sym__conjunction_operator_custom] = ACTIONS(2963),
    [sym__disjunction_operator_custom] = ACTIONS(2963),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2963),
    [sym__eq_custom] = ACTIONS(2963),
    [sym__eq_eq_custom] = ACTIONS(2963),
    [sym__plus_then_ws] = ACTIONS(2963),
    [sym__minus_then_ws] = ACTIONS(2963),
    [sym__bang_custom] = ACTIONS(2963),
    [sym_default_keyword] = ACTIONS(2963),
    [sym_where_keyword] = ACTIONS(2963),
    [sym__as_custom] = ACTIONS(2963),
    [sym__as_quest_custom] = ACTIONS(2963),
    [sym__as_bang_custom] = ACTIONS(2963),
    [sym__custom_operator] = ACTIONS(2963),
  },
  [930] = {
    [anon_sym_BANG] = ACTIONS(3501),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3503),
    [anon_sym_async] = ACTIONS(3503),
    [anon_sym_lazy] = ACTIONS(3503),
    [anon_sym_package] = ACTIONS(3503),
    [anon_sym_RPAREN] = ACTIONS(3503),
    [anon_sym_COMMA] = ACTIONS(3503),
    [anon_sym_COLON] = ACTIONS(3503),
    [anon_sym_LPAREN] = ACTIONS(3503),
    [anon_sym_LBRACK] = ACTIONS(3503),
    [anon_sym_RBRACK] = ACTIONS(3503),
    [anon_sym_QMARK] = ACTIONS(3501),
    [anon_sym_QMARK2] = ACTIONS(3503),
    [anon_sym_AMP] = ACTIONS(3503),
    [aux_sym_custom_operator_token1] = ACTIONS(3503),
    [anon_sym_LT] = ACTIONS(3501),
    [anon_sym_GT] = ACTIONS(3501),
    [anon_sym_LBRACE] = ACTIONS(3503),
    [anon_sym_CARET_LBRACE] = ACTIONS(3503),
    [anon_sym_RBRACE] = ACTIONS(3503),
    [anon_sym_case] = ACTIONS(3503),
    [anon_sym_PLUS_EQ] = ACTIONS(3503),
    [anon_sym_DASH_EQ] = ACTIONS(3503),
    [anon_sym_STAR_EQ] = ACTIONS(3503),
    [anon_sym_SLASH_EQ] = ACTIONS(3503),
    [anon_sym_PERCENT_EQ] = ACTIONS(3503),
    [anon_sym_BANG_EQ] = ACTIONS(3501),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3503),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3503),
    [anon_sym_LT_EQ] = ACTIONS(3503),
    [anon_sym_GT_EQ] = ACTIONS(3503),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3503),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3503),
    [anon_sym_is] = ACTIONS(3503),
    [anon_sym_PLUS] = ACTIONS(3501),
    [anon_sym_DASH] = ACTIONS(3501),
    [anon_sym_STAR] = ACTIONS(3501),
    [anon_sym_SLASH] = ACTIONS(3501),
    [anon_sym_PERCENT] = ACTIONS(3501),
    [anon_sym_PLUS_PLUS] = ACTIONS(3503),
    [anon_sym_DASH_DASH] = ACTIONS(3503),
    [anon_sym_PIPE] = ACTIONS(3503),
    [anon_sym_CARET] = ACTIONS(3501),
    [anon_sym_LT_LT] = ACTIONS(3503),
    [anon_sym_GT_GT] = ACTIONS(3503),
    [anon_sym_import] = ACTIONS(3503),
    [anon_sym_typealias] = ACTIONS(3503),
    [anon_sym_struct] = ACTIONS(3503),
    [anon_sym_class] = ACTIONS(3503),
    [anon_sym_enum] = ACTIONS(3503),
    [anon_sym_protocol] = ACTIONS(3503),
    [anon_sym_let] = ACTIONS(3503),
    [anon_sym_var] = ACTIONS(3503),
    [anon_sym_func] = ACTIONS(3503),
    [anon_sym_extension] = ACTIONS(3503),
    [anon_sym_indirect] = ACTIONS(3503),
    [anon_sym_SEMI] = ACTIONS(3503),
    [anon_sym_init] = ACTIONS(3503),
    [anon_sym_deinit] = ACTIONS(3503),
    [anon_sym_subscript] = ACTIONS(3503),
    [anon_sym_prefix] = ACTIONS(3503),
    [anon_sym_infix] = ACTIONS(3503),
    [anon_sym_postfix] = ACTIONS(3503),
    [anon_sym_precedencegroup] = ACTIONS(3503),
    [anon_sym_associatedtype] = ACTIONS(3503),
    [anon_sym_AT] = ACTIONS(3501),
    [anon_sym_override] = ACTIONS(3503),
    [anon_sym_convenience] = ACTIONS(3503),
    [anon_sym_required] = ACTIONS(3503),
    [anon_sym_nonisolated] = ACTIONS(3503),
    [anon_sym_public] = ACTIONS(3503),
    [anon_sym_private] = ACTIONS(3503),
    [anon_sym_internal] = ACTIONS(3503),
    [anon_sym_fileprivate] = ACTIONS(3503),
    [anon_sym_open] = ACTIONS(3503),
    [anon_sym_mutating] = ACTIONS(3503),
    [anon_sym_nonmutating] = ACTIONS(3503),
    [anon_sym_static] = ACTIONS(3503),
    [anon_sym_dynamic] = ACTIONS(3503),
    [anon_sym_optional] = ACTIONS(3503),
    [anon_sym_distributed] = ACTIONS(3503),
    [anon_sym_final] = ACTIONS(3503),
    [anon_sym_inout] = ACTIONS(3503),
    [anon_sym_ATescaping] = ACTIONS(3503),
    [anon_sym_ATautoclosure] = ACTIONS(3503),
    [anon_sym_weak] = ACTIONS(3503),
    [anon_sym_unowned] = ACTIONS(3501),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3503),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3503),
    [anon_sym_borrowing] = ACTIONS(3503),
    [anon_sym_consuming] = ACTIONS(3503),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3503),
    [sym__conjunction_operator_custom] = ACTIONS(3503),
    [sym__disjunction_operator_custom] = ACTIONS(3503),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3503),
    [sym__eq_custom] = ACTIONS(3503),
    [sym__eq_eq_custom] = ACTIONS(3503),
    [sym__plus_then_ws] = ACTIONS(3503),
    [sym__minus_then_ws] = ACTIONS(3503),
    [sym__bang_custom] = ACTIONS(3503),
    [sym__as_custom] = ACTIONS(3503),
    [sym__as_quest_custom] = ACTIONS(3503),
    [sym__as_bang_custom] = ACTIONS(3503),
    [sym__custom_operator] = ACTIONS(3503),
  },
  [931] = {
    [anon_sym_BANG] = ACTIONS(3505),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3507),
    [anon_sym_async] = ACTIONS(3507),
    [anon_sym_lazy] = ACTIONS(3507),
    [anon_sym_package] = ACTIONS(3507),
    [anon_sym_RPAREN] = ACTIONS(3507),
    [anon_sym_COMMA] = ACTIONS(3507),
    [anon_sym_COLON] = ACTIONS(3507),
    [anon_sym_LPAREN] = ACTIONS(3507),
    [anon_sym_LBRACK] = ACTIONS(3507),
    [anon_sym_RBRACK] = ACTIONS(3507),
    [anon_sym_QMARK] = ACTIONS(3505),
    [anon_sym_QMARK2] = ACTIONS(3507),
    [anon_sym_AMP] = ACTIONS(3507),
    [aux_sym_custom_operator_token1] = ACTIONS(3507),
    [anon_sym_LT] = ACTIONS(3505),
    [anon_sym_GT] = ACTIONS(3505),
    [anon_sym_LBRACE] = ACTIONS(3507),
    [anon_sym_CARET_LBRACE] = ACTIONS(3507),
    [anon_sym_RBRACE] = ACTIONS(3507),
    [anon_sym_case] = ACTIONS(3507),
    [anon_sym_PLUS_EQ] = ACTIONS(3507),
    [anon_sym_DASH_EQ] = ACTIONS(3507),
    [anon_sym_STAR_EQ] = ACTIONS(3507),
    [anon_sym_SLASH_EQ] = ACTIONS(3507),
    [anon_sym_PERCENT_EQ] = ACTIONS(3507),
    [anon_sym_BANG_EQ] = ACTIONS(3505),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3507),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3507),
    [anon_sym_LT_EQ] = ACTIONS(3507),
    [anon_sym_GT_EQ] = ACTIONS(3507),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3507),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3507),
    [anon_sym_is] = ACTIONS(3507),
    [anon_sym_PLUS] = ACTIONS(3505),
    [anon_sym_DASH] = ACTIONS(3505),
    [anon_sym_STAR] = ACTIONS(3505),
    [anon_sym_SLASH] = ACTIONS(3505),
    [anon_sym_PERCENT] = ACTIONS(3505),
    [anon_sym_PLUS_PLUS] = ACTIONS(3507),
    [anon_sym_DASH_DASH] = ACTIONS(3507),
    [anon_sym_PIPE] = ACTIONS(3507),
    [anon_sym_CARET] = ACTIONS(3505),
    [anon_sym_LT_LT] = ACTIONS(3507),
    [anon_sym_GT_GT] = ACTIONS(3507),
    [anon_sym_import] = ACTIONS(3507),
    [anon_sym_typealias] = ACTIONS(3507),
    [anon_sym_struct] = ACTIONS(3507),
    [anon_sym_class] = ACTIONS(3507),
    [anon_sym_enum] = ACTIONS(3507),
    [anon_sym_protocol] = ACTIONS(3507),
    [anon_sym_let] = ACTIONS(3507),
    [anon_sym_var] = ACTIONS(3507),
    [anon_sym_func] = ACTIONS(3507),
    [anon_sym_extension] = ACTIONS(3507),
    [anon_sym_indirect] = ACTIONS(3507),
    [anon_sym_SEMI] = ACTIONS(3507),
    [anon_sym_init] = ACTIONS(3507),
    [anon_sym_deinit] = ACTIONS(3507),
    [anon_sym_subscript] = ACTIONS(3507),
    [anon_sym_prefix] = ACTIONS(3507),
    [anon_sym_infix] = ACTIONS(3507),
    [anon_sym_postfix] = ACTIONS(3507),
    [anon_sym_precedencegroup] = ACTIONS(3507),
    [anon_sym_associatedtype] = ACTIONS(3507),
    [anon_sym_AT] = ACTIONS(3505),
    [anon_sym_override] = ACTIONS(3507),
    [anon_sym_convenience] = ACTIONS(3507),
    [anon_sym_required] = ACTIONS(3507),
    [anon_sym_nonisolated] = ACTIONS(3507),
    [anon_sym_public] = ACTIONS(3507),
    [anon_sym_private] = ACTIONS(3507),
    [anon_sym_internal] = ACTIONS(3507),
    [anon_sym_fileprivate] = ACTIONS(3507),
    [anon_sym_open] = ACTIONS(3507),
    [anon_sym_mutating] = ACTIONS(3507),
    [anon_sym_nonmutating] = ACTIONS(3507),
    [anon_sym_static] = ACTIONS(3507),
    [anon_sym_dynamic] = ACTIONS(3507),
    [anon_sym_optional] = ACTIONS(3507),
    [anon_sym_distributed] = ACTIONS(3507),
    [anon_sym_final] = ACTIONS(3507),
    [anon_sym_inout] = ACTIONS(3507),
    [anon_sym_ATescaping] = ACTIONS(3507),
    [anon_sym_ATautoclosure] = ACTIONS(3507),
    [anon_sym_weak] = ACTIONS(3507),
    [anon_sym_unowned] = ACTIONS(3505),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3507),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3507),
    [anon_sym_borrowing] = ACTIONS(3507),
    [anon_sym_consuming] = ACTIONS(3507),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3507),
    [sym__conjunction_operator_custom] = ACTIONS(3507),
    [sym__disjunction_operator_custom] = ACTIONS(3507),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3507),
    [sym__eq_custom] = ACTIONS(3507),
    [sym__eq_eq_custom] = ACTIONS(3507),
    [sym__plus_then_ws] = ACTIONS(3507),
    [sym__minus_then_ws] = ACTIONS(3507),
    [sym__bang_custom] = ACTIONS(3507),
    [sym__as_custom] = ACTIONS(3507),
    [sym__as_quest_custom] = ACTIONS(3507),
    [sym__as_bang_custom] = ACTIONS(3507),
    [sym__custom_operator] = ACTIONS(3507),
  },
  [932] = {
    [anon_sym_BANG] = ACTIONS(3509),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3511),
    [anon_sym_async] = ACTIONS(3511),
    [anon_sym_lazy] = ACTIONS(3511),
    [anon_sym_package] = ACTIONS(3511),
    [anon_sym_RPAREN] = ACTIONS(3511),
    [anon_sym_COMMA] = ACTIONS(3511),
    [anon_sym_COLON] = ACTIONS(3511),
    [anon_sym_LPAREN] = ACTIONS(3511),
    [anon_sym_LBRACK] = ACTIONS(3511),
    [anon_sym_RBRACK] = ACTIONS(3511),
    [anon_sym_QMARK] = ACTIONS(3509),
    [anon_sym_QMARK2] = ACTIONS(3511),
    [anon_sym_AMP] = ACTIONS(3511),
    [aux_sym_custom_operator_token1] = ACTIONS(3511),
    [anon_sym_LT] = ACTIONS(3509),
    [anon_sym_GT] = ACTIONS(3509),
    [anon_sym_LBRACE] = ACTIONS(3511),
    [anon_sym_CARET_LBRACE] = ACTIONS(3511),
    [anon_sym_RBRACE] = ACTIONS(3511),
    [anon_sym_case] = ACTIONS(3511),
    [anon_sym_PLUS_EQ] = ACTIONS(3511),
    [anon_sym_DASH_EQ] = ACTIONS(3511),
    [anon_sym_STAR_EQ] = ACTIONS(3511),
    [anon_sym_SLASH_EQ] = ACTIONS(3511),
    [anon_sym_PERCENT_EQ] = ACTIONS(3511),
    [anon_sym_BANG_EQ] = ACTIONS(3509),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3511),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3511),
    [anon_sym_LT_EQ] = ACTIONS(3511),
    [anon_sym_GT_EQ] = ACTIONS(3511),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3511),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3511),
    [anon_sym_is] = ACTIONS(3511),
    [anon_sym_PLUS] = ACTIONS(3509),
    [anon_sym_DASH] = ACTIONS(3509),
    [anon_sym_STAR] = ACTIONS(3509),
    [anon_sym_SLASH] = ACTIONS(3509),
    [anon_sym_PERCENT] = ACTIONS(3509),
    [anon_sym_PLUS_PLUS] = ACTIONS(3511),
    [anon_sym_DASH_DASH] = ACTIONS(3511),
    [anon_sym_PIPE] = ACTIONS(3511),
    [anon_sym_CARET] = ACTIONS(3509),
    [anon_sym_LT_LT] = ACTIONS(3511),
    [anon_sym_GT_GT] = ACTIONS(3511),
    [anon_sym_import] = ACTIONS(3511),
    [anon_sym_typealias] = ACTIONS(3511),
    [anon_sym_struct] = ACTIONS(3511),
    [anon_sym_class] = ACTIONS(3511),
    [anon_sym_enum] = ACTIONS(3511),
    [anon_sym_protocol] = ACTIONS(3511),
    [anon_sym_let] = ACTIONS(3511),
    [anon_sym_var] = ACTIONS(3511),
    [anon_sym_func] = ACTIONS(3511),
    [anon_sym_extension] = ACTIONS(3511),
    [anon_sym_indirect] = ACTIONS(3511),
    [anon_sym_SEMI] = ACTIONS(3511),
    [anon_sym_init] = ACTIONS(3511),
    [anon_sym_deinit] = ACTIONS(3511),
    [anon_sym_subscript] = ACTIONS(3511),
    [anon_sym_prefix] = ACTIONS(3511),
    [anon_sym_infix] = ACTIONS(3511),
    [anon_sym_postfix] = ACTIONS(3511),
    [anon_sym_precedencegroup] = ACTIONS(3511),
    [anon_sym_associatedtype] = ACTIONS(3511),
    [anon_sym_AT] = ACTIONS(3509),
    [anon_sym_override] = ACTIONS(3511),
    [anon_sym_convenience] = ACTIONS(3511),
    [anon_sym_required] = ACTIONS(3511),
    [anon_sym_nonisolated] = ACTIONS(3511),
    [anon_sym_public] = ACTIONS(3511),
    [anon_sym_private] = ACTIONS(3511),
    [anon_sym_internal] = ACTIONS(3511),
    [anon_sym_fileprivate] = ACTIONS(3511),
    [anon_sym_open] = ACTIONS(3511),
    [anon_sym_mutating] = ACTIONS(3511),
    [anon_sym_nonmutating] = ACTIONS(3511),
    [anon_sym_static] = ACTIONS(3511),
    [anon_sym_dynamic] = ACTIONS(3511),
    [anon_sym_optional] = ACTIONS(3511),
    [anon_sym_distributed] = ACTIONS(3511),
    [anon_sym_final] = ACTIONS(3511),
    [anon_sym_inout] = ACTIONS(3511),
    [anon_sym_ATescaping] = ACTIONS(3511),
    [anon_sym_ATautoclosure] = ACTIONS(3511),
    [anon_sym_weak] = ACTIONS(3511),
    [anon_sym_unowned] = ACTIONS(3509),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3511),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3511),
    [anon_sym_borrowing] = ACTIONS(3511),
    [anon_sym_consuming] = ACTIONS(3511),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3511),
    [sym__conjunction_operator_custom] = ACTIONS(3511),
    [sym__disjunction_operator_custom] = ACTIONS(3511),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3511),
    [sym__eq_custom] = ACTIONS(3511),
    [sym__eq_eq_custom] = ACTIONS(3511),
    [sym__plus_then_ws] = ACTIONS(3511),
    [sym__minus_then_ws] = ACTIONS(3511),
    [sym__bang_custom] = ACTIONS(3511),
    [sym__as_custom] = ACTIONS(3511),
    [sym__as_quest_custom] = ACTIONS(3511),
    [sym__as_bang_custom] = ACTIONS(3511),
    [sym__custom_operator] = ACTIONS(3511),
  },
  [933] = {
    [anon_sym_BANG] = ACTIONS(3275),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3277),
    [anon_sym_async] = ACTIONS(3277),
    [anon_sym_lazy] = ACTIONS(3277),
    [anon_sym_package] = ACTIONS(3277),
    [anon_sym_RPAREN] = ACTIONS(3277),
    [anon_sym_COMMA] = ACTIONS(3277),
    [anon_sym_COLON] = ACTIONS(3277),
    [anon_sym_LPAREN] = ACTIONS(3277),
    [anon_sym_LBRACK] = ACTIONS(3277),
    [anon_sym_RBRACK] = ACTIONS(3277),
    [anon_sym_QMARK] = ACTIONS(3275),
    [anon_sym_QMARK2] = ACTIONS(3277),
    [anon_sym_AMP] = ACTIONS(3277),
    [aux_sym_custom_operator_token1] = ACTIONS(3277),
    [anon_sym_LT] = ACTIONS(3275),
    [anon_sym_GT] = ACTIONS(3275),
    [anon_sym_LBRACE] = ACTIONS(3277),
    [anon_sym_CARET_LBRACE] = ACTIONS(3277),
    [anon_sym_RBRACE] = ACTIONS(3277),
    [anon_sym_case] = ACTIONS(3277),
    [anon_sym_PLUS_EQ] = ACTIONS(3277),
    [anon_sym_DASH_EQ] = ACTIONS(3277),
    [anon_sym_STAR_EQ] = ACTIONS(3277),
    [anon_sym_SLASH_EQ] = ACTIONS(3277),
    [anon_sym_PERCENT_EQ] = ACTIONS(3277),
    [anon_sym_BANG_EQ] = ACTIONS(3275),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3277),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3277),
    [anon_sym_LT_EQ] = ACTIONS(3277),
    [anon_sym_GT_EQ] = ACTIONS(3277),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3277),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3277),
    [anon_sym_is] = ACTIONS(3277),
    [anon_sym_PLUS] = ACTIONS(3275),
    [anon_sym_DASH] = ACTIONS(3275),
    [anon_sym_STAR] = ACTIONS(3275),
    [anon_sym_SLASH] = ACTIONS(3275),
    [anon_sym_PERCENT] = ACTIONS(3275),
    [anon_sym_PLUS_PLUS] = ACTIONS(3277),
    [anon_sym_DASH_DASH] = ACTIONS(3277),
    [anon_sym_PIPE] = ACTIONS(3277),
    [anon_sym_CARET] = ACTIONS(3275),
    [anon_sym_LT_LT] = ACTIONS(3277),
    [anon_sym_GT_GT] = ACTIONS(3277),
    [anon_sym_import] = ACTIONS(3277),
    [anon_sym_typealias] = ACTIONS(3277),
    [anon_sym_struct] = ACTIONS(3277),
    [anon_sym_class] = ACTIONS(3277),
    [anon_sym_enum] = ACTIONS(3277),
    [anon_sym_protocol] = ACTIONS(3277),
    [anon_sym_let] = ACTIONS(3277),
    [anon_sym_var] = ACTIONS(3277),
    [anon_sym_func] = ACTIONS(3277),
    [anon_sym_extension] = ACTIONS(3277),
    [anon_sym_indirect] = ACTIONS(3277),
    [anon_sym_SEMI] = ACTIONS(3277),
    [anon_sym_init] = ACTIONS(3277),
    [anon_sym_deinit] = ACTIONS(3277),
    [anon_sym_subscript] = ACTIONS(3277),
    [anon_sym_prefix] = ACTIONS(3277),
    [anon_sym_infix] = ACTIONS(3277),
    [anon_sym_postfix] = ACTIONS(3277),
    [anon_sym_precedencegroup] = ACTIONS(3277),
    [anon_sym_associatedtype] = ACTIONS(3277),
    [anon_sym_AT] = ACTIONS(3275),
    [anon_sym_override] = ACTIONS(3277),
    [anon_sym_convenience] = ACTIONS(3277),
    [anon_sym_required] = ACTIONS(3277),
    [anon_sym_nonisolated] = ACTIONS(3277),
    [anon_sym_public] = ACTIONS(3277),
    [anon_sym_private] = ACTIONS(3277),
    [anon_sym_internal] = ACTIONS(3277),
    [anon_sym_fileprivate] = ACTIONS(3277),
    [anon_sym_open] = ACTIONS(3277),
    [anon_sym_mutating] = ACTIONS(3277),
    [anon_sym_nonmutating] = ACTIONS(3277),
    [anon_sym_static] = ACTIONS(3277),
    [anon_sym_dynamic] = ACTIONS(3277),
    [anon_sym_optional] = ACTIONS(3277),
    [anon_sym_distributed] = ACTIONS(3277),
    [anon_sym_final] = ACTIONS(3277),
    [anon_sym_inout] = ACTIONS(3277),
    [anon_sym_ATescaping] = ACTIONS(3277),
    [anon_sym_ATautoclosure] = ACTIONS(3277),
    [anon_sym_weak] = ACTIONS(3277),
    [anon_sym_unowned] = ACTIONS(3275),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3277),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3277),
    [anon_sym_borrowing] = ACTIONS(3277),
    [anon_sym_consuming] = ACTIONS(3277),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3277),
    [sym__conjunction_operator_custom] = ACTIONS(3277),
    [sym__disjunction_operator_custom] = ACTIONS(3277),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3277),
    [sym__eq_custom] = ACTIONS(3277),
    [sym__eq_eq_custom] = ACTIONS(3277),
    [sym__plus_then_ws] = ACTIONS(3277),
    [sym__minus_then_ws] = ACTIONS(3277),
    [sym__bang_custom] = ACTIONS(3277),
    [sym__as_custom] = ACTIONS(3277),
    [sym__as_quest_custom] = ACTIONS(3277),
    [sym__as_bang_custom] = ACTIONS(3277),
    [sym__custom_operator] = ACTIONS(3277),
  },
  [934] = {
    [anon_sym_BANG] = ACTIONS(3513),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3515),
    [anon_sym_async] = ACTIONS(3515),
    [anon_sym_lazy] = ACTIONS(3515),
    [anon_sym_package] = ACTIONS(3515),
    [anon_sym_RPAREN] = ACTIONS(3515),
    [anon_sym_COMMA] = ACTIONS(3515),
    [anon_sym_COLON] = ACTIONS(3515),
    [anon_sym_LPAREN] = ACTIONS(3515),
    [anon_sym_LBRACK] = ACTIONS(3515),
    [anon_sym_RBRACK] = ACTIONS(3515),
    [anon_sym_QMARK] = ACTIONS(3513),
    [anon_sym_QMARK2] = ACTIONS(3515),
    [anon_sym_AMP] = ACTIONS(3515),
    [aux_sym_custom_operator_token1] = ACTIONS(3515),
    [anon_sym_LT] = ACTIONS(3513),
    [anon_sym_GT] = ACTIONS(3513),
    [anon_sym_LBRACE] = ACTIONS(3515),
    [anon_sym_CARET_LBRACE] = ACTIONS(3515),
    [anon_sym_RBRACE] = ACTIONS(3515),
    [anon_sym_case] = ACTIONS(3515),
    [anon_sym_PLUS_EQ] = ACTIONS(3515),
    [anon_sym_DASH_EQ] = ACTIONS(3515),
    [anon_sym_STAR_EQ] = ACTIONS(3515),
    [anon_sym_SLASH_EQ] = ACTIONS(3515),
    [anon_sym_PERCENT_EQ] = ACTIONS(3515),
    [anon_sym_BANG_EQ] = ACTIONS(3513),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3515),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3515),
    [anon_sym_LT_EQ] = ACTIONS(3515),
    [anon_sym_GT_EQ] = ACTIONS(3515),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3515),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3515),
    [anon_sym_is] = ACTIONS(3515),
    [anon_sym_PLUS] = ACTIONS(3513),
    [anon_sym_DASH] = ACTIONS(3513),
    [anon_sym_STAR] = ACTIONS(3513),
    [anon_sym_SLASH] = ACTIONS(3513),
    [anon_sym_PERCENT] = ACTIONS(3513),
    [anon_sym_PLUS_PLUS] = ACTIONS(3515),
    [anon_sym_DASH_DASH] = ACTIONS(3515),
    [anon_sym_PIPE] = ACTIONS(3515),
    [anon_sym_CARET] = ACTIONS(3513),
    [anon_sym_LT_LT] = ACTIONS(3515),
    [anon_sym_GT_GT] = ACTIONS(3515),
    [anon_sym_import] = ACTIONS(3515),
    [anon_sym_typealias] = ACTIONS(3515),
    [anon_sym_struct] = ACTIONS(3515),
    [anon_sym_class] = ACTIONS(3515),
    [anon_sym_enum] = ACTIONS(3515),
    [anon_sym_protocol] = ACTIONS(3515),
    [anon_sym_let] = ACTIONS(3515),
    [anon_sym_var] = ACTIONS(3515),
    [anon_sym_func] = ACTIONS(3515),
    [anon_sym_extension] = ACTIONS(3515),
    [anon_sym_indirect] = ACTIONS(3515),
    [anon_sym_SEMI] = ACTIONS(3515),
    [anon_sym_init] = ACTIONS(3515),
    [anon_sym_deinit] = ACTIONS(3515),
    [anon_sym_subscript] = ACTIONS(3515),
    [anon_sym_prefix] = ACTIONS(3515),
    [anon_sym_infix] = ACTIONS(3515),
    [anon_sym_postfix] = ACTIONS(3515),
    [anon_sym_precedencegroup] = ACTIONS(3515),
    [anon_sym_associatedtype] = ACTIONS(3515),
    [anon_sym_AT] = ACTIONS(3513),
    [anon_sym_override] = ACTIONS(3515),
    [anon_sym_convenience] = ACTIONS(3515),
    [anon_sym_required] = ACTIONS(3515),
    [anon_sym_nonisolated] = ACTIONS(3515),
    [anon_sym_public] = ACTIONS(3515),
    [anon_sym_private] = ACTIONS(3515),
    [anon_sym_internal] = ACTIONS(3515),
    [anon_sym_fileprivate] = ACTIONS(3515),
    [anon_sym_open] = ACTIONS(3515),
    [anon_sym_mutating] = ACTIONS(3515),
    [anon_sym_nonmutating] = ACTIONS(3515),
    [anon_sym_static] = ACTIONS(3515),
    [anon_sym_dynamic] = ACTIONS(3515),
    [anon_sym_optional] = ACTIONS(3515),
    [anon_sym_distributed] = ACTIONS(3515),
    [anon_sym_final] = ACTIONS(3515),
    [anon_sym_inout] = ACTIONS(3515),
    [anon_sym_ATescaping] = ACTIONS(3515),
    [anon_sym_ATautoclosure] = ACTIONS(3515),
    [anon_sym_weak] = ACTIONS(3515),
    [anon_sym_unowned] = ACTIONS(3513),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3515),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3515),
    [anon_sym_borrowing] = ACTIONS(3515),
    [anon_sym_consuming] = ACTIONS(3515),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3515),
    [sym__conjunction_operator_custom] = ACTIONS(3515),
    [sym__disjunction_operator_custom] = ACTIONS(3515),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3515),
    [sym__eq_custom] = ACTIONS(3515),
    [sym__eq_eq_custom] = ACTIONS(3515),
    [sym__plus_then_ws] = ACTIONS(3515),
    [sym__minus_then_ws] = ACTIONS(3515),
    [sym__bang_custom] = ACTIONS(3515),
    [sym__as_custom] = ACTIONS(3515),
    [sym__as_quest_custom] = ACTIONS(3515),
    [sym__as_bang_custom] = ACTIONS(3515),
    [sym__custom_operator] = ACTIONS(3515),
  },
  [935] = {
    [anon_sym_BANG] = ACTIONS(3517),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3519),
    [anon_sym_async] = ACTIONS(3519),
    [anon_sym_lazy] = ACTIONS(3519),
    [anon_sym_package] = ACTIONS(3519),
    [anon_sym_RPAREN] = ACTIONS(3519),
    [anon_sym_COMMA] = ACTIONS(3519),
    [anon_sym_COLON] = ACTIONS(3519),
    [anon_sym_LPAREN] = ACTIONS(3519),
    [anon_sym_LBRACK] = ACTIONS(3519),
    [anon_sym_RBRACK] = ACTIONS(3519),
    [anon_sym_QMARK] = ACTIONS(3517),
    [anon_sym_QMARK2] = ACTIONS(3519),
    [anon_sym_AMP] = ACTIONS(3519),
    [aux_sym_custom_operator_token1] = ACTIONS(3519),
    [anon_sym_LT] = ACTIONS(3517),
    [anon_sym_GT] = ACTIONS(3517),
    [anon_sym_LBRACE] = ACTIONS(3519),
    [anon_sym_CARET_LBRACE] = ACTIONS(3519),
    [anon_sym_RBRACE] = ACTIONS(3519),
    [anon_sym_case] = ACTIONS(3519),
    [anon_sym_PLUS_EQ] = ACTIONS(3519),
    [anon_sym_DASH_EQ] = ACTIONS(3519),
    [anon_sym_STAR_EQ] = ACTIONS(3519),
    [anon_sym_SLASH_EQ] = ACTIONS(3519),
    [anon_sym_PERCENT_EQ] = ACTIONS(3519),
    [anon_sym_BANG_EQ] = ACTIONS(3517),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3519),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3519),
    [anon_sym_LT_EQ] = ACTIONS(3519),
    [anon_sym_GT_EQ] = ACTIONS(3519),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3519),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3519),
    [anon_sym_is] = ACTIONS(3519),
    [anon_sym_PLUS] = ACTIONS(3517),
    [anon_sym_DASH] = ACTIONS(3517),
    [anon_sym_STAR] = ACTIONS(3517),
    [anon_sym_SLASH] = ACTIONS(3517),
    [anon_sym_PERCENT] = ACTIONS(3517),
    [anon_sym_PLUS_PLUS] = ACTIONS(3519),
    [anon_sym_DASH_DASH] = ACTIONS(3519),
    [anon_sym_PIPE] = ACTIONS(3519),
    [anon_sym_CARET] = ACTIONS(3517),
    [anon_sym_LT_LT] = ACTIONS(3519),
    [anon_sym_GT_GT] = ACTIONS(3519),
    [anon_sym_import] = ACTIONS(3519),
    [anon_sym_typealias] = ACTIONS(3519),
    [anon_sym_struct] = ACTIONS(3519),
    [anon_sym_class] = ACTIONS(3519),
    [anon_sym_enum] = ACTIONS(3519),
    [anon_sym_protocol] = ACTIONS(3519),
    [anon_sym_let] = ACTIONS(3519),
    [anon_sym_var] = ACTIONS(3519),
    [anon_sym_func] = ACTIONS(3519),
    [anon_sym_extension] = ACTIONS(3519),
    [anon_sym_indirect] = ACTIONS(3519),
    [anon_sym_SEMI] = ACTIONS(3519),
    [anon_sym_init] = ACTIONS(3519),
    [anon_sym_deinit] = ACTIONS(3519),
    [anon_sym_subscript] = ACTIONS(3519),
    [anon_sym_prefix] = ACTIONS(3519),
    [anon_sym_infix] = ACTIONS(3519),
    [anon_sym_postfix] = ACTIONS(3519),
    [anon_sym_precedencegroup] = ACTIONS(3519),
    [anon_sym_associatedtype] = ACTIONS(3519),
    [anon_sym_AT] = ACTIONS(3517),
    [anon_sym_override] = ACTIONS(3519),
    [anon_sym_convenience] = ACTIONS(3519),
    [anon_sym_required] = ACTIONS(3519),
    [anon_sym_nonisolated] = ACTIONS(3519),
    [anon_sym_public] = ACTIONS(3519),
    [anon_sym_private] = ACTIONS(3519),
    [anon_sym_internal] = ACTIONS(3519),
    [anon_sym_fileprivate] = ACTIONS(3519),
    [anon_sym_open] = ACTIONS(3519),
    [anon_sym_mutating] = ACTIONS(3519),
    [anon_sym_nonmutating] = ACTIONS(3519),
    [anon_sym_static] = ACTIONS(3519),
    [anon_sym_dynamic] = ACTIONS(3519),
    [anon_sym_optional] = ACTIONS(3519),
    [anon_sym_distributed] = ACTIONS(3519),
    [anon_sym_final] = ACTIONS(3519),
    [anon_sym_inout] = ACTIONS(3519),
    [anon_sym_ATescaping] = ACTIONS(3519),
    [anon_sym_ATautoclosure] = ACTIONS(3519),
    [anon_sym_weak] = ACTIONS(3519),
    [anon_sym_unowned] = ACTIONS(3517),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3519),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3519),
    [anon_sym_borrowing] = ACTIONS(3519),
    [anon_sym_consuming] = ACTIONS(3519),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3519),
    [sym__conjunction_operator_custom] = ACTIONS(3519),
    [sym__disjunction_operator_custom] = ACTIONS(3519),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3519),
    [sym__eq_custom] = ACTIONS(3519),
    [sym__eq_eq_custom] = ACTIONS(3519),
    [sym__plus_then_ws] = ACTIONS(3519),
    [sym__minus_then_ws] = ACTIONS(3519),
    [sym__bang_custom] = ACTIONS(3519),
    [sym__as_custom] = ACTIONS(3519),
    [sym__as_quest_custom] = ACTIONS(3519),
    [sym__as_bang_custom] = ACTIONS(3519),
    [sym__custom_operator] = ACTIONS(3519),
  },
  [936] = {
    [anon_sym_BANG] = ACTIONS(3521),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3523),
    [anon_sym_async] = ACTIONS(3523),
    [anon_sym_lazy] = ACTIONS(3523),
    [anon_sym_package] = ACTIONS(3523),
    [anon_sym_RPAREN] = ACTIONS(3523),
    [anon_sym_COMMA] = ACTIONS(3523),
    [anon_sym_COLON] = ACTIONS(3523),
    [anon_sym_LPAREN] = ACTIONS(3523),
    [anon_sym_LBRACK] = ACTIONS(3523),
    [anon_sym_RBRACK] = ACTIONS(3523),
    [anon_sym_QMARK] = ACTIONS(3521),
    [anon_sym_QMARK2] = ACTIONS(3523),
    [anon_sym_AMP] = ACTIONS(3523),
    [aux_sym_custom_operator_token1] = ACTIONS(3523),
    [anon_sym_LT] = ACTIONS(3521),
    [anon_sym_GT] = ACTIONS(3521),
    [anon_sym_LBRACE] = ACTIONS(3523),
    [anon_sym_CARET_LBRACE] = ACTIONS(3523),
    [anon_sym_RBRACE] = ACTIONS(3523),
    [anon_sym_case] = ACTIONS(3523),
    [anon_sym_PLUS_EQ] = ACTIONS(3523),
    [anon_sym_DASH_EQ] = ACTIONS(3523),
    [anon_sym_STAR_EQ] = ACTIONS(3523),
    [anon_sym_SLASH_EQ] = ACTIONS(3523),
    [anon_sym_PERCENT_EQ] = ACTIONS(3523),
    [anon_sym_BANG_EQ] = ACTIONS(3521),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3523),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3523),
    [anon_sym_LT_EQ] = ACTIONS(3523),
    [anon_sym_GT_EQ] = ACTIONS(3523),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3523),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3523),
    [anon_sym_is] = ACTIONS(3523),
    [anon_sym_PLUS] = ACTIONS(3521),
    [anon_sym_DASH] = ACTIONS(3521),
    [anon_sym_STAR] = ACTIONS(3521),
    [anon_sym_SLASH] = ACTIONS(3521),
    [anon_sym_PERCENT] = ACTIONS(3521),
    [anon_sym_PLUS_PLUS] = ACTIONS(3523),
    [anon_sym_DASH_DASH] = ACTIONS(3523),
    [anon_sym_PIPE] = ACTIONS(3523),
    [anon_sym_CARET] = ACTIONS(3521),
    [anon_sym_LT_LT] = ACTIONS(3523),
    [anon_sym_GT_GT] = ACTIONS(3523),
    [anon_sym_import] = ACTIONS(3523),
    [anon_sym_typealias] = ACTIONS(3523),
    [anon_sym_struct] = ACTIONS(3523),
    [anon_sym_class] = ACTIONS(3523),
    [anon_sym_enum] = ACTIONS(3523),
    [anon_sym_protocol] = ACTIONS(3523),
    [anon_sym_let] = ACTIONS(3523),
    [anon_sym_var] = ACTIONS(3523),
    [anon_sym_func] = ACTIONS(3523),
    [anon_sym_extension] = ACTIONS(3523),
    [anon_sym_indirect] = ACTIONS(3523),
    [anon_sym_SEMI] = ACTIONS(3523),
    [anon_sym_init] = ACTIONS(3523),
    [anon_sym_deinit] = ACTIONS(3523),
    [anon_sym_subscript] = ACTIONS(3523),
    [anon_sym_prefix] = ACTIONS(3523),
    [anon_sym_infix] = ACTIONS(3523),
    [anon_sym_postfix] = ACTIONS(3523),
    [anon_sym_precedencegroup] = ACTIONS(3523),
    [anon_sym_associatedtype] = ACTIONS(3523),
    [anon_sym_AT] = ACTIONS(3521),
    [anon_sym_override] = ACTIONS(3523),
    [anon_sym_convenience] = ACTIONS(3523),
    [anon_sym_required] = ACTIONS(3523),
    [anon_sym_nonisolated] = ACTIONS(3523),
    [anon_sym_public] = ACTIONS(3523),
    [anon_sym_private] = ACTIONS(3523),
    [anon_sym_internal] = ACTIONS(3523),
    [anon_sym_fileprivate] = ACTIONS(3523),
    [anon_sym_open] = ACTIONS(3523),
    [anon_sym_mutating] = ACTIONS(3523),
    [anon_sym_nonmutating] = ACTIONS(3523),
    [anon_sym_static] = ACTIONS(3523),
    [anon_sym_dynamic] = ACTIONS(3523),
    [anon_sym_optional] = ACTIONS(3523),
    [anon_sym_distributed] = ACTIONS(3523),
    [anon_sym_final] = ACTIONS(3523),
    [anon_sym_inout] = ACTIONS(3523),
    [anon_sym_ATescaping] = ACTIONS(3523),
    [anon_sym_ATautoclosure] = ACTIONS(3523),
    [anon_sym_weak] = ACTIONS(3523),
    [anon_sym_unowned] = ACTIONS(3521),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3523),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3523),
    [anon_sym_borrowing] = ACTIONS(3523),
    [anon_sym_consuming] = ACTIONS(3523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3523),
    [sym__conjunction_operator_custom] = ACTIONS(3523),
    [sym__disjunction_operator_custom] = ACTIONS(3523),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3523),
    [sym__eq_custom] = ACTIONS(3523),
    [sym__eq_eq_custom] = ACTIONS(3523),
    [sym__plus_then_ws] = ACTIONS(3523),
    [sym__minus_then_ws] = ACTIONS(3523),
    [sym__bang_custom] = ACTIONS(3523),
    [sym__as_custom] = ACTIONS(3523),
    [sym__as_quest_custom] = ACTIONS(3523),
    [sym__as_bang_custom] = ACTIONS(3523),
    [sym__custom_operator] = ACTIONS(3523),
  },
  [937] = {
    [anon_sym_BANG] = ACTIONS(447),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(469),
    [anon_sym_async] = ACTIONS(469),
    [anon_sym_lazy] = ACTIONS(469),
    [anon_sym_package] = ACTIONS(469),
    [anon_sym_RPAREN] = ACTIONS(469),
    [anon_sym_COMMA] = ACTIONS(469),
    [anon_sym_COLON] = ACTIONS(469),
    [anon_sym_LPAREN] = ACTIONS(469),
    [anon_sym_LBRACK] = ACTIONS(469),
    [anon_sym_RBRACK] = ACTIONS(469),
    [anon_sym_QMARK] = ACTIONS(447),
    [anon_sym_QMARK2] = ACTIONS(469),
    [anon_sym_AMP] = ACTIONS(469),
    [aux_sym_custom_operator_token1] = ACTIONS(469),
    [anon_sym_LT] = ACTIONS(447),
    [anon_sym_GT] = ACTIONS(447),
    [anon_sym_LBRACE] = ACTIONS(469),
    [anon_sym_CARET_LBRACE] = ACTIONS(469),
    [anon_sym_RBRACE] = ACTIONS(469),
    [anon_sym_case] = ACTIONS(469),
    [anon_sym_PLUS_EQ] = ACTIONS(469),
    [anon_sym_DASH_EQ] = ACTIONS(469),
    [anon_sym_STAR_EQ] = ACTIONS(469),
    [anon_sym_SLASH_EQ] = ACTIONS(469),
    [anon_sym_PERCENT_EQ] = ACTIONS(469),
    [anon_sym_BANG_EQ] = ACTIONS(447),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(469),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(469),
    [anon_sym_LT_EQ] = ACTIONS(469),
    [anon_sym_GT_EQ] = ACTIONS(469),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(469),
    [anon_sym_DOT_DOT_LT] = ACTIONS(469),
    [anon_sym_is] = ACTIONS(469),
    [anon_sym_PLUS] = ACTIONS(447),
    [anon_sym_DASH] = ACTIONS(447),
    [anon_sym_STAR] = ACTIONS(447),
    [anon_sym_SLASH] = ACTIONS(447),
    [anon_sym_PERCENT] = ACTIONS(447),
    [anon_sym_PLUS_PLUS] = ACTIONS(469),
    [anon_sym_DASH_DASH] = ACTIONS(469),
    [anon_sym_PIPE] = ACTIONS(469),
    [anon_sym_CARET] = ACTIONS(447),
    [anon_sym_LT_LT] = ACTIONS(469),
    [anon_sym_GT_GT] = ACTIONS(469),
    [anon_sym_import] = ACTIONS(469),
    [anon_sym_typealias] = ACTIONS(469),
    [anon_sym_struct] = ACTIONS(469),
    [anon_sym_class] = ACTIONS(469),
    [anon_sym_enum] = ACTIONS(469),
    [anon_sym_protocol] = ACTIONS(469),
    [anon_sym_let] = ACTIONS(469),
    [anon_sym_var] = ACTIONS(469),
    [anon_sym_func] = ACTIONS(469),
    [anon_sym_extension] = ACTIONS(469),
    [anon_sym_indirect] = ACTIONS(469),
    [anon_sym_SEMI] = ACTIONS(469),
    [anon_sym_init] = ACTIONS(469),
    [anon_sym_deinit] = ACTIONS(469),
    [anon_sym_subscript] = ACTIONS(469),
    [anon_sym_prefix] = ACTIONS(469),
    [anon_sym_infix] = ACTIONS(469),
    [anon_sym_postfix] = ACTIONS(469),
    [anon_sym_precedencegroup] = ACTIONS(469),
    [anon_sym_associatedtype] = ACTIONS(469),
    [anon_sym_AT] = ACTIONS(447),
    [anon_sym_override] = ACTIONS(469),
    [anon_sym_convenience] = ACTIONS(469),
    [anon_sym_required] = ACTIONS(469),
    [anon_sym_nonisolated] = ACTIONS(469),
    [anon_sym_public] = ACTIONS(469),
    [anon_sym_private] = ACTIONS(469),
    [anon_sym_internal] = ACTIONS(469),
    [anon_sym_fileprivate] = ACTIONS(469),
    [anon_sym_open] = ACTIONS(469),
    [anon_sym_mutating] = ACTIONS(469),
    [anon_sym_nonmutating] = ACTIONS(469),
    [anon_sym_static] = ACTIONS(469),
    [anon_sym_dynamic] = ACTIONS(469),
    [anon_sym_optional] = ACTIONS(469),
    [anon_sym_distributed] = ACTIONS(469),
    [anon_sym_final] = ACTIONS(469),
    [anon_sym_inout] = ACTIONS(469),
    [anon_sym_ATescaping] = ACTIONS(469),
    [anon_sym_ATautoclosure] = ACTIONS(469),
    [anon_sym_weak] = ACTIONS(469),
    [anon_sym_unowned] = ACTIONS(447),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(469),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(469),
    [anon_sym_borrowing] = ACTIONS(469),
    [anon_sym_consuming] = ACTIONS(469),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(469),
    [sym__conjunction_operator_custom] = ACTIONS(469),
    [sym__disjunction_operator_custom] = ACTIONS(469),
    [sym__nil_coalescing_operator_custom] = ACTIONS(469),
    [sym__eq_custom] = ACTIONS(469),
    [sym__eq_eq_custom] = ACTIONS(469),
    [sym__plus_then_ws] = ACTIONS(469),
    [sym__minus_then_ws] = ACTIONS(469),
    [sym__bang_custom] = ACTIONS(469),
    [sym__as_custom] = ACTIONS(469),
    [sym__as_quest_custom] = ACTIONS(469),
    [sym__as_bang_custom] = ACTIONS(469),
    [sym__custom_operator] = ACTIONS(469),
  },
  [938] = {
    [anon_sym_BANG] = ACTIONS(3525),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3527),
    [anon_sym_async] = ACTIONS(3527),
    [anon_sym_lazy] = ACTIONS(3527),
    [anon_sym_package] = ACTIONS(3527),
    [anon_sym_RPAREN] = ACTIONS(3527),
    [anon_sym_COMMA] = ACTIONS(3527),
    [anon_sym_COLON] = ACTIONS(3527),
    [anon_sym_LPAREN] = ACTIONS(3527),
    [anon_sym_LBRACK] = ACTIONS(3527),
    [anon_sym_RBRACK] = ACTIONS(3527),
    [anon_sym_QMARK] = ACTIONS(3525),
    [anon_sym_QMARK2] = ACTIONS(3527),
    [anon_sym_AMP] = ACTIONS(3527),
    [aux_sym_custom_operator_token1] = ACTIONS(3527),
    [anon_sym_LT] = ACTIONS(3525),
    [anon_sym_GT] = ACTIONS(3525),
    [anon_sym_LBRACE] = ACTIONS(3527),
    [anon_sym_CARET_LBRACE] = ACTIONS(3527),
    [anon_sym_RBRACE] = ACTIONS(3527),
    [anon_sym_case] = ACTIONS(3527),
    [anon_sym_PLUS_EQ] = ACTIONS(3527),
    [anon_sym_DASH_EQ] = ACTIONS(3527),
    [anon_sym_STAR_EQ] = ACTIONS(3527),
    [anon_sym_SLASH_EQ] = ACTIONS(3527),
    [anon_sym_PERCENT_EQ] = ACTIONS(3527),
    [anon_sym_BANG_EQ] = ACTIONS(3525),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3527),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3527),
    [anon_sym_LT_EQ] = ACTIONS(3527),
    [anon_sym_GT_EQ] = ACTIONS(3527),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3527),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3527),
    [anon_sym_is] = ACTIONS(3527),
    [anon_sym_PLUS] = ACTIONS(3525),
    [anon_sym_DASH] = ACTIONS(3525),
    [anon_sym_STAR] = ACTIONS(3525),
    [anon_sym_SLASH] = ACTIONS(3525),
    [anon_sym_PERCENT] = ACTIONS(3525),
    [anon_sym_PLUS_PLUS] = ACTIONS(3527),
    [anon_sym_DASH_DASH] = ACTIONS(3527),
    [anon_sym_PIPE] = ACTIONS(3527),
    [anon_sym_CARET] = ACTIONS(3525),
    [anon_sym_LT_LT] = ACTIONS(3527),
    [anon_sym_GT_GT] = ACTIONS(3527),
    [anon_sym_import] = ACTIONS(3527),
    [anon_sym_typealias] = ACTIONS(3527),
    [anon_sym_struct] = ACTIONS(3527),
    [anon_sym_class] = ACTIONS(3527),
    [anon_sym_enum] = ACTIONS(3527),
    [anon_sym_protocol] = ACTIONS(3527),
    [anon_sym_let] = ACTIONS(3527),
    [anon_sym_var] = ACTIONS(3527),
    [anon_sym_func] = ACTIONS(3527),
    [anon_sym_extension] = ACTIONS(3527),
    [anon_sym_indirect] = ACTIONS(3527),
    [anon_sym_SEMI] = ACTIONS(3527),
    [anon_sym_init] = ACTIONS(3527),
    [anon_sym_deinit] = ACTIONS(3527),
    [anon_sym_subscript] = ACTIONS(3527),
    [anon_sym_prefix] = ACTIONS(3527),
    [anon_sym_infix] = ACTIONS(3527),
    [anon_sym_postfix] = ACTIONS(3527),
    [anon_sym_precedencegroup] = ACTIONS(3527),
    [anon_sym_associatedtype] = ACTIONS(3527),
    [anon_sym_AT] = ACTIONS(3525),
    [anon_sym_override] = ACTIONS(3527),
    [anon_sym_convenience] = ACTIONS(3527),
    [anon_sym_required] = ACTIONS(3527),
    [anon_sym_nonisolated] = ACTIONS(3527),
    [anon_sym_public] = ACTIONS(3527),
    [anon_sym_private] = ACTIONS(3527),
    [anon_sym_internal] = ACTIONS(3527),
    [anon_sym_fileprivate] = ACTIONS(3527),
    [anon_sym_open] = ACTIONS(3527),
    [anon_sym_mutating] = ACTIONS(3527),
    [anon_sym_nonmutating] = ACTIONS(3527),
    [anon_sym_static] = ACTIONS(3527),
    [anon_sym_dynamic] = ACTIONS(3527),
    [anon_sym_optional] = ACTIONS(3527),
    [anon_sym_distributed] = ACTIONS(3527),
    [anon_sym_final] = ACTIONS(3527),
    [anon_sym_inout] = ACTIONS(3527),
    [anon_sym_ATescaping] = ACTIONS(3527),
    [anon_sym_ATautoclosure] = ACTIONS(3527),
    [anon_sym_weak] = ACTIONS(3527),
    [anon_sym_unowned] = ACTIONS(3525),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3527),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3527),
    [anon_sym_borrowing] = ACTIONS(3527),
    [anon_sym_consuming] = ACTIONS(3527),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3527),
    [sym__conjunction_operator_custom] = ACTIONS(3527),
    [sym__disjunction_operator_custom] = ACTIONS(3527),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3527),
    [sym__eq_custom] = ACTIONS(3527),
    [sym__eq_eq_custom] = ACTIONS(3527),
    [sym__plus_then_ws] = ACTIONS(3527),
    [sym__minus_then_ws] = ACTIONS(3527),
    [sym__bang_custom] = ACTIONS(3527),
    [sym__as_custom] = ACTIONS(3527),
    [sym__as_quest_custom] = ACTIONS(3527),
    [sym__as_bang_custom] = ACTIONS(3527),
    [sym__custom_operator] = ACTIONS(3527),
  },
  [939] = {
    [anon_sym_BANG] = ACTIONS(3529),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3531),
    [anon_sym_async] = ACTIONS(3531),
    [anon_sym_lazy] = ACTIONS(3531),
    [anon_sym_package] = ACTIONS(3531),
    [anon_sym_RPAREN] = ACTIONS(3531),
    [anon_sym_COMMA] = ACTIONS(3531),
    [anon_sym_COLON] = ACTIONS(3531),
    [anon_sym_LPAREN] = ACTIONS(3531),
    [anon_sym_LBRACK] = ACTIONS(3531),
    [anon_sym_RBRACK] = ACTIONS(3531),
    [anon_sym_QMARK] = ACTIONS(3529),
    [anon_sym_QMARK2] = ACTIONS(3531),
    [anon_sym_AMP] = ACTIONS(3531),
    [aux_sym_custom_operator_token1] = ACTIONS(3531),
    [anon_sym_LT] = ACTIONS(3529),
    [anon_sym_GT] = ACTIONS(3529),
    [anon_sym_LBRACE] = ACTIONS(3531),
    [anon_sym_CARET_LBRACE] = ACTIONS(3531),
    [anon_sym_RBRACE] = ACTIONS(3531),
    [anon_sym_case] = ACTIONS(3531),
    [anon_sym_PLUS_EQ] = ACTIONS(3531),
    [anon_sym_DASH_EQ] = ACTIONS(3531),
    [anon_sym_STAR_EQ] = ACTIONS(3531),
    [anon_sym_SLASH_EQ] = ACTIONS(3531),
    [anon_sym_PERCENT_EQ] = ACTIONS(3531),
    [anon_sym_BANG_EQ] = ACTIONS(3529),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3531),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3531),
    [anon_sym_LT_EQ] = ACTIONS(3531),
    [anon_sym_GT_EQ] = ACTIONS(3531),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3531),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3531),
    [anon_sym_is] = ACTIONS(3531),
    [anon_sym_PLUS] = ACTIONS(3529),
    [anon_sym_DASH] = ACTIONS(3529),
    [anon_sym_STAR] = ACTIONS(3529),
    [anon_sym_SLASH] = ACTIONS(3529),
    [anon_sym_PERCENT] = ACTIONS(3529),
    [anon_sym_PLUS_PLUS] = ACTIONS(3531),
    [anon_sym_DASH_DASH] = ACTIONS(3531),
    [anon_sym_PIPE] = ACTIONS(3531),
    [anon_sym_CARET] = ACTIONS(3529),
    [anon_sym_LT_LT] = ACTIONS(3531),
    [anon_sym_GT_GT] = ACTIONS(3531),
    [anon_sym_import] = ACTIONS(3531),
    [anon_sym_typealias] = ACTIONS(3531),
    [anon_sym_struct] = ACTIONS(3531),
    [anon_sym_class] = ACTIONS(3531),
    [anon_sym_enum] = ACTIONS(3531),
    [anon_sym_protocol] = ACTIONS(3531),
    [anon_sym_let] = ACTIONS(3531),
    [anon_sym_var] = ACTIONS(3531),
    [anon_sym_func] = ACTIONS(3531),
    [anon_sym_extension] = ACTIONS(3531),
    [anon_sym_indirect] = ACTIONS(3531),
    [anon_sym_SEMI] = ACTIONS(3531),
    [anon_sym_init] = ACTIONS(3531),
    [anon_sym_deinit] = ACTIONS(3531),
    [anon_sym_subscript] = ACTIONS(3531),
    [anon_sym_prefix] = ACTIONS(3531),
    [anon_sym_infix] = ACTIONS(3531),
    [anon_sym_postfix] = ACTIONS(3531),
    [anon_sym_precedencegroup] = ACTIONS(3531),
    [anon_sym_associatedtype] = ACTIONS(3531),
    [anon_sym_AT] = ACTIONS(3529),
    [anon_sym_override] = ACTIONS(3531),
    [anon_sym_convenience] = ACTIONS(3531),
    [anon_sym_required] = ACTIONS(3531),
    [anon_sym_nonisolated] = ACTIONS(3531),
    [anon_sym_public] = ACTIONS(3531),
    [anon_sym_private] = ACTIONS(3531),
    [anon_sym_internal] = ACTIONS(3531),
    [anon_sym_fileprivate] = ACTIONS(3531),
    [anon_sym_open] = ACTIONS(3531),
    [anon_sym_mutating] = ACTIONS(3531),
    [anon_sym_nonmutating] = ACTIONS(3531),
    [anon_sym_static] = ACTIONS(3531),
    [anon_sym_dynamic] = ACTIONS(3531),
    [anon_sym_optional] = ACTIONS(3531),
    [anon_sym_distributed] = ACTIONS(3531),
    [anon_sym_final] = ACTIONS(3531),
    [anon_sym_inout] = ACTIONS(3531),
    [anon_sym_ATescaping] = ACTIONS(3531),
    [anon_sym_ATautoclosure] = ACTIONS(3531),
    [anon_sym_weak] = ACTIONS(3531),
    [anon_sym_unowned] = ACTIONS(3529),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3531),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3531),
    [anon_sym_borrowing] = ACTIONS(3531),
    [anon_sym_consuming] = ACTIONS(3531),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3531),
    [sym__conjunction_operator_custom] = ACTIONS(3531),
    [sym__disjunction_operator_custom] = ACTIONS(3531),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3531),
    [sym__eq_custom] = ACTIONS(3531),
    [sym__eq_eq_custom] = ACTIONS(3531),
    [sym__plus_then_ws] = ACTIONS(3531),
    [sym__minus_then_ws] = ACTIONS(3531),
    [sym__bang_custom] = ACTIONS(3531),
    [sym__as_custom] = ACTIONS(3531),
    [sym__as_quest_custom] = ACTIONS(3531),
    [sym__as_bang_custom] = ACTIONS(3531),
    [sym__custom_operator] = ACTIONS(3531),
  },
  [940] = {
    [anon_sym_BANG] = ACTIONS(3213),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3215),
    [anon_sym_async] = ACTIONS(3215),
    [anon_sym_lazy] = ACTIONS(3215),
    [anon_sym_package] = ACTIONS(3215),
    [anon_sym_RPAREN] = ACTIONS(3215),
    [anon_sym_COMMA] = ACTIONS(3215),
    [anon_sym_COLON] = ACTIONS(3215),
    [anon_sym_LPAREN] = ACTIONS(3215),
    [anon_sym_LBRACK] = ACTIONS(3215),
    [anon_sym_RBRACK] = ACTIONS(3215),
    [anon_sym_QMARK] = ACTIONS(3213),
    [anon_sym_QMARK2] = ACTIONS(3215),
    [anon_sym_AMP] = ACTIONS(3215),
    [aux_sym_custom_operator_token1] = ACTIONS(3215),
    [anon_sym_LT] = ACTIONS(3213),
    [anon_sym_GT] = ACTIONS(3213),
    [anon_sym_LBRACE] = ACTIONS(3215),
    [anon_sym_CARET_LBRACE] = ACTIONS(3215),
    [anon_sym_RBRACE] = ACTIONS(3215),
    [anon_sym_case] = ACTIONS(3215),
    [anon_sym_PLUS_EQ] = ACTIONS(3215),
    [anon_sym_DASH_EQ] = ACTIONS(3215),
    [anon_sym_STAR_EQ] = ACTIONS(3215),
    [anon_sym_SLASH_EQ] = ACTIONS(3215),
    [anon_sym_PERCENT_EQ] = ACTIONS(3215),
    [anon_sym_BANG_EQ] = ACTIONS(3213),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3215),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3215),
    [anon_sym_LT_EQ] = ACTIONS(3215),
    [anon_sym_GT_EQ] = ACTIONS(3215),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3215),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3215),
    [anon_sym_is] = ACTIONS(3215),
    [anon_sym_PLUS] = ACTIONS(3213),
    [anon_sym_DASH] = ACTIONS(3213),
    [anon_sym_STAR] = ACTIONS(3213),
    [anon_sym_SLASH] = ACTIONS(3213),
    [anon_sym_PERCENT] = ACTIONS(3213),
    [anon_sym_PLUS_PLUS] = ACTIONS(3215),
    [anon_sym_DASH_DASH] = ACTIONS(3215),
    [anon_sym_PIPE] = ACTIONS(3215),
    [anon_sym_CARET] = ACTIONS(3213),
    [anon_sym_LT_LT] = ACTIONS(3215),
    [anon_sym_GT_GT] = ACTIONS(3215),
    [anon_sym_import] = ACTIONS(3215),
    [anon_sym_typealias] = ACTIONS(3215),
    [anon_sym_struct] = ACTIONS(3215),
    [anon_sym_class] = ACTIONS(3215),
    [anon_sym_enum] = ACTIONS(3215),
    [anon_sym_protocol] = ACTIONS(3215),
    [anon_sym_let] = ACTIONS(3215),
    [anon_sym_var] = ACTIONS(3215),
    [anon_sym_func] = ACTIONS(3215),
    [anon_sym_extension] = ACTIONS(3215),
    [anon_sym_indirect] = ACTIONS(3215),
    [anon_sym_SEMI] = ACTIONS(3215),
    [anon_sym_init] = ACTIONS(3215),
    [anon_sym_deinit] = ACTIONS(3215),
    [anon_sym_subscript] = ACTIONS(3215),
    [anon_sym_prefix] = ACTIONS(3215),
    [anon_sym_infix] = ACTIONS(3215),
    [anon_sym_postfix] = ACTIONS(3215),
    [anon_sym_precedencegroup] = ACTIONS(3215),
    [anon_sym_associatedtype] = ACTIONS(3215),
    [anon_sym_AT] = ACTIONS(3213),
    [anon_sym_override] = ACTIONS(3215),
    [anon_sym_convenience] = ACTIONS(3215),
    [anon_sym_required] = ACTIONS(3215),
    [anon_sym_nonisolated] = ACTIONS(3215),
    [anon_sym_public] = ACTIONS(3215),
    [anon_sym_private] = ACTIONS(3215),
    [anon_sym_internal] = ACTIONS(3215),
    [anon_sym_fileprivate] = ACTIONS(3215),
    [anon_sym_open] = ACTIONS(3215),
    [anon_sym_mutating] = ACTIONS(3215),
    [anon_sym_nonmutating] = ACTIONS(3215),
    [anon_sym_static] = ACTIONS(3215),
    [anon_sym_dynamic] = ACTIONS(3215),
    [anon_sym_optional] = ACTIONS(3215),
    [anon_sym_distributed] = ACTIONS(3215),
    [anon_sym_final] = ACTIONS(3215),
    [anon_sym_inout] = ACTIONS(3215),
    [anon_sym_ATescaping] = ACTIONS(3215),
    [anon_sym_ATautoclosure] = ACTIONS(3215),
    [anon_sym_weak] = ACTIONS(3215),
    [anon_sym_unowned] = ACTIONS(3213),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3215),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3215),
    [anon_sym_borrowing] = ACTIONS(3215),
    [anon_sym_consuming] = ACTIONS(3215),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3215),
    [sym__conjunction_operator_custom] = ACTIONS(3215),
    [sym__disjunction_operator_custom] = ACTIONS(3215),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3215),
    [sym__eq_custom] = ACTIONS(3215),
    [sym__eq_eq_custom] = ACTIONS(3215),
    [sym__plus_then_ws] = ACTIONS(3215),
    [sym__minus_then_ws] = ACTIONS(3215),
    [sym__bang_custom] = ACTIONS(3215),
    [sym__as_custom] = ACTIONS(3215),
    [sym__as_quest_custom] = ACTIONS(3215),
    [sym__as_bang_custom] = ACTIONS(3215),
    [sym__custom_operator] = ACTIONS(3215),
  },
  [941] = {
    [anon_sym_BANG] = ACTIONS(3533),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3535),
    [anon_sym_async] = ACTIONS(3535),
    [anon_sym_lazy] = ACTIONS(3535),
    [anon_sym_package] = ACTIONS(3535),
    [anon_sym_RPAREN] = ACTIONS(3535),
    [anon_sym_COMMA] = ACTIONS(3535),
    [anon_sym_COLON] = ACTIONS(3535),
    [anon_sym_LPAREN] = ACTIONS(3535),
    [anon_sym_LBRACK] = ACTIONS(3535),
    [anon_sym_RBRACK] = ACTIONS(3535),
    [anon_sym_QMARK] = ACTIONS(3533),
    [anon_sym_QMARK2] = ACTIONS(3535),
    [anon_sym_AMP] = ACTIONS(3535),
    [aux_sym_custom_operator_token1] = ACTIONS(3535),
    [anon_sym_LT] = ACTIONS(3533),
    [anon_sym_GT] = ACTIONS(3533),
    [anon_sym_LBRACE] = ACTIONS(3535),
    [anon_sym_CARET_LBRACE] = ACTIONS(3535),
    [anon_sym_RBRACE] = ACTIONS(3535),
    [anon_sym_case] = ACTIONS(3535),
    [anon_sym_PLUS_EQ] = ACTIONS(3535),
    [anon_sym_DASH_EQ] = ACTIONS(3535),
    [anon_sym_STAR_EQ] = ACTIONS(3535),
    [anon_sym_SLASH_EQ] = ACTIONS(3535),
    [anon_sym_PERCENT_EQ] = ACTIONS(3535),
    [anon_sym_BANG_EQ] = ACTIONS(3533),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3535),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3535),
    [anon_sym_LT_EQ] = ACTIONS(3535),
    [anon_sym_GT_EQ] = ACTIONS(3535),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3535),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3535),
    [anon_sym_is] = ACTIONS(3535),
    [anon_sym_PLUS] = ACTIONS(3533),
    [anon_sym_DASH] = ACTIONS(3533),
    [anon_sym_STAR] = ACTIONS(3533),
    [anon_sym_SLASH] = ACTIONS(3533),
    [anon_sym_PERCENT] = ACTIONS(3533),
    [anon_sym_PLUS_PLUS] = ACTIONS(3535),
    [anon_sym_DASH_DASH] = ACTIONS(3535),
    [anon_sym_PIPE] = ACTIONS(3535),
    [anon_sym_CARET] = ACTIONS(3533),
    [anon_sym_LT_LT] = ACTIONS(3535),
    [anon_sym_GT_GT] = ACTIONS(3535),
    [anon_sym_import] = ACTIONS(3535),
    [anon_sym_typealias] = ACTIONS(3535),
    [anon_sym_struct] = ACTIONS(3535),
    [anon_sym_class] = ACTIONS(3535),
    [anon_sym_enum] = ACTIONS(3535),
    [anon_sym_protocol] = ACTIONS(3535),
    [anon_sym_let] = ACTIONS(3535),
    [anon_sym_var] = ACTIONS(3535),
    [anon_sym_func] = ACTIONS(3535),
    [anon_sym_extension] = ACTIONS(3535),
    [anon_sym_indirect] = ACTIONS(3535),
    [anon_sym_SEMI] = ACTIONS(3535),
    [anon_sym_init] = ACTIONS(3535),
    [anon_sym_deinit] = ACTIONS(3535),
    [anon_sym_subscript] = ACTIONS(3535),
    [anon_sym_prefix] = ACTIONS(3535),
    [anon_sym_infix] = ACTIONS(3535),
    [anon_sym_postfix] = ACTIONS(3535),
    [anon_sym_precedencegroup] = ACTIONS(3535),
    [anon_sym_associatedtype] = ACTIONS(3535),
    [anon_sym_AT] = ACTIONS(3533),
    [anon_sym_override] = ACTIONS(3535),
    [anon_sym_convenience] = ACTIONS(3535),
    [anon_sym_required] = ACTIONS(3535),
    [anon_sym_nonisolated] = ACTIONS(3535),
    [anon_sym_public] = ACTIONS(3535),
    [anon_sym_private] = ACTIONS(3535),
    [anon_sym_internal] = ACTIONS(3535),
    [anon_sym_fileprivate] = ACTIONS(3535),
    [anon_sym_open] = ACTIONS(3535),
    [anon_sym_mutating] = ACTIONS(3535),
    [anon_sym_nonmutating] = ACTIONS(3535),
    [anon_sym_static] = ACTIONS(3535),
    [anon_sym_dynamic] = ACTIONS(3535),
    [anon_sym_optional] = ACTIONS(3535),
    [anon_sym_distributed] = ACTIONS(3535),
    [anon_sym_final] = ACTIONS(3535),
    [anon_sym_inout] = ACTIONS(3535),
    [anon_sym_ATescaping] = ACTIONS(3535),
    [anon_sym_ATautoclosure] = ACTIONS(3535),
    [anon_sym_weak] = ACTIONS(3535),
    [anon_sym_unowned] = ACTIONS(3533),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3535),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3535),
    [anon_sym_borrowing] = ACTIONS(3535),
    [anon_sym_consuming] = ACTIONS(3535),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3535),
    [sym__conjunction_operator_custom] = ACTIONS(3535),
    [sym__disjunction_operator_custom] = ACTIONS(3535),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3535),
    [sym__eq_custom] = ACTIONS(3535),
    [sym__eq_eq_custom] = ACTIONS(3535),
    [sym__plus_then_ws] = ACTIONS(3535),
    [sym__minus_then_ws] = ACTIONS(3535),
    [sym__bang_custom] = ACTIONS(3535),
    [sym__as_custom] = ACTIONS(3535),
    [sym__as_quest_custom] = ACTIONS(3535),
    [sym__as_bang_custom] = ACTIONS(3535),
    [sym__custom_operator] = ACTIONS(3535),
  },
  [942] = {
    [anon_sym_BANG] = ACTIONS(3537),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3539),
    [anon_sym_async] = ACTIONS(3539),
    [anon_sym_lazy] = ACTIONS(3539),
    [anon_sym_package] = ACTIONS(3539),
    [anon_sym_RPAREN] = ACTIONS(3539),
    [anon_sym_COMMA] = ACTIONS(3539),
    [anon_sym_COLON] = ACTIONS(3539),
    [anon_sym_LPAREN] = ACTIONS(3539),
    [anon_sym_LBRACK] = ACTIONS(3539),
    [anon_sym_RBRACK] = ACTIONS(3539),
    [anon_sym_QMARK] = ACTIONS(3537),
    [anon_sym_QMARK2] = ACTIONS(3539),
    [anon_sym_AMP] = ACTIONS(3539),
    [aux_sym_custom_operator_token1] = ACTIONS(3539),
    [anon_sym_LT] = ACTIONS(3537),
    [anon_sym_GT] = ACTIONS(3537),
    [anon_sym_LBRACE] = ACTIONS(3539),
    [anon_sym_CARET_LBRACE] = ACTIONS(3539),
    [anon_sym_RBRACE] = ACTIONS(3539),
    [anon_sym_case] = ACTIONS(3539),
    [anon_sym_PLUS_EQ] = ACTIONS(3539),
    [anon_sym_DASH_EQ] = ACTIONS(3539),
    [anon_sym_STAR_EQ] = ACTIONS(3539),
    [anon_sym_SLASH_EQ] = ACTIONS(3539),
    [anon_sym_PERCENT_EQ] = ACTIONS(3539),
    [anon_sym_BANG_EQ] = ACTIONS(3537),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3539),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3539),
    [anon_sym_LT_EQ] = ACTIONS(3539),
    [anon_sym_GT_EQ] = ACTIONS(3539),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3539),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3539),
    [anon_sym_is] = ACTIONS(3539),
    [anon_sym_PLUS] = ACTIONS(3537),
    [anon_sym_DASH] = ACTIONS(3537),
    [anon_sym_STAR] = ACTIONS(3537),
    [anon_sym_SLASH] = ACTIONS(3537),
    [anon_sym_PERCENT] = ACTIONS(3537),
    [anon_sym_PLUS_PLUS] = ACTIONS(3539),
    [anon_sym_DASH_DASH] = ACTIONS(3539),
    [anon_sym_PIPE] = ACTIONS(3539),
    [anon_sym_CARET] = ACTIONS(3537),
    [anon_sym_LT_LT] = ACTIONS(3539),
    [anon_sym_GT_GT] = ACTIONS(3539),
    [anon_sym_import] = ACTIONS(3539),
    [anon_sym_typealias] = ACTIONS(3539),
    [anon_sym_struct] = ACTIONS(3539),
    [anon_sym_class] = ACTIONS(3539),
    [anon_sym_enum] = ACTIONS(3539),
    [anon_sym_protocol] = ACTIONS(3539),
    [anon_sym_let] = ACTIONS(3539),
    [anon_sym_var] = ACTIONS(3539),
    [anon_sym_func] = ACTIONS(3539),
    [anon_sym_extension] = ACTIONS(3539),
    [anon_sym_indirect] = ACTIONS(3539),
    [anon_sym_SEMI] = ACTIONS(3539),
    [anon_sym_init] = ACTIONS(3539),
    [anon_sym_deinit] = ACTIONS(3539),
    [anon_sym_subscript] = ACTIONS(3539),
    [anon_sym_prefix] = ACTIONS(3539),
    [anon_sym_infix] = ACTIONS(3539),
    [anon_sym_postfix] = ACTIONS(3539),
    [anon_sym_precedencegroup] = ACTIONS(3539),
    [anon_sym_associatedtype] = ACTIONS(3539),
    [anon_sym_AT] = ACTIONS(3537),
    [anon_sym_override] = ACTIONS(3539),
    [anon_sym_convenience] = ACTIONS(3539),
    [anon_sym_required] = ACTIONS(3539),
    [anon_sym_nonisolated] = ACTIONS(3539),
    [anon_sym_public] = ACTIONS(3539),
    [anon_sym_private] = ACTIONS(3539),
    [anon_sym_internal] = ACTIONS(3539),
    [anon_sym_fileprivate] = ACTIONS(3539),
    [anon_sym_open] = ACTIONS(3539),
    [anon_sym_mutating] = ACTIONS(3539),
    [anon_sym_nonmutating] = ACTIONS(3539),
    [anon_sym_static] = ACTIONS(3539),
    [anon_sym_dynamic] = ACTIONS(3539),
    [anon_sym_optional] = ACTIONS(3539),
    [anon_sym_distributed] = ACTIONS(3539),
    [anon_sym_final] = ACTIONS(3539),
    [anon_sym_inout] = ACTIONS(3539),
    [anon_sym_ATescaping] = ACTIONS(3539),
    [anon_sym_ATautoclosure] = ACTIONS(3539),
    [anon_sym_weak] = ACTIONS(3539),
    [anon_sym_unowned] = ACTIONS(3537),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3539),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3539),
    [anon_sym_borrowing] = ACTIONS(3539),
    [anon_sym_consuming] = ACTIONS(3539),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3539),
    [sym__conjunction_operator_custom] = ACTIONS(3539),
    [sym__disjunction_operator_custom] = ACTIONS(3539),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3539),
    [sym__eq_custom] = ACTIONS(3539),
    [sym__eq_eq_custom] = ACTIONS(3539),
    [sym__plus_then_ws] = ACTIONS(3539),
    [sym__minus_then_ws] = ACTIONS(3539),
    [sym__bang_custom] = ACTIONS(3539),
    [sym__as_custom] = ACTIONS(3539),
    [sym__as_quest_custom] = ACTIONS(3539),
    [sym__as_bang_custom] = ACTIONS(3539),
    [sym__custom_operator] = ACTIONS(3539),
  },
  [943] = {
    [anon_sym_BANG] = ACTIONS(3225),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3227),
    [anon_sym_async] = ACTIONS(3227),
    [anon_sym_lazy] = ACTIONS(3227),
    [anon_sym_package] = ACTIONS(3227),
    [anon_sym_RPAREN] = ACTIONS(3227),
    [anon_sym_COMMA] = ACTIONS(3227),
    [anon_sym_COLON] = ACTIONS(3227),
    [anon_sym_LPAREN] = ACTIONS(3227),
    [anon_sym_LBRACK] = ACTIONS(3227),
    [anon_sym_RBRACK] = ACTIONS(3227),
    [anon_sym_QMARK] = ACTIONS(3225),
    [anon_sym_QMARK2] = ACTIONS(3227),
    [anon_sym_AMP] = ACTIONS(3227),
    [aux_sym_custom_operator_token1] = ACTIONS(3227),
    [anon_sym_LT] = ACTIONS(3225),
    [anon_sym_GT] = ACTIONS(3225),
    [anon_sym_LBRACE] = ACTIONS(3227),
    [anon_sym_CARET_LBRACE] = ACTIONS(3227),
    [anon_sym_RBRACE] = ACTIONS(3227),
    [anon_sym_case] = ACTIONS(3227),
    [anon_sym_PLUS_EQ] = ACTIONS(3227),
    [anon_sym_DASH_EQ] = ACTIONS(3227),
    [anon_sym_STAR_EQ] = ACTIONS(3227),
    [anon_sym_SLASH_EQ] = ACTIONS(3227),
    [anon_sym_PERCENT_EQ] = ACTIONS(3227),
    [anon_sym_BANG_EQ] = ACTIONS(3225),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3227),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3227),
    [anon_sym_LT_EQ] = ACTIONS(3227),
    [anon_sym_GT_EQ] = ACTIONS(3227),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3227),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3227),
    [anon_sym_is] = ACTIONS(3227),
    [anon_sym_PLUS] = ACTIONS(3225),
    [anon_sym_DASH] = ACTIONS(3225),
    [anon_sym_STAR] = ACTIONS(3225),
    [anon_sym_SLASH] = ACTIONS(3225),
    [anon_sym_PERCENT] = ACTIONS(3225),
    [anon_sym_PLUS_PLUS] = ACTIONS(3227),
    [anon_sym_DASH_DASH] = ACTIONS(3227),
    [anon_sym_PIPE] = ACTIONS(3227),
    [anon_sym_CARET] = ACTIONS(3225),
    [anon_sym_LT_LT] = ACTIONS(3227),
    [anon_sym_GT_GT] = ACTIONS(3227),
    [anon_sym_import] = ACTIONS(3227),
    [anon_sym_typealias] = ACTIONS(3227),
    [anon_sym_struct] = ACTIONS(3227),
    [anon_sym_class] = ACTIONS(3227),
    [anon_sym_enum] = ACTIONS(3227),
    [anon_sym_protocol] = ACTIONS(3227),
    [anon_sym_let] = ACTIONS(3227),
    [anon_sym_var] = ACTIONS(3227),
    [anon_sym_func] = ACTIONS(3227),
    [anon_sym_extension] = ACTIONS(3227),
    [anon_sym_indirect] = ACTIONS(3227),
    [anon_sym_SEMI] = ACTIONS(3227),
    [anon_sym_init] = ACTIONS(3227),
    [anon_sym_deinit] = ACTIONS(3227),
    [anon_sym_subscript] = ACTIONS(3227),
    [anon_sym_prefix] = ACTIONS(3227),
    [anon_sym_infix] = ACTIONS(3227),
    [anon_sym_postfix] = ACTIONS(3227),
    [anon_sym_precedencegroup] = ACTIONS(3227),
    [anon_sym_associatedtype] = ACTIONS(3227),
    [anon_sym_AT] = ACTIONS(3225),
    [anon_sym_override] = ACTIONS(3227),
    [anon_sym_convenience] = ACTIONS(3227),
    [anon_sym_required] = ACTIONS(3227),
    [anon_sym_nonisolated] = ACTIONS(3227),
    [anon_sym_public] = ACTIONS(3227),
    [anon_sym_private] = ACTIONS(3227),
    [anon_sym_internal] = ACTIONS(3227),
    [anon_sym_fileprivate] = ACTIONS(3227),
    [anon_sym_open] = ACTIONS(3227),
    [anon_sym_mutating] = ACTIONS(3227),
    [anon_sym_nonmutating] = ACTIONS(3227),
    [anon_sym_static] = ACTIONS(3227),
    [anon_sym_dynamic] = ACTIONS(3227),
    [anon_sym_optional] = ACTIONS(3227),
    [anon_sym_distributed] = ACTIONS(3227),
    [anon_sym_final] = ACTIONS(3227),
    [anon_sym_inout] = ACTIONS(3227),
    [anon_sym_ATescaping] = ACTIONS(3227),
    [anon_sym_ATautoclosure] = ACTIONS(3227),
    [anon_sym_weak] = ACTIONS(3227),
    [anon_sym_unowned] = ACTIONS(3225),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3227),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3227),
    [anon_sym_borrowing] = ACTIONS(3227),
    [anon_sym_consuming] = ACTIONS(3227),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3227),
    [sym__conjunction_operator_custom] = ACTIONS(3227),
    [sym__disjunction_operator_custom] = ACTIONS(3227),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3227),
    [sym__eq_custom] = ACTIONS(3227),
    [sym__eq_eq_custom] = ACTIONS(3227),
    [sym__plus_then_ws] = ACTIONS(3227),
    [sym__minus_then_ws] = ACTIONS(3227),
    [sym__bang_custom] = ACTIONS(3227),
    [sym__as_custom] = ACTIONS(3227),
    [sym__as_quest_custom] = ACTIONS(3227),
    [sym__as_bang_custom] = ACTIONS(3227),
    [sym__custom_operator] = ACTIONS(3227),
  },
  [944] = {
    [anon_sym_BANG] = ACTIONS(3541),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3543),
    [anon_sym_async] = ACTIONS(3543),
    [anon_sym_lazy] = ACTIONS(3543),
    [anon_sym_package] = ACTIONS(3543),
    [anon_sym_RPAREN] = ACTIONS(3543),
    [anon_sym_COMMA] = ACTIONS(3543),
    [anon_sym_COLON] = ACTIONS(3543),
    [anon_sym_LPAREN] = ACTIONS(3543),
    [anon_sym_LBRACK] = ACTIONS(3543),
    [anon_sym_RBRACK] = ACTIONS(3543),
    [anon_sym_QMARK] = ACTIONS(3541),
    [anon_sym_QMARK2] = ACTIONS(3543),
    [anon_sym_AMP] = ACTIONS(3543),
    [aux_sym_custom_operator_token1] = ACTIONS(3543),
    [anon_sym_LT] = ACTIONS(3541),
    [anon_sym_GT] = ACTIONS(3541),
    [anon_sym_LBRACE] = ACTIONS(3543),
    [anon_sym_CARET_LBRACE] = ACTIONS(3543),
    [anon_sym_RBRACE] = ACTIONS(3543),
    [anon_sym_case] = ACTIONS(3543),
    [anon_sym_PLUS_EQ] = ACTIONS(3543),
    [anon_sym_DASH_EQ] = ACTIONS(3543),
    [anon_sym_STAR_EQ] = ACTIONS(3543),
    [anon_sym_SLASH_EQ] = ACTIONS(3543),
    [anon_sym_PERCENT_EQ] = ACTIONS(3543),
    [anon_sym_BANG_EQ] = ACTIONS(3541),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3543),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3543),
    [anon_sym_LT_EQ] = ACTIONS(3543),
    [anon_sym_GT_EQ] = ACTIONS(3543),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3543),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3543),
    [anon_sym_is] = ACTIONS(3543),
    [anon_sym_PLUS] = ACTIONS(3541),
    [anon_sym_DASH] = ACTIONS(3541),
    [anon_sym_STAR] = ACTIONS(3541),
    [anon_sym_SLASH] = ACTIONS(3541),
    [anon_sym_PERCENT] = ACTIONS(3541),
    [anon_sym_PLUS_PLUS] = ACTIONS(3543),
    [anon_sym_DASH_DASH] = ACTIONS(3543),
    [anon_sym_PIPE] = ACTIONS(3543),
    [anon_sym_CARET] = ACTIONS(3541),
    [anon_sym_LT_LT] = ACTIONS(3543),
    [anon_sym_GT_GT] = ACTIONS(3543),
    [anon_sym_import] = ACTIONS(3543),
    [anon_sym_typealias] = ACTIONS(3543),
    [anon_sym_struct] = ACTIONS(3543),
    [anon_sym_class] = ACTIONS(3543),
    [anon_sym_enum] = ACTIONS(3543),
    [anon_sym_protocol] = ACTIONS(3543),
    [anon_sym_let] = ACTIONS(3543),
    [anon_sym_var] = ACTIONS(3543),
    [anon_sym_func] = ACTIONS(3543),
    [anon_sym_extension] = ACTIONS(3543),
    [anon_sym_indirect] = ACTIONS(3543),
    [anon_sym_SEMI] = ACTIONS(3543),
    [anon_sym_init] = ACTIONS(3543),
    [anon_sym_deinit] = ACTIONS(3543),
    [anon_sym_subscript] = ACTIONS(3543),
    [anon_sym_prefix] = ACTIONS(3543),
    [anon_sym_infix] = ACTIONS(3543),
    [anon_sym_postfix] = ACTIONS(3543),
    [anon_sym_precedencegroup] = ACTIONS(3543),
    [anon_sym_associatedtype] = ACTIONS(3543),
    [anon_sym_AT] = ACTIONS(3541),
    [anon_sym_override] = ACTIONS(3543),
    [anon_sym_convenience] = ACTIONS(3543),
    [anon_sym_required] = ACTIONS(3543),
    [anon_sym_nonisolated] = ACTIONS(3543),
    [anon_sym_public] = ACTIONS(3543),
    [anon_sym_private] = ACTIONS(3543),
    [anon_sym_internal] = ACTIONS(3543),
    [anon_sym_fileprivate] = ACTIONS(3543),
    [anon_sym_open] = ACTIONS(3543),
    [anon_sym_mutating] = ACTIONS(3543),
    [anon_sym_nonmutating] = ACTIONS(3543),
    [anon_sym_static] = ACTIONS(3543),
    [anon_sym_dynamic] = ACTIONS(3543),
    [anon_sym_optional] = ACTIONS(3543),
    [anon_sym_distributed] = ACTIONS(3543),
    [anon_sym_final] = ACTIONS(3543),
    [anon_sym_inout] = ACTIONS(3543),
    [anon_sym_ATescaping] = ACTIONS(3543),
    [anon_sym_ATautoclosure] = ACTIONS(3543),
    [anon_sym_weak] = ACTIONS(3543),
    [anon_sym_unowned] = ACTIONS(3541),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3543),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3543),
    [anon_sym_borrowing] = ACTIONS(3543),
    [anon_sym_consuming] = ACTIONS(3543),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3543),
    [sym__conjunction_operator_custom] = ACTIONS(3543),
    [sym__disjunction_operator_custom] = ACTIONS(3543),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3543),
    [sym__eq_custom] = ACTIONS(3543),
    [sym__eq_eq_custom] = ACTIONS(3543),
    [sym__plus_then_ws] = ACTIONS(3543),
    [sym__minus_then_ws] = ACTIONS(3543),
    [sym__bang_custom] = ACTIONS(3543),
    [sym__as_custom] = ACTIONS(3543),
    [sym__as_quest_custom] = ACTIONS(3543),
    [sym__as_bang_custom] = ACTIONS(3543),
    [sym__custom_operator] = ACTIONS(3543),
  },
  [945] = {
    [anon_sym_BANG] = ACTIONS(3545),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3547),
    [anon_sym_async] = ACTIONS(3547),
    [anon_sym_lazy] = ACTIONS(3547),
    [anon_sym_package] = ACTIONS(3547),
    [anon_sym_RPAREN] = ACTIONS(3547),
    [anon_sym_COMMA] = ACTIONS(3547),
    [anon_sym_COLON] = ACTIONS(3547),
    [anon_sym_LPAREN] = ACTIONS(3547),
    [anon_sym_LBRACK] = ACTIONS(3547),
    [anon_sym_RBRACK] = ACTIONS(3547),
    [anon_sym_QMARK] = ACTIONS(3545),
    [anon_sym_QMARK2] = ACTIONS(3547),
    [anon_sym_AMP] = ACTIONS(3547),
    [aux_sym_custom_operator_token1] = ACTIONS(3547),
    [anon_sym_LT] = ACTIONS(3545),
    [anon_sym_GT] = ACTIONS(3545),
    [anon_sym_LBRACE] = ACTIONS(3547),
    [anon_sym_CARET_LBRACE] = ACTIONS(3547),
    [anon_sym_RBRACE] = ACTIONS(3547),
    [anon_sym_case] = ACTIONS(3547),
    [anon_sym_PLUS_EQ] = ACTIONS(3547),
    [anon_sym_DASH_EQ] = ACTIONS(3547),
    [anon_sym_STAR_EQ] = ACTIONS(3547),
    [anon_sym_SLASH_EQ] = ACTIONS(3547),
    [anon_sym_PERCENT_EQ] = ACTIONS(3547),
    [anon_sym_BANG_EQ] = ACTIONS(3545),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3547),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3547),
    [anon_sym_LT_EQ] = ACTIONS(3547),
    [anon_sym_GT_EQ] = ACTIONS(3547),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3547),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3547),
    [anon_sym_is] = ACTIONS(3547),
    [anon_sym_PLUS] = ACTIONS(3545),
    [anon_sym_DASH] = ACTIONS(3545),
    [anon_sym_STAR] = ACTIONS(3545),
    [anon_sym_SLASH] = ACTIONS(3545),
    [anon_sym_PERCENT] = ACTIONS(3545),
    [anon_sym_PLUS_PLUS] = ACTIONS(3547),
    [anon_sym_DASH_DASH] = ACTIONS(3547),
    [anon_sym_PIPE] = ACTIONS(3547),
    [anon_sym_CARET] = ACTIONS(3545),
    [anon_sym_LT_LT] = ACTIONS(3547),
    [anon_sym_GT_GT] = ACTIONS(3547),
    [anon_sym_import] = ACTIONS(3547),
    [anon_sym_typealias] = ACTIONS(3547),
    [anon_sym_struct] = ACTIONS(3547),
    [anon_sym_class] = ACTIONS(3547),
    [anon_sym_enum] = ACTIONS(3547),
    [anon_sym_protocol] = ACTIONS(3547),
    [anon_sym_let] = ACTIONS(3547),
    [anon_sym_var] = ACTIONS(3547),
    [anon_sym_func] = ACTIONS(3547),
    [anon_sym_extension] = ACTIONS(3547),
    [anon_sym_indirect] = ACTIONS(3547),
    [anon_sym_SEMI] = ACTIONS(3547),
    [anon_sym_init] = ACTIONS(3547),
    [anon_sym_deinit] = ACTIONS(3547),
    [anon_sym_subscript] = ACTIONS(3547),
    [anon_sym_prefix] = ACTIONS(3547),
    [anon_sym_infix] = ACTIONS(3547),
    [anon_sym_postfix] = ACTIONS(3547),
    [anon_sym_precedencegroup] = ACTIONS(3547),
    [anon_sym_associatedtype] = ACTIONS(3547),
    [anon_sym_AT] = ACTIONS(3545),
    [anon_sym_override] = ACTIONS(3547),
    [anon_sym_convenience] = ACTIONS(3547),
    [anon_sym_required] = ACTIONS(3547),
    [anon_sym_nonisolated] = ACTIONS(3547),
    [anon_sym_public] = ACTIONS(3547),
    [anon_sym_private] = ACTIONS(3547),
    [anon_sym_internal] = ACTIONS(3547),
    [anon_sym_fileprivate] = ACTIONS(3547),
    [anon_sym_open] = ACTIONS(3547),
    [anon_sym_mutating] = ACTIONS(3547),
    [anon_sym_nonmutating] = ACTIONS(3547),
    [anon_sym_static] = ACTIONS(3547),
    [anon_sym_dynamic] = ACTIONS(3547),
    [anon_sym_optional] = ACTIONS(3547),
    [anon_sym_distributed] = ACTIONS(3547),
    [anon_sym_final] = ACTIONS(3547),
    [anon_sym_inout] = ACTIONS(3547),
    [anon_sym_ATescaping] = ACTIONS(3547),
    [anon_sym_ATautoclosure] = ACTIONS(3547),
    [anon_sym_weak] = ACTIONS(3547),
    [anon_sym_unowned] = ACTIONS(3545),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3547),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3547),
    [anon_sym_borrowing] = ACTIONS(3547),
    [anon_sym_consuming] = ACTIONS(3547),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3547),
    [sym__conjunction_operator_custom] = ACTIONS(3547),
    [sym__disjunction_operator_custom] = ACTIONS(3547),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3547),
    [sym__eq_custom] = ACTIONS(3547),
    [sym__eq_eq_custom] = ACTIONS(3547),
    [sym__plus_then_ws] = ACTIONS(3547),
    [sym__minus_then_ws] = ACTIONS(3547),
    [sym__bang_custom] = ACTIONS(3547),
    [sym__as_custom] = ACTIONS(3547),
    [sym__as_quest_custom] = ACTIONS(3547),
    [sym__as_bang_custom] = ACTIONS(3547),
    [sym__custom_operator] = ACTIONS(3547),
  },
  [946] = {
    [anon_sym_BANG] = ACTIONS(3549),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3551),
    [anon_sym_async] = ACTIONS(3551),
    [anon_sym_lazy] = ACTIONS(3551),
    [anon_sym_package] = ACTIONS(3551),
    [anon_sym_RPAREN] = ACTIONS(3551),
    [anon_sym_COMMA] = ACTIONS(3551),
    [anon_sym_COLON] = ACTIONS(3551),
    [anon_sym_LPAREN] = ACTIONS(3551),
    [anon_sym_LBRACK] = ACTIONS(3551),
    [anon_sym_RBRACK] = ACTIONS(3551),
    [anon_sym_QMARK] = ACTIONS(3549),
    [anon_sym_QMARK2] = ACTIONS(3551),
    [anon_sym_AMP] = ACTIONS(3551),
    [aux_sym_custom_operator_token1] = ACTIONS(3551),
    [anon_sym_LT] = ACTIONS(3549),
    [anon_sym_GT] = ACTIONS(3549),
    [anon_sym_LBRACE] = ACTIONS(3551),
    [anon_sym_CARET_LBRACE] = ACTIONS(3551),
    [anon_sym_RBRACE] = ACTIONS(3551),
    [anon_sym_case] = ACTIONS(3551),
    [anon_sym_PLUS_EQ] = ACTIONS(3551),
    [anon_sym_DASH_EQ] = ACTIONS(3551),
    [anon_sym_STAR_EQ] = ACTIONS(3551),
    [anon_sym_SLASH_EQ] = ACTIONS(3551),
    [anon_sym_PERCENT_EQ] = ACTIONS(3551),
    [anon_sym_BANG_EQ] = ACTIONS(3549),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3551),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3551),
    [anon_sym_LT_EQ] = ACTIONS(3551),
    [anon_sym_GT_EQ] = ACTIONS(3551),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3551),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3551),
    [anon_sym_is] = ACTIONS(3551),
    [anon_sym_PLUS] = ACTIONS(3549),
    [anon_sym_DASH] = ACTIONS(3549),
    [anon_sym_STAR] = ACTIONS(3549),
    [anon_sym_SLASH] = ACTIONS(3549),
    [anon_sym_PERCENT] = ACTIONS(3549),
    [anon_sym_PLUS_PLUS] = ACTIONS(3551),
    [anon_sym_DASH_DASH] = ACTIONS(3551),
    [anon_sym_PIPE] = ACTIONS(3551),
    [anon_sym_CARET] = ACTIONS(3549),
    [anon_sym_LT_LT] = ACTIONS(3551),
    [anon_sym_GT_GT] = ACTIONS(3551),
    [anon_sym_import] = ACTIONS(3551),
    [anon_sym_typealias] = ACTIONS(3551),
    [anon_sym_struct] = ACTIONS(3551),
    [anon_sym_class] = ACTIONS(3551),
    [anon_sym_enum] = ACTIONS(3551),
    [anon_sym_protocol] = ACTIONS(3551),
    [anon_sym_let] = ACTIONS(3551),
    [anon_sym_var] = ACTIONS(3551),
    [anon_sym_func] = ACTIONS(3551),
    [anon_sym_extension] = ACTIONS(3551),
    [anon_sym_indirect] = ACTIONS(3551),
    [anon_sym_SEMI] = ACTIONS(3551),
    [anon_sym_init] = ACTIONS(3551),
    [anon_sym_deinit] = ACTIONS(3551),
    [anon_sym_subscript] = ACTIONS(3551),
    [anon_sym_prefix] = ACTIONS(3551),
    [anon_sym_infix] = ACTIONS(3551),
    [anon_sym_postfix] = ACTIONS(3551),
    [anon_sym_precedencegroup] = ACTIONS(3551),
    [anon_sym_associatedtype] = ACTIONS(3551),
    [anon_sym_AT] = ACTIONS(3549),
    [anon_sym_override] = ACTIONS(3551),
    [anon_sym_convenience] = ACTIONS(3551),
    [anon_sym_required] = ACTIONS(3551),
    [anon_sym_nonisolated] = ACTIONS(3551),
    [anon_sym_public] = ACTIONS(3551),
    [anon_sym_private] = ACTIONS(3551),
    [anon_sym_internal] = ACTIONS(3551),
    [anon_sym_fileprivate] = ACTIONS(3551),
    [anon_sym_open] = ACTIONS(3551),
    [anon_sym_mutating] = ACTIONS(3551),
    [anon_sym_nonmutating] = ACTIONS(3551),
    [anon_sym_static] = ACTIONS(3551),
    [anon_sym_dynamic] = ACTIONS(3551),
    [anon_sym_optional] = ACTIONS(3551),
    [anon_sym_distributed] = ACTIONS(3551),
    [anon_sym_final] = ACTIONS(3551),
    [anon_sym_inout] = ACTIONS(3551),
    [anon_sym_ATescaping] = ACTIONS(3551),
    [anon_sym_ATautoclosure] = ACTIONS(3551),
    [anon_sym_weak] = ACTIONS(3551),
    [anon_sym_unowned] = ACTIONS(3549),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3551),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3551),
    [anon_sym_borrowing] = ACTIONS(3551),
    [anon_sym_consuming] = ACTIONS(3551),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3551),
    [sym__conjunction_operator_custom] = ACTIONS(3551),
    [sym__disjunction_operator_custom] = ACTIONS(3551),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3551),
    [sym__eq_custom] = ACTIONS(3551),
    [sym__eq_eq_custom] = ACTIONS(3551),
    [sym__plus_then_ws] = ACTIONS(3551),
    [sym__minus_then_ws] = ACTIONS(3551),
    [sym__bang_custom] = ACTIONS(3551),
    [sym__as_custom] = ACTIONS(3551),
    [sym__as_quest_custom] = ACTIONS(3551),
    [sym__as_bang_custom] = ACTIONS(3551),
    [sym__custom_operator] = ACTIONS(3551),
  },
  [947] = {
    [anon_sym_BANG] = ACTIONS(3553),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3555),
    [anon_sym_async] = ACTIONS(3555),
    [anon_sym_lazy] = ACTIONS(3555),
    [anon_sym_package] = ACTIONS(3555),
    [anon_sym_RPAREN] = ACTIONS(3555),
    [anon_sym_COMMA] = ACTIONS(3555),
    [anon_sym_COLON] = ACTIONS(3555),
    [anon_sym_LPAREN] = ACTIONS(3555),
    [anon_sym_LBRACK] = ACTIONS(3555),
    [anon_sym_RBRACK] = ACTIONS(3555),
    [anon_sym_QMARK] = ACTIONS(3553),
    [anon_sym_QMARK2] = ACTIONS(3555),
    [anon_sym_AMP] = ACTIONS(3555),
    [aux_sym_custom_operator_token1] = ACTIONS(3555),
    [anon_sym_LT] = ACTIONS(3553),
    [anon_sym_GT] = ACTIONS(3553),
    [anon_sym_LBRACE] = ACTIONS(3555),
    [anon_sym_CARET_LBRACE] = ACTIONS(3555),
    [anon_sym_RBRACE] = ACTIONS(3555),
    [anon_sym_case] = ACTIONS(3555),
    [anon_sym_PLUS_EQ] = ACTIONS(3555),
    [anon_sym_DASH_EQ] = ACTIONS(3555),
    [anon_sym_STAR_EQ] = ACTIONS(3555),
    [anon_sym_SLASH_EQ] = ACTIONS(3555),
    [anon_sym_PERCENT_EQ] = ACTIONS(3555),
    [anon_sym_BANG_EQ] = ACTIONS(3553),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3555),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3555),
    [anon_sym_LT_EQ] = ACTIONS(3555),
    [anon_sym_GT_EQ] = ACTIONS(3555),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3555),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3555),
    [anon_sym_is] = ACTIONS(3555),
    [anon_sym_PLUS] = ACTIONS(3553),
    [anon_sym_DASH] = ACTIONS(3553),
    [anon_sym_STAR] = ACTIONS(3553),
    [anon_sym_SLASH] = ACTIONS(3553),
    [anon_sym_PERCENT] = ACTIONS(3553),
    [anon_sym_PLUS_PLUS] = ACTIONS(3555),
    [anon_sym_DASH_DASH] = ACTIONS(3555),
    [anon_sym_PIPE] = ACTIONS(3555),
    [anon_sym_CARET] = ACTIONS(3553),
    [anon_sym_LT_LT] = ACTIONS(3555),
    [anon_sym_GT_GT] = ACTIONS(3555),
    [anon_sym_import] = ACTIONS(3555),
    [anon_sym_typealias] = ACTIONS(3555),
    [anon_sym_struct] = ACTIONS(3555),
    [anon_sym_class] = ACTIONS(3555),
    [anon_sym_enum] = ACTIONS(3555),
    [anon_sym_protocol] = ACTIONS(3555),
    [anon_sym_let] = ACTIONS(3555),
    [anon_sym_var] = ACTIONS(3555),
    [anon_sym_func] = ACTIONS(3555),
    [anon_sym_extension] = ACTIONS(3555),
    [anon_sym_indirect] = ACTIONS(3555),
    [anon_sym_SEMI] = ACTIONS(3555),
    [anon_sym_init] = ACTIONS(3555),
    [anon_sym_deinit] = ACTIONS(3555),
    [anon_sym_subscript] = ACTIONS(3555),
    [anon_sym_prefix] = ACTIONS(3555),
    [anon_sym_infix] = ACTIONS(3555),
    [anon_sym_postfix] = ACTIONS(3555),
    [anon_sym_precedencegroup] = ACTIONS(3555),
    [anon_sym_associatedtype] = ACTIONS(3555),
    [anon_sym_AT] = ACTIONS(3553),
    [anon_sym_override] = ACTIONS(3555),
    [anon_sym_convenience] = ACTIONS(3555),
    [anon_sym_required] = ACTIONS(3555),
    [anon_sym_nonisolated] = ACTIONS(3555),
    [anon_sym_public] = ACTIONS(3555),
    [anon_sym_private] = ACTIONS(3555),
    [anon_sym_internal] = ACTIONS(3555),
    [anon_sym_fileprivate] = ACTIONS(3555),
    [anon_sym_open] = ACTIONS(3555),
    [anon_sym_mutating] = ACTIONS(3555),
    [anon_sym_nonmutating] = ACTIONS(3555),
    [anon_sym_static] = ACTIONS(3555),
    [anon_sym_dynamic] = ACTIONS(3555),
    [anon_sym_optional] = ACTIONS(3555),
    [anon_sym_distributed] = ACTIONS(3555),
    [anon_sym_final] = ACTIONS(3555),
    [anon_sym_inout] = ACTIONS(3555),
    [anon_sym_ATescaping] = ACTIONS(3555),
    [anon_sym_ATautoclosure] = ACTIONS(3555),
    [anon_sym_weak] = ACTIONS(3555),
    [anon_sym_unowned] = ACTIONS(3553),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3555),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3555),
    [anon_sym_borrowing] = ACTIONS(3555),
    [anon_sym_consuming] = ACTIONS(3555),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3555),
    [sym__conjunction_operator_custom] = ACTIONS(3555),
    [sym__disjunction_operator_custom] = ACTIONS(3555),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3555),
    [sym__eq_custom] = ACTIONS(3555),
    [sym__eq_eq_custom] = ACTIONS(3555),
    [sym__plus_then_ws] = ACTIONS(3555),
    [sym__minus_then_ws] = ACTIONS(3555),
    [sym__bang_custom] = ACTIONS(3555),
    [sym__as_custom] = ACTIONS(3555),
    [sym__as_quest_custom] = ACTIONS(3555),
    [sym__as_bang_custom] = ACTIONS(3555),
    [sym__custom_operator] = ACTIONS(3555),
  },
  [948] = {
    [anon_sym_BANG] = ACTIONS(3557),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3559),
    [anon_sym_async] = ACTIONS(3559),
    [anon_sym_lazy] = ACTIONS(3559),
    [anon_sym_package] = ACTIONS(3559),
    [anon_sym_RPAREN] = ACTIONS(3559),
    [anon_sym_COMMA] = ACTIONS(3559),
    [anon_sym_COLON] = ACTIONS(3559),
    [anon_sym_LPAREN] = ACTIONS(3559),
    [anon_sym_LBRACK] = ACTIONS(3559),
    [anon_sym_RBRACK] = ACTIONS(3559),
    [anon_sym_QMARK] = ACTIONS(3557),
    [anon_sym_QMARK2] = ACTIONS(3559),
    [anon_sym_AMP] = ACTIONS(3559),
    [aux_sym_custom_operator_token1] = ACTIONS(3559),
    [anon_sym_LT] = ACTIONS(3557),
    [anon_sym_GT] = ACTIONS(3557),
    [anon_sym_LBRACE] = ACTIONS(3559),
    [anon_sym_CARET_LBRACE] = ACTIONS(3559),
    [anon_sym_RBRACE] = ACTIONS(3559),
    [anon_sym_case] = ACTIONS(3559),
    [anon_sym_PLUS_EQ] = ACTIONS(3559),
    [anon_sym_DASH_EQ] = ACTIONS(3559),
    [anon_sym_STAR_EQ] = ACTIONS(3559),
    [anon_sym_SLASH_EQ] = ACTIONS(3559),
    [anon_sym_PERCENT_EQ] = ACTIONS(3559),
    [anon_sym_BANG_EQ] = ACTIONS(3557),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3559),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3559),
    [anon_sym_LT_EQ] = ACTIONS(3559),
    [anon_sym_GT_EQ] = ACTIONS(3559),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3559),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3559),
    [anon_sym_is] = ACTIONS(3559),
    [anon_sym_PLUS] = ACTIONS(3557),
    [anon_sym_DASH] = ACTIONS(3557),
    [anon_sym_STAR] = ACTIONS(3557),
    [anon_sym_SLASH] = ACTIONS(3557),
    [anon_sym_PERCENT] = ACTIONS(3557),
    [anon_sym_PLUS_PLUS] = ACTIONS(3559),
    [anon_sym_DASH_DASH] = ACTIONS(3559),
    [anon_sym_PIPE] = ACTIONS(3559),
    [anon_sym_CARET] = ACTIONS(3557),
    [anon_sym_LT_LT] = ACTIONS(3559),
    [anon_sym_GT_GT] = ACTIONS(3559),
    [anon_sym_import] = ACTIONS(3559),
    [anon_sym_typealias] = ACTIONS(3559),
    [anon_sym_struct] = ACTIONS(3559),
    [anon_sym_class] = ACTIONS(3559),
    [anon_sym_enum] = ACTIONS(3559),
    [anon_sym_protocol] = ACTIONS(3559),
    [anon_sym_let] = ACTIONS(3559),
    [anon_sym_var] = ACTIONS(3559),
    [anon_sym_func] = ACTIONS(3559),
    [anon_sym_extension] = ACTIONS(3559),
    [anon_sym_indirect] = ACTIONS(3559),
    [anon_sym_SEMI] = ACTIONS(3559),
    [anon_sym_init] = ACTIONS(3559),
    [anon_sym_deinit] = ACTIONS(3559),
    [anon_sym_subscript] = ACTIONS(3559),
    [anon_sym_prefix] = ACTIONS(3559),
    [anon_sym_infix] = ACTIONS(3559),
    [anon_sym_postfix] = ACTIONS(3559),
    [anon_sym_precedencegroup] = ACTIONS(3559),
    [anon_sym_associatedtype] = ACTIONS(3559),
    [anon_sym_AT] = ACTIONS(3557),
    [anon_sym_override] = ACTIONS(3559),
    [anon_sym_convenience] = ACTIONS(3559),
    [anon_sym_required] = ACTIONS(3559),
    [anon_sym_nonisolated] = ACTIONS(3559),
    [anon_sym_public] = ACTIONS(3559),
    [anon_sym_private] = ACTIONS(3559),
    [anon_sym_internal] = ACTIONS(3559),
    [anon_sym_fileprivate] = ACTIONS(3559),
    [anon_sym_open] = ACTIONS(3559),
    [anon_sym_mutating] = ACTIONS(3559),
    [anon_sym_nonmutating] = ACTIONS(3559),
    [anon_sym_static] = ACTIONS(3559),
    [anon_sym_dynamic] = ACTIONS(3559),
    [anon_sym_optional] = ACTIONS(3559),
    [anon_sym_distributed] = ACTIONS(3559),
    [anon_sym_final] = ACTIONS(3559),
    [anon_sym_inout] = ACTIONS(3559),
    [anon_sym_ATescaping] = ACTIONS(3559),
    [anon_sym_ATautoclosure] = ACTIONS(3559),
    [anon_sym_weak] = ACTIONS(3559),
    [anon_sym_unowned] = ACTIONS(3557),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3559),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3559),
    [anon_sym_borrowing] = ACTIONS(3559),
    [anon_sym_consuming] = ACTIONS(3559),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3559),
    [sym__conjunction_operator_custom] = ACTIONS(3559),
    [sym__disjunction_operator_custom] = ACTIONS(3559),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3559),
    [sym__eq_custom] = ACTIONS(3559),
    [sym__eq_eq_custom] = ACTIONS(3559),
    [sym__plus_then_ws] = ACTIONS(3559),
    [sym__minus_then_ws] = ACTIONS(3559),
    [sym__bang_custom] = ACTIONS(3559),
    [sym__as_custom] = ACTIONS(3559),
    [sym__as_quest_custom] = ACTIONS(3559),
    [sym__as_bang_custom] = ACTIONS(3559),
    [sym__custom_operator] = ACTIONS(3559),
  },
  [949] = {
    [anon_sym_BANG] = ACTIONS(3561),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3563),
    [anon_sym_async] = ACTIONS(3563),
    [anon_sym_lazy] = ACTIONS(3563),
    [anon_sym_package] = ACTIONS(3563),
    [anon_sym_RPAREN] = ACTIONS(3563),
    [anon_sym_COMMA] = ACTIONS(3563),
    [anon_sym_COLON] = ACTIONS(3563),
    [anon_sym_LPAREN] = ACTIONS(3563),
    [anon_sym_LBRACK] = ACTIONS(3563),
    [anon_sym_RBRACK] = ACTIONS(3563),
    [anon_sym_QMARK] = ACTIONS(3561),
    [anon_sym_QMARK2] = ACTIONS(3563),
    [anon_sym_AMP] = ACTIONS(3563),
    [aux_sym_custom_operator_token1] = ACTIONS(3563),
    [anon_sym_LT] = ACTIONS(3561),
    [anon_sym_GT] = ACTIONS(3561),
    [anon_sym_LBRACE] = ACTIONS(3563),
    [anon_sym_CARET_LBRACE] = ACTIONS(3563),
    [anon_sym_RBRACE] = ACTIONS(3563),
    [anon_sym_case] = ACTIONS(3563),
    [anon_sym_PLUS_EQ] = ACTIONS(3563),
    [anon_sym_DASH_EQ] = ACTIONS(3563),
    [anon_sym_STAR_EQ] = ACTIONS(3563),
    [anon_sym_SLASH_EQ] = ACTIONS(3563),
    [anon_sym_PERCENT_EQ] = ACTIONS(3563),
    [anon_sym_BANG_EQ] = ACTIONS(3561),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3563),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3563),
    [anon_sym_LT_EQ] = ACTIONS(3563),
    [anon_sym_GT_EQ] = ACTIONS(3563),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3563),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3563),
    [anon_sym_is] = ACTIONS(3563),
    [anon_sym_PLUS] = ACTIONS(3561),
    [anon_sym_DASH] = ACTIONS(3561),
    [anon_sym_STAR] = ACTIONS(3561),
    [anon_sym_SLASH] = ACTIONS(3561),
    [anon_sym_PERCENT] = ACTIONS(3561),
    [anon_sym_PLUS_PLUS] = ACTIONS(3563),
    [anon_sym_DASH_DASH] = ACTIONS(3563),
    [anon_sym_PIPE] = ACTIONS(3563),
    [anon_sym_CARET] = ACTIONS(3561),
    [anon_sym_LT_LT] = ACTIONS(3563),
    [anon_sym_GT_GT] = ACTIONS(3563),
    [anon_sym_import] = ACTIONS(3563),
    [anon_sym_typealias] = ACTIONS(3563),
    [anon_sym_struct] = ACTIONS(3563),
    [anon_sym_class] = ACTIONS(3563),
    [anon_sym_enum] = ACTIONS(3563),
    [anon_sym_protocol] = ACTIONS(3563),
    [anon_sym_let] = ACTIONS(3563),
    [anon_sym_var] = ACTIONS(3563),
    [anon_sym_func] = ACTIONS(3563),
    [anon_sym_extension] = ACTIONS(3563),
    [anon_sym_indirect] = ACTIONS(3563),
    [anon_sym_SEMI] = ACTIONS(3563),
    [anon_sym_init] = ACTIONS(3563),
    [anon_sym_deinit] = ACTIONS(3563),
    [anon_sym_subscript] = ACTIONS(3563),
    [anon_sym_prefix] = ACTIONS(3563),
    [anon_sym_infix] = ACTIONS(3563),
    [anon_sym_postfix] = ACTIONS(3563),
    [anon_sym_precedencegroup] = ACTIONS(3563),
    [anon_sym_associatedtype] = ACTIONS(3563),
    [anon_sym_AT] = ACTIONS(3561),
    [anon_sym_override] = ACTIONS(3563),
    [anon_sym_convenience] = ACTIONS(3563),
    [anon_sym_required] = ACTIONS(3563),
    [anon_sym_nonisolated] = ACTIONS(3563),
    [anon_sym_public] = ACTIONS(3563),
    [anon_sym_private] = ACTIONS(3563),
    [anon_sym_internal] = ACTIONS(3563),
    [anon_sym_fileprivate] = ACTIONS(3563),
    [anon_sym_open] = ACTIONS(3563),
    [anon_sym_mutating] = ACTIONS(3563),
    [anon_sym_nonmutating] = ACTIONS(3563),
    [anon_sym_static] = ACTIONS(3563),
    [anon_sym_dynamic] = ACTIONS(3563),
    [anon_sym_optional] = ACTIONS(3563),
    [anon_sym_distributed] = ACTIONS(3563),
    [anon_sym_final] = ACTIONS(3563),
    [anon_sym_inout] = ACTIONS(3563),
    [anon_sym_ATescaping] = ACTIONS(3563),
    [anon_sym_ATautoclosure] = ACTIONS(3563),
    [anon_sym_weak] = ACTIONS(3563),
    [anon_sym_unowned] = ACTIONS(3561),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3563),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3563),
    [anon_sym_borrowing] = ACTIONS(3563),
    [anon_sym_consuming] = ACTIONS(3563),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3563),
    [sym__conjunction_operator_custom] = ACTIONS(3563),
    [sym__disjunction_operator_custom] = ACTIONS(3563),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3563),
    [sym__eq_custom] = ACTIONS(3563),
    [sym__eq_eq_custom] = ACTIONS(3563),
    [sym__plus_then_ws] = ACTIONS(3563),
    [sym__minus_then_ws] = ACTIONS(3563),
    [sym__bang_custom] = ACTIONS(3563),
    [sym__as_custom] = ACTIONS(3563),
    [sym__as_quest_custom] = ACTIONS(3563),
    [sym__as_bang_custom] = ACTIONS(3563),
    [sym__custom_operator] = ACTIONS(3563),
  },
  [950] = {
    [anon_sym_BANG] = ACTIONS(3565),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3567),
    [anon_sym_async] = ACTIONS(3567),
    [anon_sym_lazy] = ACTIONS(3567),
    [anon_sym_package] = ACTIONS(3567),
    [anon_sym_RPAREN] = ACTIONS(3567),
    [anon_sym_COMMA] = ACTIONS(3567),
    [anon_sym_COLON] = ACTIONS(3567),
    [anon_sym_LPAREN] = ACTIONS(3567),
    [anon_sym_LBRACK] = ACTIONS(3567),
    [anon_sym_RBRACK] = ACTIONS(3567),
    [anon_sym_QMARK] = ACTIONS(3565),
    [anon_sym_QMARK2] = ACTIONS(3567),
    [anon_sym_AMP] = ACTIONS(3567),
    [aux_sym_custom_operator_token1] = ACTIONS(3567),
    [anon_sym_LT] = ACTIONS(3565),
    [anon_sym_GT] = ACTIONS(3565),
    [anon_sym_LBRACE] = ACTIONS(3567),
    [anon_sym_CARET_LBRACE] = ACTIONS(3567),
    [anon_sym_RBRACE] = ACTIONS(3567),
    [anon_sym_case] = ACTIONS(3567),
    [anon_sym_PLUS_EQ] = ACTIONS(3567),
    [anon_sym_DASH_EQ] = ACTIONS(3567),
    [anon_sym_STAR_EQ] = ACTIONS(3567),
    [anon_sym_SLASH_EQ] = ACTIONS(3567),
    [anon_sym_PERCENT_EQ] = ACTIONS(3567),
    [anon_sym_BANG_EQ] = ACTIONS(3565),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3567),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3567),
    [anon_sym_LT_EQ] = ACTIONS(3567),
    [anon_sym_GT_EQ] = ACTIONS(3567),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3567),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3567),
    [anon_sym_is] = ACTIONS(3567),
    [anon_sym_PLUS] = ACTIONS(3565),
    [anon_sym_DASH] = ACTIONS(3565),
    [anon_sym_STAR] = ACTIONS(3565),
    [anon_sym_SLASH] = ACTIONS(3565),
    [anon_sym_PERCENT] = ACTIONS(3565),
    [anon_sym_PLUS_PLUS] = ACTIONS(3567),
    [anon_sym_DASH_DASH] = ACTIONS(3567),
    [anon_sym_PIPE] = ACTIONS(3567),
    [anon_sym_CARET] = ACTIONS(3565),
    [anon_sym_LT_LT] = ACTIONS(3567),
    [anon_sym_GT_GT] = ACTIONS(3567),
    [anon_sym_import] = ACTIONS(3567),
    [anon_sym_typealias] = ACTIONS(3567),
    [anon_sym_struct] = ACTIONS(3567),
    [anon_sym_class] = ACTIONS(3567),
    [anon_sym_enum] = ACTIONS(3567),
    [anon_sym_protocol] = ACTIONS(3567),
    [anon_sym_let] = ACTIONS(3567),
    [anon_sym_var] = ACTIONS(3567),
    [anon_sym_func] = ACTIONS(3567),
    [anon_sym_extension] = ACTIONS(3567),
    [anon_sym_indirect] = ACTIONS(3567),
    [anon_sym_SEMI] = ACTIONS(3567),
    [anon_sym_init] = ACTIONS(3567),
    [anon_sym_deinit] = ACTIONS(3567),
    [anon_sym_subscript] = ACTIONS(3567),
    [anon_sym_prefix] = ACTIONS(3567),
    [anon_sym_infix] = ACTIONS(3567),
    [anon_sym_postfix] = ACTIONS(3567),
    [anon_sym_precedencegroup] = ACTIONS(3567),
    [anon_sym_associatedtype] = ACTIONS(3567),
    [anon_sym_AT] = ACTIONS(3565),
    [anon_sym_override] = ACTIONS(3567),
    [anon_sym_convenience] = ACTIONS(3567),
    [anon_sym_required] = ACTIONS(3567),
    [anon_sym_nonisolated] = ACTIONS(3567),
    [anon_sym_public] = ACTIONS(3567),
    [anon_sym_private] = ACTIONS(3567),
    [anon_sym_internal] = ACTIONS(3567),
    [anon_sym_fileprivate] = ACTIONS(3567),
    [anon_sym_open] = ACTIONS(3567),
    [anon_sym_mutating] = ACTIONS(3567),
    [anon_sym_nonmutating] = ACTIONS(3567),
    [anon_sym_static] = ACTIONS(3567),
    [anon_sym_dynamic] = ACTIONS(3567),
    [anon_sym_optional] = ACTIONS(3567),
    [anon_sym_distributed] = ACTIONS(3567),
    [anon_sym_final] = ACTIONS(3567),
    [anon_sym_inout] = ACTIONS(3567),
    [anon_sym_ATescaping] = ACTIONS(3567),
    [anon_sym_ATautoclosure] = ACTIONS(3567),
    [anon_sym_weak] = ACTIONS(3567),
    [anon_sym_unowned] = ACTIONS(3565),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3567),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3567),
    [anon_sym_borrowing] = ACTIONS(3567),
    [anon_sym_consuming] = ACTIONS(3567),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3567),
    [sym__conjunction_operator_custom] = ACTIONS(3567),
    [sym__disjunction_operator_custom] = ACTIONS(3567),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3567),
    [sym__eq_custom] = ACTIONS(3567),
    [sym__eq_eq_custom] = ACTIONS(3567),
    [sym__plus_then_ws] = ACTIONS(3567),
    [sym__minus_then_ws] = ACTIONS(3567),
    [sym__bang_custom] = ACTIONS(3567),
    [sym__as_custom] = ACTIONS(3567),
    [sym__as_quest_custom] = ACTIONS(3567),
    [sym__as_bang_custom] = ACTIONS(3567),
    [sym__custom_operator] = ACTIONS(3567),
  },
  [951] = {
    [anon_sym_BANG] = ACTIONS(3569),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3571),
    [anon_sym_async] = ACTIONS(3571),
    [anon_sym_lazy] = ACTIONS(3571),
    [anon_sym_package] = ACTIONS(3571),
    [anon_sym_RPAREN] = ACTIONS(3571),
    [anon_sym_COMMA] = ACTIONS(3571),
    [anon_sym_COLON] = ACTIONS(3571),
    [anon_sym_LPAREN] = ACTIONS(3571),
    [anon_sym_LBRACK] = ACTIONS(3571),
    [anon_sym_RBRACK] = ACTIONS(3571),
    [anon_sym_QMARK] = ACTIONS(3569),
    [anon_sym_QMARK2] = ACTIONS(3571),
    [anon_sym_AMP] = ACTIONS(3571),
    [aux_sym_custom_operator_token1] = ACTIONS(3571),
    [anon_sym_LT] = ACTIONS(3569),
    [anon_sym_GT] = ACTIONS(3569),
    [anon_sym_LBRACE] = ACTIONS(3571),
    [anon_sym_CARET_LBRACE] = ACTIONS(3571),
    [anon_sym_RBRACE] = ACTIONS(3571),
    [anon_sym_case] = ACTIONS(3571),
    [anon_sym_PLUS_EQ] = ACTIONS(3571),
    [anon_sym_DASH_EQ] = ACTIONS(3571),
    [anon_sym_STAR_EQ] = ACTIONS(3571),
    [anon_sym_SLASH_EQ] = ACTIONS(3571),
    [anon_sym_PERCENT_EQ] = ACTIONS(3571),
    [anon_sym_BANG_EQ] = ACTIONS(3569),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3571),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3571),
    [anon_sym_LT_EQ] = ACTIONS(3571),
    [anon_sym_GT_EQ] = ACTIONS(3571),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3571),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3571),
    [anon_sym_is] = ACTIONS(3571),
    [anon_sym_PLUS] = ACTIONS(3569),
    [anon_sym_DASH] = ACTIONS(3569),
    [anon_sym_STAR] = ACTIONS(3569),
    [anon_sym_SLASH] = ACTIONS(3569),
    [anon_sym_PERCENT] = ACTIONS(3569),
    [anon_sym_PLUS_PLUS] = ACTIONS(3571),
    [anon_sym_DASH_DASH] = ACTIONS(3571),
    [anon_sym_PIPE] = ACTIONS(3571),
    [anon_sym_CARET] = ACTIONS(3569),
    [anon_sym_LT_LT] = ACTIONS(3571),
    [anon_sym_GT_GT] = ACTIONS(3571),
    [anon_sym_import] = ACTIONS(3571),
    [anon_sym_typealias] = ACTIONS(3571),
    [anon_sym_struct] = ACTIONS(3571),
    [anon_sym_class] = ACTIONS(3571),
    [anon_sym_enum] = ACTIONS(3571),
    [anon_sym_protocol] = ACTIONS(3571),
    [anon_sym_let] = ACTIONS(3571),
    [anon_sym_var] = ACTIONS(3571),
    [anon_sym_func] = ACTIONS(3571),
    [anon_sym_extension] = ACTIONS(3571),
    [anon_sym_indirect] = ACTIONS(3571),
    [anon_sym_SEMI] = ACTIONS(3571),
    [anon_sym_init] = ACTIONS(3571),
    [anon_sym_deinit] = ACTIONS(3571),
    [anon_sym_subscript] = ACTIONS(3571),
    [anon_sym_prefix] = ACTIONS(3571),
    [anon_sym_infix] = ACTIONS(3571),
    [anon_sym_postfix] = ACTIONS(3571),
    [anon_sym_precedencegroup] = ACTIONS(3571),
    [anon_sym_associatedtype] = ACTIONS(3571),
    [anon_sym_AT] = ACTIONS(3569),
    [anon_sym_override] = ACTIONS(3571),
    [anon_sym_convenience] = ACTIONS(3571),
    [anon_sym_required] = ACTIONS(3571),
    [anon_sym_nonisolated] = ACTIONS(3571),
    [anon_sym_public] = ACTIONS(3571),
    [anon_sym_private] = ACTIONS(3571),
    [anon_sym_internal] = ACTIONS(3571),
    [anon_sym_fileprivate] = ACTIONS(3571),
    [anon_sym_open] = ACTIONS(3571),
    [anon_sym_mutating] = ACTIONS(3571),
    [anon_sym_nonmutating] = ACTIONS(3571),
    [anon_sym_static] = ACTIONS(3571),
    [anon_sym_dynamic] = ACTIONS(3571),
    [anon_sym_optional] = ACTIONS(3571),
    [anon_sym_distributed] = ACTIONS(3571),
    [anon_sym_final] = ACTIONS(3571),
    [anon_sym_inout] = ACTIONS(3571),
    [anon_sym_ATescaping] = ACTIONS(3571),
    [anon_sym_ATautoclosure] = ACTIONS(3571),
    [anon_sym_weak] = ACTIONS(3571),
    [anon_sym_unowned] = ACTIONS(3569),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3571),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3571),
    [anon_sym_borrowing] = ACTIONS(3571),
    [anon_sym_consuming] = ACTIONS(3571),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3571),
    [sym__conjunction_operator_custom] = ACTIONS(3571),
    [sym__disjunction_operator_custom] = ACTIONS(3571),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3571),
    [sym__eq_custom] = ACTIONS(3571),
    [sym__eq_eq_custom] = ACTIONS(3571),
    [sym__plus_then_ws] = ACTIONS(3571),
    [sym__minus_then_ws] = ACTIONS(3571),
    [sym__bang_custom] = ACTIONS(3571),
    [sym__as_custom] = ACTIONS(3571),
    [sym__as_quest_custom] = ACTIONS(3571),
    [sym__as_bang_custom] = ACTIONS(3571),
    [sym__custom_operator] = ACTIONS(3571),
  },
  [952] = {
    [anon_sym_BANG] = ACTIONS(3573),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3575),
    [anon_sym_async] = ACTIONS(3575),
    [anon_sym_lazy] = ACTIONS(3575),
    [anon_sym_package] = ACTIONS(3575),
    [anon_sym_RPAREN] = ACTIONS(3575),
    [anon_sym_COMMA] = ACTIONS(3575),
    [anon_sym_COLON] = ACTIONS(3575),
    [anon_sym_LPAREN] = ACTIONS(3575),
    [anon_sym_LBRACK] = ACTIONS(3575),
    [anon_sym_RBRACK] = ACTIONS(3575),
    [anon_sym_QMARK] = ACTIONS(3573),
    [anon_sym_QMARK2] = ACTIONS(3575),
    [anon_sym_AMP] = ACTIONS(3575),
    [aux_sym_custom_operator_token1] = ACTIONS(3575),
    [anon_sym_LT] = ACTIONS(3573),
    [anon_sym_GT] = ACTIONS(3573),
    [anon_sym_LBRACE] = ACTIONS(3575),
    [anon_sym_CARET_LBRACE] = ACTIONS(3575),
    [anon_sym_RBRACE] = ACTIONS(3575),
    [anon_sym_case] = ACTIONS(3575),
    [anon_sym_PLUS_EQ] = ACTIONS(3575),
    [anon_sym_DASH_EQ] = ACTIONS(3575),
    [anon_sym_STAR_EQ] = ACTIONS(3575),
    [anon_sym_SLASH_EQ] = ACTIONS(3575),
    [anon_sym_PERCENT_EQ] = ACTIONS(3575),
    [anon_sym_BANG_EQ] = ACTIONS(3573),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3575),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3575),
    [anon_sym_LT_EQ] = ACTIONS(3575),
    [anon_sym_GT_EQ] = ACTIONS(3575),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3575),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3575),
    [anon_sym_is] = ACTIONS(3575),
    [anon_sym_PLUS] = ACTIONS(3573),
    [anon_sym_DASH] = ACTIONS(3573),
    [anon_sym_STAR] = ACTIONS(3573),
    [anon_sym_SLASH] = ACTIONS(3573),
    [anon_sym_PERCENT] = ACTIONS(3573),
    [anon_sym_PLUS_PLUS] = ACTIONS(3575),
    [anon_sym_DASH_DASH] = ACTIONS(3575),
    [anon_sym_PIPE] = ACTIONS(3575),
    [anon_sym_CARET] = ACTIONS(3573),
    [anon_sym_LT_LT] = ACTIONS(3575),
    [anon_sym_GT_GT] = ACTIONS(3575),
    [anon_sym_import] = ACTIONS(3575),
    [anon_sym_typealias] = ACTIONS(3575),
    [anon_sym_struct] = ACTIONS(3575),
    [anon_sym_class] = ACTIONS(3575),
    [anon_sym_enum] = ACTIONS(3575),
    [anon_sym_protocol] = ACTIONS(3575),
    [anon_sym_let] = ACTIONS(3575),
    [anon_sym_var] = ACTIONS(3575),
    [anon_sym_func] = ACTIONS(3575),
    [anon_sym_extension] = ACTIONS(3575),
    [anon_sym_indirect] = ACTIONS(3575),
    [anon_sym_SEMI] = ACTIONS(3575),
    [anon_sym_init] = ACTIONS(3575),
    [anon_sym_deinit] = ACTIONS(3575),
    [anon_sym_subscript] = ACTIONS(3575),
    [anon_sym_prefix] = ACTIONS(3575),
    [anon_sym_infix] = ACTIONS(3575),
    [anon_sym_postfix] = ACTIONS(3575),
    [anon_sym_precedencegroup] = ACTIONS(3575),
    [anon_sym_associatedtype] = ACTIONS(3575),
    [anon_sym_AT] = ACTIONS(3573),
    [anon_sym_override] = ACTIONS(3575),
    [anon_sym_convenience] = ACTIONS(3575),
    [anon_sym_required] = ACTIONS(3575),
    [anon_sym_nonisolated] = ACTIONS(3575),
    [anon_sym_public] = ACTIONS(3575),
    [anon_sym_private] = ACTIONS(3575),
    [anon_sym_internal] = ACTIONS(3575),
    [anon_sym_fileprivate] = ACTIONS(3575),
    [anon_sym_open] = ACTIONS(3575),
    [anon_sym_mutating] = ACTIONS(3575),
    [anon_sym_nonmutating] = ACTIONS(3575),
    [anon_sym_static] = ACTIONS(3575),
    [anon_sym_dynamic] = ACTIONS(3575),
    [anon_sym_optional] = ACTIONS(3575),
    [anon_sym_distributed] = ACTIONS(3575),
    [anon_sym_final] = ACTIONS(3575),
    [anon_sym_inout] = ACTIONS(3575),
    [anon_sym_ATescaping] = ACTIONS(3575),
    [anon_sym_ATautoclosure] = ACTIONS(3575),
    [anon_sym_weak] = ACTIONS(3575),
    [anon_sym_unowned] = ACTIONS(3573),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3575),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3575),
    [anon_sym_borrowing] = ACTIONS(3575),
    [anon_sym_consuming] = ACTIONS(3575),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3575),
    [sym__conjunction_operator_custom] = ACTIONS(3575),
    [sym__disjunction_operator_custom] = ACTIONS(3575),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3575),
    [sym__eq_custom] = ACTIONS(3575),
    [sym__eq_eq_custom] = ACTIONS(3575),
    [sym__plus_then_ws] = ACTIONS(3575),
    [sym__minus_then_ws] = ACTIONS(3575),
    [sym__bang_custom] = ACTIONS(3575),
    [sym__as_custom] = ACTIONS(3575),
    [sym__as_quest_custom] = ACTIONS(3575),
    [sym__as_bang_custom] = ACTIONS(3575),
    [sym__custom_operator] = ACTIONS(3575),
  },
  [953] = {
    [anon_sym_BANG] = ACTIONS(3577),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3579),
    [anon_sym_async] = ACTIONS(3579),
    [anon_sym_lazy] = ACTIONS(3579),
    [anon_sym_package] = ACTIONS(3579),
    [anon_sym_RPAREN] = ACTIONS(3579),
    [anon_sym_COMMA] = ACTIONS(3579),
    [anon_sym_COLON] = ACTIONS(3579),
    [anon_sym_LPAREN] = ACTIONS(3579),
    [anon_sym_LBRACK] = ACTIONS(3579),
    [anon_sym_RBRACK] = ACTIONS(3579),
    [anon_sym_QMARK] = ACTIONS(3577),
    [anon_sym_QMARK2] = ACTIONS(3579),
    [anon_sym_AMP] = ACTIONS(3579),
    [aux_sym_custom_operator_token1] = ACTIONS(3579),
    [anon_sym_LT] = ACTIONS(3577),
    [anon_sym_GT] = ACTIONS(3577),
    [anon_sym_LBRACE] = ACTIONS(3579),
    [anon_sym_CARET_LBRACE] = ACTIONS(3579),
    [anon_sym_RBRACE] = ACTIONS(3579),
    [anon_sym_case] = ACTIONS(3579),
    [anon_sym_PLUS_EQ] = ACTIONS(3579),
    [anon_sym_DASH_EQ] = ACTIONS(3579),
    [anon_sym_STAR_EQ] = ACTIONS(3579),
    [anon_sym_SLASH_EQ] = ACTIONS(3579),
    [anon_sym_PERCENT_EQ] = ACTIONS(3579),
    [anon_sym_BANG_EQ] = ACTIONS(3577),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3579),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3579),
    [anon_sym_LT_EQ] = ACTIONS(3579),
    [anon_sym_GT_EQ] = ACTIONS(3579),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3579),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3579),
    [anon_sym_is] = ACTIONS(3579),
    [anon_sym_PLUS] = ACTIONS(3577),
    [anon_sym_DASH] = ACTIONS(3577),
    [anon_sym_STAR] = ACTIONS(3577),
    [anon_sym_SLASH] = ACTIONS(3577),
    [anon_sym_PERCENT] = ACTIONS(3577),
    [anon_sym_PLUS_PLUS] = ACTIONS(3579),
    [anon_sym_DASH_DASH] = ACTIONS(3579),
    [anon_sym_PIPE] = ACTIONS(3579),
    [anon_sym_CARET] = ACTIONS(3577),
    [anon_sym_LT_LT] = ACTIONS(3579),
    [anon_sym_GT_GT] = ACTIONS(3579),
    [anon_sym_import] = ACTIONS(3579),
    [anon_sym_typealias] = ACTIONS(3579),
    [anon_sym_struct] = ACTIONS(3579),
    [anon_sym_class] = ACTIONS(3579),
    [anon_sym_enum] = ACTIONS(3579),
    [anon_sym_protocol] = ACTIONS(3579),
    [anon_sym_let] = ACTIONS(3579),
    [anon_sym_var] = ACTIONS(3579),
    [anon_sym_func] = ACTIONS(3579),
    [anon_sym_extension] = ACTIONS(3579),
    [anon_sym_indirect] = ACTIONS(3579),
    [anon_sym_SEMI] = ACTIONS(3579),
    [anon_sym_init] = ACTIONS(3579),
    [anon_sym_deinit] = ACTIONS(3579),
    [anon_sym_subscript] = ACTIONS(3579),
    [anon_sym_prefix] = ACTIONS(3579),
    [anon_sym_infix] = ACTIONS(3579),
    [anon_sym_postfix] = ACTIONS(3579),
    [anon_sym_precedencegroup] = ACTIONS(3579),
    [anon_sym_associatedtype] = ACTIONS(3579),
    [anon_sym_AT] = ACTIONS(3577),
    [anon_sym_override] = ACTIONS(3579),
    [anon_sym_convenience] = ACTIONS(3579),
    [anon_sym_required] = ACTIONS(3579),
    [anon_sym_nonisolated] = ACTIONS(3579),
    [anon_sym_public] = ACTIONS(3579),
    [anon_sym_private] = ACTIONS(3579),
    [anon_sym_internal] = ACTIONS(3579),
    [anon_sym_fileprivate] = ACTIONS(3579),
    [anon_sym_open] = ACTIONS(3579),
    [anon_sym_mutating] = ACTIONS(3579),
    [anon_sym_nonmutating] = ACTIONS(3579),
    [anon_sym_static] = ACTIONS(3579),
    [anon_sym_dynamic] = ACTIONS(3579),
    [anon_sym_optional] = ACTIONS(3579),
    [anon_sym_distributed] = ACTIONS(3579),
    [anon_sym_final] = ACTIONS(3579),
    [anon_sym_inout] = ACTIONS(3579),
    [anon_sym_ATescaping] = ACTIONS(3579),
    [anon_sym_ATautoclosure] = ACTIONS(3579),
    [anon_sym_weak] = ACTIONS(3579),
    [anon_sym_unowned] = ACTIONS(3577),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3579),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3579),
    [anon_sym_borrowing] = ACTIONS(3579),
    [anon_sym_consuming] = ACTIONS(3579),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3579),
    [sym__conjunction_operator_custom] = ACTIONS(3579),
    [sym__disjunction_operator_custom] = ACTIONS(3579),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3579),
    [sym__eq_custom] = ACTIONS(3579),
    [sym__eq_eq_custom] = ACTIONS(3579),
    [sym__plus_then_ws] = ACTIONS(3579),
    [sym__minus_then_ws] = ACTIONS(3579),
    [sym__bang_custom] = ACTIONS(3579),
    [sym__as_custom] = ACTIONS(3579),
    [sym__as_quest_custom] = ACTIONS(3579),
    [sym__as_bang_custom] = ACTIONS(3579),
    [sym__custom_operator] = ACTIONS(3579),
  },
  [954] = {
    [anon_sym_BANG] = ACTIONS(3581),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3583),
    [anon_sym_async] = ACTIONS(3583),
    [anon_sym_lazy] = ACTIONS(3583),
    [anon_sym_package] = ACTIONS(3583),
    [anon_sym_RPAREN] = ACTIONS(3583),
    [anon_sym_COMMA] = ACTIONS(3583),
    [anon_sym_COLON] = ACTIONS(3583),
    [anon_sym_LPAREN] = ACTIONS(3583),
    [anon_sym_LBRACK] = ACTIONS(3583),
    [anon_sym_RBRACK] = ACTIONS(3583),
    [anon_sym_QMARK] = ACTIONS(3581),
    [anon_sym_QMARK2] = ACTIONS(3583),
    [anon_sym_AMP] = ACTIONS(3583),
    [aux_sym_custom_operator_token1] = ACTIONS(3583),
    [anon_sym_LT] = ACTIONS(3581),
    [anon_sym_GT] = ACTIONS(3581),
    [anon_sym_LBRACE] = ACTIONS(3583),
    [anon_sym_CARET_LBRACE] = ACTIONS(3583),
    [anon_sym_RBRACE] = ACTIONS(3583),
    [anon_sym_case] = ACTIONS(3583),
    [anon_sym_PLUS_EQ] = ACTIONS(3583),
    [anon_sym_DASH_EQ] = ACTIONS(3583),
    [anon_sym_STAR_EQ] = ACTIONS(3583),
    [anon_sym_SLASH_EQ] = ACTIONS(3583),
    [anon_sym_PERCENT_EQ] = ACTIONS(3583),
    [anon_sym_BANG_EQ] = ACTIONS(3581),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3583),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3583),
    [anon_sym_LT_EQ] = ACTIONS(3583),
    [anon_sym_GT_EQ] = ACTIONS(3583),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3583),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3583),
    [anon_sym_is] = ACTIONS(3583),
    [anon_sym_PLUS] = ACTIONS(3581),
    [anon_sym_DASH] = ACTIONS(3581),
    [anon_sym_STAR] = ACTIONS(3581),
    [anon_sym_SLASH] = ACTIONS(3581),
    [anon_sym_PERCENT] = ACTIONS(3581),
    [anon_sym_PLUS_PLUS] = ACTIONS(3583),
    [anon_sym_DASH_DASH] = ACTIONS(3583),
    [anon_sym_PIPE] = ACTIONS(3583),
    [anon_sym_CARET] = ACTIONS(3581),
    [anon_sym_LT_LT] = ACTIONS(3583),
    [anon_sym_GT_GT] = ACTIONS(3583),
    [anon_sym_import] = ACTIONS(3583),
    [anon_sym_typealias] = ACTIONS(3583),
    [anon_sym_struct] = ACTIONS(3583),
    [anon_sym_class] = ACTIONS(3583),
    [anon_sym_enum] = ACTIONS(3583),
    [anon_sym_protocol] = ACTIONS(3583),
    [anon_sym_let] = ACTIONS(3583),
    [anon_sym_var] = ACTIONS(3583),
    [anon_sym_func] = ACTIONS(3583),
    [anon_sym_extension] = ACTIONS(3583),
    [anon_sym_indirect] = ACTIONS(3583),
    [anon_sym_SEMI] = ACTIONS(3583),
    [anon_sym_init] = ACTIONS(3583),
    [anon_sym_deinit] = ACTIONS(3583),
    [anon_sym_subscript] = ACTIONS(3583),
    [anon_sym_prefix] = ACTIONS(3583),
    [anon_sym_infix] = ACTIONS(3583),
    [anon_sym_postfix] = ACTIONS(3583),
    [anon_sym_precedencegroup] = ACTIONS(3583),
    [anon_sym_associatedtype] = ACTIONS(3583),
    [anon_sym_AT] = ACTIONS(3581),
    [anon_sym_override] = ACTIONS(3583),
    [anon_sym_convenience] = ACTIONS(3583),
    [anon_sym_required] = ACTIONS(3583),
    [anon_sym_nonisolated] = ACTIONS(3583),
    [anon_sym_public] = ACTIONS(3583),
    [anon_sym_private] = ACTIONS(3583),
    [anon_sym_internal] = ACTIONS(3583),
    [anon_sym_fileprivate] = ACTIONS(3583),
    [anon_sym_open] = ACTIONS(3583),
    [anon_sym_mutating] = ACTIONS(3583),
    [anon_sym_nonmutating] = ACTIONS(3583),
    [anon_sym_static] = ACTIONS(3583),
    [anon_sym_dynamic] = ACTIONS(3583),
    [anon_sym_optional] = ACTIONS(3583),
    [anon_sym_distributed] = ACTIONS(3583),
    [anon_sym_final] = ACTIONS(3583),
    [anon_sym_inout] = ACTIONS(3583),
    [anon_sym_ATescaping] = ACTIONS(3583),
    [anon_sym_ATautoclosure] = ACTIONS(3583),
    [anon_sym_weak] = ACTIONS(3583),
    [anon_sym_unowned] = ACTIONS(3581),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3583),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3583),
    [anon_sym_borrowing] = ACTIONS(3583),
    [anon_sym_consuming] = ACTIONS(3583),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3583),
    [sym__conjunction_operator_custom] = ACTIONS(3583),
    [sym__disjunction_operator_custom] = ACTIONS(3583),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3583),
    [sym__eq_custom] = ACTIONS(3583),
    [sym__eq_eq_custom] = ACTIONS(3583),
    [sym__plus_then_ws] = ACTIONS(3583),
    [sym__minus_then_ws] = ACTIONS(3583),
    [sym__bang_custom] = ACTIONS(3583),
    [sym__as_custom] = ACTIONS(3583),
    [sym__as_quest_custom] = ACTIONS(3583),
    [sym__as_bang_custom] = ACTIONS(3583),
    [sym__custom_operator] = ACTIONS(3583),
  },
  [955] = {
    [anon_sym_BANG] = ACTIONS(3585),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3587),
    [anon_sym_async] = ACTIONS(3587),
    [anon_sym_lazy] = ACTIONS(3587),
    [anon_sym_package] = ACTIONS(3587),
    [anon_sym_RPAREN] = ACTIONS(3587),
    [anon_sym_COMMA] = ACTIONS(3587),
    [anon_sym_COLON] = ACTIONS(3587),
    [anon_sym_LPAREN] = ACTIONS(3587),
    [anon_sym_LBRACK] = ACTIONS(3587),
    [anon_sym_RBRACK] = ACTIONS(3587),
    [anon_sym_QMARK] = ACTIONS(3585),
    [anon_sym_QMARK2] = ACTIONS(3587),
    [anon_sym_AMP] = ACTIONS(3587),
    [aux_sym_custom_operator_token1] = ACTIONS(3587),
    [anon_sym_LT] = ACTIONS(3585),
    [anon_sym_GT] = ACTIONS(3585),
    [anon_sym_LBRACE] = ACTIONS(3587),
    [anon_sym_CARET_LBRACE] = ACTIONS(3587),
    [anon_sym_RBRACE] = ACTIONS(3587),
    [anon_sym_case] = ACTIONS(3587),
    [anon_sym_PLUS_EQ] = ACTIONS(3587),
    [anon_sym_DASH_EQ] = ACTIONS(3587),
    [anon_sym_STAR_EQ] = ACTIONS(3587),
    [anon_sym_SLASH_EQ] = ACTIONS(3587),
    [anon_sym_PERCENT_EQ] = ACTIONS(3587),
    [anon_sym_BANG_EQ] = ACTIONS(3585),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3587),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3587),
    [anon_sym_LT_EQ] = ACTIONS(3587),
    [anon_sym_GT_EQ] = ACTIONS(3587),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3587),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3587),
    [anon_sym_is] = ACTIONS(3587),
    [anon_sym_PLUS] = ACTIONS(3585),
    [anon_sym_DASH] = ACTIONS(3585),
    [anon_sym_STAR] = ACTIONS(3585),
    [anon_sym_SLASH] = ACTIONS(3585),
    [anon_sym_PERCENT] = ACTIONS(3585),
    [anon_sym_PLUS_PLUS] = ACTIONS(3587),
    [anon_sym_DASH_DASH] = ACTIONS(3587),
    [anon_sym_PIPE] = ACTIONS(3587),
    [anon_sym_CARET] = ACTIONS(3585),
    [anon_sym_LT_LT] = ACTIONS(3587),
    [anon_sym_GT_GT] = ACTIONS(3587),
    [anon_sym_import] = ACTIONS(3587),
    [anon_sym_typealias] = ACTIONS(3587),
    [anon_sym_struct] = ACTIONS(3587),
    [anon_sym_class] = ACTIONS(3587),
    [anon_sym_enum] = ACTIONS(3587),
    [anon_sym_protocol] = ACTIONS(3587),
    [anon_sym_let] = ACTIONS(3587),
    [anon_sym_var] = ACTIONS(3587),
    [anon_sym_func] = ACTIONS(3587),
    [anon_sym_extension] = ACTIONS(3587),
    [anon_sym_indirect] = ACTIONS(3587),
    [anon_sym_SEMI] = ACTIONS(3587),
    [anon_sym_init] = ACTIONS(3587),
    [anon_sym_deinit] = ACTIONS(3587),
    [anon_sym_subscript] = ACTIONS(3587),
    [anon_sym_prefix] = ACTIONS(3587),
    [anon_sym_infix] = ACTIONS(3587),
    [anon_sym_postfix] = ACTIONS(3587),
    [anon_sym_precedencegroup] = ACTIONS(3587),
    [anon_sym_associatedtype] = ACTIONS(3587),
    [anon_sym_AT] = ACTIONS(3585),
    [anon_sym_override] = ACTIONS(3587),
    [anon_sym_convenience] = ACTIONS(3587),
    [anon_sym_required] = ACTIONS(3587),
    [anon_sym_nonisolated] = ACTIONS(3587),
    [anon_sym_public] = ACTIONS(3587),
    [anon_sym_private] = ACTIONS(3587),
    [anon_sym_internal] = ACTIONS(3587),
    [anon_sym_fileprivate] = ACTIONS(3587),
    [anon_sym_open] = ACTIONS(3587),
    [anon_sym_mutating] = ACTIONS(3587),
    [anon_sym_nonmutating] = ACTIONS(3587),
    [anon_sym_static] = ACTIONS(3587),
    [anon_sym_dynamic] = ACTIONS(3587),
    [anon_sym_optional] = ACTIONS(3587),
    [anon_sym_distributed] = ACTIONS(3587),
    [anon_sym_final] = ACTIONS(3587),
    [anon_sym_inout] = ACTIONS(3587),
    [anon_sym_ATescaping] = ACTIONS(3587),
    [anon_sym_ATautoclosure] = ACTIONS(3587),
    [anon_sym_weak] = ACTIONS(3587),
    [anon_sym_unowned] = ACTIONS(3585),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3587),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3587),
    [anon_sym_borrowing] = ACTIONS(3587),
    [anon_sym_consuming] = ACTIONS(3587),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3587),
    [sym__conjunction_operator_custom] = ACTIONS(3587),
    [sym__disjunction_operator_custom] = ACTIONS(3587),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3587),
    [sym__eq_custom] = ACTIONS(3587),
    [sym__eq_eq_custom] = ACTIONS(3587),
    [sym__plus_then_ws] = ACTIONS(3587),
    [sym__minus_then_ws] = ACTIONS(3587),
    [sym__bang_custom] = ACTIONS(3587),
    [sym__as_custom] = ACTIONS(3587),
    [sym__as_quest_custom] = ACTIONS(3587),
    [sym__as_bang_custom] = ACTIONS(3587),
    [sym__custom_operator] = ACTIONS(3587),
  },
  [956] = {
    [anon_sym_BANG] = ACTIONS(3589),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3591),
    [anon_sym_async] = ACTIONS(3591),
    [anon_sym_lazy] = ACTIONS(3591),
    [anon_sym_package] = ACTIONS(3591),
    [anon_sym_RPAREN] = ACTIONS(3591),
    [anon_sym_COMMA] = ACTIONS(3591),
    [anon_sym_COLON] = ACTIONS(3591),
    [anon_sym_LPAREN] = ACTIONS(3591),
    [anon_sym_LBRACK] = ACTIONS(3591),
    [anon_sym_RBRACK] = ACTIONS(3591),
    [anon_sym_QMARK] = ACTIONS(3589),
    [anon_sym_QMARK2] = ACTIONS(3591),
    [anon_sym_AMP] = ACTIONS(3591),
    [aux_sym_custom_operator_token1] = ACTIONS(3591),
    [anon_sym_LT] = ACTIONS(3589),
    [anon_sym_GT] = ACTIONS(3589),
    [anon_sym_LBRACE] = ACTIONS(3591),
    [anon_sym_CARET_LBRACE] = ACTIONS(3591),
    [anon_sym_RBRACE] = ACTIONS(3591),
    [anon_sym_case] = ACTIONS(3591),
    [anon_sym_PLUS_EQ] = ACTIONS(3591),
    [anon_sym_DASH_EQ] = ACTIONS(3591),
    [anon_sym_STAR_EQ] = ACTIONS(3591),
    [anon_sym_SLASH_EQ] = ACTIONS(3591),
    [anon_sym_PERCENT_EQ] = ACTIONS(3591),
    [anon_sym_BANG_EQ] = ACTIONS(3589),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3591),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3591),
    [anon_sym_LT_EQ] = ACTIONS(3591),
    [anon_sym_GT_EQ] = ACTIONS(3591),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3591),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3591),
    [anon_sym_is] = ACTIONS(3591),
    [anon_sym_PLUS] = ACTIONS(3589),
    [anon_sym_DASH] = ACTIONS(3589),
    [anon_sym_STAR] = ACTIONS(3589),
    [anon_sym_SLASH] = ACTIONS(3589),
    [anon_sym_PERCENT] = ACTIONS(3589),
    [anon_sym_PLUS_PLUS] = ACTIONS(3591),
    [anon_sym_DASH_DASH] = ACTIONS(3591),
    [anon_sym_PIPE] = ACTIONS(3591),
    [anon_sym_CARET] = ACTIONS(3589),
    [anon_sym_LT_LT] = ACTIONS(3591),
    [anon_sym_GT_GT] = ACTIONS(3591),
    [anon_sym_import] = ACTIONS(3591),
    [anon_sym_typealias] = ACTIONS(3591),
    [anon_sym_struct] = ACTIONS(3591),
    [anon_sym_class] = ACTIONS(3591),
    [anon_sym_enum] = ACTIONS(3591),
    [anon_sym_protocol] = ACTIONS(3591),
    [anon_sym_let] = ACTIONS(3591),
    [anon_sym_var] = ACTIONS(3591),
    [anon_sym_func] = ACTIONS(3591),
    [anon_sym_extension] = ACTIONS(3591),
    [anon_sym_indirect] = ACTIONS(3591),
    [anon_sym_SEMI] = ACTIONS(3591),
    [anon_sym_init] = ACTIONS(3591),
    [anon_sym_deinit] = ACTIONS(3591),
    [anon_sym_subscript] = ACTIONS(3591),
    [anon_sym_prefix] = ACTIONS(3591),
    [anon_sym_infix] = ACTIONS(3591),
    [anon_sym_postfix] = ACTIONS(3591),
    [anon_sym_precedencegroup] = ACTIONS(3591),
    [anon_sym_associatedtype] = ACTIONS(3591),
    [anon_sym_AT] = ACTIONS(3589),
    [anon_sym_override] = ACTIONS(3591),
    [anon_sym_convenience] = ACTIONS(3591),
    [anon_sym_required] = ACTIONS(3591),
    [anon_sym_nonisolated] = ACTIONS(3591),
    [anon_sym_public] = ACTIONS(3591),
    [anon_sym_private] = ACTIONS(3591),
    [anon_sym_internal] = ACTIONS(3591),
    [anon_sym_fileprivate] = ACTIONS(3591),
    [anon_sym_open] = ACTIONS(3591),
    [anon_sym_mutating] = ACTIONS(3591),
    [anon_sym_nonmutating] = ACTIONS(3591),
    [anon_sym_static] = ACTIONS(3591),
    [anon_sym_dynamic] = ACTIONS(3591),
    [anon_sym_optional] = ACTIONS(3591),
    [anon_sym_distributed] = ACTIONS(3591),
    [anon_sym_final] = ACTIONS(3591),
    [anon_sym_inout] = ACTIONS(3591),
    [anon_sym_ATescaping] = ACTIONS(3591),
    [anon_sym_ATautoclosure] = ACTIONS(3591),
    [anon_sym_weak] = ACTIONS(3591),
    [anon_sym_unowned] = ACTIONS(3589),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3591),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3591),
    [anon_sym_borrowing] = ACTIONS(3591),
    [anon_sym_consuming] = ACTIONS(3591),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3591),
    [sym__conjunction_operator_custom] = ACTIONS(3591),
    [sym__disjunction_operator_custom] = ACTIONS(3591),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3591),
    [sym__eq_custom] = ACTIONS(3591),
    [sym__eq_eq_custom] = ACTIONS(3591),
    [sym__plus_then_ws] = ACTIONS(3591),
    [sym__minus_then_ws] = ACTIONS(3591),
    [sym__bang_custom] = ACTIONS(3591),
    [sym__as_custom] = ACTIONS(3591),
    [sym__as_quest_custom] = ACTIONS(3591),
    [sym__as_bang_custom] = ACTIONS(3591),
    [sym__custom_operator] = ACTIONS(3591),
  },
  [957] = {
    [anon_sym_BANG] = ACTIONS(3313),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3315),
    [anon_sym_async] = ACTIONS(3315),
    [anon_sym_lazy] = ACTIONS(3315),
    [anon_sym_package] = ACTIONS(3315),
    [anon_sym_RPAREN] = ACTIONS(3315),
    [anon_sym_COMMA] = ACTIONS(3315),
    [anon_sym_COLON] = ACTIONS(3315),
    [anon_sym_LPAREN] = ACTIONS(3315),
    [anon_sym_LBRACK] = ACTIONS(3315),
    [anon_sym_RBRACK] = ACTIONS(3315),
    [anon_sym_QMARK] = ACTIONS(3313),
    [anon_sym_QMARK2] = ACTIONS(3315),
    [anon_sym_AMP] = ACTIONS(3315),
    [aux_sym_custom_operator_token1] = ACTIONS(3315),
    [anon_sym_LT] = ACTIONS(3313),
    [anon_sym_GT] = ACTIONS(3313),
    [anon_sym_LBRACE] = ACTIONS(3315),
    [anon_sym_CARET_LBRACE] = ACTIONS(3315),
    [anon_sym_RBRACE] = ACTIONS(3315),
    [anon_sym_case] = ACTIONS(3315),
    [anon_sym_PLUS_EQ] = ACTIONS(3315),
    [anon_sym_DASH_EQ] = ACTIONS(3315),
    [anon_sym_STAR_EQ] = ACTIONS(3315),
    [anon_sym_SLASH_EQ] = ACTIONS(3315),
    [anon_sym_PERCENT_EQ] = ACTIONS(3315),
    [anon_sym_BANG_EQ] = ACTIONS(3313),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3315),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3315),
    [anon_sym_LT_EQ] = ACTIONS(3315),
    [anon_sym_GT_EQ] = ACTIONS(3315),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3315),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3315),
    [anon_sym_is] = ACTIONS(3315),
    [anon_sym_PLUS] = ACTIONS(3313),
    [anon_sym_DASH] = ACTIONS(3313),
    [anon_sym_STAR] = ACTIONS(3313),
    [anon_sym_SLASH] = ACTIONS(3313),
    [anon_sym_PERCENT] = ACTIONS(3313),
    [anon_sym_PLUS_PLUS] = ACTIONS(3315),
    [anon_sym_DASH_DASH] = ACTIONS(3315),
    [anon_sym_PIPE] = ACTIONS(3315),
    [anon_sym_CARET] = ACTIONS(3313),
    [anon_sym_LT_LT] = ACTIONS(3315),
    [anon_sym_GT_GT] = ACTIONS(3315),
    [anon_sym_import] = ACTIONS(3315),
    [anon_sym_typealias] = ACTIONS(3315),
    [anon_sym_struct] = ACTIONS(3315),
    [anon_sym_class] = ACTIONS(3315),
    [anon_sym_enum] = ACTIONS(3315),
    [anon_sym_protocol] = ACTIONS(3315),
    [anon_sym_let] = ACTIONS(3315),
    [anon_sym_var] = ACTIONS(3315),
    [anon_sym_func] = ACTIONS(3315),
    [anon_sym_extension] = ACTIONS(3315),
    [anon_sym_indirect] = ACTIONS(3315),
    [anon_sym_SEMI] = ACTIONS(3315),
    [anon_sym_init] = ACTIONS(3315),
    [anon_sym_deinit] = ACTIONS(3315),
    [anon_sym_subscript] = ACTIONS(3315),
    [anon_sym_prefix] = ACTIONS(3315),
    [anon_sym_infix] = ACTIONS(3315),
    [anon_sym_postfix] = ACTIONS(3315),
    [anon_sym_precedencegroup] = ACTIONS(3315),
    [anon_sym_associatedtype] = ACTIONS(3315),
    [anon_sym_AT] = ACTIONS(3313),
    [anon_sym_override] = ACTIONS(3315),
    [anon_sym_convenience] = ACTIONS(3315),
    [anon_sym_required] = ACTIONS(3315),
    [anon_sym_nonisolated] = ACTIONS(3315),
    [anon_sym_public] = ACTIONS(3315),
    [anon_sym_private] = ACTIONS(3315),
    [anon_sym_internal] = ACTIONS(3315),
    [anon_sym_fileprivate] = ACTIONS(3315),
    [anon_sym_open] = ACTIONS(3315),
    [anon_sym_mutating] = ACTIONS(3315),
    [anon_sym_nonmutating] = ACTIONS(3315),
    [anon_sym_static] = ACTIONS(3315),
    [anon_sym_dynamic] = ACTIONS(3315),
    [anon_sym_optional] = ACTIONS(3315),
    [anon_sym_distributed] = ACTIONS(3315),
    [anon_sym_final] = ACTIONS(3315),
    [anon_sym_inout] = ACTIONS(3315),
    [anon_sym_ATescaping] = ACTIONS(3315),
    [anon_sym_ATautoclosure] = ACTIONS(3315),
    [anon_sym_weak] = ACTIONS(3315),
    [anon_sym_unowned] = ACTIONS(3313),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3315),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3315),
    [anon_sym_borrowing] = ACTIONS(3315),
    [anon_sym_consuming] = ACTIONS(3315),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3315),
    [sym__conjunction_operator_custom] = ACTIONS(3315),
    [sym__disjunction_operator_custom] = ACTIONS(3315),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3315),
    [sym__eq_custom] = ACTIONS(3315),
    [sym__eq_eq_custom] = ACTIONS(3315),
    [sym__plus_then_ws] = ACTIONS(3315),
    [sym__minus_then_ws] = ACTIONS(3315),
    [sym__bang_custom] = ACTIONS(3315),
    [sym__as_custom] = ACTIONS(3315),
    [sym__as_quest_custom] = ACTIONS(3315),
    [sym__as_bang_custom] = ACTIONS(3315),
    [sym__custom_operator] = ACTIONS(3315),
  },
  [958] = {
    [anon_sym_BANG] = ACTIONS(3593),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3595),
    [anon_sym_async] = ACTIONS(3595),
    [anon_sym_lazy] = ACTIONS(3595),
    [anon_sym_package] = ACTIONS(3595),
    [anon_sym_RPAREN] = ACTIONS(3595),
    [anon_sym_COMMA] = ACTIONS(3595),
    [anon_sym_COLON] = ACTIONS(3595),
    [anon_sym_LPAREN] = ACTIONS(3595),
    [anon_sym_LBRACK] = ACTIONS(3595),
    [anon_sym_RBRACK] = ACTIONS(3595),
    [anon_sym_QMARK] = ACTIONS(3593),
    [anon_sym_QMARK2] = ACTIONS(3595),
    [anon_sym_AMP] = ACTIONS(3595),
    [aux_sym_custom_operator_token1] = ACTIONS(3595),
    [anon_sym_LT] = ACTIONS(3593),
    [anon_sym_GT] = ACTIONS(3593),
    [anon_sym_LBRACE] = ACTIONS(3595),
    [anon_sym_CARET_LBRACE] = ACTIONS(3595),
    [anon_sym_RBRACE] = ACTIONS(3595),
    [anon_sym_case] = ACTIONS(3595),
    [anon_sym_PLUS_EQ] = ACTIONS(3595),
    [anon_sym_DASH_EQ] = ACTIONS(3595),
    [anon_sym_STAR_EQ] = ACTIONS(3595),
    [anon_sym_SLASH_EQ] = ACTIONS(3595),
    [anon_sym_PERCENT_EQ] = ACTIONS(3595),
    [anon_sym_BANG_EQ] = ACTIONS(3593),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3595),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3595),
    [anon_sym_LT_EQ] = ACTIONS(3595),
    [anon_sym_GT_EQ] = ACTIONS(3595),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3595),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3595),
    [anon_sym_is] = ACTIONS(3595),
    [anon_sym_PLUS] = ACTIONS(3593),
    [anon_sym_DASH] = ACTIONS(3593),
    [anon_sym_STAR] = ACTIONS(3593),
    [anon_sym_SLASH] = ACTIONS(3593),
    [anon_sym_PERCENT] = ACTIONS(3593),
    [anon_sym_PLUS_PLUS] = ACTIONS(3595),
    [anon_sym_DASH_DASH] = ACTIONS(3595),
    [anon_sym_PIPE] = ACTIONS(3595),
    [anon_sym_CARET] = ACTIONS(3593),
    [anon_sym_LT_LT] = ACTIONS(3595),
    [anon_sym_GT_GT] = ACTIONS(3595),
    [anon_sym_import] = ACTIONS(3595),
    [anon_sym_typealias] = ACTIONS(3595),
    [anon_sym_struct] = ACTIONS(3595),
    [anon_sym_class] = ACTIONS(3595),
    [anon_sym_enum] = ACTIONS(3595),
    [anon_sym_protocol] = ACTIONS(3595),
    [anon_sym_let] = ACTIONS(3595),
    [anon_sym_var] = ACTIONS(3595),
    [anon_sym_func] = ACTIONS(3595),
    [anon_sym_extension] = ACTIONS(3595),
    [anon_sym_indirect] = ACTIONS(3595),
    [anon_sym_SEMI] = ACTIONS(3595),
    [anon_sym_init] = ACTIONS(3595),
    [anon_sym_deinit] = ACTIONS(3595),
    [anon_sym_subscript] = ACTIONS(3595),
    [anon_sym_prefix] = ACTIONS(3595),
    [anon_sym_infix] = ACTIONS(3595),
    [anon_sym_postfix] = ACTIONS(3595),
    [anon_sym_precedencegroup] = ACTIONS(3595),
    [anon_sym_associatedtype] = ACTIONS(3595),
    [anon_sym_AT] = ACTIONS(3593),
    [anon_sym_override] = ACTIONS(3595),
    [anon_sym_convenience] = ACTIONS(3595),
    [anon_sym_required] = ACTIONS(3595),
    [anon_sym_nonisolated] = ACTIONS(3595),
    [anon_sym_public] = ACTIONS(3595),
    [anon_sym_private] = ACTIONS(3595),
    [anon_sym_internal] = ACTIONS(3595),
    [anon_sym_fileprivate] = ACTIONS(3595),
    [anon_sym_open] = ACTIONS(3595),
    [anon_sym_mutating] = ACTIONS(3595),
    [anon_sym_nonmutating] = ACTIONS(3595),
    [anon_sym_static] = ACTIONS(3595),
    [anon_sym_dynamic] = ACTIONS(3595),
    [anon_sym_optional] = ACTIONS(3595),
    [anon_sym_distributed] = ACTIONS(3595),
    [anon_sym_final] = ACTIONS(3595),
    [anon_sym_inout] = ACTIONS(3595),
    [anon_sym_ATescaping] = ACTIONS(3595),
    [anon_sym_ATautoclosure] = ACTIONS(3595),
    [anon_sym_weak] = ACTIONS(3595),
    [anon_sym_unowned] = ACTIONS(3593),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3595),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3595),
    [anon_sym_borrowing] = ACTIONS(3595),
    [anon_sym_consuming] = ACTIONS(3595),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3595),
    [sym__conjunction_operator_custom] = ACTIONS(3595),
    [sym__disjunction_operator_custom] = ACTIONS(3595),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3595),
    [sym__eq_custom] = ACTIONS(3595),
    [sym__eq_eq_custom] = ACTIONS(3595),
    [sym__plus_then_ws] = ACTIONS(3595),
    [sym__minus_then_ws] = ACTIONS(3595),
    [sym__bang_custom] = ACTIONS(3595),
    [sym__as_custom] = ACTIONS(3595),
    [sym__as_quest_custom] = ACTIONS(3595),
    [sym__as_bang_custom] = ACTIONS(3595),
    [sym__custom_operator] = ACTIONS(3595),
  },
  [959] = {
    [anon_sym_BANG] = ACTIONS(3597),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3599),
    [anon_sym_async] = ACTIONS(3599),
    [anon_sym_lazy] = ACTIONS(3599),
    [anon_sym_package] = ACTIONS(3599),
    [anon_sym_RPAREN] = ACTIONS(3599),
    [anon_sym_COMMA] = ACTIONS(3599),
    [anon_sym_COLON] = ACTIONS(3599),
    [anon_sym_LPAREN] = ACTIONS(3599),
    [anon_sym_LBRACK] = ACTIONS(3599),
    [anon_sym_RBRACK] = ACTIONS(3599),
    [anon_sym_QMARK] = ACTIONS(3597),
    [anon_sym_QMARK2] = ACTIONS(3599),
    [anon_sym_AMP] = ACTIONS(3599),
    [aux_sym_custom_operator_token1] = ACTIONS(3599),
    [anon_sym_LT] = ACTIONS(3597),
    [anon_sym_GT] = ACTIONS(3597),
    [anon_sym_LBRACE] = ACTIONS(3599),
    [anon_sym_CARET_LBRACE] = ACTIONS(3599),
    [anon_sym_RBRACE] = ACTIONS(3599),
    [anon_sym_case] = ACTIONS(3599),
    [anon_sym_PLUS_EQ] = ACTIONS(3599),
    [anon_sym_DASH_EQ] = ACTIONS(3599),
    [anon_sym_STAR_EQ] = ACTIONS(3599),
    [anon_sym_SLASH_EQ] = ACTIONS(3599),
    [anon_sym_PERCENT_EQ] = ACTIONS(3599),
    [anon_sym_BANG_EQ] = ACTIONS(3597),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3599),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3599),
    [anon_sym_LT_EQ] = ACTIONS(3599),
    [anon_sym_GT_EQ] = ACTIONS(3599),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3599),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3599),
    [anon_sym_is] = ACTIONS(3599),
    [anon_sym_PLUS] = ACTIONS(3597),
    [anon_sym_DASH] = ACTIONS(3597),
    [anon_sym_STAR] = ACTIONS(3597),
    [anon_sym_SLASH] = ACTIONS(3597),
    [anon_sym_PERCENT] = ACTIONS(3597),
    [anon_sym_PLUS_PLUS] = ACTIONS(3599),
    [anon_sym_DASH_DASH] = ACTIONS(3599),
    [anon_sym_PIPE] = ACTIONS(3599),
    [anon_sym_CARET] = ACTIONS(3597),
    [anon_sym_LT_LT] = ACTIONS(3599),
    [anon_sym_GT_GT] = ACTIONS(3599),
    [anon_sym_import] = ACTIONS(3599),
    [anon_sym_typealias] = ACTIONS(3599),
    [anon_sym_struct] = ACTIONS(3599),
    [anon_sym_class] = ACTIONS(3599),
    [anon_sym_enum] = ACTIONS(3599),
    [anon_sym_protocol] = ACTIONS(3599),
    [anon_sym_let] = ACTIONS(3599),
    [anon_sym_var] = ACTIONS(3599),
    [anon_sym_func] = ACTIONS(3599),
    [anon_sym_extension] = ACTIONS(3599),
    [anon_sym_indirect] = ACTIONS(3599),
    [anon_sym_SEMI] = ACTIONS(3599),
    [anon_sym_init] = ACTIONS(3599),
    [anon_sym_deinit] = ACTIONS(3599),
    [anon_sym_subscript] = ACTIONS(3599),
    [anon_sym_prefix] = ACTIONS(3599),
    [anon_sym_infix] = ACTIONS(3599),
    [anon_sym_postfix] = ACTIONS(3599),
    [anon_sym_precedencegroup] = ACTIONS(3599),
    [anon_sym_associatedtype] = ACTIONS(3599),
    [anon_sym_AT] = ACTIONS(3597),
    [anon_sym_override] = ACTIONS(3599),
    [anon_sym_convenience] = ACTIONS(3599),
    [anon_sym_required] = ACTIONS(3599),
    [anon_sym_nonisolated] = ACTIONS(3599),
    [anon_sym_public] = ACTIONS(3599),
    [anon_sym_private] = ACTIONS(3599),
    [anon_sym_internal] = ACTIONS(3599),
    [anon_sym_fileprivate] = ACTIONS(3599),
    [anon_sym_open] = ACTIONS(3599),
    [anon_sym_mutating] = ACTIONS(3599),
    [anon_sym_nonmutating] = ACTIONS(3599),
    [anon_sym_static] = ACTIONS(3599),
    [anon_sym_dynamic] = ACTIONS(3599),
    [anon_sym_optional] = ACTIONS(3599),
    [anon_sym_distributed] = ACTIONS(3599),
    [anon_sym_final] = ACTIONS(3599),
    [anon_sym_inout] = ACTIONS(3599),
    [anon_sym_ATescaping] = ACTIONS(3599),
    [anon_sym_ATautoclosure] = ACTIONS(3599),
    [anon_sym_weak] = ACTIONS(3599),
    [anon_sym_unowned] = ACTIONS(3597),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3599),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3599),
    [anon_sym_borrowing] = ACTIONS(3599),
    [anon_sym_consuming] = ACTIONS(3599),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3599),
    [sym__conjunction_operator_custom] = ACTIONS(3599),
    [sym__disjunction_operator_custom] = ACTIONS(3599),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3599),
    [sym__eq_custom] = ACTIONS(3599),
    [sym__eq_eq_custom] = ACTIONS(3599),
    [sym__plus_then_ws] = ACTIONS(3599),
    [sym__minus_then_ws] = ACTIONS(3599),
    [sym__bang_custom] = ACTIONS(3599),
    [sym__as_custom] = ACTIONS(3599),
    [sym__as_quest_custom] = ACTIONS(3599),
    [sym__as_bang_custom] = ACTIONS(3599),
    [sym__custom_operator] = ACTIONS(3599),
  },
  [960] = {
    [anon_sym_BANG] = ACTIONS(3237),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3239),
    [anon_sym_async] = ACTIONS(3239),
    [anon_sym_lazy] = ACTIONS(3239),
    [anon_sym_package] = ACTIONS(3239),
    [anon_sym_RPAREN] = ACTIONS(3239),
    [anon_sym_COMMA] = ACTIONS(3239),
    [anon_sym_COLON] = ACTIONS(3239),
    [anon_sym_LPAREN] = ACTIONS(3239),
    [anon_sym_LBRACK] = ACTIONS(3239),
    [anon_sym_RBRACK] = ACTIONS(3239),
    [anon_sym_QMARK] = ACTIONS(3237),
    [anon_sym_QMARK2] = ACTIONS(3239),
    [anon_sym_AMP] = ACTIONS(3239),
    [aux_sym_custom_operator_token1] = ACTIONS(3239),
    [anon_sym_LT] = ACTIONS(3237),
    [anon_sym_GT] = ACTIONS(3237),
    [anon_sym_LBRACE] = ACTIONS(3239),
    [anon_sym_CARET_LBRACE] = ACTIONS(3239),
    [anon_sym_RBRACE] = ACTIONS(3239),
    [anon_sym_case] = ACTIONS(3239),
    [anon_sym_PLUS_EQ] = ACTIONS(3239),
    [anon_sym_DASH_EQ] = ACTIONS(3239),
    [anon_sym_STAR_EQ] = ACTIONS(3239),
    [anon_sym_SLASH_EQ] = ACTIONS(3239),
    [anon_sym_PERCENT_EQ] = ACTIONS(3239),
    [anon_sym_BANG_EQ] = ACTIONS(3237),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3239),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3239),
    [anon_sym_LT_EQ] = ACTIONS(3239),
    [anon_sym_GT_EQ] = ACTIONS(3239),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3239),
    [anon_sym_is] = ACTIONS(3239),
    [anon_sym_PLUS] = ACTIONS(3237),
    [anon_sym_DASH] = ACTIONS(3237),
    [anon_sym_STAR] = ACTIONS(3237),
    [anon_sym_SLASH] = ACTIONS(3237),
    [anon_sym_PERCENT] = ACTIONS(3237),
    [anon_sym_PLUS_PLUS] = ACTIONS(3239),
    [anon_sym_DASH_DASH] = ACTIONS(3239),
    [anon_sym_PIPE] = ACTIONS(3239),
    [anon_sym_CARET] = ACTIONS(3237),
    [anon_sym_LT_LT] = ACTIONS(3239),
    [anon_sym_GT_GT] = ACTIONS(3239),
    [anon_sym_import] = ACTIONS(3239),
    [anon_sym_typealias] = ACTIONS(3239),
    [anon_sym_struct] = ACTIONS(3239),
    [anon_sym_class] = ACTIONS(3239),
    [anon_sym_enum] = ACTIONS(3239),
    [anon_sym_protocol] = ACTIONS(3239),
    [anon_sym_let] = ACTIONS(3239),
    [anon_sym_var] = ACTIONS(3239),
    [anon_sym_func] = ACTIONS(3239),
    [anon_sym_extension] = ACTIONS(3239),
    [anon_sym_indirect] = ACTIONS(3239),
    [anon_sym_SEMI] = ACTIONS(3239),
    [anon_sym_init] = ACTIONS(3239),
    [anon_sym_deinit] = ACTIONS(3239),
    [anon_sym_subscript] = ACTIONS(3239),
    [anon_sym_prefix] = ACTIONS(3239),
    [anon_sym_infix] = ACTIONS(3239),
    [anon_sym_postfix] = ACTIONS(3239),
    [anon_sym_precedencegroup] = ACTIONS(3239),
    [anon_sym_associatedtype] = ACTIONS(3239),
    [anon_sym_AT] = ACTIONS(3237),
    [anon_sym_override] = ACTIONS(3239),
    [anon_sym_convenience] = ACTIONS(3239),
    [anon_sym_required] = ACTIONS(3239),
    [anon_sym_nonisolated] = ACTIONS(3239),
    [anon_sym_public] = ACTIONS(3239),
    [anon_sym_private] = ACTIONS(3239),
    [anon_sym_internal] = ACTIONS(3239),
    [anon_sym_fileprivate] = ACTIONS(3239),
    [anon_sym_open] = ACTIONS(3239),
    [anon_sym_mutating] = ACTIONS(3239),
    [anon_sym_nonmutating] = ACTIONS(3239),
    [anon_sym_static] = ACTIONS(3239),
    [anon_sym_dynamic] = ACTIONS(3239),
    [anon_sym_optional] = ACTIONS(3239),
    [anon_sym_distributed] = ACTIONS(3239),
    [anon_sym_final] = ACTIONS(3239),
    [anon_sym_inout] = ACTIONS(3239),
    [anon_sym_ATescaping] = ACTIONS(3239),
    [anon_sym_ATautoclosure] = ACTIONS(3239),
    [anon_sym_weak] = ACTIONS(3239),
    [anon_sym_unowned] = ACTIONS(3237),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3239),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3239),
    [anon_sym_borrowing] = ACTIONS(3239),
    [anon_sym_consuming] = ACTIONS(3239),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3239),
    [sym__conjunction_operator_custom] = ACTIONS(3239),
    [sym__disjunction_operator_custom] = ACTIONS(3239),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3239),
    [sym__eq_custom] = ACTIONS(3239),
    [sym__eq_eq_custom] = ACTIONS(3239),
    [sym__plus_then_ws] = ACTIONS(3239),
    [sym__minus_then_ws] = ACTIONS(3239),
    [sym__bang_custom] = ACTIONS(3239),
    [sym__as_custom] = ACTIONS(3239),
    [sym__as_quest_custom] = ACTIONS(3239),
    [sym__as_bang_custom] = ACTIONS(3239),
    [sym__custom_operator] = ACTIONS(3239),
  },
  [961] = {
    [anon_sym_BANG] = ACTIONS(3601),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3603),
    [anon_sym_async] = ACTIONS(3603),
    [anon_sym_lazy] = ACTIONS(3603),
    [anon_sym_package] = ACTIONS(3603),
    [anon_sym_RPAREN] = ACTIONS(3603),
    [anon_sym_COMMA] = ACTIONS(3603),
    [anon_sym_COLON] = ACTIONS(3603),
    [anon_sym_LPAREN] = ACTIONS(3603),
    [anon_sym_LBRACK] = ACTIONS(3603),
    [anon_sym_RBRACK] = ACTIONS(3603),
    [anon_sym_QMARK] = ACTIONS(3601),
    [anon_sym_QMARK2] = ACTIONS(3603),
    [anon_sym_AMP] = ACTIONS(3603),
    [aux_sym_custom_operator_token1] = ACTIONS(3603),
    [anon_sym_LT] = ACTIONS(3601),
    [anon_sym_GT] = ACTIONS(3601),
    [anon_sym_LBRACE] = ACTIONS(3603),
    [anon_sym_CARET_LBRACE] = ACTIONS(3603),
    [anon_sym_RBRACE] = ACTIONS(3603),
    [anon_sym_case] = ACTIONS(3603),
    [anon_sym_PLUS_EQ] = ACTIONS(3603),
    [anon_sym_DASH_EQ] = ACTIONS(3603),
    [anon_sym_STAR_EQ] = ACTIONS(3603),
    [anon_sym_SLASH_EQ] = ACTIONS(3603),
    [anon_sym_PERCENT_EQ] = ACTIONS(3603),
    [anon_sym_BANG_EQ] = ACTIONS(3601),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3603),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3603),
    [anon_sym_LT_EQ] = ACTIONS(3603),
    [anon_sym_GT_EQ] = ACTIONS(3603),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3603),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3603),
    [anon_sym_is] = ACTIONS(3603),
    [anon_sym_PLUS] = ACTIONS(3601),
    [anon_sym_DASH] = ACTIONS(3601),
    [anon_sym_STAR] = ACTIONS(3601),
    [anon_sym_SLASH] = ACTIONS(3601),
    [anon_sym_PERCENT] = ACTIONS(3601),
    [anon_sym_PLUS_PLUS] = ACTIONS(3603),
    [anon_sym_DASH_DASH] = ACTIONS(3603),
    [anon_sym_PIPE] = ACTIONS(3603),
    [anon_sym_CARET] = ACTIONS(3601),
    [anon_sym_LT_LT] = ACTIONS(3603),
    [anon_sym_GT_GT] = ACTIONS(3603),
    [anon_sym_import] = ACTIONS(3603),
    [anon_sym_typealias] = ACTIONS(3603),
    [anon_sym_struct] = ACTIONS(3603),
    [anon_sym_class] = ACTIONS(3603),
    [anon_sym_enum] = ACTIONS(3603),
    [anon_sym_protocol] = ACTIONS(3603),
    [anon_sym_let] = ACTIONS(3603),
    [anon_sym_var] = ACTIONS(3603),
    [anon_sym_func] = ACTIONS(3603),
    [anon_sym_extension] = ACTIONS(3603),
    [anon_sym_indirect] = ACTIONS(3603),
    [anon_sym_SEMI] = ACTIONS(3603),
    [anon_sym_init] = ACTIONS(3603),
    [anon_sym_deinit] = ACTIONS(3603),
    [anon_sym_subscript] = ACTIONS(3603),
    [anon_sym_prefix] = ACTIONS(3603),
    [anon_sym_infix] = ACTIONS(3603),
    [anon_sym_postfix] = ACTIONS(3603),
    [anon_sym_precedencegroup] = ACTIONS(3603),
    [anon_sym_associatedtype] = ACTIONS(3603),
    [anon_sym_AT] = ACTIONS(3601),
    [anon_sym_override] = ACTIONS(3603),
    [anon_sym_convenience] = ACTIONS(3603),
    [anon_sym_required] = ACTIONS(3603),
    [anon_sym_nonisolated] = ACTIONS(3603),
    [anon_sym_public] = ACTIONS(3603),
    [anon_sym_private] = ACTIONS(3603),
    [anon_sym_internal] = ACTIONS(3603),
    [anon_sym_fileprivate] = ACTIONS(3603),
    [anon_sym_open] = ACTIONS(3603),
    [anon_sym_mutating] = ACTIONS(3603),
    [anon_sym_nonmutating] = ACTIONS(3603),
    [anon_sym_static] = ACTIONS(3603),
    [anon_sym_dynamic] = ACTIONS(3603),
    [anon_sym_optional] = ACTIONS(3603),
    [anon_sym_distributed] = ACTIONS(3603),
    [anon_sym_final] = ACTIONS(3603),
    [anon_sym_inout] = ACTIONS(3603),
    [anon_sym_ATescaping] = ACTIONS(3603),
    [anon_sym_ATautoclosure] = ACTIONS(3603),
    [anon_sym_weak] = ACTIONS(3603),
    [anon_sym_unowned] = ACTIONS(3601),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3603),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3603),
    [anon_sym_borrowing] = ACTIONS(3603),
    [anon_sym_consuming] = ACTIONS(3603),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3603),
    [sym__conjunction_operator_custom] = ACTIONS(3603),
    [sym__disjunction_operator_custom] = ACTIONS(3603),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3603),
    [sym__eq_custom] = ACTIONS(3603),
    [sym__eq_eq_custom] = ACTIONS(3603),
    [sym__plus_then_ws] = ACTIONS(3603),
    [sym__minus_then_ws] = ACTIONS(3603),
    [sym__bang_custom] = ACTIONS(3603),
    [sym__as_custom] = ACTIONS(3603),
    [sym__as_quest_custom] = ACTIONS(3603),
    [sym__as_bang_custom] = ACTIONS(3603),
    [sym__custom_operator] = ACTIONS(3603),
  },
  [962] = {
    [anon_sym_BANG] = ACTIONS(3605),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3607),
    [anon_sym_async] = ACTIONS(3607),
    [anon_sym_lazy] = ACTIONS(3607),
    [anon_sym_package] = ACTIONS(3607),
    [anon_sym_RPAREN] = ACTIONS(3607),
    [anon_sym_COMMA] = ACTIONS(3607),
    [anon_sym_COLON] = ACTIONS(3607),
    [anon_sym_LPAREN] = ACTIONS(3607),
    [anon_sym_LBRACK] = ACTIONS(3607),
    [anon_sym_RBRACK] = ACTIONS(3607),
    [anon_sym_QMARK] = ACTIONS(3605),
    [anon_sym_QMARK2] = ACTIONS(3607),
    [anon_sym_AMP] = ACTIONS(3607),
    [aux_sym_custom_operator_token1] = ACTIONS(3607),
    [anon_sym_LT] = ACTIONS(3605),
    [anon_sym_GT] = ACTIONS(3605),
    [anon_sym_LBRACE] = ACTIONS(3607),
    [anon_sym_CARET_LBRACE] = ACTIONS(3607),
    [anon_sym_RBRACE] = ACTIONS(3607),
    [anon_sym_case] = ACTIONS(3607),
    [anon_sym_PLUS_EQ] = ACTIONS(3607),
    [anon_sym_DASH_EQ] = ACTIONS(3607),
    [anon_sym_STAR_EQ] = ACTIONS(3607),
    [anon_sym_SLASH_EQ] = ACTIONS(3607),
    [anon_sym_PERCENT_EQ] = ACTIONS(3607),
    [anon_sym_BANG_EQ] = ACTIONS(3605),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3607),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3607),
    [anon_sym_LT_EQ] = ACTIONS(3607),
    [anon_sym_GT_EQ] = ACTIONS(3607),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3607),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3607),
    [anon_sym_is] = ACTIONS(3607),
    [anon_sym_PLUS] = ACTIONS(3605),
    [anon_sym_DASH] = ACTIONS(3605),
    [anon_sym_STAR] = ACTIONS(3605),
    [anon_sym_SLASH] = ACTIONS(3605),
    [anon_sym_PERCENT] = ACTIONS(3605),
    [anon_sym_PLUS_PLUS] = ACTIONS(3607),
    [anon_sym_DASH_DASH] = ACTIONS(3607),
    [anon_sym_PIPE] = ACTIONS(3607),
    [anon_sym_CARET] = ACTIONS(3605),
    [anon_sym_LT_LT] = ACTIONS(3607),
    [anon_sym_GT_GT] = ACTIONS(3607),
    [anon_sym_import] = ACTIONS(3607),
    [anon_sym_typealias] = ACTIONS(3607),
    [anon_sym_struct] = ACTIONS(3607),
    [anon_sym_class] = ACTIONS(3607),
    [anon_sym_enum] = ACTIONS(3607),
    [anon_sym_protocol] = ACTIONS(3607),
    [anon_sym_let] = ACTIONS(3607),
    [anon_sym_var] = ACTIONS(3607),
    [anon_sym_func] = ACTIONS(3607),
    [anon_sym_extension] = ACTIONS(3607),
    [anon_sym_indirect] = ACTIONS(3607),
    [anon_sym_SEMI] = ACTIONS(3607),
    [anon_sym_init] = ACTIONS(3607),
    [anon_sym_deinit] = ACTIONS(3607),
    [anon_sym_subscript] = ACTIONS(3607),
    [anon_sym_prefix] = ACTIONS(3607),
    [anon_sym_infix] = ACTIONS(3607),
    [anon_sym_postfix] = ACTIONS(3607),
    [anon_sym_precedencegroup] = ACTIONS(3607),
    [anon_sym_associatedtype] = ACTIONS(3607),
    [anon_sym_AT] = ACTIONS(3605),
    [anon_sym_override] = ACTIONS(3607),
    [anon_sym_convenience] = ACTIONS(3607),
    [anon_sym_required] = ACTIONS(3607),
    [anon_sym_nonisolated] = ACTIONS(3607),
    [anon_sym_public] = ACTIONS(3607),
    [anon_sym_private] = ACTIONS(3607),
    [anon_sym_internal] = ACTIONS(3607),
    [anon_sym_fileprivate] = ACTIONS(3607),
    [anon_sym_open] = ACTIONS(3607),
    [anon_sym_mutating] = ACTIONS(3607),
    [anon_sym_nonmutating] = ACTIONS(3607),
    [anon_sym_static] = ACTIONS(3607),
    [anon_sym_dynamic] = ACTIONS(3607),
    [anon_sym_optional] = ACTIONS(3607),
    [anon_sym_distributed] = ACTIONS(3607),
    [anon_sym_final] = ACTIONS(3607),
    [anon_sym_inout] = ACTIONS(3607),
    [anon_sym_ATescaping] = ACTIONS(3607),
    [anon_sym_ATautoclosure] = ACTIONS(3607),
    [anon_sym_weak] = ACTIONS(3607),
    [anon_sym_unowned] = ACTIONS(3605),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3607),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3607),
    [anon_sym_borrowing] = ACTIONS(3607),
    [anon_sym_consuming] = ACTIONS(3607),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3607),
    [sym__conjunction_operator_custom] = ACTIONS(3607),
    [sym__disjunction_operator_custom] = ACTIONS(3607),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3607),
    [sym__eq_custom] = ACTIONS(3607),
    [sym__eq_eq_custom] = ACTIONS(3607),
    [sym__plus_then_ws] = ACTIONS(3607),
    [sym__minus_then_ws] = ACTIONS(3607),
    [sym__bang_custom] = ACTIONS(3607),
    [sym__as_custom] = ACTIONS(3607),
    [sym__as_quest_custom] = ACTIONS(3607),
    [sym__as_bang_custom] = ACTIONS(3607),
    [sym__custom_operator] = ACTIONS(3607),
  },
  [963] = {
    [anon_sym_BANG] = ACTIONS(3609),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3611),
    [anon_sym_async] = ACTIONS(3611),
    [anon_sym_lazy] = ACTIONS(3611),
    [anon_sym_package] = ACTIONS(3611),
    [anon_sym_RPAREN] = ACTIONS(3611),
    [anon_sym_COMMA] = ACTIONS(3611),
    [anon_sym_COLON] = ACTIONS(3611),
    [anon_sym_LPAREN] = ACTIONS(3611),
    [anon_sym_LBRACK] = ACTIONS(3611),
    [anon_sym_RBRACK] = ACTIONS(3611),
    [anon_sym_QMARK] = ACTIONS(3609),
    [anon_sym_QMARK2] = ACTIONS(3611),
    [anon_sym_AMP] = ACTIONS(3611),
    [aux_sym_custom_operator_token1] = ACTIONS(3611),
    [anon_sym_LT] = ACTIONS(3609),
    [anon_sym_GT] = ACTIONS(3609),
    [anon_sym_LBRACE] = ACTIONS(3611),
    [anon_sym_CARET_LBRACE] = ACTIONS(3611),
    [anon_sym_RBRACE] = ACTIONS(3611),
    [anon_sym_case] = ACTIONS(3611),
    [anon_sym_PLUS_EQ] = ACTIONS(3611),
    [anon_sym_DASH_EQ] = ACTIONS(3611),
    [anon_sym_STAR_EQ] = ACTIONS(3611),
    [anon_sym_SLASH_EQ] = ACTIONS(3611),
    [anon_sym_PERCENT_EQ] = ACTIONS(3611),
    [anon_sym_BANG_EQ] = ACTIONS(3609),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3611),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3611),
    [anon_sym_LT_EQ] = ACTIONS(3611),
    [anon_sym_GT_EQ] = ACTIONS(3611),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3611),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3611),
    [anon_sym_is] = ACTIONS(3611),
    [anon_sym_PLUS] = ACTIONS(3609),
    [anon_sym_DASH] = ACTIONS(3609),
    [anon_sym_STAR] = ACTIONS(3609),
    [anon_sym_SLASH] = ACTIONS(3609),
    [anon_sym_PERCENT] = ACTIONS(3609),
    [anon_sym_PLUS_PLUS] = ACTIONS(3611),
    [anon_sym_DASH_DASH] = ACTIONS(3611),
    [anon_sym_PIPE] = ACTIONS(3611),
    [anon_sym_CARET] = ACTIONS(3609),
    [anon_sym_LT_LT] = ACTIONS(3611),
    [anon_sym_GT_GT] = ACTIONS(3611),
    [anon_sym_import] = ACTIONS(3611),
    [anon_sym_typealias] = ACTIONS(3611),
    [anon_sym_struct] = ACTIONS(3611),
    [anon_sym_class] = ACTIONS(3611),
    [anon_sym_enum] = ACTIONS(3611),
    [anon_sym_protocol] = ACTIONS(3611),
    [anon_sym_let] = ACTIONS(3611),
    [anon_sym_var] = ACTIONS(3611),
    [anon_sym_func] = ACTIONS(3611),
    [anon_sym_extension] = ACTIONS(3611),
    [anon_sym_indirect] = ACTIONS(3611),
    [anon_sym_SEMI] = ACTIONS(3611),
    [anon_sym_init] = ACTIONS(3611),
    [anon_sym_deinit] = ACTIONS(3611),
    [anon_sym_subscript] = ACTIONS(3611),
    [anon_sym_prefix] = ACTIONS(3611),
    [anon_sym_infix] = ACTIONS(3611),
    [anon_sym_postfix] = ACTIONS(3611),
    [anon_sym_precedencegroup] = ACTIONS(3611),
    [anon_sym_associatedtype] = ACTIONS(3611),
    [anon_sym_AT] = ACTIONS(3609),
    [anon_sym_override] = ACTIONS(3611),
    [anon_sym_convenience] = ACTIONS(3611),
    [anon_sym_required] = ACTIONS(3611),
    [anon_sym_nonisolated] = ACTIONS(3611),
    [anon_sym_public] = ACTIONS(3611),
    [anon_sym_private] = ACTIONS(3611),
    [anon_sym_internal] = ACTIONS(3611),
    [anon_sym_fileprivate] = ACTIONS(3611),
    [anon_sym_open] = ACTIONS(3611),
    [anon_sym_mutating] = ACTIONS(3611),
    [anon_sym_nonmutating] = ACTIONS(3611),
    [anon_sym_static] = ACTIONS(3611),
    [anon_sym_dynamic] = ACTIONS(3611),
    [anon_sym_optional] = ACTIONS(3611),
    [anon_sym_distributed] = ACTIONS(3611),
    [anon_sym_final] = ACTIONS(3611),
    [anon_sym_inout] = ACTIONS(3611),
    [anon_sym_ATescaping] = ACTIONS(3611),
    [anon_sym_ATautoclosure] = ACTIONS(3611),
    [anon_sym_weak] = ACTIONS(3611),
    [anon_sym_unowned] = ACTIONS(3609),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3611),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3611),
    [anon_sym_borrowing] = ACTIONS(3611),
    [anon_sym_consuming] = ACTIONS(3611),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3611),
    [sym__conjunction_operator_custom] = ACTIONS(3611),
    [sym__disjunction_operator_custom] = ACTIONS(3611),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3611),
    [sym__eq_custom] = ACTIONS(3611),
    [sym__eq_eq_custom] = ACTIONS(3611),
    [sym__plus_then_ws] = ACTIONS(3611),
    [sym__minus_then_ws] = ACTIONS(3611),
    [sym__bang_custom] = ACTIONS(3611),
    [sym__as_custom] = ACTIONS(3611),
    [sym__as_quest_custom] = ACTIONS(3611),
    [sym__as_bang_custom] = ACTIONS(3611),
    [sym__custom_operator] = ACTIONS(3611),
  },
  [964] = {
    [anon_sym_BANG] = ACTIONS(3613),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3615),
    [anon_sym_async] = ACTIONS(3615),
    [anon_sym_lazy] = ACTIONS(3615),
    [anon_sym_package] = ACTIONS(3615),
    [anon_sym_RPAREN] = ACTIONS(3615),
    [anon_sym_COMMA] = ACTIONS(3615),
    [anon_sym_COLON] = ACTIONS(3615),
    [anon_sym_LPAREN] = ACTIONS(3615),
    [anon_sym_LBRACK] = ACTIONS(3615),
    [anon_sym_RBRACK] = ACTIONS(3615),
    [anon_sym_QMARK] = ACTIONS(3613),
    [anon_sym_QMARK2] = ACTIONS(3615),
    [anon_sym_AMP] = ACTIONS(3615),
    [aux_sym_custom_operator_token1] = ACTIONS(3615),
    [anon_sym_LT] = ACTIONS(3613),
    [anon_sym_GT] = ACTIONS(3613),
    [anon_sym_LBRACE] = ACTIONS(3615),
    [anon_sym_CARET_LBRACE] = ACTIONS(3615),
    [anon_sym_RBRACE] = ACTIONS(3615),
    [anon_sym_case] = ACTIONS(3615),
    [anon_sym_PLUS_EQ] = ACTIONS(3615),
    [anon_sym_DASH_EQ] = ACTIONS(3615),
    [anon_sym_STAR_EQ] = ACTIONS(3615),
    [anon_sym_SLASH_EQ] = ACTIONS(3615),
    [anon_sym_PERCENT_EQ] = ACTIONS(3615),
    [anon_sym_BANG_EQ] = ACTIONS(3613),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3615),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3615),
    [anon_sym_LT_EQ] = ACTIONS(3615),
    [anon_sym_GT_EQ] = ACTIONS(3615),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3615),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3615),
    [anon_sym_is] = ACTIONS(3615),
    [anon_sym_PLUS] = ACTIONS(3613),
    [anon_sym_DASH] = ACTIONS(3613),
    [anon_sym_STAR] = ACTIONS(3613),
    [anon_sym_SLASH] = ACTIONS(3613),
    [anon_sym_PERCENT] = ACTIONS(3613),
    [anon_sym_PLUS_PLUS] = ACTIONS(3615),
    [anon_sym_DASH_DASH] = ACTIONS(3615),
    [anon_sym_PIPE] = ACTIONS(3615),
    [anon_sym_CARET] = ACTIONS(3613),
    [anon_sym_LT_LT] = ACTIONS(3615),
    [anon_sym_GT_GT] = ACTIONS(3615),
    [anon_sym_import] = ACTIONS(3615),
    [anon_sym_typealias] = ACTIONS(3615),
    [anon_sym_struct] = ACTIONS(3615),
    [anon_sym_class] = ACTIONS(3615),
    [anon_sym_enum] = ACTIONS(3615),
    [anon_sym_protocol] = ACTIONS(3615),
    [anon_sym_let] = ACTIONS(3615),
    [anon_sym_var] = ACTIONS(3615),
    [anon_sym_func] = ACTIONS(3615),
    [anon_sym_extension] = ACTIONS(3615),
    [anon_sym_indirect] = ACTIONS(3615),
    [anon_sym_SEMI] = ACTIONS(3615),
    [anon_sym_init] = ACTIONS(3615),
    [anon_sym_deinit] = ACTIONS(3615),
    [anon_sym_subscript] = ACTIONS(3615),
    [anon_sym_prefix] = ACTIONS(3615),
    [anon_sym_infix] = ACTIONS(3615),
    [anon_sym_postfix] = ACTIONS(3615),
    [anon_sym_precedencegroup] = ACTIONS(3615),
    [anon_sym_associatedtype] = ACTIONS(3615),
    [anon_sym_AT] = ACTIONS(3613),
    [anon_sym_override] = ACTIONS(3615),
    [anon_sym_convenience] = ACTIONS(3615),
    [anon_sym_required] = ACTIONS(3615),
    [anon_sym_nonisolated] = ACTIONS(3615),
    [anon_sym_public] = ACTIONS(3615),
    [anon_sym_private] = ACTIONS(3615),
    [anon_sym_internal] = ACTIONS(3615),
    [anon_sym_fileprivate] = ACTIONS(3615),
    [anon_sym_open] = ACTIONS(3615),
    [anon_sym_mutating] = ACTIONS(3615),
    [anon_sym_nonmutating] = ACTIONS(3615),
    [anon_sym_static] = ACTIONS(3615),
    [anon_sym_dynamic] = ACTIONS(3615),
    [anon_sym_optional] = ACTIONS(3615),
    [anon_sym_distributed] = ACTIONS(3615),
    [anon_sym_final] = ACTIONS(3615),
    [anon_sym_inout] = ACTIONS(3615),
    [anon_sym_ATescaping] = ACTIONS(3615),
    [anon_sym_ATautoclosure] = ACTIONS(3615),
    [anon_sym_weak] = ACTIONS(3615),
    [anon_sym_unowned] = ACTIONS(3613),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3615),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3615),
    [anon_sym_borrowing] = ACTIONS(3615),
    [anon_sym_consuming] = ACTIONS(3615),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3615),
    [sym__conjunction_operator_custom] = ACTIONS(3615),
    [sym__disjunction_operator_custom] = ACTIONS(3615),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3615),
    [sym__eq_custom] = ACTIONS(3615),
    [sym__eq_eq_custom] = ACTIONS(3615),
    [sym__plus_then_ws] = ACTIONS(3615),
    [sym__minus_then_ws] = ACTIONS(3615),
    [sym__bang_custom] = ACTIONS(3615),
    [sym__as_custom] = ACTIONS(3615),
    [sym__as_quest_custom] = ACTIONS(3615),
    [sym__as_bang_custom] = ACTIONS(3615),
    [sym__custom_operator] = ACTIONS(3615),
  },
  [965] = {
    [anon_sym_BANG] = ACTIONS(3617),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3619),
    [anon_sym_async] = ACTIONS(3619),
    [anon_sym_lazy] = ACTIONS(3619),
    [anon_sym_package] = ACTIONS(3619),
    [anon_sym_RPAREN] = ACTIONS(3619),
    [anon_sym_COMMA] = ACTIONS(3619),
    [anon_sym_COLON] = ACTIONS(3619),
    [anon_sym_LPAREN] = ACTIONS(3619),
    [anon_sym_LBRACK] = ACTIONS(3619),
    [anon_sym_RBRACK] = ACTIONS(3619),
    [anon_sym_QMARK] = ACTIONS(3617),
    [anon_sym_QMARK2] = ACTIONS(3619),
    [anon_sym_AMP] = ACTIONS(3619),
    [aux_sym_custom_operator_token1] = ACTIONS(3619),
    [anon_sym_LT] = ACTIONS(3617),
    [anon_sym_GT] = ACTIONS(3617),
    [anon_sym_LBRACE] = ACTIONS(3619),
    [anon_sym_CARET_LBRACE] = ACTIONS(3619),
    [anon_sym_RBRACE] = ACTIONS(3619),
    [anon_sym_case] = ACTIONS(3619),
    [anon_sym_PLUS_EQ] = ACTIONS(3619),
    [anon_sym_DASH_EQ] = ACTIONS(3619),
    [anon_sym_STAR_EQ] = ACTIONS(3619),
    [anon_sym_SLASH_EQ] = ACTIONS(3619),
    [anon_sym_PERCENT_EQ] = ACTIONS(3619),
    [anon_sym_BANG_EQ] = ACTIONS(3617),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3619),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3619),
    [anon_sym_LT_EQ] = ACTIONS(3619),
    [anon_sym_GT_EQ] = ACTIONS(3619),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3619),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3619),
    [anon_sym_is] = ACTIONS(3619),
    [anon_sym_PLUS] = ACTIONS(3617),
    [anon_sym_DASH] = ACTIONS(3617),
    [anon_sym_STAR] = ACTIONS(3617),
    [anon_sym_SLASH] = ACTIONS(3617),
    [anon_sym_PERCENT] = ACTIONS(3617),
    [anon_sym_PLUS_PLUS] = ACTIONS(3619),
    [anon_sym_DASH_DASH] = ACTIONS(3619),
    [anon_sym_PIPE] = ACTIONS(3619),
    [anon_sym_CARET] = ACTIONS(3617),
    [anon_sym_LT_LT] = ACTIONS(3619),
    [anon_sym_GT_GT] = ACTIONS(3619),
    [anon_sym_import] = ACTIONS(3619),
    [anon_sym_typealias] = ACTIONS(3619),
    [anon_sym_struct] = ACTIONS(3619),
    [anon_sym_class] = ACTIONS(3619),
    [anon_sym_enum] = ACTIONS(3619),
    [anon_sym_protocol] = ACTIONS(3619),
    [anon_sym_let] = ACTIONS(3619),
    [anon_sym_var] = ACTIONS(3619),
    [anon_sym_func] = ACTIONS(3619),
    [anon_sym_extension] = ACTIONS(3619),
    [anon_sym_indirect] = ACTIONS(3619),
    [anon_sym_SEMI] = ACTIONS(3619),
    [anon_sym_init] = ACTIONS(3619),
    [anon_sym_deinit] = ACTIONS(3619),
    [anon_sym_subscript] = ACTIONS(3619),
    [anon_sym_prefix] = ACTIONS(3619),
    [anon_sym_infix] = ACTIONS(3619),
    [anon_sym_postfix] = ACTIONS(3619),
    [anon_sym_precedencegroup] = ACTIONS(3619),
    [anon_sym_associatedtype] = ACTIONS(3619),
    [anon_sym_AT] = ACTIONS(3617),
    [anon_sym_override] = ACTIONS(3619),
    [anon_sym_convenience] = ACTIONS(3619),
    [anon_sym_required] = ACTIONS(3619),
    [anon_sym_nonisolated] = ACTIONS(3619),
    [anon_sym_public] = ACTIONS(3619),
    [anon_sym_private] = ACTIONS(3619),
    [anon_sym_internal] = ACTIONS(3619),
    [anon_sym_fileprivate] = ACTIONS(3619),
    [anon_sym_open] = ACTIONS(3619),
    [anon_sym_mutating] = ACTIONS(3619),
    [anon_sym_nonmutating] = ACTIONS(3619),
    [anon_sym_static] = ACTIONS(3619),
    [anon_sym_dynamic] = ACTIONS(3619),
    [anon_sym_optional] = ACTIONS(3619),
    [anon_sym_distributed] = ACTIONS(3619),
    [anon_sym_final] = ACTIONS(3619),
    [anon_sym_inout] = ACTIONS(3619),
    [anon_sym_ATescaping] = ACTIONS(3619),
    [anon_sym_ATautoclosure] = ACTIONS(3619),
    [anon_sym_weak] = ACTIONS(3619),
    [anon_sym_unowned] = ACTIONS(3617),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3619),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3619),
    [anon_sym_borrowing] = ACTIONS(3619),
    [anon_sym_consuming] = ACTIONS(3619),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3619),
    [sym__conjunction_operator_custom] = ACTIONS(3619),
    [sym__disjunction_operator_custom] = ACTIONS(3619),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3619),
    [sym__eq_custom] = ACTIONS(3619),
    [sym__eq_eq_custom] = ACTIONS(3619),
    [sym__plus_then_ws] = ACTIONS(3619),
    [sym__minus_then_ws] = ACTIONS(3619),
    [sym__bang_custom] = ACTIONS(3619),
    [sym__as_custom] = ACTIONS(3619),
    [sym__as_quest_custom] = ACTIONS(3619),
    [sym__as_bang_custom] = ACTIONS(3619),
    [sym__custom_operator] = ACTIONS(3619),
  },
  [966] = {
    [anon_sym_BANG] = ACTIONS(3621),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3623),
    [anon_sym_async] = ACTIONS(3623),
    [anon_sym_lazy] = ACTIONS(3623),
    [anon_sym_package] = ACTIONS(3623),
    [anon_sym_RPAREN] = ACTIONS(3623),
    [anon_sym_COMMA] = ACTIONS(3623),
    [anon_sym_COLON] = ACTIONS(3623),
    [anon_sym_LPAREN] = ACTIONS(3623),
    [anon_sym_LBRACK] = ACTIONS(3623),
    [anon_sym_RBRACK] = ACTIONS(3623),
    [anon_sym_QMARK] = ACTIONS(3621),
    [anon_sym_QMARK2] = ACTIONS(3623),
    [anon_sym_AMP] = ACTIONS(3623),
    [aux_sym_custom_operator_token1] = ACTIONS(3623),
    [anon_sym_LT] = ACTIONS(3621),
    [anon_sym_GT] = ACTIONS(3621),
    [anon_sym_LBRACE] = ACTIONS(3623),
    [anon_sym_CARET_LBRACE] = ACTIONS(3623),
    [anon_sym_RBRACE] = ACTIONS(3623),
    [anon_sym_case] = ACTIONS(3623),
    [anon_sym_PLUS_EQ] = ACTIONS(3623),
    [anon_sym_DASH_EQ] = ACTIONS(3623),
    [anon_sym_STAR_EQ] = ACTIONS(3623),
    [anon_sym_SLASH_EQ] = ACTIONS(3623),
    [anon_sym_PERCENT_EQ] = ACTIONS(3623),
    [anon_sym_BANG_EQ] = ACTIONS(3621),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3623),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3623),
    [anon_sym_LT_EQ] = ACTIONS(3623),
    [anon_sym_GT_EQ] = ACTIONS(3623),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3623),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3623),
    [anon_sym_is] = ACTIONS(3623),
    [anon_sym_PLUS] = ACTIONS(3621),
    [anon_sym_DASH] = ACTIONS(3621),
    [anon_sym_STAR] = ACTIONS(3621),
    [anon_sym_SLASH] = ACTIONS(3621),
    [anon_sym_PERCENT] = ACTIONS(3621),
    [anon_sym_PLUS_PLUS] = ACTIONS(3623),
    [anon_sym_DASH_DASH] = ACTIONS(3623),
    [anon_sym_PIPE] = ACTIONS(3623),
    [anon_sym_CARET] = ACTIONS(3621),
    [anon_sym_LT_LT] = ACTIONS(3623),
    [anon_sym_GT_GT] = ACTIONS(3623),
    [anon_sym_import] = ACTIONS(3623),
    [anon_sym_typealias] = ACTIONS(3623),
    [anon_sym_struct] = ACTIONS(3623),
    [anon_sym_class] = ACTIONS(3623),
    [anon_sym_enum] = ACTIONS(3623),
    [anon_sym_protocol] = ACTIONS(3623),
    [anon_sym_let] = ACTIONS(3623),
    [anon_sym_var] = ACTIONS(3623),
    [anon_sym_func] = ACTIONS(3623),
    [anon_sym_extension] = ACTIONS(3623),
    [anon_sym_indirect] = ACTIONS(3623),
    [anon_sym_SEMI] = ACTIONS(3623),
    [anon_sym_init] = ACTIONS(3623),
    [anon_sym_deinit] = ACTIONS(3623),
    [anon_sym_subscript] = ACTIONS(3623),
    [anon_sym_prefix] = ACTIONS(3623),
    [anon_sym_infix] = ACTIONS(3623),
    [anon_sym_postfix] = ACTIONS(3623),
    [anon_sym_precedencegroup] = ACTIONS(3623),
    [anon_sym_associatedtype] = ACTIONS(3623),
    [anon_sym_AT] = ACTIONS(3621),
    [anon_sym_override] = ACTIONS(3623),
    [anon_sym_convenience] = ACTIONS(3623),
    [anon_sym_required] = ACTIONS(3623),
    [anon_sym_nonisolated] = ACTIONS(3623),
    [anon_sym_public] = ACTIONS(3623),
    [anon_sym_private] = ACTIONS(3623),
    [anon_sym_internal] = ACTIONS(3623),
    [anon_sym_fileprivate] = ACTIONS(3623),
    [anon_sym_open] = ACTIONS(3623),
    [anon_sym_mutating] = ACTIONS(3623),
    [anon_sym_nonmutating] = ACTIONS(3623),
    [anon_sym_static] = ACTIONS(3623),
    [anon_sym_dynamic] = ACTIONS(3623),
    [anon_sym_optional] = ACTIONS(3623),
    [anon_sym_distributed] = ACTIONS(3623),
    [anon_sym_final] = ACTIONS(3623),
    [anon_sym_inout] = ACTIONS(3623),
    [anon_sym_ATescaping] = ACTIONS(3623),
    [anon_sym_ATautoclosure] = ACTIONS(3623),
    [anon_sym_weak] = ACTIONS(3623),
    [anon_sym_unowned] = ACTIONS(3621),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3623),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3623),
    [anon_sym_borrowing] = ACTIONS(3623),
    [anon_sym_consuming] = ACTIONS(3623),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3623),
    [sym__conjunction_operator_custom] = ACTIONS(3623),
    [sym__disjunction_operator_custom] = ACTIONS(3623),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3623),
    [sym__eq_custom] = ACTIONS(3623),
    [sym__eq_eq_custom] = ACTIONS(3623),
    [sym__plus_then_ws] = ACTIONS(3623),
    [sym__minus_then_ws] = ACTIONS(3623),
    [sym__bang_custom] = ACTIONS(3623),
    [sym__as_custom] = ACTIONS(3623),
    [sym__as_quest_custom] = ACTIONS(3623),
    [sym__as_bang_custom] = ACTIONS(3623),
    [sym__custom_operator] = ACTIONS(3623),
  },
  [967] = {
    [anon_sym_BANG] = ACTIONS(3625),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3627),
    [anon_sym_async] = ACTIONS(3627),
    [anon_sym_lazy] = ACTIONS(3627),
    [anon_sym_package] = ACTIONS(3627),
    [anon_sym_RPAREN] = ACTIONS(3627),
    [anon_sym_COMMA] = ACTIONS(3627),
    [anon_sym_COLON] = ACTIONS(3627),
    [anon_sym_LPAREN] = ACTIONS(3627),
    [anon_sym_LBRACK] = ACTIONS(3627),
    [anon_sym_RBRACK] = ACTIONS(3627),
    [anon_sym_QMARK] = ACTIONS(3625),
    [anon_sym_QMARK2] = ACTIONS(3627),
    [anon_sym_AMP] = ACTIONS(3627),
    [aux_sym_custom_operator_token1] = ACTIONS(3627),
    [anon_sym_LT] = ACTIONS(3625),
    [anon_sym_GT] = ACTIONS(3625),
    [anon_sym_LBRACE] = ACTIONS(3627),
    [anon_sym_CARET_LBRACE] = ACTIONS(3627),
    [anon_sym_RBRACE] = ACTIONS(3627),
    [anon_sym_case] = ACTIONS(3627),
    [anon_sym_PLUS_EQ] = ACTIONS(3627),
    [anon_sym_DASH_EQ] = ACTIONS(3627),
    [anon_sym_STAR_EQ] = ACTIONS(3627),
    [anon_sym_SLASH_EQ] = ACTIONS(3627),
    [anon_sym_PERCENT_EQ] = ACTIONS(3627),
    [anon_sym_BANG_EQ] = ACTIONS(3625),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3627),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3627),
    [anon_sym_LT_EQ] = ACTIONS(3627),
    [anon_sym_GT_EQ] = ACTIONS(3627),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3627),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3627),
    [anon_sym_is] = ACTIONS(3627),
    [anon_sym_PLUS] = ACTIONS(3625),
    [anon_sym_DASH] = ACTIONS(3625),
    [anon_sym_STAR] = ACTIONS(3625),
    [anon_sym_SLASH] = ACTIONS(3625),
    [anon_sym_PERCENT] = ACTIONS(3625),
    [anon_sym_PLUS_PLUS] = ACTIONS(3627),
    [anon_sym_DASH_DASH] = ACTIONS(3627),
    [anon_sym_PIPE] = ACTIONS(3627),
    [anon_sym_CARET] = ACTIONS(3625),
    [anon_sym_LT_LT] = ACTIONS(3627),
    [anon_sym_GT_GT] = ACTIONS(3627),
    [anon_sym_import] = ACTIONS(3627),
    [anon_sym_typealias] = ACTIONS(3627),
    [anon_sym_struct] = ACTIONS(3627),
    [anon_sym_class] = ACTIONS(3627),
    [anon_sym_enum] = ACTIONS(3627),
    [anon_sym_protocol] = ACTIONS(3627),
    [anon_sym_let] = ACTIONS(3627),
    [anon_sym_var] = ACTIONS(3627),
    [anon_sym_func] = ACTIONS(3627),
    [anon_sym_extension] = ACTIONS(3627),
    [anon_sym_indirect] = ACTIONS(3627),
    [anon_sym_SEMI] = ACTIONS(3627),
    [anon_sym_init] = ACTIONS(3627),
    [anon_sym_deinit] = ACTIONS(3627),
    [anon_sym_subscript] = ACTIONS(3627),
    [anon_sym_prefix] = ACTIONS(3627),
    [anon_sym_infix] = ACTIONS(3627),
    [anon_sym_postfix] = ACTIONS(3627),
    [anon_sym_precedencegroup] = ACTIONS(3627),
    [anon_sym_associatedtype] = ACTIONS(3627),
    [anon_sym_AT] = ACTIONS(3625),
    [anon_sym_override] = ACTIONS(3627),
    [anon_sym_convenience] = ACTIONS(3627),
    [anon_sym_required] = ACTIONS(3627),
    [anon_sym_nonisolated] = ACTIONS(3627),
    [anon_sym_public] = ACTIONS(3627),
    [anon_sym_private] = ACTIONS(3627),
    [anon_sym_internal] = ACTIONS(3627),
    [anon_sym_fileprivate] = ACTIONS(3627),
    [anon_sym_open] = ACTIONS(3627),
    [anon_sym_mutating] = ACTIONS(3627),
    [anon_sym_nonmutating] = ACTIONS(3627),
    [anon_sym_static] = ACTIONS(3627),
    [anon_sym_dynamic] = ACTIONS(3627),
    [anon_sym_optional] = ACTIONS(3627),
    [anon_sym_distributed] = ACTIONS(3627),
    [anon_sym_final] = ACTIONS(3627),
    [anon_sym_inout] = ACTIONS(3627),
    [anon_sym_ATescaping] = ACTIONS(3627),
    [anon_sym_ATautoclosure] = ACTIONS(3627),
    [anon_sym_weak] = ACTIONS(3627),
    [anon_sym_unowned] = ACTIONS(3625),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3627),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3627),
    [anon_sym_borrowing] = ACTIONS(3627),
    [anon_sym_consuming] = ACTIONS(3627),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3627),
    [sym__conjunction_operator_custom] = ACTIONS(3627),
    [sym__disjunction_operator_custom] = ACTIONS(3627),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3627),
    [sym__eq_custom] = ACTIONS(3627),
    [sym__eq_eq_custom] = ACTIONS(3627),
    [sym__plus_then_ws] = ACTIONS(3627),
    [sym__minus_then_ws] = ACTIONS(3627),
    [sym__bang_custom] = ACTIONS(3627),
    [sym__as_custom] = ACTIONS(3627),
    [sym__as_quest_custom] = ACTIONS(3627),
    [sym__as_bang_custom] = ACTIONS(3627),
    [sym__custom_operator] = ACTIONS(3627),
  },
  [968] = {
    [anon_sym_BANG] = ACTIONS(3629),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3631),
    [anon_sym_async] = ACTIONS(3631),
    [anon_sym_lazy] = ACTIONS(3631),
    [anon_sym_package] = ACTIONS(3631),
    [anon_sym_RPAREN] = ACTIONS(3631),
    [anon_sym_COMMA] = ACTIONS(3631),
    [anon_sym_COLON] = ACTIONS(3631),
    [anon_sym_LPAREN] = ACTIONS(3631),
    [anon_sym_LBRACK] = ACTIONS(3631),
    [anon_sym_RBRACK] = ACTIONS(3631),
    [anon_sym_QMARK] = ACTIONS(3629),
    [anon_sym_QMARK2] = ACTIONS(3631),
    [anon_sym_AMP] = ACTIONS(3631),
    [aux_sym_custom_operator_token1] = ACTIONS(3631),
    [anon_sym_LT] = ACTIONS(3629),
    [anon_sym_GT] = ACTIONS(3629),
    [anon_sym_LBRACE] = ACTIONS(3631),
    [anon_sym_CARET_LBRACE] = ACTIONS(3631),
    [anon_sym_RBRACE] = ACTIONS(3631),
    [anon_sym_case] = ACTIONS(3631),
    [anon_sym_PLUS_EQ] = ACTIONS(3631),
    [anon_sym_DASH_EQ] = ACTIONS(3631),
    [anon_sym_STAR_EQ] = ACTIONS(3631),
    [anon_sym_SLASH_EQ] = ACTIONS(3631),
    [anon_sym_PERCENT_EQ] = ACTIONS(3631),
    [anon_sym_BANG_EQ] = ACTIONS(3629),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3631),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3631),
    [anon_sym_LT_EQ] = ACTIONS(3631),
    [anon_sym_GT_EQ] = ACTIONS(3631),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3631),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3631),
    [anon_sym_is] = ACTIONS(3631),
    [anon_sym_PLUS] = ACTIONS(3629),
    [anon_sym_DASH] = ACTIONS(3629),
    [anon_sym_STAR] = ACTIONS(3629),
    [anon_sym_SLASH] = ACTIONS(3629),
    [anon_sym_PERCENT] = ACTIONS(3629),
    [anon_sym_PLUS_PLUS] = ACTIONS(3631),
    [anon_sym_DASH_DASH] = ACTIONS(3631),
    [anon_sym_PIPE] = ACTIONS(3631),
    [anon_sym_CARET] = ACTIONS(3629),
    [anon_sym_LT_LT] = ACTIONS(3631),
    [anon_sym_GT_GT] = ACTIONS(3631),
    [anon_sym_import] = ACTIONS(3631),
    [anon_sym_typealias] = ACTIONS(3631),
    [anon_sym_struct] = ACTIONS(3631),
    [anon_sym_class] = ACTIONS(3631),
    [anon_sym_enum] = ACTIONS(3631),
    [anon_sym_protocol] = ACTIONS(3631),
    [anon_sym_let] = ACTIONS(3631),
    [anon_sym_var] = ACTIONS(3631),
    [anon_sym_func] = ACTIONS(3631),
    [anon_sym_extension] = ACTIONS(3631),
    [anon_sym_indirect] = ACTIONS(3631),
    [anon_sym_SEMI] = ACTIONS(3631),
    [anon_sym_init] = ACTIONS(3631),
    [anon_sym_deinit] = ACTIONS(3631),
    [anon_sym_subscript] = ACTIONS(3631),
    [anon_sym_prefix] = ACTIONS(3631),
    [anon_sym_infix] = ACTIONS(3631),
    [anon_sym_postfix] = ACTIONS(3631),
    [anon_sym_precedencegroup] = ACTIONS(3631),
    [anon_sym_associatedtype] = ACTIONS(3631),
    [anon_sym_AT] = ACTIONS(3629),
    [anon_sym_override] = ACTIONS(3631),
    [anon_sym_convenience] = ACTIONS(3631),
    [anon_sym_required] = ACTIONS(3631),
    [anon_sym_nonisolated] = ACTIONS(3631),
    [anon_sym_public] = ACTIONS(3631),
    [anon_sym_private] = ACTIONS(3631),
    [anon_sym_internal] = ACTIONS(3631),
    [anon_sym_fileprivate] = ACTIONS(3631),
    [anon_sym_open] = ACTIONS(3631),
    [anon_sym_mutating] = ACTIONS(3631),
    [anon_sym_nonmutating] = ACTIONS(3631),
    [anon_sym_static] = ACTIONS(3631),
    [anon_sym_dynamic] = ACTIONS(3631),
    [anon_sym_optional] = ACTIONS(3631),
    [anon_sym_distributed] = ACTIONS(3631),
    [anon_sym_final] = ACTIONS(3631),
    [anon_sym_inout] = ACTIONS(3631),
    [anon_sym_ATescaping] = ACTIONS(3631),
    [anon_sym_ATautoclosure] = ACTIONS(3631),
    [anon_sym_weak] = ACTIONS(3631),
    [anon_sym_unowned] = ACTIONS(3629),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3631),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3631),
    [anon_sym_borrowing] = ACTIONS(3631),
    [anon_sym_consuming] = ACTIONS(3631),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3631),
    [sym__conjunction_operator_custom] = ACTIONS(3631),
    [sym__disjunction_operator_custom] = ACTIONS(3631),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3631),
    [sym__eq_custom] = ACTIONS(3631),
    [sym__eq_eq_custom] = ACTIONS(3631),
    [sym__plus_then_ws] = ACTIONS(3631),
    [sym__minus_then_ws] = ACTIONS(3631),
    [sym__bang_custom] = ACTIONS(3631),
    [sym__as_custom] = ACTIONS(3631),
    [sym__as_quest_custom] = ACTIONS(3631),
    [sym__as_bang_custom] = ACTIONS(3631),
    [sym__custom_operator] = ACTIONS(3631),
  },
  [969] = {
    [anon_sym_BANG] = ACTIONS(3633),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3635),
    [anon_sym_async] = ACTIONS(3635),
    [anon_sym_lazy] = ACTIONS(3635),
    [anon_sym_package] = ACTIONS(3635),
    [anon_sym_RPAREN] = ACTIONS(3635),
    [anon_sym_COMMA] = ACTIONS(3635),
    [anon_sym_COLON] = ACTIONS(3635),
    [anon_sym_LPAREN] = ACTIONS(3635),
    [anon_sym_LBRACK] = ACTIONS(3635),
    [anon_sym_RBRACK] = ACTIONS(3635),
    [anon_sym_QMARK] = ACTIONS(3633),
    [anon_sym_QMARK2] = ACTIONS(3635),
    [anon_sym_AMP] = ACTIONS(3635),
    [aux_sym_custom_operator_token1] = ACTIONS(3635),
    [anon_sym_LT] = ACTIONS(3633),
    [anon_sym_GT] = ACTIONS(3633),
    [anon_sym_LBRACE] = ACTIONS(3635),
    [anon_sym_CARET_LBRACE] = ACTIONS(3635),
    [anon_sym_RBRACE] = ACTIONS(3635),
    [anon_sym_case] = ACTIONS(3635),
    [anon_sym_PLUS_EQ] = ACTIONS(3635),
    [anon_sym_DASH_EQ] = ACTIONS(3635),
    [anon_sym_STAR_EQ] = ACTIONS(3635),
    [anon_sym_SLASH_EQ] = ACTIONS(3635),
    [anon_sym_PERCENT_EQ] = ACTIONS(3635),
    [anon_sym_BANG_EQ] = ACTIONS(3633),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3635),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3635),
    [anon_sym_LT_EQ] = ACTIONS(3635),
    [anon_sym_GT_EQ] = ACTIONS(3635),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3635),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3635),
    [anon_sym_is] = ACTIONS(3635),
    [anon_sym_PLUS] = ACTIONS(3633),
    [anon_sym_DASH] = ACTIONS(3633),
    [anon_sym_STAR] = ACTIONS(3633),
    [anon_sym_SLASH] = ACTIONS(3633),
    [anon_sym_PERCENT] = ACTIONS(3633),
    [anon_sym_PLUS_PLUS] = ACTIONS(3635),
    [anon_sym_DASH_DASH] = ACTIONS(3635),
    [anon_sym_PIPE] = ACTIONS(3635),
    [anon_sym_CARET] = ACTIONS(3633),
    [anon_sym_LT_LT] = ACTIONS(3635),
    [anon_sym_GT_GT] = ACTIONS(3635),
    [anon_sym_import] = ACTIONS(3635),
    [anon_sym_typealias] = ACTIONS(3635),
    [anon_sym_struct] = ACTIONS(3635),
    [anon_sym_class] = ACTIONS(3635),
    [anon_sym_enum] = ACTIONS(3635),
    [anon_sym_protocol] = ACTIONS(3635),
    [anon_sym_let] = ACTIONS(3635),
    [anon_sym_var] = ACTIONS(3635),
    [anon_sym_func] = ACTIONS(3635),
    [anon_sym_extension] = ACTIONS(3635),
    [anon_sym_indirect] = ACTIONS(3635),
    [anon_sym_SEMI] = ACTIONS(3635),
    [anon_sym_init] = ACTIONS(3635),
    [anon_sym_deinit] = ACTIONS(3635),
    [anon_sym_subscript] = ACTIONS(3635),
    [anon_sym_prefix] = ACTIONS(3635),
    [anon_sym_infix] = ACTIONS(3635),
    [anon_sym_postfix] = ACTIONS(3635),
    [anon_sym_precedencegroup] = ACTIONS(3635),
    [anon_sym_associatedtype] = ACTIONS(3635),
    [anon_sym_AT] = ACTIONS(3633),
    [anon_sym_override] = ACTIONS(3635),
    [anon_sym_convenience] = ACTIONS(3635),
    [anon_sym_required] = ACTIONS(3635),
    [anon_sym_nonisolated] = ACTIONS(3635),
    [anon_sym_public] = ACTIONS(3635),
    [anon_sym_private] = ACTIONS(3635),
    [anon_sym_internal] = ACTIONS(3635),
    [anon_sym_fileprivate] = ACTIONS(3635),
    [anon_sym_open] = ACTIONS(3635),
    [anon_sym_mutating] = ACTIONS(3635),
    [anon_sym_nonmutating] = ACTIONS(3635),
    [anon_sym_static] = ACTIONS(3635),
    [anon_sym_dynamic] = ACTIONS(3635),
    [anon_sym_optional] = ACTIONS(3635),
    [anon_sym_distributed] = ACTIONS(3635),
    [anon_sym_final] = ACTIONS(3635),
    [anon_sym_inout] = ACTIONS(3635),
    [anon_sym_ATescaping] = ACTIONS(3635),
    [anon_sym_ATautoclosure] = ACTIONS(3635),
    [anon_sym_weak] = ACTIONS(3635),
    [anon_sym_unowned] = ACTIONS(3633),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3635),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3635),
    [anon_sym_borrowing] = ACTIONS(3635),
    [anon_sym_consuming] = ACTIONS(3635),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3635),
    [sym__conjunction_operator_custom] = ACTIONS(3635),
    [sym__disjunction_operator_custom] = ACTIONS(3635),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3635),
    [sym__eq_custom] = ACTIONS(3635),
    [sym__eq_eq_custom] = ACTIONS(3635),
    [sym__plus_then_ws] = ACTIONS(3635),
    [sym__minus_then_ws] = ACTIONS(3635),
    [sym__bang_custom] = ACTIONS(3635),
    [sym__as_custom] = ACTIONS(3635),
    [sym__as_quest_custom] = ACTIONS(3635),
    [sym__as_bang_custom] = ACTIONS(3635),
    [sym__custom_operator] = ACTIONS(3635),
  },
  [970] = {
    [anon_sym_BANG] = ACTIONS(3637),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3639),
    [anon_sym_async] = ACTIONS(3639),
    [anon_sym_lazy] = ACTIONS(3639),
    [anon_sym_package] = ACTIONS(3639),
    [anon_sym_RPAREN] = ACTIONS(3639),
    [anon_sym_COMMA] = ACTIONS(3639),
    [anon_sym_COLON] = ACTIONS(3639),
    [anon_sym_LPAREN] = ACTIONS(3639),
    [anon_sym_LBRACK] = ACTIONS(3639),
    [anon_sym_RBRACK] = ACTIONS(3639),
    [anon_sym_QMARK] = ACTIONS(3637),
    [anon_sym_QMARK2] = ACTIONS(3639),
    [anon_sym_AMP] = ACTIONS(3639),
    [aux_sym_custom_operator_token1] = ACTIONS(3639),
    [anon_sym_LT] = ACTIONS(3637),
    [anon_sym_GT] = ACTIONS(3637),
    [anon_sym_LBRACE] = ACTIONS(3639),
    [anon_sym_CARET_LBRACE] = ACTIONS(3639),
    [anon_sym_RBRACE] = ACTIONS(3639),
    [anon_sym_case] = ACTIONS(3639),
    [anon_sym_PLUS_EQ] = ACTIONS(3639),
    [anon_sym_DASH_EQ] = ACTIONS(3639),
    [anon_sym_STAR_EQ] = ACTIONS(3639),
    [anon_sym_SLASH_EQ] = ACTIONS(3639),
    [anon_sym_PERCENT_EQ] = ACTIONS(3639),
    [anon_sym_BANG_EQ] = ACTIONS(3637),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3639),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3639),
    [anon_sym_LT_EQ] = ACTIONS(3639),
    [anon_sym_GT_EQ] = ACTIONS(3639),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3639),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3639),
    [anon_sym_is] = ACTIONS(3639),
    [anon_sym_PLUS] = ACTIONS(3637),
    [anon_sym_DASH] = ACTIONS(3637),
    [anon_sym_STAR] = ACTIONS(3637),
    [anon_sym_SLASH] = ACTIONS(3637),
    [anon_sym_PERCENT] = ACTIONS(3637),
    [anon_sym_PLUS_PLUS] = ACTIONS(3639),
    [anon_sym_DASH_DASH] = ACTIONS(3639),
    [anon_sym_PIPE] = ACTIONS(3639),
    [anon_sym_CARET] = ACTIONS(3637),
    [anon_sym_LT_LT] = ACTIONS(3639),
    [anon_sym_GT_GT] = ACTIONS(3639),
    [anon_sym_import] = ACTIONS(3639),
    [anon_sym_typealias] = ACTIONS(3639),
    [anon_sym_struct] = ACTIONS(3639),
    [anon_sym_class] = ACTIONS(3639),
    [anon_sym_enum] = ACTIONS(3639),
    [anon_sym_protocol] = ACTIONS(3639),
    [anon_sym_let] = ACTIONS(3639),
    [anon_sym_var] = ACTIONS(3639),
    [anon_sym_func] = ACTIONS(3639),
    [anon_sym_extension] = ACTIONS(3639),
    [anon_sym_indirect] = ACTIONS(3639),
    [anon_sym_SEMI] = ACTIONS(3639),
    [anon_sym_init] = ACTIONS(3639),
    [anon_sym_deinit] = ACTIONS(3639),
    [anon_sym_subscript] = ACTIONS(3639),
    [anon_sym_prefix] = ACTIONS(3639),
    [anon_sym_infix] = ACTIONS(3639),
    [anon_sym_postfix] = ACTIONS(3639),
    [anon_sym_precedencegroup] = ACTIONS(3639),
    [anon_sym_associatedtype] = ACTIONS(3639),
    [anon_sym_AT] = ACTIONS(3637),
    [anon_sym_override] = ACTIONS(3639),
    [anon_sym_convenience] = ACTIONS(3639),
    [anon_sym_required] = ACTIONS(3639),
    [anon_sym_nonisolated] = ACTIONS(3639),
    [anon_sym_public] = ACTIONS(3639),
    [anon_sym_private] = ACTIONS(3639),
    [anon_sym_internal] = ACTIONS(3639),
    [anon_sym_fileprivate] = ACTIONS(3639),
    [anon_sym_open] = ACTIONS(3639),
    [anon_sym_mutating] = ACTIONS(3639),
    [anon_sym_nonmutating] = ACTIONS(3639),
    [anon_sym_static] = ACTIONS(3639),
    [anon_sym_dynamic] = ACTIONS(3639),
    [anon_sym_optional] = ACTIONS(3639),
    [anon_sym_distributed] = ACTIONS(3639),
    [anon_sym_final] = ACTIONS(3639),
    [anon_sym_inout] = ACTIONS(3639),
    [anon_sym_ATescaping] = ACTIONS(3639),
    [anon_sym_ATautoclosure] = ACTIONS(3639),
    [anon_sym_weak] = ACTIONS(3639),
    [anon_sym_unowned] = ACTIONS(3637),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3639),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3639),
    [anon_sym_borrowing] = ACTIONS(3639),
    [anon_sym_consuming] = ACTIONS(3639),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3639),
    [sym__conjunction_operator_custom] = ACTIONS(3639),
    [sym__disjunction_operator_custom] = ACTIONS(3639),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3639),
    [sym__eq_custom] = ACTIONS(3639),
    [sym__eq_eq_custom] = ACTIONS(3639),
    [sym__plus_then_ws] = ACTIONS(3639),
    [sym__minus_then_ws] = ACTIONS(3639),
    [sym__bang_custom] = ACTIONS(3639),
    [sym__as_custom] = ACTIONS(3639),
    [sym__as_quest_custom] = ACTIONS(3639),
    [sym__as_bang_custom] = ACTIONS(3639),
    [sym__custom_operator] = ACTIONS(3639),
  },
  [971] = {
    [anon_sym_BANG] = ACTIONS(3641),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3643),
    [anon_sym_async] = ACTIONS(3643),
    [anon_sym_lazy] = ACTIONS(3643),
    [anon_sym_package] = ACTIONS(3643),
    [anon_sym_RPAREN] = ACTIONS(3643),
    [anon_sym_COMMA] = ACTIONS(3643),
    [anon_sym_COLON] = ACTIONS(3643),
    [anon_sym_LPAREN] = ACTIONS(3643),
    [anon_sym_LBRACK] = ACTIONS(3643),
    [anon_sym_RBRACK] = ACTIONS(3643),
    [anon_sym_QMARK] = ACTIONS(3641),
    [anon_sym_QMARK2] = ACTIONS(3643),
    [anon_sym_AMP] = ACTIONS(3643),
    [aux_sym_custom_operator_token1] = ACTIONS(3643),
    [anon_sym_LT] = ACTIONS(3641),
    [anon_sym_GT] = ACTIONS(3641),
    [anon_sym_LBRACE] = ACTIONS(3643),
    [anon_sym_CARET_LBRACE] = ACTIONS(3643),
    [anon_sym_RBRACE] = ACTIONS(3643),
    [anon_sym_case] = ACTIONS(3643),
    [anon_sym_PLUS_EQ] = ACTIONS(3643),
    [anon_sym_DASH_EQ] = ACTIONS(3643),
    [anon_sym_STAR_EQ] = ACTIONS(3643),
    [anon_sym_SLASH_EQ] = ACTIONS(3643),
    [anon_sym_PERCENT_EQ] = ACTIONS(3643),
    [anon_sym_BANG_EQ] = ACTIONS(3641),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3643),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3643),
    [anon_sym_LT_EQ] = ACTIONS(3643),
    [anon_sym_GT_EQ] = ACTIONS(3643),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3643),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3643),
    [anon_sym_is] = ACTIONS(3643),
    [anon_sym_PLUS] = ACTIONS(3641),
    [anon_sym_DASH] = ACTIONS(3641),
    [anon_sym_STAR] = ACTIONS(3641),
    [anon_sym_SLASH] = ACTIONS(3641),
    [anon_sym_PERCENT] = ACTIONS(3641),
    [anon_sym_PLUS_PLUS] = ACTIONS(3643),
    [anon_sym_DASH_DASH] = ACTIONS(3643),
    [anon_sym_PIPE] = ACTIONS(3643),
    [anon_sym_CARET] = ACTIONS(3641),
    [anon_sym_LT_LT] = ACTIONS(3643),
    [anon_sym_GT_GT] = ACTIONS(3643),
    [anon_sym_import] = ACTIONS(3643),
    [anon_sym_typealias] = ACTIONS(3643),
    [anon_sym_struct] = ACTIONS(3643),
    [anon_sym_class] = ACTIONS(3643),
    [anon_sym_enum] = ACTIONS(3643),
    [anon_sym_protocol] = ACTIONS(3643),
    [anon_sym_let] = ACTIONS(3643),
    [anon_sym_var] = ACTIONS(3643),
    [anon_sym_func] = ACTIONS(3643),
    [anon_sym_extension] = ACTIONS(3643),
    [anon_sym_indirect] = ACTIONS(3643),
    [anon_sym_SEMI] = ACTIONS(3643),
    [anon_sym_init] = ACTIONS(3643),
    [anon_sym_deinit] = ACTIONS(3643),
    [anon_sym_subscript] = ACTIONS(3643),
    [anon_sym_prefix] = ACTIONS(3643),
    [anon_sym_infix] = ACTIONS(3643),
    [anon_sym_postfix] = ACTIONS(3643),
    [anon_sym_precedencegroup] = ACTIONS(3643),
    [anon_sym_associatedtype] = ACTIONS(3643),
    [anon_sym_AT] = ACTIONS(3641),
    [anon_sym_override] = ACTIONS(3643),
    [anon_sym_convenience] = ACTIONS(3643),
    [anon_sym_required] = ACTIONS(3643),
    [anon_sym_nonisolated] = ACTIONS(3643),
    [anon_sym_public] = ACTIONS(3643),
    [anon_sym_private] = ACTIONS(3643),
    [anon_sym_internal] = ACTIONS(3643),
    [anon_sym_fileprivate] = ACTIONS(3643),
    [anon_sym_open] = ACTIONS(3643),
    [anon_sym_mutating] = ACTIONS(3643),
    [anon_sym_nonmutating] = ACTIONS(3643),
    [anon_sym_static] = ACTIONS(3643),
    [anon_sym_dynamic] = ACTIONS(3643),
    [anon_sym_optional] = ACTIONS(3643),
    [anon_sym_distributed] = ACTIONS(3643),
    [anon_sym_final] = ACTIONS(3643),
    [anon_sym_inout] = ACTIONS(3643),
    [anon_sym_ATescaping] = ACTIONS(3643),
    [anon_sym_ATautoclosure] = ACTIONS(3643),
    [anon_sym_weak] = ACTIONS(3643),
    [anon_sym_unowned] = ACTIONS(3641),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3643),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3643),
    [anon_sym_borrowing] = ACTIONS(3643),
    [anon_sym_consuming] = ACTIONS(3643),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3643),
    [sym__conjunction_operator_custom] = ACTIONS(3643),
    [sym__disjunction_operator_custom] = ACTIONS(3643),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3643),
    [sym__eq_custom] = ACTIONS(3643),
    [sym__eq_eq_custom] = ACTIONS(3643),
    [sym__plus_then_ws] = ACTIONS(3643),
    [sym__minus_then_ws] = ACTIONS(3643),
    [sym__bang_custom] = ACTIONS(3643),
    [sym__as_custom] = ACTIONS(3643),
    [sym__as_quest_custom] = ACTIONS(3643),
    [sym__as_bang_custom] = ACTIONS(3643),
    [sym__custom_operator] = ACTIONS(3643),
  },
  [972] = {
    [anon_sym_BANG] = ACTIONS(3645),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3647),
    [anon_sym_async] = ACTIONS(3647),
    [anon_sym_lazy] = ACTIONS(3647),
    [anon_sym_package] = ACTIONS(3647),
    [anon_sym_RPAREN] = ACTIONS(3647),
    [anon_sym_COMMA] = ACTIONS(3647),
    [anon_sym_COLON] = ACTIONS(3647),
    [anon_sym_LPAREN] = ACTIONS(3647),
    [anon_sym_LBRACK] = ACTIONS(3647),
    [anon_sym_RBRACK] = ACTIONS(3647),
    [anon_sym_QMARK] = ACTIONS(3645),
    [anon_sym_QMARK2] = ACTIONS(3647),
    [anon_sym_AMP] = ACTIONS(3647),
    [aux_sym_custom_operator_token1] = ACTIONS(3647),
    [anon_sym_LT] = ACTIONS(3645),
    [anon_sym_GT] = ACTIONS(3645),
    [anon_sym_LBRACE] = ACTIONS(3647),
    [anon_sym_CARET_LBRACE] = ACTIONS(3647),
    [anon_sym_RBRACE] = ACTIONS(3647),
    [anon_sym_case] = ACTIONS(3647),
    [anon_sym_PLUS_EQ] = ACTIONS(3647),
    [anon_sym_DASH_EQ] = ACTIONS(3647),
    [anon_sym_STAR_EQ] = ACTIONS(3647),
    [anon_sym_SLASH_EQ] = ACTIONS(3647),
    [anon_sym_PERCENT_EQ] = ACTIONS(3647),
    [anon_sym_BANG_EQ] = ACTIONS(3645),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3647),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3647),
    [anon_sym_LT_EQ] = ACTIONS(3647),
    [anon_sym_GT_EQ] = ACTIONS(3647),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3647),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3647),
    [anon_sym_is] = ACTIONS(3647),
    [anon_sym_PLUS] = ACTIONS(3645),
    [anon_sym_DASH] = ACTIONS(3645),
    [anon_sym_STAR] = ACTIONS(3645),
    [anon_sym_SLASH] = ACTIONS(3645),
    [anon_sym_PERCENT] = ACTIONS(3645),
    [anon_sym_PLUS_PLUS] = ACTIONS(3647),
    [anon_sym_DASH_DASH] = ACTIONS(3647),
    [anon_sym_PIPE] = ACTIONS(3647),
    [anon_sym_CARET] = ACTIONS(3645),
    [anon_sym_LT_LT] = ACTIONS(3647),
    [anon_sym_GT_GT] = ACTIONS(3647),
    [anon_sym_import] = ACTIONS(3647),
    [anon_sym_typealias] = ACTIONS(3647),
    [anon_sym_struct] = ACTIONS(3647),
    [anon_sym_class] = ACTIONS(3647),
    [anon_sym_enum] = ACTIONS(3647),
    [anon_sym_protocol] = ACTIONS(3647),
    [anon_sym_let] = ACTIONS(3647),
    [anon_sym_var] = ACTIONS(3647),
    [anon_sym_func] = ACTIONS(3647),
    [anon_sym_extension] = ACTIONS(3647),
    [anon_sym_indirect] = ACTIONS(3647),
    [anon_sym_SEMI] = ACTIONS(3647),
    [anon_sym_init] = ACTIONS(3647),
    [anon_sym_deinit] = ACTIONS(3647),
    [anon_sym_subscript] = ACTIONS(3647),
    [anon_sym_prefix] = ACTIONS(3647),
    [anon_sym_infix] = ACTIONS(3647),
    [anon_sym_postfix] = ACTIONS(3647),
    [anon_sym_precedencegroup] = ACTIONS(3647),
    [anon_sym_associatedtype] = ACTIONS(3647),
    [anon_sym_AT] = ACTIONS(3645),
    [anon_sym_override] = ACTIONS(3647),
    [anon_sym_convenience] = ACTIONS(3647),
    [anon_sym_required] = ACTIONS(3647),
    [anon_sym_nonisolated] = ACTIONS(3647),
    [anon_sym_public] = ACTIONS(3647),
    [anon_sym_private] = ACTIONS(3647),
    [anon_sym_internal] = ACTIONS(3647),
    [anon_sym_fileprivate] = ACTIONS(3647),
    [anon_sym_open] = ACTIONS(3647),
    [anon_sym_mutating] = ACTIONS(3647),
    [anon_sym_nonmutating] = ACTIONS(3647),
    [anon_sym_static] = ACTIONS(3647),
    [anon_sym_dynamic] = ACTIONS(3647),
    [anon_sym_optional] = ACTIONS(3647),
    [anon_sym_distributed] = ACTIONS(3647),
    [anon_sym_final] = ACTIONS(3647),
    [anon_sym_inout] = ACTIONS(3647),
    [anon_sym_ATescaping] = ACTIONS(3647),
    [anon_sym_ATautoclosure] = ACTIONS(3647),
    [anon_sym_weak] = ACTIONS(3647),
    [anon_sym_unowned] = ACTIONS(3645),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3647),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3647),
    [anon_sym_borrowing] = ACTIONS(3647),
    [anon_sym_consuming] = ACTIONS(3647),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3647),
    [sym__conjunction_operator_custom] = ACTIONS(3647),
    [sym__disjunction_operator_custom] = ACTIONS(3647),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3647),
    [sym__eq_custom] = ACTIONS(3647),
    [sym__eq_eq_custom] = ACTIONS(3647),
    [sym__plus_then_ws] = ACTIONS(3647),
    [sym__minus_then_ws] = ACTIONS(3647),
    [sym__bang_custom] = ACTIONS(3647),
    [sym__as_custom] = ACTIONS(3647),
    [sym__as_quest_custom] = ACTIONS(3647),
    [sym__as_bang_custom] = ACTIONS(3647),
    [sym__custom_operator] = ACTIONS(3647),
  },
  [973] = {
    [anon_sym_BANG] = ACTIONS(3649),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3651),
    [anon_sym_async] = ACTIONS(3651),
    [anon_sym_lazy] = ACTIONS(3651),
    [anon_sym_package] = ACTIONS(3651),
    [anon_sym_RPAREN] = ACTIONS(3651),
    [anon_sym_COMMA] = ACTIONS(3651),
    [anon_sym_COLON] = ACTIONS(3651),
    [anon_sym_LPAREN] = ACTIONS(3651),
    [anon_sym_LBRACK] = ACTIONS(3651),
    [anon_sym_RBRACK] = ACTIONS(3651),
    [anon_sym_QMARK] = ACTIONS(3649),
    [anon_sym_QMARK2] = ACTIONS(3651),
    [anon_sym_AMP] = ACTIONS(3651),
    [aux_sym_custom_operator_token1] = ACTIONS(3651),
    [anon_sym_LT] = ACTIONS(3649),
    [anon_sym_GT] = ACTIONS(3649),
    [anon_sym_LBRACE] = ACTIONS(3651),
    [anon_sym_CARET_LBRACE] = ACTIONS(3651),
    [anon_sym_RBRACE] = ACTIONS(3651),
    [anon_sym_case] = ACTIONS(3651),
    [anon_sym_PLUS_EQ] = ACTIONS(3651),
    [anon_sym_DASH_EQ] = ACTIONS(3651),
    [anon_sym_STAR_EQ] = ACTIONS(3651),
    [anon_sym_SLASH_EQ] = ACTIONS(3651),
    [anon_sym_PERCENT_EQ] = ACTIONS(3651),
    [anon_sym_BANG_EQ] = ACTIONS(3649),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3651),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3651),
    [anon_sym_LT_EQ] = ACTIONS(3651),
    [anon_sym_GT_EQ] = ACTIONS(3651),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3651),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3651),
    [anon_sym_is] = ACTIONS(3651),
    [anon_sym_PLUS] = ACTIONS(3649),
    [anon_sym_DASH] = ACTIONS(3649),
    [anon_sym_STAR] = ACTIONS(3649),
    [anon_sym_SLASH] = ACTIONS(3649),
    [anon_sym_PERCENT] = ACTIONS(3649),
    [anon_sym_PLUS_PLUS] = ACTIONS(3651),
    [anon_sym_DASH_DASH] = ACTIONS(3651),
    [anon_sym_PIPE] = ACTIONS(3651),
    [anon_sym_CARET] = ACTIONS(3649),
    [anon_sym_LT_LT] = ACTIONS(3651),
    [anon_sym_GT_GT] = ACTIONS(3651),
    [anon_sym_import] = ACTIONS(3651),
    [anon_sym_typealias] = ACTIONS(3651),
    [anon_sym_struct] = ACTIONS(3651),
    [anon_sym_class] = ACTIONS(3651),
    [anon_sym_enum] = ACTIONS(3651),
    [anon_sym_protocol] = ACTIONS(3651),
    [anon_sym_let] = ACTIONS(3651),
    [anon_sym_var] = ACTIONS(3651),
    [anon_sym_func] = ACTIONS(3651),
    [anon_sym_extension] = ACTIONS(3651),
    [anon_sym_indirect] = ACTIONS(3651),
    [anon_sym_SEMI] = ACTIONS(3651),
    [anon_sym_init] = ACTIONS(3651),
    [anon_sym_deinit] = ACTIONS(3651),
    [anon_sym_subscript] = ACTIONS(3651),
    [anon_sym_prefix] = ACTIONS(3651),
    [anon_sym_infix] = ACTIONS(3651),
    [anon_sym_postfix] = ACTIONS(3651),
    [anon_sym_precedencegroup] = ACTIONS(3651),
    [anon_sym_associatedtype] = ACTIONS(3651),
    [anon_sym_AT] = ACTIONS(3649),
    [anon_sym_override] = ACTIONS(3651),
    [anon_sym_convenience] = ACTIONS(3651),
    [anon_sym_required] = ACTIONS(3651),
    [anon_sym_nonisolated] = ACTIONS(3651),
    [anon_sym_public] = ACTIONS(3651),
    [anon_sym_private] = ACTIONS(3651),
    [anon_sym_internal] = ACTIONS(3651),
    [anon_sym_fileprivate] = ACTIONS(3651),
    [anon_sym_open] = ACTIONS(3651),
    [anon_sym_mutating] = ACTIONS(3651),
    [anon_sym_nonmutating] = ACTIONS(3651),
    [anon_sym_static] = ACTIONS(3651),
    [anon_sym_dynamic] = ACTIONS(3651),
    [anon_sym_optional] = ACTIONS(3651),
    [anon_sym_distributed] = ACTIONS(3651),
    [anon_sym_final] = ACTIONS(3651),
    [anon_sym_inout] = ACTIONS(3651),
    [anon_sym_ATescaping] = ACTIONS(3651),
    [anon_sym_ATautoclosure] = ACTIONS(3651),
    [anon_sym_weak] = ACTIONS(3651),
    [anon_sym_unowned] = ACTIONS(3649),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3651),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3651),
    [anon_sym_borrowing] = ACTIONS(3651),
    [anon_sym_consuming] = ACTIONS(3651),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3651),
    [sym__conjunction_operator_custom] = ACTIONS(3651),
    [sym__disjunction_operator_custom] = ACTIONS(3651),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3651),
    [sym__eq_custom] = ACTIONS(3651),
    [sym__eq_eq_custom] = ACTIONS(3651),
    [sym__plus_then_ws] = ACTIONS(3651),
    [sym__minus_then_ws] = ACTIONS(3651),
    [sym__bang_custom] = ACTIONS(3651),
    [sym__as_custom] = ACTIONS(3651),
    [sym__as_quest_custom] = ACTIONS(3651),
    [sym__as_bang_custom] = ACTIONS(3651),
    [sym__custom_operator] = ACTIONS(3651),
  },
  [974] = {
    [anon_sym_BANG] = ACTIONS(3653),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3655),
    [anon_sym_async] = ACTIONS(3655),
    [anon_sym_lazy] = ACTIONS(3655),
    [anon_sym_package] = ACTIONS(3655),
    [anon_sym_RPAREN] = ACTIONS(3655),
    [anon_sym_COMMA] = ACTIONS(3655),
    [anon_sym_COLON] = ACTIONS(3655),
    [anon_sym_LPAREN] = ACTIONS(3655),
    [anon_sym_LBRACK] = ACTIONS(3655),
    [anon_sym_RBRACK] = ACTIONS(3655),
    [anon_sym_QMARK] = ACTIONS(3653),
    [anon_sym_QMARK2] = ACTIONS(3655),
    [anon_sym_AMP] = ACTIONS(3655),
    [aux_sym_custom_operator_token1] = ACTIONS(3655),
    [anon_sym_LT] = ACTIONS(3653),
    [anon_sym_GT] = ACTIONS(3653),
    [anon_sym_LBRACE] = ACTIONS(3655),
    [anon_sym_CARET_LBRACE] = ACTIONS(3655),
    [anon_sym_RBRACE] = ACTIONS(3655),
    [anon_sym_case] = ACTIONS(3655),
    [anon_sym_PLUS_EQ] = ACTIONS(3655),
    [anon_sym_DASH_EQ] = ACTIONS(3655),
    [anon_sym_STAR_EQ] = ACTIONS(3655),
    [anon_sym_SLASH_EQ] = ACTIONS(3655),
    [anon_sym_PERCENT_EQ] = ACTIONS(3655),
    [anon_sym_BANG_EQ] = ACTIONS(3653),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3655),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3655),
    [anon_sym_LT_EQ] = ACTIONS(3655),
    [anon_sym_GT_EQ] = ACTIONS(3655),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3655),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3655),
    [anon_sym_is] = ACTIONS(3655),
    [anon_sym_PLUS] = ACTIONS(3653),
    [anon_sym_DASH] = ACTIONS(3653),
    [anon_sym_STAR] = ACTIONS(3653),
    [anon_sym_SLASH] = ACTIONS(3653),
    [anon_sym_PERCENT] = ACTIONS(3653),
    [anon_sym_PLUS_PLUS] = ACTIONS(3655),
    [anon_sym_DASH_DASH] = ACTIONS(3655),
    [anon_sym_PIPE] = ACTIONS(3655),
    [anon_sym_CARET] = ACTIONS(3653),
    [anon_sym_LT_LT] = ACTIONS(3655),
    [anon_sym_GT_GT] = ACTIONS(3655),
    [anon_sym_import] = ACTIONS(3655),
    [anon_sym_typealias] = ACTIONS(3655),
    [anon_sym_struct] = ACTIONS(3655),
    [anon_sym_class] = ACTIONS(3655),
    [anon_sym_enum] = ACTIONS(3655),
    [anon_sym_protocol] = ACTIONS(3655),
    [anon_sym_let] = ACTIONS(3655),
    [anon_sym_var] = ACTIONS(3655),
    [anon_sym_func] = ACTIONS(3655),
    [anon_sym_extension] = ACTIONS(3655),
    [anon_sym_indirect] = ACTIONS(3655),
    [anon_sym_SEMI] = ACTIONS(3655),
    [anon_sym_init] = ACTIONS(3655),
    [anon_sym_deinit] = ACTIONS(3655),
    [anon_sym_subscript] = ACTIONS(3655),
    [anon_sym_prefix] = ACTIONS(3655),
    [anon_sym_infix] = ACTIONS(3655),
    [anon_sym_postfix] = ACTIONS(3655),
    [anon_sym_precedencegroup] = ACTIONS(3655),
    [anon_sym_associatedtype] = ACTIONS(3655),
    [anon_sym_AT] = ACTIONS(3653),
    [anon_sym_override] = ACTIONS(3655),
    [anon_sym_convenience] = ACTIONS(3655),
    [anon_sym_required] = ACTIONS(3655),
    [anon_sym_nonisolated] = ACTIONS(3655),
    [anon_sym_public] = ACTIONS(3655),
    [anon_sym_private] = ACTIONS(3655),
    [anon_sym_internal] = ACTIONS(3655),
    [anon_sym_fileprivate] = ACTIONS(3655),
    [anon_sym_open] = ACTIONS(3655),
    [anon_sym_mutating] = ACTIONS(3655),
    [anon_sym_nonmutating] = ACTIONS(3655),
    [anon_sym_static] = ACTIONS(3655),
    [anon_sym_dynamic] = ACTIONS(3655),
    [anon_sym_optional] = ACTIONS(3655),
    [anon_sym_distributed] = ACTIONS(3655),
    [anon_sym_final] = ACTIONS(3655),
    [anon_sym_inout] = ACTIONS(3655),
    [anon_sym_ATescaping] = ACTIONS(3655),
    [anon_sym_ATautoclosure] = ACTIONS(3655),
    [anon_sym_weak] = ACTIONS(3655),
    [anon_sym_unowned] = ACTIONS(3653),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3655),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3655),
    [anon_sym_borrowing] = ACTIONS(3655),
    [anon_sym_consuming] = ACTIONS(3655),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3655),
    [sym__conjunction_operator_custom] = ACTIONS(3655),
    [sym__disjunction_operator_custom] = ACTIONS(3655),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3655),
    [sym__eq_custom] = ACTIONS(3655),
    [sym__eq_eq_custom] = ACTIONS(3655),
    [sym__plus_then_ws] = ACTIONS(3655),
    [sym__minus_then_ws] = ACTIONS(3655),
    [sym__bang_custom] = ACTIONS(3655),
    [sym__as_custom] = ACTIONS(3655),
    [sym__as_quest_custom] = ACTIONS(3655),
    [sym__as_bang_custom] = ACTIONS(3655),
    [sym__custom_operator] = ACTIONS(3655),
  },
  [975] = {
    [anon_sym_BANG] = ACTIONS(3657),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3659),
    [anon_sym_async] = ACTIONS(3659),
    [anon_sym_lazy] = ACTIONS(3659),
    [anon_sym_package] = ACTIONS(3659),
    [anon_sym_RPAREN] = ACTIONS(3659),
    [anon_sym_COMMA] = ACTIONS(3659),
    [anon_sym_COLON] = ACTIONS(3659),
    [anon_sym_LPAREN] = ACTIONS(3659),
    [anon_sym_LBRACK] = ACTIONS(3659),
    [anon_sym_RBRACK] = ACTIONS(3659),
    [anon_sym_QMARK] = ACTIONS(3657),
    [anon_sym_QMARK2] = ACTIONS(3659),
    [anon_sym_AMP] = ACTIONS(3659),
    [aux_sym_custom_operator_token1] = ACTIONS(3659),
    [anon_sym_LT] = ACTIONS(3657),
    [anon_sym_GT] = ACTIONS(3657),
    [anon_sym_LBRACE] = ACTIONS(3659),
    [anon_sym_CARET_LBRACE] = ACTIONS(3659),
    [anon_sym_RBRACE] = ACTIONS(3659),
    [anon_sym_case] = ACTIONS(3659),
    [anon_sym_PLUS_EQ] = ACTIONS(3659),
    [anon_sym_DASH_EQ] = ACTIONS(3659),
    [anon_sym_STAR_EQ] = ACTIONS(3659),
    [anon_sym_SLASH_EQ] = ACTIONS(3659),
    [anon_sym_PERCENT_EQ] = ACTIONS(3659),
    [anon_sym_BANG_EQ] = ACTIONS(3657),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3659),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3659),
    [anon_sym_LT_EQ] = ACTIONS(3659),
    [anon_sym_GT_EQ] = ACTIONS(3659),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3659),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3659),
    [anon_sym_is] = ACTIONS(3659),
    [anon_sym_PLUS] = ACTIONS(3657),
    [anon_sym_DASH] = ACTIONS(3657),
    [anon_sym_STAR] = ACTIONS(3657),
    [anon_sym_SLASH] = ACTIONS(3657),
    [anon_sym_PERCENT] = ACTIONS(3657),
    [anon_sym_PLUS_PLUS] = ACTIONS(3659),
    [anon_sym_DASH_DASH] = ACTIONS(3659),
    [anon_sym_PIPE] = ACTIONS(3659),
    [anon_sym_CARET] = ACTIONS(3657),
    [anon_sym_LT_LT] = ACTIONS(3659),
    [anon_sym_GT_GT] = ACTIONS(3659),
    [anon_sym_import] = ACTIONS(3659),
    [anon_sym_typealias] = ACTIONS(3659),
    [anon_sym_struct] = ACTIONS(3659),
    [anon_sym_class] = ACTIONS(3659),
    [anon_sym_enum] = ACTIONS(3659),
    [anon_sym_protocol] = ACTIONS(3659),
    [anon_sym_let] = ACTIONS(3659),
    [anon_sym_var] = ACTIONS(3659),
    [anon_sym_func] = ACTIONS(3659),
    [anon_sym_extension] = ACTIONS(3659),
    [anon_sym_indirect] = ACTIONS(3659),
    [anon_sym_SEMI] = ACTIONS(3659),
    [anon_sym_init] = ACTIONS(3659),
    [anon_sym_deinit] = ACTIONS(3659),
    [anon_sym_subscript] = ACTIONS(3659),
    [anon_sym_prefix] = ACTIONS(3659),
    [anon_sym_infix] = ACTIONS(3659),
    [anon_sym_postfix] = ACTIONS(3659),
    [anon_sym_precedencegroup] = ACTIONS(3659),
    [anon_sym_associatedtype] = ACTIONS(3659),
    [anon_sym_AT] = ACTIONS(3657),
    [anon_sym_override] = ACTIONS(3659),
    [anon_sym_convenience] = ACTIONS(3659),
    [anon_sym_required] = ACTIONS(3659),
    [anon_sym_nonisolated] = ACTIONS(3659),
    [anon_sym_public] = ACTIONS(3659),
    [anon_sym_private] = ACTIONS(3659),
    [anon_sym_internal] = ACTIONS(3659),
    [anon_sym_fileprivate] = ACTIONS(3659),
    [anon_sym_open] = ACTIONS(3659),
    [anon_sym_mutating] = ACTIONS(3659),
    [anon_sym_nonmutating] = ACTIONS(3659),
    [anon_sym_static] = ACTIONS(3659),
    [anon_sym_dynamic] = ACTIONS(3659),
    [anon_sym_optional] = ACTIONS(3659),
    [anon_sym_distributed] = ACTIONS(3659),
    [anon_sym_final] = ACTIONS(3659),
    [anon_sym_inout] = ACTIONS(3659),
    [anon_sym_ATescaping] = ACTIONS(3659),
    [anon_sym_ATautoclosure] = ACTIONS(3659),
    [anon_sym_weak] = ACTIONS(3659),
    [anon_sym_unowned] = ACTIONS(3657),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3659),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3659),
    [anon_sym_borrowing] = ACTIONS(3659),
    [anon_sym_consuming] = ACTIONS(3659),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3659),
    [sym__conjunction_operator_custom] = ACTIONS(3659),
    [sym__disjunction_operator_custom] = ACTIONS(3659),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3659),
    [sym__eq_custom] = ACTIONS(3659),
    [sym__eq_eq_custom] = ACTIONS(3659),
    [sym__plus_then_ws] = ACTIONS(3659),
    [sym__minus_then_ws] = ACTIONS(3659),
    [sym__bang_custom] = ACTIONS(3659),
    [sym__as_custom] = ACTIONS(3659),
    [sym__as_quest_custom] = ACTIONS(3659),
    [sym__as_bang_custom] = ACTIONS(3659),
    [sym__custom_operator] = ACTIONS(3659),
  },
  [976] = {
    [anon_sym_BANG] = ACTIONS(3661),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3663),
    [anon_sym_async] = ACTIONS(3663),
    [anon_sym_lazy] = ACTIONS(3663),
    [anon_sym_package] = ACTIONS(3663),
    [anon_sym_RPAREN] = ACTIONS(3663),
    [anon_sym_COMMA] = ACTIONS(3663),
    [anon_sym_COLON] = ACTIONS(3663),
    [anon_sym_LPAREN] = ACTIONS(3663),
    [anon_sym_LBRACK] = ACTIONS(3663),
    [anon_sym_RBRACK] = ACTIONS(3663),
    [anon_sym_QMARK] = ACTIONS(3661),
    [anon_sym_QMARK2] = ACTIONS(3663),
    [anon_sym_AMP] = ACTIONS(3663),
    [aux_sym_custom_operator_token1] = ACTIONS(3663),
    [anon_sym_LT] = ACTIONS(3661),
    [anon_sym_GT] = ACTIONS(3661),
    [anon_sym_LBRACE] = ACTIONS(3663),
    [anon_sym_CARET_LBRACE] = ACTIONS(3663),
    [anon_sym_RBRACE] = ACTIONS(3663),
    [anon_sym_case] = ACTIONS(3663),
    [anon_sym_PLUS_EQ] = ACTIONS(3663),
    [anon_sym_DASH_EQ] = ACTIONS(3663),
    [anon_sym_STAR_EQ] = ACTIONS(3663),
    [anon_sym_SLASH_EQ] = ACTIONS(3663),
    [anon_sym_PERCENT_EQ] = ACTIONS(3663),
    [anon_sym_BANG_EQ] = ACTIONS(3661),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3663),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3663),
    [anon_sym_LT_EQ] = ACTIONS(3663),
    [anon_sym_GT_EQ] = ACTIONS(3663),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3663),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3663),
    [anon_sym_is] = ACTIONS(3663),
    [anon_sym_PLUS] = ACTIONS(3661),
    [anon_sym_DASH] = ACTIONS(3661),
    [anon_sym_STAR] = ACTIONS(3661),
    [anon_sym_SLASH] = ACTIONS(3661),
    [anon_sym_PERCENT] = ACTIONS(3661),
    [anon_sym_PLUS_PLUS] = ACTIONS(3663),
    [anon_sym_DASH_DASH] = ACTIONS(3663),
    [anon_sym_PIPE] = ACTIONS(3663),
    [anon_sym_CARET] = ACTIONS(3661),
    [anon_sym_LT_LT] = ACTIONS(3663),
    [anon_sym_GT_GT] = ACTIONS(3663),
    [anon_sym_import] = ACTIONS(3663),
    [anon_sym_typealias] = ACTIONS(3663),
    [anon_sym_struct] = ACTIONS(3663),
    [anon_sym_class] = ACTIONS(3663),
    [anon_sym_enum] = ACTIONS(3663),
    [anon_sym_protocol] = ACTIONS(3663),
    [anon_sym_let] = ACTIONS(3663),
    [anon_sym_var] = ACTIONS(3663),
    [anon_sym_func] = ACTIONS(3663),
    [anon_sym_extension] = ACTIONS(3663),
    [anon_sym_indirect] = ACTIONS(3663),
    [anon_sym_SEMI] = ACTIONS(3663),
    [anon_sym_init] = ACTIONS(3663),
    [anon_sym_deinit] = ACTIONS(3663),
    [anon_sym_subscript] = ACTIONS(3663),
    [anon_sym_prefix] = ACTIONS(3663),
    [anon_sym_infix] = ACTIONS(3663),
    [anon_sym_postfix] = ACTIONS(3663),
    [anon_sym_precedencegroup] = ACTIONS(3663),
    [anon_sym_associatedtype] = ACTIONS(3663),
    [anon_sym_AT] = ACTIONS(3661),
    [anon_sym_override] = ACTIONS(3663),
    [anon_sym_convenience] = ACTIONS(3663),
    [anon_sym_required] = ACTIONS(3663),
    [anon_sym_nonisolated] = ACTIONS(3663),
    [anon_sym_public] = ACTIONS(3663),
    [anon_sym_private] = ACTIONS(3663),
    [anon_sym_internal] = ACTIONS(3663),
    [anon_sym_fileprivate] = ACTIONS(3663),
    [anon_sym_open] = ACTIONS(3663),
    [anon_sym_mutating] = ACTIONS(3663),
    [anon_sym_nonmutating] = ACTIONS(3663),
    [anon_sym_static] = ACTIONS(3663),
    [anon_sym_dynamic] = ACTIONS(3663),
    [anon_sym_optional] = ACTIONS(3663),
    [anon_sym_distributed] = ACTIONS(3663),
    [anon_sym_final] = ACTIONS(3663),
    [anon_sym_inout] = ACTIONS(3663),
    [anon_sym_ATescaping] = ACTIONS(3663),
    [anon_sym_ATautoclosure] = ACTIONS(3663),
    [anon_sym_weak] = ACTIONS(3663),
    [anon_sym_unowned] = ACTIONS(3661),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3663),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3663),
    [anon_sym_borrowing] = ACTIONS(3663),
    [anon_sym_consuming] = ACTIONS(3663),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3663),
    [sym__conjunction_operator_custom] = ACTIONS(3663),
    [sym__disjunction_operator_custom] = ACTIONS(3663),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3663),
    [sym__eq_custom] = ACTIONS(3663),
    [sym__eq_eq_custom] = ACTIONS(3663),
    [sym__plus_then_ws] = ACTIONS(3663),
    [sym__minus_then_ws] = ACTIONS(3663),
    [sym__bang_custom] = ACTIONS(3663),
    [sym__as_custom] = ACTIONS(3663),
    [sym__as_quest_custom] = ACTIONS(3663),
    [sym__as_bang_custom] = ACTIONS(3663),
    [sym__custom_operator] = ACTIONS(3663),
  },
  [977] = {
    [anon_sym_BANG] = ACTIONS(3665),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3667),
    [anon_sym_async] = ACTIONS(3667),
    [anon_sym_lazy] = ACTIONS(3667),
    [anon_sym_package] = ACTIONS(3667),
    [anon_sym_RPAREN] = ACTIONS(3667),
    [anon_sym_COMMA] = ACTIONS(3667),
    [anon_sym_COLON] = ACTIONS(3667),
    [anon_sym_LPAREN] = ACTIONS(3667),
    [anon_sym_LBRACK] = ACTIONS(3667),
    [anon_sym_RBRACK] = ACTIONS(3667),
    [anon_sym_QMARK] = ACTIONS(3665),
    [anon_sym_QMARK2] = ACTIONS(3667),
    [anon_sym_AMP] = ACTIONS(3667),
    [aux_sym_custom_operator_token1] = ACTIONS(3667),
    [anon_sym_LT] = ACTIONS(3665),
    [anon_sym_GT] = ACTIONS(3665),
    [anon_sym_LBRACE] = ACTIONS(3667),
    [anon_sym_CARET_LBRACE] = ACTIONS(3667),
    [anon_sym_RBRACE] = ACTIONS(3667),
    [anon_sym_case] = ACTIONS(3667),
    [anon_sym_PLUS_EQ] = ACTIONS(3667),
    [anon_sym_DASH_EQ] = ACTIONS(3667),
    [anon_sym_STAR_EQ] = ACTIONS(3667),
    [anon_sym_SLASH_EQ] = ACTIONS(3667),
    [anon_sym_PERCENT_EQ] = ACTIONS(3667),
    [anon_sym_BANG_EQ] = ACTIONS(3665),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3667),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3667),
    [anon_sym_LT_EQ] = ACTIONS(3667),
    [anon_sym_GT_EQ] = ACTIONS(3667),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3667),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3667),
    [anon_sym_is] = ACTIONS(3667),
    [anon_sym_PLUS] = ACTIONS(3665),
    [anon_sym_DASH] = ACTIONS(3665),
    [anon_sym_STAR] = ACTIONS(3665),
    [anon_sym_SLASH] = ACTIONS(3665),
    [anon_sym_PERCENT] = ACTIONS(3665),
    [anon_sym_PLUS_PLUS] = ACTIONS(3667),
    [anon_sym_DASH_DASH] = ACTIONS(3667),
    [anon_sym_PIPE] = ACTIONS(3667),
    [anon_sym_CARET] = ACTIONS(3665),
    [anon_sym_LT_LT] = ACTIONS(3667),
    [anon_sym_GT_GT] = ACTIONS(3667),
    [anon_sym_import] = ACTIONS(3667),
    [anon_sym_typealias] = ACTIONS(3667),
    [anon_sym_struct] = ACTIONS(3667),
    [anon_sym_class] = ACTIONS(3667),
    [anon_sym_enum] = ACTIONS(3667),
    [anon_sym_protocol] = ACTIONS(3667),
    [anon_sym_let] = ACTIONS(3667),
    [anon_sym_var] = ACTIONS(3667),
    [anon_sym_func] = ACTIONS(3667),
    [anon_sym_extension] = ACTIONS(3667),
    [anon_sym_indirect] = ACTIONS(3667),
    [anon_sym_SEMI] = ACTIONS(3667),
    [anon_sym_init] = ACTIONS(3667),
    [anon_sym_deinit] = ACTIONS(3667),
    [anon_sym_subscript] = ACTIONS(3667),
    [anon_sym_prefix] = ACTIONS(3667),
    [anon_sym_infix] = ACTIONS(3667),
    [anon_sym_postfix] = ACTIONS(3667),
    [anon_sym_precedencegroup] = ACTIONS(3667),
    [anon_sym_associatedtype] = ACTIONS(3667),
    [anon_sym_AT] = ACTIONS(3665),
    [anon_sym_override] = ACTIONS(3667),
    [anon_sym_convenience] = ACTIONS(3667),
    [anon_sym_required] = ACTIONS(3667),
    [anon_sym_nonisolated] = ACTIONS(3667),
    [anon_sym_public] = ACTIONS(3667),
    [anon_sym_private] = ACTIONS(3667),
    [anon_sym_internal] = ACTIONS(3667),
    [anon_sym_fileprivate] = ACTIONS(3667),
    [anon_sym_open] = ACTIONS(3667),
    [anon_sym_mutating] = ACTIONS(3667),
    [anon_sym_nonmutating] = ACTIONS(3667),
    [anon_sym_static] = ACTIONS(3667),
    [anon_sym_dynamic] = ACTIONS(3667),
    [anon_sym_optional] = ACTIONS(3667),
    [anon_sym_distributed] = ACTIONS(3667),
    [anon_sym_final] = ACTIONS(3667),
    [anon_sym_inout] = ACTIONS(3667),
    [anon_sym_ATescaping] = ACTIONS(3667),
    [anon_sym_ATautoclosure] = ACTIONS(3667),
    [anon_sym_weak] = ACTIONS(3667),
    [anon_sym_unowned] = ACTIONS(3665),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3667),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3667),
    [anon_sym_borrowing] = ACTIONS(3667),
    [anon_sym_consuming] = ACTIONS(3667),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3667),
    [sym__conjunction_operator_custom] = ACTIONS(3667),
    [sym__disjunction_operator_custom] = ACTIONS(3667),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3667),
    [sym__eq_custom] = ACTIONS(3667),
    [sym__eq_eq_custom] = ACTIONS(3667),
    [sym__plus_then_ws] = ACTIONS(3667),
    [sym__minus_then_ws] = ACTIONS(3667),
    [sym__bang_custom] = ACTIONS(3667),
    [sym__as_custom] = ACTIONS(3667),
    [sym__as_quest_custom] = ACTIONS(3667),
    [sym__as_bang_custom] = ACTIONS(3667),
    [sym__custom_operator] = ACTIONS(3667),
  },
  [978] = {
    [sym_simple_identifier] = STATE(1216),
    [sym__contextual_simple_identifier] = STATE(1210),
    [sym__simple_user_type] = STATE(1182),
    [sym_array_type] = STATE(1182),
    [sym_dictionary_type] = STATE(1182),
    [sym__parameter_ownership_modifier] = STATE(1210),
    [aux_sym_key_path_expression_repeat1] = STATE(1181),
    [anon_sym_BANG] = ACTIONS(2961),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(289),
    [aux_sym_simple_identifier_token2] = ACTIONS(291),
    [aux_sym_simple_identifier_token3] = ACTIONS(291),
    [aux_sym_simple_identifier_token4] = ACTIONS(291),
    [anon_sym_actor] = ACTIONS(289),
    [anon_sym_async] = ACTIONS(289),
    [anon_sym_each] = ACTIONS(289),
    [anon_sym_lazy] = ACTIONS(289),
    [anon_sym_repeat] = ACTIONS(289),
    [anon_sym_package] = ACTIONS(289),
    [anon_sym_COMMA] = ACTIONS(2963),
    [anon_sym_LPAREN] = ACTIONS(2963),
    [anon_sym_LBRACK] = ACTIONS(3669),
    [anon_sym_DOT] = ACTIONS(3671),
    [anon_sym_QMARK] = ACTIONS(2961),
    [anon_sym_QMARK2] = ACTIONS(2963),
    [anon_sym_AMP] = ACTIONS(2963),
    [aux_sym_custom_operator_token1] = ACTIONS(2963),
    [anon_sym_LT] = ACTIONS(2961),
    [anon_sym_GT] = ACTIONS(2961),
    [anon_sym_LBRACE] = ACTIONS(2963),
    [anon_sym_CARET_LBRACE] = ACTIONS(2963),
    [anon_sym_RBRACE] = ACTIONS(2963),
    [anon_sym_case] = ACTIONS(2961),
    [anon_sym_fallthrough] = ACTIONS(2961),
    [anon_sym_PLUS_EQ] = ACTIONS(2963),
    [anon_sym_DASH_EQ] = ACTIONS(2963),
    [anon_sym_STAR_EQ] = ACTIONS(2963),
    [anon_sym_SLASH_EQ] = ACTIONS(2963),
    [anon_sym_PERCENT_EQ] = ACTIONS(2963),
    [anon_sym_BANG_EQ] = ACTIONS(2961),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2963),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2963),
    [anon_sym_LT_EQ] = ACTIONS(2963),
    [anon_sym_GT_EQ] = ACTIONS(2963),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2963),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2963),
    [anon_sym_is] = ACTIONS(2961),
    [anon_sym_PLUS] = ACTIONS(2961),
    [anon_sym_DASH] = ACTIONS(2961),
    [anon_sym_STAR] = ACTIONS(2961),
    [anon_sym_SLASH] = ACTIONS(2961),
    [anon_sym_PERCENT] = ACTIONS(2961),
    [anon_sym_PLUS_PLUS] = ACTIONS(2963),
    [anon_sym_DASH_DASH] = ACTIONS(2963),
    [anon_sym_PIPE] = ACTIONS(2963),
    [anon_sym_CARET] = ACTIONS(2961),
    [anon_sym_LT_LT] = ACTIONS(2963),
    [anon_sym_GT_GT] = ACTIONS(2963),
    [anon_sym_class] = ACTIONS(2961),
    [anon_sym_prefix] = ACTIONS(2961),
    [anon_sym_infix] = ACTIONS(2961),
    [anon_sym_postfix] = ACTIONS(2961),
    [anon_sym_AT] = ACTIONS(2961),
    [anon_sym_override] = ACTIONS(2961),
    [anon_sym_convenience] = ACTIONS(2961),
    [anon_sym_required] = ACTIONS(2961),
    [anon_sym_nonisolated] = ACTIONS(2961),
    [anon_sym_public] = ACTIONS(2961),
    [anon_sym_private] = ACTIONS(2961),
    [anon_sym_internal] = ACTIONS(2961),
    [anon_sym_fileprivate] = ACTIONS(2961),
    [anon_sym_open] = ACTIONS(2961),
    [anon_sym_mutating] = ACTIONS(2961),
    [anon_sym_nonmutating] = ACTIONS(2961),
    [anon_sym_static] = ACTIONS(2961),
    [anon_sym_dynamic] = ACTIONS(2961),
    [anon_sym_optional] = ACTIONS(2961),
    [anon_sym_distributed] = ACTIONS(2961),
    [anon_sym_final] = ACTIONS(2961),
    [anon_sym_inout] = ACTIONS(2961),
    [anon_sym_ATescaping] = ACTIONS(2963),
    [anon_sym_ATautoclosure] = ACTIONS(2963),
    [anon_sym_weak] = ACTIONS(2961),
    [anon_sym_unowned] = ACTIONS(2961),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2963),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2963),
    [anon_sym_borrowing] = ACTIONS(289),
    [anon_sym_consuming] = ACTIONS(289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2963),
    [sym__explicit_semi] = ACTIONS(2963),
    [sym__dot_custom] = ACTIONS(2963),
    [sym__conjunction_operator_custom] = ACTIONS(2963),
    [sym__disjunction_operator_custom] = ACTIONS(2963),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2963),
    [sym__eq_custom] = ACTIONS(2963),
    [sym__eq_eq_custom] = ACTIONS(2963),
    [sym__plus_then_ws] = ACTIONS(2963),
    [sym__minus_then_ws] = ACTIONS(2963),
    [sym__bang_custom] = ACTIONS(2963),
    [sym_default_keyword] = ACTIONS(2963),
    [sym__as_custom] = ACTIONS(2963),
    [sym__as_quest_custom] = ACTIONS(2963),
    [sym__as_bang_custom] = ACTIONS(2963),
    [sym__custom_operator] = ACTIONS(2963),
  },
  [979] = {
    [anon_sym_BANG] = ACTIONS(3673),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3673),
    [aux_sym_simple_identifier_token2] = ACTIONS(3675),
    [aux_sym_simple_identifier_token3] = ACTIONS(3675),
    [aux_sym_simple_identifier_token4] = ACTIONS(3675),
    [anon_sym_actor] = ACTIONS(3673),
    [anon_sym_async] = ACTIONS(3673),
    [anon_sym_each] = ACTIONS(3673),
    [anon_sym_lazy] = ACTIONS(3673),
    [anon_sym_repeat] = ACTIONS(3673),
    [anon_sym_package] = ACTIONS(3673),
    [anon_sym_nil] = ACTIONS(3673),
    [sym_real_literal] = ACTIONS(3675),
    [sym_integer_literal] = ACTIONS(3673),
    [sym_hex_literal] = ACTIONS(3673),
    [sym_oct_literal] = ACTIONS(3675),
    [sym_bin_literal] = ACTIONS(3675),
    [anon_sym_true] = ACTIONS(3673),
    [anon_sym_false] = ACTIONS(3673),
    [anon_sym_DQUOTE] = ACTIONS(3673),
    [anon_sym_BSLASH] = ACTIONS(3675),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(3675),
    [sym__oneline_regex_literal] = ACTIONS(3673),
    [anon_sym_LPAREN] = ACTIONS(3675),
    [anon_sym_LBRACK] = ACTIONS(3675),
    [anon_sym_AMP] = ACTIONS(3675),
    [anon_sym_TILDE] = ACTIONS(3675),
    [anon_sym_if] = ACTIONS(3673),
    [anon_sym_switch] = ACTIONS(3673),
    [aux_sym_custom_operator_token1] = ACTIONS(3675),
    [anon_sym_LT] = ACTIONS(3673),
    [anon_sym_GT] = ACTIONS(3673),
    [anon_sym_await] = ACTIONS(3673),
    [anon_sym_LBRACE] = ACTIONS(3675),
    [anon_sym_CARET_LBRACE] = ACTIONS(3675),
    [anon_sym_RBRACE] = ACTIONS(3675),
    [anon_sym_self] = ACTIONS(3673),
    [anon_sym_super] = ACTIONS(3673),
    [anon_sym_guard] = ACTIONS(3673),
    [anon_sym_do] = ACTIONS(3673),
    [anon_sym_try] = ACTIONS(3673),
    [anon_sym_PLUS_EQ] = ACTIONS(3675),
    [anon_sym_DASH_EQ] = ACTIONS(3675),
    [anon_sym_STAR_EQ] = ACTIONS(3675),
    [anon_sym_SLASH_EQ] = ACTIONS(3675),
    [anon_sym_PERCENT_EQ] = ACTIONS(3675),
    [anon_sym_BANG_EQ] = ACTIONS(3673),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3675),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3675),
    [anon_sym_LT_EQ] = ACTIONS(3675),
    [anon_sym_GT_EQ] = ACTIONS(3675),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3675),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3675),
    [anon_sym_PLUS] = ACTIONS(3673),
    [anon_sym_DASH] = ACTIONS(3673),
    [anon_sym_STAR] = ACTIONS(3673),
    [anon_sym_SLASH] = ACTIONS(3673),
    [anon_sym_PERCENT] = ACTIONS(3673),
    [anon_sym_PLUS_PLUS] = ACTIONS(3675),
    [anon_sym_DASH_DASH] = ACTIONS(3675),
    [anon_sym_PIPE] = ACTIONS(3675),
    [anon_sym_CARET] = ACTIONS(3673),
    [anon_sym_LT_LT] = ACTIONS(3675),
    [anon_sym_GT_GT] = ACTIONS(3675),
    [sym_statement_label] = ACTIONS(3675),
    [anon_sym_for] = ACTIONS(3673),
    [anon_sym_while] = ACTIONS(3673),
    [sym_throw_keyword] = ACTIONS(3673),
    [anon_sym_return] = ACTIONS(3673),
    [anon_sym_continue] = ACTIONS(3673),
    [anon_sym_break] = ACTIONS(3673),
    [anon_sym_yield] = ACTIONS(3673),
    [anon_sym_typealias] = ACTIONS(3673),
    [anon_sym_struct] = ACTIONS(3673),
    [anon_sym_class] = ACTIONS(3673),
    [anon_sym_enum] = ACTIONS(3673),
    [anon_sym_let] = ACTIONS(3673),
    [anon_sym_var] = ACTIONS(3673),
    [anon_sym_func] = ACTIONS(3673),
    [anon_sym_extension] = ACTIONS(3673),
    [anon_sym_indirect] = ACTIONS(3673),
    [anon_sym_AT] = ACTIONS(3675),
    [anon_sym_final] = ACTIONS(3673),
    [anon_sym_weak] = ACTIONS(3673),
    [anon_sym_unowned] = ACTIONS(3673),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3675),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3675),
    [anon_sym_borrowing] = ACTIONS(3673),
    [anon_sym_consuming] = ACTIONS(3673),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(3675),
    [sym_raw_str_end_part] = ACTIONS(3675),
    [sym__dot_custom] = ACTIONS(3675),
    [sym__eq_custom] = ACTIONS(3675),
    [sym__eq_eq_custom] = ACTIONS(3675),
    [sym__plus_then_ws] = ACTIONS(3675),
    [sym__minus_then_ws] = ACTIONS(3675),
    [sym__bang_custom] = ACTIONS(3675),
    [sym__custom_operator] = ACTIONS(3675),
    [sym__hash_symbol_custom] = ACTIONS(3675),
    [sym__directive_if] = ACTIONS(3675),
    [sym__directive_elseif] = ACTIONS(3675),
    [sym__directive_else] = ACTIONS(3675),
    [sym__directive_endif] = ACTIONS(3675),
  },
  [980] = {
    [anon_sym_BANG] = ACTIONS(3677),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3677),
    [aux_sym_simple_identifier_token2] = ACTIONS(3679),
    [aux_sym_simple_identifier_token3] = ACTIONS(3679),
    [aux_sym_simple_identifier_token4] = ACTIONS(3679),
    [anon_sym_actor] = ACTIONS(3677),
    [anon_sym_async] = ACTIONS(3677),
    [anon_sym_each] = ACTIONS(3677),
    [anon_sym_lazy] = ACTIONS(3677),
    [anon_sym_repeat] = ACTIONS(3677),
    [anon_sym_package] = ACTIONS(3677),
    [anon_sym_nil] = ACTIONS(3677),
    [sym_real_literal] = ACTIONS(3679),
    [sym_integer_literal] = ACTIONS(3677),
    [sym_hex_literal] = ACTIONS(3677),
    [sym_oct_literal] = ACTIONS(3679),
    [sym_bin_literal] = ACTIONS(3679),
    [anon_sym_true] = ACTIONS(3677),
    [anon_sym_false] = ACTIONS(3677),
    [anon_sym_DQUOTE] = ACTIONS(3677),
    [anon_sym_BSLASH] = ACTIONS(3679),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(3679),
    [sym__oneline_regex_literal] = ACTIONS(3677),
    [anon_sym_LPAREN] = ACTIONS(3679),
    [anon_sym_LBRACK] = ACTIONS(3679),
    [anon_sym_AMP] = ACTIONS(3679),
    [anon_sym_TILDE] = ACTIONS(3679),
    [anon_sym_if] = ACTIONS(3677),
    [anon_sym_switch] = ACTIONS(3677),
    [aux_sym_custom_operator_token1] = ACTIONS(3679),
    [anon_sym_LT] = ACTIONS(3677),
    [anon_sym_GT] = ACTIONS(3677),
    [anon_sym_await] = ACTIONS(3677),
    [anon_sym_LBRACE] = ACTIONS(3679),
    [anon_sym_CARET_LBRACE] = ACTIONS(3679),
    [anon_sym_RBRACE] = ACTIONS(3679),
    [anon_sym_self] = ACTIONS(3677),
    [anon_sym_super] = ACTIONS(3677),
    [anon_sym_guard] = ACTIONS(3677),
    [anon_sym_do] = ACTIONS(3677),
    [anon_sym_try] = ACTIONS(3677),
    [anon_sym_PLUS_EQ] = ACTIONS(3679),
    [anon_sym_DASH_EQ] = ACTIONS(3679),
    [anon_sym_STAR_EQ] = ACTIONS(3679),
    [anon_sym_SLASH_EQ] = ACTIONS(3679),
    [anon_sym_PERCENT_EQ] = ACTIONS(3679),
    [anon_sym_BANG_EQ] = ACTIONS(3677),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3679),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3679),
    [anon_sym_LT_EQ] = ACTIONS(3679),
    [anon_sym_GT_EQ] = ACTIONS(3679),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3679),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3679),
    [anon_sym_PLUS] = ACTIONS(3677),
    [anon_sym_DASH] = ACTIONS(3677),
    [anon_sym_STAR] = ACTIONS(3677),
    [anon_sym_SLASH] = ACTIONS(3677),
    [anon_sym_PERCENT] = ACTIONS(3677),
    [anon_sym_PLUS_PLUS] = ACTIONS(3679),
    [anon_sym_DASH_DASH] = ACTIONS(3679),
    [anon_sym_PIPE] = ACTIONS(3679),
    [anon_sym_CARET] = ACTIONS(3677),
    [anon_sym_LT_LT] = ACTIONS(3679),
    [anon_sym_GT_GT] = ACTIONS(3679),
    [sym_statement_label] = ACTIONS(3679),
    [anon_sym_for] = ACTIONS(3677),
    [anon_sym_while] = ACTIONS(3677),
    [sym_throw_keyword] = ACTIONS(3677),
    [anon_sym_return] = ACTIONS(3677),
    [anon_sym_continue] = ACTIONS(3677),
    [anon_sym_break] = ACTIONS(3677),
    [anon_sym_yield] = ACTIONS(3677),
    [anon_sym_typealias] = ACTIONS(3677),
    [anon_sym_struct] = ACTIONS(3677),
    [anon_sym_class] = ACTIONS(3677),
    [anon_sym_enum] = ACTIONS(3677),
    [anon_sym_let] = ACTIONS(3677),
    [anon_sym_var] = ACTIONS(3677),
    [anon_sym_func] = ACTIONS(3677),
    [anon_sym_extension] = ACTIONS(3677),
    [anon_sym_indirect] = ACTIONS(3677),
    [anon_sym_AT] = ACTIONS(3679),
    [anon_sym_final] = ACTIONS(3677),
    [anon_sym_weak] = ACTIONS(3677),
    [anon_sym_unowned] = ACTIONS(3677),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3679),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3679),
    [anon_sym_borrowing] = ACTIONS(3677),
    [anon_sym_consuming] = ACTIONS(3677),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(3679),
    [sym_raw_str_end_part] = ACTIONS(3679),
    [sym__dot_custom] = ACTIONS(3679),
    [sym__eq_custom] = ACTIONS(3679),
    [sym__eq_eq_custom] = ACTIONS(3679),
    [sym__plus_then_ws] = ACTIONS(3679),
    [sym__minus_then_ws] = ACTIONS(3679),
    [sym__bang_custom] = ACTIONS(3679),
    [sym__custom_operator] = ACTIONS(3679),
    [sym__hash_symbol_custom] = ACTIONS(3679),
    [sym__directive_if] = ACTIONS(3679),
    [sym__directive_elseif] = ACTIONS(3679),
    [sym__directive_else] = ACTIONS(3679),
    [sym__directive_endif] = ACTIONS(3679),
  },
  [981] = {
    [anon_sym_BANG] = ACTIONS(3681),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3681),
    [aux_sym_simple_identifier_token2] = ACTIONS(3683),
    [aux_sym_simple_identifier_token3] = ACTIONS(3683),
    [aux_sym_simple_identifier_token4] = ACTIONS(3683),
    [anon_sym_actor] = ACTIONS(3681),
    [anon_sym_async] = ACTIONS(3681),
    [anon_sym_each] = ACTIONS(3681),
    [anon_sym_lazy] = ACTIONS(3681),
    [anon_sym_repeat] = ACTIONS(3681),
    [anon_sym_package] = ACTIONS(3681),
    [anon_sym_nil] = ACTIONS(3681),
    [sym_real_literal] = ACTIONS(3683),
    [sym_integer_literal] = ACTIONS(3681),
    [sym_hex_literal] = ACTIONS(3681),
    [sym_oct_literal] = ACTIONS(3683),
    [sym_bin_literal] = ACTIONS(3683),
    [anon_sym_true] = ACTIONS(3681),
    [anon_sym_false] = ACTIONS(3681),
    [anon_sym_DQUOTE] = ACTIONS(3681),
    [anon_sym_BSLASH] = ACTIONS(3683),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(3683),
    [sym__oneline_regex_literal] = ACTIONS(3681),
    [anon_sym_LPAREN] = ACTIONS(3683),
    [anon_sym_LBRACK] = ACTIONS(3683),
    [anon_sym_AMP] = ACTIONS(3683),
    [anon_sym_TILDE] = ACTIONS(3683),
    [anon_sym_if] = ACTIONS(3681),
    [anon_sym_switch] = ACTIONS(3681),
    [aux_sym_custom_operator_token1] = ACTIONS(3683),
    [anon_sym_LT] = ACTIONS(3681),
    [anon_sym_GT] = ACTIONS(3681),
    [anon_sym_await] = ACTIONS(3681),
    [anon_sym_LBRACE] = ACTIONS(3683),
    [anon_sym_CARET_LBRACE] = ACTIONS(3683),
    [anon_sym_RBRACE] = ACTIONS(3683),
    [anon_sym_self] = ACTIONS(3681),
    [anon_sym_super] = ACTIONS(3681),
    [anon_sym_guard] = ACTIONS(3681),
    [anon_sym_do] = ACTIONS(3681),
    [anon_sym_try] = ACTIONS(3681),
    [anon_sym_PLUS_EQ] = ACTIONS(3683),
    [anon_sym_DASH_EQ] = ACTIONS(3683),
    [anon_sym_STAR_EQ] = ACTIONS(3683),
    [anon_sym_SLASH_EQ] = ACTIONS(3683),
    [anon_sym_PERCENT_EQ] = ACTIONS(3683),
    [anon_sym_BANG_EQ] = ACTIONS(3681),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3683),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3683),
    [anon_sym_LT_EQ] = ACTIONS(3683),
    [anon_sym_GT_EQ] = ACTIONS(3683),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3683),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3683),
    [anon_sym_PLUS] = ACTIONS(3681),
    [anon_sym_DASH] = ACTIONS(3681),
    [anon_sym_STAR] = ACTIONS(3681),
    [anon_sym_SLASH] = ACTIONS(3681),
    [anon_sym_PERCENT] = ACTIONS(3681),
    [anon_sym_PLUS_PLUS] = ACTIONS(3683),
    [anon_sym_DASH_DASH] = ACTIONS(3683),
    [anon_sym_PIPE] = ACTIONS(3683),
    [anon_sym_CARET] = ACTIONS(3681),
    [anon_sym_LT_LT] = ACTIONS(3683),
    [anon_sym_GT_GT] = ACTIONS(3683),
    [sym_statement_label] = ACTIONS(3683),
    [anon_sym_for] = ACTIONS(3681),
    [anon_sym_while] = ACTIONS(3681),
    [sym_throw_keyword] = ACTIONS(3681),
    [anon_sym_return] = ACTIONS(3681),
    [anon_sym_continue] = ACTIONS(3681),
    [anon_sym_break] = ACTIONS(3681),
    [anon_sym_yield] = ACTIONS(3681),
    [anon_sym_typealias] = ACTIONS(3681),
    [anon_sym_struct] = ACTIONS(3681),
    [anon_sym_class] = ACTIONS(3681),
    [anon_sym_enum] = ACTIONS(3681),
    [anon_sym_let] = ACTIONS(3681),
    [anon_sym_var] = ACTIONS(3681),
    [anon_sym_func] = ACTIONS(3681),
    [anon_sym_extension] = ACTIONS(3681),
    [anon_sym_indirect] = ACTIONS(3681),
    [anon_sym_AT] = ACTIONS(3683),
    [anon_sym_final] = ACTIONS(3681),
    [anon_sym_weak] = ACTIONS(3681),
    [anon_sym_unowned] = ACTIONS(3681),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3683),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3683),
    [anon_sym_borrowing] = ACTIONS(3681),
    [anon_sym_consuming] = ACTIONS(3681),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(3683),
    [sym_raw_str_end_part] = ACTIONS(3683),
    [sym__dot_custom] = ACTIONS(3683),
    [sym__eq_custom] = ACTIONS(3683),
    [sym__eq_eq_custom] = ACTIONS(3683),
    [sym__plus_then_ws] = ACTIONS(3683),
    [sym__minus_then_ws] = ACTIONS(3683),
    [sym__bang_custom] = ACTIONS(3683),
    [sym__custom_operator] = ACTIONS(3683),
    [sym__hash_symbol_custom] = ACTIONS(3683),
    [sym__directive_if] = ACTIONS(3683),
    [sym__directive_elseif] = ACTIONS(3683),
    [sym__directive_else] = ACTIONS(3683),
    [sym__directive_endif] = ACTIONS(3683),
  },
  [982] = {
    [sym__fn_call_lambda_arguments] = STATE(967),
    [sym_lambda_literal] = STATE(805),
    [anon_sym_BANG] = ACTIONS(3685),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3687),
    [anon_sym_async] = ACTIONS(3687),
    [anon_sym_lazy] = ACTIONS(3687),
    [anon_sym_package] = ACTIONS(3687),
    [anon_sym_COMMA] = ACTIONS(3687),
    [anon_sym_LPAREN] = ACTIONS(3687),
    [anon_sym_LBRACK] = ACTIONS(3687),
    [anon_sym_QMARK] = ACTIONS(3685),
    [anon_sym_QMARK2] = ACTIONS(3687),
    [anon_sym_AMP] = ACTIONS(3687),
    [aux_sym_custom_operator_token1] = ACTIONS(3687),
    [anon_sym_LT] = ACTIONS(3685),
    [anon_sym_GT] = ACTIONS(3685),
    [anon_sym_LBRACE] = ACTIONS(3689),
    [anon_sym_CARET_LBRACE] = ACTIONS(3689),
    [anon_sym_RBRACE] = ACTIONS(3687),
    [anon_sym_case] = ACTIONS(3687),
    [anon_sym_PLUS_EQ] = ACTIONS(3687),
    [anon_sym_DASH_EQ] = ACTIONS(3687),
    [anon_sym_STAR_EQ] = ACTIONS(3687),
    [anon_sym_SLASH_EQ] = ACTIONS(3687),
    [anon_sym_PERCENT_EQ] = ACTIONS(3687),
    [anon_sym_BANG_EQ] = ACTIONS(3685),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3687),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3687),
    [anon_sym_LT_EQ] = ACTIONS(3687),
    [anon_sym_GT_EQ] = ACTIONS(3687),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3687),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3687),
    [anon_sym_is] = ACTIONS(3687),
    [anon_sym_PLUS] = ACTIONS(3685),
    [anon_sym_DASH] = ACTIONS(3685),
    [anon_sym_STAR] = ACTIONS(3685),
    [anon_sym_SLASH] = ACTIONS(3685),
    [anon_sym_PERCENT] = ACTIONS(3685),
    [anon_sym_PLUS_PLUS] = ACTIONS(3687),
    [anon_sym_DASH_DASH] = ACTIONS(3687),
    [anon_sym_PIPE] = ACTIONS(3687),
    [anon_sym_CARET] = ACTIONS(3685),
    [anon_sym_LT_LT] = ACTIONS(3687),
    [anon_sym_GT_GT] = ACTIONS(3687),
    [anon_sym_import] = ACTIONS(3687),
    [anon_sym_typealias] = ACTIONS(3687),
    [anon_sym_struct] = ACTIONS(3687),
    [anon_sym_class] = ACTIONS(3687),
    [anon_sym_enum] = ACTIONS(3687),
    [anon_sym_protocol] = ACTIONS(3687),
    [anon_sym_let] = ACTIONS(3687),
    [anon_sym_var] = ACTIONS(3687),
    [anon_sym_func] = ACTIONS(3687),
    [anon_sym_extension] = ACTIONS(3687),
    [anon_sym_indirect] = ACTIONS(3687),
    [anon_sym_SEMI] = ACTIONS(3687),
    [anon_sym_init] = ACTIONS(3687),
    [anon_sym_deinit] = ACTIONS(3687),
    [anon_sym_subscript] = ACTIONS(3687),
    [anon_sym_prefix] = ACTIONS(3687),
    [anon_sym_infix] = ACTIONS(3687),
    [anon_sym_postfix] = ACTIONS(3687),
    [anon_sym_precedencegroup] = ACTIONS(3687),
    [anon_sym_associatedtype] = ACTIONS(3687),
    [anon_sym_AT] = ACTIONS(3685),
    [anon_sym_override] = ACTIONS(3687),
    [anon_sym_convenience] = ACTIONS(3687),
    [anon_sym_required] = ACTIONS(3687),
    [anon_sym_nonisolated] = ACTIONS(3687),
    [anon_sym_public] = ACTIONS(3687),
    [anon_sym_private] = ACTIONS(3687),
    [anon_sym_internal] = ACTIONS(3687),
    [anon_sym_fileprivate] = ACTIONS(3687),
    [anon_sym_open] = ACTIONS(3687),
    [anon_sym_mutating] = ACTIONS(3687),
    [anon_sym_nonmutating] = ACTIONS(3687),
    [anon_sym_static] = ACTIONS(3687),
    [anon_sym_dynamic] = ACTIONS(3687),
    [anon_sym_optional] = ACTIONS(3687),
    [anon_sym_distributed] = ACTIONS(3687),
    [anon_sym_final] = ACTIONS(3687),
    [anon_sym_inout] = ACTIONS(3687),
    [anon_sym_ATescaping] = ACTIONS(3687),
    [anon_sym_ATautoclosure] = ACTIONS(3687),
    [anon_sym_weak] = ACTIONS(3687),
    [anon_sym_unowned] = ACTIONS(3685),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3687),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3687),
    [anon_sym_borrowing] = ACTIONS(3687),
    [anon_sym_consuming] = ACTIONS(3687),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3687),
    [sym__conjunction_operator_custom] = ACTIONS(3687),
    [sym__disjunction_operator_custom] = ACTIONS(3687),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3687),
    [sym__eq_custom] = ACTIONS(3687),
    [sym__eq_eq_custom] = ACTIONS(3687),
    [sym__plus_then_ws] = ACTIONS(3687),
    [sym__minus_then_ws] = ACTIONS(3687),
    [sym__bang_custom] = ACTIONS(3687),
    [sym__as_custom] = ACTIONS(3687),
    [sym__as_quest_custom] = ACTIONS(3687),
    [sym__as_bang_custom] = ACTIONS(3687),
    [sym__custom_operator] = ACTIONS(3687),
  },
  [983] = {
    [sym__fn_call_lambda_arguments] = STATE(973),
    [sym_lambda_literal] = STATE(805),
    [anon_sym_BANG] = ACTIONS(3692),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3694),
    [anon_sym_async] = ACTIONS(3694),
    [anon_sym_lazy] = ACTIONS(3694),
    [anon_sym_package] = ACTIONS(3694),
    [anon_sym_COMMA] = ACTIONS(3694),
    [anon_sym_LPAREN] = ACTIONS(3694),
    [anon_sym_LBRACK] = ACTIONS(3694),
    [anon_sym_QMARK] = ACTIONS(3692),
    [anon_sym_QMARK2] = ACTIONS(3694),
    [anon_sym_AMP] = ACTIONS(3694),
    [aux_sym_custom_operator_token1] = ACTIONS(3694),
    [anon_sym_LT] = ACTIONS(3692),
    [anon_sym_GT] = ACTIONS(3692),
    [anon_sym_LBRACE] = ACTIONS(3696),
    [anon_sym_CARET_LBRACE] = ACTIONS(3696),
    [anon_sym_RBRACE] = ACTIONS(3694),
    [anon_sym_case] = ACTIONS(3694),
    [anon_sym_PLUS_EQ] = ACTIONS(3694),
    [anon_sym_DASH_EQ] = ACTIONS(3694),
    [anon_sym_STAR_EQ] = ACTIONS(3694),
    [anon_sym_SLASH_EQ] = ACTIONS(3694),
    [anon_sym_PERCENT_EQ] = ACTIONS(3694),
    [anon_sym_BANG_EQ] = ACTIONS(3692),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3694),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3694),
    [anon_sym_LT_EQ] = ACTIONS(3694),
    [anon_sym_GT_EQ] = ACTIONS(3694),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3694),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3694),
    [anon_sym_is] = ACTIONS(3694),
    [anon_sym_PLUS] = ACTIONS(3692),
    [anon_sym_DASH] = ACTIONS(3692),
    [anon_sym_STAR] = ACTIONS(3692),
    [anon_sym_SLASH] = ACTIONS(3692),
    [anon_sym_PERCENT] = ACTIONS(3692),
    [anon_sym_PLUS_PLUS] = ACTIONS(3694),
    [anon_sym_DASH_DASH] = ACTIONS(3694),
    [anon_sym_PIPE] = ACTIONS(3694),
    [anon_sym_CARET] = ACTIONS(3692),
    [anon_sym_LT_LT] = ACTIONS(3694),
    [anon_sym_GT_GT] = ACTIONS(3694),
    [anon_sym_import] = ACTIONS(3694),
    [anon_sym_typealias] = ACTIONS(3694),
    [anon_sym_struct] = ACTIONS(3694),
    [anon_sym_class] = ACTIONS(3694),
    [anon_sym_enum] = ACTIONS(3694),
    [anon_sym_protocol] = ACTIONS(3694),
    [anon_sym_let] = ACTIONS(3694),
    [anon_sym_var] = ACTIONS(3694),
    [anon_sym_func] = ACTIONS(3694),
    [anon_sym_extension] = ACTIONS(3694),
    [anon_sym_indirect] = ACTIONS(3694),
    [anon_sym_SEMI] = ACTIONS(3694),
    [anon_sym_init] = ACTIONS(3694),
    [anon_sym_deinit] = ACTIONS(3694),
    [anon_sym_subscript] = ACTIONS(3694),
    [anon_sym_prefix] = ACTIONS(3694),
    [anon_sym_infix] = ACTIONS(3694),
    [anon_sym_postfix] = ACTIONS(3694),
    [anon_sym_precedencegroup] = ACTIONS(3694),
    [anon_sym_associatedtype] = ACTIONS(3694),
    [anon_sym_AT] = ACTIONS(3692),
    [anon_sym_override] = ACTIONS(3694),
    [anon_sym_convenience] = ACTIONS(3694),
    [anon_sym_required] = ACTIONS(3694),
    [anon_sym_nonisolated] = ACTIONS(3694),
    [anon_sym_public] = ACTIONS(3694),
    [anon_sym_private] = ACTIONS(3694),
    [anon_sym_internal] = ACTIONS(3694),
    [anon_sym_fileprivate] = ACTIONS(3694),
    [anon_sym_open] = ACTIONS(3694),
    [anon_sym_mutating] = ACTIONS(3694),
    [anon_sym_nonmutating] = ACTIONS(3694),
    [anon_sym_static] = ACTIONS(3694),
    [anon_sym_dynamic] = ACTIONS(3694),
    [anon_sym_optional] = ACTIONS(3694),
    [anon_sym_distributed] = ACTIONS(3694),
    [anon_sym_final] = ACTIONS(3694),
    [anon_sym_inout] = ACTIONS(3694),
    [anon_sym_ATescaping] = ACTIONS(3694),
    [anon_sym_ATautoclosure] = ACTIONS(3694),
    [anon_sym_weak] = ACTIONS(3694),
    [anon_sym_unowned] = ACTIONS(3692),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3694),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3694),
    [anon_sym_borrowing] = ACTIONS(3694),
    [anon_sym_consuming] = ACTIONS(3694),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3694),
    [sym__conjunction_operator_custom] = ACTIONS(3694),
    [sym__disjunction_operator_custom] = ACTIONS(3694),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3694),
    [sym__eq_custom] = ACTIONS(3694),
    [sym__eq_eq_custom] = ACTIONS(3694),
    [sym__plus_then_ws] = ACTIONS(3694),
    [sym__minus_then_ws] = ACTIONS(3694),
    [sym__bang_custom] = ACTIONS(3694),
    [sym__as_custom] = ACTIONS(3694),
    [sym__as_quest_custom] = ACTIONS(3694),
    [sym__as_bang_custom] = ACTIONS(3694),
    [sym__custom_operator] = ACTIONS(3694),
  },
  [984] = {
    [sym__fn_call_lambda_arguments] = STATE(973),
    [sym_lambda_literal] = STATE(805),
    [anon_sym_BANG] = ACTIONS(3699),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3702),
    [anon_sym_async] = ACTIONS(3702),
    [anon_sym_lazy] = ACTIONS(3702),
    [anon_sym_package] = ACTIONS(3702),
    [anon_sym_COMMA] = ACTIONS(3702),
    [anon_sym_LPAREN] = ACTIONS(3702),
    [anon_sym_LBRACK] = ACTIONS(3702),
    [anon_sym_QMARK] = ACTIONS(3699),
    [anon_sym_QMARK2] = ACTIONS(3702),
    [anon_sym_AMP] = ACTIONS(3702),
    [aux_sym_custom_operator_token1] = ACTIONS(3702),
    [anon_sym_LT] = ACTIONS(3699),
    [anon_sym_GT] = ACTIONS(3699),
    [anon_sym_LBRACE] = ACTIONS(3705),
    [anon_sym_CARET_LBRACE] = ACTIONS(3705),
    [anon_sym_RBRACE] = ACTIONS(3702),
    [anon_sym_case] = ACTIONS(3702),
    [anon_sym_PLUS_EQ] = ACTIONS(3702),
    [anon_sym_DASH_EQ] = ACTIONS(3702),
    [anon_sym_STAR_EQ] = ACTIONS(3702),
    [anon_sym_SLASH_EQ] = ACTIONS(3702),
    [anon_sym_PERCENT_EQ] = ACTIONS(3702),
    [anon_sym_BANG_EQ] = ACTIONS(3699),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3702),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3702),
    [anon_sym_LT_EQ] = ACTIONS(3702),
    [anon_sym_GT_EQ] = ACTIONS(3702),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3702),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3702),
    [anon_sym_is] = ACTIONS(3702),
    [anon_sym_PLUS] = ACTIONS(3699),
    [anon_sym_DASH] = ACTIONS(3699),
    [anon_sym_STAR] = ACTIONS(3699),
    [anon_sym_SLASH] = ACTIONS(3699),
    [anon_sym_PERCENT] = ACTIONS(3699),
    [anon_sym_PLUS_PLUS] = ACTIONS(3702),
    [anon_sym_DASH_DASH] = ACTIONS(3702),
    [anon_sym_PIPE] = ACTIONS(3702),
    [anon_sym_CARET] = ACTIONS(3699),
    [anon_sym_LT_LT] = ACTIONS(3702),
    [anon_sym_GT_GT] = ACTIONS(3702),
    [anon_sym_import] = ACTIONS(3702),
    [anon_sym_typealias] = ACTIONS(3702),
    [anon_sym_struct] = ACTIONS(3702),
    [anon_sym_class] = ACTIONS(3702),
    [anon_sym_enum] = ACTIONS(3702),
    [anon_sym_protocol] = ACTIONS(3702),
    [anon_sym_let] = ACTIONS(3702),
    [anon_sym_var] = ACTIONS(3702),
    [anon_sym_func] = ACTIONS(3702),
    [anon_sym_extension] = ACTIONS(3702),
    [anon_sym_indirect] = ACTIONS(3702),
    [anon_sym_SEMI] = ACTIONS(3702),
    [anon_sym_init] = ACTIONS(3702),
    [anon_sym_deinit] = ACTIONS(3702),
    [anon_sym_subscript] = ACTIONS(3702),
    [anon_sym_prefix] = ACTIONS(3702),
    [anon_sym_infix] = ACTIONS(3702),
    [anon_sym_postfix] = ACTIONS(3702),
    [anon_sym_precedencegroup] = ACTIONS(3702),
    [anon_sym_associatedtype] = ACTIONS(3702),
    [anon_sym_AT] = ACTIONS(3699),
    [anon_sym_override] = ACTIONS(3702),
    [anon_sym_convenience] = ACTIONS(3702),
    [anon_sym_required] = ACTIONS(3702),
    [anon_sym_nonisolated] = ACTIONS(3702),
    [anon_sym_public] = ACTIONS(3702),
    [anon_sym_private] = ACTIONS(3702),
    [anon_sym_internal] = ACTIONS(3702),
    [anon_sym_fileprivate] = ACTIONS(3702),
    [anon_sym_open] = ACTIONS(3702),
    [anon_sym_mutating] = ACTIONS(3702),
    [anon_sym_nonmutating] = ACTIONS(3702),
    [anon_sym_static] = ACTIONS(3702),
    [anon_sym_dynamic] = ACTIONS(3702),
    [anon_sym_optional] = ACTIONS(3702),
    [anon_sym_distributed] = ACTIONS(3702),
    [anon_sym_final] = ACTIONS(3702),
    [anon_sym_inout] = ACTIONS(3702),
    [anon_sym_ATescaping] = ACTIONS(3702),
    [anon_sym_ATautoclosure] = ACTIONS(3702),
    [anon_sym_weak] = ACTIONS(3702),
    [anon_sym_unowned] = ACTIONS(3699),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3702),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3702),
    [anon_sym_borrowing] = ACTIONS(3702),
    [anon_sym_consuming] = ACTIONS(3702),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3702),
    [sym__conjunction_operator_custom] = ACTIONS(3702),
    [sym__disjunction_operator_custom] = ACTIONS(3702),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3702),
    [sym__eq_custom] = ACTIONS(3702),
    [sym__eq_eq_custom] = ACTIONS(3702),
    [sym__plus_then_ws] = ACTIONS(3702),
    [sym__minus_then_ws] = ACTIONS(3702),
    [sym__bang_custom] = ACTIONS(3702),
    [sym__as_custom] = ACTIONS(3702),
    [sym__as_quest_custom] = ACTIONS(3702),
    [sym__as_bang_custom] = ACTIONS(3702),
    [sym__custom_operator] = ACTIONS(3702),
  },
  [985] = {
    [anon_sym_BANG] = ACTIONS(3709),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3709),
    [aux_sym_simple_identifier_token2] = ACTIONS(3711),
    [aux_sym_simple_identifier_token3] = ACTIONS(3711),
    [aux_sym_simple_identifier_token4] = ACTIONS(3711),
    [anon_sym_actor] = ACTIONS(3709),
    [anon_sym_async] = ACTIONS(3709),
    [anon_sym_each] = ACTIONS(3709),
    [anon_sym_lazy] = ACTIONS(3709),
    [anon_sym_repeat] = ACTIONS(3709),
    [anon_sym_package] = ACTIONS(3709),
    [anon_sym_nil] = ACTIONS(3709),
    [sym_real_literal] = ACTIONS(3711),
    [sym_integer_literal] = ACTIONS(3709),
    [sym_hex_literal] = ACTIONS(3709),
    [sym_oct_literal] = ACTIONS(3711),
    [sym_bin_literal] = ACTIONS(3711),
    [anon_sym_true] = ACTIONS(3709),
    [anon_sym_false] = ACTIONS(3709),
    [anon_sym_DQUOTE] = ACTIONS(3709),
    [anon_sym_BSLASH] = ACTIONS(3711),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(3711),
    [sym__oneline_regex_literal] = ACTIONS(3709),
    [anon_sym_LPAREN] = ACTIONS(3711),
    [anon_sym_LBRACK] = ACTIONS(3711),
    [anon_sym_AMP] = ACTIONS(3711),
    [anon_sym_TILDE] = ACTIONS(3711),
    [anon_sym_if] = ACTIONS(3709),
    [anon_sym_switch] = ACTIONS(3709),
    [aux_sym_custom_operator_token1] = ACTIONS(3711),
    [anon_sym_LT] = ACTIONS(3709),
    [anon_sym_GT] = ACTIONS(3709),
    [anon_sym_await] = ACTIONS(3709),
    [anon_sym_LBRACE] = ACTIONS(3711),
    [anon_sym_CARET_LBRACE] = ACTIONS(3711),
    [anon_sym_RBRACE] = ACTIONS(3711),
    [anon_sym_self] = ACTIONS(3709),
    [anon_sym_super] = ACTIONS(3709),
    [anon_sym_guard] = ACTIONS(3709),
    [anon_sym_do] = ACTIONS(3709),
    [anon_sym_try] = ACTIONS(3709),
    [anon_sym_PLUS_EQ] = ACTIONS(3711),
    [anon_sym_DASH_EQ] = ACTIONS(3711),
    [anon_sym_STAR_EQ] = ACTIONS(3711),
    [anon_sym_SLASH_EQ] = ACTIONS(3711),
    [anon_sym_PERCENT_EQ] = ACTIONS(3711),
    [anon_sym_BANG_EQ] = ACTIONS(3709),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3711),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3711),
    [anon_sym_LT_EQ] = ACTIONS(3711),
    [anon_sym_GT_EQ] = ACTIONS(3711),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3711),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3711),
    [anon_sym_PLUS] = ACTIONS(3709),
    [anon_sym_DASH] = ACTIONS(3709),
    [anon_sym_STAR] = ACTIONS(3709),
    [anon_sym_SLASH] = ACTIONS(3709),
    [anon_sym_PERCENT] = ACTIONS(3709),
    [anon_sym_PLUS_PLUS] = ACTIONS(3711),
    [anon_sym_DASH_DASH] = ACTIONS(3711),
    [anon_sym_PIPE] = ACTIONS(3711),
    [anon_sym_CARET] = ACTIONS(3709),
    [anon_sym_LT_LT] = ACTIONS(3711),
    [anon_sym_GT_GT] = ACTIONS(3711),
    [sym_statement_label] = ACTIONS(3711),
    [anon_sym_for] = ACTIONS(3709),
    [anon_sym_while] = ACTIONS(3709),
    [sym_throw_keyword] = ACTIONS(3709),
    [anon_sym_return] = ACTIONS(3709),
    [anon_sym_continue] = ACTIONS(3709),
    [anon_sym_break] = ACTIONS(3709),
    [anon_sym_yield] = ACTIONS(3709),
    [anon_sym_typealias] = ACTIONS(3709),
    [anon_sym_struct] = ACTIONS(3709),
    [anon_sym_class] = ACTIONS(3709),
    [anon_sym_enum] = ACTIONS(3709),
    [anon_sym_let] = ACTIONS(3709),
    [anon_sym_var] = ACTIONS(3709),
    [anon_sym_func] = ACTIONS(3709),
    [anon_sym_extension] = ACTIONS(3709),
    [anon_sym_indirect] = ACTIONS(3709),
    [anon_sym_AT] = ACTIONS(3711),
    [anon_sym_final] = ACTIONS(3709),
    [anon_sym_weak] = ACTIONS(3709),
    [anon_sym_unowned] = ACTIONS(3709),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3711),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3711),
    [anon_sym_borrowing] = ACTIONS(3709),
    [anon_sym_consuming] = ACTIONS(3709),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(3711),
    [sym_raw_str_end_part] = ACTIONS(3711),
    [sym__dot_custom] = ACTIONS(3711),
    [sym__eq_custom] = ACTIONS(3711),
    [sym__eq_eq_custom] = ACTIONS(3711),
    [sym__plus_then_ws] = ACTIONS(3711),
    [sym__minus_then_ws] = ACTIONS(3711),
    [sym__bang_custom] = ACTIONS(3711),
    [sym__custom_operator] = ACTIONS(3711),
    [sym__hash_symbol_custom] = ACTIONS(3711),
    [sym__directive_if] = ACTIONS(3711),
    [sym__directive_elseif] = ACTIONS(3711),
    [sym__directive_else] = ACTIONS(3711),
    [sym__directive_endif] = ACTIONS(3711),
  },
  [986] = {
    [anon_sym_BANG] = ACTIONS(3713),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3713),
    [aux_sym_simple_identifier_token2] = ACTIONS(3715),
    [aux_sym_simple_identifier_token3] = ACTIONS(3715),
    [aux_sym_simple_identifier_token4] = ACTIONS(3715),
    [anon_sym_actor] = ACTIONS(3713),
    [anon_sym_async] = ACTIONS(3713),
    [anon_sym_each] = ACTIONS(3713),
    [anon_sym_lazy] = ACTIONS(3713),
    [anon_sym_repeat] = ACTIONS(3713),
    [anon_sym_package] = ACTIONS(3713),
    [anon_sym_nil] = ACTIONS(3713),
    [sym_real_literal] = ACTIONS(3715),
    [sym_integer_literal] = ACTIONS(3713),
    [sym_hex_literal] = ACTIONS(3713),
    [sym_oct_literal] = ACTIONS(3715),
    [sym_bin_literal] = ACTIONS(3715),
    [anon_sym_true] = ACTIONS(3713),
    [anon_sym_false] = ACTIONS(3713),
    [anon_sym_DQUOTE] = ACTIONS(3713),
    [anon_sym_BSLASH] = ACTIONS(3715),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(3715),
    [sym__oneline_regex_literal] = ACTIONS(3713),
    [anon_sym_LPAREN] = ACTIONS(3715),
    [anon_sym_LBRACK] = ACTIONS(3715),
    [anon_sym_AMP] = ACTIONS(3715),
    [anon_sym_TILDE] = ACTIONS(3715),
    [anon_sym_if] = ACTIONS(3713),
    [anon_sym_switch] = ACTIONS(3713),
    [aux_sym_custom_operator_token1] = ACTIONS(3715),
    [anon_sym_LT] = ACTIONS(3713),
    [anon_sym_GT] = ACTIONS(3713),
    [anon_sym_await] = ACTIONS(3713),
    [anon_sym_LBRACE] = ACTIONS(3715),
    [anon_sym_CARET_LBRACE] = ACTIONS(3715),
    [anon_sym_RBRACE] = ACTIONS(3715),
    [anon_sym_self] = ACTIONS(3713),
    [anon_sym_super] = ACTIONS(3713),
    [anon_sym_guard] = ACTIONS(3713),
    [anon_sym_do] = ACTIONS(3713),
    [anon_sym_try] = ACTIONS(3713),
    [anon_sym_PLUS_EQ] = ACTIONS(3715),
    [anon_sym_DASH_EQ] = ACTIONS(3715),
    [anon_sym_STAR_EQ] = ACTIONS(3715),
    [anon_sym_SLASH_EQ] = ACTIONS(3715),
    [anon_sym_PERCENT_EQ] = ACTIONS(3715),
    [anon_sym_BANG_EQ] = ACTIONS(3713),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3715),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3715),
    [anon_sym_LT_EQ] = ACTIONS(3715),
    [anon_sym_GT_EQ] = ACTIONS(3715),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3715),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3715),
    [anon_sym_PLUS] = ACTIONS(3713),
    [anon_sym_DASH] = ACTIONS(3713),
    [anon_sym_STAR] = ACTIONS(3713),
    [anon_sym_SLASH] = ACTIONS(3713),
    [anon_sym_PERCENT] = ACTIONS(3713),
    [anon_sym_PLUS_PLUS] = ACTIONS(3715),
    [anon_sym_DASH_DASH] = ACTIONS(3715),
    [anon_sym_PIPE] = ACTIONS(3715),
    [anon_sym_CARET] = ACTIONS(3713),
    [anon_sym_LT_LT] = ACTIONS(3715),
    [anon_sym_GT_GT] = ACTIONS(3715),
    [sym_statement_label] = ACTIONS(3715),
    [anon_sym_for] = ACTIONS(3713),
    [anon_sym_while] = ACTIONS(3713),
    [sym_throw_keyword] = ACTIONS(3713),
    [anon_sym_return] = ACTIONS(3713),
    [anon_sym_continue] = ACTIONS(3713),
    [anon_sym_break] = ACTIONS(3713),
    [anon_sym_yield] = ACTIONS(3713),
    [anon_sym_typealias] = ACTIONS(3713),
    [anon_sym_struct] = ACTIONS(3713),
    [anon_sym_class] = ACTIONS(3713),
    [anon_sym_enum] = ACTIONS(3713),
    [anon_sym_let] = ACTIONS(3713),
    [anon_sym_var] = ACTIONS(3713),
    [anon_sym_func] = ACTIONS(3713),
    [anon_sym_extension] = ACTIONS(3713),
    [anon_sym_indirect] = ACTIONS(3713),
    [anon_sym_AT] = ACTIONS(3715),
    [anon_sym_final] = ACTIONS(3713),
    [anon_sym_weak] = ACTIONS(3713),
    [anon_sym_unowned] = ACTIONS(3713),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3715),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3715),
    [anon_sym_borrowing] = ACTIONS(3713),
    [anon_sym_consuming] = ACTIONS(3713),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(3715),
    [sym_raw_str_end_part] = ACTIONS(3715),
    [sym__dot_custom] = ACTIONS(3715),
    [sym__eq_custom] = ACTIONS(3715),
    [sym__eq_eq_custom] = ACTIONS(3715),
    [sym__plus_then_ws] = ACTIONS(3715),
    [sym__minus_then_ws] = ACTIONS(3715),
    [sym__bang_custom] = ACTIONS(3715),
    [sym__custom_operator] = ACTIONS(3715),
    [sym__hash_symbol_custom] = ACTIONS(3715),
    [sym__directive_if] = ACTIONS(3715),
    [sym__directive_elseif] = ACTIONS(3715),
    [sym__directive_else] = ACTIONS(3715),
    [sym__directive_endif] = ACTIONS(3715),
  },
  [987] = {
    [anon_sym_BANG] = ACTIONS(3717),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3717),
    [aux_sym_simple_identifier_token2] = ACTIONS(3719),
    [aux_sym_simple_identifier_token3] = ACTIONS(3719),
    [aux_sym_simple_identifier_token4] = ACTIONS(3719),
    [anon_sym_actor] = ACTIONS(3717),
    [anon_sym_async] = ACTIONS(3717),
    [anon_sym_each] = ACTIONS(3717),
    [anon_sym_lazy] = ACTIONS(3717),
    [anon_sym_repeat] = ACTIONS(3717),
    [anon_sym_package] = ACTIONS(3717),
    [anon_sym_nil] = ACTIONS(3717),
    [sym_real_literal] = ACTIONS(3719),
    [sym_integer_literal] = ACTIONS(3717),
    [sym_hex_literal] = ACTIONS(3717),
    [sym_oct_literal] = ACTIONS(3719),
    [sym_bin_literal] = ACTIONS(3719),
    [anon_sym_true] = ACTIONS(3717),
    [anon_sym_false] = ACTIONS(3717),
    [anon_sym_DQUOTE] = ACTIONS(3717),
    [anon_sym_BSLASH] = ACTIONS(3719),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(3719),
    [sym__oneline_regex_literal] = ACTIONS(3717),
    [anon_sym_LPAREN] = ACTIONS(3719),
    [anon_sym_LBRACK] = ACTIONS(3719),
    [anon_sym_AMP] = ACTIONS(3719),
    [anon_sym_TILDE] = ACTIONS(3719),
    [anon_sym_if] = ACTIONS(3717),
    [anon_sym_switch] = ACTIONS(3717),
    [aux_sym_custom_operator_token1] = ACTIONS(3719),
    [anon_sym_LT] = ACTIONS(3717),
    [anon_sym_GT] = ACTIONS(3717),
    [anon_sym_await] = ACTIONS(3717),
    [anon_sym_LBRACE] = ACTIONS(3719),
    [anon_sym_CARET_LBRACE] = ACTIONS(3719),
    [anon_sym_RBRACE] = ACTIONS(3719),
    [anon_sym_self] = ACTIONS(3717),
    [anon_sym_super] = ACTIONS(3717),
    [anon_sym_guard] = ACTIONS(3717),
    [anon_sym_do] = ACTIONS(3717),
    [anon_sym_try] = ACTIONS(3717),
    [anon_sym_PLUS_EQ] = ACTIONS(3719),
    [anon_sym_DASH_EQ] = ACTIONS(3719),
    [anon_sym_STAR_EQ] = ACTIONS(3719),
    [anon_sym_SLASH_EQ] = ACTIONS(3719),
    [anon_sym_PERCENT_EQ] = ACTIONS(3719),
    [anon_sym_BANG_EQ] = ACTIONS(3717),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3719),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3719),
    [anon_sym_LT_EQ] = ACTIONS(3719),
    [anon_sym_GT_EQ] = ACTIONS(3719),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3719),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3719),
    [anon_sym_PLUS] = ACTIONS(3717),
    [anon_sym_DASH] = ACTIONS(3717),
    [anon_sym_STAR] = ACTIONS(3717),
    [anon_sym_SLASH] = ACTIONS(3717),
    [anon_sym_PERCENT] = ACTIONS(3717),
    [anon_sym_PLUS_PLUS] = ACTIONS(3719),
    [anon_sym_DASH_DASH] = ACTIONS(3719),
    [anon_sym_PIPE] = ACTIONS(3719),
    [anon_sym_CARET] = ACTIONS(3717),
    [anon_sym_LT_LT] = ACTIONS(3719),
    [anon_sym_GT_GT] = ACTIONS(3719),
    [sym_statement_label] = ACTIONS(3719),
    [anon_sym_for] = ACTIONS(3717),
    [anon_sym_while] = ACTIONS(3717),
    [sym_throw_keyword] = ACTIONS(3717),
    [anon_sym_return] = ACTIONS(3717),
    [anon_sym_continue] = ACTIONS(3717),
    [anon_sym_break] = ACTIONS(3717),
    [anon_sym_yield] = ACTIONS(3717),
    [anon_sym_typealias] = ACTIONS(3717),
    [anon_sym_struct] = ACTIONS(3717),
    [anon_sym_class] = ACTIONS(3717),
    [anon_sym_enum] = ACTIONS(3717),
    [anon_sym_let] = ACTIONS(3717),
    [anon_sym_var] = ACTIONS(3717),
    [anon_sym_func] = ACTIONS(3717),
    [anon_sym_extension] = ACTIONS(3717),
    [anon_sym_indirect] = ACTIONS(3717),
    [anon_sym_AT] = ACTIONS(3719),
    [anon_sym_final] = ACTIONS(3717),
    [anon_sym_weak] = ACTIONS(3717),
    [anon_sym_unowned] = ACTIONS(3717),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3719),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3719),
    [anon_sym_borrowing] = ACTIONS(3717),
    [anon_sym_consuming] = ACTIONS(3717),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(3719),
    [sym_raw_str_end_part] = ACTIONS(3719),
    [sym__dot_custom] = ACTIONS(3719),
    [sym__eq_custom] = ACTIONS(3719),
    [sym__eq_eq_custom] = ACTIONS(3719),
    [sym__plus_then_ws] = ACTIONS(3719),
    [sym__minus_then_ws] = ACTIONS(3719),
    [sym__bang_custom] = ACTIONS(3719),
    [sym__custom_operator] = ACTIONS(3719),
    [sym__hash_symbol_custom] = ACTIONS(3719),
    [sym__directive_if] = ACTIONS(3719),
    [sym__directive_elseif] = ACTIONS(3719),
    [sym__directive_else] = ACTIONS(3719),
    [sym__directive_endif] = ACTIONS(3719),
  },
  [988] = {
    [anon_sym_BANG] = ACTIONS(3721),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3721),
    [aux_sym_simple_identifier_token2] = ACTIONS(3723),
    [aux_sym_simple_identifier_token3] = ACTIONS(3723),
    [aux_sym_simple_identifier_token4] = ACTIONS(3723),
    [anon_sym_actor] = ACTIONS(3721),
    [anon_sym_async] = ACTIONS(3721),
    [anon_sym_each] = ACTIONS(3721),
    [anon_sym_lazy] = ACTIONS(3721),
    [anon_sym_repeat] = ACTIONS(3721),
    [anon_sym_package] = ACTIONS(3721),
    [anon_sym_nil] = ACTIONS(3721),
    [sym_real_literal] = ACTIONS(3723),
    [sym_integer_literal] = ACTIONS(3721),
    [sym_hex_literal] = ACTIONS(3721),
    [sym_oct_literal] = ACTIONS(3723),
    [sym_bin_literal] = ACTIONS(3723),
    [anon_sym_true] = ACTIONS(3721),
    [anon_sym_false] = ACTIONS(3721),
    [anon_sym_DQUOTE] = ACTIONS(3721),
    [anon_sym_BSLASH] = ACTIONS(3723),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(3723),
    [sym__oneline_regex_literal] = ACTIONS(3721),
    [anon_sym_LPAREN] = ACTIONS(3723),
    [anon_sym_LBRACK] = ACTIONS(3723),
    [anon_sym_AMP] = ACTIONS(3723),
    [anon_sym_TILDE] = ACTIONS(3723),
    [anon_sym_if] = ACTIONS(3721),
    [anon_sym_switch] = ACTIONS(3721),
    [aux_sym_custom_operator_token1] = ACTIONS(3723),
    [anon_sym_LT] = ACTIONS(3721),
    [anon_sym_GT] = ACTIONS(3721),
    [anon_sym_await] = ACTIONS(3721),
    [anon_sym_LBRACE] = ACTIONS(3723),
    [anon_sym_CARET_LBRACE] = ACTIONS(3723),
    [anon_sym_RBRACE] = ACTIONS(3723),
    [anon_sym_self] = ACTIONS(3721),
    [anon_sym_super] = ACTIONS(3721),
    [anon_sym_guard] = ACTIONS(3721),
    [anon_sym_do] = ACTIONS(3721),
    [anon_sym_try] = ACTIONS(3721),
    [anon_sym_PLUS_EQ] = ACTIONS(3723),
    [anon_sym_DASH_EQ] = ACTIONS(3723),
    [anon_sym_STAR_EQ] = ACTIONS(3723),
    [anon_sym_SLASH_EQ] = ACTIONS(3723),
    [anon_sym_PERCENT_EQ] = ACTIONS(3723),
    [anon_sym_BANG_EQ] = ACTIONS(3721),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3723),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3723),
    [anon_sym_LT_EQ] = ACTIONS(3723),
    [anon_sym_GT_EQ] = ACTIONS(3723),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3723),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3723),
    [anon_sym_PLUS] = ACTIONS(3721),
    [anon_sym_DASH] = ACTIONS(3721),
    [anon_sym_STAR] = ACTIONS(3721),
    [anon_sym_SLASH] = ACTIONS(3721),
    [anon_sym_PERCENT] = ACTIONS(3721),
    [anon_sym_PLUS_PLUS] = ACTIONS(3723),
    [anon_sym_DASH_DASH] = ACTIONS(3723),
    [anon_sym_PIPE] = ACTIONS(3723),
    [anon_sym_CARET] = ACTIONS(3721),
    [anon_sym_LT_LT] = ACTIONS(3723),
    [anon_sym_GT_GT] = ACTIONS(3723),
    [sym_statement_label] = ACTIONS(3723),
    [anon_sym_for] = ACTIONS(3721),
    [anon_sym_while] = ACTIONS(3721),
    [sym_throw_keyword] = ACTIONS(3721),
    [anon_sym_return] = ACTIONS(3721),
    [anon_sym_continue] = ACTIONS(3721),
    [anon_sym_break] = ACTIONS(3721),
    [anon_sym_yield] = ACTIONS(3721),
    [anon_sym_typealias] = ACTIONS(3721),
    [anon_sym_struct] = ACTIONS(3721),
    [anon_sym_class] = ACTIONS(3721),
    [anon_sym_enum] = ACTIONS(3721),
    [anon_sym_let] = ACTIONS(3721),
    [anon_sym_var] = ACTIONS(3721),
    [anon_sym_func] = ACTIONS(3721),
    [anon_sym_extension] = ACTIONS(3721),
    [anon_sym_indirect] = ACTIONS(3721),
    [anon_sym_AT] = ACTIONS(3723),
    [anon_sym_final] = ACTIONS(3721),
    [anon_sym_weak] = ACTIONS(3721),
    [anon_sym_unowned] = ACTIONS(3721),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3723),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3723),
    [anon_sym_borrowing] = ACTIONS(3721),
    [anon_sym_consuming] = ACTIONS(3721),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(3723),
    [sym_raw_str_end_part] = ACTIONS(3723),
    [sym__dot_custom] = ACTIONS(3723),
    [sym__eq_custom] = ACTIONS(3723),
    [sym__eq_eq_custom] = ACTIONS(3723),
    [sym__plus_then_ws] = ACTIONS(3723),
    [sym__minus_then_ws] = ACTIONS(3723),
    [sym__bang_custom] = ACTIONS(3723),
    [sym__custom_operator] = ACTIONS(3723),
    [sym__hash_symbol_custom] = ACTIONS(3723),
    [sym__directive_if] = ACTIONS(3723),
    [sym__directive_elseif] = ACTIONS(3723),
    [sym__directive_else] = ACTIONS(3723),
    [sym__directive_endif] = ACTIONS(3723),
  },
  [989] = {
    [ts_builtin_sym_end] = ACTIONS(617),
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3725),
    [anon_sym_async] = ACTIONS(3725),
    [anon_sym_lazy] = ACTIONS(3725),
    [anon_sym_package] = ACTIONS(3725),
    [anon_sym_LPAREN] = ACTIONS(617),
    [anon_sym_LBRACK] = ACTIONS(617),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(617),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(617),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_import] = ACTIONS(3725),
    [anon_sym_typealias] = ACTIONS(3725),
    [anon_sym_struct] = ACTIONS(3725),
    [anon_sym_class] = ACTIONS(3725),
    [anon_sym_enum] = ACTIONS(3725),
    [anon_sym_protocol] = ACTIONS(3725),
    [anon_sym_let] = ACTIONS(3725),
    [anon_sym_var] = ACTIONS(3725),
    [anon_sym_func] = ACTIONS(3725),
    [anon_sym_willSet] = ACTIONS(3725),
    [anon_sym_didSet] = ACTIONS(3725),
    [anon_sym_macro] = ACTIONS(3725),
    [anon_sym_extension] = ACTIONS(3725),
    [anon_sym_indirect] = ACTIONS(3725),
    [anon_sym_init] = ACTIONS(3725),
    [anon_sym_prefix] = ACTIONS(3725),
    [anon_sym_infix] = ACTIONS(3725),
    [anon_sym_postfix] = ACTIONS(3725),
    [anon_sym_associatedtype] = ACTIONS(3725),
    [anon_sym_AT] = ACTIONS(3727),
    [anon_sym_override] = ACTIONS(3725),
    [anon_sym_convenience] = ACTIONS(3725),
    [anon_sym_required] = ACTIONS(3725),
    [anon_sym_nonisolated] = ACTIONS(3725),
    [anon_sym_public] = ACTIONS(3725),
    [anon_sym_private] = ACTIONS(3725),
    [anon_sym_internal] = ACTIONS(3725),
    [anon_sym_fileprivate] = ACTIONS(3725),
    [anon_sym_open] = ACTIONS(3725),
    [anon_sym_mutating] = ACTIONS(3725),
    [anon_sym_nonmutating] = ACTIONS(3725),
    [anon_sym_static] = ACTIONS(3725),
    [anon_sym_dynamic] = ACTIONS(3725),
    [anon_sym_optional] = ACTIONS(3725),
    [anon_sym_distributed] = ACTIONS(3725),
    [anon_sym_final] = ACTIONS(3725),
    [anon_sym_inout] = ACTIONS(3725),
    [anon_sym_ATescaping] = ACTIONS(3725),
    [anon_sym_ATautoclosure] = ACTIONS(3725),
    [anon_sym_weak] = ACTIONS(3725),
    [anon_sym_unowned] = ACTIONS(3727),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3725),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3725),
    [anon_sym_borrowing] = ACTIONS(3725),
    [anon_sym_consuming] = ACTIONS(3725),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [990] = {
    [ts_builtin_sym_end] = ACTIONS(617),
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3729),
    [anon_sym_async] = ACTIONS(3729),
    [anon_sym_lazy] = ACTIONS(3729),
    [anon_sym_package] = ACTIONS(3729),
    [anon_sym_LPAREN] = ACTIONS(3731),
    [anon_sym_LBRACK] = ACTIONS(617),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(617),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(617),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_import] = ACTIONS(3729),
    [anon_sym_typealias] = ACTIONS(3729),
    [anon_sym_struct] = ACTIONS(3729),
    [anon_sym_class] = ACTIONS(3729),
    [anon_sym_enum] = ACTIONS(3729),
    [anon_sym_protocol] = ACTIONS(3729),
    [anon_sym_let] = ACTIONS(3729),
    [anon_sym_var] = ACTIONS(3729),
    [anon_sym_func] = ACTIONS(3729),
    [anon_sym_willSet] = ACTIONS(3729),
    [anon_sym_didSet] = ACTIONS(3729),
    [anon_sym_macro] = ACTIONS(3729),
    [anon_sym_extension] = ACTIONS(3729),
    [anon_sym_indirect] = ACTIONS(3729),
    [anon_sym_init] = ACTIONS(3729),
    [anon_sym_prefix] = ACTIONS(3729),
    [anon_sym_infix] = ACTIONS(3729),
    [anon_sym_postfix] = ACTIONS(3729),
    [anon_sym_associatedtype] = ACTIONS(3729),
    [anon_sym_AT] = ACTIONS(3734),
    [anon_sym_override] = ACTIONS(3729),
    [anon_sym_convenience] = ACTIONS(3729),
    [anon_sym_required] = ACTIONS(3729),
    [anon_sym_nonisolated] = ACTIONS(3729),
    [anon_sym_public] = ACTIONS(3729),
    [anon_sym_private] = ACTIONS(3729),
    [anon_sym_internal] = ACTIONS(3729),
    [anon_sym_fileprivate] = ACTIONS(3729),
    [anon_sym_open] = ACTIONS(3729),
    [anon_sym_mutating] = ACTIONS(3729),
    [anon_sym_nonmutating] = ACTIONS(3729),
    [anon_sym_static] = ACTIONS(3729),
    [anon_sym_dynamic] = ACTIONS(3729),
    [anon_sym_optional] = ACTIONS(3729),
    [anon_sym_distributed] = ACTIONS(3729),
    [anon_sym_final] = ACTIONS(3729),
    [anon_sym_inout] = ACTIONS(3729),
    [anon_sym_ATescaping] = ACTIONS(3729),
    [anon_sym_ATautoclosure] = ACTIONS(3729),
    [anon_sym_weak] = ACTIONS(3729),
    [anon_sym_unowned] = ACTIONS(3734),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3729),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3729),
    [anon_sym_borrowing] = ACTIONS(3729),
    [anon_sym_consuming] = ACTIONS(3729),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [991] = {
    [ts_builtin_sym_end] = ACTIONS(617),
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3211),
    [anon_sym_async] = ACTIONS(3211),
    [anon_sym_lazy] = ACTIONS(3211),
    [anon_sym_package] = ACTIONS(3211),
    [anon_sym_LPAREN] = ACTIONS(617),
    [anon_sym_LBRACK] = ACTIONS(617),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(617),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(617),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_import] = ACTIONS(3211),
    [anon_sym_typealias] = ACTIONS(3211),
    [anon_sym_struct] = ACTIONS(3211),
    [anon_sym_class] = ACTIONS(3211),
    [anon_sym_enum] = ACTIONS(3211),
    [anon_sym_protocol] = ACTIONS(3211),
    [anon_sym_let] = ACTIONS(3211),
    [anon_sym_var] = ACTIONS(3211),
    [anon_sym_func] = ACTIONS(3211),
    [anon_sym_willSet] = ACTIONS(3211),
    [anon_sym_didSet] = ACTIONS(3211),
    [anon_sym_macro] = ACTIONS(3211),
    [anon_sym_extension] = ACTIONS(3211),
    [anon_sym_indirect] = ACTIONS(3211),
    [anon_sym_init] = ACTIONS(3211),
    [anon_sym_prefix] = ACTIONS(3211),
    [anon_sym_infix] = ACTIONS(3211),
    [anon_sym_postfix] = ACTIONS(3211),
    [anon_sym_associatedtype] = ACTIONS(3211),
    [anon_sym_AT] = ACTIONS(3209),
    [anon_sym_override] = ACTIONS(3211),
    [anon_sym_convenience] = ACTIONS(3211),
    [anon_sym_required] = ACTIONS(3211),
    [anon_sym_nonisolated] = ACTIONS(3211),
    [anon_sym_public] = ACTIONS(3211),
    [anon_sym_private] = ACTIONS(3211),
    [anon_sym_internal] = ACTIONS(3211),
    [anon_sym_fileprivate] = ACTIONS(3211),
    [anon_sym_open] = ACTIONS(3211),
    [anon_sym_mutating] = ACTIONS(3211),
    [anon_sym_nonmutating] = ACTIONS(3211),
    [anon_sym_static] = ACTIONS(3211),
    [anon_sym_dynamic] = ACTIONS(3211),
    [anon_sym_optional] = ACTIONS(3211),
    [anon_sym_distributed] = ACTIONS(3211),
    [anon_sym_final] = ACTIONS(3211),
    [anon_sym_inout] = ACTIONS(3211),
    [anon_sym_ATescaping] = ACTIONS(3211),
    [anon_sym_ATautoclosure] = ACTIONS(3211),
    [anon_sym_weak] = ACTIONS(3211),
    [anon_sym_unowned] = ACTIONS(3209),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3211),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3211),
    [anon_sym_borrowing] = ACTIONS(3211),
    [anon_sym_consuming] = ACTIONS(3211),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [992] = {
    [sym_simple_identifier] = STATE(8696),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [aux_sym__fn_call_lambda_arguments_repeat1] = STATE(992),
    [anon_sym_BANG] = ACTIONS(2981),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2983),
    [aux_sym_simple_identifier_token2] = ACTIONS(2986),
    [aux_sym_simple_identifier_token3] = ACTIONS(2986),
    [aux_sym_simple_identifier_token4] = ACTIONS(2986),
    [anon_sym_actor] = ACTIONS(2983),
    [anon_sym_async] = ACTIONS(2983),
    [anon_sym_each] = ACTIONS(2983),
    [anon_sym_lazy] = ACTIONS(2983),
    [anon_sym_repeat] = ACTIONS(2983),
    [anon_sym_package] = ACTIONS(2983),
    [anon_sym_COMMA] = ACTIONS(2989),
    [anon_sym_LPAREN] = ACTIONS(2989),
    [anon_sym_LBRACK] = ACTIONS(2989),
    [anon_sym_QMARK] = ACTIONS(2981),
    [anon_sym_QMARK2] = ACTIONS(2989),
    [anon_sym_AMP] = ACTIONS(2989),
    [aux_sym_custom_operator_token1] = ACTIONS(2989),
    [anon_sym_LT] = ACTIONS(2981),
    [anon_sym_GT] = ACTIONS(2981),
    [anon_sym_LBRACE] = ACTIONS(2989),
    [anon_sym_CARET_LBRACE] = ACTIONS(2989),
    [anon_sym_RBRACE] = ACTIONS(2989),
    [anon_sym_case] = ACTIONS(2981),
    [anon_sym_fallthrough] = ACTIONS(2981),
    [anon_sym_PLUS_EQ] = ACTIONS(2989),
    [anon_sym_DASH_EQ] = ACTIONS(2989),
    [anon_sym_STAR_EQ] = ACTIONS(2989),
    [anon_sym_SLASH_EQ] = ACTIONS(2989),
    [anon_sym_PERCENT_EQ] = ACTIONS(2989),
    [anon_sym_BANG_EQ] = ACTIONS(2981),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2989),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2989),
    [anon_sym_LT_EQ] = ACTIONS(2989),
    [anon_sym_GT_EQ] = ACTIONS(2989),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2989),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2989),
    [anon_sym_is] = ACTIONS(2981),
    [anon_sym_PLUS] = ACTIONS(2981),
    [anon_sym_DASH] = ACTIONS(2981),
    [anon_sym_STAR] = ACTIONS(2981),
    [anon_sym_SLASH] = ACTIONS(2981),
    [anon_sym_PERCENT] = ACTIONS(2981),
    [anon_sym_PLUS_PLUS] = ACTIONS(2989),
    [anon_sym_DASH_DASH] = ACTIONS(2989),
    [anon_sym_PIPE] = ACTIONS(2989),
    [anon_sym_CARET] = ACTIONS(2981),
    [anon_sym_LT_LT] = ACTIONS(2989),
    [anon_sym_GT_GT] = ACTIONS(2989),
    [anon_sym_class] = ACTIONS(2981),
    [anon_sym_prefix] = ACTIONS(2981),
    [anon_sym_infix] = ACTIONS(2981),
    [anon_sym_postfix] = ACTIONS(2981),
    [anon_sym_AT] = ACTIONS(2981),
    [anon_sym_override] = ACTIONS(2981),
    [anon_sym_convenience] = ACTIONS(2981),
    [anon_sym_required] = ACTIONS(2981),
    [anon_sym_nonisolated] = ACTIONS(2981),
    [anon_sym_public] = ACTIONS(2981),
    [anon_sym_private] = ACTIONS(2981),
    [anon_sym_internal] = ACTIONS(2981),
    [anon_sym_fileprivate] = ACTIONS(2981),
    [anon_sym_open] = ACTIONS(2981),
    [anon_sym_mutating] = ACTIONS(2981),
    [anon_sym_nonmutating] = ACTIONS(2981),
    [anon_sym_static] = ACTIONS(2981),
    [anon_sym_dynamic] = ACTIONS(2981),
    [anon_sym_optional] = ACTIONS(2981),
    [anon_sym_distributed] = ACTIONS(2981),
    [anon_sym_final] = ACTIONS(2981),
    [anon_sym_inout] = ACTIONS(2981),
    [anon_sym_ATescaping] = ACTIONS(2989),
    [anon_sym_ATautoclosure] = ACTIONS(2989),
    [anon_sym_weak] = ACTIONS(2981),
    [anon_sym_unowned] = ACTIONS(2981),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2989),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2989),
    [anon_sym_borrowing] = ACTIONS(2983),
    [anon_sym_consuming] = ACTIONS(2983),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2989),
    [sym__explicit_semi] = ACTIONS(2989),
    [sym__dot_custom] = ACTIONS(2989),
    [sym__conjunction_operator_custom] = ACTIONS(2989),
    [sym__disjunction_operator_custom] = ACTIONS(2989),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2989),
    [sym__eq_custom] = ACTIONS(2989),
    [sym__eq_eq_custom] = ACTIONS(2989),
    [sym__plus_then_ws] = ACTIONS(2989),
    [sym__minus_then_ws] = ACTIONS(2989),
    [sym__bang_custom] = ACTIONS(2989),
    [sym_default_keyword] = ACTIONS(2989),
    [sym_where_keyword] = ACTIONS(2989),
    [sym__as_custom] = ACTIONS(2989),
    [sym__as_quest_custom] = ACTIONS(2989),
    [sym__as_bang_custom] = ACTIONS(2989),
    [sym__custom_operator] = ACTIONS(2989),
  },
  [993] = {
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(623),
    [aux_sym_simple_identifier_token2] = ACTIONS(617),
    [aux_sym_simple_identifier_token3] = ACTIONS(617),
    [aux_sym_simple_identifier_token4] = ACTIONS(617),
    [anon_sym_actor] = ACTIONS(623),
    [anon_sym_async] = ACTIONS(623),
    [anon_sym_each] = ACTIONS(623),
    [anon_sym_lazy] = ACTIONS(3736),
    [anon_sym_repeat] = ACTIONS(623),
    [anon_sym_package] = ACTIONS(3736),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_COLON] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(3731),
    [anon_sym_LBRACK] = ACTIONS(617),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(617),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_in] = ACTIONS(623),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_class] = ACTIONS(3734),
    [anon_sym_willSet] = ACTIONS(3734),
    [anon_sym_didSet] = ACTIONS(3734),
    [anon_sym_prefix] = ACTIONS(3734),
    [anon_sym_infix] = ACTIONS(3734),
    [anon_sym_postfix] = ACTIONS(3734),
    [anon_sym_AT] = ACTIONS(3734),
    [anon_sym_override] = ACTIONS(3734),
    [anon_sym_convenience] = ACTIONS(3734),
    [anon_sym_required] = ACTIONS(3734),
    [anon_sym_nonisolated] = ACTIONS(3734),
    [anon_sym_public] = ACTIONS(3734),
    [anon_sym_private] = ACTIONS(3734),
    [anon_sym_internal] = ACTIONS(3734),
    [anon_sym_fileprivate] = ACTIONS(3734),
    [anon_sym_open] = ACTIONS(3734),
    [anon_sym_mutating] = ACTIONS(3734),
    [anon_sym_nonmutating] = ACTIONS(3734),
    [anon_sym_static] = ACTIONS(3734),
    [anon_sym_dynamic] = ACTIONS(3734),
    [anon_sym_optional] = ACTIONS(3734),
    [anon_sym_distributed] = ACTIONS(3734),
    [anon_sym_final] = ACTIONS(3734),
    [anon_sym_inout] = ACTIONS(3734),
    [anon_sym_ATescaping] = ACTIONS(3729),
    [anon_sym_ATautoclosure] = ACTIONS(3729),
    [anon_sym_weak] = ACTIONS(3734),
    [anon_sym_unowned] = ACTIONS(3734),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3729),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3729),
    [anon_sym_borrowing] = ACTIONS(3736),
    [anon_sym_consuming] = ACTIONS(3736),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [994] = {
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(623),
    [aux_sym_simple_identifier_token2] = ACTIONS(617),
    [aux_sym_simple_identifier_token3] = ACTIONS(617),
    [aux_sym_simple_identifier_token4] = ACTIONS(617),
    [anon_sym_actor] = ACTIONS(623),
    [anon_sym_async] = ACTIONS(623),
    [anon_sym_each] = ACTIONS(623),
    [anon_sym_lazy] = ACTIONS(3739),
    [anon_sym_repeat] = ACTIONS(623),
    [anon_sym_package] = ACTIONS(3739),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_COLON] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(617),
    [anon_sym_LBRACK] = ACTIONS(617),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(617),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_in] = ACTIONS(623),
    [anon_sym_case] = ACTIONS(3727),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_class] = ACTIONS(3727),
    [anon_sym_prefix] = ACTIONS(3727),
    [anon_sym_infix] = ACTIONS(3727),
    [anon_sym_postfix] = ACTIONS(3727),
    [anon_sym_AT] = ACTIONS(3727),
    [anon_sym_override] = ACTIONS(3727),
    [anon_sym_convenience] = ACTIONS(3727),
    [anon_sym_required] = ACTIONS(3727),
    [anon_sym_nonisolated] = ACTIONS(3727),
    [anon_sym_public] = ACTIONS(3727),
    [anon_sym_private] = ACTIONS(3727),
    [anon_sym_internal] = ACTIONS(3727),
    [anon_sym_fileprivate] = ACTIONS(3727),
    [anon_sym_open] = ACTIONS(3727),
    [anon_sym_mutating] = ACTIONS(3727),
    [anon_sym_nonmutating] = ACTIONS(3727),
    [anon_sym_static] = ACTIONS(3727),
    [anon_sym_dynamic] = ACTIONS(3727),
    [anon_sym_optional] = ACTIONS(3727),
    [anon_sym_distributed] = ACTIONS(3727),
    [anon_sym_final] = ACTIONS(3727),
    [anon_sym_inout] = ACTIONS(3727),
    [anon_sym_ATescaping] = ACTIONS(3725),
    [anon_sym_ATautoclosure] = ACTIONS(3725),
    [anon_sym_weak] = ACTIONS(3727),
    [anon_sym_unowned] = ACTIONS(3727),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3725),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3725),
    [anon_sym_borrowing] = ACTIONS(3739),
    [anon_sym_consuming] = ACTIONS(3739),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym_default_keyword] = ACTIONS(3725),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [995] = {
    [sym_simple_identifier] = STATE(8696),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [aux_sym__fn_call_lambda_arguments_repeat1] = STATE(992),
    [anon_sym_BANG] = ACTIONS(3021),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3012),
    [aux_sym_simple_identifier_token2] = ACTIONS(3014),
    [aux_sym_simple_identifier_token3] = ACTIONS(3014),
    [aux_sym_simple_identifier_token4] = ACTIONS(3014),
    [anon_sym_actor] = ACTIONS(3012),
    [anon_sym_async] = ACTIONS(3012),
    [anon_sym_each] = ACTIONS(3012),
    [anon_sym_lazy] = ACTIONS(3023),
    [anon_sym_repeat] = ACTIONS(3012),
    [anon_sym_package] = ACTIONS(3023),
    [anon_sym_COMMA] = ACTIONS(3026),
    [anon_sym_LPAREN] = ACTIONS(3026),
    [anon_sym_LBRACK] = ACTIONS(3026),
    [anon_sym_QMARK] = ACTIONS(3021),
    [anon_sym_QMARK2] = ACTIONS(3026),
    [anon_sym_AMP] = ACTIONS(3026),
    [aux_sym_custom_operator_token1] = ACTIONS(3026),
    [anon_sym_LT] = ACTIONS(3021),
    [anon_sym_GT] = ACTIONS(3021),
    [anon_sym_LBRACE] = ACTIONS(3026),
    [anon_sym_CARET_LBRACE] = ACTIONS(3026),
    [anon_sym_RBRACE] = ACTIONS(3026),
    [anon_sym_case] = ACTIONS(3021),
    [anon_sym_fallthrough] = ACTIONS(3021),
    [anon_sym_PLUS_EQ] = ACTIONS(3026),
    [anon_sym_DASH_EQ] = ACTIONS(3026),
    [anon_sym_STAR_EQ] = ACTIONS(3026),
    [anon_sym_SLASH_EQ] = ACTIONS(3026),
    [anon_sym_PERCENT_EQ] = ACTIONS(3026),
    [anon_sym_BANG_EQ] = ACTIONS(3021),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3026),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3026),
    [anon_sym_LT_EQ] = ACTIONS(3026),
    [anon_sym_GT_EQ] = ACTIONS(3026),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3026),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3026),
    [anon_sym_is] = ACTIONS(3021),
    [anon_sym_PLUS] = ACTIONS(3021),
    [anon_sym_DASH] = ACTIONS(3021),
    [anon_sym_STAR] = ACTIONS(3021),
    [anon_sym_SLASH] = ACTIONS(3021),
    [anon_sym_PERCENT] = ACTIONS(3021),
    [anon_sym_PLUS_PLUS] = ACTIONS(3026),
    [anon_sym_DASH_DASH] = ACTIONS(3026),
    [anon_sym_PIPE] = ACTIONS(3026),
    [anon_sym_CARET] = ACTIONS(3021),
    [anon_sym_LT_LT] = ACTIONS(3026),
    [anon_sym_GT_GT] = ACTIONS(3026),
    [anon_sym_class] = ACTIONS(3021),
    [anon_sym_prefix] = ACTIONS(3021),
    [anon_sym_infix] = ACTIONS(3021),
    [anon_sym_postfix] = ACTIONS(3021),
    [anon_sym_AT] = ACTIONS(3021),
    [anon_sym_override] = ACTIONS(3021),
    [anon_sym_convenience] = ACTIONS(3021),
    [anon_sym_required] = ACTIONS(3021),
    [anon_sym_nonisolated] = ACTIONS(3021),
    [anon_sym_public] = ACTIONS(3021),
    [anon_sym_private] = ACTIONS(3021),
    [anon_sym_internal] = ACTIONS(3021),
    [anon_sym_fileprivate] = ACTIONS(3021),
    [anon_sym_open] = ACTIONS(3021),
    [anon_sym_mutating] = ACTIONS(3021),
    [anon_sym_nonmutating] = ACTIONS(3021),
    [anon_sym_static] = ACTIONS(3021),
    [anon_sym_dynamic] = ACTIONS(3021),
    [anon_sym_optional] = ACTIONS(3021),
    [anon_sym_distributed] = ACTIONS(3021),
    [anon_sym_final] = ACTIONS(3021),
    [anon_sym_inout] = ACTIONS(3021),
    [anon_sym_ATescaping] = ACTIONS(3026),
    [anon_sym_ATautoclosure] = ACTIONS(3026),
    [anon_sym_weak] = ACTIONS(3021),
    [anon_sym_unowned] = ACTIONS(3021),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3026),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3026),
    [anon_sym_borrowing] = ACTIONS(3023),
    [anon_sym_consuming] = ACTIONS(3023),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3026),
    [sym__explicit_semi] = ACTIONS(3026),
    [sym__dot_custom] = ACTIONS(3026),
    [sym__conjunction_operator_custom] = ACTIONS(3026),
    [sym__disjunction_operator_custom] = ACTIONS(3026),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3026),
    [sym__eq_custom] = ACTIONS(3026),
    [sym__eq_eq_custom] = ACTIONS(3026),
    [sym__plus_then_ws] = ACTIONS(3026),
    [sym__minus_then_ws] = ACTIONS(3026),
    [sym__bang_custom] = ACTIONS(3026),
    [sym_default_keyword] = ACTIONS(3026),
    [sym_where_keyword] = ACTIONS(3026),
    [sym__as_custom] = ACTIONS(3026),
    [sym__as_quest_custom] = ACTIONS(3026),
    [sym__as_bang_custom] = ACTIONS(3026),
    [sym__custom_operator] = ACTIONS(3026),
  },
  [996] = {
    [sym_simple_identifier] = STATE(8696),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [aux_sym__fn_call_lambda_arguments_repeat1] = STATE(995),
    [anon_sym_BANG] = ACTIONS(3010),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3012),
    [aux_sym_simple_identifier_token2] = ACTIONS(3014),
    [aux_sym_simple_identifier_token3] = ACTIONS(3014),
    [aux_sym_simple_identifier_token4] = ACTIONS(3014),
    [anon_sym_actor] = ACTIONS(3012),
    [anon_sym_async] = ACTIONS(3012),
    [anon_sym_each] = ACTIONS(3012),
    [anon_sym_lazy] = ACTIONS(3016),
    [anon_sym_repeat] = ACTIONS(3012),
    [anon_sym_package] = ACTIONS(3016),
    [anon_sym_COMMA] = ACTIONS(3019),
    [anon_sym_LPAREN] = ACTIONS(3019),
    [anon_sym_LBRACK] = ACTIONS(3019),
    [anon_sym_QMARK] = ACTIONS(3010),
    [anon_sym_QMARK2] = ACTIONS(3019),
    [anon_sym_AMP] = ACTIONS(3019),
    [aux_sym_custom_operator_token1] = ACTIONS(3019),
    [anon_sym_LT] = ACTIONS(3010),
    [anon_sym_GT] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(3019),
    [anon_sym_CARET_LBRACE] = ACTIONS(3019),
    [anon_sym_RBRACE] = ACTIONS(3019),
    [anon_sym_case] = ACTIONS(3010),
    [anon_sym_fallthrough] = ACTIONS(3010),
    [anon_sym_PLUS_EQ] = ACTIONS(3019),
    [anon_sym_DASH_EQ] = ACTIONS(3019),
    [anon_sym_STAR_EQ] = ACTIONS(3019),
    [anon_sym_SLASH_EQ] = ACTIONS(3019),
    [anon_sym_PERCENT_EQ] = ACTIONS(3019),
    [anon_sym_BANG_EQ] = ACTIONS(3010),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3019),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3019),
    [anon_sym_LT_EQ] = ACTIONS(3019),
    [anon_sym_GT_EQ] = ACTIONS(3019),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3019),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3019),
    [anon_sym_is] = ACTIONS(3010),
    [anon_sym_PLUS] = ACTIONS(3010),
    [anon_sym_DASH] = ACTIONS(3010),
    [anon_sym_STAR] = ACTIONS(3010),
    [anon_sym_SLASH] = ACTIONS(3010),
    [anon_sym_PERCENT] = ACTIONS(3010),
    [anon_sym_PLUS_PLUS] = ACTIONS(3019),
    [anon_sym_DASH_DASH] = ACTIONS(3019),
    [anon_sym_PIPE] = ACTIONS(3019),
    [anon_sym_CARET] = ACTIONS(3010),
    [anon_sym_LT_LT] = ACTIONS(3019),
    [anon_sym_GT_GT] = ACTIONS(3019),
    [anon_sym_class] = ACTIONS(3010),
    [anon_sym_prefix] = ACTIONS(3010),
    [anon_sym_infix] = ACTIONS(3010),
    [anon_sym_postfix] = ACTIONS(3010),
    [anon_sym_AT] = ACTIONS(3010),
    [anon_sym_override] = ACTIONS(3010),
    [anon_sym_convenience] = ACTIONS(3010),
    [anon_sym_required] = ACTIONS(3010),
    [anon_sym_nonisolated] = ACTIONS(3010),
    [anon_sym_public] = ACTIONS(3010),
    [anon_sym_private] = ACTIONS(3010),
    [anon_sym_internal] = ACTIONS(3010),
    [anon_sym_fileprivate] = ACTIONS(3010),
    [anon_sym_open] = ACTIONS(3010),
    [anon_sym_mutating] = ACTIONS(3010),
    [anon_sym_nonmutating] = ACTIONS(3010),
    [anon_sym_static] = ACTIONS(3010),
    [anon_sym_dynamic] = ACTIONS(3010),
    [anon_sym_optional] = ACTIONS(3010),
    [anon_sym_distributed] = ACTIONS(3010),
    [anon_sym_final] = ACTIONS(3010),
    [anon_sym_inout] = ACTIONS(3010),
    [anon_sym_ATescaping] = ACTIONS(3019),
    [anon_sym_ATautoclosure] = ACTIONS(3019),
    [anon_sym_weak] = ACTIONS(3010),
    [anon_sym_unowned] = ACTIONS(3010),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3019),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3019),
    [anon_sym_borrowing] = ACTIONS(3016),
    [anon_sym_consuming] = ACTIONS(3016),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3019),
    [sym__explicit_semi] = ACTIONS(3019),
    [sym__dot_custom] = ACTIONS(3019),
    [sym__conjunction_operator_custom] = ACTIONS(3019),
    [sym__disjunction_operator_custom] = ACTIONS(3019),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3019),
    [sym__eq_custom] = ACTIONS(3019),
    [sym__eq_eq_custom] = ACTIONS(3019),
    [sym__plus_then_ws] = ACTIONS(3019),
    [sym__minus_then_ws] = ACTIONS(3019),
    [sym__bang_custom] = ACTIONS(3019),
    [sym_default_keyword] = ACTIONS(3019),
    [sym_where_keyword] = ACTIONS(3019),
    [sym__as_custom] = ACTIONS(3019),
    [sym__as_quest_custom] = ACTIONS(3019),
    [sym__as_bang_custom] = ACTIONS(3019),
    [sym__custom_operator] = ACTIONS(3019),
  },
  [997] = {
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(623),
    [aux_sym_simple_identifier_token2] = ACTIONS(617),
    [aux_sym_simple_identifier_token3] = ACTIONS(617),
    [aux_sym_simple_identifier_token4] = ACTIONS(617),
    [anon_sym_actor] = ACTIONS(623),
    [anon_sym_async] = ACTIONS(623),
    [anon_sym_each] = ACTIONS(623),
    [anon_sym_lazy] = ACTIONS(3739),
    [anon_sym_repeat] = ACTIONS(623),
    [anon_sym_package] = ACTIONS(3739),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_COLON] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(617),
    [anon_sym_LBRACK] = ACTIONS(617),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(617),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_in] = ACTIONS(623),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_class] = ACTIONS(3727),
    [anon_sym_willSet] = ACTIONS(3727),
    [anon_sym_didSet] = ACTIONS(3727),
    [anon_sym_prefix] = ACTIONS(3727),
    [anon_sym_infix] = ACTIONS(3727),
    [anon_sym_postfix] = ACTIONS(3727),
    [anon_sym_AT] = ACTIONS(3727),
    [anon_sym_override] = ACTIONS(3727),
    [anon_sym_convenience] = ACTIONS(3727),
    [anon_sym_required] = ACTIONS(3727),
    [anon_sym_nonisolated] = ACTIONS(3727),
    [anon_sym_public] = ACTIONS(3727),
    [anon_sym_private] = ACTIONS(3727),
    [anon_sym_internal] = ACTIONS(3727),
    [anon_sym_fileprivate] = ACTIONS(3727),
    [anon_sym_open] = ACTIONS(3727),
    [anon_sym_mutating] = ACTIONS(3727),
    [anon_sym_nonmutating] = ACTIONS(3727),
    [anon_sym_static] = ACTIONS(3727),
    [anon_sym_dynamic] = ACTIONS(3727),
    [anon_sym_optional] = ACTIONS(3727),
    [anon_sym_distributed] = ACTIONS(3727),
    [anon_sym_final] = ACTIONS(3727),
    [anon_sym_inout] = ACTIONS(3727),
    [anon_sym_ATescaping] = ACTIONS(3725),
    [anon_sym_ATautoclosure] = ACTIONS(3725),
    [anon_sym_weak] = ACTIONS(3727),
    [anon_sym_unowned] = ACTIONS(3727),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3725),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3725),
    [anon_sym_borrowing] = ACTIONS(3739),
    [anon_sym_consuming] = ACTIONS(3739),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [998] = {
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(623),
    [aux_sym_simple_identifier_token2] = ACTIONS(617),
    [aux_sym_simple_identifier_token3] = ACTIONS(617),
    [aux_sym_simple_identifier_token4] = ACTIONS(617),
    [anon_sym_actor] = ACTIONS(623),
    [anon_sym_async] = ACTIONS(623),
    [anon_sym_each] = ACTIONS(623),
    [anon_sym_lazy] = ACTIONS(3736),
    [anon_sym_repeat] = ACTIONS(623),
    [anon_sym_package] = ACTIONS(3736),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_COLON] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(3742),
    [anon_sym_LBRACK] = ACTIONS(617),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(617),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_in] = ACTIONS(623),
    [anon_sym_case] = ACTIONS(3734),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_class] = ACTIONS(3734),
    [anon_sym_prefix] = ACTIONS(3734),
    [anon_sym_infix] = ACTIONS(3734),
    [anon_sym_postfix] = ACTIONS(3734),
    [anon_sym_AT] = ACTIONS(3734),
    [anon_sym_override] = ACTIONS(3734),
    [anon_sym_convenience] = ACTIONS(3734),
    [anon_sym_required] = ACTIONS(3734),
    [anon_sym_nonisolated] = ACTIONS(3734),
    [anon_sym_public] = ACTIONS(3734),
    [anon_sym_private] = ACTIONS(3734),
    [anon_sym_internal] = ACTIONS(3734),
    [anon_sym_fileprivate] = ACTIONS(3734),
    [anon_sym_open] = ACTIONS(3734),
    [anon_sym_mutating] = ACTIONS(3734),
    [anon_sym_nonmutating] = ACTIONS(3734),
    [anon_sym_static] = ACTIONS(3734),
    [anon_sym_dynamic] = ACTIONS(3734),
    [anon_sym_optional] = ACTIONS(3734),
    [anon_sym_distributed] = ACTIONS(3734),
    [anon_sym_final] = ACTIONS(3734),
    [anon_sym_inout] = ACTIONS(3734),
    [anon_sym_ATescaping] = ACTIONS(3729),
    [anon_sym_ATautoclosure] = ACTIONS(3729),
    [anon_sym_weak] = ACTIONS(3734),
    [anon_sym_unowned] = ACTIONS(3734),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3729),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3729),
    [anon_sym_borrowing] = ACTIONS(3736),
    [anon_sym_consuming] = ACTIONS(3736),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym_default_keyword] = ACTIONS(3729),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [999] = {
    [sym_simple_identifier] = STATE(8698),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [aux_sym__fn_call_lambda_arguments_repeat1] = STATE(1000),
    [anon_sym_BANG] = ACTIONS(3021),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3012),
    [aux_sym_simple_identifier_token2] = ACTIONS(3014),
    [aux_sym_simple_identifier_token3] = ACTIONS(3014),
    [aux_sym_simple_identifier_token4] = ACTIONS(3014),
    [anon_sym_actor] = ACTIONS(3012),
    [anon_sym_async] = ACTIONS(3012),
    [anon_sym_each] = ACTIONS(3012),
    [anon_sym_lazy] = ACTIONS(3023),
    [anon_sym_repeat] = ACTIONS(3012),
    [anon_sym_package] = ACTIONS(3023),
    [anon_sym_COMMA] = ACTIONS(3026),
    [anon_sym_LPAREN] = ACTIONS(3026),
    [anon_sym_LBRACK] = ACTIONS(3026),
    [anon_sym_QMARK] = ACTIONS(3021),
    [anon_sym_QMARK2] = ACTIONS(3026),
    [anon_sym_AMP] = ACTIONS(3026),
    [aux_sym_custom_operator_token1] = ACTIONS(3026),
    [anon_sym_LT] = ACTIONS(3021),
    [anon_sym_GT] = ACTIONS(3021),
    [anon_sym_LBRACE] = ACTIONS(3026),
    [anon_sym_CARET_LBRACE] = ACTIONS(3026),
    [anon_sym_RBRACE] = ACTIONS(3026),
    [anon_sym_case] = ACTIONS(3021),
    [anon_sym_fallthrough] = ACTIONS(3021),
    [anon_sym_PLUS_EQ] = ACTIONS(3026),
    [anon_sym_DASH_EQ] = ACTIONS(3026),
    [anon_sym_STAR_EQ] = ACTIONS(3026),
    [anon_sym_SLASH_EQ] = ACTIONS(3026),
    [anon_sym_PERCENT_EQ] = ACTIONS(3026),
    [anon_sym_BANG_EQ] = ACTIONS(3021),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3026),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3026),
    [anon_sym_LT_EQ] = ACTIONS(3026),
    [anon_sym_GT_EQ] = ACTIONS(3026),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3026),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3026),
    [anon_sym_is] = ACTIONS(3021),
    [anon_sym_PLUS] = ACTIONS(3021),
    [anon_sym_DASH] = ACTIONS(3021),
    [anon_sym_STAR] = ACTIONS(3021),
    [anon_sym_SLASH] = ACTIONS(3021),
    [anon_sym_PERCENT] = ACTIONS(3021),
    [anon_sym_PLUS_PLUS] = ACTIONS(3026),
    [anon_sym_DASH_DASH] = ACTIONS(3026),
    [anon_sym_PIPE] = ACTIONS(3026),
    [anon_sym_CARET] = ACTIONS(3021),
    [anon_sym_LT_LT] = ACTIONS(3026),
    [anon_sym_GT_GT] = ACTIONS(3026),
    [anon_sym_class] = ACTIONS(3021),
    [anon_sym_prefix] = ACTIONS(3021),
    [anon_sym_infix] = ACTIONS(3021),
    [anon_sym_postfix] = ACTIONS(3021),
    [anon_sym_AT] = ACTIONS(3021),
    [anon_sym_override] = ACTIONS(3021),
    [anon_sym_convenience] = ACTIONS(3021),
    [anon_sym_required] = ACTIONS(3021),
    [anon_sym_nonisolated] = ACTIONS(3021),
    [anon_sym_public] = ACTIONS(3021),
    [anon_sym_private] = ACTIONS(3021),
    [anon_sym_internal] = ACTIONS(3021),
    [anon_sym_fileprivate] = ACTIONS(3021),
    [anon_sym_open] = ACTIONS(3021),
    [anon_sym_mutating] = ACTIONS(3021),
    [anon_sym_nonmutating] = ACTIONS(3021),
    [anon_sym_static] = ACTIONS(3021),
    [anon_sym_dynamic] = ACTIONS(3021),
    [anon_sym_optional] = ACTIONS(3021),
    [anon_sym_distributed] = ACTIONS(3021),
    [anon_sym_final] = ACTIONS(3021),
    [anon_sym_inout] = ACTIONS(3021),
    [anon_sym_ATescaping] = ACTIONS(3026),
    [anon_sym_ATautoclosure] = ACTIONS(3026),
    [anon_sym_weak] = ACTIONS(3021),
    [anon_sym_unowned] = ACTIONS(3021),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3026),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3026),
    [anon_sym_borrowing] = ACTIONS(3023),
    [anon_sym_consuming] = ACTIONS(3023),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3026),
    [sym__explicit_semi] = ACTIONS(3026),
    [sym__dot_custom] = ACTIONS(3026),
    [sym__conjunction_operator_custom] = ACTIONS(3026),
    [sym__disjunction_operator_custom] = ACTIONS(3026),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3026),
    [sym__eq_custom] = ACTIONS(3026),
    [sym__eq_eq_custom] = ACTIONS(3026),
    [sym__plus_then_ws] = ACTIONS(3026),
    [sym__minus_then_ws] = ACTIONS(3026),
    [sym__bang_custom] = ACTIONS(3026),
    [sym_default_keyword] = ACTIONS(3026),
    [sym__as_custom] = ACTIONS(3026),
    [sym__as_quest_custom] = ACTIONS(3026),
    [sym__as_bang_custom] = ACTIONS(3026),
    [sym__custom_operator] = ACTIONS(3026),
  },
  [1000] = {
    [sym_simple_identifier] = STATE(8698),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [aux_sym__fn_call_lambda_arguments_repeat1] = STATE(1000),
    [anon_sym_BANG] = ACTIONS(2981),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2983),
    [aux_sym_simple_identifier_token2] = ACTIONS(2986),
    [aux_sym_simple_identifier_token3] = ACTIONS(2986),
    [aux_sym_simple_identifier_token4] = ACTIONS(2986),
    [anon_sym_actor] = ACTIONS(2983),
    [anon_sym_async] = ACTIONS(2983),
    [anon_sym_each] = ACTIONS(2983),
    [anon_sym_lazy] = ACTIONS(2983),
    [anon_sym_repeat] = ACTIONS(2983),
    [anon_sym_package] = ACTIONS(2983),
    [anon_sym_COMMA] = ACTIONS(2989),
    [anon_sym_LPAREN] = ACTIONS(2989),
    [anon_sym_LBRACK] = ACTIONS(2989),
    [anon_sym_QMARK] = ACTIONS(2981),
    [anon_sym_QMARK2] = ACTIONS(2989),
    [anon_sym_AMP] = ACTIONS(2989),
    [aux_sym_custom_operator_token1] = ACTIONS(2989),
    [anon_sym_LT] = ACTIONS(2981),
    [anon_sym_GT] = ACTIONS(2981),
    [anon_sym_LBRACE] = ACTIONS(2989),
    [anon_sym_CARET_LBRACE] = ACTIONS(2989),
    [anon_sym_RBRACE] = ACTIONS(2989),
    [anon_sym_case] = ACTIONS(2981),
    [anon_sym_fallthrough] = ACTIONS(2981),
    [anon_sym_PLUS_EQ] = ACTIONS(2989),
    [anon_sym_DASH_EQ] = ACTIONS(2989),
    [anon_sym_STAR_EQ] = ACTIONS(2989),
    [anon_sym_SLASH_EQ] = ACTIONS(2989),
    [anon_sym_PERCENT_EQ] = ACTIONS(2989),
    [anon_sym_BANG_EQ] = ACTIONS(2981),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2989),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2989),
    [anon_sym_LT_EQ] = ACTIONS(2989),
    [anon_sym_GT_EQ] = ACTIONS(2989),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2989),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2989),
    [anon_sym_is] = ACTIONS(2981),
    [anon_sym_PLUS] = ACTIONS(2981),
    [anon_sym_DASH] = ACTIONS(2981),
    [anon_sym_STAR] = ACTIONS(2981),
    [anon_sym_SLASH] = ACTIONS(2981),
    [anon_sym_PERCENT] = ACTIONS(2981),
    [anon_sym_PLUS_PLUS] = ACTIONS(2989),
    [anon_sym_DASH_DASH] = ACTIONS(2989),
    [anon_sym_PIPE] = ACTIONS(2989),
    [anon_sym_CARET] = ACTIONS(2981),
    [anon_sym_LT_LT] = ACTIONS(2989),
    [anon_sym_GT_GT] = ACTIONS(2989),
    [anon_sym_class] = ACTIONS(2981),
    [anon_sym_prefix] = ACTIONS(2981),
    [anon_sym_infix] = ACTIONS(2981),
    [anon_sym_postfix] = ACTIONS(2981),
    [anon_sym_AT] = ACTIONS(2981),
    [anon_sym_override] = ACTIONS(2981),
    [anon_sym_convenience] = ACTIONS(2981),
    [anon_sym_required] = ACTIONS(2981),
    [anon_sym_nonisolated] = ACTIONS(2981),
    [anon_sym_public] = ACTIONS(2981),
    [anon_sym_private] = ACTIONS(2981),
    [anon_sym_internal] = ACTIONS(2981),
    [anon_sym_fileprivate] = ACTIONS(2981),
    [anon_sym_open] = ACTIONS(2981),
    [anon_sym_mutating] = ACTIONS(2981),
    [anon_sym_nonmutating] = ACTIONS(2981),
    [anon_sym_static] = ACTIONS(2981),
    [anon_sym_dynamic] = ACTIONS(2981),
    [anon_sym_optional] = ACTIONS(2981),
    [anon_sym_distributed] = ACTIONS(2981),
    [anon_sym_final] = ACTIONS(2981),
    [anon_sym_inout] = ACTIONS(2981),
    [anon_sym_ATescaping] = ACTIONS(2989),
    [anon_sym_ATautoclosure] = ACTIONS(2989),
    [anon_sym_weak] = ACTIONS(2981),
    [anon_sym_unowned] = ACTIONS(2981),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2989),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2989),
    [anon_sym_borrowing] = ACTIONS(2983),
    [anon_sym_consuming] = ACTIONS(2983),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2989),
    [sym__explicit_semi] = ACTIONS(2989),
    [sym__dot_custom] = ACTIONS(2989),
    [sym__conjunction_operator_custom] = ACTIONS(2989),
    [sym__disjunction_operator_custom] = ACTIONS(2989),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2989),
    [sym__eq_custom] = ACTIONS(2989),
    [sym__eq_eq_custom] = ACTIONS(2989),
    [sym__plus_then_ws] = ACTIONS(2989),
    [sym__minus_then_ws] = ACTIONS(2989),
    [sym__bang_custom] = ACTIONS(2989),
    [sym_default_keyword] = ACTIONS(2989),
    [sym__as_custom] = ACTIONS(2989),
    [sym__as_quest_custom] = ACTIONS(2989),
    [sym__as_bang_custom] = ACTIONS(2989),
    [sym__custom_operator] = ACTIONS(2989),
  },
  [1001] = {
    [sym_simple_identifier] = STATE(8698),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [aux_sym__fn_call_lambda_arguments_repeat1] = STATE(999),
    [anon_sym_BANG] = ACTIONS(3010),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3012),
    [aux_sym_simple_identifier_token2] = ACTIONS(3014),
    [aux_sym_simple_identifier_token3] = ACTIONS(3014),
    [aux_sym_simple_identifier_token4] = ACTIONS(3014),
    [anon_sym_actor] = ACTIONS(3012),
    [anon_sym_async] = ACTIONS(3012),
    [anon_sym_each] = ACTIONS(3012),
    [anon_sym_lazy] = ACTIONS(3016),
    [anon_sym_repeat] = ACTIONS(3012),
    [anon_sym_package] = ACTIONS(3016),
    [anon_sym_COMMA] = ACTIONS(3019),
    [anon_sym_LPAREN] = ACTIONS(3019),
    [anon_sym_LBRACK] = ACTIONS(3019),
    [anon_sym_QMARK] = ACTIONS(3010),
    [anon_sym_QMARK2] = ACTIONS(3019),
    [anon_sym_AMP] = ACTIONS(3019),
    [aux_sym_custom_operator_token1] = ACTIONS(3019),
    [anon_sym_LT] = ACTIONS(3010),
    [anon_sym_GT] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(3019),
    [anon_sym_CARET_LBRACE] = ACTIONS(3019),
    [anon_sym_RBRACE] = ACTIONS(3019),
    [anon_sym_case] = ACTIONS(3010),
    [anon_sym_fallthrough] = ACTIONS(3010),
    [anon_sym_PLUS_EQ] = ACTIONS(3019),
    [anon_sym_DASH_EQ] = ACTIONS(3019),
    [anon_sym_STAR_EQ] = ACTIONS(3019),
    [anon_sym_SLASH_EQ] = ACTIONS(3019),
    [anon_sym_PERCENT_EQ] = ACTIONS(3019),
    [anon_sym_BANG_EQ] = ACTIONS(3010),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3019),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3019),
    [anon_sym_LT_EQ] = ACTIONS(3019),
    [anon_sym_GT_EQ] = ACTIONS(3019),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3019),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3019),
    [anon_sym_is] = ACTIONS(3010),
    [anon_sym_PLUS] = ACTIONS(3010),
    [anon_sym_DASH] = ACTIONS(3010),
    [anon_sym_STAR] = ACTIONS(3010),
    [anon_sym_SLASH] = ACTIONS(3010),
    [anon_sym_PERCENT] = ACTIONS(3010),
    [anon_sym_PLUS_PLUS] = ACTIONS(3019),
    [anon_sym_DASH_DASH] = ACTIONS(3019),
    [anon_sym_PIPE] = ACTIONS(3019),
    [anon_sym_CARET] = ACTIONS(3010),
    [anon_sym_LT_LT] = ACTIONS(3019),
    [anon_sym_GT_GT] = ACTIONS(3019),
    [anon_sym_class] = ACTIONS(3010),
    [anon_sym_prefix] = ACTIONS(3010),
    [anon_sym_infix] = ACTIONS(3010),
    [anon_sym_postfix] = ACTIONS(3010),
    [anon_sym_AT] = ACTIONS(3010),
    [anon_sym_override] = ACTIONS(3010),
    [anon_sym_convenience] = ACTIONS(3010),
    [anon_sym_required] = ACTIONS(3010),
    [anon_sym_nonisolated] = ACTIONS(3010),
    [anon_sym_public] = ACTIONS(3010),
    [anon_sym_private] = ACTIONS(3010),
    [anon_sym_internal] = ACTIONS(3010),
    [anon_sym_fileprivate] = ACTIONS(3010),
    [anon_sym_open] = ACTIONS(3010),
    [anon_sym_mutating] = ACTIONS(3010),
    [anon_sym_nonmutating] = ACTIONS(3010),
    [anon_sym_static] = ACTIONS(3010),
    [anon_sym_dynamic] = ACTIONS(3010),
    [anon_sym_optional] = ACTIONS(3010),
    [anon_sym_distributed] = ACTIONS(3010),
    [anon_sym_final] = ACTIONS(3010),
    [anon_sym_inout] = ACTIONS(3010),
    [anon_sym_ATescaping] = ACTIONS(3019),
    [anon_sym_ATautoclosure] = ACTIONS(3019),
    [anon_sym_weak] = ACTIONS(3010),
    [anon_sym_unowned] = ACTIONS(3010),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3019),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3019),
    [anon_sym_borrowing] = ACTIONS(3016),
    [anon_sym_consuming] = ACTIONS(3016),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3019),
    [sym__explicit_semi] = ACTIONS(3019),
    [sym__dot_custom] = ACTIONS(3019),
    [sym__conjunction_operator_custom] = ACTIONS(3019),
    [sym__disjunction_operator_custom] = ACTIONS(3019),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3019),
    [sym__eq_custom] = ACTIONS(3019),
    [sym__eq_eq_custom] = ACTIONS(3019),
    [sym__plus_then_ws] = ACTIONS(3019),
    [sym__minus_then_ws] = ACTIONS(3019),
    [sym__bang_custom] = ACTIONS(3019),
    [sym_default_keyword] = ACTIONS(3019),
    [sym__as_custom] = ACTIONS(3019),
    [sym__as_quest_custom] = ACTIONS(3019),
    [sym__as_bang_custom] = ACTIONS(3019),
    [sym__custom_operator] = ACTIONS(3019),
  },
  [1002] = {
    [sym__immediate_quest] = STATE(1039),
    [sym__arrow_operator] = STATE(4136),
    [sym__async_keyword] = STATE(6975),
    [sym_throws] = STATE(8363),
    [aux_sym_optional_type_repeat1] = STATE(1039),
    [anon_sym_BANG] = ACTIONS(2998),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3000),
    [anon_sym_package] = ACTIONS(3000),
    [anon_sym_COMMA] = ACTIONS(3000),
    [anon_sym_LPAREN] = ACTIONS(3000),
    [anon_sym_LBRACK] = ACTIONS(3000),
    [anon_sym_DOT] = ACTIONS(2998),
    [anon_sym_QMARK] = ACTIONS(2998),
    [anon_sym_QMARK2] = ACTIONS(3745),
    [anon_sym_AMP] = ACTIONS(3000),
    [aux_sym_custom_operator_token1] = ACTIONS(3000),
    [anon_sym_LT] = ACTIONS(2998),
    [anon_sym_GT] = ACTIONS(2998),
    [anon_sym_LBRACE] = ACTIONS(3000),
    [anon_sym_CARET_LBRACE] = ACTIONS(3000),
    [anon_sym_RBRACE] = ACTIONS(3000),
    [anon_sym_case] = ACTIONS(3000),
    [anon_sym_fallthrough] = ACTIONS(3000),
    [anon_sym_PLUS_EQ] = ACTIONS(3000),
    [anon_sym_DASH_EQ] = ACTIONS(3000),
    [anon_sym_STAR_EQ] = ACTIONS(3000),
    [anon_sym_SLASH_EQ] = ACTIONS(3000),
    [anon_sym_PERCENT_EQ] = ACTIONS(3000),
    [anon_sym_BANG_EQ] = ACTIONS(2998),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3000),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3000),
    [anon_sym_LT_EQ] = ACTIONS(3000),
    [anon_sym_GT_EQ] = ACTIONS(3000),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3000),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3000),
    [anon_sym_is] = ACTIONS(3000),
    [anon_sym_PLUS] = ACTIONS(2998),
    [anon_sym_DASH] = ACTIONS(2998),
    [anon_sym_STAR] = ACTIONS(2998),
    [anon_sym_SLASH] = ACTIONS(2998),
    [anon_sym_PERCENT] = ACTIONS(2998),
    [anon_sym_PLUS_PLUS] = ACTIONS(3000),
    [anon_sym_DASH_DASH] = ACTIONS(3000),
    [anon_sym_PIPE] = ACTIONS(3000),
    [anon_sym_CARET] = ACTIONS(2998),
    [anon_sym_LT_LT] = ACTIONS(3000),
    [anon_sym_GT_GT] = ACTIONS(3000),
    [anon_sym_class] = ACTIONS(3000),
    [anon_sym_prefix] = ACTIONS(3000),
    [anon_sym_infix] = ACTIONS(3000),
    [anon_sym_postfix] = ACTIONS(3000),
    [anon_sym_AT] = ACTIONS(2998),
    [anon_sym_override] = ACTIONS(3000),
    [anon_sym_convenience] = ACTIONS(3000),
    [anon_sym_required] = ACTIONS(3000),
    [anon_sym_nonisolated] = ACTIONS(3000),
    [anon_sym_public] = ACTIONS(3000),
    [anon_sym_private] = ACTIONS(3000),
    [anon_sym_internal] = ACTIONS(3000),
    [anon_sym_fileprivate] = ACTIONS(3000),
    [anon_sym_open] = ACTIONS(3000),
    [anon_sym_mutating] = ACTIONS(3000),
    [anon_sym_nonmutating] = ACTIONS(3000),
    [anon_sym_static] = ACTIONS(3000),
    [anon_sym_dynamic] = ACTIONS(3000),
    [anon_sym_optional] = ACTIONS(3000),
    [anon_sym_distributed] = ACTIONS(3000),
    [anon_sym_final] = ACTIONS(3000),
    [anon_sym_inout] = ACTIONS(3000),
    [anon_sym_ATescaping] = ACTIONS(3000),
    [anon_sym_ATautoclosure] = ACTIONS(3000),
    [anon_sym_weak] = ACTIONS(3000),
    [anon_sym_unowned] = ACTIONS(2998),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3000),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3000),
    [anon_sym_borrowing] = ACTIONS(3000),
    [anon_sym_consuming] = ACTIONS(3000),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3000),
    [sym__explicit_semi] = ACTIONS(3000),
    [sym__arrow_operator_custom] = ACTIONS(3747),
    [sym__dot_custom] = ACTIONS(3000),
    [sym__conjunction_operator_custom] = ACTIONS(3000),
    [sym__disjunction_operator_custom] = ACTIONS(3000),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3000),
    [sym__eq_custom] = ACTIONS(3000),
    [sym__eq_eq_custom] = ACTIONS(3000),
    [sym__plus_then_ws] = ACTIONS(3000),
    [sym__minus_then_ws] = ACTIONS(3000),
    [sym__bang_custom] = ACTIONS(3000),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym_default_keyword] = ACTIONS(3000),
    [sym_where_keyword] = ACTIONS(3000),
    [sym__as_custom] = ACTIONS(3000),
    [sym__as_quest_custom] = ACTIONS(3000),
    [sym__as_bang_custom] = ACTIONS(3000),
    [sym__async_keyword_custom] = ACTIONS(3749),
    [sym__custom_operator] = ACTIONS(3000),
  },
  [1003] = {
    [sym__arrow_operator] = STATE(4136),
    [sym__async_keyword] = STATE(6975),
    [sym_throws] = STATE(8363),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1044),
    [anon_sym_BANG] = ACTIONS(3053),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3055),
    [anon_sym_package] = ACTIONS(3055),
    [anon_sym_COMMA] = ACTIONS(3055),
    [anon_sym_LPAREN] = ACTIONS(3055),
    [anon_sym_LBRACK] = ACTIONS(3055),
    [anon_sym_DOT] = ACTIONS(3751),
    [anon_sym_QMARK] = ACTIONS(3053),
    [anon_sym_QMARK2] = ACTIONS(3055),
    [anon_sym_AMP] = ACTIONS(3753),
    [aux_sym_custom_operator_token1] = ACTIONS(3055),
    [anon_sym_LT] = ACTIONS(3053),
    [anon_sym_GT] = ACTIONS(3053),
    [anon_sym_LBRACE] = ACTIONS(3055),
    [anon_sym_CARET_LBRACE] = ACTIONS(3055),
    [anon_sym_RBRACE] = ACTIONS(3055),
    [anon_sym_case] = ACTIONS(3055),
    [anon_sym_fallthrough] = ACTIONS(3055),
    [anon_sym_PLUS_EQ] = ACTIONS(3055),
    [anon_sym_DASH_EQ] = ACTIONS(3055),
    [anon_sym_STAR_EQ] = ACTIONS(3055),
    [anon_sym_SLASH_EQ] = ACTIONS(3055),
    [anon_sym_PERCENT_EQ] = ACTIONS(3055),
    [anon_sym_BANG_EQ] = ACTIONS(3053),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3055),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3055),
    [anon_sym_LT_EQ] = ACTIONS(3055),
    [anon_sym_GT_EQ] = ACTIONS(3055),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3055),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3055),
    [anon_sym_is] = ACTIONS(3055),
    [anon_sym_PLUS] = ACTIONS(3053),
    [anon_sym_DASH] = ACTIONS(3053),
    [anon_sym_STAR] = ACTIONS(3053),
    [anon_sym_SLASH] = ACTIONS(3053),
    [anon_sym_PERCENT] = ACTIONS(3053),
    [anon_sym_PLUS_PLUS] = ACTIONS(3055),
    [anon_sym_DASH_DASH] = ACTIONS(3055),
    [anon_sym_PIPE] = ACTIONS(3055),
    [anon_sym_CARET] = ACTIONS(3053),
    [anon_sym_LT_LT] = ACTIONS(3055),
    [anon_sym_GT_GT] = ACTIONS(3055),
    [anon_sym_class] = ACTIONS(3055),
    [anon_sym_prefix] = ACTIONS(3055),
    [anon_sym_infix] = ACTIONS(3055),
    [anon_sym_postfix] = ACTIONS(3055),
    [anon_sym_AT] = ACTIONS(3053),
    [anon_sym_override] = ACTIONS(3055),
    [anon_sym_convenience] = ACTIONS(3055),
    [anon_sym_required] = ACTIONS(3055),
    [anon_sym_nonisolated] = ACTIONS(3055),
    [anon_sym_public] = ACTIONS(3055),
    [anon_sym_private] = ACTIONS(3055),
    [anon_sym_internal] = ACTIONS(3055),
    [anon_sym_fileprivate] = ACTIONS(3055),
    [anon_sym_open] = ACTIONS(3055),
    [anon_sym_mutating] = ACTIONS(3055),
    [anon_sym_nonmutating] = ACTIONS(3055),
    [anon_sym_static] = ACTIONS(3055),
    [anon_sym_dynamic] = ACTIONS(3055),
    [anon_sym_optional] = ACTIONS(3055),
    [anon_sym_distributed] = ACTIONS(3055),
    [anon_sym_final] = ACTIONS(3055),
    [anon_sym_inout] = ACTIONS(3055),
    [anon_sym_ATescaping] = ACTIONS(3055),
    [anon_sym_ATautoclosure] = ACTIONS(3055),
    [anon_sym_weak] = ACTIONS(3055),
    [anon_sym_unowned] = ACTIONS(3053),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3055),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3055),
    [anon_sym_borrowing] = ACTIONS(3055),
    [anon_sym_consuming] = ACTIONS(3055),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3055),
    [sym__explicit_semi] = ACTIONS(3055),
    [sym__arrow_operator_custom] = ACTIONS(3747),
    [sym__dot_custom] = ACTIONS(3055),
    [sym__conjunction_operator_custom] = ACTIONS(3055),
    [sym__disjunction_operator_custom] = ACTIONS(3055),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3055),
    [sym__eq_custom] = ACTIONS(3055),
    [sym__eq_eq_custom] = ACTIONS(3055),
    [sym__plus_then_ws] = ACTIONS(3055),
    [sym__minus_then_ws] = ACTIONS(3055),
    [sym__bang_custom] = ACTIONS(3055),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym_default_keyword] = ACTIONS(3055),
    [sym_where_keyword] = ACTIONS(3055),
    [sym__as_custom] = ACTIONS(3055),
    [sym__as_quest_custom] = ACTIONS(3055),
    [sym__as_bang_custom] = ACTIONS(3055),
    [sym__async_keyword_custom] = ACTIONS(3749),
    [sym__custom_operator] = ACTIONS(3055),
  },
  [1004] = {
    [sym_simple_identifier] = STATE(6621),
    [sym__contextual_simple_identifier] = STATE(6812),
    [sym__parameter_ownership_modifier] = STATE(6812),
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3755),
    [aux_sym_simple_identifier_token2] = ACTIONS(3757),
    [aux_sym_simple_identifier_token3] = ACTIONS(3757),
    [aux_sym_simple_identifier_token4] = ACTIONS(3757),
    [anon_sym_actor] = ACTIONS(3755),
    [anon_sym_async] = ACTIONS(3755),
    [anon_sym_each] = ACTIONS(3755),
    [anon_sym_lazy] = ACTIONS(3759),
    [anon_sym_repeat] = ACTIONS(3755),
    [anon_sym_package] = ACTIONS(3759),
    [anon_sym_LPAREN] = ACTIONS(617),
    [anon_sym_LBRACK] = ACTIONS(617),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(617),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_case] = ACTIONS(623),
    [anon_sym_fallthrough] = ACTIONS(623),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_class] = ACTIONS(623),
    [anon_sym_prefix] = ACTIONS(623),
    [anon_sym_infix] = ACTIONS(623),
    [anon_sym_postfix] = ACTIONS(623),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(623),
    [anon_sym_convenience] = ACTIONS(623),
    [anon_sym_required] = ACTIONS(623),
    [anon_sym_nonisolated] = ACTIONS(623),
    [anon_sym_public] = ACTIONS(623),
    [anon_sym_private] = ACTIONS(623),
    [anon_sym_internal] = ACTIONS(623),
    [anon_sym_fileprivate] = ACTIONS(623),
    [anon_sym_open] = ACTIONS(623),
    [anon_sym_mutating] = ACTIONS(623),
    [anon_sym_nonmutating] = ACTIONS(623),
    [anon_sym_static] = ACTIONS(623),
    [anon_sym_dynamic] = ACTIONS(623),
    [anon_sym_optional] = ACTIONS(623),
    [anon_sym_distributed] = ACTIONS(623),
    [anon_sym_final] = ACTIONS(623),
    [anon_sym_inout] = ACTIONS(623),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(623),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(3759),
    [anon_sym_consuming] = ACTIONS(3759),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym_default_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [1005] = {
    [sym__arrow_operator] = STATE(4136),
    [sym__async_keyword] = STATE(6975),
    [sym_throws] = STATE(8363),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1044),
    [anon_sym_BANG] = ACTIONS(3077),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3079),
    [anon_sym_package] = ACTIONS(3079),
    [anon_sym_COMMA] = ACTIONS(3079),
    [anon_sym_LPAREN] = ACTIONS(3079),
    [anon_sym_LBRACK] = ACTIONS(3079),
    [anon_sym_DOT] = ACTIONS(3751),
    [anon_sym_QMARK] = ACTIONS(3077),
    [anon_sym_QMARK2] = ACTIONS(3079),
    [anon_sym_AMP] = ACTIONS(3753),
    [aux_sym_custom_operator_token1] = ACTIONS(3079),
    [anon_sym_LT] = ACTIONS(3077),
    [anon_sym_GT] = ACTIONS(3077),
    [anon_sym_LBRACE] = ACTIONS(3079),
    [anon_sym_CARET_LBRACE] = ACTIONS(3079),
    [anon_sym_RBRACE] = ACTIONS(3079),
    [anon_sym_case] = ACTIONS(3079),
    [anon_sym_fallthrough] = ACTIONS(3079),
    [anon_sym_PLUS_EQ] = ACTIONS(3079),
    [anon_sym_DASH_EQ] = ACTIONS(3079),
    [anon_sym_STAR_EQ] = ACTIONS(3079),
    [anon_sym_SLASH_EQ] = ACTIONS(3079),
    [anon_sym_PERCENT_EQ] = ACTIONS(3079),
    [anon_sym_BANG_EQ] = ACTIONS(3077),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3079),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3079),
    [anon_sym_LT_EQ] = ACTIONS(3079),
    [anon_sym_GT_EQ] = ACTIONS(3079),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3079),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3079),
    [anon_sym_is] = ACTIONS(3079),
    [anon_sym_PLUS] = ACTIONS(3077),
    [anon_sym_DASH] = ACTIONS(3077),
    [anon_sym_STAR] = ACTIONS(3077),
    [anon_sym_SLASH] = ACTIONS(3077),
    [anon_sym_PERCENT] = ACTIONS(3077),
    [anon_sym_PLUS_PLUS] = ACTIONS(3079),
    [anon_sym_DASH_DASH] = ACTIONS(3079),
    [anon_sym_PIPE] = ACTIONS(3079),
    [anon_sym_CARET] = ACTIONS(3077),
    [anon_sym_LT_LT] = ACTIONS(3079),
    [anon_sym_GT_GT] = ACTIONS(3079),
    [anon_sym_class] = ACTIONS(3079),
    [anon_sym_prefix] = ACTIONS(3079),
    [anon_sym_infix] = ACTIONS(3079),
    [anon_sym_postfix] = ACTIONS(3079),
    [anon_sym_AT] = ACTIONS(3077),
    [anon_sym_override] = ACTIONS(3079),
    [anon_sym_convenience] = ACTIONS(3079),
    [anon_sym_required] = ACTIONS(3079),
    [anon_sym_nonisolated] = ACTIONS(3079),
    [anon_sym_public] = ACTIONS(3079),
    [anon_sym_private] = ACTIONS(3079),
    [anon_sym_internal] = ACTIONS(3079),
    [anon_sym_fileprivate] = ACTIONS(3079),
    [anon_sym_open] = ACTIONS(3079),
    [anon_sym_mutating] = ACTIONS(3079),
    [anon_sym_nonmutating] = ACTIONS(3079),
    [anon_sym_static] = ACTIONS(3079),
    [anon_sym_dynamic] = ACTIONS(3079),
    [anon_sym_optional] = ACTIONS(3079),
    [anon_sym_distributed] = ACTIONS(3079),
    [anon_sym_final] = ACTIONS(3079),
    [anon_sym_inout] = ACTIONS(3079),
    [anon_sym_ATescaping] = ACTIONS(3079),
    [anon_sym_ATautoclosure] = ACTIONS(3079),
    [anon_sym_weak] = ACTIONS(3079),
    [anon_sym_unowned] = ACTIONS(3077),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3079),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3079),
    [anon_sym_borrowing] = ACTIONS(3079),
    [anon_sym_consuming] = ACTIONS(3079),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3079),
    [sym__explicit_semi] = ACTIONS(3079),
    [sym__arrow_operator_custom] = ACTIONS(3747),
    [sym__dot_custom] = ACTIONS(3079),
    [sym__conjunction_operator_custom] = ACTIONS(3079),
    [sym__disjunction_operator_custom] = ACTIONS(3079),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3079),
    [sym__eq_custom] = ACTIONS(3079),
    [sym__eq_eq_custom] = ACTIONS(3079),
    [sym__plus_then_ws] = ACTIONS(3079),
    [sym__minus_then_ws] = ACTIONS(3079),
    [sym__bang_custom] = ACTIONS(3079),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym_default_keyword] = ACTIONS(3079),
    [sym_where_keyword] = ACTIONS(3079),
    [sym__as_custom] = ACTIONS(3079),
    [sym__as_quest_custom] = ACTIONS(3079),
    [sym__as_bang_custom] = ACTIONS(3079),
    [sym__async_keyword_custom] = ACTIONS(3749),
    [sym__custom_operator] = ACTIONS(3079),
  },
  [1006] = {
    [sym__arrow_operator] = STATE(4136),
    [sym__async_keyword] = STATE(6975),
    [sym_throws] = STATE(8363),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1044),
    [anon_sym_BANG] = ACTIONS(3073),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3075),
    [anon_sym_package] = ACTIONS(3075),
    [anon_sym_COMMA] = ACTIONS(3075),
    [anon_sym_LPAREN] = ACTIONS(3075),
    [anon_sym_LBRACK] = ACTIONS(3075),
    [anon_sym_DOT] = ACTIONS(3751),
    [anon_sym_QMARK] = ACTIONS(3073),
    [anon_sym_QMARK2] = ACTIONS(3075),
    [anon_sym_AMP] = ACTIONS(3753),
    [aux_sym_custom_operator_token1] = ACTIONS(3075),
    [anon_sym_LT] = ACTIONS(3073),
    [anon_sym_GT] = ACTIONS(3073),
    [anon_sym_LBRACE] = ACTIONS(3075),
    [anon_sym_CARET_LBRACE] = ACTIONS(3075),
    [anon_sym_RBRACE] = ACTIONS(3075),
    [anon_sym_case] = ACTIONS(3075),
    [anon_sym_fallthrough] = ACTIONS(3075),
    [anon_sym_PLUS_EQ] = ACTIONS(3075),
    [anon_sym_DASH_EQ] = ACTIONS(3075),
    [anon_sym_STAR_EQ] = ACTIONS(3075),
    [anon_sym_SLASH_EQ] = ACTIONS(3075),
    [anon_sym_PERCENT_EQ] = ACTIONS(3075),
    [anon_sym_BANG_EQ] = ACTIONS(3073),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3075),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3075),
    [anon_sym_LT_EQ] = ACTIONS(3075),
    [anon_sym_GT_EQ] = ACTIONS(3075),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3075),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3075),
    [anon_sym_is] = ACTIONS(3075),
    [anon_sym_PLUS] = ACTIONS(3073),
    [anon_sym_DASH] = ACTIONS(3073),
    [anon_sym_STAR] = ACTIONS(3073),
    [anon_sym_SLASH] = ACTIONS(3073),
    [anon_sym_PERCENT] = ACTIONS(3073),
    [anon_sym_PLUS_PLUS] = ACTIONS(3075),
    [anon_sym_DASH_DASH] = ACTIONS(3075),
    [anon_sym_PIPE] = ACTIONS(3075),
    [anon_sym_CARET] = ACTIONS(3073),
    [anon_sym_LT_LT] = ACTIONS(3075),
    [anon_sym_GT_GT] = ACTIONS(3075),
    [anon_sym_class] = ACTIONS(3075),
    [anon_sym_prefix] = ACTIONS(3075),
    [anon_sym_infix] = ACTIONS(3075),
    [anon_sym_postfix] = ACTIONS(3075),
    [anon_sym_AT] = ACTIONS(3073),
    [anon_sym_override] = ACTIONS(3075),
    [anon_sym_convenience] = ACTIONS(3075),
    [anon_sym_required] = ACTIONS(3075),
    [anon_sym_nonisolated] = ACTIONS(3075),
    [anon_sym_public] = ACTIONS(3075),
    [anon_sym_private] = ACTIONS(3075),
    [anon_sym_internal] = ACTIONS(3075),
    [anon_sym_fileprivate] = ACTIONS(3075),
    [anon_sym_open] = ACTIONS(3075),
    [anon_sym_mutating] = ACTIONS(3075),
    [anon_sym_nonmutating] = ACTIONS(3075),
    [anon_sym_static] = ACTIONS(3075),
    [anon_sym_dynamic] = ACTIONS(3075),
    [anon_sym_optional] = ACTIONS(3075),
    [anon_sym_distributed] = ACTIONS(3075),
    [anon_sym_final] = ACTIONS(3075),
    [anon_sym_inout] = ACTIONS(3075),
    [anon_sym_ATescaping] = ACTIONS(3075),
    [anon_sym_ATautoclosure] = ACTIONS(3075),
    [anon_sym_weak] = ACTIONS(3075),
    [anon_sym_unowned] = ACTIONS(3073),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3075),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3075),
    [anon_sym_borrowing] = ACTIONS(3075),
    [anon_sym_consuming] = ACTIONS(3075),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3075),
    [sym__explicit_semi] = ACTIONS(3075),
    [sym__arrow_operator_custom] = ACTIONS(3747),
    [sym__dot_custom] = ACTIONS(3075),
    [sym__conjunction_operator_custom] = ACTIONS(3075),
    [sym__disjunction_operator_custom] = ACTIONS(3075),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3075),
    [sym__eq_custom] = ACTIONS(3075),
    [sym__eq_eq_custom] = ACTIONS(3075),
    [sym__plus_then_ws] = ACTIONS(3075),
    [sym__minus_then_ws] = ACTIONS(3075),
    [sym__bang_custom] = ACTIONS(3075),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym_default_keyword] = ACTIONS(3075),
    [sym_where_keyword] = ACTIONS(3075),
    [sym__as_custom] = ACTIONS(3075),
    [sym__as_quest_custom] = ACTIONS(3075),
    [sym__as_bang_custom] = ACTIONS(3075),
    [sym__async_keyword_custom] = ACTIONS(3749),
    [sym__custom_operator] = ACTIONS(3075),
  },
  [1007] = {
    [sym__arrow_operator] = STATE(4136),
    [sym__async_keyword] = STATE(6975),
    [sym_throws] = STATE(8363),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1044),
    [anon_sym_BANG] = ACTIONS(3069),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3071),
    [anon_sym_package] = ACTIONS(3071),
    [anon_sym_COMMA] = ACTIONS(3071),
    [anon_sym_LPAREN] = ACTIONS(3071),
    [anon_sym_LBRACK] = ACTIONS(3071),
    [anon_sym_DOT] = ACTIONS(3069),
    [anon_sym_QMARK] = ACTIONS(3069),
    [anon_sym_QMARK2] = ACTIONS(3071),
    [anon_sym_AMP] = ACTIONS(3071),
    [aux_sym_custom_operator_token1] = ACTIONS(3071),
    [anon_sym_LT] = ACTIONS(3069),
    [anon_sym_GT] = ACTIONS(3069),
    [anon_sym_LBRACE] = ACTIONS(3071),
    [anon_sym_CARET_LBRACE] = ACTIONS(3071),
    [anon_sym_RBRACE] = ACTIONS(3071),
    [anon_sym_case] = ACTIONS(3071),
    [anon_sym_fallthrough] = ACTIONS(3071),
    [anon_sym_PLUS_EQ] = ACTIONS(3071),
    [anon_sym_DASH_EQ] = ACTIONS(3071),
    [anon_sym_STAR_EQ] = ACTIONS(3071),
    [anon_sym_SLASH_EQ] = ACTIONS(3071),
    [anon_sym_PERCENT_EQ] = ACTIONS(3071),
    [anon_sym_BANG_EQ] = ACTIONS(3069),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3071),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3071),
    [anon_sym_LT_EQ] = ACTIONS(3071),
    [anon_sym_GT_EQ] = ACTIONS(3071),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3071),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3071),
    [anon_sym_is] = ACTIONS(3071),
    [anon_sym_PLUS] = ACTIONS(3069),
    [anon_sym_DASH] = ACTIONS(3069),
    [anon_sym_STAR] = ACTIONS(3069),
    [anon_sym_SLASH] = ACTIONS(3069),
    [anon_sym_PERCENT] = ACTIONS(3069),
    [anon_sym_PLUS_PLUS] = ACTIONS(3071),
    [anon_sym_DASH_DASH] = ACTIONS(3071),
    [anon_sym_PIPE] = ACTIONS(3071),
    [anon_sym_CARET] = ACTIONS(3069),
    [anon_sym_LT_LT] = ACTIONS(3071),
    [anon_sym_GT_GT] = ACTIONS(3071),
    [anon_sym_class] = ACTIONS(3071),
    [anon_sym_prefix] = ACTIONS(3071),
    [anon_sym_infix] = ACTIONS(3071),
    [anon_sym_postfix] = ACTIONS(3071),
    [anon_sym_AT] = ACTIONS(3069),
    [anon_sym_override] = ACTIONS(3071),
    [anon_sym_convenience] = ACTIONS(3071),
    [anon_sym_required] = ACTIONS(3071),
    [anon_sym_nonisolated] = ACTIONS(3071),
    [anon_sym_public] = ACTIONS(3071),
    [anon_sym_private] = ACTIONS(3071),
    [anon_sym_internal] = ACTIONS(3071),
    [anon_sym_fileprivate] = ACTIONS(3071),
    [anon_sym_open] = ACTIONS(3071),
    [anon_sym_mutating] = ACTIONS(3071),
    [anon_sym_nonmutating] = ACTIONS(3071),
    [anon_sym_static] = ACTIONS(3071),
    [anon_sym_dynamic] = ACTIONS(3071),
    [anon_sym_optional] = ACTIONS(3071),
    [anon_sym_distributed] = ACTIONS(3071),
    [anon_sym_final] = ACTIONS(3071),
    [anon_sym_inout] = ACTIONS(3071),
    [anon_sym_ATescaping] = ACTIONS(3071),
    [anon_sym_ATautoclosure] = ACTIONS(3071),
    [anon_sym_weak] = ACTIONS(3071),
    [anon_sym_unowned] = ACTIONS(3069),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3071),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3071),
    [anon_sym_borrowing] = ACTIONS(3071),
    [anon_sym_consuming] = ACTIONS(3071),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3071),
    [sym__explicit_semi] = ACTIONS(3071),
    [sym__arrow_operator_custom] = ACTIONS(3071),
    [sym__dot_custom] = ACTIONS(3071),
    [sym__conjunction_operator_custom] = ACTIONS(3071),
    [sym__disjunction_operator_custom] = ACTIONS(3071),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3071),
    [sym__eq_custom] = ACTIONS(3071),
    [sym__eq_eq_custom] = ACTIONS(3071),
    [sym__plus_then_ws] = ACTIONS(3071),
    [sym__minus_then_ws] = ACTIONS(3071),
    [sym__bang_custom] = ACTIONS(3071),
    [sym__throws_keyword] = ACTIONS(3071),
    [sym__rethrows_keyword] = ACTIONS(3071),
    [sym_default_keyword] = ACTIONS(3071),
    [sym_where_keyword] = ACTIONS(3071),
    [sym__as_custom] = ACTIONS(3071),
    [sym__as_quest_custom] = ACTIONS(3071),
    [sym__as_bang_custom] = ACTIONS(3071),
    [sym__async_keyword_custom] = ACTIONS(3071),
    [sym__custom_operator] = ACTIONS(3071),
  },
  [1008] = {
    [sym__arrow_operator] = STATE(4136),
    [sym__async_keyword] = STATE(6975),
    [sym_throws] = STATE(8363),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1044),
    [anon_sym_BANG] = ACTIONS(3061),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3063),
    [anon_sym_package] = ACTIONS(3063),
    [anon_sym_COMMA] = ACTIONS(3063),
    [anon_sym_LPAREN] = ACTIONS(3063),
    [anon_sym_LBRACK] = ACTIONS(3063),
    [anon_sym_DOT] = ACTIONS(3751),
    [anon_sym_QMARK] = ACTIONS(3061),
    [anon_sym_QMARK2] = ACTIONS(3063),
    [anon_sym_AMP] = ACTIONS(3753),
    [aux_sym_custom_operator_token1] = ACTIONS(3063),
    [anon_sym_LT] = ACTIONS(3061),
    [anon_sym_GT] = ACTIONS(3061),
    [anon_sym_LBRACE] = ACTIONS(3063),
    [anon_sym_CARET_LBRACE] = ACTIONS(3063),
    [anon_sym_RBRACE] = ACTIONS(3063),
    [anon_sym_case] = ACTIONS(3063),
    [anon_sym_fallthrough] = ACTIONS(3063),
    [anon_sym_PLUS_EQ] = ACTIONS(3063),
    [anon_sym_DASH_EQ] = ACTIONS(3063),
    [anon_sym_STAR_EQ] = ACTIONS(3063),
    [anon_sym_SLASH_EQ] = ACTIONS(3063),
    [anon_sym_PERCENT_EQ] = ACTIONS(3063),
    [anon_sym_BANG_EQ] = ACTIONS(3061),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3063),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3063),
    [anon_sym_LT_EQ] = ACTIONS(3063),
    [anon_sym_GT_EQ] = ACTIONS(3063),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3063),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3063),
    [anon_sym_is] = ACTIONS(3063),
    [anon_sym_PLUS] = ACTIONS(3061),
    [anon_sym_DASH] = ACTIONS(3061),
    [anon_sym_STAR] = ACTIONS(3061),
    [anon_sym_SLASH] = ACTIONS(3061),
    [anon_sym_PERCENT] = ACTIONS(3061),
    [anon_sym_PLUS_PLUS] = ACTIONS(3063),
    [anon_sym_DASH_DASH] = ACTIONS(3063),
    [anon_sym_PIPE] = ACTIONS(3063),
    [anon_sym_CARET] = ACTIONS(3061),
    [anon_sym_LT_LT] = ACTIONS(3063),
    [anon_sym_GT_GT] = ACTIONS(3063),
    [anon_sym_class] = ACTIONS(3063),
    [anon_sym_prefix] = ACTIONS(3063),
    [anon_sym_infix] = ACTIONS(3063),
    [anon_sym_postfix] = ACTIONS(3063),
    [anon_sym_AT] = ACTIONS(3061),
    [anon_sym_override] = ACTIONS(3063),
    [anon_sym_convenience] = ACTIONS(3063),
    [anon_sym_required] = ACTIONS(3063),
    [anon_sym_nonisolated] = ACTIONS(3063),
    [anon_sym_public] = ACTIONS(3063),
    [anon_sym_private] = ACTIONS(3063),
    [anon_sym_internal] = ACTIONS(3063),
    [anon_sym_fileprivate] = ACTIONS(3063),
    [anon_sym_open] = ACTIONS(3063),
    [anon_sym_mutating] = ACTIONS(3063),
    [anon_sym_nonmutating] = ACTIONS(3063),
    [anon_sym_static] = ACTIONS(3063),
    [anon_sym_dynamic] = ACTIONS(3063),
    [anon_sym_optional] = ACTIONS(3063),
    [anon_sym_distributed] = ACTIONS(3063),
    [anon_sym_final] = ACTIONS(3063),
    [anon_sym_inout] = ACTIONS(3063),
    [anon_sym_ATescaping] = ACTIONS(3063),
    [anon_sym_ATautoclosure] = ACTIONS(3063),
    [anon_sym_weak] = ACTIONS(3063),
    [anon_sym_unowned] = ACTIONS(3061),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3063),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3063),
    [anon_sym_borrowing] = ACTIONS(3063),
    [anon_sym_consuming] = ACTIONS(3063),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3063),
    [sym__explicit_semi] = ACTIONS(3063),
    [sym__arrow_operator_custom] = ACTIONS(3747),
    [sym__dot_custom] = ACTIONS(3063),
    [sym__conjunction_operator_custom] = ACTIONS(3063),
    [sym__disjunction_operator_custom] = ACTIONS(3063),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3063),
    [sym__eq_custom] = ACTIONS(3063),
    [sym__eq_eq_custom] = ACTIONS(3063),
    [sym__plus_then_ws] = ACTIONS(3063),
    [sym__minus_then_ws] = ACTIONS(3063),
    [sym__bang_custom] = ACTIONS(3063),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym_default_keyword] = ACTIONS(3063),
    [sym_where_keyword] = ACTIONS(3063),
    [sym__as_custom] = ACTIONS(3063),
    [sym__as_quest_custom] = ACTIONS(3063),
    [sym__as_bang_custom] = ACTIONS(3063),
    [sym__async_keyword_custom] = ACTIONS(3749),
    [sym__custom_operator] = ACTIONS(3063),
  },
  [1009] = {
    [sym__arrow_operator] = STATE(4136),
    [sym__async_keyword] = STATE(6975),
    [sym_throws] = STATE(8363),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1044),
    [anon_sym_BANG] = ACTIONS(3065),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3067),
    [anon_sym_package] = ACTIONS(3067),
    [anon_sym_COMMA] = ACTIONS(3067),
    [anon_sym_LPAREN] = ACTIONS(3067),
    [anon_sym_LBRACK] = ACTIONS(3067),
    [anon_sym_DOT] = ACTIONS(3751),
    [anon_sym_QMARK] = ACTIONS(3065),
    [anon_sym_QMARK2] = ACTIONS(3067),
    [anon_sym_AMP] = ACTIONS(3753),
    [aux_sym_custom_operator_token1] = ACTIONS(3067),
    [anon_sym_LT] = ACTIONS(3065),
    [anon_sym_GT] = ACTIONS(3065),
    [anon_sym_LBRACE] = ACTIONS(3067),
    [anon_sym_CARET_LBRACE] = ACTIONS(3067),
    [anon_sym_RBRACE] = ACTIONS(3067),
    [anon_sym_case] = ACTIONS(3067),
    [anon_sym_fallthrough] = ACTIONS(3067),
    [anon_sym_PLUS_EQ] = ACTIONS(3067),
    [anon_sym_DASH_EQ] = ACTIONS(3067),
    [anon_sym_STAR_EQ] = ACTIONS(3067),
    [anon_sym_SLASH_EQ] = ACTIONS(3067),
    [anon_sym_PERCENT_EQ] = ACTIONS(3067),
    [anon_sym_BANG_EQ] = ACTIONS(3065),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3067),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3067),
    [anon_sym_LT_EQ] = ACTIONS(3067),
    [anon_sym_GT_EQ] = ACTIONS(3067),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3067),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3067),
    [anon_sym_is] = ACTIONS(3067),
    [anon_sym_PLUS] = ACTIONS(3065),
    [anon_sym_DASH] = ACTIONS(3065),
    [anon_sym_STAR] = ACTIONS(3065),
    [anon_sym_SLASH] = ACTIONS(3065),
    [anon_sym_PERCENT] = ACTIONS(3065),
    [anon_sym_PLUS_PLUS] = ACTIONS(3067),
    [anon_sym_DASH_DASH] = ACTIONS(3067),
    [anon_sym_PIPE] = ACTIONS(3067),
    [anon_sym_CARET] = ACTIONS(3065),
    [anon_sym_LT_LT] = ACTIONS(3067),
    [anon_sym_GT_GT] = ACTIONS(3067),
    [anon_sym_class] = ACTIONS(3067),
    [anon_sym_prefix] = ACTIONS(3067),
    [anon_sym_infix] = ACTIONS(3067),
    [anon_sym_postfix] = ACTIONS(3067),
    [anon_sym_AT] = ACTIONS(3065),
    [anon_sym_override] = ACTIONS(3067),
    [anon_sym_convenience] = ACTIONS(3067),
    [anon_sym_required] = ACTIONS(3067),
    [anon_sym_nonisolated] = ACTIONS(3067),
    [anon_sym_public] = ACTIONS(3067),
    [anon_sym_private] = ACTIONS(3067),
    [anon_sym_internal] = ACTIONS(3067),
    [anon_sym_fileprivate] = ACTIONS(3067),
    [anon_sym_open] = ACTIONS(3067),
    [anon_sym_mutating] = ACTIONS(3067),
    [anon_sym_nonmutating] = ACTIONS(3067),
    [anon_sym_static] = ACTIONS(3067),
    [anon_sym_dynamic] = ACTIONS(3067),
    [anon_sym_optional] = ACTIONS(3067),
    [anon_sym_distributed] = ACTIONS(3067),
    [anon_sym_final] = ACTIONS(3067),
    [anon_sym_inout] = ACTIONS(3067),
    [anon_sym_ATescaping] = ACTIONS(3067),
    [anon_sym_ATautoclosure] = ACTIONS(3067),
    [anon_sym_weak] = ACTIONS(3067),
    [anon_sym_unowned] = ACTIONS(3065),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3067),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3067),
    [anon_sym_borrowing] = ACTIONS(3067),
    [anon_sym_consuming] = ACTIONS(3067),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3067),
    [sym__explicit_semi] = ACTIONS(3067),
    [sym__arrow_operator_custom] = ACTIONS(3747),
    [sym__dot_custom] = ACTIONS(3067),
    [sym__conjunction_operator_custom] = ACTIONS(3067),
    [sym__disjunction_operator_custom] = ACTIONS(3067),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3067),
    [sym__eq_custom] = ACTIONS(3067),
    [sym__eq_eq_custom] = ACTIONS(3067),
    [sym__plus_then_ws] = ACTIONS(3067),
    [sym__minus_then_ws] = ACTIONS(3067),
    [sym__bang_custom] = ACTIONS(3067),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym_default_keyword] = ACTIONS(3067),
    [sym_where_keyword] = ACTIONS(3067),
    [sym__as_custom] = ACTIONS(3067),
    [sym__as_quest_custom] = ACTIONS(3067),
    [sym__as_bang_custom] = ACTIONS(3067),
    [sym__async_keyword_custom] = ACTIONS(3749),
    [sym__custom_operator] = ACTIONS(3067),
  },
  [1010] = {
    [sym_simple_identifier] = STATE(1719),
    [sym__contextual_simple_identifier] = STATE(1734),
    [sym__unannotated_type] = STATE(1726),
    [sym_user_type] = STATE(1743),
    [sym__simple_user_type] = STATE(1712),
    [sym_tuple_type] = STATE(1705),
    [sym_function_type] = STATE(1726),
    [sym_array_type] = STATE(1743),
    [sym_dictionary_type] = STATE(1743),
    [sym_optional_type] = STATE(1726),
    [sym_metatype] = STATE(1726),
    [sym_opaque_type] = STATE(1726),
    [sym_existential_type] = STATE(1726),
    [sym_type_parameter_pack] = STATE(1726),
    [sym_type_pack_expansion] = STATE(1726),
    [sym_protocol_composition_type] = STATE(1726),
    [sym_suppressed_constraint] = STATE(1726),
    [sym__parenthesized_type] = STATE(1804),
    [sym__parameter_ownership_modifier] = STATE(1734),
    [sym_comment] = ACTIONS(5),
    [aux_sym_simple_identifier_token1] = ACTIONS(3762),
    [aux_sym_simple_identifier_token2] = ACTIONS(3764),
    [aux_sym_simple_identifier_token3] = ACTIONS(3764),
    [aux_sym_simple_identifier_token4] = ACTIONS(3764),
    [anon_sym_actor] = ACTIONS(3766),
    [anon_sym_async] = ACTIONS(3766),
    [anon_sym_each] = ACTIONS(3769),
    [anon_sym_lazy] = ACTIONS(3766),
    [anon_sym_repeat] = ACTIONS(3771),
    [anon_sym_package] = ACTIONS(3766),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_COLON] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(3773),
    [anon_sym_LBRACK] = ACTIONS(3775),
    [anon_sym_DOT] = ACTIONS(617),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(3777),
    [anon_sym_any] = ACTIONS(3779),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(3781),
    [anon_sym_LT] = ACTIONS(617),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_case] = ACTIONS(623),
    [anon_sym_import] = ACTIONS(623),
    [anon_sym_typealias] = ACTIONS(623),
    [anon_sym_struct] = ACTIONS(623),
    [anon_sym_class] = ACTIONS(623),
    [anon_sym_enum] = ACTIONS(623),
    [anon_sym_protocol] = ACTIONS(623),
    [anon_sym_let] = ACTIONS(623),
    [anon_sym_var] = ACTIONS(623),
    [anon_sym_func] = ACTIONS(623),
    [anon_sym_extension] = ACTIONS(623),
    [anon_sym_indirect] = ACTIONS(623),
    [anon_sym_init] = ACTIONS(623),
    [anon_sym_deinit] = ACTIONS(623),
    [anon_sym_subscript] = ACTIONS(623),
    [anon_sym_prefix] = ACTIONS(623),
    [anon_sym_infix] = ACTIONS(623),
    [anon_sym_postfix] = ACTIONS(623),
    [anon_sym_precedencegroup] = ACTIONS(623),
    [anon_sym_associatedtype] = ACTIONS(623),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(623),
    [anon_sym_convenience] = ACTIONS(623),
    [anon_sym_required] = ACTIONS(623),
    [anon_sym_nonisolated] = ACTIONS(623),
    [anon_sym_public] = ACTIONS(623),
    [anon_sym_private] = ACTIONS(623),
    [anon_sym_internal] = ACTIONS(623),
    [anon_sym_fileprivate] = ACTIONS(623),
    [anon_sym_open] = ACTIONS(623),
    [anon_sym_mutating] = ACTIONS(623),
    [anon_sym_nonmutating] = ACTIONS(623),
    [anon_sym_static] = ACTIONS(623),
    [anon_sym_dynamic] = ACTIONS(623),
    [anon_sym_optional] = ACTIONS(623),
    [anon_sym_distributed] = ACTIONS(623),
    [anon_sym_final] = ACTIONS(623),
    [anon_sym_inout] = ACTIONS(623),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(623),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(3766),
    [anon_sym_consuming] = ACTIONS(3766),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym_where_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
  },
  [1011] = {
    [sym_simple_identifier] = STATE(1719),
    [sym__contextual_simple_identifier] = STATE(1734),
    [sym__unannotated_type] = STATE(1718),
    [sym_user_type] = STATE(1743),
    [sym__simple_user_type] = STATE(1712),
    [sym_tuple_type] = STATE(1705),
    [sym_function_type] = STATE(1718),
    [sym_array_type] = STATE(1743),
    [sym_dictionary_type] = STATE(1743),
    [sym_optional_type] = STATE(1718),
    [sym_metatype] = STATE(1718),
    [sym_opaque_type] = STATE(1718),
    [sym_existential_type] = STATE(1718),
    [sym_type_parameter_pack] = STATE(1718),
    [sym_type_pack_expansion] = STATE(1718),
    [sym_protocol_composition_type] = STATE(1718),
    [sym_suppressed_constraint] = STATE(1718),
    [sym__parenthesized_type] = STATE(1804),
    [sym__parameter_ownership_modifier] = STATE(1734),
    [sym_comment] = ACTIONS(5),
    [aux_sym_simple_identifier_token1] = ACTIONS(3762),
    [aux_sym_simple_identifier_token2] = ACTIONS(3764),
    [aux_sym_simple_identifier_token3] = ACTIONS(3764),
    [aux_sym_simple_identifier_token4] = ACTIONS(3764),
    [anon_sym_actor] = ACTIONS(3766),
    [anon_sym_async] = ACTIONS(3766),
    [anon_sym_each] = ACTIONS(3769),
    [anon_sym_lazy] = ACTIONS(3766),
    [anon_sym_repeat] = ACTIONS(3771),
    [anon_sym_package] = ACTIONS(3766),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_COLON] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(3773),
    [anon_sym_LBRACK] = ACTIONS(3775),
    [anon_sym_DOT] = ACTIONS(617),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(3777),
    [anon_sym_any] = ACTIONS(3779),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(3781),
    [anon_sym_LT] = ACTIONS(617),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_case] = ACTIONS(623),
    [anon_sym_import] = ACTIONS(623),
    [anon_sym_typealias] = ACTIONS(623),
    [anon_sym_struct] = ACTIONS(623),
    [anon_sym_class] = ACTIONS(623),
    [anon_sym_enum] = ACTIONS(623),
    [anon_sym_protocol] = ACTIONS(623),
    [anon_sym_let] = ACTIONS(623),
    [anon_sym_var] = ACTIONS(623),
    [anon_sym_func] = ACTIONS(623),
    [anon_sym_extension] = ACTIONS(623),
    [anon_sym_indirect] = ACTIONS(623),
    [anon_sym_init] = ACTIONS(623),
    [anon_sym_deinit] = ACTIONS(623),
    [anon_sym_subscript] = ACTIONS(623),
    [anon_sym_prefix] = ACTIONS(623),
    [anon_sym_infix] = ACTIONS(623),
    [anon_sym_postfix] = ACTIONS(623),
    [anon_sym_precedencegroup] = ACTIONS(623),
    [anon_sym_associatedtype] = ACTIONS(623),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(623),
    [anon_sym_convenience] = ACTIONS(623),
    [anon_sym_required] = ACTIONS(623),
    [anon_sym_nonisolated] = ACTIONS(623),
    [anon_sym_public] = ACTIONS(623),
    [anon_sym_private] = ACTIONS(623),
    [anon_sym_internal] = ACTIONS(623),
    [anon_sym_fileprivate] = ACTIONS(623),
    [anon_sym_open] = ACTIONS(623),
    [anon_sym_mutating] = ACTIONS(623),
    [anon_sym_nonmutating] = ACTIONS(623),
    [anon_sym_static] = ACTIONS(623),
    [anon_sym_dynamic] = ACTIONS(623),
    [anon_sym_optional] = ACTIONS(623),
    [anon_sym_distributed] = ACTIONS(623),
    [anon_sym_final] = ACTIONS(623),
    [anon_sym_inout] = ACTIONS(623),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(623),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(3766),
    [anon_sym_consuming] = ACTIONS(3766),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym_where_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
  },
  [1012] = {
    [sym__arrow_operator] = STATE(4136),
    [sym__async_keyword] = STATE(6975),
    [sym_throws] = STATE(8363),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1044),
    [anon_sym_BANG] = ACTIONS(3087),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3089),
    [anon_sym_package] = ACTIONS(3089),
    [anon_sym_COMMA] = ACTIONS(3089),
    [anon_sym_LPAREN] = ACTIONS(3089),
    [anon_sym_LBRACK] = ACTIONS(3089),
    [anon_sym_DOT] = ACTIONS(3087),
    [anon_sym_QMARK] = ACTIONS(3087),
    [anon_sym_QMARK2] = ACTIONS(3089),
    [anon_sym_AMP] = ACTIONS(3089),
    [aux_sym_custom_operator_token1] = ACTIONS(3089),
    [anon_sym_LT] = ACTIONS(3087),
    [anon_sym_GT] = ACTIONS(3087),
    [anon_sym_LBRACE] = ACTIONS(3089),
    [anon_sym_CARET_LBRACE] = ACTIONS(3089),
    [anon_sym_RBRACE] = ACTIONS(3089),
    [anon_sym_case] = ACTIONS(3089),
    [anon_sym_fallthrough] = ACTIONS(3089),
    [anon_sym_PLUS_EQ] = ACTIONS(3089),
    [anon_sym_DASH_EQ] = ACTIONS(3089),
    [anon_sym_STAR_EQ] = ACTIONS(3089),
    [anon_sym_SLASH_EQ] = ACTIONS(3089),
    [anon_sym_PERCENT_EQ] = ACTIONS(3089),
    [anon_sym_BANG_EQ] = ACTIONS(3087),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3089),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3089),
    [anon_sym_LT_EQ] = ACTIONS(3089),
    [anon_sym_GT_EQ] = ACTIONS(3089),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3089),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3089),
    [anon_sym_is] = ACTIONS(3089),
    [anon_sym_PLUS] = ACTIONS(3087),
    [anon_sym_DASH] = ACTIONS(3087),
    [anon_sym_STAR] = ACTIONS(3087),
    [anon_sym_SLASH] = ACTIONS(3087),
    [anon_sym_PERCENT] = ACTIONS(3087),
    [anon_sym_PLUS_PLUS] = ACTIONS(3089),
    [anon_sym_DASH_DASH] = ACTIONS(3089),
    [anon_sym_PIPE] = ACTIONS(3089),
    [anon_sym_CARET] = ACTIONS(3087),
    [anon_sym_LT_LT] = ACTIONS(3089),
    [anon_sym_GT_GT] = ACTIONS(3089),
    [anon_sym_class] = ACTIONS(3089),
    [anon_sym_prefix] = ACTIONS(3089),
    [anon_sym_infix] = ACTIONS(3089),
    [anon_sym_postfix] = ACTIONS(3089),
    [anon_sym_AT] = ACTIONS(3087),
    [anon_sym_override] = ACTIONS(3089),
    [anon_sym_convenience] = ACTIONS(3089),
    [anon_sym_required] = ACTIONS(3089),
    [anon_sym_nonisolated] = ACTIONS(3089),
    [anon_sym_public] = ACTIONS(3089),
    [anon_sym_private] = ACTIONS(3089),
    [anon_sym_internal] = ACTIONS(3089),
    [anon_sym_fileprivate] = ACTIONS(3089),
    [anon_sym_open] = ACTIONS(3089),
    [anon_sym_mutating] = ACTIONS(3089),
    [anon_sym_nonmutating] = ACTIONS(3089),
    [anon_sym_static] = ACTIONS(3089),
    [anon_sym_dynamic] = ACTIONS(3089),
    [anon_sym_optional] = ACTIONS(3089),
    [anon_sym_distributed] = ACTIONS(3089),
    [anon_sym_final] = ACTIONS(3089),
    [anon_sym_inout] = ACTIONS(3089),
    [anon_sym_ATescaping] = ACTIONS(3089),
    [anon_sym_ATautoclosure] = ACTIONS(3089),
    [anon_sym_weak] = ACTIONS(3089),
    [anon_sym_unowned] = ACTIONS(3087),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3089),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3089),
    [anon_sym_borrowing] = ACTIONS(3089),
    [anon_sym_consuming] = ACTIONS(3089),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3089),
    [sym__explicit_semi] = ACTIONS(3089),
    [sym__arrow_operator_custom] = ACTIONS(3089),
    [sym__dot_custom] = ACTIONS(3089),
    [sym__conjunction_operator_custom] = ACTIONS(3089),
    [sym__disjunction_operator_custom] = ACTIONS(3089),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3089),
    [sym__eq_custom] = ACTIONS(3089),
    [sym__eq_eq_custom] = ACTIONS(3089),
    [sym__plus_then_ws] = ACTIONS(3089),
    [sym__minus_then_ws] = ACTIONS(3089),
    [sym__bang_custom] = ACTIONS(3089),
    [sym__throws_keyword] = ACTIONS(3089),
    [sym__rethrows_keyword] = ACTIONS(3089),
    [sym_default_keyword] = ACTIONS(3089),
    [sym_where_keyword] = ACTIONS(3089),
    [sym__as_custom] = ACTIONS(3089),
    [sym__as_quest_custom] = ACTIONS(3089),
    [sym__as_bang_custom] = ACTIONS(3089),
    [sym__async_keyword_custom] = ACTIONS(3089),
    [sym__custom_operator] = ACTIONS(3089),
  },
  [1013] = {
    [sym__immediate_quest] = STATE(1048),
    [sym__arrow_operator] = STATE(4426),
    [sym__async_keyword] = STATE(6926),
    [sym_throws] = STATE(8471),
    [aux_sym_optional_type_repeat1] = STATE(1048),
    [anon_sym_BANG] = ACTIONS(2998),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3000),
    [anon_sym_package] = ACTIONS(3000),
    [anon_sym_COMMA] = ACTIONS(3000),
    [anon_sym_LPAREN] = ACTIONS(3000),
    [anon_sym_LBRACK] = ACTIONS(3000),
    [anon_sym_DOT] = ACTIONS(2998),
    [anon_sym_QMARK] = ACTIONS(2998),
    [anon_sym_QMARK2] = ACTIONS(3783),
    [anon_sym_AMP] = ACTIONS(3000),
    [aux_sym_custom_operator_token1] = ACTIONS(3000),
    [anon_sym_LT] = ACTIONS(2998),
    [anon_sym_GT] = ACTIONS(2998),
    [anon_sym_LBRACE] = ACTIONS(3000),
    [anon_sym_CARET_LBRACE] = ACTIONS(3000),
    [anon_sym_RBRACE] = ACTIONS(3000),
    [anon_sym_case] = ACTIONS(3000),
    [anon_sym_fallthrough] = ACTIONS(3000),
    [anon_sym_PLUS_EQ] = ACTIONS(3000),
    [anon_sym_DASH_EQ] = ACTIONS(3000),
    [anon_sym_STAR_EQ] = ACTIONS(3000),
    [anon_sym_SLASH_EQ] = ACTIONS(3000),
    [anon_sym_PERCENT_EQ] = ACTIONS(3000),
    [anon_sym_BANG_EQ] = ACTIONS(2998),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3000),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3000),
    [anon_sym_LT_EQ] = ACTIONS(3000),
    [anon_sym_GT_EQ] = ACTIONS(3000),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3000),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3000),
    [anon_sym_is] = ACTIONS(3000),
    [anon_sym_PLUS] = ACTIONS(2998),
    [anon_sym_DASH] = ACTIONS(2998),
    [anon_sym_STAR] = ACTIONS(2998),
    [anon_sym_SLASH] = ACTIONS(2998),
    [anon_sym_PERCENT] = ACTIONS(2998),
    [anon_sym_PLUS_PLUS] = ACTIONS(3000),
    [anon_sym_DASH_DASH] = ACTIONS(3000),
    [anon_sym_PIPE] = ACTIONS(3000),
    [anon_sym_CARET] = ACTIONS(2998),
    [anon_sym_LT_LT] = ACTIONS(3000),
    [anon_sym_GT_GT] = ACTIONS(3000),
    [anon_sym_class] = ACTIONS(3000),
    [anon_sym_prefix] = ACTIONS(3000),
    [anon_sym_infix] = ACTIONS(3000),
    [anon_sym_postfix] = ACTIONS(3000),
    [anon_sym_AT] = ACTIONS(2998),
    [anon_sym_override] = ACTIONS(3000),
    [anon_sym_convenience] = ACTIONS(3000),
    [anon_sym_required] = ACTIONS(3000),
    [anon_sym_nonisolated] = ACTIONS(3000),
    [anon_sym_public] = ACTIONS(3000),
    [anon_sym_private] = ACTIONS(3000),
    [anon_sym_internal] = ACTIONS(3000),
    [anon_sym_fileprivate] = ACTIONS(3000),
    [anon_sym_open] = ACTIONS(3000),
    [anon_sym_mutating] = ACTIONS(3000),
    [anon_sym_nonmutating] = ACTIONS(3000),
    [anon_sym_static] = ACTIONS(3000),
    [anon_sym_dynamic] = ACTIONS(3000),
    [anon_sym_optional] = ACTIONS(3000),
    [anon_sym_distributed] = ACTIONS(3000),
    [anon_sym_final] = ACTIONS(3000),
    [anon_sym_inout] = ACTIONS(3000),
    [anon_sym_ATescaping] = ACTIONS(3000),
    [anon_sym_ATautoclosure] = ACTIONS(3000),
    [anon_sym_weak] = ACTIONS(3000),
    [anon_sym_unowned] = ACTIONS(2998),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3000),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3000),
    [anon_sym_borrowing] = ACTIONS(3000),
    [anon_sym_consuming] = ACTIONS(3000),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3000),
    [sym__explicit_semi] = ACTIONS(3000),
    [sym__arrow_operator_custom] = ACTIONS(3785),
    [sym__dot_custom] = ACTIONS(3000),
    [sym__conjunction_operator_custom] = ACTIONS(3000),
    [sym__disjunction_operator_custom] = ACTIONS(3000),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3000),
    [sym__eq_custom] = ACTIONS(3000),
    [sym__eq_eq_custom] = ACTIONS(3000),
    [sym__plus_then_ws] = ACTIONS(3000),
    [sym__minus_then_ws] = ACTIONS(3000),
    [sym__bang_custom] = ACTIONS(3000),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym_default_keyword] = ACTIONS(3000),
    [sym__as_custom] = ACTIONS(3000),
    [sym__as_quest_custom] = ACTIONS(3000),
    [sym__as_bang_custom] = ACTIONS(3000),
    [sym__async_keyword_custom] = ACTIONS(3787),
    [sym__custom_operator] = ACTIONS(3000),
  },
  [1014] = {
    [sym__arrow_operator] = STATE(4426),
    [sym__async_keyword] = STATE(6926),
    [sym_throws] = STATE(8471),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1057),
    [anon_sym_BANG] = ACTIONS(3077),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3079),
    [anon_sym_package] = ACTIONS(3079),
    [anon_sym_COMMA] = ACTIONS(3079),
    [anon_sym_LPAREN] = ACTIONS(3079),
    [anon_sym_LBRACK] = ACTIONS(3079),
    [anon_sym_DOT] = ACTIONS(3789),
    [anon_sym_QMARK] = ACTIONS(3077),
    [anon_sym_QMARK2] = ACTIONS(3079),
    [anon_sym_AMP] = ACTIONS(3791),
    [aux_sym_custom_operator_token1] = ACTIONS(3079),
    [anon_sym_LT] = ACTIONS(3077),
    [anon_sym_GT] = ACTIONS(3077),
    [anon_sym_LBRACE] = ACTIONS(3079),
    [anon_sym_CARET_LBRACE] = ACTIONS(3079),
    [anon_sym_RBRACE] = ACTIONS(3079),
    [anon_sym_case] = ACTIONS(3079),
    [anon_sym_fallthrough] = ACTIONS(3079),
    [anon_sym_PLUS_EQ] = ACTIONS(3079),
    [anon_sym_DASH_EQ] = ACTIONS(3079),
    [anon_sym_STAR_EQ] = ACTIONS(3079),
    [anon_sym_SLASH_EQ] = ACTIONS(3079),
    [anon_sym_PERCENT_EQ] = ACTIONS(3079),
    [anon_sym_BANG_EQ] = ACTIONS(3077),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3079),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3079),
    [anon_sym_LT_EQ] = ACTIONS(3079),
    [anon_sym_GT_EQ] = ACTIONS(3079),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3079),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3079),
    [anon_sym_is] = ACTIONS(3079),
    [anon_sym_PLUS] = ACTIONS(3077),
    [anon_sym_DASH] = ACTIONS(3077),
    [anon_sym_STAR] = ACTIONS(3077),
    [anon_sym_SLASH] = ACTIONS(3077),
    [anon_sym_PERCENT] = ACTIONS(3077),
    [anon_sym_PLUS_PLUS] = ACTIONS(3079),
    [anon_sym_DASH_DASH] = ACTIONS(3079),
    [anon_sym_PIPE] = ACTIONS(3079),
    [anon_sym_CARET] = ACTIONS(3077),
    [anon_sym_LT_LT] = ACTIONS(3079),
    [anon_sym_GT_GT] = ACTIONS(3079),
    [anon_sym_class] = ACTIONS(3079),
    [anon_sym_prefix] = ACTIONS(3079),
    [anon_sym_infix] = ACTIONS(3079),
    [anon_sym_postfix] = ACTIONS(3079),
    [anon_sym_AT] = ACTIONS(3077),
    [anon_sym_override] = ACTIONS(3079),
    [anon_sym_convenience] = ACTIONS(3079),
    [anon_sym_required] = ACTIONS(3079),
    [anon_sym_nonisolated] = ACTIONS(3079),
    [anon_sym_public] = ACTIONS(3079),
    [anon_sym_private] = ACTIONS(3079),
    [anon_sym_internal] = ACTIONS(3079),
    [anon_sym_fileprivate] = ACTIONS(3079),
    [anon_sym_open] = ACTIONS(3079),
    [anon_sym_mutating] = ACTIONS(3079),
    [anon_sym_nonmutating] = ACTIONS(3079),
    [anon_sym_static] = ACTIONS(3079),
    [anon_sym_dynamic] = ACTIONS(3079),
    [anon_sym_optional] = ACTIONS(3079),
    [anon_sym_distributed] = ACTIONS(3079),
    [anon_sym_final] = ACTIONS(3079),
    [anon_sym_inout] = ACTIONS(3079),
    [anon_sym_ATescaping] = ACTIONS(3079),
    [anon_sym_ATautoclosure] = ACTIONS(3079),
    [anon_sym_weak] = ACTIONS(3079),
    [anon_sym_unowned] = ACTIONS(3077),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3079),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3079),
    [anon_sym_borrowing] = ACTIONS(3079),
    [anon_sym_consuming] = ACTIONS(3079),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3079),
    [sym__explicit_semi] = ACTIONS(3079),
    [sym__arrow_operator_custom] = ACTIONS(3785),
    [sym__dot_custom] = ACTIONS(3079),
    [sym__conjunction_operator_custom] = ACTIONS(3079),
    [sym__disjunction_operator_custom] = ACTIONS(3079),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3079),
    [sym__eq_custom] = ACTIONS(3079),
    [sym__eq_eq_custom] = ACTIONS(3079),
    [sym__plus_then_ws] = ACTIONS(3079),
    [sym__minus_then_ws] = ACTIONS(3079),
    [sym__bang_custom] = ACTIONS(3079),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym_default_keyword] = ACTIONS(3079),
    [sym__as_custom] = ACTIONS(3079),
    [sym__as_quest_custom] = ACTIONS(3079),
    [sym__as_bang_custom] = ACTIONS(3079),
    [sym__async_keyword_custom] = ACTIONS(3787),
    [sym__custom_operator] = ACTIONS(3079),
  },
  [1015] = {
    [sym__arrow_operator] = STATE(4426),
    [sym__async_keyword] = STATE(6926),
    [sym_throws] = STATE(8471),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1057),
    [anon_sym_BANG] = ACTIONS(3065),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3067),
    [anon_sym_package] = ACTIONS(3067),
    [anon_sym_COMMA] = ACTIONS(3067),
    [anon_sym_LPAREN] = ACTIONS(3067),
    [anon_sym_LBRACK] = ACTIONS(3067),
    [anon_sym_DOT] = ACTIONS(3789),
    [anon_sym_QMARK] = ACTIONS(3065),
    [anon_sym_QMARK2] = ACTIONS(3067),
    [anon_sym_AMP] = ACTIONS(3791),
    [aux_sym_custom_operator_token1] = ACTIONS(3067),
    [anon_sym_LT] = ACTIONS(3065),
    [anon_sym_GT] = ACTIONS(3065),
    [anon_sym_LBRACE] = ACTIONS(3067),
    [anon_sym_CARET_LBRACE] = ACTIONS(3067),
    [anon_sym_RBRACE] = ACTIONS(3067),
    [anon_sym_case] = ACTIONS(3067),
    [anon_sym_fallthrough] = ACTIONS(3067),
    [anon_sym_PLUS_EQ] = ACTIONS(3067),
    [anon_sym_DASH_EQ] = ACTIONS(3067),
    [anon_sym_STAR_EQ] = ACTIONS(3067),
    [anon_sym_SLASH_EQ] = ACTIONS(3067),
    [anon_sym_PERCENT_EQ] = ACTIONS(3067),
    [anon_sym_BANG_EQ] = ACTIONS(3065),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3067),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3067),
    [anon_sym_LT_EQ] = ACTIONS(3067),
    [anon_sym_GT_EQ] = ACTIONS(3067),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3067),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3067),
    [anon_sym_is] = ACTIONS(3067),
    [anon_sym_PLUS] = ACTIONS(3065),
    [anon_sym_DASH] = ACTIONS(3065),
    [anon_sym_STAR] = ACTIONS(3065),
    [anon_sym_SLASH] = ACTIONS(3065),
    [anon_sym_PERCENT] = ACTIONS(3065),
    [anon_sym_PLUS_PLUS] = ACTIONS(3067),
    [anon_sym_DASH_DASH] = ACTIONS(3067),
    [anon_sym_PIPE] = ACTIONS(3067),
    [anon_sym_CARET] = ACTIONS(3065),
    [anon_sym_LT_LT] = ACTIONS(3067),
    [anon_sym_GT_GT] = ACTIONS(3067),
    [anon_sym_class] = ACTIONS(3067),
    [anon_sym_prefix] = ACTIONS(3067),
    [anon_sym_infix] = ACTIONS(3067),
    [anon_sym_postfix] = ACTIONS(3067),
    [anon_sym_AT] = ACTIONS(3065),
    [anon_sym_override] = ACTIONS(3067),
    [anon_sym_convenience] = ACTIONS(3067),
    [anon_sym_required] = ACTIONS(3067),
    [anon_sym_nonisolated] = ACTIONS(3067),
    [anon_sym_public] = ACTIONS(3067),
    [anon_sym_private] = ACTIONS(3067),
    [anon_sym_internal] = ACTIONS(3067),
    [anon_sym_fileprivate] = ACTIONS(3067),
    [anon_sym_open] = ACTIONS(3067),
    [anon_sym_mutating] = ACTIONS(3067),
    [anon_sym_nonmutating] = ACTIONS(3067),
    [anon_sym_static] = ACTIONS(3067),
    [anon_sym_dynamic] = ACTIONS(3067),
    [anon_sym_optional] = ACTIONS(3067),
    [anon_sym_distributed] = ACTIONS(3067),
    [anon_sym_final] = ACTIONS(3067),
    [anon_sym_inout] = ACTIONS(3067),
    [anon_sym_ATescaping] = ACTIONS(3067),
    [anon_sym_ATautoclosure] = ACTIONS(3067),
    [anon_sym_weak] = ACTIONS(3067),
    [anon_sym_unowned] = ACTIONS(3065),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3067),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3067),
    [anon_sym_borrowing] = ACTIONS(3067),
    [anon_sym_consuming] = ACTIONS(3067),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3067),
    [sym__explicit_semi] = ACTIONS(3067),
    [sym__arrow_operator_custom] = ACTIONS(3785),
    [sym__dot_custom] = ACTIONS(3067),
    [sym__conjunction_operator_custom] = ACTIONS(3067),
    [sym__disjunction_operator_custom] = ACTIONS(3067),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3067),
    [sym__eq_custom] = ACTIONS(3067),
    [sym__eq_eq_custom] = ACTIONS(3067),
    [sym__plus_then_ws] = ACTIONS(3067),
    [sym__minus_then_ws] = ACTIONS(3067),
    [sym__bang_custom] = ACTIONS(3067),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym_default_keyword] = ACTIONS(3067),
    [sym__as_custom] = ACTIONS(3067),
    [sym__as_quest_custom] = ACTIONS(3067),
    [sym__as_bang_custom] = ACTIONS(3067),
    [sym__async_keyword_custom] = ACTIONS(3787),
    [sym__custom_operator] = ACTIONS(3067),
  },
  [1016] = {
    [anon_sym_BANG] = ACTIONS(3213),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3213),
    [aux_sym_simple_identifier_token2] = ACTIONS(3215),
    [aux_sym_simple_identifier_token3] = ACTIONS(3215),
    [aux_sym_simple_identifier_token4] = ACTIONS(3215),
    [anon_sym_actor] = ACTIONS(3213),
    [anon_sym_async] = ACTIONS(3213),
    [anon_sym_each] = ACTIONS(3213),
    [anon_sym_lazy] = ACTIONS(3213),
    [anon_sym_repeat] = ACTIONS(3213),
    [anon_sym_package] = ACTIONS(3213),
    [anon_sym_COMMA] = ACTIONS(3215),
    [anon_sym_LPAREN] = ACTIONS(3215),
    [anon_sym_LBRACK] = ACTIONS(3215),
    [anon_sym_QMARK] = ACTIONS(3213),
    [anon_sym_QMARK2] = ACTIONS(3215),
    [anon_sym_AMP] = ACTIONS(3215),
    [aux_sym_custom_operator_token1] = ACTIONS(3215),
    [anon_sym_LT] = ACTIONS(3213),
    [anon_sym_GT] = ACTIONS(3213),
    [anon_sym_LBRACE] = ACTIONS(3215),
    [anon_sym_CARET_LBRACE] = ACTIONS(3215),
    [anon_sym_RBRACE] = ACTIONS(3215),
    [anon_sym_case] = ACTIONS(3213),
    [anon_sym_fallthrough] = ACTIONS(3213),
    [anon_sym_PLUS_EQ] = ACTIONS(3215),
    [anon_sym_DASH_EQ] = ACTIONS(3215),
    [anon_sym_STAR_EQ] = ACTIONS(3215),
    [anon_sym_SLASH_EQ] = ACTIONS(3215),
    [anon_sym_PERCENT_EQ] = ACTIONS(3215),
    [anon_sym_BANG_EQ] = ACTIONS(3213),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3215),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3215),
    [anon_sym_LT_EQ] = ACTIONS(3215),
    [anon_sym_GT_EQ] = ACTIONS(3215),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3215),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3215),
    [anon_sym_is] = ACTIONS(3213),
    [anon_sym_PLUS] = ACTIONS(3213),
    [anon_sym_DASH] = ACTIONS(3213),
    [anon_sym_STAR] = ACTIONS(3213),
    [anon_sym_SLASH] = ACTIONS(3213),
    [anon_sym_PERCENT] = ACTIONS(3213),
    [anon_sym_PLUS_PLUS] = ACTIONS(3215),
    [anon_sym_DASH_DASH] = ACTIONS(3215),
    [anon_sym_PIPE] = ACTIONS(3215),
    [anon_sym_CARET] = ACTIONS(3213),
    [anon_sym_LT_LT] = ACTIONS(3215),
    [anon_sym_GT_GT] = ACTIONS(3215),
    [anon_sym_class] = ACTIONS(3213),
    [anon_sym_prefix] = ACTIONS(3213),
    [anon_sym_infix] = ACTIONS(3213),
    [anon_sym_postfix] = ACTIONS(3213),
    [anon_sym_AT] = ACTIONS(3213),
    [anon_sym_override] = ACTIONS(3213),
    [anon_sym_convenience] = ACTIONS(3213),
    [anon_sym_required] = ACTIONS(3213),
    [anon_sym_nonisolated] = ACTIONS(3213),
    [anon_sym_public] = ACTIONS(3213),
    [anon_sym_private] = ACTIONS(3213),
    [anon_sym_internal] = ACTIONS(3213),
    [anon_sym_fileprivate] = ACTIONS(3213),
    [anon_sym_open] = ACTIONS(3213),
    [anon_sym_mutating] = ACTIONS(3213),
    [anon_sym_nonmutating] = ACTIONS(3213),
    [anon_sym_static] = ACTIONS(3213),
    [anon_sym_dynamic] = ACTIONS(3213),
    [anon_sym_optional] = ACTIONS(3213),
    [anon_sym_distributed] = ACTIONS(3213),
    [anon_sym_final] = ACTIONS(3213),
    [anon_sym_inout] = ACTIONS(3213),
    [anon_sym_ATescaping] = ACTIONS(3215),
    [anon_sym_ATautoclosure] = ACTIONS(3215),
    [anon_sym_weak] = ACTIONS(3213),
    [anon_sym_unowned] = ACTIONS(3213),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3215),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3215),
    [anon_sym_borrowing] = ACTIONS(3213),
    [anon_sym_consuming] = ACTIONS(3213),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3215),
    [sym__explicit_semi] = ACTIONS(3215),
    [sym__dot_custom] = ACTIONS(3215),
    [sym__conjunction_operator_custom] = ACTIONS(3215),
    [sym__disjunction_operator_custom] = ACTIONS(3215),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3215),
    [sym__eq_custom] = ACTIONS(3215),
    [sym__eq_eq_custom] = ACTIONS(3215),
    [sym__plus_then_ws] = ACTIONS(3215),
    [sym__minus_then_ws] = ACTIONS(3215),
    [sym__bang_custom] = ACTIONS(3215),
    [sym_default_keyword] = ACTIONS(3215),
    [sym_where_keyword] = ACTIONS(3215),
    [sym__as_custom] = ACTIONS(3215),
    [sym__as_quest_custom] = ACTIONS(3215),
    [sym__as_bang_custom] = ACTIONS(3215),
    [sym__custom_operator] = ACTIONS(3215),
  },
  [1017] = {
    [anon_sym_BANG] = ACTIONS(3225),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3225),
    [aux_sym_simple_identifier_token2] = ACTIONS(3227),
    [aux_sym_simple_identifier_token3] = ACTIONS(3227),
    [aux_sym_simple_identifier_token4] = ACTIONS(3227),
    [anon_sym_actor] = ACTIONS(3225),
    [anon_sym_async] = ACTIONS(3225),
    [anon_sym_each] = ACTIONS(3225),
    [anon_sym_lazy] = ACTIONS(3225),
    [anon_sym_repeat] = ACTIONS(3225),
    [anon_sym_package] = ACTIONS(3225),
    [anon_sym_COMMA] = ACTIONS(3227),
    [anon_sym_LPAREN] = ACTIONS(3227),
    [anon_sym_LBRACK] = ACTIONS(3227),
    [anon_sym_QMARK] = ACTIONS(3225),
    [anon_sym_QMARK2] = ACTIONS(3227),
    [anon_sym_AMP] = ACTIONS(3227),
    [aux_sym_custom_operator_token1] = ACTIONS(3227),
    [anon_sym_LT] = ACTIONS(3225),
    [anon_sym_GT] = ACTIONS(3225),
    [anon_sym_LBRACE] = ACTIONS(3227),
    [anon_sym_CARET_LBRACE] = ACTIONS(3227),
    [anon_sym_RBRACE] = ACTIONS(3227),
    [anon_sym_case] = ACTIONS(3225),
    [anon_sym_fallthrough] = ACTIONS(3225),
    [anon_sym_PLUS_EQ] = ACTIONS(3227),
    [anon_sym_DASH_EQ] = ACTIONS(3227),
    [anon_sym_STAR_EQ] = ACTIONS(3227),
    [anon_sym_SLASH_EQ] = ACTIONS(3227),
    [anon_sym_PERCENT_EQ] = ACTIONS(3227),
    [anon_sym_BANG_EQ] = ACTIONS(3225),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3227),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3227),
    [anon_sym_LT_EQ] = ACTIONS(3227),
    [anon_sym_GT_EQ] = ACTIONS(3227),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3227),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3227),
    [anon_sym_is] = ACTIONS(3225),
    [anon_sym_PLUS] = ACTIONS(3225),
    [anon_sym_DASH] = ACTIONS(3225),
    [anon_sym_STAR] = ACTIONS(3225),
    [anon_sym_SLASH] = ACTIONS(3225),
    [anon_sym_PERCENT] = ACTIONS(3225),
    [anon_sym_PLUS_PLUS] = ACTIONS(3227),
    [anon_sym_DASH_DASH] = ACTIONS(3227),
    [anon_sym_PIPE] = ACTIONS(3227),
    [anon_sym_CARET] = ACTIONS(3225),
    [anon_sym_LT_LT] = ACTIONS(3227),
    [anon_sym_GT_GT] = ACTIONS(3227),
    [anon_sym_class] = ACTIONS(3225),
    [anon_sym_prefix] = ACTIONS(3225),
    [anon_sym_infix] = ACTIONS(3225),
    [anon_sym_postfix] = ACTIONS(3225),
    [anon_sym_AT] = ACTIONS(3225),
    [anon_sym_override] = ACTIONS(3225),
    [anon_sym_convenience] = ACTIONS(3225),
    [anon_sym_required] = ACTIONS(3225),
    [anon_sym_nonisolated] = ACTIONS(3225),
    [anon_sym_public] = ACTIONS(3225),
    [anon_sym_private] = ACTIONS(3225),
    [anon_sym_internal] = ACTIONS(3225),
    [anon_sym_fileprivate] = ACTIONS(3225),
    [anon_sym_open] = ACTIONS(3225),
    [anon_sym_mutating] = ACTIONS(3225),
    [anon_sym_nonmutating] = ACTIONS(3225),
    [anon_sym_static] = ACTIONS(3225),
    [anon_sym_dynamic] = ACTIONS(3225),
    [anon_sym_optional] = ACTIONS(3225),
    [anon_sym_distributed] = ACTIONS(3225),
    [anon_sym_final] = ACTIONS(3225),
    [anon_sym_inout] = ACTIONS(3225),
    [anon_sym_ATescaping] = ACTIONS(3227),
    [anon_sym_ATautoclosure] = ACTIONS(3227),
    [anon_sym_weak] = ACTIONS(3225),
    [anon_sym_unowned] = ACTIONS(3225),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3227),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3227),
    [anon_sym_borrowing] = ACTIONS(3225),
    [anon_sym_consuming] = ACTIONS(3225),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3227),
    [sym__explicit_semi] = ACTIONS(3227),
    [sym__dot_custom] = ACTIONS(3227),
    [sym__conjunction_operator_custom] = ACTIONS(3227),
    [sym__disjunction_operator_custom] = ACTIONS(3227),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3227),
    [sym__eq_custom] = ACTIONS(3227),
    [sym__eq_eq_custom] = ACTIONS(3227),
    [sym__plus_then_ws] = ACTIONS(3227),
    [sym__minus_then_ws] = ACTIONS(3227),
    [sym__bang_custom] = ACTIONS(3227),
    [sym_default_keyword] = ACTIONS(3227),
    [sym_where_keyword] = ACTIONS(3227),
    [sym__as_custom] = ACTIONS(3227),
    [sym__as_quest_custom] = ACTIONS(3227),
    [sym__as_bang_custom] = ACTIONS(3227),
    [sym__custom_operator] = ACTIONS(3227),
  },
  [1018] = {
    [anon_sym_BANG] = ACTIONS(3237),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3237),
    [aux_sym_simple_identifier_token2] = ACTIONS(3239),
    [aux_sym_simple_identifier_token3] = ACTIONS(3239),
    [aux_sym_simple_identifier_token4] = ACTIONS(3239),
    [anon_sym_actor] = ACTIONS(3237),
    [anon_sym_async] = ACTIONS(3237),
    [anon_sym_each] = ACTIONS(3237),
    [anon_sym_lazy] = ACTIONS(3237),
    [anon_sym_repeat] = ACTIONS(3237),
    [anon_sym_package] = ACTIONS(3237),
    [anon_sym_COMMA] = ACTIONS(3239),
    [anon_sym_LPAREN] = ACTIONS(3239),
    [anon_sym_LBRACK] = ACTIONS(3239),
    [anon_sym_QMARK] = ACTIONS(3237),
    [anon_sym_QMARK2] = ACTIONS(3239),
    [anon_sym_AMP] = ACTIONS(3239),
    [aux_sym_custom_operator_token1] = ACTIONS(3239),
    [anon_sym_LT] = ACTIONS(3237),
    [anon_sym_GT] = ACTIONS(3237),
    [anon_sym_LBRACE] = ACTIONS(3239),
    [anon_sym_CARET_LBRACE] = ACTIONS(3239),
    [anon_sym_RBRACE] = ACTIONS(3239),
    [anon_sym_case] = ACTIONS(3237),
    [anon_sym_fallthrough] = ACTIONS(3237),
    [anon_sym_PLUS_EQ] = ACTIONS(3239),
    [anon_sym_DASH_EQ] = ACTIONS(3239),
    [anon_sym_STAR_EQ] = ACTIONS(3239),
    [anon_sym_SLASH_EQ] = ACTIONS(3239),
    [anon_sym_PERCENT_EQ] = ACTIONS(3239),
    [anon_sym_BANG_EQ] = ACTIONS(3237),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3239),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3239),
    [anon_sym_LT_EQ] = ACTIONS(3239),
    [anon_sym_GT_EQ] = ACTIONS(3239),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3239),
    [anon_sym_is] = ACTIONS(3237),
    [anon_sym_PLUS] = ACTIONS(3237),
    [anon_sym_DASH] = ACTIONS(3237),
    [anon_sym_STAR] = ACTIONS(3237),
    [anon_sym_SLASH] = ACTIONS(3237),
    [anon_sym_PERCENT] = ACTIONS(3237),
    [anon_sym_PLUS_PLUS] = ACTIONS(3239),
    [anon_sym_DASH_DASH] = ACTIONS(3239),
    [anon_sym_PIPE] = ACTIONS(3239),
    [anon_sym_CARET] = ACTIONS(3237),
    [anon_sym_LT_LT] = ACTIONS(3239),
    [anon_sym_GT_GT] = ACTIONS(3239),
    [anon_sym_class] = ACTIONS(3237),
    [anon_sym_prefix] = ACTIONS(3237),
    [anon_sym_infix] = ACTIONS(3237),
    [anon_sym_postfix] = ACTIONS(3237),
    [anon_sym_AT] = ACTIONS(3237),
    [anon_sym_override] = ACTIONS(3237),
    [anon_sym_convenience] = ACTIONS(3237),
    [anon_sym_required] = ACTIONS(3237),
    [anon_sym_nonisolated] = ACTIONS(3237),
    [anon_sym_public] = ACTIONS(3237),
    [anon_sym_private] = ACTIONS(3237),
    [anon_sym_internal] = ACTIONS(3237),
    [anon_sym_fileprivate] = ACTIONS(3237),
    [anon_sym_open] = ACTIONS(3237),
    [anon_sym_mutating] = ACTIONS(3237),
    [anon_sym_nonmutating] = ACTIONS(3237),
    [anon_sym_static] = ACTIONS(3237),
    [anon_sym_dynamic] = ACTIONS(3237),
    [anon_sym_optional] = ACTIONS(3237),
    [anon_sym_distributed] = ACTIONS(3237),
    [anon_sym_final] = ACTIONS(3237),
    [anon_sym_inout] = ACTIONS(3237),
    [anon_sym_ATescaping] = ACTIONS(3239),
    [anon_sym_ATautoclosure] = ACTIONS(3239),
    [anon_sym_weak] = ACTIONS(3237),
    [anon_sym_unowned] = ACTIONS(3237),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3239),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3239),
    [anon_sym_borrowing] = ACTIONS(3237),
    [anon_sym_consuming] = ACTIONS(3237),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3239),
    [sym__explicit_semi] = ACTIONS(3239),
    [sym__dot_custom] = ACTIONS(3239),
    [sym__conjunction_operator_custom] = ACTIONS(3239),
    [sym__disjunction_operator_custom] = ACTIONS(3239),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3239),
    [sym__eq_custom] = ACTIONS(3239),
    [sym__eq_eq_custom] = ACTIONS(3239),
    [sym__plus_then_ws] = ACTIONS(3239),
    [sym__minus_then_ws] = ACTIONS(3239),
    [sym__bang_custom] = ACTIONS(3239),
    [sym_default_keyword] = ACTIONS(3239),
    [sym_where_keyword] = ACTIONS(3239),
    [sym__as_custom] = ACTIONS(3239),
    [sym__as_quest_custom] = ACTIONS(3239),
    [sym__as_bang_custom] = ACTIONS(3239),
    [sym__custom_operator] = ACTIONS(3239),
  },
  [1019] = {
    [sym__arrow_operator] = STATE(4426),
    [sym__async_keyword] = STATE(6926),
    [sym_throws] = STATE(8471),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1057),
    [anon_sym_BANG] = ACTIONS(3053),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3055),
    [anon_sym_package] = ACTIONS(3055),
    [anon_sym_COMMA] = ACTIONS(3055),
    [anon_sym_LPAREN] = ACTIONS(3055),
    [anon_sym_LBRACK] = ACTIONS(3055),
    [anon_sym_DOT] = ACTIONS(3789),
    [anon_sym_QMARK] = ACTIONS(3053),
    [anon_sym_QMARK2] = ACTIONS(3055),
    [anon_sym_AMP] = ACTIONS(3791),
    [aux_sym_custom_operator_token1] = ACTIONS(3055),
    [anon_sym_LT] = ACTIONS(3053),
    [anon_sym_GT] = ACTIONS(3053),
    [anon_sym_LBRACE] = ACTIONS(3055),
    [anon_sym_CARET_LBRACE] = ACTIONS(3055),
    [anon_sym_RBRACE] = ACTIONS(3055),
    [anon_sym_case] = ACTIONS(3055),
    [anon_sym_fallthrough] = ACTIONS(3055),
    [anon_sym_PLUS_EQ] = ACTIONS(3055),
    [anon_sym_DASH_EQ] = ACTIONS(3055),
    [anon_sym_STAR_EQ] = ACTIONS(3055),
    [anon_sym_SLASH_EQ] = ACTIONS(3055),
    [anon_sym_PERCENT_EQ] = ACTIONS(3055),
    [anon_sym_BANG_EQ] = ACTIONS(3053),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3055),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3055),
    [anon_sym_LT_EQ] = ACTIONS(3055),
    [anon_sym_GT_EQ] = ACTIONS(3055),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3055),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3055),
    [anon_sym_is] = ACTIONS(3055),
    [anon_sym_PLUS] = ACTIONS(3053),
    [anon_sym_DASH] = ACTIONS(3053),
    [anon_sym_STAR] = ACTIONS(3053),
    [anon_sym_SLASH] = ACTIONS(3053),
    [anon_sym_PERCENT] = ACTIONS(3053),
    [anon_sym_PLUS_PLUS] = ACTIONS(3055),
    [anon_sym_DASH_DASH] = ACTIONS(3055),
    [anon_sym_PIPE] = ACTIONS(3055),
    [anon_sym_CARET] = ACTIONS(3053),
    [anon_sym_LT_LT] = ACTIONS(3055),
    [anon_sym_GT_GT] = ACTIONS(3055),
    [anon_sym_class] = ACTIONS(3055),
    [anon_sym_prefix] = ACTIONS(3055),
    [anon_sym_infix] = ACTIONS(3055),
    [anon_sym_postfix] = ACTIONS(3055),
    [anon_sym_AT] = ACTIONS(3053),
    [anon_sym_override] = ACTIONS(3055),
    [anon_sym_convenience] = ACTIONS(3055),
    [anon_sym_required] = ACTIONS(3055),
    [anon_sym_nonisolated] = ACTIONS(3055),
    [anon_sym_public] = ACTIONS(3055),
    [anon_sym_private] = ACTIONS(3055),
    [anon_sym_internal] = ACTIONS(3055),
    [anon_sym_fileprivate] = ACTIONS(3055),
    [anon_sym_open] = ACTIONS(3055),
    [anon_sym_mutating] = ACTIONS(3055),
    [anon_sym_nonmutating] = ACTIONS(3055),
    [anon_sym_static] = ACTIONS(3055),
    [anon_sym_dynamic] = ACTIONS(3055),
    [anon_sym_optional] = ACTIONS(3055),
    [anon_sym_distributed] = ACTIONS(3055),
    [anon_sym_final] = ACTIONS(3055),
    [anon_sym_inout] = ACTIONS(3055),
    [anon_sym_ATescaping] = ACTIONS(3055),
    [anon_sym_ATautoclosure] = ACTIONS(3055),
    [anon_sym_weak] = ACTIONS(3055),
    [anon_sym_unowned] = ACTIONS(3053),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3055),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3055),
    [anon_sym_borrowing] = ACTIONS(3055),
    [anon_sym_consuming] = ACTIONS(3055),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3055),
    [sym__explicit_semi] = ACTIONS(3055),
    [sym__arrow_operator_custom] = ACTIONS(3785),
    [sym__dot_custom] = ACTIONS(3055),
    [sym__conjunction_operator_custom] = ACTIONS(3055),
    [sym__disjunction_operator_custom] = ACTIONS(3055),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3055),
    [sym__eq_custom] = ACTIONS(3055),
    [sym__eq_eq_custom] = ACTIONS(3055),
    [sym__plus_then_ws] = ACTIONS(3055),
    [sym__minus_then_ws] = ACTIONS(3055),
    [sym__bang_custom] = ACTIONS(3055),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym_default_keyword] = ACTIONS(3055),
    [sym__as_custom] = ACTIONS(3055),
    [sym__as_quest_custom] = ACTIONS(3055),
    [sym__as_bang_custom] = ACTIONS(3055),
    [sym__async_keyword_custom] = ACTIONS(3787),
    [sym__custom_operator] = ACTIONS(3055),
  },
  [1020] = {
    [sym__arrow_operator] = STATE(4426),
    [sym__async_keyword] = STATE(6926),
    [sym_throws] = STATE(8471),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1057),
    [anon_sym_BANG] = ACTIONS(3073),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3075),
    [anon_sym_package] = ACTIONS(3075),
    [anon_sym_COMMA] = ACTIONS(3075),
    [anon_sym_LPAREN] = ACTIONS(3075),
    [anon_sym_LBRACK] = ACTIONS(3075),
    [anon_sym_DOT] = ACTIONS(3789),
    [anon_sym_QMARK] = ACTIONS(3073),
    [anon_sym_QMARK2] = ACTIONS(3075),
    [anon_sym_AMP] = ACTIONS(3791),
    [aux_sym_custom_operator_token1] = ACTIONS(3075),
    [anon_sym_LT] = ACTIONS(3073),
    [anon_sym_GT] = ACTIONS(3073),
    [anon_sym_LBRACE] = ACTIONS(3075),
    [anon_sym_CARET_LBRACE] = ACTIONS(3075),
    [anon_sym_RBRACE] = ACTIONS(3075),
    [anon_sym_case] = ACTIONS(3075),
    [anon_sym_fallthrough] = ACTIONS(3075),
    [anon_sym_PLUS_EQ] = ACTIONS(3075),
    [anon_sym_DASH_EQ] = ACTIONS(3075),
    [anon_sym_STAR_EQ] = ACTIONS(3075),
    [anon_sym_SLASH_EQ] = ACTIONS(3075),
    [anon_sym_PERCENT_EQ] = ACTIONS(3075),
    [anon_sym_BANG_EQ] = ACTIONS(3073),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3075),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3075),
    [anon_sym_LT_EQ] = ACTIONS(3075),
    [anon_sym_GT_EQ] = ACTIONS(3075),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3075),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3075),
    [anon_sym_is] = ACTIONS(3075),
    [anon_sym_PLUS] = ACTIONS(3073),
    [anon_sym_DASH] = ACTIONS(3073),
    [anon_sym_STAR] = ACTIONS(3073),
    [anon_sym_SLASH] = ACTIONS(3073),
    [anon_sym_PERCENT] = ACTIONS(3073),
    [anon_sym_PLUS_PLUS] = ACTIONS(3075),
    [anon_sym_DASH_DASH] = ACTIONS(3075),
    [anon_sym_PIPE] = ACTIONS(3075),
    [anon_sym_CARET] = ACTIONS(3073),
    [anon_sym_LT_LT] = ACTIONS(3075),
    [anon_sym_GT_GT] = ACTIONS(3075),
    [anon_sym_class] = ACTIONS(3075),
    [anon_sym_prefix] = ACTIONS(3075),
    [anon_sym_infix] = ACTIONS(3075),
    [anon_sym_postfix] = ACTIONS(3075),
    [anon_sym_AT] = ACTIONS(3073),
    [anon_sym_override] = ACTIONS(3075),
    [anon_sym_convenience] = ACTIONS(3075),
    [anon_sym_required] = ACTIONS(3075),
    [anon_sym_nonisolated] = ACTIONS(3075),
    [anon_sym_public] = ACTIONS(3075),
    [anon_sym_private] = ACTIONS(3075),
    [anon_sym_internal] = ACTIONS(3075),
    [anon_sym_fileprivate] = ACTIONS(3075),
    [anon_sym_open] = ACTIONS(3075),
    [anon_sym_mutating] = ACTIONS(3075),
    [anon_sym_nonmutating] = ACTIONS(3075),
    [anon_sym_static] = ACTIONS(3075),
    [anon_sym_dynamic] = ACTIONS(3075),
    [anon_sym_optional] = ACTIONS(3075),
    [anon_sym_distributed] = ACTIONS(3075),
    [anon_sym_final] = ACTIONS(3075),
    [anon_sym_inout] = ACTIONS(3075),
    [anon_sym_ATescaping] = ACTIONS(3075),
    [anon_sym_ATautoclosure] = ACTIONS(3075),
    [anon_sym_weak] = ACTIONS(3075),
    [anon_sym_unowned] = ACTIONS(3073),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3075),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3075),
    [anon_sym_borrowing] = ACTIONS(3075),
    [anon_sym_consuming] = ACTIONS(3075),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3075),
    [sym__explicit_semi] = ACTIONS(3075),
    [sym__arrow_operator_custom] = ACTIONS(3785),
    [sym__dot_custom] = ACTIONS(3075),
    [sym__conjunction_operator_custom] = ACTIONS(3075),
    [sym__disjunction_operator_custom] = ACTIONS(3075),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3075),
    [sym__eq_custom] = ACTIONS(3075),
    [sym__eq_eq_custom] = ACTIONS(3075),
    [sym__plus_then_ws] = ACTIONS(3075),
    [sym__minus_then_ws] = ACTIONS(3075),
    [sym__bang_custom] = ACTIONS(3075),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym_default_keyword] = ACTIONS(3075),
    [sym__as_custom] = ACTIONS(3075),
    [sym__as_quest_custom] = ACTIONS(3075),
    [sym__as_bang_custom] = ACTIONS(3075),
    [sym__async_keyword_custom] = ACTIONS(3787),
    [sym__custom_operator] = ACTIONS(3075),
  },
  [1021] = {
    [anon_sym_BANG] = ACTIONS(3219),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3219),
    [aux_sym_simple_identifier_token2] = ACTIONS(3221),
    [aux_sym_simple_identifier_token3] = ACTIONS(3221),
    [aux_sym_simple_identifier_token4] = ACTIONS(3221),
    [anon_sym_actor] = ACTIONS(3219),
    [anon_sym_async] = ACTIONS(3219),
    [anon_sym_each] = ACTIONS(3219),
    [anon_sym_lazy] = ACTIONS(3219),
    [anon_sym_repeat] = ACTIONS(3219),
    [anon_sym_package] = ACTIONS(3219),
    [anon_sym_COMMA] = ACTIONS(3221),
    [anon_sym_LPAREN] = ACTIONS(3221),
    [anon_sym_LBRACK] = ACTIONS(3221),
    [anon_sym_QMARK] = ACTIONS(3219),
    [anon_sym_QMARK2] = ACTIONS(3221),
    [anon_sym_AMP] = ACTIONS(3221),
    [aux_sym_custom_operator_token1] = ACTIONS(3221),
    [anon_sym_LT] = ACTIONS(3219),
    [anon_sym_GT] = ACTIONS(3219),
    [anon_sym_LBRACE] = ACTIONS(3221),
    [anon_sym_CARET_LBRACE] = ACTIONS(3221),
    [anon_sym_RBRACE] = ACTIONS(3221),
    [anon_sym_case] = ACTIONS(3219),
    [anon_sym_fallthrough] = ACTIONS(3219),
    [anon_sym_PLUS_EQ] = ACTIONS(3221),
    [anon_sym_DASH_EQ] = ACTIONS(3221),
    [anon_sym_STAR_EQ] = ACTIONS(3221),
    [anon_sym_SLASH_EQ] = ACTIONS(3221),
    [anon_sym_PERCENT_EQ] = ACTIONS(3221),
    [anon_sym_BANG_EQ] = ACTIONS(3219),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3221),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3221),
    [anon_sym_LT_EQ] = ACTIONS(3221),
    [anon_sym_GT_EQ] = ACTIONS(3221),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3221),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3221),
    [anon_sym_is] = ACTIONS(3219),
    [anon_sym_PLUS] = ACTIONS(3219),
    [anon_sym_DASH] = ACTIONS(3219),
    [anon_sym_STAR] = ACTIONS(3219),
    [anon_sym_SLASH] = ACTIONS(3219),
    [anon_sym_PERCENT] = ACTIONS(3219),
    [anon_sym_PLUS_PLUS] = ACTIONS(3221),
    [anon_sym_DASH_DASH] = ACTIONS(3221),
    [anon_sym_PIPE] = ACTIONS(3221),
    [anon_sym_CARET] = ACTIONS(3219),
    [anon_sym_LT_LT] = ACTIONS(3221),
    [anon_sym_GT_GT] = ACTIONS(3221),
    [anon_sym_class] = ACTIONS(3219),
    [anon_sym_prefix] = ACTIONS(3219),
    [anon_sym_infix] = ACTIONS(3219),
    [anon_sym_postfix] = ACTIONS(3219),
    [anon_sym_AT] = ACTIONS(3219),
    [anon_sym_override] = ACTIONS(3219),
    [anon_sym_convenience] = ACTIONS(3219),
    [anon_sym_required] = ACTIONS(3219),
    [anon_sym_nonisolated] = ACTIONS(3219),
    [anon_sym_public] = ACTIONS(3219),
    [anon_sym_private] = ACTIONS(3219),
    [anon_sym_internal] = ACTIONS(3219),
    [anon_sym_fileprivate] = ACTIONS(3219),
    [anon_sym_open] = ACTIONS(3219),
    [anon_sym_mutating] = ACTIONS(3219),
    [anon_sym_nonmutating] = ACTIONS(3219),
    [anon_sym_static] = ACTIONS(3219),
    [anon_sym_dynamic] = ACTIONS(3219),
    [anon_sym_optional] = ACTIONS(3219),
    [anon_sym_distributed] = ACTIONS(3219),
    [anon_sym_final] = ACTIONS(3219),
    [anon_sym_inout] = ACTIONS(3219),
    [anon_sym_ATescaping] = ACTIONS(3221),
    [anon_sym_ATautoclosure] = ACTIONS(3221),
    [anon_sym_weak] = ACTIONS(3219),
    [anon_sym_unowned] = ACTIONS(3219),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3221),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3221),
    [anon_sym_borrowing] = ACTIONS(3219),
    [anon_sym_consuming] = ACTIONS(3219),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3221),
    [sym__explicit_semi] = ACTIONS(3221),
    [sym__dot_custom] = ACTIONS(3221),
    [sym__conjunction_operator_custom] = ACTIONS(3221),
    [sym__disjunction_operator_custom] = ACTIONS(3221),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3221),
    [sym__eq_custom] = ACTIONS(3221),
    [sym__eq_eq_custom] = ACTIONS(3221),
    [sym__plus_then_ws] = ACTIONS(3221),
    [sym__minus_then_ws] = ACTIONS(3221),
    [sym__bang_custom] = ACTIONS(3221),
    [sym_default_keyword] = ACTIONS(3221),
    [sym_where_keyword] = ACTIONS(3221),
    [sym__as_custom] = ACTIONS(3221),
    [sym__as_quest_custom] = ACTIONS(3221),
    [sym__as_bang_custom] = ACTIONS(3221),
    [sym__custom_operator] = ACTIONS(3221),
  },
  [1022] = {
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3211),
    [anon_sym_async] = ACTIONS(3211),
    [anon_sym_lazy] = ACTIONS(3793),
    [anon_sym_package] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(617),
    [anon_sym_LBRACK] = ACTIONS(617),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(617),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_case] = ACTIONS(617),
    [anon_sym_fallthrough] = ACTIONS(617),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(617),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_typealias] = ACTIONS(3211),
    [anon_sym_struct] = ACTIONS(3211),
    [anon_sym_class] = ACTIONS(3793),
    [anon_sym_enum] = ACTIONS(3211),
    [anon_sym_let] = ACTIONS(3211),
    [anon_sym_var] = ACTIONS(3211),
    [anon_sym_func] = ACTIONS(3211),
    [anon_sym_extension] = ACTIONS(3211),
    [anon_sym_indirect] = ACTIONS(3211),
    [anon_sym_prefix] = ACTIONS(617),
    [anon_sym_infix] = ACTIONS(617),
    [anon_sym_postfix] = ACTIONS(617),
    [anon_sym_AT] = ACTIONS(3206),
    [anon_sym_override] = ACTIONS(617),
    [anon_sym_convenience] = ACTIONS(617),
    [anon_sym_required] = ACTIONS(617),
    [anon_sym_nonisolated] = ACTIONS(617),
    [anon_sym_public] = ACTIONS(617),
    [anon_sym_private] = ACTIONS(617),
    [anon_sym_internal] = ACTIONS(617),
    [anon_sym_fileprivate] = ACTIONS(617),
    [anon_sym_open] = ACTIONS(617),
    [anon_sym_mutating] = ACTIONS(617),
    [anon_sym_nonmutating] = ACTIONS(617),
    [anon_sym_static] = ACTIONS(617),
    [anon_sym_dynamic] = ACTIONS(617),
    [anon_sym_optional] = ACTIONS(617),
    [anon_sym_distributed] = ACTIONS(617),
    [anon_sym_final] = ACTIONS(3793),
    [anon_sym_inout] = ACTIONS(617),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(3793),
    [anon_sym_unowned] = ACTIONS(3206),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3793),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3793),
    [anon_sym_borrowing] = ACTIONS(617),
    [anon_sym_consuming] = ACTIONS(617),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym_default_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [1023] = {
    [anon_sym_BANG] = ACTIONS(3217),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3219),
    [aux_sym_simple_identifier_token2] = ACTIONS(3221),
    [aux_sym_simple_identifier_token3] = ACTIONS(3221),
    [aux_sym_simple_identifier_token4] = ACTIONS(3221),
    [anon_sym_actor] = ACTIONS(3219),
    [anon_sym_async] = ACTIONS(3219),
    [anon_sym_each] = ACTIONS(3219),
    [anon_sym_lazy] = ACTIONS(3217),
    [anon_sym_repeat] = ACTIONS(3219),
    [anon_sym_package] = ACTIONS(3217),
    [anon_sym_COMMA] = ACTIONS(3223),
    [anon_sym_LPAREN] = ACTIONS(3223),
    [anon_sym_LBRACK] = ACTIONS(3223),
    [anon_sym_QMARK] = ACTIONS(3217),
    [anon_sym_QMARK2] = ACTIONS(3223),
    [anon_sym_AMP] = ACTIONS(3223),
    [aux_sym_custom_operator_token1] = ACTIONS(3223),
    [anon_sym_LT] = ACTIONS(3217),
    [anon_sym_GT] = ACTIONS(3217),
    [anon_sym_LBRACE] = ACTIONS(3223),
    [anon_sym_CARET_LBRACE] = ACTIONS(3223),
    [anon_sym_RBRACE] = ACTIONS(3223),
    [anon_sym_case] = ACTIONS(3217),
    [anon_sym_fallthrough] = ACTIONS(3217),
    [anon_sym_PLUS_EQ] = ACTIONS(3223),
    [anon_sym_DASH_EQ] = ACTIONS(3223),
    [anon_sym_STAR_EQ] = ACTIONS(3223),
    [anon_sym_SLASH_EQ] = ACTIONS(3223),
    [anon_sym_PERCENT_EQ] = ACTIONS(3223),
    [anon_sym_BANG_EQ] = ACTIONS(3217),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3223),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3223),
    [anon_sym_LT_EQ] = ACTIONS(3223),
    [anon_sym_GT_EQ] = ACTIONS(3223),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3223),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3223),
    [anon_sym_is] = ACTIONS(3217),
    [anon_sym_PLUS] = ACTIONS(3217),
    [anon_sym_DASH] = ACTIONS(3217),
    [anon_sym_STAR] = ACTIONS(3217),
    [anon_sym_SLASH] = ACTIONS(3217),
    [anon_sym_PERCENT] = ACTIONS(3217),
    [anon_sym_PLUS_PLUS] = ACTIONS(3223),
    [anon_sym_DASH_DASH] = ACTIONS(3223),
    [anon_sym_PIPE] = ACTIONS(3223),
    [anon_sym_CARET] = ACTIONS(3217),
    [anon_sym_LT_LT] = ACTIONS(3223),
    [anon_sym_GT_GT] = ACTIONS(3223),
    [anon_sym_class] = ACTIONS(3217),
    [anon_sym_prefix] = ACTIONS(3217),
    [anon_sym_infix] = ACTIONS(3217),
    [anon_sym_postfix] = ACTIONS(3217),
    [anon_sym_AT] = ACTIONS(3217),
    [anon_sym_override] = ACTIONS(3217),
    [anon_sym_convenience] = ACTIONS(3217),
    [anon_sym_required] = ACTIONS(3217),
    [anon_sym_nonisolated] = ACTIONS(3217),
    [anon_sym_public] = ACTIONS(3217),
    [anon_sym_private] = ACTIONS(3217),
    [anon_sym_internal] = ACTIONS(3217),
    [anon_sym_fileprivate] = ACTIONS(3217),
    [anon_sym_open] = ACTIONS(3217),
    [anon_sym_mutating] = ACTIONS(3217),
    [anon_sym_nonmutating] = ACTIONS(3217),
    [anon_sym_static] = ACTIONS(3217),
    [anon_sym_dynamic] = ACTIONS(3217),
    [anon_sym_optional] = ACTIONS(3217),
    [anon_sym_distributed] = ACTIONS(3217),
    [anon_sym_final] = ACTIONS(3217),
    [anon_sym_inout] = ACTIONS(3217),
    [anon_sym_ATescaping] = ACTIONS(3223),
    [anon_sym_ATautoclosure] = ACTIONS(3223),
    [anon_sym_weak] = ACTIONS(3217),
    [anon_sym_unowned] = ACTIONS(3217),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3223),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3223),
    [anon_sym_borrowing] = ACTIONS(3217),
    [anon_sym_consuming] = ACTIONS(3217),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3223),
    [sym__explicit_semi] = ACTIONS(3223),
    [sym__dot_custom] = ACTIONS(3223),
    [sym__conjunction_operator_custom] = ACTIONS(3223),
    [sym__disjunction_operator_custom] = ACTIONS(3223),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3223),
    [sym__eq_custom] = ACTIONS(3223),
    [sym__eq_eq_custom] = ACTIONS(3223),
    [sym__plus_then_ws] = ACTIONS(3223),
    [sym__minus_then_ws] = ACTIONS(3223),
    [sym__bang_custom] = ACTIONS(3223),
    [sym_default_keyword] = ACTIONS(3223),
    [sym_where_keyword] = ACTIONS(3223),
    [sym__as_custom] = ACTIONS(3223),
    [sym__as_quest_custom] = ACTIONS(3223),
    [sym__as_bang_custom] = ACTIONS(3223),
    [sym__custom_operator] = ACTIONS(3223),
  },
  [1024] = {
    [anon_sym_BANG] = ACTIONS(3229),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3229),
    [aux_sym_simple_identifier_token2] = ACTIONS(3231),
    [aux_sym_simple_identifier_token3] = ACTIONS(3231),
    [aux_sym_simple_identifier_token4] = ACTIONS(3231),
    [anon_sym_actor] = ACTIONS(3229),
    [anon_sym_async] = ACTIONS(3229),
    [anon_sym_each] = ACTIONS(3229),
    [anon_sym_lazy] = ACTIONS(3229),
    [anon_sym_repeat] = ACTIONS(3229),
    [anon_sym_package] = ACTIONS(3229),
    [anon_sym_COMMA] = ACTIONS(3231),
    [anon_sym_LPAREN] = ACTIONS(3231),
    [anon_sym_LBRACK] = ACTIONS(3231),
    [anon_sym_QMARK] = ACTIONS(3229),
    [anon_sym_QMARK2] = ACTIONS(3231),
    [anon_sym_AMP] = ACTIONS(3231),
    [aux_sym_custom_operator_token1] = ACTIONS(3231),
    [anon_sym_LT] = ACTIONS(3229),
    [anon_sym_GT] = ACTIONS(3229),
    [anon_sym_LBRACE] = ACTIONS(3231),
    [anon_sym_CARET_LBRACE] = ACTIONS(3231),
    [anon_sym_RBRACE] = ACTIONS(3231),
    [anon_sym_case] = ACTIONS(3229),
    [anon_sym_fallthrough] = ACTIONS(3229),
    [anon_sym_PLUS_EQ] = ACTIONS(3231),
    [anon_sym_DASH_EQ] = ACTIONS(3231),
    [anon_sym_STAR_EQ] = ACTIONS(3231),
    [anon_sym_SLASH_EQ] = ACTIONS(3231),
    [anon_sym_PERCENT_EQ] = ACTIONS(3231),
    [anon_sym_BANG_EQ] = ACTIONS(3229),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3231),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3231),
    [anon_sym_LT_EQ] = ACTIONS(3231),
    [anon_sym_GT_EQ] = ACTIONS(3231),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3231),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3231),
    [anon_sym_is] = ACTIONS(3229),
    [anon_sym_PLUS] = ACTIONS(3229),
    [anon_sym_DASH] = ACTIONS(3229),
    [anon_sym_STAR] = ACTIONS(3229),
    [anon_sym_SLASH] = ACTIONS(3229),
    [anon_sym_PERCENT] = ACTIONS(3229),
    [anon_sym_PLUS_PLUS] = ACTIONS(3231),
    [anon_sym_DASH_DASH] = ACTIONS(3231),
    [anon_sym_PIPE] = ACTIONS(3231),
    [anon_sym_CARET] = ACTIONS(3229),
    [anon_sym_LT_LT] = ACTIONS(3231),
    [anon_sym_GT_GT] = ACTIONS(3231),
    [anon_sym_class] = ACTIONS(3229),
    [anon_sym_prefix] = ACTIONS(3229),
    [anon_sym_infix] = ACTIONS(3229),
    [anon_sym_postfix] = ACTIONS(3229),
    [anon_sym_AT] = ACTIONS(3229),
    [anon_sym_override] = ACTIONS(3229),
    [anon_sym_convenience] = ACTIONS(3229),
    [anon_sym_required] = ACTIONS(3229),
    [anon_sym_nonisolated] = ACTIONS(3229),
    [anon_sym_public] = ACTIONS(3229),
    [anon_sym_private] = ACTIONS(3229),
    [anon_sym_internal] = ACTIONS(3229),
    [anon_sym_fileprivate] = ACTIONS(3229),
    [anon_sym_open] = ACTIONS(3229),
    [anon_sym_mutating] = ACTIONS(3229),
    [anon_sym_nonmutating] = ACTIONS(3229),
    [anon_sym_static] = ACTIONS(3229),
    [anon_sym_dynamic] = ACTIONS(3229),
    [anon_sym_optional] = ACTIONS(3229),
    [anon_sym_distributed] = ACTIONS(3229),
    [anon_sym_final] = ACTIONS(3229),
    [anon_sym_inout] = ACTIONS(3229),
    [anon_sym_ATescaping] = ACTIONS(3231),
    [anon_sym_ATautoclosure] = ACTIONS(3231),
    [anon_sym_weak] = ACTIONS(3229),
    [anon_sym_unowned] = ACTIONS(3229),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3231),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3231),
    [anon_sym_borrowing] = ACTIONS(3229),
    [anon_sym_consuming] = ACTIONS(3229),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3231),
    [sym__explicit_semi] = ACTIONS(3231),
    [sym__dot_custom] = ACTIONS(3231),
    [sym__conjunction_operator_custom] = ACTIONS(3231),
    [sym__disjunction_operator_custom] = ACTIONS(3231),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3231),
    [sym__eq_custom] = ACTIONS(3231),
    [sym__eq_eq_custom] = ACTIONS(3231),
    [sym__plus_then_ws] = ACTIONS(3231),
    [sym__minus_then_ws] = ACTIONS(3231),
    [sym__bang_custom] = ACTIONS(3231),
    [sym_default_keyword] = ACTIONS(3231),
    [sym_where_keyword] = ACTIONS(3231),
    [sym__as_custom] = ACTIONS(3231),
    [sym__as_quest_custom] = ACTIONS(3231),
    [sym__as_bang_custom] = ACTIONS(3231),
    [sym__custom_operator] = ACTIONS(3231),
  },
  [1025] = {
    [sym__arrow_operator] = STATE(4426),
    [sym__async_keyword] = STATE(6926),
    [sym_throws] = STATE(8471),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1057),
    [anon_sym_BANG] = ACTIONS(3087),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3089),
    [anon_sym_package] = ACTIONS(3089),
    [anon_sym_COMMA] = ACTIONS(3089),
    [anon_sym_LPAREN] = ACTIONS(3089),
    [anon_sym_LBRACK] = ACTIONS(3089),
    [anon_sym_DOT] = ACTIONS(3087),
    [anon_sym_QMARK] = ACTIONS(3087),
    [anon_sym_QMARK2] = ACTIONS(3089),
    [anon_sym_AMP] = ACTIONS(3089),
    [aux_sym_custom_operator_token1] = ACTIONS(3089),
    [anon_sym_LT] = ACTIONS(3087),
    [anon_sym_GT] = ACTIONS(3087),
    [anon_sym_LBRACE] = ACTIONS(3089),
    [anon_sym_CARET_LBRACE] = ACTIONS(3089),
    [anon_sym_RBRACE] = ACTIONS(3089),
    [anon_sym_case] = ACTIONS(3089),
    [anon_sym_fallthrough] = ACTIONS(3089),
    [anon_sym_PLUS_EQ] = ACTIONS(3089),
    [anon_sym_DASH_EQ] = ACTIONS(3089),
    [anon_sym_STAR_EQ] = ACTIONS(3089),
    [anon_sym_SLASH_EQ] = ACTIONS(3089),
    [anon_sym_PERCENT_EQ] = ACTIONS(3089),
    [anon_sym_BANG_EQ] = ACTIONS(3087),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3089),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3089),
    [anon_sym_LT_EQ] = ACTIONS(3089),
    [anon_sym_GT_EQ] = ACTIONS(3089),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3089),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3089),
    [anon_sym_is] = ACTIONS(3089),
    [anon_sym_PLUS] = ACTIONS(3087),
    [anon_sym_DASH] = ACTIONS(3087),
    [anon_sym_STAR] = ACTIONS(3087),
    [anon_sym_SLASH] = ACTIONS(3087),
    [anon_sym_PERCENT] = ACTIONS(3087),
    [anon_sym_PLUS_PLUS] = ACTIONS(3089),
    [anon_sym_DASH_DASH] = ACTIONS(3089),
    [anon_sym_PIPE] = ACTIONS(3089),
    [anon_sym_CARET] = ACTIONS(3087),
    [anon_sym_LT_LT] = ACTIONS(3089),
    [anon_sym_GT_GT] = ACTIONS(3089),
    [anon_sym_class] = ACTIONS(3089),
    [anon_sym_prefix] = ACTIONS(3089),
    [anon_sym_infix] = ACTIONS(3089),
    [anon_sym_postfix] = ACTIONS(3089),
    [anon_sym_AT] = ACTIONS(3087),
    [anon_sym_override] = ACTIONS(3089),
    [anon_sym_convenience] = ACTIONS(3089),
    [anon_sym_required] = ACTIONS(3089),
    [anon_sym_nonisolated] = ACTIONS(3089),
    [anon_sym_public] = ACTIONS(3089),
    [anon_sym_private] = ACTIONS(3089),
    [anon_sym_internal] = ACTIONS(3089),
    [anon_sym_fileprivate] = ACTIONS(3089),
    [anon_sym_open] = ACTIONS(3089),
    [anon_sym_mutating] = ACTIONS(3089),
    [anon_sym_nonmutating] = ACTIONS(3089),
    [anon_sym_static] = ACTIONS(3089),
    [anon_sym_dynamic] = ACTIONS(3089),
    [anon_sym_optional] = ACTIONS(3089),
    [anon_sym_distributed] = ACTIONS(3089),
    [anon_sym_final] = ACTIONS(3089),
    [anon_sym_inout] = ACTIONS(3089),
    [anon_sym_ATescaping] = ACTIONS(3089),
    [anon_sym_ATautoclosure] = ACTIONS(3089),
    [anon_sym_weak] = ACTIONS(3089),
    [anon_sym_unowned] = ACTIONS(3087),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3089),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3089),
    [anon_sym_borrowing] = ACTIONS(3089),
    [anon_sym_consuming] = ACTIONS(3089),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3089),
    [sym__explicit_semi] = ACTIONS(3089),
    [sym__arrow_operator_custom] = ACTIONS(3089),
    [sym__dot_custom] = ACTIONS(3089),
    [sym__conjunction_operator_custom] = ACTIONS(3089),
    [sym__disjunction_operator_custom] = ACTIONS(3089),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3089),
    [sym__eq_custom] = ACTIONS(3089),
    [sym__eq_eq_custom] = ACTIONS(3089),
    [sym__plus_then_ws] = ACTIONS(3089),
    [sym__minus_then_ws] = ACTIONS(3089),
    [sym__bang_custom] = ACTIONS(3089),
    [sym__throws_keyword] = ACTIONS(3089),
    [sym__rethrows_keyword] = ACTIONS(3089),
    [sym_default_keyword] = ACTIONS(3089),
    [sym__as_custom] = ACTIONS(3089),
    [sym__as_quest_custom] = ACTIONS(3089),
    [sym__as_bang_custom] = ACTIONS(3089),
    [sym__async_keyword_custom] = ACTIONS(3089),
    [sym__custom_operator] = ACTIONS(3089),
  },
  [1026] = {
    [sym__arrow_operator] = STATE(4426),
    [sym__async_keyword] = STATE(6926),
    [sym_throws] = STATE(8471),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1057),
    [anon_sym_BANG] = ACTIONS(3069),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3071),
    [anon_sym_package] = ACTIONS(3071),
    [anon_sym_COMMA] = ACTIONS(3071),
    [anon_sym_LPAREN] = ACTIONS(3071),
    [anon_sym_LBRACK] = ACTIONS(3071),
    [anon_sym_DOT] = ACTIONS(3069),
    [anon_sym_QMARK] = ACTIONS(3069),
    [anon_sym_QMARK2] = ACTIONS(3071),
    [anon_sym_AMP] = ACTIONS(3071),
    [aux_sym_custom_operator_token1] = ACTIONS(3071),
    [anon_sym_LT] = ACTIONS(3069),
    [anon_sym_GT] = ACTIONS(3069),
    [anon_sym_LBRACE] = ACTIONS(3071),
    [anon_sym_CARET_LBRACE] = ACTIONS(3071),
    [anon_sym_RBRACE] = ACTIONS(3071),
    [anon_sym_case] = ACTIONS(3071),
    [anon_sym_fallthrough] = ACTIONS(3071),
    [anon_sym_PLUS_EQ] = ACTIONS(3071),
    [anon_sym_DASH_EQ] = ACTIONS(3071),
    [anon_sym_STAR_EQ] = ACTIONS(3071),
    [anon_sym_SLASH_EQ] = ACTIONS(3071),
    [anon_sym_PERCENT_EQ] = ACTIONS(3071),
    [anon_sym_BANG_EQ] = ACTIONS(3069),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3071),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3071),
    [anon_sym_LT_EQ] = ACTIONS(3071),
    [anon_sym_GT_EQ] = ACTIONS(3071),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3071),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3071),
    [anon_sym_is] = ACTIONS(3071),
    [anon_sym_PLUS] = ACTIONS(3069),
    [anon_sym_DASH] = ACTIONS(3069),
    [anon_sym_STAR] = ACTIONS(3069),
    [anon_sym_SLASH] = ACTIONS(3069),
    [anon_sym_PERCENT] = ACTIONS(3069),
    [anon_sym_PLUS_PLUS] = ACTIONS(3071),
    [anon_sym_DASH_DASH] = ACTIONS(3071),
    [anon_sym_PIPE] = ACTIONS(3071),
    [anon_sym_CARET] = ACTIONS(3069),
    [anon_sym_LT_LT] = ACTIONS(3071),
    [anon_sym_GT_GT] = ACTIONS(3071),
    [anon_sym_class] = ACTIONS(3071),
    [anon_sym_prefix] = ACTIONS(3071),
    [anon_sym_infix] = ACTIONS(3071),
    [anon_sym_postfix] = ACTIONS(3071),
    [anon_sym_AT] = ACTIONS(3069),
    [anon_sym_override] = ACTIONS(3071),
    [anon_sym_convenience] = ACTIONS(3071),
    [anon_sym_required] = ACTIONS(3071),
    [anon_sym_nonisolated] = ACTIONS(3071),
    [anon_sym_public] = ACTIONS(3071),
    [anon_sym_private] = ACTIONS(3071),
    [anon_sym_internal] = ACTIONS(3071),
    [anon_sym_fileprivate] = ACTIONS(3071),
    [anon_sym_open] = ACTIONS(3071),
    [anon_sym_mutating] = ACTIONS(3071),
    [anon_sym_nonmutating] = ACTIONS(3071),
    [anon_sym_static] = ACTIONS(3071),
    [anon_sym_dynamic] = ACTIONS(3071),
    [anon_sym_optional] = ACTIONS(3071),
    [anon_sym_distributed] = ACTIONS(3071),
    [anon_sym_final] = ACTIONS(3071),
    [anon_sym_inout] = ACTIONS(3071),
    [anon_sym_ATescaping] = ACTIONS(3071),
    [anon_sym_ATautoclosure] = ACTIONS(3071),
    [anon_sym_weak] = ACTIONS(3071),
    [anon_sym_unowned] = ACTIONS(3069),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3071),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3071),
    [anon_sym_borrowing] = ACTIONS(3071),
    [anon_sym_consuming] = ACTIONS(3071),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3071),
    [sym__explicit_semi] = ACTIONS(3071),
    [sym__arrow_operator_custom] = ACTIONS(3071),
    [sym__dot_custom] = ACTIONS(3071),
    [sym__conjunction_operator_custom] = ACTIONS(3071),
    [sym__disjunction_operator_custom] = ACTIONS(3071),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3071),
    [sym__eq_custom] = ACTIONS(3071),
    [sym__eq_eq_custom] = ACTIONS(3071),
    [sym__plus_then_ws] = ACTIONS(3071),
    [sym__minus_then_ws] = ACTIONS(3071),
    [sym__bang_custom] = ACTIONS(3071),
    [sym__throws_keyword] = ACTIONS(3071),
    [sym__rethrows_keyword] = ACTIONS(3071),
    [sym_default_keyword] = ACTIONS(3071),
    [sym__as_custom] = ACTIONS(3071),
    [sym__as_quest_custom] = ACTIONS(3071),
    [sym__as_bang_custom] = ACTIONS(3071),
    [sym__async_keyword_custom] = ACTIONS(3071),
    [sym__custom_operator] = ACTIONS(3071),
  },
  [1027] = {
    [sym__arrow_operator] = STATE(4426),
    [sym__async_keyword] = STATE(6926),
    [sym_throws] = STATE(8471),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1057),
    [anon_sym_BANG] = ACTIONS(3061),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3063),
    [anon_sym_package] = ACTIONS(3063),
    [anon_sym_COMMA] = ACTIONS(3063),
    [anon_sym_LPAREN] = ACTIONS(3063),
    [anon_sym_LBRACK] = ACTIONS(3063),
    [anon_sym_DOT] = ACTIONS(3789),
    [anon_sym_QMARK] = ACTIONS(3061),
    [anon_sym_QMARK2] = ACTIONS(3063),
    [anon_sym_AMP] = ACTIONS(3791),
    [aux_sym_custom_operator_token1] = ACTIONS(3063),
    [anon_sym_LT] = ACTIONS(3061),
    [anon_sym_GT] = ACTIONS(3061),
    [anon_sym_LBRACE] = ACTIONS(3063),
    [anon_sym_CARET_LBRACE] = ACTIONS(3063),
    [anon_sym_RBRACE] = ACTIONS(3063),
    [anon_sym_case] = ACTIONS(3063),
    [anon_sym_fallthrough] = ACTIONS(3063),
    [anon_sym_PLUS_EQ] = ACTIONS(3063),
    [anon_sym_DASH_EQ] = ACTIONS(3063),
    [anon_sym_STAR_EQ] = ACTIONS(3063),
    [anon_sym_SLASH_EQ] = ACTIONS(3063),
    [anon_sym_PERCENT_EQ] = ACTIONS(3063),
    [anon_sym_BANG_EQ] = ACTIONS(3061),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3063),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3063),
    [anon_sym_LT_EQ] = ACTIONS(3063),
    [anon_sym_GT_EQ] = ACTIONS(3063),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3063),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3063),
    [anon_sym_is] = ACTIONS(3063),
    [anon_sym_PLUS] = ACTIONS(3061),
    [anon_sym_DASH] = ACTIONS(3061),
    [anon_sym_STAR] = ACTIONS(3061),
    [anon_sym_SLASH] = ACTIONS(3061),
    [anon_sym_PERCENT] = ACTIONS(3061),
    [anon_sym_PLUS_PLUS] = ACTIONS(3063),
    [anon_sym_DASH_DASH] = ACTIONS(3063),
    [anon_sym_PIPE] = ACTIONS(3063),
    [anon_sym_CARET] = ACTIONS(3061),
    [anon_sym_LT_LT] = ACTIONS(3063),
    [anon_sym_GT_GT] = ACTIONS(3063),
    [anon_sym_class] = ACTIONS(3063),
    [anon_sym_prefix] = ACTIONS(3063),
    [anon_sym_infix] = ACTIONS(3063),
    [anon_sym_postfix] = ACTIONS(3063),
    [anon_sym_AT] = ACTIONS(3061),
    [anon_sym_override] = ACTIONS(3063),
    [anon_sym_convenience] = ACTIONS(3063),
    [anon_sym_required] = ACTIONS(3063),
    [anon_sym_nonisolated] = ACTIONS(3063),
    [anon_sym_public] = ACTIONS(3063),
    [anon_sym_private] = ACTIONS(3063),
    [anon_sym_internal] = ACTIONS(3063),
    [anon_sym_fileprivate] = ACTIONS(3063),
    [anon_sym_open] = ACTIONS(3063),
    [anon_sym_mutating] = ACTIONS(3063),
    [anon_sym_nonmutating] = ACTIONS(3063),
    [anon_sym_static] = ACTIONS(3063),
    [anon_sym_dynamic] = ACTIONS(3063),
    [anon_sym_optional] = ACTIONS(3063),
    [anon_sym_distributed] = ACTIONS(3063),
    [anon_sym_final] = ACTIONS(3063),
    [anon_sym_inout] = ACTIONS(3063),
    [anon_sym_ATescaping] = ACTIONS(3063),
    [anon_sym_ATautoclosure] = ACTIONS(3063),
    [anon_sym_weak] = ACTIONS(3063),
    [anon_sym_unowned] = ACTIONS(3061),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3063),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3063),
    [anon_sym_borrowing] = ACTIONS(3063),
    [anon_sym_consuming] = ACTIONS(3063),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3063),
    [sym__explicit_semi] = ACTIONS(3063),
    [sym__arrow_operator_custom] = ACTIONS(3785),
    [sym__dot_custom] = ACTIONS(3063),
    [sym__conjunction_operator_custom] = ACTIONS(3063),
    [sym__disjunction_operator_custom] = ACTIONS(3063),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3063),
    [sym__eq_custom] = ACTIONS(3063),
    [sym__eq_eq_custom] = ACTIONS(3063),
    [sym__plus_then_ws] = ACTIONS(3063),
    [sym__minus_then_ws] = ACTIONS(3063),
    [sym__bang_custom] = ACTIONS(3063),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym_default_keyword] = ACTIONS(3063),
    [sym__as_custom] = ACTIONS(3063),
    [sym__as_quest_custom] = ACTIONS(3063),
    [sym__as_bang_custom] = ACTIONS(3063),
    [sym__async_keyword_custom] = ACTIONS(3787),
    [sym__custom_operator] = ACTIONS(3063),
  },
  [1028] = {
    [anon_sym_BANG] = ACTIONS(3219),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3219),
    [aux_sym_simple_identifier_token2] = ACTIONS(3221),
    [aux_sym_simple_identifier_token3] = ACTIONS(3221),
    [aux_sym_simple_identifier_token4] = ACTIONS(3221),
    [anon_sym_actor] = ACTIONS(3219),
    [anon_sym_async] = ACTIONS(3219),
    [anon_sym_each] = ACTIONS(3219),
    [anon_sym_lazy] = ACTIONS(3219),
    [anon_sym_repeat] = ACTIONS(3219),
    [anon_sym_package] = ACTIONS(3219),
    [anon_sym_COMMA] = ACTIONS(3221),
    [anon_sym_LPAREN] = ACTIONS(3221),
    [anon_sym_LBRACK] = ACTIONS(3221),
    [anon_sym_QMARK] = ACTIONS(3219),
    [anon_sym_QMARK2] = ACTIONS(3221),
    [anon_sym_AMP] = ACTIONS(3221),
    [aux_sym_custom_operator_token1] = ACTIONS(3221),
    [anon_sym_LT] = ACTIONS(3219),
    [anon_sym_GT] = ACTIONS(3219),
    [anon_sym_LBRACE] = ACTIONS(3221),
    [anon_sym_CARET_LBRACE] = ACTIONS(3221),
    [anon_sym_RBRACE] = ACTIONS(3221),
    [anon_sym_case] = ACTIONS(3219),
    [anon_sym_fallthrough] = ACTIONS(3219),
    [anon_sym_PLUS_EQ] = ACTIONS(3221),
    [anon_sym_DASH_EQ] = ACTIONS(3221),
    [anon_sym_STAR_EQ] = ACTIONS(3221),
    [anon_sym_SLASH_EQ] = ACTIONS(3221),
    [anon_sym_PERCENT_EQ] = ACTIONS(3221),
    [anon_sym_BANG_EQ] = ACTIONS(3219),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3221),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3221),
    [anon_sym_LT_EQ] = ACTIONS(3221),
    [anon_sym_GT_EQ] = ACTIONS(3221),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3221),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3221),
    [anon_sym_is] = ACTIONS(3219),
    [anon_sym_PLUS] = ACTIONS(3219),
    [anon_sym_DASH] = ACTIONS(3219),
    [anon_sym_STAR] = ACTIONS(3219),
    [anon_sym_SLASH] = ACTIONS(3219),
    [anon_sym_PERCENT] = ACTIONS(3219),
    [anon_sym_PLUS_PLUS] = ACTIONS(3221),
    [anon_sym_DASH_DASH] = ACTIONS(3221),
    [anon_sym_PIPE] = ACTIONS(3221),
    [anon_sym_CARET] = ACTIONS(3219),
    [anon_sym_LT_LT] = ACTIONS(3221),
    [anon_sym_GT_GT] = ACTIONS(3221),
    [anon_sym_class] = ACTIONS(3219),
    [anon_sym_prefix] = ACTIONS(3219),
    [anon_sym_infix] = ACTIONS(3219),
    [anon_sym_postfix] = ACTIONS(3219),
    [anon_sym_AT] = ACTIONS(3219),
    [anon_sym_override] = ACTIONS(3219),
    [anon_sym_convenience] = ACTIONS(3219),
    [anon_sym_required] = ACTIONS(3219),
    [anon_sym_nonisolated] = ACTIONS(3219),
    [anon_sym_public] = ACTIONS(3219),
    [anon_sym_private] = ACTIONS(3219),
    [anon_sym_internal] = ACTIONS(3219),
    [anon_sym_fileprivate] = ACTIONS(3219),
    [anon_sym_open] = ACTIONS(3219),
    [anon_sym_mutating] = ACTIONS(3219),
    [anon_sym_nonmutating] = ACTIONS(3219),
    [anon_sym_static] = ACTIONS(3219),
    [anon_sym_dynamic] = ACTIONS(3219),
    [anon_sym_optional] = ACTIONS(3219),
    [anon_sym_distributed] = ACTIONS(3219),
    [anon_sym_final] = ACTIONS(3219),
    [anon_sym_inout] = ACTIONS(3219),
    [anon_sym_ATescaping] = ACTIONS(3221),
    [anon_sym_ATautoclosure] = ACTIONS(3221),
    [anon_sym_weak] = ACTIONS(3219),
    [anon_sym_unowned] = ACTIONS(3219),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3221),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3221),
    [anon_sym_borrowing] = ACTIONS(3219),
    [anon_sym_consuming] = ACTIONS(3219),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3221),
    [sym__explicit_semi] = ACTIONS(3221),
    [sym__dot_custom] = ACTIONS(3221),
    [sym__conjunction_operator_custom] = ACTIONS(3221),
    [sym__disjunction_operator_custom] = ACTIONS(3221),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3221),
    [sym__eq_custom] = ACTIONS(3221),
    [sym__eq_eq_custom] = ACTIONS(3221),
    [sym__plus_then_ws] = ACTIONS(3221),
    [sym__minus_then_ws] = ACTIONS(3221),
    [sym__bang_custom] = ACTIONS(3221),
    [sym_default_keyword] = ACTIONS(3221),
    [sym__as_custom] = ACTIONS(3221),
    [sym__as_quest_custom] = ACTIONS(3221),
    [sym__as_bang_custom] = ACTIONS(3221),
    [sym__custom_operator] = ACTIONS(3221),
  },
  [1029] = {
    [sym_simple_identifier] = STATE(1758),
    [sym__contextual_simple_identifier] = STATE(1806),
    [sym__unannotated_type] = STATE(1760),
    [sym_user_type] = STATE(1775),
    [sym__simple_user_type] = STATE(1757),
    [sym_tuple_type] = STATE(1716),
    [sym_function_type] = STATE(1760),
    [sym_array_type] = STATE(1775),
    [sym_dictionary_type] = STATE(1775),
    [sym_optional_type] = STATE(1760),
    [sym_metatype] = STATE(1760),
    [sym_opaque_type] = STATE(1760),
    [sym_existential_type] = STATE(1760),
    [sym_type_parameter_pack] = STATE(1760),
    [sym_type_pack_expansion] = STATE(1760),
    [sym_protocol_composition_type] = STATE(1760),
    [sym_suppressed_constraint] = STATE(1760),
    [sym__parenthesized_type] = STATE(1881),
    [sym__parameter_ownership_modifier] = STATE(1806),
    [sym_comment] = ACTIONS(5),
    [aux_sym_simple_identifier_token1] = ACTIONS(3796),
    [aux_sym_simple_identifier_token2] = ACTIONS(3798),
    [aux_sym_simple_identifier_token3] = ACTIONS(3798),
    [aux_sym_simple_identifier_token4] = ACTIONS(3798),
    [anon_sym_actor] = ACTIONS(3800),
    [anon_sym_async] = ACTIONS(3800),
    [anon_sym_each] = ACTIONS(3803),
    [anon_sym_lazy] = ACTIONS(3800),
    [anon_sym_repeat] = ACTIONS(3805),
    [anon_sym_package] = ACTIONS(3800),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_BANG2] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(3807),
    [anon_sym_LBRACK] = ACTIONS(3809),
    [anon_sym_DOT] = ACTIONS(617),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(3811),
    [anon_sym_any] = ACTIONS(3813),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(3815),
    [anon_sym_LT] = ACTIONS(617),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_case] = ACTIONS(623),
    [anon_sym_import] = ACTIONS(623),
    [anon_sym_typealias] = ACTIONS(623),
    [anon_sym_struct] = ACTIONS(623),
    [anon_sym_class] = ACTIONS(623),
    [anon_sym_enum] = ACTIONS(623),
    [anon_sym_protocol] = ACTIONS(623),
    [anon_sym_let] = ACTIONS(623),
    [anon_sym_var] = ACTIONS(623),
    [anon_sym_func] = ACTIONS(623),
    [anon_sym_extension] = ACTIONS(623),
    [anon_sym_indirect] = ACTIONS(623),
    [anon_sym_init] = ACTIONS(623),
    [anon_sym_deinit] = ACTIONS(623),
    [anon_sym_subscript] = ACTIONS(623),
    [anon_sym_prefix] = ACTIONS(623),
    [anon_sym_infix] = ACTIONS(623),
    [anon_sym_postfix] = ACTIONS(623),
    [anon_sym_precedencegroup] = ACTIONS(623),
    [anon_sym_associatedtype] = ACTIONS(623),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(623),
    [anon_sym_convenience] = ACTIONS(623),
    [anon_sym_required] = ACTIONS(623),
    [anon_sym_nonisolated] = ACTIONS(623),
    [anon_sym_public] = ACTIONS(623),
    [anon_sym_private] = ACTIONS(623),
    [anon_sym_internal] = ACTIONS(623),
    [anon_sym_fileprivate] = ACTIONS(623),
    [anon_sym_open] = ACTIONS(623),
    [anon_sym_mutating] = ACTIONS(623),
    [anon_sym_nonmutating] = ACTIONS(623),
    [anon_sym_static] = ACTIONS(623),
    [anon_sym_dynamic] = ACTIONS(623),
    [anon_sym_optional] = ACTIONS(623),
    [anon_sym_distributed] = ACTIONS(623),
    [anon_sym_final] = ACTIONS(623),
    [anon_sym_inout] = ACTIONS(623),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(623),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(3800),
    [anon_sym_consuming] = ACTIONS(3800),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym_where_keyword] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
  },
  [1030] = {
    [anon_sym_BANG] = ACTIONS(3229),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3229),
    [aux_sym_simple_identifier_token2] = ACTIONS(3231),
    [aux_sym_simple_identifier_token3] = ACTIONS(3231),
    [aux_sym_simple_identifier_token4] = ACTIONS(3231),
    [anon_sym_actor] = ACTIONS(3229),
    [anon_sym_async] = ACTIONS(3229),
    [anon_sym_each] = ACTIONS(3229),
    [anon_sym_lazy] = ACTIONS(3229),
    [anon_sym_repeat] = ACTIONS(3229),
    [anon_sym_package] = ACTIONS(3229),
    [anon_sym_COMMA] = ACTIONS(3231),
    [anon_sym_LPAREN] = ACTIONS(3231),
    [anon_sym_LBRACK] = ACTIONS(3231),
    [anon_sym_QMARK] = ACTIONS(3229),
    [anon_sym_QMARK2] = ACTIONS(3231),
    [anon_sym_AMP] = ACTIONS(3231),
    [aux_sym_custom_operator_token1] = ACTIONS(3231),
    [anon_sym_LT] = ACTIONS(3229),
    [anon_sym_GT] = ACTIONS(3229),
    [anon_sym_LBRACE] = ACTIONS(3231),
    [anon_sym_CARET_LBRACE] = ACTIONS(3231),
    [anon_sym_RBRACE] = ACTIONS(3231),
    [anon_sym_case] = ACTIONS(3229),
    [anon_sym_fallthrough] = ACTIONS(3229),
    [anon_sym_PLUS_EQ] = ACTIONS(3231),
    [anon_sym_DASH_EQ] = ACTIONS(3231),
    [anon_sym_STAR_EQ] = ACTIONS(3231),
    [anon_sym_SLASH_EQ] = ACTIONS(3231),
    [anon_sym_PERCENT_EQ] = ACTIONS(3231),
    [anon_sym_BANG_EQ] = ACTIONS(3229),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3231),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3231),
    [anon_sym_LT_EQ] = ACTIONS(3231),
    [anon_sym_GT_EQ] = ACTIONS(3231),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3231),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3231),
    [anon_sym_is] = ACTIONS(3229),
    [anon_sym_PLUS] = ACTIONS(3229),
    [anon_sym_DASH] = ACTIONS(3229),
    [anon_sym_STAR] = ACTIONS(3229),
    [anon_sym_SLASH] = ACTIONS(3229),
    [anon_sym_PERCENT] = ACTIONS(3229),
    [anon_sym_PLUS_PLUS] = ACTIONS(3231),
    [anon_sym_DASH_DASH] = ACTIONS(3231),
    [anon_sym_PIPE] = ACTIONS(3231),
    [anon_sym_CARET] = ACTIONS(3229),
    [anon_sym_LT_LT] = ACTIONS(3231),
    [anon_sym_GT_GT] = ACTIONS(3231),
    [anon_sym_class] = ACTIONS(3229),
    [anon_sym_prefix] = ACTIONS(3229),
    [anon_sym_infix] = ACTIONS(3229),
    [anon_sym_postfix] = ACTIONS(3229),
    [anon_sym_AT] = ACTIONS(3229),
    [anon_sym_override] = ACTIONS(3229),
    [anon_sym_convenience] = ACTIONS(3229),
    [anon_sym_required] = ACTIONS(3229),
    [anon_sym_nonisolated] = ACTIONS(3229),
    [anon_sym_public] = ACTIONS(3229),
    [anon_sym_private] = ACTIONS(3229),
    [anon_sym_internal] = ACTIONS(3229),
    [anon_sym_fileprivate] = ACTIONS(3229),
    [anon_sym_open] = ACTIONS(3229),
    [anon_sym_mutating] = ACTIONS(3229),
    [anon_sym_nonmutating] = ACTIONS(3229),
    [anon_sym_static] = ACTIONS(3229),
    [anon_sym_dynamic] = ACTIONS(3229),
    [anon_sym_optional] = ACTIONS(3229),
    [anon_sym_distributed] = ACTIONS(3229),
    [anon_sym_final] = ACTIONS(3229),
    [anon_sym_inout] = ACTIONS(3229),
    [anon_sym_ATescaping] = ACTIONS(3231),
    [anon_sym_ATautoclosure] = ACTIONS(3231),
    [anon_sym_weak] = ACTIONS(3229),
    [anon_sym_unowned] = ACTIONS(3229),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3231),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3231),
    [anon_sym_borrowing] = ACTIONS(3229),
    [anon_sym_consuming] = ACTIONS(3229),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3231),
    [sym__explicit_semi] = ACTIONS(3231),
    [sym__dot_custom] = ACTIONS(3231),
    [sym__conjunction_operator_custom] = ACTIONS(3231),
    [sym__disjunction_operator_custom] = ACTIONS(3231),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3231),
    [sym__eq_custom] = ACTIONS(3231),
    [sym__eq_eq_custom] = ACTIONS(3231),
    [sym__plus_then_ws] = ACTIONS(3231),
    [sym__minus_then_ws] = ACTIONS(3231),
    [sym__bang_custom] = ACTIONS(3231),
    [sym_default_keyword] = ACTIONS(3231),
    [sym__as_custom] = ACTIONS(3231),
    [sym__as_quest_custom] = ACTIONS(3231),
    [sym__as_bang_custom] = ACTIONS(3231),
    [sym__custom_operator] = ACTIONS(3231),
  },
  [1031] = {
    [anon_sym_BANG] = ACTIONS(3237),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3237),
    [aux_sym_simple_identifier_token2] = ACTIONS(3239),
    [aux_sym_simple_identifier_token3] = ACTIONS(3239),
    [aux_sym_simple_identifier_token4] = ACTIONS(3239),
    [anon_sym_actor] = ACTIONS(3237),
    [anon_sym_async] = ACTIONS(3237),
    [anon_sym_each] = ACTIONS(3237),
    [anon_sym_lazy] = ACTIONS(3237),
    [anon_sym_repeat] = ACTIONS(3237),
    [anon_sym_package] = ACTIONS(3237),
    [anon_sym_COMMA] = ACTIONS(3239),
    [anon_sym_LPAREN] = ACTIONS(3239),
    [anon_sym_LBRACK] = ACTIONS(3239),
    [anon_sym_QMARK] = ACTIONS(3237),
    [anon_sym_QMARK2] = ACTIONS(3239),
    [anon_sym_AMP] = ACTIONS(3239),
    [aux_sym_custom_operator_token1] = ACTIONS(3239),
    [anon_sym_LT] = ACTIONS(3237),
    [anon_sym_GT] = ACTIONS(3237),
    [anon_sym_LBRACE] = ACTIONS(3239),
    [anon_sym_CARET_LBRACE] = ACTIONS(3239),
    [anon_sym_RBRACE] = ACTIONS(3239),
    [anon_sym_case] = ACTIONS(3237),
    [anon_sym_fallthrough] = ACTIONS(3237),
    [anon_sym_PLUS_EQ] = ACTIONS(3239),
    [anon_sym_DASH_EQ] = ACTIONS(3239),
    [anon_sym_STAR_EQ] = ACTIONS(3239),
    [anon_sym_SLASH_EQ] = ACTIONS(3239),
    [anon_sym_PERCENT_EQ] = ACTIONS(3239),
    [anon_sym_BANG_EQ] = ACTIONS(3237),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3239),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3239),
    [anon_sym_LT_EQ] = ACTIONS(3239),
    [anon_sym_GT_EQ] = ACTIONS(3239),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3239),
    [anon_sym_is] = ACTIONS(3237),
    [anon_sym_PLUS] = ACTIONS(3237),
    [anon_sym_DASH] = ACTIONS(3237),
    [anon_sym_STAR] = ACTIONS(3237),
    [anon_sym_SLASH] = ACTIONS(3237),
    [anon_sym_PERCENT] = ACTIONS(3237),
    [anon_sym_PLUS_PLUS] = ACTIONS(3239),
    [anon_sym_DASH_DASH] = ACTIONS(3239),
    [anon_sym_PIPE] = ACTIONS(3239),
    [anon_sym_CARET] = ACTIONS(3237),
    [anon_sym_LT_LT] = ACTIONS(3239),
    [anon_sym_GT_GT] = ACTIONS(3239),
    [anon_sym_class] = ACTIONS(3237),
    [anon_sym_prefix] = ACTIONS(3237),
    [anon_sym_infix] = ACTIONS(3237),
    [anon_sym_postfix] = ACTIONS(3237),
    [anon_sym_AT] = ACTIONS(3237),
    [anon_sym_override] = ACTIONS(3237),
    [anon_sym_convenience] = ACTIONS(3237),
    [anon_sym_required] = ACTIONS(3237),
    [anon_sym_nonisolated] = ACTIONS(3237),
    [anon_sym_public] = ACTIONS(3237),
    [anon_sym_private] = ACTIONS(3237),
    [anon_sym_internal] = ACTIONS(3237),
    [anon_sym_fileprivate] = ACTIONS(3237),
    [anon_sym_open] = ACTIONS(3237),
    [anon_sym_mutating] = ACTIONS(3237),
    [anon_sym_nonmutating] = ACTIONS(3237),
    [anon_sym_static] = ACTIONS(3237),
    [anon_sym_dynamic] = ACTIONS(3237),
    [anon_sym_optional] = ACTIONS(3237),
    [anon_sym_distributed] = ACTIONS(3237),
    [anon_sym_final] = ACTIONS(3237),
    [anon_sym_inout] = ACTIONS(3237),
    [anon_sym_ATescaping] = ACTIONS(3239),
    [anon_sym_ATautoclosure] = ACTIONS(3239),
    [anon_sym_weak] = ACTIONS(3237),
    [anon_sym_unowned] = ACTIONS(3237),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3239),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3239),
    [anon_sym_borrowing] = ACTIONS(3237),
    [anon_sym_consuming] = ACTIONS(3237),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3239),
    [sym__explicit_semi] = ACTIONS(3239),
    [sym__dot_custom] = ACTIONS(3239),
    [sym__conjunction_operator_custom] = ACTIONS(3239),
    [sym__disjunction_operator_custom] = ACTIONS(3239),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3239),
    [sym__eq_custom] = ACTIONS(3239),
    [sym__eq_eq_custom] = ACTIONS(3239),
    [sym__plus_then_ws] = ACTIONS(3239),
    [sym__minus_then_ws] = ACTIONS(3239),
    [sym__bang_custom] = ACTIONS(3239),
    [sym_default_keyword] = ACTIONS(3239),
    [sym__as_custom] = ACTIONS(3239),
    [sym__as_quest_custom] = ACTIONS(3239),
    [sym__as_bang_custom] = ACTIONS(3239),
    [sym__custom_operator] = ACTIONS(3239),
  },
  [1032] = {
    [anon_sym_BANG] = ACTIONS(3225),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3225),
    [aux_sym_simple_identifier_token2] = ACTIONS(3227),
    [aux_sym_simple_identifier_token3] = ACTIONS(3227),
    [aux_sym_simple_identifier_token4] = ACTIONS(3227),
    [anon_sym_actor] = ACTIONS(3225),
    [anon_sym_async] = ACTIONS(3225),
    [anon_sym_each] = ACTIONS(3225),
    [anon_sym_lazy] = ACTIONS(3225),
    [anon_sym_repeat] = ACTIONS(3225),
    [anon_sym_package] = ACTIONS(3225),
    [anon_sym_COMMA] = ACTIONS(3227),
    [anon_sym_LPAREN] = ACTIONS(3227),
    [anon_sym_LBRACK] = ACTIONS(3227),
    [anon_sym_QMARK] = ACTIONS(3225),
    [anon_sym_QMARK2] = ACTIONS(3227),
    [anon_sym_AMP] = ACTIONS(3227),
    [aux_sym_custom_operator_token1] = ACTIONS(3227),
    [anon_sym_LT] = ACTIONS(3225),
    [anon_sym_GT] = ACTIONS(3225),
    [anon_sym_LBRACE] = ACTIONS(3227),
    [anon_sym_CARET_LBRACE] = ACTIONS(3227),
    [anon_sym_RBRACE] = ACTIONS(3227),
    [anon_sym_case] = ACTIONS(3225),
    [anon_sym_fallthrough] = ACTIONS(3225),
    [anon_sym_PLUS_EQ] = ACTIONS(3227),
    [anon_sym_DASH_EQ] = ACTIONS(3227),
    [anon_sym_STAR_EQ] = ACTIONS(3227),
    [anon_sym_SLASH_EQ] = ACTIONS(3227),
    [anon_sym_PERCENT_EQ] = ACTIONS(3227),
    [anon_sym_BANG_EQ] = ACTIONS(3225),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3227),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3227),
    [anon_sym_LT_EQ] = ACTIONS(3227),
    [anon_sym_GT_EQ] = ACTIONS(3227),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3227),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3227),
    [anon_sym_is] = ACTIONS(3225),
    [anon_sym_PLUS] = ACTIONS(3225),
    [anon_sym_DASH] = ACTIONS(3225),
    [anon_sym_STAR] = ACTIONS(3225),
    [anon_sym_SLASH] = ACTIONS(3225),
    [anon_sym_PERCENT] = ACTIONS(3225),
    [anon_sym_PLUS_PLUS] = ACTIONS(3227),
    [anon_sym_DASH_DASH] = ACTIONS(3227),
    [anon_sym_PIPE] = ACTIONS(3227),
    [anon_sym_CARET] = ACTIONS(3225),
    [anon_sym_LT_LT] = ACTIONS(3227),
    [anon_sym_GT_GT] = ACTIONS(3227),
    [anon_sym_class] = ACTIONS(3225),
    [anon_sym_prefix] = ACTIONS(3225),
    [anon_sym_infix] = ACTIONS(3225),
    [anon_sym_postfix] = ACTIONS(3225),
    [anon_sym_AT] = ACTIONS(3225),
    [anon_sym_override] = ACTIONS(3225),
    [anon_sym_convenience] = ACTIONS(3225),
    [anon_sym_required] = ACTIONS(3225),
    [anon_sym_nonisolated] = ACTIONS(3225),
    [anon_sym_public] = ACTIONS(3225),
    [anon_sym_private] = ACTIONS(3225),
    [anon_sym_internal] = ACTIONS(3225),
    [anon_sym_fileprivate] = ACTIONS(3225),
    [anon_sym_open] = ACTIONS(3225),
    [anon_sym_mutating] = ACTIONS(3225),
    [anon_sym_nonmutating] = ACTIONS(3225),
    [anon_sym_static] = ACTIONS(3225),
    [anon_sym_dynamic] = ACTIONS(3225),
    [anon_sym_optional] = ACTIONS(3225),
    [anon_sym_distributed] = ACTIONS(3225),
    [anon_sym_final] = ACTIONS(3225),
    [anon_sym_inout] = ACTIONS(3225),
    [anon_sym_ATescaping] = ACTIONS(3227),
    [anon_sym_ATautoclosure] = ACTIONS(3227),
    [anon_sym_weak] = ACTIONS(3225),
    [anon_sym_unowned] = ACTIONS(3225),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3227),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3227),
    [anon_sym_borrowing] = ACTIONS(3225),
    [anon_sym_consuming] = ACTIONS(3225),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3227),
    [sym__explicit_semi] = ACTIONS(3227),
    [sym__dot_custom] = ACTIONS(3227),
    [sym__conjunction_operator_custom] = ACTIONS(3227),
    [sym__disjunction_operator_custom] = ACTIONS(3227),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3227),
    [sym__eq_custom] = ACTIONS(3227),
    [sym__eq_eq_custom] = ACTIONS(3227),
    [sym__plus_then_ws] = ACTIONS(3227),
    [sym__minus_then_ws] = ACTIONS(3227),
    [sym__bang_custom] = ACTIONS(3227),
    [sym_default_keyword] = ACTIONS(3227),
    [sym__as_custom] = ACTIONS(3227),
    [sym__as_quest_custom] = ACTIONS(3227),
    [sym__as_bang_custom] = ACTIONS(3227),
    [sym__custom_operator] = ACTIONS(3227),
  },
  [1033] = {
    [sym__dot] = STATE(5396),
    [aux_sym_user_type_repeat1] = STATE(1036),
    [anon_sym_BANG] = ACTIONS(3039),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3041),
    [anon_sym_package] = ACTIONS(3041),
    [anon_sym_COMMA] = ACTIONS(3041),
    [anon_sym_LPAREN] = ACTIONS(3041),
    [anon_sym_LBRACK] = ACTIONS(3041),
    [anon_sym_DOT] = ACTIONS(3039),
    [anon_sym_QMARK] = ACTIONS(3039),
    [anon_sym_QMARK2] = ACTIONS(3041),
    [anon_sym_AMP] = ACTIONS(3041),
    [aux_sym_custom_operator_token1] = ACTIONS(3041),
    [anon_sym_LT] = ACTIONS(3039),
    [anon_sym_GT] = ACTIONS(3039),
    [anon_sym_LBRACE] = ACTIONS(3041),
    [anon_sym_CARET_LBRACE] = ACTIONS(3041),
    [anon_sym_RBRACE] = ACTIONS(3041),
    [anon_sym_case] = ACTIONS(3041),
    [anon_sym_fallthrough] = ACTIONS(3041),
    [anon_sym_PLUS_EQ] = ACTIONS(3041),
    [anon_sym_DASH_EQ] = ACTIONS(3041),
    [anon_sym_STAR_EQ] = ACTIONS(3041),
    [anon_sym_SLASH_EQ] = ACTIONS(3041),
    [anon_sym_PERCENT_EQ] = ACTIONS(3041),
    [anon_sym_BANG_EQ] = ACTIONS(3039),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3041),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3041),
    [anon_sym_LT_EQ] = ACTIONS(3041),
    [anon_sym_GT_EQ] = ACTIONS(3041),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3041),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3041),
    [anon_sym_is] = ACTIONS(3041),
    [anon_sym_PLUS] = ACTIONS(3039),
    [anon_sym_DASH] = ACTIONS(3039),
    [anon_sym_STAR] = ACTIONS(3039),
    [anon_sym_SLASH] = ACTIONS(3039),
    [anon_sym_PERCENT] = ACTIONS(3039),
    [anon_sym_PLUS_PLUS] = ACTIONS(3041),
    [anon_sym_DASH_DASH] = ACTIONS(3041),
    [anon_sym_PIPE] = ACTIONS(3041),
    [anon_sym_CARET] = ACTIONS(3039),
    [anon_sym_LT_LT] = ACTIONS(3041),
    [anon_sym_GT_GT] = ACTIONS(3041),
    [anon_sym_class] = ACTIONS(3041),
    [anon_sym_prefix] = ACTIONS(3041),
    [anon_sym_infix] = ACTIONS(3041),
    [anon_sym_postfix] = ACTIONS(3041),
    [anon_sym_AT] = ACTIONS(3039),
    [anon_sym_override] = ACTIONS(3041),
    [anon_sym_convenience] = ACTIONS(3041),
    [anon_sym_required] = ACTIONS(3041),
    [anon_sym_nonisolated] = ACTIONS(3041),
    [anon_sym_public] = ACTIONS(3041),
    [anon_sym_private] = ACTIONS(3041),
    [anon_sym_internal] = ACTIONS(3041),
    [anon_sym_fileprivate] = ACTIONS(3041),
    [anon_sym_open] = ACTIONS(3041),
    [anon_sym_mutating] = ACTIONS(3041),
    [anon_sym_nonmutating] = ACTIONS(3041),
    [anon_sym_static] = ACTIONS(3041),
    [anon_sym_dynamic] = ACTIONS(3041),
    [anon_sym_optional] = ACTIONS(3041),
    [anon_sym_distributed] = ACTIONS(3041),
    [anon_sym_final] = ACTIONS(3041),
    [anon_sym_inout] = ACTIONS(3041),
    [anon_sym_ATescaping] = ACTIONS(3041),
    [anon_sym_ATautoclosure] = ACTIONS(3041),
    [anon_sym_weak] = ACTIONS(3041),
    [anon_sym_unowned] = ACTIONS(3039),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3041),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3041),
    [anon_sym_borrowing] = ACTIONS(3041),
    [anon_sym_consuming] = ACTIONS(3041),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3041),
    [sym__explicit_semi] = ACTIONS(3041),
    [sym__arrow_operator_custom] = ACTIONS(3041),
    [sym__dot_custom] = ACTIONS(3817),
    [sym__conjunction_operator_custom] = ACTIONS(3041),
    [sym__disjunction_operator_custom] = ACTIONS(3041),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3041),
    [sym__eq_custom] = ACTIONS(3041),
    [sym__eq_eq_custom] = ACTIONS(3041),
    [sym__plus_then_ws] = ACTIONS(3041),
    [sym__minus_then_ws] = ACTIONS(3041),
    [sym__bang_custom] = ACTIONS(3041),
    [sym__throws_keyword] = ACTIONS(3041),
    [sym__rethrows_keyword] = ACTIONS(3041),
    [sym_default_keyword] = ACTIONS(3041),
    [sym_where_keyword] = ACTIONS(3041),
    [sym__as_custom] = ACTIONS(3041),
    [sym__as_quest_custom] = ACTIONS(3041),
    [sym__as_bang_custom] = ACTIONS(3041),
    [sym__async_keyword_custom] = ACTIONS(3041),
    [sym__custom_operator] = ACTIONS(3041),
  },
  [1034] = {
    [sym__dot] = STATE(5396),
    [aux_sym_user_type_repeat1] = STATE(1033),
    [anon_sym_BANG] = ACTIONS(3046),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3048),
    [anon_sym_package] = ACTIONS(3048),
    [anon_sym_COMMA] = ACTIONS(3048),
    [anon_sym_LPAREN] = ACTIONS(3048),
    [anon_sym_LBRACK] = ACTIONS(3048),
    [anon_sym_DOT] = ACTIONS(3046),
    [anon_sym_QMARK] = ACTIONS(3046),
    [anon_sym_QMARK2] = ACTIONS(3048),
    [anon_sym_AMP] = ACTIONS(3048),
    [aux_sym_custom_operator_token1] = ACTIONS(3048),
    [anon_sym_LT] = ACTIONS(3046),
    [anon_sym_GT] = ACTIONS(3046),
    [anon_sym_LBRACE] = ACTIONS(3048),
    [anon_sym_CARET_LBRACE] = ACTIONS(3048),
    [anon_sym_RBRACE] = ACTIONS(3048),
    [anon_sym_case] = ACTIONS(3048),
    [anon_sym_fallthrough] = ACTIONS(3048),
    [anon_sym_PLUS_EQ] = ACTIONS(3048),
    [anon_sym_DASH_EQ] = ACTIONS(3048),
    [anon_sym_STAR_EQ] = ACTIONS(3048),
    [anon_sym_SLASH_EQ] = ACTIONS(3048),
    [anon_sym_PERCENT_EQ] = ACTIONS(3048),
    [anon_sym_BANG_EQ] = ACTIONS(3046),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3048),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3048),
    [anon_sym_LT_EQ] = ACTIONS(3048),
    [anon_sym_GT_EQ] = ACTIONS(3048),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3048),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3048),
    [anon_sym_is] = ACTIONS(3048),
    [anon_sym_PLUS] = ACTIONS(3046),
    [anon_sym_DASH] = ACTIONS(3046),
    [anon_sym_STAR] = ACTIONS(3046),
    [anon_sym_SLASH] = ACTIONS(3046),
    [anon_sym_PERCENT] = ACTIONS(3046),
    [anon_sym_PLUS_PLUS] = ACTIONS(3048),
    [anon_sym_DASH_DASH] = ACTIONS(3048),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_CARET] = ACTIONS(3046),
    [anon_sym_LT_LT] = ACTIONS(3048),
    [anon_sym_GT_GT] = ACTIONS(3048),
    [anon_sym_class] = ACTIONS(3048),
    [anon_sym_prefix] = ACTIONS(3048),
    [anon_sym_infix] = ACTIONS(3048),
    [anon_sym_postfix] = ACTIONS(3048),
    [anon_sym_AT] = ACTIONS(3046),
    [anon_sym_override] = ACTIONS(3048),
    [anon_sym_convenience] = ACTIONS(3048),
    [anon_sym_required] = ACTIONS(3048),
    [anon_sym_nonisolated] = ACTIONS(3048),
    [anon_sym_public] = ACTIONS(3048),
    [anon_sym_private] = ACTIONS(3048),
    [anon_sym_internal] = ACTIONS(3048),
    [anon_sym_fileprivate] = ACTIONS(3048),
    [anon_sym_open] = ACTIONS(3048),
    [anon_sym_mutating] = ACTIONS(3048),
    [anon_sym_nonmutating] = ACTIONS(3048),
    [anon_sym_static] = ACTIONS(3048),
    [anon_sym_dynamic] = ACTIONS(3048),
    [anon_sym_optional] = ACTIONS(3048),
    [anon_sym_distributed] = ACTIONS(3048),
    [anon_sym_final] = ACTIONS(3048),
    [anon_sym_inout] = ACTIONS(3048),
    [anon_sym_ATescaping] = ACTIONS(3048),
    [anon_sym_ATautoclosure] = ACTIONS(3048),
    [anon_sym_weak] = ACTIONS(3048),
    [anon_sym_unowned] = ACTIONS(3046),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3048),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3048),
    [anon_sym_borrowing] = ACTIONS(3048),
    [anon_sym_consuming] = ACTIONS(3048),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3048),
    [sym__explicit_semi] = ACTIONS(3048),
    [sym__arrow_operator_custom] = ACTIONS(3048),
    [sym__dot_custom] = ACTIONS(3820),
    [sym__conjunction_operator_custom] = ACTIONS(3048),
    [sym__disjunction_operator_custom] = ACTIONS(3048),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3048),
    [sym__eq_custom] = ACTIONS(3048),
    [sym__eq_eq_custom] = ACTIONS(3048),
    [sym__plus_then_ws] = ACTIONS(3048),
    [sym__minus_then_ws] = ACTIONS(3048),
    [sym__bang_custom] = ACTIONS(3048),
    [sym__throws_keyword] = ACTIONS(3048),
    [sym__rethrows_keyword] = ACTIONS(3048),
    [sym_default_keyword] = ACTIONS(3048),
    [sym_where_keyword] = ACTIONS(3048),
    [sym__as_custom] = ACTIONS(3048),
    [sym__as_quest_custom] = ACTIONS(3048),
    [sym__as_bang_custom] = ACTIONS(3048),
    [sym__async_keyword_custom] = ACTIONS(3048),
    [sym__custom_operator] = ACTIONS(3048),
  },
  [1035] = {
    [sym__immediate_quest] = STATE(1039),
    [aux_sym_optional_type_repeat1] = STATE(1039),
    [anon_sym_BANG] = ACTIONS(2998),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3000),
    [anon_sym_package] = ACTIONS(3000),
    [anon_sym_COMMA] = ACTIONS(3000),
    [anon_sym_LPAREN] = ACTIONS(3000),
    [anon_sym_LBRACK] = ACTIONS(3000),
    [anon_sym_DOT] = ACTIONS(2998),
    [anon_sym_QMARK] = ACTIONS(2998),
    [anon_sym_QMARK2] = ACTIONS(3745),
    [anon_sym_AMP] = ACTIONS(3000),
    [aux_sym_custom_operator_token1] = ACTIONS(3000),
    [anon_sym_LT] = ACTIONS(2998),
    [anon_sym_GT] = ACTIONS(2998),
    [anon_sym_LBRACE] = ACTIONS(3000),
    [anon_sym_CARET_LBRACE] = ACTIONS(3000),
    [anon_sym_RBRACE] = ACTIONS(3000),
    [anon_sym_case] = ACTIONS(3000),
    [anon_sym_fallthrough] = ACTIONS(3000),
    [anon_sym_PLUS_EQ] = ACTIONS(3000),
    [anon_sym_DASH_EQ] = ACTIONS(3000),
    [anon_sym_STAR_EQ] = ACTIONS(3000),
    [anon_sym_SLASH_EQ] = ACTIONS(3000),
    [anon_sym_PERCENT_EQ] = ACTIONS(3000),
    [anon_sym_BANG_EQ] = ACTIONS(2998),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3000),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3000),
    [anon_sym_LT_EQ] = ACTIONS(3000),
    [anon_sym_GT_EQ] = ACTIONS(3000),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3000),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3000),
    [anon_sym_is] = ACTIONS(3000),
    [anon_sym_PLUS] = ACTIONS(2998),
    [anon_sym_DASH] = ACTIONS(2998),
    [anon_sym_STAR] = ACTIONS(2998),
    [anon_sym_SLASH] = ACTIONS(2998),
    [anon_sym_PERCENT] = ACTIONS(2998),
    [anon_sym_PLUS_PLUS] = ACTIONS(3000),
    [anon_sym_DASH_DASH] = ACTIONS(3000),
    [anon_sym_PIPE] = ACTIONS(3000),
    [anon_sym_CARET] = ACTIONS(2998),
    [anon_sym_LT_LT] = ACTIONS(3000),
    [anon_sym_GT_GT] = ACTIONS(3000),
    [anon_sym_class] = ACTIONS(3000),
    [anon_sym_prefix] = ACTIONS(3000),
    [anon_sym_infix] = ACTIONS(3000),
    [anon_sym_postfix] = ACTIONS(3000),
    [anon_sym_AT] = ACTIONS(2998),
    [anon_sym_override] = ACTIONS(3000),
    [anon_sym_convenience] = ACTIONS(3000),
    [anon_sym_required] = ACTIONS(3000),
    [anon_sym_nonisolated] = ACTIONS(3000),
    [anon_sym_public] = ACTIONS(3000),
    [anon_sym_private] = ACTIONS(3000),
    [anon_sym_internal] = ACTIONS(3000),
    [anon_sym_fileprivate] = ACTIONS(3000),
    [anon_sym_open] = ACTIONS(3000),
    [anon_sym_mutating] = ACTIONS(3000),
    [anon_sym_nonmutating] = ACTIONS(3000),
    [anon_sym_static] = ACTIONS(3000),
    [anon_sym_dynamic] = ACTIONS(3000),
    [anon_sym_optional] = ACTIONS(3000),
    [anon_sym_distributed] = ACTIONS(3000),
    [anon_sym_final] = ACTIONS(3000),
    [anon_sym_inout] = ACTIONS(3000),
    [anon_sym_ATescaping] = ACTIONS(3000),
    [anon_sym_ATautoclosure] = ACTIONS(3000),
    [anon_sym_weak] = ACTIONS(3000),
    [anon_sym_unowned] = ACTIONS(2998),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3000),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3000),
    [anon_sym_borrowing] = ACTIONS(3000),
    [anon_sym_consuming] = ACTIONS(3000),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3000),
    [sym__explicit_semi] = ACTIONS(3000),
    [sym__arrow_operator_custom] = ACTIONS(3000),
    [sym__dot_custom] = ACTIONS(3000),
    [sym__conjunction_operator_custom] = ACTIONS(3000),
    [sym__disjunction_operator_custom] = ACTIONS(3000),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3000),
    [sym__eq_custom] = ACTIONS(3000),
    [sym__eq_eq_custom] = ACTIONS(3000),
    [sym__plus_then_ws] = ACTIONS(3000),
    [sym__minus_then_ws] = ACTIONS(3000),
    [sym__bang_custom] = ACTIONS(3000),
    [sym__throws_keyword] = ACTIONS(3000),
    [sym__rethrows_keyword] = ACTIONS(3000),
    [sym_default_keyword] = ACTIONS(3000),
    [sym_where_keyword] = ACTIONS(3000),
    [sym__as_custom] = ACTIONS(3000),
    [sym__as_quest_custom] = ACTIONS(3000),
    [sym__as_bang_custom] = ACTIONS(3000),
    [sym__async_keyword_custom] = ACTIONS(3000),
    [sym__custom_operator] = ACTIONS(3000),
  },
  [1036] = {
    [sym__dot] = STATE(5396),
    [aux_sym_user_type_repeat1] = STATE(1036),
    [anon_sym_BANG] = ACTIONS(2991),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2993),
    [anon_sym_package] = ACTIONS(2993),
    [anon_sym_COMMA] = ACTIONS(2993),
    [anon_sym_LPAREN] = ACTIONS(2993),
    [anon_sym_LBRACK] = ACTIONS(2993),
    [anon_sym_DOT] = ACTIONS(2991),
    [anon_sym_QMARK] = ACTIONS(2991),
    [anon_sym_QMARK2] = ACTIONS(2993),
    [anon_sym_AMP] = ACTIONS(2993),
    [aux_sym_custom_operator_token1] = ACTIONS(2993),
    [anon_sym_LT] = ACTIONS(2991),
    [anon_sym_GT] = ACTIONS(2991),
    [anon_sym_LBRACE] = ACTIONS(2993),
    [anon_sym_CARET_LBRACE] = ACTIONS(2993),
    [anon_sym_RBRACE] = ACTIONS(2993),
    [anon_sym_case] = ACTIONS(2993),
    [anon_sym_fallthrough] = ACTIONS(2993),
    [anon_sym_PLUS_EQ] = ACTIONS(2993),
    [anon_sym_DASH_EQ] = ACTIONS(2993),
    [anon_sym_STAR_EQ] = ACTIONS(2993),
    [anon_sym_SLASH_EQ] = ACTIONS(2993),
    [anon_sym_PERCENT_EQ] = ACTIONS(2993),
    [anon_sym_BANG_EQ] = ACTIONS(2991),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2993),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2993),
    [anon_sym_LT_EQ] = ACTIONS(2993),
    [anon_sym_GT_EQ] = ACTIONS(2993),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2993),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2993),
    [anon_sym_is] = ACTIONS(2993),
    [anon_sym_PLUS] = ACTIONS(2991),
    [anon_sym_DASH] = ACTIONS(2991),
    [anon_sym_STAR] = ACTIONS(2991),
    [anon_sym_SLASH] = ACTIONS(2991),
    [anon_sym_PERCENT] = ACTIONS(2991),
    [anon_sym_PLUS_PLUS] = ACTIONS(2993),
    [anon_sym_DASH_DASH] = ACTIONS(2993),
    [anon_sym_PIPE] = ACTIONS(2993),
    [anon_sym_CARET] = ACTIONS(2991),
    [anon_sym_LT_LT] = ACTIONS(2993),
    [anon_sym_GT_GT] = ACTIONS(2993),
    [anon_sym_class] = ACTIONS(2993),
    [anon_sym_prefix] = ACTIONS(2993),
    [anon_sym_infix] = ACTIONS(2993),
    [anon_sym_postfix] = ACTIONS(2993),
    [anon_sym_AT] = ACTIONS(2991),
    [anon_sym_override] = ACTIONS(2993),
    [anon_sym_convenience] = ACTIONS(2993),
    [anon_sym_required] = ACTIONS(2993),
    [anon_sym_nonisolated] = ACTIONS(2993),
    [anon_sym_public] = ACTIONS(2993),
    [anon_sym_private] = ACTIONS(2993),
    [anon_sym_internal] = ACTIONS(2993),
    [anon_sym_fileprivate] = ACTIONS(2993),
    [anon_sym_open] = ACTIONS(2993),
    [anon_sym_mutating] = ACTIONS(2993),
    [anon_sym_nonmutating] = ACTIONS(2993),
    [anon_sym_static] = ACTIONS(2993),
    [anon_sym_dynamic] = ACTIONS(2993),
    [anon_sym_optional] = ACTIONS(2993),
    [anon_sym_distributed] = ACTIONS(2993),
    [anon_sym_final] = ACTIONS(2993),
    [anon_sym_inout] = ACTIONS(2993),
    [anon_sym_ATescaping] = ACTIONS(2993),
    [anon_sym_ATautoclosure] = ACTIONS(2993),
    [anon_sym_weak] = ACTIONS(2993),
    [anon_sym_unowned] = ACTIONS(2991),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2993),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2993),
    [anon_sym_borrowing] = ACTIONS(2993),
    [anon_sym_consuming] = ACTIONS(2993),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2993),
    [sym__explicit_semi] = ACTIONS(2993),
    [sym__arrow_operator_custom] = ACTIONS(2993),
    [sym__dot_custom] = ACTIONS(3823),
    [sym__conjunction_operator_custom] = ACTIONS(2993),
    [sym__disjunction_operator_custom] = ACTIONS(2993),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2993),
    [sym__eq_custom] = ACTIONS(2993),
    [sym__eq_eq_custom] = ACTIONS(2993),
    [sym__plus_then_ws] = ACTIONS(2993),
    [sym__minus_then_ws] = ACTIONS(2993),
    [sym__bang_custom] = ACTIONS(2993),
    [sym__throws_keyword] = ACTIONS(2993),
    [sym__rethrows_keyword] = ACTIONS(2993),
    [sym_default_keyword] = ACTIONS(2993),
    [sym_where_keyword] = ACTIONS(2993),
    [sym__as_custom] = ACTIONS(2993),
    [sym__as_quest_custom] = ACTIONS(2993),
    [sym__as_bang_custom] = ACTIONS(2993),
    [sym__async_keyword_custom] = ACTIONS(2993),
    [sym__custom_operator] = ACTIONS(2993),
  },
  [1037] = {
    [anon_sym_BANG] = ACTIONS(3213),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3213),
    [aux_sym_simple_identifier_token2] = ACTIONS(3215),
    [aux_sym_simple_identifier_token3] = ACTIONS(3215),
    [aux_sym_simple_identifier_token4] = ACTIONS(3215),
    [anon_sym_actor] = ACTIONS(3213),
    [anon_sym_async] = ACTIONS(3213),
    [anon_sym_each] = ACTIONS(3213),
    [anon_sym_lazy] = ACTIONS(3213),
    [anon_sym_repeat] = ACTIONS(3213),
    [anon_sym_package] = ACTIONS(3213),
    [anon_sym_COMMA] = ACTIONS(3215),
    [anon_sym_LPAREN] = ACTIONS(3215),
    [anon_sym_LBRACK] = ACTIONS(3215),
    [anon_sym_QMARK] = ACTIONS(3213),
    [anon_sym_QMARK2] = ACTIONS(3215),
    [anon_sym_AMP] = ACTIONS(3215),
    [aux_sym_custom_operator_token1] = ACTIONS(3215),
    [anon_sym_LT] = ACTIONS(3213),
    [anon_sym_GT] = ACTIONS(3213),
    [anon_sym_LBRACE] = ACTIONS(3215),
    [anon_sym_CARET_LBRACE] = ACTIONS(3215),
    [anon_sym_RBRACE] = ACTIONS(3215),
    [anon_sym_case] = ACTIONS(3213),
    [anon_sym_fallthrough] = ACTIONS(3213),
    [anon_sym_PLUS_EQ] = ACTIONS(3215),
    [anon_sym_DASH_EQ] = ACTIONS(3215),
    [anon_sym_STAR_EQ] = ACTIONS(3215),
    [anon_sym_SLASH_EQ] = ACTIONS(3215),
    [anon_sym_PERCENT_EQ] = ACTIONS(3215),
    [anon_sym_BANG_EQ] = ACTIONS(3213),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3215),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3215),
    [anon_sym_LT_EQ] = ACTIONS(3215),
    [anon_sym_GT_EQ] = ACTIONS(3215),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3215),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3215),
    [anon_sym_is] = ACTIONS(3213),
    [anon_sym_PLUS] = ACTIONS(3213),
    [anon_sym_DASH] = ACTIONS(3213),
    [anon_sym_STAR] = ACTIONS(3213),
    [anon_sym_SLASH] = ACTIONS(3213),
    [anon_sym_PERCENT] = ACTIONS(3213),
    [anon_sym_PLUS_PLUS] = ACTIONS(3215),
    [anon_sym_DASH_DASH] = ACTIONS(3215),
    [anon_sym_PIPE] = ACTIONS(3215),
    [anon_sym_CARET] = ACTIONS(3213),
    [anon_sym_LT_LT] = ACTIONS(3215),
    [anon_sym_GT_GT] = ACTIONS(3215),
    [anon_sym_class] = ACTIONS(3213),
    [anon_sym_prefix] = ACTIONS(3213),
    [anon_sym_infix] = ACTIONS(3213),
    [anon_sym_postfix] = ACTIONS(3213),
    [anon_sym_AT] = ACTIONS(3213),
    [anon_sym_override] = ACTIONS(3213),
    [anon_sym_convenience] = ACTIONS(3213),
    [anon_sym_required] = ACTIONS(3213),
    [anon_sym_nonisolated] = ACTIONS(3213),
    [anon_sym_public] = ACTIONS(3213),
    [anon_sym_private] = ACTIONS(3213),
    [anon_sym_internal] = ACTIONS(3213),
    [anon_sym_fileprivate] = ACTIONS(3213),
    [anon_sym_open] = ACTIONS(3213),
    [anon_sym_mutating] = ACTIONS(3213),
    [anon_sym_nonmutating] = ACTIONS(3213),
    [anon_sym_static] = ACTIONS(3213),
    [anon_sym_dynamic] = ACTIONS(3213),
    [anon_sym_optional] = ACTIONS(3213),
    [anon_sym_distributed] = ACTIONS(3213),
    [anon_sym_final] = ACTIONS(3213),
    [anon_sym_inout] = ACTIONS(3213),
    [anon_sym_ATescaping] = ACTIONS(3215),
    [anon_sym_ATautoclosure] = ACTIONS(3215),
    [anon_sym_weak] = ACTIONS(3213),
    [anon_sym_unowned] = ACTIONS(3213),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3215),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3215),
    [anon_sym_borrowing] = ACTIONS(3213),
    [anon_sym_consuming] = ACTIONS(3213),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3215),
    [sym__explicit_semi] = ACTIONS(3215),
    [sym__dot_custom] = ACTIONS(3215),
    [sym__conjunction_operator_custom] = ACTIONS(3215),
    [sym__disjunction_operator_custom] = ACTIONS(3215),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3215),
    [sym__eq_custom] = ACTIONS(3215),
    [sym__eq_eq_custom] = ACTIONS(3215),
    [sym__plus_then_ws] = ACTIONS(3215),
    [sym__minus_then_ws] = ACTIONS(3215),
    [sym__bang_custom] = ACTIONS(3215),
    [sym_default_keyword] = ACTIONS(3215),
    [sym__as_custom] = ACTIONS(3215),
    [sym__as_quest_custom] = ACTIONS(3215),
    [sym__as_bang_custom] = ACTIONS(3215),
    [sym__custom_operator] = ACTIONS(3215),
  },
  [1038] = {
    [anon_sym_BANG] = ACTIONS(3217),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3219),
    [aux_sym_simple_identifier_token2] = ACTIONS(3221),
    [aux_sym_simple_identifier_token3] = ACTIONS(3221),
    [aux_sym_simple_identifier_token4] = ACTIONS(3221),
    [anon_sym_actor] = ACTIONS(3219),
    [anon_sym_async] = ACTIONS(3219),
    [anon_sym_each] = ACTIONS(3219),
    [anon_sym_lazy] = ACTIONS(3217),
    [anon_sym_repeat] = ACTIONS(3219),
    [anon_sym_package] = ACTIONS(3217),
    [anon_sym_COMMA] = ACTIONS(3223),
    [anon_sym_LPAREN] = ACTIONS(3223),
    [anon_sym_LBRACK] = ACTIONS(3223),
    [anon_sym_QMARK] = ACTIONS(3217),
    [anon_sym_QMARK2] = ACTIONS(3223),
    [anon_sym_AMP] = ACTIONS(3223),
    [aux_sym_custom_operator_token1] = ACTIONS(3223),
    [anon_sym_LT] = ACTIONS(3217),
    [anon_sym_GT] = ACTIONS(3217),
    [anon_sym_LBRACE] = ACTIONS(3223),
    [anon_sym_CARET_LBRACE] = ACTIONS(3223),
    [anon_sym_RBRACE] = ACTIONS(3223),
    [anon_sym_case] = ACTIONS(3217),
    [anon_sym_fallthrough] = ACTIONS(3217),
    [anon_sym_PLUS_EQ] = ACTIONS(3223),
    [anon_sym_DASH_EQ] = ACTIONS(3223),
    [anon_sym_STAR_EQ] = ACTIONS(3223),
    [anon_sym_SLASH_EQ] = ACTIONS(3223),
    [anon_sym_PERCENT_EQ] = ACTIONS(3223),
    [anon_sym_BANG_EQ] = ACTIONS(3217),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3223),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3223),
    [anon_sym_LT_EQ] = ACTIONS(3223),
    [anon_sym_GT_EQ] = ACTIONS(3223),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3223),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3223),
    [anon_sym_is] = ACTIONS(3217),
    [anon_sym_PLUS] = ACTIONS(3217),
    [anon_sym_DASH] = ACTIONS(3217),
    [anon_sym_STAR] = ACTIONS(3217),
    [anon_sym_SLASH] = ACTIONS(3217),
    [anon_sym_PERCENT] = ACTIONS(3217),
    [anon_sym_PLUS_PLUS] = ACTIONS(3223),
    [anon_sym_DASH_DASH] = ACTIONS(3223),
    [anon_sym_PIPE] = ACTIONS(3223),
    [anon_sym_CARET] = ACTIONS(3217),
    [anon_sym_LT_LT] = ACTIONS(3223),
    [anon_sym_GT_GT] = ACTIONS(3223),
    [anon_sym_class] = ACTIONS(3217),
    [anon_sym_prefix] = ACTIONS(3217),
    [anon_sym_infix] = ACTIONS(3217),
    [anon_sym_postfix] = ACTIONS(3217),
    [anon_sym_AT] = ACTIONS(3217),
    [anon_sym_override] = ACTIONS(3217),
    [anon_sym_convenience] = ACTIONS(3217),
    [anon_sym_required] = ACTIONS(3217),
    [anon_sym_nonisolated] = ACTIONS(3217),
    [anon_sym_public] = ACTIONS(3217),
    [anon_sym_private] = ACTIONS(3217),
    [anon_sym_internal] = ACTIONS(3217),
    [anon_sym_fileprivate] = ACTIONS(3217),
    [anon_sym_open] = ACTIONS(3217),
    [anon_sym_mutating] = ACTIONS(3217),
    [anon_sym_nonmutating] = ACTIONS(3217),
    [anon_sym_static] = ACTIONS(3217),
    [anon_sym_dynamic] = ACTIONS(3217),
    [anon_sym_optional] = ACTIONS(3217),
    [anon_sym_distributed] = ACTIONS(3217),
    [anon_sym_final] = ACTIONS(3217),
    [anon_sym_inout] = ACTIONS(3217),
    [anon_sym_ATescaping] = ACTIONS(3223),
    [anon_sym_ATautoclosure] = ACTIONS(3223),
    [anon_sym_weak] = ACTIONS(3217),
    [anon_sym_unowned] = ACTIONS(3217),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3223),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3223),
    [anon_sym_borrowing] = ACTIONS(3217),
    [anon_sym_consuming] = ACTIONS(3217),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3223),
    [sym__explicit_semi] = ACTIONS(3223),
    [sym__dot_custom] = ACTIONS(3223),
    [sym__conjunction_operator_custom] = ACTIONS(3223),
    [sym__disjunction_operator_custom] = ACTIONS(3223),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3223),
    [sym__eq_custom] = ACTIONS(3223),
    [sym__eq_eq_custom] = ACTIONS(3223),
    [sym__plus_then_ws] = ACTIONS(3223),
    [sym__minus_then_ws] = ACTIONS(3223),
    [sym__bang_custom] = ACTIONS(3223),
    [sym_default_keyword] = ACTIONS(3223),
    [sym__as_custom] = ACTIONS(3223),
    [sym__as_quest_custom] = ACTIONS(3223),
    [sym__as_bang_custom] = ACTIONS(3223),
    [sym__custom_operator] = ACTIONS(3223),
  },
  [1039] = {
    [sym__immediate_quest] = STATE(1041),
    [aux_sym_optional_type_repeat1] = STATE(1041),
    [anon_sym_BANG] = ACTIONS(3028),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3030),
    [anon_sym_package] = ACTIONS(3030),
    [anon_sym_COMMA] = ACTIONS(3030),
    [anon_sym_LPAREN] = ACTIONS(3030),
    [anon_sym_LBRACK] = ACTIONS(3030),
    [anon_sym_DOT] = ACTIONS(3028),
    [anon_sym_QMARK] = ACTIONS(3028),
    [anon_sym_QMARK2] = ACTIONS(3030),
    [anon_sym_AMP] = ACTIONS(3030),
    [aux_sym_custom_operator_token1] = ACTIONS(3030),
    [anon_sym_LT] = ACTIONS(3028),
    [anon_sym_GT] = ACTIONS(3028),
    [anon_sym_LBRACE] = ACTIONS(3030),
    [anon_sym_CARET_LBRACE] = ACTIONS(3030),
    [anon_sym_RBRACE] = ACTIONS(3030),
    [anon_sym_case] = ACTIONS(3030),
    [anon_sym_fallthrough] = ACTIONS(3030),
    [anon_sym_PLUS_EQ] = ACTIONS(3030),
    [anon_sym_DASH_EQ] = ACTIONS(3030),
    [anon_sym_STAR_EQ] = ACTIONS(3030),
    [anon_sym_SLASH_EQ] = ACTIONS(3030),
    [anon_sym_PERCENT_EQ] = ACTIONS(3030),
    [anon_sym_BANG_EQ] = ACTIONS(3028),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3030),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3030),
    [anon_sym_LT_EQ] = ACTIONS(3030),
    [anon_sym_GT_EQ] = ACTIONS(3030),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3030),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3030),
    [anon_sym_is] = ACTIONS(3030),
    [anon_sym_PLUS] = ACTIONS(3028),
    [anon_sym_DASH] = ACTIONS(3028),
    [anon_sym_STAR] = ACTIONS(3028),
    [anon_sym_SLASH] = ACTIONS(3028),
    [anon_sym_PERCENT] = ACTIONS(3028),
    [anon_sym_PLUS_PLUS] = ACTIONS(3030),
    [anon_sym_DASH_DASH] = ACTIONS(3030),
    [anon_sym_PIPE] = ACTIONS(3030),
    [anon_sym_CARET] = ACTIONS(3028),
    [anon_sym_LT_LT] = ACTIONS(3030),
    [anon_sym_GT_GT] = ACTIONS(3030),
    [anon_sym_class] = ACTIONS(3030),
    [anon_sym_prefix] = ACTIONS(3030),
    [anon_sym_infix] = ACTIONS(3030),
    [anon_sym_postfix] = ACTIONS(3030),
    [anon_sym_AT] = ACTIONS(3028),
    [anon_sym_override] = ACTIONS(3030),
    [anon_sym_convenience] = ACTIONS(3030),
    [anon_sym_required] = ACTIONS(3030),
    [anon_sym_nonisolated] = ACTIONS(3030),
    [anon_sym_public] = ACTIONS(3030),
    [anon_sym_private] = ACTIONS(3030),
    [anon_sym_internal] = ACTIONS(3030),
    [anon_sym_fileprivate] = ACTIONS(3030),
    [anon_sym_open] = ACTIONS(3030),
    [anon_sym_mutating] = ACTIONS(3030),
    [anon_sym_nonmutating] = ACTIONS(3030),
    [anon_sym_static] = ACTIONS(3030),
    [anon_sym_dynamic] = ACTIONS(3030),
    [anon_sym_optional] = ACTIONS(3030),
    [anon_sym_distributed] = ACTIONS(3030),
    [anon_sym_final] = ACTIONS(3030),
    [anon_sym_inout] = ACTIONS(3030),
    [anon_sym_ATescaping] = ACTIONS(3030),
    [anon_sym_ATautoclosure] = ACTIONS(3030),
    [anon_sym_weak] = ACTIONS(3030),
    [anon_sym_unowned] = ACTIONS(3028),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3030),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3030),
    [anon_sym_borrowing] = ACTIONS(3030),
    [anon_sym_consuming] = ACTIONS(3030),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3030),
    [sym__explicit_semi] = ACTIONS(3030),
    [sym__arrow_operator_custom] = ACTIONS(3030),
    [sym__dot_custom] = ACTIONS(3030),
    [sym__conjunction_operator_custom] = ACTIONS(3030),
    [sym__disjunction_operator_custom] = ACTIONS(3030),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3030),
    [sym__eq_custom] = ACTIONS(3030),
    [sym__eq_eq_custom] = ACTIONS(3030),
    [sym__plus_then_ws] = ACTIONS(3030),
    [sym__minus_then_ws] = ACTIONS(3030),
    [sym__bang_custom] = ACTIONS(3030),
    [sym__throws_keyword] = ACTIONS(3030),
    [sym__rethrows_keyword] = ACTIONS(3030),
    [sym_default_keyword] = ACTIONS(3030),
    [sym_where_keyword] = ACTIONS(3030),
    [sym__as_custom] = ACTIONS(3030),
    [sym__as_quest_custom] = ACTIONS(3030),
    [sym__as_bang_custom] = ACTIONS(3030),
    [sym__async_keyword_custom] = ACTIONS(3030),
    [sym__custom_operator] = ACTIONS(3030),
  },
  [1040] = {
    [sym_simple_identifier] = STATE(1758),
    [sym__contextual_simple_identifier] = STATE(1806),
    [sym__unannotated_type] = STATE(1749),
    [sym_user_type] = STATE(1775),
    [sym__simple_user_type] = STATE(1757),
    [sym_tuple_type] = STATE(1716),
    [sym_function_type] = STATE(1749),
    [sym_array_type] = STATE(1775),
    [sym_dictionary_type] = STATE(1775),
    [sym_optional_type] = STATE(1749),
    [sym_metatype] = STATE(1749),
    [sym_opaque_type] = STATE(1749),
    [sym_existential_type] = STATE(1749),
    [sym_type_parameter_pack] = STATE(1749),
    [sym_type_pack_expansion] = STATE(1749),
    [sym_protocol_composition_type] = STATE(1749),
    [sym_suppressed_constraint] = STATE(1749),
    [sym__parenthesized_type] = STATE(1881),
    [sym__parameter_ownership_modifier] = STATE(1806),
    [sym_comment] = ACTIONS(5),
    [aux_sym_simple_identifier_token1] = ACTIONS(3796),
    [aux_sym_simple_identifier_token2] = ACTIONS(3798),
    [aux_sym_simple_identifier_token3] = ACTIONS(3798),
    [aux_sym_simple_identifier_token4] = ACTIONS(3798),
    [anon_sym_actor] = ACTIONS(3800),
    [anon_sym_async] = ACTIONS(3800),
    [anon_sym_each] = ACTIONS(3803),
    [anon_sym_lazy] = ACTIONS(3800),
    [anon_sym_repeat] = ACTIONS(3805),
    [anon_sym_package] = ACTIONS(3800),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_BANG2] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(3807),
    [anon_sym_LBRACK] = ACTIONS(3809),
    [anon_sym_DOT] = ACTIONS(617),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(3811),
    [anon_sym_any] = ACTIONS(3813),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(3815),
    [anon_sym_LT] = ACTIONS(617),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_case] = ACTIONS(623),
    [anon_sym_import] = ACTIONS(623),
    [anon_sym_typealias] = ACTIONS(623),
    [anon_sym_struct] = ACTIONS(623),
    [anon_sym_class] = ACTIONS(623),
    [anon_sym_enum] = ACTIONS(623),
    [anon_sym_protocol] = ACTIONS(623),
    [anon_sym_let] = ACTIONS(623),
    [anon_sym_var] = ACTIONS(623),
    [anon_sym_func] = ACTIONS(623),
    [anon_sym_extension] = ACTIONS(623),
    [anon_sym_indirect] = ACTIONS(623),
    [anon_sym_init] = ACTIONS(623),
    [anon_sym_deinit] = ACTIONS(623),
    [anon_sym_subscript] = ACTIONS(623),
    [anon_sym_prefix] = ACTIONS(623),
    [anon_sym_infix] = ACTIONS(623),
    [anon_sym_postfix] = ACTIONS(623),
    [anon_sym_precedencegroup] = ACTIONS(623),
    [anon_sym_associatedtype] = ACTIONS(623),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(623),
    [anon_sym_convenience] = ACTIONS(623),
    [anon_sym_required] = ACTIONS(623),
    [anon_sym_nonisolated] = ACTIONS(623),
    [anon_sym_public] = ACTIONS(623),
    [anon_sym_private] = ACTIONS(623),
    [anon_sym_internal] = ACTIONS(623),
    [anon_sym_fileprivate] = ACTIONS(623),
    [anon_sym_open] = ACTIONS(623),
    [anon_sym_mutating] = ACTIONS(623),
    [anon_sym_nonmutating] = ACTIONS(623),
    [anon_sym_static] = ACTIONS(623),
    [anon_sym_dynamic] = ACTIONS(623),
    [anon_sym_optional] = ACTIONS(623),
    [anon_sym_distributed] = ACTIONS(623),
    [anon_sym_final] = ACTIONS(623),
    [anon_sym_inout] = ACTIONS(623),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(623),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(3800),
    [anon_sym_consuming] = ACTIONS(3800),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym_where_keyword] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
  },
  [1041] = {
    [sym__immediate_quest] = STATE(1041),
    [aux_sym_optional_type_repeat1] = STATE(1041),
    [anon_sym_BANG] = ACTIONS(3032),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3034),
    [anon_sym_package] = ACTIONS(3034),
    [anon_sym_COMMA] = ACTIONS(3034),
    [anon_sym_LPAREN] = ACTIONS(3034),
    [anon_sym_LBRACK] = ACTIONS(3034),
    [anon_sym_DOT] = ACTIONS(3032),
    [anon_sym_QMARK] = ACTIONS(3032),
    [anon_sym_QMARK2] = ACTIONS(3826),
    [anon_sym_AMP] = ACTIONS(3034),
    [aux_sym_custom_operator_token1] = ACTIONS(3034),
    [anon_sym_LT] = ACTIONS(3032),
    [anon_sym_GT] = ACTIONS(3032),
    [anon_sym_LBRACE] = ACTIONS(3034),
    [anon_sym_CARET_LBRACE] = ACTIONS(3034),
    [anon_sym_RBRACE] = ACTIONS(3034),
    [anon_sym_case] = ACTIONS(3034),
    [anon_sym_fallthrough] = ACTIONS(3034),
    [anon_sym_PLUS_EQ] = ACTIONS(3034),
    [anon_sym_DASH_EQ] = ACTIONS(3034),
    [anon_sym_STAR_EQ] = ACTIONS(3034),
    [anon_sym_SLASH_EQ] = ACTIONS(3034),
    [anon_sym_PERCENT_EQ] = ACTIONS(3034),
    [anon_sym_BANG_EQ] = ACTIONS(3032),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3034),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3034),
    [anon_sym_LT_EQ] = ACTIONS(3034),
    [anon_sym_GT_EQ] = ACTIONS(3034),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3034),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3034),
    [anon_sym_is] = ACTIONS(3034),
    [anon_sym_PLUS] = ACTIONS(3032),
    [anon_sym_DASH] = ACTIONS(3032),
    [anon_sym_STAR] = ACTIONS(3032),
    [anon_sym_SLASH] = ACTIONS(3032),
    [anon_sym_PERCENT] = ACTIONS(3032),
    [anon_sym_PLUS_PLUS] = ACTIONS(3034),
    [anon_sym_DASH_DASH] = ACTIONS(3034),
    [anon_sym_PIPE] = ACTIONS(3034),
    [anon_sym_CARET] = ACTIONS(3032),
    [anon_sym_LT_LT] = ACTIONS(3034),
    [anon_sym_GT_GT] = ACTIONS(3034),
    [anon_sym_class] = ACTIONS(3034),
    [anon_sym_prefix] = ACTIONS(3034),
    [anon_sym_infix] = ACTIONS(3034),
    [anon_sym_postfix] = ACTIONS(3034),
    [anon_sym_AT] = ACTIONS(3032),
    [anon_sym_override] = ACTIONS(3034),
    [anon_sym_convenience] = ACTIONS(3034),
    [anon_sym_required] = ACTIONS(3034),
    [anon_sym_nonisolated] = ACTIONS(3034),
    [anon_sym_public] = ACTIONS(3034),
    [anon_sym_private] = ACTIONS(3034),
    [anon_sym_internal] = ACTIONS(3034),
    [anon_sym_fileprivate] = ACTIONS(3034),
    [anon_sym_open] = ACTIONS(3034),
    [anon_sym_mutating] = ACTIONS(3034),
    [anon_sym_nonmutating] = ACTIONS(3034),
    [anon_sym_static] = ACTIONS(3034),
    [anon_sym_dynamic] = ACTIONS(3034),
    [anon_sym_optional] = ACTIONS(3034),
    [anon_sym_distributed] = ACTIONS(3034),
    [anon_sym_final] = ACTIONS(3034),
    [anon_sym_inout] = ACTIONS(3034),
    [anon_sym_ATescaping] = ACTIONS(3034),
    [anon_sym_ATautoclosure] = ACTIONS(3034),
    [anon_sym_weak] = ACTIONS(3034),
    [anon_sym_unowned] = ACTIONS(3032),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3034),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3034),
    [anon_sym_borrowing] = ACTIONS(3034),
    [anon_sym_consuming] = ACTIONS(3034),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3034),
    [sym__explicit_semi] = ACTIONS(3034),
    [sym__arrow_operator_custom] = ACTIONS(3034),
    [sym__dot_custom] = ACTIONS(3034),
    [sym__conjunction_operator_custom] = ACTIONS(3034),
    [sym__disjunction_operator_custom] = ACTIONS(3034),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3034),
    [sym__eq_custom] = ACTIONS(3034),
    [sym__eq_eq_custom] = ACTIONS(3034),
    [sym__plus_then_ws] = ACTIONS(3034),
    [sym__minus_then_ws] = ACTIONS(3034),
    [sym__bang_custom] = ACTIONS(3034),
    [sym__throws_keyword] = ACTIONS(3034),
    [sym__rethrows_keyword] = ACTIONS(3034),
    [sym_default_keyword] = ACTIONS(3034),
    [sym_where_keyword] = ACTIONS(3034),
    [sym__as_custom] = ACTIONS(3034),
    [sym__as_quest_custom] = ACTIONS(3034),
    [sym__as_bang_custom] = ACTIONS(3034),
    [sym__async_keyword_custom] = ACTIONS(3034),
    [sym__custom_operator] = ACTIONS(3034),
  },
  [1042] = {
    [sym__dot] = STATE(5417),
    [aux_sym_user_type_repeat1] = STATE(1042),
    [anon_sym_BANG] = ACTIONS(2991),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2993),
    [anon_sym_package] = ACTIONS(2993),
    [anon_sym_COMMA] = ACTIONS(2993),
    [anon_sym_LPAREN] = ACTIONS(2993),
    [anon_sym_LBRACK] = ACTIONS(2993),
    [anon_sym_DOT] = ACTIONS(2991),
    [anon_sym_QMARK] = ACTIONS(2991),
    [anon_sym_QMARK2] = ACTIONS(2993),
    [anon_sym_AMP] = ACTIONS(2993),
    [aux_sym_custom_operator_token1] = ACTIONS(2993),
    [anon_sym_LT] = ACTIONS(2991),
    [anon_sym_GT] = ACTIONS(2991),
    [anon_sym_LBRACE] = ACTIONS(2993),
    [anon_sym_CARET_LBRACE] = ACTIONS(2993),
    [anon_sym_RBRACE] = ACTIONS(2993),
    [anon_sym_case] = ACTIONS(2993),
    [anon_sym_fallthrough] = ACTIONS(2993),
    [anon_sym_PLUS_EQ] = ACTIONS(2993),
    [anon_sym_DASH_EQ] = ACTIONS(2993),
    [anon_sym_STAR_EQ] = ACTIONS(2993),
    [anon_sym_SLASH_EQ] = ACTIONS(2993),
    [anon_sym_PERCENT_EQ] = ACTIONS(2993),
    [anon_sym_BANG_EQ] = ACTIONS(2991),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2993),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2993),
    [anon_sym_LT_EQ] = ACTIONS(2993),
    [anon_sym_GT_EQ] = ACTIONS(2993),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2993),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2993),
    [anon_sym_is] = ACTIONS(2993),
    [anon_sym_PLUS] = ACTIONS(2991),
    [anon_sym_DASH] = ACTIONS(2991),
    [anon_sym_STAR] = ACTIONS(2991),
    [anon_sym_SLASH] = ACTIONS(2991),
    [anon_sym_PERCENT] = ACTIONS(2991),
    [anon_sym_PLUS_PLUS] = ACTIONS(2993),
    [anon_sym_DASH_DASH] = ACTIONS(2993),
    [anon_sym_PIPE] = ACTIONS(2993),
    [anon_sym_CARET] = ACTIONS(2991),
    [anon_sym_LT_LT] = ACTIONS(2993),
    [anon_sym_GT_GT] = ACTIONS(2993),
    [anon_sym_class] = ACTIONS(2993),
    [anon_sym_prefix] = ACTIONS(2993),
    [anon_sym_infix] = ACTIONS(2993),
    [anon_sym_postfix] = ACTIONS(2993),
    [anon_sym_AT] = ACTIONS(2991),
    [anon_sym_override] = ACTIONS(2993),
    [anon_sym_convenience] = ACTIONS(2993),
    [anon_sym_required] = ACTIONS(2993),
    [anon_sym_nonisolated] = ACTIONS(2993),
    [anon_sym_public] = ACTIONS(2993),
    [anon_sym_private] = ACTIONS(2993),
    [anon_sym_internal] = ACTIONS(2993),
    [anon_sym_fileprivate] = ACTIONS(2993),
    [anon_sym_open] = ACTIONS(2993),
    [anon_sym_mutating] = ACTIONS(2993),
    [anon_sym_nonmutating] = ACTIONS(2993),
    [anon_sym_static] = ACTIONS(2993),
    [anon_sym_dynamic] = ACTIONS(2993),
    [anon_sym_optional] = ACTIONS(2993),
    [anon_sym_distributed] = ACTIONS(2993),
    [anon_sym_final] = ACTIONS(2993),
    [anon_sym_inout] = ACTIONS(2993),
    [anon_sym_ATescaping] = ACTIONS(2993),
    [anon_sym_ATautoclosure] = ACTIONS(2993),
    [anon_sym_weak] = ACTIONS(2993),
    [anon_sym_unowned] = ACTIONS(2991),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2993),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2993),
    [anon_sym_borrowing] = ACTIONS(2993),
    [anon_sym_consuming] = ACTIONS(2993),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2993),
    [sym__explicit_semi] = ACTIONS(2993),
    [sym__arrow_operator_custom] = ACTIONS(2993),
    [sym__dot_custom] = ACTIONS(3829),
    [sym__conjunction_operator_custom] = ACTIONS(2993),
    [sym__disjunction_operator_custom] = ACTIONS(2993),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2993),
    [sym__eq_custom] = ACTIONS(2993),
    [sym__eq_eq_custom] = ACTIONS(2993),
    [sym__plus_then_ws] = ACTIONS(2993),
    [sym__minus_then_ws] = ACTIONS(2993),
    [sym__bang_custom] = ACTIONS(2993),
    [sym__throws_keyword] = ACTIONS(2993),
    [sym__rethrows_keyword] = ACTIONS(2993),
    [sym_default_keyword] = ACTIONS(2993),
    [sym__as_custom] = ACTIONS(2993),
    [sym__as_quest_custom] = ACTIONS(2993),
    [sym__as_bang_custom] = ACTIONS(2993),
    [sym__async_keyword_custom] = ACTIONS(2993),
    [sym__custom_operator] = ACTIONS(2993),
  },
  [1043] = {
    [sym__immediate_quest] = STATE(1043),
    [aux_sym_optional_type_repeat1] = STATE(1043),
    [anon_sym_BANG] = ACTIONS(3032),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3034),
    [anon_sym_package] = ACTIONS(3034),
    [anon_sym_COMMA] = ACTIONS(3034),
    [anon_sym_LPAREN] = ACTIONS(3034),
    [anon_sym_LBRACK] = ACTIONS(3034),
    [anon_sym_DOT] = ACTIONS(3032),
    [anon_sym_QMARK] = ACTIONS(3032),
    [anon_sym_QMARK2] = ACTIONS(3832),
    [anon_sym_AMP] = ACTIONS(3034),
    [aux_sym_custom_operator_token1] = ACTIONS(3034),
    [anon_sym_LT] = ACTIONS(3032),
    [anon_sym_GT] = ACTIONS(3032),
    [anon_sym_LBRACE] = ACTIONS(3034),
    [anon_sym_CARET_LBRACE] = ACTIONS(3034),
    [anon_sym_RBRACE] = ACTIONS(3034),
    [anon_sym_case] = ACTIONS(3034),
    [anon_sym_fallthrough] = ACTIONS(3034),
    [anon_sym_PLUS_EQ] = ACTIONS(3034),
    [anon_sym_DASH_EQ] = ACTIONS(3034),
    [anon_sym_STAR_EQ] = ACTIONS(3034),
    [anon_sym_SLASH_EQ] = ACTIONS(3034),
    [anon_sym_PERCENT_EQ] = ACTIONS(3034),
    [anon_sym_BANG_EQ] = ACTIONS(3032),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3034),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3034),
    [anon_sym_LT_EQ] = ACTIONS(3034),
    [anon_sym_GT_EQ] = ACTIONS(3034),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3034),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3034),
    [anon_sym_is] = ACTIONS(3034),
    [anon_sym_PLUS] = ACTIONS(3032),
    [anon_sym_DASH] = ACTIONS(3032),
    [anon_sym_STAR] = ACTIONS(3032),
    [anon_sym_SLASH] = ACTIONS(3032),
    [anon_sym_PERCENT] = ACTIONS(3032),
    [anon_sym_PLUS_PLUS] = ACTIONS(3034),
    [anon_sym_DASH_DASH] = ACTIONS(3034),
    [anon_sym_PIPE] = ACTIONS(3034),
    [anon_sym_CARET] = ACTIONS(3032),
    [anon_sym_LT_LT] = ACTIONS(3034),
    [anon_sym_GT_GT] = ACTIONS(3034),
    [anon_sym_class] = ACTIONS(3034),
    [anon_sym_prefix] = ACTIONS(3034),
    [anon_sym_infix] = ACTIONS(3034),
    [anon_sym_postfix] = ACTIONS(3034),
    [anon_sym_AT] = ACTIONS(3032),
    [anon_sym_override] = ACTIONS(3034),
    [anon_sym_convenience] = ACTIONS(3034),
    [anon_sym_required] = ACTIONS(3034),
    [anon_sym_nonisolated] = ACTIONS(3034),
    [anon_sym_public] = ACTIONS(3034),
    [anon_sym_private] = ACTIONS(3034),
    [anon_sym_internal] = ACTIONS(3034),
    [anon_sym_fileprivate] = ACTIONS(3034),
    [anon_sym_open] = ACTIONS(3034),
    [anon_sym_mutating] = ACTIONS(3034),
    [anon_sym_nonmutating] = ACTIONS(3034),
    [anon_sym_static] = ACTIONS(3034),
    [anon_sym_dynamic] = ACTIONS(3034),
    [anon_sym_optional] = ACTIONS(3034),
    [anon_sym_distributed] = ACTIONS(3034),
    [anon_sym_final] = ACTIONS(3034),
    [anon_sym_inout] = ACTIONS(3034),
    [anon_sym_ATescaping] = ACTIONS(3034),
    [anon_sym_ATautoclosure] = ACTIONS(3034),
    [anon_sym_weak] = ACTIONS(3034),
    [anon_sym_unowned] = ACTIONS(3032),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3034),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3034),
    [anon_sym_borrowing] = ACTIONS(3034),
    [anon_sym_consuming] = ACTIONS(3034),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3034),
    [sym__explicit_semi] = ACTIONS(3034),
    [sym__arrow_operator_custom] = ACTIONS(3034),
    [sym__dot_custom] = ACTIONS(3034),
    [sym__conjunction_operator_custom] = ACTIONS(3034),
    [sym__disjunction_operator_custom] = ACTIONS(3034),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3034),
    [sym__eq_custom] = ACTIONS(3034),
    [sym__eq_eq_custom] = ACTIONS(3034),
    [sym__plus_then_ws] = ACTIONS(3034),
    [sym__minus_then_ws] = ACTIONS(3034),
    [sym__bang_custom] = ACTIONS(3034),
    [sym__throws_keyword] = ACTIONS(3034),
    [sym__rethrows_keyword] = ACTIONS(3034),
    [sym_default_keyword] = ACTIONS(3034),
    [sym__as_custom] = ACTIONS(3034),
    [sym__as_quest_custom] = ACTIONS(3034),
    [sym__as_bang_custom] = ACTIONS(3034),
    [sym__async_keyword_custom] = ACTIONS(3034),
    [sym__custom_operator] = ACTIONS(3034),
  },
  [1044] = {
    [aux_sym_protocol_composition_type_repeat1] = STATE(1051),
    [anon_sym_BANG] = ACTIONS(3233),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3235),
    [anon_sym_package] = ACTIONS(3235),
    [anon_sym_COMMA] = ACTIONS(3235),
    [anon_sym_LPAREN] = ACTIONS(3235),
    [anon_sym_LBRACK] = ACTIONS(3235),
    [anon_sym_DOT] = ACTIONS(3233),
    [anon_sym_QMARK] = ACTIONS(3233),
    [anon_sym_QMARK2] = ACTIONS(3235),
    [anon_sym_AMP] = ACTIONS(3235),
    [aux_sym_custom_operator_token1] = ACTIONS(3235),
    [anon_sym_LT] = ACTIONS(3233),
    [anon_sym_GT] = ACTIONS(3233),
    [anon_sym_LBRACE] = ACTIONS(3235),
    [anon_sym_CARET_LBRACE] = ACTIONS(3235),
    [anon_sym_RBRACE] = ACTIONS(3235),
    [anon_sym_case] = ACTIONS(3235),
    [anon_sym_fallthrough] = ACTIONS(3235),
    [anon_sym_PLUS_EQ] = ACTIONS(3235),
    [anon_sym_DASH_EQ] = ACTIONS(3235),
    [anon_sym_STAR_EQ] = ACTIONS(3235),
    [anon_sym_SLASH_EQ] = ACTIONS(3235),
    [anon_sym_PERCENT_EQ] = ACTIONS(3235),
    [anon_sym_BANG_EQ] = ACTIONS(3233),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3235),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3235),
    [anon_sym_LT_EQ] = ACTIONS(3235),
    [anon_sym_GT_EQ] = ACTIONS(3235),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3235),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3235),
    [anon_sym_is] = ACTIONS(3235),
    [anon_sym_PLUS] = ACTIONS(3233),
    [anon_sym_DASH] = ACTIONS(3233),
    [anon_sym_STAR] = ACTIONS(3233),
    [anon_sym_SLASH] = ACTIONS(3233),
    [anon_sym_PERCENT] = ACTIONS(3233),
    [anon_sym_PLUS_PLUS] = ACTIONS(3235),
    [anon_sym_DASH_DASH] = ACTIONS(3235),
    [anon_sym_PIPE] = ACTIONS(3235),
    [anon_sym_CARET] = ACTIONS(3233),
    [anon_sym_LT_LT] = ACTIONS(3235),
    [anon_sym_GT_GT] = ACTIONS(3235),
    [anon_sym_class] = ACTIONS(3235),
    [anon_sym_prefix] = ACTIONS(3235),
    [anon_sym_infix] = ACTIONS(3235),
    [anon_sym_postfix] = ACTIONS(3235),
    [anon_sym_AT] = ACTIONS(3233),
    [anon_sym_override] = ACTIONS(3235),
    [anon_sym_convenience] = ACTIONS(3235),
    [anon_sym_required] = ACTIONS(3235),
    [anon_sym_nonisolated] = ACTIONS(3235),
    [anon_sym_public] = ACTIONS(3235),
    [anon_sym_private] = ACTIONS(3235),
    [anon_sym_internal] = ACTIONS(3235),
    [anon_sym_fileprivate] = ACTIONS(3235),
    [anon_sym_open] = ACTIONS(3235),
    [anon_sym_mutating] = ACTIONS(3235),
    [anon_sym_nonmutating] = ACTIONS(3235),
    [anon_sym_static] = ACTIONS(3235),
    [anon_sym_dynamic] = ACTIONS(3235),
    [anon_sym_optional] = ACTIONS(3235),
    [anon_sym_distributed] = ACTIONS(3235),
    [anon_sym_final] = ACTIONS(3235),
    [anon_sym_inout] = ACTIONS(3235),
    [anon_sym_ATescaping] = ACTIONS(3235),
    [anon_sym_ATautoclosure] = ACTIONS(3235),
    [anon_sym_weak] = ACTIONS(3235),
    [anon_sym_unowned] = ACTIONS(3233),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3235),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3235),
    [anon_sym_borrowing] = ACTIONS(3235),
    [anon_sym_consuming] = ACTIONS(3235),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3235),
    [sym__explicit_semi] = ACTIONS(3235),
    [sym__arrow_operator_custom] = ACTIONS(3235),
    [sym__dot_custom] = ACTIONS(3235),
    [sym__conjunction_operator_custom] = ACTIONS(3235),
    [sym__disjunction_operator_custom] = ACTIONS(3235),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3235),
    [sym__eq_custom] = ACTIONS(3235),
    [sym__eq_eq_custom] = ACTIONS(3235),
    [sym__plus_then_ws] = ACTIONS(3235),
    [sym__minus_then_ws] = ACTIONS(3235),
    [sym__bang_custom] = ACTIONS(3235),
    [sym__throws_keyword] = ACTIONS(3235),
    [sym__rethrows_keyword] = ACTIONS(3235),
    [sym_default_keyword] = ACTIONS(3235),
    [sym_where_keyword] = ACTIONS(3235),
    [sym__as_custom] = ACTIONS(3235),
    [sym__as_quest_custom] = ACTIONS(3235),
    [sym__as_bang_custom] = ACTIONS(3235),
    [sym__async_keyword_custom] = ACTIONS(3235),
    [sym__custom_operator] = ACTIONS(3235),
  },
  [1045] = {
    [anon_sym_BANG] = ACTIONS(3219),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3219),
    [aux_sym_simple_identifier_token2] = ACTIONS(3221),
    [aux_sym_simple_identifier_token3] = ACTIONS(3221),
    [aux_sym_simple_identifier_token4] = ACTIONS(3221),
    [anon_sym_actor] = ACTIONS(3219),
    [anon_sym_async] = ACTIONS(3219),
    [anon_sym_each] = ACTIONS(3219),
    [anon_sym_lazy] = ACTIONS(3217),
    [anon_sym_repeat] = ACTIONS(3219),
    [anon_sym_package] = ACTIONS(3217),
    [anon_sym_LPAREN] = ACTIONS(3221),
    [anon_sym_LBRACK] = ACTIONS(3221),
    [anon_sym_QMARK] = ACTIONS(3219),
    [anon_sym_QMARK2] = ACTIONS(3221),
    [anon_sym_AMP] = ACTIONS(3221),
    [aux_sym_custom_operator_token1] = ACTIONS(3221),
    [anon_sym_LT] = ACTIONS(3219),
    [anon_sym_GT] = ACTIONS(3219),
    [anon_sym_LBRACE] = ACTIONS(3221),
    [anon_sym_CARET_LBRACE] = ACTIONS(3221),
    [anon_sym_RBRACE] = ACTIONS(3223),
    [anon_sym_case] = ACTIONS(3217),
    [anon_sym_fallthrough] = ACTIONS(3217),
    [anon_sym_PLUS_EQ] = ACTIONS(3221),
    [anon_sym_DASH_EQ] = ACTIONS(3221),
    [anon_sym_STAR_EQ] = ACTIONS(3221),
    [anon_sym_SLASH_EQ] = ACTIONS(3221),
    [anon_sym_PERCENT_EQ] = ACTIONS(3221),
    [anon_sym_BANG_EQ] = ACTIONS(3219),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3221),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3221),
    [anon_sym_LT_EQ] = ACTIONS(3221),
    [anon_sym_GT_EQ] = ACTIONS(3221),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3221),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3221),
    [anon_sym_is] = ACTIONS(3219),
    [anon_sym_PLUS] = ACTIONS(3219),
    [anon_sym_DASH] = ACTIONS(3219),
    [anon_sym_STAR] = ACTIONS(3219),
    [anon_sym_SLASH] = ACTIONS(3219),
    [anon_sym_PERCENT] = ACTIONS(3219),
    [anon_sym_PLUS_PLUS] = ACTIONS(3221),
    [anon_sym_DASH_DASH] = ACTIONS(3221),
    [anon_sym_PIPE] = ACTIONS(3221),
    [anon_sym_CARET] = ACTIONS(3219),
    [anon_sym_LT_LT] = ACTIONS(3221),
    [anon_sym_GT_GT] = ACTIONS(3221),
    [anon_sym_class] = ACTIONS(3217),
    [anon_sym_prefix] = ACTIONS(3217),
    [anon_sym_infix] = ACTIONS(3217),
    [anon_sym_postfix] = ACTIONS(3217),
    [anon_sym_AT] = ACTIONS(3217),
    [anon_sym_override] = ACTIONS(3217),
    [anon_sym_convenience] = ACTIONS(3217),
    [anon_sym_required] = ACTIONS(3217),
    [anon_sym_nonisolated] = ACTIONS(3217),
    [anon_sym_public] = ACTIONS(3217),
    [anon_sym_private] = ACTIONS(3217),
    [anon_sym_internal] = ACTIONS(3217),
    [anon_sym_fileprivate] = ACTIONS(3217),
    [anon_sym_open] = ACTIONS(3217),
    [anon_sym_mutating] = ACTIONS(3217),
    [anon_sym_nonmutating] = ACTIONS(3217),
    [anon_sym_static] = ACTIONS(3217),
    [anon_sym_dynamic] = ACTIONS(3217),
    [anon_sym_optional] = ACTIONS(3217),
    [anon_sym_distributed] = ACTIONS(3217),
    [anon_sym_final] = ACTIONS(3217),
    [anon_sym_inout] = ACTIONS(3217),
    [anon_sym_ATescaping] = ACTIONS(3223),
    [anon_sym_ATautoclosure] = ACTIONS(3223),
    [anon_sym_weak] = ACTIONS(3217),
    [anon_sym_unowned] = ACTIONS(3217),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3223),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3223),
    [anon_sym_borrowing] = ACTIONS(3217),
    [anon_sym_consuming] = ACTIONS(3217),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3223),
    [sym__explicit_semi] = ACTIONS(3223),
    [sym__dot_custom] = ACTIONS(3221),
    [sym__conjunction_operator_custom] = ACTIONS(3221),
    [sym__disjunction_operator_custom] = ACTIONS(3221),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3221),
    [sym__eq_custom] = ACTIONS(3221),
    [sym__eq_eq_custom] = ACTIONS(3221),
    [sym__plus_then_ws] = ACTIONS(3221),
    [sym__minus_then_ws] = ACTIONS(3221),
    [sym__bang_custom] = ACTIONS(3221),
    [sym_default_keyword] = ACTIONS(3223),
    [sym__as_custom] = ACTIONS(3221),
    [sym__as_quest_custom] = ACTIONS(3221),
    [sym__as_bang_custom] = ACTIONS(3221),
    [sym__custom_operator] = ACTIONS(3221),
  },
  [1046] = {
    [sym__immediate_quest] = STATE(1048),
    [aux_sym_optional_type_repeat1] = STATE(1048),
    [anon_sym_BANG] = ACTIONS(2998),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3000),
    [anon_sym_package] = ACTIONS(3000),
    [anon_sym_COMMA] = ACTIONS(3000),
    [anon_sym_LPAREN] = ACTIONS(3000),
    [anon_sym_LBRACK] = ACTIONS(3000),
    [anon_sym_DOT] = ACTIONS(2998),
    [anon_sym_QMARK] = ACTIONS(2998),
    [anon_sym_QMARK2] = ACTIONS(3783),
    [anon_sym_AMP] = ACTIONS(3000),
    [aux_sym_custom_operator_token1] = ACTIONS(3000),
    [anon_sym_LT] = ACTIONS(2998),
    [anon_sym_GT] = ACTIONS(2998),
    [anon_sym_LBRACE] = ACTIONS(3000),
    [anon_sym_CARET_LBRACE] = ACTIONS(3000),
    [anon_sym_RBRACE] = ACTIONS(3000),
    [anon_sym_case] = ACTIONS(3000),
    [anon_sym_fallthrough] = ACTIONS(3000),
    [anon_sym_PLUS_EQ] = ACTIONS(3000),
    [anon_sym_DASH_EQ] = ACTIONS(3000),
    [anon_sym_STAR_EQ] = ACTIONS(3000),
    [anon_sym_SLASH_EQ] = ACTIONS(3000),
    [anon_sym_PERCENT_EQ] = ACTIONS(3000),
    [anon_sym_BANG_EQ] = ACTIONS(2998),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3000),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3000),
    [anon_sym_LT_EQ] = ACTIONS(3000),
    [anon_sym_GT_EQ] = ACTIONS(3000),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3000),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3000),
    [anon_sym_is] = ACTIONS(3000),
    [anon_sym_PLUS] = ACTIONS(2998),
    [anon_sym_DASH] = ACTIONS(2998),
    [anon_sym_STAR] = ACTIONS(2998),
    [anon_sym_SLASH] = ACTIONS(2998),
    [anon_sym_PERCENT] = ACTIONS(2998),
    [anon_sym_PLUS_PLUS] = ACTIONS(3000),
    [anon_sym_DASH_DASH] = ACTIONS(3000),
    [anon_sym_PIPE] = ACTIONS(3000),
    [anon_sym_CARET] = ACTIONS(2998),
    [anon_sym_LT_LT] = ACTIONS(3000),
    [anon_sym_GT_GT] = ACTIONS(3000),
    [anon_sym_class] = ACTIONS(3000),
    [anon_sym_prefix] = ACTIONS(3000),
    [anon_sym_infix] = ACTIONS(3000),
    [anon_sym_postfix] = ACTIONS(3000),
    [anon_sym_AT] = ACTIONS(2998),
    [anon_sym_override] = ACTIONS(3000),
    [anon_sym_convenience] = ACTIONS(3000),
    [anon_sym_required] = ACTIONS(3000),
    [anon_sym_nonisolated] = ACTIONS(3000),
    [anon_sym_public] = ACTIONS(3000),
    [anon_sym_private] = ACTIONS(3000),
    [anon_sym_internal] = ACTIONS(3000),
    [anon_sym_fileprivate] = ACTIONS(3000),
    [anon_sym_open] = ACTIONS(3000),
    [anon_sym_mutating] = ACTIONS(3000),
    [anon_sym_nonmutating] = ACTIONS(3000),
    [anon_sym_static] = ACTIONS(3000),
    [anon_sym_dynamic] = ACTIONS(3000),
    [anon_sym_optional] = ACTIONS(3000),
    [anon_sym_distributed] = ACTIONS(3000),
    [anon_sym_final] = ACTIONS(3000),
    [anon_sym_inout] = ACTIONS(3000),
    [anon_sym_ATescaping] = ACTIONS(3000),
    [anon_sym_ATautoclosure] = ACTIONS(3000),
    [anon_sym_weak] = ACTIONS(3000),
    [anon_sym_unowned] = ACTIONS(2998),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3000),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3000),
    [anon_sym_borrowing] = ACTIONS(3000),
    [anon_sym_consuming] = ACTIONS(3000),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3000),
    [sym__explicit_semi] = ACTIONS(3000),
    [sym__arrow_operator_custom] = ACTIONS(3000),
    [sym__dot_custom] = ACTIONS(3000),
    [sym__conjunction_operator_custom] = ACTIONS(3000),
    [sym__disjunction_operator_custom] = ACTIONS(3000),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3000),
    [sym__eq_custom] = ACTIONS(3000),
    [sym__eq_eq_custom] = ACTIONS(3000),
    [sym__plus_then_ws] = ACTIONS(3000),
    [sym__minus_then_ws] = ACTIONS(3000),
    [sym__bang_custom] = ACTIONS(3000),
    [sym__throws_keyword] = ACTIONS(3000),
    [sym__rethrows_keyword] = ACTIONS(3000),
    [sym_default_keyword] = ACTIONS(3000),
    [sym__as_custom] = ACTIONS(3000),
    [sym__as_quest_custom] = ACTIONS(3000),
    [sym__as_bang_custom] = ACTIONS(3000),
    [sym__async_keyword_custom] = ACTIONS(3000),
    [sym__custom_operator] = ACTIONS(3000),
  },
  [1047] = {
    [sym__dot] = STATE(5417),
    [aux_sym_user_type_repeat1] = STATE(1050),
    [anon_sym_BANG] = ACTIONS(3046),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3048),
    [anon_sym_package] = ACTIONS(3048),
    [anon_sym_COMMA] = ACTIONS(3048),
    [anon_sym_LPAREN] = ACTIONS(3048),
    [anon_sym_LBRACK] = ACTIONS(3048),
    [anon_sym_DOT] = ACTIONS(3046),
    [anon_sym_QMARK] = ACTIONS(3046),
    [anon_sym_QMARK2] = ACTIONS(3048),
    [anon_sym_AMP] = ACTIONS(3048),
    [aux_sym_custom_operator_token1] = ACTIONS(3048),
    [anon_sym_LT] = ACTIONS(3046),
    [anon_sym_GT] = ACTIONS(3046),
    [anon_sym_LBRACE] = ACTIONS(3048),
    [anon_sym_CARET_LBRACE] = ACTIONS(3048),
    [anon_sym_RBRACE] = ACTIONS(3048),
    [anon_sym_case] = ACTIONS(3048),
    [anon_sym_fallthrough] = ACTIONS(3048),
    [anon_sym_PLUS_EQ] = ACTIONS(3048),
    [anon_sym_DASH_EQ] = ACTIONS(3048),
    [anon_sym_STAR_EQ] = ACTIONS(3048),
    [anon_sym_SLASH_EQ] = ACTIONS(3048),
    [anon_sym_PERCENT_EQ] = ACTIONS(3048),
    [anon_sym_BANG_EQ] = ACTIONS(3046),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3048),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3048),
    [anon_sym_LT_EQ] = ACTIONS(3048),
    [anon_sym_GT_EQ] = ACTIONS(3048),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3048),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3048),
    [anon_sym_is] = ACTIONS(3048),
    [anon_sym_PLUS] = ACTIONS(3046),
    [anon_sym_DASH] = ACTIONS(3046),
    [anon_sym_STAR] = ACTIONS(3046),
    [anon_sym_SLASH] = ACTIONS(3046),
    [anon_sym_PERCENT] = ACTIONS(3046),
    [anon_sym_PLUS_PLUS] = ACTIONS(3048),
    [anon_sym_DASH_DASH] = ACTIONS(3048),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_CARET] = ACTIONS(3046),
    [anon_sym_LT_LT] = ACTIONS(3048),
    [anon_sym_GT_GT] = ACTIONS(3048),
    [anon_sym_class] = ACTIONS(3048),
    [anon_sym_prefix] = ACTIONS(3048),
    [anon_sym_infix] = ACTIONS(3048),
    [anon_sym_postfix] = ACTIONS(3048),
    [anon_sym_AT] = ACTIONS(3046),
    [anon_sym_override] = ACTIONS(3048),
    [anon_sym_convenience] = ACTIONS(3048),
    [anon_sym_required] = ACTIONS(3048),
    [anon_sym_nonisolated] = ACTIONS(3048),
    [anon_sym_public] = ACTIONS(3048),
    [anon_sym_private] = ACTIONS(3048),
    [anon_sym_internal] = ACTIONS(3048),
    [anon_sym_fileprivate] = ACTIONS(3048),
    [anon_sym_open] = ACTIONS(3048),
    [anon_sym_mutating] = ACTIONS(3048),
    [anon_sym_nonmutating] = ACTIONS(3048),
    [anon_sym_static] = ACTIONS(3048),
    [anon_sym_dynamic] = ACTIONS(3048),
    [anon_sym_optional] = ACTIONS(3048),
    [anon_sym_distributed] = ACTIONS(3048),
    [anon_sym_final] = ACTIONS(3048),
    [anon_sym_inout] = ACTIONS(3048),
    [anon_sym_ATescaping] = ACTIONS(3048),
    [anon_sym_ATautoclosure] = ACTIONS(3048),
    [anon_sym_weak] = ACTIONS(3048),
    [anon_sym_unowned] = ACTIONS(3046),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3048),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3048),
    [anon_sym_borrowing] = ACTIONS(3048),
    [anon_sym_consuming] = ACTIONS(3048),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3048),
    [sym__explicit_semi] = ACTIONS(3048),
    [sym__arrow_operator_custom] = ACTIONS(3048),
    [sym__dot_custom] = ACTIONS(3835),
    [sym__conjunction_operator_custom] = ACTIONS(3048),
    [sym__disjunction_operator_custom] = ACTIONS(3048),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3048),
    [sym__eq_custom] = ACTIONS(3048),
    [sym__eq_eq_custom] = ACTIONS(3048),
    [sym__plus_then_ws] = ACTIONS(3048),
    [sym__minus_then_ws] = ACTIONS(3048),
    [sym__bang_custom] = ACTIONS(3048),
    [sym__throws_keyword] = ACTIONS(3048),
    [sym__rethrows_keyword] = ACTIONS(3048),
    [sym_default_keyword] = ACTIONS(3048),
    [sym__as_custom] = ACTIONS(3048),
    [sym__as_quest_custom] = ACTIONS(3048),
    [sym__as_bang_custom] = ACTIONS(3048),
    [sym__async_keyword_custom] = ACTIONS(3048),
    [sym__custom_operator] = ACTIONS(3048),
  },
  [1048] = {
    [sym__immediate_quest] = STATE(1043),
    [aux_sym_optional_type_repeat1] = STATE(1043),
    [anon_sym_BANG] = ACTIONS(3028),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3030),
    [anon_sym_package] = ACTIONS(3030),
    [anon_sym_COMMA] = ACTIONS(3030),
    [anon_sym_LPAREN] = ACTIONS(3030),
    [anon_sym_LBRACK] = ACTIONS(3030),
    [anon_sym_DOT] = ACTIONS(3028),
    [anon_sym_QMARK] = ACTIONS(3028),
    [anon_sym_QMARK2] = ACTIONS(3030),
    [anon_sym_AMP] = ACTIONS(3030),
    [aux_sym_custom_operator_token1] = ACTIONS(3030),
    [anon_sym_LT] = ACTIONS(3028),
    [anon_sym_GT] = ACTIONS(3028),
    [anon_sym_LBRACE] = ACTIONS(3030),
    [anon_sym_CARET_LBRACE] = ACTIONS(3030),
    [anon_sym_RBRACE] = ACTIONS(3030),
    [anon_sym_case] = ACTIONS(3030),
    [anon_sym_fallthrough] = ACTIONS(3030),
    [anon_sym_PLUS_EQ] = ACTIONS(3030),
    [anon_sym_DASH_EQ] = ACTIONS(3030),
    [anon_sym_STAR_EQ] = ACTIONS(3030),
    [anon_sym_SLASH_EQ] = ACTIONS(3030),
    [anon_sym_PERCENT_EQ] = ACTIONS(3030),
    [anon_sym_BANG_EQ] = ACTIONS(3028),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3030),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3030),
    [anon_sym_LT_EQ] = ACTIONS(3030),
    [anon_sym_GT_EQ] = ACTIONS(3030),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3030),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3030),
    [anon_sym_is] = ACTIONS(3030),
    [anon_sym_PLUS] = ACTIONS(3028),
    [anon_sym_DASH] = ACTIONS(3028),
    [anon_sym_STAR] = ACTIONS(3028),
    [anon_sym_SLASH] = ACTIONS(3028),
    [anon_sym_PERCENT] = ACTIONS(3028),
    [anon_sym_PLUS_PLUS] = ACTIONS(3030),
    [anon_sym_DASH_DASH] = ACTIONS(3030),
    [anon_sym_PIPE] = ACTIONS(3030),
    [anon_sym_CARET] = ACTIONS(3028),
    [anon_sym_LT_LT] = ACTIONS(3030),
    [anon_sym_GT_GT] = ACTIONS(3030),
    [anon_sym_class] = ACTIONS(3030),
    [anon_sym_prefix] = ACTIONS(3030),
    [anon_sym_infix] = ACTIONS(3030),
    [anon_sym_postfix] = ACTIONS(3030),
    [anon_sym_AT] = ACTIONS(3028),
    [anon_sym_override] = ACTIONS(3030),
    [anon_sym_convenience] = ACTIONS(3030),
    [anon_sym_required] = ACTIONS(3030),
    [anon_sym_nonisolated] = ACTIONS(3030),
    [anon_sym_public] = ACTIONS(3030),
    [anon_sym_private] = ACTIONS(3030),
    [anon_sym_internal] = ACTIONS(3030),
    [anon_sym_fileprivate] = ACTIONS(3030),
    [anon_sym_open] = ACTIONS(3030),
    [anon_sym_mutating] = ACTIONS(3030),
    [anon_sym_nonmutating] = ACTIONS(3030),
    [anon_sym_static] = ACTIONS(3030),
    [anon_sym_dynamic] = ACTIONS(3030),
    [anon_sym_optional] = ACTIONS(3030),
    [anon_sym_distributed] = ACTIONS(3030),
    [anon_sym_final] = ACTIONS(3030),
    [anon_sym_inout] = ACTIONS(3030),
    [anon_sym_ATescaping] = ACTIONS(3030),
    [anon_sym_ATautoclosure] = ACTIONS(3030),
    [anon_sym_weak] = ACTIONS(3030),
    [anon_sym_unowned] = ACTIONS(3028),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3030),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3030),
    [anon_sym_borrowing] = ACTIONS(3030),
    [anon_sym_consuming] = ACTIONS(3030),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3030),
    [sym__explicit_semi] = ACTIONS(3030),
    [sym__arrow_operator_custom] = ACTIONS(3030),
    [sym__dot_custom] = ACTIONS(3030),
    [sym__conjunction_operator_custom] = ACTIONS(3030),
    [sym__disjunction_operator_custom] = ACTIONS(3030),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3030),
    [sym__eq_custom] = ACTIONS(3030),
    [sym__eq_eq_custom] = ACTIONS(3030),
    [sym__plus_then_ws] = ACTIONS(3030),
    [sym__minus_then_ws] = ACTIONS(3030),
    [sym__bang_custom] = ACTIONS(3030),
    [sym__throws_keyword] = ACTIONS(3030),
    [sym__rethrows_keyword] = ACTIONS(3030),
    [sym_default_keyword] = ACTIONS(3030),
    [sym__as_custom] = ACTIONS(3030),
    [sym__as_quest_custom] = ACTIONS(3030),
    [sym__as_bang_custom] = ACTIONS(3030),
    [sym__async_keyword_custom] = ACTIONS(3030),
    [sym__custom_operator] = ACTIONS(3030),
  },
  [1049] = {
    [sym_type_arguments] = STATE(1076),
    [anon_sym_BANG] = ACTIONS(3081),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3083),
    [anon_sym_package] = ACTIONS(3083),
    [anon_sym_COMMA] = ACTIONS(3083),
    [anon_sym_LPAREN] = ACTIONS(3083),
    [anon_sym_LBRACK] = ACTIONS(3083),
    [anon_sym_DOT] = ACTIONS(3081),
    [anon_sym_QMARK] = ACTIONS(3081),
    [anon_sym_QMARK2] = ACTIONS(3083),
    [anon_sym_AMP] = ACTIONS(3083),
    [aux_sym_custom_operator_token1] = ACTIONS(3083),
    [anon_sym_LT] = ACTIONS(3838),
    [anon_sym_GT] = ACTIONS(3081),
    [anon_sym_LBRACE] = ACTIONS(3083),
    [anon_sym_CARET_LBRACE] = ACTIONS(3083),
    [anon_sym_RBRACE] = ACTIONS(3083),
    [anon_sym_case] = ACTIONS(3083),
    [anon_sym_fallthrough] = ACTIONS(3083),
    [anon_sym_PLUS_EQ] = ACTIONS(3083),
    [anon_sym_DASH_EQ] = ACTIONS(3083),
    [anon_sym_STAR_EQ] = ACTIONS(3083),
    [anon_sym_SLASH_EQ] = ACTIONS(3083),
    [anon_sym_PERCENT_EQ] = ACTIONS(3083),
    [anon_sym_BANG_EQ] = ACTIONS(3081),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3083),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3083),
    [anon_sym_LT_EQ] = ACTIONS(3083),
    [anon_sym_GT_EQ] = ACTIONS(3083),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3083),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3083),
    [anon_sym_is] = ACTIONS(3083),
    [anon_sym_PLUS] = ACTIONS(3081),
    [anon_sym_DASH] = ACTIONS(3081),
    [anon_sym_STAR] = ACTIONS(3081),
    [anon_sym_SLASH] = ACTIONS(3081),
    [anon_sym_PERCENT] = ACTIONS(3081),
    [anon_sym_PLUS_PLUS] = ACTIONS(3083),
    [anon_sym_DASH_DASH] = ACTIONS(3083),
    [anon_sym_PIPE] = ACTIONS(3083),
    [anon_sym_CARET] = ACTIONS(3081),
    [anon_sym_LT_LT] = ACTIONS(3083),
    [anon_sym_GT_GT] = ACTIONS(3083),
    [anon_sym_class] = ACTIONS(3083),
    [anon_sym_prefix] = ACTIONS(3083),
    [anon_sym_infix] = ACTIONS(3083),
    [anon_sym_postfix] = ACTIONS(3083),
    [anon_sym_AT] = ACTIONS(3081),
    [anon_sym_override] = ACTIONS(3083),
    [anon_sym_convenience] = ACTIONS(3083),
    [anon_sym_required] = ACTIONS(3083),
    [anon_sym_nonisolated] = ACTIONS(3083),
    [anon_sym_public] = ACTIONS(3083),
    [anon_sym_private] = ACTIONS(3083),
    [anon_sym_internal] = ACTIONS(3083),
    [anon_sym_fileprivate] = ACTIONS(3083),
    [anon_sym_open] = ACTIONS(3083),
    [anon_sym_mutating] = ACTIONS(3083),
    [anon_sym_nonmutating] = ACTIONS(3083),
    [anon_sym_static] = ACTIONS(3083),
    [anon_sym_dynamic] = ACTIONS(3083),
    [anon_sym_optional] = ACTIONS(3083),
    [anon_sym_distributed] = ACTIONS(3083),
    [anon_sym_final] = ACTIONS(3083),
    [anon_sym_inout] = ACTIONS(3083),
    [anon_sym_ATescaping] = ACTIONS(3083),
    [anon_sym_ATautoclosure] = ACTIONS(3083),
    [anon_sym_weak] = ACTIONS(3083),
    [anon_sym_unowned] = ACTIONS(3081),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3083),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3083),
    [anon_sym_borrowing] = ACTIONS(3083),
    [anon_sym_consuming] = ACTIONS(3083),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3083),
    [sym__explicit_semi] = ACTIONS(3083),
    [sym__arrow_operator_custom] = ACTIONS(3083),
    [sym__dot_custom] = ACTIONS(3083),
    [sym__conjunction_operator_custom] = ACTIONS(3083),
    [sym__disjunction_operator_custom] = ACTIONS(3083),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3083),
    [sym__eq_custom] = ACTIONS(3083),
    [sym__eq_eq_custom] = ACTIONS(3083),
    [sym__plus_then_ws] = ACTIONS(3083),
    [sym__minus_then_ws] = ACTIONS(3083),
    [sym__bang_custom] = ACTIONS(3083),
    [sym__throws_keyword] = ACTIONS(3083),
    [sym__rethrows_keyword] = ACTIONS(3083),
    [sym_default_keyword] = ACTIONS(3083),
    [sym_where_keyword] = ACTIONS(3083),
    [sym__as_custom] = ACTIONS(3083),
    [sym__as_quest_custom] = ACTIONS(3083),
    [sym__as_bang_custom] = ACTIONS(3083),
    [sym__async_keyword_custom] = ACTIONS(3083),
    [sym__custom_operator] = ACTIONS(3083),
  },
  [1050] = {
    [sym__dot] = STATE(5417),
    [aux_sym_user_type_repeat1] = STATE(1042),
    [anon_sym_BANG] = ACTIONS(3039),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3041),
    [anon_sym_package] = ACTIONS(3041),
    [anon_sym_COMMA] = ACTIONS(3041),
    [anon_sym_LPAREN] = ACTIONS(3041),
    [anon_sym_LBRACK] = ACTIONS(3041),
    [anon_sym_DOT] = ACTIONS(3039),
    [anon_sym_QMARK] = ACTIONS(3039),
    [anon_sym_QMARK2] = ACTIONS(3041),
    [anon_sym_AMP] = ACTIONS(3041),
    [aux_sym_custom_operator_token1] = ACTIONS(3041),
    [anon_sym_LT] = ACTIONS(3039),
    [anon_sym_GT] = ACTIONS(3039),
    [anon_sym_LBRACE] = ACTIONS(3041),
    [anon_sym_CARET_LBRACE] = ACTIONS(3041),
    [anon_sym_RBRACE] = ACTIONS(3041),
    [anon_sym_case] = ACTIONS(3041),
    [anon_sym_fallthrough] = ACTIONS(3041),
    [anon_sym_PLUS_EQ] = ACTIONS(3041),
    [anon_sym_DASH_EQ] = ACTIONS(3041),
    [anon_sym_STAR_EQ] = ACTIONS(3041),
    [anon_sym_SLASH_EQ] = ACTIONS(3041),
    [anon_sym_PERCENT_EQ] = ACTIONS(3041),
    [anon_sym_BANG_EQ] = ACTIONS(3039),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3041),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3041),
    [anon_sym_LT_EQ] = ACTIONS(3041),
    [anon_sym_GT_EQ] = ACTIONS(3041),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3041),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3041),
    [anon_sym_is] = ACTIONS(3041),
    [anon_sym_PLUS] = ACTIONS(3039),
    [anon_sym_DASH] = ACTIONS(3039),
    [anon_sym_STAR] = ACTIONS(3039),
    [anon_sym_SLASH] = ACTIONS(3039),
    [anon_sym_PERCENT] = ACTIONS(3039),
    [anon_sym_PLUS_PLUS] = ACTIONS(3041),
    [anon_sym_DASH_DASH] = ACTIONS(3041),
    [anon_sym_PIPE] = ACTIONS(3041),
    [anon_sym_CARET] = ACTIONS(3039),
    [anon_sym_LT_LT] = ACTIONS(3041),
    [anon_sym_GT_GT] = ACTIONS(3041),
    [anon_sym_class] = ACTIONS(3041),
    [anon_sym_prefix] = ACTIONS(3041),
    [anon_sym_infix] = ACTIONS(3041),
    [anon_sym_postfix] = ACTIONS(3041),
    [anon_sym_AT] = ACTIONS(3039),
    [anon_sym_override] = ACTIONS(3041),
    [anon_sym_convenience] = ACTIONS(3041),
    [anon_sym_required] = ACTIONS(3041),
    [anon_sym_nonisolated] = ACTIONS(3041),
    [anon_sym_public] = ACTIONS(3041),
    [anon_sym_private] = ACTIONS(3041),
    [anon_sym_internal] = ACTIONS(3041),
    [anon_sym_fileprivate] = ACTIONS(3041),
    [anon_sym_open] = ACTIONS(3041),
    [anon_sym_mutating] = ACTIONS(3041),
    [anon_sym_nonmutating] = ACTIONS(3041),
    [anon_sym_static] = ACTIONS(3041),
    [anon_sym_dynamic] = ACTIONS(3041),
    [anon_sym_optional] = ACTIONS(3041),
    [anon_sym_distributed] = ACTIONS(3041),
    [anon_sym_final] = ACTIONS(3041),
    [anon_sym_inout] = ACTIONS(3041),
    [anon_sym_ATescaping] = ACTIONS(3041),
    [anon_sym_ATautoclosure] = ACTIONS(3041),
    [anon_sym_weak] = ACTIONS(3041),
    [anon_sym_unowned] = ACTIONS(3039),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3041),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3041),
    [anon_sym_borrowing] = ACTIONS(3041),
    [anon_sym_consuming] = ACTIONS(3041),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3041),
    [sym__explicit_semi] = ACTIONS(3041),
    [sym__arrow_operator_custom] = ACTIONS(3041),
    [sym__dot_custom] = ACTIONS(3840),
    [sym__conjunction_operator_custom] = ACTIONS(3041),
    [sym__disjunction_operator_custom] = ACTIONS(3041),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3041),
    [sym__eq_custom] = ACTIONS(3041),
    [sym__eq_eq_custom] = ACTIONS(3041),
    [sym__plus_then_ws] = ACTIONS(3041),
    [sym__minus_then_ws] = ACTIONS(3041),
    [sym__bang_custom] = ACTIONS(3041),
    [sym__throws_keyword] = ACTIONS(3041),
    [sym__rethrows_keyword] = ACTIONS(3041),
    [sym_default_keyword] = ACTIONS(3041),
    [sym__as_custom] = ACTIONS(3041),
    [sym__as_quest_custom] = ACTIONS(3041),
    [sym__as_bang_custom] = ACTIONS(3041),
    [sym__async_keyword_custom] = ACTIONS(3041),
    [sym__custom_operator] = ACTIONS(3041),
  },
  [1051] = {
    [aux_sym_protocol_composition_type_repeat1] = STATE(1051),
    [anon_sym_BANG] = ACTIONS(3077),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3079),
    [anon_sym_package] = ACTIONS(3079),
    [anon_sym_COMMA] = ACTIONS(3079),
    [anon_sym_LPAREN] = ACTIONS(3079),
    [anon_sym_LBRACK] = ACTIONS(3079),
    [anon_sym_DOT] = ACTIONS(3077),
    [anon_sym_QMARK] = ACTIONS(3077),
    [anon_sym_QMARK2] = ACTIONS(3079),
    [anon_sym_AMP] = ACTIONS(3843),
    [aux_sym_custom_operator_token1] = ACTIONS(3079),
    [anon_sym_LT] = ACTIONS(3077),
    [anon_sym_GT] = ACTIONS(3077),
    [anon_sym_LBRACE] = ACTIONS(3079),
    [anon_sym_CARET_LBRACE] = ACTIONS(3079),
    [anon_sym_RBRACE] = ACTIONS(3079),
    [anon_sym_case] = ACTIONS(3079),
    [anon_sym_fallthrough] = ACTIONS(3079),
    [anon_sym_PLUS_EQ] = ACTIONS(3079),
    [anon_sym_DASH_EQ] = ACTIONS(3079),
    [anon_sym_STAR_EQ] = ACTIONS(3079),
    [anon_sym_SLASH_EQ] = ACTIONS(3079),
    [anon_sym_PERCENT_EQ] = ACTIONS(3079),
    [anon_sym_BANG_EQ] = ACTIONS(3077),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3079),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3079),
    [anon_sym_LT_EQ] = ACTIONS(3079),
    [anon_sym_GT_EQ] = ACTIONS(3079),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3079),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3079),
    [anon_sym_is] = ACTIONS(3079),
    [anon_sym_PLUS] = ACTIONS(3077),
    [anon_sym_DASH] = ACTIONS(3077),
    [anon_sym_STAR] = ACTIONS(3077),
    [anon_sym_SLASH] = ACTIONS(3077),
    [anon_sym_PERCENT] = ACTIONS(3077),
    [anon_sym_PLUS_PLUS] = ACTIONS(3079),
    [anon_sym_DASH_DASH] = ACTIONS(3079),
    [anon_sym_PIPE] = ACTIONS(3079),
    [anon_sym_CARET] = ACTIONS(3077),
    [anon_sym_LT_LT] = ACTIONS(3079),
    [anon_sym_GT_GT] = ACTIONS(3079),
    [anon_sym_class] = ACTIONS(3079),
    [anon_sym_prefix] = ACTIONS(3079),
    [anon_sym_infix] = ACTIONS(3079),
    [anon_sym_postfix] = ACTIONS(3079),
    [anon_sym_AT] = ACTIONS(3077),
    [anon_sym_override] = ACTIONS(3079),
    [anon_sym_convenience] = ACTIONS(3079),
    [anon_sym_required] = ACTIONS(3079),
    [anon_sym_nonisolated] = ACTIONS(3079),
    [anon_sym_public] = ACTIONS(3079),
    [anon_sym_private] = ACTIONS(3079),
    [anon_sym_internal] = ACTIONS(3079),
    [anon_sym_fileprivate] = ACTIONS(3079),
    [anon_sym_open] = ACTIONS(3079),
    [anon_sym_mutating] = ACTIONS(3079),
    [anon_sym_nonmutating] = ACTIONS(3079),
    [anon_sym_static] = ACTIONS(3079),
    [anon_sym_dynamic] = ACTIONS(3079),
    [anon_sym_optional] = ACTIONS(3079),
    [anon_sym_distributed] = ACTIONS(3079),
    [anon_sym_final] = ACTIONS(3079),
    [anon_sym_inout] = ACTIONS(3079),
    [anon_sym_ATescaping] = ACTIONS(3079),
    [anon_sym_ATautoclosure] = ACTIONS(3079),
    [anon_sym_weak] = ACTIONS(3079),
    [anon_sym_unowned] = ACTIONS(3077),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3079),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3079),
    [anon_sym_borrowing] = ACTIONS(3079),
    [anon_sym_consuming] = ACTIONS(3079),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3079),
    [sym__explicit_semi] = ACTIONS(3079),
    [sym__arrow_operator_custom] = ACTIONS(3079),
    [sym__dot_custom] = ACTIONS(3079),
    [sym__conjunction_operator_custom] = ACTIONS(3079),
    [sym__disjunction_operator_custom] = ACTIONS(3079),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3079),
    [sym__eq_custom] = ACTIONS(3079),
    [sym__eq_eq_custom] = ACTIONS(3079),
    [sym__plus_then_ws] = ACTIONS(3079),
    [sym__minus_then_ws] = ACTIONS(3079),
    [sym__bang_custom] = ACTIONS(3079),
    [sym__throws_keyword] = ACTIONS(3079),
    [sym__rethrows_keyword] = ACTIONS(3079),
    [sym_default_keyword] = ACTIONS(3079),
    [sym_where_keyword] = ACTIONS(3079),
    [sym__as_custom] = ACTIONS(3079),
    [sym__as_quest_custom] = ACTIONS(3079),
    [sym__as_bang_custom] = ACTIONS(3079),
    [sym__async_keyword_custom] = ACTIONS(3079),
    [sym__custom_operator] = ACTIONS(3079),
  },
  [1052] = {
    [sym_simple_identifier] = STATE(1737),
    [sym__contextual_simple_identifier] = STATE(1730),
    [sym__unannotated_type] = STATE(1777),
    [sym_user_type] = STATE(1772),
    [sym__simple_user_type] = STATE(1785),
    [sym_tuple_type] = STATE(1740),
    [sym_function_type] = STATE(1777),
    [sym_array_type] = STATE(1772),
    [sym_dictionary_type] = STATE(1772),
    [sym_optional_type] = STATE(1777),
    [sym_metatype] = STATE(1777),
    [sym_opaque_type] = STATE(1777),
    [sym_existential_type] = STATE(1777),
    [sym_type_parameter_pack] = STATE(1777),
    [sym_type_pack_expansion] = STATE(1777),
    [sym_protocol_composition_type] = STATE(1777),
    [sym_suppressed_constraint] = STATE(1777),
    [sym__parenthesized_type] = STATE(1848),
    [sym__parameter_ownership_modifier] = STATE(1730),
    [sym_comment] = ACTIONS(5),
    [aux_sym_simple_identifier_token1] = ACTIONS(3846),
    [aux_sym_simple_identifier_token2] = ACTIONS(3848),
    [aux_sym_simple_identifier_token3] = ACTIONS(3848),
    [aux_sym_simple_identifier_token4] = ACTIONS(3848),
    [anon_sym_actor] = ACTIONS(3850),
    [anon_sym_async] = ACTIONS(3850),
    [anon_sym_each] = ACTIONS(3853),
    [anon_sym_lazy] = ACTIONS(3850),
    [anon_sym_repeat] = ACTIONS(3855),
    [anon_sym_package] = ACTIONS(3850),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_BANG2] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(3857),
    [anon_sym_LBRACK] = ACTIONS(3859),
    [anon_sym_DOT] = ACTIONS(617),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(3861),
    [anon_sym_any] = ACTIONS(3863),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(3865),
    [anon_sym_LT] = ACTIONS(617),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_case] = ACTIONS(623),
    [anon_sym_import] = ACTIONS(623),
    [anon_sym_typealias] = ACTIONS(623),
    [anon_sym_struct] = ACTIONS(623),
    [anon_sym_class] = ACTIONS(623),
    [anon_sym_enum] = ACTIONS(623),
    [anon_sym_protocol] = ACTIONS(623),
    [anon_sym_let] = ACTIONS(623),
    [anon_sym_var] = ACTIONS(623),
    [anon_sym_func] = ACTIONS(623),
    [anon_sym_extension] = ACTIONS(623),
    [anon_sym_indirect] = ACTIONS(623),
    [anon_sym_init] = ACTIONS(623),
    [anon_sym_deinit] = ACTIONS(623),
    [anon_sym_subscript] = ACTIONS(623),
    [anon_sym_prefix] = ACTIONS(623),
    [anon_sym_infix] = ACTIONS(623),
    [anon_sym_postfix] = ACTIONS(623),
    [anon_sym_precedencegroup] = ACTIONS(623),
    [anon_sym_associatedtype] = ACTIONS(623),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(623),
    [anon_sym_convenience] = ACTIONS(623),
    [anon_sym_required] = ACTIONS(623),
    [anon_sym_nonisolated] = ACTIONS(623),
    [anon_sym_public] = ACTIONS(623),
    [anon_sym_private] = ACTIONS(623),
    [anon_sym_internal] = ACTIONS(623),
    [anon_sym_fileprivate] = ACTIONS(623),
    [anon_sym_open] = ACTIONS(623),
    [anon_sym_mutating] = ACTIONS(623),
    [anon_sym_nonmutating] = ACTIONS(623),
    [anon_sym_static] = ACTIONS(623),
    [anon_sym_dynamic] = ACTIONS(623),
    [anon_sym_optional] = ACTIONS(623),
    [anon_sym_distributed] = ACTIONS(623),
    [anon_sym_final] = ACTIONS(623),
    [anon_sym_inout] = ACTIONS(623),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(623),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(3850),
    [anon_sym_consuming] = ACTIONS(3850),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
  },
  [1053] = {
    [sym_simple_identifier] = STATE(1737),
    [sym__contextual_simple_identifier] = STATE(1730),
    [sym__unannotated_type] = STATE(1809),
    [sym_user_type] = STATE(1772),
    [sym__simple_user_type] = STATE(1785),
    [sym_tuple_type] = STATE(1740),
    [sym_function_type] = STATE(1809),
    [sym_array_type] = STATE(1772),
    [sym_dictionary_type] = STATE(1772),
    [sym_optional_type] = STATE(1809),
    [sym_metatype] = STATE(1809),
    [sym_opaque_type] = STATE(1809),
    [sym_existential_type] = STATE(1809),
    [sym_type_parameter_pack] = STATE(1809),
    [sym_type_pack_expansion] = STATE(1809),
    [sym_protocol_composition_type] = STATE(1809),
    [sym_suppressed_constraint] = STATE(1809),
    [sym__parenthesized_type] = STATE(1848),
    [sym__parameter_ownership_modifier] = STATE(1730),
    [sym_comment] = ACTIONS(5),
    [aux_sym_simple_identifier_token1] = ACTIONS(3846),
    [aux_sym_simple_identifier_token2] = ACTIONS(3848),
    [aux_sym_simple_identifier_token3] = ACTIONS(3848),
    [aux_sym_simple_identifier_token4] = ACTIONS(3848),
    [anon_sym_actor] = ACTIONS(3850),
    [anon_sym_async] = ACTIONS(3850),
    [anon_sym_each] = ACTIONS(3853),
    [anon_sym_lazy] = ACTIONS(3850),
    [anon_sym_repeat] = ACTIONS(3855),
    [anon_sym_package] = ACTIONS(3850),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_BANG2] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(3857),
    [anon_sym_LBRACK] = ACTIONS(3859),
    [anon_sym_DOT] = ACTIONS(617),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(3861),
    [anon_sym_any] = ACTIONS(3863),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(3865),
    [anon_sym_LT] = ACTIONS(617),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_case] = ACTIONS(623),
    [anon_sym_import] = ACTIONS(623),
    [anon_sym_typealias] = ACTIONS(623),
    [anon_sym_struct] = ACTIONS(623),
    [anon_sym_class] = ACTIONS(623),
    [anon_sym_enum] = ACTIONS(623),
    [anon_sym_protocol] = ACTIONS(623),
    [anon_sym_let] = ACTIONS(623),
    [anon_sym_var] = ACTIONS(623),
    [anon_sym_func] = ACTIONS(623),
    [anon_sym_extension] = ACTIONS(623),
    [anon_sym_indirect] = ACTIONS(623),
    [anon_sym_init] = ACTIONS(623),
    [anon_sym_deinit] = ACTIONS(623),
    [anon_sym_subscript] = ACTIONS(623),
    [anon_sym_prefix] = ACTIONS(623),
    [anon_sym_infix] = ACTIONS(623),
    [anon_sym_postfix] = ACTIONS(623),
    [anon_sym_precedencegroup] = ACTIONS(623),
    [anon_sym_associatedtype] = ACTIONS(623),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(623),
    [anon_sym_convenience] = ACTIONS(623),
    [anon_sym_required] = ACTIONS(623),
    [anon_sym_nonisolated] = ACTIONS(623),
    [anon_sym_public] = ACTIONS(623),
    [anon_sym_private] = ACTIONS(623),
    [anon_sym_internal] = ACTIONS(623),
    [anon_sym_fileprivate] = ACTIONS(623),
    [anon_sym_open] = ACTIONS(623),
    [anon_sym_mutating] = ACTIONS(623),
    [anon_sym_nonmutating] = ACTIONS(623),
    [anon_sym_static] = ACTIONS(623),
    [anon_sym_dynamic] = ACTIONS(623),
    [anon_sym_optional] = ACTIONS(623),
    [anon_sym_distributed] = ACTIONS(623),
    [anon_sym_final] = ACTIONS(623),
    [anon_sym_inout] = ACTIONS(623),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(623),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(3850),
    [anon_sym_consuming] = ACTIONS(3850),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
  },
  [1054] = {
    [anon_sym_BANG] = ACTIONS(3149),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3151),
    [anon_sym_package] = ACTIONS(3151),
    [anon_sym_COMMA] = ACTIONS(3151),
    [anon_sym_LPAREN] = ACTIONS(3151),
    [anon_sym_LBRACK] = ACTIONS(3151),
    [anon_sym_DOT] = ACTIONS(3149),
    [anon_sym_QMARK] = ACTIONS(3149),
    [anon_sym_QMARK2] = ACTIONS(3151),
    [anon_sym_AMP] = ACTIONS(3151),
    [aux_sym_custom_operator_token1] = ACTIONS(3151),
    [anon_sym_LT] = ACTIONS(3149),
    [anon_sym_GT] = ACTIONS(3149),
    [anon_sym_LBRACE] = ACTIONS(3151),
    [anon_sym_CARET_LBRACE] = ACTIONS(3151),
    [anon_sym_RBRACE] = ACTIONS(3151),
    [anon_sym_case] = ACTIONS(3151),
    [anon_sym_fallthrough] = ACTIONS(3151),
    [anon_sym_PLUS_EQ] = ACTIONS(3151),
    [anon_sym_DASH_EQ] = ACTIONS(3151),
    [anon_sym_STAR_EQ] = ACTIONS(3151),
    [anon_sym_SLASH_EQ] = ACTIONS(3151),
    [anon_sym_PERCENT_EQ] = ACTIONS(3151),
    [anon_sym_BANG_EQ] = ACTIONS(3149),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3151),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3151),
    [anon_sym_LT_EQ] = ACTIONS(3151),
    [anon_sym_GT_EQ] = ACTIONS(3151),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3151),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3151),
    [anon_sym_is] = ACTIONS(3151),
    [anon_sym_PLUS] = ACTIONS(3149),
    [anon_sym_DASH] = ACTIONS(3149),
    [anon_sym_STAR] = ACTIONS(3149),
    [anon_sym_SLASH] = ACTIONS(3149),
    [anon_sym_PERCENT] = ACTIONS(3149),
    [anon_sym_PLUS_PLUS] = ACTIONS(3151),
    [anon_sym_DASH_DASH] = ACTIONS(3151),
    [anon_sym_PIPE] = ACTIONS(3151),
    [anon_sym_CARET] = ACTIONS(3149),
    [anon_sym_LT_LT] = ACTIONS(3151),
    [anon_sym_GT_GT] = ACTIONS(3151),
    [anon_sym_class] = ACTIONS(3151),
    [anon_sym_prefix] = ACTIONS(3151),
    [anon_sym_infix] = ACTIONS(3151),
    [anon_sym_postfix] = ACTIONS(3151),
    [anon_sym_AT] = ACTIONS(3149),
    [anon_sym_override] = ACTIONS(3151),
    [anon_sym_convenience] = ACTIONS(3151),
    [anon_sym_required] = ACTIONS(3151),
    [anon_sym_nonisolated] = ACTIONS(3151),
    [anon_sym_public] = ACTIONS(3151),
    [anon_sym_private] = ACTIONS(3151),
    [anon_sym_internal] = ACTIONS(3151),
    [anon_sym_fileprivate] = ACTIONS(3151),
    [anon_sym_open] = ACTIONS(3151),
    [anon_sym_mutating] = ACTIONS(3151),
    [anon_sym_nonmutating] = ACTIONS(3151),
    [anon_sym_static] = ACTIONS(3151),
    [anon_sym_dynamic] = ACTIONS(3151),
    [anon_sym_optional] = ACTIONS(3151),
    [anon_sym_distributed] = ACTIONS(3151),
    [anon_sym_final] = ACTIONS(3151),
    [anon_sym_inout] = ACTIONS(3151),
    [anon_sym_ATescaping] = ACTIONS(3151),
    [anon_sym_ATautoclosure] = ACTIONS(3151),
    [anon_sym_weak] = ACTIONS(3151),
    [anon_sym_unowned] = ACTIONS(3149),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3151),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3151),
    [anon_sym_borrowing] = ACTIONS(3151),
    [anon_sym_consuming] = ACTIONS(3151),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3151),
    [sym__explicit_semi] = ACTIONS(3151),
    [sym__arrow_operator_custom] = ACTIONS(3151),
    [sym__dot_custom] = ACTIONS(3151),
    [sym__conjunction_operator_custom] = ACTIONS(3151),
    [sym__disjunction_operator_custom] = ACTIONS(3151),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3151),
    [sym__eq_custom] = ACTIONS(3151),
    [sym__eq_eq_custom] = ACTIONS(3151),
    [sym__plus_then_ws] = ACTIONS(3151),
    [sym__minus_then_ws] = ACTIONS(3151),
    [sym__bang_custom] = ACTIONS(3151),
    [sym__throws_keyword] = ACTIONS(3151),
    [sym__rethrows_keyword] = ACTIONS(3151),
    [sym_default_keyword] = ACTIONS(3151),
    [sym_where_keyword] = ACTIONS(3151),
    [sym__as_custom] = ACTIONS(3151),
    [sym__as_quest_custom] = ACTIONS(3151),
    [sym__as_bang_custom] = ACTIONS(3151),
    [sym__async_keyword_custom] = ACTIONS(3151),
    [sym__custom_operator] = ACTIONS(3151),
  },
  [1055] = {
    [sym_simple_identifier] = STATE(2001),
    [sym__contextual_simple_identifier] = STATE(2064),
    [sym__unannotated_type] = STATE(1872),
    [sym_user_type] = STATE(1956),
    [sym__simple_user_type] = STATE(1953),
    [sym_tuple_type] = STATE(1824),
    [sym_function_type] = STATE(1872),
    [sym_array_type] = STATE(1956),
    [sym_dictionary_type] = STATE(1956),
    [sym_optional_type] = STATE(1872),
    [sym_metatype] = STATE(1872),
    [sym_opaque_type] = STATE(1872),
    [sym_existential_type] = STATE(1872),
    [sym_type_parameter_pack] = STATE(1872),
    [sym_type_pack_expansion] = STATE(1872),
    [sym_protocol_composition_type] = STATE(1872),
    [sym_suppressed_constraint] = STATE(1872),
    [sym__parenthesized_type] = STATE(2037),
    [sym__parameter_ownership_modifier] = STATE(2064),
    [ts_builtin_sym_end] = ACTIONS(617),
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3867),
    [aux_sym_simple_identifier_token2] = ACTIONS(3869),
    [aux_sym_simple_identifier_token3] = ACTIONS(3869),
    [aux_sym_simple_identifier_token4] = ACTIONS(3869),
    [anon_sym_actor] = ACTIONS(3867),
    [anon_sym_async] = ACTIONS(3867),
    [anon_sym_each] = ACTIONS(3871),
    [anon_sym_lazy] = ACTIONS(3867),
    [anon_sym_repeat] = ACTIONS(3873),
    [anon_sym_package] = ACTIONS(3867),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(3875),
    [anon_sym_LBRACK] = ACTIONS(3878),
    [anon_sym_DOT] = ACTIONS(623),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(3881),
    [anon_sym_any] = ACTIONS(3883),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(3885),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(3867),
    [anon_sym_consuming] = ACTIONS(3867),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym_where_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [1056] = {
    [anon_sym_BANG] = ACTIONS(3117),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3119),
    [anon_sym_package] = ACTIONS(3119),
    [anon_sym_COMMA] = ACTIONS(3119),
    [anon_sym_LPAREN] = ACTIONS(3119),
    [anon_sym_LBRACK] = ACTIONS(3119),
    [anon_sym_DOT] = ACTIONS(3117),
    [anon_sym_QMARK] = ACTIONS(3117),
    [anon_sym_QMARK2] = ACTIONS(3119),
    [anon_sym_AMP] = ACTIONS(3119),
    [aux_sym_custom_operator_token1] = ACTIONS(3119),
    [anon_sym_LT] = ACTIONS(3117),
    [anon_sym_GT] = ACTIONS(3117),
    [anon_sym_LBRACE] = ACTIONS(3119),
    [anon_sym_CARET_LBRACE] = ACTIONS(3119),
    [anon_sym_RBRACE] = ACTIONS(3119),
    [anon_sym_case] = ACTIONS(3119),
    [anon_sym_fallthrough] = ACTIONS(3119),
    [anon_sym_PLUS_EQ] = ACTIONS(3119),
    [anon_sym_DASH_EQ] = ACTIONS(3119),
    [anon_sym_STAR_EQ] = ACTIONS(3119),
    [anon_sym_SLASH_EQ] = ACTIONS(3119),
    [anon_sym_PERCENT_EQ] = ACTIONS(3119),
    [anon_sym_BANG_EQ] = ACTIONS(3117),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3119),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3119),
    [anon_sym_LT_EQ] = ACTIONS(3119),
    [anon_sym_GT_EQ] = ACTIONS(3119),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3119),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3119),
    [anon_sym_is] = ACTIONS(3119),
    [anon_sym_PLUS] = ACTIONS(3117),
    [anon_sym_DASH] = ACTIONS(3117),
    [anon_sym_STAR] = ACTIONS(3117),
    [anon_sym_SLASH] = ACTIONS(3117),
    [anon_sym_PERCENT] = ACTIONS(3117),
    [anon_sym_PLUS_PLUS] = ACTIONS(3119),
    [anon_sym_DASH_DASH] = ACTIONS(3119),
    [anon_sym_PIPE] = ACTIONS(3119),
    [anon_sym_CARET] = ACTIONS(3117),
    [anon_sym_LT_LT] = ACTIONS(3119),
    [anon_sym_GT_GT] = ACTIONS(3119),
    [anon_sym_class] = ACTIONS(3119),
    [anon_sym_prefix] = ACTIONS(3119),
    [anon_sym_infix] = ACTIONS(3119),
    [anon_sym_postfix] = ACTIONS(3119),
    [anon_sym_AT] = ACTIONS(3117),
    [anon_sym_override] = ACTIONS(3119),
    [anon_sym_convenience] = ACTIONS(3119),
    [anon_sym_required] = ACTIONS(3119),
    [anon_sym_nonisolated] = ACTIONS(3119),
    [anon_sym_public] = ACTIONS(3119),
    [anon_sym_private] = ACTIONS(3119),
    [anon_sym_internal] = ACTIONS(3119),
    [anon_sym_fileprivate] = ACTIONS(3119),
    [anon_sym_open] = ACTIONS(3119),
    [anon_sym_mutating] = ACTIONS(3119),
    [anon_sym_nonmutating] = ACTIONS(3119),
    [anon_sym_static] = ACTIONS(3119),
    [anon_sym_dynamic] = ACTIONS(3119),
    [anon_sym_optional] = ACTIONS(3119),
    [anon_sym_distributed] = ACTIONS(3119),
    [anon_sym_final] = ACTIONS(3119),
    [anon_sym_inout] = ACTIONS(3119),
    [anon_sym_ATescaping] = ACTIONS(3119),
    [anon_sym_ATautoclosure] = ACTIONS(3119),
    [anon_sym_weak] = ACTIONS(3119),
    [anon_sym_unowned] = ACTIONS(3117),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3119),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3119),
    [anon_sym_borrowing] = ACTIONS(3119),
    [anon_sym_consuming] = ACTIONS(3119),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3119),
    [sym__explicit_semi] = ACTIONS(3119),
    [sym__arrow_operator_custom] = ACTIONS(3119),
    [sym__dot_custom] = ACTIONS(3119),
    [sym__conjunction_operator_custom] = ACTIONS(3119),
    [sym__disjunction_operator_custom] = ACTIONS(3119),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3119),
    [sym__eq_custom] = ACTIONS(3119),
    [sym__eq_eq_custom] = ACTIONS(3119),
    [sym__plus_then_ws] = ACTIONS(3119),
    [sym__minus_then_ws] = ACTIONS(3119),
    [sym__bang_custom] = ACTIONS(3119),
    [sym__throws_keyword] = ACTIONS(3119),
    [sym__rethrows_keyword] = ACTIONS(3119),
    [sym_default_keyword] = ACTIONS(3119),
    [sym_where_keyword] = ACTIONS(3119),
    [sym__as_custom] = ACTIONS(3119),
    [sym__as_quest_custom] = ACTIONS(3119),
    [sym__as_bang_custom] = ACTIONS(3119),
    [sym__async_keyword_custom] = ACTIONS(3119),
    [sym__custom_operator] = ACTIONS(3119),
  },
  [1057] = {
    [aux_sym_protocol_composition_type_repeat1] = STATE(1063),
    [anon_sym_BANG] = ACTIONS(3233),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3235),
    [anon_sym_package] = ACTIONS(3235),
    [anon_sym_COMMA] = ACTIONS(3235),
    [anon_sym_LPAREN] = ACTIONS(3235),
    [anon_sym_LBRACK] = ACTIONS(3235),
    [anon_sym_DOT] = ACTIONS(3233),
    [anon_sym_QMARK] = ACTIONS(3233),
    [anon_sym_QMARK2] = ACTIONS(3235),
    [anon_sym_AMP] = ACTIONS(3235),
    [aux_sym_custom_operator_token1] = ACTIONS(3235),
    [anon_sym_LT] = ACTIONS(3233),
    [anon_sym_GT] = ACTIONS(3233),
    [anon_sym_LBRACE] = ACTIONS(3235),
    [anon_sym_CARET_LBRACE] = ACTIONS(3235),
    [anon_sym_RBRACE] = ACTIONS(3235),
    [anon_sym_case] = ACTIONS(3235),
    [anon_sym_fallthrough] = ACTIONS(3235),
    [anon_sym_PLUS_EQ] = ACTIONS(3235),
    [anon_sym_DASH_EQ] = ACTIONS(3235),
    [anon_sym_STAR_EQ] = ACTIONS(3235),
    [anon_sym_SLASH_EQ] = ACTIONS(3235),
    [anon_sym_PERCENT_EQ] = ACTIONS(3235),
    [anon_sym_BANG_EQ] = ACTIONS(3233),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3235),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3235),
    [anon_sym_LT_EQ] = ACTIONS(3235),
    [anon_sym_GT_EQ] = ACTIONS(3235),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3235),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3235),
    [anon_sym_is] = ACTIONS(3235),
    [anon_sym_PLUS] = ACTIONS(3233),
    [anon_sym_DASH] = ACTIONS(3233),
    [anon_sym_STAR] = ACTIONS(3233),
    [anon_sym_SLASH] = ACTIONS(3233),
    [anon_sym_PERCENT] = ACTIONS(3233),
    [anon_sym_PLUS_PLUS] = ACTIONS(3235),
    [anon_sym_DASH_DASH] = ACTIONS(3235),
    [anon_sym_PIPE] = ACTIONS(3235),
    [anon_sym_CARET] = ACTIONS(3233),
    [anon_sym_LT_LT] = ACTIONS(3235),
    [anon_sym_GT_GT] = ACTIONS(3235),
    [anon_sym_class] = ACTIONS(3235),
    [anon_sym_prefix] = ACTIONS(3235),
    [anon_sym_infix] = ACTIONS(3235),
    [anon_sym_postfix] = ACTIONS(3235),
    [anon_sym_AT] = ACTIONS(3233),
    [anon_sym_override] = ACTIONS(3235),
    [anon_sym_convenience] = ACTIONS(3235),
    [anon_sym_required] = ACTIONS(3235),
    [anon_sym_nonisolated] = ACTIONS(3235),
    [anon_sym_public] = ACTIONS(3235),
    [anon_sym_private] = ACTIONS(3235),
    [anon_sym_internal] = ACTIONS(3235),
    [anon_sym_fileprivate] = ACTIONS(3235),
    [anon_sym_open] = ACTIONS(3235),
    [anon_sym_mutating] = ACTIONS(3235),
    [anon_sym_nonmutating] = ACTIONS(3235),
    [anon_sym_static] = ACTIONS(3235),
    [anon_sym_dynamic] = ACTIONS(3235),
    [anon_sym_optional] = ACTIONS(3235),
    [anon_sym_distributed] = ACTIONS(3235),
    [anon_sym_final] = ACTIONS(3235),
    [anon_sym_inout] = ACTIONS(3235),
    [anon_sym_ATescaping] = ACTIONS(3235),
    [anon_sym_ATautoclosure] = ACTIONS(3235),
    [anon_sym_weak] = ACTIONS(3235),
    [anon_sym_unowned] = ACTIONS(3233),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3235),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3235),
    [anon_sym_borrowing] = ACTIONS(3235),
    [anon_sym_consuming] = ACTIONS(3235),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3235),
    [sym__explicit_semi] = ACTIONS(3235),
    [sym__arrow_operator_custom] = ACTIONS(3235),
    [sym__dot_custom] = ACTIONS(3235),
    [sym__conjunction_operator_custom] = ACTIONS(3235),
    [sym__disjunction_operator_custom] = ACTIONS(3235),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3235),
    [sym__eq_custom] = ACTIONS(3235),
    [sym__eq_eq_custom] = ACTIONS(3235),
    [sym__plus_then_ws] = ACTIONS(3235),
    [sym__minus_then_ws] = ACTIONS(3235),
    [sym__bang_custom] = ACTIONS(3235),
    [sym__throws_keyword] = ACTIONS(3235),
    [sym__rethrows_keyword] = ACTIONS(3235),
    [sym_default_keyword] = ACTIONS(3235),
    [sym__as_custom] = ACTIONS(3235),
    [sym__as_quest_custom] = ACTIONS(3235),
    [sym__as_bang_custom] = ACTIONS(3235),
    [sym__async_keyword_custom] = ACTIONS(3235),
    [sym__custom_operator] = ACTIONS(3235),
  },
  [1058] = {
    [anon_sym_BANG] = ACTIONS(3137),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3139),
    [anon_sym_package] = ACTIONS(3139),
    [anon_sym_COMMA] = ACTIONS(3139),
    [anon_sym_LPAREN] = ACTIONS(3139),
    [anon_sym_LBRACK] = ACTIONS(3139),
    [anon_sym_DOT] = ACTIONS(3137),
    [anon_sym_QMARK] = ACTIONS(3137),
    [anon_sym_QMARK2] = ACTIONS(3139),
    [anon_sym_AMP] = ACTIONS(3139),
    [aux_sym_custom_operator_token1] = ACTIONS(3139),
    [anon_sym_LT] = ACTIONS(3137),
    [anon_sym_GT] = ACTIONS(3137),
    [anon_sym_LBRACE] = ACTIONS(3139),
    [anon_sym_CARET_LBRACE] = ACTIONS(3139),
    [anon_sym_RBRACE] = ACTIONS(3139),
    [anon_sym_case] = ACTIONS(3139),
    [anon_sym_fallthrough] = ACTIONS(3139),
    [anon_sym_PLUS_EQ] = ACTIONS(3139),
    [anon_sym_DASH_EQ] = ACTIONS(3139),
    [anon_sym_STAR_EQ] = ACTIONS(3139),
    [anon_sym_SLASH_EQ] = ACTIONS(3139),
    [anon_sym_PERCENT_EQ] = ACTIONS(3139),
    [anon_sym_BANG_EQ] = ACTIONS(3137),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3139),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3139),
    [anon_sym_LT_EQ] = ACTIONS(3139),
    [anon_sym_GT_EQ] = ACTIONS(3139),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3139),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3139),
    [anon_sym_is] = ACTIONS(3139),
    [anon_sym_PLUS] = ACTIONS(3137),
    [anon_sym_DASH] = ACTIONS(3137),
    [anon_sym_STAR] = ACTIONS(3137),
    [anon_sym_SLASH] = ACTIONS(3137),
    [anon_sym_PERCENT] = ACTIONS(3137),
    [anon_sym_PLUS_PLUS] = ACTIONS(3139),
    [anon_sym_DASH_DASH] = ACTIONS(3139),
    [anon_sym_PIPE] = ACTIONS(3139),
    [anon_sym_CARET] = ACTIONS(3137),
    [anon_sym_LT_LT] = ACTIONS(3139),
    [anon_sym_GT_GT] = ACTIONS(3139),
    [anon_sym_class] = ACTIONS(3139),
    [anon_sym_prefix] = ACTIONS(3139),
    [anon_sym_infix] = ACTIONS(3139),
    [anon_sym_postfix] = ACTIONS(3139),
    [anon_sym_AT] = ACTIONS(3137),
    [anon_sym_override] = ACTIONS(3139),
    [anon_sym_convenience] = ACTIONS(3139),
    [anon_sym_required] = ACTIONS(3139),
    [anon_sym_nonisolated] = ACTIONS(3139),
    [anon_sym_public] = ACTIONS(3139),
    [anon_sym_private] = ACTIONS(3139),
    [anon_sym_internal] = ACTIONS(3139),
    [anon_sym_fileprivate] = ACTIONS(3139),
    [anon_sym_open] = ACTIONS(3139),
    [anon_sym_mutating] = ACTIONS(3139),
    [anon_sym_nonmutating] = ACTIONS(3139),
    [anon_sym_static] = ACTIONS(3139),
    [anon_sym_dynamic] = ACTIONS(3139),
    [anon_sym_optional] = ACTIONS(3139),
    [anon_sym_distributed] = ACTIONS(3139),
    [anon_sym_final] = ACTIONS(3139),
    [anon_sym_inout] = ACTIONS(3139),
    [anon_sym_ATescaping] = ACTIONS(3139),
    [anon_sym_ATautoclosure] = ACTIONS(3139),
    [anon_sym_weak] = ACTIONS(3139),
    [anon_sym_unowned] = ACTIONS(3137),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3139),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3139),
    [anon_sym_borrowing] = ACTIONS(3139),
    [anon_sym_consuming] = ACTIONS(3139),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3139),
    [sym__explicit_semi] = ACTIONS(3139),
    [sym__arrow_operator_custom] = ACTIONS(3139),
    [sym__dot_custom] = ACTIONS(3139),
    [sym__conjunction_operator_custom] = ACTIONS(3139),
    [sym__disjunction_operator_custom] = ACTIONS(3139),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3139),
    [sym__eq_custom] = ACTIONS(3139),
    [sym__eq_eq_custom] = ACTIONS(3139),
    [sym__plus_then_ws] = ACTIONS(3139),
    [sym__minus_then_ws] = ACTIONS(3139),
    [sym__bang_custom] = ACTIONS(3139),
    [sym__throws_keyword] = ACTIONS(3139),
    [sym__rethrows_keyword] = ACTIONS(3139),
    [sym_default_keyword] = ACTIONS(3139),
    [sym_where_keyword] = ACTIONS(3139),
    [sym__as_custom] = ACTIONS(3139),
    [sym__as_quest_custom] = ACTIONS(3139),
    [sym__as_bang_custom] = ACTIONS(3139),
    [sym__async_keyword_custom] = ACTIONS(3139),
    [sym__custom_operator] = ACTIONS(3139),
  },
  [1059] = {
    [anon_sym_BANG] = ACTIONS(3113),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3115),
    [anon_sym_package] = ACTIONS(3115),
    [anon_sym_COMMA] = ACTIONS(3115),
    [anon_sym_LPAREN] = ACTIONS(3115),
    [anon_sym_LBRACK] = ACTIONS(3115),
    [anon_sym_DOT] = ACTIONS(3113),
    [anon_sym_QMARK] = ACTIONS(3113),
    [anon_sym_QMARK2] = ACTIONS(3115),
    [anon_sym_AMP] = ACTIONS(3115),
    [aux_sym_custom_operator_token1] = ACTIONS(3115),
    [anon_sym_LT] = ACTIONS(3113),
    [anon_sym_GT] = ACTIONS(3113),
    [anon_sym_LBRACE] = ACTIONS(3115),
    [anon_sym_CARET_LBRACE] = ACTIONS(3115),
    [anon_sym_RBRACE] = ACTIONS(3115),
    [anon_sym_case] = ACTIONS(3115),
    [anon_sym_fallthrough] = ACTIONS(3115),
    [anon_sym_PLUS_EQ] = ACTIONS(3115),
    [anon_sym_DASH_EQ] = ACTIONS(3115),
    [anon_sym_STAR_EQ] = ACTIONS(3115),
    [anon_sym_SLASH_EQ] = ACTIONS(3115),
    [anon_sym_PERCENT_EQ] = ACTIONS(3115),
    [anon_sym_BANG_EQ] = ACTIONS(3113),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3115),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3115),
    [anon_sym_LT_EQ] = ACTIONS(3115),
    [anon_sym_GT_EQ] = ACTIONS(3115),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3115),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3115),
    [anon_sym_is] = ACTIONS(3115),
    [anon_sym_PLUS] = ACTIONS(3113),
    [anon_sym_DASH] = ACTIONS(3113),
    [anon_sym_STAR] = ACTIONS(3113),
    [anon_sym_SLASH] = ACTIONS(3113),
    [anon_sym_PERCENT] = ACTIONS(3113),
    [anon_sym_PLUS_PLUS] = ACTIONS(3115),
    [anon_sym_DASH_DASH] = ACTIONS(3115),
    [anon_sym_PIPE] = ACTIONS(3115),
    [anon_sym_CARET] = ACTIONS(3113),
    [anon_sym_LT_LT] = ACTIONS(3115),
    [anon_sym_GT_GT] = ACTIONS(3115),
    [anon_sym_class] = ACTIONS(3115),
    [anon_sym_prefix] = ACTIONS(3115),
    [anon_sym_infix] = ACTIONS(3115),
    [anon_sym_postfix] = ACTIONS(3115),
    [anon_sym_AT] = ACTIONS(3113),
    [anon_sym_override] = ACTIONS(3115),
    [anon_sym_convenience] = ACTIONS(3115),
    [anon_sym_required] = ACTIONS(3115),
    [anon_sym_nonisolated] = ACTIONS(3115),
    [anon_sym_public] = ACTIONS(3115),
    [anon_sym_private] = ACTIONS(3115),
    [anon_sym_internal] = ACTIONS(3115),
    [anon_sym_fileprivate] = ACTIONS(3115),
    [anon_sym_open] = ACTIONS(3115),
    [anon_sym_mutating] = ACTIONS(3115),
    [anon_sym_nonmutating] = ACTIONS(3115),
    [anon_sym_static] = ACTIONS(3115),
    [anon_sym_dynamic] = ACTIONS(3115),
    [anon_sym_optional] = ACTIONS(3115),
    [anon_sym_distributed] = ACTIONS(3115),
    [anon_sym_final] = ACTIONS(3115),
    [anon_sym_inout] = ACTIONS(3115),
    [anon_sym_ATescaping] = ACTIONS(3115),
    [anon_sym_ATautoclosure] = ACTIONS(3115),
    [anon_sym_weak] = ACTIONS(3115),
    [anon_sym_unowned] = ACTIONS(3113),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3115),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3115),
    [anon_sym_borrowing] = ACTIONS(3115),
    [anon_sym_consuming] = ACTIONS(3115),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3115),
    [sym__explicit_semi] = ACTIONS(3115),
    [sym__arrow_operator_custom] = ACTIONS(3115),
    [sym__dot_custom] = ACTIONS(3115),
    [sym__conjunction_operator_custom] = ACTIONS(3115),
    [sym__disjunction_operator_custom] = ACTIONS(3115),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3115),
    [sym__eq_custom] = ACTIONS(3115),
    [sym__eq_eq_custom] = ACTIONS(3115),
    [sym__plus_then_ws] = ACTIONS(3115),
    [sym__minus_then_ws] = ACTIONS(3115),
    [sym__bang_custom] = ACTIONS(3115),
    [sym__throws_keyword] = ACTIONS(3115),
    [sym__rethrows_keyword] = ACTIONS(3115),
    [sym_default_keyword] = ACTIONS(3115),
    [sym_where_keyword] = ACTIONS(3115),
    [sym__as_custom] = ACTIONS(3115),
    [sym__as_quest_custom] = ACTIONS(3115),
    [sym__as_bang_custom] = ACTIONS(3115),
    [sym__async_keyword_custom] = ACTIONS(3115),
    [sym__custom_operator] = ACTIONS(3115),
  },
  [1060] = {
    [anon_sym_BANG] = ACTIONS(3109),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3111),
    [anon_sym_package] = ACTIONS(3111),
    [anon_sym_COMMA] = ACTIONS(3111),
    [anon_sym_LPAREN] = ACTIONS(3111),
    [anon_sym_LBRACK] = ACTIONS(3111),
    [anon_sym_DOT] = ACTIONS(3109),
    [anon_sym_QMARK] = ACTIONS(3109),
    [anon_sym_QMARK2] = ACTIONS(3111),
    [anon_sym_AMP] = ACTIONS(3111),
    [aux_sym_custom_operator_token1] = ACTIONS(3111),
    [anon_sym_LT] = ACTIONS(3109),
    [anon_sym_GT] = ACTIONS(3109),
    [anon_sym_LBRACE] = ACTIONS(3111),
    [anon_sym_CARET_LBRACE] = ACTIONS(3111),
    [anon_sym_RBRACE] = ACTIONS(3111),
    [anon_sym_case] = ACTIONS(3111),
    [anon_sym_fallthrough] = ACTIONS(3111),
    [anon_sym_PLUS_EQ] = ACTIONS(3111),
    [anon_sym_DASH_EQ] = ACTIONS(3111),
    [anon_sym_STAR_EQ] = ACTIONS(3111),
    [anon_sym_SLASH_EQ] = ACTIONS(3111),
    [anon_sym_PERCENT_EQ] = ACTIONS(3111),
    [anon_sym_BANG_EQ] = ACTIONS(3109),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3111),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3111),
    [anon_sym_LT_EQ] = ACTIONS(3111),
    [anon_sym_GT_EQ] = ACTIONS(3111),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3111),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3111),
    [anon_sym_is] = ACTIONS(3111),
    [anon_sym_PLUS] = ACTIONS(3109),
    [anon_sym_DASH] = ACTIONS(3109),
    [anon_sym_STAR] = ACTIONS(3109),
    [anon_sym_SLASH] = ACTIONS(3109),
    [anon_sym_PERCENT] = ACTIONS(3109),
    [anon_sym_PLUS_PLUS] = ACTIONS(3111),
    [anon_sym_DASH_DASH] = ACTIONS(3111),
    [anon_sym_PIPE] = ACTIONS(3111),
    [anon_sym_CARET] = ACTIONS(3109),
    [anon_sym_LT_LT] = ACTIONS(3111),
    [anon_sym_GT_GT] = ACTIONS(3111),
    [anon_sym_class] = ACTIONS(3111),
    [anon_sym_prefix] = ACTIONS(3111),
    [anon_sym_infix] = ACTIONS(3111),
    [anon_sym_postfix] = ACTIONS(3111),
    [anon_sym_AT] = ACTIONS(3109),
    [anon_sym_override] = ACTIONS(3111),
    [anon_sym_convenience] = ACTIONS(3111),
    [anon_sym_required] = ACTIONS(3111),
    [anon_sym_nonisolated] = ACTIONS(3111),
    [anon_sym_public] = ACTIONS(3111),
    [anon_sym_private] = ACTIONS(3111),
    [anon_sym_internal] = ACTIONS(3111),
    [anon_sym_fileprivate] = ACTIONS(3111),
    [anon_sym_open] = ACTIONS(3111),
    [anon_sym_mutating] = ACTIONS(3111),
    [anon_sym_nonmutating] = ACTIONS(3111),
    [anon_sym_static] = ACTIONS(3111),
    [anon_sym_dynamic] = ACTIONS(3111),
    [anon_sym_optional] = ACTIONS(3111),
    [anon_sym_distributed] = ACTIONS(3111),
    [anon_sym_final] = ACTIONS(3111),
    [anon_sym_inout] = ACTIONS(3111),
    [anon_sym_ATescaping] = ACTIONS(3111),
    [anon_sym_ATautoclosure] = ACTIONS(3111),
    [anon_sym_weak] = ACTIONS(3111),
    [anon_sym_unowned] = ACTIONS(3109),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3111),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3111),
    [anon_sym_borrowing] = ACTIONS(3111),
    [anon_sym_consuming] = ACTIONS(3111),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3111),
    [sym__explicit_semi] = ACTIONS(3111),
    [sym__arrow_operator_custom] = ACTIONS(3111),
    [sym__dot_custom] = ACTIONS(3111),
    [sym__conjunction_operator_custom] = ACTIONS(3111),
    [sym__disjunction_operator_custom] = ACTIONS(3111),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3111),
    [sym__eq_custom] = ACTIONS(3111),
    [sym__eq_eq_custom] = ACTIONS(3111),
    [sym__plus_then_ws] = ACTIONS(3111),
    [sym__minus_then_ws] = ACTIONS(3111),
    [sym__bang_custom] = ACTIONS(3111),
    [sym__throws_keyword] = ACTIONS(3111),
    [sym__rethrows_keyword] = ACTIONS(3111),
    [sym_default_keyword] = ACTIONS(3111),
    [sym_where_keyword] = ACTIONS(3111),
    [sym__as_custom] = ACTIONS(3111),
    [sym__as_quest_custom] = ACTIONS(3111),
    [sym__as_bang_custom] = ACTIONS(3111),
    [sym__async_keyword_custom] = ACTIONS(3111),
    [sym__custom_operator] = ACTIONS(3111),
  },
  [1061] = {
    [sym_simple_identifier] = STATE(1845),
    [sym__contextual_simple_identifier] = STATE(1905),
    [sym__unannotated_type] = STATE(1827),
    [sym_user_type] = STATE(1908),
    [sym__simple_user_type] = STATE(1837),
    [sym_tuple_type] = STATE(1744),
    [sym_function_type] = STATE(1827),
    [sym_array_type] = STATE(1908),
    [sym_dictionary_type] = STATE(1908),
    [sym_optional_type] = STATE(1827),
    [sym_metatype] = STATE(1827),
    [sym_opaque_type] = STATE(1827),
    [sym_existential_type] = STATE(1827),
    [sym_type_parameter_pack] = STATE(1827),
    [sym_type_pack_expansion] = STATE(1827),
    [sym_protocol_composition_type] = STATE(1827),
    [sym_suppressed_constraint] = STATE(1827),
    [sym__parenthesized_type] = STATE(1973),
    [sym__parameter_ownership_modifier] = STATE(1905),
    [sym_comment] = ACTIONS(5),
    [aux_sym_simple_identifier_token1] = ACTIONS(3887),
    [aux_sym_simple_identifier_token2] = ACTIONS(3889),
    [aux_sym_simple_identifier_token3] = ACTIONS(3889),
    [aux_sym_simple_identifier_token4] = ACTIONS(3889),
    [anon_sym_actor] = ACTIONS(3891),
    [anon_sym_async] = ACTIONS(3891),
    [anon_sym_each] = ACTIONS(3894),
    [anon_sym_lazy] = ACTIONS(3891),
    [anon_sym_repeat] = ACTIONS(3896),
    [anon_sym_package] = ACTIONS(3891),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_BANG2] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(3898),
    [anon_sym_LBRACK] = ACTIONS(3900),
    [anon_sym_DOT] = ACTIONS(617),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(3902),
    [anon_sym_any] = ACTIONS(3904),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(3906),
    [anon_sym_LT] = ACTIONS(617),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_case] = ACTIONS(623),
    [anon_sym_import] = ACTIONS(623),
    [anon_sym_typealias] = ACTIONS(623),
    [anon_sym_struct] = ACTIONS(623),
    [anon_sym_class] = ACTIONS(623),
    [anon_sym_enum] = ACTIONS(623),
    [anon_sym_protocol] = ACTIONS(623),
    [anon_sym_let] = ACTIONS(623),
    [anon_sym_var] = ACTIONS(623),
    [anon_sym_func] = ACTIONS(623),
    [anon_sym_extension] = ACTIONS(623),
    [anon_sym_indirect] = ACTIONS(623),
    [anon_sym_init] = ACTIONS(623),
    [anon_sym_deinit] = ACTIONS(623),
    [anon_sym_subscript] = ACTIONS(623),
    [anon_sym_prefix] = ACTIONS(623),
    [anon_sym_infix] = ACTIONS(623),
    [anon_sym_postfix] = ACTIONS(623),
    [anon_sym_precedencegroup] = ACTIONS(623),
    [anon_sym_associatedtype] = ACTIONS(623),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(623),
    [anon_sym_convenience] = ACTIONS(623),
    [anon_sym_required] = ACTIONS(623),
    [anon_sym_nonisolated] = ACTIONS(623),
    [anon_sym_public] = ACTIONS(623),
    [anon_sym_private] = ACTIONS(623),
    [anon_sym_internal] = ACTIONS(623),
    [anon_sym_fileprivate] = ACTIONS(623),
    [anon_sym_open] = ACTIONS(623),
    [anon_sym_mutating] = ACTIONS(623),
    [anon_sym_nonmutating] = ACTIONS(623),
    [anon_sym_static] = ACTIONS(623),
    [anon_sym_dynamic] = ACTIONS(623),
    [anon_sym_optional] = ACTIONS(623),
    [anon_sym_distributed] = ACTIONS(623),
    [anon_sym_final] = ACTIONS(623),
    [anon_sym_inout] = ACTIONS(623),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(623),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(3891),
    [anon_sym_consuming] = ACTIONS(3891),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
  },
  [1062] = {
    [anon_sym_BANG] = ACTIONS(3141),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3143),
    [anon_sym_package] = ACTIONS(3143),
    [anon_sym_COMMA] = ACTIONS(3143),
    [anon_sym_LPAREN] = ACTIONS(3143),
    [anon_sym_LBRACK] = ACTIONS(3143),
    [anon_sym_DOT] = ACTIONS(3141),
    [anon_sym_QMARK] = ACTIONS(3141),
    [anon_sym_QMARK2] = ACTIONS(3143),
    [anon_sym_AMP] = ACTIONS(3143),
    [aux_sym_custom_operator_token1] = ACTIONS(3143),
    [anon_sym_LT] = ACTIONS(3141),
    [anon_sym_GT] = ACTIONS(3141),
    [anon_sym_LBRACE] = ACTIONS(3143),
    [anon_sym_CARET_LBRACE] = ACTIONS(3143),
    [anon_sym_RBRACE] = ACTIONS(3143),
    [anon_sym_case] = ACTIONS(3143),
    [anon_sym_fallthrough] = ACTIONS(3143),
    [anon_sym_PLUS_EQ] = ACTIONS(3143),
    [anon_sym_DASH_EQ] = ACTIONS(3143),
    [anon_sym_STAR_EQ] = ACTIONS(3143),
    [anon_sym_SLASH_EQ] = ACTIONS(3143),
    [anon_sym_PERCENT_EQ] = ACTIONS(3143),
    [anon_sym_BANG_EQ] = ACTIONS(3141),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3143),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3143),
    [anon_sym_LT_EQ] = ACTIONS(3143),
    [anon_sym_GT_EQ] = ACTIONS(3143),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3143),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3143),
    [anon_sym_is] = ACTIONS(3143),
    [anon_sym_PLUS] = ACTIONS(3141),
    [anon_sym_DASH] = ACTIONS(3141),
    [anon_sym_STAR] = ACTIONS(3141),
    [anon_sym_SLASH] = ACTIONS(3141),
    [anon_sym_PERCENT] = ACTIONS(3141),
    [anon_sym_PLUS_PLUS] = ACTIONS(3143),
    [anon_sym_DASH_DASH] = ACTIONS(3143),
    [anon_sym_PIPE] = ACTIONS(3143),
    [anon_sym_CARET] = ACTIONS(3141),
    [anon_sym_LT_LT] = ACTIONS(3143),
    [anon_sym_GT_GT] = ACTIONS(3143),
    [anon_sym_class] = ACTIONS(3143),
    [anon_sym_prefix] = ACTIONS(3143),
    [anon_sym_infix] = ACTIONS(3143),
    [anon_sym_postfix] = ACTIONS(3143),
    [anon_sym_AT] = ACTIONS(3141),
    [anon_sym_override] = ACTIONS(3143),
    [anon_sym_convenience] = ACTIONS(3143),
    [anon_sym_required] = ACTIONS(3143),
    [anon_sym_nonisolated] = ACTIONS(3143),
    [anon_sym_public] = ACTIONS(3143),
    [anon_sym_private] = ACTIONS(3143),
    [anon_sym_internal] = ACTIONS(3143),
    [anon_sym_fileprivate] = ACTIONS(3143),
    [anon_sym_open] = ACTIONS(3143),
    [anon_sym_mutating] = ACTIONS(3143),
    [anon_sym_nonmutating] = ACTIONS(3143),
    [anon_sym_static] = ACTIONS(3143),
    [anon_sym_dynamic] = ACTIONS(3143),
    [anon_sym_optional] = ACTIONS(3143),
    [anon_sym_distributed] = ACTIONS(3143),
    [anon_sym_final] = ACTIONS(3143),
    [anon_sym_inout] = ACTIONS(3143),
    [anon_sym_ATescaping] = ACTIONS(3143),
    [anon_sym_ATautoclosure] = ACTIONS(3143),
    [anon_sym_weak] = ACTIONS(3143),
    [anon_sym_unowned] = ACTIONS(3141),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3143),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3143),
    [anon_sym_borrowing] = ACTIONS(3143),
    [anon_sym_consuming] = ACTIONS(3143),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3143),
    [sym__explicit_semi] = ACTIONS(3143),
    [sym__arrow_operator_custom] = ACTIONS(3143),
    [sym__dot_custom] = ACTIONS(3143),
    [sym__conjunction_operator_custom] = ACTIONS(3143),
    [sym__disjunction_operator_custom] = ACTIONS(3143),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3143),
    [sym__eq_custom] = ACTIONS(3143),
    [sym__eq_eq_custom] = ACTIONS(3143),
    [sym__plus_then_ws] = ACTIONS(3143),
    [sym__minus_then_ws] = ACTIONS(3143),
    [sym__bang_custom] = ACTIONS(3143),
    [sym__throws_keyword] = ACTIONS(3143),
    [sym__rethrows_keyword] = ACTIONS(3143),
    [sym_default_keyword] = ACTIONS(3143),
    [sym_where_keyword] = ACTIONS(3143),
    [sym__as_custom] = ACTIONS(3143),
    [sym__as_quest_custom] = ACTIONS(3143),
    [sym__as_bang_custom] = ACTIONS(3143),
    [sym__async_keyword_custom] = ACTIONS(3143),
    [sym__custom_operator] = ACTIONS(3143),
  },
  [1063] = {
    [aux_sym_protocol_composition_type_repeat1] = STATE(1063),
    [anon_sym_BANG] = ACTIONS(3077),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3079),
    [anon_sym_package] = ACTIONS(3079),
    [anon_sym_COMMA] = ACTIONS(3079),
    [anon_sym_LPAREN] = ACTIONS(3079),
    [anon_sym_LBRACK] = ACTIONS(3079),
    [anon_sym_DOT] = ACTIONS(3077),
    [anon_sym_QMARK] = ACTIONS(3077),
    [anon_sym_QMARK2] = ACTIONS(3079),
    [anon_sym_AMP] = ACTIONS(3908),
    [aux_sym_custom_operator_token1] = ACTIONS(3079),
    [anon_sym_LT] = ACTIONS(3077),
    [anon_sym_GT] = ACTIONS(3077),
    [anon_sym_LBRACE] = ACTIONS(3079),
    [anon_sym_CARET_LBRACE] = ACTIONS(3079),
    [anon_sym_RBRACE] = ACTIONS(3079),
    [anon_sym_case] = ACTIONS(3079),
    [anon_sym_fallthrough] = ACTIONS(3079),
    [anon_sym_PLUS_EQ] = ACTIONS(3079),
    [anon_sym_DASH_EQ] = ACTIONS(3079),
    [anon_sym_STAR_EQ] = ACTIONS(3079),
    [anon_sym_SLASH_EQ] = ACTIONS(3079),
    [anon_sym_PERCENT_EQ] = ACTIONS(3079),
    [anon_sym_BANG_EQ] = ACTIONS(3077),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3079),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3079),
    [anon_sym_LT_EQ] = ACTIONS(3079),
    [anon_sym_GT_EQ] = ACTIONS(3079),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3079),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3079),
    [anon_sym_is] = ACTIONS(3079),
    [anon_sym_PLUS] = ACTIONS(3077),
    [anon_sym_DASH] = ACTIONS(3077),
    [anon_sym_STAR] = ACTIONS(3077),
    [anon_sym_SLASH] = ACTIONS(3077),
    [anon_sym_PERCENT] = ACTIONS(3077),
    [anon_sym_PLUS_PLUS] = ACTIONS(3079),
    [anon_sym_DASH_DASH] = ACTIONS(3079),
    [anon_sym_PIPE] = ACTIONS(3079),
    [anon_sym_CARET] = ACTIONS(3077),
    [anon_sym_LT_LT] = ACTIONS(3079),
    [anon_sym_GT_GT] = ACTIONS(3079),
    [anon_sym_class] = ACTIONS(3079),
    [anon_sym_prefix] = ACTIONS(3079),
    [anon_sym_infix] = ACTIONS(3079),
    [anon_sym_postfix] = ACTIONS(3079),
    [anon_sym_AT] = ACTIONS(3077),
    [anon_sym_override] = ACTIONS(3079),
    [anon_sym_convenience] = ACTIONS(3079),
    [anon_sym_required] = ACTIONS(3079),
    [anon_sym_nonisolated] = ACTIONS(3079),
    [anon_sym_public] = ACTIONS(3079),
    [anon_sym_private] = ACTIONS(3079),
    [anon_sym_internal] = ACTIONS(3079),
    [anon_sym_fileprivate] = ACTIONS(3079),
    [anon_sym_open] = ACTIONS(3079),
    [anon_sym_mutating] = ACTIONS(3079),
    [anon_sym_nonmutating] = ACTIONS(3079),
    [anon_sym_static] = ACTIONS(3079),
    [anon_sym_dynamic] = ACTIONS(3079),
    [anon_sym_optional] = ACTIONS(3079),
    [anon_sym_distributed] = ACTIONS(3079),
    [anon_sym_final] = ACTIONS(3079),
    [anon_sym_inout] = ACTIONS(3079),
    [anon_sym_ATescaping] = ACTIONS(3079),
    [anon_sym_ATautoclosure] = ACTIONS(3079),
    [anon_sym_weak] = ACTIONS(3079),
    [anon_sym_unowned] = ACTIONS(3077),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3079),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3079),
    [anon_sym_borrowing] = ACTIONS(3079),
    [anon_sym_consuming] = ACTIONS(3079),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3079),
    [sym__explicit_semi] = ACTIONS(3079),
    [sym__arrow_operator_custom] = ACTIONS(3079),
    [sym__dot_custom] = ACTIONS(3079),
    [sym__conjunction_operator_custom] = ACTIONS(3079),
    [sym__disjunction_operator_custom] = ACTIONS(3079),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3079),
    [sym__eq_custom] = ACTIONS(3079),
    [sym__eq_eq_custom] = ACTIONS(3079),
    [sym__plus_then_ws] = ACTIONS(3079),
    [sym__minus_then_ws] = ACTIONS(3079),
    [sym__bang_custom] = ACTIONS(3079),
    [sym__throws_keyword] = ACTIONS(3079),
    [sym__rethrows_keyword] = ACTIONS(3079),
    [sym_default_keyword] = ACTIONS(3079),
    [sym__as_custom] = ACTIONS(3079),
    [sym__as_quest_custom] = ACTIONS(3079),
    [sym__as_bang_custom] = ACTIONS(3079),
    [sym__async_keyword_custom] = ACTIONS(3079),
    [sym__custom_operator] = ACTIONS(3079),
  },
  [1064] = {
    [anon_sym_BANG] = ACTIONS(3190),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3192),
    [anon_sym_package] = ACTIONS(3192),
    [anon_sym_COMMA] = ACTIONS(3192),
    [anon_sym_LPAREN] = ACTIONS(3192),
    [anon_sym_LBRACK] = ACTIONS(3192),
    [anon_sym_DOT] = ACTIONS(3190),
    [anon_sym_QMARK] = ACTIONS(3190),
    [anon_sym_QMARK2] = ACTIONS(3192),
    [anon_sym_AMP] = ACTIONS(3192),
    [aux_sym_custom_operator_token1] = ACTIONS(3192),
    [anon_sym_LT] = ACTIONS(3190),
    [anon_sym_GT] = ACTIONS(3190),
    [anon_sym_LBRACE] = ACTIONS(3192),
    [anon_sym_CARET_LBRACE] = ACTIONS(3192),
    [anon_sym_RBRACE] = ACTIONS(3192),
    [anon_sym_case] = ACTIONS(3192),
    [anon_sym_fallthrough] = ACTIONS(3192),
    [anon_sym_PLUS_EQ] = ACTIONS(3192),
    [anon_sym_DASH_EQ] = ACTIONS(3192),
    [anon_sym_STAR_EQ] = ACTIONS(3192),
    [anon_sym_SLASH_EQ] = ACTIONS(3192),
    [anon_sym_PERCENT_EQ] = ACTIONS(3192),
    [anon_sym_BANG_EQ] = ACTIONS(3190),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3192),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3192),
    [anon_sym_LT_EQ] = ACTIONS(3192),
    [anon_sym_GT_EQ] = ACTIONS(3192),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3192),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3192),
    [anon_sym_is] = ACTIONS(3192),
    [anon_sym_PLUS] = ACTIONS(3190),
    [anon_sym_DASH] = ACTIONS(3190),
    [anon_sym_STAR] = ACTIONS(3190),
    [anon_sym_SLASH] = ACTIONS(3190),
    [anon_sym_PERCENT] = ACTIONS(3190),
    [anon_sym_PLUS_PLUS] = ACTIONS(3192),
    [anon_sym_DASH_DASH] = ACTIONS(3192),
    [anon_sym_PIPE] = ACTIONS(3192),
    [anon_sym_CARET] = ACTIONS(3190),
    [anon_sym_LT_LT] = ACTIONS(3192),
    [anon_sym_GT_GT] = ACTIONS(3192),
    [anon_sym_class] = ACTIONS(3192),
    [anon_sym_prefix] = ACTIONS(3192),
    [anon_sym_infix] = ACTIONS(3192),
    [anon_sym_postfix] = ACTIONS(3192),
    [anon_sym_AT] = ACTIONS(3190),
    [anon_sym_override] = ACTIONS(3192),
    [anon_sym_convenience] = ACTIONS(3192),
    [anon_sym_required] = ACTIONS(3192),
    [anon_sym_nonisolated] = ACTIONS(3192),
    [anon_sym_public] = ACTIONS(3192),
    [anon_sym_private] = ACTIONS(3192),
    [anon_sym_internal] = ACTIONS(3192),
    [anon_sym_fileprivate] = ACTIONS(3192),
    [anon_sym_open] = ACTIONS(3192),
    [anon_sym_mutating] = ACTIONS(3192),
    [anon_sym_nonmutating] = ACTIONS(3192),
    [anon_sym_static] = ACTIONS(3192),
    [anon_sym_dynamic] = ACTIONS(3192),
    [anon_sym_optional] = ACTIONS(3192),
    [anon_sym_distributed] = ACTIONS(3192),
    [anon_sym_final] = ACTIONS(3192),
    [anon_sym_inout] = ACTIONS(3192),
    [anon_sym_ATescaping] = ACTIONS(3192),
    [anon_sym_ATautoclosure] = ACTIONS(3192),
    [anon_sym_weak] = ACTIONS(3192),
    [anon_sym_unowned] = ACTIONS(3190),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3192),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3192),
    [anon_sym_borrowing] = ACTIONS(3192),
    [anon_sym_consuming] = ACTIONS(3192),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3192),
    [sym__explicit_semi] = ACTIONS(3192),
    [sym__arrow_operator_custom] = ACTIONS(3192),
    [sym__dot_custom] = ACTIONS(3192),
    [sym__conjunction_operator_custom] = ACTIONS(3192),
    [sym__disjunction_operator_custom] = ACTIONS(3192),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3192),
    [sym__eq_custom] = ACTIONS(3192),
    [sym__eq_eq_custom] = ACTIONS(3192),
    [sym__plus_then_ws] = ACTIONS(3192),
    [sym__minus_then_ws] = ACTIONS(3192),
    [sym__bang_custom] = ACTIONS(3192),
    [sym__throws_keyword] = ACTIONS(3192),
    [sym__rethrows_keyword] = ACTIONS(3192),
    [sym_default_keyword] = ACTIONS(3192),
    [sym_where_keyword] = ACTIONS(3192),
    [sym__as_custom] = ACTIONS(3192),
    [sym__as_quest_custom] = ACTIONS(3192),
    [sym__as_bang_custom] = ACTIONS(3192),
    [sym__async_keyword_custom] = ACTIONS(3192),
    [sym__custom_operator] = ACTIONS(3192),
  },
  [1065] = {
    [sym_simple_identifier] = STATE(1845),
    [sym__contextual_simple_identifier] = STATE(1905),
    [sym__unannotated_type] = STATE(1819),
    [sym_user_type] = STATE(1908),
    [sym__simple_user_type] = STATE(1837),
    [sym_tuple_type] = STATE(1744),
    [sym_function_type] = STATE(1819),
    [sym_array_type] = STATE(1908),
    [sym_dictionary_type] = STATE(1908),
    [sym_optional_type] = STATE(1819),
    [sym_metatype] = STATE(1819),
    [sym_opaque_type] = STATE(1819),
    [sym_existential_type] = STATE(1819),
    [sym_type_parameter_pack] = STATE(1819),
    [sym_type_pack_expansion] = STATE(1819),
    [sym_protocol_composition_type] = STATE(1819),
    [sym_suppressed_constraint] = STATE(1819),
    [sym__parenthesized_type] = STATE(1973),
    [sym__parameter_ownership_modifier] = STATE(1905),
    [sym_comment] = ACTIONS(5),
    [aux_sym_simple_identifier_token1] = ACTIONS(3887),
    [aux_sym_simple_identifier_token2] = ACTIONS(3889),
    [aux_sym_simple_identifier_token3] = ACTIONS(3889),
    [aux_sym_simple_identifier_token4] = ACTIONS(3889),
    [anon_sym_actor] = ACTIONS(3891),
    [anon_sym_async] = ACTIONS(3891),
    [anon_sym_each] = ACTIONS(3894),
    [anon_sym_lazy] = ACTIONS(3891),
    [anon_sym_repeat] = ACTIONS(3896),
    [anon_sym_package] = ACTIONS(3891),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_BANG2] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(3898),
    [anon_sym_LBRACK] = ACTIONS(3900),
    [anon_sym_DOT] = ACTIONS(617),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(3902),
    [anon_sym_any] = ACTIONS(3904),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(3906),
    [anon_sym_LT] = ACTIONS(617),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_case] = ACTIONS(623),
    [anon_sym_import] = ACTIONS(623),
    [anon_sym_typealias] = ACTIONS(623),
    [anon_sym_struct] = ACTIONS(623),
    [anon_sym_class] = ACTIONS(623),
    [anon_sym_enum] = ACTIONS(623),
    [anon_sym_protocol] = ACTIONS(623),
    [anon_sym_let] = ACTIONS(623),
    [anon_sym_var] = ACTIONS(623),
    [anon_sym_func] = ACTIONS(623),
    [anon_sym_extension] = ACTIONS(623),
    [anon_sym_indirect] = ACTIONS(623),
    [anon_sym_init] = ACTIONS(623),
    [anon_sym_deinit] = ACTIONS(623),
    [anon_sym_subscript] = ACTIONS(623),
    [anon_sym_prefix] = ACTIONS(623),
    [anon_sym_infix] = ACTIONS(623),
    [anon_sym_postfix] = ACTIONS(623),
    [anon_sym_precedencegroup] = ACTIONS(623),
    [anon_sym_associatedtype] = ACTIONS(623),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(623),
    [anon_sym_convenience] = ACTIONS(623),
    [anon_sym_required] = ACTIONS(623),
    [anon_sym_nonisolated] = ACTIONS(623),
    [anon_sym_public] = ACTIONS(623),
    [anon_sym_private] = ACTIONS(623),
    [anon_sym_internal] = ACTIONS(623),
    [anon_sym_fileprivate] = ACTIONS(623),
    [anon_sym_open] = ACTIONS(623),
    [anon_sym_mutating] = ACTIONS(623),
    [anon_sym_nonmutating] = ACTIONS(623),
    [anon_sym_static] = ACTIONS(623),
    [anon_sym_dynamic] = ACTIONS(623),
    [anon_sym_optional] = ACTIONS(623),
    [anon_sym_distributed] = ACTIONS(623),
    [anon_sym_final] = ACTIONS(623),
    [anon_sym_inout] = ACTIONS(623),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(623),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(3891),
    [anon_sym_consuming] = ACTIONS(3891),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
  },
  [1066] = {
    [anon_sym_BANG] = ACTIONS(3121),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3123),
    [anon_sym_package] = ACTIONS(3123),
    [anon_sym_COMMA] = ACTIONS(3123),
    [anon_sym_LPAREN] = ACTIONS(3123),
    [anon_sym_LBRACK] = ACTIONS(3123),
    [anon_sym_DOT] = ACTIONS(3121),
    [anon_sym_QMARK] = ACTIONS(3121),
    [anon_sym_QMARK2] = ACTIONS(3123),
    [anon_sym_AMP] = ACTIONS(3123),
    [aux_sym_custom_operator_token1] = ACTIONS(3123),
    [anon_sym_LT] = ACTIONS(3121),
    [anon_sym_GT] = ACTIONS(3121),
    [anon_sym_LBRACE] = ACTIONS(3123),
    [anon_sym_CARET_LBRACE] = ACTIONS(3123),
    [anon_sym_RBRACE] = ACTIONS(3123),
    [anon_sym_case] = ACTIONS(3123),
    [anon_sym_fallthrough] = ACTIONS(3123),
    [anon_sym_PLUS_EQ] = ACTIONS(3123),
    [anon_sym_DASH_EQ] = ACTIONS(3123),
    [anon_sym_STAR_EQ] = ACTIONS(3123),
    [anon_sym_SLASH_EQ] = ACTIONS(3123),
    [anon_sym_PERCENT_EQ] = ACTIONS(3123),
    [anon_sym_BANG_EQ] = ACTIONS(3121),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3123),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3123),
    [anon_sym_LT_EQ] = ACTIONS(3123),
    [anon_sym_GT_EQ] = ACTIONS(3123),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3123),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3123),
    [anon_sym_is] = ACTIONS(3123),
    [anon_sym_PLUS] = ACTIONS(3121),
    [anon_sym_DASH] = ACTIONS(3121),
    [anon_sym_STAR] = ACTIONS(3121),
    [anon_sym_SLASH] = ACTIONS(3121),
    [anon_sym_PERCENT] = ACTIONS(3121),
    [anon_sym_PLUS_PLUS] = ACTIONS(3123),
    [anon_sym_DASH_DASH] = ACTIONS(3123),
    [anon_sym_PIPE] = ACTIONS(3123),
    [anon_sym_CARET] = ACTIONS(3121),
    [anon_sym_LT_LT] = ACTIONS(3123),
    [anon_sym_GT_GT] = ACTIONS(3123),
    [anon_sym_class] = ACTIONS(3123),
    [anon_sym_prefix] = ACTIONS(3123),
    [anon_sym_infix] = ACTIONS(3123),
    [anon_sym_postfix] = ACTIONS(3123),
    [anon_sym_AT] = ACTIONS(3121),
    [anon_sym_override] = ACTIONS(3123),
    [anon_sym_convenience] = ACTIONS(3123),
    [anon_sym_required] = ACTIONS(3123),
    [anon_sym_nonisolated] = ACTIONS(3123),
    [anon_sym_public] = ACTIONS(3123),
    [anon_sym_private] = ACTIONS(3123),
    [anon_sym_internal] = ACTIONS(3123),
    [anon_sym_fileprivate] = ACTIONS(3123),
    [anon_sym_open] = ACTIONS(3123),
    [anon_sym_mutating] = ACTIONS(3123),
    [anon_sym_nonmutating] = ACTIONS(3123),
    [anon_sym_static] = ACTIONS(3123),
    [anon_sym_dynamic] = ACTIONS(3123),
    [anon_sym_optional] = ACTIONS(3123),
    [anon_sym_distributed] = ACTIONS(3123),
    [anon_sym_final] = ACTIONS(3123),
    [anon_sym_inout] = ACTIONS(3123),
    [anon_sym_ATescaping] = ACTIONS(3123),
    [anon_sym_ATautoclosure] = ACTIONS(3123),
    [anon_sym_weak] = ACTIONS(3123),
    [anon_sym_unowned] = ACTIONS(3121),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3123),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3123),
    [anon_sym_borrowing] = ACTIONS(3123),
    [anon_sym_consuming] = ACTIONS(3123),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3123),
    [sym__explicit_semi] = ACTIONS(3123),
    [sym__arrow_operator_custom] = ACTIONS(3123),
    [sym__dot_custom] = ACTIONS(3123),
    [sym__conjunction_operator_custom] = ACTIONS(3123),
    [sym__disjunction_operator_custom] = ACTIONS(3123),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3123),
    [sym__eq_custom] = ACTIONS(3123),
    [sym__eq_eq_custom] = ACTIONS(3123),
    [sym__plus_then_ws] = ACTIONS(3123),
    [sym__minus_then_ws] = ACTIONS(3123),
    [sym__bang_custom] = ACTIONS(3123),
    [sym__throws_keyword] = ACTIONS(3123),
    [sym__rethrows_keyword] = ACTIONS(3123),
    [sym_default_keyword] = ACTIONS(3123),
    [sym_where_keyword] = ACTIONS(3123),
    [sym__as_custom] = ACTIONS(3123),
    [sym__as_quest_custom] = ACTIONS(3123),
    [sym__as_bang_custom] = ACTIONS(3123),
    [sym__async_keyword_custom] = ACTIONS(3123),
    [sym__custom_operator] = ACTIONS(3123),
  },
  [1067] = {
    [anon_sym_BANG] = ACTIONS(3180),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3182),
    [anon_sym_package] = ACTIONS(3182),
    [anon_sym_COMMA] = ACTIONS(3182),
    [anon_sym_LPAREN] = ACTIONS(3182),
    [anon_sym_LBRACK] = ACTIONS(3182),
    [anon_sym_DOT] = ACTIONS(3180),
    [anon_sym_QMARK] = ACTIONS(3180),
    [anon_sym_QMARK2] = ACTIONS(3182),
    [anon_sym_AMP] = ACTIONS(3182),
    [aux_sym_custom_operator_token1] = ACTIONS(3182),
    [anon_sym_LT] = ACTIONS(3180),
    [anon_sym_GT] = ACTIONS(3180),
    [anon_sym_LBRACE] = ACTIONS(3182),
    [anon_sym_CARET_LBRACE] = ACTIONS(3182),
    [anon_sym_RBRACE] = ACTIONS(3182),
    [anon_sym_case] = ACTIONS(3182),
    [anon_sym_fallthrough] = ACTIONS(3182),
    [anon_sym_PLUS_EQ] = ACTIONS(3182),
    [anon_sym_DASH_EQ] = ACTIONS(3182),
    [anon_sym_STAR_EQ] = ACTIONS(3182),
    [anon_sym_SLASH_EQ] = ACTIONS(3182),
    [anon_sym_PERCENT_EQ] = ACTIONS(3182),
    [anon_sym_BANG_EQ] = ACTIONS(3180),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3182),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3182),
    [anon_sym_LT_EQ] = ACTIONS(3182),
    [anon_sym_GT_EQ] = ACTIONS(3182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3182),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3182),
    [anon_sym_is] = ACTIONS(3182),
    [anon_sym_PLUS] = ACTIONS(3180),
    [anon_sym_DASH] = ACTIONS(3180),
    [anon_sym_STAR] = ACTIONS(3180),
    [anon_sym_SLASH] = ACTIONS(3180),
    [anon_sym_PERCENT] = ACTIONS(3180),
    [anon_sym_PLUS_PLUS] = ACTIONS(3182),
    [anon_sym_DASH_DASH] = ACTIONS(3182),
    [anon_sym_PIPE] = ACTIONS(3182),
    [anon_sym_CARET] = ACTIONS(3180),
    [anon_sym_LT_LT] = ACTIONS(3182),
    [anon_sym_GT_GT] = ACTIONS(3182),
    [anon_sym_class] = ACTIONS(3182),
    [anon_sym_prefix] = ACTIONS(3182),
    [anon_sym_infix] = ACTIONS(3182),
    [anon_sym_postfix] = ACTIONS(3182),
    [anon_sym_AT] = ACTIONS(3180),
    [anon_sym_override] = ACTIONS(3182),
    [anon_sym_convenience] = ACTIONS(3182),
    [anon_sym_required] = ACTIONS(3182),
    [anon_sym_nonisolated] = ACTIONS(3182),
    [anon_sym_public] = ACTIONS(3182),
    [anon_sym_private] = ACTIONS(3182),
    [anon_sym_internal] = ACTIONS(3182),
    [anon_sym_fileprivate] = ACTIONS(3182),
    [anon_sym_open] = ACTIONS(3182),
    [anon_sym_mutating] = ACTIONS(3182),
    [anon_sym_nonmutating] = ACTIONS(3182),
    [anon_sym_static] = ACTIONS(3182),
    [anon_sym_dynamic] = ACTIONS(3182),
    [anon_sym_optional] = ACTIONS(3182),
    [anon_sym_distributed] = ACTIONS(3182),
    [anon_sym_final] = ACTIONS(3182),
    [anon_sym_inout] = ACTIONS(3182),
    [anon_sym_ATescaping] = ACTIONS(3182),
    [anon_sym_ATautoclosure] = ACTIONS(3182),
    [anon_sym_weak] = ACTIONS(3182),
    [anon_sym_unowned] = ACTIONS(3180),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3182),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3182),
    [anon_sym_borrowing] = ACTIONS(3182),
    [anon_sym_consuming] = ACTIONS(3182),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3182),
    [sym__explicit_semi] = ACTIONS(3182),
    [sym__arrow_operator_custom] = ACTIONS(3182),
    [sym__dot_custom] = ACTIONS(3182),
    [sym__conjunction_operator_custom] = ACTIONS(3182),
    [sym__disjunction_operator_custom] = ACTIONS(3182),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3182),
    [sym__eq_custom] = ACTIONS(3182),
    [sym__eq_eq_custom] = ACTIONS(3182),
    [sym__plus_then_ws] = ACTIONS(3182),
    [sym__minus_then_ws] = ACTIONS(3182),
    [sym__bang_custom] = ACTIONS(3182),
    [sym__throws_keyword] = ACTIONS(3182),
    [sym__rethrows_keyword] = ACTIONS(3182),
    [sym_default_keyword] = ACTIONS(3182),
    [sym_where_keyword] = ACTIONS(3182),
    [sym__as_custom] = ACTIONS(3182),
    [sym__as_quest_custom] = ACTIONS(3182),
    [sym__as_bang_custom] = ACTIONS(3182),
    [sym__async_keyword_custom] = ACTIONS(3182),
    [sym__custom_operator] = ACTIONS(3182),
  },
  [1068] = {
    [sym_type_arguments] = STATE(1100),
    [anon_sym_BANG] = ACTIONS(3081),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3083),
    [anon_sym_package] = ACTIONS(3083),
    [anon_sym_COMMA] = ACTIONS(3083),
    [anon_sym_LPAREN] = ACTIONS(3083),
    [anon_sym_LBRACK] = ACTIONS(3083),
    [anon_sym_DOT] = ACTIONS(3081),
    [anon_sym_QMARK] = ACTIONS(3081),
    [anon_sym_QMARK2] = ACTIONS(3083),
    [anon_sym_AMP] = ACTIONS(3083),
    [aux_sym_custom_operator_token1] = ACTIONS(3083),
    [anon_sym_LT] = ACTIONS(3911),
    [anon_sym_GT] = ACTIONS(3081),
    [anon_sym_LBRACE] = ACTIONS(3083),
    [anon_sym_CARET_LBRACE] = ACTIONS(3083),
    [anon_sym_RBRACE] = ACTIONS(3083),
    [anon_sym_case] = ACTIONS(3083),
    [anon_sym_fallthrough] = ACTIONS(3083),
    [anon_sym_PLUS_EQ] = ACTIONS(3083),
    [anon_sym_DASH_EQ] = ACTIONS(3083),
    [anon_sym_STAR_EQ] = ACTIONS(3083),
    [anon_sym_SLASH_EQ] = ACTIONS(3083),
    [anon_sym_PERCENT_EQ] = ACTIONS(3083),
    [anon_sym_BANG_EQ] = ACTIONS(3081),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3083),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3083),
    [anon_sym_LT_EQ] = ACTIONS(3083),
    [anon_sym_GT_EQ] = ACTIONS(3083),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3083),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3083),
    [anon_sym_is] = ACTIONS(3083),
    [anon_sym_PLUS] = ACTIONS(3081),
    [anon_sym_DASH] = ACTIONS(3081),
    [anon_sym_STAR] = ACTIONS(3081),
    [anon_sym_SLASH] = ACTIONS(3081),
    [anon_sym_PERCENT] = ACTIONS(3081),
    [anon_sym_PLUS_PLUS] = ACTIONS(3083),
    [anon_sym_DASH_DASH] = ACTIONS(3083),
    [anon_sym_PIPE] = ACTIONS(3083),
    [anon_sym_CARET] = ACTIONS(3081),
    [anon_sym_LT_LT] = ACTIONS(3083),
    [anon_sym_GT_GT] = ACTIONS(3083),
    [anon_sym_class] = ACTIONS(3083),
    [anon_sym_prefix] = ACTIONS(3083),
    [anon_sym_infix] = ACTIONS(3083),
    [anon_sym_postfix] = ACTIONS(3083),
    [anon_sym_AT] = ACTIONS(3081),
    [anon_sym_override] = ACTIONS(3083),
    [anon_sym_convenience] = ACTIONS(3083),
    [anon_sym_required] = ACTIONS(3083),
    [anon_sym_nonisolated] = ACTIONS(3083),
    [anon_sym_public] = ACTIONS(3083),
    [anon_sym_private] = ACTIONS(3083),
    [anon_sym_internal] = ACTIONS(3083),
    [anon_sym_fileprivate] = ACTIONS(3083),
    [anon_sym_open] = ACTIONS(3083),
    [anon_sym_mutating] = ACTIONS(3083),
    [anon_sym_nonmutating] = ACTIONS(3083),
    [anon_sym_static] = ACTIONS(3083),
    [anon_sym_dynamic] = ACTIONS(3083),
    [anon_sym_optional] = ACTIONS(3083),
    [anon_sym_distributed] = ACTIONS(3083),
    [anon_sym_final] = ACTIONS(3083),
    [anon_sym_inout] = ACTIONS(3083),
    [anon_sym_ATescaping] = ACTIONS(3083),
    [anon_sym_ATautoclosure] = ACTIONS(3083),
    [anon_sym_weak] = ACTIONS(3083),
    [anon_sym_unowned] = ACTIONS(3081),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3083),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3083),
    [anon_sym_borrowing] = ACTIONS(3083),
    [anon_sym_consuming] = ACTIONS(3083),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3083),
    [sym__explicit_semi] = ACTIONS(3083),
    [sym__arrow_operator_custom] = ACTIONS(3083),
    [sym__dot_custom] = ACTIONS(3083),
    [sym__conjunction_operator_custom] = ACTIONS(3083),
    [sym__disjunction_operator_custom] = ACTIONS(3083),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3083),
    [sym__eq_custom] = ACTIONS(3083),
    [sym__eq_eq_custom] = ACTIONS(3083),
    [sym__plus_then_ws] = ACTIONS(3083),
    [sym__minus_then_ws] = ACTIONS(3083),
    [sym__bang_custom] = ACTIONS(3083),
    [sym__throws_keyword] = ACTIONS(3083),
    [sym__rethrows_keyword] = ACTIONS(3083),
    [sym_default_keyword] = ACTIONS(3083),
    [sym__as_custom] = ACTIONS(3083),
    [sym__as_quest_custom] = ACTIONS(3083),
    [sym__as_bang_custom] = ACTIONS(3083),
    [sym__async_keyword_custom] = ACTIONS(3083),
    [sym__custom_operator] = ACTIONS(3083),
  },
  [1069] = {
    [anon_sym_BANG] = ACTIONS(3157),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3159),
    [anon_sym_package] = ACTIONS(3159),
    [anon_sym_COMMA] = ACTIONS(3159),
    [anon_sym_LPAREN] = ACTIONS(3159),
    [anon_sym_LBRACK] = ACTIONS(3159),
    [anon_sym_DOT] = ACTIONS(3157),
    [anon_sym_QMARK] = ACTIONS(3157),
    [anon_sym_QMARK2] = ACTIONS(3159),
    [anon_sym_AMP] = ACTIONS(3159),
    [aux_sym_custom_operator_token1] = ACTIONS(3159),
    [anon_sym_LT] = ACTIONS(3157),
    [anon_sym_GT] = ACTIONS(3157),
    [anon_sym_LBRACE] = ACTIONS(3159),
    [anon_sym_CARET_LBRACE] = ACTIONS(3159),
    [anon_sym_RBRACE] = ACTIONS(3159),
    [anon_sym_case] = ACTIONS(3159),
    [anon_sym_fallthrough] = ACTIONS(3159),
    [anon_sym_PLUS_EQ] = ACTIONS(3159),
    [anon_sym_DASH_EQ] = ACTIONS(3159),
    [anon_sym_STAR_EQ] = ACTIONS(3159),
    [anon_sym_SLASH_EQ] = ACTIONS(3159),
    [anon_sym_PERCENT_EQ] = ACTIONS(3159),
    [anon_sym_BANG_EQ] = ACTIONS(3157),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3159),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3159),
    [anon_sym_LT_EQ] = ACTIONS(3159),
    [anon_sym_GT_EQ] = ACTIONS(3159),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3159),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3159),
    [anon_sym_is] = ACTIONS(3159),
    [anon_sym_PLUS] = ACTIONS(3157),
    [anon_sym_DASH] = ACTIONS(3157),
    [anon_sym_STAR] = ACTIONS(3157),
    [anon_sym_SLASH] = ACTIONS(3157),
    [anon_sym_PERCENT] = ACTIONS(3157),
    [anon_sym_PLUS_PLUS] = ACTIONS(3159),
    [anon_sym_DASH_DASH] = ACTIONS(3159),
    [anon_sym_PIPE] = ACTIONS(3159),
    [anon_sym_CARET] = ACTIONS(3157),
    [anon_sym_LT_LT] = ACTIONS(3159),
    [anon_sym_GT_GT] = ACTIONS(3159),
    [anon_sym_class] = ACTIONS(3159),
    [anon_sym_prefix] = ACTIONS(3159),
    [anon_sym_infix] = ACTIONS(3159),
    [anon_sym_postfix] = ACTIONS(3159),
    [anon_sym_AT] = ACTIONS(3157),
    [anon_sym_override] = ACTIONS(3159),
    [anon_sym_convenience] = ACTIONS(3159),
    [anon_sym_required] = ACTIONS(3159),
    [anon_sym_nonisolated] = ACTIONS(3159),
    [anon_sym_public] = ACTIONS(3159),
    [anon_sym_private] = ACTIONS(3159),
    [anon_sym_internal] = ACTIONS(3159),
    [anon_sym_fileprivate] = ACTIONS(3159),
    [anon_sym_open] = ACTIONS(3159),
    [anon_sym_mutating] = ACTIONS(3159),
    [anon_sym_nonmutating] = ACTIONS(3159),
    [anon_sym_static] = ACTIONS(3159),
    [anon_sym_dynamic] = ACTIONS(3159),
    [anon_sym_optional] = ACTIONS(3159),
    [anon_sym_distributed] = ACTIONS(3159),
    [anon_sym_final] = ACTIONS(3159),
    [anon_sym_inout] = ACTIONS(3159),
    [anon_sym_ATescaping] = ACTIONS(3159),
    [anon_sym_ATautoclosure] = ACTIONS(3159),
    [anon_sym_weak] = ACTIONS(3159),
    [anon_sym_unowned] = ACTIONS(3157),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3159),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3159),
    [anon_sym_borrowing] = ACTIONS(3159),
    [anon_sym_consuming] = ACTIONS(3159),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3159),
    [sym__explicit_semi] = ACTIONS(3159),
    [sym__arrow_operator_custom] = ACTIONS(3159),
    [sym__dot_custom] = ACTIONS(3159),
    [sym__conjunction_operator_custom] = ACTIONS(3159),
    [sym__disjunction_operator_custom] = ACTIONS(3159),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3159),
    [sym__eq_custom] = ACTIONS(3159),
    [sym__eq_eq_custom] = ACTIONS(3159),
    [sym__plus_then_ws] = ACTIONS(3159),
    [sym__minus_then_ws] = ACTIONS(3159),
    [sym__bang_custom] = ACTIONS(3159),
    [sym__throws_keyword] = ACTIONS(3159),
    [sym__rethrows_keyword] = ACTIONS(3159),
    [sym_default_keyword] = ACTIONS(3159),
    [sym_where_keyword] = ACTIONS(3159),
    [sym__as_custom] = ACTIONS(3159),
    [sym__as_quest_custom] = ACTIONS(3159),
    [sym__as_bang_custom] = ACTIONS(3159),
    [sym__async_keyword_custom] = ACTIONS(3159),
    [sym__custom_operator] = ACTIONS(3159),
  },
  [1070] = {
    [sym_simple_identifier] = STATE(5849),
    [sym__contextual_simple_identifier] = STATE(4919),
    [sym__parameter_ownership_modifier] = STATE(4919),
    [anon_sym_BANG] = ACTIONS(2687),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3913),
    [aux_sym_simple_identifier_token2] = ACTIONS(3915),
    [aux_sym_simple_identifier_token3] = ACTIONS(3915),
    [aux_sym_simple_identifier_token4] = ACTIONS(3915),
    [anon_sym_actor] = ACTIONS(3913),
    [anon_sym_async] = ACTIONS(3913),
    [anon_sym_each] = ACTIONS(3913),
    [anon_sym_lazy] = ACTIONS(3913),
    [anon_sym_repeat] = ACTIONS(3913),
    [anon_sym_package] = ACTIONS(3913),
    [anon_sym_nil] = ACTIONS(2676),
    [sym_real_literal] = ACTIONS(2678),
    [sym_integer_literal] = ACTIONS(2676),
    [sym_hex_literal] = ACTIONS(2676),
    [sym_oct_literal] = ACTIONS(2678),
    [sym_bin_literal] = ACTIONS(2678),
    [anon_sym_true] = ACTIONS(2676),
    [anon_sym_false] = ACTIONS(2676),
    [anon_sym_DQUOTE] = ACTIONS(2676),
    [anon_sym_BSLASH] = ACTIONS(2678),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2678),
    [anon_sym_RPAREN] = ACTIONS(2690),
    [anon_sym_COMMA] = ACTIONS(2690),
    [sym__oneline_regex_literal] = ACTIONS(2676),
    [anon_sym_COLON] = ACTIONS(2690),
    [anon_sym_LPAREN] = ACTIONS(2692),
    [anon_sym_LBRACK] = ACTIONS(2692),
    [anon_sym_RBRACK] = ACTIONS(2690),
    [anon_sym_QMARK] = ACTIONS(2695),
    [anon_sym_QMARK2] = ACTIONS(2690),
    [anon_sym_AMP] = ACTIONS(2692),
    [anon_sym_TILDE] = ACTIONS(2678),
    [anon_sym_if] = ACTIONS(2676),
    [anon_sym_switch] = ACTIONS(2676),
    [aux_sym_custom_operator_token1] = ACTIONS(2692),
    [anon_sym_LT] = ACTIONS(2687),
    [anon_sym_GT] = ACTIONS(2687),
    [anon_sym_await] = ACTIONS(2676),
    [anon_sym_LBRACE] = ACTIONS(2692),
    [anon_sym_CARET_LBRACE] = ACTIONS(2692),
    [anon_sym_self] = ACTIONS(2676),
    [anon_sym_super] = ACTIONS(2676),
    [anon_sym_try] = ACTIONS(2676),
    [anon_sym_PLUS_EQ] = ACTIONS(2692),
    [anon_sym_DASH_EQ] = ACTIONS(2692),
    [anon_sym_STAR_EQ] = ACTIONS(2692),
    [anon_sym_SLASH_EQ] = ACTIONS(2692),
    [anon_sym_PERCENT_EQ] = ACTIONS(2692),
    [anon_sym_BANG_EQ] = ACTIONS(2687),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2692),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2692),
    [anon_sym_LT_EQ] = ACTIONS(2692),
    [anon_sym_GT_EQ] = ACTIONS(2692),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2692),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2692),
    [anon_sym_is] = ACTIONS(2695),
    [anon_sym_PLUS] = ACTIONS(2687),
    [anon_sym_DASH] = ACTIONS(2687),
    [anon_sym_STAR] = ACTIONS(2687),
    [anon_sym_SLASH] = ACTIONS(2687),
    [anon_sym_PERCENT] = ACTIONS(2687),
    [anon_sym_PLUS_PLUS] = ACTIONS(2692),
    [anon_sym_DASH_DASH] = ACTIONS(2692),
    [anon_sym_PIPE] = ACTIONS(2692),
    [anon_sym_CARET] = ACTIONS(2687),
    [anon_sym_LT_LT] = ACTIONS(2692),
    [anon_sym_GT_GT] = ACTIONS(2692),
    [anon_sym_borrowing] = ACTIONS(3913),
    [anon_sym_consuming] = ACTIONS(3913),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2678),
    [sym_raw_str_end_part] = ACTIONS(2678),
    [sym__dot_custom] = ACTIONS(2692),
    [sym__conjunction_operator_custom] = ACTIONS(2690),
    [sym__disjunction_operator_custom] = ACTIONS(2690),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2690),
    [sym__eq_custom] = ACTIONS(2692),
    [sym__eq_eq_custom] = ACTIONS(2692),
    [sym__plus_then_ws] = ACTIONS(2692),
    [sym__minus_then_ws] = ACTIONS(2692),
    [sym__bang_custom] = ACTIONS(2692),
    [sym__as_custom] = ACTIONS(2690),
    [sym__as_quest_custom] = ACTIONS(2690),
    [sym__as_bang_custom] = ACTIONS(2690),
    [sym__custom_operator] = ACTIONS(2692),
    [sym__hash_symbol_custom] = ACTIONS(2678),
    [sym__directive_if] = ACTIONS(2678),
    [sym__directive_elseif] = ACTIONS(2678),
    [sym__directive_else] = ACTIONS(2678),
    [sym__directive_endif] = ACTIONS(2678),
  },
  [1071] = {
    [anon_sym_BANG] = ACTIONS(3091),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3093),
    [anon_sym_package] = ACTIONS(3093),
    [anon_sym_COMMA] = ACTIONS(3093),
    [anon_sym_LPAREN] = ACTIONS(3093),
    [anon_sym_LBRACK] = ACTIONS(3093),
    [anon_sym_DOT] = ACTIONS(3091),
    [anon_sym_QMARK] = ACTIONS(3091),
    [anon_sym_QMARK2] = ACTIONS(3093),
    [anon_sym_AMP] = ACTIONS(3093),
    [aux_sym_custom_operator_token1] = ACTIONS(3093),
    [anon_sym_LT] = ACTIONS(3091),
    [anon_sym_GT] = ACTIONS(3091),
    [anon_sym_LBRACE] = ACTIONS(3093),
    [anon_sym_CARET_LBRACE] = ACTIONS(3093),
    [anon_sym_RBRACE] = ACTIONS(3093),
    [anon_sym_case] = ACTIONS(3093),
    [anon_sym_fallthrough] = ACTIONS(3093),
    [anon_sym_PLUS_EQ] = ACTIONS(3093),
    [anon_sym_DASH_EQ] = ACTIONS(3093),
    [anon_sym_STAR_EQ] = ACTIONS(3093),
    [anon_sym_SLASH_EQ] = ACTIONS(3093),
    [anon_sym_PERCENT_EQ] = ACTIONS(3093),
    [anon_sym_BANG_EQ] = ACTIONS(3091),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3093),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3093),
    [anon_sym_LT_EQ] = ACTIONS(3093),
    [anon_sym_GT_EQ] = ACTIONS(3093),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3093),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3093),
    [anon_sym_is] = ACTIONS(3093),
    [anon_sym_PLUS] = ACTIONS(3091),
    [anon_sym_DASH] = ACTIONS(3091),
    [anon_sym_STAR] = ACTIONS(3091),
    [anon_sym_SLASH] = ACTIONS(3091),
    [anon_sym_PERCENT] = ACTIONS(3091),
    [anon_sym_PLUS_PLUS] = ACTIONS(3093),
    [anon_sym_DASH_DASH] = ACTIONS(3093),
    [anon_sym_PIPE] = ACTIONS(3093),
    [anon_sym_CARET] = ACTIONS(3091),
    [anon_sym_LT_LT] = ACTIONS(3093),
    [anon_sym_GT_GT] = ACTIONS(3093),
    [anon_sym_class] = ACTIONS(3093),
    [anon_sym_prefix] = ACTIONS(3093),
    [anon_sym_infix] = ACTIONS(3093),
    [anon_sym_postfix] = ACTIONS(3093),
    [anon_sym_AT] = ACTIONS(3091),
    [anon_sym_override] = ACTIONS(3093),
    [anon_sym_convenience] = ACTIONS(3093),
    [anon_sym_required] = ACTIONS(3093),
    [anon_sym_nonisolated] = ACTIONS(3093),
    [anon_sym_public] = ACTIONS(3093),
    [anon_sym_private] = ACTIONS(3093),
    [anon_sym_internal] = ACTIONS(3093),
    [anon_sym_fileprivate] = ACTIONS(3093),
    [anon_sym_open] = ACTIONS(3093),
    [anon_sym_mutating] = ACTIONS(3093),
    [anon_sym_nonmutating] = ACTIONS(3093),
    [anon_sym_static] = ACTIONS(3093),
    [anon_sym_dynamic] = ACTIONS(3093),
    [anon_sym_optional] = ACTIONS(3093),
    [anon_sym_distributed] = ACTIONS(3093),
    [anon_sym_final] = ACTIONS(3093),
    [anon_sym_inout] = ACTIONS(3093),
    [anon_sym_ATescaping] = ACTIONS(3093),
    [anon_sym_ATautoclosure] = ACTIONS(3093),
    [anon_sym_weak] = ACTIONS(3093),
    [anon_sym_unowned] = ACTIONS(3091),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3093),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3093),
    [anon_sym_borrowing] = ACTIONS(3093),
    [anon_sym_consuming] = ACTIONS(3093),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3093),
    [sym__explicit_semi] = ACTIONS(3093),
    [sym__arrow_operator_custom] = ACTIONS(3093),
    [sym__dot_custom] = ACTIONS(3093),
    [sym__conjunction_operator_custom] = ACTIONS(3093),
    [sym__disjunction_operator_custom] = ACTIONS(3093),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3093),
    [sym__eq_custom] = ACTIONS(3093),
    [sym__eq_eq_custom] = ACTIONS(3093),
    [sym__plus_then_ws] = ACTIONS(3093),
    [sym__minus_then_ws] = ACTIONS(3093),
    [sym__bang_custom] = ACTIONS(3093),
    [sym__throws_keyword] = ACTIONS(3093),
    [sym__rethrows_keyword] = ACTIONS(3093),
    [sym_default_keyword] = ACTIONS(3093),
    [sym_where_keyword] = ACTIONS(3093),
    [sym__as_custom] = ACTIONS(3093),
    [sym__as_quest_custom] = ACTIONS(3093),
    [sym__as_bang_custom] = ACTIONS(3093),
    [sym__async_keyword_custom] = ACTIONS(3093),
    [sym__custom_operator] = ACTIONS(3093),
  },
  [1072] = {
    [anon_sym_BANG] = ACTIONS(3129),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3131),
    [anon_sym_package] = ACTIONS(3131),
    [anon_sym_COMMA] = ACTIONS(3131),
    [anon_sym_LPAREN] = ACTIONS(3131),
    [anon_sym_LBRACK] = ACTIONS(3131),
    [anon_sym_DOT] = ACTIONS(3129),
    [anon_sym_QMARK] = ACTIONS(3129),
    [anon_sym_QMARK2] = ACTIONS(3131),
    [anon_sym_AMP] = ACTIONS(3131),
    [aux_sym_custom_operator_token1] = ACTIONS(3131),
    [anon_sym_LT] = ACTIONS(3129),
    [anon_sym_GT] = ACTIONS(3129),
    [anon_sym_LBRACE] = ACTIONS(3131),
    [anon_sym_CARET_LBRACE] = ACTIONS(3131),
    [anon_sym_RBRACE] = ACTIONS(3131),
    [anon_sym_case] = ACTIONS(3131),
    [anon_sym_fallthrough] = ACTIONS(3131),
    [anon_sym_PLUS_EQ] = ACTIONS(3131),
    [anon_sym_DASH_EQ] = ACTIONS(3131),
    [anon_sym_STAR_EQ] = ACTIONS(3131),
    [anon_sym_SLASH_EQ] = ACTIONS(3131),
    [anon_sym_PERCENT_EQ] = ACTIONS(3131),
    [anon_sym_BANG_EQ] = ACTIONS(3129),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3131),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3131),
    [anon_sym_LT_EQ] = ACTIONS(3131),
    [anon_sym_GT_EQ] = ACTIONS(3131),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3131),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3131),
    [anon_sym_is] = ACTIONS(3131),
    [anon_sym_PLUS] = ACTIONS(3129),
    [anon_sym_DASH] = ACTIONS(3129),
    [anon_sym_STAR] = ACTIONS(3129),
    [anon_sym_SLASH] = ACTIONS(3129),
    [anon_sym_PERCENT] = ACTIONS(3129),
    [anon_sym_PLUS_PLUS] = ACTIONS(3131),
    [anon_sym_DASH_DASH] = ACTIONS(3131),
    [anon_sym_PIPE] = ACTIONS(3131),
    [anon_sym_CARET] = ACTIONS(3129),
    [anon_sym_LT_LT] = ACTIONS(3131),
    [anon_sym_GT_GT] = ACTIONS(3131),
    [anon_sym_class] = ACTIONS(3131),
    [anon_sym_prefix] = ACTIONS(3131),
    [anon_sym_infix] = ACTIONS(3131),
    [anon_sym_postfix] = ACTIONS(3131),
    [anon_sym_AT] = ACTIONS(3129),
    [anon_sym_override] = ACTIONS(3131),
    [anon_sym_convenience] = ACTIONS(3131),
    [anon_sym_required] = ACTIONS(3131),
    [anon_sym_nonisolated] = ACTIONS(3131),
    [anon_sym_public] = ACTIONS(3131),
    [anon_sym_private] = ACTIONS(3131),
    [anon_sym_internal] = ACTIONS(3131),
    [anon_sym_fileprivate] = ACTIONS(3131),
    [anon_sym_open] = ACTIONS(3131),
    [anon_sym_mutating] = ACTIONS(3131),
    [anon_sym_nonmutating] = ACTIONS(3131),
    [anon_sym_static] = ACTIONS(3131),
    [anon_sym_dynamic] = ACTIONS(3131),
    [anon_sym_optional] = ACTIONS(3131),
    [anon_sym_distributed] = ACTIONS(3131),
    [anon_sym_final] = ACTIONS(3131),
    [anon_sym_inout] = ACTIONS(3131),
    [anon_sym_ATescaping] = ACTIONS(3131),
    [anon_sym_ATautoclosure] = ACTIONS(3131),
    [anon_sym_weak] = ACTIONS(3131),
    [anon_sym_unowned] = ACTIONS(3129),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3131),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3131),
    [anon_sym_borrowing] = ACTIONS(3131),
    [anon_sym_consuming] = ACTIONS(3131),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3131),
    [sym__explicit_semi] = ACTIONS(3131),
    [sym__arrow_operator_custom] = ACTIONS(3131),
    [sym__dot_custom] = ACTIONS(3131),
    [sym__conjunction_operator_custom] = ACTIONS(3131),
    [sym__disjunction_operator_custom] = ACTIONS(3131),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3131),
    [sym__eq_custom] = ACTIONS(3131),
    [sym__eq_eq_custom] = ACTIONS(3131),
    [sym__plus_then_ws] = ACTIONS(3131),
    [sym__minus_then_ws] = ACTIONS(3131),
    [sym__bang_custom] = ACTIONS(3131),
    [sym__throws_keyword] = ACTIONS(3131),
    [sym__rethrows_keyword] = ACTIONS(3131),
    [sym_default_keyword] = ACTIONS(3131),
    [sym_where_keyword] = ACTIONS(3131),
    [sym__as_custom] = ACTIONS(3131),
    [sym__as_quest_custom] = ACTIONS(3131),
    [sym__as_bang_custom] = ACTIONS(3131),
    [sym__async_keyword_custom] = ACTIONS(3131),
    [sym__custom_operator] = ACTIONS(3131),
  },
  [1073] = {
    [anon_sym_BANG] = ACTIONS(3202),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3204),
    [anon_sym_package] = ACTIONS(3204),
    [anon_sym_COMMA] = ACTIONS(3204),
    [anon_sym_LPAREN] = ACTIONS(3204),
    [anon_sym_LBRACK] = ACTIONS(3204),
    [anon_sym_DOT] = ACTIONS(3202),
    [anon_sym_QMARK] = ACTIONS(3202),
    [anon_sym_QMARK2] = ACTIONS(3204),
    [anon_sym_AMP] = ACTIONS(3204),
    [aux_sym_custom_operator_token1] = ACTIONS(3204),
    [anon_sym_LT] = ACTIONS(3202),
    [anon_sym_GT] = ACTIONS(3202),
    [anon_sym_LBRACE] = ACTIONS(3204),
    [anon_sym_CARET_LBRACE] = ACTIONS(3204),
    [anon_sym_RBRACE] = ACTIONS(3204),
    [anon_sym_case] = ACTIONS(3204),
    [anon_sym_fallthrough] = ACTIONS(3204),
    [anon_sym_PLUS_EQ] = ACTIONS(3204),
    [anon_sym_DASH_EQ] = ACTIONS(3204),
    [anon_sym_STAR_EQ] = ACTIONS(3204),
    [anon_sym_SLASH_EQ] = ACTIONS(3204),
    [anon_sym_PERCENT_EQ] = ACTIONS(3204),
    [anon_sym_BANG_EQ] = ACTIONS(3202),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3204),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3204),
    [anon_sym_LT_EQ] = ACTIONS(3204),
    [anon_sym_GT_EQ] = ACTIONS(3204),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3204),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3204),
    [anon_sym_is] = ACTIONS(3204),
    [anon_sym_PLUS] = ACTIONS(3202),
    [anon_sym_DASH] = ACTIONS(3202),
    [anon_sym_STAR] = ACTIONS(3202),
    [anon_sym_SLASH] = ACTIONS(3202),
    [anon_sym_PERCENT] = ACTIONS(3202),
    [anon_sym_PLUS_PLUS] = ACTIONS(3204),
    [anon_sym_DASH_DASH] = ACTIONS(3204),
    [anon_sym_PIPE] = ACTIONS(3204),
    [anon_sym_CARET] = ACTIONS(3202),
    [anon_sym_LT_LT] = ACTIONS(3204),
    [anon_sym_GT_GT] = ACTIONS(3204),
    [anon_sym_class] = ACTIONS(3204),
    [anon_sym_prefix] = ACTIONS(3204),
    [anon_sym_infix] = ACTIONS(3204),
    [anon_sym_postfix] = ACTIONS(3204),
    [anon_sym_AT] = ACTIONS(3202),
    [anon_sym_override] = ACTIONS(3204),
    [anon_sym_convenience] = ACTIONS(3204),
    [anon_sym_required] = ACTIONS(3204),
    [anon_sym_nonisolated] = ACTIONS(3204),
    [anon_sym_public] = ACTIONS(3204),
    [anon_sym_private] = ACTIONS(3204),
    [anon_sym_internal] = ACTIONS(3204),
    [anon_sym_fileprivate] = ACTIONS(3204),
    [anon_sym_open] = ACTIONS(3204),
    [anon_sym_mutating] = ACTIONS(3204),
    [anon_sym_nonmutating] = ACTIONS(3204),
    [anon_sym_static] = ACTIONS(3204),
    [anon_sym_dynamic] = ACTIONS(3204),
    [anon_sym_optional] = ACTIONS(3204),
    [anon_sym_distributed] = ACTIONS(3204),
    [anon_sym_final] = ACTIONS(3204),
    [anon_sym_inout] = ACTIONS(3204),
    [anon_sym_ATescaping] = ACTIONS(3204),
    [anon_sym_ATautoclosure] = ACTIONS(3204),
    [anon_sym_weak] = ACTIONS(3204),
    [anon_sym_unowned] = ACTIONS(3202),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3204),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3204),
    [anon_sym_borrowing] = ACTIONS(3204),
    [anon_sym_consuming] = ACTIONS(3204),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3204),
    [sym__explicit_semi] = ACTIONS(3204),
    [sym__arrow_operator_custom] = ACTIONS(3204),
    [sym__dot_custom] = ACTIONS(3204),
    [sym__conjunction_operator_custom] = ACTIONS(3204),
    [sym__disjunction_operator_custom] = ACTIONS(3204),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3204),
    [sym__eq_custom] = ACTIONS(3204),
    [sym__eq_eq_custom] = ACTIONS(3204),
    [sym__plus_then_ws] = ACTIONS(3204),
    [sym__minus_then_ws] = ACTIONS(3204),
    [sym__bang_custom] = ACTIONS(3204),
    [sym__throws_keyword] = ACTIONS(3204),
    [sym__rethrows_keyword] = ACTIONS(3204),
    [sym_default_keyword] = ACTIONS(3204),
    [sym_where_keyword] = ACTIONS(3204),
    [sym__as_custom] = ACTIONS(3204),
    [sym__as_quest_custom] = ACTIONS(3204),
    [sym__as_bang_custom] = ACTIONS(3204),
    [sym__async_keyword_custom] = ACTIONS(3204),
    [sym__custom_operator] = ACTIONS(3204),
  },
  [1074] = {
    [anon_sym_BANG] = ACTIONS(2991),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2993),
    [anon_sym_package] = ACTIONS(2993),
    [anon_sym_COMMA] = ACTIONS(2993),
    [anon_sym_LPAREN] = ACTIONS(2993),
    [anon_sym_LBRACK] = ACTIONS(2993),
    [anon_sym_DOT] = ACTIONS(2991),
    [anon_sym_QMARK] = ACTIONS(2991),
    [anon_sym_QMARK2] = ACTIONS(2993),
    [anon_sym_AMP] = ACTIONS(2993),
    [aux_sym_custom_operator_token1] = ACTIONS(2993),
    [anon_sym_LT] = ACTIONS(2991),
    [anon_sym_GT] = ACTIONS(2991),
    [anon_sym_LBRACE] = ACTIONS(2993),
    [anon_sym_CARET_LBRACE] = ACTIONS(2993),
    [anon_sym_RBRACE] = ACTIONS(2993),
    [anon_sym_case] = ACTIONS(2993),
    [anon_sym_fallthrough] = ACTIONS(2993),
    [anon_sym_PLUS_EQ] = ACTIONS(2993),
    [anon_sym_DASH_EQ] = ACTIONS(2993),
    [anon_sym_STAR_EQ] = ACTIONS(2993),
    [anon_sym_SLASH_EQ] = ACTIONS(2993),
    [anon_sym_PERCENT_EQ] = ACTIONS(2993),
    [anon_sym_BANG_EQ] = ACTIONS(2991),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2993),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2993),
    [anon_sym_LT_EQ] = ACTIONS(2993),
    [anon_sym_GT_EQ] = ACTIONS(2993),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2993),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2993),
    [anon_sym_is] = ACTIONS(2993),
    [anon_sym_PLUS] = ACTIONS(2991),
    [anon_sym_DASH] = ACTIONS(2991),
    [anon_sym_STAR] = ACTIONS(2991),
    [anon_sym_SLASH] = ACTIONS(2991),
    [anon_sym_PERCENT] = ACTIONS(2991),
    [anon_sym_PLUS_PLUS] = ACTIONS(2993),
    [anon_sym_DASH_DASH] = ACTIONS(2993),
    [anon_sym_PIPE] = ACTIONS(2993),
    [anon_sym_CARET] = ACTIONS(2991),
    [anon_sym_LT_LT] = ACTIONS(2993),
    [anon_sym_GT_GT] = ACTIONS(2993),
    [anon_sym_class] = ACTIONS(2993),
    [anon_sym_prefix] = ACTIONS(2993),
    [anon_sym_infix] = ACTIONS(2993),
    [anon_sym_postfix] = ACTIONS(2993),
    [anon_sym_AT] = ACTIONS(2991),
    [anon_sym_override] = ACTIONS(2993),
    [anon_sym_convenience] = ACTIONS(2993),
    [anon_sym_required] = ACTIONS(2993),
    [anon_sym_nonisolated] = ACTIONS(2993),
    [anon_sym_public] = ACTIONS(2993),
    [anon_sym_private] = ACTIONS(2993),
    [anon_sym_internal] = ACTIONS(2993),
    [anon_sym_fileprivate] = ACTIONS(2993),
    [anon_sym_open] = ACTIONS(2993),
    [anon_sym_mutating] = ACTIONS(2993),
    [anon_sym_nonmutating] = ACTIONS(2993),
    [anon_sym_static] = ACTIONS(2993),
    [anon_sym_dynamic] = ACTIONS(2993),
    [anon_sym_optional] = ACTIONS(2993),
    [anon_sym_distributed] = ACTIONS(2993),
    [anon_sym_final] = ACTIONS(2993),
    [anon_sym_inout] = ACTIONS(2993),
    [anon_sym_ATescaping] = ACTIONS(2993),
    [anon_sym_ATautoclosure] = ACTIONS(2993),
    [anon_sym_weak] = ACTIONS(2993),
    [anon_sym_unowned] = ACTIONS(2991),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2993),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2993),
    [anon_sym_borrowing] = ACTIONS(2993),
    [anon_sym_consuming] = ACTIONS(2993),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2993),
    [sym__explicit_semi] = ACTIONS(2993),
    [sym__arrow_operator_custom] = ACTIONS(2993),
    [sym__dot_custom] = ACTIONS(2993),
    [sym__conjunction_operator_custom] = ACTIONS(2993),
    [sym__disjunction_operator_custom] = ACTIONS(2993),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2993),
    [sym__eq_custom] = ACTIONS(2993),
    [sym__eq_eq_custom] = ACTIONS(2993),
    [sym__plus_then_ws] = ACTIONS(2993),
    [sym__minus_then_ws] = ACTIONS(2993),
    [sym__bang_custom] = ACTIONS(2993),
    [sym__throws_keyword] = ACTIONS(2993),
    [sym__rethrows_keyword] = ACTIONS(2993),
    [sym_default_keyword] = ACTIONS(2993),
    [sym_where_keyword] = ACTIONS(2993),
    [sym__as_custom] = ACTIONS(2993),
    [sym__as_quest_custom] = ACTIONS(2993),
    [sym__as_bang_custom] = ACTIONS(2993),
    [sym__async_keyword_custom] = ACTIONS(2993),
    [sym__custom_operator] = ACTIONS(2993),
  },
  [1075] = {
    [anon_sym_BANG] = ACTIONS(3186),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3188),
    [anon_sym_package] = ACTIONS(3188),
    [anon_sym_COMMA] = ACTIONS(3188),
    [anon_sym_LPAREN] = ACTIONS(3188),
    [anon_sym_LBRACK] = ACTIONS(3188),
    [anon_sym_DOT] = ACTIONS(3186),
    [anon_sym_QMARK] = ACTIONS(3186),
    [anon_sym_QMARK2] = ACTIONS(3188),
    [anon_sym_AMP] = ACTIONS(3188),
    [aux_sym_custom_operator_token1] = ACTIONS(3188),
    [anon_sym_LT] = ACTIONS(3186),
    [anon_sym_GT] = ACTIONS(3186),
    [anon_sym_LBRACE] = ACTIONS(3188),
    [anon_sym_CARET_LBRACE] = ACTIONS(3188),
    [anon_sym_RBRACE] = ACTIONS(3188),
    [anon_sym_case] = ACTIONS(3188),
    [anon_sym_fallthrough] = ACTIONS(3188),
    [anon_sym_PLUS_EQ] = ACTIONS(3188),
    [anon_sym_DASH_EQ] = ACTIONS(3188),
    [anon_sym_STAR_EQ] = ACTIONS(3188),
    [anon_sym_SLASH_EQ] = ACTIONS(3188),
    [anon_sym_PERCENT_EQ] = ACTIONS(3188),
    [anon_sym_BANG_EQ] = ACTIONS(3186),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3188),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3188),
    [anon_sym_LT_EQ] = ACTIONS(3188),
    [anon_sym_GT_EQ] = ACTIONS(3188),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3188),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3188),
    [anon_sym_is] = ACTIONS(3188),
    [anon_sym_PLUS] = ACTIONS(3186),
    [anon_sym_DASH] = ACTIONS(3186),
    [anon_sym_STAR] = ACTIONS(3186),
    [anon_sym_SLASH] = ACTIONS(3186),
    [anon_sym_PERCENT] = ACTIONS(3186),
    [anon_sym_PLUS_PLUS] = ACTIONS(3188),
    [anon_sym_DASH_DASH] = ACTIONS(3188),
    [anon_sym_PIPE] = ACTIONS(3188),
    [anon_sym_CARET] = ACTIONS(3186),
    [anon_sym_LT_LT] = ACTIONS(3188),
    [anon_sym_GT_GT] = ACTIONS(3188),
    [anon_sym_class] = ACTIONS(3188),
    [anon_sym_prefix] = ACTIONS(3188),
    [anon_sym_infix] = ACTIONS(3188),
    [anon_sym_postfix] = ACTIONS(3188),
    [anon_sym_AT] = ACTIONS(3186),
    [anon_sym_override] = ACTIONS(3188),
    [anon_sym_convenience] = ACTIONS(3188),
    [anon_sym_required] = ACTIONS(3188),
    [anon_sym_nonisolated] = ACTIONS(3188),
    [anon_sym_public] = ACTIONS(3188),
    [anon_sym_private] = ACTIONS(3188),
    [anon_sym_internal] = ACTIONS(3188),
    [anon_sym_fileprivate] = ACTIONS(3188),
    [anon_sym_open] = ACTIONS(3188),
    [anon_sym_mutating] = ACTIONS(3188),
    [anon_sym_nonmutating] = ACTIONS(3188),
    [anon_sym_static] = ACTIONS(3188),
    [anon_sym_dynamic] = ACTIONS(3188),
    [anon_sym_optional] = ACTIONS(3188),
    [anon_sym_distributed] = ACTIONS(3188),
    [anon_sym_final] = ACTIONS(3188),
    [anon_sym_inout] = ACTIONS(3188),
    [anon_sym_ATescaping] = ACTIONS(3188),
    [anon_sym_ATautoclosure] = ACTIONS(3188),
    [anon_sym_weak] = ACTIONS(3188),
    [anon_sym_unowned] = ACTIONS(3186),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3188),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3188),
    [anon_sym_borrowing] = ACTIONS(3188),
    [anon_sym_consuming] = ACTIONS(3188),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3188),
    [sym__explicit_semi] = ACTIONS(3188),
    [sym__arrow_operator_custom] = ACTIONS(3188),
    [sym__dot_custom] = ACTIONS(3188),
    [sym__conjunction_operator_custom] = ACTIONS(3188),
    [sym__disjunction_operator_custom] = ACTIONS(3188),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3188),
    [sym__eq_custom] = ACTIONS(3188),
    [sym__eq_eq_custom] = ACTIONS(3188),
    [sym__plus_then_ws] = ACTIONS(3188),
    [sym__minus_then_ws] = ACTIONS(3188),
    [sym__bang_custom] = ACTIONS(3188),
    [sym__throws_keyword] = ACTIONS(3188),
    [sym__rethrows_keyword] = ACTIONS(3188),
    [sym_default_keyword] = ACTIONS(3188),
    [sym_where_keyword] = ACTIONS(3188),
    [sym__as_custom] = ACTIONS(3188),
    [sym__as_quest_custom] = ACTIONS(3188),
    [sym__as_bang_custom] = ACTIONS(3188),
    [sym__async_keyword_custom] = ACTIONS(3188),
    [sym__custom_operator] = ACTIONS(3188),
  },
  [1076] = {
    [anon_sym_BANG] = ACTIONS(3194),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3196),
    [anon_sym_package] = ACTIONS(3196),
    [anon_sym_COMMA] = ACTIONS(3196),
    [anon_sym_LPAREN] = ACTIONS(3196),
    [anon_sym_LBRACK] = ACTIONS(3196),
    [anon_sym_DOT] = ACTIONS(3194),
    [anon_sym_QMARK] = ACTIONS(3194),
    [anon_sym_QMARK2] = ACTIONS(3196),
    [anon_sym_AMP] = ACTIONS(3196),
    [aux_sym_custom_operator_token1] = ACTIONS(3196),
    [anon_sym_LT] = ACTIONS(3194),
    [anon_sym_GT] = ACTIONS(3194),
    [anon_sym_LBRACE] = ACTIONS(3196),
    [anon_sym_CARET_LBRACE] = ACTIONS(3196),
    [anon_sym_RBRACE] = ACTIONS(3196),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_fallthrough] = ACTIONS(3196),
    [anon_sym_PLUS_EQ] = ACTIONS(3196),
    [anon_sym_DASH_EQ] = ACTIONS(3196),
    [anon_sym_STAR_EQ] = ACTIONS(3196),
    [anon_sym_SLASH_EQ] = ACTIONS(3196),
    [anon_sym_PERCENT_EQ] = ACTIONS(3196),
    [anon_sym_BANG_EQ] = ACTIONS(3194),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3196),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3196),
    [anon_sym_LT_EQ] = ACTIONS(3196),
    [anon_sym_GT_EQ] = ACTIONS(3196),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3196),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3196),
    [anon_sym_is] = ACTIONS(3196),
    [anon_sym_PLUS] = ACTIONS(3194),
    [anon_sym_DASH] = ACTIONS(3194),
    [anon_sym_STAR] = ACTIONS(3194),
    [anon_sym_SLASH] = ACTIONS(3194),
    [anon_sym_PERCENT] = ACTIONS(3194),
    [anon_sym_PLUS_PLUS] = ACTIONS(3196),
    [anon_sym_DASH_DASH] = ACTIONS(3196),
    [anon_sym_PIPE] = ACTIONS(3196),
    [anon_sym_CARET] = ACTIONS(3194),
    [anon_sym_LT_LT] = ACTIONS(3196),
    [anon_sym_GT_GT] = ACTIONS(3196),
    [anon_sym_class] = ACTIONS(3196),
    [anon_sym_prefix] = ACTIONS(3196),
    [anon_sym_infix] = ACTIONS(3196),
    [anon_sym_postfix] = ACTIONS(3196),
    [anon_sym_AT] = ACTIONS(3194),
    [anon_sym_override] = ACTIONS(3196),
    [anon_sym_convenience] = ACTIONS(3196),
    [anon_sym_required] = ACTIONS(3196),
    [anon_sym_nonisolated] = ACTIONS(3196),
    [anon_sym_public] = ACTIONS(3196),
    [anon_sym_private] = ACTIONS(3196),
    [anon_sym_internal] = ACTIONS(3196),
    [anon_sym_fileprivate] = ACTIONS(3196),
    [anon_sym_open] = ACTIONS(3196),
    [anon_sym_mutating] = ACTIONS(3196),
    [anon_sym_nonmutating] = ACTIONS(3196),
    [anon_sym_static] = ACTIONS(3196),
    [anon_sym_dynamic] = ACTIONS(3196),
    [anon_sym_optional] = ACTIONS(3196),
    [anon_sym_distributed] = ACTIONS(3196),
    [anon_sym_final] = ACTIONS(3196),
    [anon_sym_inout] = ACTIONS(3196),
    [anon_sym_ATescaping] = ACTIONS(3196),
    [anon_sym_ATautoclosure] = ACTIONS(3196),
    [anon_sym_weak] = ACTIONS(3196),
    [anon_sym_unowned] = ACTIONS(3194),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3196),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3196),
    [anon_sym_borrowing] = ACTIONS(3196),
    [anon_sym_consuming] = ACTIONS(3196),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3196),
    [sym__explicit_semi] = ACTIONS(3196),
    [sym__arrow_operator_custom] = ACTIONS(3196),
    [sym__dot_custom] = ACTIONS(3196),
    [sym__conjunction_operator_custom] = ACTIONS(3196),
    [sym__disjunction_operator_custom] = ACTIONS(3196),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3196),
    [sym__eq_custom] = ACTIONS(3196),
    [sym__eq_eq_custom] = ACTIONS(3196),
    [sym__plus_then_ws] = ACTIONS(3196),
    [sym__minus_then_ws] = ACTIONS(3196),
    [sym__bang_custom] = ACTIONS(3196),
    [sym__throws_keyword] = ACTIONS(3196),
    [sym__rethrows_keyword] = ACTIONS(3196),
    [sym_default_keyword] = ACTIONS(3196),
    [sym_where_keyword] = ACTIONS(3196),
    [sym__as_custom] = ACTIONS(3196),
    [sym__as_quest_custom] = ACTIONS(3196),
    [sym__as_bang_custom] = ACTIONS(3196),
    [sym__async_keyword_custom] = ACTIONS(3196),
    [sym__custom_operator] = ACTIONS(3196),
  },
  [1077] = {
    [anon_sym_BANG] = ACTIONS(3198),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3200),
    [anon_sym_package] = ACTIONS(3200),
    [anon_sym_COMMA] = ACTIONS(3200),
    [anon_sym_LPAREN] = ACTIONS(3200),
    [anon_sym_LBRACK] = ACTIONS(3200),
    [anon_sym_DOT] = ACTIONS(3198),
    [anon_sym_QMARK] = ACTIONS(3198),
    [anon_sym_QMARK2] = ACTIONS(3200),
    [anon_sym_AMP] = ACTIONS(3200),
    [aux_sym_custom_operator_token1] = ACTIONS(3200),
    [anon_sym_LT] = ACTIONS(3198),
    [anon_sym_GT] = ACTIONS(3198),
    [anon_sym_LBRACE] = ACTIONS(3200),
    [anon_sym_CARET_LBRACE] = ACTIONS(3200),
    [anon_sym_RBRACE] = ACTIONS(3200),
    [anon_sym_case] = ACTIONS(3200),
    [anon_sym_fallthrough] = ACTIONS(3200),
    [anon_sym_PLUS_EQ] = ACTIONS(3200),
    [anon_sym_DASH_EQ] = ACTIONS(3200),
    [anon_sym_STAR_EQ] = ACTIONS(3200),
    [anon_sym_SLASH_EQ] = ACTIONS(3200),
    [anon_sym_PERCENT_EQ] = ACTIONS(3200),
    [anon_sym_BANG_EQ] = ACTIONS(3198),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3200),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3200),
    [anon_sym_LT_EQ] = ACTIONS(3200),
    [anon_sym_GT_EQ] = ACTIONS(3200),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3200),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3200),
    [anon_sym_is] = ACTIONS(3200),
    [anon_sym_PLUS] = ACTIONS(3198),
    [anon_sym_DASH] = ACTIONS(3198),
    [anon_sym_STAR] = ACTIONS(3198),
    [anon_sym_SLASH] = ACTIONS(3198),
    [anon_sym_PERCENT] = ACTIONS(3198),
    [anon_sym_PLUS_PLUS] = ACTIONS(3200),
    [anon_sym_DASH_DASH] = ACTIONS(3200),
    [anon_sym_PIPE] = ACTIONS(3200),
    [anon_sym_CARET] = ACTIONS(3198),
    [anon_sym_LT_LT] = ACTIONS(3200),
    [anon_sym_GT_GT] = ACTIONS(3200),
    [anon_sym_class] = ACTIONS(3200),
    [anon_sym_prefix] = ACTIONS(3200),
    [anon_sym_infix] = ACTIONS(3200),
    [anon_sym_postfix] = ACTIONS(3200),
    [anon_sym_AT] = ACTIONS(3198),
    [anon_sym_override] = ACTIONS(3200),
    [anon_sym_convenience] = ACTIONS(3200),
    [anon_sym_required] = ACTIONS(3200),
    [anon_sym_nonisolated] = ACTIONS(3200),
    [anon_sym_public] = ACTIONS(3200),
    [anon_sym_private] = ACTIONS(3200),
    [anon_sym_internal] = ACTIONS(3200),
    [anon_sym_fileprivate] = ACTIONS(3200),
    [anon_sym_open] = ACTIONS(3200),
    [anon_sym_mutating] = ACTIONS(3200),
    [anon_sym_nonmutating] = ACTIONS(3200),
    [anon_sym_static] = ACTIONS(3200),
    [anon_sym_dynamic] = ACTIONS(3200),
    [anon_sym_optional] = ACTIONS(3200),
    [anon_sym_distributed] = ACTIONS(3200),
    [anon_sym_final] = ACTIONS(3200),
    [anon_sym_inout] = ACTIONS(3200),
    [anon_sym_ATescaping] = ACTIONS(3200),
    [anon_sym_ATautoclosure] = ACTIONS(3200),
    [anon_sym_weak] = ACTIONS(3200),
    [anon_sym_unowned] = ACTIONS(3198),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3200),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3200),
    [anon_sym_borrowing] = ACTIONS(3200),
    [anon_sym_consuming] = ACTIONS(3200),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3200),
    [sym__explicit_semi] = ACTIONS(3200),
    [sym__arrow_operator_custom] = ACTIONS(3200),
    [sym__dot_custom] = ACTIONS(3200),
    [sym__conjunction_operator_custom] = ACTIONS(3200),
    [sym__disjunction_operator_custom] = ACTIONS(3200),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3200),
    [sym__eq_custom] = ACTIONS(3200),
    [sym__eq_eq_custom] = ACTIONS(3200),
    [sym__plus_then_ws] = ACTIONS(3200),
    [sym__minus_then_ws] = ACTIONS(3200),
    [sym__bang_custom] = ACTIONS(3200),
    [sym__throws_keyword] = ACTIONS(3200),
    [sym__rethrows_keyword] = ACTIONS(3200),
    [sym_default_keyword] = ACTIONS(3200),
    [sym_where_keyword] = ACTIONS(3200),
    [sym__as_custom] = ACTIONS(3200),
    [sym__as_quest_custom] = ACTIONS(3200),
    [sym__as_bang_custom] = ACTIONS(3200),
    [sym__async_keyword_custom] = ACTIONS(3200),
    [sym__custom_operator] = ACTIONS(3200),
  },
  [1078] = {
    [anon_sym_BANG] = ACTIONS(3133),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3135),
    [anon_sym_package] = ACTIONS(3135),
    [anon_sym_COMMA] = ACTIONS(3135),
    [anon_sym_LPAREN] = ACTIONS(3135),
    [anon_sym_LBRACK] = ACTIONS(3135),
    [anon_sym_DOT] = ACTIONS(3133),
    [anon_sym_QMARK] = ACTIONS(3133),
    [anon_sym_QMARK2] = ACTIONS(3135),
    [anon_sym_AMP] = ACTIONS(3135),
    [aux_sym_custom_operator_token1] = ACTIONS(3135),
    [anon_sym_LT] = ACTIONS(3133),
    [anon_sym_GT] = ACTIONS(3133),
    [anon_sym_LBRACE] = ACTIONS(3135),
    [anon_sym_CARET_LBRACE] = ACTIONS(3135),
    [anon_sym_RBRACE] = ACTIONS(3135),
    [anon_sym_case] = ACTIONS(3135),
    [anon_sym_fallthrough] = ACTIONS(3135),
    [anon_sym_PLUS_EQ] = ACTIONS(3135),
    [anon_sym_DASH_EQ] = ACTIONS(3135),
    [anon_sym_STAR_EQ] = ACTIONS(3135),
    [anon_sym_SLASH_EQ] = ACTIONS(3135),
    [anon_sym_PERCENT_EQ] = ACTIONS(3135),
    [anon_sym_BANG_EQ] = ACTIONS(3133),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3135),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3135),
    [anon_sym_LT_EQ] = ACTIONS(3135),
    [anon_sym_GT_EQ] = ACTIONS(3135),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3135),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3135),
    [anon_sym_is] = ACTIONS(3135),
    [anon_sym_PLUS] = ACTIONS(3133),
    [anon_sym_DASH] = ACTIONS(3133),
    [anon_sym_STAR] = ACTIONS(3133),
    [anon_sym_SLASH] = ACTIONS(3133),
    [anon_sym_PERCENT] = ACTIONS(3133),
    [anon_sym_PLUS_PLUS] = ACTIONS(3135),
    [anon_sym_DASH_DASH] = ACTIONS(3135),
    [anon_sym_PIPE] = ACTIONS(3135),
    [anon_sym_CARET] = ACTIONS(3133),
    [anon_sym_LT_LT] = ACTIONS(3135),
    [anon_sym_GT_GT] = ACTIONS(3135),
    [anon_sym_class] = ACTIONS(3135),
    [anon_sym_prefix] = ACTIONS(3135),
    [anon_sym_infix] = ACTIONS(3135),
    [anon_sym_postfix] = ACTIONS(3135),
    [anon_sym_AT] = ACTIONS(3133),
    [anon_sym_override] = ACTIONS(3135),
    [anon_sym_convenience] = ACTIONS(3135),
    [anon_sym_required] = ACTIONS(3135),
    [anon_sym_nonisolated] = ACTIONS(3135),
    [anon_sym_public] = ACTIONS(3135),
    [anon_sym_private] = ACTIONS(3135),
    [anon_sym_internal] = ACTIONS(3135),
    [anon_sym_fileprivate] = ACTIONS(3135),
    [anon_sym_open] = ACTIONS(3135),
    [anon_sym_mutating] = ACTIONS(3135),
    [anon_sym_nonmutating] = ACTIONS(3135),
    [anon_sym_static] = ACTIONS(3135),
    [anon_sym_dynamic] = ACTIONS(3135),
    [anon_sym_optional] = ACTIONS(3135),
    [anon_sym_distributed] = ACTIONS(3135),
    [anon_sym_final] = ACTIONS(3135),
    [anon_sym_inout] = ACTIONS(3135),
    [anon_sym_ATescaping] = ACTIONS(3135),
    [anon_sym_ATautoclosure] = ACTIONS(3135),
    [anon_sym_weak] = ACTIONS(3135),
    [anon_sym_unowned] = ACTIONS(3133),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3135),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3135),
    [anon_sym_borrowing] = ACTIONS(3135),
    [anon_sym_consuming] = ACTIONS(3135),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3135),
    [sym__explicit_semi] = ACTIONS(3135),
    [sym__arrow_operator_custom] = ACTIONS(3135),
    [sym__dot_custom] = ACTIONS(3135),
    [sym__conjunction_operator_custom] = ACTIONS(3135),
    [sym__disjunction_operator_custom] = ACTIONS(3135),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3135),
    [sym__eq_custom] = ACTIONS(3135),
    [sym__eq_eq_custom] = ACTIONS(3135),
    [sym__plus_then_ws] = ACTIONS(3135),
    [sym__minus_then_ws] = ACTIONS(3135),
    [sym__bang_custom] = ACTIONS(3135),
    [sym__throws_keyword] = ACTIONS(3135),
    [sym__rethrows_keyword] = ACTIONS(3135),
    [sym_default_keyword] = ACTIONS(3135),
    [sym_where_keyword] = ACTIONS(3135),
    [sym__as_custom] = ACTIONS(3135),
    [sym__as_quest_custom] = ACTIONS(3135),
    [sym__as_bang_custom] = ACTIONS(3135),
    [sym__async_keyword_custom] = ACTIONS(3135),
    [sym__custom_operator] = ACTIONS(3135),
  },
  [1079] = {
    [anon_sym_BANG] = ACTIONS(3125),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3127),
    [anon_sym_package] = ACTIONS(3127),
    [anon_sym_COMMA] = ACTIONS(3127),
    [anon_sym_LPAREN] = ACTIONS(3127),
    [anon_sym_LBRACK] = ACTIONS(3127),
    [anon_sym_DOT] = ACTIONS(3125),
    [anon_sym_QMARK] = ACTIONS(3125),
    [anon_sym_QMARK2] = ACTIONS(3127),
    [anon_sym_AMP] = ACTIONS(3127),
    [aux_sym_custom_operator_token1] = ACTIONS(3127),
    [anon_sym_LT] = ACTIONS(3125),
    [anon_sym_GT] = ACTIONS(3125),
    [anon_sym_LBRACE] = ACTIONS(3127),
    [anon_sym_CARET_LBRACE] = ACTIONS(3127),
    [anon_sym_RBRACE] = ACTIONS(3127),
    [anon_sym_case] = ACTIONS(3127),
    [anon_sym_fallthrough] = ACTIONS(3127),
    [anon_sym_PLUS_EQ] = ACTIONS(3127),
    [anon_sym_DASH_EQ] = ACTIONS(3127),
    [anon_sym_STAR_EQ] = ACTIONS(3127),
    [anon_sym_SLASH_EQ] = ACTIONS(3127),
    [anon_sym_PERCENT_EQ] = ACTIONS(3127),
    [anon_sym_BANG_EQ] = ACTIONS(3125),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3127),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3127),
    [anon_sym_LT_EQ] = ACTIONS(3127),
    [anon_sym_GT_EQ] = ACTIONS(3127),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3127),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3127),
    [anon_sym_is] = ACTIONS(3127),
    [anon_sym_PLUS] = ACTIONS(3125),
    [anon_sym_DASH] = ACTIONS(3125),
    [anon_sym_STAR] = ACTIONS(3125),
    [anon_sym_SLASH] = ACTIONS(3125),
    [anon_sym_PERCENT] = ACTIONS(3125),
    [anon_sym_PLUS_PLUS] = ACTIONS(3127),
    [anon_sym_DASH_DASH] = ACTIONS(3127),
    [anon_sym_PIPE] = ACTIONS(3127),
    [anon_sym_CARET] = ACTIONS(3125),
    [anon_sym_LT_LT] = ACTIONS(3127),
    [anon_sym_GT_GT] = ACTIONS(3127),
    [anon_sym_class] = ACTIONS(3127),
    [anon_sym_prefix] = ACTIONS(3127),
    [anon_sym_infix] = ACTIONS(3127),
    [anon_sym_postfix] = ACTIONS(3127),
    [anon_sym_AT] = ACTIONS(3125),
    [anon_sym_override] = ACTIONS(3127),
    [anon_sym_convenience] = ACTIONS(3127),
    [anon_sym_required] = ACTIONS(3127),
    [anon_sym_nonisolated] = ACTIONS(3127),
    [anon_sym_public] = ACTIONS(3127),
    [anon_sym_private] = ACTIONS(3127),
    [anon_sym_internal] = ACTIONS(3127),
    [anon_sym_fileprivate] = ACTIONS(3127),
    [anon_sym_open] = ACTIONS(3127),
    [anon_sym_mutating] = ACTIONS(3127),
    [anon_sym_nonmutating] = ACTIONS(3127),
    [anon_sym_static] = ACTIONS(3127),
    [anon_sym_dynamic] = ACTIONS(3127),
    [anon_sym_optional] = ACTIONS(3127),
    [anon_sym_distributed] = ACTIONS(3127),
    [anon_sym_final] = ACTIONS(3127),
    [anon_sym_inout] = ACTIONS(3127),
    [anon_sym_ATescaping] = ACTIONS(3127),
    [anon_sym_ATautoclosure] = ACTIONS(3127),
    [anon_sym_weak] = ACTIONS(3127),
    [anon_sym_unowned] = ACTIONS(3125),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3127),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3127),
    [anon_sym_borrowing] = ACTIONS(3127),
    [anon_sym_consuming] = ACTIONS(3127),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3127),
    [sym__explicit_semi] = ACTIONS(3127),
    [sym__arrow_operator_custom] = ACTIONS(3127),
    [sym__dot_custom] = ACTIONS(3127),
    [sym__conjunction_operator_custom] = ACTIONS(3127),
    [sym__disjunction_operator_custom] = ACTIONS(3127),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3127),
    [sym__eq_custom] = ACTIONS(3127),
    [sym__eq_eq_custom] = ACTIONS(3127),
    [sym__plus_then_ws] = ACTIONS(3127),
    [sym__minus_then_ws] = ACTIONS(3127),
    [sym__bang_custom] = ACTIONS(3127),
    [sym__throws_keyword] = ACTIONS(3127),
    [sym__rethrows_keyword] = ACTIONS(3127),
    [sym_default_keyword] = ACTIONS(3127),
    [sym_where_keyword] = ACTIONS(3127),
    [sym__as_custom] = ACTIONS(3127),
    [sym__as_quest_custom] = ACTIONS(3127),
    [sym__as_bang_custom] = ACTIONS(3127),
    [sym__async_keyword_custom] = ACTIONS(3127),
    [sym__custom_operator] = ACTIONS(3127),
  },
  [1080] = {
    [anon_sym_BANG] = ACTIONS(3105),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3107),
    [anon_sym_package] = ACTIONS(3107),
    [anon_sym_COMMA] = ACTIONS(3107),
    [anon_sym_LPAREN] = ACTIONS(3107),
    [anon_sym_LBRACK] = ACTIONS(3107),
    [anon_sym_DOT] = ACTIONS(3105),
    [anon_sym_QMARK] = ACTIONS(3105),
    [anon_sym_QMARK2] = ACTIONS(3107),
    [anon_sym_AMP] = ACTIONS(3107),
    [aux_sym_custom_operator_token1] = ACTIONS(3107),
    [anon_sym_LT] = ACTIONS(3105),
    [anon_sym_GT] = ACTIONS(3105),
    [anon_sym_LBRACE] = ACTIONS(3107),
    [anon_sym_CARET_LBRACE] = ACTIONS(3107),
    [anon_sym_RBRACE] = ACTIONS(3107),
    [anon_sym_case] = ACTIONS(3107),
    [anon_sym_fallthrough] = ACTIONS(3107),
    [anon_sym_PLUS_EQ] = ACTIONS(3107),
    [anon_sym_DASH_EQ] = ACTIONS(3107),
    [anon_sym_STAR_EQ] = ACTIONS(3107),
    [anon_sym_SLASH_EQ] = ACTIONS(3107),
    [anon_sym_PERCENT_EQ] = ACTIONS(3107),
    [anon_sym_BANG_EQ] = ACTIONS(3105),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3107),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3107),
    [anon_sym_LT_EQ] = ACTIONS(3107),
    [anon_sym_GT_EQ] = ACTIONS(3107),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3107),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3107),
    [anon_sym_is] = ACTIONS(3107),
    [anon_sym_PLUS] = ACTIONS(3105),
    [anon_sym_DASH] = ACTIONS(3105),
    [anon_sym_STAR] = ACTIONS(3105),
    [anon_sym_SLASH] = ACTIONS(3105),
    [anon_sym_PERCENT] = ACTIONS(3105),
    [anon_sym_PLUS_PLUS] = ACTIONS(3107),
    [anon_sym_DASH_DASH] = ACTIONS(3107),
    [anon_sym_PIPE] = ACTIONS(3107),
    [anon_sym_CARET] = ACTIONS(3105),
    [anon_sym_LT_LT] = ACTIONS(3107),
    [anon_sym_GT_GT] = ACTIONS(3107),
    [anon_sym_class] = ACTIONS(3107),
    [anon_sym_prefix] = ACTIONS(3107),
    [anon_sym_infix] = ACTIONS(3107),
    [anon_sym_postfix] = ACTIONS(3107),
    [anon_sym_AT] = ACTIONS(3105),
    [anon_sym_override] = ACTIONS(3107),
    [anon_sym_convenience] = ACTIONS(3107),
    [anon_sym_required] = ACTIONS(3107),
    [anon_sym_nonisolated] = ACTIONS(3107),
    [anon_sym_public] = ACTIONS(3107),
    [anon_sym_private] = ACTIONS(3107),
    [anon_sym_internal] = ACTIONS(3107),
    [anon_sym_fileprivate] = ACTIONS(3107),
    [anon_sym_open] = ACTIONS(3107),
    [anon_sym_mutating] = ACTIONS(3107),
    [anon_sym_nonmutating] = ACTIONS(3107),
    [anon_sym_static] = ACTIONS(3107),
    [anon_sym_dynamic] = ACTIONS(3107),
    [anon_sym_optional] = ACTIONS(3107),
    [anon_sym_distributed] = ACTIONS(3107),
    [anon_sym_final] = ACTIONS(3107),
    [anon_sym_inout] = ACTIONS(3107),
    [anon_sym_ATescaping] = ACTIONS(3107),
    [anon_sym_ATautoclosure] = ACTIONS(3107),
    [anon_sym_weak] = ACTIONS(3107),
    [anon_sym_unowned] = ACTIONS(3105),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3107),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3107),
    [anon_sym_borrowing] = ACTIONS(3107),
    [anon_sym_consuming] = ACTIONS(3107),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3107),
    [sym__explicit_semi] = ACTIONS(3107),
    [sym__arrow_operator_custom] = ACTIONS(3107),
    [sym__dot_custom] = ACTIONS(3107),
    [sym__conjunction_operator_custom] = ACTIONS(3107),
    [sym__disjunction_operator_custom] = ACTIONS(3107),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3107),
    [sym__eq_custom] = ACTIONS(3107),
    [sym__eq_eq_custom] = ACTIONS(3107),
    [sym__plus_then_ws] = ACTIONS(3107),
    [sym__minus_then_ws] = ACTIONS(3107),
    [sym__bang_custom] = ACTIONS(3107),
    [sym__throws_keyword] = ACTIONS(3107),
    [sym__rethrows_keyword] = ACTIONS(3107),
    [sym_default_keyword] = ACTIONS(3107),
    [sym_where_keyword] = ACTIONS(3107),
    [sym__as_custom] = ACTIONS(3107),
    [sym__as_quest_custom] = ACTIONS(3107),
    [sym__as_bang_custom] = ACTIONS(3107),
    [sym__async_keyword_custom] = ACTIONS(3107),
    [sym__custom_operator] = ACTIONS(3107),
  },
  [1081] = {
    [anon_sym_BANG] = ACTIONS(3145),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3147),
    [anon_sym_package] = ACTIONS(3147),
    [anon_sym_COMMA] = ACTIONS(3147),
    [anon_sym_LPAREN] = ACTIONS(3147),
    [anon_sym_LBRACK] = ACTIONS(3147),
    [anon_sym_DOT] = ACTIONS(3145),
    [anon_sym_QMARK] = ACTIONS(3145),
    [anon_sym_QMARK2] = ACTIONS(3147),
    [anon_sym_AMP] = ACTIONS(3147),
    [aux_sym_custom_operator_token1] = ACTIONS(3147),
    [anon_sym_LT] = ACTIONS(3145),
    [anon_sym_GT] = ACTIONS(3145),
    [anon_sym_LBRACE] = ACTIONS(3147),
    [anon_sym_CARET_LBRACE] = ACTIONS(3147),
    [anon_sym_RBRACE] = ACTIONS(3147),
    [anon_sym_case] = ACTIONS(3147),
    [anon_sym_fallthrough] = ACTIONS(3147),
    [anon_sym_PLUS_EQ] = ACTIONS(3147),
    [anon_sym_DASH_EQ] = ACTIONS(3147),
    [anon_sym_STAR_EQ] = ACTIONS(3147),
    [anon_sym_SLASH_EQ] = ACTIONS(3147),
    [anon_sym_PERCENT_EQ] = ACTIONS(3147),
    [anon_sym_BANG_EQ] = ACTIONS(3145),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3147),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3147),
    [anon_sym_LT_EQ] = ACTIONS(3147),
    [anon_sym_GT_EQ] = ACTIONS(3147),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3147),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3147),
    [anon_sym_is] = ACTIONS(3147),
    [anon_sym_PLUS] = ACTIONS(3145),
    [anon_sym_DASH] = ACTIONS(3145),
    [anon_sym_STAR] = ACTIONS(3145),
    [anon_sym_SLASH] = ACTIONS(3145),
    [anon_sym_PERCENT] = ACTIONS(3145),
    [anon_sym_PLUS_PLUS] = ACTIONS(3147),
    [anon_sym_DASH_DASH] = ACTIONS(3147),
    [anon_sym_PIPE] = ACTIONS(3147),
    [anon_sym_CARET] = ACTIONS(3145),
    [anon_sym_LT_LT] = ACTIONS(3147),
    [anon_sym_GT_GT] = ACTIONS(3147),
    [anon_sym_class] = ACTIONS(3147),
    [anon_sym_prefix] = ACTIONS(3147),
    [anon_sym_infix] = ACTIONS(3147),
    [anon_sym_postfix] = ACTIONS(3147),
    [anon_sym_AT] = ACTIONS(3145),
    [anon_sym_override] = ACTIONS(3147),
    [anon_sym_convenience] = ACTIONS(3147),
    [anon_sym_required] = ACTIONS(3147),
    [anon_sym_nonisolated] = ACTIONS(3147),
    [anon_sym_public] = ACTIONS(3147),
    [anon_sym_private] = ACTIONS(3147),
    [anon_sym_internal] = ACTIONS(3147),
    [anon_sym_fileprivate] = ACTIONS(3147),
    [anon_sym_open] = ACTIONS(3147),
    [anon_sym_mutating] = ACTIONS(3147),
    [anon_sym_nonmutating] = ACTIONS(3147),
    [anon_sym_static] = ACTIONS(3147),
    [anon_sym_dynamic] = ACTIONS(3147),
    [anon_sym_optional] = ACTIONS(3147),
    [anon_sym_distributed] = ACTIONS(3147),
    [anon_sym_final] = ACTIONS(3147),
    [anon_sym_inout] = ACTIONS(3147),
    [anon_sym_ATescaping] = ACTIONS(3147),
    [anon_sym_ATautoclosure] = ACTIONS(3147),
    [anon_sym_weak] = ACTIONS(3147),
    [anon_sym_unowned] = ACTIONS(3145),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3147),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3147),
    [anon_sym_borrowing] = ACTIONS(3147),
    [anon_sym_consuming] = ACTIONS(3147),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3147),
    [sym__explicit_semi] = ACTIONS(3147),
    [sym__arrow_operator_custom] = ACTIONS(3147),
    [sym__dot_custom] = ACTIONS(3147),
    [sym__conjunction_operator_custom] = ACTIONS(3147),
    [sym__disjunction_operator_custom] = ACTIONS(3147),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3147),
    [sym__eq_custom] = ACTIONS(3147),
    [sym__eq_eq_custom] = ACTIONS(3147),
    [sym__plus_then_ws] = ACTIONS(3147),
    [sym__minus_then_ws] = ACTIONS(3147),
    [sym__bang_custom] = ACTIONS(3147),
    [sym__throws_keyword] = ACTIONS(3147),
    [sym__rethrows_keyword] = ACTIONS(3147),
    [sym_default_keyword] = ACTIONS(3147),
    [sym_where_keyword] = ACTIONS(3147),
    [sym__as_custom] = ACTIONS(3147),
    [sym__as_quest_custom] = ACTIONS(3147),
    [sym__as_bang_custom] = ACTIONS(3147),
    [sym__async_keyword_custom] = ACTIONS(3147),
    [sym__custom_operator] = ACTIONS(3147),
  },
  [1082] = {
    [sym__key_path_postfixes] = STATE(1082),
    [sym_bang] = STATE(1082),
    [aux_sym__key_path_component_repeat1] = STATE(1082),
    [anon_sym_BANG] = ACTIONS(3917),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3164),
    [anon_sym_package] = ACTIONS(3164),
    [anon_sym_COMMA] = ACTIONS(3164),
    [anon_sym_LPAREN] = ACTIONS(3164),
    [anon_sym_LBRACK] = ACTIONS(3920),
    [anon_sym_DOT] = ACTIONS(3169),
    [anon_sym_QMARK] = ACTIONS(3923),
    [anon_sym_QMARK2] = ACTIONS(3164),
    [anon_sym_AMP] = ACTIONS(3164),
    [aux_sym_custom_operator_token1] = ACTIONS(3164),
    [anon_sym_LT] = ACTIONS(3169),
    [anon_sym_GT] = ACTIONS(3169),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_CARET_LBRACE] = ACTIONS(3164),
    [anon_sym_RBRACE] = ACTIONS(3164),
    [anon_sym_self] = ACTIONS(3926),
    [anon_sym_case] = ACTIONS(3164),
    [anon_sym_fallthrough] = ACTIONS(3164),
    [anon_sym_PLUS_EQ] = ACTIONS(3164),
    [anon_sym_DASH_EQ] = ACTIONS(3164),
    [anon_sym_STAR_EQ] = ACTIONS(3164),
    [anon_sym_SLASH_EQ] = ACTIONS(3164),
    [anon_sym_PERCENT_EQ] = ACTIONS(3164),
    [anon_sym_BANG_EQ] = ACTIONS(3169),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3164),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3164),
    [anon_sym_LT_EQ] = ACTIONS(3164),
    [anon_sym_GT_EQ] = ACTIONS(3164),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3164),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3164),
    [anon_sym_is] = ACTIONS(3164),
    [anon_sym_PLUS] = ACTIONS(3169),
    [anon_sym_DASH] = ACTIONS(3169),
    [anon_sym_STAR] = ACTIONS(3169),
    [anon_sym_SLASH] = ACTIONS(3169),
    [anon_sym_PERCENT] = ACTIONS(3169),
    [anon_sym_PLUS_PLUS] = ACTIONS(3164),
    [anon_sym_DASH_DASH] = ACTIONS(3164),
    [anon_sym_PIPE] = ACTIONS(3164),
    [anon_sym_CARET] = ACTIONS(3169),
    [anon_sym_LT_LT] = ACTIONS(3164),
    [anon_sym_GT_GT] = ACTIONS(3164),
    [anon_sym_class] = ACTIONS(3164),
    [anon_sym_prefix] = ACTIONS(3164),
    [anon_sym_infix] = ACTIONS(3164),
    [anon_sym_postfix] = ACTIONS(3164),
    [anon_sym_AT] = ACTIONS(3169),
    [anon_sym_override] = ACTIONS(3164),
    [anon_sym_convenience] = ACTIONS(3164),
    [anon_sym_required] = ACTIONS(3164),
    [anon_sym_nonisolated] = ACTIONS(3164),
    [anon_sym_public] = ACTIONS(3164),
    [anon_sym_private] = ACTIONS(3164),
    [anon_sym_internal] = ACTIONS(3164),
    [anon_sym_fileprivate] = ACTIONS(3164),
    [anon_sym_open] = ACTIONS(3164),
    [anon_sym_mutating] = ACTIONS(3164),
    [anon_sym_nonmutating] = ACTIONS(3164),
    [anon_sym_static] = ACTIONS(3164),
    [anon_sym_dynamic] = ACTIONS(3164),
    [anon_sym_optional] = ACTIONS(3164),
    [anon_sym_distributed] = ACTIONS(3164),
    [anon_sym_final] = ACTIONS(3164),
    [anon_sym_inout] = ACTIONS(3164),
    [anon_sym_ATescaping] = ACTIONS(3164),
    [anon_sym_ATautoclosure] = ACTIONS(3164),
    [anon_sym_weak] = ACTIONS(3164),
    [anon_sym_unowned] = ACTIONS(3169),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3164),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3164),
    [anon_sym_borrowing] = ACTIONS(3164),
    [anon_sym_consuming] = ACTIONS(3164),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3164),
    [sym__explicit_semi] = ACTIONS(3164),
    [sym__dot_custom] = ACTIONS(3164),
    [sym__conjunction_operator_custom] = ACTIONS(3164),
    [sym__disjunction_operator_custom] = ACTIONS(3164),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3164),
    [sym__eq_custom] = ACTIONS(3164),
    [sym__eq_eq_custom] = ACTIONS(3164),
    [sym__plus_then_ws] = ACTIONS(3164),
    [sym__minus_then_ws] = ACTIONS(3164),
    [sym__bang_custom] = ACTIONS(3929),
    [sym_default_keyword] = ACTIONS(3164),
    [sym_where_keyword] = ACTIONS(3164),
    [sym__as_custom] = ACTIONS(3164),
    [sym__as_quest_custom] = ACTIONS(3164),
    [sym__as_bang_custom] = ACTIONS(3164),
    [sym__custom_operator] = ACTIONS(3164),
  },
  [1083] = {
    [sym__key_path_postfixes] = STATE(1085),
    [sym_bang] = STATE(1085),
    [aux_sym__key_path_component_repeat1] = STATE(1085),
    [anon_sym_BANG] = ACTIONS(3099),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3101),
    [anon_sym_package] = ACTIONS(3101),
    [anon_sym_COMMA] = ACTIONS(3101),
    [anon_sym_LPAREN] = ACTIONS(3101),
    [anon_sym_LBRACK] = ACTIONS(3101),
    [anon_sym_DOT] = ACTIONS(3099),
    [anon_sym_QMARK] = ACTIONS(3099),
    [anon_sym_QMARK2] = ACTIONS(3101),
    [anon_sym_AMP] = ACTIONS(3101),
    [aux_sym_custom_operator_token1] = ACTIONS(3101),
    [anon_sym_LT] = ACTIONS(3099),
    [anon_sym_GT] = ACTIONS(3099),
    [anon_sym_LBRACE] = ACTIONS(3101),
    [anon_sym_CARET_LBRACE] = ACTIONS(3101),
    [anon_sym_RBRACE] = ACTIONS(3101),
    [anon_sym_self] = ACTIONS(3932),
    [anon_sym_case] = ACTIONS(3101),
    [anon_sym_fallthrough] = ACTIONS(3101),
    [anon_sym_PLUS_EQ] = ACTIONS(3101),
    [anon_sym_DASH_EQ] = ACTIONS(3101),
    [anon_sym_STAR_EQ] = ACTIONS(3101),
    [anon_sym_SLASH_EQ] = ACTIONS(3101),
    [anon_sym_PERCENT_EQ] = ACTIONS(3101),
    [anon_sym_BANG_EQ] = ACTIONS(3099),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3101),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3101),
    [anon_sym_LT_EQ] = ACTIONS(3101),
    [anon_sym_GT_EQ] = ACTIONS(3101),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3101),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3101),
    [anon_sym_is] = ACTIONS(3101),
    [anon_sym_PLUS] = ACTIONS(3099),
    [anon_sym_DASH] = ACTIONS(3099),
    [anon_sym_STAR] = ACTIONS(3099),
    [anon_sym_SLASH] = ACTIONS(3099),
    [anon_sym_PERCENT] = ACTIONS(3099),
    [anon_sym_PLUS_PLUS] = ACTIONS(3101),
    [anon_sym_DASH_DASH] = ACTIONS(3101),
    [anon_sym_PIPE] = ACTIONS(3101),
    [anon_sym_CARET] = ACTIONS(3099),
    [anon_sym_LT_LT] = ACTIONS(3101),
    [anon_sym_GT_GT] = ACTIONS(3101),
    [anon_sym_class] = ACTIONS(3101),
    [anon_sym_prefix] = ACTIONS(3101),
    [anon_sym_infix] = ACTIONS(3101),
    [anon_sym_postfix] = ACTIONS(3101),
    [anon_sym_AT] = ACTIONS(3099),
    [anon_sym_override] = ACTIONS(3101),
    [anon_sym_convenience] = ACTIONS(3101),
    [anon_sym_required] = ACTIONS(3101),
    [anon_sym_nonisolated] = ACTIONS(3101),
    [anon_sym_public] = ACTIONS(3101),
    [anon_sym_private] = ACTIONS(3101),
    [anon_sym_internal] = ACTIONS(3101),
    [anon_sym_fileprivate] = ACTIONS(3101),
    [anon_sym_open] = ACTIONS(3101),
    [anon_sym_mutating] = ACTIONS(3101),
    [anon_sym_nonmutating] = ACTIONS(3101),
    [anon_sym_static] = ACTIONS(3101),
    [anon_sym_dynamic] = ACTIONS(3101),
    [anon_sym_optional] = ACTIONS(3101),
    [anon_sym_distributed] = ACTIONS(3101),
    [anon_sym_final] = ACTIONS(3101),
    [anon_sym_inout] = ACTIONS(3101),
    [anon_sym_ATescaping] = ACTIONS(3101),
    [anon_sym_ATautoclosure] = ACTIONS(3101),
    [anon_sym_weak] = ACTIONS(3101),
    [anon_sym_unowned] = ACTIONS(3099),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3101),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3101),
    [anon_sym_borrowing] = ACTIONS(3101),
    [anon_sym_consuming] = ACTIONS(3101),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3101),
    [sym__explicit_semi] = ACTIONS(3101),
    [sym__dot_custom] = ACTIONS(3101),
    [sym__conjunction_operator_custom] = ACTIONS(3101),
    [sym__disjunction_operator_custom] = ACTIONS(3101),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3101),
    [sym__eq_custom] = ACTIONS(3101),
    [sym__eq_eq_custom] = ACTIONS(3101),
    [sym__plus_then_ws] = ACTIONS(3101),
    [sym__minus_then_ws] = ACTIONS(3101),
    [sym__bang_custom] = ACTIONS(3101),
    [sym_default_keyword] = ACTIONS(3101),
    [sym_where_keyword] = ACTIONS(3101),
    [sym__as_custom] = ACTIONS(3101),
    [sym__as_quest_custom] = ACTIONS(3101),
    [sym__as_bang_custom] = ACTIONS(3101),
    [sym__custom_operator] = ACTIONS(3101),
  },
  [1084] = {
    [sym__key_path_postfixes] = STATE(1082),
    [sym_bang] = STATE(1082),
    [aux_sym__key_path_component_repeat1] = STATE(1082),
    [anon_sym_BANG] = ACTIONS(3099),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3101),
    [anon_sym_package] = ACTIONS(3101),
    [anon_sym_COMMA] = ACTIONS(3101),
    [anon_sym_LPAREN] = ACTIONS(3101),
    [anon_sym_LBRACK] = ACTIONS(3101),
    [anon_sym_DOT] = ACTIONS(3099),
    [anon_sym_QMARK] = ACTIONS(3099),
    [anon_sym_QMARK2] = ACTIONS(3101),
    [anon_sym_AMP] = ACTIONS(3101),
    [aux_sym_custom_operator_token1] = ACTIONS(3101),
    [anon_sym_LT] = ACTIONS(3099),
    [anon_sym_GT] = ACTIONS(3099),
    [anon_sym_LBRACE] = ACTIONS(3101),
    [anon_sym_CARET_LBRACE] = ACTIONS(3101),
    [anon_sym_RBRACE] = ACTIONS(3101),
    [anon_sym_self] = ACTIONS(3934),
    [anon_sym_case] = ACTIONS(3101),
    [anon_sym_fallthrough] = ACTIONS(3101),
    [anon_sym_PLUS_EQ] = ACTIONS(3101),
    [anon_sym_DASH_EQ] = ACTIONS(3101),
    [anon_sym_STAR_EQ] = ACTIONS(3101),
    [anon_sym_SLASH_EQ] = ACTIONS(3101),
    [anon_sym_PERCENT_EQ] = ACTIONS(3101),
    [anon_sym_BANG_EQ] = ACTIONS(3099),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3101),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3101),
    [anon_sym_LT_EQ] = ACTIONS(3101),
    [anon_sym_GT_EQ] = ACTIONS(3101),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3101),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3101),
    [anon_sym_is] = ACTIONS(3101),
    [anon_sym_PLUS] = ACTIONS(3099),
    [anon_sym_DASH] = ACTIONS(3099),
    [anon_sym_STAR] = ACTIONS(3099),
    [anon_sym_SLASH] = ACTIONS(3099),
    [anon_sym_PERCENT] = ACTIONS(3099),
    [anon_sym_PLUS_PLUS] = ACTIONS(3101),
    [anon_sym_DASH_DASH] = ACTIONS(3101),
    [anon_sym_PIPE] = ACTIONS(3101),
    [anon_sym_CARET] = ACTIONS(3099),
    [anon_sym_LT_LT] = ACTIONS(3101),
    [anon_sym_GT_GT] = ACTIONS(3101),
    [anon_sym_class] = ACTIONS(3101),
    [anon_sym_prefix] = ACTIONS(3101),
    [anon_sym_infix] = ACTIONS(3101),
    [anon_sym_postfix] = ACTIONS(3101),
    [anon_sym_AT] = ACTIONS(3099),
    [anon_sym_override] = ACTIONS(3101),
    [anon_sym_convenience] = ACTIONS(3101),
    [anon_sym_required] = ACTIONS(3101),
    [anon_sym_nonisolated] = ACTIONS(3101),
    [anon_sym_public] = ACTIONS(3101),
    [anon_sym_private] = ACTIONS(3101),
    [anon_sym_internal] = ACTIONS(3101),
    [anon_sym_fileprivate] = ACTIONS(3101),
    [anon_sym_open] = ACTIONS(3101),
    [anon_sym_mutating] = ACTIONS(3101),
    [anon_sym_nonmutating] = ACTIONS(3101),
    [anon_sym_static] = ACTIONS(3101),
    [anon_sym_dynamic] = ACTIONS(3101),
    [anon_sym_optional] = ACTIONS(3101),
    [anon_sym_distributed] = ACTIONS(3101),
    [anon_sym_final] = ACTIONS(3101),
    [anon_sym_inout] = ACTIONS(3101),
    [anon_sym_ATescaping] = ACTIONS(3101),
    [anon_sym_ATautoclosure] = ACTIONS(3101),
    [anon_sym_weak] = ACTIONS(3101),
    [anon_sym_unowned] = ACTIONS(3099),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3101),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3101),
    [anon_sym_borrowing] = ACTIONS(3101),
    [anon_sym_consuming] = ACTIONS(3101),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3101),
    [sym__explicit_semi] = ACTIONS(3101),
    [sym__dot_custom] = ACTIONS(3101),
    [sym__conjunction_operator_custom] = ACTIONS(3101),
    [sym__disjunction_operator_custom] = ACTIONS(3101),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3101),
    [sym__eq_custom] = ACTIONS(3101),
    [sym__eq_eq_custom] = ACTIONS(3101),
    [sym__plus_then_ws] = ACTIONS(3101),
    [sym__minus_then_ws] = ACTIONS(3101),
    [sym__bang_custom] = ACTIONS(3101),
    [sym_default_keyword] = ACTIONS(3101),
    [sym_where_keyword] = ACTIONS(3101),
    [sym__as_custom] = ACTIONS(3101),
    [sym__as_quest_custom] = ACTIONS(3101),
    [sym__as_bang_custom] = ACTIONS(3101),
    [sym__custom_operator] = ACTIONS(3101),
  },
  [1085] = {
    [sym__key_path_postfixes] = STATE(1082),
    [sym_bang] = STATE(1082),
    [aux_sym__key_path_component_repeat1] = STATE(1082),
    [anon_sym_BANG] = ACTIONS(3153),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3155),
    [anon_sym_package] = ACTIONS(3155),
    [anon_sym_COMMA] = ACTIONS(3155),
    [anon_sym_LPAREN] = ACTIONS(3155),
    [anon_sym_LBRACK] = ACTIONS(3155),
    [anon_sym_DOT] = ACTIONS(3153),
    [anon_sym_QMARK] = ACTIONS(3153),
    [anon_sym_QMARK2] = ACTIONS(3155),
    [anon_sym_AMP] = ACTIONS(3155),
    [aux_sym_custom_operator_token1] = ACTIONS(3155),
    [anon_sym_LT] = ACTIONS(3153),
    [anon_sym_GT] = ACTIONS(3153),
    [anon_sym_LBRACE] = ACTIONS(3155),
    [anon_sym_CARET_LBRACE] = ACTIONS(3155),
    [anon_sym_RBRACE] = ACTIONS(3155),
    [anon_sym_self] = ACTIONS(3934),
    [anon_sym_case] = ACTIONS(3155),
    [anon_sym_fallthrough] = ACTIONS(3155),
    [anon_sym_PLUS_EQ] = ACTIONS(3155),
    [anon_sym_DASH_EQ] = ACTIONS(3155),
    [anon_sym_STAR_EQ] = ACTIONS(3155),
    [anon_sym_SLASH_EQ] = ACTIONS(3155),
    [anon_sym_PERCENT_EQ] = ACTIONS(3155),
    [anon_sym_BANG_EQ] = ACTIONS(3153),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3155),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3155),
    [anon_sym_LT_EQ] = ACTIONS(3155),
    [anon_sym_GT_EQ] = ACTIONS(3155),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3155),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3155),
    [anon_sym_is] = ACTIONS(3155),
    [anon_sym_PLUS] = ACTIONS(3153),
    [anon_sym_DASH] = ACTIONS(3153),
    [anon_sym_STAR] = ACTIONS(3153),
    [anon_sym_SLASH] = ACTIONS(3153),
    [anon_sym_PERCENT] = ACTIONS(3153),
    [anon_sym_PLUS_PLUS] = ACTIONS(3155),
    [anon_sym_DASH_DASH] = ACTIONS(3155),
    [anon_sym_PIPE] = ACTIONS(3155),
    [anon_sym_CARET] = ACTIONS(3153),
    [anon_sym_LT_LT] = ACTIONS(3155),
    [anon_sym_GT_GT] = ACTIONS(3155),
    [anon_sym_class] = ACTIONS(3155),
    [anon_sym_prefix] = ACTIONS(3155),
    [anon_sym_infix] = ACTIONS(3155),
    [anon_sym_postfix] = ACTIONS(3155),
    [anon_sym_AT] = ACTIONS(3153),
    [anon_sym_override] = ACTIONS(3155),
    [anon_sym_convenience] = ACTIONS(3155),
    [anon_sym_required] = ACTIONS(3155),
    [anon_sym_nonisolated] = ACTIONS(3155),
    [anon_sym_public] = ACTIONS(3155),
    [anon_sym_private] = ACTIONS(3155),
    [anon_sym_internal] = ACTIONS(3155),
    [anon_sym_fileprivate] = ACTIONS(3155),
    [anon_sym_open] = ACTIONS(3155),
    [anon_sym_mutating] = ACTIONS(3155),
    [anon_sym_nonmutating] = ACTIONS(3155),
    [anon_sym_static] = ACTIONS(3155),
    [anon_sym_dynamic] = ACTIONS(3155),
    [anon_sym_optional] = ACTIONS(3155),
    [anon_sym_distributed] = ACTIONS(3155),
    [anon_sym_final] = ACTIONS(3155),
    [anon_sym_inout] = ACTIONS(3155),
    [anon_sym_ATescaping] = ACTIONS(3155),
    [anon_sym_ATautoclosure] = ACTIONS(3155),
    [anon_sym_weak] = ACTIONS(3155),
    [anon_sym_unowned] = ACTIONS(3153),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3155),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3155),
    [anon_sym_borrowing] = ACTIONS(3155),
    [anon_sym_consuming] = ACTIONS(3155),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3155),
    [sym__explicit_semi] = ACTIONS(3155),
    [sym__dot_custom] = ACTIONS(3155),
    [sym__conjunction_operator_custom] = ACTIONS(3155),
    [sym__disjunction_operator_custom] = ACTIONS(3155),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3155),
    [sym__eq_custom] = ACTIONS(3155),
    [sym__eq_eq_custom] = ACTIONS(3155),
    [sym__plus_then_ws] = ACTIONS(3155),
    [sym__minus_then_ws] = ACTIONS(3155),
    [sym__bang_custom] = ACTIONS(3155),
    [sym_default_keyword] = ACTIONS(3155),
    [sym_where_keyword] = ACTIONS(3155),
    [sym__as_custom] = ACTIONS(3155),
    [sym__as_quest_custom] = ACTIONS(3155),
    [sym__as_bang_custom] = ACTIONS(3155),
    [sym__custom_operator] = ACTIONS(3155),
  },
  [1086] = {
    [sym_simple_identifier] = STATE(2001),
    [sym__contextual_simple_identifier] = STATE(2064),
    [sym__unannotated_type] = STATE(1904),
    [sym_user_type] = STATE(1956),
    [sym__simple_user_type] = STATE(1953),
    [sym_tuple_type] = STATE(1824),
    [sym_function_type] = STATE(1904),
    [sym_array_type] = STATE(1956),
    [sym_dictionary_type] = STATE(1956),
    [sym_optional_type] = STATE(1904),
    [sym_metatype] = STATE(1904),
    [sym_opaque_type] = STATE(1904),
    [sym_existential_type] = STATE(1904),
    [sym_type_parameter_pack] = STATE(1904),
    [sym_type_pack_expansion] = STATE(1904),
    [sym_protocol_composition_type] = STATE(1904),
    [sym_suppressed_constraint] = STATE(1904),
    [sym__parenthesized_type] = STATE(2037),
    [sym__parameter_ownership_modifier] = STATE(2064),
    [ts_builtin_sym_end] = ACTIONS(617),
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3867),
    [aux_sym_simple_identifier_token2] = ACTIONS(3869),
    [aux_sym_simple_identifier_token3] = ACTIONS(3869),
    [aux_sym_simple_identifier_token4] = ACTIONS(3869),
    [anon_sym_actor] = ACTIONS(3867),
    [anon_sym_async] = ACTIONS(3867),
    [anon_sym_each] = ACTIONS(3871),
    [anon_sym_lazy] = ACTIONS(3867),
    [anon_sym_repeat] = ACTIONS(3873),
    [anon_sym_package] = ACTIONS(3867),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(3875),
    [anon_sym_LBRACK] = ACTIONS(3878),
    [anon_sym_DOT] = ACTIONS(623),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(3881),
    [anon_sym_any] = ACTIONS(3883),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(3885),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(3867),
    [anon_sym_consuming] = ACTIONS(3867),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym_where_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [1087] = {
    [anon_sym_BANG] = ACTIONS(3095),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3097),
    [anon_sym_package] = ACTIONS(3097),
    [anon_sym_COMMA] = ACTIONS(3097),
    [anon_sym_LPAREN] = ACTIONS(3097),
    [anon_sym_LBRACK] = ACTIONS(3097),
    [anon_sym_DOT] = ACTIONS(3095),
    [anon_sym_QMARK] = ACTIONS(3095),
    [anon_sym_QMARK2] = ACTIONS(3097),
    [anon_sym_AMP] = ACTIONS(3097),
    [aux_sym_custom_operator_token1] = ACTIONS(3097),
    [anon_sym_LT] = ACTIONS(3095),
    [anon_sym_GT] = ACTIONS(3095),
    [anon_sym_LBRACE] = ACTIONS(3097),
    [anon_sym_CARET_LBRACE] = ACTIONS(3097),
    [anon_sym_RBRACE] = ACTIONS(3097),
    [anon_sym_case] = ACTIONS(3097),
    [anon_sym_fallthrough] = ACTIONS(3097),
    [anon_sym_PLUS_EQ] = ACTIONS(3097),
    [anon_sym_DASH_EQ] = ACTIONS(3097),
    [anon_sym_STAR_EQ] = ACTIONS(3097),
    [anon_sym_SLASH_EQ] = ACTIONS(3097),
    [anon_sym_PERCENT_EQ] = ACTIONS(3097),
    [anon_sym_BANG_EQ] = ACTIONS(3095),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3097),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3097),
    [anon_sym_LT_EQ] = ACTIONS(3097),
    [anon_sym_GT_EQ] = ACTIONS(3097),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3097),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3097),
    [anon_sym_is] = ACTIONS(3097),
    [anon_sym_PLUS] = ACTIONS(3095),
    [anon_sym_DASH] = ACTIONS(3095),
    [anon_sym_STAR] = ACTIONS(3095),
    [anon_sym_SLASH] = ACTIONS(3095),
    [anon_sym_PERCENT] = ACTIONS(3095),
    [anon_sym_PLUS_PLUS] = ACTIONS(3097),
    [anon_sym_DASH_DASH] = ACTIONS(3097),
    [anon_sym_PIPE] = ACTIONS(3097),
    [anon_sym_CARET] = ACTIONS(3095),
    [anon_sym_LT_LT] = ACTIONS(3097),
    [anon_sym_GT_GT] = ACTIONS(3097),
    [anon_sym_class] = ACTIONS(3097),
    [anon_sym_prefix] = ACTIONS(3097),
    [anon_sym_infix] = ACTIONS(3097),
    [anon_sym_postfix] = ACTIONS(3097),
    [anon_sym_AT] = ACTIONS(3095),
    [anon_sym_override] = ACTIONS(3097),
    [anon_sym_convenience] = ACTIONS(3097),
    [anon_sym_required] = ACTIONS(3097),
    [anon_sym_nonisolated] = ACTIONS(3097),
    [anon_sym_public] = ACTIONS(3097),
    [anon_sym_private] = ACTIONS(3097),
    [anon_sym_internal] = ACTIONS(3097),
    [anon_sym_fileprivate] = ACTIONS(3097),
    [anon_sym_open] = ACTIONS(3097),
    [anon_sym_mutating] = ACTIONS(3097),
    [anon_sym_nonmutating] = ACTIONS(3097),
    [anon_sym_static] = ACTIONS(3097),
    [anon_sym_dynamic] = ACTIONS(3097),
    [anon_sym_optional] = ACTIONS(3097),
    [anon_sym_distributed] = ACTIONS(3097),
    [anon_sym_final] = ACTIONS(3097),
    [anon_sym_inout] = ACTIONS(3097),
    [anon_sym_ATescaping] = ACTIONS(3097),
    [anon_sym_ATautoclosure] = ACTIONS(3097),
    [anon_sym_weak] = ACTIONS(3097),
    [anon_sym_unowned] = ACTIONS(3095),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3097),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3097),
    [anon_sym_borrowing] = ACTIONS(3097),
    [anon_sym_consuming] = ACTIONS(3097),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3097),
    [sym__explicit_semi] = ACTIONS(3097),
    [sym__arrow_operator_custom] = ACTIONS(3097),
    [sym__dot_custom] = ACTIONS(3097),
    [sym__conjunction_operator_custom] = ACTIONS(3097),
    [sym__disjunction_operator_custom] = ACTIONS(3097),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3097),
    [sym__eq_custom] = ACTIONS(3097),
    [sym__eq_eq_custom] = ACTIONS(3097),
    [sym__plus_then_ws] = ACTIONS(3097),
    [sym__minus_then_ws] = ACTIONS(3097),
    [sym__bang_custom] = ACTIONS(3097),
    [sym__throws_keyword] = ACTIONS(3097),
    [sym__rethrows_keyword] = ACTIONS(3097),
    [sym_default_keyword] = ACTIONS(3097),
    [sym_where_keyword] = ACTIONS(3097),
    [sym__as_custom] = ACTIONS(3097),
    [sym__as_quest_custom] = ACTIONS(3097),
    [sym__as_bang_custom] = ACTIONS(3097),
    [sym__async_keyword_custom] = ACTIONS(3097),
    [sym__custom_operator] = ACTIONS(3097),
  },
  [1088] = {
    [anon_sym_BANG] = ACTIONS(3137),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3139),
    [anon_sym_package] = ACTIONS(3139),
    [anon_sym_COMMA] = ACTIONS(3139),
    [anon_sym_LPAREN] = ACTIONS(3139),
    [anon_sym_LBRACK] = ACTIONS(3139),
    [anon_sym_DOT] = ACTIONS(3137),
    [anon_sym_QMARK] = ACTIONS(3137),
    [anon_sym_QMARK2] = ACTIONS(3139),
    [anon_sym_AMP] = ACTIONS(3139),
    [aux_sym_custom_operator_token1] = ACTIONS(3139),
    [anon_sym_LT] = ACTIONS(3137),
    [anon_sym_GT] = ACTIONS(3137),
    [anon_sym_LBRACE] = ACTIONS(3139),
    [anon_sym_CARET_LBRACE] = ACTIONS(3139),
    [anon_sym_RBRACE] = ACTIONS(3139),
    [anon_sym_case] = ACTIONS(3139),
    [anon_sym_fallthrough] = ACTIONS(3139),
    [anon_sym_PLUS_EQ] = ACTIONS(3139),
    [anon_sym_DASH_EQ] = ACTIONS(3139),
    [anon_sym_STAR_EQ] = ACTIONS(3139),
    [anon_sym_SLASH_EQ] = ACTIONS(3139),
    [anon_sym_PERCENT_EQ] = ACTIONS(3139),
    [anon_sym_BANG_EQ] = ACTIONS(3137),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3139),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3139),
    [anon_sym_LT_EQ] = ACTIONS(3139),
    [anon_sym_GT_EQ] = ACTIONS(3139),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3139),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3139),
    [anon_sym_is] = ACTIONS(3139),
    [anon_sym_PLUS] = ACTIONS(3137),
    [anon_sym_DASH] = ACTIONS(3137),
    [anon_sym_STAR] = ACTIONS(3137),
    [anon_sym_SLASH] = ACTIONS(3137),
    [anon_sym_PERCENT] = ACTIONS(3137),
    [anon_sym_PLUS_PLUS] = ACTIONS(3139),
    [anon_sym_DASH_DASH] = ACTIONS(3139),
    [anon_sym_PIPE] = ACTIONS(3139),
    [anon_sym_CARET] = ACTIONS(3137),
    [anon_sym_LT_LT] = ACTIONS(3139),
    [anon_sym_GT_GT] = ACTIONS(3139),
    [anon_sym_class] = ACTIONS(3139),
    [anon_sym_prefix] = ACTIONS(3139),
    [anon_sym_infix] = ACTIONS(3139),
    [anon_sym_postfix] = ACTIONS(3139),
    [anon_sym_AT] = ACTIONS(3137),
    [anon_sym_override] = ACTIONS(3139),
    [anon_sym_convenience] = ACTIONS(3139),
    [anon_sym_required] = ACTIONS(3139),
    [anon_sym_nonisolated] = ACTIONS(3139),
    [anon_sym_public] = ACTIONS(3139),
    [anon_sym_private] = ACTIONS(3139),
    [anon_sym_internal] = ACTIONS(3139),
    [anon_sym_fileprivate] = ACTIONS(3139),
    [anon_sym_open] = ACTIONS(3139),
    [anon_sym_mutating] = ACTIONS(3139),
    [anon_sym_nonmutating] = ACTIONS(3139),
    [anon_sym_static] = ACTIONS(3139),
    [anon_sym_dynamic] = ACTIONS(3139),
    [anon_sym_optional] = ACTIONS(3139),
    [anon_sym_distributed] = ACTIONS(3139),
    [anon_sym_final] = ACTIONS(3139),
    [anon_sym_inout] = ACTIONS(3139),
    [anon_sym_ATescaping] = ACTIONS(3139),
    [anon_sym_ATautoclosure] = ACTIONS(3139),
    [anon_sym_weak] = ACTIONS(3139),
    [anon_sym_unowned] = ACTIONS(3137),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3139),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3139),
    [anon_sym_borrowing] = ACTIONS(3139),
    [anon_sym_consuming] = ACTIONS(3139),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3139),
    [sym__explicit_semi] = ACTIONS(3139),
    [sym__arrow_operator_custom] = ACTIONS(3139),
    [sym__dot_custom] = ACTIONS(3139),
    [sym__conjunction_operator_custom] = ACTIONS(3139),
    [sym__disjunction_operator_custom] = ACTIONS(3139),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3139),
    [sym__eq_custom] = ACTIONS(3139),
    [sym__eq_eq_custom] = ACTIONS(3139),
    [sym__plus_then_ws] = ACTIONS(3139),
    [sym__minus_then_ws] = ACTIONS(3139),
    [sym__bang_custom] = ACTIONS(3139),
    [sym__throws_keyword] = ACTIONS(3139),
    [sym__rethrows_keyword] = ACTIONS(3139),
    [sym_default_keyword] = ACTIONS(3139),
    [sym__as_custom] = ACTIONS(3139),
    [sym__as_quest_custom] = ACTIONS(3139),
    [sym__as_bang_custom] = ACTIONS(3139),
    [sym__async_keyword_custom] = ACTIONS(3139),
    [sym__custom_operator] = ACTIONS(3139),
  },
  [1089] = {
    [ts_builtin_sym_end] = ACTIONS(2697),
    [anon_sym_BANG] = ACTIONS(2665),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2665),
    [aux_sym_simple_identifier_token2] = ACTIONS(2667),
    [aux_sym_simple_identifier_token3] = ACTIONS(2667),
    [aux_sym_simple_identifier_token4] = ACTIONS(2667),
    [anon_sym_actor] = ACTIONS(2665),
    [anon_sym_async] = ACTIONS(2665),
    [anon_sym_each] = ACTIONS(2665),
    [anon_sym_lazy] = ACTIONS(2665),
    [anon_sym_repeat] = ACTIONS(2665),
    [anon_sym_package] = ACTIONS(2665),
    [anon_sym_nil] = ACTIONS(2665),
    [sym_real_literal] = ACTIONS(2667),
    [sym_integer_literal] = ACTIONS(2665),
    [sym_hex_literal] = ACTIONS(2665),
    [sym_oct_literal] = ACTIONS(2667),
    [sym_bin_literal] = ACTIONS(2667),
    [anon_sym_true] = ACTIONS(2665),
    [anon_sym_false] = ACTIONS(2665),
    [anon_sym_DQUOTE] = ACTIONS(2665),
    [anon_sym_BSLASH] = ACTIONS(2667),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2667),
    [anon_sym_COMMA] = ACTIONS(2697),
    [sym__oneline_regex_literal] = ACTIONS(2665),
    [anon_sym_LPAREN] = ACTIONS(2667),
    [anon_sym_LBRACK] = ACTIONS(2667),
    [anon_sym_QMARK] = ACTIONS(2699),
    [anon_sym_QMARK2] = ACTIONS(2697),
    [anon_sym_AMP] = ACTIONS(2667),
    [anon_sym_TILDE] = ACTIONS(2667),
    [anon_sym_if] = ACTIONS(2665),
    [anon_sym_switch] = ACTIONS(2665),
    [aux_sym_custom_operator_token1] = ACTIONS(2667),
    [anon_sym_LT] = ACTIONS(2665),
    [anon_sym_GT] = ACTIONS(2665),
    [anon_sym_await] = ACTIONS(2665),
    [anon_sym_LBRACE] = ACTIONS(2667),
    [anon_sym_CARET_LBRACE] = ACTIONS(2667),
    [anon_sym_RBRACE] = ACTIONS(2697),
    [anon_sym_self] = ACTIONS(2665),
    [anon_sym_super] = ACTIONS(2665),
    [anon_sym_try] = ACTIONS(2665),
    [anon_sym_PLUS_EQ] = ACTIONS(2667),
    [anon_sym_DASH_EQ] = ACTIONS(2667),
    [anon_sym_STAR_EQ] = ACTIONS(2667),
    [anon_sym_SLASH_EQ] = ACTIONS(2667),
    [anon_sym_PERCENT_EQ] = ACTIONS(2667),
    [anon_sym_BANG_EQ] = ACTIONS(2665),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2667),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2667),
    [anon_sym_LT_EQ] = ACTIONS(2667),
    [anon_sym_GT_EQ] = ACTIONS(2667),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2667),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2667),
    [anon_sym_is] = ACTIONS(2699),
    [anon_sym_PLUS] = ACTIONS(2665),
    [anon_sym_DASH] = ACTIONS(2665),
    [anon_sym_STAR] = ACTIONS(2665),
    [anon_sym_SLASH] = ACTIONS(2665),
    [anon_sym_PERCENT] = ACTIONS(2665),
    [anon_sym_PLUS_PLUS] = ACTIONS(2667),
    [anon_sym_DASH_DASH] = ACTIONS(2667),
    [anon_sym_PIPE] = ACTIONS(2667),
    [anon_sym_CARET] = ACTIONS(2665),
    [anon_sym_LT_LT] = ACTIONS(2667),
    [anon_sym_GT_GT] = ACTIONS(2667),
    [anon_sym_borrowing] = ACTIONS(2665),
    [anon_sym_consuming] = ACTIONS(2665),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2667),
    [sym_raw_str_end_part] = ACTIONS(2667),
    [sym__implicit_semi] = ACTIONS(2697),
    [sym__explicit_semi] = ACTIONS(2697),
    [sym__dot_custom] = ACTIONS(2667),
    [sym__conjunction_operator_custom] = ACTIONS(2697),
    [sym__disjunction_operator_custom] = ACTIONS(2697),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2697),
    [sym__eq_custom] = ACTIONS(2667),
    [sym__eq_eq_custom] = ACTIONS(2667),
    [sym__plus_then_ws] = ACTIONS(2667),
    [sym__minus_then_ws] = ACTIONS(2667),
    [sym__bang_custom] = ACTIONS(2667),
    [sym_where_keyword] = ACTIONS(2697),
    [sym__as_custom] = ACTIONS(2697),
    [sym__as_quest_custom] = ACTIONS(2697),
    [sym__as_bang_custom] = ACTIONS(2697),
    [sym__custom_operator] = ACTIONS(2667),
    [sym__hash_symbol_custom] = ACTIONS(2667),
    [sym__directive_if] = ACTIONS(2667),
    [sym__directive_elseif] = ACTIONS(2667),
    [sym__directive_else] = ACTIONS(2667),
    [sym__directive_endif] = ACTIONS(2667),
  },
  [1090] = {
    [anon_sym_BANG] = ACTIONS(3121),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3123),
    [anon_sym_package] = ACTIONS(3123),
    [anon_sym_COMMA] = ACTIONS(3123),
    [anon_sym_LPAREN] = ACTIONS(3123),
    [anon_sym_LBRACK] = ACTIONS(3123),
    [anon_sym_DOT] = ACTIONS(3121),
    [anon_sym_QMARK] = ACTIONS(3121),
    [anon_sym_QMARK2] = ACTIONS(3123),
    [anon_sym_AMP] = ACTIONS(3123),
    [aux_sym_custom_operator_token1] = ACTIONS(3123),
    [anon_sym_LT] = ACTIONS(3121),
    [anon_sym_GT] = ACTIONS(3121),
    [anon_sym_LBRACE] = ACTIONS(3123),
    [anon_sym_CARET_LBRACE] = ACTIONS(3123),
    [anon_sym_RBRACE] = ACTIONS(3123),
    [anon_sym_case] = ACTIONS(3123),
    [anon_sym_fallthrough] = ACTIONS(3123),
    [anon_sym_PLUS_EQ] = ACTIONS(3123),
    [anon_sym_DASH_EQ] = ACTIONS(3123),
    [anon_sym_STAR_EQ] = ACTIONS(3123),
    [anon_sym_SLASH_EQ] = ACTIONS(3123),
    [anon_sym_PERCENT_EQ] = ACTIONS(3123),
    [anon_sym_BANG_EQ] = ACTIONS(3121),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3123),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3123),
    [anon_sym_LT_EQ] = ACTIONS(3123),
    [anon_sym_GT_EQ] = ACTIONS(3123),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3123),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3123),
    [anon_sym_is] = ACTIONS(3123),
    [anon_sym_PLUS] = ACTIONS(3121),
    [anon_sym_DASH] = ACTIONS(3121),
    [anon_sym_STAR] = ACTIONS(3121),
    [anon_sym_SLASH] = ACTIONS(3121),
    [anon_sym_PERCENT] = ACTIONS(3121),
    [anon_sym_PLUS_PLUS] = ACTIONS(3123),
    [anon_sym_DASH_DASH] = ACTIONS(3123),
    [anon_sym_PIPE] = ACTIONS(3123),
    [anon_sym_CARET] = ACTIONS(3121),
    [anon_sym_LT_LT] = ACTIONS(3123),
    [anon_sym_GT_GT] = ACTIONS(3123),
    [anon_sym_class] = ACTIONS(3123),
    [anon_sym_prefix] = ACTIONS(3123),
    [anon_sym_infix] = ACTIONS(3123),
    [anon_sym_postfix] = ACTIONS(3123),
    [anon_sym_AT] = ACTIONS(3121),
    [anon_sym_override] = ACTIONS(3123),
    [anon_sym_convenience] = ACTIONS(3123),
    [anon_sym_required] = ACTIONS(3123),
    [anon_sym_nonisolated] = ACTIONS(3123),
    [anon_sym_public] = ACTIONS(3123),
    [anon_sym_private] = ACTIONS(3123),
    [anon_sym_internal] = ACTIONS(3123),
    [anon_sym_fileprivate] = ACTIONS(3123),
    [anon_sym_open] = ACTIONS(3123),
    [anon_sym_mutating] = ACTIONS(3123),
    [anon_sym_nonmutating] = ACTIONS(3123),
    [anon_sym_static] = ACTIONS(3123),
    [anon_sym_dynamic] = ACTIONS(3123),
    [anon_sym_optional] = ACTIONS(3123),
    [anon_sym_distributed] = ACTIONS(3123),
    [anon_sym_final] = ACTIONS(3123),
    [anon_sym_inout] = ACTIONS(3123),
    [anon_sym_ATescaping] = ACTIONS(3123),
    [anon_sym_ATautoclosure] = ACTIONS(3123),
    [anon_sym_weak] = ACTIONS(3123),
    [anon_sym_unowned] = ACTIONS(3121),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3123),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3123),
    [anon_sym_borrowing] = ACTIONS(3123),
    [anon_sym_consuming] = ACTIONS(3123),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3123),
    [sym__explicit_semi] = ACTIONS(3123),
    [sym__arrow_operator_custom] = ACTIONS(3123),
    [sym__dot_custom] = ACTIONS(3123),
    [sym__conjunction_operator_custom] = ACTIONS(3123),
    [sym__disjunction_operator_custom] = ACTIONS(3123),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3123),
    [sym__eq_custom] = ACTIONS(3123),
    [sym__eq_eq_custom] = ACTIONS(3123),
    [sym__plus_then_ws] = ACTIONS(3123),
    [sym__minus_then_ws] = ACTIONS(3123),
    [sym__bang_custom] = ACTIONS(3123),
    [sym__throws_keyword] = ACTIONS(3123),
    [sym__rethrows_keyword] = ACTIONS(3123),
    [sym_default_keyword] = ACTIONS(3123),
    [sym__as_custom] = ACTIONS(3123),
    [sym__as_quest_custom] = ACTIONS(3123),
    [sym__as_bang_custom] = ACTIONS(3123),
    [sym__async_keyword_custom] = ACTIONS(3123),
    [sym__custom_operator] = ACTIONS(3123),
  },
  [1091] = {
    [anon_sym_BANG] = ACTIONS(3141),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3143),
    [anon_sym_package] = ACTIONS(3143),
    [anon_sym_COMMA] = ACTIONS(3143),
    [anon_sym_LPAREN] = ACTIONS(3143),
    [anon_sym_LBRACK] = ACTIONS(3143),
    [anon_sym_DOT] = ACTIONS(3141),
    [anon_sym_QMARK] = ACTIONS(3141),
    [anon_sym_QMARK2] = ACTIONS(3143),
    [anon_sym_AMP] = ACTIONS(3143),
    [aux_sym_custom_operator_token1] = ACTIONS(3143),
    [anon_sym_LT] = ACTIONS(3141),
    [anon_sym_GT] = ACTIONS(3141),
    [anon_sym_LBRACE] = ACTIONS(3143),
    [anon_sym_CARET_LBRACE] = ACTIONS(3143),
    [anon_sym_RBRACE] = ACTIONS(3143),
    [anon_sym_case] = ACTIONS(3143),
    [anon_sym_fallthrough] = ACTIONS(3143),
    [anon_sym_PLUS_EQ] = ACTIONS(3143),
    [anon_sym_DASH_EQ] = ACTIONS(3143),
    [anon_sym_STAR_EQ] = ACTIONS(3143),
    [anon_sym_SLASH_EQ] = ACTIONS(3143),
    [anon_sym_PERCENT_EQ] = ACTIONS(3143),
    [anon_sym_BANG_EQ] = ACTIONS(3141),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3143),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3143),
    [anon_sym_LT_EQ] = ACTIONS(3143),
    [anon_sym_GT_EQ] = ACTIONS(3143),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3143),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3143),
    [anon_sym_is] = ACTIONS(3143),
    [anon_sym_PLUS] = ACTIONS(3141),
    [anon_sym_DASH] = ACTIONS(3141),
    [anon_sym_STAR] = ACTIONS(3141),
    [anon_sym_SLASH] = ACTIONS(3141),
    [anon_sym_PERCENT] = ACTIONS(3141),
    [anon_sym_PLUS_PLUS] = ACTIONS(3143),
    [anon_sym_DASH_DASH] = ACTIONS(3143),
    [anon_sym_PIPE] = ACTIONS(3143),
    [anon_sym_CARET] = ACTIONS(3141),
    [anon_sym_LT_LT] = ACTIONS(3143),
    [anon_sym_GT_GT] = ACTIONS(3143),
    [anon_sym_class] = ACTIONS(3143),
    [anon_sym_prefix] = ACTIONS(3143),
    [anon_sym_infix] = ACTIONS(3143),
    [anon_sym_postfix] = ACTIONS(3143),
    [anon_sym_AT] = ACTIONS(3141),
    [anon_sym_override] = ACTIONS(3143),
    [anon_sym_convenience] = ACTIONS(3143),
    [anon_sym_required] = ACTIONS(3143),
    [anon_sym_nonisolated] = ACTIONS(3143),
    [anon_sym_public] = ACTIONS(3143),
    [anon_sym_private] = ACTIONS(3143),
    [anon_sym_internal] = ACTIONS(3143),
    [anon_sym_fileprivate] = ACTIONS(3143),
    [anon_sym_open] = ACTIONS(3143),
    [anon_sym_mutating] = ACTIONS(3143),
    [anon_sym_nonmutating] = ACTIONS(3143),
    [anon_sym_static] = ACTIONS(3143),
    [anon_sym_dynamic] = ACTIONS(3143),
    [anon_sym_optional] = ACTIONS(3143),
    [anon_sym_distributed] = ACTIONS(3143),
    [anon_sym_final] = ACTIONS(3143),
    [anon_sym_inout] = ACTIONS(3143),
    [anon_sym_ATescaping] = ACTIONS(3143),
    [anon_sym_ATautoclosure] = ACTIONS(3143),
    [anon_sym_weak] = ACTIONS(3143),
    [anon_sym_unowned] = ACTIONS(3141),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3143),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3143),
    [anon_sym_borrowing] = ACTIONS(3143),
    [anon_sym_consuming] = ACTIONS(3143),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3143),
    [sym__explicit_semi] = ACTIONS(3143),
    [sym__arrow_operator_custom] = ACTIONS(3143),
    [sym__dot_custom] = ACTIONS(3143),
    [sym__conjunction_operator_custom] = ACTIONS(3143),
    [sym__disjunction_operator_custom] = ACTIONS(3143),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3143),
    [sym__eq_custom] = ACTIONS(3143),
    [sym__eq_eq_custom] = ACTIONS(3143),
    [sym__plus_then_ws] = ACTIONS(3143),
    [sym__minus_then_ws] = ACTIONS(3143),
    [sym__bang_custom] = ACTIONS(3143),
    [sym__throws_keyword] = ACTIONS(3143),
    [sym__rethrows_keyword] = ACTIONS(3143),
    [sym_default_keyword] = ACTIONS(3143),
    [sym__as_custom] = ACTIONS(3143),
    [sym__as_quest_custom] = ACTIONS(3143),
    [sym__as_bang_custom] = ACTIONS(3143),
    [sym__async_keyword_custom] = ACTIONS(3143),
    [sym__custom_operator] = ACTIONS(3143),
  },
  [1092] = {
    [anon_sym_BANG] = ACTIONS(3109),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3111),
    [anon_sym_package] = ACTIONS(3111),
    [anon_sym_COMMA] = ACTIONS(3111),
    [anon_sym_LPAREN] = ACTIONS(3111),
    [anon_sym_LBRACK] = ACTIONS(3111),
    [anon_sym_DOT] = ACTIONS(3109),
    [anon_sym_QMARK] = ACTIONS(3109),
    [anon_sym_QMARK2] = ACTIONS(3111),
    [anon_sym_AMP] = ACTIONS(3111),
    [aux_sym_custom_operator_token1] = ACTIONS(3111),
    [anon_sym_LT] = ACTIONS(3109),
    [anon_sym_GT] = ACTIONS(3109),
    [anon_sym_LBRACE] = ACTIONS(3111),
    [anon_sym_CARET_LBRACE] = ACTIONS(3111),
    [anon_sym_RBRACE] = ACTIONS(3111),
    [anon_sym_case] = ACTIONS(3111),
    [anon_sym_fallthrough] = ACTIONS(3111),
    [anon_sym_PLUS_EQ] = ACTIONS(3111),
    [anon_sym_DASH_EQ] = ACTIONS(3111),
    [anon_sym_STAR_EQ] = ACTIONS(3111),
    [anon_sym_SLASH_EQ] = ACTIONS(3111),
    [anon_sym_PERCENT_EQ] = ACTIONS(3111),
    [anon_sym_BANG_EQ] = ACTIONS(3109),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3111),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3111),
    [anon_sym_LT_EQ] = ACTIONS(3111),
    [anon_sym_GT_EQ] = ACTIONS(3111),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3111),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3111),
    [anon_sym_is] = ACTIONS(3111),
    [anon_sym_PLUS] = ACTIONS(3109),
    [anon_sym_DASH] = ACTIONS(3109),
    [anon_sym_STAR] = ACTIONS(3109),
    [anon_sym_SLASH] = ACTIONS(3109),
    [anon_sym_PERCENT] = ACTIONS(3109),
    [anon_sym_PLUS_PLUS] = ACTIONS(3111),
    [anon_sym_DASH_DASH] = ACTIONS(3111),
    [anon_sym_PIPE] = ACTIONS(3111),
    [anon_sym_CARET] = ACTIONS(3109),
    [anon_sym_LT_LT] = ACTIONS(3111),
    [anon_sym_GT_GT] = ACTIONS(3111),
    [anon_sym_class] = ACTIONS(3111),
    [anon_sym_prefix] = ACTIONS(3111),
    [anon_sym_infix] = ACTIONS(3111),
    [anon_sym_postfix] = ACTIONS(3111),
    [anon_sym_AT] = ACTIONS(3109),
    [anon_sym_override] = ACTIONS(3111),
    [anon_sym_convenience] = ACTIONS(3111),
    [anon_sym_required] = ACTIONS(3111),
    [anon_sym_nonisolated] = ACTIONS(3111),
    [anon_sym_public] = ACTIONS(3111),
    [anon_sym_private] = ACTIONS(3111),
    [anon_sym_internal] = ACTIONS(3111),
    [anon_sym_fileprivate] = ACTIONS(3111),
    [anon_sym_open] = ACTIONS(3111),
    [anon_sym_mutating] = ACTIONS(3111),
    [anon_sym_nonmutating] = ACTIONS(3111),
    [anon_sym_static] = ACTIONS(3111),
    [anon_sym_dynamic] = ACTIONS(3111),
    [anon_sym_optional] = ACTIONS(3111),
    [anon_sym_distributed] = ACTIONS(3111),
    [anon_sym_final] = ACTIONS(3111),
    [anon_sym_inout] = ACTIONS(3111),
    [anon_sym_ATescaping] = ACTIONS(3111),
    [anon_sym_ATautoclosure] = ACTIONS(3111),
    [anon_sym_weak] = ACTIONS(3111),
    [anon_sym_unowned] = ACTIONS(3109),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3111),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3111),
    [anon_sym_borrowing] = ACTIONS(3111),
    [anon_sym_consuming] = ACTIONS(3111),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3111),
    [sym__explicit_semi] = ACTIONS(3111),
    [sym__arrow_operator_custom] = ACTIONS(3111),
    [sym__dot_custom] = ACTIONS(3111),
    [sym__conjunction_operator_custom] = ACTIONS(3111),
    [sym__disjunction_operator_custom] = ACTIONS(3111),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3111),
    [sym__eq_custom] = ACTIONS(3111),
    [sym__eq_eq_custom] = ACTIONS(3111),
    [sym__plus_then_ws] = ACTIONS(3111),
    [sym__minus_then_ws] = ACTIONS(3111),
    [sym__bang_custom] = ACTIONS(3111),
    [sym__throws_keyword] = ACTIONS(3111),
    [sym__rethrows_keyword] = ACTIONS(3111),
    [sym_default_keyword] = ACTIONS(3111),
    [sym__as_custom] = ACTIONS(3111),
    [sym__as_quest_custom] = ACTIONS(3111),
    [sym__as_bang_custom] = ACTIONS(3111),
    [sym__async_keyword_custom] = ACTIONS(3111),
    [sym__custom_operator] = ACTIONS(3111),
  },
  [1093] = {
    [anon_sym_BANG] = ACTIONS(3113),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3115),
    [anon_sym_package] = ACTIONS(3115),
    [anon_sym_COMMA] = ACTIONS(3115),
    [anon_sym_LPAREN] = ACTIONS(3115),
    [anon_sym_LBRACK] = ACTIONS(3115),
    [anon_sym_DOT] = ACTIONS(3113),
    [anon_sym_QMARK] = ACTIONS(3113),
    [anon_sym_QMARK2] = ACTIONS(3115),
    [anon_sym_AMP] = ACTIONS(3115),
    [aux_sym_custom_operator_token1] = ACTIONS(3115),
    [anon_sym_LT] = ACTIONS(3113),
    [anon_sym_GT] = ACTIONS(3113),
    [anon_sym_LBRACE] = ACTIONS(3115),
    [anon_sym_CARET_LBRACE] = ACTIONS(3115),
    [anon_sym_RBRACE] = ACTIONS(3115),
    [anon_sym_case] = ACTIONS(3115),
    [anon_sym_fallthrough] = ACTIONS(3115),
    [anon_sym_PLUS_EQ] = ACTIONS(3115),
    [anon_sym_DASH_EQ] = ACTIONS(3115),
    [anon_sym_STAR_EQ] = ACTIONS(3115),
    [anon_sym_SLASH_EQ] = ACTIONS(3115),
    [anon_sym_PERCENT_EQ] = ACTIONS(3115),
    [anon_sym_BANG_EQ] = ACTIONS(3113),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3115),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3115),
    [anon_sym_LT_EQ] = ACTIONS(3115),
    [anon_sym_GT_EQ] = ACTIONS(3115),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3115),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3115),
    [anon_sym_is] = ACTIONS(3115),
    [anon_sym_PLUS] = ACTIONS(3113),
    [anon_sym_DASH] = ACTIONS(3113),
    [anon_sym_STAR] = ACTIONS(3113),
    [anon_sym_SLASH] = ACTIONS(3113),
    [anon_sym_PERCENT] = ACTIONS(3113),
    [anon_sym_PLUS_PLUS] = ACTIONS(3115),
    [anon_sym_DASH_DASH] = ACTIONS(3115),
    [anon_sym_PIPE] = ACTIONS(3115),
    [anon_sym_CARET] = ACTIONS(3113),
    [anon_sym_LT_LT] = ACTIONS(3115),
    [anon_sym_GT_GT] = ACTIONS(3115),
    [anon_sym_class] = ACTIONS(3115),
    [anon_sym_prefix] = ACTIONS(3115),
    [anon_sym_infix] = ACTIONS(3115),
    [anon_sym_postfix] = ACTIONS(3115),
    [anon_sym_AT] = ACTIONS(3113),
    [anon_sym_override] = ACTIONS(3115),
    [anon_sym_convenience] = ACTIONS(3115),
    [anon_sym_required] = ACTIONS(3115),
    [anon_sym_nonisolated] = ACTIONS(3115),
    [anon_sym_public] = ACTIONS(3115),
    [anon_sym_private] = ACTIONS(3115),
    [anon_sym_internal] = ACTIONS(3115),
    [anon_sym_fileprivate] = ACTIONS(3115),
    [anon_sym_open] = ACTIONS(3115),
    [anon_sym_mutating] = ACTIONS(3115),
    [anon_sym_nonmutating] = ACTIONS(3115),
    [anon_sym_static] = ACTIONS(3115),
    [anon_sym_dynamic] = ACTIONS(3115),
    [anon_sym_optional] = ACTIONS(3115),
    [anon_sym_distributed] = ACTIONS(3115),
    [anon_sym_final] = ACTIONS(3115),
    [anon_sym_inout] = ACTIONS(3115),
    [anon_sym_ATescaping] = ACTIONS(3115),
    [anon_sym_ATautoclosure] = ACTIONS(3115),
    [anon_sym_weak] = ACTIONS(3115),
    [anon_sym_unowned] = ACTIONS(3113),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3115),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3115),
    [anon_sym_borrowing] = ACTIONS(3115),
    [anon_sym_consuming] = ACTIONS(3115),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3115),
    [sym__explicit_semi] = ACTIONS(3115),
    [sym__arrow_operator_custom] = ACTIONS(3115),
    [sym__dot_custom] = ACTIONS(3115),
    [sym__conjunction_operator_custom] = ACTIONS(3115),
    [sym__disjunction_operator_custom] = ACTIONS(3115),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3115),
    [sym__eq_custom] = ACTIONS(3115),
    [sym__eq_eq_custom] = ACTIONS(3115),
    [sym__plus_then_ws] = ACTIONS(3115),
    [sym__minus_then_ws] = ACTIONS(3115),
    [sym__bang_custom] = ACTIONS(3115),
    [sym__throws_keyword] = ACTIONS(3115),
    [sym__rethrows_keyword] = ACTIONS(3115),
    [sym_default_keyword] = ACTIONS(3115),
    [sym__as_custom] = ACTIONS(3115),
    [sym__as_quest_custom] = ACTIONS(3115),
    [sym__as_bang_custom] = ACTIONS(3115),
    [sym__async_keyword_custom] = ACTIONS(3115),
    [sym__custom_operator] = ACTIONS(3115),
  },
  [1094] = {
    [anon_sym_BANG] = ACTIONS(3157),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3159),
    [anon_sym_package] = ACTIONS(3159),
    [anon_sym_COMMA] = ACTIONS(3159),
    [anon_sym_LPAREN] = ACTIONS(3159),
    [anon_sym_LBRACK] = ACTIONS(3159),
    [anon_sym_DOT] = ACTIONS(3157),
    [anon_sym_QMARK] = ACTIONS(3157),
    [anon_sym_QMARK2] = ACTIONS(3159),
    [anon_sym_AMP] = ACTIONS(3159),
    [aux_sym_custom_operator_token1] = ACTIONS(3159),
    [anon_sym_LT] = ACTIONS(3157),
    [anon_sym_GT] = ACTIONS(3157),
    [anon_sym_LBRACE] = ACTIONS(3159),
    [anon_sym_CARET_LBRACE] = ACTIONS(3159),
    [anon_sym_RBRACE] = ACTIONS(3159),
    [anon_sym_case] = ACTIONS(3159),
    [anon_sym_fallthrough] = ACTIONS(3159),
    [anon_sym_PLUS_EQ] = ACTIONS(3159),
    [anon_sym_DASH_EQ] = ACTIONS(3159),
    [anon_sym_STAR_EQ] = ACTIONS(3159),
    [anon_sym_SLASH_EQ] = ACTIONS(3159),
    [anon_sym_PERCENT_EQ] = ACTIONS(3159),
    [anon_sym_BANG_EQ] = ACTIONS(3157),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3159),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3159),
    [anon_sym_LT_EQ] = ACTIONS(3159),
    [anon_sym_GT_EQ] = ACTIONS(3159),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3159),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3159),
    [anon_sym_is] = ACTIONS(3159),
    [anon_sym_PLUS] = ACTIONS(3157),
    [anon_sym_DASH] = ACTIONS(3157),
    [anon_sym_STAR] = ACTIONS(3157),
    [anon_sym_SLASH] = ACTIONS(3157),
    [anon_sym_PERCENT] = ACTIONS(3157),
    [anon_sym_PLUS_PLUS] = ACTIONS(3159),
    [anon_sym_DASH_DASH] = ACTIONS(3159),
    [anon_sym_PIPE] = ACTIONS(3159),
    [anon_sym_CARET] = ACTIONS(3157),
    [anon_sym_LT_LT] = ACTIONS(3159),
    [anon_sym_GT_GT] = ACTIONS(3159),
    [anon_sym_class] = ACTIONS(3159),
    [anon_sym_prefix] = ACTIONS(3159),
    [anon_sym_infix] = ACTIONS(3159),
    [anon_sym_postfix] = ACTIONS(3159),
    [anon_sym_AT] = ACTIONS(3157),
    [anon_sym_override] = ACTIONS(3159),
    [anon_sym_convenience] = ACTIONS(3159),
    [anon_sym_required] = ACTIONS(3159),
    [anon_sym_nonisolated] = ACTIONS(3159),
    [anon_sym_public] = ACTIONS(3159),
    [anon_sym_private] = ACTIONS(3159),
    [anon_sym_internal] = ACTIONS(3159),
    [anon_sym_fileprivate] = ACTIONS(3159),
    [anon_sym_open] = ACTIONS(3159),
    [anon_sym_mutating] = ACTIONS(3159),
    [anon_sym_nonmutating] = ACTIONS(3159),
    [anon_sym_static] = ACTIONS(3159),
    [anon_sym_dynamic] = ACTIONS(3159),
    [anon_sym_optional] = ACTIONS(3159),
    [anon_sym_distributed] = ACTIONS(3159),
    [anon_sym_final] = ACTIONS(3159),
    [anon_sym_inout] = ACTIONS(3159),
    [anon_sym_ATescaping] = ACTIONS(3159),
    [anon_sym_ATautoclosure] = ACTIONS(3159),
    [anon_sym_weak] = ACTIONS(3159),
    [anon_sym_unowned] = ACTIONS(3157),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3159),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3159),
    [anon_sym_borrowing] = ACTIONS(3159),
    [anon_sym_consuming] = ACTIONS(3159),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3159),
    [sym__explicit_semi] = ACTIONS(3159),
    [sym__arrow_operator_custom] = ACTIONS(3159),
    [sym__dot_custom] = ACTIONS(3159),
    [sym__conjunction_operator_custom] = ACTIONS(3159),
    [sym__disjunction_operator_custom] = ACTIONS(3159),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3159),
    [sym__eq_custom] = ACTIONS(3159),
    [sym__eq_eq_custom] = ACTIONS(3159),
    [sym__plus_then_ws] = ACTIONS(3159),
    [sym__minus_then_ws] = ACTIONS(3159),
    [sym__bang_custom] = ACTIONS(3159),
    [sym__throws_keyword] = ACTIONS(3159),
    [sym__rethrows_keyword] = ACTIONS(3159),
    [sym_default_keyword] = ACTIONS(3159),
    [sym__as_custom] = ACTIONS(3159),
    [sym__as_quest_custom] = ACTIONS(3159),
    [sym__as_bang_custom] = ACTIONS(3159),
    [sym__async_keyword_custom] = ACTIONS(3159),
    [sym__custom_operator] = ACTIONS(3159),
  },
  [1095] = {
    [sym__key_path_postfixes] = STATE(1107),
    [sym_bang] = STATE(1107),
    [aux_sym__key_path_component_repeat1] = STATE(1107),
    [anon_sym_BANG] = ACTIONS(3153),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3155),
    [anon_sym_package] = ACTIONS(3155),
    [anon_sym_COMMA] = ACTIONS(3155),
    [anon_sym_LPAREN] = ACTIONS(3155),
    [anon_sym_LBRACK] = ACTIONS(3155),
    [anon_sym_DOT] = ACTIONS(3153),
    [anon_sym_QMARK] = ACTIONS(3153),
    [anon_sym_QMARK2] = ACTIONS(3155),
    [anon_sym_AMP] = ACTIONS(3155),
    [aux_sym_custom_operator_token1] = ACTIONS(3155),
    [anon_sym_LT] = ACTIONS(3153),
    [anon_sym_GT] = ACTIONS(3153),
    [anon_sym_LBRACE] = ACTIONS(3155),
    [anon_sym_CARET_LBRACE] = ACTIONS(3155),
    [anon_sym_RBRACE] = ACTIONS(3155),
    [anon_sym_self] = ACTIONS(3936),
    [anon_sym_case] = ACTIONS(3155),
    [anon_sym_fallthrough] = ACTIONS(3155),
    [anon_sym_PLUS_EQ] = ACTIONS(3155),
    [anon_sym_DASH_EQ] = ACTIONS(3155),
    [anon_sym_STAR_EQ] = ACTIONS(3155),
    [anon_sym_SLASH_EQ] = ACTIONS(3155),
    [anon_sym_PERCENT_EQ] = ACTIONS(3155),
    [anon_sym_BANG_EQ] = ACTIONS(3153),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3155),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3155),
    [anon_sym_LT_EQ] = ACTIONS(3155),
    [anon_sym_GT_EQ] = ACTIONS(3155),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3155),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3155),
    [anon_sym_is] = ACTIONS(3155),
    [anon_sym_PLUS] = ACTIONS(3153),
    [anon_sym_DASH] = ACTIONS(3153),
    [anon_sym_STAR] = ACTIONS(3153),
    [anon_sym_SLASH] = ACTIONS(3153),
    [anon_sym_PERCENT] = ACTIONS(3153),
    [anon_sym_PLUS_PLUS] = ACTIONS(3155),
    [anon_sym_DASH_DASH] = ACTIONS(3155),
    [anon_sym_PIPE] = ACTIONS(3155),
    [anon_sym_CARET] = ACTIONS(3153),
    [anon_sym_LT_LT] = ACTIONS(3155),
    [anon_sym_GT_GT] = ACTIONS(3155),
    [anon_sym_class] = ACTIONS(3155),
    [anon_sym_prefix] = ACTIONS(3155),
    [anon_sym_infix] = ACTIONS(3155),
    [anon_sym_postfix] = ACTIONS(3155),
    [anon_sym_AT] = ACTIONS(3153),
    [anon_sym_override] = ACTIONS(3155),
    [anon_sym_convenience] = ACTIONS(3155),
    [anon_sym_required] = ACTIONS(3155),
    [anon_sym_nonisolated] = ACTIONS(3155),
    [anon_sym_public] = ACTIONS(3155),
    [anon_sym_private] = ACTIONS(3155),
    [anon_sym_internal] = ACTIONS(3155),
    [anon_sym_fileprivate] = ACTIONS(3155),
    [anon_sym_open] = ACTIONS(3155),
    [anon_sym_mutating] = ACTIONS(3155),
    [anon_sym_nonmutating] = ACTIONS(3155),
    [anon_sym_static] = ACTIONS(3155),
    [anon_sym_dynamic] = ACTIONS(3155),
    [anon_sym_optional] = ACTIONS(3155),
    [anon_sym_distributed] = ACTIONS(3155),
    [anon_sym_final] = ACTIONS(3155),
    [anon_sym_inout] = ACTIONS(3155),
    [anon_sym_ATescaping] = ACTIONS(3155),
    [anon_sym_ATautoclosure] = ACTIONS(3155),
    [anon_sym_weak] = ACTIONS(3155),
    [anon_sym_unowned] = ACTIONS(3153),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3155),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3155),
    [anon_sym_borrowing] = ACTIONS(3155),
    [anon_sym_consuming] = ACTIONS(3155),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3155),
    [sym__explicit_semi] = ACTIONS(3155),
    [sym__dot_custom] = ACTIONS(3155),
    [sym__conjunction_operator_custom] = ACTIONS(3155),
    [sym__disjunction_operator_custom] = ACTIONS(3155),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3155),
    [sym__eq_custom] = ACTIONS(3155),
    [sym__eq_eq_custom] = ACTIONS(3155),
    [sym__plus_then_ws] = ACTIONS(3155),
    [sym__minus_then_ws] = ACTIONS(3155),
    [sym__bang_custom] = ACTIONS(3155),
    [sym_default_keyword] = ACTIONS(3155),
    [sym__as_custom] = ACTIONS(3155),
    [sym__as_quest_custom] = ACTIONS(3155),
    [sym__as_bang_custom] = ACTIONS(3155),
    [sym__custom_operator] = ACTIONS(3155),
  },
  [1096] = {
    [anon_sym_BANG] = ACTIONS(3117),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3119),
    [anon_sym_package] = ACTIONS(3119),
    [anon_sym_COMMA] = ACTIONS(3119),
    [anon_sym_LPAREN] = ACTIONS(3119),
    [anon_sym_LBRACK] = ACTIONS(3119),
    [anon_sym_DOT] = ACTIONS(3117),
    [anon_sym_QMARK] = ACTIONS(3117),
    [anon_sym_QMARK2] = ACTIONS(3119),
    [anon_sym_AMP] = ACTIONS(3119),
    [aux_sym_custom_operator_token1] = ACTIONS(3119),
    [anon_sym_LT] = ACTIONS(3117),
    [anon_sym_GT] = ACTIONS(3117),
    [anon_sym_LBRACE] = ACTIONS(3119),
    [anon_sym_CARET_LBRACE] = ACTIONS(3119),
    [anon_sym_RBRACE] = ACTIONS(3119),
    [anon_sym_case] = ACTIONS(3119),
    [anon_sym_fallthrough] = ACTIONS(3119),
    [anon_sym_PLUS_EQ] = ACTIONS(3119),
    [anon_sym_DASH_EQ] = ACTIONS(3119),
    [anon_sym_STAR_EQ] = ACTIONS(3119),
    [anon_sym_SLASH_EQ] = ACTIONS(3119),
    [anon_sym_PERCENT_EQ] = ACTIONS(3119),
    [anon_sym_BANG_EQ] = ACTIONS(3117),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3119),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3119),
    [anon_sym_LT_EQ] = ACTIONS(3119),
    [anon_sym_GT_EQ] = ACTIONS(3119),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3119),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3119),
    [anon_sym_is] = ACTIONS(3119),
    [anon_sym_PLUS] = ACTIONS(3117),
    [anon_sym_DASH] = ACTIONS(3117),
    [anon_sym_STAR] = ACTIONS(3117),
    [anon_sym_SLASH] = ACTIONS(3117),
    [anon_sym_PERCENT] = ACTIONS(3117),
    [anon_sym_PLUS_PLUS] = ACTIONS(3119),
    [anon_sym_DASH_DASH] = ACTIONS(3119),
    [anon_sym_PIPE] = ACTIONS(3119),
    [anon_sym_CARET] = ACTIONS(3117),
    [anon_sym_LT_LT] = ACTIONS(3119),
    [anon_sym_GT_GT] = ACTIONS(3119),
    [anon_sym_class] = ACTIONS(3119),
    [anon_sym_prefix] = ACTIONS(3119),
    [anon_sym_infix] = ACTIONS(3119),
    [anon_sym_postfix] = ACTIONS(3119),
    [anon_sym_AT] = ACTIONS(3117),
    [anon_sym_override] = ACTIONS(3119),
    [anon_sym_convenience] = ACTIONS(3119),
    [anon_sym_required] = ACTIONS(3119),
    [anon_sym_nonisolated] = ACTIONS(3119),
    [anon_sym_public] = ACTIONS(3119),
    [anon_sym_private] = ACTIONS(3119),
    [anon_sym_internal] = ACTIONS(3119),
    [anon_sym_fileprivate] = ACTIONS(3119),
    [anon_sym_open] = ACTIONS(3119),
    [anon_sym_mutating] = ACTIONS(3119),
    [anon_sym_nonmutating] = ACTIONS(3119),
    [anon_sym_static] = ACTIONS(3119),
    [anon_sym_dynamic] = ACTIONS(3119),
    [anon_sym_optional] = ACTIONS(3119),
    [anon_sym_distributed] = ACTIONS(3119),
    [anon_sym_final] = ACTIONS(3119),
    [anon_sym_inout] = ACTIONS(3119),
    [anon_sym_ATescaping] = ACTIONS(3119),
    [anon_sym_ATautoclosure] = ACTIONS(3119),
    [anon_sym_weak] = ACTIONS(3119),
    [anon_sym_unowned] = ACTIONS(3117),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3119),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3119),
    [anon_sym_borrowing] = ACTIONS(3119),
    [anon_sym_consuming] = ACTIONS(3119),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3119),
    [sym__explicit_semi] = ACTIONS(3119),
    [sym__arrow_operator_custom] = ACTIONS(3119),
    [sym__dot_custom] = ACTIONS(3119),
    [sym__conjunction_operator_custom] = ACTIONS(3119),
    [sym__disjunction_operator_custom] = ACTIONS(3119),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3119),
    [sym__eq_custom] = ACTIONS(3119),
    [sym__eq_eq_custom] = ACTIONS(3119),
    [sym__plus_then_ws] = ACTIONS(3119),
    [sym__minus_then_ws] = ACTIONS(3119),
    [sym__bang_custom] = ACTIONS(3119),
    [sym__throws_keyword] = ACTIONS(3119),
    [sym__rethrows_keyword] = ACTIONS(3119),
    [sym_default_keyword] = ACTIONS(3119),
    [sym__as_custom] = ACTIONS(3119),
    [sym__as_quest_custom] = ACTIONS(3119),
    [sym__as_bang_custom] = ACTIONS(3119),
    [sym__async_keyword_custom] = ACTIONS(3119),
    [sym__custom_operator] = ACTIONS(3119),
  },
  [1097] = {
    [ts_builtin_sym_end] = ACTIONS(2690),
    [anon_sym_BANG] = ACTIONS(2687),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2676),
    [aux_sym_simple_identifier_token2] = ACTIONS(2678),
    [aux_sym_simple_identifier_token3] = ACTIONS(2678),
    [aux_sym_simple_identifier_token4] = ACTIONS(2678),
    [anon_sym_actor] = ACTIONS(2676),
    [anon_sym_async] = ACTIONS(2676),
    [anon_sym_each] = ACTIONS(2676),
    [anon_sym_lazy] = ACTIONS(2676),
    [anon_sym_repeat] = ACTIONS(2676),
    [anon_sym_package] = ACTIONS(2676),
    [anon_sym_nil] = ACTIONS(2676),
    [sym_real_literal] = ACTIONS(2678),
    [sym_integer_literal] = ACTIONS(2676),
    [sym_hex_literal] = ACTIONS(2676),
    [sym_oct_literal] = ACTIONS(2678),
    [sym_bin_literal] = ACTIONS(2678),
    [anon_sym_true] = ACTIONS(2676),
    [anon_sym_false] = ACTIONS(2676),
    [anon_sym_DQUOTE] = ACTIONS(2676),
    [anon_sym_BSLASH] = ACTIONS(2678),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2678),
    [anon_sym_COMMA] = ACTIONS(2690),
    [sym__oneline_regex_literal] = ACTIONS(2676),
    [anon_sym_LPAREN] = ACTIONS(2692),
    [anon_sym_LBRACK] = ACTIONS(2692),
    [anon_sym_QMARK] = ACTIONS(2695),
    [anon_sym_QMARK2] = ACTIONS(2690),
    [anon_sym_AMP] = ACTIONS(2692),
    [anon_sym_TILDE] = ACTIONS(2678),
    [anon_sym_if] = ACTIONS(2676),
    [anon_sym_switch] = ACTIONS(2676),
    [aux_sym_custom_operator_token1] = ACTIONS(2692),
    [anon_sym_LT] = ACTIONS(2687),
    [anon_sym_GT] = ACTIONS(2687),
    [anon_sym_await] = ACTIONS(2676),
    [anon_sym_LBRACE] = ACTIONS(2692),
    [anon_sym_CARET_LBRACE] = ACTIONS(2692),
    [anon_sym_RBRACE] = ACTIONS(2690),
    [anon_sym_self] = ACTIONS(2676),
    [anon_sym_super] = ACTIONS(2676),
    [anon_sym_try] = ACTIONS(2676),
    [anon_sym_PLUS_EQ] = ACTIONS(2692),
    [anon_sym_DASH_EQ] = ACTIONS(2692),
    [anon_sym_STAR_EQ] = ACTIONS(2692),
    [anon_sym_SLASH_EQ] = ACTIONS(2692),
    [anon_sym_PERCENT_EQ] = ACTIONS(2692),
    [anon_sym_BANG_EQ] = ACTIONS(2687),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2692),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2692),
    [anon_sym_LT_EQ] = ACTIONS(2692),
    [anon_sym_GT_EQ] = ACTIONS(2692),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2692),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2692),
    [anon_sym_is] = ACTIONS(2695),
    [anon_sym_PLUS] = ACTIONS(2687),
    [anon_sym_DASH] = ACTIONS(2687),
    [anon_sym_STAR] = ACTIONS(2687),
    [anon_sym_SLASH] = ACTIONS(2687),
    [anon_sym_PERCENT] = ACTIONS(2687),
    [anon_sym_PLUS_PLUS] = ACTIONS(2692),
    [anon_sym_DASH_DASH] = ACTIONS(2692),
    [anon_sym_PIPE] = ACTIONS(2692),
    [anon_sym_CARET] = ACTIONS(2687),
    [anon_sym_LT_LT] = ACTIONS(2692),
    [anon_sym_GT_GT] = ACTIONS(2692),
    [anon_sym_borrowing] = ACTIONS(2676),
    [anon_sym_consuming] = ACTIONS(2676),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2678),
    [sym_raw_str_end_part] = ACTIONS(2678),
    [sym__implicit_semi] = ACTIONS(2690),
    [sym__explicit_semi] = ACTIONS(2690),
    [sym__dot_custom] = ACTIONS(2692),
    [sym__conjunction_operator_custom] = ACTIONS(2690),
    [sym__disjunction_operator_custom] = ACTIONS(2690),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2690),
    [sym__eq_custom] = ACTIONS(2692),
    [sym__eq_eq_custom] = ACTIONS(2692),
    [sym__plus_then_ws] = ACTIONS(2692),
    [sym__minus_then_ws] = ACTIONS(2692),
    [sym__bang_custom] = ACTIONS(2692),
    [sym_where_keyword] = ACTIONS(2690),
    [sym__as_custom] = ACTIONS(2690),
    [sym__as_quest_custom] = ACTIONS(2690),
    [sym__as_bang_custom] = ACTIONS(2690),
    [sym__custom_operator] = ACTIONS(2692),
    [sym__hash_symbol_custom] = ACTIONS(2678),
    [sym__directive_if] = ACTIONS(2678),
    [sym__directive_elseif] = ACTIONS(2678),
    [sym__directive_else] = ACTIONS(2678),
    [sym__directive_endif] = ACTIONS(2678),
  },
  [1098] = {
    [anon_sym_BANG] = ACTIONS(3202),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3204),
    [anon_sym_package] = ACTIONS(3204),
    [anon_sym_COMMA] = ACTIONS(3204),
    [anon_sym_LPAREN] = ACTIONS(3204),
    [anon_sym_LBRACK] = ACTIONS(3204),
    [anon_sym_DOT] = ACTIONS(3202),
    [anon_sym_QMARK] = ACTIONS(3202),
    [anon_sym_QMARK2] = ACTIONS(3204),
    [anon_sym_AMP] = ACTIONS(3204),
    [aux_sym_custom_operator_token1] = ACTIONS(3204),
    [anon_sym_LT] = ACTIONS(3202),
    [anon_sym_GT] = ACTIONS(3202),
    [anon_sym_LBRACE] = ACTIONS(3204),
    [anon_sym_CARET_LBRACE] = ACTIONS(3204),
    [anon_sym_RBRACE] = ACTIONS(3204),
    [anon_sym_case] = ACTIONS(3204),
    [anon_sym_fallthrough] = ACTIONS(3204),
    [anon_sym_PLUS_EQ] = ACTIONS(3204),
    [anon_sym_DASH_EQ] = ACTIONS(3204),
    [anon_sym_STAR_EQ] = ACTIONS(3204),
    [anon_sym_SLASH_EQ] = ACTIONS(3204),
    [anon_sym_PERCENT_EQ] = ACTIONS(3204),
    [anon_sym_BANG_EQ] = ACTIONS(3202),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3204),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3204),
    [anon_sym_LT_EQ] = ACTIONS(3204),
    [anon_sym_GT_EQ] = ACTIONS(3204),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3204),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3204),
    [anon_sym_is] = ACTIONS(3204),
    [anon_sym_PLUS] = ACTIONS(3202),
    [anon_sym_DASH] = ACTIONS(3202),
    [anon_sym_STAR] = ACTIONS(3202),
    [anon_sym_SLASH] = ACTIONS(3202),
    [anon_sym_PERCENT] = ACTIONS(3202),
    [anon_sym_PLUS_PLUS] = ACTIONS(3204),
    [anon_sym_DASH_DASH] = ACTIONS(3204),
    [anon_sym_PIPE] = ACTIONS(3204),
    [anon_sym_CARET] = ACTIONS(3202),
    [anon_sym_LT_LT] = ACTIONS(3204),
    [anon_sym_GT_GT] = ACTIONS(3204),
    [anon_sym_class] = ACTIONS(3204),
    [anon_sym_prefix] = ACTIONS(3204),
    [anon_sym_infix] = ACTIONS(3204),
    [anon_sym_postfix] = ACTIONS(3204),
    [anon_sym_AT] = ACTIONS(3202),
    [anon_sym_override] = ACTIONS(3204),
    [anon_sym_convenience] = ACTIONS(3204),
    [anon_sym_required] = ACTIONS(3204),
    [anon_sym_nonisolated] = ACTIONS(3204),
    [anon_sym_public] = ACTIONS(3204),
    [anon_sym_private] = ACTIONS(3204),
    [anon_sym_internal] = ACTIONS(3204),
    [anon_sym_fileprivate] = ACTIONS(3204),
    [anon_sym_open] = ACTIONS(3204),
    [anon_sym_mutating] = ACTIONS(3204),
    [anon_sym_nonmutating] = ACTIONS(3204),
    [anon_sym_static] = ACTIONS(3204),
    [anon_sym_dynamic] = ACTIONS(3204),
    [anon_sym_optional] = ACTIONS(3204),
    [anon_sym_distributed] = ACTIONS(3204),
    [anon_sym_final] = ACTIONS(3204),
    [anon_sym_inout] = ACTIONS(3204),
    [anon_sym_ATescaping] = ACTIONS(3204),
    [anon_sym_ATautoclosure] = ACTIONS(3204),
    [anon_sym_weak] = ACTIONS(3204),
    [anon_sym_unowned] = ACTIONS(3202),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3204),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3204),
    [anon_sym_borrowing] = ACTIONS(3204),
    [anon_sym_consuming] = ACTIONS(3204),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3204),
    [sym__explicit_semi] = ACTIONS(3204),
    [sym__arrow_operator_custom] = ACTIONS(3204),
    [sym__dot_custom] = ACTIONS(3204),
    [sym__conjunction_operator_custom] = ACTIONS(3204),
    [sym__disjunction_operator_custom] = ACTIONS(3204),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3204),
    [sym__eq_custom] = ACTIONS(3204),
    [sym__eq_eq_custom] = ACTIONS(3204),
    [sym__plus_then_ws] = ACTIONS(3204),
    [sym__minus_then_ws] = ACTIONS(3204),
    [sym__bang_custom] = ACTIONS(3204),
    [sym__throws_keyword] = ACTIONS(3204),
    [sym__rethrows_keyword] = ACTIONS(3204),
    [sym_default_keyword] = ACTIONS(3204),
    [sym__as_custom] = ACTIONS(3204),
    [sym__as_quest_custom] = ACTIONS(3204),
    [sym__as_bang_custom] = ACTIONS(3204),
    [sym__async_keyword_custom] = ACTIONS(3204),
    [sym__custom_operator] = ACTIONS(3204),
  },
  [1099] = {
    [anon_sym_BANG] = ACTIONS(3180),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3182),
    [anon_sym_package] = ACTIONS(3182),
    [anon_sym_COMMA] = ACTIONS(3182),
    [anon_sym_LPAREN] = ACTIONS(3182),
    [anon_sym_LBRACK] = ACTIONS(3182),
    [anon_sym_DOT] = ACTIONS(3180),
    [anon_sym_QMARK] = ACTIONS(3180),
    [anon_sym_QMARK2] = ACTIONS(3182),
    [anon_sym_AMP] = ACTIONS(3182),
    [aux_sym_custom_operator_token1] = ACTIONS(3182),
    [anon_sym_LT] = ACTIONS(3180),
    [anon_sym_GT] = ACTIONS(3180),
    [anon_sym_LBRACE] = ACTIONS(3182),
    [anon_sym_CARET_LBRACE] = ACTIONS(3182),
    [anon_sym_RBRACE] = ACTIONS(3182),
    [anon_sym_case] = ACTIONS(3182),
    [anon_sym_fallthrough] = ACTIONS(3182),
    [anon_sym_PLUS_EQ] = ACTIONS(3182),
    [anon_sym_DASH_EQ] = ACTIONS(3182),
    [anon_sym_STAR_EQ] = ACTIONS(3182),
    [anon_sym_SLASH_EQ] = ACTIONS(3182),
    [anon_sym_PERCENT_EQ] = ACTIONS(3182),
    [anon_sym_BANG_EQ] = ACTIONS(3180),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3182),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3182),
    [anon_sym_LT_EQ] = ACTIONS(3182),
    [anon_sym_GT_EQ] = ACTIONS(3182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3182),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3182),
    [anon_sym_is] = ACTIONS(3182),
    [anon_sym_PLUS] = ACTIONS(3180),
    [anon_sym_DASH] = ACTIONS(3180),
    [anon_sym_STAR] = ACTIONS(3180),
    [anon_sym_SLASH] = ACTIONS(3180),
    [anon_sym_PERCENT] = ACTIONS(3180),
    [anon_sym_PLUS_PLUS] = ACTIONS(3182),
    [anon_sym_DASH_DASH] = ACTIONS(3182),
    [anon_sym_PIPE] = ACTIONS(3182),
    [anon_sym_CARET] = ACTIONS(3180),
    [anon_sym_LT_LT] = ACTIONS(3182),
    [anon_sym_GT_GT] = ACTIONS(3182),
    [anon_sym_class] = ACTIONS(3182),
    [anon_sym_prefix] = ACTIONS(3182),
    [anon_sym_infix] = ACTIONS(3182),
    [anon_sym_postfix] = ACTIONS(3182),
    [anon_sym_AT] = ACTIONS(3180),
    [anon_sym_override] = ACTIONS(3182),
    [anon_sym_convenience] = ACTIONS(3182),
    [anon_sym_required] = ACTIONS(3182),
    [anon_sym_nonisolated] = ACTIONS(3182),
    [anon_sym_public] = ACTIONS(3182),
    [anon_sym_private] = ACTIONS(3182),
    [anon_sym_internal] = ACTIONS(3182),
    [anon_sym_fileprivate] = ACTIONS(3182),
    [anon_sym_open] = ACTIONS(3182),
    [anon_sym_mutating] = ACTIONS(3182),
    [anon_sym_nonmutating] = ACTIONS(3182),
    [anon_sym_static] = ACTIONS(3182),
    [anon_sym_dynamic] = ACTIONS(3182),
    [anon_sym_optional] = ACTIONS(3182),
    [anon_sym_distributed] = ACTIONS(3182),
    [anon_sym_final] = ACTIONS(3182),
    [anon_sym_inout] = ACTIONS(3182),
    [anon_sym_ATescaping] = ACTIONS(3182),
    [anon_sym_ATautoclosure] = ACTIONS(3182),
    [anon_sym_weak] = ACTIONS(3182),
    [anon_sym_unowned] = ACTIONS(3180),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3182),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3182),
    [anon_sym_borrowing] = ACTIONS(3182),
    [anon_sym_consuming] = ACTIONS(3182),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3182),
    [sym__explicit_semi] = ACTIONS(3182),
    [sym__arrow_operator_custom] = ACTIONS(3182),
    [sym__dot_custom] = ACTIONS(3182),
    [sym__conjunction_operator_custom] = ACTIONS(3182),
    [sym__disjunction_operator_custom] = ACTIONS(3182),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3182),
    [sym__eq_custom] = ACTIONS(3182),
    [sym__eq_eq_custom] = ACTIONS(3182),
    [sym__plus_then_ws] = ACTIONS(3182),
    [sym__minus_then_ws] = ACTIONS(3182),
    [sym__bang_custom] = ACTIONS(3182),
    [sym__throws_keyword] = ACTIONS(3182),
    [sym__rethrows_keyword] = ACTIONS(3182),
    [sym_default_keyword] = ACTIONS(3182),
    [sym__as_custom] = ACTIONS(3182),
    [sym__as_quest_custom] = ACTIONS(3182),
    [sym__as_bang_custom] = ACTIONS(3182),
    [sym__async_keyword_custom] = ACTIONS(3182),
    [sym__custom_operator] = ACTIONS(3182),
  },
  [1100] = {
    [anon_sym_BANG] = ACTIONS(3194),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3196),
    [anon_sym_package] = ACTIONS(3196),
    [anon_sym_COMMA] = ACTIONS(3196),
    [anon_sym_LPAREN] = ACTIONS(3196),
    [anon_sym_LBRACK] = ACTIONS(3196),
    [anon_sym_DOT] = ACTIONS(3194),
    [anon_sym_QMARK] = ACTIONS(3194),
    [anon_sym_QMARK2] = ACTIONS(3196),
    [anon_sym_AMP] = ACTIONS(3196),
    [aux_sym_custom_operator_token1] = ACTIONS(3196),
    [anon_sym_LT] = ACTIONS(3194),
    [anon_sym_GT] = ACTIONS(3194),
    [anon_sym_LBRACE] = ACTIONS(3196),
    [anon_sym_CARET_LBRACE] = ACTIONS(3196),
    [anon_sym_RBRACE] = ACTIONS(3196),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_fallthrough] = ACTIONS(3196),
    [anon_sym_PLUS_EQ] = ACTIONS(3196),
    [anon_sym_DASH_EQ] = ACTIONS(3196),
    [anon_sym_STAR_EQ] = ACTIONS(3196),
    [anon_sym_SLASH_EQ] = ACTIONS(3196),
    [anon_sym_PERCENT_EQ] = ACTIONS(3196),
    [anon_sym_BANG_EQ] = ACTIONS(3194),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3196),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3196),
    [anon_sym_LT_EQ] = ACTIONS(3196),
    [anon_sym_GT_EQ] = ACTIONS(3196),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3196),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3196),
    [anon_sym_is] = ACTIONS(3196),
    [anon_sym_PLUS] = ACTIONS(3194),
    [anon_sym_DASH] = ACTIONS(3194),
    [anon_sym_STAR] = ACTIONS(3194),
    [anon_sym_SLASH] = ACTIONS(3194),
    [anon_sym_PERCENT] = ACTIONS(3194),
    [anon_sym_PLUS_PLUS] = ACTIONS(3196),
    [anon_sym_DASH_DASH] = ACTIONS(3196),
    [anon_sym_PIPE] = ACTIONS(3196),
    [anon_sym_CARET] = ACTIONS(3194),
    [anon_sym_LT_LT] = ACTIONS(3196),
    [anon_sym_GT_GT] = ACTIONS(3196),
    [anon_sym_class] = ACTIONS(3196),
    [anon_sym_prefix] = ACTIONS(3196),
    [anon_sym_infix] = ACTIONS(3196),
    [anon_sym_postfix] = ACTIONS(3196),
    [anon_sym_AT] = ACTIONS(3194),
    [anon_sym_override] = ACTIONS(3196),
    [anon_sym_convenience] = ACTIONS(3196),
    [anon_sym_required] = ACTIONS(3196),
    [anon_sym_nonisolated] = ACTIONS(3196),
    [anon_sym_public] = ACTIONS(3196),
    [anon_sym_private] = ACTIONS(3196),
    [anon_sym_internal] = ACTIONS(3196),
    [anon_sym_fileprivate] = ACTIONS(3196),
    [anon_sym_open] = ACTIONS(3196),
    [anon_sym_mutating] = ACTIONS(3196),
    [anon_sym_nonmutating] = ACTIONS(3196),
    [anon_sym_static] = ACTIONS(3196),
    [anon_sym_dynamic] = ACTIONS(3196),
    [anon_sym_optional] = ACTIONS(3196),
    [anon_sym_distributed] = ACTIONS(3196),
    [anon_sym_final] = ACTIONS(3196),
    [anon_sym_inout] = ACTIONS(3196),
    [anon_sym_ATescaping] = ACTIONS(3196),
    [anon_sym_ATautoclosure] = ACTIONS(3196),
    [anon_sym_weak] = ACTIONS(3196),
    [anon_sym_unowned] = ACTIONS(3194),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3196),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3196),
    [anon_sym_borrowing] = ACTIONS(3196),
    [anon_sym_consuming] = ACTIONS(3196),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3196),
    [sym__explicit_semi] = ACTIONS(3196),
    [sym__arrow_operator_custom] = ACTIONS(3196),
    [sym__dot_custom] = ACTIONS(3196),
    [sym__conjunction_operator_custom] = ACTIONS(3196),
    [sym__disjunction_operator_custom] = ACTIONS(3196),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3196),
    [sym__eq_custom] = ACTIONS(3196),
    [sym__eq_eq_custom] = ACTIONS(3196),
    [sym__plus_then_ws] = ACTIONS(3196),
    [sym__minus_then_ws] = ACTIONS(3196),
    [sym__bang_custom] = ACTIONS(3196),
    [sym__throws_keyword] = ACTIONS(3196),
    [sym__rethrows_keyword] = ACTIONS(3196),
    [sym_default_keyword] = ACTIONS(3196),
    [sym__as_custom] = ACTIONS(3196),
    [sym__as_quest_custom] = ACTIONS(3196),
    [sym__as_bang_custom] = ACTIONS(3196),
    [sym__async_keyword_custom] = ACTIONS(3196),
    [sym__custom_operator] = ACTIONS(3196),
  },
  [1101] = {
    [ts_builtin_sym_end] = ACTIONS(2655),
    [anon_sym_BANG] = ACTIONS(2653),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2653),
    [aux_sym_simple_identifier_token2] = ACTIONS(2655),
    [aux_sym_simple_identifier_token3] = ACTIONS(2655),
    [aux_sym_simple_identifier_token4] = ACTIONS(2655),
    [anon_sym_actor] = ACTIONS(2653),
    [anon_sym_async] = ACTIONS(2653),
    [anon_sym_each] = ACTIONS(2653),
    [anon_sym_lazy] = ACTIONS(2653),
    [anon_sym_repeat] = ACTIONS(2653),
    [anon_sym_package] = ACTIONS(2653),
    [anon_sym_nil] = ACTIONS(2653),
    [sym_real_literal] = ACTIONS(2655),
    [sym_integer_literal] = ACTIONS(2653),
    [sym_hex_literal] = ACTIONS(2653),
    [sym_oct_literal] = ACTIONS(2655),
    [sym_bin_literal] = ACTIONS(2655),
    [anon_sym_true] = ACTIONS(2653),
    [anon_sym_false] = ACTIONS(2653),
    [anon_sym_DQUOTE] = ACTIONS(2653),
    [anon_sym_BSLASH] = ACTIONS(2655),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2655),
    [anon_sym_COMMA] = ACTIONS(2655),
    [sym__oneline_regex_literal] = ACTIONS(2653),
    [anon_sym_LPAREN] = ACTIONS(2655),
    [anon_sym_LBRACK] = ACTIONS(2655),
    [anon_sym_QMARK] = ACTIONS(2653),
    [anon_sym_QMARK2] = ACTIONS(2655),
    [anon_sym_AMP] = ACTIONS(2655),
    [anon_sym_TILDE] = ACTIONS(2655),
    [anon_sym_if] = ACTIONS(2653),
    [anon_sym_switch] = ACTIONS(2653),
    [aux_sym_custom_operator_token1] = ACTIONS(2655),
    [anon_sym_LT] = ACTIONS(2653),
    [anon_sym_GT] = ACTIONS(2653),
    [anon_sym_await] = ACTIONS(2653),
    [anon_sym_LBRACE] = ACTIONS(2655),
    [anon_sym_CARET_LBRACE] = ACTIONS(2655),
    [anon_sym_RBRACE] = ACTIONS(2655),
    [anon_sym_self] = ACTIONS(2653),
    [anon_sym_super] = ACTIONS(2653),
    [anon_sym_try] = ACTIONS(2653),
    [anon_sym_PLUS_EQ] = ACTIONS(2655),
    [anon_sym_DASH_EQ] = ACTIONS(2655),
    [anon_sym_STAR_EQ] = ACTIONS(2655),
    [anon_sym_SLASH_EQ] = ACTIONS(2655),
    [anon_sym_PERCENT_EQ] = ACTIONS(2655),
    [anon_sym_BANG_EQ] = ACTIONS(2653),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2655),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2655),
    [anon_sym_LT_EQ] = ACTIONS(2655),
    [anon_sym_GT_EQ] = ACTIONS(2655),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2655),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2655),
    [anon_sym_is] = ACTIONS(2653),
    [anon_sym_PLUS] = ACTIONS(2653),
    [anon_sym_DASH] = ACTIONS(2653),
    [anon_sym_STAR] = ACTIONS(2653),
    [anon_sym_SLASH] = ACTIONS(2653),
    [anon_sym_PERCENT] = ACTIONS(2653),
    [anon_sym_PLUS_PLUS] = ACTIONS(2655),
    [anon_sym_DASH_DASH] = ACTIONS(2655),
    [anon_sym_PIPE] = ACTIONS(2655),
    [anon_sym_CARET] = ACTIONS(2653),
    [anon_sym_LT_LT] = ACTIONS(2655),
    [anon_sym_GT_GT] = ACTIONS(2655),
    [anon_sym_borrowing] = ACTIONS(2653),
    [anon_sym_consuming] = ACTIONS(2653),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2655),
    [sym_raw_str_end_part] = ACTIONS(2655),
    [sym__implicit_semi] = ACTIONS(2655),
    [sym__explicit_semi] = ACTIONS(2655),
    [sym__dot_custom] = ACTIONS(2655),
    [sym__conjunction_operator_custom] = ACTIONS(2655),
    [sym__disjunction_operator_custom] = ACTIONS(2655),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2655),
    [sym__eq_custom] = ACTIONS(2655),
    [sym__eq_eq_custom] = ACTIONS(2655),
    [sym__plus_then_ws] = ACTIONS(2655),
    [sym__minus_then_ws] = ACTIONS(2655),
    [sym__bang_custom] = ACTIONS(2655),
    [sym_where_keyword] = ACTIONS(2655),
    [sym__as_custom] = ACTIONS(2655),
    [sym__as_quest_custom] = ACTIONS(2655),
    [sym__as_bang_custom] = ACTIONS(2655),
    [sym__custom_operator] = ACTIONS(2655),
    [sym__hash_symbol_custom] = ACTIONS(2655),
    [sym__directive_if] = ACTIONS(2655),
    [sym__directive_elseif] = ACTIONS(2655),
    [sym__directive_else] = ACTIONS(2655),
    [sym__directive_endif] = ACTIONS(2655),
  },
  [1102] = {
    [sym_simple_identifier] = STATE(2083),
    [sym__contextual_simple_identifier] = STATE(2130),
    [sym__unannotated_type] = STATE(1932),
    [sym_user_type] = STATE(2018),
    [sym__simple_user_type] = STATE(2008),
    [sym_tuple_type] = STATE(1902),
    [sym_function_type] = STATE(1932),
    [sym_array_type] = STATE(2018),
    [sym_dictionary_type] = STATE(2018),
    [sym_optional_type] = STATE(1932),
    [sym_metatype] = STATE(1932),
    [sym_opaque_type] = STATE(1932),
    [sym_existential_type] = STATE(1932),
    [sym_type_parameter_pack] = STATE(1932),
    [sym_type_pack_expansion] = STATE(1932),
    [sym_protocol_composition_type] = STATE(1932),
    [sym_suppressed_constraint] = STATE(1932),
    [sym__parenthesized_type] = STATE(2136),
    [sym__parameter_ownership_modifier] = STATE(2130),
    [ts_builtin_sym_end] = ACTIONS(617),
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3938),
    [aux_sym_simple_identifier_token2] = ACTIONS(3940),
    [aux_sym_simple_identifier_token3] = ACTIONS(3940),
    [aux_sym_simple_identifier_token4] = ACTIONS(3940),
    [anon_sym_actor] = ACTIONS(3938),
    [anon_sym_async] = ACTIONS(3938),
    [anon_sym_each] = ACTIONS(3942),
    [anon_sym_lazy] = ACTIONS(3938),
    [anon_sym_repeat] = ACTIONS(3944),
    [anon_sym_package] = ACTIONS(3938),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(3946),
    [anon_sym_LBRACK] = ACTIONS(3949),
    [anon_sym_DOT] = ACTIONS(623),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(3952),
    [anon_sym_any] = ACTIONS(3954),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(3956),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(3938),
    [anon_sym_consuming] = ACTIONS(3938),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [1103] = {
    [ts_builtin_sym_end] = ACTIONS(2680),
    [anon_sym_BANG] = ACTIONS(2673),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2676),
    [aux_sym_simple_identifier_token2] = ACTIONS(2678),
    [aux_sym_simple_identifier_token3] = ACTIONS(2678),
    [aux_sym_simple_identifier_token4] = ACTIONS(2678),
    [anon_sym_actor] = ACTIONS(2676),
    [anon_sym_async] = ACTIONS(2676),
    [anon_sym_each] = ACTIONS(2676),
    [anon_sym_lazy] = ACTIONS(2676),
    [anon_sym_repeat] = ACTIONS(2676),
    [anon_sym_package] = ACTIONS(2676),
    [anon_sym_nil] = ACTIONS(2676),
    [sym_real_literal] = ACTIONS(2678),
    [sym_integer_literal] = ACTIONS(2676),
    [sym_hex_literal] = ACTIONS(2676),
    [sym_oct_literal] = ACTIONS(2678),
    [sym_bin_literal] = ACTIONS(2678),
    [anon_sym_true] = ACTIONS(2676),
    [anon_sym_false] = ACTIONS(2676),
    [anon_sym_DQUOTE] = ACTIONS(2676),
    [anon_sym_BSLASH] = ACTIONS(2678),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2678),
    [anon_sym_COMMA] = ACTIONS(2680),
    [sym__oneline_regex_literal] = ACTIONS(2676),
    [anon_sym_LPAREN] = ACTIONS(2682),
    [anon_sym_LBRACK] = ACTIONS(2682),
    [anon_sym_QMARK] = ACTIONS(2685),
    [anon_sym_QMARK2] = ACTIONS(2680),
    [anon_sym_AMP] = ACTIONS(2682),
    [anon_sym_TILDE] = ACTIONS(2678),
    [anon_sym_if] = ACTIONS(2676),
    [anon_sym_switch] = ACTIONS(2676),
    [aux_sym_custom_operator_token1] = ACTIONS(2682),
    [anon_sym_LT] = ACTIONS(2673),
    [anon_sym_GT] = ACTIONS(2673),
    [anon_sym_await] = ACTIONS(2676),
    [anon_sym_LBRACE] = ACTIONS(2682),
    [anon_sym_CARET_LBRACE] = ACTIONS(2682),
    [anon_sym_RBRACE] = ACTIONS(2680),
    [anon_sym_self] = ACTIONS(2676),
    [anon_sym_super] = ACTIONS(2676),
    [anon_sym_try] = ACTIONS(2676),
    [anon_sym_PLUS_EQ] = ACTIONS(2682),
    [anon_sym_DASH_EQ] = ACTIONS(2682),
    [anon_sym_STAR_EQ] = ACTIONS(2682),
    [anon_sym_SLASH_EQ] = ACTIONS(2682),
    [anon_sym_PERCENT_EQ] = ACTIONS(2682),
    [anon_sym_BANG_EQ] = ACTIONS(2673),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2682),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2682),
    [anon_sym_LT_EQ] = ACTIONS(2682),
    [anon_sym_GT_EQ] = ACTIONS(2682),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2682),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2682),
    [anon_sym_is] = ACTIONS(2685),
    [anon_sym_PLUS] = ACTIONS(2673),
    [anon_sym_DASH] = ACTIONS(2673),
    [anon_sym_STAR] = ACTIONS(2673),
    [anon_sym_SLASH] = ACTIONS(2673),
    [anon_sym_PERCENT] = ACTIONS(2673),
    [anon_sym_PLUS_PLUS] = ACTIONS(2682),
    [anon_sym_DASH_DASH] = ACTIONS(2682),
    [anon_sym_PIPE] = ACTIONS(2682),
    [anon_sym_CARET] = ACTIONS(2673),
    [anon_sym_LT_LT] = ACTIONS(2682),
    [anon_sym_GT_GT] = ACTIONS(2682),
    [anon_sym_borrowing] = ACTIONS(2676),
    [anon_sym_consuming] = ACTIONS(2676),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2678),
    [sym_raw_str_end_part] = ACTIONS(2678),
    [sym__implicit_semi] = ACTIONS(2680),
    [sym__explicit_semi] = ACTIONS(2680),
    [sym__dot_custom] = ACTIONS(2682),
    [sym__conjunction_operator_custom] = ACTIONS(2680),
    [sym__disjunction_operator_custom] = ACTIONS(2680),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2680),
    [sym__eq_custom] = ACTIONS(2682),
    [sym__eq_eq_custom] = ACTIONS(2682),
    [sym__plus_then_ws] = ACTIONS(2682),
    [sym__minus_then_ws] = ACTIONS(2682),
    [sym__bang_custom] = ACTIONS(2682),
    [sym_where_keyword] = ACTIONS(2680),
    [sym__as_custom] = ACTIONS(2680),
    [sym__as_quest_custom] = ACTIONS(2680),
    [sym__as_bang_custom] = ACTIONS(2680),
    [sym__custom_operator] = ACTIONS(2682),
    [sym__hash_symbol_custom] = ACTIONS(2678),
    [sym__directive_if] = ACTIONS(2678),
    [sym__directive_elseif] = ACTIONS(2678),
    [sym__directive_else] = ACTIONS(2678),
    [sym__directive_endif] = ACTIONS(2678),
  },
  [1104] = {
    [anon_sym_BANG] = ACTIONS(3091),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3093),
    [anon_sym_package] = ACTIONS(3093),
    [anon_sym_COMMA] = ACTIONS(3093),
    [anon_sym_LPAREN] = ACTIONS(3093),
    [anon_sym_LBRACK] = ACTIONS(3093),
    [anon_sym_DOT] = ACTIONS(3091),
    [anon_sym_QMARK] = ACTIONS(3091),
    [anon_sym_QMARK2] = ACTIONS(3093),
    [anon_sym_AMP] = ACTIONS(3093),
    [aux_sym_custom_operator_token1] = ACTIONS(3093),
    [anon_sym_LT] = ACTIONS(3091),
    [anon_sym_GT] = ACTIONS(3091),
    [anon_sym_LBRACE] = ACTIONS(3093),
    [anon_sym_CARET_LBRACE] = ACTIONS(3093),
    [anon_sym_RBRACE] = ACTIONS(3093),
    [anon_sym_case] = ACTIONS(3093),
    [anon_sym_fallthrough] = ACTIONS(3093),
    [anon_sym_PLUS_EQ] = ACTIONS(3093),
    [anon_sym_DASH_EQ] = ACTIONS(3093),
    [anon_sym_STAR_EQ] = ACTIONS(3093),
    [anon_sym_SLASH_EQ] = ACTIONS(3093),
    [anon_sym_PERCENT_EQ] = ACTIONS(3093),
    [anon_sym_BANG_EQ] = ACTIONS(3091),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3093),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3093),
    [anon_sym_LT_EQ] = ACTIONS(3093),
    [anon_sym_GT_EQ] = ACTIONS(3093),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3093),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3093),
    [anon_sym_is] = ACTIONS(3093),
    [anon_sym_PLUS] = ACTIONS(3091),
    [anon_sym_DASH] = ACTIONS(3091),
    [anon_sym_STAR] = ACTIONS(3091),
    [anon_sym_SLASH] = ACTIONS(3091),
    [anon_sym_PERCENT] = ACTIONS(3091),
    [anon_sym_PLUS_PLUS] = ACTIONS(3093),
    [anon_sym_DASH_DASH] = ACTIONS(3093),
    [anon_sym_PIPE] = ACTIONS(3093),
    [anon_sym_CARET] = ACTIONS(3091),
    [anon_sym_LT_LT] = ACTIONS(3093),
    [anon_sym_GT_GT] = ACTIONS(3093),
    [anon_sym_class] = ACTIONS(3093),
    [anon_sym_prefix] = ACTIONS(3093),
    [anon_sym_infix] = ACTIONS(3093),
    [anon_sym_postfix] = ACTIONS(3093),
    [anon_sym_AT] = ACTIONS(3091),
    [anon_sym_override] = ACTIONS(3093),
    [anon_sym_convenience] = ACTIONS(3093),
    [anon_sym_required] = ACTIONS(3093),
    [anon_sym_nonisolated] = ACTIONS(3093),
    [anon_sym_public] = ACTIONS(3093),
    [anon_sym_private] = ACTIONS(3093),
    [anon_sym_internal] = ACTIONS(3093),
    [anon_sym_fileprivate] = ACTIONS(3093),
    [anon_sym_open] = ACTIONS(3093),
    [anon_sym_mutating] = ACTIONS(3093),
    [anon_sym_nonmutating] = ACTIONS(3093),
    [anon_sym_static] = ACTIONS(3093),
    [anon_sym_dynamic] = ACTIONS(3093),
    [anon_sym_optional] = ACTIONS(3093),
    [anon_sym_distributed] = ACTIONS(3093),
    [anon_sym_final] = ACTIONS(3093),
    [anon_sym_inout] = ACTIONS(3093),
    [anon_sym_ATescaping] = ACTIONS(3093),
    [anon_sym_ATautoclosure] = ACTIONS(3093),
    [anon_sym_weak] = ACTIONS(3093),
    [anon_sym_unowned] = ACTIONS(3091),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3093),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3093),
    [anon_sym_borrowing] = ACTIONS(3093),
    [anon_sym_consuming] = ACTIONS(3093),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3093),
    [sym__explicit_semi] = ACTIONS(3093),
    [sym__arrow_operator_custom] = ACTIONS(3093),
    [sym__dot_custom] = ACTIONS(3093),
    [sym__conjunction_operator_custom] = ACTIONS(3093),
    [sym__disjunction_operator_custom] = ACTIONS(3093),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3093),
    [sym__eq_custom] = ACTIONS(3093),
    [sym__eq_eq_custom] = ACTIONS(3093),
    [sym__plus_then_ws] = ACTIONS(3093),
    [sym__minus_then_ws] = ACTIONS(3093),
    [sym__bang_custom] = ACTIONS(3093),
    [sym__throws_keyword] = ACTIONS(3093),
    [sym__rethrows_keyword] = ACTIONS(3093),
    [sym_default_keyword] = ACTIONS(3093),
    [sym__as_custom] = ACTIONS(3093),
    [sym__as_quest_custom] = ACTIONS(3093),
    [sym__as_bang_custom] = ACTIONS(3093),
    [sym__async_keyword_custom] = ACTIONS(3093),
    [sym__custom_operator] = ACTIONS(3093),
  },
  [1105] = {
    [sym_simple_identifier] = STATE(2083),
    [sym__contextual_simple_identifier] = STATE(2130),
    [sym__unannotated_type] = STATE(1930),
    [sym_user_type] = STATE(2018),
    [sym__simple_user_type] = STATE(2008),
    [sym_tuple_type] = STATE(1902),
    [sym_function_type] = STATE(1930),
    [sym_array_type] = STATE(2018),
    [sym_dictionary_type] = STATE(2018),
    [sym_optional_type] = STATE(1930),
    [sym_metatype] = STATE(1930),
    [sym_opaque_type] = STATE(1930),
    [sym_existential_type] = STATE(1930),
    [sym_type_parameter_pack] = STATE(1930),
    [sym_type_pack_expansion] = STATE(1930),
    [sym_protocol_composition_type] = STATE(1930),
    [sym_suppressed_constraint] = STATE(1930),
    [sym__parenthesized_type] = STATE(2136),
    [sym__parameter_ownership_modifier] = STATE(2130),
    [ts_builtin_sym_end] = ACTIONS(617),
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3938),
    [aux_sym_simple_identifier_token2] = ACTIONS(3940),
    [aux_sym_simple_identifier_token3] = ACTIONS(3940),
    [aux_sym_simple_identifier_token4] = ACTIONS(3940),
    [anon_sym_actor] = ACTIONS(3938),
    [anon_sym_async] = ACTIONS(3938),
    [anon_sym_each] = ACTIONS(3942),
    [anon_sym_lazy] = ACTIONS(3938),
    [anon_sym_repeat] = ACTIONS(3944),
    [anon_sym_package] = ACTIONS(3938),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(3946),
    [anon_sym_LBRACK] = ACTIONS(3949),
    [anon_sym_DOT] = ACTIONS(623),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(3952),
    [anon_sym_any] = ACTIONS(3954),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(3956),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(3938),
    [anon_sym_consuming] = ACTIONS(3938),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [1106] = {
    [anon_sym_BANG] = ACTIONS(2991),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2993),
    [anon_sym_package] = ACTIONS(2993),
    [anon_sym_COMMA] = ACTIONS(2993),
    [anon_sym_LPAREN] = ACTIONS(2993),
    [anon_sym_LBRACK] = ACTIONS(2993),
    [anon_sym_DOT] = ACTIONS(2991),
    [anon_sym_QMARK] = ACTIONS(2991),
    [anon_sym_QMARK2] = ACTIONS(2993),
    [anon_sym_AMP] = ACTIONS(2993),
    [aux_sym_custom_operator_token1] = ACTIONS(2993),
    [anon_sym_LT] = ACTIONS(2991),
    [anon_sym_GT] = ACTIONS(2991),
    [anon_sym_LBRACE] = ACTIONS(2993),
    [anon_sym_CARET_LBRACE] = ACTIONS(2993),
    [anon_sym_RBRACE] = ACTIONS(2993),
    [anon_sym_case] = ACTIONS(2993),
    [anon_sym_fallthrough] = ACTIONS(2993),
    [anon_sym_PLUS_EQ] = ACTIONS(2993),
    [anon_sym_DASH_EQ] = ACTIONS(2993),
    [anon_sym_STAR_EQ] = ACTIONS(2993),
    [anon_sym_SLASH_EQ] = ACTIONS(2993),
    [anon_sym_PERCENT_EQ] = ACTIONS(2993),
    [anon_sym_BANG_EQ] = ACTIONS(2991),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2993),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2993),
    [anon_sym_LT_EQ] = ACTIONS(2993),
    [anon_sym_GT_EQ] = ACTIONS(2993),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2993),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2993),
    [anon_sym_is] = ACTIONS(2993),
    [anon_sym_PLUS] = ACTIONS(2991),
    [anon_sym_DASH] = ACTIONS(2991),
    [anon_sym_STAR] = ACTIONS(2991),
    [anon_sym_SLASH] = ACTIONS(2991),
    [anon_sym_PERCENT] = ACTIONS(2991),
    [anon_sym_PLUS_PLUS] = ACTIONS(2993),
    [anon_sym_DASH_DASH] = ACTIONS(2993),
    [anon_sym_PIPE] = ACTIONS(2993),
    [anon_sym_CARET] = ACTIONS(2991),
    [anon_sym_LT_LT] = ACTIONS(2993),
    [anon_sym_GT_GT] = ACTIONS(2993),
    [anon_sym_class] = ACTIONS(2993),
    [anon_sym_prefix] = ACTIONS(2993),
    [anon_sym_infix] = ACTIONS(2993),
    [anon_sym_postfix] = ACTIONS(2993),
    [anon_sym_AT] = ACTIONS(2991),
    [anon_sym_override] = ACTIONS(2993),
    [anon_sym_convenience] = ACTIONS(2993),
    [anon_sym_required] = ACTIONS(2993),
    [anon_sym_nonisolated] = ACTIONS(2993),
    [anon_sym_public] = ACTIONS(2993),
    [anon_sym_private] = ACTIONS(2993),
    [anon_sym_internal] = ACTIONS(2993),
    [anon_sym_fileprivate] = ACTIONS(2993),
    [anon_sym_open] = ACTIONS(2993),
    [anon_sym_mutating] = ACTIONS(2993),
    [anon_sym_nonmutating] = ACTIONS(2993),
    [anon_sym_static] = ACTIONS(2993),
    [anon_sym_dynamic] = ACTIONS(2993),
    [anon_sym_optional] = ACTIONS(2993),
    [anon_sym_distributed] = ACTIONS(2993),
    [anon_sym_final] = ACTIONS(2993),
    [anon_sym_inout] = ACTIONS(2993),
    [anon_sym_ATescaping] = ACTIONS(2993),
    [anon_sym_ATautoclosure] = ACTIONS(2993),
    [anon_sym_weak] = ACTIONS(2993),
    [anon_sym_unowned] = ACTIONS(2991),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2993),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2993),
    [anon_sym_borrowing] = ACTIONS(2993),
    [anon_sym_consuming] = ACTIONS(2993),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2993),
    [sym__explicit_semi] = ACTIONS(2993),
    [sym__arrow_operator_custom] = ACTIONS(2993),
    [sym__dot_custom] = ACTIONS(2993),
    [sym__conjunction_operator_custom] = ACTIONS(2993),
    [sym__disjunction_operator_custom] = ACTIONS(2993),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2993),
    [sym__eq_custom] = ACTIONS(2993),
    [sym__eq_eq_custom] = ACTIONS(2993),
    [sym__plus_then_ws] = ACTIONS(2993),
    [sym__minus_then_ws] = ACTIONS(2993),
    [sym__bang_custom] = ACTIONS(2993),
    [sym__throws_keyword] = ACTIONS(2993),
    [sym__rethrows_keyword] = ACTIONS(2993),
    [sym_default_keyword] = ACTIONS(2993),
    [sym__as_custom] = ACTIONS(2993),
    [sym__as_quest_custom] = ACTIONS(2993),
    [sym__as_bang_custom] = ACTIONS(2993),
    [sym__async_keyword_custom] = ACTIONS(2993),
    [sym__custom_operator] = ACTIONS(2993),
  },
  [1107] = {
    [sym__key_path_postfixes] = STATE(1107),
    [sym_bang] = STATE(1107),
    [aux_sym__key_path_component_repeat1] = STATE(1107),
    [anon_sym_BANG] = ACTIONS(3958),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3164),
    [anon_sym_package] = ACTIONS(3164),
    [anon_sym_COMMA] = ACTIONS(3164),
    [anon_sym_LPAREN] = ACTIONS(3164),
    [anon_sym_LBRACK] = ACTIONS(3961),
    [anon_sym_DOT] = ACTIONS(3169),
    [anon_sym_QMARK] = ACTIONS(3964),
    [anon_sym_QMARK2] = ACTIONS(3164),
    [anon_sym_AMP] = ACTIONS(3164),
    [aux_sym_custom_operator_token1] = ACTIONS(3164),
    [anon_sym_LT] = ACTIONS(3169),
    [anon_sym_GT] = ACTIONS(3169),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_CARET_LBRACE] = ACTIONS(3164),
    [anon_sym_RBRACE] = ACTIONS(3164),
    [anon_sym_self] = ACTIONS(3967),
    [anon_sym_case] = ACTIONS(3164),
    [anon_sym_fallthrough] = ACTIONS(3164),
    [anon_sym_PLUS_EQ] = ACTIONS(3164),
    [anon_sym_DASH_EQ] = ACTIONS(3164),
    [anon_sym_STAR_EQ] = ACTIONS(3164),
    [anon_sym_SLASH_EQ] = ACTIONS(3164),
    [anon_sym_PERCENT_EQ] = ACTIONS(3164),
    [anon_sym_BANG_EQ] = ACTIONS(3169),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3164),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3164),
    [anon_sym_LT_EQ] = ACTIONS(3164),
    [anon_sym_GT_EQ] = ACTIONS(3164),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3164),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3164),
    [anon_sym_is] = ACTIONS(3164),
    [anon_sym_PLUS] = ACTIONS(3169),
    [anon_sym_DASH] = ACTIONS(3169),
    [anon_sym_STAR] = ACTIONS(3169),
    [anon_sym_SLASH] = ACTIONS(3169),
    [anon_sym_PERCENT] = ACTIONS(3169),
    [anon_sym_PLUS_PLUS] = ACTIONS(3164),
    [anon_sym_DASH_DASH] = ACTIONS(3164),
    [anon_sym_PIPE] = ACTIONS(3164),
    [anon_sym_CARET] = ACTIONS(3169),
    [anon_sym_LT_LT] = ACTIONS(3164),
    [anon_sym_GT_GT] = ACTIONS(3164),
    [anon_sym_class] = ACTIONS(3164),
    [anon_sym_prefix] = ACTIONS(3164),
    [anon_sym_infix] = ACTIONS(3164),
    [anon_sym_postfix] = ACTIONS(3164),
    [anon_sym_AT] = ACTIONS(3169),
    [anon_sym_override] = ACTIONS(3164),
    [anon_sym_convenience] = ACTIONS(3164),
    [anon_sym_required] = ACTIONS(3164),
    [anon_sym_nonisolated] = ACTIONS(3164),
    [anon_sym_public] = ACTIONS(3164),
    [anon_sym_private] = ACTIONS(3164),
    [anon_sym_internal] = ACTIONS(3164),
    [anon_sym_fileprivate] = ACTIONS(3164),
    [anon_sym_open] = ACTIONS(3164),
    [anon_sym_mutating] = ACTIONS(3164),
    [anon_sym_nonmutating] = ACTIONS(3164),
    [anon_sym_static] = ACTIONS(3164),
    [anon_sym_dynamic] = ACTIONS(3164),
    [anon_sym_optional] = ACTIONS(3164),
    [anon_sym_distributed] = ACTIONS(3164),
    [anon_sym_final] = ACTIONS(3164),
    [anon_sym_inout] = ACTIONS(3164),
    [anon_sym_ATescaping] = ACTIONS(3164),
    [anon_sym_ATautoclosure] = ACTIONS(3164),
    [anon_sym_weak] = ACTIONS(3164),
    [anon_sym_unowned] = ACTIONS(3169),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3164),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3164),
    [anon_sym_borrowing] = ACTIONS(3164),
    [anon_sym_consuming] = ACTIONS(3164),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3164),
    [sym__explicit_semi] = ACTIONS(3164),
    [sym__dot_custom] = ACTIONS(3164),
    [sym__conjunction_operator_custom] = ACTIONS(3164),
    [sym__disjunction_operator_custom] = ACTIONS(3164),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3164),
    [sym__eq_custom] = ACTIONS(3164),
    [sym__eq_eq_custom] = ACTIONS(3164),
    [sym__plus_then_ws] = ACTIONS(3164),
    [sym__minus_then_ws] = ACTIONS(3164),
    [sym__bang_custom] = ACTIONS(3970),
    [sym_default_keyword] = ACTIONS(3164),
    [sym__as_custom] = ACTIONS(3164),
    [sym__as_quest_custom] = ACTIONS(3164),
    [sym__as_bang_custom] = ACTIONS(3164),
    [sym__custom_operator] = ACTIONS(3164),
  },
  [1108] = {
    [anon_sym_BANG] = ACTIONS(3129),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3131),
    [anon_sym_package] = ACTIONS(3131),
    [anon_sym_COMMA] = ACTIONS(3131),
    [anon_sym_LPAREN] = ACTIONS(3131),
    [anon_sym_LBRACK] = ACTIONS(3131),
    [anon_sym_DOT] = ACTIONS(3129),
    [anon_sym_QMARK] = ACTIONS(3129),
    [anon_sym_QMARK2] = ACTIONS(3131),
    [anon_sym_AMP] = ACTIONS(3131),
    [aux_sym_custom_operator_token1] = ACTIONS(3131),
    [anon_sym_LT] = ACTIONS(3129),
    [anon_sym_GT] = ACTIONS(3129),
    [anon_sym_LBRACE] = ACTIONS(3131),
    [anon_sym_CARET_LBRACE] = ACTIONS(3131),
    [anon_sym_RBRACE] = ACTIONS(3131),
    [anon_sym_case] = ACTIONS(3131),
    [anon_sym_fallthrough] = ACTIONS(3131),
    [anon_sym_PLUS_EQ] = ACTIONS(3131),
    [anon_sym_DASH_EQ] = ACTIONS(3131),
    [anon_sym_STAR_EQ] = ACTIONS(3131),
    [anon_sym_SLASH_EQ] = ACTIONS(3131),
    [anon_sym_PERCENT_EQ] = ACTIONS(3131),
    [anon_sym_BANG_EQ] = ACTIONS(3129),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3131),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3131),
    [anon_sym_LT_EQ] = ACTIONS(3131),
    [anon_sym_GT_EQ] = ACTIONS(3131),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3131),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3131),
    [anon_sym_is] = ACTIONS(3131),
    [anon_sym_PLUS] = ACTIONS(3129),
    [anon_sym_DASH] = ACTIONS(3129),
    [anon_sym_STAR] = ACTIONS(3129),
    [anon_sym_SLASH] = ACTIONS(3129),
    [anon_sym_PERCENT] = ACTIONS(3129),
    [anon_sym_PLUS_PLUS] = ACTIONS(3131),
    [anon_sym_DASH_DASH] = ACTIONS(3131),
    [anon_sym_PIPE] = ACTIONS(3131),
    [anon_sym_CARET] = ACTIONS(3129),
    [anon_sym_LT_LT] = ACTIONS(3131),
    [anon_sym_GT_GT] = ACTIONS(3131),
    [anon_sym_class] = ACTIONS(3131),
    [anon_sym_prefix] = ACTIONS(3131),
    [anon_sym_infix] = ACTIONS(3131),
    [anon_sym_postfix] = ACTIONS(3131),
    [anon_sym_AT] = ACTIONS(3129),
    [anon_sym_override] = ACTIONS(3131),
    [anon_sym_convenience] = ACTIONS(3131),
    [anon_sym_required] = ACTIONS(3131),
    [anon_sym_nonisolated] = ACTIONS(3131),
    [anon_sym_public] = ACTIONS(3131),
    [anon_sym_private] = ACTIONS(3131),
    [anon_sym_internal] = ACTIONS(3131),
    [anon_sym_fileprivate] = ACTIONS(3131),
    [anon_sym_open] = ACTIONS(3131),
    [anon_sym_mutating] = ACTIONS(3131),
    [anon_sym_nonmutating] = ACTIONS(3131),
    [anon_sym_static] = ACTIONS(3131),
    [anon_sym_dynamic] = ACTIONS(3131),
    [anon_sym_optional] = ACTIONS(3131),
    [anon_sym_distributed] = ACTIONS(3131),
    [anon_sym_final] = ACTIONS(3131),
    [anon_sym_inout] = ACTIONS(3131),
    [anon_sym_ATescaping] = ACTIONS(3131),
    [anon_sym_ATautoclosure] = ACTIONS(3131),
    [anon_sym_weak] = ACTIONS(3131),
    [anon_sym_unowned] = ACTIONS(3129),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3131),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3131),
    [anon_sym_borrowing] = ACTIONS(3131),
    [anon_sym_consuming] = ACTIONS(3131),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3131),
    [sym__explicit_semi] = ACTIONS(3131),
    [sym__arrow_operator_custom] = ACTIONS(3131),
    [sym__dot_custom] = ACTIONS(3131),
    [sym__conjunction_operator_custom] = ACTIONS(3131),
    [sym__disjunction_operator_custom] = ACTIONS(3131),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3131),
    [sym__eq_custom] = ACTIONS(3131),
    [sym__eq_eq_custom] = ACTIONS(3131),
    [sym__plus_then_ws] = ACTIONS(3131),
    [sym__minus_then_ws] = ACTIONS(3131),
    [sym__bang_custom] = ACTIONS(3131),
    [sym__throws_keyword] = ACTIONS(3131),
    [sym__rethrows_keyword] = ACTIONS(3131),
    [sym_default_keyword] = ACTIONS(3131),
    [sym__as_custom] = ACTIONS(3131),
    [sym__as_quest_custom] = ACTIONS(3131),
    [sym__as_bang_custom] = ACTIONS(3131),
    [sym__async_keyword_custom] = ACTIONS(3131),
    [sym__custom_operator] = ACTIONS(3131),
  },
  [1109] = {
    [anon_sym_BANG] = ACTIONS(3190),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3192),
    [anon_sym_package] = ACTIONS(3192),
    [anon_sym_COMMA] = ACTIONS(3192),
    [anon_sym_LPAREN] = ACTIONS(3192),
    [anon_sym_LBRACK] = ACTIONS(3192),
    [anon_sym_DOT] = ACTIONS(3190),
    [anon_sym_QMARK] = ACTIONS(3190),
    [anon_sym_QMARK2] = ACTIONS(3192),
    [anon_sym_AMP] = ACTIONS(3192),
    [aux_sym_custom_operator_token1] = ACTIONS(3192),
    [anon_sym_LT] = ACTIONS(3190),
    [anon_sym_GT] = ACTIONS(3190),
    [anon_sym_LBRACE] = ACTIONS(3192),
    [anon_sym_CARET_LBRACE] = ACTIONS(3192),
    [anon_sym_RBRACE] = ACTIONS(3192),
    [anon_sym_case] = ACTIONS(3192),
    [anon_sym_fallthrough] = ACTIONS(3192),
    [anon_sym_PLUS_EQ] = ACTIONS(3192),
    [anon_sym_DASH_EQ] = ACTIONS(3192),
    [anon_sym_STAR_EQ] = ACTIONS(3192),
    [anon_sym_SLASH_EQ] = ACTIONS(3192),
    [anon_sym_PERCENT_EQ] = ACTIONS(3192),
    [anon_sym_BANG_EQ] = ACTIONS(3190),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3192),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3192),
    [anon_sym_LT_EQ] = ACTIONS(3192),
    [anon_sym_GT_EQ] = ACTIONS(3192),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3192),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3192),
    [anon_sym_is] = ACTIONS(3192),
    [anon_sym_PLUS] = ACTIONS(3190),
    [anon_sym_DASH] = ACTIONS(3190),
    [anon_sym_STAR] = ACTIONS(3190),
    [anon_sym_SLASH] = ACTIONS(3190),
    [anon_sym_PERCENT] = ACTIONS(3190),
    [anon_sym_PLUS_PLUS] = ACTIONS(3192),
    [anon_sym_DASH_DASH] = ACTIONS(3192),
    [anon_sym_PIPE] = ACTIONS(3192),
    [anon_sym_CARET] = ACTIONS(3190),
    [anon_sym_LT_LT] = ACTIONS(3192),
    [anon_sym_GT_GT] = ACTIONS(3192),
    [anon_sym_class] = ACTIONS(3192),
    [anon_sym_prefix] = ACTIONS(3192),
    [anon_sym_infix] = ACTIONS(3192),
    [anon_sym_postfix] = ACTIONS(3192),
    [anon_sym_AT] = ACTIONS(3190),
    [anon_sym_override] = ACTIONS(3192),
    [anon_sym_convenience] = ACTIONS(3192),
    [anon_sym_required] = ACTIONS(3192),
    [anon_sym_nonisolated] = ACTIONS(3192),
    [anon_sym_public] = ACTIONS(3192),
    [anon_sym_private] = ACTIONS(3192),
    [anon_sym_internal] = ACTIONS(3192),
    [anon_sym_fileprivate] = ACTIONS(3192),
    [anon_sym_open] = ACTIONS(3192),
    [anon_sym_mutating] = ACTIONS(3192),
    [anon_sym_nonmutating] = ACTIONS(3192),
    [anon_sym_static] = ACTIONS(3192),
    [anon_sym_dynamic] = ACTIONS(3192),
    [anon_sym_optional] = ACTIONS(3192),
    [anon_sym_distributed] = ACTIONS(3192),
    [anon_sym_final] = ACTIONS(3192),
    [anon_sym_inout] = ACTIONS(3192),
    [anon_sym_ATescaping] = ACTIONS(3192),
    [anon_sym_ATautoclosure] = ACTIONS(3192),
    [anon_sym_weak] = ACTIONS(3192),
    [anon_sym_unowned] = ACTIONS(3190),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3192),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3192),
    [anon_sym_borrowing] = ACTIONS(3192),
    [anon_sym_consuming] = ACTIONS(3192),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3192),
    [sym__explicit_semi] = ACTIONS(3192),
    [sym__arrow_operator_custom] = ACTIONS(3192),
    [sym__dot_custom] = ACTIONS(3192),
    [sym__conjunction_operator_custom] = ACTIONS(3192),
    [sym__disjunction_operator_custom] = ACTIONS(3192),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3192),
    [sym__eq_custom] = ACTIONS(3192),
    [sym__eq_eq_custom] = ACTIONS(3192),
    [sym__plus_then_ws] = ACTIONS(3192),
    [sym__minus_then_ws] = ACTIONS(3192),
    [sym__bang_custom] = ACTIONS(3192),
    [sym__throws_keyword] = ACTIONS(3192),
    [sym__rethrows_keyword] = ACTIONS(3192),
    [sym_default_keyword] = ACTIONS(3192),
    [sym__as_custom] = ACTIONS(3192),
    [sym__as_quest_custom] = ACTIONS(3192),
    [sym__as_bang_custom] = ACTIONS(3192),
    [sym__async_keyword_custom] = ACTIONS(3192),
    [sym__custom_operator] = ACTIONS(3192),
  },
  [1110] = {
    [ts_builtin_sym_end] = ACTIONS(2659),
    [anon_sym_BANG] = ACTIONS(2657),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2657),
    [aux_sym_simple_identifier_token2] = ACTIONS(2659),
    [aux_sym_simple_identifier_token3] = ACTIONS(2659),
    [aux_sym_simple_identifier_token4] = ACTIONS(2659),
    [anon_sym_actor] = ACTIONS(2657),
    [anon_sym_async] = ACTIONS(2657),
    [anon_sym_each] = ACTIONS(2657),
    [anon_sym_lazy] = ACTIONS(2657),
    [anon_sym_repeat] = ACTIONS(2657),
    [anon_sym_package] = ACTIONS(2657),
    [anon_sym_nil] = ACTIONS(2657),
    [sym_real_literal] = ACTIONS(2659),
    [sym_integer_literal] = ACTIONS(2657),
    [sym_hex_literal] = ACTIONS(2657),
    [sym_oct_literal] = ACTIONS(2659),
    [sym_bin_literal] = ACTIONS(2659),
    [anon_sym_true] = ACTIONS(2657),
    [anon_sym_false] = ACTIONS(2657),
    [anon_sym_DQUOTE] = ACTIONS(2657),
    [anon_sym_BSLASH] = ACTIONS(2659),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2659),
    [anon_sym_COMMA] = ACTIONS(2659),
    [sym__oneline_regex_literal] = ACTIONS(2657),
    [anon_sym_LPAREN] = ACTIONS(2659),
    [anon_sym_LBRACK] = ACTIONS(2659),
    [anon_sym_QMARK] = ACTIONS(2657),
    [anon_sym_QMARK2] = ACTIONS(2659),
    [anon_sym_AMP] = ACTIONS(2659),
    [anon_sym_TILDE] = ACTIONS(2659),
    [anon_sym_if] = ACTIONS(2657),
    [anon_sym_switch] = ACTIONS(2657),
    [aux_sym_custom_operator_token1] = ACTIONS(2659),
    [anon_sym_LT] = ACTIONS(2657),
    [anon_sym_GT] = ACTIONS(2657),
    [anon_sym_await] = ACTIONS(2657),
    [anon_sym_LBRACE] = ACTIONS(2659),
    [anon_sym_CARET_LBRACE] = ACTIONS(2659),
    [anon_sym_RBRACE] = ACTIONS(2659),
    [anon_sym_self] = ACTIONS(2657),
    [anon_sym_super] = ACTIONS(2657),
    [anon_sym_try] = ACTIONS(2657),
    [anon_sym_PLUS_EQ] = ACTIONS(2659),
    [anon_sym_DASH_EQ] = ACTIONS(2659),
    [anon_sym_STAR_EQ] = ACTIONS(2659),
    [anon_sym_SLASH_EQ] = ACTIONS(2659),
    [anon_sym_PERCENT_EQ] = ACTIONS(2659),
    [anon_sym_BANG_EQ] = ACTIONS(2657),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2659),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2659),
    [anon_sym_LT_EQ] = ACTIONS(2659),
    [anon_sym_GT_EQ] = ACTIONS(2659),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2659),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2659),
    [anon_sym_is] = ACTIONS(2657),
    [anon_sym_PLUS] = ACTIONS(2657),
    [anon_sym_DASH] = ACTIONS(2657),
    [anon_sym_STAR] = ACTIONS(2657),
    [anon_sym_SLASH] = ACTIONS(2657),
    [anon_sym_PERCENT] = ACTIONS(2657),
    [anon_sym_PLUS_PLUS] = ACTIONS(2659),
    [anon_sym_DASH_DASH] = ACTIONS(2659),
    [anon_sym_PIPE] = ACTIONS(2659),
    [anon_sym_CARET] = ACTIONS(2657),
    [anon_sym_LT_LT] = ACTIONS(2659),
    [anon_sym_GT_GT] = ACTIONS(2659),
    [anon_sym_borrowing] = ACTIONS(2657),
    [anon_sym_consuming] = ACTIONS(2657),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2659),
    [sym_raw_str_end_part] = ACTIONS(2659),
    [sym__implicit_semi] = ACTIONS(2659),
    [sym__explicit_semi] = ACTIONS(2659),
    [sym__dot_custom] = ACTIONS(2659),
    [sym__conjunction_operator_custom] = ACTIONS(2659),
    [sym__disjunction_operator_custom] = ACTIONS(2659),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2659),
    [sym__eq_custom] = ACTIONS(2659),
    [sym__eq_eq_custom] = ACTIONS(2659),
    [sym__plus_then_ws] = ACTIONS(2659),
    [sym__minus_then_ws] = ACTIONS(2659),
    [sym__bang_custom] = ACTIONS(2659),
    [sym_where_keyword] = ACTIONS(2659),
    [sym__as_custom] = ACTIONS(2659),
    [sym__as_quest_custom] = ACTIONS(2659),
    [sym__as_bang_custom] = ACTIONS(2659),
    [sym__custom_operator] = ACTIONS(2659),
    [sym__hash_symbol_custom] = ACTIONS(2659),
    [sym__directive_if] = ACTIONS(2659),
    [sym__directive_elseif] = ACTIONS(2659),
    [sym__directive_else] = ACTIONS(2659),
    [sym__directive_endif] = ACTIONS(2659),
  },
  [1111] = {
    [sym__key_path_postfixes] = STATE(1095),
    [sym_bang] = STATE(1095),
    [aux_sym__key_path_component_repeat1] = STATE(1095),
    [anon_sym_BANG] = ACTIONS(3099),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3101),
    [anon_sym_package] = ACTIONS(3101),
    [anon_sym_COMMA] = ACTIONS(3101),
    [anon_sym_LPAREN] = ACTIONS(3101),
    [anon_sym_LBRACK] = ACTIONS(3101),
    [anon_sym_DOT] = ACTIONS(3099),
    [anon_sym_QMARK] = ACTIONS(3099),
    [anon_sym_QMARK2] = ACTIONS(3101),
    [anon_sym_AMP] = ACTIONS(3101),
    [aux_sym_custom_operator_token1] = ACTIONS(3101),
    [anon_sym_LT] = ACTIONS(3099),
    [anon_sym_GT] = ACTIONS(3099),
    [anon_sym_LBRACE] = ACTIONS(3101),
    [anon_sym_CARET_LBRACE] = ACTIONS(3101),
    [anon_sym_RBRACE] = ACTIONS(3101),
    [anon_sym_self] = ACTIONS(3973),
    [anon_sym_case] = ACTIONS(3101),
    [anon_sym_fallthrough] = ACTIONS(3101),
    [anon_sym_PLUS_EQ] = ACTIONS(3101),
    [anon_sym_DASH_EQ] = ACTIONS(3101),
    [anon_sym_STAR_EQ] = ACTIONS(3101),
    [anon_sym_SLASH_EQ] = ACTIONS(3101),
    [anon_sym_PERCENT_EQ] = ACTIONS(3101),
    [anon_sym_BANG_EQ] = ACTIONS(3099),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3101),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3101),
    [anon_sym_LT_EQ] = ACTIONS(3101),
    [anon_sym_GT_EQ] = ACTIONS(3101),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3101),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3101),
    [anon_sym_is] = ACTIONS(3101),
    [anon_sym_PLUS] = ACTIONS(3099),
    [anon_sym_DASH] = ACTIONS(3099),
    [anon_sym_STAR] = ACTIONS(3099),
    [anon_sym_SLASH] = ACTIONS(3099),
    [anon_sym_PERCENT] = ACTIONS(3099),
    [anon_sym_PLUS_PLUS] = ACTIONS(3101),
    [anon_sym_DASH_DASH] = ACTIONS(3101),
    [anon_sym_PIPE] = ACTIONS(3101),
    [anon_sym_CARET] = ACTIONS(3099),
    [anon_sym_LT_LT] = ACTIONS(3101),
    [anon_sym_GT_GT] = ACTIONS(3101),
    [anon_sym_class] = ACTIONS(3101),
    [anon_sym_prefix] = ACTIONS(3101),
    [anon_sym_infix] = ACTIONS(3101),
    [anon_sym_postfix] = ACTIONS(3101),
    [anon_sym_AT] = ACTIONS(3099),
    [anon_sym_override] = ACTIONS(3101),
    [anon_sym_convenience] = ACTIONS(3101),
    [anon_sym_required] = ACTIONS(3101),
    [anon_sym_nonisolated] = ACTIONS(3101),
    [anon_sym_public] = ACTIONS(3101),
    [anon_sym_private] = ACTIONS(3101),
    [anon_sym_internal] = ACTIONS(3101),
    [anon_sym_fileprivate] = ACTIONS(3101),
    [anon_sym_open] = ACTIONS(3101),
    [anon_sym_mutating] = ACTIONS(3101),
    [anon_sym_nonmutating] = ACTIONS(3101),
    [anon_sym_static] = ACTIONS(3101),
    [anon_sym_dynamic] = ACTIONS(3101),
    [anon_sym_optional] = ACTIONS(3101),
    [anon_sym_distributed] = ACTIONS(3101),
    [anon_sym_final] = ACTIONS(3101),
    [anon_sym_inout] = ACTIONS(3101),
    [anon_sym_ATescaping] = ACTIONS(3101),
    [anon_sym_ATautoclosure] = ACTIONS(3101),
    [anon_sym_weak] = ACTIONS(3101),
    [anon_sym_unowned] = ACTIONS(3099),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3101),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3101),
    [anon_sym_borrowing] = ACTIONS(3101),
    [anon_sym_consuming] = ACTIONS(3101),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3101),
    [sym__explicit_semi] = ACTIONS(3101),
    [sym__dot_custom] = ACTIONS(3101),
    [sym__conjunction_operator_custom] = ACTIONS(3101),
    [sym__disjunction_operator_custom] = ACTIONS(3101),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3101),
    [sym__eq_custom] = ACTIONS(3101),
    [sym__eq_eq_custom] = ACTIONS(3101),
    [sym__plus_then_ws] = ACTIONS(3101),
    [sym__minus_then_ws] = ACTIONS(3101),
    [sym__bang_custom] = ACTIONS(3101),
    [sym_default_keyword] = ACTIONS(3101),
    [sym__as_custom] = ACTIONS(3101),
    [sym__as_quest_custom] = ACTIONS(3101),
    [sym__as_bang_custom] = ACTIONS(3101),
    [sym__custom_operator] = ACTIONS(3101),
  },
  [1112] = {
    [anon_sym_BANG] = ACTIONS(3186),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3188),
    [anon_sym_package] = ACTIONS(3188),
    [anon_sym_COMMA] = ACTIONS(3188),
    [anon_sym_LPAREN] = ACTIONS(3188),
    [anon_sym_LBRACK] = ACTIONS(3188),
    [anon_sym_DOT] = ACTIONS(3186),
    [anon_sym_QMARK] = ACTIONS(3186),
    [anon_sym_QMARK2] = ACTIONS(3188),
    [anon_sym_AMP] = ACTIONS(3188),
    [aux_sym_custom_operator_token1] = ACTIONS(3188),
    [anon_sym_LT] = ACTIONS(3186),
    [anon_sym_GT] = ACTIONS(3186),
    [anon_sym_LBRACE] = ACTIONS(3188),
    [anon_sym_CARET_LBRACE] = ACTIONS(3188),
    [anon_sym_RBRACE] = ACTIONS(3188),
    [anon_sym_case] = ACTIONS(3188),
    [anon_sym_fallthrough] = ACTIONS(3188),
    [anon_sym_PLUS_EQ] = ACTIONS(3188),
    [anon_sym_DASH_EQ] = ACTIONS(3188),
    [anon_sym_STAR_EQ] = ACTIONS(3188),
    [anon_sym_SLASH_EQ] = ACTIONS(3188),
    [anon_sym_PERCENT_EQ] = ACTIONS(3188),
    [anon_sym_BANG_EQ] = ACTIONS(3186),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3188),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3188),
    [anon_sym_LT_EQ] = ACTIONS(3188),
    [anon_sym_GT_EQ] = ACTIONS(3188),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3188),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3188),
    [anon_sym_is] = ACTIONS(3188),
    [anon_sym_PLUS] = ACTIONS(3186),
    [anon_sym_DASH] = ACTIONS(3186),
    [anon_sym_STAR] = ACTIONS(3186),
    [anon_sym_SLASH] = ACTIONS(3186),
    [anon_sym_PERCENT] = ACTIONS(3186),
    [anon_sym_PLUS_PLUS] = ACTIONS(3188),
    [anon_sym_DASH_DASH] = ACTIONS(3188),
    [anon_sym_PIPE] = ACTIONS(3188),
    [anon_sym_CARET] = ACTIONS(3186),
    [anon_sym_LT_LT] = ACTIONS(3188),
    [anon_sym_GT_GT] = ACTIONS(3188),
    [anon_sym_class] = ACTIONS(3188),
    [anon_sym_prefix] = ACTIONS(3188),
    [anon_sym_infix] = ACTIONS(3188),
    [anon_sym_postfix] = ACTIONS(3188),
    [anon_sym_AT] = ACTIONS(3186),
    [anon_sym_override] = ACTIONS(3188),
    [anon_sym_convenience] = ACTIONS(3188),
    [anon_sym_required] = ACTIONS(3188),
    [anon_sym_nonisolated] = ACTIONS(3188),
    [anon_sym_public] = ACTIONS(3188),
    [anon_sym_private] = ACTIONS(3188),
    [anon_sym_internal] = ACTIONS(3188),
    [anon_sym_fileprivate] = ACTIONS(3188),
    [anon_sym_open] = ACTIONS(3188),
    [anon_sym_mutating] = ACTIONS(3188),
    [anon_sym_nonmutating] = ACTIONS(3188),
    [anon_sym_static] = ACTIONS(3188),
    [anon_sym_dynamic] = ACTIONS(3188),
    [anon_sym_optional] = ACTIONS(3188),
    [anon_sym_distributed] = ACTIONS(3188),
    [anon_sym_final] = ACTIONS(3188),
    [anon_sym_inout] = ACTIONS(3188),
    [anon_sym_ATescaping] = ACTIONS(3188),
    [anon_sym_ATautoclosure] = ACTIONS(3188),
    [anon_sym_weak] = ACTIONS(3188),
    [anon_sym_unowned] = ACTIONS(3186),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3188),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3188),
    [anon_sym_borrowing] = ACTIONS(3188),
    [anon_sym_consuming] = ACTIONS(3188),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3188),
    [sym__explicit_semi] = ACTIONS(3188),
    [sym__arrow_operator_custom] = ACTIONS(3188),
    [sym__dot_custom] = ACTIONS(3188),
    [sym__conjunction_operator_custom] = ACTIONS(3188),
    [sym__disjunction_operator_custom] = ACTIONS(3188),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3188),
    [sym__eq_custom] = ACTIONS(3188),
    [sym__eq_eq_custom] = ACTIONS(3188),
    [sym__plus_then_ws] = ACTIONS(3188),
    [sym__minus_then_ws] = ACTIONS(3188),
    [sym__bang_custom] = ACTIONS(3188),
    [sym__throws_keyword] = ACTIONS(3188),
    [sym__rethrows_keyword] = ACTIONS(3188),
    [sym_default_keyword] = ACTIONS(3188),
    [sym__as_custom] = ACTIONS(3188),
    [sym__as_quest_custom] = ACTIONS(3188),
    [sym__as_bang_custom] = ACTIONS(3188),
    [sym__async_keyword_custom] = ACTIONS(3188),
    [sym__custom_operator] = ACTIONS(3188),
  },
  [1113] = {
    [anon_sym_BANG] = ACTIONS(3149),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3151),
    [anon_sym_package] = ACTIONS(3151),
    [anon_sym_COMMA] = ACTIONS(3151),
    [anon_sym_LPAREN] = ACTIONS(3151),
    [anon_sym_LBRACK] = ACTIONS(3151),
    [anon_sym_DOT] = ACTIONS(3149),
    [anon_sym_QMARK] = ACTIONS(3149),
    [anon_sym_QMARK2] = ACTIONS(3151),
    [anon_sym_AMP] = ACTIONS(3151),
    [aux_sym_custom_operator_token1] = ACTIONS(3151),
    [anon_sym_LT] = ACTIONS(3149),
    [anon_sym_GT] = ACTIONS(3149),
    [anon_sym_LBRACE] = ACTIONS(3151),
    [anon_sym_CARET_LBRACE] = ACTIONS(3151),
    [anon_sym_RBRACE] = ACTIONS(3151),
    [anon_sym_case] = ACTIONS(3151),
    [anon_sym_fallthrough] = ACTIONS(3151),
    [anon_sym_PLUS_EQ] = ACTIONS(3151),
    [anon_sym_DASH_EQ] = ACTIONS(3151),
    [anon_sym_STAR_EQ] = ACTIONS(3151),
    [anon_sym_SLASH_EQ] = ACTIONS(3151),
    [anon_sym_PERCENT_EQ] = ACTIONS(3151),
    [anon_sym_BANG_EQ] = ACTIONS(3149),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3151),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3151),
    [anon_sym_LT_EQ] = ACTIONS(3151),
    [anon_sym_GT_EQ] = ACTIONS(3151),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3151),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3151),
    [anon_sym_is] = ACTIONS(3151),
    [anon_sym_PLUS] = ACTIONS(3149),
    [anon_sym_DASH] = ACTIONS(3149),
    [anon_sym_STAR] = ACTIONS(3149),
    [anon_sym_SLASH] = ACTIONS(3149),
    [anon_sym_PERCENT] = ACTIONS(3149),
    [anon_sym_PLUS_PLUS] = ACTIONS(3151),
    [anon_sym_DASH_DASH] = ACTIONS(3151),
    [anon_sym_PIPE] = ACTIONS(3151),
    [anon_sym_CARET] = ACTIONS(3149),
    [anon_sym_LT_LT] = ACTIONS(3151),
    [anon_sym_GT_GT] = ACTIONS(3151),
    [anon_sym_class] = ACTIONS(3151),
    [anon_sym_prefix] = ACTIONS(3151),
    [anon_sym_infix] = ACTIONS(3151),
    [anon_sym_postfix] = ACTIONS(3151),
    [anon_sym_AT] = ACTIONS(3149),
    [anon_sym_override] = ACTIONS(3151),
    [anon_sym_convenience] = ACTIONS(3151),
    [anon_sym_required] = ACTIONS(3151),
    [anon_sym_nonisolated] = ACTIONS(3151),
    [anon_sym_public] = ACTIONS(3151),
    [anon_sym_private] = ACTIONS(3151),
    [anon_sym_internal] = ACTIONS(3151),
    [anon_sym_fileprivate] = ACTIONS(3151),
    [anon_sym_open] = ACTIONS(3151),
    [anon_sym_mutating] = ACTIONS(3151),
    [anon_sym_nonmutating] = ACTIONS(3151),
    [anon_sym_static] = ACTIONS(3151),
    [anon_sym_dynamic] = ACTIONS(3151),
    [anon_sym_optional] = ACTIONS(3151),
    [anon_sym_distributed] = ACTIONS(3151),
    [anon_sym_final] = ACTIONS(3151),
    [anon_sym_inout] = ACTIONS(3151),
    [anon_sym_ATescaping] = ACTIONS(3151),
    [anon_sym_ATautoclosure] = ACTIONS(3151),
    [anon_sym_weak] = ACTIONS(3151),
    [anon_sym_unowned] = ACTIONS(3149),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3151),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3151),
    [anon_sym_borrowing] = ACTIONS(3151),
    [anon_sym_consuming] = ACTIONS(3151),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3151),
    [sym__explicit_semi] = ACTIONS(3151),
    [sym__arrow_operator_custom] = ACTIONS(3151),
    [sym__dot_custom] = ACTIONS(3151),
    [sym__conjunction_operator_custom] = ACTIONS(3151),
    [sym__disjunction_operator_custom] = ACTIONS(3151),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3151),
    [sym__eq_custom] = ACTIONS(3151),
    [sym__eq_eq_custom] = ACTIONS(3151),
    [sym__plus_then_ws] = ACTIONS(3151),
    [sym__minus_then_ws] = ACTIONS(3151),
    [sym__bang_custom] = ACTIONS(3151),
    [sym__throws_keyword] = ACTIONS(3151),
    [sym__rethrows_keyword] = ACTIONS(3151),
    [sym_default_keyword] = ACTIONS(3151),
    [sym__as_custom] = ACTIONS(3151),
    [sym__as_quest_custom] = ACTIONS(3151),
    [sym__as_bang_custom] = ACTIONS(3151),
    [sym__async_keyword_custom] = ACTIONS(3151),
    [sym__custom_operator] = ACTIONS(3151),
  },
  [1114] = {
    [anon_sym_BANG] = ACTIONS(3095),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3097),
    [anon_sym_package] = ACTIONS(3097),
    [anon_sym_COMMA] = ACTIONS(3097),
    [anon_sym_LPAREN] = ACTIONS(3097),
    [anon_sym_LBRACK] = ACTIONS(3097),
    [anon_sym_DOT] = ACTIONS(3095),
    [anon_sym_QMARK] = ACTIONS(3095),
    [anon_sym_QMARK2] = ACTIONS(3097),
    [anon_sym_AMP] = ACTIONS(3097),
    [aux_sym_custom_operator_token1] = ACTIONS(3097),
    [anon_sym_LT] = ACTIONS(3095),
    [anon_sym_GT] = ACTIONS(3095),
    [anon_sym_LBRACE] = ACTIONS(3097),
    [anon_sym_CARET_LBRACE] = ACTIONS(3097),
    [anon_sym_RBRACE] = ACTIONS(3097),
    [anon_sym_case] = ACTIONS(3097),
    [anon_sym_fallthrough] = ACTIONS(3097),
    [anon_sym_PLUS_EQ] = ACTIONS(3097),
    [anon_sym_DASH_EQ] = ACTIONS(3097),
    [anon_sym_STAR_EQ] = ACTIONS(3097),
    [anon_sym_SLASH_EQ] = ACTIONS(3097),
    [anon_sym_PERCENT_EQ] = ACTIONS(3097),
    [anon_sym_BANG_EQ] = ACTIONS(3095),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3097),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3097),
    [anon_sym_LT_EQ] = ACTIONS(3097),
    [anon_sym_GT_EQ] = ACTIONS(3097),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3097),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3097),
    [anon_sym_is] = ACTIONS(3097),
    [anon_sym_PLUS] = ACTIONS(3095),
    [anon_sym_DASH] = ACTIONS(3095),
    [anon_sym_STAR] = ACTIONS(3095),
    [anon_sym_SLASH] = ACTIONS(3095),
    [anon_sym_PERCENT] = ACTIONS(3095),
    [anon_sym_PLUS_PLUS] = ACTIONS(3097),
    [anon_sym_DASH_DASH] = ACTIONS(3097),
    [anon_sym_PIPE] = ACTIONS(3097),
    [anon_sym_CARET] = ACTIONS(3095),
    [anon_sym_LT_LT] = ACTIONS(3097),
    [anon_sym_GT_GT] = ACTIONS(3097),
    [anon_sym_class] = ACTIONS(3097),
    [anon_sym_prefix] = ACTIONS(3097),
    [anon_sym_infix] = ACTIONS(3097),
    [anon_sym_postfix] = ACTIONS(3097),
    [anon_sym_AT] = ACTIONS(3095),
    [anon_sym_override] = ACTIONS(3097),
    [anon_sym_convenience] = ACTIONS(3097),
    [anon_sym_required] = ACTIONS(3097),
    [anon_sym_nonisolated] = ACTIONS(3097),
    [anon_sym_public] = ACTIONS(3097),
    [anon_sym_private] = ACTIONS(3097),
    [anon_sym_internal] = ACTIONS(3097),
    [anon_sym_fileprivate] = ACTIONS(3097),
    [anon_sym_open] = ACTIONS(3097),
    [anon_sym_mutating] = ACTIONS(3097),
    [anon_sym_nonmutating] = ACTIONS(3097),
    [anon_sym_static] = ACTIONS(3097),
    [anon_sym_dynamic] = ACTIONS(3097),
    [anon_sym_optional] = ACTIONS(3097),
    [anon_sym_distributed] = ACTIONS(3097),
    [anon_sym_final] = ACTIONS(3097),
    [anon_sym_inout] = ACTIONS(3097),
    [anon_sym_ATescaping] = ACTIONS(3097),
    [anon_sym_ATautoclosure] = ACTIONS(3097),
    [anon_sym_weak] = ACTIONS(3097),
    [anon_sym_unowned] = ACTIONS(3095),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3097),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3097),
    [anon_sym_borrowing] = ACTIONS(3097),
    [anon_sym_consuming] = ACTIONS(3097),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3097),
    [sym__explicit_semi] = ACTIONS(3097),
    [sym__arrow_operator_custom] = ACTIONS(3097),
    [sym__dot_custom] = ACTIONS(3097),
    [sym__conjunction_operator_custom] = ACTIONS(3097),
    [sym__disjunction_operator_custom] = ACTIONS(3097),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3097),
    [sym__eq_custom] = ACTIONS(3097),
    [sym__eq_eq_custom] = ACTIONS(3097),
    [sym__plus_then_ws] = ACTIONS(3097),
    [sym__minus_then_ws] = ACTIONS(3097),
    [sym__bang_custom] = ACTIONS(3097),
    [sym__throws_keyword] = ACTIONS(3097),
    [sym__rethrows_keyword] = ACTIONS(3097),
    [sym_default_keyword] = ACTIONS(3097),
    [sym__as_custom] = ACTIONS(3097),
    [sym__as_quest_custom] = ACTIONS(3097),
    [sym__as_bang_custom] = ACTIONS(3097),
    [sym__async_keyword_custom] = ACTIONS(3097),
    [sym__custom_operator] = ACTIONS(3097),
  },
  [1115] = {
    [sym__key_path_postfixes] = STATE(1107),
    [sym_bang] = STATE(1107),
    [aux_sym__key_path_component_repeat1] = STATE(1107),
    [anon_sym_BANG] = ACTIONS(3099),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3101),
    [anon_sym_package] = ACTIONS(3101),
    [anon_sym_COMMA] = ACTIONS(3101),
    [anon_sym_LPAREN] = ACTIONS(3101),
    [anon_sym_LBRACK] = ACTIONS(3101),
    [anon_sym_DOT] = ACTIONS(3099),
    [anon_sym_QMARK] = ACTIONS(3099),
    [anon_sym_QMARK2] = ACTIONS(3101),
    [anon_sym_AMP] = ACTIONS(3101),
    [aux_sym_custom_operator_token1] = ACTIONS(3101),
    [anon_sym_LT] = ACTIONS(3099),
    [anon_sym_GT] = ACTIONS(3099),
    [anon_sym_LBRACE] = ACTIONS(3101),
    [anon_sym_CARET_LBRACE] = ACTIONS(3101),
    [anon_sym_RBRACE] = ACTIONS(3101),
    [anon_sym_self] = ACTIONS(3936),
    [anon_sym_case] = ACTIONS(3101),
    [anon_sym_fallthrough] = ACTIONS(3101),
    [anon_sym_PLUS_EQ] = ACTIONS(3101),
    [anon_sym_DASH_EQ] = ACTIONS(3101),
    [anon_sym_STAR_EQ] = ACTIONS(3101),
    [anon_sym_SLASH_EQ] = ACTIONS(3101),
    [anon_sym_PERCENT_EQ] = ACTIONS(3101),
    [anon_sym_BANG_EQ] = ACTIONS(3099),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3101),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3101),
    [anon_sym_LT_EQ] = ACTIONS(3101),
    [anon_sym_GT_EQ] = ACTIONS(3101),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3101),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3101),
    [anon_sym_is] = ACTIONS(3101),
    [anon_sym_PLUS] = ACTIONS(3099),
    [anon_sym_DASH] = ACTIONS(3099),
    [anon_sym_STAR] = ACTIONS(3099),
    [anon_sym_SLASH] = ACTIONS(3099),
    [anon_sym_PERCENT] = ACTIONS(3099),
    [anon_sym_PLUS_PLUS] = ACTIONS(3101),
    [anon_sym_DASH_DASH] = ACTIONS(3101),
    [anon_sym_PIPE] = ACTIONS(3101),
    [anon_sym_CARET] = ACTIONS(3099),
    [anon_sym_LT_LT] = ACTIONS(3101),
    [anon_sym_GT_GT] = ACTIONS(3101),
    [anon_sym_class] = ACTIONS(3101),
    [anon_sym_prefix] = ACTIONS(3101),
    [anon_sym_infix] = ACTIONS(3101),
    [anon_sym_postfix] = ACTIONS(3101),
    [anon_sym_AT] = ACTIONS(3099),
    [anon_sym_override] = ACTIONS(3101),
    [anon_sym_convenience] = ACTIONS(3101),
    [anon_sym_required] = ACTIONS(3101),
    [anon_sym_nonisolated] = ACTIONS(3101),
    [anon_sym_public] = ACTIONS(3101),
    [anon_sym_private] = ACTIONS(3101),
    [anon_sym_internal] = ACTIONS(3101),
    [anon_sym_fileprivate] = ACTIONS(3101),
    [anon_sym_open] = ACTIONS(3101),
    [anon_sym_mutating] = ACTIONS(3101),
    [anon_sym_nonmutating] = ACTIONS(3101),
    [anon_sym_static] = ACTIONS(3101),
    [anon_sym_dynamic] = ACTIONS(3101),
    [anon_sym_optional] = ACTIONS(3101),
    [anon_sym_distributed] = ACTIONS(3101),
    [anon_sym_final] = ACTIONS(3101),
    [anon_sym_inout] = ACTIONS(3101),
    [anon_sym_ATescaping] = ACTIONS(3101),
    [anon_sym_ATautoclosure] = ACTIONS(3101),
    [anon_sym_weak] = ACTIONS(3101),
    [anon_sym_unowned] = ACTIONS(3099),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3101),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3101),
    [anon_sym_borrowing] = ACTIONS(3101),
    [anon_sym_consuming] = ACTIONS(3101),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3101),
    [sym__explicit_semi] = ACTIONS(3101),
    [sym__dot_custom] = ACTIONS(3101),
    [sym__conjunction_operator_custom] = ACTIONS(3101),
    [sym__disjunction_operator_custom] = ACTIONS(3101),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3101),
    [sym__eq_custom] = ACTIONS(3101),
    [sym__eq_eq_custom] = ACTIONS(3101),
    [sym__plus_then_ws] = ACTIONS(3101),
    [sym__minus_then_ws] = ACTIONS(3101),
    [sym__bang_custom] = ACTIONS(3101),
    [sym_default_keyword] = ACTIONS(3101),
    [sym__as_custom] = ACTIONS(3101),
    [sym__as_quest_custom] = ACTIONS(3101),
    [sym__as_bang_custom] = ACTIONS(3101),
    [sym__custom_operator] = ACTIONS(3101),
  },
  [1116] = {
    [anon_sym_BANG] = ACTIONS(3145),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3147),
    [anon_sym_package] = ACTIONS(3147),
    [anon_sym_COMMA] = ACTIONS(3147),
    [anon_sym_LPAREN] = ACTIONS(3147),
    [anon_sym_LBRACK] = ACTIONS(3147),
    [anon_sym_DOT] = ACTIONS(3145),
    [anon_sym_QMARK] = ACTIONS(3145),
    [anon_sym_QMARK2] = ACTIONS(3147),
    [anon_sym_AMP] = ACTIONS(3147),
    [aux_sym_custom_operator_token1] = ACTIONS(3147),
    [anon_sym_LT] = ACTIONS(3145),
    [anon_sym_GT] = ACTIONS(3145),
    [anon_sym_LBRACE] = ACTIONS(3147),
    [anon_sym_CARET_LBRACE] = ACTIONS(3147),
    [anon_sym_RBRACE] = ACTIONS(3147),
    [anon_sym_case] = ACTIONS(3147),
    [anon_sym_fallthrough] = ACTIONS(3147),
    [anon_sym_PLUS_EQ] = ACTIONS(3147),
    [anon_sym_DASH_EQ] = ACTIONS(3147),
    [anon_sym_STAR_EQ] = ACTIONS(3147),
    [anon_sym_SLASH_EQ] = ACTIONS(3147),
    [anon_sym_PERCENT_EQ] = ACTIONS(3147),
    [anon_sym_BANG_EQ] = ACTIONS(3145),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3147),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3147),
    [anon_sym_LT_EQ] = ACTIONS(3147),
    [anon_sym_GT_EQ] = ACTIONS(3147),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3147),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3147),
    [anon_sym_is] = ACTIONS(3147),
    [anon_sym_PLUS] = ACTIONS(3145),
    [anon_sym_DASH] = ACTIONS(3145),
    [anon_sym_STAR] = ACTIONS(3145),
    [anon_sym_SLASH] = ACTIONS(3145),
    [anon_sym_PERCENT] = ACTIONS(3145),
    [anon_sym_PLUS_PLUS] = ACTIONS(3147),
    [anon_sym_DASH_DASH] = ACTIONS(3147),
    [anon_sym_PIPE] = ACTIONS(3147),
    [anon_sym_CARET] = ACTIONS(3145),
    [anon_sym_LT_LT] = ACTIONS(3147),
    [anon_sym_GT_GT] = ACTIONS(3147),
    [anon_sym_class] = ACTIONS(3147),
    [anon_sym_prefix] = ACTIONS(3147),
    [anon_sym_infix] = ACTIONS(3147),
    [anon_sym_postfix] = ACTIONS(3147),
    [anon_sym_AT] = ACTIONS(3145),
    [anon_sym_override] = ACTIONS(3147),
    [anon_sym_convenience] = ACTIONS(3147),
    [anon_sym_required] = ACTIONS(3147),
    [anon_sym_nonisolated] = ACTIONS(3147),
    [anon_sym_public] = ACTIONS(3147),
    [anon_sym_private] = ACTIONS(3147),
    [anon_sym_internal] = ACTIONS(3147),
    [anon_sym_fileprivate] = ACTIONS(3147),
    [anon_sym_open] = ACTIONS(3147),
    [anon_sym_mutating] = ACTIONS(3147),
    [anon_sym_nonmutating] = ACTIONS(3147),
    [anon_sym_static] = ACTIONS(3147),
    [anon_sym_dynamic] = ACTIONS(3147),
    [anon_sym_optional] = ACTIONS(3147),
    [anon_sym_distributed] = ACTIONS(3147),
    [anon_sym_final] = ACTIONS(3147),
    [anon_sym_inout] = ACTIONS(3147),
    [anon_sym_ATescaping] = ACTIONS(3147),
    [anon_sym_ATautoclosure] = ACTIONS(3147),
    [anon_sym_weak] = ACTIONS(3147),
    [anon_sym_unowned] = ACTIONS(3145),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3147),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3147),
    [anon_sym_borrowing] = ACTIONS(3147),
    [anon_sym_consuming] = ACTIONS(3147),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3147),
    [sym__explicit_semi] = ACTIONS(3147),
    [sym__arrow_operator_custom] = ACTIONS(3147),
    [sym__dot_custom] = ACTIONS(3147),
    [sym__conjunction_operator_custom] = ACTIONS(3147),
    [sym__disjunction_operator_custom] = ACTIONS(3147),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3147),
    [sym__eq_custom] = ACTIONS(3147),
    [sym__eq_eq_custom] = ACTIONS(3147),
    [sym__plus_then_ws] = ACTIONS(3147),
    [sym__minus_then_ws] = ACTIONS(3147),
    [sym__bang_custom] = ACTIONS(3147),
    [sym__throws_keyword] = ACTIONS(3147),
    [sym__rethrows_keyword] = ACTIONS(3147),
    [sym_default_keyword] = ACTIONS(3147),
    [sym__as_custom] = ACTIONS(3147),
    [sym__as_quest_custom] = ACTIONS(3147),
    [sym__as_bang_custom] = ACTIONS(3147),
    [sym__async_keyword_custom] = ACTIONS(3147),
    [sym__custom_operator] = ACTIONS(3147),
  },
  [1117] = {
    [anon_sym_BANG] = ACTIONS(3105),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3107),
    [anon_sym_package] = ACTIONS(3107),
    [anon_sym_COMMA] = ACTIONS(3107),
    [anon_sym_LPAREN] = ACTIONS(3107),
    [anon_sym_LBRACK] = ACTIONS(3107),
    [anon_sym_DOT] = ACTIONS(3105),
    [anon_sym_QMARK] = ACTIONS(3105),
    [anon_sym_QMARK2] = ACTIONS(3107),
    [anon_sym_AMP] = ACTIONS(3107),
    [aux_sym_custom_operator_token1] = ACTIONS(3107),
    [anon_sym_LT] = ACTIONS(3105),
    [anon_sym_GT] = ACTIONS(3105),
    [anon_sym_LBRACE] = ACTIONS(3107),
    [anon_sym_CARET_LBRACE] = ACTIONS(3107),
    [anon_sym_RBRACE] = ACTIONS(3107),
    [anon_sym_case] = ACTIONS(3107),
    [anon_sym_fallthrough] = ACTIONS(3107),
    [anon_sym_PLUS_EQ] = ACTIONS(3107),
    [anon_sym_DASH_EQ] = ACTIONS(3107),
    [anon_sym_STAR_EQ] = ACTIONS(3107),
    [anon_sym_SLASH_EQ] = ACTIONS(3107),
    [anon_sym_PERCENT_EQ] = ACTIONS(3107),
    [anon_sym_BANG_EQ] = ACTIONS(3105),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3107),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3107),
    [anon_sym_LT_EQ] = ACTIONS(3107),
    [anon_sym_GT_EQ] = ACTIONS(3107),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3107),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3107),
    [anon_sym_is] = ACTIONS(3107),
    [anon_sym_PLUS] = ACTIONS(3105),
    [anon_sym_DASH] = ACTIONS(3105),
    [anon_sym_STAR] = ACTIONS(3105),
    [anon_sym_SLASH] = ACTIONS(3105),
    [anon_sym_PERCENT] = ACTIONS(3105),
    [anon_sym_PLUS_PLUS] = ACTIONS(3107),
    [anon_sym_DASH_DASH] = ACTIONS(3107),
    [anon_sym_PIPE] = ACTIONS(3107),
    [anon_sym_CARET] = ACTIONS(3105),
    [anon_sym_LT_LT] = ACTIONS(3107),
    [anon_sym_GT_GT] = ACTIONS(3107),
    [anon_sym_class] = ACTIONS(3107),
    [anon_sym_prefix] = ACTIONS(3107),
    [anon_sym_infix] = ACTIONS(3107),
    [anon_sym_postfix] = ACTIONS(3107),
    [anon_sym_AT] = ACTIONS(3105),
    [anon_sym_override] = ACTIONS(3107),
    [anon_sym_convenience] = ACTIONS(3107),
    [anon_sym_required] = ACTIONS(3107),
    [anon_sym_nonisolated] = ACTIONS(3107),
    [anon_sym_public] = ACTIONS(3107),
    [anon_sym_private] = ACTIONS(3107),
    [anon_sym_internal] = ACTIONS(3107),
    [anon_sym_fileprivate] = ACTIONS(3107),
    [anon_sym_open] = ACTIONS(3107),
    [anon_sym_mutating] = ACTIONS(3107),
    [anon_sym_nonmutating] = ACTIONS(3107),
    [anon_sym_static] = ACTIONS(3107),
    [anon_sym_dynamic] = ACTIONS(3107),
    [anon_sym_optional] = ACTIONS(3107),
    [anon_sym_distributed] = ACTIONS(3107),
    [anon_sym_final] = ACTIONS(3107),
    [anon_sym_inout] = ACTIONS(3107),
    [anon_sym_ATescaping] = ACTIONS(3107),
    [anon_sym_ATautoclosure] = ACTIONS(3107),
    [anon_sym_weak] = ACTIONS(3107),
    [anon_sym_unowned] = ACTIONS(3105),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3107),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3107),
    [anon_sym_borrowing] = ACTIONS(3107),
    [anon_sym_consuming] = ACTIONS(3107),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3107),
    [sym__explicit_semi] = ACTIONS(3107),
    [sym__arrow_operator_custom] = ACTIONS(3107),
    [sym__dot_custom] = ACTIONS(3107),
    [sym__conjunction_operator_custom] = ACTIONS(3107),
    [sym__disjunction_operator_custom] = ACTIONS(3107),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3107),
    [sym__eq_custom] = ACTIONS(3107),
    [sym__eq_eq_custom] = ACTIONS(3107),
    [sym__plus_then_ws] = ACTIONS(3107),
    [sym__minus_then_ws] = ACTIONS(3107),
    [sym__bang_custom] = ACTIONS(3107),
    [sym__throws_keyword] = ACTIONS(3107),
    [sym__rethrows_keyword] = ACTIONS(3107),
    [sym_default_keyword] = ACTIONS(3107),
    [sym__as_custom] = ACTIONS(3107),
    [sym__as_quest_custom] = ACTIONS(3107),
    [sym__as_bang_custom] = ACTIONS(3107),
    [sym__async_keyword_custom] = ACTIONS(3107),
    [sym__custom_operator] = ACTIONS(3107),
  },
  [1118] = {
    [anon_sym_BANG] = ACTIONS(3125),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3127),
    [anon_sym_package] = ACTIONS(3127),
    [anon_sym_COMMA] = ACTIONS(3127),
    [anon_sym_LPAREN] = ACTIONS(3127),
    [anon_sym_LBRACK] = ACTIONS(3127),
    [anon_sym_DOT] = ACTIONS(3125),
    [anon_sym_QMARK] = ACTIONS(3125),
    [anon_sym_QMARK2] = ACTIONS(3127),
    [anon_sym_AMP] = ACTIONS(3127),
    [aux_sym_custom_operator_token1] = ACTIONS(3127),
    [anon_sym_LT] = ACTIONS(3125),
    [anon_sym_GT] = ACTIONS(3125),
    [anon_sym_LBRACE] = ACTIONS(3127),
    [anon_sym_CARET_LBRACE] = ACTIONS(3127),
    [anon_sym_RBRACE] = ACTIONS(3127),
    [anon_sym_case] = ACTIONS(3127),
    [anon_sym_fallthrough] = ACTIONS(3127),
    [anon_sym_PLUS_EQ] = ACTIONS(3127),
    [anon_sym_DASH_EQ] = ACTIONS(3127),
    [anon_sym_STAR_EQ] = ACTIONS(3127),
    [anon_sym_SLASH_EQ] = ACTIONS(3127),
    [anon_sym_PERCENT_EQ] = ACTIONS(3127),
    [anon_sym_BANG_EQ] = ACTIONS(3125),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3127),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3127),
    [anon_sym_LT_EQ] = ACTIONS(3127),
    [anon_sym_GT_EQ] = ACTIONS(3127),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3127),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3127),
    [anon_sym_is] = ACTIONS(3127),
    [anon_sym_PLUS] = ACTIONS(3125),
    [anon_sym_DASH] = ACTIONS(3125),
    [anon_sym_STAR] = ACTIONS(3125),
    [anon_sym_SLASH] = ACTIONS(3125),
    [anon_sym_PERCENT] = ACTIONS(3125),
    [anon_sym_PLUS_PLUS] = ACTIONS(3127),
    [anon_sym_DASH_DASH] = ACTIONS(3127),
    [anon_sym_PIPE] = ACTIONS(3127),
    [anon_sym_CARET] = ACTIONS(3125),
    [anon_sym_LT_LT] = ACTIONS(3127),
    [anon_sym_GT_GT] = ACTIONS(3127),
    [anon_sym_class] = ACTIONS(3127),
    [anon_sym_prefix] = ACTIONS(3127),
    [anon_sym_infix] = ACTIONS(3127),
    [anon_sym_postfix] = ACTIONS(3127),
    [anon_sym_AT] = ACTIONS(3125),
    [anon_sym_override] = ACTIONS(3127),
    [anon_sym_convenience] = ACTIONS(3127),
    [anon_sym_required] = ACTIONS(3127),
    [anon_sym_nonisolated] = ACTIONS(3127),
    [anon_sym_public] = ACTIONS(3127),
    [anon_sym_private] = ACTIONS(3127),
    [anon_sym_internal] = ACTIONS(3127),
    [anon_sym_fileprivate] = ACTIONS(3127),
    [anon_sym_open] = ACTIONS(3127),
    [anon_sym_mutating] = ACTIONS(3127),
    [anon_sym_nonmutating] = ACTIONS(3127),
    [anon_sym_static] = ACTIONS(3127),
    [anon_sym_dynamic] = ACTIONS(3127),
    [anon_sym_optional] = ACTIONS(3127),
    [anon_sym_distributed] = ACTIONS(3127),
    [anon_sym_final] = ACTIONS(3127),
    [anon_sym_inout] = ACTIONS(3127),
    [anon_sym_ATescaping] = ACTIONS(3127),
    [anon_sym_ATautoclosure] = ACTIONS(3127),
    [anon_sym_weak] = ACTIONS(3127),
    [anon_sym_unowned] = ACTIONS(3125),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3127),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3127),
    [anon_sym_borrowing] = ACTIONS(3127),
    [anon_sym_consuming] = ACTIONS(3127),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3127),
    [sym__explicit_semi] = ACTIONS(3127),
    [sym__arrow_operator_custom] = ACTIONS(3127),
    [sym__dot_custom] = ACTIONS(3127),
    [sym__conjunction_operator_custom] = ACTIONS(3127),
    [sym__disjunction_operator_custom] = ACTIONS(3127),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3127),
    [sym__eq_custom] = ACTIONS(3127),
    [sym__eq_eq_custom] = ACTIONS(3127),
    [sym__plus_then_ws] = ACTIONS(3127),
    [sym__minus_then_ws] = ACTIONS(3127),
    [sym__bang_custom] = ACTIONS(3127),
    [sym__throws_keyword] = ACTIONS(3127),
    [sym__rethrows_keyword] = ACTIONS(3127),
    [sym_default_keyword] = ACTIONS(3127),
    [sym__as_custom] = ACTIONS(3127),
    [sym__as_quest_custom] = ACTIONS(3127),
    [sym__as_bang_custom] = ACTIONS(3127),
    [sym__async_keyword_custom] = ACTIONS(3127),
    [sym__custom_operator] = ACTIONS(3127),
  },
  [1119] = {
    [anon_sym_BANG] = ACTIONS(3133),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3135),
    [anon_sym_package] = ACTIONS(3135),
    [anon_sym_COMMA] = ACTIONS(3135),
    [anon_sym_LPAREN] = ACTIONS(3135),
    [anon_sym_LBRACK] = ACTIONS(3135),
    [anon_sym_DOT] = ACTIONS(3133),
    [anon_sym_QMARK] = ACTIONS(3133),
    [anon_sym_QMARK2] = ACTIONS(3135),
    [anon_sym_AMP] = ACTIONS(3135),
    [aux_sym_custom_operator_token1] = ACTIONS(3135),
    [anon_sym_LT] = ACTIONS(3133),
    [anon_sym_GT] = ACTIONS(3133),
    [anon_sym_LBRACE] = ACTIONS(3135),
    [anon_sym_CARET_LBRACE] = ACTIONS(3135),
    [anon_sym_RBRACE] = ACTIONS(3135),
    [anon_sym_case] = ACTIONS(3135),
    [anon_sym_fallthrough] = ACTIONS(3135),
    [anon_sym_PLUS_EQ] = ACTIONS(3135),
    [anon_sym_DASH_EQ] = ACTIONS(3135),
    [anon_sym_STAR_EQ] = ACTIONS(3135),
    [anon_sym_SLASH_EQ] = ACTIONS(3135),
    [anon_sym_PERCENT_EQ] = ACTIONS(3135),
    [anon_sym_BANG_EQ] = ACTIONS(3133),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3135),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3135),
    [anon_sym_LT_EQ] = ACTIONS(3135),
    [anon_sym_GT_EQ] = ACTIONS(3135),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3135),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3135),
    [anon_sym_is] = ACTIONS(3135),
    [anon_sym_PLUS] = ACTIONS(3133),
    [anon_sym_DASH] = ACTIONS(3133),
    [anon_sym_STAR] = ACTIONS(3133),
    [anon_sym_SLASH] = ACTIONS(3133),
    [anon_sym_PERCENT] = ACTIONS(3133),
    [anon_sym_PLUS_PLUS] = ACTIONS(3135),
    [anon_sym_DASH_DASH] = ACTIONS(3135),
    [anon_sym_PIPE] = ACTIONS(3135),
    [anon_sym_CARET] = ACTIONS(3133),
    [anon_sym_LT_LT] = ACTIONS(3135),
    [anon_sym_GT_GT] = ACTIONS(3135),
    [anon_sym_class] = ACTIONS(3135),
    [anon_sym_prefix] = ACTIONS(3135),
    [anon_sym_infix] = ACTIONS(3135),
    [anon_sym_postfix] = ACTIONS(3135),
    [anon_sym_AT] = ACTIONS(3133),
    [anon_sym_override] = ACTIONS(3135),
    [anon_sym_convenience] = ACTIONS(3135),
    [anon_sym_required] = ACTIONS(3135),
    [anon_sym_nonisolated] = ACTIONS(3135),
    [anon_sym_public] = ACTIONS(3135),
    [anon_sym_private] = ACTIONS(3135),
    [anon_sym_internal] = ACTIONS(3135),
    [anon_sym_fileprivate] = ACTIONS(3135),
    [anon_sym_open] = ACTIONS(3135),
    [anon_sym_mutating] = ACTIONS(3135),
    [anon_sym_nonmutating] = ACTIONS(3135),
    [anon_sym_static] = ACTIONS(3135),
    [anon_sym_dynamic] = ACTIONS(3135),
    [anon_sym_optional] = ACTIONS(3135),
    [anon_sym_distributed] = ACTIONS(3135),
    [anon_sym_final] = ACTIONS(3135),
    [anon_sym_inout] = ACTIONS(3135),
    [anon_sym_ATescaping] = ACTIONS(3135),
    [anon_sym_ATautoclosure] = ACTIONS(3135),
    [anon_sym_weak] = ACTIONS(3135),
    [anon_sym_unowned] = ACTIONS(3133),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3135),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3135),
    [anon_sym_borrowing] = ACTIONS(3135),
    [anon_sym_consuming] = ACTIONS(3135),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3135),
    [sym__explicit_semi] = ACTIONS(3135),
    [sym__arrow_operator_custom] = ACTIONS(3135),
    [sym__dot_custom] = ACTIONS(3135),
    [sym__conjunction_operator_custom] = ACTIONS(3135),
    [sym__disjunction_operator_custom] = ACTIONS(3135),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3135),
    [sym__eq_custom] = ACTIONS(3135),
    [sym__eq_eq_custom] = ACTIONS(3135),
    [sym__plus_then_ws] = ACTIONS(3135),
    [sym__minus_then_ws] = ACTIONS(3135),
    [sym__bang_custom] = ACTIONS(3135),
    [sym__throws_keyword] = ACTIONS(3135),
    [sym__rethrows_keyword] = ACTIONS(3135),
    [sym_default_keyword] = ACTIONS(3135),
    [sym__as_custom] = ACTIONS(3135),
    [sym__as_quest_custom] = ACTIONS(3135),
    [sym__as_bang_custom] = ACTIONS(3135),
    [sym__async_keyword_custom] = ACTIONS(3135),
    [sym__custom_operator] = ACTIONS(3135),
  },
  [1120] = {
    [ts_builtin_sym_end] = ACTIONS(2669),
    [anon_sym_BANG] = ACTIONS(2665),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2665),
    [aux_sym_simple_identifier_token2] = ACTIONS(2667),
    [aux_sym_simple_identifier_token3] = ACTIONS(2667),
    [aux_sym_simple_identifier_token4] = ACTIONS(2667),
    [anon_sym_actor] = ACTIONS(2665),
    [anon_sym_async] = ACTIONS(2665),
    [anon_sym_each] = ACTIONS(2665),
    [anon_sym_lazy] = ACTIONS(2665),
    [anon_sym_repeat] = ACTIONS(2665),
    [anon_sym_package] = ACTIONS(2665),
    [anon_sym_nil] = ACTIONS(2665),
    [sym_real_literal] = ACTIONS(2667),
    [sym_integer_literal] = ACTIONS(2665),
    [sym_hex_literal] = ACTIONS(2665),
    [sym_oct_literal] = ACTIONS(2667),
    [sym_bin_literal] = ACTIONS(2667),
    [anon_sym_true] = ACTIONS(2665),
    [anon_sym_false] = ACTIONS(2665),
    [anon_sym_DQUOTE] = ACTIONS(2665),
    [anon_sym_BSLASH] = ACTIONS(2667),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2667),
    [anon_sym_COMMA] = ACTIONS(2669),
    [sym__oneline_regex_literal] = ACTIONS(2665),
    [anon_sym_LPAREN] = ACTIONS(2667),
    [anon_sym_LBRACK] = ACTIONS(2667),
    [anon_sym_QMARK] = ACTIONS(2671),
    [anon_sym_QMARK2] = ACTIONS(2669),
    [anon_sym_AMP] = ACTIONS(2667),
    [anon_sym_TILDE] = ACTIONS(2667),
    [anon_sym_if] = ACTIONS(2665),
    [anon_sym_switch] = ACTIONS(2665),
    [aux_sym_custom_operator_token1] = ACTIONS(2667),
    [anon_sym_LT] = ACTIONS(2665),
    [anon_sym_GT] = ACTIONS(2665),
    [anon_sym_await] = ACTIONS(2665),
    [anon_sym_LBRACE] = ACTIONS(2667),
    [anon_sym_CARET_LBRACE] = ACTIONS(2667),
    [anon_sym_RBRACE] = ACTIONS(2669),
    [anon_sym_self] = ACTIONS(2665),
    [anon_sym_super] = ACTIONS(2665),
    [anon_sym_try] = ACTIONS(2665),
    [anon_sym_PLUS_EQ] = ACTIONS(2667),
    [anon_sym_DASH_EQ] = ACTIONS(2667),
    [anon_sym_STAR_EQ] = ACTIONS(2667),
    [anon_sym_SLASH_EQ] = ACTIONS(2667),
    [anon_sym_PERCENT_EQ] = ACTIONS(2667),
    [anon_sym_BANG_EQ] = ACTIONS(2665),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2667),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2667),
    [anon_sym_LT_EQ] = ACTIONS(2667),
    [anon_sym_GT_EQ] = ACTIONS(2667),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2667),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2667),
    [anon_sym_is] = ACTIONS(2671),
    [anon_sym_PLUS] = ACTIONS(2665),
    [anon_sym_DASH] = ACTIONS(2665),
    [anon_sym_STAR] = ACTIONS(2665),
    [anon_sym_SLASH] = ACTIONS(2665),
    [anon_sym_PERCENT] = ACTIONS(2665),
    [anon_sym_PLUS_PLUS] = ACTIONS(2667),
    [anon_sym_DASH_DASH] = ACTIONS(2667),
    [anon_sym_PIPE] = ACTIONS(2667),
    [anon_sym_CARET] = ACTIONS(2665),
    [anon_sym_LT_LT] = ACTIONS(2667),
    [anon_sym_GT_GT] = ACTIONS(2667),
    [anon_sym_borrowing] = ACTIONS(2665),
    [anon_sym_consuming] = ACTIONS(2665),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2667),
    [sym_raw_str_end_part] = ACTIONS(2667),
    [sym__implicit_semi] = ACTIONS(2669),
    [sym__explicit_semi] = ACTIONS(2669),
    [sym__dot_custom] = ACTIONS(2667),
    [sym__conjunction_operator_custom] = ACTIONS(2669),
    [sym__disjunction_operator_custom] = ACTIONS(2669),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2669),
    [sym__eq_custom] = ACTIONS(2667),
    [sym__eq_eq_custom] = ACTIONS(2667),
    [sym__plus_then_ws] = ACTIONS(2667),
    [sym__minus_then_ws] = ACTIONS(2667),
    [sym__bang_custom] = ACTIONS(2667),
    [sym_where_keyword] = ACTIONS(2669),
    [sym__as_custom] = ACTIONS(2669),
    [sym__as_quest_custom] = ACTIONS(2669),
    [sym__as_bang_custom] = ACTIONS(2669),
    [sym__custom_operator] = ACTIONS(2667),
    [sym__hash_symbol_custom] = ACTIONS(2667),
    [sym__directive_if] = ACTIONS(2667),
    [sym__directive_elseif] = ACTIONS(2667),
    [sym__directive_else] = ACTIONS(2667),
    [sym__directive_endif] = ACTIONS(2667),
  },
  [1121] = {
    [anon_sym_BANG] = ACTIONS(3198),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3200),
    [anon_sym_package] = ACTIONS(3200),
    [anon_sym_COMMA] = ACTIONS(3200),
    [anon_sym_LPAREN] = ACTIONS(3200),
    [anon_sym_LBRACK] = ACTIONS(3200),
    [anon_sym_DOT] = ACTIONS(3198),
    [anon_sym_QMARK] = ACTIONS(3198),
    [anon_sym_QMARK2] = ACTIONS(3200),
    [anon_sym_AMP] = ACTIONS(3200),
    [aux_sym_custom_operator_token1] = ACTIONS(3200),
    [anon_sym_LT] = ACTIONS(3198),
    [anon_sym_GT] = ACTIONS(3198),
    [anon_sym_LBRACE] = ACTIONS(3200),
    [anon_sym_CARET_LBRACE] = ACTIONS(3200),
    [anon_sym_RBRACE] = ACTIONS(3200),
    [anon_sym_case] = ACTIONS(3200),
    [anon_sym_fallthrough] = ACTIONS(3200),
    [anon_sym_PLUS_EQ] = ACTIONS(3200),
    [anon_sym_DASH_EQ] = ACTIONS(3200),
    [anon_sym_STAR_EQ] = ACTIONS(3200),
    [anon_sym_SLASH_EQ] = ACTIONS(3200),
    [anon_sym_PERCENT_EQ] = ACTIONS(3200),
    [anon_sym_BANG_EQ] = ACTIONS(3198),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3200),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3200),
    [anon_sym_LT_EQ] = ACTIONS(3200),
    [anon_sym_GT_EQ] = ACTIONS(3200),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3200),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3200),
    [anon_sym_is] = ACTIONS(3200),
    [anon_sym_PLUS] = ACTIONS(3198),
    [anon_sym_DASH] = ACTIONS(3198),
    [anon_sym_STAR] = ACTIONS(3198),
    [anon_sym_SLASH] = ACTIONS(3198),
    [anon_sym_PERCENT] = ACTIONS(3198),
    [anon_sym_PLUS_PLUS] = ACTIONS(3200),
    [anon_sym_DASH_DASH] = ACTIONS(3200),
    [anon_sym_PIPE] = ACTIONS(3200),
    [anon_sym_CARET] = ACTIONS(3198),
    [anon_sym_LT_LT] = ACTIONS(3200),
    [anon_sym_GT_GT] = ACTIONS(3200),
    [anon_sym_class] = ACTIONS(3200),
    [anon_sym_prefix] = ACTIONS(3200),
    [anon_sym_infix] = ACTIONS(3200),
    [anon_sym_postfix] = ACTIONS(3200),
    [anon_sym_AT] = ACTIONS(3198),
    [anon_sym_override] = ACTIONS(3200),
    [anon_sym_convenience] = ACTIONS(3200),
    [anon_sym_required] = ACTIONS(3200),
    [anon_sym_nonisolated] = ACTIONS(3200),
    [anon_sym_public] = ACTIONS(3200),
    [anon_sym_private] = ACTIONS(3200),
    [anon_sym_internal] = ACTIONS(3200),
    [anon_sym_fileprivate] = ACTIONS(3200),
    [anon_sym_open] = ACTIONS(3200),
    [anon_sym_mutating] = ACTIONS(3200),
    [anon_sym_nonmutating] = ACTIONS(3200),
    [anon_sym_static] = ACTIONS(3200),
    [anon_sym_dynamic] = ACTIONS(3200),
    [anon_sym_optional] = ACTIONS(3200),
    [anon_sym_distributed] = ACTIONS(3200),
    [anon_sym_final] = ACTIONS(3200),
    [anon_sym_inout] = ACTIONS(3200),
    [anon_sym_ATescaping] = ACTIONS(3200),
    [anon_sym_ATautoclosure] = ACTIONS(3200),
    [anon_sym_weak] = ACTIONS(3200),
    [anon_sym_unowned] = ACTIONS(3198),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3200),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3200),
    [anon_sym_borrowing] = ACTIONS(3200),
    [anon_sym_consuming] = ACTIONS(3200),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3200),
    [sym__explicit_semi] = ACTIONS(3200),
    [sym__arrow_operator_custom] = ACTIONS(3200),
    [sym__dot_custom] = ACTIONS(3200),
    [sym__conjunction_operator_custom] = ACTIONS(3200),
    [sym__disjunction_operator_custom] = ACTIONS(3200),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3200),
    [sym__eq_custom] = ACTIONS(3200),
    [sym__eq_eq_custom] = ACTIONS(3200),
    [sym__plus_then_ws] = ACTIONS(3200),
    [sym__minus_then_ws] = ACTIONS(3200),
    [sym__bang_custom] = ACTIONS(3200),
    [sym__throws_keyword] = ACTIONS(3200),
    [sym__rethrows_keyword] = ACTIONS(3200),
    [sym_default_keyword] = ACTIONS(3200),
    [sym__as_custom] = ACTIONS(3200),
    [sym__as_quest_custom] = ACTIONS(3200),
    [sym__as_bang_custom] = ACTIONS(3200),
    [sym__async_keyword_custom] = ACTIONS(3200),
    [sym__custom_operator] = ACTIONS(3200),
  },
  [1122] = {
    [ts_builtin_sym_end] = ACTIONS(2663),
    [anon_sym_BANG] = ACTIONS(2661),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2661),
    [aux_sym_simple_identifier_token2] = ACTIONS(2663),
    [aux_sym_simple_identifier_token3] = ACTIONS(2663),
    [aux_sym_simple_identifier_token4] = ACTIONS(2663),
    [anon_sym_actor] = ACTIONS(2661),
    [anon_sym_async] = ACTIONS(2661),
    [anon_sym_each] = ACTIONS(2661),
    [anon_sym_lazy] = ACTIONS(2661),
    [anon_sym_repeat] = ACTIONS(2661),
    [anon_sym_package] = ACTIONS(2661),
    [anon_sym_nil] = ACTIONS(2661),
    [sym_real_literal] = ACTIONS(2663),
    [sym_integer_literal] = ACTIONS(2661),
    [sym_hex_literal] = ACTIONS(2661),
    [sym_oct_literal] = ACTIONS(2663),
    [sym_bin_literal] = ACTIONS(2663),
    [anon_sym_true] = ACTIONS(2661),
    [anon_sym_false] = ACTIONS(2661),
    [anon_sym_DQUOTE] = ACTIONS(2661),
    [anon_sym_BSLASH] = ACTIONS(2663),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2663),
    [anon_sym_COMMA] = ACTIONS(2663),
    [sym__oneline_regex_literal] = ACTIONS(2661),
    [anon_sym_LPAREN] = ACTIONS(2663),
    [anon_sym_LBRACK] = ACTIONS(2663),
    [anon_sym_QMARK] = ACTIONS(2661),
    [anon_sym_QMARK2] = ACTIONS(2663),
    [anon_sym_AMP] = ACTIONS(2663),
    [anon_sym_TILDE] = ACTIONS(2663),
    [anon_sym_if] = ACTIONS(2661),
    [anon_sym_switch] = ACTIONS(2661),
    [aux_sym_custom_operator_token1] = ACTIONS(2663),
    [anon_sym_LT] = ACTIONS(2661),
    [anon_sym_GT] = ACTIONS(2661),
    [anon_sym_await] = ACTIONS(2661),
    [anon_sym_LBRACE] = ACTIONS(2663),
    [anon_sym_CARET_LBRACE] = ACTIONS(2663),
    [anon_sym_RBRACE] = ACTIONS(2663),
    [anon_sym_self] = ACTIONS(2661),
    [anon_sym_super] = ACTIONS(2661),
    [anon_sym_try] = ACTIONS(2661),
    [anon_sym_PLUS_EQ] = ACTIONS(2663),
    [anon_sym_DASH_EQ] = ACTIONS(2663),
    [anon_sym_STAR_EQ] = ACTIONS(2663),
    [anon_sym_SLASH_EQ] = ACTIONS(2663),
    [anon_sym_PERCENT_EQ] = ACTIONS(2663),
    [anon_sym_BANG_EQ] = ACTIONS(2661),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2663),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2663),
    [anon_sym_LT_EQ] = ACTIONS(2663),
    [anon_sym_GT_EQ] = ACTIONS(2663),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2663),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2663),
    [anon_sym_is] = ACTIONS(2661),
    [anon_sym_PLUS] = ACTIONS(2661),
    [anon_sym_DASH] = ACTIONS(2661),
    [anon_sym_STAR] = ACTIONS(2661),
    [anon_sym_SLASH] = ACTIONS(2661),
    [anon_sym_PERCENT] = ACTIONS(2661),
    [anon_sym_PLUS_PLUS] = ACTIONS(2663),
    [anon_sym_DASH_DASH] = ACTIONS(2663),
    [anon_sym_PIPE] = ACTIONS(2663),
    [anon_sym_CARET] = ACTIONS(2661),
    [anon_sym_LT_LT] = ACTIONS(2663),
    [anon_sym_GT_GT] = ACTIONS(2663),
    [anon_sym_borrowing] = ACTIONS(2661),
    [anon_sym_consuming] = ACTIONS(2661),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2663),
    [sym_raw_str_end_part] = ACTIONS(2663),
    [sym__implicit_semi] = ACTIONS(2663),
    [sym__explicit_semi] = ACTIONS(2663),
    [sym__dot_custom] = ACTIONS(2663),
    [sym__conjunction_operator_custom] = ACTIONS(2663),
    [sym__disjunction_operator_custom] = ACTIONS(2663),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2663),
    [sym__eq_custom] = ACTIONS(2663),
    [sym__eq_eq_custom] = ACTIONS(2663),
    [sym__plus_then_ws] = ACTIONS(2663),
    [sym__minus_then_ws] = ACTIONS(2663),
    [sym__bang_custom] = ACTIONS(2663),
    [sym_where_keyword] = ACTIONS(2663),
    [sym__as_custom] = ACTIONS(2663),
    [sym__as_quest_custom] = ACTIONS(2663),
    [sym__as_bang_custom] = ACTIONS(2663),
    [sym__custom_operator] = ACTIONS(2663),
    [sym__hash_symbol_custom] = ACTIONS(2663),
    [sym__directive_if] = ACTIONS(2663),
    [sym__directive_elseif] = ACTIONS(2663),
    [sym__directive_else] = ACTIONS(2663),
    [sym__directive_endif] = ACTIONS(2663),
  },
  [1123] = {
    [sym__type_level_declaration] = STATE(1143),
    [sym_import_declaration] = STATE(1143),
    [sym_property_declaration] = STATE(1143),
    [sym__modifierless_property_declaration] = STATE(3149),
    [sym_typealias_declaration] = STATE(1143),
    [sym__modifierless_typealias_declaration] = STATE(3150),
    [sym_function_declaration] = STATE(1143),
    [sym__bodyless_function_declaration] = STATE(7561),
    [sym__modifierless_function_declaration_no_body] = STATE(8708),
    [sym_class_declaration] = STATE(1143),
    [sym__modifierless_class_declaration] = STATE(3160),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__async_modifier] = STATE(7659),
    [sym_enum_entry] = STATE(1143),
    [sym_protocol_declaration] = STATE(1143),
    [sym_init_declaration] = STATE(1143),
    [sym_deinit_declaration] = STATE(1143),
    [sym_subscript_declaration] = STATE(1143),
    [sym_operator_declaration] = STATE(1143),
    [sym_precedence_group_declaration] = STATE(1143),
    [sym_associatedtype_declaration] = STATE(1143),
    [sym_attribute] = STATE(1786),
    [sym_value_binding_pattern] = STATE(4775),
    [sym__possibly_async_binding_pattern_kind] = STATE(4775),
    [sym_modifiers] = STATE(4921),
    [aux_sym__locally_permitted_modifiers] = STATE(1786),
    [sym__non_local_scope_modifier] = STATE(1786),
    [sym__locally_permitted_modifier] = STATE(1786),
    [sym_property_behavior_modifier] = STATE(1786),
    [sym_member_modifier] = STATE(1786),
    [sym_visibility_modifier] = STATE(1786),
    [sym_function_modifier] = STATE(1786),
    [sym_mutation_modifier] = STATE(1786),
    [sym_property_modifier] = STATE(1786),
    [sym_inheritance_modifier] = STATE(1786),
    [sym_parameter_modifier] = STATE(1786),
    [sym_ownership_modifier] = STATE(1786),
    [sym__parameter_ownership_modifier] = STATE(2979),
    [aux_sym_enum_class_body_repeat1] = STATE(1143),
    [aux_sym_modifiers_repeat1] = STATE(1786),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3975),
    [anon_sym_async] = ACTIONS(3977),
    [anon_sym_lazy] = ACTIONS(3979),
    [anon_sym_package] = ACTIONS(3981),
    [anon_sym_RBRACE] = ACTIONS(3983),
    [anon_sym_case] = ACTIONS(3985),
    [anon_sym_import] = ACTIONS(3987),
    [anon_sym_typealias] = ACTIONS(3989),
    [anon_sym_struct] = ACTIONS(3975),
    [anon_sym_class] = ACTIONS(3991),
    [anon_sym_enum] = ACTIONS(3993),
    [anon_sym_protocol] = ACTIONS(3995),
    [anon_sym_let] = ACTIONS(3997),
    [anon_sym_var] = ACTIONS(3997),
    [anon_sym_func] = ACTIONS(3999),
    [anon_sym_extension] = ACTIONS(4001),
    [anon_sym_indirect] = ACTIONS(4003),
    [anon_sym_init] = ACTIONS(4005),
    [anon_sym_deinit] = ACTIONS(4007),
    [anon_sym_subscript] = ACTIONS(4009),
    [anon_sym_prefix] = ACTIONS(4011),
    [anon_sym_infix] = ACTIONS(4011),
    [anon_sym_postfix] = ACTIONS(4011),
    [anon_sym_precedencegroup] = ACTIONS(4013),
    [anon_sym_associatedtype] = ACTIONS(4015),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(4017),
    [anon_sym_convenience] = ACTIONS(4017),
    [anon_sym_required] = ACTIONS(4017),
    [anon_sym_nonisolated] = ACTIONS(4017),
    [anon_sym_public] = ACTIONS(3981),
    [anon_sym_private] = ACTIONS(3981),
    [anon_sym_internal] = ACTIONS(3981),
    [anon_sym_fileprivate] = ACTIONS(3981),
    [anon_sym_open] = ACTIONS(3981),
    [anon_sym_mutating] = ACTIONS(4019),
    [anon_sym_nonmutating] = ACTIONS(4019),
    [anon_sym_static] = ACTIONS(4021),
    [anon_sym_dynamic] = ACTIONS(4021),
    [anon_sym_optional] = ACTIONS(4021),
    [anon_sym_distributed] = ACTIONS(4021),
    [anon_sym_final] = ACTIONS(4023),
    [anon_sym_inout] = ACTIONS(125),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(129),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(125),
    [anon_sym_consuming] = ACTIONS(125),
    [sym_multiline_comment] = ACTIONS(5),
  },
  [1124] = {
    [sym__type_level_declaration] = STATE(1136),
    [sym_import_declaration] = STATE(1136),
    [sym_property_declaration] = STATE(1136),
    [sym__modifierless_property_declaration] = STATE(3149),
    [sym_typealias_declaration] = STATE(1136),
    [sym__modifierless_typealias_declaration] = STATE(3150),
    [sym_function_declaration] = STATE(1136),
    [sym__bodyless_function_declaration] = STATE(7561),
    [sym__modifierless_function_declaration_no_body] = STATE(8708),
    [sym_class_declaration] = STATE(1136),
    [sym__modifierless_class_declaration] = STATE(3160),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__async_modifier] = STATE(7659),
    [sym_enum_entry] = STATE(1136),
    [sym_protocol_declaration] = STATE(1136),
    [sym_init_declaration] = STATE(1136),
    [sym_deinit_declaration] = STATE(1136),
    [sym_subscript_declaration] = STATE(1136),
    [sym_operator_declaration] = STATE(1136),
    [sym_precedence_group_declaration] = STATE(1136),
    [sym_associatedtype_declaration] = STATE(1136),
    [sym_attribute] = STATE(1786),
    [sym_value_binding_pattern] = STATE(4775),
    [sym__possibly_async_binding_pattern_kind] = STATE(4775),
    [sym_modifiers] = STATE(4921),
    [aux_sym__locally_permitted_modifiers] = STATE(1786),
    [sym__non_local_scope_modifier] = STATE(1786),
    [sym__locally_permitted_modifier] = STATE(1786),
    [sym_property_behavior_modifier] = STATE(1786),
    [sym_member_modifier] = STATE(1786),
    [sym_visibility_modifier] = STATE(1786),
    [sym_function_modifier] = STATE(1786),
    [sym_mutation_modifier] = STATE(1786),
    [sym_property_modifier] = STATE(1786),
    [sym_inheritance_modifier] = STATE(1786),
    [sym_parameter_modifier] = STATE(1786),
    [sym_ownership_modifier] = STATE(1786),
    [sym__parameter_ownership_modifier] = STATE(2979),
    [aux_sym_enum_class_body_repeat1] = STATE(1136),
    [aux_sym_modifiers_repeat1] = STATE(1786),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3975),
    [anon_sym_async] = ACTIONS(3977),
    [anon_sym_lazy] = ACTIONS(3979),
    [anon_sym_package] = ACTIONS(3981),
    [anon_sym_RBRACE] = ACTIONS(4025),
    [anon_sym_case] = ACTIONS(3985),
    [anon_sym_import] = ACTIONS(3987),
    [anon_sym_typealias] = ACTIONS(3989),
    [anon_sym_struct] = ACTIONS(3975),
    [anon_sym_class] = ACTIONS(3991),
    [anon_sym_enum] = ACTIONS(3993),
    [anon_sym_protocol] = ACTIONS(3995),
    [anon_sym_let] = ACTIONS(3997),
    [anon_sym_var] = ACTIONS(3997),
    [anon_sym_func] = ACTIONS(3999),
    [anon_sym_extension] = ACTIONS(4001),
    [anon_sym_indirect] = ACTIONS(4003),
    [anon_sym_init] = ACTIONS(4005),
    [anon_sym_deinit] = ACTIONS(4007),
    [anon_sym_subscript] = ACTIONS(4009),
    [anon_sym_prefix] = ACTIONS(4011),
    [anon_sym_infix] = ACTIONS(4011),
    [anon_sym_postfix] = ACTIONS(4011),
    [anon_sym_precedencegroup] = ACTIONS(4013),
    [anon_sym_associatedtype] = ACTIONS(4015),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(4017),
    [anon_sym_convenience] = ACTIONS(4017),
    [anon_sym_required] = ACTIONS(4017),
    [anon_sym_nonisolated] = ACTIONS(4017),
    [anon_sym_public] = ACTIONS(3981),
    [anon_sym_private] = ACTIONS(3981),
    [anon_sym_internal] = ACTIONS(3981),
    [anon_sym_fileprivate] = ACTIONS(3981),
    [anon_sym_open] = ACTIONS(3981),
    [anon_sym_mutating] = ACTIONS(4019),
    [anon_sym_nonmutating] = ACTIONS(4019),
    [anon_sym_static] = ACTIONS(4021),
    [anon_sym_dynamic] = ACTIONS(4021),
    [anon_sym_optional] = ACTIONS(4021),
    [anon_sym_distributed] = ACTIONS(4021),
    [anon_sym_final] = ACTIONS(4023),
    [anon_sym_inout] = ACTIONS(125),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(129),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(125),
    [anon_sym_consuming] = ACTIONS(125),
    [sym_multiline_comment] = ACTIONS(5),
  },
  [1125] = {
    [ts_builtin_sym_end] = ACTIONS(2655),
    [anon_sym_BANG] = ACTIONS(2653),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2653),
    [aux_sym_simple_identifier_token2] = ACTIONS(2655),
    [aux_sym_simple_identifier_token3] = ACTIONS(2655),
    [aux_sym_simple_identifier_token4] = ACTIONS(2655),
    [anon_sym_actor] = ACTIONS(2653),
    [anon_sym_async] = ACTIONS(2653),
    [anon_sym_each] = ACTIONS(2653),
    [anon_sym_lazy] = ACTIONS(2653),
    [anon_sym_repeat] = ACTIONS(2653),
    [anon_sym_package] = ACTIONS(2653),
    [anon_sym_nil] = ACTIONS(2653),
    [sym_real_literal] = ACTIONS(2655),
    [sym_integer_literal] = ACTIONS(2653),
    [sym_hex_literal] = ACTIONS(2653),
    [sym_oct_literal] = ACTIONS(2655),
    [sym_bin_literal] = ACTIONS(2655),
    [anon_sym_true] = ACTIONS(2653),
    [anon_sym_false] = ACTIONS(2653),
    [anon_sym_DQUOTE] = ACTIONS(2653),
    [anon_sym_BSLASH] = ACTIONS(2655),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2655),
    [anon_sym_COMMA] = ACTIONS(2655),
    [sym__oneline_regex_literal] = ACTIONS(2653),
    [anon_sym_LPAREN] = ACTIONS(2655),
    [anon_sym_LBRACK] = ACTIONS(2655),
    [anon_sym_QMARK] = ACTIONS(2653),
    [anon_sym_QMARK2] = ACTIONS(2655),
    [anon_sym_AMP] = ACTIONS(2655),
    [anon_sym_TILDE] = ACTIONS(2655),
    [anon_sym_if] = ACTIONS(2653),
    [anon_sym_switch] = ACTIONS(2653),
    [aux_sym_custom_operator_token1] = ACTIONS(2655),
    [anon_sym_LT] = ACTIONS(2653),
    [anon_sym_GT] = ACTIONS(2653),
    [anon_sym_await] = ACTIONS(2653),
    [anon_sym_LBRACE] = ACTIONS(2655),
    [anon_sym_CARET_LBRACE] = ACTIONS(2655),
    [anon_sym_RBRACE] = ACTIONS(2655),
    [anon_sym_self] = ACTIONS(2653),
    [anon_sym_super] = ACTIONS(2653),
    [anon_sym_try] = ACTIONS(2653),
    [anon_sym_PLUS_EQ] = ACTIONS(2655),
    [anon_sym_DASH_EQ] = ACTIONS(2655),
    [anon_sym_STAR_EQ] = ACTIONS(2655),
    [anon_sym_SLASH_EQ] = ACTIONS(2655),
    [anon_sym_PERCENT_EQ] = ACTIONS(2655),
    [anon_sym_BANG_EQ] = ACTIONS(2653),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2655),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2655),
    [anon_sym_LT_EQ] = ACTIONS(2655),
    [anon_sym_GT_EQ] = ACTIONS(2655),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2655),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2655),
    [anon_sym_is] = ACTIONS(2653),
    [anon_sym_PLUS] = ACTIONS(2653),
    [anon_sym_DASH] = ACTIONS(2653),
    [anon_sym_STAR] = ACTIONS(2653),
    [anon_sym_SLASH] = ACTIONS(2653),
    [anon_sym_PERCENT] = ACTIONS(2653),
    [anon_sym_PLUS_PLUS] = ACTIONS(2655),
    [anon_sym_DASH_DASH] = ACTIONS(2655),
    [anon_sym_PIPE] = ACTIONS(2655),
    [anon_sym_CARET] = ACTIONS(2653),
    [anon_sym_LT_LT] = ACTIONS(2655),
    [anon_sym_GT_GT] = ACTIONS(2655),
    [anon_sym_borrowing] = ACTIONS(2653),
    [anon_sym_consuming] = ACTIONS(2653),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2655),
    [sym_raw_str_end_part] = ACTIONS(2655),
    [sym__implicit_semi] = ACTIONS(2655),
    [sym__explicit_semi] = ACTIONS(2655),
    [sym__dot_custom] = ACTIONS(2655),
    [sym__conjunction_operator_custom] = ACTIONS(2655),
    [sym__disjunction_operator_custom] = ACTIONS(2655),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2655),
    [sym__eq_custom] = ACTIONS(2655),
    [sym__eq_eq_custom] = ACTIONS(2655),
    [sym__plus_then_ws] = ACTIONS(2655),
    [sym__minus_then_ws] = ACTIONS(2655),
    [sym__bang_custom] = ACTIONS(2655),
    [sym__as_custom] = ACTIONS(2655),
    [sym__as_quest_custom] = ACTIONS(2655),
    [sym__as_bang_custom] = ACTIONS(2655),
    [sym__custom_operator] = ACTIONS(2655),
    [sym__hash_symbol_custom] = ACTIONS(2655),
    [sym__directive_if] = ACTIONS(2655),
    [sym__directive_elseif] = ACTIONS(2655),
    [sym__directive_else] = ACTIONS(2655),
    [sym__directive_endif] = ACTIONS(2655),
  },
  [1126] = {
    [ts_builtin_sym_end] = ACTIONS(2659),
    [anon_sym_BANG] = ACTIONS(2657),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2657),
    [aux_sym_simple_identifier_token2] = ACTIONS(2659),
    [aux_sym_simple_identifier_token3] = ACTIONS(2659),
    [aux_sym_simple_identifier_token4] = ACTIONS(2659),
    [anon_sym_actor] = ACTIONS(2657),
    [anon_sym_async] = ACTIONS(2657),
    [anon_sym_each] = ACTIONS(2657),
    [anon_sym_lazy] = ACTIONS(2657),
    [anon_sym_repeat] = ACTIONS(2657),
    [anon_sym_package] = ACTIONS(2657),
    [anon_sym_nil] = ACTIONS(2657),
    [sym_real_literal] = ACTIONS(2659),
    [sym_integer_literal] = ACTIONS(2657),
    [sym_hex_literal] = ACTIONS(2657),
    [sym_oct_literal] = ACTIONS(2659),
    [sym_bin_literal] = ACTIONS(2659),
    [anon_sym_true] = ACTIONS(2657),
    [anon_sym_false] = ACTIONS(2657),
    [anon_sym_DQUOTE] = ACTIONS(2657),
    [anon_sym_BSLASH] = ACTIONS(2659),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2659),
    [anon_sym_COMMA] = ACTIONS(2659),
    [sym__oneline_regex_literal] = ACTIONS(2657),
    [anon_sym_LPAREN] = ACTIONS(2659),
    [anon_sym_LBRACK] = ACTIONS(2659),
    [anon_sym_QMARK] = ACTIONS(2657),
    [anon_sym_QMARK2] = ACTIONS(2659),
    [anon_sym_AMP] = ACTIONS(2659),
    [anon_sym_TILDE] = ACTIONS(2659),
    [anon_sym_if] = ACTIONS(2657),
    [anon_sym_switch] = ACTIONS(2657),
    [aux_sym_custom_operator_token1] = ACTIONS(2659),
    [anon_sym_LT] = ACTIONS(2657),
    [anon_sym_GT] = ACTIONS(2657),
    [anon_sym_await] = ACTIONS(2657),
    [anon_sym_LBRACE] = ACTIONS(2659),
    [anon_sym_CARET_LBRACE] = ACTIONS(2659),
    [anon_sym_RBRACE] = ACTIONS(2659),
    [anon_sym_self] = ACTIONS(2657),
    [anon_sym_super] = ACTIONS(2657),
    [anon_sym_try] = ACTIONS(2657),
    [anon_sym_PLUS_EQ] = ACTIONS(2659),
    [anon_sym_DASH_EQ] = ACTIONS(2659),
    [anon_sym_STAR_EQ] = ACTIONS(2659),
    [anon_sym_SLASH_EQ] = ACTIONS(2659),
    [anon_sym_PERCENT_EQ] = ACTIONS(2659),
    [anon_sym_BANG_EQ] = ACTIONS(2657),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2659),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2659),
    [anon_sym_LT_EQ] = ACTIONS(2659),
    [anon_sym_GT_EQ] = ACTIONS(2659),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2659),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2659),
    [anon_sym_is] = ACTIONS(2657),
    [anon_sym_PLUS] = ACTIONS(2657),
    [anon_sym_DASH] = ACTIONS(2657),
    [anon_sym_STAR] = ACTIONS(2657),
    [anon_sym_SLASH] = ACTIONS(2657),
    [anon_sym_PERCENT] = ACTIONS(2657),
    [anon_sym_PLUS_PLUS] = ACTIONS(2659),
    [anon_sym_DASH_DASH] = ACTIONS(2659),
    [anon_sym_PIPE] = ACTIONS(2659),
    [anon_sym_CARET] = ACTIONS(2657),
    [anon_sym_LT_LT] = ACTIONS(2659),
    [anon_sym_GT_GT] = ACTIONS(2659),
    [anon_sym_borrowing] = ACTIONS(2657),
    [anon_sym_consuming] = ACTIONS(2657),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2659),
    [sym_raw_str_end_part] = ACTIONS(2659),
    [sym__implicit_semi] = ACTIONS(2659),
    [sym__explicit_semi] = ACTIONS(2659),
    [sym__dot_custom] = ACTIONS(2659),
    [sym__conjunction_operator_custom] = ACTIONS(2659),
    [sym__disjunction_operator_custom] = ACTIONS(2659),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2659),
    [sym__eq_custom] = ACTIONS(2659),
    [sym__eq_eq_custom] = ACTIONS(2659),
    [sym__plus_then_ws] = ACTIONS(2659),
    [sym__minus_then_ws] = ACTIONS(2659),
    [sym__bang_custom] = ACTIONS(2659),
    [sym__as_custom] = ACTIONS(2659),
    [sym__as_quest_custom] = ACTIONS(2659),
    [sym__as_bang_custom] = ACTIONS(2659),
    [sym__custom_operator] = ACTIONS(2659),
    [sym__hash_symbol_custom] = ACTIONS(2659),
    [sym__directive_if] = ACTIONS(2659),
    [sym__directive_elseif] = ACTIONS(2659),
    [sym__directive_else] = ACTIONS(2659),
    [sym__directive_endif] = ACTIONS(2659),
  },
  [1127] = {
    [sym__type_level_declaration] = STATE(1135),
    [sym_import_declaration] = STATE(1135),
    [sym_property_declaration] = STATE(1135),
    [sym__modifierless_property_declaration] = STATE(3149),
    [sym_typealias_declaration] = STATE(1135),
    [sym__modifierless_typealias_declaration] = STATE(3150),
    [sym_function_declaration] = STATE(1135),
    [sym__bodyless_function_declaration] = STATE(7561),
    [sym__modifierless_function_declaration_no_body] = STATE(8708),
    [sym_class_declaration] = STATE(1135),
    [sym__modifierless_class_declaration] = STATE(3160),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__async_modifier] = STATE(7659),
    [sym_enum_entry] = STATE(1135),
    [sym_protocol_declaration] = STATE(1135),
    [sym_init_declaration] = STATE(1135),
    [sym_deinit_declaration] = STATE(1135),
    [sym_subscript_declaration] = STATE(1135),
    [sym_operator_declaration] = STATE(1135),
    [sym_precedence_group_declaration] = STATE(1135),
    [sym_associatedtype_declaration] = STATE(1135),
    [sym_attribute] = STATE(1786),
    [sym_value_binding_pattern] = STATE(4775),
    [sym__possibly_async_binding_pattern_kind] = STATE(4775),
    [sym_modifiers] = STATE(4921),
    [aux_sym__locally_permitted_modifiers] = STATE(1786),
    [sym__non_local_scope_modifier] = STATE(1786),
    [sym__locally_permitted_modifier] = STATE(1786),
    [sym_property_behavior_modifier] = STATE(1786),
    [sym_member_modifier] = STATE(1786),
    [sym_visibility_modifier] = STATE(1786),
    [sym_function_modifier] = STATE(1786),
    [sym_mutation_modifier] = STATE(1786),
    [sym_property_modifier] = STATE(1786),
    [sym_inheritance_modifier] = STATE(1786),
    [sym_parameter_modifier] = STATE(1786),
    [sym_ownership_modifier] = STATE(1786),
    [sym__parameter_ownership_modifier] = STATE(2979),
    [aux_sym_enum_class_body_repeat1] = STATE(1135),
    [aux_sym_modifiers_repeat1] = STATE(1786),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3975),
    [anon_sym_async] = ACTIONS(3977),
    [anon_sym_lazy] = ACTIONS(3979),
    [anon_sym_package] = ACTIONS(3981),
    [anon_sym_RBRACE] = ACTIONS(4027),
    [anon_sym_case] = ACTIONS(3985),
    [anon_sym_import] = ACTIONS(3987),
    [anon_sym_typealias] = ACTIONS(3989),
    [anon_sym_struct] = ACTIONS(3975),
    [anon_sym_class] = ACTIONS(3991),
    [anon_sym_enum] = ACTIONS(3993),
    [anon_sym_protocol] = ACTIONS(3995),
    [anon_sym_let] = ACTIONS(3997),
    [anon_sym_var] = ACTIONS(3997),
    [anon_sym_func] = ACTIONS(3999),
    [anon_sym_extension] = ACTIONS(4001),
    [anon_sym_indirect] = ACTIONS(4003),
    [anon_sym_init] = ACTIONS(4005),
    [anon_sym_deinit] = ACTIONS(4007),
    [anon_sym_subscript] = ACTIONS(4009),
    [anon_sym_prefix] = ACTIONS(4011),
    [anon_sym_infix] = ACTIONS(4011),
    [anon_sym_postfix] = ACTIONS(4011),
    [anon_sym_precedencegroup] = ACTIONS(4013),
    [anon_sym_associatedtype] = ACTIONS(4015),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(4017),
    [anon_sym_convenience] = ACTIONS(4017),
    [anon_sym_required] = ACTIONS(4017),
    [anon_sym_nonisolated] = ACTIONS(4017),
    [anon_sym_public] = ACTIONS(3981),
    [anon_sym_private] = ACTIONS(3981),
    [anon_sym_internal] = ACTIONS(3981),
    [anon_sym_fileprivate] = ACTIONS(3981),
    [anon_sym_open] = ACTIONS(3981),
    [anon_sym_mutating] = ACTIONS(4019),
    [anon_sym_nonmutating] = ACTIONS(4019),
    [anon_sym_static] = ACTIONS(4021),
    [anon_sym_dynamic] = ACTIONS(4021),
    [anon_sym_optional] = ACTIONS(4021),
    [anon_sym_distributed] = ACTIONS(4021),
    [anon_sym_final] = ACTIONS(4023),
    [anon_sym_inout] = ACTIONS(125),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(129),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(125),
    [anon_sym_consuming] = ACTIONS(125),
    [sym_multiline_comment] = ACTIONS(5),
  },
  [1128] = {
    [sym_simple_identifier] = STATE(818),
    [sym__contextual_simple_identifier] = STATE(845),
    [sym__unannotated_type] = STATE(1971),
    [sym_user_type] = STATE(811),
    [sym__simple_user_type] = STATE(810),
    [sym_tuple_type] = STATE(1918),
    [sym_function_type] = STATE(1971),
    [sym_array_type] = STATE(811),
    [sym_dictionary_type] = STATE(811),
    [sym_optional_type] = STATE(1971),
    [sym_metatype] = STATE(1971),
    [sym_opaque_type] = STATE(1971),
    [sym_existential_type] = STATE(1971),
    [sym_type_parameter_pack] = STATE(1971),
    [sym_type_pack_expansion] = STATE(1971),
    [sym_protocol_composition_type] = STATE(1971),
    [sym_suppressed_constraint] = STATE(1971),
    [sym__parenthesized_type] = STATE(839),
    [sym__parameter_ownership_modifier] = STATE(845),
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(755),
    [aux_sym_simple_identifier_token2] = ACTIONS(757),
    [aux_sym_simple_identifier_token3] = ACTIONS(757),
    [aux_sym_simple_identifier_token4] = ACTIONS(757),
    [anon_sym_actor] = ACTIONS(755),
    [anon_sym_async] = ACTIONS(755),
    [anon_sym_each] = ACTIONS(4029),
    [anon_sym_lazy] = ACTIONS(755),
    [anon_sym_repeat] = ACTIONS(4031),
    [anon_sym_package] = ACTIONS(755),
    [anon_sym_RPAREN] = ACTIONS(617),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_COLON] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(2641),
    [anon_sym_LBRACK] = ACTIONS(2644),
    [anon_sym_RBRACK] = ACTIONS(617),
    [anon_sym_DOT] = ACTIONS(623),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(4033),
    [anon_sym_any] = ACTIONS(4035),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(2651),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(755),
    [anon_sym_consuming] = ACTIONS(755),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [1129] = {
    [sym_simple_identifier] = STATE(5652),
    [sym__contextual_simple_identifier] = STATE(6039),
    [sym_identifier] = STATE(7055),
    [sym__unannotated_type] = STATE(5919),
    [sym_user_type] = STATE(6078),
    [sym__simple_user_type] = STATE(5926),
    [sym_tuple_type] = STATE(5769),
    [sym_function_type] = STATE(5919),
    [sym_array_type] = STATE(6078),
    [sym_dictionary_type] = STATE(6078),
    [sym_optional_type] = STATE(5919),
    [sym_metatype] = STATE(5919),
    [sym_opaque_type] = STATE(5919),
    [sym_existential_type] = STATE(5919),
    [sym_type_parameter_pack] = STATE(5919),
    [sym_type_pack_expansion] = STATE(5919),
    [sym_protocol_composition_type] = STATE(5919),
    [sym_suppressed_constraint] = STATE(5919),
    [sym__parenthesized_type] = STATE(6255),
    [sym_type_constraint] = STATE(2589),
    [sym_inheritance_constraint] = STATE(2628),
    [sym_equality_constraint] = STATE(2628),
    [sym__constrained_type] = STATE(7055),
    [sym_attribute] = STATE(4149),
    [sym__parameter_ownership_modifier] = STATE(6039),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4149),
    [sym_comment] = ACTIONS(5),
    [aux_sym_simple_identifier_token1] = ACTIONS(4037),
    [aux_sym_simple_identifier_token2] = ACTIONS(4039),
    [aux_sym_simple_identifier_token3] = ACTIONS(4039),
    [aux_sym_simple_identifier_token4] = ACTIONS(4039),
    [anon_sym_actor] = ACTIONS(4037),
    [anon_sym_async] = ACTIONS(4037),
    [anon_sym_each] = ACTIONS(4041),
    [anon_sym_lazy] = ACTIONS(4037),
    [anon_sym_repeat] = ACTIONS(4043),
    [anon_sym_package] = ACTIONS(4037),
    [anon_sym_COMMA] = ACTIONS(4045),
    [anon_sym_LPAREN] = ACTIONS(4047),
    [anon_sym_LBRACK] = ACTIONS(4049),
    [anon_sym_some] = ACTIONS(4051),
    [anon_sym_any] = ACTIONS(4053),
    [anon_sym_TILDE] = ACTIONS(4055),
    [anon_sym_LBRACE] = ACTIONS(4045),
    [anon_sym_RBRACE] = ACTIONS(4045),
    [anon_sym_case] = ACTIONS(4057),
    [anon_sym_import] = ACTIONS(4057),
    [anon_sym_typealias] = ACTIONS(4057),
    [anon_sym_struct] = ACTIONS(4057),
    [anon_sym_class] = ACTIONS(4057),
    [anon_sym_enum] = ACTIONS(4057),
    [anon_sym_protocol] = ACTIONS(4057),
    [anon_sym_let] = ACTIONS(4057),
    [anon_sym_var] = ACTIONS(4057),
    [anon_sym_func] = ACTIONS(4057),
    [anon_sym_extension] = ACTIONS(4057),
    [anon_sym_indirect] = ACTIONS(4057),
    [anon_sym_init] = ACTIONS(4057),
    [anon_sym_deinit] = ACTIONS(4057),
    [anon_sym_subscript] = ACTIONS(4057),
    [anon_sym_prefix] = ACTIONS(4057),
    [anon_sym_infix] = ACTIONS(4057),
    [anon_sym_postfix] = ACTIONS(4057),
    [anon_sym_precedencegroup] = ACTIONS(4057),
    [anon_sym_associatedtype] = ACTIONS(4057),
    [anon_sym_AT] = ACTIONS(811),
    [anon_sym_override] = ACTIONS(4057),
    [anon_sym_convenience] = ACTIONS(4057),
    [anon_sym_required] = ACTIONS(4057),
    [anon_sym_nonisolated] = ACTIONS(4057),
    [anon_sym_public] = ACTIONS(4057),
    [anon_sym_private] = ACTIONS(4057),
    [anon_sym_internal] = ACTIONS(4057),
    [anon_sym_fileprivate] = ACTIONS(4057),
    [anon_sym_open] = ACTIONS(4057),
    [anon_sym_mutating] = ACTIONS(4057),
    [anon_sym_nonmutating] = ACTIONS(4057),
    [anon_sym_static] = ACTIONS(4057),
    [anon_sym_dynamic] = ACTIONS(4057),
    [anon_sym_optional] = ACTIONS(4057),
    [anon_sym_distributed] = ACTIONS(4057),
    [anon_sym_final] = ACTIONS(4057),
    [anon_sym_inout] = ACTIONS(4057),
    [anon_sym_ATescaping] = ACTIONS(4045),
    [anon_sym_ATautoclosure] = ACTIONS(4045),
    [anon_sym_weak] = ACTIONS(4057),
    [anon_sym_unowned] = ACTIONS(4057),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(4045),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(4045),
    [anon_sym_borrowing] = ACTIONS(4037),
    [anon_sym_consuming] = ACTIONS(4037),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__eq_custom] = ACTIONS(4045),
  },
  [1130] = {
    [ts_builtin_sym_end] = ACTIONS(2680),
    [anon_sym_BANG] = ACTIONS(2673),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2676),
    [aux_sym_simple_identifier_token2] = ACTIONS(2678),
    [aux_sym_simple_identifier_token3] = ACTIONS(2678),
    [aux_sym_simple_identifier_token4] = ACTIONS(2678),
    [anon_sym_actor] = ACTIONS(2676),
    [anon_sym_async] = ACTIONS(2676),
    [anon_sym_each] = ACTIONS(2676),
    [anon_sym_lazy] = ACTIONS(2676),
    [anon_sym_repeat] = ACTIONS(2676),
    [anon_sym_package] = ACTIONS(2676),
    [anon_sym_nil] = ACTIONS(2676),
    [sym_real_literal] = ACTIONS(2678),
    [sym_integer_literal] = ACTIONS(2676),
    [sym_hex_literal] = ACTIONS(2676),
    [sym_oct_literal] = ACTIONS(2678),
    [sym_bin_literal] = ACTIONS(2678),
    [anon_sym_true] = ACTIONS(2676),
    [anon_sym_false] = ACTIONS(2676),
    [anon_sym_DQUOTE] = ACTIONS(2676),
    [anon_sym_BSLASH] = ACTIONS(2678),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2678),
    [anon_sym_COMMA] = ACTIONS(2680),
    [sym__oneline_regex_literal] = ACTIONS(2676),
    [anon_sym_LPAREN] = ACTIONS(2682),
    [anon_sym_LBRACK] = ACTIONS(2682),
    [anon_sym_QMARK] = ACTIONS(2685),
    [anon_sym_QMARK2] = ACTIONS(2680),
    [anon_sym_AMP] = ACTIONS(2682),
    [anon_sym_TILDE] = ACTIONS(2678),
    [anon_sym_if] = ACTIONS(2676),
    [anon_sym_switch] = ACTIONS(2676),
    [aux_sym_custom_operator_token1] = ACTIONS(2682),
    [anon_sym_LT] = ACTIONS(2673),
    [anon_sym_GT] = ACTIONS(2673),
    [anon_sym_await] = ACTIONS(2676),
    [anon_sym_LBRACE] = ACTIONS(2682),
    [anon_sym_CARET_LBRACE] = ACTIONS(2682),
    [anon_sym_RBRACE] = ACTIONS(2680),
    [anon_sym_self] = ACTIONS(2676),
    [anon_sym_super] = ACTIONS(2676),
    [anon_sym_try] = ACTIONS(2676),
    [anon_sym_PLUS_EQ] = ACTIONS(2682),
    [anon_sym_DASH_EQ] = ACTIONS(2682),
    [anon_sym_STAR_EQ] = ACTIONS(2682),
    [anon_sym_SLASH_EQ] = ACTIONS(2682),
    [anon_sym_PERCENT_EQ] = ACTIONS(2682),
    [anon_sym_BANG_EQ] = ACTIONS(2673),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2682),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2682),
    [anon_sym_LT_EQ] = ACTIONS(2682),
    [anon_sym_GT_EQ] = ACTIONS(2682),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2682),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2682),
    [anon_sym_is] = ACTIONS(2685),
    [anon_sym_PLUS] = ACTIONS(2673),
    [anon_sym_DASH] = ACTIONS(2673),
    [anon_sym_STAR] = ACTIONS(2673),
    [anon_sym_SLASH] = ACTIONS(2673),
    [anon_sym_PERCENT] = ACTIONS(2673),
    [anon_sym_PLUS_PLUS] = ACTIONS(2682),
    [anon_sym_DASH_DASH] = ACTIONS(2682),
    [anon_sym_PIPE] = ACTIONS(2682),
    [anon_sym_CARET] = ACTIONS(2673),
    [anon_sym_LT_LT] = ACTIONS(2682),
    [anon_sym_GT_GT] = ACTIONS(2682),
    [anon_sym_borrowing] = ACTIONS(2676),
    [anon_sym_consuming] = ACTIONS(2676),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2678),
    [sym_raw_str_end_part] = ACTIONS(2678),
    [sym__implicit_semi] = ACTIONS(2680),
    [sym__explicit_semi] = ACTIONS(2680),
    [sym__dot_custom] = ACTIONS(2682),
    [sym__conjunction_operator_custom] = ACTIONS(2680),
    [sym__disjunction_operator_custom] = ACTIONS(2680),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2680),
    [sym__eq_custom] = ACTIONS(2682),
    [sym__eq_eq_custom] = ACTIONS(2682),
    [sym__plus_then_ws] = ACTIONS(2682),
    [sym__minus_then_ws] = ACTIONS(2682),
    [sym__bang_custom] = ACTIONS(2682),
    [sym__as_custom] = ACTIONS(2680),
    [sym__as_quest_custom] = ACTIONS(2680),
    [sym__as_bang_custom] = ACTIONS(2680),
    [sym__custom_operator] = ACTIONS(2682),
    [sym__hash_symbol_custom] = ACTIONS(2678),
    [sym__directive_if] = ACTIONS(2678),
    [sym__directive_elseif] = ACTIONS(2678),
    [sym__directive_else] = ACTIONS(2678),
    [sym__directive_endif] = ACTIONS(2678),
  },
  [1131] = {
    [ts_builtin_sym_end] = ACTIONS(2663),
    [anon_sym_BANG] = ACTIONS(2661),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2661),
    [aux_sym_simple_identifier_token2] = ACTIONS(2663),
    [aux_sym_simple_identifier_token3] = ACTIONS(2663),
    [aux_sym_simple_identifier_token4] = ACTIONS(2663),
    [anon_sym_actor] = ACTIONS(2661),
    [anon_sym_async] = ACTIONS(2661),
    [anon_sym_each] = ACTIONS(2661),
    [anon_sym_lazy] = ACTIONS(2661),
    [anon_sym_repeat] = ACTIONS(2661),
    [anon_sym_package] = ACTIONS(2661),
    [anon_sym_nil] = ACTIONS(2661),
    [sym_real_literal] = ACTIONS(2663),
    [sym_integer_literal] = ACTIONS(2661),
    [sym_hex_literal] = ACTIONS(2661),
    [sym_oct_literal] = ACTIONS(2663),
    [sym_bin_literal] = ACTIONS(2663),
    [anon_sym_true] = ACTIONS(2661),
    [anon_sym_false] = ACTIONS(2661),
    [anon_sym_DQUOTE] = ACTIONS(2661),
    [anon_sym_BSLASH] = ACTIONS(2663),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2663),
    [anon_sym_COMMA] = ACTIONS(2663),
    [sym__oneline_regex_literal] = ACTIONS(2661),
    [anon_sym_LPAREN] = ACTIONS(2663),
    [anon_sym_LBRACK] = ACTIONS(2663),
    [anon_sym_QMARK] = ACTIONS(2661),
    [anon_sym_QMARK2] = ACTIONS(2663),
    [anon_sym_AMP] = ACTIONS(2663),
    [anon_sym_TILDE] = ACTIONS(2663),
    [anon_sym_if] = ACTIONS(2661),
    [anon_sym_switch] = ACTIONS(2661),
    [aux_sym_custom_operator_token1] = ACTIONS(2663),
    [anon_sym_LT] = ACTIONS(2661),
    [anon_sym_GT] = ACTIONS(2661),
    [anon_sym_await] = ACTIONS(2661),
    [anon_sym_LBRACE] = ACTIONS(2663),
    [anon_sym_CARET_LBRACE] = ACTIONS(2663),
    [anon_sym_RBRACE] = ACTIONS(2663),
    [anon_sym_self] = ACTIONS(2661),
    [anon_sym_super] = ACTIONS(2661),
    [anon_sym_try] = ACTIONS(2661),
    [anon_sym_PLUS_EQ] = ACTIONS(2663),
    [anon_sym_DASH_EQ] = ACTIONS(2663),
    [anon_sym_STAR_EQ] = ACTIONS(2663),
    [anon_sym_SLASH_EQ] = ACTIONS(2663),
    [anon_sym_PERCENT_EQ] = ACTIONS(2663),
    [anon_sym_BANG_EQ] = ACTIONS(2661),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2663),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2663),
    [anon_sym_LT_EQ] = ACTIONS(2663),
    [anon_sym_GT_EQ] = ACTIONS(2663),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2663),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2663),
    [anon_sym_is] = ACTIONS(2661),
    [anon_sym_PLUS] = ACTIONS(2661),
    [anon_sym_DASH] = ACTIONS(2661),
    [anon_sym_STAR] = ACTIONS(2661),
    [anon_sym_SLASH] = ACTIONS(2661),
    [anon_sym_PERCENT] = ACTIONS(2661),
    [anon_sym_PLUS_PLUS] = ACTIONS(2663),
    [anon_sym_DASH_DASH] = ACTIONS(2663),
    [anon_sym_PIPE] = ACTIONS(2663),
    [anon_sym_CARET] = ACTIONS(2661),
    [anon_sym_LT_LT] = ACTIONS(2663),
    [anon_sym_GT_GT] = ACTIONS(2663),
    [anon_sym_borrowing] = ACTIONS(2661),
    [anon_sym_consuming] = ACTIONS(2661),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2663),
    [sym_raw_str_end_part] = ACTIONS(2663),
    [sym__implicit_semi] = ACTIONS(2663),
    [sym__explicit_semi] = ACTIONS(2663),
    [sym__dot_custom] = ACTIONS(2663),
    [sym__conjunction_operator_custom] = ACTIONS(2663),
    [sym__disjunction_operator_custom] = ACTIONS(2663),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2663),
    [sym__eq_custom] = ACTIONS(2663),
    [sym__eq_eq_custom] = ACTIONS(2663),
    [sym__plus_then_ws] = ACTIONS(2663),
    [sym__minus_then_ws] = ACTIONS(2663),
    [sym__bang_custom] = ACTIONS(2663),
    [sym__as_custom] = ACTIONS(2663),
    [sym__as_quest_custom] = ACTIONS(2663),
    [sym__as_bang_custom] = ACTIONS(2663),
    [sym__custom_operator] = ACTIONS(2663),
    [sym__hash_symbol_custom] = ACTIONS(2663),
    [sym__directive_if] = ACTIONS(2663),
    [sym__directive_elseif] = ACTIONS(2663),
    [sym__directive_else] = ACTIONS(2663),
    [sym__directive_endif] = ACTIONS(2663),
  },
  [1132] = {
    [sym_simple_identifier] = STATE(818),
    [sym__contextual_simple_identifier] = STATE(845),
    [sym__unannotated_type] = STATE(1975),
    [sym_user_type] = STATE(811),
    [sym__simple_user_type] = STATE(810),
    [sym_tuple_type] = STATE(1918),
    [sym_function_type] = STATE(1975),
    [sym_array_type] = STATE(811),
    [sym_dictionary_type] = STATE(811),
    [sym_optional_type] = STATE(1975),
    [sym_metatype] = STATE(1975),
    [sym_opaque_type] = STATE(1975),
    [sym_existential_type] = STATE(1975),
    [sym_type_parameter_pack] = STATE(1975),
    [sym_type_pack_expansion] = STATE(1975),
    [sym_protocol_composition_type] = STATE(1975),
    [sym_suppressed_constraint] = STATE(1975),
    [sym__parenthesized_type] = STATE(839),
    [sym__parameter_ownership_modifier] = STATE(845),
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(755),
    [aux_sym_simple_identifier_token2] = ACTIONS(757),
    [aux_sym_simple_identifier_token3] = ACTIONS(757),
    [aux_sym_simple_identifier_token4] = ACTIONS(757),
    [anon_sym_actor] = ACTIONS(755),
    [anon_sym_async] = ACTIONS(755),
    [anon_sym_each] = ACTIONS(4029),
    [anon_sym_lazy] = ACTIONS(755),
    [anon_sym_repeat] = ACTIONS(4031),
    [anon_sym_package] = ACTIONS(755),
    [anon_sym_RPAREN] = ACTIONS(617),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_COLON] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(2641),
    [anon_sym_LBRACK] = ACTIONS(2644),
    [anon_sym_RBRACK] = ACTIONS(617),
    [anon_sym_DOT] = ACTIONS(623),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(4033),
    [anon_sym_any] = ACTIONS(4035),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(2651),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(755),
    [anon_sym_consuming] = ACTIONS(755),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [1133] = {
    [sym_simple_identifier] = STATE(2137),
    [sym__contextual_simple_identifier] = STATE(2201),
    [sym__unannotated_type] = STATE(1978),
    [sym_user_type] = STATE(2050),
    [sym__simple_user_type] = STATE(2067),
    [sym_tuple_type] = STATE(1935),
    [sym_function_type] = STATE(1978),
    [sym_array_type] = STATE(2050),
    [sym_dictionary_type] = STATE(2050),
    [sym_optional_type] = STATE(1978),
    [sym_metatype] = STATE(1978),
    [sym_opaque_type] = STATE(1978),
    [sym_existential_type] = STATE(1978),
    [sym_type_parameter_pack] = STATE(1978),
    [sym_type_pack_expansion] = STATE(1978),
    [sym_protocol_composition_type] = STATE(1978),
    [sym_suppressed_constraint] = STATE(1978),
    [sym__parenthesized_type] = STATE(2160),
    [sym__parameter_ownership_modifier] = STATE(2201),
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(4059),
    [aux_sym_simple_identifier_token2] = ACTIONS(4061),
    [aux_sym_simple_identifier_token3] = ACTIONS(4061),
    [aux_sym_simple_identifier_token4] = ACTIONS(4061),
    [anon_sym_actor] = ACTIONS(4059),
    [anon_sym_async] = ACTIONS(4059),
    [anon_sym_each] = ACTIONS(4063),
    [anon_sym_lazy] = ACTIONS(4059),
    [anon_sym_repeat] = ACTIONS(4065),
    [anon_sym_package] = ACTIONS(4059),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(4067),
    [anon_sym_LBRACK] = ACTIONS(4070),
    [anon_sym_DOT] = ACTIONS(623),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(4073),
    [anon_sym_any] = ACTIONS(4075),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(4077),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(4059),
    [anon_sym_consuming] = ACTIONS(4059),
    [sym_multiline_comment] = ACTIONS(617),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [1134] = {
    [sym_simple_identifier] = STATE(5652),
    [sym__contextual_simple_identifier] = STATE(6039),
    [sym_identifier] = STATE(7055),
    [sym__unannotated_type] = STATE(5919),
    [sym_user_type] = STATE(6078),
    [sym__simple_user_type] = STATE(5926),
    [sym_tuple_type] = STATE(5769),
    [sym_function_type] = STATE(5919),
    [sym_array_type] = STATE(6078),
    [sym_dictionary_type] = STATE(6078),
    [sym_optional_type] = STATE(5919),
    [sym_metatype] = STATE(5919),
    [sym_opaque_type] = STATE(5919),
    [sym_existential_type] = STATE(5919),
    [sym_type_parameter_pack] = STATE(5919),
    [sym_type_pack_expansion] = STATE(5919),
    [sym_protocol_composition_type] = STATE(5919),
    [sym_suppressed_constraint] = STATE(5919),
    [sym__parenthesized_type] = STATE(6255),
    [sym_type_constraint] = STATE(2589),
    [sym_inheritance_constraint] = STATE(2628),
    [sym_equality_constraint] = STATE(2628),
    [sym__constrained_type] = STATE(7055),
    [sym_attribute] = STATE(4149),
    [sym__parameter_ownership_modifier] = STATE(6039),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4149),
    [sym_comment] = ACTIONS(5),
    [aux_sym_simple_identifier_token1] = ACTIONS(4037),
    [aux_sym_simple_identifier_token2] = ACTIONS(4039),
    [aux_sym_simple_identifier_token3] = ACTIONS(4039),
    [aux_sym_simple_identifier_token4] = ACTIONS(4039),
    [anon_sym_actor] = ACTIONS(4037),
    [anon_sym_async] = ACTIONS(4037),
    [anon_sym_each] = ACTIONS(4041),
    [anon_sym_lazy] = ACTIONS(4037),
    [anon_sym_repeat] = ACTIONS(4043),
    [anon_sym_package] = ACTIONS(4037),
    [anon_sym_COMMA] = ACTIONS(4079),
    [anon_sym_LPAREN] = ACTIONS(4047),
    [anon_sym_LBRACK] = ACTIONS(4049),
    [anon_sym_some] = ACTIONS(4051),
    [anon_sym_any] = ACTIONS(4053),
    [anon_sym_TILDE] = ACTIONS(4055),
    [anon_sym_LBRACE] = ACTIONS(4079),
    [anon_sym_RBRACE] = ACTIONS(4079),
    [anon_sym_case] = ACTIONS(4081),
    [anon_sym_import] = ACTIONS(4081),
    [anon_sym_typealias] = ACTIONS(4081),
    [anon_sym_struct] = ACTIONS(4081),
    [anon_sym_class] = ACTIONS(4081),
    [anon_sym_enum] = ACTIONS(4081),
    [anon_sym_protocol] = ACTIONS(4081),
    [anon_sym_let] = ACTIONS(4081),
    [anon_sym_var] = ACTIONS(4081),
    [anon_sym_func] = ACTIONS(4081),
    [anon_sym_extension] = ACTIONS(4081),
    [anon_sym_indirect] = ACTIONS(4081),
    [anon_sym_init] = ACTIONS(4081),
    [anon_sym_deinit] = ACTIONS(4081),
    [anon_sym_subscript] = ACTIONS(4081),
    [anon_sym_prefix] = ACTIONS(4081),
    [anon_sym_infix] = ACTIONS(4081),
    [anon_sym_postfix] = ACTIONS(4081),
    [anon_sym_precedencegroup] = ACTIONS(4081),
    [anon_sym_associatedtype] = ACTIONS(4081),
    [anon_sym_AT] = ACTIONS(811),
    [anon_sym_override] = ACTIONS(4081),
    [anon_sym_convenience] = ACTIONS(4081),
    [anon_sym_required] = ACTIONS(4081),
    [anon_sym_nonisolated] = ACTIONS(4081),
    [anon_sym_public] = ACTIONS(4081),
    [anon_sym_private] = ACTIONS(4081),
    [anon_sym_internal] = ACTIONS(4081),
    [anon_sym_fileprivate] = ACTIONS(4081),
    [anon_sym_open] = ACTIONS(4081),
    [anon_sym_mutating] = ACTIONS(4081),
    [anon_sym_nonmutating] = ACTIONS(4081),
    [anon_sym_static] = ACTIONS(4081),
    [anon_sym_dynamic] = ACTIONS(4081),
    [anon_sym_optional] = ACTIONS(4081),
    [anon_sym_distributed] = ACTIONS(4081),
    [anon_sym_final] = ACTIONS(4081),
    [anon_sym_inout] = ACTIONS(4081),
    [anon_sym_ATescaping] = ACTIONS(4079),
    [anon_sym_ATautoclosure] = ACTIONS(4079),
    [anon_sym_weak] = ACTIONS(4081),
    [anon_sym_unowned] = ACTIONS(4081),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(4079),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(4079),
    [anon_sym_borrowing] = ACTIONS(4037),
    [anon_sym_consuming] = ACTIONS(4037),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__eq_custom] = ACTIONS(4079),
  },
  [1135] = {
    [sym__type_level_declaration] = STATE(1141),
    [sym_import_declaration] = STATE(1141),
    [sym_property_declaration] = STATE(1141),
    [sym__modifierless_property_declaration] = STATE(3149),
    [sym_typealias_declaration] = STATE(1141),
    [sym__modifierless_typealias_declaration] = STATE(3150),
    [sym_function_declaration] = STATE(1141),
    [sym__bodyless_function_declaration] = STATE(7561),
    [sym__modifierless_function_declaration_no_body] = STATE(8708),
    [sym_class_declaration] = STATE(1141),
    [sym__modifierless_class_declaration] = STATE(3160),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__async_modifier] = STATE(7659),
    [sym_enum_entry] = STATE(1141),
    [sym_protocol_declaration] = STATE(1141),
    [sym_init_declaration] = STATE(1141),
    [sym_deinit_declaration] = STATE(1141),
    [sym_subscript_declaration] = STATE(1141),
    [sym_operator_declaration] = STATE(1141),
    [sym_precedence_group_declaration] = STATE(1141),
    [sym_associatedtype_declaration] = STATE(1141),
    [sym_attribute] = STATE(1786),
    [sym_value_binding_pattern] = STATE(4775),
    [sym__possibly_async_binding_pattern_kind] = STATE(4775),
    [sym_modifiers] = STATE(4921),
    [aux_sym__locally_permitted_modifiers] = STATE(1786),
    [sym__non_local_scope_modifier] = STATE(1786),
    [sym__locally_permitted_modifier] = STATE(1786),
    [sym_property_behavior_modifier] = STATE(1786),
    [sym_member_modifier] = STATE(1786),
    [sym_visibility_modifier] = STATE(1786),
    [sym_function_modifier] = STATE(1786),
    [sym_mutation_modifier] = STATE(1786),
    [sym_property_modifier] = STATE(1786),
    [sym_inheritance_modifier] = STATE(1786),
    [sym_parameter_modifier] = STATE(1786),
    [sym_ownership_modifier] = STATE(1786),
    [sym__parameter_ownership_modifier] = STATE(2979),
    [aux_sym_enum_class_body_repeat1] = STATE(1141),
    [aux_sym_modifiers_repeat1] = STATE(1786),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3975),
    [anon_sym_async] = ACTIONS(3977),
    [anon_sym_lazy] = ACTIONS(3979),
    [anon_sym_package] = ACTIONS(3981),
    [anon_sym_RBRACE] = ACTIONS(4083),
    [anon_sym_case] = ACTIONS(3985),
    [anon_sym_import] = ACTIONS(3987),
    [anon_sym_typealias] = ACTIONS(3989),
    [anon_sym_struct] = ACTIONS(3975),
    [anon_sym_class] = ACTIONS(3991),
    [anon_sym_enum] = ACTIONS(3993),
    [anon_sym_protocol] = ACTIONS(3995),
    [anon_sym_let] = ACTIONS(3997),
    [anon_sym_var] = ACTIONS(3997),
    [anon_sym_func] = ACTIONS(3999),
    [anon_sym_extension] = ACTIONS(4001),
    [anon_sym_indirect] = ACTIONS(4003),
    [anon_sym_init] = ACTIONS(4005),
    [anon_sym_deinit] = ACTIONS(4007),
    [anon_sym_subscript] = ACTIONS(4009),
    [anon_sym_prefix] = ACTIONS(4011),
    [anon_sym_infix] = ACTIONS(4011),
    [anon_sym_postfix] = ACTIONS(4011),
    [anon_sym_precedencegroup] = ACTIONS(4013),
    [anon_sym_associatedtype] = ACTIONS(4015),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(4017),
    [anon_sym_convenience] = ACTIONS(4017),
    [anon_sym_required] = ACTIONS(4017),
    [anon_sym_nonisolated] = ACTIONS(4017),
    [anon_sym_public] = ACTIONS(3981),
    [anon_sym_private] = ACTIONS(3981),
    [anon_sym_internal] = ACTIONS(3981),
    [anon_sym_fileprivate] = ACTIONS(3981),
    [anon_sym_open] = ACTIONS(3981),
    [anon_sym_mutating] = ACTIONS(4019),
    [anon_sym_nonmutating] = ACTIONS(4019),
    [anon_sym_static] = ACTIONS(4021),
    [anon_sym_dynamic] = ACTIONS(4021),
    [anon_sym_optional] = ACTIONS(4021),
    [anon_sym_distributed] = ACTIONS(4021),
    [anon_sym_final] = ACTIONS(4023),
    [anon_sym_inout] = ACTIONS(125),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(129),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(125),
    [anon_sym_consuming] = ACTIONS(125),
    [sym_multiline_comment] = ACTIONS(5),
  },
  [1136] = {
    [sym__type_level_declaration] = STATE(1141),
    [sym_import_declaration] = STATE(1141),
    [sym_property_declaration] = STATE(1141),
    [sym__modifierless_property_declaration] = STATE(3149),
    [sym_typealias_declaration] = STATE(1141),
    [sym__modifierless_typealias_declaration] = STATE(3150),
    [sym_function_declaration] = STATE(1141),
    [sym__bodyless_function_declaration] = STATE(7561),
    [sym__modifierless_function_declaration_no_body] = STATE(8708),
    [sym_class_declaration] = STATE(1141),
    [sym__modifierless_class_declaration] = STATE(3160),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__async_modifier] = STATE(7659),
    [sym_enum_entry] = STATE(1141),
    [sym_protocol_declaration] = STATE(1141),
    [sym_init_declaration] = STATE(1141),
    [sym_deinit_declaration] = STATE(1141),
    [sym_subscript_declaration] = STATE(1141),
    [sym_operator_declaration] = STATE(1141),
    [sym_precedence_group_declaration] = STATE(1141),
    [sym_associatedtype_declaration] = STATE(1141),
    [sym_attribute] = STATE(1786),
    [sym_value_binding_pattern] = STATE(4775),
    [sym__possibly_async_binding_pattern_kind] = STATE(4775),
    [sym_modifiers] = STATE(4921),
    [aux_sym__locally_permitted_modifiers] = STATE(1786),
    [sym__non_local_scope_modifier] = STATE(1786),
    [sym__locally_permitted_modifier] = STATE(1786),
    [sym_property_behavior_modifier] = STATE(1786),
    [sym_member_modifier] = STATE(1786),
    [sym_visibility_modifier] = STATE(1786),
    [sym_function_modifier] = STATE(1786),
    [sym_mutation_modifier] = STATE(1786),
    [sym_property_modifier] = STATE(1786),
    [sym_inheritance_modifier] = STATE(1786),
    [sym_parameter_modifier] = STATE(1786),
    [sym_ownership_modifier] = STATE(1786),
    [sym__parameter_ownership_modifier] = STATE(2979),
    [aux_sym_enum_class_body_repeat1] = STATE(1141),
    [aux_sym_modifiers_repeat1] = STATE(1786),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3975),
    [anon_sym_async] = ACTIONS(3977),
    [anon_sym_lazy] = ACTIONS(3979),
    [anon_sym_package] = ACTIONS(3981),
    [anon_sym_RBRACE] = ACTIONS(4085),
    [anon_sym_case] = ACTIONS(3985),
    [anon_sym_import] = ACTIONS(3987),
    [anon_sym_typealias] = ACTIONS(3989),
    [anon_sym_struct] = ACTIONS(3975),
    [anon_sym_class] = ACTIONS(3991),
    [anon_sym_enum] = ACTIONS(3993),
    [anon_sym_protocol] = ACTIONS(3995),
    [anon_sym_let] = ACTIONS(3997),
    [anon_sym_var] = ACTIONS(3997),
    [anon_sym_func] = ACTIONS(3999),
    [anon_sym_extension] = ACTIONS(4001),
    [anon_sym_indirect] = ACTIONS(4003),
    [anon_sym_init] = ACTIONS(4005),
    [anon_sym_deinit] = ACTIONS(4007),
    [anon_sym_subscript] = ACTIONS(4009),
    [anon_sym_prefix] = ACTIONS(4011),
    [anon_sym_infix] = ACTIONS(4011),
    [anon_sym_postfix] = ACTIONS(4011),
    [anon_sym_precedencegroup] = ACTIONS(4013),
    [anon_sym_associatedtype] = ACTIONS(4015),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(4017),
    [anon_sym_convenience] = ACTIONS(4017),
    [anon_sym_required] = ACTIONS(4017),
    [anon_sym_nonisolated] = ACTIONS(4017),
    [anon_sym_public] = ACTIONS(3981),
    [anon_sym_private] = ACTIONS(3981),
    [anon_sym_internal] = ACTIONS(3981),
    [anon_sym_fileprivate] = ACTIONS(3981),
    [anon_sym_open] = ACTIONS(3981),
    [anon_sym_mutating] = ACTIONS(4019),
    [anon_sym_nonmutating] = ACTIONS(4019),
    [anon_sym_static] = ACTIONS(4021),
    [anon_sym_dynamic] = ACTIONS(4021),
    [anon_sym_optional] = ACTIONS(4021),
    [anon_sym_distributed] = ACTIONS(4021),
    [anon_sym_final] = ACTIONS(4023),
    [anon_sym_inout] = ACTIONS(125),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(129),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(125),
    [anon_sym_consuming] = ACTIONS(125),
    [sym_multiline_comment] = ACTIONS(5),
  },
  [1137] = {
    [sym_simple_identifier] = STATE(2137),
    [sym__contextual_simple_identifier] = STATE(2201),
    [sym__unannotated_type] = STATE(1959),
    [sym_user_type] = STATE(2050),
    [sym__simple_user_type] = STATE(2067),
    [sym_tuple_type] = STATE(1935),
    [sym_function_type] = STATE(1959),
    [sym_array_type] = STATE(2050),
    [sym_dictionary_type] = STATE(2050),
    [sym_optional_type] = STATE(1959),
    [sym_metatype] = STATE(1959),
    [sym_opaque_type] = STATE(1959),
    [sym_existential_type] = STATE(1959),
    [sym_type_parameter_pack] = STATE(1959),
    [sym_type_pack_expansion] = STATE(1959),
    [sym_protocol_composition_type] = STATE(1959),
    [sym_suppressed_constraint] = STATE(1959),
    [sym__parenthesized_type] = STATE(2160),
    [sym__parameter_ownership_modifier] = STATE(2201),
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(4059),
    [aux_sym_simple_identifier_token2] = ACTIONS(4061),
    [aux_sym_simple_identifier_token3] = ACTIONS(4061),
    [aux_sym_simple_identifier_token4] = ACTIONS(4061),
    [anon_sym_actor] = ACTIONS(4059),
    [anon_sym_async] = ACTIONS(4059),
    [anon_sym_each] = ACTIONS(4063),
    [anon_sym_lazy] = ACTIONS(4059),
    [anon_sym_repeat] = ACTIONS(4065),
    [anon_sym_package] = ACTIONS(4059),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(4067),
    [anon_sym_LBRACK] = ACTIONS(4070),
    [anon_sym_DOT] = ACTIONS(623),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(4073),
    [anon_sym_any] = ACTIONS(4075),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(4077),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(4059),
    [anon_sym_consuming] = ACTIONS(4059),
    [sym_multiline_comment] = ACTIONS(617),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [1138] = {
    [ts_builtin_sym_end] = ACTIONS(2690),
    [anon_sym_BANG] = ACTIONS(2687),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2676),
    [aux_sym_simple_identifier_token2] = ACTIONS(2678),
    [aux_sym_simple_identifier_token3] = ACTIONS(2678),
    [aux_sym_simple_identifier_token4] = ACTIONS(2678),
    [anon_sym_actor] = ACTIONS(2676),
    [anon_sym_async] = ACTIONS(2676),
    [anon_sym_each] = ACTIONS(2676),
    [anon_sym_lazy] = ACTIONS(2676),
    [anon_sym_repeat] = ACTIONS(2676),
    [anon_sym_package] = ACTIONS(2676),
    [anon_sym_nil] = ACTIONS(2676),
    [sym_real_literal] = ACTIONS(2678),
    [sym_integer_literal] = ACTIONS(2676),
    [sym_hex_literal] = ACTIONS(2676),
    [sym_oct_literal] = ACTIONS(2678),
    [sym_bin_literal] = ACTIONS(2678),
    [anon_sym_true] = ACTIONS(2676),
    [anon_sym_false] = ACTIONS(2676),
    [anon_sym_DQUOTE] = ACTIONS(2676),
    [anon_sym_BSLASH] = ACTIONS(2678),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2678),
    [anon_sym_COMMA] = ACTIONS(2690),
    [sym__oneline_regex_literal] = ACTIONS(2676),
    [anon_sym_LPAREN] = ACTIONS(2692),
    [anon_sym_LBRACK] = ACTIONS(2692),
    [anon_sym_QMARK] = ACTIONS(2695),
    [anon_sym_QMARK2] = ACTIONS(2690),
    [anon_sym_AMP] = ACTIONS(2692),
    [anon_sym_TILDE] = ACTIONS(2678),
    [anon_sym_if] = ACTIONS(2676),
    [anon_sym_switch] = ACTIONS(2676),
    [aux_sym_custom_operator_token1] = ACTIONS(2692),
    [anon_sym_LT] = ACTIONS(2687),
    [anon_sym_GT] = ACTIONS(2687),
    [anon_sym_await] = ACTIONS(2676),
    [anon_sym_LBRACE] = ACTIONS(2692),
    [anon_sym_CARET_LBRACE] = ACTIONS(2692),
    [anon_sym_RBRACE] = ACTIONS(2690),
    [anon_sym_self] = ACTIONS(2676),
    [anon_sym_super] = ACTIONS(2676),
    [anon_sym_try] = ACTIONS(2676),
    [anon_sym_PLUS_EQ] = ACTIONS(2692),
    [anon_sym_DASH_EQ] = ACTIONS(2692),
    [anon_sym_STAR_EQ] = ACTIONS(2692),
    [anon_sym_SLASH_EQ] = ACTIONS(2692),
    [anon_sym_PERCENT_EQ] = ACTIONS(2692),
    [anon_sym_BANG_EQ] = ACTIONS(2687),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2692),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2692),
    [anon_sym_LT_EQ] = ACTIONS(2692),
    [anon_sym_GT_EQ] = ACTIONS(2692),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2692),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2692),
    [anon_sym_is] = ACTIONS(2695),
    [anon_sym_PLUS] = ACTIONS(2687),
    [anon_sym_DASH] = ACTIONS(2687),
    [anon_sym_STAR] = ACTIONS(2687),
    [anon_sym_SLASH] = ACTIONS(2687),
    [anon_sym_PERCENT] = ACTIONS(2687),
    [anon_sym_PLUS_PLUS] = ACTIONS(2692),
    [anon_sym_DASH_DASH] = ACTIONS(2692),
    [anon_sym_PIPE] = ACTIONS(2692),
    [anon_sym_CARET] = ACTIONS(2687),
    [anon_sym_LT_LT] = ACTIONS(2692),
    [anon_sym_GT_GT] = ACTIONS(2692),
    [anon_sym_borrowing] = ACTIONS(2676),
    [anon_sym_consuming] = ACTIONS(2676),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2678),
    [sym_raw_str_end_part] = ACTIONS(2678),
    [sym__implicit_semi] = ACTIONS(2690),
    [sym__explicit_semi] = ACTIONS(2690),
    [sym__dot_custom] = ACTIONS(2692),
    [sym__conjunction_operator_custom] = ACTIONS(2690),
    [sym__disjunction_operator_custom] = ACTIONS(2690),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2690),
    [sym__eq_custom] = ACTIONS(2692),
    [sym__eq_eq_custom] = ACTIONS(2692),
    [sym__plus_then_ws] = ACTIONS(2692),
    [sym__minus_then_ws] = ACTIONS(2692),
    [sym__bang_custom] = ACTIONS(2692),
    [sym__as_custom] = ACTIONS(2690),
    [sym__as_quest_custom] = ACTIONS(2690),
    [sym__as_bang_custom] = ACTIONS(2690),
    [sym__custom_operator] = ACTIONS(2692),
    [sym__hash_symbol_custom] = ACTIONS(2678),
    [sym__directive_if] = ACTIONS(2678),
    [sym__directive_elseif] = ACTIONS(2678),
    [sym__directive_else] = ACTIONS(2678),
    [sym__directive_endif] = ACTIONS(2678),
  },
  [1139] = {
    [ts_builtin_sym_end] = ACTIONS(2697),
    [anon_sym_BANG] = ACTIONS(2665),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2665),
    [aux_sym_simple_identifier_token2] = ACTIONS(2667),
    [aux_sym_simple_identifier_token3] = ACTIONS(2667),
    [aux_sym_simple_identifier_token4] = ACTIONS(2667),
    [anon_sym_actor] = ACTIONS(2665),
    [anon_sym_async] = ACTIONS(2665),
    [anon_sym_each] = ACTIONS(2665),
    [anon_sym_lazy] = ACTIONS(2665),
    [anon_sym_repeat] = ACTIONS(2665),
    [anon_sym_package] = ACTIONS(2665),
    [anon_sym_nil] = ACTIONS(2665),
    [sym_real_literal] = ACTIONS(2667),
    [sym_integer_literal] = ACTIONS(2665),
    [sym_hex_literal] = ACTIONS(2665),
    [sym_oct_literal] = ACTIONS(2667),
    [sym_bin_literal] = ACTIONS(2667),
    [anon_sym_true] = ACTIONS(2665),
    [anon_sym_false] = ACTIONS(2665),
    [anon_sym_DQUOTE] = ACTIONS(2665),
    [anon_sym_BSLASH] = ACTIONS(2667),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2667),
    [anon_sym_COMMA] = ACTIONS(2697),
    [sym__oneline_regex_literal] = ACTIONS(2665),
    [anon_sym_LPAREN] = ACTIONS(2667),
    [anon_sym_LBRACK] = ACTIONS(2667),
    [anon_sym_QMARK] = ACTIONS(2699),
    [anon_sym_QMARK2] = ACTIONS(2697),
    [anon_sym_AMP] = ACTIONS(2667),
    [anon_sym_TILDE] = ACTIONS(2667),
    [anon_sym_if] = ACTIONS(2665),
    [anon_sym_switch] = ACTIONS(2665),
    [aux_sym_custom_operator_token1] = ACTIONS(2667),
    [anon_sym_LT] = ACTIONS(2665),
    [anon_sym_GT] = ACTIONS(2665),
    [anon_sym_await] = ACTIONS(2665),
    [anon_sym_LBRACE] = ACTIONS(2667),
    [anon_sym_CARET_LBRACE] = ACTIONS(2667),
    [anon_sym_RBRACE] = ACTIONS(2697),
    [anon_sym_self] = ACTIONS(2665),
    [anon_sym_super] = ACTIONS(2665),
    [anon_sym_try] = ACTIONS(2665),
    [anon_sym_PLUS_EQ] = ACTIONS(2667),
    [anon_sym_DASH_EQ] = ACTIONS(2667),
    [anon_sym_STAR_EQ] = ACTIONS(2667),
    [anon_sym_SLASH_EQ] = ACTIONS(2667),
    [anon_sym_PERCENT_EQ] = ACTIONS(2667),
    [anon_sym_BANG_EQ] = ACTIONS(2665),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2667),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2667),
    [anon_sym_LT_EQ] = ACTIONS(2667),
    [anon_sym_GT_EQ] = ACTIONS(2667),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2667),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2667),
    [anon_sym_is] = ACTIONS(2699),
    [anon_sym_PLUS] = ACTIONS(2665),
    [anon_sym_DASH] = ACTIONS(2665),
    [anon_sym_STAR] = ACTIONS(2665),
    [anon_sym_SLASH] = ACTIONS(2665),
    [anon_sym_PERCENT] = ACTIONS(2665),
    [anon_sym_PLUS_PLUS] = ACTIONS(2667),
    [anon_sym_DASH_DASH] = ACTIONS(2667),
    [anon_sym_PIPE] = ACTIONS(2667),
    [anon_sym_CARET] = ACTIONS(2665),
    [anon_sym_LT_LT] = ACTIONS(2667),
    [anon_sym_GT_GT] = ACTIONS(2667),
    [anon_sym_borrowing] = ACTIONS(2665),
    [anon_sym_consuming] = ACTIONS(2665),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2667),
    [sym_raw_str_end_part] = ACTIONS(2667),
    [sym__implicit_semi] = ACTIONS(2697),
    [sym__explicit_semi] = ACTIONS(2697),
    [sym__dot_custom] = ACTIONS(2667),
    [sym__conjunction_operator_custom] = ACTIONS(2697),
    [sym__disjunction_operator_custom] = ACTIONS(2697),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2697),
    [sym__eq_custom] = ACTIONS(2667),
    [sym__eq_eq_custom] = ACTIONS(2667),
    [sym__plus_then_ws] = ACTIONS(2667),
    [sym__minus_then_ws] = ACTIONS(2667),
    [sym__bang_custom] = ACTIONS(2667),
    [sym__as_custom] = ACTIONS(2697),
    [sym__as_quest_custom] = ACTIONS(2697),
    [sym__as_bang_custom] = ACTIONS(2697),
    [sym__custom_operator] = ACTIONS(2667),
    [sym__hash_symbol_custom] = ACTIONS(2667),
    [sym__directive_if] = ACTIONS(2667),
    [sym__directive_elseif] = ACTIONS(2667),
    [sym__directive_else] = ACTIONS(2667),
    [sym__directive_endif] = ACTIONS(2667),
  },
  [1140] = {
    [sym__type_level_declaration] = STATE(1144),
    [sym_import_declaration] = STATE(1144),
    [sym_property_declaration] = STATE(1144),
    [sym__modifierless_property_declaration] = STATE(3149),
    [sym_typealias_declaration] = STATE(1144),
    [sym__modifierless_typealias_declaration] = STATE(3150),
    [sym_function_declaration] = STATE(1144),
    [sym__bodyless_function_declaration] = STATE(7561),
    [sym__modifierless_function_declaration_no_body] = STATE(8708),
    [sym_class_declaration] = STATE(1144),
    [sym__modifierless_class_declaration] = STATE(3160),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__async_modifier] = STATE(7659),
    [sym_enum_entry] = STATE(1144),
    [sym_protocol_declaration] = STATE(1144),
    [sym_init_declaration] = STATE(1144),
    [sym_deinit_declaration] = STATE(1144),
    [sym_subscript_declaration] = STATE(1144),
    [sym_operator_declaration] = STATE(1144),
    [sym_precedence_group_declaration] = STATE(1144),
    [sym_associatedtype_declaration] = STATE(1144),
    [sym_attribute] = STATE(1786),
    [sym_value_binding_pattern] = STATE(4775),
    [sym__possibly_async_binding_pattern_kind] = STATE(4775),
    [sym_modifiers] = STATE(4921),
    [aux_sym__locally_permitted_modifiers] = STATE(1786),
    [sym__non_local_scope_modifier] = STATE(1786),
    [sym__locally_permitted_modifier] = STATE(1786),
    [sym_property_behavior_modifier] = STATE(1786),
    [sym_member_modifier] = STATE(1786),
    [sym_visibility_modifier] = STATE(1786),
    [sym_function_modifier] = STATE(1786),
    [sym_mutation_modifier] = STATE(1786),
    [sym_property_modifier] = STATE(1786),
    [sym_inheritance_modifier] = STATE(1786),
    [sym_parameter_modifier] = STATE(1786),
    [sym_ownership_modifier] = STATE(1786),
    [sym__parameter_ownership_modifier] = STATE(2979),
    [aux_sym_enum_class_body_repeat1] = STATE(1144),
    [aux_sym_modifiers_repeat1] = STATE(1786),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3975),
    [anon_sym_async] = ACTIONS(3977),
    [anon_sym_lazy] = ACTIONS(3979),
    [anon_sym_package] = ACTIONS(3981),
    [anon_sym_RBRACE] = ACTIONS(4087),
    [anon_sym_case] = ACTIONS(3985),
    [anon_sym_import] = ACTIONS(3987),
    [anon_sym_typealias] = ACTIONS(3989),
    [anon_sym_struct] = ACTIONS(3975),
    [anon_sym_class] = ACTIONS(3991),
    [anon_sym_enum] = ACTIONS(3993),
    [anon_sym_protocol] = ACTIONS(3995),
    [anon_sym_let] = ACTIONS(3997),
    [anon_sym_var] = ACTIONS(3997),
    [anon_sym_func] = ACTIONS(3999),
    [anon_sym_extension] = ACTIONS(4001),
    [anon_sym_indirect] = ACTIONS(4003),
    [anon_sym_init] = ACTIONS(4005),
    [anon_sym_deinit] = ACTIONS(4007),
    [anon_sym_subscript] = ACTIONS(4009),
    [anon_sym_prefix] = ACTIONS(4011),
    [anon_sym_infix] = ACTIONS(4011),
    [anon_sym_postfix] = ACTIONS(4011),
    [anon_sym_precedencegroup] = ACTIONS(4013),
    [anon_sym_associatedtype] = ACTIONS(4015),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(4017),
    [anon_sym_convenience] = ACTIONS(4017),
    [anon_sym_required] = ACTIONS(4017),
    [anon_sym_nonisolated] = ACTIONS(4017),
    [anon_sym_public] = ACTIONS(3981),
    [anon_sym_private] = ACTIONS(3981),
    [anon_sym_internal] = ACTIONS(3981),
    [anon_sym_fileprivate] = ACTIONS(3981),
    [anon_sym_open] = ACTIONS(3981),
    [anon_sym_mutating] = ACTIONS(4019),
    [anon_sym_nonmutating] = ACTIONS(4019),
    [anon_sym_static] = ACTIONS(4021),
    [anon_sym_dynamic] = ACTIONS(4021),
    [anon_sym_optional] = ACTIONS(4021),
    [anon_sym_distributed] = ACTIONS(4021),
    [anon_sym_final] = ACTIONS(4023),
    [anon_sym_inout] = ACTIONS(125),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(129),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(125),
    [anon_sym_consuming] = ACTIONS(125),
    [sym_multiline_comment] = ACTIONS(5),
  },
  [1141] = {
    [sym__type_level_declaration] = STATE(1141),
    [sym_import_declaration] = STATE(1141),
    [sym_property_declaration] = STATE(1141),
    [sym__modifierless_property_declaration] = STATE(3149),
    [sym_typealias_declaration] = STATE(1141),
    [sym__modifierless_typealias_declaration] = STATE(3150),
    [sym_function_declaration] = STATE(1141),
    [sym__bodyless_function_declaration] = STATE(7561),
    [sym__modifierless_function_declaration_no_body] = STATE(8708),
    [sym_class_declaration] = STATE(1141),
    [sym__modifierless_class_declaration] = STATE(3160),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__async_modifier] = STATE(7659),
    [sym_enum_entry] = STATE(1141),
    [sym_protocol_declaration] = STATE(1141),
    [sym_init_declaration] = STATE(1141),
    [sym_deinit_declaration] = STATE(1141),
    [sym_subscript_declaration] = STATE(1141),
    [sym_operator_declaration] = STATE(1141),
    [sym_precedence_group_declaration] = STATE(1141),
    [sym_associatedtype_declaration] = STATE(1141),
    [sym_attribute] = STATE(1786),
    [sym_value_binding_pattern] = STATE(4775),
    [sym__possibly_async_binding_pattern_kind] = STATE(4775),
    [sym_modifiers] = STATE(4921),
    [aux_sym__locally_permitted_modifiers] = STATE(1786),
    [sym__non_local_scope_modifier] = STATE(1786),
    [sym__locally_permitted_modifier] = STATE(1786),
    [sym_property_behavior_modifier] = STATE(1786),
    [sym_member_modifier] = STATE(1786),
    [sym_visibility_modifier] = STATE(1786),
    [sym_function_modifier] = STATE(1786),
    [sym_mutation_modifier] = STATE(1786),
    [sym_property_modifier] = STATE(1786),
    [sym_inheritance_modifier] = STATE(1786),
    [sym_parameter_modifier] = STATE(1786),
    [sym_ownership_modifier] = STATE(1786),
    [sym__parameter_ownership_modifier] = STATE(2979),
    [aux_sym_enum_class_body_repeat1] = STATE(1141),
    [aux_sym_modifiers_repeat1] = STATE(1786),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(4089),
    [anon_sym_async] = ACTIONS(4092),
    [anon_sym_lazy] = ACTIONS(4095),
    [anon_sym_package] = ACTIONS(4098),
    [anon_sym_RBRACE] = ACTIONS(4101),
    [anon_sym_case] = ACTIONS(4103),
    [anon_sym_import] = ACTIONS(4106),
    [anon_sym_typealias] = ACTIONS(4109),
    [anon_sym_struct] = ACTIONS(4089),
    [anon_sym_class] = ACTIONS(4112),
    [anon_sym_enum] = ACTIONS(4115),
    [anon_sym_protocol] = ACTIONS(4118),
    [anon_sym_let] = ACTIONS(4121),
    [anon_sym_var] = ACTIONS(4121),
    [anon_sym_func] = ACTIONS(4124),
    [anon_sym_extension] = ACTIONS(4127),
    [anon_sym_indirect] = ACTIONS(4130),
    [anon_sym_init] = ACTIONS(4133),
    [anon_sym_deinit] = ACTIONS(4136),
    [anon_sym_subscript] = ACTIONS(4139),
    [anon_sym_prefix] = ACTIONS(4142),
    [anon_sym_infix] = ACTIONS(4142),
    [anon_sym_postfix] = ACTIONS(4142),
    [anon_sym_precedencegroup] = ACTIONS(4145),
    [anon_sym_associatedtype] = ACTIONS(4148),
    [anon_sym_AT] = ACTIONS(4151),
    [anon_sym_override] = ACTIONS(4154),
    [anon_sym_convenience] = ACTIONS(4154),
    [anon_sym_required] = ACTIONS(4154),
    [anon_sym_nonisolated] = ACTIONS(4154),
    [anon_sym_public] = ACTIONS(4098),
    [anon_sym_private] = ACTIONS(4098),
    [anon_sym_internal] = ACTIONS(4098),
    [anon_sym_fileprivate] = ACTIONS(4098),
    [anon_sym_open] = ACTIONS(4098),
    [anon_sym_mutating] = ACTIONS(4157),
    [anon_sym_nonmutating] = ACTIONS(4157),
    [anon_sym_static] = ACTIONS(4160),
    [anon_sym_dynamic] = ACTIONS(4160),
    [anon_sym_optional] = ACTIONS(4160),
    [anon_sym_distributed] = ACTIONS(4160),
    [anon_sym_final] = ACTIONS(4163),
    [anon_sym_inout] = ACTIONS(4166),
    [anon_sym_ATescaping] = ACTIONS(4166),
    [anon_sym_ATautoclosure] = ACTIONS(4166),
    [anon_sym_weak] = ACTIONS(4169),
    [anon_sym_unowned] = ACTIONS(4172),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(4169),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(4169),
    [anon_sym_borrowing] = ACTIONS(4166),
    [anon_sym_consuming] = ACTIONS(4166),
    [sym_multiline_comment] = ACTIONS(5),
  },
  [1142] = {
    [ts_builtin_sym_end] = ACTIONS(2669),
    [anon_sym_BANG] = ACTIONS(2665),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2665),
    [aux_sym_simple_identifier_token2] = ACTIONS(2667),
    [aux_sym_simple_identifier_token3] = ACTIONS(2667),
    [aux_sym_simple_identifier_token4] = ACTIONS(2667),
    [anon_sym_actor] = ACTIONS(2665),
    [anon_sym_async] = ACTIONS(2665),
    [anon_sym_each] = ACTIONS(2665),
    [anon_sym_lazy] = ACTIONS(2665),
    [anon_sym_repeat] = ACTIONS(2665),
    [anon_sym_package] = ACTIONS(2665),
    [anon_sym_nil] = ACTIONS(2665),
    [sym_real_literal] = ACTIONS(2667),
    [sym_integer_literal] = ACTIONS(2665),
    [sym_hex_literal] = ACTIONS(2665),
    [sym_oct_literal] = ACTIONS(2667),
    [sym_bin_literal] = ACTIONS(2667),
    [anon_sym_true] = ACTIONS(2665),
    [anon_sym_false] = ACTIONS(2665),
    [anon_sym_DQUOTE] = ACTIONS(2665),
    [anon_sym_BSLASH] = ACTIONS(2667),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2667),
    [anon_sym_COMMA] = ACTIONS(2669),
    [sym__oneline_regex_literal] = ACTIONS(2665),
    [anon_sym_LPAREN] = ACTIONS(2667),
    [anon_sym_LBRACK] = ACTIONS(2667),
    [anon_sym_QMARK] = ACTIONS(2671),
    [anon_sym_QMARK2] = ACTIONS(2669),
    [anon_sym_AMP] = ACTIONS(2667),
    [anon_sym_TILDE] = ACTIONS(2667),
    [anon_sym_if] = ACTIONS(2665),
    [anon_sym_switch] = ACTIONS(2665),
    [aux_sym_custom_operator_token1] = ACTIONS(2667),
    [anon_sym_LT] = ACTIONS(2665),
    [anon_sym_GT] = ACTIONS(2665),
    [anon_sym_await] = ACTIONS(2665),
    [anon_sym_LBRACE] = ACTIONS(2667),
    [anon_sym_CARET_LBRACE] = ACTIONS(2667),
    [anon_sym_RBRACE] = ACTIONS(2669),
    [anon_sym_self] = ACTIONS(2665),
    [anon_sym_super] = ACTIONS(2665),
    [anon_sym_try] = ACTIONS(2665),
    [anon_sym_PLUS_EQ] = ACTIONS(2667),
    [anon_sym_DASH_EQ] = ACTIONS(2667),
    [anon_sym_STAR_EQ] = ACTIONS(2667),
    [anon_sym_SLASH_EQ] = ACTIONS(2667),
    [anon_sym_PERCENT_EQ] = ACTIONS(2667),
    [anon_sym_BANG_EQ] = ACTIONS(2665),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2667),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2667),
    [anon_sym_LT_EQ] = ACTIONS(2667),
    [anon_sym_GT_EQ] = ACTIONS(2667),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2667),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2667),
    [anon_sym_is] = ACTIONS(2671),
    [anon_sym_PLUS] = ACTIONS(2665),
    [anon_sym_DASH] = ACTIONS(2665),
    [anon_sym_STAR] = ACTIONS(2665),
    [anon_sym_SLASH] = ACTIONS(2665),
    [anon_sym_PERCENT] = ACTIONS(2665),
    [anon_sym_PLUS_PLUS] = ACTIONS(2667),
    [anon_sym_DASH_DASH] = ACTIONS(2667),
    [anon_sym_PIPE] = ACTIONS(2667),
    [anon_sym_CARET] = ACTIONS(2665),
    [anon_sym_LT_LT] = ACTIONS(2667),
    [anon_sym_GT_GT] = ACTIONS(2667),
    [anon_sym_borrowing] = ACTIONS(2665),
    [anon_sym_consuming] = ACTIONS(2665),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2667),
    [sym_raw_str_end_part] = ACTIONS(2667),
    [sym__implicit_semi] = ACTIONS(2669),
    [sym__explicit_semi] = ACTIONS(2669),
    [sym__dot_custom] = ACTIONS(2667),
    [sym__conjunction_operator_custom] = ACTIONS(2669),
    [sym__disjunction_operator_custom] = ACTIONS(2669),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2669),
    [sym__eq_custom] = ACTIONS(2667),
    [sym__eq_eq_custom] = ACTIONS(2667),
    [sym__plus_then_ws] = ACTIONS(2667),
    [sym__minus_then_ws] = ACTIONS(2667),
    [sym__bang_custom] = ACTIONS(2667),
    [sym__as_custom] = ACTIONS(2669),
    [sym__as_quest_custom] = ACTIONS(2669),
    [sym__as_bang_custom] = ACTIONS(2669),
    [sym__custom_operator] = ACTIONS(2667),
    [sym__hash_symbol_custom] = ACTIONS(2667),
    [sym__directive_if] = ACTIONS(2667),
    [sym__directive_elseif] = ACTIONS(2667),
    [sym__directive_else] = ACTIONS(2667),
    [sym__directive_endif] = ACTIONS(2667),
  },
  [1143] = {
    [sym__type_level_declaration] = STATE(1141),
    [sym_import_declaration] = STATE(1141),
    [sym_property_declaration] = STATE(1141),
    [sym__modifierless_property_declaration] = STATE(3149),
    [sym_typealias_declaration] = STATE(1141),
    [sym__modifierless_typealias_declaration] = STATE(3150),
    [sym_function_declaration] = STATE(1141),
    [sym__bodyless_function_declaration] = STATE(7561),
    [sym__modifierless_function_declaration_no_body] = STATE(8708),
    [sym_class_declaration] = STATE(1141),
    [sym__modifierless_class_declaration] = STATE(3160),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__async_modifier] = STATE(7659),
    [sym_enum_entry] = STATE(1141),
    [sym_protocol_declaration] = STATE(1141),
    [sym_init_declaration] = STATE(1141),
    [sym_deinit_declaration] = STATE(1141),
    [sym_subscript_declaration] = STATE(1141),
    [sym_operator_declaration] = STATE(1141),
    [sym_precedence_group_declaration] = STATE(1141),
    [sym_associatedtype_declaration] = STATE(1141),
    [sym_attribute] = STATE(1786),
    [sym_value_binding_pattern] = STATE(4775),
    [sym__possibly_async_binding_pattern_kind] = STATE(4775),
    [sym_modifiers] = STATE(4921),
    [aux_sym__locally_permitted_modifiers] = STATE(1786),
    [sym__non_local_scope_modifier] = STATE(1786),
    [sym__locally_permitted_modifier] = STATE(1786),
    [sym_property_behavior_modifier] = STATE(1786),
    [sym_member_modifier] = STATE(1786),
    [sym_visibility_modifier] = STATE(1786),
    [sym_function_modifier] = STATE(1786),
    [sym_mutation_modifier] = STATE(1786),
    [sym_property_modifier] = STATE(1786),
    [sym_inheritance_modifier] = STATE(1786),
    [sym_parameter_modifier] = STATE(1786),
    [sym_ownership_modifier] = STATE(1786),
    [sym__parameter_ownership_modifier] = STATE(2979),
    [aux_sym_enum_class_body_repeat1] = STATE(1141),
    [aux_sym_modifiers_repeat1] = STATE(1786),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3975),
    [anon_sym_async] = ACTIONS(3977),
    [anon_sym_lazy] = ACTIONS(3979),
    [anon_sym_package] = ACTIONS(3981),
    [anon_sym_RBRACE] = ACTIONS(4175),
    [anon_sym_case] = ACTIONS(3985),
    [anon_sym_import] = ACTIONS(3987),
    [anon_sym_typealias] = ACTIONS(3989),
    [anon_sym_struct] = ACTIONS(3975),
    [anon_sym_class] = ACTIONS(3991),
    [anon_sym_enum] = ACTIONS(3993),
    [anon_sym_protocol] = ACTIONS(3995),
    [anon_sym_let] = ACTIONS(3997),
    [anon_sym_var] = ACTIONS(3997),
    [anon_sym_func] = ACTIONS(3999),
    [anon_sym_extension] = ACTIONS(4001),
    [anon_sym_indirect] = ACTIONS(4003),
    [anon_sym_init] = ACTIONS(4005),
    [anon_sym_deinit] = ACTIONS(4007),
    [anon_sym_subscript] = ACTIONS(4009),
    [anon_sym_prefix] = ACTIONS(4011),
    [anon_sym_infix] = ACTIONS(4011),
    [anon_sym_postfix] = ACTIONS(4011),
    [anon_sym_precedencegroup] = ACTIONS(4013),
    [anon_sym_associatedtype] = ACTIONS(4015),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(4017),
    [anon_sym_convenience] = ACTIONS(4017),
    [anon_sym_required] = ACTIONS(4017),
    [anon_sym_nonisolated] = ACTIONS(4017),
    [anon_sym_public] = ACTIONS(3981),
    [anon_sym_private] = ACTIONS(3981),
    [anon_sym_internal] = ACTIONS(3981),
    [anon_sym_fileprivate] = ACTIONS(3981),
    [anon_sym_open] = ACTIONS(3981),
    [anon_sym_mutating] = ACTIONS(4019),
    [anon_sym_nonmutating] = ACTIONS(4019),
    [anon_sym_static] = ACTIONS(4021),
    [anon_sym_dynamic] = ACTIONS(4021),
    [anon_sym_optional] = ACTIONS(4021),
    [anon_sym_distributed] = ACTIONS(4021),
    [anon_sym_final] = ACTIONS(4023),
    [anon_sym_inout] = ACTIONS(125),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(129),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(125),
    [anon_sym_consuming] = ACTIONS(125),
    [sym_multiline_comment] = ACTIONS(5),
  },
  [1144] = {
    [sym__type_level_declaration] = STATE(1141),
    [sym_import_declaration] = STATE(1141),
    [sym_property_declaration] = STATE(1141),
    [sym__modifierless_property_declaration] = STATE(3149),
    [sym_typealias_declaration] = STATE(1141),
    [sym__modifierless_typealias_declaration] = STATE(3150),
    [sym_function_declaration] = STATE(1141),
    [sym__bodyless_function_declaration] = STATE(7561),
    [sym__modifierless_function_declaration_no_body] = STATE(8708),
    [sym_class_declaration] = STATE(1141),
    [sym__modifierless_class_declaration] = STATE(3160),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__async_modifier] = STATE(7659),
    [sym_enum_entry] = STATE(1141),
    [sym_protocol_declaration] = STATE(1141),
    [sym_init_declaration] = STATE(1141),
    [sym_deinit_declaration] = STATE(1141),
    [sym_subscript_declaration] = STATE(1141),
    [sym_operator_declaration] = STATE(1141),
    [sym_precedence_group_declaration] = STATE(1141),
    [sym_associatedtype_declaration] = STATE(1141),
    [sym_attribute] = STATE(1786),
    [sym_value_binding_pattern] = STATE(4775),
    [sym__possibly_async_binding_pattern_kind] = STATE(4775),
    [sym_modifiers] = STATE(4921),
    [aux_sym__locally_permitted_modifiers] = STATE(1786),
    [sym__non_local_scope_modifier] = STATE(1786),
    [sym__locally_permitted_modifier] = STATE(1786),
    [sym_property_behavior_modifier] = STATE(1786),
    [sym_member_modifier] = STATE(1786),
    [sym_visibility_modifier] = STATE(1786),
    [sym_function_modifier] = STATE(1786),
    [sym_mutation_modifier] = STATE(1786),
    [sym_property_modifier] = STATE(1786),
    [sym_inheritance_modifier] = STATE(1786),
    [sym_parameter_modifier] = STATE(1786),
    [sym_ownership_modifier] = STATE(1786),
    [sym__parameter_ownership_modifier] = STATE(2979),
    [aux_sym_enum_class_body_repeat1] = STATE(1141),
    [aux_sym_modifiers_repeat1] = STATE(1786),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3975),
    [anon_sym_async] = ACTIONS(3977),
    [anon_sym_lazy] = ACTIONS(3979),
    [anon_sym_package] = ACTIONS(3981),
    [anon_sym_RBRACE] = ACTIONS(4177),
    [anon_sym_case] = ACTIONS(3985),
    [anon_sym_import] = ACTIONS(3987),
    [anon_sym_typealias] = ACTIONS(3989),
    [anon_sym_struct] = ACTIONS(3975),
    [anon_sym_class] = ACTIONS(3991),
    [anon_sym_enum] = ACTIONS(3993),
    [anon_sym_protocol] = ACTIONS(3995),
    [anon_sym_let] = ACTIONS(3997),
    [anon_sym_var] = ACTIONS(3997),
    [anon_sym_func] = ACTIONS(3999),
    [anon_sym_extension] = ACTIONS(4001),
    [anon_sym_indirect] = ACTIONS(4003),
    [anon_sym_init] = ACTIONS(4005),
    [anon_sym_deinit] = ACTIONS(4007),
    [anon_sym_subscript] = ACTIONS(4009),
    [anon_sym_prefix] = ACTIONS(4011),
    [anon_sym_infix] = ACTIONS(4011),
    [anon_sym_postfix] = ACTIONS(4011),
    [anon_sym_precedencegroup] = ACTIONS(4013),
    [anon_sym_associatedtype] = ACTIONS(4015),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(4017),
    [anon_sym_convenience] = ACTIONS(4017),
    [anon_sym_required] = ACTIONS(4017),
    [anon_sym_nonisolated] = ACTIONS(4017),
    [anon_sym_public] = ACTIONS(3981),
    [anon_sym_private] = ACTIONS(3981),
    [anon_sym_internal] = ACTIONS(3981),
    [anon_sym_fileprivate] = ACTIONS(3981),
    [anon_sym_open] = ACTIONS(3981),
    [anon_sym_mutating] = ACTIONS(4019),
    [anon_sym_nonmutating] = ACTIONS(4019),
    [anon_sym_static] = ACTIONS(4021),
    [anon_sym_dynamic] = ACTIONS(4021),
    [anon_sym_optional] = ACTIONS(4021),
    [anon_sym_distributed] = ACTIONS(4021),
    [anon_sym_final] = ACTIONS(4023),
    [anon_sym_inout] = ACTIONS(125),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(129),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(125),
    [anon_sym_consuming] = ACTIONS(125),
    [sym_multiline_comment] = ACTIONS(5),
  },
  [1145] = {
    [sym_simple_identifier] = STATE(2200),
    [sym__contextual_simple_identifier] = STATE(2244),
    [sym__unannotated_type] = STATE(1994),
    [sym_user_type] = STATE(2131),
    [sym__simple_user_type] = STATE(2116),
    [sym_tuple_type] = STATE(1955),
    [sym_function_type] = STATE(1994),
    [sym_array_type] = STATE(2131),
    [sym_dictionary_type] = STATE(2131),
    [sym_optional_type] = STATE(1994),
    [sym_metatype] = STATE(1994),
    [sym_opaque_type] = STATE(1994),
    [sym_existential_type] = STATE(1994),
    [sym_type_parameter_pack] = STATE(1994),
    [sym_type_pack_expansion] = STATE(1994),
    [sym_protocol_composition_type] = STATE(1994),
    [sym_suppressed_constraint] = STATE(1994),
    [sym__parenthesized_type] = STATE(2232),
    [sym__parameter_ownership_modifier] = STATE(2244),
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(4179),
    [aux_sym_simple_identifier_token2] = ACTIONS(4181),
    [aux_sym_simple_identifier_token3] = ACTIONS(4181),
    [aux_sym_simple_identifier_token4] = ACTIONS(4181),
    [anon_sym_actor] = ACTIONS(4179),
    [anon_sym_async] = ACTIONS(4179),
    [anon_sym_each] = ACTIONS(4183),
    [anon_sym_lazy] = ACTIONS(4179),
    [anon_sym_repeat] = ACTIONS(4185),
    [anon_sym_package] = ACTIONS(4179),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(4187),
    [anon_sym_LBRACK] = ACTIONS(4190),
    [anon_sym_DOT] = ACTIONS(623),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(4193),
    [anon_sym_any] = ACTIONS(4195),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(4197),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(4179),
    [anon_sym_consuming] = ACTIONS(4179),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym_where_keyword] = ACTIONS(617),
    [sym_else] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [1146] = {
    [anon_sym_BANG] = ACTIONS(3279),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3281),
    [anon_sym_package] = ACTIONS(3281),
    [anon_sym_COMMA] = ACTIONS(3281),
    [anon_sym_LPAREN] = ACTIONS(3281),
    [anon_sym_LBRACK] = ACTIONS(3281),
    [anon_sym_DOT] = ACTIONS(3279),
    [anon_sym_QMARK] = ACTIONS(3279),
    [anon_sym_QMARK2] = ACTIONS(3281),
    [anon_sym_AMP] = ACTIONS(3281),
    [aux_sym_custom_operator_token1] = ACTIONS(3281),
    [anon_sym_LT] = ACTIONS(3279),
    [anon_sym_GT] = ACTIONS(3279),
    [anon_sym_LBRACE] = ACTIONS(3281),
    [anon_sym_CARET_LBRACE] = ACTIONS(3281),
    [anon_sym_RBRACE] = ACTIONS(3281),
    [anon_sym_self] = ACTIONS(3281),
    [anon_sym_case] = ACTIONS(3281),
    [anon_sym_fallthrough] = ACTIONS(3281),
    [anon_sym_PLUS_EQ] = ACTIONS(3281),
    [anon_sym_DASH_EQ] = ACTIONS(3281),
    [anon_sym_STAR_EQ] = ACTIONS(3281),
    [anon_sym_SLASH_EQ] = ACTIONS(3281),
    [anon_sym_PERCENT_EQ] = ACTIONS(3281),
    [anon_sym_BANG_EQ] = ACTIONS(3279),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3281),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3281),
    [anon_sym_LT_EQ] = ACTIONS(3281),
    [anon_sym_GT_EQ] = ACTIONS(3281),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3281),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3281),
    [anon_sym_is] = ACTIONS(3281),
    [anon_sym_PLUS] = ACTIONS(3279),
    [anon_sym_DASH] = ACTIONS(3279),
    [anon_sym_STAR] = ACTIONS(3279),
    [anon_sym_SLASH] = ACTIONS(3279),
    [anon_sym_PERCENT] = ACTIONS(3279),
    [anon_sym_PLUS_PLUS] = ACTIONS(3281),
    [anon_sym_DASH_DASH] = ACTIONS(3281),
    [anon_sym_PIPE] = ACTIONS(3281),
    [anon_sym_CARET] = ACTIONS(3279),
    [anon_sym_LT_LT] = ACTIONS(3281),
    [anon_sym_GT_GT] = ACTIONS(3281),
    [anon_sym_class] = ACTIONS(3281),
    [anon_sym_prefix] = ACTIONS(3281),
    [anon_sym_infix] = ACTIONS(3281),
    [anon_sym_postfix] = ACTIONS(3281),
    [anon_sym_AT] = ACTIONS(3279),
    [anon_sym_override] = ACTIONS(3281),
    [anon_sym_convenience] = ACTIONS(3281),
    [anon_sym_required] = ACTIONS(3281),
    [anon_sym_nonisolated] = ACTIONS(3281),
    [anon_sym_public] = ACTIONS(3281),
    [anon_sym_private] = ACTIONS(3281),
    [anon_sym_internal] = ACTIONS(3281),
    [anon_sym_fileprivate] = ACTIONS(3281),
    [anon_sym_open] = ACTIONS(3281),
    [anon_sym_mutating] = ACTIONS(3281),
    [anon_sym_nonmutating] = ACTIONS(3281),
    [anon_sym_static] = ACTIONS(3281),
    [anon_sym_dynamic] = ACTIONS(3281),
    [anon_sym_optional] = ACTIONS(3281),
    [anon_sym_distributed] = ACTIONS(3281),
    [anon_sym_final] = ACTIONS(3281),
    [anon_sym_inout] = ACTIONS(3281),
    [anon_sym_ATescaping] = ACTIONS(3281),
    [anon_sym_ATautoclosure] = ACTIONS(3281),
    [anon_sym_weak] = ACTIONS(3281),
    [anon_sym_unowned] = ACTIONS(3279),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3281),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3281),
    [anon_sym_borrowing] = ACTIONS(3281),
    [anon_sym_consuming] = ACTIONS(3281),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3281),
    [sym__explicit_semi] = ACTIONS(3281),
    [sym__dot_custom] = ACTIONS(3281),
    [sym__conjunction_operator_custom] = ACTIONS(3281),
    [sym__disjunction_operator_custom] = ACTIONS(3281),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3281),
    [sym__eq_custom] = ACTIONS(3281),
    [sym__eq_eq_custom] = ACTIONS(3281),
    [sym__plus_then_ws] = ACTIONS(3281),
    [sym__minus_then_ws] = ACTIONS(3281),
    [sym__bang_custom] = ACTIONS(3281),
    [sym_default_keyword] = ACTIONS(3281),
    [sym_where_keyword] = ACTIONS(3281),
    [sym__as_custom] = ACTIONS(3281),
    [sym__as_quest_custom] = ACTIONS(3281),
    [sym__as_bang_custom] = ACTIONS(3281),
    [sym__custom_operator] = ACTIONS(3281),
  },
  [1147] = {
    [anon_sym_BANG] = ACTIONS(3202),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3204),
    [anon_sym_package] = ACTIONS(3204),
    [anon_sym_COMMA] = ACTIONS(3204),
    [anon_sym_LPAREN] = ACTIONS(3204),
    [anon_sym_LBRACK] = ACTIONS(3204),
    [anon_sym_DOT] = ACTIONS(3202),
    [anon_sym_QMARK] = ACTIONS(3202),
    [anon_sym_QMARK2] = ACTIONS(3204),
    [anon_sym_AMP] = ACTIONS(3204),
    [aux_sym_custom_operator_token1] = ACTIONS(3204),
    [anon_sym_LT] = ACTIONS(3202),
    [anon_sym_GT] = ACTIONS(3202),
    [anon_sym_LBRACE] = ACTIONS(3204),
    [anon_sym_CARET_LBRACE] = ACTIONS(3204),
    [anon_sym_RBRACE] = ACTIONS(3204),
    [anon_sym_self] = ACTIONS(3204),
    [anon_sym_case] = ACTIONS(3204),
    [anon_sym_fallthrough] = ACTIONS(3204),
    [anon_sym_PLUS_EQ] = ACTIONS(3204),
    [anon_sym_DASH_EQ] = ACTIONS(3204),
    [anon_sym_STAR_EQ] = ACTIONS(3204),
    [anon_sym_SLASH_EQ] = ACTIONS(3204),
    [anon_sym_PERCENT_EQ] = ACTIONS(3204),
    [anon_sym_BANG_EQ] = ACTIONS(3202),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3204),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3204),
    [anon_sym_LT_EQ] = ACTIONS(3204),
    [anon_sym_GT_EQ] = ACTIONS(3204),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3204),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3204),
    [anon_sym_is] = ACTIONS(3204),
    [anon_sym_PLUS] = ACTIONS(3202),
    [anon_sym_DASH] = ACTIONS(3202),
    [anon_sym_STAR] = ACTIONS(3202),
    [anon_sym_SLASH] = ACTIONS(3202),
    [anon_sym_PERCENT] = ACTIONS(3202),
    [anon_sym_PLUS_PLUS] = ACTIONS(3204),
    [anon_sym_DASH_DASH] = ACTIONS(3204),
    [anon_sym_PIPE] = ACTIONS(3204),
    [anon_sym_CARET] = ACTIONS(3202),
    [anon_sym_LT_LT] = ACTIONS(3204),
    [anon_sym_GT_GT] = ACTIONS(3204),
    [anon_sym_class] = ACTIONS(3204),
    [anon_sym_prefix] = ACTIONS(3204),
    [anon_sym_infix] = ACTIONS(3204),
    [anon_sym_postfix] = ACTIONS(3204),
    [anon_sym_AT] = ACTIONS(3202),
    [anon_sym_override] = ACTIONS(3204),
    [anon_sym_convenience] = ACTIONS(3204),
    [anon_sym_required] = ACTIONS(3204),
    [anon_sym_nonisolated] = ACTIONS(3204),
    [anon_sym_public] = ACTIONS(3204),
    [anon_sym_private] = ACTIONS(3204),
    [anon_sym_internal] = ACTIONS(3204),
    [anon_sym_fileprivate] = ACTIONS(3204),
    [anon_sym_open] = ACTIONS(3204),
    [anon_sym_mutating] = ACTIONS(3204),
    [anon_sym_nonmutating] = ACTIONS(3204),
    [anon_sym_static] = ACTIONS(3204),
    [anon_sym_dynamic] = ACTIONS(3204),
    [anon_sym_optional] = ACTIONS(3204),
    [anon_sym_distributed] = ACTIONS(3204),
    [anon_sym_final] = ACTIONS(3204),
    [anon_sym_inout] = ACTIONS(3204),
    [anon_sym_ATescaping] = ACTIONS(3204),
    [anon_sym_ATautoclosure] = ACTIONS(3204),
    [anon_sym_weak] = ACTIONS(3204),
    [anon_sym_unowned] = ACTIONS(3202),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3204),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3204),
    [anon_sym_borrowing] = ACTIONS(3204),
    [anon_sym_consuming] = ACTIONS(3204),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3204),
    [sym__explicit_semi] = ACTIONS(3204),
    [sym__dot_custom] = ACTIONS(3204),
    [sym__conjunction_operator_custom] = ACTIONS(3204),
    [sym__disjunction_operator_custom] = ACTIONS(3204),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3204),
    [sym__eq_custom] = ACTIONS(3204),
    [sym__eq_eq_custom] = ACTIONS(3204),
    [sym__plus_then_ws] = ACTIONS(3204),
    [sym__minus_then_ws] = ACTIONS(3204),
    [sym__bang_custom] = ACTIONS(3204),
    [sym_default_keyword] = ACTIONS(3204),
    [sym_where_keyword] = ACTIONS(3204),
    [sym__as_custom] = ACTIONS(3204),
    [sym__as_quest_custom] = ACTIONS(3204),
    [sym__as_bang_custom] = ACTIONS(3204),
    [sym__custom_operator] = ACTIONS(3204),
  },
  [1148] = {
    [sym_simple_identifier] = STATE(2178),
    [sym__contextual_simple_identifier] = STATE(2241),
    [sym__unannotated_type] = STATE(1997),
    [sym_user_type] = STATE(2142),
    [sym__simple_user_type] = STATE(2122),
    [sym_tuple_type] = STATE(1966),
    [sym_function_type] = STATE(1997),
    [sym_array_type] = STATE(2142),
    [sym_dictionary_type] = STATE(2142),
    [sym_optional_type] = STATE(1997),
    [sym_metatype] = STATE(1997),
    [sym_opaque_type] = STATE(1997),
    [sym_existential_type] = STATE(1997),
    [sym_type_parameter_pack] = STATE(1997),
    [sym_type_pack_expansion] = STATE(1997),
    [sym_protocol_composition_type] = STATE(1997),
    [sym_suppressed_constraint] = STATE(1997),
    [sym__parenthesized_type] = STATE(2286),
    [sym__parameter_ownership_modifier] = STATE(2241),
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(4199),
    [aux_sym_simple_identifier_token2] = ACTIONS(4201),
    [aux_sym_simple_identifier_token3] = ACTIONS(4201),
    [aux_sym_simple_identifier_token4] = ACTIONS(4201),
    [anon_sym_actor] = ACTIONS(4199),
    [anon_sym_async] = ACTIONS(4199),
    [anon_sym_each] = ACTIONS(4203),
    [anon_sym_lazy] = ACTIONS(4199),
    [anon_sym_repeat] = ACTIONS(4205),
    [anon_sym_package] = ACTIONS(4199),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_COLON] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(4207),
    [anon_sym_LBRACK] = ACTIONS(4210),
    [anon_sym_DOT] = ACTIONS(623),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(4213),
    [anon_sym_any] = ACTIONS(4215),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(4217),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(4199),
    [anon_sym_consuming] = ACTIONS(4199),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym_where_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [1149] = {
    [sym__conjunction_operator] = STATE(4872),
    [sym__disjunction_operator] = STATE(4872),
    [anon_sym_BANG] = ACTIONS(3283),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3285),
    [anon_sym_package] = ACTIONS(3285),
    [anon_sym_COMMA] = ACTIONS(3285),
    [anon_sym_LPAREN] = ACTIONS(3285),
    [anon_sym_LBRACK] = ACTIONS(3285),
    [anon_sym_QMARK] = ACTIONS(3283),
    [anon_sym_QMARK2] = ACTIONS(3285),
    [anon_sym_AMP] = ACTIONS(3285),
    [aux_sym_custom_operator_token1] = ACTIONS(3285),
    [anon_sym_LT] = ACTIONS(3283),
    [anon_sym_GT] = ACTIONS(3283),
    [anon_sym_LBRACE] = ACTIONS(3285),
    [anon_sym_CARET_LBRACE] = ACTIONS(3285),
    [anon_sym_RBRACE] = ACTIONS(3285),
    [anon_sym_case] = ACTIONS(3285),
    [anon_sym_fallthrough] = ACTIONS(3285),
    [anon_sym_PLUS_EQ] = ACTIONS(3285),
    [anon_sym_DASH_EQ] = ACTIONS(3285),
    [anon_sym_STAR_EQ] = ACTIONS(3285),
    [anon_sym_SLASH_EQ] = ACTIONS(3285),
    [anon_sym_PERCENT_EQ] = ACTIONS(3285),
    [anon_sym_BANG_EQ] = ACTIONS(3283),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3285),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3285),
    [anon_sym_LT_EQ] = ACTIONS(3285),
    [anon_sym_GT_EQ] = ACTIONS(3285),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3285),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3285),
    [anon_sym_is] = ACTIONS(3285),
    [anon_sym_PLUS] = ACTIONS(3283),
    [anon_sym_DASH] = ACTIONS(3283),
    [anon_sym_STAR] = ACTIONS(3283),
    [anon_sym_SLASH] = ACTIONS(3283),
    [anon_sym_PERCENT] = ACTIONS(3283),
    [anon_sym_PLUS_PLUS] = ACTIONS(3285),
    [anon_sym_DASH_DASH] = ACTIONS(3285),
    [anon_sym_PIPE] = ACTIONS(3285),
    [anon_sym_CARET] = ACTIONS(3283),
    [anon_sym_LT_LT] = ACTIONS(3285),
    [anon_sym_GT_GT] = ACTIONS(3285),
    [anon_sym_class] = ACTIONS(3285),
    [anon_sym_prefix] = ACTIONS(3285),
    [anon_sym_infix] = ACTIONS(3285),
    [anon_sym_postfix] = ACTIONS(3285),
    [anon_sym_AT] = ACTIONS(3283),
    [anon_sym_override] = ACTIONS(3285),
    [anon_sym_convenience] = ACTIONS(3285),
    [anon_sym_required] = ACTIONS(3285),
    [anon_sym_nonisolated] = ACTIONS(3285),
    [anon_sym_public] = ACTIONS(3285),
    [anon_sym_private] = ACTIONS(3285),
    [anon_sym_internal] = ACTIONS(3285),
    [anon_sym_fileprivate] = ACTIONS(3285),
    [anon_sym_open] = ACTIONS(3285),
    [anon_sym_mutating] = ACTIONS(3285),
    [anon_sym_nonmutating] = ACTIONS(3285),
    [anon_sym_static] = ACTIONS(3285),
    [anon_sym_dynamic] = ACTIONS(3285),
    [anon_sym_optional] = ACTIONS(3285),
    [anon_sym_distributed] = ACTIONS(3285),
    [anon_sym_final] = ACTIONS(3285),
    [anon_sym_inout] = ACTIONS(3285),
    [anon_sym_ATescaping] = ACTIONS(3285),
    [anon_sym_ATautoclosure] = ACTIONS(3285),
    [anon_sym_weak] = ACTIONS(3285),
    [anon_sym_unowned] = ACTIONS(3283),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3285),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3285),
    [anon_sym_borrowing] = ACTIONS(3285),
    [anon_sym_consuming] = ACTIONS(3285),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3285),
    [sym__explicit_semi] = ACTIONS(3285),
    [sym__dot_custom] = ACTIONS(3285),
    [sym__conjunction_operator_custom] = ACTIONS(4219),
    [sym__disjunction_operator_custom] = ACTIONS(4219),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3285),
    [sym__eq_custom] = ACTIONS(3285),
    [sym__eq_eq_custom] = ACTIONS(3285),
    [sym__plus_then_ws] = ACTIONS(3285),
    [sym__minus_then_ws] = ACTIONS(3285),
    [sym__bang_custom] = ACTIONS(3285),
    [sym_default_keyword] = ACTIONS(3285),
    [sym_where_keyword] = ACTIONS(3285),
    [sym__as_custom] = ACTIONS(3285),
    [sym__as_quest_custom] = ACTIONS(3285),
    [sym__as_bang_custom] = ACTIONS(3285),
    [sym__custom_operator] = ACTIONS(3285),
  },
  [1150] = {
    [anon_sym_BANG] = ACTIONS(2665),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2665),
    [aux_sym_simple_identifier_token2] = ACTIONS(2667),
    [aux_sym_simple_identifier_token3] = ACTIONS(2667),
    [aux_sym_simple_identifier_token4] = ACTIONS(2667),
    [anon_sym_actor] = ACTIONS(2665),
    [anon_sym_async] = ACTIONS(2665),
    [anon_sym_each] = ACTIONS(2665),
    [anon_sym_lazy] = ACTIONS(2665),
    [anon_sym_repeat] = ACTIONS(2665),
    [anon_sym_package] = ACTIONS(2665),
    [anon_sym_nil] = ACTIONS(2665),
    [sym_real_literal] = ACTIONS(2667),
    [sym_integer_literal] = ACTIONS(2665),
    [sym_hex_literal] = ACTIONS(2665),
    [sym_oct_literal] = ACTIONS(2667),
    [sym_bin_literal] = ACTIONS(2667),
    [anon_sym_true] = ACTIONS(2665),
    [anon_sym_false] = ACTIONS(2665),
    [anon_sym_DQUOTE] = ACTIONS(2665),
    [anon_sym_BSLASH] = ACTIONS(2667),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2667),
    [anon_sym_RPAREN] = ACTIONS(2669),
    [anon_sym_COMMA] = ACTIONS(2669),
    [sym__oneline_regex_literal] = ACTIONS(2665),
    [anon_sym_COLON] = ACTIONS(2669),
    [anon_sym_LPAREN] = ACTIONS(2667),
    [anon_sym_LBRACK] = ACTIONS(2667),
    [anon_sym_RBRACK] = ACTIONS(2669),
    [anon_sym_QMARK] = ACTIONS(2671),
    [anon_sym_QMARK2] = ACTIONS(2669),
    [anon_sym_AMP] = ACTIONS(2667),
    [anon_sym_TILDE] = ACTIONS(2667),
    [anon_sym_if] = ACTIONS(2665),
    [anon_sym_switch] = ACTIONS(2665),
    [aux_sym_custom_operator_token1] = ACTIONS(2667),
    [anon_sym_LT] = ACTIONS(2665),
    [anon_sym_GT] = ACTIONS(2665),
    [anon_sym_await] = ACTIONS(2665),
    [anon_sym_LBRACE] = ACTIONS(2667),
    [anon_sym_CARET_LBRACE] = ACTIONS(2667),
    [anon_sym_self] = ACTIONS(2665),
    [anon_sym_super] = ACTIONS(2665),
    [anon_sym_try] = ACTIONS(2665),
    [anon_sym_PLUS_EQ] = ACTIONS(2667),
    [anon_sym_DASH_EQ] = ACTIONS(2667),
    [anon_sym_STAR_EQ] = ACTIONS(2667),
    [anon_sym_SLASH_EQ] = ACTIONS(2667),
    [anon_sym_PERCENT_EQ] = ACTIONS(2667),
    [anon_sym_BANG_EQ] = ACTIONS(2665),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2667),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2667),
    [anon_sym_LT_EQ] = ACTIONS(2667),
    [anon_sym_GT_EQ] = ACTIONS(2667),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2667),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2667),
    [anon_sym_is] = ACTIONS(2671),
    [anon_sym_PLUS] = ACTIONS(2665),
    [anon_sym_DASH] = ACTIONS(2665),
    [anon_sym_STAR] = ACTIONS(2665),
    [anon_sym_SLASH] = ACTIONS(2665),
    [anon_sym_PERCENT] = ACTIONS(2665),
    [anon_sym_PLUS_PLUS] = ACTIONS(2667),
    [anon_sym_DASH_DASH] = ACTIONS(2667),
    [anon_sym_PIPE] = ACTIONS(2667),
    [anon_sym_CARET] = ACTIONS(2665),
    [anon_sym_LT_LT] = ACTIONS(2667),
    [anon_sym_GT_GT] = ACTIONS(2667),
    [anon_sym_borrowing] = ACTIONS(2665),
    [anon_sym_consuming] = ACTIONS(2665),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2667),
    [sym_raw_str_end_part] = ACTIONS(2667),
    [sym__dot_custom] = ACTIONS(2667),
    [sym__conjunction_operator_custom] = ACTIONS(2669),
    [sym__disjunction_operator_custom] = ACTIONS(2669),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2669),
    [sym__eq_custom] = ACTIONS(2667),
    [sym__eq_eq_custom] = ACTIONS(2667),
    [sym__plus_then_ws] = ACTIONS(2667),
    [sym__minus_then_ws] = ACTIONS(2667),
    [sym__bang_custom] = ACTIONS(2667),
    [sym__as_custom] = ACTIONS(2669),
    [sym__as_quest_custom] = ACTIONS(2669),
    [sym__as_bang_custom] = ACTIONS(2669),
    [sym__custom_operator] = ACTIONS(2667),
    [sym__hash_symbol_custom] = ACTIONS(2667),
    [sym__directive_if] = ACTIONS(2667),
    [sym__directive_elseif] = ACTIONS(2667),
    [sym__directive_else] = ACTIONS(2667),
    [sym__directive_endif] = ACTIONS(2667),
  },
  [1151] = {
    [sym_simple_identifier] = STATE(2178),
    [sym__contextual_simple_identifier] = STATE(2241),
    [sym__unannotated_type] = STATE(2011),
    [sym_user_type] = STATE(2142),
    [sym__simple_user_type] = STATE(2122),
    [sym_tuple_type] = STATE(1966),
    [sym_function_type] = STATE(2011),
    [sym_array_type] = STATE(2142),
    [sym_dictionary_type] = STATE(2142),
    [sym_optional_type] = STATE(2011),
    [sym_metatype] = STATE(2011),
    [sym_opaque_type] = STATE(2011),
    [sym_existential_type] = STATE(2011),
    [sym_type_parameter_pack] = STATE(2011),
    [sym_type_pack_expansion] = STATE(2011),
    [sym_protocol_composition_type] = STATE(2011),
    [sym_suppressed_constraint] = STATE(2011),
    [sym__parenthesized_type] = STATE(2286),
    [sym__parameter_ownership_modifier] = STATE(2241),
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(4199),
    [aux_sym_simple_identifier_token2] = ACTIONS(4201),
    [aux_sym_simple_identifier_token3] = ACTIONS(4201),
    [aux_sym_simple_identifier_token4] = ACTIONS(4201),
    [anon_sym_actor] = ACTIONS(4199),
    [anon_sym_async] = ACTIONS(4199),
    [anon_sym_each] = ACTIONS(4203),
    [anon_sym_lazy] = ACTIONS(4199),
    [anon_sym_repeat] = ACTIONS(4205),
    [anon_sym_package] = ACTIONS(4199),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_COLON] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(4207),
    [anon_sym_LBRACK] = ACTIONS(4210),
    [anon_sym_DOT] = ACTIONS(623),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(4213),
    [anon_sym_any] = ACTIONS(4215),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(4217),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(4199),
    [anon_sym_consuming] = ACTIONS(4199),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym_where_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [1152] = {
    [sym__fn_call_lambda_arguments] = STATE(1281),
    [sym_lambda_literal] = STATE(996),
    [anon_sym_BANG] = ACTIONS(3699),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3702),
    [anon_sym_package] = ACTIONS(3702),
    [anon_sym_COMMA] = ACTIONS(3702),
    [anon_sym_LPAREN] = ACTIONS(3702),
    [anon_sym_LBRACK] = ACTIONS(3702),
    [anon_sym_QMARK] = ACTIONS(3699),
    [anon_sym_QMARK2] = ACTIONS(3702),
    [anon_sym_AMP] = ACTIONS(3702),
    [aux_sym_custom_operator_token1] = ACTIONS(3702),
    [anon_sym_LT] = ACTIONS(3699),
    [anon_sym_GT] = ACTIONS(3699),
    [anon_sym_LBRACE] = ACTIONS(4221),
    [anon_sym_CARET_LBRACE] = ACTIONS(4221),
    [anon_sym_RBRACE] = ACTIONS(3702),
    [anon_sym_case] = ACTIONS(3702),
    [anon_sym_fallthrough] = ACTIONS(3702),
    [anon_sym_PLUS_EQ] = ACTIONS(3702),
    [anon_sym_DASH_EQ] = ACTIONS(3702),
    [anon_sym_STAR_EQ] = ACTIONS(3702),
    [anon_sym_SLASH_EQ] = ACTIONS(3702),
    [anon_sym_PERCENT_EQ] = ACTIONS(3702),
    [anon_sym_BANG_EQ] = ACTIONS(3699),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3702),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3702),
    [anon_sym_LT_EQ] = ACTIONS(3702),
    [anon_sym_GT_EQ] = ACTIONS(3702),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3702),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3702),
    [anon_sym_is] = ACTIONS(3702),
    [anon_sym_PLUS] = ACTIONS(3699),
    [anon_sym_DASH] = ACTIONS(3699),
    [anon_sym_STAR] = ACTIONS(3699),
    [anon_sym_SLASH] = ACTIONS(3699),
    [anon_sym_PERCENT] = ACTIONS(3699),
    [anon_sym_PLUS_PLUS] = ACTIONS(3702),
    [anon_sym_DASH_DASH] = ACTIONS(3702),
    [anon_sym_PIPE] = ACTIONS(3702),
    [anon_sym_CARET] = ACTIONS(3699),
    [anon_sym_LT_LT] = ACTIONS(3702),
    [anon_sym_GT_GT] = ACTIONS(3702),
    [anon_sym_class] = ACTIONS(3702),
    [anon_sym_prefix] = ACTIONS(3702),
    [anon_sym_infix] = ACTIONS(3702),
    [anon_sym_postfix] = ACTIONS(3702),
    [anon_sym_AT] = ACTIONS(3699),
    [anon_sym_override] = ACTIONS(3702),
    [anon_sym_convenience] = ACTIONS(3702),
    [anon_sym_required] = ACTIONS(3702),
    [anon_sym_nonisolated] = ACTIONS(3702),
    [anon_sym_public] = ACTIONS(3702),
    [anon_sym_private] = ACTIONS(3702),
    [anon_sym_internal] = ACTIONS(3702),
    [anon_sym_fileprivate] = ACTIONS(3702),
    [anon_sym_open] = ACTIONS(3702),
    [anon_sym_mutating] = ACTIONS(3702),
    [anon_sym_nonmutating] = ACTIONS(3702),
    [anon_sym_static] = ACTIONS(3702),
    [anon_sym_dynamic] = ACTIONS(3702),
    [anon_sym_optional] = ACTIONS(3702),
    [anon_sym_distributed] = ACTIONS(3702),
    [anon_sym_final] = ACTIONS(3702),
    [anon_sym_inout] = ACTIONS(3702),
    [anon_sym_ATescaping] = ACTIONS(3702),
    [anon_sym_ATautoclosure] = ACTIONS(3702),
    [anon_sym_weak] = ACTIONS(3702),
    [anon_sym_unowned] = ACTIONS(3699),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3702),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3702),
    [anon_sym_borrowing] = ACTIONS(3702),
    [anon_sym_consuming] = ACTIONS(3702),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3702),
    [sym__explicit_semi] = ACTIONS(3702),
    [sym__dot_custom] = ACTIONS(3702),
    [sym__conjunction_operator_custom] = ACTIONS(3702),
    [sym__disjunction_operator_custom] = ACTIONS(3702),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3702),
    [sym__eq_custom] = ACTIONS(3702),
    [sym__eq_eq_custom] = ACTIONS(3702),
    [sym__plus_then_ws] = ACTIONS(3702),
    [sym__minus_then_ws] = ACTIONS(3702),
    [sym__bang_custom] = ACTIONS(3702),
    [sym_default_keyword] = ACTIONS(3702),
    [sym_where_keyword] = ACTIONS(3702),
    [sym__as_custom] = ACTIONS(3702),
    [sym__as_quest_custom] = ACTIONS(3702),
    [sym__as_bang_custom] = ACTIONS(3702),
    [sym__custom_operator] = ACTIONS(3702),
  },
  [1153] = {
    [anon_sym_BANG] = ACTIONS(2661),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2663),
    [anon_sym_package] = ACTIONS(2663),
    [anon_sym_COMMA] = ACTIONS(2663),
    [anon_sym_LPAREN] = ACTIONS(2663),
    [anon_sym_LBRACK] = ACTIONS(2663),
    [anon_sym_DOT] = ACTIONS(2661),
    [anon_sym_QMARK] = ACTIONS(2661),
    [anon_sym_QMARK2] = ACTIONS(2663),
    [anon_sym_AMP] = ACTIONS(2663),
    [aux_sym_custom_operator_token1] = ACTIONS(2663),
    [anon_sym_LT] = ACTIONS(2661),
    [anon_sym_GT] = ACTIONS(2661),
    [anon_sym_LBRACE] = ACTIONS(2663),
    [anon_sym_CARET_LBRACE] = ACTIONS(2663),
    [anon_sym_RBRACE] = ACTIONS(2663),
    [anon_sym_self] = ACTIONS(2663),
    [anon_sym_case] = ACTIONS(2663),
    [anon_sym_fallthrough] = ACTIONS(2663),
    [anon_sym_PLUS_EQ] = ACTIONS(2663),
    [anon_sym_DASH_EQ] = ACTIONS(2663),
    [anon_sym_STAR_EQ] = ACTIONS(2663),
    [anon_sym_SLASH_EQ] = ACTIONS(2663),
    [anon_sym_PERCENT_EQ] = ACTIONS(2663),
    [anon_sym_BANG_EQ] = ACTIONS(2661),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2663),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2663),
    [anon_sym_LT_EQ] = ACTIONS(2663),
    [anon_sym_GT_EQ] = ACTIONS(2663),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2663),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2663),
    [anon_sym_is] = ACTIONS(2663),
    [anon_sym_PLUS] = ACTIONS(2661),
    [anon_sym_DASH] = ACTIONS(2661),
    [anon_sym_STAR] = ACTIONS(2661),
    [anon_sym_SLASH] = ACTIONS(2661),
    [anon_sym_PERCENT] = ACTIONS(2661),
    [anon_sym_PLUS_PLUS] = ACTIONS(2663),
    [anon_sym_DASH_DASH] = ACTIONS(2663),
    [anon_sym_PIPE] = ACTIONS(2663),
    [anon_sym_CARET] = ACTIONS(2661),
    [anon_sym_LT_LT] = ACTIONS(2663),
    [anon_sym_GT_GT] = ACTIONS(2663),
    [anon_sym_class] = ACTIONS(2663),
    [anon_sym_prefix] = ACTIONS(2663),
    [anon_sym_infix] = ACTIONS(2663),
    [anon_sym_postfix] = ACTIONS(2663),
    [anon_sym_AT] = ACTIONS(2661),
    [anon_sym_override] = ACTIONS(2663),
    [anon_sym_convenience] = ACTIONS(2663),
    [anon_sym_required] = ACTIONS(2663),
    [anon_sym_nonisolated] = ACTIONS(2663),
    [anon_sym_public] = ACTIONS(2663),
    [anon_sym_private] = ACTIONS(2663),
    [anon_sym_internal] = ACTIONS(2663),
    [anon_sym_fileprivate] = ACTIONS(2663),
    [anon_sym_open] = ACTIONS(2663),
    [anon_sym_mutating] = ACTIONS(2663),
    [anon_sym_nonmutating] = ACTIONS(2663),
    [anon_sym_static] = ACTIONS(2663),
    [anon_sym_dynamic] = ACTIONS(2663),
    [anon_sym_optional] = ACTIONS(2663),
    [anon_sym_distributed] = ACTIONS(2663),
    [anon_sym_final] = ACTIONS(2663),
    [anon_sym_inout] = ACTIONS(2663),
    [anon_sym_ATescaping] = ACTIONS(2663),
    [anon_sym_ATautoclosure] = ACTIONS(2663),
    [anon_sym_weak] = ACTIONS(2663),
    [anon_sym_unowned] = ACTIONS(2661),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2663),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2663),
    [anon_sym_borrowing] = ACTIONS(2663),
    [anon_sym_consuming] = ACTIONS(2663),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2663),
    [sym__explicit_semi] = ACTIONS(2663),
    [sym__dot_custom] = ACTIONS(2663),
    [sym__conjunction_operator_custom] = ACTIONS(2663),
    [sym__disjunction_operator_custom] = ACTIONS(2663),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2663),
    [sym__eq_custom] = ACTIONS(2663),
    [sym__eq_eq_custom] = ACTIONS(2663),
    [sym__plus_then_ws] = ACTIONS(2663),
    [sym__minus_then_ws] = ACTIONS(2663),
    [sym__bang_custom] = ACTIONS(2663),
    [sym_default_keyword] = ACTIONS(2663),
    [sym_where_keyword] = ACTIONS(2663),
    [sym__as_custom] = ACTIONS(2663),
    [sym__as_quest_custom] = ACTIONS(2663),
    [sym__as_bang_custom] = ACTIONS(2663),
    [sym__custom_operator] = ACTIONS(2663),
  },
  [1154] = {
    [anon_sym_BANG] = ACTIONS(2653),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2653),
    [aux_sym_simple_identifier_token2] = ACTIONS(2655),
    [aux_sym_simple_identifier_token3] = ACTIONS(2655),
    [aux_sym_simple_identifier_token4] = ACTIONS(2655),
    [anon_sym_actor] = ACTIONS(2653),
    [anon_sym_async] = ACTIONS(2653),
    [anon_sym_each] = ACTIONS(2653),
    [anon_sym_lazy] = ACTIONS(2653),
    [anon_sym_repeat] = ACTIONS(2653),
    [anon_sym_package] = ACTIONS(2653),
    [anon_sym_nil] = ACTIONS(2653),
    [sym_real_literal] = ACTIONS(2655),
    [sym_integer_literal] = ACTIONS(2653),
    [sym_hex_literal] = ACTIONS(2653),
    [sym_oct_literal] = ACTIONS(2655),
    [sym_bin_literal] = ACTIONS(2655),
    [anon_sym_true] = ACTIONS(2653),
    [anon_sym_false] = ACTIONS(2653),
    [anon_sym_DQUOTE] = ACTIONS(2653),
    [anon_sym_BSLASH] = ACTIONS(2655),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2655),
    [anon_sym_COMMA] = ACTIONS(2655),
    [sym__oneline_regex_literal] = ACTIONS(2653),
    [anon_sym_LPAREN] = ACTIONS(2655),
    [anon_sym_LBRACK] = ACTIONS(2655),
    [anon_sym_QMARK] = ACTIONS(2653),
    [anon_sym_QMARK2] = ACTIONS(2655),
    [anon_sym_AMP] = ACTIONS(2655),
    [anon_sym_TILDE] = ACTIONS(2655),
    [anon_sym_if] = ACTIONS(2653),
    [anon_sym_switch] = ACTIONS(2653),
    [aux_sym_custom_operator_token1] = ACTIONS(2655),
    [anon_sym_LT] = ACTIONS(2653),
    [anon_sym_GT] = ACTIONS(2653),
    [anon_sym_await] = ACTIONS(2653),
    [anon_sym_LBRACE] = ACTIONS(2655),
    [anon_sym_CARET_LBRACE] = ACTIONS(2655),
    [anon_sym_RBRACE] = ACTIONS(2655),
    [anon_sym_self] = ACTIONS(2653),
    [anon_sym_super] = ACTIONS(2653),
    [anon_sym_try] = ACTIONS(2653),
    [anon_sym_PLUS_EQ] = ACTIONS(2655),
    [anon_sym_DASH_EQ] = ACTIONS(2655),
    [anon_sym_STAR_EQ] = ACTIONS(2655),
    [anon_sym_SLASH_EQ] = ACTIONS(2655),
    [anon_sym_PERCENT_EQ] = ACTIONS(2655),
    [anon_sym_BANG_EQ] = ACTIONS(2653),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2655),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2655),
    [anon_sym_LT_EQ] = ACTIONS(2655),
    [anon_sym_GT_EQ] = ACTIONS(2655),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2655),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2655),
    [anon_sym_is] = ACTIONS(2653),
    [anon_sym_PLUS] = ACTIONS(2653),
    [anon_sym_DASH] = ACTIONS(2653),
    [anon_sym_STAR] = ACTIONS(2653),
    [anon_sym_SLASH] = ACTIONS(2653),
    [anon_sym_PERCENT] = ACTIONS(2653),
    [anon_sym_PLUS_PLUS] = ACTIONS(2655),
    [anon_sym_DASH_DASH] = ACTIONS(2655),
    [anon_sym_PIPE] = ACTIONS(2655),
    [anon_sym_CARET] = ACTIONS(2653),
    [anon_sym_LT_LT] = ACTIONS(2655),
    [anon_sym_GT_GT] = ACTIONS(2655),
    [anon_sym_borrowing] = ACTIONS(2653),
    [anon_sym_consuming] = ACTIONS(2653),
    [sym_multiline_comment] = ACTIONS(2655),
    [sym_raw_str_part] = ACTIONS(2655),
    [sym_raw_str_end_part] = ACTIONS(2655),
    [sym__implicit_semi] = ACTIONS(2655),
    [sym__explicit_semi] = ACTIONS(2655),
    [sym__dot_custom] = ACTIONS(2655),
    [sym__conjunction_operator_custom] = ACTIONS(2655),
    [sym__disjunction_operator_custom] = ACTIONS(2655),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2655),
    [sym__eq_custom] = ACTIONS(2655),
    [sym__eq_eq_custom] = ACTIONS(2655),
    [sym__plus_then_ws] = ACTIONS(2655),
    [sym__minus_then_ws] = ACTIONS(2655),
    [sym__bang_custom] = ACTIONS(2655),
    [sym__as_custom] = ACTIONS(2655),
    [sym__as_quest_custom] = ACTIONS(2655),
    [sym__as_bang_custom] = ACTIONS(2655),
    [sym__custom_operator] = ACTIONS(2655),
    [sym__hash_symbol_custom] = ACTIONS(2655),
    [sym__directive_if] = ACTIONS(2655),
    [sym__directive_elseif] = ACTIONS(2655),
    [sym__directive_else] = ACTIONS(2655),
    [sym__directive_endif] = ACTIONS(2655),
  },
  [1155] = {
    [anon_sym_BANG] = ACTIONS(2673),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2676),
    [aux_sym_simple_identifier_token2] = ACTIONS(2678),
    [aux_sym_simple_identifier_token3] = ACTIONS(2678),
    [aux_sym_simple_identifier_token4] = ACTIONS(2678),
    [anon_sym_actor] = ACTIONS(2676),
    [anon_sym_async] = ACTIONS(2676),
    [anon_sym_each] = ACTIONS(2676),
    [anon_sym_lazy] = ACTIONS(2676),
    [anon_sym_repeat] = ACTIONS(2676),
    [anon_sym_package] = ACTIONS(2676),
    [anon_sym_nil] = ACTIONS(2676),
    [sym_real_literal] = ACTIONS(2678),
    [sym_integer_literal] = ACTIONS(2676),
    [sym_hex_literal] = ACTIONS(2676),
    [sym_oct_literal] = ACTIONS(2678),
    [sym_bin_literal] = ACTIONS(2678),
    [anon_sym_true] = ACTIONS(2676),
    [anon_sym_false] = ACTIONS(2676),
    [anon_sym_DQUOTE] = ACTIONS(2676),
    [anon_sym_BSLASH] = ACTIONS(2678),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2678),
    [anon_sym_RPAREN] = ACTIONS(2680),
    [anon_sym_COMMA] = ACTIONS(2680),
    [sym__oneline_regex_literal] = ACTIONS(2676),
    [anon_sym_COLON] = ACTIONS(2680),
    [anon_sym_LPAREN] = ACTIONS(2682),
    [anon_sym_LBRACK] = ACTIONS(2682),
    [anon_sym_RBRACK] = ACTIONS(2680),
    [anon_sym_QMARK] = ACTIONS(2685),
    [anon_sym_QMARK2] = ACTIONS(2680),
    [anon_sym_AMP] = ACTIONS(2682),
    [anon_sym_TILDE] = ACTIONS(2678),
    [anon_sym_if] = ACTIONS(2676),
    [anon_sym_switch] = ACTIONS(2676),
    [aux_sym_custom_operator_token1] = ACTIONS(2682),
    [anon_sym_LT] = ACTIONS(2673),
    [anon_sym_GT] = ACTIONS(2673),
    [anon_sym_await] = ACTIONS(2676),
    [anon_sym_LBRACE] = ACTIONS(2682),
    [anon_sym_CARET_LBRACE] = ACTIONS(2682),
    [anon_sym_self] = ACTIONS(2676),
    [anon_sym_super] = ACTIONS(2676),
    [anon_sym_try] = ACTIONS(2676),
    [anon_sym_PLUS_EQ] = ACTIONS(2682),
    [anon_sym_DASH_EQ] = ACTIONS(2682),
    [anon_sym_STAR_EQ] = ACTIONS(2682),
    [anon_sym_SLASH_EQ] = ACTIONS(2682),
    [anon_sym_PERCENT_EQ] = ACTIONS(2682),
    [anon_sym_BANG_EQ] = ACTIONS(2673),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2682),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2682),
    [anon_sym_LT_EQ] = ACTIONS(2682),
    [anon_sym_GT_EQ] = ACTIONS(2682),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2682),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2682),
    [anon_sym_is] = ACTIONS(2685),
    [anon_sym_PLUS] = ACTIONS(2673),
    [anon_sym_DASH] = ACTIONS(2673),
    [anon_sym_STAR] = ACTIONS(2673),
    [anon_sym_SLASH] = ACTIONS(2673),
    [anon_sym_PERCENT] = ACTIONS(2673),
    [anon_sym_PLUS_PLUS] = ACTIONS(2682),
    [anon_sym_DASH_DASH] = ACTIONS(2682),
    [anon_sym_PIPE] = ACTIONS(2682),
    [anon_sym_CARET] = ACTIONS(2673),
    [anon_sym_LT_LT] = ACTIONS(2682),
    [anon_sym_GT_GT] = ACTIONS(2682),
    [anon_sym_borrowing] = ACTIONS(2676),
    [anon_sym_consuming] = ACTIONS(2676),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2678),
    [sym_raw_str_end_part] = ACTIONS(2678),
    [sym__dot_custom] = ACTIONS(2682),
    [sym__conjunction_operator_custom] = ACTIONS(2680),
    [sym__disjunction_operator_custom] = ACTIONS(2680),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2680),
    [sym__eq_custom] = ACTIONS(2682),
    [sym__eq_eq_custom] = ACTIONS(2682),
    [sym__plus_then_ws] = ACTIONS(2682),
    [sym__minus_then_ws] = ACTIONS(2682),
    [sym__bang_custom] = ACTIONS(2682),
    [sym__as_custom] = ACTIONS(2680),
    [sym__as_quest_custom] = ACTIONS(2680),
    [sym__as_bang_custom] = ACTIONS(2680),
    [sym__custom_operator] = ACTIONS(2682),
    [sym__hash_symbol_custom] = ACTIONS(2678),
    [sym__directive_if] = ACTIONS(2678),
    [sym__directive_elseif] = ACTIONS(2678),
    [sym__directive_else] = ACTIONS(2678),
    [sym__directive_endif] = ACTIONS(2678),
  },
  [1156] = {
    [anon_sym_BANG] = ACTIONS(2657),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2657),
    [aux_sym_simple_identifier_token2] = ACTIONS(2659),
    [aux_sym_simple_identifier_token3] = ACTIONS(2659),
    [aux_sym_simple_identifier_token4] = ACTIONS(2659),
    [anon_sym_actor] = ACTIONS(2657),
    [anon_sym_async] = ACTIONS(2657),
    [anon_sym_each] = ACTIONS(2657),
    [anon_sym_lazy] = ACTIONS(2657),
    [anon_sym_repeat] = ACTIONS(2657),
    [anon_sym_package] = ACTIONS(2657),
    [anon_sym_nil] = ACTIONS(2657),
    [sym_real_literal] = ACTIONS(2659),
    [sym_integer_literal] = ACTIONS(2657),
    [sym_hex_literal] = ACTIONS(2657),
    [sym_oct_literal] = ACTIONS(2659),
    [sym_bin_literal] = ACTIONS(2659),
    [anon_sym_true] = ACTIONS(2657),
    [anon_sym_false] = ACTIONS(2657),
    [anon_sym_DQUOTE] = ACTIONS(2657),
    [anon_sym_BSLASH] = ACTIONS(2659),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2659),
    [anon_sym_COMMA] = ACTIONS(2659),
    [sym__oneline_regex_literal] = ACTIONS(2657),
    [anon_sym_LPAREN] = ACTIONS(2659),
    [anon_sym_LBRACK] = ACTIONS(2659),
    [anon_sym_QMARK] = ACTIONS(2657),
    [anon_sym_QMARK2] = ACTIONS(2659),
    [anon_sym_AMP] = ACTIONS(2659),
    [anon_sym_TILDE] = ACTIONS(2659),
    [anon_sym_if] = ACTIONS(2657),
    [anon_sym_switch] = ACTIONS(2657),
    [aux_sym_custom_operator_token1] = ACTIONS(2659),
    [anon_sym_LT] = ACTIONS(2657),
    [anon_sym_GT] = ACTIONS(2657),
    [anon_sym_await] = ACTIONS(2657),
    [anon_sym_LBRACE] = ACTIONS(2659),
    [anon_sym_CARET_LBRACE] = ACTIONS(2659),
    [anon_sym_RBRACE] = ACTIONS(2659),
    [anon_sym_self] = ACTIONS(2657),
    [anon_sym_super] = ACTIONS(2657),
    [anon_sym_try] = ACTIONS(2657),
    [anon_sym_PLUS_EQ] = ACTIONS(2659),
    [anon_sym_DASH_EQ] = ACTIONS(2659),
    [anon_sym_STAR_EQ] = ACTIONS(2659),
    [anon_sym_SLASH_EQ] = ACTIONS(2659),
    [anon_sym_PERCENT_EQ] = ACTIONS(2659),
    [anon_sym_BANG_EQ] = ACTIONS(2657),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2659),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2659),
    [anon_sym_LT_EQ] = ACTIONS(2659),
    [anon_sym_GT_EQ] = ACTIONS(2659),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2659),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2659),
    [anon_sym_is] = ACTIONS(2657),
    [anon_sym_PLUS] = ACTIONS(2657),
    [anon_sym_DASH] = ACTIONS(2657),
    [anon_sym_STAR] = ACTIONS(2657),
    [anon_sym_SLASH] = ACTIONS(2657),
    [anon_sym_PERCENT] = ACTIONS(2657),
    [anon_sym_PLUS_PLUS] = ACTIONS(2659),
    [anon_sym_DASH_DASH] = ACTIONS(2659),
    [anon_sym_PIPE] = ACTIONS(2659),
    [anon_sym_CARET] = ACTIONS(2657),
    [anon_sym_LT_LT] = ACTIONS(2659),
    [anon_sym_GT_GT] = ACTIONS(2659),
    [anon_sym_borrowing] = ACTIONS(2657),
    [anon_sym_consuming] = ACTIONS(2657),
    [sym_multiline_comment] = ACTIONS(2659),
    [sym_raw_str_part] = ACTIONS(2659),
    [sym_raw_str_end_part] = ACTIONS(2659),
    [sym__implicit_semi] = ACTIONS(2659),
    [sym__explicit_semi] = ACTIONS(2659),
    [sym__dot_custom] = ACTIONS(2659),
    [sym__conjunction_operator_custom] = ACTIONS(2659),
    [sym__disjunction_operator_custom] = ACTIONS(2659),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2659),
    [sym__eq_custom] = ACTIONS(2659),
    [sym__eq_eq_custom] = ACTIONS(2659),
    [sym__plus_then_ws] = ACTIONS(2659),
    [sym__minus_then_ws] = ACTIONS(2659),
    [sym__bang_custom] = ACTIONS(2659),
    [sym__as_custom] = ACTIONS(2659),
    [sym__as_quest_custom] = ACTIONS(2659),
    [sym__as_bang_custom] = ACTIONS(2659),
    [sym__custom_operator] = ACTIONS(2659),
    [sym__hash_symbol_custom] = ACTIONS(2659),
    [sym__directive_if] = ACTIONS(2659),
    [sym__directive_elseif] = ACTIONS(2659),
    [sym__directive_else] = ACTIONS(2659),
    [sym__directive_endif] = ACTIONS(2659),
  },
  [1157] = {
    [sym__fn_call_lambda_arguments] = STATE(1308),
    [sym_lambda_literal] = STATE(996),
    [anon_sym_BANG] = ACTIONS(3685),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3687),
    [anon_sym_package] = ACTIONS(3687),
    [anon_sym_COMMA] = ACTIONS(3687),
    [anon_sym_LPAREN] = ACTIONS(3687),
    [anon_sym_LBRACK] = ACTIONS(3687),
    [anon_sym_QMARK] = ACTIONS(3685),
    [anon_sym_QMARK2] = ACTIONS(3687),
    [anon_sym_AMP] = ACTIONS(3687),
    [aux_sym_custom_operator_token1] = ACTIONS(3687),
    [anon_sym_LT] = ACTIONS(3685),
    [anon_sym_GT] = ACTIONS(3685),
    [anon_sym_LBRACE] = ACTIONS(4225),
    [anon_sym_CARET_LBRACE] = ACTIONS(4225),
    [anon_sym_RBRACE] = ACTIONS(3687),
    [anon_sym_case] = ACTIONS(3687),
    [anon_sym_fallthrough] = ACTIONS(3687),
    [anon_sym_PLUS_EQ] = ACTIONS(3687),
    [anon_sym_DASH_EQ] = ACTIONS(3687),
    [anon_sym_STAR_EQ] = ACTIONS(3687),
    [anon_sym_SLASH_EQ] = ACTIONS(3687),
    [anon_sym_PERCENT_EQ] = ACTIONS(3687),
    [anon_sym_BANG_EQ] = ACTIONS(3685),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3687),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3687),
    [anon_sym_LT_EQ] = ACTIONS(3687),
    [anon_sym_GT_EQ] = ACTIONS(3687),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3687),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3687),
    [anon_sym_is] = ACTIONS(3687),
    [anon_sym_PLUS] = ACTIONS(3685),
    [anon_sym_DASH] = ACTIONS(3685),
    [anon_sym_STAR] = ACTIONS(3685),
    [anon_sym_SLASH] = ACTIONS(3685),
    [anon_sym_PERCENT] = ACTIONS(3685),
    [anon_sym_PLUS_PLUS] = ACTIONS(3687),
    [anon_sym_DASH_DASH] = ACTIONS(3687),
    [anon_sym_PIPE] = ACTIONS(3687),
    [anon_sym_CARET] = ACTIONS(3685),
    [anon_sym_LT_LT] = ACTIONS(3687),
    [anon_sym_GT_GT] = ACTIONS(3687),
    [anon_sym_class] = ACTIONS(3687),
    [anon_sym_prefix] = ACTIONS(3687),
    [anon_sym_infix] = ACTIONS(3687),
    [anon_sym_postfix] = ACTIONS(3687),
    [anon_sym_AT] = ACTIONS(3685),
    [anon_sym_override] = ACTIONS(3687),
    [anon_sym_convenience] = ACTIONS(3687),
    [anon_sym_required] = ACTIONS(3687),
    [anon_sym_nonisolated] = ACTIONS(3687),
    [anon_sym_public] = ACTIONS(3687),
    [anon_sym_private] = ACTIONS(3687),
    [anon_sym_internal] = ACTIONS(3687),
    [anon_sym_fileprivate] = ACTIONS(3687),
    [anon_sym_open] = ACTIONS(3687),
    [anon_sym_mutating] = ACTIONS(3687),
    [anon_sym_nonmutating] = ACTIONS(3687),
    [anon_sym_static] = ACTIONS(3687),
    [anon_sym_dynamic] = ACTIONS(3687),
    [anon_sym_optional] = ACTIONS(3687),
    [anon_sym_distributed] = ACTIONS(3687),
    [anon_sym_final] = ACTIONS(3687),
    [anon_sym_inout] = ACTIONS(3687),
    [anon_sym_ATescaping] = ACTIONS(3687),
    [anon_sym_ATautoclosure] = ACTIONS(3687),
    [anon_sym_weak] = ACTIONS(3687),
    [anon_sym_unowned] = ACTIONS(3685),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3687),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3687),
    [anon_sym_borrowing] = ACTIONS(3687),
    [anon_sym_consuming] = ACTIONS(3687),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3687),
    [sym__explicit_semi] = ACTIONS(3687),
    [sym__dot_custom] = ACTIONS(3687),
    [sym__conjunction_operator_custom] = ACTIONS(3687),
    [sym__disjunction_operator_custom] = ACTIONS(3687),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3687),
    [sym__eq_custom] = ACTIONS(3687),
    [sym__eq_eq_custom] = ACTIONS(3687),
    [sym__plus_then_ws] = ACTIONS(3687),
    [sym__minus_then_ws] = ACTIONS(3687),
    [sym__bang_custom] = ACTIONS(3687),
    [sym_default_keyword] = ACTIONS(3687),
    [sym_where_keyword] = ACTIONS(3687),
    [sym__as_custom] = ACTIONS(3687),
    [sym__as_quest_custom] = ACTIONS(3687),
    [sym__as_bang_custom] = ACTIONS(3687),
    [sym__custom_operator] = ACTIONS(3687),
  },
  [1158] = {
    [sym_simple_identifier] = STATE(2200),
    [sym__contextual_simple_identifier] = STATE(2244),
    [sym__unannotated_type] = STATE(1986),
    [sym_user_type] = STATE(2131),
    [sym__simple_user_type] = STATE(2116),
    [sym_tuple_type] = STATE(1955),
    [sym_function_type] = STATE(1986),
    [sym_array_type] = STATE(2131),
    [sym_dictionary_type] = STATE(2131),
    [sym_optional_type] = STATE(1986),
    [sym_metatype] = STATE(1986),
    [sym_opaque_type] = STATE(1986),
    [sym_existential_type] = STATE(1986),
    [sym_type_parameter_pack] = STATE(1986),
    [sym_type_pack_expansion] = STATE(1986),
    [sym_protocol_composition_type] = STATE(1986),
    [sym_suppressed_constraint] = STATE(1986),
    [sym__parenthesized_type] = STATE(2232),
    [sym__parameter_ownership_modifier] = STATE(2244),
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(4179),
    [aux_sym_simple_identifier_token2] = ACTIONS(4181),
    [aux_sym_simple_identifier_token3] = ACTIONS(4181),
    [aux_sym_simple_identifier_token4] = ACTIONS(4181),
    [anon_sym_actor] = ACTIONS(4179),
    [anon_sym_async] = ACTIONS(4179),
    [anon_sym_each] = ACTIONS(4183),
    [anon_sym_lazy] = ACTIONS(4179),
    [anon_sym_repeat] = ACTIONS(4185),
    [anon_sym_package] = ACTIONS(4179),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(4187),
    [anon_sym_LBRACK] = ACTIONS(4190),
    [anon_sym_DOT] = ACTIONS(623),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(4193),
    [anon_sym_any] = ACTIONS(4195),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(4197),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(4179),
    [anon_sym_consuming] = ACTIONS(4179),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym_where_keyword] = ACTIONS(617),
    [sym_else] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [1159] = {
    [anon_sym_BANG] = ACTIONS(2661),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2661),
    [aux_sym_simple_identifier_token2] = ACTIONS(2663),
    [aux_sym_simple_identifier_token3] = ACTIONS(2663),
    [aux_sym_simple_identifier_token4] = ACTIONS(2663),
    [anon_sym_actor] = ACTIONS(2661),
    [anon_sym_async] = ACTIONS(2661),
    [anon_sym_each] = ACTIONS(2661),
    [anon_sym_lazy] = ACTIONS(2661),
    [anon_sym_repeat] = ACTIONS(2661),
    [anon_sym_package] = ACTIONS(2661),
    [anon_sym_nil] = ACTIONS(2661),
    [sym_real_literal] = ACTIONS(2663),
    [sym_integer_literal] = ACTIONS(2661),
    [sym_hex_literal] = ACTIONS(2661),
    [sym_oct_literal] = ACTIONS(2663),
    [sym_bin_literal] = ACTIONS(2663),
    [anon_sym_true] = ACTIONS(2661),
    [anon_sym_false] = ACTIONS(2661),
    [anon_sym_DQUOTE] = ACTIONS(2661),
    [anon_sym_BSLASH] = ACTIONS(2663),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2663),
    [anon_sym_COMMA] = ACTIONS(2663),
    [sym__oneline_regex_literal] = ACTIONS(2661),
    [anon_sym_LPAREN] = ACTIONS(2663),
    [anon_sym_LBRACK] = ACTIONS(2663),
    [anon_sym_QMARK] = ACTIONS(2661),
    [anon_sym_QMARK2] = ACTIONS(2663),
    [anon_sym_AMP] = ACTIONS(2663),
    [anon_sym_TILDE] = ACTIONS(2663),
    [anon_sym_if] = ACTIONS(2661),
    [anon_sym_switch] = ACTIONS(2661),
    [aux_sym_custom_operator_token1] = ACTIONS(2663),
    [anon_sym_LT] = ACTIONS(2661),
    [anon_sym_GT] = ACTIONS(2661),
    [anon_sym_await] = ACTIONS(2661),
    [anon_sym_LBRACE] = ACTIONS(2663),
    [anon_sym_CARET_LBRACE] = ACTIONS(2663),
    [anon_sym_RBRACE] = ACTIONS(2663),
    [anon_sym_self] = ACTIONS(2661),
    [anon_sym_super] = ACTIONS(2661),
    [anon_sym_try] = ACTIONS(2661),
    [anon_sym_PLUS_EQ] = ACTIONS(2663),
    [anon_sym_DASH_EQ] = ACTIONS(2663),
    [anon_sym_STAR_EQ] = ACTIONS(2663),
    [anon_sym_SLASH_EQ] = ACTIONS(2663),
    [anon_sym_PERCENT_EQ] = ACTIONS(2663),
    [anon_sym_BANG_EQ] = ACTIONS(2661),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2663),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2663),
    [anon_sym_LT_EQ] = ACTIONS(2663),
    [anon_sym_GT_EQ] = ACTIONS(2663),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2663),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2663),
    [anon_sym_is] = ACTIONS(2661),
    [anon_sym_PLUS] = ACTIONS(2661),
    [anon_sym_DASH] = ACTIONS(2661),
    [anon_sym_STAR] = ACTIONS(2661),
    [anon_sym_SLASH] = ACTIONS(2661),
    [anon_sym_PERCENT] = ACTIONS(2661),
    [anon_sym_PLUS_PLUS] = ACTIONS(2663),
    [anon_sym_DASH_DASH] = ACTIONS(2663),
    [anon_sym_PIPE] = ACTIONS(2663),
    [anon_sym_CARET] = ACTIONS(2661),
    [anon_sym_LT_LT] = ACTIONS(2663),
    [anon_sym_GT_GT] = ACTIONS(2663),
    [anon_sym_borrowing] = ACTIONS(2661),
    [anon_sym_consuming] = ACTIONS(2661),
    [sym_multiline_comment] = ACTIONS(2663),
    [sym_raw_str_part] = ACTIONS(2663),
    [sym_raw_str_end_part] = ACTIONS(2663),
    [sym__implicit_semi] = ACTIONS(2663),
    [sym__explicit_semi] = ACTIONS(2663),
    [sym__dot_custom] = ACTIONS(2663),
    [sym__conjunction_operator_custom] = ACTIONS(2663),
    [sym__disjunction_operator_custom] = ACTIONS(2663),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2663),
    [sym__eq_custom] = ACTIONS(2663),
    [sym__eq_eq_custom] = ACTIONS(2663),
    [sym__plus_then_ws] = ACTIONS(2663),
    [sym__minus_then_ws] = ACTIONS(2663),
    [sym__bang_custom] = ACTIONS(2663),
    [sym__as_custom] = ACTIONS(2663),
    [sym__as_quest_custom] = ACTIONS(2663),
    [sym__as_bang_custom] = ACTIONS(2663),
    [sym__custom_operator] = ACTIONS(2663),
    [sym__hash_symbol_custom] = ACTIONS(2663),
    [sym__directive_if] = ACTIONS(2663),
    [sym__directive_elseif] = ACTIONS(2663),
    [sym__directive_else] = ACTIONS(2663),
    [sym__directive_endif] = ACTIONS(2663),
  },
  [1160] = {
    [sym_type_arguments] = STATE(1191),
    [anon_sym_BANG] = ACTIONS(3081),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3083),
    [anon_sym_package] = ACTIONS(3083),
    [anon_sym_COMMA] = ACTIONS(3083),
    [anon_sym_LPAREN] = ACTIONS(3083),
    [anon_sym_LBRACK] = ACTIONS(3083),
    [anon_sym_DOT] = ACTIONS(3081),
    [anon_sym_QMARK] = ACTIONS(3081),
    [anon_sym_QMARK2] = ACTIONS(3083),
    [anon_sym_AMP] = ACTIONS(3083),
    [aux_sym_custom_operator_token1] = ACTIONS(3083),
    [anon_sym_LT] = ACTIONS(4228),
    [anon_sym_GT] = ACTIONS(3081),
    [anon_sym_LBRACE] = ACTIONS(3083),
    [anon_sym_CARET_LBRACE] = ACTIONS(3083),
    [anon_sym_RBRACE] = ACTIONS(3083),
    [anon_sym_case] = ACTIONS(3083),
    [anon_sym_fallthrough] = ACTIONS(3083),
    [anon_sym_PLUS_EQ] = ACTIONS(3083),
    [anon_sym_DASH_EQ] = ACTIONS(3083),
    [anon_sym_STAR_EQ] = ACTIONS(3083),
    [anon_sym_SLASH_EQ] = ACTIONS(3083),
    [anon_sym_PERCENT_EQ] = ACTIONS(3083),
    [anon_sym_BANG_EQ] = ACTIONS(3081),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3083),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3083),
    [anon_sym_LT_EQ] = ACTIONS(3083),
    [anon_sym_GT_EQ] = ACTIONS(3083),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3083),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3083),
    [anon_sym_is] = ACTIONS(3083),
    [anon_sym_PLUS] = ACTIONS(3081),
    [anon_sym_DASH] = ACTIONS(3081),
    [anon_sym_STAR] = ACTIONS(3081),
    [anon_sym_SLASH] = ACTIONS(3081),
    [anon_sym_PERCENT] = ACTIONS(3081),
    [anon_sym_PLUS_PLUS] = ACTIONS(3083),
    [anon_sym_DASH_DASH] = ACTIONS(3083),
    [anon_sym_PIPE] = ACTIONS(3083),
    [anon_sym_CARET] = ACTIONS(3081),
    [anon_sym_LT_LT] = ACTIONS(3083),
    [anon_sym_GT_GT] = ACTIONS(3083),
    [anon_sym_class] = ACTIONS(3083),
    [anon_sym_prefix] = ACTIONS(3083),
    [anon_sym_infix] = ACTIONS(3083),
    [anon_sym_postfix] = ACTIONS(3083),
    [anon_sym_AT] = ACTIONS(3081),
    [anon_sym_override] = ACTIONS(3083),
    [anon_sym_convenience] = ACTIONS(3083),
    [anon_sym_required] = ACTIONS(3083),
    [anon_sym_nonisolated] = ACTIONS(3083),
    [anon_sym_public] = ACTIONS(3083),
    [anon_sym_private] = ACTIONS(3083),
    [anon_sym_internal] = ACTIONS(3083),
    [anon_sym_fileprivate] = ACTIONS(3083),
    [anon_sym_open] = ACTIONS(3083),
    [anon_sym_mutating] = ACTIONS(3083),
    [anon_sym_nonmutating] = ACTIONS(3083),
    [anon_sym_static] = ACTIONS(3083),
    [anon_sym_dynamic] = ACTIONS(3083),
    [anon_sym_optional] = ACTIONS(3083),
    [anon_sym_distributed] = ACTIONS(3083),
    [anon_sym_final] = ACTIONS(3083),
    [anon_sym_inout] = ACTIONS(3083),
    [anon_sym_ATescaping] = ACTIONS(3083),
    [anon_sym_ATautoclosure] = ACTIONS(3083),
    [anon_sym_weak] = ACTIONS(3083),
    [anon_sym_unowned] = ACTIONS(3081),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3083),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3083),
    [anon_sym_borrowing] = ACTIONS(3083),
    [anon_sym_consuming] = ACTIONS(3083),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3083),
    [sym__explicit_semi] = ACTIONS(3083),
    [sym__dot_custom] = ACTIONS(3083),
    [sym__conjunction_operator_custom] = ACTIONS(3083),
    [sym__disjunction_operator_custom] = ACTIONS(3083),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3083),
    [sym__eq_custom] = ACTIONS(3083),
    [sym__eq_eq_custom] = ACTIONS(3083),
    [sym__plus_then_ws] = ACTIONS(3083),
    [sym__minus_then_ws] = ACTIONS(3083),
    [sym__bang_custom] = ACTIONS(3083),
    [sym_default_keyword] = ACTIONS(3083),
    [sym_where_keyword] = ACTIONS(3083),
    [sym__as_custom] = ACTIONS(3083),
    [sym__as_quest_custom] = ACTIONS(3083),
    [sym__as_bang_custom] = ACTIONS(3083),
    [sym__custom_operator] = ACTIONS(3083),
  },
  [1161] = {
    [anon_sym_BANG] = ACTIONS(3248),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3250),
    [anon_sym_package] = ACTIONS(3250),
    [anon_sym_COMMA] = ACTIONS(3250),
    [anon_sym_LPAREN] = ACTIONS(3250),
    [anon_sym_LBRACK] = ACTIONS(3250),
    [anon_sym_DOT] = ACTIONS(3248),
    [anon_sym_QMARK] = ACTIONS(3248),
    [anon_sym_QMARK2] = ACTIONS(3250),
    [anon_sym_AMP] = ACTIONS(3250),
    [aux_sym_custom_operator_token1] = ACTIONS(3250),
    [anon_sym_LT] = ACTIONS(3248),
    [anon_sym_GT] = ACTIONS(3248),
    [anon_sym_LBRACE] = ACTIONS(3250),
    [anon_sym_CARET_LBRACE] = ACTIONS(3250),
    [anon_sym_RBRACE] = ACTIONS(3250),
    [anon_sym_self] = ACTIONS(3250),
    [anon_sym_case] = ACTIONS(3250),
    [anon_sym_fallthrough] = ACTIONS(3250),
    [anon_sym_PLUS_EQ] = ACTIONS(3250),
    [anon_sym_DASH_EQ] = ACTIONS(3250),
    [anon_sym_STAR_EQ] = ACTIONS(3250),
    [anon_sym_SLASH_EQ] = ACTIONS(3250),
    [anon_sym_PERCENT_EQ] = ACTIONS(3250),
    [anon_sym_BANG_EQ] = ACTIONS(3248),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3250),
    [anon_sym_LT_EQ] = ACTIONS(3250),
    [anon_sym_GT_EQ] = ACTIONS(3250),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3250),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3250),
    [anon_sym_is] = ACTIONS(3250),
    [anon_sym_PLUS] = ACTIONS(3248),
    [anon_sym_DASH] = ACTIONS(3248),
    [anon_sym_STAR] = ACTIONS(3248),
    [anon_sym_SLASH] = ACTIONS(3248),
    [anon_sym_PERCENT] = ACTIONS(3248),
    [anon_sym_PLUS_PLUS] = ACTIONS(3250),
    [anon_sym_DASH_DASH] = ACTIONS(3250),
    [anon_sym_PIPE] = ACTIONS(3250),
    [anon_sym_CARET] = ACTIONS(3248),
    [anon_sym_LT_LT] = ACTIONS(3250),
    [anon_sym_GT_GT] = ACTIONS(3250),
    [anon_sym_class] = ACTIONS(3250),
    [anon_sym_prefix] = ACTIONS(3250),
    [anon_sym_infix] = ACTIONS(3250),
    [anon_sym_postfix] = ACTIONS(3250),
    [anon_sym_AT] = ACTIONS(3248),
    [anon_sym_override] = ACTIONS(3250),
    [anon_sym_convenience] = ACTIONS(3250),
    [anon_sym_required] = ACTIONS(3250),
    [anon_sym_nonisolated] = ACTIONS(3250),
    [anon_sym_public] = ACTIONS(3250),
    [anon_sym_private] = ACTIONS(3250),
    [anon_sym_internal] = ACTIONS(3250),
    [anon_sym_fileprivate] = ACTIONS(3250),
    [anon_sym_open] = ACTIONS(3250),
    [anon_sym_mutating] = ACTIONS(3250),
    [anon_sym_nonmutating] = ACTIONS(3250),
    [anon_sym_static] = ACTIONS(3250),
    [anon_sym_dynamic] = ACTIONS(3250),
    [anon_sym_optional] = ACTIONS(3250),
    [anon_sym_distributed] = ACTIONS(3250),
    [anon_sym_final] = ACTIONS(3250),
    [anon_sym_inout] = ACTIONS(3250),
    [anon_sym_ATescaping] = ACTIONS(3250),
    [anon_sym_ATautoclosure] = ACTIONS(3250),
    [anon_sym_weak] = ACTIONS(3250),
    [anon_sym_unowned] = ACTIONS(3248),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3250),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3250),
    [anon_sym_borrowing] = ACTIONS(3250),
    [anon_sym_consuming] = ACTIONS(3250),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3250),
    [sym__explicit_semi] = ACTIONS(3250),
    [sym__dot_custom] = ACTIONS(3250),
    [sym__conjunction_operator_custom] = ACTIONS(3250),
    [sym__disjunction_operator_custom] = ACTIONS(3250),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3250),
    [sym__eq_custom] = ACTIONS(3250),
    [sym__eq_eq_custom] = ACTIONS(3250),
    [sym__plus_then_ws] = ACTIONS(3250),
    [sym__minus_then_ws] = ACTIONS(3250),
    [sym__bang_custom] = ACTIONS(3250),
    [sym_default_keyword] = ACTIONS(3250),
    [sym_where_keyword] = ACTIONS(3250),
    [sym__as_custom] = ACTIONS(3250),
    [sym__as_quest_custom] = ACTIONS(3250),
    [sym__as_bang_custom] = ACTIONS(3250),
    [sym__custom_operator] = ACTIONS(3250),
  },
  [1162] = {
    [aux_sym_key_path_expression_repeat1] = STATE(1175),
    [anon_sym_BANG] = ACTIONS(3244),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3246),
    [anon_sym_package] = ACTIONS(3246),
    [anon_sym_COMMA] = ACTIONS(3246),
    [anon_sym_LPAREN] = ACTIONS(3246),
    [anon_sym_LBRACK] = ACTIONS(3246),
    [anon_sym_DOT] = ACTIONS(3499),
    [anon_sym_QMARK] = ACTIONS(3244),
    [anon_sym_QMARK2] = ACTIONS(3246),
    [anon_sym_AMP] = ACTIONS(3246),
    [aux_sym_custom_operator_token1] = ACTIONS(3246),
    [anon_sym_LT] = ACTIONS(3244),
    [anon_sym_GT] = ACTIONS(3244),
    [anon_sym_LBRACE] = ACTIONS(3246),
    [anon_sym_CARET_LBRACE] = ACTIONS(3246),
    [anon_sym_RBRACE] = ACTIONS(3246),
    [anon_sym_case] = ACTIONS(3246),
    [anon_sym_fallthrough] = ACTIONS(3246),
    [anon_sym_PLUS_EQ] = ACTIONS(3246),
    [anon_sym_DASH_EQ] = ACTIONS(3246),
    [anon_sym_STAR_EQ] = ACTIONS(3246),
    [anon_sym_SLASH_EQ] = ACTIONS(3246),
    [anon_sym_PERCENT_EQ] = ACTIONS(3246),
    [anon_sym_BANG_EQ] = ACTIONS(3244),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3246),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3246),
    [anon_sym_LT_EQ] = ACTIONS(3246),
    [anon_sym_GT_EQ] = ACTIONS(3246),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3246),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3246),
    [anon_sym_is] = ACTIONS(3246),
    [anon_sym_PLUS] = ACTIONS(3244),
    [anon_sym_DASH] = ACTIONS(3244),
    [anon_sym_STAR] = ACTIONS(3244),
    [anon_sym_SLASH] = ACTIONS(3244),
    [anon_sym_PERCENT] = ACTIONS(3244),
    [anon_sym_PLUS_PLUS] = ACTIONS(3246),
    [anon_sym_DASH_DASH] = ACTIONS(3246),
    [anon_sym_PIPE] = ACTIONS(3246),
    [anon_sym_CARET] = ACTIONS(3244),
    [anon_sym_LT_LT] = ACTIONS(3246),
    [anon_sym_GT_GT] = ACTIONS(3246),
    [anon_sym_class] = ACTIONS(3246),
    [anon_sym_prefix] = ACTIONS(3246),
    [anon_sym_infix] = ACTIONS(3246),
    [anon_sym_postfix] = ACTIONS(3246),
    [anon_sym_AT] = ACTIONS(3244),
    [anon_sym_override] = ACTIONS(3246),
    [anon_sym_convenience] = ACTIONS(3246),
    [anon_sym_required] = ACTIONS(3246),
    [anon_sym_nonisolated] = ACTIONS(3246),
    [anon_sym_public] = ACTIONS(3246),
    [anon_sym_private] = ACTIONS(3246),
    [anon_sym_internal] = ACTIONS(3246),
    [anon_sym_fileprivate] = ACTIONS(3246),
    [anon_sym_open] = ACTIONS(3246),
    [anon_sym_mutating] = ACTIONS(3246),
    [anon_sym_nonmutating] = ACTIONS(3246),
    [anon_sym_static] = ACTIONS(3246),
    [anon_sym_dynamic] = ACTIONS(3246),
    [anon_sym_optional] = ACTIONS(3246),
    [anon_sym_distributed] = ACTIONS(3246),
    [anon_sym_final] = ACTIONS(3246),
    [anon_sym_inout] = ACTIONS(3246),
    [anon_sym_ATescaping] = ACTIONS(3246),
    [anon_sym_ATautoclosure] = ACTIONS(3246),
    [anon_sym_weak] = ACTIONS(3246),
    [anon_sym_unowned] = ACTIONS(3244),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3246),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3246),
    [anon_sym_borrowing] = ACTIONS(3246),
    [anon_sym_consuming] = ACTIONS(3246),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3246),
    [sym__explicit_semi] = ACTIONS(3246),
    [sym__dot_custom] = ACTIONS(3246),
    [sym__conjunction_operator_custom] = ACTIONS(3246),
    [sym__disjunction_operator_custom] = ACTIONS(3246),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3246),
    [sym__eq_custom] = ACTIONS(3246),
    [sym__eq_eq_custom] = ACTIONS(3246),
    [sym__plus_then_ws] = ACTIONS(3246),
    [sym__minus_then_ws] = ACTIONS(3246),
    [sym__bang_custom] = ACTIONS(3246),
    [sym_default_keyword] = ACTIONS(3246),
    [sym_where_keyword] = ACTIONS(3246),
    [sym__as_custom] = ACTIONS(3246),
    [sym__as_quest_custom] = ACTIONS(3246),
    [sym__as_bang_custom] = ACTIONS(3246),
    [sym__custom_operator] = ACTIONS(3246),
  },
  [1163] = {
    [anon_sym_BANG] = ACTIONS(2665),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2665),
    [aux_sym_simple_identifier_token2] = ACTIONS(2667),
    [aux_sym_simple_identifier_token3] = ACTIONS(2667),
    [aux_sym_simple_identifier_token4] = ACTIONS(2667),
    [anon_sym_actor] = ACTIONS(2665),
    [anon_sym_async] = ACTIONS(2665),
    [anon_sym_each] = ACTIONS(2665),
    [anon_sym_lazy] = ACTIONS(2665),
    [anon_sym_repeat] = ACTIONS(2665),
    [anon_sym_package] = ACTIONS(2665),
    [anon_sym_nil] = ACTIONS(2665),
    [sym_real_literal] = ACTIONS(2667),
    [sym_integer_literal] = ACTIONS(2665),
    [sym_hex_literal] = ACTIONS(2665),
    [sym_oct_literal] = ACTIONS(2667),
    [sym_bin_literal] = ACTIONS(2667),
    [anon_sym_true] = ACTIONS(2665),
    [anon_sym_false] = ACTIONS(2665),
    [anon_sym_DQUOTE] = ACTIONS(2665),
    [anon_sym_BSLASH] = ACTIONS(2667),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2667),
    [anon_sym_COMMA] = ACTIONS(2669),
    [sym__oneline_regex_literal] = ACTIONS(2665),
    [anon_sym_LPAREN] = ACTIONS(2667),
    [anon_sym_LBRACK] = ACTIONS(2667),
    [anon_sym_QMARK] = ACTIONS(2671),
    [anon_sym_QMARK2] = ACTIONS(2669),
    [anon_sym_AMP] = ACTIONS(2667),
    [anon_sym_TILDE] = ACTIONS(2667),
    [anon_sym_if] = ACTIONS(2665),
    [anon_sym_switch] = ACTIONS(2665),
    [aux_sym_custom_operator_token1] = ACTIONS(2667),
    [anon_sym_LT] = ACTIONS(2665),
    [anon_sym_GT] = ACTIONS(2665),
    [anon_sym_await] = ACTIONS(2665),
    [anon_sym_LBRACE] = ACTIONS(2667),
    [anon_sym_CARET_LBRACE] = ACTIONS(2667),
    [anon_sym_RBRACE] = ACTIONS(2669),
    [anon_sym_self] = ACTIONS(2665),
    [anon_sym_super] = ACTIONS(2665),
    [anon_sym_try] = ACTIONS(2665),
    [anon_sym_PLUS_EQ] = ACTIONS(2667),
    [anon_sym_DASH_EQ] = ACTIONS(2667),
    [anon_sym_STAR_EQ] = ACTIONS(2667),
    [anon_sym_SLASH_EQ] = ACTIONS(2667),
    [anon_sym_PERCENT_EQ] = ACTIONS(2667),
    [anon_sym_BANG_EQ] = ACTIONS(2665),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2667),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2667),
    [anon_sym_LT_EQ] = ACTIONS(2667),
    [anon_sym_GT_EQ] = ACTIONS(2667),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2667),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2667),
    [anon_sym_is] = ACTIONS(2671),
    [anon_sym_PLUS] = ACTIONS(2665),
    [anon_sym_DASH] = ACTIONS(2665),
    [anon_sym_STAR] = ACTIONS(2665),
    [anon_sym_SLASH] = ACTIONS(2665),
    [anon_sym_PERCENT] = ACTIONS(2665),
    [anon_sym_PLUS_PLUS] = ACTIONS(2667),
    [anon_sym_DASH_DASH] = ACTIONS(2667),
    [anon_sym_PIPE] = ACTIONS(2667),
    [anon_sym_CARET] = ACTIONS(2665),
    [anon_sym_LT_LT] = ACTIONS(2667),
    [anon_sym_GT_GT] = ACTIONS(2667),
    [anon_sym_borrowing] = ACTIONS(2665),
    [anon_sym_consuming] = ACTIONS(2665),
    [sym_multiline_comment] = ACTIONS(2669),
    [sym_raw_str_part] = ACTIONS(2667),
    [sym_raw_str_end_part] = ACTIONS(2667),
    [sym__implicit_semi] = ACTIONS(2669),
    [sym__explicit_semi] = ACTIONS(2669),
    [sym__dot_custom] = ACTIONS(2667),
    [sym__conjunction_operator_custom] = ACTIONS(2669),
    [sym__disjunction_operator_custom] = ACTIONS(2669),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2669),
    [sym__eq_custom] = ACTIONS(2667),
    [sym__eq_eq_custom] = ACTIONS(2667),
    [sym__plus_then_ws] = ACTIONS(2667),
    [sym__minus_then_ws] = ACTIONS(2667),
    [sym__bang_custom] = ACTIONS(2667),
    [sym__as_custom] = ACTIONS(2669),
    [sym__as_quest_custom] = ACTIONS(2669),
    [sym__as_bang_custom] = ACTIONS(2669),
    [sym__custom_operator] = ACTIONS(2667),
    [sym__hash_symbol_custom] = ACTIONS(2667),
    [sym__directive_if] = ACTIONS(2667),
    [sym__directive_elseif] = ACTIONS(2667),
    [sym__directive_else] = ACTIONS(2667),
    [sym__directive_endif] = ACTIONS(2667),
  },
  [1164] = {
    [anon_sym_BANG] = ACTIONS(2661),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2661),
    [aux_sym_simple_identifier_token2] = ACTIONS(2663),
    [aux_sym_simple_identifier_token3] = ACTIONS(2663),
    [aux_sym_simple_identifier_token4] = ACTIONS(2663),
    [anon_sym_actor] = ACTIONS(2661),
    [anon_sym_async] = ACTIONS(2661),
    [anon_sym_each] = ACTIONS(2661),
    [anon_sym_lazy] = ACTIONS(2661),
    [anon_sym_repeat] = ACTIONS(2661),
    [anon_sym_package] = ACTIONS(2661),
    [anon_sym_nil] = ACTIONS(2661),
    [sym_real_literal] = ACTIONS(2663),
    [sym_integer_literal] = ACTIONS(2661),
    [sym_hex_literal] = ACTIONS(2661),
    [sym_oct_literal] = ACTIONS(2663),
    [sym_bin_literal] = ACTIONS(2663),
    [anon_sym_true] = ACTIONS(2661),
    [anon_sym_false] = ACTIONS(2661),
    [anon_sym_DQUOTE] = ACTIONS(2661),
    [anon_sym_BSLASH] = ACTIONS(2663),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2663),
    [anon_sym_RPAREN] = ACTIONS(2663),
    [anon_sym_COMMA] = ACTIONS(2663),
    [sym__oneline_regex_literal] = ACTIONS(2661),
    [anon_sym_COLON] = ACTIONS(2663),
    [anon_sym_LPAREN] = ACTIONS(2663),
    [anon_sym_LBRACK] = ACTIONS(2663),
    [anon_sym_RBRACK] = ACTIONS(2663),
    [anon_sym_QMARK] = ACTIONS(2661),
    [anon_sym_QMARK2] = ACTIONS(2663),
    [anon_sym_AMP] = ACTIONS(2663),
    [anon_sym_TILDE] = ACTIONS(2663),
    [anon_sym_if] = ACTIONS(2661),
    [anon_sym_switch] = ACTIONS(2661),
    [aux_sym_custom_operator_token1] = ACTIONS(2663),
    [anon_sym_LT] = ACTIONS(2661),
    [anon_sym_GT] = ACTIONS(2661),
    [anon_sym_await] = ACTIONS(2661),
    [anon_sym_LBRACE] = ACTIONS(2663),
    [anon_sym_CARET_LBRACE] = ACTIONS(2663),
    [anon_sym_self] = ACTIONS(2661),
    [anon_sym_super] = ACTIONS(2661),
    [anon_sym_try] = ACTIONS(2661),
    [anon_sym_PLUS_EQ] = ACTIONS(2663),
    [anon_sym_DASH_EQ] = ACTIONS(2663),
    [anon_sym_STAR_EQ] = ACTIONS(2663),
    [anon_sym_SLASH_EQ] = ACTIONS(2663),
    [anon_sym_PERCENT_EQ] = ACTIONS(2663),
    [anon_sym_BANG_EQ] = ACTIONS(2661),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2663),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2663),
    [anon_sym_LT_EQ] = ACTIONS(2663),
    [anon_sym_GT_EQ] = ACTIONS(2663),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2663),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2663),
    [anon_sym_is] = ACTIONS(2661),
    [anon_sym_PLUS] = ACTIONS(2661),
    [anon_sym_DASH] = ACTIONS(2661),
    [anon_sym_STAR] = ACTIONS(2661),
    [anon_sym_SLASH] = ACTIONS(2661),
    [anon_sym_PERCENT] = ACTIONS(2661),
    [anon_sym_PLUS_PLUS] = ACTIONS(2663),
    [anon_sym_DASH_DASH] = ACTIONS(2663),
    [anon_sym_PIPE] = ACTIONS(2663),
    [anon_sym_CARET] = ACTIONS(2661),
    [anon_sym_LT_LT] = ACTIONS(2663),
    [anon_sym_GT_GT] = ACTIONS(2663),
    [anon_sym_borrowing] = ACTIONS(2661),
    [anon_sym_consuming] = ACTIONS(2661),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2663),
    [sym_raw_str_end_part] = ACTIONS(2663),
    [sym__dot_custom] = ACTIONS(2663),
    [sym__conjunction_operator_custom] = ACTIONS(2663),
    [sym__disjunction_operator_custom] = ACTIONS(2663),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2663),
    [sym__eq_custom] = ACTIONS(2663),
    [sym__eq_eq_custom] = ACTIONS(2663),
    [sym__plus_then_ws] = ACTIONS(2663),
    [sym__minus_then_ws] = ACTIONS(2663),
    [sym__bang_custom] = ACTIONS(2663),
    [sym__as_custom] = ACTIONS(2663),
    [sym__as_quest_custom] = ACTIONS(2663),
    [sym__as_bang_custom] = ACTIONS(2663),
    [sym__custom_operator] = ACTIONS(2663),
    [sym__hash_symbol_custom] = ACTIONS(2663),
    [sym__directive_if] = ACTIONS(2663),
    [sym__directive_elseif] = ACTIONS(2663),
    [sym__directive_else] = ACTIONS(2663),
    [sym__directive_endif] = ACTIONS(2663),
  },
  [1165] = {
    [anon_sym_BANG] = ACTIONS(2657),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2657),
    [aux_sym_simple_identifier_token2] = ACTIONS(2659),
    [aux_sym_simple_identifier_token3] = ACTIONS(2659),
    [aux_sym_simple_identifier_token4] = ACTIONS(2659),
    [anon_sym_actor] = ACTIONS(2657),
    [anon_sym_async] = ACTIONS(2657),
    [anon_sym_each] = ACTIONS(2657),
    [anon_sym_lazy] = ACTIONS(2657),
    [anon_sym_repeat] = ACTIONS(2657),
    [anon_sym_package] = ACTIONS(2657),
    [anon_sym_nil] = ACTIONS(2657),
    [sym_real_literal] = ACTIONS(2659),
    [sym_integer_literal] = ACTIONS(2657),
    [sym_hex_literal] = ACTIONS(2657),
    [sym_oct_literal] = ACTIONS(2659),
    [sym_bin_literal] = ACTIONS(2659),
    [anon_sym_true] = ACTIONS(2657),
    [anon_sym_false] = ACTIONS(2657),
    [anon_sym_DQUOTE] = ACTIONS(2657),
    [anon_sym_BSLASH] = ACTIONS(2659),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2659),
    [anon_sym_RPAREN] = ACTIONS(2659),
    [anon_sym_COMMA] = ACTIONS(2659),
    [sym__oneline_regex_literal] = ACTIONS(2657),
    [anon_sym_COLON] = ACTIONS(2659),
    [anon_sym_LPAREN] = ACTIONS(2659),
    [anon_sym_LBRACK] = ACTIONS(2659),
    [anon_sym_RBRACK] = ACTIONS(2659),
    [anon_sym_QMARK] = ACTIONS(2657),
    [anon_sym_QMARK2] = ACTIONS(2659),
    [anon_sym_AMP] = ACTIONS(2659),
    [anon_sym_TILDE] = ACTIONS(2659),
    [anon_sym_if] = ACTIONS(2657),
    [anon_sym_switch] = ACTIONS(2657),
    [aux_sym_custom_operator_token1] = ACTIONS(2659),
    [anon_sym_LT] = ACTIONS(2657),
    [anon_sym_GT] = ACTIONS(2657),
    [anon_sym_await] = ACTIONS(2657),
    [anon_sym_LBRACE] = ACTIONS(2659),
    [anon_sym_CARET_LBRACE] = ACTIONS(2659),
    [anon_sym_self] = ACTIONS(2657),
    [anon_sym_super] = ACTIONS(2657),
    [anon_sym_try] = ACTIONS(2657),
    [anon_sym_PLUS_EQ] = ACTIONS(2659),
    [anon_sym_DASH_EQ] = ACTIONS(2659),
    [anon_sym_STAR_EQ] = ACTIONS(2659),
    [anon_sym_SLASH_EQ] = ACTIONS(2659),
    [anon_sym_PERCENT_EQ] = ACTIONS(2659),
    [anon_sym_BANG_EQ] = ACTIONS(2657),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2659),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2659),
    [anon_sym_LT_EQ] = ACTIONS(2659),
    [anon_sym_GT_EQ] = ACTIONS(2659),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2659),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2659),
    [anon_sym_is] = ACTIONS(2657),
    [anon_sym_PLUS] = ACTIONS(2657),
    [anon_sym_DASH] = ACTIONS(2657),
    [anon_sym_STAR] = ACTIONS(2657),
    [anon_sym_SLASH] = ACTIONS(2657),
    [anon_sym_PERCENT] = ACTIONS(2657),
    [anon_sym_PLUS_PLUS] = ACTIONS(2659),
    [anon_sym_DASH_DASH] = ACTIONS(2659),
    [anon_sym_PIPE] = ACTIONS(2659),
    [anon_sym_CARET] = ACTIONS(2657),
    [anon_sym_LT_LT] = ACTIONS(2659),
    [anon_sym_GT_GT] = ACTIONS(2659),
    [anon_sym_borrowing] = ACTIONS(2657),
    [anon_sym_consuming] = ACTIONS(2657),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2659),
    [sym_raw_str_end_part] = ACTIONS(2659),
    [sym__dot_custom] = ACTIONS(2659),
    [sym__conjunction_operator_custom] = ACTIONS(2659),
    [sym__disjunction_operator_custom] = ACTIONS(2659),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2659),
    [sym__eq_custom] = ACTIONS(2659),
    [sym__eq_eq_custom] = ACTIONS(2659),
    [sym__plus_then_ws] = ACTIONS(2659),
    [sym__minus_then_ws] = ACTIONS(2659),
    [sym__bang_custom] = ACTIONS(2659),
    [sym__as_custom] = ACTIONS(2659),
    [sym__as_quest_custom] = ACTIONS(2659),
    [sym__as_bang_custom] = ACTIONS(2659),
    [sym__custom_operator] = ACTIONS(2659),
    [sym__hash_symbol_custom] = ACTIONS(2659),
    [sym__directive_if] = ACTIONS(2659),
    [sym__directive_elseif] = ACTIONS(2659),
    [sym__directive_else] = ACTIONS(2659),
    [sym__directive_endif] = ACTIONS(2659),
  },
  [1166] = {
    [sym__conjunction_operator] = STATE(4872),
    [sym__disjunction_operator] = STATE(4872),
    [anon_sym_BANG] = ACTIONS(3252),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3254),
    [anon_sym_package] = ACTIONS(3254),
    [anon_sym_COMMA] = ACTIONS(3254),
    [anon_sym_LPAREN] = ACTIONS(3254),
    [anon_sym_LBRACK] = ACTIONS(3254),
    [anon_sym_QMARK] = ACTIONS(3252),
    [anon_sym_QMARK2] = ACTIONS(3254),
    [anon_sym_AMP] = ACTIONS(3254),
    [aux_sym_custom_operator_token1] = ACTIONS(3254),
    [anon_sym_LT] = ACTIONS(3252),
    [anon_sym_GT] = ACTIONS(3252),
    [anon_sym_LBRACE] = ACTIONS(3254),
    [anon_sym_CARET_LBRACE] = ACTIONS(3254),
    [anon_sym_RBRACE] = ACTIONS(3254),
    [anon_sym_case] = ACTIONS(3254),
    [anon_sym_fallthrough] = ACTIONS(3254),
    [anon_sym_PLUS_EQ] = ACTIONS(3254),
    [anon_sym_DASH_EQ] = ACTIONS(3254),
    [anon_sym_STAR_EQ] = ACTIONS(3254),
    [anon_sym_SLASH_EQ] = ACTIONS(3254),
    [anon_sym_PERCENT_EQ] = ACTIONS(3254),
    [anon_sym_BANG_EQ] = ACTIONS(3252),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3254),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3254),
    [anon_sym_LT_EQ] = ACTIONS(3254),
    [anon_sym_GT_EQ] = ACTIONS(3254),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3254),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3254),
    [anon_sym_is] = ACTIONS(3254),
    [anon_sym_PLUS] = ACTIONS(3252),
    [anon_sym_DASH] = ACTIONS(3252),
    [anon_sym_STAR] = ACTIONS(3252),
    [anon_sym_SLASH] = ACTIONS(3252),
    [anon_sym_PERCENT] = ACTIONS(3252),
    [anon_sym_PLUS_PLUS] = ACTIONS(3254),
    [anon_sym_DASH_DASH] = ACTIONS(3254),
    [anon_sym_PIPE] = ACTIONS(3254),
    [anon_sym_CARET] = ACTIONS(3252),
    [anon_sym_LT_LT] = ACTIONS(3254),
    [anon_sym_GT_GT] = ACTIONS(3254),
    [anon_sym_class] = ACTIONS(3254),
    [anon_sym_prefix] = ACTIONS(3254),
    [anon_sym_infix] = ACTIONS(3254),
    [anon_sym_postfix] = ACTIONS(3254),
    [anon_sym_AT] = ACTIONS(3252),
    [anon_sym_override] = ACTIONS(3254),
    [anon_sym_convenience] = ACTIONS(3254),
    [anon_sym_required] = ACTIONS(3254),
    [anon_sym_nonisolated] = ACTIONS(3254),
    [anon_sym_public] = ACTIONS(3254),
    [anon_sym_private] = ACTIONS(3254),
    [anon_sym_internal] = ACTIONS(3254),
    [anon_sym_fileprivate] = ACTIONS(3254),
    [anon_sym_open] = ACTIONS(3254),
    [anon_sym_mutating] = ACTIONS(3254),
    [anon_sym_nonmutating] = ACTIONS(3254),
    [anon_sym_static] = ACTIONS(3254),
    [anon_sym_dynamic] = ACTIONS(3254),
    [anon_sym_optional] = ACTIONS(3254),
    [anon_sym_distributed] = ACTIONS(3254),
    [anon_sym_final] = ACTIONS(3254),
    [anon_sym_inout] = ACTIONS(3254),
    [anon_sym_ATescaping] = ACTIONS(3254),
    [anon_sym_ATautoclosure] = ACTIONS(3254),
    [anon_sym_weak] = ACTIONS(3254),
    [anon_sym_unowned] = ACTIONS(3252),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3254),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3254),
    [anon_sym_borrowing] = ACTIONS(3254),
    [anon_sym_consuming] = ACTIONS(3254),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3254),
    [sym__explicit_semi] = ACTIONS(3254),
    [sym__dot_custom] = ACTIONS(3254),
    [sym__conjunction_operator_custom] = ACTIONS(4219),
    [sym__disjunction_operator_custom] = ACTIONS(4219),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3254),
    [sym__eq_custom] = ACTIONS(3254),
    [sym__eq_eq_custom] = ACTIONS(3254),
    [sym__plus_then_ws] = ACTIONS(3254),
    [sym__minus_then_ws] = ACTIONS(3254),
    [sym__bang_custom] = ACTIONS(3254),
    [sym_default_keyword] = ACTIONS(3254),
    [sym_where_keyword] = ACTIONS(3254),
    [sym__as_custom] = ACTIONS(3254),
    [sym__as_quest_custom] = ACTIONS(3254),
    [sym__as_bang_custom] = ACTIONS(3254),
    [sym__custom_operator] = ACTIONS(3254),
  },
  [1167] = {
    [anon_sym_BANG] = ACTIONS(3260),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3262),
    [anon_sym_package] = ACTIONS(3262),
    [anon_sym_COMMA] = ACTIONS(3262),
    [anon_sym_LPAREN] = ACTIONS(3262),
    [anon_sym_LBRACK] = ACTIONS(3262),
    [anon_sym_DOT] = ACTIONS(3260),
    [anon_sym_QMARK] = ACTIONS(3260),
    [anon_sym_QMARK2] = ACTIONS(3262),
    [anon_sym_AMP] = ACTIONS(3262),
    [aux_sym_custom_operator_token1] = ACTIONS(3262),
    [anon_sym_LT] = ACTIONS(3260),
    [anon_sym_GT] = ACTIONS(3260),
    [anon_sym_LBRACE] = ACTIONS(3262),
    [anon_sym_CARET_LBRACE] = ACTIONS(3262),
    [anon_sym_RBRACE] = ACTIONS(3262),
    [anon_sym_self] = ACTIONS(3262),
    [anon_sym_case] = ACTIONS(3262),
    [anon_sym_fallthrough] = ACTIONS(3262),
    [anon_sym_PLUS_EQ] = ACTIONS(3262),
    [anon_sym_DASH_EQ] = ACTIONS(3262),
    [anon_sym_STAR_EQ] = ACTIONS(3262),
    [anon_sym_SLASH_EQ] = ACTIONS(3262),
    [anon_sym_PERCENT_EQ] = ACTIONS(3262),
    [anon_sym_BANG_EQ] = ACTIONS(3260),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3262),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3262),
    [anon_sym_LT_EQ] = ACTIONS(3262),
    [anon_sym_GT_EQ] = ACTIONS(3262),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3262),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3262),
    [anon_sym_is] = ACTIONS(3262),
    [anon_sym_PLUS] = ACTIONS(3260),
    [anon_sym_DASH] = ACTIONS(3260),
    [anon_sym_STAR] = ACTIONS(3260),
    [anon_sym_SLASH] = ACTIONS(3260),
    [anon_sym_PERCENT] = ACTIONS(3260),
    [anon_sym_PLUS_PLUS] = ACTIONS(3262),
    [anon_sym_DASH_DASH] = ACTIONS(3262),
    [anon_sym_PIPE] = ACTIONS(3262),
    [anon_sym_CARET] = ACTIONS(3260),
    [anon_sym_LT_LT] = ACTIONS(3262),
    [anon_sym_GT_GT] = ACTIONS(3262),
    [anon_sym_class] = ACTIONS(3262),
    [anon_sym_prefix] = ACTIONS(3262),
    [anon_sym_infix] = ACTIONS(3262),
    [anon_sym_postfix] = ACTIONS(3262),
    [anon_sym_AT] = ACTIONS(3260),
    [anon_sym_override] = ACTIONS(3262),
    [anon_sym_convenience] = ACTIONS(3262),
    [anon_sym_required] = ACTIONS(3262),
    [anon_sym_nonisolated] = ACTIONS(3262),
    [anon_sym_public] = ACTIONS(3262),
    [anon_sym_private] = ACTIONS(3262),
    [anon_sym_internal] = ACTIONS(3262),
    [anon_sym_fileprivate] = ACTIONS(3262),
    [anon_sym_open] = ACTIONS(3262),
    [anon_sym_mutating] = ACTIONS(3262),
    [anon_sym_nonmutating] = ACTIONS(3262),
    [anon_sym_static] = ACTIONS(3262),
    [anon_sym_dynamic] = ACTIONS(3262),
    [anon_sym_optional] = ACTIONS(3262),
    [anon_sym_distributed] = ACTIONS(3262),
    [anon_sym_final] = ACTIONS(3262),
    [anon_sym_inout] = ACTIONS(3262),
    [anon_sym_ATescaping] = ACTIONS(3262),
    [anon_sym_ATautoclosure] = ACTIONS(3262),
    [anon_sym_weak] = ACTIONS(3262),
    [anon_sym_unowned] = ACTIONS(3260),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3262),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3262),
    [anon_sym_borrowing] = ACTIONS(3262),
    [anon_sym_consuming] = ACTIONS(3262),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3262),
    [sym__explicit_semi] = ACTIONS(3262),
    [sym__dot_custom] = ACTIONS(3262),
    [sym__conjunction_operator_custom] = ACTIONS(3262),
    [sym__disjunction_operator_custom] = ACTIONS(3262),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3262),
    [sym__eq_custom] = ACTIONS(3262),
    [sym__eq_eq_custom] = ACTIONS(3262),
    [sym__plus_then_ws] = ACTIONS(3262),
    [sym__minus_then_ws] = ACTIONS(3262),
    [sym__bang_custom] = ACTIONS(3262),
    [sym_default_keyword] = ACTIONS(3262),
    [sym_where_keyword] = ACTIONS(3262),
    [sym__as_custom] = ACTIONS(3262),
    [sym__as_quest_custom] = ACTIONS(3262),
    [sym__as_bang_custom] = ACTIONS(3262),
    [sym__custom_operator] = ACTIONS(3262),
  },
  [1168] = {
    [sym__conjunction_operator] = STATE(4872),
    [sym__disjunction_operator] = STATE(4872),
    [anon_sym_BANG] = ACTIONS(3275),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3277),
    [anon_sym_package] = ACTIONS(3277),
    [anon_sym_COMMA] = ACTIONS(3277),
    [anon_sym_LPAREN] = ACTIONS(3277),
    [anon_sym_LBRACK] = ACTIONS(3277),
    [anon_sym_QMARK] = ACTIONS(3275),
    [anon_sym_QMARK2] = ACTIONS(3277),
    [anon_sym_AMP] = ACTIONS(3277),
    [aux_sym_custom_operator_token1] = ACTIONS(3277),
    [anon_sym_LT] = ACTIONS(3275),
    [anon_sym_GT] = ACTIONS(3275),
    [anon_sym_LBRACE] = ACTIONS(3277),
    [anon_sym_CARET_LBRACE] = ACTIONS(3277),
    [anon_sym_RBRACE] = ACTIONS(3277),
    [anon_sym_case] = ACTIONS(3277),
    [anon_sym_fallthrough] = ACTIONS(3277),
    [anon_sym_PLUS_EQ] = ACTIONS(3277),
    [anon_sym_DASH_EQ] = ACTIONS(3277),
    [anon_sym_STAR_EQ] = ACTIONS(3277),
    [anon_sym_SLASH_EQ] = ACTIONS(3277),
    [anon_sym_PERCENT_EQ] = ACTIONS(3277),
    [anon_sym_BANG_EQ] = ACTIONS(3275),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3277),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3277),
    [anon_sym_LT_EQ] = ACTIONS(3277),
    [anon_sym_GT_EQ] = ACTIONS(3277),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3277),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3277),
    [anon_sym_is] = ACTIONS(3277),
    [anon_sym_PLUS] = ACTIONS(3275),
    [anon_sym_DASH] = ACTIONS(3275),
    [anon_sym_STAR] = ACTIONS(3275),
    [anon_sym_SLASH] = ACTIONS(3275),
    [anon_sym_PERCENT] = ACTIONS(3275),
    [anon_sym_PLUS_PLUS] = ACTIONS(3277),
    [anon_sym_DASH_DASH] = ACTIONS(3277),
    [anon_sym_PIPE] = ACTIONS(3277),
    [anon_sym_CARET] = ACTIONS(3275),
    [anon_sym_LT_LT] = ACTIONS(3277),
    [anon_sym_GT_GT] = ACTIONS(3277),
    [anon_sym_class] = ACTIONS(3277),
    [anon_sym_prefix] = ACTIONS(3277),
    [anon_sym_infix] = ACTIONS(3277),
    [anon_sym_postfix] = ACTIONS(3277),
    [anon_sym_AT] = ACTIONS(3275),
    [anon_sym_override] = ACTIONS(3277),
    [anon_sym_convenience] = ACTIONS(3277),
    [anon_sym_required] = ACTIONS(3277),
    [anon_sym_nonisolated] = ACTIONS(3277),
    [anon_sym_public] = ACTIONS(3277),
    [anon_sym_private] = ACTIONS(3277),
    [anon_sym_internal] = ACTIONS(3277),
    [anon_sym_fileprivate] = ACTIONS(3277),
    [anon_sym_open] = ACTIONS(3277),
    [anon_sym_mutating] = ACTIONS(3277),
    [anon_sym_nonmutating] = ACTIONS(3277),
    [anon_sym_static] = ACTIONS(3277),
    [anon_sym_dynamic] = ACTIONS(3277),
    [anon_sym_optional] = ACTIONS(3277),
    [anon_sym_distributed] = ACTIONS(3277),
    [anon_sym_final] = ACTIONS(3277),
    [anon_sym_inout] = ACTIONS(3277),
    [anon_sym_ATescaping] = ACTIONS(3277),
    [anon_sym_ATautoclosure] = ACTIONS(3277),
    [anon_sym_weak] = ACTIONS(3277),
    [anon_sym_unowned] = ACTIONS(3275),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3277),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3277),
    [anon_sym_borrowing] = ACTIONS(3277),
    [anon_sym_consuming] = ACTIONS(3277),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3277),
    [sym__explicit_semi] = ACTIONS(3277),
    [sym__dot_custom] = ACTIONS(3277),
    [sym__conjunction_operator_custom] = ACTIONS(4219),
    [sym__disjunction_operator_custom] = ACTIONS(4219),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3277),
    [sym__eq_custom] = ACTIONS(3277),
    [sym__eq_eq_custom] = ACTIONS(3277),
    [sym__plus_then_ws] = ACTIONS(3277),
    [sym__minus_then_ws] = ACTIONS(3277),
    [sym__bang_custom] = ACTIONS(3277),
    [sym_default_keyword] = ACTIONS(3277),
    [sym_where_keyword] = ACTIONS(3277),
    [sym__as_custom] = ACTIONS(3277),
    [sym__as_quest_custom] = ACTIONS(3277),
    [sym__as_bang_custom] = ACTIONS(3277),
    [sym__custom_operator] = ACTIONS(3277),
  },
  [1169] = {
    [anon_sym_BANG] = ACTIONS(2687),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2676),
    [aux_sym_simple_identifier_token2] = ACTIONS(2678),
    [aux_sym_simple_identifier_token3] = ACTIONS(2678),
    [aux_sym_simple_identifier_token4] = ACTIONS(2678),
    [anon_sym_actor] = ACTIONS(2676),
    [anon_sym_async] = ACTIONS(2676),
    [anon_sym_each] = ACTIONS(2676),
    [anon_sym_lazy] = ACTIONS(2676),
    [anon_sym_repeat] = ACTIONS(2676),
    [anon_sym_package] = ACTIONS(2676),
    [anon_sym_nil] = ACTIONS(2676),
    [sym_real_literal] = ACTIONS(2678),
    [sym_integer_literal] = ACTIONS(2676),
    [sym_hex_literal] = ACTIONS(2676),
    [sym_oct_literal] = ACTIONS(2678),
    [sym_bin_literal] = ACTIONS(2678),
    [anon_sym_true] = ACTIONS(2676),
    [anon_sym_false] = ACTIONS(2676),
    [anon_sym_DQUOTE] = ACTIONS(2676),
    [anon_sym_BSLASH] = ACTIONS(2678),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2678),
    [anon_sym_RPAREN] = ACTIONS(2690),
    [anon_sym_COMMA] = ACTIONS(2690),
    [sym__oneline_regex_literal] = ACTIONS(2676),
    [anon_sym_COLON] = ACTIONS(2690),
    [anon_sym_LPAREN] = ACTIONS(2692),
    [anon_sym_LBRACK] = ACTIONS(2692),
    [anon_sym_RBRACK] = ACTIONS(2690),
    [anon_sym_QMARK] = ACTIONS(2695),
    [anon_sym_QMARK2] = ACTIONS(2690),
    [anon_sym_AMP] = ACTIONS(2692),
    [anon_sym_TILDE] = ACTIONS(2678),
    [anon_sym_if] = ACTIONS(2676),
    [anon_sym_switch] = ACTIONS(2676),
    [aux_sym_custom_operator_token1] = ACTIONS(2692),
    [anon_sym_LT] = ACTIONS(2687),
    [anon_sym_GT] = ACTIONS(2687),
    [anon_sym_await] = ACTIONS(2676),
    [anon_sym_LBRACE] = ACTIONS(2692),
    [anon_sym_CARET_LBRACE] = ACTIONS(2692),
    [anon_sym_self] = ACTIONS(2676),
    [anon_sym_super] = ACTIONS(2676),
    [anon_sym_try] = ACTIONS(2676),
    [anon_sym_PLUS_EQ] = ACTIONS(2692),
    [anon_sym_DASH_EQ] = ACTIONS(2692),
    [anon_sym_STAR_EQ] = ACTIONS(2692),
    [anon_sym_SLASH_EQ] = ACTIONS(2692),
    [anon_sym_PERCENT_EQ] = ACTIONS(2692),
    [anon_sym_BANG_EQ] = ACTIONS(2687),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2692),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2692),
    [anon_sym_LT_EQ] = ACTIONS(2692),
    [anon_sym_GT_EQ] = ACTIONS(2692),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2692),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2692),
    [anon_sym_is] = ACTIONS(2695),
    [anon_sym_PLUS] = ACTIONS(2687),
    [anon_sym_DASH] = ACTIONS(2687),
    [anon_sym_STAR] = ACTIONS(2687),
    [anon_sym_SLASH] = ACTIONS(2687),
    [anon_sym_PERCENT] = ACTIONS(2687),
    [anon_sym_PLUS_PLUS] = ACTIONS(2692),
    [anon_sym_DASH_DASH] = ACTIONS(2692),
    [anon_sym_PIPE] = ACTIONS(2692),
    [anon_sym_CARET] = ACTIONS(2687),
    [anon_sym_LT_LT] = ACTIONS(2692),
    [anon_sym_GT_GT] = ACTIONS(2692),
    [anon_sym_borrowing] = ACTIONS(2676),
    [anon_sym_consuming] = ACTIONS(2676),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2678),
    [sym_raw_str_end_part] = ACTIONS(2678),
    [sym__dot_custom] = ACTIONS(2692),
    [sym__conjunction_operator_custom] = ACTIONS(2690),
    [sym__disjunction_operator_custom] = ACTIONS(2690),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2690),
    [sym__eq_custom] = ACTIONS(2692),
    [sym__eq_eq_custom] = ACTIONS(2692),
    [sym__plus_then_ws] = ACTIONS(2692),
    [sym__minus_then_ws] = ACTIONS(2692),
    [sym__bang_custom] = ACTIONS(2692),
    [sym__as_custom] = ACTIONS(2690),
    [sym__as_quest_custom] = ACTIONS(2690),
    [sym__as_bang_custom] = ACTIONS(2690),
    [sym__custom_operator] = ACTIONS(2692),
    [sym__hash_symbol_custom] = ACTIONS(2678),
    [sym__directive_if] = ACTIONS(2678),
    [sym__directive_elseif] = ACTIONS(2678),
    [sym__directive_else] = ACTIONS(2678),
    [sym__directive_endif] = ACTIONS(2678),
  },
  [1170] = {
    [anon_sym_BANG] = ACTIONS(2687),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2676),
    [aux_sym_simple_identifier_token2] = ACTIONS(2678),
    [aux_sym_simple_identifier_token3] = ACTIONS(2678),
    [aux_sym_simple_identifier_token4] = ACTIONS(2678),
    [anon_sym_actor] = ACTIONS(2676),
    [anon_sym_async] = ACTIONS(2676),
    [anon_sym_each] = ACTIONS(2676),
    [anon_sym_lazy] = ACTIONS(2676),
    [anon_sym_repeat] = ACTIONS(2676),
    [anon_sym_package] = ACTIONS(2676),
    [anon_sym_nil] = ACTIONS(2676),
    [sym_real_literal] = ACTIONS(2678),
    [sym_integer_literal] = ACTIONS(2676),
    [sym_hex_literal] = ACTIONS(2676),
    [sym_oct_literal] = ACTIONS(2678),
    [sym_bin_literal] = ACTIONS(2678),
    [anon_sym_true] = ACTIONS(2676),
    [anon_sym_false] = ACTIONS(2676),
    [anon_sym_DQUOTE] = ACTIONS(2676),
    [anon_sym_BSLASH] = ACTIONS(2678),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2678),
    [anon_sym_COMMA] = ACTIONS(2690),
    [sym__oneline_regex_literal] = ACTIONS(2676),
    [anon_sym_LPAREN] = ACTIONS(2692),
    [anon_sym_LBRACK] = ACTIONS(2692),
    [anon_sym_QMARK] = ACTIONS(2695),
    [anon_sym_QMARK2] = ACTIONS(2690),
    [anon_sym_AMP] = ACTIONS(2692),
    [anon_sym_TILDE] = ACTIONS(2678),
    [anon_sym_if] = ACTIONS(2676),
    [anon_sym_switch] = ACTIONS(2676),
    [aux_sym_custom_operator_token1] = ACTIONS(2692),
    [anon_sym_LT] = ACTIONS(2687),
    [anon_sym_GT] = ACTIONS(2687),
    [anon_sym_await] = ACTIONS(2676),
    [anon_sym_LBRACE] = ACTIONS(2692),
    [anon_sym_CARET_LBRACE] = ACTIONS(2692),
    [anon_sym_RBRACE] = ACTIONS(2690),
    [anon_sym_self] = ACTIONS(2676),
    [anon_sym_super] = ACTIONS(2676),
    [anon_sym_try] = ACTIONS(2676),
    [anon_sym_PLUS_EQ] = ACTIONS(2692),
    [anon_sym_DASH_EQ] = ACTIONS(2692),
    [anon_sym_STAR_EQ] = ACTIONS(2692),
    [anon_sym_SLASH_EQ] = ACTIONS(2692),
    [anon_sym_PERCENT_EQ] = ACTIONS(2692),
    [anon_sym_BANG_EQ] = ACTIONS(2687),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2692),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2692),
    [anon_sym_LT_EQ] = ACTIONS(2692),
    [anon_sym_GT_EQ] = ACTIONS(2692),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2692),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2692),
    [anon_sym_is] = ACTIONS(2695),
    [anon_sym_PLUS] = ACTIONS(2687),
    [anon_sym_DASH] = ACTIONS(2687),
    [anon_sym_STAR] = ACTIONS(2687),
    [anon_sym_SLASH] = ACTIONS(2687),
    [anon_sym_PERCENT] = ACTIONS(2687),
    [anon_sym_PLUS_PLUS] = ACTIONS(2692),
    [anon_sym_DASH_DASH] = ACTIONS(2692),
    [anon_sym_PIPE] = ACTIONS(2692),
    [anon_sym_CARET] = ACTIONS(2687),
    [anon_sym_LT_LT] = ACTIONS(2692),
    [anon_sym_GT_GT] = ACTIONS(2692),
    [anon_sym_borrowing] = ACTIONS(2676),
    [anon_sym_consuming] = ACTIONS(2676),
    [sym_multiline_comment] = ACTIONS(2690),
    [sym_raw_str_part] = ACTIONS(2678),
    [sym_raw_str_end_part] = ACTIONS(2678),
    [sym__implicit_semi] = ACTIONS(2690),
    [sym__explicit_semi] = ACTIONS(2690),
    [sym__dot_custom] = ACTIONS(2692),
    [sym__conjunction_operator_custom] = ACTIONS(2690),
    [sym__disjunction_operator_custom] = ACTIONS(2690),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2690),
    [sym__eq_custom] = ACTIONS(2692),
    [sym__eq_eq_custom] = ACTIONS(2692),
    [sym__plus_then_ws] = ACTIONS(2692),
    [sym__minus_then_ws] = ACTIONS(2692),
    [sym__bang_custom] = ACTIONS(2692),
    [sym__as_custom] = ACTIONS(2690),
    [sym__as_quest_custom] = ACTIONS(2690),
    [sym__as_bang_custom] = ACTIONS(2690),
    [sym__custom_operator] = ACTIONS(2692),
    [sym__hash_symbol_custom] = ACTIONS(2678),
    [sym__directive_if] = ACTIONS(2678),
    [sym__directive_elseif] = ACTIONS(2678),
    [sym__directive_else] = ACTIONS(2678),
    [sym__directive_endif] = ACTIONS(2678),
  },
  [1171] = {
    [anon_sym_BANG] = ACTIONS(2653),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2653),
    [aux_sym_simple_identifier_token2] = ACTIONS(2655),
    [aux_sym_simple_identifier_token3] = ACTIONS(2655),
    [aux_sym_simple_identifier_token4] = ACTIONS(2655),
    [anon_sym_actor] = ACTIONS(2653),
    [anon_sym_async] = ACTIONS(2653),
    [anon_sym_each] = ACTIONS(2653),
    [anon_sym_lazy] = ACTIONS(2653),
    [anon_sym_repeat] = ACTIONS(2653),
    [anon_sym_package] = ACTIONS(2653),
    [anon_sym_nil] = ACTIONS(2653),
    [sym_real_literal] = ACTIONS(2655),
    [sym_integer_literal] = ACTIONS(2653),
    [sym_hex_literal] = ACTIONS(2653),
    [sym_oct_literal] = ACTIONS(2655),
    [sym_bin_literal] = ACTIONS(2655),
    [anon_sym_true] = ACTIONS(2653),
    [anon_sym_false] = ACTIONS(2653),
    [anon_sym_DQUOTE] = ACTIONS(2653),
    [anon_sym_BSLASH] = ACTIONS(2655),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2655),
    [anon_sym_RPAREN] = ACTIONS(2655),
    [anon_sym_COMMA] = ACTIONS(2655),
    [sym__oneline_regex_literal] = ACTIONS(2653),
    [anon_sym_COLON] = ACTIONS(2655),
    [anon_sym_LPAREN] = ACTIONS(2655),
    [anon_sym_LBRACK] = ACTIONS(2655),
    [anon_sym_RBRACK] = ACTIONS(2655),
    [anon_sym_QMARK] = ACTIONS(2653),
    [anon_sym_QMARK2] = ACTIONS(2655),
    [anon_sym_AMP] = ACTIONS(2655),
    [anon_sym_TILDE] = ACTIONS(2655),
    [anon_sym_if] = ACTIONS(2653),
    [anon_sym_switch] = ACTIONS(2653),
    [aux_sym_custom_operator_token1] = ACTIONS(2655),
    [anon_sym_LT] = ACTIONS(2653),
    [anon_sym_GT] = ACTIONS(2653),
    [anon_sym_await] = ACTIONS(2653),
    [anon_sym_LBRACE] = ACTIONS(2655),
    [anon_sym_CARET_LBRACE] = ACTIONS(2655),
    [anon_sym_self] = ACTIONS(2653),
    [anon_sym_super] = ACTIONS(2653),
    [anon_sym_try] = ACTIONS(2653),
    [anon_sym_PLUS_EQ] = ACTIONS(2655),
    [anon_sym_DASH_EQ] = ACTIONS(2655),
    [anon_sym_STAR_EQ] = ACTIONS(2655),
    [anon_sym_SLASH_EQ] = ACTIONS(2655),
    [anon_sym_PERCENT_EQ] = ACTIONS(2655),
    [anon_sym_BANG_EQ] = ACTIONS(2653),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2655),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2655),
    [anon_sym_LT_EQ] = ACTIONS(2655),
    [anon_sym_GT_EQ] = ACTIONS(2655),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2655),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2655),
    [anon_sym_is] = ACTIONS(2653),
    [anon_sym_PLUS] = ACTIONS(2653),
    [anon_sym_DASH] = ACTIONS(2653),
    [anon_sym_STAR] = ACTIONS(2653),
    [anon_sym_SLASH] = ACTIONS(2653),
    [anon_sym_PERCENT] = ACTIONS(2653),
    [anon_sym_PLUS_PLUS] = ACTIONS(2655),
    [anon_sym_DASH_DASH] = ACTIONS(2655),
    [anon_sym_PIPE] = ACTIONS(2655),
    [anon_sym_CARET] = ACTIONS(2653),
    [anon_sym_LT_LT] = ACTIONS(2655),
    [anon_sym_GT_GT] = ACTIONS(2655),
    [anon_sym_borrowing] = ACTIONS(2653),
    [anon_sym_consuming] = ACTIONS(2653),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2655),
    [sym_raw_str_end_part] = ACTIONS(2655),
    [sym__dot_custom] = ACTIONS(2655),
    [sym__conjunction_operator_custom] = ACTIONS(2655),
    [sym__disjunction_operator_custom] = ACTIONS(2655),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2655),
    [sym__eq_custom] = ACTIONS(2655),
    [sym__eq_eq_custom] = ACTIONS(2655),
    [sym__plus_then_ws] = ACTIONS(2655),
    [sym__minus_then_ws] = ACTIONS(2655),
    [sym__bang_custom] = ACTIONS(2655),
    [sym__as_custom] = ACTIONS(2655),
    [sym__as_quest_custom] = ACTIONS(2655),
    [sym__as_bang_custom] = ACTIONS(2655),
    [sym__custom_operator] = ACTIONS(2655),
    [sym__hash_symbol_custom] = ACTIONS(2655),
    [sym__directive_if] = ACTIONS(2655),
    [sym__directive_elseif] = ACTIONS(2655),
    [sym__directive_else] = ACTIONS(2655),
    [sym__directive_endif] = ACTIONS(2655),
  },
  [1172] = {
    [anon_sym_BANG] = ACTIONS(2665),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2665),
    [aux_sym_simple_identifier_token2] = ACTIONS(2667),
    [aux_sym_simple_identifier_token3] = ACTIONS(2667),
    [aux_sym_simple_identifier_token4] = ACTIONS(2667),
    [anon_sym_actor] = ACTIONS(2665),
    [anon_sym_async] = ACTIONS(2665),
    [anon_sym_each] = ACTIONS(2665),
    [anon_sym_lazy] = ACTIONS(2665),
    [anon_sym_repeat] = ACTIONS(2665),
    [anon_sym_package] = ACTIONS(2665),
    [anon_sym_nil] = ACTIONS(2665),
    [sym_real_literal] = ACTIONS(2667),
    [sym_integer_literal] = ACTIONS(2665),
    [sym_hex_literal] = ACTIONS(2665),
    [sym_oct_literal] = ACTIONS(2667),
    [sym_bin_literal] = ACTIONS(2667),
    [anon_sym_true] = ACTIONS(2665),
    [anon_sym_false] = ACTIONS(2665),
    [anon_sym_DQUOTE] = ACTIONS(2665),
    [anon_sym_BSLASH] = ACTIONS(2667),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2667),
    [anon_sym_RPAREN] = ACTIONS(2697),
    [anon_sym_COMMA] = ACTIONS(2697),
    [sym__oneline_regex_literal] = ACTIONS(2665),
    [anon_sym_COLON] = ACTIONS(2697),
    [anon_sym_LPAREN] = ACTIONS(2667),
    [anon_sym_LBRACK] = ACTIONS(2667),
    [anon_sym_RBRACK] = ACTIONS(2697),
    [anon_sym_QMARK] = ACTIONS(2699),
    [anon_sym_QMARK2] = ACTIONS(2697),
    [anon_sym_AMP] = ACTIONS(2667),
    [anon_sym_TILDE] = ACTIONS(2667),
    [anon_sym_if] = ACTIONS(2665),
    [anon_sym_switch] = ACTIONS(2665),
    [aux_sym_custom_operator_token1] = ACTIONS(2667),
    [anon_sym_LT] = ACTIONS(2665),
    [anon_sym_GT] = ACTIONS(2665),
    [anon_sym_await] = ACTIONS(2665),
    [anon_sym_LBRACE] = ACTIONS(2667),
    [anon_sym_CARET_LBRACE] = ACTIONS(2667),
    [anon_sym_self] = ACTIONS(2665),
    [anon_sym_super] = ACTIONS(2665),
    [anon_sym_try] = ACTIONS(2665),
    [anon_sym_PLUS_EQ] = ACTIONS(2667),
    [anon_sym_DASH_EQ] = ACTIONS(2667),
    [anon_sym_STAR_EQ] = ACTIONS(2667),
    [anon_sym_SLASH_EQ] = ACTIONS(2667),
    [anon_sym_PERCENT_EQ] = ACTIONS(2667),
    [anon_sym_BANG_EQ] = ACTIONS(2665),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2667),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2667),
    [anon_sym_LT_EQ] = ACTIONS(2667),
    [anon_sym_GT_EQ] = ACTIONS(2667),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2667),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2667),
    [anon_sym_is] = ACTIONS(2699),
    [anon_sym_PLUS] = ACTIONS(2665),
    [anon_sym_DASH] = ACTIONS(2665),
    [anon_sym_STAR] = ACTIONS(2665),
    [anon_sym_SLASH] = ACTIONS(2665),
    [anon_sym_PERCENT] = ACTIONS(2665),
    [anon_sym_PLUS_PLUS] = ACTIONS(2667),
    [anon_sym_DASH_DASH] = ACTIONS(2667),
    [anon_sym_PIPE] = ACTIONS(2667),
    [anon_sym_CARET] = ACTIONS(2665),
    [anon_sym_LT_LT] = ACTIONS(2667),
    [anon_sym_GT_GT] = ACTIONS(2667),
    [anon_sym_borrowing] = ACTIONS(2665),
    [anon_sym_consuming] = ACTIONS(2665),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2667),
    [sym_raw_str_end_part] = ACTIONS(2667),
    [sym__dot_custom] = ACTIONS(2667),
    [sym__conjunction_operator_custom] = ACTIONS(2697),
    [sym__disjunction_operator_custom] = ACTIONS(2697),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2697),
    [sym__eq_custom] = ACTIONS(2667),
    [sym__eq_eq_custom] = ACTIONS(2667),
    [sym__plus_then_ws] = ACTIONS(2667),
    [sym__minus_then_ws] = ACTIONS(2667),
    [sym__bang_custom] = ACTIONS(2667),
    [sym__as_custom] = ACTIONS(2697),
    [sym__as_quest_custom] = ACTIONS(2697),
    [sym__as_bang_custom] = ACTIONS(2697),
    [sym__custom_operator] = ACTIONS(2667),
    [sym__hash_symbol_custom] = ACTIONS(2667),
    [sym__directive_if] = ACTIONS(2667),
    [sym__directive_elseif] = ACTIONS(2667),
    [sym__directive_else] = ACTIONS(2667),
    [sym__directive_endif] = ACTIONS(2667),
  },
  [1173] = {
    [anon_sym_BANG] = ACTIONS(2665),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2665),
    [aux_sym_simple_identifier_token2] = ACTIONS(2667),
    [aux_sym_simple_identifier_token3] = ACTIONS(2667),
    [aux_sym_simple_identifier_token4] = ACTIONS(2667),
    [anon_sym_actor] = ACTIONS(2665),
    [anon_sym_async] = ACTIONS(2665),
    [anon_sym_each] = ACTIONS(2665),
    [anon_sym_lazy] = ACTIONS(2665),
    [anon_sym_repeat] = ACTIONS(2665),
    [anon_sym_package] = ACTIONS(2665),
    [anon_sym_nil] = ACTIONS(2665),
    [sym_real_literal] = ACTIONS(2667),
    [sym_integer_literal] = ACTIONS(2665),
    [sym_hex_literal] = ACTIONS(2665),
    [sym_oct_literal] = ACTIONS(2667),
    [sym_bin_literal] = ACTIONS(2667),
    [anon_sym_true] = ACTIONS(2665),
    [anon_sym_false] = ACTIONS(2665),
    [anon_sym_DQUOTE] = ACTIONS(2665),
    [anon_sym_BSLASH] = ACTIONS(2667),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2667),
    [anon_sym_COMMA] = ACTIONS(2697),
    [sym__oneline_regex_literal] = ACTIONS(2665),
    [anon_sym_LPAREN] = ACTIONS(2667),
    [anon_sym_LBRACK] = ACTIONS(2667),
    [anon_sym_QMARK] = ACTIONS(2699),
    [anon_sym_QMARK2] = ACTIONS(2697),
    [anon_sym_AMP] = ACTIONS(2667),
    [anon_sym_TILDE] = ACTIONS(2667),
    [anon_sym_if] = ACTIONS(2665),
    [anon_sym_switch] = ACTIONS(2665),
    [aux_sym_custom_operator_token1] = ACTIONS(2667),
    [anon_sym_LT] = ACTIONS(2665),
    [anon_sym_GT] = ACTIONS(2665),
    [anon_sym_await] = ACTIONS(2665),
    [anon_sym_LBRACE] = ACTIONS(2667),
    [anon_sym_CARET_LBRACE] = ACTIONS(2667),
    [anon_sym_RBRACE] = ACTIONS(2697),
    [anon_sym_self] = ACTIONS(2665),
    [anon_sym_super] = ACTIONS(2665),
    [anon_sym_try] = ACTIONS(2665),
    [anon_sym_PLUS_EQ] = ACTIONS(2667),
    [anon_sym_DASH_EQ] = ACTIONS(2667),
    [anon_sym_STAR_EQ] = ACTIONS(2667),
    [anon_sym_SLASH_EQ] = ACTIONS(2667),
    [anon_sym_PERCENT_EQ] = ACTIONS(2667),
    [anon_sym_BANG_EQ] = ACTIONS(2665),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2667),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2667),
    [anon_sym_LT_EQ] = ACTIONS(2667),
    [anon_sym_GT_EQ] = ACTIONS(2667),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2667),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2667),
    [anon_sym_is] = ACTIONS(2699),
    [anon_sym_PLUS] = ACTIONS(2665),
    [anon_sym_DASH] = ACTIONS(2665),
    [anon_sym_STAR] = ACTIONS(2665),
    [anon_sym_SLASH] = ACTIONS(2665),
    [anon_sym_PERCENT] = ACTIONS(2665),
    [anon_sym_PLUS_PLUS] = ACTIONS(2667),
    [anon_sym_DASH_DASH] = ACTIONS(2667),
    [anon_sym_PIPE] = ACTIONS(2667),
    [anon_sym_CARET] = ACTIONS(2665),
    [anon_sym_LT_LT] = ACTIONS(2667),
    [anon_sym_GT_GT] = ACTIONS(2667),
    [anon_sym_borrowing] = ACTIONS(2665),
    [anon_sym_consuming] = ACTIONS(2665),
    [sym_multiline_comment] = ACTIONS(2697),
    [sym_raw_str_part] = ACTIONS(2667),
    [sym_raw_str_end_part] = ACTIONS(2667),
    [sym__implicit_semi] = ACTIONS(2697),
    [sym__explicit_semi] = ACTIONS(2697),
    [sym__dot_custom] = ACTIONS(2667),
    [sym__conjunction_operator_custom] = ACTIONS(2697),
    [sym__disjunction_operator_custom] = ACTIONS(2697),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2697),
    [sym__eq_custom] = ACTIONS(2667),
    [sym__eq_eq_custom] = ACTIONS(2667),
    [sym__plus_then_ws] = ACTIONS(2667),
    [sym__minus_then_ws] = ACTIONS(2667),
    [sym__bang_custom] = ACTIONS(2667),
    [sym__as_custom] = ACTIONS(2697),
    [sym__as_quest_custom] = ACTIONS(2697),
    [sym__as_bang_custom] = ACTIONS(2697),
    [sym__custom_operator] = ACTIONS(2667),
    [sym__hash_symbol_custom] = ACTIONS(2667),
    [sym__directive_if] = ACTIONS(2667),
    [sym__directive_elseif] = ACTIONS(2667),
    [sym__directive_else] = ACTIONS(2667),
    [sym__directive_endif] = ACTIONS(2667),
  },
  [1174] = {
    [aux_sym_key_path_expression_repeat1] = STATE(1162),
    [anon_sym_BANG] = ACTIONS(3264),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3266),
    [anon_sym_package] = ACTIONS(3266),
    [anon_sym_COMMA] = ACTIONS(3266),
    [anon_sym_LPAREN] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(3266),
    [anon_sym_DOT] = ACTIONS(3499),
    [anon_sym_QMARK] = ACTIONS(3264),
    [anon_sym_QMARK2] = ACTIONS(3266),
    [anon_sym_AMP] = ACTIONS(3266),
    [aux_sym_custom_operator_token1] = ACTIONS(3266),
    [anon_sym_LT] = ACTIONS(3264),
    [anon_sym_GT] = ACTIONS(3264),
    [anon_sym_LBRACE] = ACTIONS(3266),
    [anon_sym_CARET_LBRACE] = ACTIONS(3266),
    [anon_sym_RBRACE] = ACTIONS(3266),
    [anon_sym_case] = ACTIONS(3266),
    [anon_sym_fallthrough] = ACTIONS(3266),
    [anon_sym_PLUS_EQ] = ACTIONS(3266),
    [anon_sym_DASH_EQ] = ACTIONS(3266),
    [anon_sym_STAR_EQ] = ACTIONS(3266),
    [anon_sym_SLASH_EQ] = ACTIONS(3266),
    [anon_sym_PERCENT_EQ] = ACTIONS(3266),
    [anon_sym_BANG_EQ] = ACTIONS(3264),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3266),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3266),
    [anon_sym_LT_EQ] = ACTIONS(3266),
    [anon_sym_GT_EQ] = ACTIONS(3266),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3266),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3266),
    [anon_sym_is] = ACTIONS(3266),
    [anon_sym_PLUS] = ACTIONS(3264),
    [anon_sym_DASH] = ACTIONS(3264),
    [anon_sym_STAR] = ACTIONS(3264),
    [anon_sym_SLASH] = ACTIONS(3264),
    [anon_sym_PERCENT] = ACTIONS(3264),
    [anon_sym_PLUS_PLUS] = ACTIONS(3266),
    [anon_sym_DASH_DASH] = ACTIONS(3266),
    [anon_sym_PIPE] = ACTIONS(3266),
    [anon_sym_CARET] = ACTIONS(3264),
    [anon_sym_LT_LT] = ACTIONS(3266),
    [anon_sym_GT_GT] = ACTIONS(3266),
    [anon_sym_class] = ACTIONS(3266),
    [anon_sym_prefix] = ACTIONS(3266),
    [anon_sym_infix] = ACTIONS(3266),
    [anon_sym_postfix] = ACTIONS(3266),
    [anon_sym_AT] = ACTIONS(3264),
    [anon_sym_override] = ACTIONS(3266),
    [anon_sym_convenience] = ACTIONS(3266),
    [anon_sym_required] = ACTIONS(3266),
    [anon_sym_nonisolated] = ACTIONS(3266),
    [anon_sym_public] = ACTIONS(3266),
    [anon_sym_private] = ACTIONS(3266),
    [anon_sym_internal] = ACTIONS(3266),
    [anon_sym_fileprivate] = ACTIONS(3266),
    [anon_sym_open] = ACTIONS(3266),
    [anon_sym_mutating] = ACTIONS(3266),
    [anon_sym_nonmutating] = ACTIONS(3266),
    [anon_sym_static] = ACTIONS(3266),
    [anon_sym_dynamic] = ACTIONS(3266),
    [anon_sym_optional] = ACTIONS(3266),
    [anon_sym_distributed] = ACTIONS(3266),
    [anon_sym_final] = ACTIONS(3266),
    [anon_sym_inout] = ACTIONS(3266),
    [anon_sym_ATescaping] = ACTIONS(3266),
    [anon_sym_ATautoclosure] = ACTIONS(3266),
    [anon_sym_weak] = ACTIONS(3266),
    [anon_sym_unowned] = ACTIONS(3264),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3266),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3266),
    [anon_sym_borrowing] = ACTIONS(3266),
    [anon_sym_consuming] = ACTIONS(3266),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3266),
    [sym__explicit_semi] = ACTIONS(3266),
    [sym__dot_custom] = ACTIONS(3266),
    [sym__conjunction_operator_custom] = ACTIONS(3266),
    [sym__disjunction_operator_custom] = ACTIONS(3266),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3266),
    [sym__eq_custom] = ACTIONS(3266),
    [sym__eq_eq_custom] = ACTIONS(3266),
    [sym__plus_then_ws] = ACTIONS(3266),
    [sym__minus_then_ws] = ACTIONS(3266),
    [sym__bang_custom] = ACTIONS(3266),
    [sym_default_keyword] = ACTIONS(3266),
    [sym_where_keyword] = ACTIONS(3266),
    [sym__as_custom] = ACTIONS(3266),
    [sym__as_quest_custom] = ACTIONS(3266),
    [sym__as_bang_custom] = ACTIONS(3266),
    [sym__custom_operator] = ACTIONS(3266),
  },
  [1175] = {
    [aux_sym_key_path_expression_repeat1] = STATE(1175),
    [anon_sym_BANG] = ACTIONS(3268),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3270),
    [anon_sym_package] = ACTIONS(3270),
    [anon_sym_COMMA] = ACTIONS(3270),
    [anon_sym_LPAREN] = ACTIONS(3270),
    [anon_sym_LBRACK] = ACTIONS(3270),
    [anon_sym_DOT] = ACTIONS(4230),
    [anon_sym_QMARK] = ACTIONS(3268),
    [anon_sym_QMARK2] = ACTIONS(3270),
    [anon_sym_AMP] = ACTIONS(3270),
    [aux_sym_custom_operator_token1] = ACTIONS(3270),
    [anon_sym_LT] = ACTIONS(3268),
    [anon_sym_GT] = ACTIONS(3268),
    [anon_sym_LBRACE] = ACTIONS(3270),
    [anon_sym_CARET_LBRACE] = ACTIONS(3270),
    [anon_sym_RBRACE] = ACTIONS(3270),
    [anon_sym_case] = ACTIONS(3270),
    [anon_sym_fallthrough] = ACTIONS(3270),
    [anon_sym_PLUS_EQ] = ACTIONS(3270),
    [anon_sym_DASH_EQ] = ACTIONS(3270),
    [anon_sym_STAR_EQ] = ACTIONS(3270),
    [anon_sym_SLASH_EQ] = ACTIONS(3270),
    [anon_sym_PERCENT_EQ] = ACTIONS(3270),
    [anon_sym_BANG_EQ] = ACTIONS(3268),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3270),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3270),
    [anon_sym_LT_EQ] = ACTIONS(3270),
    [anon_sym_GT_EQ] = ACTIONS(3270),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3270),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3270),
    [anon_sym_is] = ACTIONS(3270),
    [anon_sym_PLUS] = ACTIONS(3268),
    [anon_sym_DASH] = ACTIONS(3268),
    [anon_sym_STAR] = ACTIONS(3268),
    [anon_sym_SLASH] = ACTIONS(3268),
    [anon_sym_PERCENT] = ACTIONS(3268),
    [anon_sym_PLUS_PLUS] = ACTIONS(3270),
    [anon_sym_DASH_DASH] = ACTIONS(3270),
    [anon_sym_PIPE] = ACTIONS(3270),
    [anon_sym_CARET] = ACTIONS(3268),
    [anon_sym_LT_LT] = ACTIONS(3270),
    [anon_sym_GT_GT] = ACTIONS(3270),
    [anon_sym_class] = ACTIONS(3270),
    [anon_sym_prefix] = ACTIONS(3270),
    [anon_sym_infix] = ACTIONS(3270),
    [anon_sym_postfix] = ACTIONS(3270),
    [anon_sym_AT] = ACTIONS(3268),
    [anon_sym_override] = ACTIONS(3270),
    [anon_sym_convenience] = ACTIONS(3270),
    [anon_sym_required] = ACTIONS(3270),
    [anon_sym_nonisolated] = ACTIONS(3270),
    [anon_sym_public] = ACTIONS(3270),
    [anon_sym_private] = ACTIONS(3270),
    [anon_sym_internal] = ACTIONS(3270),
    [anon_sym_fileprivate] = ACTIONS(3270),
    [anon_sym_open] = ACTIONS(3270),
    [anon_sym_mutating] = ACTIONS(3270),
    [anon_sym_nonmutating] = ACTIONS(3270),
    [anon_sym_static] = ACTIONS(3270),
    [anon_sym_dynamic] = ACTIONS(3270),
    [anon_sym_optional] = ACTIONS(3270),
    [anon_sym_distributed] = ACTIONS(3270),
    [anon_sym_final] = ACTIONS(3270),
    [anon_sym_inout] = ACTIONS(3270),
    [anon_sym_ATescaping] = ACTIONS(3270),
    [anon_sym_ATautoclosure] = ACTIONS(3270),
    [anon_sym_weak] = ACTIONS(3270),
    [anon_sym_unowned] = ACTIONS(3268),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3270),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3270),
    [anon_sym_borrowing] = ACTIONS(3270),
    [anon_sym_consuming] = ACTIONS(3270),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3270),
    [sym__explicit_semi] = ACTIONS(3270),
    [sym__dot_custom] = ACTIONS(3270),
    [sym__conjunction_operator_custom] = ACTIONS(3270),
    [sym__disjunction_operator_custom] = ACTIONS(3270),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3270),
    [sym__eq_custom] = ACTIONS(3270),
    [sym__eq_eq_custom] = ACTIONS(3270),
    [sym__plus_then_ws] = ACTIONS(3270),
    [sym__minus_then_ws] = ACTIONS(3270),
    [sym__bang_custom] = ACTIONS(3270),
    [sym_default_keyword] = ACTIONS(3270),
    [sym_where_keyword] = ACTIONS(3270),
    [sym__as_custom] = ACTIONS(3270),
    [sym__as_quest_custom] = ACTIONS(3270),
    [sym__as_bang_custom] = ACTIONS(3270),
    [sym__custom_operator] = ACTIONS(3270),
  },
  [1176] = {
    [sym__fn_call_lambda_arguments] = STATE(1281),
    [sym_lambda_literal] = STATE(996),
    [anon_sym_BANG] = ACTIONS(3692),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3694),
    [anon_sym_package] = ACTIONS(3694),
    [anon_sym_COMMA] = ACTIONS(3694),
    [anon_sym_LPAREN] = ACTIONS(3694),
    [anon_sym_LBRACK] = ACTIONS(3694),
    [anon_sym_QMARK] = ACTIONS(3692),
    [anon_sym_QMARK2] = ACTIONS(3694),
    [anon_sym_AMP] = ACTIONS(3694),
    [aux_sym_custom_operator_token1] = ACTIONS(3694),
    [anon_sym_LT] = ACTIONS(3692),
    [anon_sym_GT] = ACTIONS(3692),
    [anon_sym_LBRACE] = ACTIONS(4233),
    [anon_sym_CARET_LBRACE] = ACTIONS(4233),
    [anon_sym_RBRACE] = ACTIONS(3694),
    [anon_sym_case] = ACTIONS(3694),
    [anon_sym_fallthrough] = ACTIONS(3694),
    [anon_sym_PLUS_EQ] = ACTIONS(3694),
    [anon_sym_DASH_EQ] = ACTIONS(3694),
    [anon_sym_STAR_EQ] = ACTIONS(3694),
    [anon_sym_SLASH_EQ] = ACTIONS(3694),
    [anon_sym_PERCENT_EQ] = ACTIONS(3694),
    [anon_sym_BANG_EQ] = ACTIONS(3692),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3694),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3694),
    [anon_sym_LT_EQ] = ACTIONS(3694),
    [anon_sym_GT_EQ] = ACTIONS(3694),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3694),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3694),
    [anon_sym_is] = ACTIONS(3694),
    [anon_sym_PLUS] = ACTIONS(3692),
    [anon_sym_DASH] = ACTIONS(3692),
    [anon_sym_STAR] = ACTIONS(3692),
    [anon_sym_SLASH] = ACTIONS(3692),
    [anon_sym_PERCENT] = ACTIONS(3692),
    [anon_sym_PLUS_PLUS] = ACTIONS(3694),
    [anon_sym_DASH_DASH] = ACTIONS(3694),
    [anon_sym_PIPE] = ACTIONS(3694),
    [anon_sym_CARET] = ACTIONS(3692),
    [anon_sym_LT_LT] = ACTIONS(3694),
    [anon_sym_GT_GT] = ACTIONS(3694),
    [anon_sym_class] = ACTIONS(3694),
    [anon_sym_prefix] = ACTIONS(3694),
    [anon_sym_infix] = ACTIONS(3694),
    [anon_sym_postfix] = ACTIONS(3694),
    [anon_sym_AT] = ACTIONS(3692),
    [anon_sym_override] = ACTIONS(3694),
    [anon_sym_convenience] = ACTIONS(3694),
    [anon_sym_required] = ACTIONS(3694),
    [anon_sym_nonisolated] = ACTIONS(3694),
    [anon_sym_public] = ACTIONS(3694),
    [anon_sym_private] = ACTIONS(3694),
    [anon_sym_internal] = ACTIONS(3694),
    [anon_sym_fileprivate] = ACTIONS(3694),
    [anon_sym_open] = ACTIONS(3694),
    [anon_sym_mutating] = ACTIONS(3694),
    [anon_sym_nonmutating] = ACTIONS(3694),
    [anon_sym_static] = ACTIONS(3694),
    [anon_sym_dynamic] = ACTIONS(3694),
    [anon_sym_optional] = ACTIONS(3694),
    [anon_sym_distributed] = ACTIONS(3694),
    [anon_sym_final] = ACTIONS(3694),
    [anon_sym_inout] = ACTIONS(3694),
    [anon_sym_ATescaping] = ACTIONS(3694),
    [anon_sym_ATautoclosure] = ACTIONS(3694),
    [anon_sym_weak] = ACTIONS(3694),
    [anon_sym_unowned] = ACTIONS(3692),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3694),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3694),
    [anon_sym_borrowing] = ACTIONS(3694),
    [anon_sym_consuming] = ACTIONS(3694),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3694),
    [sym__explicit_semi] = ACTIONS(3694),
    [sym__dot_custom] = ACTIONS(3694),
    [sym__conjunction_operator_custom] = ACTIONS(3694),
    [sym__disjunction_operator_custom] = ACTIONS(3694),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3694),
    [sym__eq_custom] = ACTIONS(3694),
    [sym__eq_eq_custom] = ACTIONS(3694),
    [sym__plus_then_ws] = ACTIONS(3694),
    [sym__minus_then_ws] = ACTIONS(3694),
    [sym__bang_custom] = ACTIONS(3694),
    [sym_default_keyword] = ACTIONS(3694),
    [sym_where_keyword] = ACTIONS(3694),
    [sym__as_custom] = ACTIONS(3694),
    [sym__as_quest_custom] = ACTIONS(3694),
    [sym__as_bang_custom] = ACTIONS(3694),
    [sym__custom_operator] = ACTIONS(3694),
  },
  [1177] = {
    [anon_sym_BANG] = ACTIONS(2673),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2676),
    [aux_sym_simple_identifier_token2] = ACTIONS(2678),
    [aux_sym_simple_identifier_token3] = ACTIONS(2678),
    [aux_sym_simple_identifier_token4] = ACTIONS(2678),
    [anon_sym_actor] = ACTIONS(2676),
    [anon_sym_async] = ACTIONS(2676),
    [anon_sym_each] = ACTIONS(2676),
    [anon_sym_lazy] = ACTIONS(2676),
    [anon_sym_repeat] = ACTIONS(2676),
    [anon_sym_package] = ACTIONS(2676),
    [anon_sym_nil] = ACTIONS(2676),
    [sym_real_literal] = ACTIONS(2678),
    [sym_integer_literal] = ACTIONS(2676),
    [sym_hex_literal] = ACTIONS(2676),
    [sym_oct_literal] = ACTIONS(2678),
    [sym_bin_literal] = ACTIONS(2678),
    [anon_sym_true] = ACTIONS(2676),
    [anon_sym_false] = ACTIONS(2676),
    [anon_sym_DQUOTE] = ACTIONS(2676),
    [anon_sym_BSLASH] = ACTIONS(2678),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2678),
    [anon_sym_COMMA] = ACTIONS(2680),
    [sym__oneline_regex_literal] = ACTIONS(2676),
    [anon_sym_LPAREN] = ACTIONS(2682),
    [anon_sym_LBRACK] = ACTIONS(2682),
    [anon_sym_QMARK] = ACTIONS(2685),
    [anon_sym_QMARK2] = ACTIONS(2680),
    [anon_sym_AMP] = ACTIONS(2682),
    [anon_sym_TILDE] = ACTIONS(2678),
    [anon_sym_if] = ACTIONS(2676),
    [anon_sym_switch] = ACTIONS(2676),
    [aux_sym_custom_operator_token1] = ACTIONS(2682),
    [anon_sym_LT] = ACTIONS(2673),
    [anon_sym_GT] = ACTIONS(2673),
    [anon_sym_await] = ACTIONS(2676),
    [anon_sym_LBRACE] = ACTIONS(2682),
    [anon_sym_CARET_LBRACE] = ACTIONS(2682),
    [anon_sym_RBRACE] = ACTIONS(2680),
    [anon_sym_self] = ACTIONS(2676),
    [anon_sym_super] = ACTIONS(2676),
    [anon_sym_try] = ACTIONS(2676),
    [anon_sym_PLUS_EQ] = ACTIONS(2682),
    [anon_sym_DASH_EQ] = ACTIONS(2682),
    [anon_sym_STAR_EQ] = ACTIONS(2682),
    [anon_sym_SLASH_EQ] = ACTIONS(2682),
    [anon_sym_PERCENT_EQ] = ACTIONS(2682),
    [anon_sym_BANG_EQ] = ACTIONS(2673),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2682),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2682),
    [anon_sym_LT_EQ] = ACTIONS(2682),
    [anon_sym_GT_EQ] = ACTIONS(2682),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2682),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2682),
    [anon_sym_is] = ACTIONS(2685),
    [anon_sym_PLUS] = ACTIONS(2673),
    [anon_sym_DASH] = ACTIONS(2673),
    [anon_sym_STAR] = ACTIONS(2673),
    [anon_sym_SLASH] = ACTIONS(2673),
    [anon_sym_PERCENT] = ACTIONS(2673),
    [anon_sym_PLUS_PLUS] = ACTIONS(2682),
    [anon_sym_DASH_DASH] = ACTIONS(2682),
    [anon_sym_PIPE] = ACTIONS(2682),
    [anon_sym_CARET] = ACTIONS(2673),
    [anon_sym_LT_LT] = ACTIONS(2682),
    [anon_sym_GT_GT] = ACTIONS(2682),
    [anon_sym_borrowing] = ACTIONS(2676),
    [anon_sym_consuming] = ACTIONS(2676),
    [sym_multiline_comment] = ACTIONS(2680),
    [sym_raw_str_part] = ACTIONS(2678),
    [sym_raw_str_end_part] = ACTIONS(2678),
    [sym__implicit_semi] = ACTIONS(2680),
    [sym__explicit_semi] = ACTIONS(2680),
    [sym__dot_custom] = ACTIONS(2682),
    [sym__conjunction_operator_custom] = ACTIONS(2680),
    [sym__disjunction_operator_custom] = ACTIONS(2680),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2680),
    [sym__eq_custom] = ACTIONS(2682),
    [sym__eq_eq_custom] = ACTIONS(2682),
    [sym__plus_then_ws] = ACTIONS(2682),
    [sym__minus_then_ws] = ACTIONS(2682),
    [sym__bang_custom] = ACTIONS(2682),
    [sym__as_custom] = ACTIONS(2680),
    [sym__as_quest_custom] = ACTIONS(2680),
    [sym__as_bang_custom] = ACTIONS(2680),
    [sym__custom_operator] = ACTIONS(2682),
    [sym__hash_symbol_custom] = ACTIONS(2678),
    [sym__directive_if] = ACTIONS(2678),
    [sym__directive_elseif] = ACTIONS(2678),
    [sym__directive_else] = ACTIONS(2678),
    [sym__directive_endif] = ACTIONS(2678),
  },
  [1178] = {
    [aux_sym_key_path_expression_repeat1] = STATE(1175),
    [anon_sym_BANG] = ACTIONS(3264),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3266),
    [anon_sym_package] = ACTIONS(3266),
    [anon_sym_COMMA] = ACTIONS(3266),
    [anon_sym_LPAREN] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(3266),
    [anon_sym_DOT] = ACTIONS(3499),
    [anon_sym_QMARK] = ACTIONS(3264),
    [anon_sym_QMARK2] = ACTIONS(3266),
    [anon_sym_AMP] = ACTIONS(3266),
    [aux_sym_custom_operator_token1] = ACTIONS(3266),
    [anon_sym_LT] = ACTIONS(3264),
    [anon_sym_GT] = ACTIONS(3264),
    [anon_sym_LBRACE] = ACTIONS(3266),
    [anon_sym_CARET_LBRACE] = ACTIONS(3266),
    [anon_sym_RBRACE] = ACTIONS(3266),
    [anon_sym_case] = ACTIONS(3266),
    [anon_sym_fallthrough] = ACTIONS(3266),
    [anon_sym_PLUS_EQ] = ACTIONS(3266),
    [anon_sym_DASH_EQ] = ACTIONS(3266),
    [anon_sym_STAR_EQ] = ACTIONS(3266),
    [anon_sym_SLASH_EQ] = ACTIONS(3266),
    [anon_sym_PERCENT_EQ] = ACTIONS(3266),
    [anon_sym_BANG_EQ] = ACTIONS(3264),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3266),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3266),
    [anon_sym_LT_EQ] = ACTIONS(3266),
    [anon_sym_GT_EQ] = ACTIONS(3266),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3266),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3266),
    [anon_sym_is] = ACTIONS(3266),
    [anon_sym_PLUS] = ACTIONS(3264),
    [anon_sym_DASH] = ACTIONS(3264),
    [anon_sym_STAR] = ACTIONS(3264),
    [anon_sym_SLASH] = ACTIONS(3264),
    [anon_sym_PERCENT] = ACTIONS(3264),
    [anon_sym_PLUS_PLUS] = ACTIONS(3266),
    [anon_sym_DASH_DASH] = ACTIONS(3266),
    [anon_sym_PIPE] = ACTIONS(3266),
    [anon_sym_CARET] = ACTIONS(3264),
    [anon_sym_LT_LT] = ACTIONS(3266),
    [anon_sym_GT_GT] = ACTIONS(3266),
    [anon_sym_class] = ACTIONS(3266),
    [anon_sym_prefix] = ACTIONS(3266),
    [anon_sym_infix] = ACTIONS(3266),
    [anon_sym_postfix] = ACTIONS(3266),
    [anon_sym_AT] = ACTIONS(3264),
    [anon_sym_override] = ACTIONS(3266),
    [anon_sym_convenience] = ACTIONS(3266),
    [anon_sym_required] = ACTIONS(3266),
    [anon_sym_nonisolated] = ACTIONS(3266),
    [anon_sym_public] = ACTIONS(3266),
    [anon_sym_private] = ACTIONS(3266),
    [anon_sym_internal] = ACTIONS(3266),
    [anon_sym_fileprivate] = ACTIONS(3266),
    [anon_sym_open] = ACTIONS(3266),
    [anon_sym_mutating] = ACTIONS(3266),
    [anon_sym_nonmutating] = ACTIONS(3266),
    [anon_sym_static] = ACTIONS(3266),
    [anon_sym_dynamic] = ACTIONS(3266),
    [anon_sym_optional] = ACTIONS(3266),
    [anon_sym_distributed] = ACTIONS(3266),
    [anon_sym_final] = ACTIONS(3266),
    [anon_sym_inout] = ACTIONS(3266),
    [anon_sym_ATescaping] = ACTIONS(3266),
    [anon_sym_ATautoclosure] = ACTIONS(3266),
    [anon_sym_weak] = ACTIONS(3266),
    [anon_sym_unowned] = ACTIONS(3264),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3266),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3266),
    [anon_sym_borrowing] = ACTIONS(3266),
    [anon_sym_consuming] = ACTIONS(3266),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3266),
    [sym__explicit_semi] = ACTIONS(3266),
    [sym__dot_custom] = ACTIONS(3266),
    [sym__conjunction_operator_custom] = ACTIONS(3266),
    [sym__disjunction_operator_custom] = ACTIONS(3266),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3266),
    [sym__eq_custom] = ACTIONS(3266),
    [sym__eq_eq_custom] = ACTIONS(3266),
    [sym__plus_then_ws] = ACTIONS(3266),
    [sym__minus_then_ws] = ACTIONS(3266),
    [sym__bang_custom] = ACTIONS(3266),
    [sym_default_keyword] = ACTIONS(3266),
    [sym_where_keyword] = ACTIONS(3266),
    [sym__as_custom] = ACTIONS(3266),
    [sym__as_quest_custom] = ACTIONS(3266),
    [sym__as_bang_custom] = ACTIONS(3266),
    [sym__custom_operator] = ACTIONS(3266),
  },
  [1179] = {
    [anon_sym_BANG] = ACTIONS(3157),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3159),
    [anon_sym_package] = ACTIONS(3159),
    [anon_sym_COMMA] = ACTIONS(3159),
    [anon_sym_LPAREN] = ACTIONS(3159),
    [anon_sym_LBRACK] = ACTIONS(3159),
    [anon_sym_DOT] = ACTIONS(3157),
    [anon_sym_QMARK] = ACTIONS(3157),
    [anon_sym_QMARK2] = ACTIONS(3159),
    [anon_sym_AMP] = ACTIONS(3159),
    [aux_sym_custom_operator_token1] = ACTIONS(3159),
    [anon_sym_LT] = ACTIONS(3157),
    [anon_sym_GT] = ACTIONS(3157),
    [anon_sym_LBRACE] = ACTIONS(3159),
    [anon_sym_CARET_LBRACE] = ACTIONS(3159),
    [anon_sym_RBRACE] = ACTIONS(3159),
    [anon_sym_case] = ACTIONS(3159),
    [anon_sym_fallthrough] = ACTIONS(3159),
    [anon_sym_PLUS_EQ] = ACTIONS(3159),
    [anon_sym_DASH_EQ] = ACTIONS(3159),
    [anon_sym_STAR_EQ] = ACTIONS(3159),
    [anon_sym_SLASH_EQ] = ACTIONS(3159),
    [anon_sym_PERCENT_EQ] = ACTIONS(3159),
    [anon_sym_BANG_EQ] = ACTIONS(3157),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3159),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3159),
    [anon_sym_LT_EQ] = ACTIONS(3159),
    [anon_sym_GT_EQ] = ACTIONS(3159),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3159),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3159),
    [anon_sym_is] = ACTIONS(3159),
    [anon_sym_PLUS] = ACTIONS(3157),
    [anon_sym_DASH] = ACTIONS(3157),
    [anon_sym_STAR] = ACTIONS(3157),
    [anon_sym_SLASH] = ACTIONS(3157),
    [anon_sym_PERCENT] = ACTIONS(3157),
    [anon_sym_PLUS_PLUS] = ACTIONS(3159),
    [anon_sym_DASH_DASH] = ACTIONS(3159),
    [anon_sym_PIPE] = ACTIONS(3159),
    [anon_sym_CARET] = ACTIONS(3157),
    [anon_sym_LT_LT] = ACTIONS(3159),
    [anon_sym_GT_GT] = ACTIONS(3159),
    [anon_sym_class] = ACTIONS(3159),
    [anon_sym_prefix] = ACTIONS(3159),
    [anon_sym_infix] = ACTIONS(3159),
    [anon_sym_postfix] = ACTIONS(3159),
    [anon_sym_AT] = ACTIONS(3157),
    [anon_sym_override] = ACTIONS(3159),
    [anon_sym_convenience] = ACTIONS(3159),
    [anon_sym_required] = ACTIONS(3159),
    [anon_sym_nonisolated] = ACTIONS(3159),
    [anon_sym_public] = ACTIONS(3159),
    [anon_sym_private] = ACTIONS(3159),
    [anon_sym_internal] = ACTIONS(3159),
    [anon_sym_fileprivate] = ACTIONS(3159),
    [anon_sym_open] = ACTIONS(3159),
    [anon_sym_mutating] = ACTIONS(3159),
    [anon_sym_nonmutating] = ACTIONS(3159),
    [anon_sym_static] = ACTIONS(3159),
    [anon_sym_dynamic] = ACTIONS(3159),
    [anon_sym_optional] = ACTIONS(3159),
    [anon_sym_distributed] = ACTIONS(3159),
    [anon_sym_final] = ACTIONS(3159),
    [anon_sym_inout] = ACTIONS(3159),
    [anon_sym_ATescaping] = ACTIONS(3159),
    [anon_sym_ATautoclosure] = ACTIONS(3159),
    [anon_sym_weak] = ACTIONS(3159),
    [anon_sym_unowned] = ACTIONS(3157),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3159),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3159),
    [anon_sym_borrowing] = ACTIONS(3159),
    [anon_sym_consuming] = ACTIONS(3159),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3159),
    [sym__explicit_semi] = ACTIONS(3159),
    [sym__dot_custom] = ACTIONS(3159),
    [sym__conjunction_operator_custom] = ACTIONS(3159),
    [sym__disjunction_operator_custom] = ACTIONS(3159),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3159),
    [sym__eq_custom] = ACTIONS(3159),
    [sym__eq_eq_custom] = ACTIONS(3159),
    [sym__plus_then_ws] = ACTIONS(3159),
    [sym__minus_then_ws] = ACTIONS(3159),
    [sym__bang_custom] = ACTIONS(3159),
    [sym_default_keyword] = ACTIONS(3159),
    [sym_where_keyword] = ACTIONS(3159),
    [sym__as_custom] = ACTIONS(3159),
    [sym__as_quest_custom] = ACTIONS(3159),
    [sym__as_bang_custom] = ACTIONS(3159),
    [sym__custom_operator] = ACTIONS(3159),
  },
  [1180] = {
    [anon_sym_BANG] = ACTIONS(3297),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3299),
    [anon_sym_package] = ACTIONS(3299),
    [anon_sym_COMMA] = ACTIONS(3299),
    [anon_sym_LPAREN] = ACTIONS(3299),
    [anon_sym_LBRACK] = ACTIONS(3299),
    [anon_sym_QMARK] = ACTIONS(3297),
    [anon_sym_QMARK2] = ACTIONS(3299),
    [anon_sym_AMP] = ACTIONS(3299),
    [aux_sym_custom_operator_token1] = ACTIONS(3299),
    [anon_sym_LT] = ACTIONS(3297),
    [anon_sym_GT] = ACTIONS(3297),
    [anon_sym_LBRACE] = ACTIONS(3299),
    [anon_sym_CARET_LBRACE] = ACTIONS(3299),
    [anon_sym_RBRACE] = ACTIONS(3299),
    [anon_sym_case] = ACTIONS(3299),
    [anon_sym_fallthrough] = ACTIONS(3299),
    [anon_sym_PLUS_EQ] = ACTIONS(3299),
    [anon_sym_DASH_EQ] = ACTIONS(3299),
    [anon_sym_STAR_EQ] = ACTIONS(3299),
    [anon_sym_SLASH_EQ] = ACTIONS(3299),
    [anon_sym_PERCENT_EQ] = ACTIONS(3299),
    [anon_sym_BANG_EQ] = ACTIONS(3297),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3299),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3299),
    [anon_sym_LT_EQ] = ACTIONS(3299),
    [anon_sym_GT_EQ] = ACTIONS(3299),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3299),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3299),
    [anon_sym_is] = ACTIONS(3299),
    [anon_sym_PLUS] = ACTIONS(3297),
    [anon_sym_DASH] = ACTIONS(3297),
    [anon_sym_STAR] = ACTIONS(3297),
    [anon_sym_SLASH] = ACTIONS(3297),
    [anon_sym_PERCENT] = ACTIONS(3297),
    [anon_sym_PLUS_PLUS] = ACTIONS(3299),
    [anon_sym_DASH_DASH] = ACTIONS(3299),
    [anon_sym_PIPE] = ACTIONS(3299),
    [anon_sym_CARET] = ACTIONS(3297),
    [anon_sym_LT_LT] = ACTIONS(3299),
    [anon_sym_GT_GT] = ACTIONS(3299),
    [anon_sym_class] = ACTIONS(3299),
    [anon_sym_prefix] = ACTIONS(3299),
    [anon_sym_infix] = ACTIONS(3299),
    [anon_sym_postfix] = ACTIONS(3299),
    [anon_sym_AT] = ACTIONS(3297),
    [anon_sym_override] = ACTIONS(3299),
    [anon_sym_convenience] = ACTIONS(3299),
    [anon_sym_required] = ACTIONS(3299),
    [anon_sym_nonisolated] = ACTIONS(3299),
    [anon_sym_public] = ACTIONS(3299),
    [anon_sym_private] = ACTIONS(3299),
    [anon_sym_internal] = ACTIONS(3299),
    [anon_sym_fileprivate] = ACTIONS(3299),
    [anon_sym_open] = ACTIONS(3299),
    [anon_sym_mutating] = ACTIONS(3299),
    [anon_sym_nonmutating] = ACTIONS(3299),
    [anon_sym_static] = ACTIONS(3299),
    [anon_sym_dynamic] = ACTIONS(3299),
    [anon_sym_optional] = ACTIONS(3299),
    [anon_sym_distributed] = ACTIONS(3299),
    [anon_sym_final] = ACTIONS(3299),
    [anon_sym_inout] = ACTIONS(3299),
    [anon_sym_ATescaping] = ACTIONS(3299),
    [anon_sym_ATautoclosure] = ACTIONS(3299),
    [anon_sym_weak] = ACTIONS(3299),
    [anon_sym_unowned] = ACTIONS(3297),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3299),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3299),
    [anon_sym_borrowing] = ACTIONS(3299),
    [anon_sym_consuming] = ACTIONS(3299),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3299),
    [sym__explicit_semi] = ACTIONS(3299),
    [sym__dot_custom] = ACTIONS(3299),
    [sym__conjunction_operator_custom] = ACTIONS(3299),
    [sym__disjunction_operator_custom] = ACTIONS(3299),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3299),
    [sym__eq_custom] = ACTIONS(3299),
    [sym__eq_eq_custom] = ACTIONS(3299),
    [sym__plus_then_ws] = ACTIONS(3299),
    [sym__minus_then_ws] = ACTIONS(3299),
    [sym__bang_custom] = ACTIONS(3299),
    [sym_default_keyword] = ACTIONS(3299),
    [sym_where_keyword] = ACTIONS(3299),
    [sym_else] = ACTIONS(4236),
    [sym__as_custom] = ACTIONS(3299),
    [sym__as_quest_custom] = ACTIONS(3299),
    [sym__as_bang_custom] = ACTIONS(3299),
    [sym__custom_operator] = ACTIONS(3299),
  },
  [1181] = {
    [aux_sym_key_path_expression_repeat1] = STATE(1186),
    [anon_sym_BANG] = ACTIONS(3264),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3266),
    [anon_sym_package] = ACTIONS(3266),
    [anon_sym_COMMA] = ACTIONS(3266),
    [anon_sym_LPAREN] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(3266),
    [anon_sym_DOT] = ACTIONS(3671),
    [anon_sym_QMARK] = ACTIONS(3264),
    [anon_sym_QMARK2] = ACTIONS(3266),
    [anon_sym_AMP] = ACTIONS(3266),
    [aux_sym_custom_operator_token1] = ACTIONS(3266),
    [anon_sym_LT] = ACTIONS(3264),
    [anon_sym_GT] = ACTIONS(3264),
    [anon_sym_LBRACE] = ACTIONS(3266),
    [anon_sym_CARET_LBRACE] = ACTIONS(3266),
    [anon_sym_RBRACE] = ACTIONS(3266),
    [anon_sym_case] = ACTIONS(3266),
    [anon_sym_fallthrough] = ACTIONS(3266),
    [anon_sym_PLUS_EQ] = ACTIONS(3266),
    [anon_sym_DASH_EQ] = ACTIONS(3266),
    [anon_sym_STAR_EQ] = ACTIONS(3266),
    [anon_sym_SLASH_EQ] = ACTIONS(3266),
    [anon_sym_PERCENT_EQ] = ACTIONS(3266),
    [anon_sym_BANG_EQ] = ACTIONS(3264),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3266),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3266),
    [anon_sym_LT_EQ] = ACTIONS(3266),
    [anon_sym_GT_EQ] = ACTIONS(3266),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3266),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3266),
    [anon_sym_is] = ACTIONS(3266),
    [anon_sym_PLUS] = ACTIONS(3264),
    [anon_sym_DASH] = ACTIONS(3264),
    [anon_sym_STAR] = ACTIONS(3264),
    [anon_sym_SLASH] = ACTIONS(3264),
    [anon_sym_PERCENT] = ACTIONS(3264),
    [anon_sym_PLUS_PLUS] = ACTIONS(3266),
    [anon_sym_DASH_DASH] = ACTIONS(3266),
    [anon_sym_PIPE] = ACTIONS(3266),
    [anon_sym_CARET] = ACTIONS(3264),
    [anon_sym_LT_LT] = ACTIONS(3266),
    [anon_sym_GT_GT] = ACTIONS(3266),
    [anon_sym_class] = ACTIONS(3266),
    [anon_sym_prefix] = ACTIONS(3266),
    [anon_sym_infix] = ACTIONS(3266),
    [anon_sym_postfix] = ACTIONS(3266),
    [anon_sym_AT] = ACTIONS(3264),
    [anon_sym_override] = ACTIONS(3266),
    [anon_sym_convenience] = ACTIONS(3266),
    [anon_sym_required] = ACTIONS(3266),
    [anon_sym_nonisolated] = ACTIONS(3266),
    [anon_sym_public] = ACTIONS(3266),
    [anon_sym_private] = ACTIONS(3266),
    [anon_sym_internal] = ACTIONS(3266),
    [anon_sym_fileprivate] = ACTIONS(3266),
    [anon_sym_open] = ACTIONS(3266),
    [anon_sym_mutating] = ACTIONS(3266),
    [anon_sym_nonmutating] = ACTIONS(3266),
    [anon_sym_static] = ACTIONS(3266),
    [anon_sym_dynamic] = ACTIONS(3266),
    [anon_sym_optional] = ACTIONS(3266),
    [anon_sym_distributed] = ACTIONS(3266),
    [anon_sym_final] = ACTIONS(3266),
    [anon_sym_inout] = ACTIONS(3266),
    [anon_sym_ATescaping] = ACTIONS(3266),
    [anon_sym_ATautoclosure] = ACTIONS(3266),
    [anon_sym_weak] = ACTIONS(3266),
    [anon_sym_unowned] = ACTIONS(3264),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3266),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3266),
    [anon_sym_borrowing] = ACTIONS(3266),
    [anon_sym_consuming] = ACTIONS(3266),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3266),
    [sym__explicit_semi] = ACTIONS(3266),
    [sym__dot_custom] = ACTIONS(3266),
    [sym__conjunction_operator_custom] = ACTIONS(3266),
    [sym__disjunction_operator_custom] = ACTIONS(3266),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3266),
    [sym__eq_custom] = ACTIONS(3266),
    [sym__eq_eq_custom] = ACTIONS(3266),
    [sym__plus_then_ws] = ACTIONS(3266),
    [sym__minus_then_ws] = ACTIONS(3266),
    [sym__bang_custom] = ACTIONS(3266),
    [sym_default_keyword] = ACTIONS(3266),
    [sym__as_custom] = ACTIONS(3266),
    [sym__as_quest_custom] = ACTIONS(3266),
    [sym__as_bang_custom] = ACTIONS(3266),
    [sym__custom_operator] = ACTIONS(3266),
  },
  [1182] = {
    [aux_sym_key_path_expression_repeat1] = STATE(1206),
    [anon_sym_BANG] = ACTIONS(3264),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3266),
    [anon_sym_package] = ACTIONS(3266),
    [anon_sym_COMMA] = ACTIONS(3266),
    [anon_sym_LPAREN] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(3266),
    [anon_sym_DOT] = ACTIONS(3671),
    [anon_sym_QMARK] = ACTIONS(3264),
    [anon_sym_QMARK2] = ACTIONS(3266),
    [anon_sym_AMP] = ACTIONS(3266),
    [aux_sym_custom_operator_token1] = ACTIONS(3266),
    [anon_sym_LT] = ACTIONS(3264),
    [anon_sym_GT] = ACTIONS(3264),
    [anon_sym_LBRACE] = ACTIONS(3266),
    [anon_sym_CARET_LBRACE] = ACTIONS(3266),
    [anon_sym_RBRACE] = ACTIONS(3266),
    [anon_sym_case] = ACTIONS(3266),
    [anon_sym_fallthrough] = ACTIONS(3266),
    [anon_sym_PLUS_EQ] = ACTIONS(3266),
    [anon_sym_DASH_EQ] = ACTIONS(3266),
    [anon_sym_STAR_EQ] = ACTIONS(3266),
    [anon_sym_SLASH_EQ] = ACTIONS(3266),
    [anon_sym_PERCENT_EQ] = ACTIONS(3266),
    [anon_sym_BANG_EQ] = ACTIONS(3264),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3266),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3266),
    [anon_sym_LT_EQ] = ACTIONS(3266),
    [anon_sym_GT_EQ] = ACTIONS(3266),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3266),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3266),
    [anon_sym_is] = ACTIONS(3266),
    [anon_sym_PLUS] = ACTIONS(3264),
    [anon_sym_DASH] = ACTIONS(3264),
    [anon_sym_STAR] = ACTIONS(3264),
    [anon_sym_SLASH] = ACTIONS(3264),
    [anon_sym_PERCENT] = ACTIONS(3264),
    [anon_sym_PLUS_PLUS] = ACTIONS(3266),
    [anon_sym_DASH_DASH] = ACTIONS(3266),
    [anon_sym_PIPE] = ACTIONS(3266),
    [anon_sym_CARET] = ACTIONS(3264),
    [anon_sym_LT_LT] = ACTIONS(3266),
    [anon_sym_GT_GT] = ACTIONS(3266),
    [anon_sym_class] = ACTIONS(3266),
    [anon_sym_prefix] = ACTIONS(3266),
    [anon_sym_infix] = ACTIONS(3266),
    [anon_sym_postfix] = ACTIONS(3266),
    [anon_sym_AT] = ACTIONS(3264),
    [anon_sym_override] = ACTIONS(3266),
    [anon_sym_convenience] = ACTIONS(3266),
    [anon_sym_required] = ACTIONS(3266),
    [anon_sym_nonisolated] = ACTIONS(3266),
    [anon_sym_public] = ACTIONS(3266),
    [anon_sym_private] = ACTIONS(3266),
    [anon_sym_internal] = ACTIONS(3266),
    [anon_sym_fileprivate] = ACTIONS(3266),
    [anon_sym_open] = ACTIONS(3266),
    [anon_sym_mutating] = ACTIONS(3266),
    [anon_sym_nonmutating] = ACTIONS(3266),
    [anon_sym_static] = ACTIONS(3266),
    [anon_sym_dynamic] = ACTIONS(3266),
    [anon_sym_optional] = ACTIONS(3266),
    [anon_sym_distributed] = ACTIONS(3266),
    [anon_sym_final] = ACTIONS(3266),
    [anon_sym_inout] = ACTIONS(3266),
    [anon_sym_ATescaping] = ACTIONS(3266),
    [anon_sym_ATautoclosure] = ACTIONS(3266),
    [anon_sym_weak] = ACTIONS(3266),
    [anon_sym_unowned] = ACTIONS(3264),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3266),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3266),
    [anon_sym_borrowing] = ACTIONS(3266),
    [anon_sym_consuming] = ACTIONS(3266),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3266),
    [sym__explicit_semi] = ACTIONS(3266),
    [sym__dot_custom] = ACTIONS(3266),
    [sym__conjunction_operator_custom] = ACTIONS(3266),
    [sym__disjunction_operator_custom] = ACTIONS(3266),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3266),
    [sym__eq_custom] = ACTIONS(3266),
    [sym__eq_eq_custom] = ACTIONS(3266),
    [sym__plus_then_ws] = ACTIONS(3266),
    [sym__minus_then_ws] = ACTIONS(3266),
    [sym__bang_custom] = ACTIONS(3266),
    [sym_default_keyword] = ACTIONS(3266),
    [sym__as_custom] = ACTIONS(3266),
    [sym__as_quest_custom] = ACTIONS(3266),
    [sym__as_bang_custom] = ACTIONS(3266),
    [sym__custom_operator] = ACTIONS(3266),
  },
  [1183] = {
    [sym__conjunction_operator] = STATE(4912),
    [sym__disjunction_operator] = STATE(4912),
    [anon_sym_BANG] = ACTIONS(3283),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3285),
    [anon_sym_package] = ACTIONS(3285),
    [anon_sym_COMMA] = ACTIONS(3285),
    [anon_sym_LPAREN] = ACTIONS(3285),
    [anon_sym_LBRACK] = ACTIONS(3285),
    [anon_sym_QMARK] = ACTIONS(3283),
    [anon_sym_QMARK2] = ACTIONS(3285),
    [anon_sym_AMP] = ACTIONS(3285),
    [aux_sym_custom_operator_token1] = ACTIONS(3285),
    [anon_sym_LT] = ACTIONS(3283),
    [anon_sym_GT] = ACTIONS(3283),
    [anon_sym_LBRACE] = ACTIONS(3285),
    [anon_sym_CARET_LBRACE] = ACTIONS(3285),
    [anon_sym_RBRACE] = ACTIONS(3285),
    [anon_sym_case] = ACTIONS(3285),
    [anon_sym_fallthrough] = ACTIONS(3285),
    [anon_sym_PLUS_EQ] = ACTIONS(3285),
    [anon_sym_DASH_EQ] = ACTIONS(3285),
    [anon_sym_STAR_EQ] = ACTIONS(3285),
    [anon_sym_SLASH_EQ] = ACTIONS(3285),
    [anon_sym_PERCENT_EQ] = ACTIONS(3285),
    [anon_sym_BANG_EQ] = ACTIONS(3283),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3285),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3285),
    [anon_sym_LT_EQ] = ACTIONS(3285),
    [anon_sym_GT_EQ] = ACTIONS(3285),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3285),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3285),
    [anon_sym_is] = ACTIONS(3285),
    [anon_sym_PLUS] = ACTIONS(3283),
    [anon_sym_DASH] = ACTIONS(3283),
    [anon_sym_STAR] = ACTIONS(3283),
    [anon_sym_SLASH] = ACTIONS(3283),
    [anon_sym_PERCENT] = ACTIONS(3283),
    [anon_sym_PLUS_PLUS] = ACTIONS(3285),
    [anon_sym_DASH_DASH] = ACTIONS(3285),
    [anon_sym_PIPE] = ACTIONS(3285),
    [anon_sym_CARET] = ACTIONS(3283),
    [anon_sym_LT_LT] = ACTIONS(3285),
    [anon_sym_GT_GT] = ACTIONS(3285),
    [anon_sym_class] = ACTIONS(3285),
    [anon_sym_prefix] = ACTIONS(3285),
    [anon_sym_infix] = ACTIONS(3285),
    [anon_sym_postfix] = ACTIONS(3285),
    [anon_sym_AT] = ACTIONS(3283),
    [anon_sym_override] = ACTIONS(3285),
    [anon_sym_convenience] = ACTIONS(3285),
    [anon_sym_required] = ACTIONS(3285),
    [anon_sym_nonisolated] = ACTIONS(3285),
    [anon_sym_public] = ACTIONS(3285),
    [anon_sym_private] = ACTIONS(3285),
    [anon_sym_internal] = ACTIONS(3285),
    [anon_sym_fileprivate] = ACTIONS(3285),
    [anon_sym_open] = ACTIONS(3285),
    [anon_sym_mutating] = ACTIONS(3285),
    [anon_sym_nonmutating] = ACTIONS(3285),
    [anon_sym_static] = ACTIONS(3285),
    [anon_sym_dynamic] = ACTIONS(3285),
    [anon_sym_optional] = ACTIONS(3285),
    [anon_sym_distributed] = ACTIONS(3285),
    [anon_sym_final] = ACTIONS(3285),
    [anon_sym_inout] = ACTIONS(3285),
    [anon_sym_ATescaping] = ACTIONS(3285),
    [anon_sym_ATautoclosure] = ACTIONS(3285),
    [anon_sym_weak] = ACTIONS(3285),
    [anon_sym_unowned] = ACTIONS(3283),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3285),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3285),
    [anon_sym_borrowing] = ACTIONS(3285),
    [anon_sym_consuming] = ACTIONS(3285),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3285),
    [sym__explicit_semi] = ACTIONS(3285),
    [sym__dot_custom] = ACTIONS(3285),
    [sym__conjunction_operator_custom] = ACTIONS(4238),
    [sym__disjunction_operator_custom] = ACTIONS(4238),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3285),
    [sym__eq_custom] = ACTIONS(3285),
    [sym__eq_eq_custom] = ACTIONS(3285),
    [sym__plus_then_ws] = ACTIONS(3285),
    [sym__minus_then_ws] = ACTIONS(3285),
    [sym__bang_custom] = ACTIONS(3285),
    [sym_default_keyword] = ACTIONS(3285),
    [sym__as_custom] = ACTIONS(3285),
    [sym__as_quest_custom] = ACTIONS(3285),
    [sym__as_bang_custom] = ACTIONS(3285),
    [sym__custom_operator] = ACTIONS(3285),
  },
  [1184] = {
    [anon_sym_BANG] = ACTIONS(3091),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3093),
    [anon_sym_package] = ACTIONS(3093),
    [anon_sym_COMMA] = ACTIONS(3093),
    [anon_sym_LPAREN] = ACTIONS(3093),
    [anon_sym_LBRACK] = ACTIONS(3093),
    [anon_sym_DOT] = ACTIONS(3091),
    [anon_sym_QMARK] = ACTIONS(3091),
    [anon_sym_QMARK2] = ACTIONS(3093),
    [anon_sym_AMP] = ACTIONS(3093),
    [aux_sym_custom_operator_token1] = ACTIONS(3093),
    [anon_sym_LT] = ACTIONS(3091),
    [anon_sym_GT] = ACTIONS(3091),
    [anon_sym_LBRACE] = ACTIONS(3093),
    [anon_sym_CARET_LBRACE] = ACTIONS(3093),
    [anon_sym_RBRACE] = ACTIONS(3093),
    [anon_sym_case] = ACTIONS(3093),
    [anon_sym_fallthrough] = ACTIONS(3093),
    [anon_sym_PLUS_EQ] = ACTIONS(3093),
    [anon_sym_DASH_EQ] = ACTIONS(3093),
    [anon_sym_STAR_EQ] = ACTIONS(3093),
    [anon_sym_SLASH_EQ] = ACTIONS(3093),
    [anon_sym_PERCENT_EQ] = ACTIONS(3093),
    [anon_sym_BANG_EQ] = ACTIONS(3091),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3093),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3093),
    [anon_sym_LT_EQ] = ACTIONS(3093),
    [anon_sym_GT_EQ] = ACTIONS(3093),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3093),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3093),
    [anon_sym_is] = ACTIONS(3093),
    [anon_sym_PLUS] = ACTIONS(3091),
    [anon_sym_DASH] = ACTIONS(3091),
    [anon_sym_STAR] = ACTIONS(3091),
    [anon_sym_SLASH] = ACTIONS(3091),
    [anon_sym_PERCENT] = ACTIONS(3091),
    [anon_sym_PLUS_PLUS] = ACTIONS(3093),
    [anon_sym_DASH_DASH] = ACTIONS(3093),
    [anon_sym_PIPE] = ACTIONS(3093),
    [anon_sym_CARET] = ACTIONS(3091),
    [anon_sym_LT_LT] = ACTIONS(3093),
    [anon_sym_GT_GT] = ACTIONS(3093),
    [anon_sym_class] = ACTIONS(3093),
    [anon_sym_prefix] = ACTIONS(3093),
    [anon_sym_infix] = ACTIONS(3093),
    [anon_sym_postfix] = ACTIONS(3093),
    [anon_sym_AT] = ACTIONS(3091),
    [anon_sym_override] = ACTIONS(3093),
    [anon_sym_convenience] = ACTIONS(3093),
    [anon_sym_required] = ACTIONS(3093),
    [anon_sym_nonisolated] = ACTIONS(3093),
    [anon_sym_public] = ACTIONS(3093),
    [anon_sym_private] = ACTIONS(3093),
    [anon_sym_internal] = ACTIONS(3093),
    [anon_sym_fileprivate] = ACTIONS(3093),
    [anon_sym_open] = ACTIONS(3093),
    [anon_sym_mutating] = ACTIONS(3093),
    [anon_sym_nonmutating] = ACTIONS(3093),
    [anon_sym_static] = ACTIONS(3093),
    [anon_sym_dynamic] = ACTIONS(3093),
    [anon_sym_optional] = ACTIONS(3093),
    [anon_sym_distributed] = ACTIONS(3093),
    [anon_sym_final] = ACTIONS(3093),
    [anon_sym_inout] = ACTIONS(3093),
    [anon_sym_ATescaping] = ACTIONS(3093),
    [anon_sym_ATautoclosure] = ACTIONS(3093),
    [anon_sym_weak] = ACTIONS(3093),
    [anon_sym_unowned] = ACTIONS(3091),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3093),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3093),
    [anon_sym_borrowing] = ACTIONS(3093),
    [anon_sym_consuming] = ACTIONS(3093),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3093),
    [sym__explicit_semi] = ACTIONS(3093),
    [sym__dot_custom] = ACTIONS(3093),
    [sym__conjunction_operator_custom] = ACTIONS(3093),
    [sym__disjunction_operator_custom] = ACTIONS(3093),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3093),
    [sym__eq_custom] = ACTIONS(3093),
    [sym__eq_eq_custom] = ACTIONS(3093),
    [sym__plus_then_ws] = ACTIONS(3093),
    [sym__minus_then_ws] = ACTIONS(3093),
    [sym__bang_custom] = ACTIONS(3093),
    [sym_default_keyword] = ACTIONS(3093),
    [sym_where_keyword] = ACTIONS(3093),
    [sym__as_custom] = ACTIONS(3093),
    [sym__as_quest_custom] = ACTIONS(3093),
    [sym__as_bang_custom] = ACTIONS(3093),
    [sym__custom_operator] = ACTIONS(3093),
  },
  [1185] = {
    [sym__type_level_declaration] = STATE(6676),
    [sym_import_declaration] = STATE(6676),
    [sym_property_declaration] = STATE(6676),
    [sym__modifierless_property_declaration] = STATE(7625),
    [sym_typealias_declaration] = STATE(6676),
    [sym__modifierless_typealias_declaration] = STATE(7444),
    [sym_function_declaration] = STATE(6676),
    [sym__bodyless_function_declaration] = STATE(7742),
    [sym__modifierless_function_declaration_no_body] = STATE(8708),
    [sym_class_declaration] = STATE(6676),
    [sym__modifierless_class_declaration] = STATE(7633),
    [sym__class_member_declarations] = STATE(8691),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__async_modifier] = STATE(7659),
    [sym_protocol_declaration] = STATE(6676),
    [sym_init_declaration] = STATE(6676),
    [sym_deinit_declaration] = STATE(6676),
    [sym_subscript_declaration] = STATE(6676),
    [sym_operator_declaration] = STATE(6676),
    [sym_precedence_group_declaration] = STATE(6676),
    [sym_associatedtype_declaration] = STATE(6676),
    [sym_attribute] = STATE(1786),
    [sym_value_binding_pattern] = STATE(4778),
    [sym__possibly_async_binding_pattern_kind] = STATE(4778),
    [sym_modifiers] = STATE(4931),
    [aux_sym__locally_permitted_modifiers] = STATE(1786),
    [sym__non_local_scope_modifier] = STATE(1786),
    [sym__locally_permitted_modifier] = STATE(1786),
    [sym_property_behavior_modifier] = STATE(1786),
    [sym_member_modifier] = STATE(1786),
    [sym_visibility_modifier] = STATE(1786),
    [sym_function_modifier] = STATE(1786),
    [sym_mutation_modifier] = STATE(1786),
    [sym_property_modifier] = STATE(1786),
    [sym_inheritance_modifier] = STATE(1786),
    [sym_parameter_modifier] = STATE(1786),
    [sym_ownership_modifier] = STATE(1786),
    [sym__parameter_ownership_modifier] = STATE(2979),
    [aux_sym_modifiers_repeat1] = STATE(1786),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(4240),
    [anon_sym_async] = ACTIONS(3977),
    [anon_sym_lazy] = ACTIONS(3979),
    [anon_sym_package] = ACTIONS(3981),
    [anon_sym_RBRACE] = ACTIONS(4242),
    [anon_sym_import] = ACTIONS(4244),
    [anon_sym_typealias] = ACTIONS(4246),
    [anon_sym_struct] = ACTIONS(4240),
    [anon_sym_class] = ACTIONS(4248),
    [anon_sym_enum] = ACTIONS(4250),
    [anon_sym_protocol] = ACTIONS(4252),
    [anon_sym_let] = ACTIONS(3997),
    [anon_sym_var] = ACTIONS(3997),
    [anon_sym_func] = ACTIONS(3999),
    [anon_sym_extension] = ACTIONS(4254),
    [anon_sym_indirect] = ACTIONS(4256),
    [anon_sym_init] = ACTIONS(4258),
    [anon_sym_deinit] = ACTIONS(4260),
    [anon_sym_subscript] = ACTIONS(4262),
    [anon_sym_prefix] = ACTIONS(4264),
    [anon_sym_infix] = ACTIONS(4264),
    [anon_sym_postfix] = ACTIONS(4264),
    [anon_sym_precedencegroup] = ACTIONS(4266),
    [anon_sym_associatedtype] = ACTIONS(4268),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(4017),
    [anon_sym_convenience] = ACTIONS(4017),
    [anon_sym_required] = ACTIONS(4017),
    [anon_sym_nonisolated] = ACTIONS(4017),
    [anon_sym_public] = ACTIONS(3981),
    [anon_sym_private] = ACTIONS(3981),
    [anon_sym_internal] = ACTIONS(3981),
    [anon_sym_fileprivate] = ACTIONS(3981),
    [anon_sym_open] = ACTIONS(3981),
    [anon_sym_mutating] = ACTIONS(4019),
    [anon_sym_nonmutating] = ACTIONS(4019),
    [anon_sym_static] = ACTIONS(4021),
    [anon_sym_dynamic] = ACTIONS(4021),
    [anon_sym_optional] = ACTIONS(4021),
    [anon_sym_distributed] = ACTIONS(4021),
    [anon_sym_final] = ACTIONS(4023),
    [anon_sym_inout] = ACTIONS(125),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(129),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(125),
    [anon_sym_consuming] = ACTIONS(125),
    [sym_multiline_comment] = ACTIONS(5),
  },
  [1186] = {
    [aux_sym_key_path_expression_repeat1] = STATE(1186),
    [anon_sym_BANG] = ACTIONS(3268),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3270),
    [anon_sym_package] = ACTIONS(3270),
    [anon_sym_COMMA] = ACTIONS(3270),
    [anon_sym_LPAREN] = ACTIONS(3270),
    [anon_sym_LBRACK] = ACTIONS(3270),
    [anon_sym_DOT] = ACTIONS(4270),
    [anon_sym_QMARK] = ACTIONS(3268),
    [anon_sym_QMARK2] = ACTIONS(3270),
    [anon_sym_AMP] = ACTIONS(3270),
    [aux_sym_custom_operator_token1] = ACTIONS(3270),
    [anon_sym_LT] = ACTIONS(3268),
    [anon_sym_GT] = ACTIONS(3268),
    [anon_sym_LBRACE] = ACTIONS(3270),
    [anon_sym_CARET_LBRACE] = ACTIONS(3270),
    [anon_sym_RBRACE] = ACTIONS(3270),
    [anon_sym_case] = ACTIONS(3270),
    [anon_sym_fallthrough] = ACTIONS(3270),
    [anon_sym_PLUS_EQ] = ACTIONS(3270),
    [anon_sym_DASH_EQ] = ACTIONS(3270),
    [anon_sym_STAR_EQ] = ACTIONS(3270),
    [anon_sym_SLASH_EQ] = ACTIONS(3270),
    [anon_sym_PERCENT_EQ] = ACTIONS(3270),
    [anon_sym_BANG_EQ] = ACTIONS(3268),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3270),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3270),
    [anon_sym_LT_EQ] = ACTIONS(3270),
    [anon_sym_GT_EQ] = ACTIONS(3270),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3270),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3270),
    [anon_sym_is] = ACTIONS(3270),
    [anon_sym_PLUS] = ACTIONS(3268),
    [anon_sym_DASH] = ACTIONS(3268),
    [anon_sym_STAR] = ACTIONS(3268),
    [anon_sym_SLASH] = ACTIONS(3268),
    [anon_sym_PERCENT] = ACTIONS(3268),
    [anon_sym_PLUS_PLUS] = ACTIONS(3270),
    [anon_sym_DASH_DASH] = ACTIONS(3270),
    [anon_sym_PIPE] = ACTIONS(3270),
    [anon_sym_CARET] = ACTIONS(3268),
    [anon_sym_LT_LT] = ACTIONS(3270),
    [anon_sym_GT_GT] = ACTIONS(3270),
    [anon_sym_class] = ACTIONS(3270),
    [anon_sym_prefix] = ACTIONS(3270),
    [anon_sym_infix] = ACTIONS(3270),
    [anon_sym_postfix] = ACTIONS(3270),
    [anon_sym_AT] = ACTIONS(3268),
    [anon_sym_override] = ACTIONS(3270),
    [anon_sym_convenience] = ACTIONS(3270),
    [anon_sym_required] = ACTIONS(3270),
    [anon_sym_nonisolated] = ACTIONS(3270),
    [anon_sym_public] = ACTIONS(3270),
    [anon_sym_private] = ACTIONS(3270),
    [anon_sym_internal] = ACTIONS(3270),
    [anon_sym_fileprivate] = ACTIONS(3270),
    [anon_sym_open] = ACTIONS(3270),
    [anon_sym_mutating] = ACTIONS(3270),
    [anon_sym_nonmutating] = ACTIONS(3270),
    [anon_sym_static] = ACTIONS(3270),
    [anon_sym_dynamic] = ACTIONS(3270),
    [anon_sym_optional] = ACTIONS(3270),
    [anon_sym_distributed] = ACTIONS(3270),
    [anon_sym_final] = ACTIONS(3270),
    [anon_sym_inout] = ACTIONS(3270),
    [anon_sym_ATescaping] = ACTIONS(3270),
    [anon_sym_ATautoclosure] = ACTIONS(3270),
    [anon_sym_weak] = ACTIONS(3270),
    [anon_sym_unowned] = ACTIONS(3268),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3270),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3270),
    [anon_sym_borrowing] = ACTIONS(3270),
    [anon_sym_consuming] = ACTIONS(3270),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3270),
    [sym__explicit_semi] = ACTIONS(3270),
    [sym__dot_custom] = ACTIONS(3270),
    [sym__conjunction_operator_custom] = ACTIONS(3270),
    [sym__disjunction_operator_custom] = ACTIONS(3270),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3270),
    [sym__eq_custom] = ACTIONS(3270),
    [sym__eq_eq_custom] = ACTIONS(3270),
    [sym__plus_then_ws] = ACTIONS(3270),
    [sym__minus_then_ws] = ACTIONS(3270),
    [sym__bang_custom] = ACTIONS(3270),
    [sym_default_keyword] = ACTIONS(3270),
    [sym__as_custom] = ACTIONS(3270),
    [sym__as_quest_custom] = ACTIONS(3270),
    [sym__as_bang_custom] = ACTIONS(3270),
    [sym__custom_operator] = ACTIONS(3270),
  },
  [1187] = {
    [sym__conjunction_operator] = STATE(4912),
    [sym__disjunction_operator] = STATE(4912),
    [anon_sym_BANG] = ACTIONS(3252),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3254),
    [anon_sym_package] = ACTIONS(3254),
    [anon_sym_COMMA] = ACTIONS(3254),
    [anon_sym_LPAREN] = ACTIONS(3254),
    [anon_sym_LBRACK] = ACTIONS(3254),
    [anon_sym_QMARK] = ACTIONS(3252),
    [anon_sym_QMARK2] = ACTIONS(3254),
    [anon_sym_AMP] = ACTIONS(3254),
    [aux_sym_custom_operator_token1] = ACTIONS(3254),
    [anon_sym_LT] = ACTIONS(3252),
    [anon_sym_GT] = ACTIONS(3252),
    [anon_sym_LBRACE] = ACTIONS(3254),
    [anon_sym_CARET_LBRACE] = ACTIONS(3254),
    [anon_sym_RBRACE] = ACTIONS(3254),
    [anon_sym_case] = ACTIONS(3254),
    [anon_sym_fallthrough] = ACTIONS(3254),
    [anon_sym_PLUS_EQ] = ACTIONS(3254),
    [anon_sym_DASH_EQ] = ACTIONS(3254),
    [anon_sym_STAR_EQ] = ACTIONS(3254),
    [anon_sym_SLASH_EQ] = ACTIONS(3254),
    [anon_sym_PERCENT_EQ] = ACTIONS(3254),
    [anon_sym_BANG_EQ] = ACTIONS(3252),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3254),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3254),
    [anon_sym_LT_EQ] = ACTIONS(3254),
    [anon_sym_GT_EQ] = ACTIONS(3254),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3254),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3254),
    [anon_sym_is] = ACTIONS(3254),
    [anon_sym_PLUS] = ACTIONS(3252),
    [anon_sym_DASH] = ACTIONS(3252),
    [anon_sym_STAR] = ACTIONS(3252),
    [anon_sym_SLASH] = ACTIONS(3252),
    [anon_sym_PERCENT] = ACTIONS(3252),
    [anon_sym_PLUS_PLUS] = ACTIONS(3254),
    [anon_sym_DASH_DASH] = ACTIONS(3254),
    [anon_sym_PIPE] = ACTIONS(3254),
    [anon_sym_CARET] = ACTIONS(3252),
    [anon_sym_LT_LT] = ACTIONS(3254),
    [anon_sym_GT_GT] = ACTIONS(3254),
    [anon_sym_class] = ACTIONS(3254),
    [anon_sym_prefix] = ACTIONS(3254),
    [anon_sym_infix] = ACTIONS(3254),
    [anon_sym_postfix] = ACTIONS(3254),
    [anon_sym_AT] = ACTIONS(3252),
    [anon_sym_override] = ACTIONS(3254),
    [anon_sym_convenience] = ACTIONS(3254),
    [anon_sym_required] = ACTIONS(3254),
    [anon_sym_nonisolated] = ACTIONS(3254),
    [anon_sym_public] = ACTIONS(3254),
    [anon_sym_private] = ACTIONS(3254),
    [anon_sym_internal] = ACTIONS(3254),
    [anon_sym_fileprivate] = ACTIONS(3254),
    [anon_sym_open] = ACTIONS(3254),
    [anon_sym_mutating] = ACTIONS(3254),
    [anon_sym_nonmutating] = ACTIONS(3254),
    [anon_sym_static] = ACTIONS(3254),
    [anon_sym_dynamic] = ACTIONS(3254),
    [anon_sym_optional] = ACTIONS(3254),
    [anon_sym_distributed] = ACTIONS(3254),
    [anon_sym_final] = ACTIONS(3254),
    [anon_sym_inout] = ACTIONS(3254),
    [anon_sym_ATescaping] = ACTIONS(3254),
    [anon_sym_ATautoclosure] = ACTIONS(3254),
    [anon_sym_weak] = ACTIONS(3254),
    [anon_sym_unowned] = ACTIONS(3252),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3254),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3254),
    [anon_sym_borrowing] = ACTIONS(3254),
    [anon_sym_consuming] = ACTIONS(3254),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3254),
    [sym__explicit_semi] = ACTIONS(3254),
    [sym__dot_custom] = ACTIONS(3254),
    [sym__conjunction_operator_custom] = ACTIONS(4238),
    [sym__disjunction_operator_custom] = ACTIONS(4238),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3254),
    [sym__eq_custom] = ACTIONS(3254),
    [sym__eq_eq_custom] = ACTIONS(3254),
    [sym__plus_then_ws] = ACTIONS(3254),
    [sym__minus_then_ws] = ACTIONS(3254),
    [sym__bang_custom] = ACTIONS(3254),
    [sym_default_keyword] = ACTIONS(3254),
    [sym__as_custom] = ACTIONS(3254),
    [sym__as_quest_custom] = ACTIONS(3254),
    [sym__as_bang_custom] = ACTIONS(3254),
    [sym__custom_operator] = ACTIONS(3254),
  },
  [1188] = {
    [sym__fn_call_lambda_arguments] = STATE(1434),
    [sym_lambda_literal] = STATE(1001),
    [anon_sym_BANG] = ACTIONS(3685),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3687),
    [anon_sym_package] = ACTIONS(3687),
    [anon_sym_COMMA] = ACTIONS(3687),
    [anon_sym_LPAREN] = ACTIONS(3687),
    [anon_sym_LBRACK] = ACTIONS(3687),
    [anon_sym_QMARK] = ACTIONS(3685),
    [anon_sym_QMARK2] = ACTIONS(3687),
    [anon_sym_AMP] = ACTIONS(3687),
    [aux_sym_custom_operator_token1] = ACTIONS(3687),
    [anon_sym_LT] = ACTIONS(3685),
    [anon_sym_GT] = ACTIONS(3685),
    [anon_sym_LBRACE] = ACTIONS(4273),
    [anon_sym_CARET_LBRACE] = ACTIONS(4273),
    [anon_sym_RBRACE] = ACTIONS(3687),
    [anon_sym_case] = ACTIONS(3687),
    [anon_sym_fallthrough] = ACTIONS(3687),
    [anon_sym_PLUS_EQ] = ACTIONS(3687),
    [anon_sym_DASH_EQ] = ACTIONS(3687),
    [anon_sym_STAR_EQ] = ACTIONS(3687),
    [anon_sym_SLASH_EQ] = ACTIONS(3687),
    [anon_sym_PERCENT_EQ] = ACTIONS(3687),
    [anon_sym_BANG_EQ] = ACTIONS(3685),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3687),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3687),
    [anon_sym_LT_EQ] = ACTIONS(3687),
    [anon_sym_GT_EQ] = ACTIONS(3687),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3687),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3687),
    [anon_sym_is] = ACTIONS(3687),
    [anon_sym_PLUS] = ACTIONS(3685),
    [anon_sym_DASH] = ACTIONS(3685),
    [anon_sym_STAR] = ACTIONS(3685),
    [anon_sym_SLASH] = ACTIONS(3685),
    [anon_sym_PERCENT] = ACTIONS(3685),
    [anon_sym_PLUS_PLUS] = ACTIONS(3687),
    [anon_sym_DASH_DASH] = ACTIONS(3687),
    [anon_sym_PIPE] = ACTIONS(3687),
    [anon_sym_CARET] = ACTIONS(3685),
    [anon_sym_LT_LT] = ACTIONS(3687),
    [anon_sym_GT_GT] = ACTIONS(3687),
    [anon_sym_class] = ACTIONS(3687),
    [anon_sym_prefix] = ACTIONS(3687),
    [anon_sym_infix] = ACTIONS(3687),
    [anon_sym_postfix] = ACTIONS(3687),
    [anon_sym_AT] = ACTIONS(3685),
    [anon_sym_override] = ACTIONS(3687),
    [anon_sym_convenience] = ACTIONS(3687),
    [anon_sym_required] = ACTIONS(3687),
    [anon_sym_nonisolated] = ACTIONS(3687),
    [anon_sym_public] = ACTIONS(3687),
    [anon_sym_private] = ACTIONS(3687),
    [anon_sym_internal] = ACTIONS(3687),
    [anon_sym_fileprivate] = ACTIONS(3687),
    [anon_sym_open] = ACTIONS(3687),
    [anon_sym_mutating] = ACTIONS(3687),
    [anon_sym_nonmutating] = ACTIONS(3687),
    [anon_sym_static] = ACTIONS(3687),
    [anon_sym_dynamic] = ACTIONS(3687),
    [anon_sym_optional] = ACTIONS(3687),
    [anon_sym_distributed] = ACTIONS(3687),
    [anon_sym_final] = ACTIONS(3687),
    [anon_sym_inout] = ACTIONS(3687),
    [anon_sym_ATescaping] = ACTIONS(3687),
    [anon_sym_ATautoclosure] = ACTIONS(3687),
    [anon_sym_weak] = ACTIONS(3687),
    [anon_sym_unowned] = ACTIONS(3685),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3687),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3687),
    [anon_sym_borrowing] = ACTIONS(3687),
    [anon_sym_consuming] = ACTIONS(3687),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3687),
    [sym__explicit_semi] = ACTIONS(3687),
    [sym__dot_custom] = ACTIONS(3687),
    [sym__conjunction_operator_custom] = ACTIONS(3687),
    [sym__disjunction_operator_custom] = ACTIONS(3687),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3687),
    [sym__eq_custom] = ACTIONS(3687),
    [sym__eq_eq_custom] = ACTIONS(3687),
    [sym__plus_then_ws] = ACTIONS(3687),
    [sym__minus_then_ws] = ACTIONS(3687),
    [sym__bang_custom] = ACTIONS(3687),
    [sym_default_keyword] = ACTIONS(3687),
    [sym__as_custom] = ACTIONS(3687),
    [sym__as_quest_custom] = ACTIONS(3687),
    [sym__as_bang_custom] = ACTIONS(3687),
    [sym__custom_operator] = ACTIONS(3687),
  },
  [1189] = {
    [anon_sym_BANG] = ACTIONS(2665),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2665),
    [aux_sym_simple_identifier_token2] = ACTIONS(2667),
    [aux_sym_simple_identifier_token3] = ACTIONS(2667),
    [aux_sym_simple_identifier_token4] = ACTIONS(2667),
    [anon_sym_actor] = ACTIONS(2665),
    [anon_sym_async] = ACTIONS(2665),
    [anon_sym_each] = ACTIONS(2665),
    [anon_sym_lazy] = ACTIONS(2665),
    [anon_sym_repeat] = ACTIONS(2665),
    [anon_sym_package] = ACTIONS(2665),
    [anon_sym_nil] = ACTIONS(2665),
    [sym_real_literal] = ACTIONS(2667),
    [sym_integer_literal] = ACTIONS(2665),
    [sym_hex_literal] = ACTIONS(2665),
    [sym_oct_literal] = ACTIONS(2667),
    [sym_bin_literal] = ACTIONS(2667),
    [anon_sym_true] = ACTIONS(2665),
    [anon_sym_false] = ACTIONS(2665),
    [anon_sym_DQUOTE] = ACTIONS(2665),
    [anon_sym_BSLASH] = ACTIONS(2667),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2667),
    [anon_sym_COMMA] = ACTIONS(2697),
    [sym__oneline_regex_literal] = ACTIONS(2665),
    [anon_sym_COLON] = ACTIONS(2697),
    [anon_sym_LPAREN] = ACTIONS(2667),
    [anon_sym_LBRACK] = ACTIONS(2667),
    [anon_sym_QMARK] = ACTIONS(2699),
    [anon_sym_QMARK2] = ACTIONS(2697),
    [anon_sym_AMP] = ACTIONS(2667),
    [anon_sym_TILDE] = ACTIONS(2667),
    [anon_sym_if] = ACTIONS(2665),
    [anon_sym_switch] = ACTIONS(2665),
    [aux_sym_custom_operator_token1] = ACTIONS(2667),
    [anon_sym_LT] = ACTIONS(2665),
    [anon_sym_GT] = ACTIONS(2665),
    [anon_sym_await] = ACTIONS(2665),
    [anon_sym_LBRACE] = ACTIONS(2667),
    [anon_sym_CARET_LBRACE] = ACTIONS(2667),
    [anon_sym_self] = ACTIONS(2665),
    [anon_sym_super] = ACTIONS(2665),
    [anon_sym_try] = ACTIONS(2665),
    [anon_sym_PLUS_EQ] = ACTIONS(2667),
    [anon_sym_DASH_EQ] = ACTIONS(2667),
    [anon_sym_STAR_EQ] = ACTIONS(2667),
    [anon_sym_SLASH_EQ] = ACTIONS(2667),
    [anon_sym_PERCENT_EQ] = ACTIONS(2667),
    [anon_sym_BANG_EQ] = ACTIONS(2665),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2667),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2667),
    [anon_sym_LT_EQ] = ACTIONS(2667),
    [anon_sym_GT_EQ] = ACTIONS(2667),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2667),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2667),
    [anon_sym_is] = ACTIONS(2699),
    [anon_sym_PLUS] = ACTIONS(2665),
    [anon_sym_DASH] = ACTIONS(2665),
    [anon_sym_STAR] = ACTIONS(2665),
    [anon_sym_SLASH] = ACTIONS(2665),
    [anon_sym_PERCENT] = ACTIONS(2665),
    [anon_sym_PLUS_PLUS] = ACTIONS(2667),
    [anon_sym_DASH_DASH] = ACTIONS(2667),
    [anon_sym_PIPE] = ACTIONS(2667),
    [anon_sym_CARET] = ACTIONS(2665),
    [anon_sym_LT_LT] = ACTIONS(2667),
    [anon_sym_GT_GT] = ACTIONS(2667),
    [anon_sym_borrowing] = ACTIONS(2665),
    [anon_sym_consuming] = ACTIONS(2665),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2667),
    [sym_raw_str_end_part] = ACTIONS(2667),
    [sym__dot_custom] = ACTIONS(2667),
    [sym__conjunction_operator_custom] = ACTIONS(2697),
    [sym__disjunction_operator_custom] = ACTIONS(2697),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2697),
    [sym__eq_custom] = ACTIONS(2667),
    [sym__eq_eq_custom] = ACTIONS(2667),
    [sym__plus_then_ws] = ACTIONS(2667),
    [sym__minus_then_ws] = ACTIONS(2667),
    [sym__bang_custom] = ACTIONS(2667),
    [sym_where_keyword] = ACTIONS(2697),
    [sym__as_custom] = ACTIONS(2697),
    [sym__as_quest_custom] = ACTIONS(2697),
    [sym__as_bang_custom] = ACTIONS(2697),
    [sym__custom_operator] = ACTIONS(2667),
    [sym__hash_symbol_custom] = ACTIONS(2667),
    [sym__directive_if] = ACTIONS(2667),
    [sym__directive_elseif] = ACTIONS(2667),
    [sym__directive_else] = ACTIONS(2667),
    [sym__directive_endif] = ACTIONS(2667),
  },
  [1190] = {
    [anon_sym_BANG] = ACTIONS(2673),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2676),
    [aux_sym_simple_identifier_token2] = ACTIONS(2678),
    [aux_sym_simple_identifier_token3] = ACTIONS(2678),
    [aux_sym_simple_identifier_token4] = ACTIONS(2678),
    [anon_sym_actor] = ACTIONS(2676),
    [anon_sym_async] = ACTIONS(2676),
    [anon_sym_each] = ACTIONS(2676),
    [anon_sym_lazy] = ACTIONS(2676),
    [anon_sym_repeat] = ACTIONS(2676),
    [anon_sym_package] = ACTIONS(2676),
    [anon_sym_nil] = ACTIONS(2676),
    [sym_real_literal] = ACTIONS(2678),
    [sym_integer_literal] = ACTIONS(2676),
    [sym_hex_literal] = ACTIONS(2676),
    [sym_oct_literal] = ACTIONS(2678),
    [sym_bin_literal] = ACTIONS(2678),
    [anon_sym_true] = ACTIONS(2676),
    [anon_sym_false] = ACTIONS(2676),
    [anon_sym_DQUOTE] = ACTIONS(2676),
    [anon_sym_BSLASH] = ACTIONS(2678),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2678),
    [anon_sym_COMMA] = ACTIONS(2680),
    [sym__oneline_regex_literal] = ACTIONS(2676),
    [anon_sym_COLON] = ACTIONS(2680),
    [anon_sym_LPAREN] = ACTIONS(2682),
    [anon_sym_LBRACK] = ACTIONS(2682),
    [anon_sym_QMARK] = ACTIONS(2685),
    [anon_sym_QMARK2] = ACTIONS(2680),
    [anon_sym_AMP] = ACTIONS(2682),
    [anon_sym_TILDE] = ACTIONS(2678),
    [anon_sym_if] = ACTIONS(2676),
    [anon_sym_switch] = ACTIONS(2676),
    [aux_sym_custom_operator_token1] = ACTIONS(2682),
    [anon_sym_LT] = ACTIONS(2673),
    [anon_sym_GT] = ACTIONS(2673),
    [anon_sym_await] = ACTIONS(2676),
    [anon_sym_LBRACE] = ACTIONS(2682),
    [anon_sym_CARET_LBRACE] = ACTIONS(2682),
    [anon_sym_self] = ACTIONS(2676),
    [anon_sym_super] = ACTIONS(2676),
    [anon_sym_try] = ACTIONS(2676),
    [anon_sym_PLUS_EQ] = ACTIONS(2682),
    [anon_sym_DASH_EQ] = ACTIONS(2682),
    [anon_sym_STAR_EQ] = ACTIONS(2682),
    [anon_sym_SLASH_EQ] = ACTIONS(2682),
    [anon_sym_PERCENT_EQ] = ACTIONS(2682),
    [anon_sym_BANG_EQ] = ACTIONS(2673),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2682),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2682),
    [anon_sym_LT_EQ] = ACTIONS(2682),
    [anon_sym_GT_EQ] = ACTIONS(2682),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2682),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2682),
    [anon_sym_is] = ACTIONS(2685),
    [anon_sym_PLUS] = ACTIONS(2673),
    [anon_sym_DASH] = ACTIONS(2673),
    [anon_sym_STAR] = ACTIONS(2673),
    [anon_sym_SLASH] = ACTIONS(2673),
    [anon_sym_PERCENT] = ACTIONS(2673),
    [anon_sym_PLUS_PLUS] = ACTIONS(2682),
    [anon_sym_DASH_DASH] = ACTIONS(2682),
    [anon_sym_PIPE] = ACTIONS(2682),
    [anon_sym_CARET] = ACTIONS(2673),
    [anon_sym_LT_LT] = ACTIONS(2682),
    [anon_sym_GT_GT] = ACTIONS(2682),
    [anon_sym_borrowing] = ACTIONS(2676),
    [anon_sym_consuming] = ACTIONS(2676),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2678),
    [sym_raw_str_end_part] = ACTIONS(2678),
    [sym__dot_custom] = ACTIONS(2682),
    [sym__conjunction_operator_custom] = ACTIONS(2680),
    [sym__disjunction_operator_custom] = ACTIONS(2680),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2680),
    [sym__eq_custom] = ACTIONS(2682),
    [sym__eq_eq_custom] = ACTIONS(2682),
    [sym__plus_then_ws] = ACTIONS(2682),
    [sym__minus_then_ws] = ACTIONS(2682),
    [sym__bang_custom] = ACTIONS(2682),
    [sym_where_keyword] = ACTIONS(2680),
    [sym__as_custom] = ACTIONS(2680),
    [sym__as_quest_custom] = ACTIONS(2680),
    [sym__as_bang_custom] = ACTIONS(2680),
    [sym__custom_operator] = ACTIONS(2682),
    [sym__hash_symbol_custom] = ACTIONS(2678),
    [sym__directive_if] = ACTIONS(2678),
    [sym__directive_elseif] = ACTIONS(2678),
    [sym__directive_else] = ACTIONS(2678),
    [sym__directive_endif] = ACTIONS(2678),
  },
  [1191] = {
    [anon_sym_BANG] = ACTIONS(3194),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3196),
    [anon_sym_package] = ACTIONS(3196),
    [anon_sym_COMMA] = ACTIONS(3196),
    [anon_sym_LPAREN] = ACTIONS(3196),
    [anon_sym_LBRACK] = ACTIONS(3196),
    [anon_sym_DOT] = ACTIONS(3194),
    [anon_sym_QMARK] = ACTIONS(3194),
    [anon_sym_QMARK2] = ACTIONS(3196),
    [anon_sym_AMP] = ACTIONS(3196),
    [aux_sym_custom_operator_token1] = ACTIONS(3196),
    [anon_sym_LT] = ACTIONS(3194),
    [anon_sym_GT] = ACTIONS(3194),
    [anon_sym_LBRACE] = ACTIONS(3196),
    [anon_sym_CARET_LBRACE] = ACTIONS(3196),
    [anon_sym_RBRACE] = ACTIONS(3196),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_fallthrough] = ACTIONS(3196),
    [anon_sym_PLUS_EQ] = ACTIONS(3196),
    [anon_sym_DASH_EQ] = ACTIONS(3196),
    [anon_sym_STAR_EQ] = ACTIONS(3196),
    [anon_sym_SLASH_EQ] = ACTIONS(3196),
    [anon_sym_PERCENT_EQ] = ACTIONS(3196),
    [anon_sym_BANG_EQ] = ACTIONS(3194),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3196),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3196),
    [anon_sym_LT_EQ] = ACTIONS(3196),
    [anon_sym_GT_EQ] = ACTIONS(3196),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3196),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3196),
    [anon_sym_is] = ACTIONS(3196),
    [anon_sym_PLUS] = ACTIONS(3194),
    [anon_sym_DASH] = ACTIONS(3194),
    [anon_sym_STAR] = ACTIONS(3194),
    [anon_sym_SLASH] = ACTIONS(3194),
    [anon_sym_PERCENT] = ACTIONS(3194),
    [anon_sym_PLUS_PLUS] = ACTIONS(3196),
    [anon_sym_DASH_DASH] = ACTIONS(3196),
    [anon_sym_PIPE] = ACTIONS(3196),
    [anon_sym_CARET] = ACTIONS(3194),
    [anon_sym_LT_LT] = ACTIONS(3196),
    [anon_sym_GT_GT] = ACTIONS(3196),
    [anon_sym_class] = ACTIONS(3196),
    [anon_sym_prefix] = ACTIONS(3196),
    [anon_sym_infix] = ACTIONS(3196),
    [anon_sym_postfix] = ACTIONS(3196),
    [anon_sym_AT] = ACTIONS(3194),
    [anon_sym_override] = ACTIONS(3196),
    [anon_sym_convenience] = ACTIONS(3196),
    [anon_sym_required] = ACTIONS(3196),
    [anon_sym_nonisolated] = ACTIONS(3196),
    [anon_sym_public] = ACTIONS(3196),
    [anon_sym_private] = ACTIONS(3196),
    [anon_sym_internal] = ACTIONS(3196),
    [anon_sym_fileprivate] = ACTIONS(3196),
    [anon_sym_open] = ACTIONS(3196),
    [anon_sym_mutating] = ACTIONS(3196),
    [anon_sym_nonmutating] = ACTIONS(3196),
    [anon_sym_static] = ACTIONS(3196),
    [anon_sym_dynamic] = ACTIONS(3196),
    [anon_sym_optional] = ACTIONS(3196),
    [anon_sym_distributed] = ACTIONS(3196),
    [anon_sym_final] = ACTIONS(3196),
    [anon_sym_inout] = ACTIONS(3196),
    [anon_sym_ATescaping] = ACTIONS(3196),
    [anon_sym_ATautoclosure] = ACTIONS(3196),
    [anon_sym_weak] = ACTIONS(3196),
    [anon_sym_unowned] = ACTIONS(3194),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3196),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3196),
    [anon_sym_borrowing] = ACTIONS(3196),
    [anon_sym_consuming] = ACTIONS(3196),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3196),
    [sym__explicit_semi] = ACTIONS(3196),
    [sym__dot_custom] = ACTIONS(3196),
    [sym__conjunction_operator_custom] = ACTIONS(3196),
    [sym__disjunction_operator_custom] = ACTIONS(3196),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3196),
    [sym__eq_custom] = ACTIONS(3196),
    [sym__eq_eq_custom] = ACTIONS(3196),
    [sym__plus_then_ws] = ACTIONS(3196),
    [sym__minus_then_ws] = ACTIONS(3196),
    [sym__bang_custom] = ACTIONS(3196),
    [sym_default_keyword] = ACTIONS(3196),
    [sym_where_keyword] = ACTIONS(3196),
    [sym__as_custom] = ACTIONS(3196),
    [sym__as_quest_custom] = ACTIONS(3196),
    [sym__as_bang_custom] = ACTIONS(3196),
    [sym__custom_operator] = ACTIONS(3196),
  },
  [1192] = {
    [anon_sym_BANG] = ACTIONS(2653),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2653),
    [aux_sym_simple_identifier_token2] = ACTIONS(2655),
    [aux_sym_simple_identifier_token3] = ACTIONS(2655),
    [aux_sym_simple_identifier_token4] = ACTIONS(2655),
    [anon_sym_actor] = ACTIONS(2653),
    [anon_sym_async] = ACTIONS(2653),
    [anon_sym_each] = ACTIONS(2653),
    [anon_sym_lazy] = ACTIONS(2653),
    [anon_sym_repeat] = ACTIONS(2653),
    [anon_sym_package] = ACTIONS(2653),
    [anon_sym_nil] = ACTIONS(2653),
    [sym_real_literal] = ACTIONS(2655),
    [sym_integer_literal] = ACTIONS(2653),
    [sym_hex_literal] = ACTIONS(2653),
    [sym_oct_literal] = ACTIONS(2655),
    [sym_bin_literal] = ACTIONS(2655),
    [anon_sym_true] = ACTIONS(2653),
    [anon_sym_false] = ACTIONS(2653),
    [anon_sym_DQUOTE] = ACTIONS(2653),
    [anon_sym_BSLASH] = ACTIONS(2655),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2655),
    [anon_sym_COMMA] = ACTIONS(2655),
    [sym__oneline_regex_literal] = ACTIONS(2653),
    [anon_sym_COLON] = ACTIONS(2655),
    [anon_sym_LPAREN] = ACTIONS(2655),
    [anon_sym_LBRACK] = ACTIONS(2655),
    [anon_sym_QMARK] = ACTIONS(2653),
    [anon_sym_QMARK2] = ACTIONS(2655),
    [anon_sym_AMP] = ACTIONS(2655),
    [anon_sym_TILDE] = ACTIONS(2655),
    [anon_sym_if] = ACTIONS(2653),
    [anon_sym_switch] = ACTIONS(2653),
    [aux_sym_custom_operator_token1] = ACTIONS(2655),
    [anon_sym_LT] = ACTIONS(2653),
    [anon_sym_GT] = ACTIONS(2653),
    [anon_sym_await] = ACTIONS(2653),
    [anon_sym_LBRACE] = ACTIONS(2655),
    [anon_sym_CARET_LBRACE] = ACTIONS(2655),
    [anon_sym_self] = ACTIONS(2653),
    [anon_sym_super] = ACTIONS(2653),
    [anon_sym_try] = ACTIONS(2653),
    [anon_sym_PLUS_EQ] = ACTIONS(2655),
    [anon_sym_DASH_EQ] = ACTIONS(2655),
    [anon_sym_STAR_EQ] = ACTIONS(2655),
    [anon_sym_SLASH_EQ] = ACTIONS(2655),
    [anon_sym_PERCENT_EQ] = ACTIONS(2655),
    [anon_sym_BANG_EQ] = ACTIONS(2653),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2655),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2655),
    [anon_sym_LT_EQ] = ACTIONS(2655),
    [anon_sym_GT_EQ] = ACTIONS(2655),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2655),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2655),
    [anon_sym_is] = ACTIONS(2653),
    [anon_sym_PLUS] = ACTIONS(2653),
    [anon_sym_DASH] = ACTIONS(2653),
    [anon_sym_STAR] = ACTIONS(2653),
    [anon_sym_SLASH] = ACTIONS(2653),
    [anon_sym_PERCENT] = ACTIONS(2653),
    [anon_sym_PLUS_PLUS] = ACTIONS(2655),
    [anon_sym_DASH_DASH] = ACTIONS(2655),
    [anon_sym_PIPE] = ACTIONS(2655),
    [anon_sym_CARET] = ACTIONS(2653),
    [anon_sym_LT_LT] = ACTIONS(2655),
    [anon_sym_GT_GT] = ACTIONS(2655),
    [anon_sym_borrowing] = ACTIONS(2653),
    [anon_sym_consuming] = ACTIONS(2653),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2655),
    [sym_raw_str_end_part] = ACTIONS(2655),
    [sym__dot_custom] = ACTIONS(2655),
    [sym__conjunction_operator_custom] = ACTIONS(2655),
    [sym__disjunction_operator_custom] = ACTIONS(2655),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2655),
    [sym__eq_custom] = ACTIONS(2655),
    [sym__eq_eq_custom] = ACTIONS(2655),
    [sym__plus_then_ws] = ACTIONS(2655),
    [sym__minus_then_ws] = ACTIONS(2655),
    [sym__bang_custom] = ACTIONS(2655),
    [sym_where_keyword] = ACTIONS(2655),
    [sym__as_custom] = ACTIONS(2655),
    [sym__as_quest_custom] = ACTIONS(2655),
    [sym__as_bang_custom] = ACTIONS(2655),
    [sym__custom_operator] = ACTIONS(2655),
    [sym__hash_symbol_custom] = ACTIONS(2655),
    [sym__directive_if] = ACTIONS(2655),
    [sym__directive_elseif] = ACTIONS(2655),
    [sym__directive_else] = ACTIONS(2655),
    [sym__directive_endif] = ACTIONS(2655),
  },
  [1193] = {
    [anon_sym_BANG] = ACTIONS(3198),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3200),
    [anon_sym_package] = ACTIONS(3200),
    [anon_sym_COMMA] = ACTIONS(3200),
    [anon_sym_LPAREN] = ACTIONS(3200),
    [anon_sym_LBRACK] = ACTIONS(3200),
    [anon_sym_DOT] = ACTIONS(3198),
    [anon_sym_QMARK] = ACTIONS(3198),
    [anon_sym_QMARK2] = ACTIONS(3200),
    [anon_sym_AMP] = ACTIONS(3200),
    [aux_sym_custom_operator_token1] = ACTIONS(3200),
    [anon_sym_LT] = ACTIONS(3198),
    [anon_sym_GT] = ACTIONS(3198),
    [anon_sym_LBRACE] = ACTIONS(3200),
    [anon_sym_CARET_LBRACE] = ACTIONS(3200),
    [anon_sym_RBRACE] = ACTIONS(3200),
    [anon_sym_case] = ACTIONS(3200),
    [anon_sym_fallthrough] = ACTIONS(3200),
    [anon_sym_PLUS_EQ] = ACTIONS(3200),
    [anon_sym_DASH_EQ] = ACTIONS(3200),
    [anon_sym_STAR_EQ] = ACTIONS(3200),
    [anon_sym_SLASH_EQ] = ACTIONS(3200),
    [anon_sym_PERCENT_EQ] = ACTIONS(3200),
    [anon_sym_BANG_EQ] = ACTIONS(3198),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3200),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3200),
    [anon_sym_LT_EQ] = ACTIONS(3200),
    [anon_sym_GT_EQ] = ACTIONS(3200),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3200),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3200),
    [anon_sym_is] = ACTIONS(3200),
    [anon_sym_PLUS] = ACTIONS(3198),
    [anon_sym_DASH] = ACTIONS(3198),
    [anon_sym_STAR] = ACTIONS(3198),
    [anon_sym_SLASH] = ACTIONS(3198),
    [anon_sym_PERCENT] = ACTIONS(3198),
    [anon_sym_PLUS_PLUS] = ACTIONS(3200),
    [anon_sym_DASH_DASH] = ACTIONS(3200),
    [anon_sym_PIPE] = ACTIONS(3200),
    [anon_sym_CARET] = ACTIONS(3198),
    [anon_sym_LT_LT] = ACTIONS(3200),
    [anon_sym_GT_GT] = ACTIONS(3200),
    [anon_sym_class] = ACTIONS(3200),
    [anon_sym_prefix] = ACTIONS(3200),
    [anon_sym_infix] = ACTIONS(3200),
    [anon_sym_postfix] = ACTIONS(3200),
    [anon_sym_AT] = ACTIONS(3198),
    [anon_sym_override] = ACTIONS(3200),
    [anon_sym_convenience] = ACTIONS(3200),
    [anon_sym_required] = ACTIONS(3200),
    [anon_sym_nonisolated] = ACTIONS(3200),
    [anon_sym_public] = ACTIONS(3200),
    [anon_sym_private] = ACTIONS(3200),
    [anon_sym_internal] = ACTIONS(3200),
    [anon_sym_fileprivate] = ACTIONS(3200),
    [anon_sym_open] = ACTIONS(3200),
    [anon_sym_mutating] = ACTIONS(3200),
    [anon_sym_nonmutating] = ACTIONS(3200),
    [anon_sym_static] = ACTIONS(3200),
    [anon_sym_dynamic] = ACTIONS(3200),
    [anon_sym_optional] = ACTIONS(3200),
    [anon_sym_distributed] = ACTIONS(3200),
    [anon_sym_final] = ACTIONS(3200),
    [anon_sym_inout] = ACTIONS(3200),
    [anon_sym_ATescaping] = ACTIONS(3200),
    [anon_sym_ATautoclosure] = ACTIONS(3200),
    [anon_sym_weak] = ACTIONS(3200),
    [anon_sym_unowned] = ACTIONS(3198),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3200),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3200),
    [anon_sym_borrowing] = ACTIONS(3200),
    [anon_sym_consuming] = ACTIONS(3200),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3200),
    [sym__explicit_semi] = ACTIONS(3200),
    [sym__dot_custom] = ACTIONS(3200),
    [sym__conjunction_operator_custom] = ACTIONS(3200),
    [sym__disjunction_operator_custom] = ACTIONS(3200),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3200),
    [sym__eq_custom] = ACTIONS(3200),
    [sym__eq_eq_custom] = ACTIONS(3200),
    [sym__plus_then_ws] = ACTIONS(3200),
    [sym__minus_then_ws] = ACTIONS(3200),
    [sym__bang_custom] = ACTIONS(3200),
    [sym_default_keyword] = ACTIONS(3200),
    [sym_where_keyword] = ACTIONS(3200),
    [sym__as_custom] = ACTIONS(3200),
    [sym__as_quest_custom] = ACTIONS(3200),
    [sym__as_bang_custom] = ACTIONS(3200),
    [sym__custom_operator] = ACTIONS(3200),
  },
  [1194] = {
    [anon_sym_BANG] = ACTIONS(2687),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2676),
    [aux_sym_simple_identifier_token2] = ACTIONS(2678),
    [aux_sym_simple_identifier_token3] = ACTIONS(2678),
    [aux_sym_simple_identifier_token4] = ACTIONS(2678),
    [anon_sym_actor] = ACTIONS(2676),
    [anon_sym_async] = ACTIONS(2676),
    [anon_sym_each] = ACTIONS(2676),
    [anon_sym_lazy] = ACTIONS(2676),
    [anon_sym_repeat] = ACTIONS(2676),
    [anon_sym_package] = ACTIONS(2676),
    [anon_sym_nil] = ACTIONS(2676),
    [sym_real_literal] = ACTIONS(2678),
    [sym_integer_literal] = ACTIONS(2676),
    [sym_hex_literal] = ACTIONS(2676),
    [sym_oct_literal] = ACTIONS(2678),
    [sym_bin_literal] = ACTIONS(2678),
    [anon_sym_true] = ACTIONS(2676),
    [anon_sym_false] = ACTIONS(2676),
    [anon_sym_DQUOTE] = ACTIONS(2676),
    [anon_sym_BSLASH] = ACTIONS(2678),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2678),
    [anon_sym_COMMA] = ACTIONS(2690),
    [sym__oneline_regex_literal] = ACTIONS(2676),
    [anon_sym_COLON] = ACTIONS(2690),
    [anon_sym_LPAREN] = ACTIONS(2692),
    [anon_sym_LBRACK] = ACTIONS(2692),
    [anon_sym_QMARK] = ACTIONS(2695),
    [anon_sym_QMARK2] = ACTIONS(2690),
    [anon_sym_AMP] = ACTIONS(2692),
    [anon_sym_TILDE] = ACTIONS(2678),
    [anon_sym_if] = ACTIONS(2676),
    [anon_sym_switch] = ACTIONS(2676),
    [aux_sym_custom_operator_token1] = ACTIONS(2692),
    [anon_sym_LT] = ACTIONS(2687),
    [anon_sym_GT] = ACTIONS(2687),
    [anon_sym_await] = ACTIONS(2676),
    [anon_sym_LBRACE] = ACTIONS(2692),
    [anon_sym_CARET_LBRACE] = ACTIONS(2692),
    [anon_sym_self] = ACTIONS(2676),
    [anon_sym_super] = ACTIONS(2676),
    [anon_sym_try] = ACTIONS(2676),
    [anon_sym_PLUS_EQ] = ACTIONS(2692),
    [anon_sym_DASH_EQ] = ACTIONS(2692),
    [anon_sym_STAR_EQ] = ACTIONS(2692),
    [anon_sym_SLASH_EQ] = ACTIONS(2692),
    [anon_sym_PERCENT_EQ] = ACTIONS(2692),
    [anon_sym_BANG_EQ] = ACTIONS(2687),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2692),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2692),
    [anon_sym_LT_EQ] = ACTIONS(2692),
    [anon_sym_GT_EQ] = ACTIONS(2692),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2692),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2692),
    [anon_sym_is] = ACTIONS(2695),
    [anon_sym_PLUS] = ACTIONS(2687),
    [anon_sym_DASH] = ACTIONS(2687),
    [anon_sym_STAR] = ACTIONS(2687),
    [anon_sym_SLASH] = ACTIONS(2687),
    [anon_sym_PERCENT] = ACTIONS(2687),
    [anon_sym_PLUS_PLUS] = ACTIONS(2692),
    [anon_sym_DASH_DASH] = ACTIONS(2692),
    [anon_sym_PIPE] = ACTIONS(2692),
    [anon_sym_CARET] = ACTIONS(2687),
    [anon_sym_LT_LT] = ACTIONS(2692),
    [anon_sym_GT_GT] = ACTIONS(2692),
    [anon_sym_borrowing] = ACTIONS(2676),
    [anon_sym_consuming] = ACTIONS(2676),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2678),
    [sym_raw_str_end_part] = ACTIONS(2678),
    [sym__dot_custom] = ACTIONS(2692),
    [sym__conjunction_operator_custom] = ACTIONS(2690),
    [sym__disjunction_operator_custom] = ACTIONS(2690),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2690),
    [sym__eq_custom] = ACTIONS(2692),
    [sym__eq_eq_custom] = ACTIONS(2692),
    [sym__plus_then_ws] = ACTIONS(2692),
    [sym__minus_then_ws] = ACTIONS(2692),
    [sym__bang_custom] = ACTIONS(2692),
    [sym_where_keyword] = ACTIONS(2690),
    [sym__as_custom] = ACTIONS(2690),
    [sym__as_quest_custom] = ACTIONS(2690),
    [sym__as_bang_custom] = ACTIONS(2690),
    [sym__custom_operator] = ACTIONS(2692),
    [sym__hash_symbol_custom] = ACTIONS(2678),
    [sym__directive_if] = ACTIONS(2678),
    [sym__directive_elseif] = ACTIONS(2678),
    [sym__directive_else] = ACTIONS(2678),
    [sym__directive_endif] = ACTIONS(2678),
  },
  [1195] = {
    [anon_sym_BANG] = ACTIONS(2661),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2663),
    [anon_sym_package] = ACTIONS(2663),
    [anon_sym_COMMA] = ACTIONS(2663),
    [anon_sym_LPAREN] = ACTIONS(2663),
    [anon_sym_LBRACK] = ACTIONS(2663),
    [anon_sym_DOT] = ACTIONS(2661),
    [anon_sym_QMARK] = ACTIONS(2661),
    [anon_sym_QMARK2] = ACTIONS(2663),
    [anon_sym_AMP] = ACTIONS(2663),
    [aux_sym_custom_operator_token1] = ACTIONS(2663),
    [anon_sym_LT] = ACTIONS(2661),
    [anon_sym_GT] = ACTIONS(2661),
    [anon_sym_LBRACE] = ACTIONS(2663),
    [anon_sym_CARET_LBRACE] = ACTIONS(2663),
    [anon_sym_RBRACE] = ACTIONS(2663),
    [anon_sym_self] = ACTIONS(2663),
    [anon_sym_case] = ACTIONS(2663),
    [anon_sym_fallthrough] = ACTIONS(2663),
    [anon_sym_PLUS_EQ] = ACTIONS(2663),
    [anon_sym_DASH_EQ] = ACTIONS(2663),
    [anon_sym_STAR_EQ] = ACTIONS(2663),
    [anon_sym_SLASH_EQ] = ACTIONS(2663),
    [anon_sym_PERCENT_EQ] = ACTIONS(2663),
    [anon_sym_BANG_EQ] = ACTIONS(2661),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2663),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2663),
    [anon_sym_LT_EQ] = ACTIONS(2663),
    [anon_sym_GT_EQ] = ACTIONS(2663),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2663),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2663),
    [anon_sym_is] = ACTIONS(2663),
    [anon_sym_PLUS] = ACTIONS(2661),
    [anon_sym_DASH] = ACTIONS(2661),
    [anon_sym_STAR] = ACTIONS(2661),
    [anon_sym_SLASH] = ACTIONS(2661),
    [anon_sym_PERCENT] = ACTIONS(2661),
    [anon_sym_PLUS_PLUS] = ACTIONS(2663),
    [anon_sym_DASH_DASH] = ACTIONS(2663),
    [anon_sym_PIPE] = ACTIONS(2663),
    [anon_sym_CARET] = ACTIONS(2661),
    [anon_sym_LT_LT] = ACTIONS(2663),
    [anon_sym_GT_GT] = ACTIONS(2663),
    [anon_sym_class] = ACTIONS(2663),
    [anon_sym_prefix] = ACTIONS(2663),
    [anon_sym_infix] = ACTIONS(2663),
    [anon_sym_postfix] = ACTIONS(2663),
    [anon_sym_AT] = ACTIONS(2661),
    [anon_sym_override] = ACTIONS(2663),
    [anon_sym_convenience] = ACTIONS(2663),
    [anon_sym_required] = ACTIONS(2663),
    [anon_sym_nonisolated] = ACTIONS(2663),
    [anon_sym_public] = ACTIONS(2663),
    [anon_sym_private] = ACTIONS(2663),
    [anon_sym_internal] = ACTIONS(2663),
    [anon_sym_fileprivate] = ACTIONS(2663),
    [anon_sym_open] = ACTIONS(2663),
    [anon_sym_mutating] = ACTIONS(2663),
    [anon_sym_nonmutating] = ACTIONS(2663),
    [anon_sym_static] = ACTIONS(2663),
    [anon_sym_dynamic] = ACTIONS(2663),
    [anon_sym_optional] = ACTIONS(2663),
    [anon_sym_distributed] = ACTIONS(2663),
    [anon_sym_final] = ACTIONS(2663),
    [anon_sym_inout] = ACTIONS(2663),
    [anon_sym_ATescaping] = ACTIONS(2663),
    [anon_sym_ATautoclosure] = ACTIONS(2663),
    [anon_sym_weak] = ACTIONS(2663),
    [anon_sym_unowned] = ACTIONS(2661),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2663),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2663),
    [anon_sym_borrowing] = ACTIONS(2663),
    [anon_sym_consuming] = ACTIONS(2663),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2663),
    [sym__explicit_semi] = ACTIONS(2663),
    [sym__dot_custom] = ACTIONS(2663),
    [sym__conjunction_operator_custom] = ACTIONS(2663),
    [sym__disjunction_operator_custom] = ACTIONS(2663),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2663),
    [sym__eq_custom] = ACTIONS(2663),
    [sym__eq_eq_custom] = ACTIONS(2663),
    [sym__plus_then_ws] = ACTIONS(2663),
    [sym__minus_then_ws] = ACTIONS(2663),
    [sym__bang_custom] = ACTIONS(2663),
    [sym_default_keyword] = ACTIONS(2663),
    [sym__as_custom] = ACTIONS(2663),
    [sym__as_quest_custom] = ACTIONS(2663),
    [sym__as_bang_custom] = ACTIONS(2663),
    [sym__custom_operator] = ACTIONS(2663),
  },
  [1196] = {
    [anon_sym_BANG] = ACTIONS(3248),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3250),
    [anon_sym_package] = ACTIONS(3250),
    [anon_sym_COMMA] = ACTIONS(3250),
    [anon_sym_LPAREN] = ACTIONS(3250),
    [anon_sym_LBRACK] = ACTIONS(3250),
    [anon_sym_DOT] = ACTIONS(3248),
    [anon_sym_QMARK] = ACTIONS(3248),
    [anon_sym_QMARK2] = ACTIONS(3250),
    [anon_sym_AMP] = ACTIONS(3250),
    [aux_sym_custom_operator_token1] = ACTIONS(3250),
    [anon_sym_LT] = ACTIONS(3248),
    [anon_sym_GT] = ACTIONS(3248),
    [anon_sym_LBRACE] = ACTIONS(3250),
    [anon_sym_CARET_LBRACE] = ACTIONS(3250),
    [anon_sym_RBRACE] = ACTIONS(3250),
    [anon_sym_self] = ACTIONS(3250),
    [anon_sym_case] = ACTIONS(3250),
    [anon_sym_fallthrough] = ACTIONS(3250),
    [anon_sym_PLUS_EQ] = ACTIONS(3250),
    [anon_sym_DASH_EQ] = ACTIONS(3250),
    [anon_sym_STAR_EQ] = ACTIONS(3250),
    [anon_sym_SLASH_EQ] = ACTIONS(3250),
    [anon_sym_PERCENT_EQ] = ACTIONS(3250),
    [anon_sym_BANG_EQ] = ACTIONS(3248),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3250),
    [anon_sym_LT_EQ] = ACTIONS(3250),
    [anon_sym_GT_EQ] = ACTIONS(3250),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3250),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3250),
    [anon_sym_is] = ACTIONS(3250),
    [anon_sym_PLUS] = ACTIONS(3248),
    [anon_sym_DASH] = ACTIONS(3248),
    [anon_sym_STAR] = ACTIONS(3248),
    [anon_sym_SLASH] = ACTIONS(3248),
    [anon_sym_PERCENT] = ACTIONS(3248),
    [anon_sym_PLUS_PLUS] = ACTIONS(3250),
    [anon_sym_DASH_DASH] = ACTIONS(3250),
    [anon_sym_PIPE] = ACTIONS(3250),
    [anon_sym_CARET] = ACTIONS(3248),
    [anon_sym_LT_LT] = ACTIONS(3250),
    [anon_sym_GT_GT] = ACTIONS(3250),
    [anon_sym_class] = ACTIONS(3250),
    [anon_sym_prefix] = ACTIONS(3250),
    [anon_sym_infix] = ACTIONS(3250),
    [anon_sym_postfix] = ACTIONS(3250),
    [anon_sym_AT] = ACTIONS(3248),
    [anon_sym_override] = ACTIONS(3250),
    [anon_sym_convenience] = ACTIONS(3250),
    [anon_sym_required] = ACTIONS(3250),
    [anon_sym_nonisolated] = ACTIONS(3250),
    [anon_sym_public] = ACTIONS(3250),
    [anon_sym_private] = ACTIONS(3250),
    [anon_sym_internal] = ACTIONS(3250),
    [anon_sym_fileprivate] = ACTIONS(3250),
    [anon_sym_open] = ACTIONS(3250),
    [anon_sym_mutating] = ACTIONS(3250),
    [anon_sym_nonmutating] = ACTIONS(3250),
    [anon_sym_static] = ACTIONS(3250),
    [anon_sym_dynamic] = ACTIONS(3250),
    [anon_sym_optional] = ACTIONS(3250),
    [anon_sym_distributed] = ACTIONS(3250),
    [anon_sym_final] = ACTIONS(3250),
    [anon_sym_inout] = ACTIONS(3250),
    [anon_sym_ATescaping] = ACTIONS(3250),
    [anon_sym_ATautoclosure] = ACTIONS(3250),
    [anon_sym_weak] = ACTIONS(3250),
    [anon_sym_unowned] = ACTIONS(3248),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3250),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3250),
    [anon_sym_borrowing] = ACTIONS(3250),
    [anon_sym_consuming] = ACTIONS(3250),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3250),
    [sym__explicit_semi] = ACTIONS(3250),
    [sym__dot_custom] = ACTIONS(3250),
    [sym__conjunction_operator_custom] = ACTIONS(3250),
    [sym__disjunction_operator_custom] = ACTIONS(3250),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3250),
    [sym__eq_custom] = ACTIONS(3250),
    [sym__eq_eq_custom] = ACTIONS(3250),
    [sym__plus_then_ws] = ACTIONS(3250),
    [sym__minus_then_ws] = ACTIONS(3250),
    [sym__bang_custom] = ACTIONS(3250),
    [sym_default_keyword] = ACTIONS(3250),
    [sym__as_custom] = ACTIONS(3250),
    [sym__as_quest_custom] = ACTIONS(3250),
    [sym__as_bang_custom] = ACTIONS(3250),
    [sym__custom_operator] = ACTIONS(3250),
  },
  [1197] = {
    [anon_sym_BANG] = ACTIONS(3133),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3135),
    [anon_sym_package] = ACTIONS(3135),
    [anon_sym_COMMA] = ACTIONS(3135),
    [anon_sym_LPAREN] = ACTIONS(3135),
    [anon_sym_LBRACK] = ACTIONS(3135),
    [anon_sym_DOT] = ACTIONS(3133),
    [anon_sym_QMARK] = ACTIONS(3133),
    [anon_sym_QMARK2] = ACTIONS(3135),
    [anon_sym_AMP] = ACTIONS(3135),
    [aux_sym_custom_operator_token1] = ACTIONS(3135),
    [anon_sym_LT] = ACTIONS(3133),
    [anon_sym_GT] = ACTIONS(3133),
    [anon_sym_LBRACE] = ACTIONS(3135),
    [anon_sym_CARET_LBRACE] = ACTIONS(3135),
    [anon_sym_RBRACE] = ACTIONS(3135),
    [anon_sym_case] = ACTIONS(3135),
    [anon_sym_fallthrough] = ACTIONS(3135),
    [anon_sym_PLUS_EQ] = ACTIONS(3135),
    [anon_sym_DASH_EQ] = ACTIONS(3135),
    [anon_sym_STAR_EQ] = ACTIONS(3135),
    [anon_sym_SLASH_EQ] = ACTIONS(3135),
    [anon_sym_PERCENT_EQ] = ACTIONS(3135),
    [anon_sym_BANG_EQ] = ACTIONS(3133),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3135),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3135),
    [anon_sym_LT_EQ] = ACTIONS(3135),
    [anon_sym_GT_EQ] = ACTIONS(3135),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3135),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3135),
    [anon_sym_is] = ACTIONS(3135),
    [anon_sym_PLUS] = ACTIONS(3133),
    [anon_sym_DASH] = ACTIONS(3133),
    [anon_sym_STAR] = ACTIONS(3133),
    [anon_sym_SLASH] = ACTIONS(3133),
    [anon_sym_PERCENT] = ACTIONS(3133),
    [anon_sym_PLUS_PLUS] = ACTIONS(3135),
    [anon_sym_DASH_DASH] = ACTIONS(3135),
    [anon_sym_PIPE] = ACTIONS(3135),
    [anon_sym_CARET] = ACTIONS(3133),
    [anon_sym_LT_LT] = ACTIONS(3135),
    [anon_sym_GT_GT] = ACTIONS(3135),
    [anon_sym_class] = ACTIONS(3135),
    [anon_sym_prefix] = ACTIONS(3135),
    [anon_sym_infix] = ACTIONS(3135),
    [anon_sym_postfix] = ACTIONS(3135),
    [anon_sym_AT] = ACTIONS(3133),
    [anon_sym_override] = ACTIONS(3135),
    [anon_sym_convenience] = ACTIONS(3135),
    [anon_sym_required] = ACTIONS(3135),
    [anon_sym_nonisolated] = ACTIONS(3135),
    [anon_sym_public] = ACTIONS(3135),
    [anon_sym_private] = ACTIONS(3135),
    [anon_sym_internal] = ACTIONS(3135),
    [anon_sym_fileprivate] = ACTIONS(3135),
    [anon_sym_open] = ACTIONS(3135),
    [anon_sym_mutating] = ACTIONS(3135),
    [anon_sym_nonmutating] = ACTIONS(3135),
    [anon_sym_static] = ACTIONS(3135),
    [anon_sym_dynamic] = ACTIONS(3135),
    [anon_sym_optional] = ACTIONS(3135),
    [anon_sym_distributed] = ACTIONS(3135),
    [anon_sym_final] = ACTIONS(3135),
    [anon_sym_inout] = ACTIONS(3135),
    [anon_sym_ATescaping] = ACTIONS(3135),
    [anon_sym_ATautoclosure] = ACTIONS(3135),
    [anon_sym_weak] = ACTIONS(3135),
    [anon_sym_unowned] = ACTIONS(3133),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3135),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3135),
    [anon_sym_borrowing] = ACTIONS(3135),
    [anon_sym_consuming] = ACTIONS(3135),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3135),
    [sym__explicit_semi] = ACTIONS(3135),
    [sym__dot_custom] = ACTIONS(3135),
    [sym__conjunction_operator_custom] = ACTIONS(3135),
    [sym__disjunction_operator_custom] = ACTIONS(3135),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3135),
    [sym__eq_custom] = ACTIONS(3135),
    [sym__eq_eq_custom] = ACTIONS(3135),
    [sym__plus_then_ws] = ACTIONS(3135),
    [sym__minus_then_ws] = ACTIONS(3135),
    [sym__bang_custom] = ACTIONS(3135),
    [sym_default_keyword] = ACTIONS(3135),
    [sym_where_keyword] = ACTIONS(3135),
    [sym__as_custom] = ACTIONS(3135),
    [sym__as_quest_custom] = ACTIONS(3135),
    [sym__as_bang_custom] = ACTIONS(3135),
    [sym__custom_operator] = ACTIONS(3135),
  },
  [1198] = {
    [anon_sym_BANG] = ACTIONS(3125),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3127),
    [anon_sym_package] = ACTIONS(3127),
    [anon_sym_COMMA] = ACTIONS(3127),
    [anon_sym_LPAREN] = ACTIONS(3127),
    [anon_sym_LBRACK] = ACTIONS(3127),
    [anon_sym_DOT] = ACTIONS(3125),
    [anon_sym_QMARK] = ACTIONS(3125),
    [anon_sym_QMARK2] = ACTIONS(3127),
    [anon_sym_AMP] = ACTIONS(3127),
    [aux_sym_custom_operator_token1] = ACTIONS(3127),
    [anon_sym_LT] = ACTIONS(3125),
    [anon_sym_GT] = ACTIONS(3125),
    [anon_sym_LBRACE] = ACTIONS(3127),
    [anon_sym_CARET_LBRACE] = ACTIONS(3127),
    [anon_sym_RBRACE] = ACTIONS(3127),
    [anon_sym_case] = ACTIONS(3127),
    [anon_sym_fallthrough] = ACTIONS(3127),
    [anon_sym_PLUS_EQ] = ACTIONS(3127),
    [anon_sym_DASH_EQ] = ACTIONS(3127),
    [anon_sym_STAR_EQ] = ACTIONS(3127),
    [anon_sym_SLASH_EQ] = ACTIONS(3127),
    [anon_sym_PERCENT_EQ] = ACTIONS(3127),
    [anon_sym_BANG_EQ] = ACTIONS(3125),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3127),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3127),
    [anon_sym_LT_EQ] = ACTIONS(3127),
    [anon_sym_GT_EQ] = ACTIONS(3127),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3127),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3127),
    [anon_sym_is] = ACTIONS(3127),
    [anon_sym_PLUS] = ACTIONS(3125),
    [anon_sym_DASH] = ACTIONS(3125),
    [anon_sym_STAR] = ACTIONS(3125),
    [anon_sym_SLASH] = ACTIONS(3125),
    [anon_sym_PERCENT] = ACTIONS(3125),
    [anon_sym_PLUS_PLUS] = ACTIONS(3127),
    [anon_sym_DASH_DASH] = ACTIONS(3127),
    [anon_sym_PIPE] = ACTIONS(3127),
    [anon_sym_CARET] = ACTIONS(3125),
    [anon_sym_LT_LT] = ACTIONS(3127),
    [anon_sym_GT_GT] = ACTIONS(3127),
    [anon_sym_class] = ACTIONS(3127),
    [anon_sym_prefix] = ACTIONS(3127),
    [anon_sym_infix] = ACTIONS(3127),
    [anon_sym_postfix] = ACTIONS(3127),
    [anon_sym_AT] = ACTIONS(3125),
    [anon_sym_override] = ACTIONS(3127),
    [anon_sym_convenience] = ACTIONS(3127),
    [anon_sym_required] = ACTIONS(3127),
    [anon_sym_nonisolated] = ACTIONS(3127),
    [anon_sym_public] = ACTIONS(3127),
    [anon_sym_private] = ACTIONS(3127),
    [anon_sym_internal] = ACTIONS(3127),
    [anon_sym_fileprivate] = ACTIONS(3127),
    [anon_sym_open] = ACTIONS(3127),
    [anon_sym_mutating] = ACTIONS(3127),
    [anon_sym_nonmutating] = ACTIONS(3127),
    [anon_sym_static] = ACTIONS(3127),
    [anon_sym_dynamic] = ACTIONS(3127),
    [anon_sym_optional] = ACTIONS(3127),
    [anon_sym_distributed] = ACTIONS(3127),
    [anon_sym_final] = ACTIONS(3127),
    [anon_sym_inout] = ACTIONS(3127),
    [anon_sym_ATescaping] = ACTIONS(3127),
    [anon_sym_ATautoclosure] = ACTIONS(3127),
    [anon_sym_weak] = ACTIONS(3127),
    [anon_sym_unowned] = ACTIONS(3125),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3127),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3127),
    [anon_sym_borrowing] = ACTIONS(3127),
    [anon_sym_consuming] = ACTIONS(3127),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3127),
    [sym__explicit_semi] = ACTIONS(3127),
    [sym__dot_custom] = ACTIONS(3127),
    [sym__conjunction_operator_custom] = ACTIONS(3127),
    [sym__disjunction_operator_custom] = ACTIONS(3127),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3127),
    [sym__eq_custom] = ACTIONS(3127),
    [sym__eq_eq_custom] = ACTIONS(3127),
    [sym__plus_then_ws] = ACTIONS(3127),
    [sym__minus_then_ws] = ACTIONS(3127),
    [sym__bang_custom] = ACTIONS(3127),
    [sym_default_keyword] = ACTIONS(3127),
    [sym_where_keyword] = ACTIONS(3127),
    [sym__as_custom] = ACTIONS(3127),
    [sym__as_quest_custom] = ACTIONS(3127),
    [sym__as_bang_custom] = ACTIONS(3127),
    [sym__custom_operator] = ACTIONS(3127),
  },
  [1199] = {
    [anon_sym_BANG] = ACTIONS(3105),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3107),
    [anon_sym_package] = ACTIONS(3107),
    [anon_sym_COMMA] = ACTIONS(3107),
    [anon_sym_LPAREN] = ACTIONS(3107),
    [anon_sym_LBRACK] = ACTIONS(3107),
    [anon_sym_DOT] = ACTIONS(3105),
    [anon_sym_QMARK] = ACTIONS(3105),
    [anon_sym_QMARK2] = ACTIONS(3107),
    [anon_sym_AMP] = ACTIONS(3107),
    [aux_sym_custom_operator_token1] = ACTIONS(3107),
    [anon_sym_LT] = ACTIONS(3105),
    [anon_sym_GT] = ACTIONS(3105),
    [anon_sym_LBRACE] = ACTIONS(3107),
    [anon_sym_CARET_LBRACE] = ACTIONS(3107),
    [anon_sym_RBRACE] = ACTIONS(3107),
    [anon_sym_case] = ACTIONS(3107),
    [anon_sym_fallthrough] = ACTIONS(3107),
    [anon_sym_PLUS_EQ] = ACTIONS(3107),
    [anon_sym_DASH_EQ] = ACTIONS(3107),
    [anon_sym_STAR_EQ] = ACTIONS(3107),
    [anon_sym_SLASH_EQ] = ACTIONS(3107),
    [anon_sym_PERCENT_EQ] = ACTIONS(3107),
    [anon_sym_BANG_EQ] = ACTIONS(3105),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3107),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3107),
    [anon_sym_LT_EQ] = ACTIONS(3107),
    [anon_sym_GT_EQ] = ACTIONS(3107),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3107),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3107),
    [anon_sym_is] = ACTIONS(3107),
    [anon_sym_PLUS] = ACTIONS(3105),
    [anon_sym_DASH] = ACTIONS(3105),
    [anon_sym_STAR] = ACTIONS(3105),
    [anon_sym_SLASH] = ACTIONS(3105),
    [anon_sym_PERCENT] = ACTIONS(3105),
    [anon_sym_PLUS_PLUS] = ACTIONS(3107),
    [anon_sym_DASH_DASH] = ACTIONS(3107),
    [anon_sym_PIPE] = ACTIONS(3107),
    [anon_sym_CARET] = ACTIONS(3105),
    [anon_sym_LT_LT] = ACTIONS(3107),
    [anon_sym_GT_GT] = ACTIONS(3107),
    [anon_sym_class] = ACTIONS(3107),
    [anon_sym_prefix] = ACTIONS(3107),
    [anon_sym_infix] = ACTIONS(3107),
    [anon_sym_postfix] = ACTIONS(3107),
    [anon_sym_AT] = ACTIONS(3105),
    [anon_sym_override] = ACTIONS(3107),
    [anon_sym_convenience] = ACTIONS(3107),
    [anon_sym_required] = ACTIONS(3107),
    [anon_sym_nonisolated] = ACTIONS(3107),
    [anon_sym_public] = ACTIONS(3107),
    [anon_sym_private] = ACTIONS(3107),
    [anon_sym_internal] = ACTIONS(3107),
    [anon_sym_fileprivate] = ACTIONS(3107),
    [anon_sym_open] = ACTIONS(3107),
    [anon_sym_mutating] = ACTIONS(3107),
    [anon_sym_nonmutating] = ACTIONS(3107),
    [anon_sym_static] = ACTIONS(3107),
    [anon_sym_dynamic] = ACTIONS(3107),
    [anon_sym_optional] = ACTIONS(3107),
    [anon_sym_distributed] = ACTIONS(3107),
    [anon_sym_final] = ACTIONS(3107),
    [anon_sym_inout] = ACTIONS(3107),
    [anon_sym_ATescaping] = ACTIONS(3107),
    [anon_sym_ATautoclosure] = ACTIONS(3107),
    [anon_sym_weak] = ACTIONS(3107),
    [anon_sym_unowned] = ACTIONS(3105),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3107),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3107),
    [anon_sym_borrowing] = ACTIONS(3107),
    [anon_sym_consuming] = ACTIONS(3107),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3107),
    [sym__explicit_semi] = ACTIONS(3107),
    [sym__dot_custom] = ACTIONS(3107),
    [sym__conjunction_operator_custom] = ACTIONS(3107),
    [sym__disjunction_operator_custom] = ACTIONS(3107),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3107),
    [sym__eq_custom] = ACTIONS(3107),
    [sym__eq_eq_custom] = ACTIONS(3107),
    [sym__plus_then_ws] = ACTIONS(3107),
    [sym__minus_then_ws] = ACTIONS(3107),
    [sym__bang_custom] = ACTIONS(3107),
    [sym_default_keyword] = ACTIONS(3107),
    [sym_where_keyword] = ACTIONS(3107),
    [sym__as_custom] = ACTIONS(3107),
    [sym__as_quest_custom] = ACTIONS(3107),
    [sym__as_bang_custom] = ACTIONS(3107),
    [sym__custom_operator] = ACTIONS(3107),
  },
  [1200] = {
    [sym__conjunction_operator] = STATE(4912),
    [sym__disjunction_operator] = STATE(4912),
    [anon_sym_BANG] = ACTIONS(3275),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3277),
    [anon_sym_package] = ACTIONS(3277),
    [anon_sym_COMMA] = ACTIONS(3277),
    [anon_sym_LPAREN] = ACTIONS(3277),
    [anon_sym_LBRACK] = ACTIONS(3277),
    [anon_sym_QMARK] = ACTIONS(3275),
    [anon_sym_QMARK2] = ACTIONS(3277),
    [anon_sym_AMP] = ACTIONS(3277),
    [aux_sym_custom_operator_token1] = ACTIONS(3277),
    [anon_sym_LT] = ACTIONS(3275),
    [anon_sym_GT] = ACTIONS(3275),
    [anon_sym_LBRACE] = ACTIONS(3277),
    [anon_sym_CARET_LBRACE] = ACTIONS(3277),
    [anon_sym_RBRACE] = ACTIONS(3277),
    [anon_sym_case] = ACTIONS(3277),
    [anon_sym_fallthrough] = ACTIONS(3277),
    [anon_sym_PLUS_EQ] = ACTIONS(3277),
    [anon_sym_DASH_EQ] = ACTIONS(3277),
    [anon_sym_STAR_EQ] = ACTIONS(3277),
    [anon_sym_SLASH_EQ] = ACTIONS(3277),
    [anon_sym_PERCENT_EQ] = ACTIONS(3277),
    [anon_sym_BANG_EQ] = ACTIONS(3275),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3277),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3277),
    [anon_sym_LT_EQ] = ACTIONS(3277),
    [anon_sym_GT_EQ] = ACTIONS(3277),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3277),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3277),
    [anon_sym_is] = ACTIONS(3277),
    [anon_sym_PLUS] = ACTIONS(3275),
    [anon_sym_DASH] = ACTIONS(3275),
    [anon_sym_STAR] = ACTIONS(3275),
    [anon_sym_SLASH] = ACTIONS(3275),
    [anon_sym_PERCENT] = ACTIONS(3275),
    [anon_sym_PLUS_PLUS] = ACTIONS(3277),
    [anon_sym_DASH_DASH] = ACTIONS(3277),
    [anon_sym_PIPE] = ACTIONS(3277),
    [anon_sym_CARET] = ACTIONS(3275),
    [anon_sym_LT_LT] = ACTIONS(3277),
    [anon_sym_GT_GT] = ACTIONS(3277),
    [anon_sym_class] = ACTIONS(3277),
    [anon_sym_prefix] = ACTIONS(3277),
    [anon_sym_infix] = ACTIONS(3277),
    [anon_sym_postfix] = ACTIONS(3277),
    [anon_sym_AT] = ACTIONS(3275),
    [anon_sym_override] = ACTIONS(3277),
    [anon_sym_convenience] = ACTIONS(3277),
    [anon_sym_required] = ACTIONS(3277),
    [anon_sym_nonisolated] = ACTIONS(3277),
    [anon_sym_public] = ACTIONS(3277),
    [anon_sym_private] = ACTIONS(3277),
    [anon_sym_internal] = ACTIONS(3277),
    [anon_sym_fileprivate] = ACTIONS(3277),
    [anon_sym_open] = ACTIONS(3277),
    [anon_sym_mutating] = ACTIONS(3277),
    [anon_sym_nonmutating] = ACTIONS(3277),
    [anon_sym_static] = ACTIONS(3277),
    [anon_sym_dynamic] = ACTIONS(3277),
    [anon_sym_optional] = ACTIONS(3277),
    [anon_sym_distributed] = ACTIONS(3277),
    [anon_sym_final] = ACTIONS(3277),
    [anon_sym_inout] = ACTIONS(3277),
    [anon_sym_ATescaping] = ACTIONS(3277),
    [anon_sym_ATautoclosure] = ACTIONS(3277),
    [anon_sym_weak] = ACTIONS(3277),
    [anon_sym_unowned] = ACTIONS(3275),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3277),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3277),
    [anon_sym_borrowing] = ACTIONS(3277),
    [anon_sym_consuming] = ACTIONS(3277),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3277),
    [sym__explicit_semi] = ACTIONS(3277),
    [sym__dot_custom] = ACTIONS(3277),
    [sym__conjunction_operator_custom] = ACTIONS(4238),
    [sym__disjunction_operator_custom] = ACTIONS(4238),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3277),
    [sym__eq_custom] = ACTIONS(3277),
    [sym__eq_eq_custom] = ACTIONS(3277),
    [sym__plus_then_ws] = ACTIONS(3277),
    [sym__minus_then_ws] = ACTIONS(3277),
    [sym__bang_custom] = ACTIONS(3277),
    [sym_default_keyword] = ACTIONS(3277),
    [sym__as_custom] = ACTIONS(3277),
    [sym__as_quest_custom] = ACTIONS(3277),
    [sym__as_bang_custom] = ACTIONS(3277),
    [sym__custom_operator] = ACTIONS(3277),
  },
  [1201] = {
    [anon_sym_BANG] = ACTIONS(3260),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3262),
    [anon_sym_package] = ACTIONS(3262),
    [anon_sym_COMMA] = ACTIONS(3262),
    [anon_sym_LPAREN] = ACTIONS(3262),
    [anon_sym_LBRACK] = ACTIONS(3262),
    [anon_sym_DOT] = ACTIONS(3260),
    [anon_sym_QMARK] = ACTIONS(3260),
    [anon_sym_QMARK2] = ACTIONS(3262),
    [anon_sym_AMP] = ACTIONS(3262),
    [aux_sym_custom_operator_token1] = ACTIONS(3262),
    [anon_sym_LT] = ACTIONS(3260),
    [anon_sym_GT] = ACTIONS(3260),
    [anon_sym_LBRACE] = ACTIONS(3262),
    [anon_sym_CARET_LBRACE] = ACTIONS(3262),
    [anon_sym_RBRACE] = ACTIONS(3262),
    [anon_sym_self] = ACTIONS(3262),
    [anon_sym_case] = ACTIONS(3262),
    [anon_sym_fallthrough] = ACTIONS(3262),
    [anon_sym_PLUS_EQ] = ACTIONS(3262),
    [anon_sym_DASH_EQ] = ACTIONS(3262),
    [anon_sym_STAR_EQ] = ACTIONS(3262),
    [anon_sym_SLASH_EQ] = ACTIONS(3262),
    [anon_sym_PERCENT_EQ] = ACTIONS(3262),
    [anon_sym_BANG_EQ] = ACTIONS(3260),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3262),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3262),
    [anon_sym_LT_EQ] = ACTIONS(3262),
    [anon_sym_GT_EQ] = ACTIONS(3262),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3262),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3262),
    [anon_sym_is] = ACTIONS(3262),
    [anon_sym_PLUS] = ACTIONS(3260),
    [anon_sym_DASH] = ACTIONS(3260),
    [anon_sym_STAR] = ACTIONS(3260),
    [anon_sym_SLASH] = ACTIONS(3260),
    [anon_sym_PERCENT] = ACTIONS(3260),
    [anon_sym_PLUS_PLUS] = ACTIONS(3262),
    [anon_sym_DASH_DASH] = ACTIONS(3262),
    [anon_sym_PIPE] = ACTIONS(3262),
    [anon_sym_CARET] = ACTIONS(3260),
    [anon_sym_LT_LT] = ACTIONS(3262),
    [anon_sym_GT_GT] = ACTIONS(3262),
    [anon_sym_class] = ACTIONS(3262),
    [anon_sym_prefix] = ACTIONS(3262),
    [anon_sym_infix] = ACTIONS(3262),
    [anon_sym_postfix] = ACTIONS(3262),
    [anon_sym_AT] = ACTIONS(3260),
    [anon_sym_override] = ACTIONS(3262),
    [anon_sym_convenience] = ACTIONS(3262),
    [anon_sym_required] = ACTIONS(3262),
    [anon_sym_nonisolated] = ACTIONS(3262),
    [anon_sym_public] = ACTIONS(3262),
    [anon_sym_private] = ACTIONS(3262),
    [anon_sym_internal] = ACTIONS(3262),
    [anon_sym_fileprivate] = ACTIONS(3262),
    [anon_sym_open] = ACTIONS(3262),
    [anon_sym_mutating] = ACTIONS(3262),
    [anon_sym_nonmutating] = ACTIONS(3262),
    [anon_sym_static] = ACTIONS(3262),
    [anon_sym_dynamic] = ACTIONS(3262),
    [anon_sym_optional] = ACTIONS(3262),
    [anon_sym_distributed] = ACTIONS(3262),
    [anon_sym_final] = ACTIONS(3262),
    [anon_sym_inout] = ACTIONS(3262),
    [anon_sym_ATescaping] = ACTIONS(3262),
    [anon_sym_ATautoclosure] = ACTIONS(3262),
    [anon_sym_weak] = ACTIONS(3262),
    [anon_sym_unowned] = ACTIONS(3260),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3262),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3262),
    [anon_sym_borrowing] = ACTIONS(3262),
    [anon_sym_consuming] = ACTIONS(3262),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3262),
    [sym__explicit_semi] = ACTIONS(3262),
    [sym__dot_custom] = ACTIONS(3262),
    [sym__conjunction_operator_custom] = ACTIONS(3262),
    [sym__disjunction_operator_custom] = ACTIONS(3262),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3262),
    [sym__eq_custom] = ACTIONS(3262),
    [sym__eq_eq_custom] = ACTIONS(3262),
    [sym__plus_then_ws] = ACTIONS(3262),
    [sym__minus_then_ws] = ACTIONS(3262),
    [sym__bang_custom] = ACTIONS(3262),
    [sym_default_keyword] = ACTIONS(3262),
    [sym__as_custom] = ACTIONS(3262),
    [sym__as_quest_custom] = ACTIONS(3262),
    [sym__as_bang_custom] = ACTIONS(3262),
    [sym__custom_operator] = ACTIONS(3262),
  },
  [1202] = {
    [anon_sym_BANG] = ACTIONS(3287),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3289),
    [anon_sym_package] = ACTIONS(3289),
    [anon_sym_COMMA] = ACTIONS(3289),
    [anon_sym_LPAREN] = ACTIONS(3289),
    [anon_sym_LBRACK] = ACTIONS(3289),
    [anon_sym_QMARK] = ACTIONS(3287),
    [anon_sym_QMARK2] = ACTIONS(3289),
    [anon_sym_AMP] = ACTIONS(3289),
    [aux_sym_custom_operator_token1] = ACTIONS(3289),
    [anon_sym_LT] = ACTIONS(3287),
    [anon_sym_GT] = ACTIONS(3287),
    [anon_sym_LBRACE] = ACTIONS(3289),
    [anon_sym_CARET_LBRACE] = ACTIONS(3289),
    [anon_sym_RBRACE] = ACTIONS(3289),
    [anon_sym_case] = ACTIONS(3289),
    [anon_sym_fallthrough] = ACTIONS(3289),
    [anon_sym_PLUS_EQ] = ACTIONS(3289),
    [anon_sym_DASH_EQ] = ACTIONS(3289),
    [anon_sym_STAR_EQ] = ACTIONS(3289),
    [anon_sym_SLASH_EQ] = ACTIONS(3289),
    [anon_sym_PERCENT_EQ] = ACTIONS(3289),
    [anon_sym_BANG_EQ] = ACTIONS(3287),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3289),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3289),
    [anon_sym_LT_EQ] = ACTIONS(3289),
    [anon_sym_GT_EQ] = ACTIONS(3289),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3289),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3289),
    [anon_sym_is] = ACTIONS(3289),
    [anon_sym_PLUS] = ACTIONS(3287),
    [anon_sym_DASH] = ACTIONS(3287),
    [anon_sym_STAR] = ACTIONS(3287),
    [anon_sym_SLASH] = ACTIONS(3287),
    [anon_sym_PERCENT] = ACTIONS(3287),
    [anon_sym_PLUS_PLUS] = ACTIONS(3289),
    [anon_sym_DASH_DASH] = ACTIONS(3289),
    [anon_sym_PIPE] = ACTIONS(3289),
    [anon_sym_CARET] = ACTIONS(3287),
    [anon_sym_LT_LT] = ACTIONS(3289),
    [anon_sym_GT_GT] = ACTIONS(3289),
    [anon_sym_class] = ACTIONS(3289),
    [anon_sym_prefix] = ACTIONS(3289),
    [anon_sym_infix] = ACTIONS(3289),
    [anon_sym_postfix] = ACTIONS(3289),
    [anon_sym_AT] = ACTIONS(3287),
    [anon_sym_override] = ACTIONS(3289),
    [anon_sym_convenience] = ACTIONS(3289),
    [anon_sym_required] = ACTIONS(3289),
    [anon_sym_nonisolated] = ACTIONS(3289),
    [anon_sym_public] = ACTIONS(3289),
    [anon_sym_private] = ACTIONS(3289),
    [anon_sym_internal] = ACTIONS(3289),
    [anon_sym_fileprivate] = ACTIONS(3289),
    [anon_sym_open] = ACTIONS(3289),
    [anon_sym_mutating] = ACTIONS(3289),
    [anon_sym_nonmutating] = ACTIONS(3289),
    [anon_sym_static] = ACTIONS(3289),
    [anon_sym_dynamic] = ACTIONS(3289),
    [anon_sym_optional] = ACTIONS(3289),
    [anon_sym_distributed] = ACTIONS(3289),
    [anon_sym_final] = ACTIONS(3289),
    [anon_sym_inout] = ACTIONS(3289),
    [anon_sym_ATescaping] = ACTIONS(3289),
    [anon_sym_ATautoclosure] = ACTIONS(3289),
    [anon_sym_weak] = ACTIONS(3289),
    [anon_sym_unowned] = ACTIONS(3287),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3289),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3289),
    [anon_sym_borrowing] = ACTIONS(3289),
    [anon_sym_consuming] = ACTIONS(3289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3289),
    [sym__explicit_semi] = ACTIONS(3289),
    [sym__dot_custom] = ACTIONS(3289),
    [sym__conjunction_operator_custom] = ACTIONS(3289),
    [sym__disjunction_operator_custom] = ACTIONS(3289),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3289),
    [sym__eq_custom] = ACTIONS(3289),
    [sym__eq_eq_custom] = ACTIONS(3289),
    [sym__plus_then_ws] = ACTIONS(3289),
    [sym__minus_then_ws] = ACTIONS(3289),
    [sym__bang_custom] = ACTIONS(3289),
    [sym_default_keyword] = ACTIONS(3289),
    [sym_where_keyword] = ACTIONS(3289),
    [sym_else] = ACTIONS(4276),
    [sym__as_custom] = ACTIONS(3289),
    [sym__as_quest_custom] = ACTIONS(3289),
    [sym__as_bang_custom] = ACTIONS(3289),
    [sym__custom_operator] = ACTIONS(3289),
  },
  [1203] = {
    [sym_simple_identifier] = STATE(2283),
    [sym__contextual_simple_identifier] = STATE(2358),
    [sym__unannotated_type] = STATE(2065),
    [sym_user_type] = STATE(2164),
    [sym__simple_user_type] = STATE(2170),
    [sym_tuple_type] = STATE(2019),
    [sym_function_type] = STATE(2065),
    [sym_array_type] = STATE(2164),
    [sym_dictionary_type] = STATE(2164),
    [sym_optional_type] = STATE(2065),
    [sym_metatype] = STATE(2065),
    [sym_opaque_type] = STATE(2065),
    [sym_existential_type] = STATE(2065),
    [sym_type_parameter_pack] = STATE(2065),
    [sym_type_pack_expansion] = STATE(2065),
    [sym_protocol_composition_type] = STATE(2065),
    [sym_suppressed_constraint] = STATE(2065),
    [sym__parenthesized_type] = STATE(2374),
    [sym__parameter_ownership_modifier] = STATE(2358),
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(4278),
    [aux_sym_simple_identifier_token2] = ACTIONS(4280),
    [aux_sym_simple_identifier_token3] = ACTIONS(4280),
    [aux_sym_simple_identifier_token4] = ACTIONS(4280),
    [anon_sym_actor] = ACTIONS(4278),
    [anon_sym_async] = ACTIONS(4278),
    [anon_sym_each] = ACTIONS(4282),
    [anon_sym_lazy] = ACTIONS(4278),
    [anon_sym_repeat] = ACTIONS(4284),
    [anon_sym_package] = ACTIONS(4278),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(4286),
    [anon_sym_LBRACK] = ACTIONS(4289),
    [anon_sym_DOT] = ACTIONS(623),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(4292),
    [anon_sym_any] = ACTIONS(4294),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(4296),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(4278),
    [anon_sym_consuming] = ACTIONS(4278),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym_else] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [1204] = {
    [sym__type_level_declaration] = STATE(6676),
    [sym_import_declaration] = STATE(6676),
    [sym_property_declaration] = STATE(6676),
    [sym__modifierless_property_declaration] = STATE(7625),
    [sym_typealias_declaration] = STATE(6676),
    [sym__modifierless_typealias_declaration] = STATE(7444),
    [sym_function_declaration] = STATE(6676),
    [sym__bodyless_function_declaration] = STATE(7742),
    [sym__modifierless_function_declaration_no_body] = STATE(8708),
    [sym_class_declaration] = STATE(6676),
    [sym__modifierless_class_declaration] = STATE(7633),
    [sym__class_member_declarations] = STATE(8817),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__async_modifier] = STATE(7659),
    [sym_protocol_declaration] = STATE(6676),
    [sym_init_declaration] = STATE(6676),
    [sym_deinit_declaration] = STATE(6676),
    [sym_subscript_declaration] = STATE(6676),
    [sym_operator_declaration] = STATE(6676),
    [sym_precedence_group_declaration] = STATE(6676),
    [sym_associatedtype_declaration] = STATE(6676),
    [sym_attribute] = STATE(1786),
    [sym_value_binding_pattern] = STATE(4778),
    [sym__possibly_async_binding_pattern_kind] = STATE(4778),
    [sym_modifiers] = STATE(4931),
    [aux_sym__locally_permitted_modifiers] = STATE(1786),
    [sym__non_local_scope_modifier] = STATE(1786),
    [sym__locally_permitted_modifier] = STATE(1786),
    [sym_property_behavior_modifier] = STATE(1786),
    [sym_member_modifier] = STATE(1786),
    [sym_visibility_modifier] = STATE(1786),
    [sym_function_modifier] = STATE(1786),
    [sym_mutation_modifier] = STATE(1786),
    [sym_property_modifier] = STATE(1786),
    [sym_inheritance_modifier] = STATE(1786),
    [sym_parameter_modifier] = STATE(1786),
    [sym_ownership_modifier] = STATE(1786),
    [sym__parameter_ownership_modifier] = STATE(2979),
    [aux_sym_modifiers_repeat1] = STATE(1786),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(4240),
    [anon_sym_async] = ACTIONS(3977),
    [anon_sym_lazy] = ACTIONS(3979),
    [anon_sym_package] = ACTIONS(3981),
    [anon_sym_RBRACE] = ACTIONS(4298),
    [anon_sym_import] = ACTIONS(4244),
    [anon_sym_typealias] = ACTIONS(4246),
    [anon_sym_struct] = ACTIONS(4240),
    [anon_sym_class] = ACTIONS(4248),
    [anon_sym_enum] = ACTIONS(4250),
    [anon_sym_protocol] = ACTIONS(4252),
    [anon_sym_let] = ACTIONS(3997),
    [anon_sym_var] = ACTIONS(3997),
    [anon_sym_func] = ACTIONS(3999),
    [anon_sym_extension] = ACTIONS(4254),
    [anon_sym_indirect] = ACTIONS(4256),
    [anon_sym_init] = ACTIONS(4258),
    [anon_sym_deinit] = ACTIONS(4260),
    [anon_sym_subscript] = ACTIONS(4262),
    [anon_sym_prefix] = ACTIONS(4264),
    [anon_sym_infix] = ACTIONS(4264),
    [anon_sym_postfix] = ACTIONS(4264),
    [anon_sym_precedencegroup] = ACTIONS(4266),
    [anon_sym_associatedtype] = ACTIONS(4268),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(4017),
    [anon_sym_convenience] = ACTIONS(4017),
    [anon_sym_required] = ACTIONS(4017),
    [anon_sym_nonisolated] = ACTIONS(4017),
    [anon_sym_public] = ACTIONS(3981),
    [anon_sym_private] = ACTIONS(3981),
    [anon_sym_internal] = ACTIONS(3981),
    [anon_sym_fileprivate] = ACTIONS(3981),
    [anon_sym_open] = ACTIONS(3981),
    [anon_sym_mutating] = ACTIONS(4019),
    [anon_sym_nonmutating] = ACTIONS(4019),
    [anon_sym_static] = ACTIONS(4021),
    [anon_sym_dynamic] = ACTIONS(4021),
    [anon_sym_optional] = ACTIONS(4021),
    [anon_sym_distributed] = ACTIONS(4021),
    [anon_sym_final] = ACTIONS(4023),
    [anon_sym_inout] = ACTIONS(125),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(129),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(125),
    [anon_sym_consuming] = ACTIONS(125),
    [sym_multiline_comment] = ACTIONS(5),
  },
  [1205] = {
    [sym_simple_identifier] = STATE(2283),
    [sym__contextual_simple_identifier] = STATE(2358),
    [sym__unannotated_type] = STATE(2091),
    [sym_user_type] = STATE(2164),
    [sym__simple_user_type] = STATE(2170),
    [sym_tuple_type] = STATE(2019),
    [sym_function_type] = STATE(2091),
    [sym_array_type] = STATE(2164),
    [sym_dictionary_type] = STATE(2164),
    [sym_optional_type] = STATE(2091),
    [sym_metatype] = STATE(2091),
    [sym_opaque_type] = STATE(2091),
    [sym_existential_type] = STATE(2091),
    [sym_type_parameter_pack] = STATE(2091),
    [sym_type_pack_expansion] = STATE(2091),
    [sym_protocol_composition_type] = STATE(2091),
    [sym_suppressed_constraint] = STATE(2091),
    [sym__parenthesized_type] = STATE(2374),
    [sym__parameter_ownership_modifier] = STATE(2358),
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(4278),
    [aux_sym_simple_identifier_token2] = ACTIONS(4280),
    [aux_sym_simple_identifier_token3] = ACTIONS(4280),
    [aux_sym_simple_identifier_token4] = ACTIONS(4280),
    [anon_sym_actor] = ACTIONS(4278),
    [anon_sym_async] = ACTIONS(4278),
    [anon_sym_each] = ACTIONS(4282),
    [anon_sym_lazy] = ACTIONS(4278),
    [anon_sym_repeat] = ACTIONS(4284),
    [anon_sym_package] = ACTIONS(4278),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(4286),
    [anon_sym_LBRACK] = ACTIONS(4289),
    [anon_sym_DOT] = ACTIONS(623),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(4292),
    [anon_sym_any] = ACTIONS(4294),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(4296),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(4278),
    [anon_sym_consuming] = ACTIONS(4278),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym_else] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [1206] = {
    [aux_sym_key_path_expression_repeat1] = STATE(1186),
    [anon_sym_BANG] = ACTIONS(3244),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3246),
    [anon_sym_package] = ACTIONS(3246),
    [anon_sym_COMMA] = ACTIONS(3246),
    [anon_sym_LPAREN] = ACTIONS(3246),
    [anon_sym_LBRACK] = ACTIONS(3246),
    [anon_sym_DOT] = ACTIONS(3671),
    [anon_sym_QMARK] = ACTIONS(3244),
    [anon_sym_QMARK2] = ACTIONS(3246),
    [anon_sym_AMP] = ACTIONS(3246),
    [aux_sym_custom_operator_token1] = ACTIONS(3246),
    [anon_sym_LT] = ACTIONS(3244),
    [anon_sym_GT] = ACTIONS(3244),
    [anon_sym_LBRACE] = ACTIONS(3246),
    [anon_sym_CARET_LBRACE] = ACTIONS(3246),
    [anon_sym_RBRACE] = ACTIONS(3246),
    [anon_sym_case] = ACTIONS(3246),
    [anon_sym_fallthrough] = ACTIONS(3246),
    [anon_sym_PLUS_EQ] = ACTIONS(3246),
    [anon_sym_DASH_EQ] = ACTIONS(3246),
    [anon_sym_STAR_EQ] = ACTIONS(3246),
    [anon_sym_SLASH_EQ] = ACTIONS(3246),
    [anon_sym_PERCENT_EQ] = ACTIONS(3246),
    [anon_sym_BANG_EQ] = ACTIONS(3244),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3246),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3246),
    [anon_sym_LT_EQ] = ACTIONS(3246),
    [anon_sym_GT_EQ] = ACTIONS(3246),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3246),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3246),
    [anon_sym_is] = ACTIONS(3246),
    [anon_sym_PLUS] = ACTIONS(3244),
    [anon_sym_DASH] = ACTIONS(3244),
    [anon_sym_STAR] = ACTIONS(3244),
    [anon_sym_SLASH] = ACTIONS(3244),
    [anon_sym_PERCENT] = ACTIONS(3244),
    [anon_sym_PLUS_PLUS] = ACTIONS(3246),
    [anon_sym_DASH_DASH] = ACTIONS(3246),
    [anon_sym_PIPE] = ACTIONS(3246),
    [anon_sym_CARET] = ACTIONS(3244),
    [anon_sym_LT_LT] = ACTIONS(3246),
    [anon_sym_GT_GT] = ACTIONS(3246),
    [anon_sym_class] = ACTIONS(3246),
    [anon_sym_prefix] = ACTIONS(3246),
    [anon_sym_infix] = ACTIONS(3246),
    [anon_sym_postfix] = ACTIONS(3246),
    [anon_sym_AT] = ACTIONS(3244),
    [anon_sym_override] = ACTIONS(3246),
    [anon_sym_convenience] = ACTIONS(3246),
    [anon_sym_required] = ACTIONS(3246),
    [anon_sym_nonisolated] = ACTIONS(3246),
    [anon_sym_public] = ACTIONS(3246),
    [anon_sym_private] = ACTIONS(3246),
    [anon_sym_internal] = ACTIONS(3246),
    [anon_sym_fileprivate] = ACTIONS(3246),
    [anon_sym_open] = ACTIONS(3246),
    [anon_sym_mutating] = ACTIONS(3246),
    [anon_sym_nonmutating] = ACTIONS(3246),
    [anon_sym_static] = ACTIONS(3246),
    [anon_sym_dynamic] = ACTIONS(3246),
    [anon_sym_optional] = ACTIONS(3246),
    [anon_sym_distributed] = ACTIONS(3246),
    [anon_sym_final] = ACTIONS(3246),
    [anon_sym_inout] = ACTIONS(3246),
    [anon_sym_ATescaping] = ACTIONS(3246),
    [anon_sym_ATautoclosure] = ACTIONS(3246),
    [anon_sym_weak] = ACTIONS(3246),
    [anon_sym_unowned] = ACTIONS(3244),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3246),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3246),
    [anon_sym_borrowing] = ACTIONS(3246),
    [anon_sym_consuming] = ACTIONS(3246),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3246),
    [sym__explicit_semi] = ACTIONS(3246),
    [sym__dot_custom] = ACTIONS(3246),
    [sym__conjunction_operator_custom] = ACTIONS(3246),
    [sym__disjunction_operator_custom] = ACTIONS(3246),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3246),
    [sym__eq_custom] = ACTIONS(3246),
    [sym__eq_eq_custom] = ACTIONS(3246),
    [sym__plus_then_ws] = ACTIONS(3246),
    [sym__minus_then_ws] = ACTIONS(3246),
    [sym__bang_custom] = ACTIONS(3246),
    [sym_default_keyword] = ACTIONS(3246),
    [sym__as_custom] = ACTIONS(3246),
    [sym__as_quest_custom] = ACTIONS(3246),
    [sym__as_bang_custom] = ACTIONS(3246),
    [sym__custom_operator] = ACTIONS(3246),
  },
  [1207] = {
    [anon_sym_BANG] = ACTIONS(2687),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2676),
    [aux_sym_simple_identifier_token2] = ACTIONS(2678),
    [aux_sym_simple_identifier_token3] = ACTIONS(2678),
    [aux_sym_simple_identifier_token4] = ACTIONS(2678),
    [anon_sym_actor] = ACTIONS(2676),
    [anon_sym_async] = ACTIONS(2676),
    [anon_sym_each] = ACTIONS(2676),
    [anon_sym_lazy] = ACTIONS(2676),
    [anon_sym_repeat] = ACTIONS(2676),
    [anon_sym_package] = ACTIONS(2676),
    [anon_sym_nil] = ACTIONS(2676),
    [sym_real_literal] = ACTIONS(2678),
    [sym_integer_literal] = ACTIONS(2676),
    [sym_hex_literal] = ACTIONS(2676),
    [sym_oct_literal] = ACTIONS(2678),
    [sym_bin_literal] = ACTIONS(2678),
    [anon_sym_true] = ACTIONS(2676),
    [anon_sym_false] = ACTIONS(2676),
    [anon_sym_DQUOTE] = ACTIONS(2676),
    [anon_sym_BSLASH] = ACTIONS(2678),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2678),
    [anon_sym_COMMA] = ACTIONS(2690),
    [sym__oneline_regex_literal] = ACTIONS(2676),
    [anon_sym_LPAREN] = ACTIONS(2692),
    [anon_sym_LBRACK] = ACTIONS(2692),
    [anon_sym_QMARK] = ACTIONS(2695),
    [anon_sym_QMARK2] = ACTIONS(2690),
    [anon_sym_AMP] = ACTIONS(2692),
    [anon_sym_TILDE] = ACTIONS(2678),
    [anon_sym_if] = ACTIONS(2676),
    [anon_sym_switch] = ACTIONS(2676),
    [aux_sym_custom_operator_token1] = ACTIONS(2692),
    [anon_sym_LT] = ACTIONS(2687),
    [anon_sym_GT] = ACTIONS(2687),
    [anon_sym_await] = ACTIONS(2676),
    [anon_sym_LBRACE] = ACTIONS(2692),
    [anon_sym_CARET_LBRACE] = ACTIONS(2692),
    [anon_sym_self] = ACTIONS(2676),
    [anon_sym_super] = ACTIONS(2676),
    [anon_sym_try] = ACTIONS(2676),
    [anon_sym_PLUS_EQ] = ACTIONS(2692),
    [anon_sym_DASH_EQ] = ACTIONS(2692),
    [anon_sym_STAR_EQ] = ACTIONS(2692),
    [anon_sym_SLASH_EQ] = ACTIONS(2692),
    [anon_sym_PERCENT_EQ] = ACTIONS(2692),
    [anon_sym_BANG_EQ] = ACTIONS(2687),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2692),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2692),
    [anon_sym_LT_EQ] = ACTIONS(2692),
    [anon_sym_GT_EQ] = ACTIONS(2692),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2692),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2692),
    [anon_sym_is] = ACTIONS(2695),
    [anon_sym_PLUS] = ACTIONS(2687),
    [anon_sym_DASH] = ACTIONS(2687),
    [anon_sym_STAR] = ACTIONS(2687),
    [anon_sym_SLASH] = ACTIONS(2687),
    [anon_sym_PERCENT] = ACTIONS(2687),
    [anon_sym_PLUS_PLUS] = ACTIONS(2692),
    [anon_sym_DASH_DASH] = ACTIONS(2692),
    [anon_sym_PIPE] = ACTIONS(2692),
    [anon_sym_CARET] = ACTIONS(2687),
    [anon_sym_LT_LT] = ACTIONS(2692),
    [anon_sym_GT_GT] = ACTIONS(2692),
    [anon_sym_borrowing] = ACTIONS(2676),
    [anon_sym_consuming] = ACTIONS(2676),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2678),
    [sym_raw_str_end_part] = ACTIONS(2678),
    [sym__dot_custom] = ACTIONS(2692),
    [sym__conjunction_operator_custom] = ACTIONS(2690),
    [sym__disjunction_operator_custom] = ACTIONS(2690),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2690),
    [sym__eq_custom] = ACTIONS(2692),
    [sym__eq_eq_custom] = ACTIONS(2692),
    [sym__plus_then_ws] = ACTIONS(2692),
    [sym__minus_then_ws] = ACTIONS(2692),
    [sym__bang_custom] = ACTIONS(2692),
    [sym_where_keyword] = ACTIONS(2690),
    [sym_else] = ACTIONS(2690),
    [sym__as_custom] = ACTIONS(2690),
    [sym__as_quest_custom] = ACTIONS(2690),
    [sym__as_bang_custom] = ACTIONS(2690),
    [sym__custom_operator] = ACTIONS(2692),
    [sym__hash_symbol_custom] = ACTIONS(2678),
    [sym__directive_if] = ACTIONS(2678),
    [sym__directive_elseif] = ACTIONS(2678),
    [sym__directive_else] = ACTIONS(2678),
    [sym__directive_endif] = ACTIONS(2678),
  },
  [1208] = {
    [anon_sym_BANG] = ACTIONS(2665),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2665),
    [aux_sym_simple_identifier_token2] = ACTIONS(2667),
    [aux_sym_simple_identifier_token3] = ACTIONS(2667),
    [aux_sym_simple_identifier_token4] = ACTIONS(2667),
    [anon_sym_actor] = ACTIONS(2665),
    [anon_sym_async] = ACTIONS(2665),
    [anon_sym_each] = ACTIONS(2665),
    [anon_sym_lazy] = ACTIONS(2665),
    [anon_sym_repeat] = ACTIONS(2665),
    [anon_sym_package] = ACTIONS(2665),
    [anon_sym_nil] = ACTIONS(2665),
    [sym_real_literal] = ACTIONS(2667),
    [sym_integer_literal] = ACTIONS(2665),
    [sym_hex_literal] = ACTIONS(2665),
    [sym_oct_literal] = ACTIONS(2667),
    [sym_bin_literal] = ACTIONS(2667),
    [anon_sym_true] = ACTIONS(2665),
    [anon_sym_false] = ACTIONS(2665),
    [anon_sym_DQUOTE] = ACTIONS(2665),
    [anon_sym_BSLASH] = ACTIONS(2667),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2667),
    [anon_sym_COMMA] = ACTIONS(2697),
    [sym__oneline_regex_literal] = ACTIONS(2665),
    [anon_sym_LPAREN] = ACTIONS(2667),
    [anon_sym_LBRACK] = ACTIONS(2667),
    [anon_sym_QMARK] = ACTIONS(2699),
    [anon_sym_QMARK2] = ACTIONS(2697),
    [anon_sym_AMP] = ACTIONS(2667),
    [anon_sym_TILDE] = ACTIONS(2667),
    [anon_sym_if] = ACTIONS(2665),
    [anon_sym_switch] = ACTIONS(2665),
    [aux_sym_custom_operator_token1] = ACTIONS(2667),
    [anon_sym_LT] = ACTIONS(2665),
    [anon_sym_GT] = ACTIONS(2665),
    [anon_sym_await] = ACTIONS(2665),
    [anon_sym_LBRACE] = ACTIONS(2667),
    [anon_sym_CARET_LBRACE] = ACTIONS(2667),
    [anon_sym_self] = ACTIONS(2665),
    [anon_sym_super] = ACTIONS(2665),
    [anon_sym_try] = ACTIONS(2665),
    [anon_sym_PLUS_EQ] = ACTIONS(2667),
    [anon_sym_DASH_EQ] = ACTIONS(2667),
    [anon_sym_STAR_EQ] = ACTIONS(2667),
    [anon_sym_SLASH_EQ] = ACTIONS(2667),
    [anon_sym_PERCENT_EQ] = ACTIONS(2667),
    [anon_sym_BANG_EQ] = ACTIONS(2665),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2667),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2667),
    [anon_sym_LT_EQ] = ACTIONS(2667),
    [anon_sym_GT_EQ] = ACTIONS(2667),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2667),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2667),
    [anon_sym_is] = ACTIONS(2699),
    [anon_sym_PLUS] = ACTIONS(2665),
    [anon_sym_DASH] = ACTIONS(2665),
    [anon_sym_STAR] = ACTIONS(2665),
    [anon_sym_SLASH] = ACTIONS(2665),
    [anon_sym_PERCENT] = ACTIONS(2665),
    [anon_sym_PLUS_PLUS] = ACTIONS(2667),
    [anon_sym_DASH_DASH] = ACTIONS(2667),
    [anon_sym_PIPE] = ACTIONS(2667),
    [anon_sym_CARET] = ACTIONS(2665),
    [anon_sym_LT_LT] = ACTIONS(2667),
    [anon_sym_GT_GT] = ACTIONS(2667),
    [anon_sym_borrowing] = ACTIONS(2665),
    [anon_sym_consuming] = ACTIONS(2665),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2667),
    [sym_raw_str_end_part] = ACTIONS(2667),
    [sym__dot_custom] = ACTIONS(2667),
    [sym__conjunction_operator_custom] = ACTIONS(2697),
    [sym__disjunction_operator_custom] = ACTIONS(2697),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2697),
    [sym__eq_custom] = ACTIONS(2667),
    [sym__eq_eq_custom] = ACTIONS(2667),
    [sym__plus_then_ws] = ACTIONS(2667),
    [sym__minus_then_ws] = ACTIONS(2667),
    [sym__bang_custom] = ACTIONS(2667),
    [sym_where_keyword] = ACTIONS(2697),
    [sym_else] = ACTIONS(2697),
    [sym__as_custom] = ACTIONS(2697),
    [sym__as_quest_custom] = ACTIONS(2697),
    [sym__as_bang_custom] = ACTIONS(2697),
    [sym__custom_operator] = ACTIONS(2667),
    [sym__hash_symbol_custom] = ACTIONS(2667),
    [sym__directive_if] = ACTIONS(2667),
    [sym__directive_elseif] = ACTIONS(2667),
    [sym__directive_else] = ACTIONS(2667),
    [sym__directive_endif] = ACTIONS(2667),
  },
  [1209] = {
    [sym__fn_call_lambda_arguments] = STATE(1352),
    [sym_lambda_literal] = STATE(1001),
    [anon_sym_BANG] = ACTIONS(3699),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3702),
    [anon_sym_package] = ACTIONS(3702),
    [anon_sym_COMMA] = ACTIONS(3702),
    [anon_sym_LPAREN] = ACTIONS(3702),
    [anon_sym_LBRACK] = ACTIONS(3702),
    [anon_sym_QMARK] = ACTIONS(3699),
    [anon_sym_QMARK2] = ACTIONS(3702),
    [anon_sym_AMP] = ACTIONS(3702),
    [aux_sym_custom_operator_token1] = ACTIONS(3702),
    [anon_sym_LT] = ACTIONS(3699),
    [anon_sym_GT] = ACTIONS(3699),
    [anon_sym_LBRACE] = ACTIONS(4300),
    [anon_sym_CARET_LBRACE] = ACTIONS(4300),
    [anon_sym_RBRACE] = ACTIONS(3702),
    [anon_sym_case] = ACTIONS(3702),
    [anon_sym_fallthrough] = ACTIONS(3702),
    [anon_sym_PLUS_EQ] = ACTIONS(3702),
    [anon_sym_DASH_EQ] = ACTIONS(3702),
    [anon_sym_STAR_EQ] = ACTIONS(3702),
    [anon_sym_SLASH_EQ] = ACTIONS(3702),
    [anon_sym_PERCENT_EQ] = ACTIONS(3702),
    [anon_sym_BANG_EQ] = ACTIONS(3699),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3702),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3702),
    [anon_sym_LT_EQ] = ACTIONS(3702),
    [anon_sym_GT_EQ] = ACTIONS(3702),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3702),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3702),
    [anon_sym_is] = ACTIONS(3702),
    [anon_sym_PLUS] = ACTIONS(3699),
    [anon_sym_DASH] = ACTIONS(3699),
    [anon_sym_STAR] = ACTIONS(3699),
    [anon_sym_SLASH] = ACTIONS(3699),
    [anon_sym_PERCENT] = ACTIONS(3699),
    [anon_sym_PLUS_PLUS] = ACTIONS(3702),
    [anon_sym_DASH_DASH] = ACTIONS(3702),
    [anon_sym_PIPE] = ACTIONS(3702),
    [anon_sym_CARET] = ACTIONS(3699),
    [anon_sym_LT_LT] = ACTIONS(3702),
    [anon_sym_GT_GT] = ACTIONS(3702),
    [anon_sym_class] = ACTIONS(3702),
    [anon_sym_prefix] = ACTIONS(3702),
    [anon_sym_infix] = ACTIONS(3702),
    [anon_sym_postfix] = ACTIONS(3702),
    [anon_sym_AT] = ACTIONS(3699),
    [anon_sym_override] = ACTIONS(3702),
    [anon_sym_convenience] = ACTIONS(3702),
    [anon_sym_required] = ACTIONS(3702),
    [anon_sym_nonisolated] = ACTIONS(3702),
    [anon_sym_public] = ACTIONS(3702),
    [anon_sym_private] = ACTIONS(3702),
    [anon_sym_internal] = ACTIONS(3702),
    [anon_sym_fileprivate] = ACTIONS(3702),
    [anon_sym_open] = ACTIONS(3702),
    [anon_sym_mutating] = ACTIONS(3702),
    [anon_sym_nonmutating] = ACTIONS(3702),
    [anon_sym_static] = ACTIONS(3702),
    [anon_sym_dynamic] = ACTIONS(3702),
    [anon_sym_optional] = ACTIONS(3702),
    [anon_sym_distributed] = ACTIONS(3702),
    [anon_sym_final] = ACTIONS(3702),
    [anon_sym_inout] = ACTIONS(3702),
    [anon_sym_ATescaping] = ACTIONS(3702),
    [anon_sym_ATautoclosure] = ACTIONS(3702),
    [anon_sym_weak] = ACTIONS(3702),
    [anon_sym_unowned] = ACTIONS(3699),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3702),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3702),
    [anon_sym_borrowing] = ACTIONS(3702),
    [anon_sym_consuming] = ACTIONS(3702),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3702),
    [sym__explicit_semi] = ACTIONS(3702),
    [sym__dot_custom] = ACTIONS(3702),
    [sym__conjunction_operator_custom] = ACTIONS(3702),
    [sym__disjunction_operator_custom] = ACTIONS(3702),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3702),
    [sym__eq_custom] = ACTIONS(3702),
    [sym__eq_eq_custom] = ACTIONS(3702),
    [sym__plus_then_ws] = ACTIONS(3702),
    [sym__minus_then_ws] = ACTIONS(3702),
    [sym__bang_custom] = ACTIONS(3702),
    [sym_default_keyword] = ACTIONS(3702),
    [sym__as_custom] = ACTIONS(3702),
    [sym__as_quest_custom] = ACTIONS(3702),
    [sym__as_bang_custom] = ACTIONS(3702),
    [sym__custom_operator] = ACTIONS(3702),
  },
  [1210] = {
    [anon_sym_BANG] = ACTIONS(3202),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3204),
    [anon_sym_package] = ACTIONS(3204),
    [anon_sym_COMMA] = ACTIONS(3204),
    [anon_sym_LPAREN] = ACTIONS(3204),
    [anon_sym_LBRACK] = ACTIONS(3204),
    [anon_sym_DOT] = ACTIONS(3202),
    [anon_sym_QMARK] = ACTIONS(3202),
    [anon_sym_QMARK2] = ACTIONS(3204),
    [anon_sym_AMP] = ACTIONS(3204),
    [aux_sym_custom_operator_token1] = ACTIONS(3204),
    [anon_sym_LT] = ACTIONS(3202),
    [anon_sym_GT] = ACTIONS(3202),
    [anon_sym_LBRACE] = ACTIONS(3204),
    [anon_sym_CARET_LBRACE] = ACTIONS(3204),
    [anon_sym_RBRACE] = ACTIONS(3204),
    [anon_sym_self] = ACTIONS(3204),
    [anon_sym_case] = ACTIONS(3204),
    [anon_sym_fallthrough] = ACTIONS(3204),
    [anon_sym_PLUS_EQ] = ACTIONS(3204),
    [anon_sym_DASH_EQ] = ACTIONS(3204),
    [anon_sym_STAR_EQ] = ACTIONS(3204),
    [anon_sym_SLASH_EQ] = ACTIONS(3204),
    [anon_sym_PERCENT_EQ] = ACTIONS(3204),
    [anon_sym_BANG_EQ] = ACTIONS(3202),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3204),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3204),
    [anon_sym_LT_EQ] = ACTIONS(3204),
    [anon_sym_GT_EQ] = ACTIONS(3204),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3204),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3204),
    [anon_sym_is] = ACTIONS(3204),
    [anon_sym_PLUS] = ACTIONS(3202),
    [anon_sym_DASH] = ACTIONS(3202),
    [anon_sym_STAR] = ACTIONS(3202),
    [anon_sym_SLASH] = ACTIONS(3202),
    [anon_sym_PERCENT] = ACTIONS(3202),
    [anon_sym_PLUS_PLUS] = ACTIONS(3204),
    [anon_sym_DASH_DASH] = ACTIONS(3204),
    [anon_sym_PIPE] = ACTIONS(3204),
    [anon_sym_CARET] = ACTIONS(3202),
    [anon_sym_LT_LT] = ACTIONS(3204),
    [anon_sym_GT_GT] = ACTIONS(3204),
    [anon_sym_class] = ACTIONS(3204),
    [anon_sym_prefix] = ACTIONS(3204),
    [anon_sym_infix] = ACTIONS(3204),
    [anon_sym_postfix] = ACTIONS(3204),
    [anon_sym_AT] = ACTIONS(3202),
    [anon_sym_override] = ACTIONS(3204),
    [anon_sym_convenience] = ACTIONS(3204),
    [anon_sym_required] = ACTIONS(3204),
    [anon_sym_nonisolated] = ACTIONS(3204),
    [anon_sym_public] = ACTIONS(3204),
    [anon_sym_private] = ACTIONS(3204),
    [anon_sym_internal] = ACTIONS(3204),
    [anon_sym_fileprivate] = ACTIONS(3204),
    [anon_sym_open] = ACTIONS(3204),
    [anon_sym_mutating] = ACTIONS(3204),
    [anon_sym_nonmutating] = ACTIONS(3204),
    [anon_sym_static] = ACTIONS(3204),
    [anon_sym_dynamic] = ACTIONS(3204),
    [anon_sym_optional] = ACTIONS(3204),
    [anon_sym_distributed] = ACTIONS(3204),
    [anon_sym_final] = ACTIONS(3204),
    [anon_sym_inout] = ACTIONS(3204),
    [anon_sym_ATescaping] = ACTIONS(3204),
    [anon_sym_ATautoclosure] = ACTIONS(3204),
    [anon_sym_weak] = ACTIONS(3204),
    [anon_sym_unowned] = ACTIONS(3202),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3204),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3204),
    [anon_sym_borrowing] = ACTIONS(3204),
    [anon_sym_consuming] = ACTIONS(3204),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3204),
    [sym__explicit_semi] = ACTIONS(3204),
    [sym__dot_custom] = ACTIONS(3204),
    [sym__conjunction_operator_custom] = ACTIONS(3204),
    [sym__disjunction_operator_custom] = ACTIONS(3204),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3204),
    [sym__eq_custom] = ACTIONS(3204),
    [sym__eq_eq_custom] = ACTIONS(3204),
    [sym__plus_then_ws] = ACTIONS(3204),
    [sym__minus_then_ws] = ACTIONS(3204),
    [sym__bang_custom] = ACTIONS(3204),
    [sym_default_keyword] = ACTIONS(3204),
    [sym__as_custom] = ACTIONS(3204),
    [sym__as_quest_custom] = ACTIONS(3204),
    [sym__as_bang_custom] = ACTIONS(3204),
    [sym__custom_operator] = ACTIONS(3204),
  },
  [1211] = {
    [sym__fn_call_lambda_arguments] = STATE(1352),
    [sym_lambda_literal] = STATE(1001),
    [anon_sym_BANG] = ACTIONS(3692),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3694),
    [anon_sym_package] = ACTIONS(3694),
    [anon_sym_COMMA] = ACTIONS(3694),
    [anon_sym_LPAREN] = ACTIONS(3694),
    [anon_sym_LBRACK] = ACTIONS(3694),
    [anon_sym_QMARK] = ACTIONS(3692),
    [anon_sym_QMARK2] = ACTIONS(3694),
    [anon_sym_AMP] = ACTIONS(3694),
    [aux_sym_custom_operator_token1] = ACTIONS(3694),
    [anon_sym_LT] = ACTIONS(3692),
    [anon_sym_GT] = ACTIONS(3692),
    [anon_sym_LBRACE] = ACTIONS(4304),
    [anon_sym_CARET_LBRACE] = ACTIONS(4304),
    [anon_sym_RBRACE] = ACTIONS(3694),
    [anon_sym_case] = ACTIONS(3694),
    [anon_sym_fallthrough] = ACTIONS(3694),
    [anon_sym_PLUS_EQ] = ACTIONS(3694),
    [anon_sym_DASH_EQ] = ACTIONS(3694),
    [anon_sym_STAR_EQ] = ACTIONS(3694),
    [anon_sym_SLASH_EQ] = ACTIONS(3694),
    [anon_sym_PERCENT_EQ] = ACTIONS(3694),
    [anon_sym_BANG_EQ] = ACTIONS(3692),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3694),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3694),
    [anon_sym_LT_EQ] = ACTIONS(3694),
    [anon_sym_GT_EQ] = ACTIONS(3694),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3694),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3694),
    [anon_sym_is] = ACTIONS(3694),
    [anon_sym_PLUS] = ACTIONS(3692),
    [anon_sym_DASH] = ACTIONS(3692),
    [anon_sym_STAR] = ACTIONS(3692),
    [anon_sym_SLASH] = ACTIONS(3692),
    [anon_sym_PERCENT] = ACTIONS(3692),
    [anon_sym_PLUS_PLUS] = ACTIONS(3694),
    [anon_sym_DASH_DASH] = ACTIONS(3694),
    [anon_sym_PIPE] = ACTIONS(3694),
    [anon_sym_CARET] = ACTIONS(3692),
    [anon_sym_LT_LT] = ACTIONS(3694),
    [anon_sym_GT_GT] = ACTIONS(3694),
    [anon_sym_class] = ACTIONS(3694),
    [anon_sym_prefix] = ACTIONS(3694),
    [anon_sym_infix] = ACTIONS(3694),
    [anon_sym_postfix] = ACTIONS(3694),
    [anon_sym_AT] = ACTIONS(3692),
    [anon_sym_override] = ACTIONS(3694),
    [anon_sym_convenience] = ACTIONS(3694),
    [anon_sym_required] = ACTIONS(3694),
    [anon_sym_nonisolated] = ACTIONS(3694),
    [anon_sym_public] = ACTIONS(3694),
    [anon_sym_private] = ACTIONS(3694),
    [anon_sym_internal] = ACTIONS(3694),
    [anon_sym_fileprivate] = ACTIONS(3694),
    [anon_sym_open] = ACTIONS(3694),
    [anon_sym_mutating] = ACTIONS(3694),
    [anon_sym_nonmutating] = ACTIONS(3694),
    [anon_sym_static] = ACTIONS(3694),
    [anon_sym_dynamic] = ACTIONS(3694),
    [anon_sym_optional] = ACTIONS(3694),
    [anon_sym_distributed] = ACTIONS(3694),
    [anon_sym_final] = ACTIONS(3694),
    [anon_sym_inout] = ACTIONS(3694),
    [anon_sym_ATescaping] = ACTIONS(3694),
    [anon_sym_ATautoclosure] = ACTIONS(3694),
    [anon_sym_weak] = ACTIONS(3694),
    [anon_sym_unowned] = ACTIONS(3692),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3694),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3694),
    [anon_sym_borrowing] = ACTIONS(3694),
    [anon_sym_consuming] = ACTIONS(3694),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3694),
    [sym__explicit_semi] = ACTIONS(3694),
    [sym__dot_custom] = ACTIONS(3694),
    [sym__conjunction_operator_custom] = ACTIONS(3694),
    [sym__disjunction_operator_custom] = ACTIONS(3694),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3694),
    [sym__eq_custom] = ACTIONS(3694),
    [sym__eq_eq_custom] = ACTIONS(3694),
    [sym__plus_then_ws] = ACTIONS(3694),
    [sym__minus_then_ws] = ACTIONS(3694),
    [sym__bang_custom] = ACTIONS(3694),
    [sym_default_keyword] = ACTIONS(3694),
    [sym__as_custom] = ACTIONS(3694),
    [sym__as_quest_custom] = ACTIONS(3694),
    [sym__as_bang_custom] = ACTIONS(3694),
    [sym__custom_operator] = ACTIONS(3694),
  },
  [1212] = {
    [anon_sym_BANG] = ACTIONS(2657),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2657),
    [aux_sym_simple_identifier_token2] = ACTIONS(2659),
    [aux_sym_simple_identifier_token3] = ACTIONS(2659),
    [aux_sym_simple_identifier_token4] = ACTIONS(2659),
    [anon_sym_actor] = ACTIONS(2657),
    [anon_sym_async] = ACTIONS(2657),
    [anon_sym_each] = ACTIONS(2657),
    [anon_sym_lazy] = ACTIONS(2657),
    [anon_sym_repeat] = ACTIONS(2657),
    [anon_sym_package] = ACTIONS(2657),
    [anon_sym_nil] = ACTIONS(2657),
    [sym_real_literal] = ACTIONS(2659),
    [sym_integer_literal] = ACTIONS(2657),
    [sym_hex_literal] = ACTIONS(2657),
    [sym_oct_literal] = ACTIONS(2659),
    [sym_bin_literal] = ACTIONS(2659),
    [anon_sym_true] = ACTIONS(2657),
    [anon_sym_false] = ACTIONS(2657),
    [anon_sym_DQUOTE] = ACTIONS(2657),
    [anon_sym_BSLASH] = ACTIONS(2659),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2659),
    [anon_sym_COMMA] = ACTIONS(2659),
    [sym__oneline_regex_literal] = ACTIONS(2657),
    [anon_sym_COLON] = ACTIONS(2659),
    [anon_sym_LPAREN] = ACTIONS(2659),
    [anon_sym_LBRACK] = ACTIONS(2659),
    [anon_sym_QMARK] = ACTIONS(2657),
    [anon_sym_QMARK2] = ACTIONS(2659),
    [anon_sym_AMP] = ACTIONS(2659),
    [anon_sym_TILDE] = ACTIONS(2659),
    [anon_sym_if] = ACTIONS(2657),
    [anon_sym_switch] = ACTIONS(2657),
    [aux_sym_custom_operator_token1] = ACTIONS(2659),
    [anon_sym_LT] = ACTIONS(2657),
    [anon_sym_GT] = ACTIONS(2657),
    [anon_sym_await] = ACTIONS(2657),
    [anon_sym_LBRACE] = ACTIONS(2659),
    [anon_sym_CARET_LBRACE] = ACTIONS(2659),
    [anon_sym_self] = ACTIONS(2657),
    [anon_sym_super] = ACTIONS(2657),
    [anon_sym_try] = ACTIONS(2657),
    [anon_sym_PLUS_EQ] = ACTIONS(2659),
    [anon_sym_DASH_EQ] = ACTIONS(2659),
    [anon_sym_STAR_EQ] = ACTIONS(2659),
    [anon_sym_SLASH_EQ] = ACTIONS(2659),
    [anon_sym_PERCENT_EQ] = ACTIONS(2659),
    [anon_sym_BANG_EQ] = ACTIONS(2657),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2659),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2659),
    [anon_sym_LT_EQ] = ACTIONS(2659),
    [anon_sym_GT_EQ] = ACTIONS(2659),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2659),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2659),
    [anon_sym_is] = ACTIONS(2657),
    [anon_sym_PLUS] = ACTIONS(2657),
    [anon_sym_DASH] = ACTIONS(2657),
    [anon_sym_STAR] = ACTIONS(2657),
    [anon_sym_SLASH] = ACTIONS(2657),
    [anon_sym_PERCENT] = ACTIONS(2657),
    [anon_sym_PLUS_PLUS] = ACTIONS(2659),
    [anon_sym_DASH_DASH] = ACTIONS(2659),
    [anon_sym_PIPE] = ACTIONS(2659),
    [anon_sym_CARET] = ACTIONS(2657),
    [anon_sym_LT_LT] = ACTIONS(2659),
    [anon_sym_GT_GT] = ACTIONS(2659),
    [anon_sym_borrowing] = ACTIONS(2657),
    [anon_sym_consuming] = ACTIONS(2657),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2659),
    [sym_raw_str_end_part] = ACTIONS(2659),
    [sym__dot_custom] = ACTIONS(2659),
    [sym__conjunction_operator_custom] = ACTIONS(2659),
    [sym__disjunction_operator_custom] = ACTIONS(2659),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2659),
    [sym__eq_custom] = ACTIONS(2659),
    [sym__eq_eq_custom] = ACTIONS(2659),
    [sym__plus_then_ws] = ACTIONS(2659),
    [sym__minus_then_ws] = ACTIONS(2659),
    [sym__bang_custom] = ACTIONS(2659),
    [sym_where_keyword] = ACTIONS(2659),
    [sym__as_custom] = ACTIONS(2659),
    [sym__as_quest_custom] = ACTIONS(2659),
    [sym__as_bang_custom] = ACTIONS(2659),
    [sym__custom_operator] = ACTIONS(2659),
    [sym__hash_symbol_custom] = ACTIONS(2659),
    [sym__directive_if] = ACTIONS(2659),
    [sym__directive_elseif] = ACTIONS(2659),
    [sym__directive_else] = ACTIONS(2659),
    [sym__directive_endif] = ACTIONS(2659),
  },
  [1213] = {
    [anon_sym_BANG] = ACTIONS(2665),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2665),
    [aux_sym_simple_identifier_token2] = ACTIONS(2667),
    [aux_sym_simple_identifier_token3] = ACTIONS(2667),
    [aux_sym_simple_identifier_token4] = ACTIONS(2667),
    [anon_sym_actor] = ACTIONS(2665),
    [anon_sym_async] = ACTIONS(2665),
    [anon_sym_each] = ACTIONS(2665),
    [anon_sym_lazy] = ACTIONS(2665),
    [anon_sym_repeat] = ACTIONS(2665),
    [anon_sym_package] = ACTIONS(2665),
    [anon_sym_nil] = ACTIONS(2665),
    [sym_real_literal] = ACTIONS(2667),
    [sym_integer_literal] = ACTIONS(2665),
    [sym_hex_literal] = ACTIONS(2665),
    [sym_oct_literal] = ACTIONS(2667),
    [sym_bin_literal] = ACTIONS(2667),
    [anon_sym_true] = ACTIONS(2665),
    [anon_sym_false] = ACTIONS(2665),
    [anon_sym_DQUOTE] = ACTIONS(2665),
    [anon_sym_BSLASH] = ACTIONS(2667),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2667),
    [anon_sym_COMMA] = ACTIONS(2669),
    [sym__oneline_regex_literal] = ACTIONS(2665),
    [anon_sym_COLON] = ACTIONS(2669),
    [anon_sym_LPAREN] = ACTIONS(2667),
    [anon_sym_LBRACK] = ACTIONS(2667),
    [anon_sym_QMARK] = ACTIONS(2671),
    [anon_sym_QMARK2] = ACTIONS(2669),
    [anon_sym_AMP] = ACTIONS(2667),
    [anon_sym_TILDE] = ACTIONS(2667),
    [anon_sym_if] = ACTIONS(2665),
    [anon_sym_switch] = ACTIONS(2665),
    [aux_sym_custom_operator_token1] = ACTIONS(2667),
    [anon_sym_LT] = ACTIONS(2665),
    [anon_sym_GT] = ACTIONS(2665),
    [anon_sym_await] = ACTIONS(2665),
    [anon_sym_LBRACE] = ACTIONS(2667),
    [anon_sym_CARET_LBRACE] = ACTIONS(2667),
    [anon_sym_self] = ACTIONS(2665),
    [anon_sym_super] = ACTIONS(2665),
    [anon_sym_try] = ACTIONS(2665),
    [anon_sym_PLUS_EQ] = ACTIONS(2667),
    [anon_sym_DASH_EQ] = ACTIONS(2667),
    [anon_sym_STAR_EQ] = ACTIONS(2667),
    [anon_sym_SLASH_EQ] = ACTIONS(2667),
    [anon_sym_PERCENT_EQ] = ACTIONS(2667),
    [anon_sym_BANG_EQ] = ACTIONS(2665),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2667),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2667),
    [anon_sym_LT_EQ] = ACTIONS(2667),
    [anon_sym_GT_EQ] = ACTIONS(2667),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2667),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2667),
    [anon_sym_is] = ACTIONS(2671),
    [anon_sym_PLUS] = ACTIONS(2665),
    [anon_sym_DASH] = ACTIONS(2665),
    [anon_sym_STAR] = ACTIONS(2665),
    [anon_sym_SLASH] = ACTIONS(2665),
    [anon_sym_PERCENT] = ACTIONS(2665),
    [anon_sym_PLUS_PLUS] = ACTIONS(2667),
    [anon_sym_DASH_DASH] = ACTIONS(2667),
    [anon_sym_PIPE] = ACTIONS(2667),
    [anon_sym_CARET] = ACTIONS(2665),
    [anon_sym_LT_LT] = ACTIONS(2667),
    [anon_sym_GT_GT] = ACTIONS(2667),
    [anon_sym_borrowing] = ACTIONS(2665),
    [anon_sym_consuming] = ACTIONS(2665),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2667),
    [sym_raw_str_end_part] = ACTIONS(2667),
    [sym__dot_custom] = ACTIONS(2667),
    [sym__conjunction_operator_custom] = ACTIONS(2669),
    [sym__disjunction_operator_custom] = ACTIONS(2669),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2669),
    [sym__eq_custom] = ACTIONS(2667),
    [sym__eq_eq_custom] = ACTIONS(2667),
    [sym__plus_then_ws] = ACTIONS(2667),
    [sym__minus_then_ws] = ACTIONS(2667),
    [sym__bang_custom] = ACTIONS(2667),
    [sym_where_keyword] = ACTIONS(2669),
    [sym__as_custom] = ACTIONS(2669),
    [sym__as_quest_custom] = ACTIONS(2669),
    [sym__as_bang_custom] = ACTIONS(2669),
    [sym__custom_operator] = ACTIONS(2667),
    [sym__hash_symbol_custom] = ACTIONS(2667),
    [sym__directive_if] = ACTIONS(2667),
    [sym__directive_elseif] = ACTIONS(2667),
    [sym__directive_else] = ACTIONS(2667),
    [sym__directive_endif] = ACTIONS(2667),
  },
  [1214] = {
    [anon_sym_BANG] = ACTIONS(2661),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2661),
    [aux_sym_simple_identifier_token2] = ACTIONS(2663),
    [aux_sym_simple_identifier_token3] = ACTIONS(2663),
    [aux_sym_simple_identifier_token4] = ACTIONS(2663),
    [anon_sym_actor] = ACTIONS(2661),
    [anon_sym_async] = ACTIONS(2661),
    [anon_sym_each] = ACTIONS(2661),
    [anon_sym_lazy] = ACTIONS(2661),
    [anon_sym_repeat] = ACTIONS(2661),
    [anon_sym_package] = ACTIONS(2661),
    [anon_sym_nil] = ACTIONS(2661),
    [sym_real_literal] = ACTIONS(2663),
    [sym_integer_literal] = ACTIONS(2661),
    [sym_hex_literal] = ACTIONS(2661),
    [sym_oct_literal] = ACTIONS(2663),
    [sym_bin_literal] = ACTIONS(2663),
    [anon_sym_true] = ACTIONS(2661),
    [anon_sym_false] = ACTIONS(2661),
    [anon_sym_DQUOTE] = ACTIONS(2661),
    [anon_sym_BSLASH] = ACTIONS(2663),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2663),
    [anon_sym_COMMA] = ACTIONS(2663),
    [sym__oneline_regex_literal] = ACTIONS(2661),
    [anon_sym_LPAREN] = ACTIONS(2663),
    [anon_sym_LBRACK] = ACTIONS(2663),
    [anon_sym_QMARK] = ACTIONS(2661),
    [anon_sym_QMARK2] = ACTIONS(2663),
    [anon_sym_AMP] = ACTIONS(2663),
    [anon_sym_TILDE] = ACTIONS(2663),
    [anon_sym_if] = ACTIONS(2661),
    [anon_sym_switch] = ACTIONS(2661),
    [aux_sym_custom_operator_token1] = ACTIONS(2663),
    [anon_sym_LT] = ACTIONS(2661),
    [anon_sym_GT] = ACTIONS(2661),
    [anon_sym_await] = ACTIONS(2661),
    [anon_sym_LBRACE] = ACTIONS(2663),
    [anon_sym_CARET_LBRACE] = ACTIONS(2663),
    [anon_sym_self] = ACTIONS(2661),
    [anon_sym_super] = ACTIONS(2661),
    [anon_sym_try] = ACTIONS(2661),
    [anon_sym_PLUS_EQ] = ACTIONS(2663),
    [anon_sym_DASH_EQ] = ACTIONS(2663),
    [anon_sym_STAR_EQ] = ACTIONS(2663),
    [anon_sym_SLASH_EQ] = ACTIONS(2663),
    [anon_sym_PERCENT_EQ] = ACTIONS(2663),
    [anon_sym_BANG_EQ] = ACTIONS(2661),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2663),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2663),
    [anon_sym_LT_EQ] = ACTIONS(2663),
    [anon_sym_GT_EQ] = ACTIONS(2663),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2663),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2663),
    [anon_sym_is] = ACTIONS(2661),
    [anon_sym_PLUS] = ACTIONS(2661),
    [anon_sym_DASH] = ACTIONS(2661),
    [anon_sym_STAR] = ACTIONS(2661),
    [anon_sym_SLASH] = ACTIONS(2661),
    [anon_sym_PERCENT] = ACTIONS(2661),
    [anon_sym_PLUS_PLUS] = ACTIONS(2663),
    [anon_sym_DASH_DASH] = ACTIONS(2663),
    [anon_sym_PIPE] = ACTIONS(2663),
    [anon_sym_CARET] = ACTIONS(2661),
    [anon_sym_LT_LT] = ACTIONS(2663),
    [anon_sym_GT_GT] = ACTIONS(2663),
    [anon_sym_borrowing] = ACTIONS(2661),
    [anon_sym_consuming] = ACTIONS(2661),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2663),
    [sym_raw_str_end_part] = ACTIONS(2663),
    [sym__dot_custom] = ACTIONS(2663),
    [sym__conjunction_operator_custom] = ACTIONS(2663),
    [sym__disjunction_operator_custom] = ACTIONS(2663),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2663),
    [sym__eq_custom] = ACTIONS(2663),
    [sym__eq_eq_custom] = ACTIONS(2663),
    [sym__plus_then_ws] = ACTIONS(2663),
    [sym__minus_then_ws] = ACTIONS(2663),
    [sym__bang_custom] = ACTIONS(2663),
    [sym_where_keyword] = ACTIONS(2663),
    [sym_else] = ACTIONS(2663),
    [sym__as_custom] = ACTIONS(2663),
    [sym__as_quest_custom] = ACTIONS(2663),
    [sym__as_bang_custom] = ACTIONS(2663),
    [sym__custom_operator] = ACTIONS(2663),
    [sym__hash_symbol_custom] = ACTIONS(2663),
    [sym__directive_if] = ACTIONS(2663),
    [sym__directive_elseif] = ACTIONS(2663),
    [sym__directive_else] = ACTIONS(2663),
    [sym__directive_endif] = ACTIONS(2663),
  },
  [1215] = {
    [anon_sym_BANG] = ACTIONS(2657),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2657),
    [aux_sym_simple_identifier_token2] = ACTIONS(2659),
    [aux_sym_simple_identifier_token3] = ACTIONS(2659),
    [aux_sym_simple_identifier_token4] = ACTIONS(2659),
    [anon_sym_actor] = ACTIONS(2657),
    [anon_sym_async] = ACTIONS(2657),
    [anon_sym_each] = ACTIONS(2657),
    [anon_sym_lazy] = ACTIONS(2657),
    [anon_sym_repeat] = ACTIONS(2657),
    [anon_sym_package] = ACTIONS(2657),
    [anon_sym_nil] = ACTIONS(2657),
    [sym_real_literal] = ACTIONS(2659),
    [sym_integer_literal] = ACTIONS(2657),
    [sym_hex_literal] = ACTIONS(2657),
    [sym_oct_literal] = ACTIONS(2659),
    [sym_bin_literal] = ACTIONS(2659),
    [anon_sym_true] = ACTIONS(2657),
    [anon_sym_false] = ACTIONS(2657),
    [anon_sym_DQUOTE] = ACTIONS(2657),
    [anon_sym_BSLASH] = ACTIONS(2659),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2659),
    [anon_sym_COMMA] = ACTIONS(2659),
    [sym__oneline_regex_literal] = ACTIONS(2657),
    [anon_sym_LPAREN] = ACTIONS(2659),
    [anon_sym_LBRACK] = ACTIONS(2659),
    [anon_sym_QMARK] = ACTIONS(2657),
    [anon_sym_QMARK2] = ACTIONS(2659),
    [anon_sym_AMP] = ACTIONS(2659),
    [anon_sym_TILDE] = ACTIONS(2659),
    [anon_sym_if] = ACTIONS(2657),
    [anon_sym_switch] = ACTIONS(2657),
    [aux_sym_custom_operator_token1] = ACTIONS(2659),
    [anon_sym_LT] = ACTIONS(2657),
    [anon_sym_GT] = ACTIONS(2657),
    [anon_sym_await] = ACTIONS(2657),
    [anon_sym_LBRACE] = ACTIONS(2659),
    [anon_sym_CARET_LBRACE] = ACTIONS(2659),
    [anon_sym_self] = ACTIONS(2657),
    [anon_sym_super] = ACTIONS(2657),
    [anon_sym_try] = ACTIONS(2657),
    [anon_sym_PLUS_EQ] = ACTIONS(2659),
    [anon_sym_DASH_EQ] = ACTIONS(2659),
    [anon_sym_STAR_EQ] = ACTIONS(2659),
    [anon_sym_SLASH_EQ] = ACTIONS(2659),
    [anon_sym_PERCENT_EQ] = ACTIONS(2659),
    [anon_sym_BANG_EQ] = ACTIONS(2657),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2659),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2659),
    [anon_sym_LT_EQ] = ACTIONS(2659),
    [anon_sym_GT_EQ] = ACTIONS(2659),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2659),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2659),
    [anon_sym_is] = ACTIONS(2657),
    [anon_sym_PLUS] = ACTIONS(2657),
    [anon_sym_DASH] = ACTIONS(2657),
    [anon_sym_STAR] = ACTIONS(2657),
    [anon_sym_SLASH] = ACTIONS(2657),
    [anon_sym_PERCENT] = ACTIONS(2657),
    [anon_sym_PLUS_PLUS] = ACTIONS(2659),
    [anon_sym_DASH_DASH] = ACTIONS(2659),
    [anon_sym_PIPE] = ACTIONS(2659),
    [anon_sym_CARET] = ACTIONS(2657),
    [anon_sym_LT_LT] = ACTIONS(2659),
    [anon_sym_GT_GT] = ACTIONS(2659),
    [anon_sym_borrowing] = ACTIONS(2657),
    [anon_sym_consuming] = ACTIONS(2657),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2659),
    [sym_raw_str_end_part] = ACTIONS(2659),
    [sym__dot_custom] = ACTIONS(2659),
    [sym__conjunction_operator_custom] = ACTIONS(2659),
    [sym__disjunction_operator_custom] = ACTIONS(2659),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2659),
    [sym__eq_custom] = ACTIONS(2659),
    [sym__eq_eq_custom] = ACTIONS(2659),
    [sym__plus_then_ws] = ACTIONS(2659),
    [sym__minus_then_ws] = ACTIONS(2659),
    [sym__bang_custom] = ACTIONS(2659),
    [sym_where_keyword] = ACTIONS(2659),
    [sym_else] = ACTIONS(2659),
    [sym__as_custom] = ACTIONS(2659),
    [sym__as_quest_custom] = ACTIONS(2659),
    [sym__as_bang_custom] = ACTIONS(2659),
    [sym__custom_operator] = ACTIONS(2659),
    [sym__hash_symbol_custom] = ACTIONS(2659),
    [sym__directive_if] = ACTIONS(2659),
    [sym__directive_elseif] = ACTIONS(2659),
    [sym__directive_else] = ACTIONS(2659),
    [sym__directive_endif] = ACTIONS(2659),
  },
  [1216] = {
    [sym_type_arguments] = STATE(1343),
    [anon_sym_BANG] = ACTIONS(3081),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3083),
    [anon_sym_package] = ACTIONS(3083),
    [anon_sym_COMMA] = ACTIONS(3083),
    [anon_sym_LPAREN] = ACTIONS(3083),
    [anon_sym_LBRACK] = ACTIONS(3083),
    [anon_sym_DOT] = ACTIONS(3081),
    [anon_sym_QMARK] = ACTIONS(3081),
    [anon_sym_QMARK2] = ACTIONS(3083),
    [anon_sym_AMP] = ACTIONS(3083),
    [aux_sym_custom_operator_token1] = ACTIONS(3083),
    [anon_sym_LT] = ACTIONS(4307),
    [anon_sym_GT] = ACTIONS(3081),
    [anon_sym_LBRACE] = ACTIONS(3083),
    [anon_sym_CARET_LBRACE] = ACTIONS(3083),
    [anon_sym_RBRACE] = ACTIONS(3083),
    [anon_sym_case] = ACTIONS(3083),
    [anon_sym_fallthrough] = ACTIONS(3083),
    [anon_sym_PLUS_EQ] = ACTIONS(3083),
    [anon_sym_DASH_EQ] = ACTIONS(3083),
    [anon_sym_STAR_EQ] = ACTIONS(3083),
    [anon_sym_SLASH_EQ] = ACTIONS(3083),
    [anon_sym_PERCENT_EQ] = ACTIONS(3083),
    [anon_sym_BANG_EQ] = ACTIONS(3081),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3083),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3083),
    [anon_sym_LT_EQ] = ACTIONS(3083),
    [anon_sym_GT_EQ] = ACTIONS(3083),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3083),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3083),
    [anon_sym_is] = ACTIONS(3083),
    [anon_sym_PLUS] = ACTIONS(3081),
    [anon_sym_DASH] = ACTIONS(3081),
    [anon_sym_STAR] = ACTIONS(3081),
    [anon_sym_SLASH] = ACTIONS(3081),
    [anon_sym_PERCENT] = ACTIONS(3081),
    [anon_sym_PLUS_PLUS] = ACTIONS(3083),
    [anon_sym_DASH_DASH] = ACTIONS(3083),
    [anon_sym_PIPE] = ACTIONS(3083),
    [anon_sym_CARET] = ACTIONS(3081),
    [anon_sym_LT_LT] = ACTIONS(3083),
    [anon_sym_GT_GT] = ACTIONS(3083),
    [anon_sym_class] = ACTIONS(3083),
    [anon_sym_prefix] = ACTIONS(3083),
    [anon_sym_infix] = ACTIONS(3083),
    [anon_sym_postfix] = ACTIONS(3083),
    [anon_sym_AT] = ACTIONS(3081),
    [anon_sym_override] = ACTIONS(3083),
    [anon_sym_convenience] = ACTIONS(3083),
    [anon_sym_required] = ACTIONS(3083),
    [anon_sym_nonisolated] = ACTIONS(3083),
    [anon_sym_public] = ACTIONS(3083),
    [anon_sym_private] = ACTIONS(3083),
    [anon_sym_internal] = ACTIONS(3083),
    [anon_sym_fileprivate] = ACTIONS(3083),
    [anon_sym_open] = ACTIONS(3083),
    [anon_sym_mutating] = ACTIONS(3083),
    [anon_sym_nonmutating] = ACTIONS(3083),
    [anon_sym_static] = ACTIONS(3083),
    [anon_sym_dynamic] = ACTIONS(3083),
    [anon_sym_optional] = ACTIONS(3083),
    [anon_sym_distributed] = ACTIONS(3083),
    [anon_sym_final] = ACTIONS(3083),
    [anon_sym_inout] = ACTIONS(3083),
    [anon_sym_ATescaping] = ACTIONS(3083),
    [anon_sym_ATautoclosure] = ACTIONS(3083),
    [anon_sym_weak] = ACTIONS(3083),
    [anon_sym_unowned] = ACTIONS(3081),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3083),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3083),
    [anon_sym_borrowing] = ACTIONS(3083),
    [anon_sym_consuming] = ACTIONS(3083),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3083),
    [sym__explicit_semi] = ACTIONS(3083),
    [sym__dot_custom] = ACTIONS(3083),
    [sym__conjunction_operator_custom] = ACTIONS(3083),
    [sym__disjunction_operator_custom] = ACTIONS(3083),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3083),
    [sym__eq_custom] = ACTIONS(3083),
    [sym__eq_eq_custom] = ACTIONS(3083),
    [sym__plus_then_ws] = ACTIONS(3083),
    [sym__minus_then_ws] = ACTIONS(3083),
    [sym__bang_custom] = ACTIONS(3083),
    [sym_default_keyword] = ACTIONS(3083),
    [sym__as_custom] = ACTIONS(3083),
    [sym__as_quest_custom] = ACTIONS(3083),
    [sym__as_bang_custom] = ACTIONS(3083),
    [sym__custom_operator] = ACTIONS(3083),
  },
  [1217] = {
    [sym_type_arguments] = STATE(2086),
    [anon_sym_BANG] = ACTIONS(3303),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3305),
    [anon_sym_package] = ACTIONS(3305),
    [anon_sym_COMMA] = ACTIONS(3305),
    [anon_sym_LPAREN] = ACTIONS(3307),
    [anon_sym_LBRACK] = ACTIONS(3305),
    [anon_sym_QMARK] = ACTIONS(3303),
    [anon_sym_QMARK2] = ACTIONS(3305),
    [anon_sym_AMP] = ACTIONS(3305),
    [aux_sym_custom_operator_token1] = ACTIONS(3305),
    [anon_sym_LT] = ACTIONS(3310),
    [anon_sym_GT] = ACTIONS(3303),
    [anon_sym_LBRACE] = ACTIONS(3307),
    [anon_sym_CARET_LBRACE] = ACTIONS(3307),
    [anon_sym_RBRACE] = ACTIONS(3305),
    [anon_sym_case] = ACTIONS(3305),
    [anon_sym_fallthrough] = ACTIONS(3305),
    [anon_sym_PLUS_EQ] = ACTIONS(3305),
    [anon_sym_DASH_EQ] = ACTIONS(3305),
    [anon_sym_STAR_EQ] = ACTIONS(3305),
    [anon_sym_SLASH_EQ] = ACTIONS(3305),
    [anon_sym_PERCENT_EQ] = ACTIONS(3305),
    [anon_sym_BANG_EQ] = ACTIONS(3303),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3305),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3305),
    [anon_sym_LT_EQ] = ACTIONS(3305),
    [anon_sym_GT_EQ] = ACTIONS(3305),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3305),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3305),
    [anon_sym_is] = ACTIONS(3305),
    [anon_sym_PLUS] = ACTIONS(3303),
    [anon_sym_DASH] = ACTIONS(3303),
    [anon_sym_STAR] = ACTIONS(3303),
    [anon_sym_SLASH] = ACTIONS(3303),
    [anon_sym_PERCENT] = ACTIONS(3303),
    [anon_sym_PLUS_PLUS] = ACTIONS(3305),
    [anon_sym_DASH_DASH] = ACTIONS(3305),
    [anon_sym_PIPE] = ACTIONS(3305),
    [anon_sym_CARET] = ACTIONS(3303),
    [anon_sym_LT_LT] = ACTIONS(3305),
    [anon_sym_GT_GT] = ACTIONS(3305),
    [anon_sym_class] = ACTIONS(3305),
    [anon_sym_prefix] = ACTIONS(3305),
    [anon_sym_infix] = ACTIONS(3305),
    [anon_sym_postfix] = ACTIONS(3305),
    [anon_sym_AT] = ACTIONS(3303),
    [anon_sym_override] = ACTIONS(3305),
    [anon_sym_convenience] = ACTIONS(3305),
    [anon_sym_required] = ACTIONS(3305),
    [anon_sym_nonisolated] = ACTIONS(3305),
    [anon_sym_public] = ACTIONS(3305),
    [anon_sym_private] = ACTIONS(3305),
    [anon_sym_internal] = ACTIONS(3305),
    [anon_sym_fileprivate] = ACTIONS(3305),
    [anon_sym_open] = ACTIONS(3305),
    [anon_sym_mutating] = ACTIONS(3305),
    [anon_sym_nonmutating] = ACTIONS(3305),
    [anon_sym_static] = ACTIONS(3305),
    [anon_sym_dynamic] = ACTIONS(3305),
    [anon_sym_optional] = ACTIONS(3305),
    [anon_sym_distributed] = ACTIONS(3305),
    [anon_sym_final] = ACTIONS(3305),
    [anon_sym_inout] = ACTIONS(3305),
    [anon_sym_ATescaping] = ACTIONS(3305),
    [anon_sym_ATautoclosure] = ACTIONS(3305),
    [anon_sym_weak] = ACTIONS(3305),
    [anon_sym_unowned] = ACTIONS(3303),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3305),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3305),
    [anon_sym_borrowing] = ACTIONS(3305),
    [anon_sym_consuming] = ACTIONS(3305),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3305),
    [sym__explicit_semi] = ACTIONS(3305),
    [sym__dot_custom] = ACTIONS(3307),
    [sym__conjunction_operator_custom] = ACTIONS(3305),
    [sym__disjunction_operator_custom] = ACTIONS(3305),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3305),
    [sym__eq_custom] = ACTIONS(3305),
    [sym__eq_eq_custom] = ACTIONS(3305),
    [sym__plus_then_ws] = ACTIONS(3305),
    [sym__minus_then_ws] = ACTIONS(3305),
    [sym__bang_custom] = ACTIONS(3305),
    [sym_default_keyword] = ACTIONS(3305),
    [sym_where_keyword] = ACTIONS(3305),
    [sym__as_custom] = ACTIONS(3305),
    [sym__as_quest_custom] = ACTIONS(3305),
    [sym__as_bang_custom] = ACTIONS(3305),
    [sym__custom_operator] = ACTIONS(3305),
  },
  [1218] = {
    [anon_sym_BANG] = ACTIONS(3268),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3270),
    [anon_sym_package] = ACTIONS(3270),
    [anon_sym_COMMA] = ACTIONS(3270),
    [anon_sym_LPAREN] = ACTIONS(3270),
    [anon_sym_LBRACK] = ACTIONS(3270),
    [anon_sym_DOT] = ACTIONS(3268),
    [anon_sym_QMARK] = ACTIONS(3268),
    [anon_sym_QMARK2] = ACTIONS(3270),
    [anon_sym_AMP] = ACTIONS(3270),
    [aux_sym_custom_operator_token1] = ACTIONS(3270),
    [anon_sym_LT] = ACTIONS(3268),
    [anon_sym_GT] = ACTIONS(3268),
    [anon_sym_LBRACE] = ACTIONS(3270),
    [anon_sym_CARET_LBRACE] = ACTIONS(3270),
    [anon_sym_RBRACE] = ACTIONS(3270),
    [anon_sym_case] = ACTIONS(3270),
    [anon_sym_fallthrough] = ACTIONS(3270),
    [anon_sym_PLUS_EQ] = ACTIONS(3270),
    [anon_sym_DASH_EQ] = ACTIONS(3270),
    [anon_sym_STAR_EQ] = ACTIONS(3270),
    [anon_sym_SLASH_EQ] = ACTIONS(3270),
    [anon_sym_PERCENT_EQ] = ACTIONS(3270),
    [anon_sym_BANG_EQ] = ACTIONS(3268),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3270),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3270),
    [anon_sym_LT_EQ] = ACTIONS(3270),
    [anon_sym_GT_EQ] = ACTIONS(3270),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3270),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3270),
    [anon_sym_is] = ACTIONS(3270),
    [anon_sym_PLUS] = ACTIONS(3268),
    [anon_sym_DASH] = ACTIONS(3268),
    [anon_sym_STAR] = ACTIONS(3268),
    [anon_sym_SLASH] = ACTIONS(3268),
    [anon_sym_PERCENT] = ACTIONS(3268),
    [anon_sym_PLUS_PLUS] = ACTIONS(3270),
    [anon_sym_DASH_DASH] = ACTIONS(3270),
    [anon_sym_PIPE] = ACTIONS(3270),
    [anon_sym_CARET] = ACTIONS(3268),
    [anon_sym_LT_LT] = ACTIONS(3270),
    [anon_sym_GT_GT] = ACTIONS(3270),
    [anon_sym_class] = ACTIONS(3270),
    [anon_sym_prefix] = ACTIONS(3270),
    [anon_sym_infix] = ACTIONS(3270),
    [anon_sym_postfix] = ACTIONS(3270),
    [anon_sym_AT] = ACTIONS(3268),
    [anon_sym_override] = ACTIONS(3270),
    [anon_sym_convenience] = ACTIONS(3270),
    [anon_sym_required] = ACTIONS(3270),
    [anon_sym_nonisolated] = ACTIONS(3270),
    [anon_sym_public] = ACTIONS(3270),
    [anon_sym_private] = ACTIONS(3270),
    [anon_sym_internal] = ACTIONS(3270),
    [anon_sym_fileprivate] = ACTIONS(3270),
    [anon_sym_open] = ACTIONS(3270),
    [anon_sym_mutating] = ACTIONS(3270),
    [anon_sym_nonmutating] = ACTIONS(3270),
    [anon_sym_static] = ACTIONS(3270),
    [anon_sym_dynamic] = ACTIONS(3270),
    [anon_sym_optional] = ACTIONS(3270),
    [anon_sym_distributed] = ACTIONS(3270),
    [anon_sym_final] = ACTIONS(3270),
    [anon_sym_inout] = ACTIONS(3270),
    [anon_sym_ATescaping] = ACTIONS(3270),
    [anon_sym_ATautoclosure] = ACTIONS(3270),
    [anon_sym_weak] = ACTIONS(3270),
    [anon_sym_unowned] = ACTIONS(3268),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3270),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3270),
    [anon_sym_borrowing] = ACTIONS(3270),
    [anon_sym_consuming] = ACTIONS(3270),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3270),
    [sym__explicit_semi] = ACTIONS(3270),
    [sym__dot_custom] = ACTIONS(3270),
    [sym__conjunction_operator_custom] = ACTIONS(3270),
    [sym__disjunction_operator_custom] = ACTIONS(3270),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3270),
    [sym__eq_custom] = ACTIONS(3270),
    [sym__eq_eq_custom] = ACTIONS(3270),
    [sym__plus_then_ws] = ACTIONS(3270),
    [sym__minus_then_ws] = ACTIONS(3270),
    [sym__bang_custom] = ACTIONS(3270),
    [sym_default_keyword] = ACTIONS(3270),
    [sym_where_keyword] = ACTIONS(3270),
    [sym__as_custom] = ACTIONS(3270),
    [sym__as_quest_custom] = ACTIONS(3270),
    [sym__as_bang_custom] = ACTIONS(3270),
    [sym__custom_operator] = ACTIONS(3270),
  },
  [1219] = {
    [anon_sym_BANG] = ACTIONS(2661),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2661),
    [aux_sym_simple_identifier_token2] = ACTIONS(2663),
    [aux_sym_simple_identifier_token3] = ACTIONS(2663),
    [aux_sym_simple_identifier_token4] = ACTIONS(2663),
    [anon_sym_actor] = ACTIONS(2661),
    [anon_sym_async] = ACTIONS(2661),
    [anon_sym_each] = ACTIONS(2661),
    [anon_sym_lazy] = ACTIONS(2661),
    [anon_sym_repeat] = ACTIONS(2661),
    [anon_sym_package] = ACTIONS(2661),
    [anon_sym_nil] = ACTIONS(2661),
    [sym_real_literal] = ACTIONS(2663),
    [sym_integer_literal] = ACTIONS(2661),
    [sym_hex_literal] = ACTIONS(2661),
    [sym_oct_literal] = ACTIONS(2663),
    [sym_bin_literal] = ACTIONS(2663),
    [anon_sym_true] = ACTIONS(2661),
    [anon_sym_false] = ACTIONS(2661),
    [anon_sym_DQUOTE] = ACTIONS(2661),
    [anon_sym_BSLASH] = ACTIONS(2663),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2663),
    [anon_sym_COMMA] = ACTIONS(2663),
    [sym__oneline_regex_literal] = ACTIONS(2661),
    [anon_sym_COLON] = ACTIONS(2663),
    [anon_sym_LPAREN] = ACTIONS(2663),
    [anon_sym_LBRACK] = ACTIONS(2663),
    [anon_sym_QMARK] = ACTIONS(2661),
    [anon_sym_QMARK2] = ACTIONS(2663),
    [anon_sym_AMP] = ACTIONS(2663),
    [anon_sym_TILDE] = ACTIONS(2663),
    [anon_sym_if] = ACTIONS(2661),
    [anon_sym_switch] = ACTIONS(2661),
    [aux_sym_custom_operator_token1] = ACTIONS(2663),
    [anon_sym_LT] = ACTIONS(2661),
    [anon_sym_GT] = ACTIONS(2661),
    [anon_sym_await] = ACTIONS(2661),
    [anon_sym_LBRACE] = ACTIONS(2663),
    [anon_sym_CARET_LBRACE] = ACTIONS(2663),
    [anon_sym_self] = ACTIONS(2661),
    [anon_sym_super] = ACTIONS(2661),
    [anon_sym_try] = ACTIONS(2661),
    [anon_sym_PLUS_EQ] = ACTIONS(2663),
    [anon_sym_DASH_EQ] = ACTIONS(2663),
    [anon_sym_STAR_EQ] = ACTIONS(2663),
    [anon_sym_SLASH_EQ] = ACTIONS(2663),
    [anon_sym_PERCENT_EQ] = ACTIONS(2663),
    [anon_sym_BANG_EQ] = ACTIONS(2661),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2663),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2663),
    [anon_sym_LT_EQ] = ACTIONS(2663),
    [anon_sym_GT_EQ] = ACTIONS(2663),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2663),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2663),
    [anon_sym_is] = ACTIONS(2661),
    [anon_sym_PLUS] = ACTIONS(2661),
    [anon_sym_DASH] = ACTIONS(2661),
    [anon_sym_STAR] = ACTIONS(2661),
    [anon_sym_SLASH] = ACTIONS(2661),
    [anon_sym_PERCENT] = ACTIONS(2661),
    [anon_sym_PLUS_PLUS] = ACTIONS(2663),
    [anon_sym_DASH_DASH] = ACTIONS(2663),
    [anon_sym_PIPE] = ACTIONS(2663),
    [anon_sym_CARET] = ACTIONS(2661),
    [anon_sym_LT_LT] = ACTIONS(2663),
    [anon_sym_GT_GT] = ACTIONS(2663),
    [anon_sym_borrowing] = ACTIONS(2661),
    [anon_sym_consuming] = ACTIONS(2661),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2663),
    [sym_raw_str_end_part] = ACTIONS(2663),
    [sym__dot_custom] = ACTIONS(2663),
    [sym__conjunction_operator_custom] = ACTIONS(2663),
    [sym__disjunction_operator_custom] = ACTIONS(2663),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2663),
    [sym__eq_custom] = ACTIONS(2663),
    [sym__eq_eq_custom] = ACTIONS(2663),
    [sym__plus_then_ws] = ACTIONS(2663),
    [sym__minus_then_ws] = ACTIONS(2663),
    [sym__bang_custom] = ACTIONS(2663),
    [sym_where_keyword] = ACTIONS(2663),
    [sym__as_custom] = ACTIONS(2663),
    [sym__as_quest_custom] = ACTIONS(2663),
    [sym__as_bang_custom] = ACTIONS(2663),
    [sym__custom_operator] = ACTIONS(2663),
    [sym__hash_symbol_custom] = ACTIONS(2663),
    [sym__directive_if] = ACTIONS(2663),
    [sym__directive_elseif] = ACTIONS(2663),
    [sym__directive_else] = ACTIONS(2663),
    [sym__directive_endif] = ACTIONS(2663),
  },
  [1220] = {
    [sym__type_level_declaration] = STATE(6676),
    [sym_import_declaration] = STATE(6676),
    [sym_property_declaration] = STATE(6676),
    [sym__modifierless_property_declaration] = STATE(7625),
    [sym_typealias_declaration] = STATE(6676),
    [sym__modifierless_typealias_declaration] = STATE(7444),
    [sym_function_declaration] = STATE(6676),
    [sym__bodyless_function_declaration] = STATE(7742),
    [sym__modifierless_function_declaration_no_body] = STATE(8708),
    [sym_class_declaration] = STATE(6676),
    [sym__modifierless_class_declaration] = STATE(7633),
    [sym__class_member_declarations] = STATE(8710),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__async_modifier] = STATE(7659),
    [sym_protocol_declaration] = STATE(6676),
    [sym_init_declaration] = STATE(6676),
    [sym_deinit_declaration] = STATE(6676),
    [sym_subscript_declaration] = STATE(6676),
    [sym_operator_declaration] = STATE(6676),
    [sym_precedence_group_declaration] = STATE(6676),
    [sym_associatedtype_declaration] = STATE(6676),
    [sym_attribute] = STATE(1786),
    [sym_value_binding_pattern] = STATE(4778),
    [sym__possibly_async_binding_pattern_kind] = STATE(4778),
    [sym_modifiers] = STATE(4931),
    [aux_sym__locally_permitted_modifiers] = STATE(1786),
    [sym__non_local_scope_modifier] = STATE(1786),
    [sym__locally_permitted_modifier] = STATE(1786),
    [sym_property_behavior_modifier] = STATE(1786),
    [sym_member_modifier] = STATE(1786),
    [sym_visibility_modifier] = STATE(1786),
    [sym_function_modifier] = STATE(1786),
    [sym_mutation_modifier] = STATE(1786),
    [sym_property_modifier] = STATE(1786),
    [sym_inheritance_modifier] = STATE(1786),
    [sym_parameter_modifier] = STATE(1786),
    [sym_ownership_modifier] = STATE(1786),
    [sym__parameter_ownership_modifier] = STATE(2979),
    [aux_sym_modifiers_repeat1] = STATE(1786),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(4240),
    [anon_sym_async] = ACTIONS(3977),
    [anon_sym_lazy] = ACTIONS(3979),
    [anon_sym_package] = ACTIONS(3981),
    [anon_sym_RBRACE] = ACTIONS(4309),
    [anon_sym_import] = ACTIONS(4244),
    [anon_sym_typealias] = ACTIONS(4246),
    [anon_sym_struct] = ACTIONS(4240),
    [anon_sym_class] = ACTIONS(4248),
    [anon_sym_enum] = ACTIONS(4250),
    [anon_sym_protocol] = ACTIONS(4252),
    [anon_sym_let] = ACTIONS(3997),
    [anon_sym_var] = ACTIONS(3997),
    [anon_sym_func] = ACTIONS(3999),
    [anon_sym_extension] = ACTIONS(4254),
    [anon_sym_indirect] = ACTIONS(4256),
    [anon_sym_init] = ACTIONS(4258),
    [anon_sym_deinit] = ACTIONS(4260),
    [anon_sym_subscript] = ACTIONS(4262),
    [anon_sym_prefix] = ACTIONS(4264),
    [anon_sym_infix] = ACTIONS(4264),
    [anon_sym_postfix] = ACTIONS(4264),
    [anon_sym_precedencegroup] = ACTIONS(4266),
    [anon_sym_associatedtype] = ACTIONS(4268),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(4017),
    [anon_sym_convenience] = ACTIONS(4017),
    [anon_sym_required] = ACTIONS(4017),
    [anon_sym_nonisolated] = ACTIONS(4017),
    [anon_sym_public] = ACTIONS(3981),
    [anon_sym_private] = ACTIONS(3981),
    [anon_sym_internal] = ACTIONS(3981),
    [anon_sym_fileprivate] = ACTIONS(3981),
    [anon_sym_open] = ACTIONS(3981),
    [anon_sym_mutating] = ACTIONS(4019),
    [anon_sym_nonmutating] = ACTIONS(4019),
    [anon_sym_static] = ACTIONS(4021),
    [anon_sym_dynamic] = ACTIONS(4021),
    [anon_sym_optional] = ACTIONS(4021),
    [anon_sym_distributed] = ACTIONS(4021),
    [anon_sym_final] = ACTIONS(4023),
    [anon_sym_inout] = ACTIONS(125),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(129),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(125),
    [anon_sym_consuming] = ACTIONS(125),
    [sym_multiline_comment] = ACTIONS(5),
  },
  [1221] = {
    [anon_sym_BANG] = ACTIONS(3313),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3315),
    [anon_sym_package] = ACTIONS(3315),
    [anon_sym_COMMA] = ACTIONS(3315),
    [anon_sym_LPAREN] = ACTIONS(3315),
    [anon_sym_LBRACK] = ACTIONS(3315),
    [anon_sym_QMARK] = ACTIONS(3313),
    [anon_sym_QMARK2] = ACTIONS(3315),
    [anon_sym_AMP] = ACTIONS(3315),
    [aux_sym_custom_operator_token1] = ACTIONS(3315),
    [anon_sym_LT] = ACTIONS(3313),
    [anon_sym_GT] = ACTIONS(3313),
    [anon_sym_LBRACE] = ACTIONS(3315),
    [anon_sym_CARET_LBRACE] = ACTIONS(3315),
    [anon_sym_RBRACE] = ACTIONS(3315),
    [anon_sym_case] = ACTIONS(3315),
    [anon_sym_fallthrough] = ACTIONS(3315),
    [anon_sym_PLUS_EQ] = ACTIONS(3315),
    [anon_sym_DASH_EQ] = ACTIONS(3315),
    [anon_sym_STAR_EQ] = ACTIONS(3315),
    [anon_sym_SLASH_EQ] = ACTIONS(3315),
    [anon_sym_PERCENT_EQ] = ACTIONS(3315),
    [anon_sym_BANG_EQ] = ACTIONS(3313),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3315),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3315),
    [anon_sym_LT_EQ] = ACTIONS(3315),
    [anon_sym_GT_EQ] = ACTIONS(3315),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3315),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3315),
    [anon_sym_is] = ACTIONS(3315),
    [anon_sym_PLUS] = ACTIONS(3313),
    [anon_sym_DASH] = ACTIONS(3313),
    [anon_sym_STAR] = ACTIONS(3313),
    [anon_sym_SLASH] = ACTIONS(3313),
    [anon_sym_PERCENT] = ACTIONS(3313),
    [anon_sym_PLUS_PLUS] = ACTIONS(3315),
    [anon_sym_DASH_DASH] = ACTIONS(3315),
    [anon_sym_PIPE] = ACTIONS(3315),
    [anon_sym_CARET] = ACTIONS(3313),
    [anon_sym_LT_LT] = ACTIONS(3315),
    [anon_sym_GT_GT] = ACTIONS(3315),
    [anon_sym_class] = ACTIONS(3315),
    [anon_sym_prefix] = ACTIONS(3315),
    [anon_sym_infix] = ACTIONS(3315),
    [anon_sym_postfix] = ACTIONS(3315),
    [anon_sym_AT] = ACTIONS(3313),
    [anon_sym_override] = ACTIONS(3315),
    [anon_sym_convenience] = ACTIONS(3315),
    [anon_sym_required] = ACTIONS(3315),
    [anon_sym_nonisolated] = ACTIONS(3315),
    [anon_sym_public] = ACTIONS(3315),
    [anon_sym_private] = ACTIONS(3315),
    [anon_sym_internal] = ACTIONS(3315),
    [anon_sym_fileprivate] = ACTIONS(3315),
    [anon_sym_open] = ACTIONS(3315),
    [anon_sym_mutating] = ACTIONS(3315),
    [anon_sym_nonmutating] = ACTIONS(3315),
    [anon_sym_static] = ACTIONS(3315),
    [anon_sym_dynamic] = ACTIONS(3315),
    [anon_sym_optional] = ACTIONS(3315),
    [anon_sym_distributed] = ACTIONS(3315),
    [anon_sym_final] = ACTIONS(3315),
    [anon_sym_inout] = ACTIONS(3315),
    [anon_sym_ATescaping] = ACTIONS(3315),
    [anon_sym_ATautoclosure] = ACTIONS(3315),
    [anon_sym_weak] = ACTIONS(3315),
    [anon_sym_unowned] = ACTIONS(3313),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3315),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3315),
    [anon_sym_borrowing] = ACTIONS(3315),
    [anon_sym_consuming] = ACTIONS(3315),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3315),
    [sym__explicit_semi] = ACTIONS(3315),
    [sym__dot_custom] = ACTIONS(3315),
    [sym__conjunction_operator_custom] = ACTIONS(3315),
    [sym__disjunction_operator_custom] = ACTIONS(3315),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3315),
    [sym__eq_custom] = ACTIONS(3315),
    [sym__eq_eq_custom] = ACTIONS(3315),
    [sym__plus_then_ws] = ACTIONS(3315),
    [sym__minus_then_ws] = ACTIONS(3315),
    [sym__bang_custom] = ACTIONS(3315),
    [sym_default_keyword] = ACTIONS(3315),
    [sym_where_keyword] = ACTIONS(3315),
    [sym_else] = ACTIONS(3315),
    [sym__as_custom] = ACTIONS(3315),
    [sym__as_quest_custom] = ACTIONS(3315),
    [sym__as_bang_custom] = ACTIONS(3315),
    [sym__custom_operator] = ACTIONS(3315),
  },
  [1222] = {
    [sym_simple_identifier] = STATE(5652),
    [sym__contextual_simple_identifier] = STATE(6039),
    [sym_identifier] = STATE(7036),
    [sym__unannotated_type] = STATE(5919),
    [sym_user_type] = STATE(6078),
    [sym__simple_user_type] = STATE(5926),
    [sym_tuple_type] = STATE(5769),
    [sym_function_type] = STATE(5919),
    [sym_array_type] = STATE(6078),
    [sym_dictionary_type] = STATE(6078),
    [sym_optional_type] = STATE(5919),
    [sym_metatype] = STATE(5919),
    [sym_opaque_type] = STATE(5919),
    [sym_existential_type] = STATE(5919),
    [sym_type_parameter_pack] = STATE(5919),
    [sym_type_pack_expansion] = STATE(5919),
    [sym_protocol_composition_type] = STATE(5919),
    [sym_suppressed_constraint] = STATE(5919),
    [sym__parenthesized_type] = STATE(6255),
    [sym_type_constraint] = STATE(2458),
    [sym_inheritance_constraint] = STATE(2529),
    [sym_equality_constraint] = STATE(2529),
    [sym__constrained_type] = STATE(7036),
    [sym_attribute] = STATE(4155),
    [sym__parameter_ownership_modifier] = STATE(6039),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4155),
    [sym_comment] = ACTIONS(5),
    [aux_sym_simple_identifier_token1] = ACTIONS(4037),
    [aux_sym_simple_identifier_token2] = ACTIONS(4039),
    [aux_sym_simple_identifier_token3] = ACTIONS(4039),
    [aux_sym_simple_identifier_token4] = ACTIONS(4039),
    [anon_sym_actor] = ACTIONS(4037),
    [anon_sym_async] = ACTIONS(4037),
    [anon_sym_each] = ACTIONS(4041),
    [anon_sym_lazy] = ACTIONS(4037),
    [anon_sym_repeat] = ACTIONS(4043),
    [anon_sym_package] = ACTIONS(4037),
    [anon_sym_LPAREN] = ACTIONS(4047),
    [anon_sym_LBRACK] = ACTIONS(4049),
    [anon_sym_some] = ACTIONS(4051),
    [anon_sym_any] = ACTIONS(4053),
    [anon_sym_TILDE] = ACTIONS(4055),
    [anon_sym_LBRACE] = ACTIONS(4045),
    [anon_sym_RBRACE] = ACTIONS(4045),
    [anon_sym_case] = ACTIONS(4057),
    [anon_sym_import] = ACTIONS(4057),
    [anon_sym_typealias] = ACTIONS(4057),
    [anon_sym_struct] = ACTIONS(4057),
    [anon_sym_class] = ACTIONS(4057),
    [anon_sym_enum] = ACTIONS(4057),
    [anon_sym_protocol] = ACTIONS(4057),
    [anon_sym_let] = ACTIONS(4057),
    [anon_sym_var] = ACTIONS(4057),
    [anon_sym_func] = ACTIONS(4057),
    [anon_sym_extension] = ACTIONS(4057),
    [anon_sym_indirect] = ACTIONS(4057),
    [anon_sym_init] = ACTIONS(4057),
    [anon_sym_deinit] = ACTIONS(4057),
    [anon_sym_subscript] = ACTIONS(4057),
    [anon_sym_prefix] = ACTIONS(4057),
    [anon_sym_infix] = ACTIONS(4057),
    [anon_sym_postfix] = ACTIONS(4057),
    [anon_sym_precedencegroup] = ACTIONS(4057),
    [anon_sym_associatedtype] = ACTIONS(4057),
    [anon_sym_AT] = ACTIONS(811),
    [anon_sym_override] = ACTIONS(4057),
    [anon_sym_convenience] = ACTIONS(4057),
    [anon_sym_required] = ACTIONS(4057),
    [anon_sym_nonisolated] = ACTIONS(4057),
    [anon_sym_public] = ACTIONS(4057),
    [anon_sym_private] = ACTIONS(4057),
    [anon_sym_internal] = ACTIONS(4057),
    [anon_sym_fileprivate] = ACTIONS(4057),
    [anon_sym_open] = ACTIONS(4057),
    [anon_sym_mutating] = ACTIONS(4057),
    [anon_sym_nonmutating] = ACTIONS(4057),
    [anon_sym_static] = ACTIONS(4057),
    [anon_sym_dynamic] = ACTIONS(4057),
    [anon_sym_optional] = ACTIONS(4057),
    [anon_sym_distributed] = ACTIONS(4057),
    [anon_sym_final] = ACTIONS(4057),
    [anon_sym_inout] = ACTIONS(4057),
    [anon_sym_ATescaping] = ACTIONS(4045),
    [anon_sym_ATautoclosure] = ACTIONS(4045),
    [anon_sym_weak] = ACTIONS(4057),
    [anon_sym_unowned] = ACTIONS(4057),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(4045),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(4045),
    [anon_sym_borrowing] = ACTIONS(4037),
    [anon_sym_consuming] = ACTIONS(4037),
    [sym_multiline_comment] = ACTIONS(5),
  },
  [1223] = {
    [anon_sym_BANG] = ACTIONS(3293),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3295),
    [anon_sym_package] = ACTIONS(3295),
    [anon_sym_COMMA] = ACTIONS(3295),
    [anon_sym_LPAREN] = ACTIONS(3295),
    [anon_sym_LBRACK] = ACTIONS(3295),
    [anon_sym_QMARK] = ACTIONS(3293),
    [anon_sym_QMARK2] = ACTIONS(3295),
    [anon_sym_AMP] = ACTIONS(3295),
    [aux_sym_custom_operator_token1] = ACTIONS(3295),
    [anon_sym_LT] = ACTIONS(3293),
    [anon_sym_GT] = ACTIONS(3293),
    [anon_sym_LBRACE] = ACTIONS(3295),
    [anon_sym_CARET_LBRACE] = ACTIONS(3295),
    [anon_sym_RBRACE] = ACTIONS(3295),
    [anon_sym_case] = ACTIONS(3295),
    [anon_sym_fallthrough] = ACTIONS(3295),
    [anon_sym_PLUS_EQ] = ACTIONS(3295),
    [anon_sym_DASH_EQ] = ACTIONS(3295),
    [anon_sym_STAR_EQ] = ACTIONS(3295),
    [anon_sym_SLASH_EQ] = ACTIONS(3295),
    [anon_sym_PERCENT_EQ] = ACTIONS(3295),
    [anon_sym_BANG_EQ] = ACTIONS(3293),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3295),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3295),
    [anon_sym_LT_EQ] = ACTIONS(3295),
    [anon_sym_GT_EQ] = ACTIONS(3295),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3295),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3295),
    [anon_sym_is] = ACTIONS(3295),
    [anon_sym_PLUS] = ACTIONS(3293),
    [anon_sym_DASH] = ACTIONS(3293),
    [anon_sym_STAR] = ACTIONS(3293),
    [anon_sym_SLASH] = ACTIONS(3293),
    [anon_sym_PERCENT] = ACTIONS(3293),
    [anon_sym_PLUS_PLUS] = ACTIONS(3295),
    [anon_sym_DASH_DASH] = ACTIONS(3295),
    [anon_sym_PIPE] = ACTIONS(3295),
    [anon_sym_CARET] = ACTIONS(3293),
    [anon_sym_LT_LT] = ACTIONS(3295),
    [anon_sym_GT_GT] = ACTIONS(3295),
    [anon_sym_class] = ACTIONS(3295),
    [anon_sym_prefix] = ACTIONS(3295),
    [anon_sym_infix] = ACTIONS(3295),
    [anon_sym_postfix] = ACTIONS(3295),
    [anon_sym_AT] = ACTIONS(3293),
    [anon_sym_override] = ACTIONS(3295),
    [anon_sym_convenience] = ACTIONS(3295),
    [anon_sym_required] = ACTIONS(3295),
    [anon_sym_nonisolated] = ACTIONS(3295),
    [anon_sym_public] = ACTIONS(3295),
    [anon_sym_private] = ACTIONS(3295),
    [anon_sym_internal] = ACTIONS(3295),
    [anon_sym_fileprivate] = ACTIONS(3295),
    [anon_sym_open] = ACTIONS(3295),
    [anon_sym_mutating] = ACTIONS(3295),
    [anon_sym_nonmutating] = ACTIONS(3295),
    [anon_sym_static] = ACTIONS(3295),
    [anon_sym_dynamic] = ACTIONS(3295),
    [anon_sym_optional] = ACTIONS(3295),
    [anon_sym_distributed] = ACTIONS(3295),
    [anon_sym_final] = ACTIONS(3295),
    [anon_sym_inout] = ACTIONS(3295),
    [anon_sym_ATescaping] = ACTIONS(3295),
    [anon_sym_ATautoclosure] = ACTIONS(3295),
    [anon_sym_weak] = ACTIONS(3295),
    [anon_sym_unowned] = ACTIONS(3293),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3295),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3295),
    [anon_sym_borrowing] = ACTIONS(3295),
    [anon_sym_consuming] = ACTIONS(3295),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3295),
    [sym__explicit_semi] = ACTIONS(3295),
    [sym__dot_custom] = ACTIONS(3295),
    [sym__conjunction_operator_custom] = ACTIONS(3295),
    [sym__disjunction_operator_custom] = ACTIONS(3295),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3295),
    [sym__eq_custom] = ACTIONS(3295),
    [sym__eq_eq_custom] = ACTIONS(3295),
    [sym__plus_then_ws] = ACTIONS(3295),
    [sym__minus_then_ws] = ACTIONS(3295),
    [sym__bang_custom] = ACTIONS(3295),
    [sym_default_keyword] = ACTIONS(3295),
    [sym_where_keyword] = ACTIONS(3295),
    [sym_else] = ACTIONS(3295),
    [sym__as_custom] = ACTIONS(3295),
    [sym__as_quest_custom] = ACTIONS(3295),
    [sym__as_bang_custom] = ACTIONS(3295),
    [sym__custom_operator] = ACTIONS(3295),
  },
  [1224] = {
    [anon_sym_BANG] = ACTIONS(2665),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2665),
    [aux_sym_simple_identifier_token2] = ACTIONS(2667),
    [aux_sym_simple_identifier_token3] = ACTIONS(2667),
    [aux_sym_simple_identifier_token4] = ACTIONS(2667),
    [anon_sym_actor] = ACTIONS(2665),
    [anon_sym_async] = ACTIONS(2665),
    [anon_sym_each] = ACTIONS(2665),
    [anon_sym_lazy] = ACTIONS(2665),
    [anon_sym_repeat] = ACTIONS(2665),
    [anon_sym_package] = ACTIONS(2665),
    [anon_sym_nil] = ACTIONS(2665),
    [sym_real_literal] = ACTIONS(2667),
    [sym_integer_literal] = ACTIONS(2665),
    [sym_hex_literal] = ACTIONS(2665),
    [sym_oct_literal] = ACTIONS(2667),
    [sym_bin_literal] = ACTIONS(2667),
    [anon_sym_true] = ACTIONS(2665),
    [anon_sym_false] = ACTIONS(2665),
    [anon_sym_DQUOTE] = ACTIONS(2665),
    [anon_sym_BSLASH] = ACTIONS(2667),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2667),
    [anon_sym_COMMA] = ACTIONS(2669),
    [sym__oneline_regex_literal] = ACTIONS(2665),
    [anon_sym_LPAREN] = ACTIONS(2667),
    [anon_sym_LBRACK] = ACTIONS(2667),
    [anon_sym_QMARK] = ACTIONS(2671),
    [anon_sym_QMARK2] = ACTIONS(2669),
    [anon_sym_AMP] = ACTIONS(2667),
    [anon_sym_TILDE] = ACTIONS(2667),
    [anon_sym_if] = ACTIONS(2665),
    [anon_sym_switch] = ACTIONS(2665),
    [aux_sym_custom_operator_token1] = ACTIONS(2667),
    [anon_sym_LT] = ACTIONS(2665),
    [anon_sym_GT] = ACTIONS(2665),
    [anon_sym_await] = ACTIONS(2665),
    [anon_sym_LBRACE] = ACTIONS(2667),
    [anon_sym_CARET_LBRACE] = ACTIONS(2667),
    [anon_sym_self] = ACTIONS(2665),
    [anon_sym_super] = ACTIONS(2665),
    [anon_sym_try] = ACTIONS(2665),
    [anon_sym_PLUS_EQ] = ACTIONS(2667),
    [anon_sym_DASH_EQ] = ACTIONS(2667),
    [anon_sym_STAR_EQ] = ACTIONS(2667),
    [anon_sym_SLASH_EQ] = ACTIONS(2667),
    [anon_sym_PERCENT_EQ] = ACTIONS(2667),
    [anon_sym_BANG_EQ] = ACTIONS(2665),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2667),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2667),
    [anon_sym_LT_EQ] = ACTIONS(2667),
    [anon_sym_GT_EQ] = ACTIONS(2667),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2667),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2667),
    [anon_sym_is] = ACTIONS(2671),
    [anon_sym_PLUS] = ACTIONS(2665),
    [anon_sym_DASH] = ACTIONS(2665),
    [anon_sym_STAR] = ACTIONS(2665),
    [anon_sym_SLASH] = ACTIONS(2665),
    [anon_sym_PERCENT] = ACTIONS(2665),
    [anon_sym_PLUS_PLUS] = ACTIONS(2667),
    [anon_sym_DASH_DASH] = ACTIONS(2667),
    [anon_sym_PIPE] = ACTIONS(2667),
    [anon_sym_CARET] = ACTIONS(2665),
    [anon_sym_LT_LT] = ACTIONS(2667),
    [anon_sym_GT_GT] = ACTIONS(2667),
    [anon_sym_borrowing] = ACTIONS(2665),
    [anon_sym_consuming] = ACTIONS(2665),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2667),
    [sym_raw_str_end_part] = ACTIONS(2667),
    [sym__dot_custom] = ACTIONS(2667),
    [sym__conjunction_operator_custom] = ACTIONS(2669),
    [sym__disjunction_operator_custom] = ACTIONS(2669),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2669),
    [sym__eq_custom] = ACTIONS(2667),
    [sym__eq_eq_custom] = ACTIONS(2667),
    [sym__plus_then_ws] = ACTIONS(2667),
    [sym__minus_then_ws] = ACTIONS(2667),
    [sym__bang_custom] = ACTIONS(2667),
    [sym_where_keyword] = ACTIONS(2669),
    [sym_else] = ACTIONS(2669),
    [sym__as_custom] = ACTIONS(2669),
    [sym__as_quest_custom] = ACTIONS(2669),
    [sym__as_bang_custom] = ACTIONS(2669),
    [sym__custom_operator] = ACTIONS(2667),
    [sym__hash_symbol_custom] = ACTIONS(2667),
    [sym__directive_if] = ACTIONS(2667),
    [sym__directive_elseif] = ACTIONS(2667),
    [sym__directive_else] = ACTIONS(2667),
    [sym__directive_endif] = ACTIONS(2667),
  },
  [1225] = {
    [anon_sym_BANG] = ACTIONS(3279),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3281),
    [anon_sym_package] = ACTIONS(3281),
    [anon_sym_COMMA] = ACTIONS(3281),
    [anon_sym_LPAREN] = ACTIONS(3281),
    [anon_sym_LBRACK] = ACTIONS(3281),
    [anon_sym_DOT] = ACTIONS(3279),
    [anon_sym_QMARK] = ACTIONS(3279),
    [anon_sym_QMARK2] = ACTIONS(3281),
    [anon_sym_AMP] = ACTIONS(3281),
    [aux_sym_custom_operator_token1] = ACTIONS(3281),
    [anon_sym_LT] = ACTIONS(3279),
    [anon_sym_GT] = ACTIONS(3279),
    [anon_sym_LBRACE] = ACTIONS(3281),
    [anon_sym_CARET_LBRACE] = ACTIONS(3281),
    [anon_sym_RBRACE] = ACTIONS(3281),
    [anon_sym_self] = ACTIONS(3281),
    [anon_sym_case] = ACTIONS(3281),
    [anon_sym_fallthrough] = ACTIONS(3281),
    [anon_sym_PLUS_EQ] = ACTIONS(3281),
    [anon_sym_DASH_EQ] = ACTIONS(3281),
    [anon_sym_STAR_EQ] = ACTIONS(3281),
    [anon_sym_SLASH_EQ] = ACTIONS(3281),
    [anon_sym_PERCENT_EQ] = ACTIONS(3281),
    [anon_sym_BANG_EQ] = ACTIONS(3279),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3281),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3281),
    [anon_sym_LT_EQ] = ACTIONS(3281),
    [anon_sym_GT_EQ] = ACTIONS(3281),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3281),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3281),
    [anon_sym_is] = ACTIONS(3281),
    [anon_sym_PLUS] = ACTIONS(3279),
    [anon_sym_DASH] = ACTIONS(3279),
    [anon_sym_STAR] = ACTIONS(3279),
    [anon_sym_SLASH] = ACTIONS(3279),
    [anon_sym_PERCENT] = ACTIONS(3279),
    [anon_sym_PLUS_PLUS] = ACTIONS(3281),
    [anon_sym_DASH_DASH] = ACTIONS(3281),
    [anon_sym_PIPE] = ACTIONS(3281),
    [anon_sym_CARET] = ACTIONS(3279),
    [anon_sym_LT_LT] = ACTIONS(3281),
    [anon_sym_GT_GT] = ACTIONS(3281),
    [anon_sym_class] = ACTIONS(3281),
    [anon_sym_prefix] = ACTIONS(3281),
    [anon_sym_infix] = ACTIONS(3281),
    [anon_sym_postfix] = ACTIONS(3281),
    [anon_sym_AT] = ACTIONS(3279),
    [anon_sym_override] = ACTIONS(3281),
    [anon_sym_convenience] = ACTIONS(3281),
    [anon_sym_required] = ACTIONS(3281),
    [anon_sym_nonisolated] = ACTIONS(3281),
    [anon_sym_public] = ACTIONS(3281),
    [anon_sym_private] = ACTIONS(3281),
    [anon_sym_internal] = ACTIONS(3281),
    [anon_sym_fileprivate] = ACTIONS(3281),
    [anon_sym_open] = ACTIONS(3281),
    [anon_sym_mutating] = ACTIONS(3281),
    [anon_sym_nonmutating] = ACTIONS(3281),
    [anon_sym_static] = ACTIONS(3281),
    [anon_sym_dynamic] = ACTIONS(3281),
    [anon_sym_optional] = ACTIONS(3281),
    [anon_sym_distributed] = ACTIONS(3281),
    [anon_sym_final] = ACTIONS(3281),
    [anon_sym_inout] = ACTIONS(3281),
    [anon_sym_ATescaping] = ACTIONS(3281),
    [anon_sym_ATautoclosure] = ACTIONS(3281),
    [anon_sym_weak] = ACTIONS(3281),
    [anon_sym_unowned] = ACTIONS(3279),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3281),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3281),
    [anon_sym_borrowing] = ACTIONS(3281),
    [anon_sym_consuming] = ACTIONS(3281),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3281),
    [sym__explicit_semi] = ACTIONS(3281),
    [sym__dot_custom] = ACTIONS(3281),
    [sym__conjunction_operator_custom] = ACTIONS(3281),
    [sym__disjunction_operator_custom] = ACTIONS(3281),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3281),
    [sym__eq_custom] = ACTIONS(3281),
    [sym__eq_eq_custom] = ACTIONS(3281),
    [sym__plus_then_ws] = ACTIONS(3281),
    [sym__minus_then_ws] = ACTIONS(3281),
    [sym__bang_custom] = ACTIONS(3281),
    [sym_default_keyword] = ACTIONS(3281),
    [sym__as_custom] = ACTIONS(3281),
    [sym__as_quest_custom] = ACTIONS(3281),
    [sym__as_bang_custom] = ACTIONS(3281),
    [sym__custom_operator] = ACTIONS(3281),
  },
  [1226] = {
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(617),
    [anon_sym_package] = ACTIONS(617),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(617),
    [anon_sym_LBRACK] = ACTIONS(617),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(617),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_case] = ACTIONS(617),
    [anon_sym_fallthrough] = ACTIONS(617),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(617),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_class] = ACTIONS(617),
    [anon_sym_let] = ACTIONS(4311),
    [anon_sym_var] = ACTIONS(4311),
    [anon_sym_prefix] = ACTIONS(617),
    [anon_sym_infix] = ACTIONS(617),
    [anon_sym_postfix] = ACTIONS(617),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(617),
    [anon_sym_convenience] = ACTIONS(617),
    [anon_sym_required] = ACTIONS(617),
    [anon_sym_nonisolated] = ACTIONS(617),
    [anon_sym_public] = ACTIONS(617),
    [anon_sym_private] = ACTIONS(617),
    [anon_sym_internal] = ACTIONS(617),
    [anon_sym_fileprivate] = ACTIONS(617),
    [anon_sym_open] = ACTIONS(617),
    [anon_sym_mutating] = ACTIONS(617),
    [anon_sym_nonmutating] = ACTIONS(617),
    [anon_sym_static] = ACTIONS(617),
    [anon_sym_dynamic] = ACTIONS(617),
    [anon_sym_optional] = ACTIONS(617),
    [anon_sym_distributed] = ACTIONS(617),
    [anon_sym_final] = ACTIONS(617),
    [anon_sym_inout] = ACTIONS(617),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(617),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(617),
    [anon_sym_consuming] = ACTIONS(617),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym_default_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [1227] = {
    [anon_sym_BANG] = ACTIONS(2673),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2676),
    [aux_sym_simple_identifier_token2] = ACTIONS(2678),
    [aux_sym_simple_identifier_token3] = ACTIONS(2678),
    [aux_sym_simple_identifier_token4] = ACTIONS(2678),
    [anon_sym_actor] = ACTIONS(2676),
    [anon_sym_async] = ACTIONS(2676),
    [anon_sym_each] = ACTIONS(2676),
    [anon_sym_lazy] = ACTIONS(2676),
    [anon_sym_repeat] = ACTIONS(2676),
    [anon_sym_package] = ACTIONS(2676),
    [anon_sym_nil] = ACTIONS(2676),
    [sym_real_literal] = ACTIONS(2678),
    [sym_integer_literal] = ACTIONS(2676),
    [sym_hex_literal] = ACTIONS(2676),
    [sym_oct_literal] = ACTIONS(2678),
    [sym_bin_literal] = ACTIONS(2678),
    [anon_sym_true] = ACTIONS(2676),
    [anon_sym_false] = ACTIONS(2676),
    [anon_sym_DQUOTE] = ACTIONS(2676),
    [anon_sym_BSLASH] = ACTIONS(2678),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2678),
    [anon_sym_COMMA] = ACTIONS(2680),
    [sym__oneline_regex_literal] = ACTIONS(2676),
    [anon_sym_LPAREN] = ACTIONS(2682),
    [anon_sym_LBRACK] = ACTIONS(2682),
    [anon_sym_QMARK] = ACTIONS(2685),
    [anon_sym_QMARK2] = ACTIONS(2680),
    [anon_sym_AMP] = ACTIONS(2682),
    [anon_sym_TILDE] = ACTIONS(2678),
    [anon_sym_if] = ACTIONS(2676),
    [anon_sym_switch] = ACTIONS(2676),
    [aux_sym_custom_operator_token1] = ACTIONS(2682),
    [anon_sym_LT] = ACTIONS(2673),
    [anon_sym_GT] = ACTIONS(2673),
    [anon_sym_await] = ACTIONS(2676),
    [anon_sym_LBRACE] = ACTIONS(2682),
    [anon_sym_CARET_LBRACE] = ACTIONS(2682),
    [anon_sym_self] = ACTIONS(2676),
    [anon_sym_super] = ACTIONS(2676),
    [anon_sym_try] = ACTIONS(2676),
    [anon_sym_PLUS_EQ] = ACTIONS(2682),
    [anon_sym_DASH_EQ] = ACTIONS(2682),
    [anon_sym_STAR_EQ] = ACTIONS(2682),
    [anon_sym_SLASH_EQ] = ACTIONS(2682),
    [anon_sym_PERCENT_EQ] = ACTIONS(2682),
    [anon_sym_BANG_EQ] = ACTIONS(2673),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2682),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2682),
    [anon_sym_LT_EQ] = ACTIONS(2682),
    [anon_sym_GT_EQ] = ACTIONS(2682),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2682),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2682),
    [anon_sym_is] = ACTIONS(2685),
    [anon_sym_PLUS] = ACTIONS(2673),
    [anon_sym_DASH] = ACTIONS(2673),
    [anon_sym_STAR] = ACTIONS(2673),
    [anon_sym_SLASH] = ACTIONS(2673),
    [anon_sym_PERCENT] = ACTIONS(2673),
    [anon_sym_PLUS_PLUS] = ACTIONS(2682),
    [anon_sym_DASH_DASH] = ACTIONS(2682),
    [anon_sym_PIPE] = ACTIONS(2682),
    [anon_sym_CARET] = ACTIONS(2673),
    [anon_sym_LT_LT] = ACTIONS(2682),
    [anon_sym_GT_GT] = ACTIONS(2682),
    [anon_sym_borrowing] = ACTIONS(2676),
    [anon_sym_consuming] = ACTIONS(2676),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2678),
    [sym_raw_str_end_part] = ACTIONS(2678),
    [sym__dot_custom] = ACTIONS(2682),
    [sym__conjunction_operator_custom] = ACTIONS(2680),
    [sym__disjunction_operator_custom] = ACTIONS(2680),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2680),
    [sym__eq_custom] = ACTIONS(2682),
    [sym__eq_eq_custom] = ACTIONS(2682),
    [sym__plus_then_ws] = ACTIONS(2682),
    [sym__minus_then_ws] = ACTIONS(2682),
    [sym__bang_custom] = ACTIONS(2682),
    [sym_where_keyword] = ACTIONS(2680),
    [sym_else] = ACTIONS(2680),
    [sym__as_custom] = ACTIONS(2680),
    [sym__as_quest_custom] = ACTIONS(2680),
    [sym__as_bang_custom] = ACTIONS(2680),
    [sym__custom_operator] = ACTIONS(2682),
    [sym__hash_symbol_custom] = ACTIONS(2678),
    [sym__directive_if] = ACTIONS(2678),
    [sym__directive_elseif] = ACTIONS(2678),
    [sym__directive_else] = ACTIONS(2678),
    [sym__directive_endif] = ACTIONS(2678),
  },
  [1228] = {
    [sym_simple_identifier] = STATE(5652),
    [sym__contextual_simple_identifier] = STATE(6039),
    [sym_identifier] = STATE(7036),
    [sym__unannotated_type] = STATE(5919),
    [sym_user_type] = STATE(6078),
    [sym__simple_user_type] = STATE(5926),
    [sym_tuple_type] = STATE(5769),
    [sym_function_type] = STATE(5919),
    [sym_array_type] = STATE(6078),
    [sym_dictionary_type] = STATE(6078),
    [sym_optional_type] = STATE(5919),
    [sym_metatype] = STATE(5919),
    [sym_opaque_type] = STATE(5919),
    [sym_existential_type] = STATE(5919),
    [sym_type_parameter_pack] = STATE(5919),
    [sym_type_pack_expansion] = STATE(5919),
    [sym_protocol_composition_type] = STATE(5919),
    [sym_suppressed_constraint] = STATE(5919),
    [sym__parenthesized_type] = STATE(6255),
    [sym_type_constraint] = STATE(2458),
    [sym_inheritance_constraint] = STATE(2529),
    [sym_equality_constraint] = STATE(2529),
    [sym__constrained_type] = STATE(7036),
    [sym_attribute] = STATE(4155),
    [sym__parameter_ownership_modifier] = STATE(6039),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4155),
    [sym_comment] = ACTIONS(5),
    [aux_sym_simple_identifier_token1] = ACTIONS(4037),
    [aux_sym_simple_identifier_token2] = ACTIONS(4039),
    [aux_sym_simple_identifier_token3] = ACTIONS(4039),
    [aux_sym_simple_identifier_token4] = ACTIONS(4039),
    [anon_sym_actor] = ACTIONS(4037),
    [anon_sym_async] = ACTIONS(4037),
    [anon_sym_each] = ACTIONS(4041),
    [anon_sym_lazy] = ACTIONS(4037),
    [anon_sym_repeat] = ACTIONS(4043),
    [anon_sym_package] = ACTIONS(4037),
    [anon_sym_LPAREN] = ACTIONS(4047),
    [anon_sym_LBRACK] = ACTIONS(4049),
    [anon_sym_some] = ACTIONS(4051),
    [anon_sym_any] = ACTIONS(4053),
    [anon_sym_TILDE] = ACTIONS(4055),
    [anon_sym_LBRACE] = ACTIONS(4079),
    [anon_sym_RBRACE] = ACTIONS(4079),
    [anon_sym_case] = ACTIONS(4081),
    [anon_sym_import] = ACTIONS(4081),
    [anon_sym_typealias] = ACTIONS(4081),
    [anon_sym_struct] = ACTIONS(4081),
    [anon_sym_class] = ACTIONS(4081),
    [anon_sym_enum] = ACTIONS(4081),
    [anon_sym_protocol] = ACTIONS(4081),
    [anon_sym_let] = ACTIONS(4081),
    [anon_sym_var] = ACTIONS(4081),
    [anon_sym_func] = ACTIONS(4081),
    [anon_sym_extension] = ACTIONS(4081),
    [anon_sym_indirect] = ACTIONS(4081),
    [anon_sym_init] = ACTIONS(4081),
    [anon_sym_deinit] = ACTIONS(4081),
    [anon_sym_subscript] = ACTIONS(4081),
    [anon_sym_prefix] = ACTIONS(4081),
    [anon_sym_infix] = ACTIONS(4081),
    [anon_sym_postfix] = ACTIONS(4081),
    [anon_sym_precedencegroup] = ACTIONS(4081),
    [anon_sym_associatedtype] = ACTIONS(4081),
    [anon_sym_AT] = ACTIONS(811),
    [anon_sym_override] = ACTIONS(4081),
    [anon_sym_convenience] = ACTIONS(4081),
    [anon_sym_required] = ACTIONS(4081),
    [anon_sym_nonisolated] = ACTIONS(4081),
    [anon_sym_public] = ACTIONS(4081),
    [anon_sym_private] = ACTIONS(4081),
    [anon_sym_internal] = ACTIONS(4081),
    [anon_sym_fileprivate] = ACTIONS(4081),
    [anon_sym_open] = ACTIONS(4081),
    [anon_sym_mutating] = ACTIONS(4081),
    [anon_sym_nonmutating] = ACTIONS(4081),
    [anon_sym_static] = ACTIONS(4081),
    [anon_sym_dynamic] = ACTIONS(4081),
    [anon_sym_optional] = ACTIONS(4081),
    [anon_sym_distributed] = ACTIONS(4081),
    [anon_sym_final] = ACTIONS(4081),
    [anon_sym_inout] = ACTIONS(4081),
    [anon_sym_ATescaping] = ACTIONS(4079),
    [anon_sym_ATautoclosure] = ACTIONS(4079),
    [anon_sym_weak] = ACTIONS(4081),
    [anon_sym_unowned] = ACTIONS(4081),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(4079),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(4079),
    [anon_sym_borrowing] = ACTIONS(4037),
    [anon_sym_consuming] = ACTIONS(4037),
    [sym_multiline_comment] = ACTIONS(5),
  },
  [1229] = {
    [anon_sym_BANG] = ACTIONS(2653),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2653),
    [aux_sym_simple_identifier_token2] = ACTIONS(2655),
    [aux_sym_simple_identifier_token3] = ACTIONS(2655),
    [aux_sym_simple_identifier_token4] = ACTIONS(2655),
    [anon_sym_actor] = ACTIONS(2653),
    [anon_sym_async] = ACTIONS(2653),
    [anon_sym_each] = ACTIONS(2653),
    [anon_sym_lazy] = ACTIONS(2653),
    [anon_sym_repeat] = ACTIONS(2653),
    [anon_sym_package] = ACTIONS(2653),
    [anon_sym_nil] = ACTIONS(2653),
    [sym_real_literal] = ACTIONS(2655),
    [sym_integer_literal] = ACTIONS(2653),
    [sym_hex_literal] = ACTIONS(2653),
    [sym_oct_literal] = ACTIONS(2655),
    [sym_bin_literal] = ACTIONS(2655),
    [anon_sym_true] = ACTIONS(2653),
    [anon_sym_false] = ACTIONS(2653),
    [anon_sym_DQUOTE] = ACTIONS(2653),
    [anon_sym_BSLASH] = ACTIONS(2655),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2655),
    [anon_sym_COMMA] = ACTIONS(2655),
    [sym__oneline_regex_literal] = ACTIONS(2653),
    [anon_sym_LPAREN] = ACTIONS(2655),
    [anon_sym_LBRACK] = ACTIONS(2655),
    [anon_sym_QMARK] = ACTIONS(2653),
    [anon_sym_QMARK2] = ACTIONS(2655),
    [anon_sym_AMP] = ACTIONS(2655),
    [anon_sym_TILDE] = ACTIONS(2655),
    [anon_sym_if] = ACTIONS(2653),
    [anon_sym_switch] = ACTIONS(2653),
    [aux_sym_custom_operator_token1] = ACTIONS(2655),
    [anon_sym_LT] = ACTIONS(2653),
    [anon_sym_GT] = ACTIONS(2653),
    [anon_sym_await] = ACTIONS(2653),
    [anon_sym_LBRACE] = ACTIONS(2655),
    [anon_sym_CARET_LBRACE] = ACTIONS(2655),
    [anon_sym_self] = ACTIONS(2653),
    [anon_sym_super] = ACTIONS(2653),
    [anon_sym_try] = ACTIONS(2653),
    [anon_sym_PLUS_EQ] = ACTIONS(2655),
    [anon_sym_DASH_EQ] = ACTIONS(2655),
    [anon_sym_STAR_EQ] = ACTIONS(2655),
    [anon_sym_SLASH_EQ] = ACTIONS(2655),
    [anon_sym_PERCENT_EQ] = ACTIONS(2655),
    [anon_sym_BANG_EQ] = ACTIONS(2653),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2655),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2655),
    [anon_sym_LT_EQ] = ACTIONS(2655),
    [anon_sym_GT_EQ] = ACTIONS(2655),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2655),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2655),
    [anon_sym_is] = ACTIONS(2653),
    [anon_sym_PLUS] = ACTIONS(2653),
    [anon_sym_DASH] = ACTIONS(2653),
    [anon_sym_STAR] = ACTIONS(2653),
    [anon_sym_SLASH] = ACTIONS(2653),
    [anon_sym_PERCENT] = ACTIONS(2653),
    [anon_sym_PLUS_PLUS] = ACTIONS(2655),
    [anon_sym_DASH_DASH] = ACTIONS(2655),
    [anon_sym_PIPE] = ACTIONS(2655),
    [anon_sym_CARET] = ACTIONS(2653),
    [anon_sym_LT_LT] = ACTIONS(2655),
    [anon_sym_GT_GT] = ACTIONS(2655),
    [anon_sym_borrowing] = ACTIONS(2653),
    [anon_sym_consuming] = ACTIONS(2653),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2655),
    [sym_raw_str_end_part] = ACTIONS(2655),
    [sym__dot_custom] = ACTIONS(2655),
    [sym__conjunction_operator_custom] = ACTIONS(2655),
    [sym__disjunction_operator_custom] = ACTIONS(2655),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2655),
    [sym__eq_custom] = ACTIONS(2655),
    [sym__eq_eq_custom] = ACTIONS(2655),
    [sym__plus_then_ws] = ACTIONS(2655),
    [sym__minus_then_ws] = ACTIONS(2655),
    [sym__bang_custom] = ACTIONS(2655),
    [sym_where_keyword] = ACTIONS(2655),
    [sym_else] = ACTIONS(2655),
    [sym__as_custom] = ACTIONS(2655),
    [sym__as_quest_custom] = ACTIONS(2655),
    [sym__as_bang_custom] = ACTIONS(2655),
    [sym__custom_operator] = ACTIONS(2655),
    [sym__hash_symbol_custom] = ACTIONS(2655),
    [sym__directive_if] = ACTIONS(2655),
    [sym__directive_elseif] = ACTIONS(2655),
    [sym__directive_else] = ACTIONS(2655),
    [sym__directive_endif] = ACTIONS(2655),
  },
  [1230] = {
    [sym__type_level_declaration] = STATE(6676),
    [sym_import_declaration] = STATE(6676),
    [sym_property_declaration] = STATE(6676),
    [sym__modifierless_property_declaration] = STATE(7625),
    [sym_typealias_declaration] = STATE(6676),
    [sym__modifierless_typealias_declaration] = STATE(7444),
    [sym_function_declaration] = STATE(6676),
    [sym__bodyless_function_declaration] = STATE(7742),
    [sym__modifierless_function_declaration_no_body] = STATE(8708),
    [sym_class_declaration] = STATE(6676),
    [sym__modifierless_class_declaration] = STATE(7633),
    [sym__class_member_declarations] = STATE(8860),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__async_modifier] = STATE(7659),
    [sym_protocol_declaration] = STATE(6676),
    [sym_init_declaration] = STATE(6676),
    [sym_deinit_declaration] = STATE(6676),
    [sym_subscript_declaration] = STATE(6676),
    [sym_operator_declaration] = STATE(6676),
    [sym_precedence_group_declaration] = STATE(6676),
    [sym_associatedtype_declaration] = STATE(6676),
    [sym_attribute] = STATE(1786),
    [sym_value_binding_pattern] = STATE(4778),
    [sym__possibly_async_binding_pattern_kind] = STATE(4778),
    [sym_modifiers] = STATE(4931),
    [aux_sym__locally_permitted_modifiers] = STATE(1786),
    [sym__non_local_scope_modifier] = STATE(1786),
    [sym__locally_permitted_modifier] = STATE(1786),
    [sym_property_behavior_modifier] = STATE(1786),
    [sym_member_modifier] = STATE(1786),
    [sym_visibility_modifier] = STATE(1786),
    [sym_function_modifier] = STATE(1786),
    [sym_mutation_modifier] = STATE(1786),
    [sym_property_modifier] = STATE(1786),
    [sym_inheritance_modifier] = STATE(1786),
    [sym_parameter_modifier] = STATE(1786),
    [sym_ownership_modifier] = STATE(1786),
    [sym__parameter_ownership_modifier] = STATE(2979),
    [aux_sym_modifiers_repeat1] = STATE(1786),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(4240),
    [anon_sym_async] = ACTIONS(3977),
    [anon_sym_lazy] = ACTIONS(3979),
    [anon_sym_package] = ACTIONS(3981),
    [anon_sym_RBRACE] = ACTIONS(4313),
    [anon_sym_import] = ACTIONS(4244),
    [anon_sym_typealias] = ACTIONS(4246),
    [anon_sym_struct] = ACTIONS(4240),
    [anon_sym_class] = ACTIONS(4248),
    [anon_sym_enum] = ACTIONS(4250),
    [anon_sym_protocol] = ACTIONS(4252),
    [anon_sym_let] = ACTIONS(3997),
    [anon_sym_var] = ACTIONS(3997),
    [anon_sym_func] = ACTIONS(3999),
    [anon_sym_extension] = ACTIONS(4254),
    [anon_sym_indirect] = ACTIONS(4256),
    [anon_sym_init] = ACTIONS(4258),
    [anon_sym_deinit] = ACTIONS(4260),
    [anon_sym_subscript] = ACTIONS(4262),
    [anon_sym_prefix] = ACTIONS(4264),
    [anon_sym_infix] = ACTIONS(4264),
    [anon_sym_postfix] = ACTIONS(4264),
    [anon_sym_precedencegroup] = ACTIONS(4266),
    [anon_sym_associatedtype] = ACTIONS(4268),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(4017),
    [anon_sym_convenience] = ACTIONS(4017),
    [anon_sym_required] = ACTIONS(4017),
    [anon_sym_nonisolated] = ACTIONS(4017),
    [anon_sym_public] = ACTIONS(3981),
    [anon_sym_private] = ACTIONS(3981),
    [anon_sym_internal] = ACTIONS(3981),
    [anon_sym_fileprivate] = ACTIONS(3981),
    [anon_sym_open] = ACTIONS(3981),
    [anon_sym_mutating] = ACTIONS(4019),
    [anon_sym_nonmutating] = ACTIONS(4019),
    [anon_sym_static] = ACTIONS(4021),
    [anon_sym_dynamic] = ACTIONS(4021),
    [anon_sym_optional] = ACTIONS(4021),
    [anon_sym_distributed] = ACTIONS(4021),
    [anon_sym_final] = ACTIONS(4023),
    [anon_sym_inout] = ACTIONS(125),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(129),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(125),
    [anon_sym_consuming] = ACTIONS(125),
    [sym_multiline_comment] = ACTIONS(5),
  },
  [1231] = {
    [anon_sym_BANG] = ACTIONS(3489),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3491),
    [anon_sym_package] = ACTIONS(3491),
    [anon_sym_COMMA] = ACTIONS(3491),
    [anon_sym_LPAREN] = ACTIONS(3491),
    [anon_sym_LBRACK] = ACTIONS(3491),
    [anon_sym_QMARK] = ACTIONS(3489),
    [anon_sym_QMARK2] = ACTIONS(3491),
    [anon_sym_AMP] = ACTIONS(3491),
    [aux_sym_custom_operator_token1] = ACTIONS(3491),
    [anon_sym_LT] = ACTIONS(3489),
    [anon_sym_GT] = ACTIONS(3489),
    [anon_sym_LBRACE] = ACTIONS(3491),
    [anon_sym_CARET_LBRACE] = ACTIONS(3491),
    [anon_sym_RBRACE] = ACTIONS(3491),
    [anon_sym_case] = ACTIONS(3491),
    [anon_sym_fallthrough] = ACTIONS(3491),
    [anon_sym_PLUS_EQ] = ACTIONS(3491),
    [anon_sym_DASH_EQ] = ACTIONS(3491),
    [anon_sym_STAR_EQ] = ACTIONS(3491),
    [anon_sym_SLASH_EQ] = ACTIONS(3491),
    [anon_sym_PERCENT_EQ] = ACTIONS(3491),
    [anon_sym_BANG_EQ] = ACTIONS(3489),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3491),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3491),
    [anon_sym_LT_EQ] = ACTIONS(3491),
    [anon_sym_GT_EQ] = ACTIONS(3491),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3491),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3491),
    [anon_sym_is] = ACTIONS(3491),
    [anon_sym_PLUS] = ACTIONS(3489),
    [anon_sym_DASH] = ACTIONS(3489),
    [anon_sym_STAR] = ACTIONS(3489),
    [anon_sym_SLASH] = ACTIONS(3489),
    [anon_sym_PERCENT] = ACTIONS(3489),
    [anon_sym_PLUS_PLUS] = ACTIONS(3491),
    [anon_sym_DASH_DASH] = ACTIONS(3491),
    [anon_sym_PIPE] = ACTIONS(3491),
    [anon_sym_CARET] = ACTIONS(3489),
    [anon_sym_LT_LT] = ACTIONS(3491),
    [anon_sym_GT_GT] = ACTIONS(3491),
    [anon_sym_class] = ACTIONS(3491),
    [anon_sym_prefix] = ACTIONS(3491),
    [anon_sym_infix] = ACTIONS(3491),
    [anon_sym_postfix] = ACTIONS(3491),
    [anon_sym_AT] = ACTIONS(3489),
    [anon_sym_override] = ACTIONS(3491),
    [anon_sym_convenience] = ACTIONS(3491),
    [anon_sym_required] = ACTIONS(3491),
    [anon_sym_nonisolated] = ACTIONS(3491),
    [anon_sym_public] = ACTIONS(3491),
    [anon_sym_private] = ACTIONS(3491),
    [anon_sym_internal] = ACTIONS(3491),
    [anon_sym_fileprivate] = ACTIONS(3491),
    [anon_sym_open] = ACTIONS(3491),
    [anon_sym_mutating] = ACTIONS(3491),
    [anon_sym_nonmutating] = ACTIONS(3491),
    [anon_sym_static] = ACTIONS(3491),
    [anon_sym_dynamic] = ACTIONS(3491),
    [anon_sym_optional] = ACTIONS(3491),
    [anon_sym_distributed] = ACTIONS(3491),
    [anon_sym_final] = ACTIONS(3491),
    [anon_sym_inout] = ACTIONS(3491),
    [anon_sym_ATescaping] = ACTIONS(3491),
    [anon_sym_ATautoclosure] = ACTIONS(3491),
    [anon_sym_weak] = ACTIONS(3491),
    [anon_sym_unowned] = ACTIONS(3489),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3491),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3491),
    [anon_sym_borrowing] = ACTIONS(3491),
    [anon_sym_consuming] = ACTIONS(3491),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3491),
    [sym__explicit_semi] = ACTIONS(3491),
    [sym__dot_custom] = ACTIONS(3491),
    [sym__conjunction_operator_custom] = ACTIONS(3491),
    [sym__disjunction_operator_custom] = ACTIONS(3491),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3491),
    [sym__eq_custom] = ACTIONS(3491),
    [sym__eq_eq_custom] = ACTIONS(3491),
    [sym__plus_then_ws] = ACTIONS(3491),
    [sym__minus_then_ws] = ACTIONS(3491),
    [sym__bang_custom] = ACTIONS(3491),
    [sym_default_keyword] = ACTIONS(3491),
    [sym_where_keyword] = ACTIONS(3491),
    [sym__as_custom] = ACTIONS(3491),
    [sym__as_quest_custom] = ACTIONS(3491),
    [sym__as_bang_custom] = ACTIONS(3491),
    [sym__custom_operator] = ACTIONS(3491),
  },
  [1232] = {
    [anon_sym_BANG] = ACTIONS(3293),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3295),
    [anon_sym_package] = ACTIONS(3295),
    [anon_sym_COMMA] = ACTIONS(3295),
    [anon_sym_LPAREN] = ACTIONS(3295),
    [anon_sym_LBRACK] = ACTIONS(3295),
    [anon_sym_QMARK] = ACTIONS(3293),
    [anon_sym_QMARK2] = ACTIONS(3295),
    [anon_sym_AMP] = ACTIONS(3295),
    [aux_sym_custom_operator_token1] = ACTIONS(3295),
    [anon_sym_LT] = ACTIONS(3293),
    [anon_sym_GT] = ACTIONS(3293),
    [anon_sym_LBRACE] = ACTIONS(3295),
    [anon_sym_CARET_LBRACE] = ACTIONS(3295),
    [anon_sym_RBRACE] = ACTIONS(3295),
    [anon_sym_case] = ACTIONS(3295),
    [anon_sym_fallthrough] = ACTIONS(3295),
    [anon_sym_PLUS_EQ] = ACTIONS(3295),
    [anon_sym_DASH_EQ] = ACTIONS(3295),
    [anon_sym_STAR_EQ] = ACTIONS(3295),
    [anon_sym_SLASH_EQ] = ACTIONS(3295),
    [anon_sym_PERCENT_EQ] = ACTIONS(3295),
    [anon_sym_BANG_EQ] = ACTIONS(3293),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3295),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3295),
    [anon_sym_LT_EQ] = ACTIONS(3295),
    [anon_sym_GT_EQ] = ACTIONS(3295),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3295),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3295),
    [anon_sym_is] = ACTIONS(3295),
    [anon_sym_PLUS] = ACTIONS(3293),
    [anon_sym_DASH] = ACTIONS(3293),
    [anon_sym_STAR] = ACTIONS(3293),
    [anon_sym_SLASH] = ACTIONS(3293),
    [anon_sym_PERCENT] = ACTIONS(3293),
    [anon_sym_PLUS_PLUS] = ACTIONS(3295),
    [anon_sym_DASH_DASH] = ACTIONS(3295),
    [anon_sym_PIPE] = ACTIONS(3295),
    [anon_sym_CARET] = ACTIONS(3293),
    [anon_sym_LT_LT] = ACTIONS(3295),
    [anon_sym_GT_GT] = ACTIONS(3295),
    [anon_sym_class] = ACTIONS(3295),
    [anon_sym_prefix] = ACTIONS(3295),
    [anon_sym_infix] = ACTIONS(3295),
    [anon_sym_postfix] = ACTIONS(3295),
    [anon_sym_AT] = ACTIONS(3293),
    [anon_sym_override] = ACTIONS(3295),
    [anon_sym_convenience] = ACTIONS(3295),
    [anon_sym_required] = ACTIONS(3295),
    [anon_sym_nonisolated] = ACTIONS(3295),
    [anon_sym_public] = ACTIONS(3295),
    [anon_sym_private] = ACTIONS(3295),
    [anon_sym_internal] = ACTIONS(3295),
    [anon_sym_fileprivate] = ACTIONS(3295),
    [anon_sym_open] = ACTIONS(3295),
    [anon_sym_mutating] = ACTIONS(3295),
    [anon_sym_nonmutating] = ACTIONS(3295),
    [anon_sym_static] = ACTIONS(3295),
    [anon_sym_dynamic] = ACTIONS(3295),
    [anon_sym_optional] = ACTIONS(3295),
    [anon_sym_distributed] = ACTIONS(3295),
    [anon_sym_final] = ACTIONS(3295),
    [anon_sym_inout] = ACTIONS(3295),
    [anon_sym_ATescaping] = ACTIONS(3295),
    [anon_sym_ATautoclosure] = ACTIONS(3295),
    [anon_sym_weak] = ACTIONS(3295),
    [anon_sym_unowned] = ACTIONS(3293),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3295),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3295),
    [anon_sym_borrowing] = ACTIONS(3295),
    [anon_sym_consuming] = ACTIONS(3295),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3295),
    [sym__explicit_semi] = ACTIONS(3295),
    [sym__dot_custom] = ACTIONS(3295),
    [sym__conjunction_operator_custom] = ACTIONS(3295),
    [sym__disjunction_operator_custom] = ACTIONS(3295),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3295),
    [sym__eq_custom] = ACTIONS(3295),
    [sym__eq_eq_custom] = ACTIONS(3295),
    [sym__plus_then_ws] = ACTIONS(3295),
    [sym__minus_then_ws] = ACTIONS(3295),
    [sym__bang_custom] = ACTIONS(3295),
    [sym_default_keyword] = ACTIONS(3295),
    [sym_where_keyword] = ACTIONS(3295),
    [sym__as_custom] = ACTIONS(3295),
    [sym__as_quest_custom] = ACTIONS(3295),
    [sym__as_bang_custom] = ACTIONS(3295),
    [sym__custom_operator] = ACTIONS(3295),
  },
  [1233] = {
    [anon_sym_BANG] = ACTIONS(3521),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3523),
    [anon_sym_package] = ACTIONS(3523),
    [anon_sym_COMMA] = ACTIONS(3523),
    [anon_sym_LPAREN] = ACTIONS(3523),
    [anon_sym_LBRACK] = ACTIONS(3523),
    [anon_sym_QMARK] = ACTIONS(3521),
    [anon_sym_QMARK2] = ACTIONS(3523),
    [anon_sym_AMP] = ACTIONS(3523),
    [aux_sym_custom_operator_token1] = ACTIONS(3523),
    [anon_sym_LT] = ACTIONS(3521),
    [anon_sym_GT] = ACTIONS(3521),
    [anon_sym_LBRACE] = ACTIONS(3523),
    [anon_sym_CARET_LBRACE] = ACTIONS(3523),
    [anon_sym_RBRACE] = ACTIONS(3523),
    [anon_sym_case] = ACTIONS(3523),
    [anon_sym_fallthrough] = ACTIONS(3523),
    [anon_sym_PLUS_EQ] = ACTIONS(3523),
    [anon_sym_DASH_EQ] = ACTIONS(3523),
    [anon_sym_STAR_EQ] = ACTIONS(3523),
    [anon_sym_SLASH_EQ] = ACTIONS(3523),
    [anon_sym_PERCENT_EQ] = ACTIONS(3523),
    [anon_sym_BANG_EQ] = ACTIONS(3521),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3523),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3523),
    [anon_sym_LT_EQ] = ACTIONS(3523),
    [anon_sym_GT_EQ] = ACTIONS(3523),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3523),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3523),
    [anon_sym_is] = ACTIONS(3523),
    [anon_sym_PLUS] = ACTIONS(3521),
    [anon_sym_DASH] = ACTIONS(3521),
    [anon_sym_STAR] = ACTIONS(3521),
    [anon_sym_SLASH] = ACTIONS(3521),
    [anon_sym_PERCENT] = ACTIONS(3521),
    [anon_sym_PLUS_PLUS] = ACTIONS(3523),
    [anon_sym_DASH_DASH] = ACTIONS(3523),
    [anon_sym_PIPE] = ACTIONS(3523),
    [anon_sym_CARET] = ACTIONS(3521),
    [anon_sym_LT_LT] = ACTIONS(3523),
    [anon_sym_GT_GT] = ACTIONS(3523),
    [anon_sym_class] = ACTIONS(3523),
    [anon_sym_prefix] = ACTIONS(3523),
    [anon_sym_infix] = ACTIONS(3523),
    [anon_sym_postfix] = ACTIONS(3523),
    [anon_sym_AT] = ACTIONS(3521),
    [anon_sym_override] = ACTIONS(3523),
    [anon_sym_convenience] = ACTIONS(3523),
    [anon_sym_required] = ACTIONS(3523),
    [anon_sym_nonisolated] = ACTIONS(3523),
    [anon_sym_public] = ACTIONS(3523),
    [anon_sym_private] = ACTIONS(3523),
    [anon_sym_internal] = ACTIONS(3523),
    [anon_sym_fileprivate] = ACTIONS(3523),
    [anon_sym_open] = ACTIONS(3523),
    [anon_sym_mutating] = ACTIONS(3523),
    [anon_sym_nonmutating] = ACTIONS(3523),
    [anon_sym_static] = ACTIONS(3523),
    [anon_sym_dynamic] = ACTIONS(3523),
    [anon_sym_optional] = ACTIONS(3523),
    [anon_sym_distributed] = ACTIONS(3523),
    [anon_sym_final] = ACTIONS(3523),
    [anon_sym_inout] = ACTIONS(3523),
    [anon_sym_ATescaping] = ACTIONS(3523),
    [anon_sym_ATautoclosure] = ACTIONS(3523),
    [anon_sym_weak] = ACTIONS(3523),
    [anon_sym_unowned] = ACTIONS(3521),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3523),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3523),
    [anon_sym_borrowing] = ACTIONS(3523),
    [anon_sym_consuming] = ACTIONS(3523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3523),
    [sym__explicit_semi] = ACTIONS(3523),
    [sym__dot_custom] = ACTIONS(3523),
    [sym__conjunction_operator_custom] = ACTIONS(3523),
    [sym__disjunction_operator_custom] = ACTIONS(3523),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3523),
    [sym__eq_custom] = ACTIONS(3523),
    [sym__eq_eq_custom] = ACTIONS(3523),
    [sym__plus_then_ws] = ACTIONS(3523),
    [sym__minus_then_ws] = ACTIONS(3523),
    [sym__bang_custom] = ACTIONS(3523),
    [sym_default_keyword] = ACTIONS(3523),
    [sym_where_keyword] = ACTIONS(3523),
    [sym__as_custom] = ACTIONS(3523),
    [sym__as_quest_custom] = ACTIONS(3523),
    [sym__as_bang_custom] = ACTIONS(3523),
    [sym__custom_operator] = ACTIONS(3523),
  },
  [1234] = {
    [anon_sym_BANG] = ACTIONS(3417),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3419),
    [anon_sym_package] = ACTIONS(3419),
    [anon_sym_COMMA] = ACTIONS(3419),
    [anon_sym_LPAREN] = ACTIONS(3419),
    [anon_sym_LBRACK] = ACTIONS(3419),
    [anon_sym_QMARK] = ACTIONS(3417),
    [anon_sym_QMARK2] = ACTIONS(3419),
    [anon_sym_AMP] = ACTIONS(3419),
    [aux_sym_custom_operator_token1] = ACTIONS(3419),
    [anon_sym_LT] = ACTIONS(3417),
    [anon_sym_GT] = ACTIONS(3417),
    [anon_sym_LBRACE] = ACTIONS(3419),
    [anon_sym_CARET_LBRACE] = ACTIONS(3419),
    [anon_sym_RBRACE] = ACTIONS(3419),
    [anon_sym_case] = ACTIONS(3419),
    [anon_sym_fallthrough] = ACTIONS(3419),
    [anon_sym_PLUS_EQ] = ACTIONS(3419),
    [anon_sym_DASH_EQ] = ACTIONS(3419),
    [anon_sym_STAR_EQ] = ACTIONS(3419),
    [anon_sym_SLASH_EQ] = ACTIONS(3419),
    [anon_sym_PERCENT_EQ] = ACTIONS(3419),
    [anon_sym_BANG_EQ] = ACTIONS(3417),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3419),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3419),
    [anon_sym_LT_EQ] = ACTIONS(3419),
    [anon_sym_GT_EQ] = ACTIONS(3419),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3419),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3419),
    [anon_sym_is] = ACTIONS(3419),
    [anon_sym_PLUS] = ACTIONS(3417),
    [anon_sym_DASH] = ACTIONS(3417),
    [anon_sym_STAR] = ACTIONS(3417),
    [anon_sym_SLASH] = ACTIONS(3417),
    [anon_sym_PERCENT] = ACTIONS(3417),
    [anon_sym_PLUS_PLUS] = ACTIONS(3419),
    [anon_sym_DASH_DASH] = ACTIONS(3419),
    [anon_sym_PIPE] = ACTIONS(3419),
    [anon_sym_CARET] = ACTIONS(3417),
    [anon_sym_LT_LT] = ACTIONS(3419),
    [anon_sym_GT_GT] = ACTIONS(3419),
    [anon_sym_class] = ACTIONS(3419),
    [anon_sym_prefix] = ACTIONS(3419),
    [anon_sym_infix] = ACTIONS(3419),
    [anon_sym_postfix] = ACTIONS(3419),
    [anon_sym_AT] = ACTIONS(3417),
    [anon_sym_override] = ACTIONS(3419),
    [anon_sym_convenience] = ACTIONS(3419),
    [anon_sym_required] = ACTIONS(3419),
    [anon_sym_nonisolated] = ACTIONS(3419),
    [anon_sym_public] = ACTIONS(3419),
    [anon_sym_private] = ACTIONS(3419),
    [anon_sym_internal] = ACTIONS(3419),
    [anon_sym_fileprivate] = ACTIONS(3419),
    [anon_sym_open] = ACTIONS(3419),
    [anon_sym_mutating] = ACTIONS(3419),
    [anon_sym_nonmutating] = ACTIONS(3419),
    [anon_sym_static] = ACTIONS(3419),
    [anon_sym_dynamic] = ACTIONS(3419),
    [anon_sym_optional] = ACTIONS(3419),
    [anon_sym_distributed] = ACTIONS(3419),
    [anon_sym_final] = ACTIONS(3419),
    [anon_sym_inout] = ACTIONS(3419),
    [anon_sym_ATescaping] = ACTIONS(3419),
    [anon_sym_ATautoclosure] = ACTIONS(3419),
    [anon_sym_weak] = ACTIONS(3419),
    [anon_sym_unowned] = ACTIONS(3417),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3419),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3419),
    [anon_sym_borrowing] = ACTIONS(3419),
    [anon_sym_consuming] = ACTIONS(3419),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3419),
    [sym__explicit_semi] = ACTIONS(3419),
    [sym__dot_custom] = ACTIONS(3419),
    [sym__conjunction_operator_custom] = ACTIONS(3419),
    [sym__disjunction_operator_custom] = ACTIONS(3419),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3419),
    [sym__eq_custom] = ACTIONS(3419),
    [sym__eq_eq_custom] = ACTIONS(3419),
    [sym__plus_then_ws] = ACTIONS(3419),
    [sym__minus_then_ws] = ACTIONS(3419),
    [sym__bang_custom] = ACTIONS(3419),
    [sym_default_keyword] = ACTIONS(3419),
    [sym_where_keyword] = ACTIONS(3419),
    [sym__as_custom] = ACTIONS(3419),
    [sym__as_quest_custom] = ACTIONS(3419),
    [sym__as_bang_custom] = ACTIONS(3419),
    [sym__custom_operator] = ACTIONS(3419),
  },
  [1235] = {
    [anon_sym_BANG] = ACTIONS(3373),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3375),
    [anon_sym_package] = ACTIONS(3375),
    [anon_sym_COMMA] = ACTIONS(3375),
    [anon_sym_LPAREN] = ACTIONS(3375),
    [anon_sym_LBRACK] = ACTIONS(3375),
    [anon_sym_QMARK] = ACTIONS(3373),
    [anon_sym_QMARK2] = ACTIONS(3375),
    [anon_sym_AMP] = ACTIONS(3375),
    [aux_sym_custom_operator_token1] = ACTIONS(3375),
    [anon_sym_LT] = ACTIONS(3373),
    [anon_sym_GT] = ACTIONS(3373),
    [anon_sym_LBRACE] = ACTIONS(3375),
    [anon_sym_CARET_LBRACE] = ACTIONS(3375),
    [anon_sym_RBRACE] = ACTIONS(3375),
    [anon_sym_case] = ACTIONS(3375),
    [anon_sym_fallthrough] = ACTIONS(3375),
    [anon_sym_PLUS_EQ] = ACTIONS(3375),
    [anon_sym_DASH_EQ] = ACTIONS(3375),
    [anon_sym_STAR_EQ] = ACTIONS(3375),
    [anon_sym_SLASH_EQ] = ACTIONS(3375),
    [anon_sym_PERCENT_EQ] = ACTIONS(3375),
    [anon_sym_BANG_EQ] = ACTIONS(3373),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3375),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3375),
    [anon_sym_LT_EQ] = ACTIONS(3375),
    [anon_sym_GT_EQ] = ACTIONS(3375),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3375),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3375),
    [anon_sym_is] = ACTIONS(3375),
    [anon_sym_PLUS] = ACTIONS(3373),
    [anon_sym_DASH] = ACTIONS(3373),
    [anon_sym_STAR] = ACTIONS(3373),
    [anon_sym_SLASH] = ACTIONS(3373),
    [anon_sym_PERCENT] = ACTIONS(3373),
    [anon_sym_PLUS_PLUS] = ACTIONS(3375),
    [anon_sym_DASH_DASH] = ACTIONS(3375),
    [anon_sym_PIPE] = ACTIONS(3375),
    [anon_sym_CARET] = ACTIONS(3373),
    [anon_sym_LT_LT] = ACTIONS(3375),
    [anon_sym_GT_GT] = ACTIONS(3375),
    [anon_sym_class] = ACTIONS(3375),
    [anon_sym_prefix] = ACTIONS(3375),
    [anon_sym_infix] = ACTIONS(3375),
    [anon_sym_postfix] = ACTIONS(3375),
    [anon_sym_AT] = ACTIONS(3373),
    [anon_sym_override] = ACTIONS(3375),
    [anon_sym_convenience] = ACTIONS(3375),
    [anon_sym_required] = ACTIONS(3375),
    [anon_sym_nonisolated] = ACTIONS(3375),
    [anon_sym_public] = ACTIONS(3375),
    [anon_sym_private] = ACTIONS(3375),
    [anon_sym_internal] = ACTIONS(3375),
    [anon_sym_fileprivate] = ACTIONS(3375),
    [anon_sym_open] = ACTIONS(3375),
    [anon_sym_mutating] = ACTIONS(3375),
    [anon_sym_nonmutating] = ACTIONS(3375),
    [anon_sym_static] = ACTIONS(3375),
    [anon_sym_dynamic] = ACTIONS(3375),
    [anon_sym_optional] = ACTIONS(3375),
    [anon_sym_distributed] = ACTIONS(3375),
    [anon_sym_final] = ACTIONS(3375),
    [anon_sym_inout] = ACTIONS(3375),
    [anon_sym_ATescaping] = ACTIONS(3375),
    [anon_sym_ATautoclosure] = ACTIONS(3375),
    [anon_sym_weak] = ACTIONS(3375),
    [anon_sym_unowned] = ACTIONS(3373),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3375),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3375),
    [anon_sym_borrowing] = ACTIONS(3375),
    [anon_sym_consuming] = ACTIONS(3375),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3375),
    [sym__explicit_semi] = ACTIONS(3375),
    [sym__dot_custom] = ACTIONS(3375),
    [sym__conjunction_operator_custom] = ACTIONS(3375),
    [sym__disjunction_operator_custom] = ACTIONS(3375),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3375),
    [sym__eq_custom] = ACTIONS(3375),
    [sym__eq_eq_custom] = ACTIONS(3375),
    [sym__plus_then_ws] = ACTIONS(3375),
    [sym__minus_then_ws] = ACTIONS(3375),
    [sym__bang_custom] = ACTIONS(3375),
    [sym_default_keyword] = ACTIONS(3375),
    [sym_where_keyword] = ACTIONS(3375),
    [sym__as_custom] = ACTIONS(3375),
    [sym__as_quest_custom] = ACTIONS(3375),
    [sym__as_bang_custom] = ACTIONS(3375),
    [sym__custom_operator] = ACTIONS(3375),
  },
  [1236] = {
    [anon_sym_BANG] = ACTIONS(3473),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3475),
    [anon_sym_package] = ACTIONS(3475),
    [anon_sym_COMMA] = ACTIONS(3475),
    [anon_sym_LPAREN] = ACTIONS(3475),
    [anon_sym_LBRACK] = ACTIONS(3475),
    [anon_sym_QMARK] = ACTIONS(3473),
    [anon_sym_QMARK2] = ACTIONS(3475),
    [anon_sym_AMP] = ACTIONS(3475),
    [aux_sym_custom_operator_token1] = ACTIONS(3475),
    [anon_sym_LT] = ACTIONS(3473),
    [anon_sym_GT] = ACTIONS(3473),
    [anon_sym_LBRACE] = ACTIONS(3475),
    [anon_sym_CARET_LBRACE] = ACTIONS(3475),
    [anon_sym_RBRACE] = ACTIONS(3475),
    [anon_sym_case] = ACTIONS(3475),
    [anon_sym_fallthrough] = ACTIONS(3475),
    [anon_sym_PLUS_EQ] = ACTIONS(3475),
    [anon_sym_DASH_EQ] = ACTIONS(3475),
    [anon_sym_STAR_EQ] = ACTIONS(3475),
    [anon_sym_SLASH_EQ] = ACTIONS(3475),
    [anon_sym_PERCENT_EQ] = ACTIONS(3475),
    [anon_sym_BANG_EQ] = ACTIONS(3473),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3475),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3475),
    [anon_sym_LT_EQ] = ACTIONS(3475),
    [anon_sym_GT_EQ] = ACTIONS(3475),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3475),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3475),
    [anon_sym_is] = ACTIONS(3475),
    [anon_sym_PLUS] = ACTIONS(3473),
    [anon_sym_DASH] = ACTIONS(3473),
    [anon_sym_STAR] = ACTIONS(3473),
    [anon_sym_SLASH] = ACTIONS(3473),
    [anon_sym_PERCENT] = ACTIONS(3473),
    [anon_sym_PLUS_PLUS] = ACTIONS(3475),
    [anon_sym_DASH_DASH] = ACTIONS(3475),
    [anon_sym_PIPE] = ACTIONS(3475),
    [anon_sym_CARET] = ACTIONS(3473),
    [anon_sym_LT_LT] = ACTIONS(3475),
    [anon_sym_GT_GT] = ACTIONS(3475),
    [anon_sym_class] = ACTIONS(3475),
    [anon_sym_prefix] = ACTIONS(3475),
    [anon_sym_infix] = ACTIONS(3475),
    [anon_sym_postfix] = ACTIONS(3475),
    [anon_sym_AT] = ACTIONS(3473),
    [anon_sym_override] = ACTIONS(3475),
    [anon_sym_convenience] = ACTIONS(3475),
    [anon_sym_required] = ACTIONS(3475),
    [anon_sym_nonisolated] = ACTIONS(3475),
    [anon_sym_public] = ACTIONS(3475),
    [anon_sym_private] = ACTIONS(3475),
    [anon_sym_internal] = ACTIONS(3475),
    [anon_sym_fileprivate] = ACTIONS(3475),
    [anon_sym_open] = ACTIONS(3475),
    [anon_sym_mutating] = ACTIONS(3475),
    [anon_sym_nonmutating] = ACTIONS(3475),
    [anon_sym_static] = ACTIONS(3475),
    [anon_sym_dynamic] = ACTIONS(3475),
    [anon_sym_optional] = ACTIONS(3475),
    [anon_sym_distributed] = ACTIONS(3475),
    [anon_sym_final] = ACTIONS(3475),
    [anon_sym_inout] = ACTIONS(3475),
    [anon_sym_ATescaping] = ACTIONS(3475),
    [anon_sym_ATautoclosure] = ACTIONS(3475),
    [anon_sym_weak] = ACTIONS(3475),
    [anon_sym_unowned] = ACTIONS(3473),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3475),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3475),
    [anon_sym_borrowing] = ACTIONS(3475),
    [anon_sym_consuming] = ACTIONS(3475),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3475),
    [sym__explicit_semi] = ACTIONS(3475),
    [sym__dot_custom] = ACTIONS(3475),
    [sym__conjunction_operator_custom] = ACTIONS(3475),
    [sym__disjunction_operator_custom] = ACTIONS(3475),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3475),
    [sym__eq_custom] = ACTIONS(3475),
    [sym__eq_eq_custom] = ACTIONS(3475),
    [sym__plus_then_ws] = ACTIONS(3475),
    [sym__minus_then_ws] = ACTIONS(3475),
    [sym__bang_custom] = ACTIONS(3475),
    [sym_default_keyword] = ACTIONS(3475),
    [sym_where_keyword] = ACTIONS(3475),
    [sym__as_custom] = ACTIONS(3475),
    [sym__as_quest_custom] = ACTIONS(3475),
    [sym__as_bang_custom] = ACTIONS(3475),
    [sym__custom_operator] = ACTIONS(3475),
  },
  [1237] = {
    [anon_sym_BANG] = ACTIONS(3441),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3443),
    [anon_sym_package] = ACTIONS(3443),
    [anon_sym_COMMA] = ACTIONS(3443),
    [anon_sym_LPAREN] = ACTIONS(3443),
    [anon_sym_LBRACK] = ACTIONS(3443),
    [anon_sym_QMARK] = ACTIONS(3441),
    [anon_sym_QMARK2] = ACTIONS(3443),
    [anon_sym_AMP] = ACTIONS(3443),
    [aux_sym_custom_operator_token1] = ACTIONS(3443),
    [anon_sym_LT] = ACTIONS(3441),
    [anon_sym_GT] = ACTIONS(3441),
    [anon_sym_LBRACE] = ACTIONS(3443),
    [anon_sym_CARET_LBRACE] = ACTIONS(3443),
    [anon_sym_RBRACE] = ACTIONS(3443),
    [anon_sym_case] = ACTIONS(3443),
    [anon_sym_fallthrough] = ACTIONS(3443),
    [anon_sym_PLUS_EQ] = ACTIONS(3443),
    [anon_sym_DASH_EQ] = ACTIONS(3443),
    [anon_sym_STAR_EQ] = ACTIONS(3443),
    [anon_sym_SLASH_EQ] = ACTIONS(3443),
    [anon_sym_PERCENT_EQ] = ACTIONS(3443),
    [anon_sym_BANG_EQ] = ACTIONS(3441),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3443),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3443),
    [anon_sym_LT_EQ] = ACTIONS(3443),
    [anon_sym_GT_EQ] = ACTIONS(3443),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3443),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3443),
    [anon_sym_is] = ACTIONS(3443),
    [anon_sym_PLUS] = ACTIONS(3441),
    [anon_sym_DASH] = ACTIONS(3441),
    [anon_sym_STAR] = ACTIONS(3441),
    [anon_sym_SLASH] = ACTIONS(3441),
    [anon_sym_PERCENT] = ACTIONS(3441),
    [anon_sym_PLUS_PLUS] = ACTIONS(3443),
    [anon_sym_DASH_DASH] = ACTIONS(3443),
    [anon_sym_PIPE] = ACTIONS(3443),
    [anon_sym_CARET] = ACTIONS(3441),
    [anon_sym_LT_LT] = ACTIONS(3443),
    [anon_sym_GT_GT] = ACTIONS(3443),
    [anon_sym_class] = ACTIONS(3443),
    [anon_sym_prefix] = ACTIONS(3443),
    [anon_sym_infix] = ACTIONS(3443),
    [anon_sym_postfix] = ACTIONS(3443),
    [anon_sym_AT] = ACTIONS(3441),
    [anon_sym_override] = ACTIONS(3443),
    [anon_sym_convenience] = ACTIONS(3443),
    [anon_sym_required] = ACTIONS(3443),
    [anon_sym_nonisolated] = ACTIONS(3443),
    [anon_sym_public] = ACTIONS(3443),
    [anon_sym_private] = ACTIONS(3443),
    [anon_sym_internal] = ACTIONS(3443),
    [anon_sym_fileprivate] = ACTIONS(3443),
    [anon_sym_open] = ACTIONS(3443),
    [anon_sym_mutating] = ACTIONS(3443),
    [anon_sym_nonmutating] = ACTIONS(3443),
    [anon_sym_static] = ACTIONS(3443),
    [anon_sym_dynamic] = ACTIONS(3443),
    [anon_sym_optional] = ACTIONS(3443),
    [anon_sym_distributed] = ACTIONS(3443),
    [anon_sym_final] = ACTIONS(3443),
    [anon_sym_inout] = ACTIONS(3443),
    [anon_sym_ATescaping] = ACTIONS(3443),
    [anon_sym_ATautoclosure] = ACTIONS(3443),
    [anon_sym_weak] = ACTIONS(3443),
    [anon_sym_unowned] = ACTIONS(3441),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3443),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3443),
    [anon_sym_borrowing] = ACTIONS(3443),
    [anon_sym_consuming] = ACTIONS(3443),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3443),
    [sym__explicit_semi] = ACTIONS(3443),
    [sym__dot_custom] = ACTIONS(3443),
    [sym__conjunction_operator_custom] = ACTIONS(3443),
    [sym__disjunction_operator_custom] = ACTIONS(3443),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3443),
    [sym__eq_custom] = ACTIONS(3443),
    [sym__eq_eq_custom] = ACTIONS(3443),
    [sym__plus_then_ws] = ACTIONS(3443),
    [sym__minus_then_ws] = ACTIONS(3443),
    [sym__bang_custom] = ACTIONS(3443),
    [sym_default_keyword] = ACTIONS(3443),
    [sym_where_keyword] = ACTIONS(3443),
    [sym__as_custom] = ACTIONS(3443),
    [sym__as_quest_custom] = ACTIONS(3443),
    [sym__as_bang_custom] = ACTIONS(3443),
    [sym__custom_operator] = ACTIONS(3443),
  },
  [1238] = {
    [anon_sym_BANG] = ACTIONS(3429),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3431),
    [anon_sym_package] = ACTIONS(3431),
    [anon_sym_COMMA] = ACTIONS(3431),
    [anon_sym_LPAREN] = ACTIONS(3431),
    [anon_sym_LBRACK] = ACTIONS(3431),
    [anon_sym_QMARK] = ACTIONS(3429),
    [anon_sym_QMARK2] = ACTIONS(3431),
    [anon_sym_AMP] = ACTIONS(3431),
    [aux_sym_custom_operator_token1] = ACTIONS(3431),
    [anon_sym_LT] = ACTIONS(3429),
    [anon_sym_GT] = ACTIONS(3429),
    [anon_sym_LBRACE] = ACTIONS(3431),
    [anon_sym_CARET_LBRACE] = ACTIONS(3431),
    [anon_sym_RBRACE] = ACTIONS(3431),
    [anon_sym_case] = ACTIONS(3431),
    [anon_sym_fallthrough] = ACTIONS(3431),
    [anon_sym_PLUS_EQ] = ACTIONS(3431),
    [anon_sym_DASH_EQ] = ACTIONS(3431),
    [anon_sym_STAR_EQ] = ACTIONS(3431),
    [anon_sym_SLASH_EQ] = ACTIONS(3431),
    [anon_sym_PERCENT_EQ] = ACTIONS(3431),
    [anon_sym_BANG_EQ] = ACTIONS(3429),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3431),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3431),
    [anon_sym_LT_EQ] = ACTIONS(3431),
    [anon_sym_GT_EQ] = ACTIONS(3431),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3431),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3431),
    [anon_sym_is] = ACTIONS(3431),
    [anon_sym_PLUS] = ACTIONS(3429),
    [anon_sym_DASH] = ACTIONS(3429),
    [anon_sym_STAR] = ACTIONS(3429),
    [anon_sym_SLASH] = ACTIONS(3429),
    [anon_sym_PERCENT] = ACTIONS(3429),
    [anon_sym_PLUS_PLUS] = ACTIONS(3431),
    [anon_sym_DASH_DASH] = ACTIONS(3431),
    [anon_sym_PIPE] = ACTIONS(3431),
    [anon_sym_CARET] = ACTIONS(3429),
    [anon_sym_LT_LT] = ACTIONS(3431),
    [anon_sym_GT_GT] = ACTIONS(3431),
    [anon_sym_class] = ACTIONS(3431),
    [anon_sym_prefix] = ACTIONS(3431),
    [anon_sym_infix] = ACTIONS(3431),
    [anon_sym_postfix] = ACTIONS(3431),
    [anon_sym_AT] = ACTIONS(3429),
    [anon_sym_override] = ACTIONS(3431),
    [anon_sym_convenience] = ACTIONS(3431),
    [anon_sym_required] = ACTIONS(3431),
    [anon_sym_nonisolated] = ACTIONS(3431),
    [anon_sym_public] = ACTIONS(3431),
    [anon_sym_private] = ACTIONS(3431),
    [anon_sym_internal] = ACTIONS(3431),
    [anon_sym_fileprivate] = ACTIONS(3431),
    [anon_sym_open] = ACTIONS(3431),
    [anon_sym_mutating] = ACTIONS(3431),
    [anon_sym_nonmutating] = ACTIONS(3431),
    [anon_sym_static] = ACTIONS(3431),
    [anon_sym_dynamic] = ACTIONS(3431),
    [anon_sym_optional] = ACTIONS(3431),
    [anon_sym_distributed] = ACTIONS(3431),
    [anon_sym_final] = ACTIONS(3431),
    [anon_sym_inout] = ACTIONS(3431),
    [anon_sym_ATescaping] = ACTIONS(3431),
    [anon_sym_ATautoclosure] = ACTIONS(3431),
    [anon_sym_weak] = ACTIONS(3431),
    [anon_sym_unowned] = ACTIONS(3429),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3431),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3431),
    [anon_sym_borrowing] = ACTIONS(3431),
    [anon_sym_consuming] = ACTIONS(3431),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3431),
    [sym__explicit_semi] = ACTIONS(3431),
    [sym__dot_custom] = ACTIONS(3431),
    [sym__conjunction_operator_custom] = ACTIONS(3431),
    [sym__disjunction_operator_custom] = ACTIONS(3431),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3431),
    [sym__eq_custom] = ACTIONS(3431),
    [sym__eq_eq_custom] = ACTIONS(3431),
    [sym__plus_then_ws] = ACTIONS(3431),
    [sym__minus_then_ws] = ACTIONS(3431),
    [sym__bang_custom] = ACTIONS(3431),
    [sym_default_keyword] = ACTIONS(3431),
    [sym_where_keyword] = ACTIONS(3431),
    [sym__as_custom] = ACTIONS(3431),
    [sym__as_quest_custom] = ACTIONS(3431),
    [sym__as_bang_custom] = ACTIONS(3431),
    [sym__custom_operator] = ACTIONS(3431),
  },
  [1239] = {
    [anon_sym_BANG] = ACTIONS(3569),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3571),
    [anon_sym_package] = ACTIONS(3571),
    [anon_sym_COMMA] = ACTIONS(3571),
    [anon_sym_LPAREN] = ACTIONS(3571),
    [anon_sym_LBRACK] = ACTIONS(3571),
    [anon_sym_QMARK] = ACTIONS(3569),
    [anon_sym_QMARK2] = ACTIONS(3571),
    [anon_sym_AMP] = ACTIONS(3571),
    [aux_sym_custom_operator_token1] = ACTIONS(3571),
    [anon_sym_LT] = ACTIONS(3569),
    [anon_sym_GT] = ACTIONS(3569),
    [anon_sym_LBRACE] = ACTIONS(3571),
    [anon_sym_CARET_LBRACE] = ACTIONS(3571),
    [anon_sym_RBRACE] = ACTIONS(3571),
    [anon_sym_case] = ACTIONS(3571),
    [anon_sym_fallthrough] = ACTIONS(3571),
    [anon_sym_PLUS_EQ] = ACTIONS(3571),
    [anon_sym_DASH_EQ] = ACTIONS(3571),
    [anon_sym_STAR_EQ] = ACTIONS(3571),
    [anon_sym_SLASH_EQ] = ACTIONS(3571),
    [anon_sym_PERCENT_EQ] = ACTIONS(3571),
    [anon_sym_BANG_EQ] = ACTIONS(3569),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3571),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3571),
    [anon_sym_LT_EQ] = ACTIONS(3571),
    [anon_sym_GT_EQ] = ACTIONS(3571),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3571),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3571),
    [anon_sym_is] = ACTIONS(3571),
    [anon_sym_PLUS] = ACTIONS(3569),
    [anon_sym_DASH] = ACTIONS(3569),
    [anon_sym_STAR] = ACTIONS(3569),
    [anon_sym_SLASH] = ACTIONS(3569),
    [anon_sym_PERCENT] = ACTIONS(3569),
    [anon_sym_PLUS_PLUS] = ACTIONS(3571),
    [anon_sym_DASH_DASH] = ACTIONS(3571),
    [anon_sym_PIPE] = ACTIONS(3571),
    [anon_sym_CARET] = ACTIONS(3569),
    [anon_sym_LT_LT] = ACTIONS(3571),
    [anon_sym_GT_GT] = ACTIONS(3571),
    [anon_sym_class] = ACTIONS(3571),
    [anon_sym_prefix] = ACTIONS(3571),
    [anon_sym_infix] = ACTIONS(3571),
    [anon_sym_postfix] = ACTIONS(3571),
    [anon_sym_AT] = ACTIONS(3569),
    [anon_sym_override] = ACTIONS(3571),
    [anon_sym_convenience] = ACTIONS(3571),
    [anon_sym_required] = ACTIONS(3571),
    [anon_sym_nonisolated] = ACTIONS(3571),
    [anon_sym_public] = ACTIONS(3571),
    [anon_sym_private] = ACTIONS(3571),
    [anon_sym_internal] = ACTIONS(3571),
    [anon_sym_fileprivate] = ACTIONS(3571),
    [anon_sym_open] = ACTIONS(3571),
    [anon_sym_mutating] = ACTIONS(3571),
    [anon_sym_nonmutating] = ACTIONS(3571),
    [anon_sym_static] = ACTIONS(3571),
    [anon_sym_dynamic] = ACTIONS(3571),
    [anon_sym_optional] = ACTIONS(3571),
    [anon_sym_distributed] = ACTIONS(3571),
    [anon_sym_final] = ACTIONS(3571),
    [anon_sym_inout] = ACTIONS(3571),
    [anon_sym_ATescaping] = ACTIONS(3571),
    [anon_sym_ATautoclosure] = ACTIONS(3571),
    [anon_sym_weak] = ACTIONS(3571),
    [anon_sym_unowned] = ACTIONS(3569),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3571),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3571),
    [anon_sym_borrowing] = ACTIONS(3571),
    [anon_sym_consuming] = ACTIONS(3571),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3571),
    [sym__explicit_semi] = ACTIONS(3571),
    [sym__dot_custom] = ACTIONS(3571),
    [sym__conjunction_operator_custom] = ACTIONS(3571),
    [sym__disjunction_operator_custom] = ACTIONS(3571),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3571),
    [sym__eq_custom] = ACTIONS(3571),
    [sym__eq_eq_custom] = ACTIONS(3571),
    [sym__plus_then_ws] = ACTIONS(3571),
    [sym__minus_then_ws] = ACTIONS(3571),
    [sym__bang_custom] = ACTIONS(3571),
    [sym_default_keyword] = ACTIONS(3571),
    [sym_where_keyword] = ACTIONS(3571),
    [sym__as_custom] = ACTIONS(3571),
    [sym__as_quest_custom] = ACTIONS(3571),
    [sym__as_bang_custom] = ACTIONS(3571),
    [sym__custom_operator] = ACTIONS(3571),
  },
  [1240] = {
    [anon_sym_BANG] = ACTIONS(3573),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3575),
    [anon_sym_package] = ACTIONS(3575),
    [anon_sym_COMMA] = ACTIONS(3575),
    [anon_sym_LPAREN] = ACTIONS(3575),
    [anon_sym_LBRACK] = ACTIONS(3575),
    [anon_sym_QMARK] = ACTIONS(3573),
    [anon_sym_QMARK2] = ACTIONS(3575),
    [anon_sym_AMP] = ACTIONS(3575),
    [aux_sym_custom_operator_token1] = ACTIONS(3575),
    [anon_sym_LT] = ACTIONS(3573),
    [anon_sym_GT] = ACTIONS(3573),
    [anon_sym_LBRACE] = ACTIONS(3575),
    [anon_sym_CARET_LBRACE] = ACTIONS(3575),
    [anon_sym_RBRACE] = ACTIONS(3575),
    [anon_sym_case] = ACTIONS(3575),
    [anon_sym_fallthrough] = ACTIONS(3575),
    [anon_sym_PLUS_EQ] = ACTIONS(3575),
    [anon_sym_DASH_EQ] = ACTIONS(3575),
    [anon_sym_STAR_EQ] = ACTIONS(3575),
    [anon_sym_SLASH_EQ] = ACTIONS(3575),
    [anon_sym_PERCENT_EQ] = ACTIONS(3575),
    [anon_sym_BANG_EQ] = ACTIONS(3573),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3575),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3575),
    [anon_sym_LT_EQ] = ACTIONS(3575),
    [anon_sym_GT_EQ] = ACTIONS(3575),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3575),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3575),
    [anon_sym_is] = ACTIONS(3575),
    [anon_sym_PLUS] = ACTIONS(3573),
    [anon_sym_DASH] = ACTIONS(3573),
    [anon_sym_STAR] = ACTIONS(3573),
    [anon_sym_SLASH] = ACTIONS(3573),
    [anon_sym_PERCENT] = ACTIONS(3573),
    [anon_sym_PLUS_PLUS] = ACTIONS(3575),
    [anon_sym_DASH_DASH] = ACTIONS(3575),
    [anon_sym_PIPE] = ACTIONS(3575),
    [anon_sym_CARET] = ACTIONS(3573),
    [anon_sym_LT_LT] = ACTIONS(3575),
    [anon_sym_GT_GT] = ACTIONS(3575),
    [anon_sym_class] = ACTIONS(3575),
    [anon_sym_prefix] = ACTIONS(3575),
    [anon_sym_infix] = ACTIONS(3575),
    [anon_sym_postfix] = ACTIONS(3575),
    [anon_sym_AT] = ACTIONS(3573),
    [anon_sym_override] = ACTIONS(3575),
    [anon_sym_convenience] = ACTIONS(3575),
    [anon_sym_required] = ACTIONS(3575),
    [anon_sym_nonisolated] = ACTIONS(3575),
    [anon_sym_public] = ACTIONS(3575),
    [anon_sym_private] = ACTIONS(3575),
    [anon_sym_internal] = ACTIONS(3575),
    [anon_sym_fileprivate] = ACTIONS(3575),
    [anon_sym_open] = ACTIONS(3575),
    [anon_sym_mutating] = ACTIONS(3575),
    [anon_sym_nonmutating] = ACTIONS(3575),
    [anon_sym_static] = ACTIONS(3575),
    [anon_sym_dynamic] = ACTIONS(3575),
    [anon_sym_optional] = ACTIONS(3575),
    [anon_sym_distributed] = ACTIONS(3575),
    [anon_sym_final] = ACTIONS(3575),
    [anon_sym_inout] = ACTIONS(3575),
    [anon_sym_ATescaping] = ACTIONS(3575),
    [anon_sym_ATautoclosure] = ACTIONS(3575),
    [anon_sym_weak] = ACTIONS(3575),
    [anon_sym_unowned] = ACTIONS(3573),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3575),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3575),
    [anon_sym_borrowing] = ACTIONS(3575),
    [anon_sym_consuming] = ACTIONS(3575),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3575),
    [sym__explicit_semi] = ACTIONS(3575),
    [sym__dot_custom] = ACTIONS(3575),
    [sym__conjunction_operator_custom] = ACTIONS(3575),
    [sym__disjunction_operator_custom] = ACTIONS(3575),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3575),
    [sym__eq_custom] = ACTIONS(3575),
    [sym__eq_eq_custom] = ACTIONS(3575),
    [sym__plus_then_ws] = ACTIONS(3575),
    [sym__minus_then_ws] = ACTIONS(3575),
    [sym__bang_custom] = ACTIONS(3575),
    [sym_default_keyword] = ACTIONS(3575),
    [sym_where_keyword] = ACTIONS(3575),
    [sym__as_custom] = ACTIONS(3575),
    [sym__as_quest_custom] = ACTIONS(3575),
    [sym__as_bang_custom] = ACTIONS(3575),
    [sym__custom_operator] = ACTIONS(3575),
  },
  [1241] = {
    [anon_sym_BANG] = ACTIONS(3341),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3343),
    [anon_sym_package] = ACTIONS(3343),
    [anon_sym_COMMA] = ACTIONS(3343),
    [anon_sym_LPAREN] = ACTIONS(3343),
    [anon_sym_LBRACK] = ACTIONS(3343),
    [anon_sym_QMARK] = ACTIONS(3341),
    [anon_sym_QMARK2] = ACTIONS(3343),
    [anon_sym_AMP] = ACTIONS(3343),
    [aux_sym_custom_operator_token1] = ACTIONS(3343),
    [anon_sym_LT] = ACTIONS(3341),
    [anon_sym_GT] = ACTIONS(3341),
    [anon_sym_LBRACE] = ACTIONS(3343),
    [anon_sym_CARET_LBRACE] = ACTIONS(3343),
    [anon_sym_RBRACE] = ACTIONS(3343),
    [anon_sym_case] = ACTIONS(3343),
    [anon_sym_fallthrough] = ACTIONS(3343),
    [anon_sym_PLUS_EQ] = ACTIONS(3343),
    [anon_sym_DASH_EQ] = ACTIONS(3343),
    [anon_sym_STAR_EQ] = ACTIONS(3343),
    [anon_sym_SLASH_EQ] = ACTIONS(3343),
    [anon_sym_PERCENT_EQ] = ACTIONS(3343),
    [anon_sym_BANG_EQ] = ACTIONS(3341),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3343),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3343),
    [anon_sym_LT_EQ] = ACTIONS(3343),
    [anon_sym_GT_EQ] = ACTIONS(3343),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3343),
    [anon_sym_is] = ACTIONS(3343),
    [anon_sym_PLUS] = ACTIONS(3341),
    [anon_sym_DASH] = ACTIONS(3341),
    [anon_sym_STAR] = ACTIONS(3341),
    [anon_sym_SLASH] = ACTIONS(3341),
    [anon_sym_PERCENT] = ACTIONS(3341),
    [anon_sym_PLUS_PLUS] = ACTIONS(3343),
    [anon_sym_DASH_DASH] = ACTIONS(3343),
    [anon_sym_PIPE] = ACTIONS(3343),
    [anon_sym_CARET] = ACTIONS(3341),
    [anon_sym_LT_LT] = ACTIONS(3343),
    [anon_sym_GT_GT] = ACTIONS(3343),
    [anon_sym_class] = ACTIONS(3343),
    [anon_sym_prefix] = ACTIONS(3343),
    [anon_sym_infix] = ACTIONS(3343),
    [anon_sym_postfix] = ACTIONS(3343),
    [anon_sym_AT] = ACTIONS(3341),
    [anon_sym_override] = ACTIONS(3343),
    [anon_sym_convenience] = ACTIONS(3343),
    [anon_sym_required] = ACTIONS(3343),
    [anon_sym_nonisolated] = ACTIONS(3343),
    [anon_sym_public] = ACTIONS(3343),
    [anon_sym_private] = ACTIONS(3343),
    [anon_sym_internal] = ACTIONS(3343),
    [anon_sym_fileprivate] = ACTIONS(3343),
    [anon_sym_open] = ACTIONS(3343),
    [anon_sym_mutating] = ACTIONS(3343),
    [anon_sym_nonmutating] = ACTIONS(3343),
    [anon_sym_static] = ACTIONS(3343),
    [anon_sym_dynamic] = ACTIONS(3343),
    [anon_sym_optional] = ACTIONS(3343),
    [anon_sym_distributed] = ACTIONS(3343),
    [anon_sym_final] = ACTIONS(3343),
    [anon_sym_inout] = ACTIONS(3343),
    [anon_sym_ATescaping] = ACTIONS(3343),
    [anon_sym_ATautoclosure] = ACTIONS(3343),
    [anon_sym_weak] = ACTIONS(3343),
    [anon_sym_unowned] = ACTIONS(3341),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3343),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3343),
    [anon_sym_borrowing] = ACTIONS(3343),
    [anon_sym_consuming] = ACTIONS(3343),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3343),
    [sym__explicit_semi] = ACTIONS(3343),
    [sym__dot_custom] = ACTIONS(3343),
    [sym__conjunction_operator_custom] = ACTIONS(3343),
    [sym__disjunction_operator_custom] = ACTIONS(3343),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3343),
    [sym__eq_custom] = ACTIONS(3343),
    [sym__eq_eq_custom] = ACTIONS(3343),
    [sym__plus_then_ws] = ACTIONS(3343),
    [sym__minus_then_ws] = ACTIONS(3343),
    [sym__bang_custom] = ACTIONS(3343),
    [sym_default_keyword] = ACTIONS(3343),
    [sym_where_keyword] = ACTIONS(3343),
    [sym__as_custom] = ACTIONS(3343),
    [sym__as_quest_custom] = ACTIONS(3343),
    [sym__as_bang_custom] = ACTIONS(3343),
    [sym__custom_operator] = ACTIONS(3343),
  },
  [1242] = {
    [anon_sym_BANG] = ACTIONS(3389),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3391),
    [anon_sym_package] = ACTIONS(3391),
    [anon_sym_COMMA] = ACTIONS(3391),
    [anon_sym_LPAREN] = ACTIONS(3391),
    [anon_sym_LBRACK] = ACTIONS(3391),
    [anon_sym_QMARK] = ACTIONS(3389),
    [anon_sym_QMARK2] = ACTIONS(3391),
    [anon_sym_AMP] = ACTIONS(3391),
    [aux_sym_custom_operator_token1] = ACTIONS(3391),
    [anon_sym_LT] = ACTIONS(3389),
    [anon_sym_GT] = ACTIONS(3389),
    [anon_sym_LBRACE] = ACTIONS(3391),
    [anon_sym_CARET_LBRACE] = ACTIONS(3391),
    [anon_sym_RBRACE] = ACTIONS(3391),
    [anon_sym_case] = ACTIONS(3391),
    [anon_sym_fallthrough] = ACTIONS(3391),
    [anon_sym_PLUS_EQ] = ACTIONS(3391),
    [anon_sym_DASH_EQ] = ACTIONS(3391),
    [anon_sym_STAR_EQ] = ACTIONS(3391),
    [anon_sym_SLASH_EQ] = ACTIONS(3391),
    [anon_sym_PERCENT_EQ] = ACTIONS(3391),
    [anon_sym_BANG_EQ] = ACTIONS(3389),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3391),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3391),
    [anon_sym_LT_EQ] = ACTIONS(3391),
    [anon_sym_GT_EQ] = ACTIONS(3391),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3391),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3391),
    [anon_sym_is] = ACTIONS(3391),
    [anon_sym_PLUS] = ACTIONS(3389),
    [anon_sym_DASH] = ACTIONS(3389),
    [anon_sym_STAR] = ACTIONS(3389),
    [anon_sym_SLASH] = ACTIONS(3389),
    [anon_sym_PERCENT] = ACTIONS(3389),
    [anon_sym_PLUS_PLUS] = ACTIONS(3391),
    [anon_sym_DASH_DASH] = ACTIONS(3391),
    [anon_sym_PIPE] = ACTIONS(3391),
    [anon_sym_CARET] = ACTIONS(3389),
    [anon_sym_LT_LT] = ACTIONS(3391),
    [anon_sym_GT_GT] = ACTIONS(3391),
    [anon_sym_class] = ACTIONS(3391),
    [anon_sym_prefix] = ACTIONS(3391),
    [anon_sym_infix] = ACTIONS(3391),
    [anon_sym_postfix] = ACTIONS(3391),
    [anon_sym_AT] = ACTIONS(3389),
    [anon_sym_override] = ACTIONS(3391),
    [anon_sym_convenience] = ACTIONS(3391),
    [anon_sym_required] = ACTIONS(3391),
    [anon_sym_nonisolated] = ACTIONS(3391),
    [anon_sym_public] = ACTIONS(3391),
    [anon_sym_private] = ACTIONS(3391),
    [anon_sym_internal] = ACTIONS(3391),
    [anon_sym_fileprivate] = ACTIONS(3391),
    [anon_sym_open] = ACTIONS(3391),
    [anon_sym_mutating] = ACTIONS(3391),
    [anon_sym_nonmutating] = ACTIONS(3391),
    [anon_sym_static] = ACTIONS(3391),
    [anon_sym_dynamic] = ACTIONS(3391),
    [anon_sym_optional] = ACTIONS(3391),
    [anon_sym_distributed] = ACTIONS(3391),
    [anon_sym_final] = ACTIONS(3391),
    [anon_sym_inout] = ACTIONS(3391),
    [anon_sym_ATescaping] = ACTIONS(3391),
    [anon_sym_ATautoclosure] = ACTIONS(3391),
    [anon_sym_weak] = ACTIONS(3391),
    [anon_sym_unowned] = ACTIONS(3389),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3391),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3391),
    [anon_sym_borrowing] = ACTIONS(3391),
    [anon_sym_consuming] = ACTIONS(3391),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3391),
    [sym__explicit_semi] = ACTIONS(3391),
    [sym__dot_custom] = ACTIONS(3391),
    [sym__conjunction_operator_custom] = ACTIONS(3391),
    [sym__disjunction_operator_custom] = ACTIONS(3391),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3391),
    [sym__eq_custom] = ACTIONS(3391),
    [sym__eq_eq_custom] = ACTIONS(3391),
    [sym__plus_then_ws] = ACTIONS(3391),
    [sym__minus_then_ws] = ACTIONS(3391),
    [sym__bang_custom] = ACTIONS(3391),
    [sym_default_keyword] = ACTIONS(3391),
    [sym_where_keyword] = ACTIONS(3391),
    [sym__as_custom] = ACTIONS(3391),
    [sym__as_quest_custom] = ACTIONS(3391),
    [sym__as_bang_custom] = ACTIONS(3391),
    [sym__custom_operator] = ACTIONS(3391),
  },
  [1243] = {
    [anon_sym_BANG] = ACTIONS(3369),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3371),
    [anon_sym_package] = ACTIONS(3371),
    [anon_sym_COMMA] = ACTIONS(3371),
    [anon_sym_LPAREN] = ACTIONS(3371),
    [anon_sym_LBRACK] = ACTIONS(3371),
    [anon_sym_QMARK] = ACTIONS(3369),
    [anon_sym_QMARK2] = ACTIONS(3371),
    [anon_sym_AMP] = ACTIONS(3371),
    [aux_sym_custom_operator_token1] = ACTIONS(3371),
    [anon_sym_LT] = ACTIONS(3369),
    [anon_sym_GT] = ACTIONS(3369),
    [anon_sym_LBRACE] = ACTIONS(3371),
    [anon_sym_CARET_LBRACE] = ACTIONS(3371),
    [anon_sym_RBRACE] = ACTIONS(3371),
    [anon_sym_case] = ACTIONS(3371),
    [anon_sym_fallthrough] = ACTIONS(3371),
    [anon_sym_PLUS_EQ] = ACTIONS(3371),
    [anon_sym_DASH_EQ] = ACTIONS(3371),
    [anon_sym_STAR_EQ] = ACTIONS(3371),
    [anon_sym_SLASH_EQ] = ACTIONS(3371),
    [anon_sym_PERCENT_EQ] = ACTIONS(3371),
    [anon_sym_BANG_EQ] = ACTIONS(3369),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3371),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3371),
    [anon_sym_LT_EQ] = ACTIONS(3371),
    [anon_sym_GT_EQ] = ACTIONS(3371),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3371),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3371),
    [anon_sym_is] = ACTIONS(3371),
    [anon_sym_PLUS] = ACTIONS(3369),
    [anon_sym_DASH] = ACTIONS(3369),
    [anon_sym_STAR] = ACTIONS(3369),
    [anon_sym_SLASH] = ACTIONS(3369),
    [anon_sym_PERCENT] = ACTIONS(3369),
    [anon_sym_PLUS_PLUS] = ACTIONS(3371),
    [anon_sym_DASH_DASH] = ACTIONS(3371),
    [anon_sym_PIPE] = ACTIONS(3371),
    [anon_sym_CARET] = ACTIONS(3369),
    [anon_sym_LT_LT] = ACTIONS(3371),
    [anon_sym_GT_GT] = ACTIONS(3371),
    [anon_sym_class] = ACTIONS(3371),
    [anon_sym_prefix] = ACTIONS(3371),
    [anon_sym_infix] = ACTIONS(3371),
    [anon_sym_postfix] = ACTIONS(3371),
    [anon_sym_AT] = ACTIONS(3369),
    [anon_sym_override] = ACTIONS(3371),
    [anon_sym_convenience] = ACTIONS(3371),
    [anon_sym_required] = ACTIONS(3371),
    [anon_sym_nonisolated] = ACTIONS(3371),
    [anon_sym_public] = ACTIONS(3371),
    [anon_sym_private] = ACTIONS(3371),
    [anon_sym_internal] = ACTIONS(3371),
    [anon_sym_fileprivate] = ACTIONS(3371),
    [anon_sym_open] = ACTIONS(3371),
    [anon_sym_mutating] = ACTIONS(3371),
    [anon_sym_nonmutating] = ACTIONS(3371),
    [anon_sym_static] = ACTIONS(3371),
    [anon_sym_dynamic] = ACTIONS(3371),
    [anon_sym_optional] = ACTIONS(3371),
    [anon_sym_distributed] = ACTIONS(3371),
    [anon_sym_final] = ACTIONS(3371),
    [anon_sym_inout] = ACTIONS(3371),
    [anon_sym_ATescaping] = ACTIONS(3371),
    [anon_sym_ATautoclosure] = ACTIONS(3371),
    [anon_sym_weak] = ACTIONS(3371),
    [anon_sym_unowned] = ACTIONS(3369),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3371),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3371),
    [anon_sym_borrowing] = ACTIONS(3371),
    [anon_sym_consuming] = ACTIONS(3371),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3371),
    [sym__explicit_semi] = ACTIONS(3371),
    [sym__dot_custom] = ACTIONS(3371),
    [sym__conjunction_operator_custom] = ACTIONS(3371),
    [sym__disjunction_operator_custom] = ACTIONS(3371),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3371),
    [sym__eq_custom] = ACTIONS(3371),
    [sym__eq_eq_custom] = ACTIONS(3371),
    [sym__plus_then_ws] = ACTIONS(3371),
    [sym__minus_then_ws] = ACTIONS(3371),
    [sym__bang_custom] = ACTIONS(3371),
    [sym_default_keyword] = ACTIONS(3371),
    [sym_where_keyword] = ACTIONS(3371),
    [sym__as_custom] = ACTIONS(3371),
    [sym__as_quest_custom] = ACTIONS(3371),
    [sym__as_bang_custom] = ACTIONS(3371),
    [sym__custom_operator] = ACTIONS(3371),
  },
  [1244] = {
    [anon_sym_BANG] = ACTIONS(3633),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3635),
    [anon_sym_package] = ACTIONS(3635),
    [anon_sym_COMMA] = ACTIONS(3635),
    [anon_sym_LPAREN] = ACTIONS(3635),
    [anon_sym_LBRACK] = ACTIONS(3635),
    [anon_sym_QMARK] = ACTIONS(3633),
    [anon_sym_QMARK2] = ACTIONS(3635),
    [anon_sym_AMP] = ACTIONS(3635),
    [aux_sym_custom_operator_token1] = ACTIONS(3635),
    [anon_sym_LT] = ACTIONS(3633),
    [anon_sym_GT] = ACTIONS(3633),
    [anon_sym_LBRACE] = ACTIONS(3635),
    [anon_sym_CARET_LBRACE] = ACTIONS(3635),
    [anon_sym_RBRACE] = ACTIONS(3635),
    [anon_sym_case] = ACTIONS(3635),
    [anon_sym_fallthrough] = ACTIONS(3635),
    [anon_sym_PLUS_EQ] = ACTIONS(3635),
    [anon_sym_DASH_EQ] = ACTIONS(3635),
    [anon_sym_STAR_EQ] = ACTIONS(3635),
    [anon_sym_SLASH_EQ] = ACTIONS(3635),
    [anon_sym_PERCENT_EQ] = ACTIONS(3635),
    [anon_sym_BANG_EQ] = ACTIONS(3633),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3635),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3635),
    [anon_sym_LT_EQ] = ACTIONS(3635),
    [anon_sym_GT_EQ] = ACTIONS(3635),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3635),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3635),
    [anon_sym_is] = ACTIONS(3635),
    [anon_sym_PLUS] = ACTIONS(3633),
    [anon_sym_DASH] = ACTIONS(3633),
    [anon_sym_STAR] = ACTIONS(3633),
    [anon_sym_SLASH] = ACTIONS(3633),
    [anon_sym_PERCENT] = ACTIONS(3633),
    [anon_sym_PLUS_PLUS] = ACTIONS(3635),
    [anon_sym_DASH_DASH] = ACTIONS(3635),
    [anon_sym_PIPE] = ACTIONS(3635),
    [anon_sym_CARET] = ACTIONS(3633),
    [anon_sym_LT_LT] = ACTIONS(3635),
    [anon_sym_GT_GT] = ACTIONS(3635),
    [anon_sym_class] = ACTIONS(3635),
    [anon_sym_prefix] = ACTIONS(3635),
    [anon_sym_infix] = ACTIONS(3635),
    [anon_sym_postfix] = ACTIONS(3635),
    [anon_sym_AT] = ACTIONS(3633),
    [anon_sym_override] = ACTIONS(3635),
    [anon_sym_convenience] = ACTIONS(3635),
    [anon_sym_required] = ACTIONS(3635),
    [anon_sym_nonisolated] = ACTIONS(3635),
    [anon_sym_public] = ACTIONS(3635),
    [anon_sym_private] = ACTIONS(3635),
    [anon_sym_internal] = ACTIONS(3635),
    [anon_sym_fileprivate] = ACTIONS(3635),
    [anon_sym_open] = ACTIONS(3635),
    [anon_sym_mutating] = ACTIONS(3635),
    [anon_sym_nonmutating] = ACTIONS(3635),
    [anon_sym_static] = ACTIONS(3635),
    [anon_sym_dynamic] = ACTIONS(3635),
    [anon_sym_optional] = ACTIONS(3635),
    [anon_sym_distributed] = ACTIONS(3635),
    [anon_sym_final] = ACTIONS(3635),
    [anon_sym_inout] = ACTIONS(3635),
    [anon_sym_ATescaping] = ACTIONS(3635),
    [anon_sym_ATautoclosure] = ACTIONS(3635),
    [anon_sym_weak] = ACTIONS(3635),
    [anon_sym_unowned] = ACTIONS(3633),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3635),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3635),
    [anon_sym_borrowing] = ACTIONS(3635),
    [anon_sym_consuming] = ACTIONS(3635),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3635),
    [sym__explicit_semi] = ACTIONS(3635),
    [sym__dot_custom] = ACTIONS(3635),
    [sym__conjunction_operator_custom] = ACTIONS(3635),
    [sym__disjunction_operator_custom] = ACTIONS(3635),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3635),
    [sym__eq_custom] = ACTIONS(3635),
    [sym__eq_eq_custom] = ACTIONS(3635),
    [sym__plus_then_ws] = ACTIONS(3635),
    [sym__minus_then_ws] = ACTIONS(3635),
    [sym__bang_custom] = ACTIONS(3635),
    [sym_default_keyword] = ACTIONS(3635),
    [sym_where_keyword] = ACTIONS(3635),
    [sym__as_custom] = ACTIONS(3635),
    [sym__as_quest_custom] = ACTIONS(3635),
    [sym__as_bang_custom] = ACTIONS(3635),
    [sym__custom_operator] = ACTIONS(3635),
  },
  [1245] = {
    [anon_sym_BANG] = ACTIONS(3297),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3299),
    [anon_sym_package] = ACTIONS(3299),
    [anon_sym_COMMA] = ACTIONS(3299),
    [anon_sym_LPAREN] = ACTIONS(3299),
    [anon_sym_LBRACK] = ACTIONS(3299),
    [anon_sym_QMARK] = ACTIONS(3297),
    [anon_sym_QMARK2] = ACTIONS(3299),
    [anon_sym_AMP] = ACTIONS(3299),
    [aux_sym_custom_operator_token1] = ACTIONS(3299),
    [anon_sym_LT] = ACTIONS(3297),
    [anon_sym_GT] = ACTIONS(3297),
    [anon_sym_LBRACE] = ACTIONS(3299),
    [anon_sym_CARET_LBRACE] = ACTIONS(3299),
    [anon_sym_RBRACE] = ACTIONS(3299),
    [anon_sym_case] = ACTIONS(3299),
    [anon_sym_fallthrough] = ACTIONS(3299),
    [anon_sym_PLUS_EQ] = ACTIONS(3299),
    [anon_sym_DASH_EQ] = ACTIONS(3299),
    [anon_sym_STAR_EQ] = ACTIONS(3299),
    [anon_sym_SLASH_EQ] = ACTIONS(3299),
    [anon_sym_PERCENT_EQ] = ACTIONS(3299),
    [anon_sym_BANG_EQ] = ACTIONS(3297),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3299),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3299),
    [anon_sym_LT_EQ] = ACTIONS(3299),
    [anon_sym_GT_EQ] = ACTIONS(3299),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3299),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3299),
    [anon_sym_is] = ACTIONS(3299),
    [anon_sym_PLUS] = ACTIONS(3297),
    [anon_sym_DASH] = ACTIONS(3297),
    [anon_sym_STAR] = ACTIONS(3297),
    [anon_sym_SLASH] = ACTIONS(3297),
    [anon_sym_PERCENT] = ACTIONS(3297),
    [anon_sym_PLUS_PLUS] = ACTIONS(3299),
    [anon_sym_DASH_DASH] = ACTIONS(3299),
    [anon_sym_PIPE] = ACTIONS(3299),
    [anon_sym_CARET] = ACTIONS(3297),
    [anon_sym_LT_LT] = ACTIONS(3299),
    [anon_sym_GT_GT] = ACTIONS(3299),
    [anon_sym_class] = ACTIONS(3299),
    [anon_sym_prefix] = ACTIONS(3299),
    [anon_sym_infix] = ACTIONS(3299),
    [anon_sym_postfix] = ACTIONS(3299),
    [anon_sym_AT] = ACTIONS(3297),
    [anon_sym_override] = ACTIONS(3299),
    [anon_sym_convenience] = ACTIONS(3299),
    [anon_sym_required] = ACTIONS(3299),
    [anon_sym_nonisolated] = ACTIONS(3299),
    [anon_sym_public] = ACTIONS(3299),
    [anon_sym_private] = ACTIONS(3299),
    [anon_sym_internal] = ACTIONS(3299),
    [anon_sym_fileprivate] = ACTIONS(3299),
    [anon_sym_open] = ACTIONS(3299),
    [anon_sym_mutating] = ACTIONS(3299),
    [anon_sym_nonmutating] = ACTIONS(3299),
    [anon_sym_static] = ACTIONS(3299),
    [anon_sym_dynamic] = ACTIONS(3299),
    [anon_sym_optional] = ACTIONS(3299),
    [anon_sym_distributed] = ACTIONS(3299),
    [anon_sym_final] = ACTIONS(3299),
    [anon_sym_inout] = ACTIONS(3299),
    [anon_sym_ATescaping] = ACTIONS(3299),
    [anon_sym_ATautoclosure] = ACTIONS(3299),
    [anon_sym_weak] = ACTIONS(3299),
    [anon_sym_unowned] = ACTIONS(3297),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3299),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3299),
    [anon_sym_borrowing] = ACTIONS(3299),
    [anon_sym_consuming] = ACTIONS(3299),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3299),
    [sym__explicit_semi] = ACTIONS(3299),
    [sym__dot_custom] = ACTIONS(3299),
    [sym__conjunction_operator_custom] = ACTIONS(3299),
    [sym__disjunction_operator_custom] = ACTIONS(3299),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3299),
    [sym__eq_custom] = ACTIONS(3299),
    [sym__eq_eq_custom] = ACTIONS(3299),
    [sym__plus_then_ws] = ACTIONS(3299),
    [sym__minus_then_ws] = ACTIONS(3299),
    [sym__bang_custom] = ACTIONS(3299),
    [sym_default_keyword] = ACTIONS(3299),
    [sym_else] = ACTIONS(4315),
    [sym__as_custom] = ACTIONS(3299),
    [sym__as_quest_custom] = ACTIONS(3299),
    [sym__as_bang_custom] = ACTIONS(3299),
    [sym__custom_operator] = ACTIONS(3299),
  },
  [1246] = {
    [anon_sym_BANG] = ACTIONS(3577),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3579),
    [anon_sym_package] = ACTIONS(3579),
    [anon_sym_COMMA] = ACTIONS(3579),
    [anon_sym_LPAREN] = ACTIONS(3579),
    [anon_sym_LBRACK] = ACTIONS(3579),
    [anon_sym_QMARK] = ACTIONS(3577),
    [anon_sym_QMARK2] = ACTIONS(3579),
    [anon_sym_AMP] = ACTIONS(3579),
    [aux_sym_custom_operator_token1] = ACTIONS(3579),
    [anon_sym_LT] = ACTIONS(3577),
    [anon_sym_GT] = ACTIONS(3577),
    [anon_sym_LBRACE] = ACTIONS(3579),
    [anon_sym_CARET_LBRACE] = ACTIONS(3579),
    [anon_sym_RBRACE] = ACTIONS(3579),
    [anon_sym_case] = ACTIONS(3579),
    [anon_sym_fallthrough] = ACTIONS(3579),
    [anon_sym_PLUS_EQ] = ACTIONS(3579),
    [anon_sym_DASH_EQ] = ACTIONS(3579),
    [anon_sym_STAR_EQ] = ACTIONS(3579),
    [anon_sym_SLASH_EQ] = ACTIONS(3579),
    [anon_sym_PERCENT_EQ] = ACTIONS(3579),
    [anon_sym_BANG_EQ] = ACTIONS(3577),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3579),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3579),
    [anon_sym_LT_EQ] = ACTIONS(3579),
    [anon_sym_GT_EQ] = ACTIONS(3579),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3579),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3579),
    [anon_sym_is] = ACTIONS(3579),
    [anon_sym_PLUS] = ACTIONS(3577),
    [anon_sym_DASH] = ACTIONS(3577),
    [anon_sym_STAR] = ACTIONS(3577),
    [anon_sym_SLASH] = ACTIONS(3577),
    [anon_sym_PERCENT] = ACTIONS(3577),
    [anon_sym_PLUS_PLUS] = ACTIONS(3579),
    [anon_sym_DASH_DASH] = ACTIONS(3579),
    [anon_sym_PIPE] = ACTIONS(3579),
    [anon_sym_CARET] = ACTIONS(3577),
    [anon_sym_LT_LT] = ACTIONS(3579),
    [anon_sym_GT_GT] = ACTIONS(3579),
    [anon_sym_class] = ACTIONS(3579),
    [anon_sym_prefix] = ACTIONS(3579),
    [anon_sym_infix] = ACTIONS(3579),
    [anon_sym_postfix] = ACTIONS(3579),
    [anon_sym_AT] = ACTIONS(3577),
    [anon_sym_override] = ACTIONS(3579),
    [anon_sym_convenience] = ACTIONS(3579),
    [anon_sym_required] = ACTIONS(3579),
    [anon_sym_nonisolated] = ACTIONS(3579),
    [anon_sym_public] = ACTIONS(3579),
    [anon_sym_private] = ACTIONS(3579),
    [anon_sym_internal] = ACTIONS(3579),
    [anon_sym_fileprivate] = ACTIONS(3579),
    [anon_sym_open] = ACTIONS(3579),
    [anon_sym_mutating] = ACTIONS(3579),
    [anon_sym_nonmutating] = ACTIONS(3579),
    [anon_sym_static] = ACTIONS(3579),
    [anon_sym_dynamic] = ACTIONS(3579),
    [anon_sym_optional] = ACTIONS(3579),
    [anon_sym_distributed] = ACTIONS(3579),
    [anon_sym_final] = ACTIONS(3579),
    [anon_sym_inout] = ACTIONS(3579),
    [anon_sym_ATescaping] = ACTIONS(3579),
    [anon_sym_ATautoclosure] = ACTIONS(3579),
    [anon_sym_weak] = ACTIONS(3579),
    [anon_sym_unowned] = ACTIONS(3577),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3579),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3579),
    [anon_sym_borrowing] = ACTIONS(3579),
    [anon_sym_consuming] = ACTIONS(3579),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3579),
    [sym__explicit_semi] = ACTIONS(3579),
    [sym__dot_custom] = ACTIONS(3579),
    [sym__conjunction_operator_custom] = ACTIONS(3579),
    [sym__disjunction_operator_custom] = ACTIONS(3579),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3579),
    [sym__eq_custom] = ACTIONS(3579),
    [sym__eq_eq_custom] = ACTIONS(3579),
    [sym__plus_then_ws] = ACTIONS(3579),
    [sym__minus_then_ws] = ACTIONS(3579),
    [sym__bang_custom] = ACTIONS(3579),
    [sym_default_keyword] = ACTIONS(3579),
    [sym_where_keyword] = ACTIONS(3579),
    [sym__as_custom] = ACTIONS(3579),
    [sym__as_quest_custom] = ACTIONS(3579),
    [sym__as_bang_custom] = ACTIONS(3579),
    [sym__custom_operator] = ACTIONS(3579),
  },
  [1247] = {
    [anon_sym_BANG] = ACTIONS(3405),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3407),
    [anon_sym_package] = ACTIONS(3407),
    [anon_sym_COMMA] = ACTIONS(3407),
    [anon_sym_LPAREN] = ACTIONS(3407),
    [anon_sym_LBRACK] = ACTIONS(3407),
    [anon_sym_QMARK] = ACTIONS(3405),
    [anon_sym_QMARK2] = ACTIONS(3407),
    [anon_sym_AMP] = ACTIONS(3407),
    [aux_sym_custom_operator_token1] = ACTIONS(3407),
    [anon_sym_LT] = ACTIONS(3405),
    [anon_sym_GT] = ACTIONS(3405),
    [anon_sym_LBRACE] = ACTIONS(3407),
    [anon_sym_CARET_LBRACE] = ACTIONS(3407),
    [anon_sym_RBRACE] = ACTIONS(3407),
    [anon_sym_case] = ACTIONS(3407),
    [anon_sym_fallthrough] = ACTIONS(3407),
    [anon_sym_PLUS_EQ] = ACTIONS(3407),
    [anon_sym_DASH_EQ] = ACTIONS(3407),
    [anon_sym_STAR_EQ] = ACTIONS(3407),
    [anon_sym_SLASH_EQ] = ACTIONS(3407),
    [anon_sym_PERCENT_EQ] = ACTIONS(3407),
    [anon_sym_BANG_EQ] = ACTIONS(3405),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3407),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3407),
    [anon_sym_LT_EQ] = ACTIONS(3407),
    [anon_sym_GT_EQ] = ACTIONS(3407),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3407),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3407),
    [anon_sym_is] = ACTIONS(3407),
    [anon_sym_PLUS] = ACTIONS(3405),
    [anon_sym_DASH] = ACTIONS(3405),
    [anon_sym_STAR] = ACTIONS(3405),
    [anon_sym_SLASH] = ACTIONS(3405),
    [anon_sym_PERCENT] = ACTIONS(3405),
    [anon_sym_PLUS_PLUS] = ACTIONS(3407),
    [anon_sym_DASH_DASH] = ACTIONS(3407),
    [anon_sym_PIPE] = ACTIONS(3407),
    [anon_sym_CARET] = ACTIONS(3405),
    [anon_sym_LT_LT] = ACTIONS(3407),
    [anon_sym_GT_GT] = ACTIONS(3407),
    [anon_sym_class] = ACTIONS(3407),
    [anon_sym_prefix] = ACTIONS(3407),
    [anon_sym_infix] = ACTIONS(3407),
    [anon_sym_postfix] = ACTIONS(3407),
    [anon_sym_AT] = ACTIONS(3405),
    [anon_sym_override] = ACTIONS(3407),
    [anon_sym_convenience] = ACTIONS(3407),
    [anon_sym_required] = ACTIONS(3407),
    [anon_sym_nonisolated] = ACTIONS(3407),
    [anon_sym_public] = ACTIONS(3407),
    [anon_sym_private] = ACTIONS(3407),
    [anon_sym_internal] = ACTIONS(3407),
    [anon_sym_fileprivate] = ACTIONS(3407),
    [anon_sym_open] = ACTIONS(3407),
    [anon_sym_mutating] = ACTIONS(3407),
    [anon_sym_nonmutating] = ACTIONS(3407),
    [anon_sym_static] = ACTIONS(3407),
    [anon_sym_dynamic] = ACTIONS(3407),
    [anon_sym_optional] = ACTIONS(3407),
    [anon_sym_distributed] = ACTIONS(3407),
    [anon_sym_final] = ACTIONS(3407),
    [anon_sym_inout] = ACTIONS(3407),
    [anon_sym_ATescaping] = ACTIONS(3407),
    [anon_sym_ATautoclosure] = ACTIONS(3407),
    [anon_sym_weak] = ACTIONS(3407),
    [anon_sym_unowned] = ACTIONS(3405),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3407),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3407),
    [anon_sym_borrowing] = ACTIONS(3407),
    [anon_sym_consuming] = ACTIONS(3407),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3407),
    [sym__explicit_semi] = ACTIONS(3407),
    [sym__dot_custom] = ACTIONS(3407),
    [sym__conjunction_operator_custom] = ACTIONS(3407),
    [sym__disjunction_operator_custom] = ACTIONS(3407),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3407),
    [sym__eq_custom] = ACTIONS(3407),
    [sym__eq_eq_custom] = ACTIONS(3407),
    [sym__plus_then_ws] = ACTIONS(3407),
    [sym__minus_then_ws] = ACTIONS(3407),
    [sym__bang_custom] = ACTIONS(3407),
    [sym_default_keyword] = ACTIONS(3407),
    [sym_where_keyword] = ACTIONS(3407),
    [sym__as_custom] = ACTIONS(3407),
    [sym__as_quest_custom] = ACTIONS(3407),
    [sym__as_bang_custom] = ACTIONS(3407),
    [sym__custom_operator] = ACTIONS(3407),
  },
  [1248] = {
    [sym_type_arguments] = STATE(2086),
    [anon_sym_BANG] = ACTIONS(3303),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3305),
    [anon_sym_package] = ACTIONS(3305),
    [anon_sym_COMMA] = ACTIONS(3305),
    [anon_sym_LPAREN] = ACTIONS(3307),
    [anon_sym_LBRACK] = ACTIONS(3305),
    [anon_sym_QMARK] = ACTIONS(3303),
    [anon_sym_QMARK2] = ACTIONS(3305),
    [anon_sym_AMP] = ACTIONS(3305),
    [aux_sym_custom_operator_token1] = ACTIONS(3305),
    [anon_sym_LT] = ACTIONS(3310),
    [anon_sym_GT] = ACTIONS(3303),
    [anon_sym_LBRACE] = ACTIONS(3307),
    [anon_sym_CARET_LBRACE] = ACTIONS(3307),
    [anon_sym_RBRACE] = ACTIONS(3305),
    [anon_sym_case] = ACTIONS(3305),
    [anon_sym_fallthrough] = ACTIONS(3305),
    [anon_sym_PLUS_EQ] = ACTIONS(3305),
    [anon_sym_DASH_EQ] = ACTIONS(3305),
    [anon_sym_STAR_EQ] = ACTIONS(3305),
    [anon_sym_SLASH_EQ] = ACTIONS(3305),
    [anon_sym_PERCENT_EQ] = ACTIONS(3305),
    [anon_sym_BANG_EQ] = ACTIONS(3303),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3305),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3305),
    [anon_sym_LT_EQ] = ACTIONS(3305),
    [anon_sym_GT_EQ] = ACTIONS(3305),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3305),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3305),
    [anon_sym_is] = ACTIONS(3305),
    [anon_sym_PLUS] = ACTIONS(3303),
    [anon_sym_DASH] = ACTIONS(3303),
    [anon_sym_STAR] = ACTIONS(3303),
    [anon_sym_SLASH] = ACTIONS(3303),
    [anon_sym_PERCENT] = ACTIONS(3303),
    [anon_sym_PLUS_PLUS] = ACTIONS(3305),
    [anon_sym_DASH_DASH] = ACTIONS(3305),
    [anon_sym_PIPE] = ACTIONS(3305),
    [anon_sym_CARET] = ACTIONS(3303),
    [anon_sym_LT_LT] = ACTIONS(3305),
    [anon_sym_GT_GT] = ACTIONS(3305),
    [anon_sym_class] = ACTIONS(3305),
    [anon_sym_prefix] = ACTIONS(3305),
    [anon_sym_infix] = ACTIONS(3305),
    [anon_sym_postfix] = ACTIONS(3305),
    [anon_sym_AT] = ACTIONS(3303),
    [anon_sym_override] = ACTIONS(3305),
    [anon_sym_convenience] = ACTIONS(3305),
    [anon_sym_required] = ACTIONS(3305),
    [anon_sym_nonisolated] = ACTIONS(3305),
    [anon_sym_public] = ACTIONS(3305),
    [anon_sym_private] = ACTIONS(3305),
    [anon_sym_internal] = ACTIONS(3305),
    [anon_sym_fileprivate] = ACTIONS(3305),
    [anon_sym_open] = ACTIONS(3305),
    [anon_sym_mutating] = ACTIONS(3305),
    [anon_sym_nonmutating] = ACTIONS(3305),
    [anon_sym_static] = ACTIONS(3305),
    [anon_sym_dynamic] = ACTIONS(3305),
    [anon_sym_optional] = ACTIONS(3305),
    [anon_sym_distributed] = ACTIONS(3305),
    [anon_sym_final] = ACTIONS(3305),
    [anon_sym_inout] = ACTIONS(3305),
    [anon_sym_ATescaping] = ACTIONS(3305),
    [anon_sym_ATautoclosure] = ACTIONS(3305),
    [anon_sym_weak] = ACTIONS(3305),
    [anon_sym_unowned] = ACTIONS(3303),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3305),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3305),
    [anon_sym_borrowing] = ACTIONS(3305),
    [anon_sym_consuming] = ACTIONS(3305),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3305),
    [sym__explicit_semi] = ACTIONS(3305),
    [sym__dot_custom] = ACTIONS(3307),
    [sym__conjunction_operator_custom] = ACTIONS(3305),
    [sym__disjunction_operator_custom] = ACTIONS(3305),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3305),
    [sym__eq_custom] = ACTIONS(3305),
    [sym__eq_eq_custom] = ACTIONS(3305),
    [sym__plus_then_ws] = ACTIONS(3305),
    [sym__minus_then_ws] = ACTIONS(3305),
    [sym__bang_custom] = ACTIONS(3305),
    [sym_default_keyword] = ACTIONS(3305),
    [sym__as_custom] = ACTIONS(3305),
    [sym__as_quest_custom] = ACTIONS(3305),
    [sym__as_bang_custom] = ACTIONS(3305),
    [sym__custom_operator] = ACTIONS(3305),
  },
  [1249] = {
    [anon_sym_BANG] = ACTIONS(3581),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3583),
    [anon_sym_package] = ACTIONS(3583),
    [anon_sym_COMMA] = ACTIONS(3583),
    [anon_sym_LPAREN] = ACTIONS(3583),
    [anon_sym_LBRACK] = ACTIONS(3583),
    [anon_sym_QMARK] = ACTIONS(3581),
    [anon_sym_QMARK2] = ACTIONS(3583),
    [anon_sym_AMP] = ACTIONS(3583),
    [aux_sym_custom_operator_token1] = ACTIONS(3583),
    [anon_sym_LT] = ACTIONS(3581),
    [anon_sym_GT] = ACTIONS(3581),
    [anon_sym_LBRACE] = ACTIONS(3583),
    [anon_sym_CARET_LBRACE] = ACTIONS(3583),
    [anon_sym_RBRACE] = ACTIONS(3583),
    [anon_sym_case] = ACTIONS(3583),
    [anon_sym_fallthrough] = ACTIONS(3583),
    [anon_sym_PLUS_EQ] = ACTIONS(3583),
    [anon_sym_DASH_EQ] = ACTIONS(3583),
    [anon_sym_STAR_EQ] = ACTIONS(3583),
    [anon_sym_SLASH_EQ] = ACTIONS(3583),
    [anon_sym_PERCENT_EQ] = ACTIONS(3583),
    [anon_sym_BANG_EQ] = ACTIONS(3581),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3583),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3583),
    [anon_sym_LT_EQ] = ACTIONS(3583),
    [anon_sym_GT_EQ] = ACTIONS(3583),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3583),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3583),
    [anon_sym_is] = ACTIONS(3583),
    [anon_sym_PLUS] = ACTIONS(3581),
    [anon_sym_DASH] = ACTIONS(3581),
    [anon_sym_STAR] = ACTIONS(3581),
    [anon_sym_SLASH] = ACTIONS(3581),
    [anon_sym_PERCENT] = ACTIONS(3581),
    [anon_sym_PLUS_PLUS] = ACTIONS(3583),
    [anon_sym_DASH_DASH] = ACTIONS(3583),
    [anon_sym_PIPE] = ACTIONS(3583),
    [anon_sym_CARET] = ACTIONS(3581),
    [anon_sym_LT_LT] = ACTIONS(3583),
    [anon_sym_GT_GT] = ACTIONS(3583),
    [anon_sym_class] = ACTIONS(3583),
    [anon_sym_prefix] = ACTIONS(3583),
    [anon_sym_infix] = ACTIONS(3583),
    [anon_sym_postfix] = ACTIONS(3583),
    [anon_sym_AT] = ACTIONS(3581),
    [anon_sym_override] = ACTIONS(3583),
    [anon_sym_convenience] = ACTIONS(3583),
    [anon_sym_required] = ACTIONS(3583),
    [anon_sym_nonisolated] = ACTIONS(3583),
    [anon_sym_public] = ACTIONS(3583),
    [anon_sym_private] = ACTIONS(3583),
    [anon_sym_internal] = ACTIONS(3583),
    [anon_sym_fileprivate] = ACTIONS(3583),
    [anon_sym_open] = ACTIONS(3583),
    [anon_sym_mutating] = ACTIONS(3583),
    [anon_sym_nonmutating] = ACTIONS(3583),
    [anon_sym_static] = ACTIONS(3583),
    [anon_sym_dynamic] = ACTIONS(3583),
    [anon_sym_optional] = ACTIONS(3583),
    [anon_sym_distributed] = ACTIONS(3583),
    [anon_sym_final] = ACTIONS(3583),
    [anon_sym_inout] = ACTIONS(3583),
    [anon_sym_ATescaping] = ACTIONS(3583),
    [anon_sym_ATautoclosure] = ACTIONS(3583),
    [anon_sym_weak] = ACTIONS(3583),
    [anon_sym_unowned] = ACTIONS(3581),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3583),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3583),
    [anon_sym_borrowing] = ACTIONS(3583),
    [anon_sym_consuming] = ACTIONS(3583),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3583),
    [sym__explicit_semi] = ACTIONS(3583),
    [sym__dot_custom] = ACTIONS(3583),
    [sym__conjunction_operator_custom] = ACTIONS(3583),
    [sym__disjunction_operator_custom] = ACTIONS(3583),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3583),
    [sym__eq_custom] = ACTIONS(3583),
    [sym__eq_eq_custom] = ACTIONS(3583),
    [sym__plus_then_ws] = ACTIONS(3583),
    [sym__minus_then_ws] = ACTIONS(3583),
    [sym__bang_custom] = ACTIONS(3583),
    [sym_default_keyword] = ACTIONS(3583),
    [sym_where_keyword] = ACTIONS(3583),
    [sym__as_custom] = ACTIONS(3583),
    [sym__as_quest_custom] = ACTIONS(3583),
    [sym__as_bang_custom] = ACTIONS(3583),
    [sym__custom_operator] = ACTIONS(3583),
  },
  [1250] = {
    [anon_sym_BANG] = ACTIONS(3517),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3519),
    [anon_sym_package] = ACTIONS(3519),
    [anon_sym_COMMA] = ACTIONS(3519),
    [anon_sym_LPAREN] = ACTIONS(3519),
    [anon_sym_LBRACK] = ACTIONS(3519),
    [anon_sym_QMARK] = ACTIONS(3517),
    [anon_sym_QMARK2] = ACTIONS(3519),
    [anon_sym_AMP] = ACTIONS(3519),
    [aux_sym_custom_operator_token1] = ACTIONS(3519),
    [anon_sym_LT] = ACTIONS(3517),
    [anon_sym_GT] = ACTIONS(3517),
    [anon_sym_LBRACE] = ACTIONS(3519),
    [anon_sym_CARET_LBRACE] = ACTIONS(3519),
    [anon_sym_RBRACE] = ACTIONS(3519),
    [anon_sym_case] = ACTIONS(3519),
    [anon_sym_fallthrough] = ACTIONS(3519),
    [anon_sym_PLUS_EQ] = ACTIONS(3519),
    [anon_sym_DASH_EQ] = ACTIONS(3519),
    [anon_sym_STAR_EQ] = ACTIONS(3519),
    [anon_sym_SLASH_EQ] = ACTIONS(3519),
    [anon_sym_PERCENT_EQ] = ACTIONS(3519),
    [anon_sym_BANG_EQ] = ACTIONS(3517),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3519),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3519),
    [anon_sym_LT_EQ] = ACTIONS(3519),
    [anon_sym_GT_EQ] = ACTIONS(3519),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3519),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3519),
    [anon_sym_is] = ACTIONS(3519),
    [anon_sym_PLUS] = ACTIONS(3517),
    [anon_sym_DASH] = ACTIONS(3517),
    [anon_sym_STAR] = ACTIONS(3517),
    [anon_sym_SLASH] = ACTIONS(3517),
    [anon_sym_PERCENT] = ACTIONS(3517),
    [anon_sym_PLUS_PLUS] = ACTIONS(3519),
    [anon_sym_DASH_DASH] = ACTIONS(3519),
    [anon_sym_PIPE] = ACTIONS(3519),
    [anon_sym_CARET] = ACTIONS(3517),
    [anon_sym_LT_LT] = ACTIONS(3519),
    [anon_sym_GT_GT] = ACTIONS(3519),
    [anon_sym_class] = ACTIONS(3519),
    [anon_sym_prefix] = ACTIONS(3519),
    [anon_sym_infix] = ACTIONS(3519),
    [anon_sym_postfix] = ACTIONS(3519),
    [anon_sym_AT] = ACTIONS(3517),
    [anon_sym_override] = ACTIONS(3519),
    [anon_sym_convenience] = ACTIONS(3519),
    [anon_sym_required] = ACTIONS(3519),
    [anon_sym_nonisolated] = ACTIONS(3519),
    [anon_sym_public] = ACTIONS(3519),
    [anon_sym_private] = ACTIONS(3519),
    [anon_sym_internal] = ACTIONS(3519),
    [anon_sym_fileprivate] = ACTIONS(3519),
    [anon_sym_open] = ACTIONS(3519),
    [anon_sym_mutating] = ACTIONS(3519),
    [anon_sym_nonmutating] = ACTIONS(3519),
    [anon_sym_static] = ACTIONS(3519),
    [anon_sym_dynamic] = ACTIONS(3519),
    [anon_sym_optional] = ACTIONS(3519),
    [anon_sym_distributed] = ACTIONS(3519),
    [anon_sym_final] = ACTIONS(3519),
    [anon_sym_inout] = ACTIONS(3519),
    [anon_sym_ATescaping] = ACTIONS(3519),
    [anon_sym_ATautoclosure] = ACTIONS(3519),
    [anon_sym_weak] = ACTIONS(3519),
    [anon_sym_unowned] = ACTIONS(3517),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3519),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3519),
    [anon_sym_borrowing] = ACTIONS(3519),
    [anon_sym_consuming] = ACTIONS(3519),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3519),
    [sym__explicit_semi] = ACTIONS(3519),
    [sym__dot_custom] = ACTIONS(3519),
    [sym__conjunction_operator_custom] = ACTIONS(3519),
    [sym__disjunction_operator_custom] = ACTIONS(3519),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3519),
    [sym__eq_custom] = ACTIONS(3519),
    [sym__eq_eq_custom] = ACTIONS(3519),
    [sym__plus_then_ws] = ACTIONS(3519),
    [sym__minus_then_ws] = ACTIONS(3519),
    [sym__bang_custom] = ACTIONS(3519),
    [sym_default_keyword] = ACTIONS(3519),
    [sym_where_keyword] = ACTIONS(3519),
    [sym__as_custom] = ACTIONS(3519),
    [sym__as_quest_custom] = ACTIONS(3519),
    [sym__as_bang_custom] = ACTIONS(3519),
    [sym__custom_operator] = ACTIONS(3519),
  },
  [1251] = {
    [anon_sym_BANG] = ACTIONS(3485),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3487),
    [anon_sym_package] = ACTIONS(3487),
    [anon_sym_COMMA] = ACTIONS(3487),
    [anon_sym_LPAREN] = ACTIONS(3487),
    [anon_sym_LBRACK] = ACTIONS(3487),
    [anon_sym_QMARK] = ACTIONS(3485),
    [anon_sym_QMARK2] = ACTIONS(3487),
    [anon_sym_AMP] = ACTIONS(3487),
    [aux_sym_custom_operator_token1] = ACTIONS(3487),
    [anon_sym_LT] = ACTIONS(3485),
    [anon_sym_GT] = ACTIONS(3485),
    [anon_sym_LBRACE] = ACTIONS(3487),
    [anon_sym_CARET_LBRACE] = ACTIONS(3487),
    [anon_sym_RBRACE] = ACTIONS(3487),
    [anon_sym_case] = ACTIONS(3487),
    [anon_sym_fallthrough] = ACTIONS(3487),
    [anon_sym_PLUS_EQ] = ACTIONS(3487),
    [anon_sym_DASH_EQ] = ACTIONS(3487),
    [anon_sym_STAR_EQ] = ACTIONS(3487),
    [anon_sym_SLASH_EQ] = ACTIONS(3487),
    [anon_sym_PERCENT_EQ] = ACTIONS(3487),
    [anon_sym_BANG_EQ] = ACTIONS(3485),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3487),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3487),
    [anon_sym_LT_EQ] = ACTIONS(3487),
    [anon_sym_GT_EQ] = ACTIONS(3487),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3487),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3487),
    [anon_sym_is] = ACTIONS(3487),
    [anon_sym_PLUS] = ACTIONS(3485),
    [anon_sym_DASH] = ACTIONS(3485),
    [anon_sym_STAR] = ACTIONS(3485),
    [anon_sym_SLASH] = ACTIONS(3485),
    [anon_sym_PERCENT] = ACTIONS(3485),
    [anon_sym_PLUS_PLUS] = ACTIONS(3487),
    [anon_sym_DASH_DASH] = ACTIONS(3487),
    [anon_sym_PIPE] = ACTIONS(3487),
    [anon_sym_CARET] = ACTIONS(3485),
    [anon_sym_LT_LT] = ACTIONS(3487),
    [anon_sym_GT_GT] = ACTIONS(3487),
    [anon_sym_class] = ACTIONS(3487),
    [anon_sym_prefix] = ACTIONS(3487),
    [anon_sym_infix] = ACTIONS(3487),
    [anon_sym_postfix] = ACTIONS(3487),
    [anon_sym_AT] = ACTIONS(3485),
    [anon_sym_override] = ACTIONS(3487),
    [anon_sym_convenience] = ACTIONS(3487),
    [anon_sym_required] = ACTIONS(3487),
    [anon_sym_nonisolated] = ACTIONS(3487),
    [anon_sym_public] = ACTIONS(3487),
    [anon_sym_private] = ACTIONS(3487),
    [anon_sym_internal] = ACTIONS(3487),
    [anon_sym_fileprivate] = ACTIONS(3487),
    [anon_sym_open] = ACTIONS(3487),
    [anon_sym_mutating] = ACTIONS(3487),
    [anon_sym_nonmutating] = ACTIONS(3487),
    [anon_sym_static] = ACTIONS(3487),
    [anon_sym_dynamic] = ACTIONS(3487),
    [anon_sym_optional] = ACTIONS(3487),
    [anon_sym_distributed] = ACTIONS(3487),
    [anon_sym_final] = ACTIONS(3487),
    [anon_sym_inout] = ACTIONS(3487),
    [anon_sym_ATescaping] = ACTIONS(3487),
    [anon_sym_ATautoclosure] = ACTIONS(3487),
    [anon_sym_weak] = ACTIONS(3487),
    [anon_sym_unowned] = ACTIONS(3485),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3487),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3487),
    [anon_sym_borrowing] = ACTIONS(3487),
    [anon_sym_consuming] = ACTIONS(3487),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3487),
    [sym__explicit_semi] = ACTIONS(3487),
    [sym__dot_custom] = ACTIONS(3487),
    [sym__conjunction_operator_custom] = ACTIONS(3487),
    [sym__disjunction_operator_custom] = ACTIONS(3487),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3487),
    [sym__eq_custom] = ACTIONS(3487),
    [sym__eq_eq_custom] = ACTIONS(3487),
    [sym__plus_then_ws] = ACTIONS(3487),
    [sym__minus_then_ws] = ACTIONS(3487),
    [sym__bang_custom] = ACTIONS(3487),
    [sym_default_keyword] = ACTIONS(3487),
    [sym_where_keyword] = ACTIONS(3487),
    [sym__as_custom] = ACTIONS(3487),
    [sym__as_quest_custom] = ACTIONS(3487),
    [sym__as_bang_custom] = ACTIONS(3487),
    [sym__custom_operator] = ACTIONS(3487),
  },
  [1252] = {
    [anon_sym_BANG] = ACTIONS(3545),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3547),
    [anon_sym_package] = ACTIONS(3547),
    [anon_sym_COMMA] = ACTIONS(3547),
    [anon_sym_LPAREN] = ACTIONS(3547),
    [anon_sym_LBRACK] = ACTIONS(3547),
    [anon_sym_QMARK] = ACTIONS(3545),
    [anon_sym_QMARK2] = ACTIONS(3547),
    [anon_sym_AMP] = ACTIONS(3547),
    [aux_sym_custom_operator_token1] = ACTIONS(3547),
    [anon_sym_LT] = ACTIONS(3545),
    [anon_sym_GT] = ACTIONS(3545),
    [anon_sym_LBRACE] = ACTIONS(3547),
    [anon_sym_CARET_LBRACE] = ACTIONS(3547),
    [anon_sym_RBRACE] = ACTIONS(3547),
    [anon_sym_case] = ACTIONS(3547),
    [anon_sym_fallthrough] = ACTIONS(3547),
    [anon_sym_PLUS_EQ] = ACTIONS(3547),
    [anon_sym_DASH_EQ] = ACTIONS(3547),
    [anon_sym_STAR_EQ] = ACTIONS(3547),
    [anon_sym_SLASH_EQ] = ACTIONS(3547),
    [anon_sym_PERCENT_EQ] = ACTIONS(3547),
    [anon_sym_BANG_EQ] = ACTIONS(3545),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3547),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3547),
    [anon_sym_LT_EQ] = ACTIONS(3547),
    [anon_sym_GT_EQ] = ACTIONS(3547),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3547),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3547),
    [anon_sym_is] = ACTIONS(3547),
    [anon_sym_PLUS] = ACTIONS(3545),
    [anon_sym_DASH] = ACTIONS(3545),
    [anon_sym_STAR] = ACTIONS(3545),
    [anon_sym_SLASH] = ACTIONS(3545),
    [anon_sym_PERCENT] = ACTIONS(3545),
    [anon_sym_PLUS_PLUS] = ACTIONS(3547),
    [anon_sym_DASH_DASH] = ACTIONS(3547),
    [anon_sym_PIPE] = ACTIONS(3547),
    [anon_sym_CARET] = ACTIONS(3545),
    [anon_sym_LT_LT] = ACTIONS(3547),
    [anon_sym_GT_GT] = ACTIONS(3547),
    [anon_sym_class] = ACTIONS(3547),
    [anon_sym_prefix] = ACTIONS(3547),
    [anon_sym_infix] = ACTIONS(3547),
    [anon_sym_postfix] = ACTIONS(3547),
    [anon_sym_AT] = ACTIONS(3545),
    [anon_sym_override] = ACTIONS(3547),
    [anon_sym_convenience] = ACTIONS(3547),
    [anon_sym_required] = ACTIONS(3547),
    [anon_sym_nonisolated] = ACTIONS(3547),
    [anon_sym_public] = ACTIONS(3547),
    [anon_sym_private] = ACTIONS(3547),
    [anon_sym_internal] = ACTIONS(3547),
    [anon_sym_fileprivate] = ACTIONS(3547),
    [anon_sym_open] = ACTIONS(3547),
    [anon_sym_mutating] = ACTIONS(3547),
    [anon_sym_nonmutating] = ACTIONS(3547),
    [anon_sym_static] = ACTIONS(3547),
    [anon_sym_dynamic] = ACTIONS(3547),
    [anon_sym_optional] = ACTIONS(3547),
    [anon_sym_distributed] = ACTIONS(3547),
    [anon_sym_final] = ACTIONS(3547),
    [anon_sym_inout] = ACTIONS(3547),
    [anon_sym_ATescaping] = ACTIONS(3547),
    [anon_sym_ATautoclosure] = ACTIONS(3547),
    [anon_sym_weak] = ACTIONS(3547),
    [anon_sym_unowned] = ACTIONS(3545),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3547),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3547),
    [anon_sym_borrowing] = ACTIONS(3547),
    [anon_sym_consuming] = ACTIONS(3547),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3547),
    [sym__explicit_semi] = ACTIONS(3547),
    [sym__dot_custom] = ACTIONS(3547),
    [sym__conjunction_operator_custom] = ACTIONS(3547),
    [sym__disjunction_operator_custom] = ACTIONS(3547),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3547),
    [sym__eq_custom] = ACTIONS(3547),
    [sym__eq_eq_custom] = ACTIONS(3547),
    [sym__plus_then_ws] = ACTIONS(3547),
    [sym__minus_then_ws] = ACTIONS(3547),
    [sym__bang_custom] = ACTIONS(3547),
    [sym_default_keyword] = ACTIONS(3547),
    [sym_where_keyword] = ACTIONS(3547),
    [sym__as_custom] = ACTIONS(3547),
    [sym__as_quest_custom] = ACTIONS(3547),
    [sym__as_bang_custom] = ACTIONS(3547),
    [sym__custom_operator] = ACTIONS(3547),
  },
  [1253] = {
    [anon_sym_BANG] = ACTIONS(3365),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3367),
    [anon_sym_package] = ACTIONS(3367),
    [anon_sym_COMMA] = ACTIONS(3367),
    [anon_sym_LPAREN] = ACTIONS(3367),
    [anon_sym_LBRACK] = ACTIONS(3367),
    [anon_sym_QMARK] = ACTIONS(3365),
    [anon_sym_QMARK2] = ACTIONS(3367),
    [anon_sym_AMP] = ACTIONS(3367),
    [aux_sym_custom_operator_token1] = ACTIONS(3367),
    [anon_sym_LT] = ACTIONS(3365),
    [anon_sym_GT] = ACTIONS(3365),
    [anon_sym_LBRACE] = ACTIONS(3367),
    [anon_sym_CARET_LBRACE] = ACTIONS(3367),
    [anon_sym_RBRACE] = ACTIONS(3367),
    [anon_sym_case] = ACTIONS(3367),
    [anon_sym_fallthrough] = ACTIONS(3367),
    [anon_sym_PLUS_EQ] = ACTIONS(3367),
    [anon_sym_DASH_EQ] = ACTIONS(3367),
    [anon_sym_STAR_EQ] = ACTIONS(3367),
    [anon_sym_SLASH_EQ] = ACTIONS(3367),
    [anon_sym_PERCENT_EQ] = ACTIONS(3367),
    [anon_sym_BANG_EQ] = ACTIONS(3365),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3367),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3367),
    [anon_sym_LT_EQ] = ACTIONS(3367),
    [anon_sym_GT_EQ] = ACTIONS(3367),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3367),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3367),
    [anon_sym_is] = ACTIONS(3367),
    [anon_sym_PLUS] = ACTIONS(3365),
    [anon_sym_DASH] = ACTIONS(3365),
    [anon_sym_STAR] = ACTIONS(3365),
    [anon_sym_SLASH] = ACTIONS(3365),
    [anon_sym_PERCENT] = ACTIONS(3365),
    [anon_sym_PLUS_PLUS] = ACTIONS(3367),
    [anon_sym_DASH_DASH] = ACTIONS(3367),
    [anon_sym_PIPE] = ACTIONS(3367),
    [anon_sym_CARET] = ACTIONS(3365),
    [anon_sym_LT_LT] = ACTIONS(3367),
    [anon_sym_GT_GT] = ACTIONS(3367),
    [anon_sym_class] = ACTIONS(3367),
    [anon_sym_prefix] = ACTIONS(3367),
    [anon_sym_infix] = ACTIONS(3367),
    [anon_sym_postfix] = ACTIONS(3367),
    [anon_sym_AT] = ACTIONS(3365),
    [anon_sym_override] = ACTIONS(3367),
    [anon_sym_convenience] = ACTIONS(3367),
    [anon_sym_required] = ACTIONS(3367),
    [anon_sym_nonisolated] = ACTIONS(3367),
    [anon_sym_public] = ACTIONS(3367),
    [anon_sym_private] = ACTIONS(3367),
    [anon_sym_internal] = ACTIONS(3367),
    [anon_sym_fileprivate] = ACTIONS(3367),
    [anon_sym_open] = ACTIONS(3367),
    [anon_sym_mutating] = ACTIONS(3367),
    [anon_sym_nonmutating] = ACTIONS(3367),
    [anon_sym_static] = ACTIONS(3367),
    [anon_sym_dynamic] = ACTIONS(3367),
    [anon_sym_optional] = ACTIONS(3367),
    [anon_sym_distributed] = ACTIONS(3367),
    [anon_sym_final] = ACTIONS(3367),
    [anon_sym_inout] = ACTIONS(3367),
    [anon_sym_ATescaping] = ACTIONS(3367),
    [anon_sym_ATautoclosure] = ACTIONS(3367),
    [anon_sym_weak] = ACTIONS(3367),
    [anon_sym_unowned] = ACTIONS(3365),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3367),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3367),
    [anon_sym_borrowing] = ACTIONS(3367),
    [anon_sym_consuming] = ACTIONS(3367),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3367),
    [sym__explicit_semi] = ACTIONS(3367),
    [sym__dot_custom] = ACTIONS(3367),
    [sym__conjunction_operator_custom] = ACTIONS(3367),
    [sym__disjunction_operator_custom] = ACTIONS(3367),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3367),
    [sym__eq_custom] = ACTIONS(3367),
    [sym__eq_eq_custom] = ACTIONS(3367),
    [sym__plus_then_ws] = ACTIONS(3367),
    [sym__minus_then_ws] = ACTIONS(3367),
    [sym__bang_custom] = ACTIONS(3367),
    [sym_default_keyword] = ACTIONS(3367),
    [sym_where_keyword] = ACTIONS(3367),
    [sym__as_custom] = ACTIONS(3367),
    [sym__as_quest_custom] = ACTIONS(3367),
    [sym__as_bang_custom] = ACTIONS(3367),
    [sym__custom_operator] = ACTIONS(3367),
  },
  [1254] = {
    [anon_sym_BANG] = ACTIONS(3629),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3631),
    [anon_sym_package] = ACTIONS(3631),
    [anon_sym_COMMA] = ACTIONS(3631),
    [anon_sym_LPAREN] = ACTIONS(3631),
    [anon_sym_LBRACK] = ACTIONS(3631),
    [anon_sym_QMARK] = ACTIONS(3629),
    [anon_sym_QMARK2] = ACTIONS(3631),
    [anon_sym_AMP] = ACTIONS(3631),
    [aux_sym_custom_operator_token1] = ACTIONS(3631),
    [anon_sym_LT] = ACTIONS(3629),
    [anon_sym_GT] = ACTIONS(3629),
    [anon_sym_LBRACE] = ACTIONS(3631),
    [anon_sym_CARET_LBRACE] = ACTIONS(3631),
    [anon_sym_RBRACE] = ACTIONS(3631),
    [anon_sym_case] = ACTIONS(3631),
    [anon_sym_fallthrough] = ACTIONS(3631),
    [anon_sym_PLUS_EQ] = ACTIONS(3631),
    [anon_sym_DASH_EQ] = ACTIONS(3631),
    [anon_sym_STAR_EQ] = ACTIONS(3631),
    [anon_sym_SLASH_EQ] = ACTIONS(3631),
    [anon_sym_PERCENT_EQ] = ACTIONS(3631),
    [anon_sym_BANG_EQ] = ACTIONS(3629),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3631),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3631),
    [anon_sym_LT_EQ] = ACTIONS(3631),
    [anon_sym_GT_EQ] = ACTIONS(3631),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3631),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3631),
    [anon_sym_is] = ACTIONS(3631),
    [anon_sym_PLUS] = ACTIONS(3629),
    [anon_sym_DASH] = ACTIONS(3629),
    [anon_sym_STAR] = ACTIONS(3629),
    [anon_sym_SLASH] = ACTIONS(3629),
    [anon_sym_PERCENT] = ACTIONS(3629),
    [anon_sym_PLUS_PLUS] = ACTIONS(3631),
    [anon_sym_DASH_DASH] = ACTIONS(3631),
    [anon_sym_PIPE] = ACTIONS(3631),
    [anon_sym_CARET] = ACTIONS(3629),
    [anon_sym_LT_LT] = ACTIONS(3631),
    [anon_sym_GT_GT] = ACTIONS(3631),
    [anon_sym_class] = ACTIONS(3631),
    [anon_sym_prefix] = ACTIONS(3631),
    [anon_sym_infix] = ACTIONS(3631),
    [anon_sym_postfix] = ACTIONS(3631),
    [anon_sym_AT] = ACTIONS(3629),
    [anon_sym_override] = ACTIONS(3631),
    [anon_sym_convenience] = ACTIONS(3631),
    [anon_sym_required] = ACTIONS(3631),
    [anon_sym_nonisolated] = ACTIONS(3631),
    [anon_sym_public] = ACTIONS(3631),
    [anon_sym_private] = ACTIONS(3631),
    [anon_sym_internal] = ACTIONS(3631),
    [anon_sym_fileprivate] = ACTIONS(3631),
    [anon_sym_open] = ACTIONS(3631),
    [anon_sym_mutating] = ACTIONS(3631),
    [anon_sym_nonmutating] = ACTIONS(3631),
    [anon_sym_static] = ACTIONS(3631),
    [anon_sym_dynamic] = ACTIONS(3631),
    [anon_sym_optional] = ACTIONS(3631),
    [anon_sym_distributed] = ACTIONS(3631),
    [anon_sym_final] = ACTIONS(3631),
    [anon_sym_inout] = ACTIONS(3631),
    [anon_sym_ATescaping] = ACTIONS(3631),
    [anon_sym_ATautoclosure] = ACTIONS(3631),
    [anon_sym_weak] = ACTIONS(3631),
    [anon_sym_unowned] = ACTIONS(3629),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3631),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3631),
    [anon_sym_borrowing] = ACTIONS(3631),
    [anon_sym_consuming] = ACTIONS(3631),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3631),
    [sym__explicit_semi] = ACTIONS(3631),
    [sym__dot_custom] = ACTIONS(3631),
    [sym__conjunction_operator_custom] = ACTIONS(3631),
    [sym__disjunction_operator_custom] = ACTIONS(3631),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3631),
    [sym__eq_custom] = ACTIONS(3631),
    [sym__eq_eq_custom] = ACTIONS(3631),
    [sym__plus_then_ws] = ACTIONS(3631),
    [sym__minus_then_ws] = ACTIONS(3631),
    [sym__bang_custom] = ACTIONS(3631),
    [sym_default_keyword] = ACTIONS(3631),
    [sym_where_keyword] = ACTIONS(3631),
    [sym__as_custom] = ACTIONS(3631),
    [sym__as_quest_custom] = ACTIONS(3631),
    [sym__as_bang_custom] = ACTIONS(3631),
    [sym__custom_operator] = ACTIONS(3631),
  },
  [1255] = {
    [anon_sym_BANG] = ACTIONS(3665),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3667),
    [anon_sym_package] = ACTIONS(3667),
    [anon_sym_COMMA] = ACTIONS(3667),
    [anon_sym_LPAREN] = ACTIONS(3667),
    [anon_sym_LBRACK] = ACTIONS(3667),
    [anon_sym_QMARK] = ACTIONS(3665),
    [anon_sym_QMARK2] = ACTIONS(3667),
    [anon_sym_AMP] = ACTIONS(3667),
    [aux_sym_custom_operator_token1] = ACTIONS(3667),
    [anon_sym_LT] = ACTIONS(3665),
    [anon_sym_GT] = ACTIONS(3665),
    [anon_sym_LBRACE] = ACTIONS(3667),
    [anon_sym_CARET_LBRACE] = ACTIONS(3667),
    [anon_sym_RBRACE] = ACTIONS(3667),
    [anon_sym_case] = ACTIONS(3667),
    [anon_sym_fallthrough] = ACTIONS(3667),
    [anon_sym_PLUS_EQ] = ACTIONS(3667),
    [anon_sym_DASH_EQ] = ACTIONS(3667),
    [anon_sym_STAR_EQ] = ACTIONS(3667),
    [anon_sym_SLASH_EQ] = ACTIONS(3667),
    [anon_sym_PERCENT_EQ] = ACTIONS(3667),
    [anon_sym_BANG_EQ] = ACTIONS(3665),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3667),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3667),
    [anon_sym_LT_EQ] = ACTIONS(3667),
    [anon_sym_GT_EQ] = ACTIONS(3667),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3667),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3667),
    [anon_sym_is] = ACTIONS(3667),
    [anon_sym_PLUS] = ACTIONS(3665),
    [anon_sym_DASH] = ACTIONS(3665),
    [anon_sym_STAR] = ACTIONS(3665),
    [anon_sym_SLASH] = ACTIONS(3665),
    [anon_sym_PERCENT] = ACTIONS(3665),
    [anon_sym_PLUS_PLUS] = ACTIONS(3667),
    [anon_sym_DASH_DASH] = ACTIONS(3667),
    [anon_sym_PIPE] = ACTIONS(3667),
    [anon_sym_CARET] = ACTIONS(3665),
    [anon_sym_LT_LT] = ACTIONS(3667),
    [anon_sym_GT_GT] = ACTIONS(3667),
    [anon_sym_class] = ACTIONS(3667),
    [anon_sym_prefix] = ACTIONS(3667),
    [anon_sym_infix] = ACTIONS(3667),
    [anon_sym_postfix] = ACTIONS(3667),
    [anon_sym_AT] = ACTIONS(3665),
    [anon_sym_override] = ACTIONS(3667),
    [anon_sym_convenience] = ACTIONS(3667),
    [anon_sym_required] = ACTIONS(3667),
    [anon_sym_nonisolated] = ACTIONS(3667),
    [anon_sym_public] = ACTIONS(3667),
    [anon_sym_private] = ACTIONS(3667),
    [anon_sym_internal] = ACTIONS(3667),
    [anon_sym_fileprivate] = ACTIONS(3667),
    [anon_sym_open] = ACTIONS(3667),
    [anon_sym_mutating] = ACTIONS(3667),
    [anon_sym_nonmutating] = ACTIONS(3667),
    [anon_sym_static] = ACTIONS(3667),
    [anon_sym_dynamic] = ACTIONS(3667),
    [anon_sym_optional] = ACTIONS(3667),
    [anon_sym_distributed] = ACTIONS(3667),
    [anon_sym_final] = ACTIONS(3667),
    [anon_sym_inout] = ACTIONS(3667),
    [anon_sym_ATescaping] = ACTIONS(3667),
    [anon_sym_ATautoclosure] = ACTIONS(3667),
    [anon_sym_weak] = ACTIONS(3667),
    [anon_sym_unowned] = ACTIONS(3665),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3667),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3667),
    [anon_sym_borrowing] = ACTIONS(3667),
    [anon_sym_consuming] = ACTIONS(3667),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3667),
    [sym__explicit_semi] = ACTIONS(3667),
    [sym__dot_custom] = ACTIONS(3667),
    [sym__conjunction_operator_custom] = ACTIONS(3667),
    [sym__disjunction_operator_custom] = ACTIONS(3667),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3667),
    [sym__eq_custom] = ACTIONS(3667),
    [sym__eq_eq_custom] = ACTIONS(3667),
    [sym__plus_then_ws] = ACTIONS(3667),
    [sym__minus_then_ws] = ACTIONS(3667),
    [sym__bang_custom] = ACTIONS(3667),
    [sym_default_keyword] = ACTIONS(3667),
    [sym_where_keyword] = ACTIONS(3667),
    [sym__as_custom] = ACTIONS(3667),
    [sym__as_quest_custom] = ACTIONS(3667),
    [sym__as_bang_custom] = ACTIONS(3667),
    [sym__custom_operator] = ACTIONS(3667),
  },
  [1256] = {
    [anon_sym_BANG] = ACTIONS(2665),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2665),
    [aux_sym_simple_identifier_token2] = ACTIONS(2667),
    [aux_sym_simple_identifier_token3] = ACTIONS(2667),
    [aux_sym_simple_identifier_token4] = ACTIONS(2667),
    [anon_sym_actor] = ACTIONS(2665),
    [anon_sym_async] = ACTIONS(2665),
    [anon_sym_each] = ACTIONS(2665),
    [anon_sym_lazy] = ACTIONS(2665),
    [anon_sym_repeat] = ACTIONS(2665),
    [anon_sym_package] = ACTIONS(2665),
    [anon_sym_nil] = ACTIONS(2665),
    [sym_real_literal] = ACTIONS(2667),
    [sym_integer_literal] = ACTIONS(2665),
    [sym_hex_literal] = ACTIONS(2665),
    [sym_oct_literal] = ACTIONS(2667),
    [sym_bin_literal] = ACTIONS(2667),
    [anon_sym_true] = ACTIONS(2665),
    [anon_sym_false] = ACTIONS(2665),
    [anon_sym_DQUOTE] = ACTIONS(2665),
    [anon_sym_BSLASH] = ACTIONS(2667),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2667),
    [anon_sym_COMMA] = ACTIONS(2669),
    [sym__oneline_regex_literal] = ACTIONS(2665),
    [anon_sym_LPAREN] = ACTIONS(2667),
    [anon_sym_LBRACK] = ACTIONS(2667),
    [anon_sym_QMARK] = ACTIONS(2671),
    [anon_sym_QMARK2] = ACTIONS(2669),
    [anon_sym_AMP] = ACTIONS(2667),
    [anon_sym_TILDE] = ACTIONS(2667),
    [anon_sym_if] = ACTIONS(2665),
    [anon_sym_switch] = ACTIONS(2665),
    [aux_sym_custom_operator_token1] = ACTIONS(2667),
    [anon_sym_LT] = ACTIONS(2665),
    [anon_sym_GT] = ACTIONS(2665),
    [anon_sym_await] = ACTIONS(2665),
    [anon_sym_LBRACE] = ACTIONS(2667),
    [anon_sym_CARET_LBRACE] = ACTIONS(2667),
    [anon_sym_self] = ACTIONS(2665),
    [anon_sym_super] = ACTIONS(2665),
    [anon_sym_try] = ACTIONS(2665),
    [anon_sym_PLUS_EQ] = ACTIONS(2667),
    [anon_sym_DASH_EQ] = ACTIONS(2667),
    [anon_sym_STAR_EQ] = ACTIONS(2667),
    [anon_sym_SLASH_EQ] = ACTIONS(2667),
    [anon_sym_PERCENT_EQ] = ACTIONS(2667),
    [anon_sym_BANG_EQ] = ACTIONS(2665),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2667),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2667),
    [anon_sym_LT_EQ] = ACTIONS(2667),
    [anon_sym_GT_EQ] = ACTIONS(2667),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2667),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2667),
    [anon_sym_is] = ACTIONS(2671),
    [anon_sym_PLUS] = ACTIONS(2665),
    [anon_sym_DASH] = ACTIONS(2665),
    [anon_sym_STAR] = ACTIONS(2665),
    [anon_sym_SLASH] = ACTIONS(2665),
    [anon_sym_PERCENT] = ACTIONS(2665),
    [anon_sym_PLUS_PLUS] = ACTIONS(2667),
    [anon_sym_DASH_DASH] = ACTIONS(2667),
    [anon_sym_PIPE] = ACTIONS(2667),
    [anon_sym_CARET] = ACTIONS(2665),
    [anon_sym_LT_LT] = ACTIONS(2667),
    [anon_sym_GT_GT] = ACTIONS(2667),
    [anon_sym_borrowing] = ACTIONS(2665),
    [anon_sym_consuming] = ACTIONS(2665),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2667),
    [sym_raw_str_end_part] = ACTIONS(2667),
    [sym__dot_custom] = ACTIONS(2667),
    [sym__conjunction_operator_custom] = ACTIONS(2669),
    [sym__disjunction_operator_custom] = ACTIONS(2669),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2669),
    [sym__eq_custom] = ACTIONS(2667),
    [sym__eq_eq_custom] = ACTIONS(2667),
    [sym__plus_then_ws] = ACTIONS(2667),
    [sym__minus_then_ws] = ACTIONS(2667),
    [sym__bang_custom] = ACTIONS(2667),
    [sym_else] = ACTIONS(2669),
    [sym__as_custom] = ACTIONS(2669),
    [sym__as_quest_custom] = ACTIONS(2669),
    [sym__as_bang_custom] = ACTIONS(2669),
    [sym__custom_operator] = ACTIONS(2667),
    [sym__hash_symbol_custom] = ACTIONS(2667),
    [sym__directive_if] = ACTIONS(2667),
    [sym__directive_elseif] = ACTIONS(2667),
    [sym__directive_else] = ACTIONS(2667),
    [sym__directive_endif] = ACTIONS(2667),
  },
  [1257] = {
    [anon_sym_BANG] = ACTIONS(2665),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2665),
    [aux_sym_simple_identifier_token2] = ACTIONS(2667),
    [aux_sym_simple_identifier_token3] = ACTIONS(2667),
    [aux_sym_simple_identifier_token4] = ACTIONS(2667),
    [anon_sym_actor] = ACTIONS(2665),
    [anon_sym_async] = ACTIONS(2665),
    [anon_sym_each] = ACTIONS(2665),
    [anon_sym_lazy] = ACTIONS(2665),
    [anon_sym_repeat] = ACTIONS(2665),
    [anon_sym_package] = ACTIONS(2665),
    [anon_sym_nil] = ACTIONS(2665),
    [sym_real_literal] = ACTIONS(2667),
    [sym_integer_literal] = ACTIONS(2665),
    [sym_hex_literal] = ACTIONS(2665),
    [sym_oct_literal] = ACTIONS(2667),
    [sym_bin_literal] = ACTIONS(2667),
    [anon_sym_true] = ACTIONS(2665),
    [anon_sym_false] = ACTIONS(2665),
    [anon_sym_DQUOTE] = ACTIONS(2665),
    [anon_sym_BSLASH] = ACTIONS(2667),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2667),
    [anon_sym_COMMA] = ACTIONS(2697),
    [sym__oneline_regex_literal] = ACTIONS(2665),
    [anon_sym_LPAREN] = ACTIONS(2667),
    [anon_sym_LBRACK] = ACTIONS(2667),
    [anon_sym_QMARK] = ACTIONS(2699),
    [anon_sym_QMARK2] = ACTIONS(2697),
    [anon_sym_AMP] = ACTIONS(2667),
    [anon_sym_TILDE] = ACTIONS(2667),
    [anon_sym_if] = ACTIONS(2665),
    [anon_sym_switch] = ACTIONS(2665),
    [aux_sym_custom_operator_token1] = ACTIONS(2667),
    [anon_sym_LT] = ACTIONS(2665),
    [anon_sym_GT] = ACTIONS(2665),
    [anon_sym_await] = ACTIONS(2665),
    [anon_sym_LBRACE] = ACTIONS(2667),
    [anon_sym_CARET_LBRACE] = ACTIONS(2667),
    [anon_sym_self] = ACTIONS(2665),
    [anon_sym_super] = ACTIONS(2665),
    [anon_sym_try] = ACTIONS(2665),
    [anon_sym_PLUS_EQ] = ACTIONS(2667),
    [anon_sym_DASH_EQ] = ACTIONS(2667),
    [anon_sym_STAR_EQ] = ACTIONS(2667),
    [anon_sym_SLASH_EQ] = ACTIONS(2667),
    [anon_sym_PERCENT_EQ] = ACTIONS(2667),
    [anon_sym_BANG_EQ] = ACTIONS(2665),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2667),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2667),
    [anon_sym_LT_EQ] = ACTIONS(2667),
    [anon_sym_GT_EQ] = ACTIONS(2667),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2667),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2667),
    [anon_sym_is] = ACTIONS(2699),
    [anon_sym_PLUS] = ACTIONS(2665),
    [anon_sym_DASH] = ACTIONS(2665),
    [anon_sym_STAR] = ACTIONS(2665),
    [anon_sym_SLASH] = ACTIONS(2665),
    [anon_sym_PERCENT] = ACTIONS(2665),
    [anon_sym_PLUS_PLUS] = ACTIONS(2667),
    [anon_sym_DASH_DASH] = ACTIONS(2667),
    [anon_sym_PIPE] = ACTIONS(2667),
    [anon_sym_CARET] = ACTIONS(2665),
    [anon_sym_LT_LT] = ACTIONS(2667),
    [anon_sym_GT_GT] = ACTIONS(2667),
    [anon_sym_borrowing] = ACTIONS(2665),
    [anon_sym_consuming] = ACTIONS(2665),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2667),
    [sym_raw_str_end_part] = ACTIONS(2667),
    [sym__dot_custom] = ACTIONS(2667),
    [sym__conjunction_operator_custom] = ACTIONS(2697),
    [sym__disjunction_operator_custom] = ACTIONS(2697),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2697),
    [sym__eq_custom] = ACTIONS(2667),
    [sym__eq_eq_custom] = ACTIONS(2667),
    [sym__plus_then_ws] = ACTIONS(2667),
    [sym__minus_then_ws] = ACTIONS(2667),
    [sym__bang_custom] = ACTIONS(2667),
    [sym_else] = ACTIONS(2697),
    [sym__as_custom] = ACTIONS(2697),
    [sym__as_quest_custom] = ACTIONS(2697),
    [sym__as_bang_custom] = ACTIONS(2697),
    [sym__custom_operator] = ACTIONS(2667),
    [sym__hash_symbol_custom] = ACTIONS(2667),
    [sym__directive_if] = ACTIONS(2667),
    [sym__directive_elseif] = ACTIONS(2667),
    [sym__directive_else] = ACTIONS(2667),
    [sym__directive_endif] = ACTIONS(2667),
  },
  [1258] = {
    [anon_sym_BANG] = ACTIONS(3437),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3439),
    [anon_sym_package] = ACTIONS(3439),
    [anon_sym_COMMA] = ACTIONS(3439),
    [anon_sym_LPAREN] = ACTIONS(3439),
    [anon_sym_LBRACK] = ACTIONS(3439),
    [anon_sym_QMARK] = ACTIONS(3437),
    [anon_sym_QMARK2] = ACTIONS(3439),
    [anon_sym_AMP] = ACTIONS(3439),
    [aux_sym_custom_operator_token1] = ACTIONS(3439),
    [anon_sym_LT] = ACTIONS(3437),
    [anon_sym_GT] = ACTIONS(3437),
    [anon_sym_LBRACE] = ACTIONS(3439),
    [anon_sym_CARET_LBRACE] = ACTIONS(3439),
    [anon_sym_RBRACE] = ACTIONS(3439),
    [anon_sym_case] = ACTIONS(3439),
    [anon_sym_fallthrough] = ACTIONS(3439),
    [anon_sym_PLUS_EQ] = ACTIONS(3439),
    [anon_sym_DASH_EQ] = ACTIONS(3439),
    [anon_sym_STAR_EQ] = ACTIONS(3439),
    [anon_sym_SLASH_EQ] = ACTIONS(3439),
    [anon_sym_PERCENT_EQ] = ACTIONS(3439),
    [anon_sym_BANG_EQ] = ACTIONS(3437),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3439),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3439),
    [anon_sym_LT_EQ] = ACTIONS(3439),
    [anon_sym_GT_EQ] = ACTIONS(3439),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3439),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3439),
    [anon_sym_is] = ACTIONS(3439),
    [anon_sym_PLUS] = ACTIONS(3437),
    [anon_sym_DASH] = ACTIONS(3437),
    [anon_sym_STAR] = ACTIONS(3437),
    [anon_sym_SLASH] = ACTIONS(3437),
    [anon_sym_PERCENT] = ACTIONS(3437),
    [anon_sym_PLUS_PLUS] = ACTIONS(3439),
    [anon_sym_DASH_DASH] = ACTIONS(3439),
    [anon_sym_PIPE] = ACTIONS(3439),
    [anon_sym_CARET] = ACTIONS(3437),
    [anon_sym_LT_LT] = ACTIONS(3439),
    [anon_sym_GT_GT] = ACTIONS(3439),
    [anon_sym_class] = ACTIONS(3439),
    [anon_sym_prefix] = ACTIONS(3439),
    [anon_sym_infix] = ACTIONS(3439),
    [anon_sym_postfix] = ACTIONS(3439),
    [anon_sym_AT] = ACTIONS(3437),
    [anon_sym_override] = ACTIONS(3439),
    [anon_sym_convenience] = ACTIONS(3439),
    [anon_sym_required] = ACTIONS(3439),
    [anon_sym_nonisolated] = ACTIONS(3439),
    [anon_sym_public] = ACTIONS(3439),
    [anon_sym_private] = ACTIONS(3439),
    [anon_sym_internal] = ACTIONS(3439),
    [anon_sym_fileprivate] = ACTIONS(3439),
    [anon_sym_open] = ACTIONS(3439),
    [anon_sym_mutating] = ACTIONS(3439),
    [anon_sym_nonmutating] = ACTIONS(3439),
    [anon_sym_static] = ACTIONS(3439),
    [anon_sym_dynamic] = ACTIONS(3439),
    [anon_sym_optional] = ACTIONS(3439),
    [anon_sym_distributed] = ACTIONS(3439),
    [anon_sym_final] = ACTIONS(3439),
    [anon_sym_inout] = ACTIONS(3439),
    [anon_sym_ATescaping] = ACTIONS(3439),
    [anon_sym_ATautoclosure] = ACTIONS(3439),
    [anon_sym_weak] = ACTIONS(3439),
    [anon_sym_unowned] = ACTIONS(3437),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3439),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3439),
    [anon_sym_borrowing] = ACTIONS(3439),
    [anon_sym_consuming] = ACTIONS(3439),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3439),
    [sym__explicit_semi] = ACTIONS(3439),
    [sym__dot_custom] = ACTIONS(3439),
    [sym__conjunction_operator_custom] = ACTIONS(3439),
    [sym__disjunction_operator_custom] = ACTIONS(3439),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3439),
    [sym__eq_custom] = ACTIONS(3439),
    [sym__eq_eq_custom] = ACTIONS(3439),
    [sym__plus_then_ws] = ACTIONS(3439),
    [sym__minus_then_ws] = ACTIONS(3439),
    [sym__bang_custom] = ACTIONS(3439),
    [sym_default_keyword] = ACTIONS(3439),
    [sym_where_keyword] = ACTIONS(3439),
    [sym__as_custom] = ACTIONS(3439),
    [sym__as_quest_custom] = ACTIONS(3439),
    [sym__as_bang_custom] = ACTIONS(3439),
    [sym__custom_operator] = ACTIONS(3439),
  },
  [1259] = {
    [anon_sym_BANG] = ACTIONS(3585),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3587),
    [anon_sym_package] = ACTIONS(3587),
    [anon_sym_COMMA] = ACTIONS(3587),
    [anon_sym_LPAREN] = ACTIONS(3587),
    [anon_sym_LBRACK] = ACTIONS(3587),
    [anon_sym_QMARK] = ACTIONS(3585),
    [anon_sym_QMARK2] = ACTIONS(3587),
    [anon_sym_AMP] = ACTIONS(3587),
    [aux_sym_custom_operator_token1] = ACTIONS(3587),
    [anon_sym_LT] = ACTIONS(3585),
    [anon_sym_GT] = ACTIONS(3585),
    [anon_sym_LBRACE] = ACTIONS(3587),
    [anon_sym_CARET_LBRACE] = ACTIONS(3587),
    [anon_sym_RBRACE] = ACTIONS(3587),
    [anon_sym_case] = ACTIONS(3587),
    [anon_sym_fallthrough] = ACTIONS(3587),
    [anon_sym_PLUS_EQ] = ACTIONS(3587),
    [anon_sym_DASH_EQ] = ACTIONS(3587),
    [anon_sym_STAR_EQ] = ACTIONS(3587),
    [anon_sym_SLASH_EQ] = ACTIONS(3587),
    [anon_sym_PERCENT_EQ] = ACTIONS(3587),
    [anon_sym_BANG_EQ] = ACTIONS(3585),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3587),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3587),
    [anon_sym_LT_EQ] = ACTIONS(3587),
    [anon_sym_GT_EQ] = ACTIONS(3587),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3587),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3587),
    [anon_sym_is] = ACTIONS(3587),
    [anon_sym_PLUS] = ACTIONS(3585),
    [anon_sym_DASH] = ACTIONS(3585),
    [anon_sym_STAR] = ACTIONS(3585),
    [anon_sym_SLASH] = ACTIONS(3585),
    [anon_sym_PERCENT] = ACTIONS(3585),
    [anon_sym_PLUS_PLUS] = ACTIONS(3587),
    [anon_sym_DASH_DASH] = ACTIONS(3587),
    [anon_sym_PIPE] = ACTIONS(3587),
    [anon_sym_CARET] = ACTIONS(3585),
    [anon_sym_LT_LT] = ACTIONS(3587),
    [anon_sym_GT_GT] = ACTIONS(3587),
    [anon_sym_class] = ACTIONS(3587),
    [anon_sym_prefix] = ACTIONS(3587),
    [anon_sym_infix] = ACTIONS(3587),
    [anon_sym_postfix] = ACTIONS(3587),
    [anon_sym_AT] = ACTIONS(3585),
    [anon_sym_override] = ACTIONS(3587),
    [anon_sym_convenience] = ACTIONS(3587),
    [anon_sym_required] = ACTIONS(3587),
    [anon_sym_nonisolated] = ACTIONS(3587),
    [anon_sym_public] = ACTIONS(3587),
    [anon_sym_private] = ACTIONS(3587),
    [anon_sym_internal] = ACTIONS(3587),
    [anon_sym_fileprivate] = ACTIONS(3587),
    [anon_sym_open] = ACTIONS(3587),
    [anon_sym_mutating] = ACTIONS(3587),
    [anon_sym_nonmutating] = ACTIONS(3587),
    [anon_sym_static] = ACTIONS(3587),
    [anon_sym_dynamic] = ACTIONS(3587),
    [anon_sym_optional] = ACTIONS(3587),
    [anon_sym_distributed] = ACTIONS(3587),
    [anon_sym_final] = ACTIONS(3587),
    [anon_sym_inout] = ACTIONS(3587),
    [anon_sym_ATescaping] = ACTIONS(3587),
    [anon_sym_ATautoclosure] = ACTIONS(3587),
    [anon_sym_weak] = ACTIONS(3587),
    [anon_sym_unowned] = ACTIONS(3585),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3587),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3587),
    [anon_sym_borrowing] = ACTIONS(3587),
    [anon_sym_consuming] = ACTIONS(3587),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3587),
    [sym__explicit_semi] = ACTIONS(3587),
    [sym__dot_custom] = ACTIONS(3587),
    [sym__conjunction_operator_custom] = ACTIONS(3587),
    [sym__disjunction_operator_custom] = ACTIONS(3587),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3587),
    [sym__eq_custom] = ACTIONS(3587),
    [sym__eq_eq_custom] = ACTIONS(3587),
    [sym__plus_then_ws] = ACTIONS(3587),
    [sym__minus_then_ws] = ACTIONS(3587),
    [sym__bang_custom] = ACTIONS(3587),
    [sym_default_keyword] = ACTIONS(3587),
    [sym_where_keyword] = ACTIONS(3587),
    [sym__as_custom] = ACTIONS(3587),
    [sym__as_quest_custom] = ACTIONS(3587),
    [sym__as_bang_custom] = ACTIONS(3587),
    [sym__custom_operator] = ACTIONS(3587),
  },
  [1260] = {
    [anon_sym_BANG] = ACTIONS(3381),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3383),
    [anon_sym_package] = ACTIONS(3383),
    [anon_sym_COMMA] = ACTIONS(3383),
    [anon_sym_LPAREN] = ACTIONS(3383),
    [anon_sym_LBRACK] = ACTIONS(3383),
    [anon_sym_QMARK] = ACTIONS(3381),
    [anon_sym_QMARK2] = ACTIONS(3383),
    [anon_sym_AMP] = ACTIONS(3383),
    [aux_sym_custom_operator_token1] = ACTIONS(3383),
    [anon_sym_LT] = ACTIONS(3381),
    [anon_sym_GT] = ACTIONS(3381),
    [anon_sym_LBRACE] = ACTIONS(3383),
    [anon_sym_CARET_LBRACE] = ACTIONS(3383),
    [anon_sym_RBRACE] = ACTIONS(3383),
    [anon_sym_case] = ACTIONS(3383),
    [anon_sym_fallthrough] = ACTIONS(3383),
    [anon_sym_PLUS_EQ] = ACTIONS(3383),
    [anon_sym_DASH_EQ] = ACTIONS(3383),
    [anon_sym_STAR_EQ] = ACTIONS(3383),
    [anon_sym_SLASH_EQ] = ACTIONS(3383),
    [anon_sym_PERCENT_EQ] = ACTIONS(3383),
    [anon_sym_BANG_EQ] = ACTIONS(3381),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3383),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3383),
    [anon_sym_LT_EQ] = ACTIONS(3383),
    [anon_sym_GT_EQ] = ACTIONS(3383),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3383),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3383),
    [anon_sym_is] = ACTIONS(3383),
    [anon_sym_PLUS] = ACTIONS(3381),
    [anon_sym_DASH] = ACTIONS(3381),
    [anon_sym_STAR] = ACTIONS(3381),
    [anon_sym_SLASH] = ACTIONS(3381),
    [anon_sym_PERCENT] = ACTIONS(3381),
    [anon_sym_PLUS_PLUS] = ACTIONS(3383),
    [anon_sym_DASH_DASH] = ACTIONS(3383),
    [anon_sym_PIPE] = ACTIONS(3383),
    [anon_sym_CARET] = ACTIONS(3381),
    [anon_sym_LT_LT] = ACTIONS(3383),
    [anon_sym_GT_GT] = ACTIONS(3383),
    [anon_sym_class] = ACTIONS(3383),
    [anon_sym_prefix] = ACTIONS(3383),
    [anon_sym_infix] = ACTIONS(3383),
    [anon_sym_postfix] = ACTIONS(3383),
    [anon_sym_AT] = ACTIONS(3381),
    [anon_sym_override] = ACTIONS(3383),
    [anon_sym_convenience] = ACTIONS(3383),
    [anon_sym_required] = ACTIONS(3383),
    [anon_sym_nonisolated] = ACTIONS(3383),
    [anon_sym_public] = ACTIONS(3383),
    [anon_sym_private] = ACTIONS(3383),
    [anon_sym_internal] = ACTIONS(3383),
    [anon_sym_fileprivate] = ACTIONS(3383),
    [anon_sym_open] = ACTIONS(3383),
    [anon_sym_mutating] = ACTIONS(3383),
    [anon_sym_nonmutating] = ACTIONS(3383),
    [anon_sym_static] = ACTIONS(3383),
    [anon_sym_dynamic] = ACTIONS(3383),
    [anon_sym_optional] = ACTIONS(3383),
    [anon_sym_distributed] = ACTIONS(3383),
    [anon_sym_final] = ACTIONS(3383),
    [anon_sym_inout] = ACTIONS(3383),
    [anon_sym_ATescaping] = ACTIONS(3383),
    [anon_sym_ATautoclosure] = ACTIONS(3383),
    [anon_sym_weak] = ACTIONS(3383),
    [anon_sym_unowned] = ACTIONS(3381),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3383),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3383),
    [anon_sym_borrowing] = ACTIONS(3383),
    [anon_sym_consuming] = ACTIONS(3383),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3383),
    [sym__explicit_semi] = ACTIONS(3383),
    [sym__dot_custom] = ACTIONS(3383),
    [sym__conjunction_operator_custom] = ACTIONS(3383),
    [sym__disjunction_operator_custom] = ACTIONS(3383),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3383),
    [sym__eq_custom] = ACTIONS(3383),
    [sym__eq_eq_custom] = ACTIONS(3383),
    [sym__plus_then_ws] = ACTIONS(3383),
    [sym__minus_then_ws] = ACTIONS(3383),
    [sym__bang_custom] = ACTIONS(3383),
    [sym_default_keyword] = ACTIONS(3383),
    [sym_where_keyword] = ACTIONS(3383),
    [sym__as_custom] = ACTIONS(3383),
    [sym__as_quest_custom] = ACTIONS(3383),
    [sym__as_bang_custom] = ACTIONS(3383),
    [sym__custom_operator] = ACTIONS(3383),
  },
  [1261] = {
    [anon_sym_BANG] = ACTIONS(3401),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3403),
    [anon_sym_package] = ACTIONS(3403),
    [anon_sym_COMMA] = ACTIONS(3403),
    [anon_sym_LPAREN] = ACTIONS(3403),
    [anon_sym_LBRACK] = ACTIONS(3403),
    [anon_sym_QMARK] = ACTIONS(3401),
    [anon_sym_QMARK2] = ACTIONS(3403),
    [anon_sym_AMP] = ACTIONS(3403),
    [aux_sym_custom_operator_token1] = ACTIONS(3403),
    [anon_sym_LT] = ACTIONS(3401),
    [anon_sym_GT] = ACTIONS(3401),
    [anon_sym_LBRACE] = ACTIONS(3403),
    [anon_sym_CARET_LBRACE] = ACTIONS(3403),
    [anon_sym_RBRACE] = ACTIONS(3403),
    [anon_sym_case] = ACTIONS(3403),
    [anon_sym_fallthrough] = ACTIONS(3403),
    [anon_sym_PLUS_EQ] = ACTIONS(3403),
    [anon_sym_DASH_EQ] = ACTIONS(3403),
    [anon_sym_STAR_EQ] = ACTIONS(3403),
    [anon_sym_SLASH_EQ] = ACTIONS(3403),
    [anon_sym_PERCENT_EQ] = ACTIONS(3403),
    [anon_sym_BANG_EQ] = ACTIONS(3401),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3403),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3403),
    [anon_sym_LT_EQ] = ACTIONS(3403),
    [anon_sym_GT_EQ] = ACTIONS(3403),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3403),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3403),
    [anon_sym_is] = ACTIONS(3403),
    [anon_sym_PLUS] = ACTIONS(3401),
    [anon_sym_DASH] = ACTIONS(3401),
    [anon_sym_STAR] = ACTIONS(3401),
    [anon_sym_SLASH] = ACTIONS(3401),
    [anon_sym_PERCENT] = ACTIONS(3401),
    [anon_sym_PLUS_PLUS] = ACTIONS(3403),
    [anon_sym_DASH_DASH] = ACTIONS(3403),
    [anon_sym_PIPE] = ACTIONS(3403),
    [anon_sym_CARET] = ACTIONS(3401),
    [anon_sym_LT_LT] = ACTIONS(3403),
    [anon_sym_GT_GT] = ACTIONS(3403),
    [anon_sym_class] = ACTIONS(3403),
    [anon_sym_prefix] = ACTIONS(3403),
    [anon_sym_infix] = ACTIONS(3403),
    [anon_sym_postfix] = ACTIONS(3403),
    [anon_sym_AT] = ACTIONS(3401),
    [anon_sym_override] = ACTIONS(3403),
    [anon_sym_convenience] = ACTIONS(3403),
    [anon_sym_required] = ACTIONS(3403),
    [anon_sym_nonisolated] = ACTIONS(3403),
    [anon_sym_public] = ACTIONS(3403),
    [anon_sym_private] = ACTIONS(3403),
    [anon_sym_internal] = ACTIONS(3403),
    [anon_sym_fileprivate] = ACTIONS(3403),
    [anon_sym_open] = ACTIONS(3403),
    [anon_sym_mutating] = ACTIONS(3403),
    [anon_sym_nonmutating] = ACTIONS(3403),
    [anon_sym_static] = ACTIONS(3403),
    [anon_sym_dynamic] = ACTIONS(3403),
    [anon_sym_optional] = ACTIONS(3403),
    [anon_sym_distributed] = ACTIONS(3403),
    [anon_sym_final] = ACTIONS(3403),
    [anon_sym_inout] = ACTIONS(3403),
    [anon_sym_ATescaping] = ACTIONS(3403),
    [anon_sym_ATautoclosure] = ACTIONS(3403),
    [anon_sym_weak] = ACTIONS(3403),
    [anon_sym_unowned] = ACTIONS(3401),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3403),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3403),
    [anon_sym_borrowing] = ACTIONS(3403),
    [anon_sym_consuming] = ACTIONS(3403),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3403),
    [sym__explicit_semi] = ACTIONS(3403),
    [sym__dot_custom] = ACTIONS(3403),
    [sym__conjunction_operator_custom] = ACTIONS(3403),
    [sym__disjunction_operator_custom] = ACTIONS(3403),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3403),
    [sym__eq_custom] = ACTIONS(3403),
    [sym__eq_eq_custom] = ACTIONS(3403),
    [sym__plus_then_ws] = ACTIONS(3403),
    [sym__minus_then_ws] = ACTIONS(3403),
    [sym__bang_custom] = ACTIONS(3403),
    [sym_default_keyword] = ACTIONS(3403),
    [sym_where_keyword] = ACTIONS(3403),
    [sym__as_custom] = ACTIONS(3403),
    [sym__as_quest_custom] = ACTIONS(3403),
    [sym__as_bang_custom] = ACTIONS(3403),
    [sym__custom_operator] = ACTIONS(3403),
  },
  [1262] = {
    [anon_sym_BANG] = ACTIONS(3393),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3395),
    [anon_sym_package] = ACTIONS(3395),
    [anon_sym_COMMA] = ACTIONS(3395),
    [anon_sym_LPAREN] = ACTIONS(3395),
    [anon_sym_LBRACK] = ACTIONS(3395),
    [anon_sym_QMARK] = ACTIONS(3393),
    [anon_sym_QMARK2] = ACTIONS(3395),
    [anon_sym_AMP] = ACTIONS(3395),
    [aux_sym_custom_operator_token1] = ACTIONS(3395),
    [anon_sym_LT] = ACTIONS(3393),
    [anon_sym_GT] = ACTIONS(3393),
    [anon_sym_LBRACE] = ACTIONS(3395),
    [anon_sym_CARET_LBRACE] = ACTIONS(3395),
    [anon_sym_RBRACE] = ACTIONS(3395),
    [anon_sym_case] = ACTIONS(3395),
    [anon_sym_fallthrough] = ACTIONS(3395),
    [anon_sym_PLUS_EQ] = ACTIONS(3395),
    [anon_sym_DASH_EQ] = ACTIONS(3395),
    [anon_sym_STAR_EQ] = ACTIONS(3395),
    [anon_sym_SLASH_EQ] = ACTIONS(3395),
    [anon_sym_PERCENT_EQ] = ACTIONS(3395),
    [anon_sym_BANG_EQ] = ACTIONS(3393),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3395),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3395),
    [anon_sym_LT_EQ] = ACTIONS(3395),
    [anon_sym_GT_EQ] = ACTIONS(3395),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3395),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3395),
    [anon_sym_is] = ACTIONS(3395),
    [anon_sym_PLUS] = ACTIONS(3393),
    [anon_sym_DASH] = ACTIONS(3393),
    [anon_sym_STAR] = ACTIONS(3393),
    [anon_sym_SLASH] = ACTIONS(3393),
    [anon_sym_PERCENT] = ACTIONS(3393),
    [anon_sym_PLUS_PLUS] = ACTIONS(3395),
    [anon_sym_DASH_DASH] = ACTIONS(3395),
    [anon_sym_PIPE] = ACTIONS(3395),
    [anon_sym_CARET] = ACTIONS(3393),
    [anon_sym_LT_LT] = ACTIONS(3395),
    [anon_sym_GT_GT] = ACTIONS(3395),
    [anon_sym_class] = ACTIONS(3395),
    [anon_sym_prefix] = ACTIONS(3395),
    [anon_sym_infix] = ACTIONS(3395),
    [anon_sym_postfix] = ACTIONS(3395),
    [anon_sym_AT] = ACTIONS(3393),
    [anon_sym_override] = ACTIONS(3395),
    [anon_sym_convenience] = ACTIONS(3395),
    [anon_sym_required] = ACTIONS(3395),
    [anon_sym_nonisolated] = ACTIONS(3395),
    [anon_sym_public] = ACTIONS(3395),
    [anon_sym_private] = ACTIONS(3395),
    [anon_sym_internal] = ACTIONS(3395),
    [anon_sym_fileprivate] = ACTIONS(3395),
    [anon_sym_open] = ACTIONS(3395),
    [anon_sym_mutating] = ACTIONS(3395),
    [anon_sym_nonmutating] = ACTIONS(3395),
    [anon_sym_static] = ACTIONS(3395),
    [anon_sym_dynamic] = ACTIONS(3395),
    [anon_sym_optional] = ACTIONS(3395),
    [anon_sym_distributed] = ACTIONS(3395),
    [anon_sym_final] = ACTIONS(3395),
    [anon_sym_inout] = ACTIONS(3395),
    [anon_sym_ATescaping] = ACTIONS(3395),
    [anon_sym_ATautoclosure] = ACTIONS(3395),
    [anon_sym_weak] = ACTIONS(3395),
    [anon_sym_unowned] = ACTIONS(3393),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3395),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3395),
    [anon_sym_borrowing] = ACTIONS(3395),
    [anon_sym_consuming] = ACTIONS(3395),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3395),
    [sym__explicit_semi] = ACTIONS(3395),
    [sym__dot_custom] = ACTIONS(3395),
    [sym__conjunction_operator_custom] = ACTIONS(3395),
    [sym__disjunction_operator_custom] = ACTIONS(3395),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3395),
    [sym__eq_custom] = ACTIONS(3395),
    [sym__eq_eq_custom] = ACTIONS(3395),
    [sym__plus_then_ws] = ACTIONS(3395),
    [sym__minus_then_ws] = ACTIONS(3395),
    [sym__bang_custom] = ACTIONS(3395),
    [sym_default_keyword] = ACTIONS(3395),
    [sym_where_keyword] = ACTIONS(3395),
    [sym__as_custom] = ACTIONS(3395),
    [sym__as_quest_custom] = ACTIONS(3395),
    [sym__as_bang_custom] = ACTIONS(3395),
    [sym__custom_operator] = ACTIONS(3395),
  },
  [1263] = {
    [anon_sym_BANG] = ACTIONS(3525),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3527),
    [anon_sym_package] = ACTIONS(3527),
    [anon_sym_COMMA] = ACTIONS(3527),
    [anon_sym_LPAREN] = ACTIONS(3527),
    [anon_sym_LBRACK] = ACTIONS(3527),
    [anon_sym_QMARK] = ACTIONS(3525),
    [anon_sym_QMARK2] = ACTIONS(3527),
    [anon_sym_AMP] = ACTIONS(3527),
    [aux_sym_custom_operator_token1] = ACTIONS(3527),
    [anon_sym_LT] = ACTIONS(3525),
    [anon_sym_GT] = ACTIONS(3525),
    [anon_sym_LBRACE] = ACTIONS(3527),
    [anon_sym_CARET_LBRACE] = ACTIONS(3527),
    [anon_sym_RBRACE] = ACTIONS(3527),
    [anon_sym_case] = ACTIONS(3527),
    [anon_sym_fallthrough] = ACTIONS(3527),
    [anon_sym_PLUS_EQ] = ACTIONS(3527),
    [anon_sym_DASH_EQ] = ACTIONS(3527),
    [anon_sym_STAR_EQ] = ACTIONS(3527),
    [anon_sym_SLASH_EQ] = ACTIONS(3527),
    [anon_sym_PERCENT_EQ] = ACTIONS(3527),
    [anon_sym_BANG_EQ] = ACTIONS(3525),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3527),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3527),
    [anon_sym_LT_EQ] = ACTIONS(3527),
    [anon_sym_GT_EQ] = ACTIONS(3527),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3527),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3527),
    [anon_sym_is] = ACTIONS(3527),
    [anon_sym_PLUS] = ACTIONS(3525),
    [anon_sym_DASH] = ACTIONS(3525),
    [anon_sym_STAR] = ACTIONS(3525),
    [anon_sym_SLASH] = ACTIONS(3525),
    [anon_sym_PERCENT] = ACTIONS(3525),
    [anon_sym_PLUS_PLUS] = ACTIONS(3527),
    [anon_sym_DASH_DASH] = ACTIONS(3527),
    [anon_sym_PIPE] = ACTIONS(3527),
    [anon_sym_CARET] = ACTIONS(3525),
    [anon_sym_LT_LT] = ACTIONS(3527),
    [anon_sym_GT_GT] = ACTIONS(3527),
    [anon_sym_class] = ACTIONS(3527),
    [anon_sym_prefix] = ACTIONS(3527),
    [anon_sym_infix] = ACTIONS(3527),
    [anon_sym_postfix] = ACTIONS(3527),
    [anon_sym_AT] = ACTIONS(3525),
    [anon_sym_override] = ACTIONS(3527),
    [anon_sym_convenience] = ACTIONS(3527),
    [anon_sym_required] = ACTIONS(3527),
    [anon_sym_nonisolated] = ACTIONS(3527),
    [anon_sym_public] = ACTIONS(3527),
    [anon_sym_private] = ACTIONS(3527),
    [anon_sym_internal] = ACTIONS(3527),
    [anon_sym_fileprivate] = ACTIONS(3527),
    [anon_sym_open] = ACTIONS(3527),
    [anon_sym_mutating] = ACTIONS(3527),
    [anon_sym_nonmutating] = ACTIONS(3527),
    [anon_sym_static] = ACTIONS(3527),
    [anon_sym_dynamic] = ACTIONS(3527),
    [anon_sym_optional] = ACTIONS(3527),
    [anon_sym_distributed] = ACTIONS(3527),
    [anon_sym_final] = ACTIONS(3527),
    [anon_sym_inout] = ACTIONS(3527),
    [anon_sym_ATescaping] = ACTIONS(3527),
    [anon_sym_ATautoclosure] = ACTIONS(3527),
    [anon_sym_weak] = ACTIONS(3527),
    [anon_sym_unowned] = ACTIONS(3525),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3527),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3527),
    [anon_sym_borrowing] = ACTIONS(3527),
    [anon_sym_consuming] = ACTIONS(3527),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3527),
    [sym__explicit_semi] = ACTIONS(3527),
    [sym__dot_custom] = ACTIONS(3527),
    [sym__conjunction_operator_custom] = ACTIONS(3527),
    [sym__disjunction_operator_custom] = ACTIONS(3527),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3527),
    [sym__eq_custom] = ACTIONS(3527),
    [sym__eq_eq_custom] = ACTIONS(3527),
    [sym__plus_then_ws] = ACTIONS(3527),
    [sym__minus_then_ws] = ACTIONS(3527),
    [sym__bang_custom] = ACTIONS(3527),
    [sym_default_keyword] = ACTIONS(3527),
    [sym_where_keyword] = ACTIONS(3527),
    [sym__as_custom] = ACTIONS(3527),
    [sym__as_quest_custom] = ACTIONS(3527),
    [sym__as_bang_custom] = ACTIONS(3527),
    [sym__custom_operator] = ACTIONS(3527),
  },
  [1264] = {
    [anon_sym_BANG] = ACTIONS(3529),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3531),
    [anon_sym_package] = ACTIONS(3531),
    [anon_sym_COMMA] = ACTIONS(3531),
    [anon_sym_LPAREN] = ACTIONS(3531),
    [anon_sym_LBRACK] = ACTIONS(3531),
    [anon_sym_QMARK] = ACTIONS(3529),
    [anon_sym_QMARK2] = ACTIONS(3531),
    [anon_sym_AMP] = ACTIONS(3531),
    [aux_sym_custom_operator_token1] = ACTIONS(3531),
    [anon_sym_LT] = ACTIONS(3529),
    [anon_sym_GT] = ACTIONS(3529),
    [anon_sym_LBRACE] = ACTIONS(3531),
    [anon_sym_CARET_LBRACE] = ACTIONS(3531),
    [anon_sym_RBRACE] = ACTIONS(3531),
    [anon_sym_case] = ACTIONS(3531),
    [anon_sym_fallthrough] = ACTIONS(3531),
    [anon_sym_PLUS_EQ] = ACTIONS(3531),
    [anon_sym_DASH_EQ] = ACTIONS(3531),
    [anon_sym_STAR_EQ] = ACTIONS(3531),
    [anon_sym_SLASH_EQ] = ACTIONS(3531),
    [anon_sym_PERCENT_EQ] = ACTIONS(3531),
    [anon_sym_BANG_EQ] = ACTIONS(3529),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3531),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3531),
    [anon_sym_LT_EQ] = ACTIONS(3531),
    [anon_sym_GT_EQ] = ACTIONS(3531),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3531),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3531),
    [anon_sym_is] = ACTIONS(3531),
    [anon_sym_PLUS] = ACTIONS(3529),
    [anon_sym_DASH] = ACTIONS(3529),
    [anon_sym_STAR] = ACTIONS(3529),
    [anon_sym_SLASH] = ACTIONS(3529),
    [anon_sym_PERCENT] = ACTIONS(3529),
    [anon_sym_PLUS_PLUS] = ACTIONS(3531),
    [anon_sym_DASH_DASH] = ACTIONS(3531),
    [anon_sym_PIPE] = ACTIONS(3531),
    [anon_sym_CARET] = ACTIONS(3529),
    [anon_sym_LT_LT] = ACTIONS(3531),
    [anon_sym_GT_GT] = ACTIONS(3531),
    [anon_sym_class] = ACTIONS(3531),
    [anon_sym_prefix] = ACTIONS(3531),
    [anon_sym_infix] = ACTIONS(3531),
    [anon_sym_postfix] = ACTIONS(3531),
    [anon_sym_AT] = ACTIONS(3529),
    [anon_sym_override] = ACTIONS(3531),
    [anon_sym_convenience] = ACTIONS(3531),
    [anon_sym_required] = ACTIONS(3531),
    [anon_sym_nonisolated] = ACTIONS(3531),
    [anon_sym_public] = ACTIONS(3531),
    [anon_sym_private] = ACTIONS(3531),
    [anon_sym_internal] = ACTIONS(3531),
    [anon_sym_fileprivate] = ACTIONS(3531),
    [anon_sym_open] = ACTIONS(3531),
    [anon_sym_mutating] = ACTIONS(3531),
    [anon_sym_nonmutating] = ACTIONS(3531),
    [anon_sym_static] = ACTIONS(3531),
    [anon_sym_dynamic] = ACTIONS(3531),
    [anon_sym_optional] = ACTIONS(3531),
    [anon_sym_distributed] = ACTIONS(3531),
    [anon_sym_final] = ACTIONS(3531),
    [anon_sym_inout] = ACTIONS(3531),
    [anon_sym_ATescaping] = ACTIONS(3531),
    [anon_sym_ATautoclosure] = ACTIONS(3531),
    [anon_sym_weak] = ACTIONS(3531),
    [anon_sym_unowned] = ACTIONS(3529),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3531),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3531),
    [anon_sym_borrowing] = ACTIONS(3531),
    [anon_sym_consuming] = ACTIONS(3531),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3531),
    [sym__explicit_semi] = ACTIONS(3531),
    [sym__dot_custom] = ACTIONS(3531),
    [sym__conjunction_operator_custom] = ACTIONS(3531),
    [sym__disjunction_operator_custom] = ACTIONS(3531),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3531),
    [sym__eq_custom] = ACTIONS(3531),
    [sym__eq_eq_custom] = ACTIONS(3531),
    [sym__plus_then_ws] = ACTIONS(3531),
    [sym__minus_then_ws] = ACTIONS(3531),
    [sym__bang_custom] = ACTIONS(3531),
    [sym_default_keyword] = ACTIONS(3531),
    [sym_where_keyword] = ACTIONS(3531),
    [sym__as_custom] = ACTIONS(3531),
    [sym__as_quest_custom] = ACTIONS(3531),
    [sym__as_bang_custom] = ACTIONS(3531),
    [sym__custom_operator] = ACTIONS(3531),
  },
  [1265] = {
    [anon_sym_BANG] = ACTIONS(447),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(469),
    [anon_sym_package] = ACTIONS(469),
    [anon_sym_COMMA] = ACTIONS(469),
    [anon_sym_LPAREN] = ACTIONS(469),
    [anon_sym_LBRACK] = ACTIONS(469),
    [anon_sym_QMARK] = ACTIONS(447),
    [anon_sym_QMARK2] = ACTIONS(469),
    [anon_sym_AMP] = ACTIONS(469),
    [aux_sym_custom_operator_token1] = ACTIONS(469),
    [anon_sym_LT] = ACTIONS(447),
    [anon_sym_GT] = ACTIONS(447),
    [anon_sym_LBRACE] = ACTIONS(469),
    [anon_sym_CARET_LBRACE] = ACTIONS(469),
    [anon_sym_RBRACE] = ACTIONS(469),
    [anon_sym_case] = ACTIONS(469),
    [anon_sym_fallthrough] = ACTIONS(469),
    [anon_sym_PLUS_EQ] = ACTIONS(469),
    [anon_sym_DASH_EQ] = ACTIONS(469),
    [anon_sym_STAR_EQ] = ACTIONS(469),
    [anon_sym_SLASH_EQ] = ACTIONS(469),
    [anon_sym_PERCENT_EQ] = ACTIONS(469),
    [anon_sym_BANG_EQ] = ACTIONS(447),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(469),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(469),
    [anon_sym_LT_EQ] = ACTIONS(469),
    [anon_sym_GT_EQ] = ACTIONS(469),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(469),
    [anon_sym_DOT_DOT_LT] = ACTIONS(469),
    [anon_sym_is] = ACTIONS(469),
    [anon_sym_PLUS] = ACTIONS(447),
    [anon_sym_DASH] = ACTIONS(447),
    [anon_sym_STAR] = ACTIONS(447),
    [anon_sym_SLASH] = ACTIONS(447),
    [anon_sym_PERCENT] = ACTIONS(447),
    [anon_sym_PLUS_PLUS] = ACTIONS(469),
    [anon_sym_DASH_DASH] = ACTIONS(469),
    [anon_sym_PIPE] = ACTIONS(469),
    [anon_sym_CARET] = ACTIONS(447),
    [anon_sym_LT_LT] = ACTIONS(469),
    [anon_sym_GT_GT] = ACTIONS(469),
    [anon_sym_class] = ACTIONS(469),
    [anon_sym_prefix] = ACTIONS(469),
    [anon_sym_infix] = ACTIONS(469),
    [anon_sym_postfix] = ACTIONS(469),
    [anon_sym_AT] = ACTIONS(447),
    [anon_sym_override] = ACTIONS(469),
    [anon_sym_convenience] = ACTIONS(469),
    [anon_sym_required] = ACTIONS(469),
    [anon_sym_nonisolated] = ACTIONS(469),
    [anon_sym_public] = ACTIONS(469),
    [anon_sym_private] = ACTIONS(469),
    [anon_sym_internal] = ACTIONS(469),
    [anon_sym_fileprivate] = ACTIONS(469),
    [anon_sym_open] = ACTIONS(469),
    [anon_sym_mutating] = ACTIONS(469),
    [anon_sym_nonmutating] = ACTIONS(469),
    [anon_sym_static] = ACTIONS(469),
    [anon_sym_dynamic] = ACTIONS(469),
    [anon_sym_optional] = ACTIONS(469),
    [anon_sym_distributed] = ACTIONS(469),
    [anon_sym_final] = ACTIONS(469),
    [anon_sym_inout] = ACTIONS(469),
    [anon_sym_ATescaping] = ACTIONS(469),
    [anon_sym_ATautoclosure] = ACTIONS(469),
    [anon_sym_weak] = ACTIONS(469),
    [anon_sym_unowned] = ACTIONS(447),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(469),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(469),
    [anon_sym_borrowing] = ACTIONS(469),
    [anon_sym_consuming] = ACTIONS(469),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(469),
    [sym__explicit_semi] = ACTIONS(469),
    [sym__dot_custom] = ACTIONS(469),
    [sym__conjunction_operator_custom] = ACTIONS(469),
    [sym__disjunction_operator_custom] = ACTIONS(469),
    [sym__nil_coalescing_operator_custom] = ACTIONS(469),
    [sym__eq_custom] = ACTIONS(469),
    [sym__eq_eq_custom] = ACTIONS(469),
    [sym__plus_then_ws] = ACTIONS(469),
    [sym__minus_then_ws] = ACTIONS(469),
    [sym__bang_custom] = ACTIONS(469),
    [sym_default_keyword] = ACTIONS(469),
    [sym_where_keyword] = ACTIONS(469),
    [sym__as_custom] = ACTIONS(469),
    [sym__as_quest_custom] = ACTIONS(469),
    [sym__as_bang_custom] = ACTIONS(469),
    [sym__custom_operator] = ACTIONS(469),
  },
  [1266] = {
    [anon_sym_BANG] = ACTIONS(3661),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3663),
    [anon_sym_package] = ACTIONS(3663),
    [anon_sym_COMMA] = ACTIONS(3663),
    [anon_sym_LPAREN] = ACTIONS(3663),
    [anon_sym_LBRACK] = ACTIONS(3663),
    [anon_sym_QMARK] = ACTIONS(3661),
    [anon_sym_QMARK2] = ACTIONS(3663),
    [anon_sym_AMP] = ACTIONS(3663),
    [aux_sym_custom_operator_token1] = ACTIONS(3663),
    [anon_sym_LT] = ACTIONS(3661),
    [anon_sym_GT] = ACTIONS(3661),
    [anon_sym_LBRACE] = ACTIONS(3663),
    [anon_sym_CARET_LBRACE] = ACTIONS(3663),
    [anon_sym_RBRACE] = ACTIONS(3663),
    [anon_sym_case] = ACTIONS(3663),
    [anon_sym_fallthrough] = ACTIONS(3663),
    [anon_sym_PLUS_EQ] = ACTIONS(3663),
    [anon_sym_DASH_EQ] = ACTIONS(3663),
    [anon_sym_STAR_EQ] = ACTIONS(3663),
    [anon_sym_SLASH_EQ] = ACTIONS(3663),
    [anon_sym_PERCENT_EQ] = ACTIONS(3663),
    [anon_sym_BANG_EQ] = ACTIONS(3661),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3663),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3663),
    [anon_sym_LT_EQ] = ACTIONS(3663),
    [anon_sym_GT_EQ] = ACTIONS(3663),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3663),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3663),
    [anon_sym_is] = ACTIONS(3663),
    [anon_sym_PLUS] = ACTIONS(3661),
    [anon_sym_DASH] = ACTIONS(3661),
    [anon_sym_STAR] = ACTIONS(3661),
    [anon_sym_SLASH] = ACTIONS(3661),
    [anon_sym_PERCENT] = ACTIONS(3661),
    [anon_sym_PLUS_PLUS] = ACTIONS(3663),
    [anon_sym_DASH_DASH] = ACTIONS(3663),
    [anon_sym_PIPE] = ACTIONS(3663),
    [anon_sym_CARET] = ACTIONS(3661),
    [anon_sym_LT_LT] = ACTIONS(3663),
    [anon_sym_GT_GT] = ACTIONS(3663),
    [anon_sym_class] = ACTIONS(3663),
    [anon_sym_prefix] = ACTIONS(3663),
    [anon_sym_infix] = ACTIONS(3663),
    [anon_sym_postfix] = ACTIONS(3663),
    [anon_sym_AT] = ACTIONS(3661),
    [anon_sym_override] = ACTIONS(3663),
    [anon_sym_convenience] = ACTIONS(3663),
    [anon_sym_required] = ACTIONS(3663),
    [anon_sym_nonisolated] = ACTIONS(3663),
    [anon_sym_public] = ACTIONS(3663),
    [anon_sym_private] = ACTIONS(3663),
    [anon_sym_internal] = ACTIONS(3663),
    [anon_sym_fileprivate] = ACTIONS(3663),
    [anon_sym_open] = ACTIONS(3663),
    [anon_sym_mutating] = ACTIONS(3663),
    [anon_sym_nonmutating] = ACTIONS(3663),
    [anon_sym_static] = ACTIONS(3663),
    [anon_sym_dynamic] = ACTIONS(3663),
    [anon_sym_optional] = ACTIONS(3663),
    [anon_sym_distributed] = ACTIONS(3663),
    [anon_sym_final] = ACTIONS(3663),
    [anon_sym_inout] = ACTIONS(3663),
    [anon_sym_ATescaping] = ACTIONS(3663),
    [anon_sym_ATautoclosure] = ACTIONS(3663),
    [anon_sym_weak] = ACTIONS(3663),
    [anon_sym_unowned] = ACTIONS(3661),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3663),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3663),
    [anon_sym_borrowing] = ACTIONS(3663),
    [anon_sym_consuming] = ACTIONS(3663),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3663),
    [sym__explicit_semi] = ACTIONS(3663),
    [sym__dot_custom] = ACTIONS(3663),
    [sym__conjunction_operator_custom] = ACTIONS(3663),
    [sym__disjunction_operator_custom] = ACTIONS(3663),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3663),
    [sym__eq_custom] = ACTIONS(3663),
    [sym__eq_eq_custom] = ACTIONS(3663),
    [sym__plus_then_ws] = ACTIONS(3663),
    [sym__minus_then_ws] = ACTIONS(3663),
    [sym__bang_custom] = ACTIONS(3663),
    [sym_default_keyword] = ACTIONS(3663),
    [sym_where_keyword] = ACTIONS(3663),
    [sym__as_custom] = ACTIONS(3663),
    [sym__as_quest_custom] = ACTIONS(3663),
    [sym__as_bang_custom] = ACTIONS(3663),
    [sym__custom_operator] = ACTIONS(3663),
  },
  [1267] = {
    [anon_sym_BANG] = ACTIONS(3477),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3479),
    [anon_sym_package] = ACTIONS(3479),
    [anon_sym_COMMA] = ACTIONS(3479),
    [anon_sym_LPAREN] = ACTIONS(3479),
    [anon_sym_LBRACK] = ACTIONS(3479),
    [anon_sym_QMARK] = ACTIONS(3477),
    [anon_sym_QMARK2] = ACTIONS(3479),
    [anon_sym_AMP] = ACTIONS(3479),
    [aux_sym_custom_operator_token1] = ACTIONS(3479),
    [anon_sym_LT] = ACTIONS(3477),
    [anon_sym_GT] = ACTIONS(3477),
    [anon_sym_LBRACE] = ACTIONS(3479),
    [anon_sym_CARET_LBRACE] = ACTIONS(3479),
    [anon_sym_RBRACE] = ACTIONS(3479),
    [anon_sym_case] = ACTIONS(3479),
    [anon_sym_fallthrough] = ACTIONS(3479),
    [anon_sym_PLUS_EQ] = ACTIONS(3479),
    [anon_sym_DASH_EQ] = ACTIONS(3479),
    [anon_sym_STAR_EQ] = ACTIONS(3479),
    [anon_sym_SLASH_EQ] = ACTIONS(3479),
    [anon_sym_PERCENT_EQ] = ACTIONS(3479),
    [anon_sym_BANG_EQ] = ACTIONS(3477),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3479),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3479),
    [anon_sym_LT_EQ] = ACTIONS(3479),
    [anon_sym_GT_EQ] = ACTIONS(3479),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3479),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3479),
    [anon_sym_is] = ACTIONS(3479),
    [anon_sym_PLUS] = ACTIONS(3477),
    [anon_sym_DASH] = ACTIONS(3477),
    [anon_sym_STAR] = ACTIONS(3477),
    [anon_sym_SLASH] = ACTIONS(3477),
    [anon_sym_PERCENT] = ACTIONS(3477),
    [anon_sym_PLUS_PLUS] = ACTIONS(3479),
    [anon_sym_DASH_DASH] = ACTIONS(3479),
    [anon_sym_PIPE] = ACTIONS(3479),
    [anon_sym_CARET] = ACTIONS(3477),
    [anon_sym_LT_LT] = ACTIONS(3479),
    [anon_sym_GT_GT] = ACTIONS(3479),
    [anon_sym_class] = ACTIONS(3479),
    [anon_sym_prefix] = ACTIONS(3479),
    [anon_sym_infix] = ACTIONS(3479),
    [anon_sym_postfix] = ACTIONS(3479),
    [anon_sym_AT] = ACTIONS(3477),
    [anon_sym_override] = ACTIONS(3479),
    [anon_sym_convenience] = ACTIONS(3479),
    [anon_sym_required] = ACTIONS(3479),
    [anon_sym_nonisolated] = ACTIONS(3479),
    [anon_sym_public] = ACTIONS(3479),
    [anon_sym_private] = ACTIONS(3479),
    [anon_sym_internal] = ACTIONS(3479),
    [anon_sym_fileprivate] = ACTIONS(3479),
    [anon_sym_open] = ACTIONS(3479),
    [anon_sym_mutating] = ACTIONS(3479),
    [anon_sym_nonmutating] = ACTIONS(3479),
    [anon_sym_static] = ACTIONS(3479),
    [anon_sym_dynamic] = ACTIONS(3479),
    [anon_sym_optional] = ACTIONS(3479),
    [anon_sym_distributed] = ACTIONS(3479),
    [anon_sym_final] = ACTIONS(3479),
    [anon_sym_inout] = ACTIONS(3479),
    [anon_sym_ATescaping] = ACTIONS(3479),
    [anon_sym_ATautoclosure] = ACTIONS(3479),
    [anon_sym_weak] = ACTIONS(3479),
    [anon_sym_unowned] = ACTIONS(3477),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3479),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3479),
    [anon_sym_borrowing] = ACTIONS(3479),
    [anon_sym_consuming] = ACTIONS(3479),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3479),
    [sym__explicit_semi] = ACTIONS(3479),
    [sym__dot_custom] = ACTIONS(3479),
    [sym__conjunction_operator_custom] = ACTIONS(3479),
    [sym__disjunction_operator_custom] = ACTIONS(3479),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3479),
    [sym__eq_custom] = ACTIONS(3479),
    [sym__eq_eq_custom] = ACTIONS(3479),
    [sym__plus_then_ws] = ACTIONS(3479),
    [sym__minus_then_ws] = ACTIONS(3479),
    [sym__bang_custom] = ACTIONS(3479),
    [sym_default_keyword] = ACTIONS(3479),
    [sym_where_keyword] = ACTIONS(3479),
    [sym__as_custom] = ACTIONS(3479),
    [sym__as_quest_custom] = ACTIONS(3479),
    [sym__as_bang_custom] = ACTIONS(3479),
    [sym__custom_operator] = ACTIONS(3479),
  },
  [1268] = {
    [anon_sym_BANG] = ACTIONS(3325),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3328),
    [anon_sym_package] = ACTIONS(3328),
    [anon_sym_COMMA] = ACTIONS(3328),
    [anon_sym_LPAREN] = ACTIONS(3328),
    [anon_sym_LBRACK] = ACTIONS(3328),
    [anon_sym_QMARK] = ACTIONS(3325),
    [anon_sym_QMARK2] = ACTIONS(3328),
    [anon_sym_AMP] = ACTIONS(3328),
    [aux_sym_custom_operator_token1] = ACTIONS(3328),
    [anon_sym_LT] = ACTIONS(3325),
    [anon_sym_GT] = ACTIONS(3325),
    [anon_sym_LBRACE] = ACTIONS(3328),
    [anon_sym_CARET_LBRACE] = ACTIONS(3328),
    [anon_sym_RBRACE] = ACTIONS(3328),
    [anon_sym_case] = ACTIONS(3328),
    [anon_sym_fallthrough] = ACTIONS(3328),
    [anon_sym_PLUS_EQ] = ACTIONS(3328),
    [anon_sym_DASH_EQ] = ACTIONS(3328),
    [anon_sym_STAR_EQ] = ACTIONS(3328),
    [anon_sym_SLASH_EQ] = ACTIONS(3328),
    [anon_sym_PERCENT_EQ] = ACTIONS(3328),
    [anon_sym_BANG_EQ] = ACTIONS(3325),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3328),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3328),
    [anon_sym_LT_EQ] = ACTIONS(3328),
    [anon_sym_GT_EQ] = ACTIONS(3328),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3328),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3328),
    [anon_sym_is] = ACTIONS(3328),
    [anon_sym_PLUS] = ACTIONS(3325),
    [anon_sym_DASH] = ACTIONS(3325),
    [anon_sym_STAR] = ACTIONS(3325),
    [anon_sym_SLASH] = ACTIONS(3325),
    [anon_sym_PERCENT] = ACTIONS(3325),
    [anon_sym_PLUS_PLUS] = ACTIONS(3328),
    [anon_sym_DASH_DASH] = ACTIONS(3328),
    [anon_sym_PIPE] = ACTIONS(3328),
    [anon_sym_CARET] = ACTIONS(3325),
    [anon_sym_LT_LT] = ACTIONS(3328),
    [anon_sym_GT_GT] = ACTIONS(3328),
    [anon_sym_class] = ACTIONS(3328),
    [anon_sym_prefix] = ACTIONS(3328),
    [anon_sym_infix] = ACTIONS(3328),
    [anon_sym_postfix] = ACTIONS(3328),
    [anon_sym_AT] = ACTIONS(3325),
    [anon_sym_override] = ACTIONS(3328),
    [anon_sym_convenience] = ACTIONS(3328),
    [anon_sym_required] = ACTIONS(3328),
    [anon_sym_nonisolated] = ACTIONS(3328),
    [anon_sym_public] = ACTIONS(3328),
    [anon_sym_private] = ACTIONS(3328),
    [anon_sym_internal] = ACTIONS(3328),
    [anon_sym_fileprivate] = ACTIONS(3328),
    [anon_sym_open] = ACTIONS(3328),
    [anon_sym_mutating] = ACTIONS(3328),
    [anon_sym_nonmutating] = ACTIONS(3328),
    [anon_sym_static] = ACTIONS(3328),
    [anon_sym_dynamic] = ACTIONS(3328),
    [anon_sym_optional] = ACTIONS(3328),
    [anon_sym_distributed] = ACTIONS(3328),
    [anon_sym_final] = ACTIONS(3328),
    [anon_sym_inout] = ACTIONS(3328),
    [anon_sym_ATescaping] = ACTIONS(3328),
    [anon_sym_ATautoclosure] = ACTIONS(3328),
    [anon_sym_weak] = ACTIONS(3328),
    [anon_sym_unowned] = ACTIONS(3325),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3328),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3328),
    [anon_sym_borrowing] = ACTIONS(3328),
    [anon_sym_consuming] = ACTIONS(3328),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3328),
    [sym__explicit_semi] = ACTIONS(3328),
    [sym__dot_custom] = ACTIONS(3328),
    [sym__conjunction_operator_custom] = ACTIONS(3328),
    [sym__disjunction_operator_custom] = ACTIONS(3328),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3328),
    [sym__eq_custom] = ACTIONS(3328),
    [sym__eq_eq_custom] = ACTIONS(3328),
    [sym__plus_then_ws] = ACTIONS(3328),
    [sym__minus_then_ws] = ACTIONS(3328),
    [sym__bang_custom] = ACTIONS(3328),
    [sym_default_keyword] = ACTIONS(3328),
    [sym_where_keyword] = ACTIONS(3328),
    [sym__as_custom] = ACTIONS(3328),
    [sym__as_quest_custom] = ACTIONS(3328),
    [sym__as_bang_custom] = ACTIONS(3328),
    [sym__custom_operator] = ACTIONS(3328),
  },
  [1269] = {
    [anon_sym_BANG] = ACTIONS(3335),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3338),
    [anon_sym_package] = ACTIONS(3338),
    [anon_sym_COMMA] = ACTIONS(3338),
    [anon_sym_LPAREN] = ACTIONS(3338),
    [anon_sym_LBRACK] = ACTIONS(3338),
    [anon_sym_QMARK] = ACTIONS(3335),
    [anon_sym_QMARK2] = ACTIONS(3338),
    [anon_sym_AMP] = ACTIONS(3338),
    [aux_sym_custom_operator_token1] = ACTIONS(3338),
    [anon_sym_LT] = ACTIONS(3335),
    [anon_sym_GT] = ACTIONS(3335),
    [anon_sym_LBRACE] = ACTIONS(3338),
    [anon_sym_CARET_LBRACE] = ACTIONS(3338),
    [anon_sym_RBRACE] = ACTIONS(3338),
    [anon_sym_case] = ACTIONS(3338),
    [anon_sym_fallthrough] = ACTIONS(3338),
    [anon_sym_PLUS_EQ] = ACTIONS(3338),
    [anon_sym_DASH_EQ] = ACTIONS(3338),
    [anon_sym_STAR_EQ] = ACTIONS(3338),
    [anon_sym_SLASH_EQ] = ACTIONS(3338),
    [anon_sym_PERCENT_EQ] = ACTIONS(3338),
    [anon_sym_BANG_EQ] = ACTIONS(3335),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3338),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3338),
    [anon_sym_LT_EQ] = ACTIONS(3338),
    [anon_sym_GT_EQ] = ACTIONS(3338),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3338),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3338),
    [anon_sym_is] = ACTIONS(3338),
    [anon_sym_PLUS] = ACTIONS(3335),
    [anon_sym_DASH] = ACTIONS(3335),
    [anon_sym_STAR] = ACTIONS(3335),
    [anon_sym_SLASH] = ACTIONS(3335),
    [anon_sym_PERCENT] = ACTIONS(3335),
    [anon_sym_PLUS_PLUS] = ACTIONS(3338),
    [anon_sym_DASH_DASH] = ACTIONS(3338),
    [anon_sym_PIPE] = ACTIONS(3338),
    [anon_sym_CARET] = ACTIONS(3335),
    [anon_sym_LT_LT] = ACTIONS(3338),
    [anon_sym_GT_GT] = ACTIONS(3338),
    [anon_sym_class] = ACTIONS(3338),
    [anon_sym_prefix] = ACTIONS(3338),
    [anon_sym_infix] = ACTIONS(3338),
    [anon_sym_postfix] = ACTIONS(3338),
    [anon_sym_AT] = ACTIONS(3335),
    [anon_sym_override] = ACTIONS(3338),
    [anon_sym_convenience] = ACTIONS(3338),
    [anon_sym_required] = ACTIONS(3338),
    [anon_sym_nonisolated] = ACTIONS(3338),
    [anon_sym_public] = ACTIONS(3338),
    [anon_sym_private] = ACTIONS(3338),
    [anon_sym_internal] = ACTIONS(3338),
    [anon_sym_fileprivate] = ACTIONS(3338),
    [anon_sym_open] = ACTIONS(3338),
    [anon_sym_mutating] = ACTIONS(3338),
    [anon_sym_nonmutating] = ACTIONS(3338),
    [anon_sym_static] = ACTIONS(3338),
    [anon_sym_dynamic] = ACTIONS(3338),
    [anon_sym_optional] = ACTIONS(3338),
    [anon_sym_distributed] = ACTIONS(3338),
    [anon_sym_final] = ACTIONS(3338),
    [anon_sym_inout] = ACTIONS(3338),
    [anon_sym_ATescaping] = ACTIONS(3338),
    [anon_sym_ATautoclosure] = ACTIONS(3338),
    [anon_sym_weak] = ACTIONS(3338),
    [anon_sym_unowned] = ACTIONS(3335),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3338),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3338),
    [anon_sym_borrowing] = ACTIONS(3338),
    [anon_sym_consuming] = ACTIONS(3338),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3338),
    [sym__explicit_semi] = ACTIONS(3338),
    [sym__dot_custom] = ACTIONS(3338),
    [sym__conjunction_operator_custom] = ACTIONS(3338),
    [sym__disjunction_operator_custom] = ACTIONS(3338),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3338),
    [sym__eq_custom] = ACTIONS(3338),
    [sym__eq_eq_custom] = ACTIONS(3338),
    [sym__plus_then_ws] = ACTIONS(3338),
    [sym__minus_then_ws] = ACTIONS(3338),
    [sym__bang_custom] = ACTIONS(3338),
    [sym_default_keyword] = ACTIONS(3338),
    [sym_where_keyword] = ACTIONS(3338),
    [sym__as_custom] = ACTIONS(3338),
    [sym__as_quest_custom] = ACTIONS(3338),
    [sym__as_bang_custom] = ACTIONS(3338),
    [sym__custom_operator] = ACTIONS(3338),
  },
  [1270] = {
    [anon_sym_BANG] = ACTIONS(3601),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3603),
    [anon_sym_package] = ACTIONS(3603),
    [anon_sym_COMMA] = ACTIONS(3603),
    [anon_sym_LPAREN] = ACTIONS(3603),
    [anon_sym_LBRACK] = ACTIONS(3603),
    [anon_sym_QMARK] = ACTIONS(3601),
    [anon_sym_QMARK2] = ACTIONS(3603),
    [anon_sym_AMP] = ACTIONS(3603),
    [aux_sym_custom_operator_token1] = ACTIONS(3603),
    [anon_sym_LT] = ACTIONS(3601),
    [anon_sym_GT] = ACTIONS(3601),
    [anon_sym_LBRACE] = ACTIONS(3603),
    [anon_sym_CARET_LBRACE] = ACTIONS(3603),
    [anon_sym_RBRACE] = ACTIONS(3603),
    [anon_sym_case] = ACTIONS(3603),
    [anon_sym_fallthrough] = ACTIONS(3603),
    [anon_sym_PLUS_EQ] = ACTIONS(3603),
    [anon_sym_DASH_EQ] = ACTIONS(3603),
    [anon_sym_STAR_EQ] = ACTIONS(3603),
    [anon_sym_SLASH_EQ] = ACTIONS(3603),
    [anon_sym_PERCENT_EQ] = ACTIONS(3603),
    [anon_sym_BANG_EQ] = ACTIONS(3601),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3603),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3603),
    [anon_sym_LT_EQ] = ACTIONS(3603),
    [anon_sym_GT_EQ] = ACTIONS(3603),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3603),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3603),
    [anon_sym_is] = ACTIONS(3603),
    [anon_sym_PLUS] = ACTIONS(3601),
    [anon_sym_DASH] = ACTIONS(3601),
    [anon_sym_STAR] = ACTIONS(3601),
    [anon_sym_SLASH] = ACTIONS(3601),
    [anon_sym_PERCENT] = ACTIONS(3601),
    [anon_sym_PLUS_PLUS] = ACTIONS(3603),
    [anon_sym_DASH_DASH] = ACTIONS(3603),
    [anon_sym_PIPE] = ACTIONS(3603),
    [anon_sym_CARET] = ACTIONS(3601),
    [anon_sym_LT_LT] = ACTIONS(3603),
    [anon_sym_GT_GT] = ACTIONS(3603),
    [anon_sym_class] = ACTIONS(3603),
    [anon_sym_prefix] = ACTIONS(3603),
    [anon_sym_infix] = ACTIONS(3603),
    [anon_sym_postfix] = ACTIONS(3603),
    [anon_sym_AT] = ACTIONS(3601),
    [anon_sym_override] = ACTIONS(3603),
    [anon_sym_convenience] = ACTIONS(3603),
    [anon_sym_required] = ACTIONS(3603),
    [anon_sym_nonisolated] = ACTIONS(3603),
    [anon_sym_public] = ACTIONS(3603),
    [anon_sym_private] = ACTIONS(3603),
    [anon_sym_internal] = ACTIONS(3603),
    [anon_sym_fileprivate] = ACTIONS(3603),
    [anon_sym_open] = ACTIONS(3603),
    [anon_sym_mutating] = ACTIONS(3603),
    [anon_sym_nonmutating] = ACTIONS(3603),
    [anon_sym_static] = ACTIONS(3603),
    [anon_sym_dynamic] = ACTIONS(3603),
    [anon_sym_optional] = ACTIONS(3603),
    [anon_sym_distributed] = ACTIONS(3603),
    [anon_sym_final] = ACTIONS(3603),
    [anon_sym_inout] = ACTIONS(3603),
    [anon_sym_ATescaping] = ACTIONS(3603),
    [anon_sym_ATautoclosure] = ACTIONS(3603),
    [anon_sym_weak] = ACTIONS(3603),
    [anon_sym_unowned] = ACTIONS(3601),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3603),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3603),
    [anon_sym_borrowing] = ACTIONS(3603),
    [anon_sym_consuming] = ACTIONS(3603),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3603),
    [sym__explicit_semi] = ACTIONS(3603),
    [sym__dot_custom] = ACTIONS(3603),
    [sym__conjunction_operator_custom] = ACTIONS(3603),
    [sym__disjunction_operator_custom] = ACTIONS(3603),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3603),
    [sym__eq_custom] = ACTIONS(3603),
    [sym__eq_eq_custom] = ACTIONS(3603),
    [sym__plus_then_ws] = ACTIONS(3603),
    [sym__minus_then_ws] = ACTIONS(3603),
    [sym__bang_custom] = ACTIONS(3603),
    [sym_default_keyword] = ACTIONS(3603),
    [sym_where_keyword] = ACTIONS(3603),
    [sym__as_custom] = ACTIONS(3603),
    [sym__as_quest_custom] = ACTIONS(3603),
    [sym__as_bang_custom] = ACTIONS(3603),
    [sym__custom_operator] = ACTIONS(3603),
  },
  [1271] = {
    [anon_sym_BANG] = ACTIONS(2781),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2779),
    [anon_sym_package] = ACTIONS(2779),
    [anon_sym_COMMA] = ACTIONS(2779),
    [anon_sym_LPAREN] = ACTIONS(2779),
    [anon_sym_LBRACK] = ACTIONS(2779),
    [anon_sym_QMARK] = ACTIONS(2781),
    [anon_sym_QMARK2] = ACTIONS(2779),
    [anon_sym_AMP] = ACTIONS(2779),
    [aux_sym_custom_operator_token1] = ACTIONS(2779),
    [anon_sym_LT] = ACTIONS(2781),
    [anon_sym_GT] = ACTIONS(2781),
    [anon_sym_LBRACE] = ACTIONS(2779),
    [anon_sym_CARET_LBRACE] = ACTIONS(2779),
    [anon_sym_RBRACE] = ACTIONS(2779),
    [anon_sym_case] = ACTIONS(2779),
    [anon_sym_fallthrough] = ACTIONS(2779),
    [anon_sym_PLUS_EQ] = ACTIONS(2779),
    [anon_sym_DASH_EQ] = ACTIONS(2779),
    [anon_sym_STAR_EQ] = ACTIONS(2779),
    [anon_sym_SLASH_EQ] = ACTIONS(2779),
    [anon_sym_PERCENT_EQ] = ACTIONS(2779),
    [anon_sym_BANG_EQ] = ACTIONS(2781),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2779),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2779),
    [anon_sym_LT_EQ] = ACTIONS(2779),
    [anon_sym_GT_EQ] = ACTIONS(2779),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2779),
    [anon_sym_is] = ACTIONS(2779),
    [anon_sym_PLUS] = ACTIONS(2781),
    [anon_sym_DASH] = ACTIONS(2781),
    [anon_sym_STAR] = ACTIONS(2781),
    [anon_sym_SLASH] = ACTIONS(2781),
    [anon_sym_PERCENT] = ACTIONS(2781),
    [anon_sym_PLUS_PLUS] = ACTIONS(2779),
    [anon_sym_DASH_DASH] = ACTIONS(2779),
    [anon_sym_PIPE] = ACTIONS(2779),
    [anon_sym_CARET] = ACTIONS(2781),
    [anon_sym_LT_LT] = ACTIONS(2779),
    [anon_sym_GT_GT] = ACTIONS(2779),
    [anon_sym_class] = ACTIONS(2779),
    [anon_sym_prefix] = ACTIONS(2779),
    [anon_sym_infix] = ACTIONS(2779),
    [anon_sym_postfix] = ACTIONS(2779),
    [anon_sym_AT] = ACTIONS(2781),
    [anon_sym_override] = ACTIONS(2779),
    [anon_sym_convenience] = ACTIONS(2779),
    [anon_sym_required] = ACTIONS(2779),
    [anon_sym_nonisolated] = ACTIONS(2779),
    [anon_sym_public] = ACTIONS(2779),
    [anon_sym_private] = ACTIONS(2779),
    [anon_sym_internal] = ACTIONS(2779),
    [anon_sym_fileprivate] = ACTIONS(2779),
    [anon_sym_open] = ACTIONS(2779),
    [anon_sym_mutating] = ACTIONS(2779),
    [anon_sym_nonmutating] = ACTIONS(2779),
    [anon_sym_static] = ACTIONS(2779),
    [anon_sym_dynamic] = ACTIONS(2779),
    [anon_sym_optional] = ACTIONS(2779),
    [anon_sym_distributed] = ACTIONS(2779),
    [anon_sym_final] = ACTIONS(2779),
    [anon_sym_inout] = ACTIONS(2779),
    [anon_sym_ATescaping] = ACTIONS(2779),
    [anon_sym_ATautoclosure] = ACTIONS(2779),
    [anon_sym_weak] = ACTIONS(2779),
    [anon_sym_unowned] = ACTIONS(2781),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2779),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2779),
    [anon_sym_borrowing] = ACTIONS(2779),
    [anon_sym_consuming] = ACTIONS(2779),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2779),
    [sym__explicit_semi] = ACTIONS(2779),
    [sym__dot_custom] = ACTIONS(2779),
    [sym__conjunction_operator_custom] = ACTIONS(2779),
    [sym__disjunction_operator_custom] = ACTIONS(2779),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2779),
    [sym__eq_custom] = ACTIONS(2779),
    [sym__eq_eq_custom] = ACTIONS(2779),
    [sym__plus_then_ws] = ACTIONS(2779),
    [sym__minus_then_ws] = ACTIONS(2779),
    [sym__bang_custom] = ACTIONS(2779),
    [sym_default_keyword] = ACTIONS(2779),
    [sym_where_keyword] = ACTIONS(2779),
    [sym__as_custom] = ACTIONS(2779),
    [sym__as_quest_custom] = ACTIONS(2779),
    [sym__as_bang_custom] = ACTIONS(2779),
    [sym__custom_operator] = ACTIONS(2779),
  },
  [1272] = {
    [anon_sym_BANG] = ACTIONS(3313),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3315),
    [anon_sym_package] = ACTIONS(3315),
    [anon_sym_COMMA] = ACTIONS(3315),
    [anon_sym_LPAREN] = ACTIONS(3315),
    [anon_sym_LBRACK] = ACTIONS(3315),
    [anon_sym_QMARK] = ACTIONS(3313),
    [anon_sym_QMARK2] = ACTIONS(3315),
    [anon_sym_AMP] = ACTIONS(3315),
    [aux_sym_custom_operator_token1] = ACTIONS(3315),
    [anon_sym_LT] = ACTIONS(3313),
    [anon_sym_GT] = ACTIONS(3313),
    [anon_sym_LBRACE] = ACTIONS(3315),
    [anon_sym_CARET_LBRACE] = ACTIONS(3315),
    [anon_sym_RBRACE] = ACTIONS(3315),
    [anon_sym_case] = ACTIONS(3315),
    [anon_sym_fallthrough] = ACTIONS(3315),
    [anon_sym_PLUS_EQ] = ACTIONS(3315),
    [anon_sym_DASH_EQ] = ACTIONS(3315),
    [anon_sym_STAR_EQ] = ACTIONS(3315),
    [anon_sym_SLASH_EQ] = ACTIONS(3315),
    [anon_sym_PERCENT_EQ] = ACTIONS(3315),
    [anon_sym_BANG_EQ] = ACTIONS(3313),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3315),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3315),
    [anon_sym_LT_EQ] = ACTIONS(3315),
    [anon_sym_GT_EQ] = ACTIONS(3315),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3315),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3315),
    [anon_sym_is] = ACTIONS(3315),
    [anon_sym_PLUS] = ACTIONS(3313),
    [anon_sym_DASH] = ACTIONS(3313),
    [anon_sym_STAR] = ACTIONS(3313),
    [anon_sym_SLASH] = ACTIONS(3313),
    [anon_sym_PERCENT] = ACTIONS(3313),
    [anon_sym_PLUS_PLUS] = ACTIONS(3315),
    [anon_sym_DASH_DASH] = ACTIONS(3315),
    [anon_sym_PIPE] = ACTIONS(3315),
    [anon_sym_CARET] = ACTIONS(3313),
    [anon_sym_LT_LT] = ACTIONS(3315),
    [anon_sym_GT_GT] = ACTIONS(3315),
    [anon_sym_class] = ACTIONS(3315),
    [anon_sym_prefix] = ACTIONS(3315),
    [anon_sym_infix] = ACTIONS(3315),
    [anon_sym_postfix] = ACTIONS(3315),
    [anon_sym_AT] = ACTIONS(3313),
    [anon_sym_override] = ACTIONS(3315),
    [anon_sym_convenience] = ACTIONS(3315),
    [anon_sym_required] = ACTIONS(3315),
    [anon_sym_nonisolated] = ACTIONS(3315),
    [anon_sym_public] = ACTIONS(3315),
    [anon_sym_private] = ACTIONS(3315),
    [anon_sym_internal] = ACTIONS(3315),
    [anon_sym_fileprivate] = ACTIONS(3315),
    [anon_sym_open] = ACTIONS(3315),
    [anon_sym_mutating] = ACTIONS(3315),
    [anon_sym_nonmutating] = ACTIONS(3315),
    [anon_sym_static] = ACTIONS(3315),
    [anon_sym_dynamic] = ACTIONS(3315),
    [anon_sym_optional] = ACTIONS(3315),
    [anon_sym_distributed] = ACTIONS(3315),
    [anon_sym_final] = ACTIONS(3315),
    [anon_sym_inout] = ACTIONS(3315),
    [anon_sym_ATescaping] = ACTIONS(3315),
    [anon_sym_ATautoclosure] = ACTIONS(3315),
    [anon_sym_weak] = ACTIONS(3315),
    [anon_sym_unowned] = ACTIONS(3313),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3315),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3315),
    [anon_sym_borrowing] = ACTIONS(3315),
    [anon_sym_consuming] = ACTIONS(3315),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3315),
    [sym__explicit_semi] = ACTIONS(3315),
    [sym__dot_custom] = ACTIONS(3315),
    [sym__conjunction_operator_custom] = ACTIONS(3315),
    [sym__disjunction_operator_custom] = ACTIONS(3315),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3315),
    [sym__eq_custom] = ACTIONS(3315),
    [sym__eq_eq_custom] = ACTIONS(3315),
    [sym__plus_then_ws] = ACTIONS(3315),
    [sym__minus_then_ws] = ACTIONS(3315),
    [sym__bang_custom] = ACTIONS(3315),
    [sym_default_keyword] = ACTIONS(3315),
    [sym_where_keyword] = ACTIONS(3315),
    [sym__as_custom] = ACTIONS(3315),
    [sym__as_quest_custom] = ACTIONS(3315),
    [sym__as_bang_custom] = ACTIONS(3315),
    [sym__custom_operator] = ACTIONS(3315),
  },
  [1273] = {
    [sym__type_level_declaration] = STATE(7735),
    [sym_import_declaration] = STATE(7735),
    [sym_property_declaration] = STATE(7735),
    [sym__modifierless_property_declaration] = STATE(7625),
    [sym_typealias_declaration] = STATE(7735),
    [sym__modifierless_typealias_declaration] = STATE(7444),
    [sym_function_declaration] = STATE(7735),
    [sym__bodyless_function_declaration] = STATE(7742),
    [sym__modifierless_function_declaration_no_body] = STATE(8708),
    [sym_class_declaration] = STATE(7735),
    [sym__modifierless_class_declaration] = STATE(7633),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__async_modifier] = STATE(7659),
    [sym_protocol_declaration] = STATE(7735),
    [sym_init_declaration] = STATE(7735),
    [sym_deinit_declaration] = STATE(7735),
    [sym_subscript_declaration] = STATE(7735),
    [sym_operator_declaration] = STATE(7735),
    [sym_precedence_group_declaration] = STATE(7735),
    [sym_associatedtype_declaration] = STATE(7735),
    [sym_attribute] = STATE(1786),
    [sym_value_binding_pattern] = STATE(4778),
    [sym__possibly_async_binding_pattern_kind] = STATE(4778),
    [sym_modifiers] = STATE(4931),
    [aux_sym__locally_permitted_modifiers] = STATE(1786),
    [sym__non_local_scope_modifier] = STATE(1786),
    [sym__locally_permitted_modifier] = STATE(1786),
    [sym_property_behavior_modifier] = STATE(1786),
    [sym_member_modifier] = STATE(1786),
    [sym_visibility_modifier] = STATE(1786),
    [sym_function_modifier] = STATE(1786),
    [sym_mutation_modifier] = STATE(1786),
    [sym_property_modifier] = STATE(1786),
    [sym_inheritance_modifier] = STATE(1786),
    [sym_parameter_modifier] = STATE(1786),
    [sym_ownership_modifier] = STATE(1786),
    [sym__parameter_ownership_modifier] = STATE(2979),
    [aux_sym_modifiers_repeat1] = STATE(1786),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(4240),
    [anon_sym_async] = ACTIONS(3977),
    [anon_sym_lazy] = ACTIONS(3979),
    [anon_sym_package] = ACTIONS(3981),
    [anon_sym_RBRACE] = ACTIONS(4317),
    [anon_sym_import] = ACTIONS(4244),
    [anon_sym_typealias] = ACTIONS(4246),
    [anon_sym_struct] = ACTIONS(4240),
    [anon_sym_class] = ACTIONS(4248),
    [anon_sym_enum] = ACTIONS(4250),
    [anon_sym_protocol] = ACTIONS(4252),
    [anon_sym_let] = ACTIONS(3997),
    [anon_sym_var] = ACTIONS(3997),
    [anon_sym_func] = ACTIONS(3999),
    [anon_sym_extension] = ACTIONS(4254),
    [anon_sym_indirect] = ACTIONS(4256),
    [anon_sym_init] = ACTIONS(4258),
    [anon_sym_deinit] = ACTIONS(4260),
    [anon_sym_subscript] = ACTIONS(4262),
    [anon_sym_prefix] = ACTIONS(4264),
    [anon_sym_infix] = ACTIONS(4264),
    [anon_sym_postfix] = ACTIONS(4264),
    [anon_sym_precedencegroup] = ACTIONS(4266),
    [anon_sym_associatedtype] = ACTIONS(4268),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(4017),
    [anon_sym_convenience] = ACTIONS(4017),
    [anon_sym_required] = ACTIONS(4017),
    [anon_sym_nonisolated] = ACTIONS(4017),
    [anon_sym_public] = ACTIONS(3981),
    [anon_sym_private] = ACTIONS(3981),
    [anon_sym_internal] = ACTIONS(3981),
    [anon_sym_fileprivate] = ACTIONS(3981),
    [anon_sym_open] = ACTIONS(3981),
    [anon_sym_mutating] = ACTIONS(4019),
    [anon_sym_nonmutating] = ACTIONS(4019),
    [anon_sym_static] = ACTIONS(4021),
    [anon_sym_dynamic] = ACTIONS(4021),
    [anon_sym_optional] = ACTIONS(4021),
    [anon_sym_distributed] = ACTIONS(4021),
    [anon_sym_final] = ACTIONS(4023),
    [anon_sym_inout] = ACTIONS(125),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(129),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(125),
    [anon_sym_consuming] = ACTIONS(125),
    [sym_multiline_comment] = ACTIONS(5),
  },
  [1274] = {
    [anon_sym_BANG] = ACTIONS(3345),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3348),
    [anon_sym_package] = ACTIONS(3348),
    [anon_sym_COMMA] = ACTIONS(3348),
    [anon_sym_LPAREN] = ACTIONS(3348),
    [anon_sym_LBRACK] = ACTIONS(3348),
    [anon_sym_QMARK] = ACTIONS(3345),
    [anon_sym_QMARK2] = ACTIONS(3348),
    [anon_sym_AMP] = ACTIONS(3348),
    [aux_sym_custom_operator_token1] = ACTIONS(3348),
    [anon_sym_LT] = ACTIONS(3345),
    [anon_sym_GT] = ACTIONS(3345),
    [anon_sym_LBRACE] = ACTIONS(3348),
    [anon_sym_CARET_LBRACE] = ACTIONS(3348),
    [anon_sym_RBRACE] = ACTIONS(3348),
    [anon_sym_case] = ACTIONS(3348),
    [anon_sym_fallthrough] = ACTIONS(3348),
    [anon_sym_PLUS_EQ] = ACTIONS(3348),
    [anon_sym_DASH_EQ] = ACTIONS(3348),
    [anon_sym_STAR_EQ] = ACTIONS(3348),
    [anon_sym_SLASH_EQ] = ACTIONS(3348),
    [anon_sym_PERCENT_EQ] = ACTIONS(3348),
    [anon_sym_BANG_EQ] = ACTIONS(3345),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3348),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3348),
    [anon_sym_LT_EQ] = ACTIONS(3348),
    [anon_sym_GT_EQ] = ACTIONS(3348),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3348),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3348),
    [anon_sym_is] = ACTIONS(3348),
    [anon_sym_PLUS] = ACTIONS(3345),
    [anon_sym_DASH] = ACTIONS(3345),
    [anon_sym_STAR] = ACTIONS(3345),
    [anon_sym_SLASH] = ACTIONS(3345),
    [anon_sym_PERCENT] = ACTIONS(3345),
    [anon_sym_PLUS_PLUS] = ACTIONS(3348),
    [anon_sym_DASH_DASH] = ACTIONS(3348),
    [anon_sym_PIPE] = ACTIONS(3348),
    [anon_sym_CARET] = ACTIONS(3345),
    [anon_sym_LT_LT] = ACTIONS(3348),
    [anon_sym_GT_GT] = ACTIONS(3348),
    [anon_sym_class] = ACTIONS(3348),
    [anon_sym_prefix] = ACTIONS(3348),
    [anon_sym_infix] = ACTIONS(3348),
    [anon_sym_postfix] = ACTIONS(3348),
    [anon_sym_AT] = ACTIONS(3345),
    [anon_sym_override] = ACTIONS(3348),
    [anon_sym_convenience] = ACTIONS(3348),
    [anon_sym_required] = ACTIONS(3348),
    [anon_sym_nonisolated] = ACTIONS(3348),
    [anon_sym_public] = ACTIONS(3348),
    [anon_sym_private] = ACTIONS(3348),
    [anon_sym_internal] = ACTIONS(3348),
    [anon_sym_fileprivate] = ACTIONS(3348),
    [anon_sym_open] = ACTIONS(3348),
    [anon_sym_mutating] = ACTIONS(3348),
    [anon_sym_nonmutating] = ACTIONS(3348),
    [anon_sym_static] = ACTIONS(3348),
    [anon_sym_dynamic] = ACTIONS(3348),
    [anon_sym_optional] = ACTIONS(3348),
    [anon_sym_distributed] = ACTIONS(3348),
    [anon_sym_final] = ACTIONS(3348),
    [anon_sym_inout] = ACTIONS(3348),
    [anon_sym_ATescaping] = ACTIONS(3348),
    [anon_sym_ATautoclosure] = ACTIONS(3348),
    [anon_sym_weak] = ACTIONS(3348),
    [anon_sym_unowned] = ACTIONS(3345),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3348),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3348),
    [anon_sym_borrowing] = ACTIONS(3348),
    [anon_sym_consuming] = ACTIONS(3348),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3348),
    [sym__explicit_semi] = ACTIONS(3348),
    [sym__dot_custom] = ACTIONS(3348),
    [sym__conjunction_operator_custom] = ACTIONS(3348),
    [sym__disjunction_operator_custom] = ACTIONS(3348),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3348),
    [sym__eq_custom] = ACTIONS(3348),
    [sym__eq_eq_custom] = ACTIONS(3348),
    [sym__plus_then_ws] = ACTIONS(3348),
    [sym__minus_then_ws] = ACTIONS(3348),
    [sym__bang_custom] = ACTIONS(3348),
    [sym_default_keyword] = ACTIONS(3348),
    [sym_where_keyword] = ACTIONS(3348),
    [sym__as_custom] = ACTIONS(3348),
    [sym__as_quest_custom] = ACTIONS(3348),
    [sym__as_bang_custom] = ACTIONS(3348),
    [sym__custom_operator] = ACTIONS(3348),
  },
  [1275] = {
    [anon_sym_BANG] = ACTIONS(3351),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3354),
    [anon_sym_package] = ACTIONS(3354),
    [anon_sym_COMMA] = ACTIONS(3354),
    [anon_sym_LPAREN] = ACTIONS(3354),
    [anon_sym_LBRACK] = ACTIONS(3354),
    [anon_sym_QMARK] = ACTIONS(3351),
    [anon_sym_QMARK2] = ACTIONS(3354),
    [anon_sym_AMP] = ACTIONS(3354),
    [aux_sym_custom_operator_token1] = ACTIONS(3354),
    [anon_sym_LT] = ACTIONS(3351),
    [anon_sym_GT] = ACTIONS(3351),
    [anon_sym_LBRACE] = ACTIONS(3354),
    [anon_sym_CARET_LBRACE] = ACTIONS(3354),
    [anon_sym_RBRACE] = ACTIONS(3354),
    [anon_sym_case] = ACTIONS(3354),
    [anon_sym_fallthrough] = ACTIONS(3354),
    [anon_sym_PLUS_EQ] = ACTIONS(3354),
    [anon_sym_DASH_EQ] = ACTIONS(3354),
    [anon_sym_STAR_EQ] = ACTIONS(3354),
    [anon_sym_SLASH_EQ] = ACTIONS(3354),
    [anon_sym_PERCENT_EQ] = ACTIONS(3354),
    [anon_sym_BANG_EQ] = ACTIONS(3351),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3354),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3354),
    [anon_sym_LT_EQ] = ACTIONS(3354),
    [anon_sym_GT_EQ] = ACTIONS(3354),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3354),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3354),
    [anon_sym_is] = ACTIONS(3354),
    [anon_sym_PLUS] = ACTIONS(3351),
    [anon_sym_DASH] = ACTIONS(3351),
    [anon_sym_STAR] = ACTIONS(3351),
    [anon_sym_SLASH] = ACTIONS(3351),
    [anon_sym_PERCENT] = ACTIONS(3351),
    [anon_sym_PLUS_PLUS] = ACTIONS(3354),
    [anon_sym_DASH_DASH] = ACTIONS(3354),
    [anon_sym_PIPE] = ACTIONS(3354),
    [anon_sym_CARET] = ACTIONS(3351),
    [anon_sym_LT_LT] = ACTIONS(3354),
    [anon_sym_GT_GT] = ACTIONS(3354),
    [anon_sym_class] = ACTIONS(3354),
    [anon_sym_prefix] = ACTIONS(3354),
    [anon_sym_infix] = ACTIONS(3354),
    [anon_sym_postfix] = ACTIONS(3354),
    [anon_sym_AT] = ACTIONS(3351),
    [anon_sym_override] = ACTIONS(3354),
    [anon_sym_convenience] = ACTIONS(3354),
    [anon_sym_required] = ACTIONS(3354),
    [anon_sym_nonisolated] = ACTIONS(3354),
    [anon_sym_public] = ACTIONS(3354),
    [anon_sym_private] = ACTIONS(3354),
    [anon_sym_internal] = ACTIONS(3354),
    [anon_sym_fileprivate] = ACTIONS(3354),
    [anon_sym_open] = ACTIONS(3354),
    [anon_sym_mutating] = ACTIONS(3354),
    [anon_sym_nonmutating] = ACTIONS(3354),
    [anon_sym_static] = ACTIONS(3354),
    [anon_sym_dynamic] = ACTIONS(3354),
    [anon_sym_optional] = ACTIONS(3354),
    [anon_sym_distributed] = ACTIONS(3354),
    [anon_sym_final] = ACTIONS(3354),
    [anon_sym_inout] = ACTIONS(3354),
    [anon_sym_ATescaping] = ACTIONS(3354),
    [anon_sym_ATautoclosure] = ACTIONS(3354),
    [anon_sym_weak] = ACTIONS(3354),
    [anon_sym_unowned] = ACTIONS(3351),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3354),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3354),
    [anon_sym_borrowing] = ACTIONS(3354),
    [anon_sym_consuming] = ACTIONS(3354),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3354),
    [sym__explicit_semi] = ACTIONS(3354),
    [sym__dot_custom] = ACTIONS(3354),
    [sym__conjunction_operator_custom] = ACTIONS(3354),
    [sym__disjunction_operator_custom] = ACTIONS(3354),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3354),
    [sym__eq_custom] = ACTIONS(3354),
    [sym__eq_eq_custom] = ACTIONS(3354),
    [sym__plus_then_ws] = ACTIONS(3354),
    [sym__minus_then_ws] = ACTIONS(3354),
    [sym__bang_custom] = ACTIONS(3354),
    [sym_default_keyword] = ACTIONS(3354),
    [sym_where_keyword] = ACTIONS(3354),
    [sym__as_custom] = ACTIONS(3354),
    [sym__as_quest_custom] = ACTIONS(3354),
    [sym__as_bang_custom] = ACTIONS(3354),
    [sym__custom_operator] = ACTIONS(3354),
  },
  [1276] = {
    [anon_sym_BANG] = ACTIONS(3321),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3323),
    [anon_sym_package] = ACTIONS(3323),
    [anon_sym_COMMA] = ACTIONS(3323),
    [anon_sym_LPAREN] = ACTIONS(3323),
    [anon_sym_LBRACK] = ACTIONS(3323),
    [anon_sym_QMARK] = ACTIONS(3321),
    [anon_sym_QMARK2] = ACTIONS(3323),
    [anon_sym_AMP] = ACTIONS(3323),
    [aux_sym_custom_operator_token1] = ACTIONS(3323),
    [anon_sym_LT] = ACTIONS(3321),
    [anon_sym_GT] = ACTIONS(3321),
    [anon_sym_LBRACE] = ACTIONS(3323),
    [anon_sym_CARET_LBRACE] = ACTIONS(3323),
    [anon_sym_RBRACE] = ACTIONS(3323),
    [anon_sym_case] = ACTIONS(3323),
    [anon_sym_fallthrough] = ACTIONS(3323),
    [anon_sym_PLUS_EQ] = ACTIONS(3323),
    [anon_sym_DASH_EQ] = ACTIONS(3323),
    [anon_sym_STAR_EQ] = ACTIONS(3323),
    [anon_sym_SLASH_EQ] = ACTIONS(3323),
    [anon_sym_PERCENT_EQ] = ACTIONS(3323),
    [anon_sym_BANG_EQ] = ACTIONS(3321),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3323),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3323),
    [anon_sym_LT_EQ] = ACTIONS(3323),
    [anon_sym_GT_EQ] = ACTIONS(3323),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3323),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3323),
    [anon_sym_is] = ACTIONS(3323),
    [anon_sym_PLUS] = ACTIONS(3321),
    [anon_sym_DASH] = ACTIONS(3321),
    [anon_sym_STAR] = ACTIONS(3321),
    [anon_sym_SLASH] = ACTIONS(3321),
    [anon_sym_PERCENT] = ACTIONS(3321),
    [anon_sym_PLUS_PLUS] = ACTIONS(3323),
    [anon_sym_DASH_DASH] = ACTIONS(3323),
    [anon_sym_PIPE] = ACTIONS(3323),
    [anon_sym_CARET] = ACTIONS(3321),
    [anon_sym_LT_LT] = ACTIONS(3323),
    [anon_sym_GT_GT] = ACTIONS(3323),
    [anon_sym_class] = ACTIONS(3323),
    [anon_sym_prefix] = ACTIONS(3323),
    [anon_sym_infix] = ACTIONS(3323),
    [anon_sym_postfix] = ACTIONS(3323),
    [anon_sym_AT] = ACTIONS(3321),
    [anon_sym_override] = ACTIONS(3323),
    [anon_sym_convenience] = ACTIONS(3323),
    [anon_sym_required] = ACTIONS(3323),
    [anon_sym_nonisolated] = ACTIONS(3323),
    [anon_sym_public] = ACTIONS(3323),
    [anon_sym_private] = ACTIONS(3323),
    [anon_sym_internal] = ACTIONS(3323),
    [anon_sym_fileprivate] = ACTIONS(3323),
    [anon_sym_open] = ACTIONS(3323),
    [anon_sym_mutating] = ACTIONS(3323),
    [anon_sym_nonmutating] = ACTIONS(3323),
    [anon_sym_static] = ACTIONS(3323),
    [anon_sym_dynamic] = ACTIONS(3323),
    [anon_sym_optional] = ACTIONS(3323),
    [anon_sym_distributed] = ACTIONS(3323),
    [anon_sym_final] = ACTIONS(3323),
    [anon_sym_inout] = ACTIONS(3323),
    [anon_sym_ATescaping] = ACTIONS(3323),
    [anon_sym_ATautoclosure] = ACTIONS(3323),
    [anon_sym_weak] = ACTIONS(3323),
    [anon_sym_unowned] = ACTIONS(3321),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3323),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3323),
    [anon_sym_borrowing] = ACTIONS(3323),
    [anon_sym_consuming] = ACTIONS(3323),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3323),
    [sym__explicit_semi] = ACTIONS(3323),
    [sym__dot_custom] = ACTIONS(3323),
    [sym__conjunction_operator_custom] = ACTIONS(3323),
    [sym__disjunction_operator_custom] = ACTIONS(3323),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3323),
    [sym__eq_custom] = ACTIONS(3323),
    [sym__eq_eq_custom] = ACTIONS(3323),
    [sym__plus_then_ws] = ACTIONS(3323),
    [sym__minus_then_ws] = ACTIONS(3323),
    [sym__bang_custom] = ACTIONS(3323),
    [sym_default_keyword] = ACTIONS(3323),
    [sym_where_keyword] = ACTIONS(3323),
    [sym__as_custom] = ACTIONS(3323),
    [sym__as_quest_custom] = ACTIONS(3323),
    [sym__as_bang_custom] = ACTIONS(3323),
    [sym__custom_operator] = ACTIONS(3323),
  },
  [1277] = {
    [anon_sym_BANG] = ACTIONS(3657),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3659),
    [anon_sym_package] = ACTIONS(3659),
    [anon_sym_COMMA] = ACTIONS(3659),
    [anon_sym_LPAREN] = ACTIONS(3659),
    [anon_sym_LBRACK] = ACTIONS(3659),
    [anon_sym_QMARK] = ACTIONS(3657),
    [anon_sym_QMARK2] = ACTIONS(3659),
    [anon_sym_AMP] = ACTIONS(3659),
    [aux_sym_custom_operator_token1] = ACTIONS(3659),
    [anon_sym_LT] = ACTIONS(3657),
    [anon_sym_GT] = ACTIONS(3657),
    [anon_sym_LBRACE] = ACTIONS(3659),
    [anon_sym_CARET_LBRACE] = ACTIONS(3659),
    [anon_sym_RBRACE] = ACTIONS(3659),
    [anon_sym_case] = ACTIONS(3659),
    [anon_sym_fallthrough] = ACTIONS(3659),
    [anon_sym_PLUS_EQ] = ACTIONS(3659),
    [anon_sym_DASH_EQ] = ACTIONS(3659),
    [anon_sym_STAR_EQ] = ACTIONS(3659),
    [anon_sym_SLASH_EQ] = ACTIONS(3659),
    [anon_sym_PERCENT_EQ] = ACTIONS(3659),
    [anon_sym_BANG_EQ] = ACTIONS(3657),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3659),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3659),
    [anon_sym_LT_EQ] = ACTIONS(3659),
    [anon_sym_GT_EQ] = ACTIONS(3659),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3659),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3659),
    [anon_sym_is] = ACTIONS(3659),
    [anon_sym_PLUS] = ACTIONS(3657),
    [anon_sym_DASH] = ACTIONS(3657),
    [anon_sym_STAR] = ACTIONS(3657),
    [anon_sym_SLASH] = ACTIONS(3657),
    [anon_sym_PERCENT] = ACTIONS(3657),
    [anon_sym_PLUS_PLUS] = ACTIONS(3659),
    [anon_sym_DASH_DASH] = ACTIONS(3659),
    [anon_sym_PIPE] = ACTIONS(3659),
    [anon_sym_CARET] = ACTIONS(3657),
    [anon_sym_LT_LT] = ACTIONS(3659),
    [anon_sym_GT_GT] = ACTIONS(3659),
    [anon_sym_class] = ACTIONS(3659),
    [anon_sym_prefix] = ACTIONS(3659),
    [anon_sym_infix] = ACTIONS(3659),
    [anon_sym_postfix] = ACTIONS(3659),
    [anon_sym_AT] = ACTIONS(3657),
    [anon_sym_override] = ACTIONS(3659),
    [anon_sym_convenience] = ACTIONS(3659),
    [anon_sym_required] = ACTIONS(3659),
    [anon_sym_nonisolated] = ACTIONS(3659),
    [anon_sym_public] = ACTIONS(3659),
    [anon_sym_private] = ACTIONS(3659),
    [anon_sym_internal] = ACTIONS(3659),
    [anon_sym_fileprivate] = ACTIONS(3659),
    [anon_sym_open] = ACTIONS(3659),
    [anon_sym_mutating] = ACTIONS(3659),
    [anon_sym_nonmutating] = ACTIONS(3659),
    [anon_sym_static] = ACTIONS(3659),
    [anon_sym_dynamic] = ACTIONS(3659),
    [anon_sym_optional] = ACTIONS(3659),
    [anon_sym_distributed] = ACTIONS(3659),
    [anon_sym_final] = ACTIONS(3659),
    [anon_sym_inout] = ACTIONS(3659),
    [anon_sym_ATescaping] = ACTIONS(3659),
    [anon_sym_ATautoclosure] = ACTIONS(3659),
    [anon_sym_weak] = ACTIONS(3659),
    [anon_sym_unowned] = ACTIONS(3657),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3659),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3659),
    [anon_sym_borrowing] = ACTIONS(3659),
    [anon_sym_consuming] = ACTIONS(3659),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3659),
    [sym__explicit_semi] = ACTIONS(3659),
    [sym__dot_custom] = ACTIONS(3659),
    [sym__conjunction_operator_custom] = ACTIONS(3659),
    [sym__disjunction_operator_custom] = ACTIONS(3659),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3659),
    [sym__eq_custom] = ACTIONS(3659),
    [sym__eq_eq_custom] = ACTIONS(3659),
    [sym__plus_then_ws] = ACTIONS(3659),
    [sym__minus_then_ws] = ACTIONS(3659),
    [sym__bang_custom] = ACTIONS(3659),
    [sym_default_keyword] = ACTIONS(3659),
    [sym_where_keyword] = ACTIONS(3659),
    [sym__as_custom] = ACTIONS(3659),
    [sym__as_quest_custom] = ACTIONS(3659),
    [sym__as_bang_custom] = ACTIONS(3659),
    [sym__custom_operator] = ACTIONS(3659),
  },
  [1278] = {
    [anon_sym_BANG] = ACTIONS(3653),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3655),
    [anon_sym_package] = ACTIONS(3655),
    [anon_sym_COMMA] = ACTIONS(3655),
    [anon_sym_LPAREN] = ACTIONS(3655),
    [anon_sym_LBRACK] = ACTIONS(3655),
    [anon_sym_QMARK] = ACTIONS(3653),
    [anon_sym_QMARK2] = ACTIONS(3655),
    [anon_sym_AMP] = ACTIONS(3655),
    [aux_sym_custom_operator_token1] = ACTIONS(3655),
    [anon_sym_LT] = ACTIONS(3653),
    [anon_sym_GT] = ACTIONS(3653),
    [anon_sym_LBRACE] = ACTIONS(3655),
    [anon_sym_CARET_LBRACE] = ACTIONS(3655),
    [anon_sym_RBRACE] = ACTIONS(3655),
    [anon_sym_case] = ACTIONS(3655),
    [anon_sym_fallthrough] = ACTIONS(3655),
    [anon_sym_PLUS_EQ] = ACTIONS(3655),
    [anon_sym_DASH_EQ] = ACTIONS(3655),
    [anon_sym_STAR_EQ] = ACTIONS(3655),
    [anon_sym_SLASH_EQ] = ACTIONS(3655),
    [anon_sym_PERCENT_EQ] = ACTIONS(3655),
    [anon_sym_BANG_EQ] = ACTIONS(3653),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3655),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3655),
    [anon_sym_LT_EQ] = ACTIONS(3655),
    [anon_sym_GT_EQ] = ACTIONS(3655),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3655),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3655),
    [anon_sym_is] = ACTIONS(3655),
    [anon_sym_PLUS] = ACTIONS(3653),
    [anon_sym_DASH] = ACTIONS(3653),
    [anon_sym_STAR] = ACTIONS(3653),
    [anon_sym_SLASH] = ACTIONS(3653),
    [anon_sym_PERCENT] = ACTIONS(3653),
    [anon_sym_PLUS_PLUS] = ACTIONS(3655),
    [anon_sym_DASH_DASH] = ACTIONS(3655),
    [anon_sym_PIPE] = ACTIONS(3655),
    [anon_sym_CARET] = ACTIONS(3653),
    [anon_sym_LT_LT] = ACTIONS(3655),
    [anon_sym_GT_GT] = ACTIONS(3655),
    [anon_sym_class] = ACTIONS(3655),
    [anon_sym_prefix] = ACTIONS(3655),
    [anon_sym_infix] = ACTIONS(3655),
    [anon_sym_postfix] = ACTIONS(3655),
    [anon_sym_AT] = ACTIONS(3653),
    [anon_sym_override] = ACTIONS(3655),
    [anon_sym_convenience] = ACTIONS(3655),
    [anon_sym_required] = ACTIONS(3655),
    [anon_sym_nonisolated] = ACTIONS(3655),
    [anon_sym_public] = ACTIONS(3655),
    [anon_sym_private] = ACTIONS(3655),
    [anon_sym_internal] = ACTIONS(3655),
    [anon_sym_fileprivate] = ACTIONS(3655),
    [anon_sym_open] = ACTIONS(3655),
    [anon_sym_mutating] = ACTIONS(3655),
    [anon_sym_nonmutating] = ACTIONS(3655),
    [anon_sym_static] = ACTIONS(3655),
    [anon_sym_dynamic] = ACTIONS(3655),
    [anon_sym_optional] = ACTIONS(3655),
    [anon_sym_distributed] = ACTIONS(3655),
    [anon_sym_final] = ACTIONS(3655),
    [anon_sym_inout] = ACTIONS(3655),
    [anon_sym_ATescaping] = ACTIONS(3655),
    [anon_sym_ATautoclosure] = ACTIONS(3655),
    [anon_sym_weak] = ACTIONS(3655),
    [anon_sym_unowned] = ACTIONS(3653),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3655),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3655),
    [anon_sym_borrowing] = ACTIONS(3655),
    [anon_sym_consuming] = ACTIONS(3655),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3655),
    [sym__explicit_semi] = ACTIONS(3655),
    [sym__dot_custom] = ACTIONS(3655),
    [sym__conjunction_operator_custom] = ACTIONS(3655),
    [sym__disjunction_operator_custom] = ACTIONS(3655),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3655),
    [sym__eq_custom] = ACTIONS(3655),
    [sym__eq_eq_custom] = ACTIONS(3655),
    [sym__plus_then_ws] = ACTIONS(3655),
    [sym__minus_then_ws] = ACTIONS(3655),
    [sym__bang_custom] = ACTIONS(3655),
    [sym_default_keyword] = ACTIONS(3655),
    [sym_where_keyword] = ACTIONS(3655),
    [sym__as_custom] = ACTIONS(3655),
    [sym__as_quest_custom] = ACTIONS(3655),
    [sym__as_bang_custom] = ACTIONS(3655),
    [sym__custom_operator] = ACTIONS(3655),
  },
  [1279] = {
    [anon_sym_BANG] = ACTIONS(3481),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3483),
    [anon_sym_package] = ACTIONS(3483),
    [anon_sym_COMMA] = ACTIONS(3483),
    [anon_sym_LPAREN] = ACTIONS(3483),
    [anon_sym_LBRACK] = ACTIONS(3483),
    [anon_sym_QMARK] = ACTIONS(3481),
    [anon_sym_QMARK2] = ACTIONS(3483),
    [anon_sym_AMP] = ACTIONS(3483),
    [aux_sym_custom_operator_token1] = ACTIONS(3483),
    [anon_sym_LT] = ACTIONS(3481),
    [anon_sym_GT] = ACTIONS(3481),
    [anon_sym_LBRACE] = ACTIONS(3483),
    [anon_sym_CARET_LBRACE] = ACTIONS(3483),
    [anon_sym_RBRACE] = ACTIONS(3483),
    [anon_sym_case] = ACTIONS(3483),
    [anon_sym_fallthrough] = ACTIONS(3483),
    [anon_sym_PLUS_EQ] = ACTIONS(3483),
    [anon_sym_DASH_EQ] = ACTIONS(3483),
    [anon_sym_STAR_EQ] = ACTIONS(3483),
    [anon_sym_SLASH_EQ] = ACTIONS(3483),
    [anon_sym_PERCENT_EQ] = ACTIONS(3483),
    [anon_sym_BANG_EQ] = ACTIONS(3481),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3483),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3483),
    [anon_sym_LT_EQ] = ACTIONS(3483),
    [anon_sym_GT_EQ] = ACTIONS(3483),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3483),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3483),
    [anon_sym_is] = ACTIONS(3483),
    [anon_sym_PLUS] = ACTIONS(3481),
    [anon_sym_DASH] = ACTIONS(3481),
    [anon_sym_STAR] = ACTIONS(3481),
    [anon_sym_SLASH] = ACTIONS(3481),
    [anon_sym_PERCENT] = ACTIONS(3481),
    [anon_sym_PLUS_PLUS] = ACTIONS(3483),
    [anon_sym_DASH_DASH] = ACTIONS(3483),
    [anon_sym_PIPE] = ACTIONS(3483),
    [anon_sym_CARET] = ACTIONS(3481),
    [anon_sym_LT_LT] = ACTIONS(3483),
    [anon_sym_GT_GT] = ACTIONS(3483),
    [anon_sym_class] = ACTIONS(3483),
    [anon_sym_prefix] = ACTIONS(3483),
    [anon_sym_infix] = ACTIONS(3483),
    [anon_sym_postfix] = ACTIONS(3483),
    [anon_sym_AT] = ACTIONS(3481),
    [anon_sym_override] = ACTIONS(3483),
    [anon_sym_convenience] = ACTIONS(3483),
    [anon_sym_required] = ACTIONS(3483),
    [anon_sym_nonisolated] = ACTIONS(3483),
    [anon_sym_public] = ACTIONS(3483),
    [anon_sym_private] = ACTIONS(3483),
    [anon_sym_internal] = ACTIONS(3483),
    [anon_sym_fileprivate] = ACTIONS(3483),
    [anon_sym_open] = ACTIONS(3483),
    [anon_sym_mutating] = ACTIONS(3483),
    [anon_sym_nonmutating] = ACTIONS(3483),
    [anon_sym_static] = ACTIONS(3483),
    [anon_sym_dynamic] = ACTIONS(3483),
    [anon_sym_optional] = ACTIONS(3483),
    [anon_sym_distributed] = ACTIONS(3483),
    [anon_sym_final] = ACTIONS(3483),
    [anon_sym_inout] = ACTIONS(3483),
    [anon_sym_ATescaping] = ACTIONS(3483),
    [anon_sym_ATautoclosure] = ACTIONS(3483),
    [anon_sym_weak] = ACTIONS(3483),
    [anon_sym_unowned] = ACTIONS(3481),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3483),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3483),
    [anon_sym_borrowing] = ACTIONS(3483),
    [anon_sym_consuming] = ACTIONS(3483),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3483),
    [sym__explicit_semi] = ACTIONS(3483),
    [sym__dot_custom] = ACTIONS(3483),
    [sym__conjunction_operator_custom] = ACTIONS(3483),
    [sym__disjunction_operator_custom] = ACTIONS(3483),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3483),
    [sym__eq_custom] = ACTIONS(3483),
    [sym__eq_eq_custom] = ACTIONS(3483),
    [sym__plus_then_ws] = ACTIONS(3483),
    [sym__minus_then_ws] = ACTIONS(3483),
    [sym__bang_custom] = ACTIONS(3483),
    [sym_default_keyword] = ACTIONS(3483),
    [sym_where_keyword] = ACTIONS(3483),
    [sym__as_custom] = ACTIONS(3483),
    [sym__as_quest_custom] = ACTIONS(3483),
    [sym__as_bang_custom] = ACTIONS(3483),
    [sym__custom_operator] = ACTIONS(3483),
  },
  [1280] = {
    [anon_sym_BANG] = ACTIONS(2673),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2676),
    [aux_sym_simple_identifier_token2] = ACTIONS(2678),
    [aux_sym_simple_identifier_token3] = ACTIONS(2678),
    [aux_sym_simple_identifier_token4] = ACTIONS(2678),
    [anon_sym_actor] = ACTIONS(2676),
    [anon_sym_async] = ACTIONS(2676),
    [anon_sym_each] = ACTIONS(2676),
    [anon_sym_lazy] = ACTIONS(2676),
    [anon_sym_repeat] = ACTIONS(2676),
    [anon_sym_package] = ACTIONS(2676),
    [anon_sym_nil] = ACTIONS(2676),
    [sym_real_literal] = ACTIONS(2678),
    [sym_integer_literal] = ACTIONS(2676),
    [sym_hex_literal] = ACTIONS(2676),
    [sym_oct_literal] = ACTIONS(2678),
    [sym_bin_literal] = ACTIONS(2678),
    [anon_sym_true] = ACTIONS(2676),
    [anon_sym_false] = ACTIONS(2676),
    [anon_sym_DQUOTE] = ACTIONS(2676),
    [anon_sym_BSLASH] = ACTIONS(2678),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2678),
    [anon_sym_COMMA] = ACTIONS(2680),
    [sym__oneline_regex_literal] = ACTIONS(2676),
    [anon_sym_LPAREN] = ACTIONS(2682),
    [anon_sym_LBRACK] = ACTIONS(2682),
    [anon_sym_QMARK] = ACTIONS(2685),
    [anon_sym_QMARK2] = ACTIONS(2680),
    [anon_sym_AMP] = ACTIONS(2682),
    [anon_sym_TILDE] = ACTIONS(2678),
    [anon_sym_if] = ACTIONS(2676),
    [anon_sym_switch] = ACTIONS(2676),
    [aux_sym_custom_operator_token1] = ACTIONS(2682),
    [anon_sym_LT] = ACTIONS(2673),
    [anon_sym_GT] = ACTIONS(2673),
    [anon_sym_await] = ACTIONS(2676),
    [anon_sym_LBRACE] = ACTIONS(2682),
    [anon_sym_CARET_LBRACE] = ACTIONS(2682),
    [anon_sym_self] = ACTIONS(2676),
    [anon_sym_super] = ACTIONS(2676),
    [anon_sym_try] = ACTIONS(2676),
    [anon_sym_PLUS_EQ] = ACTIONS(2682),
    [anon_sym_DASH_EQ] = ACTIONS(2682),
    [anon_sym_STAR_EQ] = ACTIONS(2682),
    [anon_sym_SLASH_EQ] = ACTIONS(2682),
    [anon_sym_PERCENT_EQ] = ACTIONS(2682),
    [anon_sym_BANG_EQ] = ACTIONS(2673),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2682),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2682),
    [anon_sym_LT_EQ] = ACTIONS(2682),
    [anon_sym_GT_EQ] = ACTIONS(2682),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2682),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2682),
    [anon_sym_is] = ACTIONS(2685),
    [anon_sym_PLUS] = ACTIONS(2673),
    [anon_sym_DASH] = ACTIONS(2673),
    [anon_sym_STAR] = ACTIONS(2673),
    [anon_sym_SLASH] = ACTIONS(2673),
    [anon_sym_PERCENT] = ACTIONS(2673),
    [anon_sym_PLUS_PLUS] = ACTIONS(2682),
    [anon_sym_DASH_DASH] = ACTIONS(2682),
    [anon_sym_PIPE] = ACTIONS(2682),
    [anon_sym_CARET] = ACTIONS(2673),
    [anon_sym_LT_LT] = ACTIONS(2682),
    [anon_sym_GT_GT] = ACTIONS(2682),
    [anon_sym_borrowing] = ACTIONS(2676),
    [anon_sym_consuming] = ACTIONS(2676),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2678),
    [sym_raw_str_end_part] = ACTIONS(2678),
    [sym__dot_custom] = ACTIONS(2682),
    [sym__conjunction_operator_custom] = ACTIONS(2680),
    [sym__disjunction_operator_custom] = ACTIONS(2680),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2680),
    [sym__eq_custom] = ACTIONS(2682),
    [sym__eq_eq_custom] = ACTIONS(2682),
    [sym__plus_then_ws] = ACTIONS(2682),
    [sym__minus_then_ws] = ACTIONS(2682),
    [sym__bang_custom] = ACTIONS(2682),
    [sym_else] = ACTIONS(2680),
    [sym__as_custom] = ACTIONS(2680),
    [sym__as_quest_custom] = ACTIONS(2680),
    [sym__as_bang_custom] = ACTIONS(2680),
    [sym__custom_operator] = ACTIONS(2682),
    [sym__hash_symbol_custom] = ACTIONS(2678),
    [sym__directive_if] = ACTIONS(2678),
    [sym__directive_elseif] = ACTIONS(2678),
    [sym__directive_else] = ACTIONS(2678),
    [sym__directive_endif] = ACTIONS(2678),
  },
  [1281] = {
    [anon_sym_BANG] = ACTIONS(3649),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3651),
    [anon_sym_package] = ACTIONS(3651),
    [anon_sym_COMMA] = ACTIONS(3651),
    [anon_sym_LPAREN] = ACTIONS(3651),
    [anon_sym_LBRACK] = ACTIONS(3651),
    [anon_sym_QMARK] = ACTIONS(3649),
    [anon_sym_QMARK2] = ACTIONS(3651),
    [anon_sym_AMP] = ACTIONS(3651),
    [aux_sym_custom_operator_token1] = ACTIONS(3651),
    [anon_sym_LT] = ACTIONS(3649),
    [anon_sym_GT] = ACTIONS(3649),
    [anon_sym_LBRACE] = ACTIONS(3651),
    [anon_sym_CARET_LBRACE] = ACTIONS(3651),
    [anon_sym_RBRACE] = ACTIONS(3651),
    [anon_sym_case] = ACTIONS(3651),
    [anon_sym_fallthrough] = ACTIONS(3651),
    [anon_sym_PLUS_EQ] = ACTIONS(3651),
    [anon_sym_DASH_EQ] = ACTIONS(3651),
    [anon_sym_STAR_EQ] = ACTIONS(3651),
    [anon_sym_SLASH_EQ] = ACTIONS(3651),
    [anon_sym_PERCENT_EQ] = ACTIONS(3651),
    [anon_sym_BANG_EQ] = ACTIONS(3649),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3651),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3651),
    [anon_sym_LT_EQ] = ACTIONS(3651),
    [anon_sym_GT_EQ] = ACTIONS(3651),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3651),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3651),
    [anon_sym_is] = ACTIONS(3651),
    [anon_sym_PLUS] = ACTIONS(3649),
    [anon_sym_DASH] = ACTIONS(3649),
    [anon_sym_STAR] = ACTIONS(3649),
    [anon_sym_SLASH] = ACTIONS(3649),
    [anon_sym_PERCENT] = ACTIONS(3649),
    [anon_sym_PLUS_PLUS] = ACTIONS(3651),
    [anon_sym_DASH_DASH] = ACTIONS(3651),
    [anon_sym_PIPE] = ACTIONS(3651),
    [anon_sym_CARET] = ACTIONS(3649),
    [anon_sym_LT_LT] = ACTIONS(3651),
    [anon_sym_GT_GT] = ACTIONS(3651),
    [anon_sym_class] = ACTIONS(3651),
    [anon_sym_prefix] = ACTIONS(3651),
    [anon_sym_infix] = ACTIONS(3651),
    [anon_sym_postfix] = ACTIONS(3651),
    [anon_sym_AT] = ACTIONS(3649),
    [anon_sym_override] = ACTIONS(3651),
    [anon_sym_convenience] = ACTIONS(3651),
    [anon_sym_required] = ACTIONS(3651),
    [anon_sym_nonisolated] = ACTIONS(3651),
    [anon_sym_public] = ACTIONS(3651),
    [anon_sym_private] = ACTIONS(3651),
    [anon_sym_internal] = ACTIONS(3651),
    [anon_sym_fileprivate] = ACTIONS(3651),
    [anon_sym_open] = ACTIONS(3651),
    [anon_sym_mutating] = ACTIONS(3651),
    [anon_sym_nonmutating] = ACTIONS(3651),
    [anon_sym_static] = ACTIONS(3651),
    [anon_sym_dynamic] = ACTIONS(3651),
    [anon_sym_optional] = ACTIONS(3651),
    [anon_sym_distributed] = ACTIONS(3651),
    [anon_sym_final] = ACTIONS(3651),
    [anon_sym_inout] = ACTIONS(3651),
    [anon_sym_ATescaping] = ACTIONS(3651),
    [anon_sym_ATautoclosure] = ACTIONS(3651),
    [anon_sym_weak] = ACTIONS(3651),
    [anon_sym_unowned] = ACTIONS(3649),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3651),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3651),
    [anon_sym_borrowing] = ACTIONS(3651),
    [anon_sym_consuming] = ACTIONS(3651),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3651),
    [sym__explicit_semi] = ACTIONS(3651),
    [sym__dot_custom] = ACTIONS(3651),
    [sym__conjunction_operator_custom] = ACTIONS(3651),
    [sym__disjunction_operator_custom] = ACTIONS(3651),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3651),
    [sym__eq_custom] = ACTIONS(3651),
    [sym__eq_eq_custom] = ACTIONS(3651),
    [sym__plus_then_ws] = ACTIONS(3651),
    [sym__minus_then_ws] = ACTIONS(3651),
    [sym__bang_custom] = ACTIONS(3651),
    [sym_default_keyword] = ACTIONS(3651),
    [sym_where_keyword] = ACTIONS(3651),
    [sym__as_custom] = ACTIONS(3651),
    [sym__as_quest_custom] = ACTIONS(3651),
    [sym__as_bang_custom] = ACTIONS(3651),
    [sym__custom_operator] = ACTIONS(3651),
  },
  [1282] = {
    [anon_sym_BANG] = ACTIONS(3641),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3643),
    [anon_sym_package] = ACTIONS(3643),
    [anon_sym_COMMA] = ACTIONS(3643),
    [anon_sym_LPAREN] = ACTIONS(3643),
    [anon_sym_LBRACK] = ACTIONS(3643),
    [anon_sym_QMARK] = ACTIONS(3641),
    [anon_sym_QMARK2] = ACTIONS(3643),
    [anon_sym_AMP] = ACTIONS(3643),
    [aux_sym_custom_operator_token1] = ACTIONS(3643),
    [anon_sym_LT] = ACTIONS(3641),
    [anon_sym_GT] = ACTIONS(3641),
    [anon_sym_LBRACE] = ACTIONS(3643),
    [anon_sym_CARET_LBRACE] = ACTIONS(3643),
    [anon_sym_RBRACE] = ACTIONS(3643),
    [anon_sym_case] = ACTIONS(3643),
    [anon_sym_fallthrough] = ACTIONS(3643),
    [anon_sym_PLUS_EQ] = ACTIONS(3643),
    [anon_sym_DASH_EQ] = ACTIONS(3643),
    [anon_sym_STAR_EQ] = ACTIONS(3643),
    [anon_sym_SLASH_EQ] = ACTIONS(3643),
    [anon_sym_PERCENT_EQ] = ACTIONS(3643),
    [anon_sym_BANG_EQ] = ACTIONS(3641),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3643),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3643),
    [anon_sym_LT_EQ] = ACTIONS(3643),
    [anon_sym_GT_EQ] = ACTIONS(3643),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3643),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3643),
    [anon_sym_is] = ACTIONS(3643),
    [anon_sym_PLUS] = ACTIONS(3641),
    [anon_sym_DASH] = ACTIONS(3641),
    [anon_sym_STAR] = ACTIONS(3641),
    [anon_sym_SLASH] = ACTIONS(3641),
    [anon_sym_PERCENT] = ACTIONS(3641),
    [anon_sym_PLUS_PLUS] = ACTIONS(3643),
    [anon_sym_DASH_DASH] = ACTIONS(3643),
    [anon_sym_PIPE] = ACTIONS(3643),
    [anon_sym_CARET] = ACTIONS(3641),
    [anon_sym_LT_LT] = ACTIONS(3643),
    [anon_sym_GT_GT] = ACTIONS(3643),
    [anon_sym_class] = ACTIONS(3643),
    [anon_sym_prefix] = ACTIONS(3643),
    [anon_sym_infix] = ACTIONS(3643),
    [anon_sym_postfix] = ACTIONS(3643),
    [anon_sym_AT] = ACTIONS(3641),
    [anon_sym_override] = ACTIONS(3643),
    [anon_sym_convenience] = ACTIONS(3643),
    [anon_sym_required] = ACTIONS(3643),
    [anon_sym_nonisolated] = ACTIONS(3643),
    [anon_sym_public] = ACTIONS(3643),
    [anon_sym_private] = ACTIONS(3643),
    [anon_sym_internal] = ACTIONS(3643),
    [anon_sym_fileprivate] = ACTIONS(3643),
    [anon_sym_open] = ACTIONS(3643),
    [anon_sym_mutating] = ACTIONS(3643),
    [anon_sym_nonmutating] = ACTIONS(3643),
    [anon_sym_static] = ACTIONS(3643),
    [anon_sym_dynamic] = ACTIONS(3643),
    [anon_sym_optional] = ACTIONS(3643),
    [anon_sym_distributed] = ACTIONS(3643),
    [anon_sym_final] = ACTIONS(3643),
    [anon_sym_inout] = ACTIONS(3643),
    [anon_sym_ATescaping] = ACTIONS(3643),
    [anon_sym_ATautoclosure] = ACTIONS(3643),
    [anon_sym_weak] = ACTIONS(3643),
    [anon_sym_unowned] = ACTIONS(3641),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3643),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3643),
    [anon_sym_borrowing] = ACTIONS(3643),
    [anon_sym_consuming] = ACTIONS(3643),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3643),
    [sym__explicit_semi] = ACTIONS(3643),
    [sym__dot_custom] = ACTIONS(3643),
    [sym__conjunction_operator_custom] = ACTIONS(3643),
    [sym__disjunction_operator_custom] = ACTIONS(3643),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3643),
    [sym__eq_custom] = ACTIONS(3643),
    [sym__eq_eq_custom] = ACTIONS(3643),
    [sym__plus_then_ws] = ACTIONS(3643),
    [sym__minus_then_ws] = ACTIONS(3643),
    [sym__bang_custom] = ACTIONS(3643),
    [sym_default_keyword] = ACTIONS(3643),
    [sym_where_keyword] = ACTIONS(3643),
    [sym__as_custom] = ACTIONS(3643),
    [sym__as_quest_custom] = ACTIONS(3643),
    [sym__as_bang_custom] = ACTIONS(3643),
    [sym__custom_operator] = ACTIONS(3643),
  },
  [1283] = {
    [anon_sym_BANG] = ACTIONS(3637),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3639),
    [anon_sym_package] = ACTIONS(3639),
    [anon_sym_COMMA] = ACTIONS(3639),
    [anon_sym_LPAREN] = ACTIONS(3639),
    [anon_sym_LBRACK] = ACTIONS(3639),
    [anon_sym_QMARK] = ACTIONS(3637),
    [anon_sym_QMARK2] = ACTIONS(3639),
    [anon_sym_AMP] = ACTIONS(3639),
    [aux_sym_custom_operator_token1] = ACTIONS(3639),
    [anon_sym_LT] = ACTIONS(3637),
    [anon_sym_GT] = ACTIONS(3637),
    [anon_sym_LBRACE] = ACTIONS(3639),
    [anon_sym_CARET_LBRACE] = ACTIONS(3639),
    [anon_sym_RBRACE] = ACTIONS(3639),
    [anon_sym_case] = ACTIONS(3639),
    [anon_sym_fallthrough] = ACTIONS(3639),
    [anon_sym_PLUS_EQ] = ACTIONS(3639),
    [anon_sym_DASH_EQ] = ACTIONS(3639),
    [anon_sym_STAR_EQ] = ACTIONS(3639),
    [anon_sym_SLASH_EQ] = ACTIONS(3639),
    [anon_sym_PERCENT_EQ] = ACTIONS(3639),
    [anon_sym_BANG_EQ] = ACTIONS(3637),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3639),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3639),
    [anon_sym_LT_EQ] = ACTIONS(3639),
    [anon_sym_GT_EQ] = ACTIONS(3639),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3639),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3639),
    [anon_sym_is] = ACTIONS(3639),
    [anon_sym_PLUS] = ACTIONS(3637),
    [anon_sym_DASH] = ACTIONS(3637),
    [anon_sym_STAR] = ACTIONS(3637),
    [anon_sym_SLASH] = ACTIONS(3637),
    [anon_sym_PERCENT] = ACTIONS(3637),
    [anon_sym_PLUS_PLUS] = ACTIONS(3639),
    [anon_sym_DASH_DASH] = ACTIONS(3639),
    [anon_sym_PIPE] = ACTIONS(3639),
    [anon_sym_CARET] = ACTIONS(3637),
    [anon_sym_LT_LT] = ACTIONS(3639),
    [anon_sym_GT_GT] = ACTIONS(3639),
    [anon_sym_class] = ACTIONS(3639),
    [anon_sym_prefix] = ACTIONS(3639),
    [anon_sym_infix] = ACTIONS(3639),
    [anon_sym_postfix] = ACTIONS(3639),
    [anon_sym_AT] = ACTIONS(3637),
    [anon_sym_override] = ACTIONS(3639),
    [anon_sym_convenience] = ACTIONS(3639),
    [anon_sym_required] = ACTIONS(3639),
    [anon_sym_nonisolated] = ACTIONS(3639),
    [anon_sym_public] = ACTIONS(3639),
    [anon_sym_private] = ACTIONS(3639),
    [anon_sym_internal] = ACTIONS(3639),
    [anon_sym_fileprivate] = ACTIONS(3639),
    [anon_sym_open] = ACTIONS(3639),
    [anon_sym_mutating] = ACTIONS(3639),
    [anon_sym_nonmutating] = ACTIONS(3639),
    [anon_sym_static] = ACTIONS(3639),
    [anon_sym_dynamic] = ACTIONS(3639),
    [anon_sym_optional] = ACTIONS(3639),
    [anon_sym_distributed] = ACTIONS(3639),
    [anon_sym_final] = ACTIONS(3639),
    [anon_sym_inout] = ACTIONS(3639),
    [anon_sym_ATescaping] = ACTIONS(3639),
    [anon_sym_ATautoclosure] = ACTIONS(3639),
    [anon_sym_weak] = ACTIONS(3639),
    [anon_sym_unowned] = ACTIONS(3637),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3639),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3639),
    [anon_sym_borrowing] = ACTIONS(3639),
    [anon_sym_consuming] = ACTIONS(3639),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3639),
    [sym__explicit_semi] = ACTIONS(3639),
    [sym__dot_custom] = ACTIONS(3639),
    [sym__conjunction_operator_custom] = ACTIONS(3639),
    [sym__disjunction_operator_custom] = ACTIONS(3639),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3639),
    [sym__eq_custom] = ACTIONS(3639),
    [sym__eq_eq_custom] = ACTIONS(3639),
    [sym__plus_then_ws] = ACTIONS(3639),
    [sym__minus_then_ws] = ACTIONS(3639),
    [sym__bang_custom] = ACTIONS(3639),
    [sym_default_keyword] = ACTIONS(3639),
    [sym_where_keyword] = ACTIONS(3639),
    [sym__as_custom] = ACTIONS(3639),
    [sym__as_quest_custom] = ACTIONS(3639),
    [sym__as_bang_custom] = ACTIONS(3639),
    [sym__custom_operator] = ACTIONS(3639),
  },
  [1284] = {
    [anon_sym_BANG] = ACTIONS(3565),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3567),
    [anon_sym_package] = ACTIONS(3567),
    [anon_sym_COMMA] = ACTIONS(3567),
    [anon_sym_LPAREN] = ACTIONS(3567),
    [anon_sym_LBRACK] = ACTIONS(3567),
    [anon_sym_QMARK] = ACTIONS(3565),
    [anon_sym_QMARK2] = ACTIONS(3567),
    [anon_sym_AMP] = ACTIONS(3567),
    [aux_sym_custom_operator_token1] = ACTIONS(3567),
    [anon_sym_LT] = ACTIONS(3565),
    [anon_sym_GT] = ACTIONS(3565),
    [anon_sym_LBRACE] = ACTIONS(3567),
    [anon_sym_CARET_LBRACE] = ACTIONS(3567),
    [anon_sym_RBRACE] = ACTIONS(3567),
    [anon_sym_case] = ACTIONS(3567),
    [anon_sym_fallthrough] = ACTIONS(3567),
    [anon_sym_PLUS_EQ] = ACTIONS(3567),
    [anon_sym_DASH_EQ] = ACTIONS(3567),
    [anon_sym_STAR_EQ] = ACTIONS(3567),
    [anon_sym_SLASH_EQ] = ACTIONS(3567),
    [anon_sym_PERCENT_EQ] = ACTIONS(3567),
    [anon_sym_BANG_EQ] = ACTIONS(3565),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3567),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3567),
    [anon_sym_LT_EQ] = ACTIONS(3567),
    [anon_sym_GT_EQ] = ACTIONS(3567),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3567),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3567),
    [anon_sym_is] = ACTIONS(3567),
    [anon_sym_PLUS] = ACTIONS(3565),
    [anon_sym_DASH] = ACTIONS(3565),
    [anon_sym_STAR] = ACTIONS(3565),
    [anon_sym_SLASH] = ACTIONS(3565),
    [anon_sym_PERCENT] = ACTIONS(3565),
    [anon_sym_PLUS_PLUS] = ACTIONS(3567),
    [anon_sym_DASH_DASH] = ACTIONS(3567),
    [anon_sym_PIPE] = ACTIONS(3567),
    [anon_sym_CARET] = ACTIONS(3565),
    [anon_sym_LT_LT] = ACTIONS(3567),
    [anon_sym_GT_GT] = ACTIONS(3567),
    [anon_sym_class] = ACTIONS(3567),
    [anon_sym_prefix] = ACTIONS(3567),
    [anon_sym_infix] = ACTIONS(3567),
    [anon_sym_postfix] = ACTIONS(3567),
    [anon_sym_AT] = ACTIONS(3565),
    [anon_sym_override] = ACTIONS(3567),
    [anon_sym_convenience] = ACTIONS(3567),
    [anon_sym_required] = ACTIONS(3567),
    [anon_sym_nonisolated] = ACTIONS(3567),
    [anon_sym_public] = ACTIONS(3567),
    [anon_sym_private] = ACTIONS(3567),
    [anon_sym_internal] = ACTIONS(3567),
    [anon_sym_fileprivate] = ACTIONS(3567),
    [anon_sym_open] = ACTIONS(3567),
    [anon_sym_mutating] = ACTIONS(3567),
    [anon_sym_nonmutating] = ACTIONS(3567),
    [anon_sym_static] = ACTIONS(3567),
    [anon_sym_dynamic] = ACTIONS(3567),
    [anon_sym_optional] = ACTIONS(3567),
    [anon_sym_distributed] = ACTIONS(3567),
    [anon_sym_final] = ACTIONS(3567),
    [anon_sym_inout] = ACTIONS(3567),
    [anon_sym_ATescaping] = ACTIONS(3567),
    [anon_sym_ATautoclosure] = ACTIONS(3567),
    [anon_sym_weak] = ACTIONS(3567),
    [anon_sym_unowned] = ACTIONS(3565),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3567),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3567),
    [anon_sym_borrowing] = ACTIONS(3567),
    [anon_sym_consuming] = ACTIONS(3567),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3567),
    [sym__explicit_semi] = ACTIONS(3567),
    [sym__dot_custom] = ACTIONS(3567),
    [sym__conjunction_operator_custom] = ACTIONS(3567),
    [sym__disjunction_operator_custom] = ACTIONS(3567),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3567),
    [sym__eq_custom] = ACTIONS(3567),
    [sym__eq_eq_custom] = ACTIONS(3567),
    [sym__plus_then_ws] = ACTIONS(3567),
    [sym__minus_then_ws] = ACTIONS(3567),
    [sym__bang_custom] = ACTIONS(3567),
    [sym_default_keyword] = ACTIONS(3567),
    [sym_where_keyword] = ACTIONS(3567),
    [sym__as_custom] = ACTIONS(3567),
    [sym__as_quest_custom] = ACTIONS(3567),
    [sym__as_bang_custom] = ACTIONS(3567),
    [sym__custom_operator] = ACTIONS(3567),
  },
  [1285] = {
    [anon_sym_BANG] = ACTIONS(3190),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3192),
    [anon_sym_package] = ACTIONS(3192),
    [anon_sym_COMMA] = ACTIONS(3192),
    [anon_sym_LPAREN] = ACTIONS(3192),
    [anon_sym_LBRACK] = ACTIONS(3192),
    [anon_sym_QMARK] = ACTIONS(3190),
    [anon_sym_QMARK2] = ACTIONS(3192),
    [anon_sym_AMP] = ACTIONS(3192),
    [aux_sym_custom_operator_token1] = ACTIONS(3192),
    [anon_sym_LT] = ACTIONS(3190),
    [anon_sym_GT] = ACTIONS(3190),
    [anon_sym_LBRACE] = ACTIONS(3192),
    [anon_sym_CARET_LBRACE] = ACTIONS(3192),
    [anon_sym_RBRACE] = ACTIONS(3192),
    [anon_sym_case] = ACTIONS(3192),
    [anon_sym_fallthrough] = ACTIONS(3192),
    [anon_sym_PLUS_EQ] = ACTIONS(3192),
    [anon_sym_DASH_EQ] = ACTIONS(3192),
    [anon_sym_STAR_EQ] = ACTIONS(3192),
    [anon_sym_SLASH_EQ] = ACTIONS(3192),
    [anon_sym_PERCENT_EQ] = ACTIONS(3192),
    [anon_sym_BANG_EQ] = ACTIONS(3190),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3192),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3192),
    [anon_sym_LT_EQ] = ACTIONS(3192),
    [anon_sym_GT_EQ] = ACTIONS(3192),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3192),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3192),
    [anon_sym_is] = ACTIONS(3192),
    [anon_sym_PLUS] = ACTIONS(3190),
    [anon_sym_DASH] = ACTIONS(3190),
    [anon_sym_STAR] = ACTIONS(3190),
    [anon_sym_SLASH] = ACTIONS(3190),
    [anon_sym_PERCENT] = ACTIONS(3190),
    [anon_sym_PLUS_PLUS] = ACTIONS(3192),
    [anon_sym_DASH_DASH] = ACTIONS(3192),
    [anon_sym_PIPE] = ACTIONS(3192),
    [anon_sym_CARET] = ACTIONS(3190),
    [anon_sym_LT_LT] = ACTIONS(3192),
    [anon_sym_GT_GT] = ACTIONS(3192),
    [anon_sym_class] = ACTIONS(3192),
    [anon_sym_prefix] = ACTIONS(3192),
    [anon_sym_infix] = ACTIONS(3192),
    [anon_sym_postfix] = ACTIONS(3192),
    [anon_sym_AT] = ACTIONS(3190),
    [anon_sym_override] = ACTIONS(3192),
    [anon_sym_convenience] = ACTIONS(3192),
    [anon_sym_required] = ACTIONS(3192),
    [anon_sym_nonisolated] = ACTIONS(3192),
    [anon_sym_public] = ACTIONS(3192),
    [anon_sym_private] = ACTIONS(3192),
    [anon_sym_internal] = ACTIONS(3192),
    [anon_sym_fileprivate] = ACTIONS(3192),
    [anon_sym_open] = ACTIONS(3192),
    [anon_sym_mutating] = ACTIONS(3192),
    [anon_sym_nonmutating] = ACTIONS(3192),
    [anon_sym_static] = ACTIONS(3192),
    [anon_sym_dynamic] = ACTIONS(3192),
    [anon_sym_optional] = ACTIONS(3192),
    [anon_sym_distributed] = ACTIONS(3192),
    [anon_sym_final] = ACTIONS(3192),
    [anon_sym_inout] = ACTIONS(3192),
    [anon_sym_ATescaping] = ACTIONS(3192),
    [anon_sym_ATautoclosure] = ACTIONS(3192),
    [anon_sym_weak] = ACTIONS(3192),
    [anon_sym_unowned] = ACTIONS(3190),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3192),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3192),
    [anon_sym_borrowing] = ACTIONS(3192),
    [anon_sym_consuming] = ACTIONS(3192),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3192),
    [sym__explicit_semi] = ACTIONS(3192),
    [sym__dot_custom] = ACTIONS(3192),
    [sym__conjunction_operator_custom] = ACTIONS(3192),
    [sym__disjunction_operator_custom] = ACTIONS(3192),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3192),
    [sym__eq_custom] = ACTIONS(3192),
    [sym__eq_eq_custom] = ACTIONS(3192),
    [sym__plus_then_ws] = ACTIONS(3192),
    [sym__minus_then_ws] = ACTIONS(3192),
    [sym__bang_custom] = ACTIONS(3192),
    [sym_default_keyword] = ACTIONS(3192),
    [sym_where_keyword] = ACTIONS(3192),
    [sym__as_custom] = ACTIONS(3192),
    [sym__as_quest_custom] = ACTIONS(3192),
    [sym__as_bang_custom] = ACTIONS(3192),
    [sym__custom_operator] = ACTIONS(3192),
  },
  [1286] = {
    [anon_sym_BANG] = ACTIONS(3465),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3467),
    [anon_sym_package] = ACTIONS(3467),
    [anon_sym_COMMA] = ACTIONS(3467),
    [anon_sym_LPAREN] = ACTIONS(3467),
    [anon_sym_LBRACK] = ACTIONS(3467),
    [anon_sym_QMARK] = ACTIONS(3465),
    [anon_sym_QMARK2] = ACTIONS(3467),
    [anon_sym_AMP] = ACTIONS(3467),
    [aux_sym_custom_operator_token1] = ACTIONS(3467),
    [anon_sym_LT] = ACTIONS(3465),
    [anon_sym_GT] = ACTIONS(3465),
    [anon_sym_LBRACE] = ACTIONS(3467),
    [anon_sym_CARET_LBRACE] = ACTIONS(3467),
    [anon_sym_RBRACE] = ACTIONS(3467),
    [anon_sym_case] = ACTIONS(3467),
    [anon_sym_fallthrough] = ACTIONS(3467),
    [anon_sym_PLUS_EQ] = ACTIONS(3467),
    [anon_sym_DASH_EQ] = ACTIONS(3467),
    [anon_sym_STAR_EQ] = ACTIONS(3467),
    [anon_sym_SLASH_EQ] = ACTIONS(3467),
    [anon_sym_PERCENT_EQ] = ACTIONS(3467),
    [anon_sym_BANG_EQ] = ACTIONS(3465),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3467),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3467),
    [anon_sym_LT_EQ] = ACTIONS(3467),
    [anon_sym_GT_EQ] = ACTIONS(3467),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3467),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3467),
    [anon_sym_is] = ACTIONS(3467),
    [anon_sym_PLUS] = ACTIONS(3465),
    [anon_sym_DASH] = ACTIONS(3465),
    [anon_sym_STAR] = ACTIONS(3465),
    [anon_sym_SLASH] = ACTIONS(3465),
    [anon_sym_PERCENT] = ACTIONS(3465),
    [anon_sym_PLUS_PLUS] = ACTIONS(3467),
    [anon_sym_DASH_DASH] = ACTIONS(3467),
    [anon_sym_PIPE] = ACTIONS(3467),
    [anon_sym_CARET] = ACTIONS(3465),
    [anon_sym_LT_LT] = ACTIONS(3467),
    [anon_sym_GT_GT] = ACTIONS(3467),
    [anon_sym_class] = ACTIONS(3467),
    [anon_sym_prefix] = ACTIONS(3467),
    [anon_sym_infix] = ACTIONS(3467),
    [anon_sym_postfix] = ACTIONS(3467),
    [anon_sym_AT] = ACTIONS(3465),
    [anon_sym_override] = ACTIONS(3467),
    [anon_sym_convenience] = ACTIONS(3467),
    [anon_sym_required] = ACTIONS(3467),
    [anon_sym_nonisolated] = ACTIONS(3467),
    [anon_sym_public] = ACTIONS(3467),
    [anon_sym_private] = ACTIONS(3467),
    [anon_sym_internal] = ACTIONS(3467),
    [anon_sym_fileprivate] = ACTIONS(3467),
    [anon_sym_open] = ACTIONS(3467),
    [anon_sym_mutating] = ACTIONS(3467),
    [anon_sym_nonmutating] = ACTIONS(3467),
    [anon_sym_static] = ACTIONS(3467),
    [anon_sym_dynamic] = ACTIONS(3467),
    [anon_sym_optional] = ACTIONS(3467),
    [anon_sym_distributed] = ACTIONS(3467),
    [anon_sym_final] = ACTIONS(3467),
    [anon_sym_inout] = ACTIONS(3467),
    [anon_sym_ATescaping] = ACTIONS(3467),
    [anon_sym_ATautoclosure] = ACTIONS(3467),
    [anon_sym_weak] = ACTIONS(3467),
    [anon_sym_unowned] = ACTIONS(3465),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3467),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3467),
    [anon_sym_borrowing] = ACTIONS(3467),
    [anon_sym_consuming] = ACTIONS(3467),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3467),
    [sym__explicit_semi] = ACTIONS(3467),
    [sym__dot_custom] = ACTIONS(3467),
    [sym__conjunction_operator_custom] = ACTIONS(3467),
    [sym__disjunction_operator_custom] = ACTIONS(3467),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3467),
    [sym__eq_custom] = ACTIONS(3467),
    [sym__eq_eq_custom] = ACTIONS(3467),
    [sym__plus_then_ws] = ACTIONS(3467),
    [sym__minus_then_ws] = ACTIONS(3467),
    [sym__bang_custom] = ACTIONS(3467),
    [sym_default_keyword] = ACTIONS(3467),
    [sym_where_keyword] = ACTIONS(3467),
    [sym__as_custom] = ACTIONS(3467),
    [sym__as_quest_custom] = ACTIONS(3467),
    [sym__as_bang_custom] = ACTIONS(3467),
    [sym__custom_operator] = ACTIONS(3467),
  },
  [1287] = {
    [anon_sym_BANG] = ACTIONS(2653),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2653),
    [aux_sym_simple_identifier_token2] = ACTIONS(2655),
    [aux_sym_simple_identifier_token3] = ACTIONS(2655),
    [aux_sym_simple_identifier_token4] = ACTIONS(2655),
    [anon_sym_actor] = ACTIONS(2653),
    [anon_sym_async] = ACTIONS(2653),
    [anon_sym_each] = ACTIONS(2653),
    [anon_sym_lazy] = ACTIONS(2653),
    [anon_sym_repeat] = ACTIONS(2653),
    [anon_sym_package] = ACTIONS(2653),
    [anon_sym_nil] = ACTIONS(2653),
    [sym_real_literal] = ACTIONS(2655),
    [sym_integer_literal] = ACTIONS(2653),
    [sym_hex_literal] = ACTIONS(2653),
    [sym_oct_literal] = ACTIONS(2655),
    [sym_bin_literal] = ACTIONS(2655),
    [anon_sym_true] = ACTIONS(2653),
    [anon_sym_false] = ACTIONS(2653),
    [anon_sym_DQUOTE] = ACTIONS(2653),
    [anon_sym_BSLASH] = ACTIONS(2655),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2655),
    [anon_sym_COMMA] = ACTIONS(2655),
    [sym__oneline_regex_literal] = ACTIONS(2653),
    [anon_sym_LPAREN] = ACTIONS(2655),
    [anon_sym_LBRACK] = ACTIONS(2655),
    [anon_sym_QMARK] = ACTIONS(2653),
    [anon_sym_QMARK2] = ACTIONS(2655),
    [anon_sym_AMP] = ACTIONS(2655),
    [anon_sym_TILDE] = ACTIONS(2655),
    [anon_sym_if] = ACTIONS(2653),
    [anon_sym_switch] = ACTIONS(2653),
    [aux_sym_custom_operator_token1] = ACTIONS(2655),
    [anon_sym_LT] = ACTIONS(2653),
    [anon_sym_GT] = ACTIONS(2653),
    [anon_sym_await] = ACTIONS(2653),
    [anon_sym_LBRACE] = ACTIONS(2655),
    [anon_sym_CARET_LBRACE] = ACTIONS(2655),
    [anon_sym_self] = ACTIONS(2653),
    [anon_sym_super] = ACTIONS(2653),
    [anon_sym_try] = ACTIONS(2653),
    [anon_sym_PLUS_EQ] = ACTIONS(2655),
    [anon_sym_DASH_EQ] = ACTIONS(2655),
    [anon_sym_STAR_EQ] = ACTIONS(2655),
    [anon_sym_SLASH_EQ] = ACTIONS(2655),
    [anon_sym_PERCENT_EQ] = ACTIONS(2655),
    [anon_sym_BANG_EQ] = ACTIONS(2653),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2655),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2655),
    [anon_sym_LT_EQ] = ACTIONS(2655),
    [anon_sym_GT_EQ] = ACTIONS(2655),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2655),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2655),
    [anon_sym_is] = ACTIONS(2653),
    [anon_sym_PLUS] = ACTIONS(2653),
    [anon_sym_DASH] = ACTIONS(2653),
    [anon_sym_STAR] = ACTIONS(2653),
    [anon_sym_SLASH] = ACTIONS(2653),
    [anon_sym_PERCENT] = ACTIONS(2653),
    [anon_sym_PLUS_PLUS] = ACTIONS(2655),
    [anon_sym_DASH_DASH] = ACTIONS(2655),
    [anon_sym_PIPE] = ACTIONS(2655),
    [anon_sym_CARET] = ACTIONS(2653),
    [anon_sym_LT_LT] = ACTIONS(2655),
    [anon_sym_GT_GT] = ACTIONS(2655),
    [anon_sym_borrowing] = ACTIONS(2653),
    [anon_sym_consuming] = ACTIONS(2653),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2655),
    [sym_raw_str_end_part] = ACTIONS(2655),
    [sym__dot_custom] = ACTIONS(2655),
    [sym__conjunction_operator_custom] = ACTIONS(2655),
    [sym__disjunction_operator_custom] = ACTIONS(2655),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2655),
    [sym__eq_custom] = ACTIONS(2655),
    [sym__eq_eq_custom] = ACTIONS(2655),
    [sym__plus_then_ws] = ACTIONS(2655),
    [sym__minus_then_ws] = ACTIONS(2655),
    [sym__bang_custom] = ACTIONS(2655),
    [sym_else] = ACTIONS(2655),
    [sym__as_custom] = ACTIONS(2655),
    [sym__as_quest_custom] = ACTIONS(2655),
    [sym__as_bang_custom] = ACTIONS(2655),
    [sym__custom_operator] = ACTIONS(2655),
    [sym__hash_symbol_custom] = ACTIONS(2655),
    [sym__directive_if] = ACTIONS(2655),
    [sym__directive_elseif] = ACTIONS(2655),
    [sym__directive_else] = ACTIONS(2655),
    [sym__directive_endif] = ACTIONS(2655),
  },
  [1288] = {
    [anon_sym_BANG] = ACTIONS(2687),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2676),
    [aux_sym_simple_identifier_token2] = ACTIONS(2678),
    [aux_sym_simple_identifier_token3] = ACTIONS(2678),
    [aux_sym_simple_identifier_token4] = ACTIONS(2678),
    [anon_sym_actor] = ACTIONS(2676),
    [anon_sym_async] = ACTIONS(2676),
    [anon_sym_each] = ACTIONS(2676),
    [anon_sym_lazy] = ACTIONS(2676),
    [anon_sym_repeat] = ACTIONS(2676),
    [anon_sym_package] = ACTIONS(2676),
    [anon_sym_nil] = ACTIONS(2676),
    [sym_real_literal] = ACTIONS(2678),
    [sym_integer_literal] = ACTIONS(2676),
    [sym_hex_literal] = ACTIONS(2676),
    [sym_oct_literal] = ACTIONS(2678),
    [sym_bin_literal] = ACTIONS(2678),
    [anon_sym_true] = ACTIONS(2676),
    [anon_sym_false] = ACTIONS(2676),
    [anon_sym_DQUOTE] = ACTIONS(2676),
    [anon_sym_BSLASH] = ACTIONS(2678),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2678),
    [anon_sym_COMMA] = ACTIONS(2690),
    [sym__oneline_regex_literal] = ACTIONS(2676),
    [anon_sym_LPAREN] = ACTIONS(2692),
    [anon_sym_LBRACK] = ACTIONS(2692),
    [anon_sym_QMARK] = ACTIONS(2695),
    [anon_sym_QMARK2] = ACTIONS(2690),
    [anon_sym_AMP] = ACTIONS(2692),
    [anon_sym_TILDE] = ACTIONS(2678),
    [anon_sym_if] = ACTIONS(2676),
    [anon_sym_switch] = ACTIONS(2676),
    [aux_sym_custom_operator_token1] = ACTIONS(2692),
    [anon_sym_LT] = ACTIONS(2687),
    [anon_sym_GT] = ACTIONS(2687),
    [anon_sym_await] = ACTIONS(2676),
    [anon_sym_LBRACE] = ACTIONS(2692),
    [anon_sym_CARET_LBRACE] = ACTIONS(2692),
    [anon_sym_self] = ACTIONS(2676),
    [anon_sym_super] = ACTIONS(2676),
    [anon_sym_try] = ACTIONS(2676),
    [anon_sym_PLUS_EQ] = ACTIONS(2692),
    [anon_sym_DASH_EQ] = ACTIONS(2692),
    [anon_sym_STAR_EQ] = ACTIONS(2692),
    [anon_sym_SLASH_EQ] = ACTIONS(2692),
    [anon_sym_PERCENT_EQ] = ACTIONS(2692),
    [anon_sym_BANG_EQ] = ACTIONS(2687),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2692),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2692),
    [anon_sym_LT_EQ] = ACTIONS(2692),
    [anon_sym_GT_EQ] = ACTIONS(2692),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2692),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2692),
    [anon_sym_is] = ACTIONS(2695),
    [anon_sym_PLUS] = ACTIONS(2687),
    [anon_sym_DASH] = ACTIONS(2687),
    [anon_sym_STAR] = ACTIONS(2687),
    [anon_sym_SLASH] = ACTIONS(2687),
    [anon_sym_PERCENT] = ACTIONS(2687),
    [anon_sym_PLUS_PLUS] = ACTIONS(2692),
    [anon_sym_DASH_DASH] = ACTIONS(2692),
    [anon_sym_PIPE] = ACTIONS(2692),
    [anon_sym_CARET] = ACTIONS(2687),
    [anon_sym_LT_LT] = ACTIONS(2692),
    [anon_sym_GT_GT] = ACTIONS(2692),
    [anon_sym_borrowing] = ACTIONS(2676),
    [anon_sym_consuming] = ACTIONS(2676),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2678),
    [sym_raw_str_end_part] = ACTIONS(2678),
    [sym__dot_custom] = ACTIONS(2692),
    [sym__conjunction_operator_custom] = ACTIONS(2690),
    [sym__disjunction_operator_custom] = ACTIONS(2690),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2690),
    [sym__eq_custom] = ACTIONS(2692),
    [sym__eq_eq_custom] = ACTIONS(2692),
    [sym__plus_then_ws] = ACTIONS(2692),
    [sym__minus_then_ws] = ACTIONS(2692),
    [sym__bang_custom] = ACTIONS(2692),
    [sym_else] = ACTIONS(2690),
    [sym__as_custom] = ACTIONS(2690),
    [sym__as_quest_custom] = ACTIONS(2690),
    [sym__as_bang_custom] = ACTIONS(2690),
    [sym__custom_operator] = ACTIONS(2692),
    [sym__hash_symbol_custom] = ACTIONS(2678),
    [sym__directive_if] = ACTIONS(2678),
    [sym__directive_elseif] = ACTIONS(2678),
    [sym__directive_else] = ACTIONS(2678),
    [sym__directive_endif] = ACTIONS(2678),
  },
  [1289] = {
    [anon_sym_BANG] = ACTIONS(3461),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3463),
    [anon_sym_package] = ACTIONS(3463),
    [anon_sym_COMMA] = ACTIONS(3463),
    [anon_sym_LPAREN] = ACTIONS(3463),
    [anon_sym_LBRACK] = ACTIONS(3463),
    [anon_sym_QMARK] = ACTIONS(3461),
    [anon_sym_QMARK2] = ACTIONS(3463),
    [anon_sym_AMP] = ACTIONS(3463),
    [aux_sym_custom_operator_token1] = ACTIONS(3463),
    [anon_sym_LT] = ACTIONS(3461),
    [anon_sym_GT] = ACTIONS(3461),
    [anon_sym_LBRACE] = ACTIONS(3463),
    [anon_sym_CARET_LBRACE] = ACTIONS(3463),
    [anon_sym_RBRACE] = ACTIONS(3463),
    [anon_sym_case] = ACTIONS(3463),
    [anon_sym_fallthrough] = ACTIONS(3463),
    [anon_sym_PLUS_EQ] = ACTIONS(3463),
    [anon_sym_DASH_EQ] = ACTIONS(3463),
    [anon_sym_STAR_EQ] = ACTIONS(3463),
    [anon_sym_SLASH_EQ] = ACTIONS(3463),
    [anon_sym_PERCENT_EQ] = ACTIONS(3463),
    [anon_sym_BANG_EQ] = ACTIONS(3461),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3463),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3463),
    [anon_sym_LT_EQ] = ACTIONS(3463),
    [anon_sym_GT_EQ] = ACTIONS(3463),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3463),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3463),
    [anon_sym_is] = ACTIONS(3463),
    [anon_sym_PLUS] = ACTIONS(3461),
    [anon_sym_DASH] = ACTIONS(3461),
    [anon_sym_STAR] = ACTIONS(3461),
    [anon_sym_SLASH] = ACTIONS(3461),
    [anon_sym_PERCENT] = ACTIONS(3461),
    [anon_sym_PLUS_PLUS] = ACTIONS(3463),
    [anon_sym_DASH_DASH] = ACTIONS(3463),
    [anon_sym_PIPE] = ACTIONS(3463),
    [anon_sym_CARET] = ACTIONS(3461),
    [anon_sym_LT_LT] = ACTIONS(3463),
    [anon_sym_GT_GT] = ACTIONS(3463),
    [anon_sym_class] = ACTIONS(3463),
    [anon_sym_prefix] = ACTIONS(3463),
    [anon_sym_infix] = ACTIONS(3463),
    [anon_sym_postfix] = ACTIONS(3463),
    [anon_sym_AT] = ACTIONS(3461),
    [anon_sym_override] = ACTIONS(3463),
    [anon_sym_convenience] = ACTIONS(3463),
    [anon_sym_required] = ACTIONS(3463),
    [anon_sym_nonisolated] = ACTIONS(3463),
    [anon_sym_public] = ACTIONS(3463),
    [anon_sym_private] = ACTIONS(3463),
    [anon_sym_internal] = ACTIONS(3463),
    [anon_sym_fileprivate] = ACTIONS(3463),
    [anon_sym_open] = ACTIONS(3463),
    [anon_sym_mutating] = ACTIONS(3463),
    [anon_sym_nonmutating] = ACTIONS(3463),
    [anon_sym_static] = ACTIONS(3463),
    [anon_sym_dynamic] = ACTIONS(3463),
    [anon_sym_optional] = ACTIONS(3463),
    [anon_sym_distributed] = ACTIONS(3463),
    [anon_sym_final] = ACTIONS(3463),
    [anon_sym_inout] = ACTIONS(3463),
    [anon_sym_ATescaping] = ACTIONS(3463),
    [anon_sym_ATautoclosure] = ACTIONS(3463),
    [anon_sym_weak] = ACTIONS(3463),
    [anon_sym_unowned] = ACTIONS(3461),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3463),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3463),
    [anon_sym_borrowing] = ACTIONS(3463),
    [anon_sym_consuming] = ACTIONS(3463),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3463),
    [sym__explicit_semi] = ACTIONS(3463),
    [sym__dot_custom] = ACTIONS(3463),
    [sym__conjunction_operator_custom] = ACTIONS(3463),
    [sym__disjunction_operator_custom] = ACTIONS(3463),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3463),
    [sym__eq_custom] = ACTIONS(3463),
    [sym__eq_eq_custom] = ACTIONS(3463),
    [sym__plus_then_ws] = ACTIONS(3463),
    [sym__minus_then_ws] = ACTIONS(3463),
    [sym__bang_custom] = ACTIONS(3463),
    [sym_default_keyword] = ACTIONS(3463),
    [sym_where_keyword] = ACTIONS(3463),
    [sym__as_custom] = ACTIONS(3463),
    [sym__as_quest_custom] = ACTIONS(3463),
    [sym__as_bang_custom] = ACTIONS(3463),
    [sym__custom_operator] = ACTIONS(3463),
  },
  [1290] = {
    [anon_sym_BANG] = ACTIONS(3469),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3471),
    [anon_sym_package] = ACTIONS(3471),
    [anon_sym_COMMA] = ACTIONS(3471),
    [anon_sym_LPAREN] = ACTIONS(3471),
    [anon_sym_LBRACK] = ACTIONS(3471),
    [anon_sym_QMARK] = ACTIONS(3469),
    [anon_sym_QMARK2] = ACTIONS(3471),
    [anon_sym_AMP] = ACTIONS(3471),
    [aux_sym_custom_operator_token1] = ACTIONS(3471),
    [anon_sym_LT] = ACTIONS(3469),
    [anon_sym_GT] = ACTIONS(3469),
    [anon_sym_LBRACE] = ACTIONS(3471),
    [anon_sym_CARET_LBRACE] = ACTIONS(3471),
    [anon_sym_RBRACE] = ACTIONS(3471),
    [anon_sym_case] = ACTIONS(3471),
    [anon_sym_fallthrough] = ACTIONS(3471),
    [anon_sym_PLUS_EQ] = ACTIONS(3471),
    [anon_sym_DASH_EQ] = ACTIONS(3471),
    [anon_sym_STAR_EQ] = ACTIONS(3471),
    [anon_sym_SLASH_EQ] = ACTIONS(3471),
    [anon_sym_PERCENT_EQ] = ACTIONS(3471),
    [anon_sym_BANG_EQ] = ACTIONS(3469),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3471),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3471),
    [anon_sym_LT_EQ] = ACTIONS(3471),
    [anon_sym_GT_EQ] = ACTIONS(3471),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3471),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3471),
    [anon_sym_is] = ACTIONS(3471),
    [anon_sym_PLUS] = ACTIONS(3469),
    [anon_sym_DASH] = ACTIONS(3469),
    [anon_sym_STAR] = ACTIONS(3469),
    [anon_sym_SLASH] = ACTIONS(3469),
    [anon_sym_PERCENT] = ACTIONS(3469),
    [anon_sym_PLUS_PLUS] = ACTIONS(3471),
    [anon_sym_DASH_DASH] = ACTIONS(3471),
    [anon_sym_PIPE] = ACTIONS(3471),
    [anon_sym_CARET] = ACTIONS(3469),
    [anon_sym_LT_LT] = ACTIONS(3471),
    [anon_sym_GT_GT] = ACTIONS(3471),
    [anon_sym_class] = ACTIONS(3471),
    [anon_sym_prefix] = ACTIONS(3471),
    [anon_sym_infix] = ACTIONS(3471),
    [anon_sym_postfix] = ACTIONS(3471),
    [anon_sym_AT] = ACTIONS(3469),
    [anon_sym_override] = ACTIONS(3471),
    [anon_sym_convenience] = ACTIONS(3471),
    [anon_sym_required] = ACTIONS(3471),
    [anon_sym_nonisolated] = ACTIONS(3471),
    [anon_sym_public] = ACTIONS(3471),
    [anon_sym_private] = ACTIONS(3471),
    [anon_sym_internal] = ACTIONS(3471),
    [anon_sym_fileprivate] = ACTIONS(3471),
    [anon_sym_open] = ACTIONS(3471),
    [anon_sym_mutating] = ACTIONS(3471),
    [anon_sym_nonmutating] = ACTIONS(3471),
    [anon_sym_static] = ACTIONS(3471),
    [anon_sym_dynamic] = ACTIONS(3471),
    [anon_sym_optional] = ACTIONS(3471),
    [anon_sym_distributed] = ACTIONS(3471),
    [anon_sym_final] = ACTIONS(3471),
    [anon_sym_inout] = ACTIONS(3471),
    [anon_sym_ATescaping] = ACTIONS(3471),
    [anon_sym_ATautoclosure] = ACTIONS(3471),
    [anon_sym_weak] = ACTIONS(3471),
    [anon_sym_unowned] = ACTIONS(3469),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3471),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3471),
    [anon_sym_borrowing] = ACTIONS(3471),
    [anon_sym_consuming] = ACTIONS(3471),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3471),
    [sym__explicit_semi] = ACTIONS(3471),
    [sym__dot_custom] = ACTIONS(3471),
    [sym__conjunction_operator_custom] = ACTIONS(3471),
    [sym__disjunction_operator_custom] = ACTIONS(3471),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3471),
    [sym__eq_custom] = ACTIONS(3471),
    [sym__eq_eq_custom] = ACTIONS(3471),
    [sym__plus_then_ws] = ACTIONS(3471),
    [sym__minus_then_ws] = ACTIONS(3471),
    [sym__bang_custom] = ACTIONS(3471),
    [sym_default_keyword] = ACTIONS(3471),
    [sym_where_keyword] = ACTIONS(3471),
    [sym__as_custom] = ACTIONS(3471),
    [sym__as_quest_custom] = ACTIONS(3471),
    [sym__as_bang_custom] = ACTIONS(3471),
    [sym__custom_operator] = ACTIONS(3471),
  },
  [1291] = {
    [anon_sym_BANG] = ACTIONS(3105),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3107),
    [anon_sym_package] = ACTIONS(3107),
    [anon_sym_COMMA] = ACTIONS(3107),
    [anon_sym_LPAREN] = ACTIONS(3107),
    [anon_sym_LBRACK] = ACTIONS(3107),
    [anon_sym_DOT] = ACTIONS(3105),
    [anon_sym_QMARK] = ACTIONS(3105),
    [anon_sym_QMARK2] = ACTIONS(3107),
    [anon_sym_AMP] = ACTIONS(3107),
    [aux_sym_custom_operator_token1] = ACTIONS(3107),
    [anon_sym_LT] = ACTIONS(3105),
    [anon_sym_GT] = ACTIONS(3105),
    [anon_sym_LBRACE] = ACTIONS(3107),
    [anon_sym_CARET_LBRACE] = ACTIONS(3107),
    [anon_sym_RBRACE] = ACTIONS(3107),
    [anon_sym_case] = ACTIONS(3107),
    [anon_sym_fallthrough] = ACTIONS(3107),
    [anon_sym_PLUS_EQ] = ACTIONS(3107),
    [anon_sym_DASH_EQ] = ACTIONS(3107),
    [anon_sym_STAR_EQ] = ACTIONS(3107),
    [anon_sym_SLASH_EQ] = ACTIONS(3107),
    [anon_sym_PERCENT_EQ] = ACTIONS(3107),
    [anon_sym_BANG_EQ] = ACTIONS(3105),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3107),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3107),
    [anon_sym_LT_EQ] = ACTIONS(3107),
    [anon_sym_GT_EQ] = ACTIONS(3107),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3107),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3107),
    [anon_sym_is] = ACTIONS(3107),
    [anon_sym_PLUS] = ACTIONS(3105),
    [anon_sym_DASH] = ACTIONS(3105),
    [anon_sym_STAR] = ACTIONS(3105),
    [anon_sym_SLASH] = ACTIONS(3105),
    [anon_sym_PERCENT] = ACTIONS(3105),
    [anon_sym_PLUS_PLUS] = ACTIONS(3107),
    [anon_sym_DASH_DASH] = ACTIONS(3107),
    [anon_sym_PIPE] = ACTIONS(3107),
    [anon_sym_CARET] = ACTIONS(3105),
    [anon_sym_LT_LT] = ACTIONS(3107),
    [anon_sym_GT_GT] = ACTIONS(3107),
    [anon_sym_class] = ACTIONS(3107),
    [anon_sym_prefix] = ACTIONS(3107),
    [anon_sym_infix] = ACTIONS(3107),
    [anon_sym_postfix] = ACTIONS(3107),
    [anon_sym_AT] = ACTIONS(3105),
    [anon_sym_override] = ACTIONS(3107),
    [anon_sym_convenience] = ACTIONS(3107),
    [anon_sym_required] = ACTIONS(3107),
    [anon_sym_nonisolated] = ACTIONS(3107),
    [anon_sym_public] = ACTIONS(3107),
    [anon_sym_private] = ACTIONS(3107),
    [anon_sym_internal] = ACTIONS(3107),
    [anon_sym_fileprivate] = ACTIONS(3107),
    [anon_sym_open] = ACTIONS(3107),
    [anon_sym_mutating] = ACTIONS(3107),
    [anon_sym_nonmutating] = ACTIONS(3107),
    [anon_sym_static] = ACTIONS(3107),
    [anon_sym_dynamic] = ACTIONS(3107),
    [anon_sym_optional] = ACTIONS(3107),
    [anon_sym_distributed] = ACTIONS(3107),
    [anon_sym_final] = ACTIONS(3107),
    [anon_sym_inout] = ACTIONS(3107),
    [anon_sym_ATescaping] = ACTIONS(3107),
    [anon_sym_ATautoclosure] = ACTIONS(3107),
    [anon_sym_weak] = ACTIONS(3107),
    [anon_sym_unowned] = ACTIONS(3105),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3107),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3107),
    [anon_sym_borrowing] = ACTIONS(3107),
    [anon_sym_consuming] = ACTIONS(3107),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3107),
    [sym__explicit_semi] = ACTIONS(3107),
    [sym__dot_custom] = ACTIONS(3107),
    [sym__conjunction_operator_custom] = ACTIONS(3107),
    [sym__disjunction_operator_custom] = ACTIONS(3107),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3107),
    [sym__eq_custom] = ACTIONS(3107),
    [sym__eq_eq_custom] = ACTIONS(3107),
    [sym__plus_then_ws] = ACTIONS(3107),
    [sym__minus_then_ws] = ACTIONS(3107),
    [sym__bang_custom] = ACTIONS(3107),
    [sym_default_keyword] = ACTIONS(3107),
    [sym__as_custom] = ACTIONS(3107),
    [sym__as_quest_custom] = ACTIONS(3107),
    [sym__as_bang_custom] = ACTIONS(3107),
    [sym__custom_operator] = ACTIONS(3107),
  },
  [1292] = {
    [anon_sym_BANG] = ACTIONS(3157),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3159),
    [anon_sym_package] = ACTIONS(3159),
    [anon_sym_COMMA] = ACTIONS(3159),
    [anon_sym_LPAREN] = ACTIONS(3159),
    [anon_sym_LBRACK] = ACTIONS(3159),
    [anon_sym_DOT] = ACTIONS(3157),
    [anon_sym_QMARK] = ACTIONS(3157),
    [anon_sym_QMARK2] = ACTIONS(3159),
    [anon_sym_AMP] = ACTIONS(3159),
    [aux_sym_custom_operator_token1] = ACTIONS(3159),
    [anon_sym_LT] = ACTIONS(3157),
    [anon_sym_GT] = ACTIONS(3157),
    [anon_sym_LBRACE] = ACTIONS(3159),
    [anon_sym_CARET_LBRACE] = ACTIONS(3159),
    [anon_sym_RBRACE] = ACTIONS(3159),
    [anon_sym_case] = ACTIONS(3159),
    [anon_sym_fallthrough] = ACTIONS(3159),
    [anon_sym_PLUS_EQ] = ACTIONS(3159),
    [anon_sym_DASH_EQ] = ACTIONS(3159),
    [anon_sym_STAR_EQ] = ACTIONS(3159),
    [anon_sym_SLASH_EQ] = ACTIONS(3159),
    [anon_sym_PERCENT_EQ] = ACTIONS(3159),
    [anon_sym_BANG_EQ] = ACTIONS(3157),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3159),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3159),
    [anon_sym_LT_EQ] = ACTIONS(3159),
    [anon_sym_GT_EQ] = ACTIONS(3159),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3159),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3159),
    [anon_sym_is] = ACTIONS(3159),
    [anon_sym_PLUS] = ACTIONS(3157),
    [anon_sym_DASH] = ACTIONS(3157),
    [anon_sym_STAR] = ACTIONS(3157),
    [anon_sym_SLASH] = ACTIONS(3157),
    [anon_sym_PERCENT] = ACTIONS(3157),
    [anon_sym_PLUS_PLUS] = ACTIONS(3159),
    [anon_sym_DASH_DASH] = ACTIONS(3159),
    [anon_sym_PIPE] = ACTIONS(3159),
    [anon_sym_CARET] = ACTIONS(3157),
    [anon_sym_LT_LT] = ACTIONS(3159),
    [anon_sym_GT_GT] = ACTIONS(3159),
    [anon_sym_class] = ACTIONS(3159),
    [anon_sym_prefix] = ACTIONS(3159),
    [anon_sym_infix] = ACTIONS(3159),
    [anon_sym_postfix] = ACTIONS(3159),
    [anon_sym_AT] = ACTIONS(3157),
    [anon_sym_override] = ACTIONS(3159),
    [anon_sym_convenience] = ACTIONS(3159),
    [anon_sym_required] = ACTIONS(3159),
    [anon_sym_nonisolated] = ACTIONS(3159),
    [anon_sym_public] = ACTIONS(3159),
    [anon_sym_private] = ACTIONS(3159),
    [anon_sym_internal] = ACTIONS(3159),
    [anon_sym_fileprivate] = ACTIONS(3159),
    [anon_sym_open] = ACTIONS(3159),
    [anon_sym_mutating] = ACTIONS(3159),
    [anon_sym_nonmutating] = ACTIONS(3159),
    [anon_sym_static] = ACTIONS(3159),
    [anon_sym_dynamic] = ACTIONS(3159),
    [anon_sym_optional] = ACTIONS(3159),
    [anon_sym_distributed] = ACTIONS(3159),
    [anon_sym_final] = ACTIONS(3159),
    [anon_sym_inout] = ACTIONS(3159),
    [anon_sym_ATescaping] = ACTIONS(3159),
    [anon_sym_ATautoclosure] = ACTIONS(3159),
    [anon_sym_weak] = ACTIONS(3159),
    [anon_sym_unowned] = ACTIONS(3157),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3159),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3159),
    [anon_sym_borrowing] = ACTIONS(3159),
    [anon_sym_consuming] = ACTIONS(3159),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3159),
    [sym__explicit_semi] = ACTIONS(3159),
    [sym__dot_custom] = ACTIONS(3159),
    [sym__conjunction_operator_custom] = ACTIONS(3159),
    [sym__disjunction_operator_custom] = ACTIONS(3159),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3159),
    [sym__eq_custom] = ACTIONS(3159),
    [sym__eq_eq_custom] = ACTIONS(3159),
    [sym__plus_then_ws] = ACTIONS(3159),
    [sym__minus_then_ws] = ACTIONS(3159),
    [sym__bang_custom] = ACTIONS(3159),
    [sym_default_keyword] = ACTIONS(3159),
    [sym__as_custom] = ACTIONS(3159),
    [sym__as_quest_custom] = ACTIONS(3159),
    [sym__as_bang_custom] = ACTIONS(3159),
    [sym__custom_operator] = ACTIONS(3159),
  },
  [1293] = {
    [anon_sym_BANG] = ACTIONS(3125),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3127),
    [anon_sym_package] = ACTIONS(3127),
    [anon_sym_COMMA] = ACTIONS(3127),
    [anon_sym_LPAREN] = ACTIONS(3127),
    [anon_sym_LBRACK] = ACTIONS(3127),
    [anon_sym_DOT] = ACTIONS(3125),
    [anon_sym_QMARK] = ACTIONS(3125),
    [anon_sym_QMARK2] = ACTIONS(3127),
    [anon_sym_AMP] = ACTIONS(3127),
    [aux_sym_custom_operator_token1] = ACTIONS(3127),
    [anon_sym_LT] = ACTIONS(3125),
    [anon_sym_GT] = ACTIONS(3125),
    [anon_sym_LBRACE] = ACTIONS(3127),
    [anon_sym_CARET_LBRACE] = ACTIONS(3127),
    [anon_sym_RBRACE] = ACTIONS(3127),
    [anon_sym_case] = ACTIONS(3127),
    [anon_sym_fallthrough] = ACTIONS(3127),
    [anon_sym_PLUS_EQ] = ACTIONS(3127),
    [anon_sym_DASH_EQ] = ACTIONS(3127),
    [anon_sym_STAR_EQ] = ACTIONS(3127),
    [anon_sym_SLASH_EQ] = ACTIONS(3127),
    [anon_sym_PERCENT_EQ] = ACTIONS(3127),
    [anon_sym_BANG_EQ] = ACTIONS(3125),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3127),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3127),
    [anon_sym_LT_EQ] = ACTIONS(3127),
    [anon_sym_GT_EQ] = ACTIONS(3127),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3127),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3127),
    [anon_sym_is] = ACTIONS(3127),
    [anon_sym_PLUS] = ACTIONS(3125),
    [anon_sym_DASH] = ACTIONS(3125),
    [anon_sym_STAR] = ACTIONS(3125),
    [anon_sym_SLASH] = ACTIONS(3125),
    [anon_sym_PERCENT] = ACTIONS(3125),
    [anon_sym_PLUS_PLUS] = ACTIONS(3127),
    [anon_sym_DASH_DASH] = ACTIONS(3127),
    [anon_sym_PIPE] = ACTIONS(3127),
    [anon_sym_CARET] = ACTIONS(3125),
    [anon_sym_LT_LT] = ACTIONS(3127),
    [anon_sym_GT_GT] = ACTIONS(3127),
    [anon_sym_class] = ACTIONS(3127),
    [anon_sym_prefix] = ACTIONS(3127),
    [anon_sym_infix] = ACTIONS(3127),
    [anon_sym_postfix] = ACTIONS(3127),
    [anon_sym_AT] = ACTIONS(3125),
    [anon_sym_override] = ACTIONS(3127),
    [anon_sym_convenience] = ACTIONS(3127),
    [anon_sym_required] = ACTIONS(3127),
    [anon_sym_nonisolated] = ACTIONS(3127),
    [anon_sym_public] = ACTIONS(3127),
    [anon_sym_private] = ACTIONS(3127),
    [anon_sym_internal] = ACTIONS(3127),
    [anon_sym_fileprivate] = ACTIONS(3127),
    [anon_sym_open] = ACTIONS(3127),
    [anon_sym_mutating] = ACTIONS(3127),
    [anon_sym_nonmutating] = ACTIONS(3127),
    [anon_sym_static] = ACTIONS(3127),
    [anon_sym_dynamic] = ACTIONS(3127),
    [anon_sym_optional] = ACTIONS(3127),
    [anon_sym_distributed] = ACTIONS(3127),
    [anon_sym_final] = ACTIONS(3127),
    [anon_sym_inout] = ACTIONS(3127),
    [anon_sym_ATescaping] = ACTIONS(3127),
    [anon_sym_ATautoclosure] = ACTIONS(3127),
    [anon_sym_weak] = ACTIONS(3127),
    [anon_sym_unowned] = ACTIONS(3125),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3127),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3127),
    [anon_sym_borrowing] = ACTIONS(3127),
    [anon_sym_consuming] = ACTIONS(3127),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3127),
    [sym__explicit_semi] = ACTIONS(3127),
    [sym__dot_custom] = ACTIONS(3127),
    [sym__conjunction_operator_custom] = ACTIONS(3127),
    [sym__disjunction_operator_custom] = ACTIONS(3127),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3127),
    [sym__eq_custom] = ACTIONS(3127),
    [sym__eq_eq_custom] = ACTIONS(3127),
    [sym__plus_then_ws] = ACTIONS(3127),
    [sym__minus_then_ws] = ACTIONS(3127),
    [sym__bang_custom] = ACTIONS(3127),
    [sym_default_keyword] = ACTIONS(3127),
    [sym__as_custom] = ACTIONS(3127),
    [sym__as_quest_custom] = ACTIONS(3127),
    [sym__as_bang_custom] = ACTIONS(3127),
    [sym__custom_operator] = ACTIONS(3127),
  },
  [1294] = {
    [anon_sym_BANG] = ACTIONS(3133),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3135),
    [anon_sym_package] = ACTIONS(3135),
    [anon_sym_COMMA] = ACTIONS(3135),
    [anon_sym_LPAREN] = ACTIONS(3135),
    [anon_sym_LBRACK] = ACTIONS(3135),
    [anon_sym_DOT] = ACTIONS(3133),
    [anon_sym_QMARK] = ACTIONS(3133),
    [anon_sym_QMARK2] = ACTIONS(3135),
    [anon_sym_AMP] = ACTIONS(3135),
    [aux_sym_custom_operator_token1] = ACTIONS(3135),
    [anon_sym_LT] = ACTIONS(3133),
    [anon_sym_GT] = ACTIONS(3133),
    [anon_sym_LBRACE] = ACTIONS(3135),
    [anon_sym_CARET_LBRACE] = ACTIONS(3135),
    [anon_sym_RBRACE] = ACTIONS(3135),
    [anon_sym_case] = ACTIONS(3135),
    [anon_sym_fallthrough] = ACTIONS(3135),
    [anon_sym_PLUS_EQ] = ACTIONS(3135),
    [anon_sym_DASH_EQ] = ACTIONS(3135),
    [anon_sym_STAR_EQ] = ACTIONS(3135),
    [anon_sym_SLASH_EQ] = ACTIONS(3135),
    [anon_sym_PERCENT_EQ] = ACTIONS(3135),
    [anon_sym_BANG_EQ] = ACTIONS(3133),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3135),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3135),
    [anon_sym_LT_EQ] = ACTIONS(3135),
    [anon_sym_GT_EQ] = ACTIONS(3135),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3135),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3135),
    [anon_sym_is] = ACTIONS(3135),
    [anon_sym_PLUS] = ACTIONS(3133),
    [anon_sym_DASH] = ACTIONS(3133),
    [anon_sym_STAR] = ACTIONS(3133),
    [anon_sym_SLASH] = ACTIONS(3133),
    [anon_sym_PERCENT] = ACTIONS(3133),
    [anon_sym_PLUS_PLUS] = ACTIONS(3135),
    [anon_sym_DASH_DASH] = ACTIONS(3135),
    [anon_sym_PIPE] = ACTIONS(3135),
    [anon_sym_CARET] = ACTIONS(3133),
    [anon_sym_LT_LT] = ACTIONS(3135),
    [anon_sym_GT_GT] = ACTIONS(3135),
    [anon_sym_class] = ACTIONS(3135),
    [anon_sym_prefix] = ACTIONS(3135),
    [anon_sym_infix] = ACTIONS(3135),
    [anon_sym_postfix] = ACTIONS(3135),
    [anon_sym_AT] = ACTIONS(3133),
    [anon_sym_override] = ACTIONS(3135),
    [anon_sym_convenience] = ACTIONS(3135),
    [anon_sym_required] = ACTIONS(3135),
    [anon_sym_nonisolated] = ACTIONS(3135),
    [anon_sym_public] = ACTIONS(3135),
    [anon_sym_private] = ACTIONS(3135),
    [anon_sym_internal] = ACTIONS(3135),
    [anon_sym_fileprivate] = ACTIONS(3135),
    [anon_sym_open] = ACTIONS(3135),
    [anon_sym_mutating] = ACTIONS(3135),
    [anon_sym_nonmutating] = ACTIONS(3135),
    [anon_sym_static] = ACTIONS(3135),
    [anon_sym_dynamic] = ACTIONS(3135),
    [anon_sym_optional] = ACTIONS(3135),
    [anon_sym_distributed] = ACTIONS(3135),
    [anon_sym_final] = ACTIONS(3135),
    [anon_sym_inout] = ACTIONS(3135),
    [anon_sym_ATescaping] = ACTIONS(3135),
    [anon_sym_ATautoclosure] = ACTIONS(3135),
    [anon_sym_weak] = ACTIONS(3135),
    [anon_sym_unowned] = ACTIONS(3133),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3135),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3135),
    [anon_sym_borrowing] = ACTIONS(3135),
    [anon_sym_consuming] = ACTIONS(3135),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3135),
    [sym__explicit_semi] = ACTIONS(3135),
    [sym__dot_custom] = ACTIONS(3135),
    [sym__conjunction_operator_custom] = ACTIONS(3135),
    [sym__disjunction_operator_custom] = ACTIONS(3135),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3135),
    [sym__eq_custom] = ACTIONS(3135),
    [sym__eq_eq_custom] = ACTIONS(3135),
    [sym__plus_then_ws] = ACTIONS(3135),
    [sym__minus_then_ws] = ACTIONS(3135),
    [sym__bang_custom] = ACTIONS(3135),
    [sym_default_keyword] = ACTIONS(3135),
    [sym__as_custom] = ACTIONS(3135),
    [sym__as_quest_custom] = ACTIONS(3135),
    [sym__as_bang_custom] = ACTIONS(3135),
    [sym__custom_operator] = ACTIONS(3135),
  },
  [1295] = {
    [anon_sym_BANG] = ACTIONS(3453),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3455),
    [anon_sym_package] = ACTIONS(3455),
    [anon_sym_COMMA] = ACTIONS(3455),
    [anon_sym_LPAREN] = ACTIONS(3455),
    [anon_sym_LBRACK] = ACTIONS(3455),
    [anon_sym_QMARK] = ACTIONS(3453),
    [anon_sym_QMARK2] = ACTIONS(3455),
    [anon_sym_AMP] = ACTIONS(3455),
    [aux_sym_custom_operator_token1] = ACTIONS(3455),
    [anon_sym_LT] = ACTIONS(3453),
    [anon_sym_GT] = ACTIONS(3453),
    [anon_sym_LBRACE] = ACTIONS(3455),
    [anon_sym_CARET_LBRACE] = ACTIONS(3455),
    [anon_sym_RBRACE] = ACTIONS(3455),
    [anon_sym_case] = ACTIONS(3455),
    [anon_sym_fallthrough] = ACTIONS(3455),
    [anon_sym_PLUS_EQ] = ACTIONS(3455),
    [anon_sym_DASH_EQ] = ACTIONS(3455),
    [anon_sym_STAR_EQ] = ACTIONS(3455),
    [anon_sym_SLASH_EQ] = ACTIONS(3455),
    [anon_sym_PERCENT_EQ] = ACTIONS(3455),
    [anon_sym_BANG_EQ] = ACTIONS(3453),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3455),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3455),
    [anon_sym_LT_EQ] = ACTIONS(3455),
    [anon_sym_GT_EQ] = ACTIONS(3455),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3455),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3455),
    [anon_sym_is] = ACTIONS(3455),
    [anon_sym_PLUS] = ACTIONS(3453),
    [anon_sym_DASH] = ACTIONS(3453),
    [anon_sym_STAR] = ACTIONS(3453),
    [anon_sym_SLASH] = ACTIONS(3453),
    [anon_sym_PERCENT] = ACTIONS(3453),
    [anon_sym_PLUS_PLUS] = ACTIONS(3455),
    [anon_sym_DASH_DASH] = ACTIONS(3455),
    [anon_sym_PIPE] = ACTIONS(3455),
    [anon_sym_CARET] = ACTIONS(3453),
    [anon_sym_LT_LT] = ACTIONS(3455),
    [anon_sym_GT_GT] = ACTIONS(3455),
    [anon_sym_class] = ACTIONS(3455),
    [anon_sym_prefix] = ACTIONS(3455),
    [anon_sym_infix] = ACTIONS(3455),
    [anon_sym_postfix] = ACTIONS(3455),
    [anon_sym_AT] = ACTIONS(3453),
    [anon_sym_override] = ACTIONS(3455),
    [anon_sym_convenience] = ACTIONS(3455),
    [anon_sym_required] = ACTIONS(3455),
    [anon_sym_nonisolated] = ACTIONS(3455),
    [anon_sym_public] = ACTIONS(3455),
    [anon_sym_private] = ACTIONS(3455),
    [anon_sym_internal] = ACTIONS(3455),
    [anon_sym_fileprivate] = ACTIONS(3455),
    [anon_sym_open] = ACTIONS(3455),
    [anon_sym_mutating] = ACTIONS(3455),
    [anon_sym_nonmutating] = ACTIONS(3455),
    [anon_sym_static] = ACTIONS(3455),
    [anon_sym_dynamic] = ACTIONS(3455),
    [anon_sym_optional] = ACTIONS(3455),
    [anon_sym_distributed] = ACTIONS(3455),
    [anon_sym_final] = ACTIONS(3455),
    [anon_sym_inout] = ACTIONS(3455),
    [anon_sym_ATescaping] = ACTIONS(3455),
    [anon_sym_ATautoclosure] = ACTIONS(3455),
    [anon_sym_weak] = ACTIONS(3455),
    [anon_sym_unowned] = ACTIONS(3453),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3455),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3455),
    [anon_sym_borrowing] = ACTIONS(3455),
    [anon_sym_consuming] = ACTIONS(3455),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3455),
    [sym__explicit_semi] = ACTIONS(3455),
    [sym__dot_custom] = ACTIONS(3455),
    [sym__conjunction_operator_custom] = ACTIONS(3455),
    [sym__disjunction_operator_custom] = ACTIONS(3455),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3455),
    [sym__eq_custom] = ACTIONS(3455),
    [sym__eq_eq_custom] = ACTIONS(3455),
    [sym__plus_then_ws] = ACTIONS(3455),
    [sym__minus_then_ws] = ACTIONS(3455),
    [sym__bang_custom] = ACTIONS(3455),
    [sym_default_keyword] = ACTIONS(3455),
    [sym_where_keyword] = ACTIONS(3455),
    [sym__as_custom] = ACTIONS(3455),
    [sym__as_quest_custom] = ACTIONS(3455),
    [sym__as_bang_custom] = ACTIONS(3455),
    [sym__custom_operator] = ACTIONS(3455),
  },
  [1296] = {
    [anon_sym_BANG] = ACTIONS(3561),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3563),
    [anon_sym_package] = ACTIONS(3563),
    [anon_sym_COMMA] = ACTIONS(3563),
    [anon_sym_LPAREN] = ACTIONS(3563),
    [anon_sym_LBRACK] = ACTIONS(3563),
    [anon_sym_QMARK] = ACTIONS(3561),
    [anon_sym_QMARK2] = ACTIONS(3563),
    [anon_sym_AMP] = ACTIONS(3563),
    [aux_sym_custom_operator_token1] = ACTIONS(3563),
    [anon_sym_LT] = ACTIONS(3561),
    [anon_sym_GT] = ACTIONS(3561),
    [anon_sym_LBRACE] = ACTIONS(3563),
    [anon_sym_CARET_LBRACE] = ACTIONS(3563),
    [anon_sym_RBRACE] = ACTIONS(3563),
    [anon_sym_case] = ACTIONS(3563),
    [anon_sym_fallthrough] = ACTIONS(3563),
    [anon_sym_PLUS_EQ] = ACTIONS(3563),
    [anon_sym_DASH_EQ] = ACTIONS(3563),
    [anon_sym_STAR_EQ] = ACTIONS(3563),
    [anon_sym_SLASH_EQ] = ACTIONS(3563),
    [anon_sym_PERCENT_EQ] = ACTIONS(3563),
    [anon_sym_BANG_EQ] = ACTIONS(3561),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3563),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3563),
    [anon_sym_LT_EQ] = ACTIONS(3563),
    [anon_sym_GT_EQ] = ACTIONS(3563),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3563),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3563),
    [anon_sym_is] = ACTIONS(3563),
    [anon_sym_PLUS] = ACTIONS(3561),
    [anon_sym_DASH] = ACTIONS(3561),
    [anon_sym_STAR] = ACTIONS(3561),
    [anon_sym_SLASH] = ACTIONS(3561),
    [anon_sym_PERCENT] = ACTIONS(3561),
    [anon_sym_PLUS_PLUS] = ACTIONS(3563),
    [anon_sym_DASH_DASH] = ACTIONS(3563),
    [anon_sym_PIPE] = ACTIONS(3563),
    [anon_sym_CARET] = ACTIONS(3561),
    [anon_sym_LT_LT] = ACTIONS(3563),
    [anon_sym_GT_GT] = ACTIONS(3563),
    [anon_sym_class] = ACTIONS(3563),
    [anon_sym_prefix] = ACTIONS(3563),
    [anon_sym_infix] = ACTIONS(3563),
    [anon_sym_postfix] = ACTIONS(3563),
    [anon_sym_AT] = ACTIONS(3561),
    [anon_sym_override] = ACTIONS(3563),
    [anon_sym_convenience] = ACTIONS(3563),
    [anon_sym_required] = ACTIONS(3563),
    [anon_sym_nonisolated] = ACTIONS(3563),
    [anon_sym_public] = ACTIONS(3563),
    [anon_sym_private] = ACTIONS(3563),
    [anon_sym_internal] = ACTIONS(3563),
    [anon_sym_fileprivate] = ACTIONS(3563),
    [anon_sym_open] = ACTIONS(3563),
    [anon_sym_mutating] = ACTIONS(3563),
    [anon_sym_nonmutating] = ACTIONS(3563),
    [anon_sym_static] = ACTIONS(3563),
    [anon_sym_dynamic] = ACTIONS(3563),
    [anon_sym_optional] = ACTIONS(3563),
    [anon_sym_distributed] = ACTIONS(3563),
    [anon_sym_final] = ACTIONS(3563),
    [anon_sym_inout] = ACTIONS(3563),
    [anon_sym_ATescaping] = ACTIONS(3563),
    [anon_sym_ATautoclosure] = ACTIONS(3563),
    [anon_sym_weak] = ACTIONS(3563),
    [anon_sym_unowned] = ACTIONS(3561),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3563),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3563),
    [anon_sym_borrowing] = ACTIONS(3563),
    [anon_sym_consuming] = ACTIONS(3563),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3563),
    [sym__explicit_semi] = ACTIONS(3563),
    [sym__dot_custom] = ACTIONS(3563),
    [sym__conjunction_operator_custom] = ACTIONS(3563),
    [sym__disjunction_operator_custom] = ACTIONS(3563),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3563),
    [sym__eq_custom] = ACTIONS(3563),
    [sym__eq_eq_custom] = ACTIONS(3563),
    [sym__plus_then_ws] = ACTIONS(3563),
    [sym__minus_then_ws] = ACTIONS(3563),
    [sym__bang_custom] = ACTIONS(3563),
    [sym_default_keyword] = ACTIONS(3563),
    [sym_where_keyword] = ACTIONS(3563),
    [sym__as_custom] = ACTIONS(3563),
    [sym__as_quest_custom] = ACTIONS(3563),
    [sym__as_bang_custom] = ACTIONS(3563),
    [sym__custom_operator] = ACTIONS(3563),
  },
  [1297] = {
    [anon_sym_BANG] = ACTIONS(3268),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3270),
    [anon_sym_package] = ACTIONS(3270),
    [anon_sym_COMMA] = ACTIONS(3270),
    [anon_sym_LPAREN] = ACTIONS(3270),
    [anon_sym_LBRACK] = ACTIONS(3270),
    [anon_sym_DOT] = ACTIONS(3268),
    [anon_sym_QMARK] = ACTIONS(3268),
    [anon_sym_QMARK2] = ACTIONS(3270),
    [anon_sym_AMP] = ACTIONS(3270),
    [aux_sym_custom_operator_token1] = ACTIONS(3270),
    [anon_sym_LT] = ACTIONS(3268),
    [anon_sym_GT] = ACTIONS(3268),
    [anon_sym_LBRACE] = ACTIONS(3270),
    [anon_sym_CARET_LBRACE] = ACTIONS(3270),
    [anon_sym_RBRACE] = ACTIONS(3270),
    [anon_sym_case] = ACTIONS(3270),
    [anon_sym_fallthrough] = ACTIONS(3270),
    [anon_sym_PLUS_EQ] = ACTIONS(3270),
    [anon_sym_DASH_EQ] = ACTIONS(3270),
    [anon_sym_STAR_EQ] = ACTIONS(3270),
    [anon_sym_SLASH_EQ] = ACTIONS(3270),
    [anon_sym_PERCENT_EQ] = ACTIONS(3270),
    [anon_sym_BANG_EQ] = ACTIONS(3268),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3270),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3270),
    [anon_sym_LT_EQ] = ACTIONS(3270),
    [anon_sym_GT_EQ] = ACTIONS(3270),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3270),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3270),
    [anon_sym_is] = ACTIONS(3270),
    [anon_sym_PLUS] = ACTIONS(3268),
    [anon_sym_DASH] = ACTIONS(3268),
    [anon_sym_STAR] = ACTIONS(3268),
    [anon_sym_SLASH] = ACTIONS(3268),
    [anon_sym_PERCENT] = ACTIONS(3268),
    [anon_sym_PLUS_PLUS] = ACTIONS(3270),
    [anon_sym_DASH_DASH] = ACTIONS(3270),
    [anon_sym_PIPE] = ACTIONS(3270),
    [anon_sym_CARET] = ACTIONS(3268),
    [anon_sym_LT_LT] = ACTIONS(3270),
    [anon_sym_GT_GT] = ACTIONS(3270),
    [anon_sym_class] = ACTIONS(3270),
    [anon_sym_prefix] = ACTIONS(3270),
    [anon_sym_infix] = ACTIONS(3270),
    [anon_sym_postfix] = ACTIONS(3270),
    [anon_sym_AT] = ACTIONS(3268),
    [anon_sym_override] = ACTIONS(3270),
    [anon_sym_convenience] = ACTIONS(3270),
    [anon_sym_required] = ACTIONS(3270),
    [anon_sym_nonisolated] = ACTIONS(3270),
    [anon_sym_public] = ACTIONS(3270),
    [anon_sym_private] = ACTIONS(3270),
    [anon_sym_internal] = ACTIONS(3270),
    [anon_sym_fileprivate] = ACTIONS(3270),
    [anon_sym_open] = ACTIONS(3270),
    [anon_sym_mutating] = ACTIONS(3270),
    [anon_sym_nonmutating] = ACTIONS(3270),
    [anon_sym_static] = ACTIONS(3270),
    [anon_sym_dynamic] = ACTIONS(3270),
    [anon_sym_optional] = ACTIONS(3270),
    [anon_sym_distributed] = ACTIONS(3270),
    [anon_sym_final] = ACTIONS(3270),
    [anon_sym_inout] = ACTIONS(3270),
    [anon_sym_ATescaping] = ACTIONS(3270),
    [anon_sym_ATautoclosure] = ACTIONS(3270),
    [anon_sym_weak] = ACTIONS(3270),
    [anon_sym_unowned] = ACTIONS(3268),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3270),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3270),
    [anon_sym_borrowing] = ACTIONS(3270),
    [anon_sym_consuming] = ACTIONS(3270),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3270),
    [sym__explicit_semi] = ACTIONS(3270),
    [sym__dot_custom] = ACTIONS(3270),
    [sym__conjunction_operator_custom] = ACTIONS(3270),
    [sym__disjunction_operator_custom] = ACTIONS(3270),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3270),
    [sym__eq_custom] = ACTIONS(3270),
    [sym__eq_eq_custom] = ACTIONS(3270),
    [sym__plus_then_ws] = ACTIONS(3270),
    [sym__minus_then_ws] = ACTIONS(3270),
    [sym__bang_custom] = ACTIONS(3270),
    [sym_default_keyword] = ACTIONS(3270),
    [sym__as_custom] = ACTIONS(3270),
    [sym__as_quest_custom] = ACTIONS(3270),
    [sym__as_bang_custom] = ACTIONS(3270),
    [sym__custom_operator] = ACTIONS(3270),
  },
  [1298] = {
    [anon_sym_BANG] = ACTIONS(3409),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3411),
    [anon_sym_package] = ACTIONS(3411),
    [anon_sym_COMMA] = ACTIONS(3411),
    [anon_sym_LPAREN] = ACTIONS(3411),
    [anon_sym_LBRACK] = ACTIONS(3411),
    [anon_sym_QMARK] = ACTIONS(3409),
    [anon_sym_QMARK2] = ACTIONS(3411),
    [anon_sym_AMP] = ACTIONS(3411),
    [aux_sym_custom_operator_token1] = ACTIONS(3411),
    [anon_sym_LT] = ACTIONS(3409),
    [anon_sym_GT] = ACTIONS(3409),
    [anon_sym_LBRACE] = ACTIONS(3411),
    [anon_sym_CARET_LBRACE] = ACTIONS(3411),
    [anon_sym_RBRACE] = ACTIONS(3411),
    [anon_sym_case] = ACTIONS(3411),
    [anon_sym_fallthrough] = ACTIONS(3411),
    [anon_sym_PLUS_EQ] = ACTIONS(3411),
    [anon_sym_DASH_EQ] = ACTIONS(3411),
    [anon_sym_STAR_EQ] = ACTIONS(3411),
    [anon_sym_SLASH_EQ] = ACTIONS(3411),
    [anon_sym_PERCENT_EQ] = ACTIONS(3411),
    [anon_sym_BANG_EQ] = ACTIONS(3409),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3411),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3411),
    [anon_sym_LT_EQ] = ACTIONS(3411),
    [anon_sym_GT_EQ] = ACTIONS(3411),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3411),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3411),
    [anon_sym_is] = ACTIONS(3411),
    [anon_sym_PLUS] = ACTIONS(3409),
    [anon_sym_DASH] = ACTIONS(3409),
    [anon_sym_STAR] = ACTIONS(3409),
    [anon_sym_SLASH] = ACTIONS(3409),
    [anon_sym_PERCENT] = ACTIONS(3409),
    [anon_sym_PLUS_PLUS] = ACTIONS(3411),
    [anon_sym_DASH_DASH] = ACTIONS(3411),
    [anon_sym_PIPE] = ACTIONS(3411),
    [anon_sym_CARET] = ACTIONS(3409),
    [anon_sym_LT_LT] = ACTIONS(3411),
    [anon_sym_GT_GT] = ACTIONS(3411),
    [anon_sym_class] = ACTIONS(3411),
    [anon_sym_prefix] = ACTIONS(3411),
    [anon_sym_infix] = ACTIONS(3411),
    [anon_sym_postfix] = ACTIONS(3411),
    [anon_sym_AT] = ACTIONS(3409),
    [anon_sym_override] = ACTIONS(3411),
    [anon_sym_convenience] = ACTIONS(3411),
    [anon_sym_required] = ACTIONS(3411),
    [anon_sym_nonisolated] = ACTIONS(3411),
    [anon_sym_public] = ACTIONS(3411),
    [anon_sym_private] = ACTIONS(3411),
    [anon_sym_internal] = ACTIONS(3411),
    [anon_sym_fileprivate] = ACTIONS(3411),
    [anon_sym_open] = ACTIONS(3411),
    [anon_sym_mutating] = ACTIONS(3411),
    [anon_sym_nonmutating] = ACTIONS(3411),
    [anon_sym_static] = ACTIONS(3411),
    [anon_sym_dynamic] = ACTIONS(3411),
    [anon_sym_optional] = ACTIONS(3411),
    [anon_sym_distributed] = ACTIONS(3411),
    [anon_sym_final] = ACTIONS(3411),
    [anon_sym_inout] = ACTIONS(3411),
    [anon_sym_ATescaping] = ACTIONS(3411),
    [anon_sym_ATautoclosure] = ACTIONS(3411),
    [anon_sym_weak] = ACTIONS(3411),
    [anon_sym_unowned] = ACTIONS(3409),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3411),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3411),
    [anon_sym_borrowing] = ACTIONS(3411),
    [anon_sym_consuming] = ACTIONS(3411),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3411),
    [sym__explicit_semi] = ACTIONS(3411),
    [sym__dot_custom] = ACTIONS(3411),
    [sym__conjunction_operator_custom] = ACTIONS(3411),
    [sym__disjunction_operator_custom] = ACTIONS(3411),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3411),
    [sym__eq_custom] = ACTIONS(3411),
    [sym__eq_eq_custom] = ACTIONS(3411),
    [sym__plus_then_ws] = ACTIONS(3411),
    [sym__minus_then_ws] = ACTIONS(3411),
    [sym__bang_custom] = ACTIONS(3411),
    [sym_default_keyword] = ACTIONS(3411),
    [sym_where_keyword] = ACTIONS(3411),
    [sym__as_custom] = ACTIONS(3411),
    [sym__as_quest_custom] = ACTIONS(3411),
    [sym__as_bang_custom] = ACTIONS(3411),
    [sym__custom_operator] = ACTIONS(3411),
  },
  [1299] = {
    [anon_sym_BANG] = ACTIONS(3557),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3559),
    [anon_sym_package] = ACTIONS(3559),
    [anon_sym_COMMA] = ACTIONS(3559),
    [anon_sym_LPAREN] = ACTIONS(3559),
    [anon_sym_LBRACK] = ACTIONS(3559),
    [anon_sym_QMARK] = ACTIONS(3557),
    [anon_sym_QMARK2] = ACTIONS(3559),
    [anon_sym_AMP] = ACTIONS(3559),
    [aux_sym_custom_operator_token1] = ACTIONS(3559),
    [anon_sym_LT] = ACTIONS(3557),
    [anon_sym_GT] = ACTIONS(3557),
    [anon_sym_LBRACE] = ACTIONS(3559),
    [anon_sym_CARET_LBRACE] = ACTIONS(3559),
    [anon_sym_RBRACE] = ACTIONS(3559),
    [anon_sym_case] = ACTIONS(3559),
    [anon_sym_fallthrough] = ACTIONS(3559),
    [anon_sym_PLUS_EQ] = ACTIONS(3559),
    [anon_sym_DASH_EQ] = ACTIONS(3559),
    [anon_sym_STAR_EQ] = ACTIONS(3559),
    [anon_sym_SLASH_EQ] = ACTIONS(3559),
    [anon_sym_PERCENT_EQ] = ACTIONS(3559),
    [anon_sym_BANG_EQ] = ACTIONS(3557),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3559),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3559),
    [anon_sym_LT_EQ] = ACTIONS(3559),
    [anon_sym_GT_EQ] = ACTIONS(3559),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3559),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3559),
    [anon_sym_is] = ACTIONS(3559),
    [anon_sym_PLUS] = ACTIONS(3557),
    [anon_sym_DASH] = ACTIONS(3557),
    [anon_sym_STAR] = ACTIONS(3557),
    [anon_sym_SLASH] = ACTIONS(3557),
    [anon_sym_PERCENT] = ACTIONS(3557),
    [anon_sym_PLUS_PLUS] = ACTIONS(3559),
    [anon_sym_DASH_DASH] = ACTIONS(3559),
    [anon_sym_PIPE] = ACTIONS(3559),
    [anon_sym_CARET] = ACTIONS(3557),
    [anon_sym_LT_LT] = ACTIONS(3559),
    [anon_sym_GT_GT] = ACTIONS(3559),
    [anon_sym_class] = ACTIONS(3559),
    [anon_sym_prefix] = ACTIONS(3559),
    [anon_sym_infix] = ACTIONS(3559),
    [anon_sym_postfix] = ACTIONS(3559),
    [anon_sym_AT] = ACTIONS(3557),
    [anon_sym_override] = ACTIONS(3559),
    [anon_sym_convenience] = ACTIONS(3559),
    [anon_sym_required] = ACTIONS(3559),
    [anon_sym_nonisolated] = ACTIONS(3559),
    [anon_sym_public] = ACTIONS(3559),
    [anon_sym_private] = ACTIONS(3559),
    [anon_sym_internal] = ACTIONS(3559),
    [anon_sym_fileprivate] = ACTIONS(3559),
    [anon_sym_open] = ACTIONS(3559),
    [anon_sym_mutating] = ACTIONS(3559),
    [anon_sym_nonmutating] = ACTIONS(3559),
    [anon_sym_static] = ACTIONS(3559),
    [anon_sym_dynamic] = ACTIONS(3559),
    [anon_sym_optional] = ACTIONS(3559),
    [anon_sym_distributed] = ACTIONS(3559),
    [anon_sym_final] = ACTIONS(3559),
    [anon_sym_inout] = ACTIONS(3559),
    [anon_sym_ATescaping] = ACTIONS(3559),
    [anon_sym_ATautoclosure] = ACTIONS(3559),
    [anon_sym_weak] = ACTIONS(3559),
    [anon_sym_unowned] = ACTIONS(3557),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3559),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3559),
    [anon_sym_borrowing] = ACTIONS(3559),
    [anon_sym_consuming] = ACTIONS(3559),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3559),
    [sym__explicit_semi] = ACTIONS(3559),
    [sym__dot_custom] = ACTIONS(3559),
    [sym__conjunction_operator_custom] = ACTIONS(3559),
    [sym__disjunction_operator_custom] = ACTIONS(3559),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3559),
    [sym__eq_custom] = ACTIONS(3559),
    [sym__eq_eq_custom] = ACTIONS(3559),
    [sym__plus_then_ws] = ACTIONS(3559),
    [sym__minus_then_ws] = ACTIONS(3559),
    [sym__bang_custom] = ACTIONS(3559),
    [sym_default_keyword] = ACTIONS(3559),
    [sym_where_keyword] = ACTIONS(3559),
    [sym__as_custom] = ACTIONS(3559),
    [sym__as_quest_custom] = ACTIONS(3559),
    [sym__as_bang_custom] = ACTIONS(3559),
    [sym__custom_operator] = ACTIONS(3559),
  },
  [1300] = {
    [anon_sym_BANG] = ACTIONS(3589),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3591),
    [anon_sym_package] = ACTIONS(3591),
    [anon_sym_COMMA] = ACTIONS(3591),
    [anon_sym_LPAREN] = ACTIONS(3591),
    [anon_sym_LBRACK] = ACTIONS(3591),
    [anon_sym_QMARK] = ACTIONS(3589),
    [anon_sym_QMARK2] = ACTIONS(3591),
    [anon_sym_AMP] = ACTIONS(3591),
    [aux_sym_custom_operator_token1] = ACTIONS(3591),
    [anon_sym_LT] = ACTIONS(3589),
    [anon_sym_GT] = ACTIONS(3589),
    [anon_sym_LBRACE] = ACTIONS(3591),
    [anon_sym_CARET_LBRACE] = ACTIONS(3591),
    [anon_sym_RBRACE] = ACTIONS(3591),
    [anon_sym_case] = ACTIONS(3591),
    [anon_sym_fallthrough] = ACTIONS(3591),
    [anon_sym_PLUS_EQ] = ACTIONS(3591),
    [anon_sym_DASH_EQ] = ACTIONS(3591),
    [anon_sym_STAR_EQ] = ACTIONS(3591),
    [anon_sym_SLASH_EQ] = ACTIONS(3591),
    [anon_sym_PERCENT_EQ] = ACTIONS(3591),
    [anon_sym_BANG_EQ] = ACTIONS(3589),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3591),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3591),
    [anon_sym_LT_EQ] = ACTIONS(3591),
    [anon_sym_GT_EQ] = ACTIONS(3591),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3591),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3591),
    [anon_sym_is] = ACTIONS(3591),
    [anon_sym_PLUS] = ACTIONS(3589),
    [anon_sym_DASH] = ACTIONS(3589),
    [anon_sym_STAR] = ACTIONS(3589),
    [anon_sym_SLASH] = ACTIONS(3589),
    [anon_sym_PERCENT] = ACTIONS(3589),
    [anon_sym_PLUS_PLUS] = ACTIONS(3591),
    [anon_sym_DASH_DASH] = ACTIONS(3591),
    [anon_sym_PIPE] = ACTIONS(3591),
    [anon_sym_CARET] = ACTIONS(3589),
    [anon_sym_LT_LT] = ACTIONS(3591),
    [anon_sym_GT_GT] = ACTIONS(3591),
    [anon_sym_class] = ACTIONS(3591),
    [anon_sym_prefix] = ACTIONS(3591),
    [anon_sym_infix] = ACTIONS(3591),
    [anon_sym_postfix] = ACTIONS(3591),
    [anon_sym_AT] = ACTIONS(3589),
    [anon_sym_override] = ACTIONS(3591),
    [anon_sym_convenience] = ACTIONS(3591),
    [anon_sym_required] = ACTIONS(3591),
    [anon_sym_nonisolated] = ACTIONS(3591),
    [anon_sym_public] = ACTIONS(3591),
    [anon_sym_private] = ACTIONS(3591),
    [anon_sym_internal] = ACTIONS(3591),
    [anon_sym_fileprivate] = ACTIONS(3591),
    [anon_sym_open] = ACTIONS(3591),
    [anon_sym_mutating] = ACTIONS(3591),
    [anon_sym_nonmutating] = ACTIONS(3591),
    [anon_sym_static] = ACTIONS(3591),
    [anon_sym_dynamic] = ACTIONS(3591),
    [anon_sym_optional] = ACTIONS(3591),
    [anon_sym_distributed] = ACTIONS(3591),
    [anon_sym_final] = ACTIONS(3591),
    [anon_sym_inout] = ACTIONS(3591),
    [anon_sym_ATescaping] = ACTIONS(3591),
    [anon_sym_ATautoclosure] = ACTIONS(3591),
    [anon_sym_weak] = ACTIONS(3591),
    [anon_sym_unowned] = ACTIONS(3589),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3591),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3591),
    [anon_sym_borrowing] = ACTIONS(3591),
    [anon_sym_consuming] = ACTIONS(3591),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3591),
    [sym__explicit_semi] = ACTIONS(3591),
    [sym__dot_custom] = ACTIONS(3591),
    [sym__conjunction_operator_custom] = ACTIONS(3591),
    [sym__disjunction_operator_custom] = ACTIONS(3591),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3591),
    [sym__eq_custom] = ACTIONS(3591),
    [sym__eq_eq_custom] = ACTIONS(3591),
    [sym__plus_then_ws] = ACTIONS(3591),
    [sym__minus_then_ws] = ACTIONS(3591),
    [sym__bang_custom] = ACTIONS(3591),
    [sym_default_keyword] = ACTIONS(3591),
    [sym_where_keyword] = ACTIONS(3591),
    [sym__as_custom] = ACTIONS(3591),
    [sym__as_quest_custom] = ACTIONS(3591),
    [sym__as_bang_custom] = ACTIONS(3591),
    [sym__custom_operator] = ACTIONS(3591),
  },
  [1301] = {
    [anon_sym_BANG] = ACTIONS(3198),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3200),
    [anon_sym_package] = ACTIONS(3200),
    [anon_sym_COMMA] = ACTIONS(3200),
    [anon_sym_LPAREN] = ACTIONS(3200),
    [anon_sym_LBRACK] = ACTIONS(3200),
    [anon_sym_DOT] = ACTIONS(3198),
    [anon_sym_QMARK] = ACTIONS(3198),
    [anon_sym_QMARK2] = ACTIONS(3200),
    [anon_sym_AMP] = ACTIONS(3200),
    [aux_sym_custom_operator_token1] = ACTIONS(3200),
    [anon_sym_LT] = ACTIONS(3198),
    [anon_sym_GT] = ACTIONS(3198),
    [anon_sym_LBRACE] = ACTIONS(3200),
    [anon_sym_CARET_LBRACE] = ACTIONS(3200),
    [anon_sym_RBRACE] = ACTIONS(3200),
    [anon_sym_case] = ACTIONS(3200),
    [anon_sym_fallthrough] = ACTIONS(3200),
    [anon_sym_PLUS_EQ] = ACTIONS(3200),
    [anon_sym_DASH_EQ] = ACTIONS(3200),
    [anon_sym_STAR_EQ] = ACTIONS(3200),
    [anon_sym_SLASH_EQ] = ACTIONS(3200),
    [anon_sym_PERCENT_EQ] = ACTIONS(3200),
    [anon_sym_BANG_EQ] = ACTIONS(3198),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3200),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3200),
    [anon_sym_LT_EQ] = ACTIONS(3200),
    [anon_sym_GT_EQ] = ACTIONS(3200),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3200),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3200),
    [anon_sym_is] = ACTIONS(3200),
    [anon_sym_PLUS] = ACTIONS(3198),
    [anon_sym_DASH] = ACTIONS(3198),
    [anon_sym_STAR] = ACTIONS(3198),
    [anon_sym_SLASH] = ACTIONS(3198),
    [anon_sym_PERCENT] = ACTIONS(3198),
    [anon_sym_PLUS_PLUS] = ACTIONS(3200),
    [anon_sym_DASH_DASH] = ACTIONS(3200),
    [anon_sym_PIPE] = ACTIONS(3200),
    [anon_sym_CARET] = ACTIONS(3198),
    [anon_sym_LT_LT] = ACTIONS(3200),
    [anon_sym_GT_GT] = ACTIONS(3200),
    [anon_sym_class] = ACTIONS(3200),
    [anon_sym_prefix] = ACTIONS(3200),
    [anon_sym_infix] = ACTIONS(3200),
    [anon_sym_postfix] = ACTIONS(3200),
    [anon_sym_AT] = ACTIONS(3198),
    [anon_sym_override] = ACTIONS(3200),
    [anon_sym_convenience] = ACTIONS(3200),
    [anon_sym_required] = ACTIONS(3200),
    [anon_sym_nonisolated] = ACTIONS(3200),
    [anon_sym_public] = ACTIONS(3200),
    [anon_sym_private] = ACTIONS(3200),
    [anon_sym_internal] = ACTIONS(3200),
    [anon_sym_fileprivate] = ACTIONS(3200),
    [anon_sym_open] = ACTIONS(3200),
    [anon_sym_mutating] = ACTIONS(3200),
    [anon_sym_nonmutating] = ACTIONS(3200),
    [anon_sym_static] = ACTIONS(3200),
    [anon_sym_dynamic] = ACTIONS(3200),
    [anon_sym_optional] = ACTIONS(3200),
    [anon_sym_distributed] = ACTIONS(3200),
    [anon_sym_final] = ACTIONS(3200),
    [anon_sym_inout] = ACTIONS(3200),
    [anon_sym_ATescaping] = ACTIONS(3200),
    [anon_sym_ATautoclosure] = ACTIONS(3200),
    [anon_sym_weak] = ACTIONS(3200),
    [anon_sym_unowned] = ACTIONS(3198),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3200),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3200),
    [anon_sym_borrowing] = ACTIONS(3200),
    [anon_sym_consuming] = ACTIONS(3200),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3200),
    [sym__explicit_semi] = ACTIONS(3200),
    [sym__dot_custom] = ACTIONS(3200),
    [sym__conjunction_operator_custom] = ACTIONS(3200),
    [sym__disjunction_operator_custom] = ACTIONS(3200),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3200),
    [sym__eq_custom] = ACTIONS(3200),
    [sym__eq_eq_custom] = ACTIONS(3200),
    [sym__plus_then_ws] = ACTIONS(3200),
    [sym__minus_then_ws] = ACTIONS(3200),
    [sym__bang_custom] = ACTIONS(3200),
    [sym_default_keyword] = ACTIONS(3200),
    [sym__as_custom] = ACTIONS(3200),
    [sym__as_quest_custom] = ACTIONS(3200),
    [sym__as_bang_custom] = ACTIONS(3200),
    [sym__custom_operator] = ACTIONS(3200),
  },
  [1302] = {
    [aux_sym_repeat_while_statement_repeat1] = STATE(7521),
    [anon_sym_BANG] = ACTIONS(3219),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3221),
    [anon_sym_package] = ACTIONS(3221),
    [anon_sym_LPAREN] = ACTIONS(3221),
    [anon_sym_LBRACK] = ACTIONS(3221),
    [anon_sym_QMARK] = ACTIONS(3219),
    [anon_sym_QMARK2] = ACTIONS(3221),
    [anon_sym_AMP] = ACTIONS(3221),
    [aux_sym_custom_operator_token1] = ACTIONS(3221),
    [anon_sym_LT] = ACTIONS(3219),
    [anon_sym_GT] = ACTIONS(3219),
    [anon_sym_LBRACE] = ACTIONS(3221),
    [anon_sym_CARET_LBRACE] = ACTIONS(3221),
    [anon_sym_RBRACE] = ACTIONS(3221),
    [anon_sym_case] = ACTIONS(3221),
    [anon_sym_fallthrough] = ACTIONS(3221),
    [anon_sym_PLUS_EQ] = ACTIONS(3221),
    [anon_sym_DASH_EQ] = ACTIONS(3221),
    [anon_sym_STAR_EQ] = ACTIONS(3221),
    [anon_sym_SLASH_EQ] = ACTIONS(3221),
    [anon_sym_PERCENT_EQ] = ACTIONS(3221),
    [anon_sym_BANG_EQ] = ACTIONS(3219),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3221),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3221),
    [anon_sym_LT_EQ] = ACTIONS(3221),
    [anon_sym_GT_EQ] = ACTIONS(3221),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3221),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3221),
    [anon_sym_is] = ACTIONS(3221),
    [anon_sym_PLUS] = ACTIONS(3219),
    [anon_sym_DASH] = ACTIONS(3219),
    [anon_sym_STAR] = ACTIONS(3219),
    [anon_sym_SLASH] = ACTIONS(3219),
    [anon_sym_PERCENT] = ACTIONS(3219),
    [anon_sym_PLUS_PLUS] = ACTIONS(3221),
    [anon_sym_DASH_DASH] = ACTIONS(3221),
    [anon_sym_PIPE] = ACTIONS(3221),
    [anon_sym_CARET] = ACTIONS(3219),
    [anon_sym_LT_LT] = ACTIONS(3221),
    [anon_sym_GT_GT] = ACTIONS(3221),
    [anon_sym_while] = ACTIONS(4319),
    [anon_sym_class] = ACTIONS(3221),
    [anon_sym_prefix] = ACTIONS(3221),
    [anon_sym_infix] = ACTIONS(3221),
    [anon_sym_postfix] = ACTIONS(3221),
    [anon_sym_AT] = ACTIONS(3219),
    [anon_sym_override] = ACTIONS(3221),
    [anon_sym_convenience] = ACTIONS(3221),
    [anon_sym_required] = ACTIONS(3221),
    [anon_sym_nonisolated] = ACTIONS(3221),
    [anon_sym_public] = ACTIONS(3221),
    [anon_sym_private] = ACTIONS(3221),
    [anon_sym_internal] = ACTIONS(3221),
    [anon_sym_fileprivate] = ACTIONS(3221),
    [anon_sym_open] = ACTIONS(3221),
    [anon_sym_mutating] = ACTIONS(3221),
    [anon_sym_nonmutating] = ACTIONS(3221),
    [anon_sym_static] = ACTIONS(3221),
    [anon_sym_dynamic] = ACTIONS(3221),
    [anon_sym_optional] = ACTIONS(3221),
    [anon_sym_distributed] = ACTIONS(3221),
    [anon_sym_final] = ACTIONS(3221),
    [anon_sym_inout] = ACTIONS(3221),
    [anon_sym_ATescaping] = ACTIONS(3221),
    [anon_sym_ATautoclosure] = ACTIONS(3221),
    [anon_sym_weak] = ACTIONS(3221),
    [anon_sym_unowned] = ACTIONS(3219),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3221),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3221),
    [anon_sym_borrowing] = ACTIONS(3221),
    [anon_sym_consuming] = ACTIONS(3221),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(4321),
    [sym__explicit_semi] = ACTIONS(3221),
    [sym__dot_custom] = ACTIONS(3221),
    [sym__conjunction_operator_custom] = ACTIONS(3221),
    [sym__disjunction_operator_custom] = ACTIONS(3221),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3221),
    [sym__eq_custom] = ACTIONS(3221),
    [sym__eq_eq_custom] = ACTIONS(3221),
    [sym__plus_then_ws] = ACTIONS(3221),
    [sym__minus_then_ws] = ACTIONS(3221),
    [sym__bang_custom] = ACTIONS(3221),
    [sym_default_keyword] = ACTIONS(3221),
    [sym__as_custom] = ACTIONS(3221),
    [sym__as_quest_custom] = ACTIONS(3221),
    [sym__as_bang_custom] = ACTIONS(3221),
    [sym__custom_operator] = ACTIONS(3221),
  },
  [1303] = {
    [anon_sym_BANG] = ACTIONS(3501),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3503),
    [anon_sym_package] = ACTIONS(3503),
    [anon_sym_COMMA] = ACTIONS(3503),
    [anon_sym_LPAREN] = ACTIONS(3503),
    [anon_sym_LBRACK] = ACTIONS(3503),
    [anon_sym_QMARK] = ACTIONS(3501),
    [anon_sym_QMARK2] = ACTIONS(3503),
    [anon_sym_AMP] = ACTIONS(3503),
    [aux_sym_custom_operator_token1] = ACTIONS(3503),
    [anon_sym_LT] = ACTIONS(3501),
    [anon_sym_GT] = ACTIONS(3501),
    [anon_sym_LBRACE] = ACTIONS(3503),
    [anon_sym_CARET_LBRACE] = ACTIONS(3503),
    [anon_sym_RBRACE] = ACTIONS(3503),
    [anon_sym_case] = ACTIONS(3503),
    [anon_sym_fallthrough] = ACTIONS(3503),
    [anon_sym_PLUS_EQ] = ACTIONS(3503),
    [anon_sym_DASH_EQ] = ACTIONS(3503),
    [anon_sym_STAR_EQ] = ACTIONS(3503),
    [anon_sym_SLASH_EQ] = ACTIONS(3503),
    [anon_sym_PERCENT_EQ] = ACTIONS(3503),
    [anon_sym_BANG_EQ] = ACTIONS(3501),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3503),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3503),
    [anon_sym_LT_EQ] = ACTIONS(3503),
    [anon_sym_GT_EQ] = ACTIONS(3503),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3503),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3503),
    [anon_sym_is] = ACTIONS(3503),
    [anon_sym_PLUS] = ACTIONS(3501),
    [anon_sym_DASH] = ACTIONS(3501),
    [anon_sym_STAR] = ACTIONS(3501),
    [anon_sym_SLASH] = ACTIONS(3501),
    [anon_sym_PERCENT] = ACTIONS(3501),
    [anon_sym_PLUS_PLUS] = ACTIONS(3503),
    [anon_sym_DASH_DASH] = ACTIONS(3503),
    [anon_sym_PIPE] = ACTIONS(3503),
    [anon_sym_CARET] = ACTIONS(3501),
    [anon_sym_LT_LT] = ACTIONS(3503),
    [anon_sym_GT_GT] = ACTIONS(3503),
    [anon_sym_class] = ACTIONS(3503),
    [anon_sym_prefix] = ACTIONS(3503),
    [anon_sym_infix] = ACTIONS(3503),
    [anon_sym_postfix] = ACTIONS(3503),
    [anon_sym_AT] = ACTIONS(3501),
    [anon_sym_override] = ACTIONS(3503),
    [anon_sym_convenience] = ACTIONS(3503),
    [anon_sym_required] = ACTIONS(3503),
    [anon_sym_nonisolated] = ACTIONS(3503),
    [anon_sym_public] = ACTIONS(3503),
    [anon_sym_private] = ACTIONS(3503),
    [anon_sym_internal] = ACTIONS(3503),
    [anon_sym_fileprivate] = ACTIONS(3503),
    [anon_sym_open] = ACTIONS(3503),
    [anon_sym_mutating] = ACTIONS(3503),
    [anon_sym_nonmutating] = ACTIONS(3503),
    [anon_sym_static] = ACTIONS(3503),
    [anon_sym_dynamic] = ACTIONS(3503),
    [anon_sym_optional] = ACTIONS(3503),
    [anon_sym_distributed] = ACTIONS(3503),
    [anon_sym_final] = ACTIONS(3503),
    [anon_sym_inout] = ACTIONS(3503),
    [anon_sym_ATescaping] = ACTIONS(3503),
    [anon_sym_ATautoclosure] = ACTIONS(3503),
    [anon_sym_weak] = ACTIONS(3503),
    [anon_sym_unowned] = ACTIONS(3501),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3503),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3503),
    [anon_sym_borrowing] = ACTIONS(3503),
    [anon_sym_consuming] = ACTIONS(3503),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3503),
    [sym__explicit_semi] = ACTIONS(3503),
    [sym__dot_custom] = ACTIONS(3503),
    [sym__conjunction_operator_custom] = ACTIONS(3503),
    [sym__disjunction_operator_custom] = ACTIONS(3503),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3503),
    [sym__eq_custom] = ACTIONS(3503),
    [sym__eq_eq_custom] = ACTIONS(3503),
    [sym__plus_then_ws] = ACTIONS(3503),
    [sym__minus_then_ws] = ACTIONS(3503),
    [sym__bang_custom] = ACTIONS(3503),
    [sym_default_keyword] = ACTIONS(3503),
    [sym_where_keyword] = ACTIONS(3503),
    [sym__as_custom] = ACTIONS(3503),
    [sym__as_quest_custom] = ACTIONS(3503),
    [sym__as_bang_custom] = ACTIONS(3503),
    [sym__custom_operator] = ACTIONS(3503),
  },
  [1304] = {
    [anon_sym_BANG] = ACTIONS(3377),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3379),
    [anon_sym_package] = ACTIONS(3379),
    [anon_sym_COMMA] = ACTIONS(3379),
    [anon_sym_LPAREN] = ACTIONS(3379),
    [anon_sym_LBRACK] = ACTIONS(3379),
    [anon_sym_QMARK] = ACTIONS(3377),
    [anon_sym_QMARK2] = ACTIONS(3379),
    [anon_sym_AMP] = ACTIONS(3379),
    [aux_sym_custom_operator_token1] = ACTIONS(3379),
    [anon_sym_LT] = ACTIONS(3377),
    [anon_sym_GT] = ACTIONS(3377),
    [anon_sym_LBRACE] = ACTIONS(3379),
    [anon_sym_CARET_LBRACE] = ACTIONS(3379),
    [anon_sym_RBRACE] = ACTIONS(3379),
    [anon_sym_case] = ACTIONS(3379),
    [anon_sym_fallthrough] = ACTIONS(3379),
    [anon_sym_PLUS_EQ] = ACTIONS(3379),
    [anon_sym_DASH_EQ] = ACTIONS(3379),
    [anon_sym_STAR_EQ] = ACTIONS(3379),
    [anon_sym_SLASH_EQ] = ACTIONS(3379),
    [anon_sym_PERCENT_EQ] = ACTIONS(3379),
    [anon_sym_BANG_EQ] = ACTIONS(3377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3379),
    [anon_sym_LT_EQ] = ACTIONS(3379),
    [anon_sym_GT_EQ] = ACTIONS(3379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3379),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3379),
    [anon_sym_is] = ACTIONS(3379),
    [anon_sym_PLUS] = ACTIONS(3377),
    [anon_sym_DASH] = ACTIONS(3377),
    [anon_sym_STAR] = ACTIONS(3377),
    [anon_sym_SLASH] = ACTIONS(3377),
    [anon_sym_PERCENT] = ACTIONS(3377),
    [anon_sym_PLUS_PLUS] = ACTIONS(3379),
    [anon_sym_DASH_DASH] = ACTIONS(3379),
    [anon_sym_PIPE] = ACTIONS(3379),
    [anon_sym_CARET] = ACTIONS(3377),
    [anon_sym_LT_LT] = ACTIONS(3379),
    [anon_sym_GT_GT] = ACTIONS(3379),
    [anon_sym_class] = ACTIONS(3379),
    [anon_sym_prefix] = ACTIONS(3379),
    [anon_sym_infix] = ACTIONS(3379),
    [anon_sym_postfix] = ACTIONS(3379),
    [anon_sym_AT] = ACTIONS(3377),
    [anon_sym_override] = ACTIONS(3379),
    [anon_sym_convenience] = ACTIONS(3379),
    [anon_sym_required] = ACTIONS(3379),
    [anon_sym_nonisolated] = ACTIONS(3379),
    [anon_sym_public] = ACTIONS(3379),
    [anon_sym_private] = ACTIONS(3379),
    [anon_sym_internal] = ACTIONS(3379),
    [anon_sym_fileprivate] = ACTIONS(3379),
    [anon_sym_open] = ACTIONS(3379),
    [anon_sym_mutating] = ACTIONS(3379),
    [anon_sym_nonmutating] = ACTIONS(3379),
    [anon_sym_static] = ACTIONS(3379),
    [anon_sym_dynamic] = ACTIONS(3379),
    [anon_sym_optional] = ACTIONS(3379),
    [anon_sym_distributed] = ACTIONS(3379),
    [anon_sym_final] = ACTIONS(3379),
    [anon_sym_inout] = ACTIONS(3379),
    [anon_sym_ATescaping] = ACTIONS(3379),
    [anon_sym_ATautoclosure] = ACTIONS(3379),
    [anon_sym_weak] = ACTIONS(3379),
    [anon_sym_unowned] = ACTIONS(3377),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3379),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3379),
    [anon_sym_borrowing] = ACTIONS(3379),
    [anon_sym_consuming] = ACTIONS(3379),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3379),
    [sym__explicit_semi] = ACTIONS(3379),
    [sym__dot_custom] = ACTIONS(3379),
    [sym__conjunction_operator_custom] = ACTIONS(3379),
    [sym__disjunction_operator_custom] = ACTIONS(3379),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3379),
    [sym__eq_custom] = ACTIONS(3379),
    [sym__eq_eq_custom] = ACTIONS(3379),
    [sym__plus_then_ws] = ACTIONS(3379),
    [sym__minus_then_ws] = ACTIONS(3379),
    [sym__bang_custom] = ACTIONS(3379),
    [sym_default_keyword] = ACTIONS(3379),
    [sym_where_keyword] = ACTIONS(3379),
    [sym__as_custom] = ACTIONS(3379),
    [sym__as_quest_custom] = ACTIONS(3379),
    [sym__as_bang_custom] = ACTIONS(3379),
    [sym__custom_operator] = ACTIONS(3379),
  },
  [1305] = {
    [anon_sym_BANG] = ACTIONS(3433),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3435),
    [anon_sym_package] = ACTIONS(3435),
    [anon_sym_COMMA] = ACTIONS(3435),
    [anon_sym_LPAREN] = ACTIONS(3435),
    [anon_sym_LBRACK] = ACTIONS(3435),
    [anon_sym_QMARK] = ACTIONS(3433),
    [anon_sym_QMARK2] = ACTIONS(3435),
    [anon_sym_AMP] = ACTIONS(3435),
    [aux_sym_custom_operator_token1] = ACTIONS(3435),
    [anon_sym_LT] = ACTIONS(3433),
    [anon_sym_GT] = ACTIONS(3433),
    [anon_sym_LBRACE] = ACTIONS(3435),
    [anon_sym_CARET_LBRACE] = ACTIONS(3435),
    [anon_sym_RBRACE] = ACTIONS(3435),
    [anon_sym_case] = ACTIONS(3435),
    [anon_sym_fallthrough] = ACTIONS(3435),
    [anon_sym_PLUS_EQ] = ACTIONS(3435),
    [anon_sym_DASH_EQ] = ACTIONS(3435),
    [anon_sym_STAR_EQ] = ACTIONS(3435),
    [anon_sym_SLASH_EQ] = ACTIONS(3435),
    [anon_sym_PERCENT_EQ] = ACTIONS(3435),
    [anon_sym_BANG_EQ] = ACTIONS(3433),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3435),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3435),
    [anon_sym_LT_EQ] = ACTIONS(3435),
    [anon_sym_GT_EQ] = ACTIONS(3435),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3435),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3435),
    [anon_sym_is] = ACTIONS(3435),
    [anon_sym_PLUS] = ACTIONS(3433),
    [anon_sym_DASH] = ACTIONS(3433),
    [anon_sym_STAR] = ACTIONS(3433),
    [anon_sym_SLASH] = ACTIONS(3433),
    [anon_sym_PERCENT] = ACTIONS(3433),
    [anon_sym_PLUS_PLUS] = ACTIONS(3435),
    [anon_sym_DASH_DASH] = ACTIONS(3435),
    [anon_sym_PIPE] = ACTIONS(3435),
    [anon_sym_CARET] = ACTIONS(3433),
    [anon_sym_LT_LT] = ACTIONS(3435),
    [anon_sym_GT_GT] = ACTIONS(3435),
    [anon_sym_class] = ACTIONS(3435),
    [anon_sym_prefix] = ACTIONS(3435),
    [anon_sym_infix] = ACTIONS(3435),
    [anon_sym_postfix] = ACTIONS(3435),
    [anon_sym_AT] = ACTIONS(3433),
    [anon_sym_override] = ACTIONS(3435),
    [anon_sym_convenience] = ACTIONS(3435),
    [anon_sym_required] = ACTIONS(3435),
    [anon_sym_nonisolated] = ACTIONS(3435),
    [anon_sym_public] = ACTIONS(3435),
    [anon_sym_private] = ACTIONS(3435),
    [anon_sym_internal] = ACTIONS(3435),
    [anon_sym_fileprivate] = ACTIONS(3435),
    [anon_sym_open] = ACTIONS(3435),
    [anon_sym_mutating] = ACTIONS(3435),
    [anon_sym_nonmutating] = ACTIONS(3435),
    [anon_sym_static] = ACTIONS(3435),
    [anon_sym_dynamic] = ACTIONS(3435),
    [anon_sym_optional] = ACTIONS(3435),
    [anon_sym_distributed] = ACTIONS(3435),
    [anon_sym_final] = ACTIONS(3435),
    [anon_sym_inout] = ACTIONS(3435),
    [anon_sym_ATescaping] = ACTIONS(3435),
    [anon_sym_ATautoclosure] = ACTIONS(3435),
    [anon_sym_weak] = ACTIONS(3435),
    [anon_sym_unowned] = ACTIONS(3433),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3435),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3435),
    [anon_sym_borrowing] = ACTIONS(3435),
    [anon_sym_consuming] = ACTIONS(3435),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3435),
    [sym__explicit_semi] = ACTIONS(3435),
    [sym__dot_custom] = ACTIONS(3435),
    [sym__conjunction_operator_custom] = ACTIONS(3435),
    [sym__disjunction_operator_custom] = ACTIONS(3435),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3435),
    [sym__eq_custom] = ACTIONS(3435),
    [sym__eq_eq_custom] = ACTIONS(3435),
    [sym__plus_then_ws] = ACTIONS(3435),
    [sym__minus_then_ws] = ACTIONS(3435),
    [sym__bang_custom] = ACTIONS(3435),
    [sym_default_keyword] = ACTIONS(3435),
    [sym_where_keyword] = ACTIONS(3435),
    [sym__as_custom] = ACTIONS(3435),
    [sym__as_quest_custom] = ACTIONS(3435),
    [sym__as_bang_custom] = ACTIONS(3435),
    [sym__custom_operator] = ACTIONS(3435),
  },
  [1306] = {
    [anon_sym_BANG] = ACTIONS(3645),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3647),
    [anon_sym_package] = ACTIONS(3647),
    [anon_sym_COMMA] = ACTIONS(3647),
    [anon_sym_LPAREN] = ACTIONS(3647),
    [anon_sym_LBRACK] = ACTIONS(3647),
    [anon_sym_QMARK] = ACTIONS(3645),
    [anon_sym_QMARK2] = ACTIONS(3647),
    [anon_sym_AMP] = ACTIONS(3647),
    [aux_sym_custom_operator_token1] = ACTIONS(3647),
    [anon_sym_LT] = ACTIONS(3645),
    [anon_sym_GT] = ACTIONS(3645),
    [anon_sym_LBRACE] = ACTIONS(3647),
    [anon_sym_CARET_LBRACE] = ACTIONS(3647),
    [anon_sym_RBRACE] = ACTIONS(3647),
    [anon_sym_case] = ACTIONS(3647),
    [anon_sym_fallthrough] = ACTIONS(3647),
    [anon_sym_PLUS_EQ] = ACTIONS(3647),
    [anon_sym_DASH_EQ] = ACTIONS(3647),
    [anon_sym_STAR_EQ] = ACTIONS(3647),
    [anon_sym_SLASH_EQ] = ACTIONS(3647),
    [anon_sym_PERCENT_EQ] = ACTIONS(3647),
    [anon_sym_BANG_EQ] = ACTIONS(3645),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3647),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3647),
    [anon_sym_LT_EQ] = ACTIONS(3647),
    [anon_sym_GT_EQ] = ACTIONS(3647),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3647),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3647),
    [anon_sym_is] = ACTIONS(3647),
    [anon_sym_PLUS] = ACTIONS(3645),
    [anon_sym_DASH] = ACTIONS(3645),
    [anon_sym_STAR] = ACTIONS(3645),
    [anon_sym_SLASH] = ACTIONS(3645),
    [anon_sym_PERCENT] = ACTIONS(3645),
    [anon_sym_PLUS_PLUS] = ACTIONS(3647),
    [anon_sym_DASH_DASH] = ACTIONS(3647),
    [anon_sym_PIPE] = ACTIONS(3647),
    [anon_sym_CARET] = ACTIONS(3645),
    [anon_sym_LT_LT] = ACTIONS(3647),
    [anon_sym_GT_GT] = ACTIONS(3647),
    [anon_sym_class] = ACTIONS(3647),
    [anon_sym_prefix] = ACTIONS(3647),
    [anon_sym_infix] = ACTIONS(3647),
    [anon_sym_postfix] = ACTIONS(3647),
    [anon_sym_AT] = ACTIONS(3645),
    [anon_sym_override] = ACTIONS(3647),
    [anon_sym_convenience] = ACTIONS(3647),
    [anon_sym_required] = ACTIONS(3647),
    [anon_sym_nonisolated] = ACTIONS(3647),
    [anon_sym_public] = ACTIONS(3647),
    [anon_sym_private] = ACTIONS(3647),
    [anon_sym_internal] = ACTIONS(3647),
    [anon_sym_fileprivate] = ACTIONS(3647),
    [anon_sym_open] = ACTIONS(3647),
    [anon_sym_mutating] = ACTIONS(3647),
    [anon_sym_nonmutating] = ACTIONS(3647),
    [anon_sym_static] = ACTIONS(3647),
    [anon_sym_dynamic] = ACTIONS(3647),
    [anon_sym_optional] = ACTIONS(3647),
    [anon_sym_distributed] = ACTIONS(3647),
    [anon_sym_final] = ACTIONS(3647),
    [anon_sym_inout] = ACTIONS(3647),
    [anon_sym_ATescaping] = ACTIONS(3647),
    [anon_sym_ATautoclosure] = ACTIONS(3647),
    [anon_sym_weak] = ACTIONS(3647),
    [anon_sym_unowned] = ACTIONS(3645),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3647),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3647),
    [anon_sym_borrowing] = ACTIONS(3647),
    [anon_sym_consuming] = ACTIONS(3647),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3647),
    [sym__explicit_semi] = ACTIONS(3647),
    [sym__dot_custom] = ACTIONS(3647),
    [sym__conjunction_operator_custom] = ACTIONS(3647),
    [sym__disjunction_operator_custom] = ACTIONS(3647),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3647),
    [sym__eq_custom] = ACTIONS(3647),
    [sym__eq_eq_custom] = ACTIONS(3647),
    [sym__plus_then_ws] = ACTIONS(3647),
    [sym__minus_then_ws] = ACTIONS(3647),
    [sym__bang_custom] = ACTIONS(3647),
    [sym_default_keyword] = ACTIONS(3647),
    [sym_where_keyword] = ACTIONS(3647),
    [sym__as_custom] = ACTIONS(3647),
    [sym__as_quest_custom] = ACTIONS(3647),
    [sym__as_bang_custom] = ACTIONS(3647),
    [sym__custom_operator] = ACTIONS(3647),
  },
  [1307] = {
    [anon_sym_BANG] = ACTIONS(3287),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3289),
    [anon_sym_package] = ACTIONS(3289),
    [anon_sym_COMMA] = ACTIONS(3289),
    [anon_sym_LPAREN] = ACTIONS(3289),
    [anon_sym_LBRACK] = ACTIONS(3289),
    [anon_sym_QMARK] = ACTIONS(3287),
    [anon_sym_QMARK2] = ACTIONS(3289),
    [anon_sym_AMP] = ACTIONS(3289),
    [aux_sym_custom_operator_token1] = ACTIONS(3289),
    [anon_sym_LT] = ACTIONS(3287),
    [anon_sym_GT] = ACTIONS(3287),
    [anon_sym_LBRACE] = ACTIONS(3289),
    [anon_sym_CARET_LBRACE] = ACTIONS(3289),
    [anon_sym_RBRACE] = ACTIONS(3289),
    [anon_sym_case] = ACTIONS(3289),
    [anon_sym_fallthrough] = ACTIONS(3289),
    [anon_sym_PLUS_EQ] = ACTIONS(3289),
    [anon_sym_DASH_EQ] = ACTIONS(3289),
    [anon_sym_STAR_EQ] = ACTIONS(3289),
    [anon_sym_SLASH_EQ] = ACTIONS(3289),
    [anon_sym_PERCENT_EQ] = ACTIONS(3289),
    [anon_sym_BANG_EQ] = ACTIONS(3287),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3289),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3289),
    [anon_sym_LT_EQ] = ACTIONS(3289),
    [anon_sym_GT_EQ] = ACTIONS(3289),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3289),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3289),
    [anon_sym_is] = ACTIONS(3289),
    [anon_sym_PLUS] = ACTIONS(3287),
    [anon_sym_DASH] = ACTIONS(3287),
    [anon_sym_STAR] = ACTIONS(3287),
    [anon_sym_SLASH] = ACTIONS(3287),
    [anon_sym_PERCENT] = ACTIONS(3287),
    [anon_sym_PLUS_PLUS] = ACTIONS(3289),
    [anon_sym_DASH_DASH] = ACTIONS(3289),
    [anon_sym_PIPE] = ACTIONS(3289),
    [anon_sym_CARET] = ACTIONS(3287),
    [anon_sym_LT_LT] = ACTIONS(3289),
    [anon_sym_GT_GT] = ACTIONS(3289),
    [anon_sym_class] = ACTIONS(3289),
    [anon_sym_prefix] = ACTIONS(3289),
    [anon_sym_infix] = ACTIONS(3289),
    [anon_sym_postfix] = ACTIONS(3289),
    [anon_sym_AT] = ACTIONS(3287),
    [anon_sym_override] = ACTIONS(3289),
    [anon_sym_convenience] = ACTIONS(3289),
    [anon_sym_required] = ACTIONS(3289),
    [anon_sym_nonisolated] = ACTIONS(3289),
    [anon_sym_public] = ACTIONS(3289),
    [anon_sym_private] = ACTIONS(3289),
    [anon_sym_internal] = ACTIONS(3289),
    [anon_sym_fileprivate] = ACTIONS(3289),
    [anon_sym_open] = ACTIONS(3289),
    [anon_sym_mutating] = ACTIONS(3289),
    [anon_sym_nonmutating] = ACTIONS(3289),
    [anon_sym_static] = ACTIONS(3289),
    [anon_sym_dynamic] = ACTIONS(3289),
    [anon_sym_optional] = ACTIONS(3289),
    [anon_sym_distributed] = ACTIONS(3289),
    [anon_sym_final] = ACTIONS(3289),
    [anon_sym_inout] = ACTIONS(3289),
    [anon_sym_ATescaping] = ACTIONS(3289),
    [anon_sym_ATautoclosure] = ACTIONS(3289),
    [anon_sym_weak] = ACTIONS(3289),
    [anon_sym_unowned] = ACTIONS(3287),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3289),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3289),
    [anon_sym_borrowing] = ACTIONS(3289),
    [anon_sym_consuming] = ACTIONS(3289),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3289),
    [sym__explicit_semi] = ACTIONS(3289),
    [sym__dot_custom] = ACTIONS(3289),
    [sym__conjunction_operator_custom] = ACTIONS(3289),
    [sym__disjunction_operator_custom] = ACTIONS(3289),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3289),
    [sym__eq_custom] = ACTIONS(3289),
    [sym__eq_eq_custom] = ACTIONS(3289),
    [sym__plus_then_ws] = ACTIONS(3289),
    [sym__minus_then_ws] = ACTIONS(3289),
    [sym__bang_custom] = ACTIONS(3289),
    [sym_default_keyword] = ACTIONS(3289),
    [sym_else] = ACTIONS(4323),
    [sym__as_custom] = ACTIONS(3289),
    [sym__as_quest_custom] = ACTIONS(3289),
    [sym__as_bang_custom] = ACTIONS(3289),
    [sym__custom_operator] = ACTIONS(3289),
  },
  [1308] = {
    [anon_sym_BANG] = ACTIONS(3625),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3627),
    [anon_sym_package] = ACTIONS(3627),
    [anon_sym_COMMA] = ACTIONS(3627),
    [anon_sym_LPAREN] = ACTIONS(3627),
    [anon_sym_LBRACK] = ACTIONS(3627),
    [anon_sym_QMARK] = ACTIONS(3625),
    [anon_sym_QMARK2] = ACTIONS(3627),
    [anon_sym_AMP] = ACTIONS(3627),
    [aux_sym_custom_operator_token1] = ACTIONS(3627),
    [anon_sym_LT] = ACTIONS(3625),
    [anon_sym_GT] = ACTIONS(3625),
    [anon_sym_LBRACE] = ACTIONS(3627),
    [anon_sym_CARET_LBRACE] = ACTIONS(3627),
    [anon_sym_RBRACE] = ACTIONS(3627),
    [anon_sym_case] = ACTIONS(3627),
    [anon_sym_fallthrough] = ACTIONS(3627),
    [anon_sym_PLUS_EQ] = ACTIONS(3627),
    [anon_sym_DASH_EQ] = ACTIONS(3627),
    [anon_sym_STAR_EQ] = ACTIONS(3627),
    [anon_sym_SLASH_EQ] = ACTIONS(3627),
    [anon_sym_PERCENT_EQ] = ACTIONS(3627),
    [anon_sym_BANG_EQ] = ACTIONS(3625),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3627),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3627),
    [anon_sym_LT_EQ] = ACTIONS(3627),
    [anon_sym_GT_EQ] = ACTIONS(3627),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3627),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3627),
    [anon_sym_is] = ACTIONS(3627),
    [anon_sym_PLUS] = ACTIONS(3625),
    [anon_sym_DASH] = ACTIONS(3625),
    [anon_sym_STAR] = ACTIONS(3625),
    [anon_sym_SLASH] = ACTIONS(3625),
    [anon_sym_PERCENT] = ACTIONS(3625),
    [anon_sym_PLUS_PLUS] = ACTIONS(3627),
    [anon_sym_DASH_DASH] = ACTIONS(3627),
    [anon_sym_PIPE] = ACTIONS(3627),
    [anon_sym_CARET] = ACTIONS(3625),
    [anon_sym_LT_LT] = ACTIONS(3627),
    [anon_sym_GT_GT] = ACTIONS(3627),
    [anon_sym_class] = ACTIONS(3627),
    [anon_sym_prefix] = ACTIONS(3627),
    [anon_sym_infix] = ACTIONS(3627),
    [anon_sym_postfix] = ACTIONS(3627),
    [anon_sym_AT] = ACTIONS(3625),
    [anon_sym_override] = ACTIONS(3627),
    [anon_sym_convenience] = ACTIONS(3627),
    [anon_sym_required] = ACTIONS(3627),
    [anon_sym_nonisolated] = ACTIONS(3627),
    [anon_sym_public] = ACTIONS(3627),
    [anon_sym_private] = ACTIONS(3627),
    [anon_sym_internal] = ACTIONS(3627),
    [anon_sym_fileprivate] = ACTIONS(3627),
    [anon_sym_open] = ACTIONS(3627),
    [anon_sym_mutating] = ACTIONS(3627),
    [anon_sym_nonmutating] = ACTIONS(3627),
    [anon_sym_static] = ACTIONS(3627),
    [anon_sym_dynamic] = ACTIONS(3627),
    [anon_sym_optional] = ACTIONS(3627),
    [anon_sym_distributed] = ACTIONS(3627),
    [anon_sym_final] = ACTIONS(3627),
    [anon_sym_inout] = ACTIONS(3627),
    [anon_sym_ATescaping] = ACTIONS(3627),
    [anon_sym_ATautoclosure] = ACTIONS(3627),
    [anon_sym_weak] = ACTIONS(3627),
    [anon_sym_unowned] = ACTIONS(3625),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3627),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3627),
    [anon_sym_borrowing] = ACTIONS(3627),
    [anon_sym_consuming] = ACTIONS(3627),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3627),
    [sym__explicit_semi] = ACTIONS(3627),
    [sym__dot_custom] = ACTIONS(3627),
    [sym__conjunction_operator_custom] = ACTIONS(3627),
    [sym__disjunction_operator_custom] = ACTIONS(3627),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3627),
    [sym__eq_custom] = ACTIONS(3627),
    [sym__eq_eq_custom] = ACTIONS(3627),
    [sym__plus_then_ws] = ACTIONS(3627),
    [sym__minus_then_ws] = ACTIONS(3627),
    [sym__bang_custom] = ACTIONS(3627),
    [sym_default_keyword] = ACTIONS(3627),
    [sym_where_keyword] = ACTIONS(3627),
    [sym__as_custom] = ACTIONS(3627),
    [sym__as_quest_custom] = ACTIONS(3627),
    [sym__as_bang_custom] = ACTIONS(3627),
    [sym__custom_operator] = ACTIONS(3627),
  },
  [1309] = {
    [anon_sym_BANG] = ACTIONS(3605),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3607),
    [anon_sym_package] = ACTIONS(3607),
    [anon_sym_COMMA] = ACTIONS(3607),
    [anon_sym_LPAREN] = ACTIONS(3607),
    [anon_sym_LBRACK] = ACTIONS(3607),
    [anon_sym_QMARK] = ACTIONS(3605),
    [anon_sym_QMARK2] = ACTIONS(3607),
    [anon_sym_AMP] = ACTIONS(3607),
    [aux_sym_custom_operator_token1] = ACTIONS(3607),
    [anon_sym_LT] = ACTIONS(3605),
    [anon_sym_GT] = ACTIONS(3605),
    [anon_sym_LBRACE] = ACTIONS(3607),
    [anon_sym_CARET_LBRACE] = ACTIONS(3607),
    [anon_sym_RBRACE] = ACTIONS(3607),
    [anon_sym_case] = ACTIONS(3607),
    [anon_sym_fallthrough] = ACTIONS(3607),
    [anon_sym_PLUS_EQ] = ACTIONS(3607),
    [anon_sym_DASH_EQ] = ACTIONS(3607),
    [anon_sym_STAR_EQ] = ACTIONS(3607),
    [anon_sym_SLASH_EQ] = ACTIONS(3607),
    [anon_sym_PERCENT_EQ] = ACTIONS(3607),
    [anon_sym_BANG_EQ] = ACTIONS(3605),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3607),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3607),
    [anon_sym_LT_EQ] = ACTIONS(3607),
    [anon_sym_GT_EQ] = ACTIONS(3607),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3607),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3607),
    [anon_sym_is] = ACTIONS(3607),
    [anon_sym_PLUS] = ACTIONS(3605),
    [anon_sym_DASH] = ACTIONS(3605),
    [anon_sym_STAR] = ACTIONS(3605),
    [anon_sym_SLASH] = ACTIONS(3605),
    [anon_sym_PERCENT] = ACTIONS(3605),
    [anon_sym_PLUS_PLUS] = ACTIONS(3607),
    [anon_sym_DASH_DASH] = ACTIONS(3607),
    [anon_sym_PIPE] = ACTIONS(3607),
    [anon_sym_CARET] = ACTIONS(3605),
    [anon_sym_LT_LT] = ACTIONS(3607),
    [anon_sym_GT_GT] = ACTIONS(3607),
    [anon_sym_class] = ACTIONS(3607),
    [anon_sym_prefix] = ACTIONS(3607),
    [anon_sym_infix] = ACTIONS(3607),
    [anon_sym_postfix] = ACTIONS(3607),
    [anon_sym_AT] = ACTIONS(3605),
    [anon_sym_override] = ACTIONS(3607),
    [anon_sym_convenience] = ACTIONS(3607),
    [anon_sym_required] = ACTIONS(3607),
    [anon_sym_nonisolated] = ACTIONS(3607),
    [anon_sym_public] = ACTIONS(3607),
    [anon_sym_private] = ACTIONS(3607),
    [anon_sym_internal] = ACTIONS(3607),
    [anon_sym_fileprivate] = ACTIONS(3607),
    [anon_sym_open] = ACTIONS(3607),
    [anon_sym_mutating] = ACTIONS(3607),
    [anon_sym_nonmutating] = ACTIONS(3607),
    [anon_sym_static] = ACTIONS(3607),
    [anon_sym_dynamic] = ACTIONS(3607),
    [anon_sym_optional] = ACTIONS(3607),
    [anon_sym_distributed] = ACTIONS(3607),
    [anon_sym_final] = ACTIONS(3607),
    [anon_sym_inout] = ACTIONS(3607),
    [anon_sym_ATescaping] = ACTIONS(3607),
    [anon_sym_ATautoclosure] = ACTIONS(3607),
    [anon_sym_weak] = ACTIONS(3607),
    [anon_sym_unowned] = ACTIONS(3605),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3607),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3607),
    [anon_sym_borrowing] = ACTIONS(3607),
    [anon_sym_consuming] = ACTIONS(3607),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3607),
    [sym__explicit_semi] = ACTIONS(3607),
    [sym__dot_custom] = ACTIONS(3607),
    [sym__conjunction_operator_custom] = ACTIONS(3607),
    [sym__disjunction_operator_custom] = ACTIONS(3607),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3607),
    [sym__eq_custom] = ACTIONS(3607),
    [sym__eq_eq_custom] = ACTIONS(3607),
    [sym__plus_then_ws] = ACTIONS(3607),
    [sym__minus_then_ws] = ACTIONS(3607),
    [sym__bang_custom] = ACTIONS(3607),
    [sym_default_keyword] = ACTIONS(3607),
    [sym_where_keyword] = ACTIONS(3607),
    [sym__as_custom] = ACTIONS(3607),
    [sym__as_quest_custom] = ACTIONS(3607),
    [sym__as_bang_custom] = ACTIONS(3607),
    [sym__custom_operator] = ACTIONS(3607),
  },
  [1310] = {
    [anon_sym_BANG] = ACTIONS(3331),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3333),
    [anon_sym_package] = ACTIONS(3333),
    [anon_sym_COMMA] = ACTIONS(3333),
    [anon_sym_LPAREN] = ACTIONS(3333),
    [anon_sym_LBRACK] = ACTIONS(3333),
    [anon_sym_QMARK] = ACTIONS(3331),
    [anon_sym_QMARK2] = ACTIONS(3333),
    [anon_sym_AMP] = ACTIONS(3333),
    [aux_sym_custom_operator_token1] = ACTIONS(3333),
    [anon_sym_LT] = ACTIONS(3331),
    [anon_sym_GT] = ACTIONS(3331),
    [anon_sym_LBRACE] = ACTIONS(3333),
    [anon_sym_CARET_LBRACE] = ACTIONS(3333),
    [anon_sym_RBRACE] = ACTIONS(3333),
    [anon_sym_case] = ACTIONS(3333),
    [anon_sym_fallthrough] = ACTIONS(3333),
    [anon_sym_PLUS_EQ] = ACTIONS(3333),
    [anon_sym_DASH_EQ] = ACTIONS(3333),
    [anon_sym_STAR_EQ] = ACTIONS(3333),
    [anon_sym_SLASH_EQ] = ACTIONS(3333),
    [anon_sym_PERCENT_EQ] = ACTIONS(3333),
    [anon_sym_BANG_EQ] = ACTIONS(3331),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3333),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3333),
    [anon_sym_LT_EQ] = ACTIONS(3333),
    [anon_sym_GT_EQ] = ACTIONS(3333),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3333),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3333),
    [anon_sym_is] = ACTIONS(3333),
    [anon_sym_PLUS] = ACTIONS(3331),
    [anon_sym_DASH] = ACTIONS(3331),
    [anon_sym_STAR] = ACTIONS(3331),
    [anon_sym_SLASH] = ACTIONS(3331),
    [anon_sym_PERCENT] = ACTIONS(3331),
    [anon_sym_PLUS_PLUS] = ACTIONS(3333),
    [anon_sym_DASH_DASH] = ACTIONS(3333),
    [anon_sym_PIPE] = ACTIONS(3333),
    [anon_sym_CARET] = ACTIONS(3331),
    [anon_sym_LT_LT] = ACTIONS(3333),
    [anon_sym_GT_GT] = ACTIONS(3333),
    [anon_sym_class] = ACTIONS(3333),
    [anon_sym_prefix] = ACTIONS(3333),
    [anon_sym_infix] = ACTIONS(3333),
    [anon_sym_postfix] = ACTIONS(3333),
    [anon_sym_AT] = ACTIONS(3331),
    [anon_sym_override] = ACTIONS(3333),
    [anon_sym_convenience] = ACTIONS(3333),
    [anon_sym_required] = ACTIONS(3333),
    [anon_sym_nonisolated] = ACTIONS(3333),
    [anon_sym_public] = ACTIONS(3333),
    [anon_sym_private] = ACTIONS(3333),
    [anon_sym_internal] = ACTIONS(3333),
    [anon_sym_fileprivate] = ACTIONS(3333),
    [anon_sym_open] = ACTIONS(3333),
    [anon_sym_mutating] = ACTIONS(3333),
    [anon_sym_nonmutating] = ACTIONS(3333),
    [anon_sym_static] = ACTIONS(3333),
    [anon_sym_dynamic] = ACTIONS(3333),
    [anon_sym_optional] = ACTIONS(3333),
    [anon_sym_distributed] = ACTIONS(3333),
    [anon_sym_final] = ACTIONS(3333),
    [anon_sym_inout] = ACTIONS(3333),
    [anon_sym_ATescaping] = ACTIONS(3333),
    [anon_sym_ATautoclosure] = ACTIONS(3333),
    [anon_sym_weak] = ACTIONS(3333),
    [anon_sym_unowned] = ACTIONS(3331),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3333),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3333),
    [anon_sym_borrowing] = ACTIONS(3333),
    [anon_sym_consuming] = ACTIONS(3333),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3333),
    [sym__explicit_semi] = ACTIONS(3333),
    [sym__dot_custom] = ACTIONS(3333),
    [sym__conjunction_operator_custom] = ACTIONS(3333),
    [sym__disjunction_operator_custom] = ACTIONS(3333),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3333),
    [sym__eq_custom] = ACTIONS(3333),
    [sym__eq_eq_custom] = ACTIONS(3333),
    [sym__plus_then_ws] = ACTIONS(3333),
    [sym__minus_then_ws] = ACTIONS(3333),
    [sym__bang_custom] = ACTIONS(3333),
    [sym_default_keyword] = ACTIONS(3333),
    [sym_where_keyword] = ACTIONS(3333),
    [sym__as_custom] = ACTIONS(3333),
    [sym__as_quest_custom] = ACTIONS(3333),
    [sym__as_bang_custom] = ACTIONS(3333),
    [sym__custom_operator] = ACTIONS(3333),
  },
  [1311] = {
    [anon_sym_BANG] = ACTIONS(3621),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3623),
    [anon_sym_package] = ACTIONS(3623),
    [anon_sym_COMMA] = ACTIONS(3623),
    [anon_sym_LPAREN] = ACTIONS(3623),
    [anon_sym_LBRACK] = ACTIONS(3623),
    [anon_sym_QMARK] = ACTIONS(3621),
    [anon_sym_QMARK2] = ACTIONS(3623),
    [anon_sym_AMP] = ACTIONS(3623),
    [aux_sym_custom_operator_token1] = ACTIONS(3623),
    [anon_sym_LT] = ACTIONS(3621),
    [anon_sym_GT] = ACTIONS(3621),
    [anon_sym_LBRACE] = ACTIONS(3623),
    [anon_sym_CARET_LBRACE] = ACTIONS(3623),
    [anon_sym_RBRACE] = ACTIONS(3623),
    [anon_sym_case] = ACTIONS(3623),
    [anon_sym_fallthrough] = ACTIONS(3623),
    [anon_sym_PLUS_EQ] = ACTIONS(3623),
    [anon_sym_DASH_EQ] = ACTIONS(3623),
    [anon_sym_STAR_EQ] = ACTIONS(3623),
    [anon_sym_SLASH_EQ] = ACTIONS(3623),
    [anon_sym_PERCENT_EQ] = ACTIONS(3623),
    [anon_sym_BANG_EQ] = ACTIONS(3621),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3623),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3623),
    [anon_sym_LT_EQ] = ACTIONS(3623),
    [anon_sym_GT_EQ] = ACTIONS(3623),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3623),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3623),
    [anon_sym_is] = ACTIONS(3623),
    [anon_sym_PLUS] = ACTIONS(3621),
    [anon_sym_DASH] = ACTIONS(3621),
    [anon_sym_STAR] = ACTIONS(3621),
    [anon_sym_SLASH] = ACTIONS(3621),
    [anon_sym_PERCENT] = ACTIONS(3621),
    [anon_sym_PLUS_PLUS] = ACTIONS(3623),
    [anon_sym_DASH_DASH] = ACTIONS(3623),
    [anon_sym_PIPE] = ACTIONS(3623),
    [anon_sym_CARET] = ACTIONS(3621),
    [anon_sym_LT_LT] = ACTIONS(3623),
    [anon_sym_GT_GT] = ACTIONS(3623),
    [anon_sym_class] = ACTIONS(3623),
    [anon_sym_prefix] = ACTIONS(3623),
    [anon_sym_infix] = ACTIONS(3623),
    [anon_sym_postfix] = ACTIONS(3623),
    [anon_sym_AT] = ACTIONS(3621),
    [anon_sym_override] = ACTIONS(3623),
    [anon_sym_convenience] = ACTIONS(3623),
    [anon_sym_required] = ACTIONS(3623),
    [anon_sym_nonisolated] = ACTIONS(3623),
    [anon_sym_public] = ACTIONS(3623),
    [anon_sym_private] = ACTIONS(3623),
    [anon_sym_internal] = ACTIONS(3623),
    [anon_sym_fileprivate] = ACTIONS(3623),
    [anon_sym_open] = ACTIONS(3623),
    [anon_sym_mutating] = ACTIONS(3623),
    [anon_sym_nonmutating] = ACTIONS(3623),
    [anon_sym_static] = ACTIONS(3623),
    [anon_sym_dynamic] = ACTIONS(3623),
    [anon_sym_optional] = ACTIONS(3623),
    [anon_sym_distributed] = ACTIONS(3623),
    [anon_sym_final] = ACTIONS(3623),
    [anon_sym_inout] = ACTIONS(3623),
    [anon_sym_ATescaping] = ACTIONS(3623),
    [anon_sym_ATautoclosure] = ACTIONS(3623),
    [anon_sym_weak] = ACTIONS(3623),
    [anon_sym_unowned] = ACTIONS(3621),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3623),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3623),
    [anon_sym_borrowing] = ACTIONS(3623),
    [anon_sym_consuming] = ACTIONS(3623),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3623),
    [sym__explicit_semi] = ACTIONS(3623),
    [sym__dot_custom] = ACTIONS(3623),
    [sym__conjunction_operator_custom] = ACTIONS(3623),
    [sym__disjunction_operator_custom] = ACTIONS(3623),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3623),
    [sym__eq_custom] = ACTIONS(3623),
    [sym__eq_eq_custom] = ACTIONS(3623),
    [sym__plus_then_ws] = ACTIONS(3623),
    [sym__minus_then_ws] = ACTIONS(3623),
    [sym__bang_custom] = ACTIONS(3623),
    [sym_default_keyword] = ACTIONS(3623),
    [sym_where_keyword] = ACTIONS(3623),
    [sym__as_custom] = ACTIONS(3623),
    [sym__as_quest_custom] = ACTIONS(3623),
    [sym__as_bang_custom] = ACTIONS(3623),
    [sym__custom_operator] = ACTIONS(3623),
  },
  [1312] = {
    [anon_sym_BANG] = ACTIONS(3533),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3535),
    [anon_sym_package] = ACTIONS(3535),
    [anon_sym_COMMA] = ACTIONS(3535),
    [anon_sym_LPAREN] = ACTIONS(3535),
    [anon_sym_LBRACK] = ACTIONS(3535),
    [anon_sym_QMARK] = ACTIONS(3533),
    [anon_sym_QMARK2] = ACTIONS(3535),
    [anon_sym_AMP] = ACTIONS(3535),
    [aux_sym_custom_operator_token1] = ACTIONS(3535),
    [anon_sym_LT] = ACTIONS(3533),
    [anon_sym_GT] = ACTIONS(3533),
    [anon_sym_LBRACE] = ACTIONS(3535),
    [anon_sym_CARET_LBRACE] = ACTIONS(3535),
    [anon_sym_RBRACE] = ACTIONS(3535),
    [anon_sym_case] = ACTIONS(3535),
    [anon_sym_fallthrough] = ACTIONS(3535),
    [anon_sym_PLUS_EQ] = ACTIONS(3535),
    [anon_sym_DASH_EQ] = ACTIONS(3535),
    [anon_sym_STAR_EQ] = ACTIONS(3535),
    [anon_sym_SLASH_EQ] = ACTIONS(3535),
    [anon_sym_PERCENT_EQ] = ACTIONS(3535),
    [anon_sym_BANG_EQ] = ACTIONS(3533),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3535),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3535),
    [anon_sym_LT_EQ] = ACTIONS(3535),
    [anon_sym_GT_EQ] = ACTIONS(3535),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3535),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3535),
    [anon_sym_is] = ACTIONS(3535),
    [anon_sym_PLUS] = ACTIONS(3533),
    [anon_sym_DASH] = ACTIONS(3533),
    [anon_sym_STAR] = ACTIONS(3533),
    [anon_sym_SLASH] = ACTIONS(3533),
    [anon_sym_PERCENT] = ACTIONS(3533),
    [anon_sym_PLUS_PLUS] = ACTIONS(3535),
    [anon_sym_DASH_DASH] = ACTIONS(3535),
    [anon_sym_PIPE] = ACTIONS(3535),
    [anon_sym_CARET] = ACTIONS(3533),
    [anon_sym_LT_LT] = ACTIONS(3535),
    [anon_sym_GT_GT] = ACTIONS(3535),
    [anon_sym_class] = ACTIONS(3535),
    [anon_sym_prefix] = ACTIONS(3535),
    [anon_sym_infix] = ACTIONS(3535),
    [anon_sym_postfix] = ACTIONS(3535),
    [anon_sym_AT] = ACTIONS(3533),
    [anon_sym_override] = ACTIONS(3535),
    [anon_sym_convenience] = ACTIONS(3535),
    [anon_sym_required] = ACTIONS(3535),
    [anon_sym_nonisolated] = ACTIONS(3535),
    [anon_sym_public] = ACTIONS(3535),
    [anon_sym_private] = ACTIONS(3535),
    [anon_sym_internal] = ACTIONS(3535),
    [anon_sym_fileprivate] = ACTIONS(3535),
    [anon_sym_open] = ACTIONS(3535),
    [anon_sym_mutating] = ACTIONS(3535),
    [anon_sym_nonmutating] = ACTIONS(3535),
    [anon_sym_static] = ACTIONS(3535),
    [anon_sym_dynamic] = ACTIONS(3535),
    [anon_sym_optional] = ACTIONS(3535),
    [anon_sym_distributed] = ACTIONS(3535),
    [anon_sym_final] = ACTIONS(3535),
    [anon_sym_inout] = ACTIONS(3535),
    [anon_sym_ATescaping] = ACTIONS(3535),
    [anon_sym_ATautoclosure] = ACTIONS(3535),
    [anon_sym_weak] = ACTIONS(3535),
    [anon_sym_unowned] = ACTIONS(3533),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3535),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3535),
    [anon_sym_borrowing] = ACTIONS(3535),
    [anon_sym_consuming] = ACTIONS(3535),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3535),
    [sym__explicit_semi] = ACTIONS(3535),
    [sym__dot_custom] = ACTIONS(3535),
    [sym__conjunction_operator_custom] = ACTIONS(3535),
    [sym__disjunction_operator_custom] = ACTIONS(3535),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3535),
    [sym__eq_custom] = ACTIONS(3535),
    [sym__eq_eq_custom] = ACTIONS(3535),
    [sym__plus_then_ws] = ACTIONS(3535),
    [sym__minus_then_ws] = ACTIONS(3535),
    [sym__bang_custom] = ACTIONS(3535),
    [sym_default_keyword] = ACTIONS(3535),
    [sym_where_keyword] = ACTIONS(3535),
    [sym__as_custom] = ACTIONS(3535),
    [sym__as_quest_custom] = ACTIONS(3535),
    [sym__as_bang_custom] = ACTIONS(3535),
    [sym__custom_operator] = ACTIONS(3535),
  },
  [1313] = {
    [anon_sym_BANG] = ACTIONS(3593),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3595),
    [anon_sym_package] = ACTIONS(3595),
    [anon_sym_COMMA] = ACTIONS(3595),
    [anon_sym_LPAREN] = ACTIONS(3595),
    [anon_sym_LBRACK] = ACTIONS(3595),
    [anon_sym_QMARK] = ACTIONS(3593),
    [anon_sym_QMARK2] = ACTIONS(3595),
    [anon_sym_AMP] = ACTIONS(3595),
    [aux_sym_custom_operator_token1] = ACTIONS(3595),
    [anon_sym_LT] = ACTIONS(3593),
    [anon_sym_GT] = ACTIONS(3593),
    [anon_sym_LBRACE] = ACTIONS(3595),
    [anon_sym_CARET_LBRACE] = ACTIONS(3595),
    [anon_sym_RBRACE] = ACTIONS(3595),
    [anon_sym_case] = ACTIONS(3595),
    [anon_sym_fallthrough] = ACTIONS(3595),
    [anon_sym_PLUS_EQ] = ACTIONS(3595),
    [anon_sym_DASH_EQ] = ACTIONS(3595),
    [anon_sym_STAR_EQ] = ACTIONS(3595),
    [anon_sym_SLASH_EQ] = ACTIONS(3595),
    [anon_sym_PERCENT_EQ] = ACTIONS(3595),
    [anon_sym_BANG_EQ] = ACTIONS(3593),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3595),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3595),
    [anon_sym_LT_EQ] = ACTIONS(3595),
    [anon_sym_GT_EQ] = ACTIONS(3595),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3595),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3595),
    [anon_sym_is] = ACTIONS(3595),
    [anon_sym_PLUS] = ACTIONS(3593),
    [anon_sym_DASH] = ACTIONS(3593),
    [anon_sym_STAR] = ACTIONS(3593),
    [anon_sym_SLASH] = ACTIONS(3593),
    [anon_sym_PERCENT] = ACTIONS(3593),
    [anon_sym_PLUS_PLUS] = ACTIONS(3595),
    [anon_sym_DASH_DASH] = ACTIONS(3595),
    [anon_sym_PIPE] = ACTIONS(3595),
    [anon_sym_CARET] = ACTIONS(3593),
    [anon_sym_LT_LT] = ACTIONS(3595),
    [anon_sym_GT_GT] = ACTIONS(3595),
    [anon_sym_class] = ACTIONS(3595),
    [anon_sym_prefix] = ACTIONS(3595),
    [anon_sym_infix] = ACTIONS(3595),
    [anon_sym_postfix] = ACTIONS(3595),
    [anon_sym_AT] = ACTIONS(3593),
    [anon_sym_override] = ACTIONS(3595),
    [anon_sym_convenience] = ACTIONS(3595),
    [anon_sym_required] = ACTIONS(3595),
    [anon_sym_nonisolated] = ACTIONS(3595),
    [anon_sym_public] = ACTIONS(3595),
    [anon_sym_private] = ACTIONS(3595),
    [anon_sym_internal] = ACTIONS(3595),
    [anon_sym_fileprivate] = ACTIONS(3595),
    [anon_sym_open] = ACTIONS(3595),
    [anon_sym_mutating] = ACTIONS(3595),
    [anon_sym_nonmutating] = ACTIONS(3595),
    [anon_sym_static] = ACTIONS(3595),
    [anon_sym_dynamic] = ACTIONS(3595),
    [anon_sym_optional] = ACTIONS(3595),
    [anon_sym_distributed] = ACTIONS(3595),
    [anon_sym_final] = ACTIONS(3595),
    [anon_sym_inout] = ACTIONS(3595),
    [anon_sym_ATescaping] = ACTIONS(3595),
    [anon_sym_ATautoclosure] = ACTIONS(3595),
    [anon_sym_weak] = ACTIONS(3595),
    [anon_sym_unowned] = ACTIONS(3593),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3595),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3595),
    [anon_sym_borrowing] = ACTIONS(3595),
    [anon_sym_consuming] = ACTIONS(3595),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3595),
    [sym__explicit_semi] = ACTIONS(3595),
    [sym__dot_custom] = ACTIONS(3595),
    [sym__conjunction_operator_custom] = ACTIONS(3595),
    [sym__disjunction_operator_custom] = ACTIONS(3595),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3595),
    [sym__eq_custom] = ACTIONS(3595),
    [sym__eq_eq_custom] = ACTIONS(3595),
    [sym__plus_then_ws] = ACTIONS(3595),
    [sym__minus_then_ws] = ACTIONS(3595),
    [sym__bang_custom] = ACTIONS(3595),
    [sym_default_keyword] = ACTIONS(3595),
    [sym_where_keyword] = ACTIONS(3595),
    [sym__as_custom] = ACTIONS(3595),
    [sym__as_quest_custom] = ACTIONS(3595),
    [sym__as_bang_custom] = ACTIONS(3595),
    [sym__custom_operator] = ACTIONS(3595),
  },
  [1314] = {
    [anon_sym_BANG] = ACTIONS(3313),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3315),
    [anon_sym_package] = ACTIONS(3315),
    [anon_sym_COMMA] = ACTIONS(3315),
    [anon_sym_LPAREN] = ACTIONS(3315),
    [anon_sym_LBRACK] = ACTIONS(3315),
    [anon_sym_QMARK] = ACTIONS(3313),
    [anon_sym_QMARK2] = ACTIONS(3315),
    [anon_sym_AMP] = ACTIONS(3315),
    [aux_sym_custom_operator_token1] = ACTIONS(3315),
    [anon_sym_LT] = ACTIONS(3313),
    [anon_sym_GT] = ACTIONS(3313),
    [anon_sym_LBRACE] = ACTIONS(3315),
    [anon_sym_CARET_LBRACE] = ACTIONS(3315),
    [anon_sym_RBRACE] = ACTIONS(3315),
    [anon_sym_case] = ACTIONS(3315),
    [anon_sym_fallthrough] = ACTIONS(3315),
    [anon_sym_PLUS_EQ] = ACTIONS(3315),
    [anon_sym_DASH_EQ] = ACTIONS(3315),
    [anon_sym_STAR_EQ] = ACTIONS(3315),
    [anon_sym_SLASH_EQ] = ACTIONS(3315),
    [anon_sym_PERCENT_EQ] = ACTIONS(3315),
    [anon_sym_BANG_EQ] = ACTIONS(3313),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3315),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3315),
    [anon_sym_LT_EQ] = ACTIONS(3315),
    [anon_sym_GT_EQ] = ACTIONS(3315),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3315),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3315),
    [anon_sym_is] = ACTIONS(3315),
    [anon_sym_PLUS] = ACTIONS(3313),
    [anon_sym_DASH] = ACTIONS(3313),
    [anon_sym_STAR] = ACTIONS(3313),
    [anon_sym_SLASH] = ACTIONS(3313),
    [anon_sym_PERCENT] = ACTIONS(3313),
    [anon_sym_PLUS_PLUS] = ACTIONS(3315),
    [anon_sym_DASH_DASH] = ACTIONS(3315),
    [anon_sym_PIPE] = ACTIONS(3315),
    [anon_sym_CARET] = ACTIONS(3313),
    [anon_sym_LT_LT] = ACTIONS(3315),
    [anon_sym_GT_GT] = ACTIONS(3315),
    [anon_sym_class] = ACTIONS(3315),
    [anon_sym_prefix] = ACTIONS(3315),
    [anon_sym_infix] = ACTIONS(3315),
    [anon_sym_postfix] = ACTIONS(3315),
    [anon_sym_AT] = ACTIONS(3313),
    [anon_sym_override] = ACTIONS(3315),
    [anon_sym_convenience] = ACTIONS(3315),
    [anon_sym_required] = ACTIONS(3315),
    [anon_sym_nonisolated] = ACTIONS(3315),
    [anon_sym_public] = ACTIONS(3315),
    [anon_sym_private] = ACTIONS(3315),
    [anon_sym_internal] = ACTIONS(3315),
    [anon_sym_fileprivate] = ACTIONS(3315),
    [anon_sym_open] = ACTIONS(3315),
    [anon_sym_mutating] = ACTIONS(3315),
    [anon_sym_nonmutating] = ACTIONS(3315),
    [anon_sym_static] = ACTIONS(3315),
    [anon_sym_dynamic] = ACTIONS(3315),
    [anon_sym_optional] = ACTIONS(3315),
    [anon_sym_distributed] = ACTIONS(3315),
    [anon_sym_final] = ACTIONS(3315),
    [anon_sym_inout] = ACTIONS(3315),
    [anon_sym_ATescaping] = ACTIONS(3315),
    [anon_sym_ATautoclosure] = ACTIONS(3315),
    [anon_sym_weak] = ACTIONS(3315),
    [anon_sym_unowned] = ACTIONS(3313),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3315),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3315),
    [anon_sym_borrowing] = ACTIONS(3315),
    [anon_sym_consuming] = ACTIONS(3315),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3315),
    [sym__explicit_semi] = ACTIONS(3315),
    [sym__dot_custom] = ACTIONS(3315),
    [sym__conjunction_operator_custom] = ACTIONS(3315),
    [sym__disjunction_operator_custom] = ACTIONS(3315),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3315),
    [sym__eq_custom] = ACTIONS(3315),
    [sym__eq_eq_custom] = ACTIONS(3315),
    [sym__plus_then_ws] = ACTIONS(3315),
    [sym__minus_then_ws] = ACTIONS(3315),
    [sym__bang_custom] = ACTIONS(3315),
    [sym_default_keyword] = ACTIONS(3315),
    [sym_else] = ACTIONS(3315),
    [sym__as_custom] = ACTIONS(3315),
    [sym__as_quest_custom] = ACTIONS(3315),
    [sym__as_bang_custom] = ACTIONS(3315),
    [sym__custom_operator] = ACTIONS(3315),
  },
  [1315] = {
    [anon_sym_BANG] = ACTIONS(3357),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3359),
    [anon_sym_package] = ACTIONS(3359),
    [anon_sym_COMMA] = ACTIONS(3359),
    [anon_sym_LPAREN] = ACTIONS(3359),
    [anon_sym_LBRACK] = ACTIONS(3359),
    [anon_sym_QMARK] = ACTIONS(3357),
    [anon_sym_QMARK2] = ACTIONS(3359),
    [anon_sym_AMP] = ACTIONS(3359),
    [aux_sym_custom_operator_token1] = ACTIONS(3359),
    [anon_sym_LT] = ACTIONS(3357),
    [anon_sym_GT] = ACTIONS(3357),
    [anon_sym_LBRACE] = ACTIONS(3359),
    [anon_sym_CARET_LBRACE] = ACTIONS(3359),
    [anon_sym_RBRACE] = ACTIONS(3359),
    [anon_sym_case] = ACTIONS(3359),
    [anon_sym_fallthrough] = ACTIONS(3359),
    [anon_sym_PLUS_EQ] = ACTIONS(3359),
    [anon_sym_DASH_EQ] = ACTIONS(3359),
    [anon_sym_STAR_EQ] = ACTIONS(3359),
    [anon_sym_SLASH_EQ] = ACTIONS(3359),
    [anon_sym_PERCENT_EQ] = ACTIONS(3359),
    [anon_sym_BANG_EQ] = ACTIONS(3357),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3359),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3359),
    [anon_sym_LT_EQ] = ACTIONS(3359),
    [anon_sym_GT_EQ] = ACTIONS(3359),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3359),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3359),
    [anon_sym_is] = ACTIONS(3359),
    [anon_sym_PLUS] = ACTIONS(3357),
    [anon_sym_DASH] = ACTIONS(3357),
    [anon_sym_STAR] = ACTIONS(3357),
    [anon_sym_SLASH] = ACTIONS(3357),
    [anon_sym_PERCENT] = ACTIONS(3357),
    [anon_sym_PLUS_PLUS] = ACTIONS(3359),
    [anon_sym_DASH_DASH] = ACTIONS(3359),
    [anon_sym_PIPE] = ACTIONS(3359),
    [anon_sym_CARET] = ACTIONS(3357),
    [anon_sym_LT_LT] = ACTIONS(3359),
    [anon_sym_GT_GT] = ACTIONS(3359),
    [anon_sym_class] = ACTIONS(3359),
    [anon_sym_prefix] = ACTIONS(3359),
    [anon_sym_infix] = ACTIONS(3359),
    [anon_sym_postfix] = ACTIONS(3359),
    [anon_sym_AT] = ACTIONS(3357),
    [anon_sym_override] = ACTIONS(3359),
    [anon_sym_convenience] = ACTIONS(3359),
    [anon_sym_required] = ACTIONS(3359),
    [anon_sym_nonisolated] = ACTIONS(3359),
    [anon_sym_public] = ACTIONS(3359),
    [anon_sym_private] = ACTIONS(3359),
    [anon_sym_internal] = ACTIONS(3359),
    [anon_sym_fileprivate] = ACTIONS(3359),
    [anon_sym_open] = ACTIONS(3359),
    [anon_sym_mutating] = ACTIONS(3359),
    [anon_sym_nonmutating] = ACTIONS(3359),
    [anon_sym_static] = ACTIONS(3359),
    [anon_sym_dynamic] = ACTIONS(3359),
    [anon_sym_optional] = ACTIONS(3359),
    [anon_sym_distributed] = ACTIONS(3359),
    [anon_sym_final] = ACTIONS(3359),
    [anon_sym_inout] = ACTIONS(3359),
    [anon_sym_ATescaping] = ACTIONS(3359),
    [anon_sym_ATautoclosure] = ACTIONS(3359),
    [anon_sym_weak] = ACTIONS(3359),
    [anon_sym_unowned] = ACTIONS(3357),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3359),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3359),
    [anon_sym_borrowing] = ACTIONS(3359),
    [anon_sym_consuming] = ACTIONS(3359),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3359),
    [sym__explicit_semi] = ACTIONS(3359),
    [sym__dot_custom] = ACTIONS(3359),
    [sym__conjunction_operator_custom] = ACTIONS(3359),
    [sym__disjunction_operator_custom] = ACTIONS(3359),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3359),
    [sym__eq_custom] = ACTIONS(3359),
    [sym__eq_eq_custom] = ACTIONS(3359),
    [sym__plus_then_ws] = ACTIONS(3359),
    [sym__minus_then_ws] = ACTIONS(3359),
    [sym__bang_custom] = ACTIONS(3359),
    [sym_default_keyword] = ACTIONS(3359),
    [sym_where_keyword] = ACTIONS(3359),
    [sym__as_custom] = ACTIONS(3359),
    [sym__as_quest_custom] = ACTIONS(3359),
    [sym__as_bang_custom] = ACTIONS(3359),
    [sym__custom_operator] = ACTIONS(3359),
  },
  [1316] = {
    [anon_sym_BANG] = ACTIONS(3537),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3539),
    [anon_sym_package] = ACTIONS(3539),
    [anon_sym_COMMA] = ACTIONS(3539),
    [anon_sym_LPAREN] = ACTIONS(3539),
    [anon_sym_LBRACK] = ACTIONS(3539),
    [anon_sym_QMARK] = ACTIONS(3537),
    [anon_sym_QMARK2] = ACTIONS(3539),
    [anon_sym_AMP] = ACTIONS(3539),
    [aux_sym_custom_operator_token1] = ACTIONS(3539),
    [anon_sym_LT] = ACTIONS(3537),
    [anon_sym_GT] = ACTIONS(3537),
    [anon_sym_LBRACE] = ACTIONS(3539),
    [anon_sym_CARET_LBRACE] = ACTIONS(3539),
    [anon_sym_RBRACE] = ACTIONS(3539),
    [anon_sym_case] = ACTIONS(3539),
    [anon_sym_fallthrough] = ACTIONS(3539),
    [anon_sym_PLUS_EQ] = ACTIONS(3539),
    [anon_sym_DASH_EQ] = ACTIONS(3539),
    [anon_sym_STAR_EQ] = ACTIONS(3539),
    [anon_sym_SLASH_EQ] = ACTIONS(3539),
    [anon_sym_PERCENT_EQ] = ACTIONS(3539),
    [anon_sym_BANG_EQ] = ACTIONS(3537),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3539),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3539),
    [anon_sym_LT_EQ] = ACTIONS(3539),
    [anon_sym_GT_EQ] = ACTIONS(3539),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3539),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3539),
    [anon_sym_is] = ACTIONS(3539),
    [anon_sym_PLUS] = ACTIONS(3537),
    [anon_sym_DASH] = ACTIONS(3537),
    [anon_sym_STAR] = ACTIONS(3537),
    [anon_sym_SLASH] = ACTIONS(3537),
    [anon_sym_PERCENT] = ACTIONS(3537),
    [anon_sym_PLUS_PLUS] = ACTIONS(3539),
    [anon_sym_DASH_DASH] = ACTIONS(3539),
    [anon_sym_PIPE] = ACTIONS(3539),
    [anon_sym_CARET] = ACTIONS(3537),
    [anon_sym_LT_LT] = ACTIONS(3539),
    [anon_sym_GT_GT] = ACTIONS(3539),
    [anon_sym_class] = ACTIONS(3539),
    [anon_sym_prefix] = ACTIONS(3539),
    [anon_sym_infix] = ACTIONS(3539),
    [anon_sym_postfix] = ACTIONS(3539),
    [anon_sym_AT] = ACTIONS(3537),
    [anon_sym_override] = ACTIONS(3539),
    [anon_sym_convenience] = ACTIONS(3539),
    [anon_sym_required] = ACTIONS(3539),
    [anon_sym_nonisolated] = ACTIONS(3539),
    [anon_sym_public] = ACTIONS(3539),
    [anon_sym_private] = ACTIONS(3539),
    [anon_sym_internal] = ACTIONS(3539),
    [anon_sym_fileprivate] = ACTIONS(3539),
    [anon_sym_open] = ACTIONS(3539),
    [anon_sym_mutating] = ACTIONS(3539),
    [anon_sym_nonmutating] = ACTIONS(3539),
    [anon_sym_static] = ACTIONS(3539),
    [anon_sym_dynamic] = ACTIONS(3539),
    [anon_sym_optional] = ACTIONS(3539),
    [anon_sym_distributed] = ACTIONS(3539),
    [anon_sym_final] = ACTIONS(3539),
    [anon_sym_inout] = ACTIONS(3539),
    [anon_sym_ATescaping] = ACTIONS(3539),
    [anon_sym_ATautoclosure] = ACTIONS(3539),
    [anon_sym_weak] = ACTIONS(3539),
    [anon_sym_unowned] = ACTIONS(3537),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3539),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3539),
    [anon_sym_borrowing] = ACTIONS(3539),
    [anon_sym_consuming] = ACTIONS(3539),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3539),
    [sym__explicit_semi] = ACTIONS(3539),
    [sym__dot_custom] = ACTIONS(3539),
    [sym__conjunction_operator_custom] = ACTIONS(3539),
    [sym__disjunction_operator_custom] = ACTIONS(3539),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3539),
    [sym__eq_custom] = ACTIONS(3539),
    [sym__eq_eq_custom] = ACTIONS(3539),
    [sym__plus_then_ws] = ACTIONS(3539),
    [sym__minus_then_ws] = ACTIONS(3539),
    [sym__bang_custom] = ACTIONS(3539),
    [sym_default_keyword] = ACTIONS(3539),
    [sym_where_keyword] = ACTIONS(3539),
    [sym__as_custom] = ACTIONS(3539),
    [sym__as_quest_custom] = ACTIONS(3539),
    [sym__as_bang_custom] = ACTIONS(3539),
    [sym__custom_operator] = ACTIONS(3539),
  },
  [1317] = {
    [anon_sym_BANG] = ACTIONS(3457),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3459),
    [anon_sym_package] = ACTIONS(3459),
    [anon_sym_COMMA] = ACTIONS(3459),
    [anon_sym_LPAREN] = ACTIONS(3459),
    [anon_sym_LBRACK] = ACTIONS(3459),
    [anon_sym_QMARK] = ACTIONS(3457),
    [anon_sym_QMARK2] = ACTIONS(3459),
    [anon_sym_AMP] = ACTIONS(3459),
    [aux_sym_custom_operator_token1] = ACTIONS(3459),
    [anon_sym_LT] = ACTIONS(3457),
    [anon_sym_GT] = ACTIONS(3457),
    [anon_sym_LBRACE] = ACTIONS(3459),
    [anon_sym_CARET_LBRACE] = ACTIONS(3459),
    [anon_sym_RBRACE] = ACTIONS(3459),
    [anon_sym_case] = ACTIONS(3459),
    [anon_sym_fallthrough] = ACTIONS(3459),
    [anon_sym_PLUS_EQ] = ACTIONS(3459),
    [anon_sym_DASH_EQ] = ACTIONS(3459),
    [anon_sym_STAR_EQ] = ACTIONS(3459),
    [anon_sym_SLASH_EQ] = ACTIONS(3459),
    [anon_sym_PERCENT_EQ] = ACTIONS(3459),
    [anon_sym_BANG_EQ] = ACTIONS(3457),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3459),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3459),
    [anon_sym_LT_EQ] = ACTIONS(3459),
    [anon_sym_GT_EQ] = ACTIONS(3459),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3459),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3459),
    [anon_sym_is] = ACTIONS(3459),
    [anon_sym_PLUS] = ACTIONS(3457),
    [anon_sym_DASH] = ACTIONS(3457),
    [anon_sym_STAR] = ACTIONS(3457),
    [anon_sym_SLASH] = ACTIONS(3457),
    [anon_sym_PERCENT] = ACTIONS(3457),
    [anon_sym_PLUS_PLUS] = ACTIONS(3459),
    [anon_sym_DASH_DASH] = ACTIONS(3459),
    [anon_sym_PIPE] = ACTIONS(3459),
    [anon_sym_CARET] = ACTIONS(3457),
    [anon_sym_LT_LT] = ACTIONS(3459),
    [anon_sym_GT_GT] = ACTIONS(3459),
    [anon_sym_class] = ACTIONS(3459),
    [anon_sym_prefix] = ACTIONS(3459),
    [anon_sym_infix] = ACTIONS(3459),
    [anon_sym_postfix] = ACTIONS(3459),
    [anon_sym_AT] = ACTIONS(3457),
    [anon_sym_override] = ACTIONS(3459),
    [anon_sym_convenience] = ACTIONS(3459),
    [anon_sym_required] = ACTIONS(3459),
    [anon_sym_nonisolated] = ACTIONS(3459),
    [anon_sym_public] = ACTIONS(3459),
    [anon_sym_private] = ACTIONS(3459),
    [anon_sym_internal] = ACTIONS(3459),
    [anon_sym_fileprivate] = ACTIONS(3459),
    [anon_sym_open] = ACTIONS(3459),
    [anon_sym_mutating] = ACTIONS(3459),
    [anon_sym_nonmutating] = ACTIONS(3459),
    [anon_sym_static] = ACTIONS(3459),
    [anon_sym_dynamic] = ACTIONS(3459),
    [anon_sym_optional] = ACTIONS(3459),
    [anon_sym_distributed] = ACTIONS(3459),
    [anon_sym_final] = ACTIONS(3459),
    [anon_sym_inout] = ACTIONS(3459),
    [anon_sym_ATescaping] = ACTIONS(3459),
    [anon_sym_ATautoclosure] = ACTIONS(3459),
    [anon_sym_weak] = ACTIONS(3459),
    [anon_sym_unowned] = ACTIONS(3457),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3459),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3459),
    [anon_sym_borrowing] = ACTIONS(3459),
    [anon_sym_consuming] = ACTIONS(3459),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3459),
    [sym__explicit_semi] = ACTIONS(3459),
    [sym__dot_custom] = ACTIONS(3459),
    [sym__conjunction_operator_custom] = ACTIONS(3459),
    [sym__disjunction_operator_custom] = ACTIONS(3459),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3459),
    [sym__eq_custom] = ACTIONS(3459),
    [sym__eq_eq_custom] = ACTIONS(3459),
    [sym__plus_then_ws] = ACTIONS(3459),
    [sym__minus_then_ws] = ACTIONS(3459),
    [sym__bang_custom] = ACTIONS(3459),
    [sym_default_keyword] = ACTIONS(3459),
    [sym_where_keyword] = ACTIONS(3459),
    [sym__as_custom] = ACTIONS(3459),
    [sym__as_quest_custom] = ACTIONS(3459),
    [sym__as_bang_custom] = ACTIONS(3459),
    [sym__custom_operator] = ACTIONS(3459),
  },
  [1318] = {
    [anon_sym_BANG] = ACTIONS(2661),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2661),
    [aux_sym_simple_identifier_token2] = ACTIONS(2663),
    [aux_sym_simple_identifier_token3] = ACTIONS(2663),
    [aux_sym_simple_identifier_token4] = ACTIONS(2663),
    [anon_sym_actor] = ACTIONS(2661),
    [anon_sym_async] = ACTIONS(2661),
    [anon_sym_each] = ACTIONS(2661),
    [anon_sym_lazy] = ACTIONS(2661),
    [anon_sym_repeat] = ACTIONS(2661),
    [anon_sym_package] = ACTIONS(2661),
    [anon_sym_nil] = ACTIONS(2661),
    [sym_real_literal] = ACTIONS(2663),
    [sym_integer_literal] = ACTIONS(2661),
    [sym_hex_literal] = ACTIONS(2661),
    [sym_oct_literal] = ACTIONS(2663),
    [sym_bin_literal] = ACTIONS(2663),
    [anon_sym_true] = ACTIONS(2661),
    [anon_sym_false] = ACTIONS(2661),
    [anon_sym_DQUOTE] = ACTIONS(2661),
    [anon_sym_BSLASH] = ACTIONS(2663),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2663),
    [anon_sym_COMMA] = ACTIONS(2663),
    [sym__oneline_regex_literal] = ACTIONS(2661),
    [anon_sym_LPAREN] = ACTIONS(2663),
    [anon_sym_LBRACK] = ACTIONS(2663),
    [anon_sym_QMARK] = ACTIONS(2661),
    [anon_sym_QMARK2] = ACTIONS(2663),
    [anon_sym_AMP] = ACTIONS(2663),
    [anon_sym_TILDE] = ACTIONS(2663),
    [anon_sym_if] = ACTIONS(2661),
    [anon_sym_switch] = ACTIONS(2661),
    [aux_sym_custom_operator_token1] = ACTIONS(2663),
    [anon_sym_LT] = ACTIONS(2661),
    [anon_sym_GT] = ACTIONS(2661),
    [anon_sym_await] = ACTIONS(2661),
    [anon_sym_LBRACE] = ACTIONS(2663),
    [anon_sym_CARET_LBRACE] = ACTIONS(2663),
    [anon_sym_self] = ACTIONS(2661),
    [anon_sym_super] = ACTIONS(2661),
    [anon_sym_try] = ACTIONS(2661),
    [anon_sym_PLUS_EQ] = ACTIONS(2663),
    [anon_sym_DASH_EQ] = ACTIONS(2663),
    [anon_sym_STAR_EQ] = ACTIONS(2663),
    [anon_sym_SLASH_EQ] = ACTIONS(2663),
    [anon_sym_PERCENT_EQ] = ACTIONS(2663),
    [anon_sym_BANG_EQ] = ACTIONS(2661),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2663),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2663),
    [anon_sym_LT_EQ] = ACTIONS(2663),
    [anon_sym_GT_EQ] = ACTIONS(2663),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2663),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2663),
    [anon_sym_is] = ACTIONS(2661),
    [anon_sym_PLUS] = ACTIONS(2661),
    [anon_sym_DASH] = ACTIONS(2661),
    [anon_sym_STAR] = ACTIONS(2661),
    [anon_sym_SLASH] = ACTIONS(2661),
    [anon_sym_PERCENT] = ACTIONS(2661),
    [anon_sym_PLUS_PLUS] = ACTIONS(2663),
    [anon_sym_DASH_DASH] = ACTIONS(2663),
    [anon_sym_PIPE] = ACTIONS(2663),
    [anon_sym_CARET] = ACTIONS(2661),
    [anon_sym_LT_LT] = ACTIONS(2663),
    [anon_sym_GT_GT] = ACTIONS(2663),
    [anon_sym_borrowing] = ACTIONS(2661),
    [anon_sym_consuming] = ACTIONS(2661),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2663),
    [sym_raw_str_end_part] = ACTIONS(2663),
    [sym__dot_custom] = ACTIONS(2663),
    [sym__conjunction_operator_custom] = ACTIONS(2663),
    [sym__disjunction_operator_custom] = ACTIONS(2663),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2663),
    [sym__eq_custom] = ACTIONS(2663),
    [sym__eq_eq_custom] = ACTIONS(2663),
    [sym__plus_then_ws] = ACTIONS(2663),
    [sym__minus_then_ws] = ACTIONS(2663),
    [sym__bang_custom] = ACTIONS(2663),
    [sym_else] = ACTIONS(2663),
    [sym__as_custom] = ACTIONS(2663),
    [sym__as_quest_custom] = ACTIONS(2663),
    [sym__as_bang_custom] = ACTIONS(2663),
    [sym__custom_operator] = ACTIONS(2663),
    [sym__hash_symbol_custom] = ACTIONS(2663),
    [sym__directive_if] = ACTIONS(2663),
    [sym__directive_elseif] = ACTIONS(2663),
    [sym__directive_else] = ACTIONS(2663),
    [sym__directive_endif] = ACTIONS(2663),
  },
  [1319] = {
    [anon_sym_BANG] = ACTIONS(2657),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2657),
    [aux_sym_simple_identifier_token2] = ACTIONS(2659),
    [aux_sym_simple_identifier_token3] = ACTIONS(2659),
    [aux_sym_simple_identifier_token4] = ACTIONS(2659),
    [anon_sym_actor] = ACTIONS(2657),
    [anon_sym_async] = ACTIONS(2657),
    [anon_sym_each] = ACTIONS(2657),
    [anon_sym_lazy] = ACTIONS(2657),
    [anon_sym_repeat] = ACTIONS(2657),
    [anon_sym_package] = ACTIONS(2657),
    [anon_sym_nil] = ACTIONS(2657),
    [sym_real_literal] = ACTIONS(2659),
    [sym_integer_literal] = ACTIONS(2657),
    [sym_hex_literal] = ACTIONS(2657),
    [sym_oct_literal] = ACTIONS(2659),
    [sym_bin_literal] = ACTIONS(2659),
    [anon_sym_true] = ACTIONS(2657),
    [anon_sym_false] = ACTIONS(2657),
    [anon_sym_DQUOTE] = ACTIONS(2657),
    [anon_sym_BSLASH] = ACTIONS(2659),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2659),
    [anon_sym_COMMA] = ACTIONS(2659),
    [sym__oneline_regex_literal] = ACTIONS(2657),
    [anon_sym_LPAREN] = ACTIONS(2659),
    [anon_sym_LBRACK] = ACTIONS(2659),
    [anon_sym_QMARK] = ACTIONS(2657),
    [anon_sym_QMARK2] = ACTIONS(2659),
    [anon_sym_AMP] = ACTIONS(2659),
    [anon_sym_TILDE] = ACTIONS(2659),
    [anon_sym_if] = ACTIONS(2657),
    [anon_sym_switch] = ACTIONS(2657),
    [aux_sym_custom_operator_token1] = ACTIONS(2659),
    [anon_sym_LT] = ACTIONS(2657),
    [anon_sym_GT] = ACTIONS(2657),
    [anon_sym_await] = ACTIONS(2657),
    [anon_sym_LBRACE] = ACTIONS(2659),
    [anon_sym_CARET_LBRACE] = ACTIONS(2659),
    [anon_sym_self] = ACTIONS(2657),
    [anon_sym_super] = ACTIONS(2657),
    [anon_sym_try] = ACTIONS(2657),
    [anon_sym_PLUS_EQ] = ACTIONS(2659),
    [anon_sym_DASH_EQ] = ACTIONS(2659),
    [anon_sym_STAR_EQ] = ACTIONS(2659),
    [anon_sym_SLASH_EQ] = ACTIONS(2659),
    [anon_sym_PERCENT_EQ] = ACTIONS(2659),
    [anon_sym_BANG_EQ] = ACTIONS(2657),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2659),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2659),
    [anon_sym_LT_EQ] = ACTIONS(2659),
    [anon_sym_GT_EQ] = ACTIONS(2659),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2659),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2659),
    [anon_sym_is] = ACTIONS(2657),
    [anon_sym_PLUS] = ACTIONS(2657),
    [anon_sym_DASH] = ACTIONS(2657),
    [anon_sym_STAR] = ACTIONS(2657),
    [anon_sym_SLASH] = ACTIONS(2657),
    [anon_sym_PERCENT] = ACTIONS(2657),
    [anon_sym_PLUS_PLUS] = ACTIONS(2659),
    [anon_sym_DASH_DASH] = ACTIONS(2659),
    [anon_sym_PIPE] = ACTIONS(2659),
    [anon_sym_CARET] = ACTIONS(2657),
    [anon_sym_LT_LT] = ACTIONS(2659),
    [anon_sym_GT_GT] = ACTIONS(2659),
    [anon_sym_borrowing] = ACTIONS(2657),
    [anon_sym_consuming] = ACTIONS(2657),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2659),
    [sym_raw_str_end_part] = ACTIONS(2659),
    [sym__dot_custom] = ACTIONS(2659),
    [sym__conjunction_operator_custom] = ACTIONS(2659),
    [sym__disjunction_operator_custom] = ACTIONS(2659),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2659),
    [sym__eq_custom] = ACTIONS(2659),
    [sym__eq_eq_custom] = ACTIONS(2659),
    [sym__plus_then_ws] = ACTIONS(2659),
    [sym__minus_then_ws] = ACTIONS(2659),
    [sym__bang_custom] = ACTIONS(2659),
    [sym_else] = ACTIONS(2659),
    [sym__as_custom] = ACTIONS(2659),
    [sym__as_quest_custom] = ACTIONS(2659),
    [sym__as_bang_custom] = ACTIONS(2659),
    [sym__custom_operator] = ACTIONS(2659),
    [sym__hash_symbol_custom] = ACTIONS(2659),
    [sym__directive_if] = ACTIONS(2659),
    [sym__directive_elseif] = ACTIONS(2659),
    [sym__directive_else] = ACTIONS(2659),
    [sym__directive_endif] = ACTIONS(2659),
  },
  [1320] = {
    [anon_sym_BANG] = ACTIONS(3513),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3515),
    [anon_sym_package] = ACTIONS(3515),
    [anon_sym_COMMA] = ACTIONS(3515),
    [anon_sym_LPAREN] = ACTIONS(3515),
    [anon_sym_LBRACK] = ACTIONS(3515),
    [anon_sym_QMARK] = ACTIONS(3513),
    [anon_sym_QMARK2] = ACTIONS(3515),
    [anon_sym_AMP] = ACTIONS(3515),
    [aux_sym_custom_operator_token1] = ACTIONS(3515),
    [anon_sym_LT] = ACTIONS(3513),
    [anon_sym_GT] = ACTIONS(3513),
    [anon_sym_LBRACE] = ACTIONS(3515),
    [anon_sym_CARET_LBRACE] = ACTIONS(3515),
    [anon_sym_RBRACE] = ACTIONS(3515),
    [anon_sym_case] = ACTIONS(3515),
    [anon_sym_fallthrough] = ACTIONS(3515),
    [anon_sym_PLUS_EQ] = ACTIONS(3515),
    [anon_sym_DASH_EQ] = ACTIONS(3515),
    [anon_sym_STAR_EQ] = ACTIONS(3515),
    [anon_sym_SLASH_EQ] = ACTIONS(3515),
    [anon_sym_PERCENT_EQ] = ACTIONS(3515),
    [anon_sym_BANG_EQ] = ACTIONS(3513),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3515),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3515),
    [anon_sym_LT_EQ] = ACTIONS(3515),
    [anon_sym_GT_EQ] = ACTIONS(3515),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3515),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3515),
    [anon_sym_is] = ACTIONS(3515),
    [anon_sym_PLUS] = ACTIONS(3513),
    [anon_sym_DASH] = ACTIONS(3513),
    [anon_sym_STAR] = ACTIONS(3513),
    [anon_sym_SLASH] = ACTIONS(3513),
    [anon_sym_PERCENT] = ACTIONS(3513),
    [anon_sym_PLUS_PLUS] = ACTIONS(3515),
    [anon_sym_DASH_DASH] = ACTIONS(3515),
    [anon_sym_PIPE] = ACTIONS(3515),
    [anon_sym_CARET] = ACTIONS(3513),
    [anon_sym_LT_LT] = ACTIONS(3515),
    [anon_sym_GT_GT] = ACTIONS(3515),
    [anon_sym_class] = ACTIONS(3515),
    [anon_sym_prefix] = ACTIONS(3515),
    [anon_sym_infix] = ACTIONS(3515),
    [anon_sym_postfix] = ACTIONS(3515),
    [anon_sym_AT] = ACTIONS(3513),
    [anon_sym_override] = ACTIONS(3515),
    [anon_sym_convenience] = ACTIONS(3515),
    [anon_sym_required] = ACTIONS(3515),
    [anon_sym_nonisolated] = ACTIONS(3515),
    [anon_sym_public] = ACTIONS(3515),
    [anon_sym_private] = ACTIONS(3515),
    [anon_sym_internal] = ACTIONS(3515),
    [anon_sym_fileprivate] = ACTIONS(3515),
    [anon_sym_open] = ACTIONS(3515),
    [anon_sym_mutating] = ACTIONS(3515),
    [anon_sym_nonmutating] = ACTIONS(3515),
    [anon_sym_static] = ACTIONS(3515),
    [anon_sym_dynamic] = ACTIONS(3515),
    [anon_sym_optional] = ACTIONS(3515),
    [anon_sym_distributed] = ACTIONS(3515),
    [anon_sym_final] = ACTIONS(3515),
    [anon_sym_inout] = ACTIONS(3515),
    [anon_sym_ATescaping] = ACTIONS(3515),
    [anon_sym_ATautoclosure] = ACTIONS(3515),
    [anon_sym_weak] = ACTIONS(3515),
    [anon_sym_unowned] = ACTIONS(3513),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3515),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3515),
    [anon_sym_borrowing] = ACTIONS(3515),
    [anon_sym_consuming] = ACTIONS(3515),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3515),
    [sym__explicit_semi] = ACTIONS(3515),
    [sym__dot_custom] = ACTIONS(3515),
    [sym__conjunction_operator_custom] = ACTIONS(3515),
    [sym__disjunction_operator_custom] = ACTIONS(3515),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3515),
    [sym__eq_custom] = ACTIONS(3515),
    [sym__eq_eq_custom] = ACTIONS(3515),
    [sym__plus_then_ws] = ACTIONS(3515),
    [sym__minus_then_ws] = ACTIONS(3515),
    [sym__bang_custom] = ACTIONS(3515),
    [sym_default_keyword] = ACTIONS(3515),
    [sym_where_keyword] = ACTIONS(3515),
    [sym__as_custom] = ACTIONS(3515),
    [sym__as_quest_custom] = ACTIONS(3515),
    [sym__as_bang_custom] = ACTIONS(3515),
    [sym__custom_operator] = ACTIONS(3515),
  },
  [1321] = {
    [anon_sym_BANG] = ACTIONS(3293),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3295),
    [anon_sym_package] = ACTIONS(3295),
    [anon_sym_COMMA] = ACTIONS(3295),
    [anon_sym_LPAREN] = ACTIONS(3295),
    [anon_sym_LBRACK] = ACTIONS(3295),
    [anon_sym_QMARK] = ACTIONS(3293),
    [anon_sym_QMARK2] = ACTIONS(3295),
    [anon_sym_AMP] = ACTIONS(3295),
    [aux_sym_custom_operator_token1] = ACTIONS(3295),
    [anon_sym_LT] = ACTIONS(3293),
    [anon_sym_GT] = ACTIONS(3293),
    [anon_sym_LBRACE] = ACTIONS(3295),
    [anon_sym_CARET_LBRACE] = ACTIONS(3295),
    [anon_sym_RBRACE] = ACTIONS(3295),
    [anon_sym_case] = ACTIONS(3295),
    [anon_sym_fallthrough] = ACTIONS(3295),
    [anon_sym_PLUS_EQ] = ACTIONS(3295),
    [anon_sym_DASH_EQ] = ACTIONS(3295),
    [anon_sym_STAR_EQ] = ACTIONS(3295),
    [anon_sym_SLASH_EQ] = ACTIONS(3295),
    [anon_sym_PERCENT_EQ] = ACTIONS(3295),
    [anon_sym_BANG_EQ] = ACTIONS(3293),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3295),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3295),
    [anon_sym_LT_EQ] = ACTIONS(3295),
    [anon_sym_GT_EQ] = ACTIONS(3295),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3295),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3295),
    [anon_sym_is] = ACTIONS(3295),
    [anon_sym_PLUS] = ACTIONS(3293),
    [anon_sym_DASH] = ACTIONS(3293),
    [anon_sym_STAR] = ACTIONS(3293),
    [anon_sym_SLASH] = ACTIONS(3293),
    [anon_sym_PERCENT] = ACTIONS(3293),
    [anon_sym_PLUS_PLUS] = ACTIONS(3295),
    [anon_sym_DASH_DASH] = ACTIONS(3295),
    [anon_sym_PIPE] = ACTIONS(3295),
    [anon_sym_CARET] = ACTIONS(3293),
    [anon_sym_LT_LT] = ACTIONS(3295),
    [anon_sym_GT_GT] = ACTIONS(3295),
    [anon_sym_class] = ACTIONS(3295),
    [anon_sym_prefix] = ACTIONS(3295),
    [anon_sym_infix] = ACTIONS(3295),
    [anon_sym_postfix] = ACTIONS(3295),
    [anon_sym_AT] = ACTIONS(3293),
    [anon_sym_override] = ACTIONS(3295),
    [anon_sym_convenience] = ACTIONS(3295),
    [anon_sym_required] = ACTIONS(3295),
    [anon_sym_nonisolated] = ACTIONS(3295),
    [anon_sym_public] = ACTIONS(3295),
    [anon_sym_private] = ACTIONS(3295),
    [anon_sym_internal] = ACTIONS(3295),
    [anon_sym_fileprivate] = ACTIONS(3295),
    [anon_sym_open] = ACTIONS(3295),
    [anon_sym_mutating] = ACTIONS(3295),
    [anon_sym_nonmutating] = ACTIONS(3295),
    [anon_sym_static] = ACTIONS(3295),
    [anon_sym_dynamic] = ACTIONS(3295),
    [anon_sym_optional] = ACTIONS(3295),
    [anon_sym_distributed] = ACTIONS(3295),
    [anon_sym_final] = ACTIONS(3295),
    [anon_sym_inout] = ACTIONS(3295),
    [anon_sym_ATescaping] = ACTIONS(3295),
    [anon_sym_ATautoclosure] = ACTIONS(3295),
    [anon_sym_weak] = ACTIONS(3295),
    [anon_sym_unowned] = ACTIONS(3293),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3295),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3295),
    [anon_sym_borrowing] = ACTIONS(3295),
    [anon_sym_consuming] = ACTIONS(3295),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3295),
    [sym__explicit_semi] = ACTIONS(3295),
    [sym__dot_custom] = ACTIONS(3295),
    [sym__conjunction_operator_custom] = ACTIONS(3295),
    [sym__disjunction_operator_custom] = ACTIONS(3295),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3295),
    [sym__eq_custom] = ACTIONS(3295),
    [sym__eq_eq_custom] = ACTIONS(3295),
    [sym__plus_then_ws] = ACTIONS(3295),
    [sym__minus_then_ws] = ACTIONS(3295),
    [sym__bang_custom] = ACTIONS(3295),
    [sym_default_keyword] = ACTIONS(3295),
    [sym_else] = ACTIONS(3295),
    [sym__as_custom] = ACTIONS(3295),
    [sym__as_quest_custom] = ACTIONS(3295),
    [sym__as_bang_custom] = ACTIONS(3295),
    [sym__custom_operator] = ACTIONS(3295),
  },
  [1322] = {
    [anon_sym_BANG] = ACTIONS(3317),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3319),
    [anon_sym_package] = ACTIONS(3319),
    [anon_sym_COMMA] = ACTIONS(3319),
    [anon_sym_LPAREN] = ACTIONS(3319),
    [anon_sym_LBRACK] = ACTIONS(3319),
    [anon_sym_QMARK] = ACTIONS(3317),
    [anon_sym_QMARK2] = ACTIONS(3319),
    [anon_sym_AMP] = ACTIONS(3319),
    [aux_sym_custom_operator_token1] = ACTIONS(3319),
    [anon_sym_LT] = ACTIONS(3317),
    [anon_sym_GT] = ACTIONS(3317),
    [anon_sym_LBRACE] = ACTIONS(3319),
    [anon_sym_CARET_LBRACE] = ACTIONS(3319),
    [anon_sym_RBRACE] = ACTIONS(3319),
    [anon_sym_case] = ACTIONS(3319),
    [anon_sym_fallthrough] = ACTIONS(3319),
    [anon_sym_PLUS_EQ] = ACTIONS(3319),
    [anon_sym_DASH_EQ] = ACTIONS(3319),
    [anon_sym_STAR_EQ] = ACTIONS(3319),
    [anon_sym_SLASH_EQ] = ACTIONS(3319),
    [anon_sym_PERCENT_EQ] = ACTIONS(3319),
    [anon_sym_BANG_EQ] = ACTIONS(3317),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3319),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3319),
    [anon_sym_LT_EQ] = ACTIONS(3319),
    [anon_sym_GT_EQ] = ACTIONS(3319),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3319),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3319),
    [anon_sym_is] = ACTIONS(3319),
    [anon_sym_PLUS] = ACTIONS(3317),
    [anon_sym_DASH] = ACTIONS(3317),
    [anon_sym_STAR] = ACTIONS(3317),
    [anon_sym_SLASH] = ACTIONS(3317),
    [anon_sym_PERCENT] = ACTIONS(3317),
    [anon_sym_PLUS_PLUS] = ACTIONS(3319),
    [anon_sym_DASH_DASH] = ACTIONS(3319),
    [anon_sym_PIPE] = ACTIONS(3319),
    [anon_sym_CARET] = ACTIONS(3317),
    [anon_sym_LT_LT] = ACTIONS(3319),
    [anon_sym_GT_GT] = ACTIONS(3319),
    [anon_sym_class] = ACTIONS(3319),
    [anon_sym_prefix] = ACTIONS(3319),
    [anon_sym_infix] = ACTIONS(3319),
    [anon_sym_postfix] = ACTIONS(3319),
    [anon_sym_AT] = ACTIONS(3317),
    [anon_sym_override] = ACTIONS(3319),
    [anon_sym_convenience] = ACTIONS(3319),
    [anon_sym_required] = ACTIONS(3319),
    [anon_sym_nonisolated] = ACTIONS(3319),
    [anon_sym_public] = ACTIONS(3319),
    [anon_sym_private] = ACTIONS(3319),
    [anon_sym_internal] = ACTIONS(3319),
    [anon_sym_fileprivate] = ACTIONS(3319),
    [anon_sym_open] = ACTIONS(3319),
    [anon_sym_mutating] = ACTIONS(3319),
    [anon_sym_nonmutating] = ACTIONS(3319),
    [anon_sym_static] = ACTIONS(3319),
    [anon_sym_dynamic] = ACTIONS(3319),
    [anon_sym_optional] = ACTIONS(3319),
    [anon_sym_distributed] = ACTIONS(3319),
    [anon_sym_final] = ACTIONS(3319),
    [anon_sym_inout] = ACTIONS(3319),
    [anon_sym_ATescaping] = ACTIONS(3319),
    [anon_sym_ATautoclosure] = ACTIONS(3319),
    [anon_sym_weak] = ACTIONS(3319),
    [anon_sym_unowned] = ACTIONS(3317),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3319),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3319),
    [anon_sym_borrowing] = ACTIONS(3319),
    [anon_sym_consuming] = ACTIONS(3319),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3319),
    [sym__explicit_semi] = ACTIONS(3319),
    [sym__dot_custom] = ACTIONS(3319),
    [sym__conjunction_operator_custom] = ACTIONS(3319),
    [sym__disjunction_operator_custom] = ACTIONS(3319),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3319),
    [sym__eq_custom] = ACTIONS(3319),
    [sym__eq_eq_custom] = ACTIONS(3319),
    [sym__plus_then_ws] = ACTIONS(3319),
    [sym__minus_then_ws] = ACTIONS(3319),
    [sym__bang_custom] = ACTIONS(3319),
    [sym_default_keyword] = ACTIONS(3319),
    [sym_where_keyword] = ACTIONS(3319),
    [sym__as_custom] = ACTIONS(3319),
    [sym__as_quest_custom] = ACTIONS(3319),
    [sym__as_bang_custom] = ACTIONS(3319),
    [sym__custom_operator] = ACTIONS(3319),
  },
  [1323] = {
    [anon_sym_BANG] = ACTIONS(3091),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3093),
    [anon_sym_package] = ACTIONS(3093),
    [anon_sym_COMMA] = ACTIONS(3093),
    [anon_sym_LPAREN] = ACTIONS(3093),
    [anon_sym_LBRACK] = ACTIONS(3093),
    [anon_sym_DOT] = ACTIONS(3091),
    [anon_sym_QMARK] = ACTIONS(3091),
    [anon_sym_QMARK2] = ACTIONS(3093),
    [anon_sym_AMP] = ACTIONS(3093),
    [aux_sym_custom_operator_token1] = ACTIONS(3093),
    [anon_sym_LT] = ACTIONS(3091),
    [anon_sym_GT] = ACTIONS(3091),
    [anon_sym_LBRACE] = ACTIONS(3093),
    [anon_sym_CARET_LBRACE] = ACTIONS(3093),
    [anon_sym_RBRACE] = ACTIONS(3093),
    [anon_sym_case] = ACTIONS(3093),
    [anon_sym_fallthrough] = ACTIONS(3093),
    [anon_sym_PLUS_EQ] = ACTIONS(3093),
    [anon_sym_DASH_EQ] = ACTIONS(3093),
    [anon_sym_STAR_EQ] = ACTIONS(3093),
    [anon_sym_SLASH_EQ] = ACTIONS(3093),
    [anon_sym_PERCENT_EQ] = ACTIONS(3093),
    [anon_sym_BANG_EQ] = ACTIONS(3091),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3093),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3093),
    [anon_sym_LT_EQ] = ACTIONS(3093),
    [anon_sym_GT_EQ] = ACTIONS(3093),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3093),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3093),
    [anon_sym_is] = ACTIONS(3093),
    [anon_sym_PLUS] = ACTIONS(3091),
    [anon_sym_DASH] = ACTIONS(3091),
    [anon_sym_STAR] = ACTIONS(3091),
    [anon_sym_SLASH] = ACTIONS(3091),
    [anon_sym_PERCENT] = ACTIONS(3091),
    [anon_sym_PLUS_PLUS] = ACTIONS(3093),
    [anon_sym_DASH_DASH] = ACTIONS(3093),
    [anon_sym_PIPE] = ACTIONS(3093),
    [anon_sym_CARET] = ACTIONS(3091),
    [anon_sym_LT_LT] = ACTIONS(3093),
    [anon_sym_GT_GT] = ACTIONS(3093),
    [anon_sym_class] = ACTIONS(3093),
    [anon_sym_prefix] = ACTIONS(3093),
    [anon_sym_infix] = ACTIONS(3093),
    [anon_sym_postfix] = ACTIONS(3093),
    [anon_sym_AT] = ACTIONS(3091),
    [anon_sym_override] = ACTIONS(3093),
    [anon_sym_convenience] = ACTIONS(3093),
    [anon_sym_required] = ACTIONS(3093),
    [anon_sym_nonisolated] = ACTIONS(3093),
    [anon_sym_public] = ACTIONS(3093),
    [anon_sym_private] = ACTIONS(3093),
    [anon_sym_internal] = ACTIONS(3093),
    [anon_sym_fileprivate] = ACTIONS(3093),
    [anon_sym_open] = ACTIONS(3093),
    [anon_sym_mutating] = ACTIONS(3093),
    [anon_sym_nonmutating] = ACTIONS(3093),
    [anon_sym_static] = ACTIONS(3093),
    [anon_sym_dynamic] = ACTIONS(3093),
    [anon_sym_optional] = ACTIONS(3093),
    [anon_sym_distributed] = ACTIONS(3093),
    [anon_sym_final] = ACTIONS(3093),
    [anon_sym_inout] = ACTIONS(3093),
    [anon_sym_ATescaping] = ACTIONS(3093),
    [anon_sym_ATautoclosure] = ACTIONS(3093),
    [anon_sym_weak] = ACTIONS(3093),
    [anon_sym_unowned] = ACTIONS(3091),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3093),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3093),
    [anon_sym_borrowing] = ACTIONS(3093),
    [anon_sym_consuming] = ACTIONS(3093),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3093),
    [sym__explicit_semi] = ACTIONS(3093),
    [sym__dot_custom] = ACTIONS(3093),
    [sym__conjunction_operator_custom] = ACTIONS(3093),
    [sym__disjunction_operator_custom] = ACTIONS(3093),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3093),
    [sym__eq_custom] = ACTIONS(3093),
    [sym__eq_eq_custom] = ACTIONS(3093),
    [sym__plus_then_ws] = ACTIONS(3093),
    [sym__minus_then_ws] = ACTIONS(3093),
    [sym__bang_custom] = ACTIONS(3093),
    [sym_default_keyword] = ACTIONS(3093),
    [sym__as_custom] = ACTIONS(3093),
    [sym__as_quest_custom] = ACTIONS(3093),
    [sym__as_bang_custom] = ACTIONS(3093),
    [sym__custom_operator] = ACTIONS(3093),
  },
  [1324] = {
    [anon_sym_BANG] = ACTIONS(3449),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3451),
    [anon_sym_package] = ACTIONS(3451),
    [anon_sym_COMMA] = ACTIONS(3451),
    [anon_sym_LPAREN] = ACTIONS(3451),
    [anon_sym_LBRACK] = ACTIONS(3451),
    [anon_sym_QMARK] = ACTIONS(3449),
    [anon_sym_QMARK2] = ACTIONS(3451),
    [anon_sym_AMP] = ACTIONS(3451),
    [aux_sym_custom_operator_token1] = ACTIONS(3451),
    [anon_sym_LT] = ACTIONS(3449),
    [anon_sym_GT] = ACTIONS(3449),
    [anon_sym_LBRACE] = ACTIONS(3451),
    [anon_sym_CARET_LBRACE] = ACTIONS(3451),
    [anon_sym_RBRACE] = ACTIONS(3451),
    [anon_sym_case] = ACTIONS(3451),
    [anon_sym_fallthrough] = ACTIONS(3451),
    [anon_sym_PLUS_EQ] = ACTIONS(3451),
    [anon_sym_DASH_EQ] = ACTIONS(3451),
    [anon_sym_STAR_EQ] = ACTIONS(3451),
    [anon_sym_SLASH_EQ] = ACTIONS(3451),
    [anon_sym_PERCENT_EQ] = ACTIONS(3451),
    [anon_sym_BANG_EQ] = ACTIONS(3449),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3451),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3451),
    [anon_sym_LT_EQ] = ACTIONS(3451),
    [anon_sym_GT_EQ] = ACTIONS(3451),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3451),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3451),
    [anon_sym_is] = ACTIONS(3451),
    [anon_sym_PLUS] = ACTIONS(3449),
    [anon_sym_DASH] = ACTIONS(3449),
    [anon_sym_STAR] = ACTIONS(3449),
    [anon_sym_SLASH] = ACTIONS(3449),
    [anon_sym_PERCENT] = ACTIONS(3449),
    [anon_sym_PLUS_PLUS] = ACTIONS(3451),
    [anon_sym_DASH_DASH] = ACTIONS(3451),
    [anon_sym_PIPE] = ACTIONS(3451),
    [anon_sym_CARET] = ACTIONS(3449),
    [anon_sym_LT_LT] = ACTIONS(3451),
    [anon_sym_GT_GT] = ACTIONS(3451),
    [anon_sym_class] = ACTIONS(3451),
    [anon_sym_prefix] = ACTIONS(3451),
    [anon_sym_infix] = ACTIONS(3451),
    [anon_sym_postfix] = ACTIONS(3451),
    [anon_sym_AT] = ACTIONS(3449),
    [anon_sym_override] = ACTIONS(3451),
    [anon_sym_convenience] = ACTIONS(3451),
    [anon_sym_required] = ACTIONS(3451),
    [anon_sym_nonisolated] = ACTIONS(3451),
    [anon_sym_public] = ACTIONS(3451),
    [anon_sym_private] = ACTIONS(3451),
    [anon_sym_internal] = ACTIONS(3451),
    [anon_sym_fileprivate] = ACTIONS(3451),
    [anon_sym_open] = ACTIONS(3451),
    [anon_sym_mutating] = ACTIONS(3451),
    [anon_sym_nonmutating] = ACTIONS(3451),
    [anon_sym_static] = ACTIONS(3451),
    [anon_sym_dynamic] = ACTIONS(3451),
    [anon_sym_optional] = ACTIONS(3451),
    [anon_sym_distributed] = ACTIONS(3451),
    [anon_sym_final] = ACTIONS(3451),
    [anon_sym_inout] = ACTIONS(3451),
    [anon_sym_ATescaping] = ACTIONS(3451),
    [anon_sym_ATautoclosure] = ACTIONS(3451),
    [anon_sym_weak] = ACTIONS(3451),
    [anon_sym_unowned] = ACTIONS(3449),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3451),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3451),
    [anon_sym_borrowing] = ACTIONS(3451),
    [anon_sym_consuming] = ACTIONS(3451),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3451),
    [sym__explicit_semi] = ACTIONS(3451),
    [sym__dot_custom] = ACTIONS(3451),
    [sym__conjunction_operator_custom] = ACTIONS(3451),
    [sym__disjunction_operator_custom] = ACTIONS(3451),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3451),
    [sym__eq_custom] = ACTIONS(3451),
    [sym__eq_eq_custom] = ACTIONS(3451),
    [sym__plus_then_ws] = ACTIONS(3451),
    [sym__minus_then_ws] = ACTIONS(3451),
    [sym__bang_custom] = ACTIONS(3451),
    [sym_default_keyword] = ACTIONS(3451),
    [sym_where_keyword] = ACTIONS(3451),
    [sym__as_custom] = ACTIONS(3451),
    [sym__as_quest_custom] = ACTIONS(3451),
    [sym__as_bang_custom] = ACTIONS(3451),
    [sym__custom_operator] = ACTIONS(3451),
  },
  [1325] = {
    [anon_sym_BANG] = ACTIONS(3421),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3423),
    [anon_sym_package] = ACTIONS(3423),
    [anon_sym_COMMA] = ACTIONS(3423),
    [anon_sym_LPAREN] = ACTIONS(3423),
    [anon_sym_LBRACK] = ACTIONS(3423),
    [anon_sym_QMARK] = ACTIONS(3421),
    [anon_sym_QMARK2] = ACTIONS(3423),
    [anon_sym_AMP] = ACTIONS(3423),
    [aux_sym_custom_operator_token1] = ACTIONS(3423),
    [anon_sym_LT] = ACTIONS(3421),
    [anon_sym_GT] = ACTIONS(3421),
    [anon_sym_LBRACE] = ACTIONS(3423),
    [anon_sym_CARET_LBRACE] = ACTIONS(3423),
    [anon_sym_RBRACE] = ACTIONS(3423),
    [anon_sym_case] = ACTIONS(3423),
    [anon_sym_fallthrough] = ACTIONS(3423),
    [anon_sym_PLUS_EQ] = ACTIONS(3423),
    [anon_sym_DASH_EQ] = ACTIONS(3423),
    [anon_sym_STAR_EQ] = ACTIONS(3423),
    [anon_sym_SLASH_EQ] = ACTIONS(3423),
    [anon_sym_PERCENT_EQ] = ACTIONS(3423),
    [anon_sym_BANG_EQ] = ACTIONS(3421),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3423),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3423),
    [anon_sym_LT_EQ] = ACTIONS(3423),
    [anon_sym_GT_EQ] = ACTIONS(3423),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3423),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3423),
    [anon_sym_is] = ACTIONS(3423),
    [anon_sym_PLUS] = ACTIONS(3421),
    [anon_sym_DASH] = ACTIONS(3421),
    [anon_sym_STAR] = ACTIONS(3421),
    [anon_sym_SLASH] = ACTIONS(3421),
    [anon_sym_PERCENT] = ACTIONS(3421),
    [anon_sym_PLUS_PLUS] = ACTIONS(3423),
    [anon_sym_DASH_DASH] = ACTIONS(3423),
    [anon_sym_PIPE] = ACTIONS(3423),
    [anon_sym_CARET] = ACTIONS(3421),
    [anon_sym_LT_LT] = ACTIONS(3423),
    [anon_sym_GT_GT] = ACTIONS(3423),
    [anon_sym_class] = ACTIONS(3423),
    [anon_sym_prefix] = ACTIONS(3423),
    [anon_sym_infix] = ACTIONS(3423),
    [anon_sym_postfix] = ACTIONS(3423),
    [anon_sym_AT] = ACTIONS(3421),
    [anon_sym_override] = ACTIONS(3423),
    [anon_sym_convenience] = ACTIONS(3423),
    [anon_sym_required] = ACTIONS(3423),
    [anon_sym_nonisolated] = ACTIONS(3423),
    [anon_sym_public] = ACTIONS(3423),
    [anon_sym_private] = ACTIONS(3423),
    [anon_sym_internal] = ACTIONS(3423),
    [anon_sym_fileprivate] = ACTIONS(3423),
    [anon_sym_open] = ACTIONS(3423),
    [anon_sym_mutating] = ACTIONS(3423),
    [anon_sym_nonmutating] = ACTIONS(3423),
    [anon_sym_static] = ACTIONS(3423),
    [anon_sym_dynamic] = ACTIONS(3423),
    [anon_sym_optional] = ACTIONS(3423),
    [anon_sym_distributed] = ACTIONS(3423),
    [anon_sym_final] = ACTIONS(3423),
    [anon_sym_inout] = ACTIONS(3423),
    [anon_sym_ATescaping] = ACTIONS(3423),
    [anon_sym_ATautoclosure] = ACTIONS(3423),
    [anon_sym_weak] = ACTIONS(3423),
    [anon_sym_unowned] = ACTIONS(3421),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3423),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3423),
    [anon_sym_borrowing] = ACTIONS(3423),
    [anon_sym_consuming] = ACTIONS(3423),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3423),
    [sym__explicit_semi] = ACTIONS(3423),
    [sym__dot_custom] = ACTIONS(3423),
    [sym__conjunction_operator_custom] = ACTIONS(3423),
    [sym__disjunction_operator_custom] = ACTIONS(3423),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3423),
    [sym__eq_custom] = ACTIONS(3423),
    [sym__eq_eq_custom] = ACTIONS(3423),
    [sym__plus_then_ws] = ACTIONS(3423),
    [sym__minus_then_ws] = ACTIONS(3423),
    [sym__bang_custom] = ACTIONS(3423),
    [sym_default_keyword] = ACTIONS(3423),
    [sym_where_keyword] = ACTIONS(3423),
    [sym__as_custom] = ACTIONS(3423),
    [sym__as_quest_custom] = ACTIONS(3423),
    [sym__as_bang_custom] = ACTIONS(3423),
    [sym__custom_operator] = ACTIONS(3423),
  },
  [1326] = {
    [anon_sym_BANG] = ACTIONS(3609),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3611),
    [anon_sym_package] = ACTIONS(3611),
    [anon_sym_COMMA] = ACTIONS(3611),
    [anon_sym_LPAREN] = ACTIONS(3611),
    [anon_sym_LBRACK] = ACTIONS(3611),
    [anon_sym_QMARK] = ACTIONS(3609),
    [anon_sym_QMARK2] = ACTIONS(3611),
    [anon_sym_AMP] = ACTIONS(3611),
    [aux_sym_custom_operator_token1] = ACTIONS(3611),
    [anon_sym_LT] = ACTIONS(3609),
    [anon_sym_GT] = ACTIONS(3609),
    [anon_sym_LBRACE] = ACTIONS(3611),
    [anon_sym_CARET_LBRACE] = ACTIONS(3611),
    [anon_sym_RBRACE] = ACTIONS(3611),
    [anon_sym_case] = ACTIONS(3611),
    [anon_sym_fallthrough] = ACTIONS(3611),
    [anon_sym_PLUS_EQ] = ACTIONS(3611),
    [anon_sym_DASH_EQ] = ACTIONS(3611),
    [anon_sym_STAR_EQ] = ACTIONS(3611),
    [anon_sym_SLASH_EQ] = ACTIONS(3611),
    [anon_sym_PERCENT_EQ] = ACTIONS(3611),
    [anon_sym_BANG_EQ] = ACTIONS(3609),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3611),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3611),
    [anon_sym_LT_EQ] = ACTIONS(3611),
    [anon_sym_GT_EQ] = ACTIONS(3611),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3611),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3611),
    [anon_sym_is] = ACTIONS(3611),
    [anon_sym_PLUS] = ACTIONS(3609),
    [anon_sym_DASH] = ACTIONS(3609),
    [anon_sym_STAR] = ACTIONS(3609),
    [anon_sym_SLASH] = ACTIONS(3609),
    [anon_sym_PERCENT] = ACTIONS(3609),
    [anon_sym_PLUS_PLUS] = ACTIONS(3611),
    [anon_sym_DASH_DASH] = ACTIONS(3611),
    [anon_sym_PIPE] = ACTIONS(3611),
    [anon_sym_CARET] = ACTIONS(3609),
    [anon_sym_LT_LT] = ACTIONS(3611),
    [anon_sym_GT_GT] = ACTIONS(3611),
    [anon_sym_class] = ACTIONS(3611),
    [anon_sym_prefix] = ACTIONS(3611),
    [anon_sym_infix] = ACTIONS(3611),
    [anon_sym_postfix] = ACTIONS(3611),
    [anon_sym_AT] = ACTIONS(3609),
    [anon_sym_override] = ACTIONS(3611),
    [anon_sym_convenience] = ACTIONS(3611),
    [anon_sym_required] = ACTIONS(3611),
    [anon_sym_nonisolated] = ACTIONS(3611),
    [anon_sym_public] = ACTIONS(3611),
    [anon_sym_private] = ACTIONS(3611),
    [anon_sym_internal] = ACTIONS(3611),
    [anon_sym_fileprivate] = ACTIONS(3611),
    [anon_sym_open] = ACTIONS(3611),
    [anon_sym_mutating] = ACTIONS(3611),
    [anon_sym_nonmutating] = ACTIONS(3611),
    [anon_sym_static] = ACTIONS(3611),
    [anon_sym_dynamic] = ACTIONS(3611),
    [anon_sym_optional] = ACTIONS(3611),
    [anon_sym_distributed] = ACTIONS(3611),
    [anon_sym_final] = ACTIONS(3611),
    [anon_sym_inout] = ACTIONS(3611),
    [anon_sym_ATescaping] = ACTIONS(3611),
    [anon_sym_ATautoclosure] = ACTIONS(3611),
    [anon_sym_weak] = ACTIONS(3611),
    [anon_sym_unowned] = ACTIONS(3609),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3611),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3611),
    [anon_sym_borrowing] = ACTIONS(3611),
    [anon_sym_consuming] = ACTIONS(3611),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3611),
    [sym__explicit_semi] = ACTIONS(3611),
    [sym__dot_custom] = ACTIONS(3611),
    [sym__conjunction_operator_custom] = ACTIONS(3611),
    [sym__disjunction_operator_custom] = ACTIONS(3611),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3611),
    [sym__eq_custom] = ACTIONS(3611),
    [sym__eq_eq_custom] = ACTIONS(3611),
    [sym__plus_then_ws] = ACTIONS(3611),
    [sym__minus_then_ws] = ACTIONS(3611),
    [sym__bang_custom] = ACTIONS(3611),
    [sym_default_keyword] = ACTIONS(3611),
    [sym_where_keyword] = ACTIONS(3611),
    [sym__as_custom] = ACTIONS(3611),
    [sym__as_quest_custom] = ACTIONS(3611),
    [sym__as_bang_custom] = ACTIONS(3611),
    [sym__custom_operator] = ACTIONS(3611),
  },
  [1327] = {
    [anon_sym_BANG] = ACTIONS(3275),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3277),
    [anon_sym_package] = ACTIONS(3277),
    [anon_sym_COMMA] = ACTIONS(3277),
    [anon_sym_LPAREN] = ACTIONS(3277),
    [anon_sym_LBRACK] = ACTIONS(3277),
    [anon_sym_QMARK] = ACTIONS(3275),
    [anon_sym_QMARK2] = ACTIONS(3277),
    [anon_sym_AMP] = ACTIONS(3277),
    [aux_sym_custom_operator_token1] = ACTIONS(3277),
    [anon_sym_LT] = ACTIONS(3275),
    [anon_sym_GT] = ACTIONS(3275),
    [anon_sym_LBRACE] = ACTIONS(3277),
    [anon_sym_CARET_LBRACE] = ACTIONS(3277),
    [anon_sym_RBRACE] = ACTIONS(3277),
    [anon_sym_case] = ACTIONS(3277),
    [anon_sym_fallthrough] = ACTIONS(3277),
    [anon_sym_PLUS_EQ] = ACTIONS(3277),
    [anon_sym_DASH_EQ] = ACTIONS(3277),
    [anon_sym_STAR_EQ] = ACTIONS(3277),
    [anon_sym_SLASH_EQ] = ACTIONS(3277),
    [anon_sym_PERCENT_EQ] = ACTIONS(3277),
    [anon_sym_BANG_EQ] = ACTIONS(3275),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3277),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3277),
    [anon_sym_LT_EQ] = ACTIONS(3277),
    [anon_sym_GT_EQ] = ACTIONS(3277),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3277),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3277),
    [anon_sym_is] = ACTIONS(3277),
    [anon_sym_PLUS] = ACTIONS(3275),
    [anon_sym_DASH] = ACTIONS(3275),
    [anon_sym_STAR] = ACTIONS(3275),
    [anon_sym_SLASH] = ACTIONS(3275),
    [anon_sym_PERCENT] = ACTIONS(3275),
    [anon_sym_PLUS_PLUS] = ACTIONS(3277),
    [anon_sym_DASH_DASH] = ACTIONS(3277),
    [anon_sym_PIPE] = ACTIONS(3277),
    [anon_sym_CARET] = ACTIONS(3275),
    [anon_sym_LT_LT] = ACTIONS(3277),
    [anon_sym_GT_GT] = ACTIONS(3277),
    [anon_sym_class] = ACTIONS(3277),
    [anon_sym_prefix] = ACTIONS(3277),
    [anon_sym_infix] = ACTIONS(3277),
    [anon_sym_postfix] = ACTIONS(3277),
    [anon_sym_AT] = ACTIONS(3275),
    [anon_sym_override] = ACTIONS(3277),
    [anon_sym_convenience] = ACTIONS(3277),
    [anon_sym_required] = ACTIONS(3277),
    [anon_sym_nonisolated] = ACTIONS(3277),
    [anon_sym_public] = ACTIONS(3277),
    [anon_sym_private] = ACTIONS(3277),
    [anon_sym_internal] = ACTIONS(3277),
    [anon_sym_fileprivate] = ACTIONS(3277),
    [anon_sym_open] = ACTIONS(3277),
    [anon_sym_mutating] = ACTIONS(3277),
    [anon_sym_nonmutating] = ACTIONS(3277),
    [anon_sym_static] = ACTIONS(3277),
    [anon_sym_dynamic] = ACTIONS(3277),
    [anon_sym_optional] = ACTIONS(3277),
    [anon_sym_distributed] = ACTIONS(3277),
    [anon_sym_final] = ACTIONS(3277),
    [anon_sym_inout] = ACTIONS(3277),
    [anon_sym_ATescaping] = ACTIONS(3277),
    [anon_sym_ATautoclosure] = ACTIONS(3277),
    [anon_sym_weak] = ACTIONS(3277),
    [anon_sym_unowned] = ACTIONS(3275),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3277),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3277),
    [anon_sym_borrowing] = ACTIONS(3277),
    [anon_sym_consuming] = ACTIONS(3277),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3277),
    [sym__explicit_semi] = ACTIONS(3277),
    [sym__dot_custom] = ACTIONS(3277),
    [sym__conjunction_operator_custom] = ACTIONS(3277),
    [sym__disjunction_operator_custom] = ACTIONS(3277),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3277),
    [sym__eq_custom] = ACTIONS(3277),
    [sym__eq_eq_custom] = ACTIONS(3277),
    [sym__plus_then_ws] = ACTIONS(3277),
    [sym__minus_then_ws] = ACTIONS(3277),
    [sym__bang_custom] = ACTIONS(3277),
    [sym_default_keyword] = ACTIONS(3277),
    [sym_where_keyword] = ACTIONS(3277),
    [sym__as_custom] = ACTIONS(3277),
    [sym__as_quest_custom] = ACTIONS(3277),
    [sym__as_bang_custom] = ACTIONS(3277),
    [sym__custom_operator] = ACTIONS(3277),
  },
  [1328] = {
    [anon_sym_BANG] = ACTIONS(3493),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3495),
    [anon_sym_package] = ACTIONS(3495),
    [anon_sym_COMMA] = ACTIONS(3495),
    [anon_sym_LPAREN] = ACTIONS(3495),
    [anon_sym_LBRACK] = ACTIONS(3495),
    [anon_sym_QMARK] = ACTIONS(3493),
    [anon_sym_QMARK2] = ACTIONS(3495),
    [anon_sym_AMP] = ACTIONS(3495),
    [aux_sym_custom_operator_token1] = ACTIONS(3495),
    [anon_sym_LT] = ACTIONS(3493),
    [anon_sym_GT] = ACTIONS(3493),
    [anon_sym_LBRACE] = ACTIONS(3495),
    [anon_sym_CARET_LBRACE] = ACTIONS(3495),
    [anon_sym_RBRACE] = ACTIONS(3495),
    [anon_sym_case] = ACTIONS(3495),
    [anon_sym_fallthrough] = ACTIONS(3495),
    [anon_sym_PLUS_EQ] = ACTIONS(3495),
    [anon_sym_DASH_EQ] = ACTIONS(3495),
    [anon_sym_STAR_EQ] = ACTIONS(3495),
    [anon_sym_SLASH_EQ] = ACTIONS(3495),
    [anon_sym_PERCENT_EQ] = ACTIONS(3495),
    [anon_sym_BANG_EQ] = ACTIONS(3493),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3495),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3495),
    [anon_sym_LT_EQ] = ACTIONS(3495),
    [anon_sym_GT_EQ] = ACTIONS(3495),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3495),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3495),
    [anon_sym_is] = ACTIONS(3495),
    [anon_sym_PLUS] = ACTIONS(3493),
    [anon_sym_DASH] = ACTIONS(3493),
    [anon_sym_STAR] = ACTIONS(3493),
    [anon_sym_SLASH] = ACTIONS(3493),
    [anon_sym_PERCENT] = ACTIONS(3493),
    [anon_sym_PLUS_PLUS] = ACTIONS(3495),
    [anon_sym_DASH_DASH] = ACTIONS(3495),
    [anon_sym_PIPE] = ACTIONS(3495),
    [anon_sym_CARET] = ACTIONS(3493),
    [anon_sym_LT_LT] = ACTIONS(3495),
    [anon_sym_GT_GT] = ACTIONS(3495),
    [anon_sym_class] = ACTIONS(3495),
    [anon_sym_prefix] = ACTIONS(3495),
    [anon_sym_infix] = ACTIONS(3495),
    [anon_sym_postfix] = ACTIONS(3495),
    [anon_sym_AT] = ACTIONS(3493),
    [anon_sym_override] = ACTIONS(3495),
    [anon_sym_convenience] = ACTIONS(3495),
    [anon_sym_required] = ACTIONS(3495),
    [anon_sym_nonisolated] = ACTIONS(3495),
    [anon_sym_public] = ACTIONS(3495),
    [anon_sym_private] = ACTIONS(3495),
    [anon_sym_internal] = ACTIONS(3495),
    [anon_sym_fileprivate] = ACTIONS(3495),
    [anon_sym_open] = ACTIONS(3495),
    [anon_sym_mutating] = ACTIONS(3495),
    [anon_sym_nonmutating] = ACTIONS(3495),
    [anon_sym_static] = ACTIONS(3495),
    [anon_sym_dynamic] = ACTIONS(3495),
    [anon_sym_optional] = ACTIONS(3495),
    [anon_sym_distributed] = ACTIONS(3495),
    [anon_sym_final] = ACTIONS(3495),
    [anon_sym_inout] = ACTIONS(3495),
    [anon_sym_ATescaping] = ACTIONS(3495),
    [anon_sym_ATautoclosure] = ACTIONS(3495),
    [anon_sym_weak] = ACTIONS(3495),
    [anon_sym_unowned] = ACTIONS(3493),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3495),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3495),
    [anon_sym_borrowing] = ACTIONS(3495),
    [anon_sym_consuming] = ACTIONS(3495),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3495),
    [sym__explicit_semi] = ACTIONS(3495),
    [sym__dot_custom] = ACTIONS(3495),
    [sym__conjunction_operator_custom] = ACTIONS(3495),
    [sym__disjunction_operator_custom] = ACTIONS(3495),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3495),
    [sym__eq_custom] = ACTIONS(3495),
    [sym__eq_eq_custom] = ACTIONS(3495),
    [sym__plus_then_ws] = ACTIONS(3495),
    [sym__minus_then_ws] = ACTIONS(3495),
    [sym__bang_custom] = ACTIONS(3495),
    [sym_default_keyword] = ACTIONS(3495),
    [sym_where_keyword] = ACTIONS(3495),
    [sym__as_custom] = ACTIONS(3495),
    [sym__as_quest_custom] = ACTIONS(3495),
    [sym__as_bang_custom] = ACTIONS(3495),
    [sym__custom_operator] = ACTIONS(3495),
  },
  [1329] = {
    [aux_sym_repeat_while_statement_repeat1] = STATE(7486),
    [anon_sym_BANG] = ACTIONS(3225),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3227),
    [anon_sym_package] = ACTIONS(3227),
    [anon_sym_LPAREN] = ACTIONS(3227),
    [anon_sym_LBRACK] = ACTIONS(3227),
    [anon_sym_QMARK] = ACTIONS(3225),
    [anon_sym_QMARK2] = ACTIONS(3227),
    [anon_sym_AMP] = ACTIONS(3227),
    [aux_sym_custom_operator_token1] = ACTIONS(3227),
    [anon_sym_LT] = ACTIONS(3225),
    [anon_sym_GT] = ACTIONS(3225),
    [anon_sym_LBRACE] = ACTIONS(3227),
    [anon_sym_CARET_LBRACE] = ACTIONS(3227),
    [anon_sym_RBRACE] = ACTIONS(3227),
    [anon_sym_case] = ACTIONS(3227),
    [anon_sym_fallthrough] = ACTIONS(3227),
    [anon_sym_PLUS_EQ] = ACTIONS(3227),
    [anon_sym_DASH_EQ] = ACTIONS(3227),
    [anon_sym_STAR_EQ] = ACTIONS(3227),
    [anon_sym_SLASH_EQ] = ACTIONS(3227),
    [anon_sym_PERCENT_EQ] = ACTIONS(3227),
    [anon_sym_BANG_EQ] = ACTIONS(3225),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3227),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3227),
    [anon_sym_LT_EQ] = ACTIONS(3227),
    [anon_sym_GT_EQ] = ACTIONS(3227),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3227),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3227),
    [anon_sym_is] = ACTIONS(3227),
    [anon_sym_PLUS] = ACTIONS(3225),
    [anon_sym_DASH] = ACTIONS(3225),
    [anon_sym_STAR] = ACTIONS(3225),
    [anon_sym_SLASH] = ACTIONS(3225),
    [anon_sym_PERCENT] = ACTIONS(3225),
    [anon_sym_PLUS_PLUS] = ACTIONS(3227),
    [anon_sym_DASH_DASH] = ACTIONS(3227),
    [anon_sym_PIPE] = ACTIONS(3227),
    [anon_sym_CARET] = ACTIONS(3225),
    [anon_sym_LT_LT] = ACTIONS(3227),
    [anon_sym_GT_GT] = ACTIONS(3227),
    [anon_sym_while] = ACTIONS(4325),
    [anon_sym_class] = ACTIONS(3227),
    [anon_sym_prefix] = ACTIONS(3227),
    [anon_sym_infix] = ACTIONS(3227),
    [anon_sym_postfix] = ACTIONS(3227),
    [anon_sym_AT] = ACTIONS(3225),
    [anon_sym_override] = ACTIONS(3227),
    [anon_sym_convenience] = ACTIONS(3227),
    [anon_sym_required] = ACTIONS(3227),
    [anon_sym_nonisolated] = ACTIONS(3227),
    [anon_sym_public] = ACTIONS(3227),
    [anon_sym_private] = ACTIONS(3227),
    [anon_sym_internal] = ACTIONS(3227),
    [anon_sym_fileprivate] = ACTIONS(3227),
    [anon_sym_open] = ACTIONS(3227),
    [anon_sym_mutating] = ACTIONS(3227),
    [anon_sym_nonmutating] = ACTIONS(3227),
    [anon_sym_static] = ACTIONS(3227),
    [anon_sym_dynamic] = ACTIONS(3227),
    [anon_sym_optional] = ACTIONS(3227),
    [anon_sym_distributed] = ACTIONS(3227),
    [anon_sym_final] = ACTIONS(3227),
    [anon_sym_inout] = ACTIONS(3227),
    [anon_sym_ATescaping] = ACTIONS(3227),
    [anon_sym_ATautoclosure] = ACTIONS(3227),
    [anon_sym_weak] = ACTIONS(3227),
    [anon_sym_unowned] = ACTIONS(3225),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3227),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3227),
    [anon_sym_borrowing] = ACTIONS(3227),
    [anon_sym_consuming] = ACTIONS(3227),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(4327),
    [sym__explicit_semi] = ACTIONS(3227),
    [sym__dot_custom] = ACTIONS(3227),
    [sym__conjunction_operator_custom] = ACTIONS(3227),
    [sym__disjunction_operator_custom] = ACTIONS(3227),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3227),
    [sym__eq_custom] = ACTIONS(3227),
    [sym__eq_eq_custom] = ACTIONS(3227),
    [sym__plus_then_ws] = ACTIONS(3227),
    [sym__minus_then_ws] = ACTIONS(3227),
    [sym__bang_custom] = ACTIONS(3227),
    [sym_default_keyword] = ACTIONS(3227),
    [sym__as_custom] = ACTIONS(3227),
    [sym__as_quest_custom] = ACTIONS(3227),
    [sym__as_bang_custom] = ACTIONS(3227),
    [sym__custom_operator] = ACTIONS(3227),
  },
  [1330] = {
    [anon_sym_BANG] = ACTIONS(3385),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3387),
    [anon_sym_package] = ACTIONS(3387),
    [anon_sym_COMMA] = ACTIONS(3387),
    [anon_sym_LPAREN] = ACTIONS(3387),
    [anon_sym_LBRACK] = ACTIONS(3387),
    [anon_sym_QMARK] = ACTIONS(3385),
    [anon_sym_QMARK2] = ACTIONS(3387),
    [anon_sym_AMP] = ACTIONS(3387),
    [aux_sym_custom_operator_token1] = ACTIONS(3387),
    [anon_sym_LT] = ACTIONS(3385),
    [anon_sym_GT] = ACTIONS(3385),
    [anon_sym_LBRACE] = ACTIONS(3387),
    [anon_sym_CARET_LBRACE] = ACTIONS(3387),
    [anon_sym_RBRACE] = ACTIONS(3387),
    [anon_sym_case] = ACTIONS(3387),
    [anon_sym_fallthrough] = ACTIONS(3387),
    [anon_sym_PLUS_EQ] = ACTIONS(3387),
    [anon_sym_DASH_EQ] = ACTIONS(3387),
    [anon_sym_STAR_EQ] = ACTIONS(3387),
    [anon_sym_SLASH_EQ] = ACTIONS(3387),
    [anon_sym_PERCENT_EQ] = ACTIONS(3387),
    [anon_sym_BANG_EQ] = ACTIONS(3385),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3387),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3387),
    [anon_sym_LT_EQ] = ACTIONS(3387),
    [anon_sym_GT_EQ] = ACTIONS(3387),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3387),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3387),
    [anon_sym_is] = ACTIONS(3387),
    [anon_sym_PLUS] = ACTIONS(3385),
    [anon_sym_DASH] = ACTIONS(3385),
    [anon_sym_STAR] = ACTIONS(3385),
    [anon_sym_SLASH] = ACTIONS(3385),
    [anon_sym_PERCENT] = ACTIONS(3385),
    [anon_sym_PLUS_PLUS] = ACTIONS(3387),
    [anon_sym_DASH_DASH] = ACTIONS(3387),
    [anon_sym_PIPE] = ACTIONS(3387),
    [anon_sym_CARET] = ACTIONS(3385),
    [anon_sym_LT_LT] = ACTIONS(3387),
    [anon_sym_GT_GT] = ACTIONS(3387),
    [anon_sym_class] = ACTIONS(3387),
    [anon_sym_prefix] = ACTIONS(3387),
    [anon_sym_infix] = ACTIONS(3387),
    [anon_sym_postfix] = ACTIONS(3387),
    [anon_sym_AT] = ACTIONS(3385),
    [anon_sym_override] = ACTIONS(3387),
    [anon_sym_convenience] = ACTIONS(3387),
    [anon_sym_required] = ACTIONS(3387),
    [anon_sym_nonisolated] = ACTIONS(3387),
    [anon_sym_public] = ACTIONS(3387),
    [anon_sym_private] = ACTIONS(3387),
    [anon_sym_internal] = ACTIONS(3387),
    [anon_sym_fileprivate] = ACTIONS(3387),
    [anon_sym_open] = ACTIONS(3387),
    [anon_sym_mutating] = ACTIONS(3387),
    [anon_sym_nonmutating] = ACTIONS(3387),
    [anon_sym_static] = ACTIONS(3387),
    [anon_sym_dynamic] = ACTIONS(3387),
    [anon_sym_optional] = ACTIONS(3387),
    [anon_sym_distributed] = ACTIONS(3387),
    [anon_sym_final] = ACTIONS(3387),
    [anon_sym_inout] = ACTIONS(3387),
    [anon_sym_ATescaping] = ACTIONS(3387),
    [anon_sym_ATautoclosure] = ACTIONS(3387),
    [anon_sym_weak] = ACTIONS(3387),
    [anon_sym_unowned] = ACTIONS(3385),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3387),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3387),
    [anon_sym_borrowing] = ACTIONS(3387),
    [anon_sym_consuming] = ACTIONS(3387),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3387),
    [sym__explicit_semi] = ACTIONS(3387),
    [sym__dot_custom] = ACTIONS(3387),
    [sym__conjunction_operator_custom] = ACTIONS(3387),
    [sym__disjunction_operator_custom] = ACTIONS(3387),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3387),
    [sym__eq_custom] = ACTIONS(3387),
    [sym__eq_eq_custom] = ACTIONS(3387),
    [sym__plus_then_ws] = ACTIONS(3387),
    [sym__minus_then_ws] = ACTIONS(3387),
    [sym__bang_custom] = ACTIONS(3387),
    [sym_default_keyword] = ACTIONS(3387),
    [sym_where_keyword] = ACTIONS(3387),
    [sym__as_custom] = ACTIONS(3387),
    [sym__as_quest_custom] = ACTIONS(3387),
    [sym__as_bang_custom] = ACTIONS(3387),
    [sym__custom_operator] = ACTIONS(3387),
  },
  [1331] = {
    [anon_sym_BANG] = ACTIONS(3425),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3427),
    [anon_sym_package] = ACTIONS(3427),
    [anon_sym_COMMA] = ACTIONS(3427),
    [anon_sym_LPAREN] = ACTIONS(3427),
    [anon_sym_LBRACK] = ACTIONS(3427),
    [anon_sym_QMARK] = ACTIONS(3425),
    [anon_sym_QMARK2] = ACTIONS(3427),
    [anon_sym_AMP] = ACTIONS(3427),
    [aux_sym_custom_operator_token1] = ACTIONS(3427),
    [anon_sym_LT] = ACTIONS(3425),
    [anon_sym_GT] = ACTIONS(3425),
    [anon_sym_LBRACE] = ACTIONS(3427),
    [anon_sym_CARET_LBRACE] = ACTIONS(3427),
    [anon_sym_RBRACE] = ACTIONS(3427),
    [anon_sym_case] = ACTIONS(3427),
    [anon_sym_fallthrough] = ACTIONS(3427),
    [anon_sym_PLUS_EQ] = ACTIONS(3427),
    [anon_sym_DASH_EQ] = ACTIONS(3427),
    [anon_sym_STAR_EQ] = ACTIONS(3427),
    [anon_sym_SLASH_EQ] = ACTIONS(3427),
    [anon_sym_PERCENT_EQ] = ACTIONS(3427),
    [anon_sym_BANG_EQ] = ACTIONS(3425),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3427),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3427),
    [anon_sym_LT_EQ] = ACTIONS(3427),
    [anon_sym_GT_EQ] = ACTIONS(3427),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3427),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3427),
    [anon_sym_is] = ACTIONS(3427),
    [anon_sym_PLUS] = ACTIONS(3425),
    [anon_sym_DASH] = ACTIONS(3425),
    [anon_sym_STAR] = ACTIONS(3425),
    [anon_sym_SLASH] = ACTIONS(3425),
    [anon_sym_PERCENT] = ACTIONS(3425),
    [anon_sym_PLUS_PLUS] = ACTIONS(3427),
    [anon_sym_DASH_DASH] = ACTIONS(3427),
    [anon_sym_PIPE] = ACTIONS(3427),
    [anon_sym_CARET] = ACTIONS(3425),
    [anon_sym_LT_LT] = ACTIONS(3427),
    [anon_sym_GT_GT] = ACTIONS(3427),
    [anon_sym_class] = ACTIONS(3427),
    [anon_sym_prefix] = ACTIONS(3427),
    [anon_sym_infix] = ACTIONS(3427),
    [anon_sym_postfix] = ACTIONS(3427),
    [anon_sym_AT] = ACTIONS(3425),
    [anon_sym_override] = ACTIONS(3427),
    [anon_sym_convenience] = ACTIONS(3427),
    [anon_sym_required] = ACTIONS(3427),
    [anon_sym_nonisolated] = ACTIONS(3427),
    [anon_sym_public] = ACTIONS(3427),
    [anon_sym_private] = ACTIONS(3427),
    [anon_sym_internal] = ACTIONS(3427),
    [anon_sym_fileprivate] = ACTIONS(3427),
    [anon_sym_open] = ACTIONS(3427),
    [anon_sym_mutating] = ACTIONS(3427),
    [anon_sym_nonmutating] = ACTIONS(3427),
    [anon_sym_static] = ACTIONS(3427),
    [anon_sym_dynamic] = ACTIONS(3427),
    [anon_sym_optional] = ACTIONS(3427),
    [anon_sym_distributed] = ACTIONS(3427),
    [anon_sym_final] = ACTIONS(3427),
    [anon_sym_inout] = ACTIONS(3427),
    [anon_sym_ATescaping] = ACTIONS(3427),
    [anon_sym_ATautoclosure] = ACTIONS(3427),
    [anon_sym_weak] = ACTIONS(3427),
    [anon_sym_unowned] = ACTIONS(3425),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3427),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3427),
    [anon_sym_borrowing] = ACTIONS(3427),
    [anon_sym_consuming] = ACTIONS(3427),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3427),
    [sym__explicit_semi] = ACTIONS(3427),
    [sym__dot_custom] = ACTIONS(3427),
    [sym__conjunction_operator_custom] = ACTIONS(3427),
    [sym__disjunction_operator_custom] = ACTIONS(3427),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3427),
    [sym__eq_custom] = ACTIONS(3427),
    [sym__eq_eq_custom] = ACTIONS(3427),
    [sym__plus_then_ws] = ACTIONS(3427),
    [sym__minus_then_ws] = ACTIONS(3427),
    [sym__bang_custom] = ACTIONS(3427),
    [sym_default_keyword] = ACTIONS(3427),
    [sym_where_keyword] = ACTIONS(3427),
    [sym__as_custom] = ACTIONS(3427),
    [sym__as_quest_custom] = ACTIONS(3427),
    [sym__as_bang_custom] = ACTIONS(3427),
    [sym__custom_operator] = ACTIONS(3427),
  },
  [1332] = {
    [anon_sym_BANG] = ACTIONS(3597),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3599),
    [anon_sym_package] = ACTIONS(3599),
    [anon_sym_COMMA] = ACTIONS(3599),
    [anon_sym_LPAREN] = ACTIONS(3599),
    [anon_sym_LBRACK] = ACTIONS(3599),
    [anon_sym_QMARK] = ACTIONS(3597),
    [anon_sym_QMARK2] = ACTIONS(3599),
    [anon_sym_AMP] = ACTIONS(3599),
    [aux_sym_custom_operator_token1] = ACTIONS(3599),
    [anon_sym_LT] = ACTIONS(3597),
    [anon_sym_GT] = ACTIONS(3597),
    [anon_sym_LBRACE] = ACTIONS(3599),
    [anon_sym_CARET_LBRACE] = ACTIONS(3599),
    [anon_sym_RBRACE] = ACTIONS(3599),
    [anon_sym_case] = ACTIONS(3599),
    [anon_sym_fallthrough] = ACTIONS(3599),
    [anon_sym_PLUS_EQ] = ACTIONS(3599),
    [anon_sym_DASH_EQ] = ACTIONS(3599),
    [anon_sym_STAR_EQ] = ACTIONS(3599),
    [anon_sym_SLASH_EQ] = ACTIONS(3599),
    [anon_sym_PERCENT_EQ] = ACTIONS(3599),
    [anon_sym_BANG_EQ] = ACTIONS(3597),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3599),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3599),
    [anon_sym_LT_EQ] = ACTIONS(3599),
    [anon_sym_GT_EQ] = ACTIONS(3599),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3599),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3599),
    [anon_sym_is] = ACTIONS(3599),
    [anon_sym_PLUS] = ACTIONS(3597),
    [anon_sym_DASH] = ACTIONS(3597),
    [anon_sym_STAR] = ACTIONS(3597),
    [anon_sym_SLASH] = ACTIONS(3597),
    [anon_sym_PERCENT] = ACTIONS(3597),
    [anon_sym_PLUS_PLUS] = ACTIONS(3599),
    [anon_sym_DASH_DASH] = ACTIONS(3599),
    [anon_sym_PIPE] = ACTIONS(3599),
    [anon_sym_CARET] = ACTIONS(3597),
    [anon_sym_LT_LT] = ACTIONS(3599),
    [anon_sym_GT_GT] = ACTIONS(3599),
    [anon_sym_class] = ACTIONS(3599),
    [anon_sym_prefix] = ACTIONS(3599),
    [anon_sym_infix] = ACTIONS(3599),
    [anon_sym_postfix] = ACTIONS(3599),
    [anon_sym_AT] = ACTIONS(3597),
    [anon_sym_override] = ACTIONS(3599),
    [anon_sym_convenience] = ACTIONS(3599),
    [anon_sym_required] = ACTIONS(3599),
    [anon_sym_nonisolated] = ACTIONS(3599),
    [anon_sym_public] = ACTIONS(3599),
    [anon_sym_private] = ACTIONS(3599),
    [anon_sym_internal] = ACTIONS(3599),
    [anon_sym_fileprivate] = ACTIONS(3599),
    [anon_sym_open] = ACTIONS(3599),
    [anon_sym_mutating] = ACTIONS(3599),
    [anon_sym_nonmutating] = ACTIONS(3599),
    [anon_sym_static] = ACTIONS(3599),
    [anon_sym_dynamic] = ACTIONS(3599),
    [anon_sym_optional] = ACTIONS(3599),
    [anon_sym_distributed] = ACTIONS(3599),
    [anon_sym_final] = ACTIONS(3599),
    [anon_sym_inout] = ACTIONS(3599),
    [anon_sym_ATescaping] = ACTIONS(3599),
    [anon_sym_ATautoclosure] = ACTIONS(3599),
    [anon_sym_weak] = ACTIONS(3599),
    [anon_sym_unowned] = ACTIONS(3597),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3599),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3599),
    [anon_sym_borrowing] = ACTIONS(3599),
    [anon_sym_consuming] = ACTIONS(3599),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3599),
    [sym__explicit_semi] = ACTIONS(3599),
    [sym__dot_custom] = ACTIONS(3599),
    [sym__conjunction_operator_custom] = ACTIONS(3599),
    [sym__disjunction_operator_custom] = ACTIONS(3599),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3599),
    [sym__eq_custom] = ACTIONS(3599),
    [sym__eq_eq_custom] = ACTIONS(3599),
    [sym__plus_then_ws] = ACTIONS(3599),
    [sym__minus_then_ws] = ACTIONS(3599),
    [sym__bang_custom] = ACTIONS(3599),
    [sym_default_keyword] = ACTIONS(3599),
    [sym_where_keyword] = ACTIONS(3599),
    [sym__as_custom] = ACTIONS(3599),
    [sym__as_quest_custom] = ACTIONS(3599),
    [sym__as_bang_custom] = ACTIONS(3599),
    [sym__custom_operator] = ACTIONS(3599),
  },
  [1333] = {
    [anon_sym_BANG] = ACTIONS(3509),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3511),
    [anon_sym_package] = ACTIONS(3511),
    [anon_sym_COMMA] = ACTIONS(3511),
    [anon_sym_LPAREN] = ACTIONS(3511),
    [anon_sym_LBRACK] = ACTIONS(3511),
    [anon_sym_QMARK] = ACTIONS(3509),
    [anon_sym_QMARK2] = ACTIONS(3511),
    [anon_sym_AMP] = ACTIONS(3511),
    [aux_sym_custom_operator_token1] = ACTIONS(3511),
    [anon_sym_LT] = ACTIONS(3509),
    [anon_sym_GT] = ACTIONS(3509),
    [anon_sym_LBRACE] = ACTIONS(3511),
    [anon_sym_CARET_LBRACE] = ACTIONS(3511),
    [anon_sym_RBRACE] = ACTIONS(3511),
    [anon_sym_case] = ACTIONS(3511),
    [anon_sym_fallthrough] = ACTIONS(3511),
    [anon_sym_PLUS_EQ] = ACTIONS(3511),
    [anon_sym_DASH_EQ] = ACTIONS(3511),
    [anon_sym_STAR_EQ] = ACTIONS(3511),
    [anon_sym_SLASH_EQ] = ACTIONS(3511),
    [anon_sym_PERCENT_EQ] = ACTIONS(3511),
    [anon_sym_BANG_EQ] = ACTIONS(3509),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3511),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3511),
    [anon_sym_LT_EQ] = ACTIONS(3511),
    [anon_sym_GT_EQ] = ACTIONS(3511),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3511),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3511),
    [anon_sym_is] = ACTIONS(3511),
    [anon_sym_PLUS] = ACTIONS(3509),
    [anon_sym_DASH] = ACTIONS(3509),
    [anon_sym_STAR] = ACTIONS(3509),
    [anon_sym_SLASH] = ACTIONS(3509),
    [anon_sym_PERCENT] = ACTIONS(3509),
    [anon_sym_PLUS_PLUS] = ACTIONS(3511),
    [anon_sym_DASH_DASH] = ACTIONS(3511),
    [anon_sym_PIPE] = ACTIONS(3511),
    [anon_sym_CARET] = ACTIONS(3509),
    [anon_sym_LT_LT] = ACTIONS(3511),
    [anon_sym_GT_GT] = ACTIONS(3511),
    [anon_sym_class] = ACTIONS(3511),
    [anon_sym_prefix] = ACTIONS(3511),
    [anon_sym_infix] = ACTIONS(3511),
    [anon_sym_postfix] = ACTIONS(3511),
    [anon_sym_AT] = ACTIONS(3509),
    [anon_sym_override] = ACTIONS(3511),
    [anon_sym_convenience] = ACTIONS(3511),
    [anon_sym_required] = ACTIONS(3511),
    [anon_sym_nonisolated] = ACTIONS(3511),
    [anon_sym_public] = ACTIONS(3511),
    [anon_sym_private] = ACTIONS(3511),
    [anon_sym_internal] = ACTIONS(3511),
    [anon_sym_fileprivate] = ACTIONS(3511),
    [anon_sym_open] = ACTIONS(3511),
    [anon_sym_mutating] = ACTIONS(3511),
    [anon_sym_nonmutating] = ACTIONS(3511),
    [anon_sym_static] = ACTIONS(3511),
    [anon_sym_dynamic] = ACTIONS(3511),
    [anon_sym_optional] = ACTIONS(3511),
    [anon_sym_distributed] = ACTIONS(3511),
    [anon_sym_final] = ACTIONS(3511),
    [anon_sym_inout] = ACTIONS(3511),
    [anon_sym_ATescaping] = ACTIONS(3511),
    [anon_sym_ATautoclosure] = ACTIONS(3511),
    [anon_sym_weak] = ACTIONS(3511),
    [anon_sym_unowned] = ACTIONS(3509),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3511),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3511),
    [anon_sym_borrowing] = ACTIONS(3511),
    [anon_sym_consuming] = ACTIONS(3511),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3511),
    [sym__explicit_semi] = ACTIONS(3511),
    [sym__dot_custom] = ACTIONS(3511),
    [sym__conjunction_operator_custom] = ACTIONS(3511),
    [sym__disjunction_operator_custom] = ACTIONS(3511),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3511),
    [sym__eq_custom] = ACTIONS(3511),
    [sym__eq_eq_custom] = ACTIONS(3511),
    [sym__plus_then_ws] = ACTIONS(3511),
    [sym__minus_then_ws] = ACTIONS(3511),
    [sym__bang_custom] = ACTIONS(3511),
    [sym_default_keyword] = ACTIONS(3511),
    [sym_where_keyword] = ACTIONS(3511),
    [sym__as_custom] = ACTIONS(3511),
    [sym__as_quest_custom] = ACTIONS(3511),
    [sym__as_bang_custom] = ACTIONS(3511),
    [sym__custom_operator] = ACTIONS(3511),
  },
  [1334] = {
    [anon_sym_BANG] = ACTIONS(3397),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3399),
    [anon_sym_package] = ACTIONS(3399),
    [anon_sym_COMMA] = ACTIONS(3399),
    [anon_sym_LPAREN] = ACTIONS(3399),
    [anon_sym_LBRACK] = ACTIONS(3399),
    [anon_sym_QMARK] = ACTIONS(3397),
    [anon_sym_QMARK2] = ACTIONS(3399),
    [anon_sym_AMP] = ACTIONS(3399),
    [aux_sym_custom_operator_token1] = ACTIONS(3399),
    [anon_sym_LT] = ACTIONS(3397),
    [anon_sym_GT] = ACTIONS(3397),
    [anon_sym_LBRACE] = ACTIONS(3399),
    [anon_sym_CARET_LBRACE] = ACTIONS(3399),
    [anon_sym_RBRACE] = ACTIONS(3399),
    [anon_sym_case] = ACTIONS(3399),
    [anon_sym_fallthrough] = ACTIONS(3399),
    [anon_sym_PLUS_EQ] = ACTIONS(3399),
    [anon_sym_DASH_EQ] = ACTIONS(3399),
    [anon_sym_STAR_EQ] = ACTIONS(3399),
    [anon_sym_SLASH_EQ] = ACTIONS(3399),
    [anon_sym_PERCENT_EQ] = ACTIONS(3399),
    [anon_sym_BANG_EQ] = ACTIONS(3397),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3399),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3399),
    [anon_sym_LT_EQ] = ACTIONS(3399),
    [anon_sym_GT_EQ] = ACTIONS(3399),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3399),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3399),
    [anon_sym_is] = ACTIONS(3399),
    [anon_sym_PLUS] = ACTIONS(3397),
    [anon_sym_DASH] = ACTIONS(3397),
    [anon_sym_STAR] = ACTIONS(3397),
    [anon_sym_SLASH] = ACTIONS(3397),
    [anon_sym_PERCENT] = ACTIONS(3397),
    [anon_sym_PLUS_PLUS] = ACTIONS(3399),
    [anon_sym_DASH_DASH] = ACTIONS(3399),
    [anon_sym_PIPE] = ACTIONS(3399),
    [anon_sym_CARET] = ACTIONS(3397),
    [anon_sym_LT_LT] = ACTIONS(3399),
    [anon_sym_GT_GT] = ACTIONS(3399),
    [anon_sym_class] = ACTIONS(3399),
    [anon_sym_prefix] = ACTIONS(3399),
    [anon_sym_infix] = ACTIONS(3399),
    [anon_sym_postfix] = ACTIONS(3399),
    [anon_sym_AT] = ACTIONS(3397),
    [anon_sym_override] = ACTIONS(3399),
    [anon_sym_convenience] = ACTIONS(3399),
    [anon_sym_required] = ACTIONS(3399),
    [anon_sym_nonisolated] = ACTIONS(3399),
    [anon_sym_public] = ACTIONS(3399),
    [anon_sym_private] = ACTIONS(3399),
    [anon_sym_internal] = ACTIONS(3399),
    [anon_sym_fileprivate] = ACTIONS(3399),
    [anon_sym_open] = ACTIONS(3399),
    [anon_sym_mutating] = ACTIONS(3399),
    [anon_sym_nonmutating] = ACTIONS(3399),
    [anon_sym_static] = ACTIONS(3399),
    [anon_sym_dynamic] = ACTIONS(3399),
    [anon_sym_optional] = ACTIONS(3399),
    [anon_sym_distributed] = ACTIONS(3399),
    [anon_sym_final] = ACTIONS(3399),
    [anon_sym_inout] = ACTIONS(3399),
    [anon_sym_ATescaping] = ACTIONS(3399),
    [anon_sym_ATautoclosure] = ACTIONS(3399),
    [anon_sym_weak] = ACTIONS(3399),
    [anon_sym_unowned] = ACTIONS(3397),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3399),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3399),
    [anon_sym_borrowing] = ACTIONS(3399),
    [anon_sym_consuming] = ACTIONS(3399),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3399),
    [sym__explicit_semi] = ACTIONS(3399),
    [sym__dot_custom] = ACTIONS(3399),
    [sym__conjunction_operator_custom] = ACTIONS(3399),
    [sym__disjunction_operator_custom] = ACTIONS(3399),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3399),
    [sym__eq_custom] = ACTIONS(3399),
    [sym__eq_eq_custom] = ACTIONS(3399),
    [sym__plus_then_ws] = ACTIONS(3399),
    [sym__minus_then_ws] = ACTIONS(3399),
    [sym__bang_custom] = ACTIONS(3399),
    [sym_default_keyword] = ACTIONS(3399),
    [sym_where_keyword] = ACTIONS(3399),
    [sym__as_custom] = ACTIONS(3399),
    [sym__as_quest_custom] = ACTIONS(3399),
    [sym__as_bang_custom] = ACTIONS(3399),
    [sym__custom_operator] = ACTIONS(3399),
  },
  [1335] = {
    [anon_sym_BANG] = ACTIONS(3549),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3551),
    [anon_sym_package] = ACTIONS(3551),
    [anon_sym_COMMA] = ACTIONS(3551),
    [anon_sym_LPAREN] = ACTIONS(3551),
    [anon_sym_LBRACK] = ACTIONS(3551),
    [anon_sym_QMARK] = ACTIONS(3549),
    [anon_sym_QMARK2] = ACTIONS(3551),
    [anon_sym_AMP] = ACTIONS(3551),
    [aux_sym_custom_operator_token1] = ACTIONS(3551),
    [anon_sym_LT] = ACTIONS(3549),
    [anon_sym_GT] = ACTIONS(3549),
    [anon_sym_LBRACE] = ACTIONS(3551),
    [anon_sym_CARET_LBRACE] = ACTIONS(3551),
    [anon_sym_RBRACE] = ACTIONS(3551),
    [anon_sym_case] = ACTIONS(3551),
    [anon_sym_fallthrough] = ACTIONS(3551),
    [anon_sym_PLUS_EQ] = ACTIONS(3551),
    [anon_sym_DASH_EQ] = ACTIONS(3551),
    [anon_sym_STAR_EQ] = ACTIONS(3551),
    [anon_sym_SLASH_EQ] = ACTIONS(3551),
    [anon_sym_PERCENT_EQ] = ACTIONS(3551),
    [anon_sym_BANG_EQ] = ACTIONS(3549),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3551),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3551),
    [anon_sym_LT_EQ] = ACTIONS(3551),
    [anon_sym_GT_EQ] = ACTIONS(3551),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3551),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3551),
    [anon_sym_is] = ACTIONS(3551),
    [anon_sym_PLUS] = ACTIONS(3549),
    [anon_sym_DASH] = ACTIONS(3549),
    [anon_sym_STAR] = ACTIONS(3549),
    [anon_sym_SLASH] = ACTIONS(3549),
    [anon_sym_PERCENT] = ACTIONS(3549),
    [anon_sym_PLUS_PLUS] = ACTIONS(3551),
    [anon_sym_DASH_DASH] = ACTIONS(3551),
    [anon_sym_PIPE] = ACTIONS(3551),
    [anon_sym_CARET] = ACTIONS(3549),
    [anon_sym_LT_LT] = ACTIONS(3551),
    [anon_sym_GT_GT] = ACTIONS(3551),
    [anon_sym_class] = ACTIONS(3551),
    [anon_sym_prefix] = ACTIONS(3551),
    [anon_sym_infix] = ACTIONS(3551),
    [anon_sym_postfix] = ACTIONS(3551),
    [anon_sym_AT] = ACTIONS(3549),
    [anon_sym_override] = ACTIONS(3551),
    [anon_sym_convenience] = ACTIONS(3551),
    [anon_sym_required] = ACTIONS(3551),
    [anon_sym_nonisolated] = ACTIONS(3551),
    [anon_sym_public] = ACTIONS(3551),
    [anon_sym_private] = ACTIONS(3551),
    [anon_sym_internal] = ACTIONS(3551),
    [anon_sym_fileprivate] = ACTIONS(3551),
    [anon_sym_open] = ACTIONS(3551),
    [anon_sym_mutating] = ACTIONS(3551),
    [anon_sym_nonmutating] = ACTIONS(3551),
    [anon_sym_static] = ACTIONS(3551),
    [anon_sym_dynamic] = ACTIONS(3551),
    [anon_sym_optional] = ACTIONS(3551),
    [anon_sym_distributed] = ACTIONS(3551),
    [anon_sym_final] = ACTIONS(3551),
    [anon_sym_inout] = ACTIONS(3551),
    [anon_sym_ATescaping] = ACTIONS(3551),
    [anon_sym_ATautoclosure] = ACTIONS(3551),
    [anon_sym_weak] = ACTIONS(3551),
    [anon_sym_unowned] = ACTIONS(3549),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3551),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3551),
    [anon_sym_borrowing] = ACTIONS(3551),
    [anon_sym_consuming] = ACTIONS(3551),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3551),
    [sym__explicit_semi] = ACTIONS(3551),
    [sym__dot_custom] = ACTIONS(3551),
    [sym__conjunction_operator_custom] = ACTIONS(3551),
    [sym__disjunction_operator_custom] = ACTIONS(3551),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3551),
    [sym__eq_custom] = ACTIONS(3551),
    [sym__eq_eq_custom] = ACTIONS(3551),
    [sym__plus_then_ws] = ACTIONS(3551),
    [sym__minus_then_ws] = ACTIONS(3551),
    [sym__bang_custom] = ACTIONS(3551),
    [sym_default_keyword] = ACTIONS(3551),
    [sym_where_keyword] = ACTIONS(3551),
    [sym__as_custom] = ACTIONS(3551),
    [sym__as_quest_custom] = ACTIONS(3551),
    [sym__as_bang_custom] = ACTIONS(3551),
    [sym__custom_operator] = ACTIONS(3551),
  },
  [1336] = {
    [anon_sym_BANG] = ACTIONS(3413),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3415),
    [anon_sym_package] = ACTIONS(3415),
    [anon_sym_COMMA] = ACTIONS(3415),
    [anon_sym_LPAREN] = ACTIONS(3415),
    [anon_sym_LBRACK] = ACTIONS(3415),
    [anon_sym_QMARK] = ACTIONS(3413),
    [anon_sym_QMARK2] = ACTIONS(3415),
    [anon_sym_AMP] = ACTIONS(3415),
    [aux_sym_custom_operator_token1] = ACTIONS(3415),
    [anon_sym_LT] = ACTIONS(3413),
    [anon_sym_GT] = ACTIONS(3413),
    [anon_sym_LBRACE] = ACTIONS(3415),
    [anon_sym_CARET_LBRACE] = ACTIONS(3415),
    [anon_sym_RBRACE] = ACTIONS(3415),
    [anon_sym_case] = ACTIONS(3415),
    [anon_sym_fallthrough] = ACTIONS(3415),
    [anon_sym_PLUS_EQ] = ACTIONS(3415),
    [anon_sym_DASH_EQ] = ACTIONS(3415),
    [anon_sym_STAR_EQ] = ACTIONS(3415),
    [anon_sym_SLASH_EQ] = ACTIONS(3415),
    [anon_sym_PERCENT_EQ] = ACTIONS(3415),
    [anon_sym_BANG_EQ] = ACTIONS(3413),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3415),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3415),
    [anon_sym_LT_EQ] = ACTIONS(3415),
    [anon_sym_GT_EQ] = ACTIONS(3415),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3415),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3415),
    [anon_sym_is] = ACTIONS(3415),
    [anon_sym_PLUS] = ACTIONS(3413),
    [anon_sym_DASH] = ACTIONS(3413),
    [anon_sym_STAR] = ACTIONS(3413),
    [anon_sym_SLASH] = ACTIONS(3413),
    [anon_sym_PERCENT] = ACTIONS(3413),
    [anon_sym_PLUS_PLUS] = ACTIONS(3415),
    [anon_sym_DASH_DASH] = ACTIONS(3415),
    [anon_sym_PIPE] = ACTIONS(3415),
    [anon_sym_CARET] = ACTIONS(3413),
    [anon_sym_LT_LT] = ACTIONS(3415),
    [anon_sym_GT_GT] = ACTIONS(3415),
    [anon_sym_class] = ACTIONS(3415),
    [anon_sym_prefix] = ACTIONS(3415),
    [anon_sym_infix] = ACTIONS(3415),
    [anon_sym_postfix] = ACTIONS(3415),
    [anon_sym_AT] = ACTIONS(3413),
    [anon_sym_override] = ACTIONS(3415),
    [anon_sym_convenience] = ACTIONS(3415),
    [anon_sym_required] = ACTIONS(3415),
    [anon_sym_nonisolated] = ACTIONS(3415),
    [anon_sym_public] = ACTIONS(3415),
    [anon_sym_private] = ACTIONS(3415),
    [anon_sym_internal] = ACTIONS(3415),
    [anon_sym_fileprivate] = ACTIONS(3415),
    [anon_sym_open] = ACTIONS(3415),
    [anon_sym_mutating] = ACTIONS(3415),
    [anon_sym_nonmutating] = ACTIONS(3415),
    [anon_sym_static] = ACTIONS(3415),
    [anon_sym_dynamic] = ACTIONS(3415),
    [anon_sym_optional] = ACTIONS(3415),
    [anon_sym_distributed] = ACTIONS(3415),
    [anon_sym_final] = ACTIONS(3415),
    [anon_sym_inout] = ACTIONS(3415),
    [anon_sym_ATescaping] = ACTIONS(3415),
    [anon_sym_ATautoclosure] = ACTIONS(3415),
    [anon_sym_weak] = ACTIONS(3415),
    [anon_sym_unowned] = ACTIONS(3413),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3415),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3415),
    [anon_sym_borrowing] = ACTIONS(3415),
    [anon_sym_consuming] = ACTIONS(3415),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3415),
    [sym__explicit_semi] = ACTIONS(3415),
    [sym__dot_custom] = ACTIONS(3415),
    [sym__conjunction_operator_custom] = ACTIONS(3415),
    [sym__disjunction_operator_custom] = ACTIONS(3415),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3415),
    [sym__eq_custom] = ACTIONS(3415),
    [sym__eq_eq_custom] = ACTIONS(3415),
    [sym__plus_then_ws] = ACTIONS(3415),
    [sym__minus_then_ws] = ACTIONS(3415),
    [sym__bang_custom] = ACTIONS(3415),
    [sym_default_keyword] = ACTIONS(3415),
    [sym_where_keyword] = ACTIONS(3415),
    [sym__as_custom] = ACTIONS(3415),
    [sym__as_quest_custom] = ACTIONS(3415),
    [sym__as_bang_custom] = ACTIONS(3415),
    [sym__custom_operator] = ACTIONS(3415),
  },
  [1337] = {
    [anon_sym_BANG] = ACTIONS(3237),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3239),
    [anon_sym_package] = ACTIONS(3239),
    [anon_sym_COMMA] = ACTIONS(3239),
    [anon_sym_LPAREN] = ACTIONS(3239),
    [anon_sym_LBRACK] = ACTIONS(3239),
    [anon_sym_QMARK] = ACTIONS(3237),
    [anon_sym_QMARK2] = ACTIONS(3239),
    [anon_sym_AMP] = ACTIONS(3239),
    [aux_sym_custom_operator_token1] = ACTIONS(3239),
    [anon_sym_LT] = ACTIONS(3237),
    [anon_sym_GT] = ACTIONS(3237),
    [anon_sym_LBRACE] = ACTIONS(3239),
    [anon_sym_CARET_LBRACE] = ACTIONS(3239),
    [anon_sym_RBRACE] = ACTIONS(3239),
    [anon_sym_case] = ACTIONS(3239),
    [anon_sym_fallthrough] = ACTIONS(3239),
    [anon_sym_PLUS_EQ] = ACTIONS(3239),
    [anon_sym_DASH_EQ] = ACTIONS(3239),
    [anon_sym_STAR_EQ] = ACTIONS(3239),
    [anon_sym_SLASH_EQ] = ACTIONS(3239),
    [anon_sym_PERCENT_EQ] = ACTIONS(3239),
    [anon_sym_BANG_EQ] = ACTIONS(3237),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3239),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3239),
    [anon_sym_LT_EQ] = ACTIONS(3239),
    [anon_sym_GT_EQ] = ACTIONS(3239),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3239),
    [anon_sym_is] = ACTIONS(3239),
    [anon_sym_PLUS] = ACTIONS(3237),
    [anon_sym_DASH] = ACTIONS(3237),
    [anon_sym_STAR] = ACTIONS(3237),
    [anon_sym_SLASH] = ACTIONS(3237),
    [anon_sym_PERCENT] = ACTIONS(3237),
    [anon_sym_PLUS_PLUS] = ACTIONS(3239),
    [anon_sym_DASH_DASH] = ACTIONS(3239),
    [anon_sym_PIPE] = ACTIONS(3239),
    [anon_sym_CARET] = ACTIONS(3237),
    [anon_sym_LT_LT] = ACTIONS(3239),
    [anon_sym_GT_GT] = ACTIONS(3239),
    [anon_sym_class] = ACTIONS(3239),
    [anon_sym_prefix] = ACTIONS(3239),
    [anon_sym_infix] = ACTIONS(3239),
    [anon_sym_postfix] = ACTIONS(3239),
    [anon_sym_AT] = ACTIONS(3237),
    [anon_sym_override] = ACTIONS(3239),
    [anon_sym_convenience] = ACTIONS(3239),
    [anon_sym_required] = ACTIONS(3239),
    [anon_sym_nonisolated] = ACTIONS(3239),
    [anon_sym_public] = ACTIONS(3239),
    [anon_sym_private] = ACTIONS(3239),
    [anon_sym_internal] = ACTIONS(3239),
    [anon_sym_fileprivate] = ACTIONS(3239),
    [anon_sym_open] = ACTIONS(3239),
    [anon_sym_mutating] = ACTIONS(3239),
    [anon_sym_nonmutating] = ACTIONS(3239),
    [anon_sym_static] = ACTIONS(3239),
    [anon_sym_dynamic] = ACTIONS(3239),
    [anon_sym_optional] = ACTIONS(3239),
    [anon_sym_distributed] = ACTIONS(3239),
    [anon_sym_final] = ACTIONS(3239),
    [anon_sym_inout] = ACTIONS(3239),
    [anon_sym_ATescaping] = ACTIONS(3239),
    [anon_sym_ATautoclosure] = ACTIONS(3239),
    [anon_sym_weak] = ACTIONS(3239),
    [anon_sym_unowned] = ACTIONS(3237),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3239),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3239),
    [anon_sym_borrowing] = ACTIONS(3239),
    [anon_sym_consuming] = ACTIONS(3239),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3239),
    [sym__explicit_semi] = ACTIONS(3239),
    [sym__dot_custom] = ACTIONS(3239),
    [sym__conjunction_operator_custom] = ACTIONS(3239),
    [sym__disjunction_operator_custom] = ACTIONS(3239),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3239),
    [sym__eq_custom] = ACTIONS(3239),
    [sym__eq_eq_custom] = ACTIONS(3239),
    [sym__plus_then_ws] = ACTIONS(3239),
    [sym__minus_then_ws] = ACTIONS(3239),
    [sym__bang_custom] = ACTIONS(3239),
    [sym_default_keyword] = ACTIONS(3239),
    [sym_where_keyword] = ACTIONS(3239),
    [sym__as_custom] = ACTIONS(3239),
    [sym__as_quest_custom] = ACTIONS(3239),
    [sym__as_bang_custom] = ACTIONS(3239),
    [sym__custom_operator] = ACTIONS(3239),
  },
  [1338] = {
    [anon_sym_BANG] = ACTIONS(3445),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3447),
    [anon_sym_package] = ACTIONS(3447),
    [anon_sym_COMMA] = ACTIONS(3447),
    [anon_sym_LPAREN] = ACTIONS(3447),
    [anon_sym_LBRACK] = ACTIONS(3447),
    [anon_sym_QMARK] = ACTIONS(3445),
    [anon_sym_QMARK2] = ACTIONS(3447),
    [anon_sym_AMP] = ACTIONS(3447),
    [aux_sym_custom_operator_token1] = ACTIONS(3447),
    [anon_sym_LT] = ACTIONS(3445),
    [anon_sym_GT] = ACTIONS(3445),
    [anon_sym_LBRACE] = ACTIONS(3447),
    [anon_sym_CARET_LBRACE] = ACTIONS(3447),
    [anon_sym_RBRACE] = ACTIONS(3447),
    [anon_sym_case] = ACTIONS(3447),
    [anon_sym_fallthrough] = ACTIONS(3447),
    [anon_sym_PLUS_EQ] = ACTIONS(3447),
    [anon_sym_DASH_EQ] = ACTIONS(3447),
    [anon_sym_STAR_EQ] = ACTIONS(3447),
    [anon_sym_SLASH_EQ] = ACTIONS(3447),
    [anon_sym_PERCENT_EQ] = ACTIONS(3447),
    [anon_sym_BANG_EQ] = ACTIONS(3445),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3447),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3447),
    [anon_sym_LT_EQ] = ACTIONS(3447),
    [anon_sym_GT_EQ] = ACTIONS(3447),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3447),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3447),
    [anon_sym_is] = ACTIONS(3447),
    [anon_sym_PLUS] = ACTIONS(3445),
    [anon_sym_DASH] = ACTIONS(3445),
    [anon_sym_STAR] = ACTIONS(3445),
    [anon_sym_SLASH] = ACTIONS(3445),
    [anon_sym_PERCENT] = ACTIONS(3445),
    [anon_sym_PLUS_PLUS] = ACTIONS(3447),
    [anon_sym_DASH_DASH] = ACTIONS(3447),
    [anon_sym_PIPE] = ACTIONS(3447),
    [anon_sym_CARET] = ACTIONS(3445),
    [anon_sym_LT_LT] = ACTIONS(3447),
    [anon_sym_GT_GT] = ACTIONS(3447),
    [anon_sym_class] = ACTIONS(3447),
    [anon_sym_prefix] = ACTIONS(3447),
    [anon_sym_infix] = ACTIONS(3447),
    [anon_sym_postfix] = ACTIONS(3447),
    [anon_sym_AT] = ACTIONS(3445),
    [anon_sym_override] = ACTIONS(3447),
    [anon_sym_convenience] = ACTIONS(3447),
    [anon_sym_required] = ACTIONS(3447),
    [anon_sym_nonisolated] = ACTIONS(3447),
    [anon_sym_public] = ACTIONS(3447),
    [anon_sym_private] = ACTIONS(3447),
    [anon_sym_internal] = ACTIONS(3447),
    [anon_sym_fileprivate] = ACTIONS(3447),
    [anon_sym_open] = ACTIONS(3447),
    [anon_sym_mutating] = ACTIONS(3447),
    [anon_sym_nonmutating] = ACTIONS(3447),
    [anon_sym_static] = ACTIONS(3447),
    [anon_sym_dynamic] = ACTIONS(3447),
    [anon_sym_optional] = ACTIONS(3447),
    [anon_sym_distributed] = ACTIONS(3447),
    [anon_sym_final] = ACTIONS(3447),
    [anon_sym_inout] = ACTIONS(3447),
    [anon_sym_ATescaping] = ACTIONS(3447),
    [anon_sym_ATautoclosure] = ACTIONS(3447),
    [anon_sym_weak] = ACTIONS(3447),
    [anon_sym_unowned] = ACTIONS(3445),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3447),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3447),
    [anon_sym_borrowing] = ACTIONS(3447),
    [anon_sym_consuming] = ACTIONS(3447),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3447),
    [sym__explicit_semi] = ACTIONS(3447),
    [sym__dot_custom] = ACTIONS(3447),
    [sym__conjunction_operator_custom] = ACTIONS(3447),
    [sym__disjunction_operator_custom] = ACTIONS(3447),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3447),
    [sym__eq_custom] = ACTIONS(3447),
    [sym__eq_eq_custom] = ACTIONS(3447),
    [sym__plus_then_ws] = ACTIONS(3447),
    [sym__minus_then_ws] = ACTIONS(3447),
    [sym__bang_custom] = ACTIONS(3447),
    [sym_default_keyword] = ACTIONS(3447),
    [sym_where_keyword] = ACTIONS(3447),
    [sym__as_custom] = ACTIONS(3447),
    [sym__as_quest_custom] = ACTIONS(3447),
    [sym__as_bang_custom] = ACTIONS(3447),
    [sym__custom_operator] = ACTIONS(3447),
  },
  [1339] = {
    [anon_sym_BANG] = ACTIONS(3505),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3507),
    [anon_sym_package] = ACTIONS(3507),
    [anon_sym_COMMA] = ACTIONS(3507),
    [anon_sym_LPAREN] = ACTIONS(3507),
    [anon_sym_LBRACK] = ACTIONS(3507),
    [anon_sym_QMARK] = ACTIONS(3505),
    [anon_sym_QMARK2] = ACTIONS(3507),
    [anon_sym_AMP] = ACTIONS(3507),
    [aux_sym_custom_operator_token1] = ACTIONS(3507),
    [anon_sym_LT] = ACTIONS(3505),
    [anon_sym_GT] = ACTIONS(3505),
    [anon_sym_LBRACE] = ACTIONS(3507),
    [anon_sym_CARET_LBRACE] = ACTIONS(3507),
    [anon_sym_RBRACE] = ACTIONS(3507),
    [anon_sym_case] = ACTIONS(3507),
    [anon_sym_fallthrough] = ACTIONS(3507),
    [anon_sym_PLUS_EQ] = ACTIONS(3507),
    [anon_sym_DASH_EQ] = ACTIONS(3507),
    [anon_sym_STAR_EQ] = ACTIONS(3507),
    [anon_sym_SLASH_EQ] = ACTIONS(3507),
    [anon_sym_PERCENT_EQ] = ACTIONS(3507),
    [anon_sym_BANG_EQ] = ACTIONS(3505),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3507),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3507),
    [anon_sym_LT_EQ] = ACTIONS(3507),
    [anon_sym_GT_EQ] = ACTIONS(3507),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3507),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3507),
    [anon_sym_is] = ACTIONS(3507),
    [anon_sym_PLUS] = ACTIONS(3505),
    [anon_sym_DASH] = ACTIONS(3505),
    [anon_sym_STAR] = ACTIONS(3505),
    [anon_sym_SLASH] = ACTIONS(3505),
    [anon_sym_PERCENT] = ACTIONS(3505),
    [anon_sym_PLUS_PLUS] = ACTIONS(3507),
    [anon_sym_DASH_DASH] = ACTIONS(3507),
    [anon_sym_PIPE] = ACTIONS(3507),
    [anon_sym_CARET] = ACTIONS(3505),
    [anon_sym_LT_LT] = ACTIONS(3507),
    [anon_sym_GT_GT] = ACTIONS(3507),
    [anon_sym_class] = ACTIONS(3507),
    [anon_sym_prefix] = ACTIONS(3507),
    [anon_sym_infix] = ACTIONS(3507),
    [anon_sym_postfix] = ACTIONS(3507),
    [anon_sym_AT] = ACTIONS(3505),
    [anon_sym_override] = ACTIONS(3507),
    [anon_sym_convenience] = ACTIONS(3507),
    [anon_sym_required] = ACTIONS(3507),
    [anon_sym_nonisolated] = ACTIONS(3507),
    [anon_sym_public] = ACTIONS(3507),
    [anon_sym_private] = ACTIONS(3507),
    [anon_sym_internal] = ACTIONS(3507),
    [anon_sym_fileprivate] = ACTIONS(3507),
    [anon_sym_open] = ACTIONS(3507),
    [anon_sym_mutating] = ACTIONS(3507),
    [anon_sym_nonmutating] = ACTIONS(3507),
    [anon_sym_static] = ACTIONS(3507),
    [anon_sym_dynamic] = ACTIONS(3507),
    [anon_sym_optional] = ACTIONS(3507),
    [anon_sym_distributed] = ACTIONS(3507),
    [anon_sym_final] = ACTIONS(3507),
    [anon_sym_inout] = ACTIONS(3507),
    [anon_sym_ATescaping] = ACTIONS(3507),
    [anon_sym_ATautoclosure] = ACTIONS(3507),
    [anon_sym_weak] = ACTIONS(3507),
    [anon_sym_unowned] = ACTIONS(3505),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3507),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3507),
    [anon_sym_borrowing] = ACTIONS(3507),
    [anon_sym_consuming] = ACTIONS(3507),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3507),
    [sym__explicit_semi] = ACTIONS(3507),
    [sym__dot_custom] = ACTIONS(3507),
    [sym__conjunction_operator_custom] = ACTIONS(3507),
    [sym__disjunction_operator_custom] = ACTIONS(3507),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3507),
    [sym__eq_custom] = ACTIONS(3507),
    [sym__eq_eq_custom] = ACTIONS(3507),
    [sym__plus_then_ws] = ACTIONS(3507),
    [sym__minus_then_ws] = ACTIONS(3507),
    [sym__bang_custom] = ACTIONS(3507),
    [sym_default_keyword] = ACTIONS(3507),
    [sym_where_keyword] = ACTIONS(3507),
    [sym__as_custom] = ACTIONS(3507),
    [sym__as_quest_custom] = ACTIONS(3507),
    [sym__as_bang_custom] = ACTIONS(3507),
    [sym__custom_operator] = ACTIONS(3507),
  },
  [1340] = {
    [anon_sym_BANG] = ACTIONS(3225),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3227),
    [anon_sym_package] = ACTIONS(3227),
    [anon_sym_COMMA] = ACTIONS(3227),
    [anon_sym_LPAREN] = ACTIONS(3227),
    [anon_sym_LBRACK] = ACTIONS(3227),
    [anon_sym_QMARK] = ACTIONS(3225),
    [anon_sym_QMARK2] = ACTIONS(3227),
    [anon_sym_AMP] = ACTIONS(3227),
    [aux_sym_custom_operator_token1] = ACTIONS(3227),
    [anon_sym_LT] = ACTIONS(3225),
    [anon_sym_GT] = ACTIONS(3225),
    [anon_sym_LBRACE] = ACTIONS(3227),
    [anon_sym_CARET_LBRACE] = ACTIONS(3227),
    [anon_sym_RBRACE] = ACTIONS(3227),
    [anon_sym_case] = ACTIONS(3227),
    [anon_sym_fallthrough] = ACTIONS(3227),
    [anon_sym_PLUS_EQ] = ACTIONS(3227),
    [anon_sym_DASH_EQ] = ACTIONS(3227),
    [anon_sym_STAR_EQ] = ACTIONS(3227),
    [anon_sym_SLASH_EQ] = ACTIONS(3227),
    [anon_sym_PERCENT_EQ] = ACTIONS(3227),
    [anon_sym_BANG_EQ] = ACTIONS(3225),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3227),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3227),
    [anon_sym_LT_EQ] = ACTIONS(3227),
    [anon_sym_GT_EQ] = ACTIONS(3227),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3227),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3227),
    [anon_sym_is] = ACTIONS(3227),
    [anon_sym_PLUS] = ACTIONS(3225),
    [anon_sym_DASH] = ACTIONS(3225),
    [anon_sym_STAR] = ACTIONS(3225),
    [anon_sym_SLASH] = ACTIONS(3225),
    [anon_sym_PERCENT] = ACTIONS(3225),
    [anon_sym_PLUS_PLUS] = ACTIONS(3227),
    [anon_sym_DASH_DASH] = ACTIONS(3227),
    [anon_sym_PIPE] = ACTIONS(3227),
    [anon_sym_CARET] = ACTIONS(3225),
    [anon_sym_LT_LT] = ACTIONS(3227),
    [anon_sym_GT_GT] = ACTIONS(3227),
    [anon_sym_class] = ACTIONS(3227),
    [anon_sym_prefix] = ACTIONS(3227),
    [anon_sym_infix] = ACTIONS(3227),
    [anon_sym_postfix] = ACTIONS(3227),
    [anon_sym_AT] = ACTIONS(3225),
    [anon_sym_override] = ACTIONS(3227),
    [anon_sym_convenience] = ACTIONS(3227),
    [anon_sym_required] = ACTIONS(3227),
    [anon_sym_nonisolated] = ACTIONS(3227),
    [anon_sym_public] = ACTIONS(3227),
    [anon_sym_private] = ACTIONS(3227),
    [anon_sym_internal] = ACTIONS(3227),
    [anon_sym_fileprivate] = ACTIONS(3227),
    [anon_sym_open] = ACTIONS(3227),
    [anon_sym_mutating] = ACTIONS(3227),
    [anon_sym_nonmutating] = ACTIONS(3227),
    [anon_sym_static] = ACTIONS(3227),
    [anon_sym_dynamic] = ACTIONS(3227),
    [anon_sym_optional] = ACTIONS(3227),
    [anon_sym_distributed] = ACTIONS(3227),
    [anon_sym_final] = ACTIONS(3227),
    [anon_sym_inout] = ACTIONS(3227),
    [anon_sym_ATescaping] = ACTIONS(3227),
    [anon_sym_ATautoclosure] = ACTIONS(3227),
    [anon_sym_weak] = ACTIONS(3227),
    [anon_sym_unowned] = ACTIONS(3225),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3227),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3227),
    [anon_sym_borrowing] = ACTIONS(3227),
    [anon_sym_consuming] = ACTIONS(3227),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3227),
    [sym__explicit_semi] = ACTIONS(3227),
    [sym__dot_custom] = ACTIONS(3227),
    [sym__conjunction_operator_custom] = ACTIONS(3227),
    [sym__disjunction_operator_custom] = ACTIONS(3227),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3227),
    [sym__eq_custom] = ACTIONS(3227),
    [sym__eq_eq_custom] = ACTIONS(3227),
    [sym__plus_then_ws] = ACTIONS(3227),
    [sym__minus_then_ws] = ACTIONS(3227),
    [sym__bang_custom] = ACTIONS(3227),
    [sym_default_keyword] = ACTIONS(3227),
    [sym_where_keyword] = ACTIONS(3227),
    [sym__as_custom] = ACTIONS(3227),
    [sym__as_quest_custom] = ACTIONS(3227),
    [sym__as_bang_custom] = ACTIONS(3227),
    [sym__custom_operator] = ACTIONS(3227),
  },
  [1341] = {
    [anon_sym_BANG] = ACTIONS(3361),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3363),
    [anon_sym_package] = ACTIONS(3363),
    [anon_sym_COMMA] = ACTIONS(3363),
    [anon_sym_LPAREN] = ACTIONS(3363),
    [anon_sym_LBRACK] = ACTIONS(3363),
    [anon_sym_QMARK] = ACTIONS(3361),
    [anon_sym_QMARK2] = ACTIONS(3363),
    [anon_sym_AMP] = ACTIONS(3363),
    [aux_sym_custom_operator_token1] = ACTIONS(3363),
    [anon_sym_LT] = ACTIONS(3361),
    [anon_sym_GT] = ACTIONS(3361),
    [anon_sym_LBRACE] = ACTIONS(3363),
    [anon_sym_CARET_LBRACE] = ACTIONS(3363),
    [anon_sym_RBRACE] = ACTIONS(3363),
    [anon_sym_case] = ACTIONS(3363),
    [anon_sym_fallthrough] = ACTIONS(3363),
    [anon_sym_PLUS_EQ] = ACTIONS(3363),
    [anon_sym_DASH_EQ] = ACTIONS(3363),
    [anon_sym_STAR_EQ] = ACTIONS(3363),
    [anon_sym_SLASH_EQ] = ACTIONS(3363),
    [anon_sym_PERCENT_EQ] = ACTIONS(3363),
    [anon_sym_BANG_EQ] = ACTIONS(3361),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3363),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3363),
    [anon_sym_LT_EQ] = ACTIONS(3363),
    [anon_sym_GT_EQ] = ACTIONS(3363),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3363),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3363),
    [anon_sym_is] = ACTIONS(3363),
    [anon_sym_PLUS] = ACTIONS(3361),
    [anon_sym_DASH] = ACTIONS(3361),
    [anon_sym_STAR] = ACTIONS(3361),
    [anon_sym_SLASH] = ACTIONS(3361),
    [anon_sym_PERCENT] = ACTIONS(3361),
    [anon_sym_PLUS_PLUS] = ACTIONS(3363),
    [anon_sym_DASH_DASH] = ACTIONS(3363),
    [anon_sym_PIPE] = ACTIONS(3363),
    [anon_sym_CARET] = ACTIONS(3361),
    [anon_sym_LT_LT] = ACTIONS(3363),
    [anon_sym_GT_GT] = ACTIONS(3363),
    [anon_sym_class] = ACTIONS(3363),
    [anon_sym_prefix] = ACTIONS(3363),
    [anon_sym_infix] = ACTIONS(3363),
    [anon_sym_postfix] = ACTIONS(3363),
    [anon_sym_AT] = ACTIONS(3361),
    [anon_sym_override] = ACTIONS(3363),
    [anon_sym_convenience] = ACTIONS(3363),
    [anon_sym_required] = ACTIONS(3363),
    [anon_sym_nonisolated] = ACTIONS(3363),
    [anon_sym_public] = ACTIONS(3363),
    [anon_sym_private] = ACTIONS(3363),
    [anon_sym_internal] = ACTIONS(3363),
    [anon_sym_fileprivate] = ACTIONS(3363),
    [anon_sym_open] = ACTIONS(3363),
    [anon_sym_mutating] = ACTIONS(3363),
    [anon_sym_nonmutating] = ACTIONS(3363),
    [anon_sym_static] = ACTIONS(3363),
    [anon_sym_dynamic] = ACTIONS(3363),
    [anon_sym_optional] = ACTIONS(3363),
    [anon_sym_distributed] = ACTIONS(3363),
    [anon_sym_final] = ACTIONS(3363),
    [anon_sym_inout] = ACTIONS(3363),
    [anon_sym_ATescaping] = ACTIONS(3363),
    [anon_sym_ATautoclosure] = ACTIONS(3363),
    [anon_sym_weak] = ACTIONS(3363),
    [anon_sym_unowned] = ACTIONS(3361),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3363),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3363),
    [anon_sym_borrowing] = ACTIONS(3363),
    [anon_sym_consuming] = ACTIONS(3363),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3363),
    [sym__explicit_semi] = ACTIONS(3363),
    [sym__dot_custom] = ACTIONS(3363),
    [sym__conjunction_operator_custom] = ACTIONS(3363),
    [sym__disjunction_operator_custom] = ACTIONS(3363),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3363),
    [sym__eq_custom] = ACTIONS(3363),
    [sym__eq_eq_custom] = ACTIONS(3363),
    [sym__plus_then_ws] = ACTIONS(3363),
    [sym__minus_then_ws] = ACTIONS(3363),
    [sym__bang_custom] = ACTIONS(3363),
    [sym_default_keyword] = ACTIONS(3363),
    [sym_where_keyword] = ACTIONS(3363),
    [sym__as_custom] = ACTIONS(3363),
    [sym__as_quest_custom] = ACTIONS(3363),
    [sym__as_bang_custom] = ACTIONS(3363),
    [sym__custom_operator] = ACTIONS(3363),
  },
  [1342] = {
    [sym__type_level_declaration] = STATE(7735),
    [sym_import_declaration] = STATE(7735),
    [sym_property_declaration] = STATE(7735),
    [sym__modifierless_property_declaration] = STATE(7625),
    [sym_typealias_declaration] = STATE(7735),
    [sym__modifierless_typealias_declaration] = STATE(7444),
    [sym_function_declaration] = STATE(7735),
    [sym__bodyless_function_declaration] = STATE(7742),
    [sym__modifierless_function_declaration_no_body] = STATE(8708),
    [sym_class_declaration] = STATE(7735),
    [sym__modifierless_class_declaration] = STATE(7633),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__async_modifier] = STATE(7659),
    [sym_protocol_declaration] = STATE(7735),
    [sym_init_declaration] = STATE(7735),
    [sym_deinit_declaration] = STATE(7735),
    [sym_subscript_declaration] = STATE(7735),
    [sym_operator_declaration] = STATE(7735),
    [sym_precedence_group_declaration] = STATE(7735),
    [sym_associatedtype_declaration] = STATE(7735),
    [sym_attribute] = STATE(1786),
    [sym_value_binding_pattern] = STATE(4778),
    [sym__possibly_async_binding_pattern_kind] = STATE(4778),
    [sym_modifiers] = STATE(4931),
    [aux_sym__locally_permitted_modifiers] = STATE(1786),
    [sym__non_local_scope_modifier] = STATE(1786),
    [sym__locally_permitted_modifier] = STATE(1786),
    [sym_property_behavior_modifier] = STATE(1786),
    [sym_member_modifier] = STATE(1786),
    [sym_visibility_modifier] = STATE(1786),
    [sym_function_modifier] = STATE(1786),
    [sym_mutation_modifier] = STATE(1786),
    [sym_property_modifier] = STATE(1786),
    [sym_inheritance_modifier] = STATE(1786),
    [sym_parameter_modifier] = STATE(1786),
    [sym_ownership_modifier] = STATE(1786),
    [sym__parameter_ownership_modifier] = STATE(2979),
    [aux_sym_modifiers_repeat1] = STATE(1786),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(4240),
    [anon_sym_async] = ACTIONS(3977),
    [anon_sym_lazy] = ACTIONS(3979),
    [anon_sym_package] = ACTIONS(3981),
    [anon_sym_RBRACE] = ACTIONS(4329),
    [anon_sym_import] = ACTIONS(4244),
    [anon_sym_typealias] = ACTIONS(4246),
    [anon_sym_struct] = ACTIONS(4240),
    [anon_sym_class] = ACTIONS(4248),
    [anon_sym_enum] = ACTIONS(4250),
    [anon_sym_protocol] = ACTIONS(4252),
    [anon_sym_let] = ACTIONS(3997),
    [anon_sym_var] = ACTIONS(3997),
    [anon_sym_func] = ACTIONS(3999),
    [anon_sym_extension] = ACTIONS(4254),
    [anon_sym_indirect] = ACTIONS(4256),
    [anon_sym_init] = ACTIONS(4258),
    [anon_sym_deinit] = ACTIONS(4260),
    [anon_sym_subscript] = ACTIONS(4262),
    [anon_sym_prefix] = ACTIONS(4264),
    [anon_sym_infix] = ACTIONS(4264),
    [anon_sym_postfix] = ACTIONS(4264),
    [anon_sym_precedencegroup] = ACTIONS(4266),
    [anon_sym_associatedtype] = ACTIONS(4268),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(4017),
    [anon_sym_convenience] = ACTIONS(4017),
    [anon_sym_required] = ACTIONS(4017),
    [anon_sym_nonisolated] = ACTIONS(4017),
    [anon_sym_public] = ACTIONS(3981),
    [anon_sym_private] = ACTIONS(3981),
    [anon_sym_internal] = ACTIONS(3981),
    [anon_sym_fileprivate] = ACTIONS(3981),
    [anon_sym_open] = ACTIONS(3981),
    [anon_sym_mutating] = ACTIONS(4019),
    [anon_sym_nonmutating] = ACTIONS(4019),
    [anon_sym_static] = ACTIONS(4021),
    [anon_sym_dynamic] = ACTIONS(4021),
    [anon_sym_optional] = ACTIONS(4021),
    [anon_sym_distributed] = ACTIONS(4021),
    [anon_sym_final] = ACTIONS(4023),
    [anon_sym_inout] = ACTIONS(125),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(129),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(125),
    [anon_sym_consuming] = ACTIONS(125),
    [sym_multiline_comment] = ACTIONS(5),
  },
  [1343] = {
    [anon_sym_BANG] = ACTIONS(3194),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3196),
    [anon_sym_package] = ACTIONS(3196),
    [anon_sym_COMMA] = ACTIONS(3196),
    [anon_sym_LPAREN] = ACTIONS(3196),
    [anon_sym_LBRACK] = ACTIONS(3196),
    [anon_sym_DOT] = ACTIONS(3194),
    [anon_sym_QMARK] = ACTIONS(3194),
    [anon_sym_QMARK2] = ACTIONS(3196),
    [anon_sym_AMP] = ACTIONS(3196),
    [aux_sym_custom_operator_token1] = ACTIONS(3196),
    [anon_sym_LT] = ACTIONS(3194),
    [anon_sym_GT] = ACTIONS(3194),
    [anon_sym_LBRACE] = ACTIONS(3196),
    [anon_sym_CARET_LBRACE] = ACTIONS(3196),
    [anon_sym_RBRACE] = ACTIONS(3196),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_fallthrough] = ACTIONS(3196),
    [anon_sym_PLUS_EQ] = ACTIONS(3196),
    [anon_sym_DASH_EQ] = ACTIONS(3196),
    [anon_sym_STAR_EQ] = ACTIONS(3196),
    [anon_sym_SLASH_EQ] = ACTIONS(3196),
    [anon_sym_PERCENT_EQ] = ACTIONS(3196),
    [anon_sym_BANG_EQ] = ACTIONS(3194),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3196),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3196),
    [anon_sym_LT_EQ] = ACTIONS(3196),
    [anon_sym_GT_EQ] = ACTIONS(3196),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3196),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3196),
    [anon_sym_is] = ACTIONS(3196),
    [anon_sym_PLUS] = ACTIONS(3194),
    [anon_sym_DASH] = ACTIONS(3194),
    [anon_sym_STAR] = ACTIONS(3194),
    [anon_sym_SLASH] = ACTIONS(3194),
    [anon_sym_PERCENT] = ACTIONS(3194),
    [anon_sym_PLUS_PLUS] = ACTIONS(3196),
    [anon_sym_DASH_DASH] = ACTIONS(3196),
    [anon_sym_PIPE] = ACTIONS(3196),
    [anon_sym_CARET] = ACTIONS(3194),
    [anon_sym_LT_LT] = ACTIONS(3196),
    [anon_sym_GT_GT] = ACTIONS(3196),
    [anon_sym_class] = ACTIONS(3196),
    [anon_sym_prefix] = ACTIONS(3196),
    [anon_sym_infix] = ACTIONS(3196),
    [anon_sym_postfix] = ACTIONS(3196),
    [anon_sym_AT] = ACTIONS(3194),
    [anon_sym_override] = ACTIONS(3196),
    [anon_sym_convenience] = ACTIONS(3196),
    [anon_sym_required] = ACTIONS(3196),
    [anon_sym_nonisolated] = ACTIONS(3196),
    [anon_sym_public] = ACTIONS(3196),
    [anon_sym_private] = ACTIONS(3196),
    [anon_sym_internal] = ACTIONS(3196),
    [anon_sym_fileprivate] = ACTIONS(3196),
    [anon_sym_open] = ACTIONS(3196),
    [anon_sym_mutating] = ACTIONS(3196),
    [anon_sym_nonmutating] = ACTIONS(3196),
    [anon_sym_static] = ACTIONS(3196),
    [anon_sym_dynamic] = ACTIONS(3196),
    [anon_sym_optional] = ACTIONS(3196),
    [anon_sym_distributed] = ACTIONS(3196),
    [anon_sym_final] = ACTIONS(3196),
    [anon_sym_inout] = ACTIONS(3196),
    [anon_sym_ATescaping] = ACTIONS(3196),
    [anon_sym_ATautoclosure] = ACTIONS(3196),
    [anon_sym_weak] = ACTIONS(3196),
    [anon_sym_unowned] = ACTIONS(3194),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3196),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3196),
    [anon_sym_borrowing] = ACTIONS(3196),
    [anon_sym_consuming] = ACTIONS(3196),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3196),
    [sym__explicit_semi] = ACTIONS(3196),
    [sym__dot_custom] = ACTIONS(3196),
    [sym__conjunction_operator_custom] = ACTIONS(3196),
    [sym__disjunction_operator_custom] = ACTIONS(3196),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3196),
    [sym__eq_custom] = ACTIONS(3196),
    [sym__eq_eq_custom] = ACTIONS(3196),
    [sym__plus_then_ws] = ACTIONS(3196),
    [sym__minus_then_ws] = ACTIONS(3196),
    [sym__bang_custom] = ACTIONS(3196),
    [sym_default_keyword] = ACTIONS(3196),
    [sym__as_custom] = ACTIONS(3196),
    [sym__as_quest_custom] = ACTIONS(3196),
    [sym__as_bang_custom] = ACTIONS(3196),
    [sym__custom_operator] = ACTIONS(3196),
  },
  [1344] = {
    [anon_sym_BANG] = ACTIONS(3617),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3619),
    [anon_sym_package] = ACTIONS(3619),
    [anon_sym_COMMA] = ACTIONS(3619),
    [anon_sym_LPAREN] = ACTIONS(3619),
    [anon_sym_LBRACK] = ACTIONS(3619),
    [anon_sym_QMARK] = ACTIONS(3617),
    [anon_sym_QMARK2] = ACTIONS(3619),
    [anon_sym_AMP] = ACTIONS(3619),
    [aux_sym_custom_operator_token1] = ACTIONS(3619),
    [anon_sym_LT] = ACTIONS(3617),
    [anon_sym_GT] = ACTIONS(3617),
    [anon_sym_LBRACE] = ACTIONS(3619),
    [anon_sym_CARET_LBRACE] = ACTIONS(3619),
    [anon_sym_RBRACE] = ACTIONS(3619),
    [anon_sym_case] = ACTIONS(3619),
    [anon_sym_fallthrough] = ACTIONS(3619),
    [anon_sym_PLUS_EQ] = ACTIONS(3619),
    [anon_sym_DASH_EQ] = ACTIONS(3619),
    [anon_sym_STAR_EQ] = ACTIONS(3619),
    [anon_sym_SLASH_EQ] = ACTIONS(3619),
    [anon_sym_PERCENT_EQ] = ACTIONS(3619),
    [anon_sym_BANG_EQ] = ACTIONS(3617),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3619),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3619),
    [anon_sym_LT_EQ] = ACTIONS(3619),
    [anon_sym_GT_EQ] = ACTIONS(3619),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3619),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3619),
    [anon_sym_is] = ACTIONS(3619),
    [anon_sym_PLUS] = ACTIONS(3617),
    [anon_sym_DASH] = ACTIONS(3617),
    [anon_sym_STAR] = ACTIONS(3617),
    [anon_sym_SLASH] = ACTIONS(3617),
    [anon_sym_PERCENT] = ACTIONS(3617),
    [anon_sym_PLUS_PLUS] = ACTIONS(3619),
    [anon_sym_DASH_DASH] = ACTIONS(3619),
    [anon_sym_PIPE] = ACTIONS(3619),
    [anon_sym_CARET] = ACTIONS(3617),
    [anon_sym_LT_LT] = ACTIONS(3619),
    [anon_sym_GT_GT] = ACTIONS(3619),
    [anon_sym_class] = ACTIONS(3619),
    [anon_sym_prefix] = ACTIONS(3619),
    [anon_sym_infix] = ACTIONS(3619),
    [anon_sym_postfix] = ACTIONS(3619),
    [anon_sym_AT] = ACTIONS(3617),
    [anon_sym_override] = ACTIONS(3619),
    [anon_sym_convenience] = ACTIONS(3619),
    [anon_sym_required] = ACTIONS(3619),
    [anon_sym_nonisolated] = ACTIONS(3619),
    [anon_sym_public] = ACTIONS(3619),
    [anon_sym_private] = ACTIONS(3619),
    [anon_sym_internal] = ACTIONS(3619),
    [anon_sym_fileprivate] = ACTIONS(3619),
    [anon_sym_open] = ACTIONS(3619),
    [anon_sym_mutating] = ACTIONS(3619),
    [anon_sym_nonmutating] = ACTIONS(3619),
    [anon_sym_static] = ACTIONS(3619),
    [anon_sym_dynamic] = ACTIONS(3619),
    [anon_sym_optional] = ACTIONS(3619),
    [anon_sym_distributed] = ACTIONS(3619),
    [anon_sym_final] = ACTIONS(3619),
    [anon_sym_inout] = ACTIONS(3619),
    [anon_sym_ATescaping] = ACTIONS(3619),
    [anon_sym_ATautoclosure] = ACTIONS(3619),
    [anon_sym_weak] = ACTIONS(3619),
    [anon_sym_unowned] = ACTIONS(3617),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3619),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3619),
    [anon_sym_borrowing] = ACTIONS(3619),
    [anon_sym_consuming] = ACTIONS(3619),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3619),
    [sym__explicit_semi] = ACTIONS(3619),
    [sym__dot_custom] = ACTIONS(3619),
    [sym__conjunction_operator_custom] = ACTIONS(3619),
    [sym__disjunction_operator_custom] = ACTIONS(3619),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3619),
    [sym__eq_custom] = ACTIONS(3619),
    [sym__eq_eq_custom] = ACTIONS(3619),
    [sym__plus_then_ws] = ACTIONS(3619),
    [sym__minus_then_ws] = ACTIONS(3619),
    [sym__bang_custom] = ACTIONS(3619),
    [sym_default_keyword] = ACTIONS(3619),
    [sym_where_keyword] = ACTIONS(3619),
    [sym__as_custom] = ACTIONS(3619),
    [sym__as_quest_custom] = ACTIONS(3619),
    [sym__as_bang_custom] = ACTIONS(3619),
    [sym__custom_operator] = ACTIONS(3619),
  },
  [1345] = {
    [anon_sym_BANG] = ACTIONS(3219),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3221),
    [anon_sym_package] = ACTIONS(3221),
    [anon_sym_COMMA] = ACTIONS(3221),
    [anon_sym_LPAREN] = ACTIONS(3221),
    [anon_sym_LBRACK] = ACTIONS(3221),
    [anon_sym_QMARK] = ACTIONS(3219),
    [anon_sym_QMARK2] = ACTIONS(3221),
    [anon_sym_AMP] = ACTIONS(3221),
    [aux_sym_custom_operator_token1] = ACTIONS(3221),
    [anon_sym_LT] = ACTIONS(3219),
    [anon_sym_GT] = ACTIONS(3219),
    [anon_sym_LBRACE] = ACTIONS(3221),
    [anon_sym_CARET_LBRACE] = ACTIONS(3221),
    [anon_sym_RBRACE] = ACTIONS(3221),
    [anon_sym_case] = ACTIONS(3221),
    [anon_sym_fallthrough] = ACTIONS(3221),
    [anon_sym_PLUS_EQ] = ACTIONS(3221),
    [anon_sym_DASH_EQ] = ACTIONS(3221),
    [anon_sym_STAR_EQ] = ACTIONS(3221),
    [anon_sym_SLASH_EQ] = ACTIONS(3221),
    [anon_sym_PERCENT_EQ] = ACTIONS(3221),
    [anon_sym_BANG_EQ] = ACTIONS(3219),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3221),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3221),
    [anon_sym_LT_EQ] = ACTIONS(3221),
    [anon_sym_GT_EQ] = ACTIONS(3221),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3221),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3221),
    [anon_sym_is] = ACTIONS(3221),
    [anon_sym_PLUS] = ACTIONS(3219),
    [anon_sym_DASH] = ACTIONS(3219),
    [anon_sym_STAR] = ACTIONS(3219),
    [anon_sym_SLASH] = ACTIONS(3219),
    [anon_sym_PERCENT] = ACTIONS(3219),
    [anon_sym_PLUS_PLUS] = ACTIONS(3221),
    [anon_sym_DASH_DASH] = ACTIONS(3221),
    [anon_sym_PIPE] = ACTIONS(3221),
    [anon_sym_CARET] = ACTIONS(3219),
    [anon_sym_LT_LT] = ACTIONS(3221),
    [anon_sym_GT_GT] = ACTIONS(3221),
    [anon_sym_class] = ACTIONS(3221),
    [anon_sym_prefix] = ACTIONS(3221),
    [anon_sym_infix] = ACTIONS(3221),
    [anon_sym_postfix] = ACTIONS(3221),
    [anon_sym_AT] = ACTIONS(3219),
    [anon_sym_override] = ACTIONS(3221),
    [anon_sym_convenience] = ACTIONS(3221),
    [anon_sym_required] = ACTIONS(3221),
    [anon_sym_nonisolated] = ACTIONS(3221),
    [anon_sym_public] = ACTIONS(3221),
    [anon_sym_private] = ACTIONS(3221),
    [anon_sym_internal] = ACTIONS(3221),
    [anon_sym_fileprivate] = ACTIONS(3221),
    [anon_sym_open] = ACTIONS(3221),
    [anon_sym_mutating] = ACTIONS(3221),
    [anon_sym_nonmutating] = ACTIONS(3221),
    [anon_sym_static] = ACTIONS(3221),
    [anon_sym_dynamic] = ACTIONS(3221),
    [anon_sym_optional] = ACTIONS(3221),
    [anon_sym_distributed] = ACTIONS(3221),
    [anon_sym_final] = ACTIONS(3221),
    [anon_sym_inout] = ACTIONS(3221),
    [anon_sym_ATescaping] = ACTIONS(3221),
    [anon_sym_ATautoclosure] = ACTIONS(3221),
    [anon_sym_weak] = ACTIONS(3221),
    [anon_sym_unowned] = ACTIONS(3219),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3221),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3221),
    [anon_sym_borrowing] = ACTIONS(3221),
    [anon_sym_consuming] = ACTIONS(3221),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3221),
    [sym__explicit_semi] = ACTIONS(3221),
    [sym__dot_custom] = ACTIONS(3221),
    [sym__conjunction_operator_custom] = ACTIONS(3221),
    [sym__disjunction_operator_custom] = ACTIONS(3221),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3221),
    [sym__eq_custom] = ACTIONS(3221),
    [sym__eq_eq_custom] = ACTIONS(3221),
    [sym__plus_then_ws] = ACTIONS(3221),
    [sym__minus_then_ws] = ACTIONS(3221),
    [sym__bang_custom] = ACTIONS(3221),
    [sym_default_keyword] = ACTIONS(3221),
    [sym_where_keyword] = ACTIONS(3221),
    [sym__as_custom] = ACTIONS(3221),
    [sym__as_quest_custom] = ACTIONS(3221),
    [sym__as_bang_custom] = ACTIONS(3221),
    [sym__custom_operator] = ACTIONS(3221),
  },
  [1346] = {
    [anon_sym_BANG] = ACTIONS(3553),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3555),
    [anon_sym_package] = ACTIONS(3555),
    [anon_sym_COMMA] = ACTIONS(3555),
    [anon_sym_LPAREN] = ACTIONS(3555),
    [anon_sym_LBRACK] = ACTIONS(3555),
    [anon_sym_QMARK] = ACTIONS(3553),
    [anon_sym_QMARK2] = ACTIONS(3555),
    [anon_sym_AMP] = ACTIONS(3555),
    [aux_sym_custom_operator_token1] = ACTIONS(3555),
    [anon_sym_LT] = ACTIONS(3553),
    [anon_sym_GT] = ACTIONS(3553),
    [anon_sym_LBRACE] = ACTIONS(3555),
    [anon_sym_CARET_LBRACE] = ACTIONS(3555),
    [anon_sym_RBRACE] = ACTIONS(3555),
    [anon_sym_case] = ACTIONS(3555),
    [anon_sym_fallthrough] = ACTIONS(3555),
    [anon_sym_PLUS_EQ] = ACTIONS(3555),
    [anon_sym_DASH_EQ] = ACTIONS(3555),
    [anon_sym_STAR_EQ] = ACTIONS(3555),
    [anon_sym_SLASH_EQ] = ACTIONS(3555),
    [anon_sym_PERCENT_EQ] = ACTIONS(3555),
    [anon_sym_BANG_EQ] = ACTIONS(3553),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3555),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3555),
    [anon_sym_LT_EQ] = ACTIONS(3555),
    [anon_sym_GT_EQ] = ACTIONS(3555),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3555),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3555),
    [anon_sym_is] = ACTIONS(3555),
    [anon_sym_PLUS] = ACTIONS(3553),
    [anon_sym_DASH] = ACTIONS(3553),
    [anon_sym_STAR] = ACTIONS(3553),
    [anon_sym_SLASH] = ACTIONS(3553),
    [anon_sym_PERCENT] = ACTIONS(3553),
    [anon_sym_PLUS_PLUS] = ACTIONS(3555),
    [anon_sym_DASH_DASH] = ACTIONS(3555),
    [anon_sym_PIPE] = ACTIONS(3555),
    [anon_sym_CARET] = ACTIONS(3553),
    [anon_sym_LT_LT] = ACTIONS(3555),
    [anon_sym_GT_GT] = ACTIONS(3555),
    [anon_sym_class] = ACTIONS(3555),
    [anon_sym_prefix] = ACTIONS(3555),
    [anon_sym_infix] = ACTIONS(3555),
    [anon_sym_postfix] = ACTIONS(3555),
    [anon_sym_AT] = ACTIONS(3553),
    [anon_sym_override] = ACTIONS(3555),
    [anon_sym_convenience] = ACTIONS(3555),
    [anon_sym_required] = ACTIONS(3555),
    [anon_sym_nonisolated] = ACTIONS(3555),
    [anon_sym_public] = ACTIONS(3555),
    [anon_sym_private] = ACTIONS(3555),
    [anon_sym_internal] = ACTIONS(3555),
    [anon_sym_fileprivate] = ACTIONS(3555),
    [anon_sym_open] = ACTIONS(3555),
    [anon_sym_mutating] = ACTIONS(3555),
    [anon_sym_nonmutating] = ACTIONS(3555),
    [anon_sym_static] = ACTIONS(3555),
    [anon_sym_dynamic] = ACTIONS(3555),
    [anon_sym_optional] = ACTIONS(3555),
    [anon_sym_distributed] = ACTIONS(3555),
    [anon_sym_final] = ACTIONS(3555),
    [anon_sym_inout] = ACTIONS(3555),
    [anon_sym_ATescaping] = ACTIONS(3555),
    [anon_sym_ATautoclosure] = ACTIONS(3555),
    [anon_sym_weak] = ACTIONS(3555),
    [anon_sym_unowned] = ACTIONS(3553),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3555),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3555),
    [anon_sym_borrowing] = ACTIONS(3555),
    [anon_sym_consuming] = ACTIONS(3555),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3555),
    [sym__explicit_semi] = ACTIONS(3555),
    [sym__dot_custom] = ACTIONS(3555),
    [sym__conjunction_operator_custom] = ACTIONS(3555),
    [sym__disjunction_operator_custom] = ACTIONS(3555),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3555),
    [sym__eq_custom] = ACTIONS(3555),
    [sym__eq_eq_custom] = ACTIONS(3555),
    [sym__plus_then_ws] = ACTIONS(3555),
    [sym__minus_then_ws] = ACTIONS(3555),
    [sym__bang_custom] = ACTIONS(3555),
    [sym_default_keyword] = ACTIONS(3555),
    [sym_where_keyword] = ACTIONS(3555),
    [sym__as_custom] = ACTIONS(3555),
    [sym__as_quest_custom] = ACTIONS(3555),
    [sym__as_bang_custom] = ACTIONS(3555),
    [sym__custom_operator] = ACTIONS(3555),
  },
  [1347] = {
    [anon_sym_BANG] = ACTIONS(3213),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3215),
    [anon_sym_package] = ACTIONS(3215),
    [anon_sym_COMMA] = ACTIONS(3215),
    [anon_sym_LPAREN] = ACTIONS(3215),
    [anon_sym_LBRACK] = ACTIONS(3215),
    [anon_sym_QMARK] = ACTIONS(3213),
    [anon_sym_QMARK2] = ACTIONS(3215),
    [anon_sym_AMP] = ACTIONS(3215),
    [aux_sym_custom_operator_token1] = ACTIONS(3215),
    [anon_sym_LT] = ACTIONS(3213),
    [anon_sym_GT] = ACTIONS(3213),
    [anon_sym_LBRACE] = ACTIONS(3215),
    [anon_sym_CARET_LBRACE] = ACTIONS(3215),
    [anon_sym_RBRACE] = ACTIONS(3215),
    [anon_sym_case] = ACTIONS(3215),
    [anon_sym_fallthrough] = ACTIONS(3215),
    [anon_sym_PLUS_EQ] = ACTIONS(3215),
    [anon_sym_DASH_EQ] = ACTIONS(3215),
    [anon_sym_STAR_EQ] = ACTIONS(3215),
    [anon_sym_SLASH_EQ] = ACTIONS(3215),
    [anon_sym_PERCENT_EQ] = ACTIONS(3215),
    [anon_sym_BANG_EQ] = ACTIONS(3213),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3215),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3215),
    [anon_sym_LT_EQ] = ACTIONS(3215),
    [anon_sym_GT_EQ] = ACTIONS(3215),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3215),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3215),
    [anon_sym_is] = ACTIONS(3215),
    [anon_sym_PLUS] = ACTIONS(3213),
    [anon_sym_DASH] = ACTIONS(3213),
    [anon_sym_STAR] = ACTIONS(3213),
    [anon_sym_SLASH] = ACTIONS(3213),
    [anon_sym_PERCENT] = ACTIONS(3213),
    [anon_sym_PLUS_PLUS] = ACTIONS(3215),
    [anon_sym_DASH_DASH] = ACTIONS(3215),
    [anon_sym_PIPE] = ACTIONS(3215),
    [anon_sym_CARET] = ACTIONS(3213),
    [anon_sym_LT_LT] = ACTIONS(3215),
    [anon_sym_GT_GT] = ACTIONS(3215),
    [anon_sym_class] = ACTIONS(3215),
    [anon_sym_prefix] = ACTIONS(3215),
    [anon_sym_infix] = ACTIONS(3215),
    [anon_sym_postfix] = ACTIONS(3215),
    [anon_sym_AT] = ACTIONS(3213),
    [anon_sym_override] = ACTIONS(3215),
    [anon_sym_convenience] = ACTIONS(3215),
    [anon_sym_required] = ACTIONS(3215),
    [anon_sym_nonisolated] = ACTIONS(3215),
    [anon_sym_public] = ACTIONS(3215),
    [anon_sym_private] = ACTIONS(3215),
    [anon_sym_internal] = ACTIONS(3215),
    [anon_sym_fileprivate] = ACTIONS(3215),
    [anon_sym_open] = ACTIONS(3215),
    [anon_sym_mutating] = ACTIONS(3215),
    [anon_sym_nonmutating] = ACTIONS(3215),
    [anon_sym_static] = ACTIONS(3215),
    [anon_sym_dynamic] = ACTIONS(3215),
    [anon_sym_optional] = ACTIONS(3215),
    [anon_sym_distributed] = ACTIONS(3215),
    [anon_sym_final] = ACTIONS(3215),
    [anon_sym_inout] = ACTIONS(3215),
    [anon_sym_ATescaping] = ACTIONS(3215),
    [anon_sym_ATautoclosure] = ACTIONS(3215),
    [anon_sym_weak] = ACTIONS(3215),
    [anon_sym_unowned] = ACTIONS(3213),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3215),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3215),
    [anon_sym_borrowing] = ACTIONS(3215),
    [anon_sym_consuming] = ACTIONS(3215),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3215),
    [sym__explicit_semi] = ACTIONS(3215),
    [sym__dot_custom] = ACTIONS(3215),
    [sym__conjunction_operator_custom] = ACTIONS(3215),
    [sym__disjunction_operator_custom] = ACTIONS(3215),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3215),
    [sym__eq_custom] = ACTIONS(3215),
    [sym__eq_eq_custom] = ACTIONS(3215),
    [sym__plus_then_ws] = ACTIONS(3215),
    [sym__minus_then_ws] = ACTIONS(3215),
    [sym__bang_custom] = ACTIONS(3215),
    [sym_default_keyword] = ACTIONS(3215),
    [sym_where_keyword] = ACTIONS(3215),
    [sym__as_custom] = ACTIONS(3215),
    [sym__as_quest_custom] = ACTIONS(3215),
    [sym__as_bang_custom] = ACTIONS(3215),
    [sym__custom_operator] = ACTIONS(3215),
  },
  [1348] = {
    [anon_sym_BANG] = ACTIONS(3613),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3615),
    [anon_sym_package] = ACTIONS(3615),
    [anon_sym_COMMA] = ACTIONS(3615),
    [anon_sym_LPAREN] = ACTIONS(3615),
    [anon_sym_LBRACK] = ACTIONS(3615),
    [anon_sym_QMARK] = ACTIONS(3613),
    [anon_sym_QMARK2] = ACTIONS(3615),
    [anon_sym_AMP] = ACTIONS(3615),
    [aux_sym_custom_operator_token1] = ACTIONS(3615),
    [anon_sym_LT] = ACTIONS(3613),
    [anon_sym_GT] = ACTIONS(3613),
    [anon_sym_LBRACE] = ACTIONS(3615),
    [anon_sym_CARET_LBRACE] = ACTIONS(3615),
    [anon_sym_RBRACE] = ACTIONS(3615),
    [anon_sym_case] = ACTIONS(3615),
    [anon_sym_fallthrough] = ACTIONS(3615),
    [anon_sym_PLUS_EQ] = ACTIONS(3615),
    [anon_sym_DASH_EQ] = ACTIONS(3615),
    [anon_sym_STAR_EQ] = ACTIONS(3615),
    [anon_sym_SLASH_EQ] = ACTIONS(3615),
    [anon_sym_PERCENT_EQ] = ACTIONS(3615),
    [anon_sym_BANG_EQ] = ACTIONS(3613),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3615),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3615),
    [anon_sym_LT_EQ] = ACTIONS(3615),
    [anon_sym_GT_EQ] = ACTIONS(3615),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3615),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3615),
    [anon_sym_is] = ACTIONS(3615),
    [anon_sym_PLUS] = ACTIONS(3613),
    [anon_sym_DASH] = ACTIONS(3613),
    [anon_sym_STAR] = ACTIONS(3613),
    [anon_sym_SLASH] = ACTIONS(3613),
    [anon_sym_PERCENT] = ACTIONS(3613),
    [anon_sym_PLUS_PLUS] = ACTIONS(3615),
    [anon_sym_DASH_DASH] = ACTIONS(3615),
    [anon_sym_PIPE] = ACTIONS(3615),
    [anon_sym_CARET] = ACTIONS(3613),
    [anon_sym_LT_LT] = ACTIONS(3615),
    [anon_sym_GT_GT] = ACTIONS(3615),
    [anon_sym_class] = ACTIONS(3615),
    [anon_sym_prefix] = ACTIONS(3615),
    [anon_sym_infix] = ACTIONS(3615),
    [anon_sym_postfix] = ACTIONS(3615),
    [anon_sym_AT] = ACTIONS(3613),
    [anon_sym_override] = ACTIONS(3615),
    [anon_sym_convenience] = ACTIONS(3615),
    [anon_sym_required] = ACTIONS(3615),
    [anon_sym_nonisolated] = ACTIONS(3615),
    [anon_sym_public] = ACTIONS(3615),
    [anon_sym_private] = ACTIONS(3615),
    [anon_sym_internal] = ACTIONS(3615),
    [anon_sym_fileprivate] = ACTIONS(3615),
    [anon_sym_open] = ACTIONS(3615),
    [anon_sym_mutating] = ACTIONS(3615),
    [anon_sym_nonmutating] = ACTIONS(3615),
    [anon_sym_static] = ACTIONS(3615),
    [anon_sym_dynamic] = ACTIONS(3615),
    [anon_sym_optional] = ACTIONS(3615),
    [anon_sym_distributed] = ACTIONS(3615),
    [anon_sym_final] = ACTIONS(3615),
    [anon_sym_inout] = ACTIONS(3615),
    [anon_sym_ATescaping] = ACTIONS(3615),
    [anon_sym_ATautoclosure] = ACTIONS(3615),
    [anon_sym_weak] = ACTIONS(3615),
    [anon_sym_unowned] = ACTIONS(3613),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3615),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3615),
    [anon_sym_borrowing] = ACTIONS(3615),
    [anon_sym_consuming] = ACTIONS(3615),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3615),
    [sym__explicit_semi] = ACTIONS(3615),
    [sym__dot_custom] = ACTIONS(3615),
    [sym__conjunction_operator_custom] = ACTIONS(3615),
    [sym__disjunction_operator_custom] = ACTIONS(3615),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3615),
    [sym__eq_custom] = ACTIONS(3615),
    [sym__eq_eq_custom] = ACTIONS(3615),
    [sym__plus_then_ws] = ACTIONS(3615),
    [sym__minus_then_ws] = ACTIONS(3615),
    [sym__bang_custom] = ACTIONS(3615),
    [sym_default_keyword] = ACTIONS(3615),
    [sym_where_keyword] = ACTIONS(3615),
    [sym__as_custom] = ACTIONS(3615),
    [sym__as_quest_custom] = ACTIONS(3615),
    [sym__as_bang_custom] = ACTIONS(3615),
    [sym__custom_operator] = ACTIONS(3615),
  },
  [1349] = {
    [anon_sym_BANG] = ACTIONS(3541),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3543),
    [anon_sym_package] = ACTIONS(3543),
    [anon_sym_COMMA] = ACTIONS(3543),
    [anon_sym_LPAREN] = ACTIONS(3543),
    [anon_sym_LBRACK] = ACTIONS(3543),
    [anon_sym_QMARK] = ACTIONS(3541),
    [anon_sym_QMARK2] = ACTIONS(3543),
    [anon_sym_AMP] = ACTIONS(3543),
    [aux_sym_custom_operator_token1] = ACTIONS(3543),
    [anon_sym_LT] = ACTIONS(3541),
    [anon_sym_GT] = ACTIONS(3541),
    [anon_sym_LBRACE] = ACTIONS(3543),
    [anon_sym_CARET_LBRACE] = ACTIONS(3543),
    [anon_sym_RBRACE] = ACTIONS(3543),
    [anon_sym_case] = ACTIONS(3543),
    [anon_sym_fallthrough] = ACTIONS(3543),
    [anon_sym_PLUS_EQ] = ACTIONS(3543),
    [anon_sym_DASH_EQ] = ACTIONS(3543),
    [anon_sym_STAR_EQ] = ACTIONS(3543),
    [anon_sym_SLASH_EQ] = ACTIONS(3543),
    [anon_sym_PERCENT_EQ] = ACTIONS(3543),
    [anon_sym_BANG_EQ] = ACTIONS(3541),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3543),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3543),
    [anon_sym_LT_EQ] = ACTIONS(3543),
    [anon_sym_GT_EQ] = ACTIONS(3543),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3543),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3543),
    [anon_sym_is] = ACTIONS(3543),
    [anon_sym_PLUS] = ACTIONS(3541),
    [anon_sym_DASH] = ACTIONS(3541),
    [anon_sym_STAR] = ACTIONS(3541),
    [anon_sym_SLASH] = ACTIONS(3541),
    [anon_sym_PERCENT] = ACTIONS(3541),
    [anon_sym_PLUS_PLUS] = ACTIONS(3543),
    [anon_sym_DASH_DASH] = ACTIONS(3543),
    [anon_sym_PIPE] = ACTIONS(3543),
    [anon_sym_CARET] = ACTIONS(3541),
    [anon_sym_LT_LT] = ACTIONS(3543),
    [anon_sym_GT_GT] = ACTIONS(3543),
    [anon_sym_class] = ACTIONS(3543),
    [anon_sym_prefix] = ACTIONS(3543),
    [anon_sym_infix] = ACTIONS(3543),
    [anon_sym_postfix] = ACTIONS(3543),
    [anon_sym_AT] = ACTIONS(3541),
    [anon_sym_override] = ACTIONS(3543),
    [anon_sym_convenience] = ACTIONS(3543),
    [anon_sym_required] = ACTIONS(3543),
    [anon_sym_nonisolated] = ACTIONS(3543),
    [anon_sym_public] = ACTIONS(3543),
    [anon_sym_private] = ACTIONS(3543),
    [anon_sym_internal] = ACTIONS(3543),
    [anon_sym_fileprivate] = ACTIONS(3543),
    [anon_sym_open] = ACTIONS(3543),
    [anon_sym_mutating] = ACTIONS(3543),
    [anon_sym_nonmutating] = ACTIONS(3543),
    [anon_sym_static] = ACTIONS(3543),
    [anon_sym_dynamic] = ACTIONS(3543),
    [anon_sym_optional] = ACTIONS(3543),
    [anon_sym_distributed] = ACTIONS(3543),
    [anon_sym_final] = ACTIONS(3543),
    [anon_sym_inout] = ACTIONS(3543),
    [anon_sym_ATescaping] = ACTIONS(3543),
    [anon_sym_ATautoclosure] = ACTIONS(3543),
    [anon_sym_weak] = ACTIONS(3543),
    [anon_sym_unowned] = ACTIONS(3541),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3543),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3543),
    [anon_sym_borrowing] = ACTIONS(3543),
    [anon_sym_consuming] = ACTIONS(3543),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3543),
    [sym__explicit_semi] = ACTIONS(3543),
    [sym__dot_custom] = ACTIONS(3543),
    [sym__conjunction_operator_custom] = ACTIONS(3543),
    [sym__disjunction_operator_custom] = ACTIONS(3543),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3543),
    [sym__eq_custom] = ACTIONS(3543),
    [sym__eq_eq_custom] = ACTIONS(3543),
    [sym__plus_then_ws] = ACTIONS(3543),
    [sym__minus_then_ws] = ACTIONS(3543),
    [sym__bang_custom] = ACTIONS(3543),
    [sym_default_keyword] = ACTIONS(3543),
    [sym_where_keyword] = ACTIONS(3543),
    [sym__as_custom] = ACTIONS(3543),
    [sym__as_quest_custom] = ACTIONS(3543),
    [sym__as_bang_custom] = ACTIONS(3543),
    [sym__custom_operator] = ACTIONS(3543),
  },
  [1350] = {
    [anon_sym_BANG] = ACTIONS(3433),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3435),
    [anon_sym_package] = ACTIONS(3435),
    [anon_sym_COMMA] = ACTIONS(3435),
    [anon_sym_LPAREN] = ACTIONS(3435),
    [anon_sym_LBRACK] = ACTIONS(3435),
    [anon_sym_QMARK] = ACTIONS(3433),
    [anon_sym_QMARK2] = ACTIONS(3435),
    [anon_sym_AMP] = ACTIONS(3435),
    [aux_sym_custom_operator_token1] = ACTIONS(3435),
    [anon_sym_LT] = ACTIONS(3433),
    [anon_sym_GT] = ACTIONS(3433),
    [anon_sym_LBRACE] = ACTIONS(3435),
    [anon_sym_CARET_LBRACE] = ACTIONS(3435),
    [anon_sym_RBRACE] = ACTIONS(3435),
    [anon_sym_case] = ACTIONS(3435),
    [anon_sym_fallthrough] = ACTIONS(3435),
    [anon_sym_PLUS_EQ] = ACTIONS(3435),
    [anon_sym_DASH_EQ] = ACTIONS(3435),
    [anon_sym_STAR_EQ] = ACTIONS(3435),
    [anon_sym_SLASH_EQ] = ACTIONS(3435),
    [anon_sym_PERCENT_EQ] = ACTIONS(3435),
    [anon_sym_BANG_EQ] = ACTIONS(3433),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3435),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3435),
    [anon_sym_LT_EQ] = ACTIONS(3435),
    [anon_sym_GT_EQ] = ACTIONS(3435),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3435),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3435),
    [anon_sym_is] = ACTIONS(3435),
    [anon_sym_PLUS] = ACTIONS(3433),
    [anon_sym_DASH] = ACTIONS(3433),
    [anon_sym_STAR] = ACTIONS(3433),
    [anon_sym_SLASH] = ACTIONS(3433),
    [anon_sym_PERCENT] = ACTIONS(3433),
    [anon_sym_PLUS_PLUS] = ACTIONS(3435),
    [anon_sym_DASH_DASH] = ACTIONS(3435),
    [anon_sym_PIPE] = ACTIONS(3435),
    [anon_sym_CARET] = ACTIONS(3433),
    [anon_sym_LT_LT] = ACTIONS(3435),
    [anon_sym_GT_GT] = ACTIONS(3435),
    [anon_sym_class] = ACTIONS(3435),
    [anon_sym_prefix] = ACTIONS(3435),
    [anon_sym_infix] = ACTIONS(3435),
    [anon_sym_postfix] = ACTIONS(3435),
    [anon_sym_AT] = ACTIONS(3433),
    [anon_sym_override] = ACTIONS(3435),
    [anon_sym_convenience] = ACTIONS(3435),
    [anon_sym_required] = ACTIONS(3435),
    [anon_sym_nonisolated] = ACTIONS(3435),
    [anon_sym_public] = ACTIONS(3435),
    [anon_sym_private] = ACTIONS(3435),
    [anon_sym_internal] = ACTIONS(3435),
    [anon_sym_fileprivate] = ACTIONS(3435),
    [anon_sym_open] = ACTIONS(3435),
    [anon_sym_mutating] = ACTIONS(3435),
    [anon_sym_nonmutating] = ACTIONS(3435),
    [anon_sym_static] = ACTIONS(3435),
    [anon_sym_dynamic] = ACTIONS(3435),
    [anon_sym_optional] = ACTIONS(3435),
    [anon_sym_distributed] = ACTIONS(3435),
    [anon_sym_final] = ACTIONS(3435),
    [anon_sym_inout] = ACTIONS(3435),
    [anon_sym_ATescaping] = ACTIONS(3435),
    [anon_sym_ATautoclosure] = ACTIONS(3435),
    [anon_sym_weak] = ACTIONS(3435),
    [anon_sym_unowned] = ACTIONS(3433),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3435),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3435),
    [anon_sym_borrowing] = ACTIONS(3435),
    [anon_sym_consuming] = ACTIONS(3435),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3435),
    [sym__explicit_semi] = ACTIONS(3435),
    [sym__dot_custom] = ACTIONS(3435),
    [sym__conjunction_operator_custom] = ACTIONS(3435),
    [sym__disjunction_operator_custom] = ACTIONS(3435),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3435),
    [sym__eq_custom] = ACTIONS(3435),
    [sym__eq_eq_custom] = ACTIONS(3435),
    [sym__plus_then_ws] = ACTIONS(3435),
    [sym__minus_then_ws] = ACTIONS(3435),
    [sym__bang_custom] = ACTIONS(3435),
    [sym_default_keyword] = ACTIONS(3435),
    [sym__as_custom] = ACTIONS(3435),
    [sym__as_quest_custom] = ACTIONS(3435),
    [sym__as_bang_custom] = ACTIONS(3435),
    [sym__custom_operator] = ACTIONS(3435),
  },
  [1351] = {
    [anon_sym_BANG] = ACTIONS(3601),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3603),
    [anon_sym_package] = ACTIONS(3603),
    [anon_sym_COMMA] = ACTIONS(3603),
    [anon_sym_LPAREN] = ACTIONS(3603),
    [anon_sym_LBRACK] = ACTIONS(3603),
    [anon_sym_QMARK] = ACTIONS(3601),
    [anon_sym_QMARK2] = ACTIONS(3603),
    [anon_sym_AMP] = ACTIONS(3603),
    [aux_sym_custom_operator_token1] = ACTIONS(3603),
    [anon_sym_LT] = ACTIONS(3601),
    [anon_sym_GT] = ACTIONS(3601),
    [anon_sym_LBRACE] = ACTIONS(3603),
    [anon_sym_CARET_LBRACE] = ACTIONS(3603),
    [anon_sym_RBRACE] = ACTIONS(3603),
    [anon_sym_case] = ACTIONS(3603),
    [anon_sym_fallthrough] = ACTIONS(3603),
    [anon_sym_PLUS_EQ] = ACTIONS(3603),
    [anon_sym_DASH_EQ] = ACTIONS(3603),
    [anon_sym_STAR_EQ] = ACTIONS(3603),
    [anon_sym_SLASH_EQ] = ACTIONS(3603),
    [anon_sym_PERCENT_EQ] = ACTIONS(3603),
    [anon_sym_BANG_EQ] = ACTIONS(3601),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3603),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3603),
    [anon_sym_LT_EQ] = ACTIONS(3603),
    [anon_sym_GT_EQ] = ACTIONS(3603),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3603),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3603),
    [anon_sym_is] = ACTIONS(3603),
    [anon_sym_PLUS] = ACTIONS(3601),
    [anon_sym_DASH] = ACTIONS(3601),
    [anon_sym_STAR] = ACTIONS(3601),
    [anon_sym_SLASH] = ACTIONS(3601),
    [anon_sym_PERCENT] = ACTIONS(3601),
    [anon_sym_PLUS_PLUS] = ACTIONS(3603),
    [anon_sym_DASH_DASH] = ACTIONS(3603),
    [anon_sym_PIPE] = ACTIONS(3603),
    [anon_sym_CARET] = ACTIONS(3601),
    [anon_sym_LT_LT] = ACTIONS(3603),
    [anon_sym_GT_GT] = ACTIONS(3603),
    [anon_sym_class] = ACTIONS(3603),
    [anon_sym_prefix] = ACTIONS(3603),
    [anon_sym_infix] = ACTIONS(3603),
    [anon_sym_postfix] = ACTIONS(3603),
    [anon_sym_AT] = ACTIONS(3601),
    [anon_sym_override] = ACTIONS(3603),
    [anon_sym_convenience] = ACTIONS(3603),
    [anon_sym_required] = ACTIONS(3603),
    [anon_sym_nonisolated] = ACTIONS(3603),
    [anon_sym_public] = ACTIONS(3603),
    [anon_sym_private] = ACTIONS(3603),
    [anon_sym_internal] = ACTIONS(3603),
    [anon_sym_fileprivate] = ACTIONS(3603),
    [anon_sym_open] = ACTIONS(3603),
    [anon_sym_mutating] = ACTIONS(3603),
    [anon_sym_nonmutating] = ACTIONS(3603),
    [anon_sym_static] = ACTIONS(3603),
    [anon_sym_dynamic] = ACTIONS(3603),
    [anon_sym_optional] = ACTIONS(3603),
    [anon_sym_distributed] = ACTIONS(3603),
    [anon_sym_final] = ACTIONS(3603),
    [anon_sym_inout] = ACTIONS(3603),
    [anon_sym_ATescaping] = ACTIONS(3603),
    [anon_sym_ATautoclosure] = ACTIONS(3603),
    [anon_sym_weak] = ACTIONS(3603),
    [anon_sym_unowned] = ACTIONS(3601),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3603),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3603),
    [anon_sym_borrowing] = ACTIONS(3603),
    [anon_sym_consuming] = ACTIONS(3603),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3603),
    [sym__explicit_semi] = ACTIONS(3603),
    [sym__dot_custom] = ACTIONS(3603),
    [sym__conjunction_operator_custom] = ACTIONS(3603),
    [sym__disjunction_operator_custom] = ACTIONS(3603),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3603),
    [sym__eq_custom] = ACTIONS(3603),
    [sym__eq_eq_custom] = ACTIONS(3603),
    [sym__plus_then_ws] = ACTIONS(3603),
    [sym__minus_then_ws] = ACTIONS(3603),
    [sym__bang_custom] = ACTIONS(3603),
    [sym_default_keyword] = ACTIONS(3603),
    [sym__as_custom] = ACTIONS(3603),
    [sym__as_quest_custom] = ACTIONS(3603),
    [sym__as_bang_custom] = ACTIONS(3603),
    [sym__custom_operator] = ACTIONS(3603),
  },
  [1352] = {
    [anon_sym_BANG] = ACTIONS(3649),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3651),
    [anon_sym_package] = ACTIONS(3651),
    [anon_sym_COMMA] = ACTIONS(3651),
    [anon_sym_LPAREN] = ACTIONS(3651),
    [anon_sym_LBRACK] = ACTIONS(3651),
    [anon_sym_QMARK] = ACTIONS(3649),
    [anon_sym_QMARK2] = ACTIONS(3651),
    [anon_sym_AMP] = ACTIONS(3651),
    [aux_sym_custom_operator_token1] = ACTIONS(3651),
    [anon_sym_LT] = ACTIONS(3649),
    [anon_sym_GT] = ACTIONS(3649),
    [anon_sym_LBRACE] = ACTIONS(3651),
    [anon_sym_CARET_LBRACE] = ACTIONS(3651),
    [anon_sym_RBRACE] = ACTIONS(3651),
    [anon_sym_case] = ACTIONS(3651),
    [anon_sym_fallthrough] = ACTIONS(3651),
    [anon_sym_PLUS_EQ] = ACTIONS(3651),
    [anon_sym_DASH_EQ] = ACTIONS(3651),
    [anon_sym_STAR_EQ] = ACTIONS(3651),
    [anon_sym_SLASH_EQ] = ACTIONS(3651),
    [anon_sym_PERCENT_EQ] = ACTIONS(3651),
    [anon_sym_BANG_EQ] = ACTIONS(3649),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3651),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3651),
    [anon_sym_LT_EQ] = ACTIONS(3651),
    [anon_sym_GT_EQ] = ACTIONS(3651),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3651),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3651),
    [anon_sym_is] = ACTIONS(3651),
    [anon_sym_PLUS] = ACTIONS(3649),
    [anon_sym_DASH] = ACTIONS(3649),
    [anon_sym_STAR] = ACTIONS(3649),
    [anon_sym_SLASH] = ACTIONS(3649),
    [anon_sym_PERCENT] = ACTIONS(3649),
    [anon_sym_PLUS_PLUS] = ACTIONS(3651),
    [anon_sym_DASH_DASH] = ACTIONS(3651),
    [anon_sym_PIPE] = ACTIONS(3651),
    [anon_sym_CARET] = ACTIONS(3649),
    [anon_sym_LT_LT] = ACTIONS(3651),
    [anon_sym_GT_GT] = ACTIONS(3651),
    [anon_sym_class] = ACTIONS(3651),
    [anon_sym_prefix] = ACTIONS(3651),
    [anon_sym_infix] = ACTIONS(3651),
    [anon_sym_postfix] = ACTIONS(3651),
    [anon_sym_AT] = ACTIONS(3649),
    [anon_sym_override] = ACTIONS(3651),
    [anon_sym_convenience] = ACTIONS(3651),
    [anon_sym_required] = ACTIONS(3651),
    [anon_sym_nonisolated] = ACTIONS(3651),
    [anon_sym_public] = ACTIONS(3651),
    [anon_sym_private] = ACTIONS(3651),
    [anon_sym_internal] = ACTIONS(3651),
    [anon_sym_fileprivate] = ACTIONS(3651),
    [anon_sym_open] = ACTIONS(3651),
    [anon_sym_mutating] = ACTIONS(3651),
    [anon_sym_nonmutating] = ACTIONS(3651),
    [anon_sym_static] = ACTIONS(3651),
    [anon_sym_dynamic] = ACTIONS(3651),
    [anon_sym_optional] = ACTIONS(3651),
    [anon_sym_distributed] = ACTIONS(3651),
    [anon_sym_final] = ACTIONS(3651),
    [anon_sym_inout] = ACTIONS(3651),
    [anon_sym_ATescaping] = ACTIONS(3651),
    [anon_sym_ATautoclosure] = ACTIONS(3651),
    [anon_sym_weak] = ACTIONS(3651),
    [anon_sym_unowned] = ACTIONS(3649),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3651),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3651),
    [anon_sym_borrowing] = ACTIONS(3651),
    [anon_sym_consuming] = ACTIONS(3651),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3651),
    [sym__explicit_semi] = ACTIONS(3651),
    [sym__dot_custom] = ACTIONS(3651),
    [sym__conjunction_operator_custom] = ACTIONS(3651),
    [sym__disjunction_operator_custom] = ACTIONS(3651),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3651),
    [sym__eq_custom] = ACTIONS(3651),
    [sym__eq_eq_custom] = ACTIONS(3651),
    [sym__plus_then_ws] = ACTIONS(3651),
    [sym__minus_then_ws] = ACTIONS(3651),
    [sym__bang_custom] = ACTIONS(3651),
    [sym_default_keyword] = ACTIONS(3651),
    [sym__as_custom] = ACTIONS(3651),
    [sym__as_quest_custom] = ACTIONS(3651),
    [sym__as_bang_custom] = ACTIONS(3651),
    [sym__custom_operator] = ACTIONS(3651),
  },
  [1353] = {
    [anon_sym_BANG] = ACTIONS(3465),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3467),
    [anon_sym_package] = ACTIONS(3467),
    [anon_sym_COMMA] = ACTIONS(3467),
    [anon_sym_LPAREN] = ACTIONS(3467),
    [anon_sym_LBRACK] = ACTIONS(3467),
    [anon_sym_QMARK] = ACTIONS(3465),
    [anon_sym_QMARK2] = ACTIONS(3467),
    [anon_sym_AMP] = ACTIONS(3467),
    [aux_sym_custom_operator_token1] = ACTIONS(3467),
    [anon_sym_LT] = ACTIONS(3465),
    [anon_sym_GT] = ACTIONS(3465),
    [anon_sym_LBRACE] = ACTIONS(3467),
    [anon_sym_CARET_LBRACE] = ACTIONS(3467),
    [anon_sym_RBRACE] = ACTIONS(3467),
    [anon_sym_case] = ACTIONS(3467),
    [anon_sym_fallthrough] = ACTIONS(3467),
    [anon_sym_PLUS_EQ] = ACTIONS(3467),
    [anon_sym_DASH_EQ] = ACTIONS(3467),
    [anon_sym_STAR_EQ] = ACTIONS(3467),
    [anon_sym_SLASH_EQ] = ACTIONS(3467),
    [anon_sym_PERCENT_EQ] = ACTIONS(3467),
    [anon_sym_BANG_EQ] = ACTIONS(3465),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3467),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3467),
    [anon_sym_LT_EQ] = ACTIONS(3467),
    [anon_sym_GT_EQ] = ACTIONS(3467),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3467),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3467),
    [anon_sym_is] = ACTIONS(3467),
    [anon_sym_PLUS] = ACTIONS(3465),
    [anon_sym_DASH] = ACTIONS(3465),
    [anon_sym_STAR] = ACTIONS(3465),
    [anon_sym_SLASH] = ACTIONS(3465),
    [anon_sym_PERCENT] = ACTIONS(3465),
    [anon_sym_PLUS_PLUS] = ACTIONS(3467),
    [anon_sym_DASH_DASH] = ACTIONS(3467),
    [anon_sym_PIPE] = ACTIONS(3467),
    [anon_sym_CARET] = ACTIONS(3465),
    [anon_sym_LT_LT] = ACTIONS(3467),
    [anon_sym_GT_GT] = ACTIONS(3467),
    [anon_sym_class] = ACTIONS(3467),
    [anon_sym_prefix] = ACTIONS(3467),
    [anon_sym_infix] = ACTIONS(3467),
    [anon_sym_postfix] = ACTIONS(3467),
    [anon_sym_AT] = ACTIONS(3465),
    [anon_sym_override] = ACTIONS(3467),
    [anon_sym_convenience] = ACTIONS(3467),
    [anon_sym_required] = ACTIONS(3467),
    [anon_sym_nonisolated] = ACTIONS(3467),
    [anon_sym_public] = ACTIONS(3467),
    [anon_sym_private] = ACTIONS(3467),
    [anon_sym_internal] = ACTIONS(3467),
    [anon_sym_fileprivate] = ACTIONS(3467),
    [anon_sym_open] = ACTIONS(3467),
    [anon_sym_mutating] = ACTIONS(3467),
    [anon_sym_nonmutating] = ACTIONS(3467),
    [anon_sym_static] = ACTIONS(3467),
    [anon_sym_dynamic] = ACTIONS(3467),
    [anon_sym_optional] = ACTIONS(3467),
    [anon_sym_distributed] = ACTIONS(3467),
    [anon_sym_final] = ACTIONS(3467),
    [anon_sym_inout] = ACTIONS(3467),
    [anon_sym_ATescaping] = ACTIONS(3467),
    [anon_sym_ATautoclosure] = ACTIONS(3467),
    [anon_sym_weak] = ACTIONS(3467),
    [anon_sym_unowned] = ACTIONS(3465),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3467),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3467),
    [anon_sym_borrowing] = ACTIONS(3467),
    [anon_sym_consuming] = ACTIONS(3467),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3467),
    [sym__explicit_semi] = ACTIONS(3467),
    [sym__dot_custom] = ACTIONS(3467),
    [sym__conjunction_operator_custom] = ACTIONS(3467),
    [sym__disjunction_operator_custom] = ACTIONS(3467),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3467),
    [sym__eq_custom] = ACTIONS(3467),
    [sym__eq_eq_custom] = ACTIONS(3467),
    [sym__plus_then_ws] = ACTIONS(3467),
    [sym__minus_then_ws] = ACTIONS(3467),
    [sym__bang_custom] = ACTIONS(3467),
    [sym_default_keyword] = ACTIONS(3467),
    [sym__as_custom] = ACTIONS(3467),
    [sym__as_quest_custom] = ACTIONS(3467),
    [sym__as_bang_custom] = ACTIONS(3467),
    [sym__custom_operator] = ACTIONS(3467),
  },
  [1354] = {
    [anon_sym_BANG] = ACTIONS(3645),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3647),
    [anon_sym_package] = ACTIONS(3647),
    [anon_sym_COMMA] = ACTIONS(3647),
    [anon_sym_LPAREN] = ACTIONS(3647),
    [anon_sym_LBRACK] = ACTIONS(3647),
    [anon_sym_QMARK] = ACTIONS(3645),
    [anon_sym_QMARK2] = ACTIONS(3647),
    [anon_sym_AMP] = ACTIONS(3647),
    [aux_sym_custom_operator_token1] = ACTIONS(3647),
    [anon_sym_LT] = ACTIONS(3645),
    [anon_sym_GT] = ACTIONS(3645),
    [anon_sym_LBRACE] = ACTIONS(3647),
    [anon_sym_CARET_LBRACE] = ACTIONS(3647),
    [anon_sym_RBRACE] = ACTIONS(3647),
    [anon_sym_case] = ACTIONS(3647),
    [anon_sym_fallthrough] = ACTIONS(3647),
    [anon_sym_PLUS_EQ] = ACTIONS(3647),
    [anon_sym_DASH_EQ] = ACTIONS(3647),
    [anon_sym_STAR_EQ] = ACTIONS(3647),
    [anon_sym_SLASH_EQ] = ACTIONS(3647),
    [anon_sym_PERCENT_EQ] = ACTIONS(3647),
    [anon_sym_BANG_EQ] = ACTIONS(3645),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3647),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3647),
    [anon_sym_LT_EQ] = ACTIONS(3647),
    [anon_sym_GT_EQ] = ACTIONS(3647),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3647),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3647),
    [anon_sym_is] = ACTIONS(3647),
    [anon_sym_PLUS] = ACTIONS(3645),
    [anon_sym_DASH] = ACTIONS(3645),
    [anon_sym_STAR] = ACTIONS(3645),
    [anon_sym_SLASH] = ACTIONS(3645),
    [anon_sym_PERCENT] = ACTIONS(3645),
    [anon_sym_PLUS_PLUS] = ACTIONS(3647),
    [anon_sym_DASH_DASH] = ACTIONS(3647),
    [anon_sym_PIPE] = ACTIONS(3647),
    [anon_sym_CARET] = ACTIONS(3645),
    [anon_sym_LT_LT] = ACTIONS(3647),
    [anon_sym_GT_GT] = ACTIONS(3647),
    [anon_sym_class] = ACTIONS(3647),
    [anon_sym_prefix] = ACTIONS(3647),
    [anon_sym_infix] = ACTIONS(3647),
    [anon_sym_postfix] = ACTIONS(3647),
    [anon_sym_AT] = ACTIONS(3645),
    [anon_sym_override] = ACTIONS(3647),
    [anon_sym_convenience] = ACTIONS(3647),
    [anon_sym_required] = ACTIONS(3647),
    [anon_sym_nonisolated] = ACTIONS(3647),
    [anon_sym_public] = ACTIONS(3647),
    [anon_sym_private] = ACTIONS(3647),
    [anon_sym_internal] = ACTIONS(3647),
    [anon_sym_fileprivate] = ACTIONS(3647),
    [anon_sym_open] = ACTIONS(3647),
    [anon_sym_mutating] = ACTIONS(3647),
    [anon_sym_nonmutating] = ACTIONS(3647),
    [anon_sym_static] = ACTIONS(3647),
    [anon_sym_dynamic] = ACTIONS(3647),
    [anon_sym_optional] = ACTIONS(3647),
    [anon_sym_distributed] = ACTIONS(3647),
    [anon_sym_final] = ACTIONS(3647),
    [anon_sym_inout] = ACTIONS(3647),
    [anon_sym_ATescaping] = ACTIONS(3647),
    [anon_sym_ATautoclosure] = ACTIONS(3647),
    [anon_sym_weak] = ACTIONS(3647),
    [anon_sym_unowned] = ACTIONS(3645),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3647),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3647),
    [anon_sym_borrowing] = ACTIONS(3647),
    [anon_sym_consuming] = ACTIONS(3647),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3647),
    [sym__explicit_semi] = ACTIONS(3647),
    [sym__dot_custom] = ACTIONS(3647),
    [sym__conjunction_operator_custom] = ACTIONS(3647),
    [sym__disjunction_operator_custom] = ACTIONS(3647),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3647),
    [sym__eq_custom] = ACTIONS(3647),
    [sym__eq_eq_custom] = ACTIONS(3647),
    [sym__plus_then_ws] = ACTIONS(3647),
    [sym__minus_then_ws] = ACTIONS(3647),
    [sym__bang_custom] = ACTIONS(3647),
    [sym_default_keyword] = ACTIONS(3647),
    [sym__as_custom] = ACTIONS(3647),
    [sym__as_quest_custom] = ACTIONS(3647),
    [sym__as_bang_custom] = ACTIONS(3647),
    [sym__custom_operator] = ACTIONS(3647),
  },
  [1355] = {
    [anon_sym_BANG] = ACTIONS(3405),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3407),
    [anon_sym_package] = ACTIONS(3407),
    [anon_sym_COMMA] = ACTIONS(3407),
    [anon_sym_LPAREN] = ACTIONS(3407),
    [anon_sym_LBRACK] = ACTIONS(3407),
    [anon_sym_QMARK] = ACTIONS(3405),
    [anon_sym_QMARK2] = ACTIONS(3407),
    [anon_sym_AMP] = ACTIONS(3407),
    [aux_sym_custom_operator_token1] = ACTIONS(3407),
    [anon_sym_LT] = ACTIONS(3405),
    [anon_sym_GT] = ACTIONS(3405),
    [anon_sym_LBRACE] = ACTIONS(3407),
    [anon_sym_CARET_LBRACE] = ACTIONS(3407),
    [anon_sym_RBRACE] = ACTIONS(3407),
    [anon_sym_case] = ACTIONS(3407),
    [anon_sym_fallthrough] = ACTIONS(3407),
    [anon_sym_PLUS_EQ] = ACTIONS(3407),
    [anon_sym_DASH_EQ] = ACTIONS(3407),
    [anon_sym_STAR_EQ] = ACTIONS(3407),
    [anon_sym_SLASH_EQ] = ACTIONS(3407),
    [anon_sym_PERCENT_EQ] = ACTIONS(3407),
    [anon_sym_BANG_EQ] = ACTIONS(3405),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3407),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3407),
    [anon_sym_LT_EQ] = ACTIONS(3407),
    [anon_sym_GT_EQ] = ACTIONS(3407),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3407),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3407),
    [anon_sym_is] = ACTIONS(3407),
    [anon_sym_PLUS] = ACTIONS(3405),
    [anon_sym_DASH] = ACTIONS(3405),
    [anon_sym_STAR] = ACTIONS(3405),
    [anon_sym_SLASH] = ACTIONS(3405),
    [anon_sym_PERCENT] = ACTIONS(3405),
    [anon_sym_PLUS_PLUS] = ACTIONS(3407),
    [anon_sym_DASH_DASH] = ACTIONS(3407),
    [anon_sym_PIPE] = ACTIONS(3407),
    [anon_sym_CARET] = ACTIONS(3405),
    [anon_sym_LT_LT] = ACTIONS(3407),
    [anon_sym_GT_GT] = ACTIONS(3407),
    [anon_sym_class] = ACTIONS(3407),
    [anon_sym_prefix] = ACTIONS(3407),
    [anon_sym_infix] = ACTIONS(3407),
    [anon_sym_postfix] = ACTIONS(3407),
    [anon_sym_AT] = ACTIONS(3405),
    [anon_sym_override] = ACTIONS(3407),
    [anon_sym_convenience] = ACTIONS(3407),
    [anon_sym_required] = ACTIONS(3407),
    [anon_sym_nonisolated] = ACTIONS(3407),
    [anon_sym_public] = ACTIONS(3407),
    [anon_sym_private] = ACTIONS(3407),
    [anon_sym_internal] = ACTIONS(3407),
    [anon_sym_fileprivate] = ACTIONS(3407),
    [anon_sym_open] = ACTIONS(3407),
    [anon_sym_mutating] = ACTIONS(3407),
    [anon_sym_nonmutating] = ACTIONS(3407),
    [anon_sym_static] = ACTIONS(3407),
    [anon_sym_dynamic] = ACTIONS(3407),
    [anon_sym_optional] = ACTIONS(3407),
    [anon_sym_distributed] = ACTIONS(3407),
    [anon_sym_final] = ACTIONS(3407),
    [anon_sym_inout] = ACTIONS(3407),
    [anon_sym_ATescaping] = ACTIONS(3407),
    [anon_sym_ATautoclosure] = ACTIONS(3407),
    [anon_sym_weak] = ACTIONS(3407),
    [anon_sym_unowned] = ACTIONS(3405),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3407),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3407),
    [anon_sym_borrowing] = ACTIONS(3407),
    [anon_sym_consuming] = ACTIONS(3407),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3407),
    [sym__explicit_semi] = ACTIONS(3407),
    [sym__dot_custom] = ACTIONS(3407),
    [sym__conjunction_operator_custom] = ACTIONS(3407),
    [sym__disjunction_operator_custom] = ACTIONS(3407),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3407),
    [sym__eq_custom] = ACTIONS(3407),
    [sym__eq_eq_custom] = ACTIONS(3407),
    [sym__plus_then_ws] = ACTIONS(3407),
    [sym__minus_then_ws] = ACTIONS(3407),
    [sym__bang_custom] = ACTIONS(3407),
    [sym_default_keyword] = ACTIONS(3407),
    [sym__as_custom] = ACTIONS(3407),
    [sym__as_quest_custom] = ACTIONS(3407),
    [sym__as_bang_custom] = ACTIONS(3407),
    [sym__custom_operator] = ACTIONS(3407),
  },
  [1356] = {
    [anon_sym_BANG] = ACTIONS(3213),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3215),
    [anon_sym_package] = ACTIONS(3215),
    [anon_sym_COMMA] = ACTIONS(3215),
    [anon_sym_LPAREN] = ACTIONS(3215),
    [anon_sym_LBRACK] = ACTIONS(3215),
    [anon_sym_QMARK] = ACTIONS(3213),
    [anon_sym_QMARK2] = ACTIONS(3215),
    [anon_sym_AMP] = ACTIONS(3215),
    [aux_sym_custom_operator_token1] = ACTIONS(3215),
    [anon_sym_LT] = ACTIONS(3213),
    [anon_sym_GT] = ACTIONS(3213),
    [anon_sym_LBRACE] = ACTIONS(3215),
    [anon_sym_CARET_LBRACE] = ACTIONS(3215),
    [anon_sym_RBRACE] = ACTIONS(3215),
    [anon_sym_case] = ACTIONS(3215),
    [anon_sym_fallthrough] = ACTIONS(3215),
    [anon_sym_PLUS_EQ] = ACTIONS(3215),
    [anon_sym_DASH_EQ] = ACTIONS(3215),
    [anon_sym_STAR_EQ] = ACTIONS(3215),
    [anon_sym_SLASH_EQ] = ACTIONS(3215),
    [anon_sym_PERCENT_EQ] = ACTIONS(3215),
    [anon_sym_BANG_EQ] = ACTIONS(3213),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3215),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3215),
    [anon_sym_LT_EQ] = ACTIONS(3215),
    [anon_sym_GT_EQ] = ACTIONS(3215),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3215),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3215),
    [anon_sym_is] = ACTIONS(3215),
    [anon_sym_PLUS] = ACTIONS(3213),
    [anon_sym_DASH] = ACTIONS(3213),
    [anon_sym_STAR] = ACTIONS(3213),
    [anon_sym_SLASH] = ACTIONS(3213),
    [anon_sym_PERCENT] = ACTIONS(3213),
    [anon_sym_PLUS_PLUS] = ACTIONS(3215),
    [anon_sym_DASH_DASH] = ACTIONS(3215),
    [anon_sym_PIPE] = ACTIONS(3215),
    [anon_sym_CARET] = ACTIONS(3213),
    [anon_sym_LT_LT] = ACTIONS(3215),
    [anon_sym_GT_GT] = ACTIONS(3215),
    [anon_sym_class] = ACTIONS(3215),
    [anon_sym_prefix] = ACTIONS(3215),
    [anon_sym_infix] = ACTIONS(3215),
    [anon_sym_postfix] = ACTIONS(3215),
    [anon_sym_AT] = ACTIONS(3213),
    [anon_sym_override] = ACTIONS(3215),
    [anon_sym_convenience] = ACTIONS(3215),
    [anon_sym_required] = ACTIONS(3215),
    [anon_sym_nonisolated] = ACTIONS(3215),
    [anon_sym_public] = ACTIONS(3215),
    [anon_sym_private] = ACTIONS(3215),
    [anon_sym_internal] = ACTIONS(3215),
    [anon_sym_fileprivate] = ACTIONS(3215),
    [anon_sym_open] = ACTIONS(3215),
    [anon_sym_mutating] = ACTIONS(3215),
    [anon_sym_nonmutating] = ACTIONS(3215),
    [anon_sym_static] = ACTIONS(3215),
    [anon_sym_dynamic] = ACTIONS(3215),
    [anon_sym_optional] = ACTIONS(3215),
    [anon_sym_distributed] = ACTIONS(3215),
    [anon_sym_final] = ACTIONS(3215),
    [anon_sym_inout] = ACTIONS(3215),
    [anon_sym_ATescaping] = ACTIONS(3215),
    [anon_sym_ATautoclosure] = ACTIONS(3215),
    [anon_sym_weak] = ACTIONS(3215),
    [anon_sym_unowned] = ACTIONS(3213),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3215),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3215),
    [anon_sym_borrowing] = ACTIONS(3215),
    [anon_sym_consuming] = ACTIONS(3215),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3215),
    [sym__explicit_semi] = ACTIONS(3215),
    [sym__dot_custom] = ACTIONS(3215),
    [sym__conjunction_operator_custom] = ACTIONS(3215),
    [sym__disjunction_operator_custom] = ACTIONS(3215),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3215),
    [sym__eq_custom] = ACTIONS(3215),
    [sym__eq_eq_custom] = ACTIONS(3215),
    [sym__plus_then_ws] = ACTIONS(3215),
    [sym__minus_then_ws] = ACTIONS(3215),
    [sym__bang_custom] = ACTIONS(3215),
    [sym_default_keyword] = ACTIONS(3215),
    [sym__as_custom] = ACTIONS(3215),
    [sym__as_quest_custom] = ACTIONS(3215),
    [sym__as_bang_custom] = ACTIONS(3215),
    [sym__custom_operator] = ACTIONS(3215),
  },
  [1357] = {
    [anon_sym_BANG] = ACTIONS(3397),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3399),
    [anon_sym_package] = ACTIONS(3399),
    [anon_sym_COMMA] = ACTIONS(3399),
    [anon_sym_LPAREN] = ACTIONS(3399),
    [anon_sym_LBRACK] = ACTIONS(3399),
    [anon_sym_QMARK] = ACTIONS(3397),
    [anon_sym_QMARK2] = ACTIONS(3399),
    [anon_sym_AMP] = ACTIONS(3399),
    [aux_sym_custom_operator_token1] = ACTIONS(3399),
    [anon_sym_LT] = ACTIONS(3397),
    [anon_sym_GT] = ACTIONS(3397),
    [anon_sym_LBRACE] = ACTIONS(3399),
    [anon_sym_CARET_LBRACE] = ACTIONS(3399),
    [anon_sym_RBRACE] = ACTIONS(3399),
    [anon_sym_case] = ACTIONS(3399),
    [anon_sym_fallthrough] = ACTIONS(3399),
    [anon_sym_PLUS_EQ] = ACTIONS(3399),
    [anon_sym_DASH_EQ] = ACTIONS(3399),
    [anon_sym_STAR_EQ] = ACTIONS(3399),
    [anon_sym_SLASH_EQ] = ACTIONS(3399),
    [anon_sym_PERCENT_EQ] = ACTIONS(3399),
    [anon_sym_BANG_EQ] = ACTIONS(3397),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3399),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3399),
    [anon_sym_LT_EQ] = ACTIONS(3399),
    [anon_sym_GT_EQ] = ACTIONS(3399),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3399),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3399),
    [anon_sym_is] = ACTIONS(3399),
    [anon_sym_PLUS] = ACTIONS(3397),
    [anon_sym_DASH] = ACTIONS(3397),
    [anon_sym_STAR] = ACTIONS(3397),
    [anon_sym_SLASH] = ACTIONS(3397),
    [anon_sym_PERCENT] = ACTIONS(3397),
    [anon_sym_PLUS_PLUS] = ACTIONS(3399),
    [anon_sym_DASH_DASH] = ACTIONS(3399),
    [anon_sym_PIPE] = ACTIONS(3399),
    [anon_sym_CARET] = ACTIONS(3397),
    [anon_sym_LT_LT] = ACTIONS(3399),
    [anon_sym_GT_GT] = ACTIONS(3399),
    [anon_sym_class] = ACTIONS(3399),
    [anon_sym_prefix] = ACTIONS(3399),
    [anon_sym_infix] = ACTIONS(3399),
    [anon_sym_postfix] = ACTIONS(3399),
    [anon_sym_AT] = ACTIONS(3397),
    [anon_sym_override] = ACTIONS(3399),
    [anon_sym_convenience] = ACTIONS(3399),
    [anon_sym_required] = ACTIONS(3399),
    [anon_sym_nonisolated] = ACTIONS(3399),
    [anon_sym_public] = ACTIONS(3399),
    [anon_sym_private] = ACTIONS(3399),
    [anon_sym_internal] = ACTIONS(3399),
    [anon_sym_fileprivate] = ACTIONS(3399),
    [anon_sym_open] = ACTIONS(3399),
    [anon_sym_mutating] = ACTIONS(3399),
    [anon_sym_nonmutating] = ACTIONS(3399),
    [anon_sym_static] = ACTIONS(3399),
    [anon_sym_dynamic] = ACTIONS(3399),
    [anon_sym_optional] = ACTIONS(3399),
    [anon_sym_distributed] = ACTIONS(3399),
    [anon_sym_final] = ACTIONS(3399),
    [anon_sym_inout] = ACTIONS(3399),
    [anon_sym_ATescaping] = ACTIONS(3399),
    [anon_sym_ATautoclosure] = ACTIONS(3399),
    [anon_sym_weak] = ACTIONS(3399),
    [anon_sym_unowned] = ACTIONS(3397),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3399),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3399),
    [anon_sym_borrowing] = ACTIONS(3399),
    [anon_sym_consuming] = ACTIONS(3399),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3399),
    [sym__explicit_semi] = ACTIONS(3399),
    [sym__dot_custom] = ACTIONS(3399),
    [sym__conjunction_operator_custom] = ACTIONS(3399),
    [sym__disjunction_operator_custom] = ACTIONS(3399),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3399),
    [sym__eq_custom] = ACTIONS(3399),
    [sym__eq_eq_custom] = ACTIONS(3399),
    [sym__plus_then_ws] = ACTIONS(3399),
    [sym__minus_then_ws] = ACTIONS(3399),
    [sym__bang_custom] = ACTIONS(3399),
    [sym_default_keyword] = ACTIONS(3399),
    [sym__as_custom] = ACTIONS(3399),
    [sym__as_quest_custom] = ACTIONS(3399),
    [sym__as_bang_custom] = ACTIONS(3399),
    [sym__custom_operator] = ACTIONS(3399),
  },
  [1358] = {
    [anon_sym_BANG] = ACTIONS(3629),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3631),
    [anon_sym_package] = ACTIONS(3631),
    [anon_sym_COMMA] = ACTIONS(3631),
    [anon_sym_LPAREN] = ACTIONS(3631),
    [anon_sym_LBRACK] = ACTIONS(3631),
    [anon_sym_QMARK] = ACTIONS(3629),
    [anon_sym_QMARK2] = ACTIONS(3631),
    [anon_sym_AMP] = ACTIONS(3631),
    [aux_sym_custom_operator_token1] = ACTIONS(3631),
    [anon_sym_LT] = ACTIONS(3629),
    [anon_sym_GT] = ACTIONS(3629),
    [anon_sym_LBRACE] = ACTIONS(3631),
    [anon_sym_CARET_LBRACE] = ACTIONS(3631),
    [anon_sym_RBRACE] = ACTIONS(3631),
    [anon_sym_case] = ACTIONS(3631),
    [anon_sym_fallthrough] = ACTIONS(3631),
    [anon_sym_PLUS_EQ] = ACTIONS(3631),
    [anon_sym_DASH_EQ] = ACTIONS(3631),
    [anon_sym_STAR_EQ] = ACTIONS(3631),
    [anon_sym_SLASH_EQ] = ACTIONS(3631),
    [anon_sym_PERCENT_EQ] = ACTIONS(3631),
    [anon_sym_BANG_EQ] = ACTIONS(3629),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3631),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3631),
    [anon_sym_LT_EQ] = ACTIONS(3631),
    [anon_sym_GT_EQ] = ACTIONS(3631),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3631),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3631),
    [anon_sym_is] = ACTIONS(3631),
    [anon_sym_PLUS] = ACTIONS(3629),
    [anon_sym_DASH] = ACTIONS(3629),
    [anon_sym_STAR] = ACTIONS(3629),
    [anon_sym_SLASH] = ACTIONS(3629),
    [anon_sym_PERCENT] = ACTIONS(3629),
    [anon_sym_PLUS_PLUS] = ACTIONS(3631),
    [anon_sym_DASH_DASH] = ACTIONS(3631),
    [anon_sym_PIPE] = ACTIONS(3631),
    [anon_sym_CARET] = ACTIONS(3629),
    [anon_sym_LT_LT] = ACTIONS(3631),
    [anon_sym_GT_GT] = ACTIONS(3631),
    [anon_sym_class] = ACTIONS(3631),
    [anon_sym_prefix] = ACTIONS(3631),
    [anon_sym_infix] = ACTIONS(3631),
    [anon_sym_postfix] = ACTIONS(3631),
    [anon_sym_AT] = ACTIONS(3629),
    [anon_sym_override] = ACTIONS(3631),
    [anon_sym_convenience] = ACTIONS(3631),
    [anon_sym_required] = ACTIONS(3631),
    [anon_sym_nonisolated] = ACTIONS(3631),
    [anon_sym_public] = ACTIONS(3631),
    [anon_sym_private] = ACTIONS(3631),
    [anon_sym_internal] = ACTIONS(3631),
    [anon_sym_fileprivate] = ACTIONS(3631),
    [anon_sym_open] = ACTIONS(3631),
    [anon_sym_mutating] = ACTIONS(3631),
    [anon_sym_nonmutating] = ACTIONS(3631),
    [anon_sym_static] = ACTIONS(3631),
    [anon_sym_dynamic] = ACTIONS(3631),
    [anon_sym_optional] = ACTIONS(3631),
    [anon_sym_distributed] = ACTIONS(3631),
    [anon_sym_final] = ACTIONS(3631),
    [anon_sym_inout] = ACTIONS(3631),
    [anon_sym_ATescaping] = ACTIONS(3631),
    [anon_sym_ATautoclosure] = ACTIONS(3631),
    [anon_sym_weak] = ACTIONS(3631),
    [anon_sym_unowned] = ACTIONS(3629),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3631),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3631),
    [anon_sym_borrowing] = ACTIONS(3631),
    [anon_sym_consuming] = ACTIONS(3631),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3631),
    [sym__explicit_semi] = ACTIONS(3631),
    [sym__dot_custom] = ACTIONS(3631),
    [sym__conjunction_operator_custom] = ACTIONS(3631),
    [sym__disjunction_operator_custom] = ACTIONS(3631),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3631),
    [sym__eq_custom] = ACTIONS(3631),
    [sym__eq_eq_custom] = ACTIONS(3631),
    [sym__plus_then_ws] = ACTIONS(3631),
    [sym__minus_then_ws] = ACTIONS(3631),
    [sym__bang_custom] = ACTIONS(3631),
    [sym_default_keyword] = ACTIONS(3631),
    [sym__as_custom] = ACTIONS(3631),
    [sym__as_quest_custom] = ACTIONS(3631),
    [sym__as_bang_custom] = ACTIONS(3631),
    [sym__custom_operator] = ACTIONS(3631),
  },
  [1359] = {
    [anon_sym_BANG] = ACTIONS(3225),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3227),
    [anon_sym_package] = ACTIONS(3227),
    [anon_sym_COMMA] = ACTIONS(3227),
    [anon_sym_LPAREN] = ACTIONS(3227),
    [anon_sym_LBRACK] = ACTIONS(3227),
    [anon_sym_QMARK] = ACTIONS(3225),
    [anon_sym_QMARK2] = ACTIONS(3227),
    [anon_sym_AMP] = ACTIONS(3227),
    [aux_sym_custom_operator_token1] = ACTIONS(3227),
    [anon_sym_LT] = ACTIONS(3225),
    [anon_sym_GT] = ACTIONS(3225),
    [anon_sym_LBRACE] = ACTIONS(3227),
    [anon_sym_CARET_LBRACE] = ACTIONS(3227),
    [anon_sym_RBRACE] = ACTIONS(3227),
    [anon_sym_case] = ACTIONS(3227),
    [anon_sym_fallthrough] = ACTIONS(3227),
    [anon_sym_PLUS_EQ] = ACTIONS(3227),
    [anon_sym_DASH_EQ] = ACTIONS(3227),
    [anon_sym_STAR_EQ] = ACTIONS(3227),
    [anon_sym_SLASH_EQ] = ACTIONS(3227),
    [anon_sym_PERCENT_EQ] = ACTIONS(3227),
    [anon_sym_BANG_EQ] = ACTIONS(3225),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3227),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3227),
    [anon_sym_LT_EQ] = ACTIONS(3227),
    [anon_sym_GT_EQ] = ACTIONS(3227),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3227),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3227),
    [anon_sym_is] = ACTIONS(3227),
    [anon_sym_PLUS] = ACTIONS(3225),
    [anon_sym_DASH] = ACTIONS(3225),
    [anon_sym_STAR] = ACTIONS(3225),
    [anon_sym_SLASH] = ACTIONS(3225),
    [anon_sym_PERCENT] = ACTIONS(3225),
    [anon_sym_PLUS_PLUS] = ACTIONS(3227),
    [anon_sym_DASH_DASH] = ACTIONS(3227),
    [anon_sym_PIPE] = ACTIONS(3227),
    [anon_sym_CARET] = ACTIONS(3225),
    [anon_sym_LT_LT] = ACTIONS(3227),
    [anon_sym_GT_GT] = ACTIONS(3227),
    [anon_sym_class] = ACTIONS(3227),
    [anon_sym_prefix] = ACTIONS(3227),
    [anon_sym_infix] = ACTIONS(3227),
    [anon_sym_postfix] = ACTIONS(3227),
    [anon_sym_AT] = ACTIONS(3225),
    [anon_sym_override] = ACTIONS(3227),
    [anon_sym_convenience] = ACTIONS(3227),
    [anon_sym_required] = ACTIONS(3227),
    [anon_sym_nonisolated] = ACTIONS(3227),
    [anon_sym_public] = ACTIONS(3227),
    [anon_sym_private] = ACTIONS(3227),
    [anon_sym_internal] = ACTIONS(3227),
    [anon_sym_fileprivate] = ACTIONS(3227),
    [anon_sym_open] = ACTIONS(3227),
    [anon_sym_mutating] = ACTIONS(3227),
    [anon_sym_nonmutating] = ACTIONS(3227),
    [anon_sym_static] = ACTIONS(3227),
    [anon_sym_dynamic] = ACTIONS(3227),
    [anon_sym_optional] = ACTIONS(3227),
    [anon_sym_distributed] = ACTIONS(3227),
    [anon_sym_final] = ACTIONS(3227),
    [anon_sym_inout] = ACTIONS(3227),
    [anon_sym_ATescaping] = ACTIONS(3227),
    [anon_sym_ATautoclosure] = ACTIONS(3227),
    [anon_sym_weak] = ACTIONS(3227),
    [anon_sym_unowned] = ACTIONS(3225),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3227),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3227),
    [anon_sym_borrowing] = ACTIONS(3227),
    [anon_sym_consuming] = ACTIONS(3227),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3227),
    [sym__explicit_semi] = ACTIONS(3227),
    [sym__dot_custom] = ACTIONS(3227),
    [sym__conjunction_operator_custom] = ACTIONS(3227),
    [sym__disjunction_operator_custom] = ACTIONS(3227),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3227),
    [sym__eq_custom] = ACTIONS(3227),
    [sym__eq_eq_custom] = ACTIONS(3227),
    [sym__plus_then_ws] = ACTIONS(3227),
    [sym__minus_then_ws] = ACTIONS(3227),
    [sym__bang_custom] = ACTIONS(3227),
    [sym_default_keyword] = ACTIONS(3227),
    [sym__as_custom] = ACTIONS(3227),
    [sym__as_quest_custom] = ACTIONS(3227),
    [sym__as_bang_custom] = ACTIONS(3227),
    [sym__custom_operator] = ACTIONS(3227),
  },
  [1360] = {
    [anon_sym_BANG] = ACTIONS(3653),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3655),
    [anon_sym_package] = ACTIONS(3655),
    [anon_sym_COMMA] = ACTIONS(3655),
    [anon_sym_LPAREN] = ACTIONS(3655),
    [anon_sym_LBRACK] = ACTIONS(3655),
    [anon_sym_QMARK] = ACTIONS(3653),
    [anon_sym_QMARK2] = ACTIONS(3655),
    [anon_sym_AMP] = ACTIONS(3655),
    [aux_sym_custom_operator_token1] = ACTIONS(3655),
    [anon_sym_LT] = ACTIONS(3653),
    [anon_sym_GT] = ACTIONS(3653),
    [anon_sym_LBRACE] = ACTIONS(3655),
    [anon_sym_CARET_LBRACE] = ACTIONS(3655),
    [anon_sym_RBRACE] = ACTIONS(3655),
    [anon_sym_case] = ACTIONS(3655),
    [anon_sym_fallthrough] = ACTIONS(3655),
    [anon_sym_PLUS_EQ] = ACTIONS(3655),
    [anon_sym_DASH_EQ] = ACTIONS(3655),
    [anon_sym_STAR_EQ] = ACTIONS(3655),
    [anon_sym_SLASH_EQ] = ACTIONS(3655),
    [anon_sym_PERCENT_EQ] = ACTIONS(3655),
    [anon_sym_BANG_EQ] = ACTIONS(3653),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3655),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3655),
    [anon_sym_LT_EQ] = ACTIONS(3655),
    [anon_sym_GT_EQ] = ACTIONS(3655),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3655),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3655),
    [anon_sym_is] = ACTIONS(3655),
    [anon_sym_PLUS] = ACTIONS(3653),
    [anon_sym_DASH] = ACTIONS(3653),
    [anon_sym_STAR] = ACTIONS(3653),
    [anon_sym_SLASH] = ACTIONS(3653),
    [anon_sym_PERCENT] = ACTIONS(3653),
    [anon_sym_PLUS_PLUS] = ACTIONS(3655),
    [anon_sym_DASH_DASH] = ACTIONS(3655),
    [anon_sym_PIPE] = ACTIONS(3655),
    [anon_sym_CARET] = ACTIONS(3653),
    [anon_sym_LT_LT] = ACTIONS(3655),
    [anon_sym_GT_GT] = ACTIONS(3655),
    [anon_sym_class] = ACTIONS(3655),
    [anon_sym_prefix] = ACTIONS(3655),
    [anon_sym_infix] = ACTIONS(3655),
    [anon_sym_postfix] = ACTIONS(3655),
    [anon_sym_AT] = ACTIONS(3653),
    [anon_sym_override] = ACTIONS(3655),
    [anon_sym_convenience] = ACTIONS(3655),
    [anon_sym_required] = ACTIONS(3655),
    [anon_sym_nonisolated] = ACTIONS(3655),
    [anon_sym_public] = ACTIONS(3655),
    [anon_sym_private] = ACTIONS(3655),
    [anon_sym_internal] = ACTIONS(3655),
    [anon_sym_fileprivate] = ACTIONS(3655),
    [anon_sym_open] = ACTIONS(3655),
    [anon_sym_mutating] = ACTIONS(3655),
    [anon_sym_nonmutating] = ACTIONS(3655),
    [anon_sym_static] = ACTIONS(3655),
    [anon_sym_dynamic] = ACTIONS(3655),
    [anon_sym_optional] = ACTIONS(3655),
    [anon_sym_distributed] = ACTIONS(3655),
    [anon_sym_final] = ACTIONS(3655),
    [anon_sym_inout] = ACTIONS(3655),
    [anon_sym_ATescaping] = ACTIONS(3655),
    [anon_sym_ATautoclosure] = ACTIONS(3655),
    [anon_sym_weak] = ACTIONS(3655),
    [anon_sym_unowned] = ACTIONS(3653),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3655),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3655),
    [anon_sym_borrowing] = ACTIONS(3655),
    [anon_sym_consuming] = ACTIONS(3655),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3655),
    [sym__explicit_semi] = ACTIONS(3655),
    [sym__dot_custom] = ACTIONS(3655),
    [sym__conjunction_operator_custom] = ACTIONS(3655),
    [sym__disjunction_operator_custom] = ACTIONS(3655),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3655),
    [sym__eq_custom] = ACTIONS(3655),
    [sym__eq_eq_custom] = ACTIONS(3655),
    [sym__plus_then_ws] = ACTIONS(3655),
    [sym__minus_then_ws] = ACTIONS(3655),
    [sym__bang_custom] = ACTIONS(3655),
    [sym_default_keyword] = ACTIONS(3655),
    [sym__as_custom] = ACTIONS(3655),
    [sym__as_quest_custom] = ACTIONS(3655),
    [sym__as_bang_custom] = ACTIONS(3655),
    [sym__custom_operator] = ACTIONS(3655),
  },
  [1361] = {
    [anon_sym_BANG] = ACTIONS(3657),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3659),
    [anon_sym_package] = ACTIONS(3659),
    [anon_sym_COMMA] = ACTIONS(3659),
    [anon_sym_LPAREN] = ACTIONS(3659),
    [anon_sym_LBRACK] = ACTIONS(3659),
    [anon_sym_QMARK] = ACTIONS(3657),
    [anon_sym_QMARK2] = ACTIONS(3659),
    [anon_sym_AMP] = ACTIONS(3659),
    [aux_sym_custom_operator_token1] = ACTIONS(3659),
    [anon_sym_LT] = ACTIONS(3657),
    [anon_sym_GT] = ACTIONS(3657),
    [anon_sym_LBRACE] = ACTIONS(3659),
    [anon_sym_CARET_LBRACE] = ACTIONS(3659),
    [anon_sym_RBRACE] = ACTIONS(3659),
    [anon_sym_case] = ACTIONS(3659),
    [anon_sym_fallthrough] = ACTIONS(3659),
    [anon_sym_PLUS_EQ] = ACTIONS(3659),
    [anon_sym_DASH_EQ] = ACTIONS(3659),
    [anon_sym_STAR_EQ] = ACTIONS(3659),
    [anon_sym_SLASH_EQ] = ACTIONS(3659),
    [anon_sym_PERCENT_EQ] = ACTIONS(3659),
    [anon_sym_BANG_EQ] = ACTIONS(3657),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3659),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3659),
    [anon_sym_LT_EQ] = ACTIONS(3659),
    [anon_sym_GT_EQ] = ACTIONS(3659),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3659),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3659),
    [anon_sym_is] = ACTIONS(3659),
    [anon_sym_PLUS] = ACTIONS(3657),
    [anon_sym_DASH] = ACTIONS(3657),
    [anon_sym_STAR] = ACTIONS(3657),
    [anon_sym_SLASH] = ACTIONS(3657),
    [anon_sym_PERCENT] = ACTIONS(3657),
    [anon_sym_PLUS_PLUS] = ACTIONS(3659),
    [anon_sym_DASH_DASH] = ACTIONS(3659),
    [anon_sym_PIPE] = ACTIONS(3659),
    [anon_sym_CARET] = ACTIONS(3657),
    [anon_sym_LT_LT] = ACTIONS(3659),
    [anon_sym_GT_GT] = ACTIONS(3659),
    [anon_sym_class] = ACTIONS(3659),
    [anon_sym_prefix] = ACTIONS(3659),
    [anon_sym_infix] = ACTIONS(3659),
    [anon_sym_postfix] = ACTIONS(3659),
    [anon_sym_AT] = ACTIONS(3657),
    [anon_sym_override] = ACTIONS(3659),
    [anon_sym_convenience] = ACTIONS(3659),
    [anon_sym_required] = ACTIONS(3659),
    [anon_sym_nonisolated] = ACTIONS(3659),
    [anon_sym_public] = ACTIONS(3659),
    [anon_sym_private] = ACTIONS(3659),
    [anon_sym_internal] = ACTIONS(3659),
    [anon_sym_fileprivate] = ACTIONS(3659),
    [anon_sym_open] = ACTIONS(3659),
    [anon_sym_mutating] = ACTIONS(3659),
    [anon_sym_nonmutating] = ACTIONS(3659),
    [anon_sym_static] = ACTIONS(3659),
    [anon_sym_dynamic] = ACTIONS(3659),
    [anon_sym_optional] = ACTIONS(3659),
    [anon_sym_distributed] = ACTIONS(3659),
    [anon_sym_final] = ACTIONS(3659),
    [anon_sym_inout] = ACTIONS(3659),
    [anon_sym_ATescaping] = ACTIONS(3659),
    [anon_sym_ATautoclosure] = ACTIONS(3659),
    [anon_sym_weak] = ACTIONS(3659),
    [anon_sym_unowned] = ACTIONS(3657),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3659),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3659),
    [anon_sym_borrowing] = ACTIONS(3659),
    [anon_sym_consuming] = ACTIONS(3659),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3659),
    [sym__explicit_semi] = ACTIONS(3659),
    [sym__dot_custom] = ACTIONS(3659),
    [sym__conjunction_operator_custom] = ACTIONS(3659),
    [sym__disjunction_operator_custom] = ACTIONS(3659),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3659),
    [sym__eq_custom] = ACTIONS(3659),
    [sym__eq_eq_custom] = ACTIONS(3659),
    [sym__plus_then_ws] = ACTIONS(3659),
    [sym__minus_then_ws] = ACTIONS(3659),
    [sym__bang_custom] = ACTIONS(3659),
    [sym_default_keyword] = ACTIONS(3659),
    [sym__as_custom] = ACTIONS(3659),
    [sym__as_quest_custom] = ACTIONS(3659),
    [sym__as_bang_custom] = ACTIONS(3659),
    [sym__custom_operator] = ACTIONS(3659),
  },
  [1362] = {
    [anon_sym_BANG] = ACTIONS(3577),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3579),
    [anon_sym_package] = ACTIONS(3579),
    [anon_sym_COMMA] = ACTIONS(3579),
    [anon_sym_LPAREN] = ACTIONS(3579),
    [anon_sym_LBRACK] = ACTIONS(3579),
    [anon_sym_QMARK] = ACTIONS(3577),
    [anon_sym_QMARK2] = ACTIONS(3579),
    [anon_sym_AMP] = ACTIONS(3579),
    [aux_sym_custom_operator_token1] = ACTIONS(3579),
    [anon_sym_LT] = ACTIONS(3577),
    [anon_sym_GT] = ACTIONS(3577),
    [anon_sym_LBRACE] = ACTIONS(3579),
    [anon_sym_CARET_LBRACE] = ACTIONS(3579),
    [anon_sym_RBRACE] = ACTIONS(3579),
    [anon_sym_case] = ACTIONS(3579),
    [anon_sym_fallthrough] = ACTIONS(3579),
    [anon_sym_PLUS_EQ] = ACTIONS(3579),
    [anon_sym_DASH_EQ] = ACTIONS(3579),
    [anon_sym_STAR_EQ] = ACTIONS(3579),
    [anon_sym_SLASH_EQ] = ACTIONS(3579),
    [anon_sym_PERCENT_EQ] = ACTIONS(3579),
    [anon_sym_BANG_EQ] = ACTIONS(3577),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3579),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3579),
    [anon_sym_LT_EQ] = ACTIONS(3579),
    [anon_sym_GT_EQ] = ACTIONS(3579),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3579),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3579),
    [anon_sym_is] = ACTIONS(3579),
    [anon_sym_PLUS] = ACTIONS(3577),
    [anon_sym_DASH] = ACTIONS(3577),
    [anon_sym_STAR] = ACTIONS(3577),
    [anon_sym_SLASH] = ACTIONS(3577),
    [anon_sym_PERCENT] = ACTIONS(3577),
    [anon_sym_PLUS_PLUS] = ACTIONS(3579),
    [anon_sym_DASH_DASH] = ACTIONS(3579),
    [anon_sym_PIPE] = ACTIONS(3579),
    [anon_sym_CARET] = ACTIONS(3577),
    [anon_sym_LT_LT] = ACTIONS(3579),
    [anon_sym_GT_GT] = ACTIONS(3579),
    [anon_sym_class] = ACTIONS(3579),
    [anon_sym_prefix] = ACTIONS(3579),
    [anon_sym_infix] = ACTIONS(3579),
    [anon_sym_postfix] = ACTIONS(3579),
    [anon_sym_AT] = ACTIONS(3577),
    [anon_sym_override] = ACTIONS(3579),
    [anon_sym_convenience] = ACTIONS(3579),
    [anon_sym_required] = ACTIONS(3579),
    [anon_sym_nonisolated] = ACTIONS(3579),
    [anon_sym_public] = ACTIONS(3579),
    [anon_sym_private] = ACTIONS(3579),
    [anon_sym_internal] = ACTIONS(3579),
    [anon_sym_fileprivate] = ACTIONS(3579),
    [anon_sym_open] = ACTIONS(3579),
    [anon_sym_mutating] = ACTIONS(3579),
    [anon_sym_nonmutating] = ACTIONS(3579),
    [anon_sym_static] = ACTIONS(3579),
    [anon_sym_dynamic] = ACTIONS(3579),
    [anon_sym_optional] = ACTIONS(3579),
    [anon_sym_distributed] = ACTIONS(3579),
    [anon_sym_final] = ACTIONS(3579),
    [anon_sym_inout] = ACTIONS(3579),
    [anon_sym_ATescaping] = ACTIONS(3579),
    [anon_sym_ATautoclosure] = ACTIONS(3579),
    [anon_sym_weak] = ACTIONS(3579),
    [anon_sym_unowned] = ACTIONS(3577),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3579),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3579),
    [anon_sym_borrowing] = ACTIONS(3579),
    [anon_sym_consuming] = ACTIONS(3579),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3579),
    [sym__explicit_semi] = ACTIONS(3579),
    [sym__dot_custom] = ACTIONS(3579),
    [sym__conjunction_operator_custom] = ACTIONS(3579),
    [sym__disjunction_operator_custom] = ACTIONS(3579),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3579),
    [sym__eq_custom] = ACTIONS(3579),
    [sym__eq_eq_custom] = ACTIONS(3579),
    [sym__plus_then_ws] = ACTIONS(3579),
    [sym__minus_then_ws] = ACTIONS(3579),
    [sym__bang_custom] = ACTIONS(3579),
    [sym_default_keyword] = ACTIONS(3579),
    [sym__as_custom] = ACTIONS(3579),
    [sym__as_quest_custom] = ACTIONS(3579),
    [sym__as_bang_custom] = ACTIONS(3579),
    [sym__custom_operator] = ACTIONS(3579),
  },
  [1363] = {
    [anon_sym_BANG] = ACTIONS(3557),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3559),
    [anon_sym_package] = ACTIONS(3559),
    [anon_sym_COMMA] = ACTIONS(3559),
    [anon_sym_LPAREN] = ACTIONS(3559),
    [anon_sym_LBRACK] = ACTIONS(3559),
    [anon_sym_QMARK] = ACTIONS(3557),
    [anon_sym_QMARK2] = ACTIONS(3559),
    [anon_sym_AMP] = ACTIONS(3559),
    [aux_sym_custom_operator_token1] = ACTIONS(3559),
    [anon_sym_LT] = ACTIONS(3557),
    [anon_sym_GT] = ACTIONS(3557),
    [anon_sym_LBRACE] = ACTIONS(3559),
    [anon_sym_CARET_LBRACE] = ACTIONS(3559),
    [anon_sym_RBRACE] = ACTIONS(3559),
    [anon_sym_case] = ACTIONS(3559),
    [anon_sym_fallthrough] = ACTIONS(3559),
    [anon_sym_PLUS_EQ] = ACTIONS(3559),
    [anon_sym_DASH_EQ] = ACTIONS(3559),
    [anon_sym_STAR_EQ] = ACTIONS(3559),
    [anon_sym_SLASH_EQ] = ACTIONS(3559),
    [anon_sym_PERCENT_EQ] = ACTIONS(3559),
    [anon_sym_BANG_EQ] = ACTIONS(3557),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3559),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3559),
    [anon_sym_LT_EQ] = ACTIONS(3559),
    [anon_sym_GT_EQ] = ACTIONS(3559),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3559),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3559),
    [anon_sym_is] = ACTIONS(3559),
    [anon_sym_PLUS] = ACTIONS(3557),
    [anon_sym_DASH] = ACTIONS(3557),
    [anon_sym_STAR] = ACTIONS(3557),
    [anon_sym_SLASH] = ACTIONS(3557),
    [anon_sym_PERCENT] = ACTIONS(3557),
    [anon_sym_PLUS_PLUS] = ACTIONS(3559),
    [anon_sym_DASH_DASH] = ACTIONS(3559),
    [anon_sym_PIPE] = ACTIONS(3559),
    [anon_sym_CARET] = ACTIONS(3557),
    [anon_sym_LT_LT] = ACTIONS(3559),
    [anon_sym_GT_GT] = ACTIONS(3559),
    [anon_sym_class] = ACTIONS(3559),
    [anon_sym_prefix] = ACTIONS(3559),
    [anon_sym_infix] = ACTIONS(3559),
    [anon_sym_postfix] = ACTIONS(3559),
    [anon_sym_AT] = ACTIONS(3557),
    [anon_sym_override] = ACTIONS(3559),
    [anon_sym_convenience] = ACTIONS(3559),
    [anon_sym_required] = ACTIONS(3559),
    [anon_sym_nonisolated] = ACTIONS(3559),
    [anon_sym_public] = ACTIONS(3559),
    [anon_sym_private] = ACTIONS(3559),
    [anon_sym_internal] = ACTIONS(3559),
    [anon_sym_fileprivate] = ACTIONS(3559),
    [anon_sym_open] = ACTIONS(3559),
    [anon_sym_mutating] = ACTIONS(3559),
    [anon_sym_nonmutating] = ACTIONS(3559),
    [anon_sym_static] = ACTIONS(3559),
    [anon_sym_dynamic] = ACTIONS(3559),
    [anon_sym_optional] = ACTIONS(3559),
    [anon_sym_distributed] = ACTIONS(3559),
    [anon_sym_final] = ACTIONS(3559),
    [anon_sym_inout] = ACTIONS(3559),
    [anon_sym_ATescaping] = ACTIONS(3559),
    [anon_sym_ATautoclosure] = ACTIONS(3559),
    [anon_sym_weak] = ACTIONS(3559),
    [anon_sym_unowned] = ACTIONS(3557),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3559),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3559),
    [anon_sym_borrowing] = ACTIONS(3559),
    [anon_sym_consuming] = ACTIONS(3559),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3559),
    [sym__explicit_semi] = ACTIONS(3559),
    [sym__dot_custom] = ACTIONS(3559),
    [sym__conjunction_operator_custom] = ACTIONS(3559),
    [sym__disjunction_operator_custom] = ACTIONS(3559),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3559),
    [sym__eq_custom] = ACTIONS(3559),
    [sym__eq_eq_custom] = ACTIONS(3559),
    [sym__plus_then_ws] = ACTIONS(3559),
    [sym__minus_then_ws] = ACTIONS(3559),
    [sym__bang_custom] = ACTIONS(3559),
    [sym_default_keyword] = ACTIONS(3559),
    [sym__as_custom] = ACTIONS(3559),
    [sym__as_quest_custom] = ACTIONS(3559),
    [sym__as_bang_custom] = ACTIONS(3559),
    [sym__custom_operator] = ACTIONS(3559),
  },
  [1364] = {
    [anon_sym_BANG] = ACTIONS(3401),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3403),
    [anon_sym_package] = ACTIONS(3403),
    [anon_sym_COMMA] = ACTIONS(3403),
    [anon_sym_LPAREN] = ACTIONS(3403),
    [anon_sym_LBRACK] = ACTIONS(3403),
    [anon_sym_QMARK] = ACTIONS(3401),
    [anon_sym_QMARK2] = ACTIONS(3403),
    [anon_sym_AMP] = ACTIONS(3403),
    [aux_sym_custom_operator_token1] = ACTIONS(3403),
    [anon_sym_LT] = ACTIONS(3401),
    [anon_sym_GT] = ACTIONS(3401),
    [anon_sym_LBRACE] = ACTIONS(3403),
    [anon_sym_CARET_LBRACE] = ACTIONS(3403),
    [anon_sym_RBRACE] = ACTIONS(3403),
    [anon_sym_case] = ACTIONS(3403),
    [anon_sym_fallthrough] = ACTIONS(3403),
    [anon_sym_PLUS_EQ] = ACTIONS(3403),
    [anon_sym_DASH_EQ] = ACTIONS(3403),
    [anon_sym_STAR_EQ] = ACTIONS(3403),
    [anon_sym_SLASH_EQ] = ACTIONS(3403),
    [anon_sym_PERCENT_EQ] = ACTIONS(3403),
    [anon_sym_BANG_EQ] = ACTIONS(3401),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3403),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3403),
    [anon_sym_LT_EQ] = ACTIONS(3403),
    [anon_sym_GT_EQ] = ACTIONS(3403),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3403),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3403),
    [anon_sym_is] = ACTIONS(3403),
    [anon_sym_PLUS] = ACTIONS(3401),
    [anon_sym_DASH] = ACTIONS(3401),
    [anon_sym_STAR] = ACTIONS(3401),
    [anon_sym_SLASH] = ACTIONS(3401),
    [anon_sym_PERCENT] = ACTIONS(3401),
    [anon_sym_PLUS_PLUS] = ACTIONS(3403),
    [anon_sym_DASH_DASH] = ACTIONS(3403),
    [anon_sym_PIPE] = ACTIONS(3403),
    [anon_sym_CARET] = ACTIONS(3401),
    [anon_sym_LT_LT] = ACTIONS(3403),
    [anon_sym_GT_GT] = ACTIONS(3403),
    [anon_sym_class] = ACTIONS(3403),
    [anon_sym_prefix] = ACTIONS(3403),
    [anon_sym_infix] = ACTIONS(3403),
    [anon_sym_postfix] = ACTIONS(3403),
    [anon_sym_AT] = ACTIONS(3401),
    [anon_sym_override] = ACTIONS(3403),
    [anon_sym_convenience] = ACTIONS(3403),
    [anon_sym_required] = ACTIONS(3403),
    [anon_sym_nonisolated] = ACTIONS(3403),
    [anon_sym_public] = ACTIONS(3403),
    [anon_sym_private] = ACTIONS(3403),
    [anon_sym_internal] = ACTIONS(3403),
    [anon_sym_fileprivate] = ACTIONS(3403),
    [anon_sym_open] = ACTIONS(3403),
    [anon_sym_mutating] = ACTIONS(3403),
    [anon_sym_nonmutating] = ACTIONS(3403),
    [anon_sym_static] = ACTIONS(3403),
    [anon_sym_dynamic] = ACTIONS(3403),
    [anon_sym_optional] = ACTIONS(3403),
    [anon_sym_distributed] = ACTIONS(3403),
    [anon_sym_final] = ACTIONS(3403),
    [anon_sym_inout] = ACTIONS(3403),
    [anon_sym_ATescaping] = ACTIONS(3403),
    [anon_sym_ATautoclosure] = ACTIONS(3403),
    [anon_sym_weak] = ACTIONS(3403),
    [anon_sym_unowned] = ACTIONS(3401),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3403),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3403),
    [anon_sym_borrowing] = ACTIONS(3403),
    [anon_sym_consuming] = ACTIONS(3403),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3403),
    [sym__explicit_semi] = ACTIONS(3403),
    [sym__dot_custom] = ACTIONS(3403),
    [sym__conjunction_operator_custom] = ACTIONS(3403),
    [sym__disjunction_operator_custom] = ACTIONS(3403),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3403),
    [sym__eq_custom] = ACTIONS(3403),
    [sym__eq_eq_custom] = ACTIONS(3403),
    [sym__plus_then_ws] = ACTIONS(3403),
    [sym__minus_then_ws] = ACTIONS(3403),
    [sym__bang_custom] = ACTIONS(3403),
    [sym_default_keyword] = ACTIONS(3403),
    [sym__as_custom] = ACTIONS(3403),
    [sym__as_quest_custom] = ACTIONS(3403),
    [sym__as_bang_custom] = ACTIONS(3403),
    [sym__custom_operator] = ACTIONS(3403),
  },
  [1365] = {
    [anon_sym_BANG] = ACTIONS(3661),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3663),
    [anon_sym_package] = ACTIONS(3663),
    [anon_sym_COMMA] = ACTIONS(3663),
    [anon_sym_LPAREN] = ACTIONS(3663),
    [anon_sym_LBRACK] = ACTIONS(3663),
    [anon_sym_QMARK] = ACTIONS(3661),
    [anon_sym_QMARK2] = ACTIONS(3663),
    [anon_sym_AMP] = ACTIONS(3663),
    [aux_sym_custom_operator_token1] = ACTIONS(3663),
    [anon_sym_LT] = ACTIONS(3661),
    [anon_sym_GT] = ACTIONS(3661),
    [anon_sym_LBRACE] = ACTIONS(3663),
    [anon_sym_CARET_LBRACE] = ACTIONS(3663),
    [anon_sym_RBRACE] = ACTIONS(3663),
    [anon_sym_case] = ACTIONS(3663),
    [anon_sym_fallthrough] = ACTIONS(3663),
    [anon_sym_PLUS_EQ] = ACTIONS(3663),
    [anon_sym_DASH_EQ] = ACTIONS(3663),
    [anon_sym_STAR_EQ] = ACTIONS(3663),
    [anon_sym_SLASH_EQ] = ACTIONS(3663),
    [anon_sym_PERCENT_EQ] = ACTIONS(3663),
    [anon_sym_BANG_EQ] = ACTIONS(3661),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3663),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3663),
    [anon_sym_LT_EQ] = ACTIONS(3663),
    [anon_sym_GT_EQ] = ACTIONS(3663),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3663),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3663),
    [anon_sym_is] = ACTIONS(3663),
    [anon_sym_PLUS] = ACTIONS(3661),
    [anon_sym_DASH] = ACTIONS(3661),
    [anon_sym_STAR] = ACTIONS(3661),
    [anon_sym_SLASH] = ACTIONS(3661),
    [anon_sym_PERCENT] = ACTIONS(3661),
    [anon_sym_PLUS_PLUS] = ACTIONS(3663),
    [anon_sym_DASH_DASH] = ACTIONS(3663),
    [anon_sym_PIPE] = ACTIONS(3663),
    [anon_sym_CARET] = ACTIONS(3661),
    [anon_sym_LT_LT] = ACTIONS(3663),
    [anon_sym_GT_GT] = ACTIONS(3663),
    [anon_sym_class] = ACTIONS(3663),
    [anon_sym_prefix] = ACTIONS(3663),
    [anon_sym_infix] = ACTIONS(3663),
    [anon_sym_postfix] = ACTIONS(3663),
    [anon_sym_AT] = ACTIONS(3661),
    [anon_sym_override] = ACTIONS(3663),
    [anon_sym_convenience] = ACTIONS(3663),
    [anon_sym_required] = ACTIONS(3663),
    [anon_sym_nonisolated] = ACTIONS(3663),
    [anon_sym_public] = ACTIONS(3663),
    [anon_sym_private] = ACTIONS(3663),
    [anon_sym_internal] = ACTIONS(3663),
    [anon_sym_fileprivate] = ACTIONS(3663),
    [anon_sym_open] = ACTIONS(3663),
    [anon_sym_mutating] = ACTIONS(3663),
    [anon_sym_nonmutating] = ACTIONS(3663),
    [anon_sym_static] = ACTIONS(3663),
    [anon_sym_dynamic] = ACTIONS(3663),
    [anon_sym_optional] = ACTIONS(3663),
    [anon_sym_distributed] = ACTIONS(3663),
    [anon_sym_final] = ACTIONS(3663),
    [anon_sym_inout] = ACTIONS(3663),
    [anon_sym_ATescaping] = ACTIONS(3663),
    [anon_sym_ATautoclosure] = ACTIONS(3663),
    [anon_sym_weak] = ACTIONS(3663),
    [anon_sym_unowned] = ACTIONS(3661),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3663),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3663),
    [anon_sym_borrowing] = ACTIONS(3663),
    [anon_sym_consuming] = ACTIONS(3663),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3663),
    [sym__explicit_semi] = ACTIONS(3663),
    [sym__dot_custom] = ACTIONS(3663),
    [sym__conjunction_operator_custom] = ACTIONS(3663),
    [sym__disjunction_operator_custom] = ACTIONS(3663),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3663),
    [sym__eq_custom] = ACTIONS(3663),
    [sym__eq_eq_custom] = ACTIONS(3663),
    [sym__plus_then_ws] = ACTIONS(3663),
    [sym__minus_then_ws] = ACTIONS(3663),
    [sym__bang_custom] = ACTIONS(3663),
    [sym_default_keyword] = ACTIONS(3663),
    [sym__as_custom] = ACTIONS(3663),
    [sym__as_quest_custom] = ACTIONS(3663),
    [sym__as_bang_custom] = ACTIONS(3663),
    [sym__custom_operator] = ACTIONS(3663),
  },
  [1366] = {
    [anon_sym_BANG] = ACTIONS(3331),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3333),
    [anon_sym_package] = ACTIONS(3333),
    [anon_sym_COMMA] = ACTIONS(3333),
    [anon_sym_LPAREN] = ACTIONS(3333),
    [anon_sym_LBRACK] = ACTIONS(3333),
    [anon_sym_QMARK] = ACTIONS(3331),
    [anon_sym_QMARK2] = ACTIONS(3333),
    [anon_sym_AMP] = ACTIONS(3333),
    [aux_sym_custom_operator_token1] = ACTIONS(3333),
    [anon_sym_LT] = ACTIONS(3331),
    [anon_sym_GT] = ACTIONS(3331),
    [anon_sym_LBRACE] = ACTIONS(3333),
    [anon_sym_CARET_LBRACE] = ACTIONS(3333),
    [anon_sym_RBRACE] = ACTIONS(3333),
    [anon_sym_case] = ACTIONS(3333),
    [anon_sym_fallthrough] = ACTIONS(3333),
    [anon_sym_PLUS_EQ] = ACTIONS(3333),
    [anon_sym_DASH_EQ] = ACTIONS(3333),
    [anon_sym_STAR_EQ] = ACTIONS(3333),
    [anon_sym_SLASH_EQ] = ACTIONS(3333),
    [anon_sym_PERCENT_EQ] = ACTIONS(3333),
    [anon_sym_BANG_EQ] = ACTIONS(3331),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3333),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3333),
    [anon_sym_LT_EQ] = ACTIONS(3333),
    [anon_sym_GT_EQ] = ACTIONS(3333),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3333),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3333),
    [anon_sym_is] = ACTIONS(3333),
    [anon_sym_PLUS] = ACTIONS(3331),
    [anon_sym_DASH] = ACTIONS(3331),
    [anon_sym_STAR] = ACTIONS(3331),
    [anon_sym_SLASH] = ACTIONS(3331),
    [anon_sym_PERCENT] = ACTIONS(3331),
    [anon_sym_PLUS_PLUS] = ACTIONS(3333),
    [anon_sym_DASH_DASH] = ACTIONS(3333),
    [anon_sym_PIPE] = ACTIONS(3333),
    [anon_sym_CARET] = ACTIONS(3331),
    [anon_sym_LT_LT] = ACTIONS(3333),
    [anon_sym_GT_GT] = ACTIONS(3333),
    [anon_sym_class] = ACTIONS(3333),
    [anon_sym_prefix] = ACTIONS(3333),
    [anon_sym_infix] = ACTIONS(3333),
    [anon_sym_postfix] = ACTIONS(3333),
    [anon_sym_AT] = ACTIONS(3331),
    [anon_sym_override] = ACTIONS(3333),
    [anon_sym_convenience] = ACTIONS(3333),
    [anon_sym_required] = ACTIONS(3333),
    [anon_sym_nonisolated] = ACTIONS(3333),
    [anon_sym_public] = ACTIONS(3333),
    [anon_sym_private] = ACTIONS(3333),
    [anon_sym_internal] = ACTIONS(3333),
    [anon_sym_fileprivate] = ACTIONS(3333),
    [anon_sym_open] = ACTIONS(3333),
    [anon_sym_mutating] = ACTIONS(3333),
    [anon_sym_nonmutating] = ACTIONS(3333),
    [anon_sym_static] = ACTIONS(3333),
    [anon_sym_dynamic] = ACTIONS(3333),
    [anon_sym_optional] = ACTIONS(3333),
    [anon_sym_distributed] = ACTIONS(3333),
    [anon_sym_final] = ACTIONS(3333),
    [anon_sym_inout] = ACTIONS(3333),
    [anon_sym_ATescaping] = ACTIONS(3333),
    [anon_sym_ATautoclosure] = ACTIONS(3333),
    [anon_sym_weak] = ACTIONS(3333),
    [anon_sym_unowned] = ACTIONS(3331),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3333),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3333),
    [anon_sym_borrowing] = ACTIONS(3333),
    [anon_sym_consuming] = ACTIONS(3333),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3333),
    [sym__explicit_semi] = ACTIONS(3333),
    [sym__dot_custom] = ACTIONS(3333),
    [sym__conjunction_operator_custom] = ACTIONS(3333),
    [sym__disjunction_operator_custom] = ACTIONS(3333),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3333),
    [sym__eq_custom] = ACTIONS(3333),
    [sym__eq_eq_custom] = ACTIONS(3333),
    [sym__plus_then_ws] = ACTIONS(3333),
    [sym__minus_then_ws] = ACTIONS(3333),
    [sym__bang_custom] = ACTIONS(3333),
    [sym_default_keyword] = ACTIONS(3333),
    [sym__as_custom] = ACTIONS(3333),
    [sym__as_quest_custom] = ACTIONS(3333),
    [sym__as_bang_custom] = ACTIONS(3333),
    [sym__custom_operator] = ACTIONS(3333),
  },
  [1367] = {
    [anon_sym_BANG] = ACTIONS(3493),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3495),
    [anon_sym_package] = ACTIONS(3495),
    [anon_sym_COMMA] = ACTIONS(3495),
    [anon_sym_LPAREN] = ACTIONS(3495),
    [anon_sym_LBRACK] = ACTIONS(3495),
    [anon_sym_QMARK] = ACTIONS(3493),
    [anon_sym_QMARK2] = ACTIONS(3495),
    [anon_sym_AMP] = ACTIONS(3495),
    [aux_sym_custom_operator_token1] = ACTIONS(3495),
    [anon_sym_LT] = ACTIONS(3493),
    [anon_sym_GT] = ACTIONS(3493),
    [anon_sym_LBRACE] = ACTIONS(3495),
    [anon_sym_CARET_LBRACE] = ACTIONS(3495),
    [anon_sym_RBRACE] = ACTIONS(3495),
    [anon_sym_case] = ACTIONS(3495),
    [anon_sym_fallthrough] = ACTIONS(3495),
    [anon_sym_PLUS_EQ] = ACTIONS(3495),
    [anon_sym_DASH_EQ] = ACTIONS(3495),
    [anon_sym_STAR_EQ] = ACTIONS(3495),
    [anon_sym_SLASH_EQ] = ACTIONS(3495),
    [anon_sym_PERCENT_EQ] = ACTIONS(3495),
    [anon_sym_BANG_EQ] = ACTIONS(3493),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3495),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3495),
    [anon_sym_LT_EQ] = ACTIONS(3495),
    [anon_sym_GT_EQ] = ACTIONS(3495),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3495),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3495),
    [anon_sym_is] = ACTIONS(3495),
    [anon_sym_PLUS] = ACTIONS(3493),
    [anon_sym_DASH] = ACTIONS(3493),
    [anon_sym_STAR] = ACTIONS(3493),
    [anon_sym_SLASH] = ACTIONS(3493),
    [anon_sym_PERCENT] = ACTIONS(3493),
    [anon_sym_PLUS_PLUS] = ACTIONS(3495),
    [anon_sym_DASH_DASH] = ACTIONS(3495),
    [anon_sym_PIPE] = ACTIONS(3495),
    [anon_sym_CARET] = ACTIONS(3493),
    [anon_sym_LT_LT] = ACTIONS(3495),
    [anon_sym_GT_GT] = ACTIONS(3495),
    [anon_sym_class] = ACTIONS(3495),
    [anon_sym_prefix] = ACTIONS(3495),
    [anon_sym_infix] = ACTIONS(3495),
    [anon_sym_postfix] = ACTIONS(3495),
    [anon_sym_AT] = ACTIONS(3493),
    [anon_sym_override] = ACTIONS(3495),
    [anon_sym_convenience] = ACTIONS(3495),
    [anon_sym_required] = ACTIONS(3495),
    [anon_sym_nonisolated] = ACTIONS(3495),
    [anon_sym_public] = ACTIONS(3495),
    [anon_sym_private] = ACTIONS(3495),
    [anon_sym_internal] = ACTIONS(3495),
    [anon_sym_fileprivate] = ACTIONS(3495),
    [anon_sym_open] = ACTIONS(3495),
    [anon_sym_mutating] = ACTIONS(3495),
    [anon_sym_nonmutating] = ACTIONS(3495),
    [anon_sym_static] = ACTIONS(3495),
    [anon_sym_dynamic] = ACTIONS(3495),
    [anon_sym_optional] = ACTIONS(3495),
    [anon_sym_distributed] = ACTIONS(3495),
    [anon_sym_final] = ACTIONS(3495),
    [anon_sym_inout] = ACTIONS(3495),
    [anon_sym_ATescaping] = ACTIONS(3495),
    [anon_sym_ATautoclosure] = ACTIONS(3495),
    [anon_sym_weak] = ACTIONS(3495),
    [anon_sym_unowned] = ACTIONS(3493),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3495),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3495),
    [anon_sym_borrowing] = ACTIONS(3495),
    [anon_sym_consuming] = ACTIONS(3495),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3495),
    [sym__explicit_semi] = ACTIONS(3495),
    [sym__dot_custom] = ACTIONS(3495),
    [sym__conjunction_operator_custom] = ACTIONS(3495),
    [sym__disjunction_operator_custom] = ACTIONS(3495),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3495),
    [sym__eq_custom] = ACTIONS(3495),
    [sym__eq_eq_custom] = ACTIONS(3495),
    [sym__plus_then_ws] = ACTIONS(3495),
    [sym__minus_then_ws] = ACTIONS(3495),
    [sym__bang_custom] = ACTIONS(3495),
    [sym_default_keyword] = ACTIONS(3495),
    [sym__as_custom] = ACTIONS(3495),
    [sym__as_quest_custom] = ACTIONS(3495),
    [sym__as_bang_custom] = ACTIONS(3495),
    [sym__custom_operator] = ACTIONS(3495),
  },
  [1368] = {
    [anon_sym_BANG] = ACTIONS(3453),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3455),
    [anon_sym_package] = ACTIONS(3455),
    [anon_sym_COMMA] = ACTIONS(3455),
    [anon_sym_LPAREN] = ACTIONS(3455),
    [anon_sym_LBRACK] = ACTIONS(3455),
    [anon_sym_QMARK] = ACTIONS(3453),
    [anon_sym_QMARK2] = ACTIONS(3455),
    [anon_sym_AMP] = ACTIONS(3455),
    [aux_sym_custom_operator_token1] = ACTIONS(3455),
    [anon_sym_LT] = ACTIONS(3453),
    [anon_sym_GT] = ACTIONS(3453),
    [anon_sym_LBRACE] = ACTIONS(3455),
    [anon_sym_CARET_LBRACE] = ACTIONS(3455),
    [anon_sym_RBRACE] = ACTIONS(3455),
    [anon_sym_case] = ACTIONS(3455),
    [anon_sym_fallthrough] = ACTIONS(3455),
    [anon_sym_PLUS_EQ] = ACTIONS(3455),
    [anon_sym_DASH_EQ] = ACTIONS(3455),
    [anon_sym_STAR_EQ] = ACTIONS(3455),
    [anon_sym_SLASH_EQ] = ACTIONS(3455),
    [anon_sym_PERCENT_EQ] = ACTIONS(3455),
    [anon_sym_BANG_EQ] = ACTIONS(3453),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3455),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3455),
    [anon_sym_LT_EQ] = ACTIONS(3455),
    [anon_sym_GT_EQ] = ACTIONS(3455),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3455),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3455),
    [anon_sym_is] = ACTIONS(3455),
    [anon_sym_PLUS] = ACTIONS(3453),
    [anon_sym_DASH] = ACTIONS(3453),
    [anon_sym_STAR] = ACTIONS(3453),
    [anon_sym_SLASH] = ACTIONS(3453),
    [anon_sym_PERCENT] = ACTIONS(3453),
    [anon_sym_PLUS_PLUS] = ACTIONS(3455),
    [anon_sym_DASH_DASH] = ACTIONS(3455),
    [anon_sym_PIPE] = ACTIONS(3455),
    [anon_sym_CARET] = ACTIONS(3453),
    [anon_sym_LT_LT] = ACTIONS(3455),
    [anon_sym_GT_GT] = ACTIONS(3455),
    [anon_sym_class] = ACTIONS(3455),
    [anon_sym_prefix] = ACTIONS(3455),
    [anon_sym_infix] = ACTIONS(3455),
    [anon_sym_postfix] = ACTIONS(3455),
    [anon_sym_AT] = ACTIONS(3453),
    [anon_sym_override] = ACTIONS(3455),
    [anon_sym_convenience] = ACTIONS(3455),
    [anon_sym_required] = ACTIONS(3455),
    [anon_sym_nonisolated] = ACTIONS(3455),
    [anon_sym_public] = ACTIONS(3455),
    [anon_sym_private] = ACTIONS(3455),
    [anon_sym_internal] = ACTIONS(3455),
    [anon_sym_fileprivate] = ACTIONS(3455),
    [anon_sym_open] = ACTIONS(3455),
    [anon_sym_mutating] = ACTIONS(3455),
    [anon_sym_nonmutating] = ACTIONS(3455),
    [anon_sym_static] = ACTIONS(3455),
    [anon_sym_dynamic] = ACTIONS(3455),
    [anon_sym_optional] = ACTIONS(3455),
    [anon_sym_distributed] = ACTIONS(3455),
    [anon_sym_final] = ACTIONS(3455),
    [anon_sym_inout] = ACTIONS(3455),
    [anon_sym_ATescaping] = ACTIONS(3455),
    [anon_sym_ATautoclosure] = ACTIONS(3455),
    [anon_sym_weak] = ACTIONS(3455),
    [anon_sym_unowned] = ACTIONS(3453),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3455),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3455),
    [anon_sym_borrowing] = ACTIONS(3455),
    [anon_sym_consuming] = ACTIONS(3455),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3455),
    [sym__explicit_semi] = ACTIONS(3455),
    [sym__dot_custom] = ACTIONS(3455),
    [sym__conjunction_operator_custom] = ACTIONS(3455),
    [sym__disjunction_operator_custom] = ACTIONS(3455),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3455),
    [sym__eq_custom] = ACTIONS(3455),
    [sym__eq_eq_custom] = ACTIONS(3455),
    [sym__plus_then_ws] = ACTIONS(3455),
    [sym__minus_then_ws] = ACTIONS(3455),
    [sym__bang_custom] = ACTIONS(3455),
    [sym_default_keyword] = ACTIONS(3455),
    [sym__as_custom] = ACTIONS(3455),
    [sym__as_quest_custom] = ACTIONS(3455),
    [sym__as_bang_custom] = ACTIONS(3455),
    [sym__custom_operator] = ACTIONS(3455),
  },
  [1369] = {
    [anon_sym_BANG] = ACTIONS(3513),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3515),
    [anon_sym_package] = ACTIONS(3515),
    [anon_sym_COMMA] = ACTIONS(3515),
    [anon_sym_LPAREN] = ACTIONS(3515),
    [anon_sym_LBRACK] = ACTIONS(3515),
    [anon_sym_QMARK] = ACTIONS(3513),
    [anon_sym_QMARK2] = ACTIONS(3515),
    [anon_sym_AMP] = ACTIONS(3515),
    [aux_sym_custom_operator_token1] = ACTIONS(3515),
    [anon_sym_LT] = ACTIONS(3513),
    [anon_sym_GT] = ACTIONS(3513),
    [anon_sym_LBRACE] = ACTIONS(3515),
    [anon_sym_CARET_LBRACE] = ACTIONS(3515),
    [anon_sym_RBRACE] = ACTIONS(3515),
    [anon_sym_case] = ACTIONS(3515),
    [anon_sym_fallthrough] = ACTIONS(3515),
    [anon_sym_PLUS_EQ] = ACTIONS(3515),
    [anon_sym_DASH_EQ] = ACTIONS(3515),
    [anon_sym_STAR_EQ] = ACTIONS(3515),
    [anon_sym_SLASH_EQ] = ACTIONS(3515),
    [anon_sym_PERCENT_EQ] = ACTIONS(3515),
    [anon_sym_BANG_EQ] = ACTIONS(3513),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3515),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3515),
    [anon_sym_LT_EQ] = ACTIONS(3515),
    [anon_sym_GT_EQ] = ACTIONS(3515),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3515),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3515),
    [anon_sym_is] = ACTIONS(3515),
    [anon_sym_PLUS] = ACTIONS(3513),
    [anon_sym_DASH] = ACTIONS(3513),
    [anon_sym_STAR] = ACTIONS(3513),
    [anon_sym_SLASH] = ACTIONS(3513),
    [anon_sym_PERCENT] = ACTIONS(3513),
    [anon_sym_PLUS_PLUS] = ACTIONS(3515),
    [anon_sym_DASH_DASH] = ACTIONS(3515),
    [anon_sym_PIPE] = ACTIONS(3515),
    [anon_sym_CARET] = ACTIONS(3513),
    [anon_sym_LT_LT] = ACTIONS(3515),
    [anon_sym_GT_GT] = ACTIONS(3515),
    [anon_sym_class] = ACTIONS(3515),
    [anon_sym_prefix] = ACTIONS(3515),
    [anon_sym_infix] = ACTIONS(3515),
    [anon_sym_postfix] = ACTIONS(3515),
    [anon_sym_AT] = ACTIONS(3513),
    [anon_sym_override] = ACTIONS(3515),
    [anon_sym_convenience] = ACTIONS(3515),
    [anon_sym_required] = ACTIONS(3515),
    [anon_sym_nonisolated] = ACTIONS(3515),
    [anon_sym_public] = ACTIONS(3515),
    [anon_sym_private] = ACTIONS(3515),
    [anon_sym_internal] = ACTIONS(3515),
    [anon_sym_fileprivate] = ACTIONS(3515),
    [anon_sym_open] = ACTIONS(3515),
    [anon_sym_mutating] = ACTIONS(3515),
    [anon_sym_nonmutating] = ACTIONS(3515),
    [anon_sym_static] = ACTIONS(3515),
    [anon_sym_dynamic] = ACTIONS(3515),
    [anon_sym_optional] = ACTIONS(3515),
    [anon_sym_distributed] = ACTIONS(3515),
    [anon_sym_final] = ACTIONS(3515),
    [anon_sym_inout] = ACTIONS(3515),
    [anon_sym_ATescaping] = ACTIONS(3515),
    [anon_sym_ATautoclosure] = ACTIONS(3515),
    [anon_sym_weak] = ACTIONS(3515),
    [anon_sym_unowned] = ACTIONS(3513),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3515),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3515),
    [anon_sym_borrowing] = ACTIONS(3515),
    [anon_sym_consuming] = ACTIONS(3515),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3515),
    [sym__explicit_semi] = ACTIONS(3515),
    [sym__dot_custom] = ACTIONS(3515),
    [sym__conjunction_operator_custom] = ACTIONS(3515),
    [sym__disjunction_operator_custom] = ACTIONS(3515),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3515),
    [sym__eq_custom] = ACTIONS(3515),
    [sym__eq_eq_custom] = ACTIONS(3515),
    [sym__plus_then_ws] = ACTIONS(3515),
    [sym__minus_then_ws] = ACTIONS(3515),
    [sym__bang_custom] = ACTIONS(3515),
    [sym_default_keyword] = ACTIONS(3515),
    [sym__as_custom] = ACTIONS(3515),
    [sym__as_quest_custom] = ACTIONS(3515),
    [sym__as_bang_custom] = ACTIONS(3515),
    [sym__custom_operator] = ACTIONS(3515),
  },
  [1370] = {
    [anon_sym_BANG] = ACTIONS(3361),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3363),
    [anon_sym_package] = ACTIONS(3363),
    [anon_sym_COMMA] = ACTIONS(3363),
    [anon_sym_LPAREN] = ACTIONS(3363),
    [anon_sym_LBRACK] = ACTIONS(3363),
    [anon_sym_QMARK] = ACTIONS(3361),
    [anon_sym_QMARK2] = ACTIONS(3363),
    [anon_sym_AMP] = ACTIONS(3363),
    [aux_sym_custom_operator_token1] = ACTIONS(3363),
    [anon_sym_LT] = ACTIONS(3361),
    [anon_sym_GT] = ACTIONS(3361),
    [anon_sym_LBRACE] = ACTIONS(3363),
    [anon_sym_CARET_LBRACE] = ACTIONS(3363),
    [anon_sym_RBRACE] = ACTIONS(3363),
    [anon_sym_case] = ACTIONS(3363),
    [anon_sym_fallthrough] = ACTIONS(3363),
    [anon_sym_PLUS_EQ] = ACTIONS(3363),
    [anon_sym_DASH_EQ] = ACTIONS(3363),
    [anon_sym_STAR_EQ] = ACTIONS(3363),
    [anon_sym_SLASH_EQ] = ACTIONS(3363),
    [anon_sym_PERCENT_EQ] = ACTIONS(3363),
    [anon_sym_BANG_EQ] = ACTIONS(3361),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3363),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3363),
    [anon_sym_LT_EQ] = ACTIONS(3363),
    [anon_sym_GT_EQ] = ACTIONS(3363),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3363),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3363),
    [anon_sym_is] = ACTIONS(3363),
    [anon_sym_PLUS] = ACTIONS(3361),
    [anon_sym_DASH] = ACTIONS(3361),
    [anon_sym_STAR] = ACTIONS(3361),
    [anon_sym_SLASH] = ACTIONS(3361),
    [anon_sym_PERCENT] = ACTIONS(3361),
    [anon_sym_PLUS_PLUS] = ACTIONS(3363),
    [anon_sym_DASH_DASH] = ACTIONS(3363),
    [anon_sym_PIPE] = ACTIONS(3363),
    [anon_sym_CARET] = ACTIONS(3361),
    [anon_sym_LT_LT] = ACTIONS(3363),
    [anon_sym_GT_GT] = ACTIONS(3363),
    [anon_sym_class] = ACTIONS(3363),
    [anon_sym_prefix] = ACTIONS(3363),
    [anon_sym_infix] = ACTIONS(3363),
    [anon_sym_postfix] = ACTIONS(3363),
    [anon_sym_AT] = ACTIONS(3361),
    [anon_sym_override] = ACTIONS(3363),
    [anon_sym_convenience] = ACTIONS(3363),
    [anon_sym_required] = ACTIONS(3363),
    [anon_sym_nonisolated] = ACTIONS(3363),
    [anon_sym_public] = ACTIONS(3363),
    [anon_sym_private] = ACTIONS(3363),
    [anon_sym_internal] = ACTIONS(3363),
    [anon_sym_fileprivate] = ACTIONS(3363),
    [anon_sym_open] = ACTIONS(3363),
    [anon_sym_mutating] = ACTIONS(3363),
    [anon_sym_nonmutating] = ACTIONS(3363),
    [anon_sym_static] = ACTIONS(3363),
    [anon_sym_dynamic] = ACTIONS(3363),
    [anon_sym_optional] = ACTIONS(3363),
    [anon_sym_distributed] = ACTIONS(3363),
    [anon_sym_final] = ACTIONS(3363),
    [anon_sym_inout] = ACTIONS(3363),
    [anon_sym_ATescaping] = ACTIONS(3363),
    [anon_sym_ATautoclosure] = ACTIONS(3363),
    [anon_sym_weak] = ACTIONS(3363),
    [anon_sym_unowned] = ACTIONS(3361),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3363),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3363),
    [anon_sym_borrowing] = ACTIONS(3363),
    [anon_sym_consuming] = ACTIONS(3363),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3363),
    [sym__explicit_semi] = ACTIONS(3363),
    [sym__dot_custom] = ACTIONS(3363),
    [sym__conjunction_operator_custom] = ACTIONS(3363),
    [sym__disjunction_operator_custom] = ACTIONS(3363),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3363),
    [sym__eq_custom] = ACTIONS(3363),
    [sym__eq_eq_custom] = ACTIONS(3363),
    [sym__plus_then_ws] = ACTIONS(3363),
    [sym__minus_then_ws] = ACTIONS(3363),
    [sym__bang_custom] = ACTIONS(3363),
    [sym_default_keyword] = ACTIONS(3363),
    [sym__as_custom] = ACTIONS(3363),
    [sym__as_quest_custom] = ACTIONS(3363),
    [sym__as_bang_custom] = ACTIONS(3363),
    [sym__custom_operator] = ACTIONS(3363),
  },
  [1371] = {
    [anon_sym_BANG] = ACTIONS(3413),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3415),
    [anon_sym_package] = ACTIONS(3415),
    [anon_sym_COMMA] = ACTIONS(3415),
    [anon_sym_LPAREN] = ACTIONS(3415),
    [anon_sym_LBRACK] = ACTIONS(3415),
    [anon_sym_QMARK] = ACTIONS(3413),
    [anon_sym_QMARK2] = ACTIONS(3415),
    [anon_sym_AMP] = ACTIONS(3415),
    [aux_sym_custom_operator_token1] = ACTIONS(3415),
    [anon_sym_LT] = ACTIONS(3413),
    [anon_sym_GT] = ACTIONS(3413),
    [anon_sym_LBRACE] = ACTIONS(3415),
    [anon_sym_CARET_LBRACE] = ACTIONS(3415),
    [anon_sym_RBRACE] = ACTIONS(3415),
    [anon_sym_case] = ACTIONS(3415),
    [anon_sym_fallthrough] = ACTIONS(3415),
    [anon_sym_PLUS_EQ] = ACTIONS(3415),
    [anon_sym_DASH_EQ] = ACTIONS(3415),
    [anon_sym_STAR_EQ] = ACTIONS(3415),
    [anon_sym_SLASH_EQ] = ACTIONS(3415),
    [anon_sym_PERCENT_EQ] = ACTIONS(3415),
    [anon_sym_BANG_EQ] = ACTIONS(3413),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3415),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3415),
    [anon_sym_LT_EQ] = ACTIONS(3415),
    [anon_sym_GT_EQ] = ACTIONS(3415),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3415),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3415),
    [anon_sym_is] = ACTIONS(3415),
    [anon_sym_PLUS] = ACTIONS(3413),
    [anon_sym_DASH] = ACTIONS(3413),
    [anon_sym_STAR] = ACTIONS(3413),
    [anon_sym_SLASH] = ACTIONS(3413),
    [anon_sym_PERCENT] = ACTIONS(3413),
    [anon_sym_PLUS_PLUS] = ACTIONS(3415),
    [anon_sym_DASH_DASH] = ACTIONS(3415),
    [anon_sym_PIPE] = ACTIONS(3415),
    [anon_sym_CARET] = ACTIONS(3413),
    [anon_sym_LT_LT] = ACTIONS(3415),
    [anon_sym_GT_GT] = ACTIONS(3415),
    [anon_sym_class] = ACTIONS(3415),
    [anon_sym_prefix] = ACTIONS(3415),
    [anon_sym_infix] = ACTIONS(3415),
    [anon_sym_postfix] = ACTIONS(3415),
    [anon_sym_AT] = ACTIONS(3413),
    [anon_sym_override] = ACTIONS(3415),
    [anon_sym_convenience] = ACTIONS(3415),
    [anon_sym_required] = ACTIONS(3415),
    [anon_sym_nonisolated] = ACTIONS(3415),
    [anon_sym_public] = ACTIONS(3415),
    [anon_sym_private] = ACTIONS(3415),
    [anon_sym_internal] = ACTIONS(3415),
    [anon_sym_fileprivate] = ACTIONS(3415),
    [anon_sym_open] = ACTIONS(3415),
    [anon_sym_mutating] = ACTIONS(3415),
    [anon_sym_nonmutating] = ACTIONS(3415),
    [anon_sym_static] = ACTIONS(3415),
    [anon_sym_dynamic] = ACTIONS(3415),
    [anon_sym_optional] = ACTIONS(3415),
    [anon_sym_distributed] = ACTIONS(3415),
    [anon_sym_final] = ACTIONS(3415),
    [anon_sym_inout] = ACTIONS(3415),
    [anon_sym_ATescaping] = ACTIONS(3415),
    [anon_sym_ATautoclosure] = ACTIONS(3415),
    [anon_sym_weak] = ACTIONS(3415),
    [anon_sym_unowned] = ACTIONS(3413),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3415),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3415),
    [anon_sym_borrowing] = ACTIONS(3415),
    [anon_sym_consuming] = ACTIONS(3415),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3415),
    [sym__explicit_semi] = ACTIONS(3415),
    [sym__dot_custom] = ACTIONS(3415),
    [sym__conjunction_operator_custom] = ACTIONS(3415),
    [sym__disjunction_operator_custom] = ACTIONS(3415),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3415),
    [sym__eq_custom] = ACTIONS(3415),
    [sym__eq_eq_custom] = ACTIONS(3415),
    [sym__plus_then_ws] = ACTIONS(3415),
    [sym__minus_then_ws] = ACTIONS(3415),
    [sym__bang_custom] = ACTIONS(3415),
    [sym_default_keyword] = ACTIONS(3415),
    [sym__as_custom] = ACTIONS(3415),
    [sym__as_quest_custom] = ACTIONS(3415),
    [sym__as_bang_custom] = ACTIONS(3415),
    [sym__custom_operator] = ACTIONS(3415),
  },
  [1372] = {
    [anon_sym_BANG] = ACTIONS(3641),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3643),
    [anon_sym_package] = ACTIONS(3643),
    [anon_sym_COMMA] = ACTIONS(3643),
    [anon_sym_LPAREN] = ACTIONS(3643),
    [anon_sym_LBRACK] = ACTIONS(3643),
    [anon_sym_QMARK] = ACTIONS(3641),
    [anon_sym_QMARK2] = ACTIONS(3643),
    [anon_sym_AMP] = ACTIONS(3643),
    [aux_sym_custom_operator_token1] = ACTIONS(3643),
    [anon_sym_LT] = ACTIONS(3641),
    [anon_sym_GT] = ACTIONS(3641),
    [anon_sym_LBRACE] = ACTIONS(3643),
    [anon_sym_CARET_LBRACE] = ACTIONS(3643),
    [anon_sym_RBRACE] = ACTIONS(3643),
    [anon_sym_case] = ACTIONS(3643),
    [anon_sym_fallthrough] = ACTIONS(3643),
    [anon_sym_PLUS_EQ] = ACTIONS(3643),
    [anon_sym_DASH_EQ] = ACTIONS(3643),
    [anon_sym_STAR_EQ] = ACTIONS(3643),
    [anon_sym_SLASH_EQ] = ACTIONS(3643),
    [anon_sym_PERCENT_EQ] = ACTIONS(3643),
    [anon_sym_BANG_EQ] = ACTIONS(3641),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3643),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3643),
    [anon_sym_LT_EQ] = ACTIONS(3643),
    [anon_sym_GT_EQ] = ACTIONS(3643),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3643),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3643),
    [anon_sym_is] = ACTIONS(3643),
    [anon_sym_PLUS] = ACTIONS(3641),
    [anon_sym_DASH] = ACTIONS(3641),
    [anon_sym_STAR] = ACTIONS(3641),
    [anon_sym_SLASH] = ACTIONS(3641),
    [anon_sym_PERCENT] = ACTIONS(3641),
    [anon_sym_PLUS_PLUS] = ACTIONS(3643),
    [anon_sym_DASH_DASH] = ACTIONS(3643),
    [anon_sym_PIPE] = ACTIONS(3643),
    [anon_sym_CARET] = ACTIONS(3641),
    [anon_sym_LT_LT] = ACTIONS(3643),
    [anon_sym_GT_GT] = ACTIONS(3643),
    [anon_sym_class] = ACTIONS(3643),
    [anon_sym_prefix] = ACTIONS(3643),
    [anon_sym_infix] = ACTIONS(3643),
    [anon_sym_postfix] = ACTIONS(3643),
    [anon_sym_AT] = ACTIONS(3641),
    [anon_sym_override] = ACTIONS(3643),
    [anon_sym_convenience] = ACTIONS(3643),
    [anon_sym_required] = ACTIONS(3643),
    [anon_sym_nonisolated] = ACTIONS(3643),
    [anon_sym_public] = ACTIONS(3643),
    [anon_sym_private] = ACTIONS(3643),
    [anon_sym_internal] = ACTIONS(3643),
    [anon_sym_fileprivate] = ACTIONS(3643),
    [anon_sym_open] = ACTIONS(3643),
    [anon_sym_mutating] = ACTIONS(3643),
    [anon_sym_nonmutating] = ACTIONS(3643),
    [anon_sym_static] = ACTIONS(3643),
    [anon_sym_dynamic] = ACTIONS(3643),
    [anon_sym_optional] = ACTIONS(3643),
    [anon_sym_distributed] = ACTIONS(3643),
    [anon_sym_final] = ACTIONS(3643),
    [anon_sym_inout] = ACTIONS(3643),
    [anon_sym_ATescaping] = ACTIONS(3643),
    [anon_sym_ATautoclosure] = ACTIONS(3643),
    [anon_sym_weak] = ACTIONS(3643),
    [anon_sym_unowned] = ACTIONS(3641),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3643),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3643),
    [anon_sym_borrowing] = ACTIONS(3643),
    [anon_sym_consuming] = ACTIONS(3643),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3643),
    [sym__explicit_semi] = ACTIONS(3643),
    [sym__dot_custom] = ACTIONS(3643),
    [sym__conjunction_operator_custom] = ACTIONS(3643),
    [sym__disjunction_operator_custom] = ACTIONS(3643),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3643),
    [sym__eq_custom] = ACTIONS(3643),
    [sym__eq_eq_custom] = ACTIONS(3643),
    [sym__plus_then_ws] = ACTIONS(3643),
    [sym__minus_then_ws] = ACTIONS(3643),
    [sym__bang_custom] = ACTIONS(3643),
    [sym_default_keyword] = ACTIONS(3643),
    [sym__as_custom] = ACTIONS(3643),
    [sym__as_quest_custom] = ACTIONS(3643),
    [sym__as_bang_custom] = ACTIONS(3643),
    [sym__custom_operator] = ACTIONS(3643),
  },
  [1373] = {
    [anon_sym_BANG] = ACTIONS(3421),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3423),
    [anon_sym_package] = ACTIONS(3423),
    [anon_sym_COMMA] = ACTIONS(3423),
    [anon_sym_LPAREN] = ACTIONS(3423),
    [anon_sym_LBRACK] = ACTIONS(3423),
    [anon_sym_QMARK] = ACTIONS(3421),
    [anon_sym_QMARK2] = ACTIONS(3423),
    [anon_sym_AMP] = ACTIONS(3423),
    [aux_sym_custom_operator_token1] = ACTIONS(3423),
    [anon_sym_LT] = ACTIONS(3421),
    [anon_sym_GT] = ACTIONS(3421),
    [anon_sym_LBRACE] = ACTIONS(3423),
    [anon_sym_CARET_LBRACE] = ACTIONS(3423),
    [anon_sym_RBRACE] = ACTIONS(3423),
    [anon_sym_case] = ACTIONS(3423),
    [anon_sym_fallthrough] = ACTIONS(3423),
    [anon_sym_PLUS_EQ] = ACTIONS(3423),
    [anon_sym_DASH_EQ] = ACTIONS(3423),
    [anon_sym_STAR_EQ] = ACTIONS(3423),
    [anon_sym_SLASH_EQ] = ACTIONS(3423),
    [anon_sym_PERCENT_EQ] = ACTIONS(3423),
    [anon_sym_BANG_EQ] = ACTIONS(3421),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3423),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3423),
    [anon_sym_LT_EQ] = ACTIONS(3423),
    [anon_sym_GT_EQ] = ACTIONS(3423),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3423),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3423),
    [anon_sym_is] = ACTIONS(3423),
    [anon_sym_PLUS] = ACTIONS(3421),
    [anon_sym_DASH] = ACTIONS(3421),
    [anon_sym_STAR] = ACTIONS(3421),
    [anon_sym_SLASH] = ACTIONS(3421),
    [anon_sym_PERCENT] = ACTIONS(3421),
    [anon_sym_PLUS_PLUS] = ACTIONS(3423),
    [anon_sym_DASH_DASH] = ACTIONS(3423),
    [anon_sym_PIPE] = ACTIONS(3423),
    [anon_sym_CARET] = ACTIONS(3421),
    [anon_sym_LT_LT] = ACTIONS(3423),
    [anon_sym_GT_GT] = ACTIONS(3423),
    [anon_sym_class] = ACTIONS(3423),
    [anon_sym_prefix] = ACTIONS(3423),
    [anon_sym_infix] = ACTIONS(3423),
    [anon_sym_postfix] = ACTIONS(3423),
    [anon_sym_AT] = ACTIONS(3421),
    [anon_sym_override] = ACTIONS(3423),
    [anon_sym_convenience] = ACTIONS(3423),
    [anon_sym_required] = ACTIONS(3423),
    [anon_sym_nonisolated] = ACTIONS(3423),
    [anon_sym_public] = ACTIONS(3423),
    [anon_sym_private] = ACTIONS(3423),
    [anon_sym_internal] = ACTIONS(3423),
    [anon_sym_fileprivate] = ACTIONS(3423),
    [anon_sym_open] = ACTIONS(3423),
    [anon_sym_mutating] = ACTIONS(3423),
    [anon_sym_nonmutating] = ACTIONS(3423),
    [anon_sym_static] = ACTIONS(3423),
    [anon_sym_dynamic] = ACTIONS(3423),
    [anon_sym_optional] = ACTIONS(3423),
    [anon_sym_distributed] = ACTIONS(3423),
    [anon_sym_final] = ACTIONS(3423),
    [anon_sym_inout] = ACTIONS(3423),
    [anon_sym_ATescaping] = ACTIONS(3423),
    [anon_sym_ATautoclosure] = ACTIONS(3423),
    [anon_sym_weak] = ACTIONS(3423),
    [anon_sym_unowned] = ACTIONS(3421),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3423),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3423),
    [anon_sym_borrowing] = ACTIONS(3423),
    [anon_sym_consuming] = ACTIONS(3423),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3423),
    [sym__explicit_semi] = ACTIONS(3423),
    [sym__dot_custom] = ACTIONS(3423),
    [sym__conjunction_operator_custom] = ACTIONS(3423),
    [sym__disjunction_operator_custom] = ACTIONS(3423),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3423),
    [sym__eq_custom] = ACTIONS(3423),
    [sym__eq_eq_custom] = ACTIONS(3423),
    [sym__plus_then_ws] = ACTIONS(3423),
    [sym__minus_then_ws] = ACTIONS(3423),
    [sym__bang_custom] = ACTIONS(3423),
    [sym_default_keyword] = ACTIONS(3423),
    [sym__as_custom] = ACTIONS(3423),
    [sym__as_quest_custom] = ACTIONS(3423),
    [sym__as_bang_custom] = ACTIONS(3423),
    [sym__custom_operator] = ACTIONS(3423),
  },
  [1374] = {
    [anon_sym_BANG] = ACTIONS(3357),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3359),
    [anon_sym_package] = ACTIONS(3359),
    [anon_sym_COMMA] = ACTIONS(3359),
    [anon_sym_LPAREN] = ACTIONS(3359),
    [anon_sym_LBRACK] = ACTIONS(3359),
    [anon_sym_QMARK] = ACTIONS(3357),
    [anon_sym_QMARK2] = ACTIONS(3359),
    [anon_sym_AMP] = ACTIONS(3359),
    [aux_sym_custom_operator_token1] = ACTIONS(3359),
    [anon_sym_LT] = ACTIONS(3357),
    [anon_sym_GT] = ACTIONS(3357),
    [anon_sym_LBRACE] = ACTIONS(3359),
    [anon_sym_CARET_LBRACE] = ACTIONS(3359),
    [anon_sym_RBRACE] = ACTIONS(3359),
    [anon_sym_case] = ACTIONS(3359),
    [anon_sym_fallthrough] = ACTIONS(3359),
    [anon_sym_PLUS_EQ] = ACTIONS(3359),
    [anon_sym_DASH_EQ] = ACTIONS(3359),
    [anon_sym_STAR_EQ] = ACTIONS(3359),
    [anon_sym_SLASH_EQ] = ACTIONS(3359),
    [anon_sym_PERCENT_EQ] = ACTIONS(3359),
    [anon_sym_BANG_EQ] = ACTIONS(3357),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3359),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3359),
    [anon_sym_LT_EQ] = ACTIONS(3359),
    [anon_sym_GT_EQ] = ACTIONS(3359),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3359),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3359),
    [anon_sym_is] = ACTIONS(3359),
    [anon_sym_PLUS] = ACTIONS(3357),
    [anon_sym_DASH] = ACTIONS(3357),
    [anon_sym_STAR] = ACTIONS(3357),
    [anon_sym_SLASH] = ACTIONS(3357),
    [anon_sym_PERCENT] = ACTIONS(3357),
    [anon_sym_PLUS_PLUS] = ACTIONS(3359),
    [anon_sym_DASH_DASH] = ACTIONS(3359),
    [anon_sym_PIPE] = ACTIONS(3359),
    [anon_sym_CARET] = ACTIONS(3357),
    [anon_sym_LT_LT] = ACTIONS(3359),
    [anon_sym_GT_GT] = ACTIONS(3359),
    [anon_sym_class] = ACTIONS(3359),
    [anon_sym_prefix] = ACTIONS(3359),
    [anon_sym_infix] = ACTIONS(3359),
    [anon_sym_postfix] = ACTIONS(3359),
    [anon_sym_AT] = ACTIONS(3357),
    [anon_sym_override] = ACTIONS(3359),
    [anon_sym_convenience] = ACTIONS(3359),
    [anon_sym_required] = ACTIONS(3359),
    [anon_sym_nonisolated] = ACTIONS(3359),
    [anon_sym_public] = ACTIONS(3359),
    [anon_sym_private] = ACTIONS(3359),
    [anon_sym_internal] = ACTIONS(3359),
    [anon_sym_fileprivate] = ACTIONS(3359),
    [anon_sym_open] = ACTIONS(3359),
    [anon_sym_mutating] = ACTIONS(3359),
    [anon_sym_nonmutating] = ACTIONS(3359),
    [anon_sym_static] = ACTIONS(3359),
    [anon_sym_dynamic] = ACTIONS(3359),
    [anon_sym_optional] = ACTIONS(3359),
    [anon_sym_distributed] = ACTIONS(3359),
    [anon_sym_final] = ACTIONS(3359),
    [anon_sym_inout] = ACTIONS(3359),
    [anon_sym_ATescaping] = ACTIONS(3359),
    [anon_sym_ATautoclosure] = ACTIONS(3359),
    [anon_sym_weak] = ACTIONS(3359),
    [anon_sym_unowned] = ACTIONS(3357),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3359),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3359),
    [anon_sym_borrowing] = ACTIONS(3359),
    [anon_sym_consuming] = ACTIONS(3359),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3359),
    [sym__explicit_semi] = ACTIONS(3359),
    [sym__dot_custom] = ACTIONS(3359),
    [sym__conjunction_operator_custom] = ACTIONS(3359),
    [sym__disjunction_operator_custom] = ACTIONS(3359),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3359),
    [sym__eq_custom] = ACTIONS(3359),
    [sym__eq_eq_custom] = ACTIONS(3359),
    [sym__plus_then_ws] = ACTIONS(3359),
    [sym__minus_then_ws] = ACTIONS(3359),
    [sym__bang_custom] = ACTIONS(3359),
    [sym_default_keyword] = ACTIONS(3359),
    [sym__as_custom] = ACTIONS(3359),
    [sym__as_quest_custom] = ACTIONS(3359),
    [sym__as_bang_custom] = ACTIONS(3359),
    [sym__custom_operator] = ACTIONS(3359),
  },
  [1375] = {
    [anon_sym_BANG] = ACTIONS(3597),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3599),
    [anon_sym_package] = ACTIONS(3599),
    [anon_sym_COMMA] = ACTIONS(3599),
    [anon_sym_LPAREN] = ACTIONS(3599),
    [anon_sym_LBRACK] = ACTIONS(3599),
    [anon_sym_QMARK] = ACTIONS(3597),
    [anon_sym_QMARK2] = ACTIONS(3599),
    [anon_sym_AMP] = ACTIONS(3599),
    [aux_sym_custom_operator_token1] = ACTIONS(3599),
    [anon_sym_LT] = ACTIONS(3597),
    [anon_sym_GT] = ACTIONS(3597),
    [anon_sym_LBRACE] = ACTIONS(3599),
    [anon_sym_CARET_LBRACE] = ACTIONS(3599),
    [anon_sym_RBRACE] = ACTIONS(3599),
    [anon_sym_case] = ACTIONS(3599),
    [anon_sym_fallthrough] = ACTIONS(3599),
    [anon_sym_PLUS_EQ] = ACTIONS(3599),
    [anon_sym_DASH_EQ] = ACTIONS(3599),
    [anon_sym_STAR_EQ] = ACTIONS(3599),
    [anon_sym_SLASH_EQ] = ACTIONS(3599),
    [anon_sym_PERCENT_EQ] = ACTIONS(3599),
    [anon_sym_BANG_EQ] = ACTIONS(3597),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3599),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3599),
    [anon_sym_LT_EQ] = ACTIONS(3599),
    [anon_sym_GT_EQ] = ACTIONS(3599),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3599),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3599),
    [anon_sym_is] = ACTIONS(3599),
    [anon_sym_PLUS] = ACTIONS(3597),
    [anon_sym_DASH] = ACTIONS(3597),
    [anon_sym_STAR] = ACTIONS(3597),
    [anon_sym_SLASH] = ACTIONS(3597),
    [anon_sym_PERCENT] = ACTIONS(3597),
    [anon_sym_PLUS_PLUS] = ACTIONS(3599),
    [anon_sym_DASH_DASH] = ACTIONS(3599),
    [anon_sym_PIPE] = ACTIONS(3599),
    [anon_sym_CARET] = ACTIONS(3597),
    [anon_sym_LT_LT] = ACTIONS(3599),
    [anon_sym_GT_GT] = ACTIONS(3599),
    [anon_sym_class] = ACTIONS(3599),
    [anon_sym_prefix] = ACTIONS(3599),
    [anon_sym_infix] = ACTIONS(3599),
    [anon_sym_postfix] = ACTIONS(3599),
    [anon_sym_AT] = ACTIONS(3597),
    [anon_sym_override] = ACTIONS(3599),
    [anon_sym_convenience] = ACTIONS(3599),
    [anon_sym_required] = ACTIONS(3599),
    [anon_sym_nonisolated] = ACTIONS(3599),
    [anon_sym_public] = ACTIONS(3599),
    [anon_sym_private] = ACTIONS(3599),
    [anon_sym_internal] = ACTIONS(3599),
    [anon_sym_fileprivate] = ACTIONS(3599),
    [anon_sym_open] = ACTIONS(3599),
    [anon_sym_mutating] = ACTIONS(3599),
    [anon_sym_nonmutating] = ACTIONS(3599),
    [anon_sym_static] = ACTIONS(3599),
    [anon_sym_dynamic] = ACTIONS(3599),
    [anon_sym_optional] = ACTIONS(3599),
    [anon_sym_distributed] = ACTIONS(3599),
    [anon_sym_final] = ACTIONS(3599),
    [anon_sym_inout] = ACTIONS(3599),
    [anon_sym_ATescaping] = ACTIONS(3599),
    [anon_sym_ATautoclosure] = ACTIONS(3599),
    [anon_sym_weak] = ACTIONS(3599),
    [anon_sym_unowned] = ACTIONS(3597),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3599),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3599),
    [anon_sym_borrowing] = ACTIONS(3599),
    [anon_sym_consuming] = ACTIONS(3599),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3599),
    [sym__explicit_semi] = ACTIONS(3599),
    [sym__dot_custom] = ACTIONS(3599),
    [sym__conjunction_operator_custom] = ACTIONS(3599),
    [sym__disjunction_operator_custom] = ACTIONS(3599),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3599),
    [sym__eq_custom] = ACTIONS(3599),
    [sym__eq_eq_custom] = ACTIONS(3599),
    [sym__plus_then_ws] = ACTIONS(3599),
    [sym__minus_then_ws] = ACTIONS(3599),
    [sym__bang_custom] = ACTIONS(3599),
    [sym_default_keyword] = ACTIONS(3599),
    [sym__as_custom] = ACTIONS(3599),
    [sym__as_quest_custom] = ACTIONS(3599),
    [sym__as_bang_custom] = ACTIONS(3599),
    [sym__custom_operator] = ACTIONS(3599),
  },
  [1376] = {
    [anon_sym_BANG] = ACTIONS(3351),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3354),
    [anon_sym_package] = ACTIONS(3354),
    [anon_sym_COMMA] = ACTIONS(3354),
    [anon_sym_LPAREN] = ACTIONS(3354),
    [anon_sym_LBRACK] = ACTIONS(3354),
    [anon_sym_QMARK] = ACTIONS(3351),
    [anon_sym_QMARK2] = ACTIONS(3354),
    [anon_sym_AMP] = ACTIONS(3354),
    [aux_sym_custom_operator_token1] = ACTIONS(3354),
    [anon_sym_LT] = ACTIONS(3351),
    [anon_sym_GT] = ACTIONS(3351),
    [anon_sym_LBRACE] = ACTIONS(3354),
    [anon_sym_CARET_LBRACE] = ACTIONS(3354),
    [anon_sym_RBRACE] = ACTIONS(3354),
    [anon_sym_case] = ACTIONS(3354),
    [anon_sym_fallthrough] = ACTIONS(3354),
    [anon_sym_PLUS_EQ] = ACTIONS(3354),
    [anon_sym_DASH_EQ] = ACTIONS(3354),
    [anon_sym_STAR_EQ] = ACTIONS(3354),
    [anon_sym_SLASH_EQ] = ACTIONS(3354),
    [anon_sym_PERCENT_EQ] = ACTIONS(3354),
    [anon_sym_BANG_EQ] = ACTIONS(3351),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3354),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3354),
    [anon_sym_LT_EQ] = ACTIONS(3354),
    [anon_sym_GT_EQ] = ACTIONS(3354),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3354),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3354),
    [anon_sym_is] = ACTIONS(3354),
    [anon_sym_PLUS] = ACTIONS(3351),
    [anon_sym_DASH] = ACTIONS(3351),
    [anon_sym_STAR] = ACTIONS(3351),
    [anon_sym_SLASH] = ACTIONS(3351),
    [anon_sym_PERCENT] = ACTIONS(3351),
    [anon_sym_PLUS_PLUS] = ACTIONS(3354),
    [anon_sym_DASH_DASH] = ACTIONS(3354),
    [anon_sym_PIPE] = ACTIONS(3354),
    [anon_sym_CARET] = ACTIONS(3351),
    [anon_sym_LT_LT] = ACTIONS(3354),
    [anon_sym_GT_GT] = ACTIONS(3354),
    [anon_sym_class] = ACTIONS(3354),
    [anon_sym_prefix] = ACTIONS(3354),
    [anon_sym_infix] = ACTIONS(3354),
    [anon_sym_postfix] = ACTIONS(3354),
    [anon_sym_AT] = ACTIONS(3351),
    [anon_sym_override] = ACTIONS(3354),
    [anon_sym_convenience] = ACTIONS(3354),
    [anon_sym_required] = ACTIONS(3354),
    [anon_sym_nonisolated] = ACTIONS(3354),
    [anon_sym_public] = ACTIONS(3354),
    [anon_sym_private] = ACTIONS(3354),
    [anon_sym_internal] = ACTIONS(3354),
    [anon_sym_fileprivate] = ACTIONS(3354),
    [anon_sym_open] = ACTIONS(3354),
    [anon_sym_mutating] = ACTIONS(3354),
    [anon_sym_nonmutating] = ACTIONS(3354),
    [anon_sym_static] = ACTIONS(3354),
    [anon_sym_dynamic] = ACTIONS(3354),
    [anon_sym_optional] = ACTIONS(3354),
    [anon_sym_distributed] = ACTIONS(3354),
    [anon_sym_final] = ACTIONS(3354),
    [anon_sym_inout] = ACTIONS(3354),
    [anon_sym_ATescaping] = ACTIONS(3354),
    [anon_sym_ATautoclosure] = ACTIONS(3354),
    [anon_sym_weak] = ACTIONS(3354),
    [anon_sym_unowned] = ACTIONS(3351),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3354),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3354),
    [anon_sym_borrowing] = ACTIONS(3354),
    [anon_sym_consuming] = ACTIONS(3354),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3354),
    [sym__explicit_semi] = ACTIONS(3354),
    [sym__dot_custom] = ACTIONS(3354),
    [sym__conjunction_operator_custom] = ACTIONS(3354),
    [sym__disjunction_operator_custom] = ACTIONS(3354),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3354),
    [sym__eq_custom] = ACTIONS(3354),
    [sym__eq_eq_custom] = ACTIONS(3354),
    [sym__plus_then_ws] = ACTIONS(3354),
    [sym__minus_then_ws] = ACTIONS(3354),
    [sym__bang_custom] = ACTIONS(3354),
    [sym_default_keyword] = ACTIONS(3354),
    [sym__as_custom] = ACTIONS(3354),
    [sym__as_quest_custom] = ACTIONS(3354),
    [sym__as_bang_custom] = ACTIONS(3354),
    [sym__custom_operator] = ACTIONS(3354),
  },
  [1377] = {
    [anon_sym_BANG] = ACTIONS(3345),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3348),
    [anon_sym_package] = ACTIONS(3348),
    [anon_sym_COMMA] = ACTIONS(3348),
    [anon_sym_LPAREN] = ACTIONS(3348),
    [anon_sym_LBRACK] = ACTIONS(3348),
    [anon_sym_QMARK] = ACTIONS(3345),
    [anon_sym_QMARK2] = ACTIONS(3348),
    [anon_sym_AMP] = ACTIONS(3348),
    [aux_sym_custom_operator_token1] = ACTIONS(3348),
    [anon_sym_LT] = ACTIONS(3345),
    [anon_sym_GT] = ACTIONS(3345),
    [anon_sym_LBRACE] = ACTIONS(3348),
    [anon_sym_CARET_LBRACE] = ACTIONS(3348),
    [anon_sym_RBRACE] = ACTIONS(3348),
    [anon_sym_case] = ACTIONS(3348),
    [anon_sym_fallthrough] = ACTIONS(3348),
    [anon_sym_PLUS_EQ] = ACTIONS(3348),
    [anon_sym_DASH_EQ] = ACTIONS(3348),
    [anon_sym_STAR_EQ] = ACTIONS(3348),
    [anon_sym_SLASH_EQ] = ACTIONS(3348),
    [anon_sym_PERCENT_EQ] = ACTIONS(3348),
    [anon_sym_BANG_EQ] = ACTIONS(3345),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3348),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3348),
    [anon_sym_LT_EQ] = ACTIONS(3348),
    [anon_sym_GT_EQ] = ACTIONS(3348),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3348),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3348),
    [anon_sym_is] = ACTIONS(3348),
    [anon_sym_PLUS] = ACTIONS(3345),
    [anon_sym_DASH] = ACTIONS(3345),
    [anon_sym_STAR] = ACTIONS(3345),
    [anon_sym_SLASH] = ACTIONS(3345),
    [anon_sym_PERCENT] = ACTIONS(3345),
    [anon_sym_PLUS_PLUS] = ACTIONS(3348),
    [anon_sym_DASH_DASH] = ACTIONS(3348),
    [anon_sym_PIPE] = ACTIONS(3348),
    [anon_sym_CARET] = ACTIONS(3345),
    [anon_sym_LT_LT] = ACTIONS(3348),
    [anon_sym_GT_GT] = ACTIONS(3348),
    [anon_sym_class] = ACTIONS(3348),
    [anon_sym_prefix] = ACTIONS(3348),
    [anon_sym_infix] = ACTIONS(3348),
    [anon_sym_postfix] = ACTIONS(3348),
    [anon_sym_AT] = ACTIONS(3345),
    [anon_sym_override] = ACTIONS(3348),
    [anon_sym_convenience] = ACTIONS(3348),
    [anon_sym_required] = ACTIONS(3348),
    [anon_sym_nonisolated] = ACTIONS(3348),
    [anon_sym_public] = ACTIONS(3348),
    [anon_sym_private] = ACTIONS(3348),
    [anon_sym_internal] = ACTIONS(3348),
    [anon_sym_fileprivate] = ACTIONS(3348),
    [anon_sym_open] = ACTIONS(3348),
    [anon_sym_mutating] = ACTIONS(3348),
    [anon_sym_nonmutating] = ACTIONS(3348),
    [anon_sym_static] = ACTIONS(3348),
    [anon_sym_dynamic] = ACTIONS(3348),
    [anon_sym_optional] = ACTIONS(3348),
    [anon_sym_distributed] = ACTIONS(3348),
    [anon_sym_final] = ACTIONS(3348),
    [anon_sym_inout] = ACTIONS(3348),
    [anon_sym_ATescaping] = ACTIONS(3348),
    [anon_sym_ATautoclosure] = ACTIONS(3348),
    [anon_sym_weak] = ACTIONS(3348),
    [anon_sym_unowned] = ACTIONS(3345),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3348),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3348),
    [anon_sym_borrowing] = ACTIONS(3348),
    [anon_sym_consuming] = ACTIONS(3348),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3348),
    [sym__explicit_semi] = ACTIONS(3348),
    [sym__dot_custom] = ACTIONS(3348),
    [sym__conjunction_operator_custom] = ACTIONS(3348),
    [sym__disjunction_operator_custom] = ACTIONS(3348),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3348),
    [sym__eq_custom] = ACTIONS(3348),
    [sym__eq_eq_custom] = ACTIONS(3348),
    [sym__plus_then_ws] = ACTIONS(3348),
    [sym__minus_then_ws] = ACTIONS(3348),
    [sym__bang_custom] = ACTIONS(3348),
    [sym_default_keyword] = ACTIONS(3348),
    [sym__as_custom] = ACTIONS(3348),
    [sym__as_quest_custom] = ACTIONS(3348),
    [sym__as_bang_custom] = ACTIONS(3348),
    [sym__custom_operator] = ACTIONS(3348),
  },
  [1378] = {
    [anon_sym_BANG] = ACTIONS(3561),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3563),
    [anon_sym_package] = ACTIONS(3563),
    [anon_sym_COMMA] = ACTIONS(3563),
    [anon_sym_LPAREN] = ACTIONS(3563),
    [anon_sym_LBRACK] = ACTIONS(3563),
    [anon_sym_QMARK] = ACTIONS(3561),
    [anon_sym_QMARK2] = ACTIONS(3563),
    [anon_sym_AMP] = ACTIONS(3563),
    [aux_sym_custom_operator_token1] = ACTIONS(3563),
    [anon_sym_LT] = ACTIONS(3561),
    [anon_sym_GT] = ACTIONS(3561),
    [anon_sym_LBRACE] = ACTIONS(3563),
    [anon_sym_CARET_LBRACE] = ACTIONS(3563),
    [anon_sym_RBRACE] = ACTIONS(3563),
    [anon_sym_case] = ACTIONS(3563),
    [anon_sym_fallthrough] = ACTIONS(3563),
    [anon_sym_PLUS_EQ] = ACTIONS(3563),
    [anon_sym_DASH_EQ] = ACTIONS(3563),
    [anon_sym_STAR_EQ] = ACTIONS(3563),
    [anon_sym_SLASH_EQ] = ACTIONS(3563),
    [anon_sym_PERCENT_EQ] = ACTIONS(3563),
    [anon_sym_BANG_EQ] = ACTIONS(3561),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3563),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3563),
    [anon_sym_LT_EQ] = ACTIONS(3563),
    [anon_sym_GT_EQ] = ACTIONS(3563),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3563),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3563),
    [anon_sym_is] = ACTIONS(3563),
    [anon_sym_PLUS] = ACTIONS(3561),
    [anon_sym_DASH] = ACTIONS(3561),
    [anon_sym_STAR] = ACTIONS(3561),
    [anon_sym_SLASH] = ACTIONS(3561),
    [anon_sym_PERCENT] = ACTIONS(3561),
    [anon_sym_PLUS_PLUS] = ACTIONS(3563),
    [anon_sym_DASH_DASH] = ACTIONS(3563),
    [anon_sym_PIPE] = ACTIONS(3563),
    [anon_sym_CARET] = ACTIONS(3561),
    [anon_sym_LT_LT] = ACTIONS(3563),
    [anon_sym_GT_GT] = ACTIONS(3563),
    [anon_sym_class] = ACTIONS(3563),
    [anon_sym_prefix] = ACTIONS(3563),
    [anon_sym_infix] = ACTIONS(3563),
    [anon_sym_postfix] = ACTIONS(3563),
    [anon_sym_AT] = ACTIONS(3561),
    [anon_sym_override] = ACTIONS(3563),
    [anon_sym_convenience] = ACTIONS(3563),
    [anon_sym_required] = ACTIONS(3563),
    [anon_sym_nonisolated] = ACTIONS(3563),
    [anon_sym_public] = ACTIONS(3563),
    [anon_sym_private] = ACTIONS(3563),
    [anon_sym_internal] = ACTIONS(3563),
    [anon_sym_fileprivate] = ACTIONS(3563),
    [anon_sym_open] = ACTIONS(3563),
    [anon_sym_mutating] = ACTIONS(3563),
    [anon_sym_nonmutating] = ACTIONS(3563),
    [anon_sym_static] = ACTIONS(3563),
    [anon_sym_dynamic] = ACTIONS(3563),
    [anon_sym_optional] = ACTIONS(3563),
    [anon_sym_distributed] = ACTIONS(3563),
    [anon_sym_final] = ACTIONS(3563),
    [anon_sym_inout] = ACTIONS(3563),
    [anon_sym_ATescaping] = ACTIONS(3563),
    [anon_sym_ATautoclosure] = ACTIONS(3563),
    [anon_sym_weak] = ACTIONS(3563),
    [anon_sym_unowned] = ACTIONS(3561),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3563),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3563),
    [anon_sym_borrowing] = ACTIONS(3563),
    [anon_sym_consuming] = ACTIONS(3563),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3563),
    [sym__explicit_semi] = ACTIONS(3563),
    [sym__dot_custom] = ACTIONS(3563),
    [sym__conjunction_operator_custom] = ACTIONS(3563),
    [sym__disjunction_operator_custom] = ACTIONS(3563),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3563),
    [sym__eq_custom] = ACTIONS(3563),
    [sym__eq_eq_custom] = ACTIONS(3563),
    [sym__plus_then_ws] = ACTIONS(3563),
    [sym__minus_then_ws] = ACTIONS(3563),
    [sym__bang_custom] = ACTIONS(3563),
    [sym_default_keyword] = ACTIONS(3563),
    [sym__as_custom] = ACTIONS(3563),
    [sym__as_quest_custom] = ACTIONS(3563),
    [sym__as_bang_custom] = ACTIONS(3563),
    [sym__custom_operator] = ACTIONS(3563),
  },
  [1379] = {
    [anon_sym_BANG] = ACTIONS(3549),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3551),
    [anon_sym_package] = ACTIONS(3551),
    [anon_sym_COMMA] = ACTIONS(3551),
    [anon_sym_LPAREN] = ACTIONS(3551),
    [anon_sym_LBRACK] = ACTIONS(3551),
    [anon_sym_QMARK] = ACTIONS(3549),
    [anon_sym_QMARK2] = ACTIONS(3551),
    [anon_sym_AMP] = ACTIONS(3551),
    [aux_sym_custom_operator_token1] = ACTIONS(3551),
    [anon_sym_LT] = ACTIONS(3549),
    [anon_sym_GT] = ACTIONS(3549),
    [anon_sym_LBRACE] = ACTIONS(3551),
    [anon_sym_CARET_LBRACE] = ACTIONS(3551),
    [anon_sym_RBRACE] = ACTIONS(3551),
    [anon_sym_case] = ACTIONS(3551),
    [anon_sym_fallthrough] = ACTIONS(3551),
    [anon_sym_PLUS_EQ] = ACTIONS(3551),
    [anon_sym_DASH_EQ] = ACTIONS(3551),
    [anon_sym_STAR_EQ] = ACTIONS(3551),
    [anon_sym_SLASH_EQ] = ACTIONS(3551),
    [anon_sym_PERCENT_EQ] = ACTIONS(3551),
    [anon_sym_BANG_EQ] = ACTIONS(3549),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3551),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3551),
    [anon_sym_LT_EQ] = ACTIONS(3551),
    [anon_sym_GT_EQ] = ACTIONS(3551),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3551),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3551),
    [anon_sym_is] = ACTIONS(3551),
    [anon_sym_PLUS] = ACTIONS(3549),
    [anon_sym_DASH] = ACTIONS(3549),
    [anon_sym_STAR] = ACTIONS(3549),
    [anon_sym_SLASH] = ACTIONS(3549),
    [anon_sym_PERCENT] = ACTIONS(3549),
    [anon_sym_PLUS_PLUS] = ACTIONS(3551),
    [anon_sym_DASH_DASH] = ACTIONS(3551),
    [anon_sym_PIPE] = ACTIONS(3551),
    [anon_sym_CARET] = ACTIONS(3549),
    [anon_sym_LT_LT] = ACTIONS(3551),
    [anon_sym_GT_GT] = ACTIONS(3551),
    [anon_sym_class] = ACTIONS(3551),
    [anon_sym_prefix] = ACTIONS(3551),
    [anon_sym_infix] = ACTIONS(3551),
    [anon_sym_postfix] = ACTIONS(3551),
    [anon_sym_AT] = ACTIONS(3549),
    [anon_sym_override] = ACTIONS(3551),
    [anon_sym_convenience] = ACTIONS(3551),
    [anon_sym_required] = ACTIONS(3551),
    [anon_sym_nonisolated] = ACTIONS(3551),
    [anon_sym_public] = ACTIONS(3551),
    [anon_sym_private] = ACTIONS(3551),
    [anon_sym_internal] = ACTIONS(3551),
    [anon_sym_fileprivate] = ACTIONS(3551),
    [anon_sym_open] = ACTIONS(3551),
    [anon_sym_mutating] = ACTIONS(3551),
    [anon_sym_nonmutating] = ACTIONS(3551),
    [anon_sym_static] = ACTIONS(3551),
    [anon_sym_dynamic] = ACTIONS(3551),
    [anon_sym_optional] = ACTIONS(3551),
    [anon_sym_distributed] = ACTIONS(3551),
    [anon_sym_final] = ACTIONS(3551),
    [anon_sym_inout] = ACTIONS(3551),
    [anon_sym_ATescaping] = ACTIONS(3551),
    [anon_sym_ATautoclosure] = ACTIONS(3551),
    [anon_sym_weak] = ACTIONS(3551),
    [anon_sym_unowned] = ACTIONS(3549),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3551),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3551),
    [anon_sym_borrowing] = ACTIONS(3551),
    [anon_sym_consuming] = ACTIONS(3551),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3551),
    [sym__explicit_semi] = ACTIONS(3551),
    [sym__dot_custom] = ACTIONS(3551),
    [sym__conjunction_operator_custom] = ACTIONS(3551),
    [sym__disjunction_operator_custom] = ACTIONS(3551),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3551),
    [sym__eq_custom] = ACTIONS(3551),
    [sym__eq_eq_custom] = ACTIONS(3551),
    [sym__plus_then_ws] = ACTIONS(3551),
    [sym__minus_then_ws] = ACTIONS(3551),
    [sym__bang_custom] = ACTIONS(3551),
    [sym_default_keyword] = ACTIONS(3551),
    [sym__as_custom] = ACTIONS(3551),
    [sym__as_quest_custom] = ACTIONS(3551),
    [sym__as_bang_custom] = ACTIONS(3551),
    [sym__custom_operator] = ACTIONS(3551),
  },
  [1380] = {
    [anon_sym_BANG] = ACTIONS(3437),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3439),
    [anon_sym_package] = ACTIONS(3439),
    [anon_sym_COMMA] = ACTIONS(3439),
    [anon_sym_LPAREN] = ACTIONS(3439),
    [anon_sym_LBRACK] = ACTIONS(3439),
    [anon_sym_QMARK] = ACTIONS(3437),
    [anon_sym_QMARK2] = ACTIONS(3439),
    [anon_sym_AMP] = ACTIONS(3439),
    [aux_sym_custom_operator_token1] = ACTIONS(3439),
    [anon_sym_LT] = ACTIONS(3437),
    [anon_sym_GT] = ACTIONS(3437),
    [anon_sym_LBRACE] = ACTIONS(3439),
    [anon_sym_CARET_LBRACE] = ACTIONS(3439),
    [anon_sym_RBRACE] = ACTIONS(3439),
    [anon_sym_case] = ACTIONS(3439),
    [anon_sym_fallthrough] = ACTIONS(3439),
    [anon_sym_PLUS_EQ] = ACTIONS(3439),
    [anon_sym_DASH_EQ] = ACTIONS(3439),
    [anon_sym_STAR_EQ] = ACTIONS(3439),
    [anon_sym_SLASH_EQ] = ACTIONS(3439),
    [anon_sym_PERCENT_EQ] = ACTIONS(3439),
    [anon_sym_BANG_EQ] = ACTIONS(3437),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3439),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3439),
    [anon_sym_LT_EQ] = ACTIONS(3439),
    [anon_sym_GT_EQ] = ACTIONS(3439),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3439),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3439),
    [anon_sym_is] = ACTIONS(3439),
    [anon_sym_PLUS] = ACTIONS(3437),
    [anon_sym_DASH] = ACTIONS(3437),
    [anon_sym_STAR] = ACTIONS(3437),
    [anon_sym_SLASH] = ACTIONS(3437),
    [anon_sym_PERCENT] = ACTIONS(3437),
    [anon_sym_PLUS_PLUS] = ACTIONS(3439),
    [anon_sym_DASH_DASH] = ACTIONS(3439),
    [anon_sym_PIPE] = ACTIONS(3439),
    [anon_sym_CARET] = ACTIONS(3437),
    [anon_sym_LT_LT] = ACTIONS(3439),
    [anon_sym_GT_GT] = ACTIONS(3439),
    [anon_sym_class] = ACTIONS(3439),
    [anon_sym_prefix] = ACTIONS(3439),
    [anon_sym_infix] = ACTIONS(3439),
    [anon_sym_postfix] = ACTIONS(3439),
    [anon_sym_AT] = ACTIONS(3437),
    [anon_sym_override] = ACTIONS(3439),
    [anon_sym_convenience] = ACTIONS(3439),
    [anon_sym_required] = ACTIONS(3439),
    [anon_sym_nonisolated] = ACTIONS(3439),
    [anon_sym_public] = ACTIONS(3439),
    [anon_sym_private] = ACTIONS(3439),
    [anon_sym_internal] = ACTIONS(3439),
    [anon_sym_fileprivate] = ACTIONS(3439),
    [anon_sym_open] = ACTIONS(3439),
    [anon_sym_mutating] = ACTIONS(3439),
    [anon_sym_nonmutating] = ACTIONS(3439),
    [anon_sym_static] = ACTIONS(3439),
    [anon_sym_dynamic] = ACTIONS(3439),
    [anon_sym_optional] = ACTIONS(3439),
    [anon_sym_distributed] = ACTIONS(3439),
    [anon_sym_final] = ACTIONS(3439),
    [anon_sym_inout] = ACTIONS(3439),
    [anon_sym_ATescaping] = ACTIONS(3439),
    [anon_sym_ATautoclosure] = ACTIONS(3439),
    [anon_sym_weak] = ACTIONS(3439),
    [anon_sym_unowned] = ACTIONS(3437),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3439),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3439),
    [anon_sym_borrowing] = ACTIONS(3439),
    [anon_sym_consuming] = ACTIONS(3439),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3439),
    [sym__explicit_semi] = ACTIONS(3439),
    [sym__dot_custom] = ACTIONS(3439),
    [sym__conjunction_operator_custom] = ACTIONS(3439),
    [sym__disjunction_operator_custom] = ACTIONS(3439),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3439),
    [sym__eq_custom] = ACTIONS(3439),
    [sym__eq_eq_custom] = ACTIONS(3439),
    [sym__plus_then_ws] = ACTIONS(3439),
    [sym__minus_then_ws] = ACTIONS(3439),
    [sym__bang_custom] = ACTIONS(3439),
    [sym_default_keyword] = ACTIONS(3439),
    [sym__as_custom] = ACTIONS(3439),
    [sym__as_quest_custom] = ACTIONS(3439),
    [sym__as_bang_custom] = ACTIONS(3439),
    [sym__custom_operator] = ACTIONS(3439),
  },
  [1381] = {
    [anon_sym_BANG] = ACTIONS(3569),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3571),
    [anon_sym_package] = ACTIONS(3571),
    [anon_sym_COMMA] = ACTIONS(3571),
    [anon_sym_LPAREN] = ACTIONS(3571),
    [anon_sym_LBRACK] = ACTIONS(3571),
    [anon_sym_QMARK] = ACTIONS(3569),
    [anon_sym_QMARK2] = ACTIONS(3571),
    [anon_sym_AMP] = ACTIONS(3571),
    [aux_sym_custom_operator_token1] = ACTIONS(3571),
    [anon_sym_LT] = ACTIONS(3569),
    [anon_sym_GT] = ACTIONS(3569),
    [anon_sym_LBRACE] = ACTIONS(3571),
    [anon_sym_CARET_LBRACE] = ACTIONS(3571),
    [anon_sym_RBRACE] = ACTIONS(3571),
    [anon_sym_case] = ACTIONS(3571),
    [anon_sym_fallthrough] = ACTIONS(3571),
    [anon_sym_PLUS_EQ] = ACTIONS(3571),
    [anon_sym_DASH_EQ] = ACTIONS(3571),
    [anon_sym_STAR_EQ] = ACTIONS(3571),
    [anon_sym_SLASH_EQ] = ACTIONS(3571),
    [anon_sym_PERCENT_EQ] = ACTIONS(3571),
    [anon_sym_BANG_EQ] = ACTIONS(3569),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3571),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3571),
    [anon_sym_LT_EQ] = ACTIONS(3571),
    [anon_sym_GT_EQ] = ACTIONS(3571),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3571),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3571),
    [anon_sym_is] = ACTIONS(3571),
    [anon_sym_PLUS] = ACTIONS(3569),
    [anon_sym_DASH] = ACTIONS(3569),
    [anon_sym_STAR] = ACTIONS(3569),
    [anon_sym_SLASH] = ACTIONS(3569),
    [anon_sym_PERCENT] = ACTIONS(3569),
    [anon_sym_PLUS_PLUS] = ACTIONS(3571),
    [anon_sym_DASH_DASH] = ACTIONS(3571),
    [anon_sym_PIPE] = ACTIONS(3571),
    [anon_sym_CARET] = ACTIONS(3569),
    [anon_sym_LT_LT] = ACTIONS(3571),
    [anon_sym_GT_GT] = ACTIONS(3571),
    [anon_sym_class] = ACTIONS(3571),
    [anon_sym_prefix] = ACTIONS(3571),
    [anon_sym_infix] = ACTIONS(3571),
    [anon_sym_postfix] = ACTIONS(3571),
    [anon_sym_AT] = ACTIONS(3569),
    [anon_sym_override] = ACTIONS(3571),
    [anon_sym_convenience] = ACTIONS(3571),
    [anon_sym_required] = ACTIONS(3571),
    [anon_sym_nonisolated] = ACTIONS(3571),
    [anon_sym_public] = ACTIONS(3571),
    [anon_sym_private] = ACTIONS(3571),
    [anon_sym_internal] = ACTIONS(3571),
    [anon_sym_fileprivate] = ACTIONS(3571),
    [anon_sym_open] = ACTIONS(3571),
    [anon_sym_mutating] = ACTIONS(3571),
    [anon_sym_nonmutating] = ACTIONS(3571),
    [anon_sym_static] = ACTIONS(3571),
    [anon_sym_dynamic] = ACTIONS(3571),
    [anon_sym_optional] = ACTIONS(3571),
    [anon_sym_distributed] = ACTIONS(3571),
    [anon_sym_final] = ACTIONS(3571),
    [anon_sym_inout] = ACTIONS(3571),
    [anon_sym_ATescaping] = ACTIONS(3571),
    [anon_sym_ATautoclosure] = ACTIONS(3571),
    [anon_sym_weak] = ACTIONS(3571),
    [anon_sym_unowned] = ACTIONS(3569),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3571),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3571),
    [anon_sym_borrowing] = ACTIONS(3571),
    [anon_sym_consuming] = ACTIONS(3571),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3571),
    [sym__explicit_semi] = ACTIONS(3571),
    [sym__dot_custom] = ACTIONS(3571),
    [sym__conjunction_operator_custom] = ACTIONS(3571),
    [sym__disjunction_operator_custom] = ACTIONS(3571),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3571),
    [sym__eq_custom] = ACTIONS(3571),
    [sym__eq_eq_custom] = ACTIONS(3571),
    [sym__plus_then_ws] = ACTIONS(3571),
    [sym__minus_then_ws] = ACTIONS(3571),
    [sym__bang_custom] = ACTIONS(3571),
    [sym_default_keyword] = ACTIONS(3571),
    [sym__as_custom] = ACTIONS(3571),
    [sym__as_quest_custom] = ACTIONS(3571),
    [sym__as_bang_custom] = ACTIONS(3571),
    [sym__custom_operator] = ACTIONS(3571),
  },
  [1382] = {
    [anon_sym_BANG] = ACTIONS(3485),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3487),
    [anon_sym_package] = ACTIONS(3487),
    [anon_sym_COMMA] = ACTIONS(3487),
    [anon_sym_LPAREN] = ACTIONS(3487),
    [anon_sym_LBRACK] = ACTIONS(3487),
    [anon_sym_QMARK] = ACTIONS(3485),
    [anon_sym_QMARK2] = ACTIONS(3487),
    [anon_sym_AMP] = ACTIONS(3487),
    [aux_sym_custom_operator_token1] = ACTIONS(3487),
    [anon_sym_LT] = ACTIONS(3485),
    [anon_sym_GT] = ACTIONS(3485),
    [anon_sym_LBRACE] = ACTIONS(3487),
    [anon_sym_CARET_LBRACE] = ACTIONS(3487),
    [anon_sym_RBRACE] = ACTIONS(3487),
    [anon_sym_case] = ACTIONS(3487),
    [anon_sym_fallthrough] = ACTIONS(3487),
    [anon_sym_PLUS_EQ] = ACTIONS(3487),
    [anon_sym_DASH_EQ] = ACTIONS(3487),
    [anon_sym_STAR_EQ] = ACTIONS(3487),
    [anon_sym_SLASH_EQ] = ACTIONS(3487),
    [anon_sym_PERCENT_EQ] = ACTIONS(3487),
    [anon_sym_BANG_EQ] = ACTIONS(3485),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3487),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3487),
    [anon_sym_LT_EQ] = ACTIONS(3487),
    [anon_sym_GT_EQ] = ACTIONS(3487),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3487),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3487),
    [anon_sym_is] = ACTIONS(3487),
    [anon_sym_PLUS] = ACTIONS(3485),
    [anon_sym_DASH] = ACTIONS(3485),
    [anon_sym_STAR] = ACTIONS(3485),
    [anon_sym_SLASH] = ACTIONS(3485),
    [anon_sym_PERCENT] = ACTIONS(3485),
    [anon_sym_PLUS_PLUS] = ACTIONS(3487),
    [anon_sym_DASH_DASH] = ACTIONS(3487),
    [anon_sym_PIPE] = ACTIONS(3487),
    [anon_sym_CARET] = ACTIONS(3485),
    [anon_sym_LT_LT] = ACTIONS(3487),
    [anon_sym_GT_GT] = ACTIONS(3487),
    [anon_sym_class] = ACTIONS(3487),
    [anon_sym_prefix] = ACTIONS(3487),
    [anon_sym_infix] = ACTIONS(3487),
    [anon_sym_postfix] = ACTIONS(3487),
    [anon_sym_AT] = ACTIONS(3485),
    [anon_sym_override] = ACTIONS(3487),
    [anon_sym_convenience] = ACTIONS(3487),
    [anon_sym_required] = ACTIONS(3487),
    [anon_sym_nonisolated] = ACTIONS(3487),
    [anon_sym_public] = ACTIONS(3487),
    [anon_sym_private] = ACTIONS(3487),
    [anon_sym_internal] = ACTIONS(3487),
    [anon_sym_fileprivate] = ACTIONS(3487),
    [anon_sym_open] = ACTIONS(3487),
    [anon_sym_mutating] = ACTIONS(3487),
    [anon_sym_nonmutating] = ACTIONS(3487),
    [anon_sym_static] = ACTIONS(3487),
    [anon_sym_dynamic] = ACTIONS(3487),
    [anon_sym_optional] = ACTIONS(3487),
    [anon_sym_distributed] = ACTIONS(3487),
    [anon_sym_final] = ACTIONS(3487),
    [anon_sym_inout] = ACTIONS(3487),
    [anon_sym_ATescaping] = ACTIONS(3487),
    [anon_sym_ATautoclosure] = ACTIONS(3487),
    [anon_sym_weak] = ACTIONS(3487),
    [anon_sym_unowned] = ACTIONS(3485),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3487),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3487),
    [anon_sym_borrowing] = ACTIONS(3487),
    [anon_sym_consuming] = ACTIONS(3487),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3487),
    [sym__explicit_semi] = ACTIONS(3487),
    [sym__dot_custom] = ACTIONS(3487),
    [sym__conjunction_operator_custom] = ACTIONS(3487),
    [sym__disjunction_operator_custom] = ACTIONS(3487),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3487),
    [sym__eq_custom] = ACTIONS(3487),
    [sym__eq_eq_custom] = ACTIONS(3487),
    [sym__plus_then_ws] = ACTIONS(3487),
    [sym__minus_then_ws] = ACTIONS(3487),
    [sym__bang_custom] = ACTIONS(3487),
    [sym_default_keyword] = ACTIONS(3487),
    [sym__as_custom] = ACTIONS(3487),
    [sym__as_quest_custom] = ACTIONS(3487),
    [sym__as_bang_custom] = ACTIONS(3487),
    [sym__custom_operator] = ACTIONS(3487),
  },
  [1383] = {
    [anon_sym_BANG] = ACTIONS(3517),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3519),
    [anon_sym_package] = ACTIONS(3519),
    [anon_sym_COMMA] = ACTIONS(3519),
    [anon_sym_LPAREN] = ACTIONS(3519),
    [anon_sym_LBRACK] = ACTIONS(3519),
    [anon_sym_QMARK] = ACTIONS(3517),
    [anon_sym_QMARK2] = ACTIONS(3519),
    [anon_sym_AMP] = ACTIONS(3519),
    [aux_sym_custom_operator_token1] = ACTIONS(3519),
    [anon_sym_LT] = ACTIONS(3517),
    [anon_sym_GT] = ACTIONS(3517),
    [anon_sym_LBRACE] = ACTIONS(3519),
    [anon_sym_CARET_LBRACE] = ACTIONS(3519),
    [anon_sym_RBRACE] = ACTIONS(3519),
    [anon_sym_case] = ACTIONS(3519),
    [anon_sym_fallthrough] = ACTIONS(3519),
    [anon_sym_PLUS_EQ] = ACTIONS(3519),
    [anon_sym_DASH_EQ] = ACTIONS(3519),
    [anon_sym_STAR_EQ] = ACTIONS(3519),
    [anon_sym_SLASH_EQ] = ACTIONS(3519),
    [anon_sym_PERCENT_EQ] = ACTIONS(3519),
    [anon_sym_BANG_EQ] = ACTIONS(3517),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3519),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3519),
    [anon_sym_LT_EQ] = ACTIONS(3519),
    [anon_sym_GT_EQ] = ACTIONS(3519),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3519),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3519),
    [anon_sym_is] = ACTIONS(3519),
    [anon_sym_PLUS] = ACTIONS(3517),
    [anon_sym_DASH] = ACTIONS(3517),
    [anon_sym_STAR] = ACTIONS(3517),
    [anon_sym_SLASH] = ACTIONS(3517),
    [anon_sym_PERCENT] = ACTIONS(3517),
    [anon_sym_PLUS_PLUS] = ACTIONS(3519),
    [anon_sym_DASH_DASH] = ACTIONS(3519),
    [anon_sym_PIPE] = ACTIONS(3519),
    [anon_sym_CARET] = ACTIONS(3517),
    [anon_sym_LT_LT] = ACTIONS(3519),
    [anon_sym_GT_GT] = ACTIONS(3519),
    [anon_sym_class] = ACTIONS(3519),
    [anon_sym_prefix] = ACTIONS(3519),
    [anon_sym_infix] = ACTIONS(3519),
    [anon_sym_postfix] = ACTIONS(3519),
    [anon_sym_AT] = ACTIONS(3517),
    [anon_sym_override] = ACTIONS(3519),
    [anon_sym_convenience] = ACTIONS(3519),
    [anon_sym_required] = ACTIONS(3519),
    [anon_sym_nonisolated] = ACTIONS(3519),
    [anon_sym_public] = ACTIONS(3519),
    [anon_sym_private] = ACTIONS(3519),
    [anon_sym_internal] = ACTIONS(3519),
    [anon_sym_fileprivate] = ACTIONS(3519),
    [anon_sym_open] = ACTIONS(3519),
    [anon_sym_mutating] = ACTIONS(3519),
    [anon_sym_nonmutating] = ACTIONS(3519),
    [anon_sym_static] = ACTIONS(3519),
    [anon_sym_dynamic] = ACTIONS(3519),
    [anon_sym_optional] = ACTIONS(3519),
    [anon_sym_distributed] = ACTIONS(3519),
    [anon_sym_final] = ACTIONS(3519),
    [anon_sym_inout] = ACTIONS(3519),
    [anon_sym_ATescaping] = ACTIONS(3519),
    [anon_sym_ATautoclosure] = ACTIONS(3519),
    [anon_sym_weak] = ACTIONS(3519),
    [anon_sym_unowned] = ACTIONS(3517),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3519),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3519),
    [anon_sym_borrowing] = ACTIONS(3519),
    [anon_sym_consuming] = ACTIONS(3519),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3519),
    [sym__explicit_semi] = ACTIONS(3519),
    [sym__dot_custom] = ACTIONS(3519),
    [sym__conjunction_operator_custom] = ACTIONS(3519),
    [sym__disjunction_operator_custom] = ACTIONS(3519),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3519),
    [sym__eq_custom] = ACTIONS(3519),
    [sym__eq_eq_custom] = ACTIONS(3519),
    [sym__plus_then_ws] = ACTIONS(3519),
    [sym__minus_then_ws] = ACTIONS(3519),
    [sym__bang_custom] = ACTIONS(3519),
    [sym_default_keyword] = ACTIONS(3519),
    [sym__as_custom] = ACTIONS(3519),
    [sym__as_quest_custom] = ACTIONS(3519),
    [sym__as_bang_custom] = ACTIONS(3519),
    [sym__custom_operator] = ACTIONS(3519),
  },
  [1384] = {
    [anon_sym_BANG] = ACTIONS(3565),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3567),
    [anon_sym_package] = ACTIONS(3567),
    [anon_sym_COMMA] = ACTIONS(3567),
    [anon_sym_LPAREN] = ACTIONS(3567),
    [anon_sym_LBRACK] = ACTIONS(3567),
    [anon_sym_QMARK] = ACTIONS(3565),
    [anon_sym_QMARK2] = ACTIONS(3567),
    [anon_sym_AMP] = ACTIONS(3567),
    [aux_sym_custom_operator_token1] = ACTIONS(3567),
    [anon_sym_LT] = ACTIONS(3565),
    [anon_sym_GT] = ACTIONS(3565),
    [anon_sym_LBRACE] = ACTIONS(3567),
    [anon_sym_CARET_LBRACE] = ACTIONS(3567),
    [anon_sym_RBRACE] = ACTIONS(3567),
    [anon_sym_case] = ACTIONS(3567),
    [anon_sym_fallthrough] = ACTIONS(3567),
    [anon_sym_PLUS_EQ] = ACTIONS(3567),
    [anon_sym_DASH_EQ] = ACTIONS(3567),
    [anon_sym_STAR_EQ] = ACTIONS(3567),
    [anon_sym_SLASH_EQ] = ACTIONS(3567),
    [anon_sym_PERCENT_EQ] = ACTIONS(3567),
    [anon_sym_BANG_EQ] = ACTIONS(3565),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3567),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3567),
    [anon_sym_LT_EQ] = ACTIONS(3567),
    [anon_sym_GT_EQ] = ACTIONS(3567),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3567),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3567),
    [anon_sym_is] = ACTIONS(3567),
    [anon_sym_PLUS] = ACTIONS(3565),
    [anon_sym_DASH] = ACTIONS(3565),
    [anon_sym_STAR] = ACTIONS(3565),
    [anon_sym_SLASH] = ACTIONS(3565),
    [anon_sym_PERCENT] = ACTIONS(3565),
    [anon_sym_PLUS_PLUS] = ACTIONS(3567),
    [anon_sym_DASH_DASH] = ACTIONS(3567),
    [anon_sym_PIPE] = ACTIONS(3567),
    [anon_sym_CARET] = ACTIONS(3565),
    [anon_sym_LT_LT] = ACTIONS(3567),
    [anon_sym_GT_GT] = ACTIONS(3567),
    [anon_sym_class] = ACTIONS(3567),
    [anon_sym_prefix] = ACTIONS(3567),
    [anon_sym_infix] = ACTIONS(3567),
    [anon_sym_postfix] = ACTIONS(3567),
    [anon_sym_AT] = ACTIONS(3565),
    [anon_sym_override] = ACTIONS(3567),
    [anon_sym_convenience] = ACTIONS(3567),
    [anon_sym_required] = ACTIONS(3567),
    [anon_sym_nonisolated] = ACTIONS(3567),
    [anon_sym_public] = ACTIONS(3567),
    [anon_sym_private] = ACTIONS(3567),
    [anon_sym_internal] = ACTIONS(3567),
    [anon_sym_fileprivate] = ACTIONS(3567),
    [anon_sym_open] = ACTIONS(3567),
    [anon_sym_mutating] = ACTIONS(3567),
    [anon_sym_nonmutating] = ACTIONS(3567),
    [anon_sym_static] = ACTIONS(3567),
    [anon_sym_dynamic] = ACTIONS(3567),
    [anon_sym_optional] = ACTIONS(3567),
    [anon_sym_distributed] = ACTIONS(3567),
    [anon_sym_final] = ACTIONS(3567),
    [anon_sym_inout] = ACTIONS(3567),
    [anon_sym_ATescaping] = ACTIONS(3567),
    [anon_sym_ATautoclosure] = ACTIONS(3567),
    [anon_sym_weak] = ACTIONS(3567),
    [anon_sym_unowned] = ACTIONS(3565),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3567),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3567),
    [anon_sym_borrowing] = ACTIONS(3567),
    [anon_sym_consuming] = ACTIONS(3567),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3567),
    [sym__explicit_semi] = ACTIONS(3567),
    [sym__dot_custom] = ACTIONS(3567),
    [sym__conjunction_operator_custom] = ACTIONS(3567),
    [sym__disjunction_operator_custom] = ACTIONS(3567),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3567),
    [sym__eq_custom] = ACTIONS(3567),
    [sym__eq_eq_custom] = ACTIONS(3567),
    [sym__plus_then_ws] = ACTIONS(3567),
    [sym__minus_then_ws] = ACTIONS(3567),
    [sym__bang_custom] = ACTIONS(3567),
    [sym_default_keyword] = ACTIONS(3567),
    [sym__as_custom] = ACTIONS(3567),
    [sym__as_quest_custom] = ACTIONS(3567),
    [sym__as_bang_custom] = ACTIONS(3567),
    [sym__custom_operator] = ACTIONS(3567),
  },
  [1385] = {
    [anon_sym_BANG] = ACTIONS(3385),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3387),
    [anon_sym_package] = ACTIONS(3387),
    [anon_sym_COMMA] = ACTIONS(3387),
    [anon_sym_LPAREN] = ACTIONS(3387),
    [anon_sym_LBRACK] = ACTIONS(3387),
    [anon_sym_QMARK] = ACTIONS(3385),
    [anon_sym_QMARK2] = ACTIONS(3387),
    [anon_sym_AMP] = ACTIONS(3387),
    [aux_sym_custom_operator_token1] = ACTIONS(3387),
    [anon_sym_LT] = ACTIONS(3385),
    [anon_sym_GT] = ACTIONS(3385),
    [anon_sym_LBRACE] = ACTIONS(3387),
    [anon_sym_CARET_LBRACE] = ACTIONS(3387),
    [anon_sym_RBRACE] = ACTIONS(3387),
    [anon_sym_case] = ACTIONS(3387),
    [anon_sym_fallthrough] = ACTIONS(3387),
    [anon_sym_PLUS_EQ] = ACTIONS(3387),
    [anon_sym_DASH_EQ] = ACTIONS(3387),
    [anon_sym_STAR_EQ] = ACTIONS(3387),
    [anon_sym_SLASH_EQ] = ACTIONS(3387),
    [anon_sym_PERCENT_EQ] = ACTIONS(3387),
    [anon_sym_BANG_EQ] = ACTIONS(3385),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3387),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3387),
    [anon_sym_LT_EQ] = ACTIONS(3387),
    [anon_sym_GT_EQ] = ACTIONS(3387),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3387),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3387),
    [anon_sym_is] = ACTIONS(3387),
    [anon_sym_PLUS] = ACTIONS(3385),
    [anon_sym_DASH] = ACTIONS(3385),
    [anon_sym_STAR] = ACTIONS(3385),
    [anon_sym_SLASH] = ACTIONS(3385),
    [anon_sym_PERCENT] = ACTIONS(3385),
    [anon_sym_PLUS_PLUS] = ACTIONS(3387),
    [anon_sym_DASH_DASH] = ACTIONS(3387),
    [anon_sym_PIPE] = ACTIONS(3387),
    [anon_sym_CARET] = ACTIONS(3385),
    [anon_sym_LT_LT] = ACTIONS(3387),
    [anon_sym_GT_GT] = ACTIONS(3387),
    [anon_sym_class] = ACTIONS(3387),
    [anon_sym_prefix] = ACTIONS(3387),
    [anon_sym_infix] = ACTIONS(3387),
    [anon_sym_postfix] = ACTIONS(3387),
    [anon_sym_AT] = ACTIONS(3385),
    [anon_sym_override] = ACTIONS(3387),
    [anon_sym_convenience] = ACTIONS(3387),
    [anon_sym_required] = ACTIONS(3387),
    [anon_sym_nonisolated] = ACTIONS(3387),
    [anon_sym_public] = ACTIONS(3387),
    [anon_sym_private] = ACTIONS(3387),
    [anon_sym_internal] = ACTIONS(3387),
    [anon_sym_fileprivate] = ACTIONS(3387),
    [anon_sym_open] = ACTIONS(3387),
    [anon_sym_mutating] = ACTIONS(3387),
    [anon_sym_nonmutating] = ACTIONS(3387),
    [anon_sym_static] = ACTIONS(3387),
    [anon_sym_dynamic] = ACTIONS(3387),
    [anon_sym_optional] = ACTIONS(3387),
    [anon_sym_distributed] = ACTIONS(3387),
    [anon_sym_final] = ACTIONS(3387),
    [anon_sym_inout] = ACTIONS(3387),
    [anon_sym_ATescaping] = ACTIONS(3387),
    [anon_sym_ATautoclosure] = ACTIONS(3387),
    [anon_sym_weak] = ACTIONS(3387),
    [anon_sym_unowned] = ACTIONS(3385),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3387),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3387),
    [anon_sym_borrowing] = ACTIONS(3387),
    [anon_sym_consuming] = ACTIONS(3387),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3387),
    [sym__explicit_semi] = ACTIONS(3387),
    [sym__dot_custom] = ACTIONS(3387),
    [sym__conjunction_operator_custom] = ACTIONS(3387),
    [sym__disjunction_operator_custom] = ACTIONS(3387),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3387),
    [sym__eq_custom] = ACTIONS(3387),
    [sym__eq_eq_custom] = ACTIONS(3387),
    [sym__plus_then_ws] = ACTIONS(3387),
    [sym__minus_then_ws] = ACTIONS(3387),
    [sym__bang_custom] = ACTIONS(3387),
    [sym_default_keyword] = ACTIONS(3387),
    [sym__as_custom] = ACTIONS(3387),
    [sym__as_quest_custom] = ACTIONS(3387),
    [sym__as_bang_custom] = ACTIONS(3387),
    [sym__custom_operator] = ACTIONS(3387),
  },
  [1386] = {
    [anon_sym_BANG] = ACTIONS(3665),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3667),
    [anon_sym_package] = ACTIONS(3667),
    [anon_sym_COMMA] = ACTIONS(3667),
    [anon_sym_LPAREN] = ACTIONS(3667),
    [anon_sym_LBRACK] = ACTIONS(3667),
    [anon_sym_QMARK] = ACTIONS(3665),
    [anon_sym_QMARK2] = ACTIONS(3667),
    [anon_sym_AMP] = ACTIONS(3667),
    [aux_sym_custom_operator_token1] = ACTIONS(3667),
    [anon_sym_LT] = ACTIONS(3665),
    [anon_sym_GT] = ACTIONS(3665),
    [anon_sym_LBRACE] = ACTIONS(3667),
    [anon_sym_CARET_LBRACE] = ACTIONS(3667),
    [anon_sym_RBRACE] = ACTIONS(3667),
    [anon_sym_case] = ACTIONS(3667),
    [anon_sym_fallthrough] = ACTIONS(3667),
    [anon_sym_PLUS_EQ] = ACTIONS(3667),
    [anon_sym_DASH_EQ] = ACTIONS(3667),
    [anon_sym_STAR_EQ] = ACTIONS(3667),
    [anon_sym_SLASH_EQ] = ACTIONS(3667),
    [anon_sym_PERCENT_EQ] = ACTIONS(3667),
    [anon_sym_BANG_EQ] = ACTIONS(3665),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3667),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3667),
    [anon_sym_LT_EQ] = ACTIONS(3667),
    [anon_sym_GT_EQ] = ACTIONS(3667),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3667),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3667),
    [anon_sym_is] = ACTIONS(3667),
    [anon_sym_PLUS] = ACTIONS(3665),
    [anon_sym_DASH] = ACTIONS(3665),
    [anon_sym_STAR] = ACTIONS(3665),
    [anon_sym_SLASH] = ACTIONS(3665),
    [anon_sym_PERCENT] = ACTIONS(3665),
    [anon_sym_PLUS_PLUS] = ACTIONS(3667),
    [anon_sym_DASH_DASH] = ACTIONS(3667),
    [anon_sym_PIPE] = ACTIONS(3667),
    [anon_sym_CARET] = ACTIONS(3665),
    [anon_sym_LT_LT] = ACTIONS(3667),
    [anon_sym_GT_GT] = ACTIONS(3667),
    [anon_sym_class] = ACTIONS(3667),
    [anon_sym_prefix] = ACTIONS(3667),
    [anon_sym_infix] = ACTIONS(3667),
    [anon_sym_postfix] = ACTIONS(3667),
    [anon_sym_AT] = ACTIONS(3665),
    [anon_sym_override] = ACTIONS(3667),
    [anon_sym_convenience] = ACTIONS(3667),
    [anon_sym_required] = ACTIONS(3667),
    [anon_sym_nonisolated] = ACTIONS(3667),
    [anon_sym_public] = ACTIONS(3667),
    [anon_sym_private] = ACTIONS(3667),
    [anon_sym_internal] = ACTIONS(3667),
    [anon_sym_fileprivate] = ACTIONS(3667),
    [anon_sym_open] = ACTIONS(3667),
    [anon_sym_mutating] = ACTIONS(3667),
    [anon_sym_nonmutating] = ACTIONS(3667),
    [anon_sym_static] = ACTIONS(3667),
    [anon_sym_dynamic] = ACTIONS(3667),
    [anon_sym_optional] = ACTIONS(3667),
    [anon_sym_distributed] = ACTIONS(3667),
    [anon_sym_final] = ACTIONS(3667),
    [anon_sym_inout] = ACTIONS(3667),
    [anon_sym_ATescaping] = ACTIONS(3667),
    [anon_sym_ATautoclosure] = ACTIONS(3667),
    [anon_sym_weak] = ACTIONS(3667),
    [anon_sym_unowned] = ACTIONS(3665),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3667),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3667),
    [anon_sym_borrowing] = ACTIONS(3667),
    [anon_sym_consuming] = ACTIONS(3667),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3667),
    [sym__explicit_semi] = ACTIONS(3667),
    [sym__dot_custom] = ACTIONS(3667),
    [sym__conjunction_operator_custom] = ACTIONS(3667),
    [sym__disjunction_operator_custom] = ACTIONS(3667),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3667),
    [sym__eq_custom] = ACTIONS(3667),
    [sym__eq_eq_custom] = ACTIONS(3667),
    [sym__plus_then_ws] = ACTIONS(3667),
    [sym__minus_then_ws] = ACTIONS(3667),
    [sym__bang_custom] = ACTIONS(3667),
    [sym_default_keyword] = ACTIONS(3667),
    [sym__as_custom] = ACTIONS(3667),
    [sym__as_quest_custom] = ACTIONS(3667),
    [sym__as_bang_custom] = ACTIONS(3667),
    [sym__custom_operator] = ACTIONS(3667),
  },
  [1387] = {
    [anon_sym_BANG] = ACTIONS(3469),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3471),
    [anon_sym_package] = ACTIONS(3471),
    [anon_sym_COMMA] = ACTIONS(3471),
    [anon_sym_LPAREN] = ACTIONS(3471),
    [anon_sym_LBRACK] = ACTIONS(3471),
    [anon_sym_QMARK] = ACTIONS(3469),
    [anon_sym_QMARK2] = ACTIONS(3471),
    [anon_sym_AMP] = ACTIONS(3471),
    [aux_sym_custom_operator_token1] = ACTIONS(3471),
    [anon_sym_LT] = ACTIONS(3469),
    [anon_sym_GT] = ACTIONS(3469),
    [anon_sym_LBRACE] = ACTIONS(3471),
    [anon_sym_CARET_LBRACE] = ACTIONS(3471),
    [anon_sym_RBRACE] = ACTIONS(3471),
    [anon_sym_case] = ACTIONS(3471),
    [anon_sym_fallthrough] = ACTIONS(3471),
    [anon_sym_PLUS_EQ] = ACTIONS(3471),
    [anon_sym_DASH_EQ] = ACTIONS(3471),
    [anon_sym_STAR_EQ] = ACTIONS(3471),
    [anon_sym_SLASH_EQ] = ACTIONS(3471),
    [anon_sym_PERCENT_EQ] = ACTIONS(3471),
    [anon_sym_BANG_EQ] = ACTIONS(3469),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3471),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3471),
    [anon_sym_LT_EQ] = ACTIONS(3471),
    [anon_sym_GT_EQ] = ACTIONS(3471),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3471),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3471),
    [anon_sym_is] = ACTIONS(3471),
    [anon_sym_PLUS] = ACTIONS(3469),
    [anon_sym_DASH] = ACTIONS(3469),
    [anon_sym_STAR] = ACTIONS(3469),
    [anon_sym_SLASH] = ACTIONS(3469),
    [anon_sym_PERCENT] = ACTIONS(3469),
    [anon_sym_PLUS_PLUS] = ACTIONS(3471),
    [anon_sym_DASH_DASH] = ACTIONS(3471),
    [anon_sym_PIPE] = ACTIONS(3471),
    [anon_sym_CARET] = ACTIONS(3469),
    [anon_sym_LT_LT] = ACTIONS(3471),
    [anon_sym_GT_GT] = ACTIONS(3471),
    [anon_sym_class] = ACTIONS(3471),
    [anon_sym_prefix] = ACTIONS(3471),
    [anon_sym_infix] = ACTIONS(3471),
    [anon_sym_postfix] = ACTIONS(3471),
    [anon_sym_AT] = ACTIONS(3469),
    [anon_sym_override] = ACTIONS(3471),
    [anon_sym_convenience] = ACTIONS(3471),
    [anon_sym_required] = ACTIONS(3471),
    [anon_sym_nonisolated] = ACTIONS(3471),
    [anon_sym_public] = ACTIONS(3471),
    [anon_sym_private] = ACTIONS(3471),
    [anon_sym_internal] = ACTIONS(3471),
    [anon_sym_fileprivate] = ACTIONS(3471),
    [anon_sym_open] = ACTIONS(3471),
    [anon_sym_mutating] = ACTIONS(3471),
    [anon_sym_nonmutating] = ACTIONS(3471),
    [anon_sym_static] = ACTIONS(3471),
    [anon_sym_dynamic] = ACTIONS(3471),
    [anon_sym_optional] = ACTIONS(3471),
    [anon_sym_distributed] = ACTIONS(3471),
    [anon_sym_final] = ACTIONS(3471),
    [anon_sym_inout] = ACTIONS(3471),
    [anon_sym_ATescaping] = ACTIONS(3471),
    [anon_sym_ATautoclosure] = ACTIONS(3471),
    [anon_sym_weak] = ACTIONS(3471),
    [anon_sym_unowned] = ACTIONS(3469),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3471),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3471),
    [anon_sym_borrowing] = ACTIONS(3471),
    [anon_sym_consuming] = ACTIONS(3471),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3471),
    [sym__explicit_semi] = ACTIONS(3471),
    [sym__dot_custom] = ACTIONS(3471),
    [sym__conjunction_operator_custom] = ACTIONS(3471),
    [sym__disjunction_operator_custom] = ACTIONS(3471),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3471),
    [sym__eq_custom] = ACTIONS(3471),
    [sym__eq_eq_custom] = ACTIONS(3471),
    [sym__plus_then_ws] = ACTIONS(3471),
    [sym__minus_then_ws] = ACTIONS(3471),
    [sym__bang_custom] = ACTIONS(3471),
    [sym_default_keyword] = ACTIONS(3471),
    [sym__as_custom] = ACTIONS(3471),
    [sym__as_quest_custom] = ACTIONS(3471),
    [sym__as_bang_custom] = ACTIONS(3471),
    [sym__custom_operator] = ACTIONS(3471),
  },
  [1388] = {
    [anon_sym_BANG] = ACTIONS(3541),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3543),
    [anon_sym_package] = ACTIONS(3543),
    [anon_sym_COMMA] = ACTIONS(3543),
    [anon_sym_LPAREN] = ACTIONS(3543),
    [anon_sym_LBRACK] = ACTIONS(3543),
    [anon_sym_QMARK] = ACTIONS(3541),
    [anon_sym_QMARK2] = ACTIONS(3543),
    [anon_sym_AMP] = ACTIONS(3543),
    [aux_sym_custom_operator_token1] = ACTIONS(3543),
    [anon_sym_LT] = ACTIONS(3541),
    [anon_sym_GT] = ACTIONS(3541),
    [anon_sym_LBRACE] = ACTIONS(3543),
    [anon_sym_CARET_LBRACE] = ACTIONS(3543),
    [anon_sym_RBRACE] = ACTIONS(3543),
    [anon_sym_case] = ACTIONS(3543),
    [anon_sym_fallthrough] = ACTIONS(3543),
    [anon_sym_PLUS_EQ] = ACTIONS(3543),
    [anon_sym_DASH_EQ] = ACTIONS(3543),
    [anon_sym_STAR_EQ] = ACTIONS(3543),
    [anon_sym_SLASH_EQ] = ACTIONS(3543),
    [anon_sym_PERCENT_EQ] = ACTIONS(3543),
    [anon_sym_BANG_EQ] = ACTIONS(3541),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3543),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3543),
    [anon_sym_LT_EQ] = ACTIONS(3543),
    [anon_sym_GT_EQ] = ACTIONS(3543),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3543),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3543),
    [anon_sym_is] = ACTIONS(3543),
    [anon_sym_PLUS] = ACTIONS(3541),
    [anon_sym_DASH] = ACTIONS(3541),
    [anon_sym_STAR] = ACTIONS(3541),
    [anon_sym_SLASH] = ACTIONS(3541),
    [anon_sym_PERCENT] = ACTIONS(3541),
    [anon_sym_PLUS_PLUS] = ACTIONS(3543),
    [anon_sym_DASH_DASH] = ACTIONS(3543),
    [anon_sym_PIPE] = ACTIONS(3543),
    [anon_sym_CARET] = ACTIONS(3541),
    [anon_sym_LT_LT] = ACTIONS(3543),
    [anon_sym_GT_GT] = ACTIONS(3543),
    [anon_sym_class] = ACTIONS(3543),
    [anon_sym_prefix] = ACTIONS(3543),
    [anon_sym_infix] = ACTIONS(3543),
    [anon_sym_postfix] = ACTIONS(3543),
    [anon_sym_AT] = ACTIONS(3541),
    [anon_sym_override] = ACTIONS(3543),
    [anon_sym_convenience] = ACTIONS(3543),
    [anon_sym_required] = ACTIONS(3543),
    [anon_sym_nonisolated] = ACTIONS(3543),
    [anon_sym_public] = ACTIONS(3543),
    [anon_sym_private] = ACTIONS(3543),
    [anon_sym_internal] = ACTIONS(3543),
    [anon_sym_fileprivate] = ACTIONS(3543),
    [anon_sym_open] = ACTIONS(3543),
    [anon_sym_mutating] = ACTIONS(3543),
    [anon_sym_nonmutating] = ACTIONS(3543),
    [anon_sym_static] = ACTIONS(3543),
    [anon_sym_dynamic] = ACTIONS(3543),
    [anon_sym_optional] = ACTIONS(3543),
    [anon_sym_distributed] = ACTIONS(3543),
    [anon_sym_final] = ACTIONS(3543),
    [anon_sym_inout] = ACTIONS(3543),
    [anon_sym_ATescaping] = ACTIONS(3543),
    [anon_sym_ATautoclosure] = ACTIONS(3543),
    [anon_sym_weak] = ACTIONS(3543),
    [anon_sym_unowned] = ACTIONS(3541),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3543),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3543),
    [anon_sym_borrowing] = ACTIONS(3543),
    [anon_sym_consuming] = ACTIONS(3543),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3543),
    [sym__explicit_semi] = ACTIONS(3543),
    [sym__dot_custom] = ACTIONS(3543),
    [sym__conjunction_operator_custom] = ACTIONS(3543),
    [sym__disjunction_operator_custom] = ACTIONS(3543),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3543),
    [sym__eq_custom] = ACTIONS(3543),
    [sym__eq_eq_custom] = ACTIONS(3543),
    [sym__plus_then_ws] = ACTIONS(3543),
    [sym__minus_then_ws] = ACTIONS(3543),
    [sym__bang_custom] = ACTIONS(3543),
    [sym_default_keyword] = ACTIONS(3543),
    [sym__as_custom] = ACTIONS(3543),
    [sym__as_quest_custom] = ACTIONS(3543),
    [sym__as_bang_custom] = ACTIONS(3543),
    [sym__custom_operator] = ACTIONS(3543),
  },
  [1389] = {
    [anon_sym_BANG] = ACTIONS(3553),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3555),
    [anon_sym_package] = ACTIONS(3555),
    [anon_sym_COMMA] = ACTIONS(3555),
    [anon_sym_LPAREN] = ACTIONS(3555),
    [anon_sym_LBRACK] = ACTIONS(3555),
    [anon_sym_QMARK] = ACTIONS(3553),
    [anon_sym_QMARK2] = ACTIONS(3555),
    [anon_sym_AMP] = ACTIONS(3555),
    [aux_sym_custom_operator_token1] = ACTIONS(3555),
    [anon_sym_LT] = ACTIONS(3553),
    [anon_sym_GT] = ACTIONS(3553),
    [anon_sym_LBRACE] = ACTIONS(3555),
    [anon_sym_CARET_LBRACE] = ACTIONS(3555),
    [anon_sym_RBRACE] = ACTIONS(3555),
    [anon_sym_case] = ACTIONS(3555),
    [anon_sym_fallthrough] = ACTIONS(3555),
    [anon_sym_PLUS_EQ] = ACTIONS(3555),
    [anon_sym_DASH_EQ] = ACTIONS(3555),
    [anon_sym_STAR_EQ] = ACTIONS(3555),
    [anon_sym_SLASH_EQ] = ACTIONS(3555),
    [anon_sym_PERCENT_EQ] = ACTIONS(3555),
    [anon_sym_BANG_EQ] = ACTIONS(3553),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3555),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3555),
    [anon_sym_LT_EQ] = ACTIONS(3555),
    [anon_sym_GT_EQ] = ACTIONS(3555),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3555),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3555),
    [anon_sym_is] = ACTIONS(3555),
    [anon_sym_PLUS] = ACTIONS(3553),
    [anon_sym_DASH] = ACTIONS(3553),
    [anon_sym_STAR] = ACTIONS(3553),
    [anon_sym_SLASH] = ACTIONS(3553),
    [anon_sym_PERCENT] = ACTIONS(3553),
    [anon_sym_PLUS_PLUS] = ACTIONS(3555),
    [anon_sym_DASH_DASH] = ACTIONS(3555),
    [anon_sym_PIPE] = ACTIONS(3555),
    [anon_sym_CARET] = ACTIONS(3553),
    [anon_sym_LT_LT] = ACTIONS(3555),
    [anon_sym_GT_GT] = ACTIONS(3555),
    [anon_sym_class] = ACTIONS(3555),
    [anon_sym_prefix] = ACTIONS(3555),
    [anon_sym_infix] = ACTIONS(3555),
    [anon_sym_postfix] = ACTIONS(3555),
    [anon_sym_AT] = ACTIONS(3553),
    [anon_sym_override] = ACTIONS(3555),
    [anon_sym_convenience] = ACTIONS(3555),
    [anon_sym_required] = ACTIONS(3555),
    [anon_sym_nonisolated] = ACTIONS(3555),
    [anon_sym_public] = ACTIONS(3555),
    [anon_sym_private] = ACTIONS(3555),
    [anon_sym_internal] = ACTIONS(3555),
    [anon_sym_fileprivate] = ACTIONS(3555),
    [anon_sym_open] = ACTIONS(3555),
    [anon_sym_mutating] = ACTIONS(3555),
    [anon_sym_nonmutating] = ACTIONS(3555),
    [anon_sym_static] = ACTIONS(3555),
    [anon_sym_dynamic] = ACTIONS(3555),
    [anon_sym_optional] = ACTIONS(3555),
    [anon_sym_distributed] = ACTIONS(3555),
    [anon_sym_final] = ACTIONS(3555),
    [anon_sym_inout] = ACTIONS(3555),
    [anon_sym_ATescaping] = ACTIONS(3555),
    [anon_sym_ATautoclosure] = ACTIONS(3555),
    [anon_sym_weak] = ACTIONS(3555),
    [anon_sym_unowned] = ACTIONS(3553),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3555),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3555),
    [anon_sym_borrowing] = ACTIONS(3555),
    [anon_sym_consuming] = ACTIONS(3555),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3555),
    [sym__explicit_semi] = ACTIONS(3555),
    [sym__dot_custom] = ACTIONS(3555),
    [sym__conjunction_operator_custom] = ACTIONS(3555),
    [sym__disjunction_operator_custom] = ACTIONS(3555),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3555),
    [sym__eq_custom] = ACTIONS(3555),
    [sym__eq_eq_custom] = ACTIONS(3555),
    [sym__plus_then_ws] = ACTIONS(3555),
    [sym__minus_then_ws] = ACTIONS(3555),
    [sym__bang_custom] = ACTIONS(3555),
    [sym_default_keyword] = ACTIONS(3555),
    [sym__as_custom] = ACTIONS(3555),
    [sym__as_quest_custom] = ACTIONS(3555),
    [sym__as_bang_custom] = ACTIONS(3555),
    [sym__custom_operator] = ACTIONS(3555),
  },
  [1390] = {
    [anon_sym_BANG] = ACTIONS(3237),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3239),
    [anon_sym_package] = ACTIONS(3239),
    [anon_sym_COMMA] = ACTIONS(3239),
    [anon_sym_LPAREN] = ACTIONS(3239),
    [anon_sym_LBRACK] = ACTIONS(3239),
    [anon_sym_QMARK] = ACTIONS(3237),
    [anon_sym_QMARK2] = ACTIONS(3239),
    [anon_sym_AMP] = ACTIONS(3239),
    [aux_sym_custom_operator_token1] = ACTIONS(3239),
    [anon_sym_LT] = ACTIONS(3237),
    [anon_sym_GT] = ACTIONS(3237),
    [anon_sym_LBRACE] = ACTIONS(3239),
    [anon_sym_CARET_LBRACE] = ACTIONS(3239),
    [anon_sym_RBRACE] = ACTIONS(3239),
    [anon_sym_case] = ACTIONS(3239),
    [anon_sym_fallthrough] = ACTIONS(3239),
    [anon_sym_PLUS_EQ] = ACTIONS(3239),
    [anon_sym_DASH_EQ] = ACTIONS(3239),
    [anon_sym_STAR_EQ] = ACTIONS(3239),
    [anon_sym_SLASH_EQ] = ACTIONS(3239),
    [anon_sym_PERCENT_EQ] = ACTIONS(3239),
    [anon_sym_BANG_EQ] = ACTIONS(3237),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3239),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3239),
    [anon_sym_LT_EQ] = ACTIONS(3239),
    [anon_sym_GT_EQ] = ACTIONS(3239),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3239),
    [anon_sym_is] = ACTIONS(3239),
    [anon_sym_PLUS] = ACTIONS(3237),
    [anon_sym_DASH] = ACTIONS(3237),
    [anon_sym_STAR] = ACTIONS(3237),
    [anon_sym_SLASH] = ACTIONS(3237),
    [anon_sym_PERCENT] = ACTIONS(3237),
    [anon_sym_PLUS_PLUS] = ACTIONS(3239),
    [anon_sym_DASH_DASH] = ACTIONS(3239),
    [anon_sym_PIPE] = ACTIONS(3239),
    [anon_sym_CARET] = ACTIONS(3237),
    [anon_sym_LT_LT] = ACTIONS(3239),
    [anon_sym_GT_GT] = ACTIONS(3239),
    [anon_sym_class] = ACTIONS(3239),
    [anon_sym_prefix] = ACTIONS(3239),
    [anon_sym_infix] = ACTIONS(3239),
    [anon_sym_postfix] = ACTIONS(3239),
    [anon_sym_AT] = ACTIONS(3237),
    [anon_sym_override] = ACTIONS(3239),
    [anon_sym_convenience] = ACTIONS(3239),
    [anon_sym_required] = ACTIONS(3239),
    [anon_sym_nonisolated] = ACTIONS(3239),
    [anon_sym_public] = ACTIONS(3239),
    [anon_sym_private] = ACTIONS(3239),
    [anon_sym_internal] = ACTIONS(3239),
    [anon_sym_fileprivate] = ACTIONS(3239),
    [anon_sym_open] = ACTIONS(3239),
    [anon_sym_mutating] = ACTIONS(3239),
    [anon_sym_nonmutating] = ACTIONS(3239),
    [anon_sym_static] = ACTIONS(3239),
    [anon_sym_dynamic] = ACTIONS(3239),
    [anon_sym_optional] = ACTIONS(3239),
    [anon_sym_distributed] = ACTIONS(3239),
    [anon_sym_final] = ACTIONS(3239),
    [anon_sym_inout] = ACTIONS(3239),
    [anon_sym_ATescaping] = ACTIONS(3239),
    [anon_sym_ATautoclosure] = ACTIONS(3239),
    [anon_sym_weak] = ACTIONS(3239),
    [anon_sym_unowned] = ACTIONS(3237),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3239),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3239),
    [anon_sym_borrowing] = ACTIONS(3239),
    [anon_sym_consuming] = ACTIONS(3239),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3239),
    [sym__explicit_semi] = ACTIONS(3239),
    [sym__dot_custom] = ACTIONS(3239),
    [sym__conjunction_operator_custom] = ACTIONS(3239),
    [sym__disjunction_operator_custom] = ACTIONS(3239),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3239),
    [sym__eq_custom] = ACTIONS(3239),
    [sym__eq_eq_custom] = ACTIONS(3239),
    [sym__plus_then_ws] = ACTIONS(3239),
    [sym__minus_then_ws] = ACTIONS(3239),
    [sym__bang_custom] = ACTIONS(3239),
    [sym_default_keyword] = ACTIONS(3239),
    [sym__as_custom] = ACTIONS(3239),
    [sym__as_quest_custom] = ACTIONS(3239),
    [sym__as_bang_custom] = ACTIONS(3239),
    [sym__custom_operator] = ACTIONS(3239),
  },
  [1391] = {
    [anon_sym_BANG] = ACTIONS(3445),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3447),
    [anon_sym_package] = ACTIONS(3447),
    [anon_sym_COMMA] = ACTIONS(3447),
    [anon_sym_LPAREN] = ACTIONS(3447),
    [anon_sym_LBRACK] = ACTIONS(3447),
    [anon_sym_QMARK] = ACTIONS(3445),
    [anon_sym_QMARK2] = ACTIONS(3447),
    [anon_sym_AMP] = ACTIONS(3447),
    [aux_sym_custom_operator_token1] = ACTIONS(3447),
    [anon_sym_LT] = ACTIONS(3445),
    [anon_sym_GT] = ACTIONS(3445),
    [anon_sym_LBRACE] = ACTIONS(3447),
    [anon_sym_CARET_LBRACE] = ACTIONS(3447),
    [anon_sym_RBRACE] = ACTIONS(3447),
    [anon_sym_case] = ACTIONS(3447),
    [anon_sym_fallthrough] = ACTIONS(3447),
    [anon_sym_PLUS_EQ] = ACTIONS(3447),
    [anon_sym_DASH_EQ] = ACTIONS(3447),
    [anon_sym_STAR_EQ] = ACTIONS(3447),
    [anon_sym_SLASH_EQ] = ACTIONS(3447),
    [anon_sym_PERCENT_EQ] = ACTIONS(3447),
    [anon_sym_BANG_EQ] = ACTIONS(3445),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3447),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3447),
    [anon_sym_LT_EQ] = ACTIONS(3447),
    [anon_sym_GT_EQ] = ACTIONS(3447),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3447),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3447),
    [anon_sym_is] = ACTIONS(3447),
    [anon_sym_PLUS] = ACTIONS(3445),
    [anon_sym_DASH] = ACTIONS(3445),
    [anon_sym_STAR] = ACTIONS(3445),
    [anon_sym_SLASH] = ACTIONS(3445),
    [anon_sym_PERCENT] = ACTIONS(3445),
    [anon_sym_PLUS_PLUS] = ACTIONS(3447),
    [anon_sym_DASH_DASH] = ACTIONS(3447),
    [anon_sym_PIPE] = ACTIONS(3447),
    [anon_sym_CARET] = ACTIONS(3445),
    [anon_sym_LT_LT] = ACTIONS(3447),
    [anon_sym_GT_GT] = ACTIONS(3447),
    [anon_sym_class] = ACTIONS(3447),
    [anon_sym_prefix] = ACTIONS(3447),
    [anon_sym_infix] = ACTIONS(3447),
    [anon_sym_postfix] = ACTIONS(3447),
    [anon_sym_AT] = ACTIONS(3445),
    [anon_sym_override] = ACTIONS(3447),
    [anon_sym_convenience] = ACTIONS(3447),
    [anon_sym_required] = ACTIONS(3447),
    [anon_sym_nonisolated] = ACTIONS(3447),
    [anon_sym_public] = ACTIONS(3447),
    [anon_sym_private] = ACTIONS(3447),
    [anon_sym_internal] = ACTIONS(3447),
    [anon_sym_fileprivate] = ACTIONS(3447),
    [anon_sym_open] = ACTIONS(3447),
    [anon_sym_mutating] = ACTIONS(3447),
    [anon_sym_nonmutating] = ACTIONS(3447),
    [anon_sym_static] = ACTIONS(3447),
    [anon_sym_dynamic] = ACTIONS(3447),
    [anon_sym_optional] = ACTIONS(3447),
    [anon_sym_distributed] = ACTIONS(3447),
    [anon_sym_final] = ACTIONS(3447),
    [anon_sym_inout] = ACTIONS(3447),
    [anon_sym_ATescaping] = ACTIONS(3447),
    [anon_sym_ATautoclosure] = ACTIONS(3447),
    [anon_sym_weak] = ACTIONS(3447),
    [anon_sym_unowned] = ACTIONS(3445),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3447),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3447),
    [anon_sym_borrowing] = ACTIONS(3447),
    [anon_sym_consuming] = ACTIONS(3447),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3447),
    [sym__explicit_semi] = ACTIONS(3447),
    [sym__dot_custom] = ACTIONS(3447),
    [sym__conjunction_operator_custom] = ACTIONS(3447),
    [sym__disjunction_operator_custom] = ACTIONS(3447),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3447),
    [sym__eq_custom] = ACTIONS(3447),
    [sym__eq_eq_custom] = ACTIONS(3447),
    [sym__plus_then_ws] = ACTIONS(3447),
    [sym__minus_then_ws] = ACTIONS(3447),
    [sym__bang_custom] = ACTIONS(3447),
    [sym_default_keyword] = ACTIONS(3447),
    [sym__as_custom] = ACTIONS(3447),
    [sym__as_quest_custom] = ACTIONS(3447),
    [sym__as_bang_custom] = ACTIONS(3447),
    [sym__custom_operator] = ACTIONS(3447),
  },
  [1392] = {
    [anon_sym_BANG] = ACTIONS(3505),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3507),
    [anon_sym_package] = ACTIONS(3507),
    [anon_sym_COMMA] = ACTIONS(3507),
    [anon_sym_LPAREN] = ACTIONS(3507),
    [anon_sym_LBRACK] = ACTIONS(3507),
    [anon_sym_QMARK] = ACTIONS(3505),
    [anon_sym_QMARK2] = ACTIONS(3507),
    [anon_sym_AMP] = ACTIONS(3507),
    [aux_sym_custom_operator_token1] = ACTIONS(3507),
    [anon_sym_LT] = ACTIONS(3505),
    [anon_sym_GT] = ACTIONS(3505),
    [anon_sym_LBRACE] = ACTIONS(3507),
    [anon_sym_CARET_LBRACE] = ACTIONS(3507),
    [anon_sym_RBRACE] = ACTIONS(3507),
    [anon_sym_case] = ACTIONS(3507),
    [anon_sym_fallthrough] = ACTIONS(3507),
    [anon_sym_PLUS_EQ] = ACTIONS(3507),
    [anon_sym_DASH_EQ] = ACTIONS(3507),
    [anon_sym_STAR_EQ] = ACTIONS(3507),
    [anon_sym_SLASH_EQ] = ACTIONS(3507),
    [anon_sym_PERCENT_EQ] = ACTIONS(3507),
    [anon_sym_BANG_EQ] = ACTIONS(3505),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3507),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3507),
    [anon_sym_LT_EQ] = ACTIONS(3507),
    [anon_sym_GT_EQ] = ACTIONS(3507),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3507),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3507),
    [anon_sym_is] = ACTIONS(3507),
    [anon_sym_PLUS] = ACTIONS(3505),
    [anon_sym_DASH] = ACTIONS(3505),
    [anon_sym_STAR] = ACTIONS(3505),
    [anon_sym_SLASH] = ACTIONS(3505),
    [anon_sym_PERCENT] = ACTIONS(3505),
    [anon_sym_PLUS_PLUS] = ACTIONS(3507),
    [anon_sym_DASH_DASH] = ACTIONS(3507),
    [anon_sym_PIPE] = ACTIONS(3507),
    [anon_sym_CARET] = ACTIONS(3505),
    [anon_sym_LT_LT] = ACTIONS(3507),
    [anon_sym_GT_GT] = ACTIONS(3507),
    [anon_sym_class] = ACTIONS(3507),
    [anon_sym_prefix] = ACTIONS(3507),
    [anon_sym_infix] = ACTIONS(3507),
    [anon_sym_postfix] = ACTIONS(3507),
    [anon_sym_AT] = ACTIONS(3505),
    [anon_sym_override] = ACTIONS(3507),
    [anon_sym_convenience] = ACTIONS(3507),
    [anon_sym_required] = ACTIONS(3507),
    [anon_sym_nonisolated] = ACTIONS(3507),
    [anon_sym_public] = ACTIONS(3507),
    [anon_sym_private] = ACTIONS(3507),
    [anon_sym_internal] = ACTIONS(3507),
    [anon_sym_fileprivate] = ACTIONS(3507),
    [anon_sym_open] = ACTIONS(3507),
    [anon_sym_mutating] = ACTIONS(3507),
    [anon_sym_nonmutating] = ACTIONS(3507),
    [anon_sym_static] = ACTIONS(3507),
    [anon_sym_dynamic] = ACTIONS(3507),
    [anon_sym_optional] = ACTIONS(3507),
    [anon_sym_distributed] = ACTIONS(3507),
    [anon_sym_final] = ACTIONS(3507),
    [anon_sym_inout] = ACTIONS(3507),
    [anon_sym_ATescaping] = ACTIONS(3507),
    [anon_sym_ATautoclosure] = ACTIONS(3507),
    [anon_sym_weak] = ACTIONS(3507),
    [anon_sym_unowned] = ACTIONS(3505),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3507),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3507),
    [anon_sym_borrowing] = ACTIONS(3507),
    [anon_sym_consuming] = ACTIONS(3507),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3507),
    [sym__explicit_semi] = ACTIONS(3507),
    [sym__dot_custom] = ACTIONS(3507),
    [sym__conjunction_operator_custom] = ACTIONS(3507),
    [sym__disjunction_operator_custom] = ACTIONS(3507),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3507),
    [sym__eq_custom] = ACTIONS(3507),
    [sym__eq_eq_custom] = ACTIONS(3507),
    [sym__plus_then_ws] = ACTIONS(3507),
    [sym__minus_then_ws] = ACTIONS(3507),
    [sym__bang_custom] = ACTIONS(3507),
    [sym_default_keyword] = ACTIONS(3507),
    [sym__as_custom] = ACTIONS(3507),
    [sym__as_quest_custom] = ACTIONS(3507),
    [sym__as_bang_custom] = ACTIONS(3507),
    [sym__custom_operator] = ACTIONS(3507),
  },
  [1393] = {
    [anon_sym_BANG] = ACTIONS(3190),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3192),
    [anon_sym_package] = ACTIONS(3192),
    [anon_sym_COMMA] = ACTIONS(3192),
    [anon_sym_LPAREN] = ACTIONS(3192),
    [anon_sym_LBRACK] = ACTIONS(3192),
    [anon_sym_QMARK] = ACTIONS(3190),
    [anon_sym_QMARK2] = ACTIONS(3192),
    [anon_sym_AMP] = ACTIONS(3192),
    [aux_sym_custom_operator_token1] = ACTIONS(3192),
    [anon_sym_LT] = ACTIONS(3190),
    [anon_sym_GT] = ACTIONS(3190),
    [anon_sym_LBRACE] = ACTIONS(3192),
    [anon_sym_CARET_LBRACE] = ACTIONS(3192),
    [anon_sym_RBRACE] = ACTIONS(3192),
    [anon_sym_case] = ACTIONS(3192),
    [anon_sym_fallthrough] = ACTIONS(3192),
    [anon_sym_PLUS_EQ] = ACTIONS(3192),
    [anon_sym_DASH_EQ] = ACTIONS(3192),
    [anon_sym_STAR_EQ] = ACTIONS(3192),
    [anon_sym_SLASH_EQ] = ACTIONS(3192),
    [anon_sym_PERCENT_EQ] = ACTIONS(3192),
    [anon_sym_BANG_EQ] = ACTIONS(3190),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3192),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3192),
    [anon_sym_LT_EQ] = ACTIONS(3192),
    [anon_sym_GT_EQ] = ACTIONS(3192),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3192),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3192),
    [anon_sym_is] = ACTIONS(3192),
    [anon_sym_PLUS] = ACTIONS(3190),
    [anon_sym_DASH] = ACTIONS(3190),
    [anon_sym_STAR] = ACTIONS(3190),
    [anon_sym_SLASH] = ACTIONS(3190),
    [anon_sym_PERCENT] = ACTIONS(3190),
    [anon_sym_PLUS_PLUS] = ACTIONS(3192),
    [anon_sym_DASH_DASH] = ACTIONS(3192),
    [anon_sym_PIPE] = ACTIONS(3192),
    [anon_sym_CARET] = ACTIONS(3190),
    [anon_sym_LT_LT] = ACTIONS(3192),
    [anon_sym_GT_GT] = ACTIONS(3192),
    [anon_sym_class] = ACTIONS(3192),
    [anon_sym_prefix] = ACTIONS(3192),
    [anon_sym_infix] = ACTIONS(3192),
    [anon_sym_postfix] = ACTIONS(3192),
    [anon_sym_AT] = ACTIONS(3190),
    [anon_sym_override] = ACTIONS(3192),
    [anon_sym_convenience] = ACTIONS(3192),
    [anon_sym_required] = ACTIONS(3192),
    [anon_sym_nonisolated] = ACTIONS(3192),
    [anon_sym_public] = ACTIONS(3192),
    [anon_sym_private] = ACTIONS(3192),
    [anon_sym_internal] = ACTIONS(3192),
    [anon_sym_fileprivate] = ACTIONS(3192),
    [anon_sym_open] = ACTIONS(3192),
    [anon_sym_mutating] = ACTIONS(3192),
    [anon_sym_nonmutating] = ACTIONS(3192),
    [anon_sym_static] = ACTIONS(3192),
    [anon_sym_dynamic] = ACTIONS(3192),
    [anon_sym_optional] = ACTIONS(3192),
    [anon_sym_distributed] = ACTIONS(3192),
    [anon_sym_final] = ACTIONS(3192),
    [anon_sym_inout] = ACTIONS(3192),
    [anon_sym_ATescaping] = ACTIONS(3192),
    [anon_sym_ATautoclosure] = ACTIONS(3192),
    [anon_sym_weak] = ACTIONS(3192),
    [anon_sym_unowned] = ACTIONS(3190),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3192),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3192),
    [anon_sym_borrowing] = ACTIONS(3192),
    [anon_sym_consuming] = ACTIONS(3192),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3192),
    [sym__explicit_semi] = ACTIONS(3192),
    [sym__dot_custom] = ACTIONS(3192),
    [sym__conjunction_operator_custom] = ACTIONS(3192),
    [sym__disjunction_operator_custom] = ACTIONS(3192),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3192),
    [sym__eq_custom] = ACTIONS(3192),
    [sym__eq_eq_custom] = ACTIONS(3192),
    [sym__plus_then_ws] = ACTIONS(3192),
    [sym__minus_then_ws] = ACTIONS(3192),
    [sym__bang_custom] = ACTIONS(3192),
    [sym_default_keyword] = ACTIONS(3192),
    [sym__as_custom] = ACTIONS(3192),
    [sym__as_quest_custom] = ACTIONS(3192),
    [sym__as_bang_custom] = ACTIONS(3192),
    [sym__custom_operator] = ACTIONS(3192),
  },
  [1394] = {
    [anon_sym_BANG] = ACTIONS(3545),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3547),
    [anon_sym_package] = ACTIONS(3547),
    [anon_sym_COMMA] = ACTIONS(3547),
    [anon_sym_LPAREN] = ACTIONS(3547),
    [anon_sym_LBRACK] = ACTIONS(3547),
    [anon_sym_QMARK] = ACTIONS(3545),
    [anon_sym_QMARK2] = ACTIONS(3547),
    [anon_sym_AMP] = ACTIONS(3547),
    [aux_sym_custom_operator_token1] = ACTIONS(3547),
    [anon_sym_LT] = ACTIONS(3545),
    [anon_sym_GT] = ACTIONS(3545),
    [anon_sym_LBRACE] = ACTIONS(3547),
    [anon_sym_CARET_LBRACE] = ACTIONS(3547),
    [anon_sym_RBRACE] = ACTIONS(3547),
    [anon_sym_case] = ACTIONS(3547),
    [anon_sym_fallthrough] = ACTIONS(3547),
    [anon_sym_PLUS_EQ] = ACTIONS(3547),
    [anon_sym_DASH_EQ] = ACTIONS(3547),
    [anon_sym_STAR_EQ] = ACTIONS(3547),
    [anon_sym_SLASH_EQ] = ACTIONS(3547),
    [anon_sym_PERCENT_EQ] = ACTIONS(3547),
    [anon_sym_BANG_EQ] = ACTIONS(3545),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3547),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3547),
    [anon_sym_LT_EQ] = ACTIONS(3547),
    [anon_sym_GT_EQ] = ACTIONS(3547),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3547),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3547),
    [anon_sym_is] = ACTIONS(3547),
    [anon_sym_PLUS] = ACTIONS(3545),
    [anon_sym_DASH] = ACTIONS(3545),
    [anon_sym_STAR] = ACTIONS(3545),
    [anon_sym_SLASH] = ACTIONS(3545),
    [anon_sym_PERCENT] = ACTIONS(3545),
    [anon_sym_PLUS_PLUS] = ACTIONS(3547),
    [anon_sym_DASH_DASH] = ACTIONS(3547),
    [anon_sym_PIPE] = ACTIONS(3547),
    [anon_sym_CARET] = ACTIONS(3545),
    [anon_sym_LT_LT] = ACTIONS(3547),
    [anon_sym_GT_GT] = ACTIONS(3547),
    [anon_sym_class] = ACTIONS(3547),
    [anon_sym_prefix] = ACTIONS(3547),
    [anon_sym_infix] = ACTIONS(3547),
    [anon_sym_postfix] = ACTIONS(3547),
    [anon_sym_AT] = ACTIONS(3545),
    [anon_sym_override] = ACTIONS(3547),
    [anon_sym_convenience] = ACTIONS(3547),
    [anon_sym_required] = ACTIONS(3547),
    [anon_sym_nonisolated] = ACTIONS(3547),
    [anon_sym_public] = ACTIONS(3547),
    [anon_sym_private] = ACTIONS(3547),
    [anon_sym_internal] = ACTIONS(3547),
    [anon_sym_fileprivate] = ACTIONS(3547),
    [anon_sym_open] = ACTIONS(3547),
    [anon_sym_mutating] = ACTIONS(3547),
    [anon_sym_nonmutating] = ACTIONS(3547),
    [anon_sym_static] = ACTIONS(3547),
    [anon_sym_dynamic] = ACTIONS(3547),
    [anon_sym_optional] = ACTIONS(3547),
    [anon_sym_distributed] = ACTIONS(3547),
    [anon_sym_final] = ACTIONS(3547),
    [anon_sym_inout] = ACTIONS(3547),
    [anon_sym_ATescaping] = ACTIONS(3547),
    [anon_sym_ATautoclosure] = ACTIONS(3547),
    [anon_sym_weak] = ACTIONS(3547),
    [anon_sym_unowned] = ACTIONS(3545),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3547),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3547),
    [anon_sym_borrowing] = ACTIONS(3547),
    [anon_sym_consuming] = ACTIONS(3547),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3547),
    [sym__explicit_semi] = ACTIONS(3547),
    [sym__dot_custom] = ACTIONS(3547),
    [sym__conjunction_operator_custom] = ACTIONS(3547),
    [sym__disjunction_operator_custom] = ACTIONS(3547),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3547),
    [sym__eq_custom] = ACTIONS(3547),
    [sym__eq_eq_custom] = ACTIONS(3547),
    [sym__plus_then_ws] = ACTIONS(3547),
    [sym__minus_then_ws] = ACTIONS(3547),
    [sym__bang_custom] = ACTIONS(3547),
    [sym_default_keyword] = ACTIONS(3547),
    [sym__as_custom] = ACTIONS(3547),
    [sym__as_quest_custom] = ACTIONS(3547),
    [sym__as_bang_custom] = ACTIONS(3547),
    [sym__custom_operator] = ACTIONS(3547),
  },
  [1395] = {
    [anon_sym_BANG] = ACTIONS(3317),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3319),
    [anon_sym_package] = ACTIONS(3319),
    [anon_sym_COMMA] = ACTIONS(3319),
    [anon_sym_LPAREN] = ACTIONS(3319),
    [anon_sym_LBRACK] = ACTIONS(3319),
    [anon_sym_QMARK] = ACTIONS(3317),
    [anon_sym_QMARK2] = ACTIONS(3319),
    [anon_sym_AMP] = ACTIONS(3319),
    [aux_sym_custom_operator_token1] = ACTIONS(3319),
    [anon_sym_LT] = ACTIONS(3317),
    [anon_sym_GT] = ACTIONS(3317),
    [anon_sym_LBRACE] = ACTIONS(3319),
    [anon_sym_CARET_LBRACE] = ACTIONS(3319),
    [anon_sym_RBRACE] = ACTIONS(3319),
    [anon_sym_case] = ACTIONS(3319),
    [anon_sym_fallthrough] = ACTIONS(3319),
    [anon_sym_PLUS_EQ] = ACTIONS(3319),
    [anon_sym_DASH_EQ] = ACTIONS(3319),
    [anon_sym_STAR_EQ] = ACTIONS(3319),
    [anon_sym_SLASH_EQ] = ACTIONS(3319),
    [anon_sym_PERCENT_EQ] = ACTIONS(3319),
    [anon_sym_BANG_EQ] = ACTIONS(3317),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3319),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3319),
    [anon_sym_LT_EQ] = ACTIONS(3319),
    [anon_sym_GT_EQ] = ACTIONS(3319),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3319),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3319),
    [anon_sym_is] = ACTIONS(3319),
    [anon_sym_PLUS] = ACTIONS(3317),
    [anon_sym_DASH] = ACTIONS(3317),
    [anon_sym_STAR] = ACTIONS(3317),
    [anon_sym_SLASH] = ACTIONS(3317),
    [anon_sym_PERCENT] = ACTIONS(3317),
    [anon_sym_PLUS_PLUS] = ACTIONS(3319),
    [anon_sym_DASH_DASH] = ACTIONS(3319),
    [anon_sym_PIPE] = ACTIONS(3319),
    [anon_sym_CARET] = ACTIONS(3317),
    [anon_sym_LT_LT] = ACTIONS(3319),
    [anon_sym_GT_GT] = ACTIONS(3319),
    [anon_sym_class] = ACTIONS(3319),
    [anon_sym_prefix] = ACTIONS(3319),
    [anon_sym_infix] = ACTIONS(3319),
    [anon_sym_postfix] = ACTIONS(3319),
    [anon_sym_AT] = ACTIONS(3317),
    [anon_sym_override] = ACTIONS(3319),
    [anon_sym_convenience] = ACTIONS(3319),
    [anon_sym_required] = ACTIONS(3319),
    [anon_sym_nonisolated] = ACTIONS(3319),
    [anon_sym_public] = ACTIONS(3319),
    [anon_sym_private] = ACTIONS(3319),
    [anon_sym_internal] = ACTIONS(3319),
    [anon_sym_fileprivate] = ACTIONS(3319),
    [anon_sym_open] = ACTIONS(3319),
    [anon_sym_mutating] = ACTIONS(3319),
    [anon_sym_nonmutating] = ACTIONS(3319),
    [anon_sym_static] = ACTIONS(3319),
    [anon_sym_dynamic] = ACTIONS(3319),
    [anon_sym_optional] = ACTIONS(3319),
    [anon_sym_distributed] = ACTIONS(3319),
    [anon_sym_final] = ACTIONS(3319),
    [anon_sym_inout] = ACTIONS(3319),
    [anon_sym_ATescaping] = ACTIONS(3319),
    [anon_sym_ATautoclosure] = ACTIONS(3319),
    [anon_sym_weak] = ACTIONS(3319),
    [anon_sym_unowned] = ACTIONS(3317),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3319),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3319),
    [anon_sym_borrowing] = ACTIONS(3319),
    [anon_sym_consuming] = ACTIONS(3319),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3319),
    [sym__explicit_semi] = ACTIONS(3319),
    [sym__dot_custom] = ACTIONS(3319),
    [sym__conjunction_operator_custom] = ACTIONS(3319),
    [sym__disjunction_operator_custom] = ACTIONS(3319),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3319),
    [sym__eq_custom] = ACTIONS(3319),
    [sym__eq_eq_custom] = ACTIONS(3319),
    [sym__plus_then_ws] = ACTIONS(3319),
    [sym__minus_then_ws] = ACTIONS(3319),
    [sym__bang_custom] = ACTIONS(3319),
    [sym_default_keyword] = ACTIONS(3319),
    [sym__as_custom] = ACTIONS(3319),
    [sym__as_quest_custom] = ACTIONS(3319),
    [sym__as_bang_custom] = ACTIONS(3319),
    [sym__custom_operator] = ACTIONS(3319),
  },
  [1396] = {
    [anon_sym_BANG] = ACTIONS(2781),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(2779),
    [anon_sym_package] = ACTIONS(2779),
    [anon_sym_COMMA] = ACTIONS(2779),
    [anon_sym_LPAREN] = ACTIONS(2779),
    [anon_sym_LBRACK] = ACTIONS(2779),
    [anon_sym_QMARK] = ACTIONS(2781),
    [anon_sym_QMARK2] = ACTIONS(2779),
    [anon_sym_AMP] = ACTIONS(2779),
    [aux_sym_custom_operator_token1] = ACTIONS(2779),
    [anon_sym_LT] = ACTIONS(2781),
    [anon_sym_GT] = ACTIONS(2781),
    [anon_sym_LBRACE] = ACTIONS(2779),
    [anon_sym_CARET_LBRACE] = ACTIONS(2779),
    [anon_sym_RBRACE] = ACTIONS(2779),
    [anon_sym_case] = ACTIONS(2779),
    [anon_sym_fallthrough] = ACTIONS(2779),
    [anon_sym_PLUS_EQ] = ACTIONS(2779),
    [anon_sym_DASH_EQ] = ACTIONS(2779),
    [anon_sym_STAR_EQ] = ACTIONS(2779),
    [anon_sym_SLASH_EQ] = ACTIONS(2779),
    [anon_sym_PERCENT_EQ] = ACTIONS(2779),
    [anon_sym_BANG_EQ] = ACTIONS(2781),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2779),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2779),
    [anon_sym_LT_EQ] = ACTIONS(2779),
    [anon_sym_GT_EQ] = ACTIONS(2779),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2779),
    [anon_sym_is] = ACTIONS(2779),
    [anon_sym_PLUS] = ACTIONS(2781),
    [anon_sym_DASH] = ACTIONS(2781),
    [anon_sym_STAR] = ACTIONS(2781),
    [anon_sym_SLASH] = ACTIONS(2781),
    [anon_sym_PERCENT] = ACTIONS(2781),
    [anon_sym_PLUS_PLUS] = ACTIONS(2779),
    [anon_sym_DASH_DASH] = ACTIONS(2779),
    [anon_sym_PIPE] = ACTIONS(2779),
    [anon_sym_CARET] = ACTIONS(2781),
    [anon_sym_LT_LT] = ACTIONS(2779),
    [anon_sym_GT_GT] = ACTIONS(2779),
    [anon_sym_class] = ACTIONS(2779),
    [anon_sym_prefix] = ACTIONS(2779),
    [anon_sym_infix] = ACTIONS(2779),
    [anon_sym_postfix] = ACTIONS(2779),
    [anon_sym_AT] = ACTIONS(2781),
    [anon_sym_override] = ACTIONS(2779),
    [anon_sym_convenience] = ACTIONS(2779),
    [anon_sym_required] = ACTIONS(2779),
    [anon_sym_nonisolated] = ACTIONS(2779),
    [anon_sym_public] = ACTIONS(2779),
    [anon_sym_private] = ACTIONS(2779),
    [anon_sym_internal] = ACTIONS(2779),
    [anon_sym_fileprivate] = ACTIONS(2779),
    [anon_sym_open] = ACTIONS(2779),
    [anon_sym_mutating] = ACTIONS(2779),
    [anon_sym_nonmutating] = ACTIONS(2779),
    [anon_sym_static] = ACTIONS(2779),
    [anon_sym_dynamic] = ACTIONS(2779),
    [anon_sym_optional] = ACTIONS(2779),
    [anon_sym_distributed] = ACTIONS(2779),
    [anon_sym_final] = ACTIONS(2779),
    [anon_sym_inout] = ACTIONS(2779),
    [anon_sym_ATescaping] = ACTIONS(2779),
    [anon_sym_ATautoclosure] = ACTIONS(2779),
    [anon_sym_weak] = ACTIONS(2779),
    [anon_sym_unowned] = ACTIONS(2781),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2779),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2779),
    [anon_sym_borrowing] = ACTIONS(2779),
    [anon_sym_consuming] = ACTIONS(2779),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2779),
    [sym__explicit_semi] = ACTIONS(2779),
    [sym__dot_custom] = ACTIONS(2779),
    [sym__conjunction_operator_custom] = ACTIONS(2779),
    [sym__disjunction_operator_custom] = ACTIONS(2779),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2779),
    [sym__eq_custom] = ACTIONS(2779),
    [sym__eq_eq_custom] = ACTIONS(2779),
    [sym__plus_then_ws] = ACTIONS(2779),
    [sym__minus_then_ws] = ACTIONS(2779),
    [sym__bang_custom] = ACTIONS(2779),
    [sym_default_keyword] = ACTIONS(2779),
    [sym__as_custom] = ACTIONS(2779),
    [sym__as_quest_custom] = ACTIONS(2779),
    [sym__as_bang_custom] = ACTIONS(2779),
    [sym__custom_operator] = ACTIONS(2779),
  },
  [1397] = {
    [anon_sym_BANG] = ACTIONS(3537),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3539),
    [anon_sym_package] = ACTIONS(3539),
    [anon_sym_COMMA] = ACTIONS(3539),
    [anon_sym_LPAREN] = ACTIONS(3539),
    [anon_sym_LBRACK] = ACTIONS(3539),
    [anon_sym_QMARK] = ACTIONS(3537),
    [anon_sym_QMARK2] = ACTIONS(3539),
    [anon_sym_AMP] = ACTIONS(3539),
    [aux_sym_custom_operator_token1] = ACTIONS(3539),
    [anon_sym_LT] = ACTIONS(3537),
    [anon_sym_GT] = ACTIONS(3537),
    [anon_sym_LBRACE] = ACTIONS(3539),
    [anon_sym_CARET_LBRACE] = ACTIONS(3539),
    [anon_sym_RBRACE] = ACTIONS(3539),
    [anon_sym_case] = ACTIONS(3539),
    [anon_sym_fallthrough] = ACTIONS(3539),
    [anon_sym_PLUS_EQ] = ACTIONS(3539),
    [anon_sym_DASH_EQ] = ACTIONS(3539),
    [anon_sym_STAR_EQ] = ACTIONS(3539),
    [anon_sym_SLASH_EQ] = ACTIONS(3539),
    [anon_sym_PERCENT_EQ] = ACTIONS(3539),
    [anon_sym_BANG_EQ] = ACTIONS(3537),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3539),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3539),
    [anon_sym_LT_EQ] = ACTIONS(3539),
    [anon_sym_GT_EQ] = ACTIONS(3539),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3539),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3539),
    [anon_sym_is] = ACTIONS(3539),
    [anon_sym_PLUS] = ACTIONS(3537),
    [anon_sym_DASH] = ACTIONS(3537),
    [anon_sym_STAR] = ACTIONS(3537),
    [anon_sym_SLASH] = ACTIONS(3537),
    [anon_sym_PERCENT] = ACTIONS(3537),
    [anon_sym_PLUS_PLUS] = ACTIONS(3539),
    [anon_sym_DASH_DASH] = ACTIONS(3539),
    [anon_sym_PIPE] = ACTIONS(3539),
    [anon_sym_CARET] = ACTIONS(3537),
    [anon_sym_LT_LT] = ACTIONS(3539),
    [anon_sym_GT_GT] = ACTIONS(3539),
    [anon_sym_class] = ACTIONS(3539),
    [anon_sym_prefix] = ACTIONS(3539),
    [anon_sym_infix] = ACTIONS(3539),
    [anon_sym_postfix] = ACTIONS(3539),
    [anon_sym_AT] = ACTIONS(3537),
    [anon_sym_override] = ACTIONS(3539),
    [anon_sym_convenience] = ACTIONS(3539),
    [anon_sym_required] = ACTIONS(3539),
    [anon_sym_nonisolated] = ACTIONS(3539),
    [anon_sym_public] = ACTIONS(3539),
    [anon_sym_private] = ACTIONS(3539),
    [anon_sym_internal] = ACTIONS(3539),
    [anon_sym_fileprivate] = ACTIONS(3539),
    [anon_sym_open] = ACTIONS(3539),
    [anon_sym_mutating] = ACTIONS(3539),
    [anon_sym_nonmutating] = ACTIONS(3539),
    [anon_sym_static] = ACTIONS(3539),
    [anon_sym_dynamic] = ACTIONS(3539),
    [anon_sym_optional] = ACTIONS(3539),
    [anon_sym_distributed] = ACTIONS(3539),
    [anon_sym_final] = ACTIONS(3539),
    [anon_sym_inout] = ACTIONS(3539),
    [anon_sym_ATescaping] = ACTIONS(3539),
    [anon_sym_ATautoclosure] = ACTIONS(3539),
    [anon_sym_weak] = ACTIONS(3539),
    [anon_sym_unowned] = ACTIONS(3537),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3539),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3539),
    [anon_sym_borrowing] = ACTIONS(3539),
    [anon_sym_consuming] = ACTIONS(3539),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3539),
    [sym__explicit_semi] = ACTIONS(3539),
    [sym__dot_custom] = ACTIONS(3539),
    [sym__conjunction_operator_custom] = ACTIONS(3539),
    [sym__disjunction_operator_custom] = ACTIONS(3539),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3539),
    [sym__eq_custom] = ACTIONS(3539),
    [sym__eq_eq_custom] = ACTIONS(3539),
    [sym__plus_then_ws] = ACTIONS(3539),
    [sym__minus_then_ws] = ACTIONS(3539),
    [sym__bang_custom] = ACTIONS(3539),
    [sym_default_keyword] = ACTIONS(3539),
    [sym__as_custom] = ACTIONS(3539),
    [sym__as_quest_custom] = ACTIONS(3539),
    [sym__as_bang_custom] = ACTIONS(3539),
    [sym__custom_operator] = ACTIONS(3539),
  },
  [1398] = {
    [anon_sym_BANG] = ACTIONS(3529),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3531),
    [anon_sym_package] = ACTIONS(3531),
    [anon_sym_COMMA] = ACTIONS(3531),
    [anon_sym_LPAREN] = ACTIONS(3531),
    [anon_sym_LBRACK] = ACTIONS(3531),
    [anon_sym_QMARK] = ACTIONS(3529),
    [anon_sym_QMARK2] = ACTIONS(3531),
    [anon_sym_AMP] = ACTIONS(3531),
    [aux_sym_custom_operator_token1] = ACTIONS(3531),
    [anon_sym_LT] = ACTIONS(3529),
    [anon_sym_GT] = ACTIONS(3529),
    [anon_sym_LBRACE] = ACTIONS(3531),
    [anon_sym_CARET_LBRACE] = ACTIONS(3531),
    [anon_sym_RBRACE] = ACTIONS(3531),
    [anon_sym_case] = ACTIONS(3531),
    [anon_sym_fallthrough] = ACTIONS(3531),
    [anon_sym_PLUS_EQ] = ACTIONS(3531),
    [anon_sym_DASH_EQ] = ACTIONS(3531),
    [anon_sym_STAR_EQ] = ACTIONS(3531),
    [anon_sym_SLASH_EQ] = ACTIONS(3531),
    [anon_sym_PERCENT_EQ] = ACTIONS(3531),
    [anon_sym_BANG_EQ] = ACTIONS(3529),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3531),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3531),
    [anon_sym_LT_EQ] = ACTIONS(3531),
    [anon_sym_GT_EQ] = ACTIONS(3531),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3531),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3531),
    [anon_sym_is] = ACTIONS(3531),
    [anon_sym_PLUS] = ACTIONS(3529),
    [anon_sym_DASH] = ACTIONS(3529),
    [anon_sym_STAR] = ACTIONS(3529),
    [anon_sym_SLASH] = ACTIONS(3529),
    [anon_sym_PERCENT] = ACTIONS(3529),
    [anon_sym_PLUS_PLUS] = ACTIONS(3531),
    [anon_sym_DASH_DASH] = ACTIONS(3531),
    [anon_sym_PIPE] = ACTIONS(3531),
    [anon_sym_CARET] = ACTIONS(3529),
    [anon_sym_LT_LT] = ACTIONS(3531),
    [anon_sym_GT_GT] = ACTIONS(3531),
    [anon_sym_class] = ACTIONS(3531),
    [anon_sym_prefix] = ACTIONS(3531),
    [anon_sym_infix] = ACTIONS(3531),
    [anon_sym_postfix] = ACTIONS(3531),
    [anon_sym_AT] = ACTIONS(3529),
    [anon_sym_override] = ACTIONS(3531),
    [anon_sym_convenience] = ACTIONS(3531),
    [anon_sym_required] = ACTIONS(3531),
    [anon_sym_nonisolated] = ACTIONS(3531),
    [anon_sym_public] = ACTIONS(3531),
    [anon_sym_private] = ACTIONS(3531),
    [anon_sym_internal] = ACTIONS(3531),
    [anon_sym_fileprivate] = ACTIONS(3531),
    [anon_sym_open] = ACTIONS(3531),
    [anon_sym_mutating] = ACTIONS(3531),
    [anon_sym_nonmutating] = ACTIONS(3531),
    [anon_sym_static] = ACTIONS(3531),
    [anon_sym_dynamic] = ACTIONS(3531),
    [anon_sym_optional] = ACTIONS(3531),
    [anon_sym_distributed] = ACTIONS(3531),
    [anon_sym_final] = ACTIONS(3531),
    [anon_sym_inout] = ACTIONS(3531),
    [anon_sym_ATescaping] = ACTIONS(3531),
    [anon_sym_ATautoclosure] = ACTIONS(3531),
    [anon_sym_weak] = ACTIONS(3531),
    [anon_sym_unowned] = ACTIONS(3529),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3531),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3531),
    [anon_sym_borrowing] = ACTIONS(3531),
    [anon_sym_consuming] = ACTIONS(3531),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3531),
    [sym__explicit_semi] = ACTIONS(3531),
    [sym__dot_custom] = ACTIONS(3531),
    [sym__conjunction_operator_custom] = ACTIONS(3531),
    [sym__disjunction_operator_custom] = ACTIONS(3531),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3531),
    [sym__eq_custom] = ACTIONS(3531),
    [sym__eq_eq_custom] = ACTIONS(3531),
    [sym__plus_then_ws] = ACTIONS(3531),
    [sym__minus_then_ws] = ACTIONS(3531),
    [sym__bang_custom] = ACTIONS(3531),
    [sym_default_keyword] = ACTIONS(3531),
    [sym__as_custom] = ACTIONS(3531),
    [sym__as_quest_custom] = ACTIONS(3531),
    [sym__as_bang_custom] = ACTIONS(3531),
    [sym__custom_operator] = ACTIONS(3531),
  },
  [1399] = {
    [anon_sym_BANG] = ACTIONS(3573),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3575),
    [anon_sym_package] = ACTIONS(3575),
    [anon_sym_COMMA] = ACTIONS(3575),
    [anon_sym_LPAREN] = ACTIONS(3575),
    [anon_sym_LBRACK] = ACTIONS(3575),
    [anon_sym_QMARK] = ACTIONS(3573),
    [anon_sym_QMARK2] = ACTIONS(3575),
    [anon_sym_AMP] = ACTIONS(3575),
    [aux_sym_custom_operator_token1] = ACTIONS(3575),
    [anon_sym_LT] = ACTIONS(3573),
    [anon_sym_GT] = ACTIONS(3573),
    [anon_sym_LBRACE] = ACTIONS(3575),
    [anon_sym_CARET_LBRACE] = ACTIONS(3575),
    [anon_sym_RBRACE] = ACTIONS(3575),
    [anon_sym_case] = ACTIONS(3575),
    [anon_sym_fallthrough] = ACTIONS(3575),
    [anon_sym_PLUS_EQ] = ACTIONS(3575),
    [anon_sym_DASH_EQ] = ACTIONS(3575),
    [anon_sym_STAR_EQ] = ACTIONS(3575),
    [anon_sym_SLASH_EQ] = ACTIONS(3575),
    [anon_sym_PERCENT_EQ] = ACTIONS(3575),
    [anon_sym_BANG_EQ] = ACTIONS(3573),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3575),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3575),
    [anon_sym_LT_EQ] = ACTIONS(3575),
    [anon_sym_GT_EQ] = ACTIONS(3575),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3575),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3575),
    [anon_sym_is] = ACTIONS(3575),
    [anon_sym_PLUS] = ACTIONS(3573),
    [anon_sym_DASH] = ACTIONS(3573),
    [anon_sym_STAR] = ACTIONS(3573),
    [anon_sym_SLASH] = ACTIONS(3573),
    [anon_sym_PERCENT] = ACTIONS(3573),
    [anon_sym_PLUS_PLUS] = ACTIONS(3575),
    [anon_sym_DASH_DASH] = ACTIONS(3575),
    [anon_sym_PIPE] = ACTIONS(3575),
    [anon_sym_CARET] = ACTIONS(3573),
    [anon_sym_LT_LT] = ACTIONS(3575),
    [anon_sym_GT_GT] = ACTIONS(3575),
    [anon_sym_class] = ACTIONS(3575),
    [anon_sym_prefix] = ACTIONS(3575),
    [anon_sym_infix] = ACTIONS(3575),
    [anon_sym_postfix] = ACTIONS(3575),
    [anon_sym_AT] = ACTIONS(3573),
    [anon_sym_override] = ACTIONS(3575),
    [anon_sym_convenience] = ACTIONS(3575),
    [anon_sym_required] = ACTIONS(3575),
    [anon_sym_nonisolated] = ACTIONS(3575),
    [anon_sym_public] = ACTIONS(3575),
    [anon_sym_private] = ACTIONS(3575),
    [anon_sym_internal] = ACTIONS(3575),
    [anon_sym_fileprivate] = ACTIONS(3575),
    [anon_sym_open] = ACTIONS(3575),
    [anon_sym_mutating] = ACTIONS(3575),
    [anon_sym_nonmutating] = ACTIONS(3575),
    [anon_sym_static] = ACTIONS(3575),
    [anon_sym_dynamic] = ACTIONS(3575),
    [anon_sym_optional] = ACTIONS(3575),
    [anon_sym_distributed] = ACTIONS(3575),
    [anon_sym_final] = ACTIONS(3575),
    [anon_sym_inout] = ACTIONS(3575),
    [anon_sym_ATescaping] = ACTIONS(3575),
    [anon_sym_ATautoclosure] = ACTIONS(3575),
    [anon_sym_weak] = ACTIONS(3575),
    [anon_sym_unowned] = ACTIONS(3573),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3575),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3575),
    [anon_sym_borrowing] = ACTIONS(3575),
    [anon_sym_consuming] = ACTIONS(3575),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3575),
    [sym__explicit_semi] = ACTIONS(3575),
    [sym__dot_custom] = ACTIONS(3575),
    [sym__conjunction_operator_custom] = ACTIONS(3575),
    [sym__disjunction_operator_custom] = ACTIONS(3575),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3575),
    [sym__eq_custom] = ACTIONS(3575),
    [sym__eq_eq_custom] = ACTIONS(3575),
    [sym__plus_then_ws] = ACTIONS(3575),
    [sym__minus_then_ws] = ACTIONS(3575),
    [sym__bang_custom] = ACTIONS(3575),
    [sym_default_keyword] = ACTIONS(3575),
    [sym__as_custom] = ACTIONS(3575),
    [sym__as_quest_custom] = ACTIONS(3575),
    [sym__as_bang_custom] = ACTIONS(3575),
    [sym__custom_operator] = ACTIONS(3575),
  },
  [1400] = {
    [anon_sym_BANG] = ACTIONS(3585),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3587),
    [anon_sym_package] = ACTIONS(3587),
    [anon_sym_COMMA] = ACTIONS(3587),
    [anon_sym_LPAREN] = ACTIONS(3587),
    [anon_sym_LBRACK] = ACTIONS(3587),
    [anon_sym_QMARK] = ACTIONS(3585),
    [anon_sym_QMARK2] = ACTIONS(3587),
    [anon_sym_AMP] = ACTIONS(3587),
    [aux_sym_custom_operator_token1] = ACTIONS(3587),
    [anon_sym_LT] = ACTIONS(3585),
    [anon_sym_GT] = ACTIONS(3585),
    [anon_sym_LBRACE] = ACTIONS(3587),
    [anon_sym_CARET_LBRACE] = ACTIONS(3587),
    [anon_sym_RBRACE] = ACTIONS(3587),
    [anon_sym_case] = ACTIONS(3587),
    [anon_sym_fallthrough] = ACTIONS(3587),
    [anon_sym_PLUS_EQ] = ACTIONS(3587),
    [anon_sym_DASH_EQ] = ACTIONS(3587),
    [anon_sym_STAR_EQ] = ACTIONS(3587),
    [anon_sym_SLASH_EQ] = ACTIONS(3587),
    [anon_sym_PERCENT_EQ] = ACTIONS(3587),
    [anon_sym_BANG_EQ] = ACTIONS(3585),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3587),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3587),
    [anon_sym_LT_EQ] = ACTIONS(3587),
    [anon_sym_GT_EQ] = ACTIONS(3587),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3587),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3587),
    [anon_sym_is] = ACTIONS(3587),
    [anon_sym_PLUS] = ACTIONS(3585),
    [anon_sym_DASH] = ACTIONS(3585),
    [anon_sym_STAR] = ACTIONS(3585),
    [anon_sym_SLASH] = ACTIONS(3585),
    [anon_sym_PERCENT] = ACTIONS(3585),
    [anon_sym_PLUS_PLUS] = ACTIONS(3587),
    [anon_sym_DASH_DASH] = ACTIONS(3587),
    [anon_sym_PIPE] = ACTIONS(3587),
    [anon_sym_CARET] = ACTIONS(3585),
    [anon_sym_LT_LT] = ACTIONS(3587),
    [anon_sym_GT_GT] = ACTIONS(3587),
    [anon_sym_class] = ACTIONS(3587),
    [anon_sym_prefix] = ACTIONS(3587),
    [anon_sym_infix] = ACTIONS(3587),
    [anon_sym_postfix] = ACTIONS(3587),
    [anon_sym_AT] = ACTIONS(3585),
    [anon_sym_override] = ACTIONS(3587),
    [anon_sym_convenience] = ACTIONS(3587),
    [anon_sym_required] = ACTIONS(3587),
    [anon_sym_nonisolated] = ACTIONS(3587),
    [anon_sym_public] = ACTIONS(3587),
    [anon_sym_private] = ACTIONS(3587),
    [anon_sym_internal] = ACTIONS(3587),
    [anon_sym_fileprivate] = ACTIONS(3587),
    [anon_sym_open] = ACTIONS(3587),
    [anon_sym_mutating] = ACTIONS(3587),
    [anon_sym_nonmutating] = ACTIONS(3587),
    [anon_sym_static] = ACTIONS(3587),
    [anon_sym_dynamic] = ACTIONS(3587),
    [anon_sym_optional] = ACTIONS(3587),
    [anon_sym_distributed] = ACTIONS(3587),
    [anon_sym_final] = ACTIONS(3587),
    [anon_sym_inout] = ACTIONS(3587),
    [anon_sym_ATescaping] = ACTIONS(3587),
    [anon_sym_ATautoclosure] = ACTIONS(3587),
    [anon_sym_weak] = ACTIONS(3587),
    [anon_sym_unowned] = ACTIONS(3585),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3587),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3587),
    [anon_sym_borrowing] = ACTIONS(3587),
    [anon_sym_consuming] = ACTIONS(3587),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3587),
    [sym__explicit_semi] = ACTIONS(3587),
    [sym__dot_custom] = ACTIONS(3587),
    [sym__conjunction_operator_custom] = ACTIONS(3587),
    [sym__disjunction_operator_custom] = ACTIONS(3587),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3587),
    [sym__eq_custom] = ACTIONS(3587),
    [sym__eq_eq_custom] = ACTIONS(3587),
    [sym__plus_then_ws] = ACTIONS(3587),
    [sym__minus_then_ws] = ACTIONS(3587),
    [sym__bang_custom] = ACTIONS(3587),
    [sym_default_keyword] = ACTIONS(3587),
    [sym__as_custom] = ACTIONS(3587),
    [sym__as_quest_custom] = ACTIONS(3587),
    [sym__as_bang_custom] = ACTIONS(3587),
    [sym__custom_operator] = ACTIONS(3587),
  },
  [1401] = {
    [anon_sym_BANG] = ACTIONS(3605),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3607),
    [anon_sym_package] = ACTIONS(3607),
    [anon_sym_COMMA] = ACTIONS(3607),
    [anon_sym_LPAREN] = ACTIONS(3607),
    [anon_sym_LBRACK] = ACTIONS(3607),
    [anon_sym_QMARK] = ACTIONS(3605),
    [anon_sym_QMARK2] = ACTIONS(3607),
    [anon_sym_AMP] = ACTIONS(3607),
    [aux_sym_custom_operator_token1] = ACTIONS(3607),
    [anon_sym_LT] = ACTIONS(3605),
    [anon_sym_GT] = ACTIONS(3605),
    [anon_sym_LBRACE] = ACTIONS(3607),
    [anon_sym_CARET_LBRACE] = ACTIONS(3607),
    [anon_sym_RBRACE] = ACTIONS(3607),
    [anon_sym_case] = ACTIONS(3607),
    [anon_sym_fallthrough] = ACTIONS(3607),
    [anon_sym_PLUS_EQ] = ACTIONS(3607),
    [anon_sym_DASH_EQ] = ACTIONS(3607),
    [anon_sym_STAR_EQ] = ACTIONS(3607),
    [anon_sym_SLASH_EQ] = ACTIONS(3607),
    [anon_sym_PERCENT_EQ] = ACTIONS(3607),
    [anon_sym_BANG_EQ] = ACTIONS(3605),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3607),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3607),
    [anon_sym_LT_EQ] = ACTIONS(3607),
    [anon_sym_GT_EQ] = ACTIONS(3607),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3607),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3607),
    [anon_sym_is] = ACTIONS(3607),
    [anon_sym_PLUS] = ACTIONS(3605),
    [anon_sym_DASH] = ACTIONS(3605),
    [anon_sym_STAR] = ACTIONS(3605),
    [anon_sym_SLASH] = ACTIONS(3605),
    [anon_sym_PERCENT] = ACTIONS(3605),
    [anon_sym_PLUS_PLUS] = ACTIONS(3607),
    [anon_sym_DASH_DASH] = ACTIONS(3607),
    [anon_sym_PIPE] = ACTIONS(3607),
    [anon_sym_CARET] = ACTIONS(3605),
    [anon_sym_LT_LT] = ACTIONS(3607),
    [anon_sym_GT_GT] = ACTIONS(3607),
    [anon_sym_class] = ACTIONS(3607),
    [anon_sym_prefix] = ACTIONS(3607),
    [anon_sym_infix] = ACTIONS(3607),
    [anon_sym_postfix] = ACTIONS(3607),
    [anon_sym_AT] = ACTIONS(3605),
    [anon_sym_override] = ACTIONS(3607),
    [anon_sym_convenience] = ACTIONS(3607),
    [anon_sym_required] = ACTIONS(3607),
    [anon_sym_nonisolated] = ACTIONS(3607),
    [anon_sym_public] = ACTIONS(3607),
    [anon_sym_private] = ACTIONS(3607),
    [anon_sym_internal] = ACTIONS(3607),
    [anon_sym_fileprivate] = ACTIONS(3607),
    [anon_sym_open] = ACTIONS(3607),
    [anon_sym_mutating] = ACTIONS(3607),
    [anon_sym_nonmutating] = ACTIONS(3607),
    [anon_sym_static] = ACTIONS(3607),
    [anon_sym_dynamic] = ACTIONS(3607),
    [anon_sym_optional] = ACTIONS(3607),
    [anon_sym_distributed] = ACTIONS(3607),
    [anon_sym_final] = ACTIONS(3607),
    [anon_sym_inout] = ACTIONS(3607),
    [anon_sym_ATescaping] = ACTIONS(3607),
    [anon_sym_ATautoclosure] = ACTIONS(3607),
    [anon_sym_weak] = ACTIONS(3607),
    [anon_sym_unowned] = ACTIONS(3605),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3607),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3607),
    [anon_sym_borrowing] = ACTIONS(3607),
    [anon_sym_consuming] = ACTIONS(3607),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3607),
    [sym__explicit_semi] = ACTIONS(3607),
    [sym__dot_custom] = ACTIONS(3607),
    [sym__conjunction_operator_custom] = ACTIONS(3607),
    [sym__disjunction_operator_custom] = ACTIONS(3607),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3607),
    [sym__eq_custom] = ACTIONS(3607),
    [sym__eq_eq_custom] = ACTIONS(3607),
    [sym__plus_then_ws] = ACTIONS(3607),
    [sym__minus_then_ws] = ACTIONS(3607),
    [sym__bang_custom] = ACTIONS(3607),
    [sym_default_keyword] = ACTIONS(3607),
    [sym__as_custom] = ACTIONS(3607),
    [sym__as_quest_custom] = ACTIONS(3607),
    [sym__as_bang_custom] = ACTIONS(3607),
    [sym__custom_operator] = ACTIONS(3607),
  },
  [1402] = {
    [anon_sym_BANG] = ACTIONS(3525),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3527),
    [anon_sym_package] = ACTIONS(3527),
    [anon_sym_COMMA] = ACTIONS(3527),
    [anon_sym_LPAREN] = ACTIONS(3527),
    [anon_sym_LBRACK] = ACTIONS(3527),
    [anon_sym_QMARK] = ACTIONS(3525),
    [anon_sym_QMARK2] = ACTIONS(3527),
    [anon_sym_AMP] = ACTIONS(3527),
    [aux_sym_custom_operator_token1] = ACTIONS(3527),
    [anon_sym_LT] = ACTIONS(3525),
    [anon_sym_GT] = ACTIONS(3525),
    [anon_sym_LBRACE] = ACTIONS(3527),
    [anon_sym_CARET_LBRACE] = ACTIONS(3527),
    [anon_sym_RBRACE] = ACTIONS(3527),
    [anon_sym_case] = ACTIONS(3527),
    [anon_sym_fallthrough] = ACTIONS(3527),
    [anon_sym_PLUS_EQ] = ACTIONS(3527),
    [anon_sym_DASH_EQ] = ACTIONS(3527),
    [anon_sym_STAR_EQ] = ACTIONS(3527),
    [anon_sym_SLASH_EQ] = ACTIONS(3527),
    [anon_sym_PERCENT_EQ] = ACTIONS(3527),
    [anon_sym_BANG_EQ] = ACTIONS(3525),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3527),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3527),
    [anon_sym_LT_EQ] = ACTIONS(3527),
    [anon_sym_GT_EQ] = ACTIONS(3527),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3527),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3527),
    [anon_sym_is] = ACTIONS(3527),
    [anon_sym_PLUS] = ACTIONS(3525),
    [anon_sym_DASH] = ACTIONS(3525),
    [anon_sym_STAR] = ACTIONS(3525),
    [anon_sym_SLASH] = ACTIONS(3525),
    [anon_sym_PERCENT] = ACTIONS(3525),
    [anon_sym_PLUS_PLUS] = ACTIONS(3527),
    [anon_sym_DASH_DASH] = ACTIONS(3527),
    [anon_sym_PIPE] = ACTIONS(3527),
    [anon_sym_CARET] = ACTIONS(3525),
    [anon_sym_LT_LT] = ACTIONS(3527),
    [anon_sym_GT_GT] = ACTIONS(3527),
    [anon_sym_class] = ACTIONS(3527),
    [anon_sym_prefix] = ACTIONS(3527),
    [anon_sym_infix] = ACTIONS(3527),
    [anon_sym_postfix] = ACTIONS(3527),
    [anon_sym_AT] = ACTIONS(3525),
    [anon_sym_override] = ACTIONS(3527),
    [anon_sym_convenience] = ACTIONS(3527),
    [anon_sym_required] = ACTIONS(3527),
    [anon_sym_nonisolated] = ACTIONS(3527),
    [anon_sym_public] = ACTIONS(3527),
    [anon_sym_private] = ACTIONS(3527),
    [anon_sym_internal] = ACTIONS(3527),
    [anon_sym_fileprivate] = ACTIONS(3527),
    [anon_sym_open] = ACTIONS(3527),
    [anon_sym_mutating] = ACTIONS(3527),
    [anon_sym_nonmutating] = ACTIONS(3527),
    [anon_sym_static] = ACTIONS(3527),
    [anon_sym_dynamic] = ACTIONS(3527),
    [anon_sym_optional] = ACTIONS(3527),
    [anon_sym_distributed] = ACTIONS(3527),
    [anon_sym_final] = ACTIONS(3527),
    [anon_sym_inout] = ACTIONS(3527),
    [anon_sym_ATescaping] = ACTIONS(3527),
    [anon_sym_ATautoclosure] = ACTIONS(3527),
    [anon_sym_weak] = ACTIONS(3527),
    [anon_sym_unowned] = ACTIONS(3525),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3527),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3527),
    [anon_sym_borrowing] = ACTIONS(3527),
    [anon_sym_consuming] = ACTIONS(3527),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3527),
    [sym__explicit_semi] = ACTIONS(3527),
    [sym__dot_custom] = ACTIONS(3527),
    [sym__conjunction_operator_custom] = ACTIONS(3527),
    [sym__disjunction_operator_custom] = ACTIONS(3527),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3527),
    [sym__eq_custom] = ACTIONS(3527),
    [sym__eq_eq_custom] = ACTIONS(3527),
    [sym__plus_then_ws] = ACTIONS(3527),
    [sym__minus_then_ws] = ACTIONS(3527),
    [sym__bang_custom] = ACTIONS(3527),
    [sym_default_keyword] = ACTIONS(3527),
    [sym__as_custom] = ACTIONS(3527),
    [sym__as_quest_custom] = ACTIONS(3527),
    [sym__as_bang_custom] = ACTIONS(3527),
    [sym__custom_operator] = ACTIONS(3527),
  },
  [1403] = {
    [anon_sym_BANG] = ACTIONS(3609),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3611),
    [anon_sym_package] = ACTIONS(3611),
    [anon_sym_COMMA] = ACTIONS(3611),
    [anon_sym_LPAREN] = ACTIONS(3611),
    [anon_sym_LBRACK] = ACTIONS(3611),
    [anon_sym_QMARK] = ACTIONS(3609),
    [anon_sym_QMARK2] = ACTIONS(3611),
    [anon_sym_AMP] = ACTIONS(3611),
    [aux_sym_custom_operator_token1] = ACTIONS(3611),
    [anon_sym_LT] = ACTIONS(3609),
    [anon_sym_GT] = ACTIONS(3609),
    [anon_sym_LBRACE] = ACTIONS(3611),
    [anon_sym_CARET_LBRACE] = ACTIONS(3611),
    [anon_sym_RBRACE] = ACTIONS(3611),
    [anon_sym_case] = ACTIONS(3611),
    [anon_sym_fallthrough] = ACTIONS(3611),
    [anon_sym_PLUS_EQ] = ACTIONS(3611),
    [anon_sym_DASH_EQ] = ACTIONS(3611),
    [anon_sym_STAR_EQ] = ACTIONS(3611),
    [anon_sym_SLASH_EQ] = ACTIONS(3611),
    [anon_sym_PERCENT_EQ] = ACTIONS(3611),
    [anon_sym_BANG_EQ] = ACTIONS(3609),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3611),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3611),
    [anon_sym_LT_EQ] = ACTIONS(3611),
    [anon_sym_GT_EQ] = ACTIONS(3611),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3611),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3611),
    [anon_sym_is] = ACTIONS(3611),
    [anon_sym_PLUS] = ACTIONS(3609),
    [anon_sym_DASH] = ACTIONS(3609),
    [anon_sym_STAR] = ACTIONS(3609),
    [anon_sym_SLASH] = ACTIONS(3609),
    [anon_sym_PERCENT] = ACTIONS(3609),
    [anon_sym_PLUS_PLUS] = ACTIONS(3611),
    [anon_sym_DASH_DASH] = ACTIONS(3611),
    [anon_sym_PIPE] = ACTIONS(3611),
    [anon_sym_CARET] = ACTIONS(3609),
    [anon_sym_LT_LT] = ACTIONS(3611),
    [anon_sym_GT_GT] = ACTIONS(3611),
    [anon_sym_class] = ACTIONS(3611),
    [anon_sym_prefix] = ACTIONS(3611),
    [anon_sym_infix] = ACTIONS(3611),
    [anon_sym_postfix] = ACTIONS(3611),
    [anon_sym_AT] = ACTIONS(3609),
    [anon_sym_override] = ACTIONS(3611),
    [anon_sym_convenience] = ACTIONS(3611),
    [anon_sym_required] = ACTIONS(3611),
    [anon_sym_nonisolated] = ACTIONS(3611),
    [anon_sym_public] = ACTIONS(3611),
    [anon_sym_private] = ACTIONS(3611),
    [anon_sym_internal] = ACTIONS(3611),
    [anon_sym_fileprivate] = ACTIONS(3611),
    [anon_sym_open] = ACTIONS(3611),
    [anon_sym_mutating] = ACTIONS(3611),
    [anon_sym_nonmutating] = ACTIONS(3611),
    [anon_sym_static] = ACTIONS(3611),
    [anon_sym_dynamic] = ACTIONS(3611),
    [anon_sym_optional] = ACTIONS(3611),
    [anon_sym_distributed] = ACTIONS(3611),
    [anon_sym_final] = ACTIONS(3611),
    [anon_sym_inout] = ACTIONS(3611),
    [anon_sym_ATescaping] = ACTIONS(3611),
    [anon_sym_ATautoclosure] = ACTIONS(3611),
    [anon_sym_weak] = ACTIONS(3611),
    [anon_sym_unowned] = ACTIONS(3609),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3611),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3611),
    [anon_sym_borrowing] = ACTIONS(3611),
    [anon_sym_consuming] = ACTIONS(3611),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3611),
    [sym__explicit_semi] = ACTIONS(3611),
    [sym__dot_custom] = ACTIONS(3611),
    [sym__conjunction_operator_custom] = ACTIONS(3611),
    [sym__disjunction_operator_custom] = ACTIONS(3611),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3611),
    [sym__eq_custom] = ACTIONS(3611),
    [sym__eq_eq_custom] = ACTIONS(3611),
    [sym__plus_then_ws] = ACTIONS(3611),
    [sym__minus_then_ws] = ACTIONS(3611),
    [sym__bang_custom] = ACTIONS(3611),
    [sym_default_keyword] = ACTIONS(3611),
    [sym__as_custom] = ACTIONS(3611),
    [sym__as_quest_custom] = ACTIONS(3611),
    [sym__as_bang_custom] = ACTIONS(3611),
    [sym__custom_operator] = ACTIONS(3611),
  },
  [1404] = {
    [anon_sym_BANG] = ACTIONS(3489),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3491),
    [anon_sym_package] = ACTIONS(3491),
    [anon_sym_COMMA] = ACTIONS(3491),
    [anon_sym_LPAREN] = ACTIONS(3491),
    [anon_sym_LBRACK] = ACTIONS(3491),
    [anon_sym_QMARK] = ACTIONS(3489),
    [anon_sym_QMARK2] = ACTIONS(3491),
    [anon_sym_AMP] = ACTIONS(3491),
    [aux_sym_custom_operator_token1] = ACTIONS(3491),
    [anon_sym_LT] = ACTIONS(3489),
    [anon_sym_GT] = ACTIONS(3489),
    [anon_sym_LBRACE] = ACTIONS(3491),
    [anon_sym_CARET_LBRACE] = ACTIONS(3491),
    [anon_sym_RBRACE] = ACTIONS(3491),
    [anon_sym_case] = ACTIONS(3491),
    [anon_sym_fallthrough] = ACTIONS(3491),
    [anon_sym_PLUS_EQ] = ACTIONS(3491),
    [anon_sym_DASH_EQ] = ACTIONS(3491),
    [anon_sym_STAR_EQ] = ACTIONS(3491),
    [anon_sym_SLASH_EQ] = ACTIONS(3491),
    [anon_sym_PERCENT_EQ] = ACTIONS(3491),
    [anon_sym_BANG_EQ] = ACTIONS(3489),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3491),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3491),
    [anon_sym_LT_EQ] = ACTIONS(3491),
    [anon_sym_GT_EQ] = ACTIONS(3491),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3491),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3491),
    [anon_sym_is] = ACTIONS(3491),
    [anon_sym_PLUS] = ACTIONS(3489),
    [anon_sym_DASH] = ACTIONS(3489),
    [anon_sym_STAR] = ACTIONS(3489),
    [anon_sym_SLASH] = ACTIONS(3489),
    [anon_sym_PERCENT] = ACTIONS(3489),
    [anon_sym_PLUS_PLUS] = ACTIONS(3491),
    [anon_sym_DASH_DASH] = ACTIONS(3491),
    [anon_sym_PIPE] = ACTIONS(3491),
    [anon_sym_CARET] = ACTIONS(3489),
    [anon_sym_LT_LT] = ACTIONS(3491),
    [anon_sym_GT_GT] = ACTIONS(3491),
    [anon_sym_class] = ACTIONS(3491),
    [anon_sym_prefix] = ACTIONS(3491),
    [anon_sym_infix] = ACTIONS(3491),
    [anon_sym_postfix] = ACTIONS(3491),
    [anon_sym_AT] = ACTIONS(3489),
    [anon_sym_override] = ACTIONS(3491),
    [anon_sym_convenience] = ACTIONS(3491),
    [anon_sym_required] = ACTIONS(3491),
    [anon_sym_nonisolated] = ACTIONS(3491),
    [anon_sym_public] = ACTIONS(3491),
    [anon_sym_private] = ACTIONS(3491),
    [anon_sym_internal] = ACTIONS(3491),
    [anon_sym_fileprivate] = ACTIONS(3491),
    [anon_sym_open] = ACTIONS(3491),
    [anon_sym_mutating] = ACTIONS(3491),
    [anon_sym_nonmutating] = ACTIONS(3491),
    [anon_sym_static] = ACTIONS(3491),
    [anon_sym_dynamic] = ACTIONS(3491),
    [anon_sym_optional] = ACTIONS(3491),
    [anon_sym_distributed] = ACTIONS(3491),
    [anon_sym_final] = ACTIONS(3491),
    [anon_sym_inout] = ACTIONS(3491),
    [anon_sym_ATescaping] = ACTIONS(3491),
    [anon_sym_ATautoclosure] = ACTIONS(3491),
    [anon_sym_weak] = ACTIONS(3491),
    [anon_sym_unowned] = ACTIONS(3489),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3491),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3491),
    [anon_sym_borrowing] = ACTIONS(3491),
    [anon_sym_consuming] = ACTIONS(3491),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3491),
    [sym__explicit_semi] = ACTIONS(3491),
    [sym__dot_custom] = ACTIONS(3491),
    [sym__conjunction_operator_custom] = ACTIONS(3491),
    [sym__disjunction_operator_custom] = ACTIONS(3491),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3491),
    [sym__eq_custom] = ACTIONS(3491),
    [sym__eq_eq_custom] = ACTIONS(3491),
    [sym__plus_then_ws] = ACTIONS(3491),
    [sym__minus_then_ws] = ACTIONS(3491),
    [sym__bang_custom] = ACTIONS(3491),
    [sym_default_keyword] = ACTIONS(3491),
    [sym__as_custom] = ACTIONS(3491),
    [sym__as_quest_custom] = ACTIONS(3491),
    [sym__as_bang_custom] = ACTIONS(3491),
    [sym__custom_operator] = ACTIONS(3491),
  },
  [1405] = {
    [anon_sym_BANG] = ACTIONS(3377),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3379),
    [anon_sym_package] = ACTIONS(3379),
    [anon_sym_COMMA] = ACTIONS(3379),
    [anon_sym_LPAREN] = ACTIONS(3379),
    [anon_sym_LBRACK] = ACTIONS(3379),
    [anon_sym_QMARK] = ACTIONS(3377),
    [anon_sym_QMARK2] = ACTIONS(3379),
    [anon_sym_AMP] = ACTIONS(3379),
    [aux_sym_custom_operator_token1] = ACTIONS(3379),
    [anon_sym_LT] = ACTIONS(3377),
    [anon_sym_GT] = ACTIONS(3377),
    [anon_sym_LBRACE] = ACTIONS(3379),
    [anon_sym_CARET_LBRACE] = ACTIONS(3379),
    [anon_sym_RBRACE] = ACTIONS(3379),
    [anon_sym_case] = ACTIONS(3379),
    [anon_sym_fallthrough] = ACTIONS(3379),
    [anon_sym_PLUS_EQ] = ACTIONS(3379),
    [anon_sym_DASH_EQ] = ACTIONS(3379),
    [anon_sym_STAR_EQ] = ACTIONS(3379),
    [anon_sym_SLASH_EQ] = ACTIONS(3379),
    [anon_sym_PERCENT_EQ] = ACTIONS(3379),
    [anon_sym_BANG_EQ] = ACTIONS(3377),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3379),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3379),
    [anon_sym_LT_EQ] = ACTIONS(3379),
    [anon_sym_GT_EQ] = ACTIONS(3379),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3379),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3379),
    [anon_sym_is] = ACTIONS(3379),
    [anon_sym_PLUS] = ACTIONS(3377),
    [anon_sym_DASH] = ACTIONS(3377),
    [anon_sym_STAR] = ACTIONS(3377),
    [anon_sym_SLASH] = ACTIONS(3377),
    [anon_sym_PERCENT] = ACTIONS(3377),
    [anon_sym_PLUS_PLUS] = ACTIONS(3379),
    [anon_sym_DASH_DASH] = ACTIONS(3379),
    [anon_sym_PIPE] = ACTIONS(3379),
    [anon_sym_CARET] = ACTIONS(3377),
    [anon_sym_LT_LT] = ACTIONS(3379),
    [anon_sym_GT_GT] = ACTIONS(3379),
    [anon_sym_class] = ACTIONS(3379),
    [anon_sym_prefix] = ACTIONS(3379),
    [anon_sym_infix] = ACTIONS(3379),
    [anon_sym_postfix] = ACTIONS(3379),
    [anon_sym_AT] = ACTIONS(3377),
    [anon_sym_override] = ACTIONS(3379),
    [anon_sym_convenience] = ACTIONS(3379),
    [anon_sym_required] = ACTIONS(3379),
    [anon_sym_nonisolated] = ACTIONS(3379),
    [anon_sym_public] = ACTIONS(3379),
    [anon_sym_private] = ACTIONS(3379),
    [anon_sym_internal] = ACTIONS(3379),
    [anon_sym_fileprivate] = ACTIONS(3379),
    [anon_sym_open] = ACTIONS(3379),
    [anon_sym_mutating] = ACTIONS(3379),
    [anon_sym_nonmutating] = ACTIONS(3379),
    [anon_sym_static] = ACTIONS(3379),
    [anon_sym_dynamic] = ACTIONS(3379),
    [anon_sym_optional] = ACTIONS(3379),
    [anon_sym_distributed] = ACTIONS(3379),
    [anon_sym_final] = ACTIONS(3379),
    [anon_sym_inout] = ACTIONS(3379),
    [anon_sym_ATescaping] = ACTIONS(3379),
    [anon_sym_ATautoclosure] = ACTIONS(3379),
    [anon_sym_weak] = ACTIONS(3379),
    [anon_sym_unowned] = ACTIONS(3377),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3379),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3379),
    [anon_sym_borrowing] = ACTIONS(3379),
    [anon_sym_consuming] = ACTIONS(3379),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3379),
    [sym__explicit_semi] = ACTIONS(3379),
    [sym__dot_custom] = ACTIONS(3379),
    [sym__conjunction_operator_custom] = ACTIONS(3379),
    [sym__disjunction_operator_custom] = ACTIONS(3379),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3379),
    [sym__eq_custom] = ACTIONS(3379),
    [sym__eq_eq_custom] = ACTIONS(3379),
    [sym__plus_then_ws] = ACTIONS(3379),
    [sym__minus_then_ws] = ACTIONS(3379),
    [sym__bang_custom] = ACTIONS(3379),
    [sym_default_keyword] = ACTIONS(3379),
    [sym__as_custom] = ACTIONS(3379),
    [sym__as_quest_custom] = ACTIONS(3379),
    [sym__as_bang_custom] = ACTIONS(3379),
    [sym__custom_operator] = ACTIONS(3379),
  },
  [1406] = {
    [anon_sym_BANG] = ACTIONS(3481),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3483),
    [anon_sym_package] = ACTIONS(3483),
    [anon_sym_COMMA] = ACTIONS(3483),
    [anon_sym_LPAREN] = ACTIONS(3483),
    [anon_sym_LBRACK] = ACTIONS(3483),
    [anon_sym_QMARK] = ACTIONS(3481),
    [anon_sym_QMARK2] = ACTIONS(3483),
    [anon_sym_AMP] = ACTIONS(3483),
    [aux_sym_custom_operator_token1] = ACTIONS(3483),
    [anon_sym_LT] = ACTIONS(3481),
    [anon_sym_GT] = ACTIONS(3481),
    [anon_sym_LBRACE] = ACTIONS(3483),
    [anon_sym_CARET_LBRACE] = ACTIONS(3483),
    [anon_sym_RBRACE] = ACTIONS(3483),
    [anon_sym_case] = ACTIONS(3483),
    [anon_sym_fallthrough] = ACTIONS(3483),
    [anon_sym_PLUS_EQ] = ACTIONS(3483),
    [anon_sym_DASH_EQ] = ACTIONS(3483),
    [anon_sym_STAR_EQ] = ACTIONS(3483),
    [anon_sym_SLASH_EQ] = ACTIONS(3483),
    [anon_sym_PERCENT_EQ] = ACTIONS(3483),
    [anon_sym_BANG_EQ] = ACTIONS(3481),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3483),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3483),
    [anon_sym_LT_EQ] = ACTIONS(3483),
    [anon_sym_GT_EQ] = ACTIONS(3483),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3483),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3483),
    [anon_sym_is] = ACTIONS(3483),
    [anon_sym_PLUS] = ACTIONS(3481),
    [anon_sym_DASH] = ACTIONS(3481),
    [anon_sym_STAR] = ACTIONS(3481),
    [anon_sym_SLASH] = ACTIONS(3481),
    [anon_sym_PERCENT] = ACTIONS(3481),
    [anon_sym_PLUS_PLUS] = ACTIONS(3483),
    [anon_sym_DASH_DASH] = ACTIONS(3483),
    [anon_sym_PIPE] = ACTIONS(3483),
    [anon_sym_CARET] = ACTIONS(3481),
    [anon_sym_LT_LT] = ACTIONS(3483),
    [anon_sym_GT_GT] = ACTIONS(3483),
    [anon_sym_class] = ACTIONS(3483),
    [anon_sym_prefix] = ACTIONS(3483),
    [anon_sym_infix] = ACTIONS(3483),
    [anon_sym_postfix] = ACTIONS(3483),
    [anon_sym_AT] = ACTIONS(3481),
    [anon_sym_override] = ACTIONS(3483),
    [anon_sym_convenience] = ACTIONS(3483),
    [anon_sym_required] = ACTIONS(3483),
    [anon_sym_nonisolated] = ACTIONS(3483),
    [anon_sym_public] = ACTIONS(3483),
    [anon_sym_private] = ACTIONS(3483),
    [anon_sym_internal] = ACTIONS(3483),
    [anon_sym_fileprivate] = ACTIONS(3483),
    [anon_sym_open] = ACTIONS(3483),
    [anon_sym_mutating] = ACTIONS(3483),
    [anon_sym_nonmutating] = ACTIONS(3483),
    [anon_sym_static] = ACTIONS(3483),
    [anon_sym_dynamic] = ACTIONS(3483),
    [anon_sym_optional] = ACTIONS(3483),
    [anon_sym_distributed] = ACTIONS(3483),
    [anon_sym_final] = ACTIONS(3483),
    [anon_sym_inout] = ACTIONS(3483),
    [anon_sym_ATescaping] = ACTIONS(3483),
    [anon_sym_ATautoclosure] = ACTIONS(3483),
    [anon_sym_weak] = ACTIONS(3483),
    [anon_sym_unowned] = ACTIONS(3481),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3483),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3483),
    [anon_sym_borrowing] = ACTIONS(3483),
    [anon_sym_consuming] = ACTIONS(3483),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3483),
    [sym__explicit_semi] = ACTIONS(3483),
    [sym__dot_custom] = ACTIONS(3483),
    [sym__conjunction_operator_custom] = ACTIONS(3483),
    [sym__disjunction_operator_custom] = ACTIONS(3483),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3483),
    [sym__eq_custom] = ACTIONS(3483),
    [sym__eq_eq_custom] = ACTIONS(3483),
    [sym__plus_then_ws] = ACTIONS(3483),
    [sym__minus_then_ws] = ACTIONS(3483),
    [sym__bang_custom] = ACTIONS(3483),
    [sym_default_keyword] = ACTIONS(3483),
    [sym__as_custom] = ACTIONS(3483),
    [sym__as_quest_custom] = ACTIONS(3483),
    [sym__as_bang_custom] = ACTIONS(3483),
    [sym__custom_operator] = ACTIONS(3483),
  },
  [1407] = {
    [anon_sym_BANG] = ACTIONS(3501),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3503),
    [anon_sym_package] = ACTIONS(3503),
    [anon_sym_COMMA] = ACTIONS(3503),
    [anon_sym_LPAREN] = ACTIONS(3503),
    [anon_sym_LBRACK] = ACTIONS(3503),
    [anon_sym_QMARK] = ACTIONS(3501),
    [anon_sym_QMARK2] = ACTIONS(3503),
    [anon_sym_AMP] = ACTIONS(3503),
    [aux_sym_custom_operator_token1] = ACTIONS(3503),
    [anon_sym_LT] = ACTIONS(3501),
    [anon_sym_GT] = ACTIONS(3501),
    [anon_sym_LBRACE] = ACTIONS(3503),
    [anon_sym_CARET_LBRACE] = ACTIONS(3503),
    [anon_sym_RBRACE] = ACTIONS(3503),
    [anon_sym_case] = ACTIONS(3503),
    [anon_sym_fallthrough] = ACTIONS(3503),
    [anon_sym_PLUS_EQ] = ACTIONS(3503),
    [anon_sym_DASH_EQ] = ACTIONS(3503),
    [anon_sym_STAR_EQ] = ACTIONS(3503),
    [anon_sym_SLASH_EQ] = ACTIONS(3503),
    [anon_sym_PERCENT_EQ] = ACTIONS(3503),
    [anon_sym_BANG_EQ] = ACTIONS(3501),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3503),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3503),
    [anon_sym_LT_EQ] = ACTIONS(3503),
    [anon_sym_GT_EQ] = ACTIONS(3503),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3503),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3503),
    [anon_sym_is] = ACTIONS(3503),
    [anon_sym_PLUS] = ACTIONS(3501),
    [anon_sym_DASH] = ACTIONS(3501),
    [anon_sym_STAR] = ACTIONS(3501),
    [anon_sym_SLASH] = ACTIONS(3501),
    [anon_sym_PERCENT] = ACTIONS(3501),
    [anon_sym_PLUS_PLUS] = ACTIONS(3503),
    [anon_sym_DASH_DASH] = ACTIONS(3503),
    [anon_sym_PIPE] = ACTIONS(3503),
    [anon_sym_CARET] = ACTIONS(3501),
    [anon_sym_LT_LT] = ACTIONS(3503),
    [anon_sym_GT_GT] = ACTIONS(3503),
    [anon_sym_class] = ACTIONS(3503),
    [anon_sym_prefix] = ACTIONS(3503),
    [anon_sym_infix] = ACTIONS(3503),
    [anon_sym_postfix] = ACTIONS(3503),
    [anon_sym_AT] = ACTIONS(3501),
    [anon_sym_override] = ACTIONS(3503),
    [anon_sym_convenience] = ACTIONS(3503),
    [anon_sym_required] = ACTIONS(3503),
    [anon_sym_nonisolated] = ACTIONS(3503),
    [anon_sym_public] = ACTIONS(3503),
    [anon_sym_private] = ACTIONS(3503),
    [anon_sym_internal] = ACTIONS(3503),
    [anon_sym_fileprivate] = ACTIONS(3503),
    [anon_sym_open] = ACTIONS(3503),
    [anon_sym_mutating] = ACTIONS(3503),
    [anon_sym_nonmutating] = ACTIONS(3503),
    [anon_sym_static] = ACTIONS(3503),
    [anon_sym_dynamic] = ACTIONS(3503),
    [anon_sym_optional] = ACTIONS(3503),
    [anon_sym_distributed] = ACTIONS(3503),
    [anon_sym_final] = ACTIONS(3503),
    [anon_sym_inout] = ACTIONS(3503),
    [anon_sym_ATescaping] = ACTIONS(3503),
    [anon_sym_ATautoclosure] = ACTIONS(3503),
    [anon_sym_weak] = ACTIONS(3503),
    [anon_sym_unowned] = ACTIONS(3501),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3503),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3503),
    [anon_sym_borrowing] = ACTIONS(3503),
    [anon_sym_consuming] = ACTIONS(3503),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3503),
    [sym__explicit_semi] = ACTIONS(3503),
    [sym__dot_custom] = ACTIONS(3503),
    [sym__conjunction_operator_custom] = ACTIONS(3503),
    [sym__disjunction_operator_custom] = ACTIONS(3503),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3503),
    [sym__eq_custom] = ACTIONS(3503),
    [sym__eq_eq_custom] = ACTIONS(3503),
    [sym__plus_then_ws] = ACTIONS(3503),
    [sym__minus_then_ws] = ACTIONS(3503),
    [sym__bang_custom] = ACTIONS(3503),
    [sym_default_keyword] = ACTIONS(3503),
    [sym__as_custom] = ACTIONS(3503),
    [sym__as_quest_custom] = ACTIONS(3503),
    [sym__as_bang_custom] = ACTIONS(3503),
    [sym__custom_operator] = ACTIONS(3503),
  },
  [1408] = {
    [anon_sym_BANG] = ACTIONS(3457),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3459),
    [anon_sym_package] = ACTIONS(3459),
    [anon_sym_COMMA] = ACTIONS(3459),
    [anon_sym_LPAREN] = ACTIONS(3459),
    [anon_sym_LBRACK] = ACTIONS(3459),
    [anon_sym_QMARK] = ACTIONS(3457),
    [anon_sym_QMARK2] = ACTIONS(3459),
    [anon_sym_AMP] = ACTIONS(3459),
    [aux_sym_custom_operator_token1] = ACTIONS(3459),
    [anon_sym_LT] = ACTIONS(3457),
    [anon_sym_GT] = ACTIONS(3457),
    [anon_sym_LBRACE] = ACTIONS(3459),
    [anon_sym_CARET_LBRACE] = ACTIONS(3459),
    [anon_sym_RBRACE] = ACTIONS(3459),
    [anon_sym_case] = ACTIONS(3459),
    [anon_sym_fallthrough] = ACTIONS(3459),
    [anon_sym_PLUS_EQ] = ACTIONS(3459),
    [anon_sym_DASH_EQ] = ACTIONS(3459),
    [anon_sym_STAR_EQ] = ACTIONS(3459),
    [anon_sym_SLASH_EQ] = ACTIONS(3459),
    [anon_sym_PERCENT_EQ] = ACTIONS(3459),
    [anon_sym_BANG_EQ] = ACTIONS(3457),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3459),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3459),
    [anon_sym_LT_EQ] = ACTIONS(3459),
    [anon_sym_GT_EQ] = ACTIONS(3459),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3459),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3459),
    [anon_sym_is] = ACTIONS(3459),
    [anon_sym_PLUS] = ACTIONS(3457),
    [anon_sym_DASH] = ACTIONS(3457),
    [anon_sym_STAR] = ACTIONS(3457),
    [anon_sym_SLASH] = ACTIONS(3457),
    [anon_sym_PERCENT] = ACTIONS(3457),
    [anon_sym_PLUS_PLUS] = ACTIONS(3459),
    [anon_sym_DASH_DASH] = ACTIONS(3459),
    [anon_sym_PIPE] = ACTIONS(3459),
    [anon_sym_CARET] = ACTIONS(3457),
    [anon_sym_LT_LT] = ACTIONS(3459),
    [anon_sym_GT_GT] = ACTIONS(3459),
    [anon_sym_class] = ACTIONS(3459),
    [anon_sym_prefix] = ACTIONS(3459),
    [anon_sym_infix] = ACTIONS(3459),
    [anon_sym_postfix] = ACTIONS(3459),
    [anon_sym_AT] = ACTIONS(3457),
    [anon_sym_override] = ACTIONS(3459),
    [anon_sym_convenience] = ACTIONS(3459),
    [anon_sym_required] = ACTIONS(3459),
    [anon_sym_nonisolated] = ACTIONS(3459),
    [anon_sym_public] = ACTIONS(3459),
    [anon_sym_private] = ACTIONS(3459),
    [anon_sym_internal] = ACTIONS(3459),
    [anon_sym_fileprivate] = ACTIONS(3459),
    [anon_sym_open] = ACTIONS(3459),
    [anon_sym_mutating] = ACTIONS(3459),
    [anon_sym_nonmutating] = ACTIONS(3459),
    [anon_sym_static] = ACTIONS(3459),
    [anon_sym_dynamic] = ACTIONS(3459),
    [anon_sym_optional] = ACTIONS(3459),
    [anon_sym_distributed] = ACTIONS(3459),
    [anon_sym_final] = ACTIONS(3459),
    [anon_sym_inout] = ACTIONS(3459),
    [anon_sym_ATescaping] = ACTIONS(3459),
    [anon_sym_ATautoclosure] = ACTIONS(3459),
    [anon_sym_weak] = ACTIONS(3459),
    [anon_sym_unowned] = ACTIONS(3457),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3459),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3459),
    [anon_sym_borrowing] = ACTIONS(3459),
    [anon_sym_consuming] = ACTIONS(3459),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3459),
    [sym__explicit_semi] = ACTIONS(3459),
    [sym__dot_custom] = ACTIONS(3459),
    [sym__conjunction_operator_custom] = ACTIONS(3459),
    [sym__disjunction_operator_custom] = ACTIONS(3459),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3459),
    [sym__eq_custom] = ACTIONS(3459),
    [sym__eq_eq_custom] = ACTIONS(3459),
    [sym__plus_then_ws] = ACTIONS(3459),
    [sym__minus_then_ws] = ACTIONS(3459),
    [sym__bang_custom] = ACTIONS(3459),
    [sym_default_keyword] = ACTIONS(3459),
    [sym__as_custom] = ACTIONS(3459),
    [sym__as_quest_custom] = ACTIONS(3459),
    [sym__as_bang_custom] = ACTIONS(3459),
    [sym__custom_operator] = ACTIONS(3459),
  },
  [1409] = {
    [anon_sym_BANG] = ACTIONS(3589),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3591),
    [anon_sym_package] = ACTIONS(3591),
    [anon_sym_COMMA] = ACTIONS(3591),
    [anon_sym_LPAREN] = ACTIONS(3591),
    [anon_sym_LBRACK] = ACTIONS(3591),
    [anon_sym_QMARK] = ACTIONS(3589),
    [anon_sym_QMARK2] = ACTIONS(3591),
    [anon_sym_AMP] = ACTIONS(3591),
    [aux_sym_custom_operator_token1] = ACTIONS(3591),
    [anon_sym_LT] = ACTIONS(3589),
    [anon_sym_GT] = ACTIONS(3589),
    [anon_sym_LBRACE] = ACTIONS(3591),
    [anon_sym_CARET_LBRACE] = ACTIONS(3591),
    [anon_sym_RBRACE] = ACTIONS(3591),
    [anon_sym_case] = ACTIONS(3591),
    [anon_sym_fallthrough] = ACTIONS(3591),
    [anon_sym_PLUS_EQ] = ACTIONS(3591),
    [anon_sym_DASH_EQ] = ACTIONS(3591),
    [anon_sym_STAR_EQ] = ACTIONS(3591),
    [anon_sym_SLASH_EQ] = ACTIONS(3591),
    [anon_sym_PERCENT_EQ] = ACTIONS(3591),
    [anon_sym_BANG_EQ] = ACTIONS(3589),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3591),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3591),
    [anon_sym_LT_EQ] = ACTIONS(3591),
    [anon_sym_GT_EQ] = ACTIONS(3591),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3591),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3591),
    [anon_sym_is] = ACTIONS(3591),
    [anon_sym_PLUS] = ACTIONS(3589),
    [anon_sym_DASH] = ACTIONS(3589),
    [anon_sym_STAR] = ACTIONS(3589),
    [anon_sym_SLASH] = ACTIONS(3589),
    [anon_sym_PERCENT] = ACTIONS(3589),
    [anon_sym_PLUS_PLUS] = ACTIONS(3591),
    [anon_sym_DASH_DASH] = ACTIONS(3591),
    [anon_sym_PIPE] = ACTIONS(3591),
    [anon_sym_CARET] = ACTIONS(3589),
    [anon_sym_LT_LT] = ACTIONS(3591),
    [anon_sym_GT_GT] = ACTIONS(3591),
    [anon_sym_class] = ACTIONS(3591),
    [anon_sym_prefix] = ACTIONS(3591),
    [anon_sym_infix] = ACTIONS(3591),
    [anon_sym_postfix] = ACTIONS(3591),
    [anon_sym_AT] = ACTIONS(3589),
    [anon_sym_override] = ACTIONS(3591),
    [anon_sym_convenience] = ACTIONS(3591),
    [anon_sym_required] = ACTIONS(3591),
    [anon_sym_nonisolated] = ACTIONS(3591),
    [anon_sym_public] = ACTIONS(3591),
    [anon_sym_private] = ACTIONS(3591),
    [anon_sym_internal] = ACTIONS(3591),
    [anon_sym_fileprivate] = ACTIONS(3591),
    [anon_sym_open] = ACTIONS(3591),
    [anon_sym_mutating] = ACTIONS(3591),
    [anon_sym_nonmutating] = ACTIONS(3591),
    [anon_sym_static] = ACTIONS(3591),
    [anon_sym_dynamic] = ACTIONS(3591),
    [anon_sym_optional] = ACTIONS(3591),
    [anon_sym_distributed] = ACTIONS(3591),
    [anon_sym_final] = ACTIONS(3591),
    [anon_sym_inout] = ACTIONS(3591),
    [anon_sym_ATescaping] = ACTIONS(3591),
    [anon_sym_ATautoclosure] = ACTIONS(3591),
    [anon_sym_weak] = ACTIONS(3591),
    [anon_sym_unowned] = ACTIONS(3589),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3591),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3591),
    [anon_sym_borrowing] = ACTIONS(3591),
    [anon_sym_consuming] = ACTIONS(3591),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3591),
    [sym__explicit_semi] = ACTIONS(3591),
    [sym__dot_custom] = ACTIONS(3591),
    [sym__conjunction_operator_custom] = ACTIONS(3591),
    [sym__disjunction_operator_custom] = ACTIONS(3591),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3591),
    [sym__eq_custom] = ACTIONS(3591),
    [sym__eq_eq_custom] = ACTIONS(3591),
    [sym__plus_then_ws] = ACTIONS(3591),
    [sym__minus_then_ws] = ACTIONS(3591),
    [sym__bang_custom] = ACTIONS(3591),
    [sym_default_keyword] = ACTIONS(3591),
    [sym__as_custom] = ACTIONS(3591),
    [sym__as_quest_custom] = ACTIONS(3591),
    [sym__as_bang_custom] = ACTIONS(3591),
    [sym__custom_operator] = ACTIONS(3591),
  },
  [1410] = {
    [anon_sym_BANG] = ACTIONS(3581),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3583),
    [anon_sym_package] = ACTIONS(3583),
    [anon_sym_COMMA] = ACTIONS(3583),
    [anon_sym_LPAREN] = ACTIONS(3583),
    [anon_sym_LBRACK] = ACTIONS(3583),
    [anon_sym_QMARK] = ACTIONS(3581),
    [anon_sym_QMARK2] = ACTIONS(3583),
    [anon_sym_AMP] = ACTIONS(3583),
    [aux_sym_custom_operator_token1] = ACTIONS(3583),
    [anon_sym_LT] = ACTIONS(3581),
    [anon_sym_GT] = ACTIONS(3581),
    [anon_sym_LBRACE] = ACTIONS(3583),
    [anon_sym_CARET_LBRACE] = ACTIONS(3583),
    [anon_sym_RBRACE] = ACTIONS(3583),
    [anon_sym_case] = ACTIONS(3583),
    [anon_sym_fallthrough] = ACTIONS(3583),
    [anon_sym_PLUS_EQ] = ACTIONS(3583),
    [anon_sym_DASH_EQ] = ACTIONS(3583),
    [anon_sym_STAR_EQ] = ACTIONS(3583),
    [anon_sym_SLASH_EQ] = ACTIONS(3583),
    [anon_sym_PERCENT_EQ] = ACTIONS(3583),
    [anon_sym_BANG_EQ] = ACTIONS(3581),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3583),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3583),
    [anon_sym_LT_EQ] = ACTIONS(3583),
    [anon_sym_GT_EQ] = ACTIONS(3583),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3583),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3583),
    [anon_sym_is] = ACTIONS(3583),
    [anon_sym_PLUS] = ACTIONS(3581),
    [anon_sym_DASH] = ACTIONS(3581),
    [anon_sym_STAR] = ACTIONS(3581),
    [anon_sym_SLASH] = ACTIONS(3581),
    [anon_sym_PERCENT] = ACTIONS(3581),
    [anon_sym_PLUS_PLUS] = ACTIONS(3583),
    [anon_sym_DASH_DASH] = ACTIONS(3583),
    [anon_sym_PIPE] = ACTIONS(3583),
    [anon_sym_CARET] = ACTIONS(3581),
    [anon_sym_LT_LT] = ACTIONS(3583),
    [anon_sym_GT_GT] = ACTIONS(3583),
    [anon_sym_class] = ACTIONS(3583),
    [anon_sym_prefix] = ACTIONS(3583),
    [anon_sym_infix] = ACTIONS(3583),
    [anon_sym_postfix] = ACTIONS(3583),
    [anon_sym_AT] = ACTIONS(3581),
    [anon_sym_override] = ACTIONS(3583),
    [anon_sym_convenience] = ACTIONS(3583),
    [anon_sym_required] = ACTIONS(3583),
    [anon_sym_nonisolated] = ACTIONS(3583),
    [anon_sym_public] = ACTIONS(3583),
    [anon_sym_private] = ACTIONS(3583),
    [anon_sym_internal] = ACTIONS(3583),
    [anon_sym_fileprivate] = ACTIONS(3583),
    [anon_sym_open] = ACTIONS(3583),
    [anon_sym_mutating] = ACTIONS(3583),
    [anon_sym_nonmutating] = ACTIONS(3583),
    [anon_sym_static] = ACTIONS(3583),
    [anon_sym_dynamic] = ACTIONS(3583),
    [anon_sym_optional] = ACTIONS(3583),
    [anon_sym_distributed] = ACTIONS(3583),
    [anon_sym_final] = ACTIONS(3583),
    [anon_sym_inout] = ACTIONS(3583),
    [anon_sym_ATescaping] = ACTIONS(3583),
    [anon_sym_ATautoclosure] = ACTIONS(3583),
    [anon_sym_weak] = ACTIONS(3583),
    [anon_sym_unowned] = ACTIONS(3581),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3583),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3583),
    [anon_sym_borrowing] = ACTIONS(3583),
    [anon_sym_consuming] = ACTIONS(3583),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3583),
    [sym__explicit_semi] = ACTIONS(3583),
    [sym__dot_custom] = ACTIONS(3583),
    [sym__conjunction_operator_custom] = ACTIONS(3583),
    [sym__disjunction_operator_custom] = ACTIONS(3583),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3583),
    [sym__eq_custom] = ACTIONS(3583),
    [sym__eq_eq_custom] = ACTIONS(3583),
    [sym__plus_then_ws] = ACTIONS(3583),
    [sym__minus_then_ws] = ACTIONS(3583),
    [sym__bang_custom] = ACTIONS(3583),
    [sym_default_keyword] = ACTIONS(3583),
    [sym__as_custom] = ACTIONS(3583),
    [sym__as_quest_custom] = ACTIONS(3583),
    [sym__as_bang_custom] = ACTIONS(3583),
    [sym__custom_operator] = ACTIONS(3583),
  },
  [1411] = {
    [anon_sym_BANG] = ACTIONS(3509),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3511),
    [anon_sym_package] = ACTIONS(3511),
    [anon_sym_COMMA] = ACTIONS(3511),
    [anon_sym_LPAREN] = ACTIONS(3511),
    [anon_sym_LBRACK] = ACTIONS(3511),
    [anon_sym_QMARK] = ACTIONS(3509),
    [anon_sym_QMARK2] = ACTIONS(3511),
    [anon_sym_AMP] = ACTIONS(3511),
    [aux_sym_custom_operator_token1] = ACTIONS(3511),
    [anon_sym_LT] = ACTIONS(3509),
    [anon_sym_GT] = ACTIONS(3509),
    [anon_sym_LBRACE] = ACTIONS(3511),
    [anon_sym_CARET_LBRACE] = ACTIONS(3511),
    [anon_sym_RBRACE] = ACTIONS(3511),
    [anon_sym_case] = ACTIONS(3511),
    [anon_sym_fallthrough] = ACTIONS(3511),
    [anon_sym_PLUS_EQ] = ACTIONS(3511),
    [anon_sym_DASH_EQ] = ACTIONS(3511),
    [anon_sym_STAR_EQ] = ACTIONS(3511),
    [anon_sym_SLASH_EQ] = ACTIONS(3511),
    [anon_sym_PERCENT_EQ] = ACTIONS(3511),
    [anon_sym_BANG_EQ] = ACTIONS(3509),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3511),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3511),
    [anon_sym_LT_EQ] = ACTIONS(3511),
    [anon_sym_GT_EQ] = ACTIONS(3511),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3511),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3511),
    [anon_sym_is] = ACTIONS(3511),
    [anon_sym_PLUS] = ACTIONS(3509),
    [anon_sym_DASH] = ACTIONS(3509),
    [anon_sym_STAR] = ACTIONS(3509),
    [anon_sym_SLASH] = ACTIONS(3509),
    [anon_sym_PERCENT] = ACTIONS(3509),
    [anon_sym_PLUS_PLUS] = ACTIONS(3511),
    [anon_sym_DASH_DASH] = ACTIONS(3511),
    [anon_sym_PIPE] = ACTIONS(3511),
    [anon_sym_CARET] = ACTIONS(3509),
    [anon_sym_LT_LT] = ACTIONS(3511),
    [anon_sym_GT_GT] = ACTIONS(3511),
    [anon_sym_class] = ACTIONS(3511),
    [anon_sym_prefix] = ACTIONS(3511),
    [anon_sym_infix] = ACTIONS(3511),
    [anon_sym_postfix] = ACTIONS(3511),
    [anon_sym_AT] = ACTIONS(3509),
    [anon_sym_override] = ACTIONS(3511),
    [anon_sym_convenience] = ACTIONS(3511),
    [anon_sym_required] = ACTIONS(3511),
    [anon_sym_nonisolated] = ACTIONS(3511),
    [anon_sym_public] = ACTIONS(3511),
    [anon_sym_private] = ACTIONS(3511),
    [anon_sym_internal] = ACTIONS(3511),
    [anon_sym_fileprivate] = ACTIONS(3511),
    [anon_sym_open] = ACTIONS(3511),
    [anon_sym_mutating] = ACTIONS(3511),
    [anon_sym_nonmutating] = ACTIONS(3511),
    [anon_sym_static] = ACTIONS(3511),
    [anon_sym_dynamic] = ACTIONS(3511),
    [anon_sym_optional] = ACTIONS(3511),
    [anon_sym_distributed] = ACTIONS(3511),
    [anon_sym_final] = ACTIONS(3511),
    [anon_sym_inout] = ACTIONS(3511),
    [anon_sym_ATescaping] = ACTIONS(3511),
    [anon_sym_ATautoclosure] = ACTIONS(3511),
    [anon_sym_weak] = ACTIONS(3511),
    [anon_sym_unowned] = ACTIONS(3509),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3511),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3511),
    [anon_sym_borrowing] = ACTIONS(3511),
    [anon_sym_consuming] = ACTIONS(3511),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3511),
    [sym__explicit_semi] = ACTIONS(3511),
    [sym__dot_custom] = ACTIONS(3511),
    [sym__conjunction_operator_custom] = ACTIONS(3511),
    [sym__disjunction_operator_custom] = ACTIONS(3511),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3511),
    [sym__eq_custom] = ACTIONS(3511),
    [sym__eq_eq_custom] = ACTIONS(3511),
    [sym__plus_then_ws] = ACTIONS(3511),
    [sym__minus_then_ws] = ACTIONS(3511),
    [sym__bang_custom] = ACTIONS(3511),
    [sym_default_keyword] = ACTIONS(3511),
    [sym__as_custom] = ACTIONS(3511),
    [sym__as_quest_custom] = ACTIONS(3511),
    [sym__as_bang_custom] = ACTIONS(3511),
    [sym__custom_operator] = ACTIONS(3511),
  },
  [1412] = {
    [anon_sym_BANG] = ACTIONS(3335),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3338),
    [anon_sym_package] = ACTIONS(3338),
    [anon_sym_COMMA] = ACTIONS(3338),
    [anon_sym_LPAREN] = ACTIONS(3338),
    [anon_sym_LBRACK] = ACTIONS(3338),
    [anon_sym_QMARK] = ACTIONS(3335),
    [anon_sym_QMARK2] = ACTIONS(3338),
    [anon_sym_AMP] = ACTIONS(3338),
    [aux_sym_custom_operator_token1] = ACTIONS(3338),
    [anon_sym_LT] = ACTIONS(3335),
    [anon_sym_GT] = ACTIONS(3335),
    [anon_sym_LBRACE] = ACTIONS(3338),
    [anon_sym_CARET_LBRACE] = ACTIONS(3338),
    [anon_sym_RBRACE] = ACTIONS(3338),
    [anon_sym_case] = ACTIONS(3338),
    [anon_sym_fallthrough] = ACTIONS(3338),
    [anon_sym_PLUS_EQ] = ACTIONS(3338),
    [anon_sym_DASH_EQ] = ACTIONS(3338),
    [anon_sym_STAR_EQ] = ACTIONS(3338),
    [anon_sym_SLASH_EQ] = ACTIONS(3338),
    [anon_sym_PERCENT_EQ] = ACTIONS(3338),
    [anon_sym_BANG_EQ] = ACTIONS(3335),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3338),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3338),
    [anon_sym_LT_EQ] = ACTIONS(3338),
    [anon_sym_GT_EQ] = ACTIONS(3338),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3338),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3338),
    [anon_sym_is] = ACTIONS(3338),
    [anon_sym_PLUS] = ACTIONS(3335),
    [anon_sym_DASH] = ACTIONS(3335),
    [anon_sym_STAR] = ACTIONS(3335),
    [anon_sym_SLASH] = ACTIONS(3335),
    [anon_sym_PERCENT] = ACTIONS(3335),
    [anon_sym_PLUS_PLUS] = ACTIONS(3338),
    [anon_sym_DASH_DASH] = ACTIONS(3338),
    [anon_sym_PIPE] = ACTIONS(3338),
    [anon_sym_CARET] = ACTIONS(3335),
    [anon_sym_LT_LT] = ACTIONS(3338),
    [anon_sym_GT_GT] = ACTIONS(3338),
    [anon_sym_class] = ACTIONS(3338),
    [anon_sym_prefix] = ACTIONS(3338),
    [anon_sym_infix] = ACTIONS(3338),
    [anon_sym_postfix] = ACTIONS(3338),
    [anon_sym_AT] = ACTIONS(3335),
    [anon_sym_override] = ACTIONS(3338),
    [anon_sym_convenience] = ACTIONS(3338),
    [anon_sym_required] = ACTIONS(3338),
    [anon_sym_nonisolated] = ACTIONS(3338),
    [anon_sym_public] = ACTIONS(3338),
    [anon_sym_private] = ACTIONS(3338),
    [anon_sym_internal] = ACTIONS(3338),
    [anon_sym_fileprivate] = ACTIONS(3338),
    [anon_sym_open] = ACTIONS(3338),
    [anon_sym_mutating] = ACTIONS(3338),
    [anon_sym_nonmutating] = ACTIONS(3338),
    [anon_sym_static] = ACTIONS(3338),
    [anon_sym_dynamic] = ACTIONS(3338),
    [anon_sym_optional] = ACTIONS(3338),
    [anon_sym_distributed] = ACTIONS(3338),
    [anon_sym_final] = ACTIONS(3338),
    [anon_sym_inout] = ACTIONS(3338),
    [anon_sym_ATescaping] = ACTIONS(3338),
    [anon_sym_ATautoclosure] = ACTIONS(3338),
    [anon_sym_weak] = ACTIONS(3338),
    [anon_sym_unowned] = ACTIONS(3335),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3338),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3338),
    [anon_sym_borrowing] = ACTIONS(3338),
    [anon_sym_consuming] = ACTIONS(3338),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3338),
    [sym__explicit_semi] = ACTIONS(3338),
    [sym__dot_custom] = ACTIONS(3338),
    [sym__conjunction_operator_custom] = ACTIONS(3338),
    [sym__disjunction_operator_custom] = ACTIONS(3338),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3338),
    [sym__eq_custom] = ACTIONS(3338),
    [sym__eq_eq_custom] = ACTIONS(3338),
    [sym__plus_then_ws] = ACTIONS(3338),
    [sym__minus_then_ws] = ACTIONS(3338),
    [sym__bang_custom] = ACTIONS(3338),
    [sym_default_keyword] = ACTIONS(3338),
    [sym__as_custom] = ACTIONS(3338),
    [sym__as_quest_custom] = ACTIONS(3338),
    [sym__as_bang_custom] = ACTIONS(3338),
    [sym__custom_operator] = ACTIONS(3338),
  },
  [1413] = {
    [anon_sym_BANG] = ACTIONS(3417),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3419),
    [anon_sym_package] = ACTIONS(3419),
    [anon_sym_COMMA] = ACTIONS(3419),
    [anon_sym_LPAREN] = ACTIONS(3419),
    [anon_sym_LBRACK] = ACTIONS(3419),
    [anon_sym_QMARK] = ACTIONS(3417),
    [anon_sym_QMARK2] = ACTIONS(3419),
    [anon_sym_AMP] = ACTIONS(3419),
    [aux_sym_custom_operator_token1] = ACTIONS(3419),
    [anon_sym_LT] = ACTIONS(3417),
    [anon_sym_GT] = ACTIONS(3417),
    [anon_sym_LBRACE] = ACTIONS(3419),
    [anon_sym_CARET_LBRACE] = ACTIONS(3419),
    [anon_sym_RBRACE] = ACTIONS(3419),
    [anon_sym_case] = ACTIONS(3419),
    [anon_sym_fallthrough] = ACTIONS(3419),
    [anon_sym_PLUS_EQ] = ACTIONS(3419),
    [anon_sym_DASH_EQ] = ACTIONS(3419),
    [anon_sym_STAR_EQ] = ACTIONS(3419),
    [anon_sym_SLASH_EQ] = ACTIONS(3419),
    [anon_sym_PERCENT_EQ] = ACTIONS(3419),
    [anon_sym_BANG_EQ] = ACTIONS(3417),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3419),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3419),
    [anon_sym_LT_EQ] = ACTIONS(3419),
    [anon_sym_GT_EQ] = ACTIONS(3419),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3419),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3419),
    [anon_sym_is] = ACTIONS(3419),
    [anon_sym_PLUS] = ACTIONS(3417),
    [anon_sym_DASH] = ACTIONS(3417),
    [anon_sym_STAR] = ACTIONS(3417),
    [anon_sym_SLASH] = ACTIONS(3417),
    [anon_sym_PERCENT] = ACTIONS(3417),
    [anon_sym_PLUS_PLUS] = ACTIONS(3419),
    [anon_sym_DASH_DASH] = ACTIONS(3419),
    [anon_sym_PIPE] = ACTIONS(3419),
    [anon_sym_CARET] = ACTIONS(3417),
    [anon_sym_LT_LT] = ACTIONS(3419),
    [anon_sym_GT_GT] = ACTIONS(3419),
    [anon_sym_class] = ACTIONS(3419),
    [anon_sym_prefix] = ACTIONS(3419),
    [anon_sym_infix] = ACTIONS(3419),
    [anon_sym_postfix] = ACTIONS(3419),
    [anon_sym_AT] = ACTIONS(3417),
    [anon_sym_override] = ACTIONS(3419),
    [anon_sym_convenience] = ACTIONS(3419),
    [anon_sym_required] = ACTIONS(3419),
    [anon_sym_nonisolated] = ACTIONS(3419),
    [anon_sym_public] = ACTIONS(3419),
    [anon_sym_private] = ACTIONS(3419),
    [anon_sym_internal] = ACTIONS(3419),
    [anon_sym_fileprivate] = ACTIONS(3419),
    [anon_sym_open] = ACTIONS(3419),
    [anon_sym_mutating] = ACTIONS(3419),
    [anon_sym_nonmutating] = ACTIONS(3419),
    [anon_sym_static] = ACTIONS(3419),
    [anon_sym_dynamic] = ACTIONS(3419),
    [anon_sym_optional] = ACTIONS(3419),
    [anon_sym_distributed] = ACTIONS(3419),
    [anon_sym_final] = ACTIONS(3419),
    [anon_sym_inout] = ACTIONS(3419),
    [anon_sym_ATescaping] = ACTIONS(3419),
    [anon_sym_ATautoclosure] = ACTIONS(3419),
    [anon_sym_weak] = ACTIONS(3419),
    [anon_sym_unowned] = ACTIONS(3417),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3419),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3419),
    [anon_sym_borrowing] = ACTIONS(3419),
    [anon_sym_consuming] = ACTIONS(3419),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3419),
    [sym__explicit_semi] = ACTIONS(3419),
    [sym__dot_custom] = ACTIONS(3419),
    [sym__conjunction_operator_custom] = ACTIONS(3419),
    [sym__disjunction_operator_custom] = ACTIONS(3419),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3419),
    [sym__eq_custom] = ACTIONS(3419),
    [sym__eq_eq_custom] = ACTIONS(3419),
    [sym__plus_then_ws] = ACTIONS(3419),
    [sym__minus_then_ws] = ACTIONS(3419),
    [sym__bang_custom] = ACTIONS(3419),
    [sym_default_keyword] = ACTIONS(3419),
    [sym__as_custom] = ACTIONS(3419),
    [sym__as_quest_custom] = ACTIONS(3419),
    [sym__as_bang_custom] = ACTIONS(3419),
    [sym__custom_operator] = ACTIONS(3419),
  },
  [1414] = {
    [anon_sym_BANG] = ACTIONS(3617),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3619),
    [anon_sym_package] = ACTIONS(3619),
    [anon_sym_COMMA] = ACTIONS(3619),
    [anon_sym_LPAREN] = ACTIONS(3619),
    [anon_sym_LBRACK] = ACTIONS(3619),
    [anon_sym_QMARK] = ACTIONS(3617),
    [anon_sym_QMARK2] = ACTIONS(3619),
    [anon_sym_AMP] = ACTIONS(3619),
    [aux_sym_custom_operator_token1] = ACTIONS(3619),
    [anon_sym_LT] = ACTIONS(3617),
    [anon_sym_GT] = ACTIONS(3617),
    [anon_sym_LBRACE] = ACTIONS(3619),
    [anon_sym_CARET_LBRACE] = ACTIONS(3619),
    [anon_sym_RBRACE] = ACTIONS(3619),
    [anon_sym_case] = ACTIONS(3619),
    [anon_sym_fallthrough] = ACTIONS(3619),
    [anon_sym_PLUS_EQ] = ACTIONS(3619),
    [anon_sym_DASH_EQ] = ACTIONS(3619),
    [anon_sym_STAR_EQ] = ACTIONS(3619),
    [anon_sym_SLASH_EQ] = ACTIONS(3619),
    [anon_sym_PERCENT_EQ] = ACTIONS(3619),
    [anon_sym_BANG_EQ] = ACTIONS(3617),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3619),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3619),
    [anon_sym_LT_EQ] = ACTIONS(3619),
    [anon_sym_GT_EQ] = ACTIONS(3619),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3619),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3619),
    [anon_sym_is] = ACTIONS(3619),
    [anon_sym_PLUS] = ACTIONS(3617),
    [anon_sym_DASH] = ACTIONS(3617),
    [anon_sym_STAR] = ACTIONS(3617),
    [anon_sym_SLASH] = ACTIONS(3617),
    [anon_sym_PERCENT] = ACTIONS(3617),
    [anon_sym_PLUS_PLUS] = ACTIONS(3619),
    [anon_sym_DASH_DASH] = ACTIONS(3619),
    [anon_sym_PIPE] = ACTIONS(3619),
    [anon_sym_CARET] = ACTIONS(3617),
    [anon_sym_LT_LT] = ACTIONS(3619),
    [anon_sym_GT_GT] = ACTIONS(3619),
    [anon_sym_class] = ACTIONS(3619),
    [anon_sym_prefix] = ACTIONS(3619),
    [anon_sym_infix] = ACTIONS(3619),
    [anon_sym_postfix] = ACTIONS(3619),
    [anon_sym_AT] = ACTIONS(3617),
    [anon_sym_override] = ACTIONS(3619),
    [anon_sym_convenience] = ACTIONS(3619),
    [anon_sym_required] = ACTIONS(3619),
    [anon_sym_nonisolated] = ACTIONS(3619),
    [anon_sym_public] = ACTIONS(3619),
    [anon_sym_private] = ACTIONS(3619),
    [anon_sym_internal] = ACTIONS(3619),
    [anon_sym_fileprivate] = ACTIONS(3619),
    [anon_sym_open] = ACTIONS(3619),
    [anon_sym_mutating] = ACTIONS(3619),
    [anon_sym_nonmutating] = ACTIONS(3619),
    [anon_sym_static] = ACTIONS(3619),
    [anon_sym_dynamic] = ACTIONS(3619),
    [anon_sym_optional] = ACTIONS(3619),
    [anon_sym_distributed] = ACTIONS(3619),
    [anon_sym_final] = ACTIONS(3619),
    [anon_sym_inout] = ACTIONS(3619),
    [anon_sym_ATescaping] = ACTIONS(3619),
    [anon_sym_ATautoclosure] = ACTIONS(3619),
    [anon_sym_weak] = ACTIONS(3619),
    [anon_sym_unowned] = ACTIONS(3617),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3619),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3619),
    [anon_sym_borrowing] = ACTIONS(3619),
    [anon_sym_consuming] = ACTIONS(3619),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3619),
    [sym__explicit_semi] = ACTIONS(3619),
    [sym__dot_custom] = ACTIONS(3619),
    [sym__conjunction_operator_custom] = ACTIONS(3619),
    [sym__disjunction_operator_custom] = ACTIONS(3619),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3619),
    [sym__eq_custom] = ACTIONS(3619),
    [sym__eq_eq_custom] = ACTIONS(3619),
    [sym__plus_then_ws] = ACTIONS(3619),
    [sym__minus_then_ws] = ACTIONS(3619),
    [sym__bang_custom] = ACTIONS(3619),
    [sym_default_keyword] = ACTIONS(3619),
    [sym__as_custom] = ACTIONS(3619),
    [sym__as_quest_custom] = ACTIONS(3619),
    [sym__as_bang_custom] = ACTIONS(3619),
    [sym__custom_operator] = ACTIONS(3619),
  },
  [1415] = {
    [anon_sym_BANG] = ACTIONS(3325),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3328),
    [anon_sym_package] = ACTIONS(3328),
    [anon_sym_COMMA] = ACTIONS(3328),
    [anon_sym_LPAREN] = ACTIONS(3328),
    [anon_sym_LBRACK] = ACTIONS(3328),
    [anon_sym_QMARK] = ACTIONS(3325),
    [anon_sym_QMARK2] = ACTIONS(3328),
    [anon_sym_AMP] = ACTIONS(3328),
    [aux_sym_custom_operator_token1] = ACTIONS(3328),
    [anon_sym_LT] = ACTIONS(3325),
    [anon_sym_GT] = ACTIONS(3325),
    [anon_sym_LBRACE] = ACTIONS(3328),
    [anon_sym_CARET_LBRACE] = ACTIONS(3328),
    [anon_sym_RBRACE] = ACTIONS(3328),
    [anon_sym_case] = ACTIONS(3328),
    [anon_sym_fallthrough] = ACTIONS(3328),
    [anon_sym_PLUS_EQ] = ACTIONS(3328),
    [anon_sym_DASH_EQ] = ACTIONS(3328),
    [anon_sym_STAR_EQ] = ACTIONS(3328),
    [anon_sym_SLASH_EQ] = ACTIONS(3328),
    [anon_sym_PERCENT_EQ] = ACTIONS(3328),
    [anon_sym_BANG_EQ] = ACTIONS(3325),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3328),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3328),
    [anon_sym_LT_EQ] = ACTIONS(3328),
    [anon_sym_GT_EQ] = ACTIONS(3328),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3328),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3328),
    [anon_sym_is] = ACTIONS(3328),
    [anon_sym_PLUS] = ACTIONS(3325),
    [anon_sym_DASH] = ACTIONS(3325),
    [anon_sym_STAR] = ACTIONS(3325),
    [anon_sym_SLASH] = ACTIONS(3325),
    [anon_sym_PERCENT] = ACTIONS(3325),
    [anon_sym_PLUS_PLUS] = ACTIONS(3328),
    [anon_sym_DASH_DASH] = ACTIONS(3328),
    [anon_sym_PIPE] = ACTIONS(3328),
    [anon_sym_CARET] = ACTIONS(3325),
    [anon_sym_LT_LT] = ACTIONS(3328),
    [anon_sym_GT_GT] = ACTIONS(3328),
    [anon_sym_class] = ACTIONS(3328),
    [anon_sym_prefix] = ACTIONS(3328),
    [anon_sym_infix] = ACTIONS(3328),
    [anon_sym_postfix] = ACTIONS(3328),
    [anon_sym_AT] = ACTIONS(3325),
    [anon_sym_override] = ACTIONS(3328),
    [anon_sym_convenience] = ACTIONS(3328),
    [anon_sym_required] = ACTIONS(3328),
    [anon_sym_nonisolated] = ACTIONS(3328),
    [anon_sym_public] = ACTIONS(3328),
    [anon_sym_private] = ACTIONS(3328),
    [anon_sym_internal] = ACTIONS(3328),
    [anon_sym_fileprivate] = ACTIONS(3328),
    [anon_sym_open] = ACTIONS(3328),
    [anon_sym_mutating] = ACTIONS(3328),
    [anon_sym_nonmutating] = ACTIONS(3328),
    [anon_sym_static] = ACTIONS(3328),
    [anon_sym_dynamic] = ACTIONS(3328),
    [anon_sym_optional] = ACTIONS(3328),
    [anon_sym_distributed] = ACTIONS(3328),
    [anon_sym_final] = ACTIONS(3328),
    [anon_sym_inout] = ACTIONS(3328),
    [anon_sym_ATescaping] = ACTIONS(3328),
    [anon_sym_ATautoclosure] = ACTIONS(3328),
    [anon_sym_weak] = ACTIONS(3328),
    [anon_sym_unowned] = ACTIONS(3325),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3328),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3328),
    [anon_sym_borrowing] = ACTIONS(3328),
    [anon_sym_consuming] = ACTIONS(3328),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3328),
    [sym__explicit_semi] = ACTIONS(3328),
    [sym__dot_custom] = ACTIONS(3328),
    [sym__conjunction_operator_custom] = ACTIONS(3328),
    [sym__disjunction_operator_custom] = ACTIONS(3328),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3328),
    [sym__eq_custom] = ACTIONS(3328),
    [sym__eq_eq_custom] = ACTIONS(3328),
    [sym__plus_then_ws] = ACTIONS(3328),
    [sym__minus_then_ws] = ACTIONS(3328),
    [sym__bang_custom] = ACTIONS(3328),
    [sym_default_keyword] = ACTIONS(3328),
    [sym__as_custom] = ACTIONS(3328),
    [sym__as_quest_custom] = ACTIONS(3328),
    [sym__as_bang_custom] = ACTIONS(3328),
    [sym__custom_operator] = ACTIONS(3328),
  },
  [1416] = {
    [anon_sym_BANG] = ACTIONS(3373),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3375),
    [anon_sym_package] = ACTIONS(3375),
    [anon_sym_COMMA] = ACTIONS(3375),
    [anon_sym_LPAREN] = ACTIONS(3375),
    [anon_sym_LBRACK] = ACTIONS(3375),
    [anon_sym_QMARK] = ACTIONS(3373),
    [anon_sym_QMARK2] = ACTIONS(3375),
    [anon_sym_AMP] = ACTIONS(3375),
    [aux_sym_custom_operator_token1] = ACTIONS(3375),
    [anon_sym_LT] = ACTIONS(3373),
    [anon_sym_GT] = ACTIONS(3373),
    [anon_sym_LBRACE] = ACTIONS(3375),
    [anon_sym_CARET_LBRACE] = ACTIONS(3375),
    [anon_sym_RBRACE] = ACTIONS(3375),
    [anon_sym_case] = ACTIONS(3375),
    [anon_sym_fallthrough] = ACTIONS(3375),
    [anon_sym_PLUS_EQ] = ACTIONS(3375),
    [anon_sym_DASH_EQ] = ACTIONS(3375),
    [anon_sym_STAR_EQ] = ACTIONS(3375),
    [anon_sym_SLASH_EQ] = ACTIONS(3375),
    [anon_sym_PERCENT_EQ] = ACTIONS(3375),
    [anon_sym_BANG_EQ] = ACTIONS(3373),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3375),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3375),
    [anon_sym_LT_EQ] = ACTIONS(3375),
    [anon_sym_GT_EQ] = ACTIONS(3375),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3375),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3375),
    [anon_sym_is] = ACTIONS(3375),
    [anon_sym_PLUS] = ACTIONS(3373),
    [anon_sym_DASH] = ACTIONS(3373),
    [anon_sym_STAR] = ACTIONS(3373),
    [anon_sym_SLASH] = ACTIONS(3373),
    [anon_sym_PERCENT] = ACTIONS(3373),
    [anon_sym_PLUS_PLUS] = ACTIONS(3375),
    [anon_sym_DASH_DASH] = ACTIONS(3375),
    [anon_sym_PIPE] = ACTIONS(3375),
    [anon_sym_CARET] = ACTIONS(3373),
    [anon_sym_LT_LT] = ACTIONS(3375),
    [anon_sym_GT_GT] = ACTIONS(3375),
    [anon_sym_class] = ACTIONS(3375),
    [anon_sym_prefix] = ACTIONS(3375),
    [anon_sym_infix] = ACTIONS(3375),
    [anon_sym_postfix] = ACTIONS(3375),
    [anon_sym_AT] = ACTIONS(3373),
    [anon_sym_override] = ACTIONS(3375),
    [anon_sym_convenience] = ACTIONS(3375),
    [anon_sym_required] = ACTIONS(3375),
    [anon_sym_nonisolated] = ACTIONS(3375),
    [anon_sym_public] = ACTIONS(3375),
    [anon_sym_private] = ACTIONS(3375),
    [anon_sym_internal] = ACTIONS(3375),
    [anon_sym_fileprivate] = ACTIONS(3375),
    [anon_sym_open] = ACTIONS(3375),
    [anon_sym_mutating] = ACTIONS(3375),
    [anon_sym_nonmutating] = ACTIONS(3375),
    [anon_sym_static] = ACTIONS(3375),
    [anon_sym_dynamic] = ACTIONS(3375),
    [anon_sym_optional] = ACTIONS(3375),
    [anon_sym_distributed] = ACTIONS(3375),
    [anon_sym_final] = ACTIONS(3375),
    [anon_sym_inout] = ACTIONS(3375),
    [anon_sym_ATescaping] = ACTIONS(3375),
    [anon_sym_ATautoclosure] = ACTIONS(3375),
    [anon_sym_weak] = ACTIONS(3375),
    [anon_sym_unowned] = ACTIONS(3373),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3375),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3375),
    [anon_sym_borrowing] = ACTIONS(3375),
    [anon_sym_consuming] = ACTIONS(3375),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3375),
    [sym__explicit_semi] = ACTIONS(3375),
    [sym__dot_custom] = ACTIONS(3375),
    [sym__conjunction_operator_custom] = ACTIONS(3375),
    [sym__disjunction_operator_custom] = ACTIONS(3375),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3375),
    [sym__eq_custom] = ACTIONS(3375),
    [sym__eq_eq_custom] = ACTIONS(3375),
    [sym__plus_then_ws] = ACTIONS(3375),
    [sym__minus_then_ws] = ACTIONS(3375),
    [sym__bang_custom] = ACTIONS(3375),
    [sym_default_keyword] = ACTIONS(3375),
    [sym__as_custom] = ACTIONS(3375),
    [sym__as_quest_custom] = ACTIONS(3375),
    [sym__as_bang_custom] = ACTIONS(3375),
    [sym__custom_operator] = ACTIONS(3375),
  },
  [1417] = {
    [anon_sym_BANG] = ACTIONS(3521),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3523),
    [anon_sym_package] = ACTIONS(3523),
    [anon_sym_COMMA] = ACTIONS(3523),
    [anon_sym_LPAREN] = ACTIONS(3523),
    [anon_sym_LBRACK] = ACTIONS(3523),
    [anon_sym_QMARK] = ACTIONS(3521),
    [anon_sym_QMARK2] = ACTIONS(3523),
    [anon_sym_AMP] = ACTIONS(3523),
    [aux_sym_custom_operator_token1] = ACTIONS(3523),
    [anon_sym_LT] = ACTIONS(3521),
    [anon_sym_GT] = ACTIONS(3521),
    [anon_sym_LBRACE] = ACTIONS(3523),
    [anon_sym_CARET_LBRACE] = ACTIONS(3523),
    [anon_sym_RBRACE] = ACTIONS(3523),
    [anon_sym_case] = ACTIONS(3523),
    [anon_sym_fallthrough] = ACTIONS(3523),
    [anon_sym_PLUS_EQ] = ACTIONS(3523),
    [anon_sym_DASH_EQ] = ACTIONS(3523),
    [anon_sym_STAR_EQ] = ACTIONS(3523),
    [anon_sym_SLASH_EQ] = ACTIONS(3523),
    [anon_sym_PERCENT_EQ] = ACTIONS(3523),
    [anon_sym_BANG_EQ] = ACTIONS(3521),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3523),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3523),
    [anon_sym_LT_EQ] = ACTIONS(3523),
    [anon_sym_GT_EQ] = ACTIONS(3523),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3523),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3523),
    [anon_sym_is] = ACTIONS(3523),
    [anon_sym_PLUS] = ACTIONS(3521),
    [anon_sym_DASH] = ACTIONS(3521),
    [anon_sym_STAR] = ACTIONS(3521),
    [anon_sym_SLASH] = ACTIONS(3521),
    [anon_sym_PERCENT] = ACTIONS(3521),
    [anon_sym_PLUS_PLUS] = ACTIONS(3523),
    [anon_sym_DASH_DASH] = ACTIONS(3523),
    [anon_sym_PIPE] = ACTIONS(3523),
    [anon_sym_CARET] = ACTIONS(3521),
    [anon_sym_LT_LT] = ACTIONS(3523),
    [anon_sym_GT_GT] = ACTIONS(3523),
    [anon_sym_class] = ACTIONS(3523),
    [anon_sym_prefix] = ACTIONS(3523),
    [anon_sym_infix] = ACTIONS(3523),
    [anon_sym_postfix] = ACTIONS(3523),
    [anon_sym_AT] = ACTIONS(3521),
    [anon_sym_override] = ACTIONS(3523),
    [anon_sym_convenience] = ACTIONS(3523),
    [anon_sym_required] = ACTIONS(3523),
    [anon_sym_nonisolated] = ACTIONS(3523),
    [anon_sym_public] = ACTIONS(3523),
    [anon_sym_private] = ACTIONS(3523),
    [anon_sym_internal] = ACTIONS(3523),
    [anon_sym_fileprivate] = ACTIONS(3523),
    [anon_sym_open] = ACTIONS(3523),
    [anon_sym_mutating] = ACTIONS(3523),
    [anon_sym_nonmutating] = ACTIONS(3523),
    [anon_sym_static] = ACTIONS(3523),
    [anon_sym_dynamic] = ACTIONS(3523),
    [anon_sym_optional] = ACTIONS(3523),
    [anon_sym_distributed] = ACTIONS(3523),
    [anon_sym_final] = ACTIONS(3523),
    [anon_sym_inout] = ACTIONS(3523),
    [anon_sym_ATescaping] = ACTIONS(3523),
    [anon_sym_ATautoclosure] = ACTIONS(3523),
    [anon_sym_weak] = ACTIONS(3523),
    [anon_sym_unowned] = ACTIONS(3521),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3523),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3523),
    [anon_sym_borrowing] = ACTIONS(3523),
    [anon_sym_consuming] = ACTIONS(3523),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3523),
    [sym__explicit_semi] = ACTIONS(3523),
    [sym__dot_custom] = ACTIONS(3523),
    [sym__conjunction_operator_custom] = ACTIONS(3523),
    [sym__disjunction_operator_custom] = ACTIONS(3523),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3523),
    [sym__eq_custom] = ACTIONS(3523),
    [sym__eq_eq_custom] = ACTIONS(3523),
    [sym__plus_then_ws] = ACTIONS(3523),
    [sym__minus_then_ws] = ACTIONS(3523),
    [sym__bang_custom] = ACTIONS(3523),
    [sym_default_keyword] = ACTIONS(3523),
    [sym__as_custom] = ACTIONS(3523),
    [sym__as_quest_custom] = ACTIONS(3523),
    [sym__as_bang_custom] = ACTIONS(3523),
    [sym__custom_operator] = ACTIONS(3523),
  },
  [1418] = {
    [anon_sym_BANG] = ACTIONS(3461),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3463),
    [anon_sym_package] = ACTIONS(3463),
    [anon_sym_COMMA] = ACTIONS(3463),
    [anon_sym_LPAREN] = ACTIONS(3463),
    [anon_sym_LBRACK] = ACTIONS(3463),
    [anon_sym_QMARK] = ACTIONS(3461),
    [anon_sym_QMARK2] = ACTIONS(3463),
    [anon_sym_AMP] = ACTIONS(3463),
    [aux_sym_custom_operator_token1] = ACTIONS(3463),
    [anon_sym_LT] = ACTIONS(3461),
    [anon_sym_GT] = ACTIONS(3461),
    [anon_sym_LBRACE] = ACTIONS(3463),
    [anon_sym_CARET_LBRACE] = ACTIONS(3463),
    [anon_sym_RBRACE] = ACTIONS(3463),
    [anon_sym_case] = ACTIONS(3463),
    [anon_sym_fallthrough] = ACTIONS(3463),
    [anon_sym_PLUS_EQ] = ACTIONS(3463),
    [anon_sym_DASH_EQ] = ACTIONS(3463),
    [anon_sym_STAR_EQ] = ACTIONS(3463),
    [anon_sym_SLASH_EQ] = ACTIONS(3463),
    [anon_sym_PERCENT_EQ] = ACTIONS(3463),
    [anon_sym_BANG_EQ] = ACTIONS(3461),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3463),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3463),
    [anon_sym_LT_EQ] = ACTIONS(3463),
    [anon_sym_GT_EQ] = ACTIONS(3463),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3463),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3463),
    [anon_sym_is] = ACTIONS(3463),
    [anon_sym_PLUS] = ACTIONS(3461),
    [anon_sym_DASH] = ACTIONS(3461),
    [anon_sym_STAR] = ACTIONS(3461),
    [anon_sym_SLASH] = ACTIONS(3461),
    [anon_sym_PERCENT] = ACTIONS(3461),
    [anon_sym_PLUS_PLUS] = ACTIONS(3463),
    [anon_sym_DASH_DASH] = ACTIONS(3463),
    [anon_sym_PIPE] = ACTIONS(3463),
    [anon_sym_CARET] = ACTIONS(3461),
    [anon_sym_LT_LT] = ACTIONS(3463),
    [anon_sym_GT_GT] = ACTIONS(3463),
    [anon_sym_class] = ACTIONS(3463),
    [anon_sym_prefix] = ACTIONS(3463),
    [anon_sym_infix] = ACTIONS(3463),
    [anon_sym_postfix] = ACTIONS(3463),
    [anon_sym_AT] = ACTIONS(3461),
    [anon_sym_override] = ACTIONS(3463),
    [anon_sym_convenience] = ACTIONS(3463),
    [anon_sym_required] = ACTIONS(3463),
    [anon_sym_nonisolated] = ACTIONS(3463),
    [anon_sym_public] = ACTIONS(3463),
    [anon_sym_private] = ACTIONS(3463),
    [anon_sym_internal] = ACTIONS(3463),
    [anon_sym_fileprivate] = ACTIONS(3463),
    [anon_sym_open] = ACTIONS(3463),
    [anon_sym_mutating] = ACTIONS(3463),
    [anon_sym_nonmutating] = ACTIONS(3463),
    [anon_sym_static] = ACTIONS(3463),
    [anon_sym_dynamic] = ACTIONS(3463),
    [anon_sym_optional] = ACTIONS(3463),
    [anon_sym_distributed] = ACTIONS(3463),
    [anon_sym_final] = ACTIONS(3463),
    [anon_sym_inout] = ACTIONS(3463),
    [anon_sym_ATescaping] = ACTIONS(3463),
    [anon_sym_ATautoclosure] = ACTIONS(3463),
    [anon_sym_weak] = ACTIONS(3463),
    [anon_sym_unowned] = ACTIONS(3461),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3463),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3463),
    [anon_sym_borrowing] = ACTIONS(3463),
    [anon_sym_consuming] = ACTIONS(3463),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3463),
    [sym__explicit_semi] = ACTIONS(3463),
    [sym__dot_custom] = ACTIONS(3463),
    [sym__conjunction_operator_custom] = ACTIONS(3463),
    [sym__disjunction_operator_custom] = ACTIONS(3463),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3463),
    [sym__eq_custom] = ACTIONS(3463),
    [sym__eq_eq_custom] = ACTIONS(3463),
    [sym__plus_then_ws] = ACTIONS(3463),
    [sym__minus_then_ws] = ACTIONS(3463),
    [sym__bang_custom] = ACTIONS(3463),
    [sym_default_keyword] = ACTIONS(3463),
    [sym__as_custom] = ACTIONS(3463),
    [sym__as_quest_custom] = ACTIONS(3463),
    [sym__as_bang_custom] = ACTIONS(3463),
    [sym__custom_operator] = ACTIONS(3463),
  },
  [1419] = {
    [anon_sym_BANG] = ACTIONS(447),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(469),
    [anon_sym_package] = ACTIONS(469),
    [anon_sym_COMMA] = ACTIONS(469),
    [anon_sym_LPAREN] = ACTIONS(469),
    [anon_sym_LBRACK] = ACTIONS(469),
    [anon_sym_QMARK] = ACTIONS(447),
    [anon_sym_QMARK2] = ACTIONS(469),
    [anon_sym_AMP] = ACTIONS(469),
    [aux_sym_custom_operator_token1] = ACTIONS(469),
    [anon_sym_LT] = ACTIONS(447),
    [anon_sym_GT] = ACTIONS(447),
    [anon_sym_LBRACE] = ACTIONS(469),
    [anon_sym_CARET_LBRACE] = ACTIONS(469),
    [anon_sym_RBRACE] = ACTIONS(469),
    [anon_sym_case] = ACTIONS(469),
    [anon_sym_fallthrough] = ACTIONS(469),
    [anon_sym_PLUS_EQ] = ACTIONS(469),
    [anon_sym_DASH_EQ] = ACTIONS(469),
    [anon_sym_STAR_EQ] = ACTIONS(469),
    [anon_sym_SLASH_EQ] = ACTIONS(469),
    [anon_sym_PERCENT_EQ] = ACTIONS(469),
    [anon_sym_BANG_EQ] = ACTIONS(447),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(469),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(469),
    [anon_sym_LT_EQ] = ACTIONS(469),
    [anon_sym_GT_EQ] = ACTIONS(469),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(469),
    [anon_sym_DOT_DOT_LT] = ACTIONS(469),
    [anon_sym_is] = ACTIONS(469),
    [anon_sym_PLUS] = ACTIONS(447),
    [anon_sym_DASH] = ACTIONS(447),
    [anon_sym_STAR] = ACTIONS(447),
    [anon_sym_SLASH] = ACTIONS(447),
    [anon_sym_PERCENT] = ACTIONS(447),
    [anon_sym_PLUS_PLUS] = ACTIONS(469),
    [anon_sym_DASH_DASH] = ACTIONS(469),
    [anon_sym_PIPE] = ACTIONS(469),
    [anon_sym_CARET] = ACTIONS(447),
    [anon_sym_LT_LT] = ACTIONS(469),
    [anon_sym_GT_GT] = ACTIONS(469),
    [anon_sym_class] = ACTIONS(469),
    [anon_sym_prefix] = ACTIONS(469),
    [anon_sym_infix] = ACTIONS(469),
    [anon_sym_postfix] = ACTIONS(469),
    [anon_sym_AT] = ACTIONS(447),
    [anon_sym_override] = ACTIONS(469),
    [anon_sym_convenience] = ACTIONS(469),
    [anon_sym_required] = ACTIONS(469),
    [anon_sym_nonisolated] = ACTIONS(469),
    [anon_sym_public] = ACTIONS(469),
    [anon_sym_private] = ACTIONS(469),
    [anon_sym_internal] = ACTIONS(469),
    [anon_sym_fileprivate] = ACTIONS(469),
    [anon_sym_open] = ACTIONS(469),
    [anon_sym_mutating] = ACTIONS(469),
    [anon_sym_nonmutating] = ACTIONS(469),
    [anon_sym_static] = ACTIONS(469),
    [anon_sym_dynamic] = ACTIONS(469),
    [anon_sym_optional] = ACTIONS(469),
    [anon_sym_distributed] = ACTIONS(469),
    [anon_sym_final] = ACTIONS(469),
    [anon_sym_inout] = ACTIONS(469),
    [anon_sym_ATescaping] = ACTIONS(469),
    [anon_sym_ATautoclosure] = ACTIONS(469),
    [anon_sym_weak] = ACTIONS(469),
    [anon_sym_unowned] = ACTIONS(447),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(469),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(469),
    [anon_sym_borrowing] = ACTIONS(469),
    [anon_sym_consuming] = ACTIONS(469),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(469),
    [sym__explicit_semi] = ACTIONS(469),
    [sym__dot_custom] = ACTIONS(469),
    [sym__conjunction_operator_custom] = ACTIONS(469),
    [sym__disjunction_operator_custom] = ACTIONS(469),
    [sym__nil_coalescing_operator_custom] = ACTIONS(469),
    [sym__eq_custom] = ACTIONS(469),
    [sym__eq_eq_custom] = ACTIONS(469),
    [sym__plus_then_ws] = ACTIONS(469),
    [sym__minus_then_ws] = ACTIONS(469),
    [sym__bang_custom] = ACTIONS(469),
    [sym_default_keyword] = ACTIONS(469),
    [sym__as_custom] = ACTIONS(469),
    [sym__as_quest_custom] = ACTIONS(469),
    [sym__as_bang_custom] = ACTIONS(469),
    [sym__custom_operator] = ACTIONS(469),
  },
  [1420] = {
    [anon_sym_BANG] = ACTIONS(3621),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3623),
    [anon_sym_package] = ACTIONS(3623),
    [anon_sym_COMMA] = ACTIONS(3623),
    [anon_sym_LPAREN] = ACTIONS(3623),
    [anon_sym_LBRACK] = ACTIONS(3623),
    [anon_sym_QMARK] = ACTIONS(3621),
    [anon_sym_QMARK2] = ACTIONS(3623),
    [anon_sym_AMP] = ACTIONS(3623),
    [aux_sym_custom_operator_token1] = ACTIONS(3623),
    [anon_sym_LT] = ACTIONS(3621),
    [anon_sym_GT] = ACTIONS(3621),
    [anon_sym_LBRACE] = ACTIONS(3623),
    [anon_sym_CARET_LBRACE] = ACTIONS(3623),
    [anon_sym_RBRACE] = ACTIONS(3623),
    [anon_sym_case] = ACTIONS(3623),
    [anon_sym_fallthrough] = ACTIONS(3623),
    [anon_sym_PLUS_EQ] = ACTIONS(3623),
    [anon_sym_DASH_EQ] = ACTIONS(3623),
    [anon_sym_STAR_EQ] = ACTIONS(3623),
    [anon_sym_SLASH_EQ] = ACTIONS(3623),
    [anon_sym_PERCENT_EQ] = ACTIONS(3623),
    [anon_sym_BANG_EQ] = ACTIONS(3621),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3623),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3623),
    [anon_sym_LT_EQ] = ACTIONS(3623),
    [anon_sym_GT_EQ] = ACTIONS(3623),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3623),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3623),
    [anon_sym_is] = ACTIONS(3623),
    [anon_sym_PLUS] = ACTIONS(3621),
    [anon_sym_DASH] = ACTIONS(3621),
    [anon_sym_STAR] = ACTIONS(3621),
    [anon_sym_SLASH] = ACTIONS(3621),
    [anon_sym_PERCENT] = ACTIONS(3621),
    [anon_sym_PLUS_PLUS] = ACTIONS(3623),
    [anon_sym_DASH_DASH] = ACTIONS(3623),
    [anon_sym_PIPE] = ACTIONS(3623),
    [anon_sym_CARET] = ACTIONS(3621),
    [anon_sym_LT_LT] = ACTIONS(3623),
    [anon_sym_GT_GT] = ACTIONS(3623),
    [anon_sym_class] = ACTIONS(3623),
    [anon_sym_prefix] = ACTIONS(3623),
    [anon_sym_infix] = ACTIONS(3623),
    [anon_sym_postfix] = ACTIONS(3623),
    [anon_sym_AT] = ACTIONS(3621),
    [anon_sym_override] = ACTIONS(3623),
    [anon_sym_convenience] = ACTIONS(3623),
    [anon_sym_required] = ACTIONS(3623),
    [anon_sym_nonisolated] = ACTIONS(3623),
    [anon_sym_public] = ACTIONS(3623),
    [anon_sym_private] = ACTIONS(3623),
    [anon_sym_internal] = ACTIONS(3623),
    [anon_sym_fileprivate] = ACTIONS(3623),
    [anon_sym_open] = ACTIONS(3623),
    [anon_sym_mutating] = ACTIONS(3623),
    [anon_sym_nonmutating] = ACTIONS(3623),
    [anon_sym_static] = ACTIONS(3623),
    [anon_sym_dynamic] = ACTIONS(3623),
    [anon_sym_optional] = ACTIONS(3623),
    [anon_sym_distributed] = ACTIONS(3623),
    [anon_sym_final] = ACTIONS(3623),
    [anon_sym_inout] = ACTIONS(3623),
    [anon_sym_ATescaping] = ACTIONS(3623),
    [anon_sym_ATautoclosure] = ACTIONS(3623),
    [anon_sym_weak] = ACTIONS(3623),
    [anon_sym_unowned] = ACTIONS(3621),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3623),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3623),
    [anon_sym_borrowing] = ACTIONS(3623),
    [anon_sym_consuming] = ACTIONS(3623),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3623),
    [sym__explicit_semi] = ACTIONS(3623),
    [sym__dot_custom] = ACTIONS(3623),
    [sym__conjunction_operator_custom] = ACTIONS(3623),
    [sym__disjunction_operator_custom] = ACTIONS(3623),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3623),
    [sym__eq_custom] = ACTIONS(3623),
    [sym__eq_eq_custom] = ACTIONS(3623),
    [sym__plus_then_ws] = ACTIONS(3623),
    [sym__minus_then_ws] = ACTIONS(3623),
    [sym__bang_custom] = ACTIONS(3623),
    [sym_default_keyword] = ACTIONS(3623),
    [sym__as_custom] = ACTIONS(3623),
    [sym__as_quest_custom] = ACTIONS(3623),
    [sym__as_bang_custom] = ACTIONS(3623),
    [sym__custom_operator] = ACTIONS(3623),
  },
  [1421] = {
    [anon_sym_BANG] = ACTIONS(3389),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3391),
    [anon_sym_package] = ACTIONS(3391),
    [anon_sym_COMMA] = ACTIONS(3391),
    [anon_sym_LPAREN] = ACTIONS(3391),
    [anon_sym_LBRACK] = ACTIONS(3391),
    [anon_sym_QMARK] = ACTIONS(3389),
    [anon_sym_QMARK2] = ACTIONS(3391),
    [anon_sym_AMP] = ACTIONS(3391),
    [aux_sym_custom_operator_token1] = ACTIONS(3391),
    [anon_sym_LT] = ACTIONS(3389),
    [anon_sym_GT] = ACTIONS(3389),
    [anon_sym_LBRACE] = ACTIONS(3391),
    [anon_sym_CARET_LBRACE] = ACTIONS(3391),
    [anon_sym_RBRACE] = ACTIONS(3391),
    [anon_sym_case] = ACTIONS(3391),
    [anon_sym_fallthrough] = ACTIONS(3391),
    [anon_sym_PLUS_EQ] = ACTIONS(3391),
    [anon_sym_DASH_EQ] = ACTIONS(3391),
    [anon_sym_STAR_EQ] = ACTIONS(3391),
    [anon_sym_SLASH_EQ] = ACTIONS(3391),
    [anon_sym_PERCENT_EQ] = ACTIONS(3391),
    [anon_sym_BANG_EQ] = ACTIONS(3389),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3391),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3391),
    [anon_sym_LT_EQ] = ACTIONS(3391),
    [anon_sym_GT_EQ] = ACTIONS(3391),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3391),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3391),
    [anon_sym_is] = ACTIONS(3391),
    [anon_sym_PLUS] = ACTIONS(3389),
    [anon_sym_DASH] = ACTIONS(3389),
    [anon_sym_STAR] = ACTIONS(3389),
    [anon_sym_SLASH] = ACTIONS(3389),
    [anon_sym_PERCENT] = ACTIONS(3389),
    [anon_sym_PLUS_PLUS] = ACTIONS(3391),
    [anon_sym_DASH_DASH] = ACTIONS(3391),
    [anon_sym_PIPE] = ACTIONS(3391),
    [anon_sym_CARET] = ACTIONS(3389),
    [anon_sym_LT_LT] = ACTIONS(3391),
    [anon_sym_GT_GT] = ACTIONS(3391),
    [anon_sym_class] = ACTIONS(3391),
    [anon_sym_prefix] = ACTIONS(3391),
    [anon_sym_infix] = ACTIONS(3391),
    [anon_sym_postfix] = ACTIONS(3391),
    [anon_sym_AT] = ACTIONS(3389),
    [anon_sym_override] = ACTIONS(3391),
    [anon_sym_convenience] = ACTIONS(3391),
    [anon_sym_required] = ACTIONS(3391),
    [anon_sym_nonisolated] = ACTIONS(3391),
    [anon_sym_public] = ACTIONS(3391),
    [anon_sym_private] = ACTIONS(3391),
    [anon_sym_internal] = ACTIONS(3391),
    [anon_sym_fileprivate] = ACTIONS(3391),
    [anon_sym_open] = ACTIONS(3391),
    [anon_sym_mutating] = ACTIONS(3391),
    [anon_sym_nonmutating] = ACTIONS(3391),
    [anon_sym_static] = ACTIONS(3391),
    [anon_sym_dynamic] = ACTIONS(3391),
    [anon_sym_optional] = ACTIONS(3391),
    [anon_sym_distributed] = ACTIONS(3391),
    [anon_sym_final] = ACTIONS(3391),
    [anon_sym_inout] = ACTIONS(3391),
    [anon_sym_ATescaping] = ACTIONS(3391),
    [anon_sym_ATautoclosure] = ACTIONS(3391),
    [anon_sym_weak] = ACTIONS(3391),
    [anon_sym_unowned] = ACTIONS(3389),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3391),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3391),
    [anon_sym_borrowing] = ACTIONS(3391),
    [anon_sym_consuming] = ACTIONS(3391),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3391),
    [sym__explicit_semi] = ACTIONS(3391),
    [sym__dot_custom] = ACTIONS(3391),
    [sym__conjunction_operator_custom] = ACTIONS(3391),
    [sym__disjunction_operator_custom] = ACTIONS(3391),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3391),
    [sym__eq_custom] = ACTIONS(3391),
    [sym__eq_eq_custom] = ACTIONS(3391),
    [sym__plus_then_ws] = ACTIONS(3391),
    [sym__minus_then_ws] = ACTIONS(3391),
    [sym__bang_custom] = ACTIONS(3391),
    [sym_default_keyword] = ACTIONS(3391),
    [sym__as_custom] = ACTIONS(3391),
    [sym__as_quest_custom] = ACTIONS(3391),
    [sym__as_bang_custom] = ACTIONS(3391),
    [sym__custom_operator] = ACTIONS(3391),
  },
  [1422] = {
    [anon_sym_BANG] = ACTIONS(3409),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3411),
    [anon_sym_package] = ACTIONS(3411),
    [anon_sym_COMMA] = ACTIONS(3411),
    [anon_sym_LPAREN] = ACTIONS(3411),
    [anon_sym_LBRACK] = ACTIONS(3411),
    [anon_sym_QMARK] = ACTIONS(3409),
    [anon_sym_QMARK2] = ACTIONS(3411),
    [anon_sym_AMP] = ACTIONS(3411),
    [aux_sym_custom_operator_token1] = ACTIONS(3411),
    [anon_sym_LT] = ACTIONS(3409),
    [anon_sym_GT] = ACTIONS(3409),
    [anon_sym_LBRACE] = ACTIONS(3411),
    [anon_sym_CARET_LBRACE] = ACTIONS(3411),
    [anon_sym_RBRACE] = ACTIONS(3411),
    [anon_sym_case] = ACTIONS(3411),
    [anon_sym_fallthrough] = ACTIONS(3411),
    [anon_sym_PLUS_EQ] = ACTIONS(3411),
    [anon_sym_DASH_EQ] = ACTIONS(3411),
    [anon_sym_STAR_EQ] = ACTIONS(3411),
    [anon_sym_SLASH_EQ] = ACTIONS(3411),
    [anon_sym_PERCENT_EQ] = ACTIONS(3411),
    [anon_sym_BANG_EQ] = ACTIONS(3409),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3411),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3411),
    [anon_sym_LT_EQ] = ACTIONS(3411),
    [anon_sym_GT_EQ] = ACTIONS(3411),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3411),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3411),
    [anon_sym_is] = ACTIONS(3411),
    [anon_sym_PLUS] = ACTIONS(3409),
    [anon_sym_DASH] = ACTIONS(3409),
    [anon_sym_STAR] = ACTIONS(3409),
    [anon_sym_SLASH] = ACTIONS(3409),
    [anon_sym_PERCENT] = ACTIONS(3409),
    [anon_sym_PLUS_PLUS] = ACTIONS(3411),
    [anon_sym_DASH_DASH] = ACTIONS(3411),
    [anon_sym_PIPE] = ACTIONS(3411),
    [anon_sym_CARET] = ACTIONS(3409),
    [anon_sym_LT_LT] = ACTIONS(3411),
    [anon_sym_GT_GT] = ACTIONS(3411),
    [anon_sym_class] = ACTIONS(3411),
    [anon_sym_prefix] = ACTIONS(3411),
    [anon_sym_infix] = ACTIONS(3411),
    [anon_sym_postfix] = ACTIONS(3411),
    [anon_sym_AT] = ACTIONS(3409),
    [anon_sym_override] = ACTIONS(3411),
    [anon_sym_convenience] = ACTIONS(3411),
    [anon_sym_required] = ACTIONS(3411),
    [anon_sym_nonisolated] = ACTIONS(3411),
    [anon_sym_public] = ACTIONS(3411),
    [anon_sym_private] = ACTIONS(3411),
    [anon_sym_internal] = ACTIONS(3411),
    [anon_sym_fileprivate] = ACTIONS(3411),
    [anon_sym_open] = ACTIONS(3411),
    [anon_sym_mutating] = ACTIONS(3411),
    [anon_sym_nonmutating] = ACTIONS(3411),
    [anon_sym_static] = ACTIONS(3411),
    [anon_sym_dynamic] = ACTIONS(3411),
    [anon_sym_optional] = ACTIONS(3411),
    [anon_sym_distributed] = ACTIONS(3411),
    [anon_sym_final] = ACTIONS(3411),
    [anon_sym_inout] = ACTIONS(3411),
    [anon_sym_ATescaping] = ACTIONS(3411),
    [anon_sym_ATautoclosure] = ACTIONS(3411),
    [anon_sym_weak] = ACTIONS(3411),
    [anon_sym_unowned] = ACTIONS(3409),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3411),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3411),
    [anon_sym_borrowing] = ACTIONS(3411),
    [anon_sym_consuming] = ACTIONS(3411),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3411),
    [sym__explicit_semi] = ACTIONS(3411),
    [sym__dot_custom] = ACTIONS(3411),
    [sym__conjunction_operator_custom] = ACTIONS(3411),
    [sym__disjunction_operator_custom] = ACTIONS(3411),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3411),
    [sym__eq_custom] = ACTIONS(3411),
    [sym__eq_eq_custom] = ACTIONS(3411),
    [sym__plus_then_ws] = ACTIONS(3411),
    [sym__minus_then_ws] = ACTIONS(3411),
    [sym__bang_custom] = ACTIONS(3411),
    [sym_default_keyword] = ACTIONS(3411),
    [sym__as_custom] = ACTIONS(3411),
    [sym__as_quest_custom] = ACTIONS(3411),
    [sym__as_bang_custom] = ACTIONS(3411),
    [sym__custom_operator] = ACTIONS(3411),
  },
  [1423] = {
    [anon_sym_BANG] = ACTIONS(3369),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3371),
    [anon_sym_package] = ACTIONS(3371),
    [anon_sym_COMMA] = ACTIONS(3371),
    [anon_sym_LPAREN] = ACTIONS(3371),
    [anon_sym_LBRACK] = ACTIONS(3371),
    [anon_sym_QMARK] = ACTIONS(3369),
    [anon_sym_QMARK2] = ACTIONS(3371),
    [anon_sym_AMP] = ACTIONS(3371),
    [aux_sym_custom_operator_token1] = ACTIONS(3371),
    [anon_sym_LT] = ACTIONS(3369),
    [anon_sym_GT] = ACTIONS(3369),
    [anon_sym_LBRACE] = ACTIONS(3371),
    [anon_sym_CARET_LBRACE] = ACTIONS(3371),
    [anon_sym_RBRACE] = ACTIONS(3371),
    [anon_sym_case] = ACTIONS(3371),
    [anon_sym_fallthrough] = ACTIONS(3371),
    [anon_sym_PLUS_EQ] = ACTIONS(3371),
    [anon_sym_DASH_EQ] = ACTIONS(3371),
    [anon_sym_STAR_EQ] = ACTIONS(3371),
    [anon_sym_SLASH_EQ] = ACTIONS(3371),
    [anon_sym_PERCENT_EQ] = ACTIONS(3371),
    [anon_sym_BANG_EQ] = ACTIONS(3369),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3371),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3371),
    [anon_sym_LT_EQ] = ACTIONS(3371),
    [anon_sym_GT_EQ] = ACTIONS(3371),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3371),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3371),
    [anon_sym_is] = ACTIONS(3371),
    [anon_sym_PLUS] = ACTIONS(3369),
    [anon_sym_DASH] = ACTIONS(3369),
    [anon_sym_STAR] = ACTIONS(3369),
    [anon_sym_SLASH] = ACTIONS(3369),
    [anon_sym_PERCENT] = ACTIONS(3369),
    [anon_sym_PLUS_PLUS] = ACTIONS(3371),
    [anon_sym_DASH_DASH] = ACTIONS(3371),
    [anon_sym_PIPE] = ACTIONS(3371),
    [anon_sym_CARET] = ACTIONS(3369),
    [anon_sym_LT_LT] = ACTIONS(3371),
    [anon_sym_GT_GT] = ACTIONS(3371),
    [anon_sym_class] = ACTIONS(3371),
    [anon_sym_prefix] = ACTIONS(3371),
    [anon_sym_infix] = ACTIONS(3371),
    [anon_sym_postfix] = ACTIONS(3371),
    [anon_sym_AT] = ACTIONS(3369),
    [anon_sym_override] = ACTIONS(3371),
    [anon_sym_convenience] = ACTIONS(3371),
    [anon_sym_required] = ACTIONS(3371),
    [anon_sym_nonisolated] = ACTIONS(3371),
    [anon_sym_public] = ACTIONS(3371),
    [anon_sym_private] = ACTIONS(3371),
    [anon_sym_internal] = ACTIONS(3371),
    [anon_sym_fileprivate] = ACTIONS(3371),
    [anon_sym_open] = ACTIONS(3371),
    [anon_sym_mutating] = ACTIONS(3371),
    [anon_sym_nonmutating] = ACTIONS(3371),
    [anon_sym_static] = ACTIONS(3371),
    [anon_sym_dynamic] = ACTIONS(3371),
    [anon_sym_optional] = ACTIONS(3371),
    [anon_sym_distributed] = ACTIONS(3371),
    [anon_sym_final] = ACTIONS(3371),
    [anon_sym_inout] = ACTIONS(3371),
    [anon_sym_ATescaping] = ACTIONS(3371),
    [anon_sym_ATautoclosure] = ACTIONS(3371),
    [anon_sym_weak] = ACTIONS(3371),
    [anon_sym_unowned] = ACTIONS(3369),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3371),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3371),
    [anon_sym_borrowing] = ACTIONS(3371),
    [anon_sym_consuming] = ACTIONS(3371),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3371),
    [sym__explicit_semi] = ACTIONS(3371),
    [sym__dot_custom] = ACTIONS(3371),
    [sym__conjunction_operator_custom] = ACTIONS(3371),
    [sym__disjunction_operator_custom] = ACTIONS(3371),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3371),
    [sym__eq_custom] = ACTIONS(3371),
    [sym__eq_eq_custom] = ACTIONS(3371),
    [sym__plus_then_ws] = ACTIONS(3371),
    [sym__minus_then_ws] = ACTIONS(3371),
    [sym__bang_custom] = ACTIONS(3371),
    [sym_default_keyword] = ACTIONS(3371),
    [sym__as_custom] = ACTIONS(3371),
    [sym__as_quest_custom] = ACTIONS(3371),
    [sym__as_bang_custom] = ACTIONS(3371),
    [sym__custom_operator] = ACTIONS(3371),
  },
  [1424] = {
    [anon_sym_BANG] = ACTIONS(3473),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3475),
    [anon_sym_package] = ACTIONS(3475),
    [anon_sym_COMMA] = ACTIONS(3475),
    [anon_sym_LPAREN] = ACTIONS(3475),
    [anon_sym_LBRACK] = ACTIONS(3475),
    [anon_sym_QMARK] = ACTIONS(3473),
    [anon_sym_QMARK2] = ACTIONS(3475),
    [anon_sym_AMP] = ACTIONS(3475),
    [aux_sym_custom_operator_token1] = ACTIONS(3475),
    [anon_sym_LT] = ACTIONS(3473),
    [anon_sym_GT] = ACTIONS(3473),
    [anon_sym_LBRACE] = ACTIONS(3475),
    [anon_sym_CARET_LBRACE] = ACTIONS(3475),
    [anon_sym_RBRACE] = ACTIONS(3475),
    [anon_sym_case] = ACTIONS(3475),
    [anon_sym_fallthrough] = ACTIONS(3475),
    [anon_sym_PLUS_EQ] = ACTIONS(3475),
    [anon_sym_DASH_EQ] = ACTIONS(3475),
    [anon_sym_STAR_EQ] = ACTIONS(3475),
    [anon_sym_SLASH_EQ] = ACTIONS(3475),
    [anon_sym_PERCENT_EQ] = ACTIONS(3475),
    [anon_sym_BANG_EQ] = ACTIONS(3473),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3475),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3475),
    [anon_sym_LT_EQ] = ACTIONS(3475),
    [anon_sym_GT_EQ] = ACTIONS(3475),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3475),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3475),
    [anon_sym_is] = ACTIONS(3475),
    [anon_sym_PLUS] = ACTIONS(3473),
    [anon_sym_DASH] = ACTIONS(3473),
    [anon_sym_STAR] = ACTIONS(3473),
    [anon_sym_SLASH] = ACTIONS(3473),
    [anon_sym_PERCENT] = ACTIONS(3473),
    [anon_sym_PLUS_PLUS] = ACTIONS(3475),
    [anon_sym_DASH_DASH] = ACTIONS(3475),
    [anon_sym_PIPE] = ACTIONS(3475),
    [anon_sym_CARET] = ACTIONS(3473),
    [anon_sym_LT_LT] = ACTIONS(3475),
    [anon_sym_GT_GT] = ACTIONS(3475),
    [anon_sym_class] = ACTIONS(3475),
    [anon_sym_prefix] = ACTIONS(3475),
    [anon_sym_infix] = ACTIONS(3475),
    [anon_sym_postfix] = ACTIONS(3475),
    [anon_sym_AT] = ACTIONS(3473),
    [anon_sym_override] = ACTIONS(3475),
    [anon_sym_convenience] = ACTIONS(3475),
    [anon_sym_required] = ACTIONS(3475),
    [anon_sym_nonisolated] = ACTIONS(3475),
    [anon_sym_public] = ACTIONS(3475),
    [anon_sym_private] = ACTIONS(3475),
    [anon_sym_internal] = ACTIONS(3475),
    [anon_sym_fileprivate] = ACTIONS(3475),
    [anon_sym_open] = ACTIONS(3475),
    [anon_sym_mutating] = ACTIONS(3475),
    [anon_sym_nonmutating] = ACTIONS(3475),
    [anon_sym_static] = ACTIONS(3475),
    [anon_sym_dynamic] = ACTIONS(3475),
    [anon_sym_optional] = ACTIONS(3475),
    [anon_sym_distributed] = ACTIONS(3475),
    [anon_sym_final] = ACTIONS(3475),
    [anon_sym_inout] = ACTIONS(3475),
    [anon_sym_ATescaping] = ACTIONS(3475),
    [anon_sym_ATautoclosure] = ACTIONS(3475),
    [anon_sym_weak] = ACTIONS(3475),
    [anon_sym_unowned] = ACTIONS(3473),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3475),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3475),
    [anon_sym_borrowing] = ACTIONS(3475),
    [anon_sym_consuming] = ACTIONS(3475),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3475),
    [sym__explicit_semi] = ACTIONS(3475),
    [sym__dot_custom] = ACTIONS(3475),
    [sym__conjunction_operator_custom] = ACTIONS(3475),
    [sym__disjunction_operator_custom] = ACTIONS(3475),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3475),
    [sym__eq_custom] = ACTIONS(3475),
    [sym__eq_eq_custom] = ACTIONS(3475),
    [sym__plus_then_ws] = ACTIONS(3475),
    [sym__minus_then_ws] = ACTIONS(3475),
    [sym__bang_custom] = ACTIONS(3475),
    [sym_default_keyword] = ACTIONS(3475),
    [sym__as_custom] = ACTIONS(3475),
    [sym__as_quest_custom] = ACTIONS(3475),
    [sym__as_bang_custom] = ACTIONS(3475),
    [sym__custom_operator] = ACTIONS(3475),
  },
  [1425] = {
    [anon_sym_BANG] = ACTIONS(3365),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3367),
    [anon_sym_package] = ACTIONS(3367),
    [anon_sym_COMMA] = ACTIONS(3367),
    [anon_sym_LPAREN] = ACTIONS(3367),
    [anon_sym_LBRACK] = ACTIONS(3367),
    [anon_sym_QMARK] = ACTIONS(3365),
    [anon_sym_QMARK2] = ACTIONS(3367),
    [anon_sym_AMP] = ACTIONS(3367),
    [aux_sym_custom_operator_token1] = ACTIONS(3367),
    [anon_sym_LT] = ACTIONS(3365),
    [anon_sym_GT] = ACTIONS(3365),
    [anon_sym_LBRACE] = ACTIONS(3367),
    [anon_sym_CARET_LBRACE] = ACTIONS(3367),
    [anon_sym_RBRACE] = ACTIONS(3367),
    [anon_sym_case] = ACTIONS(3367),
    [anon_sym_fallthrough] = ACTIONS(3367),
    [anon_sym_PLUS_EQ] = ACTIONS(3367),
    [anon_sym_DASH_EQ] = ACTIONS(3367),
    [anon_sym_STAR_EQ] = ACTIONS(3367),
    [anon_sym_SLASH_EQ] = ACTIONS(3367),
    [anon_sym_PERCENT_EQ] = ACTIONS(3367),
    [anon_sym_BANG_EQ] = ACTIONS(3365),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3367),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3367),
    [anon_sym_LT_EQ] = ACTIONS(3367),
    [anon_sym_GT_EQ] = ACTIONS(3367),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3367),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3367),
    [anon_sym_is] = ACTIONS(3367),
    [anon_sym_PLUS] = ACTIONS(3365),
    [anon_sym_DASH] = ACTIONS(3365),
    [anon_sym_STAR] = ACTIONS(3365),
    [anon_sym_SLASH] = ACTIONS(3365),
    [anon_sym_PERCENT] = ACTIONS(3365),
    [anon_sym_PLUS_PLUS] = ACTIONS(3367),
    [anon_sym_DASH_DASH] = ACTIONS(3367),
    [anon_sym_PIPE] = ACTIONS(3367),
    [anon_sym_CARET] = ACTIONS(3365),
    [anon_sym_LT_LT] = ACTIONS(3367),
    [anon_sym_GT_GT] = ACTIONS(3367),
    [anon_sym_class] = ACTIONS(3367),
    [anon_sym_prefix] = ACTIONS(3367),
    [anon_sym_infix] = ACTIONS(3367),
    [anon_sym_postfix] = ACTIONS(3367),
    [anon_sym_AT] = ACTIONS(3365),
    [anon_sym_override] = ACTIONS(3367),
    [anon_sym_convenience] = ACTIONS(3367),
    [anon_sym_required] = ACTIONS(3367),
    [anon_sym_nonisolated] = ACTIONS(3367),
    [anon_sym_public] = ACTIONS(3367),
    [anon_sym_private] = ACTIONS(3367),
    [anon_sym_internal] = ACTIONS(3367),
    [anon_sym_fileprivate] = ACTIONS(3367),
    [anon_sym_open] = ACTIONS(3367),
    [anon_sym_mutating] = ACTIONS(3367),
    [anon_sym_nonmutating] = ACTIONS(3367),
    [anon_sym_static] = ACTIONS(3367),
    [anon_sym_dynamic] = ACTIONS(3367),
    [anon_sym_optional] = ACTIONS(3367),
    [anon_sym_distributed] = ACTIONS(3367),
    [anon_sym_final] = ACTIONS(3367),
    [anon_sym_inout] = ACTIONS(3367),
    [anon_sym_ATescaping] = ACTIONS(3367),
    [anon_sym_ATautoclosure] = ACTIONS(3367),
    [anon_sym_weak] = ACTIONS(3367),
    [anon_sym_unowned] = ACTIONS(3365),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3367),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3367),
    [anon_sym_borrowing] = ACTIONS(3367),
    [anon_sym_consuming] = ACTIONS(3367),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3367),
    [sym__explicit_semi] = ACTIONS(3367),
    [sym__dot_custom] = ACTIONS(3367),
    [sym__conjunction_operator_custom] = ACTIONS(3367),
    [sym__disjunction_operator_custom] = ACTIONS(3367),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3367),
    [sym__eq_custom] = ACTIONS(3367),
    [sym__eq_eq_custom] = ACTIONS(3367),
    [sym__plus_then_ws] = ACTIONS(3367),
    [sym__minus_then_ws] = ACTIONS(3367),
    [sym__bang_custom] = ACTIONS(3367),
    [sym_default_keyword] = ACTIONS(3367),
    [sym__as_custom] = ACTIONS(3367),
    [sym__as_quest_custom] = ACTIONS(3367),
    [sym__as_bang_custom] = ACTIONS(3367),
    [sym__custom_operator] = ACTIONS(3367),
  },
  [1426] = {
    [sym__type_level_declaration] = STATE(7735),
    [sym_import_declaration] = STATE(7735),
    [sym_property_declaration] = STATE(7735),
    [sym__modifierless_property_declaration] = STATE(7625),
    [sym_typealias_declaration] = STATE(7735),
    [sym__modifierless_typealias_declaration] = STATE(7444),
    [sym_function_declaration] = STATE(7735),
    [sym__bodyless_function_declaration] = STATE(7742),
    [sym__modifierless_function_declaration_no_body] = STATE(8708),
    [sym_class_declaration] = STATE(7735),
    [sym__modifierless_class_declaration] = STATE(7633),
    [sym__non_constructor_function_decl] = STATE(7128),
    [sym__async_modifier] = STATE(7659),
    [sym_protocol_declaration] = STATE(7735),
    [sym_init_declaration] = STATE(7735),
    [sym_deinit_declaration] = STATE(7735),
    [sym_subscript_declaration] = STATE(7735),
    [sym_operator_declaration] = STATE(7735),
    [sym_precedence_group_declaration] = STATE(7735),
    [sym_associatedtype_declaration] = STATE(7735),
    [sym_attribute] = STATE(1786),
    [sym_value_binding_pattern] = STATE(4778),
    [sym__possibly_async_binding_pattern_kind] = STATE(4778),
    [sym_modifiers] = STATE(4931),
    [aux_sym__locally_permitted_modifiers] = STATE(1786),
    [sym__non_local_scope_modifier] = STATE(1786),
    [sym__locally_permitted_modifier] = STATE(1786),
    [sym_property_behavior_modifier] = STATE(1786),
    [sym_member_modifier] = STATE(1786),
    [sym_visibility_modifier] = STATE(1786),
    [sym_function_modifier] = STATE(1786),
    [sym_mutation_modifier] = STATE(1786),
    [sym_property_modifier] = STATE(1786),
    [sym_inheritance_modifier] = STATE(1786),
    [sym_parameter_modifier] = STATE(1786),
    [sym_ownership_modifier] = STATE(1786),
    [sym__parameter_ownership_modifier] = STATE(2979),
    [aux_sym_modifiers_repeat1] = STATE(1786),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(4240),
    [anon_sym_async] = ACTIONS(3977),
    [anon_sym_lazy] = ACTIONS(3979),
    [anon_sym_package] = ACTIONS(3981),
    [anon_sym_import] = ACTIONS(4244),
    [anon_sym_typealias] = ACTIONS(4246),
    [anon_sym_struct] = ACTIONS(4240),
    [anon_sym_class] = ACTIONS(4248),
    [anon_sym_enum] = ACTIONS(4250),
    [anon_sym_protocol] = ACTIONS(4252),
    [anon_sym_let] = ACTIONS(3997),
    [anon_sym_var] = ACTIONS(3997),
    [anon_sym_func] = ACTIONS(3999),
    [anon_sym_extension] = ACTIONS(4254),
    [anon_sym_indirect] = ACTIONS(4256),
    [anon_sym_init] = ACTIONS(4258),
    [anon_sym_deinit] = ACTIONS(4260),
    [anon_sym_subscript] = ACTIONS(4262),
    [anon_sym_prefix] = ACTIONS(4264),
    [anon_sym_infix] = ACTIONS(4264),
    [anon_sym_postfix] = ACTIONS(4264),
    [anon_sym_precedencegroup] = ACTIONS(4266),
    [anon_sym_associatedtype] = ACTIONS(4268),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(4017),
    [anon_sym_convenience] = ACTIONS(4017),
    [anon_sym_required] = ACTIONS(4017),
    [anon_sym_nonisolated] = ACTIONS(4017),
    [anon_sym_public] = ACTIONS(3981),
    [anon_sym_private] = ACTIONS(3981),
    [anon_sym_internal] = ACTIONS(3981),
    [anon_sym_fileprivate] = ACTIONS(3981),
    [anon_sym_open] = ACTIONS(3981),
    [anon_sym_mutating] = ACTIONS(4019),
    [anon_sym_nonmutating] = ACTIONS(4019),
    [anon_sym_static] = ACTIONS(4021),
    [anon_sym_dynamic] = ACTIONS(4021),
    [anon_sym_optional] = ACTIONS(4021),
    [anon_sym_distributed] = ACTIONS(4021),
    [anon_sym_final] = ACTIONS(4023),
    [anon_sym_inout] = ACTIONS(125),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(129),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(125),
    [anon_sym_consuming] = ACTIONS(125),
    [sym_multiline_comment] = ACTIONS(5),
  },
  [1427] = {
    [anon_sym_BANG] = ACTIONS(3533),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3535),
    [anon_sym_package] = ACTIONS(3535),
    [anon_sym_COMMA] = ACTIONS(3535),
    [anon_sym_LPAREN] = ACTIONS(3535),
    [anon_sym_LBRACK] = ACTIONS(3535),
    [anon_sym_QMARK] = ACTIONS(3533),
    [anon_sym_QMARK2] = ACTIONS(3535),
    [anon_sym_AMP] = ACTIONS(3535),
    [aux_sym_custom_operator_token1] = ACTIONS(3535),
    [anon_sym_LT] = ACTIONS(3533),
    [anon_sym_GT] = ACTIONS(3533),
    [anon_sym_LBRACE] = ACTIONS(3535),
    [anon_sym_CARET_LBRACE] = ACTIONS(3535),
    [anon_sym_RBRACE] = ACTIONS(3535),
    [anon_sym_case] = ACTIONS(3535),
    [anon_sym_fallthrough] = ACTIONS(3535),
    [anon_sym_PLUS_EQ] = ACTIONS(3535),
    [anon_sym_DASH_EQ] = ACTIONS(3535),
    [anon_sym_STAR_EQ] = ACTIONS(3535),
    [anon_sym_SLASH_EQ] = ACTIONS(3535),
    [anon_sym_PERCENT_EQ] = ACTIONS(3535),
    [anon_sym_BANG_EQ] = ACTIONS(3533),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3535),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3535),
    [anon_sym_LT_EQ] = ACTIONS(3535),
    [anon_sym_GT_EQ] = ACTIONS(3535),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3535),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3535),
    [anon_sym_is] = ACTIONS(3535),
    [anon_sym_PLUS] = ACTIONS(3533),
    [anon_sym_DASH] = ACTIONS(3533),
    [anon_sym_STAR] = ACTIONS(3533),
    [anon_sym_SLASH] = ACTIONS(3533),
    [anon_sym_PERCENT] = ACTIONS(3533),
    [anon_sym_PLUS_PLUS] = ACTIONS(3535),
    [anon_sym_DASH_DASH] = ACTIONS(3535),
    [anon_sym_PIPE] = ACTIONS(3535),
    [anon_sym_CARET] = ACTIONS(3533),
    [anon_sym_LT_LT] = ACTIONS(3535),
    [anon_sym_GT_GT] = ACTIONS(3535),
    [anon_sym_class] = ACTIONS(3535),
    [anon_sym_prefix] = ACTIONS(3535),
    [anon_sym_infix] = ACTIONS(3535),
    [anon_sym_postfix] = ACTIONS(3535),
    [anon_sym_AT] = ACTIONS(3533),
    [anon_sym_override] = ACTIONS(3535),
    [anon_sym_convenience] = ACTIONS(3535),
    [anon_sym_required] = ACTIONS(3535),
    [anon_sym_nonisolated] = ACTIONS(3535),
    [anon_sym_public] = ACTIONS(3535),
    [anon_sym_private] = ACTIONS(3535),
    [anon_sym_internal] = ACTIONS(3535),
    [anon_sym_fileprivate] = ACTIONS(3535),
    [anon_sym_open] = ACTIONS(3535),
    [anon_sym_mutating] = ACTIONS(3535),
    [anon_sym_nonmutating] = ACTIONS(3535),
    [anon_sym_static] = ACTIONS(3535),
    [anon_sym_dynamic] = ACTIONS(3535),
    [anon_sym_optional] = ACTIONS(3535),
    [anon_sym_distributed] = ACTIONS(3535),
    [anon_sym_final] = ACTIONS(3535),
    [anon_sym_inout] = ACTIONS(3535),
    [anon_sym_ATescaping] = ACTIONS(3535),
    [anon_sym_ATautoclosure] = ACTIONS(3535),
    [anon_sym_weak] = ACTIONS(3535),
    [anon_sym_unowned] = ACTIONS(3533),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3535),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3535),
    [anon_sym_borrowing] = ACTIONS(3535),
    [anon_sym_consuming] = ACTIONS(3535),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3535),
    [sym__explicit_semi] = ACTIONS(3535),
    [sym__dot_custom] = ACTIONS(3535),
    [sym__conjunction_operator_custom] = ACTIONS(3535),
    [sym__disjunction_operator_custom] = ACTIONS(3535),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3535),
    [sym__eq_custom] = ACTIONS(3535),
    [sym__eq_eq_custom] = ACTIONS(3535),
    [sym__plus_then_ws] = ACTIONS(3535),
    [sym__minus_then_ws] = ACTIONS(3535),
    [sym__bang_custom] = ACTIONS(3535),
    [sym_default_keyword] = ACTIONS(3535),
    [sym__as_custom] = ACTIONS(3535),
    [sym__as_quest_custom] = ACTIONS(3535),
    [sym__as_bang_custom] = ACTIONS(3535),
    [sym__custom_operator] = ACTIONS(3535),
  },
  [1428] = {
    [anon_sym_BANG] = ACTIONS(3441),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3443),
    [anon_sym_package] = ACTIONS(3443),
    [anon_sym_COMMA] = ACTIONS(3443),
    [anon_sym_LPAREN] = ACTIONS(3443),
    [anon_sym_LBRACK] = ACTIONS(3443),
    [anon_sym_QMARK] = ACTIONS(3441),
    [anon_sym_QMARK2] = ACTIONS(3443),
    [anon_sym_AMP] = ACTIONS(3443),
    [aux_sym_custom_operator_token1] = ACTIONS(3443),
    [anon_sym_LT] = ACTIONS(3441),
    [anon_sym_GT] = ACTIONS(3441),
    [anon_sym_LBRACE] = ACTIONS(3443),
    [anon_sym_CARET_LBRACE] = ACTIONS(3443),
    [anon_sym_RBRACE] = ACTIONS(3443),
    [anon_sym_case] = ACTIONS(3443),
    [anon_sym_fallthrough] = ACTIONS(3443),
    [anon_sym_PLUS_EQ] = ACTIONS(3443),
    [anon_sym_DASH_EQ] = ACTIONS(3443),
    [anon_sym_STAR_EQ] = ACTIONS(3443),
    [anon_sym_SLASH_EQ] = ACTIONS(3443),
    [anon_sym_PERCENT_EQ] = ACTIONS(3443),
    [anon_sym_BANG_EQ] = ACTIONS(3441),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3443),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3443),
    [anon_sym_LT_EQ] = ACTIONS(3443),
    [anon_sym_GT_EQ] = ACTIONS(3443),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3443),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3443),
    [anon_sym_is] = ACTIONS(3443),
    [anon_sym_PLUS] = ACTIONS(3441),
    [anon_sym_DASH] = ACTIONS(3441),
    [anon_sym_STAR] = ACTIONS(3441),
    [anon_sym_SLASH] = ACTIONS(3441),
    [anon_sym_PERCENT] = ACTIONS(3441),
    [anon_sym_PLUS_PLUS] = ACTIONS(3443),
    [anon_sym_DASH_DASH] = ACTIONS(3443),
    [anon_sym_PIPE] = ACTIONS(3443),
    [anon_sym_CARET] = ACTIONS(3441),
    [anon_sym_LT_LT] = ACTIONS(3443),
    [anon_sym_GT_GT] = ACTIONS(3443),
    [anon_sym_class] = ACTIONS(3443),
    [anon_sym_prefix] = ACTIONS(3443),
    [anon_sym_infix] = ACTIONS(3443),
    [anon_sym_postfix] = ACTIONS(3443),
    [anon_sym_AT] = ACTIONS(3441),
    [anon_sym_override] = ACTIONS(3443),
    [anon_sym_convenience] = ACTIONS(3443),
    [anon_sym_required] = ACTIONS(3443),
    [anon_sym_nonisolated] = ACTIONS(3443),
    [anon_sym_public] = ACTIONS(3443),
    [anon_sym_private] = ACTIONS(3443),
    [anon_sym_internal] = ACTIONS(3443),
    [anon_sym_fileprivate] = ACTIONS(3443),
    [anon_sym_open] = ACTIONS(3443),
    [anon_sym_mutating] = ACTIONS(3443),
    [anon_sym_nonmutating] = ACTIONS(3443),
    [anon_sym_static] = ACTIONS(3443),
    [anon_sym_dynamic] = ACTIONS(3443),
    [anon_sym_optional] = ACTIONS(3443),
    [anon_sym_distributed] = ACTIONS(3443),
    [anon_sym_final] = ACTIONS(3443),
    [anon_sym_inout] = ACTIONS(3443),
    [anon_sym_ATescaping] = ACTIONS(3443),
    [anon_sym_ATautoclosure] = ACTIONS(3443),
    [anon_sym_weak] = ACTIONS(3443),
    [anon_sym_unowned] = ACTIONS(3441),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3443),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3443),
    [anon_sym_borrowing] = ACTIONS(3443),
    [anon_sym_consuming] = ACTIONS(3443),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3443),
    [sym__explicit_semi] = ACTIONS(3443),
    [sym__dot_custom] = ACTIONS(3443),
    [sym__conjunction_operator_custom] = ACTIONS(3443),
    [sym__disjunction_operator_custom] = ACTIONS(3443),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3443),
    [sym__eq_custom] = ACTIONS(3443),
    [sym__eq_eq_custom] = ACTIONS(3443),
    [sym__plus_then_ws] = ACTIONS(3443),
    [sym__minus_then_ws] = ACTIONS(3443),
    [sym__bang_custom] = ACTIONS(3443),
    [sym_default_keyword] = ACTIONS(3443),
    [sym__as_custom] = ACTIONS(3443),
    [sym__as_quest_custom] = ACTIONS(3443),
    [sym__as_bang_custom] = ACTIONS(3443),
    [sym__custom_operator] = ACTIONS(3443),
  },
  [1429] = {
    [anon_sym_BANG] = ACTIONS(3449),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3451),
    [anon_sym_package] = ACTIONS(3451),
    [anon_sym_COMMA] = ACTIONS(3451),
    [anon_sym_LPAREN] = ACTIONS(3451),
    [anon_sym_LBRACK] = ACTIONS(3451),
    [anon_sym_QMARK] = ACTIONS(3449),
    [anon_sym_QMARK2] = ACTIONS(3451),
    [anon_sym_AMP] = ACTIONS(3451),
    [aux_sym_custom_operator_token1] = ACTIONS(3451),
    [anon_sym_LT] = ACTIONS(3449),
    [anon_sym_GT] = ACTIONS(3449),
    [anon_sym_LBRACE] = ACTIONS(3451),
    [anon_sym_CARET_LBRACE] = ACTIONS(3451),
    [anon_sym_RBRACE] = ACTIONS(3451),
    [anon_sym_case] = ACTIONS(3451),
    [anon_sym_fallthrough] = ACTIONS(3451),
    [anon_sym_PLUS_EQ] = ACTIONS(3451),
    [anon_sym_DASH_EQ] = ACTIONS(3451),
    [anon_sym_STAR_EQ] = ACTIONS(3451),
    [anon_sym_SLASH_EQ] = ACTIONS(3451),
    [anon_sym_PERCENT_EQ] = ACTIONS(3451),
    [anon_sym_BANG_EQ] = ACTIONS(3449),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3451),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3451),
    [anon_sym_LT_EQ] = ACTIONS(3451),
    [anon_sym_GT_EQ] = ACTIONS(3451),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3451),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3451),
    [anon_sym_is] = ACTIONS(3451),
    [anon_sym_PLUS] = ACTIONS(3449),
    [anon_sym_DASH] = ACTIONS(3449),
    [anon_sym_STAR] = ACTIONS(3449),
    [anon_sym_SLASH] = ACTIONS(3449),
    [anon_sym_PERCENT] = ACTIONS(3449),
    [anon_sym_PLUS_PLUS] = ACTIONS(3451),
    [anon_sym_DASH_DASH] = ACTIONS(3451),
    [anon_sym_PIPE] = ACTIONS(3451),
    [anon_sym_CARET] = ACTIONS(3449),
    [anon_sym_LT_LT] = ACTIONS(3451),
    [anon_sym_GT_GT] = ACTIONS(3451),
    [anon_sym_class] = ACTIONS(3451),
    [anon_sym_prefix] = ACTIONS(3451),
    [anon_sym_infix] = ACTIONS(3451),
    [anon_sym_postfix] = ACTIONS(3451),
    [anon_sym_AT] = ACTIONS(3449),
    [anon_sym_override] = ACTIONS(3451),
    [anon_sym_convenience] = ACTIONS(3451),
    [anon_sym_required] = ACTIONS(3451),
    [anon_sym_nonisolated] = ACTIONS(3451),
    [anon_sym_public] = ACTIONS(3451),
    [anon_sym_private] = ACTIONS(3451),
    [anon_sym_internal] = ACTIONS(3451),
    [anon_sym_fileprivate] = ACTIONS(3451),
    [anon_sym_open] = ACTIONS(3451),
    [anon_sym_mutating] = ACTIONS(3451),
    [anon_sym_nonmutating] = ACTIONS(3451),
    [anon_sym_static] = ACTIONS(3451),
    [anon_sym_dynamic] = ACTIONS(3451),
    [anon_sym_optional] = ACTIONS(3451),
    [anon_sym_distributed] = ACTIONS(3451),
    [anon_sym_final] = ACTIONS(3451),
    [anon_sym_inout] = ACTIONS(3451),
    [anon_sym_ATescaping] = ACTIONS(3451),
    [anon_sym_ATautoclosure] = ACTIONS(3451),
    [anon_sym_weak] = ACTIONS(3451),
    [anon_sym_unowned] = ACTIONS(3449),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3451),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3451),
    [anon_sym_borrowing] = ACTIONS(3451),
    [anon_sym_consuming] = ACTIONS(3451),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3451),
    [sym__explicit_semi] = ACTIONS(3451),
    [sym__dot_custom] = ACTIONS(3451),
    [sym__conjunction_operator_custom] = ACTIONS(3451),
    [sym__disjunction_operator_custom] = ACTIONS(3451),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3451),
    [sym__eq_custom] = ACTIONS(3451),
    [sym__eq_eq_custom] = ACTIONS(3451),
    [sym__plus_then_ws] = ACTIONS(3451),
    [sym__minus_then_ws] = ACTIONS(3451),
    [sym__bang_custom] = ACTIONS(3451),
    [sym_default_keyword] = ACTIONS(3451),
    [sym__as_custom] = ACTIONS(3451),
    [sym__as_quest_custom] = ACTIONS(3451),
    [sym__as_bang_custom] = ACTIONS(3451),
    [sym__custom_operator] = ACTIONS(3451),
  },
  [1430] = {
    [anon_sym_BANG] = ACTIONS(3477),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3479),
    [anon_sym_package] = ACTIONS(3479),
    [anon_sym_COMMA] = ACTIONS(3479),
    [anon_sym_LPAREN] = ACTIONS(3479),
    [anon_sym_LBRACK] = ACTIONS(3479),
    [anon_sym_QMARK] = ACTIONS(3477),
    [anon_sym_QMARK2] = ACTIONS(3479),
    [anon_sym_AMP] = ACTIONS(3479),
    [aux_sym_custom_operator_token1] = ACTIONS(3479),
    [anon_sym_LT] = ACTIONS(3477),
    [anon_sym_GT] = ACTIONS(3477),
    [anon_sym_LBRACE] = ACTIONS(3479),
    [anon_sym_CARET_LBRACE] = ACTIONS(3479),
    [anon_sym_RBRACE] = ACTIONS(3479),
    [anon_sym_case] = ACTIONS(3479),
    [anon_sym_fallthrough] = ACTIONS(3479),
    [anon_sym_PLUS_EQ] = ACTIONS(3479),
    [anon_sym_DASH_EQ] = ACTIONS(3479),
    [anon_sym_STAR_EQ] = ACTIONS(3479),
    [anon_sym_SLASH_EQ] = ACTIONS(3479),
    [anon_sym_PERCENT_EQ] = ACTIONS(3479),
    [anon_sym_BANG_EQ] = ACTIONS(3477),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3479),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3479),
    [anon_sym_LT_EQ] = ACTIONS(3479),
    [anon_sym_GT_EQ] = ACTIONS(3479),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3479),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3479),
    [anon_sym_is] = ACTIONS(3479),
    [anon_sym_PLUS] = ACTIONS(3477),
    [anon_sym_DASH] = ACTIONS(3477),
    [anon_sym_STAR] = ACTIONS(3477),
    [anon_sym_SLASH] = ACTIONS(3477),
    [anon_sym_PERCENT] = ACTIONS(3477),
    [anon_sym_PLUS_PLUS] = ACTIONS(3479),
    [anon_sym_DASH_DASH] = ACTIONS(3479),
    [anon_sym_PIPE] = ACTIONS(3479),
    [anon_sym_CARET] = ACTIONS(3477),
    [anon_sym_LT_LT] = ACTIONS(3479),
    [anon_sym_GT_GT] = ACTIONS(3479),
    [anon_sym_class] = ACTIONS(3479),
    [anon_sym_prefix] = ACTIONS(3479),
    [anon_sym_infix] = ACTIONS(3479),
    [anon_sym_postfix] = ACTIONS(3479),
    [anon_sym_AT] = ACTIONS(3477),
    [anon_sym_override] = ACTIONS(3479),
    [anon_sym_convenience] = ACTIONS(3479),
    [anon_sym_required] = ACTIONS(3479),
    [anon_sym_nonisolated] = ACTIONS(3479),
    [anon_sym_public] = ACTIONS(3479),
    [anon_sym_private] = ACTIONS(3479),
    [anon_sym_internal] = ACTIONS(3479),
    [anon_sym_fileprivate] = ACTIONS(3479),
    [anon_sym_open] = ACTIONS(3479),
    [anon_sym_mutating] = ACTIONS(3479),
    [anon_sym_nonmutating] = ACTIONS(3479),
    [anon_sym_static] = ACTIONS(3479),
    [anon_sym_dynamic] = ACTIONS(3479),
    [anon_sym_optional] = ACTIONS(3479),
    [anon_sym_distributed] = ACTIONS(3479),
    [anon_sym_final] = ACTIONS(3479),
    [anon_sym_inout] = ACTIONS(3479),
    [anon_sym_ATescaping] = ACTIONS(3479),
    [anon_sym_ATautoclosure] = ACTIONS(3479),
    [anon_sym_weak] = ACTIONS(3479),
    [anon_sym_unowned] = ACTIONS(3477),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3479),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3479),
    [anon_sym_borrowing] = ACTIONS(3479),
    [anon_sym_consuming] = ACTIONS(3479),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3479),
    [sym__explicit_semi] = ACTIONS(3479),
    [sym__dot_custom] = ACTIONS(3479),
    [sym__conjunction_operator_custom] = ACTIONS(3479),
    [sym__disjunction_operator_custom] = ACTIONS(3479),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3479),
    [sym__eq_custom] = ACTIONS(3479),
    [sym__eq_eq_custom] = ACTIONS(3479),
    [sym__plus_then_ws] = ACTIONS(3479),
    [sym__minus_then_ws] = ACTIONS(3479),
    [sym__bang_custom] = ACTIONS(3479),
    [sym_default_keyword] = ACTIONS(3479),
    [sym__as_custom] = ACTIONS(3479),
    [sym__as_quest_custom] = ACTIONS(3479),
    [sym__as_bang_custom] = ACTIONS(3479),
    [sym__custom_operator] = ACTIONS(3479),
  },
  [1431] = {
    [anon_sym_BANG] = ACTIONS(3341),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3343),
    [anon_sym_package] = ACTIONS(3343),
    [anon_sym_COMMA] = ACTIONS(3343),
    [anon_sym_LPAREN] = ACTIONS(3343),
    [anon_sym_LBRACK] = ACTIONS(3343),
    [anon_sym_QMARK] = ACTIONS(3341),
    [anon_sym_QMARK2] = ACTIONS(3343),
    [anon_sym_AMP] = ACTIONS(3343),
    [aux_sym_custom_operator_token1] = ACTIONS(3343),
    [anon_sym_LT] = ACTIONS(3341),
    [anon_sym_GT] = ACTIONS(3341),
    [anon_sym_LBRACE] = ACTIONS(3343),
    [anon_sym_CARET_LBRACE] = ACTIONS(3343),
    [anon_sym_RBRACE] = ACTIONS(3343),
    [anon_sym_case] = ACTIONS(3343),
    [anon_sym_fallthrough] = ACTIONS(3343),
    [anon_sym_PLUS_EQ] = ACTIONS(3343),
    [anon_sym_DASH_EQ] = ACTIONS(3343),
    [anon_sym_STAR_EQ] = ACTIONS(3343),
    [anon_sym_SLASH_EQ] = ACTIONS(3343),
    [anon_sym_PERCENT_EQ] = ACTIONS(3343),
    [anon_sym_BANG_EQ] = ACTIONS(3341),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3343),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3343),
    [anon_sym_LT_EQ] = ACTIONS(3343),
    [anon_sym_GT_EQ] = ACTIONS(3343),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3343),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3343),
    [anon_sym_is] = ACTIONS(3343),
    [anon_sym_PLUS] = ACTIONS(3341),
    [anon_sym_DASH] = ACTIONS(3341),
    [anon_sym_STAR] = ACTIONS(3341),
    [anon_sym_SLASH] = ACTIONS(3341),
    [anon_sym_PERCENT] = ACTIONS(3341),
    [anon_sym_PLUS_PLUS] = ACTIONS(3343),
    [anon_sym_DASH_DASH] = ACTIONS(3343),
    [anon_sym_PIPE] = ACTIONS(3343),
    [anon_sym_CARET] = ACTIONS(3341),
    [anon_sym_LT_LT] = ACTIONS(3343),
    [anon_sym_GT_GT] = ACTIONS(3343),
    [anon_sym_class] = ACTIONS(3343),
    [anon_sym_prefix] = ACTIONS(3343),
    [anon_sym_infix] = ACTIONS(3343),
    [anon_sym_postfix] = ACTIONS(3343),
    [anon_sym_AT] = ACTIONS(3341),
    [anon_sym_override] = ACTIONS(3343),
    [anon_sym_convenience] = ACTIONS(3343),
    [anon_sym_required] = ACTIONS(3343),
    [anon_sym_nonisolated] = ACTIONS(3343),
    [anon_sym_public] = ACTIONS(3343),
    [anon_sym_private] = ACTIONS(3343),
    [anon_sym_internal] = ACTIONS(3343),
    [anon_sym_fileprivate] = ACTIONS(3343),
    [anon_sym_open] = ACTIONS(3343),
    [anon_sym_mutating] = ACTIONS(3343),
    [anon_sym_nonmutating] = ACTIONS(3343),
    [anon_sym_static] = ACTIONS(3343),
    [anon_sym_dynamic] = ACTIONS(3343),
    [anon_sym_optional] = ACTIONS(3343),
    [anon_sym_distributed] = ACTIONS(3343),
    [anon_sym_final] = ACTIONS(3343),
    [anon_sym_inout] = ACTIONS(3343),
    [anon_sym_ATescaping] = ACTIONS(3343),
    [anon_sym_ATautoclosure] = ACTIONS(3343),
    [anon_sym_weak] = ACTIONS(3343),
    [anon_sym_unowned] = ACTIONS(3341),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3343),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3343),
    [anon_sym_borrowing] = ACTIONS(3343),
    [anon_sym_consuming] = ACTIONS(3343),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3343),
    [sym__explicit_semi] = ACTIONS(3343),
    [sym__dot_custom] = ACTIONS(3343),
    [sym__conjunction_operator_custom] = ACTIONS(3343),
    [sym__disjunction_operator_custom] = ACTIONS(3343),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3343),
    [sym__eq_custom] = ACTIONS(3343),
    [sym__eq_eq_custom] = ACTIONS(3343),
    [sym__plus_then_ws] = ACTIONS(3343),
    [sym__minus_then_ws] = ACTIONS(3343),
    [sym__bang_custom] = ACTIONS(3343),
    [sym_default_keyword] = ACTIONS(3343),
    [sym__as_custom] = ACTIONS(3343),
    [sym__as_quest_custom] = ACTIONS(3343),
    [sym__as_bang_custom] = ACTIONS(3343),
    [sym__custom_operator] = ACTIONS(3343),
  },
  [1432] = {
    [anon_sym_BANG] = ACTIONS(3613),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3615),
    [anon_sym_package] = ACTIONS(3615),
    [anon_sym_COMMA] = ACTIONS(3615),
    [anon_sym_LPAREN] = ACTIONS(3615),
    [anon_sym_LBRACK] = ACTIONS(3615),
    [anon_sym_QMARK] = ACTIONS(3613),
    [anon_sym_QMARK2] = ACTIONS(3615),
    [anon_sym_AMP] = ACTIONS(3615),
    [aux_sym_custom_operator_token1] = ACTIONS(3615),
    [anon_sym_LT] = ACTIONS(3613),
    [anon_sym_GT] = ACTIONS(3613),
    [anon_sym_LBRACE] = ACTIONS(3615),
    [anon_sym_CARET_LBRACE] = ACTIONS(3615),
    [anon_sym_RBRACE] = ACTIONS(3615),
    [anon_sym_case] = ACTIONS(3615),
    [anon_sym_fallthrough] = ACTIONS(3615),
    [anon_sym_PLUS_EQ] = ACTIONS(3615),
    [anon_sym_DASH_EQ] = ACTIONS(3615),
    [anon_sym_STAR_EQ] = ACTIONS(3615),
    [anon_sym_SLASH_EQ] = ACTIONS(3615),
    [anon_sym_PERCENT_EQ] = ACTIONS(3615),
    [anon_sym_BANG_EQ] = ACTIONS(3613),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3615),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3615),
    [anon_sym_LT_EQ] = ACTIONS(3615),
    [anon_sym_GT_EQ] = ACTIONS(3615),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3615),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3615),
    [anon_sym_is] = ACTIONS(3615),
    [anon_sym_PLUS] = ACTIONS(3613),
    [anon_sym_DASH] = ACTIONS(3613),
    [anon_sym_STAR] = ACTIONS(3613),
    [anon_sym_SLASH] = ACTIONS(3613),
    [anon_sym_PERCENT] = ACTIONS(3613),
    [anon_sym_PLUS_PLUS] = ACTIONS(3615),
    [anon_sym_DASH_DASH] = ACTIONS(3615),
    [anon_sym_PIPE] = ACTIONS(3615),
    [anon_sym_CARET] = ACTIONS(3613),
    [anon_sym_LT_LT] = ACTIONS(3615),
    [anon_sym_GT_GT] = ACTIONS(3615),
    [anon_sym_class] = ACTIONS(3615),
    [anon_sym_prefix] = ACTIONS(3615),
    [anon_sym_infix] = ACTIONS(3615),
    [anon_sym_postfix] = ACTIONS(3615),
    [anon_sym_AT] = ACTIONS(3613),
    [anon_sym_override] = ACTIONS(3615),
    [anon_sym_convenience] = ACTIONS(3615),
    [anon_sym_required] = ACTIONS(3615),
    [anon_sym_nonisolated] = ACTIONS(3615),
    [anon_sym_public] = ACTIONS(3615),
    [anon_sym_private] = ACTIONS(3615),
    [anon_sym_internal] = ACTIONS(3615),
    [anon_sym_fileprivate] = ACTIONS(3615),
    [anon_sym_open] = ACTIONS(3615),
    [anon_sym_mutating] = ACTIONS(3615),
    [anon_sym_nonmutating] = ACTIONS(3615),
    [anon_sym_static] = ACTIONS(3615),
    [anon_sym_dynamic] = ACTIONS(3615),
    [anon_sym_optional] = ACTIONS(3615),
    [anon_sym_distributed] = ACTIONS(3615),
    [anon_sym_final] = ACTIONS(3615),
    [anon_sym_inout] = ACTIONS(3615),
    [anon_sym_ATescaping] = ACTIONS(3615),
    [anon_sym_ATautoclosure] = ACTIONS(3615),
    [anon_sym_weak] = ACTIONS(3615),
    [anon_sym_unowned] = ACTIONS(3613),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3615),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3615),
    [anon_sym_borrowing] = ACTIONS(3615),
    [anon_sym_consuming] = ACTIONS(3615),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3615),
    [sym__explicit_semi] = ACTIONS(3615),
    [sym__dot_custom] = ACTIONS(3615),
    [sym__conjunction_operator_custom] = ACTIONS(3615),
    [sym__disjunction_operator_custom] = ACTIONS(3615),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3615),
    [sym__eq_custom] = ACTIONS(3615),
    [sym__eq_eq_custom] = ACTIONS(3615),
    [sym__plus_then_ws] = ACTIONS(3615),
    [sym__minus_then_ws] = ACTIONS(3615),
    [sym__bang_custom] = ACTIONS(3615),
    [sym_default_keyword] = ACTIONS(3615),
    [sym__as_custom] = ACTIONS(3615),
    [sym__as_quest_custom] = ACTIONS(3615),
    [sym__as_bang_custom] = ACTIONS(3615),
    [sym__custom_operator] = ACTIONS(3615),
  },
  [1433] = {
    [anon_sym_BANG] = ACTIONS(3293),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3295),
    [anon_sym_package] = ACTIONS(3295),
    [anon_sym_COMMA] = ACTIONS(3295),
    [anon_sym_LPAREN] = ACTIONS(3295),
    [anon_sym_LBRACK] = ACTIONS(3295),
    [anon_sym_QMARK] = ACTIONS(3293),
    [anon_sym_QMARK2] = ACTIONS(3295),
    [anon_sym_AMP] = ACTIONS(3295),
    [aux_sym_custom_operator_token1] = ACTIONS(3295),
    [anon_sym_LT] = ACTIONS(3293),
    [anon_sym_GT] = ACTIONS(3293),
    [anon_sym_LBRACE] = ACTIONS(3295),
    [anon_sym_CARET_LBRACE] = ACTIONS(3295),
    [anon_sym_RBRACE] = ACTIONS(3295),
    [anon_sym_case] = ACTIONS(3295),
    [anon_sym_fallthrough] = ACTIONS(3295),
    [anon_sym_PLUS_EQ] = ACTIONS(3295),
    [anon_sym_DASH_EQ] = ACTIONS(3295),
    [anon_sym_STAR_EQ] = ACTIONS(3295),
    [anon_sym_SLASH_EQ] = ACTIONS(3295),
    [anon_sym_PERCENT_EQ] = ACTIONS(3295),
    [anon_sym_BANG_EQ] = ACTIONS(3293),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3295),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3295),
    [anon_sym_LT_EQ] = ACTIONS(3295),
    [anon_sym_GT_EQ] = ACTIONS(3295),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3295),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3295),
    [anon_sym_is] = ACTIONS(3295),
    [anon_sym_PLUS] = ACTIONS(3293),
    [anon_sym_DASH] = ACTIONS(3293),
    [anon_sym_STAR] = ACTIONS(3293),
    [anon_sym_SLASH] = ACTIONS(3293),
    [anon_sym_PERCENT] = ACTIONS(3293),
    [anon_sym_PLUS_PLUS] = ACTIONS(3295),
    [anon_sym_DASH_DASH] = ACTIONS(3295),
    [anon_sym_PIPE] = ACTIONS(3295),
    [anon_sym_CARET] = ACTIONS(3293),
    [anon_sym_LT_LT] = ACTIONS(3295),
    [anon_sym_GT_GT] = ACTIONS(3295),
    [anon_sym_class] = ACTIONS(3295),
    [anon_sym_prefix] = ACTIONS(3295),
    [anon_sym_infix] = ACTIONS(3295),
    [anon_sym_postfix] = ACTIONS(3295),
    [anon_sym_AT] = ACTIONS(3293),
    [anon_sym_override] = ACTIONS(3295),
    [anon_sym_convenience] = ACTIONS(3295),
    [anon_sym_required] = ACTIONS(3295),
    [anon_sym_nonisolated] = ACTIONS(3295),
    [anon_sym_public] = ACTIONS(3295),
    [anon_sym_private] = ACTIONS(3295),
    [anon_sym_internal] = ACTIONS(3295),
    [anon_sym_fileprivate] = ACTIONS(3295),
    [anon_sym_open] = ACTIONS(3295),
    [anon_sym_mutating] = ACTIONS(3295),
    [anon_sym_nonmutating] = ACTIONS(3295),
    [anon_sym_static] = ACTIONS(3295),
    [anon_sym_dynamic] = ACTIONS(3295),
    [anon_sym_optional] = ACTIONS(3295),
    [anon_sym_distributed] = ACTIONS(3295),
    [anon_sym_final] = ACTIONS(3295),
    [anon_sym_inout] = ACTIONS(3295),
    [anon_sym_ATescaping] = ACTIONS(3295),
    [anon_sym_ATautoclosure] = ACTIONS(3295),
    [anon_sym_weak] = ACTIONS(3295),
    [anon_sym_unowned] = ACTIONS(3293),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3295),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3295),
    [anon_sym_borrowing] = ACTIONS(3295),
    [anon_sym_consuming] = ACTIONS(3295),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3295),
    [sym__explicit_semi] = ACTIONS(3295),
    [sym__dot_custom] = ACTIONS(3295),
    [sym__conjunction_operator_custom] = ACTIONS(3295),
    [sym__disjunction_operator_custom] = ACTIONS(3295),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3295),
    [sym__eq_custom] = ACTIONS(3295),
    [sym__eq_eq_custom] = ACTIONS(3295),
    [sym__plus_then_ws] = ACTIONS(3295),
    [sym__minus_then_ws] = ACTIONS(3295),
    [sym__bang_custom] = ACTIONS(3295),
    [sym_default_keyword] = ACTIONS(3295),
    [sym__as_custom] = ACTIONS(3295),
    [sym__as_quest_custom] = ACTIONS(3295),
    [sym__as_bang_custom] = ACTIONS(3295),
    [sym__custom_operator] = ACTIONS(3295),
  },
  [1434] = {
    [anon_sym_BANG] = ACTIONS(3625),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3627),
    [anon_sym_package] = ACTIONS(3627),
    [anon_sym_COMMA] = ACTIONS(3627),
    [anon_sym_LPAREN] = ACTIONS(3627),
    [anon_sym_LBRACK] = ACTIONS(3627),
    [anon_sym_QMARK] = ACTIONS(3625),
    [anon_sym_QMARK2] = ACTIONS(3627),
    [anon_sym_AMP] = ACTIONS(3627),
    [aux_sym_custom_operator_token1] = ACTIONS(3627),
    [anon_sym_LT] = ACTIONS(3625),
    [anon_sym_GT] = ACTIONS(3625),
    [anon_sym_LBRACE] = ACTIONS(3627),
    [anon_sym_CARET_LBRACE] = ACTIONS(3627),
    [anon_sym_RBRACE] = ACTIONS(3627),
    [anon_sym_case] = ACTIONS(3627),
    [anon_sym_fallthrough] = ACTIONS(3627),
    [anon_sym_PLUS_EQ] = ACTIONS(3627),
    [anon_sym_DASH_EQ] = ACTIONS(3627),
    [anon_sym_STAR_EQ] = ACTIONS(3627),
    [anon_sym_SLASH_EQ] = ACTIONS(3627),
    [anon_sym_PERCENT_EQ] = ACTIONS(3627),
    [anon_sym_BANG_EQ] = ACTIONS(3625),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3627),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3627),
    [anon_sym_LT_EQ] = ACTIONS(3627),
    [anon_sym_GT_EQ] = ACTIONS(3627),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3627),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3627),
    [anon_sym_is] = ACTIONS(3627),
    [anon_sym_PLUS] = ACTIONS(3625),
    [anon_sym_DASH] = ACTIONS(3625),
    [anon_sym_STAR] = ACTIONS(3625),
    [anon_sym_SLASH] = ACTIONS(3625),
    [anon_sym_PERCENT] = ACTIONS(3625),
    [anon_sym_PLUS_PLUS] = ACTIONS(3627),
    [anon_sym_DASH_DASH] = ACTIONS(3627),
    [anon_sym_PIPE] = ACTIONS(3627),
    [anon_sym_CARET] = ACTIONS(3625),
    [anon_sym_LT_LT] = ACTIONS(3627),
    [anon_sym_GT_GT] = ACTIONS(3627),
    [anon_sym_class] = ACTIONS(3627),
    [anon_sym_prefix] = ACTIONS(3627),
    [anon_sym_infix] = ACTIONS(3627),
    [anon_sym_postfix] = ACTIONS(3627),
    [anon_sym_AT] = ACTIONS(3625),
    [anon_sym_override] = ACTIONS(3627),
    [anon_sym_convenience] = ACTIONS(3627),
    [anon_sym_required] = ACTIONS(3627),
    [anon_sym_nonisolated] = ACTIONS(3627),
    [anon_sym_public] = ACTIONS(3627),
    [anon_sym_private] = ACTIONS(3627),
    [anon_sym_internal] = ACTIONS(3627),
    [anon_sym_fileprivate] = ACTIONS(3627),
    [anon_sym_open] = ACTIONS(3627),
    [anon_sym_mutating] = ACTIONS(3627),
    [anon_sym_nonmutating] = ACTIONS(3627),
    [anon_sym_static] = ACTIONS(3627),
    [anon_sym_dynamic] = ACTIONS(3627),
    [anon_sym_optional] = ACTIONS(3627),
    [anon_sym_distributed] = ACTIONS(3627),
    [anon_sym_final] = ACTIONS(3627),
    [anon_sym_inout] = ACTIONS(3627),
    [anon_sym_ATescaping] = ACTIONS(3627),
    [anon_sym_ATautoclosure] = ACTIONS(3627),
    [anon_sym_weak] = ACTIONS(3627),
    [anon_sym_unowned] = ACTIONS(3625),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3627),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3627),
    [anon_sym_borrowing] = ACTIONS(3627),
    [anon_sym_consuming] = ACTIONS(3627),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3627),
    [sym__explicit_semi] = ACTIONS(3627),
    [sym__dot_custom] = ACTIONS(3627),
    [sym__conjunction_operator_custom] = ACTIONS(3627),
    [sym__disjunction_operator_custom] = ACTIONS(3627),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3627),
    [sym__eq_custom] = ACTIONS(3627),
    [sym__eq_eq_custom] = ACTIONS(3627),
    [sym__plus_then_ws] = ACTIONS(3627),
    [sym__minus_then_ws] = ACTIONS(3627),
    [sym__bang_custom] = ACTIONS(3627),
    [sym_default_keyword] = ACTIONS(3627),
    [sym__as_custom] = ACTIONS(3627),
    [sym__as_quest_custom] = ACTIONS(3627),
    [sym__as_bang_custom] = ACTIONS(3627),
    [sym__custom_operator] = ACTIONS(3627),
  },
  [1435] = {
    [anon_sym_BANG] = ACTIONS(3275),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3277),
    [anon_sym_package] = ACTIONS(3277),
    [anon_sym_COMMA] = ACTIONS(3277),
    [anon_sym_LPAREN] = ACTIONS(3277),
    [anon_sym_LBRACK] = ACTIONS(3277),
    [anon_sym_QMARK] = ACTIONS(3275),
    [anon_sym_QMARK2] = ACTIONS(3277),
    [anon_sym_AMP] = ACTIONS(3277),
    [aux_sym_custom_operator_token1] = ACTIONS(3277),
    [anon_sym_LT] = ACTIONS(3275),
    [anon_sym_GT] = ACTIONS(3275),
    [anon_sym_LBRACE] = ACTIONS(3277),
    [anon_sym_CARET_LBRACE] = ACTIONS(3277),
    [anon_sym_RBRACE] = ACTIONS(3277),
    [anon_sym_case] = ACTIONS(3277),
    [anon_sym_fallthrough] = ACTIONS(3277),
    [anon_sym_PLUS_EQ] = ACTIONS(3277),
    [anon_sym_DASH_EQ] = ACTIONS(3277),
    [anon_sym_STAR_EQ] = ACTIONS(3277),
    [anon_sym_SLASH_EQ] = ACTIONS(3277),
    [anon_sym_PERCENT_EQ] = ACTIONS(3277),
    [anon_sym_BANG_EQ] = ACTIONS(3275),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3277),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3277),
    [anon_sym_LT_EQ] = ACTIONS(3277),
    [anon_sym_GT_EQ] = ACTIONS(3277),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3277),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3277),
    [anon_sym_is] = ACTIONS(3277),
    [anon_sym_PLUS] = ACTIONS(3275),
    [anon_sym_DASH] = ACTIONS(3275),
    [anon_sym_STAR] = ACTIONS(3275),
    [anon_sym_SLASH] = ACTIONS(3275),
    [anon_sym_PERCENT] = ACTIONS(3275),
    [anon_sym_PLUS_PLUS] = ACTIONS(3277),
    [anon_sym_DASH_DASH] = ACTIONS(3277),
    [anon_sym_PIPE] = ACTIONS(3277),
    [anon_sym_CARET] = ACTIONS(3275),
    [anon_sym_LT_LT] = ACTIONS(3277),
    [anon_sym_GT_GT] = ACTIONS(3277),
    [anon_sym_class] = ACTIONS(3277),
    [anon_sym_prefix] = ACTIONS(3277),
    [anon_sym_infix] = ACTIONS(3277),
    [anon_sym_postfix] = ACTIONS(3277),
    [anon_sym_AT] = ACTIONS(3275),
    [anon_sym_override] = ACTIONS(3277),
    [anon_sym_convenience] = ACTIONS(3277),
    [anon_sym_required] = ACTIONS(3277),
    [anon_sym_nonisolated] = ACTIONS(3277),
    [anon_sym_public] = ACTIONS(3277),
    [anon_sym_private] = ACTIONS(3277),
    [anon_sym_internal] = ACTIONS(3277),
    [anon_sym_fileprivate] = ACTIONS(3277),
    [anon_sym_open] = ACTIONS(3277),
    [anon_sym_mutating] = ACTIONS(3277),
    [anon_sym_nonmutating] = ACTIONS(3277),
    [anon_sym_static] = ACTIONS(3277),
    [anon_sym_dynamic] = ACTIONS(3277),
    [anon_sym_optional] = ACTIONS(3277),
    [anon_sym_distributed] = ACTIONS(3277),
    [anon_sym_final] = ACTIONS(3277),
    [anon_sym_inout] = ACTIONS(3277),
    [anon_sym_ATescaping] = ACTIONS(3277),
    [anon_sym_ATautoclosure] = ACTIONS(3277),
    [anon_sym_weak] = ACTIONS(3277),
    [anon_sym_unowned] = ACTIONS(3275),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3277),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3277),
    [anon_sym_borrowing] = ACTIONS(3277),
    [anon_sym_consuming] = ACTIONS(3277),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3277),
    [sym__explicit_semi] = ACTIONS(3277),
    [sym__dot_custom] = ACTIONS(3277),
    [sym__conjunction_operator_custom] = ACTIONS(3277),
    [sym__disjunction_operator_custom] = ACTIONS(3277),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3277),
    [sym__eq_custom] = ACTIONS(3277),
    [sym__eq_eq_custom] = ACTIONS(3277),
    [sym__plus_then_ws] = ACTIONS(3277),
    [sym__minus_then_ws] = ACTIONS(3277),
    [sym__bang_custom] = ACTIONS(3277),
    [sym_default_keyword] = ACTIONS(3277),
    [sym__as_custom] = ACTIONS(3277),
    [sym__as_quest_custom] = ACTIONS(3277),
    [sym__as_bang_custom] = ACTIONS(3277),
    [sym__custom_operator] = ACTIONS(3277),
  },
  [1436] = {
    [anon_sym_BANG] = ACTIONS(3637),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3639),
    [anon_sym_package] = ACTIONS(3639),
    [anon_sym_COMMA] = ACTIONS(3639),
    [anon_sym_LPAREN] = ACTIONS(3639),
    [anon_sym_LBRACK] = ACTIONS(3639),
    [anon_sym_QMARK] = ACTIONS(3637),
    [anon_sym_QMARK2] = ACTIONS(3639),
    [anon_sym_AMP] = ACTIONS(3639),
    [aux_sym_custom_operator_token1] = ACTIONS(3639),
    [anon_sym_LT] = ACTIONS(3637),
    [anon_sym_GT] = ACTIONS(3637),
    [anon_sym_LBRACE] = ACTIONS(3639),
    [anon_sym_CARET_LBRACE] = ACTIONS(3639),
    [anon_sym_RBRACE] = ACTIONS(3639),
    [anon_sym_case] = ACTIONS(3639),
    [anon_sym_fallthrough] = ACTIONS(3639),
    [anon_sym_PLUS_EQ] = ACTIONS(3639),
    [anon_sym_DASH_EQ] = ACTIONS(3639),
    [anon_sym_STAR_EQ] = ACTIONS(3639),
    [anon_sym_SLASH_EQ] = ACTIONS(3639),
    [anon_sym_PERCENT_EQ] = ACTIONS(3639),
    [anon_sym_BANG_EQ] = ACTIONS(3637),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3639),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3639),
    [anon_sym_LT_EQ] = ACTIONS(3639),
    [anon_sym_GT_EQ] = ACTIONS(3639),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3639),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3639),
    [anon_sym_is] = ACTIONS(3639),
    [anon_sym_PLUS] = ACTIONS(3637),
    [anon_sym_DASH] = ACTIONS(3637),
    [anon_sym_STAR] = ACTIONS(3637),
    [anon_sym_SLASH] = ACTIONS(3637),
    [anon_sym_PERCENT] = ACTIONS(3637),
    [anon_sym_PLUS_PLUS] = ACTIONS(3639),
    [anon_sym_DASH_DASH] = ACTIONS(3639),
    [anon_sym_PIPE] = ACTIONS(3639),
    [anon_sym_CARET] = ACTIONS(3637),
    [anon_sym_LT_LT] = ACTIONS(3639),
    [anon_sym_GT_GT] = ACTIONS(3639),
    [anon_sym_class] = ACTIONS(3639),
    [anon_sym_prefix] = ACTIONS(3639),
    [anon_sym_infix] = ACTIONS(3639),
    [anon_sym_postfix] = ACTIONS(3639),
    [anon_sym_AT] = ACTIONS(3637),
    [anon_sym_override] = ACTIONS(3639),
    [anon_sym_convenience] = ACTIONS(3639),
    [anon_sym_required] = ACTIONS(3639),
    [anon_sym_nonisolated] = ACTIONS(3639),
    [anon_sym_public] = ACTIONS(3639),
    [anon_sym_private] = ACTIONS(3639),
    [anon_sym_internal] = ACTIONS(3639),
    [anon_sym_fileprivate] = ACTIONS(3639),
    [anon_sym_open] = ACTIONS(3639),
    [anon_sym_mutating] = ACTIONS(3639),
    [anon_sym_nonmutating] = ACTIONS(3639),
    [anon_sym_static] = ACTIONS(3639),
    [anon_sym_dynamic] = ACTIONS(3639),
    [anon_sym_optional] = ACTIONS(3639),
    [anon_sym_distributed] = ACTIONS(3639),
    [anon_sym_final] = ACTIONS(3639),
    [anon_sym_inout] = ACTIONS(3639),
    [anon_sym_ATescaping] = ACTIONS(3639),
    [anon_sym_ATautoclosure] = ACTIONS(3639),
    [anon_sym_weak] = ACTIONS(3639),
    [anon_sym_unowned] = ACTIONS(3637),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3639),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3639),
    [anon_sym_borrowing] = ACTIONS(3639),
    [anon_sym_consuming] = ACTIONS(3639),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3639),
    [sym__explicit_semi] = ACTIONS(3639),
    [sym__dot_custom] = ACTIONS(3639),
    [sym__conjunction_operator_custom] = ACTIONS(3639),
    [sym__disjunction_operator_custom] = ACTIONS(3639),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3639),
    [sym__eq_custom] = ACTIONS(3639),
    [sym__eq_eq_custom] = ACTIONS(3639),
    [sym__plus_then_ws] = ACTIONS(3639),
    [sym__minus_then_ws] = ACTIONS(3639),
    [sym__bang_custom] = ACTIONS(3639),
    [sym_default_keyword] = ACTIONS(3639),
    [sym__as_custom] = ACTIONS(3639),
    [sym__as_quest_custom] = ACTIONS(3639),
    [sym__as_bang_custom] = ACTIONS(3639),
    [sym__custom_operator] = ACTIONS(3639),
  },
  [1437] = {
    [anon_sym_BANG] = ACTIONS(3633),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3635),
    [anon_sym_package] = ACTIONS(3635),
    [anon_sym_COMMA] = ACTIONS(3635),
    [anon_sym_LPAREN] = ACTIONS(3635),
    [anon_sym_LBRACK] = ACTIONS(3635),
    [anon_sym_QMARK] = ACTIONS(3633),
    [anon_sym_QMARK2] = ACTIONS(3635),
    [anon_sym_AMP] = ACTIONS(3635),
    [aux_sym_custom_operator_token1] = ACTIONS(3635),
    [anon_sym_LT] = ACTIONS(3633),
    [anon_sym_GT] = ACTIONS(3633),
    [anon_sym_LBRACE] = ACTIONS(3635),
    [anon_sym_CARET_LBRACE] = ACTIONS(3635),
    [anon_sym_RBRACE] = ACTIONS(3635),
    [anon_sym_case] = ACTIONS(3635),
    [anon_sym_fallthrough] = ACTIONS(3635),
    [anon_sym_PLUS_EQ] = ACTIONS(3635),
    [anon_sym_DASH_EQ] = ACTIONS(3635),
    [anon_sym_STAR_EQ] = ACTIONS(3635),
    [anon_sym_SLASH_EQ] = ACTIONS(3635),
    [anon_sym_PERCENT_EQ] = ACTIONS(3635),
    [anon_sym_BANG_EQ] = ACTIONS(3633),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3635),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3635),
    [anon_sym_LT_EQ] = ACTIONS(3635),
    [anon_sym_GT_EQ] = ACTIONS(3635),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3635),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3635),
    [anon_sym_is] = ACTIONS(3635),
    [anon_sym_PLUS] = ACTIONS(3633),
    [anon_sym_DASH] = ACTIONS(3633),
    [anon_sym_STAR] = ACTIONS(3633),
    [anon_sym_SLASH] = ACTIONS(3633),
    [anon_sym_PERCENT] = ACTIONS(3633),
    [anon_sym_PLUS_PLUS] = ACTIONS(3635),
    [anon_sym_DASH_DASH] = ACTIONS(3635),
    [anon_sym_PIPE] = ACTIONS(3635),
    [anon_sym_CARET] = ACTIONS(3633),
    [anon_sym_LT_LT] = ACTIONS(3635),
    [anon_sym_GT_GT] = ACTIONS(3635),
    [anon_sym_class] = ACTIONS(3635),
    [anon_sym_prefix] = ACTIONS(3635),
    [anon_sym_infix] = ACTIONS(3635),
    [anon_sym_postfix] = ACTIONS(3635),
    [anon_sym_AT] = ACTIONS(3633),
    [anon_sym_override] = ACTIONS(3635),
    [anon_sym_convenience] = ACTIONS(3635),
    [anon_sym_required] = ACTIONS(3635),
    [anon_sym_nonisolated] = ACTIONS(3635),
    [anon_sym_public] = ACTIONS(3635),
    [anon_sym_private] = ACTIONS(3635),
    [anon_sym_internal] = ACTIONS(3635),
    [anon_sym_fileprivate] = ACTIONS(3635),
    [anon_sym_open] = ACTIONS(3635),
    [anon_sym_mutating] = ACTIONS(3635),
    [anon_sym_nonmutating] = ACTIONS(3635),
    [anon_sym_static] = ACTIONS(3635),
    [anon_sym_dynamic] = ACTIONS(3635),
    [anon_sym_optional] = ACTIONS(3635),
    [anon_sym_distributed] = ACTIONS(3635),
    [anon_sym_final] = ACTIONS(3635),
    [anon_sym_inout] = ACTIONS(3635),
    [anon_sym_ATescaping] = ACTIONS(3635),
    [anon_sym_ATautoclosure] = ACTIONS(3635),
    [anon_sym_weak] = ACTIONS(3635),
    [anon_sym_unowned] = ACTIONS(3633),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3635),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3635),
    [anon_sym_borrowing] = ACTIONS(3635),
    [anon_sym_consuming] = ACTIONS(3635),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3635),
    [sym__explicit_semi] = ACTIONS(3635),
    [sym__dot_custom] = ACTIONS(3635),
    [sym__conjunction_operator_custom] = ACTIONS(3635),
    [sym__disjunction_operator_custom] = ACTIONS(3635),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3635),
    [sym__eq_custom] = ACTIONS(3635),
    [sym__eq_eq_custom] = ACTIONS(3635),
    [sym__plus_then_ws] = ACTIONS(3635),
    [sym__minus_then_ws] = ACTIONS(3635),
    [sym__bang_custom] = ACTIONS(3635),
    [sym_default_keyword] = ACTIONS(3635),
    [sym__as_custom] = ACTIONS(3635),
    [sym__as_quest_custom] = ACTIONS(3635),
    [sym__as_bang_custom] = ACTIONS(3635),
    [sym__custom_operator] = ACTIONS(3635),
  },
  [1438] = {
    [anon_sym_BANG] = ACTIONS(3429),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3431),
    [anon_sym_package] = ACTIONS(3431),
    [anon_sym_COMMA] = ACTIONS(3431),
    [anon_sym_LPAREN] = ACTIONS(3431),
    [anon_sym_LBRACK] = ACTIONS(3431),
    [anon_sym_QMARK] = ACTIONS(3429),
    [anon_sym_QMARK2] = ACTIONS(3431),
    [anon_sym_AMP] = ACTIONS(3431),
    [aux_sym_custom_operator_token1] = ACTIONS(3431),
    [anon_sym_LT] = ACTIONS(3429),
    [anon_sym_GT] = ACTIONS(3429),
    [anon_sym_LBRACE] = ACTIONS(3431),
    [anon_sym_CARET_LBRACE] = ACTIONS(3431),
    [anon_sym_RBRACE] = ACTIONS(3431),
    [anon_sym_case] = ACTIONS(3431),
    [anon_sym_fallthrough] = ACTIONS(3431),
    [anon_sym_PLUS_EQ] = ACTIONS(3431),
    [anon_sym_DASH_EQ] = ACTIONS(3431),
    [anon_sym_STAR_EQ] = ACTIONS(3431),
    [anon_sym_SLASH_EQ] = ACTIONS(3431),
    [anon_sym_PERCENT_EQ] = ACTIONS(3431),
    [anon_sym_BANG_EQ] = ACTIONS(3429),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3431),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3431),
    [anon_sym_LT_EQ] = ACTIONS(3431),
    [anon_sym_GT_EQ] = ACTIONS(3431),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3431),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3431),
    [anon_sym_is] = ACTIONS(3431),
    [anon_sym_PLUS] = ACTIONS(3429),
    [anon_sym_DASH] = ACTIONS(3429),
    [anon_sym_STAR] = ACTIONS(3429),
    [anon_sym_SLASH] = ACTIONS(3429),
    [anon_sym_PERCENT] = ACTIONS(3429),
    [anon_sym_PLUS_PLUS] = ACTIONS(3431),
    [anon_sym_DASH_DASH] = ACTIONS(3431),
    [anon_sym_PIPE] = ACTIONS(3431),
    [anon_sym_CARET] = ACTIONS(3429),
    [anon_sym_LT_LT] = ACTIONS(3431),
    [anon_sym_GT_GT] = ACTIONS(3431),
    [anon_sym_class] = ACTIONS(3431),
    [anon_sym_prefix] = ACTIONS(3431),
    [anon_sym_infix] = ACTIONS(3431),
    [anon_sym_postfix] = ACTIONS(3431),
    [anon_sym_AT] = ACTIONS(3429),
    [anon_sym_override] = ACTIONS(3431),
    [anon_sym_convenience] = ACTIONS(3431),
    [anon_sym_required] = ACTIONS(3431),
    [anon_sym_nonisolated] = ACTIONS(3431),
    [anon_sym_public] = ACTIONS(3431),
    [anon_sym_private] = ACTIONS(3431),
    [anon_sym_internal] = ACTIONS(3431),
    [anon_sym_fileprivate] = ACTIONS(3431),
    [anon_sym_open] = ACTIONS(3431),
    [anon_sym_mutating] = ACTIONS(3431),
    [anon_sym_nonmutating] = ACTIONS(3431),
    [anon_sym_static] = ACTIONS(3431),
    [anon_sym_dynamic] = ACTIONS(3431),
    [anon_sym_optional] = ACTIONS(3431),
    [anon_sym_distributed] = ACTIONS(3431),
    [anon_sym_final] = ACTIONS(3431),
    [anon_sym_inout] = ACTIONS(3431),
    [anon_sym_ATescaping] = ACTIONS(3431),
    [anon_sym_ATautoclosure] = ACTIONS(3431),
    [anon_sym_weak] = ACTIONS(3431),
    [anon_sym_unowned] = ACTIONS(3429),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3431),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3431),
    [anon_sym_borrowing] = ACTIONS(3431),
    [anon_sym_consuming] = ACTIONS(3431),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3431),
    [sym__explicit_semi] = ACTIONS(3431),
    [sym__dot_custom] = ACTIONS(3431),
    [sym__conjunction_operator_custom] = ACTIONS(3431),
    [sym__disjunction_operator_custom] = ACTIONS(3431),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3431),
    [sym__eq_custom] = ACTIONS(3431),
    [sym__eq_eq_custom] = ACTIONS(3431),
    [sym__plus_then_ws] = ACTIONS(3431),
    [sym__minus_then_ws] = ACTIONS(3431),
    [sym__bang_custom] = ACTIONS(3431),
    [sym_default_keyword] = ACTIONS(3431),
    [sym__as_custom] = ACTIONS(3431),
    [sym__as_quest_custom] = ACTIONS(3431),
    [sym__as_bang_custom] = ACTIONS(3431),
    [sym__custom_operator] = ACTIONS(3431),
  },
  [1439] = {
    [anon_sym_BANG] = ACTIONS(3393),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3395),
    [anon_sym_package] = ACTIONS(3395),
    [anon_sym_COMMA] = ACTIONS(3395),
    [anon_sym_LPAREN] = ACTIONS(3395),
    [anon_sym_LBRACK] = ACTIONS(3395),
    [anon_sym_QMARK] = ACTIONS(3393),
    [anon_sym_QMARK2] = ACTIONS(3395),
    [anon_sym_AMP] = ACTIONS(3395),
    [aux_sym_custom_operator_token1] = ACTIONS(3395),
    [anon_sym_LT] = ACTIONS(3393),
    [anon_sym_GT] = ACTIONS(3393),
    [anon_sym_LBRACE] = ACTIONS(3395),
    [anon_sym_CARET_LBRACE] = ACTIONS(3395),
    [anon_sym_RBRACE] = ACTIONS(3395),
    [anon_sym_case] = ACTIONS(3395),
    [anon_sym_fallthrough] = ACTIONS(3395),
    [anon_sym_PLUS_EQ] = ACTIONS(3395),
    [anon_sym_DASH_EQ] = ACTIONS(3395),
    [anon_sym_STAR_EQ] = ACTIONS(3395),
    [anon_sym_SLASH_EQ] = ACTIONS(3395),
    [anon_sym_PERCENT_EQ] = ACTIONS(3395),
    [anon_sym_BANG_EQ] = ACTIONS(3393),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3395),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3395),
    [anon_sym_LT_EQ] = ACTIONS(3395),
    [anon_sym_GT_EQ] = ACTIONS(3395),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3395),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3395),
    [anon_sym_is] = ACTIONS(3395),
    [anon_sym_PLUS] = ACTIONS(3393),
    [anon_sym_DASH] = ACTIONS(3393),
    [anon_sym_STAR] = ACTIONS(3393),
    [anon_sym_SLASH] = ACTIONS(3393),
    [anon_sym_PERCENT] = ACTIONS(3393),
    [anon_sym_PLUS_PLUS] = ACTIONS(3395),
    [anon_sym_DASH_DASH] = ACTIONS(3395),
    [anon_sym_PIPE] = ACTIONS(3395),
    [anon_sym_CARET] = ACTIONS(3393),
    [anon_sym_LT_LT] = ACTIONS(3395),
    [anon_sym_GT_GT] = ACTIONS(3395),
    [anon_sym_class] = ACTIONS(3395),
    [anon_sym_prefix] = ACTIONS(3395),
    [anon_sym_infix] = ACTIONS(3395),
    [anon_sym_postfix] = ACTIONS(3395),
    [anon_sym_AT] = ACTIONS(3393),
    [anon_sym_override] = ACTIONS(3395),
    [anon_sym_convenience] = ACTIONS(3395),
    [anon_sym_required] = ACTIONS(3395),
    [anon_sym_nonisolated] = ACTIONS(3395),
    [anon_sym_public] = ACTIONS(3395),
    [anon_sym_private] = ACTIONS(3395),
    [anon_sym_internal] = ACTIONS(3395),
    [anon_sym_fileprivate] = ACTIONS(3395),
    [anon_sym_open] = ACTIONS(3395),
    [anon_sym_mutating] = ACTIONS(3395),
    [anon_sym_nonmutating] = ACTIONS(3395),
    [anon_sym_static] = ACTIONS(3395),
    [anon_sym_dynamic] = ACTIONS(3395),
    [anon_sym_optional] = ACTIONS(3395),
    [anon_sym_distributed] = ACTIONS(3395),
    [anon_sym_final] = ACTIONS(3395),
    [anon_sym_inout] = ACTIONS(3395),
    [anon_sym_ATescaping] = ACTIONS(3395),
    [anon_sym_ATautoclosure] = ACTIONS(3395),
    [anon_sym_weak] = ACTIONS(3395),
    [anon_sym_unowned] = ACTIONS(3393),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3395),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3395),
    [anon_sym_borrowing] = ACTIONS(3395),
    [anon_sym_consuming] = ACTIONS(3395),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3395),
    [sym__explicit_semi] = ACTIONS(3395),
    [sym__dot_custom] = ACTIONS(3395),
    [sym__conjunction_operator_custom] = ACTIONS(3395),
    [sym__disjunction_operator_custom] = ACTIONS(3395),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3395),
    [sym__eq_custom] = ACTIONS(3395),
    [sym__eq_eq_custom] = ACTIONS(3395),
    [sym__plus_then_ws] = ACTIONS(3395),
    [sym__minus_then_ws] = ACTIONS(3395),
    [sym__bang_custom] = ACTIONS(3395),
    [sym_default_keyword] = ACTIONS(3395),
    [sym__as_custom] = ACTIONS(3395),
    [sym__as_quest_custom] = ACTIONS(3395),
    [sym__as_bang_custom] = ACTIONS(3395),
    [sym__custom_operator] = ACTIONS(3395),
  },
  [1440] = {
    [anon_sym_BANG] = ACTIONS(3381),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3383),
    [anon_sym_package] = ACTIONS(3383),
    [anon_sym_COMMA] = ACTIONS(3383),
    [anon_sym_LPAREN] = ACTIONS(3383),
    [anon_sym_LBRACK] = ACTIONS(3383),
    [anon_sym_QMARK] = ACTIONS(3381),
    [anon_sym_QMARK2] = ACTIONS(3383),
    [anon_sym_AMP] = ACTIONS(3383),
    [aux_sym_custom_operator_token1] = ACTIONS(3383),
    [anon_sym_LT] = ACTIONS(3381),
    [anon_sym_GT] = ACTIONS(3381),
    [anon_sym_LBRACE] = ACTIONS(3383),
    [anon_sym_CARET_LBRACE] = ACTIONS(3383),
    [anon_sym_RBRACE] = ACTIONS(3383),
    [anon_sym_case] = ACTIONS(3383),
    [anon_sym_fallthrough] = ACTIONS(3383),
    [anon_sym_PLUS_EQ] = ACTIONS(3383),
    [anon_sym_DASH_EQ] = ACTIONS(3383),
    [anon_sym_STAR_EQ] = ACTIONS(3383),
    [anon_sym_SLASH_EQ] = ACTIONS(3383),
    [anon_sym_PERCENT_EQ] = ACTIONS(3383),
    [anon_sym_BANG_EQ] = ACTIONS(3381),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3383),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3383),
    [anon_sym_LT_EQ] = ACTIONS(3383),
    [anon_sym_GT_EQ] = ACTIONS(3383),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3383),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3383),
    [anon_sym_is] = ACTIONS(3383),
    [anon_sym_PLUS] = ACTIONS(3381),
    [anon_sym_DASH] = ACTIONS(3381),
    [anon_sym_STAR] = ACTIONS(3381),
    [anon_sym_SLASH] = ACTIONS(3381),
    [anon_sym_PERCENT] = ACTIONS(3381),
    [anon_sym_PLUS_PLUS] = ACTIONS(3383),
    [anon_sym_DASH_DASH] = ACTIONS(3383),
    [anon_sym_PIPE] = ACTIONS(3383),
    [anon_sym_CARET] = ACTIONS(3381),
    [anon_sym_LT_LT] = ACTIONS(3383),
    [anon_sym_GT_GT] = ACTIONS(3383),
    [anon_sym_class] = ACTIONS(3383),
    [anon_sym_prefix] = ACTIONS(3383),
    [anon_sym_infix] = ACTIONS(3383),
    [anon_sym_postfix] = ACTIONS(3383),
    [anon_sym_AT] = ACTIONS(3381),
    [anon_sym_override] = ACTIONS(3383),
    [anon_sym_convenience] = ACTIONS(3383),
    [anon_sym_required] = ACTIONS(3383),
    [anon_sym_nonisolated] = ACTIONS(3383),
    [anon_sym_public] = ACTIONS(3383),
    [anon_sym_private] = ACTIONS(3383),
    [anon_sym_internal] = ACTIONS(3383),
    [anon_sym_fileprivate] = ACTIONS(3383),
    [anon_sym_open] = ACTIONS(3383),
    [anon_sym_mutating] = ACTIONS(3383),
    [anon_sym_nonmutating] = ACTIONS(3383),
    [anon_sym_static] = ACTIONS(3383),
    [anon_sym_dynamic] = ACTIONS(3383),
    [anon_sym_optional] = ACTIONS(3383),
    [anon_sym_distributed] = ACTIONS(3383),
    [anon_sym_final] = ACTIONS(3383),
    [anon_sym_inout] = ACTIONS(3383),
    [anon_sym_ATescaping] = ACTIONS(3383),
    [anon_sym_ATautoclosure] = ACTIONS(3383),
    [anon_sym_weak] = ACTIONS(3383),
    [anon_sym_unowned] = ACTIONS(3381),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3383),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3383),
    [anon_sym_borrowing] = ACTIONS(3383),
    [anon_sym_consuming] = ACTIONS(3383),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3383),
    [sym__explicit_semi] = ACTIONS(3383),
    [sym__dot_custom] = ACTIONS(3383),
    [sym__conjunction_operator_custom] = ACTIONS(3383),
    [sym__disjunction_operator_custom] = ACTIONS(3383),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3383),
    [sym__eq_custom] = ACTIONS(3383),
    [sym__eq_eq_custom] = ACTIONS(3383),
    [sym__plus_then_ws] = ACTIONS(3383),
    [sym__minus_then_ws] = ACTIONS(3383),
    [sym__bang_custom] = ACTIONS(3383),
    [sym_default_keyword] = ACTIONS(3383),
    [sym__as_custom] = ACTIONS(3383),
    [sym__as_quest_custom] = ACTIONS(3383),
    [sym__as_bang_custom] = ACTIONS(3383),
    [sym__custom_operator] = ACTIONS(3383),
  },
  [1441] = {
    [anon_sym_BANG] = ACTIONS(3425),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3427),
    [anon_sym_package] = ACTIONS(3427),
    [anon_sym_COMMA] = ACTIONS(3427),
    [anon_sym_LPAREN] = ACTIONS(3427),
    [anon_sym_LBRACK] = ACTIONS(3427),
    [anon_sym_QMARK] = ACTIONS(3425),
    [anon_sym_QMARK2] = ACTIONS(3427),
    [anon_sym_AMP] = ACTIONS(3427),
    [aux_sym_custom_operator_token1] = ACTIONS(3427),
    [anon_sym_LT] = ACTIONS(3425),
    [anon_sym_GT] = ACTIONS(3425),
    [anon_sym_LBRACE] = ACTIONS(3427),
    [anon_sym_CARET_LBRACE] = ACTIONS(3427),
    [anon_sym_RBRACE] = ACTIONS(3427),
    [anon_sym_case] = ACTIONS(3427),
    [anon_sym_fallthrough] = ACTIONS(3427),
    [anon_sym_PLUS_EQ] = ACTIONS(3427),
    [anon_sym_DASH_EQ] = ACTIONS(3427),
    [anon_sym_STAR_EQ] = ACTIONS(3427),
    [anon_sym_SLASH_EQ] = ACTIONS(3427),
    [anon_sym_PERCENT_EQ] = ACTIONS(3427),
    [anon_sym_BANG_EQ] = ACTIONS(3425),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3427),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3427),
    [anon_sym_LT_EQ] = ACTIONS(3427),
    [anon_sym_GT_EQ] = ACTIONS(3427),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3427),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3427),
    [anon_sym_is] = ACTIONS(3427),
    [anon_sym_PLUS] = ACTIONS(3425),
    [anon_sym_DASH] = ACTIONS(3425),
    [anon_sym_STAR] = ACTIONS(3425),
    [anon_sym_SLASH] = ACTIONS(3425),
    [anon_sym_PERCENT] = ACTIONS(3425),
    [anon_sym_PLUS_PLUS] = ACTIONS(3427),
    [anon_sym_DASH_DASH] = ACTIONS(3427),
    [anon_sym_PIPE] = ACTIONS(3427),
    [anon_sym_CARET] = ACTIONS(3425),
    [anon_sym_LT_LT] = ACTIONS(3427),
    [anon_sym_GT_GT] = ACTIONS(3427),
    [anon_sym_class] = ACTIONS(3427),
    [anon_sym_prefix] = ACTIONS(3427),
    [anon_sym_infix] = ACTIONS(3427),
    [anon_sym_postfix] = ACTIONS(3427),
    [anon_sym_AT] = ACTIONS(3425),
    [anon_sym_override] = ACTIONS(3427),
    [anon_sym_convenience] = ACTIONS(3427),
    [anon_sym_required] = ACTIONS(3427),
    [anon_sym_nonisolated] = ACTIONS(3427),
    [anon_sym_public] = ACTIONS(3427),
    [anon_sym_private] = ACTIONS(3427),
    [anon_sym_internal] = ACTIONS(3427),
    [anon_sym_fileprivate] = ACTIONS(3427),
    [anon_sym_open] = ACTIONS(3427),
    [anon_sym_mutating] = ACTIONS(3427),
    [anon_sym_nonmutating] = ACTIONS(3427),
    [anon_sym_static] = ACTIONS(3427),
    [anon_sym_dynamic] = ACTIONS(3427),
    [anon_sym_optional] = ACTIONS(3427),
    [anon_sym_distributed] = ACTIONS(3427),
    [anon_sym_final] = ACTIONS(3427),
    [anon_sym_inout] = ACTIONS(3427),
    [anon_sym_ATescaping] = ACTIONS(3427),
    [anon_sym_ATautoclosure] = ACTIONS(3427),
    [anon_sym_weak] = ACTIONS(3427),
    [anon_sym_unowned] = ACTIONS(3425),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3427),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3427),
    [anon_sym_borrowing] = ACTIONS(3427),
    [anon_sym_consuming] = ACTIONS(3427),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3427),
    [sym__explicit_semi] = ACTIONS(3427),
    [sym__dot_custom] = ACTIONS(3427),
    [sym__conjunction_operator_custom] = ACTIONS(3427),
    [sym__disjunction_operator_custom] = ACTIONS(3427),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3427),
    [sym__eq_custom] = ACTIONS(3427),
    [sym__eq_eq_custom] = ACTIONS(3427),
    [sym__plus_then_ws] = ACTIONS(3427),
    [sym__minus_then_ws] = ACTIONS(3427),
    [sym__bang_custom] = ACTIONS(3427),
    [sym_default_keyword] = ACTIONS(3427),
    [sym__as_custom] = ACTIONS(3427),
    [sym__as_quest_custom] = ACTIONS(3427),
    [sym__as_bang_custom] = ACTIONS(3427),
    [sym__custom_operator] = ACTIONS(3427),
  },
  [1442] = {
    [anon_sym_BANG] = ACTIONS(3321),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3323),
    [anon_sym_package] = ACTIONS(3323),
    [anon_sym_COMMA] = ACTIONS(3323),
    [anon_sym_LPAREN] = ACTIONS(3323),
    [anon_sym_LBRACK] = ACTIONS(3323),
    [anon_sym_QMARK] = ACTIONS(3321),
    [anon_sym_QMARK2] = ACTIONS(3323),
    [anon_sym_AMP] = ACTIONS(3323),
    [aux_sym_custom_operator_token1] = ACTIONS(3323),
    [anon_sym_LT] = ACTIONS(3321),
    [anon_sym_GT] = ACTIONS(3321),
    [anon_sym_LBRACE] = ACTIONS(3323),
    [anon_sym_CARET_LBRACE] = ACTIONS(3323),
    [anon_sym_RBRACE] = ACTIONS(3323),
    [anon_sym_case] = ACTIONS(3323),
    [anon_sym_fallthrough] = ACTIONS(3323),
    [anon_sym_PLUS_EQ] = ACTIONS(3323),
    [anon_sym_DASH_EQ] = ACTIONS(3323),
    [anon_sym_STAR_EQ] = ACTIONS(3323),
    [anon_sym_SLASH_EQ] = ACTIONS(3323),
    [anon_sym_PERCENT_EQ] = ACTIONS(3323),
    [anon_sym_BANG_EQ] = ACTIONS(3321),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3323),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3323),
    [anon_sym_LT_EQ] = ACTIONS(3323),
    [anon_sym_GT_EQ] = ACTIONS(3323),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3323),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3323),
    [anon_sym_is] = ACTIONS(3323),
    [anon_sym_PLUS] = ACTIONS(3321),
    [anon_sym_DASH] = ACTIONS(3321),
    [anon_sym_STAR] = ACTIONS(3321),
    [anon_sym_SLASH] = ACTIONS(3321),
    [anon_sym_PERCENT] = ACTIONS(3321),
    [anon_sym_PLUS_PLUS] = ACTIONS(3323),
    [anon_sym_DASH_DASH] = ACTIONS(3323),
    [anon_sym_PIPE] = ACTIONS(3323),
    [anon_sym_CARET] = ACTIONS(3321),
    [anon_sym_LT_LT] = ACTIONS(3323),
    [anon_sym_GT_GT] = ACTIONS(3323),
    [anon_sym_class] = ACTIONS(3323),
    [anon_sym_prefix] = ACTIONS(3323),
    [anon_sym_infix] = ACTIONS(3323),
    [anon_sym_postfix] = ACTIONS(3323),
    [anon_sym_AT] = ACTIONS(3321),
    [anon_sym_override] = ACTIONS(3323),
    [anon_sym_convenience] = ACTIONS(3323),
    [anon_sym_required] = ACTIONS(3323),
    [anon_sym_nonisolated] = ACTIONS(3323),
    [anon_sym_public] = ACTIONS(3323),
    [anon_sym_private] = ACTIONS(3323),
    [anon_sym_internal] = ACTIONS(3323),
    [anon_sym_fileprivate] = ACTIONS(3323),
    [anon_sym_open] = ACTIONS(3323),
    [anon_sym_mutating] = ACTIONS(3323),
    [anon_sym_nonmutating] = ACTIONS(3323),
    [anon_sym_static] = ACTIONS(3323),
    [anon_sym_dynamic] = ACTIONS(3323),
    [anon_sym_optional] = ACTIONS(3323),
    [anon_sym_distributed] = ACTIONS(3323),
    [anon_sym_final] = ACTIONS(3323),
    [anon_sym_inout] = ACTIONS(3323),
    [anon_sym_ATescaping] = ACTIONS(3323),
    [anon_sym_ATautoclosure] = ACTIONS(3323),
    [anon_sym_weak] = ACTIONS(3323),
    [anon_sym_unowned] = ACTIONS(3321),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3323),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3323),
    [anon_sym_borrowing] = ACTIONS(3323),
    [anon_sym_consuming] = ACTIONS(3323),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3323),
    [sym__explicit_semi] = ACTIONS(3323),
    [sym__dot_custom] = ACTIONS(3323),
    [sym__conjunction_operator_custom] = ACTIONS(3323),
    [sym__disjunction_operator_custom] = ACTIONS(3323),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3323),
    [sym__eq_custom] = ACTIONS(3323),
    [sym__eq_eq_custom] = ACTIONS(3323),
    [sym__plus_then_ws] = ACTIONS(3323),
    [sym__minus_then_ws] = ACTIONS(3323),
    [sym__bang_custom] = ACTIONS(3323),
    [sym_default_keyword] = ACTIONS(3323),
    [sym__as_custom] = ACTIONS(3323),
    [sym__as_quest_custom] = ACTIONS(3323),
    [sym__as_bang_custom] = ACTIONS(3323),
    [sym__custom_operator] = ACTIONS(3323),
  },
  [1443] = {
    [anon_sym_BANG] = ACTIONS(3219),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3221),
    [anon_sym_package] = ACTIONS(3221),
    [anon_sym_COMMA] = ACTIONS(3221),
    [anon_sym_LPAREN] = ACTIONS(3221),
    [anon_sym_LBRACK] = ACTIONS(3221),
    [anon_sym_QMARK] = ACTIONS(3219),
    [anon_sym_QMARK2] = ACTIONS(3221),
    [anon_sym_AMP] = ACTIONS(3221),
    [aux_sym_custom_operator_token1] = ACTIONS(3221),
    [anon_sym_LT] = ACTIONS(3219),
    [anon_sym_GT] = ACTIONS(3219),
    [anon_sym_LBRACE] = ACTIONS(3221),
    [anon_sym_CARET_LBRACE] = ACTIONS(3221),
    [anon_sym_RBRACE] = ACTIONS(3221),
    [anon_sym_case] = ACTIONS(3221),
    [anon_sym_fallthrough] = ACTIONS(3221),
    [anon_sym_PLUS_EQ] = ACTIONS(3221),
    [anon_sym_DASH_EQ] = ACTIONS(3221),
    [anon_sym_STAR_EQ] = ACTIONS(3221),
    [anon_sym_SLASH_EQ] = ACTIONS(3221),
    [anon_sym_PERCENT_EQ] = ACTIONS(3221),
    [anon_sym_BANG_EQ] = ACTIONS(3219),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3221),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3221),
    [anon_sym_LT_EQ] = ACTIONS(3221),
    [anon_sym_GT_EQ] = ACTIONS(3221),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3221),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3221),
    [anon_sym_is] = ACTIONS(3221),
    [anon_sym_PLUS] = ACTIONS(3219),
    [anon_sym_DASH] = ACTIONS(3219),
    [anon_sym_STAR] = ACTIONS(3219),
    [anon_sym_SLASH] = ACTIONS(3219),
    [anon_sym_PERCENT] = ACTIONS(3219),
    [anon_sym_PLUS_PLUS] = ACTIONS(3221),
    [anon_sym_DASH_DASH] = ACTIONS(3221),
    [anon_sym_PIPE] = ACTIONS(3221),
    [anon_sym_CARET] = ACTIONS(3219),
    [anon_sym_LT_LT] = ACTIONS(3221),
    [anon_sym_GT_GT] = ACTIONS(3221),
    [anon_sym_class] = ACTIONS(3221),
    [anon_sym_prefix] = ACTIONS(3221),
    [anon_sym_infix] = ACTIONS(3221),
    [anon_sym_postfix] = ACTIONS(3221),
    [anon_sym_AT] = ACTIONS(3219),
    [anon_sym_override] = ACTIONS(3221),
    [anon_sym_convenience] = ACTIONS(3221),
    [anon_sym_required] = ACTIONS(3221),
    [anon_sym_nonisolated] = ACTIONS(3221),
    [anon_sym_public] = ACTIONS(3221),
    [anon_sym_private] = ACTIONS(3221),
    [anon_sym_internal] = ACTIONS(3221),
    [anon_sym_fileprivate] = ACTIONS(3221),
    [anon_sym_open] = ACTIONS(3221),
    [anon_sym_mutating] = ACTIONS(3221),
    [anon_sym_nonmutating] = ACTIONS(3221),
    [anon_sym_static] = ACTIONS(3221),
    [anon_sym_dynamic] = ACTIONS(3221),
    [anon_sym_optional] = ACTIONS(3221),
    [anon_sym_distributed] = ACTIONS(3221),
    [anon_sym_final] = ACTIONS(3221),
    [anon_sym_inout] = ACTIONS(3221),
    [anon_sym_ATescaping] = ACTIONS(3221),
    [anon_sym_ATautoclosure] = ACTIONS(3221),
    [anon_sym_weak] = ACTIONS(3221),
    [anon_sym_unowned] = ACTIONS(3219),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3221),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3221),
    [anon_sym_borrowing] = ACTIONS(3221),
    [anon_sym_consuming] = ACTIONS(3221),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3221),
    [sym__explicit_semi] = ACTIONS(3221),
    [sym__dot_custom] = ACTIONS(3221),
    [sym__conjunction_operator_custom] = ACTIONS(3221),
    [sym__disjunction_operator_custom] = ACTIONS(3221),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3221),
    [sym__eq_custom] = ACTIONS(3221),
    [sym__eq_eq_custom] = ACTIONS(3221),
    [sym__plus_then_ws] = ACTIONS(3221),
    [sym__minus_then_ws] = ACTIONS(3221),
    [sym__bang_custom] = ACTIONS(3221),
    [sym_default_keyword] = ACTIONS(3221),
    [sym__as_custom] = ACTIONS(3221),
    [sym__as_quest_custom] = ACTIONS(3221),
    [sym__as_bang_custom] = ACTIONS(3221),
    [sym__custom_operator] = ACTIONS(3221),
  },
  [1444] = {
    [anon_sym_BANG] = ACTIONS(3313),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3315),
    [anon_sym_package] = ACTIONS(3315),
    [anon_sym_COMMA] = ACTIONS(3315),
    [anon_sym_LPAREN] = ACTIONS(3315),
    [anon_sym_LBRACK] = ACTIONS(3315),
    [anon_sym_QMARK] = ACTIONS(3313),
    [anon_sym_QMARK2] = ACTIONS(3315),
    [anon_sym_AMP] = ACTIONS(3315),
    [aux_sym_custom_operator_token1] = ACTIONS(3315),
    [anon_sym_LT] = ACTIONS(3313),
    [anon_sym_GT] = ACTIONS(3313),
    [anon_sym_LBRACE] = ACTIONS(3315),
    [anon_sym_CARET_LBRACE] = ACTIONS(3315),
    [anon_sym_RBRACE] = ACTIONS(3315),
    [anon_sym_case] = ACTIONS(3315),
    [anon_sym_fallthrough] = ACTIONS(3315),
    [anon_sym_PLUS_EQ] = ACTIONS(3315),
    [anon_sym_DASH_EQ] = ACTIONS(3315),
    [anon_sym_STAR_EQ] = ACTIONS(3315),
    [anon_sym_SLASH_EQ] = ACTIONS(3315),
    [anon_sym_PERCENT_EQ] = ACTIONS(3315),
    [anon_sym_BANG_EQ] = ACTIONS(3313),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3315),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3315),
    [anon_sym_LT_EQ] = ACTIONS(3315),
    [anon_sym_GT_EQ] = ACTIONS(3315),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3315),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3315),
    [anon_sym_is] = ACTIONS(3315),
    [anon_sym_PLUS] = ACTIONS(3313),
    [anon_sym_DASH] = ACTIONS(3313),
    [anon_sym_STAR] = ACTIONS(3313),
    [anon_sym_SLASH] = ACTIONS(3313),
    [anon_sym_PERCENT] = ACTIONS(3313),
    [anon_sym_PLUS_PLUS] = ACTIONS(3315),
    [anon_sym_DASH_DASH] = ACTIONS(3315),
    [anon_sym_PIPE] = ACTIONS(3315),
    [anon_sym_CARET] = ACTIONS(3313),
    [anon_sym_LT_LT] = ACTIONS(3315),
    [anon_sym_GT_GT] = ACTIONS(3315),
    [anon_sym_class] = ACTIONS(3315),
    [anon_sym_prefix] = ACTIONS(3315),
    [anon_sym_infix] = ACTIONS(3315),
    [anon_sym_postfix] = ACTIONS(3315),
    [anon_sym_AT] = ACTIONS(3313),
    [anon_sym_override] = ACTIONS(3315),
    [anon_sym_convenience] = ACTIONS(3315),
    [anon_sym_required] = ACTIONS(3315),
    [anon_sym_nonisolated] = ACTIONS(3315),
    [anon_sym_public] = ACTIONS(3315),
    [anon_sym_private] = ACTIONS(3315),
    [anon_sym_internal] = ACTIONS(3315),
    [anon_sym_fileprivate] = ACTIONS(3315),
    [anon_sym_open] = ACTIONS(3315),
    [anon_sym_mutating] = ACTIONS(3315),
    [anon_sym_nonmutating] = ACTIONS(3315),
    [anon_sym_static] = ACTIONS(3315),
    [anon_sym_dynamic] = ACTIONS(3315),
    [anon_sym_optional] = ACTIONS(3315),
    [anon_sym_distributed] = ACTIONS(3315),
    [anon_sym_final] = ACTIONS(3315),
    [anon_sym_inout] = ACTIONS(3315),
    [anon_sym_ATescaping] = ACTIONS(3315),
    [anon_sym_ATautoclosure] = ACTIONS(3315),
    [anon_sym_weak] = ACTIONS(3315),
    [anon_sym_unowned] = ACTIONS(3313),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3315),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3315),
    [anon_sym_borrowing] = ACTIONS(3315),
    [anon_sym_consuming] = ACTIONS(3315),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3315),
    [sym__explicit_semi] = ACTIONS(3315),
    [sym__dot_custom] = ACTIONS(3315),
    [sym__conjunction_operator_custom] = ACTIONS(3315),
    [sym__disjunction_operator_custom] = ACTIONS(3315),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3315),
    [sym__eq_custom] = ACTIONS(3315),
    [sym__eq_eq_custom] = ACTIONS(3315),
    [sym__plus_then_ws] = ACTIONS(3315),
    [sym__minus_then_ws] = ACTIONS(3315),
    [sym__bang_custom] = ACTIONS(3315),
    [sym_default_keyword] = ACTIONS(3315),
    [sym__as_custom] = ACTIONS(3315),
    [sym__as_quest_custom] = ACTIONS(3315),
    [sym__as_bang_custom] = ACTIONS(3315),
    [sym__custom_operator] = ACTIONS(3315),
  },
  [1445] = {
    [anon_sym_BANG] = ACTIONS(3593),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(3595),
    [anon_sym_package] = ACTIONS(3595),
    [anon_sym_COMMA] = ACTIONS(3595),
    [anon_sym_LPAREN] = ACTIONS(3595),
    [anon_sym_LBRACK] = ACTIONS(3595),
    [anon_sym_QMARK] = ACTIONS(3593),
    [anon_sym_QMARK2] = ACTIONS(3595),
    [anon_sym_AMP] = ACTIONS(3595),
    [aux_sym_custom_operator_token1] = ACTIONS(3595),
    [anon_sym_LT] = ACTIONS(3593),
    [anon_sym_GT] = ACTIONS(3593),
    [anon_sym_LBRACE] = ACTIONS(3595),
    [anon_sym_CARET_LBRACE] = ACTIONS(3595),
    [anon_sym_RBRACE] = ACTIONS(3595),
    [anon_sym_case] = ACTIONS(3595),
    [anon_sym_fallthrough] = ACTIONS(3595),
    [anon_sym_PLUS_EQ] = ACTIONS(3595),
    [anon_sym_DASH_EQ] = ACTIONS(3595),
    [anon_sym_STAR_EQ] = ACTIONS(3595),
    [anon_sym_SLASH_EQ] = ACTIONS(3595),
    [anon_sym_PERCENT_EQ] = ACTIONS(3595),
    [anon_sym_BANG_EQ] = ACTIONS(3593),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3595),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3595),
    [anon_sym_LT_EQ] = ACTIONS(3595),
    [anon_sym_GT_EQ] = ACTIONS(3595),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3595),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3595),
    [anon_sym_is] = ACTIONS(3595),
    [anon_sym_PLUS] = ACTIONS(3593),
    [anon_sym_DASH] = ACTIONS(3593),
    [anon_sym_STAR] = ACTIONS(3593),
    [anon_sym_SLASH] = ACTIONS(3593),
    [anon_sym_PERCENT] = ACTIONS(3593),
    [anon_sym_PLUS_PLUS] = ACTIONS(3595),
    [anon_sym_DASH_DASH] = ACTIONS(3595),
    [anon_sym_PIPE] = ACTIONS(3595),
    [anon_sym_CARET] = ACTIONS(3593),
    [anon_sym_LT_LT] = ACTIONS(3595),
    [anon_sym_GT_GT] = ACTIONS(3595),
    [anon_sym_class] = ACTIONS(3595),
    [anon_sym_prefix] = ACTIONS(3595),
    [anon_sym_infix] = ACTIONS(3595),
    [anon_sym_postfix] = ACTIONS(3595),
    [anon_sym_AT] = ACTIONS(3593),
    [anon_sym_override] = ACTIONS(3595),
    [anon_sym_convenience] = ACTIONS(3595),
    [anon_sym_required] = ACTIONS(3595),
    [anon_sym_nonisolated] = ACTIONS(3595),
    [anon_sym_public] = ACTIONS(3595),
    [anon_sym_private] = ACTIONS(3595),
    [anon_sym_internal] = ACTIONS(3595),
    [anon_sym_fileprivate] = ACTIONS(3595),
    [anon_sym_open] = ACTIONS(3595),
    [anon_sym_mutating] = ACTIONS(3595),
    [anon_sym_nonmutating] = ACTIONS(3595),
    [anon_sym_static] = ACTIONS(3595),
    [anon_sym_dynamic] = ACTIONS(3595),
    [anon_sym_optional] = ACTIONS(3595),
    [anon_sym_distributed] = ACTIONS(3595),
    [anon_sym_final] = ACTIONS(3595),
    [anon_sym_inout] = ACTIONS(3595),
    [anon_sym_ATescaping] = ACTIONS(3595),
    [anon_sym_ATautoclosure] = ACTIONS(3595),
    [anon_sym_weak] = ACTIONS(3595),
    [anon_sym_unowned] = ACTIONS(3593),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3595),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3595),
    [anon_sym_borrowing] = ACTIONS(3595),
    [anon_sym_consuming] = ACTIONS(3595),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3595),
    [sym__explicit_semi] = ACTIONS(3595),
    [sym__dot_custom] = ACTIONS(3595),
    [sym__conjunction_operator_custom] = ACTIONS(3595),
    [sym__disjunction_operator_custom] = ACTIONS(3595),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3595),
    [sym__eq_custom] = ACTIONS(3595),
    [sym__eq_eq_custom] = ACTIONS(3595),
    [sym__plus_then_ws] = ACTIONS(3595),
    [sym__minus_then_ws] = ACTIONS(3595),
    [sym__bang_custom] = ACTIONS(3595),
    [sym_default_keyword] = ACTIONS(3595),
    [sym__as_custom] = ACTIONS(3595),
    [sym__as_quest_custom] = ACTIONS(3595),
    [sym__as_bang_custom] = ACTIONS(3595),
    [sym__custom_operator] = ACTIONS(3595),
  },
  [1446] = {
    [sym_simple_identifier] = STATE(2343),
    [sym__contextual_simple_identifier] = STATE(2446),
    [sym__unannotated_type] = STATE(2384),
    [sym_user_type] = STATE(2575),
    [sym__simple_user_type] = STATE(2352),
    [sym_tuple_type] = STATE(2190),
    [sym_function_type] = STATE(2384),
    [sym_array_type] = STATE(2575),
    [sym_dictionary_type] = STATE(2575),
    [sym_optional_type] = STATE(2384),
    [sym_metatype] = STATE(2384),
    [sym_opaque_type] = STATE(2384),
    [sym_existential_type] = STATE(2384),
    [sym_type_parameter_pack] = STATE(2384),
    [sym_type_pack_expansion] = STATE(2384),
    [sym_protocol_composition_type] = STATE(2384),
    [sym_suppressed_constraint] = STATE(2384),
    [sym__parenthesized_type] = STATE(3038),
    [sym__parameter_ownership_modifier] = STATE(2446),
    [sym_comment] = ACTIONS(5),
    [aux_sym_simple_identifier_token1] = ACTIONS(4331),
    [aux_sym_simple_identifier_token2] = ACTIONS(4333),
    [aux_sym_simple_identifier_token3] = ACTIONS(4333),
    [aux_sym_simple_identifier_token4] = ACTIONS(4333),
    [anon_sym_actor] = ACTIONS(4331),
    [anon_sym_async] = ACTIONS(4331),
    [anon_sym_each] = ACTIONS(4335),
    [anon_sym_lazy] = ACTIONS(4337),
    [anon_sym_repeat] = ACTIONS(4340),
    [anon_sym_package] = ACTIONS(4337),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_COLON] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(4342),
    [anon_sym_LBRACK] = ACTIONS(4344),
    [anon_sym_DOT] = ACTIONS(617),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(4346),
    [anon_sym_any] = ACTIONS(4348),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(4350),
    [anon_sym_LT] = ACTIONS(617),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_case] = ACTIONS(623),
    [anon_sym_fallthrough] = ACTIONS(623),
    [anon_sym_class] = ACTIONS(623),
    [anon_sym_prefix] = ACTIONS(623),
    [anon_sym_infix] = ACTIONS(623),
    [anon_sym_postfix] = ACTIONS(623),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(623),
    [anon_sym_convenience] = ACTIONS(623),
    [anon_sym_required] = ACTIONS(623),
    [anon_sym_nonisolated] = ACTIONS(623),
    [anon_sym_public] = ACTIONS(623),
    [anon_sym_private] = ACTIONS(623),
    [anon_sym_internal] = ACTIONS(623),
    [anon_sym_fileprivate] = ACTIONS(623),
    [anon_sym_open] = ACTIONS(623),
    [anon_sym_mutating] = ACTIONS(623),
    [anon_sym_nonmutating] = ACTIONS(623),
    [anon_sym_static] = ACTIONS(623),
    [anon_sym_dynamic] = ACTIONS(623),
    [anon_sym_optional] = ACTIONS(623),
    [anon_sym_distributed] = ACTIONS(623),
    [anon_sym_final] = ACTIONS(623),
    [anon_sym_inout] = ACTIONS(623),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(623),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(4337),
    [anon_sym_consuming] = ACTIONS(4337),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym_default_keyword] = ACTIONS(617),
    [sym_where_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
  },
  [1447] = {
    [sym_simple_identifier] = STATE(2343),
    [sym__contextual_simple_identifier] = STATE(2446),
    [sym__unannotated_type] = STATE(2354),
    [sym_user_type] = STATE(2575),
    [sym__simple_user_type] = STATE(2352),
    [sym_tuple_type] = STATE(2190),
    [sym_function_type] = STATE(2354),
    [sym_array_type] = STATE(2575),
    [sym_dictionary_type] = STATE(2575),
    [sym_optional_type] = STATE(2354),
    [sym_metatype] = STATE(2354),
    [sym_opaque_type] = STATE(2354),
    [sym_existential_type] = STATE(2354),
    [sym_type_parameter_pack] = STATE(2354),
    [sym_type_pack_expansion] = STATE(2354),
    [sym_protocol_composition_type] = STATE(2354),
    [sym_suppressed_constraint] = STATE(2354),
    [sym__parenthesized_type] = STATE(3038),
    [sym__parameter_ownership_modifier] = STATE(2446),
    [sym_comment] = ACTIONS(5),
    [aux_sym_simple_identifier_token1] = ACTIONS(4331),
    [aux_sym_simple_identifier_token2] = ACTIONS(4333),
    [aux_sym_simple_identifier_token3] = ACTIONS(4333),
    [aux_sym_simple_identifier_token4] = ACTIONS(4333),
    [anon_sym_actor] = ACTIONS(4331),
    [anon_sym_async] = ACTIONS(4331),
    [anon_sym_each] = ACTIONS(4335),
    [anon_sym_lazy] = ACTIONS(4337),
    [anon_sym_repeat] = ACTIONS(4340),
    [anon_sym_package] = ACTIONS(4337),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_COLON] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(4342),
    [anon_sym_LBRACK] = ACTIONS(4344),
    [anon_sym_DOT] = ACTIONS(617),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(4346),
    [anon_sym_any] = ACTIONS(4348),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(4350),
    [anon_sym_LT] = ACTIONS(617),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_case] = ACTIONS(623),
    [anon_sym_fallthrough] = ACTIONS(623),
    [anon_sym_class] = ACTIONS(623),
    [anon_sym_prefix] = ACTIONS(623),
    [anon_sym_infix] = ACTIONS(623),
    [anon_sym_postfix] = ACTIONS(623),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(623),
    [anon_sym_convenience] = ACTIONS(623),
    [anon_sym_required] = ACTIONS(623),
    [anon_sym_nonisolated] = ACTIONS(623),
    [anon_sym_public] = ACTIONS(623),
    [anon_sym_private] = ACTIONS(623),
    [anon_sym_internal] = ACTIONS(623),
    [anon_sym_fileprivate] = ACTIONS(623),
    [anon_sym_open] = ACTIONS(623),
    [anon_sym_mutating] = ACTIONS(623),
    [anon_sym_nonmutating] = ACTIONS(623),
    [anon_sym_static] = ACTIONS(623),
    [anon_sym_dynamic] = ACTIONS(623),
    [anon_sym_optional] = ACTIONS(623),
    [anon_sym_distributed] = ACTIONS(623),
    [anon_sym_final] = ACTIONS(623),
    [anon_sym_inout] = ACTIONS(623),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(623),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(4337),
    [anon_sym_consuming] = ACTIONS(4337),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym_default_keyword] = ACTIONS(617),
    [sym_where_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
  },
  [1448] = {
    [anon_sym_BANG] = ACTIONS(3303),
    [sym_comment] = ACTIONS(3),
    [anon_sym_lazy] = ACTIONS(4352),
    [anon_sym_package] = ACTIONS(4352),
    [anon_sym_LPAREN] = ACTIONS(3305),
    [anon_sym_LBRACK] = ACTIONS(3305),
    [anon_sym_QMARK] = ACTIONS(3303),
    [anon_sym_QMARK2] = ACTIONS(3305),
    [anon_sym_AMP] = ACTIONS(3305),
    [aux_sym_custom_operator_token1] = ACTIONS(3305),
    [anon_sym_LT] = ACTIONS(3303),
    [anon_sym_GT] = ACTIONS(3303),
    [anon_sym_LBRACE] = ACTIONS(3305),
    [anon_sym_CARET_LBRACE] = ACTIONS(3305),
    [anon_sym_RBRACE] = ACTIONS(4352),
    [anon_sym_case] = ACTIONS(4352),
    [anon_sym_fallthrough] = ACTIONS(4352),
    [anon_sym_PLUS_EQ] = ACTIONS(3305),
    [anon_sym_DASH_EQ] = ACTIONS(3305),
    [anon_sym_STAR_EQ] = ACTIONS(3305),
    [anon_sym_SLASH_EQ] = ACTIONS(3305),
    [anon_sym_PERCENT_EQ] = ACTIONS(3305),
    [anon_sym_BANG_EQ] = ACTIONS(3303),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3305),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3305),
    [anon_sym_LT_EQ] = ACTIONS(3305),
    [anon_sym_GT_EQ] = ACTIONS(3305),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3305),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3305),
    [anon_sym_is] = ACTIONS(3305),
    [anon_sym_PLUS] = ACTIONS(3303),
    [anon_sym_DASH] = ACTIONS(3303),
    [anon_sym_STAR] = ACTIONS(3303),
    [anon_sym_SLASH] = ACTIONS(3303),
    [anon_sym_PERCENT] = ACTIONS(3303),
    [anon_sym_PLUS_PLUS] = ACTIONS(3305),
    [anon_sym_DASH_DASH] = ACTIONS(3305),
    [anon_sym_PIPE] = ACTIONS(3305),
    [anon_sym_CARET] = ACTIONS(3303),
    [anon_sym_LT_LT] = ACTIONS(3305),
    [anon_sym_GT_GT] = ACTIONS(3305),
    [anon_sym_class] = ACTIONS(4352),
    [anon_sym_prefix] = ACTIONS(4352),
    [anon_sym_infix] = ACTIONS(4352),
    [anon_sym_postfix] = ACTIONS(4352),
    [anon_sym_AT] = ACTIONS(4354),
    [anon_sym_override] = ACTIONS(4352),
    [anon_sym_convenience] = ACTIONS(4352),
    [anon_sym_required] = ACTIONS(4352),
    [anon_sym_nonisolated] = ACTIONS(4352),
    [anon_sym_public] = ACTIONS(4352),
    [anon_sym_private] = ACTIONS(4352),
    [anon_sym_internal] = ACTIONS(4352),
    [anon_sym_fileprivate] = ACTIONS(4352),
    [anon_sym_open] = ACTIONS(4352),
    [anon_sym_mutating] = ACTIONS(4352),
    [anon_sym_nonmutating] = ACTIONS(4352),
    [anon_sym_static] = ACTIONS(4352),
    [anon_sym_dynamic] = ACTIONS(4352),
    [anon_sym_optional] = ACTIONS(4352),
    [anon_sym_distributed] = ACTIONS(4352),
    [anon_sym_final] = ACTIONS(4352),
    [anon_sym_inout] = ACTIONS(4352),
    [anon_sym_ATescaping] = ACTIONS(4352),
    [anon_sym_ATautoclosure] = ACTIONS(4352),
    [anon_sym_weak] = ACTIONS(4352),
    [anon_sym_unowned] = ACTIONS(4354),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(4352),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(4352),
    [anon_sym_borrowing] = ACTIONS(4352),
    [anon_sym_consuming] = ACTIONS(4352),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(4352),
    [sym__explicit_semi] = ACTIONS(4352),
    [sym__dot_custom] = ACTIONS(3305),
    [sym__conjunction_operator_custom] = ACTIONS(3305),
    [sym__disjunction_operator_custom] = ACTIONS(3305),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3305),
    [sym__eq_custom] = ACTIONS(3305),
    [sym__eq_eq_custom] = ACTIONS(3305),
    [sym__plus_then_ws] = ACTIONS(3305),
    [sym__minus_then_ws] = ACTIONS(3305),
    [sym__bang_custom] = ACTIONS(3305),
    [sym_default_keyword] = ACTIONS(4352),
    [sym__as_custom] = ACTIONS(3305),
    [sym__as_quest_custom] = ACTIONS(3305),
    [sym__as_bang_custom] = ACTIONS(3305),
    [sym__custom_operator] = ACTIONS(3305),
  },
  [1449] = {
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(623),
    [aux_sym_simple_identifier_token2] = ACTIONS(617),
    [aux_sym_simple_identifier_token3] = ACTIONS(617),
    [aux_sym_simple_identifier_token4] = ACTIONS(617),
    [anon_sym_actor] = ACTIONS(3206),
    [anon_sym_async] = ACTIONS(3206),
    [anon_sym_each] = ACTIONS(623),
    [anon_sym_lazy] = ACTIONS(3206),
    [anon_sym_repeat] = ACTIONS(623),
    [anon_sym_package] = ACTIONS(623),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_COLON] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(617),
    [anon_sym_LBRACK] = ACTIONS(617),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(617),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_in] = ACTIONS(623),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_typealias] = ACTIONS(3209),
    [anon_sym_struct] = ACTIONS(3209),
    [anon_sym_class] = ACTIONS(3209),
    [anon_sym_enum] = ACTIONS(3209),
    [anon_sym_let] = ACTIONS(3209),
    [anon_sym_var] = ACTIONS(3209),
    [anon_sym_func] = ACTIONS(3209),
    [anon_sym_extension] = ACTIONS(3209),
    [anon_sym_indirect] = ACTIONS(3209),
    [anon_sym_AT] = ACTIONS(3211),
    [anon_sym_final] = ACTIONS(3209),
    [anon_sym_weak] = ACTIONS(3209),
    [anon_sym_unowned] = ACTIONS(3209),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3211),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3211),
    [anon_sym_borrowing] = ACTIONS(623),
    [anon_sym_consuming] = ACTIONS(623),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [1450] = {
    [sym_simple_identifier] = STATE(2680),
    [sym__contextual_simple_identifier] = STATE(3009),
    [sym__unannotated_type] = STATE(2741),
    [sym_user_type] = STATE(2983),
    [sym__simple_user_type] = STATE(2655),
    [sym_tuple_type] = STATE(2370),
    [sym_function_type] = STATE(2741),
    [sym_array_type] = STATE(2983),
    [sym_dictionary_type] = STATE(2983),
    [sym_optional_type] = STATE(2741),
    [sym_metatype] = STATE(2741),
    [sym_opaque_type] = STATE(2741),
    [sym_existential_type] = STATE(2741),
    [sym_type_parameter_pack] = STATE(2741),
    [sym_type_pack_expansion] = STATE(2741),
    [sym_protocol_composition_type] = STATE(2741),
    [sym_suppressed_constraint] = STATE(2741),
    [sym__parenthesized_type] = STATE(3688),
    [sym__parameter_ownership_modifier] = STATE(3009),
    [sym_comment] = ACTIONS(5),
    [aux_sym_simple_identifier_token1] = ACTIONS(4356),
    [aux_sym_simple_identifier_token2] = ACTIONS(4358),
    [aux_sym_simple_identifier_token3] = ACTIONS(4358),
    [aux_sym_simple_identifier_token4] = ACTIONS(4358),
    [anon_sym_actor] = ACTIONS(4356),
    [anon_sym_async] = ACTIONS(4356),
    [anon_sym_each] = ACTIONS(4360),
    [anon_sym_lazy] = ACTIONS(4362),
    [anon_sym_repeat] = ACTIONS(4365),
    [anon_sym_package] = ACTIONS(4362),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_BANG2] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(4367),
    [anon_sym_LBRACK] = ACTIONS(4369),
    [anon_sym_DOT] = ACTIONS(617),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(4371),
    [anon_sym_any] = ACTIONS(4373),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(4375),
    [anon_sym_LT] = ACTIONS(617),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_case] = ACTIONS(623),
    [anon_sym_fallthrough] = ACTIONS(623),
    [anon_sym_class] = ACTIONS(623),
    [anon_sym_prefix] = ACTIONS(623),
    [anon_sym_infix] = ACTIONS(623),
    [anon_sym_postfix] = ACTIONS(623),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(623),
    [anon_sym_convenience] = ACTIONS(623),
    [anon_sym_required] = ACTIONS(623),
    [anon_sym_nonisolated] = ACTIONS(623),
    [anon_sym_public] = ACTIONS(623),
    [anon_sym_private] = ACTIONS(623),
    [anon_sym_internal] = ACTIONS(623),
    [anon_sym_fileprivate] = ACTIONS(623),
    [anon_sym_open] = ACTIONS(623),
    [anon_sym_mutating] = ACTIONS(623),
    [anon_sym_nonmutating] = ACTIONS(623),
    [anon_sym_static] = ACTIONS(623),
    [anon_sym_dynamic] = ACTIONS(623),
    [anon_sym_optional] = ACTIONS(623),
    [anon_sym_distributed] = ACTIONS(623),
    [anon_sym_final] = ACTIONS(623),
    [anon_sym_inout] = ACTIONS(623),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(623),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(4362),
    [anon_sym_consuming] = ACTIONS(4362),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym_default_keyword] = ACTIONS(617),
    [sym_where_keyword] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
  },
  [1451] = {
    [sym_simple_identifier] = STATE(2680),
    [sym__contextual_simple_identifier] = STATE(3009),
    [sym__unannotated_type] = STATE(2806),
    [sym_user_type] = STATE(2983),
    [sym__simple_user_type] = STATE(2655),
    [sym_tuple_type] = STATE(2370),
    [sym_function_type] = STATE(2806),
    [sym_array_type] = STATE(2983),
    [sym_dictionary_type] = STATE(2983),
    [sym_optional_type] = STATE(2806),
    [sym_metatype] = STATE(2806),
    [sym_opaque_type] = STATE(2806),
    [sym_existential_type] = STATE(2806),
    [sym_type_parameter_pack] = STATE(2806),
    [sym_type_pack_expansion] = STATE(2806),
    [sym_protocol_composition_type] = STATE(2806),
    [sym_suppressed_constraint] = STATE(2806),
    [sym__parenthesized_type] = STATE(3688),
    [sym__parameter_ownership_modifier] = STATE(3009),
    [sym_comment] = ACTIONS(5),
    [aux_sym_simple_identifier_token1] = ACTIONS(4356),
    [aux_sym_simple_identifier_token2] = ACTIONS(4358),
    [aux_sym_simple_identifier_token3] = ACTIONS(4358),
    [aux_sym_simple_identifier_token4] = ACTIONS(4358),
    [anon_sym_actor] = ACTIONS(4356),
    [anon_sym_async] = ACTIONS(4356),
    [anon_sym_each] = ACTIONS(4360),
    [anon_sym_lazy] = ACTIONS(4362),
    [anon_sym_repeat] = ACTIONS(4365),
    [anon_sym_package] = ACTIONS(4362),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_BANG2] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(4367),
    [anon_sym_LBRACK] = ACTIONS(4369),
    [anon_sym_DOT] = ACTIONS(617),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(4371),
    [anon_sym_any] = ACTIONS(4373),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(4375),
    [anon_sym_LT] = ACTIONS(617),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_case] = ACTIONS(623),
    [anon_sym_fallthrough] = ACTIONS(623),
    [anon_sym_class] = ACTIONS(623),
    [anon_sym_prefix] = ACTIONS(623),
    [anon_sym_infix] = ACTIONS(623),
    [anon_sym_postfix] = ACTIONS(623),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(623),
    [anon_sym_convenience] = ACTIONS(623),
    [anon_sym_required] = ACTIONS(623),
    [anon_sym_nonisolated] = ACTIONS(623),
    [anon_sym_public] = ACTIONS(623),
    [anon_sym_private] = ACTIONS(623),
    [anon_sym_internal] = ACTIONS(623),
    [anon_sym_fileprivate] = ACTIONS(623),
    [anon_sym_open] = ACTIONS(623),
    [anon_sym_mutating] = ACTIONS(623),
    [anon_sym_nonmutating] = ACTIONS(623),
    [anon_sym_static] = ACTIONS(623),
    [anon_sym_dynamic] = ACTIONS(623),
    [anon_sym_optional] = ACTIONS(623),
    [anon_sym_distributed] = ACTIONS(623),
    [anon_sym_final] = ACTIONS(623),
    [anon_sym_inout] = ACTIONS(623),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(623),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(4362),
    [anon_sym_consuming] = ACTIONS(4362),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym_default_keyword] = ACTIONS(617),
    [sym_where_keyword] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
  },
  [1452] = {
    [sym__quest] = STATE(578),
    [sym__immediate_quest] = STATE(2546),
    [sym__range_operator] = STATE(511),
    [sym_custom_operator] = STATE(510),
    [sym_navigation_suffix] = STATE(2549),
    [sym_call_suffix] = STATE(2550),
    [sym__fn_call_lambda_arguments] = STATE(2551),
    [sym_value_arguments] = STATE(2257),
    [sym_expr_hack_at_ternary_binary_call_suffix] = STATE(2610),
    [sym_lambda_literal] = STATE(1702),
    [sym__equality_operator] = STATE(508),
    [sym__comparison_operator] = STATE(507),
    [sym__three_dot_operator] = STATE(1120),
    [sym__open_ended_range_operator] = STATE(511),
    [sym__is_operator] = STATE(4321),
    [sym__additive_operator] = STATE(615),
    [sym__multiplicative_operator] = STATE(608),
    [sym_as_operator] = STATE(4320),
    [sym__bitwise_binary_operator] = STATE(504),
    [sym__postfix_unary_operator] = STATE(2553),
    [sym__eq_eq] = STATE(508),
    [sym__dot] = STATE(5339),
    [sym__conjunction_operator] = STATE(503),
    [sym__disjunction_operator] = STATE(501),
    [sym__nil_coalescing_operator] = STATE(500),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2553),
    [ts_builtin_sym_end] = ACTIONS(2703),
    [anon_sym_BANG] = ACTIONS(4377),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2703),
    [anon_sym_LPAREN] = ACTIONS(4379),
    [anon_sym_LBRACK] = ACTIONS(4381),
    [anon_sym_QMARK] = ACTIONS(2709),
    [anon_sym_QMARK2] = ACTIONS(4383),
    [anon_sym_AMP] = ACTIONS(4385),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4387),
    [anon_sym_GT] = ACTIONS(4387),
    [anon_sym_LBRACE] = ACTIONS(2703),
    [anon_sym_CARET_LBRACE] = ACTIONS(2703),
    [anon_sym_RBRACE] = ACTIONS(2703),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4389),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4391),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4391),
    [anon_sym_LT_EQ] = ACTIONS(4393),
    [anon_sym_GT_EQ] = ACTIONS(4393),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1013),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4395),
    [anon_sym_is] = ACTIONS(4397),
    [anon_sym_PLUS] = ACTIONS(4399),
    [anon_sym_DASH] = ACTIONS(4399),
    [anon_sym_STAR] = ACTIONS(4401),
    [anon_sym_SLASH] = ACTIONS(4401),
    [anon_sym_PERCENT] = ACTIONS(4401),
    [anon_sym_PLUS_PLUS] = ACTIONS(4403),
    [anon_sym_DASH_DASH] = ACTIONS(4403),
    [anon_sym_PIPE] = ACTIONS(4385),
    [anon_sym_CARET] = ACTIONS(4405),
    [anon_sym_LT_LT] = ACTIONS(4385),
    [anon_sym_GT_GT] = ACTIONS(4385),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2703),
    [sym__explicit_semi] = ACTIONS(2703),
    [sym__dot_custom] = ACTIONS(4407),
    [sym__conjunction_operator_custom] = ACTIONS(4409),
    [sym__disjunction_operator_custom] = ACTIONS(4411),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4413),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4391),
    [sym__plus_then_ws] = ACTIONS(4415),
    [sym__minus_then_ws] = ACTIONS(4415),
    [sym__bang_custom] = ACTIONS(4417),
    [sym_where_keyword] = ACTIONS(2703),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1453] = {
    [sym_simple_identifier] = STATE(3020),
    [sym__contextual_simple_identifier] = STATE(3179),
    [sym__unannotated_type] = STATE(2867),
    [sym_user_type] = STATE(3569),
    [sym__simple_user_type] = STATE(3031),
    [sym_tuple_type] = STATE(2516),
    [sym_function_type] = STATE(2867),
    [sym_array_type] = STATE(3569),
    [sym_dictionary_type] = STATE(3569),
    [sym_optional_type] = STATE(2867),
    [sym_metatype] = STATE(2867),
    [sym_opaque_type] = STATE(2867),
    [sym_existential_type] = STATE(2867),
    [sym_type_parameter_pack] = STATE(2867),
    [sym_type_pack_expansion] = STATE(2867),
    [sym_protocol_composition_type] = STATE(2867),
    [sym_suppressed_constraint] = STATE(2867),
    [sym__parenthesized_type] = STATE(3719),
    [sym__parameter_ownership_modifier] = STATE(3179),
    [sym_comment] = ACTIONS(5),
    [aux_sym_simple_identifier_token1] = ACTIONS(4419),
    [aux_sym_simple_identifier_token2] = ACTIONS(4421),
    [aux_sym_simple_identifier_token3] = ACTIONS(4421),
    [aux_sym_simple_identifier_token4] = ACTIONS(4421),
    [anon_sym_actor] = ACTIONS(4419),
    [anon_sym_async] = ACTIONS(4419),
    [anon_sym_each] = ACTIONS(4423),
    [anon_sym_lazy] = ACTIONS(4425),
    [anon_sym_repeat] = ACTIONS(4428),
    [anon_sym_package] = ACTIONS(4425),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_BANG2] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(4430),
    [anon_sym_LBRACK] = ACTIONS(4432),
    [anon_sym_DOT] = ACTIONS(617),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(4434),
    [anon_sym_any] = ACTIONS(4436),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(4438),
    [anon_sym_LT] = ACTIONS(617),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_case] = ACTIONS(623),
    [anon_sym_fallthrough] = ACTIONS(623),
    [anon_sym_class] = ACTIONS(623),
    [anon_sym_prefix] = ACTIONS(623),
    [anon_sym_infix] = ACTIONS(623),
    [anon_sym_postfix] = ACTIONS(623),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(623),
    [anon_sym_convenience] = ACTIONS(623),
    [anon_sym_required] = ACTIONS(623),
    [anon_sym_nonisolated] = ACTIONS(623),
    [anon_sym_public] = ACTIONS(623),
    [anon_sym_private] = ACTIONS(623),
    [anon_sym_internal] = ACTIONS(623),
    [anon_sym_fileprivate] = ACTIONS(623),
    [anon_sym_open] = ACTIONS(623),
    [anon_sym_mutating] = ACTIONS(623),
    [anon_sym_nonmutating] = ACTIONS(623),
    [anon_sym_static] = ACTIONS(623),
    [anon_sym_dynamic] = ACTIONS(623),
    [anon_sym_optional] = ACTIONS(623),
    [anon_sym_distributed] = ACTIONS(623),
    [anon_sym_final] = ACTIONS(623),
    [anon_sym_inout] = ACTIONS(623),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(623),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(4425),
    [anon_sym_consuming] = ACTIONS(4425),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym_default_keyword] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
  },
  [1454] = {
    [sym_simple_identifier] = STATE(3020),
    [sym__contextual_simple_identifier] = STATE(3179),
    [sym__unannotated_type] = STATE(2902),
    [sym_user_type] = STATE(3569),
    [sym__simple_user_type] = STATE(3031),
    [sym_tuple_type] = STATE(2516),
    [sym_function_type] = STATE(2902),
    [sym_array_type] = STATE(3569),
    [sym_dictionary_type] = STATE(3569),
    [sym_optional_type] = STATE(2902),
    [sym_metatype] = STATE(2902),
    [sym_opaque_type] = STATE(2902),
    [sym_existential_type] = STATE(2902),
    [sym_type_parameter_pack] = STATE(2902),
    [sym_type_pack_expansion] = STATE(2902),
    [sym_protocol_composition_type] = STATE(2902),
    [sym_suppressed_constraint] = STATE(2902),
    [sym__parenthesized_type] = STATE(3719),
    [sym__parameter_ownership_modifier] = STATE(3179),
    [sym_comment] = ACTIONS(5),
    [aux_sym_simple_identifier_token1] = ACTIONS(4419),
    [aux_sym_simple_identifier_token2] = ACTIONS(4421),
    [aux_sym_simple_identifier_token3] = ACTIONS(4421),
    [aux_sym_simple_identifier_token4] = ACTIONS(4421),
    [anon_sym_actor] = ACTIONS(4419),
    [anon_sym_async] = ACTIONS(4419),
    [anon_sym_each] = ACTIONS(4423),
    [anon_sym_lazy] = ACTIONS(4425),
    [anon_sym_repeat] = ACTIONS(4428),
    [anon_sym_package] = ACTIONS(4425),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_BANG2] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(4430),
    [anon_sym_LBRACK] = ACTIONS(4432),
    [anon_sym_DOT] = ACTIONS(617),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(4434),
    [anon_sym_any] = ACTIONS(4436),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(4438),
    [anon_sym_LT] = ACTIONS(617),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_case] = ACTIONS(623),
    [anon_sym_fallthrough] = ACTIONS(623),
    [anon_sym_class] = ACTIONS(623),
    [anon_sym_prefix] = ACTIONS(623),
    [anon_sym_infix] = ACTIONS(623),
    [anon_sym_postfix] = ACTIONS(623),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(623),
    [anon_sym_convenience] = ACTIONS(623),
    [anon_sym_required] = ACTIONS(623),
    [anon_sym_nonisolated] = ACTIONS(623),
    [anon_sym_public] = ACTIONS(623),
    [anon_sym_private] = ACTIONS(623),
    [anon_sym_internal] = ACTIONS(623),
    [anon_sym_fileprivate] = ACTIONS(623),
    [anon_sym_open] = ACTIONS(623),
    [anon_sym_mutating] = ACTIONS(623),
    [anon_sym_nonmutating] = ACTIONS(623),
    [anon_sym_static] = ACTIONS(623),
    [anon_sym_dynamic] = ACTIONS(623),
    [anon_sym_optional] = ACTIONS(623),
    [anon_sym_distributed] = ACTIONS(623),
    [anon_sym_final] = ACTIONS(623),
    [anon_sym_inout] = ACTIONS(623),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(623),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(4425),
    [anon_sym_consuming] = ACTIONS(4425),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym_default_keyword] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
  },
  [1455] = {
    [sym__quest] = STATE(578),
    [sym__immediate_quest] = STATE(2546),
    [sym__range_operator] = STATE(511),
    [sym_custom_operator] = STATE(510),
    [sym_navigation_suffix] = STATE(2549),
    [sym_call_suffix] = STATE(2550),
    [sym__fn_call_lambda_arguments] = STATE(2551),
    [sym_value_arguments] = STATE(2306),
    [sym_lambda_literal] = STATE(1702),
    [sym_where_clause] = STATE(6822),
    [sym__equality_operator] = STATE(508),
    [sym__comparison_operator] = STATE(507),
    [sym__three_dot_operator] = STATE(1120),
    [sym__open_ended_range_operator] = STATE(511),
    [sym__is_operator] = STATE(4321),
    [sym__additive_operator] = STATE(615),
    [sym__multiplicative_operator] = STATE(608),
    [sym_as_operator] = STATE(4320),
    [sym__bitwise_binary_operator] = STATE(504),
    [sym__postfix_unary_operator] = STATE(2553),
    [sym__eq_eq] = STATE(508),
    [sym__dot] = STATE(5339),
    [sym__conjunction_operator] = STATE(503),
    [sym__disjunction_operator] = STATE(501),
    [sym__nil_coalescing_operator] = STATE(500),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2553),
    [ts_builtin_sym_end] = ACTIONS(2895),
    [anon_sym_BANG] = ACTIONS(4377),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2895),
    [anon_sym_LPAREN] = ACTIONS(4379),
    [anon_sym_LBRACK] = ACTIONS(4381),
    [anon_sym_QMARK] = ACTIONS(4440),
    [anon_sym_QMARK2] = ACTIONS(4383),
    [anon_sym_AMP] = ACTIONS(4385),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4387),
    [anon_sym_GT] = ACTIONS(4387),
    [anon_sym_LBRACE] = ACTIONS(4442),
    [anon_sym_CARET_LBRACE] = ACTIONS(4442),
    [anon_sym_RBRACE] = ACTIONS(2895),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4389),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4391),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4391),
    [anon_sym_LT_EQ] = ACTIONS(4393),
    [anon_sym_GT_EQ] = ACTIONS(4393),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1013),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4395),
    [anon_sym_is] = ACTIONS(4397),
    [anon_sym_PLUS] = ACTIONS(4399),
    [anon_sym_DASH] = ACTIONS(4399),
    [anon_sym_STAR] = ACTIONS(4401),
    [anon_sym_SLASH] = ACTIONS(4401),
    [anon_sym_PERCENT] = ACTIONS(4401),
    [anon_sym_PLUS_PLUS] = ACTIONS(4403),
    [anon_sym_DASH_DASH] = ACTIONS(4403),
    [anon_sym_PIPE] = ACTIONS(4385),
    [anon_sym_CARET] = ACTIONS(4405),
    [anon_sym_LT_LT] = ACTIONS(4385),
    [anon_sym_GT_GT] = ACTIONS(4385),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2895),
    [sym__explicit_semi] = ACTIONS(2895),
    [sym__dot_custom] = ACTIONS(4407),
    [sym__conjunction_operator_custom] = ACTIONS(4409),
    [sym__disjunction_operator_custom] = ACTIONS(4411),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4413),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4391),
    [sym__plus_then_ws] = ACTIONS(4415),
    [sym__minus_then_ws] = ACTIONS(4415),
    [sym__bang_custom] = ACTIONS(4417),
    [sym_where_keyword] = ACTIONS(4444),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1456] = {
    [sym__quest] = STATE(583),
    [sym__immediate_quest] = STATE(2767),
    [sym__range_operator] = STATE(509),
    [sym_custom_operator] = STATE(496),
    [sym_navigation_suffix] = STATE(2768),
    [sym_call_suffix] = STATE(2773),
    [sym__fn_call_lambda_arguments] = STATE(2781),
    [sym_value_arguments] = STATE(2399),
    [sym_lambda_literal] = STATE(1706),
    [sym__equality_operator] = STATE(487),
    [sym__comparison_operator] = STATE(486),
    [sym__three_dot_operator] = STATE(1142),
    [sym__open_ended_range_operator] = STATE(509),
    [sym__is_operator] = STATE(4337),
    [sym__additive_operator] = STATE(594),
    [sym__multiplicative_operator] = STATE(598),
    [sym_as_operator] = STATE(4332),
    [sym__bitwise_binary_operator] = STATE(477),
    [sym__postfix_unary_operator] = STATE(2792),
    [sym_willset_didset_block] = STATE(6873),
    [sym__eq_eq] = STATE(487),
    [sym__dot] = STATE(5343),
    [sym__conjunction_operator] = STATE(475),
    [sym__disjunction_operator] = STATE(470),
    [sym__nil_coalescing_operator] = STATE(468),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2792),
    [ts_builtin_sym_end] = ACTIONS(2769),
    [anon_sym_BANG] = ACTIONS(4446),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2769),
    [anon_sym_LPAREN] = ACTIONS(4448),
    [anon_sym_LBRACK] = ACTIONS(4450),
    [anon_sym_QMARK] = ACTIONS(4452),
    [anon_sym_QMARK2] = ACTIONS(4454),
    [anon_sym_AMP] = ACTIONS(4456),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4458),
    [anon_sym_GT] = ACTIONS(4458),
    [anon_sym_LBRACE] = ACTIONS(4460),
    [anon_sym_CARET_LBRACE] = ACTIONS(4462),
    [anon_sym_RBRACE] = ACTIONS(2769),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4464),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4466),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4466),
    [anon_sym_LT_EQ] = ACTIONS(4468),
    [anon_sym_GT_EQ] = ACTIONS(4468),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4470),
    [anon_sym_is] = ACTIONS(4472),
    [anon_sym_PLUS] = ACTIONS(4474),
    [anon_sym_DASH] = ACTIONS(4474),
    [anon_sym_STAR] = ACTIONS(4476),
    [anon_sym_SLASH] = ACTIONS(4476),
    [anon_sym_PERCENT] = ACTIONS(4476),
    [anon_sym_PLUS_PLUS] = ACTIONS(4478),
    [anon_sym_DASH_DASH] = ACTIONS(4478),
    [anon_sym_PIPE] = ACTIONS(4456),
    [anon_sym_CARET] = ACTIONS(4480),
    [anon_sym_LT_LT] = ACTIONS(4456),
    [anon_sym_GT_GT] = ACTIONS(4456),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2769),
    [sym__explicit_semi] = ACTIONS(2769),
    [sym__dot_custom] = ACTIONS(4482),
    [sym__conjunction_operator_custom] = ACTIONS(4484),
    [sym__disjunction_operator_custom] = ACTIONS(4486),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4488),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4466),
    [sym__plus_then_ws] = ACTIONS(4490),
    [sym__minus_then_ws] = ACTIONS(4490),
    [sym__bang_custom] = ACTIONS(4492),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1457] = {
    [sym__quest] = STATE(583),
    [sym__immediate_quest] = STATE(2767),
    [sym__range_operator] = STATE(509),
    [sym_custom_operator] = STATE(496),
    [sym_navigation_suffix] = STATE(2768),
    [sym_call_suffix] = STATE(2773),
    [sym__fn_call_lambda_arguments] = STATE(2781),
    [sym_value_arguments] = STATE(2411),
    [sym_expr_hack_at_ternary_binary_call_suffix] = STATE(2832),
    [sym_lambda_literal] = STATE(1706),
    [sym__equality_operator] = STATE(487),
    [sym__comparison_operator] = STATE(486),
    [sym__three_dot_operator] = STATE(1142),
    [sym__open_ended_range_operator] = STATE(509),
    [sym__is_operator] = STATE(4337),
    [sym__additive_operator] = STATE(594),
    [sym__multiplicative_operator] = STATE(598),
    [sym_as_operator] = STATE(4332),
    [sym__bitwise_binary_operator] = STATE(477),
    [sym__postfix_unary_operator] = STATE(2792),
    [sym__eq_eq] = STATE(487),
    [sym__dot] = STATE(5343),
    [sym__conjunction_operator] = STATE(475),
    [sym__disjunction_operator] = STATE(470),
    [sym__nil_coalescing_operator] = STATE(468),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2792),
    [ts_builtin_sym_end] = ACTIONS(2703),
    [anon_sym_BANG] = ACTIONS(4446),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2703),
    [anon_sym_LPAREN] = ACTIONS(4448),
    [anon_sym_LBRACK] = ACTIONS(4450),
    [anon_sym_QMARK] = ACTIONS(2709),
    [anon_sym_QMARK2] = ACTIONS(4454),
    [anon_sym_AMP] = ACTIONS(4456),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4458),
    [anon_sym_GT] = ACTIONS(4458),
    [anon_sym_LBRACE] = ACTIONS(2703),
    [anon_sym_CARET_LBRACE] = ACTIONS(2703),
    [anon_sym_RBRACE] = ACTIONS(2703),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4464),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4466),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4466),
    [anon_sym_LT_EQ] = ACTIONS(4468),
    [anon_sym_GT_EQ] = ACTIONS(4468),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4470),
    [anon_sym_is] = ACTIONS(4472),
    [anon_sym_PLUS] = ACTIONS(4474),
    [anon_sym_DASH] = ACTIONS(4474),
    [anon_sym_STAR] = ACTIONS(4476),
    [anon_sym_SLASH] = ACTIONS(4476),
    [anon_sym_PERCENT] = ACTIONS(4476),
    [anon_sym_PLUS_PLUS] = ACTIONS(4478),
    [anon_sym_DASH_DASH] = ACTIONS(4478),
    [anon_sym_PIPE] = ACTIONS(4456),
    [anon_sym_CARET] = ACTIONS(4480),
    [anon_sym_LT_LT] = ACTIONS(4456),
    [anon_sym_GT_GT] = ACTIONS(4456),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2703),
    [sym__explicit_semi] = ACTIONS(2703),
    [sym__dot_custom] = ACTIONS(4482),
    [sym__conjunction_operator_custom] = ACTIONS(4484),
    [sym__disjunction_operator_custom] = ACTIONS(4486),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4488),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4466),
    [sym__plus_then_ws] = ACTIONS(4490),
    [sym__minus_then_ws] = ACTIONS(4490),
    [sym__bang_custom] = ACTIONS(4492),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1458] = {
    [sym__quest] = STATE(578),
    [sym__immediate_quest] = STATE(2546),
    [sym__range_operator] = STATE(511),
    [sym_custom_operator] = STATE(510),
    [sym_navigation_suffix] = STATE(2549),
    [sym_call_suffix] = STATE(2550),
    [sym__fn_call_lambda_arguments] = STATE(2551),
    [sym_value_arguments] = STATE(2306),
    [sym_lambda_literal] = STATE(1702),
    [sym__equality_operator] = STATE(508),
    [sym__comparison_operator] = STATE(507),
    [sym__three_dot_operator] = STATE(1120),
    [sym__open_ended_range_operator] = STATE(511),
    [sym__is_operator] = STATE(4321),
    [sym__additive_operator] = STATE(615),
    [sym__multiplicative_operator] = STATE(608),
    [sym_as_operator] = STATE(4320),
    [sym__bitwise_binary_operator] = STATE(504),
    [sym__postfix_unary_operator] = STATE(2553),
    [sym__eq_eq] = STATE(508),
    [sym__dot] = STATE(5339),
    [sym__conjunction_operator] = STATE(503),
    [sym__disjunction_operator] = STATE(501),
    [sym__nil_coalescing_operator] = STATE(500),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2553),
    [ts_builtin_sym_end] = ACTIONS(2787),
    [anon_sym_BANG] = ACTIONS(4377),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2787),
    [anon_sym_LPAREN] = ACTIONS(4379),
    [anon_sym_LBRACK] = ACTIONS(4381),
    [anon_sym_QMARK] = ACTIONS(4440),
    [anon_sym_QMARK2] = ACTIONS(4383),
    [anon_sym_AMP] = ACTIONS(4385),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4387),
    [anon_sym_GT] = ACTIONS(4387),
    [anon_sym_LBRACE] = ACTIONS(4442),
    [anon_sym_CARET_LBRACE] = ACTIONS(4442),
    [anon_sym_RBRACE] = ACTIONS(2787),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4389),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4391),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4391),
    [anon_sym_LT_EQ] = ACTIONS(4393),
    [anon_sym_GT_EQ] = ACTIONS(4393),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1013),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4395),
    [anon_sym_is] = ACTIONS(4397),
    [anon_sym_PLUS] = ACTIONS(4399),
    [anon_sym_DASH] = ACTIONS(4399),
    [anon_sym_STAR] = ACTIONS(4401),
    [anon_sym_SLASH] = ACTIONS(4401),
    [anon_sym_PERCENT] = ACTIONS(4401),
    [anon_sym_PLUS_PLUS] = ACTIONS(4403),
    [anon_sym_DASH_DASH] = ACTIONS(4403),
    [anon_sym_PIPE] = ACTIONS(4385),
    [anon_sym_CARET] = ACTIONS(4405),
    [anon_sym_LT_LT] = ACTIONS(4385),
    [anon_sym_GT_GT] = ACTIONS(4385),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2787),
    [sym__explicit_semi] = ACTIONS(2787),
    [sym__dot_custom] = ACTIONS(4407),
    [sym__conjunction_operator_custom] = ACTIONS(4409),
    [sym__disjunction_operator_custom] = ACTIONS(4411),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4413),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4391),
    [sym__plus_then_ws] = ACTIONS(4415),
    [sym__minus_then_ws] = ACTIONS(4415),
    [sym__bang_custom] = ACTIONS(4417),
    [sym_where_keyword] = ACTIONS(2787),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1459] = {
    [sym__quest] = STATE(578),
    [sym__immediate_quest] = STATE(2546),
    [sym__range_operator] = STATE(511),
    [sym_custom_operator] = STATE(510),
    [sym_navigation_suffix] = STATE(2549),
    [sym_call_suffix] = STATE(2550),
    [sym__fn_call_lambda_arguments] = STATE(2551),
    [sym_value_arguments] = STATE(2306),
    [sym_lambda_literal] = STATE(1702),
    [sym__equality_operator] = STATE(508),
    [sym__comparison_operator] = STATE(507),
    [sym__three_dot_operator] = STATE(1120),
    [sym__open_ended_range_operator] = STATE(511),
    [sym__is_operator] = STATE(4321),
    [sym__additive_operator] = STATE(615),
    [sym__multiplicative_operator] = STATE(608),
    [sym_as_operator] = STATE(4320),
    [sym__bitwise_binary_operator] = STATE(504),
    [sym__postfix_unary_operator] = STATE(2553),
    [sym__eq_eq] = STATE(508),
    [sym__dot] = STATE(5339),
    [sym__conjunction_operator] = STATE(503),
    [sym__disjunction_operator] = STATE(501),
    [sym__nil_coalescing_operator] = STATE(500),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2553),
    [ts_builtin_sym_end] = ACTIONS(2777),
    [anon_sym_BANG] = ACTIONS(2775),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2777),
    [anon_sym_LPAREN] = ACTIONS(2777),
    [anon_sym_LBRACK] = ACTIONS(2777),
    [anon_sym_QMARK] = ACTIONS(2775),
    [anon_sym_QMARK2] = ACTIONS(2777),
    [anon_sym_AMP] = ACTIONS(2777),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2775),
    [anon_sym_GT] = ACTIONS(2775),
    [anon_sym_LBRACE] = ACTIONS(2777),
    [anon_sym_CARET_LBRACE] = ACTIONS(2777),
    [anon_sym_RBRACE] = ACTIONS(2777),
    [anon_sym_PLUS_EQ] = ACTIONS(2777),
    [anon_sym_DASH_EQ] = ACTIONS(2777),
    [anon_sym_STAR_EQ] = ACTIONS(2777),
    [anon_sym_SLASH_EQ] = ACTIONS(2777),
    [anon_sym_PERCENT_EQ] = ACTIONS(2777),
    [anon_sym_BANG_EQ] = ACTIONS(2775),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2777),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2777),
    [anon_sym_LT_EQ] = ACTIONS(2777),
    [anon_sym_GT_EQ] = ACTIONS(2777),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2777),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2777),
    [anon_sym_is] = ACTIONS(2777),
    [anon_sym_PLUS] = ACTIONS(4399),
    [anon_sym_DASH] = ACTIONS(4399),
    [anon_sym_STAR] = ACTIONS(4401),
    [anon_sym_SLASH] = ACTIONS(4401),
    [anon_sym_PERCENT] = ACTIONS(4401),
    [anon_sym_PLUS_PLUS] = ACTIONS(2777),
    [anon_sym_DASH_DASH] = ACTIONS(2777),
    [anon_sym_PIPE] = ACTIONS(2777),
    [anon_sym_CARET] = ACTIONS(2775),
    [anon_sym_LT_LT] = ACTIONS(2777),
    [anon_sym_GT_GT] = ACTIONS(2777),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2777),
    [sym__explicit_semi] = ACTIONS(2777),
    [sym__dot_custom] = ACTIONS(2777),
    [sym__conjunction_operator_custom] = ACTIONS(2777),
    [sym__disjunction_operator_custom] = ACTIONS(2777),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4413),
    [sym__eq_custom] = ACTIONS(2777),
    [sym__eq_eq_custom] = ACTIONS(2777),
    [sym__plus_then_ws] = ACTIONS(4415),
    [sym__minus_then_ws] = ACTIONS(4415),
    [sym__bang_custom] = ACTIONS(2777),
    [sym_where_keyword] = ACTIONS(2777),
    [sym__as_custom] = ACTIONS(2777),
    [sym__as_quest_custom] = ACTIONS(2777),
    [sym__as_bang_custom] = ACTIONS(2777),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1460] = {
    [sym__quest] = STATE(578),
    [sym__immediate_quest] = STATE(2546),
    [sym__range_operator] = STATE(511),
    [sym_custom_operator] = STATE(510),
    [sym_navigation_suffix] = STATE(2549),
    [sym_call_suffix] = STATE(2550),
    [sym__fn_call_lambda_arguments] = STATE(2551),
    [sym_value_arguments] = STATE(2306),
    [sym_lambda_literal] = STATE(1702),
    [sym__equality_operator] = STATE(508),
    [sym__comparison_operator] = STATE(507),
    [sym__three_dot_operator] = STATE(1120),
    [sym__open_ended_range_operator] = STATE(511),
    [sym__is_operator] = STATE(4321),
    [sym__additive_operator] = STATE(615),
    [sym__multiplicative_operator] = STATE(608),
    [sym_as_operator] = STATE(4320),
    [sym__bitwise_binary_operator] = STATE(504),
    [sym__postfix_unary_operator] = STATE(2553),
    [sym__eq_eq] = STATE(508),
    [sym__dot] = STATE(5339),
    [sym__conjunction_operator] = STATE(503),
    [sym__disjunction_operator] = STATE(501),
    [sym__nil_coalescing_operator] = STATE(500),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2553),
    [ts_builtin_sym_end] = ACTIONS(2801),
    [anon_sym_BANG] = ACTIONS(2799),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2801),
    [anon_sym_LPAREN] = ACTIONS(2801),
    [anon_sym_LBRACK] = ACTIONS(2801),
    [anon_sym_QMARK] = ACTIONS(2799),
    [anon_sym_QMARK2] = ACTIONS(2801),
    [anon_sym_AMP] = ACTIONS(2801),
    [aux_sym_custom_operator_token1] = ACTIONS(2801),
    [anon_sym_LT] = ACTIONS(2799),
    [anon_sym_GT] = ACTIONS(2799),
    [anon_sym_LBRACE] = ACTIONS(2801),
    [anon_sym_CARET_LBRACE] = ACTIONS(2801),
    [anon_sym_RBRACE] = ACTIONS(2801),
    [anon_sym_PLUS_EQ] = ACTIONS(2801),
    [anon_sym_DASH_EQ] = ACTIONS(2801),
    [anon_sym_STAR_EQ] = ACTIONS(2801),
    [anon_sym_SLASH_EQ] = ACTIONS(2801),
    [anon_sym_PERCENT_EQ] = ACTIONS(2801),
    [anon_sym_BANG_EQ] = ACTIONS(2799),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2801),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2801),
    [anon_sym_LT_EQ] = ACTIONS(2801),
    [anon_sym_GT_EQ] = ACTIONS(2801),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2801),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2801),
    [anon_sym_is] = ACTIONS(2801),
    [anon_sym_PLUS] = ACTIONS(2799),
    [anon_sym_DASH] = ACTIONS(2799),
    [anon_sym_STAR] = ACTIONS(2799),
    [anon_sym_SLASH] = ACTIONS(2799),
    [anon_sym_PERCENT] = ACTIONS(2799),
    [anon_sym_PLUS_PLUS] = ACTIONS(2801),
    [anon_sym_DASH_DASH] = ACTIONS(2801),
    [anon_sym_PIPE] = ACTIONS(2801),
    [anon_sym_CARET] = ACTIONS(2799),
    [anon_sym_LT_LT] = ACTIONS(2801),
    [anon_sym_GT_GT] = ACTIONS(2801),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2801),
    [sym__explicit_semi] = ACTIONS(2801),
    [sym__dot_custom] = ACTIONS(2801),
    [sym__conjunction_operator_custom] = ACTIONS(2801),
    [sym__disjunction_operator_custom] = ACTIONS(2801),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2801),
    [sym__eq_custom] = ACTIONS(2801),
    [sym__eq_eq_custom] = ACTIONS(2801),
    [sym__plus_then_ws] = ACTIONS(2801),
    [sym__minus_then_ws] = ACTIONS(2801),
    [sym__bang_custom] = ACTIONS(2801),
    [sym_where_keyword] = ACTIONS(2801),
    [sym__as_custom] = ACTIONS(2801),
    [sym__as_quest_custom] = ACTIONS(2801),
    [sym__as_bang_custom] = ACTIONS(2801),
    [sym__custom_operator] = ACTIONS(2801),
  },
  [1461] = {
    [sym__quest] = STATE(578),
    [sym__immediate_quest] = STATE(2546),
    [sym__range_operator] = STATE(511),
    [sym_custom_operator] = STATE(510),
    [sym_navigation_suffix] = STATE(2549),
    [sym_call_suffix] = STATE(2550),
    [sym__fn_call_lambda_arguments] = STATE(2551),
    [sym_value_arguments] = STATE(2306),
    [sym_lambda_literal] = STATE(1702),
    [sym__equality_operator] = STATE(508),
    [sym__comparison_operator] = STATE(507),
    [sym__three_dot_operator] = STATE(1120),
    [sym__open_ended_range_operator] = STATE(511),
    [sym__is_operator] = STATE(4321),
    [sym__additive_operator] = STATE(615),
    [sym__multiplicative_operator] = STATE(608),
    [sym_as_operator] = STATE(4320),
    [sym__bitwise_binary_operator] = STATE(504),
    [sym__postfix_unary_operator] = STATE(2553),
    [sym__eq_eq] = STATE(508),
    [sym__dot] = STATE(5339),
    [sym__conjunction_operator] = STATE(503),
    [sym__disjunction_operator] = STATE(501),
    [sym__nil_coalescing_operator] = STATE(500),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2553),
    [ts_builtin_sym_end] = ACTIONS(2753),
    [anon_sym_BANG] = ACTIONS(4377),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2753),
    [anon_sym_LPAREN] = ACTIONS(4379),
    [anon_sym_LBRACK] = ACTIONS(4381),
    [anon_sym_QMARK] = ACTIONS(4440),
    [anon_sym_QMARK2] = ACTIONS(4383),
    [anon_sym_AMP] = ACTIONS(4385),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4387),
    [anon_sym_GT] = ACTIONS(4387),
    [anon_sym_LBRACE] = ACTIONS(4442),
    [anon_sym_CARET_LBRACE] = ACTIONS(4442),
    [anon_sym_RBRACE] = ACTIONS(2753),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4389),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4391),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4391),
    [anon_sym_LT_EQ] = ACTIONS(4393),
    [anon_sym_GT_EQ] = ACTIONS(4393),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1013),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4395),
    [anon_sym_is] = ACTIONS(4397),
    [anon_sym_PLUS] = ACTIONS(4399),
    [anon_sym_DASH] = ACTIONS(4399),
    [anon_sym_STAR] = ACTIONS(4401),
    [anon_sym_SLASH] = ACTIONS(4401),
    [anon_sym_PERCENT] = ACTIONS(4401),
    [anon_sym_PLUS_PLUS] = ACTIONS(4403),
    [anon_sym_DASH_DASH] = ACTIONS(4403),
    [anon_sym_PIPE] = ACTIONS(4385),
    [anon_sym_CARET] = ACTIONS(4405),
    [anon_sym_LT_LT] = ACTIONS(4385),
    [anon_sym_GT_GT] = ACTIONS(4385),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2753),
    [sym__explicit_semi] = ACTIONS(2753),
    [sym__dot_custom] = ACTIONS(4407),
    [sym__conjunction_operator_custom] = ACTIONS(4409),
    [sym__disjunction_operator_custom] = ACTIONS(4411),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4413),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4391),
    [sym__plus_then_ws] = ACTIONS(4415),
    [sym__minus_then_ws] = ACTIONS(4415),
    [sym__bang_custom] = ACTIONS(4417),
    [sym_where_keyword] = ACTIONS(2753),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1462] = {
    [sym__quest] = STATE(578),
    [sym__immediate_quest] = STATE(2546),
    [sym__range_operator] = STATE(511),
    [sym_custom_operator] = STATE(510),
    [sym_navigation_suffix] = STATE(2549),
    [sym_call_suffix] = STATE(2550),
    [sym__fn_call_lambda_arguments] = STATE(2551),
    [sym_value_arguments] = STATE(2306),
    [sym_lambda_literal] = STATE(1702),
    [sym__equality_operator] = STATE(508),
    [sym__comparison_operator] = STATE(507),
    [sym__three_dot_operator] = STATE(1120),
    [sym__open_ended_range_operator] = STATE(511),
    [sym__is_operator] = STATE(4321),
    [sym__additive_operator] = STATE(615),
    [sym__multiplicative_operator] = STATE(608),
    [sym_as_operator] = STATE(4320),
    [sym__bitwise_binary_operator] = STATE(504),
    [sym__postfix_unary_operator] = STATE(2553),
    [sym__eq_eq] = STATE(508),
    [sym__dot] = STATE(5339),
    [sym__conjunction_operator] = STATE(503),
    [sym__disjunction_operator] = STATE(501),
    [sym__nil_coalescing_operator] = STATE(500),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2553),
    [ts_builtin_sym_end] = ACTIONS(2763),
    [anon_sym_BANG] = ACTIONS(2761),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2763),
    [anon_sym_LPAREN] = ACTIONS(2763),
    [anon_sym_LBRACK] = ACTIONS(2763),
    [anon_sym_QMARK] = ACTIONS(2761),
    [anon_sym_QMARK2] = ACTIONS(2763),
    [anon_sym_AMP] = ACTIONS(2763),
    [aux_sym_custom_operator_token1] = ACTIONS(2763),
    [anon_sym_LT] = ACTIONS(2761),
    [anon_sym_GT] = ACTIONS(2761),
    [anon_sym_LBRACE] = ACTIONS(2763),
    [anon_sym_CARET_LBRACE] = ACTIONS(2763),
    [anon_sym_RBRACE] = ACTIONS(2763),
    [anon_sym_PLUS_EQ] = ACTIONS(2763),
    [anon_sym_DASH_EQ] = ACTIONS(2763),
    [anon_sym_STAR_EQ] = ACTIONS(2763),
    [anon_sym_SLASH_EQ] = ACTIONS(2763),
    [anon_sym_PERCENT_EQ] = ACTIONS(2763),
    [anon_sym_BANG_EQ] = ACTIONS(2761),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2763),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2763),
    [anon_sym_LT_EQ] = ACTIONS(2763),
    [anon_sym_GT_EQ] = ACTIONS(2763),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2763),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2763),
    [anon_sym_is] = ACTIONS(2763),
    [anon_sym_PLUS] = ACTIONS(2761),
    [anon_sym_DASH] = ACTIONS(2761),
    [anon_sym_STAR] = ACTIONS(4401),
    [anon_sym_SLASH] = ACTIONS(4401),
    [anon_sym_PERCENT] = ACTIONS(4401),
    [anon_sym_PLUS_PLUS] = ACTIONS(2763),
    [anon_sym_DASH_DASH] = ACTIONS(2763),
    [anon_sym_PIPE] = ACTIONS(2763),
    [anon_sym_CARET] = ACTIONS(2761),
    [anon_sym_LT_LT] = ACTIONS(2763),
    [anon_sym_GT_GT] = ACTIONS(2763),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2763),
    [sym__explicit_semi] = ACTIONS(2763),
    [sym__dot_custom] = ACTIONS(2763),
    [sym__conjunction_operator_custom] = ACTIONS(2763),
    [sym__disjunction_operator_custom] = ACTIONS(2763),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2763),
    [sym__eq_custom] = ACTIONS(2763),
    [sym__eq_eq_custom] = ACTIONS(2763),
    [sym__plus_then_ws] = ACTIONS(2763),
    [sym__minus_then_ws] = ACTIONS(2763),
    [sym__bang_custom] = ACTIONS(2763),
    [sym_where_keyword] = ACTIONS(2763),
    [sym__as_custom] = ACTIONS(2763),
    [sym__as_quest_custom] = ACTIONS(2763),
    [sym__as_bang_custom] = ACTIONS(2763),
    [sym__custom_operator] = ACTIONS(2763),
  },
  [1463] = {
    [sym__quest] = STATE(578),
    [sym__immediate_quest] = STATE(2546),
    [sym__range_operator] = STATE(511),
    [sym_custom_operator] = STATE(510),
    [sym_navigation_suffix] = STATE(2549),
    [sym_call_suffix] = STATE(2550),
    [sym__fn_call_lambda_arguments] = STATE(2551),
    [sym_value_arguments] = STATE(2306),
    [sym_lambda_literal] = STATE(1702),
    [sym__equality_operator] = STATE(508),
    [sym__comparison_operator] = STATE(507),
    [sym__three_dot_operator] = STATE(1120),
    [sym__open_ended_range_operator] = STATE(511),
    [sym__is_operator] = STATE(4321),
    [sym__additive_operator] = STATE(615),
    [sym__multiplicative_operator] = STATE(608),
    [sym_as_operator] = STATE(4320),
    [sym__bitwise_binary_operator] = STATE(504),
    [sym__postfix_unary_operator] = STATE(2553),
    [sym__eq_eq] = STATE(508),
    [sym__dot] = STATE(5339),
    [sym__conjunction_operator] = STATE(503),
    [sym__disjunction_operator] = STATE(501),
    [sym__nil_coalescing_operator] = STATE(500),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2553),
    [ts_builtin_sym_end] = ACTIONS(2791),
    [anon_sym_BANG] = ACTIONS(4377),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2791),
    [anon_sym_LPAREN] = ACTIONS(2791),
    [anon_sym_LBRACK] = ACTIONS(2791),
    [anon_sym_QMARK] = ACTIONS(2793),
    [anon_sym_QMARK2] = ACTIONS(2791),
    [anon_sym_AMP] = ACTIONS(2791),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2793),
    [anon_sym_GT] = ACTIONS(2793),
    [anon_sym_LBRACE] = ACTIONS(2791),
    [anon_sym_CARET_LBRACE] = ACTIONS(2791),
    [anon_sym_RBRACE] = ACTIONS(2791),
    [anon_sym_PLUS_EQ] = ACTIONS(2791),
    [anon_sym_DASH_EQ] = ACTIONS(2791),
    [anon_sym_STAR_EQ] = ACTIONS(2791),
    [anon_sym_SLASH_EQ] = ACTIONS(2791),
    [anon_sym_PERCENT_EQ] = ACTIONS(2791),
    [anon_sym_BANG_EQ] = ACTIONS(4389),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4391),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4391),
    [anon_sym_LT_EQ] = ACTIONS(2791),
    [anon_sym_GT_EQ] = ACTIONS(2791),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2791),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2791),
    [anon_sym_is] = ACTIONS(4397),
    [anon_sym_PLUS] = ACTIONS(4399),
    [anon_sym_DASH] = ACTIONS(4399),
    [anon_sym_STAR] = ACTIONS(4401),
    [anon_sym_SLASH] = ACTIONS(4401),
    [anon_sym_PERCENT] = ACTIONS(4401),
    [anon_sym_PLUS_PLUS] = ACTIONS(4403),
    [anon_sym_DASH_DASH] = ACTIONS(4403),
    [anon_sym_PIPE] = ACTIONS(2791),
    [anon_sym_CARET] = ACTIONS(2793),
    [anon_sym_LT_LT] = ACTIONS(2791),
    [anon_sym_GT_GT] = ACTIONS(2791),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2791),
    [sym__explicit_semi] = ACTIONS(2791),
    [sym__dot_custom] = ACTIONS(2791),
    [sym__conjunction_operator_custom] = ACTIONS(4409),
    [sym__disjunction_operator_custom] = ACTIONS(4411),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4413),
    [sym__eq_custom] = ACTIONS(2791),
    [sym__eq_eq_custom] = ACTIONS(4391),
    [sym__plus_then_ws] = ACTIONS(4415),
    [sym__minus_then_ws] = ACTIONS(4415),
    [sym__bang_custom] = ACTIONS(4417),
    [sym_where_keyword] = ACTIONS(2791),
    [sym__as_custom] = ACTIONS(2791),
    [sym__as_quest_custom] = ACTIONS(2791),
    [sym__as_bang_custom] = ACTIONS(2791),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1464] = {
    [sym__quest] = STATE(578),
    [sym__immediate_quest] = STATE(2546),
    [sym__range_operator] = STATE(511),
    [sym_custom_operator] = STATE(510),
    [sym_navigation_suffix] = STATE(2549),
    [sym_call_suffix] = STATE(2550),
    [sym__fn_call_lambda_arguments] = STATE(2551),
    [sym_value_arguments] = STATE(2306),
    [sym_lambda_literal] = STATE(1702),
    [sym__equality_operator] = STATE(508),
    [sym__comparison_operator] = STATE(507),
    [sym__three_dot_operator] = STATE(1120),
    [sym__open_ended_range_operator] = STATE(511),
    [sym__is_operator] = STATE(4321),
    [sym__additive_operator] = STATE(615),
    [sym__multiplicative_operator] = STATE(608),
    [sym_as_operator] = STATE(4320),
    [sym__bitwise_binary_operator] = STATE(504),
    [sym__postfix_unary_operator] = STATE(2553),
    [sym__eq_eq] = STATE(508),
    [sym__dot] = STATE(5339),
    [sym__conjunction_operator] = STATE(503),
    [sym__disjunction_operator] = STATE(501),
    [sym__nil_coalescing_operator] = STATE(500),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2553),
    [ts_builtin_sym_end] = ACTIONS(2783),
    [anon_sym_BANG] = ACTIONS(4377),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2783),
    [anon_sym_LPAREN] = ACTIONS(4379),
    [anon_sym_LBRACK] = ACTIONS(4381),
    [anon_sym_QMARK] = ACTIONS(4440),
    [anon_sym_QMARK2] = ACTIONS(4383),
    [anon_sym_AMP] = ACTIONS(4385),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4387),
    [anon_sym_GT] = ACTIONS(4387),
    [anon_sym_LBRACE] = ACTIONS(4442),
    [anon_sym_CARET_LBRACE] = ACTIONS(4442),
    [anon_sym_RBRACE] = ACTIONS(2783),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4389),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4391),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4391),
    [anon_sym_LT_EQ] = ACTIONS(4393),
    [anon_sym_GT_EQ] = ACTIONS(4393),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1013),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4395),
    [anon_sym_is] = ACTIONS(4397),
    [anon_sym_PLUS] = ACTIONS(4399),
    [anon_sym_DASH] = ACTIONS(4399),
    [anon_sym_STAR] = ACTIONS(4401),
    [anon_sym_SLASH] = ACTIONS(4401),
    [anon_sym_PERCENT] = ACTIONS(4401),
    [anon_sym_PLUS_PLUS] = ACTIONS(4403),
    [anon_sym_DASH_DASH] = ACTIONS(4403),
    [anon_sym_PIPE] = ACTIONS(4385),
    [anon_sym_CARET] = ACTIONS(4405),
    [anon_sym_LT_LT] = ACTIONS(4385),
    [anon_sym_GT_GT] = ACTIONS(4385),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2783),
    [sym__explicit_semi] = ACTIONS(2783),
    [sym__dot_custom] = ACTIONS(4407),
    [sym__conjunction_operator_custom] = ACTIONS(4409),
    [sym__disjunction_operator_custom] = ACTIONS(4411),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4413),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4391),
    [sym__plus_then_ws] = ACTIONS(4415),
    [sym__minus_then_ws] = ACTIONS(4415),
    [sym__bang_custom] = ACTIONS(4417),
    [sym_where_keyword] = ACTIONS(2783),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1465] = {
    [sym__quest] = STATE(578),
    [sym__immediate_quest] = STATE(2546),
    [sym__range_operator] = STATE(511),
    [sym_custom_operator] = STATE(510),
    [sym_navigation_suffix] = STATE(2549),
    [sym_call_suffix] = STATE(2550),
    [sym__fn_call_lambda_arguments] = STATE(2551),
    [sym_value_arguments] = STATE(2306),
    [sym_lambda_literal] = STATE(1702),
    [sym__equality_operator] = STATE(508),
    [sym__comparison_operator] = STATE(507),
    [sym__three_dot_operator] = STATE(1120),
    [sym__open_ended_range_operator] = STATE(511),
    [sym__is_operator] = STATE(4321),
    [sym__additive_operator] = STATE(615),
    [sym__multiplicative_operator] = STATE(608),
    [sym_as_operator] = STATE(4320),
    [sym__bitwise_binary_operator] = STATE(504),
    [sym__postfix_unary_operator] = STATE(2553),
    [sym__eq_eq] = STATE(508),
    [sym__dot] = STATE(5339),
    [sym__conjunction_operator] = STATE(503),
    [sym__disjunction_operator] = STATE(501),
    [sym__nil_coalescing_operator] = STATE(500),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2553),
    [ts_builtin_sym_end] = ACTIONS(2765),
    [anon_sym_BANG] = ACTIONS(4377),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2765),
    [anon_sym_LPAREN] = ACTIONS(2765),
    [anon_sym_LBRACK] = ACTIONS(2765),
    [anon_sym_QMARK] = ACTIONS(2767),
    [anon_sym_QMARK2] = ACTIONS(2765),
    [anon_sym_AMP] = ACTIONS(2765),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2767),
    [anon_sym_GT] = ACTIONS(2767),
    [anon_sym_LBRACE] = ACTIONS(2765),
    [anon_sym_CARET_LBRACE] = ACTIONS(2765),
    [anon_sym_RBRACE] = ACTIONS(2765),
    [anon_sym_PLUS_EQ] = ACTIONS(2765),
    [anon_sym_DASH_EQ] = ACTIONS(2765),
    [anon_sym_STAR_EQ] = ACTIONS(2765),
    [anon_sym_SLASH_EQ] = ACTIONS(2765),
    [anon_sym_PERCENT_EQ] = ACTIONS(2765),
    [anon_sym_BANG_EQ] = ACTIONS(4389),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4391),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4391),
    [anon_sym_LT_EQ] = ACTIONS(2765),
    [anon_sym_GT_EQ] = ACTIONS(2765),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2765),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2765),
    [anon_sym_is] = ACTIONS(4397),
    [anon_sym_PLUS] = ACTIONS(4399),
    [anon_sym_DASH] = ACTIONS(4399),
    [anon_sym_STAR] = ACTIONS(4401),
    [anon_sym_SLASH] = ACTIONS(4401),
    [anon_sym_PERCENT] = ACTIONS(4401),
    [anon_sym_PLUS_PLUS] = ACTIONS(4403),
    [anon_sym_DASH_DASH] = ACTIONS(4403),
    [anon_sym_PIPE] = ACTIONS(2765),
    [anon_sym_CARET] = ACTIONS(2767),
    [anon_sym_LT_LT] = ACTIONS(2765),
    [anon_sym_GT_GT] = ACTIONS(2765),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2765),
    [sym__explicit_semi] = ACTIONS(2765),
    [sym__dot_custom] = ACTIONS(2765),
    [sym__conjunction_operator_custom] = ACTIONS(4409),
    [sym__disjunction_operator_custom] = ACTIONS(4411),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4413),
    [sym__eq_custom] = ACTIONS(2765),
    [sym__eq_eq_custom] = ACTIONS(4391),
    [sym__plus_then_ws] = ACTIONS(4415),
    [sym__minus_then_ws] = ACTIONS(4415),
    [sym__bang_custom] = ACTIONS(4417),
    [sym_where_keyword] = ACTIONS(2765),
    [sym__as_custom] = ACTIONS(2765),
    [sym__as_quest_custom] = ACTIONS(2765),
    [sym__as_bang_custom] = ACTIONS(2765),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1466] = {
    [sym__quest] = STATE(578),
    [sym__immediate_quest] = STATE(2546),
    [sym__range_operator] = STATE(511),
    [sym_custom_operator] = STATE(510),
    [sym_navigation_suffix] = STATE(2549),
    [sym_call_suffix] = STATE(2550),
    [sym__fn_call_lambda_arguments] = STATE(2551),
    [sym_value_arguments] = STATE(2306),
    [sym_lambda_literal] = STATE(1702),
    [sym__equality_operator] = STATE(508),
    [sym__comparison_operator] = STATE(507),
    [sym__three_dot_operator] = STATE(1120),
    [sym__open_ended_range_operator] = STATE(511),
    [sym__is_operator] = STATE(4321),
    [sym__additive_operator] = STATE(615),
    [sym__multiplicative_operator] = STATE(608),
    [sym_as_operator] = STATE(4320),
    [sym__bitwise_binary_operator] = STATE(504),
    [sym__postfix_unary_operator] = STATE(2553),
    [sym__eq_eq] = STATE(508),
    [sym__dot] = STATE(5339),
    [sym__conjunction_operator] = STATE(503),
    [sym__disjunction_operator] = STATE(501),
    [sym__nil_coalescing_operator] = STATE(500),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2553),
    [ts_builtin_sym_end] = ACTIONS(2779),
    [anon_sym_BANG] = ACTIONS(4377),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2779),
    [anon_sym_LPAREN] = ACTIONS(4379),
    [anon_sym_LBRACK] = ACTIONS(4381),
    [anon_sym_QMARK] = ACTIONS(4440),
    [anon_sym_QMARK2] = ACTIONS(4383),
    [anon_sym_AMP] = ACTIONS(4385),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4387),
    [anon_sym_GT] = ACTIONS(4387),
    [anon_sym_LBRACE] = ACTIONS(4442),
    [anon_sym_CARET_LBRACE] = ACTIONS(4442),
    [anon_sym_RBRACE] = ACTIONS(2779),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4389),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4391),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4391),
    [anon_sym_LT_EQ] = ACTIONS(4393),
    [anon_sym_GT_EQ] = ACTIONS(4393),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1013),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4395),
    [anon_sym_is] = ACTIONS(4397),
    [anon_sym_PLUS] = ACTIONS(4399),
    [anon_sym_DASH] = ACTIONS(4399),
    [anon_sym_STAR] = ACTIONS(4401),
    [anon_sym_SLASH] = ACTIONS(4401),
    [anon_sym_PERCENT] = ACTIONS(4401),
    [anon_sym_PLUS_PLUS] = ACTIONS(4403),
    [anon_sym_DASH_DASH] = ACTIONS(4403),
    [anon_sym_PIPE] = ACTIONS(4385),
    [anon_sym_CARET] = ACTIONS(4405),
    [anon_sym_LT_LT] = ACTIONS(4385),
    [anon_sym_GT_GT] = ACTIONS(4385),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2779),
    [sym__explicit_semi] = ACTIONS(2779),
    [sym__dot_custom] = ACTIONS(4407),
    [sym__conjunction_operator_custom] = ACTIONS(4409),
    [sym__disjunction_operator_custom] = ACTIONS(4411),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4413),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4391),
    [sym__plus_then_ws] = ACTIONS(4415),
    [sym__minus_then_ws] = ACTIONS(4415),
    [sym__bang_custom] = ACTIONS(4417),
    [sym_where_keyword] = ACTIONS(2779),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1467] = {
    [sym__quest] = STATE(583),
    [sym__immediate_quest] = STATE(2767),
    [sym__range_operator] = STATE(509),
    [sym_custom_operator] = STATE(496),
    [sym_navigation_suffix] = STATE(2768),
    [sym_call_suffix] = STATE(2773),
    [sym__fn_call_lambda_arguments] = STATE(2781),
    [sym_value_arguments] = STATE(2399),
    [sym_lambda_literal] = STATE(1706),
    [sym__equality_operator] = STATE(487),
    [sym__comparison_operator] = STATE(486),
    [sym__three_dot_operator] = STATE(1142),
    [sym__open_ended_range_operator] = STATE(509),
    [sym__is_operator] = STATE(4337),
    [sym__additive_operator] = STATE(594),
    [sym__multiplicative_operator] = STATE(598),
    [sym_as_operator] = STATE(4332),
    [sym__bitwise_binary_operator] = STATE(477),
    [sym__postfix_unary_operator] = STATE(2792),
    [sym__eq_eq] = STATE(487),
    [sym__dot] = STATE(5343),
    [sym__conjunction_operator] = STATE(475),
    [sym__disjunction_operator] = STATE(470),
    [sym__nil_coalescing_operator] = STATE(468),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2792),
    [ts_builtin_sym_end] = ACTIONS(2957),
    [anon_sym_BANG] = ACTIONS(4446),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2957),
    [anon_sym_LPAREN] = ACTIONS(4448),
    [anon_sym_LBRACK] = ACTIONS(4450),
    [anon_sym_QMARK] = ACTIONS(4452),
    [anon_sym_QMARK2] = ACTIONS(4454),
    [anon_sym_AMP] = ACTIONS(4456),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4458),
    [anon_sym_GT] = ACTIONS(4458),
    [anon_sym_LBRACE] = ACTIONS(4462),
    [anon_sym_CARET_LBRACE] = ACTIONS(4462),
    [anon_sym_RBRACE] = ACTIONS(2957),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4464),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4466),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4466),
    [anon_sym_LT_EQ] = ACTIONS(4468),
    [anon_sym_GT_EQ] = ACTIONS(4468),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4470),
    [anon_sym_is] = ACTIONS(4472),
    [anon_sym_PLUS] = ACTIONS(4474),
    [anon_sym_DASH] = ACTIONS(4474),
    [anon_sym_STAR] = ACTIONS(4476),
    [anon_sym_SLASH] = ACTIONS(4476),
    [anon_sym_PERCENT] = ACTIONS(4476),
    [anon_sym_PLUS_PLUS] = ACTIONS(4478),
    [anon_sym_DASH_DASH] = ACTIONS(4478),
    [anon_sym_PIPE] = ACTIONS(4456),
    [anon_sym_CARET] = ACTIONS(4480),
    [anon_sym_LT_LT] = ACTIONS(4456),
    [anon_sym_GT_GT] = ACTIONS(4456),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2957),
    [sym__explicit_semi] = ACTIONS(2957),
    [sym__dot_custom] = ACTIONS(4482),
    [sym__conjunction_operator_custom] = ACTIONS(4484),
    [sym__disjunction_operator_custom] = ACTIONS(4486),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4488),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4466),
    [sym__plus_then_ws] = ACTIONS(4490),
    [sym__minus_then_ws] = ACTIONS(4490),
    [sym__bang_custom] = ACTIONS(4492),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1468] = {
    [sym__try_operator_type] = STATE(1644),
    [anon_sym_BANG] = ACTIONS(4494),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(4494),
    [aux_sym_simple_identifier_token2] = ACTIONS(4496),
    [aux_sym_simple_identifier_token3] = ACTIONS(4496),
    [aux_sym_simple_identifier_token4] = ACTIONS(4496),
    [anon_sym_actor] = ACTIONS(4494),
    [anon_sym_async] = ACTIONS(4494),
    [anon_sym_each] = ACTIONS(4494),
    [anon_sym_lazy] = ACTIONS(4494),
    [anon_sym_repeat] = ACTIONS(4494),
    [anon_sym_package] = ACTIONS(4494),
    [anon_sym_nil] = ACTIONS(4494),
    [sym_real_literal] = ACTIONS(4496),
    [sym_integer_literal] = ACTIONS(4494),
    [sym_hex_literal] = ACTIONS(4494),
    [sym_oct_literal] = ACTIONS(4496),
    [sym_bin_literal] = ACTIONS(4496),
    [anon_sym_true] = ACTIONS(4494),
    [anon_sym_false] = ACTIONS(4494),
    [anon_sym_DQUOTE] = ACTIONS(4494),
    [anon_sym_BSLASH] = ACTIONS(4496),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(4496),
    [sym__oneline_regex_literal] = ACTIONS(4494),
    [anon_sym_BANG2] = ACTIONS(4498),
    [anon_sym_LPAREN] = ACTIONS(4496),
    [anon_sym_LBRACK] = ACTIONS(4496),
    [anon_sym_QMARK2] = ACTIONS(4500),
    [anon_sym_AMP] = ACTIONS(4496),
    [anon_sym_TILDE] = ACTIONS(4496),
    [anon_sym_if] = ACTIONS(4494),
    [anon_sym_switch] = ACTIONS(4494),
    [aux_sym_custom_operator_token1] = ACTIONS(4496),
    [anon_sym_LT] = ACTIONS(4494),
    [anon_sym_GT] = ACTIONS(4494),
    [anon_sym_await] = ACTIONS(4494),
    [anon_sym_LBRACE] = ACTIONS(4496),
    [anon_sym_CARET_LBRACE] = ACTIONS(4496),
    [anon_sym_self] = ACTIONS(4494),
    [anon_sym_super] = ACTIONS(4494),
    [anon_sym_try] = ACTIONS(4494),
    [anon_sym_PLUS_EQ] = ACTIONS(4496),
    [anon_sym_DASH_EQ] = ACTIONS(4496),
    [anon_sym_STAR_EQ] = ACTIONS(4496),
    [anon_sym_SLASH_EQ] = ACTIONS(4496),
    [anon_sym_PERCENT_EQ] = ACTIONS(4496),
    [anon_sym_BANG_EQ] = ACTIONS(4494),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4496),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4496),
    [anon_sym_LT_EQ] = ACTIONS(4496),
    [anon_sym_GT_EQ] = ACTIONS(4496),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4496),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4496),
    [anon_sym_PLUS] = ACTIONS(4494),
    [anon_sym_DASH] = ACTIONS(4494),
    [anon_sym_STAR] = ACTIONS(4494),
    [anon_sym_SLASH] = ACTIONS(4494),
    [anon_sym_PERCENT] = ACTIONS(4494),
    [anon_sym_PLUS_PLUS] = ACTIONS(4496),
    [anon_sym_DASH_DASH] = ACTIONS(4496),
    [anon_sym_PIPE] = ACTIONS(4496),
    [anon_sym_CARET] = ACTIONS(4494),
    [anon_sym_LT_LT] = ACTIONS(4496),
    [anon_sym_GT_GT] = ACTIONS(4496),
    [anon_sym_borrowing] = ACTIONS(4494),
    [anon_sym_consuming] = ACTIONS(4494),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(4496),
    [sym_raw_str_end_part] = ACTIONS(4496),
    [sym__dot_custom] = ACTIONS(4496),
    [sym__eq_custom] = ACTIONS(4496),
    [sym__eq_eq_custom] = ACTIONS(4496),
    [sym__plus_then_ws] = ACTIONS(4496),
    [sym__minus_then_ws] = ACTIONS(4496),
    [sym__bang_custom] = ACTIONS(4496),
    [sym__custom_operator] = ACTIONS(4496),
    [sym__hash_symbol_custom] = ACTIONS(4496),
    [sym__directive_if] = ACTIONS(4496),
    [sym__directive_elseif] = ACTIONS(4496),
    [sym__directive_else] = ACTIONS(4496),
    [sym__directive_endif] = ACTIONS(4496),
    [sym__fake_try_bang] = ACTIONS(4500),
  },
  [1469] = {
    [sym__quest] = STATE(583),
    [sym__immediate_quest] = STATE(2767),
    [sym__range_operator] = STATE(509),
    [sym_custom_operator] = STATE(496),
    [sym_navigation_suffix] = STATE(2768),
    [sym_call_suffix] = STATE(2773),
    [sym__fn_call_lambda_arguments] = STATE(2781),
    [sym_value_arguments] = STATE(2399),
    [sym_lambda_literal] = STATE(1706),
    [sym__equality_operator] = STATE(487),
    [sym__comparison_operator] = STATE(486),
    [sym__three_dot_operator] = STATE(1142),
    [sym__open_ended_range_operator] = STATE(509),
    [sym__is_operator] = STATE(4337),
    [sym__additive_operator] = STATE(594),
    [sym__multiplicative_operator] = STATE(598),
    [sym_as_operator] = STATE(4332),
    [sym__bitwise_binary_operator] = STATE(477),
    [sym__postfix_unary_operator] = STATE(2792),
    [sym__eq_eq] = STATE(487),
    [sym__dot] = STATE(5343),
    [sym__conjunction_operator] = STATE(475),
    [sym__disjunction_operator] = STATE(470),
    [sym__nil_coalescing_operator] = STATE(468),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2792),
    [ts_builtin_sym_end] = ACTIONS(2777),
    [anon_sym_BANG] = ACTIONS(2775),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2777),
    [anon_sym_LPAREN] = ACTIONS(2777),
    [anon_sym_LBRACK] = ACTIONS(2777),
    [anon_sym_QMARK] = ACTIONS(2775),
    [anon_sym_QMARK2] = ACTIONS(2777),
    [anon_sym_AMP] = ACTIONS(2777),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2775),
    [anon_sym_GT] = ACTIONS(2775),
    [anon_sym_LBRACE] = ACTIONS(2777),
    [anon_sym_CARET_LBRACE] = ACTIONS(2777),
    [anon_sym_RBRACE] = ACTIONS(2777),
    [anon_sym_PLUS_EQ] = ACTIONS(2777),
    [anon_sym_DASH_EQ] = ACTIONS(2777),
    [anon_sym_STAR_EQ] = ACTIONS(2777),
    [anon_sym_SLASH_EQ] = ACTIONS(2777),
    [anon_sym_PERCENT_EQ] = ACTIONS(2777),
    [anon_sym_BANG_EQ] = ACTIONS(2775),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2777),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2777),
    [anon_sym_LT_EQ] = ACTIONS(2777),
    [anon_sym_GT_EQ] = ACTIONS(2777),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2777),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2777),
    [anon_sym_is] = ACTIONS(2777),
    [anon_sym_PLUS] = ACTIONS(4474),
    [anon_sym_DASH] = ACTIONS(4474),
    [anon_sym_STAR] = ACTIONS(4476),
    [anon_sym_SLASH] = ACTIONS(4476),
    [anon_sym_PERCENT] = ACTIONS(4476),
    [anon_sym_PLUS_PLUS] = ACTIONS(2777),
    [anon_sym_DASH_DASH] = ACTIONS(2777),
    [anon_sym_PIPE] = ACTIONS(2777),
    [anon_sym_CARET] = ACTIONS(2775),
    [anon_sym_LT_LT] = ACTIONS(2777),
    [anon_sym_GT_GT] = ACTIONS(2777),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2777),
    [sym__explicit_semi] = ACTIONS(2777),
    [sym__dot_custom] = ACTIONS(2777),
    [sym__conjunction_operator_custom] = ACTIONS(2777),
    [sym__disjunction_operator_custom] = ACTIONS(2777),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4488),
    [sym__eq_custom] = ACTIONS(2777),
    [sym__eq_eq_custom] = ACTIONS(2777),
    [sym__plus_then_ws] = ACTIONS(4490),
    [sym__minus_then_ws] = ACTIONS(4490),
    [sym__bang_custom] = ACTIONS(2777),
    [sym__as_custom] = ACTIONS(2777),
    [sym__as_quest_custom] = ACTIONS(2777),
    [sym__as_bang_custom] = ACTIONS(2777),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1470] = {
    [sym__quest] = STATE(583),
    [sym__immediate_quest] = STATE(2767),
    [sym__range_operator] = STATE(509),
    [sym_custom_operator] = STATE(496),
    [sym_navigation_suffix] = STATE(2768),
    [sym_call_suffix] = STATE(2773),
    [sym__fn_call_lambda_arguments] = STATE(2781),
    [sym_value_arguments] = STATE(2399),
    [sym_lambda_literal] = STATE(1706),
    [sym__equality_operator] = STATE(487),
    [sym__comparison_operator] = STATE(486),
    [sym__three_dot_operator] = STATE(1142),
    [sym__open_ended_range_operator] = STATE(509),
    [sym__is_operator] = STATE(4337),
    [sym__additive_operator] = STATE(594),
    [sym__multiplicative_operator] = STATE(598),
    [sym_as_operator] = STATE(4332),
    [sym__bitwise_binary_operator] = STATE(477),
    [sym__postfix_unary_operator] = STATE(2792),
    [sym__eq_eq] = STATE(487),
    [sym__dot] = STATE(5343),
    [sym__conjunction_operator] = STATE(475),
    [sym__disjunction_operator] = STATE(470),
    [sym__nil_coalescing_operator] = STATE(468),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2792),
    [ts_builtin_sym_end] = ACTIONS(2953),
    [anon_sym_BANG] = ACTIONS(4446),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2953),
    [anon_sym_LPAREN] = ACTIONS(4448),
    [anon_sym_LBRACK] = ACTIONS(4450),
    [anon_sym_QMARK] = ACTIONS(4452),
    [anon_sym_QMARK2] = ACTIONS(4454),
    [anon_sym_AMP] = ACTIONS(4456),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4458),
    [anon_sym_GT] = ACTIONS(4458),
    [anon_sym_LBRACE] = ACTIONS(4462),
    [anon_sym_CARET_LBRACE] = ACTIONS(4462),
    [anon_sym_RBRACE] = ACTIONS(2953),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4464),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4466),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4466),
    [anon_sym_LT_EQ] = ACTIONS(4468),
    [anon_sym_GT_EQ] = ACTIONS(4468),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4470),
    [anon_sym_is] = ACTIONS(4472),
    [anon_sym_PLUS] = ACTIONS(4474),
    [anon_sym_DASH] = ACTIONS(4474),
    [anon_sym_STAR] = ACTIONS(4476),
    [anon_sym_SLASH] = ACTIONS(4476),
    [anon_sym_PERCENT] = ACTIONS(4476),
    [anon_sym_PLUS_PLUS] = ACTIONS(4478),
    [anon_sym_DASH_DASH] = ACTIONS(4478),
    [anon_sym_PIPE] = ACTIONS(4456),
    [anon_sym_CARET] = ACTIONS(4480),
    [anon_sym_LT_LT] = ACTIONS(4456),
    [anon_sym_GT_GT] = ACTIONS(4456),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2953),
    [sym__explicit_semi] = ACTIONS(2953),
    [sym__dot_custom] = ACTIONS(4482),
    [sym__conjunction_operator_custom] = ACTIONS(4484),
    [sym__disjunction_operator_custom] = ACTIONS(4486),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4488),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4466),
    [sym__plus_then_ws] = ACTIONS(4490),
    [sym__minus_then_ws] = ACTIONS(4490),
    [sym__bang_custom] = ACTIONS(4492),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1471] = {
    [sym__quest] = STATE(583),
    [sym__immediate_quest] = STATE(2767),
    [sym__range_operator] = STATE(509),
    [sym_custom_operator] = STATE(496),
    [sym_navigation_suffix] = STATE(2768),
    [sym_call_suffix] = STATE(2773),
    [sym__fn_call_lambda_arguments] = STATE(2781),
    [sym_value_arguments] = STATE(2399),
    [sym_lambda_literal] = STATE(1706),
    [sym__equality_operator] = STATE(487),
    [sym__comparison_operator] = STATE(486),
    [sym__three_dot_operator] = STATE(1142),
    [sym__open_ended_range_operator] = STATE(509),
    [sym__is_operator] = STATE(4337),
    [sym__additive_operator] = STATE(594),
    [sym__multiplicative_operator] = STATE(598),
    [sym_as_operator] = STATE(4332),
    [sym__bitwise_binary_operator] = STATE(477),
    [sym__postfix_unary_operator] = STATE(2792),
    [sym__eq_eq] = STATE(487),
    [sym__dot] = STATE(5343),
    [sym__conjunction_operator] = STATE(475),
    [sym__disjunction_operator] = STATE(470),
    [sym__nil_coalescing_operator] = STATE(468),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2792),
    [ts_builtin_sym_end] = ACTIONS(2765),
    [anon_sym_BANG] = ACTIONS(4446),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2765),
    [anon_sym_LPAREN] = ACTIONS(2765),
    [anon_sym_LBRACK] = ACTIONS(2765),
    [anon_sym_QMARK] = ACTIONS(2767),
    [anon_sym_QMARK2] = ACTIONS(2765),
    [anon_sym_AMP] = ACTIONS(2765),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2767),
    [anon_sym_GT] = ACTIONS(2767),
    [anon_sym_LBRACE] = ACTIONS(2765),
    [anon_sym_CARET_LBRACE] = ACTIONS(2765),
    [anon_sym_RBRACE] = ACTIONS(2765),
    [anon_sym_PLUS_EQ] = ACTIONS(2765),
    [anon_sym_DASH_EQ] = ACTIONS(2765),
    [anon_sym_STAR_EQ] = ACTIONS(2765),
    [anon_sym_SLASH_EQ] = ACTIONS(2765),
    [anon_sym_PERCENT_EQ] = ACTIONS(2765),
    [anon_sym_BANG_EQ] = ACTIONS(4464),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4466),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4466),
    [anon_sym_LT_EQ] = ACTIONS(2765),
    [anon_sym_GT_EQ] = ACTIONS(2765),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2765),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2765),
    [anon_sym_is] = ACTIONS(4472),
    [anon_sym_PLUS] = ACTIONS(4474),
    [anon_sym_DASH] = ACTIONS(4474),
    [anon_sym_STAR] = ACTIONS(4476),
    [anon_sym_SLASH] = ACTIONS(4476),
    [anon_sym_PERCENT] = ACTIONS(4476),
    [anon_sym_PLUS_PLUS] = ACTIONS(4478),
    [anon_sym_DASH_DASH] = ACTIONS(4478),
    [anon_sym_PIPE] = ACTIONS(2765),
    [anon_sym_CARET] = ACTIONS(2767),
    [anon_sym_LT_LT] = ACTIONS(2765),
    [anon_sym_GT_GT] = ACTIONS(2765),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2765),
    [sym__explicit_semi] = ACTIONS(2765),
    [sym__dot_custom] = ACTIONS(2765),
    [sym__conjunction_operator_custom] = ACTIONS(4484),
    [sym__disjunction_operator_custom] = ACTIONS(4486),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4488),
    [sym__eq_custom] = ACTIONS(2765),
    [sym__eq_eq_custom] = ACTIONS(4466),
    [sym__plus_then_ws] = ACTIONS(4490),
    [sym__minus_then_ws] = ACTIONS(4490),
    [sym__bang_custom] = ACTIONS(4492),
    [sym__as_custom] = ACTIONS(2765),
    [sym__as_quest_custom] = ACTIONS(2765),
    [sym__as_bang_custom] = ACTIONS(2765),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1472] = {
    [sym__quest] = STATE(583),
    [sym__immediate_quest] = STATE(2767),
    [sym__range_operator] = STATE(509),
    [sym_custom_operator] = STATE(496),
    [sym_navigation_suffix] = STATE(2768),
    [sym_call_suffix] = STATE(2773),
    [sym__fn_call_lambda_arguments] = STATE(2781),
    [sym_value_arguments] = STATE(2399),
    [sym_lambda_literal] = STATE(1706),
    [sym__equality_operator] = STATE(487),
    [sym__comparison_operator] = STATE(486),
    [sym__three_dot_operator] = STATE(1142),
    [sym__open_ended_range_operator] = STATE(509),
    [sym__is_operator] = STATE(4337),
    [sym__additive_operator] = STATE(594),
    [sym__multiplicative_operator] = STATE(598),
    [sym_as_operator] = STATE(4332),
    [sym__bitwise_binary_operator] = STATE(477),
    [sym__postfix_unary_operator] = STATE(2792),
    [sym__eq_eq] = STATE(487),
    [sym__dot] = STATE(5343),
    [sym__conjunction_operator] = STATE(475),
    [sym__disjunction_operator] = STATE(470),
    [sym__nil_coalescing_operator] = STATE(468),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2792),
    [ts_builtin_sym_end] = ACTIONS(2791),
    [anon_sym_BANG] = ACTIONS(4446),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2791),
    [anon_sym_LPAREN] = ACTIONS(2791),
    [anon_sym_LBRACK] = ACTIONS(2791),
    [anon_sym_QMARK] = ACTIONS(2793),
    [anon_sym_QMARK2] = ACTIONS(2791),
    [anon_sym_AMP] = ACTIONS(2791),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2793),
    [anon_sym_GT] = ACTIONS(2793),
    [anon_sym_LBRACE] = ACTIONS(2791),
    [anon_sym_CARET_LBRACE] = ACTIONS(2791),
    [anon_sym_RBRACE] = ACTIONS(2791),
    [anon_sym_PLUS_EQ] = ACTIONS(2791),
    [anon_sym_DASH_EQ] = ACTIONS(2791),
    [anon_sym_STAR_EQ] = ACTIONS(2791),
    [anon_sym_SLASH_EQ] = ACTIONS(2791),
    [anon_sym_PERCENT_EQ] = ACTIONS(2791),
    [anon_sym_BANG_EQ] = ACTIONS(4464),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4466),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4466),
    [anon_sym_LT_EQ] = ACTIONS(2791),
    [anon_sym_GT_EQ] = ACTIONS(2791),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2791),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2791),
    [anon_sym_is] = ACTIONS(4472),
    [anon_sym_PLUS] = ACTIONS(4474),
    [anon_sym_DASH] = ACTIONS(4474),
    [anon_sym_STAR] = ACTIONS(4476),
    [anon_sym_SLASH] = ACTIONS(4476),
    [anon_sym_PERCENT] = ACTIONS(4476),
    [anon_sym_PLUS_PLUS] = ACTIONS(4478),
    [anon_sym_DASH_DASH] = ACTIONS(4478),
    [anon_sym_PIPE] = ACTIONS(2791),
    [anon_sym_CARET] = ACTIONS(2793),
    [anon_sym_LT_LT] = ACTIONS(2791),
    [anon_sym_GT_GT] = ACTIONS(2791),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2791),
    [sym__explicit_semi] = ACTIONS(2791),
    [sym__dot_custom] = ACTIONS(2791),
    [sym__conjunction_operator_custom] = ACTIONS(4484),
    [sym__disjunction_operator_custom] = ACTIONS(4486),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4488),
    [sym__eq_custom] = ACTIONS(2791),
    [sym__eq_eq_custom] = ACTIONS(4466),
    [sym__plus_then_ws] = ACTIONS(4490),
    [sym__minus_then_ws] = ACTIONS(4490),
    [sym__bang_custom] = ACTIONS(4492),
    [sym__as_custom] = ACTIONS(2791),
    [sym__as_quest_custom] = ACTIONS(2791),
    [sym__as_bang_custom] = ACTIONS(2791),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1473] = {
    [sym__quest] = STATE(583),
    [sym__immediate_quest] = STATE(2767),
    [sym__range_operator] = STATE(509),
    [sym_custom_operator] = STATE(496),
    [sym_navigation_suffix] = STATE(2768),
    [sym_call_suffix] = STATE(2773),
    [sym__fn_call_lambda_arguments] = STATE(2781),
    [sym_value_arguments] = STATE(2399),
    [sym_lambda_literal] = STATE(1706),
    [sym__equality_operator] = STATE(487),
    [sym__comparison_operator] = STATE(486),
    [sym__three_dot_operator] = STATE(1142),
    [sym__open_ended_range_operator] = STATE(509),
    [sym__is_operator] = STATE(4337),
    [sym__additive_operator] = STATE(594),
    [sym__multiplicative_operator] = STATE(598),
    [sym_as_operator] = STATE(4332),
    [sym__bitwise_binary_operator] = STATE(477),
    [sym__postfix_unary_operator] = STATE(2792),
    [sym__eq_eq] = STATE(487),
    [sym__dot] = STATE(5343),
    [sym__conjunction_operator] = STATE(475),
    [sym__disjunction_operator] = STATE(470),
    [sym__nil_coalescing_operator] = STATE(468),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2792),
    [ts_builtin_sym_end] = ACTIONS(2779),
    [anon_sym_BANG] = ACTIONS(4446),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2779),
    [anon_sym_LPAREN] = ACTIONS(4448),
    [anon_sym_LBRACK] = ACTIONS(4450),
    [anon_sym_QMARK] = ACTIONS(4452),
    [anon_sym_QMARK2] = ACTIONS(4454),
    [anon_sym_AMP] = ACTIONS(4456),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4458),
    [anon_sym_GT] = ACTIONS(4458),
    [anon_sym_LBRACE] = ACTIONS(4462),
    [anon_sym_CARET_LBRACE] = ACTIONS(4462),
    [anon_sym_RBRACE] = ACTIONS(2779),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4464),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4466),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4466),
    [anon_sym_LT_EQ] = ACTIONS(4468),
    [anon_sym_GT_EQ] = ACTIONS(4468),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4470),
    [anon_sym_is] = ACTIONS(4472),
    [anon_sym_PLUS] = ACTIONS(4474),
    [anon_sym_DASH] = ACTIONS(4474),
    [anon_sym_STAR] = ACTIONS(4476),
    [anon_sym_SLASH] = ACTIONS(4476),
    [anon_sym_PERCENT] = ACTIONS(4476),
    [anon_sym_PLUS_PLUS] = ACTIONS(4478),
    [anon_sym_DASH_DASH] = ACTIONS(4478),
    [anon_sym_PIPE] = ACTIONS(4456),
    [anon_sym_CARET] = ACTIONS(4480),
    [anon_sym_LT_LT] = ACTIONS(4456),
    [anon_sym_GT_GT] = ACTIONS(4456),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2779),
    [sym__explicit_semi] = ACTIONS(2779),
    [sym__dot_custom] = ACTIONS(4482),
    [sym__conjunction_operator_custom] = ACTIONS(4484),
    [sym__disjunction_operator_custom] = ACTIONS(4486),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4488),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4466),
    [sym__plus_then_ws] = ACTIONS(4490),
    [sym__minus_then_ws] = ACTIONS(4490),
    [sym__bang_custom] = ACTIONS(4492),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1474] = {
    [sym__quest] = STATE(583),
    [sym__immediate_quest] = STATE(2767),
    [sym__range_operator] = STATE(509),
    [sym_custom_operator] = STATE(496),
    [sym_navigation_suffix] = STATE(2768),
    [sym_call_suffix] = STATE(2773),
    [sym__fn_call_lambda_arguments] = STATE(2781),
    [sym_value_arguments] = STATE(2399),
    [sym_lambda_literal] = STATE(1706),
    [sym__equality_operator] = STATE(487),
    [sym__comparison_operator] = STATE(486),
    [sym__three_dot_operator] = STATE(1142),
    [sym__open_ended_range_operator] = STATE(509),
    [sym__is_operator] = STATE(4337),
    [sym__additive_operator] = STATE(594),
    [sym__multiplicative_operator] = STATE(598),
    [sym_as_operator] = STATE(4332),
    [sym__bitwise_binary_operator] = STATE(477),
    [sym__postfix_unary_operator] = STATE(2792),
    [sym__eq_eq] = STATE(487),
    [sym__dot] = STATE(5343),
    [sym__conjunction_operator] = STATE(475),
    [sym__disjunction_operator] = STATE(470),
    [sym__nil_coalescing_operator] = STATE(468),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2792),
    [ts_builtin_sym_end] = ACTIONS(2753),
    [anon_sym_BANG] = ACTIONS(4446),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2753),
    [anon_sym_LPAREN] = ACTIONS(4448),
    [anon_sym_LBRACK] = ACTIONS(4450),
    [anon_sym_QMARK] = ACTIONS(4452),
    [anon_sym_QMARK2] = ACTIONS(4454),
    [anon_sym_AMP] = ACTIONS(4456),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4458),
    [anon_sym_GT] = ACTIONS(4458),
    [anon_sym_LBRACE] = ACTIONS(4462),
    [anon_sym_CARET_LBRACE] = ACTIONS(4462),
    [anon_sym_RBRACE] = ACTIONS(2753),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4464),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4466),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4466),
    [anon_sym_LT_EQ] = ACTIONS(4468),
    [anon_sym_GT_EQ] = ACTIONS(4468),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4470),
    [anon_sym_is] = ACTIONS(4472),
    [anon_sym_PLUS] = ACTIONS(4474),
    [anon_sym_DASH] = ACTIONS(4474),
    [anon_sym_STAR] = ACTIONS(4476),
    [anon_sym_SLASH] = ACTIONS(4476),
    [anon_sym_PERCENT] = ACTIONS(4476),
    [anon_sym_PLUS_PLUS] = ACTIONS(4478),
    [anon_sym_DASH_DASH] = ACTIONS(4478),
    [anon_sym_PIPE] = ACTIONS(4456),
    [anon_sym_CARET] = ACTIONS(4480),
    [anon_sym_LT_LT] = ACTIONS(4456),
    [anon_sym_GT_GT] = ACTIONS(4456),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2753),
    [sym__explicit_semi] = ACTIONS(2753),
    [sym__dot_custom] = ACTIONS(4482),
    [sym__conjunction_operator_custom] = ACTIONS(4484),
    [sym__disjunction_operator_custom] = ACTIONS(4486),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4488),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4466),
    [sym__plus_then_ws] = ACTIONS(4490),
    [sym__minus_then_ws] = ACTIONS(4490),
    [sym__bang_custom] = ACTIONS(4492),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1475] = {
    [sym__quest] = STATE(583),
    [sym__immediate_quest] = STATE(2767),
    [sym__range_operator] = STATE(509),
    [sym_custom_operator] = STATE(496),
    [sym_navigation_suffix] = STATE(2768),
    [sym_call_suffix] = STATE(2773),
    [sym__fn_call_lambda_arguments] = STATE(2781),
    [sym_value_arguments] = STATE(2399),
    [sym_lambda_literal] = STATE(1706),
    [sym__equality_operator] = STATE(487),
    [sym__comparison_operator] = STATE(486),
    [sym__three_dot_operator] = STATE(1142),
    [sym__open_ended_range_operator] = STATE(509),
    [sym__is_operator] = STATE(4337),
    [sym__additive_operator] = STATE(594),
    [sym__multiplicative_operator] = STATE(598),
    [sym_as_operator] = STATE(4332),
    [sym__bitwise_binary_operator] = STATE(477),
    [sym__postfix_unary_operator] = STATE(2792),
    [sym__eq_eq] = STATE(487),
    [sym__dot] = STATE(5343),
    [sym__conjunction_operator] = STATE(475),
    [sym__disjunction_operator] = STATE(470),
    [sym__nil_coalescing_operator] = STATE(468),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2792),
    [ts_builtin_sym_end] = ACTIONS(2783),
    [anon_sym_BANG] = ACTIONS(4446),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2783),
    [anon_sym_LPAREN] = ACTIONS(4448),
    [anon_sym_LBRACK] = ACTIONS(4450),
    [anon_sym_QMARK] = ACTIONS(4452),
    [anon_sym_QMARK2] = ACTIONS(4454),
    [anon_sym_AMP] = ACTIONS(4456),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4458),
    [anon_sym_GT] = ACTIONS(4458),
    [anon_sym_LBRACE] = ACTIONS(4462),
    [anon_sym_CARET_LBRACE] = ACTIONS(4462),
    [anon_sym_RBRACE] = ACTIONS(2783),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4464),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4466),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4466),
    [anon_sym_LT_EQ] = ACTIONS(4468),
    [anon_sym_GT_EQ] = ACTIONS(4468),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4470),
    [anon_sym_is] = ACTIONS(4472),
    [anon_sym_PLUS] = ACTIONS(4474),
    [anon_sym_DASH] = ACTIONS(4474),
    [anon_sym_STAR] = ACTIONS(4476),
    [anon_sym_SLASH] = ACTIONS(4476),
    [anon_sym_PERCENT] = ACTIONS(4476),
    [anon_sym_PLUS_PLUS] = ACTIONS(4478),
    [anon_sym_DASH_DASH] = ACTIONS(4478),
    [anon_sym_PIPE] = ACTIONS(4456),
    [anon_sym_CARET] = ACTIONS(4480),
    [anon_sym_LT_LT] = ACTIONS(4456),
    [anon_sym_GT_GT] = ACTIONS(4456),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2783),
    [sym__explicit_semi] = ACTIONS(2783),
    [sym__dot_custom] = ACTIONS(4482),
    [sym__conjunction_operator_custom] = ACTIONS(4484),
    [sym__disjunction_operator_custom] = ACTIONS(4486),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4488),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4466),
    [sym__plus_then_ws] = ACTIONS(4490),
    [sym__minus_then_ws] = ACTIONS(4490),
    [sym__bang_custom] = ACTIONS(4492),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1476] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2518),
    [sym_expr_hack_at_ternary_binary_call_suffix] = STATE(954),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(2703),
    [anon_sym_COMMA] = ACTIONS(2703),
    [anon_sym_COLON] = ACTIONS(2703),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_RBRACK] = ACTIONS(2703),
    [anon_sym_QMARK] = ACTIONS(2709),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(2703),
    [anon_sym_CARET_LBRACE] = ACTIONS(2703),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1477] = {
    [sym__quest] = STATE(583),
    [sym__immediate_quest] = STATE(2767),
    [sym__range_operator] = STATE(509),
    [sym_custom_operator] = STATE(496),
    [sym_navigation_suffix] = STATE(2768),
    [sym_call_suffix] = STATE(2773),
    [sym__fn_call_lambda_arguments] = STATE(2781),
    [sym_value_arguments] = STATE(2399),
    [sym_lambda_literal] = STATE(1706),
    [sym__equality_operator] = STATE(487),
    [sym__comparison_operator] = STATE(486),
    [sym__three_dot_operator] = STATE(1142),
    [sym__open_ended_range_operator] = STATE(509),
    [sym__is_operator] = STATE(4337),
    [sym__additive_operator] = STATE(594),
    [sym__multiplicative_operator] = STATE(598),
    [sym_as_operator] = STATE(4332),
    [sym__bitwise_binary_operator] = STATE(477),
    [sym__postfix_unary_operator] = STATE(2792),
    [sym__eq_eq] = STATE(487),
    [sym__dot] = STATE(5343),
    [sym__conjunction_operator] = STATE(475),
    [sym__disjunction_operator] = STATE(470),
    [sym__nil_coalescing_operator] = STATE(468),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2792),
    [ts_builtin_sym_end] = ACTIONS(2787),
    [anon_sym_BANG] = ACTIONS(4446),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2787),
    [anon_sym_LPAREN] = ACTIONS(4448),
    [anon_sym_LBRACK] = ACTIONS(4450),
    [anon_sym_QMARK] = ACTIONS(4452),
    [anon_sym_QMARK2] = ACTIONS(4454),
    [anon_sym_AMP] = ACTIONS(4456),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4458),
    [anon_sym_GT] = ACTIONS(4458),
    [anon_sym_LBRACE] = ACTIONS(4462),
    [anon_sym_CARET_LBRACE] = ACTIONS(4462),
    [anon_sym_RBRACE] = ACTIONS(2787),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4464),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4466),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4466),
    [anon_sym_LT_EQ] = ACTIONS(4468),
    [anon_sym_GT_EQ] = ACTIONS(4468),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4470),
    [anon_sym_is] = ACTIONS(4472),
    [anon_sym_PLUS] = ACTIONS(4474),
    [anon_sym_DASH] = ACTIONS(4474),
    [anon_sym_STAR] = ACTIONS(4476),
    [anon_sym_SLASH] = ACTIONS(4476),
    [anon_sym_PERCENT] = ACTIONS(4476),
    [anon_sym_PLUS_PLUS] = ACTIONS(4478),
    [anon_sym_DASH_DASH] = ACTIONS(4478),
    [anon_sym_PIPE] = ACTIONS(4456),
    [anon_sym_CARET] = ACTIONS(4480),
    [anon_sym_LT_LT] = ACTIONS(4456),
    [anon_sym_GT_GT] = ACTIONS(4456),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2787),
    [sym__explicit_semi] = ACTIONS(2787),
    [sym__dot_custom] = ACTIONS(4482),
    [sym__conjunction_operator_custom] = ACTIONS(4484),
    [sym__disjunction_operator_custom] = ACTIONS(4486),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4488),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4466),
    [sym__plus_then_ws] = ACTIONS(4490),
    [sym__minus_then_ws] = ACTIONS(4490),
    [sym__bang_custom] = ACTIONS(4492),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1478] = {
    [sym__quest] = STATE(583),
    [sym__immediate_quest] = STATE(2767),
    [sym__range_operator] = STATE(509),
    [sym_custom_operator] = STATE(496),
    [sym_navigation_suffix] = STATE(2768),
    [sym_call_suffix] = STATE(2773),
    [sym__fn_call_lambda_arguments] = STATE(2781),
    [sym_value_arguments] = STATE(2399),
    [sym_lambda_literal] = STATE(1706),
    [sym__equality_operator] = STATE(487),
    [sym__comparison_operator] = STATE(486),
    [sym__three_dot_operator] = STATE(1142),
    [sym__open_ended_range_operator] = STATE(509),
    [sym__is_operator] = STATE(4337),
    [sym__additive_operator] = STATE(594),
    [sym__multiplicative_operator] = STATE(598),
    [sym_as_operator] = STATE(4332),
    [sym__bitwise_binary_operator] = STATE(477),
    [sym__postfix_unary_operator] = STATE(2792),
    [sym__eq_eq] = STATE(487),
    [sym__dot] = STATE(5343),
    [sym__conjunction_operator] = STATE(475),
    [sym__disjunction_operator] = STATE(470),
    [sym__nil_coalescing_operator] = STATE(468),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2792),
    [ts_builtin_sym_end] = ACTIONS(2801),
    [anon_sym_BANG] = ACTIONS(2799),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2801),
    [anon_sym_LPAREN] = ACTIONS(2801),
    [anon_sym_LBRACK] = ACTIONS(2801),
    [anon_sym_QMARK] = ACTIONS(2799),
    [anon_sym_QMARK2] = ACTIONS(2801),
    [anon_sym_AMP] = ACTIONS(2801),
    [aux_sym_custom_operator_token1] = ACTIONS(2801),
    [anon_sym_LT] = ACTIONS(2799),
    [anon_sym_GT] = ACTIONS(2799),
    [anon_sym_LBRACE] = ACTIONS(2801),
    [anon_sym_CARET_LBRACE] = ACTIONS(2801),
    [anon_sym_RBRACE] = ACTIONS(2801),
    [anon_sym_PLUS_EQ] = ACTIONS(2801),
    [anon_sym_DASH_EQ] = ACTIONS(2801),
    [anon_sym_STAR_EQ] = ACTIONS(2801),
    [anon_sym_SLASH_EQ] = ACTIONS(2801),
    [anon_sym_PERCENT_EQ] = ACTIONS(2801),
    [anon_sym_BANG_EQ] = ACTIONS(2799),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2801),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2801),
    [anon_sym_LT_EQ] = ACTIONS(2801),
    [anon_sym_GT_EQ] = ACTIONS(2801),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2801),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2801),
    [anon_sym_is] = ACTIONS(2801),
    [anon_sym_PLUS] = ACTIONS(2799),
    [anon_sym_DASH] = ACTIONS(2799),
    [anon_sym_STAR] = ACTIONS(2799),
    [anon_sym_SLASH] = ACTIONS(2799),
    [anon_sym_PERCENT] = ACTIONS(2799),
    [anon_sym_PLUS_PLUS] = ACTIONS(2801),
    [anon_sym_DASH_DASH] = ACTIONS(2801),
    [anon_sym_PIPE] = ACTIONS(2801),
    [anon_sym_CARET] = ACTIONS(2799),
    [anon_sym_LT_LT] = ACTIONS(2801),
    [anon_sym_GT_GT] = ACTIONS(2801),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2801),
    [sym__explicit_semi] = ACTIONS(2801),
    [sym__dot_custom] = ACTIONS(2801),
    [sym__conjunction_operator_custom] = ACTIONS(2801),
    [sym__disjunction_operator_custom] = ACTIONS(2801),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2801),
    [sym__eq_custom] = ACTIONS(2801),
    [sym__eq_eq_custom] = ACTIONS(2801),
    [sym__plus_then_ws] = ACTIONS(2801),
    [sym__minus_then_ws] = ACTIONS(2801),
    [sym__bang_custom] = ACTIONS(2801),
    [sym__as_custom] = ACTIONS(2801),
    [sym__as_quest_custom] = ACTIONS(2801),
    [sym__as_bang_custom] = ACTIONS(2801),
    [sym__custom_operator] = ACTIONS(2801),
  },
  [1479] = {
    [sym__quest] = STATE(583),
    [sym__immediate_quest] = STATE(2767),
    [sym__range_operator] = STATE(509),
    [sym_custom_operator] = STATE(496),
    [sym_navigation_suffix] = STATE(2768),
    [sym_call_suffix] = STATE(2773),
    [sym__fn_call_lambda_arguments] = STATE(2781),
    [sym_value_arguments] = STATE(2399),
    [sym_lambda_literal] = STATE(1706),
    [sym__equality_operator] = STATE(487),
    [sym__comparison_operator] = STATE(486),
    [sym__three_dot_operator] = STATE(1142),
    [sym__open_ended_range_operator] = STATE(509),
    [sym__is_operator] = STATE(4337),
    [sym__additive_operator] = STATE(594),
    [sym__multiplicative_operator] = STATE(598),
    [sym_as_operator] = STATE(4332),
    [sym__bitwise_binary_operator] = STATE(477),
    [sym__postfix_unary_operator] = STATE(2792),
    [sym__eq_eq] = STATE(487),
    [sym__dot] = STATE(5343),
    [sym__conjunction_operator] = STATE(475),
    [sym__disjunction_operator] = STATE(470),
    [sym__nil_coalescing_operator] = STATE(468),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2792),
    [ts_builtin_sym_end] = ACTIONS(2763),
    [anon_sym_BANG] = ACTIONS(2761),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2763),
    [anon_sym_LPAREN] = ACTIONS(2763),
    [anon_sym_LBRACK] = ACTIONS(2763),
    [anon_sym_QMARK] = ACTIONS(2761),
    [anon_sym_QMARK2] = ACTIONS(2763),
    [anon_sym_AMP] = ACTIONS(2763),
    [aux_sym_custom_operator_token1] = ACTIONS(2763),
    [anon_sym_LT] = ACTIONS(2761),
    [anon_sym_GT] = ACTIONS(2761),
    [anon_sym_LBRACE] = ACTIONS(2763),
    [anon_sym_CARET_LBRACE] = ACTIONS(2763),
    [anon_sym_RBRACE] = ACTIONS(2763),
    [anon_sym_PLUS_EQ] = ACTIONS(2763),
    [anon_sym_DASH_EQ] = ACTIONS(2763),
    [anon_sym_STAR_EQ] = ACTIONS(2763),
    [anon_sym_SLASH_EQ] = ACTIONS(2763),
    [anon_sym_PERCENT_EQ] = ACTIONS(2763),
    [anon_sym_BANG_EQ] = ACTIONS(2761),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2763),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2763),
    [anon_sym_LT_EQ] = ACTIONS(2763),
    [anon_sym_GT_EQ] = ACTIONS(2763),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2763),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2763),
    [anon_sym_is] = ACTIONS(2763),
    [anon_sym_PLUS] = ACTIONS(2761),
    [anon_sym_DASH] = ACTIONS(2761),
    [anon_sym_STAR] = ACTIONS(4476),
    [anon_sym_SLASH] = ACTIONS(4476),
    [anon_sym_PERCENT] = ACTIONS(4476),
    [anon_sym_PLUS_PLUS] = ACTIONS(2763),
    [anon_sym_DASH_DASH] = ACTIONS(2763),
    [anon_sym_PIPE] = ACTIONS(2763),
    [anon_sym_CARET] = ACTIONS(2761),
    [anon_sym_LT_LT] = ACTIONS(2763),
    [anon_sym_GT_GT] = ACTIONS(2763),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2763),
    [sym__explicit_semi] = ACTIONS(2763),
    [sym__dot_custom] = ACTIONS(2763),
    [sym__conjunction_operator_custom] = ACTIONS(2763),
    [sym__disjunction_operator_custom] = ACTIONS(2763),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2763),
    [sym__eq_custom] = ACTIONS(2763),
    [sym__eq_eq_custom] = ACTIONS(2763),
    [sym__plus_then_ws] = ACTIONS(2763),
    [sym__minus_then_ws] = ACTIONS(2763),
    [sym__bang_custom] = ACTIONS(2763),
    [sym__as_custom] = ACTIONS(2763),
    [sym__as_quest_custom] = ACTIONS(2763),
    [sym__as_bang_custom] = ACTIONS(2763),
    [sym__custom_operator] = ACTIONS(2763),
  },
  [1480] = {
    [sym__quest] = STATE(580),
    [sym__immediate_quest] = STATE(2961),
    [sym__range_operator] = STATE(460),
    [sym_custom_operator] = STATE(459),
    [sym_navigation_suffix] = STATE(2841),
    [sym_call_suffix] = STATE(2958),
    [sym__fn_call_lambda_arguments] = STATE(2956),
    [sym_value_arguments] = STATE(2531),
    [sym_lambda_literal] = STATE(1720),
    [sym__equality_operator] = STATE(400),
    [sym__comparison_operator] = STATE(457),
    [sym__three_dot_operator] = STATE(1163),
    [sym__open_ended_range_operator] = STATE(460),
    [sym__is_operator] = STATE(4171),
    [sym__additive_operator] = STATE(600),
    [sym__multiplicative_operator] = STATE(601),
    [sym_as_operator] = STATE(4168),
    [sym__bitwise_binary_operator] = STATE(456),
    [sym__postfix_unary_operator] = STATE(2948),
    [sym_willset_didset_block] = STATE(7066),
    [sym__eq_eq] = STATE(400),
    [sym__dot] = STATE(5373),
    [sym__conjunction_operator] = STATE(452),
    [sym__disjunction_operator] = STATE(451),
    [sym__nil_coalescing_operator] = STATE(449),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2948),
    [anon_sym_BANG] = ACTIONS(4530),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2769),
    [anon_sym_LPAREN] = ACTIONS(4532),
    [anon_sym_LBRACK] = ACTIONS(4534),
    [anon_sym_QMARK] = ACTIONS(4536),
    [anon_sym_QMARK2] = ACTIONS(4538),
    [anon_sym_AMP] = ACTIONS(4540),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4542),
    [anon_sym_GT] = ACTIONS(4542),
    [anon_sym_LBRACE] = ACTIONS(4544),
    [anon_sym_CARET_LBRACE] = ACTIONS(4546),
    [anon_sym_RBRACE] = ACTIONS(2769),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4548),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4550),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4550),
    [anon_sym_LT_EQ] = ACTIONS(4552),
    [anon_sym_GT_EQ] = ACTIONS(4552),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1163),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4554),
    [anon_sym_is] = ACTIONS(4556),
    [anon_sym_PLUS] = ACTIONS(4558),
    [anon_sym_DASH] = ACTIONS(4558),
    [anon_sym_STAR] = ACTIONS(4560),
    [anon_sym_SLASH] = ACTIONS(4560),
    [anon_sym_PERCENT] = ACTIONS(4560),
    [anon_sym_PLUS_PLUS] = ACTIONS(4562),
    [anon_sym_DASH_DASH] = ACTIONS(4562),
    [anon_sym_PIPE] = ACTIONS(4540),
    [anon_sym_CARET] = ACTIONS(4564),
    [anon_sym_LT_LT] = ACTIONS(4540),
    [anon_sym_GT_GT] = ACTIONS(4540),
    [sym_multiline_comment] = ACTIONS(2769),
    [sym__implicit_semi] = ACTIONS(2769),
    [sym__explicit_semi] = ACTIONS(2769),
    [sym__dot_custom] = ACTIONS(4566),
    [sym__conjunction_operator_custom] = ACTIONS(4568),
    [sym__disjunction_operator_custom] = ACTIONS(4570),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4572),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4550),
    [sym__plus_then_ws] = ACTIONS(4574),
    [sym__minus_then_ws] = ACTIONS(4574),
    [sym__bang_custom] = ACTIONS(4576),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1481] = {
    [sym__quest] = STATE(580),
    [sym__immediate_quest] = STATE(2961),
    [sym__range_operator] = STATE(460),
    [sym_custom_operator] = STATE(459),
    [sym_navigation_suffix] = STATE(2841),
    [sym_call_suffix] = STATE(2958),
    [sym__fn_call_lambda_arguments] = STATE(2956),
    [sym_value_arguments] = STATE(2488),
    [sym_expr_hack_at_ternary_binary_call_suffix] = STATE(2896),
    [sym_lambda_literal] = STATE(1720),
    [sym__equality_operator] = STATE(400),
    [sym__comparison_operator] = STATE(457),
    [sym__three_dot_operator] = STATE(1163),
    [sym__open_ended_range_operator] = STATE(460),
    [sym__is_operator] = STATE(4171),
    [sym__additive_operator] = STATE(600),
    [sym__multiplicative_operator] = STATE(601),
    [sym_as_operator] = STATE(4168),
    [sym__bitwise_binary_operator] = STATE(456),
    [sym__postfix_unary_operator] = STATE(2948),
    [sym__eq_eq] = STATE(400),
    [sym__dot] = STATE(5373),
    [sym__conjunction_operator] = STATE(452),
    [sym__disjunction_operator] = STATE(451),
    [sym__nil_coalescing_operator] = STATE(449),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2948),
    [anon_sym_BANG] = ACTIONS(4530),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2703),
    [anon_sym_LPAREN] = ACTIONS(4532),
    [anon_sym_LBRACK] = ACTIONS(4534),
    [anon_sym_QMARK] = ACTIONS(2709),
    [anon_sym_QMARK2] = ACTIONS(4538),
    [anon_sym_AMP] = ACTIONS(4540),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4542),
    [anon_sym_GT] = ACTIONS(4542),
    [anon_sym_LBRACE] = ACTIONS(2703),
    [anon_sym_CARET_LBRACE] = ACTIONS(2703),
    [anon_sym_RBRACE] = ACTIONS(2703),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4548),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4550),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4550),
    [anon_sym_LT_EQ] = ACTIONS(4552),
    [anon_sym_GT_EQ] = ACTIONS(4552),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1163),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4554),
    [anon_sym_is] = ACTIONS(4556),
    [anon_sym_PLUS] = ACTIONS(4558),
    [anon_sym_DASH] = ACTIONS(4558),
    [anon_sym_STAR] = ACTIONS(4560),
    [anon_sym_SLASH] = ACTIONS(4560),
    [anon_sym_PERCENT] = ACTIONS(4560),
    [anon_sym_PLUS_PLUS] = ACTIONS(4562),
    [anon_sym_DASH_DASH] = ACTIONS(4562),
    [anon_sym_PIPE] = ACTIONS(4540),
    [anon_sym_CARET] = ACTIONS(4564),
    [anon_sym_LT_LT] = ACTIONS(4540),
    [anon_sym_GT_GT] = ACTIONS(4540),
    [sym_multiline_comment] = ACTIONS(2703),
    [sym__implicit_semi] = ACTIONS(2703),
    [sym__explicit_semi] = ACTIONS(2703),
    [sym__dot_custom] = ACTIONS(4566),
    [sym__conjunction_operator_custom] = ACTIONS(4568),
    [sym__disjunction_operator_custom] = ACTIONS(4570),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4572),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4550),
    [sym__plus_then_ws] = ACTIONS(4574),
    [sym__minus_then_ws] = ACTIONS(4574),
    [sym__bang_custom] = ACTIONS(4576),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1482] = {
    [sym__dot] = STATE(5413),
    [aux_sym_user_type_repeat1] = STATE(1482),
    [anon_sym_BANG] = ACTIONS(2991),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2991),
    [aux_sym_simple_identifier_token2] = ACTIONS(2993),
    [aux_sym_simple_identifier_token3] = ACTIONS(2993),
    [aux_sym_simple_identifier_token4] = ACTIONS(2993),
    [anon_sym_actor] = ACTIONS(2991),
    [anon_sym_async] = ACTIONS(2991),
    [anon_sym_each] = ACTIONS(2991),
    [anon_sym_lazy] = ACTIONS(2991),
    [anon_sym_repeat] = ACTIONS(2991),
    [anon_sym_package] = ACTIONS(2991),
    [anon_sym_nil] = ACTIONS(2991),
    [sym_real_literal] = ACTIONS(2993),
    [sym_integer_literal] = ACTIONS(2991),
    [sym_hex_literal] = ACTIONS(2991),
    [sym_oct_literal] = ACTIONS(2993),
    [sym_bin_literal] = ACTIONS(2993),
    [anon_sym_true] = ACTIONS(2991),
    [anon_sym_false] = ACTIONS(2991),
    [anon_sym_DQUOTE] = ACTIONS(2991),
    [anon_sym_BSLASH] = ACTIONS(2993),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2993),
    [sym__oneline_regex_literal] = ACTIONS(2991),
    [anon_sym_LPAREN] = ACTIONS(2993),
    [anon_sym_LBRACK] = ACTIONS(2993),
    [anon_sym_AMP] = ACTIONS(2993),
    [anon_sym_TILDE] = ACTIONS(2993),
    [anon_sym_if] = ACTIONS(2991),
    [anon_sym_switch] = ACTIONS(2991),
    [aux_sym_custom_operator_token1] = ACTIONS(2993),
    [anon_sym_LT] = ACTIONS(2991),
    [anon_sym_GT] = ACTIONS(2991),
    [anon_sym_await] = ACTIONS(2991),
    [anon_sym_LBRACE] = ACTIONS(2993),
    [anon_sym_CARET_LBRACE] = ACTIONS(2993),
    [anon_sym_self] = ACTIONS(2991),
    [anon_sym_super] = ACTIONS(2991),
    [anon_sym_try] = ACTIONS(2991),
    [anon_sym_PLUS_EQ] = ACTIONS(2993),
    [anon_sym_DASH_EQ] = ACTIONS(2993),
    [anon_sym_STAR_EQ] = ACTIONS(2993),
    [anon_sym_SLASH_EQ] = ACTIONS(2993),
    [anon_sym_PERCENT_EQ] = ACTIONS(2993),
    [anon_sym_BANG_EQ] = ACTIONS(2991),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2993),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2993),
    [anon_sym_LT_EQ] = ACTIONS(2993),
    [anon_sym_GT_EQ] = ACTIONS(2993),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2993),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2993),
    [anon_sym_PLUS] = ACTIONS(2991),
    [anon_sym_DASH] = ACTIONS(2991),
    [anon_sym_STAR] = ACTIONS(2991),
    [anon_sym_SLASH] = ACTIONS(2991),
    [anon_sym_PERCENT] = ACTIONS(2991),
    [anon_sym_PLUS_PLUS] = ACTIONS(2993),
    [anon_sym_DASH_DASH] = ACTIONS(2993),
    [anon_sym_PIPE] = ACTIONS(2993),
    [anon_sym_CARET] = ACTIONS(2991),
    [anon_sym_LT_LT] = ACTIONS(2993),
    [anon_sym_GT_GT] = ACTIONS(2993),
    [anon_sym_AT] = ACTIONS(2993),
    [anon_sym_borrowing] = ACTIONS(2991),
    [anon_sym_consuming] = ACTIONS(2991),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2993),
    [sym_raw_str_end_part] = ACTIONS(2993),
    [sym__dot_custom] = ACTIONS(4578),
    [sym__eq_custom] = ACTIONS(2993),
    [sym__eq_eq_custom] = ACTIONS(2993),
    [sym__plus_then_ws] = ACTIONS(2993),
    [sym__minus_then_ws] = ACTIONS(2993),
    [sym__bang_custom] = ACTIONS(2993),
    [sym__custom_operator] = ACTIONS(2993),
    [sym__hash_symbol_custom] = ACTIONS(2993),
    [sym__directive_if] = ACTIONS(2993),
    [sym__directive_elseif] = ACTIONS(2993),
    [sym__directive_else] = ACTIONS(2993),
    [sym__directive_endif] = ACTIONS(2993),
  },
  [1483] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(2791),
    [anon_sym_COMMA] = ACTIONS(2791),
    [anon_sym_COLON] = ACTIONS(2791),
    [anon_sym_LPAREN] = ACTIONS(2791),
    [anon_sym_LBRACK] = ACTIONS(2791),
    [anon_sym_RBRACK] = ACTIONS(2791),
    [anon_sym_QMARK] = ACTIONS(2793),
    [anon_sym_QMARK2] = ACTIONS(2791),
    [anon_sym_AMP] = ACTIONS(2791),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2793),
    [anon_sym_GT] = ACTIONS(2793),
    [anon_sym_LBRACE] = ACTIONS(2791),
    [anon_sym_CARET_LBRACE] = ACTIONS(2791),
    [anon_sym_PLUS_EQ] = ACTIONS(2791),
    [anon_sym_DASH_EQ] = ACTIONS(2791),
    [anon_sym_STAR_EQ] = ACTIONS(2791),
    [anon_sym_SLASH_EQ] = ACTIONS(2791),
    [anon_sym_PERCENT_EQ] = ACTIONS(2791),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(2791),
    [anon_sym_GT_EQ] = ACTIONS(2791),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2791),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2791),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(2791),
    [anon_sym_CARET] = ACTIONS(2793),
    [anon_sym_LT_LT] = ACTIONS(2791),
    [anon_sym_GT_GT] = ACTIONS(2791),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2791),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2791),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2791),
    [sym__as_quest_custom] = ACTIONS(2791),
    [sym__as_bang_custom] = ACTIONS(2791),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1484] = {
    [sym__quest] = STATE(580),
    [sym__immediate_quest] = STATE(2961),
    [sym__range_operator] = STATE(460),
    [sym_custom_operator] = STATE(459),
    [sym_navigation_suffix] = STATE(2841),
    [sym_call_suffix] = STATE(2958),
    [sym__fn_call_lambda_arguments] = STATE(2956),
    [sym_value_arguments] = STATE(2531),
    [sym_lambda_literal] = STATE(1720),
    [sym__equality_operator] = STATE(400),
    [sym__comparison_operator] = STATE(457),
    [sym__three_dot_operator] = STATE(1163),
    [sym__open_ended_range_operator] = STATE(460),
    [sym__is_operator] = STATE(4171),
    [sym__additive_operator] = STATE(600),
    [sym__multiplicative_operator] = STATE(601),
    [sym_as_operator] = STATE(4168),
    [sym__bitwise_binary_operator] = STATE(456),
    [sym__postfix_unary_operator] = STATE(2948),
    [sym__eq_eq] = STATE(400),
    [sym__dot] = STATE(5373),
    [sym__conjunction_operator] = STATE(452),
    [sym__disjunction_operator] = STATE(451),
    [sym__nil_coalescing_operator] = STATE(449),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2948),
    [anon_sym_BANG] = ACTIONS(4530),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2783),
    [anon_sym_LPAREN] = ACTIONS(4532),
    [anon_sym_LBRACK] = ACTIONS(4534),
    [anon_sym_QMARK] = ACTIONS(4536),
    [anon_sym_QMARK2] = ACTIONS(4538),
    [anon_sym_AMP] = ACTIONS(4540),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4542),
    [anon_sym_GT] = ACTIONS(4542),
    [anon_sym_LBRACE] = ACTIONS(4546),
    [anon_sym_CARET_LBRACE] = ACTIONS(4546),
    [anon_sym_RBRACE] = ACTIONS(2783),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4548),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4550),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4550),
    [anon_sym_LT_EQ] = ACTIONS(4552),
    [anon_sym_GT_EQ] = ACTIONS(4552),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1163),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4554),
    [anon_sym_is] = ACTIONS(4556),
    [anon_sym_PLUS] = ACTIONS(4558),
    [anon_sym_DASH] = ACTIONS(4558),
    [anon_sym_STAR] = ACTIONS(4560),
    [anon_sym_SLASH] = ACTIONS(4560),
    [anon_sym_PERCENT] = ACTIONS(4560),
    [anon_sym_PLUS_PLUS] = ACTIONS(4562),
    [anon_sym_DASH_DASH] = ACTIONS(4562),
    [anon_sym_PIPE] = ACTIONS(4540),
    [anon_sym_CARET] = ACTIONS(4564),
    [anon_sym_LT_LT] = ACTIONS(4540),
    [anon_sym_GT_GT] = ACTIONS(4540),
    [sym_multiline_comment] = ACTIONS(2783),
    [sym__implicit_semi] = ACTIONS(2783),
    [sym__explicit_semi] = ACTIONS(2783),
    [sym__dot_custom] = ACTIONS(4566),
    [sym__conjunction_operator_custom] = ACTIONS(4568),
    [sym__disjunction_operator_custom] = ACTIONS(4570),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4572),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4550),
    [sym__plus_then_ws] = ACTIONS(4574),
    [sym__minus_then_ws] = ACTIONS(4574),
    [sym__bang_custom] = ACTIONS(4576),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1485] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_array_literal_repeat1] = STATE(7448),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(4581),
    [anon_sym_COLON] = ACTIONS(4583),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_RBRACK] = ACTIONS(4585),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1486] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2775),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(2777),
    [anon_sym_COMMA] = ACTIONS(2777),
    [anon_sym_COLON] = ACTIONS(2777),
    [anon_sym_LPAREN] = ACTIONS(2777),
    [anon_sym_LBRACK] = ACTIONS(2777),
    [anon_sym_RBRACK] = ACTIONS(2777),
    [anon_sym_QMARK] = ACTIONS(2775),
    [anon_sym_QMARK2] = ACTIONS(2777),
    [anon_sym_AMP] = ACTIONS(2777),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2775),
    [anon_sym_GT] = ACTIONS(2775),
    [anon_sym_LBRACE] = ACTIONS(2777),
    [anon_sym_CARET_LBRACE] = ACTIONS(2777),
    [anon_sym_PLUS_EQ] = ACTIONS(2777),
    [anon_sym_DASH_EQ] = ACTIONS(2777),
    [anon_sym_STAR_EQ] = ACTIONS(2777),
    [anon_sym_SLASH_EQ] = ACTIONS(2777),
    [anon_sym_PERCENT_EQ] = ACTIONS(2777),
    [anon_sym_BANG_EQ] = ACTIONS(2775),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2777),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2777),
    [anon_sym_LT_EQ] = ACTIONS(2777),
    [anon_sym_GT_EQ] = ACTIONS(2777),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2777),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2777),
    [anon_sym_is] = ACTIONS(2777),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2777),
    [anon_sym_DASH_DASH] = ACTIONS(2777),
    [anon_sym_PIPE] = ACTIONS(2777),
    [anon_sym_CARET] = ACTIONS(2775),
    [anon_sym_LT_LT] = ACTIONS(2777),
    [anon_sym_GT_GT] = ACTIONS(2777),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2777),
    [sym__conjunction_operator_custom] = ACTIONS(2777),
    [sym__disjunction_operator_custom] = ACTIONS(2777),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2777),
    [sym__eq_eq_custom] = ACTIONS(2777),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2777),
    [sym__as_custom] = ACTIONS(2777),
    [sym__as_quest_custom] = ACTIONS(2777),
    [sym__as_bang_custom] = ACTIONS(2777),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1487] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_array_literal_repeat1] = STATE(8014),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(4591),
    [anon_sym_COLON] = ACTIONS(4583),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_RBRACK] = ACTIONS(4593),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1488] = {
    [sym__dot] = STATE(5413),
    [aux_sym_user_type_repeat1] = STATE(1482),
    [anon_sym_BANG] = ACTIONS(3039),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3039),
    [aux_sym_simple_identifier_token2] = ACTIONS(3041),
    [aux_sym_simple_identifier_token3] = ACTIONS(3041),
    [aux_sym_simple_identifier_token4] = ACTIONS(3041),
    [anon_sym_actor] = ACTIONS(3039),
    [anon_sym_async] = ACTIONS(3039),
    [anon_sym_each] = ACTIONS(3039),
    [anon_sym_lazy] = ACTIONS(3039),
    [anon_sym_repeat] = ACTIONS(3039),
    [anon_sym_package] = ACTIONS(3039),
    [anon_sym_nil] = ACTIONS(3039),
    [sym_real_literal] = ACTIONS(3041),
    [sym_integer_literal] = ACTIONS(3039),
    [sym_hex_literal] = ACTIONS(3039),
    [sym_oct_literal] = ACTIONS(3041),
    [sym_bin_literal] = ACTIONS(3041),
    [anon_sym_true] = ACTIONS(3039),
    [anon_sym_false] = ACTIONS(3039),
    [anon_sym_DQUOTE] = ACTIONS(3039),
    [anon_sym_BSLASH] = ACTIONS(3041),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(3041),
    [sym__oneline_regex_literal] = ACTIONS(3039),
    [anon_sym_LPAREN] = ACTIONS(3041),
    [anon_sym_LBRACK] = ACTIONS(3041),
    [anon_sym_AMP] = ACTIONS(3041),
    [anon_sym_TILDE] = ACTIONS(3041),
    [anon_sym_if] = ACTIONS(3039),
    [anon_sym_switch] = ACTIONS(3039),
    [aux_sym_custom_operator_token1] = ACTIONS(3041),
    [anon_sym_LT] = ACTIONS(3039),
    [anon_sym_GT] = ACTIONS(3039),
    [anon_sym_await] = ACTIONS(3039),
    [anon_sym_LBRACE] = ACTIONS(3041),
    [anon_sym_CARET_LBRACE] = ACTIONS(3041),
    [anon_sym_self] = ACTIONS(3039),
    [anon_sym_super] = ACTIONS(3039),
    [anon_sym_try] = ACTIONS(3039),
    [anon_sym_PLUS_EQ] = ACTIONS(3041),
    [anon_sym_DASH_EQ] = ACTIONS(3041),
    [anon_sym_STAR_EQ] = ACTIONS(3041),
    [anon_sym_SLASH_EQ] = ACTIONS(3041),
    [anon_sym_PERCENT_EQ] = ACTIONS(3041),
    [anon_sym_BANG_EQ] = ACTIONS(3039),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3041),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3041),
    [anon_sym_LT_EQ] = ACTIONS(3041),
    [anon_sym_GT_EQ] = ACTIONS(3041),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3041),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3041),
    [anon_sym_PLUS] = ACTIONS(3039),
    [anon_sym_DASH] = ACTIONS(3039),
    [anon_sym_STAR] = ACTIONS(3039),
    [anon_sym_SLASH] = ACTIONS(3039),
    [anon_sym_PERCENT] = ACTIONS(3039),
    [anon_sym_PLUS_PLUS] = ACTIONS(3041),
    [anon_sym_DASH_DASH] = ACTIONS(3041),
    [anon_sym_PIPE] = ACTIONS(3041),
    [anon_sym_CARET] = ACTIONS(3039),
    [anon_sym_LT_LT] = ACTIONS(3041),
    [anon_sym_GT_GT] = ACTIONS(3041),
    [anon_sym_AT] = ACTIONS(3041),
    [anon_sym_borrowing] = ACTIONS(3039),
    [anon_sym_consuming] = ACTIONS(3039),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(3041),
    [sym_raw_str_end_part] = ACTIONS(3041),
    [sym__dot_custom] = ACTIONS(4595),
    [sym__eq_custom] = ACTIONS(3041),
    [sym__eq_eq_custom] = ACTIONS(3041),
    [sym__plus_then_ws] = ACTIONS(3041),
    [sym__minus_then_ws] = ACTIONS(3041),
    [sym__bang_custom] = ACTIONS(3041),
    [sym__custom_operator] = ACTIONS(3041),
    [sym__hash_symbol_custom] = ACTIONS(3041),
    [sym__directive_if] = ACTIONS(3041),
    [sym__directive_elseif] = ACTIONS(3041),
    [sym__directive_else] = ACTIONS(3041),
    [sym__directive_endif] = ACTIONS(3041),
  },
  [1489] = {
    [sym__quest] = STATE(621),
    [sym__immediate_quest] = STATE(3473),
    [sym__range_operator] = STATE(410),
    [sym_custom_operator] = STATE(409),
    [sym_navigation_suffix] = STATE(3476),
    [sym_call_suffix] = STATE(3477),
    [sym__fn_call_lambda_arguments] = STATE(3478),
    [sym_value_arguments] = STATE(2764),
    [sym_expr_hack_at_ternary_binary_call_suffix] = STATE(3526),
    [sym_lambda_literal] = STATE(1735),
    [sym__equality_operator] = STATE(402),
    [sym__comparison_operator] = STATE(401),
    [sym__three_dot_operator] = STATE(1224),
    [sym__open_ended_range_operator] = STATE(410),
    [sym__is_operator] = STATE(4380),
    [sym__additive_operator] = STATE(697),
    [sym__multiplicative_operator] = STATE(698),
    [sym_as_operator] = STATE(4378),
    [sym__bitwise_binary_operator] = STATE(458),
    [sym__postfix_unary_operator] = STATE(3486),
    [sym__eq_eq] = STATE(402),
    [sym__dot] = STATE(5389),
    [sym__conjunction_operator] = STATE(428),
    [sym__disjunction_operator] = STATE(430),
    [sym__nil_coalescing_operator] = STATE(438),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3486),
    [anon_sym_BANG] = ACTIONS(4598),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2703),
    [anon_sym_LPAREN] = ACTIONS(4600),
    [anon_sym_LBRACK] = ACTIONS(4602),
    [anon_sym_QMARK] = ACTIONS(2709),
    [anon_sym_QMARK2] = ACTIONS(4604),
    [anon_sym_AMP] = ACTIONS(4606),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4608),
    [anon_sym_GT] = ACTIONS(4608),
    [anon_sym_LBRACE] = ACTIONS(2703),
    [anon_sym_CARET_LBRACE] = ACTIONS(2703),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4610),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4612),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4612),
    [anon_sym_LT_EQ] = ACTIONS(4614),
    [anon_sym_GT_EQ] = ACTIONS(4614),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4616),
    [anon_sym_is] = ACTIONS(4618),
    [anon_sym_PLUS] = ACTIONS(4620),
    [anon_sym_DASH] = ACTIONS(4620),
    [anon_sym_STAR] = ACTIONS(4622),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [anon_sym_PLUS_PLUS] = ACTIONS(4624),
    [anon_sym_DASH_DASH] = ACTIONS(4624),
    [anon_sym_PIPE] = ACTIONS(4606),
    [anon_sym_CARET] = ACTIONS(4626),
    [anon_sym_LT_LT] = ACTIONS(4606),
    [anon_sym_GT_GT] = ACTIONS(4606),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(4628),
    [sym__conjunction_operator_custom] = ACTIONS(4630),
    [sym__disjunction_operator_custom] = ACTIONS(4632),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4634),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4612),
    [sym__plus_then_ws] = ACTIONS(4636),
    [sym__minus_then_ws] = ACTIONS(4636),
    [sym__bang_custom] = ACTIONS(4638),
    [sym_where_keyword] = ACTIONS(2703),
    [sym_else] = ACTIONS(2703),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1490] = {
    [sym__quest] = STATE(580),
    [sym__immediate_quest] = STATE(2961),
    [sym__range_operator] = STATE(460),
    [sym_custom_operator] = STATE(459),
    [sym_navigation_suffix] = STATE(2841),
    [sym_call_suffix] = STATE(2958),
    [sym__fn_call_lambda_arguments] = STATE(2956),
    [sym_value_arguments] = STATE(2531),
    [sym_lambda_literal] = STATE(1720),
    [sym__equality_operator] = STATE(400),
    [sym__comparison_operator] = STATE(457),
    [sym__three_dot_operator] = STATE(1163),
    [sym__open_ended_range_operator] = STATE(460),
    [sym__is_operator] = STATE(4171),
    [sym__additive_operator] = STATE(600),
    [sym__multiplicative_operator] = STATE(601),
    [sym_as_operator] = STATE(4168),
    [sym__bitwise_binary_operator] = STATE(456),
    [sym__postfix_unary_operator] = STATE(2948),
    [sym__eq_eq] = STATE(400),
    [sym__dot] = STATE(5373),
    [sym__conjunction_operator] = STATE(452),
    [sym__disjunction_operator] = STATE(451),
    [sym__nil_coalescing_operator] = STATE(449),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2948),
    [anon_sym_BANG] = ACTIONS(4530),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2753),
    [anon_sym_LPAREN] = ACTIONS(4532),
    [anon_sym_LBRACK] = ACTIONS(4534),
    [anon_sym_QMARK] = ACTIONS(4536),
    [anon_sym_QMARK2] = ACTIONS(4538),
    [anon_sym_AMP] = ACTIONS(4540),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4542),
    [anon_sym_GT] = ACTIONS(4542),
    [anon_sym_LBRACE] = ACTIONS(4546),
    [anon_sym_CARET_LBRACE] = ACTIONS(4546),
    [anon_sym_RBRACE] = ACTIONS(2753),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4548),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4550),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4550),
    [anon_sym_LT_EQ] = ACTIONS(4552),
    [anon_sym_GT_EQ] = ACTIONS(4552),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1163),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4554),
    [anon_sym_is] = ACTIONS(4556),
    [anon_sym_PLUS] = ACTIONS(4558),
    [anon_sym_DASH] = ACTIONS(4558),
    [anon_sym_STAR] = ACTIONS(4560),
    [anon_sym_SLASH] = ACTIONS(4560),
    [anon_sym_PERCENT] = ACTIONS(4560),
    [anon_sym_PLUS_PLUS] = ACTIONS(4562),
    [anon_sym_DASH_DASH] = ACTIONS(4562),
    [anon_sym_PIPE] = ACTIONS(4540),
    [anon_sym_CARET] = ACTIONS(4564),
    [anon_sym_LT_LT] = ACTIONS(4540),
    [anon_sym_GT_GT] = ACTIONS(4540),
    [sym_multiline_comment] = ACTIONS(2753),
    [sym__implicit_semi] = ACTIONS(2753),
    [sym__explicit_semi] = ACTIONS(2753),
    [sym__dot_custom] = ACTIONS(4566),
    [sym__conjunction_operator_custom] = ACTIONS(4568),
    [sym__disjunction_operator_custom] = ACTIONS(4570),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4572),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4550),
    [sym__plus_then_ws] = ACTIONS(4574),
    [sym__minus_then_ws] = ACTIONS(4574),
    [sym__bang_custom] = ACTIONS(4576),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1491] = {
    [sym__quest] = STATE(580),
    [sym__immediate_quest] = STATE(2961),
    [sym__range_operator] = STATE(460),
    [sym_custom_operator] = STATE(459),
    [sym_navigation_suffix] = STATE(2841),
    [sym_call_suffix] = STATE(2958),
    [sym__fn_call_lambda_arguments] = STATE(2956),
    [sym_value_arguments] = STATE(2531),
    [sym_lambda_literal] = STATE(1720),
    [sym__equality_operator] = STATE(400),
    [sym__comparison_operator] = STATE(457),
    [sym__three_dot_operator] = STATE(1163),
    [sym__open_ended_range_operator] = STATE(460),
    [sym__is_operator] = STATE(4171),
    [sym__additive_operator] = STATE(600),
    [sym__multiplicative_operator] = STATE(601),
    [sym_as_operator] = STATE(4168),
    [sym__bitwise_binary_operator] = STATE(456),
    [sym__postfix_unary_operator] = STATE(2948),
    [sym__eq_eq] = STATE(400),
    [sym__dot] = STATE(5373),
    [sym__conjunction_operator] = STATE(452),
    [sym__disjunction_operator] = STATE(451),
    [sym__nil_coalescing_operator] = STATE(449),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2948),
    [anon_sym_BANG] = ACTIONS(4530),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2791),
    [anon_sym_LPAREN] = ACTIONS(2791),
    [anon_sym_LBRACK] = ACTIONS(2791),
    [anon_sym_QMARK] = ACTIONS(2793),
    [anon_sym_QMARK2] = ACTIONS(2791),
    [anon_sym_AMP] = ACTIONS(2791),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2793),
    [anon_sym_GT] = ACTIONS(2793),
    [anon_sym_LBRACE] = ACTIONS(2791),
    [anon_sym_CARET_LBRACE] = ACTIONS(2791),
    [anon_sym_RBRACE] = ACTIONS(2791),
    [anon_sym_PLUS_EQ] = ACTIONS(2791),
    [anon_sym_DASH_EQ] = ACTIONS(2791),
    [anon_sym_STAR_EQ] = ACTIONS(2791),
    [anon_sym_SLASH_EQ] = ACTIONS(2791),
    [anon_sym_PERCENT_EQ] = ACTIONS(2791),
    [anon_sym_BANG_EQ] = ACTIONS(4548),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4550),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4550),
    [anon_sym_LT_EQ] = ACTIONS(2791),
    [anon_sym_GT_EQ] = ACTIONS(2791),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2791),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2791),
    [anon_sym_is] = ACTIONS(4556),
    [anon_sym_PLUS] = ACTIONS(4558),
    [anon_sym_DASH] = ACTIONS(4558),
    [anon_sym_STAR] = ACTIONS(4560),
    [anon_sym_SLASH] = ACTIONS(4560),
    [anon_sym_PERCENT] = ACTIONS(4560),
    [anon_sym_PLUS_PLUS] = ACTIONS(4562),
    [anon_sym_DASH_DASH] = ACTIONS(4562),
    [anon_sym_PIPE] = ACTIONS(2791),
    [anon_sym_CARET] = ACTIONS(2793),
    [anon_sym_LT_LT] = ACTIONS(2791),
    [anon_sym_GT_GT] = ACTIONS(2791),
    [sym_multiline_comment] = ACTIONS(2791),
    [sym__implicit_semi] = ACTIONS(2791),
    [sym__explicit_semi] = ACTIONS(2791),
    [sym__dot_custom] = ACTIONS(2791),
    [sym__conjunction_operator_custom] = ACTIONS(4568),
    [sym__disjunction_operator_custom] = ACTIONS(4570),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4572),
    [sym__eq_custom] = ACTIONS(2791),
    [sym__eq_eq_custom] = ACTIONS(4550),
    [sym__plus_then_ws] = ACTIONS(4574),
    [sym__minus_then_ws] = ACTIONS(4574),
    [sym__bang_custom] = ACTIONS(4576),
    [sym__as_custom] = ACTIONS(2791),
    [sym__as_quest_custom] = ACTIONS(2791),
    [sym__as_bang_custom] = ACTIONS(2791),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1492] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2761),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(2763),
    [anon_sym_COMMA] = ACTIONS(2763),
    [anon_sym_COLON] = ACTIONS(2763),
    [anon_sym_LPAREN] = ACTIONS(2763),
    [anon_sym_LBRACK] = ACTIONS(2763),
    [anon_sym_RBRACK] = ACTIONS(2763),
    [anon_sym_QMARK] = ACTIONS(2761),
    [anon_sym_QMARK2] = ACTIONS(2763),
    [anon_sym_AMP] = ACTIONS(2763),
    [aux_sym_custom_operator_token1] = ACTIONS(2763),
    [anon_sym_LT] = ACTIONS(2761),
    [anon_sym_GT] = ACTIONS(2761),
    [anon_sym_LBRACE] = ACTIONS(2763),
    [anon_sym_CARET_LBRACE] = ACTIONS(2763),
    [anon_sym_PLUS_EQ] = ACTIONS(2763),
    [anon_sym_DASH_EQ] = ACTIONS(2763),
    [anon_sym_STAR_EQ] = ACTIONS(2763),
    [anon_sym_SLASH_EQ] = ACTIONS(2763),
    [anon_sym_PERCENT_EQ] = ACTIONS(2763),
    [anon_sym_BANG_EQ] = ACTIONS(2761),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2763),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2763),
    [anon_sym_LT_EQ] = ACTIONS(2763),
    [anon_sym_GT_EQ] = ACTIONS(2763),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2763),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2763),
    [anon_sym_is] = ACTIONS(2763),
    [anon_sym_PLUS] = ACTIONS(2761),
    [anon_sym_DASH] = ACTIONS(2761),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2763),
    [anon_sym_DASH_DASH] = ACTIONS(2763),
    [anon_sym_PIPE] = ACTIONS(2763),
    [anon_sym_CARET] = ACTIONS(2761),
    [anon_sym_LT_LT] = ACTIONS(2763),
    [anon_sym_GT_GT] = ACTIONS(2763),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2763),
    [sym__conjunction_operator_custom] = ACTIONS(2763),
    [sym__disjunction_operator_custom] = ACTIONS(2763),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2763),
    [sym__eq_custom] = ACTIONS(2763),
    [sym__eq_eq_custom] = ACTIONS(2763),
    [sym__plus_then_ws] = ACTIONS(2763),
    [sym__minus_then_ws] = ACTIONS(2763),
    [sym__bang_custom] = ACTIONS(2763),
    [sym__as_custom] = ACTIONS(2763),
    [sym__as_quest_custom] = ACTIONS(2763),
    [sym__as_bang_custom] = ACTIONS(2763),
    [sym__custom_operator] = ACTIONS(2763),
  },
  [1493] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2799),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(2801),
    [anon_sym_COMMA] = ACTIONS(2801),
    [anon_sym_COLON] = ACTIONS(2801),
    [anon_sym_LPAREN] = ACTIONS(2801),
    [anon_sym_LBRACK] = ACTIONS(2801),
    [anon_sym_RBRACK] = ACTIONS(2801),
    [anon_sym_QMARK] = ACTIONS(2799),
    [anon_sym_QMARK2] = ACTIONS(2801),
    [anon_sym_AMP] = ACTIONS(2801),
    [aux_sym_custom_operator_token1] = ACTIONS(2801),
    [anon_sym_LT] = ACTIONS(2799),
    [anon_sym_GT] = ACTIONS(2799),
    [anon_sym_LBRACE] = ACTIONS(2801),
    [anon_sym_CARET_LBRACE] = ACTIONS(2801),
    [anon_sym_PLUS_EQ] = ACTIONS(2801),
    [anon_sym_DASH_EQ] = ACTIONS(2801),
    [anon_sym_STAR_EQ] = ACTIONS(2801),
    [anon_sym_SLASH_EQ] = ACTIONS(2801),
    [anon_sym_PERCENT_EQ] = ACTIONS(2801),
    [anon_sym_BANG_EQ] = ACTIONS(2799),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2801),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2801),
    [anon_sym_LT_EQ] = ACTIONS(2801),
    [anon_sym_GT_EQ] = ACTIONS(2801),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2801),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2801),
    [anon_sym_is] = ACTIONS(2801),
    [anon_sym_PLUS] = ACTIONS(2799),
    [anon_sym_DASH] = ACTIONS(2799),
    [anon_sym_STAR] = ACTIONS(2799),
    [anon_sym_SLASH] = ACTIONS(2799),
    [anon_sym_PERCENT] = ACTIONS(2799),
    [anon_sym_PLUS_PLUS] = ACTIONS(2801),
    [anon_sym_DASH_DASH] = ACTIONS(2801),
    [anon_sym_PIPE] = ACTIONS(2801),
    [anon_sym_CARET] = ACTIONS(2799),
    [anon_sym_LT_LT] = ACTIONS(2801),
    [anon_sym_GT_GT] = ACTIONS(2801),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2801),
    [sym__conjunction_operator_custom] = ACTIONS(2801),
    [sym__disjunction_operator_custom] = ACTIONS(2801),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2801),
    [sym__eq_custom] = ACTIONS(2801),
    [sym__eq_eq_custom] = ACTIONS(2801),
    [sym__plus_then_ws] = ACTIONS(2801),
    [sym__minus_then_ws] = ACTIONS(2801),
    [sym__bang_custom] = ACTIONS(2801),
    [sym__as_custom] = ACTIONS(2801),
    [sym__as_quest_custom] = ACTIONS(2801),
    [sym__as_bang_custom] = ACTIONS(2801),
    [sym__custom_operator] = ACTIONS(2801),
  },
  [1494] = {
    [sym__quest] = STATE(580),
    [sym__immediate_quest] = STATE(2961),
    [sym__range_operator] = STATE(460),
    [sym_custom_operator] = STATE(459),
    [sym_navigation_suffix] = STATE(2841),
    [sym_call_suffix] = STATE(2958),
    [sym__fn_call_lambda_arguments] = STATE(2956),
    [sym_value_arguments] = STATE(2531),
    [sym_lambda_literal] = STATE(1720),
    [sym__equality_operator] = STATE(400),
    [sym__comparison_operator] = STATE(457),
    [sym__three_dot_operator] = STATE(1163),
    [sym__open_ended_range_operator] = STATE(460),
    [sym__is_operator] = STATE(4171),
    [sym__additive_operator] = STATE(600),
    [sym__multiplicative_operator] = STATE(601),
    [sym_as_operator] = STATE(4168),
    [sym__bitwise_binary_operator] = STATE(456),
    [sym__postfix_unary_operator] = STATE(2948),
    [sym__eq_eq] = STATE(400),
    [sym__dot] = STATE(5373),
    [sym__conjunction_operator] = STATE(452),
    [sym__disjunction_operator] = STATE(451),
    [sym__nil_coalescing_operator] = STATE(449),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2948),
    [anon_sym_BANG] = ACTIONS(4530),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2779),
    [anon_sym_LPAREN] = ACTIONS(4532),
    [anon_sym_LBRACK] = ACTIONS(4534),
    [anon_sym_QMARK] = ACTIONS(4536),
    [anon_sym_QMARK2] = ACTIONS(4538),
    [anon_sym_AMP] = ACTIONS(4540),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4542),
    [anon_sym_GT] = ACTIONS(4542),
    [anon_sym_LBRACE] = ACTIONS(4546),
    [anon_sym_CARET_LBRACE] = ACTIONS(4546),
    [anon_sym_RBRACE] = ACTIONS(2779),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4548),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4550),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4550),
    [anon_sym_LT_EQ] = ACTIONS(4552),
    [anon_sym_GT_EQ] = ACTIONS(4552),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1163),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4554),
    [anon_sym_is] = ACTIONS(4556),
    [anon_sym_PLUS] = ACTIONS(4558),
    [anon_sym_DASH] = ACTIONS(4558),
    [anon_sym_STAR] = ACTIONS(4560),
    [anon_sym_SLASH] = ACTIONS(4560),
    [anon_sym_PERCENT] = ACTIONS(4560),
    [anon_sym_PLUS_PLUS] = ACTIONS(4562),
    [anon_sym_DASH_DASH] = ACTIONS(4562),
    [anon_sym_PIPE] = ACTIONS(4540),
    [anon_sym_CARET] = ACTIONS(4564),
    [anon_sym_LT_LT] = ACTIONS(4540),
    [anon_sym_GT_GT] = ACTIONS(4540),
    [sym_multiline_comment] = ACTIONS(2779),
    [sym__implicit_semi] = ACTIONS(2779),
    [sym__explicit_semi] = ACTIONS(2779),
    [sym__dot_custom] = ACTIONS(4566),
    [sym__conjunction_operator_custom] = ACTIONS(4568),
    [sym__disjunction_operator_custom] = ACTIONS(4570),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4572),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4550),
    [sym__plus_then_ws] = ACTIONS(4574),
    [sym__minus_then_ws] = ACTIONS(4574),
    [sym__bang_custom] = ACTIONS(4576),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1495] = {
    [sym_simple_identifier] = STATE(5652),
    [sym__contextual_simple_identifier] = STATE(6039),
    [sym_identifier] = STATE(7045),
    [sym__unannotated_type] = STATE(5919),
    [sym_user_type] = STATE(6078),
    [sym__simple_user_type] = STATE(5926),
    [sym_tuple_type] = STATE(5769),
    [sym_function_type] = STATE(5919),
    [sym_array_type] = STATE(6078),
    [sym_dictionary_type] = STATE(6078),
    [sym_optional_type] = STATE(5919),
    [sym_metatype] = STATE(5919),
    [sym_opaque_type] = STATE(5919),
    [sym_existential_type] = STATE(5919),
    [sym_type_parameter_pack] = STATE(5919),
    [sym_type_pack_expansion] = STATE(5919),
    [sym_protocol_composition_type] = STATE(5919),
    [sym_suppressed_constraint] = STATE(5919),
    [sym__parenthesized_type] = STATE(6255),
    [sym_type_constraint] = STATE(4138),
    [sym_inheritance_constraint] = STATE(4111),
    [sym_equality_constraint] = STATE(4111),
    [sym__constrained_type] = STATE(7045),
    [sym_attribute] = STATE(4146),
    [sym__parameter_ownership_modifier] = STATE(6039),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4146),
    [sym_comment] = ACTIONS(5),
    [aux_sym_simple_identifier_token1] = ACTIONS(4037),
    [aux_sym_simple_identifier_token2] = ACTIONS(4039),
    [aux_sym_simple_identifier_token3] = ACTIONS(4039),
    [aux_sym_simple_identifier_token4] = ACTIONS(4039),
    [anon_sym_actor] = ACTIONS(4037),
    [anon_sym_async] = ACTIONS(4037),
    [anon_sym_each] = ACTIONS(4041),
    [anon_sym_lazy] = ACTIONS(4037),
    [anon_sym_repeat] = ACTIONS(4043),
    [anon_sym_package] = ACTIONS(4037),
    [anon_sym_COMMA] = ACTIONS(4045),
    [anon_sym_LPAREN] = ACTIONS(4047),
    [anon_sym_LBRACK] = ACTIONS(4049),
    [anon_sym_some] = ACTIONS(4051),
    [anon_sym_any] = ACTIONS(4053),
    [anon_sym_TILDE] = ACTIONS(4055),
    [anon_sym_LBRACE] = ACTIONS(4045),
    [anon_sym_RBRACE] = ACTIONS(4045),
    [anon_sym_case] = ACTIONS(4057),
    [anon_sym_fallthrough] = ACTIONS(4057),
    [anon_sym_class] = ACTIONS(4057),
    [anon_sym_prefix] = ACTIONS(4057),
    [anon_sym_infix] = ACTIONS(4057),
    [anon_sym_postfix] = ACTIONS(4057),
    [anon_sym_AT] = ACTIONS(811),
    [anon_sym_override] = ACTIONS(4057),
    [anon_sym_convenience] = ACTIONS(4057),
    [anon_sym_required] = ACTIONS(4057),
    [anon_sym_nonisolated] = ACTIONS(4057),
    [anon_sym_public] = ACTIONS(4057),
    [anon_sym_private] = ACTIONS(4057),
    [anon_sym_internal] = ACTIONS(4057),
    [anon_sym_fileprivate] = ACTIONS(4057),
    [anon_sym_open] = ACTIONS(4057),
    [anon_sym_mutating] = ACTIONS(4057),
    [anon_sym_nonmutating] = ACTIONS(4057),
    [anon_sym_static] = ACTIONS(4057),
    [anon_sym_dynamic] = ACTIONS(4057),
    [anon_sym_optional] = ACTIONS(4057),
    [anon_sym_distributed] = ACTIONS(4057),
    [anon_sym_final] = ACTIONS(4057),
    [anon_sym_inout] = ACTIONS(4057),
    [anon_sym_ATescaping] = ACTIONS(4045),
    [anon_sym_ATautoclosure] = ACTIONS(4045),
    [anon_sym_weak] = ACTIONS(4057),
    [anon_sym_unowned] = ACTIONS(4057),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(4045),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(4045),
    [anon_sym_borrowing] = ACTIONS(4037),
    [anon_sym_consuming] = ACTIONS(4037),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(4045),
    [sym__explicit_semi] = ACTIONS(4045),
    [sym__eq_custom] = ACTIONS(4045),
    [sym_default_keyword] = ACTIONS(4045),
  },
  [1496] = {
    [sym__quest] = STATE(693),
    [sym__immediate_quest] = STATE(3151),
    [sym__range_operator] = STATE(416),
    [sym_custom_operator] = STATE(417),
    [sym_navigation_suffix] = STATE(3154),
    [sym_call_suffix] = STATE(3155),
    [sym__fn_call_lambda_arguments] = STATE(3156),
    [sym_value_arguments] = STATE(2749),
    [sym_expr_hack_at_ternary_binary_call_suffix] = STATE(3319),
    [sym_lambda_literal] = STATE(1729),
    [sym__equality_operator] = STATE(418),
    [sym__comparison_operator] = STATE(419),
    [sym__three_dot_operator] = STATE(1213),
    [sym__open_ended_range_operator] = STATE(416),
    [sym__is_operator] = STATE(4290),
    [sym__additive_operator] = STATE(643),
    [sym__multiplicative_operator] = STATE(641),
    [sym_as_operator] = STATE(4460),
    [sym__bitwise_binary_operator] = STATE(421),
    [sym__postfix_unary_operator] = STATE(3164),
    [sym__eq_eq] = STATE(418),
    [sym__dot] = STATE(5433),
    [sym__conjunction_operator] = STATE(422),
    [sym__disjunction_operator] = STATE(423),
    [sym__nil_coalescing_operator] = STATE(399),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3164),
    [anon_sym_BANG] = ACTIONS(4640),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2703),
    [anon_sym_COLON] = ACTIONS(2703),
    [anon_sym_LPAREN] = ACTIONS(4642),
    [anon_sym_LBRACK] = ACTIONS(4644),
    [anon_sym_QMARK] = ACTIONS(2709),
    [anon_sym_QMARK2] = ACTIONS(4646),
    [anon_sym_AMP] = ACTIONS(4648),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4650),
    [anon_sym_GT] = ACTIONS(4650),
    [anon_sym_LBRACE] = ACTIONS(2703),
    [anon_sym_CARET_LBRACE] = ACTIONS(2703),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4652),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4654),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4654),
    [anon_sym_LT_EQ] = ACTIONS(4656),
    [anon_sym_GT_EQ] = ACTIONS(4656),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4658),
    [anon_sym_is] = ACTIONS(4660),
    [anon_sym_PLUS] = ACTIONS(4662),
    [anon_sym_DASH] = ACTIONS(4662),
    [anon_sym_STAR] = ACTIONS(4664),
    [anon_sym_SLASH] = ACTIONS(4664),
    [anon_sym_PERCENT] = ACTIONS(4664),
    [anon_sym_PLUS_PLUS] = ACTIONS(4666),
    [anon_sym_DASH_DASH] = ACTIONS(4666),
    [anon_sym_PIPE] = ACTIONS(4648),
    [anon_sym_CARET] = ACTIONS(4668),
    [anon_sym_LT_LT] = ACTIONS(4648),
    [anon_sym_GT_GT] = ACTIONS(4648),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(4670),
    [sym__conjunction_operator_custom] = ACTIONS(4672),
    [sym__disjunction_operator_custom] = ACTIONS(4674),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4676),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4654),
    [sym__plus_then_ws] = ACTIONS(4678),
    [sym__minus_then_ws] = ACTIONS(4678),
    [sym__bang_custom] = ACTIONS(4680),
    [sym_where_keyword] = ACTIONS(2703),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1497] = {
    [sym_attribute] = STATE(1509),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1509),
    [anon_sym_BANG] = ACTIONS(4682),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(4682),
    [aux_sym_simple_identifier_token2] = ACTIONS(4684),
    [aux_sym_simple_identifier_token3] = ACTIONS(4684),
    [aux_sym_simple_identifier_token4] = ACTIONS(4684),
    [anon_sym_actor] = ACTIONS(4682),
    [anon_sym_async] = ACTIONS(4682),
    [anon_sym_each] = ACTIONS(4682),
    [anon_sym_lazy] = ACTIONS(4682),
    [anon_sym_repeat] = ACTIONS(4682),
    [anon_sym_package] = ACTIONS(4682),
    [anon_sym_nil] = ACTIONS(4682),
    [sym_real_literal] = ACTIONS(4684),
    [sym_integer_literal] = ACTIONS(4682),
    [sym_hex_literal] = ACTIONS(4682),
    [sym_oct_literal] = ACTIONS(4684),
    [sym_bin_literal] = ACTIONS(4684),
    [anon_sym_true] = ACTIONS(4682),
    [anon_sym_false] = ACTIONS(4682),
    [anon_sym_DQUOTE] = ACTIONS(4682),
    [anon_sym_BSLASH] = ACTIONS(4684),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(4684),
    [sym__oneline_regex_literal] = ACTIONS(4682),
    [anon_sym_LPAREN] = ACTIONS(4684),
    [anon_sym_LBRACK] = ACTIONS(4684),
    [anon_sym_AMP] = ACTIONS(4684),
    [anon_sym_TILDE] = ACTIONS(4684),
    [anon_sym_if] = ACTIONS(4682),
    [anon_sym_switch] = ACTIONS(4682),
    [aux_sym_custom_operator_token1] = ACTIONS(4684),
    [anon_sym_LT] = ACTIONS(4682),
    [anon_sym_GT] = ACTIONS(4682),
    [anon_sym_await] = ACTIONS(4682),
    [anon_sym_LBRACE] = ACTIONS(4684),
    [anon_sym_CARET_LBRACE] = ACTIONS(4684),
    [anon_sym_self] = ACTIONS(4682),
    [anon_sym_super] = ACTIONS(4682),
    [anon_sym_try] = ACTIONS(4682),
    [anon_sym_PLUS_EQ] = ACTIONS(4684),
    [anon_sym_DASH_EQ] = ACTIONS(4684),
    [anon_sym_STAR_EQ] = ACTIONS(4684),
    [anon_sym_SLASH_EQ] = ACTIONS(4684),
    [anon_sym_PERCENT_EQ] = ACTIONS(4684),
    [anon_sym_BANG_EQ] = ACTIONS(4682),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4684),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4684),
    [anon_sym_LT_EQ] = ACTIONS(4684),
    [anon_sym_GT_EQ] = ACTIONS(4684),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4684),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4684),
    [anon_sym_PLUS] = ACTIONS(4682),
    [anon_sym_DASH] = ACTIONS(4682),
    [anon_sym_STAR] = ACTIONS(4682),
    [anon_sym_SLASH] = ACTIONS(4682),
    [anon_sym_PERCENT] = ACTIONS(4682),
    [anon_sym_PLUS_PLUS] = ACTIONS(4684),
    [anon_sym_DASH_DASH] = ACTIONS(4684),
    [anon_sym_PIPE] = ACTIONS(4684),
    [anon_sym_CARET] = ACTIONS(4682),
    [anon_sym_LT_LT] = ACTIONS(4684),
    [anon_sym_GT_GT] = ACTIONS(4684),
    [anon_sym_AT] = ACTIONS(1387),
    [anon_sym_borrowing] = ACTIONS(4682),
    [anon_sym_consuming] = ACTIONS(4682),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(4684),
    [sym_raw_str_end_part] = ACTIONS(4684),
    [sym__dot_custom] = ACTIONS(4684),
    [sym__eq_custom] = ACTIONS(4684),
    [sym__eq_eq_custom] = ACTIONS(4684),
    [sym__plus_then_ws] = ACTIONS(4684),
    [sym__minus_then_ws] = ACTIONS(4684),
    [sym__bang_custom] = ACTIONS(4684),
    [sym__custom_operator] = ACTIONS(4684),
    [sym__hash_symbol_custom] = ACTIONS(4684),
    [sym__directive_if] = ACTIONS(4684),
    [sym__directive_elseif] = ACTIONS(4684),
    [sym__directive_else] = ACTIONS(4684),
    [sym__directive_endif] = ACTIONS(4684),
  },
  [1498] = {
    [sym__quest] = STATE(580),
    [sym__immediate_quest] = STATE(2961),
    [sym__range_operator] = STATE(460),
    [sym_custom_operator] = STATE(459),
    [sym_navigation_suffix] = STATE(2841),
    [sym_call_suffix] = STATE(2958),
    [sym__fn_call_lambda_arguments] = STATE(2956),
    [sym_value_arguments] = STATE(2531),
    [sym_lambda_literal] = STATE(1720),
    [sym__equality_operator] = STATE(400),
    [sym__comparison_operator] = STATE(457),
    [sym__three_dot_operator] = STATE(1163),
    [sym__open_ended_range_operator] = STATE(460),
    [sym__is_operator] = STATE(4171),
    [sym__additive_operator] = STATE(600),
    [sym__multiplicative_operator] = STATE(601),
    [sym_as_operator] = STATE(4168),
    [sym__bitwise_binary_operator] = STATE(456),
    [sym__postfix_unary_operator] = STATE(2948),
    [sym__eq_eq] = STATE(400),
    [sym__dot] = STATE(5373),
    [sym__conjunction_operator] = STATE(452),
    [sym__disjunction_operator] = STATE(451),
    [sym__nil_coalescing_operator] = STATE(449),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2948),
    [anon_sym_BANG] = ACTIONS(2775),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2777),
    [anon_sym_LPAREN] = ACTIONS(2777),
    [anon_sym_LBRACK] = ACTIONS(2777),
    [anon_sym_QMARK] = ACTIONS(2775),
    [anon_sym_QMARK2] = ACTIONS(2777),
    [anon_sym_AMP] = ACTIONS(2777),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2775),
    [anon_sym_GT] = ACTIONS(2775),
    [anon_sym_LBRACE] = ACTIONS(2777),
    [anon_sym_CARET_LBRACE] = ACTIONS(2777),
    [anon_sym_RBRACE] = ACTIONS(2777),
    [anon_sym_PLUS_EQ] = ACTIONS(2777),
    [anon_sym_DASH_EQ] = ACTIONS(2777),
    [anon_sym_STAR_EQ] = ACTIONS(2777),
    [anon_sym_SLASH_EQ] = ACTIONS(2777),
    [anon_sym_PERCENT_EQ] = ACTIONS(2777),
    [anon_sym_BANG_EQ] = ACTIONS(2775),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2777),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2777),
    [anon_sym_LT_EQ] = ACTIONS(2777),
    [anon_sym_GT_EQ] = ACTIONS(2777),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2777),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2777),
    [anon_sym_is] = ACTIONS(2777),
    [anon_sym_PLUS] = ACTIONS(4558),
    [anon_sym_DASH] = ACTIONS(4558),
    [anon_sym_STAR] = ACTIONS(4560),
    [anon_sym_SLASH] = ACTIONS(4560),
    [anon_sym_PERCENT] = ACTIONS(4560),
    [anon_sym_PLUS_PLUS] = ACTIONS(2777),
    [anon_sym_DASH_DASH] = ACTIONS(2777),
    [anon_sym_PIPE] = ACTIONS(2777),
    [anon_sym_CARET] = ACTIONS(2775),
    [anon_sym_LT_LT] = ACTIONS(2777),
    [anon_sym_GT_GT] = ACTIONS(2777),
    [sym_multiline_comment] = ACTIONS(2777),
    [sym__implicit_semi] = ACTIONS(2777),
    [sym__explicit_semi] = ACTIONS(2777),
    [sym__dot_custom] = ACTIONS(2777),
    [sym__conjunction_operator_custom] = ACTIONS(2777),
    [sym__disjunction_operator_custom] = ACTIONS(2777),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4572),
    [sym__eq_custom] = ACTIONS(2777),
    [sym__eq_eq_custom] = ACTIONS(2777),
    [sym__plus_then_ws] = ACTIONS(4574),
    [sym__minus_then_ws] = ACTIONS(4574),
    [sym__bang_custom] = ACTIONS(2777),
    [sym__as_custom] = ACTIONS(2777),
    [sym__as_quest_custom] = ACTIONS(2777),
    [sym__as_bang_custom] = ACTIONS(2777),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1499] = {
    [sym__quest] = STATE(580),
    [sym__immediate_quest] = STATE(2961),
    [sym__range_operator] = STATE(460),
    [sym_custom_operator] = STATE(459),
    [sym_navigation_suffix] = STATE(2841),
    [sym_call_suffix] = STATE(2958),
    [sym__fn_call_lambda_arguments] = STATE(2956),
    [sym_value_arguments] = STATE(2531),
    [sym_lambda_literal] = STATE(1720),
    [sym__equality_operator] = STATE(400),
    [sym__comparison_operator] = STATE(457),
    [sym__three_dot_operator] = STATE(1163),
    [sym__open_ended_range_operator] = STATE(460),
    [sym__is_operator] = STATE(4171),
    [sym__additive_operator] = STATE(600),
    [sym__multiplicative_operator] = STATE(601),
    [sym_as_operator] = STATE(4168),
    [sym__bitwise_binary_operator] = STATE(456),
    [sym__postfix_unary_operator] = STATE(2948),
    [sym__eq_eq] = STATE(400),
    [sym__dot] = STATE(5373),
    [sym__conjunction_operator] = STATE(452),
    [sym__disjunction_operator] = STATE(451),
    [sym__nil_coalescing_operator] = STATE(449),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2948),
    [anon_sym_BANG] = ACTIONS(2799),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2801),
    [anon_sym_LPAREN] = ACTIONS(2801),
    [anon_sym_LBRACK] = ACTIONS(2801),
    [anon_sym_QMARK] = ACTIONS(2799),
    [anon_sym_QMARK2] = ACTIONS(2801),
    [anon_sym_AMP] = ACTIONS(2801),
    [aux_sym_custom_operator_token1] = ACTIONS(2801),
    [anon_sym_LT] = ACTIONS(2799),
    [anon_sym_GT] = ACTIONS(2799),
    [anon_sym_LBRACE] = ACTIONS(2801),
    [anon_sym_CARET_LBRACE] = ACTIONS(2801),
    [anon_sym_RBRACE] = ACTIONS(2801),
    [anon_sym_PLUS_EQ] = ACTIONS(2801),
    [anon_sym_DASH_EQ] = ACTIONS(2801),
    [anon_sym_STAR_EQ] = ACTIONS(2801),
    [anon_sym_SLASH_EQ] = ACTIONS(2801),
    [anon_sym_PERCENT_EQ] = ACTIONS(2801),
    [anon_sym_BANG_EQ] = ACTIONS(2799),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2801),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2801),
    [anon_sym_LT_EQ] = ACTIONS(2801),
    [anon_sym_GT_EQ] = ACTIONS(2801),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2801),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2801),
    [anon_sym_is] = ACTIONS(2801),
    [anon_sym_PLUS] = ACTIONS(2799),
    [anon_sym_DASH] = ACTIONS(2799),
    [anon_sym_STAR] = ACTIONS(2799),
    [anon_sym_SLASH] = ACTIONS(2799),
    [anon_sym_PERCENT] = ACTIONS(2799),
    [anon_sym_PLUS_PLUS] = ACTIONS(2801),
    [anon_sym_DASH_DASH] = ACTIONS(2801),
    [anon_sym_PIPE] = ACTIONS(2801),
    [anon_sym_CARET] = ACTIONS(2799),
    [anon_sym_LT_LT] = ACTIONS(2801),
    [anon_sym_GT_GT] = ACTIONS(2801),
    [sym_multiline_comment] = ACTIONS(2801),
    [sym__implicit_semi] = ACTIONS(2801),
    [sym__explicit_semi] = ACTIONS(2801),
    [sym__dot_custom] = ACTIONS(2801),
    [sym__conjunction_operator_custom] = ACTIONS(2801),
    [sym__disjunction_operator_custom] = ACTIONS(2801),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2801),
    [sym__eq_custom] = ACTIONS(2801),
    [sym__eq_eq_custom] = ACTIONS(2801),
    [sym__plus_then_ws] = ACTIONS(2801),
    [sym__minus_then_ws] = ACTIONS(2801),
    [sym__bang_custom] = ACTIONS(2801),
    [sym__as_custom] = ACTIONS(2801),
    [sym__as_quest_custom] = ACTIONS(2801),
    [sym__as_bang_custom] = ACTIONS(2801),
    [sym__custom_operator] = ACTIONS(2801),
  },
  [1500] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(2787),
    [anon_sym_COMMA] = ACTIONS(2787),
    [anon_sym_COLON] = ACTIONS(2787),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_RBRACK] = ACTIONS(2787),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1501] = {
    [sym_simple_identifier] = STATE(6395),
    [sym__contextual_simple_identifier] = STATE(6548),
    [sym__parameter_ownership_modifier] = STATE(6548),
    [anon_sym_BANG] = ACTIONS(2676),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(4686),
    [aux_sym_simple_identifier_token2] = ACTIONS(4688),
    [aux_sym_simple_identifier_token3] = ACTIONS(4688),
    [aux_sym_simple_identifier_token4] = ACTIONS(4688),
    [anon_sym_actor] = ACTIONS(4686),
    [anon_sym_async] = ACTIONS(4686),
    [anon_sym_each] = ACTIONS(4686),
    [anon_sym_lazy] = ACTIONS(4686),
    [anon_sym_repeat] = ACTIONS(4686),
    [anon_sym_package] = ACTIONS(4686),
    [anon_sym_nil] = ACTIONS(2676),
    [sym_real_literal] = ACTIONS(2678),
    [sym_integer_literal] = ACTIONS(2676),
    [sym_hex_literal] = ACTIONS(2676),
    [sym_oct_literal] = ACTIONS(2678),
    [sym_bin_literal] = ACTIONS(2678),
    [anon_sym_true] = ACTIONS(2676),
    [anon_sym_false] = ACTIONS(2676),
    [anon_sym_DQUOTE] = ACTIONS(2676),
    [anon_sym_BSLASH] = ACTIONS(2678),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2678),
    [sym__oneline_regex_literal] = ACTIONS(2676),
    [anon_sym_LPAREN] = ACTIONS(2678),
    [anon_sym_LBRACK] = ACTIONS(2678),
    [anon_sym_AMP] = ACTIONS(2678),
    [anon_sym_TILDE] = ACTIONS(2678),
    [anon_sym_if] = ACTIONS(2676),
    [anon_sym_switch] = ACTIONS(2676),
    [aux_sym_custom_operator_token1] = ACTIONS(2678),
    [anon_sym_LT] = ACTIONS(2676),
    [anon_sym_GT] = ACTIONS(2676),
    [anon_sym_await] = ACTIONS(2676),
    [anon_sym_LBRACE] = ACTIONS(2678),
    [anon_sym_CARET_LBRACE] = ACTIONS(2678),
    [anon_sym_self] = ACTIONS(2676),
    [anon_sym_super] = ACTIONS(2676),
    [anon_sym_try] = ACTIONS(2676),
    [anon_sym_PLUS_EQ] = ACTIONS(2678),
    [anon_sym_DASH_EQ] = ACTIONS(2678),
    [anon_sym_STAR_EQ] = ACTIONS(2678),
    [anon_sym_SLASH_EQ] = ACTIONS(2678),
    [anon_sym_PERCENT_EQ] = ACTIONS(2678),
    [anon_sym_BANG_EQ] = ACTIONS(2676),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2678),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2678),
    [anon_sym_LT_EQ] = ACTIONS(2678),
    [anon_sym_GT_EQ] = ACTIONS(2678),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2678),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2678),
    [anon_sym_PLUS] = ACTIONS(2676),
    [anon_sym_DASH] = ACTIONS(2676),
    [anon_sym_STAR] = ACTIONS(2676),
    [anon_sym_SLASH] = ACTIONS(2676),
    [anon_sym_PERCENT] = ACTIONS(2676),
    [anon_sym_PLUS_PLUS] = ACTIONS(2678),
    [anon_sym_DASH_DASH] = ACTIONS(2678),
    [anon_sym_PIPE] = ACTIONS(2678),
    [anon_sym_CARET] = ACTIONS(2676),
    [anon_sym_LT_LT] = ACTIONS(2678),
    [anon_sym_GT_GT] = ACTIONS(2678),
    [anon_sym_borrowing] = ACTIONS(4686),
    [anon_sym_consuming] = ACTIONS(4686),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2678),
    [sym_raw_str_end_part] = ACTIONS(2678),
    [sym__dot_custom] = ACTIONS(2678),
    [sym__eq_custom] = ACTIONS(2678),
    [sym__eq_eq_custom] = ACTIONS(2678),
    [sym__plus_then_ws] = ACTIONS(2678),
    [sym__minus_then_ws] = ACTIONS(2678),
    [sym__bang_custom] = ACTIONS(2678),
    [sym__custom_operator] = ACTIONS(2678),
    [sym__hash_symbol_custom] = ACTIONS(2678),
    [sym__directive_if] = ACTIONS(2678),
    [sym__directive_elseif] = ACTIONS(2678),
    [sym__directive_else] = ACTIONS(2678),
    [sym__directive_endif] = ACTIONS(2678),
  },
  [1502] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(2779),
    [anon_sym_COMMA] = ACTIONS(2779),
    [anon_sym_COLON] = ACTIONS(2779),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_RBRACK] = ACTIONS(2779),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1503] = {
    [sym__quest] = STATE(578),
    [sym__immediate_quest] = STATE(2546),
    [sym__range_operator] = STATE(511),
    [sym_custom_operator] = STATE(510),
    [sym_navigation_suffix] = STATE(2549),
    [sym_call_suffix] = STATE(2550),
    [sym__fn_call_lambda_arguments] = STATE(2551),
    [sym_value_arguments] = STATE(2306),
    [sym_lambda_literal] = STATE(1702),
    [sym__equality_operator] = STATE(508),
    [sym__comparison_operator] = STATE(507),
    [sym__three_dot_operator] = STATE(1120),
    [sym__open_ended_range_operator] = STATE(511),
    [sym__is_operator] = STATE(4321),
    [sym__additive_operator] = STATE(615),
    [sym__multiplicative_operator] = STATE(608),
    [sym_as_operator] = STATE(4320),
    [sym__bitwise_binary_operator] = STATE(504),
    [sym__postfix_unary_operator] = STATE(2553),
    [sym__eq_eq] = STATE(508),
    [sym__dot] = STATE(5339),
    [sym__conjunction_operator] = STATE(503),
    [sym__disjunction_operator] = STATE(501),
    [sym__nil_coalescing_operator] = STATE(500),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2553),
    [ts_builtin_sym_end] = ACTIONS(4690),
    [anon_sym_BANG] = ACTIONS(4377),
    [sym_comment] = ACTIONS(3),
    [anon_sym_LPAREN] = ACTIONS(4379),
    [anon_sym_LBRACK] = ACTIONS(4381),
    [anon_sym_QMARK] = ACTIONS(4440),
    [anon_sym_QMARK2] = ACTIONS(4383),
    [anon_sym_AMP] = ACTIONS(4385),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4387),
    [anon_sym_GT] = ACTIONS(4387),
    [anon_sym_LBRACE] = ACTIONS(4442),
    [anon_sym_CARET_LBRACE] = ACTIONS(4442),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4389),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4391),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4391),
    [anon_sym_LT_EQ] = ACTIONS(4393),
    [anon_sym_GT_EQ] = ACTIONS(4393),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1013),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4395),
    [anon_sym_is] = ACTIONS(4397),
    [anon_sym_PLUS] = ACTIONS(4399),
    [anon_sym_DASH] = ACTIONS(4399),
    [anon_sym_STAR] = ACTIONS(4401),
    [anon_sym_SLASH] = ACTIONS(4401),
    [anon_sym_PERCENT] = ACTIONS(4401),
    [anon_sym_PLUS_PLUS] = ACTIONS(4403),
    [anon_sym_DASH_DASH] = ACTIONS(4403),
    [anon_sym_PIPE] = ACTIONS(4385),
    [anon_sym_CARET] = ACTIONS(4405),
    [anon_sym_LT_LT] = ACTIONS(4385),
    [anon_sym_GT_GT] = ACTIONS(4385),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(4690),
    [sym__explicit_semi] = ACTIONS(4690),
    [sym__dot_custom] = ACTIONS(4407),
    [sym__conjunction_operator_custom] = ACTIONS(4409),
    [sym__disjunction_operator_custom] = ACTIONS(4411),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4413),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4391),
    [sym__plus_then_ws] = ACTIONS(4415),
    [sym__minus_then_ws] = ACTIONS(4415),
    [sym__bang_custom] = ACTIONS(4417),
    [sym_where_keyword] = ACTIONS(4690),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1504] = {
    [sym__quest] = STATE(580),
    [sym__immediate_quest] = STATE(2961),
    [sym__range_operator] = STATE(460),
    [sym_custom_operator] = STATE(459),
    [sym_navigation_suffix] = STATE(2841),
    [sym_call_suffix] = STATE(2958),
    [sym__fn_call_lambda_arguments] = STATE(2956),
    [sym_value_arguments] = STATE(2531),
    [sym_lambda_literal] = STATE(1720),
    [sym__equality_operator] = STATE(400),
    [sym__comparison_operator] = STATE(457),
    [sym__three_dot_operator] = STATE(1163),
    [sym__open_ended_range_operator] = STATE(460),
    [sym__is_operator] = STATE(4171),
    [sym__additive_operator] = STATE(600),
    [sym__multiplicative_operator] = STATE(601),
    [sym_as_operator] = STATE(4168),
    [sym__bitwise_binary_operator] = STATE(456),
    [sym__postfix_unary_operator] = STATE(2948),
    [sym__eq_eq] = STATE(400),
    [sym__dot] = STATE(5373),
    [sym__conjunction_operator] = STATE(452),
    [sym__disjunction_operator] = STATE(451),
    [sym__nil_coalescing_operator] = STATE(449),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2948),
    [anon_sym_BANG] = ACTIONS(2761),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2763),
    [anon_sym_LPAREN] = ACTIONS(2763),
    [anon_sym_LBRACK] = ACTIONS(2763),
    [anon_sym_QMARK] = ACTIONS(2761),
    [anon_sym_QMARK2] = ACTIONS(2763),
    [anon_sym_AMP] = ACTIONS(2763),
    [aux_sym_custom_operator_token1] = ACTIONS(2763),
    [anon_sym_LT] = ACTIONS(2761),
    [anon_sym_GT] = ACTIONS(2761),
    [anon_sym_LBRACE] = ACTIONS(2763),
    [anon_sym_CARET_LBRACE] = ACTIONS(2763),
    [anon_sym_RBRACE] = ACTIONS(2763),
    [anon_sym_PLUS_EQ] = ACTIONS(2763),
    [anon_sym_DASH_EQ] = ACTIONS(2763),
    [anon_sym_STAR_EQ] = ACTIONS(2763),
    [anon_sym_SLASH_EQ] = ACTIONS(2763),
    [anon_sym_PERCENT_EQ] = ACTIONS(2763),
    [anon_sym_BANG_EQ] = ACTIONS(2761),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2763),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2763),
    [anon_sym_LT_EQ] = ACTIONS(2763),
    [anon_sym_GT_EQ] = ACTIONS(2763),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2763),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2763),
    [anon_sym_is] = ACTIONS(2763),
    [anon_sym_PLUS] = ACTIONS(2761),
    [anon_sym_DASH] = ACTIONS(2761),
    [anon_sym_STAR] = ACTIONS(4560),
    [anon_sym_SLASH] = ACTIONS(4560),
    [anon_sym_PERCENT] = ACTIONS(4560),
    [anon_sym_PLUS_PLUS] = ACTIONS(2763),
    [anon_sym_DASH_DASH] = ACTIONS(2763),
    [anon_sym_PIPE] = ACTIONS(2763),
    [anon_sym_CARET] = ACTIONS(2761),
    [anon_sym_LT_LT] = ACTIONS(2763),
    [anon_sym_GT_GT] = ACTIONS(2763),
    [sym_multiline_comment] = ACTIONS(2763),
    [sym__implicit_semi] = ACTIONS(2763),
    [sym__explicit_semi] = ACTIONS(2763),
    [sym__dot_custom] = ACTIONS(2763),
    [sym__conjunction_operator_custom] = ACTIONS(2763),
    [sym__disjunction_operator_custom] = ACTIONS(2763),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2763),
    [sym__eq_custom] = ACTIONS(2763),
    [sym__eq_eq_custom] = ACTIONS(2763),
    [sym__plus_then_ws] = ACTIONS(2763),
    [sym__minus_then_ws] = ACTIONS(2763),
    [sym__bang_custom] = ACTIONS(2763),
    [sym__as_custom] = ACTIONS(2763),
    [sym__as_quest_custom] = ACTIONS(2763),
    [sym__as_bang_custom] = ACTIONS(2763),
    [sym__custom_operator] = ACTIONS(2763),
  },
  [1505] = {
    [sym__quest] = STATE(580),
    [sym__immediate_quest] = STATE(2961),
    [sym__range_operator] = STATE(460),
    [sym_custom_operator] = STATE(459),
    [sym_navigation_suffix] = STATE(2841),
    [sym_call_suffix] = STATE(2958),
    [sym__fn_call_lambda_arguments] = STATE(2956),
    [sym_value_arguments] = STATE(2531),
    [sym_lambda_literal] = STATE(1720),
    [sym__equality_operator] = STATE(400),
    [sym__comparison_operator] = STATE(457),
    [sym__three_dot_operator] = STATE(1163),
    [sym__open_ended_range_operator] = STATE(460),
    [sym__is_operator] = STATE(4171),
    [sym__additive_operator] = STATE(600),
    [sym__multiplicative_operator] = STATE(601),
    [sym_as_operator] = STATE(4168),
    [sym__bitwise_binary_operator] = STATE(456),
    [sym__postfix_unary_operator] = STATE(2948),
    [sym__eq_eq] = STATE(400),
    [sym__dot] = STATE(5373),
    [sym__conjunction_operator] = STATE(452),
    [sym__disjunction_operator] = STATE(451),
    [sym__nil_coalescing_operator] = STATE(449),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2948),
    [anon_sym_BANG] = ACTIONS(4530),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2787),
    [anon_sym_LPAREN] = ACTIONS(4532),
    [anon_sym_LBRACK] = ACTIONS(4534),
    [anon_sym_QMARK] = ACTIONS(4536),
    [anon_sym_QMARK2] = ACTIONS(4538),
    [anon_sym_AMP] = ACTIONS(4540),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4542),
    [anon_sym_GT] = ACTIONS(4542),
    [anon_sym_LBRACE] = ACTIONS(4546),
    [anon_sym_CARET_LBRACE] = ACTIONS(4546),
    [anon_sym_RBRACE] = ACTIONS(2787),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4548),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4550),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4550),
    [anon_sym_LT_EQ] = ACTIONS(4552),
    [anon_sym_GT_EQ] = ACTIONS(4552),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1163),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4554),
    [anon_sym_is] = ACTIONS(4556),
    [anon_sym_PLUS] = ACTIONS(4558),
    [anon_sym_DASH] = ACTIONS(4558),
    [anon_sym_STAR] = ACTIONS(4560),
    [anon_sym_SLASH] = ACTIONS(4560),
    [anon_sym_PERCENT] = ACTIONS(4560),
    [anon_sym_PLUS_PLUS] = ACTIONS(4562),
    [anon_sym_DASH_DASH] = ACTIONS(4562),
    [anon_sym_PIPE] = ACTIONS(4540),
    [anon_sym_CARET] = ACTIONS(4564),
    [anon_sym_LT_LT] = ACTIONS(4540),
    [anon_sym_GT_GT] = ACTIONS(4540),
    [sym_multiline_comment] = ACTIONS(2787),
    [sym__implicit_semi] = ACTIONS(2787),
    [sym__explicit_semi] = ACTIONS(2787),
    [sym__dot_custom] = ACTIONS(4566),
    [sym__conjunction_operator_custom] = ACTIONS(4568),
    [sym__disjunction_operator_custom] = ACTIONS(4570),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4572),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4550),
    [sym__plus_then_ws] = ACTIONS(4574),
    [sym__minus_then_ws] = ACTIONS(4574),
    [sym__bang_custom] = ACTIONS(4576),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1506] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(2753),
    [anon_sym_COMMA] = ACTIONS(2753),
    [anon_sym_COLON] = ACTIONS(2753),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_RBRACK] = ACTIONS(2753),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1507] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(2783),
    [anon_sym_COMMA] = ACTIONS(2783),
    [anon_sym_COLON] = ACTIONS(2783),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_RBRACK] = ACTIONS(2783),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1508] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_array_literal_repeat1] = STATE(8227),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(4692),
    [anon_sym_COLON] = ACTIONS(4583),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_RBRACK] = ACTIONS(4694),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1509] = {
    [sym_attribute] = STATE(1509),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(1509),
    [anon_sym_BANG] = ACTIONS(4696),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(4696),
    [aux_sym_simple_identifier_token2] = ACTIONS(4698),
    [aux_sym_simple_identifier_token3] = ACTIONS(4698),
    [aux_sym_simple_identifier_token4] = ACTIONS(4698),
    [anon_sym_actor] = ACTIONS(4696),
    [anon_sym_async] = ACTIONS(4696),
    [anon_sym_each] = ACTIONS(4696),
    [anon_sym_lazy] = ACTIONS(4696),
    [anon_sym_repeat] = ACTIONS(4696),
    [anon_sym_package] = ACTIONS(4696),
    [anon_sym_nil] = ACTIONS(4696),
    [sym_real_literal] = ACTIONS(4698),
    [sym_integer_literal] = ACTIONS(4696),
    [sym_hex_literal] = ACTIONS(4696),
    [sym_oct_literal] = ACTIONS(4698),
    [sym_bin_literal] = ACTIONS(4698),
    [anon_sym_true] = ACTIONS(4696),
    [anon_sym_false] = ACTIONS(4696),
    [anon_sym_DQUOTE] = ACTIONS(4696),
    [anon_sym_BSLASH] = ACTIONS(4698),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(4698),
    [sym__oneline_regex_literal] = ACTIONS(4696),
    [anon_sym_LPAREN] = ACTIONS(4698),
    [anon_sym_LBRACK] = ACTIONS(4698),
    [anon_sym_AMP] = ACTIONS(4698),
    [anon_sym_TILDE] = ACTIONS(4698),
    [anon_sym_if] = ACTIONS(4696),
    [anon_sym_switch] = ACTIONS(4696),
    [aux_sym_custom_operator_token1] = ACTIONS(4698),
    [anon_sym_LT] = ACTIONS(4696),
    [anon_sym_GT] = ACTIONS(4696),
    [anon_sym_await] = ACTIONS(4696),
    [anon_sym_LBRACE] = ACTIONS(4698),
    [anon_sym_CARET_LBRACE] = ACTIONS(4698),
    [anon_sym_self] = ACTIONS(4696),
    [anon_sym_super] = ACTIONS(4696),
    [anon_sym_try] = ACTIONS(4696),
    [anon_sym_PLUS_EQ] = ACTIONS(4698),
    [anon_sym_DASH_EQ] = ACTIONS(4698),
    [anon_sym_STAR_EQ] = ACTIONS(4698),
    [anon_sym_SLASH_EQ] = ACTIONS(4698),
    [anon_sym_PERCENT_EQ] = ACTIONS(4698),
    [anon_sym_BANG_EQ] = ACTIONS(4696),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4698),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4698),
    [anon_sym_LT_EQ] = ACTIONS(4698),
    [anon_sym_GT_EQ] = ACTIONS(4698),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4698),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4698),
    [anon_sym_PLUS] = ACTIONS(4696),
    [anon_sym_DASH] = ACTIONS(4696),
    [anon_sym_STAR] = ACTIONS(4696),
    [anon_sym_SLASH] = ACTIONS(4696),
    [anon_sym_PERCENT] = ACTIONS(4696),
    [anon_sym_PLUS_PLUS] = ACTIONS(4698),
    [anon_sym_DASH_DASH] = ACTIONS(4698),
    [anon_sym_PIPE] = ACTIONS(4698),
    [anon_sym_CARET] = ACTIONS(4696),
    [anon_sym_LT_LT] = ACTIONS(4698),
    [anon_sym_GT_GT] = ACTIONS(4698),
    [anon_sym_AT] = ACTIONS(4700),
    [anon_sym_borrowing] = ACTIONS(4696),
    [anon_sym_consuming] = ACTIONS(4696),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(4698),
    [sym_raw_str_end_part] = ACTIONS(4698),
    [sym__dot_custom] = ACTIONS(4698),
    [sym__eq_custom] = ACTIONS(4698),
    [sym__eq_eq_custom] = ACTIONS(4698),
    [sym__plus_then_ws] = ACTIONS(4698),
    [sym__minus_then_ws] = ACTIONS(4698),
    [sym__bang_custom] = ACTIONS(4698),
    [sym__custom_operator] = ACTIONS(4698),
    [sym__hash_symbol_custom] = ACTIONS(4698),
    [sym__directive_if] = ACTIONS(4698),
    [sym__directive_elseif] = ACTIONS(4698),
    [sym__directive_else] = ACTIONS(4698),
    [sym__directive_endif] = ACTIONS(4698),
  },
  [1510] = {
    [sym__quest] = STATE(621),
    [sym__immediate_quest] = STATE(3473),
    [sym__range_operator] = STATE(410),
    [sym_custom_operator] = STATE(409),
    [sym_navigation_suffix] = STATE(3476),
    [sym_call_suffix] = STATE(3477),
    [sym__fn_call_lambda_arguments] = STATE(3478),
    [sym_value_arguments] = STATE(2819),
    [sym_lambda_literal] = STATE(1735),
    [sym_where_clause] = STATE(8435),
    [sym__equality_operator] = STATE(402),
    [sym__comparison_operator] = STATE(401),
    [sym__three_dot_operator] = STATE(1224),
    [sym__open_ended_range_operator] = STATE(410),
    [sym__is_operator] = STATE(4380),
    [sym__additive_operator] = STATE(697),
    [sym__multiplicative_operator] = STATE(698),
    [sym_as_operator] = STATE(4378),
    [sym__bitwise_binary_operator] = STATE(458),
    [sym__postfix_unary_operator] = STATE(3486),
    [sym__eq_eq] = STATE(402),
    [sym__dot] = STATE(5389),
    [sym__conjunction_operator] = STATE(428),
    [sym__disjunction_operator] = STATE(430),
    [sym__nil_coalescing_operator] = STATE(438),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3486),
    [anon_sym_BANG] = ACTIONS(4598),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2895),
    [anon_sym_LPAREN] = ACTIONS(4600),
    [anon_sym_LBRACK] = ACTIONS(4602),
    [anon_sym_QMARK] = ACTIONS(4703),
    [anon_sym_QMARK2] = ACTIONS(4604),
    [anon_sym_AMP] = ACTIONS(4606),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4608),
    [anon_sym_GT] = ACTIONS(4608),
    [anon_sym_LBRACE] = ACTIONS(4705),
    [anon_sym_CARET_LBRACE] = ACTIONS(4705),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4610),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4612),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4612),
    [anon_sym_LT_EQ] = ACTIONS(4614),
    [anon_sym_GT_EQ] = ACTIONS(4614),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4616),
    [anon_sym_is] = ACTIONS(4618),
    [anon_sym_PLUS] = ACTIONS(4620),
    [anon_sym_DASH] = ACTIONS(4620),
    [anon_sym_STAR] = ACTIONS(4622),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [anon_sym_PLUS_PLUS] = ACTIONS(4624),
    [anon_sym_DASH_DASH] = ACTIONS(4624),
    [anon_sym_PIPE] = ACTIONS(4606),
    [anon_sym_CARET] = ACTIONS(4626),
    [anon_sym_LT_LT] = ACTIONS(4606),
    [anon_sym_GT_GT] = ACTIONS(4606),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(4628),
    [sym__conjunction_operator_custom] = ACTIONS(4630),
    [sym__disjunction_operator_custom] = ACTIONS(4632),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4634),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4612),
    [sym__plus_then_ws] = ACTIONS(4636),
    [sym__minus_then_ws] = ACTIONS(4636),
    [sym__bang_custom] = ACTIONS(4638),
    [sym_where_keyword] = ACTIONS(4707),
    [sym_else] = ACTIONS(2895),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1511] = {
    [sym__quest] = STATE(580),
    [sym__immediate_quest] = STATE(2961),
    [sym__range_operator] = STATE(460),
    [sym_custom_operator] = STATE(459),
    [sym_navigation_suffix] = STATE(2841),
    [sym_call_suffix] = STATE(2958),
    [sym__fn_call_lambda_arguments] = STATE(2956),
    [sym_value_arguments] = STATE(2531),
    [sym_lambda_literal] = STATE(1720),
    [sym__equality_operator] = STATE(400),
    [sym__comparison_operator] = STATE(457),
    [sym__three_dot_operator] = STATE(1163),
    [sym__open_ended_range_operator] = STATE(460),
    [sym__is_operator] = STATE(4171),
    [sym__additive_operator] = STATE(600),
    [sym__multiplicative_operator] = STATE(601),
    [sym_as_operator] = STATE(4168),
    [sym__bitwise_binary_operator] = STATE(456),
    [sym__postfix_unary_operator] = STATE(2948),
    [sym__eq_eq] = STATE(400),
    [sym__dot] = STATE(5373),
    [sym__conjunction_operator] = STATE(452),
    [sym__disjunction_operator] = STATE(451),
    [sym__nil_coalescing_operator] = STATE(449),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2948),
    [anon_sym_BANG] = ACTIONS(4530),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2765),
    [anon_sym_LPAREN] = ACTIONS(2765),
    [anon_sym_LBRACK] = ACTIONS(2765),
    [anon_sym_QMARK] = ACTIONS(2767),
    [anon_sym_QMARK2] = ACTIONS(2765),
    [anon_sym_AMP] = ACTIONS(2765),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2767),
    [anon_sym_GT] = ACTIONS(2767),
    [anon_sym_LBRACE] = ACTIONS(2765),
    [anon_sym_CARET_LBRACE] = ACTIONS(2765),
    [anon_sym_RBRACE] = ACTIONS(2765),
    [anon_sym_PLUS_EQ] = ACTIONS(2765),
    [anon_sym_DASH_EQ] = ACTIONS(2765),
    [anon_sym_STAR_EQ] = ACTIONS(2765),
    [anon_sym_SLASH_EQ] = ACTIONS(2765),
    [anon_sym_PERCENT_EQ] = ACTIONS(2765),
    [anon_sym_BANG_EQ] = ACTIONS(4548),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4550),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4550),
    [anon_sym_LT_EQ] = ACTIONS(2765),
    [anon_sym_GT_EQ] = ACTIONS(2765),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2765),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2765),
    [anon_sym_is] = ACTIONS(4556),
    [anon_sym_PLUS] = ACTIONS(4558),
    [anon_sym_DASH] = ACTIONS(4558),
    [anon_sym_STAR] = ACTIONS(4560),
    [anon_sym_SLASH] = ACTIONS(4560),
    [anon_sym_PERCENT] = ACTIONS(4560),
    [anon_sym_PLUS_PLUS] = ACTIONS(4562),
    [anon_sym_DASH_DASH] = ACTIONS(4562),
    [anon_sym_PIPE] = ACTIONS(2765),
    [anon_sym_CARET] = ACTIONS(2767),
    [anon_sym_LT_LT] = ACTIONS(2765),
    [anon_sym_GT_GT] = ACTIONS(2765),
    [sym_multiline_comment] = ACTIONS(2765),
    [sym__implicit_semi] = ACTIONS(2765),
    [sym__explicit_semi] = ACTIONS(2765),
    [sym__dot_custom] = ACTIONS(2765),
    [sym__conjunction_operator_custom] = ACTIONS(4568),
    [sym__disjunction_operator_custom] = ACTIONS(4570),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4572),
    [sym__eq_custom] = ACTIONS(2765),
    [sym__eq_eq_custom] = ACTIONS(4550),
    [sym__plus_then_ws] = ACTIONS(4574),
    [sym__minus_then_ws] = ACTIONS(4574),
    [sym__bang_custom] = ACTIONS(4576),
    [sym__as_custom] = ACTIONS(2765),
    [sym__as_quest_custom] = ACTIONS(2765),
    [sym__as_bang_custom] = ACTIONS(2765),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1512] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_array_literal_repeat1] = STATE(7598),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(4709),
    [anon_sym_COLON] = ACTIONS(4583),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_RBRACK] = ACTIONS(4711),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1513] = {
    [sym_simple_identifier] = STATE(6419),
    [sym__contextual_simple_identifier] = STATE(6599),
    [sym__parameter_ownership_modifier] = STATE(6599),
    [anon_sym_BANG] = ACTIONS(2676),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(4713),
    [aux_sym_simple_identifier_token2] = ACTIONS(4715),
    [aux_sym_simple_identifier_token3] = ACTIONS(4715),
    [aux_sym_simple_identifier_token4] = ACTIONS(4715),
    [anon_sym_actor] = ACTIONS(4713),
    [anon_sym_async] = ACTIONS(4713),
    [anon_sym_each] = ACTIONS(4713),
    [anon_sym_lazy] = ACTIONS(4713),
    [anon_sym_repeat] = ACTIONS(4713),
    [anon_sym_package] = ACTIONS(4713),
    [anon_sym_nil] = ACTIONS(2676),
    [sym_real_literal] = ACTIONS(2678),
    [sym_integer_literal] = ACTIONS(2676),
    [sym_hex_literal] = ACTIONS(2676),
    [sym_oct_literal] = ACTIONS(2678),
    [sym_bin_literal] = ACTIONS(2678),
    [anon_sym_true] = ACTIONS(2676),
    [anon_sym_false] = ACTIONS(2676),
    [anon_sym_DQUOTE] = ACTIONS(2676),
    [anon_sym_BSLASH] = ACTIONS(2678),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2678),
    [sym__oneline_regex_literal] = ACTIONS(2676),
    [anon_sym_LPAREN] = ACTIONS(2678),
    [anon_sym_LBRACK] = ACTIONS(2678),
    [anon_sym_AMP] = ACTIONS(2678),
    [anon_sym_TILDE] = ACTIONS(2678),
    [anon_sym_if] = ACTIONS(2676),
    [anon_sym_switch] = ACTIONS(2676),
    [aux_sym_custom_operator_token1] = ACTIONS(2678),
    [anon_sym_LT] = ACTIONS(2676),
    [anon_sym_GT] = ACTIONS(2676),
    [anon_sym_await] = ACTIONS(2676),
    [anon_sym_LBRACE] = ACTIONS(2678),
    [anon_sym_CARET_LBRACE] = ACTIONS(2678),
    [anon_sym_self] = ACTIONS(2676),
    [anon_sym_super] = ACTIONS(2676),
    [anon_sym_try] = ACTIONS(2676),
    [anon_sym_PLUS_EQ] = ACTIONS(2678),
    [anon_sym_DASH_EQ] = ACTIONS(2678),
    [anon_sym_STAR_EQ] = ACTIONS(2678),
    [anon_sym_SLASH_EQ] = ACTIONS(2678),
    [anon_sym_PERCENT_EQ] = ACTIONS(2678),
    [anon_sym_BANG_EQ] = ACTIONS(2676),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2678),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2678),
    [anon_sym_LT_EQ] = ACTIONS(2678),
    [anon_sym_GT_EQ] = ACTIONS(2678),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2678),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2678),
    [anon_sym_PLUS] = ACTIONS(2676),
    [anon_sym_DASH] = ACTIONS(2676),
    [anon_sym_STAR] = ACTIONS(2676),
    [anon_sym_SLASH] = ACTIONS(2676),
    [anon_sym_PERCENT] = ACTIONS(2676),
    [anon_sym_PLUS_PLUS] = ACTIONS(2678),
    [anon_sym_DASH_DASH] = ACTIONS(2678),
    [anon_sym_PIPE] = ACTIONS(2678),
    [anon_sym_CARET] = ACTIONS(2676),
    [anon_sym_LT_LT] = ACTIONS(2678),
    [anon_sym_GT_GT] = ACTIONS(2678),
    [anon_sym_borrowing] = ACTIONS(4713),
    [anon_sym_consuming] = ACTIONS(4713),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2678),
    [sym_raw_str_end_part] = ACTIONS(2678),
    [sym__dot_custom] = ACTIONS(2678),
    [sym__eq_custom] = ACTIONS(2678),
    [sym__eq_eq_custom] = ACTIONS(2678),
    [sym__plus_then_ws] = ACTIONS(2678),
    [sym__minus_then_ws] = ACTIONS(2678),
    [sym__bang_custom] = ACTIONS(2678),
    [sym__custom_operator] = ACTIONS(2678),
    [sym__hash_symbol_custom] = ACTIONS(2678),
    [sym__directive_if] = ACTIONS(2678),
    [sym__directive_elseif] = ACTIONS(2678),
    [sym__directive_else] = ACTIONS(2678),
    [sym__directive_endif] = ACTIONS(2678),
  },
  [1514] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_array_literal_repeat1] = STATE(7582),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(4717),
    [anon_sym_COLON] = ACTIONS(4583),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_RBRACK] = ACTIONS(4719),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1515] = {
    [sym_simple_identifier] = STATE(5652),
    [sym__contextual_simple_identifier] = STATE(6039),
    [sym_identifier] = STATE(7045),
    [sym__unannotated_type] = STATE(5919),
    [sym_user_type] = STATE(6078),
    [sym__simple_user_type] = STATE(5926),
    [sym_tuple_type] = STATE(5769),
    [sym_function_type] = STATE(5919),
    [sym_array_type] = STATE(6078),
    [sym_dictionary_type] = STATE(6078),
    [sym_optional_type] = STATE(5919),
    [sym_metatype] = STATE(5919),
    [sym_opaque_type] = STATE(5919),
    [sym_existential_type] = STATE(5919),
    [sym_type_parameter_pack] = STATE(5919),
    [sym_type_pack_expansion] = STATE(5919),
    [sym_protocol_composition_type] = STATE(5919),
    [sym_suppressed_constraint] = STATE(5919),
    [sym__parenthesized_type] = STATE(6255),
    [sym_type_constraint] = STATE(4138),
    [sym_inheritance_constraint] = STATE(4111),
    [sym_equality_constraint] = STATE(4111),
    [sym__constrained_type] = STATE(7045),
    [sym_attribute] = STATE(4146),
    [sym__parameter_ownership_modifier] = STATE(6039),
    [aux_sym__lambda_type_declaration_repeat1] = STATE(4146),
    [sym_comment] = ACTIONS(5),
    [aux_sym_simple_identifier_token1] = ACTIONS(4037),
    [aux_sym_simple_identifier_token2] = ACTIONS(4039),
    [aux_sym_simple_identifier_token3] = ACTIONS(4039),
    [aux_sym_simple_identifier_token4] = ACTIONS(4039),
    [anon_sym_actor] = ACTIONS(4037),
    [anon_sym_async] = ACTIONS(4037),
    [anon_sym_each] = ACTIONS(4041),
    [anon_sym_lazy] = ACTIONS(4037),
    [anon_sym_repeat] = ACTIONS(4043),
    [anon_sym_package] = ACTIONS(4037),
    [anon_sym_COMMA] = ACTIONS(4079),
    [anon_sym_LPAREN] = ACTIONS(4047),
    [anon_sym_LBRACK] = ACTIONS(4049),
    [anon_sym_some] = ACTIONS(4051),
    [anon_sym_any] = ACTIONS(4053),
    [anon_sym_TILDE] = ACTIONS(4055),
    [anon_sym_LBRACE] = ACTIONS(4079),
    [anon_sym_RBRACE] = ACTIONS(4079),
    [anon_sym_case] = ACTIONS(4081),
    [anon_sym_fallthrough] = ACTIONS(4081),
    [anon_sym_class] = ACTIONS(4081),
    [anon_sym_prefix] = ACTIONS(4081),
    [anon_sym_infix] = ACTIONS(4081),
    [anon_sym_postfix] = ACTIONS(4081),
    [anon_sym_AT] = ACTIONS(811),
    [anon_sym_override] = ACTIONS(4081),
    [anon_sym_convenience] = ACTIONS(4081),
    [anon_sym_required] = ACTIONS(4081),
    [anon_sym_nonisolated] = ACTIONS(4081),
    [anon_sym_public] = ACTIONS(4081),
    [anon_sym_private] = ACTIONS(4081),
    [anon_sym_internal] = ACTIONS(4081),
    [anon_sym_fileprivate] = ACTIONS(4081),
    [anon_sym_open] = ACTIONS(4081),
    [anon_sym_mutating] = ACTIONS(4081),
    [anon_sym_nonmutating] = ACTIONS(4081),
    [anon_sym_static] = ACTIONS(4081),
    [anon_sym_dynamic] = ACTIONS(4081),
    [anon_sym_optional] = ACTIONS(4081),
    [anon_sym_distributed] = ACTIONS(4081),
    [anon_sym_final] = ACTIONS(4081),
    [anon_sym_inout] = ACTIONS(4081),
    [anon_sym_ATescaping] = ACTIONS(4079),
    [anon_sym_ATautoclosure] = ACTIONS(4079),
    [anon_sym_weak] = ACTIONS(4081),
    [anon_sym_unowned] = ACTIONS(4081),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(4079),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(4079),
    [anon_sym_borrowing] = ACTIONS(4037),
    [anon_sym_consuming] = ACTIONS(4037),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(4079),
    [sym__explicit_semi] = ACTIONS(4079),
    [sym__eq_custom] = ACTIONS(4079),
    [sym_default_keyword] = ACTIONS(4079),
  },
  [1516] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_array_literal_repeat1] = STATE(7661),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(4721),
    [anon_sym_COLON] = ACTIONS(4583),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_RBRACK] = ACTIONS(4723),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1517] = {
    [sym__quest] = STATE(583),
    [sym__immediate_quest] = STATE(2767),
    [sym__range_operator] = STATE(509),
    [sym_custom_operator] = STATE(496),
    [sym_navigation_suffix] = STATE(2768),
    [sym_call_suffix] = STATE(2773),
    [sym__fn_call_lambda_arguments] = STATE(2781),
    [sym_value_arguments] = STATE(2399),
    [sym_lambda_literal] = STATE(1706),
    [sym__equality_operator] = STATE(487),
    [sym__comparison_operator] = STATE(486),
    [sym__three_dot_operator] = STATE(1142),
    [sym__open_ended_range_operator] = STATE(509),
    [sym__is_operator] = STATE(4337),
    [sym__additive_operator] = STATE(594),
    [sym__multiplicative_operator] = STATE(598),
    [sym_as_operator] = STATE(4332),
    [sym__bitwise_binary_operator] = STATE(477),
    [sym__postfix_unary_operator] = STATE(2792),
    [sym__eq_eq] = STATE(487),
    [sym__dot] = STATE(5343),
    [sym__conjunction_operator] = STATE(475),
    [sym__disjunction_operator] = STATE(470),
    [sym__nil_coalescing_operator] = STATE(468),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2792),
    [ts_builtin_sym_end] = ACTIONS(2969),
    [anon_sym_BANG] = ACTIONS(4446),
    [sym_comment] = ACTIONS(3),
    [anon_sym_LPAREN] = ACTIONS(4448),
    [anon_sym_LBRACK] = ACTIONS(4450),
    [anon_sym_QMARK] = ACTIONS(4452),
    [anon_sym_QMARK2] = ACTIONS(4454),
    [anon_sym_AMP] = ACTIONS(4456),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4458),
    [anon_sym_GT] = ACTIONS(4458),
    [anon_sym_LBRACE] = ACTIONS(4462),
    [anon_sym_CARET_LBRACE] = ACTIONS(4462),
    [anon_sym_RBRACE] = ACTIONS(2969),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4464),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4466),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4466),
    [anon_sym_LT_EQ] = ACTIONS(4468),
    [anon_sym_GT_EQ] = ACTIONS(4468),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4470),
    [anon_sym_is] = ACTIONS(4472),
    [anon_sym_PLUS] = ACTIONS(4474),
    [anon_sym_DASH] = ACTIONS(4474),
    [anon_sym_STAR] = ACTIONS(4476),
    [anon_sym_SLASH] = ACTIONS(4476),
    [anon_sym_PERCENT] = ACTIONS(4476),
    [anon_sym_PLUS_PLUS] = ACTIONS(4478),
    [anon_sym_DASH_DASH] = ACTIONS(4478),
    [anon_sym_PIPE] = ACTIONS(4456),
    [anon_sym_CARET] = ACTIONS(4480),
    [anon_sym_LT_LT] = ACTIONS(4456),
    [anon_sym_GT_GT] = ACTIONS(4456),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2969),
    [sym__explicit_semi] = ACTIONS(2969),
    [sym__dot_custom] = ACTIONS(4482),
    [sym__conjunction_operator_custom] = ACTIONS(4484),
    [sym__disjunction_operator_custom] = ACTIONS(4486),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4488),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4466),
    [sym__plus_then_ws] = ACTIONS(4490),
    [sym__minus_then_ws] = ACTIONS(4490),
    [sym__bang_custom] = ACTIONS(4492),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1518] = {
    [sym__dot] = STATE(5413),
    [aux_sym_user_type_repeat1] = STATE(1488),
    [anon_sym_BANG] = ACTIONS(3046),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3046),
    [aux_sym_simple_identifier_token2] = ACTIONS(3048),
    [aux_sym_simple_identifier_token3] = ACTIONS(3048),
    [aux_sym_simple_identifier_token4] = ACTIONS(3048),
    [anon_sym_actor] = ACTIONS(3046),
    [anon_sym_async] = ACTIONS(3046),
    [anon_sym_each] = ACTIONS(3046),
    [anon_sym_lazy] = ACTIONS(3046),
    [anon_sym_repeat] = ACTIONS(3046),
    [anon_sym_package] = ACTIONS(3046),
    [anon_sym_nil] = ACTIONS(3046),
    [sym_real_literal] = ACTIONS(3048),
    [sym_integer_literal] = ACTIONS(3046),
    [sym_hex_literal] = ACTIONS(3046),
    [sym_oct_literal] = ACTIONS(3048),
    [sym_bin_literal] = ACTIONS(3048),
    [anon_sym_true] = ACTIONS(3046),
    [anon_sym_false] = ACTIONS(3046),
    [anon_sym_DQUOTE] = ACTIONS(3046),
    [anon_sym_BSLASH] = ACTIONS(3048),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(3048),
    [sym__oneline_regex_literal] = ACTIONS(3046),
    [anon_sym_LPAREN] = ACTIONS(3048),
    [anon_sym_LBRACK] = ACTIONS(3048),
    [anon_sym_AMP] = ACTIONS(3048),
    [anon_sym_TILDE] = ACTIONS(3048),
    [anon_sym_if] = ACTIONS(3046),
    [anon_sym_switch] = ACTIONS(3046),
    [aux_sym_custom_operator_token1] = ACTIONS(3048),
    [anon_sym_LT] = ACTIONS(3046),
    [anon_sym_GT] = ACTIONS(3046),
    [anon_sym_await] = ACTIONS(3046),
    [anon_sym_LBRACE] = ACTIONS(3048),
    [anon_sym_CARET_LBRACE] = ACTIONS(3048),
    [anon_sym_self] = ACTIONS(3046),
    [anon_sym_super] = ACTIONS(3046),
    [anon_sym_try] = ACTIONS(3046),
    [anon_sym_PLUS_EQ] = ACTIONS(3048),
    [anon_sym_DASH_EQ] = ACTIONS(3048),
    [anon_sym_STAR_EQ] = ACTIONS(3048),
    [anon_sym_SLASH_EQ] = ACTIONS(3048),
    [anon_sym_PERCENT_EQ] = ACTIONS(3048),
    [anon_sym_BANG_EQ] = ACTIONS(3046),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3048),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3048),
    [anon_sym_LT_EQ] = ACTIONS(3048),
    [anon_sym_GT_EQ] = ACTIONS(3048),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3048),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3048),
    [anon_sym_PLUS] = ACTIONS(3046),
    [anon_sym_DASH] = ACTIONS(3046),
    [anon_sym_STAR] = ACTIONS(3046),
    [anon_sym_SLASH] = ACTIONS(3046),
    [anon_sym_PERCENT] = ACTIONS(3046),
    [anon_sym_PLUS_PLUS] = ACTIONS(3048),
    [anon_sym_DASH_DASH] = ACTIONS(3048),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_CARET] = ACTIONS(3046),
    [anon_sym_LT_LT] = ACTIONS(3048),
    [anon_sym_GT_GT] = ACTIONS(3048),
    [anon_sym_AT] = ACTIONS(3048),
    [anon_sym_borrowing] = ACTIONS(3046),
    [anon_sym_consuming] = ACTIONS(3046),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(3048),
    [sym_raw_str_end_part] = ACTIONS(3048),
    [sym__dot_custom] = ACTIONS(4725),
    [sym__eq_custom] = ACTIONS(3048),
    [sym__eq_eq_custom] = ACTIONS(3048),
    [sym__plus_then_ws] = ACTIONS(3048),
    [sym__minus_then_ws] = ACTIONS(3048),
    [sym__bang_custom] = ACTIONS(3048),
    [sym__custom_operator] = ACTIONS(3048),
    [sym__hash_symbol_custom] = ACTIONS(3048),
    [sym__directive_if] = ACTIONS(3048),
    [sym__directive_elseif] = ACTIONS(3048),
    [sym__directive_else] = ACTIONS(3048),
    [sym__directive_endif] = ACTIONS(3048),
  },
  [1519] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(2765),
    [anon_sym_COMMA] = ACTIONS(2765),
    [anon_sym_COLON] = ACTIONS(2765),
    [anon_sym_LPAREN] = ACTIONS(2765),
    [anon_sym_LBRACK] = ACTIONS(2765),
    [anon_sym_RBRACK] = ACTIONS(2765),
    [anon_sym_QMARK] = ACTIONS(2767),
    [anon_sym_QMARK2] = ACTIONS(2765),
    [anon_sym_AMP] = ACTIONS(2765),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2767),
    [anon_sym_GT] = ACTIONS(2767),
    [anon_sym_LBRACE] = ACTIONS(2765),
    [anon_sym_CARET_LBRACE] = ACTIONS(2765),
    [anon_sym_PLUS_EQ] = ACTIONS(2765),
    [anon_sym_DASH_EQ] = ACTIONS(2765),
    [anon_sym_STAR_EQ] = ACTIONS(2765),
    [anon_sym_SLASH_EQ] = ACTIONS(2765),
    [anon_sym_PERCENT_EQ] = ACTIONS(2765),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(2765),
    [anon_sym_GT_EQ] = ACTIONS(2765),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2765),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2765),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(2765),
    [anon_sym_CARET] = ACTIONS(2767),
    [anon_sym_LT_LT] = ACTIONS(2765),
    [anon_sym_GT_GT] = ACTIONS(2765),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2765),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2765),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2765),
    [sym__as_quest_custom] = ACTIONS(2765),
    [sym__as_bang_custom] = ACTIONS(2765),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1520] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_array_literal_repeat1] = STATE(7811),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(4728),
    [anon_sym_COLON] = ACTIONS(4583),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_RBRACK] = ACTIONS(4730),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1521] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_array_literal_repeat1] = STATE(8138),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(4732),
    [anon_sym_COLON] = ACTIONS(4583),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_RBRACK] = ACTIONS(4734),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1522] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_array_literal_repeat1] = STATE(7826),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(4736),
    [anon_sym_COLON] = ACTIONS(4583),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_RBRACK] = ACTIONS(4738),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1523] = {
    [sym__quest] = STATE(374),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_tuple_expression_repeat1] = STATE(8018),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4740),
    [anon_sym_COMMA] = ACTIONS(4740),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4742),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1524] = {
    [sym__quest] = STATE(621),
    [sym__immediate_quest] = STATE(3473),
    [sym__range_operator] = STATE(410),
    [sym_custom_operator] = STATE(409),
    [sym_navigation_suffix] = STATE(3476),
    [sym_call_suffix] = STATE(3477),
    [sym__fn_call_lambda_arguments] = STATE(3478),
    [sym_value_arguments] = STATE(2819),
    [sym_lambda_literal] = STATE(1735),
    [sym__equality_operator] = STATE(402),
    [sym__comparison_operator] = STATE(401),
    [sym__three_dot_operator] = STATE(1224),
    [sym__open_ended_range_operator] = STATE(410),
    [sym__is_operator] = STATE(4380),
    [sym__additive_operator] = STATE(697),
    [sym__multiplicative_operator] = STATE(698),
    [sym_as_operator] = STATE(4378),
    [sym__bitwise_binary_operator] = STATE(458),
    [sym__postfix_unary_operator] = STATE(3486),
    [sym__eq_eq] = STATE(402),
    [sym__dot] = STATE(5389),
    [sym__conjunction_operator] = STATE(428),
    [sym__disjunction_operator] = STATE(430),
    [sym__nil_coalescing_operator] = STATE(438),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3486),
    [anon_sym_BANG] = ACTIONS(4598),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2765),
    [anon_sym_LPAREN] = ACTIONS(2765),
    [anon_sym_LBRACK] = ACTIONS(2765),
    [anon_sym_QMARK] = ACTIONS(2767),
    [anon_sym_QMARK2] = ACTIONS(2765),
    [anon_sym_AMP] = ACTIONS(2765),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2767),
    [anon_sym_GT] = ACTIONS(2767),
    [anon_sym_LBRACE] = ACTIONS(2765),
    [anon_sym_CARET_LBRACE] = ACTIONS(2765),
    [anon_sym_PLUS_EQ] = ACTIONS(2765),
    [anon_sym_DASH_EQ] = ACTIONS(2765),
    [anon_sym_STAR_EQ] = ACTIONS(2765),
    [anon_sym_SLASH_EQ] = ACTIONS(2765),
    [anon_sym_PERCENT_EQ] = ACTIONS(2765),
    [anon_sym_BANG_EQ] = ACTIONS(4610),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4612),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4612),
    [anon_sym_LT_EQ] = ACTIONS(2765),
    [anon_sym_GT_EQ] = ACTIONS(2765),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2765),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2765),
    [anon_sym_is] = ACTIONS(4618),
    [anon_sym_PLUS] = ACTIONS(4620),
    [anon_sym_DASH] = ACTIONS(4620),
    [anon_sym_STAR] = ACTIONS(4622),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [anon_sym_PLUS_PLUS] = ACTIONS(4624),
    [anon_sym_DASH_DASH] = ACTIONS(4624),
    [anon_sym_PIPE] = ACTIONS(2765),
    [anon_sym_CARET] = ACTIONS(2767),
    [anon_sym_LT_LT] = ACTIONS(2765),
    [anon_sym_GT_GT] = ACTIONS(2765),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2765),
    [sym__conjunction_operator_custom] = ACTIONS(4630),
    [sym__disjunction_operator_custom] = ACTIONS(4632),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4634),
    [sym__eq_custom] = ACTIONS(2765),
    [sym__eq_eq_custom] = ACTIONS(4612),
    [sym__plus_then_ws] = ACTIONS(4636),
    [sym__minus_then_ws] = ACTIONS(4636),
    [sym__bang_custom] = ACTIONS(4638),
    [sym_where_keyword] = ACTIONS(2765),
    [sym_else] = ACTIONS(2765),
    [sym__as_custom] = ACTIONS(2765),
    [sym__as_quest_custom] = ACTIONS(2765),
    [sym__as_bang_custom] = ACTIONS(2765),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1525] = {
    [sym__quest] = STATE(693),
    [sym__immediate_quest] = STATE(3151),
    [sym__range_operator] = STATE(416),
    [sym_custom_operator] = STATE(417),
    [sym_navigation_suffix] = STATE(3154),
    [sym_call_suffix] = STATE(3155),
    [sym__fn_call_lambda_arguments] = STATE(3156),
    [sym_value_arguments] = STATE(2698),
    [sym_lambda_literal] = STATE(1729),
    [sym_where_clause] = STATE(8298),
    [sym__equality_operator] = STATE(418),
    [sym__comparison_operator] = STATE(419),
    [sym__three_dot_operator] = STATE(1213),
    [sym__open_ended_range_operator] = STATE(416),
    [sym__is_operator] = STATE(4290),
    [sym__additive_operator] = STATE(643),
    [sym__multiplicative_operator] = STATE(641),
    [sym_as_operator] = STATE(4460),
    [sym__bitwise_binary_operator] = STATE(421),
    [sym__postfix_unary_operator] = STATE(3164),
    [sym__eq_eq] = STATE(418),
    [sym__dot] = STATE(5433),
    [sym__conjunction_operator] = STATE(422),
    [sym__disjunction_operator] = STATE(423),
    [sym__nil_coalescing_operator] = STATE(399),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3164),
    [anon_sym_BANG] = ACTIONS(4640),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2895),
    [anon_sym_LPAREN] = ACTIONS(4642),
    [anon_sym_LBRACK] = ACTIONS(4644),
    [anon_sym_QMARK] = ACTIONS(4744),
    [anon_sym_QMARK2] = ACTIONS(4646),
    [anon_sym_AMP] = ACTIONS(4648),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4650),
    [anon_sym_GT] = ACTIONS(4650),
    [anon_sym_LBRACE] = ACTIONS(2895),
    [anon_sym_CARET_LBRACE] = ACTIONS(4746),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4652),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4654),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4654),
    [anon_sym_LT_EQ] = ACTIONS(4656),
    [anon_sym_GT_EQ] = ACTIONS(4656),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4658),
    [anon_sym_is] = ACTIONS(4660),
    [anon_sym_PLUS] = ACTIONS(4662),
    [anon_sym_DASH] = ACTIONS(4662),
    [anon_sym_STAR] = ACTIONS(4664),
    [anon_sym_SLASH] = ACTIONS(4664),
    [anon_sym_PERCENT] = ACTIONS(4664),
    [anon_sym_PLUS_PLUS] = ACTIONS(4666),
    [anon_sym_DASH_DASH] = ACTIONS(4666),
    [anon_sym_PIPE] = ACTIONS(4648),
    [anon_sym_CARET] = ACTIONS(4668),
    [anon_sym_LT_LT] = ACTIONS(4648),
    [anon_sym_GT_GT] = ACTIONS(4648),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(4670),
    [sym__conjunction_operator_custom] = ACTIONS(4672),
    [sym__disjunction_operator_custom] = ACTIONS(4674),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4676),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4654),
    [sym__plus_then_ws] = ACTIONS(4678),
    [sym__minus_then_ws] = ACTIONS(4678),
    [sym__bang_custom] = ACTIONS(4680),
    [sym_where_keyword] = ACTIONS(4748),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1526] = {
    [sym__quest] = STATE(693),
    [sym__immediate_quest] = STATE(3151),
    [sym__range_operator] = STATE(416),
    [sym_custom_operator] = STATE(417),
    [sym_navigation_suffix] = STATE(3154),
    [sym_call_suffix] = STATE(3155),
    [sym__fn_call_lambda_arguments] = STATE(3156),
    [sym_value_arguments] = STATE(2698),
    [sym_lambda_literal] = STATE(1729),
    [sym__equality_operator] = STATE(418),
    [sym__comparison_operator] = STATE(419),
    [sym__three_dot_operator] = STATE(1213),
    [sym__open_ended_range_operator] = STATE(416),
    [sym__is_operator] = STATE(4290),
    [sym__additive_operator] = STATE(643),
    [sym__multiplicative_operator] = STATE(641),
    [sym_as_operator] = STATE(4460),
    [sym__bitwise_binary_operator] = STATE(421),
    [sym__postfix_unary_operator] = STATE(3164),
    [sym__eq_eq] = STATE(418),
    [sym__dot] = STATE(5433),
    [sym__conjunction_operator] = STATE(422),
    [sym__disjunction_operator] = STATE(423),
    [sym__nil_coalescing_operator] = STATE(399),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3164),
    [anon_sym_BANG] = ACTIONS(4640),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2765),
    [anon_sym_COLON] = ACTIONS(2765),
    [anon_sym_LPAREN] = ACTIONS(2765),
    [anon_sym_LBRACK] = ACTIONS(2765),
    [anon_sym_QMARK] = ACTIONS(2767),
    [anon_sym_QMARK2] = ACTIONS(2765),
    [anon_sym_AMP] = ACTIONS(2765),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2767),
    [anon_sym_GT] = ACTIONS(2767),
    [anon_sym_LBRACE] = ACTIONS(2765),
    [anon_sym_CARET_LBRACE] = ACTIONS(2765),
    [anon_sym_PLUS_EQ] = ACTIONS(2765),
    [anon_sym_DASH_EQ] = ACTIONS(2765),
    [anon_sym_STAR_EQ] = ACTIONS(2765),
    [anon_sym_SLASH_EQ] = ACTIONS(2765),
    [anon_sym_PERCENT_EQ] = ACTIONS(2765),
    [anon_sym_BANG_EQ] = ACTIONS(4652),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4654),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4654),
    [anon_sym_LT_EQ] = ACTIONS(2765),
    [anon_sym_GT_EQ] = ACTIONS(2765),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2765),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2765),
    [anon_sym_is] = ACTIONS(4660),
    [anon_sym_PLUS] = ACTIONS(4662),
    [anon_sym_DASH] = ACTIONS(4662),
    [anon_sym_STAR] = ACTIONS(4664),
    [anon_sym_SLASH] = ACTIONS(4664),
    [anon_sym_PERCENT] = ACTIONS(4664),
    [anon_sym_PLUS_PLUS] = ACTIONS(4666),
    [anon_sym_DASH_DASH] = ACTIONS(4666),
    [anon_sym_PIPE] = ACTIONS(2765),
    [anon_sym_CARET] = ACTIONS(2767),
    [anon_sym_LT_LT] = ACTIONS(2765),
    [anon_sym_GT_GT] = ACTIONS(2765),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2765),
    [sym__conjunction_operator_custom] = ACTIONS(4672),
    [sym__disjunction_operator_custom] = ACTIONS(4674),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4676),
    [sym__eq_custom] = ACTIONS(2765),
    [sym__eq_eq_custom] = ACTIONS(4654),
    [sym__plus_then_ws] = ACTIONS(4678),
    [sym__minus_then_ws] = ACTIONS(4678),
    [sym__bang_custom] = ACTIONS(4680),
    [sym_where_keyword] = ACTIONS(2765),
    [sym__as_custom] = ACTIONS(2765),
    [sym__as_quest_custom] = ACTIONS(2765),
    [sym__as_bang_custom] = ACTIONS(2765),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1527] = {
    [sym__quest] = STATE(693),
    [sym__immediate_quest] = STATE(3151),
    [sym__range_operator] = STATE(416),
    [sym_custom_operator] = STATE(417),
    [sym_navigation_suffix] = STATE(3154),
    [sym_call_suffix] = STATE(3155),
    [sym__fn_call_lambda_arguments] = STATE(3156),
    [sym_value_arguments] = STATE(2698),
    [sym_lambda_literal] = STATE(1729),
    [sym__equality_operator] = STATE(418),
    [sym__comparison_operator] = STATE(419),
    [sym__three_dot_operator] = STATE(1213),
    [sym__open_ended_range_operator] = STATE(416),
    [sym__is_operator] = STATE(4290),
    [sym__additive_operator] = STATE(643),
    [sym__multiplicative_operator] = STATE(641),
    [sym_as_operator] = STATE(4460),
    [sym__bitwise_binary_operator] = STATE(421),
    [sym__postfix_unary_operator] = STATE(3164),
    [sym__eq_eq] = STATE(418),
    [sym__dot] = STATE(5433),
    [sym__conjunction_operator] = STATE(422),
    [sym__disjunction_operator] = STATE(423),
    [sym__nil_coalescing_operator] = STATE(399),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3164),
    [anon_sym_BANG] = ACTIONS(4640),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2791),
    [anon_sym_COLON] = ACTIONS(2791),
    [anon_sym_LPAREN] = ACTIONS(2791),
    [anon_sym_LBRACK] = ACTIONS(2791),
    [anon_sym_QMARK] = ACTIONS(2793),
    [anon_sym_QMARK2] = ACTIONS(2791),
    [anon_sym_AMP] = ACTIONS(2791),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2793),
    [anon_sym_GT] = ACTIONS(2793),
    [anon_sym_LBRACE] = ACTIONS(2791),
    [anon_sym_CARET_LBRACE] = ACTIONS(2791),
    [anon_sym_PLUS_EQ] = ACTIONS(2791),
    [anon_sym_DASH_EQ] = ACTIONS(2791),
    [anon_sym_STAR_EQ] = ACTIONS(2791),
    [anon_sym_SLASH_EQ] = ACTIONS(2791),
    [anon_sym_PERCENT_EQ] = ACTIONS(2791),
    [anon_sym_BANG_EQ] = ACTIONS(4652),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4654),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4654),
    [anon_sym_LT_EQ] = ACTIONS(2791),
    [anon_sym_GT_EQ] = ACTIONS(2791),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2791),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2791),
    [anon_sym_is] = ACTIONS(4660),
    [anon_sym_PLUS] = ACTIONS(4662),
    [anon_sym_DASH] = ACTIONS(4662),
    [anon_sym_STAR] = ACTIONS(4664),
    [anon_sym_SLASH] = ACTIONS(4664),
    [anon_sym_PERCENT] = ACTIONS(4664),
    [anon_sym_PLUS_PLUS] = ACTIONS(4666),
    [anon_sym_DASH_DASH] = ACTIONS(4666),
    [anon_sym_PIPE] = ACTIONS(2791),
    [anon_sym_CARET] = ACTIONS(2793),
    [anon_sym_LT_LT] = ACTIONS(2791),
    [anon_sym_GT_GT] = ACTIONS(2791),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2791),
    [sym__conjunction_operator_custom] = ACTIONS(4672),
    [sym__disjunction_operator_custom] = ACTIONS(4674),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4676),
    [sym__eq_custom] = ACTIONS(2791),
    [sym__eq_eq_custom] = ACTIONS(4654),
    [sym__plus_then_ws] = ACTIONS(4678),
    [sym__minus_then_ws] = ACTIONS(4678),
    [sym__bang_custom] = ACTIONS(4680),
    [sym_where_keyword] = ACTIONS(2791),
    [sym__as_custom] = ACTIONS(2791),
    [sym__as_quest_custom] = ACTIONS(2791),
    [sym__as_bang_custom] = ACTIONS(2791),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1528] = {
    [sym__quest] = STATE(384),
    [sym__immediate_quest] = STATE(3151),
    [sym__range_operator] = STATE(416),
    [sym_custom_operator] = STATE(417),
    [sym_navigation_suffix] = STATE(3154),
    [sym_call_suffix] = STATE(3155),
    [sym__fn_call_lambda_arguments] = STATE(3156),
    [sym_value_arguments] = STATE(2698),
    [sym_lambda_literal] = STATE(1729),
    [sym__equality_operator] = STATE(418),
    [sym__comparison_operator] = STATE(419),
    [sym__three_dot_operator] = STATE(1213),
    [sym__open_ended_range_operator] = STATE(416),
    [sym__is_operator] = STATE(4290),
    [sym__additive_operator] = STATE(643),
    [sym__multiplicative_operator] = STATE(641),
    [sym_as_operator] = STATE(4460),
    [sym__bitwise_binary_operator] = STATE(421),
    [sym__postfix_unary_operator] = STATE(3164),
    [sym__eq_eq] = STATE(418),
    [sym__dot] = STATE(5433),
    [sym__conjunction_operator] = STATE(422),
    [sym__disjunction_operator] = STATE(423),
    [sym__nil_coalescing_operator] = STATE(399),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3164),
    [anon_sym_BANG] = ACTIONS(4640),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(4740),
    [anon_sym_COLON] = ACTIONS(4740),
    [anon_sym_LPAREN] = ACTIONS(4642),
    [anon_sym_LBRACK] = ACTIONS(4644),
    [anon_sym_QMARK] = ACTIONS(4750),
    [anon_sym_QMARK2] = ACTIONS(4646),
    [anon_sym_AMP] = ACTIONS(4648),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4650),
    [anon_sym_GT] = ACTIONS(4650),
    [anon_sym_LBRACE] = ACTIONS(4746),
    [anon_sym_CARET_LBRACE] = ACTIONS(4746),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4652),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4654),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4654),
    [anon_sym_LT_EQ] = ACTIONS(4656),
    [anon_sym_GT_EQ] = ACTIONS(4656),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4658),
    [anon_sym_is] = ACTIONS(4660),
    [anon_sym_PLUS] = ACTIONS(4662),
    [anon_sym_DASH] = ACTIONS(4662),
    [anon_sym_STAR] = ACTIONS(4664),
    [anon_sym_SLASH] = ACTIONS(4664),
    [anon_sym_PERCENT] = ACTIONS(4664),
    [anon_sym_PLUS_PLUS] = ACTIONS(4666),
    [anon_sym_DASH_DASH] = ACTIONS(4666),
    [anon_sym_PIPE] = ACTIONS(4648),
    [anon_sym_CARET] = ACTIONS(4668),
    [anon_sym_LT_LT] = ACTIONS(4648),
    [anon_sym_GT_GT] = ACTIONS(4648),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(4670),
    [sym__conjunction_operator_custom] = ACTIONS(4672),
    [sym__disjunction_operator_custom] = ACTIONS(4674),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4676),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4654),
    [sym__plus_then_ws] = ACTIONS(4678),
    [sym__minus_then_ws] = ACTIONS(4678),
    [sym__bang_custom] = ACTIONS(4680),
    [sym_where_keyword] = ACTIONS(4740),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1529] = {
    [sym__quest] = STATE(693),
    [sym__immediate_quest] = STATE(3151),
    [sym__range_operator] = STATE(416),
    [sym_custom_operator] = STATE(417),
    [sym_navigation_suffix] = STATE(3154),
    [sym_call_suffix] = STATE(3155),
    [sym__fn_call_lambda_arguments] = STATE(3156),
    [sym_value_arguments] = STATE(2698),
    [sym_lambda_literal] = STATE(1729),
    [sym__equality_operator] = STATE(418),
    [sym__comparison_operator] = STATE(419),
    [sym__three_dot_operator] = STATE(1213),
    [sym__open_ended_range_operator] = STATE(416),
    [sym__is_operator] = STATE(4290),
    [sym__additive_operator] = STATE(643),
    [sym__multiplicative_operator] = STATE(641),
    [sym_as_operator] = STATE(4460),
    [sym__bitwise_binary_operator] = STATE(421),
    [sym__postfix_unary_operator] = STATE(3164),
    [sym__eq_eq] = STATE(418),
    [sym__dot] = STATE(5433),
    [sym__conjunction_operator] = STATE(422),
    [sym__disjunction_operator] = STATE(423),
    [sym__nil_coalescing_operator] = STATE(399),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3164),
    [anon_sym_BANG] = ACTIONS(2761),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2763),
    [anon_sym_COLON] = ACTIONS(2763),
    [anon_sym_LPAREN] = ACTIONS(2763),
    [anon_sym_LBRACK] = ACTIONS(2763),
    [anon_sym_QMARK] = ACTIONS(2761),
    [anon_sym_QMARK2] = ACTIONS(2763),
    [anon_sym_AMP] = ACTIONS(2763),
    [aux_sym_custom_operator_token1] = ACTIONS(2763),
    [anon_sym_LT] = ACTIONS(2761),
    [anon_sym_GT] = ACTIONS(2761),
    [anon_sym_LBRACE] = ACTIONS(2763),
    [anon_sym_CARET_LBRACE] = ACTIONS(2763),
    [anon_sym_PLUS_EQ] = ACTIONS(2763),
    [anon_sym_DASH_EQ] = ACTIONS(2763),
    [anon_sym_STAR_EQ] = ACTIONS(2763),
    [anon_sym_SLASH_EQ] = ACTIONS(2763),
    [anon_sym_PERCENT_EQ] = ACTIONS(2763),
    [anon_sym_BANG_EQ] = ACTIONS(2761),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2763),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2763),
    [anon_sym_LT_EQ] = ACTIONS(2763),
    [anon_sym_GT_EQ] = ACTIONS(2763),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2763),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2763),
    [anon_sym_is] = ACTIONS(2763),
    [anon_sym_PLUS] = ACTIONS(2761),
    [anon_sym_DASH] = ACTIONS(2761),
    [anon_sym_STAR] = ACTIONS(4664),
    [anon_sym_SLASH] = ACTIONS(4664),
    [anon_sym_PERCENT] = ACTIONS(4664),
    [anon_sym_PLUS_PLUS] = ACTIONS(2763),
    [anon_sym_DASH_DASH] = ACTIONS(2763),
    [anon_sym_PIPE] = ACTIONS(2763),
    [anon_sym_CARET] = ACTIONS(2761),
    [anon_sym_LT_LT] = ACTIONS(2763),
    [anon_sym_GT_GT] = ACTIONS(2763),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2763),
    [sym__conjunction_operator_custom] = ACTIONS(2763),
    [sym__disjunction_operator_custom] = ACTIONS(2763),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2763),
    [sym__eq_custom] = ACTIONS(2763),
    [sym__eq_eq_custom] = ACTIONS(2763),
    [sym__plus_then_ws] = ACTIONS(2763),
    [sym__minus_then_ws] = ACTIONS(2763),
    [sym__bang_custom] = ACTIONS(2763),
    [sym_where_keyword] = ACTIONS(2763),
    [sym__as_custom] = ACTIONS(2763),
    [sym__as_quest_custom] = ACTIONS(2763),
    [sym__as_bang_custom] = ACTIONS(2763),
    [sym__custom_operator] = ACTIONS(2763),
  },
  [1530] = {
    [sym__quest] = STATE(374),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_tuple_expression_repeat1] = STATE(7492),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4740),
    [anon_sym_COMMA] = ACTIONS(4740),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4742),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1531] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_tuple_expression_repeat1] = STATE(7801),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4752),
    [anon_sym_COMMA] = ACTIONS(4754),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1532] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_tuple_expression_repeat1] = STATE(7714),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4756),
    [anon_sym_COMMA] = ACTIONS(4758),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1533] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_tuple_expression_repeat1] = STATE(7843),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4760),
    [anon_sym_COMMA] = ACTIONS(4762),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1534] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_tuple_expression_repeat1] = STATE(7569),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4764),
    [anon_sym_COMMA] = ACTIONS(4766),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1535] = {
    [sym__quest] = STATE(583),
    [sym__immediate_quest] = STATE(2767),
    [sym__range_operator] = STATE(509),
    [sym_custom_operator] = STATE(496),
    [sym_navigation_suffix] = STATE(2768),
    [sym_call_suffix] = STATE(2773),
    [sym__fn_call_lambda_arguments] = STATE(2781),
    [sym_value_arguments] = STATE(2399),
    [sym_lambda_literal] = STATE(1706),
    [sym__equality_operator] = STATE(487),
    [sym__comparison_operator] = STATE(486),
    [sym__three_dot_operator] = STATE(1142),
    [sym__open_ended_range_operator] = STATE(509),
    [sym__is_operator] = STATE(4337),
    [sym__additive_operator] = STATE(594),
    [sym__multiplicative_operator] = STATE(598),
    [sym_as_operator] = STATE(4332),
    [sym__bitwise_binary_operator] = STATE(477),
    [sym__postfix_unary_operator] = STATE(2792),
    [sym__eq_eq] = STATE(487),
    [sym__dot] = STATE(5343),
    [sym__conjunction_operator] = STATE(475),
    [sym__disjunction_operator] = STATE(470),
    [sym__nil_coalescing_operator] = STATE(468),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2792),
    [ts_builtin_sym_end] = ACTIONS(4768),
    [anon_sym_BANG] = ACTIONS(4446),
    [sym_comment] = ACTIONS(3),
    [anon_sym_LPAREN] = ACTIONS(4448),
    [anon_sym_LBRACK] = ACTIONS(4450),
    [anon_sym_QMARK] = ACTIONS(4452),
    [anon_sym_QMARK2] = ACTIONS(4454),
    [anon_sym_AMP] = ACTIONS(4456),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4458),
    [anon_sym_GT] = ACTIONS(4458),
    [anon_sym_LBRACE] = ACTIONS(4462),
    [anon_sym_CARET_LBRACE] = ACTIONS(4462),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4464),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4466),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4466),
    [anon_sym_LT_EQ] = ACTIONS(4468),
    [anon_sym_GT_EQ] = ACTIONS(4468),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4470),
    [anon_sym_is] = ACTIONS(4472),
    [anon_sym_PLUS] = ACTIONS(4474),
    [anon_sym_DASH] = ACTIONS(4474),
    [anon_sym_STAR] = ACTIONS(4476),
    [anon_sym_SLASH] = ACTIONS(4476),
    [anon_sym_PERCENT] = ACTIONS(4476),
    [anon_sym_PLUS_PLUS] = ACTIONS(4478),
    [anon_sym_DASH_DASH] = ACTIONS(4478),
    [anon_sym_PIPE] = ACTIONS(4456),
    [anon_sym_CARET] = ACTIONS(4480),
    [anon_sym_LT_LT] = ACTIONS(4456),
    [anon_sym_GT_GT] = ACTIONS(4456),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(4768),
    [sym__explicit_semi] = ACTIONS(4768),
    [sym__dot_custom] = ACTIONS(4482),
    [sym__conjunction_operator_custom] = ACTIONS(4484),
    [sym__disjunction_operator_custom] = ACTIONS(4486),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4488),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4466),
    [sym__plus_then_ws] = ACTIONS(4490),
    [sym__minus_then_ws] = ACTIONS(4490),
    [sym__bang_custom] = ACTIONS(4492),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1536] = {
    [sym__quest] = STATE(693),
    [sym__immediate_quest] = STATE(3151),
    [sym__range_operator] = STATE(416),
    [sym_custom_operator] = STATE(417),
    [sym_navigation_suffix] = STATE(3154),
    [sym_call_suffix] = STATE(3155),
    [sym__fn_call_lambda_arguments] = STATE(3156),
    [sym_value_arguments] = STATE(2698),
    [sym_lambda_literal] = STATE(1729),
    [sym__equality_operator] = STATE(418),
    [sym__comparison_operator] = STATE(419),
    [sym__three_dot_operator] = STATE(1213),
    [sym__open_ended_range_operator] = STATE(416),
    [sym__is_operator] = STATE(4290),
    [sym__additive_operator] = STATE(643),
    [sym__multiplicative_operator] = STATE(641),
    [sym_as_operator] = STATE(4460),
    [sym__bitwise_binary_operator] = STATE(421),
    [sym__postfix_unary_operator] = STATE(3164),
    [sym__eq_eq] = STATE(418),
    [sym__dot] = STATE(5433),
    [sym__conjunction_operator] = STATE(422),
    [sym__disjunction_operator] = STATE(423),
    [sym__nil_coalescing_operator] = STATE(399),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3164),
    [anon_sym_BANG] = ACTIONS(2799),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2801),
    [anon_sym_COLON] = ACTIONS(2801),
    [anon_sym_LPAREN] = ACTIONS(2801),
    [anon_sym_LBRACK] = ACTIONS(2801),
    [anon_sym_QMARK] = ACTIONS(2799),
    [anon_sym_QMARK2] = ACTIONS(2801),
    [anon_sym_AMP] = ACTIONS(2801),
    [aux_sym_custom_operator_token1] = ACTIONS(2801),
    [anon_sym_LT] = ACTIONS(2799),
    [anon_sym_GT] = ACTIONS(2799),
    [anon_sym_LBRACE] = ACTIONS(2801),
    [anon_sym_CARET_LBRACE] = ACTIONS(2801),
    [anon_sym_PLUS_EQ] = ACTIONS(2801),
    [anon_sym_DASH_EQ] = ACTIONS(2801),
    [anon_sym_STAR_EQ] = ACTIONS(2801),
    [anon_sym_SLASH_EQ] = ACTIONS(2801),
    [anon_sym_PERCENT_EQ] = ACTIONS(2801),
    [anon_sym_BANG_EQ] = ACTIONS(2799),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2801),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2801),
    [anon_sym_LT_EQ] = ACTIONS(2801),
    [anon_sym_GT_EQ] = ACTIONS(2801),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2801),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2801),
    [anon_sym_is] = ACTIONS(2801),
    [anon_sym_PLUS] = ACTIONS(2799),
    [anon_sym_DASH] = ACTIONS(2799),
    [anon_sym_STAR] = ACTIONS(2799),
    [anon_sym_SLASH] = ACTIONS(2799),
    [anon_sym_PERCENT] = ACTIONS(2799),
    [anon_sym_PLUS_PLUS] = ACTIONS(2801),
    [anon_sym_DASH_DASH] = ACTIONS(2801),
    [anon_sym_PIPE] = ACTIONS(2801),
    [anon_sym_CARET] = ACTIONS(2799),
    [anon_sym_LT_LT] = ACTIONS(2801),
    [anon_sym_GT_GT] = ACTIONS(2801),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2801),
    [sym__conjunction_operator_custom] = ACTIONS(2801),
    [sym__disjunction_operator_custom] = ACTIONS(2801),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2801),
    [sym__eq_custom] = ACTIONS(2801),
    [sym__eq_eq_custom] = ACTIONS(2801),
    [sym__plus_then_ws] = ACTIONS(2801),
    [sym__minus_then_ws] = ACTIONS(2801),
    [sym__bang_custom] = ACTIONS(2801),
    [sym_where_keyword] = ACTIONS(2801),
    [sym__as_custom] = ACTIONS(2801),
    [sym__as_quest_custom] = ACTIONS(2801),
    [sym__as_bang_custom] = ACTIONS(2801),
    [sym__custom_operator] = ACTIONS(2801),
  },
  [1537] = {
    [sym_simple_identifier] = STATE(3746),
    [sym__contextual_simple_identifier] = STATE(3771),
    [sym__unannotated_type] = STATE(3756),
    [sym_user_type] = STATE(3775),
    [sym__simple_user_type] = STATE(3759),
    [sym_tuple_type] = STATE(3591),
    [sym_function_type] = STATE(3756),
    [sym_array_type] = STATE(3775),
    [sym_dictionary_type] = STATE(3775),
    [sym_optional_type] = STATE(3756),
    [sym_metatype] = STATE(3756),
    [sym_opaque_type] = STATE(3756),
    [sym_existential_type] = STATE(3756),
    [sym_type_parameter_pack] = STATE(3756),
    [sym_type_pack_expansion] = STATE(3756),
    [sym_protocol_composition_type] = STATE(3756),
    [sym_suppressed_constraint] = STATE(3756),
    [sym__parenthesized_type] = STATE(3807),
    [sym__parameter_ownership_modifier] = STATE(3771),
    [sym_comment] = ACTIONS(5),
    [aux_sym_simple_identifier_token1] = ACTIONS(4770),
    [aux_sym_simple_identifier_token2] = ACTIONS(4772),
    [aux_sym_simple_identifier_token3] = ACTIONS(4772),
    [aux_sym_simple_identifier_token4] = ACTIONS(4772),
    [anon_sym_actor] = ACTIONS(4770),
    [anon_sym_async] = ACTIONS(4770),
    [anon_sym_each] = ACTIONS(4774),
    [anon_sym_lazy] = ACTIONS(4776),
    [anon_sym_repeat] = ACTIONS(4779),
    [anon_sym_package] = ACTIONS(4776),
    [anon_sym_LPAREN] = ACTIONS(4781),
    [anon_sym_LBRACK] = ACTIONS(4783),
    [anon_sym_DOT] = ACTIONS(617),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(4785),
    [anon_sym_any] = ACTIONS(4787),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(4789),
    [anon_sym_LT] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_case] = ACTIONS(623),
    [anon_sym_fallthrough] = ACTIONS(623),
    [anon_sym_class] = ACTIONS(623),
    [anon_sym_prefix] = ACTIONS(623),
    [anon_sym_infix] = ACTIONS(623),
    [anon_sym_postfix] = ACTIONS(623),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(623),
    [anon_sym_convenience] = ACTIONS(623),
    [anon_sym_required] = ACTIONS(623),
    [anon_sym_nonisolated] = ACTIONS(623),
    [anon_sym_public] = ACTIONS(623),
    [anon_sym_private] = ACTIONS(623),
    [anon_sym_internal] = ACTIONS(623),
    [anon_sym_fileprivate] = ACTIONS(623),
    [anon_sym_open] = ACTIONS(623),
    [anon_sym_mutating] = ACTIONS(623),
    [anon_sym_nonmutating] = ACTIONS(623),
    [anon_sym_static] = ACTIONS(623),
    [anon_sym_dynamic] = ACTIONS(623),
    [anon_sym_optional] = ACTIONS(623),
    [anon_sym_distributed] = ACTIONS(623),
    [anon_sym_final] = ACTIONS(623),
    [anon_sym_inout] = ACTIONS(623),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(623),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(4776),
    [anon_sym_consuming] = ACTIONS(4776),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym_default_keyword] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
  },
  [1538] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4791),
    [anon_sym_COMMA] = ACTIONS(4791),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_RBRACK] = ACTIONS(4791),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1539] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_tuple_expression_repeat1] = STATE(8018),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4793),
    [anon_sym_COMMA] = ACTIONS(4795),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1540] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_tuple_expression_repeat1] = STATE(8075),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4797),
    [anon_sym_COMMA] = ACTIONS(4799),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1541] = {
    [sym__quest] = STATE(693),
    [sym__immediate_quest] = STATE(3151),
    [sym__range_operator] = STATE(416),
    [sym_custom_operator] = STATE(417),
    [sym_navigation_suffix] = STATE(3154),
    [sym_call_suffix] = STATE(3155),
    [sym__fn_call_lambda_arguments] = STATE(3156),
    [sym_value_arguments] = STATE(2698),
    [sym_lambda_literal] = STATE(1729),
    [sym__equality_operator] = STATE(418),
    [sym__comparison_operator] = STATE(419),
    [sym__three_dot_operator] = STATE(1213),
    [sym__open_ended_range_operator] = STATE(416),
    [sym__is_operator] = STATE(4290),
    [sym__additive_operator] = STATE(643),
    [sym__multiplicative_operator] = STATE(641),
    [sym_as_operator] = STATE(4460),
    [sym__bitwise_binary_operator] = STATE(421),
    [sym__postfix_unary_operator] = STATE(3164),
    [sym__eq_eq] = STATE(418),
    [sym__dot] = STATE(5433),
    [sym__conjunction_operator] = STATE(422),
    [sym__disjunction_operator] = STATE(423),
    [sym__nil_coalescing_operator] = STATE(399),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3164),
    [anon_sym_BANG] = ACTIONS(4640),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2787),
    [anon_sym_COLON] = ACTIONS(2787),
    [anon_sym_LPAREN] = ACTIONS(4642),
    [anon_sym_LBRACK] = ACTIONS(4644),
    [anon_sym_QMARK] = ACTIONS(4744),
    [anon_sym_QMARK2] = ACTIONS(4646),
    [anon_sym_AMP] = ACTIONS(4648),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4650),
    [anon_sym_GT] = ACTIONS(4650),
    [anon_sym_LBRACE] = ACTIONS(4746),
    [anon_sym_CARET_LBRACE] = ACTIONS(4746),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4652),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4654),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4654),
    [anon_sym_LT_EQ] = ACTIONS(4656),
    [anon_sym_GT_EQ] = ACTIONS(4656),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4658),
    [anon_sym_is] = ACTIONS(4660),
    [anon_sym_PLUS] = ACTIONS(4662),
    [anon_sym_DASH] = ACTIONS(4662),
    [anon_sym_STAR] = ACTIONS(4664),
    [anon_sym_SLASH] = ACTIONS(4664),
    [anon_sym_PERCENT] = ACTIONS(4664),
    [anon_sym_PLUS_PLUS] = ACTIONS(4666),
    [anon_sym_DASH_DASH] = ACTIONS(4666),
    [anon_sym_PIPE] = ACTIONS(4648),
    [anon_sym_CARET] = ACTIONS(4668),
    [anon_sym_LT_LT] = ACTIONS(4648),
    [anon_sym_GT_GT] = ACTIONS(4648),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(4670),
    [sym__conjunction_operator_custom] = ACTIONS(4672),
    [sym__disjunction_operator_custom] = ACTIONS(4674),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4676),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4654),
    [sym__plus_then_ws] = ACTIONS(4678),
    [sym__minus_then_ws] = ACTIONS(4678),
    [sym__bang_custom] = ACTIONS(4680),
    [sym_where_keyword] = ACTIONS(2787),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1542] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_playground_literal_repeat1] = STATE(7708),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4801),
    [anon_sym_COMMA] = ACTIONS(4803),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1543] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_tuple_expression_repeat1] = STATE(7744),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4805),
    [anon_sym_COMMA] = ACTIONS(4807),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1544] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_playground_literal_repeat1] = STATE(7738),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4809),
    [anon_sym_COMMA] = ACTIONS(4811),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1545] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_tuple_expression_repeat1] = STATE(7609),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4813),
    [anon_sym_COMMA] = ACTIONS(4815),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1546] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_switch_entry_repeat1] = STATE(7517),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(4817),
    [anon_sym_COLON] = ACTIONS(4819),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1547] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_tuple_expression_repeat1] = STATE(7590),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4821),
    [anon_sym_COMMA] = ACTIONS(4823),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1548] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_tuple_expression_repeat1] = STATE(7671),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4825),
    [anon_sym_COMMA] = ACTIONS(4827),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1549] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_tuple_expression_repeat1] = STATE(7905),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4829),
    [anon_sym_COMMA] = ACTIONS(4831),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1550] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_playground_literal_repeat1] = STATE(8097),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4833),
    [anon_sym_COMMA] = ACTIONS(4835),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1551] = {
    [sym__quest] = STATE(693),
    [sym__immediate_quest] = STATE(3151),
    [sym__range_operator] = STATE(416),
    [sym_custom_operator] = STATE(417),
    [sym_navigation_suffix] = STATE(3154),
    [sym_call_suffix] = STATE(3155),
    [sym__fn_call_lambda_arguments] = STATE(3156),
    [sym_value_arguments] = STATE(2698),
    [sym_lambda_literal] = STATE(1729),
    [sym__equality_operator] = STATE(418),
    [sym__comparison_operator] = STATE(419),
    [sym__three_dot_operator] = STATE(1213),
    [sym__open_ended_range_operator] = STATE(416),
    [sym__is_operator] = STATE(4290),
    [sym__additive_operator] = STATE(643),
    [sym__multiplicative_operator] = STATE(641),
    [sym_as_operator] = STATE(4460),
    [sym__bitwise_binary_operator] = STATE(421),
    [sym__postfix_unary_operator] = STATE(3164),
    [sym__eq_eq] = STATE(418),
    [sym__dot] = STATE(5433),
    [sym__conjunction_operator] = STATE(422),
    [sym__disjunction_operator] = STATE(423),
    [sym__nil_coalescing_operator] = STATE(399),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3164),
    [anon_sym_BANG] = ACTIONS(2775),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2777),
    [anon_sym_COLON] = ACTIONS(2777),
    [anon_sym_LPAREN] = ACTIONS(2777),
    [anon_sym_LBRACK] = ACTIONS(2777),
    [anon_sym_QMARK] = ACTIONS(2775),
    [anon_sym_QMARK2] = ACTIONS(2777),
    [anon_sym_AMP] = ACTIONS(2777),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2775),
    [anon_sym_GT] = ACTIONS(2775),
    [anon_sym_LBRACE] = ACTIONS(2777),
    [anon_sym_CARET_LBRACE] = ACTIONS(2777),
    [anon_sym_PLUS_EQ] = ACTIONS(2777),
    [anon_sym_DASH_EQ] = ACTIONS(2777),
    [anon_sym_STAR_EQ] = ACTIONS(2777),
    [anon_sym_SLASH_EQ] = ACTIONS(2777),
    [anon_sym_PERCENT_EQ] = ACTIONS(2777),
    [anon_sym_BANG_EQ] = ACTIONS(2775),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2777),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2777),
    [anon_sym_LT_EQ] = ACTIONS(2777),
    [anon_sym_GT_EQ] = ACTIONS(2777),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2777),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2777),
    [anon_sym_is] = ACTIONS(2777),
    [anon_sym_PLUS] = ACTIONS(4662),
    [anon_sym_DASH] = ACTIONS(4662),
    [anon_sym_STAR] = ACTIONS(4664),
    [anon_sym_SLASH] = ACTIONS(4664),
    [anon_sym_PERCENT] = ACTIONS(4664),
    [anon_sym_PLUS_PLUS] = ACTIONS(2777),
    [anon_sym_DASH_DASH] = ACTIONS(2777),
    [anon_sym_PIPE] = ACTIONS(2777),
    [anon_sym_CARET] = ACTIONS(2775),
    [anon_sym_LT_LT] = ACTIONS(2777),
    [anon_sym_GT_GT] = ACTIONS(2777),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2777),
    [sym__conjunction_operator_custom] = ACTIONS(2777),
    [sym__disjunction_operator_custom] = ACTIONS(2777),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4676),
    [sym__eq_custom] = ACTIONS(2777),
    [sym__eq_eq_custom] = ACTIONS(2777),
    [sym__plus_then_ws] = ACTIONS(4678),
    [sym__minus_then_ws] = ACTIONS(4678),
    [sym__bang_custom] = ACTIONS(2777),
    [sym_where_keyword] = ACTIONS(2777),
    [sym__as_custom] = ACTIONS(2777),
    [sym__as_quest_custom] = ACTIONS(2777),
    [sym__as_bang_custom] = ACTIONS(2777),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1552] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_playground_literal_repeat1] = STATE(7713),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4837),
    [anon_sym_COMMA] = ACTIONS(4839),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1553] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_tuple_expression_repeat1] = STATE(8123),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4841),
    [anon_sym_COMMA] = ACTIONS(4843),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1554] = {
    [sym__quest] = STATE(374),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_tuple_expression_repeat1] = STATE(7801),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4740),
    [anon_sym_COMMA] = ACTIONS(4740),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4742),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1555] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_playground_literal_repeat1] = STATE(7526),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4845),
    [anon_sym_COMMA] = ACTIONS(4847),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1556] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_enum_type_parameters_repeat1] = STATE(7602),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4849),
    [anon_sym_COMMA] = ACTIONS(4851),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1557] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_playground_literal_repeat1] = STATE(7490),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4853),
    [anon_sym_COMMA] = ACTIONS(4855),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1558] = {
    [sym__quest] = STATE(374),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4740),
    [anon_sym_COMMA] = ACTIONS(4740),
    [anon_sym_COLON] = ACTIONS(4740),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4742),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1559] = {
    [sym_type_arguments] = STATE(1616),
    [anon_sym_BANG] = ACTIONS(3081),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3081),
    [aux_sym_simple_identifier_token2] = ACTIONS(3083),
    [aux_sym_simple_identifier_token3] = ACTIONS(3083),
    [aux_sym_simple_identifier_token4] = ACTIONS(3083),
    [anon_sym_actor] = ACTIONS(3081),
    [anon_sym_async] = ACTIONS(3081),
    [anon_sym_each] = ACTIONS(3081),
    [anon_sym_lazy] = ACTIONS(3081),
    [anon_sym_repeat] = ACTIONS(3081),
    [anon_sym_package] = ACTIONS(3081),
    [anon_sym_nil] = ACTIONS(3081),
    [sym_real_literal] = ACTIONS(3083),
    [sym_integer_literal] = ACTIONS(3081),
    [sym_hex_literal] = ACTIONS(3081),
    [sym_oct_literal] = ACTIONS(3083),
    [sym_bin_literal] = ACTIONS(3083),
    [anon_sym_true] = ACTIONS(3081),
    [anon_sym_false] = ACTIONS(3081),
    [anon_sym_DQUOTE] = ACTIONS(3081),
    [anon_sym_BSLASH] = ACTIONS(3083),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(3083),
    [sym__oneline_regex_literal] = ACTIONS(3081),
    [anon_sym_LPAREN] = ACTIONS(3083),
    [anon_sym_LBRACK] = ACTIONS(3083),
    [anon_sym_AMP] = ACTIONS(3083),
    [anon_sym_TILDE] = ACTIONS(3083),
    [anon_sym_if] = ACTIONS(3081),
    [anon_sym_switch] = ACTIONS(3081),
    [aux_sym_custom_operator_token1] = ACTIONS(3083),
    [anon_sym_LT] = ACTIONS(4857),
    [anon_sym_GT] = ACTIONS(3081),
    [anon_sym_await] = ACTIONS(3081),
    [anon_sym_LBRACE] = ACTIONS(3083),
    [anon_sym_CARET_LBRACE] = ACTIONS(3083),
    [anon_sym_self] = ACTIONS(3081),
    [anon_sym_super] = ACTIONS(3081),
    [anon_sym_try] = ACTIONS(3081),
    [anon_sym_PLUS_EQ] = ACTIONS(3083),
    [anon_sym_DASH_EQ] = ACTIONS(3083),
    [anon_sym_STAR_EQ] = ACTIONS(3083),
    [anon_sym_SLASH_EQ] = ACTIONS(3083),
    [anon_sym_PERCENT_EQ] = ACTIONS(3083),
    [anon_sym_BANG_EQ] = ACTIONS(3081),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3083),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3083),
    [anon_sym_LT_EQ] = ACTIONS(3083),
    [anon_sym_GT_EQ] = ACTIONS(3083),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3083),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3083),
    [anon_sym_PLUS] = ACTIONS(3081),
    [anon_sym_DASH] = ACTIONS(3081),
    [anon_sym_STAR] = ACTIONS(3081),
    [anon_sym_SLASH] = ACTIONS(3081),
    [anon_sym_PERCENT] = ACTIONS(3081),
    [anon_sym_PLUS_PLUS] = ACTIONS(3083),
    [anon_sym_DASH_DASH] = ACTIONS(3083),
    [anon_sym_PIPE] = ACTIONS(3083),
    [anon_sym_CARET] = ACTIONS(3081),
    [anon_sym_LT_LT] = ACTIONS(3083),
    [anon_sym_GT_GT] = ACTIONS(3083),
    [anon_sym_AT] = ACTIONS(3083),
    [anon_sym_borrowing] = ACTIONS(3081),
    [anon_sym_consuming] = ACTIONS(3081),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(3083),
    [sym_raw_str_end_part] = ACTIONS(3083),
    [sym__dot_custom] = ACTIONS(3083),
    [sym__eq_custom] = ACTIONS(3083),
    [sym__eq_eq_custom] = ACTIONS(3083),
    [sym__plus_then_ws] = ACTIONS(3083),
    [sym__minus_then_ws] = ACTIONS(3083),
    [sym__bang_custom] = ACTIONS(3083),
    [sym__custom_operator] = ACTIONS(3083),
    [sym__hash_symbol_custom] = ACTIONS(3083),
    [sym__directive_if] = ACTIONS(3083),
    [sym__directive_elseif] = ACTIONS(3083),
    [sym__directive_else] = ACTIONS(3083),
    [sym__directive_endif] = ACTIONS(3083),
  },
  [1560] = {
    [sym__quest] = STATE(583),
    [sym__immediate_quest] = STATE(2767),
    [sym__range_operator] = STATE(509),
    [sym_custom_operator] = STATE(496),
    [sym_navigation_suffix] = STATE(2768),
    [sym_call_suffix] = STATE(2773),
    [sym__fn_call_lambda_arguments] = STATE(2781),
    [sym_value_arguments] = STATE(2399),
    [sym_lambda_literal] = STATE(1706),
    [sym__equality_operator] = STATE(487),
    [sym__comparison_operator] = STATE(486),
    [sym__three_dot_operator] = STATE(1142),
    [sym__open_ended_range_operator] = STATE(509),
    [sym__is_operator] = STATE(4337),
    [sym__additive_operator] = STATE(594),
    [sym__multiplicative_operator] = STATE(598),
    [sym_as_operator] = STATE(4332),
    [sym__bitwise_binary_operator] = STATE(477),
    [sym__postfix_unary_operator] = STATE(2792),
    [sym__eq_eq] = STATE(487),
    [sym__dot] = STATE(5343),
    [sym__conjunction_operator] = STATE(475),
    [sym__disjunction_operator] = STATE(470),
    [sym__nil_coalescing_operator] = STATE(468),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2792),
    [anon_sym_BANG] = ACTIONS(4446),
    [sym_comment] = ACTIONS(3),
    [anon_sym_LPAREN] = ACTIONS(4448),
    [anon_sym_LBRACK] = ACTIONS(4450),
    [anon_sym_QMARK] = ACTIONS(4452),
    [anon_sym_QMARK2] = ACTIONS(4454),
    [anon_sym_AMP] = ACTIONS(4456),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4458),
    [anon_sym_GT] = ACTIONS(4458),
    [anon_sym_LBRACE] = ACTIONS(4462),
    [anon_sym_CARET_LBRACE] = ACTIONS(4462),
    [anon_sym_RBRACE] = ACTIONS(2977),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4464),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4466),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4466),
    [anon_sym_LT_EQ] = ACTIONS(4468),
    [anon_sym_GT_EQ] = ACTIONS(4468),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4470),
    [anon_sym_is] = ACTIONS(4472),
    [anon_sym_PLUS] = ACTIONS(4474),
    [anon_sym_DASH] = ACTIONS(4474),
    [anon_sym_STAR] = ACTIONS(4476),
    [anon_sym_SLASH] = ACTIONS(4476),
    [anon_sym_PERCENT] = ACTIONS(4476),
    [anon_sym_PLUS_PLUS] = ACTIONS(4478),
    [anon_sym_DASH_DASH] = ACTIONS(4478),
    [anon_sym_PIPE] = ACTIONS(4456),
    [anon_sym_CARET] = ACTIONS(4480),
    [anon_sym_LT_LT] = ACTIONS(4456),
    [anon_sym_GT_GT] = ACTIONS(4456),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2977),
    [sym__explicit_semi] = ACTIONS(2977),
    [sym__dot_custom] = ACTIONS(4482),
    [sym__conjunction_operator_custom] = ACTIONS(4484),
    [sym__disjunction_operator_custom] = ACTIONS(4486),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4488),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4466),
    [sym__plus_then_ws] = ACTIONS(4490),
    [sym__minus_then_ws] = ACTIONS(4490),
    [sym__bang_custom] = ACTIONS(4492),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1561] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4859),
    [anon_sym_COMMA] = ACTIONS(4859),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_RBRACK] = ACTIONS(4859),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1562] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_tuple_expression_repeat1] = STATE(7492),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4861),
    [anon_sym_COMMA] = ACTIONS(4863),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1563] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_tuple_expression_repeat1] = STATE(8036),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4865),
    [anon_sym_COMMA] = ACTIONS(4867),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1564] = {
    [sym__quest] = STATE(693),
    [sym__immediate_quest] = STATE(3151),
    [sym__range_operator] = STATE(416),
    [sym_custom_operator] = STATE(417),
    [sym_navigation_suffix] = STATE(3154),
    [sym_call_suffix] = STATE(3155),
    [sym__fn_call_lambda_arguments] = STATE(3156),
    [sym_value_arguments] = STATE(2698),
    [sym_lambda_literal] = STATE(1729),
    [sym__equality_operator] = STATE(418),
    [sym__comparison_operator] = STATE(419),
    [sym__three_dot_operator] = STATE(1213),
    [sym__open_ended_range_operator] = STATE(416),
    [sym__is_operator] = STATE(4290),
    [sym__additive_operator] = STATE(643),
    [sym__multiplicative_operator] = STATE(641),
    [sym_as_operator] = STATE(4460),
    [sym__bitwise_binary_operator] = STATE(421),
    [sym__postfix_unary_operator] = STATE(3164),
    [sym__eq_eq] = STATE(418),
    [sym__dot] = STATE(5433),
    [sym__conjunction_operator] = STATE(422),
    [sym__disjunction_operator] = STATE(423),
    [sym__nil_coalescing_operator] = STATE(399),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3164),
    [anon_sym_BANG] = ACTIONS(4640),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2779),
    [anon_sym_COLON] = ACTIONS(2779),
    [anon_sym_LPAREN] = ACTIONS(4642),
    [anon_sym_LBRACK] = ACTIONS(4644),
    [anon_sym_QMARK] = ACTIONS(4744),
    [anon_sym_QMARK2] = ACTIONS(4646),
    [anon_sym_AMP] = ACTIONS(4648),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4650),
    [anon_sym_GT] = ACTIONS(4650),
    [anon_sym_LBRACE] = ACTIONS(4746),
    [anon_sym_CARET_LBRACE] = ACTIONS(4746),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4652),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4654),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4654),
    [anon_sym_LT_EQ] = ACTIONS(4656),
    [anon_sym_GT_EQ] = ACTIONS(4656),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4658),
    [anon_sym_is] = ACTIONS(4660),
    [anon_sym_PLUS] = ACTIONS(4662),
    [anon_sym_DASH] = ACTIONS(4662),
    [anon_sym_STAR] = ACTIONS(4664),
    [anon_sym_SLASH] = ACTIONS(4664),
    [anon_sym_PERCENT] = ACTIONS(4664),
    [anon_sym_PLUS_PLUS] = ACTIONS(4666),
    [anon_sym_DASH_DASH] = ACTIONS(4666),
    [anon_sym_PIPE] = ACTIONS(4648),
    [anon_sym_CARET] = ACTIONS(4668),
    [anon_sym_LT_LT] = ACTIONS(4648),
    [anon_sym_GT_GT] = ACTIONS(4648),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(4670),
    [sym__conjunction_operator_custom] = ACTIONS(4672),
    [sym__disjunction_operator_custom] = ACTIONS(4674),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4676),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4654),
    [sym__plus_then_ws] = ACTIONS(4678),
    [sym__minus_then_ws] = ACTIONS(4678),
    [sym__bang_custom] = ACTIONS(4680),
    [sym_where_keyword] = ACTIONS(2779),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1565] = {
    [sym__quest] = STATE(693),
    [sym__immediate_quest] = STATE(3151),
    [sym__range_operator] = STATE(416),
    [sym_custom_operator] = STATE(417),
    [sym_navigation_suffix] = STATE(3154),
    [sym_call_suffix] = STATE(3155),
    [sym__fn_call_lambda_arguments] = STATE(3156),
    [sym_value_arguments] = STATE(2698),
    [sym_lambda_literal] = STATE(1729),
    [sym__equality_operator] = STATE(418),
    [sym__comparison_operator] = STATE(419),
    [sym__three_dot_operator] = STATE(1213),
    [sym__open_ended_range_operator] = STATE(416),
    [sym__is_operator] = STATE(4290),
    [sym__additive_operator] = STATE(643),
    [sym__multiplicative_operator] = STATE(641),
    [sym_as_operator] = STATE(4460),
    [sym__bitwise_binary_operator] = STATE(421),
    [sym__postfix_unary_operator] = STATE(3164),
    [sym__eq_eq] = STATE(418),
    [sym__dot] = STATE(5433),
    [sym__conjunction_operator] = STATE(422),
    [sym__disjunction_operator] = STATE(423),
    [sym__nil_coalescing_operator] = STATE(399),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3164),
    [anon_sym_BANG] = ACTIONS(4640),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2753),
    [anon_sym_COLON] = ACTIONS(2753),
    [anon_sym_LPAREN] = ACTIONS(4642),
    [anon_sym_LBRACK] = ACTIONS(4644),
    [anon_sym_QMARK] = ACTIONS(4744),
    [anon_sym_QMARK2] = ACTIONS(4646),
    [anon_sym_AMP] = ACTIONS(4648),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4650),
    [anon_sym_GT] = ACTIONS(4650),
    [anon_sym_LBRACE] = ACTIONS(4746),
    [anon_sym_CARET_LBRACE] = ACTIONS(4746),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4652),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4654),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4654),
    [anon_sym_LT_EQ] = ACTIONS(4656),
    [anon_sym_GT_EQ] = ACTIONS(4656),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4658),
    [anon_sym_is] = ACTIONS(4660),
    [anon_sym_PLUS] = ACTIONS(4662),
    [anon_sym_DASH] = ACTIONS(4662),
    [anon_sym_STAR] = ACTIONS(4664),
    [anon_sym_SLASH] = ACTIONS(4664),
    [anon_sym_PERCENT] = ACTIONS(4664),
    [anon_sym_PLUS_PLUS] = ACTIONS(4666),
    [anon_sym_DASH_DASH] = ACTIONS(4666),
    [anon_sym_PIPE] = ACTIONS(4648),
    [anon_sym_CARET] = ACTIONS(4668),
    [anon_sym_LT_LT] = ACTIONS(4648),
    [anon_sym_GT_GT] = ACTIONS(4648),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(4670),
    [sym__conjunction_operator_custom] = ACTIONS(4672),
    [sym__disjunction_operator_custom] = ACTIONS(4674),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4676),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4654),
    [sym__plus_then_ws] = ACTIONS(4678),
    [sym__minus_then_ws] = ACTIONS(4678),
    [sym__bang_custom] = ACTIONS(4680),
    [sym_where_keyword] = ACTIONS(2753),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1566] = {
    [sym__quest] = STATE(693),
    [sym__immediate_quest] = STATE(3151),
    [sym__range_operator] = STATE(416),
    [sym_custom_operator] = STATE(417),
    [sym_navigation_suffix] = STATE(3154),
    [sym_call_suffix] = STATE(3155),
    [sym__fn_call_lambda_arguments] = STATE(3156),
    [sym_value_arguments] = STATE(2698),
    [sym_lambda_literal] = STATE(1729),
    [sym__equality_operator] = STATE(418),
    [sym__comparison_operator] = STATE(419),
    [sym__three_dot_operator] = STATE(1213),
    [sym__open_ended_range_operator] = STATE(416),
    [sym__is_operator] = STATE(4290),
    [sym__additive_operator] = STATE(643),
    [sym__multiplicative_operator] = STATE(641),
    [sym_as_operator] = STATE(4460),
    [sym__bitwise_binary_operator] = STATE(421),
    [sym__postfix_unary_operator] = STATE(3164),
    [sym__eq_eq] = STATE(418),
    [sym__dot] = STATE(5433),
    [sym__conjunction_operator] = STATE(422),
    [sym__disjunction_operator] = STATE(423),
    [sym__nil_coalescing_operator] = STATE(399),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3164),
    [anon_sym_BANG] = ACTIONS(4640),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2783),
    [anon_sym_COLON] = ACTIONS(2783),
    [anon_sym_LPAREN] = ACTIONS(4642),
    [anon_sym_LBRACK] = ACTIONS(4644),
    [anon_sym_QMARK] = ACTIONS(4744),
    [anon_sym_QMARK2] = ACTIONS(4646),
    [anon_sym_AMP] = ACTIONS(4648),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4650),
    [anon_sym_GT] = ACTIONS(4650),
    [anon_sym_LBRACE] = ACTIONS(4746),
    [anon_sym_CARET_LBRACE] = ACTIONS(4746),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4652),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4654),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4654),
    [anon_sym_LT_EQ] = ACTIONS(4656),
    [anon_sym_GT_EQ] = ACTIONS(4656),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4658),
    [anon_sym_is] = ACTIONS(4660),
    [anon_sym_PLUS] = ACTIONS(4662),
    [anon_sym_DASH] = ACTIONS(4662),
    [anon_sym_STAR] = ACTIONS(4664),
    [anon_sym_SLASH] = ACTIONS(4664),
    [anon_sym_PERCENT] = ACTIONS(4664),
    [anon_sym_PLUS_PLUS] = ACTIONS(4666),
    [anon_sym_DASH_DASH] = ACTIONS(4666),
    [anon_sym_PIPE] = ACTIONS(4648),
    [anon_sym_CARET] = ACTIONS(4668),
    [anon_sym_LT_LT] = ACTIONS(4648),
    [anon_sym_GT_GT] = ACTIONS(4648),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(4670),
    [sym__conjunction_operator_custom] = ACTIONS(4672),
    [sym__disjunction_operator_custom] = ACTIONS(4674),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4676),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4654),
    [sym__plus_then_ws] = ACTIONS(4678),
    [sym__minus_then_ws] = ACTIONS(4678),
    [sym__bang_custom] = ACTIONS(4680),
    [sym_where_keyword] = ACTIONS(2783),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1567] = {
    [sym__quest] = STATE(621),
    [sym__immediate_quest] = STATE(3473),
    [sym__range_operator] = STATE(410),
    [sym_custom_operator] = STATE(409),
    [sym_navigation_suffix] = STATE(3476),
    [sym_call_suffix] = STATE(3477),
    [sym__fn_call_lambda_arguments] = STATE(3478),
    [sym_value_arguments] = STATE(2819),
    [sym_lambda_literal] = STATE(1735),
    [sym__equality_operator] = STATE(402),
    [sym__comparison_operator] = STATE(401),
    [sym__three_dot_operator] = STATE(1224),
    [sym__open_ended_range_operator] = STATE(410),
    [sym__is_operator] = STATE(4380),
    [sym__additive_operator] = STATE(697),
    [sym__multiplicative_operator] = STATE(698),
    [sym_as_operator] = STATE(4378),
    [sym__bitwise_binary_operator] = STATE(458),
    [sym__postfix_unary_operator] = STATE(3486),
    [sym__eq_eq] = STATE(402),
    [sym__dot] = STATE(5389),
    [sym__conjunction_operator] = STATE(428),
    [sym__disjunction_operator] = STATE(430),
    [sym__nil_coalescing_operator] = STATE(438),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3486),
    [anon_sym_BANG] = ACTIONS(4598),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2787),
    [anon_sym_LPAREN] = ACTIONS(4600),
    [anon_sym_LBRACK] = ACTIONS(4602),
    [anon_sym_QMARK] = ACTIONS(4703),
    [anon_sym_QMARK2] = ACTIONS(4604),
    [anon_sym_AMP] = ACTIONS(4606),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4608),
    [anon_sym_GT] = ACTIONS(4608),
    [anon_sym_LBRACE] = ACTIONS(4705),
    [anon_sym_CARET_LBRACE] = ACTIONS(4705),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4610),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4612),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4612),
    [anon_sym_LT_EQ] = ACTIONS(4614),
    [anon_sym_GT_EQ] = ACTIONS(4614),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4616),
    [anon_sym_is] = ACTIONS(4618),
    [anon_sym_PLUS] = ACTIONS(4620),
    [anon_sym_DASH] = ACTIONS(4620),
    [anon_sym_STAR] = ACTIONS(4622),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [anon_sym_PLUS_PLUS] = ACTIONS(4624),
    [anon_sym_DASH_DASH] = ACTIONS(4624),
    [anon_sym_PIPE] = ACTIONS(4606),
    [anon_sym_CARET] = ACTIONS(4626),
    [anon_sym_LT_LT] = ACTIONS(4606),
    [anon_sym_GT_GT] = ACTIONS(4606),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(4628),
    [sym__conjunction_operator_custom] = ACTIONS(4630),
    [sym__disjunction_operator_custom] = ACTIONS(4632),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4634),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4612),
    [sym__plus_then_ws] = ACTIONS(4636),
    [sym__minus_then_ws] = ACTIONS(4636),
    [sym__bang_custom] = ACTIONS(4638),
    [sym_where_keyword] = ACTIONS(2787),
    [sym_else] = ACTIONS(2787),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1568] = {
    [sym__quest] = STATE(621),
    [sym__immediate_quest] = STATE(3473),
    [sym__range_operator] = STATE(410),
    [sym_custom_operator] = STATE(409),
    [sym_navigation_suffix] = STATE(3476),
    [sym_call_suffix] = STATE(3477),
    [sym__fn_call_lambda_arguments] = STATE(3478),
    [sym_value_arguments] = STATE(2819),
    [sym_lambda_literal] = STATE(1735),
    [sym__equality_operator] = STATE(402),
    [sym__comparison_operator] = STATE(401),
    [sym__three_dot_operator] = STATE(1224),
    [sym__open_ended_range_operator] = STATE(410),
    [sym__is_operator] = STATE(4380),
    [sym__additive_operator] = STATE(697),
    [sym__multiplicative_operator] = STATE(698),
    [sym_as_operator] = STATE(4378),
    [sym__bitwise_binary_operator] = STATE(458),
    [sym__postfix_unary_operator] = STATE(3486),
    [sym__eq_eq] = STATE(402),
    [sym__dot] = STATE(5389),
    [sym__conjunction_operator] = STATE(428),
    [sym__disjunction_operator] = STATE(430),
    [sym__nil_coalescing_operator] = STATE(438),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3486),
    [anon_sym_BANG] = ACTIONS(2775),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2777),
    [anon_sym_LPAREN] = ACTIONS(2777),
    [anon_sym_LBRACK] = ACTIONS(2777),
    [anon_sym_QMARK] = ACTIONS(2775),
    [anon_sym_QMARK2] = ACTIONS(2777),
    [anon_sym_AMP] = ACTIONS(2777),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2775),
    [anon_sym_GT] = ACTIONS(2775),
    [anon_sym_LBRACE] = ACTIONS(2777),
    [anon_sym_CARET_LBRACE] = ACTIONS(2777),
    [anon_sym_PLUS_EQ] = ACTIONS(2777),
    [anon_sym_DASH_EQ] = ACTIONS(2777),
    [anon_sym_STAR_EQ] = ACTIONS(2777),
    [anon_sym_SLASH_EQ] = ACTIONS(2777),
    [anon_sym_PERCENT_EQ] = ACTIONS(2777),
    [anon_sym_BANG_EQ] = ACTIONS(2775),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2777),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2777),
    [anon_sym_LT_EQ] = ACTIONS(2777),
    [anon_sym_GT_EQ] = ACTIONS(2777),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2777),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2777),
    [anon_sym_is] = ACTIONS(2777),
    [anon_sym_PLUS] = ACTIONS(4620),
    [anon_sym_DASH] = ACTIONS(4620),
    [anon_sym_STAR] = ACTIONS(4622),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [anon_sym_PLUS_PLUS] = ACTIONS(2777),
    [anon_sym_DASH_DASH] = ACTIONS(2777),
    [anon_sym_PIPE] = ACTIONS(2777),
    [anon_sym_CARET] = ACTIONS(2775),
    [anon_sym_LT_LT] = ACTIONS(2777),
    [anon_sym_GT_GT] = ACTIONS(2777),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2777),
    [sym__conjunction_operator_custom] = ACTIONS(2777),
    [sym__disjunction_operator_custom] = ACTIONS(2777),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4634),
    [sym__eq_custom] = ACTIONS(2777),
    [sym__eq_eq_custom] = ACTIONS(2777),
    [sym__plus_then_ws] = ACTIONS(4636),
    [sym__minus_then_ws] = ACTIONS(4636),
    [sym__bang_custom] = ACTIONS(2777),
    [sym_where_keyword] = ACTIONS(2777),
    [sym_else] = ACTIONS(2777),
    [sym__as_custom] = ACTIONS(2777),
    [sym__as_quest_custom] = ACTIONS(2777),
    [sym__as_bang_custom] = ACTIONS(2777),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1569] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_switch_entry_repeat1] = STATE(7552),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(4817),
    [anon_sym_COLON] = ACTIONS(4869),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1570] = {
    [sym__quest] = STATE(374),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_tuple_expression_repeat1] = STATE(7609),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4740),
    [anon_sym_COMMA] = ACTIONS(4740),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4742),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1571] = {
    [sym__quest] = STATE(621),
    [sym__immediate_quest] = STATE(3473),
    [sym__range_operator] = STATE(410),
    [sym_custom_operator] = STATE(409),
    [sym_navigation_suffix] = STATE(3476),
    [sym_call_suffix] = STATE(3477),
    [sym__fn_call_lambda_arguments] = STATE(3478),
    [sym_value_arguments] = STATE(2819),
    [sym_lambda_literal] = STATE(1735),
    [sym__equality_operator] = STATE(402),
    [sym__comparison_operator] = STATE(401),
    [sym__three_dot_operator] = STATE(1224),
    [sym__open_ended_range_operator] = STATE(410),
    [sym__is_operator] = STATE(4380),
    [sym__additive_operator] = STATE(697),
    [sym__multiplicative_operator] = STATE(698),
    [sym_as_operator] = STATE(4378),
    [sym__bitwise_binary_operator] = STATE(458),
    [sym__postfix_unary_operator] = STATE(3486),
    [sym__eq_eq] = STATE(402),
    [sym__dot] = STATE(5389),
    [sym__conjunction_operator] = STATE(428),
    [sym__disjunction_operator] = STATE(430),
    [sym__nil_coalescing_operator] = STATE(438),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3486),
    [anon_sym_BANG] = ACTIONS(4598),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2779),
    [anon_sym_LPAREN] = ACTIONS(4600),
    [anon_sym_LBRACK] = ACTIONS(4602),
    [anon_sym_QMARK] = ACTIONS(4703),
    [anon_sym_QMARK2] = ACTIONS(4604),
    [anon_sym_AMP] = ACTIONS(4606),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4608),
    [anon_sym_GT] = ACTIONS(4608),
    [anon_sym_LBRACE] = ACTIONS(4705),
    [anon_sym_CARET_LBRACE] = ACTIONS(4705),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4610),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4612),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4612),
    [anon_sym_LT_EQ] = ACTIONS(4614),
    [anon_sym_GT_EQ] = ACTIONS(4614),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4616),
    [anon_sym_is] = ACTIONS(4618),
    [anon_sym_PLUS] = ACTIONS(4620),
    [anon_sym_DASH] = ACTIONS(4620),
    [anon_sym_STAR] = ACTIONS(4622),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [anon_sym_PLUS_PLUS] = ACTIONS(4624),
    [anon_sym_DASH_DASH] = ACTIONS(4624),
    [anon_sym_PIPE] = ACTIONS(4606),
    [anon_sym_CARET] = ACTIONS(4626),
    [anon_sym_LT_LT] = ACTIONS(4606),
    [anon_sym_GT_GT] = ACTIONS(4606),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(4628),
    [sym__conjunction_operator_custom] = ACTIONS(4630),
    [sym__disjunction_operator_custom] = ACTIONS(4632),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4634),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4612),
    [sym__plus_then_ws] = ACTIONS(4636),
    [sym__minus_then_ws] = ACTIONS(4636),
    [sym__bang_custom] = ACTIONS(4638),
    [sym_where_keyword] = ACTIONS(2779),
    [sym_else] = ACTIONS(2779),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1572] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4871),
    [anon_sym_COMMA] = ACTIONS(4871),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_RBRACK] = ACTIONS(4871),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1573] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_tuple_expression_repeat1] = STATE(7478),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4873),
    [anon_sym_COMMA] = ACTIONS(4875),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1574] = {
    [sym__quest] = STATE(621),
    [sym__immediate_quest] = STATE(3473),
    [sym__range_operator] = STATE(410),
    [sym_custom_operator] = STATE(409),
    [sym_navigation_suffix] = STATE(3476),
    [sym_call_suffix] = STATE(3477),
    [sym__fn_call_lambda_arguments] = STATE(3478),
    [sym_value_arguments] = STATE(2819),
    [sym_lambda_literal] = STATE(1735),
    [sym__equality_operator] = STATE(402),
    [sym__comparison_operator] = STATE(401),
    [sym__three_dot_operator] = STATE(1224),
    [sym__open_ended_range_operator] = STATE(410),
    [sym__is_operator] = STATE(4380),
    [sym__additive_operator] = STATE(697),
    [sym__multiplicative_operator] = STATE(698),
    [sym_as_operator] = STATE(4378),
    [sym__bitwise_binary_operator] = STATE(458),
    [sym__postfix_unary_operator] = STATE(3486),
    [sym__eq_eq] = STATE(402),
    [sym__dot] = STATE(5389),
    [sym__conjunction_operator] = STATE(428),
    [sym__disjunction_operator] = STATE(430),
    [sym__nil_coalescing_operator] = STATE(438),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3486),
    [anon_sym_BANG] = ACTIONS(4598),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2783),
    [anon_sym_LPAREN] = ACTIONS(4600),
    [anon_sym_LBRACK] = ACTIONS(4602),
    [anon_sym_QMARK] = ACTIONS(4703),
    [anon_sym_QMARK2] = ACTIONS(4604),
    [anon_sym_AMP] = ACTIONS(4606),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4608),
    [anon_sym_GT] = ACTIONS(4608),
    [anon_sym_LBRACE] = ACTIONS(4705),
    [anon_sym_CARET_LBRACE] = ACTIONS(4705),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4610),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4612),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4612),
    [anon_sym_LT_EQ] = ACTIONS(4614),
    [anon_sym_GT_EQ] = ACTIONS(4614),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4616),
    [anon_sym_is] = ACTIONS(4618),
    [anon_sym_PLUS] = ACTIONS(4620),
    [anon_sym_DASH] = ACTIONS(4620),
    [anon_sym_STAR] = ACTIONS(4622),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [anon_sym_PLUS_PLUS] = ACTIONS(4624),
    [anon_sym_DASH_DASH] = ACTIONS(4624),
    [anon_sym_PIPE] = ACTIONS(4606),
    [anon_sym_CARET] = ACTIONS(4626),
    [anon_sym_LT_LT] = ACTIONS(4606),
    [anon_sym_GT_GT] = ACTIONS(4606),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(4628),
    [sym__conjunction_operator_custom] = ACTIONS(4630),
    [sym__disjunction_operator_custom] = ACTIONS(4632),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4634),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4612),
    [sym__plus_then_ws] = ACTIONS(4636),
    [sym__minus_then_ws] = ACTIONS(4636),
    [sym__bang_custom] = ACTIONS(4638),
    [sym_where_keyword] = ACTIONS(2783),
    [sym_else] = ACTIONS(2783),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1575] = {
    [sym__quest] = STATE(621),
    [sym__immediate_quest] = STATE(3473),
    [sym__range_operator] = STATE(410),
    [sym_custom_operator] = STATE(409),
    [sym_navigation_suffix] = STATE(3476),
    [sym_call_suffix] = STATE(3477),
    [sym__fn_call_lambda_arguments] = STATE(3478),
    [sym_value_arguments] = STATE(2819),
    [sym_lambda_literal] = STATE(1735),
    [sym__equality_operator] = STATE(402),
    [sym__comparison_operator] = STATE(401),
    [sym__three_dot_operator] = STATE(1224),
    [sym__open_ended_range_operator] = STATE(410),
    [sym__is_operator] = STATE(4380),
    [sym__additive_operator] = STATE(697),
    [sym__multiplicative_operator] = STATE(698),
    [sym_as_operator] = STATE(4378),
    [sym__bitwise_binary_operator] = STATE(458),
    [sym__postfix_unary_operator] = STATE(3486),
    [sym__eq_eq] = STATE(402),
    [sym__dot] = STATE(5389),
    [sym__conjunction_operator] = STATE(428),
    [sym__disjunction_operator] = STATE(430),
    [sym__nil_coalescing_operator] = STATE(438),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3486),
    [anon_sym_BANG] = ACTIONS(2761),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2763),
    [anon_sym_LPAREN] = ACTIONS(2763),
    [anon_sym_LBRACK] = ACTIONS(2763),
    [anon_sym_QMARK] = ACTIONS(2761),
    [anon_sym_QMARK2] = ACTIONS(2763),
    [anon_sym_AMP] = ACTIONS(2763),
    [aux_sym_custom_operator_token1] = ACTIONS(2763),
    [anon_sym_LT] = ACTIONS(2761),
    [anon_sym_GT] = ACTIONS(2761),
    [anon_sym_LBRACE] = ACTIONS(2763),
    [anon_sym_CARET_LBRACE] = ACTIONS(2763),
    [anon_sym_PLUS_EQ] = ACTIONS(2763),
    [anon_sym_DASH_EQ] = ACTIONS(2763),
    [anon_sym_STAR_EQ] = ACTIONS(2763),
    [anon_sym_SLASH_EQ] = ACTIONS(2763),
    [anon_sym_PERCENT_EQ] = ACTIONS(2763),
    [anon_sym_BANG_EQ] = ACTIONS(2761),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2763),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2763),
    [anon_sym_LT_EQ] = ACTIONS(2763),
    [anon_sym_GT_EQ] = ACTIONS(2763),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2763),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2763),
    [anon_sym_is] = ACTIONS(2763),
    [anon_sym_PLUS] = ACTIONS(2761),
    [anon_sym_DASH] = ACTIONS(2761),
    [anon_sym_STAR] = ACTIONS(4622),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [anon_sym_PLUS_PLUS] = ACTIONS(2763),
    [anon_sym_DASH_DASH] = ACTIONS(2763),
    [anon_sym_PIPE] = ACTIONS(2763),
    [anon_sym_CARET] = ACTIONS(2761),
    [anon_sym_LT_LT] = ACTIONS(2763),
    [anon_sym_GT_GT] = ACTIONS(2763),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2763),
    [sym__conjunction_operator_custom] = ACTIONS(2763),
    [sym__disjunction_operator_custom] = ACTIONS(2763),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2763),
    [sym__eq_custom] = ACTIONS(2763),
    [sym__eq_eq_custom] = ACTIONS(2763),
    [sym__plus_then_ws] = ACTIONS(2763),
    [sym__minus_then_ws] = ACTIONS(2763),
    [sym__bang_custom] = ACTIONS(2763),
    [sym_where_keyword] = ACTIONS(2763),
    [sym_else] = ACTIONS(2763),
    [sym__as_custom] = ACTIONS(2763),
    [sym__as_quest_custom] = ACTIONS(2763),
    [sym__as_bang_custom] = ACTIONS(2763),
    [sym__custom_operator] = ACTIONS(2763),
  },
  [1576] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_playground_literal_repeat1] = STATE(7531),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4877),
    [anon_sym_COMMA] = ACTIONS(4879),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1577] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_tuple_expression_repeat1] = STATE(8099),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4881),
    [anon_sym_COMMA] = ACTIONS(4883),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1578] = {
    [sym__quest] = STATE(621),
    [sym__immediate_quest] = STATE(3473),
    [sym__range_operator] = STATE(410),
    [sym_custom_operator] = STATE(409),
    [sym_navigation_suffix] = STATE(3476),
    [sym_call_suffix] = STATE(3477),
    [sym__fn_call_lambda_arguments] = STATE(3478),
    [sym_value_arguments] = STATE(2819),
    [sym_lambda_literal] = STATE(1735),
    [sym__equality_operator] = STATE(402),
    [sym__comparison_operator] = STATE(401),
    [sym__three_dot_operator] = STATE(1224),
    [sym__open_ended_range_operator] = STATE(410),
    [sym__is_operator] = STATE(4380),
    [sym__additive_operator] = STATE(697),
    [sym__multiplicative_operator] = STATE(698),
    [sym_as_operator] = STATE(4378),
    [sym__bitwise_binary_operator] = STATE(458),
    [sym__postfix_unary_operator] = STATE(3486),
    [sym__eq_eq] = STATE(402),
    [sym__dot] = STATE(5389),
    [sym__conjunction_operator] = STATE(428),
    [sym__disjunction_operator] = STATE(430),
    [sym__nil_coalescing_operator] = STATE(438),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3486),
    [anon_sym_BANG] = ACTIONS(2799),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2801),
    [anon_sym_LPAREN] = ACTIONS(2801),
    [anon_sym_LBRACK] = ACTIONS(2801),
    [anon_sym_QMARK] = ACTIONS(2799),
    [anon_sym_QMARK2] = ACTIONS(2801),
    [anon_sym_AMP] = ACTIONS(2801),
    [aux_sym_custom_operator_token1] = ACTIONS(2801),
    [anon_sym_LT] = ACTIONS(2799),
    [anon_sym_GT] = ACTIONS(2799),
    [anon_sym_LBRACE] = ACTIONS(2801),
    [anon_sym_CARET_LBRACE] = ACTIONS(2801),
    [anon_sym_PLUS_EQ] = ACTIONS(2801),
    [anon_sym_DASH_EQ] = ACTIONS(2801),
    [anon_sym_STAR_EQ] = ACTIONS(2801),
    [anon_sym_SLASH_EQ] = ACTIONS(2801),
    [anon_sym_PERCENT_EQ] = ACTIONS(2801),
    [anon_sym_BANG_EQ] = ACTIONS(2799),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2801),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2801),
    [anon_sym_LT_EQ] = ACTIONS(2801),
    [anon_sym_GT_EQ] = ACTIONS(2801),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2801),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2801),
    [anon_sym_is] = ACTIONS(2801),
    [anon_sym_PLUS] = ACTIONS(2799),
    [anon_sym_DASH] = ACTIONS(2799),
    [anon_sym_STAR] = ACTIONS(2799),
    [anon_sym_SLASH] = ACTIONS(2799),
    [anon_sym_PERCENT] = ACTIONS(2799),
    [anon_sym_PLUS_PLUS] = ACTIONS(2801),
    [anon_sym_DASH_DASH] = ACTIONS(2801),
    [anon_sym_PIPE] = ACTIONS(2801),
    [anon_sym_CARET] = ACTIONS(2799),
    [anon_sym_LT_LT] = ACTIONS(2801),
    [anon_sym_GT_GT] = ACTIONS(2801),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2801),
    [sym__conjunction_operator_custom] = ACTIONS(2801),
    [sym__disjunction_operator_custom] = ACTIONS(2801),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2801),
    [sym__eq_custom] = ACTIONS(2801),
    [sym__eq_eq_custom] = ACTIONS(2801),
    [sym__plus_then_ws] = ACTIONS(2801),
    [sym__minus_then_ws] = ACTIONS(2801),
    [sym__bang_custom] = ACTIONS(2801),
    [sym_where_keyword] = ACTIONS(2801),
    [sym_else] = ACTIONS(2801),
    [sym__as_custom] = ACTIONS(2801),
    [sym__as_quest_custom] = ACTIONS(2801),
    [sym__as_bang_custom] = ACTIONS(2801),
    [sym__custom_operator] = ACTIONS(2801),
  },
  [1579] = {
    [sym__quest] = STATE(607),
    [sym__immediate_quest] = STATE(3644),
    [sym__range_operator] = STATE(446),
    [sym_custom_operator] = STATE(463),
    [sym_navigation_suffix] = STATE(3638),
    [sym_call_suffix] = STATE(3637),
    [sym__fn_call_lambda_arguments] = STATE(3636),
    [sym_value_arguments] = STATE(2915),
    [sym_expr_hack_at_ternary_binary_call_suffix] = STATE(3698),
    [sym_lambda_literal] = STATE(1754),
    [sym__equality_operator] = STATE(437),
    [sym__comparison_operator] = STATE(493),
    [sym__three_dot_operator] = STATE(1256),
    [sym__open_ended_range_operator] = STATE(446),
    [sym__is_operator] = STATE(4181),
    [sym__additive_operator] = STATE(651),
    [sym__multiplicative_operator] = STATE(642),
    [sym_as_operator] = STATE(4183),
    [sym__bitwise_binary_operator] = STATE(453),
    [sym__postfix_unary_operator] = STATE(3635),
    [sym__eq_eq] = STATE(437),
    [sym__dot] = STATE(5492),
    [sym__conjunction_operator] = STATE(494),
    [sym__disjunction_operator] = STATE(499),
    [sym__nil_coalescing_operator] = STATE(474),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3635),
    [anon_sym_BANG] = ACTIONS(4885),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2703),
    [anon_sym_LPAREN] = ACTIONS(4887),
    [anon_sym_LBRACK] = ACTIONS(4889),
    [anon_sym_QMARK] = ACTIONS(2709),
    [anon_sym_QMARK2] = ACTIONS(4891),
    [anon_sym_AMP] = ACTIONS(4893),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4895),
    [anon_sym_GT] = ACTIONS(4895),
    [anon_sym_LBRACE] = ACTIONS(2703),
    [anon_sym_CARET_LBRACE] = ACTIONS(2703),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4897),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4899),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4899),
    [anon_sym_LT_EQ] = ACTIONS(4901),
    [anon_sym_GT_EQ] = ACTIONS(4901),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1341),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4903),
    [anon_sym_is] = ACTIONS(4905),
    [anon_sym_PLUS] = ACTIONS(4907),
    [anon_sym_DASH] = ACTIONS(4907),
    [anon_sym_STAR] = ACTIONS(4909),
    [anon_sym_SLASH] = ACTIONS(4909),
    [anon_sym_PERCENT] = ACTIONS(4909),
    [anon_sym_PLUS_PLUS] = ACTIONS(4911),
    [anon_sym_DASH_DASH] = ACTIONS(4911),
    [anon_sym_PIPE] = ACTIONS(4893),
    [anon_sym_CARET] = ACTIONS(4913),
    [anon_sym_LT_LT] = ACTIONS(4893),
    [anon_sym_GT_GT] = ACTIONS(4893),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(4915),
    [sym__conjunction_operator_custom] = ACTIONS(4917),
    [sym__disjunction_operator_custom] = ACTIONS(4919),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4921),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4899),
    [sym__plus_then_ws] = ACTIONS(4923),
    [sym__minus_then_ws] = ACTIONS(4923),
    [sym__bang_custom] = ACTIONS(4925),
    [sym_else] = ACTIONS(2703),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1580] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_playground_literal_repeat1] = STATE(8063),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4927),
    [anon_sym_COMMA] = ACTIONS(4929),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1581] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_playground_literal_repeat1] = STATE(7893),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4931),
    [anon_sym_COMMA] = ACTIONS(4933),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1582] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_enum_type_parameters_repeat1] = STATE(7503),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4935),
    [anon_sym_COMMA] = ACTIONS(4851),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1583] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4937),
    [anon_sym_COMMA] = ACTIONS(4937),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_RBRACK] = ACTIONS(4937),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1584] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_enum_type_parameters_repeat1] = STATE(7619),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4939),
    [anon_sym_COMMA] = ACTIONS(4851),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1585] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_tuple_expression_repeat1] = STATE(8027),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4941),
    [anon_sym_COMMA] = ACTIONS(4943),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1586] = {
    [sym__quest] = STATE(583),
    [sym__immediate_quest] = STATE(2767),
    [sym__range_operator] = STATE(509),
    [sym_custom_operator] = STATE(496),
    [sym_navigation_suffix] = STATE(2768),
    [sym_call_suffix] = STATE(2773),
    [sym__fn_call_lambda_arguments] = STATE(2781),
    [sym_value_arguments] = STATE(2399),
    [sym_lambda_literal] = STATE(1706),
    [sym__equality_operator] = STATE(487),
    [sym__comparison_operator] = STATE(486),
    [sym__three_dot_operator] = STATE(1142),
    [sym__open_ended_range_operator] = STATE(509),
    [sym__is_operator] = STATE(4337),
    [sym__additive_operator] = STATE(594),
    [sym__multiplicative_operator] = STATE(598),
    [sym_as_operator] = STATE(4332),
    [sym__bitwise_binary_operator] = STATE(477),
    [sym__postfix_unary_operator] = STATE(2792),
    [sym__eq_eq] = STATE(487),
    [sym__dot] = STATE(5343),
    [sym__conjunction_operator] = STATE(475),
    [sym__disjunction_operator] = STATE(470),
    [sym__nil_coalescing_operator] = STATE(468),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(2792),
    [anon_sym_BANG] = ACTIONS(4446),
    [sym_comment] = ACTIONS(3),
    [anon_sym_LPAREN] = ACTIONS(4448),
    [anon_sym_LBRACK] = ACTIONS(4450),
    [anon_sym_QMARK] = ACTIONS(4452),
    [anon_sym_QMARK2] = ACTIONS(4454),
    [anon_sym_AMP] = ACTIONS(4456),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4458),
    [anon_sym_GT] = ACTIONS(4458),
    [anon_sym_LBRACE] = ACTIONS(4462),
    [anon_sym_CARET_LBRACE] = ACTIONS(4462),
    [anon_sym_RBRACE] = ACTIONS(2973),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4464),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4466),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4466),
    [anon_sym_LT_EQ] = ACTIONS(4468),
    [anon_sym_GT_EQ] = ACTIONS(4468),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(67),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4470),
    [anon_sym_is] = ACTIONS(4472),
    [anon_sym_PLUS] = ACTIONS(4474),
    [anon_sym_DASH] = ACTIONS(4474),
    [anon_sym_STAR] = ACTIONS(4476),
    [anon_sym_SLASH] = ACTIONS(4476),
    [anon_sym_PERCENT] = ACTIONS(4476),
    [anon_sym_PLUS_PLUS] = ACTIONS(4478),
    [anon_sym_DASH_DASH] = ACTIONS(4478),
    [anon_sym_PIPE] = ACTIONS(4456),
    [anon_sym_CARET] = ACTIONS(4480),
    [anon_sym_LT_LT] = ACTIONS(4456),
    [anon_sym_GT_GT] = ACTIONS(4456),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2973),
    [sym__explicit_semi] = ACTIONS(2973),
    [sym__dot_custom] = ACTIONS(4482),
    [sym__conjunction_operator_custom] = ACTIONS(4484),
    [sym__disjunction_operator_custom] = ACTIONS(4486),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4488),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4466),
    [sym__plus_then_ws] = ACTIONS(4490),
    [sym__minus_then_ws] = ACTIONS(4490),
    [sym__bang_custom] = ACTIONS(4492),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1587] = {
    [sym__quest] = STATE(621),
    [sym__immediate_quest] = STATE(3473),
    [sym__range_operator] = STATE(410),
    [sym_custom_operator] = STATE(409),
    [sym_navigation_suffix] = STATE(3476),
    [sym_call_suffix] = STATE(3477),
    [sym__fn_call_lambda_arguments] = STATE(3478),
    [sym_value_arguments] = STATE(2819),
    [sym_lambda_literal] = STATE(1735),
    [sym__equality_operator] = STATE(402),
    [sym__comparison_operator] = STATE(401),
    [sym__three_dot_operator] = STATE(1224),
    [sym__open_ended_range_operator] = STATE(410),
    [sym__is_operator] = STATE(4380),
    [sym__additive_operator] = STATE(697),
    [sym__multiplicative_operator] = STATE(698),
    [sym_as_operator] = STATE(4378),
    [sym__bitwise_binary_operator] = STATE(458),
    [sym__postfix_unary_operator] = STATE(3486),
    [sym__eq_eq] = STATE(402),
    [sym__dot] = STATE(5389),
    [sym__conjunction_operator] = STATE(428),
    [sym__disjunction_operator] = STATE(430),
    [sym__nil_coalescing_operator] = STATE(438),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3486),
    [anon_sym_BANG] = ACTIONS(4598),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2753),
    [anon_sym_LPAREN] = ACTIONS(4600),
    [anon_sym_LBRACK] = ACTIONS(4602),
    [anon_sym_QMARK] = ACTIONS(4703),
    [anon_sym_QMARK2] = ACTIONS(4604),
    [anon_sym_AMP] = ACTIONS(4606),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4608),
    [anon_sym_GT] = ACTIONS(4608),
    [anon_sym_LBRACE] = ACTIONS(4705),
    [anon_sym_CARET_LBRACE] = ACTIONS(4705),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4610),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4612),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4612),
    [anon_sym_LT_EQ] = ACTIONS(4614),
    [anon_sym_GT_EQ] = ACTIONS(4614),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4616),
    [anon_sym_is] = ACTIONS(4618),
    [anon_sym_PLUS] = ACTIONS(4620),
    [anon_sym_DASH] = ACTIONS(4620),
    [anon_sym_STAR] = ACTIONS(4622),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [anon_sym_PLUS_PLUS] = ACTIONS(4624),
    [anon_sym_DASH_DASH] = ACTIONS(4624),
    [anon_sym_PIPE] = ACTIONS(4606),
    [anon_sym_CARET] = ACTIONS(4626),
    [anon_sym_LT_LT] = ACTIONS(4606),
    [anon_sym_GT_GT] = ACTIONS(4606),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(4628),
    [sym__conjunction_operator_custom] = ACTIONS(4630),
    [sym__disjunction_operator_custom] = ACTIONS(4632),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4634),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4612),
    [sym__plus_then_ws] = ACTIONS(4636),
    [sym__minus_then_ws] = ACTIONS(4636),
    [sym__bang_custom] = ACTIONS(4638),
    [sym_where_keyword] = ACTIONS(2753),
    [sym_else] = ACTIONS(2753),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1588] = {
    [sym__quest] = STATE(621),
    [sym__immediate_quest] = STATE(3473),
    [sym__range_operator] = STATE(410),
    [sym_custom_operator] = STATE(409),
    [sym_navigation_suffix] = STATE(3476),
    [sym_call_suffix] = STATE(3477),
    [sym__fn_call_lambda_arguments] = STATE(3478),
    [sym_value_arguments] = STATE(2819),
    [sym_lambda_literal] = STATE(1735),
    [sym__equality_operator] = STATE(402),
    [sym__comparison_operator] = STATE(401),
    [sym__three_dot_operator] = STATE(1224),
    [sym__open_ended_range_operator] = STATE(410),
    [sym__is_operator] = STATE(4380),
    [sym__additive_operator] = STATE(697),
    [sym__multiplicative_operator] = STATE(698),
    [sym_as_operator] = STATE(4378),
    [sym__bitwise_binary_operator] = STATE(458),
    [sym__postfix_unary_operator] = STATE(3486),
    [sym__eq_eq] = STATE(402),
    [sym__dot] = STATE(5389),
    [sym__conjunction_operator] = STATE(428),
    [sym__disjunction_operator] = STATE(430),
    [sym__nil_coalescing_operator] = STATE(438),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3486),
    [anon_sym_BANG] = ACTIONS(4598),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2791),
    [anon_sym_LPAREN] = ACTIONS(2791),
    [anon_sym_LBRACK] = ACTIONS(2791),
    [anon_sym_QMARK] = ACTIONS(2793),
    [anon_sym_QMARK2] = ACTIONS(2791),
    [anon_sym_AMP] = ACTIONS(2791),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2793),
    [anon_sym_GT] = ACTIONS(2793),
    [anon_sym_LBRACE] = ACTIONS(2791),
    [anon_sym_CARET_LBRACE] = ACTIONS(2791),
    [anon_sym_PLUS_EQ] = ACTIONS(2791),
    [anon_sym_DASH_EQ] = ACTIONS(2791),
    [anon_sym_STAR_EQ] = ACTIONS(2791),
    [anon_sym_SLASH_EQ] = ACTIONS(2791),
    [anon_sym_PERCENT_EQ] = ACTIONS(2791),
    [anon_sym_BANG_EQ] = ACTIONS(4610),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4612),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4612),
    [anon_sym_LT_EQ] = ACTIONS(2791),
    [anon_sym_GT_EQ] = ACTIONS(2791),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2791),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2791),
    [anon_sym_is] = ACTIONS(4618),
    [anon_sym_PLUS] = ACTIONS(4620),
    [anon_sym_DASH] = ACTIONS(4620),
    [anon_sym_STAR] = ACTIONS(4622),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [anon_sym_PLUS_PLUS] = ACTIONS(4624),
    [anon_sym_DASH_DASH] = ACTIONS(4624),
    [anon_sym_PIPE] = ACTIONS(2791),
    [anon_sym_CARET] = ACTIONS(2793),
    [anon_sym_LT_LT] = ACTIONS(2791),
    [anon_sym_GT_GT] = ACTIONS(2791),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2791),
    [sym__conjunction_operator_custom] = ACTIONS(4630),
    [sym__disjunction_operator_custom] = ACTIONS(4632),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4634),
    [sym__eq_custom] = ACTIONS(2791),
    [sym__eq_eq_custom] = ACTIONS(4612),
    [sym__plus_then_ws] = ACTIONS(4636),
    [sym__minus_then_ws] = ACTIONS(4636),
    [sym__bang_custom] = ACTIONS(4638),
    [sym_where_keyword] = ACTIONS(2791),
    [sym_else] = ACTIONS(2791),
    [sym__as_custom] = ACTIONS(2791),
    [sym__as_quest_custom] = ACTIONS(2791),
    [sym__as_bang_custom] = ACTIONS(2791),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1589] = {
    [sym_simple_identifier] = STATE(3746),
    [sym__contextual_simple_identifier] = STATE(3771),
    [sym__unannotated_type] = STATE(3735),
    [sym_user_type] = STATE(3775),
    [sym__simple_user_type] = STATE(3759),
    [sym_tuple_type] = STATE(3591),
    [sym_function_type] = STATE(3735),
    [sym_array_type] = STATE(3775),
    [sym_dictionary_type] = STATE(3775),
    [sym_optional_type] = STATE(3735),
    [sym_metatype] = STATE(3735),
    [sym_opaque_type] = STATE(3735),
    [sym_existential_type] = STATE(3735),
    [sym_type_parameter_pack] = STATE(3735),
    [sym_type_pack_expansion] = STATE(3735),
    [sym_protocol_composition_type] = STATE(3735),
    [sym_suppressed_constraint] = STATE(3735),
    [sym__parenthesized_type] = STATE(3807),
    [sym__parameter_ownership_modifier] = STATE(3771),
    [sym_comment] = ACTIONS(5),
    [aux_sym_simple_identifier_token1] = ACTIONS(4770),
    [aux_sym_simple_identifier_token2] = ACTIONS(4772),
    [aux_sym_simple_identifier_token3] = ACTIONS(4772),
    [aux_sym_simple_identifier_token4] = ACTIONS(4772),
    [anon_sym_actor] = ACTIONS(4770),
    [anon_sym_async] = ACTIONS(4770),
    [anon_sym_each] = ACTIONS(4774),
    [anon_sym_lazy] = ACTIONS(4776),
    [anon_sym_repeat] = ACTIONS(4779),
    [anon_sym_package] = ACTIONS(4776),
    [anon_sym_LPAREN] = ACTIONS(4781),
    [anon_sym_LBRACK] = ACTIONS(4783),
    [anon_sym_DOT] = ACTIONS(617),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(4785),
    [anon_sym_any] = ACTIONS(4787),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(4789),
    [anon_sym_LT] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_case] = ACTIONS(623),
    [anon_sym_fallthrough] = ACTIONS(623),
    [anon_sym_class] = ACTIONS(623),
    [anon_sym_prefix] = ACTIONS(623),
    [anon_sym_infix] = ACTIONS(623),
    [anon_sym_postfix] = ACTIONS(623),
    [anon_sym_AT] = ACTIONS(623),
    [anon_sym_override] = ACTIONS(623),
    [anon_sym_convenience] = ACTIONS(623),
    [anon_sym_required] = ACTIONS(623),
    [anon_sym_nonisolated] = ACTIONS(623),
    [anon_sym_public] = ACTIONS(623),
    [anon_sym_private] = ACTIONS(623),
    [anon_sym_internal] = ACTIONS(623),
    [anon_sym_fileprivate] = ACTIONS(623),
    [anon_sym_open] = ACTIONS(623),
    [anon_sym_mutating] = ACTIONS(623),
    [anon_sym_nonmutating] = ACTIONS(623),
    [anon_sym_static] = ACTIONS(623),
    [anon_sym_dynamic] = ACTIONS(623),
    [anon_sym_optional] = ACTIONS(623),
    [anon_sym_distributed] = ACTIONS(623),
    [anon_sym_final] = ACTIONS(623),
    [anon_sym_inout] = ACTIONS(623),
    [anon_sym_ATescaping] = ACTIONS(617),
    [anon_sym_ATautoclosure] = ACTIONS(617),
    [anon_sym_weak] = ACTIONS(623),
    [anon_sym_unowned] = ACTIONS(623),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(617),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(4776),
    [anon_sym_consuming] = ACTIONS(4776),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym_default_keyword] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
  },
  [1590] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [aux_sym_tuple_expression_repeat1] = STATE(7491),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4945),
    [anon_sym_COMMA] = ACTIONS(4947),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1591] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4949),
    [anon_sym_COMMA] = ACTIONS(4949),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1592] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4951),
    [anon_sym_COMMA] = ACTIONS(4951),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1593] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(4953),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_RBRACK] = ACTIONS(4953),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1594] = {
    [sym__quest] = STATE(607),
    [sym__immediate_quest] = STATE(3644),
    [sym__range_operator] = STATE(446),
    [sym_custom_operator] = STATE(463),
    [sym_navigation_suffix] = STATE(3638),
    [sym_call_suffix] = STATE(3637),
    [sym__fn_call_lambda_arguments] = STATE(3636),
    [sym_value_arguments] = STATE(3036),
    [sym_lambda_literal] = STATE(1754),
    [sym__equality_operator] = STATE(437),
    [sym__comparison_operator] = STATE(493),
    [sym__three_dot_operator] = STATE(1256),
    [sym__open_ended_range_operator] = STATE(446),
    [sym__is_operator] = STATE(4181),
    [sym__additive_operator] = STATE(651),
    [sym__multiplicative_operator] = STATE(642),
    [sym_as_operator] = STATE(4183),
    [sym__bitwise_binary_operator] = STATE(453),
    [sym__postfix_unary_operator] = STATE(3635),
    [sym__eq_eq] = STATE(437),
    [sym__dot] = STATE(5492),
    [sym__conjunction_operator] = STATE(494),
    [sym__disjunction_operator] = STATE(499),
    [sym__nil_coalescing_operator] = STATE(474),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3635),
    [anon_sym_BANG] = ACTIONS(2775),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2777),
    [anon_sym_LPAREN] = ACTIONS(2777),
    [anon_sym_LBRACK] = ACTIONS(2777),
    [anon_sym_QMARK] = ACTIONS(2775),
    [anon_sym_QMARK2] = ACTIONS(2777),
    [anon_sym_AMP] = ACTIONS(2777),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2775),
    [anon_sym_GT] = ACTIONS(2775),
    [anon_sym_LBRACE] = ACTIONS(2777),
    [anon_sym_CARET_LBRACE] = ACTIONS(2777),
    [anon_sym_PLUS_EQ] = ACTIONS(2777),
    [anon_sym_DASH_EQ] = ACTIONS(2777),
    [anon_sym_STAR_EQ] = ACTIONS(2777),
    [anon_sym_SLASH_EQ] = ACTIONS(2777),
    [anon_sym_PERCENT_EQ] = ACTIONS(2777),
    [anon_sym_BANG_EQ] = ACTIONS(2775),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2777),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2777),
    [anon_sym_LT_EQ] = ACTIONS(2777),
    [anon_sym_GT_EQ] = ACTIONS(2777),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2777),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2777),
    [anon_sym_is] = ACTIONS(2777),
    [anon_sym_PLUS] = ACTIONS(4907),
    [anon_sym_DASH] = ACTIONS(4907),
    [anon_sym_STAR] = ACTIONS(4909),
    [anon_sym_SLASH] = ACTIONS(4909),
    [anon_sym_PERCENT] = ACTIONS(4909),
    [anon_sym_PLUS_PLUS] = ACTIONS(2777),
    [anon_sym_DASH_DASH] = ACTIONS(2777),
    [anon_sym_PIPE] = ACTIONS(2777),
    [anon_sym_CARET] = ACTIONS(2775),
    [anon_sym_LT_LT] = ACTIONS(2777),
    [anon_sym_GT_GT] = ACTIONS(2777),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2777),
    [sym__conjunction_operator_custom] = ACTIONS(2777),
    [sym__disjunction_operator_custom] = ACTIONS(2777),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4921),
    [sym__eq_custom] = ACTIONS(2777),
    [sym__eq_eq_custom] = ACTIONS(2777),
    [sym__plus_then_ws] = ACTIONS(4923),
    [sym__minus_then_ws] = ACTIONS(4923),
    [sym__bang_custom] = ACTIONS(2777),
    [sym_else] = ACTIONS(2777),
    [sym__as_custom] = ACTIONS(2777),
    [sym__as_quest_custom] = ACTIONS(2777),
    [sym__as_bang_custom] = ACTIONS(2777),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1595] = {
    [anon_sym_BANG] = ACTIONS(4955),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(4955),
    [aux_sym_simple_identifier_token2] = ACTIONS(4957),
    [aux_sym_simple_identifier_token3] = ACTIONS(4957),
    [aux_sym_simple_identifier_token4] = ACTIONS(4957),
    [anon_sym_actor] = ACTIONS(4955),
    [anon_sym_async] = ACTIONS(4955),
    [anon_sym_each] = ACTIONS(4955),
    [anon_sym_lazy] = ACTIONS(4955),
    [anon_sym_repeat] = ACTIONS(4955),
    [anon_sym_package] = ACTIONS(4955),
    [anon_sym_nil] = ACTIONS(4955),
    [sym_real_literal] = ACTIONS(4957),
    [sym_integer_literal] = ACTIONS(4955),
    [sym_hex_literal] = ACTIONS(4955),
    [sym_oct_literal] = ACTIONS(4957),
    [sym_bin_literal] = ACTIONS(4957),
    [anon_sym_true] = ACTIONS(4955),
    [anon_sym_false] = ACTIONS(4955),
    [anon_sym_DQUOTE] = ACTIONS(4955),
    [anon_sym_BSLASH] = ACTIONS(4957),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(4957),
    [sym__oneline_regex_literal] = ACTIONS(4955),
    [anon_sym_LPAREN] = ACTIONS(4957),
    [anon_sym_LBRACK] = ACTIONS(4957),
    [anon_sym_AMP] = ACTIONS(4957),
    [anon_sym_TILDE] = ACTIONS(4957),
    [anon_sym_if] = ACTIONS(4955),
    [anon_sym_switch] = ACTIONS(4955),
    [aux_sym_custom_operator_token1] = ACTIONS(4957),
    [anon_sym_LT] = ACTIONS(4955),
    [anon_sym_GT] = ACTIONS(4955),
    [anon_sym_await] = ACTIONS(4955),
    [anon_sym_LBRACE] = ACTIONS(4957),
    [anon_sym_CARET_LBRACE] = ACTIONS(4957),
    [anon_sym_self] = ACTIONS(4955),
    [anon_sym_super] = ACTIONS(4955),
    [anon_sym_try] = ACTIONS(4955),
    [anon_sym_PLUS_EQ] = ACTIONS(4957),
    [anon_sym_DASH_EQ] = ACTIONS(4957),
    [anon_sym_STAR_EQ] = ACTIONS(4957),
    [anon_sym_SLASH_EQ] = ACTIONS(4957),
    [anon_sym_PERCENT_EQ] = ACTIONS(4957),
    [anon_sym_BANG_EQ] = ACTIONS(4955),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4957),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4957),
    [anon_sym_LT_EQ] = ACTIONS(4957),
    [anon_sym_GT_EQ] = ACTIONS(4957),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4957),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4957),
    [anon_sym_PLUS] = ACTIONS(4955),
    [anon_sym_DASH] = ACTIONS(4955),
    [anon_sym_STAR] = ACTIONS(4955),
    [anon_sym_SLASH] = ACTIONS(4955),
    [anon_sym_PERCENT] = ACTIONS(4955),
    [anon_sym_PLUS_PLUS] = ACTIONS(4957),
    [anon_sym_DASH_DASH] = ACTIONS(4957),
    [anon_sym_PIPE] = ACTIONS(4957),
    [anon_sym_CARET] = ACTIONS(4955),
    [anon_sym_LT_LT] = ACTIONS(4957),
    [anon_sym_GT_GT] = ACTIONS(4957),
    [anon_sym_AT] = ACTIONS(4957),
    [anon_sym_borrowing] = ACTIONS(4955),
    [anon_sym_consuming] = ACTIONS(4955),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(4957),
    [sym_raw_str_end_part] = ACTIONS(4957),
    [sym__dot_custom] = ACTIONS(4957),
    [sym__eq_custom] = ACTIONS(4957),
    [sym__eq_eq_custom] = ACTIONS(4957),
    [sym__plus_then_ws] = ACTIONS(4957),
    [sym__minus_then_ws] = ACTIONS(4957),
    [sym__bang_custom] = ACTIONS(4957),
    [sym__custom_operator] = ACTIONS(4957),
    [sym__hash_symbol_custom] = ACTIONS(4957),
    [sym__directive_if] = ACTIONS(4957),
    [sym__directive_elseif] = ACTIONS(4957),
    [sym__directive_else] = ACTIONS(4957),
    [sym__directive_endif] = ACTIONS(4957),
  },
  [1596] = {
    [anon_sym_BANG] = ACTIONS(3125),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3125),
    [aux_sym_simple_identifier_token2] = ACTIONS(3127),
    [aux_sym_simple_identifier_token3] = ACTIONS(3127),
    [aux_sym_simple_identifier_token4] = ACTIONS(3127),
    [anon_sym_actor] = ACTIONS(3125),
    [anon_sym_async] = ACTIONS(3125),
    [anon_sym_each] = ACTIONS(3125),
    [anon_sym_lazy] = ACTIONS(3125),
    [anon_sym_repeat] = ACTIONS(3125),
    [anon_sym_package] = ACTIONS(3125),
    [anon_sym_nil] = ACTIONS(3125),
    [sym_real_literal] = ACTIONS(3127),
    [sym_integer_literal] = ACTIONS(3125),
    [sym_hex_literal] = ACTIONS(3125),
    [sym_oct_literal] = ACTIONS(3127),
    [sym_bin_literal] = ACTIONS(3127),
    [anon_sym_true] = ACTIONS(3125),
    [anon_sym_false] = ACTIONS(3125),
    [anon_sym_DQUOTE] = ACTIONS(3125),
    [anon_sym_BSLASH] = ACTIONS(3127),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(3127),
    [sym__oneline_regex_literal] = ACTIONS(3125),
    [anon_sym_LPAREN] = ACTIONS(3127),
    [anon_sym_LBRACK] = ACTIONS(3127),
    [anon_sym_AMP] = ACTIONS(3127),
    [anon_sym_TILDE] = ACTIONS(3127),
    [anon_sym_if] = ACTIONS(3125),
    [anon_sym_switch] = ACTIONS(3125),
    [aux_sym_custom_operator_token1] = ACTIONS(3127),
    [anon_sym_LT] = ACTIONS(3125),
    [anon_sym_GT] = ACTIONS(3125),
    [anon_sym_await] = ACTIONS(3125),
    [anon_sym_LBRACE] = ACTIONS(3127),
    [anon_sym_CARET_LBRACE] = ACTIONS(3127),
    [anon_sym_self] = ACTIONS(3125),
    [anon_sym_super] = ACTIONS(3125),
    [anon_sym_try] = ACTIONS(3125),
    [anon_sym_PLUS_EQ] = ACTIONS(3127),
    [anon_sym_DASH_EQ] = ACTIONS(3127),
    [anon_sym_STAR_EQ] = ACTIONS(3127),
    [anon_sym_SLASH_EQ] = ACTIONS(3127),
    [anon_sym_PERCENT_EQ] = ACTIONS(3127),
    [anon_sym_BANG_EQ] = ACTIONS(3125),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3127),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3127),
    [anon_sym_LT_EQ] = ACTIONS(3127),
    [anon_sym_GT_EQ] = ACTIONS(3127),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3127),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3127),
    [anon_sym_PLUS] = ACTIONS(3125),
    [anon_sym_DASH] = ACTIONS(3125),
    [anon_sym_STAR] = ACTIONS(3125),
    [anon_sym_SLASH] = ACTIONS(3125),
    [anon_sym_PERCENT] = ACTIONS(3125),
    [anon_sym_PLUS_PLUS] = ACTIONS(3127),
    [anon_sym_DASH_DASH] = ACTIONS(3127),
    [anon_sym_PIPE] = ACTIONS(3127),
    [anon_sym_CARET] = ACTIONS(3125),
    [anon_sym_LT_LT] = ACTIONS(3127),
    [anon_sym_GT_GT] = ACTIONS(3127),
    [anon_sym_AT] = ACTIONS(3127),
    [anon_sym_borrowing] = ACTIONS(3125),
    [anon_sym_consuming] = ACTIONS(3125),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(3127),
    [sym_raw_str_end_part] = ACTIONS(3127),
    [sym__dot_custom] = ACTIONS(3127),
    [sym__eq_custom] = ACTIONS(3127),
    [sym__eq_eq_custom] = ACTIONS(3127),
    [sym__plus_then_ws] = ACTIONS(3127),
    [sym__minus_then_ws] = ACTIONS(3127),
    [sym__bang_custom] = ACTIONS(3127),
    [sym__custom_operator] = ACTIONS(3127),
    [sym__hash_symbol_custom] = ACTIONS(3127),
    [sym__directive_if] = ACTIONS(3127),
    [sym__directive_elseif] = ACTIONS(3127),
    [sym__directive_else] = ACTIONS(3127),
    [sym__directive_endif] = ACTIONS(3127),
  },
  [1597] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4959),
    [anon_sym_COMMA] = ACTIONS(4959),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1598] = {
    [sym__quest] = STATE(607),
    [sym__immediate_quest] = STATE(3644),
    [sym__range_operator] = STATE(446),
    [sym_custom_operator] = STATE(463),
    [sym_navigation_suffix] = STATE(3638),
    [sym_call_suffix] = STATE(3637),
    [sym__fn_call_lambda_arguments] = STATE(3636),
    [sym_value_arguments] = STATE(3036),
    [sym_lambda_literal] = STATE(1754),
    [sym__equality_operator] = STATE(437),
    [sym__comparison_operator] = STATE(493),
    [sym__three_dot_operator] = STATE(1256),
    [sym__open_ended_range_operator] = STATE(446),
    [sym__is_operator] = STATE(4181),
    [sym__additive_operator] = STATE(651),
    [sym__multiplicative_operator] = STATE(642),
    [sym_as_operator] = STATE(4183),
    [sym__bitwise_binary_operator] = STATE(453),
    [sym__postfix_unary_operator] = STATE(3635),
    [sym__eq_eq] = STATE(437),
    [sym__dot] = STATE(5492),
    [sym__conjunction_operator] = STATE(494),
    [sym__disjunction_operator] = STATE(499),
    [sym__nil_coalescing_operator] = STATE(474),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3635),
    [anon_sym_BANG] = ACTIONS(4885),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2957),
    [anon_sym_LPAREN] = ACTIONS(4887),
    [anon_sym_LBRACK] = ACTIONS(4889),
    [anon_sym_QMARK] = ACTIONS(4961),
    [anon_sym_QMARK2] = ACTIONS(4891),
    [anon_sym_AMP] = ACTIONS(4893),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4895),
    [anon_sym_GT] = ACTIONS(4895),
    [anon_sym_LBRACE] = ACTIONS(4963),
    [anon_sym_CARET_LBRACE] = ACTIONS(4963),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4897),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4899),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4899),
    [anon_sym_LT_EQ] = ACTIONS(4901),
    [anon_sym_GT_EQ] = ACTIONS(4901),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1341),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4903),
    [anon_sym_is] = ACTIONS(4905),
    [anon_sym_PLUS] = ACTIONS(4907),
    [anon_sym_DASH] = ACTIONS(4907),
    [anon_sym_STAR] = ACTIONS(4909),
    [anon_sym_SLASH] = ACTIONS(4909),
    [anon_sym_PERCENT] = ACTIONS(4909),
    [anon_sym_PLUS_PLUS] = ACTIONS(4911),
    [anon_sym_DASH_DASH] = ACTIONS(4911),
    [anon_sym_PIPE] = ACTIONS(4893),
    [anon_sym_CARET] = ACTIONS(4913),
    [anon_sym_LT_LT] = ACTIONS(4893),
    [anon_sym_GT_GT] = ACTIONS(4893),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(4915),
    [sym__conjunction_operator_custom] = ACTIONS(4917),
    [sym__disjunction_operator_custom] = ACTIONS(4919),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4921),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4899),
    [sym__plus_then_ws] = ACTIONS(4923),
    [sym__minus_then_ws] = ACTIONS(4923),
    [sym__bang_custom] = ACTIONS(4925),
    [sym_else] = ACTIONS(2957),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1599] = {
    [sym__quest] = STATE(607),
    [sym__immediate_quest] = STATE(3644),
    [sym__range_operator] = STATE(446),
    [sym_custom_operator] = STATE(463),
    [sym_navigation_suffix] = STATE(3638),
    [sym_call_suffix] = STATE(3637),
    [sym__fn_call_lambda_arguments] = STATE(3636),
    [sym_value_arguments] = STATE(3036),
    [sym_lambda_literal] = STATE(1754),
    [sym__equality_operator] = STATE(437),
    [sym__comparison_operator] = STATE(493),
    [sym__three_dot_operator] = STATE(1256),
    [sym__open_ended_range_operator] = STATE(446),
    [sym__is_operator] = STATE(4181),
    [sym__additive_operator] = STATE(651),
    [sym__multiplicative_operator] = STATE(642),
    [sym_as_operator] = STATE(4183),
    [sym__bitwise_binary_operator] = STATE(453),
    [sym__postfix_unary_operator] = STATE(3635),
    [sym__eq_eq] = STATE(437),
    [sym__dot] = STATE(5492),
    [sym__conjunction_operator] = STATE(494),
    [sym__disjunction_operator] = STATE(499),
    [sym__nil_coalescing_operator] = STATE(474),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3635),
    [anon_sym_BANG] = ACTIONS(4885),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2765),
    [anon_sym_LPAREN] = ACTIONS(2765),
    [anon_sym_LBRACK] = ACTIONS(2765),
    [anon_sym_QMARK] = ACTIONS(2767),
    [anon_sym_QMARK2] = ACTIONS(2765),
    [anon_sym_AMP] = ACTIONS(2765),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2767),
    [anon_sym_GT] = ACTIONS(2767),
    [anon_sym_LBRACE] = ACTIONS(2765),
    [anon_sym_CARET_LBRACE] = ACTIONS(2765),
    [anon_sym_PLUS_EQ] = ACTIONS(2765),
    [anon_sym_DASH_EQ] = ACTIONS(2765),
    [anon_sym_STAR_EQ] = ACTIONS(2765),
    [anon_sym_SLASH_EQ] = ACTIONS(2765),
    [anon_sym_PERCENT_EQ] = ACTIONS(2765),
    [anon_sym_BANG_EQ] = ACTIONS(4897),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4899),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4899),
    [anon_sym_LT_EQ] = ACTIONS(2765),
    [anon_sym_GT_EQ] = ACTIONS(2765),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2765),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2765),
    [anon_sym_is] = ACTIONS(4905),
    [anon_sym_PLUS] = ACTIONS(4907),
    [anon_sym_DASH] = ACTIONS(4907),
    [anon_sym_STAR] = ACTIONS(4909),
    [anon_sym_SLASH] = ACTIONS(4909),
    [anon_sym_PERCENT] = ACTIONS(4909),
    [anon_sym_PLUS_PLUS] = ACTIONS(4911),
    [anon_sym_DASH_DASH] = ACTIONS(4911),
    [anon_sym_PIPE] = ACTIONS(2765),
    [anon_sym_CARET] = ACTIONS(2767),
    [anon_sym_LT_LT] = ACTIONS(2765),
    [anon_sym_GT_GT] = ACTIONS(2765),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2765),
    [sym__conjunction_operator_custom] = ACTIONS(4917),
    [sym__disjunction_operator_custom] = ACTIONS(4919),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4921),
    [sym__eq_custom] = ACTIONS(2765),
    [sym__eq_eq_custom] = ACTIONS(4899),
    [sym__plus_then_ws] = ACTIONS(4923),
    [sym__minus_then_ws] = ACTIONS(4923),
    [sym__bang_custom] = ACTIONS(4925),
    [sym_else] = ACTIONS(2765),
    [sym__as_custom] = ACTIONS(2765),
    [sym__as_quest_custom] = ACTIONS(2765),
    [sym__as_bang_custom] = ACTIONS(2765),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1600] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4965),
    [anon_sym_COMMA] = ACTIONS(4965),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1601] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(4967),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_RBRACK] = ACTIONS(4967),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1602] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4969),
    [anon_sym_COMMA] = ACTIONS(4969),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1603] = {
    [anon_sym_BANG] = ACTIONS(4971),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(4971),
    [aux_sym_simple_identifier_token2] = ACTIONS(4973),
    [aux_sym_simple_identifier_token3] = ACTIONS(4973),
    [aux_sym_simple_identifier_token4] = ACTIONS(4973),
    [anon_sym_actor] = ACTIONS(4971),
    [anon_sym_async] = ACTIONS(4971),
    [anon_sym_each] = ACTIONS(4971),
    [anon_sym_lazy] = ACTIONS(4971),
    [anon_sym_repeat] = ACTIONS(4971),
    [anon_sym_package] = ACTIONS(4971),
    [anon_sym_nil] = ACTIONS(4971),
    [sym_real_literal] = ACTIONS(4973),
    [sym_integer_literal] = ACTIONS(4971),
    [sym_hex_literal] = ACTIONS(4971),
    [sym_oct_literal] = ACTIONS(4973),
    [sym_bin_literal] = ACTIONS(4973),
    [anon_sym_true] = ACTIONS(4971),
    [anon_sym_false] = ACTIONS(4971),
    [anon_sym_DQUOTE] = ACTIONS(4971),
    [anon_sym_BSLASH] = ACTIONS(4973),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(4973),
    [sym__oneline_regex_literal] = ACTIONS(4971),
    [anon_sym_LPAREN] = ACTIONS(4973),
    [anon_sym_LBRACK] = ACTIONS(4973),
    [anon_sym_AMP] = ACTIONS(4973),
    [anon_sym_TILDE] = ACTIONS(4973),
    [anon_sym_if] = ACTIONS(4971),
    [anon_sym_switch] = ACTIONS(4971),
    [aux_sym_custom_operator_token1] = ACTIONS(4973),
    [anon_sym_LT] = ACTIONS(4971),
    [anon_sym_GT] = ACTIONS(4971),
    [anon_sym_await] = ACTIONS(4971),
    [anon_sym_LBRACE] = ACTIONS(4973),
    [anon_sym_CARET_LBRACE] = ACTIONS(4973),
    [anon_sym_self] = ACTIONS(4971),
    [anon_sym_super] = ACTIONS(4971),
    [anon_sym_try] = ACTIONS(4971),
    [anon_sym_PLUS_EQ] = ACTIONS(4973),
    [anon_sym_DASH_EQ] = ACTIONS(4973),
    [anon_sym_STAR_EQ] = ACTIONS(4973),
    [anon_sym_SLASH_EQ] = ACTIONS(4973),
    [anon_sym_PERCENT_EQ] = ACTIONS(4973),
    [anon_sym_BANG_EQ] = ACTIONS(4971),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4973),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4973),
    [anon_sym_LT_EQ] = ACTIONS(4973),
    [anon_sym_GT_EQ] = ACTIONS(4973),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4973),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4973),
    [anon_sym_PLUS] = ACTIONS(4971),
    [anon_sym_DASH] = ACTIONS(4971),
    [anon_sym_STAR] = ACTIONS(4971),
    [anon_sym_SLASH] = ACTIONS(4971),
    [anon_sym_PERCENT] = ACTIONS(4971),
    [anon_sym_PLUS_PLUS] = ACTIONS(4973),
    [anon_sym_DASH_DASH] = ACTIONS(4973),
    [anon_sym_PIPE] = ACTIONS(4973),
    [anon_sym_CARET] = ACTIONS(4971),
    [anon_sym_LT_LT] = ACTIONS(4973),
    [anon_sym_GT_GT] = ACTIONS(4973),
    [anon_sym_AT] = ACTIONS(4973),
    [anon_sym_borrowing] = ACTIONS(4971),
    [anon_sym_consuming] = ACTIONS(4971),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(4973),
    [sym_raw_str_end_part] = ACTIONS(4973),
    [sym__dot_custom] = ACTIONS(4973),
    [sym__eq_custom] = ACTIONS(4973),
    [sym__eq_eq_custom] = ACTIONS(4973),
    [sym__plus_then_ws] = ACTIONS(4973),
    [sym__minus_then_ws] = ACTIONS(4973),
    [sym__bang_custom] = ACTIONS(4973),
    [sym__custom_operator] = ACTIONS(4973),
    [sym__hash_symbol_custom] = ACTIONS(4973),
    [sym__directive_if] = ACTIONS(4973),
    [sym__directive_elseif] = ACTIONS(4973),
    [sym__directive_else] = ACTIONS(4973),
    [sym__directive_endif] = ACTIONS(4973),
  },
  [1604] = {
    [sym__quest] = STATE(607),
    [sym__immediate_quest] = STATE(3644),
    [sym__range_operator] = STATE(446),
    [sym_custom_operator] = STATE(463),
    [sym_navigation_suffix] = STATE(3638),
    [sym_call_suffix] = STATE(3637),
    [sym__fn_call_lambda_arguments] = STATE(3636),
    [sym_value_arguments] = STATE(3036),
    [sym_lambda_literal] = STATE(1754),
    [sym__equality_operator] = STATE(437),
    [sym__comparison_operator] = STATE(493),
    [sym__three_dot_operator] = STATE(1256),
    [sym__open_ended_range_operator] = STATE(446),
    [sym__is_operator] = STATE(4181),
    [sym__additive_operator] = STATE(651),
    [sym__multiplicative_operator] = STATE(642),
    [sym_as_operator] = STATE(4183),
    [sym__bitwise_binary_operator] = STATE(453),
    [sym__postfix_unary_operator] = STATE(3635),
    [sym__eq_eq] = STATE(437),
    [sym__dot] = STATE(5492),
    [sym__conjunction_operator] = STATE(494),
    [sym__disjunction_operator] = STATE(499),
    [sym__nil_coalescing_operator] = STATE(474),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3635),
    [anon_sym_BANG] = ACTIONS(4885),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2779),
    [anon_sym_LPAREN] = ACTIONS(4887),
    [anon_sym_LBRACK] = ACTIONS(4889),
    [anon_sym_QMARK] = ACTIONS(4961),
    [anon_sym_QMARK2] = ACTIONS(4891),
    [anon_sym_AMP] = ACTIONS(4893),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4895),
    [anon_sym_GT] = ACTIONS(4895),
    [anon_sym_LBRACE] = ACTIONS(4963),
    [anon_sym_CARET_LBRACE] = ACTIONS(4963),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4897),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4899),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4899),
    [anon_sym_LT_EQ] = ACTIONS(4901),
    [anon_sym_GT_EQ] = ACTIONS(4901),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1341),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4903),
    [anon_sym_is] = ACTIONS(4905),
    [anon_sym_PLUS] = ACTIONS(4907),
    [anon_sym_DASH] = ACTIONS(4907),
    [anon_sym_STAR] = ACTIONS(4909),
    [anon_sym_SLASH] = ACTIONS(4909),
    [anon_sym_PERCENT] = ACTIONS(4909),
    [anon_sym_PLUS_PLUS] = ACTIONS(4911),
    [anon_sym_DASH_DASH] = ACTIONS(4911),
    [anon_sym_PIPE] = ACTIONS(4893),
    [anon_sym_CARET] = ACTIONS(4913),
    [anon_sym_LT_LT] = ACTIONS(4893),
    [anon_sym_GT_GT] = ACTIONS(4893),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(4915),
    [sym__conjunction_operator_custom] = ACTIONS(4917),
    [sym__disjunction_operator_custom] = ACTIONS(4919),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4921),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4899),
    [sym__plus_then_ws] = ACTIONS(4923),
    [sym__minus_then_ws] = ACTIONS(4923),
    [sym__bang_custom] = ACTIONS(4925),
    [sym_else] = ACTIONS(2779),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1605] = {
    [anon_sym_BANG] = ACTIONS(3133),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3133),
    [aux_sym_simple_identifier_token2] = ACTIONS(3135),
    [aux_sym_simple_identifier_token3] = ACTIONS(3135),
    [aux_sym_simple_identifier_token4] = ACTIONS(3135),
    [anon_sym_actor] = ACTIONS(3133),
    [anon_sym_async] = ACTIONS(3133),
    [anon_sym_each] = ACTIONS(3133),
    [anon_sym_lazy] = ACTIONS(3133),
    [anon_sym_repeat] = ACTIONS(3133),
    [anon_sym_package] = ACTIONS(3133),
    [anon_sym_nil] = ACTIONS(3133),
    [sym_real_literal] = ACTIONS(3135),
    [sym_integer_literal] = ACTIONS(3133),
    [sym_hex_literal] = ACTIONS(3133),
    [sym_oct_literal] = ACTIONS(3135),
    [sym_bin_literal] = ACTIONS(3135),
    [anon_sym_true] = ACTIONS(3133),
    [anon_sym_false] = ACTIONS(3133),
    [anon_sym_DQUOTE] = ACTIONS(3133),
    [anon_sym_BSLASH] = ACTIONS(3135),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(3135),
    [sym__oneline_regex_literal] = ACTIONS(3133),
    [anon_sym_LPAREN] = ACTIONS(3135),
    [anon_sym_LBRACK] = ACTIONS(3135),
    [anon_sym_AMP] = ACTIONS(3135),
    [anon_sym_TILDE] = ACTIONS(3135),
    [anon_sym_if] = ACTIONS(3133),
    [anon_sym_switch] = ACTIONS(3133),
    [aux_sym_custom_operator_token1] = ACTIONS(3135),
    [anon_sym_LT] = ACTIONS(3133),
    [anon_sym_GT] = ACTIONS(3133),
    [anon_sym_await] = ACTIONS(3133),
    [anon_sym_LBRACE] = ACTIONS(3135),
    [anon_sym_CARET_LBRACE] = ACTIONS(3135),
    [anon_sym_self] = ACTIONS(3133),
    [anon_sym_super] = ACTIONS(3133),
    [anon_sym_try] = ACTIONS(3133),
    [anon_sym_PLUS_EQ] = ACTIONS(3135),
    [anon_sym_DASH_EQ] = ACTIONS(3135),
    [anon_sym_STAR_EQ] = ACTIONS(3135),
    [anon_sym_SLASH_EQ] = ACTIONS(3135),
    [anon_sym_PERCENT_EQ] = ACTIONS(3135),
    [anon_sym_BANG_EQ] = ACTIONS(3133),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3135),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3135),
    [anon_sym_LT_EQ] = ACTIONS(3135),
    [anon_sym_GT_EQ] = ACTIONS(3135),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3135),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3135),
    [anon_sym_PLUS] = ACTIONS(3133),
    [anon_sym_DASH] = ACTIONS(3133),
    [anon_sym_STAR] = ACTIONS(3133),
    [anon_sym_SLASH] = ACTIONS(3133),
    [anon_sym_PERCENT] = ACTIONS(3133),
    [anon_sym_PLUS_PLUS] = ACTIONS(3135),
    [anon_sym_DASH_DASH] = ACTIONS(3135),
    [anon_sym_PIPE] = ACTIONS(3135),
    [anon_sym_CARET] = ACTIONS(3133),
    [anon_sym_LT_LT] = ACTIONS(3135),
    [anon_sym_GT_GT] = ACTIONS(3135),
    [anon_sym_AT] = ACTIONS(3135),
    [anon_sym_borrowing] = ACTIONS(3133),
    [anon_sym_consuming] = ACTIONS(3133),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(3135),
    [sym_raw_str_end_part] = ACTIONS(3135),
    [sym__dot_custom] = ACTIONS(3135),
    [sym__eq_custom] = ACTIONS(3135),
    [sym__eq_eq_custom] = ACTIONS(3135),
    [sym__plus_then_ws] = ACTIONS(3135),
    [sym__minus_then_ws] = ACTIONS(3135),
    [sym__bang_custom] = ACTIONS(3135),
    [sym__custom_operator] = ACTIONS(3135),
    [sym__hash_symbol_custom] = ACTIONS(3135),
    [sym__directive_if] = ACTIONS(3135),
    [sym__directive_elseif] = ACTIONS(3135),
    [sym__directive_else] = ACTIONS(3135),
    [sym__directive_endif] = ACTIONS(3135),
  },
  [1606] = {
    [sym__quest] = STATE(607),
    [sym__immediate_quest] = STATE(3644),
    [sym__range_operator] = STATE(446),
    [sym_custom_operator] = STATE(463),
    [sym_navigation_suffix] = STATE(3638),
    [sym_call_suffix] = STATE(3637),
    [sym__fn_call_lambda_arguments] = STATE(3636),
    [sym_value_arguments] = STATE(3036),
    [sym_lambda_literal] = STATE(1754),
    [sym__equality_operator] = STATE(437),
    [sym__comparison_operator] = STATE(493),
    [sym__three_dot_operator] = STATE(1256),
    [sym__open_ended_range_operator] = STATE(446),
    [sym__is_operator] = STATE(4181),
    [sym__additive_operator] = STATE(651),
    [sym__multiplicative_operator] = STATE(642),
    [sym_as_operator] = STATE(4183),
    [sym__bitwise_binary_operator] = STATE(453),
    [sym__postfix_unary_operator] = STATE(3635),
    [sym__eq_eq] = STATE(437),
    [sym__dot] = STATE(5492),
    [sym__conjunction_operator] = STATE(494),
    [sym__disjunction_operator] = STATE(499),
    [sym__nil_coalescing_operator] = STATE(474),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3635),
    [anon_sym_BANG] = ACTIONS(4885),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2753),
    [anon_sym_LPAREN] = ACTIONS(4887),
    [anon_sym_LBRACK] = ACTIONS(4889),
    [anon_sym_QMARK] = ACTIONS(4961),
    [anon_sym_QMARK2] = ACTIONS(4891),
    [anon_sym_AMP] = ACTIONS(4893),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4895),
    [anon_sym_GT] = ACTIONS(4895),
    [anon_sym_LBRACE] = ACTIONS(4963),
    [anon_sym_CARET_LBRACE] = ACTIONS(4963),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4897),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4899),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4899),
    [anon_sym_LT_EQ] = ACTIONS(4901),
    [anon_sym_GT_EQ] = ACTIONS(4901),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1341),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4903),
    [anon_sym_is] = ACTIONS(4905),
    [anon_sym_PLUS] = ACTIONS(4907),
    [anon_sym_DASH] = ACTIONS(4907),
    [anon_sym_STAR] = ACTIONS(4909),
    [anon_sym_SLASH] = ACTIONS(4909),
    [anon_sym_PERCENT] = ACTIONS(4909),
    [anon_sym_PLUS_PLUS] = ACTIONS(4911),
    [anon_sym_DASH_DASH] = ACTIONS(4911),
    [anon_sym_PIPE] = ACTIONS(4893),
    [anon_sym_CARET] = ACTIONS(4913),
    [anon_sym_LT_LT] = ACTIONS(4893),
    [anon_sym_GT_GT] = ACTIONS(4893),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(4915),
    [sym__conjunction_operator_custom] = ACTIONS(4917),
    [sym__disjunction_operator_custom] = ACTIONS(4919),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4921),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4899),
    [sym__plus_then_ws] = ACTIONS(4923),
    [sym__minus_then_ws] = ACTIONS(4923),
    [sym__bang_custom] = ACTIONS(4925),
    [sym_else] = ACTIONS(2753),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1607] = {
    [anon_sym_BANG] = ACTIONS(4975),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(4975),
    [aux_sym_simple_identifier_token2] = ACTIONS(4977),
    [aux_sym_simple_identifier_token3] = ACTIONS(4977),
    [aux_sym_simple_identifier_token4] = ACTIONS(4977),
    [anon_sym_actor] = ACTIONS(4975),
    [anon_sym_async] = ACTIONS(4975),
    [anon_sym_each] = ACTIONS(4975),
    [anon_sym_lazy] = ACTIONS(4975),
    [anon_sym_repeat] = ACTIONS(4975),
    [anon_sym_package] = ACTIONS(4975),
    [anon_sym_nil] = ACTIONS(4975),
    [sym_real_literal] = ACTIONS(4977),
    [sym_integer_literal] = ACTIONS(4975),
    [sym_hex_literal] = ACTIONS(4975),
    [sym_oct_literal] = ACTIONS(4977),
    [sym_bin_literal] = ACTIONS(4977),
    [anon_sym_true] = ACTIONS(4975),
    [anon_sym_false] = ACTIONS(4975),
    [anon_sym_DQUOTE] = ACTIONS(4975),
    [anon_sym_BSLASH] = ACTIONS(4977),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(4977),
    [sym__oneline_regex_literal] = ACTIONS(4975),
    [anon_sym_LPAREN] = ACTIONS(4979),
    [anon_sym_LBRACK] = ACTIONS(4977),
    [anon_sym_AMP] = ACTIONS(4977),
    [anon_sym_TILDE] = ACTIONS(4977),
    [anon_sym_if] = ACTIONS(4975),
    [anon_sym_switch] = ACTIONS(4975),
    [aux_sym_custom_operator_token1] = ACTIONS(4977),
    [anon_sym_LT] = ACTIONS(4975),
    [anon_sym_GT] = ACTIONS(4975),
    [anon_sym_await] = ACTIONS(4975),
    [anon_sym_LBRACE] = ACTIONS(4977),
    [anon_sym_CARET_LBRACE] = ACTIONS(4977),
    [anon_sym_self] = ACTIONS(4975),
    [anon_sym_super] = ACTIONS(4975),
    [anon_sym_try] = ACTIONS(4975),
    [anon_sym_PLUS_EQ] = ACTIONS(4977),
    [anon_sym_DASH_EQ] = ACTIONS(4977),
    [anon_sym_STAR_EQ] = ACTIONS(4977),
    [anon_sym_SLASH_EQ] = ACTIONS(4977),
    [anon_sym_PERCENT_EQ] = ACTIONS(4977),
    [anon_sym_BANG_EQ] = ACTIONS(4975),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4977),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4977),
    [anon_sym_LT_EQ] = ACTIONS(4977),
    [anon_sym_GT_EQ] = ACTIONS(4977),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4977),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4977),
    [anon_sym_PLUS] = ACTIONS(4975),
    [anon_sym_DASH] = ACTIONS(4975),
    [anon_sym_STAR] = ACTIONS(4975),
    [anon_sym_SLASH] = ACTIONS(4975),
    [anon_sym_PERCENT] = ACTIONS(4975),
    [anon_sym_PLUS_PLUS] = ACTIONS(4977),
    [anon_sym_DASH_DASH] = ACTIONS(4977),
    [anon_sym_PIPE] = ACTIONS(4977),
    [anon_sym_CARET] = ACTIONS(4975),
    [anon_sym_LT_LT] = ACTIONS(4977),
    [anon_sym_GT_GT] = ACTIONS(4977),
    [anon_sym_AT] = ACTIONS(4977),
    [anon_sym_borrowing] = ACTIONS(4975),
    [anon_sym_consuming] = ACTIONS(4975),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(4977),
    [sym_raw_str_end_part] = ACTIONS(4977),
    [sym__dot_custom] = ACTIONS(4977),
    [sym__eq_custom] = ACTIONS(4977),
    [sym__eq_eq_custom] = ACTIONS(4977),
    [sym__plus_then_ws] = ACTIONS(4977),
    [sym__minus_then_ws] = ACTIONS(4977),
    [sym__bang_custom] = ACTIONS(4977),
    [sym__custom_operator] = ACTIONS(4977),
    [sym__hash_symbol_custom] = ACTIONS(4977),
    [sym__directive_if] = ACTIONS(4977),
    [sym__directive_elseif] = ACTIONS(4977),
    [sym__directive_else] = ACTIONS(4977),
    [sym__directive_endif] = ACTIONS(4977),
  },
  [1608] = {
    [anon_sym_BANG] = ACTIONS(3105),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3105),
    [aux_sym_simple_identifier_token2] = ACTIONS(3107),
    [aux_sym_simple_identifier_token3] = ACTIONS(3107),
    [aux_sym_simple_identifier_token4] = ACTIONS(3107),
    [anon_sym_actor] = ACTIONS(3105),
    [anon_sym_async] = ACTIONS(3105),
    [anon_sym_each] = ACTIONS(3105),
    [anon_sym_lazy] = ACTIONS(3105),
    [anon_sym_repeat] = ACTIONS(3105),
    [anon_sym_package] = ACTIONS(3105),
    [anon_sym_nil] = ACTIONS(3105),
    [sym_real_literal] = ACTIONS(3107),
    [sym_integer_literal] = ACTIONS(3105),
    [sym_hex_literal] = ACTIONS(3105),
    [sym_oct_literal] = ACTIONS(3107),
    [sym_bin_literal] = ACTIONS(3107),
    [anon_sym_true] = ACTIONS(3105),
    [anon_sym_false] = ACTIONS(3105),
    [anon_sym_DQUOTE] = ACTIONS(3105),
    [anon_sym_BSLASH] = ACTIONS(3107),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(3107),
    [sym__oneline_regex_literal] = ACTIONS(3105),
    [anon_sym_LPAREN] = ACTIONS(3107),
    [anon_sym_LBRACK] = ACTIONS(3107),
    [anon_sym_AMP] = ACTIONS(3107),
    [anon_sym_TILDE] = ACTIONS(3107),
    [anon_sym_if] = ACTIONS(3105),
    [anon_sym_switch] = ACTIONS(3105),
    [aux_sym_custom_operator_token1] = ACTIONS(3107),
    [anon_sym_LT] = ACTIONS(3105),
    [anon_sym_GT] = ACTIONS(3105),
    [anon_sym_await] = ACTIONS(3105),
    [anon_sym_LBRACE] = ACTIONS(3107),
    [anon_sym_CARET_LBRACE] = ACTIONS(3107),
    [anon_sym_self] = ACTIONS(3105),
    [anon_sym_super] = ACTIONS(3105),
    [anon_sym_try] = ACTIONS(3105),
    [anon_sym_PLUS_EQ] = ACTIONS(3107),
    [anon_sym_DASH_EQ] = ACTIONS(3107),
    [anon_sym_STAR_EQ] = ACTIONS(3107),
    [anon_sym_SLASH_EQ] = ACTIONS(3107),
    [anon_sym_PERCENT_EQ] = ACTIONS(3107),
    [anon_sym_BANG_EQ] = ACTIONS(3105),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3107),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3107),
    [anon_sym_LT_EQ] = ACTIONS(3107),
    [anon_sym_GT_EQ] = ACTIONS(3107),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3107),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3107),
    [anon_sym_PLUS] = ACTIONS(3105),
    [anon_sym_DASH] = ACTIONS(3105),
    [anon_sym_STAR] = ACTIONS(3105),
    [anon_sym_SLASH] = ACTIONS(3105),
    [anon_sym_PERCENT] = ACTIONS(3105),
    [anon_sym_PLUS_PLUS] = ACTIONS(3107),
    [anon_sym_DASH_DASH] = ACTIONS(3107),
    [anon_sym_PIPE] = ACTIONS(3107),
    [anon_sym_CARET] = ACTIONS(3105),
    [anon_sym_LT_LT] = ACTIONS(3107),
    [anon_sym_GT_GT] = ACTIONS(3107),
    [anon_sym_AT] = ACTIONS(3107),
    [anon_sym_borrowing] = ACTIONS(3105),
    [anon_sym_consuming] = ACTIONS(3105),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(3107),
    [sym_raw_str_end_part] = ACTIONS(3107),
    [sym__dot_custom] = ACTIONS(3107),
    [sym__eq_custom] = ACTIONS(3107),
    [sym__eq_eq_custom] = ACTIONS(3107),
    [sym__plus_then_ws] = ACTIONS(3107),
    [sym__minus_then_ws] = ACTIONS(3107),
    [sym__bang_custom] = ACTIONS(3107),
    [sym__custom_operator] = ACTIONS(3107),
    [sym__hash_symbol_custom] = ACTIONS(3107),
    [sym__directive_if] = ACTIONS(3107),
    [sym__directive_elseif] = ACTIONS(3107),
    [sym__directive_else] = ACTIONS(3107),
    [sym__directive_endif] = ACTIONS(3107),
  },
  [1609] = {
    [sym__quest] = STATE(607),
    [sym__immediate_quest] = STATE(3644),
    [sym__range_operator] = STATE(446),
    [sym_custom_operator] = STATE(463),
    [sym_navigation_suffix] = STATE(3638),
    [sym_call_suffix] = STATE(3637),
    [sym__fn_call_lambda_arguments] = STATE(3636),
    [sym_value_arguments] = STATE(3036),
    [sym_lambda_literal] = STATE(1754),
    [sym__equality_operator] = STATE(437),
    [sym__comparison_operator] = STATE(493),
    [sym__three_dot_operator] = STATE(1256),
    [sym__open_ended_range_operator] = STATE(446),
    [sym__is_operator] = STATE(4181),
    [sym__additive_operator] = STATE(651),
    [sym__multiplicative_operator] = STATE(642),
    [sym_as_operator] = STATE(4183),
    [sym__bitwise_binary_operator] = STATE(453),
    [sym__postfix_unary_operator] = STATE(3635),
    [sym__eq_eq] = STATE(437),
    [sym__dot] = STATE(5492),
    [sym__conjunction_operator] = STATE(494),
    [sym__disjunction_operator] = STATE(499),
    [sym__nil_coalescing_operator] = STATE(474),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3635),
    [anon_sym_BANG] = ACTIONS(4885),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2791),
    [anon_sym_LPAREN] = ACTIONS(2791),
    [anon_sym_LBRACK] = ACTIONS(2791),
    [anon_sym_QMARK] = ACTIONS(2793),
    [anon_sym_QMARK2] = ACTIONS(2791),
    [anon_sym_AMP] = ACTIONS(2791),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(2793),
    [anon_sym_GT] = ACTIONS(2793),
    [anon_sym_LBRACE] = ACTIONS(2791),
    [anon_sym_CARET_LBRACE] = ACTIONS(2791),
    [anon_sym_PLUS_EQ] = ACTIONS(2791),
    [anon_sym_DASH_EQ] = ACTIONS(2791),
    [anon_sym_STAR_EQ] = ACTIONS(2791),
    [anon_sym_SLASH_EQ] = ACTIONS(2791),
    [anon_sym_PERCENT_EQ] = ACTIONS(2791),
    [anon_sym_BANG_EQ] = ACTIONS(4897),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4899),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4899),
    [anon_sym_LT_EQ] = ACTIONS(2791),
    [anon_sym_GT_EQ] = ACTIONS(2791),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2791),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2791),
    [anon_sym_is] = ACTIONS(4905),
    [anon_sym_PLUS] = ACTIONS(4907),
    [anon_sym_DASH] = ACTIONS(4907),
    [anon_sym_STAR] = ACTIONS(4909),
    [anon_sym_SLASH] = ACTIONS(4909),
    [anon_sym_PERCENT] = ACTIONS(4909),
    [anon_sym_PLUS_PLUS] = ACTIONS(4911),
    [anon_sym_DASH_DASH] = ACTIONS(4911),
    [anon_sym_PIPE] = ACTIONS(2791),
    [anon_sym_CARET] = ACTIONS(2793),
    [anon_sym_LT_LT] = ACTIONS(2791),
    [anon_sym_GT_GT] = ACTIONS(2791),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2791),
    [sym__conjunction_operator_custom] = ACTIONS(4917),
    [sym__disjunction_operator_custom] = ACTIONS(4919),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4921),
    [sym__eq_custom] = ACTIONS(2791),
    [sym__eq_eq_custom] = ACTIONS(4899),
    [sym__plus_then_ws] = ACTIONS(4923),
    [sym__minus_then_ws] = ACTIONS(4923),
    [sym__bang_custom] = ACTIONS(4925),
    [sym_else] = ACTIONS(2791),
    [sym__as_custom] = ACTIONS(2791),
    [sym__as_quest_custom] = ACTIONS(2791),
    [sym__as_bang_custom] = ACTIONS(2791),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1610] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4982),
    [anon_sym_COMMA] = ACTIONS(4982),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1611] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(4984),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_RBRACK] = ACTIONS(4984),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1612] = {
    [sym__quest] = STATE(607),
    [sym__immediate_quest] = STATE(3644),
    [sym__range_operator] = STATE(446),
    [sym_custom_operator] = STATE(463),
    [sym_navigation_suffix] = STATE(3638),
    [sym_call_suffix] = STATE(3637),
    [sym__fn_call_lambda_arguments] = STATE(3636),
    [sym_value_arguments] = STATE(3036),
    [sym_lambda_literal] = STATE(1754),
    [sym__equality_operator] = STATE(437),
    [sym__comparison_operator] = STATE(493),
    [sym__three_dot_operator] = STATE(1256),
    [sym__open_ended_range_operator] = STATE(446),
    [sym__is_operator] = STATE(4181),
    [sym__additive_operator] = STATE(651),
    [sym__multiplicative_operator] = STATE(642),
    [sym_as_operator] = STATE(4183),
    [sym__bitwise_binary_operator] = STATE(453),
    [sym__postfix_unary_operator] = STATE(3635),
    [sym__eq_eq] = STATE(437),
    [sym__dot] = STATE(5492),
    [sym__conjunction_operator] = STATE(494),
    [sym__disjunction_operator] = STATE(499),
    [sym__nil_coalescing_operator] = STATE(474),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3635),
    [anon_sym_BANG] = ACTIONS(2761),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2763),
    [anon_sym_LPAREN] = ACTIONS(2763),
    [anon_sym_LBRACK] = ACTIONS(2763),
    [anon_sym_QMARK] = ACTIONS(2761),
    [anon_sym_QMARK2] = ACTIONS(2763),
    [anon_sym_AMP] = ACTIONS(2763),
    [aux_sym_custom_operator_token1] = ACTIONS(2763),
    [anon_sym_LT] = ACTIONS(2761),
    [anon_sym_GT] = ACTIONS(2761),
    [anon_sym_LBRACE] = ACTIONS(2763),
    [anon_sym_CARET_LBRACE] = ACTIONS(2763),
    [anon_sym_PLUS_EQ] = ACTIONS(2763),
    [anon_sym_DASH_EQ] = ACTIONS(2763),
    [anon_sym_STAR_EQ] = ACTIONS(2763),
    [anon_sym_SLASH_EQ] = ACTIONS(2763),
    [anon_sym_PERCENT_EQ] = ACTIONS(2763),
    [anon_sym_BANG_EQ] = ACTIONS(2761),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2763),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2763),
    [anon_sym_LT_EQ] = ACTIONS(2763),
    [anon_sym_GT_EQ] = ACTIONS(2763),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2763),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2763),
    [anon_sym_is] = ACTIONS(2763),
    [anon_sym_PLUS] = ACTIONS(2761),
    [anon_sym_DASH] = ACTIONS(2761),
    [anon_sym_STAR] = ACTIONS(4909),
    [anon_sym_SLASH] = ACTIONS(4909),
    [anon_sym_PERCENT] = ACTIONS(4909),
    [anon_sym_PLUS_PLUS] = ACTIONS(2763),
    [anon_sym_DASH_DASH] = ACTIONS(2763),
    [anon_sym_PIPE] = ACTIONS(2763),
    [anon_sym_CARET] = ACTIONS(2761),
    [anon_sym_LT_LT] = ACTIONS(2763),
    [anon_sym_GT_GT] = ACTIONS(2763),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2763),
    [sym__conjunction_operator_custom] = ACTIONS(2763),
    [sym__disjunction_operator_custom] = ACTIONS(2763),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2763),
    [sym__eq_custom] = ACTIONS(2763),
    [sym__eq_eq_custom] = ACTIONS(2763),
    [sym__plus_then_ws] = ACTIONS(2763),
    [sym__minus_then_ws] = ACTIONS(2763),
    [sym__bang_custom] = ACTIONS(2763),
    [sym_else] = ACTIONS(2763),
    [sym__as_custom] = ACTIONS(2763),
    [sym__as_quest_custom] = ACTIONS(2763),
    [sym__as_bang_custom] = ACTIONS(2763),
    [sym__custom_operator] = ACTIONS(2763),
  },
  [1613] = {
    [sym__quest] = STATE(607),
    [sym__immediate_quest] = STATE(3644),
    [sym__range_operator] = STATE(446),
    [sym_custom_operator] = STATE(463),
    [sym_navigation_suffix] = STATE(3638),
    [sym_call_suffix] = STATE(3637),
    [sym__fn_call_lambda_arguments] = STATE(3636),
    [sym_value_arguments] = STATE(3036),
    [sym_lambda_literal] = STATE(1754),
    [sym__equality_operator] = STATE(437),
    [sym__comparison_operator] = STATE(493),
    [sym__three_dot_operator] = STATE(1256),
    [sym__open_ended_range_operator] = STATE(446),
    [sym__is_operator] = STATE(4181),
    [sym__additive_operator] = STATE(651),
    [sym__multiplicative_operator] = STATE(642),
    [sym_as_operator] = STATE(4183),
    [sym__bitwise_binary_operator] = STATE(453),
    [sym__postfix_unary_operator] = STATE(3635),
    [sym__eq_eq] = STATE(437),
    [sym__dot] = STATE(5492),
    [sym__conjunction_operator] = STATE(494),
    [sym__disjunction_operator] = STATE(499),
    [sym__nil_coalescing_operator] = STATE(474),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3635),
    [anon_sym_BANG] = ACTIONS(2799),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2801),
    [anon_sym_LPAREN] = ACTIONS(2801),
    [anon_sym_LBRACK] = ACTIONS(2801),
    [anon_sym_QMARK] = ACTIONS(2799),
    [anon_sym_QMARK2] = ACTIONS(2801),
    [anon_sym_AMP] = ACTIONS(2801),
    [aux_sym_custom_operator_token1] = ACTIONS(2801),
    [anon_sym_LT] = ACTIONS(2799),
    [anon_sym_GT] = ACTIONS(2799),
    [anon_sym_LBRACE] = ACTIONS(2801),
    [anon_sym_CARET_LBRACE] = ACTIONS(2801),
    [anon_sym_PLUS_EQ] = ACTIONS(2801),
    [anon_sym_DASH_EQ] = ACTIONS(2801),
    [anon_sym_STAR_EQ] = ACTIONS(2801),
    [anon_sym_SLASH_EQ] = ACTIONS(2801),
    [anon_sym_PERCENT_EQ] = ACTIONS(2801),
    [anon_sym_BANG_EQ] = ACTIONS(2799),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2801),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2801),
    [anon_sym_LT_EQ] = ACTIONS(2801),
    [anon_sym_GT_EQ] = ACTIONS(2801),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2801),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2801),
    [anon_sym_is] = ACTIONS(2801),
    [anon_sym_PLUS] = ACTIONS(2799),
    [anon_sym_DASH] = ACTIONS(2799),
    [anon_sym_STAR] = ACTIONS(2799),
    [anon_sym_SLASH] = ACTIONS(2799),
    [anon_sym_PERCENT] = ACTIONS(2799),
    [anon_sym_PLUS_PLUS] = ACTIONS(2801),
    [anon_sym_DASH_DASH] = ACTIONS(2801),
    [anon_sym_PIPE] = ACTIONS(2801),
    [anon_sym_CARET] = ACTIONS(2799),
    [anon_sym_LT_LT] = ACTIONS(2801),
    [anon_sym_GT_GT] = ACTIONS(2801),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2801),
    [sym__conjunction_operator_custom] = ACTIONS(2801),
    [sym__disjunction_operator_custom] = ACTIONS(2801),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2801),
    [sym__eq_custom] = ACTIONS(2801),
    [sym__eq_eq_custom] = ACTIONS(2801),
    [sym__plus_then_ws] = ACTIONS(2801),
    [sym__minus_then_ws] = ACTIONS(2801),
    [sym__bang_custom] = ACTIONS(2801),
    [sym_else] = ACTIONS(2801),
    [sym__as_custom] = ACTIONS(2801),
    [sym__as_quest_custom] = ACTIONS(2801),
    [sym__as_bang_custom] = ACTIONS(2801),
    [sym__custom_operator] = ACTIONS(2801),
  },
  [1614] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4986),
    [anon_sym_COMMA] = ACTIONS(4986),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1615] = {
    [sym__quest] = STATE(607),
    [sym__immediate_quest] = STATE(3644),
    [sym__range_operator] = STATE(446),
    [sym_custom_operator] = STATE(463),
    [sym_navigation_suffix] = STATE(3638),
    [sym_call_suffix] = STATE(3637),
    [sym__fn_call_lambda_arguments] = STATE(3636),
    [sym_value_arguments] = STATE(3036),
    [sym_lambda_literal] = STATE(1754),
    [sym__equality_operator] = STATE(437),
    [sym__comparison_operator] = STATE(493),
    [sym__three_dot_operator] = STATE(1256),
    [sym__open_ended_range_operator] = STATE(446),
    [sym__is_operator] = STATE(4181),
    [sym__additive_operator] = STATE(651),
    [sym__multiplicative_operator] = STATE(642),
    [sym_as_operator] = STATE(4183),
    [sym__bitwise_binary_operator] = STATE(453),
    [sym__postfix_unary_operator] = STATE(3635),
    [sym__eq_eq] = STATE(437),
    [sym__dot] = STATE(5492),
    [sym__conjunction_operator] = STATE(494),
    [sym__disjunction_operator] = STATE(499),
    [sym__nil_coalescing_operator] = STATE(474),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3635),
    [anon_sym_BANG] = ACTIONS(4885),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2787),
    [anon_sym_LPAREN] = ACTIONS(4887),
    [anon_sym_LBRACK] = ACTIONS(4889),
    [anon_sym_QMARK] = ACTIONS(4961),
    [anon_sym_QMARK2] = ACTIONS(4891),
    [anon_sym_AMP] = ACTIONS(4893),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4895),
    [anon_sym_GT] = ACTIONS(4895),
    [anon_sym_LBRACE] = ACTIONS(4963),
    [anon_sym_CARET_LBRACE] = ACTIONS(4963),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4897),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4899),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4899),
    [anon_sym_LT_EQ] = ACTIONS(4901),
    [anon_sym_GT_EQ] = ACTIONS(4901),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1341),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4903),
    [anon_sym_is] = ACTIONS(4905),
    [anon_sym_PLUS] = ACTIONS(4907),
    [anon_sym_DASH] = ACTIONS(4907),
    [anon_sym_STAR] = ACTIONS(4909),
    [anon_sym_SLASH] = ACTIONS(4909),
    [anon_sym_PERCENT] = ACTIONS(4909),
    [anon_sym_PLUS_PLUS] = ACTIONS(4911),
    [anon_sym_DASH_DASH] = ACTIONS(4911),
    [anon_sym_PIPE] = ACTIONS(4893),
    [anon_sym_CARET] = ACTIONS(4913),
    [anon_sym_LT_LT] = ACTIONS(4893),
    [anon_sym_GT_GT] = ACTIONS(4893),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(4915),
    [sym__conjunction_operator_custom] = ACTIONS(4917),
    [sym__disjunction_operator_custom] = ACTIONS(4919),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4921),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4899),
    [sym__plus_then_ws] = ACTIONS(4923),
    [sym__minus_then_ws] = ACTIONS(4923),
    [sym__bang_custom] = ACTIONS(4925),
    [sym_else] = ACTIONS(2787),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1616] = {
    [anon_sym_BANG] = ACTIONS(3194),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3194),
    [aux_sym_simple_identifier_token2] = ACTIONS(3196),
    [aux_sym_simple_identifier_token3] = ACTIONS(3196),
    [aux_sym_simple_identifier_token4] = ACTIONS(3196),
    [anon_sym_actor] = ACTIONS(3194),
    [anon_sym_async] = ACTIONS(3194),
    [anon_sym_each] = ACTIONS(3194),
    [anon_sym_lazy] = ACTIONS(3194),
    [anon_sym_repeat] = ACTIONS(3194),
    [anon_sym_package] = ACTIONS(3194),
    [anon_sym_nil] = ACTIONS(3194),
    [sym_real_literal] = ACTIONS(3196),
    [sym_integer_literal] = ACTIONS(3194),
    [sym_hex_literal] = ACTIONS(3194),
    [sym_oct_literal] = ACTIONS(3196),
    [sym_bin_literal] = ACTIONS(3196),
    [anon_sym_true] = ACTIONS(3194),
    [anon_sym_false] = ACTIONS(3194),
    [anon_sym_DQUOTE] = ACTIONS(3194),
    [anon_sym_BSLASH] = ACTIONS(3196),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(3196),
    [sym__oneline_regex_literal] = ACTIONS(3194),
    [anon_sym_LPAREN] = ACTIONS(3196),
    [anon_sym_LBRACK] = ACTIONS(3196),
    [anon_sym_AMP] = ACTIONS(3196),
    [anon_sym_TILDE] = ACTIONS(3196),
    [anon_sym_if] = ACTIONS(3194),
    [anon_sym_switch] = ACTIONS(3194),
    [aux_sym_custom_operator_token1] = ACTIONS(3196),
    [anon_sym_LT] = ACTIONS(3194),
    [anon_sym_GT] = ACTIONS(3194),
    [anon_sym_await] = ACTIONS(3194),
    [anon_sym_LBRACE] = ACTIONS(3196),
    [anon_sym_CARET_LBRACE] = ACTIONS(3196),
    [anon_sym_self] = ACTIONS(3194),
    [anon_sym_super] = ACTIONS(3194),
    [anon_sym_try] = ACTIONS(3194),
    [anon_sym_PLUS_EQ] = ACTIONS(3196),
    [anon_sym_DASH_EQ] = ACTIONS(3196),
    [anon_sym_STAR_EQ] = ACTIONS(3196),
    [anon_sym_SLASH_EQ] = ACTIONS(3196),
    [anon_sym_PERCENT_EQ] = ACTIONS(3196),
    [anon_sym_BANG_EQ] = ACTIONS(3194),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3196),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3196),
    [anon_sym_LT_EQ] = ACTIONS(3196),
    [anon_sym_GT_EQ] = ACTIONS(3196),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3196),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3196),
    [anon_sym_PLUS] = ACTIONS(3194),
    [anon_sym_DASH] = ACTIONS(3194),
    [anon_sym_STAR] = ACTIONS(3194),
    [anon_sym_SLASH] = ACTIONS(3194),
    [anon_sym_PERCENT] = ACTIONS(3194),
    [anon_sym_PLUS_PLUS] = ACTIONS(3196),
    [anon_sym_DASH_DASH] = ACTIONS(3196),
    [anon_sym_PIPE] = ACTIONS(3196),
    [anon_sym_CARET] = ACTIONS(3194),
    [anon_sym_LT_LT] = ACTIONS(3196),
    [anon_sym_GT_GT] = ACTIONS(3196),
    [anon_sym_AT] = ACTIONS(3196),
    [anon_sym_borrowing] = ACTIONS(3194),
    [anon_sym_consuming] = ACTIONS(3194),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(3196),
    [sym_raw_str_end_part] = ACTIONS(3196),
    [sym__dot_custom] = ACTIONS(3196),
    [sym__eq_custom] = ACTIONS(3196),
    [sym__eq_eq_custom] = ACTIONS(3196),
    [sym__plus_then_ws] = ACTIONS(3196),
    [sym__minus_then_ws] = ACTIONS(3196),
    [sym__bang_custom] = ACTIONS(3196),
    [sym__custom_operator] = ACTIONS(3196),
    [sym__hash_symbol_custom] = ACTIONS(3196),
    [sym__directive_if] = ACTIONS(3196),
    [sym__directive_elseif] = ACTIONS(3196),
    [sym__directive_else] = ACTIONS(3196),
    [sym__directive_endif] = ACTIONS(3196),
  },
  [1617] = {
    [sym__quest] = STATE(607),
    [sym__immediate_quest] = STATE(3644),
    [sym__range_operator] = STATE(446),
    [sym_custom_operator] = STATE(463),
    [sym_navigation_suffix] = STATE(3638),
    [sym_call_suffix] = STATE(3637),
    [sym__fn_call_lambda_arguments] = STATE(3636),
    [sym_value_arguments] = STATE(3036),
    [sym_lambda_literal] = STATE(1754),
    [sym__equality_operator] = STATE(437),
    [sym__comparison_operator] = STATE(493),
    [sym__three_dot_operator] = STATE(1256),
    [sym__open_ended_range_operator] = STATE(446),
    [sym__is_operator] = STATE(4181),
    [sym__additive_operator] = STATE(651),
    [sym__multiplicative_operator] = STATE(642),
    [sym_as_operator] = STATE(4183),
    [sym__bitwise_binary_operator] = STATE(453),
    [sym__postfix_unary_operator] = STATE(3635),
    [sym__eq_eq] = STATE(437),
    [sym__dot] = STATE(5492),
    [sym__conjunction_operator] = STATE(494),
    [sym__disjunction_operator] = STATE(499),
    [sym__nil_coalescing_operator] = STATE(474),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3635),
    [anon_sym_BANG] = ACTIONS(4885),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2783),
    [anon_sym_LPAREN] = ACTIONS(4887),
    [anon_sym_LBRACK] = ACTIONS(4889),
    [anon_sym_QMARK] = ACTIONS(4961),
    [anon_sym_QMARK2] = ACTIONS(4891),
    [anon_sym_AMP] = ACTIONS(4893),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4895),
    [anon_sym_GT] = ACTIONS(4895),
    [anon_sym_LBRACE] = ACTIONS(4963),
    [anon_sym_CARET_LBRACE] = ACTIONS(4963),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4897),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4899),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4899),
    [anon_sym_LT_EQ] = ACTIONS(4901),
    [anon_sym_GT_EQ] = ACTIONS(4901),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1341),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4903),
    [anon_sym_is] = ACTIONS(4905),
    [anon_sym_PLUS] = ACTIONS(4907),
    [anon_sym_DASH] = ACTIONS(4907),
    [anon_sym_STAR] = ACTIONS(4909),
    [anon_sym_SLASH] = ACTIONS(4909),
    [anon_sym_PERCENT] = ACTIONS(4909),
    [anon_sym_PLUS_PLUS] = ACTIONS(4911),
    [anon_sym_DASH_DASH] = ACTIONS(4911),
    [anon_sym_PIPE] = ACTIONS(4893),
    [anon_sym_CARET] = ACTIONS(4913),
    [anon_sym_LT_LT] = ACTIONS(4893),
    [anon_sym_GT_GT] = ACTIONS(4893),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(4915),
    [sym__conjunction_operator_custom] = ACTIONS(4917),
    [sym__disjunction_operator_custom] = ACTIONS(4919),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4921),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4899),
    [sym__plus_then_ws] = ACTIONS(4923),
    [sym__minus_then_ws] = ACTIONS(4923),
    [sym__bang_custom] = ACTIONS(4925),
    [sym_else] = ACTIONS(2783),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1618] = {
    [anon_sym_BANG] = ACTIONS(3198),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3198),
    [aux_sym_simple_identifier_token2] = ACTIONS(3200),
    [aux_sym_simple_identifier_token3] = ACTIONS(3200),
    [aux_sym_simple_identifier_token4] = ACTIONS(3200),
    [anon_sym_actor] = ACTIONS(3198),
    [anon_sym_async] = ACTIONS(3198),
    [anon_sym_each] = ACTIONS(3198),
    [anon_sym_lazy] = ACTIONS(3198),
    [anon_sym_repeat] = ACTIONS(3198),
    [anon_sym_package] = ACTIONS(3198),
    [anon_sym_nil] = ACTIONS(3198),
    [sym_real_literal] = ACTIONS(3200),
    [sym_integer_literal] = ACTIONS(3198),
    [sym_hex_literal] = ACTIONS(3198),
    [sym_oct_literal] = ACTIONS(3200),
    [sym_bin_literal] = ACTIONS(3200),
    [anon_sym_true] = ACTIONS(3198),
    [anon_sym_false] = ACTIONS(3198),
    [anon_sym_DQUOTE] = ACTIONS(3198),
    [anon_sym_BSLASH] = ACTIONS(3200),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(3200),
    [sym__oneline_regex_literal] = ACTIONS(3198),
    [anon_sym_LPAREN] = ACTIONS(3200),
    [anon_sym_LBRACK] = ACTIONS(3200),
    [anon_sym_AMP] = ACTIONS(3200),
    [anon_sym_TILDE] = ACTIONS(3200),
    [anon_sym_if] = ACTIONS(3198),
    [anon_sym_switch] = ACTIONS(3198),
    [aux_sym_custom_operator_token1] = ACTIONS(3200),
    [anon_sym_LT] = ACTIONS(3198),
    [anon_sym_GT] = ACTIONS(3198),
    [anon_sym_await] = ACTIONS(3198),
    [anon_sym_LBRACE] = ACTIONS(3200),
    [anon_sym_CARET_LBRACE] = ACTIONS(3200),
    [anon_sym_self] = ACTIONS(3198),
    [anon_sym_super] = ACTIONS(3198),
    [anon_sym_try] = ACTIONS(3198),
    [anon_sym_PLUS_EQ] = ACTIONS(3200),
    [anon_sym_DASH_EQ] = ACTIONS(3200),
    [anon_sym_STAR_EQ] = ACTIONS(3200),
    [anon_sym_SLASH_EQ] = ACTIONS(3200),
    [anon_sym_PERCENT_EQ] = ACTIONS(3200),
    [anon_sym_BANG_EQ] = ACTIONS(3198),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3200),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3200),
    [anon_sym_LT_EQ] = ACTIONS(3200),
    [anon_sym_GT_EQ] = ACTIONS(3200),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3200),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3200),
    [anon_sym_PLUS] = ACTIONS(3198),
    [anon_sym_DASH] = ACTIONS(3198),
    [anon_sym_STAR] = ACTIONS(3198),
    [anon_sym_SLASH] = ACTIONS(3198),
    [anon_sym_PERCENT] = ACTIONS(3198),
    [anon_sym_PLUS_PLUS] = ACTIONS(3200),
    [anon_sym_DASH_DASH] = ACTIONS(3200),
    [anon_sym_PIPE] = ACTIONS(3200),
    [anon_sym_CARET] = ACTIONS(3198),
    [anon_sym_LT_LT] = ACTIONS(3200),
    [anon_sym_GT_GT] = ACTIONS(3200),
    [anon_sym_AT] = ACTIONS(3200),
    [anon_sym_borrowing] = ACTIONS(3198),
    [anon_sym_consuming] = ACTIONS(3198),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(3200),
    [sym_raw_str_end_part] = ACTIONS(3200),
    [sym__dot_custom] = ACTIONS(3200),
    [sym__eq_custom] = ACTIONS(3200),
    [sym__eq_eq_custom] = ACTIONS(3200),
    [sym__plus_then_ws] = ACTIONS(3200),
    [sym__minus_then_ws] = ACTIONS(3200),
    [sym__bang_custom] = ACTIONS(3200),
    [sym__custom_operator] = ACTIONS(3200),
    [sym__hash_symbol_custom] = ACTIONS(3200),
    [sym__directive_if] = ACTIONS(3200),
    [sym__directive_elseif] = ACTIONS(3200),
    [sym__directive_else] = ACTIONS(3200),
    [sym__directive_endif] = ACTIONS(3200),
  },
  [1619] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4988),
    [anon_sym_COMMA] = ACTIONS(4988),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1620] = {
    [anon_sym_BANG] = ACTIONS(3202),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3202),
    [aux_sym_simple_identifier_token2] = ACTIONS(3204),
    [aux_sym_simple_identifier_token3] = ACTIONS(3204),
    [aux_sym_simple_identifier_token4] = ACTIONS(3204),
    [anon_sym_actor] = ACTIONS(3202),
    [anon_sym_async] = ACTIONS(3202),
    [anon_sym_each] = ACTIONS(3202),
    [anon_sym_lazy] = ACTIONS(3202),
    [anon_sym_repeat] = ACTIONS(3202),
    [anon_sym_package] = ACTIONS(3202),
    [anon_sym_nil] = ACTIONS(3202),
    [sym_real_literal] = ACTIONS(3204),
    [sym_integer_literal] = ACTIONS(3202),
    [sym_hex_literal] = ACTIONS(3202),
    [sym_oct_literal] = ACTIONS(3204),
    [sym_bin_literal] = ACTIONS(3204),
    [anon_sym_true] = ACTIONS(3202),
    [anon_sym_false] = ACTIONS(3202),
    [anon_sym_DQUOTE] = ACTIONS(3202),
    [anon_sym_BSLASH] = ACTIONS(3204),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(3204),
    [sym__oneline_regex_literal] = ACTIONS(3202),
    [anon_sym_LPAREN] = ACTIONS(3204),
    [anon_sym_LBRACK] = ACTIONS(3204),
    [anon_sym_AMP] = ACTIONS(3204),
    [anon_sym_TILDE] = ACTIONS(3204),
    [anon_sym_if] = ACTIONS(3202),
    [anon_sym_switch] = ACTIONS(3202),
    [aux_sym_custom_operator_token1] = ACTIONS(3204),
    [anon_sym_LT] = ACTIONS(3202),
    [anon_sym_GT] = ACTIONS(3202),
    [anon_sym_await] = ACTIONS(3202),
    [anon_sym_LBRACE] = ACTIONS(3204),
    [anon_sym_CARET_LBRACE] = ACTIONS(3204),
    [anon_sym_self] = ACTIONS(3202),
    [anon_sym_super] = ACTIONS(3202),
    [anon_sym_try] = ACTIONS(3202),
    [anon_sym_PLUS_EQ] = ACTIONS(3204),
    [anon_sym_DASH_EQ] = ACTIONS(3204),
    [anon_sym_STAR_EQ] = ACTIONS(3204),
    [anon_sym_SLASH_EQ] = ACTIONS(3204),
    [anon_sym_PERCENT_EQ] = ACTIONS(3204),
    [anon_sym_BANG_EQ] = ACTIONS(3202),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3204),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3204),
    [anon_sym_LT_EQ] = ACTIONS(3204),
    [anon_sym_GT_EQ] = ACTIONS(3204),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3204),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3204),
    [anon_sym_PLUS] = ACTIONS(3202),
    [anon_sym_DASH] = ACTIONS(3202),
    [anon_sym_STAR] = ACTIONS(3202),
    [anon_sym_SLASH] = ACTIONS(3202),
    [anon_sym_PERCENT] = ACTIONS(3202),
    [anon_sym_PLUS_PLUS] = ACTIONS(3204),
    [anon_sym_DASH_DASH] = ACTIONS(3204),
    [anon_sym_PIPE] = ACTIONS(3204),
    [anon_sym_CARET] = ACTIONS(3202),
    [anon_sym_LT_LT] = ACTIONS(3204),
    [anon_sym_GT_GT] = ACTIONS(3204),
    [anon_sym_AT] = ACTIONS(3204),
    [anon_sym_borrowing] = ACTIONS(3202),
    [anon_sym_consuming] = ACTIONS(3202),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(3204),
    [sym_raw_str_end_part] = ACTIONS(3204),
    [sym__dot_custom] = ACTIONS(3204),
    [sym__eq_custom] = ACTIONS(3204),
    [sym__eq_eq_custom] = ACTIONS(3204),
    [sym__plus_then_ws] = ACTIONS(3204),
    [sym__minus_then_ws] = ACTIONS(3204),
    [sym__bang_custom] = ACTIONS(3204),
    [sym__custom_operator] = ACTIONS(3204),
    [sym__hash_symbol_custom] = ACTIONS(3204),
    [sym__directive_if] = ACTIONS(3204),
    [sym__directive_elseif] = ACTIONS(3204),
    [sym__directive_else] = ACTIONS(3204),
    [sym__directive_endif] = ACTIONS(3204),
  },
  [1621] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4990),
    [anon_sym_COMMA] = ACTIONS(4990),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1622] = {
    [sym__quest] = STATE(607),
    [sym__immediate_quest] = STATE(3644),
    [sym__range_operator] = STATE(446),
    [sym_custom_operator] = STATE(463),
    [sym_navigation_suffix] = STATE(3638),
    [sym_call_suffix] = STATE(3637),
    [sym__fn_call_lambda_arguments] = STATE(3636),
    [sym_value_arguments] = STATE(3036),
    [sym_lambda_literal] = STATE(1754),
    [sym__equality_operator] = STATE(437),
    [sym__comparison_operator] = STATE(493),
    [sym__three_dot_operator] = STATE(1256),
    [sym__open_ended_range_operator] = STATE(446),
    [sym__is_operator] = STATE(4181),
    [sym__additive_operator] = STATE(651),
    [sym__multiplicative_operator] = STATE(642),
    [sym_as_operator] = STATE(4183),
    [sym__bitwise_binary_operator] = STATE(453),
    [sym__postfix_unary_operator] = STATE(3635),
    [sym__eq_eq] = STATE(437),
    [sym__dot] = STATE(5492),
    [sym__conjunction_operator] = STATE(494),
    [sym__disjunction_operator] = STATE(499),
    [sym__nil_coalescing_operator] = STATE(474),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3635),
    [anon_sym_BANG] = ACTIONS(4885),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2953),
    [anon_sym_LPAREN] = ACTIONS(4887),
    [anon_sym_LBRACK] = ACTIONS(4889),
    [anon_sym_QMARK] = ACTIONS(4961),
    [anon_sym_QMARK2] = ACTIONS(4891),
    [anon_sym_AMP] = ACTIONS(4893),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4895),
    [anon_sym_GT] = ACTIONS(4895),
    [anon_sym_LBRACE] = ACTIONS(4963),
    [anon_sym_CARET_LBRACE] = ACTIONS(4963),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4897),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4899),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4899),
    [anon_sym_LT_EQ] = ACTIONS(4901),
    [anon_sym_GT_EQ] = ACTIONS(4901),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1341),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4903),
    [anon_sym_is] = ACTIONS(4905),
    [anon_sym_PLUS] = ACTIONS(4907),
    [anon_sym_DASH] = ACTIONS(4907),
    [anon_sym_STAR] = ACTIONS(4909),
    [anon_sym_SLASH] = ACTIONS(4909),
    [anon_sym_PERCENT] = ACTIONS(4909),
    [anon_sym_PLUS_PLUS] = ACTIONS(4911),
    [anon_sym_DASH_DASH] = ACTIONS(4911),
    [anon_sym_PIPE] = ACTIONS(4893),
    [anon_sym_CARET] = ACTIONS(4913),
    [anon_sym_LT_LT] = ACTIONS(4893),
    [anon_sym_GT_GT] = ACTIONS(4893),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(4915),
    [sym__conjunction_operator_custom] = ACTIONS(4917),
    [sym__disjunction_operator_custom] = ACTIONS(4919),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4921),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4899),
    [sym__plus_then_ws] = ACTIONS(4923),
    [sym__minus_then_ws] = ACTIONS(4923),
    [sym__bang_custom] = ACTIONS(4925),
    [sym_else] = ACTIONS(2953),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1623] = {
    [anon_sym_BANG] = ACTIONS(2991),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2991),
    [aux_sym_simple_identifier_token2] = ACTIONS(2993),
    [aux_sym_simple_identifier_token3] = ACTIONS(2993),
    [aux_sym_simple_identifier_token4] = ACTIONS(2993),
    [anon_sym_actor] = ACTIONS(2991),
    [anon_sym_async] = ACTIONS(2991),
    [anon_sym_each] = ACTIONS(2991),
    [anon_sym_lazy] = ACTIONS(2991),
    [anon_sym_repeat] = ACTIONS(2991),
    [anon_sym_package] = ACTIONS(2991),
    [anon_sym_nil] = ACTIONS(2991),
    [sym_real_literal] = ACTIONS(2993),
    [sym_integer_literal] = ACTIONS(2991),
    [sym_hex_literal] = ACTIONS(2991),
    [sym_oct_literal] = ACTIONS(2993),
    [sym_bin_literal] = ACTIONS(2993),
    [anon_sym_true] = ACTIONS(2991),
    [anon_sym_false] = ACTIONS(2991),
    [anon_sym_DQUOTE] = ACTIONS(2991),
    [anon_sym_BSLASH] = ACTIONS(2993),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2993),
    [sym__oneline_regex_literal] = ACTIONS(2991),
    [anon_sym_LPAREN] = ACTIONS(2993),
    [anon_sym_LBRACK] = ACTIONS(2993),
    [anon_sym_AMP] = ACTIONS(2993),
    [anon_sym_TILDE] = ACTIONS(2993),
    [anon_sym_if] = ACTIONS(2991),
    [anon_sym_switch] = ACTIONS(2991),
    [aux_sym_custom_operator_token1] = ACTIONS(2993),
    [anon_sym_LT] = ACTIONS(2991),
    [anon_sym_GT] = ACTIONS(2991),
    [anon_sym_await] = ACTIONS(2991),
    [anon_sym_LBRACE] = ACTIONS(2993),
    [anon_sym_CARET_LBRACE] = ACTIONS(2993),
    [anon_sym_self] = ACTIONS(2991),
    [anon_sym_super] = ACTIONS(2991),
    [anon_sym_try] = ACTIONS(2991),
    [anon_sym_PLUS_EQ] = ACTIONS(2993),
    [anon_sym_DASH_EQ] = ACTIONS(2993),
    [anon_sym_STAR_EQ] = ACTIONS(2993),
    [anon_sym_SLASH_EQ] = ACTIONS(2993),
    [anon_sym_PERCENT_EQ] = ACTIONS(2993),
    [anon_sym_BANG_EQ] = ACTIONS(2991),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2993),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2993),
    [anon_sym_LT_EQ] = ACTIONS(2993),
    [anon_sym_GT_EQ] = ACTIONS(2993),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2993),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2993),
    [anon_sym_PLUS] = ACTIONS(2991),
    [anon_sym_DASH] = ACTIONS(2991),
    [anon_sym_STAR] = ACTIONS(2991),
    [anon_sym_SLASH] = ACTIONS(2991),
    [anon_sym_PERCENT] = ACTIONS(2991),
    [anon_sym_PLUS_PLUS] = ACTIONS(2993),
    [anon_sym_DASH_DASH] = ACTIONS(2993),
    [anon_sym_PIPE] = ACTIONS(2993),
    [anon_sym_CARET] = ACTIONS(2991),
    [anon_sym_LT_LT] = ACTIONS(2993),
    [anon_sym_GT_GT] = ACTIONS(2993),
    [anon_sym_AT] = ACTIONS(2993),
    [anon_sym_borrowing] = ACTIONS(2991),
    [anon_sym_consuming] = ACTIONS(2991),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2993),
    [sym_raw_str_end_part] = ACTIONS(2993),
    [sym__dot_custom] = ACTIONS(2993),
    [sym__eq_custom] = ACTIONS(2993),
    [sym__eq_eq_custom] = ACTIONS(2993),
    [sym__plus_then_ws] = ACTIONS(2993),
    [sym__minus_then_ws] = ACTIONS(2993),
    [sym__bang_custom] = ACTIONS(2993),
    [sym__custom_operator] = ACTIONS(2993),
    [sym__hash_symbol_custom] = ACTIONS(2993),
    [sym__directive_if] = ACTIONS(2993),
    [sym__directive_elseif] = ACTIONS(2993),
    [sym__directive_else] = ACTIONS(2993),
    [sym__directive_endif] = ACTIONS(2993),
  },
  [1624] = {
    [anon_sym_BANG] = ACTIONS(4992),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(4992),
    [aux_sym_simple_identifier_token2] = ACTIONS(4994),
    [aux_sym_simple_identifier_token3] = ACTIONS(4994),
    [aux_sym_simple_identifier_token4] = ACTIONS(4994),
    [anon_sym_actor] = ACTIONS(4992),
    [anon_sym_async] = ACTIONS(4992),
    [anon_sym_each] = ACTIONS(4992),
    [anon_sym_lazy] = ACTIONS(4992),
    [anon_sym_repeat] = ACTIONS(4992),
    [anon_sym_package] = ACTIONS(4992),
    [anon_sym_nil] = ACTIONS(4992),
    [sym_real_literal] = ACTIONS(4994),
    [sym_integer_literal] = ACTIONS(4992),
    [sym_hex_literal] = ACTIONS(4992),
    [sym_oct_literal] = ACTIONS(4994),
    [sym_bin_literal] = ACTIONS(4994),
    [anon_sym_true] = ACTIONS(4992),
    [anon_sym_false] = ACTIONS(4992),
    [anon_sym_DQUOTE] = ACTIONS(4992),
    [anon_sym_BSLASH] = ACTIONS(4994),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(4994),
    [sym__oneline_regex_literal] = ACTIONS(4992),
    [anon_sym_LPAREN] = ACTIONS(4994),
    [anon_sym_LBRACK] = ACTIONS(4994),
    [anon_sym_AMP] = ACTIONS(4994),
    [anon_sym_TILDE] = ACTIONS(4994),
    [anon_sym_if] = ACTIONS(4992),
    [anon_sym_switch] = ACTIONS(4992),
    [aux_sym_custom_operator_token1] = ACTIONS(4994),
    [anon_sym_LT] = ACTIONS(4992),
    [anon_sym_GT] = ACTIONS(4992),
    [anon_sym_await] = ACTIONS(4992),
    [anon_sym_LBRACE] = ACTIONS(4994),
    [anon_sym_CARET_LBRACE] = ACTIONS(4994),
    [anon_sym_self] = ACTIONS(4992),
    [anon_sym_super] = ACTIONS(4992),
    [anon_sym_try] = ACTIONS(4992),
    [anon_sym_PLUS_EQ] = ACTIONS(4994),
    [anon_sym_DASH_EQ] = ACTIONS(4994),
    [anon_sym_STAR_EQ] = ACTIONS(4994),
    [anon_sym_SLASH_EQ] = ACTIONS(4994),
    [anon_sym_PERCENT_EQ] = ACTIONS(4994),
    [anon_sym_BANG_EQ] = ACTIONS(4992),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4994),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4994),
    [anon_sym_LT_EQ] = ACTIONS(4994),
    [anon_sym_GT_EQ] = ACTIONS(4994),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4994),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4994),
    [anon_sym_PLUS] = ACTIONS(4992),
    [anon_sym_DASH] = ACTIONS(4992),
    [anon_sym_STAR] = ACTIONS(4992),
    [anon_sym_SLASH] = ACTIONS(4992),
    [anon_sym_PERCENT] = ACTIONS(4992),
    [anon_sym_PLUS_PLUS] = ACTIONS(4994),
    [anon_sym_DASH_DASH] = ACTIONS(4994),
    [anon_sym_PIPE] = ACTIONS(4994),
    [anon_sym_CARET] = ACTIONS(4992),
    [anon_sym_LT_LT] = ACTIONS(4994),
    [anon_sym_GT_GT] = ACTIONS(4994),
    [anon_sym_AT] = ACTIONS(4994),
    [anon_sym_borrowing] = ACTIONS(4992),
    [anon_sym_consuming] = ACTIONS(4992),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(4994),
    [sym_raw_str_end_part] = ACTIONS(4994),
    [sym__dot_custom] = ACTIONS(4994),
    [sym__eq_custom] = ACTIONS(4994),
    [sym__eq_eq_custom] = ACTIONS(4994),
    [sym__plus_then_ws] = ACTIONS(4994),
    [sym__minus_then_ws] = ACTIONS(4994),
    [sym__bang_custom] = ACTIONS(4994),
    [sym__custom_operator] = ACTIONS(4994),
    [sym__hash_symbol_custom] = ACTIONS(4994),
    [sym__directive_if] = ACTIONS(4994),
    [sym__directive_elseif] = ACTIONS(4994),
    [sym__directive_else] = ACTIONS(4994),
    [sym__directive_endif] = ACTIONS(4994),
  },
  [1625] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(4996),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_RBRACK] = ACTIONS(4996),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1626] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(4998),
    [anon_sym_COMMA] = ACTIONS(4998),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1627] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(5000),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1628] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(5002),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1629] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COLON] = ACTIONS(5004),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1630] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(5006),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1631] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(5008),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1632] = {
    [sym__quest] = STATE(693),
    [sym__immediate_quest] = STATE(3151),
    [sym__range_operator] = STATE(416),
    [sym_custom_operator] = STATE(417),
    [sym_navigation_suffix] = STATE(3154),
    [sym_call_suffix] = STATE(3155),
    [sym__fn_call_lambda_arguments] = STATE(3156),
    [sym_value_arguments] = STATE(2698),
    [sym_lambda_literal] = STATE(1729),
    [sym__equality_operator] = STATE(418),
    [sym__comparison_operator] = STATE(419),
    [sym__three_dot_operator] = STATE(1213),
    [sym__open_ended_range_operator] = STATE(416),
    [sym__is_operator] = STATE(4290),
    [sym__additive_operator] = STATE(643),
    [sym__multiplicative_operator] = STATE(641),
    [sym_as_operator] = STATE(4460),
    [sym__bitwise_binary_operator] = STATE(421),
    [sym__postfix_unary_operator] = STATE(3164),
    [sym__eq_eq] = STATE(418),
    [sym__dot] = STATE(5433),
    [sym__conjunction_operator] = STATE(422),
    [sym__disjunction_operator] = STATE(423),
    [sym__nil_coalescing_operator] = STATE(399),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3164),
    [anon_sym_BANG] = ACTIONS(4640),
    [sym_comment] = ACTIONS(3),
    [anon_sym_LPAREN] = ACTIONS(4642),
    [anon_sym_LBRACK] = ACTIONS(4644),
    [anon_sym_QMARK] = ACTIONS(4744),
    [anon_sym_QMARK2] = ACTIONS(4646),
    [anon_sym_AMP] = ACTIONS(4648),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4650),
    [anon_sym_GT] = ACTIONS(4650),
    [anon_sym_LBRACE] = ACTIONS(5010),
    [anon_sym_CARET_LBRACE] = ACTIONS(4746),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4652),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4654),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4654),
    [anon_sym_LT_EQ] = ACTIONS(4656),
    [anon_sym_GT_EQ] = ACTIONS(4656),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4658),
    [anon_sym_is] = ACTIONS(4660),
    [anon_sym_PLUS] = ACTIONS(4662),
    [anon_sym_DASH] = ACTIONS(4662),
    [anon_sym_STAR] = ACTIONS(4664),
    [anon_sym_SLASH] = ACTIONS(4664),
    [anon_sym_PERCENT] = ACTIONS(4664),
    [anon_sym_PLUS_PLUS] = ACTIONS(4666),
    [anon_sym_DASH_DASH] = ACTIONS(4666),
    [anon_sym_PIPE] = ACTIONS(4648),
    [anon_sym_CARET] = ACTIONS(4668),
    [anon_sym_LT_LT] = ACTIONS(4648),
    [anon_sym_GT_GT] = ACTIONS(4648),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(4670),
    [sym__conjunction_operator_custom] = ACTIONS(4672),
    [sym__disjunction_operator_custom] = ACTIONS(4674),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4676),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4654),
    [sym__plus_then_ws] = ACTIONS(4678),
    [sym__minus_then_ws] = ACTIONS(4678),
    [sym__bang_custom] = ACTIONS(4680),
    [sym_where_keyword] = ACTIONS(5010),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1633] = {
    [sym__quest] = STATE(693),
    [sym__immediate_quest] = STATE(3151),
    [sym__range_operator] = STATE(416),
    [sym_custom_operator] = STATE(417),
    [sym_navigation_suffix] = STATE(3154),
    [sym_call_suffix] = STATE(3155),
    [sym__fn_call_lambda_arguments] = STATE(3156),
    [sym_value_arguments] = STATE(2698),
    [sym_lambda_literal] = STATE(1729),
    [sym__equality_operator] = STATE(418),
    [sym__comparison_operator] = STATE(419),
    [sym__three_dot_operator] = STATE(1213),
    [sym__open_ended_range_operator] = STATE(416),
    [sym__is_operator] = STATE(4290),
    [sym__additive_operator] = STATE(643),
    [sym__multiplicative_operator] = STATE(641),
    [sym_as_operator] = STATE(4460),
    [sym__bitwise_binary_operator] = STATE(421),
    [sym__postfix_unary_operator] = STATE(3164),
    [sym__eq_eq] = STATE(418),
    [sym__dot] = STATE(5433),
    [sym__conjunction_operator] = STATE(422),
    [sym__disjunction_operator] = STATE(423),
    [sym__nil_coalescing_operator] = STATE(399),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(3164),
    [anon_sym_BANG] = ACTIONS(4640),
    [sym_comment] = ACTIONS(3),
    [anon_sym_LPAREN] = ACTIONS(4642),
    [anon_sym_LBRACK] = ACTIONS(4644),
    [anon_sym_QMARK] = ACTIONS(4744),
    [anon_sym_QMARK2] = ACTIONS(4646),
    [anon_sym_AMP] = ACTIONS(4648),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4650),
    [anon_sym_GT] = ACTIONS(4650),
    [anon_sym_LBRACE] = ACTIONS(5012),
    [anon_sym_CARET_LBRACE] = ACTIONS(4746),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4652),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4654),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4654),
    [anon_sym_LT_EQ] = ACTIONS(4656),
    [anon_sym_GT_EQ] = ACTIONS(4656),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1077),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4658),
    [anon_sym_is] = ACTIONS(4660),
    [anon_sym_PLUS] = ACTIONS(4662),
    [anon_sym_DASH] = ACTIONS(4662),
    [anon_sym_STAR] = ACTIONS(4664),
    [anon_sym_SLASH] = ACTIONS(4664),
    [anon_sym_PERCENT] = ACTIONS(4664),
    [anon_sym_PLUS_PLUS] = ACTIONS(4666),
    [anon_sym_DASH_DASH] = ACTIONS(4666),
    [anon_sym_PIPE] = ACTIONS(4648),
    [anon_sym_CARET] = ACTIONS(4668),
    [anon_sym_LT_LT] = ACTIONS(4648),
    [anon_sym_GT_GT] = ACTIONS(4648),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(4670),
    [sym__conjunction_operator_custom] = ACTIONS(4672),
    [sym__disjunction_operator_custom] = ACTIONS(4674),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4676),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4654),
    [sym__plus_then_ws] = ACTIONS(4678),
    [sym__minus_then_ws] = ACTIONS(4678),
    [sym__bang_custom] = ACTIONS(4680),
    [sym_where_keyword] = ACTIONS(5012),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1634] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(5014),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1635] = {
    [anon_sym_BANG] = ACTIONS(2657),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2657),
    [aux_sym_simple_identifier_token2] = ACTIONS(2659),
    [aux_sym_simple_identifier_token3] = ACTIONS(2659),
    [aux_sym_simple_identifier_token4] = ACTIONS(2659),
    [anon_sym_actor] = ACTIONS(2657),
    [anon_sym_async] = ACTIONS(2657),
    [anon_sym_each] = ACTIONS(2657),
    [anon_sym_lazy] = ACTIONS(2657),
    [anon_sym_repeat] = ACTIONS(2657),
    [anon_sym_package] = ACTIONS(2657),
    [anon_sym_nil] = ACTIONS(2657),
    [sym_real_literal] = ACTIONS(2659),
    [sym_integer_literal] = ACTIONS(2657),
    [sym_hex_literal] = ACTIONS(2657),
    [sym_oct_literal] = ACTIONS(2659),
    [sym_bin_literal] = ACTIONS(2659),
    [anon_sym_true] = ACTIONS(2657),
    [anon_sym_false] = ACTIONS(2657),
    [anon_sym_DQUOTE] = ACTIONS(2657),
    [anon_sym_BSLASH] = ACTIONS(2659),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(2659),
    [sym__oneline_regex_literal] = ACTIONS(2657),
    [anon_sym_LPAREN] = ACTIONS(2659),
    [anon_sym_LBRACK] = ACTIONS(2659),
    [anon_sym_AMP] = ACTIONS(2659),
    [anon_sym_TILDE] = ACTIONS(2659),
    [anon_sym_if] = ACTIONS(2657),
    [anon_sym_switch] = ACTIONS(2657),
    [aux_sym_custom_operator_token1] = ACTIONS(2659),
    [anon_sym_LT] = ACTIONS(2657),
    [anon_sym_GT] = ACTIONS(2657),
    [anon_sym_await] = ACTIONS(2657),
    [anon_sym_LBRACE] = ACTIONS(2659),
    [anon_sym_CARET_LBRACE] = ACTIONS(2659),
    [anon_sym_self] = ACTIONS(2657),
    [anon_sym_super] = ACTIONS(2657),
    [anon_sym_try] = ACTIONS(2657),
    [anon_sym_PLUS_EQ] = ACTIONS(2659),
    [anon_sym_DASH_EQ] = ACTIONS(2659),
    [anon_sym_STAR_EQ] = ACTIONS(2659),
    [anon_sym_SLASH_EQ] = ACTIONS(2659),
    [anon_sym_PERCENT_EQ] = ACTIONS(2659),
    [anon_sym_BANG_EQ] = ACTIONS(2657),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2659),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2659),
    [anon_sym_LT_EQ] = ACTIONS(2659),
    [anon_sym_GT_EQ] = ACTIONS(2659),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2659),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2659),
    [anon_sym_PLUS] = ACTIONS(2657),
    [anon_sym_DASH] = ACTIONS(2657),
    [anon_sym_STAR] = ACTIONS(2657),
    [anon_sym_SLASH] = ACTIONS(2657),
    [anon_sym_PERCENT] = ACTIONS(2657),
    [anon_sym_PLUS_PLUS] = ACTIONS(2659),
    [anon_sym_DASH_DASH] = ACTIONS(2659),
    [anon_sym_PIPE] = ACTIONS(2659),
    [anon_sym_CARET] = ACTIONS(2657),
    [anon_sym_LT_LT] = ACTIONS(2659),
    [anon_sym_GT_GT] = ACTIONS(2659),
    [anon_sym_borrowing] = ACTIONS(2657),
    [anon_sym_consuming] = ACTIONS(2657),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(2659),
    [sym_raw_str_end_part] = ACTIONS(2659),
    [sym__dot_custom] = ACTIONS(2659),
    [sym__eq_custom] = ACTIONS(2659),
    [sym__eq_eq_custom] = ACTIONS(2659),
    [sym__plus_then_ws] = ACTIONS(2659),
    [sym__minus_then_ws] = ACTIONS(2659),
    [sym__bang_custom] = ACTIONS(2659),
    [sym__custom_operator] = ACTIONS(2659),
    [sym__hash_symbol_custom] = ACTIONS(2659),
    [sym__directive_if] = ACTIONS(2659),
    [sym__directive_elseif] = ACTIONS(2659),
    [sym__directive_else] = ACTIONS(2659),
    [sym__directive_endif] = ACTIONS(2659),
  },
  [1636] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COLON] = ACTIONS(5016),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1637] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(5018),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1638] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(5020),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1639] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COLON] = ACTIONS(5022),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1640] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(5024),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1641] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COLON] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1642] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(5028),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1643] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(5030),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1644] = {
    [anon_sym_BANG] = ACTIONS(5032),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(5032),
    [aux_sym_simple_identifier_token2] = ACTIONS(5034),
    [aux_sym_simple_identifier_token3] = ACTIONS(5034),
    [aux_sym_simple_identifier_token4] = ACTIONS(5034),
    [anon_sym_actor] = ACTIONS(5032),
    [anon_sym_async] = ACTIONS(5032),
    [anon_sym_each] = ACTIONS(5032),
    [anon_sym_lazy] = ACTIONS(5032),
    [anon_sym_repeat] = ACTIONS(5032),
    [anon_sym_package] = ACTIONS(5032),
    [anon_sym_nil] = ACTIONS(5032),
    [sym_real_literal] = ACTIONS(5034),
    [sym_integer_literal] = ACTIONS(5032),
    [sym_hex_literal] = ACTIONS(5032),
    [sym_oct_literal] = ACTIONS(5034),
    [sym_bin_literal] = ACTIONS(5034),
    [anon_sym_true] = ACTIONS(5032),
    [anon_sym_false] = ACTIONS(5032),
    [anon_sym_DQUOTE] = ACTIONS(5032),
    [anon_sym_BSLASH] = ACTIONS(5034),
    [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(5034),
    [sym__oneline_regex_literal] = ACTIONS(5032),
    [anon_sym_LPAREN] = ACTIONS(5034),
    [anon_sym_LBRACK] = ACTIONS(5034),
    [anon_sym_AMP] = ACTIONS(5034),
    [anon_sym_TILDE] = ACTIONS(5034),
    [anon_sym_if] = ACTIONS(5032),
    [anon_sym_switch] = ACTIONS(5032),
    [aux_sym_custom_operator_token1] = ACTIONS(5034),
    [anon_sym_LT] = ACTIONS(5032),
    [anon_sym_GT] = ACTIONS(5032),
    [anon_sym_await] = ACTIONS(5032),
    [anon_sym_LBRACE] = ACTIONS(5034),
    [anon_sym_CARET_LBRACE] = ACTIONS(5034),
    [anon_sym_self] = ACTIONS(5032),
    [anon_sym_super] = ACTIONS(5032),
    [anon_sym_try] = ACTIONS(5032),
    [anon_sym_PLUS_EQ] = ACTIONS(5034),
    [anon_sym_DASH_EQ] = ACTIONS(5034),
    [anon_sym_STAR_EQ] = ACTIONS(5034),
    [anon_sym_SLASH_EQ] = ACTIONS(5034),
    [anon_sym_PERCENT_EQ] = ACTIONS(5034),
    [anon_sym_BANG_EQ] = ACTIONS(5032),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(5034),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5034),
    [anon_sym_LT_EQ] = ACTIONS(5034),
    [anon_sym_GT_EQ] = ACTIONS(5034),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5034),
    [anon_sym_DOT_DOT_LT] = ACTIONS(5034),
    [anon_sym_PLUS] = ACTIONS(5032),
    [anon_sym_DASH] = ACTIONS(5032),
    [anon_sym_STAR] = ACTIONS(5032),
    [anon_sym_SLASH] = ACTIONS(5032),
    [anon_sym_PERCENT] = ACTIONS(5032),
    [anon_sym_PLUS_PLUS] = ACTIONS(5034),
    [anon_sym_DASH_DASH] = ACTIONS(5034),
    [anon_sym_PIPE] = ACTIONS(5034),
    [anon_sym_CARET] = ACTIONS(5032),
    [anon_sym_LT_LT] = ACTIONS(5034),
    [anon_sym_GT_GT] = ACTIONS(5034),
    [anon_sym_borrowing] = ACTIONS(5032),
    [anon_sym_consuming] = ACTIONS(5032),
    [sym_multiline_comment] = ACTIONS(5),
    [sym_raw_str_part] = ACTIONS(5034),
    [sym_raw_str_end_part] = ACTIONS(5034),
    [sym__dot_custom] = ACTIONS(5034),
    [sym__eq_custom] = ACTIONS(5034),
    [sym__eq_eq_custom] = ACTIONS(5034),
    [sym__plus_then_ws] = ACTIONS(5034),
    [sym__minus_then_ws] = ACTIONS(5034),
    [sym__bang_custom] = ACTIONS(5034),
    [sym__custom_operator] = ACTIONS(5034),
    [sym__hash_symbol_custom] = ACTIONS(5034),
    [sym__directive_if] = ACTIONS(5034),
    [sym__directive_elseif] = ACTIONS(5034),
    [sym__directive_else] = ACTIONS(5034),
    [sym__directive_endif] = ACTIONS(5034),
  },
  [1645] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(5036),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1646] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(5038),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1647] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2953),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(2953),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1648] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COLON] = ACTIONS(4583),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1649] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(5040),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1650] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(5042),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1651] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COLON] = ACTIONS(5044),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1652] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(5046),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1653] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(5048),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1654] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(5050),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1655] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(5052),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1656] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(5054),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1657] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(5056),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1658] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COLON] = ACTIONS(5058),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1659] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(5060),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1660] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(5062),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1661] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COLON] = ACTIONS(5064),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1662] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(2957),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(2957),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1663] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(5066),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1664] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COLON] = ACTIONS(5068),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1665] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(5070),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1666] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(5072),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1667] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COLON] = ACTIONS(5074),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1668] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COLON] = ACTIONS(5076),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1669] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(5078),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1670] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_RPAREN] = ACTIONS(5080),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(4589),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1671] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(5082),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1672] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(5084),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1673] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(5086),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1674] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(5088),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1675] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(5090),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1676] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(5092),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1677] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(5094),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1678] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(5096),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1679] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(5098),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1680] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(5100),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1681] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(5102),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1682] = {
    [sym__quest] = STATE(713),
    [sym__immediate_quest] = STATE(896),
    [sym__range_operator] = STATE(478),
    [sym_custom_operator] = STATE(480),
    [sym_navigation_suffix] = STATE(895),
    [sym_call_suffix] = STATE(894),
    [sym__fn_call_lambda_arguments] = STATE(893),
    [sym_value_arguments] = STATE(2629),
    [sym_lambda_literal] = STATE(1721),
    [sym__equality_operator] = STATE(482),
    [sym__comparison_operator] = STATE(488),
    [sym__three_dot_operator] = STATE(1150),
    [sym__open_ended_range_operator] = STATE(478),
    [sym__is_operator] = STATE(4252),
    [sym__additive_operator] = STATE(593),
    [sym__multiplicative_operator] = STATE(589),
    [sym_as_operator] = STATE(4251),
    [sym__bitwise_binary_operator] = STATE(491),
    [sym__postfix_unary_operator] = STATE(892),
    [sym__eq_eq] = STATE(482),
    [sym__dot] = STATE(5506),
    [sym__conjunction_operator] = STATE(512),
    [sym__disjunction_operator] = STATE(514),
    [sym__nil_coalescing_operator] = STATE(515),
    [sym__as] = STATE(5147),
    [sym__as_quest] = STATE(5147),
    [sym__as_bang] = STATE(5147),
    [sym_bang] = STATE(892),
    [anon_sym_BANG] = ACTIONS(2701),
    [sym_comment] = ACTIONS(3),
    [anon_sym_LPAREN] = ACTIONS(2705),
    [anon_sym_LBRACK] = ACTIONS(2707),
    [anon_sym_QMARK] = ACTIONS(4587),
    [anon_sym_QMARK2] = ACTIONS(2711),
    [anon_sym_AMP] = ACTIONS(4502),
    [aux_sym_custom_operator_token1] = ACTIONS(2715),
    [anon_sym_LT] = ACTIONS(4504),
    [anon_sym_GT] = ACTIONS(4504),
    [anon_sym_LBRACE] = ACTIONS(5104),
    [anon_sym_CARET_LBRACE] = ACTIONS(4589),
    [anon_sym_PLUS_EQ] = ACTIONS(2719),
    [anon_sym_DASH_EQ] = ACTIONS(2719),
    [anon_sym_STAR_EQ] = ACTIONS(2719),
    [anon_sym_SLASH_EQ] = ACTIONS(2719),
    [anon_sym_PERCENT_EQ] = ACTIONS(2719),
    [anon_sym_BANG_EQ] = ACTIONS(4506),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(4508),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4508),
    [anon_sym_LT_EQ] = ACTIONS(4510),
    [anon_sym_GT_EQ] = ACTIONS(4510),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_LT] = ACTIONS(4512),
    [anon_sym_is] = ACTIONS(4514),
    [anon_sym_PLUS] = ACTIONS(4516),
    [anon_sym_DASH] = ACTIONS(4516),
    [anon_sym_STAR] = ACTIONS(4518),
    [anon_sym_SLASH] = ACTIONS(4518),
    [anon_sym_PERCENT] = ACTIONS(4518),
    [anon_sym_PLUS_PLUS] = ACTIONS(2735),
    [anon_sym_DASH_DASH] = ACTIONS(2735),
    [anon_sym_PIPE] = ACTIONS(4502),
    [anon_sym_CARET] = ACTIONS(4520),
    [anon_sym_LT_LT] = ACTIONS(4502),
    [anon_sym_GT_GT] = ACTIONS(4502),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2739),
    [sym__conjunction_operator_custom] = ACTIONS(4522),
    [sym__disjunction_operator_custom] = ACTIONS(4524),
    [sym__nil_coalescing_operator_custom] = ACTIONS(4526),
    [sym__eq_custom] = ACTIONS(2719),
    [sym__eq_eq_custom] = ACTIONS(4508),
    [sym__plus_then_ws] = ACTIONS(4528),
    [sym__minus_then_ws] = ACTIONS(4528),
    [sym__bang_custom] = ACTIONS(2749),
    [sym__as_custom] = ACTIONS(2751),
    [sym__as_quest_custom] = ACTIONS(2751),
    [sym__as_bang_custom] = ACTIONS(2751),
    [sym__custom_operator] = ACTIONS(2715),
  },
  [1683] = {
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3727),
    [aux_sym_simple_identifier_token2] = ACTIONS(3725),
    [aux_sym_simple_identifier_token3] = ACTIONS(3725),
    [aux_sym_simple_identifier_token4] = ACTIONS(3725),
    [anon_sym_actor] = ACTIONS(3727),
    [anon_sym_async] = ACTIONS(3727),
    [anon_sym_each] = ACTIONS(3727),
    [anon_sym_lazy] = ACTIONS(3727),
    [anon_sym_repeat] = ACTIONS(3727),
    [anon_sym_package] = ACTIONS(3727),
    [anon_sym_RPAREN] = ACTIONS(617),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_BANG2] = ACTIONS(623),
    [anon_sym_LPAREN] = ACTIONS(5106),
    [anon_sym_LBRACK] = ACTIONS(5106),
    [anon_sym_DOT] = ACTIONS(623),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(3727),
    [anon_sym_any] = ACTIONS(3727),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(3725),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_AT] = ACTIONS(3727),
    [anon_sym_inout] = ACTIONS(3727),
    [anon_sym_ATescaping] = ACTIONS(3725),
    [anon_sym_ATautoclosure] = ACTIONS(3725),
    [anon_sym_borrowing] = ACTIONS(3727),
    [anon_sym_consuming] = ACTIONS(3727),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [1684] = {
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3727),
    [aux_sym_simple_identifier_token2] = ACTIONS(3725),
    [aux_sym_simple_identifier_token3] = ACTIONS(3725),
    [aux_sym_simple_identifier_token4] = ACTIONS(3725),
    [anon_sym_actor] = ACTIONS(3727),
    [anon_sym_async] = ACTIONS(3727),
    [anon_sym_each] = ACTIONS(3727),
    [anon_sym_lazy] = ACTIONS(3727),
    [anon_sym_repeat] = ACTIONS(3727),
    [anon_sym_package] = ACTIONS(3727),
    [anon_sym_RPAREN] = ACTIONS(617),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_COLON] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(5106),
    [anon_sym_LBRACK] = ACTIONS(5106),
    [anon_sym_DOT] = ACTIONS(623),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_some] = ACTIONS(3727),
    [anon_sym_any] = ACTIONS(3727),
    [anon_sym_AMP] = ACTIONS(617),
    [anon_sym_TILDE] = ACTIONS(3725),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_AT] = ACTIONS(3727),
    [anon_sym_inout] = ACTIONS(3727),
    [anon_sym_ATescaping] = ACTIONS(3725),
    [anon_sym_ATautoclosure] = ACTIONS(3725),
    [anon_sym_borrowing] = ACTIONS(3727),
    [anon_sym_consuming] = ACTIONS(3727),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [1685] = {
    [sym_protocol_property_declaration] = STATE(6861),
    [sym_typealias_declaration] = STATE(6861),
    [sym__modifierless_typealias_declaration] = STATE(7317),
    [sym__bodyless_function_declaration] = STATE(6651),
    [sym__modifierless_function_declaration_no_body] = STATE(7325),
    [sym__non_constructor_function_decl] = STATE(7177),
    [sym__async_modifier] = STATE(7659),
    [sym__protocol_member_declarations] = STATE(9002),
    [sym__protocol_member_declaration] = STATE(6861),
    [sym_init_declaration] = STATE(6861),
    [sym_deinit_declaration] = STATE(6861),
    [sym_subscript_declaration] = STATE(6861),
    [sym_associatedtype_declaration] = STATE(6861),
    [sym_attribute] = STATE(1786),
    [sym_value_binding_pattern] = STATE(4825),
    [sym__possibly_async_binding_pattern_kind] = STATE(4825),
    [sym__binding_kind_and_pattern] = STATE(6794),
    [sym_modifiers] = STATE(5270),
    [aux_sym__locally_permitted_modifiers] = STATE(1786),
    [sym__non_local_scope_modifier] = STATE(1786),
    [sym__locally_permitted_modifier] = STATE(1786),
    [sym_property_behavior_modifier] = STATE(1786),
    [sym_member_modifier] = STATE(1786),
    [sym_visibility_modifier] = STATE(1786),
    [sym_function_modifier] = STATE(1786),
    [sym_mutation_modifier] = STATE(1786),
    [sym_property_modifier] = STATE(1786),
    [sym_inheritance_modifier] = STATE(1786),
    [sym_parameter_modifier] = STATE(1786),
    [sym_ownership_modifier] = STATE(1786),
    [sym__parameter_ownership_modifier] = STATE(2979),
    [aux_sym_modifiers_repeat1] = STATE(1786),
    [sym_comment] = ACTIONS(5),
    [anon_sym_async] = ACTIONS(3977),
    [anon_sym_lazy] = ACTIONS(3979),
    [anon_sym_package] = ACTIONS(3981),
    [anon_sym_RBRACE] = ACTIONS(5109),
    [anon_sym_typealias] = ACTIONS(5111),
    [anon_sym_class] = ACTIONS(5113),
    [anon_sym_let] = ACTIONS(3997),
    [anon_sym_var] = ACTIONS(3997),
    [anon_sym_func] = ACTIONS(3999),
    [anon_sym_init] = ACTIONS(5115),
    [anon_sym_deinit] = ACTIONS(5117),
    [anon_sym_subscript] = ACTIONS(5119),
    [anon_sym_prefix] = ACTIONS(5121),
    [anon_sym_infix] = ACTIONS(5121),
    [anon_sym_postfix] = ACTIONS(5121),
    [anon_sym_associatedtype] = ACTIONS(5123),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(4017),
    [anon_sym_convenience] = ACTIONS(4017),
    [anon_sym_required] = ACTIONS(4017),
    [anon_sym_nonisolated] = ACTIONS(4017),
    [anon_sym_public] = ACTIONS(3981),
    [anon_sym_private] = ACTIONS(3981),
    [anon_sym_internal] = ACTIONS(3981),
    [anon_sym_fileprivate] = ACTIONS(3981),
    [anon_sym_open] = ACTIONS(3981),
    [anon_sym_mutating] = ACTIONS(4019),
    [anon_sym_nonmutating] = ACTIONS(4019),
    [anon_sym_static] = ACTIONS(4021),
    [anon_sym_dynamic] = ACTIONS(4021),
    [anon_sym_optional] = ACTIONS(4021),
    [anon_sym_distributed] = ACTIONS(4021),
    [anon_sym_final] = ACTIONS(4023),
    [anon_sym_inout] = ACTIONS(125),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(129),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(125),
    [anon_sym_consuming] = ACTIONS(125),
    [sym_multiline_comment] = ACTIONS(5),
  },
  [1686] = {
    [sym_protocol_property_declaration] = STATE(6861),
    [sym_typealias_declaration] = STATE(6861),
    [sym__modifierless_typealias_declaration] = STATE(7317),
    [sym__bodyless_function_declaration] = STATE(6651),
    [sym__modifierless_function_declaration_no_body] = STATE(7325),
    [sym__non_constructor_function_decl] = STATE(7177),
    [sym__async_modifier] = STATE(7659),
    [sym__protocol_member_declarations] = STATE(8660),
    [sym__protocol_member_declaration] = STATE(6861),
    [sym_init_declaration] = STATE(6861),
    [sym_deinit_declaration] = STATE(6861),
    [sym_subscript_declaration] = STATE(6861),
    [sym_associatedtype_declaration] = STATE(6861),
    [sym_attribute] = STATE(1786),
    [sym_value_binding_pattern] = STATE(4825),
    [sym__possibly_async_binding_pattern_kind] = STATE(4825),
    [sym__binding_kind_and_pattern] = STATE(6794),
    [sym_modifiers] = STATE(5270),
    [aux_sym__locally_permitted_modifiers] = STATE(1786),
    [sym__non_local_scope_modifier] = STATE(1786),
    [sym__locally_permitted_modifier] = STATE(1786),
    [sym_property_behavior_modifier] = STATE(1786),
    [sym_member_modifier] = STATE(1786),
    [sym_visibility_modifier] = STATE(1786),
    [sym_function_modifier] = STATE(1786),
    [sym_mutation_modifier] = STATE(1786),
    [sym_property_modifier] = STATE(1786),
    [sym_inheritance_modifier] = STATE(1786),
    [sym_parameter_modifier] = STATE(1786),
    [sym_ownership_modifier] = STATE(1786),
    [sym__parameter_ownership_modifier] = STATE(2979),
    [aux_sym_modifiers_repeat1] = STATE(1786),
    [sym_comment] = ACTIONS(5),
    [anon_sym_async] = ACTIONS(3977),
    [anon_sym_lazy] = ACTIONS(3979),
    [anon_sym_package] = ACTIONS(3981),
    [anon_sym_RBRACE] = ACTIONS(5125),
    [anon_sym_typealias] = ACTIONS(5111),
    [anon_sym_class] = ACTIONS(5113),
    [anon_sym_let] = ACTIONS(3997),
    [anon_sym_var] = ACTIONS(3997),
    [anon_sym_func] = ACTIONS(3999),
    [anon_sym_init] = ACTIONS(5115),
    [anon_sym_deinit] = ACTIONS(5117),
    [anon_sym_subscript] = ACTIONS(5119),
    [anon_sym_prefix] = ACTIONS(5121),
    [anon_sym_infix] = ACTIONS(5121),
    [anon_sym_postfix] = ACTIONS(5121),
    [anon_sym_associatedtype] = ACTIONS(5123),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(4017),
    [anon_sym_convenience] = ACTIONS(4017),
    [anon_sym_required] = ACTIONS(4017),
    [anon_sym_nonisolated] = ACTIONS(4017),
    [anon_sym_public] = ACTIONS(3981),
    [anon_sym_private] = ACTIONS(3981),
    [anon_sym_internal] = ACTIONS(3981),
    [anon_sym_fileprivate] = ACTIONS(3981),
    [anon_sym_open] = ACTIONS(3981),
    [anon_sym_mutating] = ACTIONS(4019),
    [anon_sym_nonmutating] = ACTIONS(4019),
    [anon_sym_static] = ACTIONS(4021),
    [anon_sym_dynamic] = ACTIONS(4021),
    [anon_sym_optional] = ACTIONS(4021),
    [anon_sym_distributed] = ACTIONS(4021),
    [anon_sym_final] = ACTIONS(4023),
    [anon_sym_inout] = ACTIONS(125),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(129),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(125),
    [anon_sym_consuming] = ACTIONS(125),
    [sym_multiline_comment] = ACTIONS(5),
  },
  [1687] = {
    [sym_simple_identifier] = STATE(2252),
    [sym__contextual_simple_identifier] = STATE(2240),
    [sym__simple_user_type] = STATE(2313),
    [sym_array_type] = STATE(2313),
    [sym_dictionary_type] = STATE(2313),
    [sym__parameter_ownership_modifier] = STATE(2240),
    [aux_sym_key_path_expression_repeat1] = STATE(2316),
    [ts_builtin_sym_end] = ACTIONS(2963),
    [anon_sym_BANG] = ACTIONS(2961),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(971),
    [aux_sym_simple_identifier_token2] = ACTIONS(973),
    [aux_sym_simple_identifier_token3] = ACTIONS(973),
    [aux_sym_simple_identifier_token4] = ACTIONS(973),
    [anon_sym_actor] = ACTIONS(971),
    [anon_sym_async] = ACTIONS(971),
    [anon_sym_each] = ACTIONS(971),
    [anon_sym_lazy] = ACTIONS(971),
    [anon_sym_repeat] = ACTIONS(971),
    [anon_sym_package] = ACTIONS(971),
    [anon_sym_COMMA] = ACTIONS(2963),
    [anon_sym_LPAREN] = ACTIONS(2963),
    [anon_sym_LBRACK] = ACTIONS(5127),
    [anon_sym_DOT] = ACTIONS(5129),
    [anon_sym_QMARK] = ACTIONS(2961),
    [anon_sym_QMARK2] = ACTIONS(2963),
    [anon_sym_AMP] = ACTIONS(2963),
    [aux_sym_custom_operator_token1] = ACTIONS(2963),
    [anon_sym_LT] = ACTIONS(2961),
    [anon_sym_GT] = ACTIONS(2961),
    [anon_sym_LBRACE] = ACTIONS(2963),
    [anon_sym_CARET_LBRACE] = ACTIONS(2963),
    [anon_sym_RBRACE] = ACTIONS(2963),
    [anon_sym_PLUS_EQ] = ACTIONS(2963),
    [anon_sym_DASH_EQ] = ACTIONS(2963),
    [anon_sym_STAR_EQ] = ACTIONS(2963),
    [anon_sym_SLASH_EQ] = ACTIONS(2963),
    [anon_sym_PERCENT_EQ] = ACTIONS(2963),
    [anon_sym_BANG_EQ] = ACTIONS(2961),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2963),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2963),
    [anon_sym_LT_EQ] = ACTIONS(2963),
    [anon_sym_GT_EQ] = ACTIONS(2963),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2963),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2963),
    [anon_sym_is] = ACTIONS(2961),
    [anon_sym_PLUS] = ACTIONS(2961),
    [anon_sym_DASH] = ACTIONS(2961),
    [anon_sym_STAR] = ACTIONS(2961),
    [anon_sym_SLASH] = ACTIONS(2961),
    [anon_sym_PERCENT] = ACTIONS(2961),
    [anon_sym_PLUS_PLUS] = ACTIONS(2963),
    [anon_sym_DASH_DASH] = ACTIONS(2963),
    [anon_sym_PIPE] = ACTIONS(2963),
    [anon_sym_CARET] = ACTIONS(2961),
    [anon_sym_LT_LT] = ACTIONS(2963),
    [anon_sym_GT_GT] = ACTIONS(2963),
    [anon_sym_borrowing] = ACTIONS(971),
    [anon_sym_consuming] = ACTIONS(971),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2963),
    [sym__explicit_semi] = ACTIONS(2963),
    [sym__dot_custom] = ACTIONS(2963),
    [sym__conjunction_operator_custom] = ACTIONS(2963),
    [sym__disjunction_operator_custom] = ACTIONS(2963),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2963),
    [sym__eq_custom] = ACTIONS(2963),
    [sym__eq_eq_custom] = ACTIONS(2963),
    [sym__plus_then_ws] = ACTIONS(2963),
    [sym__minus_then_ws] = ACTIONS(2963),
    [sym__bang_custom] = ACTIONS(2963),
    [sym_where_keyword] = ACTIONS(2963),
    [sym__as_custom] = ACTIONS(2963),
    [sym__as_quest_custom] = ACTIONS(2963),
    [sym__as_bang_custom] = ACTIONS(2963),
    [sym__custom_operator] = ACTIONS(2963),
  },
  [1688] = {
    [sym_simple_identifier] = STATE(8960),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym_type_arguments] = STATE(2086),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [anon_sym_BANG] = ACTIONS(3303),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3012),
    [aux_sym_simple_identifier_token2] = ACTIONS(3014),
    [aux_sym_simple_identifier_token3] = ACTIONS(3014),
    [aux_sym_simple_identifier_token4] = ACTIONS(3014),
    [anon_sym_actor] = ACTIONS(3012),
    [anon_sym_async] = ACTIONS(3012),
    [anon_sym_each] = ACTIONS(3012),
    [anon_sym_lazy] = ACTIONS(3012),
    [anon_sym_repeat] = ACTIONS(3012),
    [anon_sym_package] = ACTIONS(3012),
    [anon_sym_COMMA] = ACTIONS(5131),
    [anon_sym_COLON] = ACTIONS(5133),
    [anon_sym_LPAREN] = ACTIONS(3307),
    [anon_sym_LBRACK] = ACTIONS(3305),
    [anon_sym_QMARK] = ACTIONS(3303),
    [anon_sym_QMARK2] = ACTIONS(3305),
    [anon_sym_AMP] = ACTIONS(3305),
    [aux_sym_custom_operator_token1] = ACTIONS(3305),
    [anon_sym_LT] = ACTIONS(3310),
    [anon_sym_GT] = ACTIONS(3303),
    [anon_sym_LBRACE] = ACTIONS(3307),
    [anon_sym_CARET_LBRACE] = ACTIONS(3307),
    [anon_sym_RBRACE] = ACTIONS(3305),
    [anon_sym_in] = ACTIONS(5135),
    [anon_sym_PLUS_EQ] = ACTIONS(3305),
    [anon_sym_DASH_EQ] = ACTIONS(3305),
    [anon_sym_STAR_EQ] = ACTIONS(3305),
    [anon_sym_SLASH_EQ] = ACTIONS(3305),
    [anon_sym_PERCENT_EQ] = ACTIONS(3305),
    [anon_sym_BANG_EQ] = ACTIONS(3303),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3305),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3305),
    [anon_sym_LT_EQ] = ACTIONS(3305),
    [anon_sym_GT_EQ] = ACTIONS(3305),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3305),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3305),
    [anon_sym_is] = ACTIONS(3303),
    [anon_sym_PLUS] = ACTIONS(3303),
    [anon_sym_DASH] = ACTIONS(3303),
    [anon_sym_STAR] = ACTIONS(3303),
    [anon_sym_SLASH] = ACTIONS(3303),
    [anon_sym_PERCENT] = ACTIONS(3303),
    [anon_sym_PLUS_PLUS] = ACTIONS(3305),
    [anon_sym_DASH_DASH] = ACTIONS(3305),
    [anon_sym_PIPE] = ACTIONS(3305),
    [anon_sym_CARET] = ACTIONS(3303),
    [anon_sym_LT_LT] = ACTIONS(3305),
    [anon_sym_GT_GT] = ACTIONS(3305),
    [anon_sym_borrowing] = ACTIONS(3012),
    [anon_sym_consuming] = ACTIONS(3012),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3305),
    [sym__explicit_semi] = ACTIONS(3305),
    [sym__arrow_operator_custom] = ACTIONS(5131),
    [sym__dot_custom] = ACTIONS(3307),
    [sym__conjunction_operator_custom] = ACTIONS(3305),
    [sym__disjunction_operator_custom] = ACTIONS(3305),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3305),
    [sym__eq_custom] = ACTIONS(3305),
    [sym__eq_eq_custom] = ACTIONS(3305),
    [sym__plus_then_ws] = ACTIONS(3305),
    [sym__minus_then_ws] = ACTIONS(3305),
    [sym__bang_custom] = ACTIONS(3305),
    [sym__throws_keyword] = ACTIONS(5131),
    [sym__rethrows_keyword] = ACTIONS(5131),
    [sym__as_custom] = ACTIONS(3305),
    [sym__as_quest_custom] = ACTIONS(3305),
    [sym__as_bang_custom] = ACTIONS(3305),
    [sym__async_keyword_custom] = ACTIONS(5131),
    [sym__custom_operator] = ACTIONS(3305),
  },
  [1689] = {
    [sym_protocol_property_declaration] = STATE(6861),
    [sym_typealias_declaration] = STATE(6861),
    [sym__modifierless_typealias_declaration] = STATE(7317),
    [sym__bodyless_function_declaration] = STATE(6651),
    [sym__modifierless_function_declaration_no_body] = STATE(7325),
    [sym__non_constructor_function_decl] = STATE(7177),
    [sym__async_modifier] = STATE(7659),
    [sym__protocol_member_declarations] = STATE(8776),
    [sym__protocol_member_declaration] = STATE(6861),
    [sym_init_declaration] = STATE(6861),
    [sym_deinit_declaration] = STATE(6861),
    [sym_subscript_declaration] = STATE(6861),
    [sym_associatedtype_declaration] = STATE(6861),
    [sym_attribute] = STATE(1786),
    [sym_value_binding_pattern] = STATE(4825),
    [sym__possibly_async_binding_pattern_kind] = STATE(4825),
    [sym__binding_kind_and_pattern] = STATE(6794),
    [sym_modifiers] = STATE(5270),
    [aux_sym__locally_permitted_modifiers] = STATE(1786),
    [sym__non_local_scope_modifier] = STATE(1786),
    [sym__locally_permitted_modifier] = STATE(1786),
    [sym_property_behavior_modifier] = STATE(1786),
    [sym_member_modifier] = STATE(1786),
    [sym_visibility_modifier] = STATE(1786),
    [sym_function_modifier] = STATE(1786),
    [sym_mutation_modifier] = STATE(1786),
    [sym_property_modifier] = STATE(1786),
    [sym_inheritance_modifier] = STATE(1786),
    [sym_parameter_modifier] = STATE(1786),
    [sym_ownership_modifier] = STATE(1786),
    [sym__parameter_ownership_modifier] = STATE(2979),
    [aux_sym_modifiers_repeat1] = STATE(1786),
    [sym_comment] = ACTIONS(5),
    [anon_sym_async] = ACTIONS(3977),
    [anon_sym_lazy] = ACTIONS(3979),
    [anon_sym_package] = ACTIONS(3981),
    [anon_sym_RBRACE] = ACTIONS(5137),
    [anon_sym_typealias] = ACTIONS(5111),
    [anon_sym_class] = ACTIONS(5113),
    [anon_sym_let] = ACTIONS(3997),
    [anon_sym_var] = ACTIONS(3997),
    [anon_sym_func] = ACTIONS(3999),
    [anon_sym_init] = ACTIONS(5115),
    [anon_sym_deinit] = ACTIONS(5117),
    [anon_sym_subscript] = ACTIONS(5119),
    [anon_sym_prefix] = ACTIONS(5121),
    [anon_sym_infix] = ACTIONS(5121),
    [anon_sym_postfix] = ACTIONS(5121),
    [anon_sym_associatedtype] = ACTIONS(5123),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(4017),
    [anon_sym_convenience] = ACTIONS(4017),
    [anon_sym_required] = ACTIONS(4017),
    [anon_sym_nonisolated] = ACTIONS(4017),
    [anon_sym_public] = ACTIONS(3981),
    [anon_sym_private] = ACTIONS(3981),
    [anon_sym_internal] = ACTIONS(3981),
    [anon_sym_fileprivate] = ACTIONS(3981),
    [anon_sym_open] = ACTIONS(3981),
    [anon_sym_mutating] = ACTIONS(4019),
    [anon_sym_nonmutating] = ACTIONS(4019),
    [anon_sym_static] = ACTIONS(4021),
    [anon_sym_dynamic] = ACTIONS(4021),
    [anon_sym_optional] = ACTIONS(4021),
    [anon_sym_distributed] = ACTIONS(4021),
    [anon_sym_final] = ACTIONS(4023),
    [anon_sym_inout] = ACTIONS(125),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(129),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(125),
    [anon_sym_consuming] = ACTIONS(125),
    [sym_multiline_comment] = ACTIONS(5),
  },
  [1690] = {
    [sym_protocol_property_declaration] = STATE(7833),
    [sym_typealias_declaration] = STATE(7833),
    [sym__modifierless_typealias_declaration] = STATE(7317),
    [sym__bodyless_function_declaration] = STATE(6651),
    [sym__modifierless_function_declaration_no_body] = STATE(7325),
    [sym__non_constructor_function_decl] = STATE(7177),
    [sym__async_modifier] = STATE(7659),
    [sym__protocol_member_declaration] = STATE(7833),
    [sym_init_declaration] = STATE(7833),
    [sym_deinit_declaration] = STATE(7833),
    [sym_subscript_declaration] = STATE(7833),
    [sym_associatedtype_declaration] = STATE(7833),
    [sym_attribute] = STATE(1786),
    [sym_value_binding_pattern] = STATE(4825),
    [sym__possibly_async_binding_pattern_kind] = STATE(4825),
    [sym__binding_kind_and_pattern] = STATE(6794),
    [sym_modifiers] = STATE(5270),
    [aux_sym__locally_permitted_modifiers] = STATE(1786),
    [sym__non_local_scope_modifier] = STATE(1786),
    [sym__locally_permitted_modifier] = STATE(1786),
    [sym_property_behavior_modifier] = STATE(1786),
    [sym_member_modifier] = STATE(1786),
    [sym_visibility_modifier] = STATE(1786),
    [sym_function_modifier] = STATE(1786),
    [sym_mutation_modifier] = STATE(1786),
    [sym_property_modifier] = STATE(1786),
    [sym_inheritance_modifier] = STATE(1786),
    [sym_parameter_modifier] = STATE(1786),
    [sym_ownership_modifier] = STATE(1786),
    [sym__parameter_ownership_modifier] = STATE(2979),
    [aux_sym_modifiers_repeat1] = STATE(1786),
    [sym_comment] = ACTIONS(5),
    [anon_sym_async] = ACTIONS(3977),
    [anon_sym_lazy] = ACTIONS(3979),
    [anon_sym_package] = ACTIONS(3981),
    [anon_sym_RBRACE] = ACTIONS(5139),
    [anon_sym_typealias] = ACTIONS(5111),
    [anon_sym_class] = ACTIONS(5113),
    [anon_sym_let] = ACTIONS(3997),
    [anon_sym_var] = ACTIONS(3997),
    [anon_sym_func] = ACTIONS(3999),
    [anon_sym_init] = ACTIONS(5115),
    [anon_sym_deinit] = ACTIONS(5117),
    [anon_sym_subscript] = ACTIONS(5119),
    [anon_sym_prefix] = ACTIONS(5121),
    [anon_sym_infix] = ACTIONS(5121),
    [anon_sym_postfix] = ACTIONS(5121),
    [anon_sym_associatedtype] = ACTIONS(5123),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(4017),
    [anon_sym_convenience] = ACTIONS(4017),
    [anon_sym_required] = ACTIONS(4017),
    [anon_sym_nonisolated] = ACTIONS(4017),
    [anon_sym_public] = ACTIONS(3981),
    [anon_sym_private] = ACTIONS(3981),
    [anon_sym_internal] = ACTIONS(3981),
    [anon_sym_fileprivate] = ACTIONS(3981),
    [anon_sym_open] = ACTIONS(3981),
    [anon_sym_mutating] = ACTIONS(4019),
    [anon_sym_nonmutating] = ACTIONS(4019),
    [anon_sym_static] = ACTIONS(4021),
    [anon_sym_dynamic] = ACTIONS(4021),
    [anon_sym_optional] = ACTIONS(4021),
    [anon_sym_distributed] = ACTIONS(4021),
    [anon_sym_final] = ACTIONS(4023),
    [anon_sym_inout] = ACTIONS(125),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(129),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(125),
    [anon_sym_consuming] = ACTIONS(125),
    [sym_multiline_comment] = ACTIONS(5),
  },
  [1691] = {
    [sym_protocol_property_declaration] = STATE(7833),
    [sym_typealias_declaration] = STATE(7833),
    [sym__modifierless_typealias_declaration] = STATE(7317),
    [sym__bodyless_function_declaration] = STATE(6651),
    [sym__modifierless_function_declaration_no_body] = STATE(7325),
    [sym__non_constructor_function_decl] = STATE(7177),
    [sym__async_modifier] = STATE(7659),
    [sym__protocol_member_declaration] = STATE(7833),
    [sym_init_declaration] = STATE(7833),
    [sym_deinit_declaration] = STATE(7833),
    [sym_subscript_declaration] = STATE(7833),
    [sym_associatedtype_declaration] = STATE(7833),
    [sym_attribute] = STATE(1786),
    [sym_value_binding_pattern] = STATE(4825),
    [sym__possibly_async_binding_pattern_kind] = STATE(4825),
    [sym__binding_kind_and_pattern] = STATE(6794),
    [sym_modifiers] = STATE(5270),
    [aux_sym__locally_permitted_modifiers] = STATE(1786),
    [sym__non_local_scope_modifier] = STATE(1786),
    [sym__locally_permitted_modifier] = STATE(1786),
    [sym_property_behavior_modifier] = STATE(1786),
    [sym_member_modifier] = STATE(1786),
    [sym_visibility_modifier] = STATE(1786),
    [sym_function_modifier] = STATE(1786),
    [sym_mutation_modifier] = STATE(1786),
    [sym_property_modifier] = STATE(1786),
    [sym_inheritance_modifier] = STATE(1786),
    [sym_parameter_modifier] = STATE(1786),
    [sym_ownership_modifier] = STATE(1786),
    [sym__parameter_ownership_modifier] = STATE(2979),
    [aux_sym_modifiers_repeat1] = STATE(1786),
    [sym_comment] = ACTIONS(5),
    [anon_sym_async] = ACTIONS(3977),
    [anon_sym_lazy] = ACTIONS(3979),
    [anon_sym_package] = ACTIONS(3981),
    [anon_sym_RBRACE] = ACTIONS(5141),
    [anon_sym_typealias] = ACTIONS(5111),
    [anon_sym_class] = ACTIONS(5113),
    [anon_sym_let] = ACTIONS(3997),
    [anon_sym_var] = ACTIONS(3997),
    [anon_sym_func] = ACTIONS(3999),
    [anon_sym_init] = ACTIONS(5115),
    [anon_sym_deinit] = ACTIONS(5117),
    [anon_sym_subscript] = ACTIONS(5119),
    [anon_sym_prefix] = ACTIONS(5121),
    [anon_sym_infix] = ACTIONS(5121),
    [anon_sym_postfix] = ACTIONS(5121),
    [anon_sym_associatedtype] = ACTIONS(5123),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(4017),
    [anon_sym_convenience] = ACTIONS(4017),
    [anon_sym_required] = ACTIONS(4017),
    [anon_sym_nonisolated] = ACTIONS(4017),
    [anon_sym_public] = ACTIONS(3981),
    [anon_sym_private] = ACTIONS(3981),
    [anon_sym_internal] = ACTIONS(3981),
    [anon_sym_fileprivate] = ACTIONS(3981),
    [anon_sym_open] = ACTIONS(3981),
    [anon_sym_mutating] = ACTIONS(4019),
    [anon_sym_nonmutating] = ACTIONS(4019),
    [anon_sym_static] = ACTIONS(4021),
    [anon_sym_dynamic] = ACTIONS(4021),
    [anon_sym_optional] = ACTIONS(4021),
    [anon_sym_distributed] = ACTIONS(4021),
    [anon_sym_final] = ACTIONS(4023),
    [anon_sym_inout] = ACTIONS(125),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(129),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(125),
    [anon_sym_consuming] = ACTIONS(125),
    [sym_multiline_comment] = ACTIONS(5),
  },
  [1692] = {
    [sym_simple_identifier] = STATE(2385),
    [sym__contextual_simple_identifier] = STATE(2368),
    [sym__simple_user_type] = STATE(2401),
    [sym_array_type] = STATE(2401),
    [sym_dictionary_type] = STATE(2401),
    [sym__parameter_ownership_modifier] = STATE(2368),
    [aux_sym_key_path_expression_repeat1] = STATE(2320),
    [ts_builtin_sym_end] = ACTIONS(2963),
    [anon_sym_BANG] = ACTIONS(2961),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(11),
    [aux_sym_simple_identifier_token2] = ACTIONS(13),
    [aux_sym_simple_identifier_token3] = ACTIONS(13),
    [aux_sym_simple_identifier_token4] = ACTIONS(13),
    [anon_sym_actor] = ACTIONS(11),
    [anon_sym_async] = ACTIONS(11),
    [anon_sym_each] = ACTIONS(11),
    [anon_sym_lazy] = ACTIONS(11),
    [anon_sym_repeat] = ACTIONS(11),
    [anon_sym_package] = ACTIONS(11),
    [anon_sym_COMMA] = ACTIONS(2963),
    [anon_sym_LPAREN] = ACTIONS(2963),
    [anon_sym_LBRACK] = ACTIONS(5143),
    [anon_sym_DOT] = ACTIONS(5145),
    [anon_sym_QMARK] = ACTIONS(2961),
    [anon_sym_QMARK2] = ACTIONS(2963),
    [anon_sym_AMP] = ACTIONS(2963),
    [aux_sym_custom_operator_token1] = ACTIONS(2963),
    [anon_sym_LT] = ACTIONS(2961),
    [anon_sym_GT] = ACTIONS(2961),
    [anon_sym_LBRACE] = ACTIONS(2963),
    [anon_sym_CARET_LBRACE] = ACTIONS(2963),
    [anon_sym_RBRACE] = ACTIONS(2963),
    [anon_sym_PLUS_EQ] = ACTIONS(2963),
    [anon_sym_DASH_EQ] = ACTIONS(2963),
    [anon_sym_STAR_EQ] = ACTIONS(2963),
    [anon_sym_SLASH_EQ] = ACTIONS(2963),
    [anon_sym_PERCENT_EQ] = ACTIONS(2963),
    [anon_sym_BANG_EQ] = ACTIONS(2961),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2963),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2963),
    [anon_sym_LT_EQ] = ACTIONS(2963),
    [anon_sym_GT_EQ] = ACTIONS(2963),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2963),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2963),
    [anon_sym_is] = ACTIONS(2961),
    [anon_sym_PLUS] = ACTIONS(2961),
    [anon_sym_DASH] = ACTIONS(2961),
    [anon_sym_STAR] = ACTIONS(2961),
    [anon_sym_SLASH] = ACTIONS(2961),
    [anon_sym_PERCENT] = ACTIONS(2961),
    [anon_sym_PLUS_PLUS] = ACTIONS(2963),
    [anon_sym_DASH_DASH] = ACTIONS(2963),
    [anon_sym_PIPE] = ACTIONS(2963),
    [anon_sym_CARET] = ACTIONS(2961),
    [anon_sym_LT_LT] = ACTIONS(2963),
    [anon_sym_GT_GT] = ACTIONS(2963),
    [anon_sym_borrowing] = ACTIONS(11),
    [anon_sym_consuming] = ACTIONS(11),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2963),
    [sym__explicit_semi] = ACTIONS(2963),
    [sym__dot_custom] = ACTIONS(2963),
    [sym__conjunction_operator_custom] = ACTIONS(2963),
    [sym__disjunction_operator_custom] = ACTIONS(2963),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2963),
    [sym__eq_custom] = ACTIONS(2963),
    [sym__eq_eq_custom] = ACTIONS(2963),
    [sym__plus_then_ws] = ACTIONS(2963),
    [sym__minus_then_ws] = ACTIONS(2963),
    [sym__bang_custom] = ACTIONS(2963),
    [sym__as_custom] = ACTIONS(2963),
    [sym__as_quest_custom] = ACTIONS(2963),
    [sym__as_bang_custom] = ACTIONS(2963),
    [sym__custom_operator] = ACTIONS(2963),
  },
  [1693] = {
    [sym_simple_identifier] = STATE(6539),
    [sym__contextual_simple_identifier] = STATE(6812),
    [sym__parameter_ownership_modifier] = STATE(6812),
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3759),
    [aux_sym_simple_identifier_token2] = ACTIONS(5147),
    [aux_sym_simple_identifier_token3] = ACTIONS(5147),
    [aux_sym_simple_identifier_token4] = ACTIONS(5147),
    [anon_sym_actor] = ACTIONS(3759),
    [anon_sym_async] = ACTIONS(3759),
    [anon_sym_each] = ACTIONS(3759),
    [anon_sym_lazy] = ACTIONS(3759),
    [anon_sym_repeat] = ACTIONS(3759),
    [anon_sym_package] = ACTIONS(3759),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_COLON] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(617),
    [anon_sym_LBRACK] = ACTIONS(617),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(617),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_in] = ACTIONS(623),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(3759),
    [anon_sym_consuming] = ACTIONS(3759),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [1694] = {
    [sym_simple_identifier] = STATE(2430),
    [sym__contextual_simple_identifier] = STATE(2445),
    [sym__simple_user_type] = STATE(2544),
    [sym_array_type] = STATE(2544),
    [sym_dictionary_type] = STATE(2544),
    [sym__parameter_ownership_modifier] = STATE(2445),
    [aux_sym_key_path_expression_repeat1] = STATE(2540),
    [anon_sym_BANG] = ACTIONS(2961),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1121),
    [aux_sym_simple_identifier_token2] = ACTIONS(1123),
    [aux_sym_simple_identifier_token3] = ACTIONS(1123),
    [aux_sym_simple_identifier_token4] = ACTIONS(1123),
    [anon_sym_actor] = ACTIONS(1121),
    [anon_sym_async] = ACTIONS(1121),
    [anon_sym_each] = ACTIONS(1121),
    [anon_sym_lazy] = ACTIONS(1121),
    [anon_sym_repeat] = ACTIONS(1121),
    [anon_sym_package] = ACTIONS(1121),
    [anon_sym_COMMA] = ACTIONS(2963),
    [anon_sym_LPAREN] = ACTIONS(2963),
    [anon_sym_LBRACK] = ACTIONS(5150),
    [anon_sym_DOT] = ACTIONS(5152),
    [anon_sym_QMARK] = ACTIONS(2961),
    [anon_sym_QMARK2] = ACTIONS(2963),
    [anon_sym_AMP] = ACTIONS(2963),
    [aux_sym_custom_operator_token1] = ACTIONS(2963),
    [anon_sym_LT] = ACTIONS(2961),
    [anon_sym_GT] = ACTIONS(2961),
    [anon_sym_LBRACE] = ACTIONS(2963),
    [anon_sym_CARET_LBRACE] = ACTIONS(2963),
    [anon_sym_RBRACE] = ACTIONS(2963),
    [anon_sym_PLUS_EQ] = ACTIONS(2963),
    [anon_sym_DASH_EQ] = ACTIONS(2963),
    [anon_sym_STAR_EQ] = ACTIONS(2963),
    [anon_sym_SLASH_EQ] = ACTIONS(2963),
    [anon_sym_PERCENT_EQ] = ACTIONS(2963),
    [anon_sym_BANG_EQ] = ACTIONS(2961),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2963),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2963),
    [anon_sym_LT_EQ] = ACTIONS(2963),
    [anon_sym_GT_EQ] = ACTIONS(2963),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2963),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2963),
    [anon_sym_is] = ACTIONS(2961),
    [anon_sym_PLUS] = ACTIONS(2961),
    [anon_sym_DASH] = ACTIONS(2961),
    [anon_sym_STAR] = ACTIONS(2961),
    [anon_sym_SLASH] = ACTIONS(2961),
    [anon_sym_PERCENT] = ACTIONS(2961),
    [anon_sym_PLUS_PLUS] = ACTIONS(2963),
    [anon_sym_DASH_DASH] = ACTIONS(2963),
    [anon_sym_PIPE] = ACTIONS(2963),
    [anon_sym_CARET] = ACTIONS(2961),
    [anon_sym_LT_LT] = ACTIONS(2963),
    [anon_sym_GT_GT] = ACTIONS(2963),
    [anon_sym_borrowing] = ACTIONS(1121),
    [anon_sym_consuming] = ACTIONS(1121),
    [sym_multiline_comment] = ACTIONS(2963),
    [sym__implicit_semi] = ACTIONS(2963),
    [sym__explicit_semi] = ACTIONS(2963),
    [sym__dot_custom] = ACTIONS(2963),
    [sym__conjunction_operator_custom] = ACTIONS(2963),
    [sym__disjunction_operator_custom] = ACTIONS(2963),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2963),
    [sym__eq_custom] = ACTIONS(2963),
    [sym__eq_eq_custom] = ACTIONS(2963),
    [sym__plus_then_ws] = ACTIONS(2963),
    [sym__minus_then_ws] = ACTIONS(2963),
    [sym__bang_custom] = ACTIONS(2963),
    [sym__as_custom] = ACTIONS(2963),
    [sym__as_quest_custom] = ACTIONS(2963),
    [sym__as_bang_custom] = ACTIONS(2963),
    [sym__custom_operator] = ACTIONS(2963),
  },
  [1695] = {
    [sym_protocol_property_declaration] = STATE(7833),
    [sym_typealias_declaration] = STATE(7833),
    [sym__modifierless_typealias_declaration] = STATE(7317),
    [sym__bodyless_function_declaration] = STATE(6651),
    [sym__modifierless_function_declaration_no_body] = STATE(7325),
    [sym__non_constructor_function_decl] = STATE(7177),
    [sym__async_modifier] = STATE(7659),
    [sym__protocol_member_declaration] = STATE(7833),
    [sym_init_declaration] = STATE(7833),
    [sym_deinit_declaration] = STATE(7833),
    [sym_subscript_declaration] = STATE(7833),
    [sym_associatedtype_declaration] = STATE(7833),
    [sym_attribute] = STATE(1786),
    [sym_value_binding_pattern] = STATE(4825),
    [sym__possibly_async_binding_pattern_kind] = STATE(4825),
    [sym__binding_kind_and_pattern] = STATE(6794),
    [sym_modifiers] = STATE(5270),
    [aux_sym__locally_permitted_modifiers] = STATE(1786),
    [sym__non_local_scope_modifier] = STATE(1786),
    [sym__locally_permitted_modifier] = STATE(1786),
    [sym_property_behavior_modifier] = STATE(1786),
    [sym_member_modifier] = STATE(1786),
    [sym_visibility_modifier] = STATE(1786),
    [sym_function_modifier] = STATE(1786),
    [sym_mutation_modifier] = STATE(1786),
    [sym_property_modifier] = STATE(1786),
    [sym_inheritance_modifier] = STATE(1786),
    [sym_parameter_modifier] = STATE(1786),
    [sym_ownership_modifier] = STATE(1786),
    [sym__parameter_ownership_modifier] = STATE(2979),
    [aux_sym_modifiers_repeat1] = STATE(1786),
    [sym_comment] = ACTIONS(5),
    [anon_sym_async] = ACTIONS(3977),
    [anon_sym_lazy] = ACTIONS(3979),
    [anon_sym_package] = ACTIONS(3981),
    [anon_sym_typealias] = ACTIONS(5111),
    [anon_sym_class] = ACTIONS(5113),
    [anon_sym_let] = ACTIONS(3997),
    [anon_sym_var] = ACTIONS(3997),
    [anon_sym_func] = ACTIONS(3999),
    [anon_sym_init] = ACTIONS(5115),
    [anon_sym_deinit] = ACTIONS(5117),
    [anon_sym_subscript] = ACTIONS(5119),
    [anon_sym_prefix] = ACTIONS(5121),
    [anon_sym_infix] = ACTIONS(5121),
    [anon_sym_postfix] = ACTIONS(5121),
    [anon_sym_associatedtype] = ACTIONS(5123),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(4017),
    [anon_sym_convenience] = ACTIONS(4017),
    [anon_sym_required] = ACTIONS(4017),
    [anon_sym_nonisolated] = ACTIONS(4017),
    [anon_sym_public] = ACTIONS(3981),
    [anon_sym_private] = ACTIONS(3981),
    [anon_sym_internal] = ACTIONS(3981),
    [anon_sym_fileprivate] = ACTIONS(3981),
    [anon_sym_open] = ACTIONS(3981),
    [anon_sym_mutating] = ACTIONS(4019),
    [anon_sym_nonmutating] = ACTIONS(4019),
    [anon_sym_static] = ACTIONS(4021),
    [anon_sym_dynamic] = ACTIONS(4021),
    [anon_sym_optional] = ACTIONS(4021),
    [anon_sym_distributed] = ACTIONS(4021),
    [anon_sym_final] = ACTIONS(4023),
    [anon_sym_inout] = ACTIONS(125),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(129),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(125),
    [anon_sym_consuming] = ACTIONS(125),
    [sym_multiline_comment] = ACTIONS(5),
  },
  [1696] = {
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(623),
    [aux_sym_simple_identifier_token2] = ACTIONS(617),
    [aux_sym_simple_identifier_token3] = ACTIONS(617),
    [aux_sym_simple_identifier_token4] = ACTIONS(617),
    [anon_sym_actor] = ACTIONS(623),
    [anon_sym_async] = ACTIONS(623),
    [anon_sym_each] = ACTIONS(623),
    [anon_sym_lazy] = ACTIONS(623),
    [anon_sym_repeat] = ACTIONS(623),
    [anon_sym_package] = ACTIONS(623),
    [anon_sym_COMMA] = ACTIONS(617),
    [anon_sym_COLON] = ACTIONS(617),
    [anon_sym_LPAREN] = ACTIONS(617),
    [anon_sym_LBRACK] = ACTIONS(617),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(617),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_in] = ACTIONS(623),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_let] = ACTIONS(5154),
    [anon_sym_var] = ACTIONS(5154),
    [anon_sym_borrowing] = ACTIONS(623),
    [anon_sym_consuming] = ACTIONS(623),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__arrow_operator_custom] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__throws_keyword] = ACTIONS(617),
    [sym__rethrows_keyword] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__async_keyword_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [1697] = {
    [sym_simple_identifier] = STATE(859),
    [sym__contextual_simple_identifier] = STATE(864),
    [sym__simple_user_type] = STATE(861),
    [sym_array_type] = STATE(861),
    [sym_dictionary_type] = STATE(861),
    [sym__parameter_ownership_modifier] = STATE(864),
    [aux_sym_key_path_expression_repeat1] = STATE(867),
    [anon_sym_BANG] = ACTIONS(2961),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(449),
    [aux_sym_simple_identifier_token2] = ACTIONS(451),
    [aux_sym_simple_identifier_token3] = ACTIONS(451),
    [aux_sym_simple_identifier_token4] = ACTIONS(451),
    [anon_sym_actor] = ACTIONS(449),
    [anon_sym_async] = ACTIONS(449),
    [anon_sym_each] = ACTIONS(449),
    [anon_sym_lazy] = ACTIONS(449),
    [anon_sym_repeat] = ACTIONS(449),
    [anon_sym_package] = ACTIONS(449),
    [anon_sym_RPAREN] = ACTIONS(2963),
    [anon_sym_COMMA] = ACTIONS(2963),
    [anon_sym_COLON] = ACTIONS(2963),
    [anon_sym_LPAREN] = ACTIONS(2963),
    [anon_sym_LBRACK] = ACTIONS(2965),
    [anon_sym_RBRACK] = ACTIONS(2963),
    [anon_sym_DOT] = ACTIONS(2967),
    [anon_sym_QMARK] = ACTIONS(2961),
    [anon_sym_QMARK2] = ACTIONS(2963),
    [anon_sym_AMP] = ACTIONS(2963),
    [aux_sym_custom_operator_token1] = ACTIONS(2963),
    [anon_sym_LT] = ACTIONS(2961),
    [anon_sym_GT] = ACTIONS(2961),
    [anon_sym_LBRACE] = ACTIONS(2963),
    [anon_sym_CARET_LBRACE] = ACTIONS(2963),
    [anon_sym_PLUS_EQ] = ACTIONS(2963),
    [anon_sym_DASH_EQ] = ACTIONS(2963),
    [anon_sym_STAR_EQ] = ACTIONS(2963),
    [anon_sym_SLASH_EQ] = ACTIONS(2963),
    [anon_sym_PERCENT_EQ] = ACTIONS(2963),
    [anon_sym_BANG_EQ] = ACTIONS(2961),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2963),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2963),
    [anon_sym_LT_EQ] = ACTIONS(2963),
    [anon_sym_GT_EQ] = ACTIONS(2963),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2963),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2963),
    [anon_sym_is] = ACTIONS(2961),
    [anon_sym_PLUS] = ACTIONS(2961),
    [anon_sym_DASH] = ACTIONS(2961),
    [anon_sym_STAR] = ACTIONS(2961),
    [anon_sym_SLASH] = ACTIONS(2961),
    [anon_sym_PERCENT] = ACTIONS(2961),
    [anon_sym_PLUS_PLUS] = ACTIONS(2963),
    [anon_sym_DASH_DASH] = ACTIONS(2963),
    [anon_sym_PIPE] = ACTIONS(2963),
    [anon_sym_CARET] = ACTIONS(2961),
    [anon_sym_LT_LT] = ACTIONS(2963),
    [anon_sym_GT_GT] = ACTIONS(2963),
    [anon_sym_borrowing] = ACTIONS(449),
    [anon_sym_consuming] = ACTIONS(449),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2963),
    [sym__conjunction_operator_custom] = ACTIONS(2963),
    [sym__disjunction_operator_custom] = ACTIONS(2963),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2963),
    [sym__eq_custom] = ACTIONS(2963),
    [sym__eq_eq_custom] = ACTIONS(2963),
    [sym__plus_then_ws] = ACTIONS(2963),
    [sym__minus_then_ws] = ACTIONS(2963),
    [sym__bang_custom] = ACTIONS(2963),
    [sym__as_custom] = ACTIONS(2963),
    [sym__as_quest_custom] = ACTIONS(2963),
    [sym__as_bang_custom] = ACTIONS(2963),
    [sym__custom_operator] = ACTIONS(2963),
  },
  [1698] = {
    [sym_simple_identifier] = STATE(2644),
    [sym__contextual_simple_identifier] = STATE(2652),
    [sym__simple_user_type] = STATE(2828),
    [sym_array_type] = STATE(2828),
    [sym_dictionary_type] = STATE(2828),
    [sym__parameter_ownership_modifier] = STATE(2652),
    [aux_sym_key_path_expression_repeat1] = STATE(2827),
    [anon_sym_BANG] = ACTIONS(2961),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1197),
    [aux_sym_simple_identifier_token2] = ACTIONS(1199),
    [aux_sym_simple_identifier_token3] = ACTIONS(1199),
    [aux_sym_simple_identifier_token4] = ACTIONS(1199),
    [anon_sym_actor] = ACTIONS(1197),
    [anon_sym_async] = ACTIONS(1197),
    [anon_sym_each] = ACTIONS(1197),
    [anon_sym_lazy] = ACTIONS(1197),
    [anon_sym_repeat] = ACTIONS(1197),
    [anon_sym_package] = ACTIONS(1197),
    [anon_sym_COMMA] = ACTIONS(2963),
    [anon_sym_LPAREN] = ACTIONS(2963),
    [anon_sym_LBRACK] = ACTIONS(5156),
    [anon_sym_DOT] = ACTIONS(5158),
    [anon_sym_QMARK] = ACTIONS(2961),
    [anon_sym_QMARK2] = ACTIONS(2963),
    [anon_sym_AMP] = ACTIONS(2963),
    [aux_sym_custom_operator_token1] = ACTIONS(2963),
    [anon_sym_LT] = ACTIONS(2961),
    [anon_sym_GT] = ACTIONS(2961),
    [anon_sym_LBRACE] = ACTIONS(2963),
    [anon_sym_CARET_LBRACE] = ACTIONS(2963),
    [anon_sym_PLUS_EQ] = ACTIONS(2963),
    [anon_sym_DASH_EQ] = ACTIONS(2963),
    [anon_sym_STAR_EQ] = ACTIONS(2963),
    [anon_sym_SLASH_EQ] = ACTIONS(2963),
    [anon_sym_PERCENT_EQ] = ACTIONS(2963),
    [anon_sym_BANG_EQ] = ACTIONS(2961),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2963),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2963),
    [anon_sym_LT_EQ] = ACTIONS(2963),
    [anon_sym_GT_EQ] = ACTIONS(2963),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2963),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2963),
    [anon_sym_is] = ACTIONS(2961),
    [anon_sym_PLUS] = ACTIONS(2961),
    [anon_sym_DASH] = ACTIONS(2961),
    [anon_sym_STAR] = ACTIONS(2961),
    [anon_sym_SLASH] = ACTIONS(2961),
    [anon_sym_PERCENT] = ACTIONS(2961),
    [anon_sym_PLUS_PLUS] = ACTIONS(2963),
    [anon_sym_DASH_DASH] = ACTIONS(2963),
    [anon_sym_PIPE] = ACTIONS(2963),
    [anon_sym_CARET] = ACTIONS(2961),
    [anon_sym_LT_LT] = ACTIONS(2963),
    [anon_sym_GT_GT] = ACTIONS(2963),
    [anon_sym_borrowing] = ACTIONS(1197),
    [anon_sym_consuming] = ACTIONS(1197),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2963),
    [sym__conjunction_operator_custom] = ACTIONS(2963),
    [sym__disjunction_operator_custom] = ACTIONS(2963),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2963),
    [sym__eq_custom] = ACTIONS(2963),
    [sym__eq_eq_custom] = ACTIONS(2963),
    [sym__plus_then_ws] = ACTIONS(2963),
    [sym__minus_then_ws] = ACTIONS(2963),
    [sym__bang_custom] = ACTIONS(2963),
    [sym_where_keyword] = ACTIONS(2963),
    [sym_else] = ACTIONS(2963),
    [sym__as_custom] = ACTIONS(2963),
    [sym__as_quest_custom] = ACTIONS(2963),
    [sym__as_bang_custom] = ACTIONS(2963),
    [sym__custom_operator] = ACTIONS(2963),
  },
  [1699] = {
    [sym_simple_identifier] = STATE(2672),
    [sym__contextual_simple_identifier] = STATE(2787),
    [sym__simple_user_type] = STATE(2671),
    [sym_array_type] = STATE(2671),
    [sym_dictionary_type] = STATE(2671),
    [sym__parameter_ownership_modifier] = STATE(2787),
    [aux_sym_key_path_expression_repeat1] = STATE(2676),
    [anon_sym_BANG] = ACTIONS(2961),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1033),
    [aux_sym_simple_identifier_token2] = ACTIONS(1035),
    [aux_sym_simple_identifier_token3] = ACTIONS(1035),
    [aux_sym_simple_identifier_token4] = ACTIONS(1035),
    [anon_sym_actor] = ACTIONS(1033),
    [anon_sym_async] = ACTIONS(1033),
    [anon_sym_each] = ACTIONS(1033),
    [anon_sym_lazy] = ACTIONS(1033),
    [anon_sym_repeat] = ACTIONS(1033),
    [anon_sym_package] = ACTIONS(1033),
    [anon_sym_COMMA] = ACTIONS(2963),
    [anon_sym_COLON] = ACTIONS(2963),
    [anon_sym_LPAREN] = ACTIONS(2963),
    [anon_sym_LBRACK] = ACTIONS(5160),
    [anon_sym_DOT] = ACTIONS(5162),
    [anon_sym_QMARK] = ACTIONS(2961),
    [anon_sym_QMARK2] = ACTIONS(2963),
    [anon_sym_AMP] = ACTIONS(2963),
    [aux_sym_custom_operator_token1] = ACTIONS(2963),
    [anon_sym_LT] = ACTIONS(2961),
    [anon_sym_GT] = ACTIONS(2961),
    [anon_sym_LBRACE] = ACTIONS(2963),
    [anon_sym_CARET_LBRACE] = ACTIONS(2963),
    [anon_sym_PLUS_EQ] = ACTIONS(2963),
    [anon_sym_DASH_EQ] = ACTIONS(2963),
    [anon_sym_STAR_EQ] = ACTIONS(2963),
    [anon_sym_SLASH_EQ] = ACTIONS(2963),
    [anon_sym_PERCENT_EQ] = ACTIONS(2963),
    [anon_sym_BANG_EQ] = ACTIONS(2961),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2963),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2963),
    [anon_sym_LT_EQ] = ACTIONS(2963),
    [anon_sym_GT_EQ] = ACTIONS(2963),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2963),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2963),
    [anon_sym_is] = ACTIONS(2961),
    [anon_sym_PLUS] = ACTIONS(2961),
    [anon_sym_DASH] = ACTIONS(2961),
    [anon_sym_STAR] = ACTIONS(2961),
    [anon_sym_SLASH] = ACTIONS(2961),
    [anon_sym_PERCENT] = ACTIONS(2961),
    [anon_sym_PLUS_PLUS] = ACTIONS(2963),
    [anon_sym_DASH_DASH] = ACTIONS(2963),
    [anon_sym_PIPE] = ACTIONS(2963),
    [anon_sym_CARET] = ACTIONS(2961),
    [anon_sym_LT_LT] = ACTIONS(2963),
    [anon_sym_GT_GT] = ACTIONS(2963),
    [anon_sym_borrowing] = ACTIONS(1033),
    [anon_sym_consuming] = ACTIONS(1033),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2963),
    [sym__conjunction_operator_custom] = ACTIONS(2963),
    [sym__disjunction_operator_custom] = ACTIONS(2963),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2963),
    [sym__eq_custom] = ACTIONS(2963),
    [sym__eq_eq_custom] = ACTIONS(2963),
    [sym__plus_then_ws] = ACTIONS(2963),
    [sym__minus_then_ws] = ACTIONS(2963),
    [sym__bang_custom] = ACTIONS(2963),
    [sym_where_keyword] = ACTIONS(2963),
    [sym__as_custom] = ACTIONS(2963),
    [sym__as_quest_custom] = ACTIONS(2963),
    [sym__as_bang_custom] = ACTIONS(2963),
    [sym__custom_operator] = ACTIONS(2963),
  },
  [1700] = {
    [sym_simple_identifier] = STATE(3006),
    [sym__contextual_simple_identifier] = STATE(2967),
    [sym__simple_user_type] = STATE(2954),
    [sym_array_type] = STATE(2954),
    [sym_dictionary_type] = STATE(2954),
    [sym__parameter_ownership_modifier] = STATE(2967),
    [aux_sym_key_path_expression_repeat1] = STATE(2963),
    [anon_sym_BANG] = ACTIONS(2961),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(1295),
    [aux_sym_simple_identifier_token2] = ACTIONS(1297),
    [aux_sym_simple_identifier_token3] = ACTIONS(1297),
    [aux_sym_simple_identifier_token4] = ACTIONS(1297),
    [anon_sym_actor] = ACTIONS(1295),
    [anon_sym_async] = ACTIONS(1295),
    [anon_sym_each] = ACTIONS(1295),
    [anon_sym_lazy] = ACTIONS(1295),
    [anon_sym_repeat] = ACTIONS(1295),
    [anon_sym_package] = ACTIONS(1295),
    [anon_sym_COMMA] = ACTIONS(2963),
    [anon_sym_LPAREN] = ACTIONS(2963),
    [anon_sym_LBRACK] = ACTIONS(5164),
    [anon_sym_DOT] = ACTIONS(5166),
    [anon_sym_QMARK] = ACTIONS(2961),
    [anon_sym_QMARK2] = ACTIONS(2963),
    [anon_sym_AMP] = ACTIONS(2963),
    [aux_sym_custom_operator_token1] = ACTIONS(2963),
    [anon_sym_LT] = ACTIONS(2961),
    [anon_sym_GT] = ACTIONS(2961),
    [anon_sym_LBRACE] = ACTIONS(2963),
    [anon_sym_CARET_LBRACE] = ACTIONS(2963),
    [anon_sym_PLUS_EQ] = ACTIONS(2963),
    [anon_sym_DASH_EQ] = ACTIONS(2963),
    [anon_sym_STAR_EQ] = ACTIONS(2963),
    [anon_sym_SLASH_EQ] = ACTIONS(2963),
    [anon_sym_PERCENT_EQ] = ACTIONS(2963),
    [anon_sym_BANG_EQ] = ACTIONS(2961),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2963),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2963),
    [anon_sym_LT_EQ] = ACTIONS(2963),
    [anon_sym_GT_EQ] = ACTIONS(2963),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2963),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2963),
    [anon_sym_is] = ACTIONS(2961),
    [anon_sym_PLUS] = ACTIONS(2961),
    [anon_sym_DASH] = ACTIONS(2961),
    [anon_sym_STAR] = ACTIONS(2961),
    [anon_sym_SLASH] = ACTIONS(2961),
    [anon_sym_PERCENT] = ACTIONS(2961),
    [anon_sym_PLUS_PLUS] = ACTIONS(2963),
    [anon_sym_DASH_DASH] = ACTIONS(2963),
    [anon_sym_PIPE] = ACTIONS(2963),
    [anon_sym_CARET] = ACTIONS(2961),
    [anon_sym_LT_LT] = ACTIONS(2963),
    [anon_sym_GT_GT] = ACTIONS(2963),
    [anon_sym_borrowing] = ACTIONS(1295),
    [anon_sym_consuming] = ACTIONS(1295),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2963),
    [sym__conjunction_operator_custom] = ACTIONS(2963),
    [sym__disjunction_operator_custom] = ACTIONS(2963),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2963),
    [sym__eq_custom] = ACTIONS(2963),
    [sym__eq_eq_custom] = ACTIONS(2963),
    [sym__plus_then_ws] = ACTIONS(2963),
    [sym__minus_then_ws] = ACTIONS(2963),
    [sym__bang_custom] = ACTIONS(2963),
    [sym_else] = ACTIONS(2963),
    [sym__as_custom] = ACTIONS(2963),
    [sym__as_quest_custom] = ACTIONS(2963),
    [sym__as_bang_custom] = ACTIONS(2963),
    [sym__custom_operator] = ACTIONS(2963),
  },
  [1701] = {
    [sym_simple_identifier] = STATE(8725),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [aux_sym__fn_call_lambda_arguments_repeat1] = STATE(1703),
    [ts_builtin_sym_end] = ACTIONS(3026),
    [anon_sym_BANG] = ACTIONS(3021),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3012),
    [aux_sym_simple_identifier_token2] = ACTIONS(3014),
    [aux_sym_simple_identifier_token3] = ACTIONS(3014),
    [aux_sym_simple_identifier_token4] = ACTIONS(3014),
    [anon_sym_actor] = ACTIONS(3012),
    [anon_sym_async] = ACTIONS(3012),
    [anon_sym_each] = ACTIONS(3012),
    [anon_sym_lazy] = ACTIONS(3012),
    [anon_sym_repeat] = ACTIONS(3012),
    [anon_sym_package] = ACTIONS(3012),
    [anon_sym_COMMA] = ACTIONS(3026),
    [anon_sym_LPAREN] = ACTIONS(3026),
    [anon_sym_LBRACK] = ACTIONS(3026),
    [anon_sym_QMARK] = ACTIONS(3021),
    [anon_sym_QMARK2] = ACTIONS(3026),
    [anon_sym_AMP] = ACTIONS(3026),
    [aux_sym_custom_operator_token1] = ACTIONS(3026),
    [anon_sym_LT] = ACTIONS(3021),
    [anon_sym_GT] = ACTIONS(3021),
    [anon_sym_LBRACE] = ACTIONS(3026),
    [anon_sym_CARET_LBRACE] = ACTIONS(3026),
    [anon_sym_RBRACE] = ACTIONS(3026),
    [anon_sym_PLUS_EQ] = ACTIONS(3026),
    [anon_sym_DASH_EQ] = ACTIONS(3026),
    [anon_sym_STAR_EQ] = ACTIONS(3026),
    [anon_sym_SLASH_EQ] = ACTIONS(3026),
    [anon_sym_PERCENT_EQ] = ACTIONS(3026),
    [anon_sym_BANG_EQ] = ACTIONS(3021),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3026),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3026),
    [anon_sym_LT_EQ] = ACTIONS(3026),
    [anon_sym_GT_EQ] = ACTIONS(3026),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3026),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3026),
    [anon_sym_is] = ACTIONS(3021),
    [anon_sym_PLUS] = ACTIONS(3021),
    [anon_sym_DASH] = ACTIONS(3021),
    [anon_sym_STAR] = ACTIONS(3021),
    [anon_sym_SLASH] = ACTIONS(3021),
    [anon_sym_PERCENT] = ACTIONS(3021),
    [anon_sym_PLUS_PLUS] = ACTIONS(3026),
    [anon_sym_DASH_DASH] = ACTIONS(3026),
    [anon_sym_PIPE] = ACTIONS(3026),
    [anon_sym_CARET] = ACTIONS(3021),
    [anon_sym_LT_LT] = ACTIONS(3026),
    [anon_sym_GT_GT] = ACTIONS(3026),
    [anon_sym_borrowing] = ACTIONS(3012),
    [anon_sym_consuming] = ACTIONS(3012),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3026),
    [sym__explicit_semi] = ACTIONS(3026),
    [sym__dot_custom] = ACTIONS(3026),
    [sym__conjunction_operator_custom] = ACTIONS(3026),
    [sym__disjunction_operator_custom] = ACTIONS(3026),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3026),
    [sym__eq_custom] = ACTIONS(3026),
    [sym__eq_eq_custom] = ACTIONS(3026),
    [sym__plus_then_ws] = ACTIONS(3026),
    [sym__minus_then_ws] = ACTIONS(3026),
    [sym__bang_custom] = ACTIONS(3026),
    [sym_where_keyword] = ACTIONS(3026),
    [sym__as_custom] = ACTIONS(3026),
    [sym__as_quest_custom] = ACTIONS(3026),
    [sym__as_bang_custom] = ACTIONS(3026),
    [sym__custom_operator] = ACTIONS(3026),
  },
  [1702] = {
    [sym_simple_identifier] = STATE(8725),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [aux_sym__fn_call_lambda_arguments_repeat1] = STATE(1701),
    [ts_builtin_sym_end] = ACTIONS(3019),
    [anon_sym_BANG] = ACTIONS(3010),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3012),
    [aux_sym_simple_identifier_token2] = ACTIONS(3014),
    [aux_sym_simple_identifier_token3] = ACTIONS(3014),
    [aux_sym_simple_identifier_token4] = ACTIONS(3014),
    [anon_sym_actor] = ACTIONS(3012),
    [anon_sym_async] = ACTIONS(3012),
    [anon_sym_each] = ACTIONS(3012),
    [anon_sym_lazy] = ACTIONS(3012),
    [anon_sym_repeat] = ACTIONS(3012),
    [anon_sym_package] = ACTIONS(3012),
    [anon_sym_COMMA] = ACTIONS(3019),
    [anon_sym_LPAREN] = ACTIONS(3019),
    [anon_sym_LBRACK] = ACTIONS(3019),
    [anon_sym_QMARK] = ACTIONS(3010),
    [anon_sym_QMARK2] = ACTIONS(3019),
    [anon_sym_AMP] = ACTIONS(3019),
    [aux_sym_custom_operator_token1] = ACTIONS(3019),
    [anon_sym_LT] = ACTIONS(3010),
    [anon_sym_GT] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(3019),
    [anon_sym_CARET_LBRACE] = ACTIONS(3019),
    [anon_sym_RBRACE] = ACTIONS(3019),
    [anon_sym_PLUS_EQ] = ACTIONS(3019),
    [anon_sym_DASH_EQ] = ACTIONS(3019),
    [anon_sym_STAR_EQ] = ACTIONS(3019),
    [anon_sym_SLASH_EQ] = ACTIONS(3019),
    [anon_sym_PERCENT_EQ] = ACTIONS(3019),
    [anon_sym_BANG_EQ] = ACTIONS(3010),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3019),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3019),
    [anon_sym_LT_EQ] = ACTIONS(3019),
    [anon_sym_GT_EQ] = ACTIONS(3019),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3019),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3019),
    [anon_sym_is] = ACTIONS(3010),
    [anon_sym_PLUS] = ACTIONS(3010),
    [anon_sym_DASH] = ACTIONS(3010),
    [anon_sym_STAR] = ACTIONS(3010),
    [anon_sym_SLASH] = ACTIONS(3010),
    [anon_sym_PERCENT] = ACTIONS(3010),
    [anon_sym_PLUS_PLUS] = ACTIONS(3019),
    [anon_sym_DASH_DASH] = ACTIONS(3019),
    [anon_sym_PIPE] = ACTIONS(3019),
    [anon_sym_CARET] = ACTIONS(3010),
    [anon_sym_LT_LT] = ACTIONS(3019),
    [anon_sym_GT_GT] = ACTIONS(3019),
    [anon_sym_borrowing] = ACTIONS(3012),
    [anon_sym_consuming] = ACTIONS(3012),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3019),
    [sym__explicit_semi] = ACTIONS(3019),
    [sym__dot_custom] = ACTIONS(3019),
    [sym__conjunction_operator_custom] = ACTIONS(3019),
    [sym__disjunction_operator_custom] = ACTIONS(3019),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3019),
    [sym__eq_custom] = ACTIONS(3019),
    [sym__eq_eq_custom] = ACTIONS(3019),
    [sym__plus_then_ws] = ACTIONS(3019),
    [sym__minus_then_ws] = ACTIONS(3019),
    [sym__bang_custom] = ACTIONS(3019),
    [sym_where_keyword] = ACTIONS(3019),
    [sym__as_custom] = ACTIONS(3019),
    [sym__as_quest_custom] = ACTIONS(3019),
    [sym__as_bang_custom] = ACTIONS(3019),
    [sym__custom_operator] = ACTIONS(3019),
  },
  [1703] = {
    [sym_simple_identifier] = STATE(8725),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [aux_sym__fn_call_lambda_arguments_repeat1] = STATE(1703),
    [ts_builtin_sym_end] = ACTIONS(2989),
    [anon_sym_BANG] = ACTIONS(2981),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2983),
    [aux_sym_simple_identifier_token2] = ACTIONS(2986),
    [aux_sym_simple_identifier_token3] = ACTIONS(2986),
    [aux_sym_simple_identifier_token4] = ACTIONS(2986),
    [anon_sym_actor] = ACTIONS(2983),
    [anon_sym_async] = ACTIONS(2983),
    [anon_sym_each] = ACTIONS(2983),
    [anon_sym_lazy] = ACTIONS(2983),
    [anon_sym_repeat] = ACTIONS(2983),
    [anon_sym_package] = ACTIONS(2983),
    [anon_sym_COMMA] = ACTIONS(2989),
    [anon_sym_LPAREN] = ACTIONS(2989),
    [anon_sym_LBRACK] = ACTIONS(2989),
    [anon_sym_QMARK] = ACTIONS(2981),
    [anon_sym_QMARK2] = ACTIONS(2989),
    [anon_sym_AMP] = ACTIONS(2989),
    [aux_sym_custom_operator_token1] = ACTIONS(2989),
    [anon_sym_LT] = ACTIONS(2981),
    [anon_sym_GT] = ACTIONS(2981),
    [anon_sym_LBRACE] = ACTIONS(2989),
    [anon_sym_CARET_LBRACE] = ACTIONS(2989),
    [anon_sym_RBRACE] = ACTIONS(2989),
    [anon_sym_PLUS_EQ] = ACTIONS(2989),
    [anon_sym_DASH_EQ] = ACTIONS(2989),
    [anon_sym_STAR_EQ] = ACTIONS(2989),
    [anon_sym_SLASH_EQ] = ACTIONS(2989),
    [anon_sym_PERCENT_EQ] = ACTIONS(2989),
    [anon_sym_BANG_EQ] = ACTIONS(2981),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2989),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2989),
    [anon_sym_LT_EQ] = ACTIONS(2989),
    [anon_sym_GT_EQ] = ACTIONS(2989),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2989),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2989),
    [anon_sym_is] = ACTIONS(2981),
    [anon_sym_PLUS] = ACTIONS(2981),
    [anon_sym_DASH] = ACTIONS(2981),
    [anon_sym_STAR] = ACTIONS(2981),
    [anon_sym_SLASH] = ACTIONS(2981),
    [anon_sym_PERCENT] = ACTIONS(2981),
    [anon_sym_PLUS_PLUS] = ACTIONS(2989),
    [anon_sym_DASH_DASH] = ACTIONS(2989),
    [anon_sym_PIPE] = ACTIONS(2989),
    [anon_sym_CARET] = ACTIONS(2981),
    [anon_sym_LT_LT] = ACTIONS(2989),
    [anon_sym_GT_GT] = ACTIONS(2989),
    [anon_sym_borrowing] = ACTIONS(2983),
    [anon_sym_consuming] = ACTIONS(2983),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2989),
    [sym__explicit_semi] = ACTIONS(2989),
    [sym__dot_custom] = ACTIONS(2989),
    [sym__conjunction_operator_custom] = ACTIONS(2989),
    [sym__disjunction_operator_custom] = ACTIONS(2989),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2989),
    [sym__eq_custom] = ACTIONS(2989),
    [sym__eq_eq_custom] = ACTIONS(2989),
    [sym__plus_then_ws] = ACTIONS(2989),
    [sym__minus_then_ws] = ACTIONS(2989),
    [sym__bang_custom] = ACTIONS(2989),
    [sym_where_keyword] = ACTIONS(2989),
    [sym__as_custom] = ACTIONS(2989),
    [sym__as_quest_custom] = ACTIONS(2989),
    [sym__as_bang_custom] = ACTIONS(2989),
    [sym__custom_operator] = ACTIONS(2989),
  },
  [1704] = {
    [anon_sym_BANG] = ACTIONS(3202),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3202),
    [aux_sym_simple_identifier_token2] = ACTIONS(3204),
    [aux_sym_simple_identifier_token3] = ACTIONS(3204),
    [aux_sym_simple_identifier_token4] = ACTIONS(3204),
    [anon_sym_actor] = ACTIONS(3202),
    [anon_sym_async] = ACTIONS(3202),
    [anon_sym_each] = ACTIONS(3202),
    [anon_sym_lazy] = ACTIONS(3202),
    [anon_sym_repeat] = ACTIONS(3202),
    [anon_sym_package] = ACTIONS(3202),
    [anon_sym_COMMA] = ACTIONS(3204),
    [anon_sym_COLON] = ACTIONS(3204),
    [anon_sym_LPAREN] = ACTIONS(3204),
    [anon_sym_LBRACK] = ACTIONS(3204),
    [anon_sym_QMARK] = ACTIONS(3202),
    [anon_sym_QMARK2] = ACTIONS(3204),
    [anon_sym_AMP] = ACTIONS(3204),
    [aux_sym_custom_operator_token1] = ACTIONS(3204),
    [anon_sym_LT] = ACTIONS(3202),
    [anon_sym_GT] = ACTIONS(3202),
    [anon_sym_LBRACE] = ACTIONS(3204),
    [anon_sym_CARET_LBRACE] = ACTIONS(3204),
    [anon_sym_RBRACE] = ACTIONS(3204),
    [anon_sym_in] = ACTIONS(3202),
    [anon_sym_PLUS_EQ] = ACTIONS(3204),
    [anon_sym_DASH_EQ] = ACTIONS(3204),
    [anon_sym_STAR_EQ] = ACTIONS(3204),
    [anon_sym_SLASH_EQ] = ACTIONS(3204),
    [anon_sym_PERCENT_EQ] = ACTIONS(3204),
    [anon_sym_BANG_EQ] = ACTIONS(3202),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3204),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3204),
    [anon_sym_LT_EQ] = ACTIONS(3204),
    [anon_sym_GT_EQ] = ACTIONS(3204),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3204),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3204),
    [anon_sym_is] = ACTIONS(3202),
    [anon_sym_PLUS] = ACTIONS(3202),
    [anon_sym_DASH] = ACTIONS(3202),
    [anon_sym_STAR] = ACTIONS(3202),
    [anon_sym_SLASH] = ACTIONS(3202),
    [anon_sym_PERCENT] = ACTIONS(3202),
    [anon_sym_PLUS_PLUS] = ACTIONS(3204),
    [anon_sym_DASH_DASH] = ACTIONS(3204),
    [anon_sym_PIPE] = ACTIONS(3204),
    [anon_sym_CARET] = ACTIONS(3202),
    [anon_sym_LT_LT] = ACTIONS(3204),
    [anon_sym_GT_GT] = ACTIONS(3204),
    [anon_sym_borrowing] = ACTIONS(3202),
    [anon_sym_consuming] = ACTIONS(3202),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3204),
    [sym__explicit_semi] = ACTIONS(3204),
    [sym__arrow_operator_custom] = ACTIONS(3204),
    [sym__dot_custom] = ACTIONS(3204),
    [sym__conjunction_operator_custom] = ACTIONS(3204),
    [sym__disjunction_operator_custom] = ACTIONS(3204),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3204),
    [sym__eq_custom] = ACTIONS(3204),
    [sym__eq_eq_custom] = ACTIONS(3204),
    [sym__plus_then_ws] = ACTIONS(3204),
    [sym__minus_then_ws] = ACTIONS(3204),
    [sym__bang_custom] = ACTIONS(3204),
    [sym__throws_keyword] = ACTIONS(3204),
    [sym__rethrows_keyword] = ACTIONS(3204),
    [sym__as_custom] = ACTIONS(3204),
    [sym__as_quest_custom] = ACTIONS(3204),
    [sym__as_bang_custom] = ACTIONS(3204),
    [sym__async_keyword_custom] = ACTIONS(3204),
    [sym__custom_operator] = ACTIONS(3204),
  },
  [1705] = {
    [sym__immediate_quest] = STATE(1741),
    [sym__arrow_operator] = STATE(4193),
    [sym__async_keyword] = STATE(6980),
    [sym_throws] = STATE(8541),
    [aux_sym_optional_type_repeat1] = STATE(1741),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3000),
    [anon_sym_async] = ACTIONS(3000),
    [anon_sym_lazy] = ACTIONS(3000),
    [anon_sym_package] = ACTIONS(3000),
    [anon_sym_COMMA] = ACTIONS(3000),
    [anon_sym_COLON] = ACTIONS(3000),
    [anon_sym_DOT] = ACTIONS(3000),
    [anon_sym_QMARK] = ACTIONS(2998),
    [anon_sym_QMARK2] = ACTIONS(5168),
    [anon_sym_AMP] = ACTIONS(3000),
    [anon_sym_LBRACE] = ACTIONS(3000),
    [anon_sym_RBRACE] = ACTIONS(3000),
    [anon_sym_case] = ACTIONS(3000),
    [anon_sym_import] = ACTIONS(3000),
    [anon_sym_typealias] = ACTIONS(3000),
    [anon_sym_struct] = ACTIONS(3000),
    [anon_sym_class] = ACTIONS(3000),
    [anon_sym_enum] = ACTIONS(3000),
    [anon_sym_protocol] = ACTIONS(3000),
    [anon_sym_let] = ACTIONS(3000),
    [anon_sym_var] = ACTIONS(3000),
    [anon_sym_func] = ACTIONS(3000),
    [anon_sym_extension] = ACTIONS(3000),
    [anon_sym_indirect] = ACTIONS(3000),
    [anon_sym_init] = ACTIONS(3000),
    [anon_sym_deinit] = ACTIONS(3000),
    [anon_sym_subscript] = ACTIONS(3000),
    [anon_sym_prefix] = ACTIONS(3000),
    [anon_sym_infix] = ACTIONS(3000),
    [anon_sym_postfix] = ACTIONS(3000),
    [anon_sym_precedencegroup] = ACTIONS(3000),
    [anon_sym_associatedtype] = ACTIONS(3000),
    [anon_sym_AT] = ACTIONS(2998),
    [anon_sym_override] = ACTIONS(3000),
    [anon_sym_convenience] = ACTIONS(3000),
    [anon_sym_required] = ACTIONS(3000),
    [anon_sym_nonisolated] = ACTIONS(3000),
    [anon_sym_public] = ACTIONS(3000),
    [anon_sym_private] = ACTIONS(3000),
    [anon_sym_internal] = ACTIONS(3000),
    [anon_sym_fileprivate] = ACTIONS(3000),
    [anon_sym_open] = ACTIONS(3000),
    [anon_sym_mutating] = ACTIONS(3000),
    [anon_sym_nonmutating] = ACTIONS(3000),
    [anon_sym_static] = ACTIONS(3000),
    [anon_sym_dynamic] = ACTIONS(3000),
    [anon_sym_optional] = ACTIONS(3000),
    [anon_sym_distributed] = ACTIONS(3000),
    [anon_sym_final] = ACTIONS(3000),
    [anon_sym_inout] = ACTIONS(3000),
    [anon_sym_ATescaping] = ACTIONS(3000),
    [anon_sym_ATautoclosure] = ACTIONS(3000),
    [anon_sym_weak] = ACTIONS(3000),
    [anon_sym_unowned] = ACTIONS(2998),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3000),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3000),
    [anon_sym_borrowing] = ACTIONS(3000),
    [anon_sym_consuming] = ACTIONS(3000),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(5170),
    [sym__eq_custom] = ACTIONS(3000),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym_where_keyword] = ACTIONS(3000),
    [sym__as_custom] = ACTIONS(3000),
    [sym__async_keyword_custom] = ACTIONS(5172),
  },
  [1706] = {
    [sym_simple_identifier] = STATE(8736),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [aux_sym__fn_call_lambda_arguments_repeat1] = STATE(1709),
    [ts_builtin_sym_end] = ACTIONS(3019),
    [anon_sym_BANG] = ACTIONS(3010),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3012),
    [aux_sym_simple_identifier_token2] = ACTIONS(3014),
    [aux_sym_simple_identifier_token3] = ACTIONS(3014),
    [aux_sym_simple_identifier_token4] = ACTIONS(3014),
    [anon_sym_actor] = ACTIONS(3012),
    [anon_sym_async] = ACTIONS(3012),
    [anon_sym_each] = ACTIONS(3012),
    [anon_sym_lazy] = ACTIONS(3012),
    [anon_sym_repeat] = ACTIONS(3012),
    [anon_sym_package] = ACTIONS(3012),
    [anon_sym_COMMA] = ACTIONS(3019),
    [anon_sym_LPAREN] = ACTIONS(3019),
    [anon_sym_LBRACK] = ACTIONS(3019),
    [anon_sym_QMARK] = ACTIONS(3010),
    [anon_sym_QMARK2] = ACTIONS(3019),
    [anon_sym_AMP] = ACTIONS(3019),
    [aux_sym_custom_operator_token1] = ACTIONS(3019),
    [anon_sym_LT] = ACTIONS(3010),
    [anon_sym_GT] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(3019),
    [anon_sym_CARET_LBRACE] = ACTIONS(3019),
    [anon_sym_RBRACE] = ACTIONS(3019),
    [anon_sym_PLUS_EQ] = ACTIONS(3019),
    [anon_sym_DASH_EQ] = ACTIONS(3019),
    [anon_sym_STAR_EQ] = ACTIONS(3019),
    [anon_sym_SLASH_EQ] = ACTIONS(3019),
    [anon_sym_PERCENT_EQ] = ACTIONS(3019),
    [anon_sym_BANG_EQ] = ACTIONS(3010),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3019),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3019),
    [anon_sym_LT_EQ] = ACTIONS(3019),
    [anon_sym_GT_EQ] = ACTIONS(3019),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3019),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3019),
    [anon_sym_is] = ACTIONS(3010),
    [anon_sym_PLUS] = ACTIONS(3010),
    [anon_sym_DASH] = ACTIONS(3010),
    [anon_sym_STAR] = ACTIONS(3010),
    [anon_sym_SLASH] = ACTIONS(3010),
    [anon_sym_PERCENT] = ACTIONS(3010),
    [anon_sym_PLUS_PLUS] = ACTIONS(3019),
    [anon_sym_DASH_DASH] = ACTIONS(3019),
    [anon_sym_PIPE] = ACTIONS(3019),
    [anon_sym_CARET] = ACTIONS(3010),
    [anon_sym_LT_LT] = ACTIONS(3019),
    [anon_sym_GT_GT] = ACTIONS(3019),
    [anon_sym_borrowing] = ACTIONS(3012),
    [anon_sym_consuming] = ACTIONS(3012),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3019),
    [sym__explicit_semi] = ACTIONS(3019),
    [sym__dot_custom] = ACTIONS(3019),
    [sym__conjunction_operator_custom] = ACTIONS(3019),
    [sym__disjunction_operator_custom] = ACTIONS(3019),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3019),
    [sym__eq_custom] = ACTIONS(3019),
    [sym__eq_eq_custom] = ACTIONS(3019),
    [sym__plus_then_ws] = ACTIONS(3019),
    [sym__minus_then_ws] = ACTIONS(3019),
    [sym__bang_custom] = ACTIONS(3019),
    [sym__as_custom] = ACTIONS(3019),
    [sym__as_quest_custom] = ACTIONS(3019),
    [sym__as_bang_custom] = ACTIONS(3019),
    [sym__custom_operator] = ACTIONS(3019),
  },
  [1707] = {
    [sym_simple_identifier] = STATE(8736),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [aux_sym__fn_call_lambda_arguments_repeat1] = STATE(1707),
    [ts_builtin_sym_end] = ACTIONS(2989),
    [anon_sym_BANG] = ACTIONS(2981),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2983),
    [aux_sym_simple_identifier_token2] = ACTIONS(2986),
    [aux_sym_simple_identifier_token3] = ACTIONS(2986),
    [aux_sym_simple_identifier_token4] = ACTIONS(2986),
    [anon_sym_actor] = ACTIONS(2983),
    [anon_sym_async] = ACTIONS(2983),
    [anon_sym_each] = ACTIONS(2983),
    [anon_sym_lazy] = ACTIONS(2983),
    [anon_sym_repeat] = ACTIONS(2983),
    [anon_sym_package] = ACTIONS(2983),
    [anon_sym_COMMA] = ACTIONS(2989),
    [anon_sym_LPAREN] = ACTIONS(2989),
    [anon_sym_LBRACK] = ACTIONS(2989),
    [anon_sym_QMARK] = ACTIONS(2981),
    [anon_sym_QMARK2] = ACTIONS(2989),
    [anon_sym_AMP] = ACTIONS(2989),
    [aux_sym_custom_operator_token1] = ACTIONS(2989),
    [anon_sym_LT] = ACTIONS(2981),
    [anon_sym_GT] = ACTIONS(2981),
    [anon_sym_LBRACE] = ACTIONS(2989),
    [anon_sym_CARET_LBRACE] = ACTIONS(2989),
    [anon_sym_RBRACE] = ACTIONS(2989),
    [anon_sym_PLUS_EQ] = ACTIONS(2989),
    [anon_sym_DASH_EQ] = ACTIONS(2989),
    [anon_sym_STAR_EQ] = ACTIONS(2989),
    [anon_sym_SLASH_EQ] = ACTIONS(2989),
    [anon_sym_PERCENT_EQ] = ACTIONS(2989),
    [anon_sym_BANG_EQ] = ACTIONS(2981),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2989),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2989),
    [anon_sym_LT_EQ] = ACTIONS(2989),
    [anon_sym_GT_EQ] = ACTIONS(2989),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2989),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2989),
    [anon_sym_is] = ACTIONS(2981),
    [anon_sym_PLUS] = ACTIONS(2981),
    [anon_sym_DASH] = ACTIONS(2981),
    [anon_sym_STAR] = ACTIONS(2981),
    [anon_sym_SLASH] = ACTIONS(2981),
    [anon_sym_PERCENT] = ACTIONS(2981),
    [anon_sym_PLUS_PLUS] = ACTIONS(2989),
    [anon_sym_DASH_DASH] = ACTIONS(2989),
    [anon_sym_PIPE] = ACTIONS(2989),
    [anon_sym_CARET] = ACTIONS(2981),
    [anon_sym_LT_LT] = ACTIONS(2989),
    [anon_sym_GT_GT] = ACTIONS(2989),
    [anon_sym_borrowing] = ACTIONS(2983),
    [anon_sym_consuming] = ACTIONS(2983),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(2989),
    [sym__explicit_semi] = ACTIONS(2989),
    [sym__dot_custom] = ACTIONS(2989),
    [sym__conjunction_operator_custom] = ACTIONS(2989),
    [sym__disjunction_operator_custom] = ACTIONS(2989),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2989),
    [sym__eq_custom] = ACTIONS(2989),
    [sym__eq_eq_custom] = ACTIONS(2989),
    [sym__plus_then_ws] = ACTIONS(2989),
    [sym__minus_then_ws] = ACTIONS(2989),
    [sym__bang_custom] = ACTIONS(2989),
    [sym__as_custom] = ACTIONS(2989),
    [sym__as_quest_custom] = ACTIONS(2989),
    [sym__as_bang_custom] = ACTIONS(2989),
    [sym__custom_operator] = ACTIONS(2989),
  },
  [1708] = {
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [anon_sym_actor] = ACTIONS(3211),
    [anon_sym_async] = ACTIONS(3211),
    [anon_sym_lazy] = ACTIONS(3211),
    [anon_sym_LPAREN] = ACTIONS(617),
    [anon_sym_LBRACK] = ACTIONS(617),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(617),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(617),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_typealias] = ACTIONS(3211),
    [anon_sym_struct] = ACTIONS(3211),
    [anon_sym_class] = ACTIONS(3211),
    [anon_sym_enum] = ACTIONS(3211),
    [anon_sym_let] = ACTIONS(3211),
    [anon_sym_var] = ACTIONS(3211),
    [anon_sym_func] = ACTIONS(3211),
    [anon_sym_extension] = ACTIONS(3211),
    [anon_sym_indirect] = ACTIONS(3211),
    [anon_sym_AT] = ACTIONS(3211),
    [anon_sym_final] = ACTIONS(3211),
    [anon_sym_weak] = ACTIONS(3211),
    [anon_sym_unowned] = ACTIONS(3209),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3211),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3211),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [1709] = {
    [sym_simple_identifier] = STATE(8736),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [aux_sym__fn_call_lambda_arguments_repeat1] = STATE(1707),
    [ts_builtin_sym_end] = ACTIONS(3026),
    [anon_sym_BANG] = ACTIONS(3021),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3012),
    [aux_sym_simple_identifier_token2] = ACTIONS(3014),
    [aux_sym_simple_identifier_token3] = ACTIONS(3014),
    [aux_sym_simple_identifier_token4] = ACTIONS(3014),
    [anon_sym_actor] = ACTIONS(3012),
    [anon_sym_async] = ACTIONS(3012),
    [anon_sym_each] = ACTIONS(3012),
    [anon_sym_lazy] = ACTIONS(3012),
    [anon_sym_repeat] = ACTIONS(3012),
    [anon_sym_package] = ACTIONS(3012),
    [anon_sym_COMMA] = ACTIONS(3026),
    [anon_sym_LPAREN] = ACTIONS(3026),
    [anon_sym_LBRACK] = ACTIONS(3026),
    [anon_sym_QMARK] = ACTIONS(3021),
    [anon_sym_QMARK2] = ACTIONS(3026),
    [anon_sym_AMP] = ACTIONS(3026),
    [aux_sym_custom_operator_token1] = ACTIONS(3026),
    [anon_sym_LT] = ACTIONS(3021),
    [anon_sym_GT] = ACTIONS(3021),
    [anon_sym_LBRACE] = ACTIONS(3026),
    [anon_sym_CARET_LBRACE] = ACTIONS(3026),
    [anon_sym_RBRACE] = ACTIONS(3026),
    [anon_sym_PLUS_EQ] = ACTIONS(3026),
    [anon_sym_DASH_EQ] = ACTIONS(3026),
    [anon_sym_STAR_EQ] = ACTIONS(3026),
    [anon_sym_SLASH_EQ] = ACTIONS(3026),
    [anon_sym_PERCENT_EQ] = ACTIONS(3026),
    [anon_sym_BANG_EQ] = ACTIONS(3021),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3026),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3026),
    [anon_sym_LT_EQ] = ACTIONS(3026),
    [anon_sym_GT_EQ] = ACTIONS(3026),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3026),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3026),
    [anon_sym_is] = ACTIONS(3021),
    [anon_sym_PLUS] = ACTIONS(3021),
    [anon_sym_DASH] = ACTIONS(3021),
    [anon_sym_STAR] = ACTIONS(3021),
    [anon_sym_SLASH] = ACTIONS(3021),
    [anon_sym_PERCENT] = ACTIONS(3021),
    [anon_sym_PLUS_PLUS] = ACTIONS(3026),
    [anon_sym_DASH_DASH] = ACTIONS(3026),
    [anon_sym_PIPE] = ACTIONS(3026),
    [anon_sym_CARET] = ACTIONS(3021),
    [anon_sym_LT_LT] = ACTIONS(3026),
    [anon_sym_GT_GT] = ACTIONS(3026),
    [anon_sym_borrowing] = ACTIONS(3012),
    [anon_sym_consuming] = ACTIONS(3012),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3026),
    [sym__explicit_semi] = ACTIONS(3026),
    [sym__dot_custom] = ACTIONS(3026),
    [sym__conjunction_operator_custom] = ACTIONS(3026),
    [sym__disjunction_operator_custom] = ACTIONS(3026),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3026),
    [sym__eq_custom] = ACTIONS(3026),
    [sym__eq_eq_custom] = ACTIONS(3026),
    [sym__plus_then_ws] = ACTIONS(3026),
    [sym__minus_then_ws] = ACTIONS(3026),
    [sym__bang_custom] = ACTIONS(3026),
    [sym__as_custom] = ACTIONS(3026),
    [sym__as_quest_custom] = ACTIONS(3026),
    [sym__as_bang_custom] = ACTIONS(3026),
    [sym__custom_operator] = ACTIONS(3026),
  },
  [1710] = {
    [sym__arrow_operator] = STATE(4193),
    [sym__async_keyword] = STATE(6980),
    [sym_throws] = STATE(8541),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1795),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3055),
    [anon_sym_async] = ACTIONS(3055),
    [anon_sym_lazy] = ACTIONS(3055),
    [anon_sym_package] = ACTIONS(3055),
    [anon_sym_COMMA] = ACTIONS(3055),
    [anon_sym_COLON] = ACTIONS(3055),
    [anon_sym_DOT] = ACTIONS(5174),
    [anon_sym_QMARK] = ACTIONS(3055),
    [anon_sym_AMP] = ACTIONS(5176),
    [anon_sym_LBRACE] = ACTIONS(3055),
    [anon_sym_RBRACE] = ACTIONS(3055),
    [anon_sym_case] = ACTIONS(3055),
    [anon_sym_import] = ACTIONS(3055),
    [anon_sym_typealias] = ACTIONS(3055),
    [anon_sym_struct] = ACTIONS(3055),
    [anon_sym_class] = ACTIONS(3055),
    [anon_sym_enum] = ACTIONS(3055),
    [anon_sym_protocol] = ACTIONS(3055),
    [anon_sym_let] = ACTIONS(3055),
    [anon_sym_var] = ACTIONS(3055),
    [anon_sym_func] = ACTIONS(3055),
    [anon_sym_extension] = ACTIONS(3055),
    [anon_sym_indirect] = ACTIONS(3055),
    [anon_sym_init] = ACTIONS(3055),
    [anon_sym_deinit] = ACTIONS(3055),
    [anon_sym_subscript] = ACTIONS(3055),
    [anon_sym_prefix] = ACTIONS(3055),
    [anon_sym_infix] = ACTIONS(3055),
    [anon_sym_postfix] = ACTIONS(3055),
    [anon_sym_precedencegroup] = ACTIONS(3055),
    [anon_sym_associatedtype] = ACTIONS(3055),
    [anon_sym_AT] = ACTIONS(3053),
    [anon_sym_override] = ACTIONS(3055),
    [anon_sym_convenience] = ACTIONS(3055),
    [anon_sym_required] = ACTIONS(3055),
    [anon_sym_nonisolated] = ACTIONS(3055),
    [anon_sym_public] = ACTIONS(3055),
    [anon_sym_private] = ACTIONS(3055),
    [anon_sym_internal] = ACTIONS(3055),
    [anon_sym_fileprivate] = ACTIONS(3055),
    [anon_sym_open] = ACTIONS(3055),
    [anon_sym_mutating] = ACTIONS(3055),
    [anon_sym_nonmutating] = ACTIONS(3055),
    [anon_sym_static] = ACTIONS(3055),
    [anon_sym_dynamic] = ACTIONS(3055),
    [anon_sym_optional] = ACTIONS(3055),
    [anon_sym_distributed] = ACTIONS(3055),
    [anon_sym_final] = ACTIONS(3055),
    [anon_sym_inout] = ACTIONS(3055),
    [anon_sym_ATescaping] = ACTIONS(3055),
    [anon_sym_ATautoclosure] = ACTIONS(3055),
    [anon_sym_weak] = ACTIONS(3055),
    [anon_sym_unowned] = ACTIONS(3053),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3055),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3055),
    [anon_sym_borrowing] = ACTIONS(3055),
    [anon_sym_consuming] = ACTIONS(3055),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(5170),
    [sym__eq_custom] = ACTIONS(3055),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym_where_keyword] = ACTIONS(3055),
    [sym__as_custom] = ACTIONS(3055),
    [sym__async_keyword_custom] = ACTIONS(5172),
  },
  [1711] = {
    [sym_simple_identifier] = STATE(8871),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [aux_sym__fn_call_lambda_arguments_repeat1] = STATE(1714),
    [anon_sym_BANG] = ACTIONS(3021),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3012),
    [aux_sym_simple_identifier_token2] = ACTIONS(3014),
    [aux_sym_simple_identifier_token3] = ACTIONS(3014),
    [aux_sym_simple_identifier_token4] = ACTIONS(3014),
    [anon_sym_actor] = ACTIONS(3012),
    [anon_sym_async] = ACTIONS(3012),
    [anon_sym_each] = ACTIONS(3012),
    [anon_sym_lazy] = ACTIONS(3012),
    [anon_sym_repeat] = ACTIONS(3012),
    [anon_sym_package] = ACTIONS(3012),
    [anon_sym_RPAREN] = ACTIONS(3026),
    [anon_sym_COMMA] = ACTIONS(3026),
    [anon_sym_COLON] = ACTIONS(3026),
    [anon_sym_LPAREN] = ACTIONS(3026),
    [anon_sym_LBRACK] = ACTIONS(3026),
    [anon_sym_RBRACK] = ACTIONS(3026),
    [anon_sym_QMARK] = ACTIONS(3021),
    [anon_sym_QMARK2] = ACTIONS(3026),
    [anon_sym_AMP] = ACTIONS(3026),
    [aux_sym_custom_operator_token1] = ACTIONS(3026),
    [anon_sym_LT] = ACTIONS(3021),
    [anon_sym_GT] = ACTIONS(3021),
    [anon_sym_LBRACE] = ACTIONS(3026),
    [anon_sym_CARET_LBRACE] = ACTIONS(3026),
    [anon_sym_PLUS_EQ] = ACTIONS(3026),
    [anon_sym_DASH_EQ] = ACTIONS(3026),
    [anon_sym_STAR_EQ] = ACTIONS(3026),
    [anon_sym_SLASH_EQ] = ACTIONS(3026),
    [anon_sym_PERCENT_EQ] = ACTIONS(3026),
    [anon_sym_BANG_EQ] = ACTIONS(3021),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3026),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3026),
    [anon_sym_LT_EQ] = ACTIONS(3026),
    [anon_sym_GT_EQ] = ACTIONS(3026),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3026),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3026),
    [anon_sym_is] = ACTIONS(3021),
    [anon_sym_PLUS] = ACTIONS(3021),
    [anon_sym_DASH] = ACTIONS(3021),
    [anon_sym_STAR] = ACTIONS(3021),
    [anon_sym_SLASH] = ACTIONS(3021),
    [anon_sym_PERCENT] = ACTIONS(3021),
    [anon_sym_PLUS_PLUS] = ACTIONS(3026),
    [anon_sym_DASH_DASH] = ACTIONS(3026),
    [anon_sym_PIPE] = ACTIONS(3026),
    [anon_sym_CARET] = ACTIONS(3021),
    [anon_sym_LT_LT] = ACTIONS(3026),
    [anon_sym_GT_GT] = ACTIONS(3026),
    [anon_sym_borrowing] = ACTIONS(3012),
    [anon_sym_consuming] = ACTIONS(3012),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3026),
    [sym__conjunction_operator_custom] = ACTIONS(3026),
    [sym__disjunction_operator_custom] = ACTIONS(3026),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3026),
    [sym__eq_custom] = ACTIONS(3026),
    [sym__eq_eq_custom] = ACTIONS(3026),
    [sym__plus_then_ws] = ACTIONS(3026),
    [sym__minus_then_ws] = ACTIONS(3026),
    [sym__bang_custom] = ACTIONS(3026),
    [sym__as_custom] = ACTIONS(3026),
    [sym__as_quest_custom] = ACTIONS(3026),
    [sym__as_bang_custom] = ACTIONS(3026),
    [sym__custom_operator] = ACTIONS(3026),
  },
  [1712] = {
    [sym__dot] = STATE(5461),
    [aux_sym_user_type_repeat1] = STATE(1717),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3048),
    [anon_sym_async] = ACTIONS(3048),
    [anon_sym_lazy] = ACTIONS(3048),
    [anon_sym_package] = ACTIONS(3048),
    [anon_sym_COMMA] = ACTIONS(3048),
    [anon_sym_COLON] = ACTIONS(3048),
    [anon_sym_DOT] = ACTIONS(3048),
    [anon_sym_QMARK] = ACTIONS(3046),
    [anon_sym_QMARK2] = ACTIONS(3048),
    [anon_sym_AMP] = ACTIONS(3048),
    [anon_sym_LBRACE] = ACTIONS(3048),
    [anon_sym_RBRACE] = ACTIONS(3048),
    [anon_sym_case] = ACTIONS(3048),
    [anon_sym_import] = ACTIONS(3048),
    [anon_sym_typealias] = ACTIONS(3048),
    [anon_sym_struct] = ACTIONS(3048),
    [anon_sym_class] = ACTIONS(3048),
    [anon_sym_enum] = ACTIONS(3048),
    [anon_sym_protocol] = ACTIONS(3048),
    [anon_sym_let] = ACTIONS(3048),
    [anon_sym_var] = ACTIONS(3048),
    [anon_sym_func] = ACTIONS(3048),
    [anon_sym_extension] = ACTIONS(3048),
    [anon_sym_indirect] = ACTIONS(3048),
    [anon_sym_init] = ACTIONS(3048),
    [anon_sym_deinit] = ACTIONS(3048),
    [anon_sym_subscript] = ACTIONS(3048),
    [anon_sym_prefix] = ACTIONS(3048),
    [anon_sym_infix] = ACTIONS(3048),
    [anon_sym_postfix] = ACTIONS(3048),
    [anon_sym_precedencegroup] = ACTIONS(3048),
    [anon_sym_associatedtype] = ACTIONS(3048),
    [anon_sym_AT] = ACTIONS(3046),
    [anon_sym_override] = ACTIONS(3048),
    [anon_sym_convenience] = ACTIONS(3048),
    [anon_sym_required] = ACTIONS(3048),
    [anon_sym_nonisolated] = ACTIONS(3048),
    [anon_sym_public] = ACTIONS(3048),
    [anon_sym_private] = ACTIONS(3048),
    [anon_sym_internal] = ACTIONS(3048),
    [anon_sym_fileprivate] = ACTIONS(3048),
    [anon_sym_open] = ACTIONS(3048),
    [anon_sym_mutating] = ACTIONS(3048),
    [anon_sym_nonmutating] = ACTIONS(3048),
    [anon_sym_static] = ACTIONS(3048),
    [anon_sym_dynamic] = ACTIONS(3048),
    [anon_sym_optional] = ACTIONS(3048),
    [anon_sym_distributed] = ACTIONS(3048),
    [anon_sym_final] = ACTIONS(3048),
    [anon_sym_inout] = ACTIONS(3048),
    [anon_sym_ATescaping] = ACTIONS(3048),
    [anon_sym_ATautoclosure] = ACTIONS(3048),
    [anon_sym_weak] = ACTIONS(3048),
    [anon_sym_unowned] = ACTIONS(3046),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3048),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3048),
    [anon_sym_borrowing] = ACTIONS(3048),
    [anon_sym_consuming] = ACTIONS(3048),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3048),
    [sym__dot_custom] = ACTIONS(5178),
    [sym__eq_custom] = ACTIONS(3048),
    [sym__throws_keyword] = ACTIONS(3048),
    [sym__rethrows_keyword] = ACTIONS(3048),
    [sym_where_keyword] = ACTIONS(3048),
    [sym__as_custom] = ACTIONS(3048),
    [sym__async_keyword_custom] = ACTIONS(3048),
  },
  [1713] = {
    [sym_simple_identifier] = STATE(8670),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [aux_sym__fn_call_lambda_arguments_repeat1] = STATE(1713),
    [anon_sym_BANG] = ACTIONS(2981),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2983),
    [aux_sym_simple_identifier_token2] = ACTIONS(2986),
    [aux_sym_simple_identifier_token3] = ACTIONS(2986),
    [aux_sym_simple_identifier_token4] = ACTIONS(2986),
    [anon_sym_actor] = ACTIONS(2983),
    [anon_sym_async] = ACTIONS(2983),
    [anon_sym_each] = ACTIONS(2983),
    [anon_sym_lazy] = ACTIONS(2983),
    [anon_sym_repeat] = ACTIONS(2983),
    [anon_sym_package] = ACTIONS(2983),
    [anon_sym_COMMA] = ACTIONS(2989),
    [anon_sym_LPAREN] = ACTIONS(2989),
    [anon_sym_LBRACK] = ACTIONS(2989),
    [anon_sym_QMARK] = ACTIONS(2981),
    [anon_sym_QMARK2] = ACTIONS(2989),
    [anon_sym_AMP] = ACTIONS(2989),
    [aux_sym_custom_operator_token1] = ACTIONS(2989),
    [anon_sym_LT] = ACTIONS(2981),
    [anon_sym_GT] = ACTIONS(2981),
    [anon_sym_LBRACE] = ACTIONS(2989),
    [anon_sym_CARET_LBRACE] = ACTIONS(2989),
    [anon_sym_RBRACE] = ACTIONS(2989),
    [anon_sym_PLUS_EQ] = ACTIONS(2989),
    [anon_sym_DASH_EQ] = ACTIONS(2989),
    [anon_sym_STAR_EQ] = ACTIONS(2989),
    [anon_sym_SLASH_EQ] = ACTIONS(2989),
    [anon_sym_PERCENT_EQ] = ACTIONS(2989),
    [anon_sym_BANG_EQ] = ACTIONS(2981),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2989),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2989),
    [anon_sym_LT_EQ] = ACTIONS(2989),
    [anon_sym_GT_EQ] = ACTIONS(2989),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2989),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2989),
    [anon_sym_is] = ACTIONS(2981),
    [anon_sym_PLUS] = ACTIONS(2981),
    [anon_sym_DASH] = ACTIONS(2981),
    [anon_sym_STAR] = ACTIONS(2981),
    [anon_sym_SLASH] = ACTIONS(2981),
    [anon_sym_PERCENT] = ACTIONS(2981),
    [anon_sym_PLUS_PLUS] = ACTIONS(2989),
    [anon_sym_DASH_DASH] = ACTIONS(2989),
    [anon_sym_PIPE] = ACTIONS(2989),
    [anon_sym_CARET] = ACTIONS(2981),
    [anon_sym_LT_LT] = ACTIONS(2989),
    [anon_sym_GT_GT] = ACTIONS(2989),
    [anon_sym_borrowing] = ACTIONS(2983),
    [anon_sym_consuming] = ACTIONS(2983),
    [sym_multiline_comment] = ACTIONS(2989),
    [sym__implicit_semi] = ACTIONS(2989),
    [sym__explicit_semi] = ACTIONS(2989),
    [sym__dot_custom] = ACTIONS(2989),
    [sym__conjunction_operator_custom] = ACTIONS(2989),
    [sym__disjunction_operator_custom] = ACTIONS(2989),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2989),
    [sym__eq_custom] = ACTIONS(2989),
    [sym__eq_eq_custom] = ACTIONS(2989),
    [sym__plus_then_ws] = ACTIONS(2989),
    [sym__minus_then_ws] = ACTIONS(2989),
    [sym__bang_custom] = ACTIONS(2989),
    [sym__as_custom] = ACTIONS(2989),
    [sym__as_quest_custom] = ACTIONS(2989),
    [sym__as_bang_custom] = ACTIONS(2989),
    [sym__custom_operator] = ACTIONS(2989),
  },
  [1714] = {
    [sym_simple_identifier] = STATE(8871),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [aux_sym__fn_call_lambda_arguments_repeat1] = STATE(1714),
    [anon_sym_BANG] = ACTIONS(2981),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2983),
    [aux_sym_simple_identifier_token2] = ACTIONS(2986),
    [aux_sym_simple_identifier_token3] = ACTIONS(2986),
    [aux_sym_simple_identifier_token4] = ACTIONS(2986),
    [anon_sym_actor] = ACTIONS(2983),
    [anon_sym_async] = ACTIONS(2983),
    [anon_sym_each] = ACTIONS(2983),
    [anon_sym_lazy] = ACTIONS(2983),
    [anon_sym_repeat] = ACTIONS(2983),
    [anon_sym_package] = ACTIONS(2983),
    [anon_sym_RPAREN] = ACTIONS(2989),
    [anon_sym_COMMA] = ACTIONS(2989),
    [anon_sym_COLON] = ACTIONS(2989),
    [anon_sym_LPAREN] = ACTIONS(2989),
    [anon_sym_LBRACK] = ACTIONS(2989),
    [anon_sym_RBRACK] = ACTIONS(2989),
    [anon_sym_QMARK] = ACTIONS(2981),
    [anon_sym_QMARK2] = ACTIONS(2989),
    [anon_sym_AMP] = ACTIONS(2989),
    [aux_sym_custom_operator_token1] = ACTIONS(2989),
    [anon_sym_LT] = ACTIONS(2981),
    [anon_sym_GT] = ACTIONS(2981),
    [anon_sym_LBRACE] = ACTIONS(2989),
    [anon_sym_CARET_LBRACE] = ACTIONS(2989),
    [anon_sym_PLUS_EQ] = ACTIONS(2989),
    [anon_sym_DASH_EQ] = ACTIONS(2989),
    [anon_sym_STAR_EQ] = ACTIONS(2989),
    [anon_sym_SLASH_EQ] = ACTIONS(2989),
    [anon_sym_PERCENT_EQ] = ACTIONS(2989),
    [anon_sym_BANG_EQ] = ACTIONS(2981),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2989),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2989),
    [anon_sym_LT_EQ] = ACTIONS(2989),
    [anon_sym_GT_EQ] = ACTIONS(2989),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2989),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2989),
    [anon_sym_is] = ACTIONS(2981),
    [anon_sym_PLUS] = ACTIONS(2981),
    [anon_sym_DASH] = ACTIONS(2981),
    [anon_sym_STAR] = ACTIONS(2981),
    [anon_sym_SLASH] = ACTIONS(2981),
    [anon_sym_PERCENT] = ACTIONS(2981),
    [anon_sym_PLUS_PLUS] = ACTIONS(2989),
    [anon_sym_DASH_DASH] = ACTIONS(2989),
    [anon_sym_PIPE] = ACTIONS(2989),
    [anon_sym_CARET] = ACTIONS(2981),
    [anon_sym_LT_LT] = ACTIONS(2989),
    [anon_sym_GT_GT] = ACTIONS(2989),
    [anon_sym_borrowing] = ACTIONS(2983),
    [anon_sym_consuming] = ACTIONS(2983),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2989),
    [sym__conjunction_operator_custom] = ACTIONS(2989),
    [sym__disjunction_operator_custom] = ACTIONS(2989),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2989),
    [sym__eq_custom] = ACTIONS(2989),
    [sym__eq_eq_custom] = ACTIONS(2989),
    [sym__plus_then_ws] = ACTIONS(2989),
    [sym__minus_then_ws] = ACTIONS(2989),
    [sym__bang_custom] = ACTIONS(2989),
    [sym__as_custom] = ACTIONS(2989),
    [sym__as_quest_custom] = ACTIONS(2989),
    [sym__as_bang_custom] = ACTIONS(2989),
    [sym__custom_operator] = ACTIONS(2989),
  },
  [1715] = {
    [sym__arrow_operator] = STATE(4193),
    [sym__async_keyword] = STATE(6980),
    [sym_throws] = STATE(8541),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1795),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3063),
    [anon_sym_async] = ACTIONS(3063),
    [anon_sym_lazy] = ACTIONS(3063),
    [anon_sym_package] = ACTIONS(3063),
    [anon_sym_COMMA] = ACTIONS(3063),
    [anon_sym_COLON] = ACTIONS(3063),
    [anon_sym_DOT] = ACTIONS(5174),
    [anon_sym_QMARK] = ACTIONS(3063),
    [anon_sym_AMP] = ACTIONS(5176),
    [anon_sym_LBRACE] = ACTIONS(3063),
    [anon_sym_RBRACE] = ACTIONS(3063),
    [anon_sym_case] = ACTIONS(3063),
    [anon_sym_import] = ACTIONS(3063),
    [anon_sym_typealias] = ACTIONS(3063),
    [anon_sym_struct] = ACTIONS(3063),
    [anon_sym_class] = ACTIONS(3063),
    [anon_sym_enum] = ACTIONS(3063),
    [anon_sym_protocol] = ACTIONS(3063),
    [anon_sym_let] = ACTIONS(3063),
    [anon_sym_var] = ACTIONS(3063),
    [anon_sym_func] = ACTIONS(3063),
    [anon_sym_extension] = ACTIONS(3063),
    [anon_sym_indirect] = ACTIONS(3063),
    [anon_sym_init] = ACTIONS(3063),
    [anon_sym_deinit] = ACTIONS(3063),
    [anon_sym_subscript] = ACTIONS(3063),
    [anon_sym_prefix] = ACTIONS(3063),
    [anon_sym_infix] = ACTIONS(3063),
    [anon_sym_postfix] = ACTIONS(3063),
    [anon_sym_precedencegroup] = ACTIONS(3063),
    [anon_sym_associatedtype] = ACTIONS(3063),
    [anon_sym_AT] = ACTIONS(3061),
    [anon_sym_override] = ACTIONS(3063),
    [anon_sym_convenience] = ACTIONS(3063),
    [anon_sym_required] = ACTIONS(3063),
    [anon_sym_nonisolated] = ACTIONS(3063),
    [anon_sym_public] = ACTIONS(3063),
    [anon_sym_private] = ACTIONS(3063),
    [anon_sym_internal] = ACTIONS(3063),
    [anon_sym_fileprivate] = ACTIONS(3063),
    [anon_sym_open] = ACTIONS(3063),
    [anon_sym_mutating] = ACTIONS(3063),
    [anon_sym_nonmutating] = ACTIONS(3063),
    [anon_sym_static] = ACTIONS(3063),
    [anon_sym_dynamic] = ACTIONS(3063),
    [anon_sym_optional] = ACTIONS(3063),
    [anon_sym_distributed] = ACTIONS(3063),
    [anon_sym_final] = ACTIONS(3063),
    [anon_sym_inout] = ACTIONS(3063),
    [anon_sym_ATescaping] = ACTIONS(3063),
    [anon_sym_ATautoclosure] = ACTIONS(3063),
    [anon_sym_weak] = ACTIONS(3063),
    [anon_sym_unowned] = ACTIONS(3061),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3063),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3063),
    [anon_sym_borrowing] = ACTIONS(3063),
    [anon_sym_consuming] = ACTIONS(3063),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(5170),
    [sym__eq_custom] = ACTIONS(3063),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym_where_keyword] = ACTIONS(3063),
    [sym__as_custom] = ACTIONS(3063),
    [sym__async_keyword_custom] = ACTIONS(5172),
  },
  [1716] = {
    [sym__immediate_quest] = STATE(1787),
    [sym__arrow_operator] = STATE(4190),
    [sym__async_keyword] = STATE(6942),
    [sym_throws] = STATE(8493),
    [aux_sym_optional_type_repeat1] = STATE(1787),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3000),
    [anon_sym_async] = ACTIONS(3000),
    [anon_sym_lazy] = ACTIONS(3000),
    [anon_sym_package] = ACTIONS(3000),
    [anon_sym_COMMA] = ACTIONS(3000),
    [anon_sym_BANG2] = ACTIONS(3000),
    [anon_sym_DOT] = ACTIONS(3000),
    [anon_sym_QMARK2] = ACTIONS(5180),
    [anon_sym_AMP] = ACTIONS(3000),
    [anon_sym_LBRACE] = ACTIONS(3000),
    [anon_sym_RBRACE] = ACTIONS(3000),
    [anon_sym_case] = ACTIONS(3000),
    [anon_sym_import] = ACTIONS(3000),
    [anon_sym_typealias] = ACTIONS(3000),
    [anon_sym_struct] = ACTIONS(3000),
    [anon_sym_class] = ACTIONS(3000),
    [anon_sym_enum] = ACTIONS(3000),
    [anon_sym_protocol] = ACTIONS(3000),
    [anon_sym_let] = ACTIONS(3000),
    [anon_sym_var] = ACTIONS(3000),
    [anon_sym_func] = ACTIONS(3000),
    [anon_sym_extension] = ACTIONS(3000),
    [anon_sym_indirect] = ACTIONS(3000),
    [anon_sym_init] = ACTIONS(3000),
    [anon_sym_deinit] = ACTIONS(3000),
    [anon_sym_subscript] = ACTIONS(3000),
    [anon_sym_prefix] = ACTIONS(3000),
    [anon_sym_infix] = ACTIONS(3000),
    [anon_sym_postfix] = ACTIONS(3000),
    [anon_sym_precedencegroup] = ACTIONS(3000),
    [anon_sym_associatedtype] = ACTIONS(3000),
    [anon_sym_AT] = ACTIONS(2998),
    [anon_sym_override] = ACTIONS(3000),
    [anon_sym_convenience] = ACTIONS(3000),
    [anon_sym_required] = ACTIONS(3000),
    [anon_sym_nonisolated] = ACTIONS(3000),
    [anon_sym_public] = ACTIONS(3000),
    [anon_sym_private] = ACTIONS(3000),
    [anon_sym_internal] = ACTIONS(3000),
    [anon_sym_fileprivate] = ACTIONS(3000),
    [anon_sym_open] = ACTIONS(3000),
    [anon_sym_mutating] = ACTIONS(3000),
    [anon_sym_nonmutating] = ACTIONS(3000),
    [anon_sym_static] = ACTIONS(3000),
    [anon_sym_dynamic] = ACTIONS(3000),
    [anon_sym_optional] = ACTIONS(3000),
    [anon_sym_distributed] = ACTIONS(3000),
    [anon_sym_final] = ACTIONS(3000),
    [anon_sym_inout] = ACTIONS(3000),
    [anon_sym_ATescaping] = ACTIONS(3000),
    [anon_sym_ATautoclosure] = ACTIONS(3000),
    [anon_sym_weak] = ACTIONS(3000),
    [anon_sym_unowned] = ACTIONS(2998),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3000),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3000),
    [anon_sym_borrowing] = ACTIONS(3000),
    [anon_sym_consuming] = ACTIONS(3000),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(5182),
    [sym__eq_custom] = ACTIONS(3000),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym_where_keyword] = ACTIONS(3000),
    [sym__async_keyword_custom] = ACTIONS(5184),
  },
  [1717] = {
    [sym__dot] = STATE(5461),
    [aux_sym_user_type_repeat1] = STATE(1723),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3041),
    [anon_sym_async] = ACTIONS(3041),
    [anon_sym_lazy] = ACTIONS(3041),
    [anon_sym_package] = ACTIONS(3041),
    [anon_sym_COMMA] = ACTIONS(3041),
    [anon_sym_COLON] = ACTIONS(3041),
    [anon_sym_DOT] = ACTIONS(3041),
    [anon_sym_QMARK] = ACTIONS(3039),
    [anon_sym_QMARK2] = ACTIONS(3041),
    [anon_sym_AMP] = ACTIONS(3041),
    [anon_sym_LBRACE] = ACTIONS(3041),
    [anon_sym_RBRACE] = ACTIONS(3041),
    [anon_sym_case] = ACTIONS(3041),
    [anon_sym_import] = ACTIONS(3041),
    [anon_sym_typealias] = ACTIONS(3041),
    [anon_sym_struct] = ACTIONS(3041),
    [anon_sym_class] = ACTIONS(3041),
    [anon_sym_enum] = ACTIONS(3041),
    [anon_sym_protocol] = ACTIONS(3041),
    [anon_sym_let] = ACTIONS(3041),
    [anon_sym_var] = ACTIONS(3041),
    [anon_sym_func] = ACTIONS(3041),
    [anon_sym_extension] = ACTIONS(3041),
    [anon_sym_indirect] = ACTIONS(3041),
    [anon_sym_init] = ACTIONS(3041),
    [anon_sym_deinit] = ACTIONS(3041),
    [anon_sym_subscript] = ACTIONS(3041),
    [anon_sym_prefix] = ACTIONS(3041),
    [anon_sym_infix] = ACTIONS(3041),
    [anon_sym_postfix] = ACTIONS(3041),
    [anon_sym_precedencegroup] = ACTIONS(3041),
    [anon_sym_associatedtype] = ACTIONS(3041),
    [anon_sym_AT] = ACTIONS(3039),
    [anon_sym_override] = ACTIONS(3041),
    [anon_sym_convenience] = ACTIONS(3041),
    [anon_sym_required] = ACTIONS(3041),
    [anon_sym_nonisolated] = ACTIONS(3041),
    [anon_sym_public] = ACTIONS(3041),
    [anon_sym_private] = ACTIONS(3041),
    [anon_sym_internal] = ACTIONS(3041),
    [anon_sym_fileprivate] = ACTIONS(3041),
    [anon_sym_open] = ACTIONS(3041),
    [anon_sym_mutating] = ACTIONS(3041),
    [anon_sym_nonmutating] = ACTIONS(3041),
    [anon_sym_static] = ACTIONS(3041),
    [anon_sym_dynamic] = ACTIONS(3041),
    [anon_sym_optional] = ACTIONS(3041),
    [anon_sym_distributed] = ACTIONS(3041),
    [anon_sym_final] = ACTIONS(3041),
    [anon_sym_inout] = ACTIONS(3041),
    [anon_sym_ATescaping] = ACTIONS(3041),
    [anon_sym_ATautoclosure] = ACTIONS(3041),
    [anon_sym_weak] = ACTIONS(3041),
    [anon_sym_unowned] = ACTIONS(3039),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3041),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3041),
    [anon_sym_borrowing] = ACTIONS(3041),
    [anon_sym_consuming] = ACTIONS(3041),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3041),
    [sym__dot_custom] = ACTIONS(5178),
    [sym__eq_custom] = ACTIONS(3041),
    [sym__throws_keyword] = ACTIONS(3041),
    [sym__rethrows_keyword] = ACTIONS(3041),
    [sym_where_keyword] = ACTIONS(3041),
    [sym__as_custom] = ACTIONS(3041),
    [sym__async_keyword_custom] = ACTIONS(3041),
  },
  [1718] = {
    [sym__arrow_operator] = STATE(4193),
    [sym__async_keyword] = STATE(6980),
    [sym_throws] = STATE(8541),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1795),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3089),
    [anon_sym_async] = ACTIONS(3089),
    [anon_sym_lazy] = ACTIONS(3089),
    [anon_sym_package] = ACTIONS(3089),
    [anon_sym_COMMA] = ACTIONS(3089),
    [anon_sym_COLON] = ACTIONS(3089),
    [anon_sym_DOT] = ACTIONS(3089),
    [anon_sym_QMARK] = ACTIONS(3089),
    [anon_sym_AMP] = ACTIONS(3089),
    [anon_sym_LBRACE] = ACTIONS(3089),
    [anon_sym_RBRACE] = ACTIONS(3089),
    [anon_sym_case] = ACTIONS(3089),
    [anon_sym_import] = ACTIONS(3089),
    [anon_sym_typealias] = ACTIONS(3089),
    [anon_sym_struct] = ACTIONS(3089),
    [anon_sym_class] = ACTIONS(3089),
    [anon_sym_enum] = ACTIONS(3089),
    [anon_sym_protocol] = ACTIONS(3089),
    [anon_sym_let] = ACTIONS(3089),
    [anon_sym_var] = ACTIONS(3089),
    [anon_sym_func] = ACTIONS(3089),
    [anon_sym_extension] = ACTIONS(3089),
    [anon_sym_indirect] = ACTIONS(3089),
    [anon_sym_init] = ACTIONS(3089),
    [anon_sym_deinit] = ACTIONS(3089),
    [anon_sym_subscript] = ACTIONS(3089),
    [anon_sym_prefix] = ACTIONS(3089),
    [anon_sym_infix] = ACTIONS(3089),
    [anon_sym_postfix] = ACTIONS(3089),
    [anon_sym_precedencegroup] = ACTIONS(3089),
    [anon_sym_associatedtype] = ACTIONS(3089),
    [anon_sym_AT] = ACTIONS(3087),
    [anon_sym_override] = ACTIONS(3089),
    [anon_sym_convenience] = ACTIONS(3089),
    [anon_sym_required] = ACTIONS(3089),
    [anon_sym_nonisolated] = ACTIONS(3089),
    [anon_sym_public] = ACTIONS(3089),
    [anon_sym_private] = ACTIONS(3089),
    [anon_sym_internal] = ACTIONS(3089),
    [anon_sym_fileprivate] = ACTIONS(3089),
    [anon_sym_open] = ACTIONS(3089),
    [anon_sym_mutating] = ACTIONS(3089),
    [anon_sym_nonmutating] = ACTIONS(3089),
    [anon_sym_static] = ACTIONS(3089),
    [anon_sym_dynamic] = ACTIONS(3089),
    [anon_sym_optional] = ACTIONS(3089),
    [anon_sym_distributed] = ACTIONS(3089),
    [anon_sym_final] = ACTIONS(3089),
    [anon_sym_inout] = ACTIONS(3089),
    [anon_sym_ATescaping] = ACTIONS(3089),
    [anon_sym_ATautoclosure] = ACTIONS(3089),
    [anon_sym_weak] = ACTIONS(3089),
    [anon_sym_unowned] = ACTIONS(3087),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3089),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3089),
    [anon_sym_borrowing] = ACTIONS(3089),
    [anon_sym_consuming] = ACTIONS(3089),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3089),
    [sym__eq_custom] = ACTIONS(3089),
    [sym__throws_keyword] = ACTIONS(3089),
    [sym__rethrows_keyword] = ACTIONS(3089),
    [sym_where_keyword] = ACTIONS(3089),
    [sym__as_custom] = ACTIONS(3089),
    [sym__async_keyword_custom] = ACTIONS(3089),
  },
  [1719] = {
    [sym_type_arguments] = STATE(1762),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3083),
    [anon_sym_async] = ACTIONS(3083),
    [anon_sym_lazy] = ACTIONS(3083),
    [anon_sym_package] = ACTIONS(3083),
    [anon_sym_COMMA] = ACTIONS(3083),
    [anon_sym_COLON] = ACTIONS(3083),
    [anon_sym_DOT] = ACTIONS(3083),
    [anon_sym_QMARK] = ACTIONS(3081),
    [anon_sym_QMARK2] = ACTIONS(3083),
    [anon_sym_AMP] = ACTIONS(3083),
    [anon_sym_LT] = ACTIONS(5186),
    [anon_sym_LBRACE] = ACTIONS(3083),
    [anon_sym_RBRACE] = ACTIONS(3083),
    [anon_sym_case] = ACTIONS(3083),
    [anon_sym_import] = ACTIONS(3083),
    [anon_sym_typealias] = ACTIONS(3083),
    [anon_sym_struct] = ACTIONS(3083),
    [anon_sym_class] = ACTIONS(3083),
    [anon_sym_enum] = ACTIONS(3083),
    [anon_sym_protocol] = ACTIONS(3083),
    [anon_sym_let] = ACTIONS(3083),
    [anon_sym_var] = ACTIONS(3083),
    [anon_sym_func] = ACTIONS(3083),
    [anon_sym_extension] = ACTIONS(3083),
    [anon_sym_indirect] = ACTIONS(3083),
    [anon_sym_init] = ACTIONS(3083),
    [anon_sym_deinit] = ACTIONS(3083),
    [anon_sym_subscript] = ACTIONS(3083),
    [anon_sym_prefix] = ACTIONS(3083),
    [anon_sym_infix] = ACTIONS(3083),
    [anon_sym_postfix] = ACTIONS(3083),
    [anon_sym_precedencegroup] = ACTIONS(3083),
    [anon_sym_associatedtype] = ACTIONS(3083),
    [anon_sym_AT] = ACTIONS(3081),
    [anon_sym_override] = ACTIONS(3083),
    [anon_sym_convenience] = ACTIONS(3083),
    [anon_sym_required] = ACTIONS(3083),
    [anon_sym_nonisolated] = ACTIONS(3083),
    [anon_sym_public] = ACTIONS(3083),
    [anon_sym_private] = ACTIONS(3083),
    [anon_sym_internal] = ACTIONS(3083),
    [anon_sym_fileprivate] = ACTIONS(3083),
    [anon_sym_open] = ACTIONS(3083),
    [anon_sym_mutating] = ACTIONS(3083),
    [anon_sym_nonmutating] = ACTIONS(3083),
    [anon_sym_static] = ACTIONS(3083),
    [anon_sym_dynamic] = ACTIONS(3083),
    [anon_sym_optional] = ACTIONS(3083),
    [anon_sym_distributed] = ACTIONS(3083),
    [anon_sym_final] = ACTIONS(3083),
    [anon_sym_inout] = ACTIONS(3083),
    [anon_sym_ATescaping] = ACTIONS(3083),
    [anon_sym_ATautoclosure] = ACTIONS(3083),
    [anon_sym_weak] = ACTIONS(3083),
    [anon_sym_unowned] = ACTIONS(3081),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3083),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3083),
    [anon_sym_borrowing] = ACTIONS(3083),
    [anon_sym_consuming] = ACTIONS(3083),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3083),
    [sym__dot_custom] = ACTIONS(3083),
    [sym__eq_custom] = ACTIONS(3083),
    [sym__throws_keyword] = ACTIONS(3083),
    [sym__rethrows_keyword] = ACTIONS(3083),
    [sym_where_keyword] = ACTIONS(3083),
    [sym__as_custom] = ACTIONS(3083),
    [sym__async_keyword_custom] = ACTIONS(3083),
  },
  [1720] = {
    [sym_simple_identifier] = STATE(8670),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [aux_sym__fn_call_lambda_arguments_repeat1] = STATE(1724),
    [anon_sym_BANG] = ACTIONS(3010),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3012),
    [aux_sym_simple_identifier_token2] = ACTIONS(3014),
    [aux_sym_simple_identifier_token3] = ACTIONS(3014),
    [aux_sym_simple_identifier_token4] = ACTIONS(3014),
    [anon_sym_actor] = ACTIONS(3012),
    [anon_sym_async] = ACTIONS(3012),
    [anon_sym_each] = ACTIONS(3012),
    [anon_sym_lazy] = ACTIONS(3012),
    [anon_sym_repeat] = ACTIONS(3012),
    [anon_sym_package] = ACTIONS(3012),
    [anon_sym_COMMA] = ACTIONS(3019),
    [anon_sym_LPAREN] = ACTIONS(3019),
    [anon_sym_LBRACK] = ACTIONS(3019),
    [anon_sym_QMARK] = ACTIONS(3010),
    [anon_sym_QMARK2] = ACTIONS(3019),
    [anon_sym_AMP] = ACTIONS(3019),
    [aux_sym_custom_operator_token1] = ACTIONS(3019),
    [anon_sym_LT] = ACTIONS(3010),
    [anon_sym_GT] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(3019),
    [anon_sym_CARET_LBRACE] = ACTIONS(3019),
    [anon_sym_RBRACE] = ACTIONS(3019),
    [anon_sym_PLUS_EQ] = ACTIONS(3019),
    [anon_sym_DASH_EQ] = ACTIONS(3019),
    [anon_sym_STAR_EQ] = ACTIONS(3019),
    [anon_sym_SLASH_EQ] = ACTIONS(3019),
    [anon_sym_PERCENT_EQ] = ACTIONS(3019),
    [anon_sym_BANG_EQ] = ACTIONS(3010),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3019),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3019),
    [anon_sym_LT_EQ] = ACTIONS(3019),
    [anon_sym_GT_EQ] = ACTIONS(3019),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3019),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3019),
    [anon_sym_is] = ACTIONS(3010),
    [anon_sym_PLUS] = ACTIONS(3010),
    [anon_sym_DASH] = ACTIONS(3010),
    [anon_sym_STAR] = ACTIONS(3010),
    [anon_sym_SLASH] = ACTIONS(3010),
    [anon_sym_PERCENT] = ACTIONS(3010),
    [anon_sym_PLUS_PLUS] = ACTIONS(3019),
    [anon_sym_DASH_DASH] = ACTIONS(3019),
    [anon_sym_PIPE] = ACTIONS(3019),
    [anon_sym_CARET] = ACTIONS(3010),
    [anon_sym_LT_LT] = ACTIONS(3019),
    [anon_sym_GT_GT] = ACTIONS(3019),
    [anon_sym_borrowing] = ACTIONS(3012),
    [anon_sym_consuming] = ACTIONS(3012),
    [sym_multiline_comment] = ACTIONS(3019),
    [sym__implicit_semi] = ACTIONS(3019),
    [sym__explicit_semi] = ACTIONS(3019),
    [sym__dot_custom] = ACTIONS(3019),
    [sym__conjunction_operator_custom] = ACTIONS(3019),
    [sym__disjunction_operator_custom] = ACTIONS(3019),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3019),
    [sym__eq_custom] = ACTIONS(3019),
    [sym__eq_eq_custom] = ACTIONS(3019),
    [sym__plus_then_ws] = ACTIONS(3019),
    [sym__minus_then_ws] = ACTIONS(3019),
    [sym__bang_custom] = ACTIONS(3019),
    [sym__as_custom] = ACTIONS(3019),
    [sym__as_quest_custom] = ACTIONS(3019),
    [sym__as_bang_custom] = ACTIONS(3019),
    [sym__custom_operator] = ACTIONS(3019),
  },
  [1721] = {
    [sym_simple_identifier] = STATE(8871),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [aux_sym__fn_call_lambda_arguments_repeat1] = STATE(1711),
    [anon_sym_BANG] = ACTIONS(3010),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3012),
    [aux_sym_simple_identifier_token2] = ACTIONS(3014),
    [aux_sym_simple_identifier_token3] = ACTIONS(3014),
    [aux_sym_simple_identifier_token4] = ACTIONS(3014),
    [anon_sym_actor] = ACTIONS(3012),
    [anon_sym_async] = ACTIONS(3012),
    [anon_sym_each] = ACTIONS(3012),
    [anon_sym_lazy] = ACTIONS(3012),
    [anon_sym_repeat] = ACTIONS(3012),
    [anon_sym_package] = ACTIONS(3012),
    [anon_sym_RPAREN] = ACTIONS(3019),
    [anon_sym_COMMA] = ACTIONS(3019),
    [anon_sym_COLON] = ACTIONS(3019),
    [anon_sym_LPAREN] = ACTIONS(3019),
    [anon_sym_LBRACK] = ACTIONS(3019),
    [anon_sym_RBRACK] = ACTIONS(3019),
    [anon_sym_QMARK] = ACTIONS(3010),
    [anon_sym_QMARK2] = ACTIONS(3019),
    [anon_sym_AMP] = ACTIONS(3019),
    [aux_sym_custom_operator_token1] = ACTIONS(3019),
    [anon_sym_LT] = ACTIONS(3010),
    [anon_sym_GT] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(3019),
    [anon_sym_CARET_LBRACE] = ACTIONS(3019),
    [anon_sym_PLUS_EQ] = ACTIONS(3019),
    [anon_sym_DASH_EQ] = ACTIONS(3019),
    [anon_sym_STAR_EQ] = ACTIONS(3019),
    [anon_sym_SLASH_EQ] = ACTIONS(3019),
    [anon_sym_PERCENT_EQ] = ACTIONS(3019),
    [anon_sym_BANG_EQ] = ACTIONS(3010),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3019),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3019),
    [anon_sym_LT_EQ] = ACTIONS(3019),
    [anon_sym_GT_EQ] = ACTIONS(3019),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3019),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3019),
    [anon_sym_is] = ACTIONS(3010),
    [anon_sym_PLUS] = ACTIONS(3010),
    [anon_sym_DASH] = ACTIONS(3010),
    [anon_sym_STAR] = ACTIONS(3010),
    [anon_sym_SLASH] = ACTIONS(3010),
    [anon_sym_PERCENT] = ACTIONS(3010),
    [anon_sym_PLUS_PLUS] = ACTIONS(3019),
    [anon_sym_DASH_DASH] = ACTIONS(3019),
    [anon_sym_PIPE] = ACTIONS(3019),
    [anon_sym_CARET] = ACTIONS(3010),
    [anon_sym_LT_LT] = ACTIONS(3019),
    [anon_sym_GT_GT] = ACTIONS(3019),
    [anon_sym_borrowing] = ACTIONS(3012),
    [anon_sym_consuming] = ACTIONS(3012),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3019),
    [sym__conjunction_operator_custom] = ACTIONS(3019),
    [sym__disjunction_operator_custom] = ACTIONS(3019),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3019),
    [sym__eq_custom] = ACTIONS(3019),
    [sym__eq_eq_custom] = ACTIONS(3019),
    [sym__plus_then_ws] = ACTIONS(3019),
    [sym__minus_then_ws] = ACTIONS(3019),
    [sym__bang_custom] = ACTIONS(3019),
    [sym__as_custom] = ACTIONS(3019),
    [sym__as_quest_custom] = ACTIONS(3019),
    [sym__as_bang_custom] = ACTIONS(3019),
    [sym__custom_operator] = ACTIONS(3019),
  },
  [1722] = {
    [sym__arrow_operator] = STATE(4193),
    [sym__async_keyword] = STATE(6980),
    [sym_throws] = STATE(8541),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1795),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3079),
    [anon_sym_async] = ACTIONS(3079),
    [anon_sym_lazy] = ACTIONS(3079),
    [anon_sym_package] = ACTIONS(3079),
    [anon_sym_COMMA] = ACTIONS(3079),
    [anon_sym_COLON] = ACTIONS(3079),
    [anon_sym_DOT] = ACTIONS(5174),
    [anon_sym_QMARK] = ACTIONS(3079),
    [anon_sym_AMP] = ACTIONS(5176),
    [anon_sym_LBRACE] = ACTIONS(3079),
    [anon_sym_RBRACE] = ACTIONS(3079),
    [anon_sym_case] = ACTIONS(3079),
    [anon_sym_import] = ACTIONS(3079),
    [anon_sym_typealias] = ACTIONS(3079),
    [anon_sym_struct] = ACTIONS(3079),
    [anon_sym_class] = ACTIONS(3079),
    [anon_sym_enum] = ACTIONS(3079),
    [anon_sym_protocol] = ACTIONS(3079),
    [anon_sym_let] = ACTIONS(3079),
    [anon_sym_var] = ACTIONS(3079),
    [anon_sym_func] = ACTIONS(3079),
    [anon_sym_extension] = ACTIONS(3079),
    [anon_sym_indirect] = ACTIONS(3079),
    [anon_sym_init] = ACTIONS(3079),
    [anon_sym_deinit] = ACTIONS(3079),
    [anon_sym_subscript] = ACTIONS(3079),
    [anon_sym_prefix] = ACTIONS(3079),
    [anon_sym_infix] = ACTIONS(3079),
    [anon_sym_postfix] = ACTIONS(3079),
    [anon_sym_precedencegroup] = ACTIONS(3079),
    [anon_sym_associatedtype] = ACTIONS(3079),
    [anon_sym_AT] = ACTIONS(3077),
    [anon_sym_override] = ACTIONS(3079),
    [anon_sym_convenience] = ACTIONS(3079),
    [anon_sym_required] = ACTIONS(3079),
    [anon_sym_nonisolated] = ACTIONS(3079),
    [anon_sym_public] = ACTIONS(3079),
    [anon_sym_private] = ACTIONS(3079),
    [anon_sym_internal] = ACTIONS(3079),
    [anon_sym_fileprivate] = ACTIONS(3079),
    [anon_sym_open] = ACTIONS(3079),
    [anon_sym_mutating] = ACTIONS(3079),
    [anon_sym_nonmutating] = ACTIONS(3079),
    [anon_sym_static] = ACTIONS(3079),
    [anon_sym_dynamic] = ACTIONS(3079),
    [anon_sym_optional] = ACTIONS(3079),
    [anon_sym_distributed] = ACTIONS(3079),
    [anon_sym_final] = ACTIONS(3079),
    [anon_sym_inout] = ACTIONS(3079),
    [anon_sym_ATescaping] = ACTIONS(3079),
    [anon_sym_ATautoclosure] = ACTIONS(3079),
    [anon_sym_weak] = ACTIONS(3079),
    [anon_sym_unowned] = ACTIONS(3077),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3079),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3079),
    [anon_sym_borrowing] = ACTIONS(3079),
    [anon_sym_consuming] = ACTIONS(3079),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(5170),
    [sym__eq_custom] = ACTIONS(3079),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym_where_keyword] = ACTIONS(3079),
    [sym__as_custom] = ACTIONS(3079),
    [sym__async_keyword_custom] = ACTIONS(5172),
  },
  [1723] = {
    [sym__dot] = STATE(5461),
    [aux_sym_user_type_repeat1] = STATE(1723),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(2993),
    [anon_sym_async] = ACTIONS(2993),
    [anon_sym_lazy] = ACTIONS(2993),
    [anon_sym_package] = ACTIONS(2993),
    [anon_sym_COMMA] = ACTIONS(2993),
    [anon_sym_COLON] = ACTIONS(2993),
    [anon_sym_DOT] = ACTIONS(2993),
    [anon_sym_QMARK] = ACTIONS(2991),
    [anon_sym_QMARK2] = ACTIONS(2993),
    [anon_sym_AMP] = ACTIONS(2993),
    [anon_sym_LBRACE] = ACTIONS(2993),
    [anon_sym_RBRACE] = ACTIONS(2993),
    [anon_sym_case] = ACTIONS(2993),
    [anon_sym_import] = ACTIONS(2993),
    [anon_sym_typealias] = ACTIONS(2993),
    [anon_sym_struct] = ACTIONS(2993),
    [anon_sym_class] = ACTIONS(2993),
    [anon_sym_enum] = ACTIONS(2993),
    [anon_sym_protocol] = ACTIONS(2993),
    [anon_sym_let] = ACTIONS(2993),
    [anon_sym_var] = ACTIONS(2993),
    [anon_sym_func] = ACTIONS(2993),
    [anon_sym_extension] = ACTIONS(2993),
    [anon_sym_indirect] = ACTIONS(2993),
    [anon_sym_init] = ACTIONS(2993),
    [anon_sym_deinit] = ACTIONS(2993),
    [anon_sym_subscript] = ACTIONS(2993),
    [anon_sym_prefix] = ACTIONS(2993),
    [anon_sym_infix] = ACTIONS(2993),
    [anon_sym_postfix] = ACTIONS(2993),
    [anon_sym_precedencegroup] = ACTIONS(2993),
    [anon_sym_associatedtype] = ACTIONS(2993),
    [anon_sym_AT] = ACTIONS(2991),
    [anon_sym_override] = ACTIONS(2993),
    [anon_sym_convenience] = ACTIONS(2993),
    [anon_sym_required] = ACTIONS(2993),
    [anon_sym_nonisolated] = ACTIONS(2993),
    [anon_sym_public] = ACTIONS(2993),
    [anon_sym_private] = ACTIONS(2993),
    [anon_sym_internal] = ACTIONS(2993),
    [anon_sym_fileprivate] = ACTIONS(2993),
    [anon_sym_open] = ACTIONS(2993),
    [anon_sym_mutating] = ACTIONS(2993),
    [anon_sym_nonmutating] = ACTIONS(2993),
    [anon_sym_static] = ACTIONS(2993),
    [anon_sym_dynamic] = ACTIONS(2993),
    [anon_sym_optional] = ACTIONS(2993),
    [anon_sym_distributed] = ACTIONS(2993),
    [anon_sym_final] = ACTIONS(2993),
    [anon_sym_inout] = ACTIONS(2993),
    [anon_sym_ATescaping] = ACTIONS(2993),
    [anon_sym_ATautoclosure] = ACTIONS(2993),
    [anon_sym_weak] = ACTIONS(2993),
    [anon_sym_unowned] = ACTIONS(2991),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2993),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2993),
    [anon_sym_borrowing] = ACTIONS(2993),
    [anon_sym_consuming] = ACTIONS(2993),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(2993),
    [sym__dot_custom] = ACTIONS(5188),
    [sym__eq_custom] = ACTIONS(2993),
    [sym__throws_keyword] = ACTIONS(2993),
    [sym__rethrows_keyword] = ACTIONS(2993),
    [sym_where_keyword] = ACTIONS(2993),
    [sym__as_custom] = ACTIONS(2993),
    [sym__async_keyword_custom] = ACTIONS(2993),
  },
  [1724] = {
    [sym_simple_identifier] = STATE(8670),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [aux_sym__fn_call_lambda_arguments_repeat1] = STATE(1713),
    [anon_sym_BANG] = ACTIONS(3021),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3012),
    [aux_sym_simple_identifier_token2] = ACTIONS(3014),
    [aux_sym_simple_identifier_token3] = ACTIONS(3014),
    [aux_sym_simple_identifier_token4] = ACTIONS(3014),
    [anon_sym_actor] = ACTIONS(3012),
    [anon_sym_async] = ACTIONS(3012),
    [anon_sym_each] = ACTIONS(3012),
    [anon_sym_lazy] = ACTIONS(3012),
    [anon_sym_repeat] = ACTIONS(3012),
    [anon_sym_package] = ACTIONS(3012),
    [anon_sym_COMMA] = ACTIONS(3026),
    [anon_sym_LPAREN] = ACTIONS(3026),
    [anon_sym_LBRACK] = ACTIONS(3026),
    [anon_sym_QMARK] = ACTIONS(3021),
    [anon_sym_QMARK2] = ACTIONS(3026),
    [anon_sym_AMP] = ACTIONS(3026),
    [aux_sym_custom_operator_token1] = ACTIONS(3026),
    [anon_sym_LT] = ACTIONS(3021),
    [anon_sym_GT] = ACTIONS(3021),
    [anon_sym_LBRACE] = ACTIONS(3026),
    [anon_sym_CARET_LBRACE] = ACTIONS(3026),
    [anon_sym_RBRACE] = ACTIONS(3026),
    [anon_sym_PLUS_EQ] = ACTIONS(3026),
    [anon_sym_DASH_EQ] = ACTIONS(3026),
    [anon_sym_STAR_EQ] = ACTIONS(3026),
    [anon_sym_SLASH_EQ] = ACTIONS(3026),
    [anon_sym_PERCENT_EQ] = ACTIONS(3026),
    [anon_sym_BANG_EQ] = ACTIONS(3021),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3026),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3026),
    [anon_sym_LT_EQ] = ACTIONS(3026),
    [anon_sym_GT_EQ] = ACTIONS(3026),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3026),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3026),
    [anon_sym_is] = ACTIONS(3021),
    [anon_sym_PLUS] = ACTIONS(3021),
    [anon_sym_DASH] = ACTIONS(3021),
    [anon_sym_STAR] = ACTIONS(3021),
    [anon_sym_SLASH] = ACTIONS(3021),
    [anon_sym_PERCENT] = ACTIONS(3021),
    [anon_sym_PLUS_PLUS] = ACTIONS(3026),
    [anon_sym_DASH_DASH] = ACTIONS(3026),
    [anon_sym_PIPE] = ACTIONS(3026),
    [anon_sym_CARET] = ACTIONS(3021),
    [anon_sym_LT_LT] = ACTIONS(3026),
    [anon_sym_GT_GT] = ACTIONS(3026),
    [anon_sym_borrowing] = ACTIONS(3012),
    [anon_sym_consuming] = ACTIONS(3012),
    [sym_multiline_comment] = ACTIONS(3026),
    [sym__implicit_semi] = ACTIONS(3026),
    [sym__explicit_semi] = ACTIONS(3026),
    [sym__dot_custom] = ACTIONS(3026),
    [sym__conjunction_operator_custom] = ACTIONS(3026),
    [sym__disjunction_operator_custom] = ACTIONS(3026),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3026),
    [sym__eq_custom] = ACTIONS(3026),
    [sym__eq_eq_custom] = ACTIONS(3026),
    [sym__plus_then_ws] = ACTIONS(3026),
    [sym__minus_then_ws] = ACTIONS(3026),
    [sym__bang_custom] = ACTIONS(3026),
    [sym__as_custom] = ACTIONS(3026),
    [sym__as_quest_custom] = ACTIONS(3026),
    [sym__as_bang_custom] = ACTIONS(3026),
    [sym__custom_operator] = ACTIONS(3026),
  },
  [1725] = {
    [sym__arrow_operator] = STATE(4193),
    [sym__async_keyword] = STATE(6980),
    [sym_throws] = STATE(8541),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1795),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3067),
    [anon_sym_async] = ACTIONS(3067),
    [anon_sym_lazy] = ACTIONS(3067),
    [anon_sym_package] = ACTIONS(3067),
    [anon_sym_COMMA] = ACTIONS(3067),
    [anon_sym_COLON] = ACTIONS(3067),
    [anon_sym_DOT] = ACTIONS(5174),
    [anon_sym_QMARK] = ACTIONS(3067),
    [anon_sym_AMP] = ACTIONS(5176),
    [anon_sym_LBRACE] = ACTIONS(3067),
    [anon_sym_RBRACE] = ACTIONS(3067),
    [anon_sym_case] = ACTIONS(3067),
    [anon_sym_import] = ACTIONS(3067),
    [anon_sym_typealias] = ACTIONS(3067),
    [anon_sym_struct] = ACTIONS(3067),
    [anon_sym_class] = ACTIONS(3067),
    [anon_sym_enum] = ACTIONS(3067),
    [anon_sym_protocol] = ACTIONS(3067),
    [anon_sym_let] = ACTIONS(3067),
    [anon_sym_var] = ACTIONS(3067),
    [anon_sym_func] = ACTIONS(3067),
    [anon_sym_extension] = ACTIONS(3067),
    [anon_sym_indirect] = ACTIONS(3067),
    [anon_sym_init] = ACTIONS(3067),
    [anon_sym_deinit] = ACTIONS(3067),
    [anon_sym_subscript] = ACTIONS(3067),
    [anon_sym_prefix] = ACTIONS(3067),
    [anon_sym_infix] = ACTIONS(3067),
    [anon_sym_postfix] = ACTIONS(3067),
    [anon_sym_precedencegroup] = ACTIONS(3067),
    [anon_sym_associatedtype] = ACTIONS(3067),
    [anon_sym_AT] = ACTIONS(3065),
    [anon_sym_override] = ACTIONS(3067),
    [anon_sym_convenience] = ACTIONS(3067),
    [anon_sym_required] = ACTIONS(3067),
    [anon_sym_nonisolated] = ACTIONS(3067),
    [anon_sym_public] = ACTIONS(3067),
    [anon_sym_private] = ACTIONS(3067),
    [anon_sym_internal] = ACTIONS(3067),
    [anon_sym_fileprivate] = ACTIONS(3067),
    [anon_sym_open] = ACTIONS(3067),
    [anon_sym_mutating] = ACTIONS(3067),
    [anon_sym_nonmutating] = ACTIONS(3067),
    [anon_sym_static] = ACTIONS(3067),
    [anon_sym_dynamic] = ACTIONS(3067),
    [anon_sym_optional] = ACTIONS(3067),
    [anon_sym_distributed] = ACTIONS(3067),
    [anon_sym_final] = ACTIONS(3067),
    [anon_sym_inout] = ACTIONS(3067),
    [anon_sym_ATescaping] = ACTIONS(3067),
    [anon_sym_ATautoclosure] = ACTIONS(3067),
    [anon_sym_weak] = ACTIONS(3067),
    [anon_sym_unowned] = ACTIONS(3065),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3067),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3067),
    [anon_sym_borrowing] = ACTIONS(3067),
    [anon_sym_consuming] = ACTIONS(3067),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(5170),
    [sym__eq_custom] = ACTIONS(3067),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym_where_keyword] = ACTIONS(3067),
    [sym__as_custom] = ACTIONS(3067),
    [sym__async_keyword_custom] = ACTIONS(5172),
  },
  [1726] = {
    [sym__arrow_operator] = STATE(4193),
    [sym__async_keyword] = STATE(6980),
    [sym_throws] = STATE(8541),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1795),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3071),
    [anon_sym_async] = ACTIONS(3071),
    [anon_sym_lazy] = ACTIONS(3071),
    [anon_sym_package] = ACTIONS(3071),
    [anon_sym_COMMA] = ACTIONS(3071),
    [anon_sym_COLON] = ACTIONS(3071),
    [anon_sym_DOT] = ACTIONS(3071),
    [anon_sym_QMARK] = ACTIONS(3071),
    [anon_sym_AMP] = ACTIONS(3071),
    [anon_sym_LBRACE] = ACTIONS(3071),
    [anon_sym_RBRACE] = ACTIONS(3071),
    [anon_sym_case] = ACTIONS(3071),
    [anon_sym_import] = ACTIONS(3071),
    [anon_sym_typealias] = ACTIONS(3071),
    [anon_sym_struct] = ACTIONS(3071),
    [anon_sym_class] = ACTIONS(3071),
    [anon_sym_enum] = ACTIONS(3071),
    [anon_sym_protocol] = ACTIONS(3071),
    [anon_sym_let] = ACTIONS(3071),
    [anon_sym_var] = ACTIONS(3071),
    [anon_sym_func] = ACTIONS(3071),
    [anon_sym_extension] = ACTIONS(3071),
    [anon_sym_indirect] = ACTIONS(3071),
    [anon_sym_init] = ACTIONS(3071),
    [anon_sym_deinit] = ACTIONS(3071),
    [anon_sym_subscript] = ACTIONS(3071),
    [anon_sym_prefix] = ACTIONS(3071),
    [anon_sym_infix] = ACTIONS(3071),
    [anon_sym_postfix] = ACTIONS(3071),
    [anon_sym_precedencegroup] = ACTIONS(3071),
    [anon_sym_associatedtype] = ACTIONS(3071),
    [anon_sym_AT] = ACTIONS(3069),
    [anon_sym_override] = ACTIONS(3071),
    [anon_sym_convenience] = ACTIONS(3071),
    [anon_sym_required] = ACTIONS(3071),
    [anon_sym_nonisolated] = ACTIONS(3071),
    [anon_sym_public] = ACTIONS(3071),
    [anon_sym_private] = ACTIONS(3071),
    [anon_sym_internal] = ACTIONS(3071),
    [anon_sym_fileprivate] = ACTIONS(3071),
    [anon_sym_open] = ACTIONS(3071),
    [anon_sym_mutating] = ACTIONS(3071),
    [anon_sym_nonmutating] = ACTIONS(3071),
    [anon_sym_static] = ACTIONS(3071),
    [anon_sym_dynamic] = ACTIONS(3071),
    [anon_sym_optional] = ACTIONS(3071),
    [anon_sym_distributed] = ACTIONS(3071),
    [anon_sym_final] = ACTIONS(3071),
    [anon_sym_inout] = ACTIONS(3071),
    [anon_sym_ATescaping] = ACTIONS(3071),
    [anon_sym_ATautoclosure] = ACTIONS(3071),
    [anon_sym_weak] = ACTIONS(3071),
    [anon_sym_unowned] = ACTIONS(3069),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3071),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3071),
    [anon_sym_borrowing] = ACTIONS(3071),
    [anon_sym_consuming] = ACTIONS(3071),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3071),
    [sym__eq_custom] = ACTIONS(3071),
    [sym__throws_keyword] = ACTIONS(3071),
    [sym__rethrows_keyword] = ACTIONS(3071),
    [sym_where_keyword] = ACTIONS(3071),
    [sym__as_custom] = ACTIONS(3071),
    [sym__async_keyword_custom] = ACTIONS(3071),
  },
  [1727] = {
    [sym__arrow_operator] = STATE(4193),
    [sym__async_keyword] = STATE(6980),
    [sym_throws] = STATE(8541),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1795),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3075),
    [anon_sym_async] = ACTIONS(3075),
    [anon_sym_lazy] = ACTIONS(3075),
    [anon_sym_package] = ACTIONS(3075),
    [anon_sym_COMMA] = ACTIONS(3075),
    [anon_sym_COLON] = ACTIONS(3075),
    [anon_sym_DOT] = ACTIONS(5174),
    [anon_sym_QMARK] = ACTIONS(3075),
    [anon_sym_AMP] = ACTIONS(5176),
    [anon_sym_LBRACE] = ACTIONS(3075),
    [anon_sym_RBRACE] = ACTIONS(3075),
    [anon_sym_case] = ACTIONS(3075),
    [anon_sym_import] = ACTIONS(3075),
    [anon_sym_typealias] = ACTIONS(3075),
    [anon_sym_struct] = ACTIONS(3075),
    [anon_sym_class] = ACTIONS(3075),
    [anon_sym_enum] = ACTIONS(3075),
    [anon_sym_protocol] = ACTIONS(3075),
    [anon_sym_let] = ACTIONS(3075),
    [anon_sym_var] = ACTIONS(3075),
    [anon_sym_func] = ACTIONS(3075),
    [anon_sym_extension] = ACTIONS(3075),
    [anon_sym_indirect] = ACTIONS(3075),
    [anon_sym_init] = ACTIONS(3075),
    [anon_sym_deinit] = ACTIONS(3075),
    [anon_sym_subscript] = ACTIONS(3075),
    [anon_sym_prefix] = ACTIONS(3075),
    [anon_sym_infix] = ACTIONS(3075),
    [anon_sym_postfix] = ACTIONS(3075),
    [anon_sym_precedencegroup] = ACTIONS(3075),
    [anon_sym_associatedtype] = ACTIONS(3075),
    [anon_sym_AT] = ACTIONS(3073),
    [anon_sym_override] = ACTIONS(3075),
    [anon_sym_convenience] = ACTIONS(3075),
    [anon_sym_required] = ACTIONS(3075),
    [anon_sym_nonisolated] = ACTIONS(3075),
    [anon_sym_public] = ACTIONS(3075),
    [anon_sym_private] = ACTIONS(3075),
    [anon_sym_internal] = ACTIONS(3075),
    [anon_sym_fileprivate] = ACTIONS(3075),
    [anon_sym_open] = ACTIONS(3075),
    [anon_sym_mutating] = ACTIONS(3075),
    [anon_sym_nonmutating] = ACTIONS(3075),
    [anon_sym_static] = ACTIONS(3075),
    [anon_sym_dynamic] = ACTIONS(3075),
    [anon_sym_optional] = ACTIONS(3075),
    [anon_sym_distributed] = ACTIONS(3075),
    [anon_sym_final] = ACTIONS(3075),
    [anon_sym_inout] = ACTIONS(3075),
    [anon_sym_ATescaping] = ACTIONS(3075),
    [anon_sym_ATautoclosure] = ACTIONS(3075),
    [anon_sym_weak] = ACTIONS(3075),
    [anon_sym_unowned] = ACTIONS(3073),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3075),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3075),
    [anon_sym_borrowing] = ACTIONS(3075),
    [anon_sym_consuming] = ACTIONS(3075),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(5170),
    [sym__eq_custom] = ACTIONS(3075),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym_where_keyword] = ACTIONS(3075),
    [sym__as_custom] = ACTIONS(3075),
    [sym__async_keyword_custom] = ACTIONS(5172),
  },
  [1728] = {
    [sym_simple_identifier] = STATE(6539),
    [sym__contextual_simple_identifier] = STATE(6812),
    [sym__parameter_ownership_modifier] = STATE(6812),
    [ts_builtin_sym_end] = ACTIONS(617),
    [anon_sym_BANG] = ACTIONS(623),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3755),
    [aux_sym_simple_identifier_token2] = ACTIONS(3757),
    [aux_sym_simple_identifier_token3] = ACTIONS(3757),
    [aux_sym_simple_identifier_token4] = ACTIONS(3757),
    [anon_sym_actor] = ACTIONS(3755),
    [anon_sym_async] = ACTIONS(3755),
    [anon_sym_each] = ACTIONS(3755),
    [anon_sym_lazy] = ACTIONS(3755),
    [anon_sym_repeat] = ACTIONS(3755),
    [anon_sym_package] = ACTIONS(3755),
    [anon_sym_LPAREN] = ACTIONS(617),
    [anon_sym_LBRACK] = ACTIONS(617),
    [anon_sym_QMARK] = ACTIONS(623),
    [anon_sym_QMARK2] = ACTIONS(617),
    [anon_sym_AMP] = ACTIONS(617),
    [aux_sym_custom_operator_token1] = ACTIONS(617),
    [anon_sym_LT] = ACTIONS(623),
    [anon_sym_GT] = ACTIONS(623),
    [anon_sym_LBRACE] = ACTIONS(617),
    [anon_sym_CARET_LBRACE] = ACTIONS(617),
    [anon_sym_RBRACE] = ACTIONS(617),
    [anon_sym_PLUS_EQ] = ACTIONS(617),
    [anon_sym_DASH_EQ] = ACTIONS(617),
    [anon_sym_STAR_EQ] = ACTIONS(617),
    [anon_sym_SLASH_EQ] = ACTIONS(617),
    [anon_sym_PERCENT_EQ] = ACTIONS(617),
    [anon_sym_BANG_EQ] = ACTIONS(623),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(617),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(617),
    [anon_sym_LT_EQ] = ACTIONS(617),
    [anon_sym_GT_EQ] = ACTIONS(617),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(617),
    [anon_sym_DOT_DOT_LT] = ACTIONS(617),
    [anon_sym_is] = ACTIONS(623),
    [anon_sym_PLUS] = ACTIONS(623),
    [anon_sym_DASH] = ACTIONS(623),
    [anon_sym_STAR] = ACTIONS(623),
    [anon_sym_SLASH] = ACTIONS(623),
    [anon_sym_PERCENT] = ACTIONS(623),
    [anon_sym_PLUS_PLUS] = ACTIONS(617),
    [anon_sym_DASH_DASH] = ACTIONS(617),
    [anon_sym_PIPE] = ACTIONS(617),
    [anon_sym_CARET] = ACTIONS(623),
    [anon_sym_LT_LT] = ACTIONS(617),
    [anon_sym_GT_GT] = ACTIONS(617),
    [anon_sym_borrowing] = ACTIONS(3755),
    [anon_sym_consuming] = ACTIONS(3755),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(617),
    [sym__explicit_semi] = ACTIONS(617),
    [sym__dot_custom] = ACTIONS(617),
    [sym__conjunction_operator_custom] = ACTIONS(617),
    [sym__disjunction_operator_custom] = ACTIONS(617),
    [sym__nil_coalescing_operator_custom] = ACTIONS(617),
    [sym__eq_custom] = ACTIONS(617),
    [sym__eq_eq_custom] = ACTIONS(617),
    [sym__plus_then_ws] = ACTIONS(617),
    [sym__minus_then_ws] = ACTIONS(617),
    [sym__bang_custom] = ACTIONS(617),
    [sym__as_custom] = ACTIONS(617),
    [sym__as_quest_custom] = ACTIONS(617),
    [sym__as_bang_custom] = ACTIONS(617),
    [sym__custom_operator] = ACTIONS(617),
  },
  [1729] = {
    [sym_simple_identifier] = STATE(8769),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [aux_sym__fn_call_lambda_arguments_repeat1] = STATE(1733),
    [anon_sym_BANG] = ACTIONS(3010),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3012),
    [aux_sym_simple_identifier_token2] = ACTIONS(3014),
    [aux_sym_simple_identifier_token3] = ACTIONS(3014),
    [aux_sym_simple_identifier_token4] = ACTIONS(3014),
    [anon_sym_actor] = ACTIONS(3012),
    [anon_sym_async] = ACTIONS(3012),
    [anon_sym_each] = ACTIONS(3012),
    [anon_sym_lazy] = ACTIONS(3012),
    [anon_sym_repeat] = ACTIONS(3012),
    [anon_sym_package] = ACTIONS(3012),
    [anon_sym_COMMA] = ACTIONS(3019),
    [anon_sym_COLON] = ACTIONS(3019),
    [anon_sym_LPAREN] = ACTIONS(3019),
    [anon_sym_LBRACK] = ACTIONS(3019),
    [anon_sym_QMARK] = ACTIONS(3010),
    [anon_sym_QMARK2] = ACTIONS(3019),
    [anon_sym_AMP] = ACTIONS(3019),
    [aux_sym_custom_operator_token1] = ACTIONS(3019),
    [anon_sym_LT] = ACTIONS(3010),
    [anon_sym_GT] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(3019),
    [anon_sym_CARET_LBRACE] = ACTIONS(3019),
    [anon_sym_PLUS_EQ] = ACTIONS(3019),
    [anon_sym_DASH_EQ] = ACTIONS(3019),
    [anon_sym_STAR_EQ] = ACTIONS(3019),
    [anon_sym_SLASH_EQ] = ACTIONS(3019),
    [anon_sym_PERCENT_EQ] = ACTIONS(3019),
    [anon_sym_BANG_EQ] = ACTIONS(3010),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3019),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3019),
    [anon_sym_LT_EQ] = ACTIONS(3019),
    [anon_sym_GT_EQ] = ACTIONS(3019),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3019),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3019),
    [anon_sym_is] = ACTIONS(3010),
    [anon_sym_PLUS] = ACTIONS(3010),
    [anon_sym_DASH] = ACTIONS(3010),
    [anon_sym_STAR] = ACTIONS(3010),
    [anon_sym_SLASH] = ACTIONS(3010),
    [anon_sym_PERCENT] = ACTIONS(3010),
    [anon_sym_PLUS_PLUS] = ACTIONS(3019),
    [anon_sym_DASH_DASH] = ACTIONS(3019),
    [anon_sym_PIPE] = ACTIONS(3019),
    [anon_sym_CARET] = ACTIONS(3010),
    [anon_sym_LT_LT] = ACTIONS(3019),
    [anon_sym_GT_GT] = ACTIONS(3019),
    [anon_sym_borrowing] = ACTIONS(3012),
    [anon_sym_consuming] = ACTIONS(3012),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3019),
    [sym__conjunction_operator_custom] = ACTIONS(3019),
    [sym__disjunction_operator_custom] = ACTIONS(3019),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3019),
    [sym__eq_custom] = ACTIONS(3019),
    [sym__eq_eq_custom] = ACTIONS(3019),
    [sym__plus_then_ws] = ACTIONS(3019),
    [sym__minus_then_ws] = ACTIONS(3019),
    [sym__bang_custom] = ACTIONS(3019),
    [sym_where_keyword] = ACTIONS(3019),
    [sym__as_custom] = ACTIONS(3019),
    [sym__as_quest_custom] = ACTIONS(3019),
    [sym__as_bang_custom] = ACTIONS(3019),
    [sym__custom_operator] = ACTIONS(3019),
  },
  [1730] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3204),
    [anon_sym_async] = ACTIONS(3204),
    [anon_sym_lazy] = ACTIONS(3204),
    [anon_sym_package] = ACTIONS(3204),
    [anon_sym_RPAREN] = ACTIONS(3204),
    [anon_sym_COMMA] = ACTIONS(3204),
    [anon_sym_COLON] = ACTIONS(3204),
    [anon_sym_BANG2] = ACTIONS(3204),
    [anon_sym_DOT] = ACTIONS(3202),
    [anon_sym_QMARK2] = ACTIONS(3204),
    [anon_sym_AMP] = ACTIONS(3204),
    [anon_sym_LT] = ACTIONS(3204),
    [anon_sym_LBRACE] = ACTIONS(3204),
    [anon_sym_RBRACE] = ACTIONS(3204),
    [anon_sym_case] = ACTIONS(3204),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3204),
    [anon_sym_import] = ACTIONS(3204),
    [anon_sym_typealias] = ACTIONS(3204),
    [anon_sym_struct] = ACTIONS(3204),
    [anon_sym_class] = ACTIONS(3204),
    [anon_sym_enum] = ACTIONS(3204),
    [anon_sym_protocol] = ACTIONS(3204),
    [anon_sym_let] = ACTIONS(3204),
    [anon_sym_var] = ACTIONS(3204),
    [anon_sym_func] = ACTIONS(3204),
    [anon_sym_extension] = ACTIONS(3204),
    [anon_sym_indirect] = ACTIONS(3204),
    [anon_sym_init] = ACTIONS(3204),
    [anon_sym_deinit] = ACTIONS(3204),
    [anon_sym_subscript] = ACTIONS(3204),
    [anon_sym_prefix] = ACTIONS(3204),
    [anon_sym_infix] = ACTIONS(3204),
    [anon_sym_postfix] = ACTIONS(3204),
    [anon_sym_precedencegroup] = ACTIONS(3204),
    [anon_sym_associatedtype] = ACTIONS(3204),
    [anon_sym_AT] = ACTIONS(3202),
    [anon_sym_override] = ACTIONS(3204),
    [anon_sym_convenience] = ACTIONS(3204),
    [anon_sym_required] = ACTIONS(3204),
    [anon_sym_nonisolated] = ACTIONS(3204),
    [anon_sym_public] = ACTIONS(3204),
    [anon_sym_private] = ACTIONS(3204),
    [anon_sym_internal] = ACTIONS(3204),
    [anon_sym_fileprivate] = ACTIONS(3204),
    [anon_sym_open] = ACTIONS(3204),
    [anon_sym_mutating] = ACTIONS(3204),
    [anon_sym_nonmutating] = ACTIONS(3204),
    [anon_sym_static] = ACTIONS(3204),
    [anon_sym_dynamic] = ACTIONS(3204),
    [anon_sym_optional] = ACTIONS(3204),
    [anon_sym_distributed] = ACTIONS(3204),
    [anon_sym_final] = ACTIONS(3204),
    [anon_sym_inout] = ACTIONS(3204),
    [anon_sym_ATescaping] = ACTIONS(3204),
    [anon_sym_ATautoclosure] = ACTIONS(3204),
    [anon_sym_weak] = ACTIONS(3204),
    [anon_sym_unowned] = ACTIONS(3202),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3204),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3204),
    [anon_sym_borrowing] = ACTIONS(3204),
    [anon_sym_consuming] = ACTIONS(3204),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3204),
    [sym__dot_custom] = ACTIONS(3204),
    [sym__eq_custom] = ACTIONS(3204),
    [sym__throws_keyword] = ACTIONS(3204),
    [sym__rethrows_keyword] = ACTIONS(3204),
    [sym__async_keyword_custom] = ACTIONS(3204),
  },
  [1731] = {
    [sym_simple_identifier] = STATE(8743),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [aux_sym__fn_call_lambda_arguments_repeat1] = STATE(1731),
    [anon_sym_BANG] = ACTIONS(2981),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2983),
    [aux_sym_simple_identifier_token2] = ACTIONS(2986),
    [aux_sym_simple_identifier_token3] = ACTIONS(2986),
    [aux_sym_simple_identifier_token4] = ACTIONS(2986),
    [anon_sym_actor] = ACTIONS(2983),
    [anon_sym_async] = ACTIONS(2983),
    [anon_sym_each] = ACTIONS(2983),
    [anon_sym_lazy] = ACTIONS(2983),
    [anon_sym_repeat] = ACTIONS(2983),
    [anon_sym_package] = ACTIONS(2983),
    [anon_sym_COMMA] = ACTIONS(2989),
    [anon_sym_LPAREN] = ACTIONS(2989),
    [anon_sym_LBRACK] = ACTIONS(2989),
    [anon_sym_QMARK] = ACTIONS(2981),
    [anon_sym_QMARK2] = ACTIONS(2989),
    [anon_sym_AMP] = ACTIONS(2989),
    [aux_sym_custom_operator_token1] = ACTIONS(2989),
    [anon_sym_LT] = ACTIONS(2981),
    [anon_sym_GT] = ACTIONS(2981),
    [anon_sym_LBRACE] = ACTIONS(2989),
    [anon_sym_CARET_LBRACE] = ACTIONS(2989),
    [anon_sym_PLUS_EQ] = ACTIONS(2989),
    [anon_sym_DASH_EQ] = ACTIONS(2989),
    [anon_sym_STAR_EQ] = ACTIONS(2989),
    [anon_sym_SLASH_EQ] = ACTIONS(2989),
    [anon_sym_PERCENT_EQ] = ACTIONS(2989),
    [anon_sym_BANG_EQ] = ACTIONS(2981),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2989),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2989),
    [anon_sym_LT_EQ] = ACTIONS(2989),
    [anon_sym_GT_EQ] = ACTIONS(2989),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2989),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2989),
    [anon_sym_is] = ACTIONS(2981),
    [anon_sym_PLUS] = ACTIONS(2981),
    [anon_sym_DASH] = ACTIONS(2981),
    [anon_sym_STAR] = ACTIONS(2981),
    [anon_sym_SLASH] = ACTIONS(2981),
    [anon_sym_PERCENT] = ACTIONS(2981),
    [anon_sym_PLUS_PLUS] = ACTIONS(2989),
    [anon_sym_DASH_DASH] = ACTIONS(2989),
    [anon_sym_PIPE] = ACTIONS(2989),
    [anon_sym_CARET] = ACTIONS(2981),
    [anon_sym_LT_LT] = ACTIONS(2989),
    [anon_sym_GT_GT] = ACTIONS(2989),
    [anon_sym_borrowing] = ACTIONS(2983),
    [anon_sym_consuming] = ACTIONS(2983),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2989),
    [sym__conjunction_operator_custom] = ACTIONS(2989),
    [sym__disjunction_operator_custom] = ACTIONS(2989),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2989),
    [sym__eq_custom] = ACTIONS(2989),
    [sym__eq_eq_custom] = ACTIONS(2989),
    [sym__plus_then_ws] = ACTIONS(2989),
    [sym__minus_then_ws] = ACTIONS(2989),
    [sym__bang_custom] = ACTIONS(2989),
    [sym_where_keyword] = ACTIONS(2989),
    [sym_else] = ACTIONS(2989),
    [sym__as_custom] = ACTIONS(2989),
    [sym__as_quest_custom] = ACTIONS(2989),
    [sym__as_bang_custom] = ACTIONS(2989),
    [sym__custom_operator] = ACTIONS(2989),
  },
  [1732] = {
    [sym_attribute] = STATE(1732),
    [aux_sym__locally_permitted_modifiers] = STATE(1732),
    [sym__non_local_scope_modifier] = STATE(1732),
    [sym__locally_permitted_modifier] = STATE(1732),
    [sym_property_behavior_modifier] = STATE(1732),
    [sym_member_modifier] = STATE(1732),
    [sym_visibility_modifier] = STATE(1732),
    [sym_function_modifier] = STATE(1732),
    [sym_mutation_modifier] = STATE(1732),
    [sym_property_modifier] = STATE(1732),
    [sym_inheritance_modifier] = STATE(1732),
    [sym_parameter_modifier] = STATE(1732),
    [sym_ownership_modifier] = STATE(1732),
    [sym__parameter_ownership_modifier] = STATE(2979),
    [aux_sym_modifiers_repeat1] = STATE(1732),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(5191),
    [anon_sym_async] = ACTIONS(5191),
    [anon_sym_lazy] = ACTIONS(5193),
    [anon_sym_package] = ACTIONS(5196),
    [anon_sym_case] = ACTIONS(5191),
    [anon_sym_import] = ACTIONS(5191),
    [anon_sym_typealias] = ACTIONS(5191),
    [anon_sym_struct] = ACTIONS(5191),
    [anon_sym_class] = ACTIONS(5199),
    [anon_sym_enum] = ACTIONS(5191),
    [anon_sym_protocol] = ACTIONS(5191),
    [anon_sym_let] = ACTIONS(5191),
    [anon_sym_var] = ACTIONS(5191),
    [anon_sym_func] = ACTIONS(5191),
    [anon_sym_willSet] = ACTIONS(5191),
    [anon_sym_didSet] = ACTIONS(5191),
    [anon_sym_macro] = ACTIONS(5191),
    [anon_sym_extension] = ACTIONS(5191),
    [anon_sym_indirect] = ACTIONS(5191),
    [anon_sym_init] = ACTIONS(5191),
    [anon_sym_deinit] = ACTIONS(5191),
    [anon_sym_subscript] = ACTIONS(5191),
    [anon_sym_prefix] = ACTIONS(5202),
    [anon_sym_infix] = ACTIONS(5202),
    [anon_sym_postfix] = ACTIONS(5202),
    [anon_sym_associatedtype] = ACTIONS(5191),
    [anon_sym_AT] = ACTIONS(5205),
    [anon_sym_override] = ACTIONS(5208),
    [anon_sym_convenience] = ACTIONS(5208),
    [anon_sym_required] = ACTIONS(5208),
    [anon_sym_nonisolated] = ACTIONS(5208),
    [anon_sym_public] = ACTIONS(5196),
    [anon_sym_private] = ACTIONS(5196),
    [anon_sym_internal] = ACTIONS(5196),
    [anon_sym_fileprivate] = ACTIONS(5196),
    [anon_sym_open] = ACTIONS(5196),
    [anon_sym_mutating] = ACTIONS(5211),
    [anon_sym_nonmutating] = ACTIONS(5211),
    [anon_sym_static] = ACTIONS(5199),
    [anon_sym_dynamic] = ACTIONS(5199),
    [anon_sym_optional] = ACTIONS(5199),
    [anon_sym_distributed] = ACTIONS(5199),
    [anon_sym_final] = ACTIONS(5214),
    [anon_sym_inout] = ACTIONS(5217),
    [anon_sym_ATescaping] = ACTIONS(5217),
    [anon_sym_ATautoclosure] = ACTIONS(5217),
    [anon_sym_weak] = ACTIONS(5220),
    [anon_sym_unowned] = ACTIONS(5223),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(5220),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(5220),
    [anon_sym_borrowing] = ACTIONS(5217),
    [anon_sym_consuming] = ACTIONS(5217),
    [sym_multiline_comment] = ACTIONS(5),
  },
  [1733] = {
    [sym_simple_identifier] = STATE(8769),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [aux_sym__fn_call_lambda_arguments_repeat1] = STATE(1742),
    [anon_sym_BANG] = ACTIONS(3021),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3012),
    [aux_sym_simple_identifier_token2] = ACTIONS(3014),
    [aux_sym_simple_identifier_token3] = ACTIONS(3014),
    [aux_sym_simple_identifier_token4] = ACTIONS(3014),
    [anon_sym_actor] = ACTIONS(3012),
    [anon_sym_async] = ACTIONS(3012),
    [anon_sym_each] = ACTIONS(3012),
    [anon_sym_lazy] = ACTIONS(3012),
    [anon_sym_repeat] = ACTIONS(3012),
    [anon_sym_package] = ACTIONS(3012),
    [anon_sym_COMMA] = ACTIONS(3026),
    [anon_sym_COLON] = ACTIONS(3026),
    [anon_sym_LPAREN] = ACTIONS(3026),
    [anon_sym_LBRACK] = ACTIONS(3026),
    [anon_sym_QMARK] = ACTIONS(3021),
    [anon_sym_QMARK2] = ACTIONS(3026),
    [anon_sym_AMP] = ACTIONS(3026),
    [aux_sym_custom_operator_token1] = ACTIONS(3026),
    [anon_sym_LT] = ACTIONS(3021),
    [anon_sym_GT] = ACTIONS(3021),
    [anon_sym_LBRACE] = ACTIONS(3026),
    [anon_sym_CARET_LBRACE] = ACTIONS(3026),
    [anon_sym_PLUS_EQ] = ACTIONS(3026),
    [anon_sym_DASH_EQ] = ACTIONS(3026),
    [anon_sym_STAR_EQ] = ACTIONS(3026),
    [anon_sym_SLASH_EQ] = ACTIONS(3026),
    [anon_sym_PERCENT_EQ] = ACTIONS(3026),
    [anon_sym_BANG_EQ] = ACTIONS(3021),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3026),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3026),
    [anon_sym_LT_EQ] = ACTIONS(3026),
    [anon_sym_GT_EQ] = ACTIONS(3026),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3026),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3026),
    [anon_sym_is] = ACTIONS(3021),
    [anon_sym_PLUS] = ACTIONS(3021),
    [anon_sym_DASH] = ACTIONS(3021),
    [anon_sym_STAR] = ACTIONS(3021),
    [anon_sym_SLASH] = ACTIONS(3021),
    [anon_sym_PERCENT] = ACTIONS(3021),
    [anon_sym_PLUS_PLUS] = ACTIONS(3026),
    [anon_sym_DASH_DASH] = ACTIONS(3026),
    [anon_sym_PIPE] = ACTIONS(3026),
    [anon_sym_CARET] = ACTIONS(3021),
    [anon_sym_LT_LT] = ACTIONS(3026),
    [anon_sym_GT_GT] = ACTIONS(3026),
    [anon_sym_borrowing] = ACTIONS(3012),
    [anon_sym_consuming] = ACTIONS(3012),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3026),
    [sym__conjunction_operator_custom] = ACTIONS(3026),
    [sym__disjunction_operator_custom] = ACTIONS(3026),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3026),
    [sym__eq_custom] = ACTIONS(3026),
    [sym__eq_eq_custom] = ACTIONS(3026),
    [sym__plus_then_ws] = ACTIONS(3026),
    [sym__minus_then_ws] = ACTIONS(3026),
    [sym__bang_custom] = ACTIONS(3026),
    [sym_where_keyword] = ACTIONS(3026),
    [sym__as_custom] = ACTIONS(3026),
    [sym__as_quest_custom] = ACTIONS(3026),
    [sym__as_bang_custom] = ACTIONS(3026),
    [sym__custom_operator] = ACTIONS(3026),
  },
  [1734] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3204),
    [anon_sym_async] = ACTIONS(3204),
    [anon_sym_lazy] = ACTIONS(3204),
    [anon_sym_package] = ACTIONS(3204),
    [anon_sym_COMMA] = ACTIONS(3204),
    [anon_sym_COLON] = ACTIONS(3204),
    [anon_sym_DOT] = ACTIONS(3204),
    [anon_sym_QMARK] = ACTIONS(3202),
    [anon_sym_QMARK2] = ACTIONS(3204),
    [anon_sym_AMP] = ACTIONS(3204),
    [anon_sym_LT] = ACTIONS(3204),
    [anon_sym_LBRACE] = ACTIONS(3204),
    [anon_sym_RBRACE] = ACTIONS(3204),
    [anon_sym_case] = ACTIONS(3204),
    [anon_sym_import] = ACTIONS(3204),
    [anon_sym_typealias] = ACTIONS(3204),
    [anon_sym_struct] = ACTIONS(3204),
    [anon_sym_class] = ACTIONS(3204),
    [anon_sym_enum] = ACTIONS(3204),
    [anon_sym_protocol] = ACTIONS(3204),
    [anon_sym_let] = ACTIONS(3204),
    [anon_sym_var] = ACTIONS(3204),
    [anon_sym_func] = ACTIONS(3204),
    [anon_sym_extension] = ACTIONS(3204),
    [anon_sym_indirect] = ACTIONS(3204),
    [anon_sym_init] = ACTIONS(3204),
    [anon_sym_deinit] = ACTIONS(3204),
    [anon_sym_subscript] = ACTIONS(3204),
    [anon_sym_prefix] = ACTIONS(3204),
    [anon_sym_infix] = ACTIONS(3204),
    [anon_sym_postfix] = ACTIONS(3204),
    [anon_sym_precedencegroup] = ACTIONS(3204),
    [anon_sym_associatedtype] = ACTIONS(3204),
    [anon_sym_AT] = ACTIONS(3202),
    [anon_sym_override] = ACTIONS(3204),
    [anon_sym_convenience] = ACTIONS(3204),
    [anon_sym_required] = ACTIONS(3204),
    [anon_sym_nonisolated] = ACTIONS(3204),
    [anon_sym_public] = ACTIONS(3204),
    [anon_sym_private] = ACTIONS(3204),
    [anon_sym_internal] = ACTIONS(3204),
    [anon_sym_fileprivate] = ACTIONS(3204),
    [anon_sym_open] = ACTIONS(3204),
    [anon_sym_mutating] = ACTIONS(3204),
    [anon_sym_nonmutating] = ACTIONS(3204),
    [anon_sym_static] = ACTIONS(3204),
    [anon_sym_dynamic] = ACTIONS(3204),
    [anon_sym_optional] = ACTIONS(3204),
    [anon_sym_distributed] = ACTIONS(3204),
    [anon_sym_final] = ACTIONS(3204),
    [anon_sym_inout] = ACTIONS(3204),
    [anon_sym_ATescaping] = ACTIONS(3204),
    [anon_sym_ATautoclosure] = ACTIONS(3204),
    [anon_sym_weak] = ACTIONS(3204),
    [anon_sym_unowned] = ACTIONS(3202),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3204),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3204),
    [anon_sym_borrowing] = ACTIONS(3204),
    [anon_sym_consuming] = ACTIONS(3204),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3204),
    [sym__dot_custom] = ACTIONS(3204),
    [sym__eq_custom] = ACTIONS(3204),
    [sym__throws_keyword] = ACTIONS(3204),
    [sym__rethrows_keyword] = ACTIONS(3204),
    [sym_where_keyword] = ACTIONS(3204),
    [sym__as_custom] = ACTIONS(3204),
    [sym__async_keyword_custom] = ACTIONS(3204),
  },
  [1735] = {
    [sym_simple_identifier] = STATE(8743),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [aux_sym__fn_call_lambda_arguments_repeat1] = STATE(1736),
    [anon_sym_BANG] = ACTIONS(3010),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3012),
    [aux_sym_simple_identifier_token2] = ACTIONS(3014),
    [aux_sym_simple_identifier_token3] = ACTIONS(3014),
    [aux_sym_simple_identifier_token4] = ACTIONS(3014),
    [anon_sym_actor] = ACTIONS(3012),
    [anon_sym_async] = ACTIONS(3012),
    [anon_sym_each] = ACTIONS(3012),
    [anon_sym_lazy] = ACTIONS(3012),
    [anon_sym_repeat] = ACTIONS(3012),
    [anon_sym_package] = ACTIONS(3012),
    [anon_sym_COMMA] = ACTIONS(3019),
    [anon_sym_LPAREN] = ACTIONS(3019),
    [anon_sym_LBRACK] = ACTIONS(3019),
    [anon_sym_QMARK] = ACTIONS(3010),
    [anon_sym_QMARK2] = ACTIONS(3019),
    [anon_sym_AMP] = ACTIONS(3019),
    [aux_sym_custom_operator_token1] = ACTIONS(3019),
    [anon_sym_LT] = ACTIONS(3010),
    [anon_sym_GT] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(3019),
    [anon_sym_CARET_LBRACE] = ACTIONS(3019),
    [anon_sym_PLUS_EQ] = ACTIONS(3019),
    [anon_sym_DASH_EQ] = ACTIONS(3019),
    [anon_sym_STAR_EQ] = ACTIONS(3019),
    [anon_sym_SLASH_EQ] = ACTIONS(3019),
    [anon_sym_PERCENT_EQ] = ACTIONS(3019),
    [anon_sym_BANG_EQ] = ACTIONS(3010),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3019),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3019),
    [anon_sym_LT_EQ] = ACTIONS(3019),
    [anon_sym_GT_EQ] = ACTIONS(3019),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3019),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3019),
    [anon_sym_is] = ACTIONS(3010),
    [anon_sym_PLUS] = ACTIONS(3010),
    [anon_sym_DASH] = ACTIONS(3010),
    [anon_sym_STAR] = ACTIONS(3010),
    [anon_sym_SLASH] = ACTIONS(3010),
    [anon_sym_PERCENT] = ACTIONS(3010),
    [anon_sym_PLUS_PLUS] = ACTIONS(3019),
    [anon_sym_DASH_DASH] = ACTIONS(3019),
    [anon_sym_PIPE] = ACTIONS(3019),
    [anon_sym_CARET] = ACTIONS(3010),
    [anon_sym_LT_LT] = ACTIONS(3019),
    [anon_sym_GT_GT] = ACTIONS(3019),
    [anon_sym_borrowing] = ACTIONS(3012),
    [anon_sym_consuming] = ACTIONS(3012),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3019),
    [sym__conjunction_operator_custom] = ACTIONS(3019),
    [sym__disjunction_operator_custom] = ACTIONS(3019),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3019),
    [sym__eq_custom] = ACTIONS(3019),
    [sym__eq_eq_custom] = ACTIONS(3019),
    [sym__plus_then_ws] = ACTIONS(3019),
    [sym__minus_then_ws] = ACTIONS(3019),
    [sym__bang_custom] = ACTIONS(3019),
    [sym_where_keyword] = ACTIONS(3019),
    [sym_else] = ACTIONS(3019),
    [sym__as_custom] = ACTIONS(3019),
    [sym__as_quest_custom] = ACTIONS(3019),
    [sym__as_bang_custom] = ACTIONS(3019),
    [sym__custom_operator] = ACTIONS(3019),
  },
  [1736] = {
    [sym_simple_identifier] = STATE(8743),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [aux_sym__fn_call_lambda_arguments_repeat1] = STATE(1731),
    [anon_sym_BANG] = ACTIONS(3021),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3012),
    [aux_sym_simple_identifier_token2] = ACTIONS(3014),
    [aux_sym_simple_identifier_token3] = ACTIONS(3014),
    [aux_sym_simple_identifier_token4] = ACTIONS(3014),
    [anon_sym_actor] = ACTIONS(3012),
    [anon_sym_async] = ACTIONS(3012),
    [anon_sym_each] = ACTIONS(3012),
    [anon_sym_lazy] = ACTIONS(3012),
    [anon_sym_repeat] = ACTIONS(3012),
    [anon_sym_package] = ACTIONS(3012),
    [anon_sym_COMMA] = ACTIONS(3026),
    [anon_sym_LPAREN] = ACTIONS(3026),
    [anon_sym_LBRACK] = ACTIONS(3026),
    [anon_sym_QMARK] = ACTIONS(3021),
    [anon_sym_QMARK2] = ACTIONS(3026),
    [anon_sym_AMP] = ACTIONS(3026),
    [aux_sym_custom_operator_token1] = ACTIONS(3026),
    [anon_sym_LT] = ACTIONS(3021),
    [anon_sym_GT] = ACTIONS(3021),
    [anon_sym_LBRACE] = ACTIONS(3026),
    [anon_sym_CARET_LBRACE] = ACTIONS(3026),
    [anon_sym_PLUS_EQ] = ACTIONS(3026),
    [anon_sym_DASH_EQ] = ACTIONS(3026),
    [anon_sym_STAR_EQ] = ACTIONS(3026),
    [anon_sym_SLASH_EQ] = ACTIONS(3026),
    [anon_sym_PERCENT_EQ] = ACTIONS(3026),
    [anon_sym_BANG_EQ] = ACTIONS(3021),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3026),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3026),
    [anon_sym_LT_EQ] = ACTIONS(3026),
    [anon_sym_GT_EQ] = ACTIONS(3026),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3026),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3026),
    [anon_sym_is] = ACTIONS(3021),
    [anon_sym_PLUS] = ACTIONS(3021),
    [anon_sym_DASH] = ACTIONS(3021),
    [anon_sym_STAR] = ACTIONS(3021),
    [anon_sym_SLASH] = ACTIONS(3021),
    [anon_sym_PERCENT] = ACTIONS(3021),
    [anon_sym_PLUS_PLUS] = ACTIONS(3026),
    [anon_sym_DASH_DASH] = ACTIONS(3026),
    [anon_sym_PIPE] = ACTIONS(3026),
    [anon_sym_CARET] = ACTIONS(3021),
    [anon_sym_LT_LT] = ACTIONS(3026),
    [anon_sym_GT_GT] = ACTIONS(3026),
    [anon_sym_borrowing] = ACTIONS(3012),
    [anon_sym_consuming] = ACTIONS(3012),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3026),
    [sym__conjunction_operator_custom] = ACTIONS(3026),
    [sym__disjunction_operator_custom] = ACTIONS(3026),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3026),
    [sym__eq_custom] = ACTIONS(3026),
    [sym__eq_eq_custom] = ACTIONS(3026),
    [sym__plus_then_ws] = ACTIONS(3026),
    [sym__minus_then_ws] = ACTIONS(3026),
    [sym__bang_custom] = ACTIONS(3026),
    [sym_where_keyword] = ACTIONS(3026),
    [sym_else] = ACTIONS(3026),
    [sym__as_custom] = ACTIONS(3026),
    [sym__as_quest_custom] = ACTIONS(3026),
    [sym__as_bang_custom] = ACTIONS(3026),
    [sym__custom_operator] = ACTIONS(3026),
  },
  [1737] = {
    [sym_type_arguments] = STATE(1803),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3083),
    [anon_sym_async] = ACTIONS(3083),
    [anon_sym_lazy] = ACTIONS(3083),
    [anon_sym_package] = ACTIONS(3083),
    [anon_sym_RPAREN] = ACTIONS(3083),
    [anon_sym_COMMA] = ACTIONS(3083),
    [anon_sym_BANG2] = ACTIONS(3083),
    [anon_sym_DOT] = ACTIONS(3081),
    [anon_sym_QMARK2] = ACTIONS(3083),
    [anon_sym_AMP] = ACTIONS(3083),
    [anon_sym_LT] = ACTIONS(5226),
    [anon_sym_LBRACE] = ACTIONS(3083),
    [anon_sym_RBRACE] = ACTIONS(3083),
    [anon_sym_case] = ACTIONS(3083),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3083),
    [anon_sym_import] = ACTIONS(3083),
    [anon_sym_typealias] = ACTIONS(3083),
    [anon_sym_struct] = ACTIONS(3083),
    [anon_sym_class] = ACTIONS(3083),
    [anon_sym_enum] = ACTIONS(3083),
    [anon_sym_protocol] = ACTIONS(3083),
    [anon_sym_let] = ACTIONS(3083),
    [anon_sym_var] = ACTIONS(3083),
    [anon_sym_func] = ACTIONS(3083),
    [anon_sym_extension] = ACTIONS(3083),
    [anon_sym_indirect] = ACTIONS(3083),
    [anon_sym_init] = ACTIONS(3083),
    [anon_sym_deinit] = ACTIONS(3083),
    [anon_sym_subscript] = ACTIONS(3083),
    [anon_sym_prefix] = ACTIONS(3083),
    [anon_sym_infix] = ACTIONS(3083),
    [anon_sym_postfix] = ACTIONS(3083),
    [anon_sym_precedencegroup] = ACTIONS(3083),
    [anon_sym_associatedtype] = ACTIONS(3083),
    [anon_sym_AT] = ACTIONS(3081),
    [anon_sym_override] = ACTIONS(3083),
    [anon_sym_convenience] = ACTIONS(3083),
    [anon_sym_required] = ACTIONS(3083),
    [anon_sym_nonisolated] = ACTIONS(3083),
    [anon_sym_public] = ACTIONS(3083),
    [anon_sym_private] = ACTIONS(3083),
    [anon_sym_internal] = ACTIONS(3083),
    [anon_sym_fileprivate] = ACTIONS(3083),
    [anon_sym_open] = ACTIONS(3083),
    [anon_sym_mutating] = ACTIONS(3083),
    [anon_sym_nonmutating] = ACTIONS(3083),
    [anon_sym_static] = ACTIONS(3083),
    [anon_sym_dynamic] = ACTIONS(3083),
    [anon_sym_optional] = ACTIONS(3083),
    [anon_sym_distributed] = ACTIONS(3083),
    [anon_sym_final] = ACTIONS(3083),
    [anon_sym_inout] = ACTIONS(3083),
    [anon_sym_ATescaping] = ACTIONS(3083),
    [anon_sym_ATautoclosure] = ACTIONS(3083),
    [anon_sym_weak] = ACTIONS(3083),
    [anon_sym_unowned] = ACTIONS(3081),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3083),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3083),
    [anon_sym_borrowing] = ACTIONS(3083),
    [anon_sym_consuming] = ACTIONS(3083),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3083),
    [sym__dot_custom] = ACTIONS(3083),
    [sym__eq_custom] = ACTIONS(3083),
    [sym__throws_keyword] = ACTIONS(3083),
    [sym__rethrows_keyword] = ACTIONS(3083),
    [sym__async_keyword_custom] = ACTIONS(3083),
  },
  [1738] = {
    [sym__immediate_quest] = STATE(1738),
    [aux_sym_optional_type_repeat1] = STATE(1738),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3034),
    [anon_sym_async] = ACTIONS(3034),
    [anon_sym_lazy] = ACTIONS(3034),
    [anon_sym_package] = ACTIONS(3034),
    [anon_sym_COMMA] = ACTIONS(3034),
    [anon_sym_COLON] = ACTIONS(3034),
    [anon_sym_DOT] = ACTIONS(3034),
    [anon_sym_QMARK] = ACTIONS(3032),
    [anon_sym_QMARK2] = ACTIONS(5228),
    [anon_sym_AMP] = ACTIONS(3034),
    [anon_sym_LBRACE] = ACTIONS(3034),
    [anon_sym_RBRACE] = ACTIONS(3034),
    [anon_sym_case] = ACTIONS(3034),
    [anon_sym_import] = ACTIONS(3034),
    [anon_sym_typealias] = ACTIONS(3034),
    [anon_sym_struct] = ACTIONS(3034),
    [anon_sym_class] = ACTIONS(3034),
    [anon_sym_enum] = ACTIONS(3034),
    [anon_sym_protocol] = ACTIONS(3034),
    [anon_sym_let] = ACTIONS(3034),
    [anon_sym_var] = ACTIONS(3034),
    [anon_sym_func] = ACTIONS(3034),
    [anon_sym_extension] = ACTIONS(3034),
    [anon_sym_indirect] = ACTIONS(3034),
    [anon_sym_init] = ACTIONS(3034),
    [anon_sym_deinit] = ACTIONS(3034),
    [anon_sym_subscript] = ACTIONS(3034),
    [anon_sym_prefix] = ACTIONS(3034),
    [anon_sym_infix] = ACTIONS(3034),
    [anon_sym_postfix] = ACTIONS(3034),
    [anon_sym_precedencegroup] = ACTIONS(3034),
    [anon_sym_associatedtype] = ACTIONS(3034),
    [anon_sym_AT] = ACTIONS(3032),
    [anon_sym_override] = ACTIONS(3034),
    [anon_sym_convenience] = ACTIONS(3034),
    [anon_sym_required] = ACTIONS(3034),
    [anon_sym_nonisolated] = ACTIONS(3034),
    [anon_sym_public] = ACTIONS(3034),
    [anon_sym_private] = ACTIONS(3034),
    [anon_sym_internal] = ACTIONS(3034),
    [anon_sym_fileprivate] = ACTIONS(3034),
    [anon_sym_open] = ACTIONS(3034),
    [anon_sym_mutating] = ACTIONS(3034),
    [anon_sym_nonmutating] = ACTIONS(3034),
    [anon_sym_static] = ACTIONS(3034),
    [anon_sym_dynamic] = ACTIONS(3034),
    [anon_sym_optional] = ACTIONS(3034),
    [anon_sym_distributed] = ACTIONS(3034),
    [anon_sym_final] = ACTIONS(3034),
    [anon_sym_inout] = ACTIONS(3034),
    [anon_sym_ATescaping] = ACTIONS(3034),
    [anon_sym_ATautoclosure] = ACTIONS(3034),
    [anon_sym_weak] = ACTIONS(3034),
    [anon_sym_unowned] = ACTIONS(3032),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3034),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3034),
    [anon_sym_borrowing] = ACTIONS(3034),
    [anon_sym_consuming] = ACTIONS(3034),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3034),
    [sym__eq_custom] = ACTIONS(3034),
    [sym__throws_keyword] = ACTIONS(3034),
    [sym__rethrows_keyword] = ACTIONS(3034),
    [sym_where_keyword] = ACTIONS(3034),
    [sym__as_custom] = ACTIONS(3034),
    [sym__async_keyword_custom] = ACTIONS(3034),
  },
  [1739] = {
    [sym_simple_identifier] = STATE(8872),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym_type_arguments] = STATE(2086),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [anon_sym_BANG] = ACTIONS(3303),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3012),
    [aux_sym_simple_identifier_token2] = ACTIONS(3014),
    [aux_sym_simple_identifier_token3] = ACTIONS(3014),
    [aux_sym_simple_identifier_token4] = ACTIONS(3014),
    [anon_sym_actor] = ACTIONS(3012),
    [anon_sym_async] = ACTIONS(3012),
    [anon_sym_each] = ACTIONS(3012),
    [anon_sym_lazy] = ACTIONS(3012),
    [anon_sym_repeat] = ACTIONS(3012),
    [anon_sym_package] = ACTIONS(3012),
    [anon_sym_RPAREN] = ACTIONS(5231),
    [anon_sym_COMMA] = ACTIONS(5231),
    [anon_sym_COLON] = ACTIONS(5234),
    [anon_sym_LPAREN] = ACTIONS(3307),
    [anon_sym_LBRACK] = ACTIONS(3305),
    [anon_sym_QMARK] = ACTIONS(3303),
    [anon_sym_QMARK2] = ACTIONS(3305),
    [anon_sym_AMP] = ACTIONS(3305),
    [aux_sym_custom_operator_token1] = ACTIONS(3305),
    [anon_sym_LT] = ACTIONS(3310),
    [anon_sym_GT] = ACTIONS(3303),
    [anon_sym_LBRACE] = ACTIONS(3307),
    [anon_sym_CARET_LBRACE] = ACTIONS(3307),
    [anon_sym_PLUS_EQ] = ACTIONS(3305),
    [anon_sym_DASH_EQ] = ACTIONS(3305),
    [anon_sym_STAR_EQ] = ACTIONS(3305),
    [anon_sym_SLASH_EQ] = ACTIONS(3305),
    [anon_sym_PERCENT_EQ] = ACTIONS(3305),
    [anon_sym_BANG_EQ] = ACTIONS(3303),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3305),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3305),
    [anon_sym_LT_EQ] = ACTIONS(3305),
    [anon_sym_GT_EQ] = ACTIONS(3305),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3305),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3305),
    [anon_sym_is] = ACTIONS(3303),
    [anon_sym_PLUS] = ACTIONS(3303),
    [anon_sym_DASH] = ACTIONS(3303),
    [anon_sym_STAR] = ACTIONS(3303),
    [anon_sym_SLASH] = ACTIONS(3303),
    [anon_sym_PERCENT] = ACTIONS(3303),
    [anon_sym_PLUS_PLUS] = ACTIONS(3305),
    [anon_sym_DASH_DASH] = ACTIONS(3305),
    [anon_sym_PIPE] = ACTIONS(3305),
    [anon_sym_CARET] = ACTIONS(3303),
    [anon_sym_LT_LT] = ACTIONS(3305),
    [anon_sym_GT_GT] = ACTIONS(3305),
    [anon_sym_borrowing] = ACTIONS(3012),
    [anon_sym_consuming] = ACTIONS(3012),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3307),
    [sym__conjunction_operator_custom] = ACTIONS(3305),
    [sym__disjunction_operator_custom] = ACTIONS(3305),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3305),
    [sym__eq_custom] = ACTIONS(3305),
    [sym__eq_eq_custom] = ACTIONS(3305),
    [sym__plus_then_ws] = ACTIONS(3305),
    [sym__minus_then_ws] = ACTIONS(3305),
    [sym__bang_custom] = ACTIONS(3305),
    [sym__as_custom] = ACTIONS(3305),
    [sym__as_quest_custom] = ACTIONS(3305),
    [sym__as_bang_custom] = ACTIONS(3305),
    [sym__custom_operator] = ACTIONS(3305),
  },
  [1740] = {
    [sym__immediate_quest] = STATE(1770),
    [sym__arrow_operator] = STATE(4109),
    [sym__async_keyword] = STATE(6900),
    [sym_throws] = STATE(8382),
    [aux_sym_optional_type_repeat1] = STATE(1770),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3000),
    [anon_sym_async] = ACTIONS(3000),
    [anon_sym_lazy] = ACTIONS(3000),
    [anon_sym_package] = ACTIONS(3000),
    [anon_sym_COMMA] = ACTIONS(3000),
    [anon_sym_BANG2] = ACTIONS(3000),
    [anon_sym_DOT] = ACTIONS(3000),
    [anon_sym_QMARK2] = ACTIONS(5236),
    [anon_sym_AMP] = ACTIONS(3000),
    [anon_sym_LBRACE] = ACTIONS(3000),
    [anon_sym_RBRACE] = ACTIONS(3000),
    [anon_sym_case] = ACTIONS(3000),
    [anon_sym_import] = ACTIONS(3000),
    [anon_sym_typealias] = ACTIONS(3000),
    [anon_sym_struct] = ACTIONS(3000),
    [anon_sym_class] = ACTIONS(3000),
    [anon_sym_enum] = ACTIONS(3000),
    [anon_sym_protocol] = ACTIONS(3000),
    [anon_sym_let] = ACTIONS(3000),
    [anon_sym_var] = ACTIONS(3000),
    [anon_sym_func] = ACTIONS(3000),
    [anon_sym_extension] = ACTIONS(3000),
    [anon_sym_indirect] = ACTIONS(3000),
    [anon_sym_init] = ACTIONS(3000),
    [anon_sym_deinit] = ACTIONS(3000),
    [anon_sym_subscript] = ACTIONS(3000),
    [anon_sym_prefix] = ACTIONS(3000),
    [anon_sym_infix] = ACTIONS(3000),
    [anon_sym_postfix] = ACTIONS(3000),
    [anon_sym_precedencegroup] = ACTIONS(3000),
    [anon_sym_associatedtype] = ACTIONS(3000),
    [anon_sym_AT] = ACTIONS(2998),
    [anon_sym_override] = ACTIONS(3000),
    [anon_sym_convenience] = ACTIONS(3000),
    [anon_sym_required] = ACTIONS(3000),
    [anon_sym_nonisolated] = ACTIONS(3000),
    [anon_sym_public] = ACTIONS(3000),
    [anon_sym_private] = ACTIONS(3000),
    [anon_sym_internal] = ACTIONS(3000),
    [anon_sym_fileprivate] = ACTIONS(3000),
    [anon_sym_open] = ACTIONS(3000),
    [anon_sym_mutating] = ACTIONS(3000),
    [anon_sym_nonmutating] = ACTIONS(3000),
    [anon_sym_static] = ACTIONS(3000),
    [anon_sym_dynamic] = ACTIONS(3000),
    [anon_sym_optional] = ACTIONS(3000),
    [anon_sym_distributed] = ACTIONS(3000),
    [anon_sym_final] = ACTIONS(3000),
    [anon_sym_inout] = ACTIONS(3000),
    [anon_sym_ATescaping] = ACTIONS(3000),
    [anon_sym_ATautoclosure] = ACTIONS(3000),
    [anon_sym_weak] = ACTIONS(3000),
    [anon_sym_unowned] = ACTIONS(2998),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3000),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3000),
    [anon_sym_borrowing] = ACTIONS(3000),
    [anon_sym_consuming] = ACTIONS(3000),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(5238),
    [sym__eq_custom] = ACTIONS(3000),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym__async_keyword_custom] = ACTIONS(5240),
  },
  [1741] = {
    [sym__immediate_quest] = STATE(1738),
    [aux_sym_optional_type_repeat1] = STATE(1738),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3030),
    [anon_sym_async] = ACTIONS(3030),
    [anon_sym_lazy] = ACTIONS(3030),
    [anon_sym_package] = ACTIONS(3030),
    [anon_sym_COMMA] = ACTIONS(3030),
    [anon_sym_COLON] = ACTIONS(3030),
    [anon_sym_DOT] = ACTIONS(3030),
    [anon_sym_QMARK] = ACTIONS(3028),
    [anon_sym_QMARK2] = ACTIONS(5168),
    [anon_sym_AMP] = ACTIONS(3030),
    [anon_sym_LBRACE] = ACTIONS(3030),
    [anon_sym_RBRACE] = ACTIONS(3030),
    [anon_sym_case] = ACTIONS(3030),
    [anon_sym_import] = ACTIONS(3030),
    [anon_sym_typealias] = ACTIONS(3030),
    [anon_sym_struct] = ACTIONS(3030),
    [anon_sym_class] = ACTIONS(3030),
    [anon_sym_enum] = ACTIONS(3030),
    [anon_sym_protocol] = ACTIONS(3030),
    [anon_sym_let] = ACTIONS(3030),
    [anon_sym_var] = ACTIONS(3030),
    [anon_sym_func] = ACTIONS(3030),
    [anon_sym_extension] = ACTIONS(3030),
    [anon_sym_indirect] = ACTIONS(3030),
    [anon_sym_init] = ACTIONS(3030),
    [anon_sym_deinit] = ACTIONS(3030),
    [anon_sym_subscript] = ACTIONS(3030),
    [anon_sym_prefix] = ACTIONS(3030),
    [anon_sym_infix] = ACTIONS(3030),
    [anon_sym_postfix] = ACTIONS(3030),
    [anon_sym_precedencegroup] = ACTIONS(3030),
    [anon_sym_associatedtype] = ACTIONS(3030),
    [anon_sym_AT] = ACTIONS(3028),
    [anon_sym_override] = ACTIONS(3030),
    [anon_sym_convenience] = ACTIONS(3030),
    [anon_sym_required] = ACTIONS(3030),
    [anon_sym_nonisolated] = ACTIONS(3030),
    [anon_sym_public] = ACTIONS(3030),
    [anon_sym_private] = ACTIONS(3030),
    [anon_sym_internal] = ACTIONS(3030),
    [anon_sym_fileprivate] = ACTIONS(3030),
    [anon_sym_open] = ACTIONS(3030),
    [anon_sym_mutating] = ACTIONS(3030),
    [anon_sym_nonmutating] = ACTIONS(3030),
    [anon_sym_static] = ACTIONS(3030),
    [anon_sym_dynamic] = ACTIONS(3030),
    [anon_sym_optional] = ACTIONS(3030),
    [anon_sym_distributed] = ACTIONS(3030),
    [anon_sym_final] = ACTIONS(3030),
    [anon_sym_inout] = ACTIONS(3030),
    [anon_sym_ATescaping] = ACTIONS(3030),
    [anon_sym_ATautoclosure] = ACTIONS(3030),
    [anon_sym_weak] = ACTIONS(3030),
    [anon_sym_unowned] = ACTIONS(3028),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3030),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3030),
    [anon_sym_borrowing] = ACTIONS(3030),
    [anon_sym_consuming] = ACTIONS(3030),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3030),
    [sym__eq_custom] = ACTIONS(3030),
    [sym__throws_keyword] = ACTIONS(3030),
    [sym__rethrows_keyword] = ACTIONS(3030),
    [sym_where_keyword] = ACTIONS(3030),
    [sym__as_custom] = ACTIONS(3030),
    [sym__async_keyword_custom] = ACTIONS(3030),
  },
  [1742] = {
    [sym_simple_identifier] = STATE(8769),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [aux_sym__fn_call_lambda_arguments_repeat1] = STATE(1742),
    [anon_sym_BANG] = ACTIONS(2981),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2983),
    [aux_sym_simple_identifier_token2] = ACTIONS(2986),
    [aux_sym_simple_identifier_token3] = ACTIONS(2986),
    [aux_sym_simple_identifier_token4] = ACTIONS(2986),
    [anon_sym_actor] = ACTIONS(2983),
    [anon_sym_async] = ACTIONS(2983),
    [anon_sym_each] = ACTIONS(2983),
    [anon_sym_lazy] = ACTIONS(2983),
    [anon_sym_repeat] = ACTIONS(2983),
    [anon_sym_package] = ACTIONS(2983),
    [anon_sym_COMMA] = ACTIONS(2989),
    [anon_sym_COLON] = ACTIONS(2989),
    [anon_sym_LPAREN] = ACTIONS(2989),
    [anon_sym_LBRACK] = ACTIONS(2989),
    [anon_sym_QMARK] = ACTIONS(2981),
    [anon_sym_QMARK2] = ACTIONS(2989),
    [anon_sym_AMP] = ACTIONS(2989),
    [aux_sym_custom_operator_token1] = ACTIONS(2989),
    [anon_sym_LT] = ACTIONS(2981),
    [anon_sym_GT] = ACTIONS(2981),
    [anon_sym_LBRACE] = ACTIONS(2989),
    [anon_sym_CARET_LBRACE] = ACTIONS(2989),
    [anon_sym_PLUS_EQ] = ACTIONS(2989),
    [anon_sym_DASH_EQ] = ACTIONS(2989),
    [anon_sym_STAR_EQ] = ACTIONS(2989),
    [anon_sym_SLASH_EQ] = ACTIONS(2989),
    [anon_sym_PERCENT_EQ] = ACTIONS(2989),
    [anon_sym_BANG_EQ] = ACTIONS(2981),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2989),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2989),
    [anon_sym_LT_EQ] = ACTIONS(2989),
    [anon_sym_GT_EQ] = ACTIONS(2989),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2989),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2989),
    [anon_sym_is] = ACTIONS(2981),
    [anon_sym_PLUS] = ACTIONS(2981),
    [anon_sym_DASH] = ACTIONS(2981),
    [anon_sym_STAR] = ACTIONS(2981),
    [anon_sym_SLASH] = ACTIONS(2981),
    [anon_sym_PERCENT] = ACTIONS(2981),
    [anon_sym_PLUS_PLUS] = ACTIONS(2989),
    [anon_sym_DASH_DASH] = ACTIONS(2989),
    [anon_sym_PIPE] = ACTIONS(2989),
    [anon_sym_CARET] = ACTIONS(2981),
    [anon_sym_LT_LT] = ACTIONS(2989),
    [anon_sym_GT_GT] = ACTIONS(2989),
    [anon_sym_borrowing] = ACTIONS(2983),
    [anon_sym_consuming] = ACTIONS(2983),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2989),
    [sym__conjunction_operator_custom] = ACTIONS(2989),
    [sym__disjunction_operator_custom] = ACTIONS(2989),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2989),
    [sym__eq_custom] = ACTIONS(2989),
    [sym__eq_eq_custom] = ACTIONS(2989),
    [sym__plus_then_ws] = ACTIONS(2989),
    [sym__minus_then_ws] = ACTIONS(2989),
    [sym__bang_custom] = ACTIONS(2989),
    [sym_where_keyword] = ACTIONS(2989),
    [sym__as_custom] = ACTIONS(2989),
    [sym__as_quest_custom] = ACTIONS(2989),
    [sym__as_bang_custom] = ACTIONS(2989),
    [sym__custom_operator] = ACTIONS(2989),
  },
  [1743] = {
    [sym__immediate_quest] = STATE(1741),
    [aux_sym_optional_type_repeat1] = STATE(1741),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3000),
    [anon_sym_async] = ACTIONS(3000),
    [anon_sym_lazy] = ACTIONS(3000),
    [anon_sym_package] = ACTIONS(3000),
    [anon_sym_COMMA] = ACTIONS(3000),
    [anon_sym_COLON] = ACTIONS(3000),
    [anon_sym_DOT] = ACTIONS(3000),
    [anon_sym_QMARK] = ACTIONS(2998),
    [anon_sym_QMARK2] = ACTIONS(5168),
    [anon_sym_AMP] = ACTIONS(3000),
    [anon_sym_LBRACE] = ACTIONS(3000),
    [anon_sym_RBRACE] = ACTIONS(3000),
    [anon_sym_case] = ACTIONS(3000),
    [anon_sym_import] = ACTIONS(3000),
    [anon_sym_typealias] = ACTIONS(3000),
    [anon_sym_struct] = ACTIONS(3000),
    [anon_sym_class] = ACTIONS(3000),
    [anon_sym_enum] = ACTIONS(3000),
    [anon_sym_protocol] = ACTIONS(3000),
    [anon_sym_let] = ACTIONS(3000),
    [anon_sym_var] = ACTIONS(3000),
    [anon_sym_func] = ACTIONS(3000),
    [anon_sym_extension] = ACTIONS(3000),
    [anon_sym_indirect] = ACTIONS(3000),
    [anon_sym_init] = ACTIONS(3000),
    [anon_sym_deinit] = ACTIONS(3000),
    [anon_sym_subscript] = ACTIONS(3000),
    [anon_sym_prefix] = ACTIONS(3000),
    [anon_sym_infix] = ACTIONS(3000),
    [anon_sym_postfix] = ACTIONS(3000),
    [anon_sym_precedencegroup] = ACTIONS(3000),
    [anon_sym_associatedtype] = ACTIONS(3000),
    [anon_sym_AT] = ACTIONS(2998),
    [anon_sym_override] = ACTIONS(3000),
    [anon_sym_convenience] = ACTIONS(3000),
    [anon_sym_required] = ACTIONS(3000),
    [anon_sym_nonisolated] = ACTIONS(3000),
    [anon_sym_public] = ACTIONS(3000),
    [anon_sym_private] = ACTIONS(3000),
    [anon_sym_internal] = ACTIONS(3000),
    [anon_sym_fileprivate] = ACTIONS(3000),
    [anon_sym_open] = ACTIONS(3000),
    [anon_sym_mutating] = ACTIONS(3000),
    [anon_sym_nonmutating] = ACTIONS(3000),
    [anon_sym_static] = ACTIONS(3000),
    [anon_sym_dynamic] = ACTIONS(3000),
    [anon_sym_optional] = ACTIONS(3000),
    [anon_sym_distributed] = ACTIONS(3000),
    [anon_sym_final] = ACTIONS(3000),
    [anon_sym_inout] = ACTIONS(3000),
    [anon_sym_ATescaping] = ACTIONS(3000),
    [anon_sym_ATautoclosure] = ACTIONS(3000),
    [anon_sym_weak] = ACTIONS(3000),
    [anon_sym_unowned] = ACTIONS(2998),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3000),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3000),
    [anon_sym_borrowing] = ACTIONS(3000),
    [anon_sym_consuming] = ACTIONS(3000),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3000),
    [sym__eq_custom] = ACTIONS(3000),
    [sym__throws_keyword] = ACTIONS(3000),
    [sym__rethrows_keyword] = ACTIONS(3000),
    [sym_where_keyword] = ACTIONS(3000),
    [sym__as_custom] = ACTIONS(3000),
    [sym__async_keyword_custom] = ACTIONS(3000),
  },
  [1744] = {
    [sym__immediate_quest] = STATE(1879),
    [sym__arrow_operator] = STATE(4140),
    [sym__async_keyword] = STATE(6948),
    [sym_throws] = STATE(8504),
    [aux_sym_optional_type_repeat1] = STATE(1879),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3000),
    [anon_sym_async] = ACTIONS(3000),
    [anon_sym_lazy] = ACTIONS(3000),
    [anon_sym_package] = ACTIONS(3000),
    [anon_sym_COMMA] = ACTIONS(3000),
    [anon_sym_BANG2] = ACTIONS(3000),
    [anon_sym_DOT] = ACTIONS(3000),
    [anon_sym_QMARK2] = ACTIONS(5242),
    [anon_sym_AMP] = ACTIONS(3000),
    [anon_sym_LBRACE] = ACTIONS(3000),
    [anon_sym_RBRACE] = ACTIONS(3000),
    [anon_sym_case] = ACTIONS(3000),
    [anon_sym_import] = ACTIONS(3000),
    [anon_sym_typealias] = ACTIONS(3000),
    [anon_sym_struct] = ACTIONS(3000),
    [anon_sym_class] = ACTIONS(3000),
    [anon_sym_enum] = ACTIONS(3000),
    [anon_sym_protocol] = ACTIONS(3000),
    [anon_sym_let] = ACTIONS(3000),
    [anon_sym_var] = ACTIONS(3000),
    [anon_sym_func] = ACTIONS(3000),
    [anon_sym_extension] = ACTIONS(3000),
    [anon_sym_indirect] = ACTIONS(3000),
    [anon_sym_init] = ACTIONS(3000),
    [anon_sym_deinit] = ACTIONS(3000),
    [anon_sym_subscript] = ACTIONS(3000),
    [anon_sym_prefix] = ACTIONS(3000),
    [anon_sym_infix] = ACTIONS(3000),
    [anon_sym_postfix] = ACTIONS(3000),
    [anon_sym_precedencegroup] = ACTIONS(3000),
    [anon_sym_associatedtype] = ACTIONS(3000),
    [anon_sym_AT] = ACTIONS(2998),
    [anon_sym_override] = ACTIONS(3000),
    [anon_sym_convenience] = ACTIONS(3000),
    [anon_sym_required] = ACTIONS(3000),
    [anon_sym_nonisolated] = ACTIONS(3000),
    [anon_sym_public] = ACTIONS(3000),
    [anon_sym_private] = ACTIONS(3000),
    [anon_sym_internal] = ACTIONS(3000),
    [anon_sym_fileprivate] = ACTIONS(3000),
    [anon_sym_open] = ACTIONS(3000),
    [anon_sym_mutating] = ACTIONS(3000),
    [anon_sym_nonmutating] = ACTIONS(3000),
    [anon_sym_static] = ACTIONS(3000),
    [anon_sym_dynamic] = ACTIONS(3000),
    [anon_sym_optional] = ACTIONS(3000),
    [anon_sym_distributed] = ACTIONS(3000),
    [anon_sym_final] = ACTIONS(3000),
    [anon_sym_inout] = ACTIONS(3000),
    [anon_sym_ATescaping] = ACTIONS(3000),
    [anon_sym_ATautoclosure] = ACTIONS(3000),
    [anon_sym_weak] = ACTIONS(3000),
    [anon_sym_unowned] = ACTIONS(2998),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3000),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3000),
    [anon_sym_borrowing] = ACTIONS(3000),
    [anon_sym_consuming] = ACTIONS(3000),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(5244),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym__async_keyword_custom] = ACTIONS(5246),
  },
  [1745] = {
    [sym__arrow_operator] = STATE(4190),
    [sym__async_keyword] = STATE(6942),
    [sym_throws] = STATE(8493),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1876),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3075),
    [anon_sym_async] = ACTIONS(3075),
    [anon_sym_lazy] = ACTIONS(3075),
    [anon_sym_package] = ACTIONS(3075),
    [anon_sym_COMMA] = ACTIONS(3075),
    [anon_sym_BANG2] = ACTIONS(3075),
    [anon_sym_DOT] = ACTIONS(5248),
    [anon_sym_AMP] = ACTIONS(5250),
    [anon_sym_LBRACE] = ACTIONS(3075),
    [anon_sym_RBRACE] = ACTIONS(3075),
    [anon_sym_case] = ACTIONS(3075),
    [anon_sym_import] = ACTIONS(3075),
    [anon_sym_typealias] = ACTIONS(3075),
    [anon_sym_struct] = ACTIONS(3075),
    [anon_sym_class] = ACTIONS(3075),
    [anon_sym_enum] = ACTIONS(3075),
    [anon_sym_protocol] = ACTIONS(3075),
    [anon_sym_let] = ACTIONS(3075),
    [anon_sym_var] = ACTIONS(3075),
    [anon_sym_func] = ACTIONS(3075),
    [anon_sym_extension] = ACTIONS(3075),
    [anon_sym_indirect] = ACTIONS(3075),
    [anon_sym_init] = ACTIONS(3075),
    [anon_sym_deinit] = ACTIONS(3075),
    [anon_sym_subscript] = ACTIONS(3075),
    [anon_sym_prefix] = ACTIONS(3075),
    [anon_sym_infix] = ACTIONS(3075),
    [anon_sym_postfix] = ACTIONS(3075),
    [anon_sym_precedencegroup] = ACTIONS(3075),
    [anon_sym_associatedtype] = ACTIONS(3075),
    [anon_sym_AT] = ACTIONS(3073),
    [anon_sym_override] = ACTIONS(3075),
    [anon_sym_convenience] = ACTIONS(3075),
    [anon_sym_required] = ACTIONS(3075),
    [anon_sym_nonisolated] = ACTIONS(3075),
    [anon_sym_public] = ACTIONS(3075),
    [anon_sym_private] = ACTIONS(3075),
    [anon_sym_internal] = ACTIONS(3075),
    [anon_sym_fileprivate] = ACTIONS(3075),
    [anon_sym_open] = ACTIONS(3075),
    [anon_sym_mutating] = ACTIONS(3075),
    [anon_sym_nonmutating] = ACTIONS(3075),
    [anon_sym_static] = ACTIONS(3075),
    [anon_sym_dynamic] = ACTIONS(3075),
    [anon_sym_optional] = ACTIONS(3075),
    [anon_sym_distributed] = ACTIONS(3075),
    [anon_sym_final] = ACTIONS(3075),
    [anon_sym_inout] = ACTIONS(3075),
    [anon_sym_ATescaping] = ACTIONS(3075),
    [anon_sym_ATautoclosure] = ACTIONS(3075),
    [anon_sym_weak] = ACTIONS(3075),
    [anon_sym_unowned] = ACTIONS(3073),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3075),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3075),
    [anon_sym_borrowing] = ACTIONS(3075),
    [anon_sym_consuming] = ACTIONS(3075),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(5182),
    [sym__eq_custom] = ACTIONS(3075),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym_where_keyword] = ACTIONS(3075),
    [sym__async_keyword_custom] = ACTIONS(5184),
  },
  [1746] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3107),
    [anon_sym_async] = ACTIONS(3107),
    [anon_sym_lazy] = ACTIONS(3107),
    [anon_sym_package] = ACTIONS(3107),
    [anon_sym_COMMA] = ACTIONS(3107),
    [anon_sym_COLON] = ACTIONS(3107),
    [anon_sym_DOT] = ACTIONS(3107),
    [anon_sym_QMARK] = ACTIONS(3105),
    [anon_sym_QMARK2] = ACTIONS(3107),
    [anon_sym_AMP] = ACTIONS(3107),
    [anon_sym_LBRACE] = ACTIONS(3107),
    [anon_sym_RBRACE] = ACTIONS(3107),
    [anon_sym_case] = ACTIONS(3107),
    [anon_sym_import] = ACTIONS(3107),
    [anon_sym_typealias] = ACTIONS(3107),
    [anon_sym_struct] = ACTIONS(3107),
    [anon_sym_class] = ACTIONS(3107),
    [anon_sym_enum] = ACTIONS(3107),
    [anon_sym_protocol] = ACTIONS(3107),
    [anon_sym_let] = ACTIONS(3107),
    [anon_sym_var] = ACTIONS(3107),
    [anon_sym_func] = ACTIONS(3107),
    [anon_sym_extension] = ACTIONS(3107),
    [anon_sym_indirect] = ACTIONS(3107),
    [anon_sym_init] = ACTIONS(3107),
    [anon_sym_deinit] = ACTIONS(3107),
    [anon_sym_subscript] = ACTIONS(3107),
    [anon_sym_prefix] = ACTIONS(3107),
    [anon_sym_infix] = ACTIONS(3107),
    [anon_sym_postfix] = ACTIONS(3107),
    [anon_sym_precedencegroup] = ACTIONS(3107),
    [anon_sym_associatedtype] = ACTIONS(3107),
    [anon_sym_AT] = ACTIONS(3105),
    [anon_sym_override] = ACTIONS(3107),
    [anon_sym_convenience] = ACTIONS(3107),
    [anon_sym_required] = ACTIONS(3107),
    [anon_sym_nonisolated] = ACTIONS(3107),
    [anon_sym_public] = ACTIONS(3107),
    [anon_sym_private] = ACTIONS(3107),
    [anon_sym_internal] = ACTIONS(3107),
    [anon_sym_fileprivate] = ACTIONS(3107),
    [anon_sym_open] = ACTIONS(3107),
    [anon_sym_mutating] = ACTIONS(3107),
    [anon_sym_nonmutating] = ACTIONS(3107),
    [anon_sym_static] = ACTIONS(3107),
    [anon_sym_dynamic] = ACTIONS(3107),
    [anon_sym_optional] = ACTIONS(3107),
    [anon_sym_distributed] = ACTIONS(3107),
    [anon_sym_final] = ACTIONS(3107),
    [anon_sym_inout] = ACTIONS(3107),
    [anon_sym_ATescaping] = ACTIONS(3107),
    [anon_sym_ATautoclosure] = ACTIONS(3107),
    [anon_sym_weak] = ACTIONS(3107),
    [anon_sym_unowned] = ACTIONS(3105),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3107),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3107),
    [anon_sym_borrowing] = ACTIONS(3107),
    [anon_sym_consuming] = ACTIONS(3107),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3107),
    [sym__dot_custom] = ACTIONS(3107),
    [sym__eq_custom] = ACTIONS(3107),
    [sym__throws_keyword] = ACTIONS(3107),
    [sym__rethrows_keyword] = ACTIONS(3107),
    [sym_where_keyword] = ACTIONS(3107),
    [sym__as_custom] = ACTIONS(3107),
    [sym__async_keyword_custom] = ACTIONS(3107),
  },
  [1747] = {
    [sym__arrow_operator] = STATE(4190),
    [sym__async_keyword] = STATE(6942),
    [sym_throws] = STATE(8493),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1876),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3063),
    [anon_sym_async] = ACTIONS(3063),
    [anon_sym_lazy] = ACTIONS(3063),
    [anon_sym_package] = ACTIONS(3063),
    [anon_sym_COMMA] = ACTIONS(3063),
    [anon_sym_BANG2] = ACTIONS(3063),
    [anon_sym_DOT] = ACTIONS(5248),
    [anon_sym_AMP] = ACTIONS(5250),
    [anon_sym_LBRACE] = ACTIONS(3063),
    [anon_sym_RBRACE] = ACTIONS(3063),
    [anon_sym_case] = ACTIONS(3063),
    [anon_sym_import] = ACTIONS(3063),
    [anon_sym_typealias] = ACTIONS(3063),
    [anon_sym_struct] = ACTIONS(3063),
    [anon_sym_class] = ACTIONS(3063),
    [anon_sym_enum] = ACTIONS(3063),
    [anon_sym_protocol] = ACTIONS(3063),
    [anon_sym_let] = ACTIONS(3063),
    [anon_sym_var] = ACTIONS(3063),
    [anon_sym_func] = ACTIONS(3063),
    [anon_sym_extension] = ACTIONS(3063),
    [anon_sym_indirect] = ACTIONS(3063),
    [anon_sym_init] = ACTIONS(3063),
    [anon_sym_deinit] = ACTIONS(3063),
    [anon_sym_subscript] = ACTIONS(3063),
    [anon_sym_prefix] = ACTIONS(3063),
    [anon_sym_infix] = ACTIONS(3063),
    [anon_sym_postfix] = ACTIONS(3063),
    [anon_sym_precedencegroup] = ACTIONS(3063),
    [anon_sym_associatedtype] = ACTIONS(3063),
    [anon_sym_AT] = ACTIONS(3061),
    [anon_sym_override] = ACTIONS(3063),
    [anon_sym_convenience] = ACTIONS(3063),
    [anon_sym_required] = ACTIONS(3063),
    [anon_sym_nonisolated] = ACTIONS(3063),
    [anon_sym_public] = ACTIONS(3063),
    [anon_sym_private] = ACTIONS(3063),
    [anon_sym_internal] = ACTIONS(3063),
    [anon_sym_fileprivate] = ACTIONS(3063),
    [anon_sym_open] = ACTIONS(3063),
    [anon_sym_mutating] = ACTIONS(3063),
    [anon_sym_nonmutating] = ACTIONS(3063),
    [anon_sym_static] = ACTIONS(3063),
    [anon_sym_dynamic] = ACTIONS(3063),
    [anon_sym_optional] = ACTIONS(3063),
    [anon_sym_distributed] = ACTIONS(3063),
    [anon_sym_final] = ACTIONS(3063),
    [anon_sym_inout] = ACTIONS(3063),
    [anon_sym_ATescaping] = ACTIONS(3063),
    [anon_sym_ATautoclosure] = ACTIONS(3063),
    [anon_sym_weak] = ACTIONS(3063),
    [anon_sym_unowned] = ACTIONS(3061),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3063),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3063),
    [anon_sym_borrowing] = ACTIONS(3063),
    [anon_sym_consuming] = ACTIONS(3063),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(5182),
    [sym__eq_custom] = ACTIONS(3063),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym_where_keyword] = ACTIONS(3063),
    [sym__async_keyword_custom] = ACTIONS(5184),
  },
  [1748] = {
    [ts_builtin_sym_end] = ACTIONS(3227),
    [anon_sym_BANG] = ACTIONS(3225),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3225),
    [aux_sym_simple_identifier_token2] = ACTIONS(3227),
    [aux_sym_simple_identifier_token3] = ACTIONS(3227),
    [aux_sym_simple_identifier_token4] = ACTIONS(3227),
    [anon_sym_actor] = ACTIONS(3225),
    [anon_sym_async] = ACTIONS(3225),
    [anon_sym_each] = ACTIONS(3225),
    [anon_sym_lazy] = ACTIONS(3225),
    [anon_sym_repeat] = ACTIONS(3225),
    [anon_sym_package] = ACTIONS(3225),
    [anon_sym_COMMA] = ACTIONS(3227),
    [anon_sym_LPAREN] = ACTIONS(3227),
    [anon_sym_LBRACK] = ACTIONS(3227),
    [anon_sym_QMARK] = ACTIONS(3225),
    [anon_sym_QMARK2] = ACTIONS(3227),
    [anon_sym_AMP] = ACTIONS(3227),
    [aux_sym_custom_operator_token1] = ACTIONS(3227),
    [anon_sym_LT] = ACTIONS(3225),
    [anon_sym_GT] = ACTIONS(3225),
    [anon_sym_LBRACE] = ACTIONS(3227),
    [anon_sym_CARET_LBRACE] = ACTIONS(3227),
    [anon_sym_RBRACE] = ACTIONS(3227),
    [anon_sym_PLUS_EQ] = ACTIONS(3227),
    [anon_sym_DASH_EQ] = ACTIONS(3227),
    [anon_sym_STAR_EQ] = ACTIONS(3227),
    [anon_sym_SLASH_EQ] = ACTIONS(3227),
    [anon_sym_PERCENT_EQ] = ACTIONS(3227),
    [anon_sym_BANG_EQ] = ACTIONS(3225),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3227),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3227),
    [anon_sym_LT_EQ] = ACTIONS(3227),
    [anon_sym_GT_EQ] = ACTIONS(3227),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3227),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3227),
    [anon_sym_is] = ACTIONS(3225),
    [anon_sym_PLUS] = ACTIONS(3225),
    [anon_sym_DASH] = ACTIONS(3225),
    [anon_sym_STAR] = ACTIONS(3225),
    [anon_sym_SLASH] = ACTIONS(3225),
    [anon_sym_PERCENT] = ACTIONS(3225),
    [anon_sym_PLUS_PLUS] = ACTIONS(3227),
    [anon_sym_DASH_DASH] = ACTIONS(3227),
    [anon_sym_PIPE] = ACTIONS(3227),
    [anon_sym_CARET] = ACTIONS(3225),
    [anon_sym_LT_LT] = ACTIONS(3227),
    [anon_sym_GT_GT] = ACTIONS(3227),
    [anon_sym_borrowing] = ACTIONS(3225),
    [anon_sym_consuming] = ACTIONS(3225),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3227),
    [sym__explicit_semi] = ACTIONS(3227),
    [sym__dot_custom] = ACTIONS(3227),
    [sym__conjunction_operator_custom] = ACTIONS(3227),
    [sym__disjunction_operator_custom] = ACTIONS(3227),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3227),
    [sym__eq_custom] = ACTIONS(3227),
    [sym__eq_eq_custom] = ACTIONS(3227),
    [sym__plus_then_ws] = ACTIONS(3227),
    [sym__minus_then_ws] = ACTIONS(3227),
    [sym__bang_custom] = ACTIONS(3227),
    [sym_where_keyword] = ACTIONS(3227),
    [sym__as_custom] = ACTIONS(3227),
    [sym__as_quest_custom] = ACTIONS(3227),
    [sym__as_bang_custom] = ACTIONS(3227),
    [sym__custom_operator] = ACTIONS(3227),
  },
  [1749] = {
    [sym__arrow_operator] = STATE(4190),
    [sym__async_keyword] = STATE(6942),
    [sym_throws] = STATE(8493),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1876),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3071),
    [anon_sym_async] = ACTIONS(3071),
    [anon_sym_lazy] = ACTIONS(3071),
    [anon_sym_package] = ACTIONS(3071),
    [anon_sym_COMMA] = ACTIONS(3071),
    [anon_sym_BANG2] = ACTIONS(3071),
    [anon_sym_DOT] = ACTIONS(3071),
    [anon_sym_AMP] = ACTIONS(3071),
    [anon_sym_LBRACE] = ACTIONS(3071),
    [anon_sym_RBRACE] = ACTIONS(3071),
    [anon_sym_case] = ACTIONS(3071),
    [anon_sym_import] = ACTIONS(3071),
    [anon_sym_typealias] = ACTIONS(3071),
    [anon_sym_struct] = ACTIONS(3071),
    [anon_sym_class] = ACTIONS(3071),
    [anon_sym_enum] = ACTIONS(3071),
    [anon_sym_protocol] = ACTIONS(3071),
    [anon_sym_let] = ACTIONS(3071),
    [anon_sym_var] = ACTIONS(3071),
    [anon_sym_func] = ACTIONS(3071),
    [anon_sym_extension] = ACTIONS(3071),
    [anon_sym_indirect] = ACTIONS(3071),
    [anon_sym_init] = ACTIONS(3071),
    [anon_sym_deinit] = ACTIONS(3071),
    [anon_sym_subscript] = ACTIONS(3071),
    [anon_sym_prefix] = ACTIONS(3071),
    [anon_sym_infix] = ACTIONS(3071),
    [anon_sym_postfix] = ACTIONS(3071),
    [anon_sym_precedencegroup] = ACTIONS(3071),
    [anon_sym_associatedtype] = ACTIONS(3071),
    [anon_sym_AT] = ACTIONS(3069),
    [anon_sym_override] = ACTIONS(3071),
    [anon_sym_convenience] = ACTIONS(3071),
    [anon_sym_required] = ACTIONS(3071),
    [anon_sym_nonisolated] = ACTIONS(3071),
    [anon_sym_public] = ACTIONS(3071),
    [anon_sym_private] = ACTIONS(3071),
    [anon_sym_internal] = ACTIONS(3071),
    [anon_sym_fileprivate] = ACTIONS(3071),
    [anon_sym_open] = ACTIONS(3071),
    [anon_sym_mutating] = ACTIONS(3071),
    [anon_sym_nonmutating] = ACTIONS(3071),
    [anon_sym_static] = ACTIONS(3071),
    [anon_sym_dynamic] = ACTIONS(3071),
    [anon_sym_optional] = ACTIONS(3071),
    [anon_sym_distributed] = ACTIONS(3071),
    [anon_sym_final] = ACTIONS(3071),
    [anon_sym_inout] = ACTIONS(3071),
    [anon_sym_ATescaping] = ACTIONS(3071),
    [anon_sym_ATautoclosure] = ACTIONS(3071),
    [anon_sym_weak] = ACTIONS(3071),
    [anon_sym_unowned] = ACTIONS(3069),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3071),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3071),
    [anon_sym_borrowing] = ACTIONS(3071),
    [anon_sym_consuming] = ACTIONS(3071),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3071),
    [sym__eq_custom] = ACTIONS(3071),
    [sym__throws_keyword] = ACTIONS(3071),
    [sym__rethrows_keyword] = ACTIONS(3071),
    [sym_where_keyword] = ACTIONS(3071),
    [sym__async_keyword_custom] = ACTIONS(3071),
  },
  [1750] = {
    [sym__dot] = STATE(5484),
    [aux_sym_user_type_repeat1] = STATE(1750),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(2993),
    [anon_sym_async] = ACTIONS(2993),
    [anon_sym_lazy] = ACTIONS(2993),
    [anon_sym_package] = ACTIONS(2993),
    [anon_sym_COMMA] = ACTIONS(2993),
    [anon_sym_BANG2] = ACTIONS(2993),
    [anon_sym_DOT] = ACTIONS(2993),
    [anon_sym_QMARK2] = ACTIONS(2993),
    [anon_sym_AMP] = ACTIONS(2993),
    [anon_sym_LBRACE] = ACTIONS(2993),
    [anon_sym_RBRACE] = ACTIONS(2993),
    [anon_sym_case] = ACTIONS(2993),
    [anon_sym_import] = ACTIONS(2993),
    [anon_sym_typealias] = ACTIONS(2993),
    [anon_sym_struct] = ACTIONS(2993),
    [anon_sym_class] = ACTIONS(2993),
    [anon_sym_enum] = ACTIONS(2993),
    [anon_sym_protocol] = ACTIONS(2993),
    [anon_sym_let] = ACTIONS(2993),
    [anon_sym_var] = ACTIONS(2993),
    [anon_sym_func] = ACTIONS(2993),
    [anon_sym_extension] = ACTIONS(2993),
    [anon_sym_indirect] = ACTIONS(2993),
    [anon_sym_init] = ACTIONS(2993),
    [anon_sym_deinit] = ACTIONS(2993),
    [anon_sym_subscript] = ACTIONS(2993),
    [anon_sym_prefix] = ACTIONS(2993),
    [anon_sym_infix] = ACTIONS(2993),
    [anon_sym_postfix] = ACTIONS(2993),
    [anon_sym_precedencegroup] = ACTIONS(2993),
    [anon_sym_associatedtype] = ACTIONS(2993),
    [anon_sym_AT] = ACTIONS(2991),
    [anon_sym_override] = ACTIONS(2993),
    [anon_sym_convenience] = ACTIONS(2993),
    [anon_sym_required] = ACTIONS(2993),
    [anon_sym_nonisolated] = ACTIONS(2993),
    [anon_sym_public] = ACTIONS(2993),
    [anon_sym_private] = ACTIONS(2993),
    [anon_sym_internal] = ACTIONS(2993),
    [anon_sym_fileprivate] = ACTIONS(2993),
    [anon_sym_open] = ACTIONS(2993),
    [anon_sym_mutating] = ACTIONS(2993),
    [anon_sym_nonmutating] = ACTIONS(2993),
    [anon_sym_static] = ACTIONS(2993),
    [anon_sym_dynamic] = ACTIONS(2993),
    [anon_sym_optional] = ACTIONS(2993),
    [anon_sym_distributed] = ACTIONS(2993),
    [anon_sym_final] = ACTIONS(2993),
    [anon_sym_inout] = ACTIONS(2993),
    [anon_sym_ATescaping] = ACTIONS(2993),
    [anon_sym_ATautoclosure] = ACTIONS(2993),
    [anon_sym_weak] = ACTIONS(2993),
    [anon_sym_unowned] = ACTIONS(2991),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2993),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2993),
    [anon_sym_borrowing] = ACTIONS(2993),
    [anon_sym_consuming] = ACTIONS(2993),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(2993),
    [sym__dot_custom] = ACTIONS(5252),
    [sym__eq_custom] = ACTIONS(2993),
    [sym__throws_keyword] = ACTIONS(2993),
    [sym__rethrows_keyword] = ACTIONS(2993),
    [sym_where_keyword] = ACTIONS(2993),
    [sym__async_keyword_custom] = ACTIONS(2993),
  },
  [1751] = {
    [sym__arrow_operator] = STATE(4190),
    [sym__async_keyword] = STATE(6942),
    [sym_throws] = STATE(8493),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1876),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3079),
    [anon_sym_async] = ACTIONS(3079),
    [anon_sym_lazy] = ACTIONS(3079),
    [anon_sym_package] = ACTIONS(3079),
    [anon_sym_COMMA] = ACTIONS(3079),
    [anon_sym_BANG2] = ACTIONS(3079),
    [anon_sym_DOT] = ACTIONS(5248),
    [anon_sym_AMP] = ACTIONS(5250),
    [anon_sym_LBRACE] = ACTIONS(3079),
    [anon_sym_RBRACE] = ACTIONS(3079),
    [anon_sym_case] = ACTIONS(3079),
    [anon_sym_import] = ACTIONS(3079),
    [anon_sym_typealias] = ACTIONS(3079),
    [anon_sym_struct] = ACTIONS(3079),
    [anon_sym_class] = ACTIONS(3079),
    [anon_sym_enum] = ACTIONS(3079),
    [anon_sym_protocol] = ACTIONS(3079),
    [anon_sym_let] = ACTIONS(3079),
    [anon_sym_var] = ACTIONS(3079),
    [anon_sym_func] = ACTIONS(3079),
    [anon_sym_extension] = ACTIONS(3079),
    [anon_sym_indirect] = ACTIONS(3079),
    [anon_sym_init] = ACTIONS(3079),
    [anon_sym_deinit] = ACTIONS(3079),
    [anon_sym_subscript] = ACTIONS(3079),
    [anon_sym_prefix] = ACTIONS(3079),
    [anon_sym_infix] = ACTIONS(3079),
    [anon_sym_postfix] = ACTIONS(3079),
    [anon_sym_precedencegroup] = ACTIONS(3079),
    [anon_sym_associatedtype] = ACTIONS(3079),
    [anon_sym_AT] = ACTIONS(3077),
    [anon_sym_override] = ACTIONS(3079),
    [anon_sym_convenience] = ACTIONS(3079),
    [anon_sym_required] = ACTIONS(3079),
    [anon_sym_nonisolated] = ACTIONS(3079),
    [anon_sym_public] = ACTIONS(3079),
    [anon_sym_private] = ACTIONS(3079),
    [anon_sym_internal] = ACTIONS(3079),
    [anon_sym_fileprivate] = ACTIONS(3079),
    [anon_sym_open] = ACTIONS(3079),
    [anon_sym_mutating] = ACTIONS(3079),
    [anon_sym_nonmutating] = ACTIONS(3079),
    [anon_sym_static] = ACTIONS(3079),
    [anon_sym_dynamic] = ACTIONS(3079),
    [anon_sym_optional] = ACTIONS(3079),
    [anon_sym_distributed] = ACTIONS(3079),
    [anon_sym_final] = ACTIONS(3079),
    [anon_sym_inout] = ACTIONS(3079),
    [anon_sym_ATescaping] = ACTIONS(3079),
    [anon_sym_ATautoclosure] = ACTIONS(3079),
    [anon_sym_weak] = ACTIONS(3079),
    [anon_sym_unowned] = ACTIONS(3077),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3079),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3079),
    [anon_sym_borrowing] = ACTIONS(3079),
    [anon_sym_consuming] = ACTIONS(3079),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(5182),
    [sym__eq_custom] = ACTIONS(3079),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym_where_keyword] = ACTIONS(3079),
    [sym__async_keyword_custom] = ACTIONS(5184),
  },
  [1752] = {
    [ts_builtin_sym_end] = ACTIONS(3215),
    [anon_sym_BANG] = ACTIONS(3213),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3213),
    [aux_sym_simple_identifier_token2] = ACTIONS(3215),
    [aux_sym_simple_identifier_token3] = ACTIONS(3215),
    [aux_sym_simple_identifier_token4] = ACTIONS(3215),
    [anon_sym_actor] = ACTIONS(3213),
    [anon_sym_async] = ACTIONS(3213),
    [anon_sym_each] = ACTIONS(3213),
    [anon_sym_lazy] = ACTIONS(3213),
    [anon_sym_repeat] = ACTIONS(3213),
    [anon_sym_package] = ACTIONS(3213),
    [anon_sym_COMMA] = ACTIONS(3215),
    [anon_sym_LPAREN] = ACTIONS(3215),
    [anon_sym_LBRACK] = ACTIONS(3215),
    [anon_sym_QMARK] = ACTIONS(3213),
    [anon_sym_QMARK2] = ACTIONS(3215),
    [anon_sym_AMP] = ACTIONS(3215),
    [aux_sym_custom_operator_token1] = ACTIONS(3215),
    [anon_sym_LT] = ACTIONS(3213),
    [anon_sym_GT] = ACTIONS(3213),
    [anon_sym_LBRACE] = ACTIONS(3215),
    [anon_sym_CARET_LBRACE] = ACTIONS(3215),
    [anon_sym_RBRACE] = ACTIONS(3215),
    [anon_sym_PLUS_EQ] = ACTIONS(3215),
    [anon_sym_DASH_EQ] = ACTIONS(3215),
    [anon_sym_STAR_EQ] = ACTIONS(3215),
    [anon_sym_SLASH_EQ] = ACTIONS(3215),
    [anon_sym_PERCENT_EQ] = ACTIONS(3215),
    [anon_sym_BANG_EQ] = ACTIONS(3213),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3215),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3215),
    [anon_sym_LT_EQ] = ACTIONS(3215),
    [anon_sym_GT_EQ] = ACTIONS(3215),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3215),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3215),
    [anon_sym_is] = ACTIONS(3213),
    [anon_sym_PLUS] = ACTIONS(3213),
    [anon_sym_DASH] = ACTIONS(3213),
    [anon_sym_STAR] = ACTIONS(3213),
    [anon_sym_SLASH] = ACTIONS(3213),
    [anon_sym_PERCENT] = ACTIONS(3213),
    [anon_sym_PLUS_PLUS] = ACTIONS(3215),
    [anon_sym_DASH_DASH] = ACTIONS(3215),
    [anon_sym_PIPE] = ACTIONS(3215),
    [anon_sym_CARET] = ACTIONS(3213),
    [anon_sym_LT_LT] = ACTIONS(3215),
    [anon_sym_GT_GT] = ACTIONS(3215),
    [anon_sym_borrowing] = ACTIONS(3213),
    [anon_sym_consuming] = ACTIONS(3213),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3215),
    [sym__explicit_semi] = ACTIONS(3215),
    [sym__dot_custom] = ACTIONS(3215),
    [sym__conjunction_operator_custom] = ACTIONS(3215),
    [sym__disjunction_operator_custom] = ACTIONS(3215),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3215),
    [sym__eq_custom] = ACTIONS(3215),
    [sym__eq_eq_custom] = ACTIONS(3215),
    [sym__plus_then_ws] = ACTIONS(3215),
    [sym__minus_then_ws] = ACTIONS(3215),
    [sym__bang_custom] = ACTIONS(3215),
    [sym_where_keyword] = ACTIONS(3215),
    [sym__as_custom] = ACTIONS(3215),
    [sym__as_quest_custom] = ACTIONS(3215),
    [sym__as_bang_custom] = ACTIONS(3215),
    [sym__custom_operator] = ACTIONS(3215),
  },
  [1753] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(2993),
    [anon_sym_async] = ACTIONS(2993),
    [anon_sym_lazy] = ACTIONS(2993),
    [anon_sym_package] = ACTIONS(2993),
    [anon_sym_COMMA] = ACTIONS(2993),
    [anon_sym_COLON] = ACTIONS(2993),
    [anon_sym_DOT] = ACTIONS(2993),
    [anon_sym_QMARK] = ACTIONS(2991),
    [anon_sym_QMARK2] = ACTIONS(2993),
    [anon_sym_AMP] = ACTIONS(2993),
    [anon_sym_LBRACE] = ACTIONS(2993),
    [anon_sym_RBRACE] = ACTIONS(2993),
    [anon_sym_case] = ACTIONS(2993),
    [anon_sym_import] = ACTIONS(2993),
    [anon_sym_typealias] = ACTIONS(2993),
    [anon_sym_struct] = ACTIONS(2993),
    [anon_sym_class] = ACTIONS(2993),
    [anon_sym_enum] = ACTIONS(2993),
    [anon_sym_protocol] = ACTIONS(2993),
    [anon_sym_let] = ACTIONS(2993),
    [anon_sym_var] = ACTIONS(2993),
    [anon_sym_func] = ACTIONS(2993),
    [anon_sym_extension] = ACTIONS(2993),
    [anon_sym_indirect] = ACTIONS(2993),
    [anon_sym_init] = ACTIONS(2993),
    [anon_sym_deinit] = ACTIONS(2993),
    [anon_sym_subscript] = ACTIONS(2993),
    [anon_sym_prefix] = ACTIONS(2993),
    [anon_sym_infix] = ACTIONS(2993),
    [anon_sym_postfix] = ACTIONS(2993),
    [anon_sym_precedencegroup] = ACTIONS(2993),
    [anon_sym_associatedtype] = ACTIONS(2993),
    [anon_sym_AT] = ACTIONS(2991),
    [anon_sym_override] = ACTIONS(2993),
    [anon_sym_convenience] = ACTIONS(2993),
    [anon_sym_required] = ACTIONS(2993),
    [anon_sym_nonisolated] = ACTIONS(2993),
    [anon_sym_public] = ACTIONS(2993),
    [anon_sym_private] = ACTIONS(2993),
    [anon_sym_internal] = ACTIONS(2993),
    [anon_sym_fileprivate] = ACTIONS(2993),
    [anon_sym_open] = ACTIONS(2993),
    [anon_sym_mutating] = ACTIONS(2993),
    [anon_sym_nonmutating] = ACTIONS(2993),
    [anon_sym_static] = ACTIONS(2993),
    [anon_sym_dynamic] = ACTIONS(2993),
    [anon_sym_optional] = ACTIONS(2993),
    [anon_sym_distributed] = ACTIONS(2993),
    [anon_sym_final] = ACTIONS(2993),
    [anon_sym_inout] = ACTIONS(2993),
    [anon_sym_ATescaping] = ACTIONS(2993),
    [anon_sym_ATautoclosure] = ACTIONS(2993),
    [anon_sym_weak] = ACTIONS(2993),
    [anon_sym_unowned] = ACTIONS(2991),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2993),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2993),
    [anon_sym_borrowing] = ACTIONS(2993),
    [anon_sym_consuming] = ACTIONS(2993),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(2993),
    [sym__dot_custom] = ACTIONS(2993),
    [sym__eq_custom] = ACTIONS(2993),
    [sym__throws_keyword] = ACTIONS(2993),
    [sym__rethrows_keyword] = ACTIONS(2993),
    [sym_where_keyword] = ACTIONS(2993),
    [sym__as_custom] = ACTIONS(2993),
    [sym__async_keyword_custom] = ACTIONS(2993),
  },
  [1754] = {
    [sym_simple_identifier] = STATE(8799),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [aux_sym__fn_call_lambda_arguments_repeat1] = STATE(1773),
    [anon_sym_BANG] = ACTIONS(3010),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3012),
    [aux_sym_simple_identifier_token2] = ACTIONS(3014),
    [aux_sym_simple_identifier_token3] = ACTIONS(3014),
    [aux_sym_simple_identifier_token4] = ACTIONS(3014),
    [anon_sym_actor] = ACTIONS(3012),
    [anon_sym_async] = ACTIONS(3012),
    [anon_sym_each] = ACTIONS(3012),
    [anon_sym_lazy] = ACTIONS(3012),
    [anon_sym_repeat] = ACTIONS(3012),
    [anon_sym_package] = ACTIONS(3012),
    [anon_sym_COMMA] = ACTIONS(3019),
    [anon_sym_LPAREN] = ACTIONS(3019),
    [anon_sym_LBRACK] = ACTIONS(3019),
    [anon_sym_QMARK] = ACTIONS(3010),
    [anon_sym_QMARK2] = ACTIONS(3019),
    [anon_sym_AMP] = ACTIONS(3019),
    [aux_sym_custom_operator_token1] = ACTIONS(3019),
    [anon_sym_LT] = ACTIONS(3010),
    [anon_sym_GT] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(3019),
    [anon_sym_CARET_LBRACE] = ACTIONS(3019),
    [anon_sym_PLUS_EQ] = ACTIONS(3019),
    [anon_sym_DASH_EQ] = ACTIONS(3019),
    [anon_sym_STAR_EQ] = ACTIONS(3019),
    [anon_sym_SLASH_EQ] = ACTIONS(3019),
    [anon_sym_PERCENT_EQ] = ACTIONS(3019),
    [anon_sym_BANG_EQ] = ACTIONS(3010),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3019),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3019),
    [anon_sym_LT_EQ] = ACTIONS(3019),
    [anon_sym_GT_EQ] = ACTIONS(3019),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3019),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3019),
    [anon_sym_is] = ACTIONS(3010),
    [anon_sym_PLUS] = ACTIONS(3010),
    [anon_sym_DASH] = ACTIONS(3010),
    [anon_sym_STAR] = ACTIONS(3010),
    [anon_sym_SLASH] = ACTIONS(3010),
    [anon_sym_PERCENT] = ACTIONS(3010),
    [anon_sym_PLUS_PLUS] = ACTIONS(3019),
    [anon_sym_DASH_DASH] = ACTIONS(3019),
    [anon_sym_PIPE] = ACTIONS(3019),
    [anon_sym_CARET] = ACTIONS(3010),
    [anon_sym_LT_LT] = ACTIONS(3019),
    [anon_sym_GT_GT] = ACTIONS(3019),
    [anon_sym_borrowing] = ACTIONS(3012),
    [anon_sym_consuming] = ACTIONS(3012),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3019),
    [sym__conjunction_operator_custom] = ACTIONS(3019),
    [sym__disjunction_operator_custom] = ACTIONS(3019),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3019),
    [sym__eq_custom] = ACTIONS(3019),
    [sym__eq_eq_custom] = ACTIONS(3019),
    [sym__plus_then_ws] = ACTIONS(3019),
    [sym__minus_then_ws] = ACTIONS(3019),
    [sym__bang_custom] = ACTIONS(3019),
    [sym_else] = ACTIONS(3019),
    [sym__as_custom] = ACTIONS(3019),
    [sym__as_quest_custom] = ACTIONS(3019),
    [sym__as_bang_custom] = ACTIONS(3019),
    [sym__custom_operator] = ACTIONS(3019),
  },
  [1755] = {
    [sym__arrow_operator] = STATE(4190),
    [sym__async_keyword] = STATE(6942),
    [sym_throws] = STATE(8493),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1876),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3055),
    [anon_sym_async] = ACTIONS(3055),
    [anon_sym_lazy] = ACTIONS(3055),
    [anon_sym_package] = ACTIONS(3055),
    [anon_sym_COMMA] = ACTIONS(3055),
    [anon_sym_BANG2] = ACTIONS(3055),
    [anon_sym_DOT] = ACTIONS(5248),
    [anon_sym_AMP] = ACTIONS(5250),
    [anon_sym_LBRACE] = ACTIONS(3055),
    [anon_sym_RBRACE] = ACTIONS(3055),
    [anon_sym_case] = ACTIONS(3055),
    [anon_sym_import] = ACTIONS(3055),
    [anon_sym_typealias] = ACTIONS(3055),
    [anon_sym_struct] = ACTIONS(3055),
    [anon_sym_class] = ACTIONS(3055),
    [anon_sym_enum] = ACTIONS(3055),
    [anon_sym_protocol] = ACTIONS(3055),
    [anon_sym_let] = ACTIONS(3055),
    [anon_sym_var] = ACTIONS(3055),
    [anon_sym_func] = ACTIONS(3055),
    [anon_sym_extension] = ACTIONS(3055),
    [anon_sym_indirect] = ACTIONS(3055),
    [anon_sym_init] = ACTIONS(3055),
    [anon_sym_deinit] = ACTIONS(3055),
    [anon_sym_subscript] = ACTIONS(3055),
    [anon_sym_prefix] = ACTIONS(3055),
    [anon_sym_infix] = ACTIONS(3055),
    [anon_sym_postfix] = ACTIONS(3055),
    [anon_sym_precedencegroup] = ACTIONS(3055),
    [anon_sym_associatedtype] = ACTIONS(3055),
    [anon_sym_AT] = ACTIONS(3053),
    [anon_sym_override] = ACTIONS(3055),
    [anon_sym_convenience] = ACTIONS(3055),
    [anon_sym_required] = ACTIONS(3055),
    [anon_sym_nonisolated] = ACTIONS(3055),
    [anon_sym_public] = ACTIONS(3055),
    [anon_sym_private] = ACTIONS(3055),
    [anon_sym_internal] = ACTIONS(3055),
    [anon_sym_fileprivate] = ACTIONS(3055),
    [anon_sym_open] = ACTIONS(3055),
    [anon_sym_mutating] = ACTIONS(3055),
    [anon_sym_nonmutating] = ACTIONS(3055),
    [anon_sym_static] = ACTIONS(3055),
    [anon_sym_dynamic] = ACTIONS(3055),
    [anon_sym_optional] = ACTIONS(3055),
    [anon_sym_distributed] = ACTIONS(3055),
    [anon_sym_final] = ACTIONS(3055),
    [anon_sym_inout] = ACTIONS(3055),
    [anon_sym_ATescaping] = ACTIONS(3055),
    [anon_sym_ATautoclosure] = ACTIONS(3055),
    [anon_sym_weak] = ACTIONS(3055),
    [anon_sym_unowned] = ACTIONS(3053),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3055),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3055),
    [anon_sym_borrowing] = ACTIONS(3055),
    [anon_sym_consuming] = ACTIONS(3055),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(5182),
    [sym__eq_custom] = ACTIONS(3055),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym_where_keyword] = ACTIONS(3055),
    [sym__async_keyword_custom] = ACTIONS(5184),
  },
  [1756] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3127),
    [anon_sym_async] = ACTIONS(3127),
    [anon_sym_lazy] = ACTIONS(3127),
    [anon_sym_package] = ACTIONS(3127),
    [anon_sym_COMMA] = ACTIONS(3127),
    [anon_sym_COLON] = ACTIONS(3127),
    [anon_sym_DOT] = ACTIONS(3127),
    [anon_sym_QMARK] = ACTIONS(3125),
    [anon_sym_QMARK2] = ACTIONS(3127),
    [anon_sym_AMP] = ACTIONS(3127),
    [anon_sym_LBRACE] = ACTIONS(3127),
    [anon_sym_RBRACE] = ACTIONS(3127),
    [anon_sym_case] = ACTIONS(3127),
    [anon_sym_import] = ACTIONS(3127),
    [anon_sym_typealias] = ACTIONS(3127),
    [anon_sym_struct] = ACTIONS(3127),
    [anon_sym_class] = ACTIONS(3127),
    [anon_sym_enum] = ACTIONS(3127),
    [anon_sym_protocol] = ACTIONS(3127),
    [anon_sym_let] = ACTIONS(3127),
    [anon_sym_var] = ACTIONS(3127),
    [anon_sym_func] = ACTIONS(3127),
    [anon_sym_extension] = ACTIONS(3127),
    [anon_sym_indirect] = ACTIONS(3127),
    [anon_sym_init] = ACTIONS(3127),
    [anon_sym_deinit] = ACTIONS(3127),
    [anon_sym_subscript] = ACTIONS(3127),
    [anon_sym_prefix] = ACTIONS(3127),
    [anon_sym_infix] = ACTIONS(3127),
    [anon_sym_postfix] = ACTIONS(3127),
    [anon_sym_precedencegroup] = ACTIONS(3127),
    [anon_sym_associatedtype] = ACTIONS(3127),
    [anon_sym_AT] = ACTIONS(3125),
    [anon_sym_override] = ACTIONS(3127),
    [anon_sym_convenience] = ACTIONS(3127),
    [anon_sym_required] = ACTIONS(3127),
    [anon_sym_nonisolated] = ACTIONS(3127),
    [anon_sym_public] = ACTIONS(3127),
    [anon_sym_private] = ACTIONS(3127),
    [anon_sym_internal] = ACTIONS(3127),
    [anon_sym_fileprivate] = ACTIONS(3127),
    [anon_sym_open] = ACTIONS(3127),
    [anon_sym_mutating] = ACTIONS(3127),
    [anon_sym_nonmutating] = ACTIONS(3127),
    [anon_sym_static] = ACTIONS(3127),
    [anon_sym_dynamic] = ACTIONS(3127),
    [anon_sym_optional] = ACTIONS(3127),
    [anon_sym_distributed] = ACTIONS(3127),
    [anon_sym_final] = ACTIONS(3127),
    [anon_sym_inout] = ACTIONS(3127),
    [anon_sym_ATescaping] = ACTIONS(3127),
    [anon_sym_ATautoclosure] = ACTIONS(3127),
    [anon_sym_weak] = ACTIONS(3127),
    [anon_sym_unowned] = ACTIONS(3125),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3127),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3127),
    [anon_sym_borrowing] = ACTIONS(3127),
    [anon_sym_consuming] = ACTIONS(3127),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3127),
    [sym__dot_custom] = ACTIONS(3127),
    [sym__eq_custom] = ACTIONS(3127),
    [sym__throws_keyword] = ACTIONS(3127),
    [sym__rethrows_keyword] = ACTIONS(3127),
    [sym_where_keyword] = ACTIONS(3127),
    [sym__as_custom] = ACTIONS(3127),
    [sym__async_keyword_custom] = ACTIONS(3127),
  },
  [1757] = {
    [sym__dot] = STATE(5484),
    [aux_sym_user_type_repeat1] = STATE(1769),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3048),
    [anon_sym_async] = ACTIONS(3048),
    [anon_sym_lazy] = ACTIONS(3048),
    [anon_sym_package] = ACTIONS(3048),
    [anon_sym_COMMA] = ACTIONS(3048),
    [anon_sym_BANG2] = ACTIONS(3048),
    [anon_sym_DOT] = ACTIONS(3048),
    [anon_sym_QMARK2] = ACTIONS(3048),
    [anon_sym_AMP] = ACTIONS(3048),
    [anon_sym_LBRACE] = ACTIONS(3048),
    [anon_sym_RBRACE] = ACTIONS(3048),
    [anon_sym_case] = ACTIONS(3048),
    [anon_sym_import] = ACTIONS(3048),
    [anon_sym_typealias] = ACTIONS(3048),
    [anon_sym_struct] = ACTIONS(3048),
    [anon_sym_class] = ACTIONS(3048),
    [anon_sym_enum] = ACTIONS(3048),
    [anon_sym_protocol] = ACTIONS(3048),
    [anon_sym_let] = ACTIONS(3048),
    [anon_sym_var] = ACTIONS(3048),
    [anon_sym_func] = ACTIONS(3048),
    [anon_sym_extension] = ACTIONS(3048),
    [anon_sym_indirect] = ACTIONS(3048),
    [anon_sym_init] = ACTIONS(3048),
    [anon_sym_deinit] = ACTIONS(3048),
    [anon_sym_subscript] = ACTIONS(3048),
    [anon_sym_prefix] = ACTIONS(3048),
    [anon_sym_infix] = ACTIONS(3048),
    [anon_sym_postfix] = ACTIONS(3048),
    [anon_sym_precedencegroup] = ACTIONS(3048),
    [anon_sym_associatedtype] = ACTIONS(3048),
    [anon_sym_AT] = ACTIONS(3046),
    [anon_sym_override] = ACTIONS(3048),
    [anon_sym_convenience] = ACTIONS(3048),
    [anon_sym_required] = ACTIONS(3048),
    [anon_sym_nonisolated] = ACTIONS(3048),
    [anon_sym_public] = ACTIONS(3048),
    [anon_sym_private] = ACTIONS(3048),
    [anon_sym_internal] = ACTIONS(3048),
    [anon_sym_fileprivate] = ACTIONS(3048),
    [anon_sym_open] = ACTIONS(3048),
    [anon_sym_mutating] = ACTIONS(3048),
    [anon_sym_nonmutating] = ACTIONS(3048),
    [anon_sym_static] = ACTIONS(3048),
    [anon_sym_dynamic] = ACTIONS(3048),
    [anon_sym_optional] = ACTIONS(3048),
    [anon_sym_distributed] = ACTIONS(3048),
    [anon_sym_final] = ACTIONS(3048),
    [anon_sym_inout] = ACTIONS(3048),
    [anon_sym_ATescaping] = ACTIONS(3048),
    [anon_sym_ATautoclosure] = ACTIONS(3048),
    [anon_sym_weak] = ACTIONS(3048),
    [anon_sym_unowned] = ACTIONS(3046),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3048),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3048),
    [anon_sym_borrowing] = ACTIONS(3048),
    [anon_sym_consuming] = ACTIONS(3048),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3048),
    [sym__dot_custom] = ACTIONS(5255),
    [sym__eq_custom] = ACTIONS(3048),
    [sym__throws_keyword] = ACTIONS(3048),
    [sym__rethrows_keyword] = ACTIONS(3048),
    [sym_where_keyword] = ACTIONS(3048),
    [sym__async_keyword_custom] = ACTIONS(3048),
  },
  [1758] = {
    [sym_type_arguments] = STATE(1861),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3083),
    [anon_sym_async] = ACTIONS(3083),
    [anon_sym_lazy] = ACTIONS(3083),
    [anon_sym_package] = ACTIONS(3083),
    [anon_sym_COMMA] = ACTIONS(3083),
    [anon_sym_BANG2] = ACTIONS(3083),
    [anon_sym_DOT] = ACTIONS(3083),
    [anon_sym_QMARK2] = ACTIONS(3083),
    [anon_sym_AMP] = ACTIONS(3083),
    [anon_sym_LT] = ACTIONS(5257),
    [anon_sym_LBRACE] = ACTIONS(3083),
    [anon_sym_RBRACE] = ACTIONS(3083),
    [anon_sym_case] = ACTIONS(3083),
    [anon_sym_import] = ACTIONS(3083),
    [anon_sym_typealias] = ACTIONS(3083),
    [anon_sym_struct] = ACTIONS(3083),
    [anon_sym_class] = ACTIONS(3083),
    [anon_sym_enum] = ACTIONS(3083),
    [anon_sym_protocol] = ACTIONS(3083),
    [anon_sym_let] = ACTIONS(3083),
    [anon_sym_var] = ACTIONS(3083),
    [anon_sym_func] = ACTIONS(3083),
    [anon_sym_extension] = ACTIONS(3083),
    [anon_sym_indirect] = ACTIONS(3083),
    [anon_sym_init] = ACTIONS(3083),
    [anon_sym_deinit] = ACTIONS(3083),
    [anon_sym_subscript] = ACTIONS(3083),
    [anon_sym_prefix] = ACTIONS(3083),
    [anon_sym_infix] = ACTIONS(3083),
    [anon_sym_postfix] = ACTIONS(3083),
    [anon_sym_precedencegroup] = ACTIONS(3083),
    [anon_sym_associatedtype] = ACTIONS(3083),
    [anon_sym_AT] = ACTIONS(3081),
    [anon_sym_override] = ACTIONS(3083),
    [anon_sym_convenience] = ACTIONS(3083),
    [anon_sym_required] = ACTIONS(3083),
    [anon_sym_nonisolated] = ACTIONS(3083),
    [anon_sym_public] = ACTIONS(3083),
    [anon_sym_private] = ACTIONS(3083),
    [anon_sym_internal] = ACTIONS(3083),
    [anon_sym_fileprivate] = ACTIONS(3083),
    [anon_sym_open] = ACTIONS(3083),
    [anon_sym_mutating] = ACTIONS(3083),
    [anon_sym_nonmutating] = ACTIONS(3083),
    [anon_sym_static] = ACTIONS(3083),
    [anon_sym_dynamic] = ACTIONS(3083),
    [anon_sym_optional] = ACTIONS(3083),
    [anon_sym_distributed] = ACTIONS(3083),
    [anon_sym_final] = ACTIONS(3083),
    [anon_sym_inout] = ACTIONS(3083),
    [anon_sym_ATescaping] = ACTIONS(3083),
    [anon_sym_ATautoclosure] = ACTIONS(3083),
    [anon_sym_weak] = ACTIONS(3083),
    [anon_sym_unowned] = ACTIONS(3081),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3083),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3083),
    [anon_sym_borrowing] = ACTIONS(3083),
    [anon_sym_consuming] = ACTIONS(3083),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3083),
    [sym__dot_custom] = ACTIONS(3083),
    [sym__eq_custom] = ACTIONS(3083),
    [sym__throws_keyword] = ACTIONS(3083),
    [sym__rethrows_keyword] = ACTIONS(3083),
    [sym_where_keyword] = ACTIONS(3083),
    [sym__async_keyword_custom] = ACTIONS(3083),
  },
  [1759] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3135),
    [anon_sym_async] = ACTIONS(3135),
    [anon_sym_lazy] = ACTIONS(3135),
    [anon_sym_package] = ACTIONS(3135),
    [anon_sym_COMMA] = ACTIONS(3135),
    [anon_sym_COLON] = ACTIONS(3135),
    [anon_sym_DOT] = ACTIONS(3135),
    [anon_sym_QMARK] = ACTIONS(3133),
    [anon_sym_QMARK2] = ACTIONS(3135),
    [anon_sym_AMP] = ACTIONS(3135),
    [anon_sym_LBRACE] = ACTIONS(3135),
    [anon_sym_RBRACE] = ACTIONS(3135),
    [anon_sym_case] = ACTIONS(3135),
    [anon_sym_import] = ACTIONS(3135),
    [anon_sym_typealias] = ACTIONS(3135),
    [anon_sym_struct] = ACTIONS(3135),
    [anon_sym_class] = ACTIONS(3135),
    [anon_sym_enum] = ACTIONS(3135),
    [anon_sym_protocol] = ACTIONS(3135),
    [anon_sym_let] = ACTIONS(3135),
    [anon_sym_var] = ACTIONS(3135),
    [anon_sym_func] = ACTIONS(3135),
    [anon_sym_extension] = ACTIONS(3135),
    [anon_sym_indirect] = ACTIONS(3135),
    [anon_sym_init] = ACTIONS(3135),
    [anon_sym_deinit] = ACTIONS(3135),
    [anon_sym_subscript] = ACTIONS(3135),
    [anon_sym_prefix] = ACTIONS(3135),
    [anon_sym_infix] = ACTIONS(3135),
    [anon_sym_postfix] = ACTIONS(3135),
    [anon_sym_precedencegroup] = ACTIONS(3135),
    [anon_sym_associatedtype] = ACTIONS(3135),
    [anon_sym_AT] = ACTIONS(3133),
    [anon_sym_override] = ACTIONS(3135),
    [anon_sym_convenience] = ACTIONS(3135),
    [anon_sym_required] = ACTIONS(3135),
    [anon_sym_nonisolated] = ACTIONS(3135),
    [anon_sym_public] = ACTIONS(3135),
    [anon_sym_private] = ACTIONS(3135),
    [anon_sym_internal] = ACTIONS(3135),
    [anon_sym_fileprivate] = ACTIONS(3135),
    [anon_sym_open] = ACTIONS(3135),
    [anon_sym_mutating] = ACTIONS(3135),
    [anon_sym_nonmutating] = ACTIONS(3135),
    [anon_sym_static] = ACTIONS(3135),
    [anon_sym_dynamic] = ACTIONS(3135),
    [anon_sym_optional] = ACTIONS(3135),
    [anon_sym_distributed] = ACTIONS(3135),
    [anon_sym_final] = ACTIONS(3135),
    [anon_sym_inout] = ACTIONS(3135),
    [anon_sym_ATescaping] = ACTIONS(3135),
    [anon_sym_ATautoclosure] = ACTIONS(3135),
    [anon_sym_weak] = ACTIONS(3135),
    [anon_sym_unowned] = ACTIONS(3133),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3135),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3135),
    [anon_sym_borrowing] = ACTIONS(3135),
    [anon_sym_consuming] = ACTIONS(3135),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3135),
    [sym__dot_custom] = ACTIONS(3135),
    [sym__eq_custom] = ACTIONS(3135),
    [sym__throws_keyword] = ACTIONS(3135),
    [sym__rethrows_keyword] = ACTIONS(3135),
    [sym_where_keyword] = ACTIONS(3135),
    [sym__as_custom] = ACTIONS(3135),
    [sym__async_keyword_custom] = ACTIONS(3135),
  },
  [1760] = {
    [sym__arrow_operator] = STATE(4190),
    [sym__async_keyword] = STATE(6942),
    [sym_throws] = STATE(8493),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1876),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3089),
    [anon_sym_async] = ACTIONS(3089),
    [anon_sym_lazy] = ACTIONS(3089),
    [anon_sym_package] = ACTIONS(3089),
    [anon_sym_COMMA] = ACTIONS(3089),
    [anon_sym_BANG2] = ACTIONS(3089),
    [anon_sym_DOT] = ACTIONS(3089),
    [anon_sym_AMP] = ACTIONS(3089),
    [anon_sym_LBRACE] = ACTIONS(3089),
    [anon_sym_RBRACE] = ACTIONS(3089),
    [anon_sym_case] = ACTIONS(3089),
    [anon_sym_import] = ACTIONS(3089),
    [anon_sym_typealias] = ACTIONS(3089),
    [anon_sym_struct] = ACTIONS(3089),
    [anon_sym_class] = ACTIONS(3089),
    [anon_sym_enum] = ACTIONS(3089),
    [anon_sym_protocol] = ACTIONS(3089),
    [anon_sym_let] = ACTIONS(3089),
    [anon_sym_var] = ACTIONS(3089),
    [anon_sym_func] = ACTIONS(3089),
    [anon_sym_extension] = ACTIONS(3089),
    [anon_sym_indirect] = ACTIONS(3089),
    [anon_sym_init] = ACTIONS(3089),
    [anon_sym_deinit] = ACTIONS(3089),
    [anon_sym_subscript] = ACTIONS(3089),
    [anon_sym_prefix] = ACTIONS(3089),
    [anon_sym_infix] = ACTIONS(3089),
    [anon_sym_postfix] = ACTIONS(3089),
    [anon_sym_precedencegroup] = ACTIONS(3089),
    [anon_sym_associatedtype] = ACTIONS(3089),
    [anon_sym_AT] = ACTIONS(3087),
    [anon_sym_override] = ACTIONS(3089),
    [anon_sym_convenience] = ACTIONS(3089),
    [anon_sym_required] = ACTIONS(3089),
    [anon_sym_nonisolated] = ACTIONS(3089),
    [anon_sym_public] = ACTIONS(3089),
    [anon_sym_private] = ACTIONS(3089),
    [anon_sym_internal] = ACTIONS(3089),
    [anon_sym_fileprivate] = ACTIONS(3089),
    [anon_sym_open] = ACTIONS(3089),
    [anon_sym_mutating] = ACTIONS(3089),
    [anon_sym_nonmutating] = ACTIONS(3089),
    [anon_sym_static] = ACTIONS(3089),
    [anon_sym_dynamic] = ACTIONS(3089),
    [anon_sym_optional] = ACTIONS(3089),
    [anon_sym_distributed] = ACTIONS(3089),
    [anon_sym_final] = ACTIONS(3089),
    [anon_sym_inout] = ACTIONS(3089),
    [anon_sym_ATescaping] = ACTIONS(3089),
    [anon_sym_ATautoclosure] = ACTIONS(3089),
    [anon_sym_weak] = ACTIONS(3089),
    [anon_sym_unowned] = ACTIONS(3087),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3089),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3089),
    [anon_sym_borrowing] = ACTIONS(3089),
    [anon_sym_consuming] = ACTIONS(3089),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3089),
    [sym__eq_custom] = ACTIONS(3089),
    [sym__throws_keyword] = ACTIONS(3089),
    [sym__rethrows_keyword] = ACTIONS(3089),
    [sym_where_keyword] = ACTIONS(3089),
    [sym__async_keyword_custom] = ACTIONS(3089),
  },
  [1761] = {
    [sym__arrow_operator] = STATE(4190),
    [sym__async_keyword] = STATE(6942),
    [sym_throws] = STATE(8493),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1876),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3067),
    [anon_sym_async] = ACTIONS(3067),
    [anon_sym_lazy] = ACTIONS(3067),
    [anon_sym_package] = ACTIONS(3067),
    [anon_sym_COMMA] = ACTIONS(3067),
    [anon_sym_BANG2] = ACTIONS(3067),
    [anon_sym_DOT] = ACTIONS(5248),
    [anon_sym_AMP] = ACTIONS(5250),
    [anon_sym_LBRACE] = ACTIONS(3067),
    [anon_sym_RBRACE] = ACTIONS(3067),
    [anon_sym_case] = ACTIONS(3067),
    [anon_sym_import] = ACTIONS(3067),
    [anon_sym_typealias] = ACTIONS(3067),
    [anon_sym_struct] = ACTIONS(3067),
    [anon_sym_class] = ACTIONS(3067),
    [anon_sym_enum] = ACTIONS(3067),
    [anon_sym_protocol] = ACTIONS(3067),
    [anon_sym_let] = ACTIONS(3067),
    [anon_sym_var] = ACTIONS(3067),
    [anon_sym_func] = ACTIONS(3067),
    [anon_sym_extension] = ACTIONS(3067),
    [anon_sym_indirect] = ACTIONS(3067),
    [anon_sym_init] = ACTIONS(3067),
    [anon_sym_deinit] = ACTIONS(3067),
    [anon_sym_subscript] = ACTIONS(3067),
    [anon_sym_prefix] = ACTIONS(3067),
    [anon_sym_infix] = ACTIONS(3067),
    [anon_sym_postfix] = ACTIONS(3067),
    [anon_sym_precedencegroup] = ACTIONS(3067),
    [anon_sym_associatedtype] = ACTIONS(3067),
    [anon_sym_AT] = ACTIONS(3065),
    [anon_sym_override] = ACTIONS(3067),
    [anon_sym_convenience] = ACTIONS(3067),
    [anon_sym_required] = ACTIONS(3067),
    [anon_sym_nonisolated] = ACTIONS(3067),
    [anon_sym_public] = ACTIONS(3067),
    [anon_sym_private] = ACTIONS(3067),
    [anon_sym_internal] = ACTIONS(3067),
    [anon_sym_fileprivate] = ACTIONS(3067),
    [anon_sym_open] = ACTIONS(3067),
    [anon_sym_mutating] = ACTIONS(3067),
    [anon_sym_nonmutating] = ACTIONS(3067),
    [anon_sym_static] = ACTIONS(3067),
    [anon_sym_dynamic] = ACTIONS(3067),
    [anon_sym_optional] = ACTIONS(3067),
    [anon_sym_distributed] = ACTIONS(3067),
    [anon_sym_final] = ACTIONS(3067),
    [anon_sym_inout] = ACTIONS(3067),
    [anon_sym_ATescaping] = ACTIONS(3067),
    [anon_sym_ATautoclosure] = ACTIONS(3067),
    [anon_sym_weak] = ACTIONS(3067),
    [anon_sym_unowned] = ACTIONS(3065),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3067),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3067),
    [anon_sym_borrowing] = ACTIONS(3067),
    [anon_sym_consuming] = ACTIONS(3067),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(5182),
    [sym__eq_custom] = ACTIONS(3067),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym_where_keyword] = ACTIONS(3067),
    [sym__async_keyword_custom] = ACTIONS(5184),
  },
  [1762] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3196),
    [anon_sym_async] = ACTIONS(3196),
    [anon_sym_lazy] = ACTIONS(3196),
    [anon_sym_package] = ACTIONS(3196),
    [anon_sym_COMMA] = ACTIONS(3196),
    [anon_sym_COLON] = ACTIONS(3196),
    [anon_sym_DOT] = ACTIONS(3196),
    [anon_sym_QMARK] = ACTIONS(3194),
    [anon_sym_QMARK2] = ACTIONS(3196),
    [anon_sym_AMP] = ACTIONS(3196),
    [anon_sym_LBRACE] = ACTIONS(3196),
    [anon_sym_RBRACE] = ACTIONS(3196),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_import] = ACTIONS(3196),
    [anon_sym_typealias] = ACTIONS(3196),
    [anon_sym_struct] = ACTIONS(3196),
    [anon_sym_class] = ACTIONS(3196),
    [anon_sym_enum] = ACTIONS(3196),
    [anon_sym_protocol] = ACTIONS(3196),
    [anon_sym_let] = ACTIONS(3196),
    [anon_sym_var] = ACTIONS(3196),
    [anon_sym_func] = ACTIONS(3196),
    [anon_sym_extension] = ACTIONS(3196),
    [anon_sym_indirect] = ACTIONS(3196),
    [anon_sym_init] = ACTIONS(3196),
    [anon_sym_deinit] = ACTIONS(3196),
    [anon_sym_subscript] = ACTIONS(3196),
    [anon_sym_prefix] = ACTIONS(3196),
    [anon_sym_infix] = ACTIONS(3196),
    [anon_sym_postfix] = ACTIONS(3196),
    [anon_sym_precedencegroup] = ACTIONS(3196),
    [anon_sym_associatedtype] = ACTIONS(3196),
    [anon_sym_AT] = ACTIONS(3194),
    [anon_sym_override] = ACTIONS(3196),
    [anon_sym_convenience] = ACTIONS(3196),
    [anon_sym_required] = ACTIONS(3196),
    [anon_sym_nonisolated] = ACTIONS(3196),
    [anon_sym_public] = ACTIONS(3196),
    [anon_sym_private] = ACTIONS(3196),
    [anon_sym_internal] = ACTIONS(3196),
    [anon_sym_fileprivate] = ACTIONS(3196),
    [anon_sym_open] = ACTIONS(3196),
    [anon_sym_mutating] = ACTIONS(3196),
    [anon_sym_nonmutating] = ACTIONS(3196),
    [anon_sym_static] = ACTIONS(3196),
    [anon_sym_dynamic] = ACTIONS(3196),
    [anon_sym_optional] = ACTIONS(3196),
    [anon_sym_distributed] = ACTIONS(3196),
    [anon_sym_final] = ACTIONS(3196),
    [anon_sym_inout] = ACTIONS(3196),
    [anon_sym_ATescaping] = ACTIONS(3196),
    [anon_sym_ATautoclosure] = ACTIONS(3196),
    [anon_sym_weak] = ACTIONS(3196),
    [anon_sym_unowned] = ACTIONS(3194),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3196),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3196),
    [anon_sym_borrowing] = ACTIONS(3196),
    [anon_sym_consuming] = ACTIONS(3196),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3196),
    [sym__dot_custom] = ACTIONS(3196),
    [sym__eq_custom] = ACTIONS(3196),
    [sym__throws_keyword] = ACTIONS(3196),
    [sym__rethrows_keyword] = ACTIONS(3196),
    [sym_where_keyword] = ACTIONS(3196),
    [sym__as_custom] = ACTIONS(3196),
    [sym__async_keyword_custom] = ACTIONS(3196),
  },
  [1763] = {
    [ts_builtin_sym_end] = ACTIONS(3223),
    [anon_sym_BANG] = ACTIONS(3217),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3219),
    [aux_sym_simple_identifier_token2] = ACTIONS(3221),
    [aux_sym_simple_identifier_token3] = ACTIONS(3221),
    [aux_sym_simple_identifier_token4] = ACTIONS(3221),
    [anon_sym_actor] = ACTIONS(3219),
    [anon_sym_async] = ACTIONS(3219),
    [anon_sym_each] = ACTIONS(3219),
    [anon_sym_lazy] = ACTIONS(3219),
    [anon_sym_repeat] = ACTIONS(3219),
    [anon_sym_package] = ACTIONS(3219),
    [anon_sym_COMMA] = ACTIONS(3223),
    [anon_sym_LPAREN] = ACTIONS(3223),
    [anon_sym_LBRACK] = ACTIONS(3223),
    [anon_sym_QMARK] = ACTIONS(3217),
    [anon_sym_QMARK2] = ACTIONS(3223),
    [anon_sym_AMP] = ACTIONS(3223),
    [aux_sym_custom_operator_token1] = ACTIONS(3223),
    [anon_sym_LT] = ACTIONS(3217),
    [anon_sym_GT] = ACTIONS(3217),
    [anon_sym_LBRACE] = ACTIONS(3223),
    [anon_sym_CARET_LBRACE] = ACTIONS(3223),
    [anon_sym_RBRACE] = ACTIONS(3223),
    [anon_sym_PLUS_EQ] = ACTIONS(3223),
    [anon_sym_DASH_EQ] = ACTIONS(3223),
    [anon_sym_STAR_EQ] = ACTIONS(3223),
    [anon_sym_SLASH_EQ] = ACTIONS(3223),
    [anon_sym_PERCENT_EQ] = ACTIONS(3223),
    [anon_sym_BANG_EQ] = ACTIONS(3217),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3223),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3223),
    [anon_sym_LT_EQ] = ACTIONS(3223),
    [anon_sym_GT_EQ] = ACTIONS(3223),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3223),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3223),
    [anon_sym_is] = ACTIONS(3217),
    [anon_sym_PLUS] = ACTIONS(3217),
    [anon_sym_DASH] = ACTIONS(3217),
    [anon_sym_STAR] = ACTIONS(3217),
    [anon_sym_SLASH] = ACTIONS(3217),
    [anon_sym_PERCENT] = ACTIONS(3217),
    [anon_sym_PLUS_PLUS] = ACTIONS(3223),
    [anon_sym_DASH_DASH] = ACTIONS(3223),
    [anon_sym_PIPE] = ACTIONS(3223),
    [anon_sym_CARET] = ACTIONS(3217),
    [anon_sym_LT_LT] = ACTIONS(3223),
    [anon_sym_GT_GT] = ACTIONS(3223),
    [anon_sym_borrowing] = ACTIONS(3219),
    [anon_sym_consuming] = ACTIONS(3219),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3223),
    [sym__explicit_semi] = ACTIONS(3223),
    [sym__dot_custom] = ACTIONS(3223),
    [sym__conjunction_operator_custom] = ACTIONS(3223),
    [sym__disjunction_operator_custom] = ACTIONS(3223),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3223),
    [sym__eq_custom] = ACTIONS(3223),
    [sym__eq_eq_custom] = ACTIONS(3223),
    [sym__plus_then_ws] = ACTIONS(3223),
    [sym__minus_then_ws] = ACTIONS(3223),
    [sym__bang_custom] = ACTIONS(3223),
    [sym_where_keyword] = ACTIONS(3223),
    [sym__as_custom] = ACTIONS(3223),
    [sym__as_quest_custom] = ACTIONS(3223),
    [sym__as_bang_custom] = ACTIONS(3223),
    [sym__custom_operator] = ACTIONS(3223),
  },
  [1764] = {
    [sym_simple_identifier] = STATE(8799),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [aux_sym__fn_call_lambda_arguments_repeat1] = STATE(1764),
    [anon_sym_BANG] = ACTIONS(2981),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(2983),
    [aux_sym_simple_identifier_token2] = ACTIONS(2986),
    [aux_sym_simple_identifier_token3] = ACTIONS(2986),
    [aux_sym_simple_identifier_token4] = ACTIONS(2986),
    [anon_sym_actor] = ACTIONS(2983),
    [anon_sym_async] = ACTIONS(2983),
    [anon_sym_each] = ACTIONS(2983),
    [anon_sym_lazy] = ACTIONS(2983),
    [anon_sym_repeat] = ACTIONS(2983),
    [anon_sym_package] = ACTIONS(2983),
    [anon_sym_COMMA] = ACTIONS(2989),
    [anon_sym_LPAREN] = ACTIONS(2989),
    [anon_sym_LBRACK] = ACTIONS(2989),
    [anon_sym_QMARK] = ACTIONS(2981),
    [anon_sym_QMARK2] = ACTIONS(2989),
    [anon_sym_AMP] = ACTIONS(2989),
    [aux_sym_custom_operator_token1] = ACTIONS(2989),
    [anon_sym_LT] = ACTIONS(2981),
    [anon_sym_GT] = ACTIONS(2981),
    [anon_sym_LBRACE] = ACTIONS(2989),
    [anon_sym_CARET_LBRACE] = ACTIONS(2989),
    [anon_sym_PLUS_EQ] = ACTIONS(2989),
    [anon_sym_DASH_EQ] = ACTIONS(2989),
    [anon_sym_STAR_EQ] = ACTIONS(2989),
    [anon_sym_SLASH_EQ] = ACTIONS(2989),
    [anon_sym_PERCENT_EQ] = ACTIONS(2989),
    [anon_sym_BANG_EQ] = ACTIONS(2981),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(2989),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2989),
    [anon_sym_LT_EQ] = ACTIONS(2989),
    [anon_sym_GT_EQ] = ACTIONS(2989),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2989),
    [anon_sym_DOT_DOT_LT] = ACTIONS(2989),
    [anon_sym_is] = ACTIONS(2981),
    [anon_sym_PLUS] = ACTIONS(2981),
    [anon_sym_DASH] = ACTIONS(2981),
    [anon_sym_STAR] = ACTIONS(2981),
    [anon_sym_SLASH] = ACTIONS(2981),
    [anon_sym_PERCENT] = ACTIONS(2981),
    [anon_sym_PLUS_PLUS] = ACTIONS(2989),
    [anon_sym_DASH_DASH] = ACTIONS(2989),
    [anon_sym_PIPE] = ACTIONS(2989),
    [anon_sym_CARET] = ACTIONS(2981),
    [anon_sym_LT_LT] = ACTIONS(2989),
    [anon_sym_GT_GT] = ACTIONS(2989),
    [anon_sym_borrowing] = ACTIONS(2983),
    [anon_sym_consuming] = ACTIONS(2983),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(2989),
    [sym__conjunction_operator_custom] = ACTIONS(2989),
    [sym__disjunction_operator_custom] = ACTIONS(2989),
    [sym__nil_coalescing_operator_custom] = ACTIONS(2989),
    [sym__eq_custom] = ACTIONS(2989),
    [sym__eq_eq_custom] = ACTIONS(2989),
    [sym__plus_then_ws] = ACTIONS(2989),
    [sym__minus_then_ws] = ACTIONS(2989),
    [sym__bang_custom] = ACTIONS(2989),
    [sym_else] = ACTIONS(2989),
    [sym__as_custom] = ACTIONS(2989),
    [sym__as_quest_custom] = ACTIONS(2989),
    [sym__as_bang_custom] = ACTIONS(2989),
    [sym__custom_operator] = ACTIONS(2989),
  },
  [1765] = {
    [ts_builtin_sym_end] = ACTIONS(3221),
    [anon_sym_BANG] = ACTIONS(3219),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3219),
    [aux_sym_simple_identifier_token2] = ACTIONS(3221),
    [aux_sym_simple_identifier_token3] = ACTIONS(3221),
    [aux_sym_simple_identifier_token4] = ACTIONS(3221),
    [anon_sym_actor] = ACTIONS(3219),
    [anon_sym_async] = ACTIONS(3219),
    [anon_sym_each] = ACTIONS(3219),
    [anon_sym_lazy] = ACTIONS(3219),
    [anon_sym_repeat] = ACTIONS(3219),
    [anon_sym_package] = ACTIONS(3219),
    [anon_sym_COMMA] = ACTIONS(3221),
    [anon_sym_LPAREN] = ACTIONS(3221),
    [anon_sym_LBRACK] = ACTIONS(3221),
    [anon_sym_QMARK] = ACTIONS(3219),
    [anon_sym_QMARK2] = ACTIONS(3221),
    [anon_sym_AMP] = ACTIONS(3221),
    [aux_sym_custom_operator_token1] = ACTIONS(3221),
    [anon_sym_LT] = ACTIONS(3219),
    [anon_sym_GT] = ACTIONS(3219),
    [anon_sym_LBRACE] = ACTIONS(3221),
    [anon_sym_CARET_LBRACE] = ACTIONS(3221),
    [anon_sym_RBRACE] = ACTIONS(3221),
    [anon_sym_PLUS_EQ] = ACTIONS(3221),
    [anon_sym_DASH_EQ] = ACTIONS(3221),
    [anon_sym_STAR_EQ] = ACTIONS(3221),
    [anon_sym_SLASH_EQ] = ACTIONS(3221),
    [anon_sym_PERCENT_EQ] = ACTIONS(3221),
    [anon_sym_BANG_EQ] = ACTIONS(3219),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3221),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3221),
    [anon_sym_LT_EQ] = ACTIONS(3221),
    [anon_sym_GT_EQ] = ACTIONS(3221),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3221),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3221),
    [anon_sym_is] = ACTIONS(3219),
    [anon_sym_PLUS] = ACTIONS(3219),
    [anon_sym_DASH] = ACTIONS(3219),
    [anon_sym_STAR] = ACTIONS(3219),
    [anon_sym_SLASH] = ACTIONS(3219),
    [anon_sym_PERCENT] = ACTIONS(3219),
    [anon_sym_PLUS_PLUS] = ACTIONS(3221),
    [anon_sym_DASH_DASH] = ACTIONS(3221),
    [anon_sym_PIPE] = ACTIONS(3221),
    [anon_sym_CARET] = ACTIONS(3219),
    [anon_sym_LT_LT] = ACTIONS(3221),
    [anon_sym_GT_GT] = ACTIONS(3221),
    [anon_sym_borrowing] = ACTIONS(3219),
    [anon_sym_consuming] = ACTIONS(3219),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3221),
    [sym__explicit_semi] = ACTIONS(3221),
    [sym__dot_custom] = ACTIONS(3221),
    [sym__conjunction_operator_custom] = ACTIONS(3221),
    [sym__disjunction_operator_custom] = ACTIONS(3221),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3221),
    [sym__eq_custom] = ACTIONS(3221),
    [sym__eq_eq_custom] = ACTIONS(3221),
    [sym__plus_then_ws] = ACTIONS(3221),
    [sym__minus_then_ws] = ACTIONS(3221),
    [sym__bang_custom] = ACTIONS(3221),
    [sym_where_keyword] = ACTIONS(3221),
    [sym__as_custom] = ACTIONS(3221),
    [sym__as_quest_custom] = ACTIONS(3221),
    [sym__as_bang_custom] = ACTIONS(3221),
    [sym__custom_operator] = ACTIONS(3221),
  },
  [1766] = {
    [sym__immediate_quest] = STATE(1766),
    [aux_sym_optional_type_repeat1] = STATE(1766),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3034),
    [anon_sym_async] = ACTIONS(3034),
    [anon_sym_lazy] = ACTIONS(3034),
    [anon_sym_package] = ACTIONS(3034),
    [anon_sym_RPAREN] = ACTIONS(3034),
    [anon_sym_COMMA] = ACTIONS(3034),
    [anon_sym_BANG2] = ACTIONS(3034),
    [anon_sym_DOT] = ACTIONS(3032),
    [anon_sym_QMARK2] = ACTIONS(5259),
    [anon_sym_AMP] = ACTIONS(3034),
    [anon_sym_LBRACE] = ACTIONS(3034),
    [anon_sym_RBRACE] = ACTIONS(3034),
    [anon_sym_case] = ACTIONS(3034),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3034),
    [anon_sym_import] = ACTIONS(3034),
    [anon_sym_typealias] = ACTIONS(3034),
    [anon_sym_struct] = ACTIONS(3034),
    [anon_sym_class] = ACTIONS(3034),
    [anon_sym_enum] = ACTIONS(3034),
    [anon_sym_protocol] = ACTIONS(3034),
    [anon_sym_let] = ACTIONS(3034),
    [anon_sym_var] = ACTIONS(3034),
    [anon_sym_func] = ACTIONS(3034),
    [anon_sym_extension] = ACTIONS(3034),
    [anon_sym_indirect] = ACTIONS(3034),
    [anon_sym_init] = ACTIONS(3034),
    [anon_sym_deinit] = ACTIONS(3034),
    [anon_sym_subscript] = ACTIONS(3034),
    [anon_sym_prefix] = ACTIONS(3034),
    [anon_sym_infix] = ACTIONS(3034),
    [anon_sym_postfix] = ACTIONS(3034),
    [anon_sym_precedencegroup] = ACTIONS(3034),
    [anon_sym_associatedtype] = ACTIONS(3034),
    [anon_sym_AT] = ACTIONS(3032),
    [anon_sym_override] = ACTIONS(3034),
    [anon_sym_convenience] = ACTIONS(3034),
    [anon_sym_required] = ACTIONS(3034),
    [anon_sym_nonisolated] = ACTIONS(3034),
    [anon_sym_public] = ACTIONS(3034),
    [anon_sym_private] = ACTIONS(3034),
    [anon_sym_internal] = ACTIONS(3034),
    [anon_sym_fileprivate] = ACTIONS(3034),
    [anon_sym_open] = ACTIONS(3034),
    [anon_sym_mutating] = ACTIONS(3034),
    [anon_sym_nonmutating] = ACTIONS(3034),
    [anon_sym_static] = ACTIONS(3034),
    [anon_sym_dynamic] = ACTIONS(3034),
    [anon_sym_optional] = ACTIONS(3034),
    [anon_sym_distributed] = ACTIONS(3034),
    [anon_sym_final] = ACTIONS(3034),
    [anon_sym_inout] = ACTIONS(3034),
    [anon_sym_ATescaping] = ACTIONS(3034),
    [anon_sym_ATautoclosure] = ACTIONS(3034),
    [anon_sym_weak] = ACTIONS(3034),
    [anon_sym_unowned] = ACTIONS(3032),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3034),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3034),
    [anon_sym_borrowing] = ACTIONS(3034),
    [anon_sym_consuming] = ACTIONS(3034),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3034),
    [sym__eq_custom] = ACTIONS(3034),
    [sym__throws_keyword] = ACTIONS(3034),
    [sym__rethrows_keyword] = ACTIONS(3034),
    [sym__async_keyword_custom] = ACTIONS(3034),
  },
  [1767] = {
    [ts_builtin_sym_end] = ACTIONS(3231),
    [anon_sym_BANG] = ACTIONS(3229),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3229),
    [aux_sym_simple_identifier_token2] = ACTIONS(3231),
    [aux_sym_simple_identifier_token3] = ACTIONS(3231),
    [aux_sym_simple_identifier_token4] = ACTIONS(3231),
    [anon_sym_actor] = ACTIONS(3229),
    [anon_sym_async] = ACTIONS(3229),
    [anon_sym_each] = ACTIONS(3229),
    [anon_sym_lazy] = ACTIONS(3229),
    [anon_sym_repeat] = ACTIONS(3229),
    [anon_sym_package] = ACTIONS(3229),
    [anon_sym_COMMA] = ACTIONS(3231),
    [anon_sym_LPAREN] = ACTIONS(3231),
    [anon_sym_LBRACK] = ACTIONS(3231),
    [anon_sym_QMARK] = ACTIONS(3229),
    [anon_sym_QMARK2] = ACTIONS(3231),
    [anon_sym_AMP] = ACTIONS(3231),
    [aux_sym_custom_operator_token1] = ACTIONS(3231),
    [anon_sym_LT] = ACTIONS(3229),
    [anon_sym_GT] = ACTIONS(3229),
    [anon_sym_LBRACE] = ACTIONS(3231),
    [anon_sym_CARET_LBRACE] = ACTIONS(3231),
    [anon_sym_RBRACE] = ACTIONS(3231),
    [anon_sym_PLUS_EQ] = ACTIONS(3231),
    [anon_sym_DASH_EQ] = ACTIONS(3231),
    [anon_sym_STAR_EQ] = ACTIONS(3231),
    [anon_sym_SLASH_EQ] = ACTIONS(3231),
    [anon_sym_PERCENT_EQ] = ACTIONS(3231),
    [anon_sym_BANG_EQ] = ACTIONS(3229),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3231),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3231),
    [anon_sym_LT_EQ] = ACTIONS(3231),
    [anon_sym_GT_EQ] = ACTIONS(3231),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3231),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3231),
    [anon_sym_is] = ACTIONS(3229),
    [anon_sym_PLUS] = ACTIONS(3229),
    [anon_sym_DASH] = ACTIONS(3229),
    [anon_sym_STAR] = ACTIONS(3229),
    [anon_sym_SLASH] = ACTIONS(3229),
    [anon_sym_PERCENT] = ACTIONS(3229),
    [anon_sym_PLUS_PLUS] = ACTIONS(3231),
    [anon_sym_DASH_DASH] = ACTIONS(3231),
    [anon_sym_PIPE] = ACTIONS(3231),
    [anon_sym_CARET] = ACTIONS(3229),
    [anon_sym_LT_LT] = ACTIONS(3231),
    [anon_sym_GT_GT] = ACTIONS(3231),
    [anon_sym_borrowing] = ACTIONS(3229),
    [anon_sym_consuming] = ACTIONS(3229),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3231),
    [sym__explicit_semi] = ACTIONS(3231),
    [sym__dot_custom] = ACTIONS(3231),
    [sym__conjunction_operator_custom] = ACTIONS(3231),
    [sym__disjunction_operator_custom] = ACTIONS(3231),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3231),
    [sym__eq_custom] = ACTIONS(3231),
    [sym__eq_eq_custom] = ACTIONS(3231),
    [sym__plus_then_ws] = ACTIONS(3231),
    [sym__minus_then_ws] = ACTIONS(3231),
    [sym__bang_custom] = ACTIONS(3231),
    [sym_where_keyword] = ACTIONS(3231),
    [sym__as_custom] = ACTIONS(3231),
    [sym__as_quest_custom] = ACTIONS(3231),
    [sym__as_bang_custom] = ACTIONS(3231),
    [sym__custom_operator] = ACTIONS(3231),
  },
  [1768] = {
    [ts_builtin_sym_end] = ACTIONS(3239),
    [anon_sym_BANG] = ACTIONS(3237),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3237),
    [aux_sym_simple_identifier_token2] = ACTIONS(3239),
    [aux_sym_simple_identifier_token3] = ACTIONS(3239),
    [aux_sym_simple_identifier_token4] = ACTIONS(3239),
    [anon_sym_actor] = ACTIONS(3237),
    [anon_sym_async] = ACTIONS(3237),
    [anon_sym_each] = ACTIONS(3237),
    [anon_sym_lazy] = ACTIONS(3237),
    [anon_sym_repeat] = ACTIONS(3237),
    [anon_sym_package] = ACTIONS(3237),
    [anon_sym_COMMA] = ACTIONS(3239),
    [anon_sym_LPAREN] = ACTIONS(3239),
    [anon_sym_LBRACK] = ACTIONS(3239),
    [anon_sym_QMARK] = ACTIONS(3237),
    [anon_sym_QMARK2] = ACTIONS(3239),
    [anon_sym_AMP] = ACTIONS(3239),
    [aux_sym_custom_operator_token1] = ACTIONS(3239),
    [anon_sym_LT] = ACTIONS(3237),
    [anon_sym_GT] = ACTIONS(3237),
    [anon_sym_LBRACE] = ACTIONS(3239),
    [anon_sym_CARET_LBRACE] = ACTIONS(3239),
    [anon_sym_RBRACE] = ACTIONS(3239),
    [anon_sym_PLUS_EQ] = ACTIONS(3239),
    [anon_sym_DASH_EQ] = ACTIONS(3239),
    [anon_sym_STAR_EQ] = ACTIONS(3239),
    [anon_sym_SLASH_EQ] = ACTIONS(3239),
    [anon_sym_PERCENT_EQ] = ACTIONS(3239),
    [anon_sym_BANG_EQ] = ACTIONS(3237),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3239),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3239),
    [anon_sym_LT_EQ] = ACTIONS(3239),
    [anon_sym_GT_EQ] = ACTIONS(3239),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3239),
    [anon_sym_is] = ACTIONS(3237),
    [anon_sym_PLUS] = ACTIONS(3237),
    [anon_sym_DASH] = ACTIONS(3237),
    [anon_sym_STAR] = ACTIONS(3237),
    [anon_sym_SLASH] = ACTIONS(3237),
    [anon_sym_PERCENT] = ACTIONS(3237),
    [anon_sym_PLUS_PLUS] = ACTIONS(3239),
    [anon_sym_DASH_DASH] = ACTIONS(3239),
    [anon_sym_PIPE] = ACTIONS(3239),
    [anon_sym_CARET] = ACTIONS(3237),
    [anon_sym_LT_LT] = ACTIONS(3239),
    [anon_sym_GT_GT] = ACTIONS(3239),
    [anon_sym_borrowing] = ACTIONS(3237),
    [anon_sym_consuming] = ACTIONS(3237),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3239),
    [sym__explicit_semi] = ACTIONS(3239),
    [sym__dot_custom] = ACTIONS(3239),
    [sym__conjunction_operator_custom] = ACTIONS(3239),
    [sym__disjunction_operator_custom] = ACTIONS(3239),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3239),
    [sym__eq_custom] = ACTIONS(3239),
    [sym__eq_eq_custom] = ACTIONS(3239),
    [sym__plus_then_ws] = ACTIONS(3239),
    [sym__minus_then_ws] = ACTIONS(3239),
    [sym__bang_custom] = ACTIONS(3239),
    [sym_where_keyword] = ACTIONS(3239),
    [sym__as_custom] = ACTIONS(3239),
    [sym__as_quest_custom] = ACTIONS(3239),
    [sym__as_bang_custom] = ACTIONS(3239),
    [sym__custom_operator] = ACTIONS(3239),
  },
  [1769] = {
    [sym__dot] = STATE(5484),
    [aux_sym_user_type_repeat1] = STATE(1750),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3041),
    [anon_sym_async] = ACTIONS(3041),
    [anon_sym_lazy] = ACTIONS(3041),
    [anon_sym_package] = ACTIONS(3041),
    [anon_sym_COMMA] = ACTIONS(3041),
    [anon_sym_BANG2] = ACTIONS(3041),
    [anon_sym_DOT] = ACTIONS(3041),
    [anon_sym_QMARK2] = ACTIONS(3041),
    [anon_sym_AMP] = ACTIONS(3041),
    [anon_sym_LBRACE] = ACTIONS(3041),
    [anon_sym_RBRACE] = ACTIONS(3041),
    [anon_sym_case] = ACTIONS(3041),
    [anon_sym_import] = ACTIONS(3041),
    [anon_sym_typealias] = ACTIONS(3041),
    [anon_sym_struct] = ACTIONS(3041),
    [anon_sym_class] = ACTIONS(3041),
    [anon_sym_enum] = ACTIONS(3041),
    [anon_sym_protocol] = ACTIONS(3041),
    [anon_sym_let] = ACTIONS(3041),
    [anon_sym_var] = ACTIONS(3041),
    [anon_sym_func] = ACTIONS(3041),
    [anon_sym_extension] = ACTIONS(3041),
    [anon_sym_indirect] = ACTIONS(3041),
    [anon_sym_init] = ACTIONS(3041),
    [anon_sym_deinit] = ACTIONS(3041),
    [anon_sym_subscript] = ACTIONS(3041),
    [anon_sym_prefix] = ACTIONS(3041),
    [anon_sym_infix] = ACTIONS(3041),
    [anon_sym_postfix] = ACTIONS(3041),
    [anon_sym_precedencegroup] = ACTIONS(3041),
    [anon_sym_associatedtype] = ACTIONS(3041),
    [anon_sym_AT] = ACTIONS(3039),
    [anon_sym_override] = ACTIONS(3041),
    [anon_sym_convenience] = ACTIONS(3041),
    [anon_sym_required] = ACTIONS(3041),
    [anon_sym_nonisolated] = ACTIONS(3041),
    [anon_sym_public] = ACTIONS(3041),
    [anon_sym_private] = ACTIONS(3041),
    [anon_sym_internal] = ACTIONS(3041),
    [anon_sym_fileprivate] = ACTIONS(3041),
    [anon_sym_open] = ACTIONS(3041),
    [anon_sym_mutating] = ACTIONS(3041),
    [anon_sym_nonmutating] = ACTIONS(3041),
    [anon_sym_static] = ACTIONS(3041),
    [anon_sym_dynamic] = ACTIONS(3041),
    [anon_sym_optional] = ACTIONS(3041),
    [anon_sym_distributed] = ACTIONS(3041),
    [anon_sym_final] = ACTIONS(3041),
    [anon_sym_inout] = ACTIONS(3041),
    [anon_sym_ATescaping] = ACTIONS(3041),
    [anon_sym_ATautoclosure] = ACTIONS(3041),
    [anon_sym_weak] = ACTIONS(3041),
    [anon_sym_unowned] = ACTIONS(3039),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3041),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3041),
    [anon_sym_borrowing] = ACTIONS(3041),
    [anon_sym_consuming] = ACTIONS(3041),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3041),
    [sym__dot_custom] = ACTIONS(5255),
    [sym__eq_custom] = ACTIONS(3041),
    [sym__throws_keyword] = ACTIONS(3041),
    [sym__rethrows_keyword] = ACTIONS(3041),
    [sym_where_keyword] = ACTIONS(3041),
    [sym__async_keyword_custom] = ACTIONS(3041),
  },
  [1770] = {
    [sym__immediate_quest] = STATE(1766),
    [aux_sym_optional_type_repeat1] = STATE(1766),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3030),
    [anon_sym_async] = ACTIONS(3030),
    [anon_sym_lazy] = ACTIONS(3030),
    [anon_sym_package] = ACTIONS(3030),
    [anon_sym_RPAREN] = ACTIONS(3030),
    [anon_sym_COMMA] = ACTIONS(3030),
    [anon_sym_BANG2] = ACTIONS(3030),
    [anon_sym_DOT] = ACTIONS(3028),
    [anon_sym_QMARK2] = ACTIONS(5236),
    [anon_sym_AMP] = ACTIONS(3030),
    [anon_sym_LBRACE] = ACTIONS(3030),
    [anon_sym_RBRACE] = ACTIONS(3030),
    [anon_sym_case] = ACTIONS(3030),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3030),
    [anon_sym_import] = ACTIONS(3030),
    [anon_sym_typealias] = ACTIONS(3030),
    [anon_sym_struct] = ACTIONS(3030),
    [anon_sym_class] = ACTIONS(3030),
    [anon_sym_enum] = ACTIONS(3030),
    [anon_sym_protocol] = ACTIONS(3030),
    [anon_sym_let] = ACTIONS(3030),
    [anon_sym_var] = ACTIONS(3030),
    [anon_sym_func] = ACTIONS(3030),
    [anon_sym_extension] = ACTIONS(3030),
    [anon_sym_indirect] = ACTIONS(3030),
    [anon_sym_init] = ACTIONS(3030),
    [anon_sym_deinit] = ACTIONS(3030),
    [anon_sym_subscript] = ACTIONS(3030),
    [anon_sym_prefix] = ACTIONS(3030),
    [anon_sym_infix] = ACTIONS(3030),
    [anon_sym_postfix] = ACTIONS(3030),
    [anon_sym_precedencegroup] = ACTIONS(3030),
    [anon_sym_associatedtype] = ACTIONS(3030),
    [anon_sym_AT] = ACTIONS(3028),
    [anon_sym_override] = ACTIONS(3030),
    [anon_sym_convenience] = ACTIONS(3030),
    [anon_sym_required] = ACTIONS(3030),
    [anon_sym_nonisolated] = ACTIONS(3030),
    [anon_sym_public] = ACTIONS(3030),
    [anon_sym_private] = ACTIONS(3030),
    [anon_sym_internal] = ACTIONS(3030),
    [anon_sym_fileprivate] = ACTIONS(3030),
    [anon_sym_open] = ACTIONS(3030),
    [anon_sym_mutating] = ACTIONS(3030),
    [anon_sym_nonmutating] = ACTIONS(3030),
    [anon_sym_static] = ACTIONS(3030),
    [anon_sym_dynamic] = ACTIONS(3030),
    [anon_sym_optional] = ACTIONS(3030),
    [anon_sym_distributed] = ACTIONS(3030),
    [anon_sym_final] = ACTIONS(3030),
    [anon_sym_inout] = ACTIONS(3030),
    [anon_sym_ATescaping] = ACTIONS(3030),
    [anon_sym_ATautoclosure] = ACTIONS(3030),
    [anon_sym_weak] = ACTIONS(3030),
    [anon_sym_unowned] = ACTIONS(3028),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3030),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3030),
    [anon_sym_borrowing] = ACTIONS(3030),
    [anon_sym_consuming] = ACTIONS(3030),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3030),
    [sym__eq_custom] = ACTIONS(3030),
    [sym__throws_keyword] = ACTIONS(3030),
    [sym__rethrows_keyword] = ACTIONS(3030),
    [sym__async_keyword_custom] = ACTIONS(3030),
  },
  [1771] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3200),
    [anon_sym_async] = ACTIONS(3200),
    [anon_sym_lazy] = ACTIONS(3200),
    [anon_sym_package] = ACTIONS(3200),
    [anon_sym_COMMA] = ACTIONS(3200),
    [anon_sym_COLON] = ACTIONS(3200),
    [anon_sym_DOT] = ACTIONS(3200),
    [anon_sym_QMARK] = ACTIONS(3198),
    [anon_sym_QMARK2] = ACTIONS(3200),
    [anon_sym_AMP] = ACTIONS(3200),
    [anon_sym_LBRACE] = ACTIONS(3200),
    [anon_sym_RBRACE] = ACTIONS(3200),
    [anon_sym_case] = ACTIONS(3200),
    [anon_sym_import] = ACTIONS(3200),
    [anon_sym_typealias] = ACTIONS(3200),
    [anon_sym_struct] = ACTIONS(3200),
    [anon_sym_class] = ACTIONS(3200),
    [anon_sym_enum] = ACTIONS(3200),
    [anon_sym_protocol] = ACTIONS(3200),
    [anon_sym_let] = ACTIONS(3200),
    [anon_sym_var] = ACTIONS(3200),
    [anon_sym_func] = ACTIONS(3200),
    [anon_sym_extension] = ACTIONS(3200),
    [anon_sym_indirect] = ACTIONS(3200),
    [anon_sym_init] = ACTIONS(3200),
    [anon_sym_deinit] = ACTIONS(3200),
    [anon_sym_subscript] = ACTIONS(3200),
    [anon_sym_prefix] = ACTIONS(3200),
    [anon_sym_infix] = ACTIONS(3200),
    [anon_sym_postfix] = ACTIONS(3200),
    [anon_sym_precedencegroup] = ACTIONS(3200),
    [anon_sym_associatedtype] = ACTIONS(3200),
    [anon_sym_AT] = ACTIONS(3198),
    [anon_sym_override] = ACTIONS(3200),
    [anon_sym_convenience] = ACTIONS(3200),
    [anon_sym_required] = ACTIONS(3200),
    [anon_sym_nonisolated] = ACTIONS(3200),
    [anon_sym_public] = ACTIONS(3200),
    [anon_sym_private] = ACTIONS(3200),
    [anon_sym_internal] = ACTIONS(3200),
    [anon_sym_fileprivate] = ACTIONS(3200),
    [anon_sym_open] = ACTIONS(3200),
    [anon_sym_mutating] = ACTIONS(3200),
    [anon_sym_nonmutating] = ACTIONS(3200),
    [anon_sym_static] = ACTIONS(3200),
    [anon_sym_dynamic] = ACTIONS(3200),
    [anon_sym_optional] = ACTIONS(3200),
    [anon_sym_distributed] = ACTIONS(3200),
    [anon_sym_final] = ACTIONS(3200),
    [anon_sym_inout] = ACTIONS(3200),
    [anon_sym_ATescaping] = ACTIONS(3200),
    [anon_sym_ATautoclosure] = ACTIONS(3200),
    [anon_sym_weak] = ACTIONS(3200),
    [anon_sym_unowned] = ACTIONS(3198),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3200),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3200),
    [anon_sym_borrowing] = ACTIONS(3200),
    [anon_sym_consuming] = ACTIONS(3200),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3200),
    [sym__dot_custom] = ACTIONS(3200),
    [sym__eq_custom] = ACTIONS(3200),
    [sym__throws_keyword] = ACTIONS(3200),
    [sym__rethrows_keyword] = ACTIONS(3200),
    [sym_where_keyword] = ACTIONS(3200),
    [sym__as_custom] = ACTIONS(3200),
    [sym__async_keyword_custom] = ACTIONS(3200),
  },
  [1772] = {
    [sym__immediate_quest] = STATE(1770),
    [aux_sym_optional_type_repeat1] = STATE(1770),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3000),
    [anon_sym_async] = ACTIONS(3000),
    [anon_sym_lazy] = ACTIONS(3000),
    [anon_sym_package] = ACTIONS(3000),
    [anon_sym_RPAREN] = ACTIONS(3000),
    [anon_sym_COMMA] = ACTIONS(3000),
    [anon_sym_BANG2] = ACTIONS(3000),
    [anon_sym_DOT] = ACTIONS(2998),
    [anon_sym_QMARK2] = ACTIONS(5236),
    [anon_sym_AMP] = ACTIONS(3000),
    [anon_sym_LBRACE] = ACTIONS(3000),
    [anon_sym_RBRACE] = ACTIONS(3000),
    [anon_sym_case] = ACTIONS(3000),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3000),
    [anon_sym_import] = ACTIONS(3000),
    [anon_sym_typealias] = ACTIONS(3000),
    [anon_sym_struct] = ACTIONS(3000),
    [anon_sym_class] = ACTIONS(3000),
    [anon_sym_enum] = ACTIONS(3000),
    [anon_sym_protocol] = ACTIONS(3000),
    [anon_sym_let] = ACTIONS(3000),
    [anon_sym_var] = ACTIONS(3000),
    [anon_sym_func] = ACTIONS(3000),
    [anon_sym_extension] = ACTIONS(3000),
    [anon_sym_indirect] = ACTIONS(3000),
    [anon_sym_init] = ACTIONS(3000),
    [anon_sym_deinit] = ACTIONS(3000),
    [anon_sym_subscript] = ACTIONS(3000),
    [anon_sym_prefix] = ACTIONS(3000),
    [anon_sym_infix] = ACTIONS(3000),
    [anon_sym_postfix] = ACTIONS(3000),
    [anon_sym_precedencegroup] = ACTIONS(3000),
    [anon_sym_associatedtype] = ACTIONS(3000),
    [anon_sym_AT] = ACTIONS(2998),
    [anon_sym_override] = ACTIONS(3000),
    [anon_sym_convenience] = ACTIONS(3000),
    [anon_sym_required] = ACTIONS(3000),
    [anon_sym_nonisolated] = ACTIONS(3000),
    [anon_sym_public] = ACTIONS(3000),
    [anon_sym_private] = ACTIONS(3000),
    [anon_sym_internal] = ACTIONS(3000),
    [anon_sym_fileprivate] = ACTIONS(3000),
    [anon_sym_open] = ACTIONS(3000),
    [anon_sym_mutating] = ACTIONS(3000),
    [anon_sym_nonmutating] = ACTIONS(3000),
    [anon_sym_static] = ACTIONS(3000),
    [anon_sym_dynamic] = ACTIONS(3000),
    [anon_sym_optional] = ACTIONS(3000),
    [anon_sym_distributed] = ACTIONS(3000),
    [anon_sym_final] = ACTIONS(3000),
    [anon_sym_inout] = ACTIONS(3000),
    [anon_sym_ATescaping] = ACTIONS(3000),
    [anon_sym_ATautoclosure] = ACTIONS(3000),
    [anon_sym_weak] = ACTIONS(3000),
    [anon_sym_unowned] = ACTIONS(2998),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3000),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3000),
    [anon_sym_borrowing] = ACTIONS(3000),
    [anon_sym_consuming] = ACTIONS(3000),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3000),
    [sym__eq_custom] = ACTIONS(3000),
    [sym__throws_keyword] = ACTIONS(3000),
    [sym__rethrows_keyword] = ACTIONS(3000),
    [sym__async_keyword_custom] = ACTIONS(3000),
  },
  [1773] = {
    [sym_simple_identifier] = STATE(8799),
    [sym__contextual_simple_identifier] = STATE(4962),
    [sym__parameter_ownership_modifier] = STATE(4962),
    [aux_sym__fn_call_lambda_arguments_repeat1] = STATE(1764),
    [anon_sym_BANG] = ACTIONS(3021),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3012),
    [aux_sym_simple_identifier_token2] = ACTIONS(3014),
    [aux_sym_simple_identifier_token3] = ACTIONS(3014),
    [aux_sym_simple_identifier_token4] = ACTIONS(3014),
    [anon_sym_actor] = ACTIONS(3012),
    [anon_sym_async] = ACTIONS(3012),
    [anon_sym_each] = ACTIONS(3012),
    [anon_sym_lazy] = ACTIONS(3012),
    [anon_sym_repeat] = ACTIONS(3012),
    [anon_sym_package] = ACTIONS(3012),
    [anon_sym_COMMA] = ACTIONS(3026),
    [anon_sym_LPAREN] = ACTIONS(3026),
    [anon_sym_LBRACK] = ACTIONS(3026),
    [anon_sym_QMARK] = ACTIONS(3021),
    [anon_sym_QMARK2] = ACTIONS(3026),
    [anon_sym_AMP] = ACTIONS(3026),
    [aux_sym_custom_operator_token1] = ACTIONS(3026),
    [anon_sym_LT] = ACTIONS(3021),
    [anon_sym_GT] = ACTIONS(3021),
    [anon_sym_LBRACE] = ACTIONS(3026),
    [anon_sym_CARET_LBRACE] = ACTIONS(3026),
    [anon_sym_PLUS_EQ] = ACTIONS(3026),
    [anon_sym_DASH_EQ] = ACTIONS(3026),
    [anon_sym_STAR_EQ] = ACTIONS(3026),
    [anon_sym_SLASH_EQ] = ACTIONS(3026),
    [anon_sym_PERCENT_EQ] = ACTIONS(3026),
    [anon_sym_BANG_EQ] = ACTIONS(3021),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3026),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3026),
    [anon_sym_LT_EQ] = ACTIONS(3026),
    [anon_sym_GT_EQ] = ACTIONS(3026),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3026),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3026),
    [anon_sym_is] = ACTIONS(3021),
    [anon_sym_PLUS] = ACTIONS(3021),
    [anon_sym_DASH] = ACTIONS(3021),
    [anon_sym_STAR] = ACTIONS(3021),
    [anon_sym_SLASH] = ACTIONS(3021),
    [anon_sym_PERCENT] = ACTIONS(3021),
    [anon_sym_PLUS_PLUS] = ACTIONS(3026),
    [anon_sym_DASH_DASH] = ACTIONS(3026),
    [anon_sym_PIPE] = ACTIONS(3026),
    [anon_sym_CARET] = ACTIONS(3021),
    [anon_sym_LT_LT] = ACTIONS(3026),
    [anon_sym_GT_GT] = ACTIONS(3026),
    [anon_sym_borrowing] = ACTIONS(3012),
    [anon_sym_consuming] = ACTIONS(3012),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3026),
    [sym__conjunction_operator_custom] = ACTIONS(3026),
    [sym__disjunction_operator_custom] = ACTIONS(3026),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3026),
    [sym__eq_custom] = ACTIONS(3026),
    [sym__eq_eq_custom] = ACTIONS(3026),
    [sym__plus_then_ws] = ACTIONS(3026),
    [sym__minus_then_ws] = ACTIONS(3026),
    [sym__bang_custom] = ACTIONS(3026),
    [sym_else] = ACTIONS(3026),
    [sym__as_custom] = ACTIONS(3026),
    [sym__as_quest_custom] = ACTIONS(3026),
    [sym__as_bang_custom] = ACTIONS(3026),
    [sym__custom_operator] = ACTIONS(3026),
  },
  [1774] = {
    [ts_builtin_sym_end] = ACTIONS(3223),
    [anon_sym_BANG] = ACTIONS(3217),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3219),
    [aux_sym_simple_identifier_token2] = ACTIONS(3221),
    [aux_sym_simple_identifier_token3] = ACTIONS(3221),
    [aux_sym_simple_identifier_token4] = ACTIONS(3221),
    [anon_sym_actor] = ACTIONS(3219),
    [anon_sym_async] = ACTIONS(3219),
    [anon_sym_each] = ACTIONS(3219),
    [anon_sym_lazy] = ACTIONS(3219),
    [anon_sym_repeat] = ACTIONS(3219),
    [anon_sym_package] = ACTIONS(3219),
    [anon_sym_COMMA] = ACTIONS(3223),
    [anon_sym_LPAREN] = ACTIONS(3223),
    [anon_sym_LBRACK] = ACTIONS(3223),
    [anon_sym_QMARK] = ACTIONS(3217),
    [anon_sym_QMARK2] = ACTIONS(3223),
    [anon_sym_AMP] = ACTIONS(3223),
    [aux_sym_custom_operator_token1] = ACTIONS(3223),
    [anon_sym_LT] = ACTIONS(3217),
    [anon_sym_GT] = ACTIONS(3217),
    [anon_sym_LBRACE] = ACTIONS(3223),
    [anon_sym_CARET_LBRACE] = ACTIONS(3223),
    [anon_sym_RBRACE] = ACTIONS(3223),
    [anon_sym_PLUS_EQ] = ACTIONS(3223),
    [anon_sym_DASH_EQ] = ACTIONS(3223),
    [anon_sym_STAR_EQ] = ACTIONS(3223),
    [anon_sym_SLASH_EQ] = ACTIONS(3223),
    [anon_sym_PERCENT_EQ] = ACTIONS(3223),
    [anon_sym_BANG_EQ] = ACTIONS(3217),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3223),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3223),
    [anon_sym_LT_EQ] = ACTIONS(3223),
    [anon_sym_GT_EQ] = ACTIONS(3223),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3223),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3223),
    [anon_sym_is] = ACTIONS(3217),
    [anon_sym_PLUS] = ACTIONS(3217),
    [anon_sym_DASH] = ACTIONS(3217),
    [anon_sym_STAR] = ACTIONS(3217),
    [anon_sym_SLASH] = ACTIONS(3217),
    [anon_sym_PERCENT] = ACTIONS(3217),
    [anon_sym_PLUS_PLUS] = ACTIONS(3223),
    [anon_sym_DASH_DASH] = ACTIONS(3223),
    [anon_sym_PIPE] = ACTIONS(3223),
    [anon_sym_CARET] = ACTIONS(3217),
    [anon_sym_LT_LT] = ACTIONS(3223),
    [anon_sym_GT_GT] = ACTIONS(3223),
    [anon_sym_borrowing] = ACTIONS(3219),
    [anon_sym_consuming] = ACTIONS(3219),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3223),
    [sym__explicit_semi] = ACTIONS(3223),
    [sym__dot_custom] = ACTIONS(3223),
    [sym__conjunction_operator_custom] = ACTIONS(3223),
    [sym__disjunction_operator_custom] = ACTIONS(3223),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3223),
    [sym__eq_custom] = ACTIONS(3223),
    [sym__eq_eq_custom] = ACTIONS(3223),
    [sym__plus_then_ws] = ACTIONS(3223),
    [sym__minus_then_ws] = ACTIONS(3223),
    [sym__bang_custom] = ACTIONS(3223),
    [sym__as_custom] = ACTIONS(3223),
    [sym__as_quest_custom] = ACTIONS(3223),
    [sym__as_bang_custom] = ACTIONS(3223),
    [sym__custom_operator] = ACTIONS(3223),
  },
  [1775] = {
    [sym__immediate_quest] = STATE(1787),
    [aux_sym_optional_type_repeat1] = STATE(1787),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3000),
    [anon_sym_async] = ACTIONS(3000),
    [anon_sym_lazy] = ACTIONS(3000),
    [anon_sym_package] = ACTIONS(3000),
    [anon_sym_COMMA] = ACTIONS(3000),
    [anon_sym_BANG2] = ACTIONS(3000),
    [anon_sym_DOT] = ACTIONS(3000),
    [anon_sym_QMARK2] = ACTIONS(5180),
    [anon_sym_AMP] = ACTIONS(3000),
    [anon_sym_LBRACE] = ACTIONS(3000),
    [anon_sym_RBRACE] = ACTIONS(3000),
    [anon_sym_case] = ACTIONS(3000),
    [anon_sym_import] = ACTIONS(3000),
    [anon_sym_typealias] = ACTIONS(3000),
    [anon_sym_struct] = ACTIONS(3000),
    [anon_sym_class] = ACTIONS(3000),
    [anon_sym_enum] = ACTIONS(3000),
    [anon_sym_protocol] = ACTIONS(3000),
    [anon_sym_let] = ACTIONS(3000),
    [anon_sym_var] = ACTIONS(3000),
    [anon_sym_func] = ACTIONS(3000),
    [anon_sym_extension] = ACTIONS(3000),
    [anon_sym_indirect] = ACTIONS(3000),
    [anon_sym_init] = ACTIONS(3000),
    [anon_sym_deinit] = ACTIONS(3000),
    [anon_sym_subscript] = ACTIONS(3000),
    [anon_sym_prefix] = ACTIONS(3000),
    [anon_sym_infix] = ACTIONS(3000),
    [anon_sym_postfix] = ACTIONS(3000),
    [anon_sym_precedencegroup] = ACTIONS(3000),
    [anon_sym_associatedtype] = ACTIONS(3000),
    [anon_sym_AT] = ACTIONS(2998),
    [anon_sym_override] = ACTIONS(3000),
    [anon_sym_convenience] = ACTIONS(3000),
    [anon_sym_required] = ACTIONS(3000),
    [anon_sym_nonisolated] = ACTIONS(3000),
    [anon_sym_public] = ACTIONS(3000),
    [anon_sym_private] = ACTIONS(3000),
    [anon_sym_internal] = ACTIONS(3000),
    [anon_sym_fileprivate] = ACTIONS(3000),
    [anon_sym_open] = ACTIONS(3000),
    [anon_sym_mutating] = ACTIONS(3000),
    [anon_sym_nonmutating] = ACTIONS(3000),
    [anon_sym_static] = ACTIONS(3000),
    [anon_sym_dynamic] = ACTIONS(3000),
    [anon_sym_optional] = ACTIONS(3000),
    [anon_sym_distributed] = ACTIONS(3000),
    [anon_sym_final] = ACTIONS(3000),
    [anon_sym_inout] = ACTIONS(3000),
    [anon_sym_ATescaping] = ACTIONS(3000),
    [anon_sym_ATautoclosure] = ACTIONS(3000),
    [anon_sym_weak] = ACTIONS(3000),
    [anon_sym_unowned] = ACTIONS(2998),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3000),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3000),
    [anon_sym_borrowing] = ACTIONS(3000),
    [anon_sym_consuming] = ACTIONS(3000),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3000),
    [sym__eq_custom] = ACTIONS(3000),
    [sym__throws_keyword] = ACTIONS(3000),
    [sym__rethrows_keyword] = ACTIONS(3000),
    [sym_where_keyword] = ACTIONS(3000),
    [sym__async_keyword_custom] = ACTIONS(3000),
  },
  [1776] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3131),
    [anon_sym_async] = ACTIONS(3131),
    [anon_sym_lazy] = ACTIONS(3131),
    [anon_sym_package] = ACTIONS(3131),
    [anon_sym_COMMA] = ACTIONS(3131),
    [anon_sym_COLON] = ACTIONS(3131),
    [anon_sym_DOT] = ACTIONS(3131),
    [anon_sym_QMARK] = ACTIONS(3129),
    [anon_sym_QMARK2] = ACTIONS(3131),
    [anon_sym_AMP] = ACTIONS(3131),
    [anon_sym_LBRACE] = ACTIONS(3131),
    [anon_sym_RBRACE] = ACTIONS(3131),
    [anon_sym_case] = ACTIONS(3131),
    [anon_sym_import] = ACTIONS(3131),
    [anon_sym_typealias] = ACTIONS(3131),
    [anon_sym_struct] = ACTIONS(3131),
    [anon_sym_class] = ACTIONS(3131),
    [anon_sym_enum] = ACTIONS(3131),
    [anon_sym_protocol] = ACTIONS(3131),
    [anon_sym_let] = ACTIONS(3131),
    [anon_sym_var] = ACTIONS(3131),
    [anon_sym_func] = ACTIONS(3131),
    [anon_sym_extension] = ACTIONS(3131),
    [anon_sym_indirect] = ACTIONS(3131),
    [anon_sym_init] = ACTIONS(3131),
    [anon_sym_deinit] = ACTIONS(3131),
    [anon_sym_subscript] = ACTIONS(3131),
    [anon_sym_prefix] = ACTIONS(3131),
    [anon_sym_infix] = ACTIONS(3131),
    [anon_sym_postfix] = ACTIONS(3131),
    [anon_sym_precedencegroup] = ACTIONS(3131),
    [anon_sym_associatedtype] = ACTIONS(3131),
    [anon_sym_AT] = ACTIONS(3129),
    [anon_sym_override] = ACTIONS(3131),
    [anon_sym_convenience] = ACTIONS(3131),
    [anon_sym_required] = ACTIONS(3131),
    [anon_sym_nonisolated] = ACTIONS(3131),
    [anon_sym_public] = ACTIONS(3131),
    [anon_sym_private] = ACTIONS(3131),
    [anon_sym_internal] = ACTIONS(3131),
    [anon_sym_fileprivate] = ACTIONS(3131),
    [anon_sym_open] = ACTIONS(3131),
    [anon_sym_mutating] = ACTIONS(3131),
    [anon_sym_nonmutating] = ACTIONS(3131),
    [anon_sym_static] = ACTIONS(3131),
    [anon_sym_dynamic] = ACTIONS(3131),
    [anon_sym_optional] = ACTIONS(3131),
    [anon_sym_distributed] = ACTIONS(3131),
    [anon_sym_final] = ACTIONS(3131),
    [anon_sym_inout] = ACTIONS(3131),
    [anon_sym_ATescaping] = ACTIONS(3131),
    [anon_sym_ATautoclosure] = ACTIONS(3131),
    [anon_sym_weak] = ACTIONS(3131),
    [anon_sym_unowned] = ACTIONS(3129),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3131),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3131),
    [anon_sym_borrowing] = ACTIONS(3131),
    [anon_sym_consuming] = ACTIONS(3131),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3131),
    [sym__eq_custom] = ACTIONS(3131),
    [sym__throws_keyword] = ACTIONS(3131),
    [sym__rethrows_keyword] = ACTIONS(3131),
    [sym_where_keyword] = ACTIONS(3131),
    [sym__as_custom] = ACTIONS(3131),
    [sym__async_keyword_custom] = ACTIONS(3131),
  },
  [1777] = {
    [sym__arrow_operator] = STATE(4109),
    [sym__async_keyword] = STATE(6900),
    [sym_throws] = STATE(8382),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1945),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3089),
    [anon_sym_async] = ACTIONS(3089),
    [anon_sym_lazy] = ACTIONS(3089),
    [anon_sym_package] = ACTIONS(3089),
    [anon_sym_COMMA] = ACTIONS(3089),
    [anon_sym_BANG2] = ACTIONS(3089),
    [anon_sym_DOT] = ACTIONS(3089),
    [anon_sym_AMP] = ACTIONS(3089),
    [anon_sym_LBRACE] = ACTIONS(3089),
    [anon_sym_RBRACE] = ACTIONS(3089),
    [anon_sym_case] = ACTIONS(3089),
    [anon_sym_import] = ACTIONS(3089),
    [anon_sym_typealias] = ACTIONS(3089),
    [anon_sym_struct] = ACTIONS(3089),
    [anon_sym_class] = ACTIONS(3089),
    [anon_sym_enum] = ACTIONS(3089),
    [anon_sym_protocol] = ACTIONS(3089),
    [anon_sym_let] = ACTIONS(3089),
    [anon_sym_var] = ACTIONS(3089),
    [anon_sym_func] = ACTIONS(3089),
    [anon_sym_extension] = ACTIONS(3089),
    [anon_sym_indirect] = ACTIONS(3089),
    [anon_sym_init] = ACTIONS(3089),
    [anon_sym_deinit] = ACTIONS(3089),
    [anon_sym_subscript] = ACTIONS(3089),
    [anon_sym_prefix] = ACTIONS(3089),
    [anon_sym_infix] = ACTIONS(3089),
    [anon_sym_postfix] = ACTIONS(3089),
    [anon_sym_precedencegroup] = ACTIONS(3089),
    [anon_sym_associatedtype] = ACTIONS(3089),
    [anon_sym_AT] = ACTIONS(3087),
    [anon_sym_override] = ACTIONS(3089),
    [anon_sym_convenience] = ACTIONS(3089),
    [anon_sym_required] = ACTIONS(3089),
    [anon_sym_nonisolated] = ACTIONS(3089),
    [anon_sym_public] = ACTIONS(3089),
    [anon_sym_private] = ACTIONS(3089),
    [anon_sym_internal] = ACTIONS(3089),
    [anon_sym_fileprivate] = ACTIONS(3089),
    [anon_sym_open] = ACTIONS(3089),
    [anon_sym_mutating] = ACTIONS(3089),
    [anon_sym_nonmutating] = ACTIONS(3089),
    [anon_sym_static] = ACTIONS(3089),
    [anon_sym_dynamic] = ACTIONS(3089),
    [anon_sym_optional] = ACTIONS(3089),
    [anon_sym_distributed] = ACTIONS(3089),
    [anon_sym_final] = ACTIONS(3089),
    [anon_sym_inout] = ACTIONS(3089),
    [anon_sym_ATescaping] = ACTIONS(3089),
    [anon_sym_ATautoclosure] = ACTIONS(3089),
    [anon_sym_weak] = ACTIONS(3089),
    [anon_sym_unowned] = ACTIONS(3087),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3089),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3089),
    [anon_sym_borrowing] = ACTIONS(3089),
    [anon_sym_consuming] = ACTIONS(3089),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3089),
    [sym__eq_custom] = ACTIONS(3089),
    [sym__throws_keyword] = ACTIONS(3089),
    [sym__rethrows_keyword] = ACTIONS(3089),
    [sym__async_keyword_custom] = ACTIONS(3089),
  },
  [1778] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3188),
    [anon_sym_async] = ACTIONS(3188),
    [anon_sym_lazy] = ACTIONS(3188),
    [anon_sym_package] = ACTIONS(3188),
    [anon_sym_COMMA] = ACTIONS(3188),
    [anon_sym_COLON] = ACTIONS(3188),
    [anon_sym_DOT] = ACTIONS(3188),
    [anon_sym_QMARK] = ACTIONS(3186),
    [anon_sym_QMARK2] = ACTIONS(3188),
    [anon_sym_AMP] = ACTIONS(3188),
    [anon_sym_LBRACE] = ACTIONS(3188),
    [anon_sym_RBRACE] = ACTIONS(3188),
    [anon_sym_case] = ACTIONS(3188),
    [anon_sym_import] = ACTIONS(3188),
    [anon_sym_typealias] = ACTIONS(3188),
    [anon_sym_struct] = ACTIONS(3188),
    [anon_sym_class] = ACTIONS(3188),
    [anon_sym_enum] = ACTIONS(3188),
    [anon_sym_protocol] = ACTIONS(3188),
    [anon_sym_let] = ACTIONS(3188),
    [anon_sym_var] = ACTIONS(3188),
    [anon_sym_func] = ACTIONS(3188),
    [anon_sym_extension] = ACTIONS(3188),
    [anon_sym_indirect] = ACTIONS(3188),
    [anon_sym_init] = ACTIONS(3188),
    [anon_sym_deinit] = ACTIONS(3188),
    [anon_sym_subscript] = ACTIONS(3188),
    [anon_sym_prefix] = ACTIONS(3188),
    [anon_sym_infix] = ACTIONS(3188),
    [anon_sym_postfix] = ACTIONS(3188),
    [anon_sym_precedencegroup] = ACTIONS(3188),
    [anon_sym_associatedtype] = ACTIONS(3188),
    [anon_sym_AT] = ACTIONS(3186),
    [anon_sym_override] = ACTIONS(3188),
    [anon_sym_convenience] = ACTIONS(3188),
    [anon_sym_required] = ACTIONS(3188),
    [anon_sym_nonisolated] = ACTIONS(3188),
    [anon_sym_public] = ACTIONS(3188),
    [anon_sym_private] = ACTIONS(3188),
    [anon_sym_internal] = ACTIONS(3188),
    [anon_sym_fileprivate] = ACTIONS(3188),
    [anon_sym_open] = ACTIONS(3188),
    [anon_sym_mutating] = ACTIONS(3188),
    [anon_sym_nonmutating] = ACTIONS(3188),
    [anon_sym_static] = ACTIONS(3188),
    [anon_sym_dynamic] = ACTIONS(3188),
    [anon_sym_optional] = ACTIONS(3188),
    [anon_sym_distributed] = ACTIONS(3188),
    [anon_sym_final] = ACTIONS(3188),
    [anon_sym_inout] = ACTIONS(3188),
    [anon_sym_ATescaping] = ACTIONS(3188),
    [anon_sym_ATautoclosure] = ACTIONS(3188),
    [anon_sym_weak] = ACTIONS(3188),
    [anon_sym_unowned] = ACTIONS(3186),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3188),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3188),
    [anon_sym_borrowing] = ACTIONS(3188),
    [anon_sym_consuming] = ACTIONS(3188),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3188),
    [sym__eq_custom] = ACTIONS(3188),
    [sym__throws_keyword] = ACTIONS(3188),
    [sym__rethrows_keyword] = ACTIONS(3188),
    [sym_where_keyword] = ACTIONS(3188),
    [sym__as_custom] = ACTIONS(3188),
    [sym__async_keyword_custom] = ACTIONS(3188),
  },
  [1779] = {
    [sym__arrow_operator] = STATE(4109),
    [sym__async_keyword] = STATE(6900),
    [sym_throws] = STATE(8382),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1945),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3079),
    [anon_sym_async] = ACTIONS(3079),
    [anon_sym_lazy] = ACTIONS(3079),
    [anon_sym_package] = ACTIONS(3079),
    [anon_sym_COMMA] = ACTIONS(3079),
    [anon_sym_BANG2] = ACTIONS(3079),
    [anon_sym_DOT] = ACTIONS(5262),
    [anon_sym_AMP] = ACTIONS(5264),
    [anon_sym_LBRACE] = ACTIONS(3079),
    [anon_sym_RBRACE] = ACTIONS(3079),
    [anon_sym_case] = ACTIONS(3079),
    [anon_sym_import] = ACTIONS(3079),
    [anon_sym_typealias] = ACTIONS(3079),
    [anon_sym_struct] = ACTIONS(3079),
    [anon_sym_class] = ACTIONS(3079),
    [anon_sym_enum] = ACTIONS(3079),
    [anon_sym_protocol] = ACTIONS(3079),
    [anon_sym_let] = ACTIONS(3079),
    [anon_sym_var] = ACTIONS(3079),
    [anon_sym_func] = ACTIONS(3079),
    [anon_sym_extension] = ACTIONS(3079),
    [anon_sym_indirect] = ACTIONS(3079),
    [anon_sym_init] = ACTIONS(3079),
    [anon_sym_deinit] = ACTIONS(3079),
    [anon_sym_subscript] = ACTIONS(3079),
    [anon_sym_prefix] = ACTIONS(3079),
    [anon_sym_infix] = ACTIONS(3079),
    [anon_sym_postfix] = ACTIONS(3079),
    [anon_sym_precedencegroup] = ACTIONS(3079),
    [anon_sym_associatedtype] = ACTIONS(3079),
    [anon_sym_AT] = ACTIONS(3077),
    [anon_sym_override] = ACTIONS(3079),
    [anon_sym_convenience] = ACTIONS(3079),
    [anon_sym_required] = ACTIONS(3079),
    [anon_sym_nonisolated] = ACTIONS(3079),
    [anon_sym_public] = ACTIONS(3079),
    [anon_sym_private] = ACTIONS(3079),
    [anon_sym_internal] = ACTIONS(3079),
    [anon_sym_fileprivate] = ACTIONS(3079),
    [anon_sym_open] = ACTIONS(3079),
    [anon_sym_mutating] = ACTIONS(3079),
    [anon_sym_nonmutating] = ACTIONS(3079),
    [anon_sym_static] = ACTIONS(3079),
    [anon_sym_dynamic] = ACTIONS(3079),
    [anon_sym_optional] = ACTIONS(3079),
    [anon_sym_distributed] = ACTIONS(3079),
    [anon_sym_final] = ACTIONS(3079),
    [anon_sym_inout] = ACTIONS(3079),
    [anon_sym_ATescaping] = ACTIONS(3079),
    [anon_sym_ATautoclosure] = ACTIONS(3079),
    [anon_sym_weak] = ACTIONS(3079),
    [anon_sym_unowned] = ACTIONS(3077),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3079),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3079),
    [anon_sym_borrowing] = ACTIONS(3079),
    [anon_sym_consuming] = ACTIONS(3079),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(5238),
    [sym__eq_custom] = ACTIONS(3079),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym__async_keyword_custom] = ACTIONS(5240),
  },
  [1780] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3123),
    [anon_sym_async] = ACTIONS(3123),
    [anon_sym_lazy] = ACTIONS(3123),
    [anon_sym_package] = ACTIONS(3123),
    [anon_sym_COMMA] = ACTIONS(3123),
    [anon_sym_COLON] = ACTIONS(3123),
    [anon_sym_DOT] = ACTIONS(3123),
    [anon_sym_QMARK] = ACTIONS(3121),
    [anon_sym_QMARK2] = ACTIONS(3123),
    [anon_sym_AMP] = ACTIONS(3123),
    [anon_sym_LBRACE] = ACTIONS(3123),
    [anon_sym_RBRACE] = ACTIONS(3123),
    [anon_sym_case] = ACTIONS(3123),
    [anon_sym_import] = ACTIONS(3123),
    [anon_sym_typealias] = ACTIONS(3123),
    [anon_sym_struct] = ACTIONS(3123),
    [anon_sym_class] = ACTIONS(3123),
    [anon_sym_enum] = ACTIONS(3123),
    [anon_sym_protocol] = ACTIONS(3123),
    [anon_sym_let] = ACTIONS(3123),
    [anon_sym_var] = ACTIONS(3123),
    [anon_sym_func] = ACTIONS(3123),
    [anon_sym_extension] = ACTIONS(3123),
    [anon_sym_indirect] = ACTIONS(3123),
    [anon_sym_init] = ACTIONS(3123),
    [anon_sym_deinit] = ACTIONS(3123),
    [anon_sym_subscript] = ACTIONS(3123),
    [anon_sym_prefix] = ACTIONS(3123),
    [anon_sym_infix] = ACTIONS(3123),
    [anon_sym_postfix] = ACTIONS(3123),
    [anon_sym_precedencegroup] = ACTIONS(3123),
    [anon_sym_associatedtype] = ACTIONS(3123),
    [anon_sym_AT] = ACTIONS(3121),
    [anon_sym_override] = ACTIONS(3123),
    [anon_sym_convenience] = ACTIONS(3123),
    [anon_sym_required] = ACTIONS(3123),
    [anon_sym_nonisolated] = ACTIONS(3123),
    [anon_sym_public] = ACTIONS(3123),
    [anon_sym_private] = ACTIONS(3123),
    [anon_sym_internal] = ACTIONS(3123),
    [anon_sym_fileprivate] = ACTIONS(3123),
    [anon_sym_open] = ACTIONS(3123),
    [anon_sym_mutating] = ACTIONS(3123),
    [anon_sym_nonmutating] = ACTIONS(3123),
    [anon_sym_static] = ACTIONS(3123),
    [anon_sym_dynamic] = ACTIONS(3123),
    [anon_sym_optional] = ACTIONS(3123),
    [anon_sym_distributed] = ACTIONS(3123),
    [anon_sym_final] = ACTIONS(3123),
    [anon_sym_inout] = ACTIONS(3123),
    [anon_sym_ATescaping] = ACTIONS(3123),
    [anon_sym_ATautoclosure] = ACTIONS(3123),
    [anon_sym_weak] = ACTIONS(3123),
    [anon_sym_unowned] = ACTIONS(3121),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3123),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3123),
    [anon_sym_borrowing] = ACTIONS(3123),
    [anon_sym_consuming] = ACTIONS(3123),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3123),
    [sym__eq_custom] = ACTIONS(3123),
    [sym__throws_keyword] = ACTIONS(3123),
    [sym__rethrows_keyword] = ACTIONS(3123),
    [sym_where_keyword] = ACTIONS(3123),
    [sym__as_custom] = ACTIONS(3123),
    [sym__async_keyword_custom] = ACTIONS(3123),
  },
  [1781] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3093),
    [anon_sym_async] = ACTIONS(3093),
    [anon_sym_lazy] = ACTIONS(3093),
    [anon_sym_package] = ACTIONS(3093),
    [anon_sym_COMMA] = ACTIONS(3093),
    [anon_sym_COLON] = ACTIONS(3093),
    [anon_sym_DOT] = ACTIONS(3093),
    [anon_sym_QMARK] = ACTIONS(3091),
    [anon_sym_QMARK2] = ACTIONS(3093),
    [anon_sym_AMP] = ACTIONS(3093),
    [anon_sym_LBRACE] = ACTIONS(3093),
    [anon_sym_RBRACE] = ACTIONS(3093),
    [anon_sym_case] = ACTIONS(3093),
    [anon_sym_import] = ACTIONS(3093),
    [anon_sym_typealias] = ACTIONS(3093),
    [anon_sym_struct] = ACTIONS(3093),
    [anon_sym_class] = ACTIONS(3093),
    [anon_sym_enum] = ACTIONS(3093),
    [anon_sym_protocol] = ACTIONS(3093),
    [anon_sym_let] = ACTIONS(3093),
    [anon_sym_var] = ACTIONS(3093),
    [anon_sym_func] = ACTIONS(3093),
    [anon_sym_extension] = ACTIONS(3093),
    [anon_sym_indirect] = ACTIONS(3093),
    [anon_sym_init] = ACTIONS(3093),
    [anon_sym_deinit] = ACTIONS(3093),
    [anon_sym_subscript] = ACTIONS(3093),
    [anon_sym_prefix] = ACTIONS(3093),
    [anon_sym_infix] = ACTIONS(3093),
    [anon_sym_postfix] = ACTIONS(3093),
    [anon_sym_precedencegroup] = ACTIONS(3093),
    [anon_sym_associatedtype] = ACTIONS(3093),
    [anon_sym_AT] = ACTIONS(3091),
    [anon_sym_override] = ACTIONS(3093),
    [anon_sym_convenience] = ACTIONS(3093),
    [anon_sym_required] = ACTIONS(3093),
    [anon_sym_nonisolated] = ACTIONS(3093),
    [anon_sym_public] = ACTIONS(3093),
    [anon_sym_private] = ACTIONS(3093),
    [anon_sym_internal] = ACTIONS(3093),
    [anon_sym_fileprivate] = ACTIONS(3093),
    [anon_sym_open] = ACTIONS(3093),
    [anon_sym_mutating] = ACTIONS(3093),
    [anon_sym_nonmutating] = ACTIONS(3093),
    [anon_sym_static] = ACTIONS(3093),
    [anon_sym_dynamic] = ACTIONS(3093),
    [anon_sym_optional] = ACTIONS(3093),
    [anon_sym_distributed] = ACTIONS(3093),
    [anon_sym_final] = ACTIONS(3093),
    [anon_sym_inout] = ACTIONS(3093),
    [anon_sym_ATescaping] = ACTIONS(3093),
    [anon_sym_ATautoclosure] = ACTIONS(3093),
    [anon_sym_weak] = ACTIONS(3093),
    [anon_sym_unowned] = ACTIONS(3091),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3093),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3093),
    [anon_sym_borrowing] = ACTIONS(3093),
    [anon_sym_consuming] = ACTIONS(3093),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3093),
    [sym__eq_custom] = ACTIONS(3093),
    [sym__throws_keyword] = ACTIONS(3093),
    [sym__rethrows_keyword] = ACTIONS(3093),
    [sym_where_keyword] = ACTIONS(3093),
    [sym__as_custom] = ACTIONS(3093),
    [sym__async_keyword_custom] = ACTIONS(3093),
  },
  [1782] = {
    [ts_builtin_sym_end] = ACTIONS(3239),
    [anon_sym_BANG] = ACTIONS(3237),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3237),
    [aux_sym_simple_identifier_token2] = ACTIONS(3239),
    [aux_sym_simple_identifier_token3] = ACTIONS(3239),
    [aux_sym_simple_identifier_token4] = ACTIONS(3239),
    [anon_sym_actor] = ACTIONS(3237),
    [anon_sym_async] = ACTIONS(3237),
    [anon_sym_each] = ACTIONS(3237),
    [anon_sym_lazy] = ACTIONS(3237),
    [anon_sym_repeat] = ACTIONS(3237),
    [anon_sym_package] = ACTIONS(3237),
    [anon_sym_COMMA] = ACTIONS(3239),
    [anon_sym_LPAREN] = ACTIONS(3239),
    [anon_sym_LBRACK] = ACTIONS(3239),
    [anon_sym_QMARK] = ACTIONS(3237),
    [anon_sym_QMARK2] = ACTIONS(3239),
    [anon_sym_AMP] = ACTIONS(3239),
    [aux_sym_custom_operator_token1] = ACTIONS(3239),
    [anon_sym_LT] = ACTIONS(3237),
    [anon_sym_GT] = ACTIONS(3237),
    [anon_sym_LBRACE] = ACTIONS(3239),
    [anon_sym_CARET_LBRACE] = ACTIONS(3239),
    [anon_sym_RBRACE] = ACTIONS(3239),
    [anon_sym_PLUS_EQ] = ACTIONS(3239),
    [anon_sym_DASH_EQ] = ACTIONS(3239),
    [anon_sym_STAR_EQ] = ACTIONS(3239),
    [anon_sym_SLASH_EQ] = ACTIONS(3239),
    [anon_sym_PERCENT_EQ] = ACTIONS(3239),
    [anon_sym_BANG_EQ] = ACTIONS(3237),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3239),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3239),
    [anon_sym_LT_EQ] = ACTIONS(3239),
    [anon_sym_GT_EQ] = ACTIONS(3239),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3239),
    [anon_sym_is] = ACTIONS(3237),
    [anon_sym_PLUS] = ACTIONS(3237),
    [anon_sym_DASH] = ACTIONS(3237),
    [anon_sym_STAR] = ACTIONS(3237),
    [anon_sym_SLASH] = ACTIONS(3237),
    [anon_sym_PERCENT] = ACTIONS(3237),
    [anon_sym_PLUS_PLUS] = ACTIONS(3239),
    [anon_sym_DASH_DASH] = ACTIONS(3239),
    [anon_sym_PIPE] = ACTIONS(3239),
    [anon_sym_CARET] = ACTIONS(3237),
    [anon_sym_LT_LT] = ACTIONS(3239),
    [anon_sym_GT_GT] = ACTIONS(3239),
    [anon_sym_borrowing] = ACTIONS(3237),
    [anon_sym_consuming] = ACTIONS(3237),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3239),
    [sym__explicit_semi] = ACTIONS(3239),
    [sym__dot_custom] = ACTIONS(3239),
    [sym__conjunction_operator_custom] = ACTIONS(3239),
    [sym__disjunction_operator_custom] = ACTIONS(3239),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3239),
    [sym__eq_custom] = ACTIONS(3239),
    [sym__eq_eq_custom] = ACTIONS(3239),
    [sym__plus_then_ws] = ACTIONS(3239),
    [sym__minus_then_ws] = ACTIONS(3239),
    [sym__bang_custom] = ACTIONS(3239),
    [sym__as_custom] = ACTIONS(3239),
    [sym__as_quest_custom] = ACTIONS(3239),
    [sym__as_bang_custom] = ACTIONS(3239),
    [sym__custom_operator] = ACTIONS(3239),
  },
  [1783] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3143),
    [anon_sym_async] = ACTIONS(3143),
    [anon_sym_lazy] = ACTIONS(3143),
    [anon_sym_package] = ACTIONS(3143),
    [anon_sym_COMMA] = ACTIONS(3143),
    [anon_sym_COLON] = ACTIONS(3143),
    [anon_sym_DOT] = ACTIONS(3143),
    [anon_sym_QMARK] = ACTIONS(3141),
    [anon_sym_QMARK2] = ACTIONS(3143),
    [anon_sym_AMP] = ACTIONS(3143),
    [anon_sym_LBRACE] = ACTIONS(3143),
    [anon_sym_RBRACE] = ACTIONS(3143),
    [anon_sym_case] = ACTIONS(3143),
    [anon_sym_import] = ACTIONS(3143),
    [anon_sym_typealias] = ACTIONS(3143),
    [anon_sym_struct] = ACTIONS(3143),
    [anon_sym_class] = ACTIONS(3143),
    [anon_sym_enum] = ACTIONS(3143),
    [anon_sym_protocol] = ACTIONS(3143),
    [anon_sym_let] = ACTIONS(3143),
    [anon_sym_var] = ACTIONS(3143),
    [anon_sym_func] = ACTIONS(3143),
    [anon_sym_extension] = ACTIONS(3143),
    [anon_sym_indirect] = ACTIONS(3143),
    [anon_sym_init] = ACTIONS(3143),
    [anon_sym_deinit] = ACTIONS(3143),
    [anon_sym_subscript] = ACTIONS(3143),
    [anon_sym_prefix] = ACTIONS(3143),
    [anon_sym_infix] = ACTIONS(3143),
    [anon_sym_postfix] = ACTIONS(3143),
    [anon_sym_precedencegroup] = ACTIONS(3143),
    [anon_sym_associatedtype] = ACTIONS(3143),
    [anon_sym_AT] = ACTIONS(3141),
    [anon_sym_override] = ACTIONS(3143),
    [anon_sym_convenience] = ACTIONS(3143),
    [anon_sym_required] = ACTIONS(3143),
    [anon_sym_nonisolated] = ACTIONS(3143),
    [anon_sym_public] = ACTIONS(3143),
    [anon_sym_private] = ACTIONS(3143),
    [anon_sym_internal] = ACTIONS(3143),
    [anon_sym_fileprivate] = ACTIONS(3143),
    [anon_sym_open] = ACTIONS(3143),
    [anon_sym_mutating] = ACTIONS(3143),
    [anon_sym_nonmutating] = ACTIONS(3143),
    [anon_sym_static] = ACTIONS(3143),
    [anon_sym_dynamic] = ACTIONS(3143),
    [anon_sym_optional] = ACTIONS(3143),
    [anon_sym_distributed] = ACTIONS(3143),
    [anon_sym_final] = ACTIONS(3143),
    [anon_sym_inout] = ACTIONS(3143),
    [anon_sym_ATescaping] = ACTIONS(3143),
    [anon_sym_ATautoclosure] = ACTIONS(3143),
    [anon_sym_weak] = ACTIONS(3143),
    [anon_sym_unowned] = ACTIONS(3141),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3143),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3143),
    [anon_sym_borrowing] = ACTIONS(3143),
    [anon_sym_consuming] = ACTIONS(3143),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3143),
    [sym__eq_custom] = ACTIONS(3143),
    [sym__throws_keyword] = ACTIONS(3143),
    [sym__rethrows_keyword] = ACTIONS(3143),
    [sym_where_keyword] = ACTIONS(3143),
    [sym__as_custom] = ACTIONS(3143),
    [sym__async_keyword_custom] = ACTIONS(3143),
  },
  [1784] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3115),
    [anon_sym_async] = ACTIONS(3115),
    [anon_sym_lazy] = ACTIONS(3115),
    [anon_sym_package] = ACTIONS(3115),
    [anon_sym_COMMA] = ACTIONS(3115),
    [anon_sym_COLON] = ACTIONS(3115),
    [anon_sym_DOT] = ACTIONS(3115),
    [anon_sym_QMARK] = ACTIONS(3113),
    [anon_sym_QMARK2] = ACTIONS(3115),
    [anon_sym_AMP] = ACTIONS(3115),
    [anon_sym_LBRACE] = ACTIONS(3115),
    [anon_sym_RBRACE] = ACTIONS(3115),
    [anon_sym_case] = ACTIONS(3115),
    [anon_sym_import] = ACTIONS(3115),
    [anon_sym_typealias] = ACTIONS(3115),
    [anon_sym_struct] = ACTIONS(3115),
    [anon_sym_class] = ACTIONS(3115),
    [anon_sym_enum] = ACTIONS(3115),
    [anon_sym_protocol] = ACTIONS(3115),
    [anon_sym_let] = ACTIONS(3115),
    [anon_sym_var] = ACTIONS(3115),
    [anon_sym_func] = ACTIONS(3115),
    [anon_sym_extension] = ACTIONS(3115),
    [anon_sym_indirect] = ACTIONS(3115),
    [anon_sym_init] = ACTIONS(3115),
    [anon_sym_deinit] = ACTIONS(3115),
    [anon_sym_subscript] = ACTIONS(3115),
    [anon_sym_prefix] = ACTIONS(3115),
    [anon_sym_infix] = ACTIONS(3115),
    [anon_sym_postfix] = ACTIONS(3115),
    [anon_sym_precedencegroup] = ACTIONS(3115),
    [anon_sym_associatedtype] = ACTIONS(3115),
    [anon_sym_AT] = ACTIONS(3113),
    [anon_sym_override] = ACTIONS(3115),
    [anon_sym_convenience] = ACTIONS(3115),
    [anon_sym_required] = ACTIONS(3115),
    [anon_sym_nonisolated] = ACTIONS(3115),
    [anon_sym_public] = ACTIONS(3115),
    [anon_sym_private] = ACTIONS(3115),
    [anon_sym_internal] = ACTIONS(3115),
    [anon_sym_fileprivate] = ACTIONS(3115),
    [anon_sym_open] = ACTIONS(3115),
    [anon_sym_mutating] = ACTIONS(3115),
    [anon_sym_nonmutating] = ACTIONS(3115),
    [anon_sym_static] = ACTIONS(3115),
    [anon_sym_dynamic] = ACTIONS(3115),
    [anon_sym_optional] = ACTIONS(3115),
    [anon_sym_distributed] = ACTIONS(3115),
    [anon_sym_final] = ACTIONS(3115),
    [anon_sym_inout] = ACTIONS(3115),
    [anon_sym_ATescaping] = ACTIONS(3115),
    [anon_sym_ATautoclosure] = ACTIONS(3115),
    [anon_sym_weak] = ACTIONS(3115),
    [anon_sym_unowned] = ACTIONS(3113),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3115),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3115),
    [anon_sym_borrowing] = ACTIONS(3115),
    [anon_sym_consuming] = ACTIONS(3115),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3115),
    [sym__eq_custom] = ACTIONS(3115),
    [sym__throws_keyword] = ACTIONS(3115),
    [sym__rethrows_keyword] = ACTIONS(3115),
    [sym_where_keyword] = ACTIONS(3115),
    [sym__as_custom] = ACTIONS(3115),
    [sym__async_keyword_custom] = ACTIONS(3115),
  },
  [1785] = {
    [sym__dot] = STATE(5455),
    [aux_sym_user_type_repeat1] = STATE(1790),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3048),
    [anon_sym_async] = ACTIONS(3048),
    [anon_sym_lazy] = ACTIONS(3048),
    [anon_sym_package] = ACTIONS(3048),
    [anon_sym_COMMA] = ACTIONS(3048),
    [anon_sym_BANG2] = ACTIONS(3048),
    [anon_sym_DOT] = ACTIONS(3048),
    [anon_sym_QMARK2] = ACTIONS(3048),
    [anon_sym_AMP] = ACTIONS(3048),
    [anon_sym_LBRACE] = ACTIONS(3048),
    [anon_sym_RBRACE] = ACTIONS(3048),
    [anon_sym_case] = ACTIONS(3048),
    [anon_sym_import] = ACTIONS(3048),
    [anon_sym_typealias] = ACTIONS(3048),
    [anon_sym_struct] = ACTIONS(3048),
    [anon_sym_class] = ACTIONS(3048),
    [anon_sym_enum] = ACTIONS(3048),
    [anon_sym_protocol] = ACTIONS(3048),
    [anon_sym_let] = ACTIONS(3048),
    [anon_sym_var] = ACTIONS(3048),
    [anon_sym_func] = ACTIONS(3048),
    [anon_sym_extension] = ACTIONS(3048),
    [anon_sym_indirect] = ACTIONS(3048),
    [anon_sym_init] = ACTIONS(3048),
    [anon_sym_deinit] = ACTIONS(3048),
    [anon_sym_subscript] = ACTIONS(3048),
    [anon_sym_prefix] = ACTIONS(3048),
    [anon_sym_infix] = ACTIONS(3048),
    [anon_sym_postfix] = ACTIONS(3048),
    [anon_sym_precedencegroup] = ACTIONS(3048),
    [anon_sym_associatedtype] = ACTIONS(3048),
    [anon_sym_AT] = ACTIONS(3046),
    [anon_sym_override] = ACTIONS(3048),
    [anon_sym_convenience] = ACTIONS(3048),
    [anon_sym_required] = ACTIONS(3048),
    [anon_sym_nonisolated] = ACTIONS(3048),
    [anon_sym_public] = ACTIONS(3048),
    [anon_sym_private] = ACTIONS(3048),
    [anon_sym_internal] = ACTIONS(3048),
    [anon_sym_fileprivate] = ACTIONS(3048),
    [anon_sym_open] = ACTIONS(3048),
    [anon_sym_mutating] = ACTIONS(3048),
    [anon_sym_nonmutating] = ACTIONS(3048),
    [anon_sym_static] = ACTIONS(3048),
    [anon_sym_dynamic] = ACTIONS(3048),
    [anon_sym_optional] = ACTIONS(3048),
    [anon_sym_distributed] = ACTIONS(3048),
    [anon_sym_final] = ACTIONS(3048),
    [anon_sym_inout] = ACTIONS(3048),
    [anon_sym_ATescaping] = ACTIONS(3048),
    [anon_sym_ATautoclosure] = ACTIONS(3048),
    [anon_sym_weak] = ACTIONS(3048),
    [anon_sym_unowned] = ACTIONS(3046),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3048),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3048),
    [anon_sym_borrowing] = ACTIONS(3048),
    [anon_sym_consuming] = ACTIONS(3048),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3048),
    [sym__dot_custom] = ACTIONS(5266),
    [sym__eq_custom] = ACTIONS(3048),
    [sym__throws_keyword] = ACTIONS(3048),
    [sym__rethrows_keyword] = ACTIONS(3048),
    [sym__async_keyword_custom] = ACTIONS(3048),
  },
  [1786] = {
    [sym_attribute] = STATE(1732),
    [aux_sym__locally_permitted_modifiers] = STATE(1732),
    [sym__non_local_scope_modifier] = STATE(1732),
    [sym__locally_permitted_modifier] = STATE(1732),
    [sym_property_behavior_modifier] = STATE(1732),
    [sym_member_modifier] = STATE(1732),
    [sym_visibility_modifier] = STATE(1732),
    [sym_function_modifier] = STATE(1732),
    [sym_mutation_modifier] = STATE(1732),
    [sym_property_modifier] = STATE(1732),
    [sym_inheritance_modifier] = STATE(1732),
    [sym_parameter_modifier] = STATE(1732),
    [sym_ownership_modifier] = STATE(1732),
    [sym__parameter_ownership_modifier] = STATE(2979),
    [aux_sym_modifiers_repeat1] = STATE(1732),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(5268),
    [anon_sym_async] = ACTIONS(5268),
    [anon_sym_lazy] = ACTIONS(3979),
    [anon_sym_package] = ACTIONS(3981),
    [anon_sym_case] = ACTIONS(5268),
    [anon_sym_import] = ACTIONS(5268),
    [anon_sym_typealias] = ACTIONS(5268),
    [anon_sym_struct] = ACTIONS(5268),
    [anon_sym_class] = ACTIONS(5270),
    [anon_sym_enum] = ACTIONS(5268),
    [anon_sym_protocol] = ACTIONS(5268),
    [anon_sym_let] = ACTIONS(5268),
    [anon_sym_var] = ACTIONS(5268),
    [anon_sym_func] = ACTIONS(5268),
    [anon_sym_macro] = ACTIONS(5268),
    [anon_sym_extension] = ACTIONS(5268),
    [anon_sym_indirect] = ACTIONS(5268),
    [anon_sym_init] = ACTIONS(5268),
    [anon_sym_deinit] = ACTIONS(5268),
    [anon_sym_subscript] = ACTIONS(5268),
    [anon_sym_prefix] = ACTIONS(5121),
    [anon_sym_infix] = ACTIONS(5121),
    [anon_sym_postfix] = ACTIONS(5121),
    [anon_sym_associatedtype] = ACTIONS(5268),
    [anon_sym_AT] = ACTIONS(111),
    [anon_sym_override] = ACTIONS(4017),
    [anon_sym_convenience] = ACTIONS(4017),
    [anon_sym_required] = ACTIONS(4017),
    [anon_sym_nonisolated] = ACTIONS(4017),
    [anon_sym_public] = ACTIONS(3981),
    [anon_sym_private] = ACTIONS(3981),
    [anon_sym_internal] = ACTIONS(3981),
    [anon_sym_fileprivate] = ACTIONS(3981),
    [anon_sym_open] = ACTIONS(3981),
    [anon_sym_mutating] = ACTIONS(4019),
    [anon_sym_nonmutating] = ACTIONS(4019),
    [anon_sym_static] = ACTIONS(4021),
    [anon_sym_dynamic] = ACTIONS(4021),
    [anon_sym_optional] = ACTIONS(4021),
    [anon_sym_distributed] = ACTIONS(4021),
    [anon_sym_final] = ACTIONS(4023),
    [anon_sym_inout] = ACTIONS(125),
    [anon_sym_ATescaping] = ACTIONS(125),
    [anon_sym_ATautoclosure] = ACTIONS(125),
    [anon_sym_weak] = ACTIONS(129),
    [anon_sym_unowned] = ACTIONS(127),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(129),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(129),
    [anon_sym_borrowing] = ACTIONS(125),
    [anon_sym_consuming] = ACTIONS(125),
    [sym_multiline_comment] = ACTIONS(5),
  },
  [1787] = {
    [sym__immediate_quest] = STATE(1799),
    [aux_sym_optional_type_repeat1] = STATE(1799),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3030),
    [anon_sym_async] = ACTIONS(3030),
    [anon_sym_lazy] = ACTIONS(3030),
    [anon_sym_package] = ACTIONS(3030),
    [anon_sym_COMMA] = ACTIONS(3030),
    [anon_sym_BANG2] = ACTIONS(3030),
    [anon_sym_DOT] = ACTIONS(3030),
    [anon_sym_QMARK2] = ACTIONS(5180),
    [anon_sym_AMP] = ACTIONS(3030),
    [anon_sym_LBRACE] = ACTIONS(3030),
    [anon_sym_RBRACE] = ACTIONS(3030),
    [anon_sym_case] = ACTIONS(3030),
    [anon_sym_import] = ACTIONS(3030),
    [anon_sym_typealias] = ACTIONS(3030),
    [anon_sym_struct] = ACTIONS(3030),
    [anon_sym_class] = ACTIONS(3030),
    [anon_sym_enum] = ACTIONS(3030),
    [anon_sym_protocol] = ACTIONS(3030),
    [anon_sym_let] = ACTIONS(3030),
    [anon_sym_var] = ACTIONS(3030),
    [anon_sym_func] = ACTIONS(3030),
    [anon_sym_extension] = ACTIONS(3030),
    [anon_sym_indirect] = ACTIONS(3030),
    [anon_sym_init] = ACTIONS(3030),
    [anon_sym_deinit] = ACTIONS(3030),
    [anon_sym_subscript] = ACTIONS(3030),
    [anon_sym_prefix] = ACTIONS(3030),
    [anon_sym_infix] = ACTIONS(3030),
    [anon_sym_postfix] = ACTIONS(3030),
    [anon_sym_precedencegroup] = ACTIONS(3030),
    [anon_sym_associatedtype] = ACTIONS(3030),
    [anon_sym_AT] = ACTIONS(3028),
    [anon_sym_override] = ACTIONS(3030),
    [anon_sym_convenience] = ACTIONS(3030),
    [anon_sym_required] = ACTIONS(3030),
    [anon_sym_nonisolated] = ACTIONS(3030),
    [anon_sym_public] = ACTIONS(3030),
    [anon_sym_private] = ACTIONS(3030),
    [anon_sym_internal] = ACTIONS(3030),
    [anon_sym_fileprivate] = ACTIONS(3030),
    [anon_sym_open] = ACTIONS(3030),
    [anon_sym_mutating] = ACTIONS(3030),
    [anon_sym_nonmutating] = ACTIONS(3030),
    [anon_sym_static] = ACTIONS(3030),
    [anon_sym_dynamic] = ACTIONS(3030),
    [anon_sym_optional] = ACTIONS(3030),
    [anon_sym_distributed] = ACTIONS(3030),
    [anon_sym_final] = ACTIONS(3030),
    [anon_sym_inout] = ACTIONS(3030),
    [anon_sym_ATescaping] = ACTIONS(3030),
    [anon_sym_ATautoclosure] = ACTIONS(3030),
    [anon_sym_weak] = ACTIONS(3030),
    [anon_sym_unowned] = ACTIONS(3028),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3030),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3030),
    [anon_sym_borrowing] = ACTIONS(3030),
    [anon_sym_consuming] = ACTIONS(3030),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3030),
    [sym__eq_custom] = ACTIONS(3030),
    [sym__throws_keyword] = ACTIONS(3030),
    [sym__rethrows_keyword] = ACTIONS(3030),
    [sym_where_keyword] = ACTIONS(3030),
    [sym__async_keyword_custom] = ACTIONS(3030),
  },
  [1788] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3107),
    [anon_sym_async] = ACTIONS(3107),
    [anon_sym_lazy] = ACTIONS(3107),
    [anon_sym_package] = ACTIONS(3107),
    [anon_sym_RPAREN] = ACTIONS(3107),
    [anon_sym_COMMA] = ACTIONS(3107),
    [anon_sym_BANG2] = ACTIONS(3107),
    [anon_sym_DOT] = ACTIONS(3105),
    [anon_sym_QMARK2] = ACTIONS(3107),
    [anon_sym_AMP] = ACTIONS(3107),
    [anon_sym_LBRACE] = ACTIONS(3107),
    [anon_sym_RBRACE] = ACTIONS(3107),
    [anon_sym_case] = ACTIONS(3107),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3107),
    [anon_sym_import] = ACTIONS(3107),
    [anon_sym_typealias] = ACTIONS(3107),
    [anon_sym_struct] = ACTIONS(3107),
    [anon_sym_class] = ACTIONS(3107),
    [anon_sym_enum] = ACTIONS(3107),
    [anon_sym_protocol] = ACTIONS(3107),
    [anon_sym_let] = ACTIONS(3107),
    [anon_sym_var] = ACTIONS(3107),
    [anon_sym_func] = ACTIONS(3107),
    [anon_sym_extension] = ACTIONS(3107),
    [anon_sym_indirect] = ACTIONS(3107),
    [anon_sym_init] = ACTIONS(3107),
    [anon_sym_deinit] = ACTIONS(3107),
    [anon_sym_subscript] = ACTIONS(3107),
    [anon_sym_prefix] = ACTIONS(3107),
    [anon_sym_infix] = ACTIONS(3107),
    [anon_sym_postfix] = ACTIONS(3107),
    [anon_sym_precedencegroup] = ACTIONS(3107),
    [anon_sym_associatedtype] = ACTIONS(3107),
    [anon_sym_AT] = ACTIONS(3105),
    [anon_sym_override] = ACTIONS(3107),
    [anon_sym_convenience] = ACTIONS(3107),
    [anon_sym_required] = ACTIONS(3107),
    [anon_sym_nonisolated] = ACTIONS(3107),
    [anon_sym_public] = ACTIONS(3107),
    [anon_sym_private] = ACTIONS(3107),
    [anon_sym_internal] = ACTIONS(3107),
    [anon_sym_fileprivate] = ACTIONS(3107),
    [anon_sym_open] = ACTIONS(3107),
    [anon_sym_mutating] = ACTIONS(3107),
    [anon_sym_nonmutating] = ACTIONS(3107),
    [anon_sym_static] = ACTIONS(3107),
    [anon_sym_dynamic] = ACTIONS(3107),
    [anon_sym_optional] = ACTIONS(3107),
    [anon_sym_distributed] = ACTIONS(3107),
    [anon_sym_final] = ACTIONS(3107),
    [anon_sym_inout] = ACTIONS(3107),
    [anon_sym_ATescaping] = ACTIONS(3107),
    [anon_sym_ATautoclosure] = ACTIONS(3107),
    [anon_sym_weak] = ACTIONS(3107),
    [anon_sym_unowned] = ACTIONS(3105),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3107),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3107),
    [anon_sym_borrowing] = ACTIONS(3107),
    [anon_sym_consuming] = ACTIONS(3107),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3107),
    [sym__dot_custom] = ACTIONS(3107),
    [sym__eq_custom] = ACTIONS(3107),
    [sym__throws_keyword] = ACTIONS(3107),
    [sym__rethrows_keyword] = ACTIONS(3107),
    [sym__async_keyword_custom] = ACTIONS(3107),
  },
  [1789] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3159),
    [anon_sym_async] = ACTIONS(3159),
    [anon_sym_lazy] = ACTIONS(3159),
    [anon_sym_package] = ACTIONS(3159),
    [anon_sym_COMMA] = ACTIONS(3159),
    [anon_sym_COLON] = ACTIONS(3159),
    [anon_sym_DOT] = ACTIONS(3159),
    [anon_sym_QMARK] = ACTIONS(3157),
    [anon_sym_QMARK2] = ACTIONS(3159),
    [anon_sym_AMP] = ACTIONS(3159),
    [anon_sym_LBRACE] = ACTIONS(3159),
    [anon_sym_RBRACE] = ACTIONS(3159),
    [anon_sym_case] = ACTIONS(3159),
    [anon_sym_import] = ACTIONS(3159),
    [anon_sym_typealias] = ACTIONS(3159),
    [anon_sym_struct] = ACTIONS(3159),
    [anon_sym_class] = ACTIONS(3159),
    [anon_sym_enum] = ACTIONS(3159),
    [anon_sym_protocol] = ACTIONS(3159),
    [anon_sym_let] = ACTIONS(3159),
    [anon_sym_var] = ACTIONS(3159),
    [anon_sym_func] = ACTIONS(3159),
    [anon_sym_extension] = ACTIONS(3159),
    [anon_sym_indirect] = ACTIONS(3159),
    [anon_sym_init] = ACTIONS(3159),
    [anon_sym_deinit] = ACTIONS(3159),
    [anon_sym_subscript] = ACTIONS(3159),
    [anon_sym_prefix] = ACTIONS(3159),
    [anon_sym_infix] = ACTIONS(3159),
    [anon_sym_postfix] = ACTIONS(3159),
    [anon_sym_precedencegroup] = ACTIONS(3159),
    [anon_sym_associatedtype] = ACTIONS(3159),
    [anon_sym_AT] = ACTIONS(3157),
    [anon_sym_override] = ACTIONS(3159),
    [anon_sym_convenience] = ACTIONS(3159),
    [anon_sym_required] = ACTIONS(3159),
    [anon_sym_nonisolated] = ACTIONS(3159),
    [anon_sym_public] = ACTIONS(3159),
    [anon_sym_private] = ACTIONS(3159),
    [anon_sym_internal] = ACTIONS(3159),
    [anon_sym_fileprivate] = ACTIONS(3159),
    [anon_sym_open] = ACTIONS(3159),
    [anon_sym_mutating] = ACTIONS(3159),
    [anon_sym_nonmutating] = ACTIONS(3159),
    [anon_sym_static] = ACTIONS(3159),
    [anon_sym_dynamic] = ACTIONS(3159),
    [anon_sym_optional] = ACTIONS(3159),
    [anon_sym_distributed] = ACTIONS(3159),
    [anon_sym_final] = ACTIONS(3159),
    [anon_sym_inout] = ACTIONS(3159),
    [anon_sym_ATescaping] = ACTIONS(3159),
    [anon_sym_ATautoclosure] = ACTIONS(3159),
    [anon_sym_weak] = ACTIONS(3159),
    [anon_sym_unowned] = ACTIONS(3157),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3159),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3159),
    [anon_sym_borrowing] = ACTIONS(3159),
    [anon_sym_consuming] = ACTIONS(3159),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3159),
    [sym__eq_custom] = ACTIONS(3159),
    [sym__throws_keyword] = ACTIONS(3159),
    [sym__rethrows_keyword] = ACTIONS(3159),
    [sym_where_keyword] = ACTIONS(3159),
    [sym__as_custom] = ACTIONS(3159),
    [sym__async_keyword_custom] = ACTIONS(3159),
  },
  [1790] = {
    [sym__dot] = STATE(5455),
    [aux_sym_user_type_repeat1] = STATE(1812),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3041),
    [anon_sym_async] = ACTIONS(3041),
    [anon_sym_lazy] = ACTIONS(3041),
    [anon_sym_package] = ACTIONS(3041),
    [anon_sym_COMMA] = ACTIONS(3041),
    [anon_sym_BANG2] = ACTIONS(3041),
    [anon_sym_DOT] = ACTIONS(3041),
    [anon_sym_QMARK2] = ACTIONS(3041),
    [anon_sym_AMP] = ACTIONS(3041),
    [anon_sym_LBRACE] = ACTIONS(3041),
    [anon_sym_RBRACE] = ACTIONS(3041),
    [anon_sym_case] = ACTIONS(3041),
    [anon_sym_import] = ACTIONS(3041),
    [anon_sym_typealias] = ACTIONS(3041),
    [anon_sym_struct] = ACTIONS(3041),
    [anon_sym_class] = ACTIONS(3041),
    [anon_sym_enum] = ACTIONS(3041),
    [anon_sym_protocol] = ACTIONS(3041),
    [anon_sym_let] = ACTIONS(3041),
    [anon_sym_var] = ACTIONS(3041),
    [anon_sym_func] = ACTIONS(3041),
    [anon_sym_extension] = ACTIONS(3041),
    [anon_sym_indirect] = ACTIONS(3041),
    [anon_sym_init] = ACTIONS(3041),
    [anon_sym_deinit] = ACTIONS(3041),
    [anon_sym_subscript] = ACTIONS(3041),
    [anon_sym_prefix] = ACTIONS(3041),
    [anon_sym_infix] = ACTIONS(3041),
    [anon_sym_postfix] = ACTIONS(3041),
    [anon_sym_precedencegroup] = ACTIONS(3041),
    [anon_sym_associatedtype] = ACTIONS(3041),
    [anon_sym_AT] = ACTIONS(3039),
    [anon_sym_override] = ACTIONS(3041),
    [anon_sym_convenience] = ACTIONS(3041),
    [anon_sym_required] = ACTIONS(3041),
    [anon_sym_nonisolated] = ACTIONS(3041),
    [anon_sym_public] = ACTIONS(3041),
    [anon_sym_private] = ACTIONS(3041),
    [anon_sym_internal] = ACTIONS(3041),
    [anon_sym_fileprivate] = ACTIONS(3041),
    [anon_sym_open] = ACTIONS(3041),
    [anon_sym_mutating] = ACTIONS(3041),
    [anon_sym_nonmutating] = ACTIONS(3041),
    [anon_sym_static] = ACTIONS(3041),
    [anon_sym_dynamic] = ACTIONS(3041),
    [anon_sym_optional] = ACTIONS(3041),
    [anon_sym_distributed] = ACTIONS(3041),
    [anon_sym_final] = ACTIONS(3041),
    [anon_sym_inout] = ACTIONS(3041),
    [anon_sym_ATescaping] = ACTIONS(3041),
    [anon_sym_ATautoclosure] = ACTIONS(3041),
    [anon_sym_weak] = ACTIONS(3041),
    [anon_sym_unowned] = ACTIONS(3039),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3041),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3041),
    [anon_sym_borrowing] = ACTIONS(3041),
    [anon_sym_consuming] = ACTIONS(3041),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3041),
    [sym__dot_custom] = ACTIONS(5266),
    [sym__eq_custom] = ACTIONS(3041),
    [sym__throws_keyword] = ACTIONS(3041),
    [sym__rethrows_keyword] = ACTIONS(3041),
    [sym__async_keyword_custom] = ACTIONS(3041),
  },
  [1791] = {
    [ts_builtin_sym_end] = ACTIONS(3215),
    [anon_sym_BANG] = ACTIONS(3213),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3213),
    [aux_sym_simple_identifier_token2] = ACTIONS(3215),
    [aux_sym_simple_identifier_token3] = ACTIONS(3215),
    [aux_sym_simple_identifier_token4] = ACTIONS(3215),
    [anon_sym_actor] = ACTIONS(3213),
    [anon_sym_async] = ACTIONS(3213),
    [anon_sym_each] = ACTIONS(3213),
    [anon_sym_lazy] = ACTIONS(3213),
    [anon_sym_repeat] = ACTIONS(3213),
    [anon_sym_package] = ACTIONS(3213),
    [anon_sym_COMMA] = ACTIONS(3215),
    [anon_sym_LPAREN] = ACTIONS(3215),
    [anon_sym_LBRACK] = ACTIONS(3215),
    [anon_sym_QMARK] = ACTIONS(3213),
    [anon_sym_QMARK2] = ACTIONS(3215),
    [anon_sym_AMP] = ACTIONS(3215),
    [aux_sym_custom_operator_token1] = ACTIONS(3215),
    [anon_sym_LT] = ACTIONS(3213),
    [anon_sym_GT] = ACTIONS(3213),
    [anon_sym_LBRACE] = ACTIONS(3215),
    [anon_sym_CARET_LBRACE] = ACTIONS(3215),
    [anon_sym_RBRACE] = ACTIONS(3215),
    [anon_sym_PLUS_EQ] = ACTIONS(3215),
    [anon_sym_DASH_EQ] = ACTIONS(3215),
    [anon_sym_STAR_EQ] = ACTIONS(3215),
    [anon_sym_SLASH_EQ] = ACTIONS(3215),
    [anon_sym_PERCENT_EQ] = ACTIONS(3215),
    [anon_sym_BANG_EQ] = ACTIONS(3213),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3215),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3215),
    [anon_sym_LT_EQ] = ACTIONS(3215),
    [anon_sym_GT_EQ] = ACTIONS(3215),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3215),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3215),
    [anon_sym_is] = ACTIONS(3213),
    [anon_sym_PLUS] = ACTIONS(3213),
    [anon_sym_DASH] = ACTIONS(3213),
    [anon_sym_STAR] = ACTIONS(3213),
    [anon_sym_SLASH] = ACTIONS(3213),
    [anon_sym_PERCENT] = ACTIONS(3213),
    [anon_sym_PLUS_PLUS] = ACTIONS(3215),
    [anon_sym_DASH_DASH] = ACTIONS(3215),
    [anon_sym_PIPE] = ACTIONS(3215),
    [anon_sym_CARET] = ACTIONS(3213),
    [anon_sym_LT_LT] = ACTIONS(3215),
    [anon_sym_GT_GT] = ACTIONS(3215),
    [anon_sym_borrowing] = ACTIONS(3213),
    [anon_sym_consuming] = ACTIONS(3213),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3215),
    [sym__explicit_semi] = ACTIONS(3215),
    [sym__dot_custom] = ACTIONS(3215),
    [sym__conjunction_operator_custom] = ACTIONS(3215),
    [sym__disjunction_operator_custom] = ACTIONS(3215),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3215),
    [sym__eq_custom] = ACTIONS(3215),
    [sym__eq_eq_custom] = ACTIONS(3215),
    [sym__plus_then_ws] = ACTIONS(3215),
    [sym__minus_then_ws] = ACTIONS(3215),
    [sym__bang_custom] = ACTIONS(3215),
    [sym__as_custom] = ACTIONS(3215),
    [sym__as_quest_custom] = ACTIONS(3215),
    [sym__as_bang_custom] = ACTIONS(3215),
    [sym__custom_operator] = ACTIONS(3215),
  },
  [1792] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3192),
    [anon_sym_async] = ACTIONS(3192),
    [anon_sym_lazy] = ACTIONS(3192),
    [anon_sym_package] = ACTIONS(3192),
    [anon_sym_COMMA] = ACTIONS(3192),
    [anon_sym_COLON] = ACTIONS(3192),
    [anon_sym_DOT] = ACTIONS(3192),
    [anon_sym_QMARK] = ACTIONS(3190),
    [anon_sym_QMARK2] = ACTIONS(3192),
    [anon_sym_AMP] = ACTIONS(3192),
    [anon_sym_LBRACE] = ACTIONS(3192),
    [anon_sym_RBRACE] = ACTIONS(3192),
    [anon_sym_case] = ACTIONS(3192),
    [anon_sym_import] = ACTIONS(3192),
    [anon_sym_typealias] = ACTIONS(3192),
    [anon_sym_struct] = ACTIONS(3192),
    [anon_sym_class] = ACTIONS(3192),
    [anon_sym_enum] = ACTIONS(3192),
    [anon_sym_protocol] = ACTIONS(3192),
    [anon_sym_let] = ACTIONS(3192),
    [anon_sym_var] = ACTIONS(3192),
    [anon_sym_func] = ACTIONS(3192),
    [anon_sym_extension] = ACTIONS(3192),
    [anon_sym_indirect] = ACTIONS(3192),
    [anon_sym_init] = ACTIONS(3192),
    [anon_sym_deinit] = ACTIONS(3192),
    [anon_sym_subscript] = ACTIONS(3192),
    [anon_sym_prefix] = ACTIONS(3192),
    [anon_sym_infix] = ACTIONS(3192),
    [anon_sym_postfix] = ACTIONS(3192),
    [anon_sym_precedencegroup] = ACTIONS(3192),
    [anon_sym_associatedtype] = ACTIONS(3192),
    [anon_sym_AT] = ACTIONS(3190),
    [anon_sym_override] = ACTIONS(3192),
    [anon_sym_convenience] = ACTIONS(3192),
    [anon_sym_required] = ACTIONS(3192),
    [anon_sym_nonisolated] = ACTIONS(3192),
    [anon_sym_public] = ACTIONS(3192),
    [anon_sym_private] = ACTIONS(3192),
    [anon_sym_internal] = ACTIONS(3192),
    [anon_sym_fileprivate] = ACTIONS(3192),
    [anon_sym_open] = ACTIONS(3192),
    [anon_sym_mutating] = ACTIONS(3192),
    [anon_sym_nonmutating] = ACTIONS(3192),
    [anon_sym_static] = ACTIONS(3192),
    [anon_sym_dynamic] = ACTIONS(3192),
    [anon_sym_optional] = ACTIONS(3192),
    [anon_sym_distributed] = ACTIONS(3192),
    [anon_sym_final] = ACTIONS(3192),
    [anon_sym_inout] = ACTIONS(3192),
    [anon_sym_ATescaping] = ACTIONS(3192),
    [anon_sym_ATautoclosure] = ACTIONS(3192),
    [anon_sym_weak] = ACTIONS(3192),
    [anon_sym_unowned] = ACTIONS(3190),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3192),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3192),
    [anon_sym_borrowing] = ACTIONS(3192),
    [anon_sym_consuming] = ACTIONS(3192),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3192),
    [sym__eq_custom] = ACTIONS(3192),
    [sym__throws_keyword] = ACTIONS(3192),
    [sym__rethrows_keyword] = ACTIONS(3192),
    [sym_where_keyword] = ACTIONS(3192),
    [sym__as_custom] = ACTIONS(3192),
    [sym__async_keyword_custom] = ACTIONS(3192),
  },
  [1793] = {
    [sym__arrow_operator] = STATE(4109),
    [sym__async_keyword] = STATE(6900),
    [sym_throws] = STATE(8382),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1945),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3075),
    [anon_sym_async] = ACTIONS(3075),
    [anon_sym_lazy] = ACTIONS(3075),
    [anon_sym_package] = ACTIONS(3075),
    [anon_sym_COMMA] = ACTIONS(3075),
    [anon_sym_BANG2] = ACTIONS(3075),
    [anon_sym_DOT] = ACTIONS(5262),
    [anon_sym_AMP] = ACTIONS(5264),
    [anon_sym_LBRACE] = ACTIONS(3075),
    [anon_sym_RBRACE] = ACTIONS(3075),
    [anon_sym_case] = ACTIONS(3075),
    [anon_sym_import] = ACTIONS(3075),
    [anon_sym_typealias] = ACTIONS(3075),
    [anon_sym_struct] = ACTIONS(3075),
    [anon_sym_class] = ACTIONS(3075),
    [anon_sym_enum] = ACTIONS(3075),
    [anon_sym_protocol] = ACTIONS(3075),
    [anon_sym_let] = ACTIONS(3075),
    [anon_sym_var] = ACTIONS(3075),
    [anon_sym_func] = ACTIONS(3075),
    [anon_sym_extension] = ACTIONS(3075),
    [anon_sym_indirect] = ACTIONS(3075),
    [anon_sym_init] = ACTIONS(3075),
    [anon_sym_deinit] = ACTIONS(3075),
    [anon_sym_subscript] = ACTIONS(3075),
    [anon_sym_prefix] = ACTIONS(3075),
    [anon_sym_infix] = ACTIONS(3075),
    [anon_sym_postfix] = ACTIONS(3075),
    [anon_sym_precedencegroup] = ACTIONS(3075),
    [anon_sym_associatedtype] = ACTIONS(3075),
    [anon_sym_AT] = ACTIONS(3073),
    [anon_sym_override] = ACTIONS(3075),
    [anon_sym_convenience] = ACTIONS(3075),
    [anon_sym_required] = ACTIONS(3075),
    [anon_sym_nonisolated] = ACTIONS(3075),
    [anon_sym_public] = ACTIONS(3075),
    [anon_sym_private] = ACTIONS(3075),
    [anon_sym_internal] = ACTIONS(3075),
    [anon_sym_fileprivate] = ACTIONS(3075),
    [anon_sym_open] = ACTIONS(3075),
    [anon_sym_mutating] = ACTIONS(3075),
    [anon_sym_nonmutating] = ACTIONS(3075),
    [anon_sym_static] = ACTIONS(3075),
    [anon_sym_dynamic] = ACTIONS(3075),
    [anon_sym_optional] = ACTIONS(3075),
    [anon_sym_distributed] = ACTIONS(3075),
    [anon_sym_final] = ACTIONS(3075),
    [anon_sym_inout] = ACTIONS(3075),
    [anon_sym_ATescaping] = ACTIONS(3075),
    [anon_sym_ATautoclosure] = ACTIONS(3075),
    [anon_sym_weak] = ACTIONS(3075),
    [anon_sym_unowned] = ACTIONS(3073),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3075),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3075),
    [anon_sym_borrowing] = ACTIONS(3075),
    [anon_sym_consuming] = ACTIONS(3075),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(5238),
    [sym__eq_custom] = ACTIONS(3075),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym__async_keyword_custom] = ACTIONS(5240),
  },
  [1794] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3200),
    [anon_sym_async] = ACTIONS(3200),
    [anon_sym_lazy] = ACTIONS(3200),
    [anon_sym_package] = ACTIONS(3200),
    [anon_sym_RPAREN] = ACTIONS(3200),
    [anon_sym_COMMA] = ACTIONS(3200),
    [anon_sym_BANG2] = ACTIONS(3200),
    [anon_sym_DOT] = ACTIONS(3198),
    [anon_sym_QMARK2] = ACTIONS(3200),
    [anon_sym_AMP] = ACTIONS(3200),
    [anon_sym_LBRACE] = ACTIONS(3200),
    [anon_sym_RBRACE] = ACTIONS(3200),
    [anon_sym_case] = ACTIONS(3200),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3200),
    [anon_sym_import] = ACTIONS(3200),
    [anon_sym_typealias] = ACTIONS(3200),
    [anon_sym_struct] = ACTIONS(3200),
    [anon_sym_class] = ACTIONS(3200),
    [anon_sym_enum] = ACTIONS(3200),
    [anon_sym_protocol] = ACTIONS(3200),
    [anon_sym_let] = ACTIONS(3200),
    [anon_sym_var] = ACTIONS(3200),
    [anon_sym_func] = ACTIONS(3200),
    [anon_sym_extension] = ACTIONS(3200),
    [anon_sym_indirect] = ACTIONS(3200),
    [anon_sym_init] = ACTIONS(3200),
    [anon_sym_deinit] = ACTIONS(3200),
    [anon_sym_subscript] = ACTIONS(3200),
    [anon_sym_prefix] = ACTIONS(3200),
    [anon_sym_infix] = ACTIONS(3200),
    [anon_sym_postfix] = ACTIONS(3200),
    [anon_sym_precedencegroup] = ACTIONS(3200),
    [anon_sym_associatedtype] = ACTIONS(3200),
    [anon_sym_AT] = ACTIONS(3198),
    [anon_sym_override] = ACTIONS(3200),
    [anon_sym_convenience] = ACTIONS(3200),
    [anon_sym_required] = ACTIONS(3200),
    [anon_sym_nonisolated] = ACTIONS(3200),
    [anon_sym_public] = ACTIONS(3200),
    [anon_sym_private] = ACTIONS(3200),
    [anon_sym_internal] = ACTIONS(3200),
    [anon_sym_fileprivate] = ACTIONS(3200),
    [anon_sym_open] = ACTIONS(3200),
    [anon_sym_mutating] = ACTIONS(3200),
    [anon_sym_nonmutating] = ACTIONS(3200),
    [anon_sym_static] = ACTIONS(3200),
    [anon_sym_dynamic] = ACTIONS(3200),
    [anon_sym_optional] = ACTIONS(3200),
    [anon_sym_distributed] = ACTIONS(3200),
    [anon_sym_final] = ACTIONS(3200),
    [anon_sym_inout] = ACTIONS(3200),
    [anon_sym_ATescaping] = ACTIONS(3200),
    [anon_sym_ATautoclosure] = ACTIONS(3200),
    [anon_sym_weak] = ACTIONS(3200),
    [anon_sym_unowned] = ACTIONS(3198),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3200),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3200),
    [anon_sym_borrowing] = ACTIONS(3200),
    [anon_sym_consuming] = ACTIONS(3200),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3200),
    [sym__dot_custom] = ACTIONS(3200),
    [sym__eq_custom] = ACTIONS(3200),
    [sym__throws_keyword] = ACTIONS(3200),
    [sym__rethrows_keyword] = ACTIONS(3200),
    [sym__async_keyword_custom] = ACTIONS(3200),
  },
  [1795] = {
    [aux_sym_protocol_composition_type_repeat1] = STATE(1802),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3235),
    [anon_sym_async] = ACTIONS(3235),
    [anon_sym_lazy] = ACTIONS(3235),
    [anon_sym_package] = ACTIONS(3235),
    [anon_sym_COMMA] = ACTIONS(3235),
    [anon_sym_COLON] = ACTIONS(3235),
    [anon_sym_DOT] = ACTIONS(3235),
    [anon_sym_QMARK] = ACTIONS(3235),
    [anon_sym_AMP] = ACTIONS(3235),
    [anon_sym_LBRACE] = ACTIONS(3235),
    [anon_sym_RBRACE] = ACTIONS(3235),
    [anon_sym_case] = ACTIONS(3235),
    [anon_sym_import] = ACTIONS(3235),
    [anon_sym_typealias] = ACTIONS(3235),
    [anon_sym_struct] = ACTIONS(3235),
    [anon_sym_class] = ACTIONS(3235),
    [anon_sym_enum] = ACTIONS(3235),
    [anon_sym_protocol] = ACTIONS(3235),
    [anon_sym_let] = ACTIONS(3235),
    [anon_sym_var] = ACTIONS(3235),
    [anon_sym_func] = ACTIONS(3235),
    [anon_sym_extension] = ACTIONS(3235),
    [anon_sym_indirect] = ACTIONS(3235),
    [anon_sym_init] = ACTIONS(3235),
    [anon_sym_deinit] = ACTIONS(3235),
    [anon_sym_subscript] = ACTIONS(3235),
    [anon_sym_prefix] = ACTIONS(3235),
    [anon_sym_infix] = ACTIONS(3235),
    [anon_sym_postfix] = ACTIONS(3235),
    [anon_sym_precedencegroup] = ACTIONS(3235),
    [anon_sym_associatedtype] = ACTIONS(3235),
    [anon_sym_AT] = ACTIONS(3233),
    [anon_sym_override] = ACTIONS(3235),
    [anon_sym_convenience] = ACTIONS(3235),
    [anon_sym_required] = ACTIONS(3235),
    [anon_sym_nonisolated] = ACTIONS(3235),
    [anon_sym_public] = ACTIONS(3235),
    [anon_sym_private] = ACTIONS(3235),
    [anon_sym_internal] = ACTIONS(3235),
    [anon_sym_fileprivate] = ACTIONS(3235),
    [anon_sym_open] = ACTIONS(3235),
    [anon_sym_mutating] = ACTIONS(3235),
    [anon_sym_nonmutating] = ACTIONS(3235),
    [anon_sym_static] = ACTIONS(3235),
    [anon_sym_dynamic] = ACTIONS(3235),
    [anon_sym_optional] = ACTIONS(3235),
    [anon_sym_distributed] = ACTIONS(3235),
    [anon_sym_final] = ACTIONS(3235),
    [anon_sym_inout] = ACTIONS(3235),
    [anon_sym_ATescaping] = ACTIONS(3235),
    [anon_sym_ATautoclosure] = ACTIONS(3235),
    [anon_sym_weak] = ACTIONS(3235),
    [anon_sym_unowned] = ACTIONS(3233),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3235),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3235),
    [anon_sym_borrowing] = ACTIONS(3235),
    [anon_sym_consuming] = ACTIONS(3235),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3235),
    [sym__eq_custom] = ACTIONS(3235),
    [sym__throws_keyword] = ACTIONS(3235),
    [sym__rethrows_keyword] = ACTIONS(3235),
    [sym_where_keyword] = ACTIONS(3235),
    [sym__as_custom] = ACTIONS(3235),
    [sym__async_keyword_custom] = ACTIONS(3235),
  },
  [1796] = {
    [sym__arrow_operator] = STATE(4109),
    [sym__async_keyword] = STATE(6900),
    [sym_throws] = STATE(8382),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1945),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3055),
    [anon_sym_async] = ACTIONS(3055),
    [anon_sym_lazy] = ACTIONS(3055),
    [anon_sym_package] = ACTIONS(3055),
    [anon_sym_COMMA] = ACTIONS(3055),
    [anon_sym_BANG2] = ACTIONS(3055),
    [anon_sym_DOT] = ACTIONS(5262),
    [anon_sym_AMP] = ACTIONS(5264),
    [anon_sym_LBRACE] = ACTIONS(3055),
    [anon_sym_RBRACE] = ACTIONS(3055),
    [anon_sym_case] = ACTIONS(3055),
    [anon_sym_import] = ACTIONS(3055),
    [anon_sym_typealias] = ACTIONS(3055),
    [anon_sym_struct] = ACTIONS(3055),
    [anon_sym_class] = ACTIONS(3055),
    [anon_sym_enum] = ACTIONS(3055),
    [anon_sym_protocol] = ACTIONS(3055),
    [anon_sym_let] = ACTIONS(3055),
    [anon_sym_var] = ACTIONS(3055),
    [anon_sym_func] = ACTIONS(3055),
    [anon_sym_extension] = ACTIONS(3055),
    [anon_sym_indirect] = ACTIONS(3055),
    [anon_sym_init] = ACTIONS(3055),
    [anon_sym_deinit] = ACTIONS(3055),
    [anon_sym_subscript] = ACTIONS(3055),
    [anon_sym_prefix] = ACTIONS(3055),
    [anon_sym_infix] = ACTIONS(3055),
    [anon_sym_postfix] = ACTIONS(3055),
    [anon_sym_precedencegroup] = ACTIONS(3055),
    [anon_sym_associatedtype] = ACTIONS(3055),
    [anon_sym_AT] = ACTIONS(3053),
    [anon_sym_override] = ACTIONS(3055),
    [anon_sym_convenience] = ACTIONS(3055),
    [anon_sym_required] = ACTIONS(3055),
    [anon_sym_nonisolated] = ACTIONS(3055),
    [anon_sym_public] = ACTIONS(3055),
    [anon_sym_private] = ACTIONS(3055),
    [anon_sym_internal] = ACTIONS(3055),
    [anon_sym_fileprivate] = ACTIONS(3055),
    [anon_sym_open] = ACTIONS(3055),
    [anon_sym_mutating] = ACTIONS(3055),
    [anon_sym_nonmutating] = ACTIONS(3055),
    [anon_sym_static] = ACTIONS(3055),
    [anon_sym_dynamic] = ACTIONS(3055),
    [anon_sym_optional] = ACTIONS(3055),
    [anon_sym_distributed] = ACTIONS(3055),
    [anon_sym_final] = ACTIONS(3055),
    [anon_sym_inout] = ACTIONS(3055),
    [anon_sym_ATescaping] = ACTIONS(3055),
    [anon_sym_ATautoclosure] = ACTIONS(3055),
    [anon_sym_weak] = ACTIONS(3055),
    [anon_sym_unowned] = ACTIONS(3053),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3055),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3055),
    [anon_sym_borrowing] = ACTIONS(3055),
    [anon_sym_consuming] = ACTIONS(3055),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(5238),
    [sym__eq_custom] = ACTIONS(3055),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym__async_keyword_custom] = ACTIONS(5240),
  },
  [1797] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3127),
    [anon_sym_async] = ACTIONS(3127),
    [anon_sym_lazy] = ACTIONS(3127),
    [anon_sym_package] = ACTIONS(3127),
    [anon_sym_RPAREN] = ACTIONS(3127),
    [anon_sym_COMMA] = ACTIONS(3127),
    [anon_sym_BANG2] = ACTIONS(3127),
    [anon_sym_DOT] = ACTIONS(3125),
    [anon_sym_QMARK2] = ACTIONS(3127),
    [anon_sym_AMP] = ACTIONS(3127),
    [anon_sym_LBRACE] = ACTIONS(3127),
    [anon_sym_RBRACE] = ACTIONS(3127),
    [anon_sym_case] = ACTIONS(3127),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3127),
    [anon_sym_import] = ACTIONS(3127),
    [anon_sym_typealias] = ACTIONS(3127),
    [anon_sym_struct] = ACTIONS(3127),
    [anon_sym_class] = ACTIONS(3127),
    [anon_sym_enum] = ACTIONS(3127),
    [anon_sym_protocol] = ACTIONS(3127),
    [anon_sym_let] = ACTIONS(3127),
    [anon_sym_var] = ACTIONS(3127),
    [anon_sym_func] = ACTIONS(3127),
    [anon_sym_extension] = ACTIONS(3127),
    [anon_sym_indirect] = ACTIONS(3127),
    [anon_sym_init] = ACTIONS(3127),
    [anon_sym_deinit] = ACTIONS(3127),
    [anon_sym_subscript] = ACTIONS(3127),
    [anon_sym_prefix] = ACTIONS(3127),
    [anon_sym_infix] = ACTIONS(3127),
    [anon_sym_postfix] = ACTIONS(3127),
    [anon_sym_precedencegroup] = ACTIONS(3127),
    [anon_sym_associatedtype] = ACTIONS(3127),
    [anon_sym_AT] = ACTIONS(3125),
    [anon_sym_override] = ACTIONS(3127),
    [anon_sym_convenience] = ACTIONS(3127),
    [anon_sym_required] = ACTIONS(3127),
    [anon_sym_nonisolated] = ACTIONS(3127),
    [anon_sym_public] = ACTIONS(3127),
    [anon_sym_private] = ACTIONS(3127),
    [anon_sym_internal] = ACTIONS(3127),
    [anon_sym_fileprivate] = ACTIONS(3127),
    [anon_sym_open] = ACTIONS(3127),
    [anon_sym_mutating] = ACTIONS(3127),
    [anon_sym_nonmutating] = ACTIONS(3127),
    [anon_sym_static] = ACTIONS(3127),
    [anon_sym_dynamic] = ACTIONS(3127),
    [anon_sym_optional] = ACTIONS(3127),
    [anon_sym_distributed] = ACTIONS(3127),
    [anon_sym_final] = ACTIONS(3127),
    [anon_sym_inout] = ACTIONS(3127),
    [anon_sym_ATescaping] = ACTIONS(3127),
    [anon_sym_ATautoclosure] = ACTIONS(3127),
    [anon_sym_weak] = ACTIONS(3127),
    [anon_sym_unowned] = ACTIONS(3125),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3127),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3127),
    [anon_sym_borrowing] = ACTIONS(3127),
    [anon_sym_consuming] = ACTIONS(3127),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3127),
    [sym__dot_custom] = ACTIONS(3127),
    [sym__eq_custom] = ACTIONS(3127),
    [sym__throws_keyword] = ACTIONS(3127),
    [sym__rethrows_keyword] = ACTIONS(3127),
    [sym__async_keyword_custom] = ACTIONS(3127),
  },
  [1798] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3135),
    [anon_sym_async] = ACTIONS(3135),
    [anon_sym_lazy] = ACTIONS(3135),
    [anon_sym_package] = ACTIONS(3135),
    [anon_sym_RPAREN] = ACTIONS(3135),
    [anon_sym_COMMA] = ACTIONS(3135),
    [anon_sym_BANG2] = ACTIONS(3135),
    [anon_sym_DOT] = ACTIONS(3133),
    [anon_sym_QMARK2] = ACTIONS(3135),
    [anon_sym_AMP] = ACTIONS(3135),
    [anon_sym_LBRACE] = ACTIONS(3135),
    [anon_sym_RBRACE] = ACTIONS(3135),
    [anon_sym_case] = ACTIONS(3135),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3135),
    [anon_sym_import] = ACTIONS(3135),
    [anon_sym_typealias] = ACTIONS(3135),
    [anon_sym_struct] = ACTIONS(3135),
    [anon_sym_class] = ACTIONS(3135),
    [anon_sym_enum] = ACTIONS(3135),
    [anon_sym_protocol] = ACTIONS(3135),
    [anon_sym_let] = ACTIONS(3135),
    [anon_sym_var] = ACTIONS(3135),
    [anon_sym_func] = ACTIONS(3135),
    [anon_sym_extension] = ACTIONS(3135),
    [anon_sym_indirect] = ACTIONS(3135),
    [anon_sym_init] = ACTIONS(3135),
    [anon_sym_deinit] = ACTIONS(3135),
    [anon_sym_subscript] = ACTIONS(3135),
    [anon_sym_prefix] = ACTIONS(3135),
    [anon_sym_infix] = ACTIONS(3135),
    [anon_sym_postfix] = ACTIONS(3135),
    [anon_sym_precedencegroup] = ACTIONS(3135),
    [anon_sym_associatedtype] = ACTIONS(3135),
    [anon_sym_AT] = ACTIONS(3133),
    [anon_sym_override] = ACTIONS(3135),
    [anon_sym_convenience] = ACTIONS(3135),
    [anon_sym_required] = ACTIONS(3135),
    [anon_sym_nonisolated] = ACTIONS(3135),
    [anon_sym_public] = ACTIONS(3135),
    [anon_sym_private] = ACTIONS(3135),
    [anon_sym_internal] = ACTIONS(3135),
    [anon_sym_fileprivate] = ACTIONS(3135),
    [anon_sym_open] = ACTIONS(3135),
    [anon_sym_mutating] = ACTIONS(3135),
    [anon_sym_nonmutating] = ACTIONS(3135),
    [anon_sym_static] = ACTIONS(3135),
    [anon_sym_dynamic] = ACTIONS(3135),
    [anon_sym_optional] = ACTIONS(3135),
    [anon_sym_distributed] = ACTIONS(3135),
    [anon_sym_final] = ACTIONS(3135),
    [anon_sym_inout] = ACTIONS(3135),
    [anon_sym_ATescaping] = ACTIONS(3135),
    [anon_sym_ATautoclosure] = ACTIONS(3135),
    [anon_sym_weak] = ACTIONS(3135),
    [anon_sym_unowned] = ACTIONS(3133),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3135),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3135),
    [anon_sym_borrowing] = ACTIONS(3135),
    [anon_sym_consuming] = ACTIONS(3135),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3135),
    [sym__dot_custom] = ACTIONS(3135),
    [sym__eq_custom] = ACTIONS(3135),
    [sym__throws_keyword] = ACTIONS(3135),
    [sym__rethrows_keyword] = ACTIONS(3135),
    [sym__async_keyword_custom] = ACTIONS(3135),
  },
  [1799] = {
    [sym__immediate_quest] = STATE(1799),
    [aux_sym_optional_type_repeat1] = STATE(1799),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3034),
    [anon_sym_async] = ACTIONS(3034),
    [anon_sym_lazy] = ACTIONS(3034),
    [anon_sym_package] = ACTIONS(3034),
    [anon_sym_COMMA] = ACTIONS(3034),
    [anon_sym_BANG2] = ACTIONS(3034),
    [anon_sym_DOT] = ACTIONS(3034),
    [anon_sym_QMARK2] = ACTIONS(5273),
    [anon_sym_AMP] = ACTIONS(3034),
    [anon_sym_LBRACE] = ACTIONS(3034),
    [anon_sym_RBRACE] = ACTIONS(3034),
    [anon_sym_case] = ACTIONS(3034),
    [anon_sym_import] = ACTIONS(3034),
    [anon_sym_typealias] = ACTIONS(3034),
    [anon_sym_struct] = ACTIONS(3034),
    [anon_sym_class] = ACTIONS(3034),
    [anon_sym_enum] = ACTIONS(3034),
    [anon_sym_protocol] = ACTIONS(3034),
    [anon_sym_let] = ACTIONS(3034),
    [anon_sym_var] = ACTIONS(3034),
    [anon_sym_func] = ACTIONS(3034),
    [anon_sym_extension] = ACTIONS(3034),
    [anon_sym_indirect] = ACTIONS(3034),
    [anon_sym_init] = ACTIONS(3034),
    [anon_sym_deinit] = ACTIONS(3034),
    [anon_sym_subscript] = ACTIONS(3034),
    [anon_sym_prefix] = ACTIONS(3034),
    [anon_sym_infix] = ACTIONS(3034),
    [anon_sym_postfix] = ACTIONS(3034),
    [anon_sym_precedencegroup] = ACTIONS(3034),
    [anon_sym_associatedtype] = ACTIONS(3034),
    [anon_sym_AT] = ACTIONS(3032),
    [anon_sym_override] = ACTIONS(3034),
    [anon_sym_convenience] = ACTIONS(3034),
    [anon_sym_required] = ACTIONS(3034),
    [anon_sym_nonisolated] = ACTIONS(3034),
    [anon_sym_public] = ACTIONS(3034),
    [anon_sym_private] = ACTIONS(3034),
    [anon_sym_internal] = ACTIONS(3034),
    [anon_sym_fileprivate] = ACTIONS(3034),
    [anon_sym_open] = ACTIONS(3034),
    [anon_sym_mutating] = ACTIONS(3034),
    [anon_sym_nonmutating] = ACTIONS(3034),
    [anon_sym_static] = ACTIONS(3034),
    [anon_sym_dynamic] = ACTIONS(3034),
    [anon_sym_optional] = ACTIONS(3034),
    [anon_sym_distributed] = ACTIONS(3034),
    [anon_sym_final] = ACTIONS(3034),
    [anon_sym_inout] = ACTIONS(3034),
    [anon_sym_ATescaping] = ACTIONS(3034),
    [anon_sym_ATautoclosure] = ACTIONS(3034),
    [anon_sym_weak] = ACTIONS(3034),
    [anon_sym_unowned] = ACTIONS(3032),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3034),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3034),
    [anon_sym_borrowing] = ACTIONS(3034),
    [anon_sym_consuming] = ACTIONS(3034),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3034),
    [sym__eq_custom] = ACTIONS(3034),
    [sym__throws_keyword] = ACTIONS(3034),
    [sym__rethrows_keyword] = ACTIONS(3034),
    [sym_where_keyword] = ACTIONS(3034),
    [sym__async_keyword_custom] = ACTIONS(3034),
  },
  [1800] = {
    [ts_builtin_sym_end] = ACTIONS(3221),
    [anon_sym_BANG] = ACTIONS(3219),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3219),
    [aux_sym_simple_identifier_token2] = ACTIONS(3221),
    [aux_sym_simple_identifier_token3] = ACTIONS(3221),
    [aux_sym_simple_identifier_token4] = ACTIONS(3221),
    [anon_sym_actor] = ACTIONS(3219),
    [anon_sym_async] = ACTIONS(3219),
    [anon_sym_each] = ACTIONS(3219),
    [anon_sym_lazy] = ACTIONS(3219),
    [anon_sym_repeat] = ACTIONS(3219),
    [anon_sym_package] = ACTIONS(3219),
    [anon_sym_COMMA] = ACTIONS(3221),
    [anon_sym_LPAREN] = ACTIONS(3221),
    [anon_sym_LBRACK] = ACTIONS(3221),
    [anon_sym_QMARK] = ACTIONS(3219),
    [anon_sym_QMARK2] = ACTIONS(3221),
    [anon_sym_AMP] = ACTIONS(3221),
    [aux_sym_custom_operator_token1] = ACTIONS(3221),
    [anon_sym_LT] = ACTIONS(3219),
    [anon_sym_GT] = ACTIONS(3219),
    [anon_sym_LBRACE] = ACTIONS(3221),
    [anon_sym_CARET_LBRACE] = ACTIONS(3221),
    [anon_sym_RBRACE] = ACTIONS(3221),
    [anon_sym_PLUS_EQ] = ACTIONS(3221),
    [anon_sym_DASH_EQ] = ACTIONS(3221),
    [anon_sym_STAR_EQ] = ACTIONS(3221),
    [anon_sym_SLASH_EQ] = ACTIONS(3221),
    [anon_sym_PERCENT_EQ] = ACTIONS(3221),
    [anon_sym_BANG_EQ] = ACTIONS(3219),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3221),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3221),
    [anon_sym_LT_EQ] = ACTIONS(3221),
    [anon_sym_GT_EQ] = ACTIONS(3221),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3221),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3221),
    [anon_sym_is] = ACTIONS(3219),
    [anon_sym_PLUS] = ACTIONS(3219),
    [anon_sym_DASH] = ACTIONS(3219),
    [anon_sym_STAR] = ACTIONS(3219),
    [anon_sym_SLASH] = ACTIONS(3219),
    [anon_sym_PERCENT] = ACTIONS(3219),
    [anon_sym_PLUS_PLUS] = ACTIONS(3221),
    [anon_sym_DASH_DASH] = ACTIONS(3221),
    [anon_sym_PIPE] = ACTIONS(3221),
    [anon_sym_CARET] = ACTIONS(3219),
    [anon_sym_LT_LT] = ACTIONS(3221),
    [anon_sym_GT_GT] = ACTIONS(3221),
    [anon_sym_borrowing] = ACTIONS(3219),
    [anon_sym_consuming] = ACTIONS(3219),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3221),
    [sym__explicit_semi] = ACTIONS(3221),
    [sym__dot_custom] = ACTIONS(3221),
    [sym__conjunction_operator_custom] = ACTIONS(3221),
    [sym__disjunction_operator_custom] = ACTIONS(3221),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3221),
    [sym__eq_custom] = ACTIONS(3221),
    [sym__eq_eq_custom] = ACTIONS(3221),
    [sym__plus_then_ws] = ACTIONS(3221),
    [sym__minus_then_ws] = ACTIONS(3221),
    [sym__bang_custom] = ACTIONS(3221),
    [sym__as_custom] = ACTIONS(3221),
    [sym__as_quest_custom] = ACTIONS(3221),
    [sym__as_bang_custom] = ACTIONS(3221),
    [sym__custom_operator] = ACTIONS(3221),
  },
  [1801] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3147),
    [anon_sym_async] = ACTIONS(3147),
    [anon_sym_lazy] = ACTIONS(3147),
    [anon_sym_package] = ACTIONS(3147),
    [anon_sym_COMMA] = ACTIONS(3147),
    [anon_sym_COLON] = ACTIONS(3147),
    [anon_sym_DOT] = ACTIONS(3147),
    [anon_sym_QMARK] = ACTIONS(3145),
    [anon_sym_QMARK2] = ACTIONS(3147),
    [anon_sym_AMP] = ACTIONS(3147),
    [anon_sym_LBRACE] = ACTIONS(3147),
    [anon_sym_RBRACE] = ACTIONS(3147),
    [anon_sym_case] = ACTIONS(3147),
    [anon_sym_import] = ACTIONS(3147),
    [anon_sym_typealias] = ACTIONS(3147),
    [anon_sym_struct] = ACTIONS(3147),
    [anon_sym_class] = ACTIONS(3147),
    [anon_sym_enum] = ACTIONS(3147),
    [anon_sym_protocol] = ACTIONS(3147),
    [anon_sym_let] = ACTIONS(3147),
    [anon_sym_var] = ACTIONS(3147),
    [anon_sym_func] = ACTIONS(3147),
    [anon_sym_extension] = ACTIONS(3147),
    [anon_sym_indirect] = ACTIONS(3147),
    [anon_sym_init] = ACTIONS(3147),
    [anon_sym_deinit] = ACTIONS(3147),
    [anon_sym_subscript] = ACTIONS(3147),
    [anon_sym_prefix] = ACTIONS(3147),
    [anon_sym_infix] = ACTIONS(3147),
    [anon_sym_postfix] = ACTIONS(3147),
    [anon_sym_precedencegroup] = ACTIONS(3147),
    [anon_sym_associatedtype] = ACTIONS(3147),
    [anon_sym_AT] = ACTIONS(3145),
    [anon_sym_override] = ACTIONS(3147),
    [anon_sym_convenience] = ACTIONS(3147),
    [anon_sym_required] = ACTIONS(3147),
    [anon_sym_nonisolated] = ACTIONS(3147),
    [anon_sym_public] = ACTIONS(3147),
    [anon_sym_private] = ACTIONS(3147),
    [anon_sym_internal] = ACTIONS(3147),
    [anon_sym_fileprivate] = ACTIONS(3147),
    [anon_sym_open] = ACTIONS(3147),
    [anon_sym_mutating] = ACTIONS(3147),
    [anon_sym_nonmutating] = ACTIONS(3147),
    [anon_sym_static] = ACTIONS(3147),
    [anon_sym_dynamic] = ACTIONS(3147),
    [anon_sym_optional] = ACTIONS(3147),
    [anon_sym_distributed] = ACTIONS(3147),
    [anon_sym_final] = ACTIONS(3147),
    [anon_sym_inout] = ACTIONS(3147),
    [anon_sym_ATescaping] = ACTIONS(3147),
    [anon_sym_ATautoclosure] = ACTIONS(3147),
    [anon_sym_weak] = ACTIONS(3147),
    [anon_sym_unowned] = ACTIONS(3145),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3147),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3147),
    [anon_sym_borrowing] = ACTIONS(3147),
    [anon_sym_consuming] = ACTIONS(3147),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3147),
    [sym__eq_custom] = ACTIONS(3147),
    [sym__throws_keyword] = ACTIONS(3147),
    [sym__rethrows_keyword] = ACTIONS(3147),
    [sym_where_keyword] = ACTIONS(3147),
    [sym__as_custom] = ACTIONS(3147),
    [sym__async_keyword_custom] = ACTIONS(3147),
  },
  [1802] = {
    [aux_sym_protocol_composition_type_repeat1] = STATE(1802),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3079),
    [anon_sym_async] = ACTIONS(3079),
    [anon_sym_lazy] = ACTIONS(3079),
    [anon_sym_package] = ACTIONS(3079),
    [anon_sym_COMMA] = ACTIONS(3079),
    [anon_sym_COLON] = ACTIONS(3079),
    [anon_sym_DOT] = ACTIONS(3079),
    [anon_sym_QMARK] = ACTIONS(3079),
    [anon_sym_AMP] = ACTIONS(5276),
    [anon_sym_LBRACE] = ACTIONS(3079),
    [anon_sym_RBRACE] = ACTIONS(3079),
    [anon_sym_case] = ACTIONS(3079),
    [anon_sym_import] = ACTIONS(3079),
    [anon_sym_typealias] = ACTIONS(3079),
    [anon_sym_struct] = ACTIONS(3079),
    [anon_sym_class] = ACTIONS(3079),
    [anon_sym_enum] = ACTIONS(3079),
    [anon_sym_protocol] = ACTIONS(3079),
    [anon_sym_let] = ACTIONS(3079),
    [anon_sym_var] = ACTIONS(3079),
    [anon_sym_func] = ACTIONS(3079),
    [anon_sym_extension] = ACTIONS(3079),
    [anon_sym_indirect] = ACTIONS(3079),
    [anon_sym_init] = ACTIONS(3079),
    [anon_sym_deinit] = ACTIONS(3079),
    [anon_sym_subscript] = ACTIONS(3079),
    [anon_sym_prefix] = ACTIONS(3079),
    [anon_sym_infix] = ACTIONS(3079),
    [anon_sym_postfix] = ACTIONS(3079),
    [anon_sym_precedencegroup] = ACTIONS(3079),
    [anon_sym_associatedtype] = ACTIONS(3079),
    [anon_sym_AT] = ACTIONS(3077),
    [anon_sym_override] = ACTIONS(3079),
    [anon_sym_convenience] = ACTIONS(3079),
    [anon_sym_required] = ACTIONS(3079),
    [anon_sym_nonisolated] = ACTIONS(3079),
    [anon_sym_public] = ACTIONS(3079),
    [anon_sym_private] = ACTIONS(3079),
    [anon_sym_internal] = ACTIONS(3079),
    [anon_sym_fileprivate] = ACTIONS(3079),
    [anon_sym_open] = ACTIONS(3079),
    [anon_sym_mutating] = ACTIONS(3079),
    [anon_sym_nonmutating] = ACTIONS(3079),
    [anon_sym_static] = ACTIONS(3079),
    [anon_sym_dynamic] = ACTIONS(3079),
    [anon_sym_optional] = ACTIONS(3079),
    [anon_sym_distributed] = ACTIONS(3079),
    [anon_sym_final] = ACTIONS(3079),
    [anon_sym_inout] = ACTIONS(3079),
    [anon_sym_ATescaping] = ACTIONS(3079),
    [anon_sym_ATautoclosure] = ACTIONS(3079),
    [anon_sym_weak] = ACTIONS(3079),
    [anon_sym_unowned] = ACTIONS(3077),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3079),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3079),
    [anon_sym_borrowing] = ACTIONS(3079),
    [anon_sym_consuming] = ACTIONS(3079),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3079),
    [sym__eq_custom] = ACTIONS(3079),
    [sym__throws_keyword] = ACTIONS(3079),
    [sym__rethrows_keyword] = ACTIONS(3079),
    [sym_where_keyword] = ACTIONS(3079),
    [sym__as_custom] = ACTIONS(3079),
    [sym__async_keyword_custom] = ACTIONS(3079),
  },
  [1803] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3196),
    [anon_sym_async] = ACTIONS(3196),
    [anon_sym_lazy] = ACTIONS(3196),
    [anon_sym_package] = ACTIONS(3196),
    [anon_sym_RPAREN] = ACTIONS(3196),
    [anon_sym_COMMA] = ACTIONS(3196),
    [anon_sym_BANG2] = ACTIONS(3196),
    [anon_sym_DOT] = ACTIONS(3194),
    [anon_sym_QMARK2] = ACTIONS(3196),
    [anon_sym_AMP] = ACTIONS(3196),
    [anon_sym_LBRACE] = ACTIONS(3196),
    [anon_sym_RBRACE] = ACTIONS(3196),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3196),
    [anon_sym_import] = ACTIONS(3196),
    [anon_sym_typealias] = ACTIONS(3196),
    [anon_sym_struct] = ACTIONS(3196),
    [anon_sym_class] = ACTIONS(3196),
    [anon_sym_enum] = ACTIONS(3196),
    [anon_sym_protocol] = ACTIONS(3196),
    [anon_sym_let] = ACTIONS(3196),
    [anon_sym_var] = ACTIONS(3196),
    [anon_sym_func] = ACTIONS(3196),
    [anon_sym_extension] = ACTIONS(3196),
    [anon_sym_indirect] = ACTIONS(3196),
    [anon_sym_init] = ACTIONS(3196),
    [anon_sym_deinit] = ACTIONS(3196),
    [anon_sym_subscript] = ACTIONS(3196),
    [anon_sym_prefix] = ACTIONS(3196),
    [anon_sym_infix] = ACTIONS(3196),
    [anon_sym_postfix] = ACTIONS(3196),
    [anon_sym_precedencegroup] = ACTIONS(3196),
    [anon_sym_associatedtype] = ACTIONS(3196),
    [anon_sym_AT] = ACTIONS(3194),
    [anon_sym_override] = ACTIONS(3196),
    [anon_sym_convenience] = ACTIONS(3196),
    [anon_sym_required] = ACTIONS(3196),
    [anon_sym_nonisolated] = ACTIONS(3196),
    [anon_sym_public] = ACTIONS(3196),
    [anon_sym_private] = ACTIONS(3196),
    [anon_sym_internal] = ACTIONS(3196),
    [anon_sym_fileprivate] = ACTIONS(3196),
    [anon_sym_open] = ACTIONS(3196),
    [anon_sym_mutating] = ACTIONS(3196),
    [anon_sym_nonmutating] = ACTIONS(3196),
    [anon_sym_static] = ACTIONS(3196),
    [anon_sym_dynamic] = ACTIONS(3196),
    [anon_sym_optional] = ACTIONS(3196),
    [anon_sym_distributed] = ACTIONS(3196),
    [anon_sym_final] = ACTIONS(3196),
    [anon_sym_inout] = ACTIONS(3196),
    [anon_sym_ATescaping] = ACTIONS(3196),
    [anon_sym_ATautoclosure] = ACTIONS(3196),
    [anon_sym_weak] = ACTIONS(3196),
    [anon_sym_unowned] = ACTIONS(3194),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3196),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3196),
    [anon_sym_borrowing] = ACTIONS(3196),
    [anon_sym_consuming] = ACTIONS(3196),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3196),
    [sym__dot_custom] = ACTIONS(3196),
    [sym__eq_custom] = ACTIONS(3196),
    [sym__throws_keyword] = ACTIONS(3196),
    [sym__rethrows_keyword] = ACTIONS(3196),
    [sym__async_keyword_custom] = ACTIONS(3196),
  },
  [1804] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3182),
    [anon_sym_async] = ACTIONS(3182),
    [anon_sym_lazy] = ACTIONS(3182),
    [anon_sym_package] = ACTIONS(3182),
    [anon_sym_COMMA] = ACTIONS(3182),
    [anon_sym_COLON] = ACTIONS(3182),
    [anon_sym_DOT] = ACTIONS(3182),
    [anon_sym_QMARK] = ACTIONS(3180),
    [anon_sym_QMARK2] = ACTIONS(3182),
    [anon_sym_AMP] = ACTIONS(3182),
    [anon_sym_LBRACE] = ACTIONS(3182),
    [anon_sym_RBRACE] = ACTIONS(3182),
    [anon_sym_case] = ACTIONS(3182),
    [anon_sym_import] = ACTIONS(3182),
    [anon_sym_typealias] = ACTIONS(3182),
    [anon_sym_struct] = ACTIONS(3182),
    [anon_sym_class] = ACTIONS(3182),
    [anon_sym_enum] = ACTIONS(3182),
    [anon_sym_protocol] = ACTIONS(3182),
    [anon_sym_let] = ACTIONS(3182),
    [anon_sym_var] = ACTIONS(3182),
    [anon_sym_func] = ACTIONS(3182),
    [anon_sym_extension] = ACTIONS(3182),
    [anon_sym_indirect] = ACTIONS(3182),
    [anon_sym_init] = ACTIONS(3182),
    [anon_sym_deinit] = ACTIONS(3182),
    [anon_sym_subscript] = ACTIONS(3182),
    [anon_sym_prefix] = ACTIONS(3182),
    [anon_sym_infix] = ACTIONS(3182),
    [anon_sym_postfix] = ACTIONS(3182),
    [anon_sym_precedencegroup] = ACTIONS(3182),
    [anon_sym_associatedtype] = ACTIONS(3182),
    [anon_sym_AT] = ACTIONS(3180),
    [anon_sym_override] = ACTIONS(3182),
    [anon_sym_convenience] = ACTIONS(3182),
    [anon_sym_required] = ACTIONS(3182),
    [anon_sym_nonisolated] = ACTIONS(3182),
    [anon_sym_public] = ACTIONS(3182),
    [anon_sym_private] = ACTIONS(3182),
    [anon_sym_internal] = ACTIONS(3182),
    [anon_sym_fileprivate] = ACTIONS(3182),
    [anon_sym_open] = ACTIONS(3182),
    [anon_sym_mutating] = ACTIONS(3182),
    [anon_sym_nonmutating] = ACTIONS(3182),
    [anon_sym_static] = ACTIONS(3182),
    [anon_sym_dynamic] = ACTIONS(3182),
    [anon_sym_optional] = ACTIONS(3182),
    [anon_sym_distributed] = ACTIONS(3182),
    [anon_sym_final] = ACTIONS(3182),
    [anon_sym_inout] = ACTIONS(3182),
    [anon_sym_ATescaping] = ACTIONS(3182),
    [anon_sym_ATautoclosure] = ACTIONS(3182),
    [anon_sym_weak] = ACTIONS(3182),
    [anon_sym_unowned] = ACTIONS(3180),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3182),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3182),
    [anon_sym_borrowing] = ACTIONS(3182),
    [anon_sym_consuming] = ACTIONS(3182),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3182),
    [sym__eq_custom] = ACTIONS(3182),
    [sym__throws_keyword] = ACTIONS(3182),
    [sym__rethrows_keyword] = ACTIONS(3182),
    [sym_where_keyword] = ACTIONS(3182),
    [sym__as_custom] = ACTIONS(3182),
    [sym__async_keyword_custom] = ACTIONS(3182),
  },
  [1805] = {
    [sym_type_arguments] = STATE(2086),
    [anon_sym_BANG] = ACTIONS(3303),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(5279),
    [aux_sym_simple_identifier_token2] = ACTIONS(5281),
    [aux_sym_simple_identifier_token3] = ACTIONS(5281),
    [aux_sym_simple_identifier_token4] = ACTIONS(5281),
    [anon_sym_actor] = ACTIONS(5279),
    [anon_sym_async] = ACTIONS(5279),
    [anon_sym_each] = ACTIONS(5279),
    [anon_sym_lazy] = ACTIONS(5279),
    [anon_sym_repeat] = ACTIONS(5279),
    [anon_sym_package] = ACTIONS(5279),
    [sym_integer_literal] = ACTIONS(5281),
    [anon_sym_RPAREN] = ACTIONS(3305),
    [anon_sym_COMMA] = ACTIONS(3305),
    [anon_sym_COLON] = ACTIONS(5283),
    [anon_sym_LPAREN] = ACTIONS(3307),
    [anon_sym_LBRACK] = ACTIONS(3305),
    [anon_sym_QMARK] = ACTIONS(3303),
    [anon_sym_QMARK2] = ACTIONS(3305),
    [anon_sym_AMP] = ACTIONS(3305),
    [aux_sym_custom_operator_token1] = ACTIONS(3305),
    [anon_sym_LT] = ACTIONS(3310),
    [anon_sym_GT] = ACTIONS(3303),
    [anon_sym_LBRACE] = ACTIONS(3307),
    [anon_sym_CARET_LBRACE] = ACTIONS(3307),
    [anon_sym_PLUS_EQ] = ACTIONS(3305),
    [anon_sym_DASH_EQ] = ACTIONS(3305),
    [anon_sym_STAR_EQ] = ACTIONS(3305),
    [anon_sym_SLASH_EQ] = ACTIONS(3305),
    [anon_sym_PERCENT_EQ] = ACTIONS(3305),
    [anon_sym_BANG_EQ] = ACTIONS(3303),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3305),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3305),
    [anon_sym_LT_EQ] = ACTIONS(3305),
    [anon_sym_GT_EQ] = ACTIONS(3305),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3305),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3305),
    [anon_sym_is] = ACTIONS(3303),
    [anon_sym_PLUS] = ACTIONS(3303),
    [anon_sym_DASH] = ACTIONS(3303),
    [anon_sym_STAR] = ACTIONS(3303),
    [anon_sym_SLASH] = ACTIONS(3303),
    [anon_sym_PERCENT] = ACTIONS(3303),
    [anon_sym_PLUS_PLUS] = ACTIONS(3305),
    [anon_sym_DASH_DASH] = ACTIONS(3305),
    [anon_sym_PIPE] = ACTIONS(3305),
    [anon_sym_CARET] = ACTIONS(3303),
    [anon_sym_LT_LT] = ACTIONS(3305),
    [anon_sym_GT_GT] = ACTIONS(3305),
    [anon_sym_borrowing] = ACTIONS(5279),
    [anon_sym_consuming] = ACTIONS(5279),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3307),
    [sym__conjunction_operator_custom] = ACTIONS(3305),
    [sym__disjunction_operator_custom] = ACTIONS(3305),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3305),
    [sym__eq_custom] = ACTIONS(3305),
    [sym__eq_eq_custom] = ACTIONS(3305),
    [sym__plus_then_ws] = ACTIONS(3305),
    [sym__minus_then_ws] = ACTIONS(3305),
    [sym__bang_custom] = ACTIONS(3305),
    [sym__as_custom] = ACTIONS(3305),
    [sym__as_quest_custom] = ACTIONS(3305),
    [sym__as_bang_custom] = ACTIONS(3305),
    [sym__custom_operator] = ACTIONS(3305),
  },
  [1806] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3204),
    [anon_sym_async] = ACTIONS(3204),
    [anon_sym_lazy] = ACTIONS(3204),
    [anon_sym_package] = ACTIONS(3204),
    [anon_sym_COMMA] = ACTIONS(3204),
    [anon_sym_BANG2] = ACTIONS(3204),
    [anon_sym_DOT] = ACTIONS(3204),
    [anon_sym_QMARK2] = ACTIONS(3204),
    [anon_sym_AMP] = ACTIONS(3204),
    [anon_sym_LT] = ACTIONS(3204),
    [anon_sym_LBRACE] = ACTIONS(3204),
    [anon_sym_RBRACE] = ACTIONS(3204),
    [anon_sym_case] = ACTIONS(3204),
    [anon_sym_import] = ACTIONS(3204),
    [anon_sym_typealias] = ACTIONS(3204),
    [anon_sym_struct] = ACTIONS(3204),
    [anon_sym_class] = ACTIONS(3204),
    [anon_sym_enum] = ACTIONS(3204),
    [anon_sym_protocol] = ACTIONS(3204),
    [anon_sym_let] = ACTIONS(3204),
    [anon_sym_var] = ACTIONS(3204),
    [anon_sym_func] = ACTIONS(3204),
    [anon_sym_extension] = ACTIONS(3204),
    [anon_sym_indirect] = ACTIONS(3204),
    [anon_sym_init] = ACTIONS(3204),
    [anon_sym_deinit] = ACTIONS(3204),
    [anon_sym_subscript] = ACTIONS(3204),
    [anon_sym_prefix] = ACTIONS(3204),
    [anon_sym_infix] = ACTIONS(3204),
    [anon_sym_postfix] = ACTIONS(3204),
    [anon_sym_precedencegroup] = ACTIONS(3204),
    [anon_sym_associatedtype] = ACTIONS(3204),
    [anon_sym_AT] = ACTIONS(3202),
    [anon_sym_override] = ACTIONS(3204),
    [anon_sym_convenience] = ACTIONS(3204),
    [anon_sym_required] = ACTIONS(3204),
    [anon_sym_nonisolated] = ACTIONS(3204),
    [anon_sym_public] = ACTIONS(3204),
    [anon_sym_private] = ACTIONS(3204),
    [anon_sym_internal] = ACTIONS(3204),
    [anon_sym_fileprivate] = ACTIONS(3204),
    [anon_sym_open] = ACTIONS(3204),
    [anon_sym_mutating] = ACTIONS(3204),
    [anon_sym_nonmutating] = ACTIONS(3204),
    [anon_sym_static] = ACTIONS(3204),
    [anon_sym_dynamic] = ACTIONS(3204),
    [anon_sym_optional] = ACTIONS(3204),
    [anon_sym_distributed] = ACTIONS(3204),
    [anon_sym_final] = ACTIONS(3204),
    [anon_sym_inout] = ACTIONS(3204),
    [anon_sym_ATescaping] = ACTIONS(3204),
    [anon_sym_ATautoclosure] = ACTIONS(3204),
    [anon_sym_weak] = ACTIONS(3204),
    [anon_sym_unowned] = ACTIONS(3202),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3204),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3204),
    [anon_sym_borrowing] = ACTIONS(3204),
    [anon_sym_consuming] = ACTIONS(3204),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3204),
    [sym__dot_custom] = ACTIONS(3204),
    [sym__eq_custom] = ACTIONS(3204),
    [sym__throws_keyword] = ACTIONS(3204),
    [sym__rethrows_keyword] = ACTIONS(3204),
    [sym_where_keyword] = ACTIONS(3204),
    [sym__async_keyword_custom] = ACTIONS(3204),
  },
  [1807] = {
    [ts_builtin_sym_end] = ACTIONS(3231),
    [anon_sym_BANG] = ACTIONS(3229),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3229),
    [aux_sym_simple_identifier_token2] = ACTIONS(3231),
    [aux_sym_simple_identifier_token3] = ACTIONS(3231),
    [aux_sym_simple_identifier_token4] = ACTIONS(3231),
    [anon_sym_actor] = ACTIONS(3229),
    [anon_sym_async] = ACTIONS(3229),
    [anon_sym_each] = ACTIONS(3229),
    [anon_sym_lazy] = ACTIONS(3229),
    [anon_sym_repeat] = ACTIONS(3229),
    [anon_sym_package] = ACTIONS(3229),
    [anon_sym_COMMA] = ACTIONS(3231),
    [anon_sym_LPAREN] = ACTIONS(3231),
    [anon_sym_LBRACK] = ACTIONS(3231),
    [anon_sym_QMARK] = ACTIONS(3229),
    [anon_sym_QMARK2] = ACTIONS(3231),
    [anon_sym_AMP] = ACTIONS(3231),
    [aux_sym_custom_operator_token1] = ACTIONS(3231),
    [anon_sym_LT] = ACTIONS(3229),
    [anon_sym_GT] = ACTIONS(3229),
    [anon_sym_LBRACE] = ACTIONS(3231),
    [anon_sym_CARET_LBRACE] = ACTIONS(3231),
    [anon_sym_RBRACE] = ACTIONS(3231),
    [anon_sym_PLUS_EQ] = ACTIONS(3231),
    [anon_sym_DASH_EQ] = ACTIONS(3231),
    [anon_sym_STAR_EQ] = ACTIONS(3231),
    [anon_sym_SLASH_EQ] = ACTIONS(3231),
    [anon_sym_PERCENT_EQ] = ACTIONS(3231),
    [anon_sym_BANG_EQ] = ACTIONS(3229),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3231),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3231),
    [anon_sym_LT_EQ] = ACTIONS(3231),
    [anon_sym_GT_EQ] = ACTIONS(3231),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3231),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3231),
    [anon_sym_is] = ACTIONS(3229),
    [anon_sym_PLUS] = ACTIONS(3229),
    [anon_sym_DASH] = ACTIONS(3229),
    [anon_sym_STAR] = ACTIONS(3229),
    [anon_sym_SLASH] = ACTIONS(3229),
    [anon_sym_PERCENT] = ACTIONS(3229),
    [anon_sym_PLUS_PLUS] = ACTIONS(3231),
    [anon_sym_DASH_DASH] = ACTIONS(3231),
    [anon_sym_PIPE] = ACTIONS(3231),
    [anon_sym_CARET] = ACTIONS(3229),
    [anon_sym_LT_LT] = ACTIONS(3231),
    [anon_sym_GT_GT] = ACTIONS(3231),
    [anon_sym_borrowing] = ACTIONS(3229),
    [anon_sym_consuming] = ACTIONS(3229),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3231),
    [sym__explicit_semi] = ACTIONS(3231),
    [sym__dot_custom] = ACTIONS(3231),
    [sym__conjunction_operator_custom] = ACTIONS(3231),
    [sym__disjunction_operator_custom] = ACTIONS(3231),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3231),
    [sym__eq_custom] = ACTIONS(3231),
    [sym__eq_eq_custom] = ACTIONS(3231),
    [sym__plus_then_ws] = ACTIONS(3231),
    [sym__minus_then_ws] = ACTIONS(3231),
    [sym__bang_custom] = ACTIONS(3231),
    [sym__as_custom] = ACTIONS(3231),
    [sym__as_quest_custom] = ACTIONS(3231),
    [sym__as_bang_custom] = ACTIONS(3231),
    [sym__custom_operator] = ACTIONS(3231),
  },
  [1808] = {
    [sym__arrow_operator] = STATE(4109),
    [sym__async_keyword] = STATE(6900),
    [sym_throws] = STATE(8382),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1945),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3067),
    [anon_sym_async] = ACTIONS(3067),
    [anon_sym_lazy] = ACTIONS(3067),
    [anon_sym_package] = ACTIONS(3067),
    [anon_sym_COMMA] = ACTIONS(3067),
    [anon_sym_BANG2] = ACTIONS(3067),
    [anon_sym_DOT] = ACTIONS(5262),
    [anon_sym_AMP] = ACTIONS(5264),
    [anon_sym_LBRACE] = ACTIONS(3067),
    [anon_sym_RBRACE] = ACTIONS(3067),
    [anon_sym_case] = ACTIONS(3067),
    [anon_sym_import] = ACTIONS(3067),
    [anon_sym_typealias] = ACTIONS(3067),
    [anon_sym_struct] = ACTIONS(3067),
    [anon_sym_class] = ACTIONS(3067),
    [anon_sym_enum] = ACTIONS(3067),
    [anon_sym_protocol] = ACTIONS(3067),
    [anon_sym_let] = ACTIONS(3067),
    [anon_sym_var] = ACTIONS(3067),
    [anon_sym_func] = ACTIONS(3067),
    [anon_sym_extension] = ACTIONS(3067),
    [anon_sym_indirect] = ACTIONS(3067),
    [anon_sym_init] = ACTIONS(3067),
    [anon_sym_deinit] = ACTIONS(3067),
    [anon_sym_subscript] = ACTIONS(3067),
    [anon_sym_prefix] = ACTIONS(3067),
    [anon_sym_infix] = ACTIONS(3067),
    [anon_sym_postfix] = ACTIONS(3067),
    [anon_sym_precedencegroup] = ACTIONS(3067),
    [anon_sym_associatedtype] = ACTIONS(3067),
    [anon_sym_AT] = ACTIONS(3065),
    [anon_sym_override] = ACTIONS(3067),
    [anon_sym_convenience] = ACTIONS(3067),
    [anon_sym_required] = ACTIONS(3067),
    [anon_sym_nonisolated] = ACTIONS(3067),
    [anon_sym_public] = ACTIONS(3067),
    [anon_sym_private] = ACTIONS(3067),
    [anon_sym_internal] = ACTIONS(3067),
    [anon_sym_fileprivate] = ACTIONS(3067),
    [anon_sym_open] = ACTIONS(3067),
    [anon_sym_mutating] = ACTIONS(3067),
    [anon_sym_nonmutating] = ACTIONS(3067),
    [anon_sym_static] = ACTIONS(3067),
    [anon_sym_dynamic] = ACTIONS(3067),
    [anon_sym_optional] = ACTIONS(3067),
    [anon_sym_distributed] = ACTIONS(3067),
    [anon_sym_final] = ACTIONS(3067),
    [anon_sym_inout] = ACTIONS(3067),
    [anon_sym_ATescaping] = ACTIONS(3067),
    [anon_sym_ATautoclosure] = ACTIONS(3067),
    [anon_sym_weak] = ACTIONS(3067),
    [anon_sym_unowned] = ACTIONS(3065),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3067),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3067),
    [anon_sym_borrowing] = ACTIONS(3067),
    [anon_sym_consuming] = ACTIONS(3067),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(5238),
    [sym__eq_custom] = ACTIONS(3067),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym__async_keyword_custom] = ACTIONS(5240),
  },
  [1809] = {
    [sym__arrow_operator] = STATE(4109),
    [sym__async_keyword] = STATE(6900),
    [sym_throws] = STATE(8382),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1945),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3071),
    [anon_sym_async] = ACTIONS(3071),
    [anon_sym_lazy] = ACTIONS(3071),
    [anon_sym_package] = ACTIONS(3071),
    [anon_sym_COMMA] = ACTIONS(3071),
    [anon_sym_BANG2] = ACTIONS(3071),
    [anon_sym_DOT] = ACTIONS(3071),
    [anon_sym_AMP] = ACTIONS(3071),
    [anon_sym_LBRACE] = ACTIONS(3071),
    [anon_sym_RBRACE] = ACTIONS(3071),
    [anon_sym_case] = ACTIONS(3071),
    [anon_sym_import] = ACTIONS(3071),
    [anon_sym_typealias] = ACTIONS(3071),
    [anon_sym_struct] = ACTIONS(3071),
    [anon_sym_class] = ACTIONS(3071),
    [anon_sym_enum] = ACTIONS(3071),
    [anon_sym_protocol] = ACTIONS(3071),
    [anon_sym_let] = ACTIONS(3071),
    [anon_sym_var] = ACTIONS(3071),
    [anon_sym_func] = ACTIONS(3071),
    [anon_sym_extension] = ACTIONS(3071),
    [anon_sym_indirect] = ACTIONS(3071),
    [anon_sym_init] = ACTIONS(3071),
    [anon_sym_deinit] = ACTIONS(3071),
    [anon_sym_subscript] = ACTIONS(3071),
    [anon_sym_prefix] = ACTIONS(3071),
    [anon_sym_infix] = ACTIONS(3071),
    [anon_sym_postfix] = ACTIONS(3071),
    [anon_sym_precedencegroup] = ACTIONS(3071),
    [anon_sym_associatedtype] = ACTIONS(3071),
    [anon_sym_AT] = ACTIONS(3069),
    [anon_sym_override] = ACTIONS(3071),
    [anon_sym_convenience] = ACTIONS(3071),
    [anon_sym_required] = ACTIONS(3071),
    [anon_sym_nonisolated] = ACTIONS(3071),
    [anon_sym_public] = ACTIONS(3071),
    [anon_sym_private] = ACTIONS(3071),
    [anon_sym_internal] = ACTIONS(3071),
    [anon_sym_fileprivate] = ACTIONS(3071),
    [anon_sym_open] = ACTIONS(3071),
    [anon_sym_mutating] = ACTIONS(3071),
    [anon_sym_nonmutating] = ACTIONS(3071),
    [anon_sym_static] = ACTIONS(3071),
    [anon_sym_dynamic] = ACTIONS(3071),
    [anon_sym_optional] = ACTIONS(3071),
    [anon_sym_distributed] = ACTIONS(3071),
    [anon_sym_final] = ACTIONS(3071),
    [anon_sym_inout] = ACTIONS(3071),
    [anon_sym_ATescaping] = ACTIONS(3071),
    [anon_sym_ATautoclosure] = ACTIONS(3071),
    [anon_sym_weak] = ACTIONS(3071),
    [anon_sym_unowned] = ACTIONS(3069),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3071),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3071),
    [anon_sym_borrowing] = ACTIONS(3071),
    [anon_sym_consuming] = ACTIONS(3071),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3071),
    [sym__eq_custom] = ACTIONS(3071),
    [sym__throws_keyword] = ACTIONS(3071),
    [sym__rethrows_keyword] = ACTIONS(3071),
    [sym__async_keyword_custom] = ACTIONS(3071),
  },
  [1810] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(2993),
    [anon_sym_async] = ACTIONS(2993),
    [anon_sym_lazy] = ACTIONS(2993),
    [anon_sym_package] = ACTIONS(2993),
    [anon_sym_RPAREN] = ACTIONS(2993),
    [anon_sym_COMMA] = ACTIONS(2993),
    [anon_sym_BANG2] = ACTIONS(2993),
    [anon_sym_DOT] = ACTIONS(2991),
    [anon_sym_QMARK2] = ACTIONS(2993),
    [anon_sym_AMP] = ACTIONS(2993),
    [anon_sym_LBRACE] = ACTIONS(2993),
    [anon_sym_RBRACE] = ACTIONS(2993),
    [anon_sym_case] = ACTIONS(2993),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2993),
    [anon_sym_import] = ACTIONS(2993),
    [anon_sym_typealias] = ACTIONS(2993),
    [anon_sym_struct] = ACTIONS(2993),
    [anon_sym_class] = ACTIONS(2993),
    [anon_sym_enum] = ACTIONS(2993),
    [anon_sym_protocol] = ACTIONS(2993),
    [anon_sym_let] = ACTIONS(2993),
    [anon_sym_var] = ACTIONS(2993),
    [anon_sym_func] = ACTIONS(2993),
    [anon_sym_extension] = ACTIONS(2993),
    [anon_sym_indirect] = ACTIONS(2993),
    [anon_sym_init] = ACTIONS(2993),
    [anon_sym_deinit] = ACTIONS(2993),
    [anon_sym_subscript] = ACTIONS(2993),
    [anon_sym_prefix] = ACTIONS(2993),
    [anon_sym_infix] = ACTIONS(2993),
    [anon_sym_postfix] = ACTIONS(2993),
    [anon_sym_precedencegroup] = ACTIONS(2993),
    [anon_sym_associatedtype] = ACTIONS(2993),
    [anon_sym_AT] = ACTIONS(2991),
    [anon_sym_override] = ACTIONS(2993),
    [anon_sym_convenience] = ACTIONS(2993),
    [anon_sym_required] = ACTIONS(2993),
    [anon_sym_nonisolated] = ACTIONS(2993),
    [anon_sym_public] = ACTIONS(2993),
    [anon_sym_private] = ACTIONS(2993),
    [anon_sym_internal] = ACTIONS(2993),
    [anon_sym_fileprivate] = ACTIONS(2993),
    [anon_sym_open] = ACTIONS(2993),
    [anon_sym_mutating] = ACTIONS(2993),
    [anon_sym_nonmutating] = ACTIONS(2993),
    [anon_sym_static] = ACTIONS(2993),
    [anon_sym_dynamic] = ACTIONS(2993),
    [anon_sym_optional] = ACTIONS(2993),
    [anon_sym_distributed] = ACTIONS(2993),
    [anon_sym_final] = ACTIONS(2993),
    [anon_sym_inout] = ACTIONS(2993),
    [anon_sym_ATescaping] = ACTIONS(2993),
    [anon_sym_ATautoclosure] = ACTIONS(2993),
    [anon_sym_weak] = ACTIONS(2993),
    [anon_sym_unowned] = ACTIONS(2991),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2993),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2993),
    [anon_sym_borrowing] = ACTIONS(2993),
    [anon_sym_consuming] = ACTIONS(2993),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(2993),
    [sym__dot_custom] = ACTIONS(2993),
    [sym__eq_custom] = ACTIONS(2993),
    [sym__throws_keyword] = ACTIONS(2993),
    [sym__rethrows_keyword] = ACTIONS(2993),
    [sym__async_keyword_custom] = ACTIONS(2993),
  },
  [1811] = {
    [ts_builtin_sym_end] = ACTIONS(3227),
    [anon_sym_BANG] = ACTIONS(3225),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3225),
    [aux_sym_simple_identifier_token2] = ACTIONS(3227),
    [aux_sym_simple_identifier_token3] = ACTIONS(3227),
    [aux_sym_simple_identifier_token4] = ACTIONS(3227),
    [anon_sym_actor] = ACTIONS(3225),
    [anon_sym_async] = ACTIONS(3225),
    [anon_sym_each] = ACTIONS(3225),
    [anon_sym_lazy] = ACTIONS(3225),
    [anon_sym_repeat] = ACTIONS(3225),
    [anon_sym_package] = ACTIONS(3225),
    [anon_sym_COMMA] = ACTIONS(3227),
    [anon_sym_LPAREN] = ACTIONS(3227),
    [anon_sym_LBRACK] = ACTIONS(3227),
    [anon_sym_QMARK] = ACTIONS(3225),
    [anon_sym_QMARK2] = ACTIONS(3227),
    [anon_sym_AMP] = ACTIONS(3227),
    [aux_sym_custom_operator_token1] = ACTIONS(3227),
    [anon_sym_LT] = ACTIONS(3225),
    [anon_sym_GT] = ACTIONS(3225),
    [anon_sym_LBRACE] = ACTIONS(3227),
    [anon_sym_CARET_LBRACE] = ACTIONS(3227),
    [anon_sym_RBRACE] = ACTIONS(3227),
    [anon_sym_PLUS_EQ] = ACTIONS(3227),
    [anon_sym_DASH_EQ] = ACTIONS(3227),
    [anon_sym_STAR_EQ] = ACTIONS(3227),
    [anon_sym_SLASH_EQ] = ACTIONS(3227),
    [anon_sym_PERCENT_EQ] = ACTIONS(3227),
    [anon_sym_BANG_EQ] = ACTIONS(3225),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3227),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3227),
    [anon_sym_LT_EQ] = ACTIONS(3227),
    [anon_sym_GT_EQ] = ACTIONS(3227),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3227),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3227),
    [anon_sym_is] = ACTIONS(3225),
    [anon_sym_PLUS] = ACTIONS(3225),
    [anon_sym_DASH] = ACTIONS(3225),
    [anon_sym_STAR] = ACTIONS(3225),
    [anon_sym_SLASH] = ACTIONS(3225),
    [anon_sym_PERCENT] = ACTIONS(3225),
    [anon_sym_PLUS_PLUS] = ACTIONS(3227),
    [anon_sym_DASH_DASH] = ACTIONS(3227),
    [anon_sym_PIPE] = ACTIONS(3227),
    [anon_sym_CARET] = ACTIONS(3225),
    [anon_sym_LT_LT] = ACTIONS(3227),
    [anon_sym_GT_GT] = ACTIONS(3227),
    [anon_sym_borrowing] = ACTIONS(3225),
    [anon_sym_consuming] = ACTIONS(3225),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3227),
    [sym__explicit_semi] = ACTIONS(3227),
    [sym__dot_custom] = ACTIONS(3227),
    [sym__conjunction_operator_custom] = ACTIONS(3227),
    [sym__disjunction_operator_custom] = ACTIONS(3227),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3227),
    [sym__eq_custom] = ACTIONS(3227),
    [sym__eq_eq_custom] = ACTIONS(3227),
    [sym__plus_then_ws] = ACTIONS(3227),
    [sym__minus_then_ws] = ACTIONS(3227),
    [sym__bang_custom] = ACTIONS(3227),
    [sym__as_custom] = ACTIONS(3227),
    [sym__as_quest_custom] = ACTIONS(3227),
    [sym__as_bang_custom] = ACTIONS(3227),
    [sym__custom_operator] = ACTIONS(3227),
  },
  [1812] = {
    [sym__dot] = STATE(5455),
    [aux_sym_user_type_repeat1] = STATE(1812),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(2993),
    [anon_sym_async] = ACTIONS(2993),
    [anon_sym_lazy] = ACTIONS(2993),
    [anon_sym_package] = ACTIONS(2993),
    [anon_sym_COMMA] = ACTIONS(2993),
    [anon_sym_BANG2] = ACTIONS(2993),
    [anon_sym_DOT] = ACTIONS(2993),
    [anon_sym_QMARK2] = ACTIONS(2993),
    [anon_sym_AMP] = ACTIONS(2993),
    [anon_sym_LBRACE] = ACTIONS(2993),
    [anon_sym_RBRACE] = ACTIONS(2993),
    [anon_sym_case] = ACTIONS(2993),
    [anon_sym_import] = ACTIONS(2993),
    [anon_sym_typealias] = ACTIONS(2993),
    [anon_sym_struct] = ACTIONS(2993),
    [anon_sym_class] = ACTIONS(2993),
    [anon_sym_enum] = ACTIONS(2993),
    [anon_sym_protocol] = ACTIONS(2993),
    [anon_sym_let] = ACTIONS(2993),
    [anon_sym_var] = ACTIONS(2993),
    [anon_sym_func] = ACTIONS(2993),
    [anon_sym_extension] = ACTIONS(2993),
    [anon_sym_indirect] = ACTIONS(2993),
    [anon_sym_init] = ACTIONS(2993),
    [anon_sym_deinit] = ACTIONS(2993),
    [anon_sym_subscript] = ACTIONS(2993),
    [anon_sym_prefix] = ACTIONS(2993),
    [anon_sym_infix] = ACTIONS(2993),
    [anon_sym_postfix] = ACTIONS(2993),
    [anon_sym_precedencegroup] = ACTIONS(2993),
    [anon_sym_associatedtype] = ACTIONS(2993),
    [anon_sym_AT] = ACTIONS(2991),
    [anon_sym_override] = ACTIONS(2993),
    [anon_sym_convenience] = ACTIONS(2993),
    [anon_sym_required] = ACTIONS(2993),
    [anon_sym_nonisolated] = ACTIONS(2993),
    [anon_sym_public] = ACTIONS(2993),
    [anon_sym_private] = ACTIONS(2993),
    [anon_sym_internal] = ACTIONS(2993),
    [anon_sym_fileprivate] = ACTIONS(2993),
    [anon_sym_open] = ACTIONS(2993),
    [anon_sym_mutating] = ACTIONS(2993),
    [anon_sym_nonmutating] = ACTIONS(2993),
    [anon_sym_static] = ACTIONS(2993),
    [anon_sym_dynamic] = ACTIONS(2993),
    [anon_sym_optional] = ACTIONS(2993),
    [anon_sym_distributed] = ACTIONS(2993),
    [anon_sym_final] = ACTIONS(2993),
    [anon_sym_inout] = ACTIONS(2993),
    [anon_sym_ATescaping] = ACTIONS(2993),
    [anon_sym_ATautoclosure] = ACTIONS(2993),
    [anon_sym_weak] = ACTIONS(2993),
    [anon_sym_unowned] = ACTIONS(2991),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2993),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2993),
    [anon_sym_borrowing] = ACTIONS(2993),
    [anon_sym_consuming] = ACTIONS(2993),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(2993),
    [sym__dot_custom] = ACTIONS(5285),
    [sym__eq_custom] = ACTIONS(2993),
    [sym__throws_keyword] = ACTIONS(2993),
    [sym__rethrows_keyword] = ACTIONS(2993),
    [sym__async_keyword_custom] = ACTIONS(2993),
  },
  [1813] = {
    [sym__arrow_operator] = STATE(4109),
    [sym__async_keyword] = STATE(6900),
    [sym_throws] = STATE(8382),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1945),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3063),
    [anon_sym_async] = ACTIONS(3063),
    [anon_sym_lazy] = ACTIONS(3063),
    [anon_sym_package] = ACTIONS(3063),
    [anon_sym_COMMA] = ACTIONS(3063),
    [anon_sym_BANG2] = ACTIONS(3063),
    [anon_sym_DOT] = ACTIONS(5262),
    [anon_sym_AMP] = ACTIONS(5264),
    [anon_sym_LBRACE] = ACTIONS(3063),
    [anon_sym_RBRACE] = ACTIONS(3063),
    [anon_sym_case] = ACTIONS(3063),
    [anon_sym_import] = ACTIONS(3063),
    [anon_sym_typealias] = ACTIONS(3063),
    [anon_sym_struct] = ACTIONS(3063),
    [anon_sym_class] = ACTIONS(3063),
    [anon_sym_enum] = ACTIONS(3063),
    [anon_sym_protocol] = ACTIONS(3063),
    [anon_sym_let] = ACTIONS(3063),
    [anon_sym_var] = ACTIONS(3063),
    [anon_sym_func] = ACTIONS(3063),
    [anon_sym_extension] = ACTIONS(3063),
    [anon_sym_indirect] = ACTIONS(3063),
    [anon_sym_init] = ACTIONS(3063),
    [anon_sym_deinit] = ACTIONS(3063),
    [anon_sym_subscript] = ACTIONS(3063),
    [anon_sym_prefix] = ACTIONS(3063),
    [anon_sym_infix] = ACTIONS(3063),
    [anon_sym_postfix] = ACTIONS(3063),
    [anon_sym_precedencegroup] = ACTIONS(3063),
    [anon_sym_associatedtype] = ACTIONS(3063),
    [anon_sym_AT] = ACTIONS(3061),
    [anon_sym_override] = ACTIONS(3063),
    [anon_sym_convenience] = ACTIONS(3063),
    [anon_sym_required] = ACTIONS(3063),
    [anon_sym_nonisolated] = ACTIONS(3063),
    [anon_sym_public] = ACTIONS(3063),
    [anon_sym_private] = ACTIONS(3063),
    [anon_sym_internal] = ACTIONS(3063),
    [anon_sym_fileprivate] = ACTIONS(3063),
    [anon_sym_open] = ACTIONS(3063),
    [anon_sym_mutating] = ACTIONS(3063),
    [anon_sym_nonmutating] = ACTIONS(3063),
    [anon_sym_static] = ACTIONS(3063),
    [anon_sym_dynamic] = ACTIONS(3063),
    [anon_sym_optional] = ACTIONS(3063),
    [anon_sym_distributed] = ACTIONS(3063),
    [anon_sym_final] = ACTIONS(3063),
    [anon_sym_inout] = ACTIONS(3063),
    [anon_sym_ATescaping] = ACTIONS(3063),
    [anon_sym_ATautoclosure] = ACTIONS(3063),
    [anon_sym_weak] = ACTIONS(3063),
    [anon_sym_unowned] = ACTIONS(3061),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3063),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3063),
    [anon_sym_borrowing] = ACTIONS(3063),
    [anon_sym_consuming] = ACTIONS(3063),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(5238),
    [sym__eq_custom] = ACTIONS(3063),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym__async_keyword_custom] = ACTIONS(5240),
  },
  [1814] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3093),
    [anon_sym_async] = ACTIONS(3093),
    [anon_sym_lazy] = ACTIONS(3093),
    [anon_sym_package] = ACTIONS(3093),
    [anon_sym_RPAREN] = ACTIONS(3093),
    [anon_sym_COMMA] = ACTIONS(3093),
    [anon_sym_BANG2] = ACTIONS(3093),
    [anon_sym_DOT] = ACTIONS(3091),
    [anon_sym_QMARK2] = ACTIONS(3093),
    [anon_sym_AMP] = ACTIONS(3093),
    [anon_sym_LBRACE] = ACTIONS(3093),
    [anon_sym_RBRACE] = ACTIONS(3093),
    [anon_sym_case] = ACTIONS(3093),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3093),
    [anon_sym_import] = ACTIONS(3093),
    [anon_sym_typealias] = ACTIONS(3093),
    [anon_sym_struct] = ACTIONS(3093),
    [anon_sym_class] = ACTIONS(3093),
    [anon_sym_enum] = ACTIONS(3093),
    [anon_sym_protocol] = ACTIONS(3093),
    [anon_sym_let] = ACTIONS(3093),
    [anon_sym_var] = ACTIONS(3093),
    [anon_sym_func] = ACTIONS(3093),
    [anon_sym_extension] = ACTIONS(3093),
    [anon_sym_indirect] = ACTIONS(3093),
    [anon_sym_init] = ACTIONS(3093),
    [anon_sym_deinit] = ACTIONS(3093),
    [anon_sym_subscript] = ACTIONS(3093),
    [anon_sym_prefix] = ACTIONS(3093),
    [anon_sym_infix] = ACTIONS(3093),
    [anon_sym_postfix] = ACTIONS(3093),
    [anon_sym_precedencegroup] = ACTIONS(3093),
    [anon_sym_associatedtype] = ACTIONS(3093),
    [anon_sym_AT] = ACTIONS(3091),
    [anon_sym_override] = ACTIONS(3093),
    [anon_sym_convenience] = ACTIONS(3093),
    [anon_sym_required] = ACTIONS(3093),
    [anon_sym_nonisolated] = ACTIONS(3093),
    [anon_sym_public] = ACTIONS(3093),
    [anon_sym_private] = ACTIONS(3093),
    [anon_sym_internal] = ACTIONS(3093),
    [anon_sym_fileprivate] = ACTIONS(3093),
    [anon_sym_open] = ACTIONS(3093),
    [anon_sym_mutating] = ACTIONS(3093),
    [anon_sym_nonmutating] = ACTIONS(3093),
    [anon_sym_static] = ACTIONS(3093),
    [anon_sym_dynamic] = ACTIONS(3093),
    [anon_sym_optional] = ACTIONS(3093),
    [anon_sym_distributed] = ACTIONS(3093),
    [anon_sym_final] = ACTIONS(3093),
    [anon_sym_inout] = ACTIONS(3093),
    [anon_sym_ATescaping] = ACTIONS(3093),
    [anon_sym_ATautoclosure] = ACTIONS(3093),
    [anon_sym_weak] = ACTIONS(3093),
    [anon_sym_unowned] = ACTIONS(3091),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3093),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3093),
    [anon_sym_borrowing] = ACTIONS(3093),
    [anon_sym_consuming] = ACTIONS(3093),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3093),
    [sym__eq_custom] = ACTIONS(3093),
    [sym__throws_keyword] = ACTIONS(3093),
    [sym__rethrows_keyword] = ACTIONS(3093),
    [sym__async_keyword_custom] = ACTIONS(3093),
  },
  [1815] = {
    [anon_sym_BANG] = ACTIONS(3213),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3213),
    [aux_sym_simple_identifier_token2] = ACTIONS(3215),
    [aux_sym_simple_identifier_token3] = ACTIONS(3215),
    [aux_sym_simple_identifier_token4] = ACTIONS(3215),
    [anon_sym_actor] = ACTIONS(3213),
    [anon_sym_async] = ACTIONS(3213),
    [anon_sym_each] = ACTIONS(3213),
    [anon_sym_lazy] = ACTIONS(3213),
    [anon_sym_repeat] = ACTIONS(3213),
    [anon_sym_package] = ACTIONS(3213),
    [anon_sym_COMMA] = ACTIONS(3215),
    [anon_sym_LPAREN] = ACTIONS(3215),
    [anon_sym_LBRACK] = ACTIONS(3215),
    [anon_sym_QMARK] = ACTIONS(3213),
    [anon_sym_QMARK2] = ACTIONS(3215),
    [anon_sym_AMP] = ACTIONS(3215),
    [aux_sym_custom_operator_token1] = ACTIONS(3215),
    [anon_sym_LT] = ACTIONS(3213),
    [anon_sym_GT] = ACTIONS(3213),
    [anon_sym_LBRACE] = ACTIONS(3215),
    [anon_sym_CARET_LBRACE] = ACTIONS(3215),
    [anon_sym_RBRACE] = ACTIONS(3215),
    [anon_sym_PLUS_EQ] = ACTIONS(3215),
    [anon_sym_DASH_EQ] = ACTIONS(3215),
    [anon_sym_STAR_EQ] = ACTIONS(3215),
    [anon_sym_SLASH_EQ] = ACTIONS(3215),
    [anon_sym_PERCENT_EQ] = ACTIONS(3215),
    [anon_sym_BANG_EQ] = ACTIONS(3213),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3215),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3215),
    [anon_sym_LT_EQ] = ACTIONS(3215),
    [anon_sym_GT_EQ] = ACTIONS(3215),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3215),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3215),
    [anon_sym_is] = ACTIONS(3213),
    [anon_sym_PLUS] = ACTIONS(3213),
    [anon_sym_DASH] = ACTIONS(3213),
    [anon_sym_STAR] = ACTIONS(3213),
    [anon_sym_SLASH] = ACTIONS(3213),
    [anon_sym_PERCENT] = ACTIONS(3213),
    [anon_sym_PLUS_PLUS] = ACTIONS(3215),
    [anon_sym_DASH_DASH] = ACTIONS(3215),
    [anon_sym_PIPE] = ACTIONS(3215),
    [anon_sym_CARET] = ACTIONS(3213),
    [anon_sym_LT_LT] = ACTIONS(3215),
    [anon_sym_GT_GT] = ACTIONS(3215),
    [anon_sym_borrowing] = ACTIONS(3213),
    [anon_sym_consuming] = ACTIONS(3213),
    [sym_multiline_comment] = ACTIONS(3215),
    [sym__implicit_semi] = ACTIONS(3215),
    [sym__explicit_semi] = ACTIONS(3215),
    [sym__dot_custom] = ACTIONS(3215),
    [sym__conjunction_operator_custom] = ACTIONS(3215),
    [sym__disjunction_operator_custom] = ACTIONS(3215),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3215),
    [sym__eq_custom] = ACTIONS(3215),
    [sym__eq_eq_custom] = ACTIONS(3215),
    [sym__plus_then_ws] = ACTIONS(3215),
    [sym__minus_then_ws] = ACTIONS(3215),
    [sym__bang_custom] = ACTIONS(3215),
    [sym__as_custom] = ACTIONS(3215),
    [sym__as_quest_custom] = ACTIONS(3215),
    [sym__as_bang_custom] = ACTIONS(3215),
    [sym__custom_operator] = ACTIONS(3215),
  },
  [1816] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3097),
    [anon_sym_async] = ACTIONS(3097),
    [anon_sym_lazy] = ACTIONS(3097),
    [anon_sym_package] = ACTIONS(3097),
    [anon_sym_COMMA] = ACTIONS(3097),
    [anon_sym_COLON] = ACTIONS(3097),
    [anon_sym_DOT] = ACTIONS(3097),
    [anon_sym_QMARK] = ACTIONS(3097),
    [anon_sym_AMP] = ACTIONS(3097),
    [anon_sym_LBRACE] = ACTIONS(3097),
    [anon_sym_RBRACE] = ACTIONS(3097),
    [anon_sym_case] = ACTIONS(3097),
    [anon_sym_import] = ACTIONS(3097),
    [anon_sym_typealias] = ACTIONS(3097),
    [anon_sym_struct] = ACTIONS(3097),
    [anon_sym_class] = ACTIONS(3097),
    [anon_sym_enum] = ACTIONS(3097),
    [anon_sym_protocol] = ACTIONS(3097),
    [anon_sym_let] = ACTIONS(3097),
    [anon_sym_var] = ACTIONS(3097),
    [anon_sym_func] = ACTIONS(3097),
    [anon_sym_extension] = ACTIONS(3097),
    [anon_sym_indirect] = ACTIONS(3097),
    [anon_sym_init] = ACTIONS(3097),
    [anon_sym_deinit] = ACTIONS(3097),
    [anon_sym_subscript] = ACTIONS(3097),
    [anon_sym_prefix] = ACTIONS(3097),
    [anon_sym_infix] = ACTIONS(3097),
    [anon_sym_postfix] = ACTIONS(3097),
    [anon_sym_precedencegroup] = ACTIONS(3097),
    [anon_sym_associatedtype] = ACTIONS(3097),
    [anon_sym_AT] = ACTIONS(3095),
    [anon_sym_override] = ACTIONS(3097),
    [anon_sym_convenience] = ACTIONS(3097),
    [anon_sym_required] = ACTIONS(3097),
    [anon_sym_nonisolated] = ACTIONS(3097),
    [anon_sym_public] = ACTIONS(3097),
    [anon_sym_private] = ACTIONS(3097),
    [anon_sym_internal] = ACTIONS(3097),
    [anon_sym_fileprivate] = ACTIONS(3097),
    [anon_sym_open] = ACTIONS(3097),
    [anon_sym_mutating] = ACTIONS(3097),
    [anon_sym_nonmutating] = ACTIONS(3097),
    [anon_sym_static] = ACTIONS(3097),
    [anon_sym_dynamic] = ACTIONS(3097),
    [anon_sym_optional] = ACTIONS(3097),
    [anon_sym_distributed] = ACTIONS(3097),
    [anon_sym_final] = ACTIONS(3097),
    [anon_sym_inout] = ACTIONS(3097),
    [anon_sym_ATescaping] = ACTIONS(3097),
    [anon_sym_ATautoclosure] = ACTIONS(3097),
    [anon_sym_weak] = ACTIONS(3097),
    [anon_sym_unowned] = ACTIONS(3095),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3097),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3097),
    [anon_sym_borrowing] = ACTIONS(3097),
    [anon_sym_consuming] = ACTIONS(3097),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3097),
    [sym__eq_custom] = ACTIONS(3097),
    [sym__throws_keyword] = ACTIONS(3097),
    [sym__rethrows_keyword] = ACTIONS(3097),
    [sym_where_keyword] = ACTIONS(3097),
    [sym__as_custom] = ACTIONS(3097),
    [sym__async_keyword_custom] = ACTIONS(3097),
  },
  [1817] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3151),
    [anon_sym_async] = ACTIONS(3151),
    [anon_sym_lazy] = ACTIONS(3151),
    [anon_sym_package] = ACTIONS(3151),
    [anon_sym_COMMA] = ACTIONS(3151),
    [anon_sym_COLON] = ACTIONS(3151),
    [anon_sym_DOT] = ACTIONS(3151),
    [anon_sym_QMARK] = ACTIONS(3151),
    [anon_sym_AMP] = ACTIONS(3151),
    [anon_sym_LBRACE] = ACTIONS(3151),
    [anon_sym_RBRACE] = ACTIONS(3151),
    [anon_sym_case] = ACTIONS(3151),
    [anon_sym_import] = ACTIONS(3151),
    [anon_sym_typealias] = ACTIONS(3151),
    [anon_sym_struct] = ACTIONS(3151),
    [anon_sym_class] = ACTIONS(3151),
    [anon_sym_enum] = ACTIONS(3151),
    [anon_sym_protocol] = ACTIONS(3151),
    [anon_sym_let] = ACTIONS(3151),
    [anon_sym_var] = ACTIONS(3151),
    [anon_sym_func] = ACTIONS(3151),
    [anon_sym_extension] = ACTIONS(3151),
    [anon_sym_indirect] = ACTIONS(3151),
    [anon_sym_init] = ACTIONS(3151),
    [anon_sym_deinit] = ACTIONS(3151),
    [anon_sym_subscript] = ACTIONS(3151),
    [anon_sym_prefix] = ACTIONS(3151),
    [anon_sym_infix] = ACTIONS(3151),
    [anon_sym_postfix] = ACTIONS(3151),
    [anon_sym_precedencegroup] = ACTIONS(3151),
    [anon_sym_associatedtype] = ACTIONS(3151),
    [anon_sym_AT] = ACTIONS(3149),
    [anon_sym_override] = ACTIONS(3151),
    [anon_sym_convenience] = ACTIONS(3151),
    [anon_sym_required] = ACTIONS(3151),
    [anon_sym_nonisolated] = ACTIONS(3151),
    [anon_sym_public] = ACTIONS(3151),
    [anon_sym_private] = ACTIONS(3151),
    [anon_sym_internal] = ACTIONS(3151),
    [anon_sym_fileprivate] = ACTIONS(3151),
    [anon_sym_open] = ACTIONS(3151),
    [anon_sym_mutating] = ACTIONS(3151),
    [anon_sym_nonmutating] = ACTIONS(3151),
    [anon_sym_static] = ACTIONS(3151),
    [anon_sym_dynamic] = ACTIONS(3151),
    [anon_sym_optional] = ACTIONS(3151),
    [anon_sym_distributed] = ACTIONS(3151),
    [anon_sym_final] = ACTIONS(3151),
    [anon_sym_inout] = ACTIONS(3151),
    [anon_sym_ATescaping] = ACTIONS(3151),
    [anon_sym_ATautoclosure] = ACTIONS(3151),
    [anon_sym_weak] = ACTIONS(3151),
    [anon_sym_unowned] = ACTIONS(3149),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3151),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3151),
    [anon_sym_borrowing] = ACTIONS(3151),
    [anon_sym_consuming] = ACTIONS(3151),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3151),
    [sym__eq_custom] = ACTIONS(3151),
    [sym__throws_keyword] = ACTIONS(3151),
    [sym__rethrows_keyword] = ACTIONS(3151),
    [sym_where_keyword] = ACTIONS(3151),
    [sym__as_custom] = ACTIONS(3151),
    [sym__async_keyword_custom] = ACTIONS(3151),
  },
  [1818] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3159),
    [anon_sym_async] = ACTIONS(3159),
    [anon_sym_lazy] = ACTIONS(3159),
    [anon_sym_package] = ACTIONS(3159),
    [anon_sym_RPAREN] = ACTIONS(3159),
    [anon_sym_COMMA] = ACTIONS(3159),
    [anon_sym_BANG2] = ACTIONS(3159),
    [anon_sym_DOT] = ACTIONS(3157),
    [anon_sym_QMARK2] = ACTIONS(3159),
    [anon_sym_AMP] = ACTIONS(3159),
    [anon_sym_LBRACE] = ACTIONS(3159),
    [anon_sym_RBRACE] = ACTIONS(3159),
    [anon_sym_case] = ACTIONS(3159),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3159),
    [anon_sym_import] = ACTIONS(3159),
    [anon_sym_typealias] = ACTIONS(3159),
    [anon_sym_struct] = ACTIONS(3159),
    [anon_sym_class] = ACTIONS(3159),
    [anon_sym_enum] = ACTIONS(3159),
    [anon_sym_protocol] = ACTIONS(3159),
    [anon_sym_let] = ACTIONS(3159),
    [anon_sym_var] = ACTIONS(3159),
    [anon_sym_func] = ACTIONS(3159),
    [anon_sym_extension] = ACTIONS(3159),
    [anon_sym_indirect] = ACTIONS(3159),
    [anon_sym_init] = ACTIONS(3159),
    [anon_sym_deinit] = ACTIONS(3159),
    [anon_sym_subscript] = ACTIONS(3159),
    [anon_sym_prefix] = ACTIONS(3159),
    [anon_sym_infix] = ACTIONS(3159),
    [anon_sym_postfix] = ACTIONS(3159),
    [anon_sym_precedencegroup] = ACTIONS(3159),
    [anon_sym_associatedtype] = ACTIONS(3159),
    [anon_sym_AT] = ACTIONS(3157),
    [anon_sym_override] = ACTIONS(3159),
    [anon_sym_convenience] = ACTIONS(3159),
    [anon_sym_required] = ACTIONS(3159),
    [anon_sym_nonisolated] = ACTIONS(3159),
    [anon_sym_public] = ACTIONS(3159),
    [anon_sym_private] = ACTIONS(3159),
    [anon_sym_internal] = ACTIONS(3159),
    [anon_sym_fileprivate] = ACTIONS(3159),
    [anon_sym_open] = ACTIONS(3159),
    [anon_sym_mutating] = ACTIONS(3159),
    [anon_sym_nonmutating] = ACTIONS(3159),
    [anon_sym_static] = ACTIONS(3159),
    [anon_sym_dynamic] = ACTIONS(3159),
    [anon_sym_optional] = ACTIONS(3159),
    [anon_sym_distributed] = ACTIONS(3159),
    [anon_sym_final] = ACTIONS(3159),
    [anon_sym_inout] = ACTIONS(3159),
    [anon_sym_ATescaping] = ACTIONS(3159),
    [anon_sym_ATautoclosure] = ACTIONS(3159),
    [anon_sym_weak] = ACTIONS(3159),
    [anon_sym_unowned] = ACTIONS(3157),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3159),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3159),
    [anon_sym_borrowing] = ACTIONS(3159),
    [anon_sym_consuming] = ACTIONS(3159),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3159),
    [sym__eq_custom] = ACTIONS(3159),
    [sym__throws_keyword] = ACTIONS(3159),
    [sym__rethrows_keyword] = ACTIONS(3159),
    [sym__async_keyword_custom] = ACTIONS(3159),
  },
  [1819] = {
    [sym__arrow_operator] = STATE(4140),
    [sym__async_keyword] = STATE(6948),
    [sym_throws] = STATE(8504),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1965),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3089),
    [anon_sym_async] = ACTIONS(3089),
    [anon_sym_lazy] = ACTIONS(3089),
    [anon_sym_package] = ACTIONS(3089),
    [anon_sym_COMMA] = ACTIONS(3089),
    [anon_sym_BANG2] = ACTIONS(3089),
    [anon_sym_DOT] = ACTIONS(3089),
    [anon_sym_AMP] = ACTIONS(3089),
    [anon_sym_LBRACE] = ACTIONS(3089),
    [anon_sym_RBRACE] = ACTIONS(3089),
    [anon_sym_case] = ACTIONS(3089),
    [anon_sym_import] = ACTIONS(3089),
    [anon_sym_typealias] = ACTIONS(3089),
    [anon_sym_struct] = ACTIONS(3089),
    [anon_sym_class] = ACTIONS(3089),
    [anon_sym_enum] = ACTIONS(3089),
    [anon_sym_protocol] = ACTIONS(3089),
    [anon_sym_let] = ACTIONS(3089),
    [anon_sym_var] = ACTIONS(3089),
    [anon_sym_func] = ACTIONS(3089),
    [anon_sym_extension] = ACTIONS(3089),
    [anon_sym_indirect] = ACTIONS(3089),
    [anon_sym_init] = ACTIONS(3089),
    [anon_sym_deinit] = ACTIONS(3089),
    [anon_sym_subscript] = ACTIONS(3089),
    [anon_sym_prefix] = ACTIONS(3089),
    [anon_sym_infix] = ACTIONS(3089),
    [anon_sym_postfix] = ACTIONS(3089),
    [anon_sym_precedencegroup] = ACTIONS(3089),
    [anon_sym_associatedtype] = ACTIONS(3089),
    [anon_sym_AT] = ACTIONS(3087),
    [anon_sym_override] = ACTIONS(3089),
    [anon_sym_convenience] = ACTIONS(3089),
    [anon_sym_required] = ACTIONS(3089),
    [anon_sym_nonisolated] = ACTIONS(3089),
    [anon_sym_public] = ACTIONS(3089),
    [anon_sym_private] = ACTIONS(3089),
    [anon_sym_internal] = ACTIONS(3089),
    [anon_sym_fileprivate] = ACTIONS(3089),
    [anon_sym_open] = ACTIONS(3089),
    [anon_sym_mutating] = ACTIONS(3089),
    [anon_sym_nonmutating] = ACTIONS(3089),
    [anon_sym_static] = ACTIONS(3089),
    [anon_sym_dynamic] = ACTIONS(3089),
    [anon_sym_optional] = ACTIONS(3089),
    [anon_sym_distributed] = ACTIONS(3089),
    [anon_sym_final] = ACTIONS(3089),
    [anon_sym_inout] = ACTIONS(3089),
    [anon_sym_ATescaping] = ACTIONS(3089),
    [anon_sym_ATautoclosure] = ACTIONS(3089),
    [anon_sym_weak] = ACTIONS(3089),
    [anon_sym_unowned] = ACTIONS(3087),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3089),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3089),
    [anon_sym_borrowing] = ACTIONS(3089),
    [anon_sym_consuming] = ACTIONS(3089),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3089),
    [sym__throws_keyword] = ACTIONS(3089),
    [sym__rethrows_keyword] = ACTIONS(3089),
    [sym__async_keyword_custom] = ACTIONS(3089),
  },
  [1820] = {
    [anon_sym_BANG] = ACTIONS(3219),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3219),
    [aux_sym_simple_identifier_token2] = ACTIONS(3221),
    [aux_sym_simple_identifier_token3] = ACTIONS(3221),
    [aux_sym_simple_identifier_token4] = ACTIONS(3221),
    [anon_sym_actor] = ACTIONS(3219),
    [anon_sym_async] = ACTIONS(3219),
    [anon_sym_each] = ACTIONS(3219),
    [anon_sym_lazy] = ACTIONS(3219),
    [anon_sym_repeat] = ACTIONS(3219),
    [anon_sym_package] = ACTIONS(3219),
    [anon_sym_RPAREN] = ACTIONS(3221),
    [anon_sym_COMMA] = ACTIONS(3221),
    [anon_sym_COLON] = ACTIONS(3221),
    [anon_sym_LPAREN] = ACTIONS(3221),
    [anon_sym_LBRACK] = ACTIONS(3221),
    [anon_sym_RBRACK] = ACTIONS(3221),
    [anon_sym_QMARK] = ACTIONS(3219),
    [anon_sym_QMARK2] = ACTIONS(3221),
    [anon_sym_AMP] = ACTIONS(3221),
    [aux_sym_custom_operator_token1] = ACTIONS(3221),
    [anon_sym_LT] = ACTIONS(3219),
    [anon_sym_GT] = ACTIONS(3219),
    [anon_sym_LBRACE] = ACTIONS(3221),
    [anon_sym_CARET_LBRACE] = ACTIONS(3221),
    [anon_sym_PLUS_EQ] = ACTIONS(3221),
    [anon_sym_DASH_EQ] = ACTIONS(3221),
    [anon_sym_STAR_EQ] = ACTIONS(3221),
    [anon_sym_SLASH_EQ] = ACTIONS(3221),
    [anon_sym_PERCENT_EQ] = ACTIONS(3221),
    [anon_sym_BANG_EQ] = ACTIONS(3219),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3221),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3221),
    [anon_sym_LT_EQ] = ACTIONS(3221),
    [anon_sym_GT_EQ] = ACTIONS(3221),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3221),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3221),
    [anon_sym_is] = ACTIONS(3219),
    [anon_sym_PLUS] = ACTIONS(3219),
    [anon_sym_DASH] = ACTIONS(3219),
    [anon_sym_STAR] = ACTIONS(3219),
    [anon_sym_SLASH] = ACTIONS(3219),
    [anon_sym_PERCENT] = ACTIONS(3219),
    [anon_sym_PLUS_PLUS] = ACTIONS(3221),
    [anon_sym_DASH_DASH] = ACTIONS(3221),
    [anon_sym_PIPE] = ACTIONS(3221),
    [anon_sym_CARET] = ACTIONS(3219),
    [anon_sym_LT_LT] = ACTIONS(3221),
    [anon_sym_GT_GT] = ACTIONS(3221),
    [anon_sym_borrowing] = ACTIONS(3219),
    [anon_sym_consuming] = ACTIONS(3219),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3221),
    [sym__conjunction_operator_custom] = ACTIONS(3221),
    [sym__disjunction_operator_custom] = ACTIONS(3221),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3221),
    [sym__eq_custom] = ACTIONS(3221),
    [sym__eq_eq_custom] = ACTIONS(3221),
    [sym__plus_then_ws] = ACTIONS(3221),
    [sym__minus_then_ws] = ACTIONS(3221),
    [sym__bang_custom] = ACTIONS(3221),
    [sym__as_custom] = ACTIONS(3221),
    [sym__as_quest_custom] = ACTIONS(3221),
    [sym__as_bang_custom] = ACTIONS(3221),
    [sym__custom_operator] = ACTIONS(3221),
  },
  [1821] = {
    [sym__arrow_operator] = STATE(4140),
    [sym__async_keyword] = STATE(6948),
    [sym_throws] = STATE(8504),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1965),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3079),
    [anon_sym_async] = ACTIONS(3079),
    [anon_sym_lazy] = ACTIONS(3079),
    [anon_sym_package] = ACTIONS(3079),
    [anon_sym_COMMA] = ACTIONS(3079),
    [anon_sym_BANG2] = ACTIONS(3079),
    [anon_sym_DOT] = ACTIONS(5288),
    [anon_sym_AMP] = ACTIONS(5290),
    [anon_sym_LBRACE] = ACTIONS(3079),
    [anon_sym_RBRACE] = ACTIONS(3079),
    [anon_sym_case] = ACTIONS(3079),
    [anon_sym_import] = ACTIONS(3079),
    [anon_sym_typealias] = ACTIONS(3079),
    [anon_sym_struct] = ACTIONS(3079),
    [anon_sym_class] = ACTIONS(3079),
    [anon_sym_enum] = ACTIONS(3079),
    [anon_sym_protocol] = ACTIONS(3079),
    [anon_sym_let] = ACTIONS(3079),
    [anon_sym_var] = ACTIONS(3079),
    [anon_sym_func] = ACTIONS(3079),
    [anon_sym_extension] = ACTIONS(3079),
    [anon_sym_indirect] = ACTIONS(3079),
    [anon_sym_init] = ACTIONS(3079),
    [anon_sym_deinit] = ACTIONS(3079),
    [anon_sym_subscript] = ACTIONS(3079),
    [anon_sym_prefix] = ACTIONS(3079),
    [anon_sym_infix] = ACTIONS(3079),
    [anon_sym_postfix] = ACTIONS(3079),
    [anon_sym_precedencegroup] = ACTIONS(3079),
    [anon_sym_associatedtype] = ACTIONS(3079),
    [anon_sym_AT] = ACTIONS(3077),
    [anon_sym_override] = ACTIONS(3079),
    [anon_sym_convenience] = ACTIONS(3079),
    [anon_sym_required] = ACTIONS(3079),
    [anon_sym_nonisolated] = ACTIONS(3079),
    [anon_sym_public] = ACTIONS(3079),
    [anon_sym_private] = ACTIONS(3079),
    [anon_sym_internal] = ACTIONS(3079),
    [anon_sym_fileprivate] = ACTIONS(3079),
    [anon_sym_open] = ACTIONS(3079),
    [anon_sym_mutating] = ACTIONS(3079),
    [anon_sym_nonmutating] = ACTIONS(3079),
    [anon_sym_static] = ACTIONS(3079),
    [anon_sym_dynamic] = ACTIONS(3079),
    [anon_sym_optional] = ACTIONS(3079),
    [anon_sym_distributed] = ACTIONS(3079),
    [anon_sym_final] = ACTIONS(3079),
    [anon_sym_inout] = ACTIONS(3079),
    [anon_sym_ATescaping] = ACTIONS(3079),
    [anon_sym_ATautoclosure] = ACTIONS(3079),
    [anon_sym_weak] = ACTIONS(3079),
    [anon_sym_unowned] = ACTIONS(3077),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3079),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3079),
    [anon_sym_borrowing] = ACTIONS(3079),
    [anon_sym_consuming] = ACTIONS(3079),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(5244),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym__async_keyword_custom] = ACTIONS(5246),
  },
  [1822] = {
    [sym__arrow_operator] = STATE(4140),
    [sym__async_keyword] = STATE(6948),
    [sym_throws] = STATE(8504),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1965),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3055),
    [anon_sym_async] = ACTIONS(3055),
    [anon_sym_lazy] = ACTIONS(3055),
    [anon_sym_package] = ACTIONS(3055),
    [anon_sym_COMMA] = ACTIONS(3055),
    [anon_sym_BANG2] = ACTIONS(3055),
    [anon_sym_DOT] = ACTIONS(5288),
    [anon_sym_AMP] = ACTIONS(5290),
    [anon_sym_LBRACE] = ACTIONS(3055),
    [anon_sym_RBRACE] = ACTIONS(3055),
    [anon_sym_case] = ACTIONS(3055),
    [anon_sym_import] = ACTIONS(3055),
    [anon_sym_typealias] = ACTIONS(3055),
    [anon_sym_struct] = ACTIONS(3055),
    [anon_sym_class] = ACTIONS(3055),
    [anon_sym_enum] = ACTIONS(3055),
    [anon_sym_protocol] = ACTIONS(3055),
    [anon_sym_let] = ACTIONS(3055),
    [anon_sym_var] = ACTIONS(3055),
    [anon_sym_func] = ACTIONS(3055),
    [anon_sym_extension] = ACTIONS(3055),
    [anon_sym_indirect] = ACTIONS(3055),
    [anon_sym_init] = ACTIONS(3055),
    [anon_sym_deinit] = ACTIONS(3055),
    [anon_sym_subscript] = ACTIONS(3055),
    [anon_sym_prefix] = ACTIONS(3055),
    [anon_sym_infix] = ACTIONS(3055),
    [anon_sym_postfix] = ACTIONS(3055),
    [anon_sym_precedencegroup] = ACTIONS(3055),
    [anon_sym_associatedtype] = ACTIONS(3055),
    [anon_sym_AT] = ACTIONS(3053),
    [anon_sym_override] = ACTIONS(3055),
    [anon_sym_convenience] = ACTIONS(3055),
    [anon_sym_required] = ACTIONS(3055),
    [anon_sym_nonisolated] = ACTIONS(3055),
    [anon_sym_public] = ACTIONS(3055),
    [anon_sym_private] = ACTIONS(3055),
    [anon_sym_internal] = ACTIONS(3055),
    [anon_sym_fileprivate] = ACTIONS(3055),
    [anon_sym_open] = ACTIONS(3055),
    [anon_sym_mutating] = ACTIONS(3055),
    [anon_sym_nonmutating] = ACTIONS(3055),
    [anon_sym_static] = ACTIONS(3055),
    [anon_sym_dynamic] = ACTIONS(3055),
    [anon_sym_optional] = ACTIONS(3055),
    [anon_sym_distributed] = ACTIONS(3055),
    [anon_sym_final] = ACTIONS(3055),
    [anon_sym_inout] = ACTIONS(3055),
    [anon_sym_ATescaping] = ACTIONS(3055),
    [anon_sym_ATautoclosure] = ACTIONS(3055),
    [anon_sym_weak] = ACTIONS(3055),
    [anon_sym_unowned] = ACTIONS(3053),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3055),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3055),
    [anon_sym_borrowing] = ACTIONS(3055),
    [anon_sym_consuming] = ACTIONS(3055),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(5244),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym__async_keyword_custom] = ACTIONS(5246),
  },
  [1823] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3192),
    [anon_sym_async] = ACTIONS(3192),
    [anon_sym_lazy] = ACTIONS(3192),
    [anon_sym_package] = ACTIONS(3192),
    [anon_sym_RPAREN] = ACTIONS(3192),
    [anon_sym_COMMA] = ACTIONS(3192),
    [anon_sym_BANG2] = ACTIONS(3192),
    [anon_sym_DOT] = ACTIONS(3190),
    [anon_sym_QMARK2] = ACTIONS(3192),
    [anon_sym_AMP] = ACTIONS(3192),
    [anon_sym_LBRACE] = ACTIONS(3192),
    [anon_sym_RBRACE] = ACTIONS(3192),
    [anon_sym_case] = ACTIONS(3192),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3192),
    [anon_sym_import] = ACTIONS(3192),
    [anon_sym_typealias] = ACTIONS(3192),
    [anon_sym_struct] = ACTIONS(3192),
    [anon_sym_class] = ACTIONS(3192),
    [anon_sym_enum] = ACTIONS(3192),
    [anon_sym_protocol] = ACTIONS(3192),
    [anon_sym_let] = ACTIONS(3192),
    [anon_sym_var] = ACTIONS(3192),
    [anon_sym_func] = ACTIONS(3192),
    [anon_sym_extension] = ACTIONS(3192),
    [anon_sym_indirect] = ACTIONS(3192),
    [anon_sym_init] = ACTIONS(3192),
    [anon_sym_deinit] = ACTIONS(3192),
    [anon_sym_subscript] = ACTIONS(3192),
    [anon_sym_prefix] = ACTIONS(3192),
    [anon_sym_infix] = ACTIONS(3192),
    [anon_sym_postfix] = ACTIONS(3192),
    [anon_sym_precedencegroup] = ACTIONS(3192),
    [anon_sym_associatedtype] = ACTIONS(3192),
    [anon_sym_AT] = ACTIONS(3190),
    [anon_sym_override] = ACTIONS(3192),
    [anon_sym_convenience] = ACTIONS(3192),
    [anon_sym_required] = ACTIONS(3192),
    [anon_sym_nonisolated] = ACTIONS(3192),
    [anon_sym_public] = ACTIONS(3192),
    [anon_sym_private] = ACTIONS(3192),
    [anon_sym_internal] = ACTIONS(3192),
    [anon_sym_fileprivate] = ACTIONS(3192),
    [anon_sym_open] = ACTIONS(3192),
    [anon_sym_mutating] = ACTIONS(3192),
    [anon_sym_nonmutating] = ACTIONS(3192),
    [anon_sym_static] = ACTIONS(3192),
    [anon_sym_dynamic] = ACTIONS(3192),
    [anon_sym_optional] = ACTIONS(3192),
    [anon_sym_distributed] = ACTIONS(3192),
    [anon_sym_final] = ACTIONS(3192),
    [anon_sym_inout] = ACTIONS(3192),
    [anon_sym_ATescaping] = ACTIONS(3192),
    [anon_sym_ATautoclosure] = ACTIONS(3192),
    [anon_sym_weak] = ACTIONS(3192),
    [anon_sym_unowned] = ACTIONS(3190),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3192),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3192),
    [anon_sym_borrowing] = ACTIONS(3192),
    [anon_sym_consuming] = ACTIONS(3192),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3192),
    [sym__eq_custom] = ACTIONS(3192),
    [sym__throws_keyword] = ACTIONS(3192),
    [sym__rethrows_keyword] = ACTIONS(3192),
    [sym__async_keyword_custom] = ACTIONS(3192),
  },
  [1824] = {
    [sym__immediate_quest] = STATE(1964),
    [sym__arrow_operator] = STATE(4294),
    [sym__async_keyword] = STATE(6932),
    [sym_throws] = STATE(8479),
    [aux_sym_optional_type_repeat1] = STATE(1964),
    [ts_builtin_sym_end] = ACTIONS(3000),
    [anon_sym_BANG] = ACTIONS(2998),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(3000),
    [anon_sym_LPAREN] = ACTIONS(3000),
    [anon_sym_LBRACK] = ACTIONS(3000),
    [anon_sym_DOT] = ACTIONS(2998),
    [anon_sym_QMARK] = ACTIONS(2998),
    [anon_sym_QMARK2] = ACTIONS(5292),
    [anon_sym_AMP] = ACTIONS(3000),
    [aux_sym_custom_operator_token1] = ACTIONS(3000),
    [anon_sym_LT] = ACTIONS(2998),
    [anon_sym_GT] = ACTIONS(2998),
    [anon_sym_LBRACE] = ACTIONS(3000),
    [anon_sym_CARET_LBRACE] = ACTIONS(3000),
    [anon_sym_RBRACE] = ACTIONS(3000),
    [anon_sym_PLUS_EQ] = ACTIONS(3000),
    [anon_sym_DASH_EQ] = ACTIONS(3000),
    [anon_sym_STAR_EQ] = ACTIONS(3000),
    [anon_sym_SLASH_EQ] = ACTIONS(3000),
    [anon_sym_PERCENT_EQ] = ACTIONS(3000),
    [anon_sym_BANG_EQ] = ACTIONS(2998),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3000),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3000),
    [anon_sym_LT_EQ] = ACTIONS(3000),
    [anon_sym_GT_EQ] = ACTIONS(3000),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3000),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3000),
    [anon_sym_is] = ACTIONS(3000),
    [anon_sym_PLUS] = ACTIONS(2998),
    [anon_sym_DASH] = ACTIONS(2998),
    [anon_sym_STAR] = ACTIONS(2998),
    [anon_sym_SLASH] = ACTIONS(2998),
    [anon_sym_PERCENT] = ACTIONS(2998),
    [anon_sym_PLUS_PLUS] = ACTIONS(3000),
    [anon_sym_DASH_DASH] = ACTIONS(3000),
    [anon_sym_PIPE] = ACTIONS(3000),
    [anon_sym_CARET] = ACTIONS(2998),
    [anon_sym_LT_LT] = ACTIONS(3000),
    [anon_sym_GT_GT] = ACTIONS(3000),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3000),
    [sym__explicit_semi] = ACTIONS(3000),
    [sym__arrow_operator_custom] = ACTIONS(5294),
    [sym__dot_custom] = ACTIONS(3000),
    [sym__conjunction_operator_custom] = ACTIONS(3000),
    [sym__disjunction_operator_custom] = ACTIONS(3000),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3000),
    [sym__eq_custom] = ACTIONS(3000),
    [sym__eq_eq_custom] = ACTIONS(3000),
    [sym__plus_then_ws] = ACTIONS(3000),
    [sym__minus_then_ws] = ACTIONS(3000),
    [sym__bang_custom] = ACTIONS(3000),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym_where_keyword] = ACTIONS(3000),
    [sym__as_custom] = ACTIONS(3000),
    [sym__as_quest_custom] = ACTIONS(3000),
    [sym__as_bang_custom] = ACTIONS(3000),
    [sym__async_keyword_custom] = ACTIONS(5296),
    [sym__custom_operator] = ACTIONS(3000),
  },
  [1825] = {
    [anon_sym_BANG] = ACTIONS(3217),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3219),
    [aux_sym_simple_identifier_token2] = ACTIONS(3221),
    [aux_sym_simple_identifier_token3] = ACTIONS(3221),
    [aux_sym_simple_identifier_token4] = ACTIONS(3221),
    [anon_sym_actor] = ACTIONS(3219),
    [anon_sym_async] = ACTIONS(3219),
    [anon_sym_each] = ACTIONS(3219),
    [anon_sym_lazy] = ACTIONS(3219),
    [anon_sym_repeat] = ACTIONS(3219),
    [anon_sym_package] = ACTIONS(3219),
    [anon_sym_RPAREN] = ACTIONS(3223),
    [anon_sym_COMMA] = ACTIONS(3223),
    [anon_sym_COLON] = ACTIONS(3223),
    [anon_sym_LPAREN] = ACTIONS(3223),
    [anon_sym_LBRACK] = ACTIONS(3223),
    [anon_sym_RBRACK] = ACTIONS(3223),
    [anon_sym_QMARK] = ACTIONS(3217),
    [anon_sym_QMARK2] = ACTIONS(3223),
    [anon_sym_AMP] = ACTIONS(3223),
    [aux_sym_custom_operator_token1] = ACTIONS(3223),
    [anon_sym_LT] = ACTIONS(3217),
    [anon_sym_GT] = ACTIONS(3217),
    [anon_sym_LBRACE] = ACTIONS(3223),
    [anon_sym_CARET_LBRACE] = ACTIONS(3223),
    [anon_sym_PLUS_EQ] = ACTIONS(3223),
    [anon_sym_DASH_EQ] = ACTIONS(3223),
    [anon_sym_STAR_EQ] = ACTIONS(3223),
    [anon_sym_SLASH_EQ] = ACTIONS(3223),
    [anon_sym_PERCENT_EQ] = ACTIONS(3223),
    [anon_sym_BANG_EQ] = ACTIONS(3217),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3223),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3223),
    [anon_sym_LT_EQ] = ACTIONS(3223),
    [anon_sym_GT_EQ] = ACTIONS(3223),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3223),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3223),
    [anon_sym_is] = ACTIONS(3217),
    [anon_sym_PLUS] = ACTIONS(3217),
    [anon_sym_DASH] = ACTIONS(3217),
    [anon_sym_STAR] = ACTIONS(3217),
    [anon_sym_SLASH] = ACTIONS(3217),
    [anon_sym_PERCENT] = ACTIONS(3217),
    [anon_sym_PLUS_PLUS] = ACTIONS(3223),
    [anon_sym_DASH_DASH] = ACTIONS(3223),
    [anon_sym_PIPE] = ACTIONS(3223),
    [anon_sym_CARET] = ACTIONS(3217),
    [anon_sym_LT_LT] = ACTIONS(3223),
    [anon_sym_GT_GT] = ACTIONS(3223),
    [anon_sym_borrowing] = ACTIONS(3219),
    [anon_sym_consuming] = ACTIONS(3219),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3223),
    [sym__conjunction_operator_custom] = ACTIONS(3223),
    [sym__disjunction_operator_custom] = ACTIONS(3223),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3223),
    [sym__eq_custom] = ACTIONS(3223),
    [sym__eq_eq_custom] = ACTIONS(3223),
    [sym__plus_then_ws] = ACTIONS(3223),
    [sym__minus_then_ws] = ACTIONS(3223),
    [sym__bang_custom] = ACTIONS(3223),
    [sym__as_custom] = ACTIONS(3223),
    [sym__as_quest_custom] = ACTIONS(3223),
    [sym__as_bang_custom] = ACTIONS(3223),
    [sym__custom_operator] = ACTIONS(3223),
  },
  [1826] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3139),
    [anon_sym_async] = ACTIONS(3139),
    [anon_sym_lazy] = ACTIONS(3139),
    [anon_sym_package] = ACTIONS(3139),
    [anon_sym_COMMA] = ACTIONS(3139),
    [anon_sym_COLON] = ACTIONS(3139),
    [anon_sym_DOT] = ACTIONS(3139),
    [anon_sym_QMARK] = ACTIONS(3139),
    [anon_sym_AMP] = ACTIONS(3139),
    [anon_sym_LBRACE] = ACTIONS(3139),
    [anon_sym_RBRACE] = ACTIONS(3139),
    [anon_sym_case] = ACTIONS(3139),
    [anon_sym_import] = ACTIONS(3139),
    [anon_sym_typealias] = ACTIONS(3139),
    [anon_sym_struct] = ACTIONS(3139),
    [anon_sym_class] = ACTIONS(3139),
    [anon_sym_enum] = ACTIONS(3139),
    [anon_sym_protocol] = ACTIONS(3139),
    [anon_sym_let] = ACTIONS(3139),
    [anon_sym_var] = ACTIONS(3139),
    [anon_sym_func] = ACTIONS(3139),
    [anon_sym_extension] = ACTIONS(3139),
    [anon_sym_indirect] = ACTIONS(3139),
    [anon_sym_init] = ACTIONS(3139),
    [anon_sym_deinit] = ACTIONS(3139),
    [anon_sym_subscript] = ACTIONS(3139),
    [anon_sym_prefix] = ACTIONS(3139),
    [anon_sym_infix] = ACTIONS(3139),
    [anon_sym_postfix] = ACTIONS(3139),
    [anon_sym_precedencegroup] = ACTIONS(3139),
    [anon_sym_associatedtype] = ACTIONS(3139),
    [anon_sym_AT] = ACTIONS(3137),
    [anon_sym_override] = ACTIONS(3139),
    [anon_sym_convenience] = ACTIONS(3139),
    [anon_sym_required] = ACTIONS(3139),
    [anon_sym_nonisolated] = ACTIONS(3139),
    [anon_sym_public] = ACTIONS(3139),
    [anon_sym_private] = ACTIONS(3139),
    [anon_sym_internal] = ACTIONS(3139),
    [anon_sym_fileprivate] = ACTIONS(3139),
    [anon_sym_open] = ACTIONS(3139),
    [anon_sym_mutating] = ACTIONS(3139),
    [anon_sym_nonmutating] = ACTIONS(3139),
    [anon_sym_static] = ACTIONS(3139),
    [anon_sym_dynamic] = ACTIONS(3139),
    [anon_sym_optional] = ACTIONS(3139),
    [anon_sym_distributed] = ACTIONS(3139),
    [anon_sym_final] = ACTIONS(3139),
    [anon_sym_inout] = ACTIONS(3139),
    [anon_sym_ATescaping] = ACTIONS(3139),
    [anon_sym_ATautoclosure] = ACTIONS(3139),
    [anon_sym_weak] = ACTIONS(3139),
    [anon_sym_unowned] = ACTIONS(3137),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3139),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3139),
    [anon_sym_borrowing] = ACTIONS(3139),
    [anon_sym_consuming] = ACTIONS(3139),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3139),
    [sym__eq_custom] = ACTIONS(3139),
    [sym__throws_keyword] = ACTIONS(3139),
    [sym__rethrows_keyword] = ACTIONS(3139),
    [sym_where_keyword] = ACTIONS(3139),
    [sym__as_custom] = ACTIONS(3139),
    [sym__async_keyword_custom] = ACTIONS(3139),
  },
  [1827] = {
    [sym__arrow_operator] = STATE(4140),
    [sym__async_keyword] = STATE(6948),
    [sym_throws] = STATE(8504),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1965),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3071),
    [anon_sym_async] = ACTIONS(3071),
    [anon_sym_lazy] = ACTIONS(3071),
    [anon_sym_package] = ACTIONS(3071),
    [anon_sym_COMMA] = ACTIONS(3071),
    [anon_sym_BANG2] = ACTIONS(3071),
    [anon_sym_DOT] = ACTIONS(3071),
    [anon_sym_AMP] = ACTIONS(3071),
    [anon_sym_LBRACE] = ACTIONS(3071),
    [anon_sym_RBRACE] = ACTIONS(3071),
    [anon_sym_case] = ACTIONS(3071),
    [anon_sym_import] = ACTIONS(3071),
    [anon_sym_typealias] = ACTIONS(3071),
    [anon_sym_struct] = ACTIONS(3071),
    [anon_sym_class] = ACTIONS(3071),
    [anon_sym_enum] = ACTIONS(3071),
    [anon_sym_protocol] = ACTIONS(3071),
    [anon_sym_let] = ACTIONS(3071),
    [anon_sym_var] = ACTIONS(3071),
    [anon_sym_func] = ACTIONS(3071),
    [anon_sym_extension] = ACTIONS(3071),
    [anon_sym_indirect] = ACTIONS(3071),
    [anon_sym_init] = ACTIONS(3071),
    [anon_sym_deinit] = ACTIONS(3071),
    [anon_sym_subscript] = ACTIONS(3071),
    [anon_sym_prefix] = ACTIONS(3071),
    [anon_sym_infix] = ACTIONS(3071),
    [anon_sym_postfix] = ACTIONS(3071),
    [anon_sym_precedencegroup] = ACTIONS(3071),
    [anon_sym_associatedtype] = ACTIONS(3071),
    [anon_sym_AT] = ACTIONS(3069),
    [anon_sym_override] = ACTIONS(3071),
    [anon_sym_convenience] = ACTIONS(3071),
    [anon_sym_required] = ACTIONS(3071),
    [anon_sym_nonisolated] = ACTIONS(3071),
    [anon_sym_public] = ACTIONS(3071),
    [anon_sym_private] = ACTIONS(3071),
    [anon_sym_internal] = ACTIONS(3071),
    [anon_sym_fileprivate] = ACTIONS(3071),
    [anon_sym_open] = ACTIONS(3071),
    [anon_sym_mutating] = ACTIONS(3071),
    [anon_sym_nonmutating] = ACTIONS(3071),
    [anon_sym_static] = ACTIONS(3071),
    [anon_sym_dynamic] = ACTIONS(3071),
    [anon_sym_optional] = ACTIONS(3071),
    [anon_sym_distributed] = ACTIONS(3071),
    [anon_sym_final] = ACTIONS(3071),
    [anon_sym_inout] = ACTIONS(3071),
    [anon_sym_ATescaping] = ACTIONS(3071),
    [anon_sym_ATautoclosure] = ACTIONS(3071),
    [anon_sym_weak] = ACTIONS(3071),
    [anon_sym_unowned] = ACTIONS(3069),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3071),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3071),
    [anon_sym_borrowing] = ACTIONS(3071),
    [anon_sym_consuming] = ACTIONS(3071),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3071),
    [sym__throws_keyword] = ACTIONS(3071),
    [sym__rethrows_keyword] = ACTIONS(3071),
    [sym__async_keyword_custom] = ACTIONS(3071),
  },
  [1828] = {
    [sym__arrow_operator] = STATE(4140),
    [sym__async_keyword] = STATE(6948),
    [sym_throws] = STATE(8504),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1965),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3067),
    [anon_sym_async] = ACTIONS(3067),
    [anon_sym_lazy] = ACTIONS(3067),
    [anon_sym_package] = ACTIONS(3067),
    [anon_sym_COMMA] = ACTIONS(3067),
    [anon_sym_BANG2] = ACTIONS(3067),
    [anon_sym_DOT] = ACTIONS(5288),
    [anon_sym_AMP] = ACTIONS(5290),
    [anon_sym_LBRACE] = ACTIONS(3067),
    [anon_sym_RBRACE] = ACTIONS(3067),
    [anon_sym_case] = ACTIONS(3067),
    [anon_sym_import] = ACTIONS(3067),
    [anon_sym_typealias] = ACTIONS(3067),
    [anon_sym_struct] = ACTIONS(3067),
    [anon_sym_class] = ACTIONS(3067),
    [anon_sym_enum] = ACTIONS(3067),
    [anon_sym_protocol] = ACTIONS(3067),
    [anon_sym_let] = ACTIONS(3067),
    [anon_sym_var] = ACTIONS(3067),
    [anon_sym_func] = ACTIONS(3067),
    [anon_sym_extension] = ACTIONS(3067),
    [anon_sym_indirect] = ACTIONS(3067),
    [anon_sym_init] = ACTIONS(3067),
    [anon_sym_deinit] = ACTIONS(3067),
    [anon_sym_subscript] = ACTIONS(3067),
    [anon_sym_prefix] = ACTIONS(3067),
    [anon_sym_infix] = ACTIONS(3067),
    [anon_sym_postfix] = ACTIONS(3067),
    [anon_sym_precedencegroup] = ACTIONS(3067),
    [anon_sym_associatedtype] = ACTIONS(3067),
    [anon_sym_AT] = ACTIONS(3065),
    [anon_sym_override] = ACTIONS(3067),
    [anon_sym_convenience] = ACTIONS(3067),
    [anon_sym_required] = ACTIONS(3067),
    [anon_sym_nonisolated] = ACTIONS(3067),
    [anon_sym_public] = ACTIONS(3067),
    [anon_sym_private] = ACTIONS(3067),
    [anon_sym_internal] = ACTIONS(3067),
    [anon_sym_fileprivate] = ACTIONS(3067),
    [anon_sym_open] = ACTIONS(3067),
    [anon_sym_mutating] = ACTIONS(3067),
    [anon_sym_nonmutating] = ACTIONS(3067),
    [anon_sym_static] = ACTIONS(3067),
    [anon_sym_dynamic] = ACTIONS(3067),
    [anon_sym_optional] = ACTIONS(3067),
    [anon_sym_distributed] = ACTIONS(3067),
    [anon_sym_final] = ACTIONS(3067),
    [anon_sym_inout] = ACTIONS(3067),
    [anon_sym_ATescaping] = ACTIONS(3067),
    [anon_sym_ATautoclosure] = ACTIONS(3067),
    [anon_sym_weak] = ACTIONS(3067),
    [anon_sym_unowned] = ACTIONS(3065),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3067),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3067),
    [anon_sym_borrowing] = ACTIONS(3067),
    [anon_sym_consuming] = ACTIONS(3067),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(5244),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym__async_keyword_custom] = ACTIONS(5246),
  },
  [1829] = {
    [anon_sym_BANG] = ACTIONS(3229),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3229),
    [aux_sym_simple_identifier_token2] = ACTIONS(3231),
    [aux_sym_simple_identifier_token3] = ACTIONS(3231),
    [aux_sym_simple_identifier_token4] = ACTIONS(3231),
    [anon_sym_actor] = ACTIONS(3229),
    [anon_sym_async] = ACTIONS(3229),
    [anon_sym_each] = ACTIONS(3229),
    [anon_sym_lazy] = ACTIONS(3229),
    [anon_sym_repeat] = ACTIONS(3229),
    [anon_sym_package] = ACTIONS(3229),
    [anon_sym_COMMA] = ACTIONS(3231),
    [anon_sym_LPAREN] = ACTIONS(3231),
    [anon_sym_LBRACK] = ACTIONS(3231),
    [anon_sym_QMARK] = ACTIONS(3229),
    [anon_sym_QMARK2] = ACTIONS(3231),
    [anon_sym_AMP] = ACTIONS(3231),
    [aux_sym_custom_operator_token1] = ACTIONS(3231),
    [anon_sym_LT] = ACTIONS(3229),
    [anon_sym_GT] = ACTIONS(3229),
    [anon_sym_LBRACE] = ACTIONS(3231),
    [anon_sym_CARET_LBRACE] = ACTIONS(3231),
    [anon_sym_RBRACE] = ACTIONS(3231),
    [anon_sym_PLUS_EQ] = ACTIONS(3231),
    [anon_sym_DASH_EQ] = ACTIONS(3231),
    [anon_sym_STAR_EQ] = ACTIONS(3231),
    [anon_sym_SLASH_EQ] = ACTIONS(3231),
    [anon_sym_PERCENT_EQ] = ACTIONS(3231),
    [anon_sym_BANG_EQ] = ACTIONS(3229),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3231),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3231),
    [anon_sym_LT_EQ] = ACTIONS(3231),
    [anon_sym_GT_EQ] = ACTIONS(3231),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3231),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3231),
    [anon_sym_is] = ACTIONS(3229),
    [anon_sym_PLUS] = ACTIONS(3229),
    [anon_sym_DASH] = ACTIONS(3229),
    [anon_sym_STAR] = ACTIONS(3229),
    [anon_sym_SLASH] = ACTIONS(3229),
    [anon_sym_PERCENT] = ACTIONS(3229),
    [anon_sym_PLUS_PLUS] = ACTIONS(3231),
    [anon_sym_DASH_DASH] = ACTIONS(3231),
    [anon_sym_PIPE] = ACTIONS(3231),
    [anon_sym_CARET] = ACTIONS(3229),
    [anon_sym_LT_LT] = ACTIONS(3231),
    [anon_sym_GT_GT] = ACTIONS(3231),
    [anon_sym_borrowing] = ACTIONS(3229),
    [anon_sym_consuming] = ACTIONS(3229),
    [sym_multiline_comment] = ACTIONS(3231),
    [sym__implicit_semi] = ACTIONS(3231),
    [sym__explicit_semi] = ACTIONS(3231),
    [sym__dot_custom] = ACTIONS(3231),
    [sym__conjunction_operator_custom] = ACTIONS(3231),
    [sym__disjunction_operator_custom] = ACTIONS(3231),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3231),
    [sym__eq_custom] = ACTIONS(3231),
    [sym__eq_eq_custom] = ACTIONS(3231),
    [sym__plus_then_ws] = ACTIONS(3231),
    [sym__minus_then_ws] = ACTIONS(3231),
    [sym__bang_custom] = ACTIONS(3231),
    [sym__as_custom] = ACTIONS(3231),
    [sym__as_quest_custom] = ACTIONS(3231),
    [sym__as_bang_custom] = ACTIONS(3231),
    [sym__custom_operator] = ACTIONS(3231),
  },
  [1830] = {
    [sym__arrow_operator] = STATE(4140),
    [sym__async_keyword] = STATE(6948),
    [sym_throws] = STATE(8504),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1965),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3063),
    [anon_sym_async] = ACTIONS(3063),
    [anon_sym_lazy] = ACTIONS(3063),
    [anon_sym_package] = ACTIONS(3063),
    [anon_sym_COMMA] = ACTIONS(3063),
    [anon_sym_BANG2] = ACTIONS(3063),
    [anon_sym_DOT] = ACTIONS(5288),
    [anon_sym_AMP] = ACTIONS(5290),
    [anon_sym_LBRACE] = ACTIONS(3063),
    [anon_sym_RBRACE] = ACTIONS(3063),
    [anon_sym_case] = ACTIONS(3063),
    [anon_sym_import] = ACTIONS(3063),
    [anon_sym_typealias] = ACTIONS(3063),
    [anon_sym_struct] = ACTIONS(3063),
    [anon_sym_class] = ACTIONS(3063),
    [anon_sym_enum] = ACTIONS(3063),
    [anon_sym_protocol] = ACTIONS(3063),
    [anon_sym_let] = ACTIONS(3063),
    [anon_sym_var] = ACTIONS(3063),
    [anon_sym_func] = ACTIONS(3063),
    [anon_sym_extension] = ACTIONS(3063),
    [anon_sym_indirect] = ACTIONS(3063),
    [anon_sym_init] = ACTIONS(3063),
    [anon_sym_deinit] = ACTIONS(3063),
    [anon_sym_subscript] = ACTIONS(3063),
    [anon_sym_prefix] = ACTIONS(3063),
    [anon_sym_infix] = ACTIONS(3063),
    [anon_sym_postfix] = ACTIONS(3063),
    [anon_sym_precedencegroup] = ACTIONS(3063),
    [anon_sym_associatedtype] = ACTIONS(3063),
    [anon_sym_AT] = ACTIONS(3061),
    [anon_sym_override] = ACTIONS(3063),
    [anon_sym_convenience] = ACTIONS(3063),
    [anon_sym_required] = ACTIONS(3063),
    [anon_sym_nonisolated] = ACTIONS(3063),
    [anon_sym_public] = ACTIONS(3063),
    [anon_sym_private] = ACTIONS(3063),
    [anon_sym_internal] = ACTIONS(3063),
    [anon_sym_fileprivate] = ACTIONS(3063),
    [anon_sym_open] = ACTIONS(3063),
    [anon_sym_mutating] = ACTIONS(3063),
    [anon_sym_nonmutating] = ACTIONS(3063),
    [anon_sym_static] = ACTIONS(3063),
    [anon_sym_dynamic] = ACTIONS(3063),
    [anon_sym_optional] = ACTIONS(3063),
    [anon_sym_distributed] = ACTIONS(3063),
    [anon_sym_final] = ACTIONS(3063),
    [anon_sym_inout] = ACTIONS(3063),
    [anon_sym_ATescaping] = ACTIONS(3063),
    [anon_sym_ATautoclosure] = ACTIONS(3063),
    [anon_sym_weak] = ACTIONS(3063),
    [anon_sym_unowned] = ACTIONS(3061),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3063),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3063),
    [anon_sym_borrowing] = ACTIONS(3063),
    [anon_sym_consuming] = ACTIONS(3063),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(5244),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym__async_keyword_custom] = ACTIONS(5246),
  },
  [1831] = {
    [sym__arrow_operator] = STATE(4140),
    [sym__async_keyword] = STATE(6948),
    [sym_throws] = STATE(8504),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1965),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3075),
    [anon_sym_async] = ACTIONS(3075),
    [anon_sym_lazy] = ACTIONS(3075),
    [anon_sym_package] = ACTIONS(3075),
    [anon_sym_COMMA] = ACTIONS(3075),
    [anon_sym_BANG2] = ACTIONS(3075),
    [anon_sym_DOT] = ACTIONS(5288),
    [anon_sym_AMP] = ACTIONS(5290),
    [anon_sym_LBRACE] = ACTIONS(3075),
    [anon_sym_RBRACE] = ACTIONS(3075),
    [anon_sym_case] = ACTIONS(3075),
    [anon_sym_import] = ACTIONS(3075),
    [anon_sym_typealias] = ACTIONS(3075),
    [anon_sym_struct] = ACTIONS(3075),
    [anon_sym_class] = ACTIONS(3075),
    [anon_sym_enum] = ACTIONS(3075),
    [anon_sym_protocol] = ACTIONS(3075),
    [anon_sym_let] = ACTIONS(3075),
    [anon_sym_var] = ACTIONS(3075),
    [anon_sym_func] = ACTIONS(3075),
    [anon_sym_extension] = ACTIONS(3075),
    [anon_sym_indirect] = ACTIONS(3075),
    [anon_sym_init] = ACTIONS(3075),
    [anon_sym_deinit] = ACTIONS(3075),
    [anon_sym_subscript] = ACTIONS(3075),
    [anon_sym_prefix] = ACTIONS(3075),
    [anon_sym_infix] = ACTIONS(3075),
    [anon_sym_postfix] = ACTIONS(3075),
    [anon_sym_precedencegroup] = ACTIONS(3075),
    [anon_sym_associatedtype] = ACTIONS(3075),
    [anon_sym_AT] = ACTIONS(3073),
    [anon_sym_override] = ACTIONS(3075),
    [anon_sym_convenience] = ACTIONS(3075),
    [anon_sym_required] = ACTIONS(3075),
    [anon_sym_nonisolated] = ACTIONS(3075),
    [anon_sym_public] = ACTIONS(3075),
    [anon_sym_private] = ACTIONS(3075),
    [anon_sym_internal] = ACTIONS(3075),
    [anon_sym_fileprivate] = ACTIONS(3075),
    [anon_sym_open] = ACTIONS(3075),
    [anon_sym_mutating] = ACTIONS(3075),
    [anon_sym_nonmutating] = ACTIONS(3075),
    [anon_sym_static] = ACTIONS(3075),
    [anon_sym_dynamic] = ACTIONS(3075),
    [anon_sym_optional] = ACTIONS(3075),
    [anon_sym_distributed] = ACTIONS(3075),
    [anon_sym_final] = ACTIONS(3075),
    [anon_sym_inout] = ACTIONS(3075),
    [anon_sym_ATescaping] = ACTIONS(3075),
    [anon_sym_ATautoclosure] = ACTIONS(3075),
    [anon_sym_weak] = ACTIONS(3075),
    [anon_sym_unowned] = ACTIONS(3073),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3075),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3075),
    [anon_sym_borrowing] = ACTIONS(3075),
    [anon_sym_consuming] = ACTIONS(3075),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(5244),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym__async_keyword_custom] = ACTIONS(5246),
  },
  [1832] = {
    [anon_sym_BANG] = ACTIONS(3202),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3202),
    [aux_sym_simple_identifier_token2] = ACTIONS(3204),
    [aux_sym_simple_identifier_token3] = ACTIONS(3204),
    [aux_sym_simple_identifier_token4] = ACTIONS(3204),
    [anon_sym_actor] = ACTIONS(3202),
    [anon_sym_async] = ACTIONS(3202),
    [anon_sym_each] = ACTIONS(3202),
    [anon_sym_lazy] = ACTIONS(3202),
    [anon_sym_repeat] = ACTIONS(3202),
    [anon_sym_package] = ACTIONS(3202),
    [sym_integer_literal] = ACTIONS(3204),
    [anon_sym_RPAREN] = ACTIONS(3204),
    [anon_sym_COMMA] = ACTIONS(3204),
    [anon_sym_COLON] = ACTIONS(3204),
    [anon_sym_LPAREN] = ACTIONS(3204),
    [anon_sym_LBRACK] = ACTIONS(3204),
    [anon_sym_QMARK] = ACTIONS(3202),
    [anon_sym_QMARK2] = ACTIONS(3204),
    [anon_sym_AMP] = ACTIONS(3204),
    [aux_sym_custom_operator_token1] = ACTIONS(3204),
    [anon_sym_LT] = ACTIONS(3202),
    [anon_sym_GT] = ACTIONS(3202),
    [anon_sym_LBRACE] = ACTIONS(3204),
    [anon_sym_CARET_LBRACE] = ACTIONS(3204),
    [anon_sym_PLUS_EQ] = ACTIONS(3204),
    [anon_sym_DASH_EQ] = ACTIONS(3204),
    [anon_sym_STAR_EQ] = ACTIONS(3204),
    [anon_sym_SLASH_EQ] = ACTIONS(3204),
    [anon_sym_PERCENT_EQ] = ACTIONS(3204),
    [anon_sym_BANG_EQ] = ACTIONS(3202),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3204),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3204),
    [anon_sym_LT_EQ] = ACTIONS(3204),
    [anon_sym_GT_EQ] = ACTIONS(3204),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3204),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3204),
    [anon_sym_is] = ACTIONS(3202),
    [anon_sym_PLUS] = ACTIONS(3202),
    [anon_sym_DASH] = ACTIONS(3202),
    [anon_sym_STAR] = ACTIONS(3202),
    [anon_sym_SLASH] = ACTIONS(3202),
    [anon_sym_PERCENT] = ACTIONS(3202),
    [anon_sym_PLUS_PLUS] = ACTIONS(3204),
    [anon_sym_DASH_DASH] = ACTIONS(3204),
    [anon_sym_PIPE] = ACTIONS(3204),
    [anon_sym_CARET] = ACTIONS(3202),
    [anon_sym_LT_LT] = ACTIONS(3204),
    [anon_sym_GT_GT] = ACTIONS(3204),
    [anon_sym_borrowing] = ACTIONS(3202),
    [anon_sym_consuming] = ACTIONS(3202),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3204),
    [sym__conjunction_operator_custom] = ACTIONS(3204),
    [sym__disjunction_operator_custom] = ACTIONS(3204),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3204),
    [sym__eq_custom] = ACTIONS(3204),
    [sym__eq_eq_custom] = ACTIONS(3204),
    [sym__plus_then_ws] = ACTIONS(3204),
    [sym__minus_then_ws] = ACTIONS(3204),
    [sym__bang_custom] = ACTIONS(3204),
    [sym__as_custom] = ACTIONS(3204),
    [sym__as_quest_custom] = ACTIONS(3204),
    [sym__as_bang_custom] = ACTIONS(3204),
    [sym__custom_operator] = ACTIONS(3204),
  },
  [1833] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3111),
    [anon_sym_async] = ACTIONS(3111),
    [anon_sym_lazy] = ACTIONS(3111),
    [anon_sym_package] = ACTIONS(3111),
    [anon_sym_COMMA] = ACTIONS(3111),
    [anon_sym_COLON] = ACTIONS(3111),
    [anon_sym_DOT] = ACTIONS(3111),
    [anon_sym_QMARK] = ACTIONS(3111),
    [anon_sym_AMP] = ACTIONS(3111),
    [anon_sym_LBRACE] = ACTIONS(3111),
    [anon_sym_RBRACE] = ACTIONS(3111),
    [anon_sym_case] = ACTIONS(3111),
    [anon_sym_import] = ACTIONS(3111),
    [anon_sym_typealias] = ACTIONS(3111),
    [anon_sym_struct] = ACTIONS(3111),
    [anon_sym_class] = ACTIONS(3111),
    [anon_sym_enum] = ACTIONS(3111),
    [anon_sym_protocol] = ACTIONS(3111),
    [anon_sym_let] = ACTIONS(3111),
    [anon_sym_var] = ACTIONS(3111),
    [anon_sym_func] = ACTIONS(3111),
    [anon_sym_extension] = ACTIONS(3111),
    [anon_sym_indirect] = ACTIONS(3111),
    [anon_sym_init] = ACTIONS(3111),
    [anon_sym_deinit] = ACTIONS(3111),
    [anon_sym_subscript] = ACTIONS(3111),
    [anon_sym_prefix] = ACTIONS(3111),
    [anon_sym_infix] = ACTIONS(3111),
    [anon_sym_postfix] = ACTIONS(3111),
    [anon_sym_precedencegroup] = ACTIONS(3111),
    [anon_sym_associatedtype] = ACTIONS(3111),
    [anon_sym_AT] = ACTIONS(3109),
    [anon_sym_override] = ACTIONS(3111),
    [anon_sym_convenience] = ACTIONS(3111),
    [anon_sym_required] = ACTIONS(3111),
    [anon_sym_nonisolated] = ACTIONS(3111),
    [anon_sym_public] = ACTIONS(3111),
    [anon_sym_private] = ACTIONS(3111),
    [anon_sym_internal] = ACTIONS(3111),
    [anon_sym_fileprivate] = ACTIONS(3111),
    [anon_sym_open] = ACTIONS(3111),
    [anon_sym_mutating] = ACTIONS(3111),
    [anon_sym_nonmutating] = ACTIONS(3111),
    [anon_sym_static] = ACTIONS(3111),
    [anon_sym_dynamic] = ACTIONS(3111),
    [anon_sym_optional] = ACTIONS(3111),
    [anon_sym_distributed] = ACTIONS(3111),
    [anon_sym_final] = ACTIONS(3111),
    [anon_sym_inout] = ACTIONS(3111),
    [anon_sym_ATescaping] = ACTIONS(3111),
    [anon_sym_ATautoclosure] = ACTIONS(3111),
    [anon_sym_weak] = ACTIONS(3111),
    [anon_sym_unowned] = ACTIONS(3109),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3111),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3111),
    [anon_sym_borrowing] = ACTIONS(3111),
    [anon_sym_consuming] = ACTIONS(3111),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3111),
    [sym__eq_custom] = ACTIONS(3111),
    [sym__throws_keyword] = ACTIONS(3111),
    [sym__rethrows_keyword] = ACTIONS(3111),
    [sym_where_keyword] = ACTIONS(3111),
    [sym__as_custom] = ACTIONS(3111),
    [sym__async_keyword_custom] = ACTIONS(3111),
  },
  [1834] = {
    [sym__dot] = STATE(5459),
    [aux_sym_user_type_repeat1] = STATE(1834),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(2993),
    [anon_sym_async] = ACTIONS(2993),
    [anon_sym_lazy] = ACTIONS(2993),
    [anon_sym_package] = ACTIONS(2993),
    [anon_sym_COMMA] = ACTIONS(2993),
    [anon_sym_BANG2] = ACTIONS(2993),
    [anon_sym_DOT] = ACTIONS(2993),
    [anon_sym_QMARK2] = ACTIONS(2993),
    [anon_sym_AMP] = ACTIONS(2993),
    [anon_sym_LBRACE] = ACTIONS(2993),
    [anon_sym_RBRACE] = ACTIONS(2993),
    [anon_sym_case] = ACTIONS(2993),
    [anon_sym_import] = ACTIONS(2993),
    [anon_sym_typealias] = ACTIONS(2993),
    [anon_sym_struct] = ACTIONS(2993),
    [anon_sym_class] = ACTIONS(2993),
    [anon_sym_enum] = ACTIONS(2993),
    [anon_sym_protocol] = ACTIONS(2993),
    [anon_sym_let] = ACTIONS(2993),
    [anon_sym_var] = ACTIONS(2993),
    [anon_sym_func] = ACTIONS(2993),
    [anon_sym_extension] = ACTIONS(2993),
    [anon_sym_indirect] = ACTIONS(2993),
    [anon_sym_init] = ACTIONS(2993),
    [anon_sym_deinit] = ACTIONS(2993),
    [anon_sym_subscript] = ACTIONS(2993),
    [anon_sym_prefix] = ACTIONS(2993),
    [anon_sym_infix] = ACTIONS(2993),
    [anon_sym_postfix] = ACTIONS(2993),
    [anon_sym_precedencegroup] = ACTIONS(2993),
    [anon_sym_associatedtype] = ACTIONS(2993),
    [anon_sym_AT] = ACTIONS(2991),
    [anon_sym_override] = ACTIONS(2993),
    [anon_sym_convenience] = ACTIONS(2993),
    [anon_sym_required] = ACTIONS(2993),
    [anon_sym_nonisolated] = ACTIONS(2993),
    [anon_sym_public] = ACTIONS(2993),
    [anon_sym_private] = ACTIONS(2993),
    [anon_sym_internal] = ACTIONS(2993),
    [anon_sym_fileprivate] = ACTIONS(2993),
    [anon_sym_open] = ACTIONS(2993),
    [anon_sym_mutating] = ACTIONS(2993),
    [anon_sym_nonmutating] = ACTIONS(2993),
    [anon_sym_static] = ACTIONS(2993),
    [anon_sym_dynamic] = ACTIONS(2993),
    [anon_sym_optional] = ACTIONS(2993),
    [anon_sym_distributed] = ACTIONS(2993),
    [anon_sym_final] = ACTIONS(2993),
    [anon_sym_inout] = ACTIONS(2993),
    [anon_sym_ATescaping] = ACTIONS(2993),
    [anon_sym_ATautoclosure] = ACTIONS(2993),
    [anon_sym_weak] = ACTIONS(2993),
    [anon_sym_unowned] = ACTIONS(2991),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2993),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2993),
    [anon_sym_borrowing] = ACTIONS(2993),
    [anon_sym_consuming] = ACTIONS(2993),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(2993),
    [sym__dot_custom] = ACTIONS(5298),
    [sym__throws_keyword] = ACTIONS(2993),
    [sym__rethrows_keyword] = ACTIONS(2993),
    [sym__async_keyword_custom] = ACTIONS(2993),
  },
  [1835] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3147),
    [anon_sym_async] = ACTIONS(3147),
    [anon_sym_lazy] = ACTIONS(3147),
    [anon_sym_package] = ACTIONS(3147),
    [anon_sym_RPAREN] = ACTIONS(3147),
    [anon_sym_COMMA] = ACTIONS(3147),
    [anon_sym_BANG2] = ACTIONS(3147),
    [anon_sym_DOT] = ACTIONS(3145),
    [anon_sym_QMARK2] = ACTIONS(3147),
    [anon_sym_AMP] = ACTIONS(3147),
    [anon_sym_LBRACE] = ACTIONS(3147),
    [anon_sym_RBRACE] = ACTIONS(3147),
    [anon_sym_case] = ACTIONS(3147),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3147),
    [anon_sym_import] = ACTIONS(3147),
    [anon_sym_typealias] = ACTIONS(3147),
    [anon_sym_struct] = ACTIONS(3147),
    [anon_sym_class] = ACTIONS(3147),
    [anon_sym_enum] = ACTIONS(3147),
    [anon_sym_protocol] = ACTIONS(3147),
    [anon_sym_let] = ACTIONS(3147),
    [anon_sym_var] = ACTIONS(3147),
    [anon_sym_func] = ACTIONS(3147),
    [anon_sym_extension] = ACTIONS(3147),
    [anon_sym_indirect] = ACTIONS(3147),
    [anon_sym_init] = ACTIONS(3147),
    [anon_sym_deinit] = ACTIONS(3147),
    [anon_sym_subscript] = ACTIONS(3147),
    [anon_sym_prefix] = ACTIONS(3147),
    [anon_sym_infix] = ACTIONS(3147),
    [anon_sym_postfix] = ACTIONS(3147),
    [anon_sym_precedencegroup] = ACTIONS(3147),
    [anon_sym_associatedtype] = ACTIONS(3147),
    [anon_sym_AT] = ACTIONS(3145),
    [anon_sym_override] = ACTIONS(3147),
    [anon_sym_convenience] = ACTIONS(3147),
    [anon_sym_required] = ACTIONS(3147),
    [anon_sym_nonisolated] = ACTIONS(3147),
    [anon_sym_public] = ACTIONS(3147),
    [anon_sym_private] = ACTIONS(3147),
    [anon_sym_internal] = ACTIONS(3147),
    [anon_sym_fileprivate] = ACTIONS(3147),
    [anon_sym_open] = ACTIONS(3147),
    [anon_sym_mutating] = ACTIONS(3147),
    [anon_sym_nonmutating] = ACTIONS(3147),
    [anon_sym_static] = ACTIONS(3147),
    [anon_sym_dynamic] = ACTIONS(3147),
    [anon_sym_optional] = ACTIONS(3147),
    [anon_sym_distributed] = ACTIONS(3147),
    [anon_sym_final] = ACTIONS(3147),
    [anon_sym_inout] = ACTIONS(3147),
    [anon_sym_ATescaping] = ACTIONS(3147),
    [anon_sym_ATautoclosure] = ACTIONS(3147),
    [anon_sym_weak] = ACTIONS(3147),
    [anon_sym_unowned] = ACTIONS(3145),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3147),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3147),
    [anon_sym_borrowing] = ACTIONS(3147),
    [anon_sym_consuming] = ACTIONS(3147),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3147),
    [sym__eq_custom] = ACTIONS(3147),
    [sym__throws_keyword] = ACTIONS(3147),
    [sym__rethrows_keyword] = ACTIONS(3147),
    [sym__async_keyword_custom] = ACTIONS(3147),
  },
  [1836] = {
    [anon_sym_BANG] = ACTIONS(3213),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3213),
    [aux_sym_simple_identifier_token2] = ACTIONS(3215),
    [aux_sym_simple_identifier_token3] = ACTIONS(3215),
    [aux_sym_simple_identifier_token4] = ACTIONS(3215),
    [anon_sym_actor] = ACTIONS(3213),
    [anon_sym_async] = ACTIONS(3213),
    [anon_sym_each] = ACTIONS(3213),
    [anon_sym_lazy] = ACTIONS(3213),
    [anon_sym_repeat] = ACTIONS(3213),
    [anon_sym_package] = ACTIONS(3213),
    [anon_sym_RPAREN] = ACTIONS(3215),
    [anon_sym_COMMA] = ACTIONS(3215),
    [anon_sym_COLON] = ACTIONS(3215),
    [anon_sym_LPAREN] = ACTIONS(3215),
    [anon_sym_LBRACK] = ACTIONS(3215),
    [anon_sym_RBRACK] = ACTIONS(3215),
    [anon_sym_QMARK] = ACTIONS(3213),
    [anon_sym_QMARK2] = ACTIONS(3215),
    [anon_sym_AMP] = ACTIONS(3215),
    [aux_sym_custom_operator_token1] = ACTIONS(3215),
    [anon_sym_LT] = ACTIONS(3213),
    [anon_sym_GT] = ACTIONS(3213),
    [anon_sym_LBRACE] = ACTIONS(3215),
    [anon_sym_CARET_LBRACE] = ACTIONS(3215),
    [anon_sym_PLUS_EQ] = ACTIONS(3215),
    [anon_sym_DASH_EQ] = ACTIONS(3215),
    [anon_sym_STAR_EQ] = ACTIONS(3215),
    [anon_sym_SLASH_EQ] = ACTIONS(3215),
    [anon_sym_PERCENT_EQ] = ACTIONS(3215),
    [anon_sym_BANG_EQ] = ACTIONS(3213),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3215),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3215),
    [anon_sym_LT_EQ] = ACTIONS(3215),
    [anon_sym_GT_EQ] = ACTIONS(3215),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3215),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3215),
    [anon_sym_is] = ACTIONS(3213),
    [anon_sym_PLUS] = ACTIONS(3213),
    [anon_sym_DASH] = ACTIONS(3213),
    [anon_sym_STAR] = ACTIONS(3213),
    [anon_sym_SLASH] = ACTIONS(3213),
    [anon_sym_PERCENT] = ACTIONS(3213),
    [anon_sym_PLUS_PLUS] = ACTIONS(3215),
    [anon_sym_DASH_DASH] = ACTIONS(3215),
    [anon_sym_PIPE] = ACTIONS(3215),
    [anon_sym_CARET] = ACTIONS(3213),
    [anon_sym_LT_LT] = ACTIONS(3215),
    [anon_sym_GT_GT] = ACTIONS(3215),
    [anon_sym_borrowing] = ACTIONS(3213),
    [anon_sym_consuming] = ACTIONS(3213),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3215),
    [sym__conjunction_operator_custom] = ACTIONS(3215),
    [sym__disjunction_operator_custom] = ACTIONS(3215),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3215),
    [sym__eq_custom] = ACTIONS(3215),
    [sym__eq_eq_custom] = ACTIONS(3215),
    [sym__plus_then_ws] = ACTIONS(3215),
    [sym__minus_then_ws] = ACTIONS(3215),
    [sym__bang_custom] = ACTIONS(3215),
    [sym__as_custom] = ACTIONS(3215),
    [sym__as_quest_custom] = ACTIONS(3215),
    [sym__as_bang_custom] = ACTIONS(3215),
    [sym__custom_operator] = ACTIONS(3215),
  },
  [1837] = {
    [sym__dot] = STATE(5459),
    [aux_sym_user_type_repeat1] = STATE(1839),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3048),
    [anon_sym_async] = ACTIONS(3048),
    [anon_sym_lazy] = ACTIONS(3048),
    [anon_sym_package] = ACTIONS(3048),
    [anon_sym_COMMA] = ACTIONS(3048),
    [anon_sym_BANG2] = ACTIONS(3048),
    [anon_sym_DOT] = ACTIONS(3048),
    [anon_sym_QMARK2] = ACTIONS(3048),
    [anon_sym_AMP] = ACTIONS(3048),
    [anon_sym_LBRACE] = ACTIONS(3048),
    [anon_sym_RBRACE] = ACTIONS(3048),
    [anon_sym_case] = ACTIONS(3048),
    [anon_sym_import] = ACTIONS(3048),
    [anon_sym_typealias] = ACTIONS(3048),
    [anon_sym_struct] = ACTIONS(3048),
    [anon_sym_class] = ACTIONS(3048),
    [anon_sym_enum] = ACTIONS(3048),
    [anon_sym_protocol] = ACTIONS(3048),
    [anon_sym_let] = ACTIONS(3048),
    [anon_sym_var] = ACTIONS(3048),
    [anon_sym_func] = ACTIONS(3048),
    [anon_sym_extension] = ACTIONS(3048),
    [anon_sym_indirect] = ACTIONS(3048),
    [anon_sym_init] = ACTIONS(3048),
    [anon_sym_deinit] = ACTIONS(3048),
    [anon_sym_subscript] = ACTIONS(3048),
    [anon_sym_prefix] = ACTIONS(3048),
    [anon_sym_infix] = ACTIONS(3048),
    [anon_sym_postfix] = ACTIONS(3048),
    [anon_sym_precedencegroup] = ACTIONS(3048),
    [anon_sym_associatedtype] = ACTIONS(3048),
    [anon_sym_AT] = ACTIONS(3046),
    [anon_sym_override] = ACTIONS(3048),
    [anon_sym_convenience] = ACTIONS(3048),
    [anon_sym_required] = ACTIONS(3048),
    [anon_sym_nonisolated] = ACTIONS(3048),
    [anon_sym_public] = ACTIONS(3048),
    [anon_sym_private] = ACTIONS(3048),
    [anon_sym_internal] = ACTIONS(3048),
    [anon_sym_fileprivate] = ACTIONS(3048),
    [anon_sym_open] = ACTIONS(3048),
    [anon_sym_mutating] = ACTIONS(3048),
    [anon_sym_nonmutating] = ACTIONS(3048),
    [anon_sym_static] = ACTIONS(3048),
    [anon_sym_dynamic] = ACTIONS(3048),
    [anon_sym_optional] = ACTIONS(3048),
    [anon_sym_distributed] = ACTIONS(3048),
    [anon_sym_final] = ACTIONS(3048),
    [anon_sym_inout] = ACTIONS(3048),
    [anon_sym_ATescaping] = ACTIONS(3048),
    [anon_sym_ATautoclosure] = ACTIONS(3048),
    [anon_sym_weak] = ACTIONS(3048),
    [anon_sym_unowned] = ACTIONS(3046),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3048),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3048),
    [anon_sym_borrowing] = ACTIONS(3048),
    [anon_sym_consuming] = ACTIONS(3048),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3048),
    [sym__dot_custom] = ACTIONS(5301),
    [sym__throws_keyword] = ACTIONS(3048),
    [sym__rethrows_keyword] = ACTIONS(3048),
    [sym__async_keyword_custom] = ACTIONS(3048),
  },
  [1838] = {
    [anon_sym_BANG] = ACTIONS(3225),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3225),
    [aux_sym_simple_identifier_token2] = ACTIONS(3227),
    [aux_sym_simple_identifier_token3] = ACTIONS(3227),
    [aux_sym_simple_identifier_token4] = ACTIONS(3227),
    [anon_sym_actor] = ACTIONS(3225),
    [anon_sym_async] = ACTIONS(3225),
    [anon_sym_each] = ACTIONS(3225),
    [anon_sym_lazy] = ACTIONS(3225),
    [anon_sym_repeat] = ACTIONS(3225),
    [anon_sym_package] = ACTIONS(3225),
    [anon_sym_RPAREN] = ACTIONS(3227),
    [anon_sym_COMMA] = ACTIONS(3227),
    [anon_sym_COLON] = ACTIONS(3227),
    [anon_sym_LPAREN] = ACTIONS(3227),
    [anon_sym_LBRACK] = ACTIONS(3227),
    [anon_sym_RBRACK] = ACTIONS(3227),
    [anon_sym_QMARK] = ACTIONS(3225),
    [anon_sym_QMARK2] = ACTIONS(3227),
    [anon_sym_AMP] = ACTIONS(3227),
    [aux_sym_custom_operator_token1] = ACTIONS(3227),
    [anon_sym_LT] = ACTIONS(3225),
    [anon_sym_GT] = ACTIONS(3225),
    [anon_sym_LBRACE] = ACTIONS(3227),
    [anon_sym_CARET_LBRACE] = ACTIONS(3227),
    [anon_sym_PLUS_EQ] = ACTIONS(3227),
    [anon_sym_DASH_EQ] = ACTIONS(3227),
    [anon_sym_STAR_EQ] = ACTIONS(3227),
    [anon_sym_SLASH_EQ] = ACTIONS(3227),
    [anon_sym_PERCENT_EQ] = ACTIONS(3227),
    [anon_sym_BANG_EQ] = ACTIONS(3225),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3227),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3227),
    [anon_sym_LT_EQ] = ACTIONS(3227),
    [anon_sym_GT_EQ] = ACTIONS(3227),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3227),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3227),
    [anon_sym_is] = ACTIONS(3225),
    [anon_sym_PLUS] = ACTIONS(3225),
    [anon_sym_DASH] = ACTIONS(3225),
    [anon_sym_STAR] = ACTIONS(3225),
    [anon_sym_SLASH] = ACTIONS(3225),
    [anon_sym_PERCENT] = ACTIONS(3225),
    [anon_sym_PLUS_PLUS] = ACTIONS(3227),
    [anon_sym_DASH_DASH] = ACTIONS(3227),
    [anon_sym_PIPE] = ACTIONS(3227),
    [anon_sym_CARET] = ACTIONS(3225),
    [anon_sym_LT_LT] = ACTIONS(3227),
    [anon_sym_GT_GT] = ACTIONS(3227),
    [anon_sym_borrowing] = ACTIONS(3225),
    [anon_sym_consuming] = ACTIONS(3225),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3227),
    [sym__conjunction_operator_custom] = ACTIONS(3227),
    [sym__disjunction_operator_custom] = ACTIONS(3227),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3227),
    [sym__eq_custom] = ACTIONS(3227),
    [sym__eq_eq_custom] = ACTIONS(3227),
    [sym__plus_then_ws] = ACTIONS(3227),
    [sym__minus_then_ws] = ACTIONS(3227),
    [sym__bang_custom] = ACTIONS(3227),
    [sym__as_custom] = ACTIONS(3227),
    [sym__as_quest_custom] = ACTIONS(3227),
    [sym__as_bang_custom] = ACTIONS(3227),
    [sym__custom_operator] = ACTIONS(3227),
  },
  [1839] = {
    [sym__dot] = STATE(5459),
    [aux_sym_user_type_repeat1] = STATE(1834),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3041),
    [anon_sym_async] = ACTIONS(3041),
    [anon_sym_lazy] = ACTIONS(3041),
    [anon_sym_package] = ACTIONS(3041),
    [anon_sym_COMMA] = ACTIONS(3041),
    [anon_sym_BANG2] = ACTIONS(3041),
    [anon_sym_DOT] = ACTIONS(3041),
    [anon_sym_QMARK2] = ACTIONS(3041),
    [anon_sym_AMP] = ACTIONS(3041),
    [anon_sym_LBRACE] = ACTIONS(3041),
    [anon_sym_RBRACE] = ACTIONS(3041),
    [anon_sym_case] = ACTIONS(3041),
    [anon_sym_import] = ACTIONS(3041),
    [anon_sym_typealias] = ACTIONS(3041),
    [anon_sym_struct] = ACTIONS(3041),
    [anon_sym_class] = ACTIONS(3041),
    [anon_sym_enum] = ACTIONS(3041),
    [anon_sym_protocol] = ACTIONS(3041),
    [anon_sym_let] = ACTIONS(3041),
    [anon_sym_var] = ACTIONS(3041),
    [anon_sym_func] = ACTIONS(3041),
    [anon_sym_extension] = ACTIONS(3041),
    [anon_sym_indirect] = ACTIONS(3041),
    [anon_sym_init] = ACTIONS(3041),
    [anon_sym_deinit] = ACTIONS(3041),
    [anon_sym_subscript] = ACTIONS(3041),
    [anon_sym_prefix] = ACTIONS(3041),
    [anon_sym_infix] = ACTIONS(3041),
    [anon_sym_postfix] = ACTIONS(3041),
    [anon_sym_precedencegroup] = ACTIONS(3041),
    [anon_sym_associatedtype] = ACTIONS(3041),
    [anon_sym_AT] = ACTIONS(3039),
    [anon_sym_override] = ACTIONS(3041),
    [anon_sym_convenience] = ACTIONS(3041),
    [anon_sym_required] = ACTIONS(3041),
    [anon_sym_nonisolated] = ACTIONS(3041),
    [anon_sym_public] = ACTIONS(3041),
    [anon_sym_private] = ACTIONS(3041),
    [anon_sym_internal] = ACTIONS(3041),
    [anon_sym_fileprivate] = ACTIONS(3041),
    [anon_sym_open] = ACTIONS(3041),
    [anon_sym_mutating] = ACTIONS(3041),
    [anon_sym_nonmutating] = ACTIONS(3041),
    [anon_sym_static] = ACTIONS(3041),
    [anon_sym_dynamic] = ACTIONS(3041),
    [anon_sym_optional] = ACTIONS(3041),
    [anon_sym_distributed] = ACTIONS(3041),
    [anon_sym_final] = ACTIONS(3041),
    [anon_sym_inout] = ACTIONS(3041),
    [anon_sym_ATescaping] = ACTIONS(3041),
    [anon_sym_ATautoclosure] = ACTIONS(3041),
    [anon_sym_weak] = ACTIONS(3041),
    [anon_sym_unowned] = ACTIONS(3039),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3041),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3041),
    [anon_sym_borrowing] = ACTIONS(3041),
    [anon_sym_consuming] = ACTIONS(3041),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3041),
    [sym__dot_custom] = ACTIONS(5301),
    [sym__throws_keyword] = ACTIONS(3041),
    [sym__rethrows_keyword] = ACTIONS(3041),
    [sym__async_keyword_custom] = ACTIONS(3041),
  },
  [1840] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3115),
    [anon_sym_async] = ACTIONS(3115),
    [anon_sym_lazy] = ACTIONS(3115),
    [anon_sym_package] = ACTIONS(3115),
    [anon_sym_RPAREN] = ACTIONS(3115),
    [anon_sym_COMMA] = ACTIONS(3115),
    [anon_sym_BANG2] = ACTIONS(3115),
    [anon_sym_DOT] = ACTIONS(3113),
    [anon_sym_QMARK2] = ACTIONS(3115),
    [anon_sym_AMP] = ACTIONS(3115),
    [anon_sym_LBRACE] = ACTIONS(3115),
    [anon_sym_RBRACE] = ACTIONS(3115),
    [anon_sym_case] = ACTIONS(3115),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3115),
    [anon_sym_import] = ACTIONS(3115),
    [anon_sym_typealias] = ACTIONS(3115),
    [anon_sym_struct] = ACTIONS(3115),
    [anon_sym_class] = ACTIONS(3115),
    [anon_sym_enum] = ACTIONS(3115),
    [anon_sym_protocol] = ACTIONS(3115),
    [anon_sym_let] = ACTIONS(3115),
    [anon_sym_var] = ACTIONS(3115),
    [anon_sym_func] = ACTIONS(3115),
    [anon_sym_extension] = ACTIONS(3115),
    [anon_sym_indirect] = ACTIONS(3115),
    [anon_sym_init] = ACTIONS(3115),
    [anon_sym_deinit] = ACTIONS(3115),
    [anon_sym_subscript] = ACTIONS(3115),
    [anon_sym_prefix] = ACTIONS(3115),
    [anon_sym_infix] = ACTIONS(3115),
    [anon_sym_postfix] = ACTIONS(3115),
    [anon_sym_precedencegroup] = ACTIONS(3115),
    [anon_sym_associatedtype] = ACTIONS(3115),
    [anon_sym_AT] = ACTIONS(3113),
    [anon_sym_override] = ACTIONS(3115),
    [anon_sym_convenience] = ACTIONS(3115),
    [anon_sym_required] = ACTIONS(3115),
    [anon_sym_nonisolated] = ACTIONS(3115),
    [anon_sym_public] = ACTIONS(3115),
    [anon_sym_private] = ACTIONS(3115),
    [anon_sym_internal] = ACTIONS(3115),
    [anon_sym_fileprivate] = ACTIONS(3115),
    [anon_sym_open] = ACTIONS(3115),
    [anon_sym_mutating] = ACTIONS(3115),
    [anon_sym_nonmutating] = ACTIONS(3115),
    [anon_sym_static] = ACTIONS(3115),
    [anon_sym_dynamic] = ACTIONS(3115),
    [anon_sym_optional] = ACTIONS(3115),
    [anon_sym_distributed] = ACTIONS(3115),
    [anon_sym_final] = ACTIONS(3115),
    [anon_sym_inout] = ACTIONS(3115),
    [anon_sym_ATescaping] = ACTIONS(3115),
    [anon_sym_ATautoclosure] = ACTIONS(3115),
    [anon_sym_weak] = ACTIONS(3115),
    [anon_sym_unowned] = ACTIONS(3113),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3115),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3115),
    [anon_sym_borrowing] = ACTIONS(3115),
    [anon_sym_consuming] = ACTIONS(3115),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3115),
    [sym__eq_custom] = ACTIONS(3115),
    [sym__throws_keyword] = ACTIONS(3115),
    [sym__rethrows_keyword] = ACTIONS(3115),
    [sym__async_keyword_custom] = ACTIONS(3115),
  },
  [1841] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3131),
    [anon_sym_async] = ACTIONS(3131),
    [anon_sym_lazy] = ACTIONS(3131),
    [anon_sym_package] = ACTIONS(3131),
    [anon_sym_RPAREN] = ACTIONS(3131),
    [anon_sym_COMMA] = ACTIONS(3131),
    [anon_sym_BANG2] = ACTIONS(3131),
    [anon_sym_DOT] = ACTIONS(3129),
    [anon_sym_QMARK2] = ACTIONS(3131),
    [anon_sym_AMP] = ACTIONS(3131),
    [anon_sym_LBRACE] = ACTIONS(3131),
    [anon_sym_RBRACE] = ACTIONS(3131),
    [anon_sym_case] = ACTIONS(3131),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3131),
    [anon_sym_import] = ACTIONS(3131),
    [anon_sym_typealias] = ACTIONS(3131),
    [anon_sym_struct] = ACTIONS(3131),
    [anon_sym_class] = ACTIONS(3131),
    [anon_sym_enum] = ACTIONS(3131),
    [anon_sym_protocol] = ACTIONS(3131),
    [anon_sym_let] = ACTIONS(3131),
    [anon_sym_var] = ACTIONS(3131),
    [anon_sym_func] = ACTIONS(3131),
    [anon_sym_extension] = ACTIONS(3131),
    [anon_sym_indirect] = ACTIONS(3131),
    [anon_sym_init] = ACTIONS(3131),
    [anon_sym_deinit] = ACTIONS(3131),
    [anon_sym_subscript] = ACTIONS(3131),
    [anon_sym_prefix] = ACTIONS(3131),
    [anon_sym_infix] = ACTIONS(3131),
    [anon_sym_postfix] = ACTIONS(3131),
    [anon_sym_precedencegroup] = ACTIONS(3131),
    [anon_sym_associatedtype] = ACTIONS(3131),
    [anon_sym_AT] = ACTIONS(3129),
    [anon_sym_override] = ACTIONS(3131),
    [anon_sym_convenience] = ACTIONS(3131),
    [anon_sym_required] = ACTIONS(3131),
    [anon_sym_nonisolated] = ACTIONS(3131),
    [anon_sym_public] = ACTIONS(3131),
    [anon_sym_private] = ACTIONS(3131),
    [anon_sym_internal] = ACTIONS(3131),
    [anon_sym_fileprivate] = ACTIONS(3131),
    [anon_sym_open] = ACTIONS(3131),
    [anon_sym_mutating] = ACTIONS(3131),
    [anon_sym_nonmutating] = ACTIONS(3131),
    [anon_sym_static] = ACTIONS(3131),
    [anon_sym_dynamic] = ACTIONS(3131),
    [anon_sym_optional] = ACTIONS(3131),
    [anon_sym_distributed] = ACTIONS(3131),
    [anon_sym_final] = ACTIONS(3131),
    [anon_sym_inout] = ACTIONS(3131),
    [anon_sym_ATescaping] = ACTIONS(3131),
    [anon_sym_ATautoclosure] = ACTIONS(3131),
    [anon_sym_weak] = ACTIONS(3131),
    [anon_sym_unowned] = ACTIONS(3129),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3131),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3131),
    [anon_sym_borrowing] = ACTIONS(3131),
    [anon_sym_consuming] = ACTIONS(3131),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3131),
    [sym__eq_custom] = ACTIONS(3131),
    [sym__throws_keyword] = ACTIONS(3131),
    [sym__rethrows_keyword] = ACTIONS(3131),
    [sym__async_keyword_custom] = ACTIONS(3131),
  },
  [1842] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3188),
    [anon_sym_async] = ACTIONS(3188),
    [anon_sym_lazy] = ACTIONS(3188),
    [anon_sym_package] = ACTIONS(3188),
    [anon_sym_RPAREN] = ACTIONS(3188),
    [anon_sym_COMMA] = ACTIONS(3188),
    [anon_sym_BANG2] = ACTIONS(3188),
    [anon_sym_DOT] = ACTIONS(3186),
    [anon_sym_QMARK2] = ACTIONS(3188),
    [anon_sym_AMP] = ACTIONS(3188),
    [anon_sym_LBRACE] = ACTIONS(3188),
    [anon_sym_RBRACE] = ACTIONS(3188),
    [anon_sym_case] = ACTIONS(3188),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3188),
    [anon_sym_import] = ACTIONS(3188),
    [anon_sym_typealias] = ACTIONS(3188),
    [anon_sym_struct] = ACTIONS(3188),
    [anon_sym_class] = ACTIONS(3188),
    [anon_sym_enum] = ACTIONS(3188),
    [anon_sym_protocol] = ACTIONS(3188),
    [anon_sym_let] = ACTIONS(3188),
    [anon_sym_var] = ACTIONS(3188),
    [anon_sym_func] = ACTIONS(3188),
    [anon_sym_extension] = ACTIONS(3188),
    [anon_sym_indirect] = ACTIONS(3188),
    [anon_sym_init] = ACTIONS(3188),
    [anon_sym_deinit] = ACTIONS(3188),
    [anon_sym_subscript] = ACTIONS(3188),
    [anon_sym_prefix] = ACTIONS(3188),
    [anon_sym_infix] = ACTIONS(3188),
    [anon_sym_postfix] = ACTIONS(3188),
    [anon_sym_precedencegroup] = ACTIONS(3188),
    [anon_sym_associatedtype] = ACTIONS(3188),
    [anon_sym_AT] = ACTIONS(3186),
    [anon_sym_override] = ACTIONS(3188),
    [anon_sym_convenience] = ACTIONS(3188),
    [anon_sym_required] = ACTIONS(3188),
    [anon_sym_nonisolated] = ACTIONS(3188),
    [anon_sym_public] = ACTIONS(3188),
    [anon_sym_private] = ACTIONS(3188),
    [anon_sym_internal] = ACTIONS(3188),
    [anon_sym_fileprivate] = ACTIONS(3188),
    [anon_sym_open] = ACTIONS(3188),
    [anon_sym_mutating] = ACTIONS(3188),
    [anon_sym_nonmutating] = ACTIONS(3188),
    [anon_sym_static] = ACTIONS(3188),
    [anon_sym_dynamic] = ACTIONS(3188),
    [anon_sym_optional] = ACTIONS(3188),
    [anon_sym_distributed] = ACTIONS(3188),
    [anon_sym_final] = ACTIONS(3188),
    [anon_sym_inout] = ACTIONS(3188),
    [anon_sym_ATescaping] = ACTIONS(3188),
    [anon_sym_ATautoclosure] = ACTIONS(3188),
    [anon_sym_weak] = ACTIONS(3188),
    [anon_sym_unowned] = ACTIONS(3186),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3188),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3188),
    [anon_sym_borrowing] = ACTIONS(3188),
    [anon_sym_consuming] = ACTIONS(3188),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3188),
    [sym__eq_custom] = ACTIONS(3188),
    [sym__throws_keyword] = ACTIONS(3188),
    [sym__rethrows_keyword] = ACTIONS(3188),
    [sym__async_keyword_custom] = ACTIONS(3188),
  },
  [1843] = {
    [anon_sym_BANG] = ACTIONS(3237),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3237),
    [aux_sym_simple_identifier_token2] = ACTIONS(3239),
    [aux_sym_simple_identifier_token3] = ACTIONS(3239),
    [aux_sym_simple_identifier_token4] = ACTIONS(3239),
    [anon_sym_actor] = ACTIONS(3237),
    [anon_sym_async] = ACTIONS(3237),
    [anon_sym_each] = ACTIONS(3237),
    [anon_sym_lazy] = ACTIONS(3237),
    [anon_sym_repeat] = ACTIONS(3237),
    [anon_sym_package] = ACTIONS(3237),
    [anon_sym_COMMA] = ACTIONS(3239),
    [anon_sym_LPAREN] = ACTIONS(3239),
    [anon_sym_LBRACK] = ACTIONS(3239),
    [anon_sym_QMARK] = ACTIONS(3237),
    [anon_sym_QMARK2] = ACTIONS(3239),
    [anon_sym_AMP] = ACTIONS(3239),
    [aux_sym_custom_operator_token1] = ACTIONS(3239),
    [anon_sym_LT] = ACTIONS(3237),
    [anon_sym_GT] = ACTIONS(3237),
    [anon_sym_LBRACE] = ACTIONS(3239),
    [anon_sym_CARET_LBRACE] = ACTIONS(3239),
    [anon_sym_RBRACE] = ACTIONS(3239),
    [anon_sym_PLUS_EQ] = ACTIONS(3239),
    [anon_sym_DASH_EQ] = ACTIONS(3239),
    [anon_sym_STAR_EQ] = ACTIONS(3239),
    [anon_sym_SLASH_EQ] = ACTIONS(3239),
    [anon_sym_PERCENT_EQ] = ACTIONS(3239),
    [anon_sym_BANG_EQ] = ACTIONS(3237),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3239),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3239),
    [anon_sym_LT_EQ] = ACTIONS(3239),
    [anon_sym_GT_EQ] = ACTIONS(3239),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3239),
    [anon_sym_is] = ACTIONS(3237),
    [anon_sym_PLUS] = ACTIONS(3237),
    [anon_sym_DASH] = ACTIONS(3237),
    [anon_sym_STAR] = ACTIONS(3237),
    [anon_sym_SLASH] = ACTIONS(3237),
    [anon_sym_PERCENT] = ACTIONS(3237),
    [anon_sym_PLUS_PLUS] = ACTIONS(3239),
    [anon_sym_DASH_DASH] = ACTIONS(3239),
    [anon_sym_PIPE] = ACTIONS(3239),
    [anon_sym_CARET] = ACTIONS(3237),
    [anon_sym_LT_LT] = ACTIONS(3239),
    [anon_sym_GT_GT] = ACTIONS(3239),
    [anon_sym_borrowing] = ACTIONS(3237),
    [anon_sym_consuming] = ACTIONS(3237),
    [sym_multiline_comment] = ACTIONS(3239),
    [sym__implicit_semi] = ACTIONS(3239),
    [sym__explicit_semi] = ACTIONS(3239),
    [sym__dot_custom] = ACTIONS(3239),
    [sym__conjunction_operator_custom] = ACTIONS(3239),
    [sym__disjunction_operator_custom] = ACTIONS(3239),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3239),
    [sym__eq_custom] = ACTIONS(3239),
    [sym__eq_eq_custom] = ACTIONS(3239),
    [sym__plus_then_ws] = ACTIONS(3239),
    [sym__minus_then_ws] = ACTIONS(3239),
    [sym__bang_custom] = ACTIONS(3239),
    [sym__as_custom] = ACTIONS(3239),
    [sym__as_quest_custom] = ACTIONS(3239),
    [sym__as_bang_custom] = ACTIONS(3239),
    [sym__custom_operator] = ACTIONS(3239),
  },
  [1844] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3204),
    [anon_sym_async] = ACTIONS(3204),
    [anon_sym_lazy] = ACTIONS(3204),
    [anon_sym_package] = ACTIONS(3204),
    [anon_sym_COMMA] = ACTIONS(3204),
    [anon_sym_COLON] = ACTIONS(3204),
    [anon_sym_DOT] = ACTIONS(3204),
    [anon_sym_QMARK] = ACTIONS(3204),
    [anon_sym_AMP] = ACTIONS(3204),
    [anon_sym_LBRACE] = ACTIONS(3204),
    [anon_sym_RBRACE] = ACTIONS(3204),
    [anon_sym_case] = ACTIONS(3204),
    [anon_sym_import] = ACTIONS(3204),
    [anon_sym_typealias] = ACTIONS(3204),
    [anon_sym_struct] = ACTIONS(3204),
    [anon_sym_class] = ACTIONS(3204),
    [anon_sym_enum] = ACTIONS(3204),
    [anon_sym_protocol] = ACTIONS(3204),
    [anon_sym_let] = ACTIONS(3204),
    [anon_sym_var] = ACTIONS(3204),
    [anon_sym_func] = ACTIONS(3204),
    [anon_sym_extension] = ACTIONS(3204),
    [anon_sym_indirect] = ACTIONS(3204),
    [anon_sym_init] = ACTIONS(3204),
    [anon_sym_deinit] = ACTIONS(3204),
    [anon_sym_subscript] = ACTIONS(3204),
    [anon_sym_prefix] = ACTIONS(3204),
    [anon_sym_infix] = ACTIONS(3204),
    [anon_sym_postfix] = ACTIONS(3204),
    [anon_sym_precedencegroup] = ACTIONS(3204),
    [anon_sym_associatedtype] = ACTIONS(3204),
    [anon_sym_AT] = ACTIONS(3202),
    [anon_sym_override] = ACTIONS(3204),
    [anon_sym_convenience] = ACTIONS(3204),
    [anon_sym_required] = ACTIONS(3204),
    [anon_sym_nonisolated] = ACTIONS(3204),
    [anon_sym_public] = ACTIONS(3204),
    [anon_sym_private] = ACTIONS(3204),
    [anon_sym_internal] = ACTIONS(3204),
    [anon_sym_fileprivate] = ACTIONS(3204),
    [anon_sym_open] = ACTIONS(3204),
    [anon_sym_mutating] = ACTIONS(3204),
    [anon_sym_nonmutating] = ACTIONS(3204),
    [anon_sym_static] = ACTIONS(3204),
    [anon_sym_dynamic] = ACTIONS(3204),
    [anon_sym_optional] = ACTIONS(3204),
    [anon_sym_distributed] = ACTIONS(3204),
    [anon_sym_final] = ACTIONS(3204),
    [anon_sym_inout] = ACTIONS(3204),
    [anon_sym_ATescaping] = ACTIONS(3204),
    [anon_sym_ATautoclosure] = ACTIONS(3204),
    [anon_sym_weak] = ACTIONS(3204),
    [anon_sym_unowned] = ACTIONS(3202),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3204),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3204),
    [anon_sym_borrowing] = ACTIONS(3204),
    [anon_sym_consuming] = ACTIONS(3204),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3204),
    [sym__eq_custom] = ACTIONS(3204),
    [sym__throws_keyword] = ACTIONS(3204),
    [sym__rethrows_keyword] = ACTIONS(3204),
    [sym_where_keyword] = ACTIONS(3204),
    [sym__as_custom] = ACTIONS(3204),
    [sym__async_keyword_custom] = ACTIONS(3204),
  },
  [1845] = {
    [sym_type_arguments] = STATE(1928),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3083),
    [anon_sym_async] = ACTIONS(3083),
    [anon_sym_lazy] = ACTIONS(3083),
    [anon_sym_package] = ACTIONS(3083),
    [anon_sym_COMMA] = ACTIONS(3083),
    [anon_sym_BANG2] = ACTIONS(3083),
    [anon_sym_DOT] = ACTIONS(3083),
    [anon_sym_QMARK2] = ACTIONS(3083),
    [anon_sym_AMP] = ACTIONS(3083),
    [anon_sym_LT] = ACTIONS(5303),
    [anon_sym_LBRACE] = ACTIONS(3083),
    [anon_sym_RBRACE] = ACTIONS(3083),
    [anon_sym_case] = ACTIONS(3083),
    [anon_sym_import] = ACTIONS(3083),
    [anon_sym_typealias] = ACTIONS(3083),
    [anon_sym_struct] = ACTIONS(3083),
    [anon_sym_class] = ACTIONS(3083),
    [anon_sym_enum] = ACTIONS(3083),
    [anon_sym_protocol] = ACTIONS(3083),
    [anon_sym_let] = ACTIONS(3083),
    [anon_sym_var] = ACTIONS(3083),
    [anon_sym_func] = ACTIONS(3083),
    [anon_sym_extension] = ACTIONS(3083),
    [anon_sym_indirect] = ACTIONS(3083),
    [anon_sym_init] = ACTIONS(3083),
    [anon_sym_deinit] = ACTIONS(3083),
    [anon_sym_subscript] = ACTIONS(3083),
    [anon_sym_prefix] = ACTIONS(3083),
    [anon_sym_infix] = ACTIONS(3083),
    [anon_sym_postfix] = ACTIONS(3083),
    [anon_sym_precedencegroup] = ACTIONS(3083),
    [anon_sym_associatedtype] = ACTIONS(3083),
    [anon_sym_AT] = ACTIONS(3081),
    [anon_sym_override] = ACTIONS(3083),
    [anon_sym_convenience] = ACTIONS(3083),
    [anon_sym_required] = ACTIONS(3083),
    [anon_sym_nonisolated] = ACTIONS(3083),
    [anon_sym_public] = ACTIONS(3083),
    [anon_sym_private] = ACTIONS(3083),
    [anon_sym_internal] = ACTIONS(3083),
    [anon_sym_fileprivate] = ACTIONS(3083),
    [anon_sym_open] = ACTIONS(3083),
    [anon_sym_mutating] = ACTIONS(3083),
    [anon_sym_nonmutating] = ACTIONS(3083),
    [anon_sym_static] = ACTIONS(3083),
    [anon_sym_dynamic] = ACTIONS(3083),
    [anon_sym_optional] = ACTIONS(3083),
    [anon_sym_distributed] = ACTIONS(3083),
    [anon_sym_final] = ACTIONS(3083),
    [anon_sym_inout] = ACTIONS(3083),
    [anon_sym_ATescaping] = ACTIONS(3083),
    [anon_sym_ATautoclosure] = ACTIONS(3083),
    [anon_sym_weak] = ACTIONS(3083),
    [anon_sym_unowned] = ACTIONS(3081),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3083),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3083),
    [anon_sym_borrowing] = ACTIONS(3083),
    [anon_sym_consuming] = ACTIONS(3083),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3083),
    [sym__dot_custom] = ACTIONS(3083),
    [sym__throws_keyword] = ACTIONS(3083),
    [sym__rethrows_keyword] = ACTIONS(3083),
    [sym__async_keyword_custom] = ACTIONS(3083),
  },
  [1846] = {
    [anon_sym_BANG] = ACTIONS(3229),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3229),
    [aux_sym_simple_identifier_token2] = ACTIONS(3231),
    [aux_sym_simple_identifier_token3] = ACTIONS(3231),
    [aux_sym_simple_identifier_token4] = ACTIONS(3231),
    [anon_sym_actor] = ACTIONS(3229),
    [anon_sym_async] = ACTIONS(3229),
    [anon_sym_each] = ACTIONS(3229),
    [anon_sym_lazy] = ACTIONS(3229),
    [anon_sym_repeat] = ACTIONS(3229),
    [anon_sym_package] = ACTIONS(3229),
    [anon_sym_RPAREN] = ACTIONS(3231),
    [anon_sym_COMMA] = ACTIONS(3231),
    [anon_sym_COLON] = ACTIONS(3231),
    [anon_sym_LPAREN] = ACTIONS(3231),
    [anon_sym_LBRACK] = ACTIONS(3231),
    [anon_sym_RBRACK] = ACTIONS(3231),
    [anon_sym_QMARK] = ACTIONS(3229),
    [anon_sym_QMARK2] = ACTIONS(3231),
    [anon_sym_AMP] = ACTIONS(3231),
    [aux_sym_custom_operator_token1] = ACTIONS(3231),
    [anon_sym_LT] = ACTIONS(3229),
    [anon_sym_GT] = ACTIONS(3229),
    [anon_sym_LBRACE] = ACTIONS(3231),
    [anon_sym_CARET_LBRACE] = ACTIONS(3231),
    [anon_sym_PLUS_EQ] = ACTIONS(3231),
    [anon_sym_DASH_EQ] = ACTIONS(3231),
    [anon_sym_STAR_EQ] = ACTIONS(3231),
    [anon_sym_SLASH_EQ] = ACTIONS(3231),
    [anon_sym_PERCENT_EQ] = ACTIONS(3231),
    [anon_sym_BANG_EQ] = ACTIONS(3229),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3231),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3231),
    [anon_sym_LT_EQ] = ACTIONS(3231),
    [anon_sym_GT_EQ] = ACTIONS(3231),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3231),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3231),
    [anon_sym_is] = ACTIONS(3229),
    [anon_sym_PLUS] = ACTIONS(3229),
    [anon_sym_DASH] = ACTIONS(3229),
    [anon_sym_STAR] = ACTIONS(3229),
    [anon_sym_SLASH] = ACTIONS(3229),
    [anon_sym_PERCENT] = ACTIONS(3229),
    [anon_sym_PLUS_PLUS] = ACTIONS(3231),
    [anon_sym_DASH_DASH] = ACTIONS(3231),
    [anon_sym_PIPE] = ACTIONS(3231),
    [anon_sym_CARET] = ACTIONS(3229),
    [anon_sym_LT_LT] = ACTIONS(3231),
    [anon_sym_GT_GT] = ACTIONS(3231),
    [anon_sym_borrowing] = ACTIONS(3229),
    [anon_sym_consuming] = ACTIONS(3229),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3231),
    [sym__conjunction_operator_custom] = ACTIONS(3231),
    [sym__disjunction_operator_custom] = ACTIONS(3231),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3231),
    [sym__eq_custom] = ACTIONS(3231),
    [sym__eq_eq_custom] = ACTIONS(3231),
    [sym__plus_then_ws] = ACTIONS(3231),
    [sym__minus_then_ws] = ACTIONS(3231),
    [sym__bang_custom] = ACTIONS(3231),
    [sym__as_custom] = ACTIONS(3231),
    [sym__as_quest_custom] = ACTIONS(3231),
    [sym__as_bang_custom] = ACTIONS(3231),
    [sym__custom_operator] = ACTIONS(3231),
  },
  [1847] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3123),
    [anon_sym_async] = ACTIONS(3123),
    [anon_sym_lazy] = ACTIONS(3123),
    [anon_sym_package] = ACTIONS(3123),
    [anon_sym_RPAREN] = ACTIONS(3123),
    [anon_sym_COMMA] = ACTIONS(3123),
    [anon_sym_BANG2] = ACTIONS(3123),
    [anon_sym_DOT] = ACTIONS(3121),
    [anon_sym_QMARK2] = ACTIONS(3123),
    [anon_sym_AMP] = ACTIONS(3123),
    [anon_sym_LBRACE] = ACTIONS(3123),
    [anon_sym_RBRACE] = ACTIONS(3123),
    [anon_sym_case] = ACTIONS(3123),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3123),
    [anon_sym_import] = ACTIONS(3123),
    [anon_sym_typealias] = ACTIONS(3123),
    [anon_sym_struct] = ACTIONS(3123),
    [anon_sym_class] = ACTIONS(3123),
    [anon_sym_enum] = ACTIONS(3123),
    [anon_sym_protocol] = ACTIONS(3123),
    [anon_sym_let] = ACTIONS(3123),
    [anon_sym_var] = ACTIONS(3123),
    [anon_sym_func] = ACTIONS(3123),
    [anon_sym_extension] = ACTIONS(3123),
    [anon_sym_indirect] = ACTIONS(3123),
    [anon_sym_init] = ACTIONS(3123),
    [anon_sym_deinit] = ACTIONS(3123),
    [anon_sym_subscript] = ACTIONS(3123),
    [anon_sym_prefix] = ACTIONS(3123),
    [anon_sym_infix] = ACTIONS(3123),
    [anon_sym_postfix] = ACTIONS(3123),
    [anon_sym_precedencegroup] = ACTIONS(3123),
    [anon_sym_associatedtype] = ACTIONS(3123),
    [anon_sym_AT] = ACTIONS(3121),
    [anon_sym_override] = ACTIONS(3123),
    [anon_sym_convenience] = ACTIONS(3123),
    [anon_sym_required] = ACTIONS(3123),
    [anon_sym_nonisolated] = ACTIONS(3123),
    [anon_sym_public] = ACTIONS(3123),
    [anon_sym_private] = ACTIONS(3123),
    [anon_sym_internal] = ACTIONS(3123),
    [anon_sym_fileprivate] = ACTIONS(3123),
    [anon_sym_open] = ACTIONS(3123),
    [anon_sym_mutating] = ACTIONS(3123),
    [anon_sym_nonmutating] = ACTIONS(3123),
    [anon_sym_static] = ACTIONS(3123),
    [anon_sym_dynamic] = ACTIONS(3123),
    [anon_sym_optional] = ACTIONS(3123),
    [anon_sym_distributed] = ACTIONS(3123),
    [anon_sym_final] = ACTIONS(3123),
    [anon_sym_inout] = ACTIONS(3123),
    [anon_sym_ATescaping] = ACTIONS(3123),
    [anon_sym_ATautoclosure] = ACTIONS(3123),
    [anon_sym_weak] = ACTIONS(3123),
    [anon_sym_unowned] = ACTIONS(3121),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3123),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3123),
    [anon_sym_borrowing] = ACTIONS(3123),
    [anon_sym_consuming] = ACTIONS(3123),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3123),
    [sym__eq_custom] = ACTIONS(3123),
    [sym__throws_keyword] = ACTIONS(3123),
    [sym__rethrows_keyword] = ACTIONS(3123),
    [sym__async_keyword_custom] = ACTIONS(3123),
  },
  [1848] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3182),
    [anon_sym_async] = ACTIONS(3182),
    [anon_sym_lazy] = ACTIONS(3182),
    [anon_sym_package] = ACTIONS(3182),
    [anon_sym_RPAREN] = ACTIONS(3182),
    [anon_sym_COMMA] = ACTIONS(3182),
    [anon_sym_BANG2] = ACTIONS(3182),
    [anon_sym_DOT] = ACTIONS(3180),
    [anon_sym_QMARK2] = ACTIONS(3182),
    [anon_sym_AMP] = ACTIONS(3182),
    [anon_sym_LBRACE] = ACTIONS(3182),
    [anon_sym_RBRACE] = ACTIONS(3182),
    [anon_sym_case] = ACTIONS(3182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3182),
    [anon_sym_import] = ACTIONS(3182),
    [anon_sym_typealias] = ACTIONS(3182),
    [anon_sym_struct] = ACTIONS(3182),
    [anon_sym_class] = ACTIONS(3182),
    [anon_sym_enum] = ACTIONS(3182),
    [anon_sym_protocol] = ACTIONS(3182),
    [anon_sym_let] = ACTIONS(3182),
    [anon_sym_var] = ACTIONS(3182),
    [anon_sym_func] = ACTIONS(3182),
    [anon_sym_extension] = ACTIONS(3182),
    [anon_sym_indirect] = ACTIONS(3182),
    [anon_sym_init] = ACTIONS(3182),
    [anon_sym_deinit] = ACTIONS(3182),
    [anon_sym_subscript] = ACTIONS(3182),
    [anon_sym_prefix] = ACTIONS(3182),
    [anon_sym_infix] = ACTIONS(3182),
    [anon_sym_postfix] = ACTIONS(3182),
    [anon_sym_precedencegroup] = ACTIONS(3182),
    [anon_sym_associatedtype] = ACTIONS(3182),
    [anon_sym_AT] = ACTIONS(3180),
    [anon_sym_override] = ACTIONS(3182),
    [anon_sym_convenience] = ACTIONS(3182),
    [anon_sym_required] = ACTIONS(3182),
    [anon_sym_nonisolated] = ACTIONS(3182),
    [anon_sym_public] = ACTIONS(3182),
    [anon_sym_private] = ACTIONS(3182),
    [anon_sym_internal] = ACTIONS(3182),
    [anon_sym_fileprivate] = ACTIONS(3182),
    [anon_sym_open] = ACTIONS(3182),
    [anon_sym_mutating] = ACTIONS(3182),
    [anon_sym_nonmutating] = ACTIONS(3182),
    [anon_sym_static] = ACTIONS(3182),
    [anon_sym_dynamic] = ACTIONS(3182),
    [anon_sym_optional] = ACTIONS(3182),
    [anon_sym_distributed] = ACTIONS(3182),
    [anon_sym_final] = ACTIONS(3182),
    [anon_sym_inout] = ACTIONS(3182),
    [anon_sym_ATescaping] = ACTIONS(3182),
    [anon_sym_ATautoclosure] = ACTIONS(3182),
    [anon_sym_weak] = ACTIONS(3182),
    [anon_sym_unowned] = ACTIONS(3180),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3182),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3182),
    [anon_sym_borrowing] = ACTIONS(3182),
    [anon_sym_consuming] = ACTIONS(3182),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3182),
    [sym__eq_custom] = ACTIONS(3182),
    [sym__throws_keyword] = ACTIONS(3182),
    [sym__rethrows_keyword] = ACTIONS(3182),
    [sym__async_keyword_custom] = ACTIONS(3182),
  },
  [1849] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(2993),
    [anon_sym_async] = ACTIONS(2993),
    [anon_sym_lazy] = ACTIONS(2993),
    [anon_sym_package] = ACTIONS(2993),
    [anon_sym_COMMA] = ACTIONS(2993),
    [anon_sym_BANG2] = ACTIONS(2993),
    [anon_sym_DOT] = ACTIONS(2993),
    [anon_sym_QMARK2] = ACTIONS(2993),
    [anon_sym_AMP] = ACTIONS(2993),
    [anon_sym_LBRACE] = ACTIONS(2993),
    [anon_sym_RBRACE] = ACTIONS(2993),
    [anon_sym_case] = ACTIONS(2993),
    [anon_sym_import] = ACTIONS(2993),
    [anon_sym_typealias] = ACTIONS(2993),
    [anon_sym_struct] = ACTIONS(2993),
    [anon_sym_class] = ACTIONS(2993),
    [anon_sym_enum] = ACTIONS(2993),
    [anon_sym_protocol] = ACTIONS(2993),
    [anon_sym_let] = ACTIONS(2993),
    [anon_sym_var] = ACTIONS(2993),
    [anon_sym_func] = ACTIONS(2993),
    [anon_sym_extension] = ACTIONS(2993),
    [anon_sym_indirect] = ACTIONS(2993),
    [anon_sym_init] = ACTIONS(2993),
    [anon_sym_deinit] = ACTIONS(2993),
    [anon_sym_subscript] = ACTIONS(2993),
    [anon_sym_prefix] = ACTIONS(2993),
    [anon_sym_infix] = ACTIONS(2993),
    [anon_sym_postfix] = ACTIONS(2993),
    [anon_sym_precedencegroup] = ACTIONS(2993),
    [anon_sym_associatedtype] = ACTIONS(2993),
    [anon_sym_AT] = ACTIONS(2991),
    [anon_sym_override] = ACTIONS(2993),
    [anon_sym_convenience] = ACTIONS(2993),
    [anon_sym_required] = ACTIONS(2993),
    [anon_sym_nonisolated] = ACTIONS(2993),
    [anon_sym_public] = ACTIONS(2993),
    [anon_sym_private] = ACTIONS(2993),
    [anon_sym_internal] = ACTIONS(2993),
    [anon_sym_fileprivate] = ACTIONS(2993),
    [anon_sym_open] = ACTIONS(2993),
    [anon_sym_mutating] = ACTIONS(2993),
    [anon_sym_nonmutating] = ACTIONS(2993),
    [anon_sym_static] = ACTIONS(2993),
    [anon_sym_dynamic] = ACTIONS(2993),
    [anon_sym_optional] = ACTIONS(2993),
    [anon_sym_distributed] = ACTIONS(2993),
    [anon_sym_final] = ACTIONS(2993),
    [anon_sym_inout] = ACTIONS(2993),
    [anon_sym_ATescaping] = ACTIONS(2993),
    [anon_sym_ATautoclosure] = ACTIONS(2993),
    [anon_sym_weak] = ACTIONS(2993),
    [anon_sym_unowned] = ACTIONS(2991),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(2993),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(2993),
    [anon_sym_borrowing] = ACTIONS(2993),
    [anon_sym_consuming] = ACTIONS(2993),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(2993),
    [sym__dot_custom] = ACTIONS(2993),
    [sym__eq_custom] = ACTIONS(2993),
    [sym__throws_keyword] = ACTIONS(2993),
    [sym__rethrows_keyword] = ACTIONS(2993),
    [sym_where_keyword] = ACTIONS(2993),
    [sym__async_keyword_custom] = ACTIONS(2993),
  },
  [1850] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3143),
    [anon_sym_async] = ACTIONS(3143),
    [anon_sym_lazy] = ACTIONS(3143),
    [anon_sym_package] = ACTIONS(3143),
    [anon_sym_RPAREN] = ACTIONS(3143),
    [anon_sym_COMMA] = ACTIONS(3143),
    [anon_sym_BANG2] = ACTIONS(3143),
    [anon_sym_DOT] = ACTIONS(3141),
    [anon_sym_QMARK2] = ACTIONS(3143),
    [anon_sym_AMP] = ACTIONS(3143),
    [anon_sym_LBRACE] = ACTIONS(3143),
    [anon_sym_RBRACE] = ACTIONS(3143),
    [anon_sym_case] = ACTIONS(3143),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3143),
    [anon_sym_import] = ACTIONS(3143),
    [anon_sym_typealias] = ACTIONS(3143),
    [anon_sym_struct] = ACTIONS(3143),
    [anon_sym_class] = ACTIONS(3143),
    [anon_sym_enum] = ACTIONS(3143),
    [anon_sym_protocol] = ACTIONS(3143),
    [anon_sym_let] = ACTIONS(3143),
    [anon_sym_var] = ACTIONS(3143),
    [anon_sym_func] = ACTIONS(3143),
    [anon_sym_extension] = ACTIONS(3143),
    [anon_sym_indirect] = ACTIONS(3143),
    [anon_sym_init] = ACTIONS(3143),
    [anon_sym_deinit] = ACTIONS(3143),
    [anon_sym_subscript] = ACTIONS(3143),
    [anon_sym_prefix] = ACTIONS(3143),
    [anon_sym_infix] = ACTIONS(3143),
    [anon_sym_postfix] = ACTIONS(3143),
    [anon_sym_precedencegroup] = ACTIONS(3143),
    [anon_sym_associatedtype] = ACTIONS(3143),
    [anon_sym_AT] = ACTIONS(3141),
    [anon_sym_override] = ACTIONS(3143),
    [anon_sym_convenience] = ACTIONS(3143),
    [anon_sym_required] = ACTIONS(3143),
    [anon_sym_nonisolated] = ACTIONS(3143),
    [anon_sym_public] = ACTIONS(3143),
    [anon_sym_private] = ACTIONS(3143),
    [anon_sym_internal] = ACTIONS(3143),
    [anon_sym_fileprivate] = ACTIONS(3143),
    [anon_sym_open] = ACTIONS(3143),
    [anon_sym_mutating] = ACTIONS(3143),
    [anon_sym_nonmutating] = ACTIONS(3143),
    [anon_sym_static] = ACTIONS(3143),
    [anon_sym_dynamic] = ACTIONS(3143),
    [anon_sym_optional] = ACTIONS(3143),
    [anon_sym_distributed] = ACTIONS(3143),
    [anon_sym_final] = ACTIONS(3143),
    [anon_sym_inout] = ACTIONS(3143),
    [anon_sym_ATescaping] = ACTIONS(3143),
    [anon_sym_ATautoclosure] = ACTIONS(3143),
    [anon_sym_weak] = ACTIONS(3143),
    [anon_sym_unowned] = ACTIONS(3141),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3143),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3143),
    [anon_sym_borrowing] = ACTIONS(3143),
    [anon_sym_consuming] = ACTIONS(3143),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3143),
    [sym__eq_custom] = ACTIONS(3143),
    [sym__throws_keyword] = ACTIONS(3143),
    [sym__rethrows_keyword] = ACTIONS(3143),
    [sym__async_keyword_custom] = ACTIONS(3143),
  },
  [1851] = {
    [anon_sym_BANG] = ACTIONS(3225),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3225),
    [aux_sym_simple_identifier_token2] = ACTIONS(3227),
    [aux_sym_simple_identifier_token3] = ACTIONS(3227),
    [aux_sym_simple_identifier_token4] = ACTIONS(3227),
    [anon_sym_actor] = ACTIONS(3225),
    [anon_sym_async] = ACTIONS(3225),
    [anon_sym_each] = ACTIONS(3225),
    [anon_sym_lazy] = ACTIONS(3225),
    [anon_sym_repeat] = ACTIONS(3225),
    [anon_sym_package] = ACTIONS(3225),
    [anon_sym_COMMA] = ACTIONS(3227),
    [anon_sym_LPAREN] = ACTIONS(3227),
    [anon_sym_LBRACK] = ACTIONS(3227),
    [anon_sym_QMARK] = ACTIONS(3225),
    [anon_sym_QMARK2] = ACTIONS(3227),
    [anon_sym_AMP] = ACTIONS(3227),
    [aux_sym_custom_operator_token1] = ACTIONS(3227),
    [anon_sym_LT] = ACTIONS(3225),
    [anon_sym_GT] = ACTIONS(3225),
    [anon_sym_LBRACE] = ACTIONS(3227),
    [anon_sym_CARET_LBRACE] = ACTIONS(3227),
    [anon_sym_RBRACE] = ACTIONS(3227),
    [anon_sym_PLUS_EQ] = ACTIONS(3227),
    [anon_sym_DASH_EQ] = ACTIONS(3227),
    [anon_sym_STAR_EQ] = ACTIONS(3227),
    [anon_sym_SLASH_EQ] = ACTIONS(3227),
    [anon_sym_PERCENT_EQ] = ACTIONS(3227),
    [anon_sym_BANG_EQ] = ACTIONS(3225),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3227),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3227),
    [anon_sym_LT_EQ] = ACTIONS(3227),
    [anon_sym_GT_EQ] = ACTIONS(3227),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3227),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3227),
    [anon_sym_is] = ACTIONS(3225),
    [anon_sym_PLUS] = ACTIONS(3225),
    [anon_sym_DASH] = ACTIONS(3225),
    [anon_sym_STAR] = ACTIONS(3225),
    [anon_sym_SLASH] = ACTIONS(3225),
    [anon_sym_PERCENT] = ACTIONS(3225),
    [anon_sym_PLUS_PLUS] = ACTIONS(3227),
    [anon_sym_DASH_DASH] = ACTIONS(3227),
    [anon_sym_PIPE] = ACTIONS(3227),
    [anon_sym_CARET] = ACTIONS(3225),
    [anon_sym_LT_LT] = ACTIONS(3227),
    [anon_sym_GT_GT] = ACTIONS(3227),
    [anon_sym_borrowing] = ACTIONS(3225),
    [anon_sym_consuming] = ACTIONS(3225),
    [sym_multiline_comment] = ACTIONS(3227),
    [sym__implicit_semi] = ACTIONS(3227),
    [sym__explicit_semi] = ACTIONS(3227),
    [sym__dot_custom] = ACTIONS(3227),
    [sym__conjunction_operator_custom] = ACTIONS(3227),
    [sym__disjunction_operator_custom] = ACTIONS(3227),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3227),
    [sym__eq_custom] = ACTIONS(3227),
    [sym__eq_eq_custom] = ACTIONS(3227),
    [sym__plus_then_ws] = ACTIONS(3227),
    [sym__minus_then_ws] = ACTIONS(3227),
    [sym__bang_custom] = ACTIONS(3227),
    [sym__as_custom] = ACTIONS(3227),
    [sym__as_quest_custom] = ACTIONS(3227),
    [sym__as_bang_custom] = ACTIONS(3227),
    [sym__custom_operator] = ACTIONS(3227),
  },
  [1852] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3119),
    [anon_sym_async] = ACTIONS(3119),
    [anon_sym_lazy] = ACTIONS(3119),
    [anon_sym_package] = ACTIONS(3119),
    [anon_sym_COMMA] = ACTIONS(3119),
    [anon_sym_COLON] = ACTIONS(3119),
    [anon_sym_DOT] = ACTIONS(3119),
    [anon_sym_QMARK] = ACTIONS(3119),
    [anon_sym_AMP] = ACTIONS(3119),
    [anon_sym_LBRACE] = ACTIONS(3119),
    [anon_sym_RBRACE] = ACTIONS(3119),
    [anon_sym_case] = ACTIONS(3119),
    [anon_sym_import] = ACTIONS(3119),
    [anon_sym_typealias] = ACTIONS(3119),
    [anon_sym_struct] = ACTIONS(3119),
    [anon_sym_class] = ACTIONS(3119),
    [anon_sym_enum] = ACTIONS(3119),
    [anon_sym_protocol] = ACTIONS(3119),
    [anon_sym_let] = ACTIONS(3119),
    [anon_sym_var] = ACTIONS(3119),
    [anon_sym_func] = ACTIONS(3119),
    [anon_sym_extension] = ACTIONS(3119),
    [anon_sym_indirect] = ACTIONS(3119),
    [anon_sym_init] = ACTIONS(3119),
    [anon_sym_deinit] = ACTIONS(3119),
    [anon_sym_subscript] = ACTIONS(3119),
    [anon_sym_prefix] = ACTIONS(3119),
    [anon_sym_infix] = ACTIONS(3119),
    [anon_sym_postfix] = ACTIONS(3119),
    [anon_sym_precedencegroup] = ACTIONS(3119),
    [anon_sym_associatedtype] = ACTIONS(3119),
    [anon_sym_AT] = ACTIONS(3117),
    [anon_sym_override] = ACTIONS(3119),
    [anon_sym_convenience] = ACTIONS(3119),
    [anon_sym_required] = ACTIONS(3119),
    [anon_sym_nonisolated] = ACTIONS(3119),
    [anon_sym_public] = ACTIONS(3119),
    [anon_sym_private] = ACTIONS(3119),
    [anon_sym_internal] = ACTIONS(3119),
    [anon_sym_fileprivate] = ACTIONS(3119),
    [anon_sym_open] = ACTIONS(3119),
    [anon_sym_mutating] = ACTIONS(3119),
    [anon_sym_nonmutating] = ACTIONS(3119),
    [anon_sym_static] = ACTIONS(3119),
    [anon_sym_dynamic] = ACTIONS(3119),
    [anon_sym_optional] = ACTIONS(3119),
    [anon_sym_distributed] = ACTIONS(3119),
    [anon_sym_final] = ACTIONS(3119),
    [anon_sym_inout] = ACTIONS(3119),
    [anon_sym_ATescaping] = ACTIONS(3119),
    [anon_sym_ATautoclosure] = ACTIONS(3119),
    [anon_sym_weak] = ACTIONS(3119),
    [anon_sym_unowned] = ACTIONS(3117),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3119),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3119),
    [anon_sym_borrowing] = ACTIONS(3119),
    [anon_sym_consuming] = ACTIONS(3119),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3119),
    [sym__eq_custom] = ACTIONS(3119),
    [sym__throws_keyword] = ACTIONS(3119),
    [sym__rethrows_keyword] = ACTIONS(3119),
    [sym_where_keyword] = ACTIONS(3119),
    [sym__as_custom] = ACTIONS(3119),
    [sym__async_keyword_custom] = ACTIONS(3119),
  },
  [1853] = {
    [anon_sym_BANG] = ACTIONS(3237),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3237),
    [aux_sym_simple_identifier_token2] = ACTIONS(3239),
    [aux_sym_simple_identifier_token3] = ACTIONS(3239),
    [aux_sym_simple_identifier_token4] = ACTIONS(3239),
    [anon_sym_actor] = ACTIONS(3237),
    [anon_sym_async] = ACTIONS(3237),
    [anon_sym_each] = ACTIONS(3237),
    [anon_sym_lazy] = ACTIONS(3237),
    [anon_sym_repeat] = ACTIONS(3237),
    [anon_sym_package] = ACTIONS(3237),
    [anon_sym_RPAREN] = ACTIONS(3239),
    [anon_sym_COMMA] = ACTIONS(3239),
    [anon_sym_COLON] = ACTIONS(3239),
    [anon_sym_LPAREN] = ACTIONS(3239),
    [anon_sym_LBRACK] = ACTIONS(3239),
    [anon_sym_RBRACK] = ACTIONS(3239),
    [anon_sym_QMARK] = ACTIONS(3237),
    [anon_sym_QMARK2] = ACTIONS(3239),
    [anon_sym_AMP] = ACTIONS(3239),
    [aux_sym_custom_operator_token1] = ACTIONS(3239),
    [anon_sym_LT] = ACTIONS(3237),
    [anon_sym_GT] = ACTIONS(3237),
    [anon_sym_LBRACE] = ACTIONS(3239),
    [anon_sym_CARET_LBRACE] = ACTIONS(3239),
    [anon_sym_PLUS_EQ] = ACTIONS(3239),
    [anon_sym_DASH_EQ] = ACTIONS(3239),
    [anon_sym_STAR_EQ] = ACTIONS(3239),
    [anon_sym_SLASH_EQ] = ACTIONS(3239),
    [anon_sym_PERCENT_EQ] = ACTIONS(3239),
    [anon_sym_BANG_EQ] = ACTIONS(3237),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3239),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3239),
    [anon_sym_LT_EQ] = ACTIONS(3239),
    [anon_sym_GT_EQ] = ACTIONS(3239),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3239),
    [anon_sym_is] = ACTIONS(3237),
    [anon_sym_PLUS] = ACTIONS(3237),
    [anon_sym_DASH] = ACTIONS(3237),
    [anon_sym_STAR] = ACTIONS(3237),
    [anon_sym_SLASH] = ACTIONS(3237),
    [anon_sym_PERCENT] = ACTIONS(3237),
    [anon_sym_PLUS_PLUS] = ACTIONS(3239),
    [anon_sym_DASH_DASH] = ACTIONS(3239),
    [anon_sym_PIPE] = ACTIONS(3239),
    [anon_sym_CARET] = ACTIONS(3237),
    [anon_sym_LT_LT] = ACTIONS(3239),
    [anon_sym_GT_GT] = ACTIONS(3239),
    [anon_sym_borrowing] = ACTIONS(3237),
    [anon_sym_consuming] = ACTIONS(3237),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3239),
    [sym__conjunction_operator_custom] = ACTIONS(3239),
    [sym__disjunction_operator_custom] = ACTIONS(3239),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3239),
    [sym__eq_custom] = ACTIONS(3239),
    [sym__eq_eq_custom] = ACTIONS(3239),
    [sym__plus_then_ws] = ACTIONS(3239),
    [sym__minus_then_ws] = ACTIONS(3239),
    [sym__bang_custom] = ACTIONS(3239),
    [sym__as_custom] = ACTIONS(3239),
    [sym__as_quest_custom] = ACTIONS(3239),
    [sym__as_bang_custom] = ACTIONS(3239),
    [sym__custom_operator] = ACTIONS(3239),
  },
  [1854] = {
    [ts_builtin_sym_end] = ACTIONS(3223),
    [anon_sym_BANG] = ACTIONS(3219),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3219),
    [aux_sym_simple_identifier_token2] = ACTIONS(3221),
    [aux_sym_simple_identifier_token3] = ACTIONS(3221),
    [aux_sym_simple_identifier_token4] = ACTIONS(3221),
    [anon_sym_actor] = ACTIONS(3219),
    [anon_sym_async] = ACTIONS(3219),
    [anon_sym_each] = ACTIONS(3219),
    [anon_sym_lazy] = ACTIONS(3219),
    [anon_sym_repeat] = ACTIONS(3219),
    [anon_sym_package] = ACTIONS(3219),
    [anon_sym_LPAREN] = ACTIONS(3221),
    [anon_sym_LBRACK] = ACTIONS(3221),
    [anon_sym_QMARK] = ACTIONS(3219),
    [anon_sym_QMARK2] = ACTIONS(3221),
    [anon_sym_AMP] = ACTIONS(3221),
    [aux_sym_custom_operator_token1] = ACTIONS(3221),
    [anon_sym_LT] = ACTIONS(3219),
    [anon_sym_GT] = ACTIONS(3219),
    [anon_sym_LBRACE] = ACTIONS(3221),
    [anon_sym_CARET_LBRACE] = ACTIONS(3221),
    [anon_sym_RBRACE] = ACTIONS(3223),
    [anon_sym_PLUS_EQ] = ACTIONS(3221),
    [anon_sym_DASH_EQ] = ACTIONS(3221),
    [anon_sym_STAR_EQ] = ACTIONS(3221),
    [anon_sym_SLASH_EQ] = ACTIONS(3221),
    [anon_sym_PERCENT_EQ] = ACTIONS(3221),
    [anon_sym_BANG_EQ] = ACTIONS(3219),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3221),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3221),
    [anon_sym_LT_EQ] = ACTIONS(3221),
    [anon_sym_GT_EQ] = ACTIONS(3221),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3221),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3221),
    [anon_sym_is] = ACTIONS(3219),
    [anon_sym_PLUS] = ACTIONS(3219),
    [anon_sym_DASH] = ACTIONS(3219),
    [anon_sym_STAR] = ACTIONS(3219),
    [anon_sym_SLASH] = ACTIONS(3219),
    [anon_sym_PERCENT] = ACTIONS(3219),
    [anon_sym_PLUS_PLUS] = ACTIONS(3221),
    [anon_sym_DASH_DASH] = ACTIONS(3221),
    [anon_sym_PIPE] = ACTIONS(3221),
    [anon_sym_CARET] = ACTIONS(3219),
    [anon_sym_LT_LT] = ACTIONS(3221),
    [anon_sym_GT_GT] = ACTIONS(3221),
    [anon_sym_borrowing] = ACTIONS(3219),
    [anon_sym_consuming] = ACTIONS(3219),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3223),
    [sym__explicit_semi] = ACTIONS(3223),
    [sym__dot_custom] = ACTIONS(3221),
    [sym__conjunction_operator_custom] = ACTIONS(3221),
    [sym__disjunction_operator_custom] = ACTIONS(3221),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3221),
    [sym__eq_custom] = ACTIONS(3221),
    [sym__eq_eq_custom] = ACTIONS(3221),
    [sym__plus_then_ws] = ACTIONS(3221),
    [sym__minus_then_ws] = ACTIONS(3221),
    [sym__bang_custom] = ACTIONS(3221),
    [sym__as_custom] = ACTIONS(3221),
    [sym__as_quest_custom] = ACTIONS(3221),
    [sym__as_bang_custom] = ACTIONS(3221),
    [sym__custom_operator] = ACTIONS(3221),
  },
  [1855] = {
    [anon_sym_BANG] = ACTIONS(3217),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3219),
    [aux_sym_simple_identifier_token2] = ACTIONS(3221),
    [aux_sym_simple_identifier_token3] = ACTIONS(3221),
    [aux_sym_simple_identifier_token4] = ACTIONS(3221),
    [anon_sym_actor] = ACTIONS(3219),
    [anon_sym_async] = ACTIONS(3219),
    [anon_sym_each] = ACTIONS(3219),
    [anon_sym_lazy] = ACTIONS(3219),
    [anon_sym_repeat] = ACTIONS(3219),
    [anon_sym_package] = ACTIONS(3219),
    [anon_sym_COMMA] = ACTIONS(3223),
    [anon_sym_LPAREN] = ACTIONS(3223),
    [anon_sym_LBRACK] = ACTIONS(3223),
    [anon_sym_QMARK] = ACTIONS(3217),
    [anon_sym_QMARK2] = ACTIONS(3223),
    [anon_sym_AMP] = ACTIONS(3223),
    [aux_sym_custom_operator_token1] = ACTIONS(3223),
    [anon_sym_LT] = ACTIONS(3217),
    [anon_sym_GT] = ACTIONS(3217),
    [anon_sym_LBRACE] = ACTIONS(3223),
    [anon_sym_CARET_LBRACE] = ACTIONS(3223),
    [anon_sym_RBRACE] = ACTIONS(3223),
    [anon_sym_PLUS_EQ] = ACTIONS(3223),
    [anon_sym_DASH_EQ] = ACTIONS(3223),
    [anon_sym_STAR_EQ] = ACTIONS(3223),
    [anon_sym_SLASH_EQ] = ACTIONS(3223),
    [anon_sym_PERCENT_EQ] = ACTIONS(3223),
    [anon_sym_BANG_EQ] = ACTIONS(3217),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3223),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3223),
    [anon_sym_LT_EQ] = ACTIONS(3223),
    [anon_sym_GT_EQ] = ACTIONS(3223),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3223),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3223),
    [anon_sym_is] = ACTIONS(3217),
    [anon_sym_PLUS] = ACTIONS(3217),
    [anon_sym_DASH] = ACTIONS(3217),
    [anon_sym_STAR] = ACTIONS(3217),
    [anon_sym_SLASH] = ACTIONS(3217),
    [anon_sym_PERCENT] = ACTIONS(3217),
    [anon_sym_PLUS_PLUS] = ACTIONS(3223),
    [anon_sym_DASH_DASH] = ACTIONS(3223),
    [anon_sym_PIPE] = ACTIONS(3223),
    [anon_sym_CARET] = ACTIONS(3217),
    [anon_sym_LT_LT] = ACTIONS(3223),
    [anon_sym_GT_GT] = ACTIONS(3223),
    [anon_sym_borrowing] = ACTIONS(3219),
    [anon_sym_consuming] = ACTIONS(3219),
    [sym_multiline_comment] = ACTIONS(3223),
    [sym__implicit_semi] = ACTIONS(3223),
    [sym__explicit_semi] = ACTIONS(3223),
    [sym__dot_custom] = ACTIONS(3223),
    [sym__conjunction_operator_custom] = ACTIONS(3223),
    [sym__disjunction_operator_custom] = ACTIONS(3223),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3223),
    [sym__eq_custom] = ACTIONS(3223),
    [sym__eq_eq_custom] = ACTIONS(3223),
    [sym__plus_then_ws] = ACTIONS(3223),
    [sym__minus_then_ws] = ACTIONS(3223),
    [sym__bang_custom] = ACTIONS(3223),
    [sym__as_custom] = ACTIONS(3223),
    [sym__as_quest_custom] = ACTIONS(3223),
    [sym__as_bang_custom] = ACTIONS(3223),
    [sym__custom_operator] = ACTIONS(3223),
  },
  [1856] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3127),
    [anon_sym_async] = ACTIONS(3127),
    [anon_sym_lazy] = ACTIONS(3127),
    [anon_sym_package] = ACTIONS(3127),
    [anon_sym_COMMA] = ACTIONS(3127),
    [anon_sym_BANG2] = ACTIONS(3127),
    [anon_sym_DOT] = ACTIONS(3127),
    [anon_sym_QMARK2] = ACTIONS(3127),
    [anon_sym_AMP] = ACTIONS(3127),
    [anon_sym_LBRACE] = ACTIONS(3127),
    [anon_sym_RBRACE] = ACTIONS(3127),
    [anon_sym_case] = ACTIONS(3127),
    [anon_sym_import] = ACTIONS(3127),
    [anon_sym_typealias] = ACTIONS(3127),
    [anon_sym_struct] = ACTIONS(3127),
    [anon_sym_class] = ACTIONS(3127),
    [anon_sym_enum] = ACTIONS(3127),
    [anon_sym_protocol] = ACTIONS(3127),
    [anon_sym_let] = ACTIONS(3127),
    [anon_sym_var] = ACTIONS(3127),
    [anon_sym_func] = ACTIONS(3127),
    [anon_sym_extension] = ACTIONS(3127),
    [anon_sym_indirect] = ACTIONS(3127),
    [anon_sym_init] = ACTIONS(3127),
    [anon_sym_deinit] = ACTIONS(3127),
    [anon_sym_subscript] = ACTIONS(3127),
    [anon_sym_prefix] = ACTIONS(3127),
    [anon_sym_infix] = ACTIONS(3127),
    [anon_sym_postfix] = ACTIONS(3127),
    [anon_sym_precedencegroup] = ACTIONS(3127),
    [anon_sym_associatedtype] = ACTIONS(3127),
    [anon_sym_AT] = ACTIONS(3125),
    [anon_sym_override] = ACTIONS(3127),
    [anon_sym_convenience] = ACTIONS(3127),
    [anon_sym_required] = ACTIONS(3127),
    [anon_sym_nonisolated] = ACTIONS(3127),
    [anon_sym_public] = ACTIONS(3127),
    [anon_sym_private] = ACTIONS(3127),
    [anon_sym_internal] = ACTIONS(3127),
    [anon_sym_fileprivate] = ACTIONS(3127),
    [anon_sym_open] = ACTIONS(3127),
    [anon_sym_mutating] = ACTIONS(3127),
    [anon_sym_nonmutating] = ACTIONS(3127),
    [anon_sym_static] = ACTIONS(3127),
    [anon_sym_dynamic] = ACTIONS(3127),
    [anon_sym_optional] = ACTIONS(3127),
    [anon_sym_distributed] = ACTIONS(3127),
    [anon_sym_final] = ACTIONS(3127),
    [anon_sym_inout] = ACTIONS(3127),
    [anon_sym_ATescaping] = ACTIONS(3127),
    [anon_sym_ATautoclosure] = ACTIONS(3127),
    [anon_sym_weak] = ACTIONS(3127),
    [anon_sym_unowned] = ACTIONS(3125),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3127),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3127),
    [anon_sym_borrowing] = ACTIONS(3127),
    [anon_sym_consuming] = ACTIONS(3127),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3127),
    [sym__dot_custom] = ACTIONS(3127),
    [sym__eq_custom] = ACTIONS(3127),
    [sym__throws_keyword] = ACTIONS(3127),
    [sym__rethrows_keyword] = ACTIONS(3127),
    [sym_where_keyword] = ACTIONS(3127),
    [sym__async_keyword_custom] = ACTIONS(3127),
  },
  [1857] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3107),
    [anon_sym_async] = ACTIONS(3107),
    [anon_sym_lazy] = ACTIONS(3107),
    [anon_sym_package] = ACTIONS(3107),
    [anon_sym_COMMA] = ACTIONS(3107),
    [anon_sym_BANG2] = ACTIONS(3107),
    [anon_sym_DOT] = ACTIONS(3107),
    [anon_sym_QMARK2] = ACTIONS(3107),
    [anon_sym_AMP] = ACTIONS(3107),
    [anon_sym_LBRACE] = ACTIONS(3107),
    [anon_sym_RBRACE] = ACTIONS(3107),
    [anon_sym_case] = ACTIONS(3107),
    [anon_sym_import] = ACTIONS(3107),
    [anon_sym_typealias] = ACTIONS(3107),
    [anon_sym_struct] = ACTIONS(3107),
    [anon_sym_class] = ACTIONS(3107),
    [anon_sym_enum] = ACTIONS(3107),
    [anon_sym_protocol] = ACTIONS(3107),
    [anon_sym_let] = ACTIONS(3107),
    [anon_sym_var] = ACTIONS(3107),
    [anon_sym_func] = ACTIONS(3107),
    [anon_sym_extension] = ACTIONS(3107),
    [anon_sym_indirect] = ACTIONS(3107),
    [anon_sym_init] = ACTIONS(3107),
    [anon_sym_deinit] = ACTIONS(3107),
    [anon_sym_subscript] = ACTIONS(3107),
    [anon_sym_prefix] = ACTIONS(3107),
    [anon_sym_infix] = ACTIONS(3107),
    [anon_sym_postfix] = ACTIONS(3107),
    [anon_sym_precedencegroup] = ACTIONS(3107),
    [anon_sym_associatedtype] = ACTIONS(3107),
    [anon_sym_AT] = ACTIONS(3105),
    [anon_sym_override] = ACTIONS(3107),
    [anon_sym_convenience] = ACTIONS(3107),
    [anon_sym_required] = ACTIONS(3107),
    [anon_sym_nonisolated] = ACTIONS(3107),
    [anon_sym_public] = ACTIONS(3107),
    [anon_sym_private] = ACTIONS(3107),
    [anon_sym_internal] = ACTIONS(3107),
    [anon_sym_fileprivate] = ACTIONS(3107),
    [anon_sym_open] = ACTIONS(3107),
    [anon_sym_mutating] = ACTIONS(3107),
    [anon_sym_nonmutating] = ACTIONS(3107),
    [anon_sym_static] = ACTIONS(3107),
    [anon_sym_dynamic] = ACTIONS(3107),
    [anon_sym_optional] = ACTIONS(3107),
    [anon_sym_distributed] = ACTIONS(3107),
    [anon_sym_final] = ACTIONS(3107),
    [anon_sym_inout] = ACTIONS(3107),
    [anon_sym_ATescaping] = ACTIONS(3107),
    [anon_sym_ATautoclosure] = ACTIONS(3107),
    [anon_sym_weak] = ACTIONS(3107),
    [anon_sym_unowned] = ACTIONS(3105),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3107),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3107),
    [anon_sym_borrowing] = ACTIONS(3107),
    [anon_sym_consuming] = ACTIONS(3107),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3107),
    [sym__dot_custom] = ACTIONS(3107),
    [sym__eq_custom] = ACTIONS(3107),
    [sym__throws_keyword] = ACTIONS(3107),
    [sym__rethrows_keyword] = ACTIONS(3107),
    [sym_where_keyword] = ACTIONS(3107),
    [sym__async_keyword_custom] = ACTIONS(3107),
  },
  [1858] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3200),
    [anon_sym_async] = ACTIONS(3200),
    [anon_sym_lazy] = ACTIONS(3200),
    [anon_sym_package] = ACTIONS(3200),
    [anon_sym_COMMA] = ACTIONS(3200),
    [anon_sym_BANG2] = ACTIONS(3200),
    [anon_sym_DOT] = ACTIONS(3200),
    [anon_sym_QMARK2] = ACTIONS(3200),
    [anon_sym_AMP] = ACTIONS(3200),
    [anon_sym_LBRACE] = ACTIONS(3200),
    [anon_sym_RBRACE] = ACTIONS(3200),
    [anon_sym_case] = ACTIONS(3200),
    [anon_sym_import] = ACTIONS(3200),
    [anon_sym_typealias] = ACTIONS(3200),
    [anon_sym_struct] = ACTIONS(3200),
    [anon_sym_class] = ACTIONS(3200),
    [anon_sym_enum] = ACTIONS(3200),
    [anon_sym_protocol] = ACTIONS(3200),
    [anon_sym_let] = ACTIONS(3200),
    [anon_sym_var] = ACTIONS(3200),
    [anon_sym_func] = ACTIONS(3200),
    [anon_sym_extension] = ACTIONS(3200),
    [anon_sym_indirect] = ACTIONS(3200),
    [anon_sym_init] = ACTIONS(3200),
    [anon_sym_deinit] = ACTIONS(3200),
    [anon_sym_subscript] = ACTIONS(3200),
    [anon_sym_prefix] = ACTIONS(3200),
    [anon_sym_infix] = ACTIONS(3200),
    [anon_sym_postfix] = ACTIONS(3200),
    [anon_sym_precedencegroup] = ACTIONS(3200),
    [anon_sym_associatedtype] = ACTIONS(3200),
    [anon_sym_AT] = ACTIONS(3198),
    [anon_sym_override] = ACTIONS(3200),
    [anon_sym_convenience] = ACTIONS(3200),
    [anon_sym_required] = ACTIONS(3200),
    [anon_sym_nonisolated] = ACTIONS(3200),
    [anon_sym_public] = ACTIONS(3200),
    [anon_sym_private] = ACTIONS(3200),
    [anon_sym_internal] = ACTIONS(3200),
    [anon_sym_fileprivate] = ACTIONS(3200),
    [anon_sym_open] = ACTIONS(3200),
    [anon_sym_mutating] = ACTIONS(3200),
    [anon_sym_nonmutating] = ACTIONS(3200),
    [anon_sym_static] = ACTIONS(3200),
    [anon_sym_dynamic] = ACTIONS(3200),
    [anon_sym_optional] = ACTIONS(3200),
    [anon_sym_distributed] = ACTIONS(3200),
    [anon_sym_final] = ACTIONS(3200),
    [anon_sym_inout] = ACTIONS(3200),
    [anon_sym_ATescaping] = ACTIONS(3200),
    [anon_sym_ATautoclosure] = ACTIONS(3200),
    [anon_sym_weak] = ACTIONS(3200),
    [anon_sym_unowned] = ACTIONS(3198),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3200),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3200),
    [anon_sym_borrowing] = ACTIONS(3200),
    [anon_sym_consuming] = ACTIONS(3200),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3200),
    [sym__dot_custom] = ACTIONS(3200),
    [sym__eq_custom] = ACTIONS(3200),
    [sym__throws_keyword] = ACTIONS(3200),
    [sym__rethrows_keyword] = ACTIONS(3200),
    [sym_where_keyword] = ACTIONS(3200),
    [sym__async_keyword_custom] = ACTIONS(3200),
  },
  [1859] = {
    [anon_sym_BANG] = ACTIONS(3219),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3219),
    [aux_sym_simple_identifier_token2] = ACTIONS(3221),
    [aux_sym_simple_identifier_token3] = ACTIONS(3221),
    [aux_sym_simple_identifier_token4] = ACTIONS(3221),
    [anon_sym_actor] = ACTIONS(3219),
    [anon_sym_async] = ACTIONS(3219),
    [anon_sym_each] = ACTIONS(3219),
    [anon_sym_lazy] = ACTIONS(3219),
    [anon_sym_repeat] = ACTIONS(3219),
    [anon_sym_package] = ACTIONS(3219),
    [anon_sym_COMMA] = ACTIONS(3221),
    [anon_sym_LPAREN] = ACTIONS(3221),
    [anon_sym_LBRACK] = ACTIONS(3221),
    [anon_sym_QMARK] = ACTIONS(3219),
    [anon_sym_QMARK2] = ACTIONS(3221),
    [anon_sym_AMP] = ACTIONS(3221),
    [aux_sym_custom_operator_token1] = ACTIONS(3221),
    [anon_sym_LT] = ACTIONS(3219),
    [anon_sym_GT] = ACTIONS(3219),
    [anon_sym_LBRACE] = ACTIONS(3221),
    [anon_sym_CARET_LBRACE] = ACTIONS(3221),
    [anon_sym_RBRACE] = ACTIONS(3221),
    [anon_sym_PLUS_EQ] = ACTIONS(3221),
    [anon_sym_DASH_EQ] = ACTIONS(3221),
    [anon_sym_STAR_EQ] = ACTIONS(3221),
    [anon_sym_SLASH_EQ] = ACTIONS(3221),
    [anon_sym_PERCENT_EQ] = ACTIONS(3221),
    [anon_sym_BANG_EQ] = ACTIONS(3219),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3221),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3221),
    [anon_sym_LT_EQ] = ACTIONS(3221),
    [anon_sym_GT_EQ] = ACTIONS(3221),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3221),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3221),
    [anon_sym_is] = ACTIONS(3219),
    [anon_sym_PLUS] = ACTIONS(3219),
    [anon_sym_DASH] = ACTIONS(3219),
    [anon_sym_STAR] = ACTIONS(3219),
    [anon_sym_SLASH] = ACTIONS(3219),
    [anon_sym_PERCENT] = ACTIONS(3219),
    [anon_sym_PLUS_PLUS] = ACTIONS(3221),
    [anon_sym_DASH_DASH] = ACTIONS(3221),
    [anon_sym_PIPE] = ACTIONS(3221),
    [anon_sym_CARET] = ACTIONS(3219),
    [anon_sym_LT_LT] = ACTIONS(3221),
    [anon_sym_GT_GT] = ACTIONS(3221),
    [anon_sym_borrowing] = ACTIONS(3219),
    [anon_sym_consuming] = ACTIONS(3219),
    [sym_multiline_comment] = ACTIONS(3221),
    [sym__implicit_semi] = ACTIONS(3221),
    [sym__explicit_semi] = ACTIONS(3221),
    [sym__dot_custom] = ACTIONS(3221),
    [sym__conjunction_operator_custom] = ACTIONS(3221),
    [sym__disjunction_operator_custom] = ACTIONS(3221),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3221),
    [sym__eq_custom] = ACTIONS(3221),
    [sym__eq_eq_custom] = ACTIONS(3221),
    [sym__plus_then_ws] = ACTIONS(3221),
    [sym__minus_then_ws] = ACTIONS(3221),
    [sym__bang_custom] = ACTIONS(3221),
    [sym__as_custom] = ACTIONS(3221),
    [sym__as_quest_custom] = ACTIONS(3221),
    [sym__as_bang_custom] = ACTIONS(3221),
    [sym__custom_operator] = ACTIONS(3221),
  },
  [1860] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3135),
    [anon_sym_async] = ACTIONS(3135),
    [anon_sym_lazy] = ACTIONS(3135),
    [anon_sym_package] = ACTIONS(3135),
    [anon_sym_COMMA] = ACTIONS(3135),
    [anon_sym_BANG2] = ACTIONS(3135),
    [anon_sym_DOT] = ACTIONS(3135),
    [anon_sym_QMARK2] = ACTIONS(3135),
    [anon_sym_AMP] = ACTIONS(3135),
    [anon_sym_LBRACE] = ACTIONS(3135),
    [anon_sym_RBRACE] = ACTIONS(3135),
    [anon_sym_case] = ACTIONS(3135),
    [anon_sym_import] = ACTIONS(3135),
    [anon_sym_typealias] = ACTIONS(3135),
    [anon_sym_struct] = ACTIONS(3135),
    [anon_sym_class] = ACTIONS(3135),
    [anon_sym_enum] = ACTIONS(3135),
    [anon_sym_protocol] = ACTIONS(3135),
    [anon_sym_let] = ACTIONS(3135),
    [anon_sym_var] = ACTIONS(3135),
    [anon_sym_func] = ACTIONS(3135),
    [anon_sym_extension] = ACTIONS(3135),
    [anon_sym_indirect] = ACTIONS(3135),
    [anon_sym_init] = ACTIONS(3135),
    [anon_sym_deinit] = ACTIONS(3135),
    [anon_sym_subscript] = ACTIONS(3135),
    [anon_sym_prefix] = ACTIONS(3135),
    [anon_sym_infix] = ACTIONS(3135),
    [anon_sym_postfix] = ACTIONS(3135),
    [anon_sym_precedencegroup] = ACTIONS(3135),
    [anon_sym_associatedtype] = ACTIONS(3135),
    [anon_sym_AT] = ACTIONS(3133),
    [anon_sym_override] = ACTIONS(3135),
    [anon_sym_convenience] = ACTIONS(3135),
    [anon_sym_required] = ACTIONS(3135),
    [anon_sym_nonisolated] = ACTIONS(3135),
    [anon_sym_public] = ACTIONS(3135),
    [anon_sym_private] = ACTIONS(3135),
    [anon_sym_internal] = ACTIONS(3135),
    [anon_sym_fileprivate] = ACTIONS(3135),
    [anon_sym_open] = ACTIONS(3135),
    [anon_sym_mutating] = ACTIONS(3135),
    [anon_sym_nonmutating] = ACTIONS(3135),
    [anon_sym_static] = ACTIONS(3135),
    [anon_sym_dynamic] = ACTIONS(3135),
    [anon_sym_optional] = ACTIONS(3135),
    [anon_sym_distributed] = ACTIONS(3135),
    [anon_sym_final] = ACTIONS(3135),
    [anon_sym_inout] = ACTIONS(3135),
    [anon_sym_ATescaping] = ACTIONS(3135),
    [anon_sym_ATautoclosure] = ACTIONS(3135),
    [anon_sym_weak] = ACTIONS(3135),
    [anon_sym_unowned] = ACTIONS(3133),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3135),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3135),
    [anon_sym_borrowing] = ACTIONS(3135),
    [anon_sym_consuming] = ACTIONS(3135),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3135),
    [sym__dot_custom] = ACTIONS(3135),
    [sym__eq_custom] = ACTIONS(3135),
    [sym__throws_keyword] = ACTIONS(3135),
    [sym__rethrows_keyword] = ACTIONS(3135),
    [sym_where_keyword] = ACTIONS(3135),
    [sym__async_keyword_custom] = ACTIONS(3135),
  },
  [1861] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3196),
    [anon_sym_async] = ACTIONS(3196),
    [anon_sym_lazy] = ACTIONS(3196),
    [anon_sym_package] = ACTIONS(3196),
    [anon_sym_COMMA] = ACTIONS(3196),
    [anon_sym_BANG2] = ACTIONS(3196),
    [anon_sym_DOT] = ACTIONS(3196),
    [anon_sym_QMARK2] = ACTIONS(3196),
    [anon_sym_AMP] = ACTIONS(3196),
    [anon_sym_LBRACE] = ACTIONS(3196),
    [anon_sym_RBRACE] = ACTIONS(3196),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_import] = ACTIONS(3196),
    [anon_sym_typealias] = ACTIONS(3196),
    [anon_sym_struct] = ACTIONS(3196),
    [anon_sym_class] = ACTIONS(3196),
    [anon_sym_enum] = ACTIONS(3196),
    [anon_sym_protocol] = ACTIONS(3196),
    [anon_sym_let] = ACTIONS(3196),
    [anon_sym_var] = ACTIONS(3196),
    [anon_sym_func] = ACTIONS(3196),
    [anon_sym_extension] = ACTIONS(3196),
    [anon_sym_indirect] = ACTIONS(3196),
    [anon_sym_init] = ACTIONS(3196),
    [anon_sym_deinit] = ACTIONS(3196),
    [anon_sym_subscript] = ACTIONS(3196),
    [anon_sym_prefix] = ACTIONS(3196),
    [anon_sym_infix] = ACTIONS(3196),
    [anon_sym_postfix] = ACTIONS(3196),
    [anon_sym_precedencegroup] = ACTIONS(3196),
    [anon_sym_associatedtype] = ACTIONS(3196),
    [anon_sym_AT] = ACTIONS(3194),
    [anon_sym_override] = ACTIONS(3196),
    [anon_sym_convenience] = ACTIONS(3196),
    [anon_sym_required] = ACTIONS(3196),
    [anon_sym_nonisolated] = ACTIONS(3196),
    [anon_sym_public] = ACTIONS(3196),
    [anon_sym_private] = ACTIONS(3196),
    [anon_sym_internal] = ACTIONS(3196),
    [anon_sym_fileprivate] = ACTIONS(3196),
    [anon_sym_open] = ACTIONS(3196),
    [anon_sym_mutating] = ACTIONS(3196),
    [anon_sym_nonmutating] = ACTIONS(3196),
    [anon_sym_static] = ACTIONS(3196),
    [anon_sym_dynamic] = ACTIONS(3196),
    [anon_sym_optional] = ACTIONS(3196),
    [anon_sym_distributed] = ACTIONS(3196),
    [anon_sym_final] = ACTIONS(3196),
    [anon_sym_inout] = ACTIONS(3196),
    [anon_sym_ATescaping] = ACTIONS(3196),
    [anon_sym_ATautoclosure] = ACTIONS(3196),
    [anon_sym_weak] = ACTIONS(3196),
    [anon_sym_unowned] = ACTIONS(3194),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3196),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3196),
    [anon_sym_borrowing] = ACTIONS(3196),
    [anon_sym_consuming] = ACTIONS(3196),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3196),
    [sym__dot_custom] = ACTIONS(3196),
    [sym__eq_custom] = ACTIONS(3196),
    [sym__throws_keyword] = ACTIONS(3196),
    [sym__rethrows_keyword] = ACTIONS(3196),
    [sym_where_keyword] = ACTIONS(3196),
    [sym__async_keyword_custom] = ACTIONS(3196),
  },
  [1862] = {
    [sym__block] = STATE(3201),
    [sym_function_body] = STATE(3520),
    [sym_type_constraints] = STATE(2513),
    [aux_sym__function_value_parameters] = STATE(2100),
    [sym__async_keyword] = STATE(2036),
    [sym_throws] = STATE(2271),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(5305),
    [anon_sym_async] = ACTIONS(5305),
    [anon_sym_lazy] = ACTIONS(5305),
    [anon_sym_package] = ACTIONS(5305),
    [anon_sym_LPAREN] = ACTIONS(5307),
    [anon_sym_LBRACE] = ACTIONS(5309),
    [anon_sym_RBRACE] = ACTIONS(5305),
    [anon_sym_case] = ACTIONS(5305),
    [anon_sym_import] = ACTIONS(5305),
    [anon_sym_typealias] = ACTIONS(5305),
    [anon_sym_struct] = ACTIONS(5305),
    [anon_sym_class] = ACTIONS(5305),
    [anon_sym_enum] = ACTIONS(5305),
    [anon_sym_protocol] = ACTIONS(5305),
    [anon_sym_let] = ACTIONS(5305),
    [anon_sym_var] = ACTIONS(5305),
    [anon_sym_func] = ACTIONS(5305),
    [anon_sym_extension] = ACTIONS(5305),
    [anon_sym_indirect] = ACTIONS(5305),
    [anon_sym_init] = ACTIONS(5305),
    [anon_sym_deinit] = ACTIONS(5305),
    [anon_sym_subscript] = ACTIONS(5305),
    [anon_sym_prefix] = ACTIONS(5305),
    [anon_sym_infix] = ACTIONS(5305),
    [anon_sym_postfix] = ACTIONS(5305),
    [anon_sym_precedencegroup] = ACTIONS(5305),
    [anon_sym_associatedtype] = ACTIONS(5305),
    [anon_sym_AT] = ACTIONS(5311),
    [anon_sym_override] = ACTIONS(5305),
    [anon_sym_convenience] = ACTIONS(5305),
    [anon_sym_required] = ACTIONS(5305),
    [anon_sym_nonisolated] = ACTIONS(5305),
    [anon_sym_public] = ACTIONS(5305),
    [anon_sym_private] = ACTIONS(5305),
    [anon_sym_internal] = ACTIONS(5305),
    [anon_sym_fileprivate] = ACTIONS(5305),
    [anon_sym_open] = ACTIONS(5305),
    [anon_sym_mutating] = ACTIONS(5305),
    [anon_sym_nonmutating] = ACTIONS(5305),
    [anon_sym_static] = ACTIONS(5305),
    [anon_sym_dynamic] = ACTIONS(5305),
    [anon_sym_optional] = ACTIONS(5305),
    [anon_sym_distributed] = ACTIONS(5305),
    [anon_sym_final] = ACTIONS(5305),
    [anon_sym_inout] = ACTIONS(5305),
    [anon_sym_ATescaping] = ACTIONS(5305),
    [anon_sym_ATautoclosure] = ACTIONS(5305),
    [anon_sym_weak] = ACTIONS(5305),
    [anon_sym_unowned] = ACTIONS(5311),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(5305),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(5305),
    [anon_sym_borrowing] = ACTIONS(5305),
    [anon_sym_consuming] = ACTIONS(5305),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__throws_keyword] = ACTIONS(5313),
    [sym__rethrows_keyword] = ACTIONS(5313),
    [sym_where_keyword] = ACTIONS(5315),
    [sym__async_keyword_custom] = ACTIONS(5317),
  },
  [1863] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3151),
    [anon_sym_async] = ACTIONS(3151),
    [anon_sym_lazy] = ACTIONS(3151),
    [anon_sym_package] = ACTIONS(3151),
    [anon_sym_RPAREN] = ACTIONS(3151),
    [anon_sym_COMMA] = ACTIONS(3151),
    [anon_sym_BANG2] = ACTIONS(3151),
    [anon_sym_DOT] = ACTIONS(3149),
    [anon_sym_AMP] = ACTIONS(3151),
    [anon_sym_LBRACE] = ACTIONS(3151),
    [anon_sym_RBRACE] = ACTIONS(3151),
    [anon_sym_case] = ACTIONS(3151),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3151),
    [anon_sym_import] = ACTIONS(3151),
    [anon_sym_typealias] = ACTIONS(3151),
    [anon_sym_struct] = ACTIONS(3151),
    [anon_sym_class] = ACTIONS(3151),
    [anon_sym_enum] = ACTIONS(3151),
    [anon_sym_protocol] = ACTIONS(3151),
    [anon_sym_let] = ACTIONS(3151),
    [anon_sym_var] = ACTIONS(3151),
    [anon_sym_func] = ACTIONS(3151),
    [anon_sym_extension] = ACTIONS(3151),
    [anon_sym_indirect] = ACTIONS(3151),
    [anon_sym_init] = ACTIONS(3151),
    [anon_sym_deinit] = ACTIONS(3151),
    [anon_sym_subscript] = ACTIONS(3151),
    [anon_sym_prefix] = ACTIONS(3151),
    [anon_sym_infix] = ACTIONS(3151),
    [anon_sym_postfix] = ACTIONS(3151),
    [anon_sym_precedencegroup] = ACTIONS(3151),
    [anon_sym_associatedtype] = ACTIONS(3151),
    [anon_sym_AT] = ACTIONS(3149),
    [anon_sym_override] = ACTIONS(3151),
    [anon_sym_convenience] = ACTIONS(3151),
    [anon_sym_required] = ACTIONS(3151),
    [anon_sym_nonisolated] = ACTIONS(3151),
    [anon_sym_public] = ACTIONS(3151),
    [anon_sym_private] = ACTIONS(3151),
    [anon_sym_internal] = ACTIONS(3151),
    [anon_sym_fileprivate] = ACTIONS(3151),
    [anon_sym_open] = ACTIONS(3151),
    [anon_sym_mutating] = ACTIONS(3151),
    [anon_sym_nonmutating] = ACTIONS(3151),
    [anon_sym_static] = ACTIONS(3151),
    [anon_sym_dynamic] = ACTIONS(3151),
    [anon_sym_optional] = ACTIONS(3151),
    [anon_sym_distributed] = ACTIONS(3151),
    [anon_sym_final] = ACTIONS(3151),
    [anon_sym_inout] = ACTIONS(3151),
    [anon_sym_ATescaping] = ACTIONS(3151),
    [anon_sym_ATautoclosure] = ACTIONS(3151),
    [anon_sym_weak] = ACTIONS(3151),
    [anon_sym_unowned] = ACTIONS(3149),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3151),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3151),
    [anon_sym_borrowing] = ACTIONS(3151),
    [anon_sym_consuming] = ACTIONS(3151),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3151),
    [sym__eq_custom] = ACTIONS(3151),
    [sym__throws_keyword] = ACTIONS(3151),
    [sym__rethrows_keyword] = ACTIONS(3151),
    [sym__async_keyword_custom] = ACTIONS(3151),
  },
  [1864] = {
    [sym__immediate_quest] = STATE(1864),
    [aux_sym_optional_type_repeat1] = STATE(1864),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3034),
    [anon_sym_async] = ACTIONS(3034),
    [anon_sym_lazy] = ACTIONS(3034),
    [anon_sym_package] = ACTIONS(3034),
    [anon_sym_COMMA] = ACTIONS(3034),
    [anon_sym_BANG2] = ACTIONS(3034),
    [anon_sym_DOT] = ACTIONS(3034),
    [anon_sym_QMARK2] = ACTIONS(5319),
    [anon_sym_AMP] = ACTIONS(3034),
    [anon_sym_LBRACE] = ACTIONS(3034),
    [anon_sym_RBRACE] = ACTIONS(3034),
    [anon_sym_case] = ACTIONS(3034),
    [anon_sym_import] = ACTIONS(3034),
    [anon_sym_typealias] = ACTIONS(3034),
    [anon_sym_struct] = ACTIONS(3034),
    [anon_sym_class] = ACTIONS(3034),
    [anon_sym_enum] = ACTIONS(3034),
    [anon_sym_protocol] = ACTIONS(3034),
    [anon_sym_let] = ACTIONS(3034),
    [anon_sym_var] = ACTIONS(3034),
    [anon_sym_func] = ACTIONS(3034),
    [anon_sym_extension] = ACTIONS(3034),
    [anon_sym_indirect] = ACTIONS(3034),
    [anon_sym_init] = ACTIONS(3034),
    [anon_sym_deinit] = ACTIONS(3034),
    [anon_sym_subscript] = ACTIONS(3034),
    [anon_sym_prefix] = ACTIONS(3034),
    [anon_sym_infix] = ACTIONS(3034),
    [anon_sym_postfix] = ACTIONS(3034),
    [anon_sym_precedencegroup] = ACTIONS(3034),
    [anon_sym_associatedtype] = ACTIONS(3034),
    [anon_sym_AT] = ACTIONS(3032),
    [anon_sym_override] = ACTIONS(3034),
    [anon_sym_convenience] = ACTIONS(3034),
    [anon_sym_required] = ACTIONS(3034),
    [anon_sym_nonisolated] = ACTIONS(3034),
    [anon_sym_public] = ACTIONS(3034),
    [anon_sym_private] = ACTIONS(3034),
    [anon_sym_internal] = ACTIONS(3034),
    [anon_sym_fileprivate] = ACTIONS(3034),
    [anon_sym_open] = ACTIONS(3034),
    [anon_sym_mutating] = ACTIONS(3034),
    [anon_sym_nonmutating] = ACTIONS(3034),
    [anon_sym_static] = ACTIONS(3034),
    [anon_sym_dynamic] = ACTIONS(3034),
    [anon_sym_optional] = ACTIONS(3034),
    [anon_sym_distributed] = ACTIONS(3034),
    [anon_sym_final] = ACTIONS(3034),
    [anon_sym_inout] = ACTIONS(3034),
    [anon_sym_ATescaping] = ACTIONS(3034),
    [anon_sym_ATautoclosure] = ACTIONS(3034),
    [anon_sym_weak] = ACTIONS(3034),
    [anon_sym_unowned] = ACTIONS(3032),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3034),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3034),
    [anon_sym_borrowing] = ACTIONS(3034),
    [anon_sym_consuming] = ACTIONS(3034),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3034),
    [sym__throws_keyword] = ACTIONS(3034),
    [sym__rethrows_keyword] = ACTIONS(3034),
    [sym__async_keyword_custom] = ACTIONS(3034),
  },
  [1865] = {
    [anon_sym_BANG] = ACTIONS(3217),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3219),
    [aux_sym_simple_identifier_token2] = ACTIONS(3221),
    [aux_sym_simple_identifier_token3] = ACTIONS(3221),
    [aux_sym_simple_identifier_token4] = ACTIONS(3221),
    [anon_sym_actor] = ACTIONS(3219),
    [anon_sym_async] = ACTIONS(3219),
    [anon_sym_each] = ACTIONS(3219),
    [anon_sym_lazy] = ACTIONS(3219),
    [anon_sym_repeat] = ACTIONS(3219),
    [anon_sym_package] = ACTIONS(3219),
    [anon_sym_COMMA] = ACTIONS(3223),
    [anon_sym_COLON] = ACTIONS(3223),
    [anon_sym_LPAREN] = ACTIONS(3223),
    [anon_sym_LBRACK] = ACTIONS(3223),
    [anon_sym_QMARK] = ACTIONS(3217),
    [anon_sym_QMARK2] = ACTIONS(3223),
    [anon_sym_AMP] = ACTIONS(3223),
    [aux_sym_custom_operator_token1] = ACTIONS(3223),
    [anon_sym_LT] = ACTIONS(3217),
    [anon_sym_GT] = ACTIONS(3217),
    [anon_sym_LBRACE] = ACTIONS(3223),
    [anon_sym_CARET_LBRACE] = ACTIONS(3223),
    [anon_sym_PLUS_EQ] = ACTIONS(3223),
    [anon_sym_DASH_EQ] = ACTIONS(3223),
    [anon_sym_STAR_EQ] = ACTIONS(3223),
    [anon_sym_SLASH_EQ] = ACTIONS(3223),
    [anon_sym_PERCENT_EQ] = ACTIONS(3223),
    [anon_sym_BANG_EQ] = ACTIONS(3217),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3223),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3223),
    [anon_sym_LT_EQ] = ACTIONS(3223),
    [anon_sym_GT_EQ] = ACTIONS(3223),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3223),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3223),
    [anon_sym_is] = ACTIONS(3217),
    [anon_sym_PLUS] = ACTIONS(3217),
    [anon_sym_DASH] = ACTIONS(3217),
    [anon_sym_STAR] = ACTIONS(3217),
    [anon_sym_SLASH] = ACTIONS(3217),
    [anon_sym_PERCENT] = ACTIONS(3217),
    [anon_sym_PLUS_PLUS] = ACTIONS(3223),
    [anon_sym_DASH_DASH] = ACTIONS(3223),
    [anon_sym_PIPE] = ACTIONS(3223),
    [anon_sym_CARET] = ACTIONS(3217),
    [anon_sym_LT_LT] = ACTIONS(3223),
    [anon_sym_GT_GT] = ACTIONS(3223),
    [anon_sym_borrowing] = ACTIONS(3219),
    [anon_sym_consuming] = ACTIONS(3219),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3223),
    [sym__conjunction_operator_custom] = ACTIONS(3223),
    [sym__disjunction_operator_custom] = ACTIONS(3223),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3223),
    [sym__eq_custom] = ACTIONS(3223),
    [sym__eq_eq_custom] = ACTIONS(3223),
    [sym__plus_then_ws] = ACTIONS(3223),
    [sym__minus_then_ws] = ACTIONS(3223),
    [sym__bang_custom] = ACTIONS(3223),
    [sym_where_keyword] = ACTIONS(3223),
    [sym__as_custom] = ACTIONS(3223),
    [sym__as_quest_custom] = ACTIONS(3223),
    [sym__as_bang_custom] = ACTIONS(3223),
    [sym__custom_operator] = ACTIONS(3223),
  },
  [1866] = {
    [aux_sym_protocol_composition_type_repeat1] = STATE(1866),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3079),
    [anon_sym_async] = ACTIONS(3079),
    [anon_sym_lazy] = ACTIONS(3079),
    [anon_sym_package] = ACTIONS(3079),
    [anon_sym_COMMA] = ACTIONS(3079),
    [anon_sym_BANG2] = ACTIONS(3079),
    [anon_sym_DOT] = ACTIONS(3079),
    [anon_sym_AMP] = ACTIONS(5322),
    [anon_sym_LBRACE] = ACTIONS(3079),
    [anon_sym_RBRACE] = ACTIONS(3079),
    [anon_sym_case] = ACTIONS(3079),
    [anon_sym_import] = ACTIONS(3079),
    [anon_sym_typealias] = ACTIONS(3079),
    [anon_sym_struct] = ACTIONS(3079),
    [anon_sym_class] = ACTIONS(3079),
    [anon_sym_enum] = ACTIONS(3079),
    [anon_sym_protocol] = ACTIONS(3079),
    [anon_sym_let] = ACTIONS(3079),
    [anon_sym_var] = ACTIONS(3079),
    [anon_sym_func] = ACTIONS(3079),
    [anon_sym_extension] = ACTIONS(3079),
    [anon_sym_indirect] = ACTIONS(3079),
    [anon_sym_init] = ACTIONS(3079),
    [anon_sym_deinit] = ACTIONS(3079),
    [anon_sym_subscript] = ACTIONS(3079),
    [anon_sym_prefix] = ACTIONS(3079),
    [anon_sym_infix] = ACTIONS(3079),
    [anon_sym_postfix] = ACTIONS(3079),
    [anon_sym_precedencegroup] = ACTIONS(3079),
    [anon_sym_associatedtype] = ACTIONS(3079),
    [anon_sym_AT] = ACTIONS(3077),
    [anon_sym_override] = ACTIONS(3079),
    [anon_sym_convenience] = ACTIONS(3079),
    [anon_sym_required] = ACTIONS(3079),
    [anon_sym_nonisolated] = ACTIONS(3079),
    [anon_sym_public] = ACTIONS(3079),
    [anon_sym_private] = ACTIONS(3079),
    [anon_sym_internal] = ACTIONS(3079),
    [anon_sym_fileprivate] = ACTIONS(3079),
    [anon_sym_open] = ACTIONS(3079),
    [anon_sym_mutating] = ACTIONS(3079),
    [anon_sym_nonmutating] = ACTIONS(3079),
    [anon_sym_static] = ACTIONS(3079),
    [anon_sym_dynamic] = ACTIONS(3079),
    [anon_sym_optional] = ACTIONS(3079),
    [anon_sym_distributed] = ACTIONS(3079),
    [anon_sym_final] = ACTIONS(3079),
    [anon_sym_inout] = ACTIONS(3079),
    [anon_sym_ATescaping] = ACTIONS(3079),
    [anon_sym_ATautoclosure] = ACTIONS(3079),
    [anon_sym_weak] = ACTIONS(3079),
    [anon_sym_unowned] = ACTIONS(3077),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3079),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3079),
    [anon_sym_borrowing] = ACTIONS(3079),
    [anon_sym_consuming] = ACTIONS(3079),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3079),
    [sym__eq_custom] = ACTIONS(3079),
    [sym__throws_keyword] = ACTIONS(3079),
    [sym__rethrows_keyword] = ACTIONS(3079),
    [sym_where_keyword] = ACTIONS(3079),
    [sym__async_keyword_custom] = ACTIONS(3079),
  },
  [1867] = {
    [anon_sym_BANG] = ACTIONS(3229),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3229),
    [aux_sym_simple_identifier_token2] = ACTIONS(3231),
    [aux_sym_simple_identifier_token3] = ACTIONS(3231),
    [aux_sym_simple_identifier_token4] = ACTIONS(3231),
    [anon_sym_actor] = ACTIONS(3229),
    [anon_sym_async] = ACTIONS(3229),
    [anon_sym_each] = ACTIONS(3229),
    [anon_sym_lazy] = ACTIONS(3229),
    [anon_sym_repeat] = ACTIONS(3229),
    [anon_sym_package] = ACTIONS(3229),
    [anon_sym_COMMA] = ACTIONS(3231),
    [anon_sym_LPAREN] = ACTIONS(3231),
    [anon_sym_LBRACK] = ACTIONS(3231),
    [anon_sym_QMARK] = ACTIONS(3229),
    [anon_sym_QMARK2] = ACTIONS(3231),
    [anon_sym_AMP] = ACTIONS(3231),
    [aux_sym_custom_operator_token1] = ACTIONS(3231),
    [anon_sym_LT] = ACTIONS(3229),
    [anon_sym_GT] = ACTIONS(3229),
    [anon_sym_LBRACE] = ACTIONS(3231),
    [anon_sym_CARET_LBRACE] = ACTIONS(3231),
    [anon_sym_PLUS_EQ] = ACTIONS(3231),
    [anon_sym_DASH_EQ] = ACTIONS(3231),
    [anon_sym_STAR_EQ] = ACTIONS(3231),
    [anon_sym_SLASH_EQ] = ACTIONS(3231),
    [anon_sym_PERCENT_EQ] = ACTIONS(3231),
    [anon_sym_BANG_EQ] = ACTIONS(3229),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3231),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3231),
    [anon_sym_LT_EQ] = ACTIONS(3231),
    [anon_sym_GT_EQ] = ACTIONS(3231),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3231),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3231),
    [anon_sym_is] = ACTIONS(3229),
    [anon_sym_PLUS] = ACTIONS(3229),
    [anon_sym_DASH] = ACTIONS(3229),
    [anon_sym_STAR] = ACTIONS(3229),
    [anon_sym_SLASH] = ACTIONS(3229),
    [anon_sym_PERCENT] = ACTIONS(3229),
    [anon_sym_PLUS_PLUS] = ACTIONS(3231),
    [anon_sym_DASH_DASH] = ACTIONS(3231),
    [anon_sym_PIPE] = ACTIONS(3231),
    [anon_sym_CARET] = ACTIONS(3229),
    [anon_sym_LT_LT] = ACTIONS(3231),
    [anon_sym_GT_GT] = ACTIONS(3231),
    [anon_sym_borrowing] = ACTIONS(3229),
    [anon_sym_consuming] = ACTIONS(3229),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3231),
    [sym__conjunction_operator_custom] = ACTIONS(3231),
    [sym__disjunction_operator_custom] = ACTIONS(3231),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3231),
    [sym__eq_custom] = ACTIONS(3231),
    [sym__eq_eq_custom] = ACTIONS(3231),
    [sym__plus_then_ws] = ACTIONS(3231),
    [sym__minus_then_ws] = ACTIONS(3231),
    [sym__bang_custom] = ACTIONS(3231),
    [sym_where_keyword] = ACTIONS(3231),
    [sym_else] = ACTIONS(3231),
    [sym__as_custom] = ACTIONS(3231),
    [sym__as_quest_custom] = ACTIONS(3231),
    [sym__as_bang_custom] = ACTIONS(3231),
    [sym__custom_operator] = ACTIONS(3231),
  },
  [1868] = {
    [anon_sym_BANG] = ACTIONS(3237),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3237),
    [aux_sym_simple_identifier_token2] = ACTIONS(3239),
    [aux_sym_simple_identifier_token3] = ACTIONS(3239),
    [aux_sym_simple_identifier_token4] = ACTIONS(3239),
    [anon_sym_actor] = ACTIONS(3237),
    [anon_sym_async] = ACTIONS(3237),
    [anon_sym_each] = ACTIONS(3237),
    [anon_sym_lazy] = ACTIONS(3237),
    [anon_sym_repeat] = ACTIONS(3237),
    [anon_sym_package] = ACTIONS(3237),
    [anon_sym_COMMA] = ACTIONS(3239),
    [anon_sym_LPAREN] = ACTIONS(3239),
    [anon_sym_LBRACK] = ACTIONS(3239),
    [anon_sym_QMARK] = ACTIONS(3237),
    [anon_sym_QMARK2] = ACTIONS(3239),
    [anon_sym_AMP] = ACTIONS(3239),
    [aux_sym_custom_operator_token1] = ACTIONS(3239),
    [anon_sym_LT] = ACTIONS(3237),
    [anon_sym_GT] = ACTIONS(3237),
    [anon_sym_LBRACE] = ACTIONS(3239),
    [anon_sym_CARET_LBRACE] = ACTIONS(3239),
    [anon_sym_PLUS_EQ] = ACTIONS(3239),
    [anon_sym_DASH_EQ] = ACTIONS(3239),
    [anon_sym_STAR_EQ] = ACTIONS(3239),
    [anon_sym_SLASH_EQ] = ACTIONS(3239),
    [anon_sym_PERCENT_EQ] = ACTIONS(3239),
    [anon_sym_BANG_EQ] = ACTIONS(3237),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3239),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3239),
    [anon_sym_LT_EQ] = ACTIONS(3239),
    [anon_sym_GT_EQ] = ACTIONS(3239),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3239),
    [anon_sym_is] = ACTIONS(3237),
    [anon_sym_PLUS] = ACTIONS(3237),
    [anon_sym_DASH] = ACTIONS(3237),
    [anon_sym_STAR] = ACTIONS(3237),
    [anon_sym_SLASH] = ACTIONS(3237),
    [anon_sym_PERCENT] = ACTIONS(3237),
    [anon_sym_PLUS_PLUS] = ACTIONS(3239),
    [anon_sym_DASH_DASH] = ACTIONS(3239),
    [anon_sym_PIPE] = ACTIONS(3239),
    [anon_sym_CARET] = ACTIONS(3237),
    [anon_sym_LT_LT] = ACTIONS(3239),
    [anon_sym_GT_GT] = ACTIONS(3239),
    [anon_sym_borrowing] = ACTIONS(3237),
    [anon_sym_consuming] = ACTIONS(3237),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3239),
    [sym__conjunction_operator_custom] = ACTIONS(3239),
    [sym__disjunction_operator_custom] = ACTIONS(3239),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3239),
    [sym__eq_custom] = ACTIONS(3239),
    [sym__eq_eq_custom] = ACTIONS(3239),
    [sym__plus_then_ws] = ACTIONS(3239),
    [sym__minus_then_ws] = ACTIONS(3239),
    [sym__bang_custom] = ACTIONS(3239),
    [sym_where_keyword] = ACTIONS(3239),
    [sym_else] = ACTIONS(3239),
    [sym__as_custom] = ACTIONS(3239),
    [sym__as_quest_custom] = ACTIONS(3239),
    [sym__as_bang_custom] = ACTIONS(3239),
    [sym__custom_operator] = ACTIONS(3239),
  },
  [1869] = {
    [sym__arrow_operator] = STATE(4294),
    [sym__async_keyword] = STATE(6932),
    [sym_throws] = STATE(8479),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1998),
    [ts_builtin_sym_end] = ACTIONS(3063),
    [anon_sym_BANG] = ACTIONS(3061),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(3063),
    [anon_sym_LPAREN] = ACTIONS(3063),
    [anon_sym_LBRACK] = ACTIONS(3063),
    [anon_sym_DOT] = ACTIONS(5325),
    [anon_sym_QMARK] = ACTIONS(3061),
    [anon_sym_QMARK2] = ACTIONS(3063),
    [anon_sym_AMP] = ACTIONS(5327),
    [aux_sym_custom_operator_token1] = ACTIONS(3063),
    [anon_sym_LT] = ACTIONS(3061),
    [anon_sym_GT] = ACTIONS(3061),
    [anon_sym_LBRACE] = ACTIONS(3063),
    [anon_sym_CARET_LBRACE] = ACTIONS(3063),
    [anon_sym_RBRACE] = ACTIONS(3063),
    [anon_sym_PLUS_EQ] = ACTIONS(3063),
    [anon_sym_DASH_EQ] = ACTIONS(3063),
    [anon_sym_STAR_EQ] = ACTIONS(3063),
    [anon_sym_SLASH_EQ] = ACTIONS(3063),
    [anon_sym_PERCENT_EQ] = ACTIONS(3063),
    [anon_sym_BANG_EQ] = ACTIONS(3061),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3063),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3063),
    [anon_sym_LT_EQ] = ACTIONS(3063),
    [anon_sym_GT_EQ] = ACTIONS(3063),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3063),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3063),
    [anon_sym_is] = ACTIONS(3063),
    [anon_sym_PLUS] = ACTIONS(3061),
    [anon_sym_DASH] = ACTIONS(3061),
    [anon_sym_STAR] = ACTIONS(3061),
    [anon_sym_SLASH] = ACTIONS(3061),
    [anon_sym_PERCENT] = ACTIONS(3061),
    [anon_sym_PLUS_PLUS] = ACTIONS(3063),
    [anon_sym_DASH_DASH] = ACTIONS(3063),
    [anon_sym_PIPE] = ACTIONS(3063),
    [anon_sym_CARET] = ACTIONS(3061),
    [anon_sym_LT_LT] = ACTIONS(3063),
    [anon_sym_GT_GT] = ACTIONS(3063),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3063),
    [sym__explicit_semi] = ACTIONS(3063),
    [sym__arrow_operator_custom] = ACTIONS(5294),
    [sym__dot_custom] = ACTIONS(3063),
    [sym__conjunction_operator_custom] = ACTIONS(3063),
    [sym__disjunction_operator_custom] = ACTIONS(3063),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3063),
    [sym__eq_custom] = ACTIONS(3063),
    [sym__eq_eq_custom] = ACTIONS(3063),
    [sym__plus_then_ws] = ACTIONS(3063),
    [sym__minus_then_ws] = ACTIONS(3063),
    [sym__bang_custom] = ACTIONS(3063),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym_where_keyword] = ACTIONS(3063),
    [sym__as_custom] = ACTIONS(3063),
    [sym__as_quest_custom] = ACTIONS(3063),
    [sym__as_bang_custom] = ACTIONS(3063),
    [sym__async_keyword_custom] = ACTIONS(5296),
    [sym__custom_operator] = ACTIONS(3063),
  },
  [1870] = {
    [sym__arrow_operator] = STATE(4294),
    [sym__async_keyword] = STATE(6932),
    [sym_throws] = STATE(8479),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1998),
    [ts_builtin_sym_end] = ACTIONS(3067),
    [anon_sym_BANG] = ACTIONS(3065),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(3067),
    [anon_sym_LPAREN] = ACTIONS(3067),
    [anon_sym_LBRACK] = ACTIONS(3067),
    [anon_sym_DOT] = ACTIONS(5325),
    [anon_sym_QMARK] = ACTIONS(3065),
    [anon_sym_QMARK2] = ACTIONS(3067),
    [anon_sym_AMP] = ACTIONS(5327),
    [aux_sym_custom_operator_token1] = ACTIONS(3067),
    [anon_sym_LT] = ACTIONS(3065),
    [anon_sym_GT] = ACTIONS(3065),
    [anon_sym_LBRACE] = ACTIONS(3067),
    [anon_sym_CARET_LBRACE] = ACTIONS(3067),
    [anon_sym_RBRACE] = ACTIONS(3067),
    [anon_sym_PLUS_EQ] = ACTIONS(3067),
    [anon_sym_DASH_EQ] = ACTIONS(3067),
    [anon_sym_STAR_EQ] = ACTIONS(3067),
    [anon_sym_SLASH_EQ] = ACTIONS(3067),
    [anon_sym_PERCENT_EQ] = ACTIONS(3067),
    [anon_sym_BANG_EQ] = ACTIONS(3065),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3067),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3067),
    [anon_sym_LT_EQ] = ACTIONS(3067),
    [anon_sym_GT_EQ] = ACTIONS(3067),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3067),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3067),
    [anon_sym_is] = ACTIONS(3067),
    [anon_sym_PLUS] = ACTIONS(3065),
    [anon_sym_DASH] = ACTIONS(3065),
    [anon_sym_STAR] = ACTIONS(3065),
    [anon_sym_SLASH] = ACTIONS(3065),
    [anon_sym_PERCENT] = ACTIONS(3065),
    [anon_sym_PLUS_PLUS] = ACTIONS(3067),
    [anon_sym_DASH_DASH] = ACTIONS(3067),
    [anon_sym_PIPE] = ACTIONS(3067),
    [anon_sym_CARET] = ACTIONS(3065),
    [anon_sym_LT_LT] = ACTIONS(3067),
    [anon_sym_GT_GT] = ACTIONS(3067),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3067),
    [sym__explicit_semi] = ACTIONS(3067),
    [sym__arrow_operator_custom] = ACTIONS(5294),
    [sym__dot_custom] = ACTIONS(3067),
    [sym__conjunction_operator_custom] = ACTIONS(3067),
    [sym__disjunction_operator_custom] = ACTIONS(3067),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3067),
    [sym__eq_custom] = ACTIONS(3067),
    [sym__eq_eq_custom] = ACTIONS(3067),
    [sym__plus_then_ws] = ACTIONS(3067),
    [sym__minus_then_ws] = ACTIONS(3067),
    [sym__bang_custom] = ACTIONS(3067),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym_where_keyword] = ACTIONS(3067),
    [sym__as_custom] = ACTIONS(3067),
    [sym__as_quest_custom] = ACTIONS(3067),
    [sym__as_bang_custom] = ACTIONS(3067),
    [sym__async_keyword_custom] = ACTIONS(5296),
    [sym__custom_operator] = ACTIONS(3067),
  },
  [1871] = {
    [anon_sym_BANG] = ACTIONS(3219),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3219),
    [aux_sym_simple_identifier_token2] = ACTIONS(3221),
    [aux_sym_simple_identifier_token3] = ACTIONS(3221),
    [aux_sym_simple_identifier_token4] = ACTIONS(3221),
    [anon_sym_actor] = ACTIONS(3219),
    [anon_sym_async] = ACTIONS(3219),
    [anon_sym_each] = ACTIONS(3219),
    [anon_sym_lazy] = ACTIONS(3219),
    [anon_sym_repeat] = ACTIONS(3219),
    [anon_sym_package] = ACTIONS(3219),
    [anon_sym_COMMA] = ACTIONS(3221),
    [anon_sym_LPAREN] = ACTIONS(3221),
    [anon_sym_LBRACK] = ACTIONS(3221),
    [anon_sym_QMARK] = ACTIONS(3219),
    [anon_sym_QMARK2] = ACTIONS(3221),
    [anon_sym_AMP] = ACTIONS(3221),
    [aux_sym_custom_operator_token1] = ACTIONS(3221),
    [anon_sym_LT] = ACTIONS(3219),
    [anon_sym_GT] = ACTIONS(3219),
    [anon_sym_LBRACE] = ACTIONS(3221),
    [anon_sym_CARET_LBRACE] = ACTIONS(3221),
    [anon_sym_PLUS_EQ] = ACTIONS(3221),
    [anon_sym_DASH_EQ] = ACTIONS(3221),
    [anon_sym_STAR_EQ] = ACTIONS(3221),
    [anon_sym_SLASH_EQ] = ACTIONS(3221),
    [anon_sym_PERCENT_EQ] = ACTIONS(3221),
    [anon_sym_BANG_EQ] = ACTIONS(3219),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3221),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3221),
    [anon_sym_LT_EQ] = ACTIONS(3221),
    [anon_sym_GT_EQ] = ACTIONS(3221),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3221),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3221),
    [anon_sym_is] = ACTIONS(3219),
    [anon_sym_PLUS] = ACTIONS(3219),
    [anon_sym_DASH] = ACTIONS(3219),
    [anon_sym_STAR] = ACTIONS(3219),
    [anon_sym_SLASH] = ACTIONS(3219),
    [anon_sym_PERCENT] = ACTIONS(3219),
    [anon_sym_PLUS_PLUS] = ACTIONS(3221),
    [anon_sym_DASH_DASH] = ACTIONS(3221),
    [anon_sym_PIPE] = ACTIONS(3221),
    [anon_sym_CARET] = ACTIONS(3219),
    [anon_sym_LT_LT] = ACTIONS(3221),
    [anon_sym_GT_GT] = ACTIONS(3221),
    [anon_sym_borrowing] = ACTIONS(3219),
    [anon_sym_consuming] = ACTIONS(3219),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3221),
    [sym__conjunction_operator_custom] = ACTIONS(3221),
    [sym__disjunction_operator_custom] = ACTIONS(3221),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3221),
    [sym__eq_custom] = ACTIONS(3221),
    [sym__eq_eq_custom] = ACTIONS(3221),
    [sym__plus_then_ws] = ACTIONS(3221),
    [sym__minus_then_ws] = ACTIONS(3221),
    [sym__bang_custom] = ACTIONS(3221),
    [sym_where_keyword] = ACTIONS(3221),
    [sym_else] = ACTIONS(3221),
    [sym__as_custom] = ACTIONS(3221),
    [sym__as_quest_custom] = ACTIONS(3221),
    [sym__as_bang_custom] = ACTIONS(3221),
    [sym__custom_operator] = ACTIONS(3221),
  },
  [1872] = {
    [sym__arrow_operator] = STATE(4294),
    [sym__async_keyword] = STATE(6932),
    [sym_throws] = STATE(8479),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1998),
    [ts_builtin_sym_end] = ACTIONS(3071),
    [anon_sym_BANG] = ACTIONS(3069),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(3071),
    [anon_sym_LPAREN] = ACTIONS(3071),
    [anon_sym_LBRACK] = ACTIONS(3071),
    [anon_sym_DOT] = ACTIONS(3069),
    [anon_sym_QMARK] = ACTIONS(3069),
    [anon_sym_QMARK2] = ACTIONS(3071),
    [anon_sym_AMP] = ACTIONS(3071),
    [aux_sym_custom_operator_token1] = ACTIONS(3071),
    [anon_sym_LT] = ACTIONS(3069),
    [anon_sym_GT] = ACTIONS(3069),
    [anon_sym_LBRACE] = ACTIONS(3071),
    [anon_sym_CARET_LBRACE] = ACTIONS(3071),
    [anon_sym_RBRACE] = ACTIONS(3071),
    [anon_sym_PLUS_EQ] = ACTIONS(3071),
    [anon_sym_DASH_EQ] = ACTIONS(3071),
    [anon_sym_STAR_EQ] = ACTIONS(3071),
    [anon_sym_SLASH_EQ] = ACTIONS(3071),
    [anon_sym_PERCENT_EQ] = ACTIONS(3071),
    [anon_sym_BANG_EQ] = ACTIONS(3069),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3071),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3071),
    [anon_sym_LT_EQ] = ACTIONS(3071),
    [anon_sym_GT_EQ] = ACTIONS(3071),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3071),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3071),
    [anon_sym_is] = ACTIONS(3071),
    [anon_sym_PLUS] = ACTIONS(3069),
    [anon_sym_DASH] = ACTIONS(3069),
    [anon_sym_STAR] = ACTIONS(3069),
    [anon_sym_SLASH] = ACTIONS(3069),
    [anon_sym_PERCENT] = ACTIONS(3069),
    [anon_sym_PLUS_PLUS] = ACTIONS(3071),
    [anon_sym_DASH_DASH] = ACTIONS(3071),
    [anon_sym_PIPE] = ACTIONS(3071),
    [anon_sym_CARET] = ACTIONS(3069),
    [anon_sym_LT_LT] = ACTIONS(3071),
    [anon_sym_GT_GT] = ACTIONS(3071),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3071),
    [sym__explicit_semi] = ACTIONS(3071),
    [sym__arrow_operator_custom] = ACTIONS(3071),
    [sym__dot_custom] = ACTIONS(3071),
    [sym__conjunction_operator_custom] = ACTIONS(3071),
    [sym__disjunction_operator_custom] = ACTIONS(3071),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3071),
    [sym__eq_custom] = ACTIONS(3071),
    [sym__eq_eq_custom] = ACTIONS(3071),
    [sym__plus_then_ws] = ACTIONS(3071),
    [sym__minus_then_ws] = ACTIONS(3071),
    [sym__bang_custom] = ACTIONS(3071),
    [sym__throws_keyword] = ACTIONS(3071),
    [sym__rethrows_keyword] = ACTIONS(3071),
    [sym_where_keyword] = ACTIONS(3071),
    [sym__as_custom] = ACTIONS(3071),
    [sym__as_quest_custom] = ACTIONS(3071),
    [sym__as_bang_custom] = ACTIONS(3071),
    [sym__async_keyword_custom] = ACTIONS(3071),
    [sym__custom_operator] = ACTIONS(3071),
  },
  [1873] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3115),
    [anon_sym_async] = ACTIONS(3115),
    [anon_sym_lazy] = ACTIONS(3115),
    [anon_sym_package] = ACTIONS(3115),
    [anon_sym_COMMA] = ACTIONS(3115),
    [anon_sym_BANG2] = ACTIONS(3115),
    [anon_sym_DOT] = ACTIONS(3115),
    [anon_sym_QMARK2] = ACTIONS(3115),
    [anon_sym_AMP] = ACTIONS(3115),
    [anon_sym_LBRACE] = ACTIONS(3115),
    [anon_sym_RBRACE] = ACTIONS(3115),
    [anon_sym_case] = ACTIONS(3115),
    [anon_sym_import] = ACTIONS(3115),
    [anon_sym_typealias] = ACTIONS(3115),
    [anon_sym_struct] = ACTIONS(3115),
    [anon_sym_class] = ACTIONS(3115),
    [anon_sym_enum] = ACTIONS(3115),
    [anon_sym_protocol] = ACTIONS(3115),
    [anon_sym_let] = ACTIONS(3115),
    [anon_sym_var] = ACTIONS(3115),
    [anon_sym_func] = ACTIONS(3115),
    [anon_sym_extension] = ACTIONS(3115),
    [anon_sym_indirect] = ACTIONS(3115),
    [anon_sym_init] = ACTIONS(3115),
    [anon_sym_deinit] = ACTIONS(3115),
    [anon_sym_subscript] = ACTIONS(3115),
    [anon_sym_prefix] = ACTIONS(3115),
    [anon_sym_infix] = ACTIONS(3115),
    [anon_sym_postfix] = ACTIONS(3115),
    [anon_sym_precedencegroup] = ACTIONS(3115),
    [anon_sym_associatedtype] = ACTIONS(3115),
    [anon_sym_AT] = ACTIONS(3113),
    [anon_sym_override] = ACTIONS(3115),
    [anon_sym_convenience] = ACTIONS(3115),
    [anon_sym_required] = ACTIONS(3115),
    [anon_sym_nonisolated] = ACTIONS(3115),
    [anon_sym_public] = ACTIONS(3115),
    [anon_sym_private] = ACTIONS(3115),
    [anon_sym_internal] = ACTIONS(3115),
    [anon_sym_fileprivate] = ACTIONS(3115),
    [anon_sym_open] = ACTIONS(3115),
    [anon_sym_mutating] = ACTIONS(3115),
    [anon_sym_nonmutating] = ACTIONS(3115),
    [anon_sym_static] = ACTIONS(3115),
    [anon_sym_dynamic] = ACTIONS(3115),
    [anon_sym_optional] = ACTIONS(3115),
    [anon_sym_distributed] = ACTIONS(3115),
    [anon_sym_final] = ACTIONS(3115),
    [anon_sym_inout] = ACTIONS(3115),
    [anon_sym_ATescaping] = ACTIONS(3115),
    [anon_sym_ATautoclosure] = ACTIONS(3115),
    [anon_sym_weak] = ACTIONS(3115),
    [anon_sym_unowned] = ACTIONS(3113),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3115),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3115),
    [anon_sym_borrowing] = ACTIONS(3115),
    [anon_sym_consuming] = ACTIONS(3115),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3115),
    [sym__eq_custom] = ACTIONS(3115),
    [sym__throws_keyword] = ACTIONS(3115),
    [sym__rethrows_keyword] = ACTIONS(3115),
    [sym_where_keyword] = ACTIONS(3115),
    [sym__async_keyword_custom] = ACTIONS(3115),
  },
  [1874] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3143),
    [anon_sym_async] = ACTIONS(3143),
    [anon_sym_lazy] = ACTIONS(3143),
    [anon_sym_package] = ACTIONS(3143),
    [anon_sym_COMMA] = ACTIONS(3143),
    [anon_sym_BANG2] = ACTIONS(3143),
    [anon_sym_DOT] = ACTIONS(3143),
    [anon_sym_QMARK2] = ACTIONS(3143),
    [anon_sym_AMP] = ACTIONS(3143),
    [anon_sym_LBRACE] = ACTIONS(3143),
    [anon_sym_RBRACE] = ACTIONS(3143),
    [anon_sym_case] = ACTIONS(3143),
    [anon_sym_import] = ACTIONS(3143),
    [anon_sym_typealias] = ACTIONS(3143),
    [anon_sym_struct] = ACTIONS(3143),
    [anon_sym_class] = ACTIONS(3143),
    [anon_sym_enum] = ACTIONS(3143),
    [anon_sym_protocol] = ACTIONS(3143),
    [anon_sym_let] = ACTIONS(3143),
    [anon_sym_var] = ACTIONS(3143),
    [anon_sym_func] = ACTIONS(3143),
    [anon_sym_extension] = ACTIONS(3143),
    [anon_sym_indirect] = ACTIONS(3143),
    [anon_sym_init] = ACTIONS(3143),
    [anon_sym_deinit] = ACTIONS(3143),
    [anon_sym_subscript] = ACTIONS(3143),
    [anon_sym_prefix] = ACTIONS(3143),
    [anon_sym_infix] = ACTIONS(3143),
    [anon_sym_postfix] = ACTIONS(3143),
    [anon_sym_precedencegroup] = ACTIONS(3143),
    [anon_sym_associatedtype] = ACTIONS(3143),
    [anon_sym_AT] = ACTIONS(3141),
    [anon_sym_override] = ACTIONS(3143),
    [anon_sym_convenience] = ACTIONS(3143),
    [anon_sym_required] = ACTIONS(3143),
    [anon_sym_nonisolated] = ACTIONS(3143),
    [anon_sym_public] = ACTIONS(3143),
    [anon_sym_private] = ACTIONS(3143),
    [anon_sym_internal] = ACTIONS(3143),
    [anon_sym_fileprivate] = ACTIONS(3143),
    [anon_sym_open] = ACTIONS(3143),
    [anon_sym_mutating] = ACTIONS(3143),
    [anon_sym_nonmutating] = ACTIONS(3143),
    [anon_sym_static] = ACTIONS(3143),
    [anon_sym_dynamic] = ACTIONS(3143),
    [anon_sym_optional] = ACTIONS(3143),
    [anon_sym_distributed] = ACTIONS(3143),
    [anon_sym_final] = ACTIONS(3143),
    [anon_sym_inout] = ACTIONS(3143),
    [anon_sym_ATescaping] = ACTIONS(3143),
    [anon_sym_ATautoclosure] = ACTIONS(3143),
    [anon_sym_weak] = ACTIONS(3143),
    [anon_sym_unowned] = ACTIONS(3141),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3143),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3143),
    [anon_sym_borrowing] = ACTIONS(3143),
    [anon_sym_consuming] = ACTIONS(3143),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3143),
    [sym__eq_custom] = ACTIONS(3143),
    [sym__throws_keyword] = ACTIONS(3143),
    [sym__rethrows_keyword] = ACTIONS(3143),
    [sym_where_keyword] = ACTIONS(3143),
    [sym__async_keyword_custom] = ACTIONS(3143),
  },
  [1875] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3188),
    [anon_sym_async] = ACTIONS(3188),
    [anon_sym_lazy] = ACTIONS(3188),
    [anon_sym_package] = ACTIONS(3188),
    [anon_sym_COMMA] = ACTIONS(3188),
    [anon_sym_BANG2] = ACTIONS(3188),
    [anon_sym_DOT] = ACTIONS(3188),
    [anon_sym_QMARK2] = ACTIONS(3188),
    [anon_sym_AMP] = ACTIONS(3188),
    [anon_sym_LBRACE] = ACTIONS(3188),
    [anon_sym_RBRACE] = ACTIONS(3188),
    [anon_sym_case] = ACTIONS(3188),
    [anon_sym_import] = ACTIONS(3188),
    [anon_sym_typealias] = ACTIONS(3188),
    [anon_sym_struct] = ACTIONS(3188),
    [anon_sym_class] = ACTIONS(3188),
    [anon_sym_enum] = ACTIONS(3188),
    [anon_sym_protocol] = ACTIONS(3188),
    [anon_sym_let] = ACTIONS(3188),
    [anon_sym_var] = ACTIONS(3188),
    [anon_sym_func] = ACTIONS(3188),
    [anon_sym_extension] = ACTIONS(3188),
    [anon_sym_indirect] = ACTIONS(3188),
    [anon_sym_init] = ACTIONS(3188),
    [anon_sym_deinit] = ACTIONS(3188),
    [anon_sym_subscript] = ACTIONS(3188),
    [anon_sym_prefix] = ACTIONS(3188),
    [anon_sym_infix] = ACTIONS(3188),
    [anon_sym_postfix] = ACTIONS(3188),
    [anon_sym_precedencegroup] = ACTIONS(3188),
    [anon_sym_associatedtype] = ACTIONS(3188),
    [anon_sym_AT] = ACTIONS(3186),
    [anon_sym_override] = ACTIONS(3188),
    [anon_sym_convenience] = ACTIONS(3188),
    [anon_sym_required] = ACTIONS(3188),
    [anon_sym_nonisolated] = ACTIONS(3188),
    [anon_sym_public] = ACTIONS(3188),
    [anon_sym_private] = ACTIONS(3188),
    [anon_sym_internal] = ACTIONS(3188),
    [anon_sym_fileprivate] = ACTIONS(3188),
    [anon_sym_open] = ACTIONS(3188),
    [anon_sym_mutating] = ACTIONS(3188),
    [anon_sym_nonmutating] = ACTIONS(3188),
    [anon_sym_static] = ACTIONS(3188),
    [anon_sym_dynamic] = ACTIONS(3188),
    [anon_sym_optional] = ACTIONS(3188),
    [anon_sym_distributed] = ACTIONS(3188),
    [anon_sym_final] = ACTIONS(3188),
    [anon_sym_inout] = ACTIONS(3188),
    [anon_sym_ATescaping] = ACTIONS(3188),
    [anon_sym_ATautoclosure] = ACTIONS(3188),
    [anon_sym_weak] = ACTIONS(3188),
    [anon_sym_unowned] = ACTIONS(3186),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3188),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3188),
    [anon_sym_borrowing] = ACTIONS(3188),
    [anon_sym_consuming] = ACTIONS(3188),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3188),
    [sym__eq_custom] = ACTIONS(3188),
    [sym__throws_keyword] = ACTIONS(3188),
    [sym__rethrows_keyword] = ACTIONS(3188),
    [sym_where_keyword] = ACTIONS(3188),
    [sym__async_keyword_custom] = ACTIONS(3188),
  },
  [1876] = {
    [aux_sym_protocol_composition_type_repeat1] = STATE(1866),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3235),
    [anon_sym_async] = ACTIONS(3235),
    [anon_sym_lazy] = ACTIONS(3235),
    [anon_sym_package] = ACTIONS(3235),
    [anon_sym_COMMA] = ACTIONS(3235),
    [anon_sym_BANG2] = ACTIONS(3235),
    [anon_sym_DOT] = ACTIONS(3235),
    [anon_sym_AMP] = ACTIONS(3235),
    [anon_sym_LBRACE] = ACTIONS(3235),
    [anon_sym_RBRACE] = ACTIONS(3235),
    [anon_sym_case] = ACTIONS(3235),
    [anon_sym_import] = ACTIONS(3235),
    [anon_sym_typealias] = ACTIONS(3235),
    [anon_sym_struct] = ACTIONS(3235),
    [anon_sym_class] = ACTIONS(3235),
    [anon_sym_enum] = ACTIONS(3235),
    [anon_sym_protocol] = ACTIONS(3235),
    [anon_sym_let] = ACTIONS(3235),
    [anon_sym_var] = ACTIONS(3235),
    [anon_sym_func] = ACTIONS(3235),
    [anon_sym_extension] = ACTIONS(3235),
    [anon_sym_indirect] = ACTIONS(3235),
    [anon_sym_init] = ACTIONS(3235),
    [anon_sym_deinit] = ACTIONS(3235),
    [anon_sym_subscript] = ACTIONS(3235),
    [anon_sym_prefix] = ACTIONS(3235),
    [anon_sym_infix] = ACTIONS(3235),
    [anon_sym_postfix] = ACTIONS(3235),
    [anon_sym_precedencegroup] = ACTIONS(3235),
    [anon_sym_associatedtype] = ACTIONS(3235),
    [anon_sym_AT] = ACTIONS(3233),
    [anon_sym_override] = ACTIONS(3235),
    [anon_sym_convenience] = ACTIONS(3235),
    [anon_sym_required] = ACTIONS(3235),
    [anon_sym_nonisolated] = ACTIONS(3235),
    [anon_sym_public] = ACTIONS(3235),
    [anon_sym_private] = ACTIONS(3235),
    [anon_sym_internal] = ACTIONS(3235),
    [anon_sym_fileprivate] = ACTIONS(3235),
    [anon_sym_open] = ACTIONS(3235),
    [anon_sym_mutating] = ACTIONS(3235),
    [anon_sym_nonmutating] = ACTIONS(3235),
    [anon_sym_static] = ACTIONS(3235),
    [anon_sym_dynamic] = ACTIONS(3235),
    [anon_sym_optional] = ACTIONS(3235),
    [anon_sym_distributed] = ACTIONS(3235),
    [anon_sym_final] = ACTIONS(3235),
    [anon_sym_inout] = ACTIONS(3235),
    [anon_sym_ATescaping] = ACTIONS(3235),
    [anon_sym_ATautoclosure] = ACTIONS(3235),
    [anon_sym_weak] = ACTIONS(3235),
    [anon_sym_unowned] = ACTIONS(3233),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3235),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3235),
    [anon_sym_borrowing] = ACTIONS(3235),
    [anon_sym_consuming] = ACTIONS(3235),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3235),
    [sym__eq_custom] = ACTIONS(3235),
    [sym__throws_keyword] = ACTIONS(3235),
    [sym__rethrows_keyword] = ACTIONS(3235),
    [sym_where_keyword] = ACTIONS(3235),
    [sym__async_keyword_custom] = ACTIONS(3235),
  },
  [1877] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3204),
    [anon_sym_async] = ACTIONS(3204),
    [anon_sym_lazy] = ACTIONS(3204),
    [anon_sym_package] = ACTIONS(3204),
    [sym_integer_literal] = ACTIONS(3204),
    [anon_sym_LPAREN] = ACTIONS(3204),
    [anon_sym_LT] = ACTIONS(3204),
    [anon_sym_LBRACE] = ACTIONS(3204),
    [anon_sym_CARET_LBRACE] = ACTIONS(3204),
    [anon_sym_RBRACE] = ACTIONS(3204),
    [anon_sym_case] = ACTIONS(3204),
    [anon_sym_import] = ACTIONS(3204),
    [anon_sym_typealias] = ACTIONS(3204),
    [anon_sym_struct] = ACTIONS(3204),
    [anon_sym_class] = ACTIONS(3204),
    [anon_sym_enum] = ACTIONS(3204),
    [anon_sym_protocol] = ACTIONS(3204),
    [anon_sym_let] = ACTIONS(3204),
    [anon_sym_var] = ACTIONS(3204),
    [anon_sym_func] = ACTIONS(3204),
    [anon_sym_willSet] = ACTIONS(3204),
    [anon_sym_didSet] = ACTIONS(3204),
    [anon_sym_macro] = ACTIONS(3204),
    [anon_sym_extension] = ACTIONS(3204),
    [anon_sym_indirect] = ACTIONS(3204),
    [anon_sym_init] = ACTIONS(3204),
    [anon_sym_deinit] = ACTIONS(3204),
    [anon_sym_subscript] = ACTIONS(3204),
    [anon_sym_get] = ACTIONS(3204),
    [anon_sym_set] = ACTIONS(3204),
    [anon_sym__modify] = ACTIONS(3204),
    [anon_sym_prefix] = ACTIONS(3204),
    [anon_sym_infix] = ACTIONS(3204),
    [anon_sym_postfix] = ACTIONS(3204),
    [anon_sym_precedencegroup] = ACTIONS(3204),
    [anon_sym_associatedtype] = ACTIONS(3204),
    [anon_sym_AT] = ACTIONS(3202),
    [anon_sym_override] = ACTIONS(3204),
    [anon_sym_convenience] = ACTIONS(3204),
    [anon_sym_required] = ACTIONS(3204),
    [anon_sym_nonisolated] = ACTIONS(3204),
    [anon_sym_public] = ACTIONS(3204),
    [anon_sym_private] = ACTIONS(3204),
    [anon_sym_internal] = ACTIONS(3204),
    [anon_sym_fileprivate] = ACTIONS(3204),
    [anon_sym_open] = ACTIONS(3204),
    [anon_sym_mutating] = ACTIONS(3204),
    [anon_sym_nonmutating] = ACTIONS(3204),
    [anon_sym_static] = ACTIONS(3204),
    [anon_sym_dynamic] = ACTIONS(3204),
    [anon_sym_optional] = ACTIONS(3204),
    [anon_sym_distributed] = ACTIONS(3204),
    [anon_sym_final] = ACTIONS(3204),
    [anon_sym_inout] = ACTIONS(3204),
    [anon_sym_ATescaping] = ACTIONS(3204),
    [anon_sym_ATautoclosure] = ACTIONS(3204),
    [anon_sym_weak] = ACTIONS(3204),
    [anon_sym_unowned] = ACTIONS(3202),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3204),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3204),
    [anon_sym_borrowing] = ACTIONS(3204),
    [anon_sym_consuming] = ACTIONS(3204),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3204),
  },
  [1878] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3192),
    [anon_sym_async] = ACTIONS(3192),
    [anon_sym_lazy] = ACTIONS(3192),
    [anon_sym_package] = ACTIONS(3192),
    [anon_sym_COMMA] = ACTIONS(3192),
    [anon_sym_BANG2] = ACTIONS(3192),
    [anon_sym_DOT] = ACTIONS(3192),
    [anon_sym_QMARK2] = ACTIONS(3192),
    [anon_sym_AMP] = ACTIONS(3192),
    [anon_sym_LBRACE] = ACTIONS(3192),
    [anon_sym_RBRACE] = ACTIONS(3192),
    [anon_sym_case] = ACTIONS(3192),
    [anon_sym_import] = ACTIONS(3192),
    [anon_sym_typealias] = ACTIONS(3192),
    [anon_sym_struct] = ACTIONS(3192),
    [anon_sym_class] = ACTIONS(3192),
    [anon_sym_enum] = ACTIONS(3192),
    [anon_sym_protocol] = ACTIONS(3192),
    [anon_sym_let] = ACTIONS(3192),
    [anon_sym_var] = ACTIONS(3192),
    [anon_sym_func] = ACTIONS(3192),
    [anon_sym_extension] = ACTIONS(3192),
    [anon_sym_indirect] = ACTIONS(3192),
    [anon_sym_init] = ACTIONS(3192),
    [anon_sym_deinit] = ACTIONS(3192),
    [anon_sym_subscript] = ACTIONS(3192),
    [anon_sym_prefix] = ACTIONS(3192),
    [anon_sym_infix] = ACTIONS(3192),
    [anon_sym_postfix] = ACTIONS(3192),
    [anon_sym_precedencegroup] = ACTIONS(3192),
    [anon_sym_associatedtype] = ACTIONS(3192),
    [anon_sym_AT] = ACTIONS(3190),
    [anon_sym_override] = ACTIONS(3192),
    [anon_sym_convenience] = ACTIONS(3192),
    [anon_sym_required] = ACTIONS(3192),
    [anon_sym_nonisolated] = ACTIONS(3192),
    [anon_sym_public] = ACTIONS(3192),
    [anon_sym_private] = ACTIONS(3192),
    [anon_sym_internal] = ACTIONS(3192),
    [anon_sym_fileprivate] = ACTIONS(3192),
    [anon_sym_open] = ACTIONS(3192),
    [anon_sym_mutating] = ACTIONS(3192),
    [anon_sym_nonmutating] = ACTIONS(3192),
    [anon_sym_static] = ACTIONS(3192),
    [anon_sym_dynamic] = ACTIONS(3192),
    [anon_sym_optional] = ACTIONS(3192),
    [anon_sym_distributed] = ACTIONS(3192),
    [anon_sym_final] = ACTIONS(3192),
    [anon_sym_inout] = ACTIONS(3192),
    [anon_sym_ATescaping] = ACTIONS(3192),
    [anon_sym_ATautoclosure] = ACTIONS(3192),
    [anon_sym_weak] = ACTIONS(3192),
    [anon_sym_unowned] = ACTIONS(3190),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3192),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3192),
    [anon_sym_borrowing] = ACTIONS(3192),
    [anon_sym_consuming] = ACTIONS(3192),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3192),
    [sym__eq_custom] = ACTIONS(3192),
    [sym__throws_keyword] = ACTIONS(3192),
    [sym__rethrows_keyword] = ACTIONS(3192),
    [sym_where_keyword] = ACTIONS(3192),
    [sym__async_keyword_custom] = ACTIONS(3192),
  },
  [1879] = {
    [sym__immediate_quest] = STATE(1864),
    [aux_sym_optional_type_repeat1] = STATE(1864),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3030),
    [anon_sym_async] = ACTIONS(3030),
    [anon_sym_lazy] = ACTIONS(3030),
    [anon_sym_package] = ACTIONS(3030),
    [anon_sym_COMMA] = ACTIONS(3030),
    [anon_sym_BANG2] = ACTIONS(3030),
    [anon_sym_DOT] = ACTIONS(3030),
    [anon_sym_QMARK2] = ACTIONS(5242),
    [anon_sym_AMP] = ACTIONS(3030),
    [anon_sym_LBRACE] = ACTIONS(3030),
    [anon_sym_RBRACE] = ACTIONS(3030),
    [anon_sym_case] = ACTIONS(3030),
    [anon_sym_import] = ACTIONS(3030),
    [anon_sym_typealias] = ACTIONS(3030),
    [anon_sym_struct] = ACTIONS(3030),
    [anon_sym_class] = ACTIONS(3030),
    [anon_sym_enum] = ACTIONS(3030),
    [anon_sym_protocol] = ACTIONS(3030),
    [anon_sym_let] = ACTIONS(3030),
    [anon_sym_var] = ACTIONS(3030),
    [anon_sym_func] = ACTIONS(3030),
    [anon_sym_extension] = ACTIONS(3030),
    [anon_sym_indirect] = ACTIONS(3030),
    [anon_sym_init] = ACTIONS(3030),
    [anon_sym_deinit] = ACTIONS(3030),
    [anon_sym_subscript] = ACTIONS(3030),
    [anon_sym_prefix] = ACTIONS(3030),
    [anon_sym_infix] = ACTIONS(3030),
    [anon_sym_postfix] = ACTIONS(3030),
    [anon_sym_precedencegroup] = ACTIONS(3030),
    [anon_sym_associatedtype] = ACTIONS(3030),
    [anon_sym_AT] = ACTIONS(3028),
    [anon_sym_override] = ACTIONS(3030),
    [anon_sym_convenience] = ACTIONS(3030),
    [anon_sym_required] = ACTIONS(3030),
    [anon_sym_nonisolated] = ACTIONS(3030),
    [anon_sym_public] = ACTIONS(3030),
    [anon_sym_private] = ACTIONS(3030),
    [anon_sym_internal] = ACTIONS(3030),
    [anon_sym_fileprivate] = ACTIONS(3030),
    [anon_sym_open] = ACTIONS(3030),
    [anon_sym_mutating] = ACTIONS(3030),
    [anon_sym_nonmutating] = ACTIONS(3030),
    [anon_sym_static] = ACTIONS(3030),
    [anon_sym_dynamic] = ACTIONS(3030),
    [anon_sym_optional] = ACTIONS(3030),
    [anon_sym_distributed] = ACTIONS(3030),
    [anon_sym_final] = ACTIONS(3030),
    [anon_sym_inout] = ACTIONS(3030),
    [anon_sym_ATescaping] = ACTIONS(3030),
    [anon_sym_ATautoclosure] = ACTIONS(3030),
    [anon_sym_weak] = ACTIONS(3030),
    [anon_sym_unowned] = ACTIONS(3028),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3030),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3030),
    [anon_sym_borrowing] = ACTIONS(3030),
    [anon_sym_consuming] = ACTIONS(3030),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3030),
    [sym__throws_keyword] = ACTIONS(3030),
    [sym__rethrows_keyword] = ACTIONS(3030),
    [sym__async_keyword_custom] = ACTIONS(3030),
  },
  [1880] = {
    [anon_sym_BANG] = ACTIONS(3219),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3219),
    [aux_sym_simple_identifier_token2] = ACTIONS(3221),
    [aux_sym_simple_identifier_token3] = ACTIONS(3221),
    [aux_sym_simple_identifier_token4] = ACTIONS(3221),
    [anon_sym_actor] = ACTIONS(3219),
    [anon_sym_async] = ACTIONS(3219),
    [anon_sym_each] = ACTIONS(3219),
    [anon_sym_lazy] = ACTIONS(3219),
    [anon_sym_repeat] = ACTIONS(3219),
    [anon_sym_package] = ACTIONS(3219),
    [anon_sym_COMMA] = ACTIONS(3221),
    [anon_sym_COLON] = ACTIONS(3221),
    [anon_sym_LPAREN] = ACTIONS(3221),
    [anon_sym_LBRACK] = ACTIONS(3221),
    [anon_sym_QMARK] = ACTIONS(3219),
    [anon_sym_QMARK2] = ACTIONS(3221),
    [anon_sym_AMP] = ACTIONS(3221),
    [aux_sym_custom_operator_token1] = ACTIONS(3221),
    [anon_sym_LT] = ACTIONS(3219),
    [anon_sym_GT] = ACTIONS(3219),
    [anon_sym_LBRACE] = ACTIONS(3221),
    [anon_sym_CARET_LBRACE] = ACTIONS(3221),
    [anon_sym_PLUS_EQ] = ACTIONS(3221),
    [anon_sym_DASH_EQ] = ACTIONS(3221),
    [anon_sym_STAR_EQ] = ACTIONS(3221),
    [anon_sym_SLASH_EQ] = ACTIONS(3221),
    [anon_sym_PERCENT_EQ] = ACTIONS(3221),
    [anon_sym_BANG_EQ] = ACTIONS(3219),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3221),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3221),
    [anon_sym_LT_EQ] = ACTIONS(3221),
    [anon_sym_GT_EQ] = ACTIONS(3221),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3221),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3221),
    [anon_sym_is] = ACTIONS(3219),
    [anon_sym_PLUS] = ACTIONS(3219),
    [anon_sym_DASH] = ACTIONS(3219),
    [anon_sym_STAR] = ACTIONS(3219),
    [anon_sym_SLASH] = ACTIONS(3219),
    [anon_sym_PERCENT] = ACTIONS(3219),
    [anon_sym_PLUS_PLUS] = ACTIONS(3221),
    [anon_sym_DASH_DASH] = ACTIONS(3221),
    [anon_sym_PIPE] = ACTIONS(3221),
    [anon_sym_CARET] = ACTIONS(3219),
    [anon_sym_LT_LT] = ACTIONS(3221),
    [anon_sym_GT_GT] = ACTIONS(3221),
    [anon_sym_borrowing] = ACTIONS(3219),
    [anon_sym_consuming] = ACTIONS(3219),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3221),
    [sym__conjunction_operator_custom] = ACTIONS(3221),
    [sym__disjunction_operator_custom] = ACTIONS(3221),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3221),
    [sym__eq_custom] = ACTIONS(3221),
    [sym__eq_eq_custom] = ACTIONS(3221),
    [sym__plus_then_ws] = ACTIONS(3221),
    [sym__minus_then_ws] = ACTIONS(3221),
    [sym__bang_custom] = ACTIONS(3221),
    [sym_where_keyword] = ACTIONS(3221),
    [sym__as_custom] = ACTIONS(3221),
    [sym__as_quest_custom] = ACTIONS(3221),
    [sym__as_bang_custom] = ACTIONS(3221),
    [sym__custom_operator] = ACTIONS(3221),
  },
  [1881] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3182),
    [anon_sym_async] = ACTIONS(3182),
    [anon_sym_lazy] = ACTIONS(3182),
    [anon_sym_package] = ACTIONS(3182),
    [anon_sym_COMMA] = ACTIONS(3182),
    [anon_sym_BANG2] = ACTIONS(3182),
    [anon_sym_DOT] = ACTIONS(3182),
    [anon_sym_QMARK2] = ACTIONS(3182),
    [anon_sym_AMP] = ACTIONS(3182),
    [anon_sym_LBRACE] = ACTIONS(3182),
    [anon_sym_RBRACE] = ACTIONS(3182),
    [anon_sym_case] = ACTIONS(3182),
    [anon_sym_import] = ACTIONS(3182),
    [anon_sym_typealias] = ACTIONS(3182),
    [anon_sym_struct] = ACTIONS(3182),
    [anon_sym_class] = ACTIONS(3182),
    [anon_sym_enum] = ACTIONS(3182),
    [anon_sym_protocol] = ACTIONS(3182),
    [anon_sym_let] = ACTIONS(3182),
    [anon_sym_var] = ACTIONS(3182),
    [anon_sym_func] = ACTIONS(3182),
    [anon_sym_extension] = ACTIONS(3182),
    [anon_sym_indirect] = ACTIONS(3182),
    [anon_sym_init] = ACTIONS(3182),
    [anon_sym_deinit] = ACTIONS(3182),
    [anon_sym_subscript] = ACTIONS(3182),
    [anon_sym_prefix] = ACTIONS(3182),
    [anon_sym_infix] = ACTIONS(3182),
    [anon_sym_postfix] = ACTIONS(3182),
    [anon_sym_precedencegroup] = ACTIONS(3182),
    [anon_sym_associatedtype] = ACTIONS(3182),
    [anon_sym_AT] = ACTIONS(3180),
    [anon_sym_override] = ACTIONS(3182),
    [anon_sym_convenience] = ACTIONS(3182),
    [anon_sym_required] = ACTIONS(3182),
    [anon_sym_nonisolated] = ACTIONS(3182),
    [anon_sym_public] = ACTIONS(3182),
    [anon_sym_private] = ACTIONS(3182),
    [anon_sym_internal] = ACTIONS(3182),
    [anon_sym_fileprivate] = ACTIONS(3182),
    [anon_sym_open] = ACTIONS(3182),
    [anon_sym_mutating] = ACTIONS(3182),
    [anon_sym_nonmutating] = ACTIONS(3182),
    [anon_sym_static] = ACTIONS(3182),
    [anon_sym_dynamic] = ACTIONS(3182),
    [anon_sym_optional] = ACTIONS(3182),
    [anon_sym_distributed] = ACTIONS(3182),
    [anon_sym_final] = ACTIONS(3182),
    [anon_sym_inout] = ACTIONS(3182),
    [anon_sym_ATescaping] = ACTIONS(3182),
    [anon_sym_ATautoclosure] = ACTIONS(3182),
    [anon_sym_weak] = ACTIONS(3182),
    [anon_sym_unowned] = ACTIONS(3180),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3182),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3182),
    [anon_sym_borrowing] = ACTIONS(3182),
    [anon_sym_consuming] = ACTIONS(3182),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3182),
    [sym__eq_custom] = ACTIONS(3182),
    [sym__throws_keyword] = ACTIONS(3182),
    [sym__rethrows_keyword] = ACTIONS(3182),
    [sym_where_keyword] = ACTIONS(3182),
    [sym__async_keyword_custom] = ACTIONS(3182),
  },
  [1882] = {
    [sym__arrow_operator] = STATE(4294),
    [sym__async_keyword] = STATE(6932),
    [sym_throws] = STATE(8479),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1998),
    [ts_builtin_sym_end] = ACTIONS(3055),
    [anon_sym_BANG] = ACTIONS(3053),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(3055),
    [anon_sym_LPAREN] = ACTIONS(3055),
    [anon_sym_LBRACK] = ACTIONS(3055),
    [anon_sym_DOT] = ACTIONS(5325),
    [anon_sym_QMARK] = ACTIONS(3053),
    [anon_sym_QMARK2] = ACTIONS(3055),
    [anon_sym_AMP] = ACTIONS(5327),
    [aux_sym_custom_operator_token1] = ACTIONS(3055),
    [anon_sym_LT] = ACTIONS(3053),
    [anon_sym_GT] = ACTIONS(3053),
    [anon_sym_LBRACE] = ACTIONS(3055),
    [anon_sym_CARET_LBRACE] = ACTIONS(3055),
    [anon_sym_RBRACE] = ACTIONS(3055),
    [anon_sym_PLUS_EQ] = ACTIONS(3055),
    [anon_sym_DASH_EQ] = ACTIONS(3055),
    [anon_sym_STAR_EQ] = ACTIONS(3055),
    [anon_sym_SLASH_EQ] = ACTIONS(3055),
    [anon_sym_PERCENT_EQ] = ACTIONS(3055),
    [anon_sym_BANG_EQ] = ACTIONS(3053),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3055),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3055),
    [anon_sym_LT_EQ] = ACTIONS(3055),
    [anon_sym_GT_EQ] = ACTIONS(3055),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3055),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3055),
    [anon_sym_is] = ACTIONS(3055),
    [anon_sym_PLUS] = ACTIONS(3053),
    [anon_sym_DASH] = ACTIONS(3053),
    [anon_sym_STAR] = ACTIONS(3053),
    [anon_sym_SLASH] = ACTIONS(3053),
    [anon_sym_PERCENT] = ACTIONS(3053),
    [anon_sym_PLUS_PLUS] = ACTIONS(3055),
    [anon_sym_DASH_DASH] = ACTIONS(3055),
    [anon_sym_PIPE] = ACTIONS(3055),
    [anon_sym_CARET] = ACTIONS(3053),
    [anon_sym_LT_LT] = ACTIONS(3055),
    [anon_sym_GT_GT] = ACTIONS(3055),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3055),
    [sym__explicit_semi] = ACTIONS(3055),
    [sym__arrow_operator_custom] = ACTIONS(5294),
    [sym__dot_custom] = ACTIONS(3055),
    [sym__conjunction_operator_custom] = ACTIONS(3055),
    [sym__disjunction_operator_custom] = ACTIONS(3055),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3055),
    [sym__eq_custom] = ACTIONS(3055),
    [sym__eq_eq_custom] = ACTIONS(3055),
    [sym__plus_then_ws] = ACTIONS(3055),
    [sym__minus_then_ws] = ACTIONS(3055),
    [sym__bang_custom] = ACTIONS(3055),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym_where_keyword] = ACTIONS(3055),
    [sym__as_custom] = ACTIONS(3055),
    [sym__as_quest_custom] = ACTIONS(3055),
    [sym__as_bang_custom] = ACTIONS(3055),
    [sym__async_keyword_custom] = ACTIONS(5296),
    [sym__custom_operator] = ACTIONS(3055),
  },
  [1883] = {
    [sym__arrow_operator] = STATE(4294),
    [sym__async_keyword] = STATE(6932),
    [sym_throws] = STATE(8479),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1998),
    [ts_builtin_sym_end] = ACTIONS(3075),
    [anon_sym_BANG] = ACTIONS(3073),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(3075),
    [anon_sym_LPAREN] = ACTIONS(3075),
    [anon_sym_LBRACK] = ACTIONS(3075),
    [anon_sym_DOT] = ACTIONS(5325),
    [anon_sym_QMARK] = ACTIONS(3073),
    [anon_sym_QMARK2] = ACTIONS(3075),
    [anon_sym_AMP] = ACTIONS(5327),
    [aux_sym_custom_operator_token1] = ACTIONS(3075),
    [anon_sym_LT] = ACTIONS(3073),
    [anon_sym_GT] = ACTIONS(3073),
    [anon_sym_LBRACE] = ACTIONS(3075),
    [anon_sym_CARET_LBRACE] = ACTIONS(3075),
    [anon_sym_RBRACE] = ACTIONS(3075),
    [anon_sym_PLUS_EQ] = ACTIONS(3075),
    [anon_sym_DASH_EQ] = ACTIONS(3075),
    [anon_sym_STAR_EQ] = ACTIONS(3075),
    [anon_sym_SLASH_EQ] = ACTIONS(3075),
    [anon_sym_PERCENT_EQ] = ACTIONS(3075),
    [anon_sym_BANG_EQ] = ACTIONS(3073),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3075),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3075),
    [anon_sym_LT_EQ] = ACTIONS(3075),
    [anon_sym_GT_EQ] = ACTIONS(3075),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3075),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3075),
    [anon_sym_is] = ACTIONS(3075),
    [anon_sym_PLUS] = ACTIONS(3073),
    [anon_sym_DASH] = ACTIONS(3073),
    [anon_sym_STAR] = ACTIONS(3073),
    [anon_sym_SLASH] = ACTIONS(3073),
    [anon_sym_PERCENT] = ACTIONS(3073),
    [anon_sym_PLUS_PLUS] = ACTIONS(3075),
    [anon_sym_DASH_DASH] = ACTIONS(3075),
    [anon_sym_PIPE] = ACTIONS(3075),
    [anon_sym_CARET] = ACTIONS(3073),
    [anon_sym_LT_LT] = ACTIONS(3075),
    [anon_sym_GT_GT] = ACTIONS(3075),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3075),
    [sym__explicit_semi] = ACTIONS(3075),
    [sym__arrow_operator_custom] = ACTIONS(5294),
    [sym__dot_custom] = ACTIONS(3075),
    [sym__conjunction_operator_custom] = ACTIONS(3075),
    [sym__disjunction_operator_custom] = ACTIONS(3075),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3075),
    [sym__eq_custom] = ACTIONS(3075),
    [sym__eq_eq_custom] = ACTIONS(3075),
    [sym__plus_then_ws] = ACTIONS(3075),
    [sym__minus_then_ws] = ACTIONS(3075),
    [sym__bang_custom] = ACTIONS(3075),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym_where_keyword] = ACTIONS(3075),
    [sym__as_custom] = ACTIONS(3075),
    [sym__as_quest_custom] = ACTIONS(3075),
    [sym__as_bang_custom] = ACTIONS(3075),
    [sym__async_keyword_custom] = ACTIONS(5296),
    [sym__custom_operator] = ACTIONS(3075),
  },
  [1884] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3159),
    [anon_sym_async] = ACTIONS(3159),
    [anon_sym_lazy] = ACTIONS(3159),
    [anon_sym_package] = ACTIONS(3159),
    [anon_sym_COMMA] = ACTIONS(3159),
    [anon_sym_BANG2] = ACTIONS(3159),
    [anon_sym_DOT] = ACTIONS(3159),
    [anon_sym_QMARK2] = ACTIONS(3159),
    [anon_sym_AMP] = ACTIONS(3159),
    [anon_sym_LBRACE] = ACTIONS(3159),
    [anon_sym_RBRACE] = ACTIONS(3159),
    [anon_sym_case] = ACTIONS(3159),
    [anon_sym_import] = ACTIONS(3159),
    [anon_sym_typealias] = ACTIONS(3159),
    [anon_sym_struct] = ACTIONS(3159),
    [anon_sym_class] = ACTIONS(3159),
    [anon_sym_enum] = ACTIONS(3159),
    [anon_sym_protocol] = ACTIONS(3159),
    [anon_sym_let] = ACTIONS(3159),
    [anon_sym_var] = ACTIONS(3159),
    [anon_sym_func] = ACTIONS(3159),
    [anon_sym_extension] = ACTIONS(3159),
    [anon_sym_indirect] = ACTIONS(3159),
    [anon_sym_init] = ACTIONS(3159),
    [anon_sym_deinit] = ACTIONS(3159),
    [anon_sym_subscript] = ACTIONS(3159),
    [anon_sym_prefix] = ACTIONS(3159),
    [anon_sym_infix] = ACTIONS(3159),
    [anon_sym_postfix] = ACTIONS(3159),
    [anon_sym_precedencegroup] = ACTIONS(3159),
    [anon_sym_associatedtype] = ACTIONS(3159),
    [anon_sym_AT] = ACTIONS(3157),
    [anon_sym_override] = ACTIONS(3159),
    [anon_sym_convenience] = ACTIONS(3159),
    [anon_sym_required] = ACTIONS(3159),
    [anon_sym_nonisolated] = ACTIONS(3159),
    [anon_sym_public] = ACTIONS(3159),
    [anon_sym_private] = ACTIONS(3159),
    [anon_sym_internal] = ACTIONS(3159),
    [anon_sym_fileprivate] = ACTIONS(3159),
    [anon_sym_open] = ACTIONS(3159),
    [anon_sym_mutating] = ACTIONS(3159),
    [anon_sym_nonmutating] = ACTIONS(3159),
    [anon_sym_static] = ACTIONS(3159),
    [anon_sym_dynamic] = ACTIONS(3159),
    [anon_sym_optional] = ACTIONS(3159),
    [anon_sym_distributed] = ACTIONS(3159),
    [anon_sym_final] = ACTIONS(3159),
    [anon_sym_inout] = ACTIONS(3159),
    [anon_sym_ATescaping] = ACTIONS(3159),
    [anon_sym_ATautoclosure] = ACTIONS(3159),
    [anon_sym_weak] = ACTIONS(3159),
    [anon_sym_unowned] = ACTIONS(3157),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3159),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3159),
    [anon_sym_borrowing] = ACTIONS(3159),
    [anon_sym_consuming] = ACTIONS(3159),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3159),
    [sym__eq_custom] = ACTIONS(3159),
    [sym__throws_keyword] = ACTIONS(3159),
    [sym__rethrows_keyword] = ACTIONS(3159),
    [sym_where_keyword] = ACTIONS(3159),
    [sym__async_keyword_custom] = ACTIONS(3159),
  },
  [1885] = {
    [sym__arrow_operator] = STATE(4294),
    [sym__async_keyword] = STATE(6932),
    [sym_throws] = STATE(8479),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1998),
    [ts_builtin_sym_end] = ACTIONS(3079),
    [anon_sym_BANG] = ACTIONS(3077),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(3079),
    [anon_sym_LPAREN] = ACTIONS(3079),
    [anon_sym_LBRACK] = ACTIONS(3079),
    [anon_sym_DOT] = ACTIONS(5325),
    [anon_sym_QMARK] = ACTIONS(3077),
    [anon_sym_QMARK2] = ACTIONS(3079),
    [anon_sym_AMP] = ACTIONS(5327),
    [aux_sym_custom_operator_token1] = ACTIONS(3079),
    [anon_sym_LT] = ACTIONS(3077),
    [anon_sym_GT] = ACTIONS(3077),
    [anon_sym_LBRACE] = ACTIONS(3079),
    [anon_sym_CARET_LBRACE] = ACTIONS(3079),
    [anon_sym_RBRACE] = ACTIONS(3079),
    [anon_sym_PLUS_EQ] = ACTIONS(3079),
    [anon_sym_DASH_EQ] = ACTIONS(3079),
    [anon_sym_STAR_EQ] = ACTIONS(3079),
    [anon_sym_SLASH_EQ] = ACTIONS(3079),
    [anon_sym_PERCENT_EQ] = ACTIONS(3079),
    [anon_sym_BANG_EQ] = ACTIONS(3077),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3079),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3079),
    [anon_sym_LT_EQ] = ACTIONS(3079),
    [anon_sym_GT_EQ] = ACTIONS(3079),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3079),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3079),
    [anon_sym_is] = ACTIONS(3079),
    [anon_sym_PLUS] = ACTIONS(3077),
    [anon_sym_DASH] = ACTIONS(3077),
    [anon_sym_STAR] = ACTIONS(3077),
    [anon_sym_SLASH] = ACTIONS(3077),
    [anon_sym_PERCENT] = ACTIONS(3077),
    [anon_sym_PLUS_PLUS] = ACTIONS(3079),
    [anon_sym_DASH_DASH] = ACTIONS(3079),
    [anon_sym_PIPE] = ACTIONS(3079),
    [anon_sym_CARET] = ACTIONS(3077),
    [anon_sym_LT_LT] = ACTIONS(3079),
    [anon_sym_GT_GT] = ACTIONS(3079),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3079),
    [sym__explicit_semi] = ACTIONS(3079),
    [sym__arrow_operator_custom] = ACTIONS(5294),
    [sym__dot_custom] = ACTIONS(3079),
    [sym__conjunction_operator_custom] = ACTIONS(3079),
    [sym__disjunction_operator_custom] = ACTIONS(3079),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3079),
    [sym__eq_custom] = ACTIONS(3079),
    [sym__eq_eq_custom] = ACTIONS(3079),
    [sym__plus_then_ws] = ACTIONS(3079),
    [sym__minus_then_ws] = ACTIONS(3079),
    [sym__bang_custom] = ACTIONS(3079),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym_where_keyword] = ACTIONS(3079),
    [sym__as_custom] = ACTIONS(3079),
    [sym__as_quest_custom] = ACTIONS(3079),
    [sym__as_bang_custom] = ACTIONS(3079),
    [sym__async_keyword_custom] = ACTIONS(5296),
    [sym__custom_operator] = ACTIONS(3079),
  },
  [1886] = {
    [sym__block] = STATE(3201),
    [sym_function_body] = STATE(3299),
    [sym_type_constraints] = STATE(2576),
    [aux_sym__function_value_parameters] = STATE(2100),
    [sym__async_keyword] = STATE(2073),
    [sym_throws] = STATE(2263),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(5329),
    [anon_sym_async] = ACTIONS(5329),
    [anon_sym_lazy] = ACTIONS(5329),
    [anon_sym_package] = ACTIONS(5329),
    [anon_sym_LPAREN] = ACTIONS(5307),
    [anon_sym_LBRACE] = ACTIONS(5309),
    [anon_sym_RBRACE] = ACTIONS(5329),
    [anon_sym_case] = ACTIONS(5329),
    [anon_sym_import] = ACTIONS(5329),
    [anon_sym_typealias] = ACTIONS(5329),
    [anon_sym_struct] = ACTIONS(5329),
    [anon_sym_class] = ACTIONS(5329),
    [anon_sym_enum] = ACTIONS(5329),
    [anon_sym_protocol] = ACTIONS(5329),
    [anon_sym_let] = ACTIONS(5329),
    [anon_sym_var] = ACTIONS(5329),
    [anon_sym_func] = ACTIONS(5329),
    [anon_sym_extension] = ACTIONS(5329),
    [anon_sym_indirect] = ACTIONS(5329),
    [anon_sym_init] = ACTIONS(5329),
    [anon_sym_deinit] = ACTIONS(5329),
    [anon_sym_subscript] = ACTIONS(5329),
    [anon_sym_prefix] = ACTIONS(5329),
    [anon_sym_infix] = ACTIONS(5329),
    [anon_sym_postfix] = ACTIONS(5329),
    [anon_sym_precedencegroup] = ACTIONS(5329),
    [anon_sym_associatedtype] = ACTIONS(5329),
    [anon_sym_AT] = ACTIONS(5331),
    [anon_sym_override] = ACTIONS(5329),
    [anon_sym_convenience] = ACTIONS(5329),
    [anon_sym_required] = ACTIONS(5329),
    [anon_sym_nonisolated] = ACTIONS(5329),
    [anon_sym_public] = ACTIONS(5329),
    [anon_sym_private] = ACTIONS(5329),
    [anon_sym_internal] = ACTIONS(5329),
    [anon_sym_fileprivate] = ACTIONS(5329),
    [anon_sym_open] = ACTIONS(5329),
    [anon_sym_mutating] = ACTIONS(5329),
    [anon_sym_nonmutating] = ACTIONS(5329),
    [anon_sym_static] = ACTIONS(5329),
    [anon_sym_dynamic] = ACTIONS(5329),
    [anon_sym_optional] = ACTIONS(5329),
    [anon_sym_distributed] = ACTIONS(5329),
    [anon_sym_final] = ACTIONS(5329),
    [anon_sym_inout] = ACTIONS(5329),
    [anon_sym_ATescaping] = ACTIONS(5329),
    [anon_sym_ATautoclosure] = ACTIONS(5329),
    [anon_sym_weak] = ACTIONS(5329),
    [anon_sym_unowned] = ACTIONS(5331),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(5329),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(5329),
    [anon_sym_borrowing] = ACTIONS(5329),
    [anon_sym_consuming] = ACTIONS(5329),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__throws_keyword] = ACTIONS(5313),
    [sym__rethrows_keyword] = ACTIONS(5313),
    [sym_where_keyword] = ACTIONS(5315),
    [sym__async_keyword_custom] = ACTIONS(5333),
  },
  [1887] = {
    [anon_sym_BANG] = ACTIONS(3237),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3237),
    [aux_sym_simple_identifier_token2] = ACTIONS(3239),
    [aux_sym_simple_identifier_token3] = ACTIONS(3239),
    [aux_sym_simple_identifier_token4] = ACTIONS(3239),
    [anon_sym_actor] = ACTIONS(3237),
    [anon_sym_async] = ACTIONS(3237),
    [anon_sym_each] = ACTIONS(3237),
    [anon_sym_lazy] = ACTIONS(3237),
    [anon_sym_repeat] = ACTIONS(3237),
    [anon_sym_package] = ACTIONS(3237),
    [anon_sym_COMMA] = ACTIONS(3239),
    [anon_sym_COLON] = ACTIONS(3239),
    [anon_sym_LPAREN] = ACTIONS(3239),
    [anon_sym_LBRACK] = ACTIONS(3239),
    [anon_sym_QMARK] = ACTIONS(3237),
    [anon_sym_QMARK2] = ACTIONS(3239),
    [anon_sym_AMP] = ACTIONS(3239),
    [aux_sym_custom_operator_token1] = ACTIONS(3239),
    [anon_sym_LT] = ACTIONS(3237),
    [anon_sym_GT] = ACTIONS(3237),
    [anon_sym_LBRACE] = ACTIONS(3239),
    [anon_sym_CARET_LBRACE] = ACTIONS(3239),
    [anon_sym_PLUS_EQ] = ACTIONS(3239),
    [anon_sym_DASH_EQ] = ACTIONS(3239),
    [anon_sym_STAR_EQ] = ACTIONS(3239),
    [anon_sym_SLASH_EQ] = ACTIONS(3239),
    [anon_sym_PERCENT_EQ] = ACTIONS(3239),
    [anon_sym_BANG_EQ] = ACTIONS(3237),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3239),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3239),
    [anon_sym_LT_EQ] = ACTIONS(3239),
    [anon_sym_GT_EQ] = ACTIONS(3239),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3239),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3239),
    [anon_sym_is] = ACTIONS(3237),
    [anon_sym_PLUS] = ACTIONS(3237),
    [anon_sym_DASH] = ACTIONS(3237),
    [anon_sym_STAR] = ACTIONS(3237),
    [anon_sym_SLASH] = ACTIONS(3237),
    [anon_sym_PERCENT] = ACTIONS(3237),
    [anon_sym_PLUS_PLUS] = ACTIONS(3239),
    [anon_sym_DASH_DASH] = ACTIONS(3239),
    [anon_sym_PIPE] = ACTIONS(3239),
    [anon_sym_CARET] = ACTIONS(3237),
    [anon_sym_LT_LT] = ACTIONS(3239),
    [anon_sym_GT_GT] = ACTIONS(3239),
    [anon_sym_borrowing] = ACTIONS(3237),
    [anon_sym_consuming] = ACTIONS(3237),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3239),
    [sym__conjunction_operator_custom] = ACTIONS(3239),
    [sym__disjunction_operator_custom] = ACTIONS(3239),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3239),
    [sym__eq_custom] = ACTIONS(3239),
    [sym__eq_eq_custom] = ACTIONS(3239),
    [sym__plus_then_ws] = ACTIONS(3239),
    [sym__minus_then_ws] = ACTIONS(3239),
    [sym__bang_custom] = ACTIONS(3239),
    [sym_where_keyword] = ACTIONS(3239),
    [sym__as_custom] = ACTIONS(3239),
    [sym__as_quest_custom] = ACTIONS(3239),
    [sym__as_bang_custom] = ACTIONS(3239),
    [sym__custom_operator] = ACTIONS(3239),
  },
  [1888] = {
    [sym_type_annotation] = STATE(1957),
    [sym__expression_with_willset_didset] = STATE(3019),
    [sym__expression_without_willset_didset] = STATE(3018),
    [sym_willset_didset_block] = STATE(3016),
    [sym_type_constraints] = STATE(2072),
    [sym__equal_sign] = STATE(674),
    [sym_computed_property] = STATE(3013),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(5335),
    [anon_sym_async] = ACTIONS(5335),
    [anon_sym_lazy] = ACTIONS(5335),
    [anon_sym_package] = ACTIONS(5335),
    [anon_sym_COMMA] = ACTIONS(5335),
    [anon_sym_COLON] = ACTIONS(5337),
    [anon_sym_LBRACE] = ACTIONS(5339),
    [anon_sym_RBRACE] = ACTIONS(5335),
    [anon_sym_case] = ACTIONS(5335),
    [anon_sym_import] = ACTIONS(5335),
    [anon_sym_typealias] = ACTIONS(5335),
    [anon_sym_struct] = ACTIONS(5335),
    [anon_sym_class] = ACTIONS(5335),
    [anon_sym_enum] = ACTIONS(5335),
    [anon_sym_protocol] = ACTIONS(5335),
    [anon_sym_let] = ACTIONS(5335),
    [anon_sym_var] = ACTIONS(5335),
    [anon_sym_func] = ACTIONS(5335),
    [anon_sym_extension] = ACTIONS(5335),
    [anon_sym_indirect] = ACTIONS(5335),
    [anon_sym_init] = ACTIONS(5335),
    [anon_sym_deinit] = ACTIONS(5335),
    [anon_sym_subscript] = ACTIONS(5335),
    [anon_sym_prefix] = ACTIONS(5335),
    [anon_sym_infix] = ACTIONS(5335),
    [anon_sym_postfix] = ACTIONS(5335),
    [anon_sym_precedencegroup] = ACTIONS(5335),
    [anon_sym_associatedtype] = ACTIONS(5335),
    [anon_sym_AT] = ACTIONS(5341),
    [anon_sym_override] = ACTIONS(5335),
    [anon_sym_convenience] = ACTIONS(5335),
    [anon_sym_required] = ACTIONS(5335),
    [anon_sym_nonisolated] = ACTIONS(5335),
    [anon_sym_public] = ACTIONS(5335),
    [anon_sym_private] = ACTIONS(5335),
    [anon_sym_internal] = ACTIONS(5335),
    [anon_sym_fileprivate] = ACTIONS(5335),
    [anon_sym_open] = ACTIONS(5335),
    [anon_sym_mutating] = ACTIONS(5335),
    [anon_sym_nonmutating] = ACTIONS(5335),
    [anon_sym_static] = ACTIONS(5335),
    [anon_sym_dynamic] = ACTIONS(5335),
    [anon_sym_optional] = ACTIONS(5335),
    [anon_sym_distributed] = ACTIONS(5335),
    [anon_sym_final] = ACTIONS(5335),
    [anon_sym_inout] = ACTIONS(5335),
    [anon_sym_ATescaping] = ACTIONS(5335),
    [anon_sym_ATautoclosure] = ACTIONS(5335),
    [anon_sym_weak] = ACTIONS(5335),
    [anon_sym_unowned] = ACTIONS(5341),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(5335),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(5335),
    [anon_sym_borrowing] = ACTIONS(5335),
    [anon_sym_consuming] = ACTIONS(5335),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__eq_custom] = ACTIONS(5343),
    [sym_where_keyword] = ACTIONS(5345),
  },
  [1889] = {
    [anon_sym_BANG] = ACTIONS(3229),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3229),
    [aux_sym_simple_identifier_token2] = ACTIONS(3231),
    [aux_sym_simple_identifier_token3] = ACTIONS(3231),
    [aux_sym_simple_identifier_token4] = ACTIONS(3231),
    [anon_sym_actor] = ACTIONS(3229),
    [anon_sym_async] = ACTIONS(3229),
    [anon_sym_each] = ACTIONS(3229),
    [anon_sym_lazy] = ACTIONS(3229),
    [anon_sym_repeat] = ACTIONS(3229),
    [anon_sym_package] = ACTIONS(3229),
    [anon_sym_COMMA] = ACTIONS(3231),
    [anon_sym_COLON] = ACTIONS(3231),
    [anon_sym_LPAREN] = ACTIONS(3231),
    [anon_sym_LBRACK] = ACTIONS(3231),
    [anon_sym_QMARK] = ACTIONS(3229),
    [anon_sym_QMARK2] = ACTIONS(3231),
    [anon_sym_AMP] = ACTIONS(3231),
    [aux_sym_custom_operator_token1] = ACTIONS(3231),
    [anon_sym_LT] = ACTIONS(3229),
    [anon_sym_GT] = ACTIONS(3229),
    [anon_sym_LBRACE] = ACTIONS(3231),
    [anon_sym_CARET_LBRACE] = ACTIONS(3231),
    [anon_sym_PLUS_EQ] = ACTIONS(3231),
    [anon_sym_DASH_EQ] = ACTIONS(3231),
    [anon_sym_STAR_EQ] = ACTIONS(3231),
    [anon_sym_SLASH_EQ] = ACTIONS(3231),
    [anon_sym_PERCENT_EQ] = ACTIONS(3231),
    [anon_sym_BANG_EQ] = ACTIONS(3229),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3231),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3231),
    [anon_sym_LT_EQ] = ACTIONS(3231),
    [anon_sym_GT_EQ] = ACTIONS(3231),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3231),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3231),
    [anon_sym_is] = ACTIONS(3229),
    [anon_sym_PLUS] = ACTIONS(3229),
    [anon_sym_DASH] = ACTIONS(3229),
    [anon_sym_STAR] = ACTIONS(3229),
    [anon_sym_SLASH] = ACTIONS(3229),
    [anon_sym_PERCENT] = ACTIONS(3229),
    [anon_sym_PLUS_PLUS] = ACTIONS(3231),
    [anon_sym_DASH_DASH] = ACTIONS(3231),
    [anon_sym_PIPE] = ACTIONS(3231),
    [anon_sym_CARET] = ACTIONS(3229),
    [anon_sym_LT_LT] = ACTIONS(3231),
    [anon_sym_GT_GT] = ACTIONS(3231),
    [anon_sym_borrowing] = ACTIONS(3229),
    [anon_sym_consuming] = ACTIONS(3229),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3231),
    [sym__conjunction_operator_custom] = ACTIONS(3231),
    [sym__disjunction_operator_custom] = ACTIONS(3231),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3231),
    [sym__eq_custom] = ACTIONS(3231),
    [sym__eq_eq_custom] = ACTIONS(3231),
    [sym__plus_then_ws] = ACTIONS(3231),
    [sym__minus_then_ws] = ACTIONS(3231),
    [sym__bang_custom] = ACTIONS(3231),
    [sym_where_keyword] = ACTIONS(3231),
    [sym__as_custom] = ACTIONS(3231),
    [sym__as_quest_custom] = ACTIONS(3231),
    [sym__as_bang_custom] = ACTIONS(3231),
    [sym__custom_operator] = ACTIONS(3231),
  },
  [1890] = {
    [sym__block] = STATE(3201),
    [sym_function_body] = STATE(3423),
    [sym_type_constraints] = STATE(2530),
    [aux_sym__function_value_parameters] = STATE(2100),
    [sym__async_keyword] = STATE(2045),
    [sym_throws] = STATE(2230),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(5347),
    [anon_sym_async] = ACTIONS(5347),
    [anon_sym_lazy] = ACTIONS(5347),
    [anon_sym_package] = ACTIONS(5347),
    [anon_sym_LPAREN] = ACTIONS(5307),
    [anon_sym_LBRACE] = ACTIONS(5309),
    [anon_sym_RBRACE] = ACTIONS(5347),
    [anon_sym_case] = ACTIONS(5347),
    [anon_sym_import] = ACTIONS(5347),
    [anon_sym_typealias] = ACTIONS(5347),
    [anon_sym_struct] = ACTIONS(5347),
    [anon_sym_class] = ACTIONS(5347),
    [anon_sym_enum] = ACTIONS(5347),
    [anon_sym_protocol] = ACTIONS(5347),
    [anon_sym_let] = ACTIONS(5347),
    [anon_sym_var] = ACTIONS(5347),
    [anon_sym_func] = ACTIONS(5347),
    [anon_sym_extension] = ACTIONS(5347),
    [anon_sym_indirect] = ACTIONS(5347),
    [anon_sym_init] = ACTIONS(5347),
    [anon_sym_deinit] = ACTIONS(5347),
    [anon_sym_subscript] = ACTIONS(5347),
    [anon_sym_prefix] = ACTIONS(5347),
    [anon_sym_infix] = ACTIONS(5347),
    [anon_sym_postfix] = ACTIONS(5347),
    [anon_sym_precedencegroup] = ACTIONS(5347),
    [anon_sym_associatedtype] = ACTIONS(5347),
    [anon_sym_AT] = ACTIONS(5349),
    [anon_sym_override] = ACTIONS(5347),
    [anon_sym_convenience] = ACTIONS(5347),
    [anon_sym_required] = ACTIONS(5347),
    [anon_sym_nonisolated] = ACTIONS(5347),
    [anon_sym_public] = ACTIONS(5347),
    [anon_sym_private] = ACTIONS(5347),
    [anon_sym_internal] = ACTIONS(5347),
    [anon_sym_fileprivate] = ACTIONS(5347),
    [anon_sym_open] = ACTIONS(5347),
    [anon_sym_mutating] = ACTIONS(5347),
    [anon_sym_nonmutating] = ACTIONS(5347),
    [anon_sym_static] = ACTIONS(5347),
    [anon_sym_dynamic] = ACTIONS(5347),
    [anon_sym_optional] = ACTIONS(5347),
    [anon_sym_distributed] = ACTIONS(5347),
    [anon_sym_final] = ACTIONS(5347),
    [anon_sym_inout] = ACTIONS(5347),
    [anon_sym_ATescaping] = ACTIONS(5347),
    [anon_sym_ATautoclosure] = ACTIONS(5347),
    [anon_sym_weak] = ACTIONS(5347),
    [anon_sym_unowned] = ACTIONS(5349),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(5347),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(5347),
    [anon_sym_borrowing] = ACTIONS(5347),
    [anon_sym_consuming] = ACTIONS(5347),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__throws_keyword] = ACTIONS(5313),
    [sym__rethrows_keyword] = ACTIONS(5313),
    [sym_where_keyword] = ACTIONS(5315),
    [sym__async_keyword_custom] = ACTIONS(5351),
  },
  [1891] = {
    [sym__block] = STATE(3201),
    [sym_function_body] = STATE(3148),
    [sym_type_constraints] = STATE(2439),
    [aux_sym__function_value_parameters] = STATE(2100),
    [sym__async_keyword] = STATE(2085),
    [sym_throws] = STATE(2317),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(5353),
    [anon_sym_async] = ACTIONS(5353),
    [anon_sym_lazy] = ACTIONS(5353),
    [anon_sym_package] = ACTIONS(5353),
    [anon_sym_LPAREN] = ACTIONS(5307),
    [anon_sym_LBRACE] = ACTIONS(5309),
    [anon_sym_RBRACE] = ACTIONS(5353),
    [anon_sym_case] = ACTIONS(5353),
    [anon_sym_import] = ACTIONS(5353),
    [anon_sym_typealias] = ACTIONS(5353),
    [anon_sym_struct] = ACTIONS(5353),
    [anon_sym_class] = ACTIONS(5353),
    [anon_sym_enum] = ACTIONS(5353),
    [anon_sym_protocol] = ACTIONS(5353),
    [anon_sym_let] = ACTIONS(5353),
    [anon_sym_var] = ACTIONS(5353),
    [anon_sym_func] = ACTIONS(5353),
    [anon_sym_extension] = ACTIONS(5353),
    [anon_sym_indirect] = ACTIONS(5353),
    [anon_sym_init] = ACTIONS(5353),
    [anon_sym_deinit] = ACTIONS(5353),
    [anon_sym_subscript] = ACTIONS(5353),
    [anon_sym_prefix] = ACTIONS(5353),
    [anon_sym_infix] = ACTIONS(5353),
    [anon_sym_postfix] = ACTIONS(5353),
    [anon_sym_precedencegroup] = ACTIONS(5353),
    [anon_sym_associatedtype] = ACTIONS(5353),
    [anon_sym_AT] = ACTIONS(5355),
    [anon_sym_override] = ACTIONS(5353),
    [anon_sym_convenience] = ACTIONS(5353),
    [anon_sym_required] = ACTIONS(5353),
    [anon_sym_nonisolated] = ACTIONS(5353),
    [anon_sym_public] = ACTIONS(5353),
    [anon_sym_private] = ACTIONS(5353),
    [anon_sym_internal] = ACTIONS(5353),
    [anon_sym_fileprivate] = ACTIONS(5353),
    [anon_sym_open] = ACTIONS(5353),
    [anon_sym_mutating] = ACTIONS(5353),
    [anon_sym_nonmutating] = ACTIONS(5353),
    [anon_sym_static] = ACTIONS(5353),
    [anon_sym_dynamic] = ACTIONS(5353),
    [anon_sym_optional] = ACTIONS(5353),
    [anon_sym_distributed] = ACTIONS(5353),
    [anon_sym_final] = ACTIONS(5353),
    [anon_sym_inout] = ACTIONS(5353),
    [anon_sym_ATescaping] = ACTIONS(5353),
    [anon_sym_ATautoclosure] = ACTIONS(5353),
    [anon_sym_weak] = ACTIONS(5353),
    [anon_sym_unowned] = ACTIONS(5355),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(5353),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(5353),
    [anon_sym_borrowing] = ACTIONS(5353),
    [anon_sym_consuming] = ACTIONS(5353),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__throws_keyword] = ACTIONS(5313),
    [sym__rethrows_keyword] = ACTIONS(5313),
    [sym_where_keyword] = ACTIONS(5315),
    [sym__async_keyword_custom] = ACTIONS(5357),
  },
  [1892] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3131),
    [anon_sym_async] = ACTIONS(3131),
    [anon_sym_lazy] = ACTIONS(3131),
    [anon_sym_package] = ACTIONS(3131),
    [anon_sym_COMMA] = ACTIONS(3131),
    [anon_sym_BANG2] = ACTIONS(3131),
    [anon_sym_DOT] = ACTIONS(3131),
    [anon_sym_QMARK2] = ACTIONS(3131),
    [anon_sym_AMP] = ACTIONS(3131),
    [anon_sym_LBRACE] = ACTIONS(3131),
    [anon_sym_RBRACE] = ACTIONS(3131),
    [anon_sym_case] = ACTIONS(3131),
    [anon_sym_import] = ACTIONS(3131),
    [anon_sym_typealias] = ACTIONS(3131),
    [anon_sym_struct] = ACTIONS(3131),
    [anon_sym_class] = ACTIONS(3131),
    [anon_sym_enum] = ACTIONS(3131),
    [anon_sym_protocol] = ACTIONS(3131),
    [anon_sym_let] = ACTIONS(3131),
    [anon_sym_var] = ACTIONS(3131),
    [anon_sym_func] = ACTIONS(3131),
    [anon_sym_extension] = ACTIONS(3131),
    [anon_sym_indirect] = ACTIONS(3131),
    [anon_sym_init] = ACTIONS(3131),
    [anon_sym_deinit] = ACTIONS(3131),
    [anon_sym_subscript] = ACTIONS(3131),
    [anon_sym_prefix] = ACTIONS(3131),
    [anon_sym_infix] = ACTIONS(3131),
    [anon_sym_postfix] = ACTIONS(3131),
    [anon_sym_precedencegroup] = ACTIONS(3131),
    [anon_sym_associatedtype] = ACTIONS(3131),
    [anon_sym_AT] = ACTIONS(3129),
    [anon_sym_override] = ACTIONS(3131),
    [anon_sym_convenience] = ACTIONS(3131),
    [anon_sym_required] = ACTIONS(3131),
    [anon_sym_nonisolated] = ACTIONS(3131),
    [anon_sym_public] = ACTIONS(3131),
    [anon_sym_private] = ACTIONS(3131),
    [anon_sym_internal] = ACTIONS(3131),
    [anon_sym_fileprivate] = ACTIONS(3131),
    [anon_sym_open] = ACTIONS(3131),
    [anon_sym_mutating] = ACTIONS(3131),
    [anon_sym_nonmutating] = ACTIONS(3131),
    [anon_sym_static] = ACTIONS(3131),
    [anon_sym_dynamic] = ACTIONS(3131),
    [anon_sym_optional] = ACTIONS(3131),
    [anon_sym_distributed] = ACTIONS(3131),
    [anon_sym_final] = ACTIONS(3131),
    [anon_sym_inout] = ACTIONS(3131),
    [anon_sym_ATescaping] = ACTIONS(3131),
    [anon_sym_ATautoclosure] = ACTIONS(3131),
    [anon_sym_weak] = ACTIONS(3131),
    [anon_sym_unowned] = ACTIONS(3129),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3131),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3131),
    [anon_sym_borrowing] = ACTIONS(3131),
    [anon_sym_consuming] = ACTIONS(3131),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3131),
    [sym__eq_custom] = ACTIONS(3131),
    [sym__throws_keyword] = ACTIONS(3131),
    [sym__rethrows_keyword] = ACTIONS(3131),
    [sym_where_keyword] = ACTIONS(3131),
    [sym__async_keyword_custom] = ACTIONS(3131),
  },
  [1893] = {
    [sym__block] = STATE(3201),
    [sym_function_body] = STATE(3502),
    [sym_type_constraints] = STATE(2528),
    [aux_sym__function_value_parameters] = STATE(2100),
    [sym__async_keyword] = STATE(2044),
    [sym_throws] = STATE(2222),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(5359),
    [anon_sym_async] = ACTIONS(5359),
    [anon_sym_lazy] = ACTIONS(5359),
    [anon_sym_package] = ACTIONS(5359),
    [anon_sym_LPAREN] = ACTIONS(5307),
    [anon_sym_LBRACE] = ACTIONS(5309),
    [anon_sym_RBRACE] = ACTIONS(5359),
    [anon_sym_case] = ACTIONS(5359),
    [anon_sym_import] = ACTIONS(5359),
    [anon_sym_typealias] = ACTIONS(5359),
    [anon_sym_struct] = ACTIONS(5359),
    [anon_sym_class] = ACTIONS(5359),
    [anon_sym_enum] = ACTIONS(5359),
    [anon_sym_protocol] = ACTIONS(5359),
    [anon_sym_let] = ACTIONS(5359),
    [anon_sym_var] = ACTIONS(5359),
    [anon_sym_func] = ACTIONS(5359),
    [anon_sym_extension] = ACTIONS(5359),
    [anon_sym_indirect] = ACTIONS(5359),
    [anon_sym_init] = ACTIONS(5359),
    [anon_sym_deinit] = ACTIONS(5359),
    [anon_sym_subscript] = ACTIONS(5359),
    [anon_sym_prefix] = ACTIONS(5359),
    [anon_sym_infix] = ACTIONS(5359),
    [anon_sym_postfix] = ACTIONS(5359),
    [anon_sym_precedencegroup] = ACTIONS(5359),
    [anon_sym_associatedtype] = ACTIONS(5359),
    [anon_sym_AT] = ACTIONS(5361),
    [anon_sym_override] = ACTIONS(5359),
    [anon_sym_convenience] = ACTIONS(5359),
    [anon_sym_required] = ACTIONS(5359),
    [anon_sym_nonisolated] = ACTIONS(5359),
    [anon_sym_public] = ACTIONS(5359),
    [anon_sym_private] = ACTIONS(5359),
    [anon_sym_internal] = ACTIONS(5359),
    [anon_sym_fileprivate] = ACTIONS(5359),
    [anon_sym_open] = ACTIONS(5359),
    [anon_sym_mutating] = ACTIONS(5359),
    [anon_sym_nonmutating] = ACTIONS(5359),
    [anon_sym_static] = ACTIONS(5359),
    [anon_sym_dynamic] = ACTIONS(5359),
    [anon_sym_optional] = ACTIONS(5359),
    [anon_sym_distributed] = ACTIONS(5359),
    [anon_sym_final] = ACTIONS(5359),
    [anon_sym_inout] = ACTIONS(5359),
    [anon_sym_ATescaping] = ACTIONS(5359),
    [anon_sym_ATautoclosure] = ACTIONS(5359),
    [anon_sym_weak] = ACTIONS(5359),
    [anon_sym_unowned] = ACTIONS(5361),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(5359),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(5359),
    [anon_sym_borrowing] = ACTIONS(5359),
    [anon_sym_consuming] = ACTIONS(5359),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__throws_keyword] = ACTIONS(5313),
    [sym__rethrows_keyword] = ACTIONS(5313),
    [sym_where_keyword] = ACTIONS(5315),
    [sym__async_keyword_custom] = ACTIONS(5363),
  },
  [1894] = {
    [sym__block] = STATE(3201),
    [sym_function_body] = STATE(3518),
    [sym_type_constraints] = STATE(2527),
    [aux_sym__function_value_parameters] = STATE(2100),
    [sym__async_keyword] = STATE(2043),
    [sym_throws] = STATE(2220),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(5359),
    [anon_sym_async] = ACTIONS(5359),
    [anon_sym_lazy] = ACTIONS(5359),
    [anon_sym_package] = ACTIONS(5359),
    [anon_sym_LPAREN] = ACTIONS(5307),
    [anon_sym_LBRACE] = ACTIONS(5309),
    [anon_sym_RBRACE] = ACTIONS(5359),
    [anon_sym_case] = ACTIONS(5359),
    [anon_sym_import] = ACTIONS(5359),
    [anon_sym_typealias] = ACTIONS(5359),
    [anon_sym_struct] = ACTIONS(5359),
    [anon_sym_class] = ACTIONS(5359),
    [anon_sym_enum] = ACTIONS(5359),
    [anon_sym_protocol] = ACTIONS(5359),
    [anon_sym_let] = ACTIONS(5359),
    [anon_sym_var] = ACTIONS(5359),
    [anon_sym_func] = ACTIONS(5359),
    [anon_sym_extension] = ACTIONS(5359),
    [anon_sym_indirect] = ACTIONS(5359),
    [anon_sym_init] = ACTIONS(5359),
    [anon_sym_deinit] = ACTIONS(5359),
    [anon_sym_subscript] = ACTIONS(5359),
    [anon_sym_prefix] = ACTIONS(5359),
    [anon_sym_infix] = ACTIONS(5359),
    [anon_sym_postfix] = ACTIONS(5359),
    [anon_sym_precedencegroup] = ACTIONS(5359),
    [anon_sym_associatedtype] = ACTIONS(5359),
    [anon_sym_AT] = ACTIONS(5361),
    [anon_sym_override] = ACTIONS(5359),
    [anon_sym_convenience] = ACTIONS(5359),
    [anon_sym_required] = ACTIONS(5359),
    [anon_sym_nonisolated] = ACTIONS(5359),
    [anon_sym_public] = ACTIONS(5359),
    [anon_sym_private] = ACTIONS(5359),
    [anon_sym_internal] = ACTIONS(5359),
    [anon_sym_fileprivate] = ACTIONS(5359),
    [anon_sym_open] = ACTIONS(5359),
    [anon_sym_mutating] = ACTIONS(5359),
    [anon_sym_nonmutating] = ACTIONS(5359),
    [anon_sym_static] = ACTIONS(5359),
    [anon_sym_dynamic] = ACTIONS(5359),
    [anon_sym_optional] = ACTIONS(5359),
    [anon_sym_distributed] = ACTIONS(5359),
    [anon_sym_final] = ACTIONS(5359),
    [anon_sym_inout] = ACTIONS(5359),
    [anon_sym_ATescaping] = ACTIONS(5359),
    [anon_sym_ATautoclosure] = ACTIONS(5359),
    [anon_sym_weak] = ACTIONS(5359),
    [anon_sym_unowned] = ACTIONS(5361),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(5359),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(5359),
    [anon_sym_borrowing] = ACTIONS(5359),
    [anon_sym_consuming] = ACTIONS(5359),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__throws_keyword] = ACTIONS(5313),
    [sym__rethrows_keyword] = ACTIONS(5313),
    [sym_where_keyword] = ACTIONS(5315),
    [sym__async_keyword_custom] = ACTIONS(5365),
  },
  [1895] = {
    [sym__block] = STATE(3201),
    [sym_function_body] = STATE(3259),
    [sym_type_constraints] = STATE(2461),
    [aux_sym__function_value_parameters] = STATE(2100),
    [sym__async_keyword] = STATE(2021),
    [sym_throws] = STATE(2269),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(5367),
    [anon_sym_async] = ACTIONS(5367),
    [anon_sym_lazy] = ACTIONS(5367),
    [anon_sym_package] = ACTIONS(5367),
    [anon_sym_LPAREN] = ACTIONS(5307),
    [anon_sym_LBRACE] = ACTIONS(5309),
    [anon_sym_RBRACE] = ACTIONS(5367),
    [anon_sym_case] = ACTIONS(5367),
    [anon_sym_import] = ACTIONS(5367),
    [anon_sym_typealias] = ACTIONS(5367),
    [anon_sym_struct] = ACTIONS(5367),
    [anon_sym_class] = ACTIONS(5367),
    [anon_sym_enum] = ACTIONS(5367),
    [anon_sym_protocol] = ACTIONS(5367),
    [anon_sym_let] = ACTIONS(5367),
    [anon_sym_var] = ACTIONS(5367),
    [anon_sym_func] = ACTIONS(5367),
    [anon_sym_extension] = ACTIONS(5367),
    [anon_sym_indirect] = ACTIONS(5367),
    [anon_sym_init] = ACTIONS(5367),
    [anon_sym_deinit] = ACTIONS(5367),
    [anon_sym_subscript] = ACTIONS(5367),
    [anon_sym_prefix] = ACTIONS(5367),
    [anon_sym_infix] = ACTIONS(5367),
    [anon_sym_postfix] = ACTIONS(5367),
    [anon_sym_precedencegroup] = ACTIONS(5367),
    [anon_sym_associatedtype] = ACTIONS(5367),
    [anon_sym_AT] = ACTIONS(5369),
    [anon_sym_override] = ACTIONS(5367),
    [anon_sym_convenience] = ACTIONS(5367),
    [anon_sym_required] = ACTIONS(5367),
    [anon_sym_nonisolated] = ACTIONS(5367),
    [anon_sym_public] = ACTIONS(5367),
    [anon_sym_private] = ACTIONS(5367),
    [anon_sym_internal] = ACTIONS(5367),
    [anon_sym_fileprivate] = ACTIONS(5367),
    [anon_sym_open] = ACTIONS(5367),
    [anon_sym_mutating] = ACTIONS(5367),
    [anon_sym_nonmutating] = ACTIONS(5367),
    [anon_sym_static] = ACTIONS(5367),
    [anon_sym_dynamic] = ACTIONS(5367),
    [anon_sym_optional] = ACTIONS(5367),
    [anon_sym_distributed] = ACTIONS(5367),
    [anon_sym_final] = ACTIONS(5367),
    [anon_sym_inout] = ACTIONS(5367),
    [anon_sym_ATescaping] = ACTIONS(5367),
    [anon_sym_ATautoclosure] = ACTIONS(5367),
    [anon_sym_weak] = ACTIONS(5367),
    [anon_sym_unowned] = ACTIONS(5369),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(5367),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(5367),
    [anon_sym_borrowing] = ACTIONS(5367),
    [anon_sym_consuming] = ACTIONS(5367),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__throws_keyword] = ACTIONS(5313),
    [sym__rethrows_keyword] = ACTIONS(5313),
    [sym_where_keyword] = ACTIONS(5315),
    [sym__async_keyword_custom] = ACTIONS(5371),
  },
  [1896] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3093),
    [anon_sym_async] = ACTIONS(3093),
    [anon_sym_lazy] = ACTIONS(3093),
    [anon_sym_package] = ACTIONS(3093),
    [anon_sym_COMMA] = ACTIONS(3093),
    [anon_sym_BANG2] = ACTIONS(3093),
    [anon_sym_DOT] = ACTIONS(3093),
    [anon_sym_QMARK2] = ACTIONS(3093),
    [anon_sym_AMP] = ACTIONS(3093),
    [anon_sym_LBRACE] = ACTIONS(3093),
    [anon_sym_RBRACE] = ACTIONS(3093),
    [anon_sym_case] = ACTIONS(3093),
    [anon_sym_import] = ACTIONS(3093),
    [anon_sym_typealias] = ACTIONS(3093),
    [anon_sym_struct] = ACTIONS(3093),
    [anon_sym_class] = ACTIONS(3093),
    [anon_sym_enum] = ACTIONS(3093),
    [anon_sym_protocol] = ACTIONS(3093),
    [anon_sym_let] = ACTIONS(3093),
    [anon_sym_var] = ACTIONS(3093),
    [anon_sym_func] = ACTIONS(3093),
    [anon_sym_extension] = ACTIONS(3093),
    [anon_sym_indirect] = ACTIONS(3093),
    [anon_sym_init] = ACTIONS(3093),
    [anon_sym_deinit] = ACTIONS(3093),
    [anon_sym_subscript] = ACTIONS(3093),
    [anon_sym_prefix] = ACTIONS(3093),
    [anon_sym_infix] = ACTIONS(3093),
    [anon_sym_postfix] = ACTIONS(3093),
    [anon_sym_precedencegroup] = ACTIONS(3093),
    [anon_sym_associatedtype] = ACTIONS(3093),
    [anon_sym_AT] = ACTIONS(3091),
    [anon_sym_override] = ACTIONS(3093),
    [anon_sym_convenience] = ACTIONS(3093),
    [anon_sym_required] = ACTIONS(3093),
    [anon_sym_nonisolated] = ACTIONS(3093),
    [anon_sym_public] = ACTIONS(3093),
    [anon_sym_private] = ACTIONS(3093),
    [anon_sym_internal] = ACTIONS(3093),
    [anon_sym_fileprivate] = ACTIONS(3093),
    [anon_sym_open] = ACTIONS(3093),
    [anon_sym_mutating] = ACTIONS(3093),
    [anon_sym_nonmutating] = ACTIONS(3093),
    [anon_sym_static] = ACTIONS(3093),
    [anon_sym_dynamic] = ACTIONS(3093),
    [anon_sym_optional] = ACTIONS(3093),
    [anon_sym_distributed] = ACTIONS(3093),
    [anon_sym_final] = ACTIONS(3093),
    [anon_sym_inout] = ACTIONS(3093),
    [anon_sym_ATescaping] = ACTIONS(3093),
    [anon_sym_ATautoclosure] = ACTIONS(3093),
    [anon_sym_weak] = ACTIONS(3093),
    [anon_sym_unowned] = ACTIONS(3091),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3093),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3093),
    [anon_sym_borrowing] = ACTIONS(3093),
    [anon_sym_consuming] = ACTIONS(3093),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3093),
    [sym__eq_custom] = ACTIONS(3093),
    [sym__throws_keyword] = ACTIONS(3093),
    [sym__rethrows_keyword] = ACTIONS(3093),
    [sym_where_keyword] = ACTIONS(3093),
    [sym__async_keyword_custom] = ACTIONS(3093),
  },
  [1897] = {
    [anon_sym_BANG] = ACTIONS(3217),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3219),
    [aux_sym_simple_identifier_token2] = ACTIONS(3221),
    [aux_sym_simple_identifier_token3] = ACTIONS(3221),
    [aux_sym_simple_identifier_token4] = ACTIONS(3221),
    [anon_sym_actor] = ACTIONS(3219),
    [anon_sym_async] = ACTIONS(3219),
    [anon_sym_each] = ACTIONS(3219),
    [anon_sym_lazy] = ACTIONS(3219),
    [anon_sym_repeat] = ACTIONS(3219),
    [anon_sym_package] = ACTIONS(3219),
    [anon_sym_COMMA] = ACTIONS(3223),
    [anon_sym_LPAREN] = ACTIONS(3223),
    [anon_sym_LBRACK] = ACTIONS(3223),
    [anon_sym_QMARK] = ACTIONS(3217),
    [anon_sym_QMARK2] = ACTIONS(3223),
    [anon_sym_AMP] = ACTIONS(3223),
    [aux_sym_custom_operator_token1] = ACTIONS(3223),
    [anon_sym_LT] = ACTIONS(3217),
    [anon_sym_GT] = ACTIONS(3217),
    [anon_sym_LBRACE] = ACTIONS(3223),
    [anon_sym_CARET_LBRACE] = ACTIONS(3223),
    [anon_sym_PLUS_EQ] = ACTIONS(3223),
    [anon_sym_DASH_EQ] = ACTIONS(3223),
    [anon_sym_STAR_EQ] = ACTIONS(3223),
    [anon_sym_SLASH_EQ] = ACTIONS(3223),
    [anon_sym_PERCENT_EQ] = ACTIONS(3223),
    [anon_sym_BANG_EQ] = ACTIONS(3217),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3223),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3223),
    [anon_sym_LT_EQ] = ACTIONS(3223),
    [anon_sym_GT_EQ] = ACTIONS(3223),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3223),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3223),
    [anon_sym_is] = ACTIONS(3217),
    [anon_sym_PLUS] = ACTIONS(3217),
    [anon_sym_DASH] = ACTIONS(3217),
    [anon_sym_STAR] = ACTIONS(3217),
    [anon_sym_SLASH] = ACTIONS(3217),
    [anon_sym_PERCENT] = ACTIONS(3217),
    [anon_sym_PLUS_PLUS] = ACTIONS(3223),
    [anon_sym_DASH_DASH] = ACTIONS(3223),
    [anon_sym_PIPE] = ACTIONS(3223),
    [anon_sym_CARET] = ACTIONS(3217),
    [anon_sym_LT_LT] = ACTIONS(3223),
    [anon_sym_GT_GT] = ACTIONS(3223),
    [anon_sym_borrowing] = ACTIONS(3219),
    [anon_sym_consuming] = ACTIONS(3219),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3223),
    [sym__conjunction_operator_custom] = ACTIONS(3223),
    [sym__disjunction_operator_custom] = ACTIONS(3223),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3223),
    [sym__eq_custom] = ACTIONS(3223),
    [sym__eq_eq_custom] = ACTIONS(3223),
    [sym__plus_then_ws] = ACTIONS(3223),
    [sym__minus_then_ws] = ACTIONS(3223),
    [sym__bang_custom] = ACTIONS(3223),
    [sym_where_keyword] = ACTIONS(3223),
    [sym_else] = ACTIONS(3223),
    [sym__as_custom] = ACTIONS(3223),
    [sym__as_quest_custom] = ACTIONS(3223),
    [sym__as_bang_custom] = ACTIONS(3223),
    [sym__custom_operator] = ACTIONS(3223),
  },
  [1898] = {
    [sym__block] = STATE(3201),
    [sym_function_body] = STATE(3269),
    [sym_type_constraints] = STATE(2465),
    [aux_sym__function_value_parameters] = STATE(2100),
    [sym__async_keyword] = STATE(2054),
    [sym_throws] = STATE(2251),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(5367),
    [anon_sym_async] = ACTIONS(5367),
    [anon_sym_lazy] = ACTIONS(5367),
    [anon_sym_package] = ACTIONS(5367),
    [anon_sym_LPAREN] = ACTIONS(5307),
    [anon_sym_LBRACE] = ACTIONS(5309),
    [anon_sym_RBRACE] = ACTIONS(5367),
    [anon_sym_case] = ACTIONS(5367),
    [anon_sym_import] = ACTIONS(5367),
    [anon_sym_typealias] = ACTIONS(5367),
    [anon_sym_struct] = ACTIONS(5367),
    [anon_sym_class] = ACTIONS(5367),
    [anon_sym_enum] = ACTIONS(5367),
    [anon_sym_protocol] = ACTIONS(5367),
    [anon_sym_let] = ACTIONS(5367),
    [anon_sym_var] = ACTIONS(5367),
    [anon_sym_func] = ACTIONS(5367),
    [anon_sym_extension] = ACTIONS(5367),
    [anon_sym_indirect] = ACTIONS(5367),
    [anon_sym_init] = ACTIONS(5367),
    [anon_sym_deinit] = ACTIONS(5367),
    [anon_sym_subscript] = ACTIONS(5367),
    [anon_sym_prefix] = ACTIONS(5367),
    [anon_sym_infix] = ACTIONS(5367),
    [anon_sym_postfix] = ACTIONS(5367),
    [anon_sym_precedencegroup] = ACTIONS(5367),
    [anon_sym_associatedtype] = ACTIONS(5367),
    [anon_sym_AT] = ACTIONS(5369),
    [anon_sym_override] = ACTIONS(5367),
    [anon_sym_convenience] = ACTIONS(5367),
    [anon_sym_required] = ACTIONS(5367),
    [anon_sym_nonisolated] = ACTIONS(5367),
    [anon_sym_public] = ACTIONS(5367),
    [anon_sym_private] = ACTIONS(5367),
    [anon_sym_internal] = ACTIONS(5367),
    [anon_sym_fileprivate] = ACTIONS(5367),
    [anon_sym_open] = ACTIONS(5367),
    [anon_sym_mutating] = ACTIONS(5367),
    [anon_sym_nonmutating] = ACTIONS(5367),
    [anon_sym_static] = ACTIONS(5367),
    [anon_sym_dynamic] = ACTIONS(5367),
    [anon_sym_optional] = ACTIONS(5367),
    [anon_sym_distributed] = ACTIONS(5367),
    [anon_sym_final] = ACTIONS(5367),
    [anon_sym_inout] = ACTIONS(5367),
    [anon_sym_ATescaping] = ACTIONS(5367),
    [anon_sym_ATautoclosure] = ACTIONS(5367),
    [anon_sym_weak] = ACTIONS(5367),
    [anon_sym_unowned] = ACTIONS(5369),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(5367),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(5367),
    [anon_sym_borrowing] = ACTIONS(5367),
    [anon_sym_consuming] = ACTIONS(5367),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__throws_keyword] = ACTIONS(5313),
    [sym__rethrows_keyword] = ACTIONS(5313),
    [sym_where_keyword] = ACTIONS(5315),
    [sym__async_keyword_custom] = ACTIONS(5373),
  },
  [1899] = {
    [anon_sym_BANG] = ACTIONS(3213),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3213),
    [aux_sym_simple_identifier_token2] = ACTIONS(3215),
    [aux_sym_simple_identifier_token3] = ACTIONS(3215),
    [aux_sym_simple_identifier_token4] = ACTIONS(3215),
    [anon_sym_actor] = ACTIONS(3213),
    [anon_sym_async] = ACTIONS(3213),
    [anon_sym_each] = ACTIONS(3213),
    [anon_sym_lazy] = ACTIONS(3213),
    [anon_sym_repeat] = ACTIONS(3213),
    [anon_sym_package] = ACTIONS(3213),
    [anon_sym_COMMA] = ACTIONS(3215),
    [anon_sym_COLON] = ACTIONS(3215),
    [anon_sym_LPAREN] = ACTIONS(3215),
    [anon_sym_LBRACK] = ACTIONS(3215),
    [anon_sym_QMARK] = ACTIONS(3213),
    [anon_sym_QMARK2] = ACTIONS(3215),
    [anon_sym_AMP] = ACTIONS(3215),
    [aux_sym_custom_operator_token1] = ACTIONS(3215),
    [anon_sym_LT] = ACTIONS(3213),
    [anon_sym_GT] = ACTIONS(3213),
    [anon_sym_LBRACE] = ACTIONS(3215),
    [anon_sym_CARET_LBRACE] = ACTIONS(3215),
    [anon_sym_PLUS_EQ] = ACTIONS(3215),
    [anon_sym_DASH_EQ] = ACTIONS(3215),
    [anon_sym_STAR_EQ] = ACTIONS(3215),
    [anon_sym_SLASH_EQ] = ACTIONS(3215),
    [anon_sym_PERCENT_EQ] = ACTIONS(3215),
    [anon_sym_BANG_EQ] = ACTIONS(3213),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3215),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3215),
    [anon_sym_LT_EQ] = ACTIONS(3215),
    [anon_sym_GT_EQ] = ACTIONS(3215),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3215),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3215),
    [anon_sym_is] = ACTIONS(3213),
    [anon_sym_PLUS] = ACTIONS(3213),
    [anon_sym_DASH] = ACTIONS(3213),
    [anon_sym_STAR] = ACTIONS(3213),
    [anon_sym_SLASH] = ACTIONS(3213),
    [anon_sym_PERCENT] = ACTIONS(3213),
    [anon_sym_PLUS_PLUS] = ACTIONS(3215),
    [anon_sym_DASH_DASH] = ACTIONS(3215),
    [anon_sym_PIPE] = ACTIONS(3215),
    [anon_sym_CARET] = ACTIONS(3213),
    [anon_sym_LT_LT] = ACTIONS(3215),
    [anon_sym_GT_GT] = ACTIONS(3215),
    [anon_sym_borrowing] = ACTIONS(3213),
    [anon_sym_consuming] = ACTIONS(3213),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3215),
    [sym__conjunction_operator_custom] = ACTIONS(3215),
    [sym__disjunction_operator_custom] = ACTIONS(3215),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3215),
    [sym__eq_custom] = ACTIONS(3215),
    [sym__eq_eq_custom] = ACTIONS(3215),
    [sym__plus_then_ws] = ACTIONS(3215),
    [sym__minus_then_ws] = ACTIONS(3215),
    [sym__bang_custom] = ACTIONS(3215),
    [sym_where_keyword] = ACTIONS(3215),
    [sym__as_custom] = ACTIONS(3215),
    [sym__as_quest_custom] = ACTIONS(3215),
    [sym__as_bang_custom] = ACTIONS(3215),
    [sym__custom_operator] = ACTIONS(3215),
  },
  [1900] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3123),
    [anon_sym_async] = ACTIONS(3123),
    [anon_sym_lazy] = ACTIONS(3123),
    [anon_sym_package] = ACTIONS(3123),
    [anon_sym_COMMA] = ACTIONS(3123),
    [anon_sym_BANG2] = ACTIONS(3123),
    [anon_sym_DOT] = ACTIONS(3123),
    [anon_sym_QMARK2] = ACTIONS(3123),
    [anon_sym_AMP] = ACTIONS(3123),
    [anon_sym_LBRACE] = ACTIONS(3123),
    [anon_sym_RBRACE] = ACTIONS(3123),
    [anon_sym_case] = ACTIONS(3123),
    [anon_sym_import] = ACTIONS(3123),
    [anon_sym_typealias] = ACTIONS(3123),
    [anon_sym_struct] = ACTIONS(3123),
    [anon_sym_class] = ACTIONS(3123),
    [anon_sym_enum] = ACTIONS(3123),
    [anon_sym_protocol] = ACTIONS(3123),
    [anon_sym_let] = ACTIONS(3123),
    [anon_sym_var] = ACTIONS(3123),
    [anon_sym_func] = ACTIONS(3123),
    [anon_sym_extension] = ACTIONS(3123),
    [anon_sym_indirect] = ACTIONS(3123),
    [anon_sym_init] = ACTIONS(3123),
    [anon_sym_deinit] = ACTIONS(3123),
    [anon_sym_subscript] = ACTIONS(3123),
    [anon_sym_prefix] = ACTIONS(3123),
    [anon_sym_infix] = ACTIONS(3123),
    [anon_sym_postfix] = ACTIONS(3123),
    [anon_sym_precedencegroup] = ACTIONS(3123),
    [anon_sym_associatedtype] = ACTIONS(3123),
    [anon_sym_AT] = ACTIONS(3121),
    [anon_sym_override] = ACTIONS(3123),
    [anon_sym_convenience] = ACTIONS(3123),
    [anon_sym_required] = ACTIONS(3123),
    [anon_sym_nonisolated] = ACTIONS(3123),
    [anon_sym_public] = ACTIONS(3123),
    [anon_sym_private] = ACTIONS(3123),
    [anon_sym_internal] = ACTIONS(3123),
    [anon_sym_fileprivate] = ACTIONS(3123),
    [anon_sym_open] = ACTIONS(3123),
    [anon_sym_mutating] = ACTIONS(3123),
    [anon_sym_nonmutating] = ACTIONS(3123),
    [anon_sym_static] = ACTIONS(3123),
    [anon_sym_dynamic] = ACTIONS(3123),
    [anon_sym_optional] = ACTIONS(3123),
    [anon_sym_distributed] = ACTIONS(3123),
    [anon_sym_final] = ACTIONS(3123),
    [anon_sym_inout] = ACTIONS(3123),
    [anon_sym_ATescaping] = ACTIONS(3123),
    [anon_sym_ATautoclosure] = ACTIONS(3123),
    [anon_sym_weak] = ACTIONS(3123),
    [anon_sym_unowned] = ACTIONS(3121),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3123),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3123),
    [anon_sym_borrowing] = ACTIONS(3123),
    [anon_sym_consuming] = ACTIONS(3123),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3123),
    [sym__eq_custom] = ACTIONS(3123),
    [sym__throws_keyword] = ACTIONS(3123),
    [sym__rethrows_keyword] = ACTIONS(3123),
    [sym_where_keyword] = ACTIONS(3123),
    [sym__async_keyword_custom] = ACTIONS(3123),
  },
  [1901] = {
    [anon_sym_BANG] = ACTIONS(3225),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3225),
    [aux_sym_simple_identifier_token2] = ACTIONS(3227),
    [aux_sym_simple_identifier_token3] = ACTIONS(3227),
    [aux_sym_simple_identifier_token4] = ACTIONS(3227),
    [anon_sym_actor] = ACTIONS(3225),
    [anon_sym_async] = ACTIONS(3225),
    [anon_sym_each] = ACTIONS(3225),
    [anon_sym_lazy] = ACTIONS(3225),
    [anon_sym_repeat] = ACTIONS(3225),
    [anon_sym_package] = ACTIONS(3225),
    [anon_sym_COMMA] = ACTIONS(3227),
    [anon_sym_COLON] = ACTIONS(3227),
    [anon_sym_LPAREN] = ACTIONS(3227),
    [anon_sym_LBRACK] = ACTIONS(3227),
    [anon_sym_QMARK] = ACTIONS(3225),
    [anon_sym_QMARK2] = ACTIONS(3227),
    [anon_sym_AMP] = ACTIONS(3227),
    [aux_sym_custom_operator_token1] = ACTIONS(3227),
    [anon_sym_LT] = ACTIONS(3225),
    [anon_sym_GT] = ACTIONS(3225),
    [anon_sym_LBRACE] = ACTIONS(3227),
    [anon_sym_CARET_LBRACE] = ACTIONS(3227),
    [anon_sym_PLUS_EQ] = ACTIONS(3227),
    [anon_sym_DASH_EQ] = ACTIONS(3227),
    [anon_sym_STAR_EQ] = ACTIONS(3227),
    [anon_sym_SLASH_EQ] = ACTIONS(3227),
    [anon_sym_PERCENT_EQ] = ACTIONS(3227),
    [anon_sym_BANG_EQ] = ACTIONS(3225),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3227),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3227),
    [anon_sym_LT_EQ] = ACTIONS(3227),
    [anon_sym_GT_EQ] = ACTIONS(3227),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3227),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3227),
    [anon_sym_is] = ACTIONS(3225),
    [anon_sym_PLUS] = ACTIONS(3225),
    [anon_sym_DASH] = ACTIONS(3225),
    [anon_sym_STAR] = ACTIONS(3225),
    [anon_sym_SLASH] = ACTIONS(3225),
    [anon_sym_PERCENT] = ACTIONS(3225),
    [anon_sym_PLUS_PLUS] = ACTIONS(3227),
    [anon_sym_DASH_DASH] = ACTIONS(3227),
    [anon_sym_PIPE] = ACTIONS(3227),
    [anon_sym_CARET] = ACTIONS(3225),
    [anon_sym_LT_LT] = ACTIONS(3227),
    [anon_sym_GT_GT] = ACTIONS(3227),
    [anon_sym_borrowing] = ACTIONS(3225),
    [anon_sym_consuming] = ACTIONS(3225),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3227),
    [sym__conjunction_operator_custom] = ACTIONS(3227),
    [sym__disjunction_operator_custom] = ACTIONS(3227),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3227),
    [sym__eq_custom] = ACTIONS(3227),
    [sym__eq_eq_custom] = ACTIONS(3227),
    [sym__plus_then_ws] = ACTIONS(3227),
    [sym__minus_then_ws] = ACTIONS(3227),
    [sym__bang_custom] = ACTIONS(3227),
    [sym_where_keyword] = ACTIONS(3227),
    [sym__as_custom] = ACTIONS(3227),
    [sym__as_quest_custom] = ACTIONS(3227),
    [sym__as_bang_custom] = ACTIONS(3227),
    [sym__custom_operator] = ACTIONS(3227),
  },
  [1902] = {
    [sym__immediate_quest] = STATE(1996),
    [sym__arrow_operator] = STATE(4202),
    [sym__async_keyword] = STATE(6856),
    [sym_throws] = STATE(8483),
    [aux_sym_optional_type_repeat1] = STATE(1996),
    [ts_builtin_sym_end] = ACTIONS(3000),
    [anon_sym_BANG] = ACTIONS(2998),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(3000),
    [anon_sym_LPAREN] = ACTIONS(3000),
    [anon_sym_LBRACK] = ACTIONS(3000),
    [anon_sym_DOT] = ACTIONS(2998),
    [anon_sym_QMARK] = ACTIONS(2998),
    [anon_sym_QMARK2] = ACTIONS(5375),
    [anon_sym_AMP] = ACTIONS(3000),
    [aux_sym_custom_operator_token1] = ACTIONS(3000),
    [anon_sym_LT] = ACTIONS(2998),
    [anon_sym_GT] = ACTIONS(2998),
    [anon_sym_LBRACE] = ACTIONS(3000),
    [anon_sym_CARET_LBRACE] = ACTIONS(3000),
    [anon_sym_RBRACE] = ACTIONS(3000),
    [anon_sym_PLUS_EQ] = ACTIONS(3000),
    [anon_sym_DASH_EQ] = ACTIONS(3000),
    [anon_sym_STAR_EQ] = ACTIONS(3000),
    [anon_sym_SLASH_EQ] = ACTIONS(3000),
    [anon_sym_PERCENT_EQ] = ACTIONS(3000),
    [anon_sym_BANG_EQ] = ACTIONS(2998),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3000),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3000),
    [anon_sym_LT_EQ] = ACTIONS(3000),
    [anon_sym_GT_EQ] = ACTIONS(3000),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3000),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3000),
    [anon_sym_is] = ACTIONS(3000),
    [anon_sym_PLUS] = ACTIONS(2998),
    [anon_sym_DASH] = ACTIONS(2998),
    [anon_sym_STAR] = ACTIONS(2998),
    [anon_sym_SLASH] = ACTIONS(2998),
    [anon_sym_PERCENT] = ACTIONS(2998),
    [anon_sym_PLUS_PLUS] = ACTIONS(3000),
    [anon_sym_DASH_DASH] = ACTIONS(3000),
    [anon_sym_PIPE] = ACTIONS(3000),
    [anon_sym_CARET] = ACTIONS(2998),
    [anon_sym_LT_LT] = ACTIONS(3000),
    [anon_sym_GT_GT] = ACTIONS(3000),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3000),
    [sym__explicit_semi] = ACTIONS(3000),
    [sym__arrow_operator_custom] = ACTIONS(5377),
    [sym__dot_custom] = ACTIONS(3000),
    [sym__conjunction_operator_custom] = ACTIONS(3000),
    [sym__disjunction_operator_custom] = ACTIONS(3000),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3000),
    [sym__eq_custom] = ACTIONS(3000),
    [sym__eq_eq_custom] = ACTIONS(3000),
    [sym__plus_then_ws] = ACTIONS(3000),
    [sym__minus_then_ws] = ACTIONS(3000),
    [sym__bang_custom] = ACTIONS(3000),
    [sym__throws_keyword] = ACTIONS(3006),
    [sym__rethrows_keyword] = ACTIONS(3006),
    [sym__as_custom] = ACTIONS(3000),
    [sym__as_quest_custom] = ACTIONS(3000),
    [sym__as_bang_custom] = ACTIONS(3000),
    [sym__async_keyword_custom] = ACTIONS(5379),
    [sym__custom_operator] = ACTIONS(3000),
  },
  [1903] = {
    [sym__block] = STATE(3201),
    [sym_function_body] = STATE(3357),
    [sym_type_constraints] = STATE(2485),
    [aux_sym__function_value_parameters] = STATE(2100),
    [sym__async_keyword] = STATE(2046),
    [sym_throws] = STATE(2231),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(5381),
    [anon_sym_async] = ACTIONS(5381),
    [anon_sym_lazy] = ACTIONS(5381),
    [anon_sym_package] = ACTIONS(5381),
    [anon_sym_LPAREN] = ACTIONS(5307),
    [anon_sym_LBRACE] = ACTIONS(5309),
    [anon_sym_RBRACE] = ACTIONS(5381),
    [anon_sym_case] = ACTIONS(5381),
    [anon_sym_import] = ACTIONS(5381),
    [anon_sym_typealias] = ACTIONS(5381),
    [anon_sym_struct] = ACTIONS(5381),
    [anon_sym_class] = ACTIONS(5381),
    [anon_sym_enum] = ACTIONS(5381),
    [anon_sym_protocol] = ACTIONS(5381),
    [anon_sym_let] = ACTIONS(5381),
    [anon_sym_var] = ACTIONS(5381),
    [anon_sym_func] = ACTIONS(5381),
    [anon_sym_extension] = ACTIONS(5381),
    [anon_sym_indirect] = ACTIONS(5381),
    [anon_sym_init] = ACTIONS(5381),
    [anon_sym_deinit] = ACTIONS(5381),
    [anon_sym_subscript] = ACTIONS(5381),
    [anon_sym_prefix] = ACTIONS(5381),
    [anon_sym_infix] = ACTIONS(5381),
    [anon_sym_postfix] = ACTIONS(5381),
    [anon_sym_precedencegroup] = ACTIONS(5381),
    [anon_sym_associatedtype] = ACTIONS(5381),
    [anon_sym_AT] = ACTIONS(5383),
    [anon_sym_override] = ACTIONS(5381),
    [anon_sym_convenience] = ACTIONS(5381),
    [anon_sym_required] = ACTIONS(5381),
    [anon_sym_nonisolated] = ACTIONS(5381),
    [anon_sym_public] = ACTIONS(5381),
    [anon_sym_private] = ACTIONS(5381),
    [anon_sym_internal] = ACTIONS(5381),
    [anon_sym_fileprivate] = ACTIONS(5381),
    [anon_sym_open] = ACTIONS(5381),
    [anon_sym_mutating] = ACTIONS(5381),
    [anon_sym_nonmutating] = ACTIONS(5381),
    [anon_sym_static] = ACTIONS(5381),
    [anon_sym_dynamic] = ACTIONS(5381),
    [anon_sym_optional] = ACTIONS(5381),
    [anon_sym_distributed] = ACTIONS(5381),
    [anon_sym_final] = ACTIONS(5381),
    [anon_sym_inout] = ACTIONS(5381),
    [anon_sym_ATescaping] = ACTIONS(5381),
    [anon_sym_ATautoclosure] = ACTIONS(5381),
    [anon_sym_weak] = ACTIONS(5381),
    [anon_sym_unowned] = ACTIONS(5383),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(5381),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(5381),
    [anon_sym_borrowing] = ACTIONS(5381),
    [anon_sym_consuming] = ACTIONS(5381),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__throws_keyword] = ACTIONS(5313),
    [sym__rethrows_keyword] = ACTIONS(5313),
    [sym_where_keyword] = ACTIONS(5315),
    [sym__async_keyword_custom] = ACTIONS(5385),
  },
  [1904] = {
    [sym__arrow_operator] = STATE(4294),
    [sym__async_keyword] = STATE(6932),
    [sym_throws] = STATE(8479),
    [aux_sym_protocol_composition_type_repeat1] = STATE(1998),
    [ts_builtin_sym_end] = ACTIONS(3089),
    [anon_sym_BANG] = ACTIONS(3087),
    [sym_comment] = ACTIONS(3),
    [anon_sym_COMMA] = ACTIONS(3089),
    [anon_sym_LPAREN] = ACTIONS(3089),
    [anon_sym_LBRACK] = ACTIONS(3089),
    [anon_sym_DOT] = ACTIONS(3087),
    [anon_sym_QMARK] = ACTIONS(3087),
    [anon_sym_QMARK2] = ACTIONS(3089),
    [anon_sym_AMP] = ACTIONS(3089),
    [aux_sym_custom_operator_token1] = ACTIONS(3089),
    [anon_sym_LT] = ACTIONS(3087),
    [anon_sym_GT] = ACTIONS(3087),
    [anon_sym_LBRACE] = ACTIONS(3089),
    [anon_sym_CARET_LBRACE] = ACTIONS(3089),
    [anon_sym_RBRACE] = ACTIONS(3089),
    [anon_sym_PLUS_EQ] = ACTIONS(3089),
    [anon_sym_DASH_EQ] = ACTIONS(3089),
    [anon_sym_STAR_EQ] = ACTIONS(3089),
    [anon_sym_SLASH_EQ] = ACTIONS(3089),
    [anon_sym_PERCENT_EQ] = ACTIONS(3089),
    [anon_sym_BANG_EQ] = ACTIONS(3087),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3089),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3089),
    [anon_sym_LT_EQ] = ACTIONS(3089),
    [anon_sym_GT_EQ] = ACTIONS(3089),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3089),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3089),
    [anon_sym_is] = ACTIONS(3089),
    [anon_sym_PLUS] = ACTIONS(3087),
    [anon_sym_DASH] = ACTIONS(3087),
    [anon_sym_STAR] = ACTIONS(3087),
    [anon_sym_SLASH] = ACTIONS(3087),
    [anon_sym_PERCENT] = ACTIONS(3087),
    [anon_sym_PLUS_PLUS] = ACTIONS(3089),
    [anon_sym_DASH_DASH] = ACTIONS(3089),
    [anon_sym_PIPE] = ACTIONS(3089),
    [anon_sym_CARET] = ACTIONS(3087),
    [anon_sym_LT_LT] = ACTIONS(3089),
    [anon_sym_GT_GT] = ACTIONS(3089),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__implicit_semi] = ACTIONS(3089),
    [sym__explicit_semi] = ACTIONS(3089),
    [sym__arrow_operator_custom] = ACTIONS(3089),
    [sym__dot_custom] = ACTIONS(3089),
    [sym__conjunction_operator_custom] = ACTIONS(3089),
    [sym__disjunction_operator_custom] = ACTIONS(3089),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3089),
    [sym__eq_custom] = ACTIONS(3089),
    [sym__eq_eq_custom] = ACTIONS(3089),
    [sym__plus_then_ws] = ACTIONS(3089),
    [sym__minus_then_ws] = ACTIONS(3089),
    [sym__bang_custom] = ACTIONS(3089),
    [sym__throws_keyword] = ACTIONS(3089),
    [sym__rethrows_keyword] = ACTIONS(3089),
    [sym_where_keyword] = ACTIONS(3089),
    [sym__as_custom] = ACTIONS(3089),
    [sym__as_quest_custom] = ACTIONS(3089),
    [sym__as_bang_custom] = ACTIONS(3089),
    [sym__async_keyword_custom] = ACTIONS(3089),
    [sym__custom_operator] = ACTIONS(3089),
  },
  [1905] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3204),
    [anon_sym_async] = ACTIONS(3204),
    [anon_sym_lazy] = ACTIONS(3204),
    [anon_sym_package] = ACTIONS(3204),
    [anon_sym_COMMA] = ACTIONS(3204),
    [anon_sym_BANG2] = ACTIONS(3204),
    [anon_sym_DOT] = ACTIONS(3204),
    [anon_sym_QMARK2] = ACTIONS(3204),
    [anon_sym_AMP] = ACTIONS(3204),
    [anon_sym_LT] = ACTIONS(3204),
    [anon_sym_LBRACE] = ACTIONS(3204),
    [anon_sym_RBRACE] = ACTIONS(3204),
    [anon_sym_case] = ACTIONS(3204),
    [anon_sym_import] = ACTIONS(3204),
    [anon_sym_typealias] = ACTIONS(3204),
    [anon_sym_struct] = ACTIONS(3204),
    [anon_sym_class] = ACTIONS(3204),
    [anon_sym_enum] = ACTIONS(3204),
    [anon_sym_protocol] = ACTIONS(3204),
    [anon_sym_let] = ACTIONS(3204),
    [anon_sym_var] = ACTIONS(3204),
    [anon_sym_func] = ACTIONS(3204),
    [anon_sym_extension] = ACTIONS(3204),
    [anon_sym_indirect] = ACTIONS(3204),
    [anon_sym_init] = ACTIONS(3204),
    [anon_sym_deinit] = ACTIONS(3204),
    [anon_sym_subscript] = ACTIONS(3204),
    [anon_sym_prefix] = ACTIONS(3204),
    [anon_sym_infix] = ACTIONS(3204),
    [anon_sym_postfix] = ACTIONS(3204),
    [anon_sym_precedencegroup] = ACTIONS(3204),
    [anon_sym_associatedtype] = ACTIONS(3204),
    [anon_sym_AT] = ACTIONS(3202),
    [anon_sym_override] = ACTIONS(3204),
    [anon_sym_convenience] = ACTIONS(3204),
    [anon_sym_required] = ACTIONS(3204),
    [anon_sym_nonisolated] = ACTIONS(3204),
    [anon_sym_public] = ACTIONS(3204),
    [anon_sym_private] = ACTIONS(3204),
    [anon_sym_internal] = ACTIONS(3204),
    [anon_sym_fileprivate] = ACTIONS(3204),
    [anon_sym_open] = ACTIONS(3204),
    [anon_sym_mutating] = ACTIONS(3204),
    [anon_sym_nonmutating] = ACTIONS(3204),
    [anon_sym_static] = ACTIONS(3204),
    [anon_sym_dynamic] = ACTIONS(3204),
    [anon_sym_optional] = ACTIONS(3204),
    [anon_sym_distributed] = ACTIONS(3204),
    [anon_sym_final] = ACTIONS(3204),
    [anon_sym_inout] = ACTIONS(3204),
    [anon_sym_ATescaping] = ACTIONS(3204),
    [anon_sym_ATautoclosure] = ACTIONS(3204),
    [anon_sym_weak] = ACTIONS(3204),
    [anon_sym_unowned] = ACTIONS(3202),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3204),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3204),
    [anon_sym_borrowing] = ACTIONS(3204),
    [anon_sym_consuming] = ACTIONS(3204),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3204),
    [sym__dot_custom] = ACTIONS(3204),
    [sym__throws_keyword] = ACTIONS(3204),
    [sym__rethrows_keyword] = ACTIONS(3204),
    [sym__async_keyword_custom] = ACTIONS(3204),
  },
  [1906] = {
    [sym__block] = STATE(3201),
    [sym_function_body] = STATE(3392),
    [sym_type_constraints] = STATE(2489),
    [aux_sym__function_value_parameters] = STATE(2100),
    [sym__async_keyword] = STATE(2041),
    [sym_throws] = STATE(2243),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(5387),
    [anon_sym_async] = ACTIONS(5387),
    [anon_sym_lazy] = ACTIONS(5387),
    [anon_sym_package] = ACTIONS(5387),
    [anon_sym_LPAREN] = ACTIONS(5307),
    [anon_sym_LBRACE] = ACTIONS(5309),
    [anon_sym_RBRACE] = ACTIONS(5387),
    [anon_sym_case] = ACTIONS(5387),
    [anon_sym_import] = ACTIONS(5387),
    [anon_sym_typealias] = ACTIONS(5387),
    [anon_sym_struct] = ACTIONS(5387),
    [anon_sym_class] = ACTIONS(5387),
    [anon_sym_enum] = ACTIONS(5387),
    [anon_sym_protocol] = ACTIONS(5387),
    [anon_sym_let] = ACTIONS(5387),
    [anon_sym_var] = ACTIONS(5387),
    [anon_sym_func] = ACTIONS(5387),
    [anon_sym_extension] = ACTIONS(5387),
    [anon_sym_indirect] = ACTIONS(5387),
    [anon_sym_init] = ACTIONS(5387),
    [anon_sym_deinit] = ACTIONS(5387),
    [anon_sym_subscript] = ACTIONS(5387),
    [anon_sym_prefix] = ACTIONS(5387),
    [anon_sym_infix] = ACTIONS(5387),
    [anon_sym_postfix] = ACTIONS(5387),
    [anon_sym_precedencegroup] = ACTIONS(5387),
    [anon_sym_associatedtype] = ACTIONS(5387),
    [anon_sym_AT] = ACTIONS(5389),
    [anon_sym_override] = ACTIONS(5387),
    [anon_sym_convenience] = ACTIONS(5387),
    [anon_sym_required] = ACTIONS(5387),
    [anon_sym_nonisolated] = ACTIONS(5387),
    [anon_sym_public] = ACTIONS(5387),
    [anon_sym_private] = ACTIONS(5387),
    [anon_sym_internal] = ACTIONS(5387),
    [anon_sym_fileprivate] = ACTIONS(5387),
    [anon_sym_open] = ACTIONS(5387),
    [anon_sym_mutating] = ACTIONS(5387),
    [anon_sym_nonmutating] = ACTIONS(5387),
    [anon_sym_static] = ACTIONS(5387),
    [anon_sym_dynamic] = ACTIONS(5387),
    [anon_sym_optional] = ACTIONS(5387),
    [anon_sym_distributed] = ACTIONS(5387),
    [anon_sym_final] = ACTIONS(5387),
    [anon_sym_inout] = ACTIONS(5387),
    [anon_sym_ATescaping] = ACTIONS(5387),
    [anon_sym_ATautoclosure] = ACTIONS(5387),
    [anon_sym_weak] = ACTIONS(5387),
    [anon_sym_unowned] = ACTIONS(5389),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(5387),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(5387),
    [anon_sym_borrowing] = ACTIONS(5387),
    [anon_sym_consuming] = ACTIONS(5387),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__throws_keyword] = ACTIONS(5313),
    [sym__rethrows_keyword] = ACTIONS(5313),
    [sym_where_keyword] = ACTIONS(5315),
    [sym__async_keyword_custom] = ACTIONS(5391),
  },
  [1907] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3204),
    [anon_sym_async] = ACTIONS(3204),
    [anon_sym_lazy] = ACTIONS(3204),
    [anon_sym_package] = ACTIONS(3204),
    [anon_sym_RPAREN] = ACTIONS(3204),
    [anon_sym_COMMA] = ACTIONS(3204),
    [anon_sym_BANG2] = ACTIONS(3204),
    [anon_sym_DOT] = ACTIONS(3202),
    [anon_sym_AMP] = ACTIONS(3204),
    [anon_sym_LBRACE] = ACTIONS(3204),
    [anon_sym_RBRACE] = ACTIONS(3204),
    [anon_sym_case] = ACTIONS(3204),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3204),
    [anon_sym_import] = ACTIONS(3204),
    [anon_sym_typealias] = ACTIONS(3204),
    [anon_sym_struct] = ACTIONS(3204),
    [anon_sym_class] = ACTIONS(3204),
    [anon_sym_enum] = ACTIONS(3204),
    [anon_sym_protocol] = ACTIONS(3204),
    [anon_sym_let] = ACTIONS(3204),
    [anon_sym_var] = ACTIONS(3204),
    [anon_sym_func] = ACTIONS(3204),
    [anon_sym_extension] = ACTIONS(3204),
    [anon_sym_indirect] = ACTIONS(3204),
    [anon_sym_init] = ACTIONS(3204),
    [anon_sym_deinit] = ACTIONS(3204),
    [anon_sym_subscript] = ACTIONS(3204),
    [anon_sym_prefix] = ACTIONS(3204),
    [anon_sym_infix] = ACTIONS(3204),
    [anon_sym_postfix] = ACTIONS(3204),
    [anon_sym_precedencegroup] = ACTIONS(3204),
    [anon_sym_associatedtype] = ACTIONS(3204),
    [anon_sym_AT] = ACTIONS(3202),
    [anon_sym_override] = ACTIONS(3204),
    [anon_sym_convenience] = ACTIONS(3204),
    [anon_sym_required] = ACTIONS(3204),
    [anon_sym_nonisolated] = ACTIONS(3204),
    [anon_sym_public] = ACTIONS(3204),
    [anon_sym_private] = ACTIONS(3204),
    [anon_sym_internal] = ACTIONS(3204),
    [anon_sym_fileprivate] = ACTIONS(3204),
    [anon_sym_open] = ACTIONS(3204),
    [anon_sym_mutating] = ACTIONS(3204),
    [anon_sym_nonmutating] = ACTIONS(3204),
    [anon_sym_static] = ACTIONS(3204),
    [anon_sym_dynamic] = ACTIONS(3204),
    [anon_sym_optional] = ACTIONS(3204),
    [anon_sym_distributed] = ACTIONS(3204),
    [anon_sym_final] = ACTIONS(3204),
    [anon_sym_inout] = ACTIONS(3204),
    [anon_sym_ATescaping] = ACTIONS(3204),
    [anon_sym_ATautoclosure] = ACTIONS(3204),
    [anon_sym_weak] = ACTIONS(3204),
    [anon_sym_unowned] = ACTIONS(3202),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3204),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3204),
    [anon_sym_borrowing] = ACTIONS(3204),
    [anon_sym_consuming] = ACTIONS(3204),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3204),
    [sym__eq_custom] = ACTIONS(3204),
    [sym__throws_keyword] = ACTIONS(3204),
    [sym__rethrows_keyword] = ACTIONS(3204),
    [sym__async_keyword_custom] = ACTIONS(3204),
  },
  [1908] = {
    [sym__immediate_quest] = STATE(1879),
    [aux_sym_optional_type_repeat1] = STATE(1879),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3000),
    [anon_sym_async] = ACTIONS(3000),
    [anon_sym_lazy] = ACTIONS(3000),
    [anon_sym_package] = ACTIONS(3000),
    [anon_sym_COMMA] = ACTIONS(3000),
    [anon_sym_BANG2] = ACTIONS(3000),
    [anon_sym_DOT] = ACTIONS(3000),
    [anon_sym_QMARK2] = ACTIONS(5242),
    [anon_sym_AMP] = ACTIONS(3000),
    [anon_sym_LBRACE] = ACTIONS(3000),
    [anon_sym_RBRACE] = ACTIONS(3000),
    [anon_sym_case] = ACTIONS(3000),
    [anon_sym_import] = ACTIONS(3000),
    [anon_sym_typealias] = ACTIONS(3000),
    [anon_sym_struct] = ACTIONS(3000),
    [anon_sym_class] = ACTIONS(3000),
    [anon_sym_enum] = ACTIONS(3000),
    [anon_sym_protocol] = ACTIONS(3000),
    [anon_sym_let] = ACTIONS(3000),
    [anon_sym_var] = ACTIONS(3000),
    [anon_sym_func] = ACTIONS(3000),
    [anon_sym_extension] = ACTIONS(3000),
    [anon_sym_indirect] = ACTIONS(3000),
    [anon_sym_init] = ACTIONS(3000),
    [anon_sym_deinit] = ACTIONS(3000),
    [anon_sym_subscript] = ACTIONS(3000),
    [anon_sym_prefix] = ACTIONS(3000),
    [anon_sym_infix] = ACTIONS(3000),
    [anon_sym_postfix] = ACTIONS(3000),
    [anon_sym_precedencegroup] = ACTIONS(3000),
    [anon_sym_associatedtype] = ACTIONS(3000),
    [anon_sym_AT] = ACTIONS(2998),
    [anon_sym_override] = ACTIONS(3000),
    [anon_sym_convenience] = ACTIONS(3000),
    [anon_sym_required] = ACTIONS(3000),
    [anon_sym_nonisolated] = ACTIONS(3000),
    [anon_sym_public] = ACTIONS(3000),
    [anon_sym_private] = ACTIONS(3000),
    [anon_sym_internal] = ACTIONS(3000),
    [anon_sym_fileprivate] = ACTIONS(3000),
    [anon_sym_open] = ACTIONS(3000),
    [anon_sym_mutating] = ACTIONS(3000),
    [anon_sym_nonmutating] = ACTIONS(3000),
    [anon_sym_static] = ACTIONS(3000),
    [anon_sym_dynamic] = ACTIONS(3000),
    [anon_sym_optional] = ACTIONS(3000),
    [anon_sym_distributed] = ACTIONS(3000),
    [anon_sym_final] = ACTIONS(3000),
    [anon_sym_inout] = ACTIONS(3000),
    [anon_sym_ATescaping] = ACTIONS(3000),
    [anon_sym_ATautoclosure] = ACTIONS(3000),
    [anon_sym_weak] = ACTIONS(3000),
    [anon_sym_unowned] = ACTIONS(2998),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3000),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3000),
    [anon_sym_borrowing] = ACTIONS(3000),
    [anon_sym_consuming] = ACTIONS(3000),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3000),
    [sym__throws_keyword] = ACTIONS(3000),
    [sym__rethrows_keyword] = ACTIONS(3000),
    [sym__async_keyword_custom] = ACTIONS(3000),
  },
  [1909] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3119),
    [anon_sym_async] = ACTIONS(3119),
    [anon_sym_lazy] = ACTIONS(3119),
    [anon_sym_package] = ACTIONS(3119),
    [anon_sym_RPAREN] = ACTIONS(3119),
    [anon_sym_COMMA] = ACTIONS(3119),
    [anon_sym_BANG2] = ACTIONS(3119),
    [anon_sym_DOT] = ACTIONS(3117),
    [anon_sym_AMP] = ACTIONS(3119),
    [anon_sym_LBRACE] = ACTIONS(3119),
    [anon_sym_RBRACE] = ACTIONS(3119),
    [anon_sym_case] = ACTIONS(3119),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3119),
    [anon_sym_import] = ACTIONS(3119),
    [anon_sym_typealias] = ACTIONS(3119),
    [anon_sym_struct] = ACTIONS(3119),
    [anon_sym_class] = ACTIONS(3119),
    [anon_sym_enum] = ACTIONS(3119),
    [anon_sym_protocol] = ACTIONS(3119),
    [anon_sym_let] = ACTIONS(3119),
    [anon_sym_var] = ACTIONS(3119),
    [anon_sym_func] = ACTIONS(3119),
    [anon_sym_extension] = ACTIONS(3119),
    [anon_sym_indirect] = ACTIONS(3119),
    [anon_sym_init] = ACTIONS(3119),
    [anon_sym_deinit] = ACTIONS(3119),
    [anon_sym_subscript] = ACTIONS(3119),
    [anon_sym_prefix] = ACTIONS(3119),
    [anon_sym_infix] = ACTIONS(3119),
    [anon_sym_postfix] = ACTIONS(3119),
    [anon_sym_precedencegroup] = ACTIONS(3119),
    [anon_sym_associatedtype] = ACTIONS(3119),
    [anon_sym_AT] = ACTIONS(3117),
    [anon_sym_override] = ACTIONS(3119),
    [anon_sym_convenience] = ACTIONS(3119),
    [anon_sym_required] = ACTIONS(3119),
    [anon_sym_nonisolated] = ACTIONS(3119),
    [anon_sym_public] = ACTIONS(3119),
    [anon_sym_private] = ACTIONS(3119),
    [anon_sym_internal] = ACTIONS(3119),
    [anon_sym_fileprivate] = ACTIONS(3119),
    [anon_sym_open] = ACTIONS(3119),
    [anon_sym_mutating] = ACTIONS(3119),
    [anon_sym_nonmutating] = ACTIONS(3119),
    [anon_sym_static] = ACTIONS(3119),
    [anon_sym_dynamic] = ACTIONS(3119),
    [anon_sym_optional] = ACTIONS(3119),
    [anon_sym_distributed] = ACTIONS(3119),
    [anon_sym_final] = ACTIONS(3119),
    [anon_sym_inout] = ACTIONS(3119),
    [anon_sym_ATescaping] = ACTIONS(3119),
    [anon_sym_ATautoclosure] = ACTIONS(3119),
    [anon_sym_weak] = ACTIONS(3119),
    [anon_sym_unowned] = ACTIONS(3117),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3119),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3119),
    [anon_sym_borrowing] = ACTIONS(3119),
    [anon_sym_consuming] = ACTIONS(3119),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3119),
    [sym__eq_custom] = ACTIONS(3119),
    [sym__throws_keyword] = ACTIONS(3119),
    [sym__rethrows_keyword] = ACTIONS(3119),
    [sym__async_keyword_custom] = ACTIONS(3119),
  },
  [1910] = {
    [anon_sym_BANG] = ACTIONS(3213),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3213),
    [aux_sym_simple_identifier_token2] = ACTIONS(3215),
    [aux_sym_simple_identifier_token3] = ACTIONS(3215),
    [aux_sym_simple_identifier_token4] = ACTIONS(3215),
    [anon_sym_actor] = ACTIONS(3213),
    [anon_sym_async] = ACTIONS(3213),
    [anon_sym_each] = ACTIONS(3213),
    [anon_sym_lazy] = ACTIONS(3213),
    [anon_sym_repeat] = ACTIONS(3213),
    [anon_sym_package] = ACTIONS(3213),
    [anon_sym_COMMA] = ACTIONS(3215),
    [anon_sym_LPAREN] = ACTIONS(3215),
    [anon_sym_LBRACK] = ACTIONS(3215),
    [anon_sym_QMARK] = ACTIONS(3213),
    [anon_sym_QMARK2] = ACTIONS(3215),
    [anon_sym_AMP] = ACTIONS(3215),
    [aux_sym_custom_operator_token1] = ACTIONS(3215),
    [anon_sym_LT] = ACTIONS(3213),
    [anon_sym_GT] = ACTIONS(3213),
    [anon_sym_LBRACE] = ACTIONS(3215),
    [anon_sym_CARET_LBRACE] = ACTIONS(3215),
    [anon_sym_PLUS_EQ] = ACTIONS(3215),
    [anon_sym_DASH_EQ] = ACTIONS(3215),
    [anon_sym_STAR_EQ] = ACTIONS(3215),
    [anon_sym_SLASH_EQ] = ACTIONS(3215),
    [anon_sym_PERCENT_EQ] = ACTIONS(3215),
    [anon_sym_BANG_EQ] = ACTIONS(3213),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3215),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3215),
    [anon_sym_LT_EQ] = ACTIONS(3215),
    [anon_sym_GT_EQ] = ACTIONS(3215),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3215),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3215),
    [anon_sym_is] = ACTIONS(3213),
    [anon_sym_PLUS] = ACTIONS(3213),
    [anon_sym_DASH] = ACTIONS(3213),
    [anon_sym_STAR] = ACTIONS(3213),
    [anon_sym_SLASH] = ACTIONS(3213),
    [anon_sym_PERCENT] = ACTIONS(3213),
    [anon_sym_PLUS_PLUS] = ACTIONS(3215),
    [anon_sym_DASH_DASH] = ACTIONS(3215),
    [anon_sym_PIPE] = ACTIONS(3215),
    [anon_sym_CARET] = ACTIONS(3213),
    [anon_sym_LT_LT] = ACTIONS(3215),
    [anon_sym_GT_GT] = ACTIONS(3215),
    [anon_sym_borrowing] = ACTIONS(3213),
    [anon_sym_consuming] = ACTIONS(3213),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3215),
    [sym__conjunction_operator_custom] = ACTIONS(3215),
    [sym__disjunction_operator_custom] = ACTIONS(3215),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3215),
    [sym__eq_custom] = ACTIONS(3215),
    [sym__eq_eq_custom] = ACTIONS(3215),
    [sym__plus_then_ws] = ACTIONS(3215),
    [sym__minus_then_ws] = ACTIONS(3215),
    [sym__bang_custom] = ACTIONS(3215),
    [sym_where_keyword] = ACTIONS(3215),
    [sym_else] = ACTIONS(3215),
    [sym__as_custom] = ACTIONS(3215),
    [sym__as_quest_custom] = ACTIONS(3215),
    [sym__as_bang_custom] = ACTIONS(3215),
    [sym__custom_operator] = ACTIONS(3215),
  },
  [1911] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3139),
    [anon_sym_async] = ACTIONS(3139),
    [anon_sym_lazy] = ACTIONS(3139),
    [anon_sym_package] = ACTIONS(3139),
    [anon_sym_RPAREN] = ACTIONS(3139),
    [anon_sym_COMMA] = ACTIONS(3139),
    [anon_sym_BANG2] = ACTIONS(3139),
    [anon_sym_DOT] = ACTIONS(3137),
    [anon_sym_AMP] = ACTIONS(3139),
    [anon_sym_LBRACE] = ACTIONS(3139),
    [anon_sym_RBRACE] = ACTIONS(3139),
    [anon_sym_case] = ACTIONS(3139),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3139),
    [anon_sym_import] = ACTIONS(3139),
    [anon_sym_typealias] = ACTIONS(3139),
    [anon_sym_struct] = ACTIONS(3139),
    [anon_sym_class] = ACTIONS(3139),
    [anon_sym_enum] = ACTIONS(3139),
    [anon_sym_protocol] = ACTIONS(3139),
    [anon_sym_let] = ACTIONS(3139),
    [anon_sym_var] = ACTIONS(3139),
    [anon_sym_func] = ACTIONS(3139),
    [anon_sym_extension] = ACTIONS(3139),
    [anon_sym_indirect] = ACTIONS(3139),
    [anon_sym_init] = ACTIONS(3139),
    [anon_sym_deinit] = ACTIONS(3139),
    [anon_sym_subscript] = ACTIONS(3139),
    [anon_sym_prefix] = ACTIONS(3139),
    [anon_sym_infix] = ACTIONS(3139),
    [anon_sym_postfix] = ACTIONS(3139),
    [anon_sym_precedencegroup] = ACTIONS(3139),
    [anon_sym_associatedtype] = ACTIONS(3139),
    [anon_sym_AT] = ACTIONS(3137),
    [anon_sym_override] = ACTIONS(3139),
    [anon_sym_convenience] = ACTIONS(3139),
    [anon_sym_required] = ACTIONS(3139),
    [anon_sym_nonisolated] = ACTIONS(3139),
    [anon_sym_public] = ACTIONS(3139),
    [anon_sym_private] = ACTIONS(3139),
    [anon_sym_internal] = ACTIONS(3139),
    [anon_sym_fileprivate] = ACTIONS(3139),
    [anon_sym_open] = ACTIONS(3139),
    [anon_sym_mutating] = ACTIONS(3139),
    [anon_sym_nonmutating] = ACTIONS(3139),
    [anon_sym_static] = ACTIONS(3139),
    [anon_sym_dynamic] = ACTIONS(3139),
    [anon_sym_optional] = ACTIONS(3139),
    [anon_sym_distributed] = ACTIONS(3139),
    [anon_sym_final] = ACTIONS(3139),
    [anon_sym_inout] = ACTIONS(3139),
    [anon_sym_ATescaping] = ACTIONS(3139),
    [anon_sym_ATautoclosure] = ACTIONS(3139),
    [anon_sym_weak] = ACTIONS(3139),
    [anon_sym_unowned] = ACTIONS(3137),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3139),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3139),
    [anon_sym_borrowing] = ACTIONS(3139),
    [anon_sym_consuming] = ACTIONS(3139),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3139),
    [sym__eq_custom] = ACTIONS(3139),
    [sym__throws_keyword] = ACTIONS(3139),
    [sym__rethrows_keyword] = ACTIONS(3139),
    [sym__async_keyword_custom] = ACTIONS(3139),
  },
  [1912] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3147),
    [anon_sym_async] = ACTIONS(3147),
    [anon_sym_lazy] = ACTIONS(3147),
    [anon_sym_package] = ACTIONS(3147),
    [anon_sym_COMMA] = ACTIONS(3147),
    [anon_sym_BANG2] = ACTIONS(3147),
    [anon_sym_DOT] = ACTIONS(3147),
    [anon_sym_QMARK2] = ACTIONS(3147),
    [anon_sym_AMP] = ACTIONS(3147),
    [anon_sym_LBRACE] = ACTIONS(3147),
    [anon_sym_RBRACE] = ACTIONS(3147),
    [anon_sym_case] = ACTIONS(3147),
    [anon_sym_import] = ACTIONS(3147),
    [anon_sym_typealias] = ACTIONS(3147),
    [anon_sym_struct] = ACTIONS(3147),
    [anon_sym_class] = ACTIONS(3147),
    [anon_sym_enum] = ACTIONS(3147),
    [anon_sym_protocol] = ACTIONS(3147),
    [anon_sym_let] = ACTIONS(3147),
    [anon_sym_var] = ACTIONS(3147),
    [anon_sym_func] = ACTIONS(3147),
    [anon_sym_extension] = ACTIONS(3147),
    [anon_sym_indirect] = ACTIONS(3147),
    [anon_sym_init] = ACTIONS(3147),
    [anon_sym_deinit] = ACTIONS(3147),
    [anon_sym_subscript] = ACTIONS(3147),
    [anon_sym_prefix] = ACTIONS(3147),
    [anon_sym_infix] = ACTIONS(3147),
    [anon_sym_postfix] = ACTIONS(3147),
    [anon_sym_precedencegroup] = ACTIONS(3147),
    [anon_sym_associatedtype] = ACTIONS(3147),
    [anon_sym_AT] = ACTIONS(3145),
    [anon_sym_override] = ACTIONS(3147),
    [anon_sym_convenience] = ACTIONS(3147),
    [anon_sym_required] = ACTIONS(3147),
    [anon_sym_nonisolated] = ACTIONS(3147),
    [anon_sym_public] = ACTIONS(3147),
    [anon_sym_private] = ACTIONS(3147),
    [anon_sym_internal] = ACTIONS(3147),
    [anon_sym_fileprivate] = ACTIONS(3147),
    [anon_sym_open] = ACTIONS(3147),
    [anon_sym_mutating] = ACTIONS(3147),
    [anon_sym_nonmutating] = ACTIONS(3147),
    [anon_sym_static] = ACTIONS(3147),
    [anon_sym_dynamic] = ACTIONS(3147),
    [anon_sym_optional] = ACTIONS(3147),
    [anon_sym_distributed] = ACTIONS(3147),
    [anon_sym_final] = ACTIONS(3147),
    [anon_sym_inout] = ACTIONS(3147),
    [anon_sym_ATescaping] = ACTIONS(3147),
    [anon_sym_ATautoclosure] = ACTIONS(3147),
    [anon_sym_weak] = ACTIONS(3147),
    [anon_sym_unowned] = ACTIONS(3145),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3147),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3147),
    [anon_sym_borrowing] = ACTIONS(3147),
    [anon_sym_consuming] = ACTIONS(3147),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3147),
    [sym__eq_custom] = ACTIONS(3147),
    [sym__throws_keyword] = ACTIONS(3147),
    [sym__rethrows_keyword] = ACTIONS(3147),
    [sym_where_keyword] = ACTIONS(3147),
    [sym__async_keyword_custom] = ACTIONS(3147),
  },
  [1913] = {
    [anon_sym_BANG] = ACTIONS(3225),
    [sym_comment] = ACTIONS(3),
    [aux_sym_simple_identifier_token1] = ACTIONS(3225),
    [aux_sym_simple_identifier_token2] = ACTIONS(3227),
    [aux_sym_simple_identifier_token3] = ACTIONS(3227),
    [aux_sym_simple_identifier_token4] = ACTIONS(3227),
    [anon_sym_actor] = ACTIONS(3225),
    [anon_sym_async] = ACTIONS(3225),
    [anon_sym_each] = ACTIONS(3225),
    [anon_sym_lazy] = ACTIONS(3225),
    [anon_sym_repeat] = ACTIONS(3225),
    [anon_sym_package] = ACTIONS(3225),
    [anon_sym_COMMA] = ACTIONS(3227),
    [anon_sym_LPAREN] = ACTIONS(3227),
    [anon_sym_LBRACK] = ACTIONS(3227),
    [anon_sym_QMARK] = ACTIONS(3225),
    [anon_sym_QMARK2] = ACTIONS(3227),
    [anon_sym_AMP] = ACTIONS(3227),
    [aux_sym_custom_operator_token1] = ACTIONS(3227),
    [anon_sym_LT] = ACTIONS(3225),
    [anon_sym_GT] = ACTIONS(3225),
    [anon_sym_LBRACE] = ACTIONS(3227),
    [anon_sym_CARET_LBRACE] = ACTIONS(3227),
    [anon_sym_PLUS_EQ] = ACTIONS(3227),
    [anon_sym_DASH_EQ] = ACTIONS(3227),
    [anon_sym_STAR_EQ] = ACTIONS(3227),
    [anon_sym_SLASH_EQ] = ACTIONS(3227),
    [anon_sym_PERCENT_EQ] = ACTIONS(3227),
    [anon_sym_BANG_EQ] = ACTIONS(3225),
    [anon_sym_BANG_EQ_EQ] = ACTIONS(3227),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3227),
    [anon_sym_LT_EQ] = ACTIONS(3227),
    [anon_sym_GT_EQ] = ACTIONS(3227),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3227),
    [anon_sym_DOT_DOT_LT] = ACTIONS(3227),
    [anon_sym_is] = ACTIONS(3225),
    [anon_sym_PLUS] = ACTIONS(3225),
    [anon_sym_DASH] = ACTIONS(3225),
    [anon_sym_STAR] = ACTIONS(3225),
    [anon_sym_SLASH] = ACTIONS(3225),
    [anon_sym_PERCENT] = ACTIONS(3225),
    [anon_sym_PLUS_PLUS] = ACTIONS(3227),
    [anon_sym_DASH_DASH] = ACTIONS(3227),
    [anon_sym_PIPE] = ACTIONS(3227),
    [anon_sym_CARET] = ACTIONS(3225),
    [anon_sym_LT_LT] = ACTIONS(3227),
    [anon_sym_GT_GT] = ACTIONS(3227),
    [anon_sym_borrowing] = ACTIONS(3225),
    [anon_sym_consuming] = ACTIONS(3225),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__dot_custom] = ACTIONS(3227),
    [sym__conjunction_operator_custom] = ACTIONS(3227),
    [sym__disjunction_operator_custom] = ACTIONS(3227),
    [sym__nil_coalescing_operator_custom] = ACTIONS(3227),
    [sym__eq_custom] = ACTIONS(3227),
    [sym__eq_eq_custom] = ACTIONS(3227),
    [sym__plus_then_ws] = ACTIONS(3227),
    [sym__minus_then_ws] = ACTIONS(3227),
    [sym__bang_custom] = ACTIONS(3227),
    [sym_where_keyword] = ACTIONS(3227),
    [sym_else] = ACTIONS(3227),
    [sym__as_custom] = ACTIONS(3227),
    [sym__as_quest_custom] = ACTIONS(3227),
    [sym__as_bang_custom] = ACTIONS(3227),
    [sym__custom_operator] = ACTIONS(3227),
  },
  [1914] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3111),
    [anon_sym_async] = ACTIONS(3111),
    [anon_sym_lazy] = ACTIONS(3111),
    [anon_sym_package] = ACTIONS(3111),
    [anon_sym_RPAREN] = ACTIONS(3111),
    [anon_sym_COMMA] = ACTIONS(3111),
    [anon_sym_BANG2] = ACTIONS(3111),
    [anon_sym_DOT] = ACTIONS(3109),
    [anon_sym_AMP] = ACTIONS(3111),
    [anon_sym_LBRACE] = ACTIONS(3111),
    [anon_sym_RBRACE] = ACTIONS(3111),
    [anon_sym_case] = ACTIONS(3111),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3111),
    [anon_sym_import] = ACTIONS(3111),
    [anon_sym_typealias] = ACTIONS(3111),
    [anon_sym_struct] = ACTIONS(3111),
    [anon_sym_class] = ACTIONS(3111),
    [anon_sym_enum] = ACTIONS(3111),
    [anon_sym_protocol] = ACTIONS(3111),
    [anon_sym_let] = ACTIONS(3111),
    [anon_sym_var] = ACTIONS(3111),
    [anon_sym_func] = ACTIONS(3111),
    [anon_sym_extension] = ACTIONS(3111),
    [anon_sym_indirect] = ACTIONS(3111),
    [anon_sym_init] = ACTIONS(3111),
    [anon_sym_deinit] = ACTIONS(3111),
    [anon_sym_subscript] = ACTIONS(3111),
    [anon_sym_prefix] = ACTIONS(3111),
    [anon_sym_infix] = ACTIONS(3111),
    [anon_sym_postfix] = ACTIONS(3111),
    [anon_sym_precedencegroup] = ACTIONS(3111),
    [anon_sym_associatedtype] = ACTIONS(3111),
    [anon_sym_AT] = ACTIONS(3109),
    [anon_sym_override] = ACTIONS(3111),
    [anon_sym_convenience] = ACTIONS(3111),
    [anon_sym_required] = ACTIONS(3111),
    [anon_sym_nonisolated] = ACTIONS(3111),
    [anon_sym_public] = ACTIONS(3111),
    [anon_sym_private] = ACTIONS(3111),
    [anon_sym_internal] = ACTIONS(3111),
    [anon_sym_fileprivate] = ACTIONS(3111),
    [anon_sym_open] = ACTIONS(3111),
    [anon_sym_mutating] = ACTIONS(3111),
    [anon_sym_nonmutating] = ACTIONS(3111),
    [anon_sym_static] = ACTIONS(3111),
    [anon_sym_dynamic] = ACTIONS(3111),
    [anon_sym_optional] = ACTIONS(3111),
    [anon_sym_distributed] = ACTIONS(3111),
    [anon_sym_final] = ACTIONS(3111),
    [anon_sym_inout] = ACTIONS(3111),
    [anon_sym_ATescaping] = ACTIONS(3111),
    [anon_sym_ATautoclosure] = ACTIONS(3111),
    [anon_sym_weak] = ACTIONS(3111),
    [anon_sym_unowned] = ACTIONS(3109),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3111),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3111),
    [anon_sym_borrowing] = ACTIONS(3111),
    [anon_sym_consuming] = ACTIONS(3111),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3111),
    [sym__eq_custom] = ACTIONS(3111),
    [sym__throws_keyword] = ACTIONS(3111),
    [sym__rethrows_keyword] = ACTIONS(3111),
    [sym__async_keyword_custom] = ACTIONS(3111),
  },
  [1915] = {
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(3097),
    [anon_sym_async] = ACTIONS(3097),
    [anon_sym_lazy] = ACTIONS(3097),
    [anon_sym_package] = ACTIONS(3097),
    [anon_sym_RPAREN] = ACTIONS(3097),
    [anon_sym_COMMA] = ACTIONS(3097),
    [anon_sym_BANG2] = ACTIONS(3097),
    [anon_sym_DOT] = ACTIONS(3095),
    [anon_sym_AMP] = ACTIONS(3097),
    [anon_sym_LBRACE] = ACTIONS(3097),
    [anon_sym_RBRACE] = ACTIONS(3097),
    [anon_sym_case] = ACTIONS(3097),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3097),
    [anon_sym_import] = ACTIONS(3097),
    [anon_sym_typealias] = ACTIONS(3097),
    [anon_sym_struct] = ACTIONS(3097),
    [anon_sym_class] = ACTIONS(3097),
    [anon_sym_enum] = ACTIONS(3097),
    [anon_sym_protocol] = ACTIONS(3097),
    [anon_sym_let] = ACTIONS(3097),
    [anon_sym_var] = ACTIONS(3097),
    [anon_sym_func] = ACTIONS(3097),
    [anon_sym_extension] = ACTIONS(3097),
    [anon_sym_indirect] = ACTIONS(3097),
    [anon_sym_init] = ACTIONS(3097),
    [anon_sym_deinit] = ACTIONS(3097),
    [anon_sym_subscript] = ACTIONS(3097),
    [anon_sym_prefix] = ACTIONS(3097),
    [anon_sym_infix] = ACTIONS(3097),
    [anon_sym_postfix] = ACTIONS(3097),
    [anon_sym_precedencegroup] = ACTIONS(3097),
    [anon_sym_associatedtype] = ACTIONS(3097),
    [anon_sym_AT] = ACTIONS(3095),
    [anon_sym_override] = ACTIONS(3097),
    [anon_sym_convenience] = ACTIONS(3097),
    [anon_sym_required] = ACTIONS(3097),
    [anon_sym_nonisolated] = ACTIONS(3097),
    [anon_sym_public] = ACTIONS(3097),
    [anon_sym_private] = ACTIONS(3097),
    [anon_sym_internal] = ACTIONS(3097),
    [anon_sym_fileprivate] = ACTIONS(3097),
    [anon_sym_open] = ACTIONS(3097),
    [anon_sym_mutating] = ACTIONS(3097),
    [anon_sym_nonmutating] = ACTIONS(3097),
    [anon_sym_static] = ACTIONS(3097),
    [anon_sym_dynamic] = ACTIONS(3097),
    [anon_sym_optional] = ACTIONS(3097),
    [anon_sym_distributed] = ACTIONS(3097),
    [anon_sym_final] = ACTIONS(3097),
    [anon_sym_inout] = ACTIONS(3097),
    [anon_sym_ATescaping] = ACTIONS(3097),
    [anon_sym_ATautoclosure] = ACTIONS(3097),
    [anon_sym_weak] = ACTIONS(3097),
    [anon_sym_unowned] = ACTIONS(3095),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(3097),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(3097),
    [anon_sym_borrowing] = ACTIONS(3097),
    [anon_sym_consuming] = ACTIONS(3097),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__arrow_operator_custom] = ACTIONS(3097),
    [sym__eq_custom] = ACTIONS(3097),
    [sym__throws_keyword] = ACTIONS(3097),
    [sym__rethrows_keyword] = ACTIONS(3097),
    [sym__async_keyword_custom] = ACTIONS(3097),
  },
  [1916] = {
    [sym__block] = STATE(3201),
    [sym_function_body] = STATE(3464),
    [sym_type_constraints] = STATE(2506),
    [aux_sym__function_value_parameters] = STATE(2100),
    [sym__async_keyword] = STATE(2084),
    [sym_throws] = STATE(2255),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(5393),
    [anon_sym_async] = ACTIONS(5393),
    [anon_sym_lazy] = ACTIONS(5393),
    [anon_sym_package] = ACTIONS(5393),
    [anon_sym_LPAREN] = ACTIONS(5307),
    [anon_sym_LBRACE] = ACTIONS(5309),
    [anon_sym_RBRACE] = ACTIONS(5393),
    [anon_sym_case] = ACTIONS(5393),
    [anon_sym_import] = ACTIONS(5393),
    [anon_sym_typealias] = ACTIONS(5393),
    [anon_sym_struct] = ACTIONS(5393),
    [anon_sym_class] = ACTIONS(5393),
    [anon_sym_enum] = ACTIONS(5393),
    [anon_sym_protocol] = ACTIONS(5393),
    [anon_sym_let] = ACTIONS(5393),
    [anon_sym_var] = ACTIONS(5393),
    [anon_sym_func] = ACTIONS(5393),
    [anon_sym_extension] = ACTIONS(5393),
    [anon_sym_indirect] = ACTIONS(5393),
    [anon_sym_init] = ACTIONS(5393),
    [anon_sym_deinit] = ACTIONS(5393),
    [anon_sym_subscript] = ACTIONS(5393),
    [anon_sym_prefix] = ACTIONS(5393),
    [anon_sym_infix] = ACTIONS(5393),
    [anon_sym_postfix] = ACTIONS(5393),
    [anon_sym_precedencegroup] = ACTIONS(5393),
    [anon_sym_associatedtype] = ACTIONS(5393),
    [anon_sym_AT] = ACTIONS(5395),
    [anon_sym_override] = ACTIONS(5393),
    [anon_sym_convenience] = ACTIONS(5393),
    [anon_sym_required] = ACTIONS(5393),
    [anon_sym_nonisolated] = ACTIONS(5393),
    [anon_sym_public] = ACTIONS(5393),
    [anon_sym_private] = ACTIONS(5393),
    [anon_sym_internal] = ACTIONS(5393),
    [anon_sym_fileprivate] = ACTIONS(5393),
    [anon_sym_open] = ACTIONS(5393),
    [anon_sym_mutating] = ACTIONS(5393),
    [anon_sym_nonmutating] = ACTIONS(5393),
    [anon_sym_static] = ACTIONS(5393),
    [anon_sym_dynamic] = ACTIONS(5393),
    [anon_sym_optional] = ACTIONS(5393),
    [anon_sym_distributed] = ACTIONS(5393),
    [anon_sym_final] = ACTIONS(5393),
    [anon_sym_inout] = ACTIONS(5393),
    [anon_sym_ATescaping] = ACTIONS(5393),
    [anon_sym_ATautoclosure] = ACTIONS(5393),
    [anon_sym_weak] = ACTIONS(5393),
    [anon_sym_unowned] = ACTIONS(5395),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(5393),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(5393),
    [anon_sym_borrowing] = ACTIONS(5393),
    [anon_sym_consuming] = ACTIONS(5393),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__throws_keyword] = ACTIONS(5313),
    [sym__rethrows_keyword] = ACTIONS(5313),
    [sym_where_keyword] = ACTIONS(5315),
    [sym__async_keyword_custom] = ACTIONS(5397),
  },
  [1917] = {
    [sym__block] = STATE(3201),
    [sym_function_body] = STATE(3516),
    [sym_type_constraints] = STATE(2511),
    [aux_sym__function_value_parameters] = STATE(2100),
    [sym__async_keyword] = STATE(2035),
    [sym_throws] = STATE(2250),
    [sym_comment] = ACTIONS(5),
    [anon_sym_actor] = ACTIONS(5305),
    [anon_sym_async] = ACTIONS(5305),
    [anon_sym_lazy] = ACTIONS(5305),
    [anon_sym_package] = ACTIONS(5305),
    [anon_sym_LPAREN] = ACTIONS(5307),
    [anon_sym_LBRACE] = ACTIONS(5309),
    [anon_sym_RBRACE] = ACTIONS(5305),
    [anon_sym_case] = ACTIONS(5305),
    [anon_sym_import] = ACTIONS(5305),
    [anon_sym_typealias] = ACTIONS(5305),
    [anon_sym_struct] = ACTIONS(5305),
    [anon_sym_class] = ACTIONS(5305),
    [anon_sym_enum] = ACTIONS(5305),
    [anon_sym_protocol] = ACTIONS(5305),
    [anon_sym_let] = ACTIONS(5305),
    [anon_sym_var] = ACTIONS(5305),
    [anon_sym_func] = ACTIONS(5305),
    [anon_sym_extension] = ACTIONS(5305),
    [anon_sym_indirect] = ACTIONS(5305),
    [anon_sym_init] = ACTIONS(5305),
    [anon_sym_deinit] = ACTIONS(5305),
    [anon_sym_subscript] = ACTIONS(5305),
    [anon_sym_prefix] = ACTIONS(5305),
    [anon_sym_infix] = ACTIONS(5305),
    [anon_sym_postfix] = ACTIONS(5305),
    [anon_sym_precedencegroup] = ACTIONS(5305),
    [anon_sym_associatedtype] = ACTIONS(5305),
    [anon_sym_AT] = ACTIONS(5311),
    [anon_sym_override] = ACTIONS(5305),
    [anon_sym_convenience] = ACTIONS(5305),
    [anon_sym_required] = ACTIONS(5305),
    [anon_sym_nonisolated] = ACTIONS(5305),
    [anon_sym_public] = ACTIONS(5305),
    [anon_sym_private] = ACTIONS(5305),
    [anon_sym_internal] = ACTIONS(5305),
    [anon_sym_fileprivate] = ACTIONS(5305),
    [anon_sym_open] = ACTIONS(5305),
    [anon_sym_mutating] = ACTIONS(5305),
    [anon_sym_nonmutating] = ACTIONS(5305),
    [anon_sym_static] = ACTIONS(5305),
    [anon_sym_dynamic] = ACTIONS(5305),
    [anon_sym_optional] = ACTIONS(5305),
    [anon_sym_distributed] = ACTIONS(5305),
    [anon_sym_final] = ACTIONS(5305),
    [anon_sym_inout] = ACTIONS(5305),
    [anon_sym_ATescaping] = ACTIONS(5305),
    [anon_sym_ATautoclosure] = ACTIONS(5305),
    [anon_sym_weak] = ACTIONS(5305),
    [anon_sym_unowned] = ACTIONS(5311),
    [anon_sym_unowned_LPARENsafe_RPAREN] = ACTIONS(5305),
    [anon_sym_unowned_LPARENunsafe_RPAREN] = ACTIONS(5305),
    [anon_sym_borrowing] = ACTIONS(5305),
    [anon_sym_consuming] = ACTIONS(5305),
    [sym_multiline_comment] = ACTIONS(5),
    [sym__throws_keyword] = ACTIONS(5313),
    [sym__rethrows_keyword] = ACTIONS(5313),
    [sym_where_keyword] = ACTIONS(5315),
    [sym__async_keyword_custom] = ACTIONS(5399),
  },
};

static const uint16_t ts_small_parse_table[] = {
  [0] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3002), 1,
      anon_sym_QMARK2,
    ACTIONS(5401), 1,
      sym__arrow_operator_custom,
    ACTIONS(5403), 1,
      sym__async_keyword_custom,
    STATE(4312), 1,
      sym__arrow_operator,
    STATE(7010), 1,
      sym__async_keyword,
    STATE(8597), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(807), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(2998), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3000), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [89] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2991), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(2993), 60,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [160] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3105), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3107), 60,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [231] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3221), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3219), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(3217), 12,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_is,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3223), 38,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [308] = 5,
    ACTIONS(5405), 1,
      anon_sym_AMP,
    STATE(1922), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3077), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3079), 58,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [383] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3125), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3127), 60,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [454] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3133), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3135), 60,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [525] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5377), 1,
      sym__arrow_operator_custom,
    ACTIONS(5379), 1,
      sym__async_keyword_custom,
    ACTIONS(5408), 1,
      anon_sym_DOT,
    ACTIONS(5410), 1,
      anon_sym_AMP,
    STATE(2082), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4202), 1,
      sym__arrow_operator,
    STATE(6856), 1,
      sym__async_keyword,
    STATE(8483), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3065), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3067), 41,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [616] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3117), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3119), 60,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [687] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3198), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3200), 60,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [758] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3194), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3196), 60,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [829] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5377), 1,
      sym__arrow_operator_custom,
    ACTIONS(5379), 1,
      sym__async_keyword_custom,
    ACTIONS(5408), 1,
      anon_sym_DOT,
    ACTIONS(5410), 1,
      anon_sym_AMP,
    STATE(2082), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4202), 1,
      sym__arrow_operator,
    STATE(6856), 1,
      sym__async_keyword,
    STATE(8483), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3073), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3075), 41,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [920] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(2082), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4202), 1,
      sym__arrow_operator,
    STATE(6856), 1,
      sym__async_keyword,
    STATE(8483), 1,
      sym_throws,
    ACTIONS(3087), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3089), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [1001] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5377), 1,
      sym__arrow_operator_custom,
    ACTIONS(5379), 1,
      sym__async_keyword_custom,
    ACTIONS(5408), 1,
      anon_sym_DOT,
    ACTIONS(5410), 1,
      anon_sym_AMP,
    STATE(2082), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4202), 1,
      sym__arrow_operator,
    STATE(6856), 1,
      sym__async_keyword,
    STATE(8483), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3061), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3063), 41,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [1092] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(2082), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4202), 1,
      sym__arrow_operator,
    STATE(6856), 1,
      sym__async_keyword,
    STATE(8483), 1,
      sym_throws,
    ACTIONS(3069), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3071), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [1173] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3225), 21,
      anon_sym_BANG,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_is,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(3227), 41,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [1246] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3149), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3151), 60,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [1317] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5412), 1,
      anon_sym_QMARK2,
    ACTIONS(5414), 1,
      sym__arrow_operator_custom,
    ACTIONS(5416), 1,
      sym__async_keyword_custom,
    STATE(4377), 1,
      sym__arrow_operator,
    STATE(6914), 1,
      sym__async_keyword,
    STATE(8429), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(2061), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(2998), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3000), 41,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [1404] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3095), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3097), 60,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [1475] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3229), 21,
      anon_sym_BANG,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_is,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(3231), 41,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [1548] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3237), 21,
      anon_sym_BANG,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_is,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(3239), 41,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [1621] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3219), 21,
      anon_sym_BANG,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_is,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(3221), 41,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [1694] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5377), 1,
      sym__arrow_operator_custom,
    ACTIONS(5379), 1,
      sym__async_keyword_custom,
    ACTIONS(5408), 1,
      anon_sym_DOT,
    ACTIONS(5410), 1,
      anon_sym_AMP,
    STATE(2082), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4202), 1,
      sym__arrow_operator,
    STATE(6856), 1,
      sym__async_keyword,
    STATE(8483), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3053), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3055), 41,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [1785] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3137), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3139), 60,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [1856] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3213), 21,
      anon_sym_BANG,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_is,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(3215), 41,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [1929] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3202), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3204), 60,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [2000] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5377), 1,
      sym__arrow_operator_custom,
    ACTIONS(5379), 1,
      sym__async_keyword_custom,
    ACTIONS(5408), 1,
      anon_sym_DOT,
    ACTIONS(5410), 1,
      anon_sym_AMP,
    STATE(2082), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4202), 1,
      sym__arrow_operator,
    STATE(6856), 1,
      sym__async_keyword,
    STATE(8483), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3077), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3079), 41,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [2091] = 4,
    STATE(1922), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3233), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3235), 59,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [2164] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3109), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3111), 60,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [2235] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5414), 1,
      sym__arrow_operator_custom,
    ACTIONS(5416), 1,
      sym__async_keyword_custom,
    ACTIONS(5418), 1,
      anon_sym_DOT,
    ACTIONS(5420), 1,
      anon_sym_AMP,
    STATE(2098), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4377), 1,
      sym__arrow_operator,
    STATE(6914), 1,
      sym__async_keyword,
    STATE(8429), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3073), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3075), 41,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [2323] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5414), 1,
      sym__arrow_operator_custom,
    ACTIONS(5416), 1,
      sym__async_keyword_custom,
    ACTIONS(5418), 1,
      anon_sym_DOT,
    ACTIONS(5420), 1,
      anon_sym_AMP,
    STATE(2098), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4377), 1,
      sym__arrow_operator,
    STATE(6914), 1,
      sym__async_keyword,
    STATE(8429), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3065), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3067), 41,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [2411] = 5,
    ACTIONS(5422), 1,
      anon_sym_AMP,
    STATE(1949), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3077), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3079), 57,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [2485] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5414), 1,
      sym__arrow_operator_custom,
    ACTIONS(5416), 1,
      sym__async_keyword_custom,
    ACTIONS(5418), 1,
      anon_sym_DOT,
    ACTIONS(5420), 1,
      anon_sym_AMP,
    STATE(2098), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4377), 1,
      sym__arrow_operator,
    STATE(6914), 1,
      sym__async_keyword,
    STATE(8429), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3077), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3079), 41,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [2573] = 6,
    ACTIONS(3083), 1,
      sym__dot_custom,
    ACTIONS(5427), 1,
      anon_sym_LT,
    STATE(2086), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5429), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5425), 56,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [2649] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3057), 1,
      anon_sym_DOT,
    ACTIONS(5401), 1,
      sym__arrow_operator_custom,
    ACTIONS(5403), 1,
      sym__async_keyword_custom,
    ACTIONS(5431), 1,
      anon_sym_AMP,
    STATE(2144), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4312), 1,
      sym__arrow_operator,
    STATE(7010), 1,
      sym__async_keyword,
    STATE(8597), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3077), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3079), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [2739] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5433), 1,
      sym__dot_custom,
    STATE(1977), 1,
      aux_sym_user_type_repeat1,
    STATE(5440), 1,
      sym__dot,
    ACTIONS(3046), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3048), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [2817] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3121), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3123), 59,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [2887] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5436), 1,
      anon_sym_QMARK2,
    ACTIONS(5438), 1,
      sym__arrow_operator_custom,
    ACTIONS(5440), 1,
      sym__async_keyword_custom,
    STATE(4211), 1,
      sym__arrow_operator,
    STATE(6982), 1,
      sym__async_keyword,
    STATE(8549), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(2115), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(2998), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3000), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [2975] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5292), 1,
      anon_sym_QMARK2,
    STATE(1964), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(2998), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3000), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [3051] = 12,
    ACTIONS(5339), 1,
      anon_sym_LBRACE,
    ACTIONS(5343), 1,
      sym__eq_custom,
    ACTIONS(5345), 1,
      sym_where_keyword,
    STATE(674), 1,
      sym__equal_sign,
    STATE(2039), 1,
      sym_type_constraints,
    STATE(2903), 1,
      sym_computed_property,
    STATE(2904), 1,
      sym_willset_didset_block,
    STATE(2905), 1,
      sym__expression_without_willset_didset,
    STATE(2909), 1,
      sym__expression_with_willset_didset,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5444), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5442), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [3139] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3190), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3192), 59,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [3209] = 7,
    ACTIONS(3), 1,
      sym_comment,
    STATE(2098), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4377), 1,
      sym__arrow_operator,
    STATE(6914), 1,
      sym__async_keyword,
    STATE(8429), 1,
      sym_throws,
    ACTIONS(3069), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3071), 46,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [3287] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3157), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3159), 59,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [3357] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3091), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3093), 59,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [3427] = 6,
    ACTIONS(5446), 1,
      sym__dot_custom,
    STATE(1962), 1,
      aux_sym_user_type_repeat1,
    STATE(5342), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2991), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(2993), 56,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_macro,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [3503] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5449), 1,
      anon_sym_QMARK2,
    STATE(1963), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3032), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3034), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [3579] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(1963), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3028), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3030), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [3653] = 4,
    STATE(1949), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3233), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3235), 58,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [3725] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5452), 1,
      anon_sym_QMARK2,
    ACTIONS(5454), 1,
      sym__arrow_operator_custom,
    ACTIONS(5456), 1,
      sym__async_keyword_custom,
    STATE(4288), 1,
      sym__arrow_operator,
    STATE(6983), 1,
      sym__async_keyword,
    STATE(8554), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(2146), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(2998), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3000), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [3813] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3113), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3115), 59,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [3883] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3057), 1,
      anon_sym_DOT,
    ACTIONS(5401), 1,
      sym__arrow_operator_custom,
    ACTIONS(5403), 1,
      sym__async_keyword_custom,
    ACTIONS(5431), 1,
      anon_sym_AMP,
    STATE(2144), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4312), 1,
      sym__arrow_operator,
    STATE(7010), 1,
      sym__async_keyword,
    STATE(8597), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3073), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3075), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [3973] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5414), 1,
      sym__arrow_operator_custom,
    ACTIONS(5416), 1,
      sym__async_keyword_custom,
    ACTIONS(5418), 1,
      anon_sym_DOT,
    ACTIONS(5420), 1,
      anon_sym_AMP,
    STATE(2098), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4377), 1,
      sym__arrow_operator,
    STATE(6914), 1,
      sym__async_keyword,
    STATE(8429), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3061), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3063), 41,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [4061] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3057), 1,
      anon_sym_DOT,
    ACTIONS(5401), 1,
      sym__arrow_operator_custom,
    ACTIONS(5403), 1,
      sym__async_keyword_custom,
    ACTIONS(5431), 1,
      anon_sym_AMP,
    STATE(2144), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4312), 1,
      sym__arrow_operator,
    STATE(7010), 1,
      sym__async_keyword,
    STATE(8597), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3053), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3055), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [4151] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(2144), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4312), 1,
      sym__arrow_operator,
    STATE(7010), 1,
      sym__async_keyword,
    STATE(8597), 1,
      sym_throws,
    ACTIONS(3069), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3071), 45,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [4231] = 5,
    ACTIONS(5427), 1,
      anon_sym_LT,
    STATE(2086), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3081), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3083), 57,
      sym__dot_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_macro,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [4305] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3180), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3182), 59,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [4375] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3186), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3188), 59,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [4445] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(2144), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4312), 1,
      sym__arrow_operator,
    STATE(7010), 1,
      sym__async_keyword,
    STATE(8597), 1,
      sym_throws,
    ACTIONS(3087), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3089), 45,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [4525] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5458), 1,
      sym__dot_custom,
    STATE(1976), 1,
      aux_sym_user_type_repeat1,
    STATE(5440), 1,
      sym__dot,
    ACTIONS(2991), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(2993), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [4603] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5461), 1,
      sym__dot_custom,
    STATE(1976), 1,
      aux_sym_user_type_repeat1,
    STATE(5440), 1,
      sym__dot,
    ACTIONS(3039), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3041), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [4681] = 7,
    ACTIONS(3), 1,
      sym_comment,
    STATE(2098), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4377), 1,
      sym__arrow_operator,
    STATE(6914), 1,
      sym__async_keyword,
    STATE(8429), 1,
      sym_throws,
    ACTIONS(3087), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3089), 46,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [4759] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5414), 1,
      sym__arrow_operator_custom,
    ACTIONS(5416), 1,
      sym__async_keyword_custom,
    ACTIONS(5418), 1,
      anon_sym_DOT,
    ACTIONS(5420), 1,
      anon_sym_AMP,
    STATE(2098), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4377), 1,
      sym__arrow_operator,
    STATE(6914), 1,
      sym__async_keyword,
    STATE(8429), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3053), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3055), 41,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [4847] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3057), 1,
      anon_sym_DOT,
    ACTIONS(5401), 1,
      sym__arrow_operator_custom,
    ACTIONS(5403), 1,
      sym__async_keyword_custom,
    ACTIONS(5431), 1,
      anon_sym_AMP,
    STATE(2144), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4312), 1,
      sym__arrow_operator,
    STATE(7010), 1,
      sym__async_keyword,
    STATE(8597), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3065), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3067), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [4937] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3057), 1,
      anon_sym_DOT,
    ACTIONS(5401), 1,
      sym__arrow_operator_custom,
    ACTIONS(5403), 1,
      sym__async_keyword_custom,
    ACTIONS(5431), 1,
      anon_sym_AMP,
    STATE(2144), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4312), 1,
      sym__arrow_operator,
    STATE(7010), 1,
      sym__async_keyword,
    STATE(8597), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3061), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3063), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [5027] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3141), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3143), 59,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [5097] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3129), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3131), 59,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [5167] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3145), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3147), 59,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [5237] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5454), 1,
      sym__arrow_operator_custom,
    ACTIONS(5456), 1,
      sym__async_keyword_custom,
    ACTIONS(5464), 1,
      anon_sym_DOT,
    ACTIONS(5466), 1,
      anon_sym_AMP,
    STATE(2165), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4288), 1,
      sym__arrow_operator,
    STATE(6983), 1,
      sym__async_keyword,
    STATE(8554), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3065), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3067), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [5326] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(2195), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4211), 1,
      sym__arrow_operator,
    STATE(6982), 1,
      sym__async_keyword,
    STATE(8549), 1,
      sym_throws,
    ACTIONS(3087), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3089), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [5405] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3117), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3119), 58,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [5474] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3137), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3139), 58,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [5543] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5468), 1,
      anon_sym_AMP,
    STATE(1989), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(3077), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3079), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [5618] = 5,
    ACTIONS(5473), 1,
      anon_sym_LPAREN,
    STATE(2150), 1,
      sym__tuple_pattern,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5475), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5471), 56,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [5691] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5438), 1,
      sym__arrow_operator_custom,
    ACTIONS(5440), 1,
      sym__async_keyword_custom,
    ACTIONS(5477), 1,
      anon_sym_DOT,
    ACTIONS(5479), 1,
      anon_sym_AMP,
    STATE(2195), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4211), 1,
      sym__arrow_operator,
    STATE(6982), 1,
      sym__async_keyword,
    STATE(8549), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3077), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3079), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [5780] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5438), 1,
      sym__arrow_operator_custom,
    ACTIONS(5440), 1,
      sym__async_keyword_custom,
    ACTIONS(5477), 1,
      anon_sym_DOT,
    ACTIONS(5479), 1,
      anon_sym_AMP,
    STATE(2195), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4211), 1,
      sym__arrow_operator,
    STATE(6982), 1,
      sym__async_keyword,
    STATE(8549), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3053), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3055), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [5869] = 5,
    ACTIONS(5473), 1,
      anon_sym_LPAREN,
    STATE(2126), 1,
      sym__tuple_pattern,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5483), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5481), 56,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [5942] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(2195), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4211), 1,
      sym__arrow_operator,
    STATE(6982), 1,
      sym__async_keyword,
    STATE(8549), 1,
      sym_throws,
    ACTIONS(3069), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3071), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [6021] = 12,
    ACTIONS(5490), 1,
      anon_sym_func,
    ACTIONS(5493), 1,
      anon_sym_init,
    STATE(6593), 1,
      sym_simple_identifier,
    STATE(7128), 1,
      sym__non_constructor_function_decl,
    STATE(8803), 1,
      sym__modifierless_function_declaration_no_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3755), 3,
      aux_sym_simple_identifier_token1,
      anon_sym_each,
      anon_sym_repeat,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(5496), 4,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(5485), 6,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(5488), 37,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
  [6108] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(2015), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3028), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3030), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [6181] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(2165), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4288), 1,
      sym__arrow_operator,
    STATE(6983), 1,
      sym__async_keyword,
    STATE(8554), 1,
      sym_throws,
    ACTIONS(3087), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3089), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [6260] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(1989), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(3233), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3235), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [6333] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5498), 1,
      sym__dot_custom,
    STATE(2006), 1,
      aux_sym_user_type_repeat1,
    STATE(5362), 1,
      sym__dot,
    ACTIONS(3039), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3041), 45,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [6410] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5438), 1,
      sym__arrow_operator_custom,
    ACTIONS(5440), 1,
      sym__async_keyword_custom,
    ACTIONS(5477), 1,
      anon_sym_DOT,
    ACTIONS(5479), 1,
      anon_sym_AMP,
    STATE(2195), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4211), 1,
      sym__arrow_operator,
    STATE(6982), 1,
      sym__async_keyword,
    STATE(8549), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3065), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3067), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [6499] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5501), 1,
      anon_sym_LT,
    STATE(2059), 1,
      sym_type_arguments,
    ACTIONS(3081), 11,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3083), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [6574] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5438), 1,
      sym__arrow_operator_custom,
    ACTIONS(5440), 1,
      sym__async_keyword_custom,
    ACTIONS(5477), 1,
      anon_sym_DOT,
    ACTIONS(5479), 1,
      anon_sym_AMP,
    STATE(2195), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4211), 1,
      sym__arrow_operator,
    STATE(6982), 1,
      sym__async_keyword,
    STATE(8549), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3061), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3063), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [6663] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3109), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3111), 58,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [6732] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3095), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3097), 58,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [6801] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5438), 1,
      sym__arrow_operator_custom,
    ACTIONS(5440), 1,
      sym__async_keyword_custom,
    ACTIONS(5477), 1,
      anon_sym_DOT,
    ACTIONS(5479), 1,
      anon_sym_AMP,
    STATE(2195), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4211), 1,
      sym__arrow_operator,
    STATE(6982), 1,
      sym__async_keyword,
    STATE(8549), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3073), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3075), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [6890] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5503), 1,
      sym__dot_custom,
    STATE(2006), 1,
      aux_sym_user_type_repeat1,
    STATE(5362), 1,
      sym__dot,
    ACTIONS(2991), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(2993), 45,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [6967] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3202), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3204), 58,
      sym__dot_custom,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [7036] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5506), 1,
      sym__dot_custom,
    STATE(1999), 1,
      aux_sym_user_type_repeat1,
    STATE(5362), 1,
      sym__dot,
    ACTIONS(3046), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3048), 45,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [7113] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5454), 1,
      sym__arrow_operator_custom,
    ACTIONS(5456), 1,
      sym__async_keyword_custom,
    ACTIONS(5464), 1,
      anon_sym_DOT,
    ACTIONS(5466), 1,
      anon_sym_AMP,
    STATE(2165), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4288), 1,
      sym__arrow_operator,
    STATE(6983), 1,
      sym__async_keyword,
    STATE(8554), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3077), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3079), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [7202] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5454), 1,
      sym__arrow_operator_custom,
    ACTIONS(5456), 1,
      sym__async_keyword_custom,
    ACTIONS(5464), 1,
      anon_sym_DOT,
    ACTIONS(5466), 1,
      anon_sym_AMP,
    STATE(2165), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4288), 1,
      sym__arrow_operator,
    STATE(6983), 1,
      sym__async_keyword,
    STATE(8554), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3053), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3055), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [7291] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(2165), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4288), 1,
      sym__arrow_operator,
    STATE(6983), 1,
      sym__async_keyword,
    STATE(8554), 1,
      sym_throws,
    ACTIONS(3069), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3071), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [7370] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3202), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3204), 58,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [7439] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3149), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3151), 58,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [7508] = 5,
    ACTIONS(5473), 1,
      anon_sym_LPAREN,
    STATE(2110), 1,
      sym__tuple_pattern,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5511), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5509), 56,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [7581] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5513), 1,
      anon_sym_QMARK2,
    STATE(2015), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3032), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3034), 45,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [7656] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5454), 1,
      sym__arrow_operator_custom,
    ACTIONS(5456), 1,
      sym__async_keyword_custom,
    ACTIONS(5464), 1,
      anon_sym_DOT,
    ACTIONS(5466), 1,
      anon_sym_AMP,
    STATE(2165), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4288), 1,
      sym__arrow_operator,
    STATE(6983), 1,
      sym__async_keyword,
    STATE(8554), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3061), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3063), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [7745] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5454), 1,
      sym__arrow_operator_custom,
    ACTIONS(5456), 1,
      sym__async_keyword_custom,
    ACTIONS(5464), 1,
      anon_sym_DOT,
    ACTIONS(5466), 1,
      anon_sym_AMP,
    STATE(2165), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4288), 1,
      sym__arrow_operator,
    STATE(6983), 1,
      sym__async_keyword,
    STATE(8554), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3073), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3075), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [7834] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5375), 1,
      anon_sym_QMARK2,
    STATE(1996), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(2998), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3000), 45,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [7909] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5516), 1,
      anon_sym_QMARK2,
    ACTIONS(5518), 1,
      sym__arrow_operator_custom,
    ACTIONS(5520), 1,
      sym__async_keyword_custom,
    STATE(4102), 1,
      sym__arrow_operator,
    STATE(7015), 1,
      sym__async_keyword,
    STATE(8618), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(2166), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(2998), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3000), 38,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [7996] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5522), 1,
      anon_sym_self,
    STATE(2078), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(3153), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3155), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [8070] = 10,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2212), 1,
      sym_throws,
    STATE(2433), 1,
      sym_type_constraints,
    STATE(3129), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5313), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5526), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5524), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [8152] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3109), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3111), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [8222] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3113), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3115), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [8292] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3137), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3139), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [8362] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3129), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3131), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [8432] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3186), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3188), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [8502] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3149), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3151), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [8572] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3095), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3097), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [8642] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3121), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3123), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [8712] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3157), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3159), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [8782] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3105), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3107), 57,
      sym__dot_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_macro,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [8850] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3117), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3119), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [8920] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3141), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3143), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [8990] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3198), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3200), 57,
      sym__dot_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_macro,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [9058] = 10,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2238), 1,
      sym_throws,
    STATE(2481), 1,
      sym_type_constraints,
    STATE(3201), 1,
      sym__block,
    STATE(3349), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5313), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5530), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5528), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [9140] = 10,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2236), 1,
      sym_throws,
    STATE(2484), 1,
      sym_type_constraints,
    STATE(3201), 1,
      sym__block,
    STATE(3355), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5313), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5530), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5528), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [9222] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3180), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3182), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [9292] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3091), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3093), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [9362] = 10,
    ACTIONS(5339), 1,
      anon_sym_LBRACE,
    ACTIONS(5343), 1,
      sym__eq_custom,
    STATE(674), 1,
      sym__equal_sign,
    STATE(2884), 1,
      sym__expression_with_willset_didset,
    STATE(2885), 1,
      sym__expression_without_willset_didset,
    STATE(2886), 1,
      sym_willset_didset_block,
    STATE(2887), 1,
      sym_computed_property,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5534), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5532), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [9444] = 20,
    ACTIONS(3977), 1,
      anon_sym_async,
    ACTIONS(3999), 1,
      anon_sym_func,
    ACTIONS(5111), 1,
      anon_sym_typealias,
    ACTIONS(5540), 1,
      anon_sym_enum,
    ACTIONS(5542), 1,
      anon_sym_extension,
    ACTIONS(5544), 1,
      anon_sym_indirect,
    STATE(7128), 1,
      sym__non_constructor_function_decl,
    STATE(7445), 1,
      sym__modifierless_property_declaration,
    STATE(7659), 1,
      sym__async_modifier,
    STATE(7783), 1,
      sym__modifierless_function_declaration_no_body,
    STATE(8214), 1,
      sym__modifierless_class_declaration,
    STATE(8225), 1,
      sym__modifierless_function_declaration,
    STATE(8228), 1,
      sym__modifierless_typealias_declaration,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3997), 2,
      anon_sym_let,
      anon_sym_var,
    ACTIONS(5536), 2,
      anon_sym_actor,
      anon_sym_struct,
    ACTIONS(5546), 2,
      anon_sym_AT,
      anon_sym_unowned,
    STATE(4783), 2,
      sym_value_binding_pattern,
      sym__possibly_async_binding_pattern_kind,
    STATE(2133), 6,
      sym_attribute,
      aux_sym__locally_permitted_modifiers,
      sym__locally_permitted_modifier,
      sym_property_behavior_modifier,
      sym_inheritance_modifier,
      sym_ownership_modifier,
    ACTIONS(5538), 32,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_class,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [9546] = 10,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2270), 1,
      sym_throws,
    STATE(2459), 1,
      sym_type_constraints,
    STATE(3201), 1,
      sym__block,
    STATE(3229), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5313), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5550), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5548), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [9628] = 6,
    ACTIONS(5552), 1,
      sym__dot_custom,
    STATE(2049), 1,
      aux_sym_user_type_repeat1,
    STATE(5342), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3046), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3048), 54,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LPAREN,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_macro,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [9702] = 10,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2296), 1,
      sym_throws,
    STATE(2498), 1,
      sym_type_constraints,
    STATE(3201), 1,
      sym__block,
    STATE(3449), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5313), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5556), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5554), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [9784] = 10,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2278), 1,
      sym_throws,
    STATE(2501), 1,
      sym_type_constraints,
    STATE(3201), 1,
      sym__block,
    STATE(3460), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5313), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5556), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5554), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [9866] = 10,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2287), 1,
      sym_throws,
    STATE(2509), 1,
      sym_type_constraints,
    STATE(3201), 1,
      sym__block,
    STATE(3513), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5313), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5560), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5558), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [9948] = 10,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2310), 1,
      sym_throws,
    STATE(2452), 1,
      sym_type_constraints,
    STATE(3201), 1,
      sym__block,
    STATE(3207), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5313), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5564), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5562), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [10030] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5566), 1,
      sym__dot_custom,
    STATE(2068), 1,
      aux_sym_user_type_repeat1,
    STATE(5404), 1,
      sym__dot,
    ACTIONS(3039), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3041), 45,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [10104] = 11,
    ACTIONS(5571), 1,
      anon_sym_COMMA,
    ACTIONS(5573), 1,
      anon_sym_LPAREN,
    ACTIONS(5575), 1,
      anon_sym_SEMI,
    ACTIONS(5579), 1,
      sym__eq_custom,
    STATE(649), 1,
      sym__equal_sign,
    STATE(2471), 1,
      sym__enum_entry_suffix,
    STATE(2477), 1,
      aux_sym_enum_entry_repeat1,
    STATE(2697), 1,
      sym_enum_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5577), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5569), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [10188] = 6,
    ACTIONS(5552), 1,
      sym__dot_custom,
    STATE(1962), 1,
      aux_sym_user_type_repeat1,
    STATE(5342), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3039), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3041), 54,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LPAREN,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_macro,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [10262] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5412), 1,
      anon_sym_QMARK2,
    STATE(2061), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(2998), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3000), 45,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [10334] = 11,
    ACTIONS(5571), 1,
      anon_sym_COMMA,
    ACTIONS(5573), 1,
      anon_sym_LPAREN,
    ACTIONS(5579), 1,
      sym__eq_custom,
    ACTIONS(5583), 1,
      anon_sym_SEMI,
    STATE(649), 1,
      sym__equal_sign,
    STATE(2503), 1,
      sym__enum_entry_suffix,
    STATE(2504), 1,
      aux_sym_enum_entry_repeat1,
    STATE(2697), 1,
      sym_enum_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5585), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5581), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [10418] = 20,
    ACTIONS(3977), 1,
      anon_sym_async,
    ACTIONS(3999), 1,
      anon_sym_func,
    ACTIONS(5111), 1,
      anon_sym_typealias,
    ACTIONS(5540), 1,
      anon_sym_enum,
    ACTIONS(5542), 1,
      anon_sym_extension,
    ACTIONS(5544), 1,
      anon_sym_indirect,
    STATE(7128), 1,
      sym__non_constructor_function_decl,
    STATE(7445), 1,
      sym__modifierless_property_declaration,
    STATE(7659), 1,
      sym__async_modifier,
    STATE(7783), 1,
      sym__modifierless_function_declaration_no_body,
    STATE(8214), 1,
      sym__modifierless_class_declaration,
    STATE(8225), 1,
      sym__modifierless_function_declaration,
    STATE(8228), 1,
      sym__modifierless_typealias_declaration,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3997), 2,
      anon_sym_let,
      anon_sym_var,
    ACTIONS(5536), 2,
      anon_sym_actor,
      anon_sym_struct,
    ACTIONS(5546), 2,
      anon_sym_AT,
      anon_sym_unowned,
    STATE(4783), 2,
      sym_value_binding_pattern,
      sym__possibly_async_binding_pattern_kind,
    STATE(3610), 6,
      sym_attribute,
      aux_sym__locally_permitted_modifiers,
      sym__locally_permitted_modifier,
      sym_property_behavior_modifier,
      sym_inheritance_modifier,
      sym_ownership_modifier,
    ACTIONS(5538), 32,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_case,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [10520] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3202), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3204), 57,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [10588] = 10,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2290), 1,
      sym_throws,
    STATE(2438), 1,
      sym_type_constraints,
    STATE(3136), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5313), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5526), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5524), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [10670] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3190), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3192), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [10740] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5518), 1,
      sym__arrow_operator_custom,
    ACTIONS(5520), 1,
      sym__async_keyword_custom,
    ACTIONS(5587), 1,
      anon_sym_DOT,
    ACTIONS(5589), 1,
      anon_sym_AMP,
    STATE(2267), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4102), 1,
      sym__arrow_operator,
    STATE(7015), 1,
      sym__async_keyword,
    STATE(8618), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3053), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3055), 38,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [10828] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5522), 1,
      anon_sym_self,
    STATE(2078), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(3099), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3101), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [10902] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3145), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3147), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [10972] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3194), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3196), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [11042] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(2991), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(2993), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [11112] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(2081), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3028), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3030), 46,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [11182] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5518), 1,
      sym__arrow_operator_custom,
    ACTIONS(5520), 1,
      sym__async_keyword_custom,
    ACTIONS(5587), 1,
      anon_sym_DOT,
    ACTIONS(5589), 1,
      anon_sym_AMP,
    STATE(2267), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4102), 1,
      sym__arrow_operator,
    STATE(7015), 1,
      sym__async_keyword,
    STATE(8618), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3061), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3063), 38,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [11270] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5518), 1,
      sym__arrow_operator_custom,
    ACTIONS(5520), 1,
      sym__async_keyword_custom,
    ACTIONS(5587), 1,
      anon_sym_DOT,
    ACTIONS(5589), 1,
      anon_sym_AMP,
    STATE(2267), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4102), 1,
      sym__arrow_operator,
    STATE(7015), 1,
      sym__async_keyword,
    STATE(8618), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3065), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3067), 38,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [11358] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3202), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3204), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [11428] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(2267), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4102), 1,
      sym__arrow_operator,
    STATE(7015), 1,
      sym__async_keyword,
    STATE(8618), 1,
      sym_throws,
    ACTIONS(3069), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3071), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [11506] = 11,
    ACTIONS(5571), 1,
      anon_sym_COMMA,
    ACTIONS(5573), 1,
      anon_sym_LPAREN,
    ACTIONS(5579), 1,
      sym__eq_custom,
    ACTIONS(5593), 1,
      anon_sym_SEMI,
    STATE(649), 1,
      sym__equal_sign,
    STATE(2441), 1,
      aux_sym_enum_entry_repeat1,
    STATE(2444), 1,
      sym__enum_entry_suffix,
    STATE(2697), 1,
      sym_enum_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5595), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5591), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [11590] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5597), 1,
      sym__dot_custom,
    STATE(2047), 1,
      aux_sym_user_type_repeat1,
    STATE(5404), 1,
      sym__dot,
    ACTIONS(3046), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3048), 45,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [11664] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5600), 1,
      sym__dot_custom,
    STATE(2068), 1,
      aux_sym_user_type_repeat1,
    STATE(5404), 1,
      sym__dot,
    ACTIONS(2991), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(2993), 45,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [11738] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5518), 1,
      sym__arrow_operator_custom,
    ACTIONS(5520), 1,
      sym__async_keyword_custom,
    ACTIONS(5587), 1,
      anon_sym_DOT,
    ACTIONS(5589), 1,
      anon_sym_AMP,
    STATE(2267), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4102), 1,
      sym__arrow_operator,
    STATE(7015), 1,
      sym__async_keyword,
    STATE(8618), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3077), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3079), 38,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [11826] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3198), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3200), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [11896] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3133), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3135), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [11966] = 10,
    ACTIONS(5339), 1,
      anon_sym_LBRACE,
    ACTIONS(5343), 1,
      sym__eq_custom,
    STATE(674), 1,
      sym__equal_sign,
    STATE(2893), 1,
      sym_computed_property,
    STATE(2894), 1,
      sym_willset_didset_block,
    STATE(2895), 1,
      sym__expression_without_willset_didset,
    STATE(2901), 1,
      sym__expression_with_willset_didset,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5444), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5442), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [12048] = 10,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2216), 1,
      sym_throws,
    STATE(2524), 1,
      sym_type_constraints,
    STATE(3201), 1,
      sym__block,
    STATE(3535), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5313), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5605), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5603), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [12130] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3125), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3127), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [12200] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3105), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3107), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [12270] = 6,
    ACTIONS(5609), 1,
      anon_sym_QMARK,
    ACTIONS(5613), 1,
      sym__as_custom,
    STATE(2175), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5611), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5607), 54,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [12344] = 12,
    ACTIONS(5490), 1,
      anon_sym_func,
    ACTIONS(5615), 1,
      anon_sym_init,
    STATE(6636), 1,
      sym_simple_identifier,
    STATE(7128), 1,
      sym__non_constructor_function_decl,
    STATE(8803), 1,
      sym__modifierless_function_declaration_no_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3755), 3,
      aux_sym_simple_identifier_token1,
      anon_sym_each,
      anon_sym_repeat,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(5496), 4,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(5485), 6,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(5488), 36,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
  [12430] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5618), 1,
      anon_sym_BANG,
    ACTIONS(5621), 1,
      anon_sym_LBRACK,
    ACTIONS(5624), 1,
      anon_sym_QMARK,
    ACTIONS(5627), 1,
      anon_sym_self,
    ACTIONS(5630), 1,
      sym__bang_custom,
    STATE(2078), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(3169), 10,
      anon_sym_DOT,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3164), 41,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [12512] = 6,
    ACTIONS(5635), 1,
      anon_sym_QMARK,
    ACTIONS(5639), 1,
      sym__as_custom,
    STATE(2199), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5637), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5633), 54,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [12586] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5641), 1,
      anon_sym_AMP,
    STATE(2080), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(3077), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3079), 45,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [12660] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5644), 1,
      anon_sym_QMARK2,
    STATE(2081), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3032), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3034), 45,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [12732] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(2080), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(3233), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3235), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [12804] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5647), 1,
      anon_sym_LT,
    STATE(2093), 1,
      sym_type_arguments,
    ACTIONS(3081), 11,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3083), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [12878] = 10,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2248), 1,
      sym_throws,
    STATE(2474), 1,
      sym_type_constraints,
    STATE(3201), 1,
      sym__block,
    STATE(3323), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5313), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5651), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5649), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [12960] = 10,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2272), 1,
      sym_throws,
    STATE(2418), 1,
      sym_type_constraints,
    STATE(3062), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5313), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5655), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5653), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [13042] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3194), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3196), 57,
      sym__dot_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_macro,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [13110] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5518), 1,
      sym__arrow_operator_custom,
    ACTIONS(5520), 1,
      sym__async_keyword_custom,
    ACTIONS(5587), 1,
      anon_sym_DOT,
    ACTIONS(5589), 1,
      anon_sym_AMP,
    STATE(2267), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4102), 1,
      sym__arrow_operator,
    STATE(7015), 1,
      sym__async_keyword,
    STATE(8618), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3073), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3075), 38,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [13198] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5657), 1,
      anon_sym_self,
    STATE(2020), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(3099), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3101), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [13272] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3133), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3135), 57,
      sym__dot_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_macro,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [13340] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3125), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3127), 57,
      sym__dot_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_macro,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [13408] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(2267), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4102), 1,
      sym__arrow_operator,
    STATE(7015), 1,
      sym__async_keyword,
    STATE(8618), 1,
      sym_throws,
    ACTIONS(3087), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3089), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [13486] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2991), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(2993), 57,
      sym__dot_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_macro,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [13554] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3194), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3196), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [13623] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3121), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3123), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [13692] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5659), 1,
      anon_sym_AMP,
    STATE(2095), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(3077), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3079), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [13765] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3145), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3147), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [13834] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5664), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5662), 56,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [13901] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(2148), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(3233), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3235), 46,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [13970] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3095), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3097), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [14039] = 5,
    ACTIONS(5668), 1,
      anon_sym_LPAREN,
    STATE(2100), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5671), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5666), 54,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [14110] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5675), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5673), 56,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [14177] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5677), 1,
      anon_sym_self,
    STATE(2113), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(3099), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3101), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [14250] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5679), 1,
      anon_sym_QMARK2,
    STATE(2103), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3032), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3034), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [14323] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5682), 1,
      anon_sym_self,
    STATE(2112), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(3099), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3101), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [14396] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3157), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3159), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [14465] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3117), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3119), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [14534] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3141), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3143), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [14603] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5684), 1,
      anon_sym_BANG,
    ACTIONS(5692), 1,
      sym__bang_custom,
    ACTIONS(5688), 2,
      sym__custom_operator,
      aux_sym_custom_operator_token1,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(5690), 8,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(8480), 11,
      sym_simple_identifier,
      sym_custom_operator,
      sym__assignment_and_operator,
      sym__equality_operator,
      sym__comparison_operator,
      sym__additive_operator,
      sym__multiplicative_operator,
      sym__referenceable_operator,
      sym__equal_sign,
      sym__eq_eq,
      sym_bang,
    ACTIONS(5686), 21,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [14686] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3149), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3151), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [14755] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5696), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5694), 56,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [14822] = 12,
    ACTIONS(5490), 1,
      anon_sym_func,
    ACTIONS(5698), 1,
      anon_sym_init,
    STATE(6539), 1,
      sym_simple_identifier,
    STATE(7128), 1,
      sym__non_constructor_function_decl,
    STATE(8803), 1,
      sym__modifierless_function_declaration_no_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3755), 3,
      aux_sym_simple_identifier_token1,
      anon_sym_each,
      anon_sym_repeat,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(5496), 4,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(5485), 6,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(5488), 35,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_macro,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
  [14907] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5677), 1,
      anon_sym_self,
    STATE(2113), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(3153), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3155), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [14980] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5701), 1,
      anon_sym_BANG,
    ACTIONS(5704), 1,
      anon_sym_LBRACK,
    ACTIONS(5707), 1,
      anon_sym_QMARK,
    ACTIONS(5710), 1,
      anon_sym_self,
    ACTIONS(5713), 1,
      sym__bang_custom,
    STATE(2113), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(3169), 10,
      anon_sym_DOT,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3164), 40,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [15061] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3091), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3093), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [15130] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(2103), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3028), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3030), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [15201] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5716), 1,
      sym__dot_custom,
    STATE(2117), 1,
      aux_sym_user_type_repeat1,
    STATE(5365), 1,
      sym__dot,
    ACTIONS(3046), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3048), 43,
      sym__arrow_operator_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [15276] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5719), 1,
      sym__dot_custom,
    STATE(2135), 1,
      aux_sym_user_type_repeat1,
    STATE(5365), 1,
      sym__dot,
    ACTIONS(3039), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3041), 43,
      sym__arrow_operator_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [15351] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(2991), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(2993), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [15420] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5722), 1,
      sym__dot_custom,
    STATE(2119), 1,
      aux_sym_user_type_repeat1,
    STATE(5332), 1,
      sym__dot,
    ACTIONS(2991), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(2993), 43,
      sym__arrow_operator_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [15495] = 8,
    ACTIONS(5573), 1,
      anon_sym_LPAREN,
    ACTIONS(5579), 1,
      sym__eq_custom,
    STATE(649), 1,
      sym__equal_sign,
    STATE(2697), 1,
      sym_enum_type_parameters,
    STATE(2793), 1,
      sym__enum_entry_suffix,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5727), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5725), 51,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_SEMI,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [15572] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3105), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3107), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [15641] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5729), 1,
      sym__dot_custom,
    STATE(2147), 1,
      aux_sym_user_type_repeat1,
    STATE(5332), 1,
      sym__dot,
    ACTIONS(3046), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3048), 43,
      sym__arrow_operator_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [15716] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5734), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5732), 56,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [15783] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3186), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3188), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [15852] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5738), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5736), 56,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [15919] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5475), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5471), 56,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [15986] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5742), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5740), 56,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [16053] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3129), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3131), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [16122] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3190), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3192), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [16191] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3202), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3204), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [16260] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5436), 1,
      anon_sym_QMARK2,
    STATE(2115), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(2998), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3000), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [16333] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3137), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3139), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [16402] = 8,
    ACTIONS(5746), 1,
      anon_sym_lazy,
    ACTIONS(5749), 1,
      anon_sym_AT,
    ACTIONS(5752), 1,
      anon_sym_final,
    ACTIONS(5758), 1,
      anon_sym_unowned,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5755), 3,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    STATE(2133), 6,
      sym_attribute,
      aux_sym__locally_permitted_modifiers,
      sym__locally_permitted_modifier,
      sym_property_behavior_modifier,
      sym_inheritance_modifier,
      sym_ownership_modifier,
    ACTIONS(5744), 45,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_package,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_macro,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_borrowing,
      anon_sym_consuming,
  [16479] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3125), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3127), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [16548] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5761), 1,
      sym__dot_custom,
    STATE(2135), 1,
      aux_sym_user_type_repeat1,
    STATE(5365), 1,
      sym__dot,
    ACTIONS(2991), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(2993), 43,
      sym__arrow_operator_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [16623] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3180), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3182), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [16692] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5764), 1,
      anon_sym_LT,
    STATE(2192), 1,
      sym_type_arguments,
    ACTIONS(3081), 11,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3083), 46,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [16763] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3133), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3135), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [16832] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3113), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3115), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [16901] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3109), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3111), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [16970] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3081), 1,
      anon_sym_DOT,
    ACTIONS(5766), 1,
      anon_sym_COMMA,
    ACTIONS(5769), 1,
      anon_sym_RBRACK,
    ACTIONS(5773), 1,
      anon_sym_LT,
    ACTIONS(5776), 1,
      sym__eq_custom,
    STATE(690), 1,
      sym__equal_sign,
    STATE(5146), 1,
      sym_type_arguments,
    ACTIONS(3083), 4,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
    ACTIONS(3307), 7,
      sym__dot_custom,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3303), 10,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3305), 30,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_LBRACK,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [17057] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5452), 1,
      anon_sym_QMARK2,
    STATE(2146), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(2998), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3000), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [17130] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5781), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5779), 56,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [17197] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(2095), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(3233), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3235), 45,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [17268] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3198), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3200), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [17337] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(2149), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3028), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3030), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [17408] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5783), 1,
      sym__dot_custom,
    STATE(2119), 1,
      aux_sym_user_type_repeat1,
    STATE(5332), 1,
      sym__dot,
    ACTIONS(3039), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3041), 43,
      sym__arrow_operator_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [17483] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5786), 1,
      anon_sym_AMP,
    STATE(2148), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(3077), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3079), 45,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [17554] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5789), 1,
      anon_sym_QMARK2,
    STATE(2149), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3032), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3034), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [17627] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5511), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5509), 56,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [17694] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2991), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(2993), 46,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [17760] = 5,
    ACTIONS(5792), 1,
      anon_sym_LT,
    STATE(2364), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3083), 11,
      sym__dot_custom,
      sym_default_keyword,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(3081), 44,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [17830] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5794), 1,
      anon_sym_BANG,
    ACTIONS(5797), 1,
      anon_sym_LBRACK,
    ACTIONS(5800), 1,
      anon_sym_QMARK,
    ACTIONS(5803), 1,
      anon_sym_self,
    ACTIONS(5806), 1,
      sym__bang_custom,
    STATE(2153), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(3169), 10,
      anon_sym_DOT,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3164), 40,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [17908] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5809), 1,
      anon_sym_self,
    STATE(2153), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(3153), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3155), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [17978] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3117), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3119), 46,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [18044] = 6,
    ACTIONS(5811), 1,
      sym__dot_custom,
    STATE(2182), 1,
      aux_sym_user_type_repeat1,
    STATE(5470), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3041), 10,
      sym_default_keyword,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(3039), 44,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [18116] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5813), 1,
      anon_sym_AMP,
    STATE(2157), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(3077), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3079), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [18188] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3141), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3143), 46,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [18254] = 6,
    ACTIONS(5811), 1,
      sym__dot_custom,
    STATE(2156), 1,
      aux_sym_user_type_repeat1,
    STATE(5470), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3048), 10,
      sym_default_keyword,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(3046), 44,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [18326] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3180), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3182), 46,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [18392] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3149), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3151), 46,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [18458] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3095), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3097), 46,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [18524] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3121), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3123), 46,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [18590] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5516), 1,
      anon_sym_QMARK2,
    STATE(2166), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(2998), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3000), 42,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [18662] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(2157), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(3233), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3235), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [18732] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(2172), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3028), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3030), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [18802] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3202), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3204), 55,
      sym__eq_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_LT,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_SEMI,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [18868] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5809), 1,
      anon_sym_self,
    STATE(2153), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(3099), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3101), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [18938] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5816), 1,
      anon_sym_self,
    STATE(2154), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(3099), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3101), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [19008] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5818), 1,
      sym__dot_custom,
    STATE(2208), 1,
      aux_sym_user_type_repeat1,
    STATE(5374), 1,
      sym__dot,
    ACTIONS(3046), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3048), 42,
      sym__arrow_operator_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [19082] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3186), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3188), 46,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [19148] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5821), 1,
      anon_sym_QMARK2,
    STATE(2172), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3032), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3034), 42,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [19220] = 6,
    ACTIONS(5824), 1,
      sym__dot_custom,
    STATE(2173), 1,
      aux_sym_user_type_repeat1,
    STATE(5430), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 9,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(2991), 45,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [19292] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3129), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3131), 46,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [19358] = 4,
    ACTIONS(5831), 1,
      sym__as_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5829), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5827), 54,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [19426] = 6,
    ACTIONS(5833), 1,
      sym__dot_custom,
    STATE(2177), 1,
      aux_sym_user_type_repeat1,
    STATE(5430), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3048), 9,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(3046), 45,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [19498] = 6,
    ACTIONS(5833), 1,
      sym__dot_custom,
    STATE(2173), 1,
      aux_sym_user_type_repeat1,
    STATE(5430), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3041), 9,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(3039), 45,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [19570] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5835), 1,
      anon_sym_LT,
    STATE(2233), 1,
      sym_type_arguments,
    ACTIONS(3081), 11,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3083), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [19642] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3190), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3192), 46,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [19708] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3137), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3139), 46,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [19774] = 4,
    ACTIONS(5839), 1,
      anon_sym_BANG2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5841), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5837), 54,
      sym__eq_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_DOT_DOT_DOT,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [19842] = 6,
    ACTIONS(5843), 1,
      sym__dot_custom,
    STATE(2182), 1,
      aux_sym_user_type_repeat1,
    STATE(5470), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 10,
      sym_default_keyword,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(2991), 44,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [19914] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5848), 6,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_in,
    ACTIONS(5846), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(5850), 40,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [19984] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3113), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3115), 46,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [20050] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3109), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3111), 46,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [20116] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5773), 1,
      anon_sym_LT,
    STATE(5146), 1,
      sym_type_arguments,
    ACTIONS(3081), 2,
      anon_sym_BANG2,
      anon_sym_DOT,
    ACTIONS(3083), 4,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
    ACTIONS(3307), 8,
      sym__dot_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3303), 10,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3305), 31,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_LBRACK,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [20194] = 5,
    ACTIONS(5852), 1,
      anon_sym_LT,
    STATE(2351), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3083), 10,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(3081), 45,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [20264] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5854), 1,
      sym__dot_custom,
    STATE(2188), 1,
      aux_sym_user_type_repeat1,
    STATE(5374), 1,
      sym__dot,
    ACTIONS(2991), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(2993), 42,
      sym__arrow_operator_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [20338] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3081), 1,
      anon_sym_DOT,
    ACTIONS(5773), 1,
      anon_sym_LT,
    STATE(5146), 1,
      sym_type_arguments,
    ACTIONS(3083), 4,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
    ACTIONS(3307), 8,
      sym__dot_custom,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3303), 10,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3305), 32,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LBRACK,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [20416] = 11,
    ACTIONS(5857), 1,
      anon_sym_QMARK2,
    ACTIONS(5859), 1,
      sym__arrow_operator_custom,
    ACTIONS(5861), 1,
      sym__async_keyword_custom,
    STATE(4447), 1,
      sym__arrow_operator,
    STATE(6922), 1,
      sym__async_keyword,
    STATE(8458), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(2583), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(2998), 3,
      anon_sym_QMARK,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3000), 44,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [20498] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5865), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5863), 55,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [20564] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3194), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3196), 46,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [20630] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3081), 1,
      anon_sym_DOT,
    ACTIONS(5773), 1,
      anon_sym_LT,
    ACTIONS(5867), 1,
      anon_sym_COLON,
    STATE(5146), 1,
      sym_type_arguments,
    ACTIONS(3083), 4,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
    ACTIONS(3307), 8,
      sym__dot_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3303), 10,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3305), 31,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_LBRACK,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [20710] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5871), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5869), 55,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [20776] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(2206), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(3233), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3235), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [20846] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3157), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3159), 46,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [20912] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5875), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5873), 55,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [20978] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3105), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3107), 46,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [21044] = 4,
    ACTIONS(5881), 1,
      sym__as_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5879), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5877), 54,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [21112] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5883), 1,
      anon_sym_LT,
    STATE(2235), 1,
      sym_type_arguments,
    ACTIONS(3081), 11,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3083), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [21184] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3202), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3204), 46,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [21250] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3125), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3127), 46,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [21316] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5887), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5885), 55,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [21382] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5891), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5889), 55,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [21448] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3133), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3135), 46,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [21514] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5893), 1,
      anon_sym_AMP,
    STATE(2206), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(3077), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3079), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [21586] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3145), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3147), 46,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [21652] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5896), 1,
      sym__dot_custom,
    STATE(2188), 1,
      aux_sym_user_type_repeat1,
    STATE(5374), 1,
      sym__dot,
    ACTIONS(3039), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3041), 42,
      sym__arrow_operator_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [21726] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3091), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3093), 46,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [21792] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3461), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3463), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_in,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [21860] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3198), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3200), 46,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [21926] = 8,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2420), 1,
      sym_type_constraints,
    STATE(3068), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5901), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5899), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [22001] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5903), 1,
      anon_sym_self,
    STATE(2314), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(3153), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3155), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [22072] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3137), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3139), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [22139] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3129), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3131), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [22206] = 8,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2494), 1,
      sym_type_constraints,
    STATE(3201), 1,
      sym__block,
    STATE(3443), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5907), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5905), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [22281] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3186), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3188), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [22348] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3149), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3151), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [22415] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3095), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3097), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [22482] = 8,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2497), 1,
      sym_type_constraints,
    STATE(3201), 1,
      sym__block,
    STATE(3447), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5556), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5554), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [22557] = 8,
    ACTIONS(5345), 1,
      sym_where_keyword,
    ACTIONS(5911), 1,
      anon_sym_COLON,
    ACTIONS(5915), 1,
      sym__eq_custom,
    STATE(2667), 1,
      sym_type_constraints,
    STATE(4221), 1,
      sym__equal_sign,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5913), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5909), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [22632] = 8,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2499), 1,
      sym_type_constraints,
    STATE(3201), 1,
      sym__block,
    STATE(3453), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5556), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5554), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [22707] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3121), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3123), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [22774] = 19,
    ACTIONS(623), 1,
      anon_sym_QMARK,
    ACTIONS(5921), 1,
      anon_sym_each,
    ACTIONS(5923), 1,
      anon_sym_repeat,
    ACTIONS(5925), 1,
      anon_sym_LPAREN,
    ACTIONS(5927), 1,
      anon_sym_LBRACK,
    ACTIONS(5929), 1,
      anon_sym_some,
    ACTIONS(5931), 1,
      anon_sym_any,
    ACTIONS(5933), 1,
      anon_sym_TILDE,
    STATE(4967), 1,
      sym_tuple_type,
    STATE(4996), 1,
      sym__simple_user_type,
    STATE(5011), 1,
      sym_simple_identifier,
    STATE(5191), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5013), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(5919), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5021), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(5917), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5007), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 19,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [22871] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5935), 2,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
    STATE(4889), 2,
      sym__conjunction_operator,
      sym__disjunction_operator,
    ACTIONS(3275), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3277), 41,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [22942] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5937), 1,
      anon_sym_self,
    STATE(2245), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(3099), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3101), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [23013] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3091), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3093), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [23080] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3198), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3200), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [23147] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(2991), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(2993), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [23214] = 8,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2508), 1,
      sym_type_constraints,
    STATE(3201), 1,
      sym__block,
    STATE(3510), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5560), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5558), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [23289] = 8,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2450), 1,
      sym_type_constraints,
    STATE(3082), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5564), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5562), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [23364] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3180), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3182), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [23431] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3194), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3196), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [23498] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3190), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3192), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [23565] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3194), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3196), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [23632] = 8,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2449), 1,
      sym_type_constraints,
    STATE(3201), 1,
      sym__block,
    STATE(3202), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5941), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5939), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [23707] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 12,
      sym__dot_custom,
      sym_default_keyword,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_LT,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(3202), 44,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [23772] = 8,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2447), 1,
      sym_type_constraints,
    STATE(3196), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5941), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5939), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [23847] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3202), 13,
      anon_sym_BANG,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3204), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [23914] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3202), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3204), 44,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_self,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [23981] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3202), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3204), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [24048] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5943), 1,
      anon_sym_self,
    STATE(2274), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(3099), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3101), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [24119] = 8,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2457), 1,
      sym_type_constraints,
    STATE(3201), 1,
      sym__block,
    STATE(3223), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5550), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5548), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [24194] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3202), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3204), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [24261] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5945), 1,
      anon_sym_BANG,
    ACTIONS(5948), 1,
      anon_sym_LBRACK,
    ACTIONS(5951), 1,
      anon_sym_QMARK,
    ACTIONS(5954), 1,
      anon_sym_self,
    ACTIONS(5957), 1,
      sym__bang_custom,
    STATE(2245), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(3169), 10,
      anon_sym_DOT,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3164), 38,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [24340] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(2661), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(2663), 44,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_self,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [24407] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3279), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3281), 44,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_self,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [24474] = 8,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2443), 1,
      sym_type_constraints,
    STATE(3162), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5962), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5960), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [24549] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 11,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_LT,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(3202), 45,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [24614] = 8,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2480), 1,
      sym_type_constraints,
    STATE(3201), 1,
      sym__block,
    STATE(3338), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5530), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5528), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [24689] = 8,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2434), 1,
      sym_type_constraints,
    STATE(3133), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5526), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5524), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [24764] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5964), 1,
      anon_sym_LT,
    STATE(2386), 1,
      sym_type_arguments,
    ACTIONS(3081), 11,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3083), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [24835] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3141), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3143), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [24902] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3117), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3119), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [24969] = 8,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2470), 1,
      sym_type_constraints,
    STATE(3201), 1,
      sym__block,
    STATE(3322), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5651), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5649), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [25044] = 4,
    ACTIONS(5966), 1,
      anon_sym_BANG2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5841), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5837), 53,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [25111] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(1702), 1,
      sym_lambda_literal,
    STATE(2608), 1,
      sym__fn_call_lambda_arguments,
    ACTIONS(5968), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3699), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3702), 41,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [25184] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3117), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3119), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [25251] = 8,
    ACTIONS(5345), 1,
      sym_where_keyword,
    ACTIONS(5974), 1,
      anon_sym_COLON,
    ACTIONS(5978), 1,
      sym__eq_custom,
    STATE(2800), 1,
      sym_type_constraints,
    STATE(4269), 1,
      sym__equal_sign,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5976), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5972), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [25326] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3081), 1,
      anon_sym_DOT,
    ACTIONS(5773), 1,
      anon_sym_LT,
    STATE(5146), 1,
      sym_type_arguments,
    ACTIONS(3083), 4,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
    ACTIONS(3307), 8,
      sym__dot_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3303), 10,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3305), 31,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_LBRACK,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [25403] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3157), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3159), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [25470] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(2991), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(2993), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [25537] = 8,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2523), 1,
      sym_type_constraints,
    STATE(3201), 1,
      sym__block,
    STATE(3537), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5605), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5603), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [25612] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5980), 1,
      anon_sym_self,
    STATE(2213), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(3099), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3101), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [25683] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5903), 1,
      anon_sym_self,
    STATE(2314), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(3099), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3101), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [25754] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3145), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3147), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [25821] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(2291), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(3233), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3235), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [25890] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3141), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3143), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [25957] = 8,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2432), 1,
      sym_type_constraints,
    STATE(3123), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5526), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5524), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [26032] = 8,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2431), 1,
      sym_type_constraints,
    STATE(3118), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5984), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5982), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [26107] = 8,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2483), 1,
      sym_type_constraints,
    STATE(3201), 1,
      sym__block,
    STATE(3353), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5530), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5528), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [26182] = 8,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2425), 1,
      sym_type_constraints,
    STATE(3081), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5988), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5986), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [26257] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3260), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3262), 44,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_self,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [26324] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5937), 1,
      anon_sym_self,
    STATE(2245), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(3153), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3155), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [26395] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3198), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3200), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [26462] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3121), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3123), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [26529] = 4,
    ACTIONS(5990), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4975), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(4977), 53,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_macro,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [26596] = 8,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2469), 1,
      sym_type_constraints,
    STATE(3201), 1,
      sym__block,
    STATE(3318), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5994), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5992), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [26671] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3095), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3097), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [26738] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3149), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3151), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [26805] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5935), 2,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
    STATE(4889), 2,
      sym__conjunction_operator,
      sym__disjunction_operator,
    ACTIONS(3252), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3254), 41,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [26876] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3091), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3093), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [26943] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5996), 1,
      anon_sym_LT,
    STATE(2389), 1,
      sym_type_arguments,
    ACTIONS(3081), 11,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3083), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [27014] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3190), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3192), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [27081] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3109), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3111), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [27148] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3180), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3182), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [27215] = 8,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2479), 1,
      sym_type_constraints,
    STATE(3201), 1,
      sym__block,
    STATE(3205), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6000), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5998), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [27290] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3186), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3188), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [27357] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3113), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3115), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [27424] = 8,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2419), 1,
      sym_type_constraints,
    STATE(3064), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5901), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5899), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [27499] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6002), 1,
      anon_sym_AMP,
    STATE(2291), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(3077), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3079), 42,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [27570] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3133), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3135), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [27637] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6005), 1,
      anon_sym_DOT,
    STATE(2293), 1,
      aux_sym_key_path_expression_repeat1,
    ACTIONS(3268), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3270), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [27708] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5129), 1,
      anon_sym_DOT,
    STATE(2293), 1,
      aux_sym_key_path_expression_repeat1,
    ACTIONS(3244), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3246), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [27779] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3129), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3131), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [27846] = 8,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2468), 1,
      sym_type_constraints,
    STATE(3201), 1,
      sym__block,
    STATE(3311), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5994), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5992), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [27921] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3105), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3107), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [27988] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3248), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3250), 44,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_self,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [28055] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3137), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3139), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [28122] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3125), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3127), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [28189] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6010), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6008), 54,
      sym__eq_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_DOT_DOT_DOT,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [28254] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3157), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3159), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [28321] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3145), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3147), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [28388] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3113), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3115), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [28455] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5935), 2,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
    STATE(4889), 2,
      sym__conjunction_operator,
      sym__disjunction_operator,
    ACTIONS(3283), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3285), 41,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [28526] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(1702), 1,
      sym_lambda_literal,
    STATE(2608), 1,
      sym__fn_call_lambda_arguments,
    ACTIONS(6012), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3692), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3694), 41,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [28599] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3105), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3107), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [28666] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(1702), 1,
      sym_lambda_literal,
    STATE(2594), 1,
      sym__fn_call_lambda_arguments,
    ACTIONS(6015), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3685), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3687), 41,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [28739] = 19,
    ACTIONS(623), 1,
      anon_sym_QMARK,
    ACTIONS(5921), 1,
      anon_sym_each,
    ACTIONS(5923), 1,
      anon_sym_repeat,
    ACTIONS(5925), 1,
      anon_sym_LPAREN,
    ACTIONS(5927), 1,
      anon_sym_LBRACK,
    ACTIONS(5929), 1,
      anon_sym_some,
    ACTIONS(5931), 1,
      anon_sym_any,
    ACTIONS(5933), 1,
      anon_sym_TILDE,
    STATE(4967), 1,
      sym_tuple_type,
    STATE(4996), 1,
      sym__simple_user_type,
    STATE(5011), 1,
      sym_simple_identifier,
    STATE(5191), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5013), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(5919), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5021), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(5917), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5004), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 19,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [28836] = 8,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2426), 1,
      sym_type_constraints,
    STATE(3088), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6020), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6018), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [28911] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3125), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3127), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [28978] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3133), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3135), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [29045] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5129), 1,
      anon_sym_DOT,
    STATE(2294), 1,
      aux_sym_key_path_expression_repeat1,
    ACTIONS(3264), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3266), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [29116] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6022), 1,
      anon_sym_BANG,
    ACTIONS(6025), 1,
      anon_sym_LBRACK,
    ACTIONS(6028), 1,
      anon_sym_QMARK,
    ACTIONS(6031), 1,
      anon_sym_self,
    ACTIONS(6034), 1,
      sym__bang_custom,
    STATE(2314), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(3169), 10,
      anon_sym_DOT,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3164), 38,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [29195] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3109), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3111), 44,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [29262] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5129), 1,
      anon_sym_DOT,
    STATE(2293), 1,
      aux_sym_key_path_expression_repeat1,
    ACTIONS(3264), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3266), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [29333] = 8,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(5315), 1,
      sym_where_keyword,
    STATE(2532), 1,
      sym_type_constraints,
    STATE(3061), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5655), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5653), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [29408] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4955), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(4957), 53,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_macro,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [29472] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3113), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3115), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [29538] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5145), 1,
      anon_sym_DOT,
    STATE(2367), 1,
      aux_sym_key_path_expression_repeat1,
    ACTIONS(3264), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3266), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [29608] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5145), 1,
      anon_sym_DOT,
    STATE(2367), 1,
      aux_sym_key_path_expression_repeat1,
    ACTIONS(3244), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3246), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [29678] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3133), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3135), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [29744] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6037), 2,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
    STATE(4865), 2,
      sym__conjunction_operator,
      sym__disjunction_operator,
    ACTIONS(3252), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3254), 40,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [29814] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 11,
      sym__dot_custom,
      sym_default_keyword,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(2991), 44,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [29878] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4971), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(4973), 53,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_macro,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [29942] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6041), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6039), 53,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_macro,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [30006] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3125), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3127), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [30072] = 19,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(623), 1,
      anon_sym_QMARK,
    ACTIONS(6047), 1,
      anon_sym_each,
    ACTIONS(6049), 1,
      anon_sym_repeat,
    ACTIONS(6051), 1,
      anon_sym_LPAREN,
    ACTIONS(6053), 1,
      anon_sym_LBRACK,
    ACTIONS(6055), 1,
      anon_sym_some,
    ACTIONS(6057), 1,
      anon_sym_any,
    ACTIONS(6059), 1,
      anon_sym_TILDE,
    STATE(4980), 1,
      sym_tuple_type,
    STATE(5041), 1,
      sym_simple_identifier,
    STATE(5059), 1,
      sym__simple_user_type,
    STATE(5269), 1,
      sym__parenthesized_type,
    STATE(5098), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6045), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5089), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6043), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5028), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 19,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [30168] = 19,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(623), 1,
      anon_sym_QMARK,
    ACTIONS(6047), 1,
      anon_sym_each,
    ACTIONS(6049), 1,
      anon_sym_repeat,
    ACTIONS(6051), 1,
      anon_sym_LPAREN,
    ACTIONS(6053), 1,
      anon_sym_LBRACK,
    ACTIONS(6055), 1,
      anon_sym_some,
    ACTIONS(6057), 1,
      anon_sym_any,
    ACTIONS(6059), 1,
      anon_sym_TILDE,
    STATE(4980), 1,
      sym_tuple_type,
    STATE(5041), 1,
      sym_simple_identifier,
    STATE(5059), 1,
      sym__simple_user_type,
    STATE(5269), 1,
      sym__parenthesized_type,
    STATE(5098), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6045), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5089), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6043), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5050), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 19,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [30264] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3105), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3107), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [30330] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3310), 1,
      anon_sym_LT,
    STATE(2086), 1,
      sym_type_arguments,
    ACTIONS(3307), 4,
      sym__dot_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3303), 10,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3305), 39,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [30402] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6037), 2,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
    STATE(4865), 2,
      sym__conjunction_operator,
      sym__disjunction_operator,
    ACTIONS(3275), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3277), 40,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [30472] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6061), 1,
      anon_sym_self,
    STATE(2379), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(3099), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3101), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [30542] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6063), 1,
      anon_sym_self,
    STATE(2375), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(3099), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3101), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [30612] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3109), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3111), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [30678] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(1706), 1,
      sym_lambda_literal,
    STATE(2684), 1,
      sym__fn_call_lambda_arguments,
    ACTIONS(6065), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3685), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3687), 40,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [30750] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3091), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3093), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [30816] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3260), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3262), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_self,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [30882] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3137), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3139), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [30948] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3129), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3131), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [31014] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3186), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3188), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [31080] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 10,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(2991), 45,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [31144] = 5,
    ACTIONS(6068), 1,
      anon_sym_LT,
    STATE(2653), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3081), 3,
      anon_sym_QMARK,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3083), 50,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [31212] = 7,
    ACTIONS(5345), 1,
      sym_where_keyword,
    ACTIONS(6074), 1,
      sym__eq_custom,
    STATE(2838), 1,
      sym_type_constraints,
    STATE(4293), 1,
      sym__equal_sign,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6072), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6070), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [31284] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3268), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3270), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [31350] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3145), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3147), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [31416] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3149), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3151), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [31482] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(2991), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(2993), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [31548] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3095), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3097), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [31614] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3121), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3123), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [31680] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3196), 10,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(3194), 45,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [31744] = 6,
    ACTIONS(6076), 1,
      sym__dot_custom,
    STATE(2381), 1,
      aux_sym_user_type_repeat1,
    STATE(5410), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3046), 3,
      anon_sym_QMARK,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3048), 49,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [31814] = 6,
    ACTIONS(6082), 1,
      sym__dot_custom,
    STATE(2356), 1,
      aux_sym_identifier_repeat1,
    STATE(5556), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6080), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6078), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      sym_integer_literal,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [31884] = 7,
    STATE(3041), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4447), 1,
      sym__arrow_operator,
    STATE(6922), 1,
      sym__async_keyword,
    STATE(8458), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3087), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3089), 49,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [31956] = 5,
    ACTIONS(6086), 1,
      anon_sym_COMMA,
    STATE(2378), 1,
      aux_sym_type_constraints_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6088), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6084), 51,
      sym__eq_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [32024] = 6,
    ACTIONS(6094), 1,
      sym__dot_custom,
    STATE(2356), 1,
      aux_sym_identifier_repeat1,
    STATE(5556), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6092), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6090), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      sym_integer_literal,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [32094] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3313), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3315), 44,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [32160] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3202), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3204), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [32226] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3279), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3281), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_self,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [32292] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3293), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3295), 44,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [32358] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2661), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(2663), 53,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [32422] = 12,
    ACTIONS(5859), 1,
      sym__arrow_operator_custom,
    ACTIONS(5861), 1,
      sym__async_keyword_custom,
    ACTIONS(6097), 1,
      anon_sym_DOT,
    ACTIONS(6099), 1,
      anon_sym_AMP,
    STATE(3041), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4447), 1,
      sym__arrow_operator,
    STATE(6922), 1,
      sym__async_keyword,
    STATE(8458), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3077), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3079), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [32504] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3117), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3119), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [32570] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3196), 11,
      sym__dot_custom,
      sym_default_keyword,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(3194), 44,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [32634] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3141), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3143), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [32700] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6101), 1,
      sym_else,
    ACTIONS(3297), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3299), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [32768] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6103), 1,
      anon_sym_DOT,
    STATE(2367), 1,
      aux_sym_key_path_expression_repeat1,
    ACTIONS(3268), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3270), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [32838] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3202), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3204), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_self,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [32904] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3200), 11,
      sym__dot_custom,
      sym_default_keyword,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(3198), 44,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [32968] = 11,
    ACTIONS(6106), 1,
      anon_sym_QMARK2,
    ACTIONS(6108), 1,
      sym__arrow_operator_custom,
    ACTIONS(6110), 1,
      sym__async_keyword_custom,
    STATE(4325), 1,
      sym__arrow_operator,
    STATE(6903), 1,
      sym__async_keyword,
    STATE(8410), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2998), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(2952), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [33048] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3135), 11,
      sym__dot_custom,
      sym_default_keyword,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(3133), 44,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [33112] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3127), 11,
      sym__dot_custom,
      sym_default_keyword,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(3125), 44,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [33176] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6037), 2,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
    STATE(4865), 2,
      sym__conjunction_operator,
      sym__disjunction_operator,
    ACTIONS(3283), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3285), 40,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [33246] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3180), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3182), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [33312] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6061), 1,
      anon_sym_self,
    STATE(2379), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(3153), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3155), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [33382] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3107), 11,
      sym__dot_custom,
      sym_default_keyword,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(3105), 44,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [33446] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6114), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6112), 53,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [33510] = 5,
    ACTIONS(6116), 1,
      anon_sym_COMMA,
    STATE(2380), 1,
      aux_sym_type_constraints_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4081), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(4079), 51,
      sym__eq_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [33578] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6118), 1,
      anon_sym_BANG,
    ACTIONS(6121), 1,
      anon_sym_LBRACK,
    ACTIONS(6124), 1,
      anon_sym_QMARK,
    ACTIONS(6127), 1,
      anon_sym_self,
    ACTIONS(6130), 1,
      sym__bang_custom,
    STATE(2379), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(3169), 10,
      anon_sym_DOT,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3164), 37,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [33656] = 5,
    ACTIONS(6135), 1,
      anon_sym_COMMA,
    STATE(2380), 1,
      aux_sym_type_constraints_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6138), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6133), 51,
      sym__eq_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [33724] = 6,
    ACTIONS(6076), 1,
      sym__dot_custom,
    STATE(2396), 1,
      aux_sym_user_type_repeat1,
    STATE(5410), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3039), 3,
      anon_sym_QMARK,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3041), 49,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [33794] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3190), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3192), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [33860] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6140), 1,
      sym_else,
    ACTIONS(3287), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3289), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [33928] = 7,
    STATE(3041), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4447), 1,
      sym__arrow_operator,
    STATE(6922), 1,
      sym__async_keyword,
    STATE(8458), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3069), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3071), 49,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [34000] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6142), 1,
      anon_sym_LT,
    STATE(2633), 1,
      sym_type_arguments,
    ACTIONS(3081), 11,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3083), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [34070] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3194), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3196), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [34136] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(4311), 2,
      anon_sym_let,
      anon_sym_var,
    ACTIONS(623), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(617), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [34204] = 7,
    ACTIONS(5345), 1,
      sym_where_keyword,
    ACTIONS(6148), 1,
      sym__eq_custom,
    STATE(2728), 1,
      sym_type_constraints,
    STATE(4346), 1,
      sym__equal_sign,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6146), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6144), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [34276] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3194), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3196), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [34342] = 6,
    ACTIONS(6082), 1,
      sym__dot_custom,
    STATE(2353), 1,
      aux_sym_identifier_repeat1,
    STATE(5556), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6152), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6150), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      sym_integer_literal,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [34412] = 12,
    ACTIONS(5859), 1,
      sym__arrow_operator_custom,
    ACTIONS(5861), 1,
      sym__async_keyword_custom,
    ACTIONS(6097), 1,
      anon_sym_DOT,
    ACTIONS(6099), 1,
      anon_sym_AMP,
    STATE(3041), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4447), 1,
      sym__arrow_operator,
    STATE(6922), 1,
      sym__async_keyword,
    STATE(8458), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3065), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3067), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [34494] = 12,
    ACTIONS(5859), 1,
      sym__arrow_operator_custom,
    ACTIONS(5861), 1,
      sym__async_keyword_custom,
    ACTIONS(6097), 1,
      anon_sym_DOT,
    ACTIONS(6099), 1,
      anon_sym_AMP,
    STATE(3041), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4447), 1,
      sym__arrow_operator,
    STATE(6922), 1,
      sym__async_keyword,
    STATE(8458), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3053), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3055), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [34576] = 12,
    ACTIONS(5859), 1,
      sym__arrow_operator_custom,
    ACTIONS(5861), 1,
      sym__async_keyword_custom,
    ACTIONS(6097), 1,
      anon_sym_DOT,
    ACTIONS(6099), 1,
      anon_sym_AMP,
    STATE(3041), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4447), 1,
      sym__arrow_operator,
    STATE(6922), 1,
      sym__async_keyword,
    STATE(8458), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3061), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3063), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [34658] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3157), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3159), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [34724] = 12,
    ACTIONS(5859), 1,
      sym__arrow_operator_custom,
    ACTIONS(5861), 1,
      sym__async_keyword_custom,
    ACTIONS(6097), 1,
      anon_sym_DOT,
    ACTIONS(6099), 1,
      anon_sym_AMP,
    STATE(3041), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4447), 1,
      sym__arrow_operator,
    STATE(6922), 1,
      sym__async_keyword,
    STATE(8458), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3073), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3075), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [34806] = 6,
    ACTIONS(6154), 1,
      sym__dot_custom,
    STATE(2396), 1,
      aux_sym_user_type_repeat1,
    STATE(5410), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2991), 3,
      anon_sym_QMARK,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(2993), 49,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [34876] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6010), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6008), 53,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [34940] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3107), 10,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(3105), 45,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [35004] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(1706), 1,
      sym_lambda_literal,
    STATE(2699), 1,
      sym__fn_call_lambda_arguments,
    ACTIONS(6157), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3692), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3694), 40,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [35076] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3127), 10,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(3125), 45,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [35140] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5145), 1,
      anon_sym_DOT,
    STATE(2321), 1,
      aux_sym_key_path_expression_repeat1,
    ACTIONS(3264), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3266), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [35210] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2657), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(2659), 53,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [35274] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3135), 10,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(3133), 45,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [35338] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3248), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3250), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_self,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [35404] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3198), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3200), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [35470] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3091), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3093), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [35536] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4992), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(4994), 53,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_macro,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [35600] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3133), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3135), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [35666] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3125), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3127), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [35732] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3198), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3200), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [35798] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(1706), 1,
      sym_lambda_literal,
    STATE(2699), 1,
      sym__fn_call_lambda_arguments,
    ACTIONS(6160), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3699), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3702), 40,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [35870] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3157), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3159), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [35936] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3105), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3107), 43,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__async_keyword_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [36002] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(2661), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(2663), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_self,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [36068] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3200), 10,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(3198), 45,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [36132] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3190), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3192), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [36197] = 6,
    ACTIONS(5571), 1,
      anon_sym_COMMA,
    ACTIONS(6166), 1,
      anon_sym_SEMI,
    STATE(2466), 1,
      aux_sym_enum_entry_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6168), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6164), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [36266] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3080), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5988), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5986), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [36335] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3084), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6172), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6170), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [36404] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3085), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6172), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6170), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [36473] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3601), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3603), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [36538] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3219), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3221), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [36603] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6176), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6174), 52,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [36666] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6180), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6178), 52,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [36729] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3089), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6184), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6182), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [36798] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3078), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6188), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6186), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [36867] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4994), 9,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(4992), 45,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [36930] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4957), 9,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(4955), 45,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [36993] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4973), 9,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(4971), 45,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [37056] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6190), 1,
      anon_sym_LT,
    STATE(2726), 1,
      sym_type_arguments,
    ACTIONS(3081), 11,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3083), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [37123] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3071), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6194), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6192), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [37192] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3070), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5901), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5899), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [37261] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3067), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5901), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5899), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [37330] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3066), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5901), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5899), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [37399] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3213), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3215), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [37464] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3225), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3227), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [37529] = 6,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6205), 4,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(6196), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_each,
      anon_sym_repeat,
      anon_sym_in,
      anon_sym_self,
    ACTIONS(6198), 5,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
    ACTIONS(6200), 7,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_AT,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(6203), 33,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
  [37598] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3063), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5901), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5899), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [37667] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3069), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5655), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5653), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [37736] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3202), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3204), 52,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COLON,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [37799] = 6,
    ACTIONS(5571), 1,
      anon_sym_COMMA,
    ACTIONS(6209), 1,
      anon_sym_SEMI,
    STATE(2466), 1,
      aux_sym_enum_entry_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6211), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6207), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [37868] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3237), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3239), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [37933] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3075), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6215), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6213), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [38002] = 6,
    ACTIONS(5571), 1,
      anon_sym_COMMA,
    ACTIONS(6219), 1,
      anon_sym_SEMI,
    STATE(2463), 1,
      aux_sym_enum_entry_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6221), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6217), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [38071] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3202), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3204), 43,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_self,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [38134] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3202), 3,
      anon_sym_QMARK,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3204), 51,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [38197] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3065), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6225), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6223), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [38266] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3105), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3107), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [38331] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3086), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6225), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6223), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [38400] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3087), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6020), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6018), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [38469] = 4,
    ACTIONS(6227), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4977), 8,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LBRACK,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(4975), 45,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [38534] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3095), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6020), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6018), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [38603] = 5,
    ACTIONS(6230), 1,
      anon_sym_COMMA,
    STATE(2460), 1,
      aux_sym_type_constraints_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6088), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6084), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [38670] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6232), 2,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
    STATE(4904), 2,
      sym__conjunction_operator,
      sym__disjunction_operator,
    ACTIONS(3252), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3254), 40,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [38737] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6236), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6234), 52,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [38800] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6240), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6238), 52,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [38863] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3117), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5984), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5982), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [38932] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6138), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6133), 52,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [38995] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3122), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5984), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5982), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [39064] = 5,
    ACTIONS(6242), 1,
      anon_sym_COMMA,
    STATE(2464), 1,
      aux_sym_type_constraints_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4081), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(4079), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [39131] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3132), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5526), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5524), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [39200] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3310), 1,
      anon_sym_LT,
    STATE(2086), 1,
      sym_type_arguments,
    ACTIONS(3307), 4,
      sym__dot_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3303), 10,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3305), 38,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [39271] = 6,
    ACTIONS(5571), 1,
      anon_sym_COMMA,
    ACTIONS(6246), 1,
      anon_sym_SEMI,
    STATE(2466), 1,
      aux_sym_enum_entry_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6248), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6244), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [39340] = 5,
    ACTIONS(6250), 1,
      anon_sym_COMMA,
    STATE(2464), 1,
      aux_sym_type_constraints_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6138), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6133), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [39407] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3143), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5526), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5524), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [39476] = 5,
    ACTIONS(6255), 1,
      anon_sym_COMMA,
    STATE(2466), 1,
      aux_sym_enum_entry_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6258), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6253), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_SEMI,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [39543] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3461), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3463), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [39608] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3153), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6262), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6260), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [39677] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3157), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6262), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6260), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [39746] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3158), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5962), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5960), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [39815] = 6,
    ACTIONS(5571), 1,
      anon_sym_COMMA,
    ACTIONS(6266), 1,
      anon_sym_SEMI,
    STATE(2492), 1,
      aux_sym_enum_entry_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6268), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6264), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [39884] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3275), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3277), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [39949] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3409), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3411), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [40014] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3165), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5962), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5960), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [40083] = 4,
    ACTIONS(6270), 1,
      anon_sym_BANG2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5841), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5837), 51,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [40148] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4994), 10,
      sym_default_keyword,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(4992), 44,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [40211] = 6,
    ACTIONS(5571), 1,
      anon_sym_COMMA,
    ACTIONS(6274), 1,
      anon_sym_SEMI,
    STATE(2466), 1,
      aux_sym_enum_entry_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6276), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6272), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [40280] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4957), 10,
      sym_default_keyword,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(4955), 44,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [40343] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3194), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6280), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6278), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [40412] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3195), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5941), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5939), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [40481] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3197), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5941), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5939), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [40550] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3279), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3281), 43,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_self,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [40613] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3198), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5941), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5939), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [40682] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3201), 1,
      sym__block,
    STATE(3204), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5941), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5939), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [40751] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3201), 1,
      sym__block,
    STATE(3210), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5564), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5562), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [40820] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4973), 10,
      sym_default_keyword,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(4971), 44,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [40883] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3248), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3250), 43,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_self,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [40946] = 6,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1720), 1,
      sym_lambda_literal,
    STATE(2854), 1,
      sym__fn_call_lambda_arguments,
    ACTIONS(6282), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3699), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3702), 40,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [41015] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3201), 1,
      sym__block,
    STATE(3231), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5550), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5548), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [41084] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3449), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3451), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [41149] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3125), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3127), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [41214] = 6,
    ACTIONS(5571), 1,
      anon_sym_COMMA,
    ACTIONS(6288), 1,
      anon_sym_SEMI,
    STATE(2466), 1,
      aux_sym_enum_entry_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6290), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6286), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [41283] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3133), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3135), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [41348] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3201), 1,
      sym__block,
    STATE(3302), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6294), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6292), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [41417] = 18,
    ACTIONS(6300), 1,
      anon_sym_each,
    ACTIONS(6302), 1,
      anon_sym_repeat,
    ACTIONS(6304), 1,
      anon_sym_LPAREN,
    ACTIONS(6306), 1,
      anon_sym_LBRACK,
    ACTIONS(6308), 1,
      anon_sym_some,
    ACTIONS(6310), 1,
      anon_sym_any,
    ACTIONS(6312), 1,
      anon_sym_TILDE,
    STATE(5009), 1,
      sym_tuple_type,
    STATE(5100), 1,
      sym__simple_user_type,
    STATE(5104), 1,
      sym_simple_identifier,
    STATE(5491), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5151), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6298), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5140), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6296), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5108), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 18,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [41510] = 18,
    ACTIONS(6300), 1,
      anon_sym_each,
    ACTIONS(6302), 1,
      anon_sym_repeat,
    ACTIONS(6304), 1,
      anon_sym_LPAREN,
    ACTIONS(6306), 1,
      anon_sym_LBRACK,
    ACTIONS(6308), 1,
      anon_sym_some,
    ACTIONS(6310), 1,
      anon_sym_any,
    ACTIONS(6312), 1,
      anon_sym_TILDE,
    STATE(5009), 1,
      sym_tuple_type,
    STATE(5100), 1,
      sym__simple_user_type,
    STATE(5104), 1,
      sym_simple_identifier,
    STATE(5491), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5151), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6298), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5140), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6296), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5115), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 18,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [41603] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3201), 1,
      sym__block,
    STATE(3306), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5994), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5992), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [41672] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3201), 1,
      sym__block,
    STATE(3312), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5994), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5992), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [41741] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3201), 1,
      sym__block,
    STATE(3313), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5994), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5992), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [41810] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3260), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3262), 43,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_self,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [41873] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3201), 1,
      sym__block,
    STATE(3321), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5994), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5992), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [41942] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3445), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3447), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [42007] = 6,
    ACTIONS(5571), 1,
      anon_sym_COMMA,
    ACTIONS(6316), 1,
      anon_sym_SEMI,
    STATE(2417), 1,
      aux_sym_enum_entry_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6318), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6314), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [42076] = 6,
    ACTIONS(5571), 1,
      anon_sym_COMMA,
    ACTIONS(6322), 1,
      anon_sym_SEMI,
    STATE(2466), 1,
      aux_sym_enum_entry_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6324), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6320), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [42145] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3437), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3439), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [42210] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3201), 1,
      sym__block,
    STATE(3324), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5651), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5649), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [42279] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3091), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3093), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [42344] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3201), 1,
      sym__block,
    STATE(3332), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6000), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5998), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [42413] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3201), 1,
      sym__block,
    STATE(3339), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6000), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5998), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [42482] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3397), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3399), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [42547] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3201), 1,
      sym__block,
    STATE(3352), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5530), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5528), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [42616] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3313), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3315), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [42681] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3201), 1,
      sym__block,
    STATE(3356), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5530), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5528), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [42750] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3293), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3295), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [42815] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6326), 1,
      sym_else,
    ACTIONS(3297), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3299), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [42882] = 11,
    ACTIONS(6328), 1,
      anon_sym_QMARK2,
    ACTIONS(6330), 1,
      sym__arrow_operator_custom,
    ACTIONS(6332), 1,
      sym__async_keyword_custom,
    STATE(4126), 1,
      sym__arrow_operator,
    STATE(6896), 1,
      sym__async_keyword,
    STATE(8373), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2998), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(3525), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [42961] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2661), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(2663), 43,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_self,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [43024] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(973), 1,
      sym__fn_call_lambda_arguments,
    STATE(1721), 1,
      sym_lambda_literal,
    ACTIONS(6334), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3699), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3702), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [43095] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6338), 1,
      anon_sym_DOT,
    STATE(2519), 1,
      aux_sym_key_path_expression_repeat1,
    ACTIONS(3268), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3270), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [43162] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6341), 1,
      anon_sym_while,
    ACTIONS(6343), 1,
      sym__implicit_semi,
    STATE(7632), 1,
      aux_sym_repeat_while_statement_repeat1,
    ACTIONS(3219), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3221), 40,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [43233] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5152), 1,
      anon_sym_DOT,
    STATE(2519), 1,
      aux_sym_key_path_expression_repeat1,
    ACTIONS(3244), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3246), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [43300] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3268), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3270), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [43365] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3201), 1,
      sym__block,
    STATE(3442), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5907), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5905), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [43434] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3201), 1,
      sym__block,
    STATE(3445), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5907), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5905), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [43503] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6345), 1,
      anon_sym_while,
    ACTIONS(6347), 1,
      sym__implicit_semi,
    STATE(8070), 1,
      aux_sym_repeat_while_statement_repeat1,
    ACTIONS(3225), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3227), 40,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [43574] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3198), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3200), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [43639] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3201), 1,
      sym__block,
    STATE(3452), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5556), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5554), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [43708] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3201), 1,
      sym__block,
    STATE(3344), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5556), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5554), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [43777] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6351), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6349), 52,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [43840] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3201), 1,
      sym__block,
    STATE(3515), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5560), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5558), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [43909] = 6,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1720), 1,
      sym_lambda_literal,
    STATE(2854), 1,
      sym__fn_call_lambda_arguments,
    ACTIONS(6353), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3692), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3694), 40,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [43978] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3083), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5988), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5986), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [44047] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3485), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3487), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [44112] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3293), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3295), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [44177] = 6,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1720), 1,
      sym_lambda_literal,
    STATE(2950), 1,
      sym__fn_call_lambda_arguments,
    ACTIONS(6356), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3685), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3687), 40,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [44246] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3457), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3459), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [44311] = 4,
    ACTIONS(6359), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4977), 9,
      sym_default_keyword,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LBRACK,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(4975), 44,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [44376] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6232), 2,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
    STATE(4904), 2,
      sym__conjunction_operator,
      sym__disjunction_operator,
    ACTIONS(3275), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3277), 40,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [44443] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3413), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3415), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [44508] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5152), 1,
      anon_sym_DOT,
    STATE(2519), 1,
      aux_sym_key_path_expression_repeat1,
    ACTIONS(3264), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3266), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [44575] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3385), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3387), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [44640] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3417), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3419), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [44705] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3317), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3319), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [44770] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5152), 1,
      anon_sym_DOT,
    STATE(2521), 1,
      aux_sym_key_path_expression_repeat1,
    ACTIONS(3264), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3266), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [44837] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6362), 1,
      sym_else,
    ACTIONS(3287), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3289), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [44904] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3377), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3379), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [44969] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3433), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3435), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [45034] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3553), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3555), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [45099] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3373), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3375), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [45164] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3369), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3371), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [45229] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3365), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3367), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [45294] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3549), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3551), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [45359] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3361), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3363), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [45424] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3357), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3359), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [45489] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3351), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3354), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [45554] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3465), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3467), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [45619] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3345), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3348), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [45684] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(2781), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(2779), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [45749] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3335), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3338), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [45814] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3325), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3328), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [45879] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3489), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3491), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [45944] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(447), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(469), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [46009] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3401), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3403), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [46074] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3501), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3503), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [46139] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3331), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3333), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [46204] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3533), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3535), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [46269] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3593), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3595), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [46334] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6176), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6174), 52,
      sym__eq_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [46397] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6180), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6178), 52,
      sym__eq_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [46460] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3321), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3323), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [46525] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3405), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3407), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [46590] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6232), 2,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
    STATE(4904), 2,
      sym__conjunction_operator,
      sym__disjunction_operator,
    ACTIONS(3283), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3285), 40,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [46657] = 6,
    ACTIONS(6366), 1,
      anon_sym_COLON,
    ACTIONS(6368), 1,
      anon_sym_LBRACE,
    STATE(3538), 1,
      sym_deprecated_operator_declaration_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6370), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6364), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [46726] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3453), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3455), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [46791] = 5,
    ACTIONS(5857), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2583), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(2998), 3,
      anon_sym_QMARK,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3000), 48,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [46858] = 6,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3201), 1,
      sym__block,
    STATE(3534), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5605), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5603), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [46927] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3425), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3427), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [46992] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3393), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3395), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [47057] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3493), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3495), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [47122] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3429), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3431), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [47187] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3505), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3507), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [47252] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3509), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3511), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [47317] = 5,
    ACTIONS(5857), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2595), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3028), 3,
      anon_sym_QMARK,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3030), 48,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [47384] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3621), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3623), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [47449] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3441), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3443), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [47514] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3473), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3475), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [47579] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6236), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6234), 52,
      sym__eq_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [47642] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6240), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6238), 52,
      sym__eq_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [47705] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6138), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6133), 52,
      sym__eq_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [47768] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3521), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3523), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [47833] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3525), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3527), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [47898] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3157), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3159), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [47963] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3529), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3531), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [48028] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3625), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3627), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [48093] = 5,
    ACTIONS(6372), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2595), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3032), 3,
      anon_sym_QMARK,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3034), 48,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [48160] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3537), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3539), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [48225] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3541), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3543), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [48290] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3513), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3515), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [48355] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3557), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3559), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [48420] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3561), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3563), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [48485] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3469), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3471), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [48550] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3633), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3635), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [48615] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3637), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3639), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [48680] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3641), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3643), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [48745] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3565), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3567), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [48810] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3569), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3571), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [48875] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3573), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3575), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [48940] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3649), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3651), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [49005] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3577), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3579), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [49070] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3581), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3583), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [49135] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3653), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3655), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [49200] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3585), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3587), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [49265] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3589), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3591), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [49330] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3421), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3423), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [49395] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3657), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3659), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [49460] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3605), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3607), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [49525] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3661), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3663), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [49590] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3665), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3667), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [49655] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3313), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3315), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [49720] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3609), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3611), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [49785] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3613), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3615), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [49850] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3545), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3547), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [49915] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3617), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3619), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [49980] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3597), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3599), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [50045] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3629), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3631), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [50110] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3645), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3647), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [50175] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3481), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3483), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [50240] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6351), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6349), 52,
      sym__eq_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [50303] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(973), 1,
      sym__fn_call_lambda_arguments,
    STATE(1721), 1,
      sym_lambda_literal,
    ACTIONS(6375), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3692), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3694), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [50374] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3517), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3519), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [50439] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(967), 1,
      sym__fn_call_lambda_arguments,
    STATE(1721), 1,
      sym_lambda_literal,
    ACTIONS(6378), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3685), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3687), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [50510] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3389), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3391), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [50575] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3194), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3196), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [50640] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3477), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3479), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [50705] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3341), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3343), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [50770] = 6,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6196), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_each,
      anon_sym_repeat,
      anon_sym_in,
      anon_sym_self,
    ACTIONS(6198), 5,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
    ACTIONS(6205), 5,
      sym_default_keyword,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(6200), 7,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_AT,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(6203), 32,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
  [50839] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3381), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3383), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [50904] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3293), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3295), 51,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [50966] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3489), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3491), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [51030] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3485), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3487), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [51094] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3469), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3471), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [51158] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3133), 3,
      anon_sym_QMARK,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3135), 50,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [51220] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6381), 2,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
    STATE(4905), 2,
      sym__conjunction_operator,
      sym__disjunction_operator,
    ACTIONS(3275), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3277), 38,
      sym__dot_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [51288] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6383), 1,
      anon_sym_LT,
    STATE(2860), 1,
      sym_type_arguments,
    ACTIONS(3081), 11,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3083), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [51356] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3310), 1,
      anon_sym_LT,
    STATE(2086), 1,
      sym_type_arguments,
    ACTIONS(3307), 4,
      sym__dot_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3303), 10,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3305), 38,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [51424] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3125), 3,
      anon_sym_QMARK,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3127), 50,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [51486] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(2661), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(2663), 41,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_self,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [51550] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3509), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3511), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [51614] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3105), 3,
      anon_sym_QMARK,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3107), 50,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [51676] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3597), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3599), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [51740] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3198), 3,
      anon_sym_QMARK,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3200), 50,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [51802] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3202), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3204), 41,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_self,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [51866] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3194), 3,
      anon_sym_QMARK,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3196), 50,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [51928] = 5,
    ACTIONS(6387), 1,
      anon_sym_COMMA,
    STATE(2692), 1,
      aux_sym__modifierless_property_declaration_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6389), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6385), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [51994] = 6,
    ACTIONS(6391), 1,
      sym__dot_custom,
    STATE(2661), 1,
      aux_sym_user_type_repeat1,
    STATE(5399), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3046), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3048), 48,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [52062] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3465), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3467), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [52126] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3225), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3227), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [52190] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6393), 2,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
    STATE(4911), 2,
      sym__conjunction_operator,
      sym__disjunction_operator,
    ACTIONS(3283), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3285), 38,
      sym__dot_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [52258] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3461), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3463), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [52322] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6397), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6395), 51,
      sym_where_keyword,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [52384] = 6,
    ACTIONS(6391), 1,
      sym__dot_custom,
    STATE(2763), 1,
      aux_sym_user_type_repeat1,
    STATE(5399), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3039), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3041), 48,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [52452] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3321), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3323), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [52516] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6401), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6399), 51,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_SEMI,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [52578] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6405), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6403), 51,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_SEMI,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [52640] = 18,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6411), 1,
      anon_sym_each,
    ACTIONS(6413), 1,
      anon_sym_repeat,
    ACTIONS(6415), 1,
      anon_sym_LPAREN,
    ACTIONS(6417), 1,
      anon_sym_LBRACK,
    ACTIONS(6419), 1,
      anon_sym_some,
    ACTIONS(6421), 1,
      anon_sym_any,
    ACTIONS(6423), 1,
      anon_sym_TILDE,
    STATE(5035), 1,
      sym_tuple_type,
    STATE(5138), 1,
      sym_simple_identifier,
    STATE(5144), 1,
      sym__simple_user_type,
    STATE(5617), 1,
      sym__parenthesized_type,
    STATE(5239), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6409), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5272), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6407), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5145), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 18,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [52732] = 18,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6411), 1,
      anon_sym_each,
    ACTIONS(6413), 1,
      anon_sym_repeat,
    ACTIONS(6415), 1,
      anon_sym_LPAREN,
    ACTIONS(6417), 1,
      anon_sym_LBRACK,
    ACTIONS(6419), 1,
      anon_sym_some,
    ACTIONS(6421), 1,
      anon_sym_any,
    ACTIONS(6423), 1,
      anon_sym_TILDE,
    STATE(5035), 1,
      sym_tuple_type,
    STATE(5138), 1,
      sym_simple_identifier,
    STATE(5144), 1,
      sym__simple_user_type,
    STATE(5617), 1,
      sym__parenthesized_type,
    STATE(5239), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6409), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5272), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6407), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5126), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 18,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [52824] = 5,
    ACTIONS(6429), 1,
      sym__eq_custom,
    STATE(4267), 1,
      sym__equal_sign,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6427), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6425), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [52890] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3457), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3459), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [52954] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6381), 2,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
    STATE(4905), 2,
      sym__conjunction_operator,
      sym__disjunction_operator,
    ACTIONS(3252), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3254), 38,
      sym__dot_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [53022] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6433), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6431), 51,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_SEMI,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [53084] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5162), 1,
      anon_sym_DOT,
    STATE(2703), 1,
      aux_sym_key_path_expression_repeat1,
    ACTIONS(3264), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3266), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [53152] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6435), 1,
      anon_sym_LT,
    STATE(2927), 1,
      sym_type_arguments,
    ACTIONS(3081), 11,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3083), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [53220] = 18,
    ACTIONS(6441), 1,
      anon_sym_each,
    ACTIONS(6443), 1,
      anon_sym_repeat,
    ACTIONS(6445), 1,
      anon_sym_LPAREN,
    ACTIONS(6447), 1,
      anon_sym_LBRACK,
    ACTIONS(6449), 1,
      anon_sym_some,
    ACTIONS(6451), 1,
      anon_sym_any,
    ACTIONS(6453), 1,
      anon_sym_TILDE,
    STATE(5051), 1,
      sym_tuple_type,
    STATE(5141), 1,
      sym_simple_identifier,
    STATE(5187), 1,
      sym__simple_user_type,
    STATE(5753), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5241), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6439), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5224), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6437), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5193), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [53312] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6457), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6455), 51,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_SEMI,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [53374] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3593), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3595), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [53438] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5162), 1,
      anon_sym_DOT,
    STATE(2709), 1,
      aux_sym_key_path_expression_repeat1,
    ACTIONS(3264), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3266), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [53506] = 18,
    ACTIONS(6441), 1,
      anon_sym_each,
    ACTIONS(6443), 1,
      anon_sym_repeat,
    ACTIONS(6445), 1,
      anon_sym_LPAREN,
    ACTIONS(6447), 1,
      anon_sym_LBRACK,
    ACTIONS(6449), 1,
      anon_sym_some,
    ACTIONS(6451), 1,
      anon_sym_any,
    ACTIONS(6453), 1,
      anon_sym_TILDE,
    STATE(5051), 1,
      sym_tuple_type,
    STATE(5141), 1,
      sym_simple_identifier,
    STATE(5187), 1,
      sym__simple_user_type,
    STATE(5753), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5241), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6439), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5224), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6437), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5173), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [53598] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3425), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3427), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [53662] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3393), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3395), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [53726] = 5,
    ACTIONS(6459), 1,
      anon_sym_LT,
    STATE(3115), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3081), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3083), 49,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [53792] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6463), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6461), 51,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_SEMI,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [53854] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3105), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3107), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [53916] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3621), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3623), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [53980] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3625), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3627), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [54044] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3633), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3635), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [54108] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3637), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3639), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [54172] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3213), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3215), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [54236] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(1729), 1,
      sym_lambda_literal,
    STATE(3236), 1,
      sym__fn_call_lambda_arguments,
    ACTIONS(6465), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3685), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3687), 38,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [54306] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6470), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6468), 51,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_SEMI,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [54368] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3125), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3127), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [54430] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3641), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3643), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [54494] = 5,
    ACTIONS(6387), 1,
      anon_sym_COMMA,
    STATE(2785), 1,
      aux_sym__modifierless_property_declaration_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6474), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6472), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [54560] = 12,
    ACTIONS(6108), 1,
      sym__arrow_operator_custom,
    ACTIONS(6110), 1,
      sym__async_keyword_custom,
    ACTIONS(6476), 1,
      anon_sym_DOT,
    ACTIONS(6478), 1,
      anon_sym_AMP,
    STATE(3657), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4325), 1,
      sym__arrow_operator,
    STATE(6903), 1,
      sym__async_keyword,
    STATE(8410), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3073), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3075), 41,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [54640] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6482), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6480), 51,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_SEMI,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [54702] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6486), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6484), 51,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_SEMI,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [54764] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3293), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3295), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [54828] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6490), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6488), 51,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_SEMI,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [54890] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(1729), 1,
      sym_lambda_literal,
    STATE(3244), 1,
      sym__fn_call_lambda_arguments,
    ACTIONS(6492), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3692), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3694), 38,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [54960] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3649), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3651), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [55024] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(2661), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(2663), 41,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_self,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [55088] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3421), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3423), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [55152] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3429), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3431), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [55216] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5162), 1,
      anon_sym_DOT,
    STATE(2709), 1,
      aux_sym_key_path_expression_repeat1,
    ACTIONS(3244), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3246), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [55284] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3653), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3655), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [55348] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6495), 1,
      sym_else,
    ACTIONS(3297), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3299), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [55412] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6499), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6497), 51,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_SEMI,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [55474] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3657), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3659), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [55538] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3505), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3507), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [55602] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6501), 1,
      anon_sym_DOT,
    STATE(2709), 1,
      aux_sym_key_path_expression_repeat1,
    ACTIONS(3268), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3270), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [55670] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3441), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3443), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [55734] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3473), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3475), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [55798] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3665), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3667), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [55862] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3545), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3547), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [55926] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3517), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3519), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [55990] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3389), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3391), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [56054] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6506), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6504), 51,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_SEMI,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [56116] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3341), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3343), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [56180] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3133), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3135), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [56242] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3521), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3523), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [56306] = 4,
    ACTIONS(6508), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3734), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3729), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_macro,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [56370] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3381), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3383), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [56434] = 19,
    ACTIONS(225), 1,
      anon_sym_unowned,
    ACTIONS(231), 1,
      sym_default_keyword,
    ACTIONS(6510), 1,
      anon_sym_lazy,
    ACTIONS(6514), 1,
      anon_sym_RBRACE,
    ACTIONS(6516), 1,
      anon_sym_case,
    ACTIONS(6522), 1,
      anon_sym_AT,
    ACTIONS(6528), 1,
      anon_sym_final,
    STATE(4794), 1,
      sym__parameter_ownership_modifier,
    STATE(8427), 1,
      sym_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6526), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    STATE(2769), 2,
      sym_switch_entry,
      aux_sym_switch_statement_repeat1,
    ACTIONS(227), 3,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(6520), 3,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
    ACTIONS(6524), 4,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
    ACTIONS(223), 5,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(6518), 5,
      anon_sym_class,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
    ACTIONS(6512), 6,
      anon_sym_package,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
    STATE(3716), 14,
      sym_attribute,
      aux_sym__locally_permitted_modifiers,
      sym__non_local_scope_modifier,
      sym__locally_permitted_modifier,
      sym_property_behavior_modifier,
      sym_member_modifier,
      sym_visibility_modifier,
      sym_function_modifier,
      sym_mutation_modifier,
      sym_property_modifier,
      sym_inheritance_modifier,
      sym_parameter_modifier,
      sym_ownership_modifier,
      aux_sym_modifiers_repeat1,
  [56528] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3409), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3411), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [56592] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3477), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3479), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [56656] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3198), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3200), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [56718] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3194), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3196), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [56780] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3293), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3295), 43,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [56842] = 5,
    ACTIONS(6534), 1,
      sym__eq_custom,
    STATE(4406), 1,
      sym__equal_sign,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6532), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6530), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [56908] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3513), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3515), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [56972] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6538), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6536), 51,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_SEMI,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [57034] = 12,
    ACTIONS(6108), 1,
      sym__arrow_operator_custom,
    ACTIONS(6110), 1,
      sym__async_keyword_custom,
    ACTIONS(6476), 1,
      anon_sym_DOT,
    ACTIONS(6478), 1,
      anon_sym_AMP,
    STATE(3657), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4325), 1,
      sym__arrow_operator,
    STATE(6903), 1,
      sym__async_keyword,
    STATE(8410), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3061), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3063), 41,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [57114] = 12,
    ACTIONS(6108), 1,
      sym__arrow_operator_custom,
    ACTIONS(6110), 1,
      sym__async_keyword_custom,
    ACTIONS(6476), 1,
      anon_sym_DOT,
    ACTIONS(6478), 1,
      anon_sym_AMP,
    STATE(3657), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4325), 1,
      sym__arrow_operator,
    STATE(6903), 1,
      sym__async_keyword,
    STATE(8410), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3065), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3067), 41,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [57194] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3525), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3527), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [57258] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3260), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3262), 41,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_self,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [57322] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3357), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3359), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [57386] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3501), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3503), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [57450] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3493), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3495), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [57514] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3529), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3531), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [57578] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3537), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3539), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [57642] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3541), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3543), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [57706] = 7,
    STATE(3657), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4325), 1,
      sym__arrow_operator,
    STATE(6903), 1,
      sym__async_keyword,
    STATE(8410), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3069), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3071), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [57776] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6542), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6540), 51,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_SEMI,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [57838] = 19,
    ACTIONS(225), 1,
      anon_sym_unowned,
    ACTIONS(231), 1,
      sym_default_keyword,
    ACTIONS(6510), 1,
      anon_sym_lazy,
    ACTIONS(6516), 1,
      anon_sym_case,
    ACTIONS(6522), 1,
      anon_sym_AT,
    ACTIONS(6528), 1,
      anon_sym_final,
    ACTIONS(6544), 1,
      anon_sym_RBRACE,
    STATE(4794), 1,
      sym__parameter_ownership_modifier,
    STATE(8427), 1,
      sym_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6526), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    STATE(2769), 2,
      sym_switch_entry,
      aux_sym_switch_statement_repeat1,
    ACTIONS(227), 3,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(6520), 3,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
    ACTIONS(6524), 4,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
    ACTIONS(223), 5,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(6518), 5,
      anon_sym_class,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
    ACTIONS(6512), 6,
      anon_sym_package,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
    STATE(3716), 14,
      sym_attribute,
      aux_sym__locally_permitted_modifiers,
      sym__non_local_scope_modifier,
      sym__locally_permitted_modifier,
      sym_property_behavior_modifier,
      sym_member_modifier,
      sym_visibility_modifier,
      sym_function_modifier,
      sym_mutation_modifier,
      sym_property_modifier,
      sym_inheritance_modifier,
      sym_parameter_modifier,
      sym_ownership_modifier,
      aux_sym_modifiers_repeat1,
  [57932] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3433), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3435), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [57996] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3417), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3419), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [58060] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6092), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6090), 51,
      sym__dot_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      sym_integer_literal,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [58122] = 19,
    ACTIONS(225), 1,
      anon_sym_unowned,
    ACTIONS(231), 1,
      sym_default_keyword,
    ACTIONS(6510), 1,
      anon_sym_lazy,
    ACTIONS(6516), 1,
      anon_sym_case,
    ACTIONS(6522), 1,
      anon_sym_AT,
    ACTIONS(6528), 1,
      anon_sym_final,
    ACTIONS(6546), 1,
      anon_sym_RBRACE,
    STATE(4794), 1,
      sym__parameter_ownership_modifier,
    STATE(8427), 1,
      sym_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6526), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    STATE(2769), 2,
      sym_switch_entry,
      aux_sym_switch_statement_repeat1,
    ACTIONS(227), 3,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(6520), 3,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
    ACTIONS(6524), 4,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
    ACTIONS(223), 5,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(6518), 5,
      anon_sym_class,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
    ACTIONS(6512), 6,
      anon_sym_package,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
    STATE(3716), 14,
      sym_attribute,
      aux_sym__locally_permitted_modifiers,
      sym__non_local_scope_modifier,
      sym__locally_permitted_modifier,
      sym_property_behavior_modifier,
      sym_member_modifier,
      sym_visibility_modifier,
      sym_function_modifier,
      sym_mutation_modifier,
      sym_property_modifier,
      sym_inheritance_modifier,
      sym_parameter_modifier,
      sym_ownership_modifier,
      aux_sym_modifiers_repeat1,
  [58216] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3275), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3277), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [58280] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(1729), 1,
      sym_lambda_literal,
    STATE(3244), 1,
      sym__fn_call_lambda_arguments,
    ACTIONS(6548), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3699), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3702), 38,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [58350] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3279), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3281), 41,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_self,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [58414] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3453), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3455), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [58478] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3219), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3221), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [58542] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3313), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3315), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [58606] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6552), 1,
      sym_else,
    ACTIONS(3287), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3289), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [58670] = 12,
    ACTIONS(6108), 1,
      sym__arrow_operator_custom,
    ACTIONS(6110), 1,
      sym__async_keyword_custom,
    ACTIONS(6476), 1,
      anon_sym_DOT,
    ACTIONS(6478), 1,
      anon_sym_AMP,
    STATE(3657), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4325), 1,
      sym__arrow_operator,
    STATE(6903), 1,
      sym__async_keyword,
    STATE(8410), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3053), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3055), 41,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [58750] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2991), 3,
      anon_sym_QMARK,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(2993), 50,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [58812] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6010), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6008), 51,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [58874] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3091), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3093), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [58936] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3385), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3387), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [59000] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3248), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3250), 41,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_self,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [59064] = 12,
    ACTIONS(6108), 1,
      sym__arrow_operator_custom,
    ACTIONS(6110), 1,
      sym__async_keyword_custom,
    ACTIONS(6476), 1,
      anon_sym_DOT,
    ACTIONS(6478), 1,
      anon_sym_AMP,
    STATE(3657), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4325), 1,
      sym__arrow_operator,
    STATE(6903), 1,
      sym__async_keyword,
    STATE(8410), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3077), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3079), 41,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [59144] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3248), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3250), 41,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_self,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [59208] = 6,
    ACTIONS(6554), 1,
      sym__dot_custom,
    STATE(2763), 1,
      aux_sym_user_type_repeat1,
    STATE(5399), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2991), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(2993), 48,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [59276] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(1735), 1,
      sym_lambda_literal,
    STATE(3557), 1,
      sym__fn_call_lambda_arguments,
    ACTIONS(6557), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3699), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3702), 38,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [59346] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3317), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3319), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [59410] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3190), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3192), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [59474] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3377), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3379), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [59538] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3373), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3375), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [59602] = 19,
    ACTIONS(6561), 1,
      anon_sym_lazy,
    ACTIONS(6567), 1,
      anon_sym_RBRACE,
    ACTIONS(6569), 1,
      anon_sym_case,
    ACTIONS(6578), 1,
      anon_sym_AT,
    ACTIONS(6587), 1,
      anon_sym_final,
    ACTIONS(6596), 1,
      anon_sym_unowned,
    ACTIONS(6599), 1,
      sym_default_keyword,
    STATE(4794), 1,
      sym__parameter_ownership_modifier,
    STATE(8427), 1,
      sym_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6584), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    STATE(2769), 2,
      sym_switch_entry,
      aux_sym_switch_statement_repeat1,
    ACTIONS(6575), 3,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
    ACTIONS(6593), 3,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(6581), 4,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
    ACTIONS(6572), 5,
      anon_sym_class,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
    ACTIONS(6590), 5,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(6564), 6,
      anon_sym_package,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
    STATE(3716), 14,
      sym_attribute,
      aux_sym__locally_permitted_modifiers,
      sym__non_local_scope_modifier,
      sym__locally_permitted_modifier,
      sym_property_behavior_modifier,
      sym_member_modifier,
      sym_visibility_modifier,
      sym_function_modifier,
      sym_mutation_modifier,
      sym_property_modifier,
      sym_inheritance_modifier,
      sym_parameter_modifier,
      sym_ownership_modifier,
      aux_sym_modifiers_repeat1,
  [59696] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3157), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3159), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [59758] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3449), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3451), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [59822] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3481), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3483), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [59886] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3369), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3371), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [59950] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3645), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3647), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [60014] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3533), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3535), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [60078] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3549), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3551), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [60142] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3661), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3663), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [60206] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3268), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3270), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [60268] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3629), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3631), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [60332] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3260), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3262), 41,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_self,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [60396] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3365), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3367), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [60460] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3445), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3447), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [60524] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3310), 1,
      anon_sym_LT,
    ACTIONS(6602), 1,
      anon_sym_COLON,
    STATE(2086), 1,
      sym_type_arguments,
    ACTIONS(3307), 4,
      sym__dot_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3303), 10,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3305), 36,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [60596] = 19,
    ACTIONS(225), 1,
      anon_sym_unowned,
    ACTIONS(231), 1,
      sym_default_keyword,
    ACTIONS(6510), 1,
      anon_sym_lazy,
    ACTIONS(6516), 1,
      anon_sym_case,
    ACTIONS(6522), 1,
      anon_sym_AT,
    ACTIONS(6528), 1,
      anon_sym_final,
    ACTIONS(6604), 1,
      anon_sym_RBRACE,
    STATE(4794), 1,
      sym__parameter_ownership_modifier,
    STATE(8427), 1,
      sym_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6526), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    STATE(2769), 2,
      sym_switch_entry,
      aux_sym_switch_statement_repeat1,
    ACTIONS(227), 3,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(6520), 3,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
    ACTIONS(6524), 4,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
    ACTIONS(223), 5,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(6518), 5,
      anon_sym_class,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
    ACTIONS(6512), 6,
      anon_sym_package,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
    STATE(3716), 14,
      sym_attribute,
      aux_sym__locally_permitted_modifiers,
      sym__non_local_scope_modifier,
      sym__locally_permitted_modifier,
      sym_property_behavior_modifier,
      sym_member_modifier,
      sym_visibility_modifier,
      sym_function_modifier,
      sym_mutation_modifier,
      sym_property_modifier,
      sym_inheritance_modifier,
      sym_parameter_modifier,
      sym_ownership_modifier,
      aux_sym_modifiers_repeat1,
  [60690] = 5,
    ACTIONS(6608), 1,
      anon_sym_COMMA,
    STATE(2785), 1,
      aux_sym__modifierless_property_declaration_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6611), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6606), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [60756] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3553), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3555), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [60820] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3202), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3204), 41,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_self,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [60884] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3557), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3559), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [60948] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3561), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3563), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [61012] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6393), 2,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
    STATE(4911), 2,
      sym__conjunction_operator,
      sym__disjunction_operator,
    ACTIONS(3275), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3277), 38,
      sym__dot_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [61080] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3565), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3567), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [61144] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3361), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3363), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [61208] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6615), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6613), 51,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_SEMI,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [61270] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3279), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3281), 41,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_self,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [61334] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3413), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3415), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [61398] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3569), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3571), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [61462] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6619), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6617), 51,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_SEMI,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [61524] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3573), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3575), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [61588] = 19,
    ACTIONS(225), 1,
      anon_sym_unowned,
    ACTIONS(231), 1,
      sym_default_keyword,
    ACTIONS(6510), 1,
      anon_sym_lazy,
    ACTIONS(6516), 1,
      anon_sym_case,
    ACTIONS(6522), 1,
      anon_sym_AT,
    ACTIONS(6528), 1,
      anon_sym_final,
    ACTIONS(6621), 1,
      anon_sym_RBRACE,
    STATE(4794), 1,
      sym__parameter_ownership_modifier,
    STATE(8427), 1,
      sym_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6526), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    STATE(2769), 2,
      sym_switch_entry,
      aux_sym_switch_statement_repeat1,
    ACTIONS(227), 3,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(6520), 3,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
    ACTIONS(6524), 4,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
    ACTIONS(223), 5,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(6518), 5,
      anon_sym_class,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
    ACTIONS(6512), 6,
      anon_sym_package,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
    STATE(3716), 14,
      sym_attribute,
      aux_sym__locally_permitted_modifiers,
      sym__non_local_scope_modifier,
      sym__locally_permitted_modifier,
      sym_property_behavior_modifier,
      sym_member_modifier,
      sym_visibility_modifier,
      sym_function_modifier,
      sym_mutation_modifier,
      sym_property_modifier,
      sym_inheritance_modifier,
      sym_parameter_modifier,
      sym_ownership_modifier,
      aux_sym_modifiers_repeat1,
  [61682] = 5,
    ACTIONS(6627), 1,
      sym__eq_custom,
    STATE(4313), 1,
      sym__equal_sign,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6625), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6623), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [61748] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3617), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3619), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [61812] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3613), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3615), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [61876] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3609), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3611), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [61940] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3605), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3607), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [62004] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3437), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3439), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [62068] = 7,
    STATE(3657), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4325), 1,
      sym__arrow_operator,
    STATE(6903), 1,
      sym__async_keyword,
    STATE(8410), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3087), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3089), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [62138] = 19,
    ACTIONS(225), 1,
      anon_sym_unowned,
    ACTIONS(231), 1,
      sym_default_keyword,
    ACTIONS(6510), 1,
      anon_sym_lazy,
    ACTIONS(6516), 1,
      anon_sym_case,
    ACTIONS(6522), 1,
      anon_sym_AT,
    ACTIONS(6528), 1,
      anon_sym_final,
    ACTIONS(6629), 1,
      anon_sym_RBRACE,
    STATE(4794), 1,
      sym__parameter_ownership_modifier,
    STATE(8427), 1,
      sym_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6526), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    STATE(2769), 2,
      sym_switch_entry,
      aux_sym_switch_statement_repeat1,
    ACTIONS(227), 3,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(6520), 3,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
    ACTIONS(6524), 4,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
    ACTIONS(223), 5,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(6518), 5,
      anon_sym_class,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
    ACTIONS(6512), 6,
      anon_sym_package,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
    STATE(3716), 14,
      sym_attribute,
      aux_sym__locally_permitted_modifiers,
      sym__non_local_scope_modifier,
      sym__locally_permitted_modifier,
      sym_property_behavior_modifier,
      sym_member_modifier,
      sym_visibility_modifier,
      sym_function_modifier,
      sym_mutation_modifier,
      sym_property_modifier,
      sym_inheritance_modifier,
      sym_parameter_modifier,
      sym_ownership_modifier,
      aux_sym_modifiers_repeat1,
  [62232] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3313), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3315), 51,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [62294] = 19,
    ACTIONS(225), 1,
      anon_sym_unowned,
    ACTIONS(231), 1,
      sym_default_keyword,
    ACTIONS(6510), 1,
      anon_sym_lazy,
    ACTIONS(6516), 1,
      anon_sym_case,
    ACTIONS(6522), 1,
      anon_sym_AT,
    ACTIONS(6528), 1,
      anon_sym_final,
    ACTIONS(6631), 1,
      anon_sym_RBRACE,
    STATE(4794), 1,
      sym__parameter_ownership_modifier,
    STATE(8427), 1,
      sym_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6526), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    STATE(2769), 2,
      sym_switch_entry,
      aux_sym_switch_statement_repeat1,
    ACTIONS(227), 3,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(6520), 3,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
    ACTIONS(6524), 4,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
    ACTIONS(223), 5,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(6518), 5,
      anon_sym_class,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
    ACTIONS(6512), 6,
      anon_sym_package,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
    STATE(3716), 14,
      sym_attribute,
      aux_sym__locally_permitted_modifiers,
      sym__non_local_scope_modifier,
      sym__locally_permitted_modifier,
      sym_property_behavior_modifier,
      sym_member_modifier,
      sym_visibility_modifier,
      sym_function_modifier,
      sym_mutation_modifier,
      sym_property_modifier,
      sym_inheritance_modifier,
      sym_parameter_modifier,
      sym_ownership_modifier,
      aux_sym_modifiers_repeat1,
  [62388] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6633), 1,
      anon_sym_DOT,
    STATE(2810), 1,
      aux_sym_key_path_expression_repeat1,
    ACTIONS(3268), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3270), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [62456] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5158), 1,
      anon_sym_DOT,
    STATE(2810), 1,
      aux_sym_key_path_expression_repeat1,
    ACTIONS(3244), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3246), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [62524] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3331), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3333), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [62588] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3237), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3239), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [62652] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3405), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3407), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [62716] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6393), 2,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
    STATE(4911), 2,
      sym__conjunction_operator,
      sym__disjunction_operator,
    ACTIONS(3252), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3254), 38,
      sym__dot_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [62784] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3401), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3403), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [62848] = 19,
    ACTIONS(225), 1,
      anon_sym_unowned,
    ACTIONS(231), 1,
      sym_default_keyword,
    ACTIONS(6510), 1,
      anon_sym_lazy,
    ACTIONS(6516), 1,
      anon_sym_case,
    ACTIONS(6522), 1,
      anon_sym_AT,
    ACTIONS(6528), 1,
      anon_sym_final,
    ACTIONS(6636), 1,
      anon_sym_RBRACE,
    STATE(4794), 1,
      sym__parameter_ownership_modifier,
    STATE(8427), 1,
      sym_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6526), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    STATE(2769), 2,
      sym_switch_entry,
      aux_sym_switch_statement_repeat1,
    ACTIONS(227), 3,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(6520), 3,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
    ACTIONS(6524), 4,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
    ACTIONS(223), 5,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(6518), 5,
      anon_sym_class,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
    ACTIONS(6512), 6,
      anon_sym_package,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
    STATE(3716), 14,
      sym_attribute,
      aux_sym__locally_permitted_modifiers,
      sym__non_local_scope_modifier,
      sym__locally_permitted_modifier,
      sym_property_behavior_modifier,
      sym_member_modifier,
      sym_visibility_modifier,
      sym_function_modifier,
      sym_mutation_modifier,
      sym_property_modifier,
      sym_inheritance_modifier,
      sym_parameter_modifier,
      sym_ownership_modifier,
      aux_sym_modifiers_repeat1,
  [62942] = 19,
    ACTIONS(225), 1,
      anon_sym_unowned,
    ACTIONS(231), 1,
      sym_default_keyword,
    ACTIONS(6510), 1,
      anon_sym_lazy,
    ACTIONS(6516), 1,
      anon_sym_case,
    ACTIONS(6522), 1,
      anon_sym_AT,
    ACTIONS(6528), 1,
      anon_sym_final,
    ACTIONS(6638), 1,
      anon_sym_RBRACE,
    STATE(4794), 1,
      sym__parameter_ownership_modifier,
    STATE(8427), 1,
      sym_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6526), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    STATE(2769), 2,
      sym_switch_entry,
      aux_sym_switch_statement_repeat1,
    ACTIONS(227), 3,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(6520), 3,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
    ACTIONS(6524), 4,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
    ACTIONS(223), 5,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(6518), 5,
      anon_sym_class,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
    ACTIONS(6512), 6,
      anon_sym_package,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
    STATE(3716), 14,
      sym_attribute,
      aux_sym__locally_permitted_modifiers,
      sym__non_local_scope_modifier,
      sym__locally_permitted_modifier,
      sym_property_behavior_modifier,
      sym_member_modifier,
      sym_visibility_modifier,
      sym_function_modifier,
      sym_mutation_modifier,
      sym_property_modifier,
      sym_inheritance_modifier,
      sym_parameter_modifier,
      sym_ownership_modifier,
      aux_sym_modifiers_repeat1,
  [63036] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(1735), 1,
      sym_lambda_literal,
    STATE(3557), 1,
      sym__fn_call_lambda_arguments,
    ACTIONS(6640), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3692), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3694), 38,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [63106] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(1735), 1,
      sym_lambda_literal,
    STATE(3549), 1,
      sym__fn_call_lambda_arguments,
    ACTIONS(6643), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3685), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3687), 38,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [63176] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3397), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3399), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [63240] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(447), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(469), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [63304] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3325), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3328), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [63368] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3335), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3338), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [63432] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3589), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3591), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [63496] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(2781), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(2779), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [63560] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5158), 1,
      anon_sym_DOT,
    STATE(2810), 1,
      aux_sym_key_path_expression_repeat1,
    ACTIONS(3264), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3266), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [63628] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5158), 1,
      anon_sym_DOT,
    STATE(2811), 1,
      aux_sym_key_path_expression_repeat1,
    ACTIONS(3264), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3266), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [63696] = 19,
    ACTIONS(225), 1,
      anon_sym_unowned,
    ACTIONS(231), 1,
      sym_default_keyword,
    ACTIONS(6510), 1,
      anon_sym_lazy,
    ACTIONS(6516), 1,
      anon_sym_case,
    ACTIONS(6522), 1,
      anon_sym_AT,
    ACTIONS(6528), 1,
      anon_sym_final,
    ACTIONS(6646), 1,
      anon_sym_RBRACE,
    STATE(4794), 1,
      sym__parameter_ownership_modifier,
    STATE(8427), 1,
      sym_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6526), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    STATE(2769), 2,
      sym_switch_entry,
      aux_sym_switch_statement_repeat1,
    ACTIONS(227), 3,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(6520), 3,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
    ACTIONS(6524), 4,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
    ACTIONS(223), 5,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(6518), 5,
      anon_sym_class,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
    ACTIONS(6512), 6,
      anon_sym_package,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
    STATE(3716), 14,
      sym_attribute,
      aux_sym__locally_permitted_modifiers,
      sym__non_local_scope_modifier,
      sym__locally_permitted_modifier,
      sym_property_behavior_modifier,
      sym_member_modifier,
      sym_visibility_modifier,
      sym_function_modifier,
      sym_mutation_modifier,
      sym_property_modifier,
      sym_inheritance_modifier,
      sym_parameter_modifier,
      sym_ownership_modifier,
      aux_sym_modifiers_repeat1,
  [63790] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3585), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3587), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [63854] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3313), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3315), 43,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [63916] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3581), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3583), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [63980] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6381), 2,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
    STATE(4905), 2,
      sym__conjunction_operator,
      sym__disjunction_operator,
    ACTIONS(3283), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3285), 38,
      sym__dot_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [64048] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3345), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3348), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [64112] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3577), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3579), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [64176] = 5,
    ACTIONS(6368), 1,
      anon_sym_LBRACE,
    STATE(3297), 1,
      sym_deprecated_operator_declaration_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6650), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6648), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [64242] = 19,
    ACTIONS(225), 1,
      anon_sym_unowned,
    ACTIONS(231), 1,
      sym_default_keyword,
    ACTIONS(6510), 1,
      anon_sym_lazy,
    ACTIONS(6516), 1,
      anon_sym_case,
    ACTIONS(6522), 1,
      anon_sym_AT,
    ACTIONS(6528), 1,
      anon_sym_final,
    ACTIONS(6652), 1,
      anon_sym_RBRACE,
    STATE(4794), 1,
      sym__parameter_ownership_modifier,
    STATE(8427), 1,
      sym_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6526), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    STATE(2769), 2,
      sym_switch_entry,
      aux_sym_switch_statement_repeat1,
    ACTIONS(227), 3,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(6520), 3,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
    ACTIONS(6524), 4,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
    ACTIONS(223), 5,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(6518), 5,
      anon_sym_class,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
    ACTIONS(6512), 6,
      anon_sym_package,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
    STATE(3716), 14,
      sym_attribute,
      aux_sym__locally_permitted_modifiers,
      sym__non_local_scope_modifier,
      sym__locally_permitted_modifier,
      sym_property_behavior_modifier,
      sym_member_modifier,
      sym_visibility_modifier,
      sym_function_modifier,
      sym_mutation_modifier,
      sym_property_modifier,
      sym_inheritance_modifier,
      sym_parameter_modifier,
      sym_ownership_modifier,
      aux_sym_modifiers_repeat1,
  [64336] = 5,
    ACTIONS(6658), 1,
      sym__eq_custom,
    STATE(4341), 1,
      sym__equal_sign,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6656), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6654), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [64402] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3351), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3354), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [64466] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3601), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3603), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [64530] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3373), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3375), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [64591] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3310), 1,
      anon_sym_LT,
    ACTIONS(6660), 1,
      anon_sym_COLON,
    STATE(2086), 1,
      sym_type_arguments,
    ACTIONS(3307), 4,
      sym__dot_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3303), 10,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3305), 35,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [64662] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3665), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3667), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [64723] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3547), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [64784] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3637), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3639), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [64845] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3517), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3519), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [64906] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3389), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3391), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [64967] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3341), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3343), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [65028] = 18,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6666), 1,
      anon_sym_each,
    ACTIONS(6668), 1,
      anon_sym_repeat,
    ACTIONS(6670), 1,
      anon_sym_LPAREN,
    ACTIONS(6672), 1,
      anon_sym_LBRACK,
    ACTIONS(6674), 1,
      anon_sym_some,
    ACTIONS(6676), 1,
      anon_sym_any,
    ACTIONS(6678), 1,
      anon_sym_TILDE,
    STATE(5090), 1,
      sym_tuple_type,
    STATE(5274), 1,
      sym_simple_identifier,
    STATE(5315), 1,
      sym__simple_user_type,
    STATE(5839), 1,
      sym__parenthesized_type,
    STATE(5429), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6664), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5481), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6662), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5302), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [65119] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3641), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3643), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [65180] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3310), 1,
      anon_sym_LT,
    ACTIONS(5425), 1,
      sym__as_custom,
    ACTIONS(5429), 1,
      anon_sym_QMARK,
    STATE(2086), 1,
      sym_type_arguments,
    ACTIONS(3307), 4,
      sym__dot_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3303), 9,
      anon_sym_BANG,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3305), 35,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [65253] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3381), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3383), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [65314] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3477), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3479), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [65375] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3649), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3651), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [65436] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3653), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3655), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [65497] = 12,
    ACTIONS(6330), 1,
      sym__arrow_operator_custom,
    ACTIONS(6332), 1,
      sym__async_keyword_custom,
    ACTIONS(6680), 1,
      anon_sym_DOT,
    ACTIONS(6682), 1,
      anon_sym_AMP,
    STATE(3727), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4126), 1,
      sym__arrow_operator,
    STATE(6896), 1,
      sym__async_keyword,
    STATE(8373), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3053), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3055), 40,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [65576] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3657), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3659), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [65637] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3209), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3211), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_macro,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [65698] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3661), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3663), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [65759] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3194), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3196), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [65822] = 12,
    ACTIONS(6330), 1,
      sym__arrow_operator_custom,
    ACTIONS(6332), 1,
      sym__async_keyword_custom,
    ACTIONS(6680), 1,
      anon_sym_DOT,
    ACTIONS(6682), 1,
      anon_sym_AMP,
    STATE(3727), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4126), 1,
      sym__arrow_operator,
    STATE(6896), 1,
      sym__async_keyword,
    STATE(8373), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3065), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3067), 40,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [65901] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3509), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3511), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [65962] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3425), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3427), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [66023] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3493), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3495), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [66084] = 12,
    ACTIONS(6330), 1,
      sym__arrow_operator_custom,
    ACTIONS(6332), 1,
      sym__async_keyword_custom,
    ACTIONS(6680), 1,
      anon_sym_DOT,
    ACTIONS(6682), 1,
      anon_sym_AMP,
    STATE(3727), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4126), 1,
      sym__arrow_operator,
    STATE(6896), 1,
      sym__async_keyword,
    STATE(8373), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3077), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3079), 40,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [66163] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3268), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3270), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [66226] = 7,
    STATE(3727), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4126), 1,
      sym__arrow_operator,
    STATE(6896), 1,
      sym__async_keyword,
    STATE(8373), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3069), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3071), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [66295] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3248), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3250), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_self,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [66358] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3481), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3483), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [66419] = 12,
    ACTIONS(6330), 1,
      sym__arrow_operator_custom,
    ACTIONS(6332), 1,
      sym__async_keyword_custom,
    ACTIONS(6680), 1,
      anon_sym_DOT,
    ACTIONS(6682), 1,
      anon_sym_AMP,
    STATE(3727), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4126), 1,
      sym__arrow_operator,
    STATE(6896), 1,
      sym__async_keyword,
    STATE(8373), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3061), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3063), 40,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [66498] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3310), 1,
      anon_sym_LT,
    ACTIONS(5425), 1,
      sym__as_custom,
    ACTIONS(5429), 1,
      anon_sym_QMARK,
    ACTIONS(6684), 1,
      anon_sym_COLON,
    STATE(2086), 1,
      sym_type_arguments,
    ACTIONS(3307), 4,
      sym__dot_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3303), 9,
      anon_sym_BANG,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3305), 34,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [66573] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3645), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3647), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [66634] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3505), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3507), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [66695] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3629), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3631), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [66756] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3621), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3623), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [66817] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3617), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3619), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [66878] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3613), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3615), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [66939] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3609), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3611), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [67000] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3605), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3607), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [67061] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3633), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3635), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [67122] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3589), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3591), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [67183] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6688), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6686), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [67244] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6692), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6690), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [67305] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6696), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6694), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [67366] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6696), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6694), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [67427] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6700), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6698), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [67488] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6704), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6702), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [67549] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6708), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6706), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [67610] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6710), 2,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
    STATE(4918), 2,
      sym__conjunction_operator,
      sym__disjunction_operator,
    ACTIONS(3283), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3285), 37,
      sym__dot_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [67677] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6714), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6712), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_macro,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [67738] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3453), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3455), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [67799] = 12,
    ACTIONS(6330), 1,
      sym__arrow_operator_custom,
    ACTIONS(6332), 1,
      sym__async_keyword_custom,
    ACTIONS(6680), 1,
      anon_sym_DOT,
    ACTIONS(6682), 1,
      anon_sym_AMP,
    STATE(3727), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4126), 1,
      sym__arrow_operator,
    STATE(6896), 1,
      sym__async_keyword,
    STATE(8373), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3073), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3075), 40,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [67878] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6718), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6716), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [67939] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5534), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5532), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [68000] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6722), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6720), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [68061] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3581), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3583), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [68122] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3577), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3579), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [68183] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3597), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3599), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [68244] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3573), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3575), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [68305] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3569), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3571), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [68366] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6722), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6720), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [68427] = 7,
    STATE(3727), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4126), 1,
      sym__arrow_operator,
    STATE(6896), 1,
      sym__async_keyword,
    STATE(8373), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3087), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3089), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [68496] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6718), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6716), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [68557] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5534), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5532), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [68618] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6722), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6720), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [68679] = 18,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6666), 1,
      anon_sym_each,
    ACTIONS(6668), 1,
      anon_sym_repeat,
    ACTIONS(6670), 1,
      anon_sym_LPAREN,
    ACTIONS(6672), 1,
      anon_sym_LBRACK,
    ACTIONS(6674), 1,
      anon_sym_some,
    ACTIONS(6676), 1,
      anon_sym_any,
    ACTIONS(6678), 1,
      anon_sym_TILDE,
    STATE(5090), 1,
      sym_tuple_type,
    STATE(5274), 1,
      sym_simple_identifier,
    STATE(5315), 1,
      sym__simple_user_type,
    STATE(5839), 1,
      sym__parenthesized_type,
    STATE(5429), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6664), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5481), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6662), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5323), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [68770] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3279), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3281), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_self,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [68833] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3565), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3567), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [68894] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6722), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6720), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [68955] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3561), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3563), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [69016] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3557), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3559), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [69077] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6726), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6724), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [69138] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3310), 1,
      anon_sym_LT,
    ACTIONS(5425), 1,
      sym__as_custom,
    ACTIONS(5429), 1,
      anon_sym_QMARK,
    STATE(2086), 1,
      sym_type_arguments,
    ACTIONS(3307), 4,
      sym__dot_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3303), 9,
      anon_sym_BANG,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3305), 35,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [69211] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6730), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6728), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [69272] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(1754), 1,
      sym_lambda_literal,
    STATE(3652), 1,
      sym__fn_call_lambda_arguments,
    ACTIONS(6732), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3699), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3702), 37,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [69341] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3405), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3407), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [69402] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3541), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3543), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [69463] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3401), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3403), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [69524] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3190), 3,
      anon_sym_QMARK,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3192), 49,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [69585] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3310), 1,
      anon_sym_LT,
    ACTIONS(6736), 1,
      anon_sym_COLON,
    STATE(2086), 1,
      sym_type_arguments,
    ACTIONS(3307), 4,
      sym__dot_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3303), 10,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3305), 35,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [69656] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6740), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6738), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_macro,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [69717] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3529), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3531), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [69778] = 5,
    ACTIONS(6742), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3032), 2,
      anon_sym_AT,
      anon_sym_unowned,
    STATE(2923), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3034), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [69843] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3525), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3527), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [69904] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3521), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3523), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [69965] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3421), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3423), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [70026] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3194), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3196), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [70089] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3473), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3475), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [70150] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(447), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(469), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [70211] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3325), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3328), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [70272] = 18,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5320), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 16,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [70363] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3335), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3338), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [70424] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3441), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3443), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [70485] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3429), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3431), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [70546] = 18,
    ACTIONS(6763), 1,
      anon_sym_each,
    ACTIONS(6765), 1,
      anon_sym_repeat,
    ACTIONS(6767), 1,
      anon_sym_LPAREN,
    ACTIONS(6769), 1,
      anon_sym_LBRACK,
    ACTIONS(6771), 1,
      anon_sym_some,
    ACTIONS(6773), 1,
      anon_sym_any,
    ACTIONS(6775), 1,
      anon_sym_TILDE,
    STATE(5082), 1,
      sym_tuple_type,
    STATE(5222), 1,
      sym__simple_user_type,
    STATE(5223), 1,
      sym_simple_identifier,
    STATE(5858), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5331), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6761), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5452), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6759), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5236), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 16,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [70637] = 18,
    ACTIONS(6763), 1,
      anon_sym_each,
    ACTIONS(6765), 1,
      anon_sym_repeat,
    ACTIONS(6767), 1,
      anon_sym_LPAREN,
    ACTIONS(6769), 1,
      anon_sym_LBRACK,
    ACTIONS(6771), 1,
      anon_sym_some,
    ACTIONS(6773), 1,
      anon_sym_any,
    ACTIONS(6775), 1,
      anon_sym_TILDE,
    STATE(5082), 1,
      sym_tuple_type,
    STATE(5222), 1,
      sym__simple_user_type,
    STATE(5223), 1,
      sym_simple_identifier,
    STATE(5858), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5331), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6761), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5452), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6759), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5305), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 16,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [70728] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3393), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3395), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [70789] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3321), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3323), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [70850] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3593), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3595), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [70911] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3157), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3159), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [70974] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2781), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(2779), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [71035] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3345), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3348), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [71096] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3533), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3535), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [71157] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3351), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3354), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [71218] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3357), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3359), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [71279] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3331), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3333), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [71340] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3310), 1,
      anon_sym_LT,
    ACTIONS(5425), 1,
      sym__as_custom,
    ACTIONS(5429), 1,
      anon_sym_QMARK,
    ACTIONS(6777), 1,
      anon_sym_COLON,
    STATE(2086), 1,
      sym_type_arguments,
    ACTIONS(3307), 4,
      sym__dot_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3303), 9,
      anon_sym_BANG,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3305), 34,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [71415] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3361), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3363), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [71476] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3501), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3503), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [71537] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3625), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3627), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [71598] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3489), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3491), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [71659] = 5,
    ACTIONS(6106), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3028), 2,
      anon_sym_AT,
      anon_sym_unowned,
    STATE(2923), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3030), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [71724] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3198), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3200), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [71787] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5166), 1,
      anon_sym_DOT,
    STATE(3054), 1,
      aux_sym_key_path_expression_repeat1,
    ACTIONS(3264), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3266), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [71854] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3465), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3467), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [71915] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3365), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3367), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [71976] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6779), 1,
      sym_else,
    ACTIONS(3297), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3299), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [72041] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3369), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3371), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [72102] = 18,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5317), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 16,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [72193] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3449), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3451), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [72254] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3377), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3379), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [72315] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3317), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3319), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [72376] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5166), 1,
      anon_sym_DOT,
    STATE(3055), 1,
      aux_sym_key_path_expression_repeat1,
    ACTIONS(3264), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3266), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [72443] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6710), 2,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
    STATE(4918), 2,
      sym__conjunction_operator,
      sym__disjunction_operator,
    ACTIONS(3275), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3277), 37,
      sym__dot_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [72510] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6783), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6781), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [72571] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3310), 1,
      anon_sym_LT,
    ACTIONS(6785), 1,
      anon_sym_COLON,
    STATE(2086), 1,
      sym_type_arguments,
    ACTIONS(3307), 4,
      sym__dot_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3303), 10,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3305), 35,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [72642] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3202), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3204), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_self,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [72705] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(4352), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
    ACTIONS(3303), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3305), 37,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [72770] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3433), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3435), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [72831] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3237), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3239), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [72892] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3417), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3419), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [72953] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3225), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3227), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [73014] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3213), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3215), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [73075] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3091), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3093), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [73138] = 19,
    ACTIONS(623), 1,
      anon_sym_QMARK,
    ACTIONS(3773), 1,
      anon_sym_LPAREN,
    ACTIONS(3775), 1,
      anon_sym_LBRACK,
    ACTIONS(3781), 1,
      anon_sym_TILDE,
    ACTIONS(6787), 1,
      anon_sym_each,
    ACTIONS(6789), 1,
      anon_sym_repeat,
    ACTIONS(6791), 1,
      anon_sym_some,
    ACTIONS(6793), 1,
      anon_sym_any,
    STATE(1712), 1,
      sym__simple_user_type,
    STATE(1719), 1,
      sym_simple_identifier,
    STATE(1804), 1,
      sym__parenthesized_type,
    STATE(5063), 1,
      sym_tuple_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1734), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3764), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1743), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3762), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5229), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 15,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
  [73231] = 19,
    ACTIONS(623), 1,
      anon_sym_QMARK,
    ACTIONS(3773), 1,
      anon_sym_LPAREN,
    ACTIONS(3775), 1,
      anon_sym_LBRACK,
    ACTIONS(3781), 1,
      anon_sym_TILDE,
    ACTIONS(6787), 1,
      anon_sym_each,
    ACTIONS(6789), 1,
      anon_sym_repeat,
    ACTIONS(6791), 1,
      anon_sym_some,
    ACTIONS(6793), 1,
      anon_sym_any,
    STATE(1712), 1,
      sym__simple_user_type,
    STATE(1719), 1,
      sym_simple_identifier,
    STATE(1804), 1,
      sym__parenthesized_type,
    STATE(5063), 1,
      sym_tuple_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1734), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3764), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1743), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3762), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5214), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 15,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
  [73324] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6797), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6795), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_macro,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [73385] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3190), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3192), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [73446] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3727), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3725), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_macro,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [73507] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3219), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3221), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [73568] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6799), 1,
      sym_else,
    ACTIONS(3287), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3289), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [73633] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3133), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3135), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [73696] = 5,
    ACTIONS(6106), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2998), 2,
      anon_sym_AT,
      anon_sym_unowned,
    STATE(2952), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [73761] = 6,
    ACTIONS(6801), 1,
      sym__dot_custom,
    STATE(2984), 1,
      aux_sym_user_type_repeat1,
    STATE(5397), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2991), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(2993), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [73828] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3310), 1,
      anon_sym_LT,
    STATE(2086), 1,
      sym_type_arguments,
    ACTIONS(3307), 4,
      sym__dot_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3303), 10,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3305), 36,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [73897] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3157), 3,
      anon_sym_QMARK,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3159), 49,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [73958] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3409), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3411), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [74019] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3091), 3,
      anon_sym_QMARK,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3093), 49,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [74080] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3445), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3447), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [74141] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6806), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6804), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_macro,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [74202] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3385), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3387), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [74263] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5488), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5496), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_macro,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [74324] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3125), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3127), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [74387] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3275), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3277), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [74448] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6810), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6808), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_macro,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [74509] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3105), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3107), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [74572] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3157), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3159), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [74635] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3310), 1,
      anon_sym_LT,
    ACTIONS(6812), 1,
      anon_sym_COLON,
    STATE(2086), 1,
      sym_type_arguments,
    ACTIONS(3307), 4,
      sym__dot_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3303), 10,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3305), 35,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [74706] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3413), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3415), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [74767] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3313), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3315), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [74828] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3260), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3262), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_self,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [74891] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3293), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3295), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [74952] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3091), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3093), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [75015] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3268), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3270), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [75078] = 19,
    ACTIONS(623), 1,
      anon_sym_QMARK,
    ACTIONS(6818), 1,
      anon_sym_each,
    ACTIONS(6820), 1,
      anon_sym_repeat,
    ACTIONS(6822), 1,
      anon_sym_LPAREN,
    ACTIONS(6824), 1,
      anon_sym_LBRACK,
    ACTIONS(6826), 1,
      anon_sym_some,
    ACTIONS(6828), 1,
      anon_sym_any,
    ACTIONS(6830), 1,
      anon_sym_TILDE,
    STATE(5069), 1,
      sym_tuple_type,
    STATE(5249), 1,
      sym__simple_user_type,
    STATE(5251), 1,
      sym_simple_identifier,
    STATE(5870), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5356), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6816), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5348), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6814), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5328), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 15,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
  [75171] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6832), 1,
      anon_sym_LT,
    STATE(3363), 1,
      sym_type_arguments,
    ACTIONS(3081), 11,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3083), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [75238] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6710), 2,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
    STATE(4918), 2,
      sym__conjunction_operator,
      sym__disjunction_operator,
    ACTIONS(3252), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3254), 37,
      sym__dot_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [75305] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3202), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3204), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [75366] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3202), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3204), 50,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [75427] = 19,
    ACTIONS(623), 1,
      anon_sym_QMARK,
    ACTIONS(6818), 1,
      anon_sym_each,
    ACTIONS(6820), 1,
      anon_sym_repeat,
    ACTIONS(6822), 1,
      anon_sym_LPAREN,
    ACTIONS(6824), 1,
      anon_sym_LBRACK,
    ACTIONS(6826), 1,
      anon_sym_some,
    ACTIONS(6828), 1,
      anon_sym_any,
    ACTIONS(6830), 1,
      anon_sym_TILDE,
    STATE(5069), 1,
      sym_tuple_type,
    STATE(5249), 1,
      sym__simple_user_type,
    STATE(5251), 1,
      sym_simple_identifier,
    STATE(5870), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5356), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6816), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5348), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6814), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5254), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 15,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
  [75520] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3437), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3439), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [75581] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3310), 1,
      anon_sym_LT,
    ACTIONS(6834), 1,
      anon_sym_COLON,
    STATE(2086), 1,
      sym_type_arguments,
    ACTIONS(3307), 4,
      sym__dot_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3303), 10,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3305), 35,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [75652] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6838), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6836), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [75713] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3293), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3295), 41,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [75776] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3513), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3515), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [75837] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5444), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5442), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [75898] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3310), 1,
      anon_sym_LT,
    ACTIONS(6840), 1,
      anon_sym_COLON,
    STATE(2086), 1,
      sym_type_arguments,
    ACTIONS(3307), 4,
      sym__dot_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3303), 10,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3305), 35,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [75969] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6844), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6842), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [76030] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6844), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6842), 50,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [76091] = 5,
    ACTIONS(6846), 1,
      anon_sym_LT,
    STATE(3653), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3081), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3083), 48,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [76156] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3198), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3200), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [76219] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3310), 1,
      anon_sym_LT,
    ACTIONS(6848), 1,
      anon_sym_COLON,
    STATE(2086), 1,
      sym_type_arguments,
    ACTIONS(3307), 4,
      sym__dot_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3303), 10,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3305), 35,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [76290] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3310), 1,
      anon_sym_LT,
    STATE(2086), 1,
      sym_type_arguments,
    ACTIONS(3307), 4,
      sym__dot_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3303), 10,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3305), 36,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [76359] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3133), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3135), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [76422] = 6,
    ACTIONS(6850), 1,
      sym__dot_custom,
    STATE(2984), 1,
      aux_sym_user_type_repeat1,
    STATE(5397), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3039), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3041), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [76489] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3125), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3127), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [76552] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3310), 1,
      anon_sym_LT,
    ACTIONS(6852), 1,
      anon_sym_COLON,
    STATE(2086), 1,
      sym_type_arguments,
    ACTIONS(3307), 4,
      sym__dot_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3303), 10,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3305), 35,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [76623] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3310), 1,
      anon_sym_LT,
    ACTIONS(6854), 1,
      anon_sym_COLON,
    STATE(2086), 1,
      sym_type_arguments,
    ACTIONS(3307), 4,
      sym__dot_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3303), 10,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3305), 35,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [76694] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3105), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3107), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [76757] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3313), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3315), 41,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [76820] = 6,
    ACTIONS(6850), 1,
      sym__dot_custom,
    STATE(3025), 1,
      aux_sym_user_type_repeat1,
    STATE(5397), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3046), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3048), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [76887] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3537), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3539), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [76948] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3310), 1,
      anon_sym_LT,
    ACTIONS(6856), 1,
      anon_sym_COLON,
    STATE(2086), 1,
      sym_type_arguments,
    ACTIONS(3307), 4,
      sym__dot_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3303), 10,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3305), 35,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [77019] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(2661), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(2663), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_self,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [77082] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(1754), 1,
      sym_lambda_literal,
    STATE(3643), 1,
      sym__fn_call_lambda_arguments,
    ACTIONS(6858), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3685), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3687), 37,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [77151] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    STATE(1754), 1,
      sym_lambda_literal,
    STATE(3652), 1,
      sym__fn_call_lambda_arguments,
    ACTIONS(6861), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3692), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3694), 37,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [77220] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3145), 3,
      anon_sym_QMARK,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3147), 49,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [77281] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3180), 3,
      anon_sym_QMARK,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3182), 49,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [77342] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3141), 3,
      anon_sym_QMARK,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3143), 49,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [77403] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3457), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3459), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [77464] = 4,
    STATE(3043), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3233), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3235), 49,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [77527] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3121), 3,
      anon_sym_QMARK,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3123), 49,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [77588] = 5,
    ACTIONS(6864), 1,
      anon_sym_AMP,
    STATE(3043), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3077), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3079), 48,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [77653] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3397), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3399), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [77714] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(4311), 2,
      anon_sym_let,
      anon_sym_var,
    ACTIONS(623), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(617), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [77779] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3549), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3551), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [77840] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3553), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3555), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [77901] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3186), 3,
      anon_sym_QMARK,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3188), 49,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [77962] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3310), 1,
      anon_sym_LT,
    ACTIONS(5425), 1,
      sym__as_custom,
    ACTIONS(5429), 1,
      anon_sym_QMARK,
    ACTIONS(6867), 1,
      anon_sym_COLON,
    STATE(2086), 1,
      sym_type_arguments,
    ACTIONS(3307), 4,
      sym__dot_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3303), 9,
      anon_sym_BANG,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3305), 34,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [78037] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3129), 3,
      anon_sym_QMARK,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3131), 49,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [78098] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3113), 3,
      anon_sym_QMARK,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3115), 49,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [78159] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3469), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3471), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [78220] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3461), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3463), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [78281] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5166), 1,
      anon_sym_DOT,
    STATE(3055), 1,
      aux_sym_key_path_expression_repeat1,
    ACTIONS(3244), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3246), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [78348] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(6869), 1,
      anon_sym_DOT,
    STATE(3055), 1,
      aux_sym_key_path_expression_repeat1,
    ACTIONS(3268), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3270), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [78415] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3601), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3603), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [78476] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3585), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3587), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [78537] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3485), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3487), 42,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [78598] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3477), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3479), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [78660] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3481), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3483), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [78722] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6874), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6872), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [78782] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6874), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6872), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [78842] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6878), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6876), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [78902] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6878), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6876), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [78962] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6882), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6880), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [79022] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6878), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6876), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [79082] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6878), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6876), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [79142] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6878), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6876), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [79202] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6874), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6872), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [79262] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6878), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6876), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [79322] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6886), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6884), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [79382] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6890), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6888), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [79442] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6894), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6892), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [79502] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6898), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6896), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [79562] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6902), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6900), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [79622] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6906), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6904), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [79682] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6910), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6908), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [79742] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6914), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6912), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [79802] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6918), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6916), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [79862] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6922), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6920), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [79922] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6922), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6920), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [79982] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6926), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6924), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [80042] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6922), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6920), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [80102] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6930), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6928), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [80162] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6930), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6928), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [80222] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6882), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6880), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [80282] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6934), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6932), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [80342] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6934), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6932), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [80402] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6938), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6936), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [80462] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6898), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6896), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [80522] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3489), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3491), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [80584] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6942), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6940), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [80644] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6946), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6944), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [80704] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3485), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3487), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [80766] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6934), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6932), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [80826] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3237), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3239), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [80888] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3190), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3192), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [80950] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6950), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6948), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [81010] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6954), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6952), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [81070] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6958), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6956), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [81130] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3465), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3467), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [81192] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6962), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6960), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [81252] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6966), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6964), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [81312] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3457), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3459), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [81374] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6958), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6956), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [81434] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3313), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3315), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [81496] = 18,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5257), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 15,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [81586] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3310), 1,
      anon_sym_LT,
    STATE(2086), 1,
      sym_type_arguments,
    ACTIONS(3307), 4,
      sym__dot_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    ACTIONS(3303), 10,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3305), 35,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [81654] = 18,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5244), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 15,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [81744] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(6986), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6223), 1,
      sym_dictionary_type,
    STATE(7704), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6479), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [81864] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3293), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3295), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [81926] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3225), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3227), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [81988] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3213), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3215), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [82050] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6992), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6990), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [82110] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3194), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3196), 49,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [82170] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6996), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6994), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [82230] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7000), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6998), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [82290] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7000), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6998), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [82350] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3198), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3200), 49,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [82410] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3433), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3435), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [82472] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3190), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3192), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [82534] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7000), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6998), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [82594] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7004), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7002), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [82654] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3417), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3419), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [82716] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3413), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3415), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [82778] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3133), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3135), 49,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [82838] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3125), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3127), 49,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [82898] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3105), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3107), 49,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [82958] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7004), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7002), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [83018] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3157), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3159), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [83080] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7008), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7006), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [83140] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7004), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7002), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [83200] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7004), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7002), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [83260] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7012), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7010), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [83320] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7008), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7006), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [83380] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7004), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7002), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [83440] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7016), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7014), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [83500] = 19,
    ACTIONS(623), 1,
      anon_sym_QMARK,
    ACTIONS(7022), 1,
      anon_sym_each,
    ACTIONS(7024), 1,
      anon_sym_repeat,
    ACTIONS(7026), 1,
      anon_sym_LPAREN,
    ACTIONS(7028), 1,
      anon_sym_LBRACK,
    ACTIONS(7030), 1,
      anon_sym_some,
    ACTIONS(7032), 1,
      anon_sym_any,
    ACTIONS(7034), 1,
      anon_sym_TILDE,
    STATE(5174), 1,
      sym_tuple_type,
    STATE(5393), 1,
      sym__simple_user_type,
    STATE(5508), 1,
      sym_simple_identifier,
    STATE(5997), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5561), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7020), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5585), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7018), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5354), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 14,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
  [83592] = 19,
    ACTIONS(623), 1,
      anon_sym_QMARK,
    ACTIONS(7022), 1,
      anon_sym_each,
    ACTIONS(7024), 1,
      anon_sym_repeat,
    ACTIONS(7026), 1,
      anon_sym_LPAREN,
    ACTIONS(7028), 1,
      anon_sym_LBRACK,
    ACTIONS(7030), 1,
      anon_sym_some,
    ACTIONS(7032), 1,
      anon_sym_any,
    ACTIONS(7034), 1,
      anon_sym_TILDE,
    STATE(5174), 1,
      sym_tuple_type,
    STATE(5393), 1,
      sym__simple_user_type,
    STATE(5508), 1,
      sym_simple_identifier,
    STATE(5997), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5561), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7020), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5585), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7018), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5444), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 14,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
  [83684] = 19,
    ACTIONS(623), 1,
      anon_sym_DOT,
    ACTIONS(3857), 1,
      anon_sym_LPAREN,
    ACTIONS(3859), 1,
      anon_sym_LBRACK,
    ACTIONS(3865), 1,
      anon_sym_TILDE,
    ACTIONS(7036), 1,
      anon_sym_each,
    ACTIONS(7038), 1,
      anon_sym_repeat,
    ACTIONS(7040), 1,
      anon_sym_some,
    ACTIONS(7042), 1,
      anon_sym_any,
    STATE(1737), 1,
      sym_simple_identifier,
    STATE(1848), 1,
      sym__parenthesized_type,
    STATE(5283), 1,
      sym_tuple_type,
    STATE(5639), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1730), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1772), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3846), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5587), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 14,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT_DOT,
  [83776] = 19,
    ACTIONS(623), 1,
      anon_sym_DOT,
    ACTIONS(3857), 1,
      anon_sym_LPAREN,
    ACTIONS(3859), 1,
      anon_sym_LBRACK,
    ACTIONS(3865), 1,
      anon_sym_TILDE,
    ACTIONS(7036), 1,
      anon_sym_each,
    ACTIONS(7038), 1,
      anon_sym_repeat,
    ACTIONS(7040), 1,
      anon_sym_some,
    ACTIONS(7042), 1,
      anon_sym_any,
    STATE(1737), 1,
      sym_simple_identifier,
    STATE(1848), 1,
      sym__parenthesized_type,
    STATE(5283), 1,
      sym_tuple_type,
    STATE(5639), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1730), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1772), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3846), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5765), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 14,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT_DOT,
  [83868] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7046), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7044), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [83928] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7004), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7002), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [83988] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(7048), 1,
      sym_else,
    ACTIONS(3297), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3299), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [84052] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3385), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3387), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [84114] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(7050), 1,
      sym_else,
    ACTIONS(3287), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3289), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [84178] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3317), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3319), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [84240] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7054), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7052), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [84300] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7058), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7056), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [84360] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7062), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7060), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [84420] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3377), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3379), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [84482] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7066), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7064), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [84542] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7070), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7068), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [84602] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3373), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3375), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [84664] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3369), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3371), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [84726] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3365), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3367), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [84788] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7070), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7068), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [84848] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7074), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7072), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [84908] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7078), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7076), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [84968] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7082), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7080), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [85028] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3091), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3093), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [85090] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7074), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7072), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [85150] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3219), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3221), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [85212] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3361), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3363), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [85274] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7074), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7072), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [85334] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7086), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7084), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [85394] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(7088), 2,
      anon_sym_COMMA,
      anon_sym_RBRACK,
    ACTIONS(5846), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(5850), 38,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [85458] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3357), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3359), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [85520] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3202), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3204), 49,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [85580] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7093), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7091), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [85640] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3351), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3354), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [85702] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3345), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3348), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [85764] = 18,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7099), 1,
      anon_sym_each,
    ACTIONS(7101), 1,
      anon_sym_repeat,
    ACTIONS(7103), 1,
      anon_sym_LPAREN,
    ACTIONS(7105), 1,
      anon_sym_LBRACK,
    ACTIONS(7107), 1,
      anon_sym_some,
    ACTIONS(7109), 1,
      anon_sym_any,
    ACTIONS(7111), 1,
      anon_sym_TILDE,
    STATE(5183), 1,
      sym_tuple_type,
    STATE(5361), 1,
      sym_simple_identifier,
    STATE(5409), 1,
      sym__simple_user_type,
    STATE(6012), 1,
      sym__parenthesized_type,
    STATE(5542), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7097), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5525), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7095), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5423), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 16,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [85854] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(2781), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(2779), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [85916] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3335), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3338), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [85978] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3325), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3328), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [86040] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(447), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(469), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [86102] = 18,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7099), 1,
      anon_sym_each,
    ACTIONS(7101), 1,
      anon_sym_repeat,
    ACTIONS(7103), 1,
      anon_sym_LPAREN,
    ACTIONS(7105), 1,
      anon_sym_LBRACK,
    ACTIONS(7107), 1,
      anon_sym_some,
    ACTIONS(7109), 1,
      anon_sym_any,
    ACTIONS(7111), 1,
      anon_sym_TILDE,
    STATE(5183), 1,
      sym_tuple_type,
    STATE(5361), 1,
      sym_simple_identifier,
    STATE(5409), 1,
      sym__simple_user_type,
    STATE(6012), 1,
      sym__parenthesized_type,
    STATE(5542), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7097), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5525), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7095), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5378), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 16,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [86192] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3202), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3204), 49,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [86252] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3597), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3599), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [86314] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7115), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7113), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [86374] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3117), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3119), 49,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [86434] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3397), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3399), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [86496] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3401), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3403), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [86558] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3405), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3407), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [86620] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(809), 1,
      anon_sym_RPAREN,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6169), 1,
      sym_dictionary_type,
    STATE(8044), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6467), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [86740] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3105), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3107), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [86802] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3421), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3423), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [86864] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3095), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3097), 49,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [86924] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3437), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3439), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [86986] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7119), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7117), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [87046] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3513), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3515), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [87108] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3445), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3447), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [87170] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7123), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7121), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [87230] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7127), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7125), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [87290] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7127), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7125), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [87350] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7127), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7125), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [87410] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7127), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7125), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [87470] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3449), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3451), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [87532] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3149), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3151), 49,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [87592] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7131), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7129), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [87652] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7127), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7125), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [87712] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3453), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3455), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [87774] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7127), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7125), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [87834] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7135), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7133), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [87894] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3493), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3495), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [87956] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6926), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6924), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [88016] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7139), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7137), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [88076] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7141), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [88192] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6926), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6924), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [88252] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3125), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3127), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [88314] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3133), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3135), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [88376] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3505), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3507), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [88438] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3509), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3511), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [88500] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7145), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7143), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [88560] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3549), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3551), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [88622] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3553), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3555), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [88684] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7149), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7147), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [88744] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7153), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7151), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [88804] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7157), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7155), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [88864] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7161), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7159), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [88924] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7165), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7163), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [88984] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7169), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7167), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [89044] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7171), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [89160] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3601), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3603), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [89222] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3137), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3139), 49,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [89282] = 18,
    ACTIONS(111), 1,
      anon_sym_AT,
    ACTIONS(127), 1,
      anon_sym_unowned,
    ACTIONS(3979), 1,
      anon_sym_lazy,
    ACTIONS(4023), 1,
      anon_sym_final,
    ACTIONS(7173), 1,
      anon_sym_RBRACE,
    ACTIONS(7175), 1,
      anon_sym_didSet,
    STATE(2979), 1,
      sym__parameter_ownership_modifier,
    STATE(8840), 1,
      sym_modifiers,
    STATE(8902), 1,
      sym_didset_clause,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4019), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    ACTIONS(129), 3,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(5121), 3,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
    ACTIONS(4017), 4,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
    ACTIONS(125), 5,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(4021), 5,
      anon_sym_class,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
    ACTIONS(3981), 6,
      anon_sym_package,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
    STATE(3731), 14,
      sym_attribute,
      aux_sym__locally_permitted_modifiers,
      sym__non_local_scope_modifier,
      sym__locally_permitted_modifier,
      sym_property_behavior_modifier,
      sym_member_modifier,
      sym_visibility_modifier,
      sym_function_modifier,
      sym_mutation_modifier,
      sym_property_modifier,
      sym_inheritance_modifier,
      sym_parameter_modifier,
      sym_ownership_modifier,
      aux_sym_modifiers_repeat1,
  [89372] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7177), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [89488] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7169), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7167), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [89548] = 18,
    ACTIONS(111), 1,
      anon_sym_AT,
    ACTIONS(127), 1,
      anon_sym_unowned,
    ACTIONS(3979), 1,
      anon_sym_lazy,
    ACTIONS(4023), 1,
      anon_sym_final,
    ACTIONS(7173), 1,
      anon_sym_RBRACE,
    ACTIONS(7179), 1,
      anon_sym_willSet,
    STATE(2979), 1,
      sym__parameter_ownership_modifier,
    STATE(8842), 1,
      sym_modifiers,
    STATE(8902), 1,
      sym_willset_clause,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4019), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    ACTIONS(129), 3,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(5121), 3,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
    ACTIONS(4017), 4,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
    ACTIONS(125), 5,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(4021), 5,
      anon_sym_class,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
    ACTIONS(3981), 6,
      anon_sym_package,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
    STATE(3731), 14,
      sym_attribute,
      aux_sym__locally_permitted_modifiers,
      sym__non_local_scope_modifier,
      sym__locally_permitted_modifier,
      sym_property_behavior_modifier,
      sym_member_modifier,
      sym_visibility_modifier,
      sym_function_modifier,
      sym_mutation_modifier,
      sym_property_modifier,
      sym_inheritance_modifier,
      sym_parameter_modifier,
      sym_ownership_modifier,
      aux_sym_modifiers_repeat1,
  [89638] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7169), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7167), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [89698] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7181), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6212), 1,
      sym_dictionary_type,
    STATE(8141), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6396), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [89818] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7183), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [89934] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7187), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7185), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [89994] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3621), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3623), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [90056] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3625), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3627), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [90118] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7191), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7189), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [90178] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3198), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3200), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [90240] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7193), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [90356] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3633), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3635), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [90418] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7195), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [90534] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3637), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3639), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [90596] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3641), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3643), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [90658] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3649), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3651), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [90720] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3653), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3655), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [90782] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3657), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3659), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [90844] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3661), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3663), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [90906] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7197), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6218), 1,
      sym_dictionary_type,
    STATE(8118), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6403), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [91026] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7199), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [91142] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3665), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3667), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [91204] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3545), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3547), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [91266] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3517), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3519), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [91328] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3389), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3391), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [91390] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3341), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3343), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [91452] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3381), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3383), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [91514] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3109), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3111), 49,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [91574] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3409), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3411), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [91636] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6946), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6944), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [91696] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7203), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7201), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [91756] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7205), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6220), 1,
      sym_dictionary_type,
    STATE(8095), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6414), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [91876] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7207), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [91992] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7209), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [92108] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7211), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6210), 1,
      sym_dictionary_type,
    STATE(8072), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6418), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [92228] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7215), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7213), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [92288] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7217), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [92404] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3275), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3277), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [92466] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7219), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [92582] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7221), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6133), 1,
      sym_dictionary_type,
    STATE(8049), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6421), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [92702] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7203), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7201), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [92762] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7223), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6122), 1,
      sym_dictionary_type,
    STATE(7594), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6401), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [92882] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7225), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [92998] = 18,
    ACTIONS(7231), 1,
      anon_sym_each,
    ACTIONS(7233), 1,
      anon_sym_repeat,
    ACTIONS(7235), 1,
      anon_sym_LPAREN,
    ACTIONS(7237), 1,
      anon_sym_LBRACK,
    ACTIONS(7239), 1,
      anon_sym_some,
    ACTIONS(7241), 1,
      anon_sym_any,
    ACTIONS(7243), 1,
      anon_sym_TILDE,
    STATE(5129), 1,
      sym_tuple_type,
    STATE(5347), 1,
      sym_simple_identifier,
    STATE(5366), 1,
      sym__simple_user_type,
    STATE(5979), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5541), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7229), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5747), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7227), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5371), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [93088] = 18,
    ACTIONS(7231), 1,
      anon_sym_each,
    ACTIONS(7233), 1,
      anon_sym_repeat,
    ACTIONS(7235), 1,
      anon_sym_LPAREN,
    ACTIONS(7237), 1,
      anon_sym_LBRACK,
    ACTIONS(7239), 1,
      anon_sym_some,
    ACTIONS(7241), 1,
      anon_sym_any,
    ACTIONS(7243), 1,
      anon_sym_TILDE,
    STATE(5129), 1,
      sym_tuple_type,
    STATE(5347), 1,
      sym_simple_identifier,
    STATE(5366), 1,
      sym__simple_user_type,
    STATE(5979), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5541), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7229), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5747), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7227), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5352), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [93178] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7245), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [93294] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7249), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7247), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [93354] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7251), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6136), 1,
      sym_dictionary_type,
    STATE(8026), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6446), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [93474] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3481), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3483), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [93536] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3645), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3647), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [93598] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3629), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3631), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [93660] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7255), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7253), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [93720] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7259), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7257), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [93780] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7261), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [93896] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7263), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [94012] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7265), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [94128] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7269), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7267), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [94188] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3617), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3619), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [94250] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3613), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3615), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [94312] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3609), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3611), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [94374] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3605), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3607), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [94436] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7271), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6154), 1,
      sym_dictionary_type,
    STATE(8003), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6452), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [94556] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7273), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [94672] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7277), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7275), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [94732] = 18,
    ACTIONS(111), 1,
      anon_sym_AT,
    ACTIONS(127), 1,
      anon_sym_unowned,
    ACTIONS(3979), 1,
      anon_sym_lazy,
    ACTIONS(4023), 1,
      anon_sym_final,
    ACTIONS(7175), 1,
      anon_sym_didSet,
    ACTIONS(7279), 1,
      anon_sym_RBRACE,
    STATE(2979), 1,
      sym__parameter_ownership_modifier,
    STATE(8724), 1,
      sym_didset_clause,
    STATE(8840), 1,
      sym_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4019), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    ACTIONS(129), 3,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(5121), 3,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
    ACTIONS(4017), 4,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
    ACTIONS(125), 5,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(4021), 5,
      anon_sym_class,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
    ACTIONS(3981), 6,
      anon_sym_package,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
    STATE(3731), 14,
      sym_attribute,
      aux_sym__locally_permitted_modifiers,
      sym__non_local_scope_modifier,
      sym__locally_permitted_modifier,
      sym_property_behavior_modifier,
      sym_member_modifier,
      sym_visibility_modifier,
      sym_function_modifier,
      sym_mutation_modifier,
      sym_property_modifier,
      sym_inheritance_modifier,
      sym_parameter_modifier,
      sym_ownership_modifier,
      aux_sym_modifiers_repeat1,
  [94822] = 18,
    ACTIONS(111), 1,
      anon_sym_AT,
    ACTIONS(127), 1,
      anon_sym_unowned,
    ACTIONS(3979), 1,
      anon_sym_lazy,
    ACTIONS(4023), 1,
      anon_sym_final,
    ACTIONS(7179), 1,
      anon_sym_willSet,
    ACTIONS(7279), 1,
      anon_sym_RBRACE,
    STATE(2979), 1,
      sym__parameter_ownership_modifier,
    STATE(8724), 1,
      sym_willset_clause,
    STATE(8842), 1,
      sym_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4019), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    ACTIONS(129), 3,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(5121), 3,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
    ACTIONS(4017), 4,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
    ACTIONS(125), 5,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(4021), 5,
      anon_sym_class,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
    ACTIONS(3981), 6,
      anon_sym_package,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
    STATE(3731), 14,
      sym_attribute,
      aux_sym__locally_permitted_modifiers,
      sym__non_local_scope_modifier,
      sym__locally_permitted_modifier,
      sym_property_behavior_modifier,
      sym_member_modifier,
      sym_visibility_modifier,
      sym_function_modifier,
      sym_mutation_modifier,
      sym_property_modifier,
      sym_inheritance_modifier,
      sym_parameter_modifier,
      sym_ownership_modifier,
      aux_sym_modifiers_repeat1,
  [94912] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3461), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3463), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [94974] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7281), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [95090] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7285), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7283), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [95150] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(4311), 2,
      anon_sym_let,
      anon_sym_var,
    ACTIONS(623), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(617), 38,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [95214] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7289), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7287), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [95274] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7291), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [95390] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7293), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6190), 1,
      sym_dictionary_type,
    STATE(7980), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6459), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [95510] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7297), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7295), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [95570] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7299), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [95686] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7301), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [95802] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7303), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6217), 1,
      sym_dictionary_type,
    STATE(7804), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6380), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [95922] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7307), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7305), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [95982] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7309), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6142), 1,
      sym_dictionary_type,
    STATE(7957), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6475), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [96102] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7311), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [96218] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7313), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [96334] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7315), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [96450] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7307), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7305), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [96510] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7307), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7305), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [96570] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7307), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7305), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [96630] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3589), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3591), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [96692] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7317), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6145), 1,
      sym_dictionary_type,
    STATE(7934), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6483), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [96812] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3585), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3587), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [96874] = 18,
    ACTIONS(111), 1,
      anon_sym_AT,
    ACTIONS(127), 1,
      anon_sym_unowned,
    ACTIONS(3979), 1,
      anon_sym_lazy,
    ACTIONS(4023), 1,
      anon_sym_final,
    ACTIONS(7175), 1,
      anon_sym_didSet,
    ACTIONS(7319), 1,
      anon_sym_RBRACE,
    STATE(2979), 1,
      sym__parameter_ownership_modifier,
    STATE(8840), 1,
      sym_modifiers,
    STATE(8868), 1,
      sym_didset_clause,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4019), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    ACTIONS(129), 3,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(5121), 3,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
    ACTIONS(4017), 4,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
    ACTIONS(125), 5,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(4021), 5,
      anon_sym_class,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
    ACTIONS(3981), 6,
      anon_sym_package,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
    STATE(3731), 14,
      sym_attribute,
      aux_sym__locally_permitted_modifiers,
      sym__non_local_scope_modifier,
      sym__locally_permitted_modifier,
      sym_property_behavior_modifier,
      sym_member_modifier,
      sym_visibility_modifier,
      sym_function_modifier,
      sym_mutation_modifier,
      sym_property_modifier,
      sym_inheritance_modifier,
      sym_parameter_modifier,
      sym_ownership_modifier,
      aux_sym_modifiers_repeat1,
  [96964] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7307), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7305), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [97024] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3581), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3583), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [97086] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3577), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3579), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [97148] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7307), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7305), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [97208] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7323), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7321), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [97268] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7323), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7321), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [97328] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7323), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7321), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [97388] = 18,
    ACTIONS(111), 1,
      anon_sym_AT,
    ACTIONS(127), 1,
      anon_sym_unowned,
    ACTIONS(3979), 1,
      anon_sym_lazy,
    ACTIONS(4023), 1,
      anon_sym_final,
    ACTIONS(7179), 1,
      anon_sym_willSet,
    ACTIONS(7319), 1,
      anon_sym_RBRACE,
    STATE(2979), 1,
      sym__parameter_ownership_modifier,
    STATE(8842), 1,
      sym_modifiers,
    STATE(8868), 1,
      sym_willset_clause,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4019), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    ACTIONS(129), 3,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(5121), 3,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
    ACTIONS(4017), 4,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
    ACTIONS(125), 5,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(4021), 5,
      anon_sym_class,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
    ACTIONS(3981), 6,
      anon_sym_package,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
    STATE(3731), 14,
      sym_attribute,
      aux_sym__locally_permitted_modifiers,
      sym__non_local_scope_modifier,
      sym__locally_permitted_modifier,
      sym_property_behavior_modifier,
      sym_member_modifier,
      sym_visibility_modifier,
      sym_function_modifier,
      sym_mutation_modifier,
      sym_property_modifier,
      sym_inheritance_modifier,
      sym_parameter_modifier,
      sym_ownership_modifier,
      aux_sym_modifiers_repeat1,
  [97478] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7327), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7325), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [97538] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7329), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [97654] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7333), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7331), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [97714] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7335), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [97830] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7339), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7337), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [97890] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7341), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [98006] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7135), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7133), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [98066] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7343), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6128), 1,
      sym_dictionary_type,
    STATE(7910), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6507), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [98186] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7345), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [98302] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7347), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [98418] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3268), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3270), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [98480] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7349), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6129), 1,
      sym_dictionary_type,
    STATE(7885), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6506), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [98600] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7353), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7351), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [98660] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7135), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7133), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [98720] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3573), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3575), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [98782] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3569), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3571), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [98844] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7355), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6157), 1,
      sym_dictionary_type,
    STATE(8243), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6454), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [98964] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7357), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [99080] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7361), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7359), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [99140] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7363), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [99256] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3565), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3567), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [99318] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3561), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3563), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [99380] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3557), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3559), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [99442] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7353), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7351), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [99502] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7365), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [99618] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7367), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6164), 1,
      sym_dictionary_type,
    STATE(7860), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6500), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [99738] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7353), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7351), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [99798] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7353), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7351), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [99858] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2991), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(2993), 49,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [99918] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7353), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7351), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [99978] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7353), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7351), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [100038] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7371), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7369), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [100098] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7373), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [100214] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7375), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [100330] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7379), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7377), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [100390] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7383), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7381), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [100450] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7387), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7385), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [100510] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3194), 12,
      anon_sym_BANG,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3196), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [100572] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3219), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3221), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [100634] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3541), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3543), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [100696] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7391), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7389), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [100756] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3537), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3539), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [100818] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3529), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3531), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [100880] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3525), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3527), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [100942] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3521), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3523), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [101004] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7393), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [101120] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7395), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6201), 1,
      sym_dictionary_type,
    STATE(7835), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6490), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [101240] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7399), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7397), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [101300] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7401), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [101416] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7403), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [101532] = 23,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    STATE(6582), 1,
      sym_type_constraint,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4169), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6633), 2,
      sym_inheritance_constraint,
      sym_equality_constraint,
    STATE(6918), 2,
      sym_identifier,
      sym__constrained_type,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(4045), 7,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [101632] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7405), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6155), 1,
      sym_dictionary_type,
    STATE(7809), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6486), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [101752] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7407), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [101868] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7409), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [101984] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7411), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6132), 1,
      sym_dictionary_type,
    STATE(7780), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6464), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [102104] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7413), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [102220] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3461), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3463), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [102282] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7417), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7415), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [102342] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7419), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [102458] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7423), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7421), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [102518] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3473), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3475), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [102580] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3441), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3443), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [102642] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7425), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [102758] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3469), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3471), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [102820] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3429), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3431), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [102882] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7427), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [102998] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7431), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7429), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [103058] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7435), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7433), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [103118] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7439), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7437), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [103178] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7443), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7441), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [103238] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3237), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3239), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [103300] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7445), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6146), 1,
      sym_dictionary_type,
    STATE(7751), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6444), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [103420] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7447), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6137), 1,
      sym_dictionary_type,
    STATE(8022), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6477), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [103540] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3501), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3503), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [103602] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3393), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3395), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [103664] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3425), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3427), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [103726] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3321), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3323), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [103788] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3331), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3333), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [103850] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3533), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3535), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [103912] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7451), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7449), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [103972] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3593), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3595), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [104034] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7453), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [104150] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3593), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3595), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [104212] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3597), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3599), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [104274] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3321), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3323), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [104336] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3425), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3427), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [104398] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3393), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3395), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [104460] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3533), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3535), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [104522] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7457), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7455), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [104582] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7461), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7459), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [104642] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3331), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3333), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [104704] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3501), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3503), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [104766] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3489), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3491), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [104828] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7463), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [104944] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7467), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7465), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [105004] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3485), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3487), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [105066] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7469), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [105182] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7473), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7471), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [105242] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3421), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3423), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [105304] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7475), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [105420] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3469), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3471), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [105482] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3429), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3431), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [105544] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3465), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3467), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [105606] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7477), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6158), 1,
      sym_dictionary_type,
    STATE(7722), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6439), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [105726] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7481), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7479), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [105786] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3457), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3459), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [105848] = 18,
    ACTIONS(111), 1,
      anon_sym_AT,
    ACTIONS(127), 1,
      anon_sym_unowned,
    ACTIONS(3979), 1,
      anon_sym_lazy,
    ACTIONS(4023), 1,
      anon_sym_final,
    ACTIONS(7179), 1,
      anon_sym_willSet,
    ACTIONS(7483), 1,
      anon_sym_RBRACE,
    STATE(2979), 1,
      sym__parameter_ownership_modifier,
    STATE(8837), 1,
      sym_willset_clause,
    STATE(8842), 1,
      sym_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4019), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    ACTIONS(129), 3,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(5121), 3,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
    ACTIONS(4017), 4,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
    ACTIONS(125), 5,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(4021), 5,
      anon_sym_class,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
    ACTIONS(3981), 6,
      anon_sym_package,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
    STATE(3731), 14,
      sym_attribute,
      aux_sym__locally_permitted_modifiers,
      sym__non_local_scope_modifier,
      sym__locally_permitted_modifier,
      sym_property_behavior_modifier,
      sym_member_modifier,
      sym_visibility_modifier,
      sym_function_modifier,
      sym_mutation_modifier,
      sym_property_modifier,
      sym_inheritance_modifier,
      sym_parameter_modifier,
      sym_ownership_modifier,
      aux_sym_modifiers_repeat1,
  [105938] = 18,
    ACTIONS(111), 1,
      anon_sym_AT,
    ACTIONS(127), 1,
      anon_sym_unowned,
    ACTIONS(3979), 1,
      anon_sym_lazy,
    ACTIONS(4023), 1,
      anon_sym_final,
    ACTIONS(7175), 1,
      anon_sym_didSet,
    ACTIONS(7483), 1,
      anon_sym_RBRACE,
    STATE(2979), 1,
      sym__parameter_ownership_modifier,
    STATE(8837), 1,
      sym_didset_clause,
    STATE(8840), 1,
      sym_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4019), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    ACTIONS(129), 3,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(5121), 3,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
    ACTIONS(4017), 4,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
    ACTIONS(125), 5,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(4021), 5,
      anon_sym_class,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
    ACTIONS(3981), 6,
      anon_sym_package,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
    STATE(3731), 14,
      sym_attribute,
      aux_sym__locally_permitted_modifiers,
      sym__non_local_scope_modifier,
      sym__locally_permitted_modifier,
      sym_property_behavior_modifier,
      sym_member_modifier,
      sym_visibility_modifier,
      sym_function_modifier,
      sym_mutation_modifier,
      sym_property_modifier,
      sym_inheritance_modifier,
      sym_parameter_modifier,
      sym_ownership_modifier,
      aux_sym_modifiers_repeat1,
  [106028] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7487), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7485), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [106088] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7489), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6131), 1,
      sym_dictionary_type,
    STATE(7834), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6390), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [106208] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7493), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7491), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [106268] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3441), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3443), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [106330] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3473), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3475), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [106392] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7497), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7495), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [106452] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7499), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [106568] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7501), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [106684] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7505), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7503), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [106744] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7505), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7503), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [106804] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7507), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [106920] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7505), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7503), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [106980] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3433), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3435), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [107042] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7361), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7359), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [107102] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7511), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7509), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [107162] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7361), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7359), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [107222] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3417), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3419), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [107284] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3413), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3415), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [107346] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7361), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7359), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [107406] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7361), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7359), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [107466] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3513), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3515), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [107528] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3521), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3523), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [107590] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3525), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3527), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [107652] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7515), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7513), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [107712] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7517), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [107828] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3529), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3531), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [107890] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7361), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7359), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [107950] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3537), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3539), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [108012] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7519), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6188), 1,
      sym_dictionary_type,
    STATE(7693), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6417), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [108132] = 23,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    STATE(6582), 1,
      sym_type_constraint,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4169), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6633), 2,
      sym_inheritance_constraint,
      sym_equality_constraint,
    STATE(6918), 2,
      sym_identifier,
      sym__constrained_type,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(4079), 7,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [108232] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7523), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7521), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [108292] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3541), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3543), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [108354] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7527), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7525), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [108414] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3385), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3387), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [108476] = 5,
    ACTIONS(7529), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3032), 2,
      anon_sym_AT,
      anon_sym_unowned,
    STATE(3468), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3034), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [108540] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3317), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3319), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [108602] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7532), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6147), 1,
      sym_dictionary_type,
    STATE(7663), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6376), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [108722] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7536), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7534), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [108782] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7540), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7538), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [108842] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3377), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3379), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [108904] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7542), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [109020] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7544), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [109136] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3373), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3375), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [109198] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3369), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3371), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [109260] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3365), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3367), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [109322] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7548), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7546), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [109382] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7550), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [109498] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7554), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7552), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [109558] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7558), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7556), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [109618] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7560), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6219), 1,
      sym_dictionary_type,
    STATE(7664), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6387), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [109738] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3549), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3551), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [109800] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7562), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6215), 1,
      sym_dictionary_type,
    STATE(7605), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6492), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [109920] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3361), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3363), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [109982] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7564), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [110098] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3553), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3555), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [110160] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3557), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3559), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [110222] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3357), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3359), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [110284] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3561), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3563), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [110346] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3565), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3567), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [110408] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3351), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3354), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [110470] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3345), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3348), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [110532] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7566), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6176), 1,
      sym_dictionary_type,
    STATE(7487), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6449), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [110652] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(2781), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(2779), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [110714] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3335), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3338), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [110776] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3325), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3328), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [110838] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(447), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(469), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [110900] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7568), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [111016] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7572), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7570), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [111076] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7576), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7574), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [111136] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7580), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7578), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [111196] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3397), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3399), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [111258] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3401), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3403), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [111320] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3405), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3407), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [111382] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7582), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [111498] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7584), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [111614] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3437), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3439), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [111676] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7588), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7586), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [111736] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3445), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3447), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [111798] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3569), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3571), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [111860] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7588), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7586), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [111920] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3573), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3575), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [111982] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7588), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7586), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [112042] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7592), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7590), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [112102] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3449), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3451), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [112164] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7576), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7574), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [112224] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3601), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3603), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [112286] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7592), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7590), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [112346] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3453), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3455), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [112408] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3577), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3579), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [112470] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7596), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7594), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [112530] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3493), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3495), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [112592] = 5,
    ACTIONS(6328), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3028), 2,
      anon_sym_AT,
      anon_sym_unowned,
    STATE(3468), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3030), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [112656] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3581), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3583), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [112718] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7598), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6195), 1,
      sym_dictionary_type,
    STATE(7519), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6503), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [112838] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7600), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [112954] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3585), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3587), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [113016] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3589), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3591), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [113078] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3505), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3507), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [113140] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3509), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3511), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [113202] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7602), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [113318] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7606), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7604), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [113378] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7606), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7604), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [113438] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7608), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6221), 1,
      sym_dictionary_type,
    STATE(7635), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6388), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [113558] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7606), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7604), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [113618] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7612), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7610), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [113678] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3225), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3227), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [113740] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3213), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3215), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [113802] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7616), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7614), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [113862] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7620), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7618), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [113922] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7622), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [114038] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7624), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [114154] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3605), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3607), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [114216] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3609), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3611), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [114278] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3613), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3615), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [114340] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3621), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3623), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [114402] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3625), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3627), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [114464] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7628), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7626), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [114524] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7632), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7630), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [114584] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3617), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3619), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [114646] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3633), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3635), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [114708] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7634), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [114824] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3637), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3639), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [114886] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3641), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3643), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [114948] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3649), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3651), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [115010] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3653), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3655), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [115072] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3657), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3659), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [115134] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3661), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3663), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [115196] = 33,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7636), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(6203), 1,
      sym_dictionary_type,
    STATE(7572), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_user_type,
      sym_array_type,
    STATE(6498), 2,
      sym_opaque_type,
      sym_existential_type,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 8,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [115316] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7638), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [115432] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3665), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3667), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [115494] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3545), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3547), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [115556] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3517), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3519), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [115618] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3389), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3391), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [115680] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3341), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3343), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [115742] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3381), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3383), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [115804] = 5,
    ACTIONS(6328), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2998), 2,
      anon_sym_AT,
      anon_sym_unowned,
    STATE(3525), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [115868] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3409), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3411), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [115930] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3477), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3479), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [115992] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7642), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7640), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [116052] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7644), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [116168] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3275), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3277), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [116230] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7648), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7646), 49,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_precedencegroup,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [116290] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3629), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3631), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [116352] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3645), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3647), 40,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [116414] = 31,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7650), 1,
      anon_sym_RPAREN,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [116530] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3441), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3443), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [116591] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3113), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3115), 48,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [116650] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3585), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3587), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [116711] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3493), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3495), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [116772] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3505), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3507), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [116833] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3275), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3277), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [116894] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3509), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3511), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [116955] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(7652), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
    ACTIONS(5846), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(5850), 37,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [117018] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3213), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3215), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [117079] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3331), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3333), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [117140] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3225), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3227), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [117201] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3453), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3455), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [117262] = 11,
    ACTIONS(7655), 1,
      anon_sym_QMARK2,
    ACTIONS(7657), 1,
      sym__arrow_operator_custom,
    ACTIONS(7659), 1,
      sym__async_keyword_custom,
    STATE(4343), 1,
      sym__arrow_operator,
    STATE(6908), 1,
      sym__async_keyword,
    STATE(8415), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2998), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(3779), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 38,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [117337] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3573), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3575), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [117398] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3569), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3571), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [117459] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3449), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3451), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [117520] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3589), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3591), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [117581] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3129), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3131), 48,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [117640] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3321), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3323), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [117701] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3186), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3188), 48,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [117760] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3565), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3567), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [117821] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3501), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3503), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [117882] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3425), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3427), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [117943] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3561), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3563), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [118004] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3393), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3395), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [118065] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3445), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3447), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [118126] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3557), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3559), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [118187] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3553), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3555), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [118248] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2991), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(2993), 48,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [118307] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3437), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3439), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [118368] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3549), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3551), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [118429] = 8,
    ACTIONS(7661), 1,
      anon_sym_lazy,
    ACTIONS(7664), 1,
      anon_sym_AT,
    ACTIONS(7667), 1,
      anon_sym_final,
    ACTIONS(7673), 1,
      anon_sym_unowned,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7670), 3,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    STATE(3610), 6,
      sym_attribute,
      aux_sym__locally_permitted_modifiers,
      sym__locally_permitted_modifier,
      sym_property_behavior_modifier,
      sym_inheritance_modifier,
      sym_ownership_modifier,
    ACTIONS(5744), 37,
      sym_default_keyword,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_package,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_borrowing,
      anon_sym_consuming,
  [118498] = 5,
    ACTIONS(7676), 1,
      anon_sym_AMP,
    STATE(3611), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3077), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3079), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [118561] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3405), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3407), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [118622] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3401), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3403), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [118683] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3593), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3595), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [118744] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3617), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3619), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [118805] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3397), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3399), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [118866] = 30,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(813), 1,
      sym_wildcard_pattern,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(3777), 1,
      sym__tuple_type_item_identifier,
    STATE(4207), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6007), 1,
      sym_simple_identifier,
    STATE(8336), 1,
      sym_tuple_type_item,
    STATE(8359), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [118979] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(447), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(469), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [119040] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3325), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3328), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [119101] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3335), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3338), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [119162] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3190), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3192), 48,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [119221] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3157), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3159), 48,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [119280] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3121), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3123), 48,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [119339] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(2781), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(2779), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [119400] = 14,
    ACTIONS(7679), 1,
      anon_sym_COLON,
    ACTIONS(7681), 1,
      anon_sym_LBRACE,
    ACTIONS(7683), 1,
      sym__eq_custom,
    ACTIONS(7685), 1,
      sym_where_keyword,
    STATE(619), 1,
      sym__equal_sign,
    STATE(3768), 1,
      sym_type_annotation,
    STATE(3786), 1,
      sym_type_constraints,
    STATE(4494), 1,
      sym__expression_without_willset_didset,
    STATE(4510), 1,
      sym__expression_with_willset_didset,
    STATE(4515), 1,
      sym_willset_didset_block,
    STATE(4516), 1,
      sym_computed_property,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5341), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5335), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [119481] = 18,
    ACTIONS(3807), 1,
      anon_sym_LPAREN,
    ACTIONS(3809), 1,
      anon_sym_LBRACK,
    ACTIONS(3815), 1,
      anon_sym_TILDE,
    ACTIONS(7687), 1,
      anon_sym_each,
    ACTIONS(7689), 1,
      anon_sym_repeat,
    ACTIONS(7691), 1,
      anon_sym_some,
    ACTIONS(7693), 1,
      anon_sym_any,
    STATE(1757), 1,
      sym__simple_user_type,
    STATE(1758), 1,
      sym_simple_identifier,
    STATE(1881), 1,
      sym__parenthesized_type,
    STATE(5217), 1,
      sym_tuple_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1806), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3798), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1775), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3796), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5534), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 14,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
  [119570] = 18,
    ACTIONS(3807), 1,
      anon_sym_LPAREN,
    ACTIONS(3809), 1,
      anon_sym_LBRACK,
    ACTIONS(3815), 1,
      anon_sym_TILDE,
    ACTIONS(7687), 1,
      anon_sym_each,
    ACTIONS(7689), 1,
      anon_sym_repeat,
    ACTIONS(7691), 1,
      anon_sym_some,
    ACTIONS(7693), 1,
      anon_sym_any,
    STATE(1757), 1,
      sym__simple_user_type,
    STATE(1758), 1,
      sym_simple_identifier,
    STATE(1881), 1,
      sym__parenthesized_type,
    STATE(5217), 1,
      sym_tuple_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1806), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3798), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1775), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3796), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5767), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 14,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
  [119659] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3345), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3348), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [119720] = 18,
    ACTIONS(7699), 1,
      anon_sym_each,
    ACTIONS(7701), 1,
      anon_sym_repeat,
    ACTIONS(7703), 1,
      anon_sym_LPAREN,
    ACTIONS(7705), 1,
      anon_sym_LBRACK,
    ACTIONS(7707), 1,
      anon_sym_some,
    ACTIONS(7709), 1,
      anon_sym_any,
    ACTIONS(7711), 1,
      anon_sym_TILDE,
    STATE(5238), 1,
      sym_tuple_type,
    STATE(5779), 1,
      sym_simple_identifier,
    STATE(5780), 1,
      sym__simple_user_type,
    STATE(6069), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5876), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7697), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5911), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7695), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5582), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 14,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
  [119809] = 18,
    ACTIONS(7699), 1,
      anon_sym_each,
    ACTIONS(7701), 1,
      anon_sym_repeat,
    ACTIONS(7703), 1,
      anon_sym_LPAREN,
    ACTIONS(7705), 1,
      anon_sym_LBRACK,
    ACTIONS(7707), 1,
      anon_sym_some,
    ACTIONS(7709), 1,
      anon_sym_any,
    ACTIONS(7711), 1,
      anon_sym_TILDE,
    STATE(5238), 1,
      sym_tuple_type,
    STATE(5779), 1,
      sym_simple_identifier,
    STATE(5780), 1,
      sym__simple_user_type,
    STATE(6069), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5876), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7697), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5911), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7695), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5634), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 14,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
  [119898] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3091), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3093), 48,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [119957] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3351), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3354), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [120018] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3621), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3623), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [120079] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3357), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3359), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [120140] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3361), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3363), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [120201] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3365), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3367), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [120262] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3369), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3371), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [120323] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3373), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3375), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [120384] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3461), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3463), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [120445] = 19,
    ACTIONS(623), 1,
      anon_sym_QMARK,
    ACTIONS(7717), 1,
      anon_sym_each,
    ACTIONS(7719), 1,
      anon_sym_repeat,
    ACTIONS(7721), 1,
      anon_sym_LPAREN,
    ACTIONS(7723), 1,
      anon_sym_LBRACK,
    ACTIONS(7725), 1,
      anon_sym_some,
    ACTIONS(7727), 1,
      anon_sym_any,
    ACTIONS(7729), 1,
      anon_sym_TILDE,
    STATE(5292), 1,
      sym_tuple_type,
    STATE(5447), 1,
      sym_simple_identifier,
    STATE(5480), 1,
      sym__simple_user_type,
    STATE(5925), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5720), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7715), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5633), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7713), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5766), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 13,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
  [120536] = 19,
    ACTIONS(623), 1,
      anon_sym_QMARK,
    ACTIONS(7717), 1,
      anon_sym_each,
    ACTIONS(7719), 1,
      anon_sym_repeat,
    ACTIONS(7721), 1,
      anon_sym_LPAREN,
    ACTIONS(7723), 1,
      anon_sym_LBRACK,
    ACTIONS(7725), 1,
      anon_sym_some,
    ACTIONS(7727), 1,
      anon_sym_any,
    ACTIONS(7729), 1,
      anon_sym_TILDE,
    STATE(5292), 1,
      sym_tuple_type,
    STATE(5447), 1,
      sym_simple_identifier,
    STATE(5480), 1,
      sym__simple_user_type,
    STATE(5925), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5720), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7715), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5633), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7713), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5756), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 13,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
  [120627] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3629), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3631), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [120688] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3625), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3627), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [120749] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3377), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3379), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [120810] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3317), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3319), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [120871] = 23,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    STATE(6704), 1,
      sym_type_constraint,
    STATE(4163), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6798), 2,
      sym_inheritance_constraint,
      sym_equality_constraint,
    STATE(6991), 2,
      sym_identifier,
      sym__constrained_type,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(4045), 7,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [120970] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3633), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3635), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [121031] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3601), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3603), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [121092] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3385), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3387), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [121153] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3641), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3643), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [121214] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3613), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3615), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [121275] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3649), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3651), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [121336] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3194), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3196), 48,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [121395] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3198), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3200), 48,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [121454] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3489), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3491), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [121515] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3485), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3487), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [121576] = 4,
    STATE(3611), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3233), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3235), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [121637] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3469), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3471), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [121698] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3653), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3655), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [121759] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3141), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3143), 48,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [121818] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3133), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3135), 48,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [121877] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3541), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3543), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [121938] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3465), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3467), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [121999] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3657), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3659), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [122060] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3125), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3127), 48,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [122119] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3457), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3459), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [122180] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3105), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3107), 48,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [122239] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3661), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3663), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [122300] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3537), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3539), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [122361] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3597), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3599), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [122422] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3529), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3531), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [122483] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3525), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3527), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [122544] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3665), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3667), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [122605] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3545), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3547), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [122666] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3521), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3523), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [122727] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(7731), 1,
      sym_else,
    ACTIONS(3297), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3299), 38,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [122790] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3533), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3535), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [122851] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3517), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3519), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [122912] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3190), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3192), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [122973] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(7733), 1,
      sym_else,
    ACTIONS(3287), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3289), 38,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [123036] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3219), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3221), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [123097] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3237), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3239), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [123158] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3389), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3391), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [123219] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3341), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3343), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [123280] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3381), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3383), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [123341] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3409), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3411), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [123402] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3433), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3435), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [123463] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3180), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3182), 48,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [123522] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3477), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3479), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [123583] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3417), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3419), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [123644] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3513), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3515), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [123705] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3413), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3415), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [123766] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3421), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3423), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [123827] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3605), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3607), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [123888] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3429), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3431), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [123949] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3637), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3639), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [124010] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3145), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3147), 48,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [124069] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3581), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3583), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [124130] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3481), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3483), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [124191] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3645), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3647), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [124252] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3609), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3611), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [124313] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3473), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3475), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [124374] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(3577), 11,
      anon_sym_BANG,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_CARET,
    ACTIONS(3579), 39,
      sym__dot_custom,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      sym__nil_coalescing_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      sym__bang_custom,
      sym_else,
      sym__as_custom,
      sym__as_quest_custom,
      sym__as_bang_custom,
      sym__custom_operator,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_QMARK2,
      anon_sym_AMP,
      aux_sym_custom_operator_token1,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT_DOT_DOT,
      anon_sym_DOT_DOT_LT,
      anon_sym_is,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [124435] = 4,
    ACTIONS(7735), 1,
      anon_sym_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6714), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6712), 47,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_case,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [124496] = 23,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    STATE(6704), 1,
      sym_type_constraint,
    STATE(4163), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6798), 2,
      sym_inheritance_constraint,
      sym_equality_constraint,
    STATE(6991), 2,
      sym_identifier,
      sym__constrained_type,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(4079), 7,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [124595] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3157), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3159), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [124653] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3113), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3115), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [124711] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3186), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3188), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [124769] = 5,
    ACTIONS(7737), 1,
      anon_sym_AMP,
    STATE(3709), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3077), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3079), 45,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [124831] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3202), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3204), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [124889] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3091), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3093), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [124947] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3145), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3147), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [125005] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3137), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3139), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [125063] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3109), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3111), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [125121] = 23,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    STATE(6675), 1,
      sym_type_constraint,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4182), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6658), 2,
      sym_inheritance_constraint,
      sym_equality_constraint,
    STATE(6976), 2,
      sym_identifier,
      sym__constrained_type,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4045), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [125219] = 15,
    ACTIONS(225), 1,
      anon_sym_unowned,
    ACTIONS(6510), 1,
      anon_sym_lazy,
    ACTIONS(6522), 1,
      anon_sym_AT,
    ACTIONS(6528), 1,
      anon_sym_final,
    STATE(4794), 1,
      sym__parameter_ownership_modifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5268), 2,
      sym_default_keyword,
      anon_sym_case,
    ACTIONS(6526), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    ACTIONS(227), 3,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(6520), 3,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
    ACTIONS(6524), 4,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
    ACTIONS(223), 5,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(6518), 5,
      anon_sym_class,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
    ACTIONS(6512), 6,
      anon_sym_package,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
    STATE(3729), 14,
      sym_attribute,
      aux_sym__locally_permitted_modifiers,
      sym__non_local_scope_modifier,
      sym__locally_permitted_modifier,
      sym_property_behavior_modifier,
      sym_member_modifier,
      sym_visibility_modifier,
      sym_function_modifier,
      sym_mutation_modifier,
      sym_property_modifier,
      sym_inheritance_modifier,
      sym_parameter_modifier,
      sym_ownership_modifier,
      aux_sym_modifiers_repeat1,
  [125301] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3095), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3097), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [125359] = 4,
    ACTIONS(7740), 1,
      anon_sym_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6714), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6712), 46,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [125419] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3180), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3182), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [125477] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3117), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3119), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [125535] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3149), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3151), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [125593] = 19,
    ACTIONS(7721), 1,
      anon_sym_LPAREN,
    ACTIONS(7723), 1,
      anon_sym_LBRACK,
    ACTIONS(7729), 1,
      anon_sym_TILDE,
    ACTIONS(7742), 1,
      anon_sym_each,
    ACTIONS(7744), 1,
      anon_sym_repeat,
    ACTIONS(7746), 1,
      anon_sym_some,
    ACTIONS(7748), 1,
      anon_sym_any,
    STATE(5379), 1,
      sym_tuple_type,
    STATE(5447), 1,
      sym_simple_identifier,
    STATE(5480), 1,
      sym__simple_user_type,
    STATE(5925), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(623), 2,
      anon_sym_QMARK,
      anon_sym_in,
    STATE(5720), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7715), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5633), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7713), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5875), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 11,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
  [125683] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3129), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3131), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [125741] = 19,
    ACTIONS(7721), 1,
      anon_sym_LPAREN,
    ACTIONS(7723), 1,
      anon_sym_LBRACK,
    ACTIONS(7729), 1,
      anon_sym_TILDE,
    ACTIONS(7742), 1,
      anon_sym_each,
    ACTIONS(7744), 1,
      anon_sym_repeat,
    ACTIONS(7746), 1,
      anon_sym_some,
    ACTIONS(7748), 1,
      anon_sym_any,
    STATE(5379), 1,
      sym_tuple_type,
    STATE(5447), 1,
      sym_simple_identifier,
    STATE(5480), 1,
      sym__simple_user_type,
    STATE(5925), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(623), 2,
      anon_sym_QMARK,
      anon_sym_in,
    STATE(5720), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7715), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5633), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7713), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5877), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 11,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
  [125831] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3190), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3192), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [125889] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3121), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3123), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [125947] = 4,
    STATE(3709), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3233), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3235), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [126007] = 23,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    STATE(6675), 1,
      sym_type_constraint,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4182), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6658), 2,
      sym_inheritance_constraint,
      sym_equality_constraint,
    STATE(6976), 2,
      sym_identifier,
      sym__constrained_type,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4079), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [126105] = 15,
    ACTIONS(7750), 1,
      anon_sym_lazy,
    ACTIONS(7762), 1,
      anon_sym_AT,
    ACTIONS(7771), 1,
      anon_sym_final,
    ACTIONS(7780), 1,
      anon_sym_unowned,
    STATE(4794), 1,
      sym__parameter_ownership_modifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5191), 2,
      sym_default_keyword,
      anon_sym_case,
    ACTIONS(7768), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    ACTIONS(7759), 3,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
    ACTIONS(7777), 3,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(7765), 4,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
    ACTIONS(7756), 5,
      anon_sym_class,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
    ACTIONS(7774), 5,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(7753), 6,
      anon_sym_package,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
    STATE(3729), 14,
      sym_attribute,
      aux_sym__locally_permitted_modifiers,
      sym__non_local_scope_modifier,
      sym__locally_permitted_modifier,
      sym_property_behavior_modifier,
      sym_member_modifier,
      sym_visibility_modifier,
      sym_function_modifier,
      sym_mutation_modifier,
      sym_property_modifier,
      sym_inheritance_modifier,
      sym_parameter_modifier,
      sym_ownership_modifier,
      aux_sym_modifiers_repeat1,
  [126187] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3141), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3143), 47,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [126245] = 15,
    ACTIONS(111), 1,
      anon_sym_AT,
    ACTIONS(127), 1,
      anon_sym_unowned,
    ACTIONS(3979), 1,
      anon_sym_lazy,
    ACTIONS(4023), 1,
      anon_sym_final,
    STATE(2979), 1,
      sym__parameter_ownership_modifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4019), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    ACTIONS(5268), 2,
      anon_sym_willSet,
      anon_sym_didSet,
    ACTIONS(129), 3,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(5121), 3,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
    ACTIONS(4017), 4,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
    ACTIONS(125), 5,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(4021), 5,
      anon_sym_class,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
    ACTIONS(3981), 6,
      anon_sym_package,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
    STATE(1732), 14,
      sym_attribute,
      aux_sym__locally_permitted_modifiers,
      sym__non_local_scope_modifier,
      sym__locally_permitted_modifier,
      sym_property_behavior_modifier,
      sym_member_modifier,
      sym_visibility_modifier,
      sym_function_modifier,
      sym_mutation_modifier,
      sym_property_modifier,
      sym_inheritance_modifier,
      sym_parameter_modifier,
      sym_ownership_modifier,
      aux_sym_modifiers_repeat1,
  [126327] = 5,
    ACTIONS(7783), 1,
      anon_sym_LT,
    STATE(3796), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3081), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3083), 44,
      sym__dot_custom,
      sym_default_keyword,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LPAREN,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [126388] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3095), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3097), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [126445] = 23,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    STATE(6962), 1,
      sym_type_constraint,
    STATE(4166), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6974), 2,
      sym_identifier,
      sym__constrained_type,
    STATE(6997), 2,
      sym_inheritance_constraint,
      sym_equality_constraint,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4045), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [126542] = 7,
    STATE(3808), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4343), 1,
      sym__arrow_operator,
    STATE(6908), 1,
      sym__async_keyword,
    STATE(8415), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3087), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3089), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [126607] = 6,
    ACTIONS(7785), 1,
      sym__dot_custom,
    STATE(3736), 1,
      aux_sym_user_type_repeat1,
    STATE(5403), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2991), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(2993), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [126670] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3109), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3111), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [126727] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3137), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3139), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [126784] = 19,
    ACTIONS(623), 1,
      anon_sym_in,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(7788), 1,
      anon_sym_each,
    ACTIONS(7790), 1,
      anon_sym_repeat,
    ACTIONS(7792), 1,
      anon_sym_some,
    ACTIONS(7794), 1,
      anon_sym_any,
    ACTIONS(7796), 1,
      anon_sym_TILDE,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(5722), 1,
      sym_tuple_type,
    STATE(5990), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5983), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 11,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
  [126873] = 6,
    ACTIONS(7798), 1,
      sym__dot_custom,
    STATE(3740), 1,
      aux_sym_user_type_repeat1,
    STATE(5345), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2991), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(2993), 43,
      sym_default_keyword,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LPAREN,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [126936] = 12,
    ACTIONS(7657), 1,
      sym__arrow_operator_custom,
    ACTIONS(7659), 1,
      sym__async_keyword_custom,
    ACTIONS(7801), 1,
      anon_sym_DOT,
    ACTIONS(7803), 1,
      anon_sym_AMP,
    STATE(3808), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4343), 1,
      sym__arrow_operator,
    STATE(6908), 1,
      sym__async_keyword,
    STATE(8415), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3061), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3063), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [127011] = 28,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(3976), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6669), 1,
      sym__type,
    STATE(8467), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [127118] = 6,
    ACTIONS(3083), 1,
      sym__dot_custom,
    ACTIONS(5427), 1,
      anon_sym_LT,
    STATE(2086), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5429), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5425), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [127181] = 12,
    ACTIONS(7657), 1,
      sym__arrow_operator_custom,
    ACTIONS(7659), 1,
      sym__async_keyword_custom,
    ACTIONS(7801), 1,
      anon_sym_DOT,
    ACTIONS(7803), 1,
      anon_sym_AMP,
    STATE(3808), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4343), 1,
      sym__arrow_operator,
    STATE(6908), 1,
      sym__async_keyword,
    STATE(8415), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3077), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3079), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [127256] = 28,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(7788), 1,
      anon_sym_each,
    ACTIONS(7790), 1,
      anon_sym_repeat,
    ACTIONS(7792), 1,
      anon_sym_some,
    ACTIONS(7794), 1,
      anon_sym_any,
    ACTIONS(7796), 1,
      anon_sym_TILDE,
    STATE(4086), 1,
      sym_parameter_modifiers,
    STATE(4704), 1,
      sym_type_modifiers,
    STATE(4834), 1,
      sym__parameter_ownership_modifier,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(5722), 1,
      sym_tuple_type,
    STATE(5990), 1,
      sym__simple_user_type,
    STATE(6602), 1,
      sym__type,
    STATE(6674), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(7805), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5953), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [127363] = 5,
    ACTIONS(7807), 1,
      anon_sym_LT,
    STATE(3798), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3081), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3083), 44,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [127424] = 6,
    ACTIONS(7809), 1,
      sym__dot_custom,
    STATE(3740), 1,
      aux_sym_user_type_repeat1,
    STATE(5345), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3039), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3041), 43,
      sym_default_keyword,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LPAREN,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [127487] = 12,
    ACTIONS(7657), 1,
      sym__arrow_operator_custom,
    ACTIONS(7659), 1,
      sym__async_keyword_custom,
    ACTIONS(7801), 1,
      anon_sym_DOT,
    ACTIONS(7803), 1,
      anon_sym_AMP,
    STATE(3808), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4343), 1,
      sym__arrow_operator,
    STATE(6908), 1,
      sym__async_keyword,
    STATE(8415), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3073), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3075), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [127562] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3202), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3204), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [127619] = 18,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6004), 1,
      sym_simple_identifier,
    STATE(6255), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6013), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 12,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
  [127706] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3117), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3119), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [127763] = 28,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(7788), 1,
      anon_sym_each,
    ACTIONS(7790), 1,
      anon_sym_repeat,
    ACTIONS(7792), 1,
      anon_sym_some,
    ACTIONS(7794), 1,
      anon_sym_any,
    ACTIONS(7796), 1,
      anon_sym_TILDE,
    STATE(3940), 1,
      sym_parameter_modifiers,
    STATE(4704), 1,
      sym_type_modifiers,
    STATE(4834), 1,
      sym__parameter_ownership_modifier,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(5722), 1,
      sym_tuple_type,
    STATE(5990), 1,
      sym__simple_user_type,
    STATE(6602), 1,
      sym__type,
    STATE(6761), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(7805), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5953), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [127870] = 23,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    STATE(6962), 1,
      sym_type_constraint,
    STATE(4166), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6974), 2,
      sym_identifier,
      sym__constrained_type,
    STATE(6997), 2,
      sym_inheritance_constraint,
      sym_equality_constraint,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4079), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [127967] = 12,
    ACTIONS(7657), 1,
      sym__arrow_operator_custom,
    ACTIONS(7659), 1,
      sym__async_keyword_custom,
    ACTIONS(7801), 1,
      anon_sym_DOT,
    ACTIONS(7803), 1,
      anon_sym_AMP,
    STATE(3808), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4343), 1,
      sym__arrow_operator,
    STATE(6908), 1,
      sym__async_keyword,
    STATE(8415), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3065), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3067), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [128042] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3149), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3151), 46,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [128099] = 7,
    STATE(3808), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4343), 1,
      sym__arrow_operator,
    STATE(6908), 1,
      sym__async_keyword,
    STATE(8415), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3069), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3071), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [128164] = 6,
    ACTIONS(7809), 1,
      sym__dot_custom,
    STATE(3747), 1,
      aux_sym_user_type_repeat1,
    STATE(5345), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3046), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3048), 43,
      sym_default_keyword,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LPAREN,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [128227] = 4,
    ACTIONS(7811), 1,
      anon_sym_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6714), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6712), 45,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_import,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_macro,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_init,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [128286] = 6,
    ACTIONS(7813), 1,
      sym__dot_custom,
    STATE(3769), 1,
      aux_sym_user_type_repeat1,
    STATE(5403), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3046), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3048), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [128349] = 18,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5320), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 12,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
  [128436] = 28,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(3857), 1,
      anon_sym_LPAREN,
    ACTIONS(3859), 1,
      anon_sym_LBRACK,
    ACTIONS(3865), 1,
      anon_sym_TILDE,
    ACTIONS(7036), 1,
      anon_sym_each,
    ACTIONS(7038), 1,
      anon_sym_repeat,
    ACTIONS(7040), 1,
      anon_sym_some,
    ACTIONS(7042), 1,
      anon_sym_any,
    STATE(1730), 1,
      sym__contextual_simple_identifier,
    STATE(1737), 1,
      sym_simple_identifier,
    STATE(1848), 1,
      sym__parenthesized_type,
    STATE(2181), 1,
      sym__type,
    STATE(4005), 1,
      sym_parameter_modifiers,
    STATE(4635), 1,
      sym_type_modifiers,
    STATE(4781), 1,
      sym__parameter_ownership_modifier,
    STATE(5283), 1,
      sym_tuple_type,
    STATE(5639), 1,
      sym__simple_user_type,
    STATE(6849), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(7815), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1772), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3846), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5572), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [128543] = 28,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(3857), 1,
      anon_sym_LPAREN,
    ACTIONS(3859), 1,
      anon_sym_LBRACK,
    ACTIONS(3865), 1,
      anon_sym_TILDE,
    ACTIONS(7036), 1,
      anon_sym_each,
    ACTIONS(7038), 1,
      anon_sym_repeat,
    ACTIONS(7040), 1,
      anon_sym_some,
    ACTIONS(7042), 1,
      anon_sym_any,
    STATE(1730), 1,
      sym__contextual_simple_identifier,
    STATE(1737), 1,
      sym_simple_identifier,
    STATE(1848), 1,
      sym__parenthesized_type,
    STATE(2181), 1,
      sym__type,
    STATE(3919), 1,
      sym_parameter_modifiers,
    STATE(4635), 1,
      sym_type_modifiers,
    STATE(4781), 1,
      sym__parameter_ownership_modifier,
    STATE(5283), 1,
      sym_tuple_type,
    STATE(5639), 1,
      sym__simple_user_type,
    STATE(6953), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(7815), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1772), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3846), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5572), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [128650] = 28,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(3888), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6669), 1,
      sym__type,
    STATE(8531), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [128757] = 18,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6004), 1,
      sym_simple_identifier,
    STATE(6255), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5962), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 12,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
  [128844] = 12,
    ACTIONS(7657), 1,
      sym__arrow_operator_custom,
    ACTIONS(7659), 1,
      sym__async_keyword_custom,
    ACTIONS(7801), 1,
      anon_sym_DOT,
    ACTIONS(7803), 1,
      anon_sym_AMP,
    STATE(3808), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(4343), 1,
      sym__arrow_operator,
    STATE(6908), 1,
      sym__async_keyword,
    STATE(8415), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3053), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3055), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [128919] = 19,
    ACTIONS(623), 1,
      anon_sym_in,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(7788), 1,
      anon_sym_each,
    ACTIONS(7790), 1,
      anon_sym_repeat,
    ACTIONS(7792), 1,
      anon_sym_some,
    ACTIONS(7794), 1,
      anon_sym_any,
    ACTIONS(7796), 1,
      anon_sym_TILDE,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(5722), 1,
      sym_tuple_type,
    STATE(5990), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5972), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 11,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
  [129008] = 18,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5317), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
    ACTIONS(617), 12,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
  [129095] = 12,
    ACTIONS(7681), 1,
      anon_sym_LBRACE,
    ACTIONS(7683), 1,
      sym__eq_custom,
    ACTIONS(7685), 1,
      sym_where_keyword,
    STATE(619), 1,
      sym__equal_sign,
    STATE(3793), 1,
      sym_type_constraints,
    STATE(4517), 1,
      sym__expression_with_willset_didset,
    STATE(4518), 1,
      sym__expression_without_willset_didset,
    STATE(4519), 1,
      sym_willset_didset_block,
    STATE(4520), 1,
      sym_computed_property,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5444), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5442), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [129170] = 6,
    ACTIONS(7813), 1,
      sym__dot_custom,
    STATE(3736), 1,
      aux_sym_user_type_repeat1,
    STATE(5403), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3039), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3041), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [129233] = 5,
    ACTIONS(7817), 1,
      anon_sym_LPAREN,
    STATE(3818), 1,
      sym__tuple_pattern,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5475), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5471), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [129293] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3202), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3204), 45,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [129349] = 6,
    ACTIONS(6200), 1,
      anon_sym_AT,
    ACTIONS(6203), 1,
      anon_sym_unowned,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7819), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    ACTIONS(6198), 3,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
    ACTIONS(6205), 40,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [129411] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3202), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3204), 45,
      sym__dot_custom,
      sym_default_keyword,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LPAREN,
      anon_sym_LT,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [129467] = 5,
    ACTIONS(7822), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3032), 2,
      anon_sym_AT,
      anon_sym_unowned,
    STATE(3774), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3034), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [129527] = 5,
    ACTIONS(7655), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2998), 2,
      anon_sym_AT,
      anon_sym_unowned,
    STATE(3779), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [129587] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3202), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3204), 45,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [129643] = 27,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(811), 1,
      anon_sym_AT,
    ACTIONS(815), 1,
      anon_sym_inout,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4344), 1,
      sym_parameter_modifiers,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(4797), 1,
      sym__parameter_ownership_modifier,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5075), 1,
      sym__contextual_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8575), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(6988), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4947), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [129747] = 5,
    ACTIONS(7817), 1,
      anon_sym_LPAREN,
    STATE(3812), 1,
      sym__tuple_pattern,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5483), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5481), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [129807] = 5,
    ACTIONS(7655), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3028), 2,
      anon_sym_AT,
      anon_sym_unowned,
    STATE(3774), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3030), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [129867] = 5,
    ACTIONS(7817), 1,
      anon_sym_LPAREN,
    STATE(3802), 1,
      sym__tuple_pattern,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5511), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5509), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [129927] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3202), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3204), 44,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [129982] = 6,
    ACTIONS(5639), 1,
      sym__as_custom,
    ACTIONS(7825), 1,
      anon_sym_QMARK,
    STATE(3835), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5637), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5633), 41,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [130043] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3105), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3107), 44,
      sym__dot_custom,
      sym_default_keyword,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LPAREN,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [130098] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3125), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3127), 44,
      sym__dot_custom,
      sym_default_keyword,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LPAREN,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [130153] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3133), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3135), 44,
      sym__dot_custom,
      sym_default_keyword,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LPAREN,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [130208] = 10,
    ACTIONS(7681), 1,
      anon_sym_LBRACE,
    ACTIONS(7683), 1,
      sym__eq_custom,
    STATE(619), 1,
      sym__equal_sign,
    STATE(4506), 1,
      sym_willset_didset_block,
    STATE(4512), 1,
      sym__expression_without_willset_didset,
    STATE(4513), 1,
      sym_computed_property,
    STATE(4522), 1,
      sym__expression_with_willset_didset,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5444), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5442), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [130277] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3125), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3127), 44,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [130332] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3105), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3107), 44,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [130387] = 6,
    ACTIONS(5613), 1,
      sym__as_custom,
    ACTIONS(7827), 1,
      anon_sym_QMARK,
    STATE(3834), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5611), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5607), 41,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [130448] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3198), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3200), 44,
      sym__dot_custom,
      sym_default_keyword,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LPAREN,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [130503] = 23,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(2458), 1,
      sym_type_constraint,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4079), 2,
      anon_sym_GT,
      anon_sym_LBRACE,
    STATE(2529), 2,
      sym_inheritance_constraint,
      sym_equality_constraint,
    STATE(4445), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6905), 2,
      sym_identifier,
      sym__constrained_type,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [130598] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3198), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3200), 44,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [130653] = 10,
    ACTIONS(7681), 1,
      anon_sym_LBRACE,
    ACTIONS(7683), 1,
      sym__eq_custom,
    STATE(619), 1,
      sym__equal_sign,
    STATE(4500), 1,
      sym_computed_property,
    STATE(4501), 1,
      sym_willset_didset_block,
    STATE(4502), 1,
      sym__expression_without_willset_didset,
    STATE(4503), 1,
      sym__expression_with_willset_didset,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5534), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5532), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [130722] = 23,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(2458), 1,
      sym_type_constraint,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4045), 2,
      anon_sym_GT,
      anon_sym_LBRACE,
    STATE(2529), 2,
      sym_inheritance_constraint,
      sym_equality_constraint,
    STATE(4445), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6905), 2,
      sym_identifier,
      sym__constrained_type,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [130817] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2991), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(2993), 44,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [130872] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3194), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3196), 44,
      sym__dot_custom,
      sym_default_keyword,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LPAREN,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [130927] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2991), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(2993), 44,
      sym__dot_custom,
      sym_default_keyword,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LPAREN,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [130982] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3194), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3196), 44,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [131037] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3133), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3135), 44,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [131092] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5734), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5732), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [131146] = 5,
    ACTIONS(7829), 1,
      anon_sym_AMP,
    STATE(3801), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3077), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3079), 41,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [131204] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5696), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5694), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [131258] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5742), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5740), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [131312] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3157), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3159), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [131366] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3121), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3123), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [131420] = 6,
    ACTIONS(7832), 1,
      anon_sym_QMARK,
    ACTIONS(7835), 1,
      sym__as_custom,
    STATE(3832), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5637), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5633), 40,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [131480] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3180), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3182), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [131534] = 4,
    STATE(3801), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3233), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3235), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [131590] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3141), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3143), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [131644] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3145), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3147), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [131698] = 8,
    STATE(6539), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(5485), 4,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(3755), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_repeat,
    ACTIONS(5496), 5,
      sym_default_keyword,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(5488), 25,
      anon_sym_case,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
  [131762] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5475), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5471), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [131816] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3091), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3093), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [131870] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3129), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3131), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [131924] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5664), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5662), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [131978] = 4,
    ACTIONS(7838), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4975), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(4977), 42,
      sym_default_keyword,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [132034] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3186), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3188), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [132088] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5511), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5509), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [132142] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5738), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5736), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [132196] = 7,
    ACTIONS(7679), 1,
      anon_sym_COLON,
    ACTIONS(7844), 1,
      sym__as_custom,
    STATE(4122), 1,
      sym__as,
    STATE(4393), 1,
      sym_type_annotation,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7842), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7840), 39,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [132258] = 5,
    ACTIONS(7848), 1,
      anon_sym_QMARK,
    STATE(3865), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7850), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7846), 41,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [132316] = 5,
    ACTIONS(7852), 1,
      anon_sym_QMARK,
    STATE(3867), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7854), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5639), 41,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [132374] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3190), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3192), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [132428] = 5,
    ACTIONS(7856), 1,
      anon_sym_QMARK,
    STATE(3864), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7858), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5613), 41,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [132486] = 8,
    STATE(6539), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(5485), 4,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(5496), 4,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(3755), 5,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_repeat,
    ACTIONS(5488), 26,
      anon_sym_class,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_AT,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_weak,
      anon_sym_unowned,
  [132550] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5781), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5779), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [132604] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5675), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5673), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [132658] = 6,
    ACTIONS(7860), 1,
      anon_sym_QMARK,
    ACTIONS(7863), 1,
      sym__as_custom,
    STATE(3837), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5611), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5607), 40,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [132718] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3113), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3115), 43,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [132772] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(2453), 1,
      sym_type_constraint,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2529), 2,
      sym_inheritance_constraint,
      sym_equality_constraint,
    STATE(4155), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(7036), 2,
      sym_identifier,
      sym__constrained_type,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [132863] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7868), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7866), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [132916] = 4,
    ACTIONS(7870), 1,
      sym__as_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5879), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5877), 41,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [132971] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3202), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3204), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [133024] = 4,
    ACTIONS(5831), 1,
      sym__as_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5829), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5827), 41,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [133079] = 4,
    ACTIONS(5881), 1,
      sym__as_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5879), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5877), 41,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [133134] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3117), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3119), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [133187] = 4,
    ACTIONS(7873), 1,
      sym__as_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5829), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5827), 41,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [133242] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    STATE(6631), 1,
      sym_type_constraint,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4182), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6658), 2,
      sym_inheritance_constraint,
      sym_equality_constraint,
    STATE(6976), 2,
      sym_identifier,
      sym__constrained_type,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [133333] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    STATE(6711), 1,
      sym_type_constraint,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4166), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6974), 2,
      sym_identifier,
      sym__constrained_type,
    STATE(6997), 2,
      sym_inheritance_constraint,
      sym_equality_constraint,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [133424] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(4138), 1,
      sym_type_constraint,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4111), 2,
      sym_inheritance_constraint,
      sym_equality_constraint,
    STATE(4146), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(7045), 2,
      sym_identifier,
      sym__constrained_type,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [133515] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6797), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6795), 42,
      sym_default_keyword,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [133568] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(4062), 1,
      sym_type_constraint,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4111), 2,
      sym_inheritance_constraint,
      sym_equality_constraint,
    STATE(4146), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(7045), 2,
      sym_identifier,
      sym__constrained_type,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [133659] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    STATE(6582), 1,
      sym_type_constraint,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4169), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6633), 2,
      sym_inheritance_constraint,
      sym_equality_constraint,
    STATE(6918), 2,
      sym_identifier,
      sym__constrained_type,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [133750] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4992), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(4994), 42,
      sym_default_keyword,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [133803] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3209), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3211), 42,
      sym_default_keyword,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [133856] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    STATE(6534), 1,
      sym_type_constraint,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4163), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6798), 2,
      sym_inheritance_constraint,
      sym_equality_constraint,
    STATE(6991), 2,
      sym_identifier,
      sym__constrained_type,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [133947] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    STATE(6675), 1,
      sym_type_constraint,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4182), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6658), 2,
      sym_inheritance_constraint,
      sym_equality_constraint,
    STATE(6976), 2,
      sym_identifier,
      sym__constrained_type,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [134038] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(2589), 1,
      sym_type_constraint,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2628), 2,
      sym_inheritance_constraint,
      sym_equality_constraint,
    STATE(4149), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(7055), 2,
      sym_identifier,
      sym__constrained_type,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [134129] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(2355), 1,
      sym_type_constraint,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2628), 2,
      sym_inheritance_constraint,
      sym_equality_constraint,
    STATE(4149), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(7055), 2,
      sym_identifier,
      sym__constrained_type,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [134220] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    STATE(6438), 1,
      sym_type_constraint,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4169), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6633), 2,
      sym_inheritance_constraint,
      sym_equality_constraint,
    STATE(6918), 2,
      sym_identifier,
      sym__constrained_type,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [134311] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    STATE(6704), 1,
      sym_type_constraint,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4163), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6798), 2,
      sym_inheritance_constraint,
      sym_equality_constraint,
    STATE(6991), 2,
      sym_identifier,
      sym__constrained_type,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [134402] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(2458), 1,
      sym_type_constraint,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2529), 2,
      sym_inheritance_constraint,
      sym_equality_constraint,
    STATE(4445), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6905), 2,
      sym_identifier,
      sym__constrained_type,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [134493] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    STATE(6962), 1,
      sym_type_constraint,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4166), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6974), 2,
      sym_identifier,
      sym__constrained_type,
    STATE(6997), 2,
      sym_inheritance_constraint,
      sym_equality_constraint,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [134584] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6806), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6804), 42,
      sym_default_keyword,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [134637] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(2458), 1,
      sym_type_constraint,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2529), 2,
      sym_inheritance_constraint,
      sym_equality_constraint,
    STATE(4155), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(7036), 2,
      sym_identifier,
      sym__constrained_type,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [134728] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    STATE(7259), 1,
      sym_type_constraint,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2529), 2,
      sym_inheritance_constraint,
      sym_equality_constraint,
    STATE(4445), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6905), 2,
      sym_identifier,
      sym__constrained_type,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [134819] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7878), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7876), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [134872] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4955), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(4957), 42,
      sym_default_keyword,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [134925] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3109), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3111), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [134978] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3137), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3139), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [135031] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3149), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3151), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [135084] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3095), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3097), 42,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_default_keyword,
      sym__async_keyword_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [135137] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4971), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(4973), 42,
      sym_default_keyword,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_case,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [135190] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7880), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5831), 41,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [135242] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7884), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7882), 41,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [135294] = 23,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3857), 1,
      anon_sym_LPAREN,
    ACTIONS(3859), 1,
      anon_sym_LBRACK,
    ACTIONS(3865), 1,
      anon_sym_TILDE,
    ACTIONS(7036), 1,
      anon_sym_each,
    ACTIONS(7038), 1,
      anon_sym_repeat,
    ACTIONS(7040), 1,
      anon_sym_some,
    ACTIONS(7042), 1,
      anon_sym_any,
    ACTIONS(7886), 1,
      anon_sym_RPAREN,
    ACTIONS(7888), 1,
      sym_wildcard_pattern,
    STATE(1848), 1,
      sym__parenthesized_type,
    STATE(4635), 1,
      sym_type_modifiers,
    STATE(5283), 1,
      sym_tuple_type,
    STATE(5639), 1,
      sym__simple_user_type,
    STATE(5807), 1,
      sym_simple_identifier,
    STATE(7001), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1730), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1772), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3846), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5572), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [135386] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7890), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5881), 41,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [135438] = 5,
    ACTIONS(7679), 1,
      anon_sym_COLON,
    STATE(4419), 1,
      sym_type_annotation,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7894), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7892), 39,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [135494] = 7,
    ACTIONS(2903), 1,
      sym_where_keyword,
    ACTIONS(7900), 1,
      sym__eq_custom,
    STATE(650), 1,
      sym__equal_sign,
    STATE(4523), 1,
      sym_where_clause,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7898), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7896), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [135554] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(7902), 1,
      anon_sym_BANG,
    ACTIONS(7910), 1,
      sym__bang_custom,
    ACTIONS(7906), 2,
      sym__custom_operator,
      aux_sym_custom_operator_token1,
    ACTIONS(7908), 8,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    STATE(6781), 10,
      sym_custom_operator,
      sym__assignment_and_operator,
      sym__equality_operator,
      sym__comparison_operator,
      sym__additive_operator,
      sym__multiplicative_operator,
      sym__referenceable_operator,
      sym__equal_sign,
      sym__eq_eq,
      sym_bang,
    ACTIONS(7904), 21,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [135616] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(7912), 1,
      anon_sym_BANG,
    ACTIONS(7920), 1,
      sym__bang_custom,
    ACTIONS(7916), 2,
      sym__custom_operator,
      aux_sym_custom_operator_token1,
    ACTIONS(7918), 8,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    STATE(6747), 10,
      sym_custom_operator,
      sym__assignment_and_operator,
      sym__equality_operator,
      sym__comparison_operator,
      sym__additive_operator,
      sym__multiplicative_operator,
      sym__referenceable_operator,
      sym__equal_sign,
      sym__eq_eq,
      sym_bang,
    ACTIONS(7914), 21,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [135678] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(5684), 1,
      anon_sym_BANG,
    ACTIONS(5692), 1,
      sym__bang_custom,
    ACTIONS(5688), 2,
      sym__custom_operator,
      aux_sym_custom_operator_token1,
    ACTIONS(7924), 8,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_BANG_EQ,
      anon_sym_PLUS,
      anon_sym_DASH,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    STATE(2573), 10,
      sym_custom_operator,
      sym__assignment_and_operator,
      sym__equality_operator,
      sym__comparison_operator,
      sym__additive_operator,
      sym__multiplicative_operator,
      sym__referenceable_operator,
      sym__equal_sign,
      sym__eq_eq,
      sym_bang,
    ACTIONS(7922), 21,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__plus_then_ws,
      sym__minus_then_ws,
      anon_sym_AMP,
      anon_sym_TILDE,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_BANG_EQ_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_PIPE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
  [135740] = 4,
    ACTIONS(7926), 1,
      anon_sym_BANG2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5841), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5837), 40,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [135794] = 7,
    ACTIONS(7928), 1,
      anon_sym_func,
    ACTIONS(7931), 1,
      anon_sym_init,
    STATE(7177), 1,
      sym__non_constructor_function_decl,
    STATE(7302), 1,
      sym__modifierless_function_declaration_no_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5488), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5496), 37,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_typealias,
      anon_sym_class,
      anon_sym_let,
      anon_sym_var,
      anon_sym_deinit,
      anon_sym_subscript,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_associatedtype,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [135854] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7934), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [135943] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7301), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [136034] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(7788), 1,
      anon_sym_each,
    ACTIONS(7790), 1,
      anon_sym_repeat,
    ACTIONS(7792), 1,
      anon_sym_some,
    ACTIONS(7794), 1,
      anon_sym_any,
    ACTIONS(7796), 1,
      anon_sym_TILDE,
    STATE(4704), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(5722), 1,
      sym_tuple_type,
    STATE(5990), 1,
      sym__simple_user_type,
    STATE(6669), 1,
      sym__type,
    STATE(8730), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5953), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [136123] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7940), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [136212] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7942), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [136301] = 18,
    ACTIONS(133), 1,
      sym_raw_str_part,
    ACTIONS(7954), 1,
      anon_sym_DQUOTE,
    ACTIONS(7956), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    ACTIONS(7958), 1,
      sym__oneline_regex_literal,
    ACTIONS(7960), 1,
      anon_sym_RBRACE,
    ACTIONS(7962), 1,
      sym_raw_str_end_part,
    ACTIONS(7964), 1,
      sym__hash_symbol_custom,
    STATE(8056), 1,
      aux_sym_raw_string_literal_repeat1,
    STATE(8658), 1,
      sym__hash_symbol,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7952), 2,
      anon_sym_true,
      anon_sym_false,
    STATE(4874), 2,
      sym__extended_regex_literal,
      sym__multiline_regex_literal,
    STATE(4880), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7946), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(7948), 3,
      anon_sym_nil,
      sym_integer_literal,
      sym_hex_literal,
    ACTIONS(7950), 3,
      sym_real_literal,
      sym_oct_literal,
      sym_bin_literal,
    ACTIONS(7944), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(3990), 9,
      sym_simple_identifier,
      sym__basic_literal,
      sym_boolean_literal,
      sym__string_literal,
      sym_line_string_literal,
      sym_multi_line_string_literal,
      sym_raw_string_literal,
      sym_regex_literal,
      aux_sym_deprecated_operator_declaration_body_repeat1,
  [136382] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7966), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [136471] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7968), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [136560] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7970), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [136649] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7972), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [136738] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7974), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [136827] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7363), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [136918] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7976), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [137007] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6669), 1,
      sym__type,
    STATE(8425), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [137096] = 5,
    ACTIONS(7978), 1,
      anon_sym_COMMA,
    STATE(3889), 1,
      aux_sym_type_constraints_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6138), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6133), 38,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [137151] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7981), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [137240] = 18,
    ACTIONS(133), 1,
      sym_raw_str_part,
    ACTIONS(7954), 1,
      anon_sym_DQUOTE,
    ACTIONS(7956), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    ACTIONS(7958), 1,
      sym__oneline_regex_literal,
    ACTIONS(7962), 1,
      sym_raw_str_end_part,
    ACTIONS(7964), 1,
      sym__hash_symbol_custom,
    ACTIONS(7987), 1,
      anon_sym_RBRACE,
    STATE(8056), 1,
      aux_sym_raw_string_literal_repeat1,
    STATE(8658), 1,
      sym__hash_symbol,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7952), 2,
      anon_sym_true,
      anon_sym_false,
    STATE(4874), 2,
      sym__extended_regex_literal,
      sym__multiline_regex_literal,
    STATE(4880), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7946), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(7983), 3,
      anon_sym_nil,
      sym_integer_literal,
      sym_hex_literal,
    ACTIONS(7985), 3,
      sym_real_literal,
      sym_oct_literal,
      sym_bin_literal,
    ACTIONS(7944), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4015), 9,
      sym_simple_identifier,
      sym__basic_literal,
      sym_boolean_literal,
      sym__string_literal,
      sym_line_string_literal,
      sym_multi_line_string_literal,
      sym_raw_string_literal,
      sym_regex_literal,
      aux_sym_deprecated_operator_declaration_body_repeat1,
  [137321] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7989), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [137410] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7991), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [137499] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(7993), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [137588] = 18,
    ACTIONS(133), 1,
      sym_raw_str_part,
    ACTIONS(7954), 1,
      anon_sym_DQUOTE,
    ACTIONS(7956), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    ACTIONS(7958), 1,
      sym__oneline_regex_literal,
    ACTIONS(7962), 1,
      sym_raw_str_end_part,
    ACTIONS(7964), 1,
      sym__hash_symbol_custom,
    ACTIONS(7999), 1,
      anon_sym_RBRACE,
    STATE(8056), 1,
      aux_sym_raw_string_literal_repeat1,
    STATE(8658), 1,
      sym__hash_symbol,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7952), 2,
      anon_sym_true,
      anon_sym_false,
    STATE(4874), 2,
      sym__extended_regex_literal,
      sym__multiline_regex_literal,
    STATE(4880), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7946), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(7995), 3,
      anon_sym_nil,
      sym_integer_literal,
      sym_hex_literal,
    ACTIONS(7997), 3,
      sym_real_literal,
      sym_oct_literal,
      sym_bin_literal,
    ACTIONS(7944), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(3904), 9,
      sym_simple_identifier,
      sym__basic_literal,
      sym_boolean_literal,
      sym__string_literal,
      sym_line_string_literal,
      sym_multi_line_string_literal,
      sym_raw_string_literal,
      sym_regex_literal,
      aux_sym_deprecated_operator_declaration_body_repeat1,
  [137669] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(2424), 1,
      sym__possibly_implicitly_unwrapped_type,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6669), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [137758] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8001), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [137847] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8003), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [137936] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(4659), 1,
      sym_type_modifiers,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    STATE(7106), 1,
      sym__possibly_implicitly_unwrapped_type,
    STATE(7525), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5243), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [138025] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8005), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [138114] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7699), 1,
      anon_sym_each,
    ACTIONS(7701), 1,
      anon_sym_repeat,
    ACTIONS(7703), 1,
      anon_sym_LPAREN,
    ACTIONS(7705), 1,
      anon_sym_LBRACK,
    ACTIONS(7707), 1,
      anon_sym_some,
    ACTIONS(7709), 1,
      anon_sym_any,
    ACTIONS(7711), 1,
      anon_sym_TILDE,
    STATE(4664), 1,
      sym_type_modifiers,
    STATE(5238), 1,
      sym_tuple_type,
    STATE(5779), 1,
      sym_simple_identifier,
    STATE(5780), 1,
      sym__simple_user_type,
    STATE(6069), 1,
      sym__parenthesized_type,
    STATE(6992), 1,
      sym__type,
    STATE(7195), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5876), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7697), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5911), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7695), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5698), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [138203] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6441), 1,
      anon_sym_each,
    ACTIONS(6443), 1,
      anon_sym_repeat,
    ACTIONS(6445), 1,
      anon_sym_LPAREN,
    ACTIONS(6447), 1,
      anon_sym_LBRACK,
    ACTIONS(6449), 1,
      anon_sym_some,
    ACTIONS(6451), 1,
      anon_sym_any,
    ACTIONS(6453), 1,
      anon_sym_TILDE,
    STATE(4714), 1,
      sym_type_modifiers,
    STATE(5051), 1,
      sym_tuple_type,
    STATE(5141), 1,
      sym_simple_identifier,
    STATE(5187), 1,
      sym__simple_user_type,
    STATE(5753), 1,
      sym__parenthesized_type,
    STATE(6432), 1,
      sym__type,
    STATE(6579), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5241), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6439), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5224), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6437), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5180), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [138292] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(7788), 1,
      anon_sym_each,
    ACTIONS(7790), 1,
      anon_sym_repeat,
    ACTIONS(7792), 1,
      anon_sym_some,
    ACTIONS(7794), 1,
      anon_sym_any,
    ACTIONS(7796), 1,
      anon_sym_TILDE,
    STATE(4704), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(5722), 1,
      sym_tuple_type,
    STATE(5990), 1,
      sym__simple_user_type,
    STATE(6669), 1,
      sym__type,
    STATE(8824), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5953), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [138381] = 18,
    ACTIONS(133), 1,
      sym_raw_str_part,
    ACTIONS(7954), 1,
      anon_sym_DQUOTE,
    ACTIONS(7956), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    ACTIONS(7958), 1,
      sym__oneline_regex_literal,
    ACTIONS(7962), 1,
      sym_raw_str_end_part,
    ACTIONS(7964), 1,
      sym__hash_symbol_custom,
    ACTIONS(8007), 1,
      anon_sym_RBRACE,
    STATE(8056), 1,
      aux_sym_raw_string_literal_repeat1,
    STATE(8658), 1,
      sym__hash_symbol,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7952), 2,
      anon_sym_true,
      anon_sym_false,
    STATE(4874), 2,
      sym__extended_regex_literal,
      sym__multiline_regex_literal,
    STATE(4880), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7946), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(7983), 3,
      anon_sym_nil,
      sym_integer_literal,
      sym_hex_literal,
    ACTIONS(7985), 3,
      sym_real_literal,
      sym_oct_literal,
      sym_bin_literal,
    ACTIONS(7944), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4015), 9,
      sym_simple_identifier,
      sym__basic_literal,
      sym_boolean_literal,
      sym__string_literal,
      sym_line_string_literal,
      sym_multi_line_string_literal,
      sym_raw_string_literal,
      sym_regex_literal,
      aux_sym_deprecated_operator_declaration_body_repeat1,
  [138462] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8009), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [138551] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8011), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [138640] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8013), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [138729] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8015), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [138818] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8017), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [138907] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7340), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [138998] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6441), 1,
      anon_sym_each,
    ACTIONS(6443), 1,
      anon_sym_repeat,
    ACTIONS(6445), 1,
      anon_sym_LPAREN,
    ACTIONS(6447), 1,
      anon_sym_LBRACK,
    ACTIONS(6449), 1,
      anon_sym_some,
    ACTIONS(6451), 1,
      anon_sym_any,
    ACTIONS(6453), 1,
      anon_sym_TILDE,
    STATE(4714), 1,
      sym_type_modifiers,
    STATE(5051), 1,
      sym_tuple_type,
    STATE(5141), 1,
      sym_simple_identifier,
    STATE(5187), 1,
      sym__simple_user_type,
    STATE(5753), 1,
      sym__parenthesized_type,
    STATE(6432), 1,
      sym__type,
    STATE(6557), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5241), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6439), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5224), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6437), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5180), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [139087] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8019), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [139176] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8021), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [139265] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8023), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [139354] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8025), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [139443] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8027), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [139532] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(7788), 1,
      anon_sym_each,
    ACTIONS(7790), 1,
      anon_sym_repeat,
    ACTIONS(7792), 1,
      anon_sym_some,
    ACTIONS(7794), 1,
      anon_sym_any,
    ACTIONS(7796), 1,
      anon_sym_TILDE,
    STATE(4704), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(5722), 1,
      sym_tuple_type,
    STATE(5990), 1,
      sym__simple_user_type,
    STATE(6669), 1,
      sym__type,
    STATE(8892), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5953), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [139621] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8029), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [139710] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3857), 1,
      anon_sym_LPAREN,
    ACTIONS(3859), 1,
      anon_sym_LBRACK,
    ACTIONS(3865), 1,
      anon_sym_TILDE,
    ACTIONS(7036), 1,
      anon_sym_each,
    ACTIONS(7038), 1,
      anon_sym_repeat,
    ACTIONS(7040), 1,
      anon_sym_some,
    ACTIONS(7042), 1,
      anon_sym_any,
    STATE(1737), 1,
      sym_simple_identifier,
    STATE(1848), 1,
      sym__parenthesized_type,
    STATE(2181), 1,
      sym__type,
    STATE(4635), 1,
      sym_type_modifiers,
    STATE(5283), 1,
      sym_tuple_type,
    STATE(5639), 1,
      sym__simple_user_type,
    STATE(6848), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1730), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1772), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3846), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5572), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [139799] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(4659), 1,
      sym_type_modifiers,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    STATE(7525), 1,
      sym__type,
    STATE(8378), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5243), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [139888] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7378), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [139979] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8031), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [140068] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8033), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [140157] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6300), 1,
      anon_sym_each,
    ACTIONS(6302), 1,
      anon_sym_repeat,
    ACTIONS(6304), 1,
      anon_sym_LPAREN,
    ACTIONS(6306), 1,
      anon_sym_LBRACK,
    ACTIONS(6308), 1,
      anon_sym_some,
    ACTIONS(6310), 1,
      anon_sym_any,
    ACTIONS(6312), 1,
      anon_sym_TILDE,
    STATE(4764), 1,
      sym_type_modifiers,
    STATE(5009), 1,
      sym_tuple_type,
    STATE(5100), 1,
      sym__simple_user_type,
    STATE(5104), 1,
      sym_simple_identifier,
    STATE(5491), 1,
      sym__parenthesized_type,
    STATE(6313), 1,
      sym__type,
    STATE(6489), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5151), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6298), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5140), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6296), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5085), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [140246] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8035), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [140335] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8037), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [140424] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8039), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [140513] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8041), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [140602] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8043), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [140691] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8045), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [140780] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8047), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [140869] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8049), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [140958] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8051), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [141047] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8053), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [141136] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8055), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [141225] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8057), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [141314] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7099), 1,
      anon_sym_each,
    ACTIONS(7101), 1,
      anon_sym_repeat,
    ACTIONS(7103), 1,
      anon_sym_LPAREN,
    ACTIONS(7105), 1,
      anon_sym_LBRACK,
    ACTIONS(7107), 1,
      anon_sym_some,
    ACTIONS(7109), 1,
      anon_sym_any,
    ACTIONS(7111), 1,
      anon_sym_TILDE,
    STATE(4754), 1,
      sym_type_modifiers,
    STATE(5183), 1,
      sym_tuple_type,
    STATE(5361), 1,
      sym_simple_identifier,
    STATE(5409), 1,
      sym__simple_user_type,
    STATE(6012), 1,
      sym__parenthesized_type,
    STATE(6730), 1,
      sym__type,
    STATE(6937), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5542), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7097), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5525), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7095), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5431), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [141403] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8059), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [141492] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8061), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [141581] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(7788), 1,
      anon_sym_each,
    ACTIONS(7790), 1,
      anon_sym_repeat,
    ACTIONS(7792), 1,
      anon_sym_some,
    ACTIONS(7794), 1,
      anon_sym_any,
    ACTIONS(7796), 1,
      anon_sym_TILDE,
    STATE(4704), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(5722), 1,
      sym_tuple_type,
    STATE(5990), 1,
      sym__simple_user_type,
    STATE(6602), 1,
      sym__type,
    STATE(6782), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5953), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [141670] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8063), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [141759] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8065), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [141848] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8067), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [141937] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8069), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [142026] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8071), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [142115] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3807), 1,
      anon_sym_LPAREN,
    ACTIONS(3809), 1,
      anon_sym_LBRACK,
    ACTIONS(3815), 1,
      anon_sym_TILDE,
    ACTIONS(7687), 1,
      anon_sym_each,
    ACTIONS(7689), 1,
      anon_sym_repeat,
    ACTIONS(7691), 1,
      anon_sym_some,
    ACTIONS(7693), 1,
      anon_sym_any,
    STATE(1757), 1,
      sym__simple_user_type,
    STATE(1758), 1,
      sym_simple_identifier,
    STATE(1881), 1,
      sym__parenthesized_type,
    STATE(2256), 1,
      sym__type,
    STATE(2377), 1,
      sym__possibly_implicitly_unwrapped_type,
    STATE(4671), 1,
      sym_type_modifiers,
    STATE(5217), 1,
      sym_tuple_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1806), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3798), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1775), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3796), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5607), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [142204] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8073), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [142293] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8075), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [142382] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8077), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [142471] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6411), 1,
      anon_sym_each,
    ACTIONS(6413), 1,
      anon_sym_repeat,
    ACTIONS(6415), 1,
      anon_sym_LPAREN,
    ACTIONS(6417), 1,
      anon_sym_LBRACK,
    ACTIONS(6419), 1,
      anon_sym_some,
    ACTIONS(6421), 1,
      anon_sym_any,
    ACTIONS(6423), 1,
      anon_sym_TILDE,
    STATE(4753), 1,
      sym_type_modifiers,
    STATE(5035), 1,
      sym_tuple_type,
    STATE(5138), 1,
      sym_simple_identifier,
    STATE(5144), 1,
      sym__simple_user_type,
    STATE(5617), 1,
      sym__parenthesized_type,
    STATE(6364), 1,
      sym__type,
    STATE(6536), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5239), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6409), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5272), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6407), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5153), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [142560] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8079), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [142649] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(7788), 1,
      anon_sym_each,
    ACTIONS(7790), 1,
      anon_sym_repeat,
    ACTIONS(7792), 1,
      anon_sym_some,
    ACTIONS(7794), 1,
      anon_sym_any,
    ACTIONS(7796), 1,
      anon_sym_TILDE,
    STATE(4704), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(5722), 1,
      sym_tuple_type,
    STATE(5990), 1,
      sym__simple_user_type,
    STATE(6669), 1,
      sym__type,
    STATE(8746), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5953), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [142738] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8081), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [142827] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7231), 1,
      anon_sym_each,
    ACTIONS(7233), 1,
      anon_sym_repeat,
    ACTIONS(7235), 1,
      anon_sym_LPAREN,
    ACTIONS(7237), 1,
      anon_sym_LBRACK,
    ACTIONS(7239), 1,
      anon_sym_some,
    ACTIONS(7241), 1,
      anon_sym_any,
    ACTIONS(7243), 1,
      anon_sym_TILDE,
    STATE(4660), 1,
      sym_type_modifiers,
    STATE(5129), 1,
      sym_tuple_type,
    STATE(5347), 1,
      sym_simple_identifier,
    STATE(5366), 1,
      sym__simple_user_type,
    STATE(5979), 1,
      sym__parenthesized_type,
    STATE(6757), 1,
      sym__type,
    STATE(6793), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5541), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7229), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5747), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7227), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5346), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [142916] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8083), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [143005] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8085), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [143094] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8087), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [143183] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8089), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [143272] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8091), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [143361] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6763), 1,
      anon_sym_each,
    ACTIONS(6765), 1,
      anon_sym_repeat,
    ACTIONS(6767), 1,
      anon_sym_LPAREN,
    ACTIONS(6769), 1,
      anon_sym_LBRACK,
    ACTIONS(6771), 1,
      anon_sym_some,
    ACTIONS(6773), 1,
      anon_sym_any,
    ACTIONS(6775), 1,
      anon_sym_TILDE,
    STATE(4617), 1,
      sym_type_modifiers,
    STATE(5082), 1,
      sym_tuple_type,
    STATE(5222), 1,
      sym__simple_user_type,
    STATE(5223), 1,
      sym_simple_identifier,
    STATE(5858), 1,
      sym__parenthesized_type,
    STATE(6623), 1,
      sym__type,
    STATE(6678), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5331), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6761), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5452), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6759), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5280), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [143450] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7371), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [143541] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8093), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [143630] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(4659), 1,
      sym_type_modifiers,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    STATE(7525), 1,
      sym__type,
    STATE(7827), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5243), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [143719] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(4659), 1,
      sym_type_modifiers,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    STATE(7525), 1,
      sym__type,
    STATE(8117), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5243), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [143808] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8095), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [143897] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8097), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [143986] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8099), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [144075] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8101), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [144164] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(4659), 1,
      sym_type_modifiers,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    STATE(7373), 1,
      sym__possibly_implicitly_unwrapped_type,
    STATE(7525), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5243), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [144253] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7273), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [144344] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8103), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [144433] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7438), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [144524] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8105), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [144613] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7436), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [144704] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7435), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [144795] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6669), 1,
      sym__type,
    STATE(8318), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [144884] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7394), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [144975] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8107), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [145064] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7366), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [145155] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7360), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [145246] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8109), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [145335] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6666), 1,
      anon_sym_each,
    ACTIONS(6668), 1,
      anon_sym_repeat,
    ACTIONS(6670), 1,
      anon_sym_LPAREN,
    ACTIONS(6672), 1,
      anon_sym_LBRACK,
    ACTIONS(6674), 1,
      anon_sym_some,
    ACTIONS(6676), 1,
      anon_sym_any,
    ACTIONS(6678), 1,
      anon_sym_TILDE,
    STATE(4611), 1,
      sym_type_modifiers,
    STATE(5090), 1,
      sym_tuple_type,
    STATE(5274), 1,
      sym_simple_identifier,
    STATE(5315), 1,
      sym__simple_user_type,
    STATE(5839), 1,
      sym__parenthesized_type,
    STATE(6595), 1,
      sym__type,
    STATE(6709), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5429), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6664), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5481), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6662), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5279), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [145424] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7356), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [145515] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8111), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [145604] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7352), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [145695] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7287), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [145786] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8113), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [145875] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7134), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [145966] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7288), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [146057] = 18,
    ACTIONS(133), 1,
      sym_raw_str_part,
    ACTIONS(7954), 1,
      anon_sym_DQUOTE,
    ACTIONS(7956), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    ACTIONS(7958), 1,
      sym__oneline_regex_literal,
    ACTIONS(7962), 1,
      sym_raw_str_end_part,
    ACTIONS(7964), 1,
      sym__hash_symbol_custom,
    ACTIONS(8115), 1,
      anon_sym_RBRACE,
    STATE(8056), 1,
      aux_sym_raw_string_literal_repeat1,
    STATE(8658), 1,
      sym__hash_symbol,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7952), 2,
      anon_sym_true,
      anon_sym_false,
    STATE(4874), 2,
      sym__extended_regex_literal,
      sym__multiline_regex_literal,
    STATE(4880), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7946), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(7983), 3,
      anon_sym_nil,
      sym_integer_literal,
      sym_hex_literal,
    ACTIONS(7985), 3,
      sym_real_literal,
      sym_oct_literal,
      sym_bin_literal,
    ACTIONS(7944), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4015), 9,
      sym_simple_identifier,
      sym__basic_literal,
      sym_boolean_literal,
      sym__string_literal,
      sym_line_string_literal,
      sym_multi_line_string_literal,
      sym_raw_string_literal,
      sym_regex_literal,
      aux_sym_deprecated_operator_declaration_body_repeat1,
  [146138] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7293), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [146229] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(4659), 1,
      sym_type_modifiers,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    STATE(7291), 1,
      sym__possibly_implicitly_unwrapped_type,
    STATE(7525), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5243), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [146318] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8117), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [146407] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(4659), 1,
      sym_type_modifiers,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    STATE(7277), 1,
      sym__possibly_implicitly_unwrapped_type,
    STATE(7525), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5243), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [146496] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(4659), 1,
      sym_type_modifiers,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    STATE(7272), 1,
      sym__possibly_implicitly_unwrapped_type,
    STATE(7525), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5243), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [146585] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(4659), 1,
      sym_type_modifiers,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    STATE(7270), 1,
      sym__possibly_implicitly_unwrapped_type,
    STATE(7525), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5243), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [146674] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8119), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [146763] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8121), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [146852] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8123), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [146941] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3857), 1,
      anon_sym_LPAREN,
    ACTIONS(3859), 1,
      anon_sym_LBRACK,
    ACTIONS(3865), 1,
      anon_sym_TILDE,
    ACTIONS(7036), 1,
      anon_sym_each,
    ACTIONS(7038), 1,
      anon_sym_repeat,
    ACTIONS(7040), 1,
      anon_sym_some,
    ACTIONS(7042), 1,
      anon_sym_any,
    ACTIONS(8125), 1,
      sym_wildcard_pattern,
    STATE(1848), 1,
      sym__parenthesized_type,
    STATE(4635), 1,
      sym_type_modifiers,
    STATE(5283), 1,
      sym_tuple_type,
    STATE(5639), 1,
      sym__simple_user_type,
    STATE(5881), 1,
      sym_simple_identifier,
    STATE(7353), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1730), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1772), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3846), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5572), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [147030] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7231), 1,
      anon_sym_each,
    ACTIONS(7233), 1,
      anon_sym_repeat,
    ACTIONS(7235), 1,
      anon_sym_LPAREN,
    ACTIONS(7237), 1,
      anon_sym_LBRACK,
    ACTIONS(7239), 1,
      anon_sym_some,
    ACTIONS(7241), 1,
      anon_sym_any,
    ACTIONS(7243), 1,
      anon_sym_TILDE,
    STATE(4660), 1,
      sym_type_modifiers,
    STATE(5129), 1,
      sym_tuple_type,
    STATE(5347), 1,
      sym_simple_identifier,
    STATE(5366), 1,
      sym__simple_user_type,
    STATE(5979), 1,
      sym__parenthesized_type,
    STATE(6684), 1,
      sym__possibly_implicitly_unwrapped_type,
    STATE(6757), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5541), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7229), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5747), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7227), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5346), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [147119] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7231), 1,
      anon_sym_each,
    ACTIONS(7233), 1,
      anon_sym_repeat,
    ACTIONS(7235), 1,
      anon_sym_LPAREN,
    ACTIONS(7237), 1,
      anon_sym_LBRACK,
    ACTIONS(7239), 1,
      anon_sym_some,
    ACTIONS(7241), 1,
      anon_sym_any,
    ACTIONS(7243), 1,
      anon_sym_TILDE,
    STATE(4660), 1,
      sym_type_modifiers,
    STATE(5129), 1,
      sym_tuple_type,
    STATE(5347), 1,
      sym_simple_identifier,
    STATE(5366), 1,
      sym__simple_user_type,
    STATE(5979), 1,
      sym__parenthesized_type,
    STATE(6672), 1,
      sym__possibly_implicitly_unwrapped_type,
    STATE(6757), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5541), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7229), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5747), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7227), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5346), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [147208] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(7788), 1,
      anon_sym_each,
    ACTIONS(7790), 1,
      anon_sym_repeat,
    ACTIONS(7792), 1,
      anon_sym_some,
    ACTIONS(7794), 1,
      anon_sym_any,
    ACTIONS(7796), 1,
      anon_sym_TILDE,
    STATE(4704), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(5722), 1,
      sym_tuple_type,
    STATE(5990), 1,
      sym__simple_user_type,
    STATE(6669), 1,
      sym__type,
    STATE(8946), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5953), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [147297] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7231), 1,
      anon_sym_each,
    ACTIONS(7233), 1,
      anon_sym_repeat,
    ACTIONS(7235), 1,
      anon_sym_LPAREN,
    ACTIONS(7237), 1,
      anon_sym_LBRACK,
    ACTIONS(7239), 1,
      anon_sym_some,
    ACTIONS(7241), 1,
      anon_sym_any,
    ACTIONS(7243), 1,
      anon_sym_TILDE,
    STATE(4660), 1,
      sym_type_modifiers,
    STATE(5129), 1,
      sym_tuple_type,
    STATE(5347), 1,
      sym_simple_identifier,
    STATE(5366), 1,
      sym__simple_user_type,
    STATE(5979), 1,
      sym__parenthesized_type,
    STATE(6671), 1,
      sym__possibly_implicitly_unwrapped_type,
    STATE(6757), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5541), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7229), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5747), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7227), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5346), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [147386] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3857), 1,
      anon_sym_LPAREN,
    ACTIONS(3859), 1,
      anon_sym_LBRACK,
    ACTIONS(3865), 1,
      anon_sym_TILDE,
    ACTIONS(7036), 1,
      anon_sym_each,
    ACTIONS(7038), 1,
      anon_sym_repeat,
    ACTIONS(7040), 1,
      anon_sym_some,
    ACTIONS(7042), 1,
      anon_sym_any,
    STATE(1737), 1,
      sym_simple_identifier,
    STATE(1848), 1,
      sym__parenthesized_type,
    STATE(2181), 1,
      sym__type,
    STATE(4635), 1,
      sym_type_modifiers,
    STATE(5283), 1,
      sym_tuple_type,
    STATE(5639), 1,
      sym__simple_user_type,
    STATE(6946), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1730), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1772), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3846), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5572), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [147475] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6666), 1,
      anon_sym_each,
    ACTIONS(6668), 1,
      anon_sym_repeat,
    ACTIONS(6670), 1,
      anon_sym_LPAREN,
    ACTIONS(6672), 1,
      anon_sym_LBRACK,
    ACTIONS(6674), 1,
      anon_sym_some,
    ACTIONS(6676), 1,
      anon_sym_any,
    ACTIONS(6678), 1,
      anon_sym_TILDE,
    STATE(4611), 1,
      sym_type_modifiers,
    STATE(5090), 1,
      sym_tuple_type,
    STATE(5274), 1,
      sym_simple_identifier,
    STATE(5315), 1,
      sym__simple_user_type,
    STATE(5839), 1,
      sym__parenthesized_type,
    STATE(6595), 1,
      sym__type,
    STATE(6685), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5429), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6664), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5481), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6662), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5279), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [147564] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8127), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [147653] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6763), 1,
      anon_sym_each,
    ACTIONS(6765), 1,
      anon_sym_repeat,
    ACTIONS(6767), 1,
      anon_sym_LPAREN,
    ACTIONS(6769), 1,
      anon_sym_LBRACK,
    ACTIONS(6771), 1,
      anon_sym_some,
    ACTIONS(6773), 1,
      anon_sym_any,
    ACTIONS(6775), 1,
      anon_sym_TILDE,
    STATE(4617), 1,
      sym_type_modifiers,
    STATE(5082), 1,
      sym_tuple_type,
    STATE(5222), 1,
      sym__simple_user_type,
    STATE(5223), 1,
      sym_simple_identifier,
    STATE(5858), 1,
      sym__parenthesized_type,
    STATE(6623), 1,
      sym__type,
    STATE(6697), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5331), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6761), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5452), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6759), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5280), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [147742] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8129), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [147831] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8131), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [147920] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8133), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [148009] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(2456), 1,
      sym__possibly_implicitly_unwrapped_type,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6669), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [148098] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3803), 1,
      anon_sym_each,
    ACTIONS(3805), 1,
      anon_sym_repeat,
    ACTIONS(3807), 1,
      anon_sym_LPAREN,
    ACTIONS(3809), 1,
      anon_sym_LBRACK,
    ACTIONS(3811), 1,
      anon_sym_some,
    ACTIONS(3813), 1,
      anon_sym_any,
    ACTIONS(3815), 1,
      anon_sym_TILDE,
    STATE(1716), 1,
      sym_tuple_type,
    STATE(1757), 1,
      sym__simple_user_type,
    STATE(1758), 1,
      sym_simple_identifier,
    STATE(1881), 1,
      sym__parenthesized_type,
    STATE(2256), 1,
      sym__type,
    STATE(2377), 1,
      sym__possibly_implicitly_unwrapped_type,
    STATE(4647), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1806), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3798), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1775), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3796), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1745), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [148187] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7411), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [148278] = 18,
    ACTIONS(8150), 1,
      anon_sym_DQUOTE,
    ACTIONS(8153), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    ACTIONS(8156), 1,
      sym__oneline_regex_literal,
    ACTIONS(8159), 1,
      anon_sym_RBRACE,
    ACTIONS(8161), 1,
      sym_raw_str_part,
    ACTIONS(8164), 1,
      sym_raw_str_end_part,
    ACTIONS(8167), 1,
      sym__hash_symbol_custom,
    STATE(8056), 1,
      aux_sym_raw_string_literal_repeat1,
    STATE(8658), 1,
      sym__hash_symbol,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8147), 2,
      anon_sym_true,
      anon_sym_false,
    STATE(4874), 2,
      sym__extended_regex_literal,
      sym__multiline_regex_literal,
    STATE(4880), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8138), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8141), 3,
      anon_sym_nil,
      sym_integer_literal,
      sym_hex_literal,
    ACTIONS(8144), 3,
      sym_real_literal,
      sym_oct_literal,
      sym_bin_literal,
    ACTIONS(8135), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4015), 9,
      sym_simple_identifier,
      sym__basic_literal,
      sym_boolean_literal,
      sym__string_literal,
      sym_line_string_literal,
      sym_multi_line_string_literal,
      sym_raw_string_literal,
      sym_regex_literal,
      aux_sym_deprecated_operator_declaration_body_repeat1,
  [148359] = 4,
    ACTIONS(8170), 1,
      anon_sym_BANG2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5841), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5837), 39,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [148412] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8172), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [148501] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7231), 1,
      anon_sym_each,
    ACTIONS(7233), 1,
      anon_sym_repeat,
    ACTIONS(7235), 1,
      anon_sym_LPAREN,
    ACTIONS(7237), 1,
      anon_sym_LBRACK,
    ACTIONS(7239), 1,
      anon_sym_some,
    ACTIONS(7241), 1,
      anon_sym_any,
    ACTIONS(7243), 1,
      anon_sym_TILDE,
    STATE(4660), 1,
      sym_type_modifiers,
    STATE(5129), 1,
      sym_tuple_type,
    STATE(5347), 1,
      sym_simple_identifier,
    STATE(5366), 1,
      sym__simple_user_type,
    STATE(5979), 1,
      sym__parenthesized_type,
    STATE(6735), 1,
      sym__possibly_implicitly_unwrapped_type,
    STATE(6757), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5541), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7229), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5747), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7227), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5346), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [148590] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3894), 1,
      anon_sym_each,
    ACTIONS(3896), 1,
      anon_sym_repeat,
    ACTIONS(3898), 1,
      anon_sym_LPAREN,
    ACTIONS(3900), 1,
      anon_sym_LBRACK,
    ACTIONS(3902), 1,
      anon_sym_some,
    ACTIONS(3904), 1,
      anon_sym_any,
    ACTIONS(3906), 1,
      anon_sym_TILDE,
    STATE(1744), 1,
      sym_tuple_type,
    STATE(1837), 1,
      sym__simple_user_type,
    STATE(1845), 1,
      sym_simple_identifier,
    STATE(1973), 1,
      sym__parenthesized_type,
    STATE(2456), 1,
      sym__possibly_implicitly_unwrapped_type,
    STATE(2475), 1,
      sym__type,
    STATE(4718), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1905), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3889), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1908), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3887), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1831), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [148679] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8174), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [148768] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3894), 1,
      anon_sym_each,
    ACTIONS(3896), 1,
      anon_sym_repeat,
    ACTIONS(3898), 1,
      anon_sym_LPAREN,
    ACTIONS(3900), 1,
      anon_sym_LBRACK,
    ACTIONS(3902), 1,
      anon_sym_some,
    ACTIONS(3904), 1,
      anon_sym_any,
    ACTIONS(3906), 1,
      anon_sym_TILDE,
    STATE(1744), 1,
      sym_tuple_type,
    STATE(1837), 1,
      sym__simple_user_type,
    STATE(1845), 1,
      sym_simple_identifier,
    STATE(1973), 1,
      sym__parenthesized_type,
    STATE(2424), 1,
      sym__possibly_implicitly_unwrapped_type,
    STATE(2475), 1,
      sym__type,
    STATE(4718), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1905), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3889), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1908), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3887), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1831), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [148857] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(4659), 1,
      sym_type_modifiers,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    STATE(7326), 1,
      sym__possibly_implicitly_unwrapped_type,
    STATE(7525), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5243), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [148946] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7231), 1,
      anon_sym_each,
    ACTIONS(7233), 1,
      anon_sym_repeat,
    ACTIONS(7235), 1,
      anon_sym_LPAREN,
    ACTIONS(7237), 1,
      anon_sym_LBRACK,
    ACTIONS(7239), 1,
      anon_sym_some,
    ACTIONS(7241), 1,
      anon_sym_any,
    ACTIONS(7243), 1,
      anon_sym_TILDE,
    STATE(4660), 1,
      sym_type_modifiers,
    STATE(5129), 1,
      sym_tuple_type,
    STATE(5347), 1,
      sym_simple_identifier,
    STATE(5366), 1,
      sym__simple_user_type,
    STATE(5979), 1,
      sym__parenthesized_type,
    STATE(6757), 1,
      sym__type,
    STATE(6789), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5541), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7229), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5747), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7227), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5346), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [149035] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8176), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [149124] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8178), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [149213] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8180), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [149302] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7231), 1,
      anon_sym_each,
    ACTIONS(7233), 1,
      anon_sym_repeat,
    ACTIONS(7235), 1,
      anon_sym_LPAREN,
    ACTIONS(7237), 1,
      anon_sym_LBRACK,
    ACTIONS(7239), 1,
      anon_sym_some,
    ACTIONS(7241), 1,
      anon_sym_any,
    ACTIONS(7243), 1,
      anon_sym_TILDE,
    STATE(4660), 1,
      sym_type_modifiers,
    STATE(5129), 1,
      sym_tuple_type,
    STATE(5347), 1,
      sym_simple_identifier,
    STATE(5366), 1,
      sym__simple_user_type,
    STATE(5979), 1,
      sym__parenthesized_type,
    STATE(6738), 1,
      sym__possibly_implicitly_unwrapped_type,
    STATE(6757), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5541), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7229), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5747), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7227), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5346), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [149391] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8182), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [149480] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(4659), 1,
      sym_type_modifiers,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    STATE(7525), 1,
      sym__type,
    STATE(7565), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5243), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [149569] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(4659), 1,
      sym_type_modifiers,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    STATE(7525), 1,
      sym__type,
    STATE(7715), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5243), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [149658] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(4659), 1,
      sym_type_modifiers,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    STATE(7376), 1,
      sym__possibly_implicitly_unwrapped_type,
    STATE(7525), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5243), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [149747] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(4659), 1,
      sym_type_modifiers,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    STATE(7346), 1,
      sym__possibly_implicitly_unwrapped_type,
    STATE(7525), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5243), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [149836] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(4659), 1,
      sym_type_modifiers,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    STATE(7525), 1,
      sym__type,
    STATE(7567), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5243), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [149925] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8184), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [150014] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(4659), 1,
      sym_type_modifiers,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    STATE(7525), 1,
      sym__type,
    STATE(7577), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5243), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [150103] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8186), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [150192] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4360), 1,
      anon_sym_each,
    ACTIONS(4365), 1,
      anon_sym_repeat,
    ACTIONS(4367), 1,
      anon_sym_LPAREN,
    ACTIONS(4369), 1,
      anon_sym_LBRACK,
    ACTIONS(4371), 1,
      anon_sym_some,
    ACTIONS(4373), 1,
      anon_sym_any,
    ACTIONS(4375), 1,
      anon_sym_TILDE,
    STATE(2370), 1,
      sym_tuple_type,
    STATE(2655), 1,
      sym__simple_user_type,
    STATE(2680), 1,
      sym_simple_identifier,
    STATE(3688), 1,
      sym__parenthesized_type,
    STATE(3873), 1,
      sym__type,
    STATE(4080), 1,
      sym__possibly_implicitly_unwrapped_type,
    STATE(4662), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3009), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4358), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2983), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4356), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2693), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [150281] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(4659), 1,
      sym_type_modifiers,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    STATE(7525), 1,
      sym__type,
    STATE(8146), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5243), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [150370] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7139), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [150461] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7115), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [150552] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7111), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [150643] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7088), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [150734] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7082), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [150825] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7096), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [150916] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7101), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [151007] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7102), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [151098] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7103), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [151189] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7149), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [151280] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7162), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [151371] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7165), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [151462] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7269), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [151553] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7322), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [151644] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7329), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [151735] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7359), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [151826] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7425), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [151917] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7421), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [152008] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7414), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [152099] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8188), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [152188] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7417), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [152279] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8190), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [152368] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3853), 1,
      anon_sym_each,
    ACTIONS(3855), 1,
      anon_sym_repeat,
    ACTIONS(3857), 1,
      anon_sym_LPAREN,
    ACTIONS(3859), 1,
      anon_sym_LBRACK,
    ACTIONS(3861), 1,
      anon_sym_some,
    ACTIONS(3863), 1,
      anon_sym_any,
    ACTIONS(3865), 1,
      anon_sym_TILDE,
    STATE(1737), 1,
      sym_simple_identifier,
    STATE(1740), 1,
      sym_tuple_type,
    STATE(1785), 1,
      sym__simple_user_type,
    STATE(1848), 1,
      sym__parenthesized_type,
    STATE(2181), 1,
      sym__type,
    STATE(2588), 1,
      sym__possibly_implicitly_unwrapped_type,
    STATE(4761), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1730), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1772), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3846), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1793), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [152457] = 5,
    ACTIONS(8192), 1,
      anon_sym_COMMA,
    STATE(4098), 1,
      aux_sym_type_constraints_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6088), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6084), 38,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [152512] = 18,
    ACTIONS(133), 1,
      sym_raw_str_part,
    ACTIONS(7954), 1,
      anon_sym_DQUOTE,
    ACTIONS(7956), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    ACTIONS(7958), 1,
      sym__oneline_regex_literal,
    ACTIONS(7962), 1,
      sym_raw_str_end_part,
    ACTIONS(7964), 1,
      sym__hash_symbol_custom,
    ACTIONS(8198), 1,
      anon_sym_RBRACE,
    STATE(8056), 1,
      aux_sym_raw_string_literal_repeat1,
    STATE(8658), 1,
      sym__hash_symbol,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7952), 2,
      anon_sym_true,
      anon_sym_false,
    STATE(4874), 2,
      sym__extended_regex_literal,
      sym__multiline_regex_literal,
    STATE(4880), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7946), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8194), 3,
      anon_sym_nil,
      sym_integer_literal,
      sym_hex_literal,
    ACTIONS(8196), 3,
      sym_real_literal,
      sym_oct_literal,
      sym_bin_literal,
    ACTIONS(7944), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(3891), 9,
      sym_simple_identifier,
      sym__basic_literal,
      sym_boolean_literal,
      sym__string_literal,
      sym_line_string_literal,
      sym_multi_line_string_literal,
      sym_raw_string_literal,
      sym_regex_literal,
      aux_sym_deprecated_operator_declaration_body_repeat1,
  [152593] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4423), 1,
      anon_sym_each,
    ACTIONS(4428), 1,
      anon_sym_repeat,
    ACTIONS(4430), 1,
      anon_sym_LPAREN,
    ACTIONS(4432), 1,
      anon_sym_LBRACK,
    ACTIONS(4434), 1,
      anon_sym_some,
    ACTIONS(4436), 1,
      anon_sym_any,
    ACTIONS(4438), 1,
      anon_sym_TILDE,
    STATE(2516), 1,
      sym_tuple_type,
    STATE(3020), 1,
      sym_simple_identifier,
    STATE(3031), 1,
      sym__simple_user_type,
    STATE(3719), 1,
      sym__parenthesized_type,
    STATE(4016), 1,
      sym__type,
    STATE(4141), 1,
      sym__possibly_implicitly_unwrapped_type,
    STATE(4748), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3179), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4421), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(3569), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4419), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2892), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [152682] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3853), 1,
      anon_sym_each,
    ACTIONS(3855), 1,
      anon_sym_repeat,
    ACTIONS(3857), 1,
      anon_sym_LPAREN,
    ACTIONS(3859), 1,
      anon_sym_LBRACK,
    ACTIONS(3861), 1,
      anon_sym_some,
    ACTIONS(3863), 1,
      anon_sym_any,
    ACTIONS(3865), 1,
      anon_sym_TILDE,
    STATE(1737), 1,
      sym_simple_identifier,
    STATE(1740), 1,
      sym_tuple_type,
    STATE(1785), 1,
      sym__simple_user_type,
    STATE(1848), 1,
      sym__parenthesized_type,
    STATE(2181), 1,
      sym__type,
    STATE(2569), 1,
      sym__possibly_implicitly_unwrapped_type,
    STATE(4761), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1730), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1772), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3846), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1793), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [152771] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8200), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [152860] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8202), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [152949] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8204), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [153038] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7213), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [153129] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6010), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6008), 40,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [153180] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(4659), 1,
      sym_type_modifiers,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    STATE(7343), 1,
      sym__possibly_implicitly_unwrapped_type,
    STATE(7525), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5243), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [153269] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7129), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [153360] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8206), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [153449] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8208), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [153538] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7227), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [153629] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8210), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [153718] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(4659), 1,
      sym_type_modifiers,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    STATE(7267), 1,
      sym__possibly_implicitly_unwrapped_type,
    STATE(7525), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5243), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [153807] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8212), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [153896] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7283), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [153987] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6114), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6112), 40,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [154038] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4423), 1,
      anon_sym_each,
    ACTIONS(4428), 1,
      anon_sym_repeat,
    ACTIONS(4430), 1,
      anon_sym_LPAREN,
    ACTIONS(4432), 1,
      anon_sym_LBRACK,
    ACTIONS(4434), 1,
      anon_sym_some,
    ACTIONS(4436), 1,
      anon_sym_any,
    ACTIONS(4438), 1,
      anon_sym_TILDE,
    STATE(2516), 1,
      sym_tuple_type,
    STATE(3020), 1,
      sym_simple_identifier,
    STATE(3031), 1,
      sym__simple_user_type,
    STATE(3719), 1,
      sym__parenthesized_type,
    STATE(4016), 1,
      sym__type,
    STATE(4159), 1,
      sym__possibly_implicitly_unwrapped_type,
    STATE(4748), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3179), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4421), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(3569), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4419), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2892), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [154127] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7231), 1,
      anon_sym_each,
    ACTIONS(7233), 1,
      anon_sym_repeat,
    ACTIONS(7235), 1,
      anon_sym_LPAREN,
    ACTIONS(7237), 1,
      anon_sym_LBRACK,
    ACTIONS(7239), 1,
      anon_sym_some,
    ACTIONS(7241), 1,
      anon_sym_any,
    ACTIONS(7243), 1,
      anon_sym_TILDE,
    STATE(4660), 1,
      sym_type_modifiers,
    STATE(5129), 1,
      sym_tuple_type,
    STATE(5347), 1,
      sym_simple_identifier,
    STATE(5366), 1,
      sym__simple_user_type,
    STATE(5979), 1,
      sym__parenthesized_type,
    STATE(6757), 1,
      sym__type,
    STATE(6810), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5541), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7229), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5747), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7227), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5346), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [154216] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8214), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [154305] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8216), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [154394] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8218), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [154483] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(7788), 1,
      anon_sym_each,
    ACTIONS(7790), 1,
      anon_sym_repeat,
    ACTIONS(7792), 1,
      anon_sym_some,
    ACTIONS(7794), 1,
      anon_sym_any,
    ACTIONS(7796), 1,
      anon_sym_TILDE,
    STATE(4704), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(5722), 1,
      sym_tuple_type,
    STATE(5990), 1,
      sym__simple_user_type,
    STATE(6602), 1,
      sym__type,
    STATE(6751), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5953), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [154572] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8220), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [154661] = 23,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7079), 1,
      sym__inheritance_specifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(6892), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [154752] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7099), 1,
      anon_sym_each,
    ACTIONS(7101), 1,
      anon_sym_repeat,
    ACTIONS(7103), 1,
      anon_sym_LPAREN,
    ACTIONS(7105), 1,
      anon_sym_LBRACK,
    ACTIONS(7107), 1,
      anon_sym_some,
    ACTIONS(7109), 1,
      anon_sym_any,
    ACTIONS(7111), 1,
      anon_sym_TILDE,
    STATE(4754), 1,
      sym_type_modifiers,
    STATE(5183), 1,
      sym_tuple_type,
    STATE(5361), 1,
      sym_simple_identifier,
    STATE(5409), 1,
      sym__simple_user_type,
    STATE(6012), 1,
      sym__parenthesized_type,
    STATE(6730), 1,
      sym__type,
    STATE(6952), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5542), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7097), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5525), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7095), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5431), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [154841] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8222), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [154930] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(7788), 1,
      anon_sym_each,
    ACTIONS(7790), 1,
      anon_sym_repeat,
    ACTIONS(7792), 1,
      anon_sym_some,
    ACTIONS(7794), 1,
      anon_sym_any,
    ACTIONS(7796), 1,
      anon_sym_TILDE,
    STATE(4704), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(5722), 1,
      sym_tuple_type,
    STATE(5990), 1,
      sym__simple_user_type,
    STATE(6669), 1,
      sym__type,
    STATE(8930), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5953), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [155019] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(4659), 1,
      sym_type_modifiers,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    STATE(7525), 1,
      sym__type,
    STATE(8108), 1,
      sym__possibly_implicitly_unwrapped_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5243), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [155108] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8226), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8224), 40,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [155159] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8228), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [155248] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8230), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [155337] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8232), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [155426] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8234), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [155515] = 5,
    ACTIONS(8236), 1,
      anon_sym_COMMA,
    STATE(3889), 1,
      aux_sym_type_constraints_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4081), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(4079), 38,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [155570] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    ACTIONS(8238), 1,
      anon_sym_GT,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [155659] = 22,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(4659), 1,
      sym_type_modifiers,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    STATE(7229), 1,
      sym__possibly_implicitly_unwrapped_type,
    STATE(7525), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5243), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [155748] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4774), 1,
      anon_sym_each,
    ACTIONS(4779), 1,
      anon_sym_repeat,
    ACTIONS(4781), 1,
      anon_sym_LPAREN,
    ACTIONS(4783), 1,
      anon_sym_LBRACK,
    ACTIONS(4785), 1,
      anon_sym_some,
    ACTIONS(4787), 1,
      anon_sym_any,
    ACTIONS(4789), 1,
      anon_sym_TILDE,
    STATE(3591), 1,
      sym_tuple_type,
    STATE(3746), 1,
      sym_simple_identifier,
    STATE(3759), 1,
      sym__simple_user_type,
    STATE(3807), 1,
      sym__parenthesized_type,
    STATE(4556), 1,
      sym__type,
    STATE(4641), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3771), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4772), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(3775), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4770), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(3748), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [155834] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4282), 1,
      anon_sym_each,
    ACTIONS(4284), 1,
      anon_sym_repeat,
    ACTIONS(4292), 1,
      anon_sym_some,
    ACTIONS(4294), 1,
      anon_sym_any,
    ACTIONS(4296), 1,
      anon_sym_TILDE,
    ACTIONS(8240), 1,
      anon_sym_LPAREN,
    ACTIONS(8242), 1,
      anon_sym_LBRACK,
    STATE(2019), 1,
      sym_tuple_type,
    STATE(2170), 1,
      sym__simple_user_type,
    STATE(2283), 1,
      sym_simple_identifier,
    STATE(2347), 1,
      sym__type,
    STATE(2374), 1,
      sym__parenthesized_type,
    STATE(4711), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2358), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4280), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2164), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4278), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2087), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [155920] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7099), 1,
      anon_sym_each,
    ACTIONS(7101), 1,
      anon_sym_repeat,
    ACTIONS(7103), 1,
      anon_sym_LPAREN,
    ACTIONS(7105), 1,
      anon_sym_LBRACK,
    ACTIONS(7107), 1,
      anon_sym_some,
    ACTIONS(7109), 1,
      anon_sym_any,
    ACTIONS(7111), 1,
      anon_sym_TILDE,
    STATE(4754), 1,
      sym_type_modifiers,
    STATE(5183), 1,
      sym_tuple_type,
    STATE(5361), 1,
      sym_simple_identifier,
    STATE(5409), 1,
      sym__simple_user_type,
    STATE(6012), 1,
      sym__parenthesized_type,
    STATE(7944), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5542), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7097), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5525), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7095), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5431), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [156006] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6411), 1,
      anon_sym_each,
    ACTIONS(6413), 1,
      anon_sym_repeat,
    ACTIONS(6415), 1,
      anon_sym_LPAREN,
    ACTIONS(6417), 1,
      anon_sym_LBRACK,
    ACTIONS(6419), 1,
      anon_sym_some,
    ACTIONS(6421), 1,
      anon_sym_any,
    ACTIONS(6423), 1,
      anon_sym_TILDE,
    STATE(4753), 1,
      sym_type_modifiers,
    STATE(5035), 1,
      sym_tuple_type,
    STATE(5138), 1,
      sym_simple_identifier,
    STATE(5144), 1,
      sym__simple_user_type,
    STATE(5617), 1,
      sym__parenthesized_type,
    STATE(6619), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5239), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6409), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5272), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6407), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5153), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [156092] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6763), 1,
      anon_sym_each,
    ACTIONS(6765), 1,
      anon_sym_repeat,
    ACTIONS(6767), 1,
      anon_sym_LPAREN,
    ACTIONS(6769), 1,
      anon_sym_LBRACK,
    ACTIONS(6771), 1,
      anon_sym_some,
    ACTIONS(6773), 1,
      anon_sym_any,
    ACTIONS(6775), 1,
      anon_sym_TILDE,
    STATE(4617), 1,
      sym_type_modifiers,
    STATE(5082), 1,
      sym_tuple_type,
    STATE(5222), 1,
      sym__simple_user_type,
    STATE(5223), 1,
      sym_simple_identifier,
    STATE(5858), 1,
      sym__parenthesized_type,
    STATE(6680), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5331), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6761), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5452), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6759), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5280), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [156178] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7099), 1,
      anon_sym_each,
    ACTIONS(7101), 1,
      anon_sym_repeat,
    ACTIONS(7103), 1,
      anon_sym_LPAREN,
    ACTIONS(7105), 1,
      anon_sym_LBRACK,
    ACTIONS(7107), 1,
      anon_sym_some,
    ACTIONS(7109), 1,
      anon_sym_any,
    ACTIONS(7111), 1,
      anon_sym_TILDE,
    STATE(4754), 1,
      sym_type_modifiers,
    STATE(5183), 1,
      sym_tuple_type,
    STATE(5361), 1,
      sym_simple_identifier,
    STATE(5409), 1,
      sym__simple_user_type,
    STATE(6012), 1,
      sym__parenthesized_type,
    STATE(8031), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5542), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7097), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5525), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7095), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5431), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [156264] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6763), 1,
      anon_sym_each,
    ACTIONS(6765), 1,
      anon_sym_repeat,
    ACTIONS(6767), 1,
      anon_sym_LPAREN,
    ACTIONS(6769), 1,
      anon_sym_LBRACK,
    ACTIONS(6771), 1,
      anon_sym_some,
    ACTIONS(6773), 1,
      anon_sym_any,
    ACTIONS(6775), 1,
      anon_sym_TILDE,
    STATE(4617), 1,
      sym_type_modifiers,
    STATE(5082), 1,
      sym_tuple_type,
    STATE(5222), 1,
      sym__simple_user_type,
    STATE(5223), 1,
      sym_simple_identifier,
    STATE(5858), 1,
      sym__parenthesized_type,
    STATE(7131), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5331), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6761), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5452), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6759), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5280), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [156350] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7099), 1,
      anon_sym_each,
    ACTIONS(7101), 1,
      anon_sym_repeat,
    ACTIONS(7103), 1,
      anon_sym_LPAREN,
    ACTIONS(7105), 1,
      anon_sym_LBRACK,
    ACTIONS(7107), 1,
      anon_sym_some,
    ACTIONS(7109), 1,
      anon_sym_any,
    ACTIONS(7111), 1,
      anon_sym_TILDE,
    STATE(4754), 1,
      sym_type_modifiers,
    STATE(5183), 1,
      sym_tuple_type,
    STATE(5361), 1,
      sym_simple_identifier,
    STATE(5409), 1,
      sym__simple_user_type,
    STATE(6012), 1,
      sym__parenthesized_type,
    STATE(8076), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5542), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7097), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5525), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7095), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5431), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [156436] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3853), 1,
      anon_sym_each,
    ACTIONS(3855), 1,
      anon_sym_repeat,
    ACTIONS(3857), 1,
      anon_sym_LPAREN,
    ACTIONS(3859), 1,
      anon_sym_LBRACK,
    ACTIONS(3861), 1,
      anon_sym_some,
    ACTIONS(3863), 1,
      anon_sym_any,
    ACTIONS(3865), 1,
      anon_sym_TILDE,
    STATE(1737), 1,
      sym_simple_identifier,
    STATE(1740), 1,
      sym_tuple_type,
    STATE(1785), 1,
      sym__simple_user_type,
    STATE(1848), 1,
      sym__parenthesized_type,
    STATE(1863), 1,
      sym__type,
    STATE(4761), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1730), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1772), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3846), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1793), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [156522] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(2423), 1,
      sym__type,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [156608] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6351), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6349), 39,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [156658] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7721), 1,
      anon_sym_LPAREN,
    ACTIONS(7723), 1,
      anon_sym_LBRACK,
    ACTIONS(7729), 1,
      anon_sym_TILDE,
    ACTIONS(7742), 1,
      anon_sym_each,
    ACTIONS(7744), 1,
      anon_sym_repeat,
    ACTIONS(7746), 1,
      anon_sym_some,
    ACTIONS(7748), 1,
      anon_sym_any,
    STATE(4602), 1,
      sym_type_modifiers,
    STATE(5379), 1,
      sym_tuple_type,
    STATE(5447), 1,
      sym_simple_identifier,
    STATE(5480), 1,
      sym__simple_user_type,
    STATE(5925), 1,
      sym__parenthesized_type,
    STATE(6054), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5720), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7715), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5633), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7713), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5835), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [156744] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3853), 1,
      anon_sym_each,
    ACTIONS(3855), 1,
      anon_sym_repeat,
    ACTIONS(3857), 1,
      anon_sym_LPAREN,
    ACTIONS(3859), 1,
      anon_sym_LBRACK,
    ACTIONS(3861), 1,
      anon_sym_some,
    ACTIONS(3863), 1,
      anon_sym_any,
    ACTIONS(3865), 1,
      anon_sym_TILDE,
    STATE(1737), 1,
      sym_simple_identifier,
    STATE(1740), 1,
      sym_tuple_type,
    STATE(1785), 1,
      sym__simple_user_type,
    STATE(1848), 1,
      sym__parenthesized_type,
    STATE(1911), 1,
      sym__type,
    STATE(4761), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1730), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1772), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3846), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1793), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [156830] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3853), 1,
      anon_sym_each,
    ACTIONS(3855), 1,
      anon_sym_repeat,
    ACTIONS(3857), 1,
      anon_sym_LPAREN,
    ACTIONS(3859), 1,
      anon_sym_LBRACK,
    ACTIONS(3861), 1,
      anon_sym_some,
    ACTIONS(3863), 1,
      anon_sym_any,
    ACTIONS(3865), 1,
      anon_sym_TILDE,
    STATE(1737), 1,
      sym_simple_identifier,
    STATE(1740), 1,
      sym_tuple_type,
    STATE(1785), 1,
      sym__simple_user_type,
    STATE(1848), 1,
      sym__parenthesized_type,
    STATE(1914), 1,
      sym__type,
    STATE(4761), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1730), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1772), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3846), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1793), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [156916] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6411), 1,
      anon_sym_each,
    ACTIONS(6413), 1,
      anon_sym_repeat,
    ACTIONS(6415), 1,
      anon_sym_LPAREN,
    ACTIONS(6417), 1,
      anon_sym_LBRACK,
    ACTIONS(6419), 1,
      anon_sym_some,
    ACTIONS(6421), 1,
      anon_sym_any,
    ACTIONS(6423), 1,
      anon_sym_TILDE,
    STATE(4753), 1,
      sym_type_modifiers,
    STATE(5035), 1,
      sym_tuple_type,
    STATE(5138), 1,
      sym_simple_identifier,
    STATE(5144), 1,
      sym__simple_user_type,
    STATE(5617), 1,
      sym__parenthesized_type,
    STATE(5898), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5239), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6409), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5272), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6407), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5153), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [157002] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7099), 1,
      anon_sym_each,
    ACTIONS(7101), 1,
      anon_sym_repeat,
    ACTIONS(7103), 1,
      anon_sym_LPAREN,
    ACTIONS(7105), 1,
      anon_sym_LBRACK,
    ACTIONS(7107), 1,
      anon_sym_some,
    ACTIONS(7109), 1,
      anon_sym_any,
    ACTIONS(7111), 1,
      anon_sym_TILDE,
    STATE(4754), 1,
      sym_type_modifiers,
    STATE(5183), 1,
      sym_tuple_type,
    STATE(5361), 1,
      sym_simple_identifier,
    STATE(5409), 1,
      sym__simple_user_type,
    STATE(6012), 1,
      sym__parenthesized_type,
    STATE(8192), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5542), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7097), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5525), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7095), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5431), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [157088] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7721), 1,
      anon_sym_LPAREN,
    ACTIONS(7723), 1,
      anon_sym_LBRACK,
    ACTIONS(7729), 1,
      anon_sym_TILDE,
    ACTIONS(7742), 1,
      anon_sym_each,
    ACTIONS(7744), 1,
      anon_sym_repeat,
    ACTIONS(7746), 1,
      anon_sym_some,
    ACTIONS(7748), 1,
      anon_sym_any,
    STATE(4602), 1,
      sym_type_modifiers,
    STATE(5379), 1,
      sym_tuple_type,
    STATE(5447), 1,
      sym_simple_identifier,
    STATE(5480), 1,
      sym__simple_user_type,
    STATE(5925), 1,
      sym__parenthesized_type,
    STATE(6041), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5720), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7715), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5633), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7713), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5835), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [157174] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7099), 1,
      anon_sym_each,
    ACTIONS(7101), 1,
      anon_sym_repeat,
    ACTIONS(7103), 1,
      anon_sym_LPAREN,
    ACTIONS(7105), 1,
      anon_sym_LBRACK,
    ACTIONS(7107), 1,
      anon_sym_some,
    ACTIONS(7109), 1,
      anon_sym_any,
    ACTIONS(7111), 1,
      anon_sym_TILDE,
    STATE(4754), 1,
      sym_type_modifiers,
    STATE(5183), 1,
      sym_tuple_type,
    STATE(5361), 1,
      sym_simple_identifier,
    STATE(5409), 1,
      sym__simple_user_type,
    STATE(6012), 1,
      sym__parenthesized_type,
    STATE(8242), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5542), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7097), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5525), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7095), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5431), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [157260] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6763), 1,
      anon_sym_each,
    ACTIONS(6765), 1,
      anon_sym_repeat,
    ACTIONS(6767), 1,
      anon_sym_LPAREN,
    ACTIONS(6769), 1,
      anon_sym_LBRACK,
    ACTIONS(6771), 1,
      anon_sym_some,
    ACTIONS(6773), 1,
      anon_sym_any,
    ACTIONS(6775), 1,
      anon_sym_TILDE,
    STATE(4617), 1,
      sym_type_modifiers,
    STATE(5082), 1,
      sym_tuple_type,
    STATE(5222), 1,
      sym__simple_user_type,
    STATE(5223), 1,
      sym_simple_identifier,
    STATE(5858), 1,
      sym__parenthesized_type,
    STATE(6767), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5331), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6761), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5452), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6759), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5280), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [157346] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6411), 1,
      anon_sym_each,
    ACTIONS(6413), 1,
      anon_sym_repeat,
    ACTIONS(6415), 1,
      anon_sym_LPAREN,
    ACTIONS(6417), 1,
      anon_sym_LBRACK,
    ACTIONS(6419), 1,
      anon_sym_some,
    ACTIONS(6421), 1,
      anon_sym_any,
    ACTIONS(6423), 1,
      anon_sym_TILDE,
    STATE(4753), 1,
      sym_type_modifiers,
    STATE(5035), 1,
      sym_tuple_type,
    STATE(5138), 1,
      sym_simple_identifier,
    STATE(5144), 1,
      sym__simple_user_type,
    STATE(5617), 1,
      sym__parenthesized_type,
    STATE(5874), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5239), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6409), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5272), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6407), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5153), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [157432] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6411), 1,
      anon_sym_each,
    ACTIONS(6413), 1,
      anon_sym_repeat,
    ACTIONS(6415), 1,
      anon_sym_LPAREN,
    ACTIONS(6417), 1,
      anon_sym_LBRACK,
    ACTIONS(6419), 1,
      anon_sym_some,
    ACTIONS(6421), 1,
      anon_sym_any,
    ACTIONS(6423), 1,
      anon_sym_TILDE,
    STATE(4753), 1,
      sym_type_modifiers,
    STATE(5035), 1,
      sym_tuple_type,
    STATE(5138), 1,
      sym_simple_identifier,
    STATE(5144), 1,
      sym__simple_user_type,
    STATE(5617), 1,
      sym__parenthesized_type,
    STATE(5865), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5239), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6409), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5272), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6407), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5153), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [157518] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4335), 1,
      anon_sym_each,
    ACTIONS(4340), 1,
      anon_sym_repeat,
    ACTIONS(4342), 1,
      anon_sym_LPAREN,
    ACTIONS(4344), 1,
      anon_sym_LBRACK,
    ACTIONS(4346), 1,
      anon_sym_some,
    ACTIONS(4348), 1,
      anon_sym_any,
    ACTIONS(4350), 1,
      anon_sym_TILDE,
    STATE(2190), 1,
      sym_tuple_type,
    STATE(2343), 1,
      sym_simple_identifier,
    STATE(2352), 1,
      sym__simple_user_type,
    STATE(3038), 1,
      sym__parenthesized_type,
    STATE(3803), 1,
      sym__type,
    STATE(4729), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2446), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4333), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2575), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4331), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2395), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [157604] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(7788), 1,
      anon_sym_each,
    ACTIONS(7790), 1,
      anon_sym_repeat,
    ACTIONS(7792), 1,
      anon_sym_some,
    ACTIONS(7794), 1,
      anon_sym_any,
    ACTIONS(7796), 1,
      anon_sym_TILDE,
    STATE(4704), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(5722), 1,
      sym_tuple_type,
    STATE(5869), 1,
      sym__type,
    STATE(5990), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5953), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [157690] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(2637), 1,
      anon_sym_each,
    ACTIONS(2639), 1,
      anon_sym_repeat,
    ACTIONS(2647), 1,
      anon_sym_some,
    ACTIONS(2649), 1,
      anon_sym_any,
    ACTIONS(2651), 1,
      anon_sym_TILDE,
    ACTIONS(8244), 1,
      anon_sym_LPAREN,
    ACTIONS(8246), 1,
      anon_sym_LBRACK,
    STATE(804), 1,
      sym_tuple_type,
    STATE(810), 1,
      sym__simple_user_type,
    STATE(818), 1,
      sym_simple_identifier,
    STATE(839), 1,
      sym__parenthesized_type,
    STATE(977), 1,
      sym__type,
    STATE(4717), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(845), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(811), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(755), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(816), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [157776] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7099), 1,
      anon_sym_each,
    ACTIONS(7101), 1,
      anon_sym_repeat,
    ACTIONS(7103), 1,
      anon_sym_LPAREN,
    ACTIONS(7105), 1,
      anon_sym_LBRACK,
    ACTIONS(7107), 1,
      anon_sym_some,
    ACTIONS(7109), 1,
      anon_sym_any,
    ACTIONS(7111), 1,
      anon_sym_TILDE,
    STATE(4754), 1,
      sym_type_modifiers,
    STATE(5183), 1,
      sym_tuple_type,
    STATE(5361), 1,
      sym_simple_identifier,
    STATE(5409), 1,
      sym__simple_user_type,
    STATE(6012), 1,
      sym__parenthesized_type,
    STATE(8053), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5542), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7097), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5525), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7095), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5431), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [157862] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4423), 1,
      anon_sym_each,
    ACTIONS(4428), 1,
      anon_sym_repeat,
    ACTIONS(4430), 1,
      anon_sym_LPAREN,
    ACTIONS(4432), 1,
      anon_sym_LBRACK,
    ACTIONS(4434), 1,
      anon_sym_some,
    ACTIONS(4436), 1,
      anon_sym_any,
    ACTIONS(4438), 1,
      anon_sym_TILDE,
    STATE(2516), 1,
      sym_tuple_type,
    STATE(3020), 1,
      sym_simple_identifier,
    STATE(3031), 1,
      sym__simple_user_type,
    STATE(3719), 1,
      sym__parenthesized_type,
    STATE(3755), 1,
      sym__type,
    STATE(4748), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3179), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4421), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(3569), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4419), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2892), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [157948] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7099), 1,
      anon_sym_each,
    ACTIONS(7101), 1,
      anon_sym_repeat,
    ACTIONS(7103), 1,
      anon_sym_LPAREN,
    ACTIONS(7105), 1,
      anon_sym_LBRACK,
    ACTIONS(7107), 1,
      anon_sym_some,
    ACTIONS(7109), 1,
      anon_sym_any,
    ACTIONS(7111), 1,
      anon_sym_TILDE,
    STATE(4754), 1,
      sym_type_modifiers,
    STATE(5183), 1,
      sym_tuple_type,
    STATE(5361), 1,
      sym_simple_identifier,
    STATE(5409), 1,
      sym__simple_user_type,
    STATE(6012), 1,
      sym__parenthesized_type,
    STATE(7962), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5542), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7097), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5525), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7095), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5431), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [158034] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(2637), 1,
      anon_sym_each,
    ACTIONS(2639), 1,
      anon_sym_repeat,
    ACTIONS(2647), 1,
      anon_sym_some,
    ACTIONS(2649), 1,
      anon_sym_any,
    ACTIONS(2651), 1,
      anon_sym_TILDE,
    ACTIONS(8244), 1,
      anon_sym_LPAREN,
    ACTIONS(8246), 1,
      anon_sym_LBRACK,
    STATE(804), 1,
      sym_tuple_type,
    STATE(810), 1,
      sym__simple_user_type,
    STATE(818), 1,
      sym_simple_identifier,
    STATE(839), 1,
      sym__parenthesized_type,
    STATE(976), 1,
      sym__type,
    STATE(4717), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(845), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(811), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(755), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(816), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [158120] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7099), 1,
      anon_sym_each,
    ACTIONS(7101), 1,
      anon_sym_repeat,
    ACTIONS(7103), 1,
      anon_sym_LPAREN,
    ACTIONS(7105), 1,
      anon_sym_LBRACK,
    ACTIONS(7107), 1,
      anon_sym_some,
    ACTIONS(7109), 1,
      anon_sym_any,
    ACTIONS(7111), 1,
      anon_sym_TILDE,
    STATE(4754), 1,
      sym_type_modifiers,
    STATE(5183), 1,
      sym_tuple_type,
    STATE(5361), 1,
      sym_simple_identifier,
    STATE(5409), 1,
      sym__simple_user_type,
    STATE(6012), 1,
      sym__parenthesized_type,
    STATE(7862), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5542), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7097), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5525), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7095), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5431), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [158206] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4423), 1,
      anon_sym_each,
    ACTIONS(4428), 1,
      anon_sym_repeat,
    ACTIONS(4430), 1,
      anon_sym_LPAREN,
    ACTIONS(4432), 1,
      anon_sym_LBRACK,
    ACTIONS(4434), 1,
      anon_sym_some,
    ACTIONS(4436), 1,
      anon_sym_any,
    ACTIONS(4438), 1,
      anon_sym_TILDE,
    STATE(2516), 1,
      sym_tuple_type,
    STATE(3020), 1,
      sym_simple_identifier,
    STATE(3031), 1,
      sym__simple_user_type,
    STATE(3719), 1,
      sym__parenthesized_type,
    STATE(3738), 1,
      sym__type,
    STATE(4748), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3179), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4421), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(3569), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4419), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2892), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [158292] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6763), 1,
      anon_sym_each,
    ACTIONS(6765), 1,
      anon_sym_repeat,
    ACTIONS(6767), 1,
      anon_sym_LPAREN,
    ACTIONS(6769), 1,
      anon_sym_LBRACK,
    ACTIONS(6771), 1,
      anon_sym_some,
    ACTIONS(6773), 1,
      anon_sym_any,
    ACTIONS(6775), 1,
      anon_sym_TILDE,
    STATE(4617), 1,
      sym_type_modifiers,
    STATE(5082), 1,
      sym_tuple_type,
    STATE(5222), 1,
      sym__simple_user_type,
    STATE(5223), 1,
      sym_simple_identifier,
    STATE(5858), 1,
      sym__parenthesized_type,
    STATE(7364), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5331), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6761), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5452), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6759), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5280), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [158378] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4335), 1,
      anon_sym_each,
    ACTIONS(4340), 1,
      anon_sym_repeat,
    ACTIONS(4342), 1,
      anon_sym_LPAREN,
    ACTIONS(4344), 1,
      anon_sym_LBRACK,
    ACTIONS(4346), 1,
      anon_sym_some,
    ACTIONS(4348), 1,
      anon_sym_any,
    ACTIONS(4350), 1,
      anon_sym_TILDE,
    STATE(2190), 1,
      sym_tuple_type,
    STATE(2343), 1,
      sym_simple_identifier,
    STATE(2352), 1,
      sym__simple_user_type,
    STATE(3038), 1,
      sym__parenthesized_type,
    STATE(3827), 1,
      sym__type,
    STATE(4729), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2446), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4333), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2575), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4331), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2395), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [158464] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4423), 1,
      anon_sym_each,
    ACTIONS(4428), 1,
      anon_sym_repeat,
    ACTIONS(4430), 1,
      anon_sym_LPAREN,
    ACTIONS(4432), 1,
      anon_sym_LBRACK,
    ACTIONS(4434), 1,
      anon_sym_some,
    ACTIONS(4436), 1,
      anon_sym_any,
    ACTIONS(4438), 1,
      anon_sym_TILDE,
    STATE(2516), 1,
      sym_tuple_type,
    STATE(3020), 1,
      sym_simple_identifier,
    STATE(3031), 1,
      sym__simple_user_type,
    STATE(3719), 1,
      sym__parenthesized_type,
    STATE(3737), 1,
      sym__type,
    STATE(4748), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3179), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4421), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(3569), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4419), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2892), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [158550] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(4659), 1,
      sym_type_modifiers,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    STATE(5984), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5243), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [158636] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3857), 1,
      anon_sym_LPAREN,
    ACTIONS(3859), 1,
      anon_sym_LBRACK,
    ACTIONS(3865), 1,
      anon_sym_TILDE,
    ACTIONS(7036), 1,
      anon_sym_each,
    ACTIONS(7038), 1,
      anon_sym_repeat,
    ACTIONS(7040), 1,
      anon_sym_some,
    ACTIONS(7042), 1,
      anon_sym_any,
    STATE(1737), 1,
      sym_simple_identifier,
    STATE(1848), 1,
      sym__parenthesized_type,
    STATE(4635), 1,
      sym_type_modifiers,
    STATE(5283), 1,
      sym_tuple_type,
    STATE(5639), 1,
      sym__simple_user_type,
    STATE(6860), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1730), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1772), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3846), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5572), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [158722] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(2811), 1,
      anon_sym_each,
    ACTIONS(2816), 1,
      anon_sym_repeat,
    ACTIONS(2824), 1,
      anon_sym_some,
    ACTIONS(2826), 1,
      anon_sym_any,
    ACTIONS(2828), 1,
      anon_sym_TILDE,
    ACTIONS(8248), 1,
      anon_sym_LPAREN,
    ACTIONS(8250), 1,
      anon_sym_LBRACK,
    STATE(1002), 1,
      sym_tuple_type,
    STATE(1034), 1,
      sym__simple_user_type,
    STATE(1049), 1,
      sym_simple_identifier,
    STATE(1054), 1,
      sym__type,
    STATE(1067), 1,
      sym__parenthesized_type,
    STATE(4739), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1073), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(2809), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1035), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(2807), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1006), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [158808] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(2811), 1,
      anon_sym_each,
    ACTIONS(2816), 1,
      anon_sym_repeat,
    ACTIONS(2824), 1,
      anon_sym_some,
    ACTIONS(2826), 1,
      anon_sym_any,
    ACTIONS(2828), 1,
      anon_sym_TILDE,
    ACTIONS(8248), 1,
      anon_sym_LPAREN,
    ACTIONS(8250), 1,
      anon_sym_LBRACK,
    STATE(1002), 1,
      sym_tuple_type,
    STATE(1034), 1,
      sym__simple_user_type,
    STATE(1049), 1,
      sym_simple_identifier,
    STATE(1058), 1,
      sym__type,
    STATE(1067), 1,
      sym__parenthesized_type,
    STATE(4739), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1073), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(2809), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1035), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(2807), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1006), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [158894] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6138), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6133), 39,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [158944] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(2811), 1,
      anon_sym_each,
    ACTIONS(2816), 1,
      anon_sym_repeat,
    ACTIONS(2824), 1,
      anon_sym_some,
    ACTIONS(2826), 1,
      anon_sym_any,
    ACTIONS(2828), 1,
      anon_sym_TILDE,
    ACTIONS(8248), 1,
      anon_sym_LPAREN,
    ACTIONS(8250), 1,
      anon_sym_LBRACK,
    STATE(1002), 1,
      sym_tuple_type,
    STATE(1034), 1,
      sym__simple_user_type,
    STATE(1049), 1,
      sym_simple_identifier,
    STATE(1060), 1,
      sym__type,
    STATE(1067), 1,
      sym__parenthesized_type,
    STATE(4739), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1073), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(2809), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1035), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(2807), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1006), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [159030] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3894), 1,
      anon_sym_each,
    ACTIONS(3896), 1,
      anon_sym_repeat,
    ACTIONS(3898), 1,
      anon_sym_LPAREN,
    ACTIONS(3900), 1,
      anon_sym_LBRACK,
    ACTIONS(3902), 1,
      anon_sym_some,
    ACTIONS(3904), 1,
      anon_sym_any,
    ACTIONS(3906), 1,
      anon_sym_TILDE,
    STATE(1744), 1,
      sym_tuple_type,
    STATE(1837), 1,
      sym__simple_user_type,
    STATE(1845), 1,
      sym_simple_identifier,
    STATE(1973), 1,
      sym__parenthesized_type,
    STATE(2013), 1,
      sym__type,
    STATE(4718), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1905), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3889), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1908), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3887), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1831), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [159116] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6240), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6238), 39,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [159166] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6236), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6234), 39,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [159216] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4423), 1,
      anon_sym_each,
    ACTIONS(4428), 1,
      anon_sym_repeat,
    ACTIONS(4430), 1,
      anon_sym_LPAREN,
    ACTIONS(4432), 1,
      anon_sym_LBRACK,
    ACTIONS(4434), 1,
      anon_sym_some,
    ACTIONS(4436), 1,
      anon_sym_any,
    ACTIONS(4438), 1,
      anon_sym_TILDE,
    STATE(2516), 1,
      sym_tuple_type,
    STATE(3020), 1,
      sym_simple_identifier,
    STATE(3031), 1,
      sym__simple_user_type,
    STATE(3719), 1,
      sym__parenthesized_type,
    STATE(4160), 1,
      sym__type,
    STATE(4748), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3179), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4421), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(3569), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4419), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2892), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [159302] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3894), 1,
      anon_sym_each,
    ACTIONS(3896), 1,
      anon_sym_repeat,
    ACTIONS(3898), 1,
      anon_sym_LPAREN,
    ACTIONS(3900), 1,
      anon_sym_LBRACK,
    ACTIONS(3902), 1,
      anon_sym_some,
    ACTIONS(3904), 1,
      anon_sym_any,
    ACTIONS(3906), 1,
      anon_sym_TILDE,
    STATE(1744), 1,
      sym_tuple_type,
    STATE(1837), 1,
      sym__simple_user_type,
    STATE(1845), 1,
      sym_simple_identifier,
    STATE(1973), 1,
      sym__parenthesized_type,
    STATE(1988), 1,
      sym__type,
    STATE(4718), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1905), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3889), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1908), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3887), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1831), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [159388] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3807), 1,
      anon_sym_LPAREN,
    ACTIONS(3809), 1,
      anon_sym_LBRACK,
    ACTIONS(3815), 1,
      anon_sym_TILDE,
    ACTIONS(7687), 1,
      anon_sym_each,
    ACTIONS(7689), 1,
      anon_sym_repeat,
    ACTIONS(7691), 1,
      anon_sym_some,
    ACTIONS(7693), 1,
      anon_sym_any,
    STATE(1757), 1,
      sym__simple_user_type,
    STATE(1758), 1,
      sym_simple_identifier,
    STATE(1881), 1,
      sym__parenthesized_type,
    STATE(1946), 1,
      sym__type,
    STATE(4671), 1,
      sym_type_modifiers,
    STATE(5217), 1,
      sym_tuple_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1806), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3798), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1775), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3796), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5607), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [159474] = 20,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5019), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(7028), 2,
      sym_identifier,
      sym__constrained_type,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [159558] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7099), 1,
      anon_sym_each,
    ACTIONS(7101), 1,
      anon_sym_repeat,
    ACTIONS(7103), 1,
      anon_sym_LPAREN,
    ACTIONS(7105), 1,
      anon_sym_LBRACK,
    ACTIONS(7107), 1,
      anon_sym_some,
    ACTIONS(7109), 1,
      anon_sym_any,
    ACTIONS(7111), 1,
      anon_sym_TILDE,
    STATE(4754), 1,
      sym_type_modifiers,
    STATE(5183), 1,
      sym_tuple_type,
    STATE(5361), 1,
      sym_simple_identifier,
    STATE(5409), 1,
      sym__simple_user_type,
    STATE(6012), 1,
      sym__parenthesized_type,
    STATE(6062), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5542), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7097), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5525), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7095), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5431), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [159644] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7099), 1,
      anon_sym_each,
    ACTIONS(7101), 1,
      anon_sym_repeat,
    ACTIONS(7103), 1,
      anon_sym_LPAREN,
    ACTIONS(7105), 1,
      anon_sym_LBRACK,
    ACTIONS(7107), 1,
      anon_sym_some,
    ACTIONS(7109), 1,
      anon_sym_any,
    ACTIONS(7111), 1,
      anon_sym_TILDE,
    STATE(4754), 1,
      sym_type_modifiers,
    STATE(5183), 1,
      sym_tuple_type,
    STATE(5361), 1,
      sym_simple_identifier,
    STATE(5409), 1,
      sym__simple_user_type,
    STATE(6012), 1,
      sym__parenthesized_type,
    STATE(7883), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5542), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7097), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5525), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7095), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5431), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [159730] = 20,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5019), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(7061), 2,
      sym_identifier,
      sym__constrained_type,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [159814] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6411), 1,
      anon_sym_each,
    ACTIONS(6413), 1,
      anon_sym_repeat,
    ACTIONS(6415), 1,
      anon_sym_LPAREN,
    ACTIONS(6417), 1,
      anon_sym_LBRACK,
    ACTIONS(6419), 1,
      anon_sym_some,
    ACTIONS(6421), 1,
      anon_sym_any,
    ACTIONS(6423), 1,
      anon_sym_TILDE,
    STATE(4753), 1,
      sym_type_modifiers,
    STATE(5035), 1,
      sym_tuple_type,
    STATE(5138), 1,
      sym_simple_identifier,
    STATE(5144), 1,
      sym__simple_user_type,
    STATE(5617), 1,
      sym__parenthesized_type,
    STATE(6513), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5239), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6409), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5272), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6407), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5153), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [159900] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7099), 1,
      anon_sym_each,
    ACTIONS(7101), 1,
      anon_sym_repeat,
    ACTIONS(7103), 1,
      anon_sym_LPAREN,
    ACTIONS(7105), 1,
      anon_sym_LBRACK,
    ACTIONS(7107), 1,
      anon_sym_some,
    ACTIONS(7109), 1,
      anon_sym_any,
    ACTIONS(7111), 1,
      anon_sym_TILDE,
    STATE(4754), 1,
      sym_type_modifiers,
    STATE(5183), 1,
      sym_tuple_type,
    STATE(5361), 1,
      sym_simple_identifier,
    STATE(5409), 1,
      sym__simple_user_type,
    STATE(6012), 1,
      sym__parenthesized_type,
    STATE(6060), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5542), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7097), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5525), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7095), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5431), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [159986] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7099), 1,
      anon_sym_each,
    ACTIONS(7101), 1,
      anon_sym_repeat,
    ACTIONS(7103), 1,
      anon_sym_LPAREN,
    ACTIONS(7105), 1,
      anon_sym_LBRACK,
    ACTIONS(7107), 1,
      anon_sym_some,
    ACTIONS(7109), 1,
      anon_sym_any,
    ACTIONS(7111), 1,
      anon_sym_TILDE,
    STATE(4754), 1,
      sym_type_modifiers,
    STATE(5183), 1,
      sym_tuple_type,
    STATE(5361), 1,
      sym_simple_identifier,
    STATE(5409), 1,
      sym__simple_user_type,
    STATE(6012), 1,
      sym__parenthesized_type,
    STATE(6051), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5542), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7097), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5525), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7095), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5431), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [160072] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4423), 1,
      anon_sym_each,
    ACTIONS(4428), 1,
      anon_sym_repeat,
    ACTIONS(4430), 1,
      anon_sym_LPAREN,
    ACTIONS(4432), 1,
      anon_sym_LBRACK,
    ACTIONS(4434), 1,
      anon_sym_some,
    ACTIONS(4436), 1,
      anon_sym_any,
    ACTIONS(4438), 1,
      anon_sym_TILDE,
    STATE(2516), 1,
      sym_tuple_type,
    STATE(3020), 1,
      sym_simple_identifier,
    STATE(3031), 1,
      sym__simple_user_type,
    STATE(3719), 1,
      sym__parenthesized_type,
    STATE(4142), 1,
      sym__type,
    STATE(4748), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3179), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4421), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(3569), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4419), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2892), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [160158] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3894), 1,
      anon_sym_each,
    ACTIONS(3896), 1,
      anon_sym_repeat,
    ACTIONS(3898), 1,
      anon_sym_LPAREN,
    ACTIONS(3900), 1,
      anon_sym_LBRACK,
    ACTIONS(3902), 1,
      anon_sym_some,
    ACTIONS(3904), 1,
      anon_sym_any,
    ACTIONS(3906), 1,
      anon_sym_TILDE,
    STATE(1744), 1,
      sym_tuple_type,
    STATE(1837), 1,
      sym__simple_user_type,
    STATE(1845), 1,
      sym_simple_identifier,
    STATE(1973), 1,
      sym__parenthesized_type,
    STATE(2003), 1,
      sym__type,
    STATE(4718), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1905), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3889), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1908), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3887), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1831), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [160244] = 20,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5019), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(7037), 2,
      sym_identifier,
      sym__constrained_type,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [160328] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3807), 1,
      anon_sym_LPAREN,
    ACTIONS(3809), 1,
      anon_sym_LBRACK,
    ACTIONS(3815), 1,
      anon_sym_TILDE,
    ACTIONS(7687), 1,
      anon_sym_each,
    ACTIONS(7689), 1,
      anon_sym_repeat,
    ACTIONS(7691), 1,
      anon_sym_some,
    ACTIONS(7693), 1,
      anon_sym_any,
    STATE(1757), 1,
      sym__simple_user_type,
    STATE(1758), 1,
      sym_simple_identifier,
    STATE(1881), 1,
      sym__parenthesized_type,
    STATE(1941), 1,
      sym__type,
    STATE(4671), 1,
      sym_type_modifiers,
    STATE(5217), 1,
      sym_tuple_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1806), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3798), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1775), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3796), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5607), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [160414] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6763), 1,
      anon_sym_each,
    ACTIONS(6765), 1,
      anon_sym_repeat,
    ACTIONS(6767), 1,
      anon_sym_LPAREN,
    ACTIONS(6769), 1,
      anon_sym_LBRACK,
    ACTIONS(6771), 1,
      anon_sym_some,
    ACTIONS(6773), 1,
      anon_sym_any,
    ACTIONS(6775), 1,
      anon_sym_TILDE,
    STATE(4617), 1,
      sym_type_modifiers,
    STATE(5082), 1,
      sym_tuple_type,
    STATE(5222), 1,
      sym__simple_user_type,
    STATE(5223), 1,
      sym_simple_identifier,
    STATE(5858), 1,
      sym__parenthesized_type,
    STATE(7379), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5331), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6761), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5452), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6759), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5280), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [160500] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(7788), 1,
      anon_sym_each,
    ACTIONS(7790), 1,
      anon_sym_repeat,
    ACTIONS(7792), 1,
      anon_sym_some,
    ACTIONS(7794), 1,
      anon_sym_any,
    ACTIONS(7796), 1,
      anon_sym_TILDE,
    STATE(4704), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(5722), 1,
      sym_tuple_type,
    STATE(5863), 1,
      sym__type,
    STATE(5990), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5953), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [160586] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6180), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6178), 39,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [160636] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6176), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6174), 39,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [160686] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3769), 1,
      anon_sym_each,
    ACTIONS(3771), 1,
      anon_sym_repeat,
    ACTIONS(3773), 1,
      anon_sym_LPAREN,
    ACTIONS(3775), 1,
      anon_sym_LBRACK,
    ACTIONS(3777), 1,
      anon_sym_some,
    ACTIONS(3779), 1,
      anon_sym_any,
    ACTIONS(3781), 1,
      anon_sym_TILDE,
    STATE(1705), 1,
      sym_tuple_type,
    STATE(1712), 1,
      sym__simple_user_type,
    STATE(1719), 1,
      sym_simple_identifier,
    STATE(1804), 1,
      sym__parenthesized_type,
    STATE(2127), 1,
      sym__type,
    STATE(4703), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1734), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3764), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1743), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3762), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1727), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [160772] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(5869), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [160858] = 20,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5019), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6993), 2,
      sym_identifier,
      sym__constrained_type,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [160942] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8536), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [161028] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3807), 1,
      anon_sym_LPAREN,
    ACTIONS(3809), 1,
      anon_sym_LBRACK,
    ACTIONS(3815), 1,
      anon_sym_TILDE,
    ACTIONS(7687), 1,
      anon_sym_each,
    ACTIONS(7689), 1,
      anon_sym_repeat,
    ACTIONS(7691), 1,
      anon_sym_some,
    ACTIONS(7693), 1,
      anon_sym_any,
    STATE(1757), 1,
      sym__simple_user_type,
    STATE(1758), 1,
      sym_simple_identifier,
    STATE(1881), 1,
      sym__parenthesized_type,
    STATE(1934), 1,
      sym__type,
    STATE(4671), 1,
      sym_type_modifiers,
    STATE(5217), 1,
      sym_tuple_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1806), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3798), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1775), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3796), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5607), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [161114] = 20,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5019), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6978), 2,
      sym_identifier,
      sym__constrained_type,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [161198] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7099), 1,
      anon_sym_each,
    ACTIONS(7101), 1,
      anon_sym_repeat,
    ACTIONS(7103), 1,
      anon_sym_LPAREN,
    ACTIONS(7105), 1,
      anon_sym_LBRACK,
    ACTIONS(7107), 1,
      anon_sym_some,
    ACTIONS(7109), 1,
      anon_sym_any,
    ACTIONS(7111), 1,
      anon_sym_TILDE,
    STATE(4754), 1,
      sym_type_modifiers,
    STATE(5183), 1,
      sym_tuple_type,
    STATE(5361), 1,
      sym_simple_identifier,
    STATE(5409), 1,
      sym__simple_user_type,
    STATE(6012), 1,
      sym__parenthesized_type,
    STATE(7825), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5542), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7097), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5525), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7095), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5431), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [161284] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4063), 1,
      anon_sym_each,
    ACTIONS(4065), 1,
      anon_sym_repeat,
    ACTIONS(4073), 1,
      anon_sym_some,
    ACTIONS(4075), 1,
      anon_sym_any,
    ACTIONS(4077), 1,
      anon_sym_TILDE,
    ACTIONS(8252), 1,
      anon_sym_LPAREN,
    ACTIONS(8254), 1,
      anon_sym_LBRACK,
    STATE(1935), 1,
      sym_tuple_type,
    STATE(2067), 1,
      sym__simple_user_type,
    STATE(2137), 1,
      sym_simple_identifier,
    STATE(2160), 1,
      sym__parenthesized_type,
    STATE(2843), 1,
      sym__type,
    STATE(4623), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2201), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4061), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2050), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4059), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1947), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [161370] = 20,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5019), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6913), 2,
      sym_identifier,
      sym__constrained_type,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [161454] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(5921), 1,
      anon_sym_each,
    ACTIONS(5923), 1,
      anon_sym_repeat,
    ACTIONS(5925), 1,
      anon_sym_LPAREN,
    ACTIONS(5927), 1,
      anon_sym_LBRACK,
    ACTIONS(5929), 1,
      anon_sym_some,
    ACTIONS(5931), 1,
      anon_sym_any,
    ACTIONS(5933), 1,
      anon_sym_TILDE,
    STATE(4758), 1,
      sym_type_modifiers,
    STATE(4967), 1,
      sym_tuple_type,
    STATE(4996), 1,
      sym__simple_user_type,
    STATE(5011), 1,
      sym_simple_identifier,
    STATE(5191), 1,
      sym__parenthesized_type,
    STATE(6160), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5013), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(5919), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5021), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(5917), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4994), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [161540] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4063), 1,
      anon_sym_each,
    ACTIONS(4065), 1,
      anon_sym_repeat,
    ACTIONS(4073), 1,
      anon_sym_some,
    ACTIONS(4075), 1,
      anon_sym_any,
    ACTIONS(4077), 1,
      anon_sym_TILDE,
    ACTIONS(8252), 1,
      anon_sym_LPAREN,
    ACTIONS(8254), 1,
      anon_sym_LBRACK,
    STATE(1935), 1,
      sym_tuple_type,
    STATE(2067), 1,
      sym__simple_user_type,
    STATE(2137), 1,
      sym_simple_identifier,
    STATE(2160), 1,
      sym__parenthesized_type,
    STATE(2859), 1,
      sym__type,
    STATE(4623), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2201), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4061), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2050), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4059), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1947), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [161626] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(2811), 1,
      anon_sym_each,
    ACTIONS(2816), 1,
      anon_sym_repeat,
    ACTIONS(2824), 1,
      anon_sym_some,
    ACTIONS(2826), 1,
      anon_sym_any,
    ACTIONS(2828), 1,
      anon_sym_TILDE,
    ACTIONS(8248), 1,
      anon_sym_LPAREN,
    ACTIONS(8250), 1,
      anon_sym_LBRACK,
    STATE(1002), 1,
      sym_tuple_type,
    STATE(1034), 1,
      sym__simple_user_type,
    STATE(1049), 1,
      sym_simple_identifier,
    STATE(1067), 1,
      sym__parenthesized_type,
    STATE(1266), 1,
      sym__type,
    STATE(4739), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1073), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(2809), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1035), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(2807), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1006), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [161712] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6441), 1,
      anon_sym_each,
    ACTIONS(6443), 1,
      anon_sym_repeat,
    ACTIONS(6445), 1,
      anon_sym_LPAREN,
    ACTIONS(6447), 1,
      anon_sym_LBRACK,
    ACTIONS(6449), 1,
      anon_sym_some,
    ACTIONS(6451), 1,
      anon_sym_any,
    ACTIONS(6453), 1,
      anon_sym_TILDE,
    STATE(4714), 1,
      sym_type_modifiers,
    STATE(5051), 1,
      sym_tuple_type,
    STATE(5141), 1,
      sym_simple_identifier,
    STATE(5187), 1,
      sym__simple_user_type,
    STATE(5753), 1,
      sym__parenthesized_type,
    STATE(5797), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5241), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6439), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5224), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6437), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5180), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [161798] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(7553), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [161884] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6441), 1,
      anon_sym_each,
    ACTIONS(6443), 1,
      anon_sym_repeat,
    ACTIONS(6445), 1,
      anon_sym_LPAREN,
    ACTIONS(6447), 1,
      anon_sym_LBRACK,
    ACTIONS(6449), 1,
      anon_sym_some,
    ACTIONS(6451), 1,
      anon_sym_any,
    ACTIONS(6453), 1,
      anon_sym_TILDE,
    STATE(4714), 1,
      sym_type_modifiers,
    STATE(5051), 1,
      sym_tuple_type,
    STATE(5141), 1,
      sym_simple_identifier,
    STATE(5187), 1,
      sym__simple_user_type,
    STATE(5753), 1,
      sym__parenthesized_type,
    STATE(5859), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5241), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6439), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5224), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6437), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5180), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [161970] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6441), 1,
      anon_sym_each,
    ACTIONS(6443), 1,
      anon_sym_repeat,
    ACTIONS(6445), 1,
      anon_sym_LPAREN,
    ACTIONS(6447), 1,
      anon_sym_LBRACK,
    ACTIONS(6449), 1,
      anon_sym_some,
    ACTIONS(6451), 1,
      anon_sym_any,
    ACTIONS(6453), 1,
      anon_sym_TILDE,
    STATE(4714), 1,
      sym_type_modifiers,
    STATE(5051), 1,
      sym_tuple_type,
    STATE(5141), 1,
      sym_simple_identifier,
    STATE(5187), 1,
      sym__simple_user_type,
    STATE(5753), 1,
      sym__parenthesized_type,
    STATE(5890), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5241), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6439), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5224), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6437), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5180), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [162056] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3773), 1,
      anon_sym_LPAREN,
    ACTIONS(3775), 1,
      anon_sym_LBRACK,
    ACTIONS(3781), 1,
      anon_sym_TILDE,
    ACTIONS(6787), 1,
      anon_sym_each,
    ACTIONS(6789), 1,
      anon_sym_repeat,
    ACTIONS(6791), 1,
      anon_sym_some,
    ACTIONS(6793), 1,
      anon_sym_any,
    STATE(1712), 1,
      sym__simple_user_type,
    STATE(1719), 1,
      sym_simple_identifier,
    STATE(1804), 1,
      sym__parenthesized_type,
    STATE(2101), 1,
      sym__type,
    STATE(4638), 1,
      sym_type_modifiers,
    STATE(5063), 1,
      sym_tuple_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1734), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3764), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1743), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3762), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5268), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [162142] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(4659), 1,
      sym_type_modifiers,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    STATE(7728), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5243), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [162228] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3769), 1,
      anon_sym_each,
    ACTIONS(3771), 1,
      anon_sym_repeat,
    ACTIONS(3773), 1,
      anon_sym_LPAREN,
    ACTIONS(3775), 1,
      anon_sym_LBRACK,
    ACTIONS(3777), 1,
      anon_sym_some,
    ACTIONS(3779), 1,
      anon_sym_any,
    ACTIONS(3781), 1,
      anon_sym_TILDE,
    STATE(1705), 1,
      sym_tuple_type,
    STATE(1712), 1,
      sym__simple_user_type,
    STATE(1719), 1,
      sym_simple_identifier,
    STATE(1804), 1,
      sym__parenthesized_type,
    STATE(2101), 1,
      sym__type,
    STATE(4703), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1734), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3764), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1743), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3762), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1727), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [162314] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6300), 1,
      anon_sym_each,
    ACTIONS(6302), 1,
      anon_sym_repeat,
    ACTIONS(6304), 1,
      anon_sym_LPAREN,
    ACTIONS(6306), 1,
      anon_sym_LBRACK,
    ACTIONS(6308), 1,
      anon_sym_some,
    ACTIONS(6310), 1,
      anon_sym_any,
    ACTIONS(6312), 1,
      anon_sym_TILDE,
    STATE(4764), 1,
      sym_type_modifiers,
    STATE(5009), 1,
      sym_tuple_type,
    STATE(5100), 1,
      sym__simple_user_type,
    STATE(5104), 1,
      sym_simple_identifier,
    STATE(5491), 1,
      sym__parenthesized_type,
    STATE(6426), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5151), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6298), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5140), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6296), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5085), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [162400] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4282), 1,
      anon_sym_each,
    ACTIONS(4284), 1,
      anon_sym_repeat,
    ACTIONS(4292), 1,
      anon_sym_some,
    ACTIONS(4294), 1,
      anon_sym_any,
    ACTIONS(4296), 1,
      anon_sym_TILDE,
    ACTIONS(8240), 1,
      anon_sym_LPAREN,
    ACTIONS(8242), 1,
      anon_sym_LBRACK,
    STATE(2019), 1,
      sym_tuple_type,
    STATE(2170), 1,
      sym__simple_user_type,
    STATE(2283), 1,
      sym_simple_identifier,
    STATE(2374), 1,
      sym__parenthesized_type,
    STATE(3668), 1,
      sym__type,
    STATE(4711), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2358), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4280), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2164), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4278), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2087), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [162486] = 20,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5019), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6851), 2,
      sym_identifier,
      sym__constrained_type,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [162570] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4282), 1,
      anon_sym_each,
    ACTIONS(4284), 1,
      anon_sym_repeat,
    ACTIONS(4292), 1,
      anon_sym_some,
    ACTIONS(4294), 1,
      anon_sym_any,
    ACTIONS(4296), 1,
      anon_sym_TILDE,
    ACTIONS(8240), 1,
      anon_sym_LPAREN,
    ACTIONS(8242), 1,
      anon_sym_LBRACK,
    STATE(2019), 1,
      sym_tuple_type,
    STATE(2170), 1,
      sym__simple_user_type,
    STATE(2283), 1,
      sym_simple_identifier,
    STATE(2374), 1,
      sym__parenthesized_type,
    STATE(3673), 1,
      sym__type,
    STATE(4711), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2358), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4280), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2164), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4278), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2087), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [162656] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8770), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [162742] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(2811), 1,
      anon_sym_each,
    ACTIONS(2816), 1,
      anon_sym_repeat,
    ACTIONS(2824), 1,
      anon_sym_some,
    ACTIONS(2826), 1,
      anon_sym_any,
    ACTIONS(2828), 1,
      anon_sym_TILDE,
    ACTIONS(8248), 1,
      anon_sym_LPAREN,
    ACTIONS(8250), 1,
      anon_sym_LBRACK,
    STATE(1002), 1,
      sym_tuple_type,
    STATE(1034), 1,
      sym__simple_user_type,
    STATE(1049), 1,
      sym_simple_identifier,
    STATE(1067), 1,
      sym__parenthesized_type,
    STATE(1255), 1,
      sym__type,
    STATE(4739), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1073), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(2809), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1035), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(2807), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1006), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [162828] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6818), 1,
      anon_sym_each,
    ACTIONS(6820), 1,
      anon_sym_repeat,
    ACTIONS(6822), 1,
      anon_sym_LPAREN,
    ACTIONS(6824), 1,
      anon_sym_LBRACK,
    ACTIONS(6826), 1,
      anon_sym_some,
    ACTIONS(6828), 1,
      anon_sym_any,
    ACTIONS(6830), 1,
      anon_sym_TILDE,
    STATE(4747), 1,
      sym_type_modifiers,
    STATE(5069), 1,
      sym_tuple_type,
    STATE(5249), 1,
      sym__simple_user_type,
    STATE(5251), 1,
      sym_simple_identifier,
    STATE(5870), 1,
      sym__parenthesized_type,
    STATE(6018), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5356), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6816), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5348), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6814), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5277), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [162914] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3853), 1,
      anon_sym_each,
    ACTIONS(3855), 1,
      anon_sym_repeat,
    ACTIONS(3857), 1,
      anon_sym_LPAREN,
    ACTIONS(3859), 1,
      anon_sym_LBRACK,
    ACTIONS(3861), 1,
      anon_sym_some,
    ACTIONS(3863), 1,
      anon_sym_any,
    ACTIONS(3865), 1,
      anon_sym_TILDE,
    STATE(1737), 1,
      sym_simple_identifier,
    STATE(1740), 1,
      sym_tuple_type,
    STATE(1785), 1,
      sym__simple_user_type,
    STATE(1848), 1,
      sym__parenthesized_type,
    STATE(2568), 1,
      sym__type,
    STATE(4761), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1730), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1772), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3846), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1793), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [163000] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3769), 1,
      anon_sym_each,
    ACTIONS(3771), 1,
      anon_sym_repeat,
    ACTIONS(3773), 1,
      anon_sym_LPAREN,
    ACTIONS(3775), 1,
      anon_sym_LBRACK,
    ACTIONS(3777), 1,
      anon_sym_some,
    ACTIONS(3779), 1,
      anon_sym_any,
    ACTIONS(3781), 1,
      anon_sym_TILDE,
    STATE(1705), 1,
      sym_tuple_type,
    STATE(1712), 1,
      sym__simple_user_type,
    STATE(1719), 1,
      sym_simple_identifier,
    STATE(1804), 1,
      sym__parenthesized_type,
    STATE(1833), 1,
      sym__type,
    STATE(4703), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1734), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3764), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1743), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3762), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1727), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [163086] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6763), 1,
      anon_sym_each,
    ACTIONS(6765), 1,
      anon_sym_repeat,
    ACTIONS(6767), 1,
      anon_sym_LPAREN,
    ACTIONS(6769), 1,
      anon_sym_LBRACK,
    ACTIONS(6771), 1,
      anon_sym_some,
    ACTIONS(6773), 1,
      anon_sym_any,
    ACTIONS(6775), 1,
      anon_sym_TILDE,
    STATE(4617), 1,
      sym_type_modifiers,
    STATE(5082), 1,
      sym_tuple_type,
    STATE(5222), 1,
      sym__simple_user_type,
    STATE(5223), 1,
      sym_simple_identifier,
    STATE(5858), 1,
      sym__parenthesized_type,
    STATE(7224), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5331), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6761), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5452), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6759), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5280), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [163172] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3803), 1,
      anon_sym_each,
    ACTIONS(3805), 1,
      anon_sym_repeat,
    ACTIONS(3807), 1,
      anon_sym_LPAREN,
    ACTIONS(3809), 1,
      anon_sym_LBRACK,
    ACTIONS(3811), 1,
      anon_sym_some,
    ACTIONS(3813), 1,
      anon_sym_any,
    ACTIONS(3815), 1,
      anon_sym_TILDE,
    STATE(1716), 1,
      sym_tuple_type,
    STATE(1757), 1,
      sym__simple_user_type,
    STATE(1758), 1,
      sym_simple_identifier,
    STATE(1881), 1,
      sym__parenthesized_type,
    STATE(1934), 1,
      sym__type,
    STATE(4647), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1806), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3798), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1775), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3796), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1745), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [163258] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3769), 1,
      anon_sym_each,
    ACTIONS(3771), 1,
      anon_sym_repeat,
    ACTIONS(3773), 1,
      anon_sym_LPAREN,
    ACTIONS(3775), 1,
      anon_sym_LBRACK,
    ACTIONS(3777), 1,
      anon_sym_some,
    ACTIONS(3779), 1,
      anon_sym_any,
    ACTIONS(3781), 1,
      anon_sym_TILDE,
    STATE(1705), 1,
      sym_tuple_type,
    STATE(1712), 1,
      sym__simple_user_type,
    STATE(1719), 1,
      sym_simple_identifier,
    STATE(1804), 1,
      sym__parenthesized_type,
    STATE(1826), 1,
      sym__type,
    STATE(4703), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1734), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3764), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1743), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3762), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1727), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [163344] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8143), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [163430] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3769), 1,
      anon_sym_each,
    ACTIONS(3771), 1,
      anon_sym_repeat,
    ACTIONS(3773), 1,
      anon_sym_LPAREN,
    ACTIONS(3775), 1,
      anon_sym_LBRACK,
    ACTIONS(3777), 1,
      anon_sym_some,
    ACTIONS(3779), 1,
      anon_sym_any,
    ACTIONS(3781), 1,
      anon_sym_TILDE,
    STATE(1705), 1,
      sym_tuple_type,
    STATE(1712), 1,
      sym__simple_user_type,
    STATE(1719), 1,
      sym_simple_identifier,
    STATE(1804), 1,
      sym__parenthesized_type,
    STATE(1817), 1,
      sym__type,
    STATE(4703), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1734), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3764), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1743), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3762), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1727), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [163516] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7721), 1,
      anon_sym_LPAREN,
    ACTIONS(7723), 1,
      anon_sym_LBRACK,
    ACTIONS(7729), 1,
      anon_sym_TILDE,
    ACTIONS(7742), 1,
      anon_sym_each,
    ACTIONS(7744), 1,
      anon_sym_repeat,
    ACTIONS(7746), 1,
      anon_sym_some,
    ACTIONS(7748), 1,
      anon_sym_any,
    STATE(4602), 1,
      sym_type_modifiers,
    STATE(5379), 1,
      sym_tuple_type,
    STATE(5447), 1,
      sym_simple_identifier,
    STATE(5480), 1,
      sym__simple_user_type,
    STATE(5925), 1,
      sym__parenthesized_type,
    STATE(6033), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5720), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7715), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5633), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7713), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5835), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [163602] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8899), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [163688] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6818), 1,
      anon_sym_each,
    ACTIONS(6820), 1,
      anon_sym_repeat,
    ACTIONS(6822), 1,
      anon_sym_LPAREN,
    ACTIONS(6824), 1,
      anon_sym_LBRACK,
    ACTIONS(6826), 1,
      anon_sym_some,
    ACTIONS(6828), 1,
      anon_sym_any,
    ACTIONS(6830), 1,
      anon_sym_TILDE,
    STATE(4747), 1,
      sym_type_modifiers,
    STATE(5069), 1,
      sym_tuple_type,
    STATE(5249), 1,
      sym__simple_user_type,
    STATE(5251), 1,
      sym_simple_identifier,
    STATE(5870), 1,
      sym__parenthesized_type,
    STATE(5992), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5356), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6816), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5348), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6814), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5277), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [163774] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8150), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [163860] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3773), 1,
      anon_sym_LPAREN,
    ACTIONS(3775), 1,
      anon_sym_LBRACK,
    ACTIONS(3781), 1,
      anon_sym_TILDE,
    ACTIONS(6787), 1,
      anon_sym_each,
    ACTIONS(6789), 1,
      anon_sym_repeat,
    ACTIONS(6791), 1,
      anon_sym_some,
    ACTIONS(6793), 1,
      anon_sym_any,
    STATE(1712), 1,
      sym__simple_user_type,
    STATE(1719), 1,
      sym_simple_identifier,
    STATE(1804), 1,
      sym__parenthesized_type,
    STATE(1833), 1,
      sym__type,
    STATE(4638), 1,
      sym_type_modifiers,
    STATE(5063), 1,
      sym_tuple_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1734), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3764), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1743), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3762), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5268), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [163946] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3803), 1,
      anon_sym_each,
    ACTIONS(3805), 1,
      anon_sym_repeat,
    ACTIONS(3807), 1,
      anon_sym_LPAREN,
    ACTIONS(3809), 1,
      anon_sym_LBRACK,
    ACTIONS(3811), 1,
      anon_sym_some,
    ACTIONS(3813), 1,
      anon_sym_any,
    ACTIONS(3815), 1,
      anon_sym_TILDE,
    STATE(1716), 1,
      sym_tuple_type,
    STATE(1757), 1,
      sym__simple_user_type,
    STATE(1758), 1,
      sym_simple_identifier,
    STATE(1881), 1,
      sym__parenthesized_type,
    STATE(1941), 1,
      sym__type,
    STATE(4647), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1806), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3798), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1775), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3796), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1745), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [164032] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3853), 1,
      anon_sym_each,
    ACTIONS(3855), 1,
      anon_sym_repeat,
    ACTIONS(3857), 1,
      anon_sym_LPAREN,
    ACTIONS(3859), 1,
      anon_sym_LBRACK,
    ACTIONS(3861), 1,
      anon_sym_some,
    ACTIONS(3863), 1,
      anon_sym_any,
    ACTIONS(3865), 1,
      anon_sym_TILDE,
    STATE(1737), 1,
      sym_simple_identifier,
    STATE(1740), 1,
      sym_tuple_type,
    STATE(1785), 1,
      sym__simple_user_type,
    STATE(1848), 1,
      sym__parenthesized_type,
    STATE(2587), 1,
      sym__type,
    STATE(4761), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1730), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1772), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3846), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1793), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [164118] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8163), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [164204] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3942), 1,
      anon_sym_each,
    ACTIONS(3944), 1,
      anon_sym_repeat,
    ACTIONS(3952), 1,
      anon_sym_some,
    ACTIONS(3954), 1,
      anon_sym_any,
    ACTIONS(3956), 1,
      anon_sym_TILDE,
    ACTIONS(8256), 1,
      anon_sym_LPAREN,
    ACTIONS(8258), 1,
      anon_sym_LBRACK,
    STATE(1902), 1,
      sym_tuple_type,
    STATE(2008), 1,
      sym__simple_user_type,
    STATE(2083), 1,
      sym_simple_identifier,
    STATE(2109), 1,
      sym__type,
    STATE(2136), 1,
      sym__parenthesized_type,
    STATE(4721), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2130), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3940), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2018), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3938), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1929), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [164290] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3773), 1,
      anon_sym_LPAREN,
    ACTIONS(3775), 1,
      anon_sym_LBRACK,
    ACTIONS(3781), 1,
      anon_sym_TILDE,
    ACTIONS(6787), 1,
      anon_sym_each,
    ACTIONS(6789), 1,
      anon_sym_repeat,
    ACTIONS(6791), 1,
      anon_sym_some,
    ACTIONS(6793), 1,
      anon_sym_any,
    STATE(1712), 1,
      sym__simple_user_type,
    STATE(1719), 1,
      sym_simple_identifier,
    STATE(1804), 1,
      sym__parenthesized_type,
    STATE(2127), 1,
      sym__type,
    STATE(4638), 1,
      sym_type_modifiers,
    STATE(5063), 1,
      sym_tuple_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1734), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3764), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1743), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3762), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5268), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [164376] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3894), 1,
      anon_sym_each,
    ACTIONS(3896), 1,
      anon_sym_repeat,
    ACTIONS(3898), 1,
      anon_sym_LPAREN,
    ACTIONS(3900), 1,
      anon_sym_LBRACK,
    ACTIONS(3902), 1,
      anon_sym_some,
    ACTIONS(3904), 1,
      anon_sym_any,
    ACTIONS(3906), 1,
      anon_sym_TILDE,
    STATE(1744), 1,
      sym_tuple_type,
    STATE(1837), 1,
      sym__simple_user_type,
    STATE(1845), 1,
      sym_simple_identifier,
    STATE(1973), 1,
      sym__parenthesized_type,
    STATE(3405), 1,
      sym__type,
    STATE(4718), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1905), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3889), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1908), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3887), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1831), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [164462] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3803), 1,
      anon_sym_each,
    ACTIONS(3805), 1,
      anon_sym_repeat,
    ACTIONS(3807), 1,
      anon_sym_LPAREN,
    ACTIONS(3809), 1,
      anon_sym_LBRACK,
    ACTIONS(3811), 1,
      anon_sym_some,
    ACTIONS(3813), 1,
      anon_sym_any,
    ACTIONS(3815), 1,
      anon_sym_TILDE,
    STATE(1716), 1,
      sym_tuple_type,
    STATE(1757), 1,
      sym__simple_user_type,
    STATE(1758), 1,
      sym_simple_identifier,
    STATE(1881), 1,
      sym__parenthesized_type,
    STATE(1946), 1,
      sym__type,
    STATE(4647), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1806), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3798), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1775), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3796), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1745), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [164548] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6763), 1,
      anon_sym_each,
    ACTIONS(6765), 1,
      anon_sym_repeat,
    ACTIONS(6767), 1,
      anon_sym_LPAREN,
    ACTIONS(6769), 1,
      anon_sym_LBRACK,
    ACTIONS(6771), 1,
      anon_sym_some,
    ACTIONS(6773), 1,
      anon_sym_any,
    ACTIONS(6775), 1,
      anon_sym_TILDE,
    STATE(4617), 1,
      sym_type_modifiers,
    STATE(5082), 1,
      sym_tuple_type,
    STATE(5222), 1,
      sym__simple_user_type,
    STATE(5223), 1,
      sym_simple_identifier,
    STATE(5858), 1,
      sym__parenthesized_type,
    STATE(7143), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5331), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6761), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5452), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6759), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5280), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [164634] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8550), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [164720] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4183), 1,
      anon_sym_each,
    ACTIONS(4185), 1,
      anon_sym_repeat,
    ACTIONS(4193), 1,
      anon_sym_some,
    ACTIONS(4195), 1,
      anon_sym_any,
    ACTIONS(4197), 1,
      anon_sym_TILDE,
    ACTIONS(8260), 1,
      anon_sym_LPAREN,
    ACTIONS(8262), 1,
      anon_sym_LBRACK,
    STATE(1955), 1,
      sym_tuple_type,
    STATE(2116), 1,
      sym__simple_user_type,
    STATE(2200), 1,
      sym_simple_identifier,
    STATE(2232), 1,
      sym__parenthesized_type,
    STATE(2315), 1,
      sym__type,
    STATE(4688), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2244), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4181), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2131), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4179), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2005), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [164806] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4183), 1,
      anon_sym_each,
    ACTIONS(4185), 1,
      anon_sym_repeat,
    ACTIONS(4193), 1,
      anon_sym_some,
    ACTIONS(4195), 1,
      anon_sym_any,
    ACTIONS(4197), 1,
      anon_sym_TILDE,
    ACTIONS(8260), 1,
      anon_sym_LPAREN,
    ACTIONS(8262), 1,
      anon_sym_LBRACK,
    STATE(1955), 1,
      sym_tuple_type,
    STATE(2116), 1,
      sym__simple_user_type,
    STATE(2200), 1,
      sym_simple_identifier,
    STATE(2232), 1,
      sym__parenthesized_type,
    STATE(2299), 1,
      sym__type,
    STATE(4688), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2244), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4181), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2131), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4179), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2005), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [164892] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8167), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [164978] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4183), 1,
      anon_sym_each,
    ACTIONS(4185), 1,
      anon_sym_repeat,
    ACTIONS(4193), 1,
      anon_sym_some,
    ACTIONS(4195), 1,
      anon_sym_any,
    ACTIONS(4197), 1,
      anon_sym_TILDE,
    ACTIONS(8260), 1,
      anon_sym_LPAREN,
    ACTIONS(8262), 1,
      anon_sym_LBRACK,
    STATE(1955), 1,
      sym_tuple_type,
    STATE(2116), 1,
      sym__simple_user_type,
    STATE(2200), 1,
      sym_simple_identifier,
    STATE(2232), 1,
      sym__parenthesized_type,
    STATE(2280), 1,
      sym__type,
    STATE(4688), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2244), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4181), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2131), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4179), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2005), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [165064] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3803), 1,
      anon_sym_each,
    ACTIONS(3805), 1,
      anon_sym_repeat,
    ACTIONS(3807), 1,
      anon_sym_LPAREN,
    ACTIONS(3809), 1,
      anon_sym_LBRACK,
    ACTIONS(3811), 1,
      anon_sym_some,
    ACTIONS(3813), 1,
      anon_sym_any,
    ACTIONS(3815), 1,
      anon_sym_TILDE,
    STATE(1716), 1,
      sym_tuple_type,
    STATE(1757), 1,
      sym__simple_user_type,
    STATE(1758), 1,
      sym_simple_identifier,
    STATE(1881), 1,
      sym__parenthesized_type,
    STATE(2344), 1,
      sym__type,
    STATE(4647), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1806), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3798), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1775), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3796), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1745), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [165150] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(2637), 1,
      anon_sym_each,
    ACTIONS(2639), 1,
      anon_sym_repeat,
    ACTIONS(2647), 1,
      anon_sym_some,
    ACTIONS(2649), 1,
      anon_sym_any,
    ACTIONS(2651), 1,
      anon_sym_TILDE,
    ACTIONS(8244), 1,
      anon_sym_LPAREN,
    ACTIONS(8246), 1,
      anon_sym_LBRACK,
    STATE(804), 1,
      sym_tuple_type,
    STATE(810), 1,
      sym__simple_user_type,
    STATE(818), 1,
      sym_simple_identifier,
    STATE(825), 1,
      sym__type,
    STATE(839), 1,
      sym__parenthesized_type,
    STATE(4717), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(845), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(811), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(755), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(816), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [165236] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(2637), 1,
      anon_sym_each,
    ACTIONS(2639), 1,
      anon_sym_repeat,
    ACTIONS(2647), 1,
      anon_sym_some,
    ACTIONS(2649), 1,
      anon_sym_any,
    ACTIONS(2651), 1,
      anon_sym_TILDE,
    ACTIONS(8244), 1,
      anon_sym_LPAREN,
    ACTIONS(8246), 1,
      anon_sym_LBRACK,
    STATE(804), 1,
      sym_tuple_type,
    STATE(810), 1,
      sym__simple_user_type,
    STATE(818), 1,
      sym_simple_identifier,
    STATE(832), 1,
      sym__type,
    STATE(839), 1,
      sym__parenthesized_type,
    STATE(4717), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(845), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(811), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(755), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(816), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [165322] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8171), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [165408] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8181), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [165494] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3773), 1,
      anon_sym_LPAREN,
    ACTIONS(3775), 1,
      anon_sym_LBRACK,
    ACTIONS(3781), 1,
      anon_sym_TILDE,
    ACTIONS(6787), 1,
      anon_sym_each,
    ACTIONS(6789), 1,
      anon_sym_repeat,
    ACTIONS(6791), 1,
      anon_sym_some,
    ACTIONS(6793), 1,
      anon_sym_any,
    STATE(1712), 1,
      sym__simple_user_type,
    STATE(1719), 1,
      sym_simple_identifier,
    STATE(1804), 1,
      sym__parenthesized_type,
    STATE(1826), 1,
      sym__type,
    STATE(4638), 1,
      sym_type_modifiers,
    STATE(5063), 1,
      sym_tuple_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1734), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3764), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1743), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3762), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5268), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [165580] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8195), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [165666] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8203), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [165752] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8978), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [165838] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3894), 1,
      anon_sym_each,
    ACTIONS(3896), 1,
      anon_sym_repeat,
    ACTIONS(3898), 1,
      anon_sym_LPAREN,
    ACTIONS(3900), 1,
      anon_sym_LBRACK,
    ACTIONS(3902), 1,
      anon_sym_some,
    ACTIONS(3904), 1,
      anon_sym_any,
    ACTIONS(3906), 1,
      anon_sym_TILDE,
    STATE(1744), 1,
      sym_tuple_type,
    STATE(1837), 1,
      sym__simple_user_type,
    STATE(1845), 1,
      sym_simple_identifier,
    STATE(1973), 1,
      sym__parenthesized_type,
    STATE(3542), 1,
      sym__type,
    STATE(4718), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1905), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3889), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1908), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3887), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1831), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [165924] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6047), 1,
      anon_sym_each,
    ACTIONS(6049), 1,
      anon_sym_repeat,
    ACTIONS(6051), 1,
      anon_sym_LPAREN,
    ACTIONS(6053), 1,
      anon_sym_LBRACK,
    ACTIONS(6055), 1,
      anon_sym_some,
    ACTIONS(6057), 1,
      anon_sym_any,
    ACTIONS(6059), 1,
      anon_sym_TILDE,
    STATE(4690), 1,
      sym_type_modifiers,
    STATE(4980), 1,
      sym_tuple_type,
    STATE(5041), 1,
      sym_simple_identifier,
    STATE(5059), 1,
      sym__simple_user_type,
    STATE(5269), 1,
      sym__parenthesized_type,
    STATE(6257), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5098), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6045), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5089), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6043), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5038), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [166010] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8210), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [166096] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(9000), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [166182] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8217), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [166268] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(9004), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [166354] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4203), 1,
      anon_sym_each,
    ACTIONS(4205), 1,
      anon_sym_repeat,
    ACTIONS(4213), 1,
      anon_sym_some,
    ACTIONS(4215), 1,
      anon_sym_any,
    ACTIONS(4217), 1,
      anon_sym_TILDE,
    ACTIONS(8264), 1,
      anon_sym_LPAREN,
    ACTIONS(8266), 1,
      anon_sym_LBRACK,
    STATE(1966), 1,
      sym_tuple_type,
    STATE(2122), 1,
      sym__simple_user_type,
    STATE(2178), 1,
      sym_simple_identifier,
    STATE(2285), 1,
      sym__type,
    STATE(2286), 1,
      sym__parenthesized_type,
    STATE(4684), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2241), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4201), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2142), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4199), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2017), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [166440] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8231), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [166526] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8267), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [166612] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(9018), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [166698] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8240), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [166784] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8260), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [166870] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8891), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [166956] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6763), 1,
      anon_sym_each,
    ACTIONS(6765), 1,
      anon_sym_repeat,
    ACTIONS(6767), 1,
      anon_sym_LPAREN,
    ACTIONS(6769), 1,
      anon_sym_LBRACK,
    ACTIONS(6771), 1,
      anon_sym_some,
    ACTIONS(6773), 1,
      anon_sym_any,
    ACTIONS(6775), 1,
      anon_sym_TILDE,
    STATE(4617), 1,
      sym_type_modifiers,
    STATE(5082), 1,
      sym_tuple_type,
    STATE(5222), 1,
      sym__simple_user_type,
    STATE(5223), 1,
      sym_simple_identifier,
    STATE(5858), 1,
      sym__parenthesized_type,
    STATE(7263), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5331), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6761), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5452), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6759), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5280), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [167042] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3773), 1,
      anon_sym_LPAREN,
    ACTIONS(3775), 1,
      anon_sym_LBRACK,
    ACTIONS(3781), 1,
      anon_sym_TILDE,
    ACTIONS(6787), 1,
      anon_sym_each,
    ACTIONS(6789), 1,
      anon_sym_repeat,
    ACTIONS(6791), 1,
      anon_sym_some,
    ACTIONS(6793), 1,
      anon_sym_any,
    STATE(1712), 1,
      sym__simple_user_type,
    STATE(1719), 1,
      sym_simple_identifier,
    STATE(1804), 1,
      sym__parenthesized_type,
    STATE(1817), 1,
      sym__type,
    STATE(4638), 1,
      sym_type_modifiers,
    STATE(5063), 1,
      sym_tuple_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1734), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3764), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1743), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3762), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5268), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [167128] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(2834), 1,
      anon_sym_each,
    ACTIONS(2839), 1,
      anon_sym_repeat,
    ACTIONS(2847), 1,
      anon_sym_some,
    ACTIONS(2849), 1,
      anon_sym_any,
    ACTIONS(2851), 1,
      anon_sym_TILDE,
    ACTIONS(8268), 1,
      anon_sym_LPAREN,
    ACTIONS(8270), 1,
      anon_sym_LBRACK,
    STATE(1013), 1,
      sym_tuple_type,
    STATE(1047), 1,
      sym__simple_user_type,
    STATE(1068), 1,
      sym_simple_identifier,
    STATE(1099), 1,
      sym__parenthesized_type,
    STATE(1386), 1,
      sym__type,
    STATE(4765), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1098), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(2832), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1046), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(2830), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1020), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [167214] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3942), 1,
      anon_sym_each,
    ACTIONS(3944), 1,
      anon_sym_repeat,
    ACTIONS(3952), 1,
      anon_sym_some,
    ACTIONS(3954), 1,
      anon_sym_any,
    ACTIONS(3956), 1,
      anon_sym_TILDE,
    ACTIONS(8256), 1,
      anon_sym_LPAREN,
    ACTIONS(8258), 1,
      anon_sym_LBRACK,
    STATE(1902), 1,
      sym_tuple_type,
    STATE(2008), 1,
      sym__simple_user_type,
    STATE(2083), 1,
      sym_simple_identifier,
    STATE(2132), 1,
      sym__type,
    STATE(2136), 1,
      sym__parenthesized_type,
    STATE(4721), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2130), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3940), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2018), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3938), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1929), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [167300] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8241), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [167386] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8253), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [167472] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(9006), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [167558] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8234), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [167644] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8635), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [167730] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(9003), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [167816] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8222), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [167902] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8250), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [167988] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8966), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [168074] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8208), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [168160] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8255), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [168246] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8951), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [168332] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(2834), 1,
      anon_sym_each,
    ACTIONS(2839), 1,
      anon_sym_repeat,
    ACTIONS(2847), 1,
      anon_sym_some,
    ACTIONS(2849), 1,
      anon_sym_any,
    ACTIONS(2851), 1,
      anon_sym_TILDE,
    ACTIONS(8268), 1,
      anon_sym_LPAREN,
    ACTIONS(8270), 1,
      anon_sym_LBRACK,
    STATE(1013), 1,
      sym_tuple_type,
    STATE(1047), 1,
      sym__simple_user_type,
    STATE(1068), 1,
      sym_simple_identifier,
    STATE(1099), 1,
      sym__parenthesized_type,
    STATE(1365), 1,
      sym__type,
    STATE(4765), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1098), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(2832), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1046), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(2830), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1020), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [168418] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(2651), 1,
      anon_sym_TILDE,
    ACTIONS(4029), 1,
      anon_sym_each,
    ACTIONS(4031), 1,
      anon_sym_repeat,
    ACTIONS(4033), 1,
      anon_sym_some,
    ACTIONS(4035), 1,
      anon_sym_any,
    ACTIONS(8244), 1,
      anon_sym_LPAREN,
    ACTIONS(8246), 1,
      anon_sym_LBRACK,
    STATE(810), 1,
      sym__simple_user_type,
    STATE(818), 1,
      sym_simple_identifier,
    STATE(839), 1,
      sym__parenthesized_type,
    STATE(977), 1,
      sym__type,
    STATE(1918), 1,
      sym_tuple_type,
    STATE(4608), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(845), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(811), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(755), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1968), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [168504] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(2651), 1,
      anon_sym_TILDE,
    ACTIONS(4029), 1,
      anon_sym_each,
    ACTIONS(4031), 1,
      anon_sym_repeat,
    ACTIONS(4033), 1,
      anon_sym_some,
    ACTIONS(4035), 1,
      anon_sym_any,
    ACTIONS(8244), 1,
      anon_sym_LPAREN,
    ACTIONS(8246), 1,
      anon_sym_LBRACK,
    STATE(810), 1,
      sym__simple_user_type,
    STATE(818), 1,
      sym_simple_identifier,
    STATE(839), 1,
      sym__parenthesized_type,
    STATE(976), 1,
      sym__type,
    STATE(1918), 1,
      sym_tuple_type,
    STATE(4608), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(845), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(811), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(755), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1968), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [168590] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8194), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [168676] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4203), 1,
      anon_sym_each,
    ACTIONS(4205), 1,
      anon_sym_repeat,
    ACTIONS(4213), 1,
      anon_sym_some,
    ACTIONS(4215), 1,
      anon_sym_any,
    ACTIONS(4217), 1,
      anon_sym_TILDE,
    ACTIONS(8264), 1,
      anon_sym_LPAREN,
    ACTIONS(8266), 1,
      anon_sym_LBRACK,
    STATE(1966), 1,
      sym_tuple_type,
    STATE(2122), 1,
      sym__simple_user_type,
    STATE(2178), 1,
      sym_simple_identifier,
    STATE(2214), 1,
      sym__type,
    STATE(2286), 1,
      sym__parenthesized_type,
    STATE(4684), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2241), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4201), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2142), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4199), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2017), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [168762] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3894), 1,
      anon_sym_each,
    ACTIONS(3896), 1,
      anon_sym_repeat,
    ACTIONS(3898), 1,
      anon_sym_LPAREN,
    ACTIONS(3900), 1,
      anon_sym_LBRACK,
    ACTIONS(3902), 1,
      anon_sym_some,
    ACTIONS(3904), 1,
      anon_sym_any,
    ACTIONS(3906), 1,
      anon_sym_TILDE,
    STATE(1744), 1,
      sym_tuple_type,
    STATE(1837), 1,
      sym__simple_user_type,
    STATE(1845), 1,
      sym_simple_identifier,
    STATE(1973), 1,
      sym__parenthesized_type,
    STATE(3523), 1,
      sym__type,
    STATE(4718), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1905), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3889), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1908), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3887), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1831), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [168848] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8262), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [168934] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8933), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [169020] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6818), 1,
      anon_sym_each,
    ACTIONS(6820), 1,
      anon_sym_repeat,
    ACTIONS(6822), 1,
      anon_sym_LPAREN,
    ACTIONS(6824), 1,
      anon_sym_LBRACK,
    ACTIONS(6826), 1,
      anon_sym_some,
    ACTIONS(6828), 1,
      anon_sym_any,
    ACTIONS(6830), 1,
      anon_sym_TILDE,
    STATE(4747), 1,
      sym_type_modifiers,
    STATE(5069), 1,
      sym_tuple_type,
    STATE(5249), 1,
      sym__simple_user_type,
    STATE(5251), 1,
      sym_simple_identifier,
    STATE(5870), 1,
      sym__parenthesized_type,
    STATE(5967), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5356), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6816), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5348), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6814), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5277), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [169106] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7231), 1,
      anon_sym_each,
    ACTIONS(7233), 1,
      anon_sym_repeat,
    ACTIONS(7235), 1,
      anon_sym_LPAREN,
    ACTIONS(7237), 1,
      anon_sym_LBRACK,
    ACTIONS(7239), 1,
      anon_sym_some,
    ACTIONS(7241), 1,
      anon_sym_any,
    ACTIONS(7243), 1,
      anon_sym_TILDE,
    STATE(4660), 1,
      sym_type_modifiers,
    STATE(5129), 1,
      sym_tuple_type,
    STATE(5347), 1,
      sym_simple_identifier,
    STATE(5366), 1,
      sym__simple_user_type,
    STATE(5979), 1,
      sym__parenthesized_type,
    STATE(6110), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5541), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7229), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5747), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7227), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5346), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [169192] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8180), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [169278] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8275), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [169364] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8921), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [169450] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(2637), 1,
      anon_sym_each,
    ACTIONS(2639), 1,
      anon_sym_repeat,
    ACTIONS(2647), 1,
      anon_sym_some,
    ACTIONS(2649), 1,
      anon_sym_any,
    ACTIONS(2651), 1,
      anon_sym_TILDE,
    ACTIONS(8244), 1,
      anon_sym_LPAREN,
    ACTIONS(8246), 1,
      anon_sym_LBRACK,
    STATE(804), 1,
      sym_tuple_type,
    STATE(810), 1,
      sym__simple_user_type,
    STATE(818), 1,
      sym_simple_identifier,
    STATE(835), 1,
      sym__type,
    STATE(839), 1,
      sym__parenthesized_type,
    STATE(4717), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(845), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(811), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(755), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(816), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [169536] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8166), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [169622] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8280), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [169708] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8908), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [169794] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3894), 1,
      anon_sym_each,
    ACTIONS(3896), 1,
      anon_sym_repeat,
    ACTIONS(3898), 1,
      anon_sym_LPAREN,
    ACTIONS(3900), 1,
      anon_sym_LBRACK,
    ACTIONS(3902), 1,
      anon_sym_some,
    ACTIONS(3904), 1,
      anon_sym_any,
    ACTIONS(3906), 1,
      anon_sym_TILDE,
    STATE(1744), 1,
      sym_tuple_type,
    STATE(1837), 1,
      sym__simple_user_type,
    STATE(1845), 1,
      sym_simple_identifier,
    STATE(1973), 1,
      sym__parenthesized_type,
    STATE(3420), 1,
      sym__type,
    STATE(4718), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1905), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3889), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1908), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3887), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1831), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [169880] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3803), 1,
      anon_sym_each,
    ACTIONS(3805), 1,
      anon_sym_repeat,
    ACTIONS(3807), 1,
      anon_sym_LPAREN,
    ACTIONS(3809), 1,
      anon_sym_LBRACK,
    ACTIONS(3811), 1,
      anon_sym_some,
    ACTIONS(3813), 1,
      anon_sym_any,
    ACTIONS(3815), 1,
      anon_sym_TILDE,
    STATE(1716), 1,
      sym_tuple_type,
    STATE(1757), 1,
      sym__simple_user_type,
    STATE(1758), 1,
      sym_simple_identifier,
    STATE(1881), 1,
      sym__parenthesized_type,
    STATE(2388), 1,
      sym__type,
    STATE(4647), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1806), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3798), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1775), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3796), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1745), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [169966] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3894), 1,
      anon_sym_each,
    ACTIONS(3896), 1,
      anon_sym_repeat,
    ACTIONS(3898), 1,
      anon_sym_LPAREN,
    ACTIONS(3900), 1,
      anon_sym_LBRACK,
    ACTIONS(3902), 1,
      anon_sym_some,
    ACTIONS(3904), 1,
      anon_sym_any,
    ACTIONS(3906), 1,
      anon_sym_TILDE,
    STATE(1744), 1,
      sym_tuple_type,
    STATE(1837), 1,
      sym__simple_user_type,
    STATE(1845), 1,
      sym_simple_identifier,
    STATE(1973), 1,
      sym__parenthesized_type,
    STATE(3383), 1,
      sym__type,
    STATE(4718), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1905), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3889), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1908), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3887), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1831), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [170052] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8147), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [170138] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8285), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [170224] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6441), 1,
      anon_sym_each,
    ACTIONS(6443), 1,
      anon_sym_repeat,
    ACTIONS(6445), 1,
      anon_sym_LPAREN,
    ACTIONS(6447), 1,
      anon_sym_LBRACK,
    ACTIONS(6449), 1,
      anon_sym_some,
    ACTIONS(6451), 1,
      anon_sym_any,
    ACTIONS(6453), 1,
      anon_sym_TILDE,
    STATE(4714), 1,
      sym_type_modifiers,
    STATE(5051), 1,
      sym_tuple_type,
    STATE(5141), 1,
      sym_simple_identifier,
    STATE(5187), 1,
      sym__simple_user_type,
    STATE(5753), 1,
      sym__parenthesized_type,
    STATE(6589), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5241), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6439), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5224), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6437), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5180), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [170310] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6047), 1,
      anon_sym_each,
    ACTIONS(6049), 1,
      anon_sym_repeat,
    ACTIONS(6051), 1,
      anon_sym_LPAREN,
    ACTIONS(6053), 1,
      anon_sym_LBRACK,
    ACTIONS(6055), 1,
      anon_sym_some,
    ACTIONS(6057), 1,
      anon_sym_any,
    ACTIONS(6059), 1,
      anon_sym_TILDE,
    STATE(4690), 1,
      sym_type_modifiers,
    STATE(4980), 1,
      sym_tuple_type,
    STATE(5041), 1,
      sym_simple_identifier,
    STATE(5059), 1,
      sym__simple_user_type,
    STATE(5269), 1,
      sym__parenthesized_type,
    STATE(6273), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5098), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6045), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5089), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6043), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5038), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [170396] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8895), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [170482] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8124), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [170568] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8297), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [170654] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8886), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [170740] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7231), 1,
      anon_sym_each,
    ACTIONS(7233), 1,
      anon_sym_repeat,
    ACTIONS(7235), 1,
      anon_sym_LPAREN,
    ACTIONS(7237), 1,
      anon_sym_LBRACK,
    ACTIONS(7239), 1,
      anon_sym_some,
    ACTIONS(7241), 1,
      anon_sym_any,
    ACTIONS(7243), 1,
      anon_sym_TILDE,
    STATE(4660), 1,
      sym_type_modifiers,
    STATE(5129), 1,
      sym_tuple_type,
    STATE(5347), 1,
      sym_simple_identifier,
    STATE(5366), 1,
      sym__simple_user_type,
    STATE(5979), 1,
      sym__parenthesized_type,
    STATE(6118), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5541), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7229), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5747), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7227), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5346), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [170826] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6010), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6008), 39,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [170876] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(5921), 1,
      anon_sym_each,
    ACTIONS(5923), 1,
      anon_sym_repeat,
    ACTIONS(5925), 1,
      anon_sym_LPAREN,
    ACTIONS(5927), 1,
      anon_sym_LBRACK,
    ACTIONS(5929), 1,
      anon_sym_some,
    ACTIONS(5931), 1,
      anon_sym_any,
    ACTIONS(5933), 1,
      anon_sym_TILDE,
    STATE(4758), 1,
      sym_type_modifiers,
    STATE(4967), 1,
      sym_tuple_type,
    STATE(4996), 1,
      sym__simple_user_type,
    STATE(5011), 1,
      sym_simple_identifier,
    STATE(5191), 1,
      sym__parenthesized_type,
    STATE(6179), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5013), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(5919), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5021), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(5917), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4994), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [170962] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7231), 1,
      anon_sym_each,
    ACTIONS(7233), 1,
      anon_sym_repeat,
    ACTIONS(7235), 1,
      anon_sym_LPAREN,
    ACTIONS(7237), 1,
      anon_sym_LBRACK,
    ACTIONS(7239), 1,
      anon_sym_some,
    ACTIONS(7241), 1,
      anon_sym_any,
    ACTIONS(7243), 1,
      anon_sym_TILDE,
    STATE(4660), 1,
      sym_type_modifiers,
    STATE(5129), 1,
      sym_tuple_type,
    STATE(5347), 1,
      sym_simple_identifier,
    STATE(5366), 1,
      sym__simple_user_type,
    STATE(5979), 1,
      sym__parenthesized_type,
    STATE(6115), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5541), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7229), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5747), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7227), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5346), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [171048] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8101), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [171134] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8305), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [171220] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3942), 1,
      anon_sym_each,
    ACTIONS(3944), 1,
      anon_sym_repeat,
    ACTIONS(3952), 1,
      anon_sym_some,
    ACTIONS(3954), 1,
      anon_sym_any,
    ACTIONS(3956), 1,
      anon_sym_TILDE,
    ACTIONS(8256), 1,
      anon_sym_LPAREN,
    ACTIONS(8258), 1,
      anon_sym_LBRACK,
    STATE(1902), 1,
      sym_tuple_type,
    STATE(2008), 1,
      sym__simple_user_type,
    STATE(2083), 1,
      sym_simple_identifier,
    STATE(2136), 1,
      sym__parenthesized_type,
    STATE(2140), 1,
      sym__type,
    STATE(4721), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2130), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3940), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2018), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3938), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1929), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [171306] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3857), 1,
      anon_sym_LPAREN,
    ACTIONS(3859), 1,
      anon_sym_LBRACK,
    ACTIONS(3865), 1,
      anon_sym_TILDE,
    ACTIONS(7036), 1,
      anon_sym_each,
    ACTIONS(7038), 1,
      anon_sym_repeat,
    ACTIONS(7040), 1,
      anon_sym_some,
    ACTIONS(7042), 1,
      anon_sym_any,
    STATE(1737), 1,
      sym_simple_identifier,
    STATE(1848), 1,
      sym__parenthesized_type,
    STATE(4635), 1,
      sym_type_modifiers,
    STATE(5283), 1,
      sym_tuple_type,
    STATE(5639), 1,
      sym__simple_user_type,
    STATE(6867), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1730), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1772), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3846), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5572), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [171392] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3894), 1,
      anon_sym_each,
    ACTIONS(3896), 1,
      anon_sym_repeat,
    ACTIONS(3898), 1,
      anon_sym_LPAREN,
    ACTIONS(3900), 1,
      anon_sym_LBRACK,
    ACTIONS(3902), 1,
      anon_sym_some,
    ACTIONS(3904), 1,
      anon_sym_any,
    ACTIONS(3906), 1,
      anon_sym_TILDE,
    STATE(1744), 1,
      sym_tuple_type,
    STATE(1837), 1,
      sym__simple_user_type,
    STATE(1845), 1,
      sym_simple_identifier,
    STATE(1973), 1,
      sym__parenthesized_type,
    STATE(2423), 1,
      sym__type,
    STATE(4718), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1905), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3889), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1908), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3887), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1831), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [171478] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(2651), 1,
      anon_sym_TILDE,
    ACTIONS(4029), 1,
      anon_sym_each,
    ACTIONS(4031), 1,
      anon_sym_repeat,
    ACTIONS(4033), 1,
      anon_sym_some,
    ACTIONS(4035), 1,
      anon_sym_any,
    ACTIONS(8244), 1,
      anon_sym_LPAREN,
    ACTIONS(8246), 1,
      anon_sym_LBRACK,
    STATE(810), 1,
      sym__simple_user_type,
    STATE(818), 1,
      sym_simple_identifier,
    STATE(825), 1,
      sym__type,
    STATE(839), 1,
      sym__parenthesized_type,
    STATE(1918), 1,
      sym_tuple_type,
    STATE(4608), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(845), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(811), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(755), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1968), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [171564] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4203), 1,
      anon_sym_each,
    ACTIONS(4205), 1,
      anon_sym_repeat,
    ACTIONS(4213), 1,
      anon_sym_some,
    ACTIONS(4215), 1,
      anon_sym_any,
    ACTIONS(4217), 1,
      anon_sym_TILDE,
    ACTIONS(8264), 1,
      anon_sym_LPAREN,
    ACTIONS(8266), 1,
      anon_sym_LBRACK,
    STATE(1966), 1,
      sym_tuple_type,
    STATE(2122), 1,
      sym__simple_user_type,
    STATE(2178), 1,
      sym_simple_identifier,
    STATE(2218), 1,
      sym__type,
    STATE(2286), 1,
      sym__parenthesized_type,
    STATE(4684), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2241), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4201), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2142), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4199), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2017), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [171650] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3894), 1,
      anon_sym_each,
    ACTIONS(3896), 1,
      anon_sym_repeat,
    ACTIONS(3898), 1,
      anon_sym_LPAREN,
    ACTIONS(3900), 1,
      anon_sym_LBRACK,
    ACTIONS(3902), 1,
      anon_sym_some,
    ACTIONS(3904), 1,
      anon_sym_any,
    ACTIONS(3906), 1,
      anon_sym_TILDE,
    STATE(1744), 1,
      sym_tuple_type,
    STATE(1837), 1,
      sym__simple_user_type,
    STATE(1845), 1,
      sym_simple_identifier,
    STATE(1973), 1,
      sym__parenthesized_type,
    STATE(2455), 1,
      sym__type,
    STATE(4718), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1905), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3889), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1908), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3887), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1831), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [171736] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4203), 1,
      anon_sym_each,
    ACTIONS(4205), 1,
      anon_sym_repeat,
    ACTIONS(4213), 1,
      anon_sym_some,
    ACTIONS(4215), 1,
      anon_sym_any,
    ACTIONS(4217), 1,
      anon_sym_TILDE,
    ACTIONS(8264), 1,
      anon_sym_LPAREN,
    ACTIONS(8266), 1,
      anon_sym_LBRACK,
    STATE(1966), 1,
      sym_tuple_type,
    STATE(2122), 1,
      sym__simple_user_type,
    STATE(2178), 1,
      sym_simple_identifier,
    STATE(2286), 1,
      sym__parenthesized_type,
    STATE(3247), 1,
      sym__type,
    STATE(4684), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2241), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4201), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2142), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4199), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2017), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [171822] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8875), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [171908] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8078), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [171994] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3894), 1,
      anon_sym_each,
    ACTIONS(3896), 1,
      anon_sym_repeat,
    ACTIONS(3898), 1,
      anon_sym_LPAREN,
    ACTIONS(3900), 1,
      anon_sym_LBRACK,
    ACTIONS(3902), 1,
      anon_sym_some,
    ACTIONS(3904), 1,
      anon_sym_any,
    ACTIONS(3906), 1,
      anon_sym_TILDE,
    STATE(1744), 1,
      sym_tuple_type,
    STATE(1837), 1,
      sym__simple_user_type,
    STATE(1845), 1,
      sym_simple_identifier,
    STATE(1973), 1,
      sym__parenthesized_type,
    STATE(3285), 1,
      sym__type,
    STATE(4718), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1905), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3889), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1908), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3887), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1831), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [172080] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3871), 1,
      anon_sym_each,
    ACTIONS(3873), 1,
      anon_sym_repeat,
    ACTIONS(3881), 1,
      anon_sym_some,
    ACTIONS(3883), 1,
      anon_sym_any,
    ACTIONS(3885), 1,
      anon_sym_TILDE,
    ACTIONS(8272), 1,
      anon_sym_LPAREN,
    ACTIONS(8274), 1,
      anon_sym_LBRACK,
    STATE(1824), 1,
      sym_tuple_type,
    STATE(1953), 1,
      sym__simple_user_type,
    STATE(2001), 1,
      sym_simple_identifier,
    STATE(2027), 1,
      sym__type,
    STATE(2037), 1,
      sym__parenthesized_type,
    STATE(4676), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2064), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3869), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1956), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3867), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1883), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [172166] = 5,
    ACTIONS(8280), 1,
      sym_catch_keyword,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8278), 2,
      anon_sym_AT,
      anon_sym_unowned,
    STATE(4295), 2,
      sym_catch_block,
      aux_sym_do_statement_repeat1,
    ACTIONS(8276), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [172220] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4282), 1,
      anon_sym_each,
    ACTIONS(4284), 1,
      anon_sym_repeat,
    ACTIONS(4292), 1,
      anon_sym_some,
    ACTIONS(4294), 1,
      anon_sym_any,
    ACTIONS(4296), 1,
      anon_sym_TILDE,
    ACTIONS(8240), 1,
      anon_sym_LPAREN,
    ACTIONS(8242), 1,
      anon_sym_LBRACK,
    STATE(2019), 1,
      sym_tuple_type,
    STATE(2170), 1,
      sym__simple_user_type,
    STATE(2283), 1,
      sym_simple_identifier,
    STATE(2339), 1,
      sym__type,
    STATE(2374), 1,
      sym__parenthesized_type,
    STATE(4711), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2358), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4280), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2164), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4278), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2087), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [172306] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3871), 1,
      anon_sym_each,
    ACTIONS(3873), 1,
      anon_sym_repeat,
    ACTIONS(3881), 1,
      anon_sym_some,
    ACTIONS(3883), 1,
      anon_sym_any,
    ACTIONS(3885), 1,
      anon_sym_TILDE,
    ACTIONS(8272), 1,
      anon_sym_LPAREN,
    ACTIONS(8274), 1,
      anon_sym_LBRACK,
    STATE(1824), 1,
      sym_tuple_type,
    STATE(1953), 1,
      sym__simple_user_type,
    STATE(2001), 1,
      sym_simple_identifier,
    STATE(2024), 1,
      sym__type,
    STATE(2037), 1,
      sym__parenthesized_type,
    STATE(4676), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2064), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3869), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1956), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3867), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1883), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [172392] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4360), 1,
      anon_sym_each,
    ACTIONS(4365), 1,
      anon_sym_repeat,
    ACTIONS(4367), 1,
      anon_sym_LPAREN,
    ACTIONS(4369), 1,
      anon_sym_LBRACK,
    ACTIONS(4371), 1,
      anon_sym_some,
    ACTIONS(4373), 1,
      anon_sym_any,
    ACTIONS(4375), 1,
      anon_sym_TILDE,
    STATE(2370), 1,
      sym_tuple_type,
    STATE(2655), 1,
      sym__simple_user_type,
    STATE(2680), 1,
      sym_simple_identifier,
    STATE(3688), 1,
      sym__parenthesized_type,
    STATE(3714), 1,
      sym__type,
    STATE(4662), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3009), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4358), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2983), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4356), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2693), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [172478] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8314), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [172564] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6300), 1,
      anon_sym_each,
    ACTIONS(6302), 1,
      anon_sym_repeat,
    ACTIONS(6304), 1,
      anon_sym_LPAREN,
    ACTIONS(6306), 1,
      anon_sym_LBRACK,
    ACTIONS(6308), 1,
      anon_sym_some,
    ACTIONS(6310), 1,
      anon_sym_any,
    ACTIONS(6312), 1,
      anon_sym_TILDE,
    STATE(4764), 1,
      sym_type_modifiers,
    STATE(5009), 1,
      sym_tuple_type,
    STATE(5100), 1,
      sym__simple_user_type,
    STATE(5104), 1,
      sym_simple_identifier,
    STATE(5491), 1,
      sym__parenthesized_type,
    STATE(6378), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5151), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6298), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5140), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6296), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5085), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [172650] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8874), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [172736] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8055), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [172822] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(5899), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [172908] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8330), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [172994] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6763), 1,
      anon_sym_each,
    ACTIONS(6765), 1,
      anon_sym_repeat,
    ACTIONS(6767), 1,
      anon_sym_LPAREN,
    ACTIONS(6769), 1,
      anon_sym_LBRACK,
    ACTIONS(6771), 1,
      anon_sym_some,
    ACTIONS(6773), 1,
      anon_sym_any,
    ACTIONS(6775), 1,
      anon_sym_TILDE,
    STATE(4617), 1,
      sym_type_modifiers,
    STATE(5082), 1,
      sym_tuple_type,
    STATE(5222), 1,
      sym__simple_user_type,
    STATE(5223), 1,
      sym_simple_identifier,
    STATE(5858), 1,
      sym__parenthesized_type,
    STATE(7407), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5331), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6761), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5452), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6759), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5280), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [173080] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3871), 1,
      anon_sym_each,
    ACTIONS(3873), 1,
      anon_sym_repeat,
    ACTIONS(3881), 1,
      anon_sym_some,
    ACTIONS(3883), 1,
      anon_sym_any,
    ACTIONS(3885), 1,
      anon_sym_TILDE,
    ACTIONS(8272), 1,
      anon_sym_LPAREN,
    ACTIONS(8274), 1,
      anon_sym_LBRACK,
    STATE(1824), 1,
      sym_tuple_type,
    STATE(1953), 1,
      sym__simple_user_type,
    STATE(2001), 1,
      sym_simple_identifier,
    STATE(2022), 1,
      sym__type,
    STATE(2037), 1,
      sym__parenthesized_type,
    STATE(4676), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2064), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3869), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1956), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3867), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1883), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [173166] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(2651), 1,
      anon_sym_TILDE,
    ACTIONS(4029), 1,
      anon_sym_each,
    ACTIONS(4031), 1,
      anon_sym_repeat,
    ACTIONS(4033), 1,
      anon_sym_some,
    ACTIONS(4035), 1,
      anon_sym_any,
    ACTIONS(8244), 1,
      anon_sym_LPAREN,
    ACTIONS(8246), 1,
      anon_sym_LBRACK,
    STATE(810), 1,
      sym__simple_user_type,
    STATE(818), 1,
      sym_simple_identifier,
    STATE(832), 1,
      sym__type,
    STATE(839), 1,
      sym__parenthesized_type,
    STATE(1918), 1,
      sym_tuple_type,
    STATE(4608), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(845), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(811), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(755), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1968), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [173252] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(4659), 1,
      sym_type_modifiers,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    STATE(8154), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5243), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [173338] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8863), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [173424] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6763), 1,
      anon_sym_each,
    ACTIONS(6765), 1,
      anon_sym_repeat,
    ACTIONS(6767), 1,
      anon_sym_LPAREN,
    ACTIONS(6769), 1,
      anon_sym_LBRACK,
    ACTIONS(6771), 1,
      anon_sym_some,
    ACTIONS(6773), 1,
      anon_sym_any,
    ACTIONS(6775), 1,
      anon_sym_TILDE,
    STATE(4617), 1,
      sym_type_modifiers,
    STATE(5082), 1,
      sym_tuple_type,
    STATE(5222), 1,
      sym__simple_user_type,
    STATE(5223), 1,
      sym_simple_identifier,
    STATE(5858), 1,
      sym__parenthesized_type,
    STATE(7418), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5331), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6761), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5452), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6759), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5280), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [173510] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7022), 1,
      anon_sym_each,
    ACTIONS(7024), 1,
      anon_sym_repeat,
    ACTIONS(7026), 1,
      anon_sym_LPAREN,
    ACTIONS(7028), 1,
      anon_sym_LBRACK,
    ACTIONS(7030), 1,
      anon_sym_some,
    ACTIONS(7032), 1,
      anon_sym_any,
    ACTIONS(7034), 1,
      anon_sym_TILDE,
    STATE(4736), 1,
      sym_type_modifiers,
    STATE(5174), 1,
      sym_tuple_type,
    STATE(5393), 1,
      sym__simple_user_type,
    STATE(5508), 1,
      sym_simple_identifier,
    STATE(5997), 1,
      sym__parenthesized_type,
    STATE(6784), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5561), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7020), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5585), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7018), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5485), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [173596] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(2651), 1,
      anon_sym_TILDE,
    ACTIONS(4029), 1,
      anon_sym_each,
    ACTIONS(4031), 1,
      anon_sym_repeat,
    ACTIONS(4033), 1,
      anon_sym_some,
    ACTIONS(4035), 1,
      anon_sym_any,
    ACTIONS(8244), 1,
      anon_sym_LPAREN,
    ACTIONS(8246), 1,
      anon_sym_LBRACK,
    STATE(810), 1,
      sym__simple_user_type,
    STATE(818), 1,
      sym_simple_identifier,
    STATE(835), 1,
      sym__type,
    STATE(839), 1,
      sym__parenthesized_type,
    STATE(1918), 1,
      sym_tuple_type,
    STATE(4608), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(845), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(811), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(755), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1968), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [173682] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3894), 1,
      anon_sym_each,
    ACTIONS(3896), 1,
      anon_sym_repeat,
    ACTIONS(3898), 1,
      anon_sym_LPAREN,
    ACTIONS(3900), 1,
      anon_sym_LBRACK,
    ACTIONS(3902), 1,
      anon_sym_some,
    ACTIONS(3904), 1,
      anon_sym_any,
    ACTIONS(3906), 1,
      anon_sym_TILDE,
    STATE(1744), 1,
      sym_tuple_type,
    STATE(1837), 1,
      sym__simple_user_type,
    STATE(1845), 1,
      sym_simple_identifier,
    STATE(1973), 1,
      sym__parenthesized_type,
    STATE(3218), 1,
      sym__type,
    STATE(4718), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1905), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3889), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1908), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3887), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1831), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [173768] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4360), 1,
      anon_sym_each,
    ACTIONS(4365), 1,
      anon_sym_repeat,
    ACTIONS(4367), 1,
      anon_sym_LPAREN,
    ACTIONS(4369), 1,
      anon_sym_LBRACK,
    ACTIONS(4371), 1,
      anon_sym_some,
    ACTIONS(4373), 1,
      anon_sym_any,
    ACTIONS(4375), 1,
      anon_sym_TILDE,
    STATE(2370), 1,
      sym_tuple_type,
    STATE(2655), 1,
      sym__simple_user_type,
    STATE(2680), 1,
      sym_simple_identifier,
    STATE(3688), 1,
      sym__parenthesized_type,
    STATE(3713), 1,
      sym__type,
    STATE(4662), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3009), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4358), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2983), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4356), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2693), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [173854] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6441), 1,
      anon_sym_each,
    ACTIONS(6443), 1,
      anon_sym_repeat,
    ACTIONS(6445), 1,
      anon_sym_LPAREN,
    ACTIONS(6447), 1,
      anon_sym_LBRACK,
    ACTIONS(6449), 1,
      anon_sym_some,
    ACTIONS(6451), 1,
      anon_sym_any,
    ACTIONS(6453), 1,
      anon_sym_TILDE,
    STATE(4714), 1,
      sym_type_modifiers,
    STATE(5051), 1,
      sym_tuple_type,
    STATE(5141), 1,
      sym_simple_identifier,
    STATE(5187), 1,
      sym__simple_user_type,
    STATE(5753), 1,
      sym__parenthesized_type,
    STATE(6555), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5241), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6439), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5224), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6437), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5180), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [173940] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4282), 1,
      anon_sym_each,
    ACTIONS(4284), 1,
      anon_sym_repeat,
    ACTIONS(4292), 1,
      anon_sym_some,
    ACTIONS(4294), 1,
      anon_sym_any,
    ACTIONS(4296), 1,
      anon_sym_TILDE,
    ACTIONS(8240), 1,
      anon_sym_LPAREN,
    ACTIONS(8242), 1,
      anon_sym_LBRACK,
    STATE(2019), 1,
      sym_tuple_type,
    STATE(2170), 1,
      sym__simple_user_type,
    STATE(2283), 1,
      sym_simple_identifier,
    STATE(2335), 1,
      sym__type,
    STATE(2374), 1,
      sym__parenthesized_type,
    STATE(4711), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2358), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4280), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2164), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4278), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2087), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [174026] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(2455), 1,
      sym__type,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [174112] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8032), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [174198] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8342), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [174284] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3871), 1,
      anon_sym_each,
    ACTIONS(3873), 1,
      anon_sym_repeat,
    ACTIONS(3881), 1,
      anon_sym_some,
    ACTIONS(3883), 1,
      anon_sym_any,
    ACTIONS(3885), 1,
      anon_sym_TILDE,
    ACTIONS(8272), 1,
      anon_sym_LPAREN,
    ACTIONS(8274), 1,
      anon_sym_LBRACK,
    STATE(1824), 1,
      sym_tuple_type,
    STATE(1953), 1,
      sym__simple_user_type,
    STATE(2001), 1,
      sym_simple_identifier,
    STATE(2037), 1,
      sym__parenthesized_type,
    STATE(2618), 1,
      sym__type,
    STATE(4676), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2064), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3869), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1956), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3867), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1883), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [174370] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3871), 1,
      anon_sym_each,
    ACTIONS(3873), 1,
      anon_sym_repeat,
    ACTIONS(3881), 1,
      anon_sym_some,
    ACTIONS(3883), 1,
      anon_sym_any,
    ACTIONS(3885), 1,
      anon_sym_TILDE,
    ACTIONS(8272), 1,
      anon_sym_LPAREN,
    ACTIONS(8274), 1,
      anon_sym_LBRACK,
    STATE(1824), 1,
      sym_tuple_type,
    STATE(1953), 1,
      sym__simple_user_type,
    STATE(2001), 1,
      sym_simple_identifier,
    STATE(2037), 1,
      sym__parenthesized_type,
    STATE(2617), 1,
      sym__type,
    STATE(4676), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2064), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3869), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1956), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3867), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1883), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [174456] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8853), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [174542] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4480), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    STATE(7374), 2,
      sym_inheritance_specifier,
      sym__annotated_inheritance_specifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [174630] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8009), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [174716] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4360), 1,
      anon_sym_each,
    ACTIONS(4365), 1,
      anon_sym_repeat,
    ACTIONS(4367), 1,
      anon_sym_LPAREN,
    ACTIONS(4369), 1,
      anon_sym_LBRACK,
    ACTIONS(4371), 1,
      anon_sym_some,
    ACTIONS(4373), 1,
      anon_sym_any,
    ACTIONS(4375), 1,
      anon_sym_TILDE,
    STATE(2370), 1,
      sym_tuple_type,
    STATE(2655), 1,
      sym__simple_user_type,
    STATE(2680), 1,
      sym_simple_identifier,
    STATE(3688), 1,
      sym__parenthesized_type,
    STATE(3721), 1,
      sym__type,
    STATE(4662), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3009), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4358), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2983), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4356), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2693), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [174802] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6763), 1,
      anon_sym_each,
    ACTIONS(6765), 1,
      anon_sym_repeat,
    ACTIONS(6767), 1,
      anon_sym_LPAREN,
    ACTIONS(6769), 1,
      anon_sym_LBRACK,
    ACTIONS(6771), 1,
      anon_sym_some,
    ACTIONS(6773), 1,
      anon_sym_any,
    ACTIONS(6775), 1,
      anon_sym_TILDE,
    STATE(4617), 1,
      sym_type_modifiers,
    STATE(5082), 1,
      sym_tuple_type,
    STATE(5222), 1,
      sym__simple_user_type,
    STATE(5223), 1,
      sym_simple_identifier,
    STATE(5858), 1,
      sym__parenthesized_type,
    STATE(7348), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5331), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6761), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5452), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6759), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5280), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [174888] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8358), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [174974] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8848), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [175060] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(7986), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [175146] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7022), 1,
      anon_sym_each,
    ACTIONS(7024), 1,
      anon_sym_repeat,
    ACTIONS(7026), 1,
      anon_sym_LPAREN,
    ACTIONS(7028), 1,
      anon_sym_LBRACK,
    ACTIONS(7030), 1,
      anon_sym_some,
    ACTIONS(7032), 1,
      anon_sym_any,
    ACTIONS(7034), 1,
      anon_sym_TILDE,
    STATE(4736), 1,
      sym_type_modifiers,
    STATE(5174), 1,
      sym_tuple_type,
    STATE(5393), 1,
      sym__simple_user_type,
    STATE(5508), 1,
      sym_simple_identifier,
    STATE(5997), 1,
      sym__parenthesized_type,
    STATE(6724), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5561), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7020), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5585), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7018), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5485), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [175232] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8386), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [175318] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3942), 1,
      anon_sym_each,
    ACTIONS(3944), 1,
      anon_sym_repeat,
    ACTIONS(3952), 1,
      anon_sym_some,
    ACTIONS(3954), 1,
      anon_sym_any,
    ACTIONS(3956), 1,
      anon_sym_TILDE,
    ACTIONS(8256), 1,
      anon_sym_LPAREN,
    ACTIONS(8258), 1,
      anon_sym_LBRACK,
    STATE(1902), 1,
      sym_tuple_type,
    STATE(2008), 1,
      sym__simple_user_type,
    STATE(2083), 1,
      sym_simple_identifier,
    STATE(2136), 1,
      sym__parenthesized_type,
    STATE(2712), 1,
      sym__type,
    STATE(4721), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2130), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3940), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2018), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3938), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1929), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [175404] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8845), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [175490] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(7963), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [175576] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8399), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [175662] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8838), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [175748] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3942), 1,
      anon_sym_each,
    ACTIONS(3944), 1,
      anon_sym_repeat,
    ACTIONS(3952), 1,
      anon_sym_some,
    ACTIONS(3954), 1,
      anon_sym_any,
    ACTIONS(3956), 1,
      anon_sym_TILDE,
    ACTIONS(8256), 1,
      anon_sym_LPAREN,
    ACTIONS(8258), 1,
      anon_sym_LBRACK,
    STATE(1902), 1,
      sym_tuple_type,
    STATE(2008), 1,
      sym__simple_user_type,
    STATE(2083), 1,
      sym_simple_identifier,
    STATE(2136), 1,
      sym__parenthesized_type,
    STATE(2777), 1,
      sym__type,
    STATE(4721), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2130), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3940), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2018), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3938), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1929), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [175834] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(7868), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [175920] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4774), 1,
      anon_sym_each,
    ACTIONS(4779), 1,
      anon_sym_repeat,
    ACTIONS(4781), 1,
      anon_sym_LPAREN,
    ACTIONS(4783), 1,
      anon_sym_LBRACK,
    ACTIONS(4785), 1,
      anon_sym_some,
    ACTIONS(4787), 1,
      anon_sym_any,
    ACTIONS(4789), 1,
      anon_sym_TILDE,
    STATE(3591), 1,
      sym_tuple_type,
    STATE(3746), 1,
      sym_simple_identifier,
    STATE(3759), 1,
      sym__simple_user_type,
    STATE(3807), 1,
      sym__parenthesized_type,
    STATE(3859), 1,
      sym__type,
    STATE(4641), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3771), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4772), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(3775), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4770), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(3748), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [176006] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4774), 1,
      anon_sym_each,
    ACTIONS(4779), 1,
      anon_sym_repeat,
    ACTIONS(4781), 1,
      anon_sym_LPAREN,
    ACTIONS(4783), 1,
      anon_sym_LBRACK,
    ACTIONS(4785), 1,
      anon_sym_some,
    ACTIONS(4787), 1,
      anon_sym_any,
    ACTIONS(4789), 1,
      anon_sym_TILDE,
    STATE(3591), 1,
      sym_tuple_type,
    STATE(3746), 1,
      sym_simple_identifier,
    STATE(3759), 1,
      sym__simple_user_type,
    STATE(3807), 1,
      sym__parenthesized_type,
    STATE(3860), 1,
      sym__type,
    STATE(4641), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3771), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4772), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(3775), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4770), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(3748), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [176092] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3894), 1,
      anon_sym_each,
    ACTIONS(3896), 1,
      anon_sym_repeat,
    ACTIONS(3898), 1,
      anon_sym_LPAREN,
    ACTIONS(3900), 1,
      anon_sym_LBRACK,
    ACTIONS(3902), 1,
      anon_sym_some,
    ACTIONS(3904), 1,
      anon_sym_any,
    ACTIONS(3906), 1,
      anon_sym_TILDE,
    STATE(1744), 1,
      sym_tuple_type,
    STATE(1837), 1,
      sym__simple_user_type,
    STATE(1845), 1,
      sym_simple_identifier,
    STATE(1973), 1,
      sym__parenthesized_type,
    STATE(3152), 1,
      sym__type,
    STATE(4718), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1905), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3889), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1908), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3887), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1831), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [176178] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3857), 1,
      anon_sym_LPAREN,
    ACTIONS(3859), 1,
      anon_sym_LBRACK,
    ACTIONS(3865), 1,
      anon_sym_TILDE,
    ACTIONS(7036), 1,
      anon_sym_each,
    ACTIONS(7038), 1,
      anon_sym_repeat,
    ACTIONS(7040), 1,
      anon_sym_some,
    ACTIONS(7042), 1,
      anon_sym_any,
    STATE(1737), 1,
      sym_simple_identifier,
    STATE(1848), 1,
      sym__parenthesized_type,
    STATE(4635), 1,
      sym_type_modifiers,
    STATE(5283), 1,
      sym_tuple_type,
    STATE(5639), 1,
      sym__simple_user_type,
    STATE(7332), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1730), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1772), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3846), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5572), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [176264] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4774), 1,
      anon_sym_each,
    ACTIONS(4779), 1,
      anon_sym_repeat,
    ACTIONS(4781), 1,
      anon_sym_LPAREN,
    ACTIONS(4783), 1,
      anon_sym_LBRACK,
    ACTIONS(4785), 1,
      anon_sym_some,
    ACTIONS(4787), 1,
      anon_sym_any,
    ACTIONS(4789), 1,
      anon_sym_TILDE,
    STATE(3591), 1,
      sym_tuple_type,
    STATE(3746), 1,
      sym_simple_identifier,
    STATE(3759), 1,
      sym__simple_user_type,
    STATE(3807), 1,
      sym__parenthesized_type,
    STATE(3861), 1,
      sym__type,
    STATE(4641), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3771), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4772), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(3775), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4770), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(3748), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [176350] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8320), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [176436] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3857), 1,
      anon_sym_LPAREN,
    ACTIONS(3859), 1,
      anon_sym_LBRACK,
    ACTIONS(3865), 1,
      anon_sym_TILDE,
    ACTIONS(7036), 1,
      anon_sym_each,
    ACTIONS(7038), 1,
      anon_sym_repeat,
    ACTIONS(7040), 1,
      anon_sym_some,
    ACTIONS(7042), 1,
      anon_sym_any,
    STATE(1737), 1,
      sym_simple_identifier,
    STATE(1848), 1,
      sym__parenthesized_type,
    STATE(4635), 1,
      sym_type_modifiers,
    STATE(5283), 1,
      sym_tuple_type,
    STATE(5639), 1,
      sym__simple_user_type,
    STATE(7330), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1730), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1772), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3846), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5572), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [176522] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3894), 1,
      anon_sym_each,
    ACTIONS(3896), 1,
      anon_sym_repeat,
    ACTIONS(3898), 1,
      anon_sym_LPAREN,
    ACTIONS(3900), 1,
      anon_sym_LBRACK,
    ACTIONS(3902), 1,
      anon_sym_some,
    ACTIONS(3904), 1,
      anon_sym_any,
    ACTIONS(3906), 1,
      anon_sym_TILDE,
    STATE(1744), 1,
      sym_tuple_type,
    STATE(1837), 1,
      sym__simple_user_type,
    STATE(1845), 1,
      sym_simple_identifier,
    STATE(1973), 1,
      sym__parenthesized_type,
    STATE(3114), 1,
      sym__type,
    STATE(4718), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1905), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3889), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1908), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3887), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1831), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [176608] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(7940), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [176694] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8408), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [176780] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8828), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [176866] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6666), 1,
      anon_sym_each,
    ACTIONS(6668), 1,
      anon_sym_repeat,
    ACTIONS(6670), 1,
      anon_sym_LPAREN,
    ACTIONS(6672), 1,
      anon_sym_LBRACK,
    ACTIONS(6674), 1,
      anon_sym_some,
    ACTIONS(6676), 1,
      anon_sym_any,
    ACTIONS(6678), 1,
      anon_sym_TILDE,
    STATE(4611), 1,
      sym_type_modifiers,
    STATE(5090), 1,
      sym_tuple_type,
    STATE(5274), 1,
      sym_simple_identifier,
    STATE(5315), 1,
      sym__simple_user_type,
    STATE(5839), 1,
      sym__parenthesized_type,
    STATE(6734), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5429), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6664), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5481), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6662), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5279), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [176952] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8288), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [177038] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7699), 1,
      anon_sym_each,
    ACTIONS(7701), 1,
      anon_sym_repeat,
    ACTIONS(7703), 1,
      anon_sym_LPAREN,
    ACTIONS(7705), 1,
      anon_sym_LBRACK,
    ACTIONS(7707), 1,
      anon_sym_some,
    ACTIONS(7709), 1,
      anon_sym_any,
    ACTIONS(7711), 1,
      anon_sym_TILDE,
    STATE(4664), 1,
      sym_type_modifiers,
    STATE(5238), 1,
      sym_tuple_type,
    STATE(5779), 1,
      sym_simple_identifier,
    STATE(5780), 1,
      sym__simple_user_type,
    STATE(6069), 1,
      sym__parenthesized_type,
    STATE(6198), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5876), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7697), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5911), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7695), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5698), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [177124] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7699), 1,
      anon_sym_each,
    ACTIONS(7701), 1,
      anon_sym_repeat,
    ACTIONS(7703), 1,
      anon_sym_LPAREN,
    ACTIONS(7705), 1,
      anon_sym_LBRACK,
    ACTIONS(7707), 1,
      anon_sym_some,
    ACTIONS(7709), 1,
      anon_sym_any,
    ACTIONS(7711), 1,
      anon_sym_TILDE,
    STATE(4664), 1,
      sym_type_modifiers,
    STATE(5238), 1,
      sym_tuple_type,
    STATE(5779), 1,
      sym_simple_identifier,
    STATE(5780), 1,
      sym__simple_user_type,
    STATE(6069), 1,
      sym__parenthesized_type,
    STATE(6204), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5876), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7697), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5911), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7695), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5698), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [177210] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(7917), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [177296] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8419), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [177382] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8821), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [177468] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(7892), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [177554] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8438), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [177640] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8816), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [177726] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(7612), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [177812] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(7867), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [177898] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4063), 1,
      anon_sym_each,
    ACTIONS(4065), 1,
      anon_sym_repeat,
    ACTIONS(4073), 1,
      anon_sym_some,
    ACTIONS(4075), 1,
      anon_sym_any,
    ACTIONS(4077), 1,
      anon_sym_TILDE,
    ACTIONS(8252), 1,
      anon_sym_LPAREN,
    ACTIONS(8254), 1,
      anon_sym_LBRACK,
    STATE(1935), 1,
      sym_tuple_type,
    STATE(2067), 1,
      sym__simple_user_type,
    STATE(2137), 1,
      sym_simple_identifier,
    STATE(2160), 1,
      sym__parenthesized_type,
    STATE(2185), 1,
      sym__type,
    STATE(4623), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2201), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4061), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2050), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4059), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1947), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [177984] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(4767), 1,
      sym_type_modifiers,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6004), 1,
      sym_simple_identifier,
    STATE(6255), 1,
      sym__parenthesized_type,
    STATE(6331), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5955), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [178070] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6666), 1,
      anon_sym_each,
    ACTIONS(6668), 1,
      anon_sym_repeat,
    ACTIONS(6670), 1,
      anon_sym_LPAREN,
    ACTIONS(6672), 1,
      anon_sym_LBRACK,
    ACTIONS(6674), 1,
      anon_sym_some,
    ACTIONS(6676), 1,
      anon_sym_any,
    ACTIONS(6678), 1,
      anon_sym_TILDE,
    STATE(4611), 1,
      sym_type_modifiers,
    STATE(5090), 1,
      sym_tuple_type,
    STATE(5274), 1,
      sym_simple_identifier,
    STATE(5315), 1,
      sym__simple_user_type,
    STATE(5839), 1,
      sym__parenthesized_type,
    STATE(6681), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5429), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6664), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5481), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6662), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5279), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [178156] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8446), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [178242] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(5863), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [178328] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7699), 1,
      anon_sym_each,
    ACTIONS(7701), 1,
      anon_sym_repeat,
    ACTIONS(7703), 1,
      anon_sym_LPAREN,
    ACTIONS(7705), 1,
      anon_sym_LBRACK,
    ACTIONS(7707), 1,
      anon_sym_some,
    ACTIONS(7709), 1,
      anon_sym_any,
    ACTIONS(7711), 1,
      anon_sym_TILDE,
    STATE(4664), 1,
      sym_type_modifiers,
    STATE(5238), 1,
      sym_tuple_type,
    STATE(5779), 1,
      sym_simple_identifier,
    STATE(5780), 1,
      sym__simple_user_type,
    STATE(6069), 1,
      sym__parenthesized_type,
    STATE(6207), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5876), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7697), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5911), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7695), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5698), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [178414] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8805), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [178500] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(4767), 1,
      sym_type_modifiers,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6004), 1,
      sym_simple_identifier,
    STATE(6255), 1,
      sym__parenthesized_type,
    STATE(6322), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5955), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [178586] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(7842), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [178672] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8702), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [178758] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8552), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [178844] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7717), 1,
      anon_sym_each,
    ACTIONS(7719), 1,
      anon_sym_repeat,
    ACTIONS(7721), 1,
      anon_sym_LPAREN,
    ACTIONS(7723), 1,
      anon_sym_LBRACK,
    ACTIONS(7725), 1,
      anon_sym_some,
    ACTIONS(7727), 1,
      anon_sym_any,
    ACTIONS(7729), 1,
      anon_sym_TILDE,
    STATE(4629), 1,
      sym_type_modifiers,
    STATE(5292), 1,
      sym_tuple_type,
    STATE(5447), 1,
      sym_simple_identifier,
    STATE(5480), 1,
      sym__simple_user_type,
    STATE(5925), 1,
      sym__parenthesized_type,
    STATE(6777), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5720), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7715), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5633), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7713), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5787), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [178930] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4063), 1,
      anon_sym_each,
    ACTIONS(4065), 1,
      anon_sym_repeat,
    ACTIONS(4073), 1,
      anon_sym_some,
    ACTIONS(4075), 1,
      anon_sym_any,
    ACTIONS(4077), 1,
      anon_sym_TILDE,
    ACTIONS(8252), 1,
      anon_sym_LPAREN,
    ACTIONS(8254), 1,
      anon_sym_LBRACK,
    STATE(1935), 1,
      sym_tuple_type,
    STATE(2067), 1,
      sym__simple_user_type,
    STATE(2137), 1,
      sym_simple_identifier,
    STATE(2160), 1,
      sym__parenthesized_type,
    STATE(2180), 1,
      sym__type,
    STATE(4623), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2201), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4061), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2050), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4059), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1947), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [179016] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(4767), 1,
      sym_type_modifiers,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6004), 1,
      sym_simple_identifier,
    STATE(6255), 1,
      sym__parenthesized_type,
    STATE(6303), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5955), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [179102] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6763), 1,
      anon_sym_each,
    ACTIONS(6765), 1,
      anon_sym_repeat,
    ACTIONS(6767), 1,
      anon_sym_LPAREN,
    ACTIONS(6769), 1,
      anon_sym_LBRACK,
    ACTIONS(6771), 1,
      anon_sym_some,
    ACTIONS(6773), 1,
      anon_sym_any,
    ACTIONS(6775), 1,
      anon_sym_TILDE,
    STATE(4617), 1,
      sym_type_modifiers,
    STATE(5082), 1,
      sym_tuple_type,
    STATE(5222), 1,
      sym__simple_user_type,
    STATE(5223), 1,
      sym_simple_identifier,
    STATE(5858), 1,
      sym__parenthesized_type,
    STATE(7242), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5331), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6761), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5452), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6759), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5280), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [179188] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4063), 1,
      anon_sym_each,
    ACTIONS(4065), 1,
      anon_sym_repeat,
    ACTIONS(4073), 1,
      anon_sym_some,
    ACTIONS(4075), 1,
      anon_sym_any,
    ACTIONS(4077), 1,
      anon_sym_TILDE,
    ACTIONS(8252), 1,
      anon_sym_LPAREN,
    ACTIONS(8254), 1,
      anon_sym_LBRACK,
    STATE(1935), 1,
      sym_tuple_type,
    STATE(2067), 1,
      sym__simple_user_type,
    STATE(2137), 1,
      sym_simple_identifier,
    STATE(2160), 1,
      sym__parenthesized_type,
    STATE(2161), 1,
      sym__type,
    STATE(4623), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2201), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4061), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2050), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4059), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1947), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [179274] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4183), 1,
      anon_sym_each,
    ACTIONS(4185), 1,
      anon_sym_repeat,
    ACTIONS(4193), 1,
      anon_sym_some,
    ACTIONS(4195), 1,
      anon_sym_any,
    ACTIONS(4197), 1,
      anon_sym_TILDE,
    ACTIONS(8260), 1,
      anon_sym_LPAREN,
    ACTIONS(8262), 1,
      anon_sym_LBRACK,
    STATE(1955), 1,
      sym_tuple_type,
    STATE(2116), 1,
      sym__simple_user_type,
    STATE(2200), 1,
      sym_simple_identifier,
    STATE(2232), 1,
      sym__parenthesized_type,
    STATE(3563), 1,
      sym__type,
    STATE(4688), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2244), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4181), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2131), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4179), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2005), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [179360] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8463), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [179446] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4183), 1,
      anon_sym_each,
    ACTIONS(4185), 1,
      anon_sym_repeat,
    ACTIONS(4193), 1,
      anon_sym_some,
    ACTIONS(4195), 1,
      anon_sym_any,
    ACTIONS(4197), 1,
      anon_sym_TILDE,
    ACTIONS(8260), 1,
      anon_sym_LPAREN,
    ACTIONS(8262), 1,
      anon_sym_LBRACK,
    STATE(1955), 1,
      sym_tuple_type,
    STATE(2116), 1,
      sym__simple_user_type,
    STATE(2200), 1,
      sym_simple_identifier,
    STATE(2232), 1,
      sym__parenthesized_type,
    STATE(3560), 1,
      sym__type,
    STATE(4688), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2244), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4181), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2131), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4179), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2005), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [179532] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7717), 1,
      anon_sym_each,
    ACTIONS(7719), 1,
      anon_sym_repeat,
    ACTIONS(7721), 1,
      anon_sym_LPAREN,
    ACTIONS(7723), 1,
      anon_sym_LBRACK,
    ACTIONS(7725), 1,
      anon_sym_some,
    ACTIONS(7727), 1,
      anon_sym_any,
    ACTIONS(7729), 1,
      anon_sym_TILDE,
    STATE(4629), 1,
      sym_type_modifiers,
    STATE(5292), 1,
      sym_tuple_type,
    STATE(5447), 1,
      sym_simple_identifier,
    STATE(5480), 1,
      sym__simple_user_type,
    STATE(5925), 1,
      sym__parenthesized_type,
    STATE(6033), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5720), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7715), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5633), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7713), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5787), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [179618] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8345), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [179704] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7717), 1,
      anon_sym_each,
    ACTIONS(7719), 1,
      anon_sym_repeat,
    ACTIONS(7721), 1,
      anon_sym_LPAREN,
    ACTIONS(7723), 1,
      anon_sym_LBRACK,
    ACTIONS(7725), 1,
      anon_sym_some,
    ACTIONS(7727), 1,
      anon_sym_any,
    ACTIONS(7729), 1,
      anon_sym_TILDE,
    STATE(4629), 1,
      sym_type_modifiers,
    STATE(5292), 1,
      sym_tuple_type,
    STATE(5447), 1,
      sym_simple_identifier,
    STATE(5480), 1,
      sym__simple_user_type,
    STATE(5925), 1,
      sym__parenthesized_type,
    STATE(6722), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5720), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7715), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5633), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7713), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5787), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [179790] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8789), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [179876] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(7817), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [179962] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8482), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [180048] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8768), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [180134] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(7788), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [180220] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8501), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [180306] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8759), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [180392] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(7837), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [180478] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7721), 1,
      anon_sym_LPAREN,
    ACTIONS(7723), 1,
      anon_sym_LBRACK,
    ACTIONS(7729), 1,
      anon_sym_TILDE,
    ACTIONS(7742), 1,
      anon_sym_each,
    ACTIONS(7744), 1,
      anon_sym_repeat,
    ACTIONS(7746), 1,
      anon_sym_some,
    ACTIONS(7748), 1,
      anon_sym_any,
    STATE(4602), 1,
      sym_type_modifiers,
    STATE(5379), 1,
      sym_tuple_type,
    STATE(5447), 1,
      sym_simple_identifier,
    STATE(5480), 1,
      sym__simple_user_type,
    STATE(5925), 1,
      sym__parenthesized_type,
    STATE(6722), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5720), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7715), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5633), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7713), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5835), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [180564] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8285), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8283), 39,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [180614] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6666), 1,
      anon_sym_each,
    ACTIONS(6668), 1,
      anon_sym_repeat,
    ACTIONS(6670), 1,
      anon_sym_LPAREN,
    ACTIONS(6672), 1,
      anon_sym_LBRACK,
    ACTIONS(6674), 1,
      anon_sym_some,
    ACTIONS(6676), 1,
      anon_sym_any,
    ACTIONS(6678), 1,
      anon_sym_TILDE,
    STATE(4611), 1,
      sym_type_modifiers,
    STATE(5090), 1,
      sym_tuple_type,
    STATE(5274), 1,
      sym_simple_identifier,
    STATE(5315), 1,
      sym__simple_user_type,
    STATE(5839), 1,
      sym__parenthesized_type,
    STATE(6023), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5429), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6664), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5481), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6662), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5279), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [180700] = 5,
    ACTIONS(8291), 1,
      sym_catch_keyword,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8289), 2,
      anon_sym_AT,
      anon_sym_unowned,
    STATE(4467), 2,
      sym_catch_block,
      aux_sym_do_statement_repeat1,
    ACTIONS(8287), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [180754] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(7759), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [180840] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7717), 1,
      anon_sym_each,
    ACTIONS(7719), 1,
      anon_sym_repeat,
    ACTIONS(7721), 1,
      anon_sym_LPAREN,
    ACTIONS(7723), 1,
      anon_sym_LBRACK,
    ACTIONS(7725), 1,
      anon_sym_some,
    ACTIONS(7727), 1,
      anon_sym_any,
    ACTIONS(7729), 1,
      anon_sym_TILDE,
    STATE(4629), 1,
      sym_type_modifiers,
    STATE(5292), 1,
      sym_tuple_type,
    STATE(5447), 1,
      sym_simple_identifier,
    STATE(5480), 1,
      sym__simple_user_type,
    STATE(5925), 1,
      sym__parenthesized_type,
    STATE(6041), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5720), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7715), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5633), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7713), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5787), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [180926] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8822), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [181012] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6666), 1,
      anon_sym_each,
    ACTIONS(6668), 1,
      anon_sym_repeat,
    ACTIONS(6670), 1,
      anon_sym_LPAREN,
    ACTIONS(6672), 1,
      anon_sym_LBRACK,
    ACTIONS(6674), 1,
      anon_sym_some,
    ACTIONS(6676), 1,
      anon_sym_any,
    ACTIONS(6678), 1,
      anon_sym_TILDE,
    STATE(4611), 1,
      sym_type_modifiers,
    STATE(5090), 1,
      sym_tuple_type,
    STATE(5274), 1,
      sym_simple_identifier,
    STATE(5315), 1,
      sym__simple_user_type,
    STATE(5839), 1,
      sym__parenthesized_type,
    STATE(6019), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5429), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6664), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5481), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6662), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5279), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [181098] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7717), 1,
      anon_sym_each,
    ACTIONS(7719), 1,
      anon_sym_repeat,
    ACTIONS(7721), 1,
      anon_sym_LPAREN,
    ACTIONS(7723), 1,
      anon_sym_LBRACK,
    ACTIONS(7725), 1,
      anon_sym_some,
    ACTIONS(7727), 1,
      anon_sym_any,
    ACTIONS(7729), 1,
      anon_sym_TILDE,
    STATE(4629), 1,
      sym_type_modifiers,
    STATE(5292), 1,
      sym_tuple_type,
    STATE(5447), 1,
      sym_simple_identifier,
    STATE(5480), 1,
      sym__simple_user_type,
    STATE(5925), 1,
      sym__parenthesized_type,
    STATE(6054), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5720), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7715), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5633), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7713), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5787), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [181184] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8462), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [181270] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8522), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [181356] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8742), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [181442] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6763), 1,
      anon_sym_each,
    ACTIONS(6765), 1,
      anon_sym_repeat,
    ACTIONS(6767), 1,
      anon_sym_LPAREN,
    ACTIONS(6769), 1,
      anon_sym_LBRACK,
    ACTIONS(6771), 1,
      anon_sym_some,
    ACTIONS(6773), 1,
      anon_sym_any,
    ACTIONS(6775), 1,
      anon_sym_TILDE,
    STATE(4617), 1,
      sym_type_modifiers,
    STATE(5082), 1,
      sym_tuple_type,
    STATE(5222), 1,
      sym__simple_user_type,
    STATE(5223), 1,
      sym_simple_identifier,
    STATE(5858), 1,
      sym__parenthesized_type,
    STATE(5978), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5331), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6761), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5452), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6759), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5280), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [181528] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8204), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [181614] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3894), 1,
      anon_sym_each,
    ACTIONS(3896), 1,
      anon_sym_repeat,
    ACTIONS(3898), 1,
      anon_sym_LPAREN,
    ACTIONS(3900), 1,
      anon_sym_LBRACK,
    ACTIONS(3902), 1,
      anon_sym_some,
    ACTIONS(3904), 1,
      anon_sym_any,
    ACTIONS(3906), 1,
      anon_sym_TILDE,
    STATE(1744), 1,
      sym_tuple_type,
    STATE(1837), 1,
      sym__simple_user_type,
    STATE(1845), 1,
      sym_simple_identifier,
    STATE(1973), 1,
      sym__parenthesized_type,
    STATE(3073), 1,
      sym__type,
    STATE(4718), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1905), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3889), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1908), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3887), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1831), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [181700] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6666), 1,
      anon_sym_each,
    ACTIONS(6668), 1,
      anon_sym_repeat,
    ACTIONS(6670), 1,
      anon_sym_LPAREN,
    ACTIONS(6672), 1,
      anon_sym_LBRACK,
    ACTIONS(6674), 1,
      anon_sym_some,
    ACTIONS(6676), 1,
      anon_sym_any,
    ACTIONS(6678), 1,
      anon_sym_TILDE,
    STATE(4611), 1,
      sym_type_modifiers,
    STATE(5090), 1,
      sym_tuple_type,
    STATE(5274), 1,
      sym_simple_identifier,
    STATE(5315), 1,
      sym__simple_user_type,
    STATE(5839), 1,
      sym__parenthesized_type,
    STATE(6014), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5429), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6664), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5481), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6662), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5279), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [181786] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(7730), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [181872] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8551), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [181958] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6763), 1,
      anon_sym_each,
    ACTIONS(6765), 1,
      anon_sym_repeat,
    ACTIONS(6767), 1,
      anon_sym_LPAREN,
    ACTIONS(6769), 1,
      anon_sym_LBRACK,
    ACTIONS(6771), 1,
      anon_sym_some,
    ACTIONS(6773), 1,
      anon_sym_any,
    ACTIONS(6775), 1,
      anon_sym_TILDE,
    STATE(4617), 1,
      sym_type_modifiers,
    STATE(5082), 1,
      sym_tuple_type,
    STATE(5222), 1,
      sym__simple_user_type,
    STATE(5223), 1,
      sym_simple_identifier,
    STATE(5858), 1,
      sym__parenthesized_type,
    STATE(5991), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5331), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6761), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5452), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6759), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5280), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [182044] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6763), 1,
      anon_sym_each,
    ACTIONS(6765), 1,
      anon_sym_repeat,
    ACTIONS(6767), 1,
      anon_sym_LPAREN,
    ACTIONS(6769), 1,
      anon_sym_LBRACK,
    ACTIONS(6771), 1,
      anon_sym_some,
    ACTIONS(6773), 1,
      anon_sym_any,
    ACTIONS(6775), 1,
      anon_sym_TILDE,
    STATE(4617), 1,
      sym_type_modifiers,
    STATE(5082), 1,
      sym_tuple_type,
    STATE(5222), 1,
      sym__simple_user_type,
    STATE(5223), 1,
      sym_simple_identifier,
    STATE(5858), 1,
      sym__parenthesized_type,
    STATE(5995), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5331), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6761), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5452), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6759), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5280), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [182130] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8857), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [182216] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(7701), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [182302] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8561), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [182388] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8678), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [182474] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(7672), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [182560] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8925), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [182646] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8621), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [182732] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8295), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8293), 39,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_default_keyword,
      sym_where_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [182782] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8692), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [182868] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4335), 1,
      anon_sym_each,
    ACTIONS(4340), 1,
      anon_sym_repeat,
    ACTIONS(4342), 1,
      anon_sym_LPAREN,
    ACTIONS(4344), 1,
      anon_sym_LBRACK,
    ACTIONS(4346), 1,
      anon_sym_some,
    ACTIONS(4348), 1,
      anon_sym_any,
    ACTIONS(4350), 1,
      anon_sym_TILDE,
    STATE(2190), 1,
      sym_tuple_type,
    STATE(2343), 1,
      sym_simple_identifier,
    STATE(2352), 1,
      sym__simple_user_type,
    STATE(3038), 1,
      sym__parenthesized_type,
    STATE(3256), 1,
      sym__type,
    STATE(4729), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2446), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4333), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2575), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4331), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2395), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [182954] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6047), 1,
      anon_sym_each,
    ACTIONS(6049), 1,
      anon_sym_repeat,
    ACTIONS(6051), 1,
      anon_sym_LPAREN,
    ACTIONS(6053), 1,
      anon_sym_LBRACK,
    ACTIONS(6055), 1,
      anon_sym_some,
    ACTIONS(6057), 1,
      anon_sym_any,
    ACTIONS(6059), 1,
      anon_sym_TILDE,
    STATE(4690), 1,
      sym_type_modifiers,
    STATE(4980), 1,
      sym_tuple_type,
    STATE(5041), 1,
      sym_simple_identifier,
    STATE(5059), 1,
      sym__simple_user_type,
    STATE(5269), 1,
      sym__parenthesized_type,
    STATE(5463), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5098), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6045), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5089), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6043), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5038), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [183040] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(7643), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [183126] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6047), 1,
      anon_sym_each,
    ACTIONS(6049), 1,
      anon_sym_repeat,
    ACTIONS(6051), 1,
      anon_sym_LPAREN,
    ACTIONS(6053), 1,
      anon_sym_LBRACK,
    ACTIONS(6055), 1,
      anon_sym_some,
    ACTIONS(6057), 1,
      anon_sym_any,
    ACTIONS(6059), 1,
      anon_sym_TILDE,
    STATE(4690), 1,
      sym_type_modifiers,
    STATE(4980), 1,
      sym_tuple_type,
    STATE(5041), 1,
      sym_simple_identifier,
    STATE(5059), 1,
      sym__simple_user_type,
    STATE(5269), 1,
      sym__parenthesized_type,
    STATE(5458), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5098), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6045), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5089), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6043), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5038), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [183212] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4335), 1,
      anon_sym_each,
    ACTIONS(4340), 1,
      anon_sym_repeat,
    ACTIONS(4342), 1,
      anon_sym_LPAREN,
    ACTIONS(4344), 1,
      anon_sym_LBRACK,
    ACTIONS(4346), 1,
      anon_sym_some,
    ACTIONS(4348), 1,
      anon_sym_any,
    ACTIONS(4350), 1,
      anon_sym_TILDE,
    STATE(2190), 1,
      sym_tuple_type,
    STATE(2343), 1,
      sym_simple_identifier,
    STATE(2352), 1,
      sym__simple_user_type,
    STATE(3038), 1,
      sym__parenthesized_type,
    STATE(3226), 1,
      sym__type,
    STATE(4729), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2446), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4333), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2575), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4331), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2395), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [183298] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(2834), 1,
      anon_sym_each,
    ACTIONS(2839), 1,
      anon_sym_repeat,
    ACTIONS(2847), 1,
      anon_sym_some,
    ACTIONS(2849), 1,
      anon_sym_any,
    ACTIONS(2851), 1,
      anon_sym_TILDE,
    ACTIONS(8268), 1,
      anon_sym_LPAREN,
    ACTIONS(8270), 1,
      anon_sym_LBRACK,
    STATE(1013), 1,
      sym_tuple_type,
    STATE(1047), 1,
      sym__simple_user_type,
    STATE(1068), 1,
      sym_simple_identifier,
    STATE(1099), 1,
      sym__parenthesized_type,
    STATE(1113), 1,
      sym__type,
    STATE(4765), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1098), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(2832), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1046), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(2830), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1020), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [183384] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6047), 1,
      anon_sym_each,
    ACTIONS(6049), 1,
      anon_sym_repeat,
    ACTIONS(6051), 1,
      anon_sym_LPAREN,
    ACTIONS(6053), 1,
      anon_sym_LBRACK,
    ACTIONS(6055), 1,
      anon_sym_some,
    ACTIONS(6057), 1,
      anon_sym_any,
    ACTIONS(6059), 1,
      anon_sym_TILDE,
    STATE(4690), 1,
      sym_type_modifiers,
    STATE(4980), 1,
      sym_tuple_type,
    STATE(5041), 1,
      sym_simple_identifier,
    STATE(5059), 1,
      sym__simple_user_type,
    STATE(5269), 1,
      sym__parenthesized_type,
    STATE(5442), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5098), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6045), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5089), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6043), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5038), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [183470] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8650), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [183556] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8648), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [183642] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8723), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [183728] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(7614), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [183814] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7721), 1,
      anon_sym_LPAREN,
    ACTIONS(7723), 1,
      anon_sym_LBRACK,
    ACTIONS(7729), 1,
      anon_sym_TILDE,
    ACTIONS(7742), 1,
      anon_sym_each,
    ACTIONS(7744), 1,
      anon_sym_repeat,
    ACTIONS(7746), 1,
      anon_sym_some,
    ACTIONS(7748), 1,
      anon_sym_any,
    STATE(4602), 1,
      sym_type_modifiers,
    STATE(5379), 1,
      sym_tuple_type,
    STATE(5447), 1,
      sym_simple_identifier,
    STATE(5480), 1,
      sym__simple_user_type,
    STATE(5925), 1,
      sym__parenthesized_type,
    STATE(6777), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5720), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7715), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5633), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7713), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5835), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [183900] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(4659), 1,
      sym_type_modifiers,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    STATE(5976), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5243), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [183986] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(2834), 1,
      anon_sym_each,
    ACTIONS(2839), 1,
      anon_sym_repeat,
    ACTIONS(2847), 1,
      anon_sym_some,
    ACTIONS(2849), 1,
      anon_sym_any,
    ACTIONS(2851), 1,
      anon_sym_TILDE,
    ACTIONS(8268), 1,
      anon_sym_LPAREN,
    ACTIONS(8270), 1,
      anon_sym_LBRACK,
    STATE(1013), 1,
      sym_tuple_type,
    STATE(1047), 1,
      sym__simple_user_type,
    STATE(1068), 1,
      sym_simple_identifier,
    STATE(1088), 1,
      sym__type,
    STATE(1099), 1,
      sym__parenthesized_type,
    STATE(4765), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1098), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(2832), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1046), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(2830), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1020), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [184072] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(7788), 1,
      anon_sym_each,
    ACTIONS(7790), 1,
      anon_sym_repeat,
    ACTIONS(7792), 1,
      anon_sym_some,
    ACTIONS(7794), 1,
      anon_sym_any,
    ACTIONS(7796), 1,
      anon_sym_TILDE,
    STATE(4704), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(5722), 1,
      sym_tuple_type,
    STATE(5899), 1,
      sym__type,
    STATE(5990), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5953), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [184158] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8631), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [184244] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8777), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [184330] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(7581), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [184416] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(4659), 1,
      sym_type_modifiers,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    STATE(5929), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5243), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [184502] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8607), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [184588] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(7991), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [184674] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(2834), 1,
      anon_sym_each,
    ACTIONS(2839), 1,
      anon_sym_repeat,
    ACTIONS(2847), 1,
      anon_sym_some,
    ACTIONS(2849), 1,
      anon_sym_any,
    ACTIONS(2851), 1,
      anon_sym_TILDE,
    ACTIONS(8268), 1,
      anon_sym_LPAREN,
    ACTIONS(8270), 1,
      anon_sym_LBRACK,
    STATE(1013), 1,
      sym_tuple_type,
    STATE(1047), 1,
      sym__simple_user_type,
    STATE(1068), 1,
      sym_simple_identifier,
    STATE(1092), 1,
      sym__type,
    STATE(1099), 1,
      sym__parenthesized_type,
    STATE(4765), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1098), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(2832), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1046), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(2830), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1020), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [184760] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7099), 1,
      anon_sym_each,
    ACTIONS(7101), 1,
      anon_sym_repeat,
    ACTIONS(7103), 1,
      anon_sym_LPAREN,
    ACTIONS(7105), 1,
      anon_sym_LBRACK,
    ACTIONS(7107), 1,
      anon_sym_some,
    ACTIONS(7109), 1,
      anon_sym_any,
    ACTIONS(7111), 1,
      anon_sym_TILDE,
    STATE(4754), 1,
      sym_type_modifiers,
    STATE(5183), 1,
      sym_tuple_type,
    STATE(5361), 1,
      sym_simple_identifier,
    STATE(5409), 1,
      sym__simple_user_type,
    STATE(6012), 1,
      sym__parenthesized_type,
    STATE(6935), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5542), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7097), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5525), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7095), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5431), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [184846] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8836), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [184932] = 20,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5652), 1,
      sym_simple_identifier,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6255), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5019), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(7030), 2,
      sym_identifier,
      sym__constrained_type,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5919), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [185016] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8843), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [185102] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4335), 1,
      anon_sym_each,
    ACTIONS(4340), 1,
      anon_sym_repeat,
    ACTIONS(4342), 1,
      anon_sym_LPAREN,
    ACTIONS(4344), 1,
      anon_sym_LBRACK,
    ACTIONS(4346), 1,
      anon_sym_some,
    ACTIONS(4348), 1,
      anon_sym_any,
    ACTIONS(4350), 1,
      anon_sym_TILDE,
    STATE(2190), 1,
      sym_tuple_type,
    STATE(2343), 1,
      sym_simple_identifier,
    STATE(2352), 1,
      sym__simple_user_type,
    STATE(3038), 1,
      sym__parenthesized_type,
    STATE(3200), 1,
      sym__type,
    STATE(4729), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2446), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4333), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2575), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4331), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2395), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [185188] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(7528), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [185274] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8543), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [185360] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3857), 1,
      anon_sym_LPAREN,
    ACTIONS(3859), 1,
      anon_sym_LBRACK,
    ACTIONS(3865), 1,
      anon_sym_TILDE,
    ACTIONS(7036), 1,
      anon_sym_each,
    ACTIONS(7038), 1,
      anon_sym_repeat,
    ACTIONS(7040), 1,
      anon_sym_some,
    ACTIONS(7042), 1,
      anon_sym_any,
    STATE(1737), 1,
      sym_simple_identifier,
    STATE(1848), 1,
      sym__parenthesized_type,
    STATE(1914), 1,
      sym__type,
    STATE(4635), 1,
      sym_type_modifiers,
    STATE(5283), 1,
      sym_tuple_type,
    STATE(5639), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1730), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1772), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3846), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5572), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [185446] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3857), 1,
      anon_sym_LPAREN,
    ACTIONS(3859), 1,
      anon_sym_LBRACK,
    ACTIONS(3865), 1,
      anon_sym_TILDE,
    ACTIONS(7036), 1,
      anon_sym_each,
    ACTIONS(7038), 1,
      anon_sym_repeat,
    ACTIONS(7040), 1,
      anon_sym_some,
    ACTIONS(7042), 1,
      anon_sym_any,
    STATE(1737), 1,
      sym_simple_identifier,
    STATE(1848), 1,
      sym__parenthesized_type,
    STATE(1911), 1,
      sym__type,
    STATE(4635), 1,
      sym_type_modifiers,
    STATE(5283), 1,
      sym_tuple_type,
    STATE(5639), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1730), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1772), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3846), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5572), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [185532] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(3857), 1,
      anon_sym_LPAREN,
    ACTIONS(3859), 1,
      anon_sym_LBRACK,
    ACTIONS(3865), 1,
      anon_sym_TILDE,
    ACTIONS(7036), 1,
      anon_sym_each,
    ACTIONS(7038), 1,
      anon_sym_repeat,
    ACTIONS(7040), 1,
      anon_sym_some,
    ACTIONS(7042), 1,
      anon_sym_any,
    STATE(1737), 1,
      sym_simple_identifier,
    STATE(1848), 1,
      sym__parenthesized_type,
    STATE(1863), 1,
      sym__type,
    STATE(4635), 1,
      sym_type_modifiers,
    STATE(5283), 1,
      sym_tuple_type,
    STATE(5639), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1730), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1772), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3846), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5572), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [185618] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6300), 1,
      anon_sym_each,
    ACTIONS(6302), 1,
      anon_sym_repeat,
    ACTIONS(6304), 1,
      anon_sym_LPAREN,
    ACTIONS(6306), 1,
      anon_sym_LBRACK,
    ACTIONS(6308), 1,
      anon_sym_some,
    ACTIONS(6310), 1,
      anon_sym_any,
    ACTIONS(6312), 1,
      anon_sym_TILDE,
    STATE(4764), 1,
      sym_type_modifiers,
    STATE(5009), 1,
      sym_tuple_type,
    STATE(5100), 1,
      sym__simple_user_type,
    STATE(5104), 1,
      sym_simple_identifier,
    STATE(5491), 1,
      sym__parenthesized_type,
    STATE(5523), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5151), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6298), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5140), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6296), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5085), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [185704] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(5921), 1,
      anon_sym_each,
    ACTIONS(5923), 1,
      anon_sym_repeat,
    ACTIONS(5925), 1,
      anon_sym_LPAREN,
    ACTIONS(5927), 1,
      anon_sym_LBRACK,
    ACTIONS(5929), 1,
      anon_sym_some,
    ACTIONS(5931), 1,
      anon_sym_any,
    ACTIONS(5933), 1,
      anon_sym_TILDE,
    STATE(4758), 1,
      sym_type_modifiers,
    STATE(4967), 1,
      sym_tuple_type,
    STATE(4996), 1,
      sym__simple_user_type,
    STATE(5011), 1,
      sym_simple_identifier,
    STATE(5191), 1,
      sym__parenthesized_type,
    STATE(5260), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5013), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(5919), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5021), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(5917), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4994), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [185790] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7099), 1,
      anon_sym_each,
    ACTIONS(7101), 1,
      anon_sym_repeat,
    ACTIONS(7103), 1,
      anon_sym_LPAREN,
    ACTIONS(7105), 1,
      anon_sym_LBRACK,
    ACTIONS(7107), 1,
      anon_sym_some,
    ACTIONS(7109), 1,
      anon_sym_any,
    ACTIONS(7111), 1,
      anon_sym_TILDE,
    STATE(4754), 1,
      sym_type_modifiers,
    STATE(5183), 1,
      sym_tuple_type,
    STATE(5361), 1,
      sym_simple_identifier,
    STATE(5409), 1,
      sym__simple_user_type,
    STATE(6012), 1,
      sym__parenthesized_type,
    STATE(6947), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5542), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7097), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5525), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7095), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5431), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [185876] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8981), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [185962] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(5921), 1,
      anon_sym_each,
    ACTIONS(5923), 1,
      anon_sym_repeat,
    ACTIONS(5925), 1,
      anon_sym_LPAREN,
    ACTIONS(5927), 1,
      anon_sym_LBRACK,
    ACTIONS(5929), 1,
      anon_sym_some,
    ACTIONS(5931), 1,
      anon_sym_any,
    ACTIONS(5933), 1,
      anon_sym_TILDE,
    STATE(4758), 1,
      sym_type_modifiers,
    STATE(4967), 1,
      sym_tuple_type,
    STATE(4996), 1,
      sym__simple_user_type,
    STATE(5011), 1,
      sym_simple_identifier,
    STATE(5191), 1,
      sym__parenthesized_type,
    STATE(5207), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5013), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(5919), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5021), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(5917), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4994), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [186048] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8301), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [186134] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(7453), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [186220] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4203), 1,
      anon_sym_each,
    ACTIONS(4205), 1,
      anon_sym_repeat,
    ACTIONS(4213), 1,
      anon_sym_some,
    ACTIONS(4215), 1,
      anon_sym_any,
    ACTIONS(4217), 1,
      anon_sym_TILDE,
    ACTIONS(8264), 1,
      anon_sym_LPAREN,
    ACTIONS(8266), 1,
      anon_sym_LBRACK,
    STATE(1966), 1,
      sym_tuple_type,
    STATE(2122), 1,
      sym__simple_user_type,
    STATE(2178), 1,
      sym_simple_identifier,
    STATE(2286), 1,
      sym__parenthesized_type,
    STATE(3250), 1,
      sym__type,
    STATE(4684), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2241), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4201), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2142), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4199), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2017), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [186306] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8459), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [186392] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7022), 1,
      anon_sym_each,
    ACTIONS(7024), 1,
      anon_sym_repeat,
    ACTIONS(7026), 1,
      anon_sym_LPAREN,
    ACTIONS(7028), 1,
      anon_sym_LBRACK,
    ACTIONS(7030), 1,
      anon_sym_some,
    ACTIONS(7032), 1,
      anon_sym_any,
    ACTIONS(7034), 1,
      anon_sym_TILDE,
    STATE(4736), 1,
      sym_type_modifiers,
    STATE(5174), 1,
      sym_tuple_type,
    STATE(5393), 1,
      sym__simple_user_type,
    STATE(5508), 1,
      sym_simple_identifier,
    STATE(5997), 1,
      sym__parenthesized_type,
    STATE(6093), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5561), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7020), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5585), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7018), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5485), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [186478] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6300), 1,
      anon_sym_each,
    ACTIONS(6302), 1,
      anon_sym_repeat,
    ACTIONS(6304), 1,
      anon_sym_LPAREN,
    ACTIONS(6306), 1,
      anon_sym_LBRACK,
    ACTIONS(6308), 1,
      anon_sym_some,
    ACTIONS(6310), 1,
      anon_sym_any,
    ACTIONS(6312), 1,
      anon_sym_TILDE,
    STATE(4764), 1,
      sym_type_modifiers,
    STATE(5009), 1,
      sym_tuple_type,
    STATE(5100), 1,
      sym__simple_user_type,
    STATE(5104), 1,
      sym_simple_identifier,
    STATE(5491), 1,
      sym__parenthesized_type,
    STATE(5564), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5151), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6298), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5140), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6296), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5085), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [186564] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8720), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [186650] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6300), 1,
      anon_sym_each,
    ACTIONS(6302), 1,
      anon_sym_repeat,
    ACTIONS(6304), 1,
      anon_sym_LPAREN,
    ACTIONS(6306), 1,
      anon_sym_LBRACK,
    ACTIONS(6308), 1,
      anon_sym_some,
    ACTIONS(6310), 1,
      anon_sym_any,
    ACTIONS(6312), 1,
      anon_sym_TILDE,
    STATE(4764), 1,
      sym_type_modifiers,
    STATE(5009), 1,
      sym_tuple_type,
    STATE(5100), 1,
      sym__simple_user_type,
    STATE(5104), 1,
      sym_simple_identifier,
    STATE(5491), 1,
      sym__parenthesized_type,
    STATE(5562), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5151), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6298), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5140), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6296), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5085), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [186736] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6818), 1,
      anon_sym_each,
    ACTIONS(6820), 1,
      anon_sym_repeat,
    ACTIONS(6822), 1,
      anon_sym_LPAREN,
    ACTIONS(6824), 1,
      anon_sym_LBRACK,
    ACTIONS(6826), 1,
      anon_sym_some,
    ACTIONS(6828), 1,
      anon_sym_any,
    ACTIONS(6830), 1,
      anon_sym_TILDE,
    STATE(4747), 1,
      sym_type_modifiers,
    STATE(5069), 1,
      sym_tuple_type,
    STATE(5249), 1,
      sym__simple_user_type,
    STATE(5251), 1,
      sym_simple_identifier,
    STATE(5870), 1,
      sym__parenthesized_type,
    STATE(6573), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5356), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6816), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5348), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6814), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5277), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [186822] = 5,
    ACTIONS(8291), 1,
      sym_catch_keyword,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8299), 2,
      anon_sym_AT,
      anon_sym_unowned,
    STATE(4295), 2,
      sym_catch_block,
      aux_sym_do_statement_repeat1,
    ACTIONS(8297), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [186876] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7022), 1,
      anon_sym_each,
    ACTIONS(7024), 1,
      anon_sym_repeat,
    ACTIONS(7026), 1,
      anon_sym_LPAREN,
    ACTIONS(7028), 1,
      anon_sym_LBRACK,
    ACTIONS(7030), 1,
      anon_sym_some,
    ACTIONS(7032), 1,
      anon_sym_any,
    ACTIONS(7034), 1,
      anon_sym_TILDE,
    STATE(4736), 1,
      sym_type_modifiers,
    STATE(5174), 1,
      sym_tuple_type,
    STATE(5393), 1,
      sym__simple_user_type,
    STATE(5508), 1,
      sym_simple_identifier,
    STATE(5997), 1,
      sym__parenthesized_type,
    STATE(6090), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5561), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7020), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5585), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7018), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5485), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [186962] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(7022), 1,
      anon_sym_each,
    ACTIONS(7024), 1,
      anon_sym_repeat,
    ACTIONS(7026), 1,
      anon_sym_LPAREN,
    ACTIONS(7028), 1,
      anon_sym_LBRACK,
    ACTIONS(7030), 1,
      anon_sym_some,
    ACTIONS(7032), 1,
      anon_sym_any,
    ACTIONS(7034), 1,
      anon_sym_TILDE,
    STATE(4736), 1,
      sym_type_modifiers,
    STATE(5174), 1,
      sym_tuple_type,
    STATE(5393), 1,
      sym__simple_user_type,
    STATE(5508), 1,
      sym_simple_identifier,
    STATE(5997), 1,
      sym__parenthesized_type,
    STATE(6077), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5561), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7020), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5585), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7018), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5485), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [187048] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(4774), 1,
      anon_sym_each,
    ACTIONS(4779), 1,
      anon_sym_repeat,
    ACTIONS(4781), 1,
      anon_sym_LPAREN,
    ACTIONS(4783), 1,
      anon_sym_LBRACK,
    ACTIONS(4785), 1,
      anon_sym_some,
    ACTIONS(4787), 1,
      anon_sym_any,
    ACTIONS(4789), 1,
      anon_sym_TILDE,
    STATE(3591), 1,
      sym_tuple_type,
    STATE(3746), 1,
      sym_simple_identifier,
    STATE(3759), 1,
      sym__simple_user_type,
    STATE(3807), 1,
      sym__parenthesized_type,
    STATE(4582), 1,
      sym__type,
    STATE(4641), 1,
      sym_type_modifiers,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3771), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4772), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(3775), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4770), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(3748), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [187134] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(7651), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [187220] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8694), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [187306] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(5921), 1,
      anon_sym_each,
    ACTIONS(5923), 1,
      anon_sym_repeat,
    ACTIONS(5925), 1,
      anon_sym_LPAREN,
    ACTIONS(5927), 1,
      anon_sym_LBRACK,
    ACTIONS(5929), 1,
      anon_sym_some,
    ACTIONS(5931), 1,
      anon_sym_any,
    ACTIONS(5933), 1,
      anon_sym_TILDE,
    STATE(4758), 1,
      sym_type_modifiers,
    STATE(4967), 1,
      sym_tuple_type,
    STATE(4996), 1,
      sym__simple_user_type,
    STATE(5011), 1,
      sym_simple_identifier,
    STATE(5191), 1,
      sym__parenthesized_type,
    STATE(5233), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5013), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(5919), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5021), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(5917), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4994), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [187392] = 21,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6818), 1,
      anon_sym_each,
    ACTIONS(6820), 1,
      anon_sym_repeat,
    ACTIONS(6822), 1,
      anon_sym_LPAREN,
    ACTIONS(6824), 1,
      anon_sym_LBRACK,
    ACTIONS(6826), 1,
      anon_sym_some,
    ACTIONS(6828), 1,
      anon_sym_any,
    ACTIONS(6830), 1,
      anon_sym_TILDE,
    STATE(4747), 1,
      sym_type_modifiers,
    STATE(5069), 1,
      sym_tuple_type,
    STATE(5249), 1,
      sym__simple_user_type,
    STATE(5251), 1,
      sym_simple_identifier,
    STATE(5870), 1,
      sym__parenthesized_type,
    STATE(6550), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5356), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6816), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5348), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6814), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5277), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [187478] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8589), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [187564] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(8295), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [187650] = 21,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(4630), 1,
      sym_type_modifiers,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(7806), 1,
      sym__type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5018), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5247), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [187736] = 18,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(617), 4,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_GT,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5856), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [187815] = 5,
    ACTIONS(8301), 1,
      anon_sym_COMMA,
    STATE(4490), 1,
      aux_sym__modifierless_property_declaration_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6389), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6385), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [187868] = 22,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    ACTIONS(7936), 1,
      anon_sym_each,
    ACTIONS(7938), 1,
      anon_sym_repeat,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(6034), 1,
      sym_user_type,
    STATE(6074), 1,
      sym_tuple_type,
    STATE(7136), 1,
      sym_inheritance_specifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5019), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5313), 2,
      sym_array_type,
      sym_dictionary_type,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(6356), 2,
      sym_function_type,
      sym_suppressed_constraint,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(6234), 8,
      sym__unannotated_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
  [187955] = 5,
    ACTIONS(8303), 1,
      anon_sym_COMMA,
    STATE(4481), 1,
      aux_sym__modifierless_property_declaration_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6611), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6606), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [188008] = 5,
    ACTIONS(8308), 1,
      anon_sym_COMMA,
    STATE(4482), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8311), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8306), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [188061] = 5,
    ACTIONS(8315), 1,
      anon_sym_COMMA,
    STATE(4487), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8317), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8313), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [188114] = 5,
    ACTIONS(8315), 1,
      anon_sym_COMMA,
    STATE(4482), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8321), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8319), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [188167] = 5,
    ACTIONS(8315), 1,
      anon_sym_COMMA,
    STATE(4488), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8325), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8323), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [188220] = 5,
    ACTIONS(8315), 1,
      anon_sym_COMMA,
    STATE(4484), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8329), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8327), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [188273] = 5,
    ACTIONS(8315), 1,
      anon_sym_COMMA,
    STATE(4482), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8333), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8331), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [188326] = 5,
    ACTIONS(8315), 1,
      anon_sym_COMMA,
    STATE(4482), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8337), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8335), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [188379] = 6,
    STATE(28), 1,
      sym__semi,
    STATE(4492), 1,
      aux_sym_statements_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8341), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8343), 2,
      sym__implicit_semi,
      sym__explicit_semi,
    ACTIONS(8339), 34,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [188434] = 5,
    ACTIONS(8301), 1,
      anon_sym_COMMA,
    STATE(4481), 1,
      aux_sym__modifierless_property_declaration_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6474), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6472), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [188487] = 6,
    STATE(113), 1,
      sym__semi,
    STATE(4491), 1,
      aux_sym_statements_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8347), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8349), 2,
      sym__implicit_semi,
      sym__explicit_semi,
    ACTIONS(8345), 34,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [188542] = 6,
    STATE(27), 1,
      sym__semi,
    STATE(4491), 1,
      aux_sym_statements_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(381), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8352), 2,
      sym__implicit_semi,
      sym__explicit_semi,
    ACTIONS(383), 34,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [188597] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6688), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6686), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [188645] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6844), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6842), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [188693] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8356), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8354), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [188741] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8360), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8358), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [188789] = 4,
    ACTIONS(8362), 1,
      sym_else,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3297), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3299), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [188839] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8366), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8364), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [188887] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6708), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6706), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [188935] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6704), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6702), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [188983] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6700), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6698), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [189031] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6696), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6694), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [189079] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6696), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6694), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [189127] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6692), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6690), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [189175] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8370), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8368), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      sym_catch_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [189223] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5534), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5532), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [189271] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6783), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6781), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [189319] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6726), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6724), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [189367] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8374), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8372), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [189415] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6844), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6842), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [189463] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8378), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8376), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [189511] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6722), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6720), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [189559] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6718), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6716), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [189607] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8382), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8380), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [189655] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5444), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5442), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [189703] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6838), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6836), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [189751] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6722), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6720), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [189799] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6722), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6720), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [189847] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5534), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5532), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [189895] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6718), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6716), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [189943] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8386), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8384), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      sym_catch_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [189991] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6722), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6720), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [190039] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8390), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8388), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [190087] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3293), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3295), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      sym_catch_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [190135] = 4,
    ACTIONS(8392), 1,
      sym_else,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3287), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3289), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [190185] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6730), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6728), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_COMMA,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [190233] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3313), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3315), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      sym_catch_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [190281] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3313), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3315), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      sym_else,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [190329] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8396), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8394), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      sym_catch_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [190377] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8400), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8398), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      sym_catch_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [190425] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3293), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3295), 37,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      sym_else,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [190473] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8404), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8402), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [190520] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7327), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7325), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [190567] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8408), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8406), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [190614] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8412), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8410), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [190661] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8416), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8414), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [190708] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8420), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8418), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [190755] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7131), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7129), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [190802] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7191), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7189), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [190849] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8424), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8422), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [190896] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8428), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8426), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [190943] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7333), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7331), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [190990] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3313), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3315), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [191037] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8420), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8418), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [191084] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8424), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8422), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [191131] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8432), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8430), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [191178] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7115), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7113), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [191225] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3421), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3423), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [191272] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3549), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3551), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [191319] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7259), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7257), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [191366] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3553), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3555), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [191413] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8436), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8434), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [191460] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8440), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8438), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [191507] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7628), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7626), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [191554] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8444), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8442), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [191601] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7596), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7594), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [191648] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7580), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7578), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [191695] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8448), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8446), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [191742] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8452), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8450), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [191789] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8448), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8446), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [191836] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8347), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8345), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [191883] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8456), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8454), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [191930] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8460), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8458), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [191977] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8464), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8462), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [192024] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8468), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8466), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [192071] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8472), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8470), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [192118] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8476), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8474), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [192165] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8480), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8478), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [192212] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8484), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8482), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [192259] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7548), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7546), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [192306] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7093), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7091), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [192353] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7383), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7381), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [192400] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7387), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7385), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [192447] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7540), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7538), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [192494] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8488), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8486), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [192541] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8492), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8490), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [192588] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8496), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8494), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [192635] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8500), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8498), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [192682] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8504), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8502), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [192729] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7145), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7143), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [192776] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(751), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(749), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [192823] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7451), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7449), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [192870] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7487), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7485), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [192917] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8508), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8506), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [192964] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7536), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7534), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [193011] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7558), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7556), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [193058] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7399), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7397), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [193105] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8512), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8510), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [193152] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8516), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8514), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [193199] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8520), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8518), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [193246] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8512), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8510), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [193293] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3293), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3295), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [193340] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8524), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8522), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [193387] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6906), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6904), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [193434] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8528), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8526), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [193481] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7632), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(7630), 36,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_fallthrough,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [193528] = 6,
    ACTIONS(8532), 1,
      anon_sym_get,
    ACTIONS(8534), 1,
      anon_sym_set,
    ACTIONS(8536), 1,
      anon_sym__modify,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8538), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8530), 32,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_class,
      anon_sym_willSet,
      anon_sym_didSet,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [193580] = 24,
    ACTIONS(1075), 1,
      anon_sym_case,
    ACTIONS(1081), 1,
      anon_sym_is,
    ACTIONS(4748), 1,
      sym_where_keyword,
    ACTIONS(8544), 1,
      anon_sym_LPAREN,
    ACTIONS(8546), 1,
      anon_sym_LBRACE,
    ACTIONS(8548), 1,
      sym_wildcard_pattern,
    ACTIONS(8550), 1,
      sym__dot_custom,
    STATE(4806), 1,
      sym_value_binding_pattern,
    STATE(5637), 1,
      sym__dot,
    STATE(6338), 1,
      sym_simple_identifier,
    STATE(6695), 1,
      sym__type_casting_pattern,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6788), 1,
      sym__binding_pattern_no_expr,
    STATE(6823), 1,
      sym__block,
    STATE(7013), 1,
      sym__binding_pattern,
    STATE(7016), 1,
      sym__bound_identifier,
    STATE(8271), 1,
      sym_where_clause,
    STATE(8560), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(6429), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8542), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(7019), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8540), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [193668] = 24,
    ACTIONS(1075), 1,
      anon_sym_case,
    ACTIONS(1081), 1,
      anon_sym_is,
    ACTIONS(4748), 1,
      sym_where_keyword,
    ACTIONS(8544), 1,
      anon_sym_LPAREN,
    ACTIONS(8548), 1,
      sym_wildcard_pattern,
    ACTIONS(8550), 1,
      sym__dot_custom,
    ACTIONS(8552), 1,
      anon_sym_LBRACE,
    STATE(4521), 1,
      sym__block,
    STATE(4806), 1,
      sym_value_binding_pattern,
    STATE(5637), 1,
      sym__dot,
    STATE(6338), 1,
      sym_simple_identifier,
    STATE(6647), 1,
      sym__binding_pattern_no_expr,
    STATE(6695), 1,
      sym__type_casting_pattern,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(7013), 1,
      sym__binding_pattern,
    STATE(7016), 1,
      sym__bound_identifier,
    STATE(8247), 1,
      sym_where_clause,
    STATE(8560), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(6429), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8542), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(7019), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8540), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [193756] = 24,
    ACTIONS(8558), 1,
      anon_sym_LPAREN,
    ACTIONS(8560), 1,
      anon_sym_await,
    ACTIONS(8562), 1,
      anon_sym_case,
    ACTIONS(8564), 1,
      anon_sym_try,
    ACTIONS(8566), 1,
      anon_sym_is,
    ACTIONS(8568), 1,
      sym_wildcard_pattern,
    ACTIONS(8570), 1,
      sym__dot_custom,
    STATE(4777), 1,
      sym_try_operator,
    STATE(4793), 1,
      sym_value_binding_pattern,
    STATE(4831), 1,
      sym__await_operator,
    STATE(5656), 1,
      sym__dot,
    STATE(6296), 1,
      sym_simple_identifier,
    STATE(6729), 1,
      sym__type_casting_pattern,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(6928), 1,
      sym__binding_pattern_no_expr,
    STATE(6933), 1,
      sym__bound_identifier,
    STATE(8517), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(6361), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8556), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6934), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8554), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [193844] = 24,
    ACTIONS(8558), 1,
      anon_sym_LPAREN,
    ACTIONS(8562), 1,
      anon_sym_case,
    ACTIONS(8564), 1,
      anon_sym_try,
    ACTIONS(8566), 1,
      anon_sym_is,
    ACTIONS(8568), 1,
      sym_wildcard_pattern,
    ACTIONS(8570), 1,
      sym__dot_custom,
    ACTIONS(8572), 1,
      anon_sym_await,
    STATE(4770), 1,
      sym_try_operator,
    STATE(4793), 1,
      sym_value_binding_pattern,
    STATE(4838), 1,
      sym__await_operator,
    STATE(5656), 1,
      sym__dot,
    STATE(6296), 1,
      sym_simple_identifier,
    STATE(6729), 1,
      sym__type_casting_pattern,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6882), 1,
      sym__binding_pattern_no_expr,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(6933), 1,
      sym__bound_identifier,
    STATE(8517), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(6361), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8556), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6934), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8554), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [193932] = 17,
    ACTIONS(7721), 1,
      anon_sym_LPAREN,
    ACTIONS(7723), 1,
      anon_sym_LBRACK,
    ACTIONS(7729), 1,
      anon_sym_TILDE,
    ACTIONS(7742), 1,
      anon_sym_each,
    ACTIONS(7744), 1,
      anon_sym_repeat,
    ACTIONS(7746), 1,
      anon_sym_some,
    ACTIONS(7748), 1,
      anon_sym_any,
    STATE(5379), 1,
      sym_tuple_type,
    STATE(5447), 1,
      sym_simple_identifier,
    STATE(5480), 1,
      sym__simple_user_type,
    STATE(5925), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5720), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7715), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5633), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7713), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5860), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [194005] = 17,
    ACTIONS(4183), 1,
      anon_sym_each,
    ACTIONS(4185), 1,
      anon_sym_repeat,
    ACTIONS(4193), 1,
      anon_sym_some,
    ACTIONS(4195), 1,
      anon_sym_any,
    ACTIONS(4197), 1,
      anon_sym_TILDE,
    ACTIONS(8260), 1,
      anon_sym_LPAREN,
    ACTIONS(8262), 1,
      anon_sym_LBRACK,
    STATE(1955), 1,
      sym_tuple_type,
    STATE(2116), 1,
      sym__simple_user_type,
    STATE(2200), 1,
      sym_simple_identifier,
    STATE(2232), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2244), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4181), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2131), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4179), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1991), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [194078] = 17,
    ACTIONS(7717), 1,
      anon_sym_each,
    ACTIONS(7719), 1,
      anon_sym_repeat,
    ACTIONS(7721), 1,
      anon_sym_LPAREN,
    ACTIONS(7723), 1,
      anon_sym_LBRACK,
    ACTIONS(7725), 1,
      anon_sym_some,
    ACTIONS(7727), 1,
      anon_sym_any,
    ACTIONS(7729), 1,
      anon_sym_TILDE,
    STATE(5292), 1,
      sym_tuple_type,
    STATE(5447), 1,
      sym_simple_identifier,
    STATE(5480), 1,
      sym__simple_user_type,
    STATE(5925), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5720), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7715), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5633), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7713), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5778), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [194151] = 17,
    ACTIONS(7022), 1,
      anon_sym_each,
    ACTIONS(7024), 1,
      anon_sym_repeat,
    ACTIONS(7026), 1,
      anon_sym_LPAREN,
    ACTIONS(7028), 1,
      anon_sym_LBRACK,
    ACTIONS(7030), 1,
      anon_sym_some,
    ACTIONS(7032), 1,
      anon_sym_any,
    ACTIONS(7034), 1,
      anon_sym_TILDE,
    STATE(5174), 1,
      sym_tuple_type,
    STATE(5393), 1,
      sym__simple_user_type,
    STATE(5508), 1,
      sym_simple_identifier,
    STATE(5997), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5561), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7020), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5585), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7018), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5450), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [194224] = 17,
    ACTIONS(5921), 1,
      anon_sym_each,
    ACTIONS(5923), 1,
      anon_sym_repeat,
    ACTIONS(5925), 1,
      anon_sym_LPAREN,
    ACTIONS(5927), 1,
      anon_sym_LBRACK,
    ACTIONS(5929), 1,
      anon_sym_some,
    ACTIONS(5931), 1,
      anon_sym_any,
    ACTIONS(5933), 1,
      anon_sym_TILDE,
    STATE(4967), 1,
      sym_tuple_type,
    STATE(4996), 1,
      sym__simple_user_type,
    STATE(5011), 1,
      sym_simple_identifier,
    STATE(5191), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5013), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(5919), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5021), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(5917), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4999), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [194297] = 17,
    ACTIONS(5921), 1,
      anon_sym_each,
    ACTIONS(5923), 1,
      anon_sym_repeat,
    ACTIONS(5925), 1,
      anon_sym_LPAREN,
    ACTIONS(5927), 1,
      anon_sym_LBRACK,
    ACTIONS(5929), 1,
      anon_sym_some,
    ACTIONS(5931), 1,
      anon_sym_any,
    ACTIONS(5933), 1,
      anon_sym_TILDE,
    STATE(4967), 1,
      sym_tuple_type,
    STATE(4996), 1,
      sym__simple_user_type,
    STATE(5011), 1,
      sym_simple_identifier,
    STATE(5191), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5013), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(5919), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5021), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(5917), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5005), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [194370] = 17,
    ACTIONS(2651), 1,
      anon_sym_TILDE,
    ACTIONS(4029), 1,
      anon_sym_each,
    ACTIONS(4031), 1,
      anon_sym_repeat,
    ACTIONS(4033), 1,
      anon_sym_some,
    ACTIONS(4035), 1,
      anon_sym_any,
    ACTIONS(8244), 1,
      anon_sym_LPAREN,
    ACTIONS(8246), 1,
      anon_sym_LBRACK,
    STATE(810), 1,
      sym__simple_user_type,
    STATE(818), 1,
      sym_simple_identifier,
    STATE(839), 1,
      sym__parenthesized_type,
    STATE(1918), 1,
      sym_tuple_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(845), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(811), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(755), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1970), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [194443] = 17,
    ACTIONS(6666), 1,
      anon_sym_each,
    ACTIONS(6668), 1,
      anon_sym_repeat,
    ACTIONS(6670), 1,
      anon_sym_LPAREN,
    ACTIONS(6672), 1,
      anon_sym_LBRACK,
    ACTIONS(6674), 1,
      anon_sym_some,
    ACTIONS(6676), 1,
      anon_sym_any,
    ACTIONS(6678), 1,
      anon_sym_TILDE,
    STATE(5090), 1,
      sym_tuple_type,
    STATE(5274), 1,
      sym_simple_identifier,
    STATE(5315), 1,
      sym__simple_user_type,
    STATE(5839), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5429), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6664), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5481), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6662), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5285), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [194516] = 17,
    ACTIONS(6666), 1,
      anon_sym_each,
    ACTIONS(6668), 1,
      anon_sym_repeat,
    ACTIONS(6670), 1,
      anon_sym_LPAREN,
    ACTIONS(6672), 1,
      anon_sym_LBRACK,
    ACTIONS(6674), 1,
      anon_sym_some,
    ACTIONS(6676), 1,
      anon_sym_any,
    ACTIONS(6678), 1,
      anon_sym_TILDE,
    STATE(5090), 1,
      sym_tuple_type,
    STATE(5274), 1,
      sym_simple_identifier,
    STATE(5315), 1,
      sym__simple_user_type,
    STATE(5839), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5429), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6664), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5481), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6662), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5289), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [194589] = 17,
    ACTIONS(6666), 1,
      anon_sym_each,
    ACTIONS(6668), 1,
      anon_sym_repeat,
    ACTIONS(6670), 1,
      anon_sym_LPAREN,
    ACTIONS(6672), 1,
      anon_sym_LBRACK,
    ACTIONS(6674), 1,
      anon_sym_some,
    ACTIONS(6676), 1,
      anon_sym_any,
    ACTIONS(6678), 1,
      anon_sym_TILDE,
    STATE(5090), 1,
      sym_tuple_type,
    STATE(5274), 1,
      sym_simple_identifier,
    STATE(5315), 1,
      sym__simple_user_type,
    STATE(5839), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5429), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6664), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5481), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6662), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5306), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [194662] = 17,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5232), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [194735] = 17,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6004), 1,
      sym_simple_identifier,
    STATE(6255), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5934), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [194808] = 17,
    ACTIONS(7717), 1,
      anon_sym_each,
    ACTIONS(7719), 1,
      anon_sym_repeat,
    ACTIONS(7721), 1,
      anon_sym_LPAREN,
    ACTIONS(7723), 1,
      anon_sym_LBRACK,
    ACTIONS(7725), 1,
      anon_sym_some,
    ACTIONS(7727), 1,
      anon_sym_any,
    ACTIONS(7729), 1,
      anon_sym_TILDE,
    STATE(5292), 1,
      sym_tuple_type,
    STATE(5447), 1,
      sym_simple_identifier,
    STATE(5480), 1,
      sym__simple_user_type,
    STATE(5925), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5720), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7715), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5633), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7713), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5754), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [194881] = 17,
    ACTIONS(4063), 1,
      anon_sym_each,
    ACTIONS(4065), 1,
      anon_sym_repeat,
    ACTIONS(4073), 1,
      anon_sym_some,
    ACTIONS(4075), 1,
      anon_sym_any,
    ACTIONS(4077), 1,
      anon_sym_TILDE,
    ACTIONS(8252), 1,
      anon_sym_LPAREN,
    ACTIONS(8254), 1,
      anon_sym_LBRACK,
    STATE(1935), 1,
      sym_tuple_type,
    STATE(2067), 1,
      sym__simple_user_type,
    STATE(2137), 1,
      sym_simple_identifier,
    STATE(2160), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2201), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4061), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2050), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4059), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1950), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [194954] = 17,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5259), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [195027] = 17,
    ACTIONS(6763), 1,
      anon_sym_each,
    ACTIONS(6765), 1,
      anon_sym_repeat,
    ACTIONS(6767), 1,
      anon_sym_LPAREN,
    ACTIONS(6769), 1,
      anon_sym_LBRACK,
    ACTIONS(6771), 1,
      anon_sym_some,
    ACTIONS(6773), 1,
      anon_sym_any,
    ACTIONS(6775), 1,
      anon_sym_TILDE,
    STATE(5082), 1,
      sym_tuple_type,
    STATE(5222), 1,
      sym__simple_user_type,
    STATE(5223), 1,
      sym_simple_identifier,
    STATE(5858), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5331), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6761), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5452), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6759), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5252), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [195100] = 17,
    ACTIONS(7699), 1,
      anon_sym_each,
    ACTIONS(7701), 1,
      anon_sym_repeat,
    ACTIONS(7703), 1,
      anon_sym_LPAREN,
    ACTIONS(7705), 1,
      anon_sym_LBRACK,
    ACTIONS(7707), 1,
      anon_sym_some,
    ACTIONS(7709), 1,
      anon_sym_any,
    ACTIONS(7711), 1,
      anon_sym_TILDE,
    STATE(5238), 1,
      sym_tuple_type,
    STATE(5779), 1,
      sym_simple_identifier,
    STATE(5780), 1,
      sym__simple_user_type,
    STATE(6069), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5876), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7697), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5911), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7695), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5638), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [195173] = 17,
    ACTIONS(7699), 1,
      anon_sym_each,
    ACTIONS(7701), 1,
      anon_sym_repeat,
    ACTIONS(7703), 1,
      anon_sym_LPAREN,
    ACTIONS(7705), 1,
      anon_sym_LBRACK,
    ACTIONS(7707), 1,
      anon_sym_some,
    ACTIONS(7709), 1,
      anon_sym_any,
    ACTIONS(7711), 1,
      anon_sym_TILDE,
    STATE(5238), 1,
      sym_tuple_type,
    STATE(5779), 1,
      sym_simple_identifier,
    STATE(5780), 1,
      sym__simple_user_type,
    STATE(6069), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5876), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7697), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5911), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7695), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5640), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [195246] = 17,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5258), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [195319] = 17,
    ACTIONS(4063), 1,
      anon_sym_each,
    ACTIONS(4065), 1,
      anon_sym_repeat,
    ACTIONS(4073), 1,
      anon_sym_some,
    ACTIONS(4075), 1,
      anon_sym_any,
    ACTIONS(4077), 1,
      anon_sym_TILDE,
    ACTIONS(8252), 1,
      anon_sym_LPAREN,
    ACTIONS(8254), 1,
      anon_sym_LBRACK,
    STATE(1935), 1,
      sym_tuple_type,
    STATE(2067), 1,
      sym__simple_user_type,
    STATE(2137), 1,
      sym_simple_identifier,
    STATE(2160), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2201), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4061), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2050), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4059), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1969), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [195392] = 17,
    ACTIONS(4063), 1,
      anon_sym_each,
    ACTIONS(4065), 1,
      anon_sym_repeat,
    ACTIONS(4073), 1,
      anon_sym_some,
    ACTIONS(4075), 1,
      anon_sym_any,
    ACTIONS(4077), 1,
      anon_sym_TILDE,
    ACTIONS(8252), 1,
      anon_sym_LPAREN,
    ACTIONS(8254), 1,
      anon_sym_LBRACK,
    STATE(1935), 1,
      sym_tuple_type,
    STATE(2067), 1,
      sym__simple_user_type,
    STATE(2137), 1,
      sym_simple_identifier,
    STATE(2160), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2201), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4061), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2050), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4059), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1948), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [195465] = 17,
    ACTIONS(4063), 1,
      anon_sym_each,
    ACTIONS(4065), 1,
      anon_sym_repeat,
    ACTIONS(4073), 1,
      anon_sym_some,
    ACTIONS(4075), 1,
      anon_sym_any,
    ACTIONS(4077), 1,
      anon_sym_TILDE,
    ACTIONS(8252), 1,
      anon_sym_LPAREN,
    ACTIONS(8254), 1,
      anon_sym_LBRACK,
    STATE(1935), 1,
      sym_tuple_type,
    STATE(2067), 1,
      sym__simple_user_type,
    STATE(2137), 1,
      sym_simple_identifier,
    STATE(2160), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2201), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4061), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2050), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4059), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1979), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [195538] = 17,
    ACTIONS(7699), 1,
      anon_sym_each,
    ACTIONS(7701), 1,
      anon_sym_repeat,
    ACTIONS(7703), 1,
      anon_sym_LPAREN,
    ACTIONS(7705), 1,
      anon_sym_LBRACK,
    ACTIONS(7707), 1,
      anon_sym_some,
    ACTIONS(7709), 1,
      anon_sym_any,
    ACTIONS(7711), 1,
      anon_sym_TILDE,
    STATE(5238), 1,
      sym_tuple_type,
    STATE(5779), 1,
      sym_simple_identifier,
    STATE(5780), 1,
      sym__simple_user_type,
    STATE(6069), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5876), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7697), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5911), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7695), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5620), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [195611] = 17,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5287), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [195684] = 4,
    ACTIONS(8576), 1,
      anon_sym_fallthrough,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8578), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8574), 33,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [195731] = 17,
    ACTIONS(3871), 1,
      anon_sym_each,
    ACTIONS(3873), 1,
      anon_sym_repeat,
    ACTIONS(3881), 1,
      anon_sym_some,
    ACTIONS(3883), 1,
      anon_sym_any,
    ACTIONS(3885), 1,
      anon_sym_TILDE,
    ACTIONS(8272), 1,
      anon_sym_LPAREN,
    ACTIONS(8274), 1,
      anon_sym_LBRACK,
    STATE(1824), 1,
      sym_tuple_type,
    STATE(1953), 1,
      sym__simple_user_type,
    STATE(2001), 1,
      sym_simple_identifier,
    STATE(2037), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2064), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3869), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1956), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3867), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1870), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [195804] = 17,
    ACTIONS(4774), 1,
      anon_sym_each,
    ACTIONS(4779), 1,
      anon_sym_repeat,
    ACTIONS(4781), 1,
      anon_sym_LPAREN,
    ACTIONS(4783), 1,
      anon_sym_LBRACK,
    ACTIONS(4785), 1,
      anon_sym_some,
    ACTIONS(4787), 1,
      anon_sym_any,
    ACTIONS(4789), 1,
      anon_sym_TILDE,
    STATE(3591), 1,
      sym_tuple_type,
    STATE(3746), 1,
      sym_simple_identifier,
    STATE(3759), 1,
      sym__simple_user_type,
    STATE(3807), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3771), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4772), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(3775), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4770), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(3744), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [195877] = 17,
    ACTIONS(7717), 1,
      anon_sym_each,
    ACTIONS(7719), 1,
      anon_sym_repeat,
    ACTIONS(7721), 1,
      anon_sym_LPAREN,
    ACTIONS(7723), 1,
      anon_sym_LBRACK,
    ACTIONS(7725), 1,
      anon_sym_some,
    ACTIONS(7727), 1,
      anon_sym_any,
    ACTIONS(7729), 1,
      anon_sym_TILDE,
    STATE(5292), 1,
      sym_tuple_type,
    STATE(5447), 1,
      sym_simple_identifier,
    STATE(5480), 1,
      sym__simple_user_type,
    STATE(5925), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5720), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7715), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5633), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7713), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5783), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [195950] = 17,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5255), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [196023] = 17,
    ACTIONS(4282), 1,
      anon_sym_each,
    ACTIONS(4284), 1,
      anon_sym_repeat,
    ACTIONS(4292), 1,
      anon_sym_some,
    ACTIONS(4294), 1,
      anon_sym_any,
    ACTIONS(4296), 1,
      anon_sym_TILDE,
    ACTIONS(8240), 1,
      anon_sym_LPAREN,
    ACTIONS(8242), 1,
      anon_sym_LBRACK,
    STATE(2019), 1,
      sym_tuple_type,
    STATE(2170), 1,
      sym__simple_user_type,
    STATE(2283), 1,
      sym_simple_identifier,
    STATE(2374), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2358), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4280), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2164), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4278), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2063), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [196096] = 17,
    ACTIONS(6300), 1,
      anon_sym_each,
    ACTIONS(6302), 1,
      anon_sym_repeat,
    ACTIONS(6304), 1,
      anon_sym_LPAREN,
    ACTIONS(6306), 1,
      anon_sym_LBRACK,
    ACTIONS(6308), 1,
      anon_sym_some,
    ACTIONS(6310), 1,
      anon_sym_any,
    ACTIONS(6312), 1,
      anon_sym_TILDE,
    STATE(5009), 1,
      sym_tuple_type,
    STATE(5100), 1,
      sym__simple_user_type,
    STATE(5104), 1,
      sym_simple_identifier,
    STATE(5491), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5151), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6298), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5140), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6296), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5070), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [196169] = 17,
    ACTIONS(2834), 1,
      anon_sym_each,
    ACTIONS(2839), 1,
      anon_sym_repeat,
    ACTIONS(2847), 1,
      anon_sym_some,
    ACTIONS(2849), 1,
      anon_sym_any,
    ACTIONS(2851), 1,
      anon_sym_TILDE,
    ACTIONS(8268), 1,
      anon_sym_LPAREN,
    ACTIONS(8270), 1,
      anon_sym_LBRACK,
    STATE(1013), 1,
      sym_tuple_type,
    STATE(1047), 1,
      sym__simple_user_type,
    STATE(1068), 1,
      sym_simple_identifier,
    STATE(1099), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1098), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(2832), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1046), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(2830), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1027), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [196242] = 17,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6004), 1,
      sym_simple_identifier,
    STATE(6255), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5915), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [196315] = 17,
    ACTIONS(3857), 1,
      anon_sym_LPAREN,
    ACTIONS(3859), 1,
      anon_sym_LBRACK,
    ACTIONS(3865), 1,
      anon_sym_TILDE,
    ACTIONS(7036), 1,
      anon_sym_each,
    ACTIONS(7038), 1,
      anon_sym_repeat,
    ACTIONS(7040), 1,
      anon_sym_some,
    ACTIONS(7042), 1,
      anon_sym_any,
    STATE(1737), 1,
      sym_simple_identifier,
    STATE(1848), 1,
      sym__parenthesized_type,
    STATE(5283), 1,
      sym_tuple_type,
    STATE(5639), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1730), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1772), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3846), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5626), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [196388] = 17,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6004), 1,
      sym_simple_identifier,
    STATE(6255), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5963), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [196461] = 17,
    ACTIONS(7022), 1,
      anon_sym_each,
    ACTIONS(7024), 1,
      anon_sym_repeat,
    ACTIONS(7026), 1,
      anon_sym_LPAREN,
    ACTIONS(7028), 1,
      anon_sym_LBRACK,
    ACTIONS(7030), 1,
      anon_sym_some,
    ACTIONS(7032), 1,
      anon_sym_any,
    ACTIONS(7034), 1,
      anon_sym_TILDE,
    STATE(5174), 1,
      sym_tuple_type,
    STATE(5393), 1,
      sym__simple_user_type,
    STATE(5508), 1,
      sym_simple_identifier,
    STATE(5997), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5561), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7020), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5585), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7018), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5446), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [196534] = 17,
    ACTIONS(3773), 1,
      anon_sym_LPAREN,
    ACTIONS(3775), 1,
      anon_sym_LBRACK,
    ACTIONS(3781), 1,
      anon_sym_TILDE,
    ACTIONS(6787), 1,
      anon_sym_each,
    ACTIONS(6789), 1,
      anon_sym_repeat,
    ACTIONS(6791), 1,
      anon_sym_some,
    ACTIONS(6793), 1,
      anon_sym_any,
    STATE(1712), 1,
      sym__simple_user_type,
    STATE(1719), 1,
      sym_simple_identifier,
    STATE(1804), 1,
      sym__parenthesized_type,
    STATE(5063), 1,
      sym_tuple_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1734), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3764), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1743), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3762), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5293), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [196607] = 17,
    ACTIONS(4774), 1,
      anon_sym_each,
    ACTIONS(4779), 1,
      anon_sym_repeat,
    ACTIONS(4781), 1,
      anon_sym_LPAREN,
    ACTIONS(4783), 1,
      anon_sym_LBRACK,
    ACTIONS(4785), 1,
      anon_sym_some,
    ACTIONS(4787), 1,
      anon_sym_any,
    ACTIONS(4789), 1,
      anon_sym_TILDE,
    STATE(3591), 1,
      sym_tuple_type,
    STATE(3746), 1,
      sym_simple_identifier,
    STATE(3759), 1,
      sym__simple_user_type,
    STATE(3807), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3771), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4772), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(3775), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4770), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(3741), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [196680] = 17,
    ACTIONS(4774), 1,
      anon_sym_each,
    ACTIONS(4779), 1,
      anon_sym_repeat,
    ACTIONS(4781), 1,
      anon_sym_LPAREN,
    ACTIONS(4783), 1,
      anon_sym_LBRACK,
    ACTIONS(4785), 1,
      anon_sym_some,
    ACTIONS(4787), 1,
      anon_sym_any,
    ACTIONS(4789), 1,
      anon_sym_TILDE,
    STATE(3591), 1,
      sym_tuple_type,
    STATE(3746), 1,
      sym_simple_identifier,
    STATE(3759), 1,
      sym__simple_user_type,
    STATE(3807), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3771), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4772), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(3775), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4770), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(3754), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [196753] = 17,
    ACTIONS(4774), 1,
      anon_sym_each,
    ACTIONS(4779), 1,
      anon_sym_repeat,
    ACTIONS(4781), 1,
      anon_sym_LPAREN,
    ACTIONS(4783), 1,
      anon_sym_LBRACK,
    ACTIONS(4785), 1,
      anon_sym_some,
    ACTIONS(4787), 1,
      anon_sym_any,
    ACTIONS(4789), 1,
      anon_sym_TILDE,
    STATE(3591), 1,
      sym_tuple_type,
    STATE(3746), 1,
      sym_simple_identifier,
    STATE(3759), 1,
      sym__simple_user_type,
    STATE(3807), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3771), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4772), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(3775), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4770), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(3765), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [196826] = 17,
    ACTIONS(4282), 1,
      anon_sym_each,
    ACTIONS(4284), 1,
      anon_sym_repeat,
    ACTIONS(4292), 1,
      anon_sym_some,
    ACTIONS(4294), 1,
      anon_sym_any,
    ACTIONS(4296), 1,
      anon_sym_TILDE,
    ACTIONS(8240), 1,
      anon_sym_LPAREN,
    ACTIONS(8242), 1,
      anon_sym_LBRACK,
    STATE(2019), 1,
      sym_tuple_type,
    STATE(2170), 1,
      sym__simple_user_type,
    STATE(2283), 1,
      sym_simple_identifier,
    STATE(2374), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2358), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4280), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2164), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4278), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2062), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [196899] = 4,
    ACTIONS(8582), 1,
      anon_sym_fallthrough,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8584), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8580), 33,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [196946] = 17,
    ACTIONS(4360), 1,
      anon_sym_each,
    ACTIONS(4365), 1,
      anon_sym_repeat,
    ACTIONS(4367), 1,
      anon_sym_LPAREN,
    ACTIONS(4369), 1,
      anon_sym_LBRACK,
    ACTIONS(4371), 1,
      anon_sym_some,
    ACTIONS(4373), 1,
      anon_sym_any,
    ACTIONS(4375), 1,
      anon_sym_TILDE,
    STATE(2370), 1,
      sym_tuple_type,
    STATE(2655), 1,
      sym__simple_user_type,
    STATE(2680), 1,
      sym_simple_identifier,
    STATE(3688), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3009), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4358), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2983), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4356), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2761), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [197019] = 17,
    ACTIONS(3942), 1,
      anon_sym_each,
    ACTIONS(3944), 1,
      anon_sym_repeat,
    ACTIONS(3952), 1,
      anon_sym_some,
    ACTIONS(3954), 1,
      anon_sym_any,
    ACTIONS(3956), 1,
      anon_sym_TILDE,
    ACTIONS(8256), 1,
      anon_sym_LPAREN,
    ACTIONS(8258), 1,
      anon_sym_LBRACK,
    STATE(1902), 1,
      sym_tuple_type,
    STATE(2008), 1,
      sym__simple_user_type,
    STATE(2083), 1,
      sym_simple_identifier,
    STATE(2136), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2130), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3940), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2018), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3938), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1931), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [197092] = 17,
    ACTIONS(2834), 1,
      anon_sym_each,
    ACTIONS(2839), 1,
      anon_sym_repeat,
    ACTIONS(2847), 1,
      anon_sym_some,
    ACTIONS(2849), 1,
      anon_sym_any,
    ACTIONS(2851), 1,
      anon_sym_TILDE,
    ACTIONS(8268), 1,
      anon_sym_LPAREN,
    ACTIONS(8270), 1,
      anon_sym_LBRACK,
    STATE(1013), 1,
      sym_tuple_type,
    STATE(1047), 1,
      sym__simple_user_type,
    STATE(1068), 1,
      sym_simple_identifier,
    STATE(1099), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1098), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(2832), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1046), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(2830), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1015), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [197165] = 17,
    ACTIONS(3803), 1,
      anon_sym_each,
    ACTIONS(3805), 1,
      anon_sym_repeat,
    ACTIONS(3807), 1,
      anon_sym_LPAREN,
    ACTIONS(3809), 1,
      anon_sym_LBRACK,
    ACTIONS(3811), 1,
      anon_sym_some,
    ACTIONS(3813), 1,
      anon_sym_any,
    ACTIONS(3815), 1,
      anon_sym_TILDE,
    STATE(1716), 1,
      sym_tuple_type,
    STATE(1757), 1,
      sym__simple_user_type,
    STATE(1758), 1,
      sym_simple_identifier,
    STATE(1881), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1806), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3798), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1775), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3796), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1755), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [197238] = 17,
    ACTIONS(2651), 1,
      anon_sym_TILDE,
    ACTIONS(4029), 1,
      anon_sym_each,
    ACTIONS(4031), 1,
      anon_sym_repeat,
    ACTIONS(4033), 1,
      anon_sym_some,
    ACTIONS(4035), 1,
      anon_sym_any,
    ACTIONS(8244), 1,
      anon_sym_LPAREN,
    ACTIONS(8246), 1,
      anon_sym_LBRACK,
    STATE(810), 1,
      sym__simple_user_type,
    STATE(818), 1,
      sym_simple_identifier,
    STATE(839), 1,
      sym__parenthesized_type,
    STATE(1918), 1,
      sym_tuple_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(845), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(811), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(755), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1952), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [197311] = 17,
    ACTIONS(3871), 1,
      anon_sym_each,
    ACTIONS(3873), 1,
      anon_sym_repeat,
    ACTIONS(3881), 1,
      anon_sym_some,
    ACTIONS(3883), 1,
      anon_sym_any,
    ACTIONS(3885), 1,
      anon_sym_TILDE,
    ACTIONS(8272), 1,
      anon_sym_LPAREN,
    ACTIONS(8274), 1,
      anon_sym_LBRACK,
    STATE(1824), 1,
      sym_tuple_type,
    STATE(1953), 1,
      sym__simple_user_type,
    STATE(2001), 1,
      sym_simple_identifier,
    STATE(2037), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2064), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3869), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1956), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3867), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1869), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [197384] = 17,
    ACTIONS(3857), 1,
      anon_sym_LPAREN,
    ACTIONS(3859), 1,
      anon_sym_LBRACK,
    ACTIONS(3865), 1,
      anon_sym_TILDE,
    ACTIONS(7036), 1,
      anon_sym_each,
    ACTIONS(7038), 1,
      anon_sym_repeat,
    ACTIONS(7040), 1,
      anon_sym_some,
    ACTIONS(7042), 1,
      anon_sym_any,
    STATE(1737), 1,
      sym_simple_identifier,
    STATE(1848), 1,
      sym__parenthesized_type,
    STATE(5283), 1,
      sym_tuple_type,
    STATE(5639), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1730), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1772), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3846), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5714), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [197457] = 17,
    ACTIONS(4335), 1,
      anon_sym_each,
    ACTIONS(4340), 1,
      anon_sym_repeat,
    ACTIONS(4342), 1,
      anon_sym_LPAREN,
    ACTIONS(4344), 1,
      anon_sym_LBRACK,
    ACTIONS(4346), 1,
      anon_sym_some,
    ACTIONS(4348), 1,
      anon_sym_any,
    ACTIONS(4350), 1,
      anon_sym_TILDE,
    STATE(2190), 1,
      sym_tuple_type,
    STATE(2343), 1,
      sym_simple_identifier,
    STATE(2352), 1,
      sym__simple_user_type,
    STATE(3038), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2446), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4333), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2575), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4331), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2362), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [197530] = 17,
    ACTIONS(3857), 1,
      anon_sym_LPAREN,
    ACTIONS(3859), 1,
      anon_sym_LBRACK,
    ACTIONS(3865), 1,
      anon_sym_TILDE,
    ACTIONS(7036), 1,
      anon_sym_each,
    ACTIONS(7038), 1,
      anon_sym_repeat,
    ACTIONS(7040), 1,
      anon_sym_some,
    ACTIONS(7042), 1,
      anon_sym_any,
    STATE(1737), 1,
      sym_simple_identifier,
    STATE(1848), 1,
      sym__parenthesized_type,
    STATE(5283), 1,
      sym_tuple_type,
    STATE(5639), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1730), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1772), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3846), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5755), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [197603] = 17,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5310), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [197676] = 4,
    ACTIONS(8588), 1,
      anon_sym_fallthrough,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8590), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8586), 33,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [197723] = 17,
    ACTIONS(4360), 1,
      anon_sym_each,
    ACTIONS(4365), 1,
      anon_sym_repeat,
    ACTIONS(4367), 1,
      anon_sym_LPAREN,
    ACTIONS(4369), 1,
      anon_sym_LBRACK,
    ACTIONS(4371), 1,
      anon_sym_some,
    ACTIONS(4373), 1,
      anon_sym_any,
    ACTIONS(4375), 1,
      anon_sym_TILDE,
    STATE(2370), 1,
      sym_tuple_type,
    STATE(2655), 1,
      sym__simple_user_type,
    STATE(2680), 1,
      sym_simple_identifier,
    STATE(3688), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3009), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4358), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2983), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4356), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2731), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [197796] = 17,
    ACTIONS(3871), 1,
      anon_sym_each,
    ACTIONS(3873), 1,
      anon_sym_repeat,
    ACTIONS(3881), 1,
      anon_sym_some,
    ACTIONS(3883), 1,
      anon_sym_any,
    ACTIONS(3885), 1,
      anon_sym_TILDE,
    ACTIONS(8272), 1,
      anon_sym_LPAREN,
    ACTIONS(8274), 1,
      anon_sym_LBRACK,
    STATE(1824), 1,
      sym_tuple_type,
    STATE(1953), 1,
      sym__simple_user_type,
    STATE(2001), 1,
      sym_simple_identifier,
    STATE(2037), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2064), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3869), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1956), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3867), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1885), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [197869] = 17,
    ACTIONS(4203), 1,
      anon_sym_each,
    ACTIONS(4205), 1,
      anon_sym_repeat,
    ACTIONS(4213), 1,
      anon_sym_some,
    ACTIONS(4215), 1,
      anon_sym_any,
    ACTIONS(4217), 1,
      anon_sym_TILDE,
    ACTIONS(8264), 1,
      anon_sym_LPAREN,
    ACTIONS(8266), 1,
      anon_sym_LBRACK,
    STATE(1966), 1,
      sym_tuple_type,
    STATE(2122), 1,
      sym__simple_user_type,
    STATE(2178), 1,
      sym_simple_identifier,
    STATE(2286), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2241), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4201), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2142), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4199), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2009), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [197942] = 17,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5308), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [198015] = 17,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5216), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [198088] = 17,
    ACTIONS(7231), 1,
      anon_sym_each,
    ACTIONS(7233), 1,
      anon_sym_repeat,
    ACTIONS(7235), 1,
      anon_sym_LPAREN,
    ACTIONS(7237), 1,
      anon_sym_LBRACK,
    ACTIONS(7239), 1,
      anon_sym_some,
    ACTIONS(7241), 1,
      anon_sym_any,
    ACTIONS(7243), 1,
      anon_sym_TILDE,
    STATE(5129), 1,
      sym_tuple_type,
    STATE(5347), 1,
      sym_simple_identifier,
    STATE(5366), 1,
      sym__simple_user_type,
    STATE(5979), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5541), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7229), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5747), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7227), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5353), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [198161] = 17,
    ACTIONS(4360), 1,
      anon_sym_each,
    ACTIONS(4365), 1,
      anon_sym_repeat,
    ACTIONS(4367), 1,
      anon_sym_LPAREN,
    ACTIONS(4369), 1,
      anon_sym_LBRACK,
    ACTIONS(4371), 1,
      anon_sym_some,
    ACTIONS(4373), 1,
      anon_sym_any,
    ACTIONS(4375), 1,
      anon_sym_TILDE,
    STATE(2370), 1,
      sym_tuple_type,
    STATE(2655), 1,
      sym__simple_user_type,
    STATE(2680), 1,
      sym_simple_identifier,
    STATE(3688), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3009), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4358), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2983), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4356), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2732), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [198234] = 17,
    ACTIONS(4360), 1,
      anon_sym_each,
    ACTIONS(4365), 1,
      anon_sym_repeat,
    ACTIONS(4367), 1,
      anon_sym_LPAREN,
    ACTIONS(4369), 1,
      anon_sym_LBRACK,
    ACTIONS(4371), 1,
      anon_sym_some,
    ACTIONS(4373), 1,
      anon_sym_any,
    ACTIONS(4375), 1,
      anon_sym_TILDE,
    STATE(2370), 1,
      sym_tuple_type,
    STATE(2655), 1,
      sym__simple_user_type,
    STATE(2680), 1,
      sym_simple_identifier,
    STATE(3688), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3009), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4358), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2983), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4356), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2755), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [198307] = 17,
    ACTIONS(4282), 1,
      anon_sym_each,
    ACTIONS(4284), 1,
      anon_sym_repeat,
    ACTIONS(4292), 1,
      anon_sym_some,
    ACTIONS(4294), 1,
      anon_sym_any,
    ACTIONS(4296), 1,
      anon_sym_TILDE,
    ACTIONS(8240), 1,
      anon_sym_LPAREN,
    ACTIONS(8242), 1,
      anon_sym_LBRACK,
    STATE(2019), 1,
      sym_tuple_type,
    STATE(2170), 1,
      sym__simple_user_type,
    STATE(2283), 1,
      sym_simple_identifier,
    STATE(2374), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2358), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4280), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2164), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4278), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2069), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [198380] = 17,
    ACTIONS(7699), 1,
      anon_sym_each,
    ACTIONS(7701), 1,
      anon_sym_repeat,
    ACTIONS(7703), 1,
      anon_sym_LPAREN,
    ACTIONS(7705), 1,
      anon_sym_LBRACK,
    ACTIONS(7707), 1,
      anon_sym_some,
    ACTIONS(7709), 1,
      anon_sym_any,
    ACTIONS(7711), 1,
      anon_sym_TILDE,
    STATE(5238), 1,
      sym_tuple_type,
    STATE(5779), 1,
      sym_simple_identifier,
    STATE(5780), 1,
      sym__simple_user_type,
    STATE(6069), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5876), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7697), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5911), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7695), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5776), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [198453] = 17,
    ACTIONS(6818), 1,
      anon_sym_each,
    ACTIONS(6820), 1,
      anon_sym_repeat,
    ACTIONS(6822), 1,
      anon_sym_LPAREN,
    ACTIONS(6824), 1,
      anon_sym_LBRACK,
    ACTIONS(6826), 1,
      anon_sym_some,
    ACTIONS(6828), 1,
      anon_sym_any,
    ACTIONS(6830), 1,
      anon_sym_TILDE,
    STATE(5069), 1,
      sym_tuple_type,
    STATE(5249), 1,
      sym__simple_user_type,
    STATE(5251), 1,
      sym_simple_identifier,
    STATE(5870), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5356), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6816), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5348), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6814), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5325), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [198526] = 17,
    ACTIONS(7231), 1,
      anon_sym_each,
    ACTIONS(7233), 1,
      anon_sym_repeat,
    ACTIONS(7235), 1,
      anon_sym_LPAREN,
    ACTIONS(7237), 1,
      anon_sym_LBRACK,
    ACTIONS(7239), 1,
      anon_sym_some,
    ACTIONS(7241), 1,
      anon_sym_any,
    ACTIONS(7243), 1,
      anon_sym_TILDE,
    STATE(5129), 1,
      sym_tuple_type,
    STATE(5347), 1,
      sym_simple_identifier,
    STATE(5366), 1,
      sym__simple_user_type,
    STATE(5979), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5541), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7229), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5747), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7227), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5351), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [198599] = 17,
    ACTIONS(6818), 1,
      anon_sym_each,
    ACTIONS(6820), 1,
      anon_sym_repeat,
    ACTIONS(6822), 1,
      anon_sym_LPAREN,
    ACTIONS(6824), 1,
      anon_sym_LBRACK,
    ACTIONS(6826), 1,
      anon_sym_some,
    ACTIONS(6828), 1,
      anon_sym_any,
    ACTIONS(6830), 1,
      anon_sym_TILDE,
    STATE(5069), 1,
      sym_tuple_type,
    STATE(5249), 1,
      sym__simple_user_type,
    STATE(5251), 1,
      sym_simple_identifier,
    STATE(5870), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5356), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6816), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5348), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6814), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5318), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [198672] = 17,
    ACTIONS(2637), 1,
      anon_sym_each,
    ACTIONS(2639), 1,
      anon_sym_repeat,
    ACTIONS(2647), 1,
      anon_sym_some,
    ACTIONS(2649), 1,
      anon_sym_any,
    ACTIONS(2651), 1,
      anon_sym_TILDE,
    ACTIONS(8244), 1,
      anon_sym_LPAREN,
    ACTIONS(8246), 1,
      anon_sym_LBRACK,
    STATE(804), 1,
      sym_tuple_type,
    STATE(810), 1,
      sym__simple_user_type,
    STATE(818), 1,
      sym_simple_identifier,
    STATE(839), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(845), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(811), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(755), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(817), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [198745] = 17,
    ACTIONS(2651), 1,
      anon_sym_TILDE,
    ACTIONS(4029), 1,
      anon_sym_each,
    ACTIONS(4031), 1,
      anon_sym_repeat,
    ACTIONS(4033), 1,
      anon_sym_some,
    ACTIONS(4035), 1,
      anon_sym_any,
    ACTIONS(8244), 1,
      anon_sym_LPAREN,
    ACTIONS(8246), 1,
      anon_sym_LBRACK,
    STATE(810), 1,
      sym__simple_user_type,
    STATE(818), 1,
      sym_simple_identifier,
    STATE(839), 1,
      sym__parenthesized_type,
    STATE(1918), 1,
      sym_tuple_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(845), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(811), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(755), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1981), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [198818] = 17,
    ACTIONS(2651), 1,
      anon_sym_TILDE,
    ACTIONS(4029), 1,
      anon_sym_each,
    ACTIONS(4031), 1,
      anon_sym_repeat,
    ACTIONS(4033), 1,
      anon_sym_some,
    ACTIONS(4035), 1,
      anon_sym_any,
    ACTIONS(8244), 1,
      anon_sym_LPAREN,
    ACTIONS(8246), 1,
      anon_sym_LBRACK,
    STATE(810), 1,
      sym__simple_user_type,
    STATE(818), 1,
      sym_simple_identifier,
    STATE(839), 1,
      sym__parenthesized_type,
    STATE(1918), 1,
      sym_tuple_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(845), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(811), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(755), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1980), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [198891] = 17,
    ACTIONS(3807), 1,
      anon_sym_LPAREN,
    ACTIONS(3809), 1,
      anon_sym_LBRACK,
    ACTIONS(3815), 1,
      anon_sym_TILDE,
    ACTIONS(7687), 1,
      anon_sym_each,
    ACTIONS(7689), 1,
      anon_sym_repeat,
    ACTIONS(7691), 1,
      anon_sym_some,
    ACTIONS(7693), 1,
      anon_sym_any,
    STATE(1757), 1,
      sym__simple_user_type,
    STATE(1758), 1,
      sym_simple_identifier,
    STATE(1881), 1,
      sym__parenthesized_type,
    STATE(5217), 1,
      sym_tuple_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1806), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3798), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1775), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3796), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5539), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [198964] = 17,
    ACTIONS(7231), 1,
      anon_sym_each,
    ACTIONS(7233), 1,
      anon_sym_repeat,
    ACTIONS(7235), 1,
      anon_sym_LPAREN,
    ACTIONS(7237), 1,
      anon_sym_LBRACK,
    ACTIONS(7239), 1,
      anon_sym_some,
    ACTIONS(7241), 1,
      anon_sym_any,
    ACTIONS(7243), 1,
      anon_sym_TILDE,
    STATE(5129), 1,
      sym_tuple_type,
    STATE(5347), 1,
      sym_simple_identifier,
    STATE(5366), 1,
      sym__simple_user_type,
    STATE(5979), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5541), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7229), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5747), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7227), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5350), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [199037] = 17,
    ACTIONS(5921), 1,
      anon_sym_each,
    ACTIONS(5923), 1,
      anon_sym_repeat,
    ACTIONS(5925), 1,
      anon_sym_LPAREN,
    ACTIONS(5927), 1,
      anon_sym_LBRACK,
    ACTIONS(5929), 1,
      anon_sym_some,
    ACTIONS(5931), 1,
      anon_sym_any,
    ACTIONS(5933), 1,
      anon_sym_TILDE,
    STATE(4967), 1,
      sym_tuple_type,
    STATE(4996), 1,
      sym__simple_user_type,
    STATE(5011), 1,
      sym_simple_identifier,
    STATE(5191), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5013), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(5919), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5021), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(5917), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4995), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [199110] = 17,
    ACTIONS(6763), 1,
      anon_sym_each,
    ACTIONS(6765), 1,
      anon_sym_repeat,
    ACTIONS(6767), 1,
      anon_sym_LPAREN,
    ACTIONS(6769), 1,
      anon_sym_LBRACK,
    ACTIONS(6771), 1,
      anon_sym_some,
    ACTIONS(6773), 1,
      anon_sym_any,
    ACTIONS(6775), 1,
      anon_sym_TILDE,
    STATE(5082), 1,
      sym_tuple_type,
    STATE(5222), 1,
      sym__simple_user_type,
    STATE(5223), 1,
      sym_simple_identifier,
    STATE(5858), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5331), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6761), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5452), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6759), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5261), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [199183] = 17,
    ACTIONS(7231), 1,
      anon_sym_each,
    ACTIONS(7233), 1,
      anon_sym_repeat,
    ACTIONS(7235), 1,
      anon_sym_LPAREN,
    ACTIONS(7237), 1,
      anon_sym_LBRACK,
    ACTIONS(7239), 1,
      anon_sym_some,
    ACTIONS(7241), 1,
      anon_sym_any,
    ACTIONS(7243), 1,
      anon_sym_TILDE,
    STATE(5129), 1,
      sym_tuple_type,
    STATE(5347), 1,
      sym_simple_identifier,
    STATE(5366), 1,
      sym__simple_user_type,
    STATE(5979), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5541), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7229), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5747), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7227), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5357), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [199256] = 17,
    ACTIONS(3871), 1,
      anon_sym_each,
    ACTIONS(3873), 1,
      anon_sym_repeat,
    ACTIONS(3881), 1,
      anon_sym_some,
    ACTIONS(3883), 1,
      anon_sym_any,
    ACTIONS(3885), 1,
      anon_sym_TILDE,
    ACTIONS(8272), 1,
      anon_sym_LPAREN,
    ACTIONS(8274), 1,
      anon_sym_LBRACK,
    STATE(1824), 1,
      sym_tuple_type,
    STATE(1953), 1,
      sym__simple_user_type,
    STATE(2001), 1,
      sym_simple_identifier,
    STATE(2037), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2064), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3869), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1956), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3867), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1882), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [199329] = 17,
    ACTIONS(3773), 1,
      anon_sym_LPAREN,
    ACTIONS(3775), 1,
      anon_sym_LBRACK,
    ACTIONS(3781), 1,
      anon_sym_TILDE,
    ACTIONS(6787), 1,
      anon_sym_each,
    ACTIONS(6789), 1,
      anon_sym_repeat,
    ACTIONS(6791), 1,
      anon_sym_some,
    ACTIONS(6793), 1,
      anon_sym_any,
    STATE(1712), 1,
      sym__simple_user_type,
    STATE(1719), 1,
      sym_simple_identifier,
    STATE(1804), 1,
      sym__parenthesized_type,
    STATE(5063), 1,
      sym_tuple_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1734), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3764), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1743), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3762), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5211), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [199402] = 17,
    ACTIONS(3803), 1,
      anon_sym_each,
    ACTIONS(3805), 1,
      anon_sym_repeat,
    ACTIONS(3807), 1,
      anon_sym_LPAREN,
    ACTIONS(3809), 1,
      anon_sym_LBRACK,
    ACTIONS(3811), 1,
      anon_sym_some,
    ACTIONS(3813), 1,
      anon_sym_any,
    ACTIONS(3815), 1,
      anon_sym_TILDE,
    STATE(1716), 1,
      sym_tuple_type,
    STATE(1757), 1,
      sym__simple_user_type,
    STATE(1758), 1,
      sym_simple_identifier,
    STATE(1881), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1806), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3798), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1775), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3796), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1761), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [199475] = 17,
    ACTIONS(3803), 1,
      anon_sym_each,
    ACTIONS(3805), 1,
      anon_sym_repeat,
    ACTIONS(3807), 1,
      anon_sym_LPAREN,
    ACTIONS(3809), 1,
      anon_sym_LBRACK,
    ACTIONS(3811), 1,
      anon_sym_some,
    ACTIONS(3813), 1,
      anon_sym_any,
    ACTIONS(3815), 1,
      anon_sym_TILDE,
    STATE(1716), 1,
      sym_tuple_type,
    STATE(1757), 1,
      sym__simple_user_type,
    STATE(1758), 1,
      sym_simple_identifier,
    STATE(1881), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1806), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3798), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1775), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3796), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1747), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [199548] = 17,
    ACTIONS(6300), 1,
      anon_sym_each,
    ACTIONS(6302), 1,
      anon_sym_repeat,
    ACTIONS(6304), 1,
      anon_sym_LPAREN,
    ACTIONS(6306), 1,
      anon_sym_LBRACK,
    ACTIONS(6308), 1,
      anon_sym_some,
    ACTIONS(6310), 1,
      anon_sym_any,
    ACTIONS(6312), 1,
      anon_sym_TILDE,
    STATE(5009), 1,
      sym_tuple_type,
    STATE(5100), 1,
      sym__simple_user_type,
    STATE(5104), 1,
      sym_simple_identifier,
    STATE(5491), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5151), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6298), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5140), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6296), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5719), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [199621] = 17,
    ACTIONS(4203), 1,
      anon_sym_each,
    ACTIONS(4205), 1,
      anon_sym_repeat,
    ACTIONS(4213), 1,
      anon_sym_some,
    ACTIONS(4215), 1,
      anon_sym_any,
    ACTIONS(4217), 1,
      anon_sym_TILDE,
    ACTIONS(8264), 1,
      anon_sym_LPAREN,
    ACTIONS(8266), 1,
      anon_sym_LBRACK,
    STATE(1966), 1,
      sym_tuple_type,
    STATE(2122), 1,
      sym__simple_user_type,
    STATE(2178), 1,
      sym_simple_identifier,
    STATE(2286), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2241), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4201), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2142), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4199), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2016), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [199694] = 17,
    ACTIONS(6300), 1,
      anon_sym_each,
    ACTIONS(6302), 1,
      anon_sym_repeat,
    ACTIONS(6304), 1,
      anon_sym_LPAREN,
    ACTIONS(6306), 1,
      anon_sym_LBRACK,
    ACTIONS(6308), 1,
      anon_sym_some,
    ACTIONS(6310), 1,
      anon_sym_any,
    ACTIONS(6312), 1,
      anon_sym_TILDE,
    STATE(5009), 1,
      sym_tuple_type,
    STATE(5100), 1,
      sym__simple_user_type,
    STATE(5104), 1,
      sym_simple_identifier,
    STATE(5491), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5151), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6298), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5140), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6296), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5102), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [199767] = 17,
    ACTIONS(4203), 1,
      anon_sym_each,
    ACTIONS(4205), 1,
      anon_sym_repeat,
    ACTIONS(4213), 1,
      anon_sym_some,
    ACTIONS(4215), 1,
      anon_sym_any,
    ACTIONS(4217), 1,
      anon_sym_TILDE,
    ACTIONS(8264), 1,
      anon_sym_LPAREN,
    ACTIONS(8266), 1,
      anon_sym_LBRACK,
    STATE(1966), 1,
      sym_tuple_type,
    STATE(2122), 1,
      sym__simple_user_type,
    STATE(2178), 1,
      sym_simple_identifier,
    STATE(2286), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2241), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4201), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2142), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4199), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1985), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [199840] = 17,
    ACTIONS(4203), 1,
      anon_sym_each,
    ACTIONS(4205), 1,
      anon_sym_repeat,
    ACTIONS(4213), 1,
      anon_sym_some,
    ACTIONS(4215), 1,
      anon_sym_any,
    ACTIONS(4217), 1,
      anon_sym_TILDE,
    ACTIONS(8264), 1,
      anon_sym_LPAREN,
    ACTIONS(8266), 1,
      anon_sym_LBRACK,
    STATE(1966), 1,
      sym_tuple_type,
    STATE(2122), 1,
      sym__simple_user_type,
    STATE(2178), 1,
      sym_simple_identifier,
    STATE(2286), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2241), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4201), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2142), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4199), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2010), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [199913] = 17,
    ACTIONS(7717), 1,
      anon_sym_each,
    ACTIONS(7719), 1,
      anon_sym_repeat,
    ACTIONS(7721), 1,
      anon_sym_LPAREN,
    ACTIONS(7723), 1,
      anon_sym_LBRACK,
    ACTIONS(7725), 1,
      anon_sym_some,
    ACTIONS(7727), 1,
      anon_sym_any,
    ACTIONS(7729), 1,
      anon_sym_TILDE,
    STATE(5292), 1,
      sym_tuple_type,
    STATE(5447), 1,
      sym_simple_identifier,
    STATE(5480), 1,
      sym__simple_user_type,
    STATE(5925), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5720), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7715), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5633), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7713), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5777), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [199986] = 17,
    ACTIONS(4183), 1,
      anon_sym_each,
    ACTIONS(4185), 1,
      anon_sym_repeat,
    ACTIONS(4193), 1,
      anon_sym_some,
    ACTIONS(4195), 1,
      anon_sym_any,
    ACTIONS(4197), 1,
      anon_sym_TILDE,
    ACTIONS(8260), 1,
      anon_sym_LPAREN,
    ACTIONS(8262), 1,
      anon_sym_LBRACK,
    STATE(1955), 1,
      sym_tuple_type,
    STATE(2116), 1,
      sym__simple_user_type,
    STATE(2200), 1,
      sym_simple_identifier,
    STATE(2232), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2244), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4181), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2131), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4179), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2002), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [200059] = 17,
    ACTIONS(4183), 1,
      anon_sym_each,
    ACTIONS(4185), 1,
      anon_sym_repeat,
    ACTIONS(4193), 1,
      anon_sym_some,
    ACTIONS(4195), 1,
      anon_sym_any,
    ACTIONS(4197), 1,
      anon_sym_TILDE,
    ACTIONS(8260), 1,
      anon_sym_LPAREN,
    ACTIONS(8262), 1,
      anon_sym_LBRACK,
    STATE(1955), 1,
      sym_tuple_type,
    STATE(2116), 1,
      sym__simple_user_type,
    STATE(2200), 1,
      sym_simple_identifier,
    STATE(2232), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2244), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4181), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2131), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4179), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2000), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [200132] = 17,
    ACTIONS(4183), 1,
      anon_sym_each,
    ACTIONS(4185), 1,
      anon_sym_repeat,
    ACTIONS(4193), 1,
      anon_sym_some,
    ACTIONS(4195), 1,
      anon_sym_any,
    ACTIONS(4197), 1,
      anon_sym_TILDE,
    ACTIONS(8260), 1,
      anon_sym_LPAREN,
    ACTIONS(8262), 1,
      anon_sym_LBRACK,
    STATE(1955), 1,
      sym_tuple_type,
    STATE(2116), 1,
      sym__simple_user_type,
    STATE(2200), 1,
      sym_simple_identifier,
    STATE(2232), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2244), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4181), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2131), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4179), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1992), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [200205] = 4,
    ACTIONS(8594), 1,
      anon_sym_fallthrough,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8596), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8592), 33,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [200252] = 17,
    ACTIONS(6047), 1,
      anon_sym_each,
    ACTIONS(6049), 1,
      anon_sym_repeat,
    ACTIONS(6051), 1,
      anon_sym_LPAREN,
    ACTIONS(6053), 1,
      anon_sym_LBRACK,
    ACTIONS(6055), 1,
      anon_sym_some,
    ACTIONS(6057), 1,
      anon_sym_any,
    ACTIONS(6059), 1,
      anon_sym_TILDE,
    STATE(4980), 1,
      sym_tuple_type,
    STATE(5041), 1,
      sym_simple_identifier,
    STATE(5059), 1,
      sym__simple_user_type,
    STATE(5269), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5098), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6045), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5089), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6043), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5056), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [200325] = 17,
    ACTIONS(3942), 1,
      anon_sym_each,
    ACTIONS(3944), 1,
      anon_sym_repeat,
    ACTIONS(3952), 1,
      anon_sym_some,
    ACTIONS(3954), 1,
      anon_sym_any,
    ACTIONS(3956), 1,
      anon_sym_TILDE,
    ACTIONS(8256), 1,
      anon_sym_LPAREN,
    ACTIONS(8258), 1,
      anon_sym_LBRACK,
    STATE(1902), 1,
      sym_tuple_type,
    STATE(2008), 1,
      sym__simple_user_type,
    STATE(2083), 1,
      sym_simple_identifier,
    STATE(2136), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2130), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3940), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2018), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3938), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1944), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [200398] = 17,
    ACTIONS(6047), 1,
      anon_sym_each,
    ACTIONS(6049), 1,
      anon_sym_repeat,
    ACTIONS(6051), 1,
      anon_sym_LPAREN,
    ACTIONS(6053), 1,
      anon_sym_LBRACK,
    ACTIONS(6055), 1,
      anon_sym_some,
    ACTIONS(6057), 1,
      anon_sym_any,
    ACTIONS(6059), 1,
      anon_sym_TILDE,
    STATE(4980), 1,
      sym_tuple_type,
    STATE(5041), 1,
      sym_simple_identifier,
    STATE(5059), 1,
      sym__simple_user_type,
    STATE(5269), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5098), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6045), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5089), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6043), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5047), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [200471] = 17,
    ACTIONS(7721), 1,
      anon_sym_LPAREN,
    ACTIONS(7723), 1,
      anon_sym_LBRACK,
    ACTIONS(7729), 1,
      anon_sym_TILDE,
    ACTIONS(7742), 1,
      anon_sym_each,
    ACTIONS(7744), 1,
      anon_sym_repeat,
    ACTIONS(7746), 1,
      anon_sym_some,
    ACTIONS(7748), 1,
      anon_sym_any,
    STATE(5379), 1,
      sym_tuple_type,
    STATE(5447), 1,
      sym_simple_identifier,
    STATE(5480), 1,
      sym__simple_user_type,
    STATE(5925), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5720), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7715), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5633), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7713), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5872), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [200544] = 17,
    ACTIONS(3769), 1,
      anon_sym_each,
    ACTIONS(3771), 1,
      anon_sym_repeat,
    ACTIONS(3773), 1,
      anon_sym_LPAREN,
    ACTIONS(3775), 1,
      anon_sym_LBRACK,
    ACTIONS(3777), 1,
      anon_sym_some,
    ACTIONS(3779), 1,
      anon_sym_any,
    ACTIONS(3781), 1,
      anon_sym_TILDE,
    STATE(1705), 1,
      sym_tuple_type,
    STATE(1712), 1,
      sym__simple_user_type,
    STATE(1719), 1,
      sym_simple_identifier,
    STATE(1804), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1734), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3764), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1743), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3762), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1722), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [200617] = 17,
    ACTIONS(2637), 1,
      anon_sym_each,
    ACTIONS(2639), 1,
      anon_sym_repeat,
    ACTIONS(2647), 1,
      anon_sym_some,
    ACTIONS(2649), 1,
      anon_sym_any,
    ACTIONS(2651), 1,
      anon_sym_TILDE,
    ACTIONS(8244), 1,
      anon_sym_LPAREN,
    ACTIONS(8246), 1,
      anon_sym_LBRACK,
    STATE(804), 1,
      sym_tuple_type,
    STATE(810), 1,
      sym__simple_user_type,
    STATE(818), 1,
      sym_simple_identifier,
    STATE(839), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(845), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(811), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(755), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(813), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [200690] = 17,
    ACTIONS(3769), 1,
      anon_sym_each,
    ACTIONS(3771), 1,
      anon_sym_repeat,
    ACTIONS(3773), 1,
      anon_sym_LPAREN,
    ACTIONS(3775), 1,
      anon_sym_LBRACK,
    ACTIONS(3777), 1,
      anon_sym_some,
    ACTIONS(3779), 1,
      anon_sym_any,
    ACTIONS(3781), 1,
      anon_sym_TILDE,
    STATE(1705), 1,
      sym_tuple_type,
    STATE(1712), 1,
      sym__simple_user_type,
    STATE(1719), 1,
      sym_simple_identifier,
    STATE(1804), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1734), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3764), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1743), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3762), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1715), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [200763] = 17,
    ACTIONS(6818), 1,
      anon_sym_each,
    ACTIONS(6820), 1,
      anon_sym_repeat,
    ACTIONS(6822), 1,
      anon_sym_LPAREN,
    ACTIONS(6824), 1,
      anon_sym_LBRACK,
    ACTIONS(6826), 1,
      anon_sym_some,
    ACTIONS(6828), 1,
      anon_sym_any,
    ACTIONS(6830), 1,
      anon_sym_TILDE,
    STATE(5069), 1,
      sym_tuple_type,
    STATE(5249), 1,
      sym__simple_user_type,
    STATE(5251), 1,
      sym_simple_identifier,
    STATE(5870), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5356), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6816), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5348), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6814), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5311), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [200836] = 17,
    ACTIONS(3769), 1,
      anon_sym_each,
    ACTIONS(3771), 1,
      anon_sym_repeat,
    ACTIONS(3773), 1,
      anon_sym_LPAREN,
    ACTIONS(3775), 1,
      anon_sym_LBRACK,
    ACTIONS(3777), 1,
      anon_sym_some,
    ACTIONS(3779), 1,
      anon_sym_any,
    ACTIONS(3781), 1,
      anon_sym_TILDE,
    STATE(1705), 1,
      sym_tuple_type,
    STATE(1712), 1,
      sym__simple_user_type,
    STATE(1719), 1,
      sym_simple_identifier,
    STATE(1804), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1734), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3764), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1743), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3762), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1725), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [200909] = 17,
    ACTIONS(2637), 1,
      anon_sym_each,
    ACTIONS(2639), 1,
      anon_sym_repeat,
    ACTIONS(2647), 1,
      anon_sym_some,
    ACTIONS(2649), 1,
      anon_sym_any,
    ACTIONS(2651), 1,
      anon_sym_TILDE,
    ACTIONS(8244), 1,
      anon_sym_LPAREN,
    ACTIONS(8246), 1,
      anon_sym_LBRACK,
    STATE(804), 1,
      sym_tuple_type,
    STATE(810), 1,
      sym__simple_user_type,
    STATE(818), 1,
      sym_simple_identifier,
    STATE(839), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(845), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(811), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(755), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(814), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [200982] = 17,
    ACTIONS(3773), 1,
      anon_sym_LPAREN,
    ACTIONS(3775), 1,
      anon_sym_LBRACK,
    ACTIONS(3781), 1,
      anon_sym_TILDE,
    ACTIONS(6787), 1,
      anon_sym_each,
    ACTIONS(6789), 1,
      anon_sym_repeat,
    ACTIONS(6791), 1,
      anon_sym_some,
    ACTIONS(6793), 1,
      anon_sym_any,
    STATE(1712), 1,
      sym__simple_user_type,
    STATE(1719), 1,
      sym_simple_identifier,
    STATE(1804), 1,
      sym__parenthesized_type,
    STATE(5063), 1,
      sym_tuple_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1734), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3764), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1743), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3762), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5219), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [201055] = 17,
    ACTIONS(6047), 1,
      anon_sym_each,
    ACTIONS(6049), 1,
      anon_sym_repeat,
    ACTIONS(6051), 1,
      anon_sym_LPAREN,
    ACTIONS(6053), 1,
      anon_sym_LBRACK,
    ACTIONS(6055), 1,
      anon_sym_some,
    ACTIONS(6057), 1,
      anon_sym_any,
    ACTIONS(6059), 1,
      anon_sym_TILDE,
    STATE(4980), 1,
      sym_tuple_type,
    STATE(5041), 1,
      sym_simple_identifier,
    STATE(5059), 1,
      sym__simple_user_type,
    STATE(5269), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5098), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6045), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5089), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6043), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5046), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [201128] = 17,
    ACTIONS(3773), 1,
      anon_sym_LPAREN,
    ACTIONS(3775), 1,
      anon_sym_LBRACK,
    ACTIONS(3781), 1,
      anon_sym_TILDE,
    ACTIONS(6787), 1,
      anon_sym_each,
    ACTIONS(6789), 1,
      anon_sym_repeat,
    ACTIONS(6791), 1,
      anon_sym_some,
    ACTIONS(6793), 1,
      anon_sym_any,
    STATE(1712), 1,
      sym__simple_user_type,
    STATE(1719), 1,
      sym_simple_identifier,
    STATE(1804), 1,
      sym__parenthesized_type,
    STATE(5063), 1,
      sym_tuple_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1734), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3764), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1743), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3762), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5218), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [201201] = 17,
    ACTIONS(3769), 1,
      anon_sym_each,
    ACTIONS(3771), 1,
      anon_sym_repeat,
    ACTIONS(3773), 1,
      anon_sym_LPAREN,
    ACTIONS(3775), 1,
      anon_sym_LBRACK,
    ACTIONS(3777), 1,
      anon_sym_some,
    ACTIONS(3779), 1,
      anon_sym_any,
    ACTIONS(3781), 1,
      anon_sym_TILDE,
    STATE(1705), 1,
      sym_tuple_type,
    STATE(1712), 1,
      sym__simple_user_type,
    STATE(1719), 1,
      sym_simple_identifier,
    STATE(1804), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1734), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3764), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1743), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3762), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1710), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [201274] = 17,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(7788), 1,
      anon_sym_each,
    ACTIONS(7790), 1,
      anon_sym_repeat,
    ACTIONS(7792), 1,
      anon_sym_some,
    ACTIONS(7794), 1,
      anon_sym_any,
    ACTIONS(7796), 1,
      anon_sym_TILDE,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(5722), 1,
      sym_tuple_type,
    STATE(5990), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5956), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [201347] = 4,
    ACTIONS(8600), 1,
      anon_sym_fallthrough,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8602), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8598), 33,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [201394] = 17,
    ACTIONS(6441), 1,
      anon_sym_each,
    ACTIONS(6443), 1,
      anon_sym_repeat,
    ACTIONS(6445), 1,
      anon_sym_LPAREN,
    ACTIONS(6447), 1,
      anon_sym_LBRACK,
    ACTIONS(6449), 1,
      anon_sym_some,
    ACTIONS(6451), 1,
      anon_sym_any,
    ACTIONS(6453), 1,
      anon_sym_TILDE,
    STATE(5051), 1,
      sym_tuple_type,
    STATE(5141), 1,
      sym_simple_identifier,
    STATE(5187), 1,
      sym__simple_user_type,
    STATE(5753), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5241), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6439), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5224), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6437), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5192), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [201467] = 17,
    ACTIONS(6666), 1,
      anon_sym_each,
    ACTIONS(6668), 1,
      anon_sym_repeat,
    ACTIONS(6670), 1,
      anon_sym_LPAREN,
    ACTIONS(6672), 1,
      anon_sym_LBRACK,
    ACTIONS(6674), 1,
      anon_sym_some,
    ACTIONS(6676), 1,
      anon_sym_any,
    ACTIONS(6678), 1,
      anon_sym_TILDE,
    STATE(5090), 1,
      sym_tuple_type,
    STATE(5274), 1,
      sym_simple_identifier,
    STATE(5315), 1,
      sym__simple_user_type,
    STATE(5839), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5429), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6664), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5481), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6662), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5324), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [201540] = 17,
    ACTIONS(3803), 1,
      anon_sym_each,
    ACTIONS(3805), 1,
      anon_sym_repeat,
    ACTIONS(3807), 1,
      anon_sym_LPAREN,
    ACTIONS(3809), 1,
      anon_sym_LBRACK,
    ACTIONS(3811), 1,
      anon_sym_some,
    ACTIONS(3813), 1,
      anon_sym_any,
    ACTIONS(3815), 1,
      anon_sym_TILDE,
    STATE(1716), 1,
      sym_tuple_type,
    STATE(1757), 1,
      sym__simple_user_type,
    STATE(1758), 1,
      sym_simple_identifier,
    STATE(1881), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1806), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3798), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1775), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3796), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1751), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [201613] = 17,
    ACTIONS(6441), 1,
      anon_sym_each,
    ACTIONS(6443), 1,
      anon_sym_repeat,
    ACTIONS(6445), 1,
      anon_sym_LPAREN,
    ACTIONS(6447), 1,
      anon_sym_LBRACK,
    ACTIONS(6449), 1,
      anon_sym_some,
    ACTIONS(6451), 1,
      anon_sym_any,
    ACTIONS(6453), 1,
      anon_sym_TILDE,
    STATE(5051), 1,
      sym_tuple_type,
    STATE(5141), 1,
      sym_simple_identifier,
    STATE(5187), 1,
      sym__simple_user_type,
    STATE(5753), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5241), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6439), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5224), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6437), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5189), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [201686] = 17,
    ACTIONS(6441), 1,
      anon_sym_each,
    ACTIONS(6443), 1,
      anon_sym_repeat,
    ACTIONS(6445), 1,
      anon_sym_LPAREN,
    ACTIONS(6447), 1,
      anon_sym_LBRACK,
    ACTIONS(6449), 1,
      anon_sym_some,
    ACTIONS(6451), 1,
      anon_sym_any,
    ACTIONS(6453), 1,
      anon_sym_TILDE,
    STATE(5051), 1,
      sym_tuple_type,
    STATE(5141), 1,
      sym_simple_identifier,
    STATE(5187), 1,
      sym__simple_user_type,
    STATE(5753), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5241), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6439), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5224), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6437), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5190), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [201759] = 17,
    ACTIONS(4282), 1,
      anon_sym_each,
    ACTIONS(4284), 1,
      anon_sym_repeat,
    ACTIONS(4292), 1,
      anon_sym_some,
    ACTIONS(4294), 1,
      anon_sym_any,
    ACTIONS(4296), 1,
      anon_sym_TILDE,
    ACTIONS(8240), 1,
      anon_sym_LPAREN,
    ACTIONS(8242), 1,
      anon_sym_LBRACK,
    STATE(2019), 1,
      sym_tuple_type,
    STATE(2170), 1,
      sym__simple_user_type,
    STATE(2283), 1,
      sym_simple_identifier,
    STATE(2374), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2358), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4280), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2164), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4278), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2056), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [201832] = 17,
    ACTIONS(771), 1,
      anon_sym_some,
    ACTIONS(773), 1,
      anon_sym_any,
    ACTIONS(6749), 1,
      anon_sym_each,
    ACTIONS(6751), 1,
      anon_sym_repeat,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(6757), 1,
      anon_sym_TILDE,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5106), 1,
      sym_tuple_type,
    STATE(5209), 1,
      sym__simple_user_type,
    STATE(5521), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5212), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [201905] = 17,
    ACTIONS(3807), 1,
      anon_sym_LPAREN,
    ACTIONS(3809), 1,
      anon_sym_LBRACK,
    ACTIONS(3815), 1,
      anon_sym_TILDE,
    ACTIONS(7687), 1,
      anon_sym_each,
    ACTIONS(7689), 1,
      anon_sym_repeat,
    ACTIONS(7691), 1,
      anon_sym_some,
    ACTIONS(7693), 1,
      anon_sym_any,
    STATE(1757), 1,
      sym__simple_user_type,
    STATE(1758), 1,
      sym_simple_identifier,
    STATE(1881), 1,
      sym__parenthesized_type,
    STATE(5217), 1,
      sym_tuple_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1806), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3798), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1775), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3796), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5588), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [201978] = 17,
    ACTIONS(6441), 1,
      anon_sym_each,
    ACTIONS(6443), 1,
      anon_sym_repeat,
    ACTIONS(6445), 1,
      anon_sym_LPAREN,
    ACTIONS(6447), 1,
      anon_sym_LBRACK,
    ACTIONS(6449), 1,
      anon_sym_some,
    ACTIONS(6451), 1,
      anon_sym_any,
    ACTIONS(6453), 1,
      anon_sym_TILDE,
    STATE(5051), 1,
      sym_tuple_type,
    STATE(5141), 1,
      sym_simple_identifier,
    STATE(5187), 1,
      sym__simple_user_type,
    STATE(5753), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5241), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6439), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5224), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6437), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5198), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [202051] = 17,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5294), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [202124] = 17,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(7788), 1,
      anon_sym_each,
    ACTIONS(7790), 1,
      anon_sym_repeat,
    ACTIONS(7792), 1,
      anon_sym_some,
    ACTIONS(7794), 1,
      anon_sym_any,
    ACTIONS(7796), 1,
      anon_sym_TILDE,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(5722), 1,
      sym_tuple_type,
    STATE(5990), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5969), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [202197] = 17,
    ACTIONS(2637), 1,
      anon_sym_each,
    ACTIONS(2639), 1,
      anon_sym_repeat,
    ACTIONS(2647), 1,
      anon_sym_some,
    ACTIONS(2649), 1,
      anon_sym_any,
    ACTIONS(2651), 1,
      anon_sym_TILDE,
    ACTIONS(8244), 1,
      anon_sym_LPAREN,
    ACTIONS(8246), 1,
      anon_sym_LBRACK,
    STATE(804), 1,
      sym_tuple_type,
    STATE(810), 1,
      sym__simple_user_type,
    STATE(818), 1,
      sym_simple_identifier,
    STATE(839), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(845), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(811), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(755), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(812), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [202270] = 17,
    ACTIONS(3894), 1,
      anon_sym_each,
    ACTIONS(3896), 1,
      anon_sym_repeat,
    ACTIONS(3898), 1,
      anon_sym_LPAREN,
    ACTIONS(3900), 1,
      anon_sym_LBRACK,
    ACTIONS(3902), 1,
      anon_sym_some,
    ACTIONS(3904), 1,
      anon_sym_any,
    ACTIONS(3906), 1,
      anon_sym_TILDE,
    STATE(1744), 1,
      sym_tuple_type,
    STATE(1837), 1,
      sym__simple_user_type,
    STATE(1845), 1,
      sym_simple_identifier,
    STATE(1973), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1905), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3889), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1908), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3887), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1822), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [202343] = 17,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(7788), 1,
      anon_sym_each,
    ACTIONS(7790), 1,
      anon_sym_repeat,
    ACTIONS(7792), 1,
      anon_sym_some,
    ACTIONS(7794), 1,
      anon_sym_any,
    ACTIONS(7796), 1,
      anon_sym_TILDE,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(5722), 1,
      sym_tuple_type,
    STATE(5990), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5960), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [202416] = 17,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5204), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [202489] = 17,
    ACTIONS(3942), 1,
      anon_sym_each,
    ACTIONS(3944), 1,
      anon_sym_repeat,
    ACTIONS(3952), 1,
      anon_sym_some,
    ACTIONS(3954), 1,
      anon_sym_any,
    ACTIONS(3956), 1,
      anon_sym_TILDE,
    ACTIONS(8256), 1,
      anon_sym_LPAREN,
    ACTIONS(8258), 1,
      anon_sym_LBRACK,
    STATE(1902), 1,
      sym_tuple_type,
    STATE(2008), 1,
      sym__simple_user_type,
    STATE(2083), 1,
      sym_simple_identifier,
    STATE(2136), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2130), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3940), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2018), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3938), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1940), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [202562] = 17,
    ACTIONS(3894), 1,
      anon_sym_each,
    ACTIONS(3896), 1,
      anon_sym_repeat,
    ACTIONS(3898), 1,
      anon_sym_LPAREN,
    ACTIONS(3900), 1,
      anon_sym_LBRACK,
    ACTIONS(3902), 1,
      anon_sym_some,
    ACTIONS(3904), 1,
      anon_sym_any,
    ACTIONS(3906), 1,
      anon_sym_TILDE,
    STATE(1744), 1,
      sym_tuple_type,
    STATE(1837), 1,
      sym__simple_user_type,
    STATE(1845), 1,
      sym_simple_identifier,
    STATE(1973), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1905), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3889), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1908), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3887), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1828), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [202635] = 17,
    ACTIONS(7721), 1,
      anon_sym_LPAREN,
    ACTIONS(7723), 1,
      anon_sym_LBRACK,
    ACTIONS(7729), 1,
      anon_sym_TILDE,
    ACTIONS(7742), 1,
      anon_sym_each,
    ACTIONS(7744), 1,
      anon_sym_repeat,
    ACTIONS(7746), 1,
      anon_sym_some,
    ACTIONS(7748), 1,
      anon_sym_any,
    STATE(5379), 1,
      sym_tuple_type,
    STATE(5447), 1,
      sym_simple_identifier,
    STATE(5480), 1,
      sym__simple_user_type,
    STATE(5925), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5720), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7715), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5633), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7713), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5883), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [202708] = 17,
    ACTIONS(7721), 1,
      anon_sym_LPAREN,
    ACTIONS(7723), 1,
      anon_sym_LBRACK,
    ACTIONS(7729), 1,
      anon_sym_TILDE,
    ACTIONS(7742), 1,
      anon_sym_each,
    ACTIONS(7744), 1,
      anon_sym_repeat,
    ACTIONS(7746), 1,
      anon_sym_some,
    ACTIONS(7748), 1,
      anon_sym_any,
    STATE(5379), 1,
      sym_tuple_type,
    STATE(5447), 1,
      sym_simple_identifier,
    STATE(5480), 1,
      sym__simple_user_type,
    STATE(5925), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5720), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7715), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5633), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7713), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5897), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [202781] = 17,
    ACTIONS(3894), 1,
      anon_sym_each,
    ACTIONS(3896), 1,
      anon_sym_repeat,
    ACTIONS(3898), 1,
      anon_sym_LPAREN,
    ACTIONS(3900), 1,
      anon_sym_LBRACK,
    ACTIONS(3902), 1,
      anon_sym_some,
    ACTIONS(3904), 1,
      anon_sym_any,
    ACTIONS(3906), 1,
      anon_sym_TILDE,
    STATE(1744), 1,
      sym_tuple_type,
    STATE(1837), 1,
      sym__simple_user_type,
    STATE(1845), 1,
      sym_simple_identifier,
    STATE(1973), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1905), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3889), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1908), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3887), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1830), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [202854] = 17,
    ACTIONS(7099), 1,
      anon_sym_each,
    ACTIONS(7101), 1,
      anon_sym_repeat,
    ACTIONS(7103), 1,
      anon_sym_LPAREN,
    ACTIONS(7105), 1,
      anon_sym_LBRACK,
    ACTIONS(7107), 1,
      anon_sym_some,
    ACTIONS(7109), 1,
      anon_sym_any,
    ACTIONS(7111), 1,
      anon_sym_TILDE,
    STATE(5183), 1,
      sym_tuple_type,
    STATE(5361), 1,
      sym_simple_identifier,
    STATE(5409), 1,
      sym__simple_user_type,
    STATE(6012), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5542), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7097), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5525), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7095), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5385), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [202927] = 17,
    ACTIONS(3853), 1,
      anon_sym_each,
    ACTIONS(3855), 1,
      anon_sym_repeat,
    ACTIONS(3857), 1,
      anon_sym_LPAREN,
    ACTIONS(3859), 1,
      anon_sym_LBRACK,
    ACTIONS(3861), 1,
      anon_sym_some,
    ACTIONS(3863), 1,
      anon_sym_any,
    ACTIONS(3865), 1,
      anon_sym_TILDE,
    STATE(1737), 1,
      sym_simple_identifier,
    STATE(1740), 1,
      sym_tuple_type,
    STATE(1785), 1,
      sym__simple_user_type,
    STATE(1848), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1730), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1772), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3846), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1779), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [203000] = 17,
    ACTIONS(6763), 1,
      anon_sym_each,
    ACTIONS(6765), 1,
      anon_sym_repeat,
    ACTIONS(6767), 1,
      anon_sym_LPAREN,
    ACTIONS(6769), 1,
      anon_sym_LBRACK,
    ACTIONS(6771), 1,
      anon_sym_some,
    ACTIONS(6773), 1,
      anon_sym_any,
    ACTIONS(6775), 1,
      anon_sym_TILDE,
    STATE(5082), 1,
      sym_tuple_type,
    STATE(5222), 1,
      sym__simple_user_type,
    STATE(5223), 1,
      sym_simple_identifier,
    STATE(5858), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5331), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6761), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5452), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6759), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5281), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [203073] = 17,
    ACTIONS(4335), 1,
      anon_sym_each,
    ACTIONS(4340), 1,
      anon_sym_repeat,
    ACTIONS(4342), 1,
      anon_sym_LPAREN,
    ACTIONS(4344), 1,
      anon_sym_LBRACK,
    ACTIONS(4346), 1,
      anon_sym_some,
    ACTIONS(4348), 1,
      anon_sym_any,
    ACTIONS(4350), 1,
      anon_sym_TILDE,
    STATE(2190), 1,
      sym_tuple_type,
    STATE(2343), 1,
      sym_simple_identifier,
    STATE(2352), 1,
      sym__simple_user_type,
    STATE(3038), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2446), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4333), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2575), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4331), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2392), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [203146] = 17,
    ACTIONS(4335), 1,
      anon_sym_each,
    ACTIONS(4340), 1,
      anon_sym_repeat,
    ACTIONS(4342), 1,
      anon_sym_LPAREN,
    ACTIONS(4344), 1,
      anon_sym_LBRACK,
    ACTIONS(4346), 1,
      anon_sym_some,
    ACTIONS(4348), 1,
      anon_sym_any,
    ACTIONS(4350), 1,
      anon_sym_TILDE,
    STATE(2190), 1,
      sym_tuple_type,
    STATE(2343), 1,
      sym_simple_identifier,
    STATE(2352), 1,
      sym__simple_user_type,
    STATE(3038), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2446), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4333), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2575), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4331), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2391), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [203219] = 17,
    ACTIONS(4335), 1,
      anon_sym_each,
    ACTIONS(4340), 1,
      anon_sym_repeat,
    ACTIONS(4342), 1,
      anon_sym_LPAREN,
    ACTIONS(4344), 1,
      anon_sym_LBRACK,
    ACTIONS(4346), 1,
      anon_sym_some,
    ACTIONS(4348), 1,
      anon_sym_any,
    ACTIONS(4350), 1,
      anon_sym_TILDE,
    STATE(2190), 1,
      sym_tuple_type,
    STATE(2343), 1,
      sym_simple_identifier,
    STATE(2352), 1,
      sym__simple_user_type,
    STATE(3038), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2446), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4333), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2575), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4331), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2393), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [203292] = 17,
    ACTIONS(6763), 1,
      anon_sym_each,
    ACTIONS(6765), 1,
      anon_sym_repeat,
    ACTIONS(6767), 1,
      anon_sym_LPAREN,
    ACTIONS(6769), 1,
      anon_sym_LBRACK,
    ACTIONS(6771), 1,
      anon_sym_some,
    ACTIONS(6773), 1,
      anon_sym_any,
    ACTIONS(6775), 1,
      anon_sym_TILDE,
    STATE(5082), 1,
      sym_tuple_type,
    STATE(5222), 1,
      sym__simple_user_type,
    STATE(5223), 1,
      sym_simple_identifier,
    STATE(5858), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5331), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6761), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5452), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6759), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5265), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [203365] = 17,
    ACTIONS(6972), 1,
      anon_sym_each,
    ACTIONS(6974), 1,
      anon_sym_repeat,
    ACTIONS(6976), 1,
      anon_sym_LPAREN,
    ACTIONS(6978), 1,
      anon_sym_LBRACK,
    ACTIONS(6980), 1,
      anon_sym_some,
    ACTIONS(6982), 1,
      anon_sym_any,
    ACTIONS(6984), 1,
      anon_sym_TILDE,
    STATE(5078), 1,
      sym_tuple_type,
    STATE(5288), 1,
      sym__simple_user_type,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5889), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5335), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6968), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5314), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [203438] = 17,
    ACTIONS(2834), 1,
      anon_sym_each,
    ACTIONS(2839), 1,
      anon_sym_repeat,
    ACTIONS(2847), 1,
      anon_sym_some,
    ACTIONS(2849), 1,
      anon_sym_any,
    ACTIONS(2851), 1,
      anon_sym_TILDE,
    ACTIONS(8268), 1,
      anon_sym_LPAREN,
    ACTIONS(8270), 1,
      anon_sym_LBRACK,
    STATE(1013), 1,
      sym_tuple_type,
    STATE(1047), 1,
      sym__simple_user_type,
    STATE(1068), 1,
      sym_simple_identifier,
    STATE(1099), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1098), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(2832), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1046), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(2830), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1014), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [203511] = 17,
    ACTIONS(6300), 1,
      anon_sym_each,
    ACTIONS(6302), 1,
      anon_sym_repeat,
    ACTIONS(6304), 1,
      anon_sym_LPAREN,
    ACTIONS(6306), 1,
      anon_sym_LBRACK,
    ACTIONS(6308), 1,
      anon_sym_some,
    ACTIONS(6310), 1,
      anon_sym_any,
    ACTIONS(6312), 1,
      anon_sym_TILDE,
    STATE(5009), 1,
      sym_tuple_type,
    STATE(5100), 1,
      sym__simple_user_type,
    STATE(5104), 1,
      sym_simple_identifier,
    STATE(5491), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5151), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6298), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5140), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6296), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5109), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [203584] = 17,
    ACTIONS(7022), 1,
      anon_sym_each,
    ACTIONS(7024), 1,
      anon_sym_repeat,
    ACTIONS(7026), 1,
      anon_sym_LPAREN,
    ACTIONS(7028), 1,
      anon_sym_LBRACK,
    ACTIONS(7030), 1,
      anon_sym_some,
    ACTIONS(7032), 1,
      anon_sym_any,
    ACTIONS(7034), 1,
      anon_sym_TILDE,
    STATE(5174), 1,
      sym_tuple_type,
    STATE(5393), 1,
      sym__simple_user_type,
    STATE(5508), 1,
      sym_simple_identifier,
    STATE(5997), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5561), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7020), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5585), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7018), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5499), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [203657] = 4,
    ACTIONS(8606), 1,
      anon_sym_fallthrough,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8608), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8604), 33,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [203704] = 17,
    ACTIONS(3807), 1,
      anon_sym_LPAREN,
    ACTIONS(3809), 1,
      anon_sym_LBRACK,
    ACTIONS(3815), 1,
      anon_sym_TILDE,
    ACTIONS(7687), 1,
      anon_sym_each,
    ACTIONS(7689), 1,
      anon_sym_repeat,
    ACTIONS(7691), 1,
      anon_sym_some,
    ACTIONS(7693), 1,
      anon_sym_any,
    STATE(1757), 1,
      sym__simple_user_type,
    STATE(1758), 1,
      sym_simple_identifier,
    STATE(1881), 1,
      sym__parenthesized_type,
    STATE(5217), 1,
      sym_tuple_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1806), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3798), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1775), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3796), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5532), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [203777] = 17,
    ACTIONS(2811), 1,
      anon_sym_each,
    ACTIONS(2816), 1,
      anon_sym_repeat,
    ACTIONS(2824), 1,
      anon_sym_some,
    ACTIONS(2826), 1,
      anon_sym_any,
    ACTIONS(2828), 1,
      anon_sym_TILDE,
    ACTIONS(8248), 1,
      anon_sym_LPAREN,
    ACTIONS(8250), 1,
      anon_sym_LBRACK,
    STATE(1002), 1,
      sym_tuple_type,
    STATE(1034), 1,
      sym__simple_user_type,
    STATE(1049), 1,
      sym_simple_identifier,
    STATE(1067), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1073), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(2809), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1035), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(2807), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1003), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [203850] = 17,
    ACTIONS(2811), 1,
      anon_sym_each,
    ACTIONS(2816), 1,
      anon_sym_repeat,
    ACTIONS(2824), 1,
      anon_sym_some,
    ACTIONS(2826), 1,
      anon_sym_any,
    ACTIONS(2828), 1,
      anon_sym_TILDE,
    ACTIONS(8248), 1,
      anon_sym_LPAREN,
    ACTIONS(8250), 1,
      anon_sym_LBRACK,
    STATE(1002), 1,
      sym_tuple_type,
    STATE(1034), 1,
      sym__simple_user_type,
    STATE(1049), 1,
      sym_simple_identifier,
    STATE(1067), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1073), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(2809), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1035), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(2807), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1009), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [203923] = 17,
    ACTIONS(2811), 1,
      anon_sym_each,
    ACTIONS(2816), 1,
      anon_sym_repeat,
    ACTIONS(2824), 1,
      anon_sym_some,
    ACTIONS(2826), 1,
      anon_sym_any,
    ACTIONS(2828), 1,
      anon_sym_TILDE,
    ACTIONS(8248), 1,
      anon_sym_LPAREN,
    ACTIONS(8250), 1,
      anon_sym_LBRACK,
    STATE(1002), 1,
      sym_tuple_type,
    STATE(1034), 1,
      sym__simple_user_type,
    STATE(1049), 1,
      sym_simple_identifier,
    STATE(1067), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1073), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(2809), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1035), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(2807), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1008), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [203996] = 17,
    ACTIONS(7099), 1,
      anon_sym_each,
    ACTIONS(7101), 1,
      anon_sym_repeat,
    ACTIONS(7103), 1,
      anon_sym_LPAREN,
    ACTIONS(7105), 1,
      anon_sym_LBRACK,
    ACTIONS(7107), 1,
      anon_sym_some,
    ACTIONS(7109), 1,
      anon_sym_any,
    ACTIONS(7111), 1,
      anon_sym_TILDE,
    STATE(5183), 1,
      sym_tuple_type,
    STATE(5361), 1,
      sym_simple_identifier,
    STATE(5409), 1,
      sym__simple_user_type,
    STATE(6012), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5542), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7097), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5525), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7095), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5428), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [204069] = 17,
    ACTIONS(3894), 1,
      anon_sym_each,
    ACTIONS(3896), 1,
      anon_sym_repeat,
    ACTIONS(3898), 1,
      anon_sym_LPAREN,
    ACTIONS(3900), 1,
      anon_sym_LBRACK,
    ACTIONS(3902), 1,
      anon_sym_some,
    ACTIONS(3904), 1,
      anon_sym_any,
    ACTIONS(3906), 1,
      anon_sym_TILDE,
    STATE(1744), 1,
      sym_tuple_type,
    STATE(1837), 1,
      sym__simple_user_type,
    STATE(1845), 1,
      sym_simple_identifier,
    STATE(1973), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1905), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3889), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1908), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3887), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1821), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [204142] = 17,
    ACTIONS(7099), 1,
      anon_sym_each,
    ACTIONS(7101), 1,
      anon_sym_repeat,
    ACTIONS(7103), 1,
      anon_sym_LPAREN,
    ACTIONS(7105), 1,
      anon_sym_LBRACK,
    ACTIONS(7107), 1,
      anon_sym_some,
    ACTIONS(7109), 1,
      anon_sym_any,
    ACTIONS(7111), 1,
      anon_sym_TILDE,
    STATE(5183), 1,
      sym_tuple_type,
    STATE(5361), 1,
      sym_simple_identifier,
    STATE(5409), 1,
      sym__simple_user_type,
    STATE(6012), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5542), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7097), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5525), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7095), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5427), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [204215] = 17,
    ACTIONS(2811), 1,
      anon_sym_each,
    ACTIONS(2816), 1,
      anon_sym_repeat,
    ACTIONS(2824), 1,
      anon_sym_some,
    ACTIONS(2826), 1,
      anon_sym_any,
    ACTIONS(2828), 1,
      anon_sym_TILDE,
    ACTIONS(8248), 1,
      anon_sym_LPAREN,
    ACTIONS(8250), 1,
      anon_sym_LBRACK,
    STATE(1002), 1,
      sym_tuple_type,
    STATE(1034), 1,
      sym__simple_user_type,
    STATE(1049), 1,
      sym_simple_identifier,
    STATE(1067), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1073), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(2809), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1035), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(2807), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1005), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [204288] = 17,
    ACTIONS(3807), 1,
      anon_sym_LPAREN,
    ACTIONS(3809), 1,
      anon_sym_LBRACK,
    ACTIONS(3815), 1,
      anon_sym_TILDE,
    ACTIONS(7687), 1,
      anon_sym_each,
    ACTIONS(7689), 1,
      anon_sym_repeat,
    ACTIONS(7691), 1,
      anon_sym_some,
    ACTIONS(7693), 1,
      anon_sym_any,
    STATE(1757), 1,
      sym__simple_user_type,
    STATE(1758), 1,
      sym_simple_identifier,
    STATE(1881), 1,
      sym__parenthesized_type,
    STATE(5217), 1,
      sym_tuple_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1806), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3798), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1775), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3796), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5533), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [204361] = 17,
    ACTIONS(6818), 1,
      anon_sym_each,
    ACTIONS(6820), 1,
      anon_sym_repeat,
    ACTIONS(6822), 1,
      anon_sym_LPAREN,
    ACTIONS(6824), 1,
      anon_sym_LBRACK,
    ACTIONS(6826), 1,
      anon_sym_some,
    ACTIONS(6828), 1,
      anon_sym_any,
    ACTIONS(6830), 1,
      anon_sym_TILDE,
    STATE(5069), 1,
      sym_tuple_type,
    STATE(5249), 1,
      sym__simple_user_type,
    STATE(5251), 1,
      sym_simple_identifier,
    STATE(5870), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5356), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6816), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5348), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6814), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5264), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [204434] = 17,
    ACTIONS(4423), 1,
      anon_sym_each,
    ACTIONS(4428), 1,
      anon_sym_repeat,
    ACTIONS(4430), 1,
      anon_sym_LPAREN,
    ACTIONS(4432), 1,
      anon_sym_LBRACK,
    ACTIONS(4434), 1,
      anon_sym_some,
    ACTIONS(4436), 1,
      anon_sym_any,
    ACTIONS(4438), 1,
      anon_sym_TILDE,
    STATE(2516), 1,
      sym_tuple_type,
    STATE(3020), 1,
      sym_simple_identifier,
    STATE(3031), 1,
      sym__simple_user_type,
    STATE(3719), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3179), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4421), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(3569), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4419), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2856), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [204507] = 17,
    ACTIONS(4423), 1,
      anon_sym_each,
    ACTIONS(4428), 1,
      anon_sym_repeat,
    ACTIONS(4430), 1,
      anon_sym_LPAREN,
    ACTIONS(4432), 1,
      anon_sym_LBRACK,
    ACTIONS(4434), 1,
      anon_sym_some,
    ACTIONS(4436), 1,
      anon_sym_any,
    ACTIONS(4438), 1,
      anon_sym_TILDE,
    STATE(2516), 1,
      sym_tuple_type,
    STATE(3020), 1,
      sym_simple_identifier,
    STATE(3031), 1,
      sym__simple_user_type,
    STATE(3719), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3179), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4421), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(3569), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4419), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2861), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [204580] = 17,
    ACTIONS(6047), 1,
      anon_sym_each,
    ACTIONS(6049), 1,
      anon_sym_repeat,
    ACTIONS(6051), 1,
      anon_sym_LPAREN,
    ACTIONS(6053), 1,
      anon_sym_LBRACK,
    ACTIONS(6055), 1,
      anon_sym_some,
    ACTIONS(6057), 1,
      anon_sym_any,
    ACTIONS(6059), 1,
      anon_sym_TILDE,
    STATE(4980), 1,
      sym_tuple_type,
    STATE(5041), 1,
      sym_simple_identifier,
    STATE(5059), 1,
      sym__simple_user_type,
    STATE(5269), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5098), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6045), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5089), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6043), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5058), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [204653] = 17,
    ACTIONS(4423), 1,
      anon_sym_each,
    ACTIONS(4428), 1,
      anon_sym_repeat,
    ACTIONS(4430), 1,
      anon_sym_LPAREN,
    ACTIONS(4432), 1,
      anon_sym_LBRACK,
    ACTIONS(4434), 1,
      anon_sym_some,
    ACTIONS(4436), 1,
      anon_sym_any,
    ACTIONS(4438), 1,
      anon_sym_TILDE,
    STATE(2516), 1,
      sym_tuple_type,
    STATE(3020), 1,
      sym_simple_identifier,
    STATE(3031), 1,
      sym__simple_user_type,
    STATE(3719), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3179), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4421), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(3569), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4419), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2870), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [204726] = 17,
    ACTIONS(7022), 1,
      anon_sym_each,
    ACTIONS(7024), 1,
      anon_sym_repeat,
    ACTIONS(7026), 1,
      anon_sym_LPAREN,
    ACTIONS(7028), 1,
      anon_sym_LBRACK,
    ACTIONS(7030), 1,
      anon_sym_some,
    ACTIONS(7032), 1,
      anon_sym_any,
    ACTIONS(7034), 1,
      anon_sym_TILDE,
    STATE(5174), 1,
      sym_tuple_type,
    STATE(5393), 1,
      sym__simple_user_type,
    STATE(5508), 1,
      sym_simple_identifier,
    STATE(5997), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5561), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7020), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5585), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7018), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5420), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [204799] = 17,
    ACTIONS(6411), 1,
      anon_sym_each,
    ACTIONS(6413), 1,
      anon_sym_repeat,
    ACTIONS(6415), 1,
      anon_sym_LPAREN,
    ACTIONS(6417), 1,
      anon_sym_LBRACK,
    ACTIONS(6419), 1,
      anon_sym_some,
    ACTIONS(6421), 1,
      anon_sym_any,
    ACTIONS(6423), 1,
      anon_sym_TILDE,
    STATE(5035), 1,
      sym_tuple_type,
    STATE(5138), 1,
      sym_simple_identifier,
    STATE(5144), 1,
      sym__simple_user_type,
    STATE(5617), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5239), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6409), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5272), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6407), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5142), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [204872] = 17,
    ACTIONS(7099), 1,
      anon_sym_each,
    ACTIONS(7101), 1,
      anon_sym_repeat,
    ACTIONS(7103), 1,
      anon_sym_LPAREN,
    ACTIONS(7105), 1,
      anon_sym_LBRACK,
    ACTIONS(7107), 1,
      anon_sym_some,
    ACTIONS(7109), 1,
      anon_sym_any,
    ACTIONS(7111), 1,
      anon_sym_TILDE,
    STATE(5183), 1,
      sym_tuple_type,
    STATE(5361), 1,
      sym_simple_identifier,
    STATE(5409), 1,
      sym__simple_user_type,
    STATE(6012), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5542), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7097), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5525), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(7095), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5421), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [204945] = 17,
    ACTIONS(6411), 1,
      anon_sym_each,
    ACTIONS(6413), 1,
      anon_sym_repeat,
    ACTIONS(6415), 1,
      anon_sym_LPAREN,
    ACTIONS(6417), 1,
      anon_sym_LBRACK,
    ACTIONS(6419), 1,
      anon_sym_some,
    ACTIONS(6421), 1,
      anon_sym_any,
    ACTIONS(6423), 1,
      anon_sym_TILDE,
    STATE(5035), 1,
      sym_tuple_type,
    STATE(5138), 1,
      sym_simple_identifier,
    STATE(5144), 1,
      sym__simple_user_type,
    STATE(5617), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5239), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6409), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5272), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6407), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5118), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [205018] = 17,
    ACTIONS(6411), 1,
      anon_sym_each,
    ACTIONS(6413), 1,
      anon_sym_repeat,
    ACTIONS(6415), 1,
      anon_sym_LPAREN,
    ACTIONS(6417), 1,
      anon_sym_LBRACK,
    ACTIONS(6419), 1,
      anon_sym_some,
    ACTIONS(6421), 1,
      anon_sym_any,
    ACTIONS(6423), 1,
      anon_sym_TILDE,
    STATE(5035), 1,
      sym_tuple_type,
    STATE(5138), 1,
      sym_simple_identifier,
    STATE(5144), 1,
      sym__simple_user_type,
    STATE(5617), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5239), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6409), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5272), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6407), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5150), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [205091] = 17,
    ACTIONS(6411), 1,
      anon_sym_each,
    ACTIONS(6413), 1,
      anon_sym_repeat,
    ACTIONS(6415), 1,
      anon_sym_LPAREN,
    ACTIONS(6417), 1,
      anon_sym_LBRACK,
    ACTIONS(6419), 1,
      anon_sym_some,
    ACTIONS(6421), 1,
      anon_sym_any,
    ACTIONS(6423), 1,
      anon_sym_TILDE,
    STATE(5035), 1,
      sym_tuple_type,
    STATE(5138), 1,
      sym_simple_identifier,
    STATE(5144), 1,
      sym__simple_user_type,
    STATE(5617), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5239), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6409), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5272), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6407), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5137), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [205164] = 17,
    ACTIONS(5921), 1,
      anon_sym_each,
    ACTIONS(5923), 1,
      anon_sym_repeat,
    ACTIONS(5925), 1,
      anon_sym_LPAREN,
    ACTIONS(5927), 1,
      anon_sym_LBRACK,
    ACTIONS(5929), 1,
      anon_sym_some,
    ACTIONS(5931), 1,
      anon_sym_any,
    ACTIONS(5933), 1,
      anon_sym_TILDE,
    STATE(4967), 1,
      sym_tuple_type,
    STATE(4996), 1,
      sym__simple_user_type,
    STATE(5011), 1,
      sym_simple_identifier,
    STATE(5191), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5013), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(5919), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5021), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(5917), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4997), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [205237] = 17,
    ACTIONS(4423), 1,
      anon_sym_each,
    ACTIONS(4428), 1,
      anon_sym_repeat,
    ACTIONS(4430), 1,
      anon_sym_LPAREN,
    ACTIONS(4432), 1,
      anon_sym_LBRACK,
    ACTIONS(4434), 1,
      anon_sym_some,
    ACTIONS(4436), 1,
      anon_sym_any,
    ACTIONS(4438), 1,
      anon_sym_TILDE,
    STATE(2516), 1,
      sym_tuple_type,
    STATE(3020), 1,
      sym_simple_identifier,
    STATE(3031), 1,
      sym__simple_user_type,
    STATE(3719), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3179), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4421), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(3569), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4419), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(2865), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [205310] = 17,
    ACTIONS(6753), 1,
      anon_sym_LPAREN,
    ACTIONS(6755), 1,
      anon_sym_LBRACK,
    ACTIONS(7788), 1,
      anon_sym_each,
    ACTIONS(7790), 1,
      anon_sym_repeat,
    ACTIONS(7792), 1,
      anon_sym_some,
    ACTIONS(7794), 1,
      anon_sym_any,
    ACTIONS(7796), 1,
      anon_sym_TILDE,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5521), 1,
      sym__parenthesized_type,
    STATE(5722), 1,
      sym_tuple_type,
    STATE(5990), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5313), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6745), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5946), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [205383] = 17,
    ACTIONS(3853), 1,
      anon_sym_each,
    ACTIONS(3855), 1,
      anon_sym_repeat,
    ACTIONS(3857), 1,
      anon_sym_LPAREN,
    ACTIONS(3859), 1,
      anon_sym_LBRACK,
    ACTIONS(3861), 1,
      anon_sym_some,
    ACTIONS(3863), 1,
      anon_sym_any,
    ACTIONS(3865), 1,
      anon_sym_TILDE,
    STATE(1737), 1,
      sym_simple_identifier,
    STATE(1740), 1,
      sym_tuple_type,
    STATE(1785), 1,
      sym__simple_user_type,
    STATE(1848), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1730), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1772), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3846), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1796), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [205456] = 17,
    ACTIONS(3853), 1,
      anon_sym_each,
    ACTIONS(3855), 1,
      anon_sym_repeat,
    ACTIONS(3857), 1,
      anon_sym_LPAREN,
    ACTIONS(3859), 1,
      anon_sym_LBRACK,
    ACTIONS(3861), 1,
      anon_sym_some,
    ACTIONS(3863), 1,
      anon_sym_any,
    ACTIONS(3865), 1,
      anon_sym_TILDE,
    STATE(1737), 1,
      sym_simple_identifier,
    STATE(1740), 1,
      sym_tuple_type,
    STATE(1785), 1,
      sym__simple_user_type,
    STATE(1848), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1730), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1772), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3846), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1808), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [205529] = 17,
    ACTIONS(3853), 1,
      anon_sym_each,
    ACTIONS(3855), 1,
      anon_sym_repeat,
    ACTIONS(3857), 1,
      anon_sym_LPAREN,
    ACTIONS(3859), 1,
      anon_sym_LBRACK,
    ACTIONS(3861), 1,
      anon_sym_some,
    ACTIONS(3863), 1,
      anon_sym_any,
    ACTIONS(3865), 1,
      anon_sym_TILDE,
    STATE(1737), 1,
      sym_simple_identifier,
    STATE(1740), 1,
      sym_tuple_type,
    STATE(1785), 1,
      sym__simple_user_type,
    STATE(1848), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1730), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1772), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3846), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1813), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [205602] = 17,
    ACTIONS(6300), 1,
      anon_sym_each,
    ACTIONS(6302), 1,
      anon_sym_repeat,
    ACTIONS(6304), 1,
      anon_sym_LPAREN,
    ACTIONS(6306), 1,
      anon_sym_LBRACK,
    ACTIONS(6308), 1,
      anon_sym_some,
    ACTIONS(6310), 1,
      anon_sym_any,
    ACTIONS(6312), 1,
      anon_sym_TILDE,
    STATE(5009), 1,
      sym_tuple_type,
    STATE(5100), 1,
      sym__simple_user_type,
    STATE(5104), 1,
      sym_simple_identifier,
    STATE(5491), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5151), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6298), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(5140), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(6296), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5068), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [205675] = 17,
    ACTIONS(2834), 1,
      anon_sym_each,
    ACTIONS(2839), 1,
      anon_sym_repeat,
    ACTIONS(2847), 1,
      anon_sym_some,
    ACTIONS(2849), 1,
      anon_sym_any,
    ACTIONS(2851), 1,
      anon_sym_TILDE,
    ACTIONS(8268), 1,
      anon_sym_LPAREN,
    ACTIONS(8270), 1,
      anon_sym_LBRACK,
    STATE(1013), 1,
      sym_tuple_type,
    STATE(1047), 1,
      sym__simple_user_type,
    STATE(1068), 1,
      sym_simple_identifier,
    STATE(1099), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1098), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(2832), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1046), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(2830), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1019), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [205748] = 17,
    ACTIONS(3942), 1,
      anon_sym_each,
    ACTIONS(3944), 1,
      anon_sym_repeat,
    ACTIONS(3952), 1,
      anon_sym_some,
    ACTIONS(3954), 1,
      anon_sym_any,
    ACTIONS(3956), 1,
      anon_sym_TILDE,
    ACTIONS(8256), 1,
      anon_sym_LPAREN,
    ACTIONS(8258), 1,
      anon_sym_LBRACK,
    STATE(1902), 1,
      sym_tuple_type,
    STATE(2008), 1,
      sym__simple_user_type,
    STATE(2083), 1,
      sym_simple_identifier,
    STATE(2136), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2130), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3940), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2018), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3938), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(1925), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [205821] = 17,
    ACTIONS(4041), 1,
      anon_sym_each,
    ACTIONS(4043), 1,
      anon_sym_repeat,
    ACTIONS(4047), 1,
      anon_sym_LPAREN,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_some,
    ACTIONS(4053), 1,
      anon_sym_any,
    ACTIONS(4055), 1,
      anon_sym_TILDE,
    STATE(5769), 1,
      sym_tuple_type,
    STATE(5926), 1,
      sym__simple_user_type,
    STATE(6004), 1,
      sym_simple_identifier,
    STATE(6255), 1,
      sym__parenthesized_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6078), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(4037), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5964), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [205894] = 17,
    ACTIONS(3857), 1,
      anon_sym_LPAREN,
    ACTIONS(3859), 1,
      anon_sym_LBRACK,
    ACTIONS(3865), 1,
      anon_sym_TILDE,
    ACTIONS(7036), 1,
      anon_sym_each,
    ACTIONS(7038), 1,
      anon_sym_repeat,
    ACTIONS(7040), 1,
      anon_sym_some,
    ACTIONS(7042), 1,
      anon_sym_any,
    STATE(1737), 1,
      sym_simple_identifier,
    STATE(1848), 1,
      sym__parenthesized_type,
    STATE(5283), 1,
      sym_tuple_type,
    STATE(5639), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1730), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1772), 3,
      sym_user_type,
      sym_array_type,
      sym_dictionary_type,
    ACTIONS(3846), 7,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(5762), 10,
      sym__unannotated_type,
      sym_function_type,
      sym_optional_type,
      sym_metatype,
      sym_opaque_type,
      sym_existential_type,
      sym_type_parameter_pack,
      sym_type_pack_expansion,
      sym_protocol_composition_type,
      sym_suppressed_constraint,
  [205967] = 4,
    ACTIONS(8610), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3734), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3729), 32,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_case,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [206013] = 22,
    ACTIONS(8558), 1,
      anon_sym_LPAREN,
    ACTIONS(8562), 1,
      anon_sym_case,
    ACTIONS(8566), 1,
      anon_sym_is,
    ACTIONS(8568), 1,
      sym_wildcard_pattern,
    ACTIONS(8570), 1,
      sym__dot_custom,
    ACTIONS(8612), 1,
      anon_sym_await,
    STATE(4793), 1,
      sym_value_binding_pattern,
    STATE(4833), 1,
      sym__await_operator,
    STATE(5656), 1,
      sym__dot,
    STATE(6296), 1,
      sym_simple_identifier,
    STATE(6729), 1,
      sym__type_casting_pattern,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6862), 1,
      sym__binding_pattern_no_expr,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(6933), 1,
      sym__bound_identifier,
    STATE(8517), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(6361), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8556), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6934), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8554), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [206095] = 22,
    ACTIONS(5473), 1,
      anon_sym_LPAREN,
    ACTIONS(8618), 1,
      anon_sym_case,
    ACTIONS(8620), 1,
      anon_sym_is,
    ACTIONS(8622), 1,
      sym_wildcard_pattern,
    ACTIONS(8624), 1,
      sym__dot_custom,
    STATE(1888), 1,
      sym__no_expr_pattern_already_bound,
    STATE(1951), 1,
      sym_simple_identifier,
    STATE(2079), 1,
      sym__bound_identifier,
    STATE(2123), 1,
      sym__type_casting_pattern,
    STATE(2914), 1,
      sym__single_modifierless_property_declaration,
    STATE(4817), 1,
      sym_value_binding_pattern,
    STATE(5690), 1,
      sym__dot,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(8468), 1,
      sym_user_type,
    STATE(8639), 1,
      sym__binding_pattern_no_expr,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(2007), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8616), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2076), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8614), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [206177] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8628), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8626), 33,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [206221] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8578), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8574), 33,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [206265] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8584), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8580), 33,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [206309] = 22,
    ACTIONS(5473), 1,
      anon_sym_LPAREN,
    ACTIONS(8618), 1,
      anon_sym_case,
    ACTIONS(8620), 1,
      anon_sym_is,
    ACTIONS(8622), 1,
      sym_wildcard_pattern,
    ACTIONS(8624), 1,
      sym__dot_custom,
    STATE(1888), 1,
      sym__no_expr_pattern_already_bound,
    STATE(1951), 1,
      sym_simple_identifier,
    STATE(2079), 1,
      sym__bound_identifier,
    STATE(2123), 1,
      sym__type_casting_pattern,
    STATE(2654), 1,
      sym__single_modifierless_property_declaration,
    STATE(4817), 1,
      sym_value_binding_pattern,
    STATE(5690), 1,
      sym__dot,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(8468), 1,
      sym_user_type,
    STATE(8639), 1,
      sym__binding_pattern_no_expr,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(2007), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8616), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2076), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8614), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [206391] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8590), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8586), 33,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [206435] = 22,
    ACTIONS(8558), 1,
      anon_sym_LPAREN,
    ACTIONS(8562), 1,
      anon_sym_case,
    ACTIONS(8566), 1,
      anon_sym_is,
    ACTIONS(8568), 1,
      sym_wildcard_pattern,
    ACTIONS(8570), 1,
      sym__dot_custom,
    ACTIONS(8630), 1,
      anon_sym_await,
    STATE(4793), 1,
      sym_value_binding_pattern,
    STATE(4829), 1,
      sym__await_operator,
    STATE(5656), 1,
      sym__dot,
    STATE(6296), 1,
      sym_simple_identifier,
    STATE(6729), 1,
      sym__type_casting_pattern,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(6933), 1,
      sym__bound_identifier,
    STATE(6959), 1,
      sym__binding_pattern_no_expr,
    STATE(8517), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(6361), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8556), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6934), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8554), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [206517] = 22,
    ACTIONS(8636), 1,
      anon_sym_LPAREN,
    ACTIONS(8638), 1,
      anon_sym_case,
    ACTIONS(8640), 1,
      anon_sym_is,
    ACTIONS(8642), 1,
      sym_wildcard_pattern,
    ACTIONS(8644), 1,
      sym__dot_custom,
    STATE(4817), 1,
      sym_value_binding_pattern,
    STATE(5543), 1,
      sym__no_expr_pattern_already_bound,
    STATE(5745), 1,
      sym__dot,
    STATE(6005), 1,
      sym_simple_identifier,
    STATE(6211), 1,
      sym__bound_identifier,
    STATE(6252), 1,
      sym__type_casting_pattern,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6890), 1,
      sym__single_modifierless_property_declaration,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(8588), 1,
      sym_user_type,
    STATE(8591), 1,
      sym__binding_pattern_no_expr,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(6032), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8634), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6208), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8632), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [206599] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8596), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8592), 33,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [206643] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8608), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8604), 33,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_case,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [206687] = 5,
    ACTIONS(623), 1,
      anon_sym_DOT,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3725), 8,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_TILDE,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(617), 13,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3727), 13,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_some,
      anon_sym_any,
      anon_sym_AT,
      anon_sym_inout,
      anon_sym_borrowing,
      anon_sym_consuming,
  [206735] = 22,
    ACTIONS(8636), 1,
      anon_sym_LPAREN,
    ACTIONS(8638), 1,
      anon_sym_case,
    ACTIONS(8640), 1,
      anon_sym_is,
    ACTIONS(8642), 1,
      sym_wildcard_pattern,
    ACTIONS(8644), 1,
      sym__dot_custom,
    STATE(4817), 1,
      sym_value_binding_pattern,
    STATE(5543), 1,
      sym__no_expr_pattern_already_bound,
    STATE(5745), 1,
      sym__dot,
    STATE(6005), 1,
      sym_simple_identifier,
    STATE(6211), 1,
      sym__bound_identifier,
    STATE(6252), 1,
      sym__type_casting_pattern,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(7070), 1,
      sym__single_modifierless_property_declaration,
    STATE(8588), 1,
      sym_user_type,
    STATE(8591), 1,
      sym__binding_pattern_no_expr,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(6032), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8634), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6208), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8632), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [206817] = 22,
    ACTIONS(8650), 1,
      anon_sym_LPAREN,
    ACTIONS(8652), 1,
      anon_sym_case,
    ACTIONS(8654), 1,
      anon_sym_is,
    ACTIONS(8656), 1,
      sym_wildcard_pattern,
    ACTIONS(8658), 1,
      sym__dot_custom,
    STATE(4817), 1,
      sym_value_binding_pattern,
    STATE(5344), 1,
      sym__no_expr_pattern_already_bound,
    STATE(5707), 1,
      sym__dot,
    STATE(5812), 1,
      sym_simple_identifier,
    STATE(6100), 1,
      sym__bound_identifier,
    STATE(6225), 1,
      sym__type_casting_pattern,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6780), 1,
      sym__single_modifierless_property_declaration,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(8326), 1,
      sym_user_type,
    STATE(8421), 1,
      sym__binding_pattern_no_expr,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(5996), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8648), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6099), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8646), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [206899] = 22,
    ACTIONS(8650), 1,
      anon_sym_LPAREN,
    ACTIONS(8652), 1,
      anon_sym_case,
    ACTIONS(8654), 1,
      anon_sym_is,
    ACTIONS(8656), 1,
      sym_wildcard_pattern,
    ACTIONS(8658), 1,
      sym__dot_custom,
    STATE(4817), 1,
      sym_value_binding_pattern,
    STATE(5344), 1,
      sym__no_expr_pattern_already_bound,
    STATE(5707), 1,
      sym__dot,
    STATE(5812), 1,
      sym_simple_identifier,
    STATE(6100), 1,
      sym__bound_identifier,
    STATE(6225), 1,
      sym__type_casting_pattern,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(6998), 1,
      sym__single_modifierless_property_declaration,
    STATE(8326), 1,
      sym_user_type,
    STATE(8421), 1,
      sym__binding_pattern_no_expr,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(5996), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8648), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6099), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8646), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [206981] = 22,
    ACTIONS(7817), 1,
      anon_sym_LPAREN,
    ACTIONS(8664), 1,
      anon_sym_case,
    ACTIONS(8666), 1,
      anon_sym_is,
    ACTIONS(8668), 1,
      sym_wildcard_pattern,
    ACTIONS(8670), 1,
      sym__dot_custom,
    STATE(3625), 1,
      sym__no_expr_pattern_already_bound,
    STATE(3743), 1,
      sym_simple_identifier,
    STATE(3782), 1,
      sym__bound_identifier,
    STATE(3800), 1,
      sym__type_casting_pattern,
    STATE(4479), 1,
      sym__single_modifierless_property_declaration,
    STATE(4817), 1,
      sym_value_binding_pattern,
    STATE(5785), 1,
      sym__dot,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(8616), 1,
      sym_user_type,
    STATE(8652), 1,
      sym__binding_pattern_no_expr,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(3776), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8662), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(3789), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8660), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [207063] = 22,
    ACTIONS(7817), 1,
      anon_sym_LPAREN,
    ACTIONS(8664), 1,
      anon_sym_case,
    ACTIONS(8666), 1,
      anon_sym_is,
    ACTIONS(8668), 1,
      sym_wildcard_pattern,
    ACTIONS(8670), 1,
      sym__dot_custom,
    STATE(3625), 1,
      sym__no_expr_pattern_already_bound,
    STATE(3743), 1,
      sym_simple_identifier,
    STATE(3782), 1,
      sym__bound_identifier,
    STATE(3800), 1,
      sym__type_casting_pattern,
    STATE(4526), 1,
      sym__single_modifierless_property_declaration,
    STATE(4817), 1,
      sym_value_binding_pattern,
    STATE(5785), 1,
      sym__dot,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(8616), 1,
      sym_user_type,
    STATE(8652), 1,
      sym__binding_pattern_no_expr,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(3776), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8662), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(3789), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8660), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [207145] = 21,
    ACTIONS(8650), 1,
      anon_sym_LPAREN,
    ACTIONS(8652), 1,
      anon_sym_case,
    ACTIONS(8654), 1,
      anon_sym_is,
    ACTIONS(8658), 1,
      sym__dot_custom,
    ACTIONS(8672), 1,
      sym_wildcard_pattern,
    STATE(4817), 1,
      sym_value_binding_pattern,
    STATE(5707), 1,
      sym__dot,
    STATE(5812), 1,
      sym_simple_identifier,
    STATE(6139), 1,
      sym__bound_identifier,
    STATE(6225), 1,
      sym__type_casting_pattern,
    STATE(6228), 1,
      sym__no_expr_pattern_already_bound,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(8326), 1,
      sym_user_type,
    STATE(8421), 1,
      sym__binding_pattern_no_expr,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(5996), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8648), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6140), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8646), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [207224] = 21,
    ACTIONS(8650), 1,
      anon_sym_LPAREN,
    ACTIONS(8652), 1,
      anon_sym_case,
    ACTIONS(8654), 1,
      anon_sym_is,
    ACTIONS(8658), 1,
      sym__dot_custom,
    ACTIONS(8672), 1,
      sym_wildcard_pattern,
    STATE(4817), 1,
      sym_value_binding_pattern,
    STATE(5707), 1,
      sym__dot,
    STATE(5812), 1,
      sym_simple_identifier,
    STATE(6139), 1,
      sym__bound_identifier,
    STATE(6225), 1,
      sym__type_casting_pattern,
    STATE(6230), 1,
      sym__no_expr_pattern_already_bound,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(8326), 1,
      sym_user_type,
    STATE(8421), 1,
      sym__binding_pattern_no_expr,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(5996), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8648), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6140), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8646), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [207303] = 21,
    ACTIONS(5473), 1,
      anon_sym_LPAREN,
    ACTIONS(8618), 1,
      anon_sym_case,
    ACTIONS(8624), 1,
      sym__dot_custom,
    ACTIONS(8674), 1,
      anon_sym_is,
    ACTIONS(8676), 1,
      sym_wildcard_pattern,
    STATE(1951), 1,
      sym_simple_identifier,
    STATE(2123), 1,
      sym__type_casting_pattern,
    STATE(4817), 1,
      sym_value_binding_pattern,
    STATE(5690), 1,
      sym__dot,
    STATE(6408), 1,
      sym__bound_identifier,
    STATE(6597), 1,
      sym__no_expr_pattern_already_bound,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(8334), 1,
      sym__binding_pattern_no_expr,
    STATE(8468), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(2007), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8616), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6412), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8614), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [207382] = 6,
    ACTIONS(8678), 1,
      sym__dot_custom,
    STATE(4827), 1,
      aux_sym_user_type_repeat1,
    STATE(5381), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3048), 8,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AT,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(3046), 23,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [207431] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5488), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(5496), 32,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_case,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [207474] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6041), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6039), 32,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_case,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [207517] = 21,
    ACTIONS(913), 1,
      anon_sym_case,
    ACTIONS(8558), 1,
      anon_sym_LPAREN,
    ACTIONS(8566), 1,
      anon_sym_is,
    ACTIONS(8570), 1,
      sym__dot_custom,
    ACTIONS(8680), 1,
      sym_wildcard_pattern,
    STATE(4817), 1,
      sym_value_binding_pattern,
    STATE(5656), 1,
      sym__dot,
    STATE(6296), 1,
      sym_simple_identifier,
    STATE(6517), 1,
      sym__bound_identifier,
    STATE(6663), 1,
      sym__no_expr_pattern_already_bound,
    STATE(6729), 1,
      sym__type_casting_pattern,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(8517), 1,
      sym_user_type,
    STATE(8563), 1,
      sym__binding_pattern_no_expr,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(6361), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8556), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6520), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8554), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [207596] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3727), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(3725), 32,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_case,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [207639] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6740), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6738), 32,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_case,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [207682] = 14,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(8682), 1,
      aux_sym__extended_regex_literal_token1,
    ACTIONS(8684), 1,
      aux_sym__multiline_regex_literal_token1,
    ACTIONS(8686), 1,
      anon_sym_selector,
    ACTIONS(8692), 1,
      anon_sym_keyPath,
    STATE(6261), 1,
      sym_simple_identifier,
    ACTIONS(8694), 2,
      anon_sym_available,
      anon_sym_unavailable,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8690), 3,
      anon_sym_colorLiteral,
      anon_sym_fileLiteral,
      anon_sym_imageLiteral,
    ACTIONS(8696), 3,
      aux_sym_diagnostic_token1,
      aux_sym_diagnostic_token2,
      aux_sym_diagnostic_token3,
    ACTIONS(8688), 7,
      anon_sym_file,
      anon_sym_fileID,
      anon_sym_filePath,
      anon_sym_line,
      anon_sym_column,
      anon_sym_function,
      anon_sym_dsohandle,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [207747] = 4,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3725), 8,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_TILDE,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(617), 13,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
    ACTIONS(3727), 13,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_some,
      anon_sym_any,
      anon_sym_AT,
      anon_sym_inout,
      anon_sym_borrowing,
      anon_sym_consuming,
  [207792] = 14,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(8698), 1,
      aux_sym__extended_regex_literal_token1,
    ACTIONS(8700), 1,
      aux_sym__multiline_regex_literal_token1,
    ACTIONS(8702), 1,
      anon_sym_selector,
    ACTIONS(8708), 1,
      anon_sym_keyPath,
    STATE(6270), 1,
      sym_simple_identifier,
    ACTIONS(8710), 2,
      anon_sym_available,
      anon_sym_unavailable,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8706), 3,
      anon_sym_colorLiteral,
      anon_sym_fileLiteral,
      anon_sym_imageLiteral,
    ACTIONS(8712), 3,
      aux_sym_diagnostic_token1,
      aux_sym_diagnostic_token2,
      aux_sym_diagnostic_token3,
    ACTIONS(8704), 7,
      anon_sym_file,
      anon_sym_fileID,
      anon_sym_filePath,
      anon_sym_line,
      anon_sym_column,
      anon_sym_function,
      anon_sym_dsohandle,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [207857] = 21,
    ACTIONS(8718), 1,
      anon_sym_LPAREN,
    ACTIONS(8720), 1,
      anon_sym_case,
    ACTIONS(8722), 1,
      anon_sym_is,
    ACTIONS(8724), 1,
      sym_wildcard_pattern,
    ACTIONS(8726), 1,
      sym__dot_custom,
    STATE(4817), 1,
      sym_value_binding_pattern,
    STATE(5535), 1,
      sym__dot,
    STATE(6267), 1,
      sym_simple_identifier,
    STATE(6485), 1,
      sym__bound_identifier,
    STATE(6522), 1,
      sym__type_casting_pattern,
    STATE(6634), 1,
      sym__no_expr_pattern_already_bound,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(8475), 1,
      sym__binding_pattern_no_expr,
    STATE(8520), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(6318), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8716), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6478), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8714), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [207936] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8730), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8728), 32,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_class,
      anon_sym_didSet,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [207979] = 21,
    ACTIONS(7817), 1,
      anon_sym_LPAREN,
    ACTIONS(8664), 1,
      anon_sym_case,
    ACTIONS(8666), 1,
      anon_sym_is,
    ACTIONS(8670), 1,
      sym__dot_custom,
    ACTIONS(8732), 1,
      sym_wildcard_pattern,
    STATE(3743), 1,
      sym_simple_identifier,
    STATE(3800), 1,
      sym__type_casting_pattern,
    STATE(3806), 1,
      sym__bound_identifier,
    STATE(3857), 1,
      sym__no_expr_pattern_already_bound,
    STATE(4817), 1,
      sym_value_binding_pattern,
    STATE(5785), 1,
      sym__dot,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(8616), 1,
      sym_user_type,
    STATE(8652), 1,
      sym__binding_pattern_no_expr,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(3776), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8662), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(3828), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8660), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [208058] = 21,
    ACTIONS(7817), 1,
      anon_sym_LPAREN,
    ACTIONS(8664), 1,
      anon_sym_case,
    ACTIONS(8666), 1,
      anon_sym_is,
    ACTIONS(8670), 1,
      sym__dot_custom,
    ACTIONS(8732), 1,
      sym_wildcard_pattern,
    STATE(3743), 1,
      sym_simple_identifier,
    STATE(3800), 1,
      sym__type_casting_pattern,
    STATE(3806), 1,
      sym__bound_identifier,
    STATE(3831), 1,
      sym__no_expr_pattern_already_bound,
    STATE(4817), 1,
      sym_value_binding_pattern,
    STATE(5785), 1,
      sym__dot,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(8616), 1,
      sym_user_type,
    STATE(8652), 1,
      sym__binding_pattern_no_expr,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(3776), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8662), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(3828), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8660), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [208137] = 21,
    ACTIONS(5473), 1,
      anon_sym_LPAREN,
    ACTIONS(8618), 1,
      anon_sym_case,
    ACTIONS(8622), 1,
      sym_wildcard_pattern,
    ACTIONS(8624), 1,
      sym__dot_custom,
    ACTIONS(8674), 1,
      anon_sym_is,
    STATE(1951), 1,
      sym_simple_identifier,
    STATE(2079), 1,
      sym__bound_identifier,
    STATE(2123), 1,
      sym__type_casting_pattern,
    STATE(4817), 1,
      sym_value_binding_pattern,
    STATE(5690), 1,
      sym__dot,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6869), 1,
      sym__no_expr_pattern_already_bound,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(8334), 1,
      sym__binding_pattern_no_expr,
    STATE(8468), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(2007), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8616), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2076), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8614), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [208216] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6714), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6712), 32,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_case,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [208259] = 21,
    ACTIONS(1081), 1,
      anon_sym_is,
    ACTIONS(8544), 1,
      anon_sym_LPAREN,
    ACTIONS(8550), 1,
      sym__dot_custom,
    ACTIONS(8734), 1,
      anon_sym_case,
    ACTIONS(8736), 1,
      sym_wildcard_pattern,
    STATE(4817), 1,
      sym_value_binding_pattern,
    STATE(5637), 1,
      sym__dot,
    STATE(6338), 1,
      sym_simple_identifier,
    STATE(6526), 1,
      sym__bound_identifier,
    STATE(6695), 1,
      sym__type_casting_pattern,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6759), 1,
      sym__no_expr_pattern_already_bound,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(8560), 1,
      sym_user_type,
    STATE(8619), 1,
      sym__binding_pattern_no_expr,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(6429), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8542), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6524), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8540), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [208338] = 21,
    ACTIONS(1081), 1,
      anon_sym_is,
    ACTIONS(8544), 1,
      anon_sym_LPAREN,
    ACTIONS(8550), 1,
      sym__dot_custom,
    ACTIONS(8734), 1,
      anon_sym_case,
    ACTIONS(8736), 1,
      sym_wildcard_pattern,
    STATE(4817), 1,
      sym_value_binding_pattern,
    STATE(5637), 1,
      sym__dot,
    STATE(6338), 1,
      sym_simple_identifier,
    STATE(6526), 1,
      sym__bound_identifier,
    STATE(6695), 1,
      sym__type_casting_pattern,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6776), 1,
      sym__no_expr_pattern_already_bound,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(8560), 1,
      sym_user_type,
    STATE(8619), 1,
      sym__binding_pattern_no_expr,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(6429), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8542), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6524), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8540), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [208417] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6810), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(6808), 32,
      sym_default_keyword,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_case,
      anon_sym_class,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [208460] = 21,
    ACTIONS(913), 1,
      anon_sym_case,
    ACTIONS(915), 1,
      anon_sym_is,
    ACTIONS(8558), 1,
      anon_sym_LPAREN,
    ACTIONS(8570), 1,
      sym__dot_custom,
    ACTIONS(8680), 1,
      sym_wildcard_pattern,
    STATE(4817), 1,
      sym_value_binding_pattern,
    STATE(5656), 1,
      sym__dot,
    STATE(6296), 1,
      sym_simple_identifier,
    STATE(6517), 1,
      sym__bound_identifier,
    STATE(6729), 1,
      sym__type_casting_pattern,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6785), 1,
      sym__no_expr_pattern_already_bound,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(8517), 1,
      sym_user_type,
    STATE(8525), 1,
      sym__binding_pattern_no_expr,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(6361), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8556), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6520), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8554), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [208539] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8740), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8738), 32,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_class,
      anon_sym_willSet,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [208582] = 21,
    ACTIONS(913), 1,
      anon_sym_case,
    ACTIONS(8558), 1,
      anon_sym_LPAREN,
    ACTIONS(8566), 1,
      anon_sym_is,
    ACTIONS(8570), 1,
      sym__dot_custom,
    ACTIONS(8680), 1,
      sym_wildcard_pattern,
    STATE(4817), 1,
      sym_value_binding_pattern,
    STATE(5656), 1,
      sym__dot,
    STATE(6296), 1,
      sym_simple_identifier,
    STATE(6517), 1,
      sym__bound_identifier,
    STATE(6729), 1,
      sym__type_casting_pattern,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6785), 1,
      sym__no_expr_pattern_already_bound,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(8517), 1,
      sym_user_type,
    STATE(8563), 1,
      sym__binding_pattern_no_expr,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(6361), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8556), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6520), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8554), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [208661] = 21,
    ACTIONS(8718), 1,
      anon_sym_LPAREN,
    ACTIONS(8720), 1,
      anon_sym_case,
    ACTIONS(8722), 1,
      anon_sym_is,
    ACTIONS(8724), 1,
      sym_wildcard_pattern,
    ACTIONS(8726), 1,
      sym__dot_custom,
    STATE(4817), 1,
      sym_value_binding_pattern,
    STATE(5535), 1,
      sym__dot,
    STATE(6267), 1,
      sym_simple_identifier,
    STATE(6485), 1,
      sym__bound_identifier,
    STATE(6522), 1,
      sym__type_casting_pattern,
    STATE(6618), 1,
      sym__no_expr_pattern_already_bound,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(8475), 1,
      sym__binding_pattern_no_expr,
    STATE(8520), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(6318), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8716), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6478), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8714), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [208740] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8744), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8742), 32,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_class,
      anon_sym_didSet,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [208783] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8748), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8746), 32,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_class,
      anon_sym_didSet,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [208826] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8752), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8750), 32,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_class,
      anon_sym_willSet,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [208869] = 21,
    ACTIONS(7817), 1,
      anon_sym_LPAREN,
    ACTIONS(8664), 1,
      anon_sym_case,
    ACTIONS(8666), 1,
      anon_sym_is,
    ACTIONS(8668), 1,
      sym_wildcard_pattern,
    ACTIONS(8670), 1,
      sym__dot_custom,
    STATE(3743), 1,
      sym_simple_identifier,
    STATE(3782), 1,
      sym__bound_identifier,
    STATE(3800), 1,
      sym__type_casting_pattern,
    STATE(4093), 1,
      sym__no_expr_pattern_already_bound,
    STATE(4817), 1,
      sym_value_binding_pattern,
    STATE(5785), 1,
      sym__dot,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(8616), 1,
      sym_user_type,
    STATE(8652), 1,
      sym__binding_pattern_no_expr,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(3776), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8662), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(3789), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8660), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [208948] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8756), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8754), 32,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_class,
      anon_sym_willSet,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [208991] = 21,
    ACTIONS(913), 1,
      anon_sym_case,
    ACTIONS(915), 1,
      anon_sym_is,
    ACTIONS(8558), 1,
      anon_sym_LPAREN,
    ACTIONS(8570), 1,
      sym__dot_custom,
    ACTIONS(8680), 1,
      sym_wildcard_pattern,
    STATE(4817), 1,
      sym_value_binding_pattern,
    STATE(5656), 1,
      sym__dot,
    STATE(6296), 1,
      sym_simple_identifier,
    STATE(6517), 1,
      sym__bound_identifier,
    STATE(6663), 1,
      sym__no_expr_pattern_already_bound,
    STATE(6729), 1,
      sym__type_casting_pattern,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(8517), 1,
      sym_user_type,
    STATE(8525), 1,
      sym__binding_pattern_no_expr,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(6361), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8556), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6520), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8554), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [209070] = 21,
    ACTIONS(5473), 1,
      anon_sym_LPAREN,
    ACTIONS(8618), 1,
      anon_sym_case,
    ACTIONS(8624), 1,
      sym__dot_custom,
    ACTIONS(8674), 1,
      anon_sym_is,
    ACTIONS(8676), 1,
      sym_wildcard_pattern,
    STATE(1951), 1,
      sym_simple_identifier,
    STATE(2123), 1,
      sym__type_casting_pattern,
    STATE(4817), 1,
      sym_value_binding_pattern,
    STATE(5690), 1,
      sym__dot,
    STATE(6408), 1,
      sym__bound_identifier,
    STATE(6581), 1,
      sym__no_expr_pattern_already_bound,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(8334), 1,
      sym__binding_pattern_no_expr,
    STATE(8468), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(2007), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8616), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6412), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8614), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [209149] = 21,
    ACTIONS(8650), 1,
      anon_sym_LPAREN,
    ACTIONS(8652), 1,
      anon_sym_case,
    ACTIONS(8654), 1,
      anon_sym_is,
    ACTIONS(8656), 1,
      sym_wildcard_pattern,
    ACTIONS(8658), 1,
      sym__dot_custom,
    STATE(4817), 1,
      sym_value_binding_pattern,
    STATE(5707), 1,
      sym__dot,
    STATE(5812), 1,
      sym_simple_identifier,
    STATE(6100), 1,
      sym__bound_identifier,
    STATE(6225), 1,
      sym__type_casting_pattern,
    STATE(6495), 1,
      sym__no_expr_pattern_already_bound,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(8326), 1,
      sym_user_type,
    STATE(8421), 1,
      sym__binding_pattern_no_expr,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(5996), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8648), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6099), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8646), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [209228] = 5,
    ACTIONS(8758), 1,
      anon_sym_LT,
    STATE(4855), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3083), 9,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AT,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(3081), 23,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [209275] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8762), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8760), 32,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_class,
      anon_sym_didSet,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [209318] = 21,
    ACTIONS(8718), 1,
      anon_sym_LPAREN,
    ACTIONS(8720), 1,
      anon_sym_case,
    ACTIONS(8722), 1,
      anon_sym_is,
    ACTIONS(8726), 1,
      sym__dot_custom,
    ACTIONS(8764), 1,
      sym_wildcard_pattern,
    STATE(4817), 1,
      sym_value_binding_pattern,
    STATE(5535), 1,
      sym__dot,
    STATE(6267), 1,
      sym_simple_identifier,
    STATE(6411), 1,
      sym__bound_identifier,
    STATE(6522), 1,
      sym__type_casting_pattern,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6906), 1,
      sym__no_expr_pattern_already_bound,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(8475), 1,
      sym__binding_pattern_no_expr,
    STATE(8520), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(6318), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8716), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6407), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8714), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [209397] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8768), 2,
      anon_sym_AT,
      anon_sym_unowned,
    ACTIONS(8766), 32,
      anon_sym_lazy,
      anon_sym_package,
      anon_sym_RBRACE,
      anon_sym_class,
      anon_sym_willSet,
      anon_sym_prefix,
      anon_sym_infix,
      anon_sym_postfix,
      anon_sym_override,
      anon_sym_convenience,
      anon_sym_required,
      anon_sym_nonisolated,
      anon_sym_public,
      anon_sym_private,
      anon_sym_internal,
      anon_sym_fileprivate,
      anon_sym_open,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_static,
      anon_sym_dynamic,
      anon_sym_optional,
      anon_sym_distributed,
      anon_sym_final,
      anon_sym_inout,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
      anon_sym_borrowing,
      anon_sym_consuming,
  [209440] = 14,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(8770), 1,
      aux_sym__extended_regex_literal_token1,
    ACTIONS(8772), 1,
      aux_sym__multiline_regex_literal_token1,
    ACTIONS(8774), 1,
      anon_sym_selector,
    ACTIONS(8780), 1,
      anon_sym_keyPath,
    STATE(6248), 1,
      sym_simple_identifier,
    ACTIONS(8782), 2,
      anon_sym_available,
      anon_sym_unavailable,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8778), 3,
      anon_sym_colorLiteral,
      anon_sym_fileLiteral,
      anon_sym_imageLiteral,
    ACTIONS(8784), 3,
      aux_sym_diagnostic_token1,
      aux_sym_diagnostic_token2,
      aux_sym_diagnostic_token3,
    ACTIONS(8776), 7,
      anon_sym_file,
      anon_sym_fileID,
      anon_sym_filePath,
      anon_sym_line,
      anon_sym_column,
      anon_sym_function,
      anon_sym_dsohandle,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [209505] = 21,
    ACTIONS(1081), 1,
      anon_sym_is,
    ACTIONS(8544), 1,
      anon_sym_LPAREN,
    ACTIONS(8550), 1,
      sym__dot_custom,
    ACTIONS(8734), 1,
      anon_sym_case,
    ACTIONS(8786), 1,
      sym_wildcard_pattern,
    STATE(4817), 1,
      sym_value_binding_pattern,
    STATE(5637), 1,
      sym__dot,
    STATE(6338), 1,
      sym_simple_identifier,
    STATE(6695), 1,
      sym__type_casting_pattern,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6783), 1,
      sym__bound_identifier,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(7791), 1,
      sym__no_expr_pattern_already_bound,
    STATE(8560), 1,
      sym_user_type,
    STATE(8619), 1,
      sym__binding_pattern_no_expr,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(6429), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8542), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6786), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8540), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [209584] = 6,
    ACTIONS(8788), 1,
      sym__dot_custom,
    STATE(4826), 1,
      aux_sym_user_type_repeat1,
    STATE(5381), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 8,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AT,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(2991), 23,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [209633] = 6,
    ACTIONS(8678), 1,
      sym__dot_custom,
    STATE(4826), 1,
      aux_sym_user_type_repeat1,
    STATE(5381), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3041), 8,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AT,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(3039), 23,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [209682] = 14,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(8791), 1,
      aux_sym__extended_regex_literal_token1,
    ACTIONS(8793), 1,
      aux_sym__multiline_regex_literal_token1,
    ACTIONS(8795), 1,
      anon_sym_selector,
    ACTIONS(8801), 1,
      anon_sym_keyPath,
    STATE(6247), 1,
      sym_simple_identifier,
    ACTIONS(8803), 2,
      anon_sym_available,
      anon_sym_unavailable,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8799), 3,
      anon_sym_colorLiteral,
      anon_sym_fileLiteral,
      anon_sym_imageLiteral,
    ACTIONS(8805), 3,
      aux_sym_diagnostic_token1,
      aux_sym_diagnostic_token2,
      aux_sym_diagnostic_token3,
    ACTIONS(8797), 7,
      anon_sym_file,
      anon_sym_fileID,
      anon_sym_filePath,
      anon_sym_line,
      anon_sym_column,
      anon_sym_function,
      anon_sym_dsohandle,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [209747] = 20,
    ACTIONS(8558), 1,
      anon_sym_LPAREN,
    ACTIONS(8562), 1,
      anon_sym_case,
    ACTIONS(8566), 1,
      anon_sym_is,
    ACTIONS(8568), 1,
      sym_wildcard_pattern,
    ACTIONS(8570), 1,
      sym__dot_custom,
    STATE(4793), 1,
      sym_value_binding_pattern,
    STATE(5656), 1,
      sym__dot,
    STATE(6296), 1,
      sym_simple_identifier,
    STATE(6729), 1,
      sym__type_casting_pattern,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6832), 1,
      sym__binding_pattern_no_expr,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(6933), 1,
      sym__bound_identifier,
    STATE(8517), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(6361), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8556), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6934), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8554), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [209823] = 14,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(8807), 1,
      aux_sym__extended_regex_literal_token1,
    ACTIONS(8809), 1,
      aux_sym__multiline_regex_literal_token1,
    ACTIONS(8811), 1,
      anon_sym_selector,
    ACTIONS(8817), 1,
      anon_sym_keyPath,
    ACTIONS(8819), 1,
      anon_sym_externalMacro,
    STATE(6277), 1,
      sym_simple_identifier,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8815), 3,
      anon_sym_colorLiteral,
      anon_sym_fileLiteral,
      anon_sym_imageLiteral,
    ACTIONS(8821), 3,
      aux_sym_diagnostic_token1,
      aux_sym_diagnostic_token2,
      aux_sym_diagnostic_token3,
    ACTIONS(8813), 7,
      anon_sym_file,
      anon_sym_fileID,
      anon_sym_filePath,
      anon_sym_line,
      anon_sym_column,
      anon_sym_function,
      anon_sym_dsohandle,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [209887] = 20,
    ACTIONS(8558), 1,
      anon_sym_LPAREN,
    ACTIONS(8562), 1,
      anon_sym_case,
    ACTIONS(8566), 1,
      anon_sym_is,
    ACTIONS(8568), 1,
      sym_wildcard_pattern,
    ACTIONS(8570), 1,
      sym__dot_custom,
    STATE(4793), 1,
      sym_value_binding_pattern,
    STATE(5656), 1,
      sym__dot,
    STATE(6296), 1,
      sym_simple_identifier,
    STATE(6729), 1,
      sym__type_casting_pattern,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(6933), 1,
      sym__bound_identifier,
    STATE(6957), 1,
      sym__binding_pattern_no_expr,
    STATE(8517), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(6361), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8556), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6934), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8554), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [209963] = 20,
    ACTIONS(5473), 1,
      anon_sym_LPAREN,
    ACTIONS(8624), 1,
      sym__dot_custom,
    ACTIONS(8674), 1,
      anon_sym_is,
    ACTIONS(8823), 1,
      anon_sym_case,
    ACTIONS(8825), 1,
      sym_wildcard_pattern,
    STATE(1951), 1,
      sym_simple_identifier,
    STATE(2123), 1,
      sym__type_casting_pattern,
    STATE(4818), 1,
      sym_value_binding_pattern,
    STATE(5690), 1,
      sym__dot,
    STATE(6372), 1,
      sym__binding_pattern_no_expr,
    STATE(6430), 1,
      sym__binding_pattern,
    STATE(6472), 1,
      sym__bound_identifier,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(8468), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(2007), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8616), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6393), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8614), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [210039] = 20,
    ACTIONS(8558), 1,
      anon_sym_LPAREN,
    ACTIONS(8562), 1,
      anon_sym_case,
    ACTIONS(8566), 1,
      anon_sym_is,
    ACTIONS(8568), 1,
      sym_wildcard_pattern,
    ACTIONS(8570), 1,
      sym__dot_custom,
    STATE(4793), 1,
      sym_value_binding_pattern,
    STATE(5656), 1,
      sym__dot,
    STATE(6296), 1,
      sym_simple_identifier,
    STATE(6729), 1,
      sym__type_casting_pattern,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6857), 1,
      sym__binding_pattern_no_expr,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(6933), 1,
      sym__bound_identifier,
    STATE(8517), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(6361), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8556), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6934), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8554), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [210115] = 5,
    ACTIONS(623), 1,
      anon_sym_in,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3725), 8,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_TILDE,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(617), 11,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
    ACTIONS(3727), 13,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_some,
      anon_sym_any,
      anon_sym_AT,
      anon_sym_inout,
      anon_sym_borrowing,
      anon_sym_consuming,
  [210161] = 20,
    ACTIONS(8650), 1,
      anon_sym_LPAREN,
    ACTIONS(8654), 1,
      anon_sym_is,
    ACTIONS(8658), 1,
      sym__dot_custom,
    ACTIONS(8827), 1,
      anon_sym_case,
    ACTIONS(8829), 1,
      sym_wildcard_pattern,
    STATE(4788), 1,
      sym_value_binding_pattern,
    STATE(5707), 1,
      sym__dot,
    STATE(5812), 1,
      sym_simple_identifier,
    STATE(6144), 1,
      sym__bound_identifier,
    STATE(6165), 1,
      sym__binding_pattern,
    STATE(6178), 1,
      sym__binding_pattern_no_expr,
    STATE(6225), 1,
      sym__type_casting_pattern,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(8326), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(5996), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8648), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6167), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8646), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [210237] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 10,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_LT,
      anon_sym_AT,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(3202), 23,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [210279] = 20,
    ACTIONS(8718), 1,
      anon_sym_LPAREN,
    ACTIONS(8722), 1,
      anon_sym_is,
    ACTIONS(8726), 1,
      sym__dot_custom,
    ACTIONS(8831), 1,
      anon_sym_case,
    ACTIONS(8833), 1,
      sym_wildcard_pattern,
    STATE(4799), 1,
      sym_value_binding_pattern,
    STATE(5535), 1,
      sym__dot,
    STATE(6267), 1,
      sym_simple_identifier,
    STATE(6381), 1,
      sym__binding_pattern_no_expr,
    STATE(6402), 1,
      sym__bound_identifier,
    STATE(6404), 1,
      sym__binding_pattern,
    STATE(6522), 1,
      sym__type_casting_pattern,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(8520), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(6318), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8716), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6400), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8714), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [210355] = 20,
    ACTIONS(8558), 1,
      anon_sym_LPAREN,
    ACTIONS(8562), 1,
      anon_sym_case,
    ACTIONS(8566), 1,
      anon_sym_is,
    ACTIONS(8568), 1,
      sym_wildcard_pattern,
    ACTIONS(8570), 1,
      sym__dot_custom,
    STATE(4793), 1,
      sym_value_binding_pattern,
    STATE(5656), 1,
      sym__dot,
    STATE(6296), 1,
      sym_simple_identifier,
    STATE(6729), 1,
      sym__type_casting_pattern,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(6863), 1,
      sym__binding_pattern_no_expr,
    STATE(6927), 1,
      sym__binding_pattern,
    STATE(6933), 1,
      sym__bound_identifier,
    STATE(8517), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(6361), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8556), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(6934), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8554), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [210431] = 23,
    ACTIONS(387), 1,
      anon_sym_AT,
    ACTIONS(391), 1,
      anon_sym_unowned,
    ACTIONS(3977), 1,
      anon_sym_async,
    ACTIONS(3999), 1,
      anon_sym_func,
    ACTIONS(5111), 1,
      anon_sym_typealias,
    ACTIONS(5540), 1,
      anon_sym_enum,
    ACTIONS(5542), 1,
      anon_sym_extension,
    ACTIONS(5544), 1,
      anon_sym_indirect,
    ACTIONS(8835), 1,
      anon_sym_lazy,
    ACTIONS(8837), 1,
      anon_sym_final,
    STATE(7128), 1,
      sym__non_constructor_function_decl,
    STATE(7445), 1,
      sym__modifierless_property_declaration,
    STATE(7659), 1,
      sym__async_modifier,
    STATE(7783), 1,
      sym__modifierless_function_declaration_no_body,
    STATE(8214), 1,
      sym__modifierless_class_declaration,
    STATE(8225), 1,
      sym__modifierless_function_declaration,
    STATE(8228), 1,
      sym__modifierless_typealias_declaration,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3997), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(4783), 2,
      sym_value_binding_pattern,
      sym__possibly_async_binding_pattern_kind,
    ACTIONS(393), 3,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(5536), 3,
      anon_sym_actor,
      anon_sym_struct,
      anon_sym_class,
    STATE(4949), 6,
      sym_attribute,
      aux_sym__locally_permitted_modifiers,
      sym__locally_permitted_modifier,
      sym_property_behavior_modifier,
      sym_inheritance_modifier,
      sym_ownership_modifier,
  [210513] = 20,
    ACTIONS(7817), 1,
      anon_sym_LPAREN,
    ACTIONS(8666), 1,
      anon_sym_is,
    ACTIONS(8670), 1,
      sym__dot_custom,
    ACTIONS(8839), 1,
      anon_sym_case,
    ACTIONS(8841), 1,
      sym_wildcard_pattern,
    STATE(3743), 1,
      sym_simple_identifier,
    STATE(3800), 1,
      sym__type_casting_pattern,
    STATE(3820), 1,
      sym__binding_pattern_no_expr,
    STATE(3821), 1,
      sym__binding_pattern,
    STATE(3822), 1,
      sym__bound_identifier,
    STATE(4801), 1,
      sym_value_binding_pattern,
    STATE(5785), 1,
      sym__dot,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(8616), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(3776), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8662), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(3824), 3,
      sym__universally_allowed_pattern,
      sym__tuple_pattern,
      sym__case_pattern,
    ACTIONS(8660), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [210589] = 14,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(8791), 1,
      aux_sym__extended_regex_literal_token1,
    ACTIONS(8793), 1,
      aux_sym__multiline_regex_literal_token1,
    ACTIONS(8795), 1,
      anon_sym_selector,
    ACTIONS(8801), 1,
      anon_sym_keyPath,
    ACTIONS(8843), 1,
      anon_sym_BANG,
    STATE(6247), 1,
      sym_simple_identifier,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8799), 3,
      anon_sym_colorLiteral,
      anon_sym_fileLiteral,
      anon_sym_imageLiteral,
    ACTIONS(8805), 3,
      aux_sym_diagnostic_token1,
      aux_sym_diagnostic_token2,
      aux_sym_diagnostic_token3,
    ACTIONS(8797), 7,
      anon_sym_file,
      anon_sym_fileID,
      anon_sym_filePath,
      anon_sym_line,
      anon_sym_column,
      anon_sym_function,
      anon_sym_dsohandle,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [210653] = 23,
    ACTIONS(387), 1,
      anon_sym_AT,
    ACTIONS(391), 1,
      anon_sym_unowned,
    ACTIONS(3977), 1,
      anon_sym_async,
    ACTIONS(3999), 1,
      anon_sym_func,
    ACTIONS(8835), 1,
      anon_sym_lazy,
    ACTIONS(8837), 1,
      anon_sym_final,
    ACTIONS(8847), 1,
      anon_sym_typealias,
    ACTIONS(8849), 1,
      anon_sym_enum,
    ACTIONS(8851), 1,
      anon_sym_extension,
    ACTIONS(8853), 1,
      anon_sym_indirect,
    STATE(4577), 1,
      sym__modifierless_typealias_declaration,
    STATE(4579), 1,
      sym__modifierless_class_declaration,
    STATE(4584), 1,
      sym__modifierless_property_declaration,
    STATE(4593), 1,
      sym__modifierless_function_declaration,
    STATE(7128), 1,
      sym__non_constructor_function_decl,
    STATE(7659), 1,
      sym__async_modifier,
    STATE(7718), 1,
      sym__modifierless_function_declaration_no_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3997), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(4785), 2,
      sym_value_binding_pattern,
      sym__possibly_async_binding_pattern_kind,
    ACTIONS(393), 3,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(8845), 3,
      anon_sym_actor,
      anon_sym_struct,
      anon_sym_class,
    STATE(4949), 6,
      sym_attribute,
      aux_sym__locally_permitted_modifiers,
      sym__locally_permitted_modifier,
      sym_property_behavior_modifier,
      sym_inheritance_modifier,
      sym_ownership_modifier,
  [210735] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 9,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AT,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(2991), 23,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [210776] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(8855), 1,
      aux_sym__extended_regex_literal_token1,
    ACTIONS(8857), 1,
      aux_sym__multiline_regex_literal_token1,
    ACTIONS(8859), 1,
      anon_sym_selector,
    ACTIONS(8865), 1,
      anon_sym_keyPath,
    STATE(6251), 1,
      sym_simple_identifier,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8863), 3,
      anon_sym_colorLiteral,
      anon_sym_fileLiteral,
      anon_sym_imageLiteral,
    ACTIONS(8867), 3,
      aux_sym_diagnostic_token1,
      aux_sym_diagnostic_token2,
      aux_sym_diagnostic_token3,
    ACTIONS(8861), 7,
      anon_sym_file,
      anon_sym_fileID,
      anon_sym_filePath,
      anon_sym_line,
      anon_sym_column,
      anon_sym_function,
      anon_sym_dsohandle,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [210837] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3127), 9,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AT,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(3125), 23,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [210878] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(8698), 1,
      aux_sym__extended_regex_literal_token1,
    ACTIONS(8700), 1,
      aux_sym__multiline_regex_literal_token1,
    ACTIONS(8702), 1,
      anon_sym_selector,
    ACTIONS(8708), 1,
      anon_sym_keyPath,
    STATE(6270), 1,
      sym_simple_identifier,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8706), 3,
      anon_sym_colorLiteral,
      anon_sym_fileLiteral,
      anon_sym_imageLiteral,
    ACTIONS(8712), 3,
      aux_sym_diagnostic_token1,
      aux_sym_diagnostic_token2,
      aux_sym_diagnostic_token3,
    ACTIONS(8704), 7,
      anon_sym_file,
      anon_sym_fileID,
      anon_sym_filePath,
      anon_sym_line,
      anon_sym_column,
      anon_sym_function,
      anon_sym_dsohandle,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [210939] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3135), 9,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AT,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(3133), 23,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [210980] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(8869), 1,
      aux_sym__extended_regex_literal_token1,
    ACTIONS(8871), 1,
      aux_sym__multiline_regex_literal_token1,
    ACTIONS(8873), 1,
      anon_sym_selector,
    ACTIONS(8879), 1,
      anon_sym_keyPath,
    STATE(6279), 1,
      sym_simple_identifier,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8877), 3,
      anon_sym_colorLiteral,
      anon_sym_fileLiteral,
      anon_sym_imageLiteral,
    ACTIONS(8881), 3,
      aux_sym_diagnostic_token1,
      aux_sym_diagnostic_token2,
      aux_sym_diagnostic_token3,
    ACTIONS(8875), 7,
      anon_sym_file,
      anon_sym_fileID,
      anon_sym_filePath,
      anon_sym_line,
      anon_sym_column,
      anon_sym_function,
      anon_sym_dsohandle,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [211041] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(8682), 1,
      aux_sym__extended_regex_literal_token1,
    ACTIONS(8684), 1,
      aux_sym__multiline_regex_literal_token1,
    ACTIONS(8686), 1,
      anon_sym_selector,
    ACTIONS(8692), 1,
      anon_sym_keyPath,
    STATE(6261), 1,
      sym_simple_identifier,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8690), 3,
      anon_sym_colorLiteral,
      anon_sym_fileLiteral,
      anon_sym_imageLiteral,
    ACTIONS(8696), 3,
      aux_sym_diagnostic_token1,
      aux_sym_diagnostic_token2,
      aux_sym_diagnostic_token3,
    ACTIONS(8688), 7,
      anon_sym_file,
      anon_sym_fileID,
      anon_sym_filePath,
      anon_sym_line,
      anon_sym_column,
      anon_sym_function,
      anon_sym_dsohandle,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [211102] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(8807), 1,
      aux_sym__extended_regex_literal_token1,
    ACTIONS(8809), 1,
      aux_sym__multiline_regex_literal_token1,
    ACTIONS(8811), 1,
      anon_sym_selector,
    ACTIONS(8817), 1,
      anon_sym_keyPath,
    STATE(6277), 1,
      sym_simple_identifier,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8815), 3,
      anon_sym_colorLiteral,
      anon_sym_fileLiteral,
      anon_sym_imageLiteral,
    ACTIONS(8821), 3,
      aux_sym_diagnostic_token1,
      aux_sym_diagnostic_token2,
      aux_sym_diagnostic_token3,
    ACTIONS(8813), 7,
      anon_sym_file,
      anon_sym_fileID,
      anon_sym_filePath,
      anon_sym_line,
      anon_sym_column,
      anon_sym_function,
      anon_sym_dsohandle,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [211163] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3107), 9,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AT,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(3105), 23,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [211204] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(8698), 1,
      aux_sym__extended_regex_literal_token1,
    ACTIONS(8700), 1,
      aux_sym__multiline_regex_literal_token1,
    ACTIONS(8702), 1,
      anon_sym_selector,
    ACTIONS(8708), 1,
      anon_sym_keyPath,
    STATE(6256), 1,
      sym_simple_identifier,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8706), 3,
      anon_sym_colorLiteral,
      anon_sym_fileLiteral,
      anon_sym_imageLiteral,
    ACTIONS(8712), 3,
      aux_sym_diagnostic_token1,
      aux_sym_diagnostic_token2,
      aux_sym_diagnostic_token3,
    ACTIONS(8704), 7,
      anon_sym_file,
      anon_sym_fileID,
      anon_sym_filePath,
      anon_sym_line,
      anon_sym_column,
      anon_sym_function,
      anon_sym_dsohandle,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [211265] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(8770), 1,
      aux_sym__extended_regex_literal_token1,
    ACTIONS(8772), 1,
      aux_sym__multiline_regex_literal_token1,
    ACTIONS(8774), 1,
      anon_sym_selector,
    ACTIONS(8780), 1,
      anon_sym_keyPath,
    STATE(6248), 1,
      sym_simple_identifier,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8778), 3,
      anon_sym_colorLiteral,
      anon_sym_fileLiteral,
      anon_sym_imageLiteral,
    ACTIONS(8784), 3,
      aux_sym_diagnostic_token1,
      aux_sym_diagnostic_token2,
      aux_sym_diagnostic_token3,
    ACTIONS(8776), 7,
      anon_sym_file,
      anon_sym_fileID,
      anon_sym_filePath,
      anon_sym_line,
      anon_sym_column,
      anon_sym_function,
      anon_sym_dsohandle,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [211326] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(8883), 1,
      aux_sym__extended_regex_literal_token1,
    ACTIONS(8885), 1,
      aux_sym__multiline_regex_literal_token1,
    ACTIONS(8887), 1,
      anon_sym_selector,
    ACTIONS(8893), 1,
      anon_sym_keyPath,
    STATE(6238), 1,
      sym_simple_identifier,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8891), 3,
      anon_sym_colorLiteral,
      anon_sym_fileLiteral,
      anon_sym_imageLiteral,
    ACTIONS(8895), 3,
      aux_sym_diagnostic_token1,
      aux_sym_diagnostic_token2,
      aux_sym_diagnostic_token3,
    ACTIONS(8889), 7,
      anon_sym_file,
      anon_sym_fileID,
      anon_sym_filePath,
      anon_sym_line,
      anon_sym_column,
      anon_sym_function,
      anon_sym_dsohandle,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [211387] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3196), 9,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AT,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(3194), 23,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [211428] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(8791), 1,
      aux_sym__extended_regex_literal_token1,
    ACTIONS(8793), 1,
      aux_sym__multiline_regex_literal_token1,
    ACTIONS(8795), 1,
      anon_sym_selector,
    ACTIONS(8801), 1,
      anon_sym_keyPath,
    STATE(6247), 1,
      sym_simple_identifier,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8799), 3,
      anon_sym_colorLiteral,
      anon_sym_fileLiteral,
      anon_sym_imageLiteral,
    ACTIONS(8805), 3,
      aux_sym_diagnostic_token1,
      aux_sym_diagnostic_token2,
      aux_sym_diagnostic_token3,
    ACTIONS(8797), 7,
      anon_sym_file,
      anon_sym_fileID,
      anon_sym_filePath,
      anon_sym_line,
      anon_sym_column,
      anon_sym_function,
      anon_sym_dsohandle,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [211489] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3200), 9,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AT,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(3198), 23,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [211530] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(8897), 1,
      aux_sym__extended_regex_literal_token1,
    ACTIONS(8899), 1,
      aux_sym__multiline_regex_literal_token1,
    ACTIONS(8901), 1,
      anon_sym_selector,
    ACTIONS(8907), 1,
      anon_sym_keyPath,
    STATE(6275), 1,
      sym_simple_identifier,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8905), 3,
      anon_sym_colorLiteral,
      anon_sym_fileLiteral,
      anon_sym_imageLiteral,
    ACTIONS(8909), 3,
      aux_sym_diagnostic_token1,
      aux_sym_diagnostic_token2,
      aux_sym_diagnostic_token3,
    ACTIONS(8903), 7,
      anon_sym_file,
      anon_sym_fileID,
      anon_sym_filePath,
      anon_sym_line,
      anon_sym_column,
      anon_sym_function,
      anon_sym_dsohandle,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [211591] = 4,
    ACTIONS(8911), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4977), 7,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LBRACK,
      anon_sym_AT,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(4975), 23,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [211633] = 7,
    ACTIONS(7819), 1,
      anon_sym_AT,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6205), 2,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(6200), 3,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
    ACTIONS(6198), 5,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
    ACTIONS(6196), 8,
      aux_sym_simple_identifier_token1,
      anon_sym_each,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(6203), 12,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned,
  [211681] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4973), 8,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AT,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(4971), 23,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [211721] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4994), 8,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AT,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(4992), 23,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [211761] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4957), 8,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AT,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    ACTIONS(4955), 23,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned,
      anon_sym_borrowing,
      anon_sym_consuming,
  [211801] = 11,
    ACTIONS(8914), 1,
      anon_sym_BANG,
    ACTIONS(8916), 1,
      anon_sym_LPAREN,
    ACTIONS(8922), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(1309), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(8920), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(2967), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(1297), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8918), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(2889), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(1295), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [211853] = 11,
    ACTIONS(8924), 1,
      anon_sym_BANG,
    ACTIONS(8926), 1,
      anon_sym_LPAREN,
    ACTIONS(8932), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(31), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(8930), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(2368), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(13), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8928), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(2332), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(11), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [211905] = 6,
    ACTIONS(3046), 1,
      anon_sym_unowned,
    ACTIONS(8934), 1,
      sym__dot_custom,
    STATE(4908), 1,
      aux_sym_user_type_repeat1,
    STATE(5448), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3048), 23,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_LPAREN,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
  [211947] = 11,
    ACTIONS(8936), 1,
      anon_sym_BANG,
    ACTIONS(8938), 1,
      anon_sym_LPAREN,
    ACTIONS(8944), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(461), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(8942), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(864), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(451), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8940), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(868), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(449), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [211999] = 11,
    ACTIONS(8946), 1,
      anon_sym_BANG,
    ACTIONS(8954), 1,
      anon_sym_LPAREN,
    ACTIONS(8960), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8952), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(8958), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(8093), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8950), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8956), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(6850), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(8948), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [212051] = 11,
    ACTIONS(8946), 1,
      anon_sym_BANG,
    ACTIONS(8954), 1,
      anon_sym_LPAREN,
    ACTIONS(8960), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8952), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(8958), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(8093), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8950), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8956), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(6891), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(8948), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [212103] = 11,
    ACTIONS(8962), 1,
      anon_sym_BANG,
    ACTIONS(8964), 1,
      anon_sym_LPAREN,
    ACTIONS(8970), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(673), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(8968), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(1147), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(663), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8966), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(1166), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(661), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [212155] = 11,
    ACTIONS(8946), 1,
      anon_sym_BANG,
    ACTIONS(8954), 1,
      anon_sym_LPAREN,
    ACTIONS(8960), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8952), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(8958), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(8093), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8950), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8956), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(6901), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(8948), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [212207] = 11,
    ACTIONS(8962), 1,
      anon_sym_BANG,
    ACTIONS(8964), 1,
      anon_sym_LPAREN,
    ACTIONS(8970), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(673), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(8968), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(1147), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(663), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8966), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(1168), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(661), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [212259] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3491), 11,
      sym_raw_str_part,
      sym_raw_str_end_part,
      sym__hash_symbol_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      sym_real_literal,
      sym_oct_literal,
      sym_bin_literal,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
      anon_sym_RBRACE,
    ACTIONS(3489), 16,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_nil,
      sym_integer_literal,
      sym_hex_literal,
      anon_sym_true,
      anon_sym_false,
      anon_sym_DQUOTE,
      sym__oneline_regex_literal,
      anon_sym_borrowing,
      anon_sym_consuming,
  [212295] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3467), 11,
      sym_raw_str_part,
      sym_raw_str_end_part,
      sym__hash_symbol_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      sym_real_literal,
      sym_oct_literal,
      sym_bin_literal,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
      anon_sym_RBRACE,
    ACTIONS(3465), 16,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_nil,
      sym_integer_literal,
      sym_hex_literal,
      anon_sym_true,
      anon_sym_false,
      anon_sym_DQUOTE,
      sym__oneline_regex_literal,
      anon_sym_borrowing,
      anon_sym_consuming,
  [212331] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3435), 11,
      sym_raw_str_part,
      sym_raw_str_end_part,
      sym__hash_symbol_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      sym_real_literal,
      sym_oct_literal,
      sym_bin_literal,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
      anon_sym_RBRACE,
    ACTIONS(3433), 16,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_nil,
      sym_integer_literal,
      sym_hex_literal,
      anon_sym_true,
      anon_sym_false,
      anon_sym_DQUOTE,
      sym__oneline_regex_literal,
      anon_sym_borrowing,
      anon_sym_consuming,
  [212367] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3471), 11,
      sym_raw_str_part,
      sym_raw_str_end_part,
      sym__hash_symbol_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      sym_real_literal,
      sym_oct_literal,
      sym_bin_literal,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
      anon_sym_RBRACE,
    ACTIONS(3469), 16,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_nil,
      sym_integer_literal,
      sym_hex_literal,
      anon_sym_true,
      anon_sym_false,
      anon_sym_DQUOTE,
      sym__oneline_regex_literal,
      anon_sym_borrowing,
      anon_sym_consuming,
  [212403] = 11,
    ACTIONS(8936), 1,
      anon_sym_BANG,
    ACTIONS(8938), 1,
      anon_sym_LPAREN,
    ACTIONS(8944), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(461), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(8942), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(864), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(451), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8940), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(858), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(449), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [212455] = 11,
    ACTIONS(8946), 1,
      anon_sym_BANG,
    ACTIONS(8954), 1,
      anon_sym_LPAREN,
    ACTIONS(8960), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8952), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(8958), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(8093), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8950), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8956), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(6945), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(8948), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [212507] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3419), 11,
      sym_raw_str_part,
      sym_raw_str_end_part,
      sym__hash_symbol_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      sym_real_literal,
      sym_oct_literal,
      sym_bin_literal,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
      anon_sym_RBRACE,
    ACTIONS(3417), 16,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_nil,
      sym_integer_literal,
      sym_hex_literal,
      anon_sym_true,
      anon_sym_false,
      anon_sym_DQUOTE,
      sym__oneline_regex_literal,
      anon_sym_borrowing,
      anon_sym_consuming,
  [212543] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 11,
      sym_raw_str_part,
      sym_raw_str_end_part,
      sym__hash_symbol_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      sym_real_literal,
      sym_oct_literal,
      sym_bin_literal,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
      anon_sym_RBRACE,
    ACTIONS(3202), 16,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_nil,
      sym_integer_literal,
      sym_hex_literal,
      anon_sym_true,
      anon_sym_false,
      anon_sym_DQUOTE,
      sym__oneline_regex_literal,
      anon_sym_borrowing,
      anon_sym_consuming,
  [212579] = 11,
    ACTIONS(8924), 1,
      anon_sym_BANG,
    ACTIONS(8926), 1,
      anon_sym_LPAREN,
    ACTIONS(8932), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(31), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(8930), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(2368), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(13), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8928), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(2323), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(11), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [212631] = 11,
    ACTIONS(8946), 1,
      anon_sym_BANG,
    ACTIONS(8954), 1,
      anon_sym_LPAREN,
    ACTIONS(8960), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8952), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(8958), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(8093), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8950), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8956), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(6859), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(8948), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [212683] = 11,
    ACTIONS(8946), 1,
      anon_sym_BANG,
    ACTIONS(8954), 1,
      anon_sym_LPAREN,
    ACTIONS(8960), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8952), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(8958), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(8093), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8950), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8956), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(6971), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(8948), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [212735] = 11,
    ACTIONS(8924), 1,
      anon_sym_BANG,
    ACTIONS(8926), 1,
      anon_sym_LPAREN,
    ACTIONS(8932), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(31), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(8930), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(2368), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(13), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8928), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(2373), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(11), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [212787] = 11,
    ACTIONS(8972), 1,
      anon_sym_BANG,
    ACTIONS(8974), 1,
      anon_sym_LPAREN,
    ACTIONS(8980), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(983), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(8978), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(2240), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(973), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8976), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(2281), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(971), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [212839] = 11,
    ACTIONS(8946), 1,
      anon_sym_BANG,
    ACTIONS(8954), 1,
      anon_sym_LPAREN,
    ACTIONS(8960), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8952), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(8958), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(8093), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8950), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8956), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(7017), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(8948), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [212891] = 11,
    ACTIONS(8946), 1,
      anon_sym_BANG,
    ACTIONS(8954), 1,
      anon_sym_LPAREN,
    ACTIONS(8960), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8952), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(8958), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(8093), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8950), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8956), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(6836), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(8948), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [212943] = 11,
    ACTIONS(8914), 1,
      anon_sym_BANG,
    ACTIONS(8916), 1,
      anon_sym_LPAREN,
    ACTIONS(8922), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(1309), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(8920), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(2967), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(1297), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8918), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(3007), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(1295), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [212995] = 11,
    ACTIONS(8972), 1,
      anon_sym_BANG,
    ACTIONS(8974), 1,
      anon_sym_LPAREN,
    ACTIONS(8980), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(983), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(8978), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(2240), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(973), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8976), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(2225), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(971), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [213047] = 11,
    ACTIONS(8936), 1,
      anon_sym_BANG,
    ACTIONS(8938), 1,
      anon_sym_LPAREN,
    ACTIONS(8944), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(461), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(8942), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(864), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(451), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8940), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(863), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(449), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [213099] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3399), 11,
      sym_raw_str_part,
      sym_raw_str_end_part,
      sym__hash_symbol_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      sym_real_literal,
      sym_oct_literal,
      sym_bin_literal,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
      anon_sym_RBRACE,
    ACTIONS(3397), 16,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_nil,
      sym_integer_literal,
      sym_hex_literal,
      anon_sym_true,
      anon_sym_false,
      anon_sym_DQUOTE,
      sym__oneline_regex_literal,
      anon_sym_borrowing,
      anon_sym_consuming,
  [213135] = 11,
    ACTIONS(8972), 1,
      anon_sym_BANG,
    ACTIONS(8974), 1,
      anon_sym_LPAREN,
    ACTIONS(8980), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(983), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(8978), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(2240), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(973), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8976), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(2305), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(971), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [213187] = 11,
    ACTIONS(8962), 1,
      anon_sym_BANG,
    ACTIONS(8964), 1,
      anon_sym_LPAREN,
    ACTIONS(8970), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(673), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(8968), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(1147), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(663), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8966), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(1149), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(661), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [213239] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3439), 11,
      sym_raw_str_part,
      sym_raw_str_end_part,
      sym__hash_symbol_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      sym_real_literal,
      sym_oct_literal,
      sym_bin_literal,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
      anon_sym_RBRACE,
    ACTIONS(3437), 16,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_nil,
      sym_integer_literal,
      sym_hex_literal,
      anon_sym_true,
      anon_sym_false,
      anon_sym_DQUOTE,
      sym__oneline_regex_literal,
      anon_sym_borrowing,
      anon_sym_consuming,
  [213275] = 5,
    ACTIONS(3081), 1,
      anon_sym_unowned,
    ACTIONS(8982), 1,
      anon_sym_LT,
    STATE(4937), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3083), 24,
      sym__dot_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_LPAREN,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
  [213315] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3447), 11,
      sym_raw_str_part,
      sym_raw_str_end_part,
      sym__hash_symbol_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      sym_real_literal,
      sym_oct_literal,
      sym_bin_literal,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
      anon_sym_RBRACE,
    ACTIONS(3445), 16,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_nil,
      sym_integer_literal,
      sym_hex_literal,
      anon_sym_true,
      anon_sym_false,
      anon_sym_DQUOTE,
      sym__oneline_regex_literal,
      anon_sym_borrowing,
      anon_sym_consuming,
  [213351] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3451), 11,
      sym_raw_str_part,
      sym_raw_str_end_part,
      sym__hash_symbol_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      sym_real_literal,
      sym_oct_literal,
      sym_bin_literal,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
      anon_sym_RBRACE,
    ACTIONS(3449), 16,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_nil,
      sym_integer_literal,
      sym_hex_literal,
      anon_sym_true,
      anon_sym_false,
      anon_sym_DQUOTE,
      sym__oneline_regex_literal,
      anon_sym_borrowing,
      anon_sym_consuming,
  [213387] = 11,
    ACTIONS(8984), 1,
      anon_sym_BANG,
    ACTIONS(8986), 1,
      anon_sym_LPAREN,
    ACTIONS(8992), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(1133), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(8990), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(2445), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(1123), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8988), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(2572), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(1121), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [213439] = 11,
    ACTIONS(8946), 1,
      anon_sym_BANG,
    ACTIONS(8954), 1,
      anon_sym_LPAREN,
    ACTIONS(8960), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8952), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(8958), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(8093), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8950), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8956), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(7029), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(8948), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [213491] = 11,
    ACTIONS(8994), 1,
      anon_sym_BANG,
    ACTIONS(8996), 1,
      anon_sym_LPAREN,
    ACTIONS(9002), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(1045), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(9000), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(2787), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(1035), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8998), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(2658), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(1033), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [213543] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3411), 11,
      sym_raw_str_part,
      sym_raw_str_end_part,
      sym__hash_symbol_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      sym_real_literal,
      sym_oct_literal,
      sym_bin_literal,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
      anon_sym_RBRACE,
    ACTIONS(3409), 16,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_nil,
      sym_integer_literal,
      sym_hex_literal,
      anon_sym_true,
      anon_sym_false,
      anon_sym_DQUOTE,
      sym__oneline_regex_literal,
      anon_sym_borrowing,
      anon_sym_consuming,
  [213579] = 11,
    ACTIONS(9004), 1,
      anon_sym_BANG,
    ACTIONS(9006), 1,
      anon_sym_LPAREN,
    ACTIONS(9012), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(1209), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(9010), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(2652), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(1199), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9008), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(2669), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(1197), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [213631] = 6,
    ACTIONS(2991), 1,
      anon_sym_unowned,
    ACTIONS(9014), 1,
      sym__dot_custom,
    STATE(4903), 1,
      aux_sym_user_type_repeat1,
    STATE(5448), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 23,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_LPAREN,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
  [213673] = 11,
    ACTIONS(8984), 1,
      anon_sym_BANG,
    ACTIONS(8986), 1,
      anon_sym_LPAREN,
    ACTIONS(8992), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(1133), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(8990), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(2445), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(1123), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8988), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(2538), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(1121), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [213725] = 11,
    ACTIONS(9004), 1,
      anon_sym_BANG,
    ACTIONS(9006), 1,
      anon_sym_LPAREN,
    ACTIONS(9012), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(1209), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(9010), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(2652), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(1199), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9008), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(2643), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(1197), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [213777] = 11,
    ACTIONS(8946), 1,
      anon_sym_BANG,
    ACTIONS(8954), 1,
      anon_sym_LPAREN,
    ACTIONS(8960), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8952), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(8958), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(8093), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8950), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8956), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(6951), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(8948), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [213829] = 11,
    ACTIONS(8984), 1,
      anon_sym_BANG,
    ACTIONS(8986), 1,
      anon_sym_LPAREN,
    ACTIONS(8992), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(1133), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(8990), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(2445), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(1123), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8988), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(2454), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(1121), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [213881] = 6,
    ACTIONS(3039), 1,
      anon_sym_unowned,
    ACTIONS(8934), 1,
      sym__dot_custom,
    STATE(4903), 1,
      aux_sym_user_type_repeat1,
    STATE(5448), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3041), 23,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_LPAREN,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
  [213923] = 16,
    ACTIONS(9017), 1,
      anon_sym_LPAREN,
    ACTIONS(9019), 1,
      anon_sym_LBRACK,
    ACTIONS(9021), 1,
      anon_sym_in,
    ACTIONS(9023), 1,
      anon_sym_self,
    ACTIONS(9025), 1,
      anon_sym_AT,
    STATE(4970), 1,
      sym_capture_list,
    STATE(4971), 1,
      sym_simple_identifier,
    STATE(6437), 1,
      sym_lambda_function_type_parameters,
    STATE(6644), 1,
      sym_lambda_parameter,
    STATE(6765), 1,
      sym_self_expression,
    STATE(8957), 1,
      sym_lambda_function_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4919), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5081), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(3915), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3913), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [213985] = 11,
    ACTIONS(9027), 1,
      anon_sym_BANG,
    ACTIONS(9029), 1,
      anon_sym_LPAREN,
    ACTIONS(9035), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(307), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(9033), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(1210), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(291), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9031), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(1187), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(289), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [214037] = 11,
    ACTIONS(8994), 1,
      anon_sym_BANG,
    ACTIONS(8996), 1,
      anon_sym_LPAREN,
    ACTIONS(9002), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(1045), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(9000), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(2787), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(1035), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8998), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(2790), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(1033), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [214089] = 11,
    ACTIONS(9027), 1,
      anon_sym_BANG,
    ACTIONS(9029), 1,
      anon_sym_LPAREN,
    ACTIONS(9035), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(307), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(9033), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(1210), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(291), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9031), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(1200), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(289), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [214141] = 11,
    ACTIONS(9027), 1,
      anon_sym_BANG,
    ACTIONS(9029), 1,
      anon_sym_LPAREN,
    ACTIONS(9035), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(307), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(9033), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(1210), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(291), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9031), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(1183), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(289), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [214193] = 11,
    ACTIONS(8994), 1,
      anon_sym_BANG,
    ACTIONS(8996), 1,
      anon_sym_LPAREN,
    ACTIONS(9002), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(1045), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(9000), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(2787), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(1035), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8998), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(2815), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(1033), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [214245] = 11,
    ACTIONS(8946), 1,
      anon_sym_BANG,
    ACTIONS(8954), 1,
      anon_sym_LPAREN,
    ACTIONS(8960), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8952), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(8958), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(8093), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8950), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8956), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(6990), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(8948), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [214297] = 11,
    ACTIONS(8946), 1,
      anon_sym_BANG,
    ACTIONS(8954), 1,
      anon_sym_LPAREN,
    ACTIONS(8960), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8952), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(8958), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(8093), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(8950), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8956), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(6893), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(8948), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [214349] = 11,
    ACTIONS(9004), 1,
      anon_sym_BANG,
    ACTIONS(9006), 1,
      anon_sym_LPAREN,
    ACTIONS(9012), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(1209), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(9010), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(2652), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(1199), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9008), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(2833), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(1197), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [214401] = 11,
    ACTIONS(8914), 1,
      anon_sym_BANG,
    ACTIONS(8916), 1,
      anon_sym_LPAREN,
    ACTIONS(8922), 1,
      anon_sym_canImport,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(1309), 2,
      anon_sym_true,
      anon_sym_false,
    ACTIONS(8920), 2,
      anon_sym_swift,
      anon_sym_compiler,
    STATE(2967), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(1297), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(8918), 3,
      anon_sym_os,
      anon_sym_arch,
      anon_sym_targetEnvironment,
    STATE(2964), 3,
      sym_simple_identifier,
      sym_boolean_literal,
      sym__compilation_condition,
    ACTIONS(1295), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [214453] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3202), 10,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(3204), 16,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
  [214488] = 3,
    ACTIONS(3202), 1,
      anon_sym_unowned,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 25,
      sym__dot_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_LPAREN,
      anon_sym_LT,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
  [214523] = 24,
    ACTIONS(3977), 1,
      anon_sym_async,
    ACTIONS(3989), 1,
      anon_sym_typealias,
    ACTIONS(3993), 1,
      anon_sym_enum,
    ACTIONS(3999), 1,
      anon_sym_func,
    ACTIONS(4001), 1,
      anon_sym_extension,
    ACTIONS(9037), 1,
      anon_sym_case,
    ACTIONS(9039), 1,
      anon_sym_import,
    ACTIONS(9041), 1,
      anon_sym_class,
    ACTIONS(9043), 1,
      anon_sym_protocol,
    ACTIONS(9045), 1,
      anon_sym_indirect,
    ACTIONS(9047), 1,
      anon_sym_init,
    ACTIONS(9049), 1,
      anon_sym_deinit,
    ACTIONS(9051), 1,
      anon_sym_subscript,
    ACTIONS(9053), 1,
      anon_sym_associatedtype,
    STATE(3219), 1,
      sym__modifierless_property_declaration,
    STATE(3221), 1,
      sym__modifierless_typealias_declaration,
    STATE(3222), 1,
      sym__modifierless_class_declaration,
    STATE(7128), 1,
      sym__non_constructor_function_decl,
    STATE(7659), 1,
      sym__async_modifier,
    STATE(8844), 1,
      sym__modifierless_function_declaration_no_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3975), 2,
      anon_sym_actor,
      anon_sym_struct,
    ACTIONS(3997), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(4775), 2,
      sym_value_binding_pattern,
      sym__possibly_async_binding_pattern_kind,
  [214600] = 14,
    ACTIONS(9055), 1,
      anon_sym_each,
    ACTIONS(9057), 1,
      anon_sym_GT,
    ACTIONS(9059), 1,
      anon_sym_AT,
    ACTIONS(9061), 1,
      sym_where_keyword,
    STATE(5301), 1,
      sym_type_parameter_modifiers,
    STATE(7077), 1,
      sym_simple_identifier,
    STATE(7733), 1,
      sym_type_parameter,
    STATE(8737), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5716), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(7078), 2,
      sym_type_parameter_pack,
      sym__type_parameter_possibly_packed,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 8,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [214656] = 3,
    ACTIONS(3198), 1,
      anon_sym_unowned,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3200), 24,
      sym__dot_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_LPAREN,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
  [214690] = 8,
    STATE(5333), 1,
      sym__import_kind,
    STATE(6731), 1,
      sym_simple_identifier,
    STATE(7929), 1,
      sym_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(7386), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9065), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9067), 8,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
    ACTIONS(9063), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [214734] = 14,
    ACTIONS(9055), 1,
      anon_sym_each,
    ACTIONS(9059), 1,
      anon_sym_AT,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9069), 1,
      anon_sym_GT,
    STATE(5301), 1,
      sym_type_parameter_modifiers,
    STATE(7077), 1,
      sym_simple_identifier,
    STATE(7733), 1,
      sym_type_parameter,
    STATE(8880), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5716), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(7078), 2,
      sym_type_parameter_pack,
      sym__type_parameter_possibly_packed,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 8,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [214790] = 3,
    ACTIONS(3133), 1,
      anon_sym_unowned,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3135), 24,
      sym__dot_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_LPAREN,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
  [214824] = 3,
    ACTIONS(3125), 1,
      anon_sym_unowned,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3127), 24,
      sym__dot_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_LPAREN,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
  [214858] = 3,
    ACTIONS(3105), 1,
      anon_sym_unowned,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3107), 24,
      sym__dot_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_LPAREN,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
  [214892] = 14,
    ACTIONS(9055), 1,
      anon_sym_each,
    ACTIONS(9059), 1,
      anon_sym_AT,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9071), 1,
      anon_sym_GT,
    STATE(5301), 1,
      sym_type_parameter_modifiers,
    STATE(7077), 1,
      sym_simple_identifier,
    STATE(7733), 1,
      sym_type_parameter,
    STATE(8738), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5716), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(7078), 2,
      sym_type_parameter_pack,
      sym__type_parameter_possibly_packed,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 8,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [214948] = 8,
    STATE(2390), 1,
      sym_simple_identifier,
    STATE(3166), 1,
      sym_identifier,
    STATE(5489), 1,
      sym__import_kind,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9077), 8,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [214992] = 23,
    ACTIONS(3977), 1,
      anon_sym_async,
    ACTIONS(3999), 1,
      anon_sym_func,
    ACTIONS(4246), 1,
      anon_sym_typealias,
    ACTIONS(4250), 1,
      anon_sym_enum,
    ACTIONS(4254), 1,
      anon_sym_extension,
    ACTIONS(4256), 1,
      anon_sym_indirect,
    ACTIONS(9079), 1,
      anon_sym_import,
    ACTIONS(9081), 1,
      anon_sym_class,
    ACTIONS(9083), 1,
      anon_sym_protocol,
    ACTIONS(9085), 1,
      anon_sym_init,
    ACTIONS(9087), 1,
      anon_sym_deinit,
    ACTIONS(9089), 1,
      anon_sym_subscript,
    ACTIONS(9091), 1,
      anon_sym_associatedtype,
    STATE(7128), 1,
      sym__non_constructor_function_decl,
    STATE(7659), 1,
      sym__async_modifier,
    STATE(7673), 1,
      sym__modifierless_property_declaration,
    STATE(7676), 1,
      sym__modifierless_typealias_declaration,
    STATE(7682), 1,
      sym__modifierless_class_declaration,
    STATE(8844), 1,
      sym__modifierless_function_declaration_no_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3997), 2,
      anon_sym_let,
      anon_sym_var,
    ACTIONS(4240), 2,
      anon_sym_actor,
      anon_sym_struct,
    STATE(4778), 2,
      sym_value_binding_pattern,
      sym__possibly_async_binding_pattern_kind,
  [215066] = 8,
    STATE(5457), 1,
      sym__import_kind,
    STATE(6667), 1,
      sym_simple_identifier,
    STATE(7657), 1,
      sym_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(7375), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9095), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9097), 8,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
    ACTIONS(9093), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [215110] = 8,
    STATE(5497), 1,
      sym__import_kind,
    STATE(6667), 1,
      sym_simple_identifier,
    STATE(7720), 1,
      sym_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(7375), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9095), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9099), 8,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
    ACTIONS(9093), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [215154] = 14,
    ACTIONS(9055), 1,
      anon_sym_each,
    ACTIONS(9059), 1,
      anon_sym_AT,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9101), 1,
      anon_sym_GT,
    STATE(5301), 1,
      sym_type_parameter_modifiers,
    STATE(7077), 1,
      sym_simple_identifier,
    STATE(7733), 1,
      sym_type_parameter,
    STATE(8909), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5716), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(7078), 2,
      sym_type_parameter_pack,
      sym__type_parameter_possibly_packed,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 8,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [215210] = 8,
    STATE(5383), 1,
      sym__import_kind,
    STATE(6731), 1,
      sym_simple_identifier,
    STATE(8046), 1,
      sym_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(7386), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9065), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9103), 8,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
    ACTIONS(9063), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [215254] = 3,
    ACTIONS(2991), 1,
      anon_sym_unowned,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 24,
      sym__dot_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_LPAREN,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
  [215288] = 3,
    ACTIONS(3194), 1,
      anon_sym_unowned,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3196), 24,
      sym__dot_custom,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_LPAREN,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
  [215322] = 14,
    ACTIONS(9055), 1,
      anon_sym_each,
    ACTIONS(9059), 1,
      anon_sym_AT,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9105), 1,
      anon_sym_GT,
    STATE(5301), 1,
      sym_type_parameter_modifiers,
    STATE(7077), 1,
      sym_simple_identifier,
    STATE(7733), 1,
      sym_type_parameter,
    STATE(8890), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5716), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(7078), 2,
      sym_type_parameter_pack,
      sym__type_parameter_possibly_packed,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 8,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [215378] = 8,
    STATE(2390), 1,
      sym_simple_identifier,
    STATE(3275), 1,
      sym_identifier,
    STATE(5466), 1,
      sym__import_kind,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9107), 8,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_protocol,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [215422] = 14,
    ACTIONS(9055), 1,
      anon_sym_each,
    ACTIONS(9059), 1,
      anon_sym_AT,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9109), 1,
      anon_sym_GT,
    STATE(5301), 1,
      sym_type_parameter_modifiers,
    STATE(7077), 1,
      sym_simple_identifier,
    STATE(7733), 1,
      sym_type_parameter,
    STATE(8715), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5716), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(7078), 2,
      sym_type_parameter_pack,
      sym__type_parameter_possibly_packed,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 8,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [215478] = 11,
    ACTIONS(9111), 1,
      anon_sym_LBRACK,
    ACTIONS(9113), 1,
      anon_sym_QMARK,
    ACTIONS(9115), 1,
      anon_sym_self,
    STATE(2242), 1,
      sym_simple_identifier,
    STATE(2866), 1,
      sym__key_path_component,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4638), 2,
      sym__bang_custom,
      anon_sym_BANG,
    STATE(2652), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(1199), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2226), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(1197), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [215527] = 12,
    ACTIONS(9121), 1,
      anon_sym_RBRACK,
    ACTIONS(9123), 1,
      anon_sym_self,
    STATE(5702), 1,
      sym_ownership_modifier,
    STATE(7422), 1,
      sym_simple_identifier,
    STATE(8258), 1,
      sym_capture_list_item,
    STATE(8278), 1,
      sym_self_expression,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(831), 2,
      anon_sym_weak,
      anon_sym_unowned,
    ACTIONS(833), 2,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    STATE(2167), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9119), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9117), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [215578] = 4,
    ACTIONS(4975), 1,
      anon_sym_unowned,
    ACTIONS(9125), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4977), 22,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
  [215613] = 11,
    ACTIONS(9127), 1,
      anon_sym_LBRACK,
    ACTIONS(9129), 1,
      anon_sym_QMARK,
    ACTIONS(9131), 1,
      anon_sym_self,
    STATE(2264), 1,
      sym_simple_identifier,
    STATE(3004), 1,
      sym__key_path_component,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4680), 2,
      sym__bang_custom,
      anon_sym_BANG,
    STATE(2787), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(1035), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2265), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(1033), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [215662] = 11,
    ACTIONS(9133), 1,
      anon_sym_LBRACK,
    ACTIONS(9135), 1,
      anon_sym_QMARK,
    ACTIONS(9137), 1,
      anon_sym_self,
    STATE(2334), 1,
      sym_simple_identifier,
    STATE(3336), 1,
      sym__key_path_component,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4925), 2,
      sym__bang_custom,
      anon_sym_BANG,
    STATE(2967), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(1297), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2333), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(1295), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [215711] = 11,
    ACTIONS(9139), 1,
      anon_sym_LBRACK,
    ACTIONS(9141), 1,
      anon_sym_QMARK,
    ACTIONS(9143), 1,
      anon_sym_self,
    STATE(2104), 1,
      sym_simple_identifier,
    STATE(2522), 1,
      sym__key_path_component,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4492), 2,
      sym__bang_custom,
      anon_sym_BANG,
    STATE(2368), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(13), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2102), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(11), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [215760] = 8,
    ACTIONS(815), 1,
      anon_sym_inout,
    STATE(5003), 1,
      sym__parameter_ownership_modifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(817), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(9149), 2,
      anon_sym_borrowing,
      anon_sym_consuming,
    STATE(4957), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    ACTIONS(9147), 6,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_TILDE,
    ACTIONS(9145), 10,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_some,
      anon_sym_any,
      anon_sym_AT,
  [215803] = 11,
    ACTIONS(9152), 1,
      anon_sym_LBRACK,
    ACTIONS(9154), 1,
      anon_sym_QMARK,
    ACTIONS(9156), 1,
      anon_sym_self,
    STATE(1083), 1,
      sym_simple_identifier,
    STATE(1218), 1,
      sym__key_path_component,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2893), 2,
      sym__bang_custom,
      anon_sym_BANG,
    STATE(1147), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(663), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1084), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(661), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [215852] = 8,
    ACTIONS(9158), 1,
      anon_sym_lazy,
    ACTIONS(9161), 1,
      anon_sym_AT,
    ACTIONS(9164), 1,
      anon_sym_final,
    ACTIONS(9170), 1,
      anon_sym_unowned,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9167), 3,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    STATE(4949), 6,
      sym_attribute,
      aux_sym__locally_permitted_modifiers,
      sym__locally_permitted_modifier,
      sym_property_behavior_modifier,
      sym_inheritance_modifier,
      sym_ownership_modifier,
    ACTIONS(5744), 11,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
  [215895] = 12,
    ACTIONS(9123), 1,
      anon_sym_self,
    ACTIONS(9173), 1,
      anon_sym_RBRACK,
    STATE(5702), 1,
      sym_ownership_modifier,
    STATE(7422), 1,
      sym_simple_identifier,
    STATE(8258), 1,
      sym_capture_list_item,
    STATE(8278), 1,
      sym_self_expression,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(831), 2,
      anon_sym_weak,
      anon_sym_unowned,
    ACTIONS(833), 2,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    STATE(2167), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9119), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9117), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [215946] = 11,
    ACTIONS(9175), 1,
      anon_sym_LBRACK,
    ACTIONS(9177), 1,
      anon_sym_QMARK,
    ACTIONS(9179), 1,
      anon_sym_self,
    STATE(2088), 1,
      sym_simple_identifier,
    STATE(2345), 1,
      sym__key_path_component,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4417), 2,
      sym__bang_custom,
      anon_sym_BANG,
    STATE(2240), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(973), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2057), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(971), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [215995] = 11,
    ACTIONS(9181), 1,
      anon_sym_LBRACK,
    ACTIONS(9183), 1,
      anon_sym_QMARK,
    ACTIONS(9185), 1,
      anon_sym_self,
    STATE(2169), 1,
      sym_simple_identifier,
    STATE(2778), 1,
      sym__key_path_component,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4576), 2,
      sym__bang_custom,
      anon_sym_BANG,
    STATE(2445), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(1123), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(2168), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(1121), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [216044] = 11,
    ACTIONS(9187), 1,
      anon_sym_LBRACK,
    ACTIONS(9189), 1,
      anon_sym_QMARK,
    ACTIONS(9191), 1,
      anon_sym_self,
    STATE(1111), 1,
      sym_simple_identifier,
    STATE(1297), 1,
      sym__key_path_component,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2951), 2,
      sym__bang_custom,
      anon_sym_BANG,
    STATE(1210), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(291), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(1115), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(289), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [216093] = 5,
    STATE(5016), 1,
      sym__try_operator_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9193), 3,
      sym__fake_try_bang,
      anon_sym_BANG2,
      anon_sym_QMARK2,
    ACTIONS(4496), 5,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
    ACTIONS(4494), 15,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_await,
      anon_sym_case,
      anon_sym_is,
      anon_sym_let,
      anon_sym_var,
      sym_wildcard_pattern,
      anon_sym_borrowing,
      anon_sym_consuming,
  [216130] = 22,
    ACTIONS(3977), 1,
      anon_sym_async,
    ACTIONS(3999), 1,
      anon_sym_func,
    ACTIONS(5111), 1,
      anon_sym_typealias,
    ACTIONS(5540), 1,
      anon_sym_enum,
    ACTIONS(5542), 1,
      anon_sym_extension,
    ACTIONS(5544), 1,
      anon_sym_indirect,
    ACTIONS(9195), 1,
      anon_sym_import,
    ACTIONS(9197), 1,
      anon_sym_class,
    ACTIONS(9199), 1,
      anon_sym_protocol,
    ACTIONS(9201), 1,
      anon_sym_macro,
    ACTIONS(9203), 1,
      anon_sym_init,
    ACTIONS(9205), 1,
      anon_sym_associatedtype,
    STATE(7128), 1,
      sym__non_constructor_function_decl,
    STATE(7351), 1,
      sym__modifierless_typealias_declaration,
    STATE(7659), 1,
      sym__async_modifier,
    STATE(7958), 1,
      sym__modifierless_property_declaration,
    STATE(7968), 1,
      sym__modifierless_class_declaration,
    STATE(8844), 1,
      sym__modifierless_function_declaration_no_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3997), 2,
      anon_sym_let,
      anon_sym_var,
    ACTIONS(5536), 2,
      anon_sym_actor,
      anon_sym_struct,
    STATE(4783), 2,
      sym_value_binding_pattern,
      sym__possibly_async_binding_pattern_kind,
  [216201] = 11,
    ACTIONS(9207), 1,
      anon_sym_LBRACK,
    ACTIONS(9209), 1,
      anon_sym_QMARK,
    ACTIONS(9211), 1,
      anon_sym_self,
    STATE(840), 1,
      sym_simple_identifier,
    STATE(877), 1,
      sym__key_path_component,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2749), 2,
      sym__bang_custom,
      anon_sym_BANG,
    STATE(864), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(451), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    STATE(823), 3,
      sym__key_path_postfixes,
      sym_bang,
      aux_sym__key_path_component_repeat1,
    ACTIONS(449), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [216250] = 7,
    STATE(5003), 1,
      sym__parameter_ownership_modifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9220), 2,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    STATE(4957), 2,
      sym_parameter_modifier,
      aux_sym_parameter_modifiers_repeat1,
    ACTIONS(9217), 3,
      anon_sym_inout,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(9215), 6,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_TILDE,
    ACTIONS(9213), 10,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_some,
      anon_sym_any,
      anon_sym_AT,
  [216291] = 10,
    ACTIONS(9023), 1,
      anon_sym_self,
    ACTIONS(9223), 1,
      anon_sym_in,
    STATE(4971), 1,
      sym_simple_identifier,
    STATE(6682), 1,
      sym_lambda_parameter,
    STATE(6765), 1,
      sym_self_expression,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4919), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3915), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9225), 4,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
    ACTIONS(3913), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [216337] = 3,
    ACTIONS(4971), 1,
      anon_sym_unowned,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4973), 22,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
  [216369] = 5,
    ACTIONS(6203), 1,
      anon_sym_unowned,
    ACTIONS(7819), 1,
      anon_sym_AT,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6198), 5,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_mutating,
      anon_sym_nonmutating,
    ACTIONS(6205), 16,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
  [216405] = 10,
    ACTIONS(9023), 1,
      anon_sym_self,
    ACTIONS(9227), 1,
      anon_sym_in,
    STATE(4971), 1,
      sym_simple_identifier,
    STATE(6682), 1,
      sym_lambda_parameter,
    STATE(6765), 1,
      sym_self_expression,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4919), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3915), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9229), 4,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
    ACTIONS(3913), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [216451] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3202), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
    ACTIONS(3204), 14,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      sym_integer_literal,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_DOT,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_RBRACE,
  [216483] = 11,
    ACTIONS(9123), 1,
      anon_sym_self,
    STATE(5702), 1,
      sym_ownership_modifier,
    STATE(7422), 1,
      sym_simple_identifier,
    STATE(8189), 1,
      sym_capture_list_item,
    STATE(8278), 1,
      sym_self_expression,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(831), 2,
      anon_sym_weak,
      anon_sym_unowned,
    ACTIONS(833), 2,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    STATE(2167), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9119), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9117), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [216531] = 3,
    ACTIONS(4955), 1,
      anon_sym_unowned,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4957), 22,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
  [216563] = 3,
    ACTIONS(4992), 1,
      anon_sym_unowned,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4994), 22,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
  [216595] = 11,
    ACTIONS(9123), 1,
      anon_sym_self,
    STATE(5702), 1,
      sym_ownership_modifier,
    STATE(7422), 1,
      sym_simple_identifier,
    STATE(8258), 1,
      sym_capture_list_item,
    STATE(8278), 1,
      sym_self_expression,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(831), 2,
      anon_sym_weak,
      anon_sym_unowned,
    ACTIONS(833), 2,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
    STATE(2167), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9119), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9117), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [216643] = 11,
    ACTIONS(2998), 1,
      anon_sym_QMARK,
    ACTIONS(9231), 1,
      anon_sym_QMARK2,
    ACTIONS(9233), 1,
      sym__arrow_operator_custom,
    ACTIONS(9235), 1,
      sym__async_keyword_custom,
    STATE(4473), 1,
      sym__arrow_operator,
    STATE(6966), 1,
      sym__async_keyword,
    STATE(8532), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(5031), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 12,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [216691] = 11,
    ACTIONS(9237), 1,
      sym__dot_custom,
    STATE(1972), 1,
      sym_simple_identifier,
    STATE(4808), 1,
      sym_value_binding_pattern,
    STATE(5759), 1,
      sym__dot,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(8598), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [216738] = 11,
    ACTIONS(9055), 1,
      anon_sym_each,
    ACTIONS(9059), 1,
      anon_sym_AT,
    STATE(5301), 1,
      sym_type_parameter_modifiers,
    STATE(7060), 1,
      sym_type_parameter,
    STATE(7077), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5716), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(7078), 2,
      sym_type_parameter_pack,
      sym__type_parameter_possibly_packed,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 8,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [216785] = 12,
    ACTIONS(9017), 1,
      anon_sym_LPAREN,
    ACTIONS(9023), 1,
      anon_sym_self,
    ACTIONS(9239), 1,
      anon_sym_in,
    STATE(4971), 1,
      sym_simple_identifier,
    STATE(6437), 1,
      sym_lambda_function_type_parameters,
    STATE(6644), 1,
      sym_lambda_parameter,
    STATE(6765), 1,
      sym_self_expression,
    STATE(8955), 1,
      sym_lambda_function_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4919), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3915), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3913), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [216834] = 8,
    ACTIONS(5133), 1,
      anon_sym_COLON,
    ACTIONS(5135), 1,
      anon_sym_in,
    STATE(8960), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(5131), 5,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [216875] = 11,
    ACTIONS(9241), 1,
      sym__dot_custom,
    STATE(1972), 1,
      sym_simple_identifier,
    STATE(4802), 1,
      sym_value_binding_pattern,
    STATE(5770), 1,
      sym__dot,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(8626), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [216922] = 11,
    ACTIONS(9055), 1,
      anon_sym_each,
    ACTIONS(9059), 1,
      anon_sym_AT,
    STATE(5301), 1,
      sym_type_parameter_modifiers,
    STATE(7077), 1,
      sym_simple_identifier,
    STATE(7733), 1,
      sym_type_parameter,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5716), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(7078), 2,
      sym_type_parameter_pack,
      sym__type_parameter_possibly_packed,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 8,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [216969] = 11,
    ACTIONS(9243), 1,
      sym__dot_custom,
    STATE(1972), 1,
      sym_simple_identifier,
    STATE(4808), 1,
      sym_value_binding_pattern,
    STATE(5685), 1,
      sym__dot,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(8352), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [217016] = 11,
    ACTIONS(9055), 1,
      anon_sym_each,
    ACTIONS(9059), 1,
      anon_sym_AT,
    STATE(5301), 1,
      sym_type_parameter_modifiers,
    STATE(6916), 1,
      sym_type_parameter,
    STATE(7077), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5716), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(7078), 2,
      sym_type_parameter_pack,
      sym__type_parameter_possibly_packed,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 8,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [217063] = 11,
    ACTIONS(9245), 1,
      anon_sym_LPAREN,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(9249), 1,
      sym__dot_custom,
    STATE(882), 1,
      sym__fn_call_lambda_arguments,
    STATE(899), 1,
      sym_constructor_suffix,
    STATE(1721), 1,
      sym_lambda_literal,
    STATE(2631), 1,
      sym__constructor_value_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4589), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 11,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_AMP,
  [217110] = 11,
    ACTIONS(9251), 1,
      sym__dot_custom,
    STATE(1972), 1,
      sym_simple_identifier,
    STATE(4789), 1,
      sym_value_binding_pattern,
    STATE(5772), 1,
      sym__dot,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(8484), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [217157] = 9,
    STATE(4983), 1,
      aux_sym_value_argument_repeat1,
    STATE(8722), 1,
      sym_value_argument_label,
    STATE(8726), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9255), 2,
      anon_sym_if,
      anon_sym_switch,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9253), 3,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_RBRACK,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [217200] = 11,
    ACTIONS(9257), 1,
      sym__dot_custom,
    STATE(1972), 1,
      sym_simple_identifier,
    STATE(4808), 1,
      sym_value_binding_pattern,
    STATE(5658), 1,
      sym__dot,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(8570), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [217247] = 11,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(2998), 1,
      anon_sym_QMARK,
    ACTIONS(9259), 1,
      anon_sym_QMARK2,
    ACTIONS(9261), 1,
      sym__arrow_operator_custom,
    ACTIONS(9263), 1,
      sym__async_keyword_custom,
    STATE(4427), 1,
      sym__arrow_operator,
    STATE(6986), 1,
      sym__async_keyword,
    STATE(8564), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(5066), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 12,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [217294] = 11,
    ACTIONS(9243), 1,
      sym__dot_custom,
    STATE(1972), 1,
      sym_simple_identifier,
    STATE(4787), 1,
      sym_value_binding_pattern,
    STATE(5685), 1,
      sym__dot,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(8352), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [217341] = 11,
    ACTIONS(9257), 1,
      sym__dot_custom,
    STATE(1972), 1,
      sym_simple_identifier,
    STATE(4805), 1,
      sym_value_binding_pattern,
    STATE(5658), 1,
      sym__dot,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(8570), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [217388] = 9,
    STATE(4983), 1,
      aux_sym_value_argument_repeat1,
    STATE(8722), 1,
      sym_value_argument_label,
    STATE(8726), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9273), 2,
      anon_sym_if,
      anon_sym_switch,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9268), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9271), 3,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_RBRACK,
    ACTIONS(9265), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [217431] = 11,
    ACTIONS(9241), 1,
      sym__dot_custom,
    STATE(1972), 1,
      sym_simple_identifier,
    STATE(4808), 1,
      sym_value_binding_pattern,
    STATE(5770), 1,
      sym__dot,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(8626), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [217478] = 9,
    STATE(4983), 1,
      aux_sym_value_argument_repeat1,
    STATE(8722), 1,
      sym_value_argument_label,
    STATE(8726), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9255), 2,
      anon_sym_if,
      anon_sym_switch,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9276), 3,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_RBRACK,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [217521] = 11,
    ACTIONS(9278), 1,
      sym__dot_custom,
    STATE(1972), 1,
      sym_simple_identifier,
    STATE(4811), 1,
      sym_value_binding_pattern,
    STATE(5552), 1,
      sym__dot,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(8533), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [217568] = 11,
    ACTIONS(9278), 1,
      sym__dot_custom,
    STATE(1972), 1,
      sym_simple_identifier,
    STATE(4808), 1,
      sym_value_binding_pattern,
    STATE(5552), 1,
      sym__dot,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(8533), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [217615] = 11,
    ACTIONS(9055), 1,
      anon_sym_each,
    ACTIONS(9059), 1,
      anon_sym_AT,
    STATE(5301), 1,
      sym_type_parameter_modifiers,
    STATE(7004), 1,
      sym_type_parameter,
    STATE(7077), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5716), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(7078), 2,
      sym_type_parameter_pack,
      sym__type_parameter_possibly_packed,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 8,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [217662] = 11,
    ACTIONS(9280), 1,
      sym__dot_custom,
    STATE(1972), 1,
      sym_simple_identifier,
    STATE(4808), 1,
      sym_value_binding_pattern,
    STATE(5559), 1,
      sym__dot,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(8307), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [217709] = 11,
    ACTIONS(9251), 1,
      sym__dot_custom,
    STATE(1972), 1,
      sym_simple_identifier,
    STATE(4808), 1,
      sym_value_binding_pattern,
    STATE(5772), 1,
      sym__dot,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(8484), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [217756] = 11,
    ACTIONS(9280), 1,
      sym__dot_custom,
    STATE(1972), 1,
      sym_simple_identifier,
    STATE(4810), 1,
      sym_value_binding_pattern,
    STATE(5559), 1,
      sym__dot,
    STATE(6739), 1,
      sym__simple_user_type,
    STATE(8307), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(93), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [217803] = 12,
    ACTIONS(9017), 1,
      anon_sym_LPAREN,
    ACTIONS(9023), 1,
      anon_sym_self,
    ACTIONS(9282), 1,
      anon_sym_in,
    STATE(4971), 1,
      sym_simple_identifier,
    STATE(6437), 1,
      sym_lambda_function_type_parameters,
    STATE(6644), 1,
      sym_lambda_parameter,
    STATE(6765), 1,
      sym_self_expression,
    STATE(8998), 1,
      sym_lambda_function_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4919), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3915), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3913), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [217852] = 6,
    ACTIONS(9284), 1,
      sym__dot_custom,
    STATE(5008), 1,
      aux_sym_user_type_repeat1,
    STATE(5424), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3041), 7,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_TILDE,
      anon_sym_AT,
    ACTIONS(3039), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_some,
      anon_sym_any,
      anon_sym_borrowing,
      anon_sym_consuming,
  [217888] = 11,
    ACTIONS(9233), 1,
      sym__arrow_operator_custom,
    ACTIONS(9235), 1,
      sym__async_keyword_custom,
    ACTIONS(9286), 1,
      anon_sym_DOT,
    ACTIONS(9288), 1,
      anon_sym_AMP,
    STATE(4473), 1,
      sym__arrow_operator,
    STATE(5197), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6966), 1,
      sym__async_keyword,
    STATE(8532), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3075), 11,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [217934] = 11,
    ACTIONS(9233), 1,
      sym__arrow_operator_custom,
    ACTIONS(9235), 1,
      sym__async_keyword_custom,
    ACTIONS(9286), 1,
      anon_sym_DOT,
    ACTIONS(9288), 1,
      anon_sym_AMP,
    STATE(4473), 1,
      sym__arrow_operator,
    STATE(5197), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6966), 1,
      sym__async_keyword,
    STATE(8532), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3079), 11,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [217980] = 6,
    ACTIONS(3046), 1,
      anon_sym_QMARK,
    ACTIONS(9290), 1,
      sym__dot_custom,
    STATE(5002), 1,
      aux_sym_user_type_repeat1,
    STATE(5377), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3048), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [218016] = 11,
    ACTIONS(9233), 1,
      sym__arrow_operator_custom,
    ACTIONS(9235), 1,
      sym__async_keyword_custom,
    ACTIONS(9286), 1,
      anon_sym_DOT,
    ACTIONS(9288), 1,
      anon_sym_AMP,
    STATE(4473), 1,
      sym__arrow_operator,
    STATE(5197), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6966), 1,
      sym__async_keyword,
    STATE(8532), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3055), 11,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [218062] = 5,
    ACTIONS(9292), 1,
      anon_sym_LT,
    STATE(5096), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3083), 8,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_TILDE,
      anon_sym_AT,
    ACTIONS(3081), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_some,
      anon_sym_any,
      anon_sym_borrowing,
      anon_sym_consuming,
  [218096] = 11,
    ACTIONS(9233), 1,
      sym__arrow_operator_custom,
    ACTIONS(9235), 1,
      sym__async_keyword_custom,
    ACTIONS(9286), 1,
      anon_sym_DOT,
    ACTIONS(9288), 1,
      anon_sym_AMP,
    STATE(4473), 1,
      sym__arrow_operator,
    STATE(5197), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6966), 1,
      sym__async_keyword,
    STATE(8532), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3063), 11,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [218142] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9296), 8,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_TILDE,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(9294), 13,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_some,
      anon_sym_any,
      anon_sym_AT,
      anon_sym_inout,
      anon_sym_borrowing,
      anon_sym_consuming,
  [218172] = 6,
    ACTIONS(9284), 1,
      sym__dot_custom,
    STATE(4993), 1,
      aux_sym_user_type_repeat1,
    STATE(5424), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3048), 7,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_TILDE,
      anon_sym_AT,
    ACTIONS(3046), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_some,
      anon_sym_any,
      anon_sym_borrowing,
      anon_sym_consuming,
  [218208] = 6,
    ACTIONS(3039), 1,
      anon_sym_QMARK,
    ACTIONS(9290), 1,
      sym__dot_custom,
    STATE(5006), 1,
      aux_sym_user_type_repeat1,
    STATE(5377), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3041), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [218244] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3725), 8,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_TILDE,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(3727), 13,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_some,
      anon_sym_any,
      anon_sym_AT,
      anon_sym_inout,
      anon_sym_borrowing,
      anon_sym_consuming,
  [218274] = 6,
    STATE(4473), 1,
      sym__arrow_operator,
    STATE(5197), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6966), 1,
      sym__async_keyword,
    STATE(8532), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3089), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [218310] = 11,
    ACTIONS(9233), 1,
      sym__arrow_operator_custom,
    ACTIONS(9235), 1,
      sym__async_keyword_custom,
    ACTIONS(9286), 1,
      anon_sym_DOT,
    ACTIONS(9288), 1,
      anon_sym_AMP,
    STATE(4473), 1,
      sym__arrow_operator,
    STATE(5197), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6966), 1,
      sym__async_keyword,
    STATE(8532), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3067), 11,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [218356] = 6,
    ACTIONS(2991), 1,
      anon_sym_QMARK,
    ACTIONS(9298), 1,
      sym__dot_custom,
    STATE(5006), 1,
      aux_sym_user_type_repeat1,
    STATE(5377), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [218392] = 6,
    STATE(4473), 1,
      sym__arrow_operator,
    STATE(5197), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6966), 1,
      sym__async_keyword,
    STATE(8532), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3071), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [218428] = 6,
    ACTIONS(9301), 1,
      sym__dot_custom,
    STATE(5008), 1,
      aux_sym_user_type_repeat1,
    STATE(5424), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 7,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_TILDE,
      anon_sym_AT,
    ACTIONS(2991), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_some,
      anon_sym_any,
      anon_sym_borrowing,
      anon_sym_consuming,
  [218464] = 10,
    ACTIONS(9304), 1,
      anon_sym_QMARK2,
    ACTIONS(9306), 1,
      sym__arrow_operator_custom,
    ACTIONS(9308), 1,
      sym__async_keyword_custom,
    STATE(4453), 1,
      sym__arrow_operator,
    STATE(7005), 1,
      sym__async_keyword,
    STATE(8593), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(5130), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 11,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [218508] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(1560), 8,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_TILDE,
      anon_sym_ATescaping,
      anon_sym_ATautoclosure,
    ACTIONS(1555), 13,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_some,
      anon_sym_any,
      anon_sym_AT,
      anon_sym_inout,
      anon_sym_borrowing,
      anon_sym_consuming,
  [218538] = 5,
    ACTIONS(3081), 1,
      anon_sym_QMARK,
    ACTIONS(9310), 1,
      anon_sym_LT,
    STATE(5065), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3083), 18,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [218572] = 6,
    ACTIONS(9312), 1,
      sym__dot_custom,
    STATE(5052), 1,
      aux_sym_user_type_repeat1,
    STATE(5414), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3041), 6,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AT,
    ACTIONS(3039), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_borrowing,
      anon_sym_consuming,
  [218607] = 3,
    ACTIONS(3202), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 19,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [218636] = 10,
    ACTIONS(9059), 1,
      anon_sym_AT,
    ACTIONS(9314), 1,
      anon_sym_RPAREN,
    STATE(5468), 1,
      sym_simple_identifier,
    STATE(5490), 1,
      sym_attribute,
    STATE(7076), 1,
      sym_parameter,
    STATE(8530), 1,
      sym__function_value_parameter,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [218679] = 10,
    ACTIONS(1531), 1,
      anon_sym_RPAREN,
    ACTIONS(9123), 1,
      anon_sym_self,
    STATE(5195), 1,
      sym_simple_identifier,
    STATE(7647), 1,
      sym_lambda_parameter,
    STATE(8637), 1,
      sym_self_expression,
    STATE(8938), 1,
      sym_lambda_function_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [218722] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5034), 5,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
    ACTIONS(5032), 15,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_await,
      anon_sym_case,
      anon_sym_is,
      anon_sym_let,
      anon_sym_var,
      sym_wildcard_pattern,
      anon_sym_borrowing,
      anon_sym_consuming,
  [218751] = 10,
    ACTIONS(9059), 1,
      anon_sym_AT,
    ACTIONS(9316), 1,
      anon_sym_RPAREN,
    STATE(5468), 1,
      sym_simple_identifier,
    STATE(5490), 1,
      sym_attribute,
    STATE(7076), 1,
      sym_parameter,
    STATE(8530), 1,
      sym__function_value_parameter,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [218794] = 5,
    ACTIONS(829), 1,
      anon_sym_AT,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5019), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4684), 6,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_TILDE,
    ACTIONS(4682), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_some,
      anon_sym_any,
      anon_sym_borrowing,
      anon_sym_consuming,
  [218827] = 5,
    ACTIONS(9318), 1,
      anon_sym_AT,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5019), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4698), 6,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_TILDE,
    ACTIONS(4696), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_some,
      anon_sym_any,
      anon_sym_borrowing,
      anon_sym_consuming,
  [218860] = 10,
    ACTIONS(9059), 1,
      anon_sym_AT,
    ACTIONS(9321), 1,
      anon_sym_RPAREN,
    STATE(5468), 1,
      sym_simple_identifier,
    STATE(5490), 1,
      sym_attribute,
    STATE(7076), 1,
      sym_parameter,
    STATE(8530), 1,
      sym__function_value_parameter,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [218903] = 5,
    ACTIONS(2998), 1,
      anon_sym_QMARK,
    ACTIONS(9231), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5031), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 16,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [218936] = 10,
    ACTIONS(9059), 1,
      anon_sym_AT,
    ACTIONS(9323), 1,
      anon_sym_RPAREN,
    STATE(5468), 1,
      sym_simple_identifier,
    STATE(5490), 1,
      sym_attribute,
    STATE(7076), 1,
      sym_parameter,
    STATE(8530), 1,
      sym__function_value_parameter,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [218979] = 10,
    ACTIONS(9059), 1,
      anon_sym_AT,
    ACTIONS(9325), 1,
      anon_sym_RPAREN,
    STATE(5468), 1,
      sym_simple_identifier,
    STATE(5490), 1,
      sym_attribute,
    STATE(7076), 1,
      sym_parameter,
    STATE(8530), 1,
      sym__function_value_parameter,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [219022] = 10,
    ACTIONS(9059), 1,
      anon_sym_AT,
    ACTIONS(9327), 1,
      anon_sym_RPAREN,
    STATE(5468), 1,
      sym_simple_identifier,
    STATE(5490), 1,
      sym_attribute,
    STATE(7076), 1,
      sym_parameter,
    STATE(8530), 1,
      sym__function_value_parameter,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [219065] = 4,
    ACTIONS(9329), 1,
      anon_sym_LT,
    STATE(5146), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3083), 18,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_in,
  [219096] = 10,
    ACTIONS(9059), 1,
      anon_sym_AT,
    ACTIONS(9331), 1,
      anon_sym_RPAREN,
    STATE(5468), 1,
      sym_simple_identifier,
    STATE(5490), 1,
      sym_attribute,
    STATE(7076), 1,
      sym_parameter,
    STATE(8530), 1,
      sym__function_value_parameter,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [219139] = 10,
    ACTIONS(9059), 1,
      anon_sym_AT,
    ACTIONS(9333), 1,
      anon_sym_RPAREN,
    STATE(5468), 1,
      sym_simple_identifier,
    STATE(5490), 1,
      sym_attribute,
    STATE(7076), 1,
      sym_parameter,
    STATE(7807), 1,
      sym__function_value_parameter,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [219182] = 6,
    ACTIONS(5), 1,
      sym_comment,
    STATE(4427), 1,
      sym__arrow_operator,
    STATE(5240), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6986), 1,
      sym__async_keyword,
    STATE(8564), 1,
      sym_throws,
    ACTIONS(3089), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [219217] = 10,
    ACTIONS(9059), 1,
      anon_sym_AT,
    ACTIONS(9335), 1,
      anon_sym_RPAREN,
    STATE(5468), 1,
      sym_simple_identifier,
    STATE(5490), 1,
      sym_attribute,
    STATE(7076), 1,
      sym_parameter,
    STATE(8530), 1,
      sym__function_value_parameter,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [219260] = 10,
    ACTIONS(9059), 1,
      anon_sym_AT,
    ACTIONS(9337), 1,
      anon_sym_RPAREN,
    STATE(5468), 1,
      sym_simple_identifier,
    STATE(5490), 1,
      sym_attribute,
    STATE(7076), 1,
      sym_parameter,
    STATE(8530), 1,
      sym__function_value_parameter,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [219303] = 5,
    ACTIONS(3028), 1,
      anon_sym_QMARK,
    ACTIONS(9231), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5057), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3030), 16,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [219336] = 10,
    ACTIONS(9059), 1,
      anon_sym_AT,
    ACTIONS(9339), 1,
      anon_sym_RPAREN,
    STATE(5468), 1,
      sym_simple_identifier,
    STATE(5490), 1,
      sym_attribute,
    STATE(7076), 1,
      sym_parameter,
    STATE(7556), 1,
      sym__function_value_parameter,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [219379] = 10,
    ACTIONS(9059), 1,
      anon_sym_AT,
    ACTIONS(9341), 1,
      anon_sym_RPAREN,
    STATE(5468), 1,
      sym_simple_identifier,
    STATE(5490), 1,
      sym_attribute,
    STATE(7076), 1,
      sym_parameter,
    STATE(8530), 1,
      sym__function_value_parameter,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [219422] = 10,
    ACTIONS(9059), 1,
      anon_sym_AT,
    ACTIONS(9343), 1,
      anon_sym_RPAREN,
    STATE(5468), 1,
      sym_simple_identifier,
    STATE(5490), 1,
      sym_attribute,
    STATE(7076), 1,
      sym_parameter,
    STATE(8530), 1,
      sym__function_value_parameter,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [219465] = 10,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9345), 1,
      anon_sym_QMARK2,
    ACTIONS(9347), 1,
      sym__arrow_operator_custom,
    ACTIONS(9349), 1,
      sym__async_keyword_custom,
    STATE(4115), 1,
      sym__arrow_operator,
    STATE(6967), 1,
      sym__async_keyword,
    STATE(8510), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(5286), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 11,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [219508] = 6,
    ACTIONS(9312), 1,
      sym__dot_custom,
    STATE(5012), 1,
      aux_sym_user_type_repeat1,
    STATE(5414), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3048), 6,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AT,
    ACTIONS(3046), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_borrowing,
      anon_sym_consuming,
  [219543] = 5,
    ACTIONS(9351), 1,
      anon_sym_LT,
    STATE(5156), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3083), 7,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AT,
    ACTIONS(3081), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_borrowing,
      anon_sym_consuming,
  [219576] = 11,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9261), 1,
      sym__arrow_operator_custom,
    ACTIONS(9263), 1,
      sym__async_keyword_custom,
    ACTIONS(9353), 1,
      anon_sym_DOT,
    ACTIONS(9355), 1,
      anon_sym_AMP,
    STATE(4427), 1,
      sym__arrow_operator,
    STATE(5240), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6986), 1,
      sym__async_keyword,
    STATE(8564), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3075), 11,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [219621] = 10,
    ACTIONS(9059), 1,
      anon_sym_AT,
    ACTIONS(9357), 1,
      anon_sym_RPAREN,
    STATE(5468), 1,
      sym_simple_identifier,
    STATE(5490), 1,
      sym_attribute,
    STATE(7076), 1,
      sym_parameter,
    STATE(8028), 1,
      sym__function_value_parameter,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [219664] = 10,
    ACTIONS(9059), 1,
      anon_sym_AT,
    ACTIONS(9359), 1,
      anon_sym_RPAREN,
    STATE(5468), 1,
      sym_simple_identifier,
    STATE(5490), 1,
      sym_attribute,
    STATE(7076), 1,
      sym_parameter,
    STATE(8205), 1,
      sym__function_value_parameter,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [219707] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3081), 1,
      anon_sym_QMARK,
    ACTIONS(9361), 1,
      anon_sym_LT,
    STATE(5167), 1,
      sym_type_arguments,
    ACTIONS(3083), 18,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [219740] = 10,
    ACTIONS(9059), 1,
      anon_sym_AT,
    ACTIONS(9363), 1,
      anon_sym_RPAREN,
    STATE(5468), 1,
      sym_simple_identifier,
    STATE(5490), 1,
      sym_attribute,
    STATE(7076), 1,
      sym_parameter,
    STATE(7993), 1,
      sym__function_value_parameter,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [219783] = 10,
    ACTIONS(9059), 1,
      anon_sym_AT,
    ACTIONS(9365), 1,
      anon_sym_RPAREN,
    STATE(5468), 1,
      sym_simple_identifier,
    STATE(5490), 1,
      sym_attribute,
    STATE(7076), 1,
      sym_parameter,
    STATE(8530), 1,
      sym__function_value_parameter,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [219826] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 9,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_TILDE,
      anon_sym_LT,
      anon_sym_AT,
    ACTIONS(3202), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_some,
      anon_sym_any,
      anon_sym_borrowing,
      anon_sym_consuming,
  [219855] = 10,
    ACTIONS(9059), 1,
      anon_sym_AT,
    ACTIONS(9367), 1,
      anon_sym_RPAREN,
    STATE(5468), 1,
      sym_simple_identifier,
    STATE(5490), 1,
      sym_attribute,
    STATE(7076), 1,
      sym_parameter,
    STATE(8530), 1,
      sym__function_value_parameter,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [219898] = 11,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9261), 1,
      sym__arrow_operator_custom,
    ACTIONS(9263), 1,
      sym__async_keyword_custom,
    ACTIONS(9353), 1,
      anon_sym_DOT,
    ACTIONS(9355), 1,
      anon_sym_AMP,
    STATE(4427), 1,
      sym__arrow_operator,
    STATE(5240), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6986), 1,
      sym__async_keyword,
    STATE(8564), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3063), 11,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [219943] = 11,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9261), 1,
      sym__arrow_operator_custom,
    ACTIONS(9263), 1,
      sym__async_keyword_custom,
    ACTIONS(9353), 1,
      anon_sym_DOT,
    ACTIONS(9355), 1,
      anon_sym_AMP,
    STATE(4427), 1,
      sym__arrow_operator,
    STATE(5240), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6986), 1,
      sym__async_keyword,
    STATE(8564), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3067), 11,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [219988] = 10,
    ACTIONS(9059), 1,
      anon_sym_AT,
    ACTIONS(9369), 1,
      anon_sym_RPAREN,
    STATE(5468), 1,
      sym_simple_identifier,
    STATE(5490), 1,
      sym_attribute,
    STATE(7076), 1,
      sym_parameter,
    STATE(7610), 1,
      sym__function_value_parameter,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [220031] = 10,
    ACTIONS(9059), 1,
      anon_sym_AT,
    ACTIONS(9371), 1,
      anon_sym_RPAREN,
    STATE(5468), 1,
      sym_simple_identifier,
    STATE(5490), 1,
      sym_attribute,
    STATE(7076), 1,
      sym_parameter,
    STATE(8530), 1,
      sym__function_value_parameter,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [220074] = 6,
    ACTIONS(5), 1,
      sym_comment,
    STATE(4427), 1,
      sym__arrow_operator,
    STATE(5240), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6986), 1,
      sym__async_keyword,
    STATE(8564), 1,
      sym_throws,
    ACTIONS(3071), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [220109] = 10,
    ACTIONS(9373), 1,
      anon_sym_QMARK2,
    ACTIONS(9375), 1,
      sym__arrow_operator_custom,
    ACTIONS(9377), 1,
      sym__async_keyword_custom,
    STATE(4176), 1,
      sym__arrow_operator,
    STATE(6989), 1,
      sym__async_keyword,
    STATE(8535), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(5200), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 10,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [220152] = 6,
    ACTIONS(9379), 1,
      sym__dot_custom,
    STATE(5052), 1,
      aux_sym_user_type_repeat1,
    STATE(5414), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 6,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AT,
    ACTIONS(2991), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_borrowing,
      anon_sym_consuming,
  [220187] = 10,
    ACTIONS(9059), 1,
      anon_sym_AT,
    ACTIONS(9382), 1,
      anon_sym_RPAREN,
    STATE(5468), 1,
      sym_simple_identifier,
    STATE(5490), 1,
      sym_attribute,
    STATE(7076), 1,
      sym_parameter,
    STATE(7964), 1,
      sym__function_value_parameter,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [220230] = 6,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3039), 1,
      anon_sym_QMARK,
    ACTIONS(9384), 1,
      sym__dot_custom,
    STATE(5055), 1,
      aux_sym_user_type_repeat1,
    STATE(5467), 1,
      sym__dot,
    ACTIONS(3041), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [220265] = 6,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(2991), 1,
      anon_sym_QMARK,
    ACTIONS(9386), 1,
      sym__dot_custom,
    STATE(5055), 1,
      aux_sym_user_type_repeat1,
    STATE(5467), 1,
      sym__dot,
    ACTIONS(2993), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [220300] = 11,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9261), 1,
      sym__arrow_operator_custom,
    ACTIONS(9263), 1,
      sym__async_keyword_custom,
    ACTIONS(9353), 1,
      anon_sym_DOT,
    ACTIONS(9355), 1,
      anon_sym_AMP,
    STATE(4427), 1,
      sym__arrow_operator,
    STATE(5240), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6986), 1,
      sym__async_keyword,
    STATE(8564), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3055), 11,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [220345] = 5,
    ACTIONS(3032), 1,
      anon_sym_QMARK,
    ACTIONS(9389), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5057), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3034), 16,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [220378] = 11,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9261), 1,
      sym__arrow_operator_custom,
    ACTIONS(9263), 1,
      sym__async_keyword_custom,
    ACTIONS(9353), 1,
      anon_sym_DOT,
    ACTIONS(9355), 1,
      anon_sym_AMP,
    STATE(4427), 1,
      sym__arrow_operator,
    STATE(5240), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6986), 1,
      sym__async_keyword,
    STATE(8564), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3079), 11,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [220423] = 6,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3046), 1,
      anon_sym_QMARK,
    ACTIONS(9384), 1,
      sym__dot_custom,
    STATE(5054), 1,
      aux_sym_user_type_repeat1,
    STATE(5467), 1,
      sym__dot,
    ACTIONS(3048), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [220458] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9394), 5,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
    ACTIONS(9392), 14,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_case,
      anon_sym_is,
      anon_sym_let,
      anon_sym_var,
      sym_wildcard_pattern,
      anon_sym_borrowing,
      anon_sym_consuming,
  [220486] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3200), 8,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_TILDE,
      anon_sym_AT,
    ACTIONS(3198), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_some,
      anon_sym_any,
      anon_sym_borrowing,
      anon_sym_consuming,
  [220514] = 8,
    ACTIONS(9396), 1,
      anon_sym_RBRACE,
    STATE(8747), 1,
      sym_simple_identifier,
    STATE(8752), 1,
      sym_precedence_group_attributes,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5131), 2,
      sym_precedence_group_attribute,
      aux_sym_precedence_group_attributes_repeat1,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [220552] = 11,
    ACTIONS(2998), 1,
      anon_sym_QMARK,
    ACTIONS(5168), 1,
      anon_sym_QMARK2,
    ACTIONS(9398), 1,
      sym__arrow_operator_custom,
    ACTIONS(9400), 1,
      sym__async_keyword_custom,
    STATE(4235), 1,
      sym__arrow_operator,
    STATE(7052), 1,
      sym__async_keyword,
    STATE(8625), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(1741), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 8,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [220596] = 9,
    ACTIONS(9123), 1,
      anon_sym_self,
    ACTIONS(9229), 1,
      anon_sym_RPAREN,
    STATE(5195), 1,
      sym_simple_identifier,
    STATE(8527), 1,
      sym_lambda_parameter,
    STATE(8637), 1,
      sym_self_expression,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [220636] = 3,
    ACTIONS(3194), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3196), 18,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [220664] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3028), 1,
      anon_sym_QMARK,
    ACTIONS(9259), 1,
      anon_sym_QMARK2,
    STATE(5067), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3030), 16,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [220696] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3032), 1,
      anon_sym_QMARK,
    ACTIONS(9402), 1,
      anon_sym_QMARK2,
    STATE(5067), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3034), 16,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [220728] = 11,
    ACTIONS(9306), 1,
      sym__arrow_operator_custom,
    ACTIONS(9308), 1,
      sym__async_keyword_custom,
    ACTIONS(9405), 1,
      anon_sym_DOT,
    ACTIONS(9407), 1,
      anon_sym_AMP,
    STATE(4453), 1,
      sym__arrow_operator,
    STATE(5494), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7005), 1,
      sym__async_keyword,
    STATE(8593), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3055), 9,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [220772] = 11,
    ACTIONS(2998), 1,
      anon_sym_QMARK,
    ACTIONS(9409), 1,
      anon_sym_QMARK2,
    ACTIONS(9411), 1,
      sym__arrow_operator_custom,
    ACTIONS(9413), 1,
      sym__async_keyword_custom,
    STATE(4186), 1,
      sym__arrow_operator,
    STATE(7020), 1,
      sym__async_keyword,
    STATE(8628), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(5355), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 8,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
  [220816] = 11,
    ACTIONS(9306), 1,
      sym__arrow_operator_custom,
    ACTIONS(9308), 1,
      sym__async_keyword_custom,
    ACTIONS(9405), 1,
      anon_sym_DOT,
    ACTIONS(9407), 1,
      anon_sym_AMP,
    STATE(4453), 1,
      sym__arrow_operator,
    STATE(5494), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7005), 1,
      sym__async_keyword,
    STATE(8593), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3079), 9,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [220860] = 9,
    ACTIONS(9415), 1,
      anon_sym_RPAREN,
    ACTIONS(9417), 1,
      anon_sym_STAR,
    STATE(2390), 1,
      sym_simple_identifier,
    STATE(8418), 1,
      sym__availability_argument,
    STATE(8896), 1,
      sym_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [220900] = 8,
    ACTIONS(9419), 1,
      anon_sym_RBRACE,
    STATE(8686), 1,
      sym_precedence_group_attributes,
    STATE(8747), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5131), 2,
      sym_precedence_group_attribute,
      aux_sym_precedence_group_attributes_repeat1,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [220938] = 9,
    ACTIONS(95), 1,
      anon_sym_func,
    ACTIONS(9421), 1,
      anon_sym_init,
    STATE(6593), 1,
      sym_simple_identifier,
    STATE(7128), 1,
      sym__non_constructor_function_decl,
    STATE(8758), 1,
      sym__modifierless_function_declaration_no_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [220978] = 9,
    ACTIONS(9417), 1,
      anon_sym_STAR,
    ACTIONS(9423), 1,
      anon_sym_RPAREN,
    STATE(2390), 1,
      sym_simple_identifier,
    STATE(8418), 1,
      sym__availability_argument,
    STATE(8896), 1,
      sym_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [221018] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 19,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_in,
  [221044] = 3,
    ACTIONS(3198), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3200), 18,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [221072] = 9,
    ACTIONS(9417), 1,
      anon_sym_STAR,
    ACTIONS(9425), 1,
      anon_sym_RPAREN,
    STATE(2390), 1,
      sym_simple_identifier,
    STATE(8418), 1,
      sym__availability_argument,
    STATE(8896), 1,
      sym_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [221112] = 10,
    ACTIONS(9427), 1,
      anon_sym_QMARK2,
    ACTIONS(9429), 1,
      sym__arrow_operator_custom,
    ACTIONS(9431), 1,
      sym__async_keyword_custom,
    STATE(4433), 1,
      sym__arrow_operator,
    STATE(6979), 1,
      sym__async_keyword,
    STATE(8490), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(5454), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 9,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [221154] = 5,
    ACTIONS(9433), 1,
      sym__dot_custom,
    STATE(5079), 1,
      aux_sym_user_type_repeat1,
    STATE(5460), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 16,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [221186] = 3,
    ACTIONS(3105), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3107), 18,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [221214] = 5,
    ACTIONS(9436), 1,
      anon_sym_AT,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5081), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4698), 5,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
    ACTIONS(4696), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_borrowing,
      anon_sym_consuming,
  [221246] = 10,
    ACTIONS(9439), 1,
      anon_sym_QMARK2,
    ACTIONS(9441), 1,
      sym__arrow_operator_custom,
    ACTIONS(9443), 1,
      sym__async_keyword_custom,
    STATE(4404), 1,
      sym__arrow_operator,
    STATE(7008), 1,
      sym__async_keyword,
    STATE(8600), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(5465), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 9,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [221288] = 3,
    ACTIONS(2991), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 18,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [221316] = 9,
    ACTIONS(9417), 1,
      anon_sym_STAR,
    ACTIONS(9445), 1,
      anon_sym_RPAREN,
    STATE(2390), 1,
      sym_simple_identifier,
    STATE(8418), 1,
      sym__availability_argument,
    STATE(8896), 1,
      sym_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [221356] = 11,
    ACTIONS(9306), 1,
      sym__arrow_operator_custom,
    ACTIONS(9308), 1,
      sym__async_keyword_custom,
    ACTIONS(9405), 1,
      anon_sym_DOT,
    ACTIONS(9407), 1,
      anon_sym_AMP,
    STATE(4453), 1,
      sym__arrow_operator,
    STATE(5494), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7005), 1,
      sym__async_keyword,
    STATE(8593), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3075), 9,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [221400] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9449), 5,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
    ACTIONS(9447), 14,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_case,
      anon_sym_is,
      anon_sym_let,
      anon_sym_var,
      sym_wildcard_pattern,
      anon_sym_borrowing,
      anon_sym_consuming,
  [221428] = 9,
    ACTIONS(95), 1,
      anon_sym_func,
    ACTIONS(9451), 1,
      anon_sym_init,
    STATE(6539), 1,
      sym_simple_identifier,
    STATE(7128), 1,
      sym__non_constructor_function_decl,
    STATE(8758), 1,
      sym__modifierless_function_declaration_no_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [221468] = 9,
    ACTIONS(9059), 1,
      anon_sym_AT,
    STATE(5468), 1,
      sym_simple_identifier,
    STATE(5490), 1,
      sym_attribute,
    STATE(7076), 1,
      sym_parameter,
    STATE(8530), 1,
      sym__function_value_parameter,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [221508] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(2998), 1,
      anon_sym_QMARK,
    ACTIONS(9259), 1,
      anon_sym_QMARK2,
    STATE(5066), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 16,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [221540] = 10,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9453), 1,
      anon_sym_QMARK2,
    ACTIONS(9455), 1,
      sym__arrow_operator_custom,
    ACTIONS(9457), 1,
      sym__async_keyword_custom,
    STATE(4407), 1,
      sym__arrow_operator,
    STATE(6919), 1,
      sym__async_keyword,
    STATE(8443), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(5495), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 10,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [221582] = 9,
    ACTIONS(9417), 1,
      anon_sym_STAR,
    ACTIONS(9459), 1,
      anon_sym_RPAREN,
    STATE(2390), 1,
      sym_simple_identifier,
    STATE(8418), 1,
      sym__availability_argument,
    STATE(8896), 1,
      sym_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [221622] = 3,
    ACTIONS(3125), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3127), 18,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [221650] = 8,
    ACTIONS(9461), 1,
      anon_sym_RBRACE,
    STATE(8747), 1,
      sym_simple_identifier,
    STATE(8990), 1,
      sym_precedence_group_attributes,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5131), 2,
      sym_precedence_group_attribute,
      aux_sym_precedence_group_attributes_repeat1,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [221688] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 8,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_TILDE,
      anon_sym_AT,
    ACTIONS(2991), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_some,
      anon_sym_any,
      anon_sym_borrowing,
      anon_sym_consuming,
  [221716] = 3,
    ACTIONS(3133), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3135), 18,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [221744] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3196), 8,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_TILDE,
      anon_sym_AT,
    ACTIONS(3194), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_some,
      anon_sym_any,
      anon_sym_borrowing,
      anon_sym_consuming,
  [221772] = 9,
    ACTIONS(95), 1,
      anon_sym_func,
    ACTIONS(9463), 1,
      anon_sym_init,
    STATE(6636), 1,
      sym_simple_identifier,
    STATE(7128), 1,
      sym__non_constructor_function_decl,
    STATE(8758), 1,
      sym__modifierless_function_declaration_no_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [221812] = 3,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3202), 1,
      anon_sym_QMARK,
    ACTIONS(3204), 19,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [221840] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 8,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_LT,
      anon_sym_AT,
    ACTIONS(3202), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_borrowing,
      anon_sym_consuming,
  [221868] = 5,
    ACTIONS(9465), 1,
      sym__dot_custom,
    STATE(5105), 1,
      aux_sym_user_type_repeat1,
    STATE(5462), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3048), 16,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [221900] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3135), 8,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_TILDE,
      anon_sym_AT,
    ACTIONS(3133), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_some,
      anon_sym_any,
      anon_sym_borrowing,
      anon_sym_consuming,
  [221928] = 11,
    ACTIONS(9306), 1,
      sym__arrow_operator_custom,
    ACTIONS(9308), 1,
      sym__async_keyword_custom,
    ACTIONS(9405), 1,
      anon_sym_DOT,
    ACTIONS(9407), 1,
      anon_sym_AMP,
    STATE(4453), 1,
      sym__arrow_operator,
    STATE(5494), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7005), 1,
      sym__async_keyword,
    STATE(8593), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3063), 9,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [221972] = 12,
    ACTIONS(9245), 1,
      anon_sym_LPAREN,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(9249), 1,
      sym__dot_custom,
    ACTIONS(9467), 1,
      anon_sym_RPAREN,
    STATE(882), 1,
      sym__fn_call_lambda_arguments,
    STATE(899), 1,
      sym_constructor_suffix,
    STATE(1721), 1,
      sym_lambda_literal,
    STATE(2631), 1,
      sym__constructor_value_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4589), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [222018] = 4,
    ACTIONS(9469), 1,
      anon_sym_LT,
    STATE(5290), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3083), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [222048] = 5,
    ACTIONS(9465), 1,
      sym__dot_custom,
    STATE(5112), 1,
      aux_sym_user_type_repeat1,
    STATE(5462), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3041), 16,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [222080] = 10,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(9471), 1,
      sym__arrow_operator_custom,
    ACTIONS(9473), 1,
      sym__async_keyword_custom,
    STATE(4162), 1,
      sym__arrow_operator,
    STATE(6847), 1,
      sym__async_keyword,
    STATE(8308), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 9,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
  [222122] = 9,
    ACTIONS(9417), 1,
      anon_sym_STAR,
    ACTIONS(9475), 1,
      anon_sym_RPAREN,
    STATE(2390), 1,
      sym_simple_identifier,
    STATE(8418), 1,
      sym__availability_argument,
    STATE(8896), 1,
      sym_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [222162] = 6,
    STATE(4453), 1,
      sym__arrow_operator,
    STATE(5494), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7005), 1,
      sym__async_keyword,
    STATE(8593), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3089), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [222196] = 11,
    ACTIONS(9306), 1,
      sym__arrow_operator_custom,
    ACTIONS(9308), 1,
      sym__async_keyword_custom,
    ACTIONS(9405), 1,
      anon_sym_DOT,
    ACTIONS(9407), 1,
      anon_sym_AMP,
    STATE(4453), 1,
      sym__arrow_operator,
    STATE(5494), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7005), 1,
      sym__async_keyword,
    STATE(8593), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3067), 9,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [222240] = 9,
    ACTIONS(9417), 1,
      anon_sym_STAR,
    ACTIONS(9477), 1,
      anon_sym_RPAREN,
    STATE(2390), 1,
      sym_simple_identifier,
    STATE(8418), 1,
      sym__availability_argument,
    STATE(8896), 1,
      sym_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [222280] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3127), 8,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_TILDE,
      anon_sym_AT,
    ACTIONS(3125), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_some,
      anon_sym_any,
      anon_sym_borrowing,
      anon_sym_consuming,
  [222308] = 5,
    ACTIONS(9479), 1,
      sym__dot_custom,
    STATE(5112), 1,
      aux_sym_user_type_repeat1,
    STATE(5462), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 16,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [222340] = 9,
    ACTIONS(9123), 1,
      anon_sym_self,
    ACTIONS(9225), 1,
      anon_sym_RPAREN,
    STATE(5195), 1,
      sym_simple_identifier,
    STATE(8527), 1,
      sym_lambda_parameter,
    STATE(8637), 1,
      sym_self_expression,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [222380] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3107), 8,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_TILDE,
      anon_sym_AT,
    ACTIONS(3105), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_some,
      anon_sym_any,
      anon_sym_borrowing,
      anon_sym_consuming,
  [222408] = 6,
    STATE(4453), 1,
      sym__arrow_operator,
    STATE(5494), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7005), 1,
      sym__async_keyword,
    STATE(8593), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3071), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [222442] = 9,
    ACTIONS(9417), 1,
      anon_sym_STAR,
    ACTIONS(9482), 1,
      anon_sym_RPAREN,
    STATE(2390), 1,
      sym_simple_identifier,
    STATE(8418), 1,
      sym__availability_argument,
    STATE(8896), 1,
      sym_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [222482] = 8,
    ACTIONS(9417), 1,
      anon_sym_STAR,
    STATE(2390), 1,
      sym_simple_identifier,
    STATE(8418), 1,
      sym__availability_argument,
    STATE(8896), 1,
      sym_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [222519] = 11,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9347), 1,
      sym__arrow_operator_custom,
    ACTIONS(9349), 1,
      sym__async_keyword_custom,
    ACTIONS(9484), 1,
      anon_sym_DOT,
    ACTIONS(9486), 1,
      anon_sym_AMP,
    STATE(4115), 1,
      sym__arrow_operator,
    STATE(5647), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6967), 1,
      sym__async_keyword,
    STATE(8510), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3067), 9,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [222562] = 3,
    ACTIONS(3145), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3147), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [222589] = 3,
    ACTIONS(3157), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3159), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [222616] = 4,
    ACTIONS(9488), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4977), 6,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LBRACK,
      anon_sym_TILDE,
      anon_sym_AT,
    ACTIONS(4975), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_some,
      anon_sym_any,
      anon_sym_borrowing,
      anon_sym_consuming,
  [222645] = 5,
    ACTIONS(9491), 1,
      sym__dot_custom,
    STATE(5079), 1,
      aux_sym_user_type_repeat1,
    STATE(5460), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3041), 15,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [222676] = 8,
    ACTIONS(9123), 1,
      anon_sym_self,
    STATE(5195), 1,
      sym_simple_identifier,
    STATE(8527), 1,
      sym_lambda_parameter,
    STATE(8637), 1,
      sym_self_expression,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [222713] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4973), 7,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_TILDE,
      anon_sym_AT,
    ACTIONS(4971), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_some,
      anon_sym_any,
      anon_sym_borrowing,
      anon_sym_consuming,
  [222740] = 5,
    ACTIONS(9494), 1,
      sym__dot_custom,
    STATE(5125), 1,
      aux_sym_user_type_repeat1,
    STATE(5435), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [222771] = 6,
    ACTIONS(5), 1,
      sym_comment,
    STATE(4115), 1,
      sym__arrow_operator,
    STATE(5647), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6967), 1,
      sym__async_keyword,
    STATE(8510), 1,
      sym_throws,
    ACTIONS(3089), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [222804] = 8,
    ACTIONS(9497), 1,
      anon_sym_STAR,
    STATE(2390), 1,
      sym_simple_identifier,
    STATE(7493), 1,
      sym__availability_argument,
    STATE(8896), 1,
      sym_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [222841] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4994), 7,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_TILDE,
      anon_sym_AT,
    ACTIONS(4992), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_some,
      anon_sym_any,
      anon_sym_borrowing,
      anon_sym_consuming,
  [222868] = 10,
    ACTIONS(9499), 1,
      anon_sym_QMARK2,
    ACTIONS(9501), 1,
      sym__arrow_operator_custom,
    ACTIONS(9503), 1,
      sym__async_keyword_custom,
    STATE(4259), 1,
      sym__arrow_operator,
    STATE(6941), 1,
      sym__async_keyword,
    STATE(8488), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(5768), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 8,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_where_keyword,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [222909] = 4,
    ACTIONS(9304), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5135), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3030), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [222938] = 7,
    ACTIONS(9505), 1,
      anon_sym_RBRACE,
    STATE(8747), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5170), 2,
      sym_precedence_group_attribute,
      aux_sym_precedence_group_attributes_repeat1,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [222973] = 3,
    ACTIONS(3091), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3093), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [223000] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 7,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AT,
    ACTIONS(2991), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_borrowing,
      anon_sym_consuming,
  [223027] = 7,
    STATE(5157), 1,
      aux_sym__attribute_argument_repeat1,
    STATE(8744), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4959), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [223062] = 4,
    ACTIONS(9507), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5135), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3034), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [223091] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9510), 1,
      sym__dot_custom,
    STATE(5186), 1,
      aux_sym_user_type_repeat1,
    STATE(5483), 1,
      sym__dot,
    ACTIONS(3041), 16,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [223122] = 11,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9347), 1,
      sym__arrow_operator_custom,
    ACTIONS(9349), 1,
      sym__async_keyword_custom,
    ACTIONS(9484), 1,
      anon_sym_DOT,
    ACTIONS(9486), 1,
      anon_sym_AMP,
    STATE(4115), 1,
      sym__arrow_operator,
    STATE(5647), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6967), 1,
      sym__async_keyword,
    STATE(8510), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3079), 9,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [223165] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9512), 1,
      anon_sym_LT,
    STATE(5406), 1,
      sym_type_arguments,
    ACTIONS(3083), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [223194] = 8,
    ACTIONS(9514), 1,
      anon_sym_STAR,
    STATE(2390), 1,
      sym_simple_identifier,
    STATE(7716), 1,
      sym__availability_argument,
    STATE(8896), 1,
      sym_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [223231] = 4,
    ACTIONS(9304), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5130), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [223260] = 4,
    ACTIONS(9516), 1,
      anon_sym_LT,
    STATE(5469), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3083), 16,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [223289] = 11,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9347), 1,
      sym__arrow_operator_custom,
    ACTIONS(9349), 1,
      sym__async_keyword_custom,
    ACTIONS(9484), 1,
      anon_sym_DOT,
    ACTIONS(9486), 1,
      anon_sym_AMP,
    STATE(4115), 1,
      sym__arrow_operator,
    STATE(5647), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6967), 1,
      sym__async_keyword,
    STATE(8510), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3055), 9,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [223332] = 8,
    ACTIONS(9023), 1,
      anon_sym_self,
    STATE(4971), 1,
      sym_simple_identifier,
    STATE(6682), 1,
      sym_lambda_parameter,
    STATE(6765), 1,
      sym_self_expression,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4919), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3915), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3913), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [223369] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9510), 1,
      sym__dot_custom,
    STATE(5136), 1,
      aux_sym_user_type_repeat1,
    STATE(5483), 1,
      sym__dot,
    ACTIONS(3048), 16,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [223400] = 6,
    ACTIONS(5), 1,
      sym_comment,
    STATE(4115), 1,
      sym__arrow_operator,
    STATE(5647), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6967), 1,
      sym__async_keyword,
    STATE(8510), 1,
      sym_throws,
    ACTIONS(3071), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [223433] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3196), 18,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_in,
  [223458] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9520), 7,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_TILDE,
      anon_sym_AT,
    ACTIONS(9518), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_some,
      anon_sym_any,
      anon_sym_borrowing,
      anon_sym_consuming,
  [223485] = 5,
    ACTIONS(9522), 1,
      sym__dot_custom,
    STATE(5122), 1,
      aux_sym_user_type_repeat1,
    STATE(5460), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3048), 15,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [223516] = 3,
    ACTIONS(3209), 1,
      anon_sym_unowned,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3211), 17,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_AT,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
  [223543] = 11,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9347), 1,
      sym__arrow_operator_custom,
    ACTIONS(9349), 1,
      sym__async_keyword_custom,
    ACTIONS(9484), 1,
      anon_sym_DOT,
    ACTIONS(9486), 1,
      anon_sym_AMP,
    STATE(4115), 1,
      sym__arrow_operator,
    STATE(5647), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6967), 1,
      sym__async_keyword,
    STATE(8510), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3063), 9,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [223586] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 18,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [223611] = 3,
    ACTIONS(6797), 1,
      anon_sym_unowned,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6795), 17,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_AT,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
  [223638] = 11,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9347), 1,
      sym__arrow_operator_custom,
    ACTIONS(9349), 1,
      sym__async_keyword_custom,
    ACTIONS(9484), 1,
      anon_sym_DOT,
    ACTIONS(9486), 1,
      anon_sym_AMP,
    STATE(4115), 1,
      sym__arrow_operator,
    STATE(5647), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6967), 1,
      sym__async_keyword,
    STATE(8510), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3075), 9,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [223681] = 8,
    ACTIONS(9525), 1,
      anon_sym_STAR,
    STATE(2390), 1,
      sym_simple_identifier,
    STATE(8024), 1,
      sym__availability_argument,
    STATE(8896), 1,
      sym_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [223718] = 3,
    ACTIONS(6806), 1,
      anon_sym_unowned,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6804), 17,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_typealias,
      anon_sym_struct,
      anon_sym_class,
      anon_sym_enum,
      anon_sym_let,
      anon_sym_var,
      anon_sym_func,
      anon_sym_extension,
      anon_sym_indirect,
      anon_sym_AT,
      anon_sym_final,
      anon_sym_weak,
      anon_sym_unowned_LPARENsafe_RPAREN,
      anon_sym_unowned_LPARENunsafe_RPAREN,
  [223745] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3196), 7,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AT,
    ACTIONS(3194), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_borrowing,
      anon_sym_consuming,
  [223772] = 7,
    STATE(5157), 1,
      aux_sym__attribute_argument_repeat1,
    STATE(8744), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(1866), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9530), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9527), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [223807] = 3,
    ACTIONS(3190), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3192), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [223834] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3200), 7,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AT,
    ACTIONS(3198), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_borrowing,
      anon_sym_consuming,
  [223861] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3135), 7,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AT,
    ACTIONS(3133), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_borrowing,
      anon_sym_consuming,
  [223888] = 3,
    ACTIONS(3113), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3115), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [223915] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3127), 7,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AT,
    ACTIONS(3125), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_borrowing,
      anon_sym_consuming,
  [223942] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3107), 7,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AT,
    ACTIONS(3105), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_borrowing,
      anon_sym_consuming,
  [223969] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 18,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_in,
  [223994] = 3,
    ACTIONS(3129), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3131), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [224021] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3200), 18,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_in,
  [224046] = 3,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3194), 1,
      anon_sym_QMARK,
    ACTIONS(3196), 18,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [224073] = 3,
    ACTIONS(3186), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3188), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [224100] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3135), 18,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_in,
  [224125] = 7,
    ACTIONS(9539), 1,
      anon_sym_RBRACE,
    STATE(8747), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5170), 2,
      sym_precedence_group_attribute,
      aux_sym_precedence_group_attributes_repeat1,
    ACTIONS(9536), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9533), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [224160] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3127), 18,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_in,
  [224185] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4957), 7,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_TILDE,
      anon_sym_AT,
    ACTIONS(4955), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_some,
      anon_sym_any,
      anon_sym_borrowing,
      anon_sym_consuming,
  [224212] = 6,
    STATE(4176), 1,
      sym__arrow_operator,
    STATE(5715), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6989), 1,
      sym__async_keyword,
    STATE(8535), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3089), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [224245] = 11,
    ACTIONS(2998), 1,
      anon_sym_QMARK,
    ACTIONS(9541), 1,
      anon_sym_QMARK2,
    ACTIONS(9543), 1,
      sym__arrow_operator_custom,
    ACTIONS(9545), 1,
      sym__async_keyword_custom,
    STATE(4469), 1,
      sym__arrow_operator,
    STATE(7000), 1,
      sym__async_keyword,
    STATE(8581), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(5624), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [224288] = 3,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3198), 1,
      anon_sym_QMARK,
    ACTIONS(3200), 18,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [224315] = 4,
    ACTIONS(9547), 1,
      anon_sym_AMP,
    STATE(5176), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3079), 16,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [224344] = 6,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9550), 2,
      anon_sym_true,
      anon_sym_false,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5921), 2,
      sym_simple_identifier,
      sym_boolean_literal,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [224377] = 5,
    ACTIONS(9552), 1,
      sym__dot_custom,
    STATE(5125), 1,
      aux_sym_user_type_repeat1,
    STATE(5435), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3041), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [224408] = 3,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3133), 1,
      anon_sym_QMARK,
    ACTIONS(3135), 18,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [224435] = 11,
    ACTIONS(9375), 1,
      sym__arrow_operator_custom,
    ACTIONS(9377), 1,
      sym__async_keyword_custom,
    ACTIONS(9554), 1,
      anon_sym_DOT,
    ACTIONS(9556), 1,
      anon_sym_AMP,
    STATE(4176), 1,
      sym__arrow_operator,
    STATE(5715), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6989), 1,
      sym__async_keyword,
    STATE(8535), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3075), 8,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [224478] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3107), 18,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
      anon_sym_in,
  [224503] = 3,
    ACTIONS(3121), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3123), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [224530] = 10,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9558), 1,
      anon_sym_QMARK2,
    ACTIONS(9560), 1,
      sym__arrow_operator_custom,
    ACTIONS(9562), 1,
      sym__async_keyword_custom,
    STATE(4152), 1,
      sym__arrow_operator,
    STATE(6969), 1,
      sym__async_keyword,
    STATE(8519), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(5545), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 9,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [224571] = 3,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3125), 1,
      anon_sym_QMARK,
    ACTIONS(3127), 18,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [224598] = 3,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3105), 1,
      anon_sym_QMARK,
    ACTIONS(3107), 18,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [224625] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9564), 1,
      sym__dot_custom,
    STATE(5186), 1,
      aux_sym_user_type_repeat1,
    STATE(5483), 1,
      sym__dot,
    ACTIONS(2993), 16,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [224656] = 5,
    ACTIONS(9552), 1,
      sym__dot_custom,
    STATE(5178), 1,
      aux_sym_user_type_repeat1,
    STATE(5435), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3048), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [224687] = 8,
    ACTIONS(9567), 1,
      anon_sym_STAR,
    STATE(2390), 1,
      sym_simple_identifier,
    STATE(8137), 1,
      sym__availability_argument,
    STATE(8896), 1,
      sym_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [224724] = 11,
    ACTIONS(9375), 1,
      sym__arrow_operator_custom,
    ACTIONS(9377), 1,
      sym__async_keyword_custom,
    ACTIONS(9554), 1,
      anon_sym_DOT,
    ACTIONS(9556), 1,
      anon_sym_AMP,
    STATE(4176), 1,
      sym__arrow_operator,
    STATE(5715), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6989), 1,
      sym__async_keyword,
    STATE(8535), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3063), 8,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [224767] = 11,
    ACTIONS(9375), 1,
      sym__arrow_operator_custom,
    ACTIONS(9377), 1,
      sym__async_keyword_custom,
    ACTIONS(9554), 1,
      anon_sym_DOT,
    ACTIONS(9556), 1,
      anon_sym_AMP,
    STATE(4176), 1,
      sym__arrow_operator,
    STATE(5715), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6989), 1,
      sym__async_keyword,
    STATE(8535), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3067), 8,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [224810] = 3,
    ACTIONS(3180), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3182), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [224837] = 11,
    ACTIONS(9375), 1,
      sym__arrow_operator_custom,
    ACTIONS(9377), 1,
      sym__async_keyword_custom,
    ACTIONS(9554), 1,
      anon_sym_DOT,
    ACTIONS(9556), 1,
      anon_sym_AMP,
    STATE(4176), 1,
      sym__arrow_operator,
    STATE(5715), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6989), 1,
      sym__async_keyword,
    STATE(8535), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3079), 8,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [224880] = 6,
    STATE(4176), 1,
      sym__arrow_operator,
    STATE(5715), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6989), 1,
      sym__async_keyword,
    STATE(8535), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3071), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [224913] = 3,
    ACTIONS(3141), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3143), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [224940] = 7,
    ACTIONS(9569), 1,
      anon_sym_COLON,
    STATE(8872), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5131), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [224975] = 3,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(2991), 1,
      anon_sym_QMARK,
    ACTIONS(2993), 18,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [225002] = 3,
    STATE(5176), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3235), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [225029] = 11,
    ACTIONS(9375), 1,
      sym__arrow_operator_custom,
    ACTIONS(9377), 1,
      sym__async_keyword_custom,
    ACTIONS(9554), 1,
      anon_sym_DOT,
    ACTIONS(9556), 1,
      anon_sym_AMP,
    STATE(4176), 1,
      sym__arrow_operator,
    STATE(5715), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6989), 1,
      sym__async_keyword,
    STATE(8535), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3055), 8,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [225072] = 5,
    ACTIONS(9571), 1,
      sym__dot_custom,
    STATE(5199), 1,
      aux_sym_user_type_repeat1,
    STATE(5487), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 14,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [225102] = 4,
    ACTIONS(9373), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5208), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3030), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [225130] = 3,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3186), 1,
      anon_sym_QMARK,
    ACTIONS(3188), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [225156] = 13,
    ACTIONS(387), 1,
      anon_sym_AT,
    ACTIONS(9574), 1,
      anon_sym_RBRACE,
    ACTIONS(9576), 1,
      anon_sym_get,
    ACTIONS(9578), 1,
      anon_sym_set,
    ACTIONS(9580), 1,
      anon_sym__modify,
    STATE(6271), 1,
      sym_setter_specifier,
    STATE(6299), 1,
      sym_modify_specifier,
    STATE(6301), 1,
      sym_getter_specifier,
    STATE(7505), 1,
      sym_mutation_modifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4019), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    STATE(6114), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5327), 4,
      sym_computed_getter,
      sym_computed_modify,
      sym_computed_setter,
      aux_sym_computed_property_repeat1,
  [225202] = 6,
    ACTIONS(3039), 1,
      anon_sym_QMARK,
    ACTIONS(9582), 1,
      sym__dot_custom,
    STATE(5215), 1,
      aux_sym_user_type_repeat1,
    STATE(5390), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3041), 13,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [225234] = 17,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9429), 1,
      sym__arrow_operator_custom,
    ACTIONS(9431), 1,
      sym__async_keyword_custom,
    ACTIONS(9584), 1,
      anon_sym_COLON,
    ACTIONS(9586), 1,
      anon_sym_DOT,
    ACTIONS(9588), 1,
      anon_sym_AMP,
    ACTIONS(9590), 1,
      anon_sym_LT,
    ACTIONS(9592), 1,
      anon_sym_LBRACE,
    STATE(4433), 1,
      sym__arrow_operator,
    STATE(5854), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6924), 1,
      sym_type_parameters,
    STATE(6979), 1,
      sym__async_keyword,
    STATE(7725), 1,
      sym_class_body,
    STATE(8447), 1,
      sym_type_constraints,
    STATE(8490), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [225288] = 3,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3129), 1,
      anon_sym_QMARK,
    ACTIONS(3131), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [225314] = 5,
    ACTIONS(9594), 1,
      sym__dot_custom,
    STATE(5079), 1,
      aux_sym_user_type_repeat1,
    STATE(5460), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3041), 14,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
  [225344] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3139), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [225368] = 4,
    ACTIONS(9596), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5208), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3034), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [225396] = 5,
    ACTIONS(9594), 1,
      sym__dot_custom,
    STATE(5206), 1,
      aux_sym_user_type_repeat1,
    STATE(5460), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3048), 14,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
  [225426] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9599), 1,
      anon_sym_AMP,
    STATE(5210), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(3079), 16,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [225454] = 11,
    ACTIONS(5174), 1,
      anon_sym_DOT,
    ACTIONS(9398), 1,
      sym__arrow_operator_custom,
    ACTIONS(9400), 1,
      sym__async_keyword_custom,
    ACTIONS(9602), 1,
      anon_sym_AMP,
    STATE(4235), 1,
      sym__arrow_operator,
    STATE(5862), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7052), 1,
      sym__async_keyword,
    STATE(8625), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3079), 7,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [225496] = 11,
    ACTIONS(9471), 1,
      sym__arrow_operator_custom,
    ACTIONS(9473), 1,
      sym__async_keyword_custom,
    ACTIONS(9604), 1,
      anon_sym_DOT,
    ACTIONS(9606), 1,
      anon_sym_AMP,
    STATE(4162), 1,
      sym__arrow_operator,
    STATE(5867), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6847), 1,
      sym__async_keyword,
    STATE(8308), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3079), 7,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_GT,
      anon_sym_LBRACE,
  [225538] = 4,
    ACTIONS(9608), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5213), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3034), 14,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_in,
  [225566] = 6,
    STATE(4235), 1,
      sym__arrow_operator,
    STATE(5862), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7052), 1,
      sym__async_keyword,
    STATE(8625), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3071), 13,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [225598] = 6,
    ACTIONS(2991), 1,
      anon_sym_QMARK,
    ACTIONS(9611), 1,
      sym__dot_custom,
    STATE(5215), 1,
      aux_sym_user_type_repeat1,
    STATE(5390), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 13,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [225630] = 11,
    ACTIONS(9429), 1,
      sym__arrow_operator_custom,
    ACTIONS(9431), 1,
      sym__async_keyword_custom,
    ACTIONS(9586), 1,
      anon_sym_DOT,
    ACTIONS(9588), 1,
      anon_sym_AMP,
    STATE(4433), 1,
      sym__arrow_operator,
    STATE(5854), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6979), 1,
      sym__async_keyword,
    STATE(8490), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3055), 7,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [225672] = 10,
    ACTIONS(5180), 1,
      anon_sym_QMARK2,
    ACTIONS(9614), 1,
      sym__arrow_operator_custom,
    ACTIONS(9616), 1,
      sym__async_keyword_custom,
    STATE(4165), 1,
      sym__arrow_operator,
    STATE(7065), 1,
      sym__async_keyword,
    STATE(8642), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(1787), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [225712] = 11,
    ACTIONS(5174), 1,
      anon_sym_DOT,
    ACTIONS(9398), 1,
      sym__arrow_operator_custom,
    ACTIONS(9400), 1,
      sym__async_keyword_custom,
    ACTIONS(9602), 1,
      anon_sym_AMP,
    STATE(4235), 1,
      sym__arrow_operator,
    STATE(5862), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7052), 1,
      sym__async_keyword,
    STATE(8625), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3067), 7,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [225754] = 11,
    ACTIONS(5174), 1,
      anon_sym_DOT,
    ACTIONS(9398), 1,
      sym__arrow_operator_custom,
    ACTIONS(9400), 1,
      sym__async_keyword_custom,
    ACTIONS(9602), 1,
      anon_sym_AMP,
    STATE(4235), 1,
      sym__arrow_operator,
    STATE(5862), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7052), 1,
      sym__async_keyword,
    STATE(8625), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3063), 7,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [225796] = 7,
    STATE(2176), 1,
      sym__simple_user_type,
    STATE(2187), 1,
      sym_simple_identifier,
    STATE(2451), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2249), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9620), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9618), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [225830] = 3,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3121), 1,
      anon_sym_QMARK,
    ACTIONS(3123), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [225856] = 5,
    ACTIONS(9622), 1,
      sym__dot_custom,
    STATE(5231), 1,
      aux_sym_user_type_repeat1,
    STATE(5395), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3048), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [225886] = 4,
    ACTIONS(9624), 1,
      anon_sym_LT,
    STATE(5775), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3083), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [225914] = 4,
    ACTIONS(9373), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5200), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [225942] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [225966] = 7,
    STATE(4998), 1,
      sym_simple_identifier,
    STATE(5001), 1,
      sym__simple_user_type,
    STATE(5121), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5044), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9628), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9626), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [226000] = 7,
    STATE(1518), 1,
      sym__simple_user_type,
    STATE(1559), 1,
      sym_simple_identifier,
    STATE(1607), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1620), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9632), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9630), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [226034] = 3,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3113), 1,
      anon_sym_QMARK,
    ACTIONS(3115), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [226060] = 6,
    STATE(4235), 1,
      sym__arrow_operator,
    STATE(5862), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7052), 1,
      sym__async_keyword,
    STATE(8625), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3089), 13,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [226092] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3097), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [226116] = 5,
    ACTIONS(9622), 1,
      sym__dot_custom,
    STATE(5234), 1,
      aux_sym_user_type_repeat1,
    STATE(5395), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3041), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [226146] = 17,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9429), 1,
      sym__arrow_operator_custom,
    ACTIONS(9431), 1,
      sym__async_keyword_custom,
    ACTIONS(9586), 1,
      anon_sym_DOT,
    ACTIONS(9588), 1,
      anon_sym_AMP,
    ACTIONS(9590), 1,
      anon_sym_LT,
    ACTIONS(9634), 1,
      anon_sym_COLON,
    ACTIONS(9636), 1,
      anon_sym_LBRACE,
    STATE(4433), 1,
      sym__arrow_operator,
    STATE(4550), 1,
      sym_class_body,
    STATE(5854), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6920), 1,
      sym_type_parameters,
    STATE(6979), 1,
      sym__async_keyword,
    STATE(8490), 1,
      sym_throws,
    STATE(8495), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [226200] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3151), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [226224] = 5,
    ACTIONS(9638), 1,
      sym__dot_custom,
    STATE(5234), 1,
      aux_sym_user_type_repeat1,
    STATE(5395), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [226254] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3107), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [226278] = 6,
    STATE(4404), 1,
      sym__arrow_operator,
    STATE(5847), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7008), 1,
      sym__async_keyword,
    STATE(8600), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3071), 13,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [226310] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3127), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [226334] = 10,
    ACTIONS(9641), 1,
      anon_sym_QMARK2,
    ACTIONS(9643), 1,
      sym__arrow_operator_custom,
    ACTIONS(9645), 1,
      sym__async_keyword_custom,
    STATE(4352), 1,
      sym__arrow_operator,
    STATE(7012), 1,
      sym__async_keyword,
    STATE(8609), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(5903), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
  [226374] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3204), 18,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [226398] = 3,
    ACTIONS(5), 1,
      sym_comment,
    STATE(5210), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(3235), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [226424] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [226448] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3135), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [226472] = 11,
    ACTIONS(9429), 1,
      sym__arrow_operator_custom,
    ACTIONS(9431), 1,
      sym__async_keyword_custom,
    ACTIONS(9586), 1,
      anon_sym_DOT,
    ACTIONS(9588), 1,
      anon_sym_AMP,
    STATE(4433), 1,
      sym__arrow_operator,
    STATE(5854), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6979), 1,
      sym__async_keyword,
    STATE(8490), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3075), 7,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [226514] = 6,
    STATE(4433), 1,
      sym__arrow_operator,
    STATE(5854), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6979), 1,
      sym__async_keyword,
    STATE(8490), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3071), 13,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [226546] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9647), 1,
      sym__dot_custom,
    STATE(5245), 1,
      aux_sym_user_type_repeat1,
    STATE(5408), 1,
      sym__dot,
    ACTIONS(2993), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [226576] = 7,
    STATE(3732), 1,
      sym_simple_identifier,
    STATE(3757), 1,
      sym__simple_user_type,
    STATE(3816), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3773), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9652), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9650), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [226610] = 11,
    ACTIONS(9471), 1,
      sym__arrow_operator_custom,
    ACTIONS(9473), 1,
      sym__async_keyword_custom,
    ACTIONS(9604), 1,
      anon_sym_DOT,
    ACTIONS(9606), 1,
      anon_sym_AMP,
    STATE(4162), 1,
      sym__arrow_operator,
    STATE(5867), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6847), 1,
      sym__async_keyword,
    STATE(8308), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3075), 7,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_GT,
      anon_sym_LBRACE,
  [226652] = 13,
    ACTIONS(387), 1,
      anon_sym_AT,
    ACTIONS(9576), 1,
      anon_sym_get,
    ACTIONS(9578), 1,
      anon_sym_set,
    ACTIONS(9580), 1,
      anon_sym__modify,
    ACTIONS(9654), 1,
      anon_sym_RBRACE,
    STATE(6271), 1,
      sym_setter_specifier,
    STATE(6299), 1,
      sym_modify_specifier,
    STATE(6301), 1,
      sym_getter_specifier,
    STATE(7505), 1,
      sym_mutation_modifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4019), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    STATE(6114), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5327), 4,
      sym_computed_getter,
      sym_computed_modify,
      sym_computed_setter,
      aux_sym_computed_property_repeat1,
  [226698] = 6,
    ACTIONS(3046), 1,
      anon_sym_QMARK,
    ACTIONS(9582), 1,
      sym__dot_custom,
    STATE(5203), 1,
      aux_sym_user_type_repeat1,
    STATE(5390), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3048), 13,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [226730] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3200), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [226754] = 5,
    ACTIONS(3081), 1,
      anon_sym_QMARK,
    ACTIONS(9656), 1,
      anon_sym_LT,
    STATE(5592), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3083), 14,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [226784] = 11,
    ACTIONS(9441), 1,
      sym__arrow_operator_custom,
    ACTIONS(9443), 1,
      sym__async_keyword_custom,
    ACTIONS(9658), 1,
      anon_sym_DOT,
    ACTIONS(9660), 1,
      anon_sym_AMP,
    STATE(4404), 1,
      sym__arrow_operator,
    STATE(5847), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7008), 1,
      sym__async_keyword,
    STATE(8600), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3055), 7,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [226826] = 3,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3141), 1,
      anon_sym_QMARK,
    ACTIONS(3143), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [226852] = 6,
    STATE(4186), 1,
      sym__arrow_operator,
    STATE(5821), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7020), 1,
      sym__async_keyword,
    STATE(8628), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3089), 13,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
  [226884] = 11,
    ACTIONS(9471), 1,
      sym__arrow_operator_custom,
    ACTIONS(9473), 1,
      sym__async_keyword_custom,
    ACTIONS(9604), 1,
      anon_sym_DOT,
    ACTIONS(9606), 1,
      anon_sym_AMP,
    STATE(4162), 1,
      sym__arrow_operator,
    STATE(5867), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6847), 1,
      sym__async_keyword,
    STATE(8308), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3055), 7,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_GT,
      anon_sym_LBRACE,
  [226926] = 4,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5213), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3030), 14,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_in,
  [226954] = 6,
    STATE(4433), 1,
      sym__arrow_operator,
    STATE(5854), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6979), 1,
      sym__async_keyword,
    STATE(8490), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3089), 13,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [226986] = 11,
    ACTIONS(9429), 1,
      sym__arrow_operator_custom,
    ACTIONS(9431), 1,
      sym__async_keyword_custom,
    ACTIONS(9586), 1,
      anon_sym_DOT,
    ACTIONS(9588), 1,
      anon_sym_AMP,
    STATE(4433), 1,
      sym__arrow_operator,
    STATE(5854), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6979), 1,
      sym__async_keyword,
    STATE(8490), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3067), 7,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [227028] = 11,
    ACTIONS(9429), 1,
      sym__arrow_operator_custom,
    ACTIONS(9431), 1,
      sym__async_keyword_custom,
    ACTIONS(9586), 1,
      anon_sym_DOT,
    ACTIONS(9588), 1,
      anon_sym_AMP,
    STATE(4433), 1,
      sym__arrow_operator,
    STATE(5854), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6979), 1,
      sym__async_keyword,
    STATE(8490), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3063), 7,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [227070] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3111), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [227094] = 11,
    ACTIONS(9441), 1,
      sym__arrow_operator_custom,
    ACTIONS(9443), 1,
      sym__async_keyword_custom,
    ACTIONS(9658), 1,
      anon_sym_DOT,
    ACTIONS(9660), 1,
      anon_sym_AMP,
    STATE(4404), 1,
      sym__arrow_operator,
    STATE(5847), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7008), 1,
      sym__async_keyword,
    STATE(8600), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3079), 7,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [227136] = 5,
    ACTIONS(9662), 1,
      sym__dot_custom,
    STATE(5199), 1,
      aux_sym_user_type_repeat1,
    STATE(5487), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3041), 14,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [227166] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3119), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [227190] = 11,
    ACTIONS(9411), 1,
      sym__arrow_operator_custom,
    ACTIONS(9413), 1,
      sym__async_keyword_custom,
    ACTIONS(9664), 1,
      anon_sym_DOT,
    ACTIONS(9666), 1,
      anon_sym_AMP,
    STATE(4186), 1,
      sym__arrow_operator,
    STATE(5821), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7020), 1,
      sym__async_keyword,
    STATE(8628), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3055), 7,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
  [227232] = 11,
    ACTIONS(9441), 1,
      sym__arrow_operator_custom,
    ACTIONS(9443), 1,
      sym__async_keyword_custom,
    ACTIONS(9658), 1,
      anon_sym_DOT,
    ACTIONS(9660), 1,
      anon_sym_AMP,
    STATE(4404), 1,
      sym__arrow_operator,
    STATE(5847), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7008), 1,
      sym__async_keyword,
    STATE(8600), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3067), 7,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [227274] = 6,
    ACTIONS(9668), 1,
      sym__dot_custom,
    STATE(5275), 1,
      aux_sym_user_type_repeat1,
    STATE(5438), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3048), 5,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_AT,
    ACTIONS(3046), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [227306] = 5,
    ACTIONS(9670), 1,
      anon_sym_LT,
    STATE(5581), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3083), 6,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_AT,
    ACTIONS(3081), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [227336] = 11,
    ACTIONS(5174), 1,
      anon_sym_DOT,
    ACTIONS(9398), 1,
      sym__arrow_operator_custom,
    ACTIONS(9400), 1,
      sym__async_keyword_custom,
    ACTIONS(9602), 1,
      anon_sym_AMP,
    STATE(4235), 1,
      sym__arrow_operator,
    STATE(5862), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7052), 1,
      sym__async_keyword,
    STATE(8625), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3075), 7,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [227378] = 3,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3180), 1,
      anon_sym_QMARK,
    ACTIONS(3182), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [227404] = 16,
    ACTIONS(3977), 1,
      anon_sym_async,
    ACTIONS(3999), 1,
      anon_sym_func,
    ACTIONS(5111), 1,
      anon_sym_typealias,
    ACTIONS(9203), 1,
      anon_sym_init,
    ACTIONS(9205), 1,
      anon_sym_associatedtype,
    ACTIONS(9672), 1,
      anon_sym_class,
    ACTIONS(9674), 1,
      anon_sym_deinit,
    ACTIONS(9676), 1,
      anon_sym_subscript,
    STATE(6719), 1,
      sym__binding_kind_and_pattern,
    STATE(7177), 1,
      sym__non_constructor_function_decl,
    STATE(7284), 1,
      sym__modifierless_function_declaration_no_body,
    STATE(7351), 1,
      sym__modifierless_typealias_declaration,
    STATE(7659), 1,
      sym__async_modifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3997), 2,
      anon_sym_let,
      anon_sym_var,
    STATE(4825), 2,
      sym_value_binding_pattern,
      sym__possibly_async_binding_pattern_kind,
  [227456] = 6,
    ACTIONS(9684), 1,
      sym_integer_literal,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5271), 2,
      sym_simple_identifier,
      aux_sym__attribute_argument_repeat2,
    ACTIONS(9681), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9678), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [227488] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9345), 1,
      anon_sym_QMARK2,
    STATE(5286), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [227516] = 7,
    STATE(4866), 1,
      sym__simple_user_type,
    STATE(4895), 1,
      sym_simple_identifier,
    STATE(4943), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4920), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9688), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9686), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [227550] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9690), 1,
      anon_sym_LT,
    STATE(5744), 1,
      sym_type_arguments,
    ACTIONS(3083), 16,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [227578] = 6,
    ACTIONS(9668), 1,
      sym__dot_custom,
    STATE(5297), 1,
      aux_sym_user_type_repeat1,
    STATE(5438), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3041), 5,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_AT,
    ACTIONS(3039), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [227610] = 3,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3091), 1,
      anon_sym_QMARK,
    ACTIONS(3093), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [227636] = 11,
    ACTIONS(9411), 1,
      sym__arrow_operator_custom,
    ACTIONS(9413), 1,
      sym__async_keyword_custom,
    ACTIONS(9664), 1,
      anon_sym_DOT,
    ACTIONS(9666), 1,
      anon_sym_AMP,
    STATE(4186), 1,
      sym__arrow_operator,
    STATE(5821), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7020), 1,
      sym__async_keyword,
    STATE(8628), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3075), 7,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
  [227678] = 4,
    ACTIONS(9692), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4977), 5,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LBRACK,
      anon_sym_AT,
    ACTIONS(4975), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_borrowing,
      anon_sym_consuming,
  [227706] = 11,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9455), 1,
      sym__arrow_operator_custom,
    ACTIONS(9457), 1,
      sym__async_keyword_custom,
    ACTIONS(9695), 1,
      anon_sym_DOT,
    ACTIONS(9697), 1,
      anon_sym_AMP,
    STATE(4407), 1,
      sym__arrow_operator,
    STATE(5823), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6919), 1,
      sym__async_keyword,
    STATE(8443), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3075), 8,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [227748] = 11,
    ACTIONS(9441), 1,
      sym__arrow_operator_custom,
    ACTIONS(9443), 1,
      sym__async_keyword_custom,
    ACTIONS(9658), 1,
      anon_sym_DOT,
    ACTIONS(9660), 1,
      anon_sym_AMP,
    STATE(4404), 1,
      sym__arrow_operator,
    STATE(5847), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7008), 1,
      sym__async_keyword,
    STATE(8600), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3075), 7,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [227790] = 11,
    ACTIONS(9441), 1,
      sym__arrow_operator_custom,
    ACTIONS(9443), 1,
      sym__async_keyword_custom,
    ACTIONS(9658), 1,
      anon_sym_DOT,
    ACTIONS(9660), 1,
      anon_sym_AMP,
    STATE(4404), 1,
      sym__arrow_operator,
    STATE(5847), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7008), 1,
      sym__async_keyword,
    STATE(8600), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3063), 7,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [227832] = 3,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3145), 1,
      anon_sym_QMARK,
    ACTIONS(3147), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [227858] = 11,
    ACTIONS(2998), 1,
      anon_sym_DOT,
    ACTIONS(5236), 1,
      anon_sym_QMARK2,
    ACTIONS(9699), 1,
      sym__arrow_operator_custom,
    ACTIONS(9701), 1,
      sym__async_keyword_custom,
    STATE(4452), 1,
      sym__arrow_operator,
    STATE(6995), 1,
      sym__async_keyword,
    STATE(8572), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(1770), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 6,
      sym__eq_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_AMP,
      anon_sym_DOT_DOT_DOT,
  [227900] = 3,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3157), 1,
      anon_sym_QMARK,
    ACTIONS(3159), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [227926] = 11,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9455), 1,
      sym__arrow_operator_custom,
    ACTIONS(9457), 1,
      sym__async_keyword_custom,
    ACTIONS(9695), 1,
      anon_sym_DOT,
    ACTIONS(9697), 1,
      anon_sym_AMP,
    STATE(4407), 1,
      sym__arrow_operator,
    STATE(5823), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6919), 1,
      sym__async_keyword,
    STATE(8443), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3063), 8,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [227968] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9345), 1,
      anon_sym_QMARK2,
    STATE(5296), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3030), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [227996] = 17,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9429), 1,
      sym__arrow_operator_custom,
    ACTIONS(9431), 1,
      sym__async_keyword_custom,
    ACTIONS(9586), 1,
      anon_sym_DOT,
    ACTIONS(9588), 1,
      anon_sym_AMP,
    ACTIONS(9590), 1,
      anon_sym_LT,
    ACTIONS(9703), 1,
      anon_sym_COLON,
    ACTIONS(9705), 1,
      anon_sym_LBRACE,
    STATE(3281), 1,
      sym_class_body,
    STATE(4433), 1,
      sym__arrow_operator,
    STATE(5854), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6979), 1,
      sym__async_keyword,
    STATE(6999), 1,
      sym_type_parameters,
    STATE(8490), 1,
      sym_throws,
    STATE(8574), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [228050] = 5,
    ACTIONS(9662), 1,
      sym__dot_custom,
    STATE(5262), 1,
      aux_sym_user_type_repeat1,
    STATE(5487), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3048), 14,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [228080] = 11,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9455), 1,
      sym__arrow_operator_custom,
    ACTIONS(9457), 1,
      sym__async_keyword_custom,
    ACTIONS(9695), 1,
      anon_sym_DOT,
    ACTIONS(9697), 1,
      anon_sym_AMP,
    STATE(4407), 1,
      sym__arrow_operator,
    STATE(5823), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6919), 1,
      sym__async_keyword,
    STATE(8443), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3067), 8,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [228122] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3196), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [228146] = 7,
    STATE(1972), 1,
      sym_simple_identifier,
    STATE(2042), 1,
      sym__simple_user_type,
    STATE(2277), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [228180] = 11,
    ACTIONS(2998), 1,
      anon_sym_QMARK,
    ACTIONS(9707), 1,
      anon_sym_QMARK2,
    ACTIONS(9709), 1,
      sym__arrow_operator_custom,
    ACTIONS(9711), 1,
      sym__async_keyword_custom,
    STATE(4381), 1,
      sym__arrow_operator,
    STATE(7009), 1,
      sym__async_keyword,
    STATE(8603), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(5600), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 6,
      sym__as_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
  [228222] = 11,
    ACTIONS(5174), 1,
      anon_sym_DOT,
    ACTIONS(9398), 1,
      sym__arrow_operator_custom,
    ACTIONS(9400), 1,
      sym__async_keyword_custom,
    ACTIONS(9602), 1,
      anon_sym_AMP,
    STATE(4235), 1,
      sym__arrow_operator,
    STATE(5862), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7052), 1,
      sym__async_keyword,
    STATE(8625), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3055), 7,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [228264] = 17,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9429), 1,
      sym__arrow_operator_custom,
    ACTIONS(9431), 1,
      sym__async_keyword_custom,
    ACTIONS(9586), 1,
      anon_sym_DOT,
    ACTIONS(9588), 1,
      anon_sym_AMP,
    ACTIONS(9590), 1,
      anon_sym_LT,
    ACTIONS(9713), 1,
      anon_sym_COLON,
    ACTIONS(9715), 1,
      anon_sym_LBRACE,
    STATE(4433), 1,
      sym__arrow_operator,
    STATE(5854), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6979), 1,
      sym__async_keyword,
    STATE(7014), 1,
      sym_type_parameters,
    STATE(7081), 1,
      sym_class_body,
    STATE(8407), 1,
      sym_type_constraints,
    STATE(8490), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [228318] = 7,
    STATE(2152), 1,
      sym_simple_identifier,
    STATE(2159), 1,
      sym__simple_user_type,
    STATE(2537), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2237), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9719), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9717), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [228352] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9721), 1,
      anon_sym_QMARK2,
    STATE(5296), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3034), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [228380] = 6,
    ACTIONS(9724), 1,
      sym__dot_custom,
    STATE(5297), 1,
      aux_sym_user_type_repeat1,
    STATE(5438), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 5,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_AT,
    ACTIONS(2991), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [228412] = 7,
    STATE(4790), 1,
      sym__simple_user_type,
    STATE(4820), 1,
      sym_simple_identifier,
    STATE(4859), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4836), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9729), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9727), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [228446] = 13,
    ACTIONS(387), 1,
      anon_sym_AT,
    ACTIONS(9576), 1,
      anon_sym_get,
    ACTIONS(9578), 1,
      anon_sym_set,
    ACTIONS(9580), 1,
      anon_sym__modify,
    ACTIONS(9731), 1,
      anon_sym_RBRACE,
    STATE(6271), 1,
      sym_setter_specifier,
    STATE(6299), 1,
      sym_modify_specifier,
    STATE(6301), 1,
      sym_getter_specifier,
    STATE(7505), 1,
      sym_mutation_modifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4019), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    STATE(6114), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5327), 4,
      sym_computed_getter,
      sym_computed_modify,
      sym_computed_setter,
      aux_sym_computed_property_repeat1,
  [228492] = 6,
    ACTIONS(9733), 1,
      sym_integer_literal,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(5271), 2,
      sym_simple_identifier,
      aux_sym__attribute_argument_repeat2,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [228524] = 7,
    ACTIONS(9055), 1,
      anon_sym_each,
    STATE(7077), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    STATE(7289), 2,
      sym_type_parameter_pack,
      sym__type_parameter_possibly_packed,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 8,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [228558] = 6,
    ACTIONS(5), 1,
      sym_comment,
    STATE(4407), 1,
      sym__arrow_operator,
    STATE(5823), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6919), 1,
      sym__async_keyword,
    STATE(8443), 1,
      sym_throws,
    ACTIONS(3071), 14,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [228590] = 7,
    STATE(5036), 1,
      sym__simple_user_type,
    STATE(5037), 1,
      sym_simple_identifier,
    STATE(5278), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5099), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9737), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9735), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [228624] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 17,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [228648] = 6,
    STATE(4404), 1,
      sym__arrow_operator,
    STATE(5847), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7008), 1,
      sym__async_keyword,
    STATE(8600), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3089), 13,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [228680] = 11,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9455), 1,
      sym__arrow_operator_custom,
    ACTIONS(9457), 1,
      sym__async_keyword_custom,
    ACTIONS(9695), 1,
      anon_sym_DOT,
    ACTIONS(9697), 1,
      anon_sym_AMP,
    STATE(4407), 1,
      sym__arrow_operator,
    STATE(5823), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6919), 1,
      sym__async_keyword,
    STATE(8443), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3055), 8,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [228722] = 7,
    STATE(5266), 1,
      sym__simple_user_type,
    STATE(5267), 1,
      sym_simple_identifier,
    STATE(5868), 1,
      sym_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5387), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9741), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9739), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [228756] = 11,
    ACTIONS(9471), 1,
      sym__arrow_operator_custom,
    ACTIONS(9473), 1,
      sym__async_keyword_custom,
    ACTIONS(9604), 1,
      anon_sym_DOT,
    ACTIONS(9606), 1,
      anon_sym_AMP,
    STATE(4162), 1,
      sym__arrow_operator,
    STATE(5867), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6847), 1,
      sym__async_keyword,
    STATE(8308), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3063), 7,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_GT,
      anon_sym_LBRACE,
  [228798] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9743), 1,
      sym__dot_custom,
    STATE(5245), 1,
      aux_sym_user_type_repeat1,
    STATE(5408), 1,
      sym__dot,
    ACTIONS(3041), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [228828] = 11,
    ACTIONS(9471), 1,
      sym__arrow_operator_custom,
    ACTIONS(9473), 1,
      sym__async_keyword_custom,
    ACTIONS(9604), 1,
      anon_sym_DOT,
    ACTIONS(9606), 1,
      anon_sym_AMP,
    STATE(4162), 1,
      sym__arrow_operator,
    STATE(5867), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6847), 1,
      sym__async_keyword,
    STATE(8308), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3067), 7,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_GT,
      anon_sym_LBRACE,
  [228870] = 11,
    ACTIONS(9411), 1,
      sym__arrow_operator_custom,
    ACTIONS(9413), 1,
      sym__async_keyword_custom,
    ACTIONS(9664), 1,
      anon_sym_DOT,
    ACTIONS(9666), 1,
      anon_sym_AMP,
    STATE(4186), 1,
      sym__arrow_operator,
    STATE(5821), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7020), 1,
      sym__async_keyword,
    STATE(8628), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3079), 7,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
  [228912] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4973), 6,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AT,
    ACTIONS(4971), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_borrowing,
      anon_sym_consuming,
  [228938] = 4,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 14,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_in,
  [228966] = 11,
    ACTIONS(9429), 1,
      sym__arrow_operator_custom,
    ACTIONS(9431), 1,
      sym__async_keyword_custom,
    ACTIONS(9586), 1,
      anon_sym_DOT,
    ACTIONS(9588), 1,
      anon_sym_AMP,
    STATE(4433), 1,
      sym__arrow_operator,
    STATE(5854), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6979), 1,
      sym__async_keyword,
    STATE(8490), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3079), 7,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [229008] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9743), 1,
      sym__dot_custom,
    STATE(5309), 1,
      aux_sym_user_type_repeat1,
    STATE(5408), 1,
      sym__dot,
    ACTIONS(3048), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [229038] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4957), 6,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AT,
    ACTIONS(4955), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_borrowing,
      anon_sym_consuming,
  [229064] = 6,
    STATE(4162), 1,
      sym__arrow_operator,
    STATE(5867), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6847), 1,
      sym__async_keyword,
    STATE(8308), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3089), 13,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
  [229096] = 11,
    ACTIONS(9411), 1,
      sym__arrow_operator_custom,
    ACTIONS(9413), 1,
      sym__async_keyword_custom,
    ACTIONS(9664), 1,
      anon_sym_DOT,
    ACTIONS(9666), 1,
      anon_sym_AMP,
    STATE(4186), 1,
      sym__arrow_operator,
    STATE(5821), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7020), 1,
      sym__async_keyword,
    STATE(8628), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3063), 7,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
  [229138] = 3,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3190), 1,
      anon_sym_QMARK,
    ACTIONS(3192), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [229164] = 6,
    STATE(4162), 1,
      sym__arrow_operator,
    STATE(5867), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6847), 1,
      sym__async_keyword,
    STATE(8308), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3071), 13,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
  [229196] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4994), 6,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_AT,
    ACTIONS(4992), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_borrowing,
      anon_sym_consuming,
  [229222] = 6,
    STATE(6884), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9749), 2,
      anon_sym_Type,
      anon_sym_Protocol,
    STATE(7245), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9745), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [229254] = 6,
    ACTIONS(5), 1,
      sym_comment,
    STATE(4407), 1,
      sym__arrow_operator,
    STATE(5823), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6919), 1,
      sym__async_keyword,
    STATE(8443), 1,
      sym_throws,
    ACTIONS(3089), 14,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [229286] = 11,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9455), 1,
      sym__arrow_operator_custom,
    ACTIONS(9457), 1,
      sym__async_keyword_custom,
    ACTIONS(9695), 1,
      anon_sym_DOT,
    ACTIONS(9697), 1,
      anon_sym_AMP,
    STATE(4407), 1,
      sym__arrow_operator,
    STATE(5823), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6919), 1,
      sym__async_keyword,
    STATE(8443), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3079), 8,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [229328] = 11,
    ACTIONS(9411), 1,
      sym__arrow_operator_custom,
    ACTIONS(9413), 1,
      sym__async_keyword_custom,
    ACTIONS(9664), 1,
      anon_sym_DOT,
    ACTIONS(9666), 1,
      anon_sym_AMP,
    STATE(4186), 1,
      sym__arrow_operator,
    STATE(5821), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7020), 1,
      sym__async_keyword,
    STATE(8628), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3067), 7,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
  [229370] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(1676), 6,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_RBRACK,
    ACTIONS(9751), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_if,
      anon_sym_switch,
      anon_sym_borrowing,
      anon_sym_consuming,
  [229396] = 13,
    ACTIONS(9753), 1,
      anon_sym_RBRACE,
    ACTIONS(9755), 1,
      anon_sym_get,
    ACTIONS(9758), 1,
      anon_sym_set,
    ACTIONS(9761), 1,
      anon_sym__modify,
    ACTIONS(9764), 1,
      anon_sym_AT,
    STATE(6271), 1,
      sym_setter_specifier,
    STATE(6299), 1,
      sym_modify_specifier,
    STATE(6301), 1,
      sym_getter_specifier,
    STATE(7505), 1,
      sym_mutation_modifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9767), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    STATE(6114), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5327), 4,
      sym_computed_getter,
      sym_computed_modify,
      sym_computed_setter,
      aux_sym_computed_property_repeat1,
  [229442] = 6,
    STATE(4186), 1,
      sym__arrow_operator,
    STATE(5821), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7020), 1,
      sym__async_keyword,
    STATE(8628), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3071), 13,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
  [229474] = 13,
    ACTIONS(387), 1,
      anon_sym_AT,
    ACTIONS(9576), 1,
      anon_sym_get,
    ACTIONS(9578), 1,
      anon_sym_set,
    ACTIONS(9580), 1,
      anon_sym__modify,
    ACTIONS(9770), 1,
      anon_sym_RBRACE,
    STATE(6271), 1,
      sym_setter_specifier,
    STATE(6299), 1,
      sym_modify_specifier,
    STATE(6301), 1,
      sym_getter_specifier,
    STATE(7505), 1,
      sym_mutation_modifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4019), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    STATE(6114), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    STATE(5327), 4,
      sym_computed_getter,
      sym_computed_modify,
      sym_computed_setter,
      aux_sym_computed_property_repeat1,
  [229520] = 6,
    STATE(5779), 1,
      sym_simple_identifier,
    STATE(6015), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5876), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7697), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(7695), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [229551] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 16,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [229574] = 6,
    STATE(2178), 1,
      sym_simple_identifier,
    STATE(2262), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2241), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4201), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(4199), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [229605] = 6,
    STATE(6731), 1,
      sym_simple_identifier,
    STATE(8046), 1,
      sym_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(7386), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9065), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9063), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [229636] = 13,
    ACTIONS(9772), 1,
      anon_sym_LPAREN,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    ACTIONS(9780), 1,
      sym__async_keyword_custom,
    STATE(6031), 1,
      sym__async_keyword,
    STATE(6123), 1,
      aux_sym__function_value_parameters,
    STATE(6308), 1,
      sym_throws,
    STATE(6583), 1,
      sym_type_constraints,
    STATE(7331), 1,
      sym__block,
    STATE(7389), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9776), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5387), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [229681] = 4,
    ACTIONS(9427), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5454), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 13,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [229708] = 6,
    ACTIONS(9782), 1,
      anon_sym_RPAREN,
    STATE(9014), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [229739] = 6,
    ACTIONS(9784), 1,
      anon_sym_RPAREN,
    STATE(9014), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [229770] = 13,
    ACTIONS(9772), 1,
      anon_sym_LPAREN,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    ACTIONS(9786), 1,
      sym__async_keyword_custom,
    STATE(6107), 1,
      sym__async_keyword,
    STATE(6123), 1,
      aux_sym__function_value_parameters,
    STATE(6352), 1,
      sym_throws,
    STATE(6541), 1,
      sym_type_constraints,
    STATE(7271), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9776), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5353), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [229815] = 6,
    ACTIONS(9788), 1,
      sym_integer_literal,
    STATE(2630), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2240), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(973), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(971), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [229846] = 13,
    ACTIONS(9772), 1,
      anon_sym_LPAREN,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    ACTIONS(9790), 1,
      sym__async_keyword_custom,
    STATE(6086), 1,
      sym__async_keyword,
    STATE(6123), 1,
      aux_sym__function_value_parameters,
    STATE(6289), 1,
      sym_throws,
    STATE(6638), 1,
      sym_type_constraints,
    STATE(7331), 1,
      sym__block,
    STATE(7396), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9776), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5347), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [229891] = 13,
    ACTIONS(9772), 1,
      anon_sym_LPAREN,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    ACTIONS(9792), 1,
      sym__async_keyword_custom,
    STATE(6117), 1,
      sym__async_keyword,
    STATE(6123), 1,
      aux_sym__function_value_parameters,
    STATE(6298), 1,
      sym_throws,
    STATE(6544), 1,
      sym_type_constraints,
    STATE(7092), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9776), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5329), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [229936] = 6,
    STATE(1972), 1,
      sym_simple_identifier,
    STATE(2092), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [229967] = 6,
    ACTIONS(9794), 1,
      sym_integer_literal,
    STATE(2714), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2368), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(13), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(11), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [229998] = 13,
    ACTIONS(9796), 1,
      anon_sym_COLON,
    ACTIONS(9798), 1,
      anon_sym_LBRACE,
    ACTIONS(9800), 1,
      sym__eq_custom,
    ACTIONS(9802), 1,
      sym_where_keyword,
    STATE(584), 1,
      sym__equal_sign,
    STATE(5833), 1,
      sym_type_annotation,
    STATE(6095), 1,
      sym_type_constraints,
    STATE(6950), 1,
      sym_computed_property,
    STATE(6956), 1,
      sym_willset_didset_block,
    STATE(6960), 1,
      sym__expression_without_willset_didset,
    STATE(6961), 1,
      sym__expression_with_willset_didset,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5335), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [230043] = 6,
    STATE(3732), 1,
      sym_simple_identifier,
    STATE(3797), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3773), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9652), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9650), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [230074] = 11,
    ACTIONS(9501), 1,
      sym__arrow_operator_custom,
    ACTIONS(9503), 1,
      sym__async_keyword_custom,
    ACTIONS(9804), 1,
      anon_sym_DOT,
    ACTIONS(9806), 1,
      anon_sym_AMP,
    STATE(4259), 1,
      sym__arrow_operator,
    STATE(6003), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6941), 1,
      sym__async_keyword,
    STATE(8488), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3075), 6,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_where_keyword,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [230115] = 4,
    ACTIONS(9808), 1,
      anon_sym_LT,
    STATE(5828), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3083), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [230142] = 5,
    ACTIONS(2998), 1,
      anon_sym_QMARK,
    ACTIONS(9409), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5355), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 12,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
  [230171] = 6,
    STATE(5447), 1,
      sym_simple_identifier,
    STATE(5806), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5720), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7715), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(7713), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [230202] = 11,
    ACTIONS(9501), 1,
      sym__arrow_operator_custom,
    ACTIONS(9503), 1,
      sym__async_keyword_custom,
    ACTIONS(9804), 1,
      anon_sym_DOT,
    ACTIONS(9806), 1,
      anon_sym_AMP,
    STATE(4259), 1,
      sym__arrow_operator,
    STATE(6003), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6941), 1,
      sym__async_keyword,
    STATE(8488), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3063), 6,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_where_keyword,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [230243] = 11,
    ACTIONS(9501), 1,
      sym__arrow_operator_custom,
    ACTIONS(9503), 1,
      sym__async_keyword_custom,
    ACTIONS(9804), 1,
      anon_sym_DOT,
    ACTIONS(9806), 1,
      anon_sym_AMP,
    STATE(4259), 1,
      sym__arrow_operator,
    STATE(6003), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6941), 1,
      sym__async_keyword,
    STATE(8488), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3067), 6,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_where_keyword,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [230284] = 6,
    STATE(4259), 1,
      sym__arrow_operator,
    STATE(6003), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6941), 1,
      sym__async_keyword,
    STATE(8488), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3071), 12,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [230315] = 11,
    ACTIONS(9501), 1,
      sym__arrow_operator_custom,
    ACTIONS(9503), 1,
      sym__async_keyword_custom,
    ACTIONS(9804), 1,
      anon_sym_DOT,
    ACTIONS(9806), 1,
      anon_sym_AMP,
    STATE(4259), 1,
      sym__arrow_operator,
    STATE(6003), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6941), 1,
      sym__async_keyword,
    STATE(8488), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3055), 6,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_where_keyword,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [230356] = 6,
    STATE(4469), 1,
      sym__arrow_operator,
    STATE(5928), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7000), 1,
      sym__async_keyword,
    STATE(8581), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3089), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [230387] = 5,
    ACTIONS(3028), 1,
      anon_sym_QMARK,
    ACTIONS(9409), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5363), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3030), 12,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
  [230416] = 3,
    ACTIONS(3202), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 15,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
  [230441] = 11,
    ACTIONS(9501), 1,
      sym__arrow_operator_custom,
    ACTIONS(9503), 1,
      sym__async_keyword_custom,
    ACTIONS(9804), 1,
      anon_sym_DOT,
    ACTIONS(9806), 1,
      anon_sym_AMP,
    STATE(4259), 1,
      sym__arrow_operator,
    STATE(6003), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6941), 1,
      sym__async_keyword,
    STATE(8488), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3079), 6,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_where_keyword,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [230482] = 6,
    ACTIONS(9810), 1,
      anon_sym_RPAREN,
    STATE(9014), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [230513] = 6,
    ACTIONS(9812), 1,
      anon_sym_RPAREN,
    STATE(9014), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [230544] = 6,
    ACTIONS(9814), 1,
      sym_integer_literal,
    STATE(1383), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1210), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(291), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(289), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [230575] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9816), 1,
      anon_sym_LT,
    STATE(5912), 1,
      sym_type_arguments,
    ACTIONS(3083), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [230602] = 6,
    STATE(2083), 1,
      sym_simple_identifier,
    STATE(2118), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2130), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3940), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3938), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [230633] = 5,
    ACTIONS(3032), 1,
      anon_sym_QMARK,
    ACTIONS(9818), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5363), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3034), 12,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
  [230662] = 5,
    ACTIONS(9821), 1,
      sym__dot_custom,
    STATE(5443), 1,
      sym__dot,
    STATE(5498), 1,
      aux_sym_user_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3041), 13,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [230691] = 6,
    STATE(2200), 1,
      sym_simple_identifier,
    STATE(2229), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2244), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4181), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(4179), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [230722] = 5,
    ACTIONS(9821), 1,
      sym__dot_custom,
    STATE(5364), 1,
      aux_sym_user_type_repeat1,
    STATE(5443), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3048), 13,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [230751] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3147), 16,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [230774] = 4,
    ACTIONS(9823), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5368), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3034), 13,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [230801] = 6,
    ACTIONS(9826), 1,
      anon_sym_RPAREN,
    STATE(9014), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [230832] = 6,
    ACTIONS(9828), 1,
      anon_sym_RPAREN,
    STATE(9014), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [230863] = 6,
    STATE(4259), 1,
      sym__arrow_operator,
    STATE(6003), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6941), 1,
      sym__async_keyword,
    STATE(8488), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3089), 12,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [230894] = 6,
    ACTIONS(9830), 1,
      anon_sym_RPAREN,
    STATE(9014), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [230925] = 6,
    ACTIONS(9832), 1,
      sym_integer_literal,
    STATE(2846), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2445), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(1123), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(1121), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [230956] = 6,
    STATE(2283), 1,
      sym_simple_identifier,
    STATE(2348), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2358), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4280), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(4278), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [230987] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 16,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [231010] = 13,
    ACTIONS(9772), 1,
      anon_sym_LPAREN,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    ACTIONS(9834), 1,
      sym__async_keyword_custom,
    STATE(6079), 1,
      sym__async_keyword,
    STATE(6123), 1,
      aux_sym__function_value_parameters,
    STATE(6287), 1,
      sym_throws,
    STATE(6616), 1,
      sym_type_constraints,
    STATE(7243), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9776), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5393), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [231055] = 6,
    STATE(5011), 1,
      sym_simple_identifier,
    STATE(5083), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5013), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(5919), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(5917), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [231086] = 6,
    ACTIONS(5), 1,
      sym_comment,
    STATE(4152), 1,
      sym__arrow_operator,
    STATE(5998), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6969), 1,
      sym__async_keyword,
    STATE(8519), 1,
      sym_throws,
    ACTIONS(3089), 13,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [231117] = 11,
    ACTIONS(2998), 1,
      anon_sym_QMARK,
    ACTIONS(9707), 1,
      anon_sym_QMARK2,
    ACTIONS(9836), 1,
      sym__arrow_operator_custom,
    ACTIONS(9838), 1,
      sym__async_keyword_custom,
    STATE(4194), 1,
      sym__arrow_operator,
    STATE(6821), 1,
      sym__async_keyword,
    STATE(8347), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(5600), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 5,
      sym__as_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
  [231158] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3107), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [231181] = 6,
    STATE(4820), 1,
      sym_simple_identifier,
    STATE(4843), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4836), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9729), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9727), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [231212] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3127), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [231235] = 6,
    STATE(6731), 1,
      sym_simple_identifier,
    STATE(7911), 1,
      sym_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(7386), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9065), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9063), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [231266] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3135), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [231289] = 11,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9560), 1,
      sym__arrow_operator_custom,
    ACTIONS(9562), 1,
      sym__async_keyword_custom,
    ACTIONS(9840), 1,
      anon_sym_DOT,
    ACTIONS(9842), 1,
      anon_sym_AMP,
    STATE(4152), 1,
      sym__arrow_operator,
    STATE(5998), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6969), 1,
      sym__async_keyword,
    STATE(8519), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3079), 7,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [231330] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3200), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [231353] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 7,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_LT,
      anon_sym_AT,
    ACTIONS(3202), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [231378] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3159), 16,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [231401] = 6,
    ACTIONS(9844), 1,
      sym_integer_literal,
    STATE(3565), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2652), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(1199), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(1197), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [231432] = 6,
    STATE(5251), 1,
      sym_simple_identifier,
    STATE(5625), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5356), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6816), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6814), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [231463] = 6,
    ACTIONS(9846), 1,
      anon_sym_RPAREN,
    STATE(9014), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [231494] = 6,
    ACTIONS(9848), 1,
      anon_sym_RPAREN,
    STATE(9014), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [231525] = 6,
    ACTIONS(3046), 1,
      anon_sym_QMARK,
    ACTIONS(9850), 1,
      sym__dot_custom,
    STATE(5402), 1,
      aux_sym_user_type_repeat1,
    STATE(5496), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3048), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [231556] = 6,
    ACTIONS(9852), 1,
      anon_sym_RPAREN,
    STATE(9014), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [231587] = 6,
    STATE(5223), 1,
      sym_simple_identifier,
    STATE(5648), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5331), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6761), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6759), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [231618] = 6,
    STATE(1049), 1,
      sym_simple_identifier,
    STATE(1074), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1073), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(2809), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(2807), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [231649] = 6,
    STATE(3020), 1,
      sym_simple_identifier,
    STATE(3607), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3179), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4421), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(4419), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [231680] = 6,
    ACTIONS(9854), 1,
      sym_integer_literal,
    STATE(1250), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1147), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(663), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(661), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [231711] = 6,
    STATE(2680), 1,
      sym_simple_identifier,
    STATE(3354), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3009), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4358), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(4356), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [231742] = 6,
    ACTIONS(9856), 1,
      anon_sym_RPAREN,
    STATE(9014), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [231773] = 13,
    ACTIONS(9772), 1,
      anon_sym_LPAREN,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    ACTIONS(9858), 1,
      sym__async_keyword_custom,
    STATE(6038), 1,
      sym__async_keyword,
    STATE(6123), 1,
      aux_sym__function_value_parameters,
    STATE(6286), 1,
      sym_throws,
    STATE(6617), 1,
      sym_type_constraints,
    STATE(7193), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9776), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5381), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [231818] = 6,
    ACTIONS(3039), 1,
      anon_sym_QMARK,
    ACTIONS(9850), 1,
      sym__dot_custom,
    STATE(5496), 1,
      sym__dot,
    STATE(5500), 1,
      aux_sym_user_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3041), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [231849] = 6,
    STATE(3746), 1,
      sym_simple_identifier,
    STATE(3795), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3771), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4772), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(4770), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [231880] = 6,
    STATE(2137), 1,
      sym_simple_identifier,
    STATE(2151), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2201), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4061), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(4059), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [231911] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9860), 1,
      sym__dot_custom,
    STATE(5416), 1,
      aux_sym_user_type_repeat1,
    STATE(5471), 1,
      sym__dot,
    ACTIONS(3041), 14,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [231940] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3196), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [231963] = 13,
    ACTIONS(9772), 1,
      anon_sym_LPAREN,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    ACTIONS(9862), 1,
      sym__async_keyword_custom,
    STATE(6089), 1,
      sym__async_keyword,
    STATE(6123), 1,
      aux_sym__function_value_parameters,
    STATE(6284), 1,
      sym_throws,
    STATE(6640), 1,
      sym_type_constraints,
    STATE(7166), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9776), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5367), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [232008] = 6,
    STATE(5274), 1,
      sym_simple_identifier,
    STATE(5661), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5429), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6664), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6662), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [232039] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9860), 1,
      sym__dot_custom,
    STATE(5405), 1,
      aux_sym_user_type_repeat1,
    STATE(5471), 1,
      sym__dot,
    ACTIONS(3048), 14,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [232068] = 6,
    STATE(2343), 1,
      sym_simple_identifier,
    STATE(2756), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2446), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4333), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(4331), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [232099] = 13,
    ACTIONS(9772), 1,
      anon_sym_LPAREN,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    ACTIONS(9864), 1,
      sym__async_keyword_custom,
    STATE(6052), 1,
      sym__async_keyword,
    STATE(6123), 1,
      aux_sym__function_value_parameters,
    STATE(6348), 1,
      sym_throws,
    STATE(6530), 1,
      sym_type_constraints,
    STATE(7331), 1,
      sym__block,
    STATE(7357), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9776), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5305), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [232144] = 13,
    ACTIONS(9772), 1,
      anon_sym_LPAREN,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    ACTIONS(9866), 1,
      sym__async_keyword_custom,
    STATE(6043), 1,
      sym__async_keyword,
    STATE(6123), 1,
      aux_sym__function_value_parameters,
    STATE(6290), 1,
      sym_throws,
    STATE(6525), 1,
      sym_type_constraints,
    STATE(7331), 1,
      sym__block,
    STATE(7377), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9776), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5305), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [232189] = 6,
    STATE(1559), 1,
      sym_simple_identifier,
    STATE(1623), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1620), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9632), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9630), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [232220] = 6,
    STATE(5037), 1,
      sym_simple_identifier,
    STATE(5133), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5099), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9737), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9735), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [232251] = 6,
    ACTIONS(9868), 1,
      anon_sym_RPAREN,
    STATE(9014), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [232282] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9870), 1,
      sym__dot_custom,
    STATE(5416), 1,
      aux_sym_user_type_repeat1,
    STATE(5471), 1,
      sym__dot,
    ACTIONS(2993), 14,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [232311] = 6,
    STATE(1068), 1,
      sym_simple_identifier,
    STATE(1106), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1098), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(2832), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(2830), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [232342] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3119), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [232365] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3093), 16,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [232388] = 11,
    ACTIONS(9543), 1,
      sym__arrow_operator_custom,
    ACTIONS(9545), 1,
      sym__async_keyword_custom,
    ACTIONS(9873), 1,
      anon_sym_DOT,
    ACTIONS(9875), 1,
      anon_sym_AMP,
    STATE(4469), 1,
      sym__arrow_operator,
    STATE(5928), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7000), 1,
      sym__async_keyword,
    STATE(8581), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3079), 6,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [232429] = 11,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9560), 1,
      sym__arrow_operator_custom,
    ACTIONS(9562), 1,
      sym__async_keyword_custom,
    ACTIONS(9840), 1,
      anon_sym_DOT,
    ACTIONS(9842), 1,
      anon_sym_AMP,
    STATE(4152), 1,
      sym__arrow_operator,
    STATE(5998), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6969), 1,
      sym__async_keyword,
    STATE(8519), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3055), 7,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [232470] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3204), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [232493] = 6,
    ACTIONS(5), 1,
      sym_comment,
    STATE(4152), 1,
      sym__arrow_operator,
    STATE(5998), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6969), 1,
      sym__async_keyword,
    STATE(8519), 1,
      sym_throws,
    ACTIONS(3071), 13,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [232524] = 6,
    STATE(4998), 1,
      sym_simple_identifier,
    STATE(5094), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5044), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9628), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9626), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [232555] = 6,
    ACTIONS(9877), 1,
      anon_sym_RPAREN,
    STATE(9014), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [232586] = 6,
    ACTIONS(9879), 1,
      anon_sym_RPAREN,
    STATE(9014), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [232617] = 11,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9560), 1,
      sym__arrow_operator_custom,
    ACTIONS(9562), 1,
      sym__async_keyword_custom,
    ACTIONS(9840), 1,
      anon_sym_DOT,
    ACTIONS(9842), 1,
      anon_sym_AMP,
    STATE(4152), 1,
      sym__arrow_operator,
    STATE(5998), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6969), 1,
      sym__async_keyword,
    STATE(8519), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3067), 7,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [232658] = 11,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9560), 1,
      sym__arrow_operator_custom,
    ACTIONS(9562), 1,
      sym__async_keyword_custom,
    ACTIONS(9840), 1,
      anon_sym_DOT,
    ACTIONS(9842), 1,
      anon_sym_AMP,
    STATE(4152), 1,
      sym__arrow_operator,
    STATE(5998), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6969), 1,
      sym__async_keyword,
    STATE(8519), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3063), 7,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [232699] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3204), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [232722] = 6,
    STATE(2187), 1,
      sym_simple_identifier,
    STATE(2342), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2249), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9620), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9618), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [232753] = 11,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9560), 1,
      sym__arrow_operator_custom,
    ACTIONS(9562), 1,
      sym__async_keyword_custom,
    ACTIONS(9840), 1,
      anon_sym_DOT,
    ACTIONS(9842), 1,
      anon_sym_AMP,
    STATE(4152), 1,
      sym__arrow_operator,
    STATE(5998), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6969), 1,
      sym__async_keyword,
    STATE(8519), 1,
      sym_throws,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3075), 7,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [232794] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3097), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [232817] = 6,
    ACTIONS(9881), 1,
      sym_integer_literal,
    STATE(3252), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2787), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(1035), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(1033), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [232848] = 6,
    STATE(6004), 1,
      sym_simple_identifier,
    STATE(6151), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6039), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4039), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(4037), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [232879] = 6,
    STATE(5141), 1,
      sym_simple_identifier,
    STATE(5375), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5241), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6439), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6437), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [232910] = 6,
    ACTIONS(9883), 1,
      anon_sym_RPAREN,
    STATE(9014), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [232941] = 6,
    ACTIONS(9885), 1,
      anon_sym_RPAREN,
    STATE(9014), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [232972] = 6,
    STATE(5267), 1,
      sym_simple_identifier,
    STATE(5689), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5387), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9741), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9739), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [233003] = 6,
    ACTIONS(2991), 1,
      anon_sym_QMARK,
    ACTIONS(9887), 1,
      sym__dot_custom,
    STATE(5349), 1,
      sym__dot,
    STATE(5439), 1,
      aux_sym_user_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_in,
  [233034] = 6,
    STATE(2001), 1,
      sym_simple_identifier,
    STATE(2060), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2064), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3869), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3867), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [233065] = 6,
    STATE(818), 1,
      sym_simple_identifier,
    STATE(822), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(845), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(755), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [233096] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3151), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [233119] = 6,
    STATE(5347), 1,
      sym_simple_identifier,
    STATE(5818), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5541), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7229), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(7227), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [233150] = 6,
    STATE(4469), 1,
      sym__arrow_operator,
    STATE(5928), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7000), 1,
      sym__async_keyword,
    STATE(8581), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3071), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [233181] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3107), 16,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [233204] = 11,
    ACTIONS(9543), 1,
      sym__arrow_operator_custom,
    ACTIONS(9545), 1,
      sym__async_keyword_custom,
    ACTIONS(9873), 1,
      anon_sym_DOT,
    ACTIONS(9875), 1,
      anon_sym_AMP,
    STATE(4469), 1,
      sym__arrow_operator,
    STATE(5928), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7000), 1,
      sym__async_keyword,
    STATE(8581), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3067), 6,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [233245] = 5,
    ACTIONS(3081), 1,
      anon_sym_QMARK,
    ACTIONS(9890), 1,
      anon_sym_LT,
    STATE(5866), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3083), 13,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_in,
  [233274] = 6,
    STATE(4895), 1,
      sym_simple_identifier,
    STATE(4936), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4920), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9688), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9686), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [233305] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3127), 16,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [233328] = 11,
    ACTIONS(9543), 1,
      sym__arrow_operator_custom,
    ACTIONS(9545), 1,
      sym__async_keyword_custom,
    ACTIONS(9873), 1,
      anon_sym_DOT,
    ACTIONS(9875), 1,
      anon_sym_AMP,
    STATE(4469), 1,
      sym__arrow_operator,
    STATE(5928), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7000), 1,
      sym__async_keyword,
    STATE(8581), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3063), 6,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [233369] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3135), 16,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [233392] = 4,
    ACTIONS(9439), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5465), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 13,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [233419] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3200), 16,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [233442] = 4,
    ACTIONS(9427), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5368), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3030), 13,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [233469] = 6,
    STATE(1737), 1,
      sym_simple_identifier,
    STATE(1810), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1730), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3846), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [233500] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(2993), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [233523] = 6,
    STATE(6667), 1,
      sym_simple_identifier,
    STATE(7720), 1,
      sym_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(7375), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9095), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9093), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [233554] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3139), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [233577] = 6,
    STATE(1845), 1,
      sym_simple_identifier,
    STATE(1919), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1905), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3889), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3887), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [233608] = 6,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5164), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [233639] = 6,
    STATE(1719), 1,
      sym_simple_identifier,
    STATE(1753), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1734), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3764), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3762), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [233670] = 6,
    STATE(5104), 1,
      sym_simple_identifier,
    STATE(5304), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5151), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6298), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6296), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [233701] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3111), 17,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [233724] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3093), 16,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [233747] = 4,
    ACTIONS(9439), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5476), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3030), 13,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [233774] = 6,
    STATE(2390), 1,
      sym_simple_identifier,
    STATE(3575), 1,
      sym_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [233805] = 6,
    STATE(5041), 1,
      sym_simple_identifier,
    STATE(5196), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5098), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6045), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6043), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [233836] = 6,
    ACTIONS(9892), 1,
      anon_sym_COLON,
    STATE(8714), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [233867] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3196), 16,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [233890] = 6,
    STATE(2152), 1,
      sym_simple_identifier,
    STATE(2324), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2237), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9719), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9717), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [233921] = 6,
    STATE(5361), 1,
      sym_simple_identifier,
    STATE(5902), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5542), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7097), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(7095), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [233952] = 6,
    ACTIONS(3039), 1,
      anon_sym_QMARK,
    ACTIONS(9894), 1,
      sym__dot_custom,
    STATE(5349), 1,
      sym__dot,
    STATE(5439), 1,
      aux_sym_user_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3041), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_in,
  [233983] = 13,
    ACTIONS(9772), 1,
      anon_sym_LPAREN,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    ACTIONS(9896), 1,
      sym__async_keyword_custom,
    STATE(6111), 1,
      sym__async_keyword,
    STATE(6123), 1,
      aux_sym__function_value_parameters,
    STATE(6340), 1,
      sym_throws,
    STATE(6559), 1,
      sym_type_constraints,
    STATE(7264), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9776), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5359), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [234028] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3115), 16,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [234051] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3159), 16,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [234074] = 4,
    ACTIONS(9898), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5476), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3034), 13,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [234101] = 13,
    ACTIONS(9772), 1,
      anon_sym_LPAREN,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    ACTIONS(9901), 1,
      sym__async_keyword_custom,
    STATE(6103), 1,
      sym__async_keyword,
    STATE(6123), 1,
      aux_sym__function_value_parameters,
    STATE(6353), 1,
      sym_throws,
    STATE(6510), 1,
      sym_type_constraints,
    STATE(7285), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9776), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5359), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [234146] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3131), 16,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [234169] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3188), 16,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [234192] = 6,
    ACTIONS(3046), 1,
      anon_sym_QMARK,
    ACTIONS(9894), 1,
      sym__dot_custom,
    STATE(5349), 1,
      sym__dot,
    STATE(5472), 1,
      aux_sym_user_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3048), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_in,
  [234223] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9453), 1,
      anon_sym_QMARK2,
    STATE(5495), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 14,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [234250] = 4,
    ACTIONS(9903), 1,
      anon_sym_LT,
    STATE(5513), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3083), 14,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
  [234277] = 6,
    STATE(5138), 1,
      sym_simple_identifier,
    STATE(5456), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5239), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6409), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6407), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [234308] = 6,
    STATE(1758), 1,
      sym_simple_identifier,
    STATE(1849), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1806), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3798), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3796), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [234339] = 11,
    ACTIONS(9543), 1,
      sym__arrow_operator_custom,
    ACTIONS(9545), 1,
      sym__async_keyword_custom,
    ACTIONS(9873), 1,
      anon_sym_DOT,
    ACTIONS(9875), 1,
      anon_sym_AMP,
    STATE(4469), 1,
      sym__arrow_operator,
    STATE(5928), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7000), 1,
      sym__async_keyword,
    STATE(8581), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3075), 6,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [234380] = 6,
    STATE(1737), 1,
      sym_simple_identifier,
    STATE(1810), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1730), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3848), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3846), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [234411] = 6,
    STATE(5482), 1,
      sym_simple_identifier,
    STATE(5590), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5724), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6970), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6968), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [234442] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3192), 16,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [234465] = 6,
    STATE(2390), 1,
      sym_simple_identifier,
    STATE(3275), 1,
      sym_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [234496] = 6,
    STATE(5468), 1,
      sym_simple_identifier,
    STATE(7309), 1,
      sym_parameter,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [234527] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3182), 16,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [234550] = 6,
    ACTIONS(9905), 1,
      sym_integer_literal,
    STATE(3678), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2967), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(1297), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(1295), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [234581] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3143), 16,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [234604] = 3,
    STATE(5504), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3235), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [234629] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9453), 1,
      anon_sym_QMARK2,
    STATE(5503), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3030), 14,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [234656] = 6,
    STATE(5508), 1,
      sym_simple_identifier,
    STATE(5905), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5561), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(7020), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(7018), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [234687] = 6,
    STATE(6667), 1,
      sym_simple_identifier,
    STATE(7921), 1,
      sym_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(7375), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9095), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9093), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [234718] = 5,
    ACTIONS(9907), 1,
      sym__dot_custom,
    STATE(5443), 1,
      sym__dot,
    STATE(5498), 1,
      aux_sym_user_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 13,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [234747] = 11,
    ACTIONS(9543), 1,
      sym__arrow_operator_custom,
    ACTIONS(9545), 1,
      sym__async_keyword_custom,
    ACTIONS(9873), 1,
      anon_sym_DOT,
    ACTIONS(9875), 1,
      anon_sym_AMP,
    STATE(4469), 1,
      sym__arrow_operator,
    STATE(5928), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7000), 1,
      sym__async_keyword,
    STATE(8581), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3055), 6,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [234788] = 6,
    ACTIONS(2991), 1,
      anon_sym_QMARK,
    ACTIONS(9910), 1,
      sym__dot_custom,
    STATE(5496), 1,
      sym__dot,
    STATE(5500), 1,
      aux_sym_user_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [234819] = 6,
    ACTIONS(9913), 1,
      anon_sym_RPAREN,
    STATE(9014), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [234850] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3123), 16,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [234873] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9915), 1,
      anon_sym_QMARK2,
    STATE(5503), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3034), 14,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [234900] = 4,
    ACTIONS(9918), 1,
      anon_sym_AMP,
    STATE(5504), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3079), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [234927] = 6,
    STATE(5025), 1,
      sym_simple_identifier,
    STATE(5164), 1,
      sym__simple_user_type,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5075), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(6747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6745), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [234958] = 6,
    ACTIONS(9921), 1,
      sym_integer_literal,
    STATE(935), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(864), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(451), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(449), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [234989] = 6,
    ACTIONS(9923), 1,
      anon_sym_RPAREN,
    STATE(9014), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [235020] = 5,
    ACTIONS(3081), 1,
      anon_sym_QMARK,
    ACTIONS(9925), 1,
      anon_sym_LT,
    STATE(5843), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3083), 13,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [235049] = 13,
    ACTIONS(9772), 1,
      anon_sym_LPAREN,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    ACTIONS(9927), 1,
      sym__async_keyword_custom,
    STATE(6088), 1,
      sym__async_keyword,
    STATE(6123), 1,
      aux_sym__function_value_parameters,
    STATE(6283), 1,
      sym_throws,
    STATE(6643), 1,
      sym_type_constraints,
    STATE(7170), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9776), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5367), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [235094] = 5,
    STATE(7861), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [235122] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9929), 1,
      anon_sym_AMP,
    STATE(5511), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(3079), 14,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [235148] = 5,
    STATE(6497), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6818), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9934), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9932), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [235176] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3196), 15,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [235198] = 5,
    STATE(6871), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [235226] = 5,
    STATE(8991), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [235254] = 5,
    STATE(7534), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [235282] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3093), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [235304] = 12,
    ACTIONS(9778), 1,
      sym_where_keyword,
    ACTIONS(9936), 1,
      anon_sym_LPAREN,
    ACTIONS(9940), 1,
      sym__arrow_operator_custom,
    ACTIONS(9944), 1,
      sym__async_keyword_custom,
    STATE(3954), 1,
      sym__arrow_operator,
    STATE(6124), 1,
      aux_sym__function_value_parameters,
    STATE(6149), 1,
      sym__async_keyword,
    STATE(6434), 1,
      sym_throws,
    STATE(7230), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9942), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(9938), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [235346] = 5,
    STATE(5970), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5985), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9948), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9946), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [235374] = 13,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9950), 1,
      anon_sym_LPAREN,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    ACTIONS(9958), 1,
      sym__async_keyword_custom,
    STATE(6153), 1,
      sym__async_keyword,
    STATE(6263), 1,
      aux_sym__function_value_parameters,
    STATE(6425), 1,
      sym_throws,
    STATE(6668), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(7729), 1,
      sym_function_body,
    ACTIONS(9954), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5329), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [235418] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3182), 15,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_in,
  [235440] = 5,
    STATE(8854), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [235468] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3151), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [235490] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3097), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [235512] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9558), 1,
      anon_sym_QMARK2,
    STATE(5545), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 13,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [235538] = 5,
    STATE(7459), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [235566] = 5,
    ACTIONS(9960), 1,
      sym__dot_custom,
    STATE(5330), 1,
      sym__dot,
    STATE(5527), 1,
      aux_sym_user_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 12,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [235594] = 5,
    STATE(8983), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [235622] = 5,
    STATE(8987), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [235650] = 5,
    STATE(7631), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [235678] = 5,
    STATE(8707), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [235706] = 11,
    ACTIONS(5248), 1,
      anon_sym_DOT,
    ACTIONS(9614), 1,
      sym__arrow_operator_custom,
    ACTIONS(9616), 1,
      sym__async_keyword_custom,
    ACTIONS(9963), 1,
      anon_sym_AMP,
    STATE(4165), 1,
      sym__arrow_operator,
    STATE(6040), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7065), 1,
      sym__async_keyword,
    STATE(8642), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3063), 5,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
  [235746] = 11,
    ACTIONS(5248), 1,
      anon_sym_DOT,
    ACTIONS(9614), 1,
      sym__arrow_operator_custom,
    ACTIONS(9616), 1,
      sym__async_keyword_custom,
    ACTIONS(9963), 1,
      anon_sym_AMP,
    STATE(4165), 1,
      sym__arrow_operator,
    STATE(6040), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7065), 1,
      sym__async_keyword,
    STATE(8642), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3067), 5,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
  [235786] = 6,
    STATE(4165), 1,
      sym__arrow_operator,
    STATE(6040), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7065), 1,
      sym__async_keyword,
    STATE(8642), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3071), 11,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [235816] = 5,
    STATE(6310), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6487), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9967), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9965), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [235844] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3119), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [235866] = 5,
    STATE(2106), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2130), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3940), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3938), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [235894] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3159), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [235916] = 11,
    ACTIONS(5248), 1,
      anon_sym_DOT,
    ACTIONS(9614), 1,
      sym__arrow_operator_custom,
    ACTIONS(9616), 1,
      sym__async_keyword_custom,
    ACTIONS(9963), 1,
      anon_sym_AMP,
    STATE(4165), 1,
      sym__arrow_operator,
    STATE(6040), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7065), 1,
      sym__async_keyword,
    STATE(8642), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3055), 5,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
  [235956] = 13,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9950), 1,
      anon_sym_LPAREN,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    ACTIONS(9969), 1,
      sym__async_keyword_custom,
    STATE(6191), 1,
      sym__async_keyword,
    STATE(6263), 1,
      aux_sym__function_value_parameters,
    STATE(6470), 1,
      sym_throws,
    STATE(6717), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(7985), 1,
      sym_function_body,
    ACTIONS(9954), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5393), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [236000] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [236022] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3204), 16,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [236044] = 13,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9971), 1,
      anon_sym_COLON,
    ACTIONS(9973), 1,
      anon_sym_LBRACE,
    ACTIONS(9975), 1,
      sym__eq_custom,
    ACTIONS(9977), 1,
      sym_where_keyword,
    STATE(635), 1,
      sym__equal_sign,
    STATE(5944), 1,
      sym_type_annotation,
    STATE(6213), 1,
      sym_type_constraints,
    STATE(7214), 1,
      sym_computed_property,
    STATE(7216), 1,
      sym_willset_didset_block,
    STATE(7218), 1,
      sym__expression_without_willset_didset,
    STATE(7219), 1,
      sym__expression_with_willset_didset,
    ACTIONS(5335), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [236088] = 5,
    STATE(5958), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6065), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9981), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9979), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [236116] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9558), 1,
      anon_sym_QMARK2,
    STATE(5569), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3030), 13,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [236142] = 5,
    STATE(2120), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2167), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9119), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9117), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [236170] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3200), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [236192] = 5,
    STATE(2051), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2167), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9119), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9117), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [236220] = 5,
    STATE(3720), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3710), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9985), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9983), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [236248] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3192), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [236270] = 5,
    STATE(7198), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(7245), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9747), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9745), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [236298] = 5,
    STATE(6316), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6487), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9967), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9965), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [236326] = 5,
    STATE(7033), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(7188), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9989), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9987), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [236354] = 5,
    STATE(8772), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [236382] = 5,
    STATE(6192), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6206), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9993), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9991), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [236410] = 5,
    STATE(2746), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1877), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9075), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9073), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [236438] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [236460] = 5,
    STATE(8974), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [236488] = 5,
    STATE(6365), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6599), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4715), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(4713), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [236516] = 5,
    STATE(2048), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2167), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9119), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9117), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [236544] = 3,
    ACTIONS(3202), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 14,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_LBRACE,
  [236568] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3139), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [236590] = 5,
    STATE(6325), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6487), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9967), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9965), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [236618] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3111), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [236640] = 5,
    ACTIONS(2739), 1,
      sym__dot_custom,
    STATE(891), 1,
      sym_navigation_suffix,
    STATE(5506), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3182), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [236668] = 5,
    STATE(7979), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [236696] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3192), 16,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [236718] = 5,
    STATE(3836), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3833), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9997), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9995), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [236746] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9999), 1,
      anon_sym_QMARK2,
    STATE(5569), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3034), 13,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [236772] = 5,
    STATE(8846), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [236800] = 5,
    ACTIONS(3032), 1,
      anon_sym_QMARK,
    ACTIONS(10002), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5571), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3034), 11,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
  [236828] = 11,
    ACTIONS(9699), 1,
      sym__arrow_operator_custom,
    ACTIONS(9701), 1,
      sym__async_keyword_custom,
    ACTIONS(10005), 1,
      anon_sym_DOT,
    ACTIONS(10007), 1,
      anon_sym_AMP,
    STATE(4452), 1,
      sym__arrow_operator,
    STATE(6098), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6995), 1,
      sym__async_keyword,
    STATE(8572), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3075), 5,
      sym__eq_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT_DOT_DOT,
  [236868] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3123), 15,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_in,
  [236890] = 5,
    STATE(7796), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [236918] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3107), 6,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_AT,
    ACTIONS(3105), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [236942] = 5,
    STATE(8965), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [236970] = 5,
    STATE(3751), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3749), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10011), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10009), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [236998] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3127), 6,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_AT,
    ACTIONS(3125), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [237022] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3135), 6,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_AT,
    ACTIONS(3133), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [237046] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3200), 6,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_AT,
    ACTIONS(3198), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [237070] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3196), 6,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_AT,
    ACTIONS(3194), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [237094] = 6,
    STATE(4352), 1,
      sym__arrow_operator,
    STATE(6053), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7012), 1,
      sym__async_keyword,
    STATE(8609), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3089), 11,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
  [237124] = 5,
    ACTIONS(10013), 1,
      anon_sym_AT,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5583), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4698), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(4696), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [237152] = 5,
    STATE(2363), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2358), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4280), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(4278), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [237180] = 5,
    ACTIONS(2998), 1,
      anon_sym_QMARK,
    ACTIONS(9541), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5624), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 11,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [237208] = 5,
    STATE(5813), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5829), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10018), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10016), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [237236] = 7,
    ACTIONS(3087), 1,
      anon_sym_DOT,
    STATE(4452), 1,
      sym__arrow_operator,
    STATE(6098), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6995), 1,
      sym__async_keyword,
    STATE(8572), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3089), 10,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_AMP,
      anon_sym_DOT_DOT_DOT,
  [237268] = 11,
    ACTIONS(5248), 1,
      anon_sym_DOT,
    ACTIONS(9614), 1,
      sym__arrow_operator_custom,
    ACTIONS(9616), 1,
      sym__async_keyword_custom,
    ACTIONS(9963), 1,
      anon_sym_AMP,
    STATE(4165), 1,
      sym__arrow_operator,
    STATE(6040), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7065), 1,
      sym__async_keyword,
    STATE(8642), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3079), 5,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
  [237308] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3115), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [237330] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 15,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [237352] = 5,
    STATE(8193), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [237380] = 3,
    ACTIONS(3194), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3196), 14,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [237404] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3135), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [237426] = 5,
    STATE(8954), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [237454] = 5,
    STATE(1056), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1073), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(2809), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(2807), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [237482] = 5,
    STATE(5536), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5557), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10022), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10020), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [237510] = 5,
    STATE(8956), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [237538] = 13,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9950), 1,
      anon_sym_LPAREN,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    ACTIONS(10024), 1,
      sym__async_keyword_custom,
    STATE(6222), 1,
      sym__async_keyword,
    STATE(6263), 1,
      aux_sym__function_value_parameters,
    STATE(6415), 1,
      sym_throws,
    STATE(6687), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(8109), 1,
      sym_function_body,
    ACTIONS(9954), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5381), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [237582] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3147), 15,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_in,
  [237604] = 5,
    ACTIONS(3028), 1,
      anon_sym_QMARK,
    ACTIONS(9707), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5571), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3030), 11,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
  [237632] = 6,
    ACTIONS(3039), 1,
      anon_sym_DOT,
    ACTIONS(10026), 1,
      sym__dot_custom,
    STATE(5486), 1,
      sym__dot,
    STATE(5793), 1,
      aux_sym_user_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3041), 11,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_DOT_DOT_DOT,
  [237662] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3200), 15,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [237684] = 5,
    STATE(8808), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [237712] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3127), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [237734] = 5,
    STATE(8883), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [237762] = 13,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9950), 1,
      anon_sym_LPAREN,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    ACTIONS(10028), 1,
      sym__async_keyword_custom,
    STATE(6186), 1,
      sym__async_keyword,
    STATE(6263), 1,
      aux_sym__function_value_parameters,
    STATE(6484), 1,
      sym_throws,
    STATE(6766), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(7951), 1,
      sym_function_body,
    ACTIONS(9954), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5305), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [237806] = 11,
    ACTIONS(5248), 1,
      anon_sym_DOT,
    ACTIONS(9614), 1,
      sym__arrow_operator_custom,
    ACTIONS(9616), 1,
      sym__async_keyword_custom,
    ACTIONS(9963), 1,
      anon_sym_AMP,
    STATE(4165), 1,
      sym__arrow_operator,
    STATE(6040), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7065), 1,
      sym__async_keyword,
    STATE(8642), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3075), 5,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_LBRACE,
  [237846] = 5,
    STATE(8947), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [237874] = 13,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9950), 1,
      anon_sym_LPAREN,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    ACTIONS(10030), 1,
      sym__async_keyword_custom,
    STATE(6189), 1,
      sym__async_keyword,
    STATE(6263), 1,
      aux_sym__function_value_parameters,
    STATE(6358), 1,
      sym_throws,
    STATE(6768), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(7948), 1,
      sym_function_body,
    ACTIONS(9954), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5305), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [237918] = 5,
    STATE(6006), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5982), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10034), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10032), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [237946] = 5,
    STATE(8936), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [237974] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3135), 15,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [237996] = 5,
    STATE(9014), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [238024] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3127), 15,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [238046] = 5,
    STATE(8915), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [238074] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3159), 16,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [238096] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3182), 16,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [238118] = 5,
    STATE(8764), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [238146] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3107), 15,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [238168] = 11,
    ACTIONS(9643), 1,
      sym__arrow_operator_custom,
    ACTIONS(9645), 1,
      sym__async_keyword_custom,
    ACTIONS(10036), 1,
      anon_sym_DOT,
    ACTIONS(10038), 1,
      anon_sym_AMP,
    STATE(4352), 1,
      sym__arrow_operator,
    STATE(6053), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7012), 1,
      sym__async_keyword,
    STATE(8609), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3079), 5,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      anon_sym_COMMA,
      anon_sym_BANG2,
  [238208] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3131), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [238230] = 5,
    STATE(6568), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [238258] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3147), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [238280] = 5,
    ACTIONS(3028), 1,
      anon_sym_QMARK,
    ACTIONS(9541), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5680), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3030), 11,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [238308] = 3,
    ACTIONS(2991), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 14,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [238332] = 11,
    ACTIONS(9699), 1,
      sym__arrow_operator_custom,
    ACTIONS(9701), 1,
      sym__async_keyword_custom,
    ACTIONS(10005), 1,
      anon_sym_DOT,
    ACTIONS(10007), 1,
      anon_sym_AMP,
    STATE(4452), 1,
      sym__arrow_operator,
    STATE(6098), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6995), 1,
      sym__async_keyword,
    STATE(8572), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3055), 5,
      sym__eq_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT_DOT_DOT,
  [238372] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3192), 15,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_in,
  [238394] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3143), 16,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [238416] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10042), 4,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
    ACTIONS(10040), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_borrowing,
      anon_sym_consuming,
  [238440] = 5,
    STATE(8879), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [238468] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3093), 16,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [238490] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3107), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [238512] = 5,
    ACTIONS(2998), 1,
      anon_sym_QMARK,
    ACTIONS(9707), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5600), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 11,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
  [238540] = 6,
    STATE(4352), 1,
      sym__arrow_operator,
    STATE(6053), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7012), 1,
      sym__async_keyword,
    STATE(8609), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3071), 11,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
  [238570] = 5,
    STATE(1987), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2012), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10046), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10044), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [238598] = 5,
    STATE(5849), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6281), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10050), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10048), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [238626] = 5,
    STATE(6395), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6548), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4688), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(4686), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [238654] = 11,
    ACTIONS(9643), 1,
      sym__arrow_operator_custom,
    ACTIONS(9645), 1,
      sym__async_keyword_custom,
    ACTIONS(10036), 1,
      anon_sym_DOT,
    ACTIONS(10038), 1,
      anon_sym_AMP,
    STATE(4352), 1,
      sym__arrow_operator,
    STATE(6053), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7012), 1,
      sym__async_keyword,
    STATE(8609), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3067), 5,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      anon_sym_COMMA,
      anon_sym_BANG2,
  [238694] = 6,
    ACTIONS(3046), 1,
      anon_sym_DOT,
    ACTIONS(10026), 1,
      sym__dot_custom,
    STATE(5486), 1,
      sym__dot,
    STATE(5601), 1,
      aux_sym_user_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3048), 11,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_DOT_DOT_DOT,
  [238724] = 11,
    ACTIONS(9643), 1,
      sym__arrow_operator_custom,
    ACTIONS(9645), 1,
      sym__async_keyword_custom,
    ACTIONS(10036), 1,
      anon_sym_DOT,
    ACTIONS(10038), 1,
      anon_sym_AMP,
    STATE(4352), 1,
      sym__arrow_operator,
    STATE(6053), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7012), 1,
      sym__async_keyword,
    STATE(8609), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3063), 5,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      anon_sym_COMMA,
      anon_sym_BANG2,
  [238764] = 5,
    STATE(5263), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5225), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10054), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10052), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [238792] = 5,
    STATE(6608), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [238820] = 5,
    STATE(2155), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2201), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4061), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(4059), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [238848] = 5,
    STATE(6621), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [238876] = 5,
    STATE(8877), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [238904] = 5,
    STATE(7260), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2167), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9119), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9117), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [238932] = 3,
    ACTIONS(5), 1,
      sym_comment,
    STATE(5511), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(3235), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [238956] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [238978] = 5,
    STATE(1096), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1098), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(2832), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(2830), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [239006] = 5,
    STATE(6539), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [239034] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3188), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [239056] = 8,
    ACTIONS(10056), 1,
      anon_sym_LT,
    ACTIONS(10058), 1,
      sym__dot_custom,
    STATE(5682), 1,
      sym__dot,
    STATE(6148), 1,
      sym_type_arguments,
    STATE(6707), 1,
      aux_sym_identifier_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6150), 3,
      sym__eq_custom,
      sym__eq_eq_custom,
      anon_sym_COLON,
    ACTIONS(3083), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [239090] = 4,
    ACTIONS(10060), 1,
      anon_sym_AMP,
    STATE(5653), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3079), 13,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [239116] = 5,
    STATE(6367), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6599), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4715), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(4713), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [239144] = 5,
    STATE(6566), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [239172] = 5,
    STATE(6419), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6599), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4715), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(4713), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [239200] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3123), 16,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [239222] = 5,
    STATE(6359), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6548), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4688), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(4686), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [239250] = 5,
    STATE(5966), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5942), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10065), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10063), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [239278] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10069), 4,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
    ACTIONS(10067), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_borrowing,
      anon_sym_consuming,
  [239302] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(2993), 16,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [239324] = 5,
    STATE(2221), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2440), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10073), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10071), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [239352] = 13,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9950), 1,
      anon_sym_LPAREN,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    ACTIONS(10075), 1,
      sym__async_keyword_custom,
    STATE(6184), 1,
      sym__async_keyword,
    STATE(6263), 1,
      aux_sym__function_value_parameters,
    STATE(6480), 1,
      sym_throws,
    STATE(6716), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(7828), 1,
      sym_function_body,
    ACTIONS(9954), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5347), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [239396] = 5,
    STATE(6047), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6028), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10079), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10077), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [239424] = 13,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9950), 1,
      anon_sym_LPAREN,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    ACTIONS(10081), 1,
      sym__async_keyword_custom,
    STATE(6130), 1,
      sym__async_keyword,
    STATE(6263), 1,
      aux_sym__function_value_parameters,
    STATE(6363), 1,
      sym_throws,
    STATE(6809), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(8041), 1,
      sym_function_body,
    ACTIONS(9954), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5353), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [239468] = 5,
    STATE(7628), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [239496] = 5,
    STATE(6377), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6548), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4688), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(4686), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [239524] = 5,
    STATE(6509), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [239552] = 5,
    STATE(8716), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [239580] = 5,
    STATE(1926), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1943), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10085), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10083), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [239608] = 5,
    STATE(6516), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [239636] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3131), 15,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_in,
  [239658] = 5,
    STATE(6521), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [239686] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3188), 15,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_in,
  [239708] = 5,
    STATE(8897), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [239736] = 5,
    STATE(7232), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2167), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9119), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9117), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [239764] = 13,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9950), 1,
      anon_sym_LPAREN,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    ACTIONS(10087), 1,
      sym__async_keyword_custom,
    STATE(6193), 1,
      sym__async_keyword,
    STATE(6263), 1,
      aux_sym__function_value_parameters,
    STATE(6488), 1,
      sym_throws,
    STATE(6744), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(7853), 1,
      sym_function_body,
    ACTIONS(9954), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5359), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [239808] = 5,
    STATE(8662), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [239836] = 13,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9950), 1,
      anon_sym_LPAREN,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    ACTIONS(10089), 1,
      sym__async_keyword_custom,
    STATE(6183), 1,
      sym__async_keyword,
    STATE(6263), 1,
      aux_sym__function_value_parameters,
    STATE(6491), 1,
      sym_throws,
    STATE(6769), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(7858), 1,
      sym_function_body,
    ACTIONS(9954), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5359), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [239880] = 5,
    ACTIONS(3032), 1,
      anon_sym_QMARK,
    ACTIONS(10091), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5680), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3034), 11,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [239908] = 5,
    STATE(8826), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [239936] = 5,
    STATE(7176), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(7246), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10096), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10094), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [239964] = 5,
    STATE(6324), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6570), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10100), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10098), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [239992] = 5,
    STATE(8814), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [240020] = 5,
    STATE(5948), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6065), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9981), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9979), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [240048] = 5,
    STATE(7268), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2167), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9119), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9117), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [240076] = 5,
    STATE(6569), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [240104] = 5,
    STATE(6641), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [240132] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 6,
      sym__dot_custom,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
      anon_sym_AT,
    ACTIONS(2991), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [240156] = 5,
    STATE(1993), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2053), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10104), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10102), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [240184] = 3,
    ACTIONS(3198), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3200), 14,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [240208] = 5,
    STATE(8673), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [240236] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3188), 16,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [240258] = 5,
    STATE(6584), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [240286] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3131), 16,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [240308] = 12,
    ACTIONS(9778), 1,
      sym_where_keyword,
    ACTIONS(9936), 1,
      anon_sym_LPAREN,
    ACTIONS(10108), 1,
      sym__arrow_operator_custom,
    ACTIONS(10110), 1,
      sym__async_keyword_custom,
    STATE(4001), 1,
      sym__arrow_operator,
    STATE(6124), 1,
      aux_sym__function_value_parameters,
    STATE(6134), 1,
      sym__async_keyword,
    STATE(6502), 1,
      sym_throws,
    STATE(7133), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9942), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(10106), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [240350] = 5,
    STATE(6642), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [240378] = 11,
    ACTIONS(9643), 1,
      sym__arrow_operator_custom,
    ACTIONS(9645), 1,
      sym__async_keyword_custom,
    ACTIONS(10036), 1,
      anon_sym_DOT,
    ACTIONS(10038), 1,
      anon_sym_AMP,
    STATE(4352), 1,
      sym__arrow_operator,
    STATE(6053), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7012), 1,
      sym__async_keyword,
    STATE(8609), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3075), 5,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      anon_sym_COMMA,
      anon_sym_BANG2,
  [240418] = 5,
    STATE(6071), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6058), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10114), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10112), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [240446] = 3,
    ACTIONS(3133), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3135), 14,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [240470] = 5,
    STATE(1909), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1907), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10118), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10116), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [240498] = 5,
    STATE(7380), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2167), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9119), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9117), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [240526] = 5,
    STATE(2066), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2167), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9119), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9117), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [240554] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3159), 15,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_in,
  [240576] = 5,
    STATE(6593), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [240604] = 3,
    ACTIONS(3125), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3127), 14,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [240628] = 5,
    STATE(5922), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6065), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9981), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9979), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [240656] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3123), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [240678] = 5,
    STATE(6106), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6056), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10122), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10120), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [240706] = 13,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9950), 1,
      anon_sym_LPAREN,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    ACTIONS(10124), 1,
      sym__async_keyword_custom,
    STATE(6170), 1,
      sym__async_keyword,
    STATE(6263), 1,
      aux_sym__function_value_parameters,
    STATE(6389), 1,
      sym_throws,
    STATE(6741), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(8207), 1,
      sym_function_body,
    ACTIONS(9954), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5367), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [240750] = 5,
    STATE(6636), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [240778] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3115), 15,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_in,
  [240800] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3115), 16,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [240822] = 11,
    ACTIONS(9699), 1,
      sym__arrow_operator_custom,
    ACTIONS(9701), 1,
      sym__async_keyword_custom,
    ACTIONS(10005), 1,
      anon_sym_DOT,
    ACTIONS(10007), 1,
      anon_sym_AMP,
    STATE(4452), 1,
      sym__arrow_operator,
    STATE(6098), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6995), 1,
      sym__async_keyword,
    STATE(8572), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3079), 5,
      sym__eq_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT_DOT_DOT,
  [240862] = 3,
    STATE(5653), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3235), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [240886] = 5,
    ACTIONS(9059), 1,
      anon_sym_AT,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5583), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(10128), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10126), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [240914] = 5,
    STATE(6580), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [240942] = 3,
    ACTIONS(3105), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3107), 14,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [240966] = 11,
    ACTIONS(9306), 1,
      sym__arrow_operator_custom,
    ACTIONS(9308), 1,
      sym__async_keyword_custom,
    ACTIONS(9405), 1,
      anon_sym_DOT,
    ACTIONS(9407), 1,
      anon_sym_AMP,
    STATE(4453), 1,
      sym__arrow_operator,
    STATE(5494), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7005), 1,
      sym__async_keyword,
    STATE(8593), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(10130), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
  [241006] = 3,
    ACTIONS(3202), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 14,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_in,
  [241030] = 13,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9950), 1,
      anon_sym_LPAREN,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    ACTIONS(10132), 1,
      sym__async_keyword_custom,
    STATE(6162), 1,
      sym__async_keyword,
    STATE(6263), 1,
      aux_sym__function_value_parameters,
    STATE(6385), 1,
      sym_throws,
    STATE(6746), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(8213), 1,
      sym_function_body,
    ACTIONS(9954), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5367), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [241074] = 10,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10134), 1,
      sym__arrow_operator_custom,
    ACTIONS(10136), 1,
      sym__async_keyword_custom,
    STATE(4123), 1,
      sym__arrow_operator,
    STATE(7024), 1,
      sym__async_keyword,
    STATE(8655), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 5,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
  [241112] = 5,
    STATE(6586), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [241140] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 15,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [241162] = 5,
    STATE(5849), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4919), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3915), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3913), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [241190] = 5,
    STATE(1852), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1844), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10140), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10138), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [241218] = 5,
    STATE(5418), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5422), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10144), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10142), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [241246] = 5,
    STATE(6563), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [241274] = 5,
    STATE(8841), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [241302] = 5,
    STATE(8881), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [241330] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3107), 16,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [241352] = 5,
    STATE(7535), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [241380] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3127), 16,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [241402] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3135), 16,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [241424] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3200), 16,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [241446] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3143), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [241468] = 5,
    STATE(3182), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3169), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10148), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10146), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [241496] = 5,
    STATE(7412), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(7386), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9065), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9063), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [241524] = 5,
    STATE(7403), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2167), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9119), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9117), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [241552] = 5,
    STATE(2259), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2440), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10073), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10071), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [241580] = 5,
    STATE(6624), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6812), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3755), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [241608] = 5,
    STATE(2836), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3008), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10152), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10150), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [241636] = 5,
    STATE(2258), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2241), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4201), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(4199), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [241664] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3196), 16,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [241686] = 5,
    STATE(6084), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6199), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10156), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10154), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [241714] = 5,
    STATE(6297), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6354), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10160), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10158), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [241742] = 4,
    ACTIONS(9499), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5768), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 12,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [241768] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3147), 16,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [241790] = 5,
    STATE(6337), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6570), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10100), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10098), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [241818] = 5,
    STATE(2254), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2244), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(4181), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(4179), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [241846] = 5,
    STATE(7026), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(7262), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10164), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10162), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [241874] = 5,
    ACTIONS(10166), 1,
      sym__dot_custom,
    STATE(5330), 1,
      sym__dot,
    STATE(5527), 1,
      aux_sym_user_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3041), 12,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [241902] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3182), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [241924] = 11,
    ACTIONS(9709), 1,
      sym__arrow_operator_custom,
    ACTIONS(9711), 1,
      sym__async_keyword_custom,
    ACTIONS(10168), 1,
      anon_sym_DOT,
    ACTIONS(10170), 1,
      anon_sym_AMP,
    STATE(4381), 1,
      sym__arrow_operator,
    STATE(6094), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7009), 1,
      sym__async_keyword,
    STATE(8603), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3079), 5,
      sym__as_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
  [241964] = 11,
    ACTIONS(9699), 1,
      sym__arrow_operator_custom,
    ACTIONS(9701), 1,
      sym__async_keyword_custom,
    ACTIONS(10005), 1,
      anon_sym_DOT,
    ACTIONS(10007), 1,
      anon_sym_AMP,
    STATE(4452), 1,
      sym__arrow_operator,
    STATE(6098), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6995), 1,
      sym__async_keyword,
    STATE(8572), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3063), 5,
      sym__eq_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT_DOT_DOT,
  [242004] = 6,
    STATE(4381), 1,
      sym__arrow_operator,
    STATE(6094), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7009), 1,
      sym__async_keyword,
    STATE(8603), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3071), 11,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
  [242034] = 13,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9950), 1,
      anon_sym_LPAREN,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    ACTIONS(10172), 1,
      sym__async_keyword_custom,
    STATE(6156), 1,
      sym__async_keyword,
    STATE(6263), 1,
      aux_sym__function_value_parameters,
    STATE(6427), 1,
      sym_throws,
    STATE(6661), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(8066), 1,
      sym_function_body,
    ACTIONS(9954), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5387), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [242078] = 5,
    STATE(8252), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [242106] = 5,
    STATE(6068), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6199), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10156), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10154), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [242134] = 5,
    STATE(8721), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [242162] = 5,
    STATE(3780), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3781), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10176), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10174), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [242190] = 11,
    ACTIONS(9699), 1,
      sym__arrow_operator_custom,
    ACTIONS(9701), 1,
      sym__async_keyword_custom,
    ACTIONS(10005), 1,
      anon_sym_DOT,
    ACTIONS(10007), 1,
      anon_sym_AMP,
    STATE(4452), 1,
      sym__arrow_operator,
    STATE(6098), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6995), 1,
      sym__async_keyword,
    STATE(8572), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3067), 5,
      sym__eq_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT_DOT_DOT,
  [242230] = 5,
    STATE(2014), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2053), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10104), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10102), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [242258] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3143), 15,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_in,
  [242280] = 7,
    ACTIONS(3069), 1,
      anon_sym_DOT,
    STATE(4452), 1,
      sym__arrow_operator,
    STATE(6098), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6995), 1,
      sym__async_keyword,
    STATE(8572), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3071), 10,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_AMP,
      anon_sym_DOT_DOT_DOT,
  [242312] = 6,
    STATE(4381), 1,
      sym__arrow_operator,
    STATE(6094), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7009), 1,
      sym__async_keyword,
    STATE(8603), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3089), 11,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
  [242342] = 6,
    STATE(4165), 1,
      sym__arrow_operator,
    STATE(6040), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7065), 1,
      sym__async_keyword,
    STATE(8642), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3089), 11,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [242372] = 4,
    ACTIONS(9499), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5786), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3030), 12,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [242398] = 10,
    ACTIONS(10178), 1,
      anon_sym_QMARK2,
    ACTIONS(10180), 1,
      sym__arrow_operator_custom,
    ACTIONS(10182), 1,
      sym__async_keyword_custom,
    STATE(4375), 1,
      sym__arrow_operator,
    STATE(6985), 1,
      sym__async_keyword,
    STATE(8569), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(6091), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 5,
      sym__eq_custom,
      sym__eq_eq_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
  [242436] = 5,
    STATE(3770), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3781), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10176), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10174), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [242464] = 5,
    STATE(5999), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6011), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10186), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10184), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [242492] = 5,
    STATE(1990), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2053), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10104), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10102), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [242520] = 5,
    STATE(8812), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [242548] = 5,
    STATE(6061), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6199), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10156), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10154), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [242576] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3196), 15,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [242598] = 11,
    ACTIONS(9643), 1,
      sym__arrow_operator_custom,
    ACTIONS(9645), 1,
      sym__async_keyword_custom,
    ACTIONS(10036), 1,
      anon_sym_DOT,
    ACTIONS(10038), 1,
      anon_sym_AMP,
    STATE(4352), 1,
      sym__arrow_operator,
    STATE(6053), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7012), 1,
      sym__async_keyword,
    STATE(8609), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3055), 5,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      anon_sym_COMMA,
      anon_sym_BANG2,
  [242638] = 11,
    ACTIONS(9709), 1,
      sym__arrow_operator_custom,
    ACTIONS(9711), 1,
      sym__async_keyword_custom,
    ACTIONS(10168), 1,
      anon_sym_DOT,
    ACTIONS(10170), 1,
      anon_sym_AMP,
    STATE(4381), 1,
      sym__arrow_operator,
    STATE(6094), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7009), 1,
      sym__async_keyword,
    STATE(8603), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3067), 5,
      sym__as_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
  [242678] = 11,
    ACTIONS(9709), 1,
      sym__arrow_operator_custom,
    ACTIONS(9711), 1,
      sym__async_keyword_custom,
    ACTIONS(10168), 1,
      anon_sym_DOT,
    ACTIONS(10170), 1,
      anon_sym_AMP,
    STATE(4381), 1,
      sym__arrow_operator,
    STATE(6094), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7009), 1,
      sym__async_keyword,
    STATE(8603), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3063), 5,
      sym__as_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
  [242718] = 4,
    ACTIONS(10188), 1,
      anon_sym_LT,
    STATE(5951), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3083), 13,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [242744] = 5,
    ACTIONS(10166), 1,
      sym__dot_custom,
    STATE(5330), 1,
      sym__dot,
    STATE(5752), 1,
      aux_sym_user_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3048), 12,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [242772] = 5,
    STATE(6035), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6048), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10192), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10190), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [242800] = 5,
    STATE(827), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(845), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(757), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(755), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [242828] = 11,
    ACTIONS(9709), 1,
      sym__arrow_operator_custom,
    ACTIONS(9711), 1,
      sym__async_keyword_custom,
    ACTIONS(10168), 1,
      anon_sym_DOT,
    ACTIONS(10170), 1,
      anon_sym_AMP,
    STATE(4381), 1,
      sym__arrow_operator,
    STATE(6094), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7009), 1,
      sym__async_keyword,
    STATE(8603), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3055), 5,
      sym__as_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
  [242868] = 5,
    STATE(8918), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [242896] = 5,
    STATE(3778), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3781), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10176), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10174), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [242924] = 4,
    ACTIONS(10194), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5786), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3034), 12,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [242950] = 11,
    ACTIONS(9709), 1,
      sym__arrow_operator_custom,
    ACTIONS(9711), 1,
      sym__async_keyword_custom,
    ACTIONS(10168), 1,
      anon_sym_DOT,
    ACTIONS(10170), 1,
      anon_sym_AMP,
    STATE(4381), 1,
      sym__arrow_operator,
    STATE(6094), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7009), 1,
      sym__async_keyword,
    STATE(8603), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3075), 5,
      sym__as_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
  [242990] = 5,
    STATE(8709), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [243018] = 5,
    STATE(7710), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4962), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3014), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3012), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [243046] = 5,
    STATE(6441), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6818), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9934), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9932), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [243074] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3093), 15,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_in,
  [243096] = 5,
    STATE(7112), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(7375), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(9095), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(9093), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [243124] = 6,
    ACTIONS(2991), 1,
      anon_sym_DOT,
    ACTIONS(10197), 1,
      sym__dot_custom,
    STATE(5486), 1,
      sym__dot,
    STATE(5793), 1,
      aux_sym_user_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 11,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_DOT_DOT_DOT,
  [243154] = 5,
    STATE(5913), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5826), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(10202), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10200), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [243182] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10206), 4,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_LPAREN,
    ACTIONS(10204), 11,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_in,
      anon_sym_self,
      anon_sym_borrowing,
      anon_sym_consuming,
  [243206] = 5,
    STATE(2032), 1,
      sym_simple_identifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2064), 2,
      sym__contextual_simple_identifier,
      sym__parameter_ownership_modifier,
    ACTIONS(3869), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(3867), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [243234] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3111), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [243255] = 4,
    ACTIONS(10208), 1,
      anon_sym_AMP,
    STATE(5798), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3079), 12,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
  [243280] = 3,
    ACTIONS(3133), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3135), 13,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [243303] = 3,
    ACTIONS(3121), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3123), 13,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [243326] = 5,
    ACTIONS(10215), 1,
      sym__async_keyword_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10213), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(5851), 3,
      sym__async_keyword,
      sym_throws,
      aux_sym__getter_effects,
    ACTIONS(10211), 8,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
  [243353] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3115), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [243374] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3188), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [243395] = 3,
    ACTIONS(3125), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3127), 13,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [243418] = 3,
    ACTIONS(3198), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3200), 13,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [243441] = 3,
    ACTIONS(2991), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 13,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_in,
  [243464] = 5,
    ACTIONS(5226), 1,
      anon_sym_LT,
    ACTIONS(10217), 1,
      anon_sym_COLON,
    STATE(1803), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3083), 11,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [243491] = 9,
    ACTIONS(10219), 1,
      anon_sym_repeat,
    ACTIONS(10221), 1,
      anon_sym_if,
    ACTIONS(10223), 1,
      anon_sym_switch,
    ACTIONS(10225), 1,
      anon_sym_guard,
    ACTIONS(10227), 1,
      anon_sym_do,
    ACTIONS(10229), 1,
      anon_sym_for,
    ACTIONS(10231), 1,
      anon_sym_while,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4559), 7,
      sym_if_statement,
      sym_guard_statement,
      sym_switch_statement,
      sym_do_statement,
      sym_for_statement,
      sym_while_statement,
      sym_repeat_while_statement,
  [243526] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3131), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [243547] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(10233), 1,
      anon_sym_AMP,
    STATE(5810), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(3079), 13,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [243572] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3143), 14,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [243593] = 5,
    ACTIONS(3083), 1,
      sym__dot_custom,
    ACTIONS(5427), 1,
      anon_sym_LT,
    STATE(2086), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5425), 11,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [243620] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3119), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [243641] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3123), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [243662] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3107), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [243683] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3127), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [243704] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3135), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [243725] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [243746] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3200), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [243767] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3159), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [243788] = 3,
    STATE(5798), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3235), 13,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
  [243811] = 3,
    ACTIONS(3105), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3107), 13,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [243834] = 3,
    ACTIONS(5), 1,
      sym_comment,
    STATE(5810), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(3235), 14,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [243857] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3093), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [243878] = 3,
    ACTIONS(3141), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3143), 13,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [243901] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3204), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [243922] = 3,
    ACTIONS(3190), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3192), 13,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [243945] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3196), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [243966] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [243987] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3143), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [244008] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3115), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [244029] = 3,
    ACTIONS(3186), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3188), 13,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [244052] = 11,
    ACTIONS(9798), 1,
      anon_sym_LBRACE,
    ACTIONS(9800), 1,
      sym__eq_custom,
    ACTIONS(9802), 1,
      sym_where_keyword,
    STATE(584), 1,
      sym__equal_sign,
    STATE(6112), 1,
      sym_type_constraints,
    STATE(7031), 1,
      sym__expression_with_willset_didset,
    STATE(7032), 1,
      sym__expression_without_willset_didset,
    STATE(7034), 1,
      sym_willset_didset_block,
    STATE(7041), 1,
      sym_computed_property,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5442), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [244091] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3093), 14,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [244112] = 11,
    ACTIONS(9836), 1,
      sym__arrow_operator_custom,
    ACTIONS(9838), 1,
      sym__async_keyword_custom,
    ACTIONS(10168), 1,
      anon_sym_DOT,
    ACTIONS(10236), 1,
      anon_sym_AMP,
    STATE(4194), 1,
      sym__arrow_operator,
    STATE(6177), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6821), 1,
      sym__async_keyword,
    STATE(8347), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3075), 4,
      sym__as_custom,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_in,
  [244151] = 3,
    ACTIONS(3129), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3131), 13,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [244174] = 4,
    ACTIONS(10238), 1,
      anon_sym_AMP,
    STATE(5837), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3079), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [244199] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3131), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [244220] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3182), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [244241] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3192), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [244262] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3115), 14,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [244283] = 4,
    ACTIONS(10241), 1,
      anon_sym_AMP,
    STATE(5842), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3079), 12,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [244308] = 3,
    ACTIONS(3194), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3196), 13,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [244331] = 3,
    ACTIONS(3198), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3200), 13,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_in,
  [244354] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3147), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [244375] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3123), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [244396] = 3,
    STATE(5842), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3235), 13,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [244419] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3143), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [244440] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3119), 14,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_in,
  [244461] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3123), 14,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [244482] = 5,
    ACTIONS(10246), 1,
      sym__async_keyword_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10213), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(5894), 3,
      sym__async_keyword,
      sym_throws,
      aux_sym__getter_effects,
    ACTIONS(10244), 8,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
  [244509] = 3,
    ACTIONS(3113), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3115), 13,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [244532] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3188), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [244553] = 3,
    STATE(5837), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3235), 13,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [244576] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3093), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [244597] = 11,
    ACTIONS(9429), 1,
      sym__arrow_operator_custom,
    ACTIONS(9431), 1,
      sym__async_keyword_custom,
    ACTIONS(9586), 1,
      anon_sym_DOT,
    ACTIONS(9588), 1,
      anon_sym_AMP,
    STATE(4433), 1,
      sym__arrow_operator,
    STATE(5854), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6979), 1,
      sym__async_keyword,
    STATE(8490), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3089), 4,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_GT,
  [244636] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3192), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [244657] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3182), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [244678] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3139), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [244699] = 11,
    ACTIONS(9836), 1,
      sym__arrow_operator_custom,
    ACTIONS(9838), 1,
      sym__async_keyword_custom,
    ACTIONS(10168), 1,
      anon_sym_DOT,
    ACTIONS(10236), 1,
      anon_sym_AMP,
    STATE(4194), 1,
      sym__arrow_operator,
    STATE(6177), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6821), 1,
      sym__async_keyword,
    STATE(8347), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3055), 4,
      sym__as_custom,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_in,
  [244738] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3097), 14,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_in,
  [244759] = 3,
    STATE(5895), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3235), 13,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [244782] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3111), 14,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_in,
  [244803] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3147), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [244824] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3111), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [244845] = 3,
    ACTIONS(3194), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3196), 13,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_in,
  [244868] = 3,
    STATE(5871), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3235), 13,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
  [244891] = 4,
    ACTIONS(10248), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4977), 4,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_AT,
    ACTIONS(4975), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [244916] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3151), 14,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_in,
  [244937] = 3,
    ACTIONS(3180), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3182), 13,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [244960] = 4,
    ACTIONS(10250), 1,
      anon_sym_AMP,
    STATE(5871), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3079), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [244985] = 11,
    ACTIONS(9836), 1,
      sym__arrow_operator_custom,
    ACTIONS(9838), 1,
      sym__async_keyword_custom,
    ACTIONS(10168), 1,
      anon_sym_DOT,
    ACTIONS(10236), 1,
      anon_sym_AMP,
    STATE(4194), 1,
      sym__arrow_operator,
    STATE(6177), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6821), 1,
      sym__async_keyword,
    STATE(8347), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3079), 4,
      sym__as_custom,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_in,
  [245024] = 4,
    ACTIONS(10253), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5873), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3034), 11,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
  [245049] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3139), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [245070] = 6,
    STATE(4194), 1,
      sym__arrow_operator,
    STATE(6177), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6821), 1,
      sym__async_keyword,
    STATE(8347), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3071), 10,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_in,
  [245099] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 14,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
  [245120] = 6,
    STATE(4194), 1,
      sym__arrow_operator,
    STATE(6177), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6821), 1,
      sym__async_keyword,
    STATE(8347), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3089), 10,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_in,
  [245149] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3159), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [245170] = 3,
    ACTIONS(3157), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3159), 13,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [245193] = 3,
    ACTIONS(3091), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3093), 13,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [245216] = 5,
    ACTIONS(5226), 1,
      anon_sym_LT,
    ACTIONS(10256), 1,
      anon_sym_COLON,
    STATE(1803), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3083), 11,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [245243] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3147), 14,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [245264] = 11,
    ACTIONS(9836), 1,
      sym__arrow_operator_custom,
    ACTIONS(9838), 1,
      sym__async_keyword_custom,
    ACTIONS(10168), 1,
      anon_sym_DOT,
    ACTIONS(10236), 1,
      anon_sym_AMP,
    STATE(4194), 1,
      sym__arrow_operator,
    STATE(6177), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6821), 1,
      sym__async_keyword,
    STATE(8347), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3067), 4,
      sym__as_custom,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_in,
  [245303] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3097), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [245324] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3188), 14,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [245345] = 5,
    ACTIONS(10246), 1,
      sym__async_keyword_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10213), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(5894), 3,
      sym__async_keyword,
      sym_throws,
      aux_sym__getter_effects,
    ACTIONS(10258), 8,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
  [245372] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3131), 14,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [245393] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3107), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [245414] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3182), 14,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [245435] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3151), 14,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [245456] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3127), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [245477] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3135), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [245498] = 5,
    ACTIONS(10260), 1,
      sym__async_keyword_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10213), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(5886), 3,
      sym__async_keyword,
      sym_throws,
      aux_sym__getter_effects,
    ACTIONS(10244), 8,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
  [245525] = 5,
    ACTIONS(10267), 1,
      sym__async_keyword_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10264), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(5894), 3,
      sym__async_keyword,
      sym_throws,
      aux_sym__getter_effects,
    ACTIONS(10262), 8,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
  [245552] = 4,
    ACTIONS(10270), 1,
      anon_sym_AMP,
    STATE(5895), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3079), 12,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [245577] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3159), 14,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [245598] = 11,
    ACTIONS(9836), 1,
      sym__arrow_operator_custom,
    ACTIONS(9838), 1,
      sym__async_keyword_custom,
    ACTIONS(10168), 1,
      anon_sym_DOT,
    ACTIONS(10236), 1,
      anon_sym_AMP,
    STATE(4194), 1,
      sym__arrow_operator,
    STATE(6177), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6821), 1,
      sym__async_keyword,
    STATE(8347), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3063), 4,
      sym__as_custom,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_in,
  [245637] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3151), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [245658] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3139), 14,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_in,
  [245679] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3200), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [245700] = 3,
    ACTIONS(3133), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3135), 13,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_in,
  [245723] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(2993), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [245744] = 4,
    ACTIONS(9641), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5873), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3030), 11,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
  [245769] = 3,
    ACTIONS(3125), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3127), 13,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_in,
  [245792] = 3,
    ACTIONS(2991), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 13,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [245815] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3192), 14,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [245836] = 3,
    ACTIONS(3105), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3107), 13,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_in,
  [245859] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3097), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [245880] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(1866), 5,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_RPAREN,
      anon_sym_COMMA,
    ACTIONS(10273), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [245903] = 3,
    ACTIONS(3145), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3147), 13,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [245926] = 4,
    ACTIONS(9641), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5903), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 11,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
  [245951] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3196), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [245972] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3119), 15,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [245993] = 9,
    ACTIONS(10275), 1,
      anon_sym_repeat,
    ACTIONS(10277), 1,
      anon_sym_if,
    ACTIONS(10279), 1,
      anon_sym_switch,
    ACTIONS(10281), 1,
      anon_sym_guard,
    ACTIONS(10283), 1,
      anon_sym_do,
    ACTIONS(10285), 1,
      anon_sym_for,
    ACTIONS(10287), 1,
      anon_sym_while,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(7206), 7,
      sym_if_statement,
      sym_guard_statement,
      sym_switch_statement,
      sym_do_statement,
      sym_for_statement,
      sym_while_statement,
      sym_repeat_while_statement,
  [246028] = 11,
    ACTIONS(10180), 1,
      sym__arrow_operator_custom,
    ACTIONS(10182), 1,
      sym__async_keyword_custom,
    ACTIONS(10289), 1,
      anon_sym_DOT,
    ACTIONS(10291), 1,
      anon_sym_AMP,
    STATE(4375), 1,
      sym__arrow_operator,
    STATE(6227), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6985), 1,
      sym__async_keyword,
    STATE(8569), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3063), 3,
      sym__eq_custom,
      sym__eq_eq_custom,
      anon_sym_COLON,
  [246066] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3192), 13,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [246086] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4957), 4,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_AT,
    ACTIONS(4955), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [246108] = 3,
    ACTIONS(3157), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3159), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [246130] = 11,
    ACTIONS(10180), 1,
      sym__arrow_operator_custom,
    ACTIONS(10182), 1,
      sym__async_keyword_custom,
    ACTIONS(10291), 1,
      anon_sym_AMP,
    ACTIONS(10295), 1,
      anon_sym_DOT,
    STATE(4375), 1,
      sym__arrow_operator,
    STATE(6227), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6985), 1,
      sym__async_keyword,
    STATE(8569), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(10293), 3,
      sym__eq_custom,
      sym__eq_eq_custom,
      anon_sym_COLON,
  [246168] = 5,
    ACTIONS(10297), 1,
      sym__dot_custom,
    STATE(5434), 1,
      sym__dot,
    STATE(5947), 1,
      aux_sym_user_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3041), 10,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [246194] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10301), 4,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_RBRACE,
    ACTIONS(10299), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [246216] = 4,
    ACTIONS(8650), 1,
      anon_sym_LPAREN,
    STATE(6172), 1,
      sym__tuple_pattern,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5481), 11,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [246240] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3131), 13,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [246260] = 3,
    ACTIONS(3121), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3123), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [246282] = 3,
    ACTIONS(3180), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3182), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_in,
  [246304] = 5,
    ACTIONS(10297), 1,
      sym__dot_custom,
    STATE(5434), 1,
      sym__dot,
    STATE(5920), 1,
      aux_sym_user_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3048), 10,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [246330] = 3,
    ACTIONS(3145), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3147), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_in,
  [246352] = 3,
    STATE(5933), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3235), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [246374] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3139), 13,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [246394] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4973), 4,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_AT,
    ACTIONS(4971), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [246416] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3471), 4,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_RBRACE,
    ACTIONS(3469), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [246438] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4994), 4,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
      anon_sym_AT,
    ACTIONS(4992), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [246460] = 4,
    ACTIONS(10303), 1,
      anon_sym_AMP,
    STATE(5933), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3079), 11,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [246484] = 11,
    ACTIONS(10180), 1,
      sym__arrow_operator_custom,
    ACTIONS(10182), 1,
      sym__async_keyword_custom,
    ACTIONS(10289), 1,
      anon_sym_DOT,
    ACTIONS(10291), 1,
      anon_sym_AMP,
    STATE(4375), 1,
      sym__arrow_operator,
    STATE(6227), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6985), 1,
      sym__async_keyword,
    STATE(8569), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3079), 3,
      sym__eq_custom,
      sym__eq_eq_custom,
      anon_sym_COLON,
  [246522] = 3,
    ACTIONS(3091), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3093), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_in,
  [246544] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3147), 13,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [246564] = 3,
    ACTIONS(3186), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3188), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [246586] = 3,
    ACTIONS(3129), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3131), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [246608] = 3,
    ACTIONS(3091), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3093), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [246630] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3159), 13,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [246650] = 3,
    ACTIONS(3141), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3143), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_in,
  [246672] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 13,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [246692] = 3,
    ACTIONS(3141), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3143), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [246714] = 11,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9973), 1,
      anon_sym_LBRACE,
    ACTIONS(9975), 1,
      sym__eq_custom,
    ACTIONS(9977), 1,
      sym_where_keyword,
    STATE(635), 1,
      sym__equal_sign,
    STATE(6121), 1,
      sym_type_constraints,
    STATE(7089), 1,
      sym_computed_property,
    STATE(7091), 1,
      sym_willset_didset_block,
    STATE(7095), 1,
      sym__expression_without_willset_didset,
    STATE(7097), 1,
      sym__expression_with_willset_didset,
    ACTIONS(5442), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [246752] = 3,
    ACTIONS(3157), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3159), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_in,
  [246774] = 11,
    ACTIONS(9604), 1,
      anon_sym_DOT,
    ACTIONS(10134), 1,
      sym__arrow_operator_custom,
    ACTIONS(10136), 1,
      sym__async_keyword_custom,
    ACTIONS(10306), 1,
      anon_sym_AMP,
    STATE(4123), 1,
      sym__arrow_operator,
    STATE(6232), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7024), 1,
      sym__async_keyword,
    STATE(8655), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3079), 3,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_in,
  [246812] = 5,
    ACTIONS(10308), 1,
      sym__dot_custom,
    STATE(5434), 1,
      sym__dot,
    STATE(5947), 1,
      aux_sym_user_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 10,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [246838] = 4,
    ACTIONS(8650), 1,
      anon_sym_LPAREN,
    STATE(6214), 1,
      sym__tuple_pattern,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5471), 11,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [246862] = 3,
    ACTIONS(3113), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3115), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [246884] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3093), 13,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [246904] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3196), 13,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [246924] = 5,
    ACTIONS(10311), 1,
      sym__dot_custom,
    STATE(5505), 1,
      sym__dot,
    STATE(6022), 1,
      aux_sym_user_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3041), 10,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_in,
  [246950] = 11,
    ACTIONS(9604), 1,
      anon_sym_DOT,
    ACTIONS(10134), 1,
      sym__arrow_operator_custom,
    ACTIONS(10136), 1,
      sym__async_keyword_custom,
    ACTIONS(10306), 1,
      anon_sym_AMP,
    STATE(4123), 1,
      sym__arrow_operator,
    STATE(6232), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7024), 1,
      sym__async_keyword,
    STATE(8655), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3075), 3,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_in,
  [246988] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3093), 14,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [247008] = 11,
    ACTIONS(10180), 1,
      sym__arrow_operator_custom,
    ACTIONS(10182), 1,
      sym__async_keyword_custom,
    ACTIONS(10289), 1,
      anon_sym_DOT,
    ACTIONS(10291), 1,
      anon_sym_AMP,
    STATE(4375), 1,
      sym__arrow_operator,
    STATE(6227), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6985), 1,
      sym__async_keyword,
    STATE(8569), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3075), 3,
      sym__eq_custom,
      sym__eq_eq_custom,
      anon_sym_COLON,
  [247046] = 11,
    ACTIONS(9604), 1,
      anon_sym_DOT,
    ACTIONS(10134), 1,
      sym__arrow_operator_custom,
    ACTIONS(10136), 1,
      sym__async_keyword_custom,
    ACTIONS(10306), 1,
      anon_sym_AMP,
    STATE(4123), 1,
      sym__arrow_operator,
    STATE(6232), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7024), 1,
      sym__async_keyword,
    STATE(8655), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3055), 3,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_in,
  [247084] = 3,
    ACTIONS(3145), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3147), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [247106] = 4,
    ACTIONS(8650), 1,
      anon_sym_LPAREN,
    STATE(6224), 1,
      sym__tuple_pattern,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5509), 11,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [247130] = 3,
    ACTIONS(3121), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3123), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_in,
  [247152] = 11,
    ACTIONS(9604), 1,
      anon_sym_DOT,
    ACTIONS(10134), 1,
      sym__arrow_operator_custom,
    ACTIONS(10136), 1,
      sym__async_keyword_custom,
    ACTIONS(10306), 1,
      anon_sym_AMP,
    STATE(4123), 1,
      sym__arrow_operator,
    STATE(6232), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7024), 1,
      sym__async_keyword,
    STATE(8655), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3063), 3,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_in,
  [247190] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3115), 14,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [247210] = 6,
    STATE(4375), 1,
      sym__arrow_operator,
    STATE(6227), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6985), 1,
      sym__async_keyword,
    STATE(8569), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3071), 9,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
  [247238] = 11,
    ACTIONS(10180), 1,
      sym__arrow_operator_custom,
    ACTIONS(10182), 1,
      sym__async_keyword_custom,
    ACTIONS(10289), 1,
      anon_sym_DOT,
    ACTIONS(10291), 1,
      anon_sym_AMP,
    STATE(4375), 1,
      sym__arrow_operator,
    STATE(6227), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6985), 1,
      sym__async_keyword,
    STATE(8569), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3067), 3,
      sym__eq_custom,
      sym__eq_eq_custom,
      anon_sym_COLON,
  [247276] = 11,
    ACTIONS(10180), 1,
      sym__arrow_operator_custom,
    ACTIONS(10182), 1,
      sym__async_keyword_custom,
    ACTIONS(10289), 1,
      anon_sym_DOT,
    ACTIONS(10291), 1,
      anon_sym_AMP,
    STATE(4375), 1,
      sym__arrow_operator,
    STATE(6227), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6985), 1,
      sym__async_keyword,
    STATE(8569), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3055), 3,
      sym__eq_custom,
      sym__eq_eq_custom,
      anon_sym_COLON,
  [247314] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3123), 14,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [247334] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3119), 13,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [247354] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3111), 13,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
  [247374] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3147), 13,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_RBRACK,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [247394] = 11,
    ACTIONS(9604), 1,
      anon_sym_DOT,
    ACTIONS(10134), 1,
      sym__arrow_operator_custom,
    ACTIONS(10136), 1,
      sym__async_keyword_custom,
    ACTIONS(10306), 1,
      anon_sym_AMP,
    STATE(4123), 1,
      sym__arrow_operator,
    STATE(6232), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7024), 1,
      sym__async_keyword,
    STATE(8655), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(3067), 3,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_in,
  [247432] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3119), 13,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [247452] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3159), 14,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [247472] = 6,
    STATE(4123), 1,
      sym__arrow_operator,
    STATE(6232), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7024), 1,
      sym__async_keyword,
    STATE(8655), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3089), 9,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
  [247500] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3131), 14,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [247520] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3188), 14,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [247540] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3097), 13,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [247560] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3151), 13,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [247580] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3097), 13,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [247600] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3151), 13,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [247620] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3182), 13,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [247640] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(10313), 1,
      anon_sym_AMP,
    STATE(5980), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(3079), 12,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [247664] = 3,
    ACTIONS(3190), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3192), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_in,
  [247686] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 13,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
  [247706] = 6,
    STATE(4123), 1,
      sym__arrow_operator,
    STATE(6232), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(7024), 1,
      sym__async_keyword,
    STATE(8655), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3071), 9,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
  [247734] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3111), 13,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [247754] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 13,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [247774] = 3,
    ACTIONS(3186), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3188), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_in,
  [247796] = 3,
    ACTIONS(3129), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3131), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_in,
  [247818] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3200), 13,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [247838] = 3,
    ACTIONS(3190), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3192), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [247860] = 5,
    ACTIONS(10311), 1,
      sym__dot_custom,
    STATE(5505), 1,
      sym__dot,
    STATE(5952), 1,
      aux_sym_user_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3048), 10,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_in,
  [247886] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3139), 13,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [247906] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3139), 13,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
  [247926] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3147), 14,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [247946] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3143), 13,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [247966] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3111), 13,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [247986] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 13,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [248006] = 3,
    ACTIONS(3180), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3182), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [248028] = 3,
    ACTIONS(5), 1,
      sym_comment,
    STATE(5980), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(3235), 13,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [248050] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3119), 14,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [248070] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3135), 13,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [248090] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3143), 14,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [248110] = 3,
    ACTIONS(3113), 1,
      anon_sym_QMARK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3115), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_in,
  [248132] = 3,
    STATE(6020), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3235), 12,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [248154] = 4,
    ACTIONS(10056), 1,
      anon_sym_LT,
    STATE(6148), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3083), 11,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [248178] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3083), 1,
      sym__dot_custom,
    ACTIONS(5427), 1,
      anon_sym_LT,
    STATE(2086), 1,
      sym_type_arguments,
    ACTIONS(5425), 11,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [248204] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3119), 13,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
  [248224] = 5,
    ACTIONS(9329), 1,
      anon_sym_LT,
    ACTIONS(10316), 1,
      anon_sym_COLON,
    STATE(5146), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3083), 10,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [248250] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3127), 13,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [248270] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3123), 13,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [248290] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3097), 14,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [248310] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3204), 14,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [248330] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3182), 14,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [248350] = 6,
    STATE(4375), 1,
      sym__arrow_operator,
    STATE(6227), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6985), 1,
      sym__async_keyword,
    STATE(8569), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3089), 9,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
  [248378] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3151), 14,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [248398] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 13,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [248418] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3192), 14,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [248438] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3115), 13,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [248458] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3151), 13,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
  [248478] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3139), 14,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [248498] = 4,
    ACTIONS(10318), 1,
      anon_sym_AMP,
    STATE(6020), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3079), 11,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [248522] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3107), 13,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [248542] = 5,
    ACTIONS(10321), 1,
      sym__dot_custom,
    STATE(5505), 1,
      sym__dot,
    STATE(6022), 1,
      aux_sym_user_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 10,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_in,
  [248568] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3111), 14,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [248588] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3097), 13,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
  [248608] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3188), 13,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [248628] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10324), 1,
      anon_sym_DQUOTE,
    ACTIONS(10326), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10328), 1,
      anon_sym_BSLASH,
    ACTIONS(10330), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    ACTIONS(10332), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10334), 1,
      sym__escaped_identifier,
    STATE(6037), 1,
      aux_sym_multi_line_string_literal_repeat1,
    STATE(6723), 1,
      sym__interpolation,
    STATE(6799), 1,
      sym__uni_character_literal,
    STATE(6740), 3,
      sym_str_escaped_char,
      sym__multi_line_string_content,
      sym_multi_line_str_text,
  [248667] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10324), 1,
      anon_sym_DQUOTE,
    ACTIONS(10326), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10328), 1,
      anon_sym_BSLASH,
    ACTIONS(10332), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10334), 1,
      sym__escaped_identifier,
    ACTIONS(10336), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    STATE(6080), 1,
      aux_sym_multi_line_string_literal_repeat1,
    STATE(6723), 1,
      sym__interpolation,
    STATE(6799), 1,
      sym__uni_character_literal,
    STATE(6740), 3,
      sym_str_escaped_char,
      sym__multi_line_string_content,
      sym_multi_line_str_text,
  [248706] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [248725] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3147), 12,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [248744] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3159), 12,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [248763] = 9,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6285), 1,
      sym_throws,
    STATE(6628), 1,
      sym_type_constraints,
    STATE(7157), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9776), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5548), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [248796] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3204), 13,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [248815] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3151), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_in,
  [248834] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(10338), 4,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_AMP,
      anon_sym_LBRACE,
    ACTIONS(3000), 5,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_DOT,
  [248859] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3119), 13,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [248878] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10324), 1,
      anon_sym_DQUOTE,
    ACTIONS(10326), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10328), 1,
      anon_sym_BSLASH,
    ACTIONS(10332), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10334), 1,
      sym__escaped_identifier,
    ACTIONS(10340), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    STATE(6119), 1,
      aux_sym_multi_line_string_literal_repeat1,
    STATE(6723), 1,
      sym__interpolation,
    STATE(6799), 1,
      sym__uni_character_literal,
    STATE(6740), 3,
      sym_str_escaped_char,
      sym__multi_line_string_content,
      sym_multi_line_str_text,
  [248917] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10324), 1,
      anon_sym_DQUOTE,
    ACTIONS(10326), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10328), 1,
      anon_sym_BSLASH,
    ACTIONS(10332), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10334), 1,
      sym__escaped_identifier,
    ACTIONS(10342), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    STATE(6119), 1,
      aux_sym_multi_line_string_literal_repeat1,
    STATE(6723), 1,
      sym__interpolation,
    STATE(6799), 1,
      sym__uni_character_literal,
    STATE(6740), 3,
      sym_str_escaped_char,
      sym__multi_line_string_content,
      sym_multi_line_str_text,
  [248956] = 9,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6302), 1,
      sym_throws,
    STATE(6531), 1,
      sym_type_constraints,
    STATE(7125), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9776), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5562), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [248989] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 12,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
      anon_sym_LT,
  [249008] = 3,
    STATE(6064), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3235), 11,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [249029] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3139), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_in,
  [249048] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3115), 12,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [249067] = 9,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6288), 1,
      sym_throws,
    STATE(6538), 1,
      sym_type_constraints,
    STATE(7200), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9776), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5528), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [249100] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3131), 12,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [249119] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10324), 1,
      anon_sym_DQUOTE,
    ACTIONS(10326), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10328), 1,
      anon_sym_BSLASH,
    ACTIONS(10332), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10334), 1,
      sym__escaped_identifier,
    ACTIONS(10344), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    STATE(6066), 1,
      aux_sym_multi_line_string_literal_repeat1,
    STATE(6723), 1,
      sym__interpolation,
    STATE(6799), 1,
      sym__uni_character_literal,
    STATE(6740), 3,
      sym_str_escaped_char,
      sym__multi_line_string_content,
      sym_multi_line_str_text,
  [249158] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3188), 12,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [249177] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3119), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [249196] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3204), 13,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [249215] = 4,
    ACTIONS(10346), 1,
      anon_sym_AMP,
    STATE(6049), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3079), 10,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
  [249238] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3123), 12,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [249257] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3151), 13,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [249276] = 9,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6294), 1,
      sym_throws,
    STATE(6610), 1,
      sym_type_constraints,
    STATE(7208), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9776), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5528), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [249309] = 3,
    STATE(6049), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3235), 11,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
  [249330] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3111), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_in,
  [249349] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3143), 12,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [249368] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 12,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [249387] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10324), 1,
      anon_sym_DQUOTE,
    ACTIONS(10326), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10328), 1,
      anon_sym_BSLASH,
    ACTIONS(10332), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10334), 1,
      sym__escaped_identifier,
    ACTIONS(10349), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    STATE(6119), 1,
      aux_sym_multi_line_string_literal_repeat1,
    STATE(6723), 1,
      sym__interpolation,
    STATE(6799), 1,
      sym__uni_character_literal,
    STATE(6740), 3,
      sym_str_escaped_char,
      sym__multi_line_string_content,
      sym_multi_line_str_text,
  [249426] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_in,
  [249445] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3097), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_in,
  [249464] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3139), 13,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [249483] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(8636), 1,
      anon_sym_LPAREN,
    STATE(6239), 1,
      sym__tuple_pattern,
    ACTIONS(5509), 11,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [249506] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3111), 13,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [249525] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10324), 1,
      anon_sym_DQUOTE,
    ACTIONS(10326), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10328), 1,
      anon_sym_BSLASH,
    ACTIONS(10332), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10334), 1,
      sym__escaped_identifier,
    ACTIONS(10351), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    STATE(6036), 1,
      aux_sym_multi_line_string_literal_repeat1,
    STATE(6723), 1,
      sym__interpolation,
    STATE(6799), 1,
      sym__uni_character_literal,
    STATE(6740), 3,
      sym_str_escaped_char,
      sym__multi_line_string_content,
      sym_multi_line_str_text,
  [249564] = 4,
    ACTIONS(10353), 1,
      anon_sym_AMP,
    STATE(6064), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3079), 10,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_LBRACE,
  [249587] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 12,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [249606] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10324), 1,
      anon_sym_DQUOTE,
    ACTIONS(10326), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10328), 1,
      anon_sym_BSLASH,
    ACTIONS(10332), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10334), 1,
      sym__escaped_identifier,
    ACTIONS(10356), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    STATE(6119), 1,
      aux_sym_multi_line_string_literal_repeat1,
    STATE(6723), 1,
      sym__interpolation,
    STATE(6799), 1,
      sym__uni_character_literal,
    STATE(6740), 3,
      sym_str_escaped_char,
      sym__multi_line_string_content,
      sym_multi_line_str_text,
  [249645] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3192), 12,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [249664] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(8636), 1,
      anon_sym_LPAREN,
    STATE(6245), 1,
      sym__tuple_pattern,
    ACTIONS(5471), 11,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [249687] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3182), 12,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [249706] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3097), 13,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [249725] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3119), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_in,
  [249744] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10324), 1,
      anon_sym_DQUOTE,
    ACTIONS(10326), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10328), 1,
      anon_sym_BSLASH,
    ACTIONS(10332), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10334), 1,
      sym__escaped_identifier,
    ACTIONS(10358), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    STATE(6076), 1,
      aux_sym_multi_line_string_literal_repeat1,
    STATE(6723), 1,
      sym__interpolation,
    STATE(6799), 1,
      sym__uni_character_literal,
    STATE(6740), 3,
      sym_str_escaped_char,
      sym__multi_line_string_content,
      sym_multi_line_str_text,
  [249783] = 12,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10106), 1,
      anon_sym_LBRACE,
    ACTIONS(10360), 1,
      anon_sym_LPAREN,
    ACTIONS(10362), 1,
      sym__arrow_operator_custom,
    ACTIONS(10366), 1,
      sym__async_keyword_custom,
    STATE(4035), 1,
      sym__arrow_operator,
    STATE(6423), 1,
      aux_sym__function_value_parameters,
    STATE(6469), 1,
      sym__async_keyword,
    STATE(6981), 1,
      sym_throws,
    STATE(8791), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10364), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [249822] = 10,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(9429), 1,
      sym__arrow_operator_custom,
    ACTIONS(9431), 1,
      sym__async_keyword_custom,
    STATE(4433), 1,
      sym__arrow_operator,
    STATE(6979), 1,
      sym__async_keyword,
    STATE(8490), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 2,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
  [249857] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3097), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [249876] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10324), 1,
      anon_sym_DQUOTE,
    ACTIONS(10326), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10328), 1,
      anon_sym_BSLASH,
    ACTIONS(10332), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10334), 1,
      sym__escaped_identifier,
    ACTIONS(10368), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    STATE(6119), 1,
      aux_sym_multi_line_string_literal_repeat1,
    STATE(6723), 1,
      sym__interpolation,
    STATE(6799), 1,
      sym__uni_character_literal,
    STATE(6740), 3,
      sym_str_escaped_char,
      sym__multi_line_string_content,
      sym_multi_line_str_text,
  [249915] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3151), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [249934] = 4,
    ACTIONS(10178), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6091), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 9,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
  [249957] = 9,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6328), 1,
      sym_throws,
    STATE(6540), 1,
      sym_type_constraints,
    STATE(7135), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9776), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5649), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [249990] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10324), 1,
      anon_sym_DQUOTE,
    ACTIONS(10326), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10328), 1,
      anon_sym_BSLASH,
    ACTIONS(10332), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10334), 1,
      sym__escaped_identifier,
    ACTIONS(10370), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    STATE(6119), 1,
      aux_sym_multi_line_string_literal_repeat1,
    STATE(6723), 1,
      sym__interpolation,
    STATE(6799), 1,
      sym__uni_character_literal,
    STATE(6740), 3,
      sym_str_escaped_char,
      sym__multi_line_string_content,
      sym_multi_line_str_text,
  [250029] = 4,
    ACTIONS(10372), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6081), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3034), 9,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
  [250052] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10324), 1,
      anon_sym_DQUOTE,
    ACTIONS(10326), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10328), 1,
      anon_sym_BSLASH,
    ACTIONS(10332), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10334), 1,
      sym__escaped_identifier,
    ACTIONS(10375), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    STATE(6119), 1,
      aux_sym_multi_line_string_literal_repeat1,
    STATE(6723), 1,
      sym__interpolation,
    STATE(6799), 1,
      sym__uni_character_literal,
    STATE(6740), 3,
      sym_str_escaped_char,
      sym__multi_line_string_content,
      sym_multi_line_str_text,
  [250091] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6795), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(6797), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [250112] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(8636), 1,
      anon_sym_LPAREN,
    STATE(6258), 1,
      sym__tuple_pattern,
    ACTIONS(5481), 11,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [250135] = 12,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9938), 1,
      anon_sym_LBRACE,
    ACTIONS(10360), 1,
      anon_sym_LPAREN,
    ACTIONS(10377), 1,
      sym__arrow_operator_custom,
    ACTIONS(10379), 1,
      sym__async_keyword_custom,
    STATE(3963), 1,
      sym__arrow_operator,
    STATE(6423), 1,
      aux_sym__function_value_parameters,
    STATE(6468), 1,
      sym__async_keyword,
    STATE(6977), 1,
      sym_throws,
    STATE(8763), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10364), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [250174] = 9,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6330), 1,
      sym_throws,
    STATE(6535), 1,
      sym_type_constraints,
    STATE(7331), 1,
      sym__block,
    STATE(7354), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9776), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5558), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [250207] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10324), 1,
      anon_sym_DQUOTE,
    ACTIONS(10326), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10328), 1,
      anon_sym_BSLASH,
    ACTIONS(10332), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10334), 1,
      sym__escaped_identifier,
    ACTIONS(10381), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    STATE(6082), 1,
      aux_sym_multi_line_string_literal_repeat1,
    STATE(6723), 1,
      sym__interpolation,
    STATE(6799), 1,
      sym__uni_character_literal,
    STATE(6740), 3,
      sym_str_escaped_char,
      sym__multi_line_string_content,
      sym_multi_line_str_text,
  [250246] = 9,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6291), 1,
      sym_throws,
    STATE(6515), 1,
      sym_type_constraints,
    STATE(7275), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9776), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5524), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [250279] = 9,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6351), 1,
      sym_throws,
    STATE(6542), 1,
      sym_type_constraints,
    STATE(7290), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9776), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5524), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [250312] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3139), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [250331] = 4,
    ACTIONS(10178), 1,
      anon_sym_QMARK2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6081), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3030), 9,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
  [250354] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10324), 1,
      anon_sym_DQUOTE,
    ACTIONS(10326), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10328), 1,
      anon_sym_BSLASH,
    ACTIONS(10332), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10334), 1,
      sym__escaped_identifier,
    ACTIONS(10383), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    STATE(6096), 1,
      aux_sym_multi_line_string_literal_repeat1,
    STATE(6723), 1,
      sym__interpolation,
    STATE(6799), 1,
      sym__uni_character_literal,
    STATE(6740), 3,
      sym_str_escaped_char,
      sym__multi_line_string_content,
      sym_multi_line_str_text,
  [250393] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3111), 12,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [250412] = 3,
    STATE(6105), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3235), 11,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
  [250433] = 9,
    ACTIONS(9798), 1,
      anon_sym_LBRACE,
    ACTIONS(9800), 1,
      sym__eq_custom,
    STATE(584), 1,
      sym__equal_sign,
    STATE(7043), 1,
      sym__expression_with_willset_didset,
    STATE(7044), 1,
      sym__expression_without_willset_didset,
    STATE(7048), 1,
      sym_willset_didset_block,
    STATE(7049), 1,
      sym_computed_property,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5442), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [250466] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10324), 1,
      anon_sym_DQUOTE,
    ACTIONS(10326), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10328), 1,
      anon_sym_BSLASH,
    ACTIONS(10332), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10334), 1,
      sym__escaped_identifier,
    ACTIONS(10385), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    STATE(6119), 1,
      aux_sym_multi_line_string_literal_repeat1,
    STATE(6723), 1,
      sym__interpolation,
    STATE(6799), 1,
      sym__uni_character_literal,
    STATE(6740), 3,
      sym_str_escaped_char,
      sym__multi_line_string_content,
      sym_multi_line_str_text,
  [250505] = 5,
    ACTIONS(3077), 1,
      anon_sym_DOT,
    ACTIONS(10387), 1,
      anon_sym_AMP,
    STATE(6097), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3079), 9,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT_DOT_DOT,
  [250530] = 4,
    ACTIONS(3233), 1,
      anon_sym_DOT,
    STATE(6097), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3235), 10,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_AMP,
      anon_sym_DOT_DOT_DOT,
  [250553] = 5,
    ACTIONS(5613), 1,
      sym__as_custom,
    ACTIONS(10390), 1,
      anon_sym_QMARK,
    STATE(6226), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5607), 9,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [250578] = 5,
    ACTIONS(5639), 1,
      sym__as_custom,
    ACTIONS(10392), 1,
      anon_sym_QMARK,
    STATE(6242), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5633), 9,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [250603] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3093), 12,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [250622] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10396), 3,
      aux_sym_simple_identifier_token2,
      aux_sym_simple_identifier_token3,
      aux_sym_simple_identifier_token4,
    ACTIONS(10394), 9,
      aux_sym_simple_identifier_token1,
      anon_sym_actor,
      anon_sym_async,
      anon_sym_each,
      anon_sym_lazy,
      anon_sym_repeat,
      anon_sym_package,
      anon_sym_borrowing,
      anon_sym_consuming,
  [250643] = 9,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6293), 1,
      sym_throws,
    STATE(6609), 1,
      sym_type_constraints,
    STATE(7107), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9776), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5554), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [250676] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10324), 1,
      anon_sym_DQUOTE,
    ACTIONS(10326), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10328), 1,
      anon_sym_BSLASH,
    ACTIONS(10332), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10334), 1,
      sym__escaped_identifier,
    ACTIONS(10398), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    STATE(6119), 1,
      aux_sym_multi_line_string_literal_repeat1,
    STATE(6723), 1,
      sym__interpolation,
    STATE(6799), 1,
      sym__uni_character_literal,
    STATE(6740), 3,
      sym_str_escaped_char,
      sym__multi_line_string_content,
      sym_multi_line_str_text,
  [250715] = 4,
    ACTIONS(10400), 1,
      anon_sym_AMP,
    STATE(6105), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3079), 10,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
  [250738] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3119), 12,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [250757] = 9,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6321), 1,
      sym_throws,
    STATE(6537), 1,
      sym_type_constraints,
    STATE(7331), 1,
      sym__block,
    STATE(7426), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9776), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5653), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [250790] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10324), 1,
      anon_sym_DQUOTE,
    ACTIONS(10326), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10328), 1,
      anon_sym_BSLASH,
    ACTIONS(10332), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10334), 1,
      sym__escaped_identifier,
    ACTIONS(10403), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    STATE(6104), 1,
      aux_sym_multi_line_string_literal_repeat1,
    STATE(6723), 1,
      sym__interpolation,
    STATE(6799), 1,
      sym__uni_character_literal,
    STATE(6740), 3,
      sym_str_escaped_char,
      sym__multi_line_string_content,
      sym_multi_line_str_text,
  [250829] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3097), 12,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [250848] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3151), 12,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [250867] = 9,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6295), 1,
      sym_throws,
    STATE(6572), 1,
      sym_type_constraints,
    STATE(7203), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9776), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5554), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [250900] = 9,
    ACTIONS(9798), 1,
      anon_sym_LBRACE,
    ACTIONS(9800), 1,
      sym__eq_custom,
    STATE(584), 1,
      sym__equal_sign,
    STATE(6874), 1,
      sym_computed_property,
    STATE(6876), 1,
      sym_willset_didset_block,
    STATE(6880), 1,
      sym__expression_without_willset_didset,
    STATE(6881), 1,
      sym__expression_with_willset_didset,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5532), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [250933] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10324), 1,
      anon_sym_DQUOTE,
    ACTIONS(10326), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10328), 1,
      anon_sym_BSLASH,
    ACTIONS(10332), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10334), 1,
      sym__escaped_identifier,
    ACTIONS(10405), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    STATE(6057), 1,
      aux_sym_multi_line_string_literal_repeat1,
    STATE(6723), 1,
      sym__interpolation,
    STATE(6799), 1,
      sym__uni_character_literal,
    STATE(6740), 3,
      sym_str_escaped_char,
      sym__multi_line_string_content,
      sym_multi_line_str_text,
  [250972] = 11,
    ACTIONS(387), 1,
      anon_sym_AT,
    ACTIONS(9576), 1,
      anon_sym_get,
    ACTIONS(9578), 1,
      anon_sym_set,
    ACTIONS(9580), 1,
      anon_sym__modify,
    STATE(6250), 1,
      sym_setter_specifier,
    STATE(6327), 1,
      sym_getter_specifier,
    STATE(6347), 1,
      sym_modify_specifier,
    STATE(7505), 1,
      sym_mutation_modifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4019), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    STATE(6399), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
  [251009] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3111), 12,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [251028] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10324), 1,
      anon_sym_DQUOTE,
    ACTIONS(10326), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10328), 1,
      anon_sym_BSLASH,
    ACTIONS(10332), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10334), 1,
      sym__escaped_identifier,
    ACTIONS(10407), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    STATE(6119), 1,
      aux_sym_multi_line_string_literal_repeat1,
    STATE(6723), 1,
      sym__interpolation,
    STATE(6799), 1,
      sym__uni_character_literal,
    STATE(6740), 3,
      sym_str_escaped_char,
      sym__multi_line_string_content,
      sym_multi_line_str_text,
  [251067] = 9,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6339), 1,
      sym_throws,
    STATE(6588), 1,
      sym_type_constraints,
    STATE(7249), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9776), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5603), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [251100] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3139), 12,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [251119] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10409), 1,
      anon_sym_DQUOTE,
    ACTIONS(10412), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10415), 1,
      anon_sym_BSLASH,
    ACTIONS(10418), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    ACTIONS(10420), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10423), 1,
      sym__escaped_identifier,
    STATE(6119), 1,
      aux_sym_multi_line_string_literal_repeat1,
    STATE(6723), 1,
      sym__interpolation,
    STATE(6799), 1,
      sym__uni_character_literal,
    STATE(6740), 3,
      sym_str_escaped_char,
      sym__multi_line_string_content,
      sym_multi_line_str_text,
  [251158] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10324), 1,
      anon_sym_DQUOTE,
    ACTIONS(10326), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10328), 1,
      anon_sym_BSLASH,
    ACTIONS(10332), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10334), 1,
      sym__escaped_identifier,
    ACTIONS(10426), 1,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
    STATE(6116), 1,
      aux_sym_multi_line_string_literal_repeat1,
    STATE(6723), 1,
      sym__interpolation,
    STATE(6799), 1,
      sym__uni_character_literal,
    STATE(6740), 3,
      sym_str_escaped_char,
      sym__multi_line_string_content,
      sym_multi_line_str_text,
  [251197] = 9,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9973), 1,
      anon_sym_LBRACE,
    ACTIONS(9975), 1,
      sym__eq_custom,
    STATE(635), 1,
      sym__equal_sign,
    STATE(7158), 1,
      sym__expression_with_willset_didset,
    STATE(7161), 1,
      sym__expression_without_willset_didset,
    STATE(7174), 1,
      sym_willset_didset_block,
    STATE(7180), 1,
      sym_computed_property,
    ACTIONS(5532), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [251229] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10428), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [251253] = 4,
    ACTIONS(10430), 1,
      anon_sym_LPAREN,
    STATE(6123), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5666), 9,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [251275] = 4,
    ACTIONS(10433), 1,
      anon_sym_LPAREN,
    STATE(6124), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5666), 9,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [251297] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10436), 1,
      anon_sym_DQUOTE,
    ACTIONS(10438), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10440), 1,
      anon_sym_BSLASH,
    ACTIONS(10442), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10444), 1,
      sym__escaped_identifier,
    STATE(6127), 1,
      aux_sym_line_string_literal_repeat1,
    STATE(7051), 1,
      sym__uni_character_literal,
    STATE(7062), 1,
      sym__interpolation,
    STATE(7058), 3,
      sym__line_string_content,
      sym_line_str_text,
      sym_str_escaped_char,
  [251333] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10438), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10440), 1,
      anon_sym_BSLASH,
    ACTIONS(10442), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10444), 1,
      sym__escaped_identifier,
    ACTIONS(10446), 1,
      anon_sym_DQUOTE,
    STATE(6125), 1,
      aux_sym_line_string_literal_repeat1,
    STATE(7051), 1,
      sym__uni_character_literal,
    STATE(7062), 1,
      sym__interpolation,
    STATE(7058), 3,
      sym__line_string_content,
      sym_line_str_text,
      sym_str_escaped_char,
  [251369] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10448), 1,
      anon_sym_DQUOTE,
    ACTIONS(10450), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10453), 1,
      anon_sym_BSLASH,
    ACTIONS(10456), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10459), 1,
      sym__escaped_identifier,
    STATE(6127), 1,
      aux_sym_line_string_literal_repeat1,
    STATE(7051), 1,
      sym__uni_character_literal,
    STATE(7062), 1,
      sym__interpolation,
    STATE(7058), 3,
      sym__line_string_content,
      sym_line_str_text,
      sym_str_escaped_char,
  [251405] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10462), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [251429] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10464), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [251453] = 9,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6383), 1,
      sym_throws,
    STATE(6803), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(7902), 1,
      sym_function_body,
    ACTIONS(9954), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5653), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [251485] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10466), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [251509] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10468), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [251533] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10470), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [251557] = 8,
    ACTIONS(9778), 1,
      sym_where_keyword,
    ACTIONS(10474), 1,
      sym__arrow_operator_custom,
    STATE(4018), 1,
      sym__arrow_operator,
    STATE(6447), 1,
      sym_throws,
    STATE(7126), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9942), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(10472), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [251587] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10438), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10440), 1,
      anon_sym_BSLASH,
    ACTIONS(10442), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10444), 1,
      sym__escaped_identifier,
    ACTIONS(10476), 1,
      anon_sym_DQUOTE,
    STATE(6138), 1,
      aux_sym_line_string_literal_repeat1,
    STATE(7051), 1,
      sym__uni_character_literal,
    STATE(7062), 1,
      sym__interpolation,
    STATE(7058), 3,
      sym__line_string_content,
      sym_line_str_text,
      sym_str_escaped_char,
  [251623] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10478), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [251647] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10480), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [251671] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10438), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10440), 1,
      anon_sym_BSLASH,
    ACTIONS(10442), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10444), 1,
      sym__escaped_identifier,
    ACTIONS(10482), 1,
      anon_sym_DQUOTE,
    STATE(6127), 1,
      aux_sym_line_string_literal_repeat1,
    STATE(7051), 1,
      sym__uni_character_literal,
    STATE(7062), 1,
      sym__interpolation,
    STATE(7058), 3,
      sym__line_string_content,
      sym_line_str_text,
      sym_str_escaped_char,
  [251707] = 5,
    ACTIONS(7835), 1,
      sym__as_custom,
    ACTIONS(10484), 1,
      anon_sym_QMARK,
    STATE(6235), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5633), 8,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_RBRACE,
  [251731] = 5,
    ACTIONS(7863), 1,
      sym__as_custom,
    ACTIONS(10487), 1,
      anon_sym_QMARK,
    STATE(6249), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5607), 8,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_RBRACE,
  [251755] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5736), 11,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [251773] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10490), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [251797] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10438), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10440), 1,
      anon_sym_BSLASH,
    ACTIONS(10442), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10444), 1,
      sym__escaped_identifier,
    ACTIONS(10492), 1,
      anon_sym_DQUOTE,
    STATE(6127), 1,
      aux_sym_line_string_literal_repeat1,
    STATE(7051), 1,
      sym__uni_character_literal,
    STATE(7062), 1,
      sym__interpolation,
    STATE(7058), 3,
      sym__line_string_content,
      sym_line_str_text,
      sym_str_escaped_char,
  [251833] = 4,
    ACTIONS(10494), 1,
      anon_sym_QMARK,
    STATE(6345), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5639), 9,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_RBRACE,
  [251855] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10496), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [251879] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10498), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [251903] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10500), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [251927] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3196), 11,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [251945] = 8,
    ACTIONS(9778), 1,
      sym_where_keyword,
    ACTIONS(10504), 1,
      sym__arrow_operator_custom,
    STATE(4002), 1,
      sym__arrow_operator,
    STATE(6504), 1,
      sym_throws,
    STATE(7119), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9942), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(10502), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [251975] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10438), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10440), 1,
      anon_sym_BSLASH,
    ACTIONS(10442), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10444), 1,
      sym__escaped_identifier,
    ACTIONS(10506), 1,
      anon_sym_DQUOTE,
    STATE(6143), 1,
      aux_sym_line_string_literal_repeat1,
    STATE(7051), 1,
      sym__uni_character_literal,
    STATE(7062), 1,
      sym__interpolation,
    STATE(7058), 3,
      sym__line_string_content,
      sym_line_str_text,
      sym_str_escaped_char,
  [252011] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2993), 11,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [252029] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10438), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10440), 1,
      anon_sym_BSLASH,
    ACTIONS(10442), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10444), 1,
      sym__escaped_identifier,
    ACTIONS(10508), 1,
      anon_sym_DQUOTE,
    STATE(6159), 1,
      aux_sym_line_string_literal_repeat1,
    STATE(7051), 1,
      sym__uni_character_literal,
    STATE(7062), 1,
      sym__interpolation,
    STATE(7058), 3,
      sym__line_string_content,
      sym_line_str_text,
      sym_str_escaped_char,
  [252065] = 9,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6493), 1,
      sym_throws,
    STATE(6760), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(7866), 1,
      sym_function_body,
    ACTIONS(9954), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5603), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [252097] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10510), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [252121] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10512), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [252145] = 9,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6384), 1,
      sym_throws,
    STATE(6750), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(8221), 1,
      sym_function_body,
    ACTIONS(9954), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5548), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [252177] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10514), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [252201] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10516), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [252225] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10438), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10440), 1,
      anon_sym_BSLASH,
    ACTIONS(10442), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10444), 1,
      sym__escaped_identifier,
    ACTIONS(10518), 1,
      anon_sym_DQUOTE,
    STATE(6127), 1,
      aux_sym_line_string_literal_repeat1,
    STATE(7051), 1,
      sym__uni_character_literal,
    STATE(7062), 1,
      sym__interpolation,
    STATE(7058), 3,
      sym__line_string_content,
      sym_line_str_text,
      sym_str_escaped_char,
  [252261] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5740), 11,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [252279] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3200), 11,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [252297] = 9,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6370), 1,
      sym_throws,
    STATE(6796), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(8005), 1,
      sym_function_body,
    ACTIONS(9954), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5524), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [252329] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3135), 11,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [252347] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10520), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [252371] = 4,
    ACTIONS(10522), 1,
      anon_sym_QMARK,
    STATE(6346), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7846), 9,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_RBRACE,
  [252393] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10438), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10440), 1,
      anon_sym_BSLASH,
    ACTIONS(10442), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10444), 1,
      sym__escaped_identifier,
    ACTIONS(10524), 1,
      anon_sym_DQUOTE,
    STATE(6127), 1,
      aux_sym_line_string_literal_repeat1,
    STATE(7051), 1,
      sym__uni_character_literal,
    STATE(7062), 1,
      sym__interpolation,
    STATE(7058), 3,
      sym__line_string_content,
      sym_line_str_text,
      sym_str_escaped_char,
  [252429] = 4,
    ACTIONS(10526), 1,
      anon_sym_QMARK,
    STATE(6342), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5613), 9,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_RBRACE,
  [252451] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3127), 11,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [252469] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10528), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [252493] = 9,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6366), 1,
      sym_throws,
    STATE(6806), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(8033), 1,
      sym_function_body,
    ACTIONS(9954), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5524), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [252525] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3107), 11,
      sym__arrow_operator_custom,
      sym__dot_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [252543] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5471), 11,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [252561] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10438), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10440), 1,
      anon_sym_BSLASH,
    ACTIONS(10442), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10444), 1,
      sym__escaped_identifier,
    ACTIONS(10530), 1,
      anon_sym_DQUOTE,
    STATE(6127), 1,
      aux_sym_line_string_literal_repeat1,
    STATE(7051), 1,
      sym__uni_character_literal,
    STATE(7062), 1,
      sym__interpolation,
    STATE(7058), 3,
      sym__line_string_content,
      sym_line_str_text,
      sym_str_escaped_char,
  [252597] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10438), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10440), 1,
      anon_sym_BSLASH,
    ACTIONS(10442), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10444), 1,
      sym__escaped_identifier,
    ACTIONS(10532), 1,
      anon_sym_DQUOTE,
    STATE(6173), 1,
      aux_sym_line_string_literal_repeat1,
    STATE(7051), 1,
      sym__uni_character_literal,
    STATE(7062), 1,
      sym__interpolation,
    STATE(7058), 3,
      sym__line_string_content,
      sym_line_str_text,
      sym_str_escaped_char,
  [252633] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10438), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10440), 1,
      anon_sym_BSLASH,
    ACTIONS(10442), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10444), 1,
      sym__escaped_identifier,
    ACTIONS(10534), 1,
      anon_sym_DQUOTE,
    STATE(6166), 1,
      aux_sym_line_string_literal_repeat1,
    STATE(7051), 1,
      sym__uni_character_literal,
    STATE(7062), 1,
      sym__interpolation,
    STATE(7058), 3,
      sym__line_string_content,
      sym_line_str_text,
      sym_str_escaped_char,
  [252669] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10536), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [252693] = 3,
    STATE(6196), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3235), 10,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_in,
  [252713] = 6,
    ACTIONS(9796), 1,
      anon_sym_COLON,
    ACTIONS(10538), 1,
      sym__as_custom,
    STATE(4170), 1,
      sym__as,
    STATE(6632), 1,
      sym_type_annotation,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7840), 7,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [252739] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5673), 11,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [252757] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10438), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10440), 1,
      anon_sym_BSLASH,
    ACTIONS(10442), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10444), 1,
      sym__escaped_identifier,
    ACTIONS(10540), 1,
      anon_sym_DQUOTE,
    STATE(6182), 1,
      aux_sym_line_string_literal_repeat1,
    STATE(7051), 1,
      sym__uni_character_literal,
    STATE(7062), 1,
      sym__interpolation,
    STATE(7058), 3,
      sym__line_string_content,
      sym_line_str_text,
      sym_str_escaped_char,
  [252793] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10438), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10440), 1,
      anon_sym_BSLASH,
    ACTIONS(10442), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10444), 1,
      sym__escaped_identifier,
    ACTIONS(10542), 1,
      anon_sym_DQUOTE,
    STATE(6127), 1,
      aux_sym_line_string_literal_repeat1,
    STATE(7051), 1,
      sym__uni_character_literal,
    STATE(7062), 1,
      sym__interpolation,
    STATE(7058), 3,
      sym__line_string_content,
      sym_line_str_text,
      sym_str_escaped_char,
  [252829] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10438), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10440), 1,
      anon_sym_BSLASH,
    ACTIONS(10442), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10444), 1,
      sym__escaped_identifier,
    ACTIONS(10544), 1,
      anon_sym_DQUOTE,
    STATE(6127), 1,
      aux_sym_line_string_literal_repeat1,
    STATE(7051), 1,
      sym__uni_character_literal,
    STATE(7062), 1,
      sym__interpolation,
    STATE(7058), 3,
      sym__line_string_content,
      sym_line_str_text,
      sym_str_escaped_char,
  [252865] = 9,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6457), 1,
      sym_throws,
    STATE(6698), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(8006), 1,
      sym_function_body,
    ACTIONS(9954), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5554), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [252897] = 9,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6482), 1,
      sym_throws,
    STATE(6756), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(7960), 1,
      sym_function_body,
    ACTIONS(9954), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5558), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [252929] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10438), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10440), 1,
      anon_sym_BSLASH,
    ACTIONS(10442), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10444), 1,
      sym__escaped_identifier,
    ACTIONS(10546), 1,
      anon_sym_DQUOTE,
    STATE(6216), 1,
      aux_sym_line_string_literal_repeat1,
    STATE(7051), 1,
      sym__uni_character_literal,
    STATE(7062), 1,
      sym__interpolation,
    STATE(7058), 3,
      sym__line_string_content,
      sym_line_str_text,
      sym_str_escaped_char,
  [252965] = 9,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6405), 1,
      sym_throws,
    STATE(6705), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(8134), 1,
      sym_function_body,
    ACTIONS(9954), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5528), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [252997] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6395), 11,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
  [253015] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10548), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [253039] = 9,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6413), 1,
      sym_throws,
    STATE(6690), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(8116), 1,
      sym_function_body,
    ACTIONS(9954), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5528), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [253071] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10550), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [253095] = 9,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6394), 1,
      sym_throws,
    STATE(6725), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(8162), 1,
      sym_function_body,
    ACTIONS(9954), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5649), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [253127] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3119), 11,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
  [253145] = 9,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6466), 1,
      sym_throws,
    STATE(6706), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(7938), 1,
      sym_function_body,
    ACTIONS(9954), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5554), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [253177] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5779), 11,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [253195] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10552), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [253219] = 4,
    ACTIONS(10554), 1,
      anon_sym_AMP,
    STATE(6196), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3079), 9,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__as_custom,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK,
      anon_sym_in,
  [253241] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3097), 11,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
  [253259] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3151), 11,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
  [253277] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3204), 12,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [253295] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10438), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10440), 1,
      anon_sym_BSLASH,
    ACTIONS(10442), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10444), 1,
      sym__escaped_identifier,
    ACTIONS(10557), 1,
      anon_sym_DQUOTE,
    STATE(6209), 1,
      aux_sym_line_string_literal_repeat1,
    STATE(7051), 1,
      sym__uni_character_literal,
    STATE(7062), 1,
      sym__interpolation,
    STATE(7058), 3,
      sym__line_string_content,
      sym_line_str_text,
      sym_str_escaped_char,
  [253331] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10559), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [253355] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10438), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10440), 1,
      anon_sym_BSLASH,
    ACTIONS(10442), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10444), 1,
      sym__escaped_identifier,
    ACTIONS(10561), 1,
      anon_sym_DQUOTE,
    STATE(6181), 1,
      aux_sym_line_string_literal_repeat1,
    STATE(7051), 1,
      sym__uni_character_literal,
    STATE(7062), 1,
      sym__interpolation,
    STATE(7058), 3,
      sym__line_string_content,
      sym_line_str_text,
      sym_str_escaped_char,
  [253391] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10563), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [253415] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3139), 11,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
  [253433] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5662), 11,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [253451] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 11,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
  [253469] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3111), 11,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym_else,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
  [253487] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(5613), 1,
      sym__as_custom,
    ACTIONS(10565), 1,
      anon_sym_QMARK,
    STATE(6323), 1,
      sym__quest,
    ACTIONS(5607), 9,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [253511] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10438), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10440), 1,
      anon_sym_BSLASH,
    ACTIONS(10442), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10444), 1,
      sym__escaped_identifier,
    ACTIONS(10567), 1,
      anon_sym_DQUOTE,
    STATE(6127), 1,
      aux_sym_line_string_literal_repeat1,
    STATE(7051), 1,
      sym__uni_character_literal,
    STATE(7062), 1,
      sym__interpolation,
    STATE(7058), 3,
      sym__line_string_content,
      sym_line_str_text,
      sym_str_escaped_char,
  [253547] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10569), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [253571] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(5639), 1,
      sym__as_custom,
    ACTIONS(10571), 1,
      anon_sym_QMARK,
    STATE(6355), 1,
      sym__quest,
    ACTIONS(5633), 9,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [253595] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10573), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [253619] = 9,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9973), 1,
      anon_sym_LBRACE,
    ACTIONS(9975), 1,
      sym__eq_custom,
    STATE(635), 1,
      sym__equal_sign,
    STATE(7083), 1,
      sym_computed_property,
    STATE(7084), 1,
      sym_willset_didset_block,
    STATE(7085), 1,
      sym__expression_without_willset_didset,
    STATE(7086), 1,
      sym__expression_with_willset_didset,
    ACTIONS(5442), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [253651] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5509), 11,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [253669] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10575), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [253693] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10438), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10440), 1,
      anon_sym_BSLASH,
    ACTIONS(10442), 1,
      anon_sym_BSLASH_LPAREN,
    ACTIONS(10444), 1,
      sym__escaped_identifier,
    ACTIONS(10577), 1,
      anon_sym_DQUOTE,
    STATE(6127), 1,
      aux_sym_line_string_literal_repeat1,
    STATE(7051), 1,
      sym__uni_character_literal,
    STATE(7062), 1,
      sym__interpolation,
    STATE(7058), 3,
      sym__line_string_content,
      sym_line_str_text,
      sym_str_escaped_char,
  [253729] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10579), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [253753] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10581), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [253777] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10583), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [253801] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10585), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [253825] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10587), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [253849] = 9,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6369), 1,
      sym_throws,
    STATE(6790), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(8129), 1,
      sym_function_body,
    ACTIONS(9954), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
    ACTIONS(5562), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [253881] = 5,
    ACTIONS(9247), 1,
      anon_sym_QMARK2,
    ACTIONS(10589), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(5256), 2,
      sym__immediate_quest,
      aux_sym_optional_type_repeat1,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [253905] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5694), 11,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [253923] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5732), 11,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [253941] = 3,
    ACTIONS(5831), 1,
      sym__as_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5827), 9,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [253960] = 3,
    STATE(6268), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3235), 9,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
  [253979] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7866), 10,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_RBRACE,
  [253996] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5889), 10,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [254013] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7876), 10,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_RBRACE,
  [254030] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5873), 10,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [254047] = 3,
    STATE(6265), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3235), 9,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
  [254066] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(5779), 11,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [254083] = 10,
    ACTIONS(9429), 1,
      sym__arrow_operator_custom,
    ACTIONS(9431), 1,
      sym__async_keyword_custom,
    ACTIONS(9604), 1,
      anon_sym_DOT,
    ACTIONS(9606), 1,
      anon_sym_AMP,
    STATE(4433), 1,
      sym__arrow_operator,
    STATE(5867), 1,
      aux_sym_protocol_composition_type_repeat1,
    STATE(6979), 1,
      sym__async_keyword,
    STATE(8490), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [254116] = 3,
    ACTIONS(7870), 1,
      sym__as_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5877), 9,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_RBRACE,
  [254135] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5869), 10,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [254152] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5863), 10,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [254169] = 10,
    ACTIONS(4532), 1,
      anon_sym_LPAREN,
    ACTIONS(4534), 1,
      anon_sym_LBRACK,
    ACTIONS(10591), 1,
      anon_sym_LT,
    STATE(1720), 1,
      sym_lambda_literal,
    STATE(2531), 1,
      sym_value_arguments,
    STATE(2853), 1,
      sym_call_suffix,
    STATE(2956), 1,
      sym__fn_call_lambda_arguments,
    STATE(6494), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4546), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [254202] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(5694), 11,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [254219] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(5662), 11,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [254236] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3147), 10,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [254253] = 3,
    ACTIONS(5881), 1,
      sym__as_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5877), 9,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [254272] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3115), 10,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [254289] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3159), 10,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [254306] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(5509), 11,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [254323] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5885), 10,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [254340] = 10,
    ACTIONS(4448), 1,
      anon_sym_LPAREN,
    ACTIONS(4450), 1,
      anon_sym_LBRACK,
    ACTIONS(10591), 1,
      anon_sym_LT,
    STATE(1706), 1,
      sym_lambda_literal,
    STATE(2399), 1,
      sym_value_arguments,
    STATE(2724), 1,
      sym_call_suffix,
    STATE(2781), 1,
      sym__fn_call_lambda_arguments,
    STATE(6460), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4462), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [254373] = 10,
    ACTIONS(4887), 1,
      anon_sym_LPAREN,
    ACTIONS(4889), 1,
      anon_sym_LBRACK,
    ACTIONS(10591), 1,
      anon_sym_LT,
    STATE(1754), 1,
      sym_lambda_literal,
    STATE(3036), 1,
      sym_value_arguments,
    STATE(3636), 1,
      sym__fn_call_lambda_arguments,
    STATE(3689), 1,
      sym_call_suffix,
    STATE(6496), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4963), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [254406] = 3,
    ACTIONS(7873), 1,
      sym__as_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5827), 9,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_RBRACE,
  [254425] = 5,
    ACTIONS(10593), 1,
      anon_sym_LPAREN,
    ACTIONS(10595), 1,
      anon_sym_LBRACE,
    STATE(6639), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10597), 7,
      anon_sym_RBRACE,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
  [254448] = 10,
    ACTIONS(4600), 1,
      anon_sym_LPAREN,
    ACTIONS(4602), 1,
      anon_sym_LBRACK,
    ACTIONS(10591), 1,
      anon_sym_LT,
    STATE(1735), 1,
      sym_lambda_literal,
    STATE(2819), 1,
      sym_value_arguments,
    STATE(3478), 1,
      sym__fn_call_lambda_arguments,
    STATE(3571), 1,
      sym_call_suffix,
    STATE(6391), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4705), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [254481] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(5732), 11,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [254498] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3131), 10,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [254515] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3188), 10,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [254532] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3182), 10,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [254549] = 10,
    ACTIONS(2705), 1,
      anon_sym_LPAREN,
    ACTIONS(2707), 1,
      anon_sym_LBRACK,
    ACTIONS(10591), 1,
      anon_sym_LT,
    STATE(805), 1,
      sym_lambda_literal,
    STATE(893), 1,
      sym__fn_call_lambda_arguments,
    STATE(924), 1,
      sym_call_suffix,
    STATE(983), 1,
      sym_value_arguments,
    STATE(6360), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2757), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [254582] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(5740), 11,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [254599] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(5471), 11,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [254616] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(5736), 11,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [254633] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3093), 10,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [254650] = 10,
    ACTIONS(2907), 1,
      anon_sym_LPAREN,
    ACTIONS(2909), 1,
      anon_sym_LBRACK,
    ACTIONS(10591), 1,
      anon_sym_LT,
    STATE(1001), 1,
      sym_lambda_literal,
    STATE(1211), 1,
      sym_value_arguments,
    STATE(1425), 1,
      sym__fn_call_lambda_arguments,
    STATE(1430), 1,
      sym_call_suffix,
    STATE(6455), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2921), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [254683] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5873), 10,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [254700] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(10599), 1,
      anon_sym_LPAREN,
    STATE(6263), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5666), 9,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [254721] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5889), 10,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [254738] = 4,
    ACTIONS(10602), 1,
      anon_sym_AMP,
    STATE(6265), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3079), 8,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_in,
  [254759] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3192), 10,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [254776] = 5,
    ACTIONS(3083), 1,
      sym__dot_custom,
    ACTIONS(5427), 1,
      anon_sym_LT,
    STATE(2086), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5425), 7,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
  [254799] = 4,
    ACTIONS(10605), 1,
      anon_sym_AMP,
    STATE(6268), 1,
      aux_sym_protocol_composition_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3079), 8,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
  [254820] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3143), 10,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [254837] = 10,
    ACTIONS(2705), 1,
      anon_sym_LPAREN,
    ACTIONS(2707), 1,
      anon_sym_LBRACK,
    ACTIONS(10591), 1,
      anon_sym_LT,
    STATE(893), 1,
      sym__fn_call_lambda_arguments,
    STATE(924), 1,
      sym_call_suffix,
    STATE(1721), 1,
      sym_lambda_literal,
    STATE(2629), 1,
      sym_value_arguments,
    STATE(6392), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4589), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [254870] = 5,
    ACTIONS(10595), 1,
      anon_sym_LBRACE,
    ACTIONS(10608), 1,
      anon_sym_LPAREN,
    STATE(6606), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10610), 7,
      anon_sym_RBRACE,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
  [254893] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5885), 10,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [254910] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(5673), 11,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [254927] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3123), 10,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_QMARK2,
      anon_sym_AMP,
  [254944] = 10,
    ACTIONS(4642), 1,
      anon_sym_LPAREN,
    ACTIONS(4644), 1,
      anon_sym_LBRACK,
    ACTIONS(10591), 1,
      anon_sym_LT,
    STATE(1729), 1,
      sym_lambda_literal,
    STATE(2698), 1,
      sym_value_arguments,
    STATE(3059), 1,
      sym_call_suffix,
    STATE(3156), 1,
      sym__fn_call_lambda_arguments,
    STATE(6386), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4746), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [254977] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5869), 10,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [254994] = 10,
    ACTIONS(4379), 1,
      anon_sym_LPAREN,
    ACTIONS(4381), 1,
      anon_sym_LBRACK,
    ACTIONS(10591), 1,
      anon_sym_LT,
    STATE(1702), 1,
      sym_lambda_literal,
    STATE(2306), 1,
      sym_value_arguments,
    STATE(2551), 1,
      sym__fn_call_lambda_arguments,
    STATE(2634), 1,
      sym_call_suffix,
    STATE(6481), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4442), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [255027] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5863), 10,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      ts_builtin_sym_end,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [255044] = 10,
    ACTIONS(2855), 1,
      anon_sym_LPAREN,
    ACTIONS(2857), 1,
      anon_sym_LBRACK,
    ACTIONS(10591), 1,
      anon_sym_LT,
    STATE(996), 1,
      sym_lambda_literal,
    STATE(1176), 1,
      sym_value_arguments,
    STATE(1253), 1,
      sym__fn_call_lambda_arguments,
    STATE(1267), 1,
      sym_call_suffix,
    STATE(6451), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2899), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [255077] = 8,
    ACTIONS(9772), 1,
      anon_sym_LPAREN,
    ACTIONS(10591), 1,
      anon_sym_LT,
    ACTIONS(10612), 1,
      anon_sym_QMARK,
    STATE(5341), 1,
      aux_sym__function_value_parameters,
    STATE(8449), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5692), 2,
      sym__bang_custom,
      anon_sym_BANG,
    STATE(7297), 2,
      sym__quest,
      sym_bang,
  [255105] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 9,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_BANG2,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
  [255121] = 8,
    ACTIONS(9950), 1,
      anon_sym_LPAREN,
    ACTIONS(10591), 1,
      anon_sym_LT,
    ACTIONS(10614), 1,
      anon_sym_QMARK,
    STATE(5520), 1,
      aux_sym__function_value_parameters,
    STATE(8641), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5692), 2,
      sym__bang_custom,
      anon_sym_BANG,
    STATE(7074), 2,
      sym__quest,
      sym_bang,
  [255149] = 7,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6514), 1,
      sym_type_constraints,
    STATE(7286), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5524), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [255175] = 7,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6592), 1,
      sym_type_constraints,
    STATE(7294), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5524), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [255201] = 7,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6587), 1,
      sym_type_constraints,
    STATE(7307), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5982), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [255227] = 7,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6519), 1,
      sym_type_constraints,
    STATE(7130), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5562), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [255253] = 7,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6545), 1,
      sym_type_constraints,
    STATE(7331), 1,
      sym__block,
    STATE(7334), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5649), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [255279] = 7,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6518), 1,
      sym_type_constraints,
    STATE(7138), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5939), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [255305] = 7,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6547), 1,
      sym_type_constraints,
    STATE(7331), 1,
      sym__block,
    STATE(7339), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5558), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [255331] = 7,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6612), 1,
      sym_type_constraints,
    STATE(7205), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5528), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [255357] = 7,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6578), 1,
      sym_type_constraints,
    STATE(7331), 1,
      sym__block,
    STATE(7406), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5899), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [255383] = 9,
    ACTIONS(9245), 1,
      anon_sym_LPAREN,
    ACTIONS(9249), 1,
      sym__dot_custom,
    ACTIONS(10616), 1,
      anon_sym_RPAREN,
    STATE(882), 1,
      sym__fn_call_lambda_arguments,
    STATE(899), 1,
      sym_constructor_suffix,
    STATE(1721), 1,
      sym_lambda_literal,
    STATE(2631), 1,
      sym__constructor_value_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4589), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [255413] = 7,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6549), 1,
      sym_type_constraints,
    STATE(7323), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5992), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [255439] = 7,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6523), 1,
      sym_type_constraints,
    STATE(7146), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5939), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [255465] = 7,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6552), 1,
      sym_type_constraints,
    STATE(7315), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5992), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [255491] = 5,
    ACTIONS(3083), 1,
      sym__dot_custom,
    ACTIONS(5427), 1,
      anon_sym_LT,
    STATE(2086), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5425), 6,
      sym__as_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_in,
  [255513] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3119), 9,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
  [255529] = 7,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6571), 1,
      sym_type_constraints,
    STATE(7244), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5603), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [255555] = 4,
    ACTIONS(10595), 1,
      anon_sym_LBRACE,
    STATE(6529), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10618), 7,
      anon_sym_RBRACE,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
  [255575] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3097), 9,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
  [255591] = 4,
    ACTIONS(10595), 1,
      anon_sym_LBRACE,
    STATE(6558), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10620), 7,
      anon_sym_RBRACE,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
  [255611] = 7,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6611), 1,
      sym_type_constraints,
    STATE(7331), 1,
      sym__block,
    STATE(7393), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6018), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [255637] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3151), 9,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
  [255653] = 4,
    ACTIONS(9796), 1,
      anon_sym_COLON,
    STATE(6622), 1,
      sym_type_annotation,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7892), 7,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [255673] = 6,
    ACTIONS(4444), 1,
      sym_where_keyword,
    ACTIONS(10622), 1,
      sym__eq_custom,
    STATE(726), 1,
      sym__equal_sign,
    STATE(6964), 1,
      sym_where_clause,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7896), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [255697] = 8,
    ACTIONS(5307), 1,
      anon_sym_LPAREN,
    ACTIONS(10591), 1,
      anon_sym_LT,
    ACTIONS(10624), 1,
      anon_sym_QMARK,
    STATE(1906), 1,
      aux_sym__function_value_parameters,
    STATE(8604), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5692), 2,
      sym__bang_custom,
      anon_sym_BANG,
    STATE(7255), 2,
      sym__quest,
      sym_bang,
  [255725] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10626), 9,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
  [255741] = 7,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6625), 1,
      sym_type_constraints,
    STATE(7155), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5548), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [255767] = 9,
    ACTIONS(9245), 1,
      anon_sym_LPAREN,
    ACTIONS(10628), 1,
      sym__dot_custom,
    STATE(882), 1,
      sym__fn_call_lambda_arguments,
    STATE(899), 1,
      sym_constructor_suffix,
    STATE(1721), 1,
      sym_lambda_literal,
    STATE(2631), 1,
      sym__constructor_value_arguments,
    STATE(5559), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4589), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [255797] = 4,
    ACTIONS(8718), 1,
      anon_sym_LPAREN,
    STATE(6562), 1,
      sym__tuple_pattern,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5481), 7,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
  [255817] = 7,
    ACTIONS(9576), 1,
      anon_sym_get,
    ACTIONS(9578), 1,
      anon_sym_set,
    ACTIONS(10631), 1,
      anon_sym_RBRACE,
    STATE(8434), 1,
      sym_mutation_modifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4019), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    STATE(6349), 3,
      sym_getter_specifier,
      sym_setter_specifier,
      aux_sym_protocol_property_requirements_repeat1,
  [255843] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(5885), 10,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [255859] = 3,
    ACTIONS(10633), 1,
      anon_sym_BANG2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5837), 8,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [255877] = 7,
    ACTIONS(10635), 1,
      anon_sym_RBRACE,
    ACTIONS(10637), 1,
      anon_sym_get,
    ACTIONS(10640), 1,
      anon_sym_set,
    STATE(8434), 1,
      sym_mutation_modifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10643), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    STATE(6314), 3,
      sym_getter_specifier,
      sym_setter_specifier,
      aux_sym_protocol_property_requirements_repeat1,
  [255903] = 8,
    ACTIONS(9772), 1,
      anon_sym_LPAREN,
    ACTIONS(10591), 1,
      anon_sym_LT,
    ACTIONS(10646), 1,
      anon_sym_QMARK,
    STATE(5340), 1,
      aux_sym__function_value_parameters,
    STATE(8374), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5692), 2,
      sym__bang_custom,
      anon_sym_BANG,
    STATE(7117), 2,
      sym__quest,
      sym_bang,
  [255931] = 4,
    ACTIONS(8718), 1,
      anon_sym_LPAREN,
    STATE(6603), 1,
      sym__tuple_pattern,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5471), 7,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
  [255951] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(5889), 10,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [255967] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 9,
      sym__dot_custom,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LT,
  [255983] = 6,
    ACTIONS(10650), 1,
      anon_sym_LPAREN,
    ACTIONS(10652), 1,
      sym__arrow_operator_custom,
    STATE(4680), 1,
      sym__arrow_operator,
    STATE(6435), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10648), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
  [256007] = 8,
    ACTIONS(9950), 1,
      anon_sym_LPAREN,
    ACTIONS(10591), 1,
      anon_sym_LT,
    ACTIONS(10654), 1,
      anon_sym_QMARK,
    STATE(5663), 1,
      aux_sym__function_value_parameters,
    STATE(8481), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5692), 2,
      sym__bang_custom,
      anon_sym_BANG,
    STATE(7228), 2,
      sym__quest,
      sym_bang,
  [256035] = 7,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6528), 1,
      sym_type_constraints,
    STATE(7331), 1,
      sym__block,
    STATE(7347), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5986), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [256061] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3139), 9,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
  [256077] = 3,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(5831), 1,
      sym__as_custom,
    ACTIONS(5827), 9,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [256095] = 7,
    ACTIONS(9802), 1,
      sym_where_keyword,
    ACTIONS(10656), 1,
      anon_sym_COLON,
    ACTIONS(10658), 1,
      sym__eq_custom,
    STATE(4189), 1,
      sym__equal_sign,
    STATE(6774), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5909), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [256121] = 4,
    ACTIONS(8718), 1,
      anon_sym_LPAREN,
    STATE(6627), 1,
      sym__tuple_pattern,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5509), 7,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
  [256141] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(5869), 10,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [256157] = 4,
    ACTIONS(10595), 1,
      anon_sym_LBRACE,
    STATE(6635), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10660), 7,
      anon_sym_RBRACE,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
  [256177] = 7,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6607), 1,
      sym_type_constraints,
    STATE(7225), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5960), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [256203] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(5863), 10,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [256219] = 7,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6604), 1,
      sym_type_constraints,
    STATE(7222), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5998), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [256245] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3111), 9,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
  [256261] = 8,
    ACTIONS(9772), 1,
      anon_sym_LPAREN,
    ACTIONS(10591), 1,
      anon_sym_LT,
    ACTIONS(10662), 1,
      anon_sym_QMARK,
    STATE(5334), 1,
      aux_sym__function_value_parameters,
    STATE(8439), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5692), 2,
      sym__bang_custom,
      anon_sym_BANG,
    STATE(7087), 2,
      sym__quest,
      sym_bang,
  [256289] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10664), 9,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
  [256305] = 9,
    ACTIONS(10666), 1,
      anon_sym_LPAREN,
    ACTIONS(10668), 1,
      sym__dot_custom,
    STATE(1729), 1,
      sym_lambda_literal,
    STATE(2688), 1,
      sym__constructor_value_arguments,
    STATE(3145), 1,
      sym_constructor_suffix,
    STATE(3147), 1,
      sym__fn_call_lambda_arguments,
    STATE(5658), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4746), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [256335] = 8,
    ACTIONS(5307), 1,
      anon_sym_LPAREN,
    ACTIONS(10591), 1,
      anon_sym_LT,
    ACTIONS(10671), 1,
      anon_sym_QMARK,
    STATE(1890), 1,
      aux_sym__function_value_parameters,
    STATE(8566), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5692), 2,
      sym__bang_custom,
      anon_sym_BANG,
    STATE(7069), 2,
      sym__quest,
      sym_bang,
  [256363] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(5873), 10,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [256379] = 7,
    ACTIONS(9802), 1,
      sym_where_keyword,
    ACTIONS(10673), 1,
      anon_sym_COLON,
    ACTIONS(10675), 1,
      sym__eq_custom,
    STATE(4310), 1,
      sym__equal_sign,
    STATE(6762), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5972), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [256405] = 5,
    ACTIONS(3083), 1,
      sym__dot_custom,
    ACTIONS(5427), 1,
      anon_sym_LT,
    STATE(2086), 1,
      sym_type_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5425), 6,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [256427] = 7,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6560), 1,
      sym_type_constraints,
    STATE(7073), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5905), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [256453] = 7,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6567), 1,
      sym_type_constraints,
    STATE(7071), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5554), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [256479] = 8,
    ACTIONS(5307), 1,
      anon_sym_LPAREN,
    ACTIONS(10591), 1,
      anon_sym_LT,
    ACTIONS(10677), 1,
      anon_sym_QMARK,
    STATE(1886), 1,
      aux_sym__function_value_parameters,
    STATE(8505), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5692), 2,
      sym__bang_custom,
      anon_sym_BANG,
    STATE(7209), 2,
      sym__quest,
      sym_bang,
  [256507] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5831), 9,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_RBRACE,
  [256523] = 4,
    ACTIONS(10595), 1,
      anon_sym_LBRACE,
    STATE(6532), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10679), 7,
      anon_sym_RBRACE,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
  [256543] = 8,
    ACTIONS(9950), 1,
      anon_sym_LPAREN,
    ACTIONS(10591), 1,
      anon_sym_LT,
    ACTIONS(10681), 1,
      anon_sym_QMARK,
    STATE(5757), 1,
      aux_sym__function_value_parameters,
    STATE(8272), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5692), 2,
      sym__bang_custom,
      anon_sym_BANG,
    STATE(7410), 2,
      sym__quest,
      sym_bang,
  [256571] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5881), 9,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_RBRACE,
  [256587] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7882), 9,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_RBRACE,
  [256603] = 4,
    ACTIONS(10595), 1,
      anon_sym_LBRACE,
    STATE(6645), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10683), 7,
      anon_sym_RBRACE,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
  [256623] = 7,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6601), 1,
      sym_type_constraints,
    STATE(7210), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5528), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [256649] = 7,
    ACTIONS(9576), 1,
      anon_sym_get,
    ACTIONS(9578), 1,
      anon_sym_set,
    ACTIONS(10685), 1,
      anon_sym_RBRACE,
    STATE(8434), 1,
      sym_mutation_modifier,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4019), 2,
      anon_sym_mutating,
      anon_sym_nonmutating,
    STATE(6314), 3,
      sym_getter_specifier,
      sym_setter_specifier,
      aux_sym_protocol_property_requirements_repeat1,
  [256675] = 4,
    ACTIONS(10595), 1,
      anon_sym_LBRACE,
    STATE(6533), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10687), 7,
      anon_sym_RBRACE,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
  [256695] = 7,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6565), 1,
      sym_type_constraints,
    STATE(7331), 1,
      sym__block,
    STATE(7420), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5899), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [256721] = 7,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6564), 1,
      sym_type_constraints,
    STATE(7331), 1,
      sym__block,
    STATE(7415), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5653), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [256747] = 7,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(6590), 1,
      sym_type_constraints,
    STATE(7093), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5554), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [256773] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 9,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COLON,
      anon_sym_DOT,
      anon_sym_AMP,
  [256789] = 3,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(5881), 1,
      sym__as_custom,
    ACTIONS(5877), 9,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [256807] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10338), 4,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_AMP,
      anon_sym_LBRACE,
    ACTIONS(3000), 5,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_DOT,
  [256825] = 8,
    ACTIONS(9249), 1,
      sym__dot_custom,
    ACTIONS(10689), 1,
      anon_sym_LPAREN,
    STATE(1001), 1,
      sym_lambda_literal,
    STATE(1188), 1,
      sym__constructor_value_arguments,
    STATE(1385), 1,
      sym_constructor_suffix,
    STATE(1395), 1,
      sym__fn_call_lambda_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2921), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [256852] = 7,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6700), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(8052), 1,
      sym_function_body,
    ACTIONS(5528), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [256877] = 4,
    ACTIONS(8544), 1,
      anon_sym_LPAREN,
    STATE(6752), 1,
      sym__tuple_pattern,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5471), 6,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [256896] = 8,
    ACTIONS(2705), 1,
      anon_sym_LPAREN,
    ACTIONS(2707), 1,
      anon_sym_LBRACK,
    STATE(805), 1,
      sym_lambda_literal,
    STATE(893), 1,
      sym__fn_call_lambda_arguments,
    STATE(953), 1,
      sym_call_suffix,
    STATE(983), 1,
      sym_value_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2757), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [256923] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 8,
      sym__dot_custom,
      sym__as_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_in,
  [256938] = 3,
    ACTIONS(9467), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [256955] = 7,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6755), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(7895), 1,
      sym_function_body,
    ACTIONS(5653), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [256980] = 3,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(10691), 1,
      anon_sym_BANG2,
    ACTIONS(5837), 8,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [256997] = 4,
    ACTIONS(8558), 1,
      anon_sym_LPAREN,
    STATE(6805), 1,
      sym__tuple_pattern,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5471), 6,
      sym__as_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_in,
  [257016] = 7,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6754), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(7882), 1,
      sym_function_body,
    ACTIONS(5899), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [257041] = 4,
    ACTIONS(8558), 1,
      anon_sym_LPAREN,
    STATE(6688), 1,
      sym__tuple_pattern,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5509), 6,
      sym__as_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_in,
  [257060] = 8,
    ACTIONS(9249), 1,
      sym__dot_custom,
    ACTIONS(10693), 1,
      anon_sym_LPAREN,
    STATE(1735), 1,
      sym_lambda_literal,
    STATE(2820), 1,
      sym__constructor_value_arguments,
    STATE(3467), 1,
      sym_constructor_suffix,
    STATE(3469), 1,
      sym__fn_call_lambda_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4705), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [257087] = 7,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6779), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(7945), 1,
      sym_function_body,
    ACTIONS(6018), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [257112] = 7,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6753), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(7872), 1,
      sym_function_body,
    ACTIONS(5899), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [257137] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(715), 2,
      sym__assignment_and_operator,
      sym__equal_sign,
    ACTIONS(10695), 6,
      sym__eq_custom,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
  [257154] = 6,
    ACTIONS(10697), 1,
      anon_sym_COLON,
    ACTIONS(10699), 1,
      sym__as_custom,
    STATE(4203), 1,
      sym__as,
    STATE(7362), 1,
      sym_type_annotation,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7840), 4,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_LBRACE,
  [257177] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6008), 8,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [257192] = 8,
    ACTIONS(10701), 1,
      anon_sym_in,
    ACTIONS(10703), 1,
      sym__arrow_operator_custom,
    ACTIONS(10705), 1,
      sym__async_keyword_custom,
    STATE(4091), 1,
      sym__arrow_operator,
    STATE(6703), 1,
      sym__async_keyword,
    STATE(7540), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [257219] = 9,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10707), 1,
      anon_sym_LPAREN,
    ACTIONS(10709), 1,
      anon_sym_LBRACE,
    ACTIONS(10711), 1,
      sym__arrow_operator_custom,
    STATE(4077), 1,
      sym__arrow_operator,
    STATE(6904), 1,
      aux_sym__function_value_parameters,
    STATE(7675), 1,
      sym_computed_property,
    STATE(8417), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [257248] = 3,
    ACTIONS(10500), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [257265] = 4,
    ACTIONS(8544), 1,
      anon_sym_LPAREN,
    STATE(6811), 1,
      sym__tuple_pattern,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5509), 6,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [257284] = 6,
    ACTIONS(9802), 1,
      sym_where_keyword,
    ACTIONS(10713), 1,
      sym__eq_custom,
    STATE(4326), 1,
      sym__equal_sign,
    STATE(6673), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6144), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [257307] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(625), 2,
      sym__assignment_and_operator,
      sym__equal_sign,
    ACTIONS(10715), 6,
      sym__eq_custom,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
  [257324] = 3,
    ACTIONS(10579), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [257341] = 6,
    ACTIONS(10717), 1,
      anon_sym_COLON,
    ACTIONS(10719), 1,
      sym__as_custom,
    STATE(4466), 1,
      sym__as,
    STATE(7199), 1,
      sym_type_annotation,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7840), 4,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      anon_sym_COMMA,
  [257364] = 8,
    ACTIONS(9249), 1,
      sym__dot_custom,
    ACTIONS(10721), 1,
      anon_sym_LPAREN,
    STATE(1720), 1,
      sym_lambda_literal,
    STATE(2535), 1,
      sym__constructor_value_arguments,
    STATE(2962), 1,
      sym__fn_call_lambda_arguments,
    STATE(2991), 1,
      sym_constructor_suffix,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4546), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [257391] = 7,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6736), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(7836), 1,
      sym_function_body,
    ACTIONS(5986), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [257416] = 7,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6787), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(7982), 1,
      sym_function_body,
    ACTIONS(5982), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [257441] = 7,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6792), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(7996), 1,
      sym_function_body,
    ACTIONS(5524), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [257466] = 8,
    ACTIONS(4642), 1,
      anon_sym_LPAREN,
    ACTIONS(4644), 1,
      anon_sym_LBRACK,
    STATE(1729), 1,
      sym_lambda_literal,
    STATE(2698), 1,
      sym_value_arguments,
    STATE(3156), 1,
      sym__fn_call_lambda_arguments,
    STATE(3320), 1,
      sym_call_suffix,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4746), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [257493] = 3,
    ACTIONS(10583), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [257510] = 3,
    ACTIONS(10587), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [257527] = 7,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6797), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(8016), 1,
      sym_function_body,
    ACTIONS(5524), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [257552] = 3,
    ACTIONS(10466), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [257569] = 8,
    ACTIONS(4600), 1,
      anon_sym_LPAREN,
    ACTIONS(4602), 1,
      anon_sym_LBRACK,
    STATE(1735), 1,
      sym_lambda_literal,
    STATE(2819), 1,
      sym_value_arguments,
    STATE(3478), 1,
      sym__fn_call_lambda_arguments,
    STATE(3522), 1,
      sym_call_suffix,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4705), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [257596] = 8,
    ACTIONS(2705), 1,
      anon_sym_LPAREN,
    ACTIONS(2707), 1,
      anon_sym_LBRACK,
    STATE(893), 1,
      sym__fn_call_lambda_arguments,
    STATE(953), 1,
      sym_call_suffix,
    STATE(1721), 1,
      sym_lambda_literal,
    STATE(2629), 1,
      sym_value_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4589), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [257623] = 4,
    ACTIONS(10723), 1,
      anon_sym_QMARK,
    STATE(6721), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5613), 6,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LBRACE,
  [257642] = 7,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6815), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(8074), 1,
      sym_function_body,
    ACTIONS(5960), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [257667] = 4,
    ACTIONS(8544), 1,
      anon_sym_LPAREN,
    STATE(6795), 1,
      sym__tuple_pattern,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5481), 6,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [257686] = 3,
    ACTIONS(10573), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [257703] = 8,
    ACTIONS(9249), 1,
      sym__dot_custom,
    ACTIONS(10725), 1,
      anon_sym_LPAREN,
    STATE(996), 1,
      sym_lambda_literal,
    STATE(1157), 1,
      sym__constructor_value_arguments,
    STATE(1322), 1,
      sym__fn_call_lambda_arguments,
    STATE(1330), 1,
      sym_constructor_suffix,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2899), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [257730] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(587), 2,
      sym__assignment_and_operator,
      sym__equal_sign,
    ACTIONS(10727), 6,
      sym__eq_custom,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
  [257747] = 4,
    ACTIONS(10729), 1,
      anon_sym_AT,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6399), 2,
      sym_attribute,
      aux_sym__lambda_type_declaration_repeat1,
    ACTIONS(4698), 5,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_mutating,
      anon_sym_nonmutating,
  [257766] = 4,
    ACTIONS(10732), 1,
      anon_sym_QMARK,
    STATE(6665), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5613), 6,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
  [257785] = 3,
    ACTIONS(10428), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [257802] = 4,
    ACTIONS(10734), 1,
      anon_sym_QMARK,
    STATE(6659), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5639), 6,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
  [257821] = 3,
    ACTIONS(10581), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [257838] = 4,
    ACTIONS(10736), 1,
      anon_sym_QMARK,
    STATE(6653), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7846), 6,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
  [257857] = 7,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6816), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(8100), 1,
      sym_function_body,
    ACTIONS(5939), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [257882] = 8,
    ACTIONS(9249), 1,
      sym__dot_custom,
    ACTIONS(10738), 1,
      anon_sym_LPAREN,
    STATE(1754), 1,
      sym_lambda_literal,
    STATE(3035), 1,
      sym__constructor_value_arguments,
    STATE(3645), 1,
      sym__fn_call_lambda_arguments,
    STATE(3649), 1,
      sym_constructor_suffix,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4963), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [257909] = 5,
    ACTIONS(5613), 1,
      sym__as_custom,
    ACTIONS(10740), 1,
      anon_sym_QMARK,
    STATE(6699), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5607), 5,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      anon_sym_COMMA,
      anon_sym_COLON,
  [257930] = 5,
    ACTIONS(7835), 1,
      sym__as_custom,
    ACTIONS(10742), 1,
      anon_sym_QMARK,
    STATE(6551), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5633), 5,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LBRACE,
  [257951] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(724), 2,
      sym__assignment_and_operator,
      sym__equal_sign,
    ACTIONS(10745), 6,
      sym__eq_custom,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
  [257968] = 9,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10707), 1,
      anon_sym_LPAREN,
    ACTIONS(10747), 1,
      anon_sym_LBRACE,
    ACTIONS(10749), 1,
      sym__arrow_operator_custom,
    STATE(3099), 1,
      sym_computed_property,
    STATE(3992), 1,
      sym__arrow_operator,
    STATE(6904), 1,
      aux_sym__function_value_parameters,
    STATE(8349), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [257997] = 5,
    ACTIONS(5639), 1,
      sym__as_custom,
    ACTIONS(10751), 1,
      anon_sym_QMARK,
    STATE(6694), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5633), 5,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      anon_sym_COMMA,
      anon_sym_COLON,
  [258018] = 5,
    ACTIONS(7863), 1,
      sym__as_custom,
    ACTIONS(10753), 1,
      anon_sym_QMARK,
    STATE(6553), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5607), 5,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LBRACE,
  [258039] = 7,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6817), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(8111), 1,
      sym_function_body,
    ACTIONS(5939), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [258064] = 3,
    ACTIONS(10585), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [258081] = 7,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6800), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(8120), 1,
      sym_function_body,
    ACTIONS(5562), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [258106] = 9,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10707), 1,
      anon_sym_LPAREN,
    ACTIONS(10709), 1,
      anon_sym_LBRACE,
    ACTIONS(10756), 1,
      sym__arrow_operator_custom,
    STATE(4071), 1,
      sym__arrow_operator,
    STATE(6904), 1,
      aux_sym__function_value_parameters,
    STATE(7685), 1,
      sym_computed_property,
    STATE(8274), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [258135] = 3,
    ACTIONS(10548), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [258152] = 3,
    ACTIONS(10569), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [258169] = 4,
    ACTIONS(8558), 1,
      anon_sym_LPAREN,
    STATE(6791), 1,
      sym__tuple_pattern,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5481), 6,
      sym__as_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_in,
  [258188] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(719), 2,
      sym__assignment_and_operator,
      sym__equal_sign,
    ACTIONS(10758), 6,
      sym__eq_custom,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
  [258205] = 3,
    ACTIONS(10470), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [258222] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(617), 2,
      sym__assignment_and_operator,
      sym__equal_sign,
    ACTIONS(10760), 6,
      sym__eq_custom,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
  [258239] = 4,
    ACTIONS(10762), 1,
      anon_sym_LPAREN,
    STATE(6423), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5666), 6,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_LBRACE,
  [258258] = 9,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10707), 1,
      anon_sym_LPAREN,
    ACTIONS(10765), 1,
      anon_sym_LBRACE,
    ACTIONS(10767), 1,
      sym__arrow_operator_custom,
    STATE(4031), 1,
      sym__arrow_operator,
    STATE(6904), 1,
      aux_sym__function_value_parameters,
    STATE(8004), 1,
      sym_computed_property,
    STATE(8390), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [258287] = 7,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6819), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(7875), 1,
      sym_function_body,
    ACTIONS(5603), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [258312] = 6,
    ACTIONS(9802), 1,
      sym_where_keyword,
    ACTIONS(10769), 1,
      sym__eq_custom,
    STATE(4234), 1,
      sym__equal_sign,
    STATE(6804), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6070), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [258335] = 7,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6758), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(8230), 1,
      sym_function_body,
    ACTIONS(5548), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [258360] = 8,
    ACTIONS(9249), 1,
      sym__dot_custom,
    ACTIONS(10666), 1,
      anon_sym_LPAREN,
    STATE(1729), 1,
      sym_lambda_literal,
    STATE(2688), 1,
      sym__constructor_value_arguments,
    STATE(3145), 1,
      sym_constructor_suffix,
    STATE(3147), 1,
      sym__fn_call_lambda_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4746), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [258387] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 8,
      sym__dot_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LT,
      anon_sym_LBRACE,
  [258402] = 4,
    ACTIONS(10771), 1,
      anon_sym_QMARK,
    STATE(6702), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7846), 6,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LBRACE,
  [258421] = 8,
    ACTIONS(9245), 1,
      anon_sym_LPAREN,
    ACTIONS(9249), 1,
      sym__dot_custom,
    STATE(882), 1,
      sym__fn_call_lambda_arguments,
    STATE(899), 1,
      sym_constructor_suffix,
    STATE(1721), 1,
      sym_lambda_literal,
    STATE(2631), 1,
      sym__constructor_value_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4589), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [258448] = 3,
    ACTIONS(10773), 1,
      anon_sym_BANG2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5837), 7,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [258465] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(579), 2,
      sym__assignment_and_operator,
      sym__equal_sign,
    ACTIONS(10775), 6,
      sym__eq_custom,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
  [258482] = 6,
    ACTIONS(9778), 1,
      sym_where_keyword,
    ACTIONS(10777), 1,
      sym__arrow_operator_custom,
    STATE(4004), 1,
      sym__arrow_operator,
    STATE(7109), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10502), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [258505] = 4,
    ACTIONS(10779), 1,
      anon_sym_LPAREN,
    STATE(6435), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5666), 6,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
  [258524] = 8,
    ACTIONS(9245), 1,
      anon_sym_LPAREN,
    ACTIONS(9249), 1,
      sym__dot_custom,
    STATE(805), 1,
      sym_lambda_literal,
    STATE(882), 1,
      sym__fn_call_lambda_arguments,
    STATE(899), 1,
      sym_constructor_suffix,
    STATE(982), 1,
      sym__constructor_value_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2757), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [258551] = 8,
    ACTIONS(10782), 1,
      anon_sym_in,
    ACTIONS(10784), 1,
      sym__arrow_operator_custom,
    ACTIONS(10786), 1,
      sym__async_keyword_custom,
    STATE(3917), 1,
      sym__arrow_operator,
    STATE(6763), 1,
      sym__async_keyword,
    STATE(8235), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [258578] = 4,
    ACTIONS(10788), 1,
      anon_sym_COMMA,
    STATE(6458), 1,
      aux_sym_type_constraints_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6084), 6,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      ts_builtin_sym_end,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [258597] = 3,
    ACTIONS(10516), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [258614] = 8,
    ACTIONS(9249), 1,
      sym__dot_custom,
    ACTIONS(10790), 1,
      anon_sym_LPAREN,
    STATE(1702), 1,
      sym_lambda_literal,
    STATE(2308), 1,
      sym__constructor_value_arguments,
    STATE(2541), 1,
      sym_constructor_suffix,
    STATE(2543), 1,
      sym__fn_call_lambda_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4442), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [258641] = 7,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9977), 1,
      sym_where_keyword,
    ACTIONS(10792), 1,
      anon_sym_COLON,
    ACTIONS(10794), 1,
      sym__eq_custom,
    STATE(4108), 1,
      sym__equal_sign,
    STATE(7050), 1,
      sym_type_constraints,
    ACTIONS(5972), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [258666] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(637), 2,
      sym__assignment_and_operator,
      sym__equal_sign,
    ACTIONS(10796), 6,
      sym__eq_custom,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
  [258683] = 9,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10707), 1,
      anon_sym_LPAREN,
    ACTIONS(10709), 1,
      anon_sym_LBRACE,
    ACTIONS(10798), 1,
      sym__arrow_operator_custom,
    STATE(4032), 1,
      sym__arrow_operator,
    STATE(6904), 1,
      aux_sym__function_value_parameters,
    STATE(7688), 1,
      sym_computed_property,
    STATE(8254), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [258712] = 3,
    ACTIONS(10498), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [258729] = 9,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10707), 1,
      anon_sym_LPAREN,
    ACTIONS(10765), 1,
      anon_sym_LBRACE,
    ACTIONS(10800), 1,
      sym__arrow_operator_custom,
    STATE(3899), 1,
      sym__arrow_operator,
    STATE(6904), 1,
      aux_sym__function_value_parameters,
    STATE(7515), 1,
      sym_computed_property,
    STATE(8279), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [258758] = 3,
    ACTIONS(10478), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [258775] = 6,
    ACTIONS(9778), 1,
      sym_where_keyword,
    ACTIONS(10804), 1,
      sym__arrow_operator_custom,
    STATE(4082), 1,
      sym__arrow_operator,
    STATE(7253), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10802), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [258798] = 7,
    ACTIONS(9778), 1,
      sym_where_keyword,
    ACTIONS(10808), 1,
      sym__eq_custom,
    STATE(525), 1,
      sym__equal_sign,
    STATE(6972), 1,
      sym_macro_definition,
    STATE(7587), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10806), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [258823] = 3,
    ACTIONS(10536), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [258840] = 9,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10707), 1,
      anon_sym_LPAREN,
    ACTIONS(10747), 1,
      anon_sym_LBRACE,
    ACTIONS(10810), 1,
      sym__arrow_operator_custom,
    STATE(3258), 1,
      sym_computed_property,
    STATE(3995), 1,
      sym__arrow_operator,
    STATE(6904), 1,
      aux_sym__function_value_parameters,
    STATE(8545), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [258869] = 8,
    ACTIONS(2855), 1,
      anon_sym_LPAREN,
    ACTIONS(2857), 1,
      anon_sym_LBRACK,
    STATE(996), 1,
      sym_lambda_literal,
    STATE(1176), 1,
      sym_value_arguments,
    STATE(1246), 1,
      sym_call_suffix,
    STATE(1253), 1,
      sym__fn_call_lambda_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2899), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [258896] = 3,
    ACTIONS(10510), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [258913] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10812), 8,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
  [258928] = 3,
    ACTIONS(10514), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [258945] = 8,
    ACTIONS(2907), 1,
      anon_sym_LPAREN,
    ACTIONS(2909), 1,
      anon_sym_LBRACK,
    STATE(1001), 1,
      sym_lambda_literal,
    STATE(1211), 1,
      sym_value_arguments,
    STATE(1362), 1,
      sym_call_suffix,
    STATE(1425), 1,
      sym__fn_call_lambda_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2921), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [258972] = 9,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10707), 1,
      anon_sym_LPAREN,
    ACTIONS(10765), 1,
      anon_sym_LBRACE,
    ACTIONS(10814), 1,
      sym__arrow_operator_custom,
    STATE(3969), 1,
      sym__arrow_operator,
    STATE(6904), 1,
      aux_sym__function_value_parameters,
    STATE(7532), 1,
      sym_computed_property,
    STATE(8411), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [259001] = 7,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6646), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(8182), 1,
      sym_function_body,
    ACTIONS(5992), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [259026] = 4,
    ACTIONS(10816), 1,
      anon_sym_COMMA,
    STATE(6474), 1,
      aux_sym_type_constraints_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4079), 6,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      ts_builtin_sym_end,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [259045] = 3,
    ACTIONS(10550), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [259062] = 8,
    ACTIONS(4448), 1,
      anon_sym_LPAREN,
    ACTIONS(4450), 1,
      anon_sym_LBRACK,
    STATE(1706), 1,
      sym_lambda_literal,
    STATE(2399), 1,
      sym_value_arguments,
    STATE(2781), 1,
      sym__fn_call_lambda_arguments,
    STATE(2835), 1,
      sym_call_suffix,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4462), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [259089] = 9,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10707), 1,
      anon_sym_LPAREN,
    ACTIONS(10747), 1,
      anon_sym_LBRACE,
    ACTIONS(10818), 1,
      sym__arrow_operator_custom,
    STATE(3093), 1,
      sym_computed_property,
    STATE(3994), 1,
      sym__arrow_operator,
    STATE(6904), 1,
      aux_sym__function_value_parameters,
    STATE(8346), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [259118] = 9,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10707), 1,
      anon_sym_LPAREN,
    ACTIONS(10765), 1,
      anon_sym_LBRACE,
    ACTIONS(10820), 1,
      sym__arrow_operator_custom,
    STATE(4100), 1,
      sym__arrow_operator,
    STATE(6904), 1,
      aux_sym__function_value_parameters,
    STATE(8037), 1,
      sym_computed_property,
    STATE(8370), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [259147] = 8,
    ACTIONS(10822), 1,
      anon_sym_in,
    ACTIONS(10824), 1,
      sym__arrow_operator_custom,
    ACTIONS(10826), 1,
      sym__async_keyword_custom,
    STATE(3952), 1,
      sym__arrow_operator,
    STATE(6728), 1,
      sym__async_keyword,
    STATE(8178), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [259174] = 3,
    ACTIONS(10468), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [259191] = 8,
    ACTIONS(9249), 1,
      sym__dot_custom,
    ACTIONS(10828), 1,
      anon_sym_LPAREN,
    STATE(1706), 1,
      sym_lambda_literal,
    STATE(2336), 1,
      sym__constructor_value_arguments,
    STATE(2759), 1,
      sym_constructor_suffix,
    STATE(2765), 1,
      sym__fn_call_lambda_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4462), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [259218] = 7,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6727), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(8174), 1,
      sym_function_body,
    ACTIONS(5992), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [259243] = 3,
    ACTIONS(10528), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [259260] = 8,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10502), 1,
      anon_sym_LBRACE,
    ACTIONS(10830), 1,
      sym__arrow_operator_custom,
    STATE(4033), 1,
      sym__arrow_operator,
    STATE(6988), 1,
      sym_throws,
    STATE(8806), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10364), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [259287] = 8,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10472), 1,
      anon_sym_LBRACE,
    ACTIONS(10832), 1,
      sym__arrow_operator_custom,
    STATE(4038), 1,
      sym__arrow_operator,
    STATE(6917), 1,
      sym_throws,
    STATE(8788), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10364), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [259314] = 7,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6737), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(8168), 1,
      sym_function_body,
    ACTIONS(5649), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [259339] = 9,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10707), 1,
      anon_sym_LPAREN,
    ACTIONS(10747), 1,
      anon_sym_LBRACE,
    ACTIONS(10834), 1,
      sym__arrow_operator_custom,
    STATE(3079), 1,
      sym_computed_property,
    STATE(3996), 1,
      sym__arrow_operator,
    STATE(6904), 1,
      aux_sym__function_value_parameters,
    STATE(8395), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [259368] = 4,
    ACTIONS(10836), 1,
      anon_sym_QMARK,
    STATE(6720), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5639), 6,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LBRACE,
  [259387] = 9,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10707), 1,
      anon_sym_LPAREN,
    ACTIONS(10709), 1,
      anon_sym_LBRACE,
    ACTIONS(10838), 1,
      sym__arrow_operator_custom,
    STATE(4022), 1,
      sym__arrow_operator,
    STATE(6904), 1,
      aux_sym__function_value_parameters,
    STATE(7698), 1,
      sym_computed_property,
    STATE(8322), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [259416] = 4,
    ACTIONS(10840), 1,
      anon_sym_COMMA,
    STATE(6474), 1,
      aux_sym_type_constraints_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6133), 6,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      ts_builtin_sym_end,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [259435] = 3,
    ACTIONS(10490), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [259452] = 7,
    ACTIONS(9778), 1,
      sym_where_keyword,
    ACTIONS(10808), 1,
      sym__eq_custom,
    STATE(525), 1,
      sym__equal_sign,
    STATE(6963), 1,
      sym_macro_definition,
    STATE(7793), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10843), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [259477] = 3,
    ACTIONS(10480), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [259494] = 5,
    ACTIONS(7863), 1,
      sym__as_custom,
    ACTIONS(10845), 1,
      anon_sym_QMARK,
    STATE(6629), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5607), 5,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      anon_sym_COMMA,
      anon_sym_COLON,
  [259515] = 3,
    ACTIONS(10589), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [259532] = 7,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6749), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(7967), 1,
      sym_function_body,
    ACTIONS(5558), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [259557] = 8,
    ACTIONS(4379), 1,
      anon_sym_LPAREN,
    ACTIONS(4381), 1,
      anon_sym_LBRACK,
    STATE(1702), 1,
      sym_lambda_literal,
    STATE(2306), 1,
      sym_value_arguments,
    STATE(2551), 1,
      sym__fn_call_lambda_arguments,
    STATE(2609), 1,
      sym_call_suffix,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4442), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [259584] = 7,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6712), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(8145), 1,
      sym_function_body,
    ACTIONS(5998), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [259609] = 3,
    ACTIONS(10496), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [259626] = 7,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6710), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(8139), 1,
      sym_function_body,
    ACTIONS(5528), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [259651] = 5,
    ACTIONS(7835), 1,
      sym__as_custom,
    ACTIONS(10848), 1,
      anon_sym_QMARK,
    STATE(6620), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5633), 5,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      anon_sym_COMMA,
      anon_sym_COLON,
  [259672] = 3,
    ACTIONS(10512), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [259689] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 8,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_QMARK,
  [259704] = 7,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6686), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(7999), 1,
      sym_function_body,
    ACTIONS(5554), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [259729] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6112), 8,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [259744] = 3,
    ACTIONS(10559), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [259761] = 7,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6693), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(8013), 1,
      sym_function_body,
    ACTIONS(5554), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [259786] = 3,
    ACTIONS(10575), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [259803] = 7,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    ACTIONS(9956), 1,
      sym_where_keyword,
    STATE(6691), 1,
      sym_type_constraints,
    STATE(7667), 1,
      sym__block,
    STATE(8020), 1,
      sym_function_body,
    ACTIONS(5905), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [259828] = 8,
    ACTIONS(4532), 1,
      anon_sym_LPAREN,
    ACTIONS(4534), 1,
      anon_sym_LBRACK,
    STATE(1720), 1,
      sym_lambda_literal,
    STATE(2531), 1,
      sym_value_arguments,
    STATE(2897), 1,
      sym_call_suffix,
    STATE(2956), 1,
      sym__fn_call_lambda_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4546), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [259855] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8224), 8,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_RBRACE,
  [259870] = 8,
    ACTIONS(4887), 1,
      anon_sym_LPAREN,
    ACTIONS(4889), 1,
      anon_sym_LBRACK,
    STATE(1754), 1,
      sym_lambda_literal,
    STATE(3036), 1,
      sym_value_arguments,
    STATE(3636), 1,
      sym__fn_call_lambda_arguments,
    STATE(3703), 1,
      sym_call_suffix,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4963), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [259897] = 7,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9977), 1,
      sym_where_keyword,
    ACTIONS(10851), 1,
      anon_sym_COLON,
    ACTIONS(10853), 1,
      sym__eq_custom,
    STATE(4148), 1,
      sym__equal_sign,
    STATE(6940), 1,
      sym_type_constraints,
    ACTIONS(5909), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [259922] = 3,
    ACTIONS(10563), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [259939] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(686), 2,
      sym__assignment_and_operator,
      sym__equal_sign,
    ACTIONS(10855), 6,
      sym__eq_custom,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
  [259956] = 3,
    ACTIONS(10520), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [259973] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10857), 8,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
  [259988] = 6,
    ACTIONS(9778), 1,
      sym_where_keyword,
    ACTIONS(10859), 1,
      sym__arrow_operator_custom,
    STATE(4023), 1,
      sym__arrow_operator,
    STATE(7141), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10472), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [260011] = 3,
    ACTIONS(10552), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [260028] = 6,
    ACTIONS(9778), 1,
      sym_where_keyword,
    ACTIONS(10863), 1,
      sym__arrow_operator_custom,
    STATE(4027), 1,
      sym__arrow_operator,
    STATE(7148), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10861), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [260051] = 3,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(653), 2,
      sym__assignment_and_operator,
      sym__equal_sign,
    ACTIONS(10865), 6,
      sym__eq_custom,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
  [260068] = 3,
    ACTIONS(10464), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [260085] = 3,
    ACTIONS(10462), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3000), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_DOT,
      anon_sym_AMP,
  [260102] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3315), 7,
      anon_sym_RBRACE,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
  [260116] = 8,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9590), 1,
      anon_sym_LT,
    ACTIONS(10867), 1,
      anon_sym_COLON,
    ACTIONS(10869), 1,
      anon_sym_LBRACE,
    STATE(7040), 1,
      sym_type_parameters,
    STATE(8000), 1,
      sym_protocol_body,
    STATE(8396), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [260142] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7114), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5554), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [260162] = 4,
    ACTIONS(10871), 1,
      sym_catch_keyword,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6511), 2,
      sym_catch_block,
      aux_sym_do_statement_repeat1,
    ACTIONS(8276), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [260180] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6008), 8,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [260194] = 6,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9977), 1,
      sym_where_keyword,
    ACTIONS(10874), 1,
      sym__eq_custom,
    STATE(4116), 1,
      sym__equal_sign,
    STATE(7027), 1,
      sym_type_constraints,
    ACTIONS(6070), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [260216] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7331), 1,
      sym__block,
    STATE(7400), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5899), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [260236] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7331), 1,
      sym__block,
    STATE(7408), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5899), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [260256] = 8,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9590), 1,
      anon_sym_LT,
    ACTIONS(10876), 1,
      anon_sym_COLON,
    ACTIONS(10878), 1,
      anon_sym_LBRACE,
    STATE(3572), 1,
      sym_protocol_body,
    STATE(7056), 1,
      sym_type_parameters,
    STATE(8634), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [260282] = 5,
    ACTIONS(7835), 1,
      sym__as_custom,
    ACTIONS(10880), 1,
      anon_sym_QMARK,
    STATE(6814), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5633), 4,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_in,
  [260302] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7331), 1,
      sym__block,
    STATE(7399), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6223), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [260322] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7331), 1,
      sym__block,
    STATE(7395), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6018), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [260342] = 5,
    ACTIONS(7863), 1,
      sym__as_custom,
    ACTIONS(10883), 1,
      anon_sym_QMARK,
    STATE(6807), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5607), 4,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_in,
  [260362] = 8,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9590), 1,
      anon_sym_LT,
    ACTIONS(10886), 1,
      anon_sym_COLON,
    ACTIONS(10888), 1,
      anon_sym_LBRACE,
    STATE(3482), 1,
      sym_enum_class_body,
    STATE(7054), 1,
      sym_type_parameters,
    STATE(8644), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [260388] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5732), 7,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
  [260402] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7331), 1,
      sym__block,
    STATE(7341), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6223), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [260422] = 5,
    ACTIONS(7863), 1,
      sym__as_custom,
    ACTIONS(10890), 1,
      anon_sym_QMARK,
    STATE(6689), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5607), 4,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LBRACE,
  [260442] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7196), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5528), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [260462] = 5,
    ACTIONS(7835), 1,
      sym__as_custom,
    ACTIONS(10893), 1,
      anon_sym_QMARK,
    STATE(6683), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5633), 4,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LBRACE,
  [260482] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5736), 7,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
  [260496] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7331), 1,
      sym__block,
    STATE(7336), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6182), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [260516] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10683), 7,
      anon_sym_RBRACE,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
  [260530] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7207), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5528), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [260550] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7331), 1,
      sym__block,
    STATE(7392), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6018), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [260570] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10687), 7,
      anon_sym_RBRACE,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
  [260584] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10896), 7,
      anon_sym_RBRACE,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
  [260598] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(10898), 1,
      anon_sym_COMMA,
    STATE(6543), 1,
      aux_sym_type_constraints_repeat1,
    ACTIONS(6084), 6,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [260616] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7215), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5998), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [260636] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6112), 8,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [260650] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7331), 1,
      sym__block,
    STATE(7349), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5986), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [260670] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7137), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5939), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [260690] = 8,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9590), 1,
      anon_sym_LT,
    ACTIONS(9715), 1,
      anon_sym_LBRACE,
    ACTIONS(10900), 1,
      anon_sym_COLON,
    STATE(6830), 1,
      sym_type_parameters,
    STATE(7428), 1,
      sym_class_body,
    STATE(8384), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [260716] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7220), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5960), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [260736] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7331), 1,
      sym__block,
    STATE(7437), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5653), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [260756] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7331), 1,
      sym__block,
    STATE(7398), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5899), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [260776] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(10902), 1,
      anon_sym_COMMA,
    STATE(6585), 1,
      aux_sym_type_constraints_repeat1,
    ACTIONS(4079), 6,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [260794] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7250), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5603), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [260814] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7231), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5960), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [260834] = 4,
    ACTIONS(10904), 1,
      anon_sym_COMMA,
    STATE(6615), 1,
      aux_sym_type_constraints_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4079), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [260852] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7236), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5998), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [260872] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 7,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [260886] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7234), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6260), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [260906] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5673), 7,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
  [260920] = 3,
    ACTIONS(7870), 1,
      sym__as_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5877), 6,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [260936] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7238), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6260), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [260956] = 3,
    ACTIONS(7873), 1,
      sym__as_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5827), 6,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [260972] = 4,
    ACTIONS(10906), 1,
      anon_sym_COMMA,
    STATE(6574), 1,
      aux_sym_lambda_function_type_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(9225), 5,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_in,
  [260990] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6174), 7,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [261004] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5889), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
  [261018] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6178), 7,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [261032] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10660), 7,
      anon_sym_RBRACE,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
  [261046] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7080), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5554), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [261066] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7292), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6292), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [261086] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5873), 7,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
      anon_sym_LPAREN,
  [261100] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5471), 7,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
  [261114] = 8,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9590), 1,
      anon_sym_LT,
    ACTIONS(10908), 1,
      anon_sym_COLON,
    ACTIONS(10910), 1,
      anon_sym_LBRACE,
    STATE(6839), 1,
      sym_type_parameters,
    STATE(7922), 1,
      sym_protocol_body,
    STATE(8273), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [261140] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7331), 1,
      sym__block,
    STATE(7345), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5986), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [261160] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7331), 1,
      sym__block,
    STATE(7342), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6170), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [261180] = 8,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9590), 1,
      anon_sym_LT,
    ACTIONS(10912), 1,
      anon_sym_COLON,
    ACTIONS(10914), 1,
      anon_sym_LBRACE,
    STATE(7035), 1,
      sym_type_parameters,
    STATE(7428), 1,
      sym_enum_class_body,
    STATE(8391), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [261206] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7300), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5992), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [261226] = 8,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9590), 1,
      anon_sym_LT,
    ACTIONS(10916), 1,
      anon_sym_COLON,
    ACTIONS(10918), 1,
      anon_sym_LBRACE,
    STATE(4586), 1,
      sym_enum_class_body,
    STATE(6872), 1,
      sym_type_parameters,
    STATE(8436), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [261252] = 8,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9590), 1,
      anon_sym_LT,
    ACTIONS(10914), 1,
      anon_sym_LBRACE,
    ACTIONS(10920), 1,
      anon_sym_COLON,
    STATE(6870), 1,
      sym_type_parameters,
    STATE(7328), 1,
      sym_enum_class_body,
    STATE(8331), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [261278] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 7,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
      anon_sym_COLON,
      anon_sym_RBRACE,
  [261292] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7075), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5905), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [261312] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7211), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5992), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [261332] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5740), 7,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
  [261346] = 4,
    ACTIONS(10922), 1,
      anon_sym_COMMA,
    STATE(6574), 1,
      aux_sym_lambda_function_type_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10925), 5,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_in,
  [261364] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5863), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
  [261378] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5873), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
  [261392] = 4,
    ACTIONS(10927), 1,
      sym_catch_keyword,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6511), 2,
      sym_catch_block,
      aux_sym_do_statement_repeat1,
    ACTIONS(8297), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [261410] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7331), 1,
      sym__block,
    STATE(7344), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6170), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [261430] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6238), 7,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [261444] = 8,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9590), 1,
      anon_sym_LT,
    ACTIONS(10910), 1,
      anon_sym_LBRACE,
    ACTIONS(10929), 1,
      anon_sym_COLON,
    STATE(6925), 1,
      sym_type_parameters,
    STATE(7721), 1,
      sym_protocol_body,
    STATE(8464), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [261470] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7876), 7,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [261484] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6133), 7,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [261498] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7163), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5548), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [261518] = 8,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9590), 1,
      anon_sym_LT,
    ACTIONS(10931), 1,
      anon_sym_COLON,
    ACTIONS(10933), 1,
      anon_sym_LBRACE,
    STATE(6931), 1,
      sym_type_parameters,
    STATE(7684), 1,
      sym_enum_class_body,
    STATE(8469), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [261544] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(10935), 1,
      anon_sym_COMMA,
    STATE(6585), 1,
      aux_sym_type_constraints_repeat1,
    ACTIONS(6133), 6,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [261562] = 8,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9590), 1,
      anon_sym_LT,
    ACTIONS(10933), 1,
      anon_sym_LBRACE,
    ACTIONS(10938), 1,
      anon_sym_COLON,
    STATE(6827), 1,
      sym_type_parameters,
    STATE(7846), 1,
      sym_enum_class_body,
    STATE(8263), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [261588] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7331), 1,
      sym__block,
    STATE(7383), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6192), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [261608] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7072), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5905), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [261628] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6234), 7,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [261642] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7320), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5992), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [261662] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5863), 7,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
      anon_sym_LPAREN,
  [261676] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7331), 1,
      sym__block,
    STATE(7387), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5899), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [261696] = 8,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9590), 1,
      anon_sym_LT,
    ACTIONS(9705), 1,
      anon_sym_LBRACE,
    ACTIONS(10940), 1,
      anon_sym_COLON,
    STATE(3237), 1,
      sym_class_body,
    STATE(6973), 1,
      sym_type_parameters,
    STATE(8521), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [261722] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5869), 7,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
      anon_sym_LPAREN,
  [261736] = 3,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(10942), 1,
      anon_sym_BANG2,
    ACTIONS(5837), 7,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [261752] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5869), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
  [261766] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7866), 7,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [261780] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5779), 7,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
  [261794] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 7,
      sym__as_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LPAREN,
      anon_sym_QMARK,
      anon_sym_in,
  [261808] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6008), 7,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [261822] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7152), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5939), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [261842] = 3,
    ACTIONS(10944), 1,
      anon_sym_BANG2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5837), 6,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_in,
  [261858] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5509), 7,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
  [261872] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7154), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6278), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [261892] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5889), 7,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
      anon_sym_LPAREN,
  [261906] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10597), 7,
      anon_sym_RBRACE,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
  [261920] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7331), 1,
      sym__block,
    STATE(7413), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6213), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [261940] = 8,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9590), 1,
      anon_sym_LT,
    ACTIONS(10918), 1,
      anon_sym_LBRACE,
    ACTIONS(10946), 1,
      anon_sym_COLON,
    STATE(4539), 1,
      sym_enum_class_body,
    STATE(6923), 1,
      sym_type_parameters,
    STATE(8499), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [261966] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7324), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5992), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [261986] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7144), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5939), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [262006] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7331), 1,
      sym__block,
    STATE(7358), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6186), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [262026] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7140), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5939), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [262046] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5885), 7,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym_where_keyword,
      sym__async_keyword_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
  [262060] = 4,
    ACTIONS(10927), 1,
      sym_catch_keyword,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(6577), 2,
      sym_catch_block,
      aux_sym_do_statement_repeat1,
    ACTIONS(8287), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [262078] = 4,
    ACTIONS(10948), 1,
      anon_sym_COMMA,
    STATE(6615), 1,
      aux_sym_type_constraints_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6133), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [262096] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7331), 1,
      sym__block,
    STATE(7350), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5649), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [262116] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7124), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5562), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [262136] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7866), 7,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
  [262150] = 6,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9977), 1,
      sym_where_keyword,
    ACTIONS(10951), 1,
      sym__eq_custom,
    STATE(4127), 1,
      sym__equal_sign,
    STATE(6899), 1,
      sym_type_constraints,
    ACTIONS(6144), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [262172] = 3,
    ACTIONS(7870), 1,
      sym__as_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5877), 6,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
  [262188] = 8,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9590), 1,
      anon_sym_LT,
    ACTIONS(9636), 1,
      anon_sym_LBRACE,
    ACTIONS(10953), 1,
      anon_sym_COLON,
    STATE(4539), 1,
      sym_class_body,
    STATE(6944), 1,
      sym_type_parameters,
    STATE(8523), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [262214] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8293), 7,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [262228] = 3,
    ACTIONS(10955), 1,
      anon_sym_BANG2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5837), 6,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [262244] = 8,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9590), 1,
      anon_sym_LT,
    ACTIONS(10869), 1,
      anon_sym_LBRACE,
    ACTIONS(10957), 1,
      anon_sym_COLON,
    STATE(7053), 1,
      sym_type_parameters,
    STATE(7953), 1,
      sym_protocol_body,
    STATE(8422), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [262270] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7316), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5982), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [262290] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3295), 7,
      anon_sym_RBRACE,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
  [262304] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5694), 7,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
  [262318] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7306), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5982), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [262338] = 3,
    ACTIONS(7873), 1,
      sym__as_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5827), 6,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
  [262354] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5662), 7,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
  [262368] = 4,
    ACTIONS(10959), 1,
      anon_sym_COMMA,
    STATE(6546), 1,
      aux_sym_type_constraints_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6084), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [262386] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8283), 7,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [262400] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6349), 7,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [262414] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7876), 7,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
  [262428] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10961), 7,
      anon_sym_RBRACE,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
  [262442] = 8,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9590), 1,
      anon_sym_LT,
    ACTIONS(9592), 1,
      anon_sym_LBRACE,
    ACTIONS(10963), 1,
      anon_sym_COLON,
    STATE(7011), 1,
      sym_type_parameters,
    STATE(7684), 1,
      sym_class_body,
    STATE(8606), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [262468] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5885), 7,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym__eq_custom,
      sym_where_keyword,
      ts_builtin_sym_end,
      anon_sym_LPAREN,
  [262482] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7331), 1,
      sym__block,
    STATE(7355), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5558), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [262502] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10965), 7,
      anon_sym_RBRACE,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
  [262516] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7331), 1,
      sym__block,
    STATE(7401), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5524), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [262536] = 8,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9590), 1,
      anon_sym_LT,
    ACTIONS(10878), 1,
      anon_sym_LBRACE,
    ACTIONS(10967), 1,
      anon_sym_COLON,
    STATE(3280), 1,
      sym_protocol_body,
    STATE(6996), 1,
      sym_type_parameters,
    STATE(8573), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [262562] = 8,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9590), 1,
      anon_sym_LT,
    ACTIONS(10888), 1,
      anon_sym_LBRACE,
    ACTIONS(10969), 1,
      anon_sym_COLON,
    STATE(3237), 1,
      sym_enum_class_body,
    STATE(6994), 1,
      sym_type_parameters,
    STATE(8567), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [262588] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7274), 1,
      sym_function_body,
    STATE(7331), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5524), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [262608] = 4,
    ACTIONS(10971), 1,
      anon_sym_COMMA,
    STATE(6554), 1,
      aux_sym_lambda_function_type_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10973), 5,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_in,
  [262626] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10975), 7,
      anon_sym_RBRACE,
      anon_sym_get,
      anon_sym_set,
      anon_sym__modify,
      anon_sym_AT,
      anon_sym_mutating,
      anon_sym_nonmutating,
  [262640] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(8054), 1,
      sym_function_body,
    ACTIONS(6260), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [262659] = 7,
    ACTIONS(4748), 1,
      sym_where_keyword,
    ACTIONS(8552), 1,
      anon_sym_LBRACE,
    ACTIONS(10977), 1,
      sym__as_custom,
    STATE(4311), 1,
      sym__as,
    STATE(4505), 1,
      sym__block,
    STATE(8282), 1,
      sym_where_clause,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [262682] = 4,
    ACTIONS(10697), 1,
      anon_sym_COLON,
    STATE(7335), 1,
      sym_type_annotation,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7892), 4,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_LBRACE,
  [262699] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(10979), 1,
      sym__dot_custom,
    STATE(5792), 1,
      sym__dot,
    STATE(6692), 1,
      aux_sym_identifier_repeat1,
    ACTIONS(6078), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [262718] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(4329), 1,
      anon_sym_RBRACE,
    STATE(6745), 1,
      aux_sym__class_member_declarations_repeat1,
    STATE(1273), 2,
      sym__semi,
      sym__class_member_separator,
    ACTIONS(10981), 3,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
  [262737] = 5,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7331), 1,
      sym__block,
    STATE(7890), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10983), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [262756] = 4,
    ACTIONS(10985), 1,
      anon_sym_COMMA,
    STATE(6655), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8313), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [262773] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7882), 6,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
  [262786] = 4,
    ACTIONS(10985), 1,
      anon_sym_COMMA,
    STATE(6713), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8327), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [262803] = 4,
    ACTIONS(10985), 1,
      anon_sym_COMMA,
    STATE(6666), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8331), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [262820] = 6,
    ACTIONS(4748), 1,
      sym_where_keyword,
    ACTIONS(10987), 1,
      sym__eq_custom,
    STATE(675), 1,
      sym__equal_sign,
    STATE(8290), 1,
      sym_where_clause,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7896), 2,
      anon_sym_COMMA,
      anon_sym_LBRACE,
  [262841] = 5,
    ACTIONS(10989), 1,
      sym__dot_custom,
    STATE(5738), 1,
      sym__dot,
    STATE(6742), 1,
      aux_sym_identifier_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6078), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [262860] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6349), 6,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [262873] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5881), 6,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
  [262886] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10993), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10991), 5,
      anon_sym_DQUOTE,
      anon_sym_BSLASH,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
      anon_sym_BSLASH_LPAREN,
      sym__escaped_identifier,
  [262903] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(8220), 1,
      sym_function_body,
    ACTIONS(5548), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [262922] = 4,
    ACTIONS(10985), 1,
      anon_sym_COMMA,
    STATE(6666), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8335), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [262939] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7876), 6,
      sym__as_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_in,
  [262952] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(10995), 1,
      anon_sym_COMMA,
    STATE(6664), 1,
      aux_sym_type_constraints_repeat1,
    ACTIONS(6133), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [262969] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5831), 6,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
  [262982] = 4,
    ACTIONS(10998), 1,
      anon_sym_COMMA,
    STATE(6666), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8306), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [262999] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(10979), 1,
      sym__dot_custom,
    STATE(5792), 1,
      sym__dot,
    STATE(6649), 1,
      aux_sym_identifier_repeat1,
    ACTIONS(6150), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [263018] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(7864), 1,
      sym_function_body,
    ACTIONS(5603), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [263037] = 3,
    ACTIONS(11001), 1,
      anon_sym_BANG2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5837), 5,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_in,
  [263052] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(11005), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(11003), 5,
      anon_sym_DQUOTE,
      anon_sym_BSLASH,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
      anon_sym_BSLASH_LPAREN,
      sym__escaped_identifier,
  [263069] = 4,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(7067), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11007), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [263086] = 4,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(7254), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11007), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [263103] = 4,
    ACTIONS(11009), 1,
      sym__eq_custom,
    STATE(4157), 1,
      sym__equal_sign,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6530), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [263120] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11011), 6,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_in,
  [263133] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6133), 6,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [263146] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(11013), 1,
      anon_sym_RBRACE,
    STATE(6650), 1,
      aux_sym__class_member_declarations_repeat1,
    STATE(1342), 2,
      sym__semi,
      sym__class_member_separator,
    ACTIONS(11015), 3,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
  [263165] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6008), 6,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [263178] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6238), 6,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [263191] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3463), 6,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_in,
  [263204] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6234), 6,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [263217] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6234), 7,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [263230] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10925), 6,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_in,
  [263243] = 3,
    ACTIONS(7870), 1,
      sym__as_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5877), 5,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [263258] = 4,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(7247), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11017), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [263275] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6178), 7,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [263288] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(8177), 1,
      sym_function_body,
    ACTIONS(5992), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [263307] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(8132), 1,
      sym_function_body,
    ACTIONS(5562), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [263326] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5694), 6,
      sym__as_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_in,
  [263339] = 3,
    ACTIONS(7873), 1,
      sym__as_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5827), 5,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [263354] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(8113), 1,
      sym_function_body,
    ACTIONS(5939), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [263373] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(8188), 1,
      sym_function_body,
    ACTIONS(6292), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [263392] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(11019), 1,
      sym__dot_custom,
    STATE(5792), 1,
      sym__dot,
    STATE(6692), 1,
      aux_sym_identifier_repeat1,
    ACTIONS(6090), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [263411] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(8187), 1,
      sym_function_body,
    ACTIONS(5992), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [263430] = 3,
    ACTIONS(5881), 1,
      sym__as_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5877), 5,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      anon_sym_COMMA,
      anon_sym_COLON,
  [263445] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5732), 6,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [263458] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6008), 7,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [263471] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6178), 6,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [263484] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(8179), 1,
      sym_function_body,
    ACTIONS(5992), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [263503] = 3,
    ACTIONS(5831), 1,
      sym__as_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5827), 5,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      anon_sym_COMMA,
      anon_sym_COLON,
  [263518] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(8104), 1,
      sym_function_body,
    ACTIONS(5939), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [263537] = 5,
    ACTIONS(7846), 1,
      sym__as_custom,
    ACTIONS(11024), 1,
      anon_sym_QMARK,
    STATE(7440), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11022), 3,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
  [263556] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7882), 6,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LBRACE,
  [263569] = 6,
    ACTIONS(10822), 1,
      anon_sym_in,
    ACTIONS(10824), 1,
      sym__arrow_operator_custom,
    STATE(3952), 1,
      sym__arrow_operator,
    STATE(8178), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [263590] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6133), 7,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [263603] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(8102), 1,
      sym_function_body,
    ACTIONS(5939), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [263622] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(8173), 1,
      sym_function_body,
    ACTIONS(5992), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [263641] = 5,
    ACTIONS(10058), 1,
      sym__dot_custom,
    STATE(5682), 1,
      sym__dot,
    STATE(6775), 1,
      aux_sym_identifier_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6078), 3,
      sym__eq_custom,
      sym__eq_eq_custom,
      anon_sym_COLON,
  [263660] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5779), 6,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [263673] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6238), 7,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [263686] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(8091), 1,
      sym_function_body,
    ACTIONS(5939), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [263705] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(11026), 1,
      anon_sym_COMMA,
    STATE(6748), 1,
      aux_sym_type_constraints_repeat1,
    ACTIONS(6084), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [263722] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(8090), 1,
      sym_function_body,
    ACTIONS(6278), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [263741] = 4,
    ACTIONS(10985), 1,
      anon_sym_COMMA,
    STATE(6666), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8319), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [263758] = 4,
    ACTIONS(10985), 1,
      anon_sym_COMMA,
    STATE(6662), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8323), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [263775] = 5,
    ACTIONS(5613), 1,
      sym__as_custom,
    ACTIONS(11030), 1,
      anon_sym_QMARK,
    STATE(7184), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11028), 3,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_COLON,
  [263794] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(7956), 1,
      sym_function_body,
    ACTIONS(5558), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [263813] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(8161), 1,
      sym_function_body,
    ACTIONS(5649), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [263832] = 5,
    ACTIONS(5613), 1,
      sym__as_custom,
    ACTIONS(11032), 1,
      anon_sym_QMARK,
    STATE(7433), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11028), 3,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
  [263851] = 7,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(11034), 1,
      anon_sym_COLON,
    ACTIONS(11036), 1,
      anon_sym_LBRACE,
    STATE(7423), 1,
      sym_type_annotation,
    STATE(8035), 1,
      sym_protocol_property_requirements,
    STATE(8368), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [263874] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5881), 6,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LBRACE,
  [263887] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5831), 6,
      sym__eq_custom,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LBRACE,
  [263900] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5673), 6,
      sym__as_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_in,
  [263913] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(11040), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(11038), 5,
      anon_sym_DQUOTE,
      anon_sym_BSLASH,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
      anon_sym_BSLASH_LPAREN,
      sym__escaped_identifier,
  [263930] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5673), 6,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [263943] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(8081), 1,
      sym_function_body,
    ACTIONS(5960), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [263962] = 5,
    ACTIONS(7846), 1,
      sym__as_custom,
    ACTIONS(11042), 1,
      anon_sym_QMARK,
    STATE(7183), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11022), 3,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_COLON,
  [263981] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(8058), 1,
      sym_function_body,
    ACTIONS(6260), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [264000] = 6,
    ACTIONS(11044), 1,
      anon_sym_in,
    ACTIONS(11046), 1,
      sym__arrow_operator_custom,
    STATE(3903), 1,
      sym__arrow_operator,
    STATE(7637), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [264021] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5732), 6,
      sym__as_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_in,
  [264034] = 3,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(11048), 1,
      anon_sym_BANG2,
    ACTIONS(5837), 6,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [264049] = 5,
    ACTIONS(10989), 1,
      sym__dot_custom,
    STATE(5738), 1,
      sym__dot,
    STATE(6657), 1,
      aux_sym_identifier_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6150), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [264068] = 4,
    ACTIONS(11050), 1,
      anon_sym_COMMA,
    STATE(6808), 1,
      aux_sym__modifierless_property_declaration_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6472), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [264085] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5662), 6,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [264098] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6174), 7,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [264111] = 4,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(7424), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11052), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [264128] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(7815), 1,
      sym_function_body,
    ACTIONS(6182), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [264147] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(8067), 1,
      sym_function_body,
    ACTIONS(5960), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [264166] = 4,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(7441), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11054), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [264183] = 5,
    ACTIONS(11056), 1,
      sym__dot_custom,
    STATE(5342), 1,
      sym__dot,
    STATE(6770), 1,
      aux_sym_user_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3048), 3,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [264202] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(11061), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(11059), 5,
      anon_sym_DQUOTE,
      anon_sym_BSLASH,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
      anon_sym_BSLASH_LPAREN,
      sym__escaped_identifier,
  [264219] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(8039), 1,
      sym_function_body,
    ACTIONS(5524), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [264238] = 5,
    ACTIONS(11063), 1,
      sym__dot_custom,
    STATE(5738), 1,
      sym__dot,
    STATE(6742), 1,
      aux_sym_identifier_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6090), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [264257] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(11068), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(11066), 5,
      anon_sym_DQUOTE,
      anon_sym_BSLASH,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
      anon_sym_BSLASH_LPAREN,
      sym__escaped_identifier,
  [264274] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(7994), 1,
      sym_function_body,
    ACTIONS(5554), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [264293] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(11070), 1,
      anon_sym_RBRACE,
    STATE(6745), 1,
      aux_sym__class_member_declarations_repeat1,
    STATE(1426), 2,
      sym__semi,
      sym__class_member_separator,
    ACTIONS(11072), 3,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
  [264312] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(8010), 1,
      sym_function_body,
    ACTIONS(5524), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [264331] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(11075), 1,
      anon_sym_COLON,
    ACTIONS(11077), 1,
      anon_sym_LBRACE,
    STATE(7878), 1,
      sym_deprecated_operator_declaration_body,
    ACTIONS(6364), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [264350] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(11079), 1,
      anon_sym_COMMA,
    STATE(6664), 1,
      aux_sym_type_constraints_repeat1,
    ACTIONS(4079), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [264367] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(8151), 1,
      sym_function_body,
    ACTIONS(5998), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [264386] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(7952), 1,
      sym_function_body,
    ACTIONS(5982), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [264405] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11081), 6,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_in,
  [264418] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5509), 6,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [264431] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(7816), 1,
      sym_function_body,
    ACTIONS(6170), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [264450] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(7897), 1,
      sym_function_body,
    ACTIONS(6170), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [264469] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(7822), 1,
      sym_function_body,
    ACTIONS(5986), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [264488] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(8144), 1,
      sym_function_body,
    ACTIONS(5998), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [264507] = 3,
    ACTIONS(11083), 1,
      anon_sym_BANG2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5837), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_where_keyword,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [264522] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(7977), 1,
      sym_function_body,
    ACTIONS(5982), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [264541] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7866), 6,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [264554] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(8019), 1,
      sym_function_body,
    ACTIONS(5905), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [264573] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11085), 6,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_in,
  [264586] = 4,
    ACTIONS(11087), 1,
      sym__eq_custom,
    STATE(4107), 1,
      sym__equal_sign,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6623), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [264603] = 6,
    ACTIONS(10701), 1,
      anon_sym_in,
    ACTIONS(10703), 1,
      sym__arrow_operator_custom,
    STATE(4091), 1,
      sym__arrow_operator,
    STATE(7540), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [264624] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5662), 6,
      sym__as_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_in,
  [264637] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5848), 6,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_in,
  [264650] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(8128), 1,
      sym_function_body,
    ACTIONS(5528), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [264669] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6174), 6,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [264682] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(8114), 1,
      sym_function_body,
    ACTIONS(5528), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [264701] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(8002), 1,
      sym_function_body,
    ACTIONS(5554), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [264720] = 5,
    ACTIONS(11089), 1,
      sym__dot_custom,
    STATE(1962), 1,
      aux_sym_user_type_repeat1,
    STATE(5342), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3041), 3,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [264739] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5736), 6,
      sym__as_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_in,
  [264752] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6008), 6,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_in,
  [264765] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5779), 6,
      sym__as_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_in,
  [264778] = 4,
    ACTIONS(11092), 1,
      sym__eq_custom,
    STATE(4206), 1,
      sym__equal_sign,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6425), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [264795] = 5,
    ACTIONS(11094), 1,
      sym__dot_custom,
    STATE(5682), 1,
      sym__dot,
    STATE(6775), 1,
      aux_sym_identifier_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6090), 3,
      sym__eq_custom,
      sym__eq_eq_custom,
      anon_sym_COLON,
  [264814] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7876), 6,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [264827] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5740), 6,
      sym__as_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_in,
  [264840] = 4,
    ACTIONS(10717), 1,
      anon_sym_COLON,
    STATE(7261), 1,
      sym_type_annotation,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7892), 4,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      anon_sym_COMMA,
  [264857] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(7856), 1,
      sym_function_body,
    ACTIONS(6186), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [264876] = 4,
    ACTIONS(11050), 1,
      anon_sym_COMMA,
    STATE(6732), 1,
      aux_sym__modifierless_property_declaration_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6385), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [264893] = 5,
    ACTIONS(11097), 1,
      anon_sym_COLON,
    ACTIONS(11099), 1,
      anon_sym_LBRACE,
    STATE(7726), 1,
      sym_deprecated_operator_declaration_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6364), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [264912] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11101), 6,
      sym__arrow_operator_custom,
      sym__throws_keyword,
      sym__rethrows_keyword,
      sym__async_keyword_custom,
      anon_sym_COMMA,
      anon_sym_in,
  [264925] = 5,
    ACTIONS(5639), 1,
      sym__as_custom,
    ACTIONS(11103), 1,
      anon_sym_QMARK,
    STATE(7160), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5633), 3,
      sym_where_keyword,
      anon_sym_COLON,
      anon_sym_LBRACE,
  [264944] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5740), 6,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [264957] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7866), 6,
      sym__as_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_in,
  [264970] = 5,
    ACTIONS(5613), 1,
      sym__as_custom,
    ACTIONS(11105), 1,
      anon_sym_QMARK,
    STATE(7159), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5607), 3,
      sym_where_keyword,
      anon_sym_COLON,
      anon_sym_LBRACE,
  [264989] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(7870), 1,
      sym_function_body,
    ACTIONS(6192), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [265008] = 7,
    ACTIONS(4748), 1,
      sym_where_keyword,
    ACTIONS(8546), 1,
      anon_sym_LBRACE,
    ACTIONS(10977), 1,
      sym__as_custom,
    STATE(4311), 1,
      sym__as,
    STATE(6885), 1,
      sym__block,
    STATE(8261), 1,
      sym_where_clause,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [265031] = 4,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(7434), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11052), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [265048] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(7950), 1,
      sym_function_body,
    ACTIONS(6018), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [265067] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5471), 6,
      sym__as_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_in,
  [265080] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(7871), 1,
      sym_function_body,
    ACTIONS(5899), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [265099] = 4,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(7142), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11107), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [265116] = 7,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(11034), 1,
      anon_sym_COLON,
    ACTIONS(11036), 1,
      anon_sym_LBRACE,
    STATE(7241), 1,
      sym_type_annotation,
    STATE(7818), 1,
      sym_protocol_property_requirements,
    STATE(8513), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [265139] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5471), 6,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [265152] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(7874), 1,
      sym_function_body,
    ACTIONS(5899), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [265171] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(7879), 1,
      sym_function_body,
    ACTIONS(5899), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [265190] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6349), 7,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [265203] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(11111), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(11109), 5,
      anon_sym_DQUOTE,
      anon_sym_BSLASH,
      anon_sym_DQUOTE_DQUOTE_DQUOTE,
      anon_sym_BSLASH_LPAREN,
      sym__escaped_identifier,
  [265220] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(7933), 1,
      sym_function_body,
    ACTIONS(6018), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [265239] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6395), 6,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_where_keyword,
      ts_builtin_sym_end,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [265252] = 6,
    ACTIONS(4707), 1,
      sym_where_keyword,
    ACTIONS(11113), 1,
      sym__eq_custom,
    STATE(596), 1,
      sym__equal_sign,
    STATE(8640), 1,
      sym_where_clause,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7896), 2,
      sym_else,
      anon_sym_COMMA,
  [265273] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(7855), 1,
      sym_function_body,
    ACTIONS(5986), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [265292] = 4,
    ACTIONS(11115), 1,
      sym__eq_custom,
    STATE(4376), 1,
      sym__equal_sign,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6654), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [265309] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5509), 6,
      sym__as_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_in,
  [265322] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(7887), 1,
      sym_function_body,
    ACTIONS(5899), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [265341] = 3,
    ACTIONS(7873), 1,
      sym__as_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5827), 5,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_in,
  [265356] = 4,
    ACTIONS(11117), 1,
      anon_sym_COMMA,
    STATE(6808), 1,
      aux_sym__modifierless_property_declaration_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6606), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [265373] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(7903), 1,
      sym_function_body,
    ACTIONS(5653), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [265392] = 4,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(7321), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11120), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [265409] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5694), 6,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [265422] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 6,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
  [265435] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5736), 6,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_LBRACE,
  [265448] = 3,
    ACTIONS(7870), 1,
      sym__as_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5877), 5,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_QMARK,
      anon_sym_in,
  [265463] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(7915), 1,
      sym_function_body,
    ACTIONS(6213), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [265482] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(7924), 1,
      sym_function_body,
    ACTIONS(6223), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [265501] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(7927), 1,
      sym_function_body,
    ACTIONS(6223), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [265520] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3204), 7,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_COLON,
      anon_sym_RBRACE,
  [265533] = 5,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(8023), 1,
      sym_function_body,
    ACTIONS(5905), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [265552] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6395), 6,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__arrow_operator_custom,
      sym_where_keyword,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [265565] = 5,
    ACTIONS(11122), 1,
      sym__arrow_operator_custom,
    STATE(4117), 1,
      sym__arrow_operator,
    STATE(8367), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [265583] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8372), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [265595] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8384), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_catch_keyword,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [265607] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3295), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_catch_keyword,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [265619] = 4,
    ACTIONS(11124), 1,
      anon_sym_if,
    ACTIONS(11126), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3047), 3,
      sym__else_options,
      sym_if_statement,
      sym__block,
  [265635] = 4,
    ACTIONS(11124), 1,
      anon_sym_if,
    ACTIONS(11126), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2926), 3,
      sym__else_options,
      sym_if_statement,
      sym__block,
  [265651] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10933), 1,
      anon_sym_LBRACE,
    ACTIONS(11128), 1,
      anon_sym_COLON,
    STATE(7978), 1,
      sym_enum_class_body,
    STATE(8293), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [265671] = 4,
    STATE(8697), 1,
      sym__comparison_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11130), 2,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(11132), 2,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
  [265687] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9101), 1,
      anon_sym_GT,
    ACTIONS(11134), 1,
      anon_sym_COMMA,
    STATE(7156), 1,
      aux_sym_type_parameters_repeat1,
    STATE(8909), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [265707] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9715), 1,
      anon_sym_LBRACE,
    ACTIONS(11136), 1,
      anon_sym_COLON,
    STATE(7318), 1,
      sym_class_body,
    STATE(8623), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [265727] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3093), 5,
      sym__dot_custom,
      anon_sym_RPAREN,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [265739] = 6,
    ACTIONS(11138), 1,
      anon_sym_COLON,
    ACTIONS(11140), 1,
      anon_sym_in,
    ACTIONS(11142), 1,
      sym__as_custom,
    STATE(4432), 1,
      sym__as,
    STATE(8873), 1,
      sym_type_annotation,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [265759] = 4,
    STATE(8680), 1,
      sym__comparison_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11144), 2,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(11146), 2,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
  [265775] = 4,
    STATE(8681), 1,
      sym__comparison_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11148), 2,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(11150), 2,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
  [265791] = 5,
    ACTIONS(8345), 1,
      anon_sym_RBRACE,
    STATE(115), 1,
      sym__semi,
    STATE(6835), 1,
      aux_sym_statements_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11152), 2,
      sym__implicit_semi,
      sym__explicit_semi,
  [265809] = 4,
    ACTIONS(11155), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11157), 2,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
    STATE(4906), 2,
      sym__conjunction_operator,
      sym__disjunction_operator,
  [265825] = 4,
    STATE(8688), 1,
      sym__comparison_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11159), 2,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(11161), 2,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
  [265841] = 4,
    STATE(8719), 1,
      sym__comparison_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11163), 2,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(11165), 2,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
  [265857] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10910), 1,
      anon_sym_LBRACE,
    ACTIONS(11167), 1,
      anon_sym_COLON,
    STATE(8071), 1,
      sym_protocol_body,
    STATE(8306), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [265877] = 4,
    STATE(8739), 1,
      sym__comparison_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11169), 2,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(11171), 2,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
  [265893] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2663), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COLON,
      anon_sym_LBRACE,
  [265905] = 4,
    STATE(8767), 1,
      sym__comparison_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11173), 2,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(11175), 2,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
  [265921] = 4,
    ACTIONS(11177), 1,
      anon_sym_if,
    ACTIONS(11179), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(909), 3,
      sym__else_options,
      sym_if_statement,
      sym__block,
  [265937] = 4,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(10277), 1,
      anon_sym_if,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(7221), 3,
      sym__else_options,
      sym_if_statement,
      sym__block,
  [265953] = 4,
    STATE(8797), 1,
      sym__comparison_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11181), 2,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(11183), 2,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
  [265969] = 4,
    ACTIONS(11177), 1,
      anon_sym_if,
    ACTIONS(11179), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(947), 3,
      sym__else_options,
      sym_if_statement,
      sym__block,
  [265985] = 5,
    ACTIONS(11185), 1,
      sym__arrow_operator_custom,
    STATE(4303), 1,
      sym__arrow_operator,
    STATE(8512), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [266003] = 4,
    ACTIONS(11189), 1,
      anon_sym_DOT_DOT_DOT,
    STATE(7770), 1,
      sym__three_dot_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11187), 3,
      sym__eq_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [266019] = 4,
    ACTIONS(11189), 1,
      anon_sym_DOT_DOT_DOT,
    STATE(7768), 1,
      sym__three_dot_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11191), 3,
      sym__eq_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [266035] = 4,
    ACTIONS(11193), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11157), 2,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
    STATE(4906), 2,
      sym__conjunction_operator,
      sym__disjunction_operator,
  [266051] = 4,
    ACTIONS(11195), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11197), 2,
      sym__eq_custom,
      sym__eq_eq_custom,
    STATE(4119), 2,
      sym__equal_sign,
      sym__eq_eq,
  [266067] = 4,
    ACTIONS(10221), 1,
      anon_sym_if,
    ACTIONS(11199), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4551), 3,
      sym__else_options,
      sym_if_statement,
      sym__block,
  [266083] = 4,
    ACTIONS(10221), 1,
      anon_sym_if,
    ACTIONS(11199), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(4548), 3,
      sym__else_options,
      sym_if_statement,
      sym__block,
  [266099] = 4,
    ACTIONS(11201), 1,
      anon_sym_if,
    ACTIONS(11203), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2786), 3,
      sym__else_options,
      sym_if_statement,
      sym__block,
  [266115] = 4,
    ACTIONS(11205), 1,
      anon_sym_if,
    ACTIONS(11207), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1373), 3,
      sym__else_options,
      sym_if_statement,
      sym__block,
  [266131] = 5,
    ACTIONS(11209), 1,
      sym__arrow_operator_custom,
    STATE(4237), 1,
      sym__arrow_operator,
    STATE(8497), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [266149] = 6,
    ACTIONS(11138), 1,
      anon_sym_COLON,
    ACTIONS(11142), 1,
      sym__as_custom,
    ACTIONS(11211), 1,
      anon_sym_in,
    STATE(4432), 1,
      sym__as,
    STATE(8917), 1,
      sym_type_annotation,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [266169] = 4,
    STATE(8703), 1,
      sym__comparison_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11213), 2,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(11215), 2,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
  [266185] = 4,
    ACTIONS(11217), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11157), 2,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
    STATE(4906), 2,
      sym__conjunction_operator,
      sym__disjunction_operator,
  [266201] = 6,
    ACTIONS(4851), 1,
      anon_sym_COMMA,
    ACTIONS(11219), 1,
      anon_sym_RPAREN,
    ACTIONS(11221), 1,
      sym__eq_custom,
    STATE(680), 1,
      sym__equal_sign,
    STATE(7596), 1,
      aux_sym_enum_type_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [266221] = 5,
    ACTIONS(11223), 1,
      anon_sym_RBRACE,
    STATE(1690), 1,
      sym__semi,
    STATE(6912), 1,
      aux_sym__protocol_member_declarations_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11225), 2,
      sym__implicit_semi,
      sym__explicit_semi,
  [266239] = 6,
    ACTIONS(11138), 1,
      anon_sym_COLON,
    ACTIONS(11142), 1,
      sym__as_custom,
    ACTIONS(11227), 1,
      anon_sym_in,
    STATE(4432), 1,
      sym__as,
    STATE(8914), 1,
      sym_type_annotation,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [266259] = 6,
    ACTIONS(11138), 1,
      anon_sym_COLON,
    ACTIONS(11142), 1,
      sym__as_custom,
    ACTIONS(11229), 1,
      anon_sym_in,
    STATE(4432), 1,
      sym__as,
    STATE(8912), 1,
      sym_type_annotation,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [266279] = 4,
    STATE(6864), 1,
      aux_sym__inheritance_specifiers_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11231), 2,
      anon_sym_COMMA,
      anon_sym_AMP,
    ACTIONS(11234), 2,
      sym_where_keyword,
      anon_sym_LBRACE,
  [266295] = 4,
    ACTIONS(11236), 1,
      anon_sym_if,
    ACTIONS(11238), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1346), 3,
      sym__else_options,
      sym_if_statement,
      sym__block,
  [266311] = 4,
    ACTIONS(11236), 1,
      anon_sym_if,
    ACTIONS(11238), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1325), 3,
      sym__else_options,
      sym_if_statement,
      sym__block,
  [266327] = 6,
    ACTIONS(4851), 1,
      anon_sym_COMMA,
    ACTIONS(11240), 1,
      anon_sym_RPAREN,
    ACTIONS(11242), 1,
      sym__eq_custom,
    STATE(671), 1,
      sym__equal_sign,
    STATE(7608), 1,
      aux_sym_enum_type_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [266347] = 4,
    ACTIONS(11205), 1,
      anon_sym_if,
    ACTIONS(11207), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(1389), 3,
      sym__else_options,
      sym_if_statement,
      sym__block,
  [266363] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8224), 5,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_LBRACE,
  [266375] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10914), 1,
      anon_sym_LBRACE,
    ACTIONS(11244), 1,
      anon_sym_COLON,
    STATE(7212), 1,
      sym_enum_class_body,
    STATE(8528), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [266395] = 6,
    ACTIONS(10591), 1,
      anon_sym_LT,
    ACTIONS(10650), 1,
      anon_sym_LPAREN,
    STATE(6319), 1,
      aux_sym__function_value_parameters,
    STATE(6476), 1,
      sym__macro_signature,
    STATE(7831), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [266415] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10918), 1,
      anon_sym_LBRACE,
    ACTIONS(11246), 1,
      anon_sym_COLON,
    STATE(4574), 1,
      sym_enum_class_body,
    STATE(8375), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [266435] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6706), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [266447] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6702), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [266459] = 4,
    STATE(8869), 1,
      sym__comparison_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11248), 2,
      anon_sym_LT,
      anon_sym_GT,
    ACTIONS(11250), 2,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
  [266475] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6698), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [266487] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(11005), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(11003), 4,
      anon_sym_DQUOTE,
      anon_sym_BSLASH,
      anon_sym_BSLASH_LPAREN,
      sym__escaped_identifier,
  [266503] = 5,
    ACTIONS(281), 1,
      ts_builtin_sym_end,
    STATE(24), 1,
      sym__semi,
    STATE(6987), 1,
      aux_sym_source_file_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11252), 2,
      sym__implicit_semi,
      sym__explicit_semi,
  [266521] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(10993), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(10991), 4,
      anon_sym_DQUOTE,
      anon_sym_BSLASH,
      anon_sym_BSLASH_LPAREN,
      sym__escaped_identifier,
  [266537] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6694), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [266549] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6694), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [266561] = 6,
    ACTIONS(11138), 1,
      anon_sym_COLON,
    ACTIONS(11142), 1,
      sym__as_custom,
    ACTIONS(11254), 1,
      anon_sym_in,
    STATE(4432), 1,
      sym__as,
    STATE(8910), 1,
      sym_type_annotation,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [266581] = 5,
    ACTIONS(279), 1,
      ts_builtin_sym_end,
    STATE(23), 1,
      sym__semi,
    STATE(6878), 1,
      aux_sym_source_file_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11256), 2,
      sym__implicit_semi,
      sym__explicit_semi,
  [266599] = 4,
    ACTIONS(11260), 1,
      anon_sym_DOT,
    STATE(7022), 1,
      aux_sym__constrained_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11258), 3,
      sym__eq_custom,
      sym__eq_eq_custom,
      anon_sym_COLON,
  [266615] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8368), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_catch_keyword,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [266627] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2659), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COLON,
      anon_sym_LBRACE,
  [266639] = 5,
    ACTIONS(281), 1,
      ts_builtin_sym_end,
    STATE(24), 1,
      sym__semi,
    STATE(7006), 1,
      aux_sym_source_file_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11252), 2,
      sym__implicit_semi,
      sym__explicit_semi,
  [266657] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8394), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_catch_keyword,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [266669] = 4,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    ACTIONS(10277), 1,
      anon_sym_if,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(7178), 3,
      sym__else_options,
      sym_if_statement,
      sym__block,
  [266685] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(11262), 1,
      anon_sym_COMMA,
    STATE(6943), 1,
      aux_sym__modifierless_property_declaration_repeat1,
    ACTIONS(6385), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [266701] = 4,
    ACTIONS(11264), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11157), 2,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
    STATE(4906), 2,
      sym__conjunction_operator,
      sym__disjunction_operator,
  [266717] = 4,
    STATE(7018), 1,
      aux_sym__inheritance_specifiers_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11266), 2,
      anon_sym_COMMA,
      anon_sym_AMP,
    ACTIONS(11268), 2,
      sym_where_keyword,
      anon_sym_LBRACE,
  [266733] = 4,
    ACTIONS(11270), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11157), 2,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
    STATE(4906), 2,
      sym__conjunction_operator,
      sym__disjunction_operator,
  [266749] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9071), 1,
      anon_sym_GT,
    ACTIONS(11272), 1,
      anon_sym_COMMA,
    STATE(7156), 1,
      aux_sym_type_parameters_repeat1,
    STATE(8738), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [266769] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3295), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_else,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [266781] = 5,
    ACTIONS(11274), 1,
      sym__arrow_operator_custom,
    STATE(4130), 1,
      sym__arrow_operator,
    STATE(8372), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [266799] = 5,
    ACTIONS(11276), 1,
      anon_sym_RBRACE,
    STATE(1695), 1,
      sym__semi,
    STATE(6897), 1,
      aux_sym__protocol_member_declarations_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11278), 2,
      sym__implicit_semi,
      sym__explicit_semi,
  [266817] = 5,
    ACTIONS(383), 1,
      anon_sym_RBRACE,
    STATE(112), 1,
      sym__semi,
    STATE(6835), 1,
      aux_sym_statements_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11281), 2,
      sym__implicit_semi,
      sym__explicit_semi,
  [266835] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(11283), 1,
      sym__eq_custom,
    STATE(4129), 1,
      sym__equal_sign,
    ACTIONS(6530), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [266851] = 5,
    ACTIONS(11285), 1,
      sym__arrow_operator_custom,
    STATE(4113), 1,
      sym__arrow_operator,
    STATE(8381), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [266869] = 4,
    ACTIONS(3254), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11157), 2,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
    STATE(4906), 2,
      sym__conjunction_operator,
      sym__disjunction_operator,
  [266885] = 5,
    ACTIONS(11287), 1,
      sym__arrow_operator_custom,
    STATE(4214), 1,
      sym__arrow_operator,
    STATE(8398), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [266903] = 5,
    ACTIONS(11289), 1,
      sym__arrow_operator_custom,
    STATE(4314), 1,
      sym__arrow_operator,
    STATE(8406), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [266921] = 4,
    ACTIONS(11291), 1,
      anon_sym_LPAREN,
    STATE(6904), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5666), 3,
      sym__arrow_operator_custom,
      sym_where_keyword,
      anon_sym_LBRACE,
  [266937] = 4,
    ACTIONS(11294), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11296), 2,
      sym__eq_custom,
      sym__eq_eq_custom,
    STATE(4317), 2,
      sym__equal_sign,
      sym__eq_eq,
  [266953] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8224), 5,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      anon_sym_COMMA,
      anon_sym_COLON,
  [266965] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(2659), 6,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COLON,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [266977] = 5,
    ACTIONS(11298), 1,
      sym__arrow_operator_custom,
    STATE(4340), 1,
      sym__arrow_operator,
    STATE(8414), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [266995] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6690), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [267007] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6686), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [267019] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6008), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_where_keyword,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [267031] = 5,
    ACTIONS(11300), 1,
      anon_sym_RBRACE,
    STATE(1691), 1,
      sym__semi,
    STATE(6897), 1,
      aux_sym__protocol_member_declarations_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11302), 2,
      sym__implicit_semi,
      sym__explicit_semi,
  [267049] = 4,
    ACTIONS(11304), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11306), 2,
      sym__eq_custom,
      sym__eq_eq_custom,
    STATE(4315), 2,
      sym__equal_sign,
      sym__eq_eq,
  [267065] = 5,
    ACTIONS(11308), 1,
      sym__arrow_operator_custom,
    STATE(4374), 1,
      sym__arrow_operator,
    STATE(8428), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [267083] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3315), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_else,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [267095] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(11310), 1,
      anon_sym_COMMA,
    ACTIONS(11312), 1,
      anon_sym_GT,
    STATE(6829), 1,
      aux_sym_type_parameters_repeat1,
    STATE(8996), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [267115] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10802), 1,
      anon_sym_LBRACE,
    ACTIONS(11314), 1,
      sym__arrow_operator_custom,
    STATE(4030), 1,
      sym__arrow_operator,
    STATE(8862), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [267135] = 4,
    ACTIONS(11316), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11318), 2,
      sym__eq_custom,
      sym__eq_eq_custom,
    STATE(4272), 2,
      sym__equal_sign,
      sym__eq_eq,
  [267151] = 5,
    ACTIONS(11320), 1,
      sym__arrow_operator_custom,
    STATE(4399), 1,
      sym__arrow_operator,
    STATE(8441), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [267169] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9636), 1,
      anon_sym_LBRACE,
    ACTIONS(11322), 1,
      anon_sym_COLON,
    STATE(4585), 1,
      sym_class_body,
    STATE(8437), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [267189] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6395), 6,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_where_keyword,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [267201] = 5,
    ACTIONS(11324), 1,
      sym__arrow_operator_custom,
    STATE(4425), 1,
      sym__arrow_operator,
    STATE(8453), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [267219] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10918), 1,
      anon_sym_LBRACE,
    ACTIONS(11326), 1,
      anon_sym_COLON,
    STATE(4573), 1,
      sym_enum_class_body,
    STATE(8442), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [267239] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9592), 1,
      anon_sym_LBRACE,
    ACTIONS(11328), 1,
      anon_sym_COLON,
    STATE(7841), 1,
      sym_class_body,
    STATE(8259), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [267259] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10910), 1,
      anon_sym_LBRACE,
    ACTIONS(11330), 1,
      anon_sym_COLON,
    STATE(7839), 1,
      sym_protocol_body,
    STATE(8257), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [267279] = 5,
    ACTIONS(11332), 1,
      sym__arrow_operator_custom,
    STATE(4434), 1,
      sym__arrow_operator,
    STATE(8470), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [267297] = 4,
    ACTIONS(11334), 1,
      anon_sym_QMARK,
    STATE(8064), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7846), 3,
      sym__as_custom,
      anon_sym_COLON,
      anon_sym_in,
  [267313] = 6,
    ACTIONS(11138), 1,
      anon_sym_COLON,
    ACTIONS(11142), 1,
      sym__as_custom,
    ACTIONS(11336), 1,
      anon_sym_in,
    STATE(4432), 1,
      sym__as,
    STATE(8876), 1,
      sym_type_annotation,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [267333] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3315), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_catch_keyword,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [267345] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6008), 6,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [267357] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10933), 1,
      anon_sym_LBRACE,
    ACTIONS(11338), 1,
      anon_sym_COLON,
    STATE(7779), 1,
      sym_enum_class_body,
    STATE(8256), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [267377] = 5,
    ACTIONS(11340), 1,
      sym__arrow_operator_custom,
    STATE(4297), 1,
      sym__arrow_operator,
    STATE(8478), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [267395] = 4,
    ACTIONS(11342), 1,
      anon_sym_QMARK,
    STATE(8085), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5639), 3,
      sym__as_custom,
      anon_sym_COLON,
      anon_sym_in,
  [267411] = 4,
    ACTIONS(11344), 1,
      anon_sym_QMARK,
    STATE(8087), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5613), 3,
      sym__as_custom,
      anon_sym_COLON,
      anon_sym_in,
  [267427] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6174), 6,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [267439] = 4,
    ACTIONS(11346), 1,
      anon_sym_if,
    ACTIONS(11348), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3488), 3,
      sym__else_options,
      sym_if_statement,
      sym__block,
  [267455] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6178), 6,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [267467] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8376), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [267479] = 4,
    ACTIONS(11350), 1,
      anon_sym_if,
    ACTIONS(11352), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2614), 3,
      sym__else_options,
      sym_if_statement,
      sym__block,
  [267495] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(11354), 1,
      sym__eq_custom,
    STATE(4106), 1,
      sym__equal_sign,
    ACTIONS(6425), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [267511] = 5,
    ACTIONS(11356), 1,
      sym__arrow_operator_custom,
    STATE(4278), 1,
      sym__arrow_operator,
    STATE(8487), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [267529] = 5,
    ACTIONS(11358), 1,
      sym__arrow_operator_custom,
    STATE(4199), 1,
      sym__arrow_operator,
    STATE(8492), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [267547] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(11262), 1,
      anon_sym_COMMA,
    STATE(7039), 1,
      aux_sym__modifierless_property_declaration_repeat1,
    ACTIONS(6472), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [267563] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9636), 1,
      anon_sym_LBRACE,
    ACTIONS(11360), 1,
      anon_sym_COLON,
    STATE(4573), 1,
      sym_class_body,
    STATE(8466), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [267583] = 4,
    ACTIONS(11362), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11157), 2,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
    STATE(4906), 2,
      sym__conjunction_operator,
      sym__disjunction_operator,
  [267599] = 4,
    ACTIONS(11189), 1,
      anon_sym_DOT_DOT_DOT,
    STATE(7495), 1,
      sym__three_dot_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11364), 3,
      sym__eq_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [267615] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6234), 6,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [267627] = 5,
    ACTIONS(11366), 1,
      sym__arrow_operator_custom,
    STATE(4144), 1,
      sym__arrow_operator,
    STATE(8503), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [267645] = 4,
    ACTIONS(11201), 1,
      anon_sym_if,
    ACTIONS(11203), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2701), 3,
      sym__else_options,
      sym_if_statement,
      sym__block,
  [267661] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6836), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [267673] = 4,
    ACTIONS(3277), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11157), 2,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
    STATE(4906), 2,
      sym__conjunction_operator,
      sym__disjunction_operator,
  [267689] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6238), 6,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [267701] = 4,
    ACTIONS(11189), 1,
      anon_sym_DOT_DOT_DOT,
    STATE(8105), 1,
      sym__three_dot_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11368), 3,
      sym__eq_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [267717] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(2663), 6,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COLON,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [267729] = 4,
    ACTIONS(11350), 1,
      anon_sym_if,
    ACTIONS(11352), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(2548), 3,
      sym__else_options,
      sym_if_statement,
      sym__block,
  [267745] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5442), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [267757] = 6,
    ACTIONS(11138), 1,
      anon_sym_COLON,
    ACTIONS(11142), 1,
      sym__as_custom,
    ACTIONS(11370), 1,
      anon_sym_in,
    STATE(4432), 1,
      sym__as,
    STATE(8982), 1,
      sym_type_annotation,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [267777] = 3,
    ACTIONS(11372), 1,
      sym_else,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3289), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [267791] = 6,
    ACTIONS(11138), 1,
      anon_sym_COLON,
    ACTIONS(11142), 1,
      sym__as_custom,
    ACTIONS(11374), 1,
      anon_sym_in,
    STATE(4432), 1,
      sym__as,
    STATE(8995), 1,
      sym_type_annotation,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [267811] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6842), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [267823] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6842), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [267835] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6133), 6,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [267847] = 4,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(7597), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11376), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [267863] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8388), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [267875] = 4,
    ACTIONS(11346), 1,
      anon_sym_if,
    ACTIONS(11348), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3424), 3,
      sym__else_options,
      sym_if_statement,
      sym__block,
  [267891] = 5,
    ACTIONS(11378), 1,
      sym__arrow_operator_custom,
    STATE(4457), 1,
      sym__arrow_operator,
    STATE(8544), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [267909] = 5,
    ACTIONS(11380), 1,
      sym__arrow_operator_custom,
    STATE(4120), 1,
      sym__arrow_operator,
    STATE(8509), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [267927] = 4,
    ACTIONS(11384), 1,
      anon_sym_DOT,
    STATE(6968), 1,
      aux_sym__constrained_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11382), 3,
      sym__eq_custom,
      sym__eq_eq_custom,
      anon_sym_COLON,
  [267943] = 5,
    ACTIONS(11387), 1,
      sym__arrow_operator_custom,
    STATE(4151), 1,
      sym__arrow_operator,
    STATE(8514), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [267961] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6781), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [267973] = 4,
    ACTIONS(11389), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11157), 2,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
    STATE(4906), 2,
      sym__conjunction_operator,
      sym__disjunction_operator,
  [267989] = 4,
    ACTIONS(9778), 1,
      sym_where_keyword,
    STATE(8165), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11391), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [268005] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9705), 1,
      anon_sym_LBRACE,
    ACTIONS(11393), 1,
      anon_sym_COLON,
    STATE(3362), 1,
      sym_class_body,
    STATE(8611), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [268025] = 4,
    ACTIONS(11395), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11397), 2,
      sym__eq_custom,
      sym__eq_eq_custom,
    STATE(4455), 2,
      sym__equal_sign,
      sym__eq_eq,
  [268041] = 5,
    ACTIONS(11399), 1,
      sym__arrow_operator_custom,
    STATE(4137), 1,
      sym__arrow_operator,
    STATE(8362), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [268059] = 4,
    ACTIONS(11401), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11403), 2,
      sym__eq_custom,
      sym__eq_eq_custom,
    STATE(4105), 2,
      sym__equal_sign,
      sym__eq_eq,
  [268075] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10502), 1,
      anon_sym_LBRACE,
    ACTIONS(11405), 1,
      sym__arrow_operator_custom,
    STATE(4029), 1,
      sym__arrow_operator,
    STATE(8809), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [268095] = 4,
    ACTIONS(11407), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11409), 2,
      sym__eq_custom,
      sym__eq_eq_custom,
    STATE(4443), 2,
      sym__equal_sign,
      sym__eq_eq,
  [268111] = 5,
    ACTIONS(11411), 1,
      sym__arrow_operator_custom,
    STATE(4439), 1,
      sym__arrow_operator,
    STATE(8299), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [268129] = 5,
    ACTIONS(11413), 1,
      sym__arrow_operator_custom,
    STATE(4191), 1,
      sym__arrow_operator,
    STATE(8539), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [268147] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10472), 1,
      anon_sym_LBRACE,
    ACTIONS(11415), 1,
      sym__arrow_operator_custom,
    STATE(3964), 1,
      sym__arrow_operator,
    STATE(8795), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [268167] = 5,
    ACTIONS(11417), 1,
      sym__arrow_operator_custom,
    STATE(4209), 1,
      sym__arrow_operator,
    STATE(8546), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [268185] = 5,
    ACTIONS(11419), 1,
      sym__arrow_operator_custom,
    STATE(4254), 1,
      sym__arrow_operator,
    STATE(8553), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [268203] = 5,
    ACTIONS(8339), 1,
      anon_sym_RBRACE,
    STATE(105), 1,
      sym__semi,
    STATE(6898), 1,
      aux_sym_statements_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11421), 2,
      sym__implicit_semi,
      sym__explicit_semi,
  [268221] = 5,
    ACTIONS(11423), 1,
      sym__arrow_operator_custom,
    STATE(4369), 1,
      sym__arrow_operator,
    STATE(8577), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [268239] = 5,
    ACTIONS(11425), 1,
      sym__arrow_operator_custom,
    STATE(4424), 1,
      sym__arrow_operator,
    STATE(8562), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [268257] = 5,
    ACTIONS(11427), 1,
      ts_builtin_sym_end,
    STATE(26), 1,
      sym__semi,
    STATE(6987), 1,
      aux_sym_source_file_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11429), 2,
      sym__implicit_semi,
      sym__explicit_semi,
  [268275] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10861), 1,
      anon_sym_LBRACE,
    ACTIONS(11432), 1,
      sym__arrow_operator_custom,
    STATE(4092), 1,
      sym__arrow_operator,
    STATE(8810), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [268295] = 5,
    ACTIONS(11434), 1,
      sym__arrow_operator_custom,
    STATE(4175), 1,
      sym__arrow_operator,
    STATE(8529), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [268313] = 4,
    ACTIONS(11436), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11157), 2,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
    STATE(4906), 2,
      sym__conjunction_operator,
      sym__disjunction_operator,
  [268329] = 4,
    ACTIONS(11438), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11440), 2,
      sym__eq_custom,
      sym__eq_eq_custom,
    STATE(4364), 2,
      sym__equal_sign,
      sym__eq_eq,
  [268345] = 3,
    ACTIONS(11442), 1,
      anon_sym_BANG2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5837), 4,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      anon_sym_COMMA,
  [268359] = 4,
    ACTIONS(11444), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11446), 2,
      sym__eq_custom,
      sym__eq_eq_custom,
    STATE(4350), 2,
      sym__equal_sign,
      sym__eq_eq,
  [268375] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10888), 1,
      anon_sym_LBRACE,
    ACTIONS(11448), 1,
      anon_sym_COLON,
    STATE(3362), 1,
      sym_enum_class_body,
    STATE(8649), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [268395] = 5,
    ACTIONS(11450), 1,
      sym__arrow_operator_custom,
    STATE(4451), 1,
      sym__arrow_operator,
    STATE(8568), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [268413] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10878), 1,
      anon_sym_LBRACE,
    ACTIONS(11452), 1,
      anon_sym_COLON,
    STATE(3466), 1,
      sym_protocol_body,
    STATE(8647), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [268433] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6349), 6,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [268445] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6728), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [268457] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9705), 1,
      anon_sym_LBRACE,
    ACTIONS(11454), 1,
      anon_sym_COLON,
    STATE(3471), 1,
      sym_class_body,
    STATE(8645), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [268477] = 5,
    ACTIONS(11456), 1,
      sym__arrow_operator_custom,
    STATE(4468), 1,
      sym__arrow_operator,
    STATE(8578), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [268495] = 6,
    ACTIONS(4851), 1,
      anon_sym_COMMA,
    ACTIONS(11458), 1,
      anon_sym_RPAREN,
    ACTIONS(11460), 1,
      sym__eq_custom,
    STATE(699), 1,
      sym__equal_sign,
    STATE(7497), 1,
      aux_sym_enum_type_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [268515] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8380), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [268527] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6724), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [268539] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(11462), 1,
      anon_sym_COMMA,
    ACTIONS(11464), 1,
      anon_sym_GT,
    STATE(7059), 1,
      aux_sym_type_parameters_repeat1,
    STATE(8664), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [268559] = 5,
    ACTIONS(11466), 1,
      sym__arrow_operator_custom,
    STATE(4465), 1,
      sym__arrow_operator,
    STATE(8592), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [268577] = 5,
    ACTIONS(283), 1,
      ts_builtin_sym_end,
    STATE(25), 1,
      sym__semi,
    STATE(6987), 1,
      aux_sym_source_file_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11468), 2,
      sym__implicit_semi,
      sym__explicit_semi,
  [268595] = 3,
    ACTIONS(11470), 1,
      sym_else,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3299), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [268609] = 5,
    ACTIONS(11472), 1,
      sym__arrow_operator_custom,
    STATE(4410), 1,
      sym__arrow_operator,
    STATE(8594), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [268627] = 5,
    ACTIONS(11474), 1,
      sym__arrow_operator_custom,
    STATE(4397), 1,
      sym__arrow_operator,
    STATE(8602), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [268645] = 5,
    ACTIONS(11476), 1,
      sym__arrow_operator_custom,
    STATE(4307), 1,
      sym__arrow_operator,
    STATE(8605), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [268663] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9592), 1,
      anon_sym_LBRACE,
    ACTIONS(11478), 1,
      anon_sym_COLON,
    STATE(7779), 1,
      sym_class_body,
    STATE(8360), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [268683] = 5,
    ACTIONS(11480), 1,
      sym__arrow_operator_custom,
    STATE(4353), 1,
      sym__arrow_operator,
    STATE(8608), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [268701] = 4,
    ACTIONS(11482), 1,
      anon_sym_QMARK,
    STATE(7611), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7846), 3,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_LBRACE,
  [268717] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9715), 1,
      anon_sym_LBRACE,
    ACTIONS(11484), 1,
      anon_sym_COLON,
    STATE(7338), 1,
      sym_class_body,
    STATE(8557), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [268737] = 5,
    ACTIONS(11486), 1,
      sym__arrow_operator_custom,
    STATE(4296), 1,
      sym__arrow_operator,
    STATE(8617), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [268755] = 4,
    ACTIONS(11488), 1,
      anon_sym_QMARK,
    STATE(7613), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5639), 3,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_LBRACE,
  [268771] = 4,
    ACTIONS(11490), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11157), 2,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
    STATE(4906), 2,
      sym__conjunction_operator,
      sym__disjunction_operator,
  [268787] = 4,
    STATE(6864), 1,
      aux_sym__inheritance_specifiers_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11266), 2,
      anon_sym_COMMA,
      anon_sym_AMP,
    ACTIONS(11492), 2,
      sym_where_keyword,
      anon_sym_LBRACE,
  [268803] = 4,
    ACTIONS(11494), 1,
      anon_sym_QMARK,
    STATE(7615), 1,
      sym__quest,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5613), 3,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_LBRACE,
  [268819] = 5,
    ACTIONS(11496), 1,
      sym__arrow_operator_custom,
    STATE(4196), 1,
      sym__arrow_operator,
    STATE(8624), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [268837] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8354), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [268849] = 4,
    ACTIONS(11260), 1,
      anon_sym_DOT,
    STATE(6968), 1,
      aux_sym__constrained_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11498), 3,
      sym__eq_custom,
      sym__eq_eq_custom,
      anon_sym_COLON,
  [268865] = 4,
    ACTIONS(11500), 1,
      anon_sym_if,
    ACTIONS(11502), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3606), 3,
      sym__else_options,
      sym_if_statement,
      sym__block,
  [268881] = 5,
    ACTIONS(11504), 1,
      sym__arrow_operator_custom,
    STATE(4435), 1,
      sym__arrow_operator,
    STATE(8656), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [268899] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8358), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [268911] = 4,
    ACTIONS(11099), 1,
      anon_sym_LBRACE,
    STATE(8232), 1,
      sym_deprecated_operator_declaration_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6648), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [268927] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(11506), 1,
      sym__eq_custom,
    STATE(4125), 1,
      sym__equal_sign,
    ACTIONS(6654), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [268943] = 4,
    ACTIONS(11508), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11510), 2,
      sym__eq_custom,
      sym__eq_eq_custom,
    STATE(4143), 2,
      sym__equal_sign,
      sym__eq_eq,
  [268959] = 4,
    ACTIONS(11512), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11157), 2,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
    STATE(4906), 2,
      sym__conjunction_operator,
      sym__disjunction_operator,
  [268975] = 4,
    ACTIONS(11514), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11516), 2,
      sym__eq_custom,
      sym__eq_eq_custom,
    STATE(4110), 2,
      sym__equal_sign,
      sym__eq_eq,
  [268991] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6720), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [269003] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6720), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [269015] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(11077), 1,
      anon_sym_LBRACE,
    STATE(8190), 1,
      sym_deprecated_operator_declaration_body,
    ACTIONS(6648), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [269031] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5532), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [269043] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10914), 1,
      anon_sym_LBRACE,
    ACTIONS(11518), 1,
      anon_sym_COLON,
    STATE(7318), 1,
      sym_enum_class_body,
    STATE(8451), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [269063] = 4,
    ACTIONS(11520), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11522), 2,
      sym__eq_custom,
      sym__eq_eq_custom,
    STATE(4289), 2,
      sym__equal_sign,
      sym__eq_eq,
  [269079] = 4,
    ACTIONS(11524), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11526), 2,
      sym__eq_custom,
      sym__eq_eq_custom,
    STATE(4286), 2,
      sym__equal_sign,
      sym__eq_eq,
  [269095] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(11530), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(11528), 4,
      anon_sym_DQUOTE,
      anon_sym_BSLASH,
      anon_sym_BSLASH_LPAREN,
      sym__escaped_identifier,
  [269111] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(11532), 1,
      anon_sym_COMMA,
    STATE(7039), 1,
      aux_sym__modifierless_property_declaration_repeat1,
    ACTIONS(6606), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [269127] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10869), 1,
      anon_sym_LBRACE,
    ACTIONS(11535), 1,
      anon_sym_COLON,
    STATE(7585), 1,
      sym_protocol_body,
    STATE(8507), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [269147] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6716), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [269159] = 4,
    ACTIONS(11537), 1,
      anon_sym_if,
    ACTIONS(11539), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3188), 3,
      sym__else_options,
      sym_if_statement,
      sym__block,
  [269175] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6720), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [269187] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6720), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [269199] = 4,
    ACTIONS(11541), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11543), 2,
      sym__eq_custom,
      sym__eq_eq_custom,
    STATE(4153), 2,
      sym__equal_sign,
      sym__eq_eq,
  [269215] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6008), 5,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_in,
  [269227] = 4,
    ACTIONS(11500), 1,
      anon_sym_if,
    ACTIONS(11502), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3693), 3,
      sym__else_options,
      sym_if_statement,
      sym__block,
  [269243] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5532), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [269255] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6716), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [269267] = 4,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(11545), 1,
      sym__eq_custom,
    STATE(4118), 1,
      sym__equal_sign,
    ACTIONS(6623), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [269283] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(11111), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(11109), 4,
      anon_sym_DQUOTE,
      anon_sym_BSLASH,
      anon_sym_BSLASH_LPAREN,
      sym__escaped_identifier,
  [269299] = 5,
    ACTIONS(11547), 1,
      sym__arrow_operator_custom,
    STATE(4217), 1,
      sym__arrow_operator,
    STATE(8633), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [269317] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10869), 1,
      anon_sym_LBRACE,
    ACTIONS(11549), 1,
      anon_sym_COLON,
    STATE(7479), 1,
      sym_protocol_body,
    STATE(8270), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [269337] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10888), 1,
      anon_sym_LBRACE,
    ACTIONS(11551), 1,
      anon_sym_COLON,
    STATE(3472), 1,
      sym_enum_class_body,
    STATE(8610), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [269357] = 4,
    ACTIONS(11553), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11555), 2,
      sym__eq_custom,
      sym__eq_eq_custom,
    STATE(4200), 2,
      sym__equal_sign,
      sym__eq_eq,
  [269373] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10878), 1,
      anon_sym_LBRACE,
    ACTIONS(11557), 1,
      anon_sym_COLON,
    STATE(3385), 1,
      sym_protocol_body,
    STATE(8596), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [269393] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8398), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_catch_keyword,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [269405] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(11561), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(11559), 4,
      anon_sym_DQUOTE,
      anon_sym_BSLASH,
      anon_sym_BSLASH_LPAREN,
      sym__escaped_identifier,
  [269421] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9109), 1,
      anon_sym_GT,
    ACTIONS(11563), 1,
      anon_sym_COMMA,
    STATE(7156), 1,
      aux_sym_type_parameters_repeat1,
    STATE(8715), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [269441] = 6,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(11565), 1,
      anon_sym_COMMA,
    ACTIONS(11567), 1,
      anon_sym_GT,
    STATE(6894), 1,
      aux_sym_type_parameters_repeat1,
    STATE(8676), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [269461] = 4,
    ACTIONS(11569), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11571), 2,
      sym__eq_custom,
      sym__eq_eq_custom,
    STATE(4187), 2,
      sym__equal_sign,
      sym__eq_eq,
  [269477] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(11575), 1,
      aux_sym_line_str_text_token1,
    ACTIONS(11573), 4,
      anon_sym_DQUOTE,
      anon_sym_BSLASH,
      anon_sym_BSLASH_LPAREN,
      sym__escaped_identifier,
  [269493] = 4,
    ACTIONS(11537), 1,
      anon_sym_if,
    ACTIONS(11539), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    STATE(3217), 3,
      sym__else_options,
      sym_if_statement,
      sym__block,
  [269509] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8364), 5,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [269521] = 5,
    ACTIONS(11577), 1,
      sym__arrow_operator_custom,
    STATE(4156), 1,
      sym__arrow_operator,
    STATE(8646), 1,
      sym_throws,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3006), 2,
      sym__throws_keyword,
      sym__rethrows_keyword,
  [269539] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6706), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [269550] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11579), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [269561] = 4,
    ACTIONS(11583), 1,
      anon_sym_DOT,
    STATE(7127), 1,
      aux_sym__availability_argument_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11581), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [269576] = 5,
    ACTIONS(5307), 1,
      anon_sym_LPAREN,
    ACTIONS(10591), 1,
      anon_sym_LT,
    STATE(1862), 1,
      aux_sym__function_value_parameters,
    STATE(8651), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [269593] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6728), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [269604] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7359), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [269615] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7503), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [269626] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7503), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [269637] = 5,
    ACTIONS(9950), 1,
      anon_sym_LPAREN,
    ACTIONS(10591), 1,
      anon_sym_LT,
    STATE(5677), 1,
      aux_sym__function_value_parameters,
    STATE(8430), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [269654] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7503), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [269665] = 4,
    ACTIONS(11587), 1,
      sym__eq_custom,
    STATE(573), 1,
      sym__equal_sign,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11585), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [269680] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11589), 4,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_COLON,
      anon_sym_GT,
  [269691] = 3,
    ACTIONS(11593), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11591), 3,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_GT,
  [269704] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9715), 1,
      anon_sym_LBRACE,
    STATE(7388), 1,
      sym_class_body,
    STATE(8486), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [269721] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7359), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [269732] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7257), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [269743] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9705), 1,
      anon_sym_LBRACE,
    STATE(3373), 1,
      sym_class_body,
    STATE(8590), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [269760] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6716), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [269771] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(5532), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [269782] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6720), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [269793] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6720), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [269804] = 5,
    ACTIONS(9772), 1,
      anon_sym_LPAREN,
    ACTIONS(10591), 1,
      anon_sym_LT,
    STATE(5509), 1,
      aux_sym__function_value_parameters,
    STATE(8283), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [269821] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9705), 1,
      anon_sym_LBRACE,
    STATE(3479), 1,
      sym_class_body,
    STATE(8612), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [269838] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6716), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [269849] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7143), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [269860] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(5532), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [269871] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7287), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [269882] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7359), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [269893] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6686), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [269904] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6720), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [269915] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10888), 1,
      anon_sym_LBRACE,
    STATE(3373), 1,
      sym_enum_class_body,
    STATE(8585), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [269932] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6720), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [269943] = 5,
    ACTIONS(11595), 1,
      anon_sym_COMMA,
    ACTIONS(11597), 1,
      anon_sym_LBRACE,
    STATE(1245), 1,
      sym__block,
    STATE(7554), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [269960] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7091), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [269971] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6724), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [269982] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10878), 1,
      anon_sym_LBRACE,
    STATE(3330), 1,
      sym_protocol_body,
    STATE(8584), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [269999] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9705), 1,
      anon_sym_LBRACE,
    STATE(3328), 1,
      sym_class_body,
    STATE(8583), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [270016] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10888), 1,
      anon_sym_LBRACE,
    STATE(3326), 1,
      sym_enum_class_body,
    STATE(8582), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [270033] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8418), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [270044] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8446), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [270055] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10765), 1,
      anon_sym_LBRACE,
    STATE(7539), 1,
      sym_computed_property,
    STATE(8431), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [270072] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7359), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [270083] = 4,
    ACTIONS(11599), 1,
      anon_sym_COMMA,
    STATE(7327), 1,
      aux_sym_type_constraints_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4079), 2,
      anon_sym_GT,
      anon_sym_LBRACE,
  [270098] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10861), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [270109] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8422), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [270120] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10878), 1,
      anon_sym_LBRACE,
    STATE(3501), 1,
      sym_protocol_body,
    STATE(8614), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [270137] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6090), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      anon_sym_RBRACE,
  [270148] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8426), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [270159] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7359), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [270170] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10888), 1,
      anon_sym_LBRACE,
    STATE(3551), 1,
      sym_enum_class_body,
    STATE(8615), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [270187] = 5,
    ACTIONS(4748), 1,
      sym_where_keyword,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7110), 1,
      sym__block,
    STATE(8454), 1,
      sym_where_clause,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [270204] = 5,
    ACTIONS(9772), 1,
      anon_sym_LPAREN,
    ACTIONS(10591), 1,
      anon_sym_LT,
    STATE(5412), 1,
      aux_sym__function_value_parameters,
    STATE(8284), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [270221] = 5,
    ACTIONS(4748), 1,
      sym_where_keyword,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7385), 1,
      sym__block,
    STATE(8315), 1,
      sym_where_clause,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [270238] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10861), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [270249] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8418), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [270260] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7630), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [270271] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8422), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [270282] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8430), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [270293] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6924), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [270304] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6924), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [270315] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10802), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [270326] = 4,
    ACTIONS(11603), 1,
      anon_sym_DOT,
    STATE(7127), 1,
      aux_sym__availability_argument_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11601), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [270341] = 5,
    ACTIONS(10360), 1,
      anon_sym_LPAREN,
    ACTIONS(10591), 1,
      anon_sym_LT,
    STATE(6085), 1,
      aux_sym__function_value_parameters,
    STATE(8433), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [270358] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9715), 1,
      anon_sym_LBRACE,
    STATE(7427), 1,
      sym_class_body,
    STATE(8341), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [270375] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6924), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [270386] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7147), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [270397] = 5,
    ACTIONS(11502), 1,
      anon_sym_LBRACE,
    ACTIONS(11595), 1,
      anon_sym_COMMA,
    STATE(869), 1,
      sym__block,
    STATE(7197), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [270414] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10472), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [270425] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10869), 1,
      anon_sym_LBRACE,
    STATE(7636), 1,
      sym_protocol_body,
    STATE(8601), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [270442] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7321), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [270453] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11606), 4,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [270464] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7125), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [270475] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7125), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [270486] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9705), 1,
      anon_sym_LBRACE,
    STATE(3551), 1,
      sym_class_body,
    STATE(8627), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [270503] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7125), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [270514] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10802), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [270525] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11608), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [270536] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7465), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [270547] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7125), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [270558] = 5,
    ACTIONS(11595), 1,
      anon_sym_COMMA,
    ACTIONS(11597), 1,
      anon_sym_LBRACE,
    STATE(1307), 1,
      sym__block,
    STATE(7098), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [270575] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7125), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [270586] = 5,
    ACTIONS(11595), 1,
      anon_sym_COMMA,
    ACTIONS(11610), 1,
      anon_sym_LBRACE,
    STATE(2754), 1,
      sym__block,
    STATE(7179), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [270603] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11612), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [270614] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10878), 1,
      anon_sym_LBRACE,
    STATE(3220), 1,
      sym_protocol_body,
    STATE(8576), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [270631] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6690), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [270642] = 5,
    ACTIONS(11595), 1,
      anon_sym_COMMA,
    ACTIONS(11614), 1,
      anon_sym_LBRACE,
    STATE(2545), 1,
      sym__block,
    STATE(7337), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [270659] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7125), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [270670] = 5,
    ACTIONS(4748), 1,
      sym_where_keyword,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7113), 1,
      sym__block,
    STATE(8456), 1,
      sym_where_clause,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [270687] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7121), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [270698] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7167), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [270709] = 4,
    ACTIONS(11616), 1,
      anon_sym_COMMA,
    STATE(7156), 1,
      aux_sym_type_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11619), 2,
      sym_where_keyword,
      anon_sym_GT,
  [270724] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7167), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [270735] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6694), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [270746] = 3,
    ACTIONS(5831), 1,
      sym__as_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5827), 3,
      sym_where_keyword,
      anon_sym_COLON,
      anon_sym_LBRACE,
  [270759] = 3,
    ACTIONS(5881), 1,
      sym__as_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5877), 3,
      sym_where_keyword,
      anon_sym_COLON,
      anon_sym_LBRACE,
  [270772] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6694), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [270783] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10888), 1,
      anon_sym_LBRACE,
    STATE(3170), 1,
      sym_enum_class_body,
    STATE(8571), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [270800] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7167), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [270811] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7626), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [270822] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10878), 1,
      anon_sym_LBRACE,
    STATE(3116), 1,
      sym_protocol_body,
    STATE(8565), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [270839] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7201), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [270850] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8446), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [270861] = 5,
    ACTIONS(4817), 1,
      anon_sym_COMMA,
    ACTIONS(11621), 1,
      anon_sym_COLON,
    ACTIONS(11623), 1,
      sym_where_keyword,
    STATE(8079), 1,
      aux_sym_switch_entry_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [270878] = 5,
    ACTIONS(4748), 1,
      sym_where_keyword,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7122), 1,
      sym__block,
    STATE(8654), 1,
      sym_where_clause,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [270895] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7201), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [270906] = 4,
    ACTIONS(11583), 1,
      anon_sym_DOT,
    STATE(7256), 1,
      aux_sym__availability_argument_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11625), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [270921] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3427), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_where_keyword,
      ts_builtin_sym_end,
  [270932] = 5,
    ACTIONS(11595), 1,
      anon_sym_COMMA,
    ACTIONS(11627), 1,
      anon_sym_LBRACE,
    STATE(7007), 1,
      sym__block,
    STATE(7554), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [270949] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6698), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [270960] = 4,
    ACTIONS(11631), 1,
      anon_sym_COMMA,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11629), 2,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
  [270975] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6090), 4,
      sym__dot_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      anon_sym_COLON,
  [270986] = 5,
    ACTIONS(9936), 1,
      anon_sym_LPAREN,
    ACTIONS(10591), 1,
      anon_sym_LT,
    STATE(5518), 1,
      aux_sym__function_value_parameters,
    STATE(8653), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [271003] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3555), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271014] = 5,
    ACTIONS(11595), 1,
      anon_sym_COMMA,
    ACTIONS(11610), 1,
      anon_sym_LBRACE,
    STATE(2705), 1,
      sym__block,
    STATE(7554), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [271031] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6702), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [271042] = 5,
    ACTIONS(10591), 1,
      anon_sym_LT,
    ACTIONS(10707), 1,
      anon_sym_LPAREN,
    STATE(6424), 1,
      aux_sym__function_value_parameters,
    STATE(8465), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [271059] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6008), 4,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      anon_sym_COMMA,
  [271070] = 3,
    ACTIONS(7882), 1,
      sym__as_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11634), 3,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_COLON,
  [271083] = 3,
    ACTIONS(5831), 1,
      sym__as_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11636), 3,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_COLON,
  [271096] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3551), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271107] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3295), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271118] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7113), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271129] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3204), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [271140] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11638), 4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [271151] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4690), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_where_keyword,
      ts_builtin_sym_end,
  [271162] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8470), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271173] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8482), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271184] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7369), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271195] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3539), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_where_keyword,
      ts_builtin_sym_end,
  [271206] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6112), 4,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      anon_sym_COMMA,
  [271217] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7351), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271228] = 5,
    ACTIONS(11502), 1,
      anon_sym_LBRACE,
    ACTIONS(11595), 1,
      anon_sym_COMMA,
    STATE(876), 1,
      sym__block,
    STATE(7554), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [271245] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11382), 4,
      sym__eq_custom,
      sym__eq_eq_custom,
      anon_sym_COLON,
      anon_sym_DOT,
  [271256] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8283), 4,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      anon_sym_COMMA,
  [271267] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7351), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271278] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8466), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271289] = 4,
    ACTIONS(11583), 1,
      anon_sym_DOT,
    STATE(7068), 1,
      aux_sym__availability_argument_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11640), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [271304] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7359), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271315] = 5,
    ACTIONS(11539), 1,
      anon_sym_LBRACE,
    ACTIONS(11595), 1,
      anon_sym_COMMA,
    STATE(2981), 1,
      sym__block,
    STATE(7240), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [271332] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7351), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271343] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8450), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271354] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7351), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271365] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7351), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271376] = 5,
    ACTIONS(5307), 1,
      anon_sym_LPAREN,
    ACTIONS(10591), 1,
      anon_sym_LT,
    STATE(1893), 1,
      aux_sym__function_value_parameters,
    STATE(8587), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [271393] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7351), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271404] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7305), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271415] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7538), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271426] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10914), 1,
      anon_sym_LBRACE,
    STATE(7384), 1,
      sym_enum_class_body,
    STATE(8516), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [271443] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6836), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [271454] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7133), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271465] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(5442), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [271476] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11642), 4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [271487] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6842), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [271498] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6842), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [271509] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7072), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271520] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3423), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271531] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7133), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271542] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3587), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_where_keyword,
      ts_builtin_sym_end,
  [271553] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7618), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271564] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7072), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271575] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7546), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271586] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10869), 1,
      anon_sym_LBRACE,
    STATE(7829), 1,
      sym_protocol_body,
    STATE(8361), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [271603] = 5,
    ACTIONS(9950), 1,
      anon_sym_LPAREN,
    ACTIONS(10591), 1,
      anon_sym_LT,
    STATE(5609), 1,
      aux_sym__function_value_parameters,
    STATE(8249), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [271620] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10765), 1,
      anon_sym_LBRACE,
    STATE(7523), 1,
      sym_computed_property,
    STATE(8343), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [271637] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10502), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [271648] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7072), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271659] = 5,
    ACTIONS(11644), 1,
      anon_sym_LT,
    ACTIONS(11646), 1,
      sym__eq_custom,
    STATE(4470), 1,
      sym__equal_sign,
    STATE(8534), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [271676] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11648), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [271687] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7068), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271698] = 5,
    ACTIONS(11595), 1,
      anon_sym_COMMA,
    ACTIONS(11627), 1,
      anon_sym_LBRACE,
    STATE(6958), 1,
      sym__block,
    STATE(7173), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [271715] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7133), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271726] = 5,
    ACTIONS(3999), 1,
      anon_sym_func,
    ACTIONS(11650), 1,
      anon_sym_init,
    STATE(7177), 1,
      sym__non_constructor_function_decl,
    STATE(7233), 1,
      sym__modifierless_function_declaration_no_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [271743] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7068), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271754] = 5,
    ACTIONS(4817), 1,
      anon_sym_COMMA,
    ACTIONS(11652), 1,
      anon_sym_COLON,
    ACTIONS(11654), 1,
      sym_where_keyword,
    STATE(7584), 1,
      aux_sym_switch_entry_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [271771] = 5,
    ACTIONS(11539), 1,
      anon_sym_LBRACE,
    ACTIONS(11595), 1,
      anon_sym_COMMA,
    STATE(2957), 1,
      sym__block,
    STATE(7554), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [271788] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(11036), 1,
      anon_sym_LBRACE,
    STATE(7989), 1,
      sym_protocol_property_requirements,
    STATE(8394), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [271805] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7064), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271816] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7521), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271827] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7604), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271838] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 4,
      sym__eq_custom,
      sym__eq_eq_custom,
      anon_sym_COLON,
      anon_sym_DOT,
  [271849] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 4,
      sym__dot_custom,
      sym__eq_custom,
      sym__eq_eq_custom,
      anon_sym_COLON,
  [271860] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11656), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [271871] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11658), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_where_keyword,
      ts_builtin_sym_end,
  [271882] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7604), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271893] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7604), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [271904] = 5,
    ACTIONS(10591), 1,
      anon_sym_LT,
    ACTIONS(10707), 1,
      anon_sym_LPAREN,
    STATE(6473), 1,
      aux_sym__function_value_parameters,
    STATE(8506), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [271921] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3635), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      sym_where_keyword,
      ts_builtin_sym_end,
  [271932] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11660), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [271943] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11579), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [271954] = 5,
    ACTIONS(5307), 1,
      anon_sym_LPAREN,
    ACTIONS(10591), 1,
      anon_sym_LT,
    STATE(1898), 1,
      aux_sym__function_value_parameters,
    STATE(8599), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [271971] = 4,
    ACTIONS(11583), 1,
      anon_sym_DOT,
    STATE(7127), 1,
      aux_sym__availability_argument_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4951), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [271986] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6781), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [271997] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3315), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [272008] = 4,
    ACTIONS(11662), 1,
      anon_sym_COMMA,
    STATE(7108), 1,
      aux_sym_type_constraints_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6084), 2,
      anon_sym_GT,
      anon_sym_LBRACE,
  [272023] = 5,
    ACTIONS(11644), 1,
      anon_sym_LT,
    ACTIONS(11664), 1,
      sym__eq_custom,
    STATE(4305), 1,
      sym__equal_sign,
    STATE(8366), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [272040] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8293), 4,
      sym__eq_custom,
      sym_where_keyword,
      sym_else,
      anon_sym_COMMA,
  [272051] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_LBRACE,
  [272062] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7267), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [272073] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7574), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [272084] = 5,
    ACTIONS(11595), 1,
      anon_sym_COMMA,
    ACTIONS(11666), 1,
      anon_sym_LBRACE,
    STATE(2366), 1,
      sym__block,
    STATE(7554), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [272101] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5885), 4,
      sym__arrow_operator_custom,
      sym_where_keyword,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
  [272112] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10709), 1,
      anon_sym_LBRACE,
    STATE(7653), 1,
      sym_computed_property,
    STATE(8511), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [272129] = 5,
    ACTIONS(11644), 1,
      anon_sym_LT,
    ACTIONS(11668), 1,
      sym__eq_custom,
    STATE(4204), 1,
      sym__equal_sign,
    STATE(8485), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [272146] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9636), 1,
      anon_sym_LBRACE,
    STATE(4596), 1,
      sym_class_body,
    STATE(8392), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [272163] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10747), 1,
      anon_sym_LBRACE,
    STATE(3134), 1,
      sym_computed_property,
    STATE(8404), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [272180] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7052), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [272191] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10747), 1,
      anon_sym_LBRACE,
    STATE(3105), 1,
      sym_computed_property,
    STATE(8403), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [272208] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9592), 1,
      anon_sym_LBRACE,
    STATE(7928), 1,
      sym_class_body,
    STATE(8277), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [272225] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7002), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [272236] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7002), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [272247] = 5,
    ACTIONS(11539), 1,
      anon_sym_LBRACE,
    ACTIONS(11595), 1,
      anon_sym_COMMA,
    STATE(3144), 1,
      sym__block,
    STATE(7554), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [272264] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10747), 1,
      anon_sym_LBRACE,
    STATE(3100), 1,
      sym_computed_property,
    STATE(8402), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [272281] = 5,
    ACTIONS(11539), 1,
      anon_sym_LBRACE,
    ACTIONS(11595), 1,
      anon_sym_COMMA,
    STATE(3146), 1,
      sym__block,
    STATE(7276), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [272298] = 5,
    ACTIONS(11502), 1,
      anon_sym_LBRACE,
    ACTIONS(11595), 1,
      anon_sym_COMMA,
    STATE(3676), 1,
      sym__block,
    STATE(7554), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [272315] = 5,
    ACTIONS(11502), 1,
      anon_sym_LBRACE,
    ACTIONS(11595), 1,
      anon_sym_COMMA,
    STATE(3680), 1,
      sym__block,
    STATE(7279), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [272332] = 5,
    ACTIONS(4748), 1,
      sym_where_keyword,
    ACTIONS(11199), 1,
      anon_sym_LBRACE,
    STATE(4589), 1,
      sym__block,
    STATE(8401), 1,
      sym_where_clause,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [272349] = 5,
    ACTIONS(11595), 1,
      anon_sym_COMMA,
    ACTIONS(11670), 1,
      anon_sym_LBRACE,
    STATE(4525), 1,
      sym__block,
    STATE(7311), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [272366] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10914), 1,
      anon_sym_LBRACE,
    STATE(7388), 1,
      sym_enum_class_body,
    STATE(8502), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [272383] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11672), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [272394] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7574), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [272405] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7002), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [272416] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10910), 1,
      anon_sym_LBRACE,
    STATE(8233), 1,
      sym_protocol_body,
    STATE(8337), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [272433] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9715), 1,
      anon_sym_LBRACE,
    STATE(7121), 1,
      sym_class_body,
    STATE(8369), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [272450] = 3,
    ACTIONS(11676), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11674), 3,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_GT,
  [272463] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7002), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [272474] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10747), 1,
      anon_sym_LBRACE,
    STATE(3077), 1,
      sym_computed_property,
    STATE(8385), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [272491] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7295), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [272502] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10910), 1,
      anon_sym_LBRACE,
    STATE(7966), 1,
      sym_protocol_body,
    STATE(8383), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [272519] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7002), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [272530] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8414), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [272541] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5889), 4,
      sym__arrow_operator_custom,
      sym_where_keyword,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
  [272552] = 5,
    ACTIONS(9772), 1,
      anon_sym_LPAREN,
    ACTIONS(10591), 1,
      anon_sym_LT,
    STATE(5477), 1,
      aux_sym__function_value_parameters,
    STATE(8440), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [272569] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7578), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [272580] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11678), 4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [272591] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7305), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [272602] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10933), 1,
      anon_sym_LBRACE,
    STATE(8086), 1,
      sym_enum_class_body,
    STATE(8377), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [272619] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11672), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [272630] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5869), 4,
      sym__arrow_operator_custom,
      sym_where_keyword,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
  [272641] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7381), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [272652] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5863), 4,
      sym__arrow_operator_custom,
      sym_where_keyword,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
  [272663] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6998), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [272674] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6998), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [272685] = 5,
    ACTIONS(10591), 1,
      anon_sym_LT,
    ACTIONS(10707), 1,
      anon_sym_LPAREN,
    STATE(6445), 1,
      aux_sym__function_value_parameters,
    STATE(8354), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [272702] = 4,
    ACTIONS(11682), 1,
      sym__eq_custom,
    STATE(630), 1,
      sym__equal_sign,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11680), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [272717] = 5,
    ACTIONS(4748), 1,
      sym_where_keyword,
    ACTIONS(11199), 1,
      anon_sym_LBRACE,
    STATE(4545), 1,
      sym__block,
    STATE(8371), 1,
      sym_where_clause,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [272734] = 5,
    ACTIONS(11595), 1,
      anon_sym_COMMA,
    ACTIONS(11670), 1,
      anon_sym_LBRACE,
    STATE(4497), 1,
      sym__block,
    STATE(7554), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [272751] = 5,
    ACTIONS(4748), 1,
      sym_where_keyword,
    ACTIONS(11199), 1,
      anon_sym_LBRACE,
    STATE(4541), 1,
      sym__block,
    STATE(8365), 1,
      sym_where_clause,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [272768] = 5,
    ACTIONS(4748), 1,
      sym_where_keyword,
    ACTIONS(11199), 1,
      anon_sym_LBRACE,
    STATE(4540), 1,
      sym__block,
    STATE(8364), 1,
      sym_where_clause,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [272785] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5873), 4,
      sym__arrow_operator_custom,
      sym_where_keyword,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
  [272796] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7305), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [272807] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6998), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [272818] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7060), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [272829] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7385), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [272840] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8406), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [272851] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7305), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [272862] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11684), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [272873] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10918), 1,
      anon_sym_LBRACE,
    STATE(4596), 1,
      sym_enum_class_body,
    STATE(8296), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [272890] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7305), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [272901] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7305), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [272912] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11686), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [272923] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10709), 1,
      anon_sym_LBRACE,
    STATE(7677), 1,
      sym_computed_property,
    STATE(8416), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [272940] = 4,
    ACTIONS(11688), 1,
      anon_sym_COMMA,
    STATE(7327), 1,
      aux_sym_type_constraints_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6133), 2,
      anon_sym_GT,
      anon_sym_LBRACE,
  [272955] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7556), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [272966] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9636), 1,
      anon_sym_LBRACE,
    STATE(4570), 1,
      sym_class_body,
    STATE(8376), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [272983] = 4,
    ACTIONS(11693), 1,
      sym__eq_custom,
    STATE(664), 1,
      sym__equal_sign,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11691), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [272998] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7129), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273009] = 4,
    ACTIONS(11697), 1,
      sym__eq_custom,
    STATE(665), 1,
      sym__equal_sign,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11695), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [273024] = 5,
    ACTIONS(11595), 1,
      anon_sym_COMMA,
    ACTIONS(11666), 1,
      anon_sym_LBRACE,
    STATE(2383), 1,
      sym__block,
    STATE(7265), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [273041] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7321), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273052] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8293), 4,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_LBRACE,
  [273063] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6936), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273074] = 5,
    ACTIONS(11595), 1,
      anon_sym_COMMA,
    ACTIONS(11614), 1,
      anon_sym_LBRACE,
    STATE(2515), 1,
      sym__block,
    STATE(7554), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [273091] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7534), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273102] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7586), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273113] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9715), 1,
      anon_sym_LBRACE,
    STATE(7226), 1,
      sym_class_body,
    STATE(8524), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [273130] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6880), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273141] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6928), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273152] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10709), 1,
      anon_sym_LBRACE,
    STATE(7656), 1,
      sym_computed_property,
    STATE(8477), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [273169] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6928), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273180] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6920), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273191] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10709), 1,
      anon_sym_LBRACE,
    STATE(7627), 1,
      sym_computed_property,
    STATE(8474), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [273208] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6920), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273219] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6990), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273230] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6920), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273241] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7321), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273252] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7159), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273263] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10933), 1,
      anon_sym_LBRACE,
    STATE(8157), 1,
      sym_enum_class_body,
    STATE(8329), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [273280] = 4,
    ACTIONS(11701), 1,
      sym__eq_custom,
    STATE(679), 1,
      sym__equal_sign,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11699), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [273295] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7586), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273306] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7586), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273317] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9592), 1,
      anon_sym_LBRACE,
    STATE(8156), 1,
      sym_class_body,
    STATE(8328), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [273334] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7590), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273345] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6912), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273356] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9636), 1,
      anon_sym_LBRACE,
    STATE(4587), 1,
      sym_class_body,
    STATE(8357), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [273373] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10910), 1,
      anon_sym_LBRACE,
    STATE(8155), 1,
      sym_protocol_body,
    STATE(8327), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [273390] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8526), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273401] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8283), 4,
      sym__eq_custom,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_LBRACE,
  [273412] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10869), 1,
      anon_sym_LBRACE,
    STATE(7896), 1,
      sym_protocol_body,
    STATE(8455), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [273429] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7594), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273440] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11703), 4,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [273451] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10933), 1,
      anon_sym_LBRACE,
    STATE(8094), 1,
      sym_enum_class_body,
    STATE(8323), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [273468] = 5,
    ACTIONS(10591), 1,
      anon_sym_LT,
    ACTIONS(10707), 1,
      anon_sym_LPAREN,
    STATE(6410), 1,
      aux_sym__function_value_parameters,
    STATE(8380), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [273485] = 5,
    ACTIONS(4748), 1,
      sym_where_keyword,
    ACTIONS(11199), 1,
      anon_sym_LBRACE,
    STATE(4566), 1,
      sym__block,
    STATE(8319), 1,
      sym_where_clause,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [273502] = 5,
    ACTIONS(4748), 1,
      sym_where_keyword,
    ACTIONS(11199), 1,
      anon_sym_LBRACE,
    STATE(4560), 1,
      sym__block,
    STATE(8317), 1,
      sym_where_clause,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [273519] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7485), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273530] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10914), 1,
      anon_sym_LBRACE,
    STATE(7121), 1,
      sym_enum_class_body,
    STATE(8444), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [273547] = 5,
    ACTIONS(4748), 1,
      sym_where_keyword,
    ACTIONS(11199), 1,
      anon_sym_LBRACE,
    STATE(4558), 1,
      sym__block,
    STATE(8316), 1,
      sym_where_clause,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [273564] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10765), 1,
      anon_sym_LBRACE,
    STATE(7639), 1,
      sym_computed_property,
    STATE(8526), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [273581] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11234), 4,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_AMP,
      anon_sym_LBRACE,
  [273592] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3204), 5,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      anon_sym_RBRACE,
  [273603] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10765), 1,
      anon_sym_LBRACE,
    STATE(7551), 1,
      sym_computed_property,
    STATE(8424), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [273620] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7590), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273631] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10914), 1,
      anon_sym_LBRACE,
    STATE(7099), 1,
      sym_enum_class_body,
    STATE(8547), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [273648] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6892), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273659] = 4,
    ACTIONS(11707), 1,
      sym__eq_custom,
    STATE(718), 1,
      sym__equal_sign,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11705), 2,
      anon_sym_COMMA,
      anon_sym_RBRACK,
  [273674] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8510), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273685] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8518), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273696] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6884), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273707] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7325), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273718] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8514), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273729] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      ts_builtin_sym_end,
  [273740] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6876), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273751] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7397), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273762] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7429), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273773] = 5,
    ACTIONS(10591), 1,
      anon_sym_LT,
    ACTIONS(10707), 1,
      anon_sym_LPAREN,
    STATE(6450), 1,
      aux_sym__function_value_parameters,
    STATE(8389), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [273790] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8510), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273801] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6932), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273812] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6932), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273823] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9592), 1,
      anon_sym_LBRACE,
    STATE(8094), 1,
      sym_class_body,
    STATE(8313), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [273840] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6932), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273851] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7471), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273862] = 5,
    ACTIONS(10591), 1,
      anon_sym_LT,
    ACTIONS(10707), 1,
      anon_sym_LPAREN,
    STATE(6416), 1,
      aux_sym__function_value_parameters,
    STATE(8312), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [273879] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6876), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273890] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6880), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273901] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6876), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273912] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7002), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273923] = 5,
    ACTIONS(11595), 1,
      anon_sym_COMMA,
    ACTIONS(11709), 1,
      anon_sym_LBRACE,
    STATE(1202), 1,
      sym__block,
    STATE(7431), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [273940] = 5,
    ACTIONS(11644), 1,
      anon_sym_LT,
    ACTIONS(11711), 1,
      sym__eq_custom,
    STATE(4167), 1,
      sym__equal_sign,
    STATE(8355), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [273957] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3159), 4,
      sym__dot_custom,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [273968] = 5,
    ACTIONS(4748), 1,
      sym_where_keyword,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7105), 1,
      sym__block,
    STATE(8632), 1,
      sym_where_clause,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [273985] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6876), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [273996] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7449), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [274007] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6876), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [274018] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6904), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [274029] = 5,
    ACTIONS(9950), 1,
      anon_sym_LPAREN,
    ACTIONS(10591), 1,
      anon_sym_LT,
    STATE(5710), 1,
      aux_sym__function_value_parameters,
    STATE(8302), 1,
      sym_type_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274046] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10869), 1,
      anon_sym_LBRACE,
    STATE(7891), 1,
      sym_protocol_body,
    STATE(8356), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274063] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6090), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      sym__dot_custom,
      ts_builtin_sym_end,
  [274074] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6900), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [274085] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10918), 1,
      anon_sym_LBRACE,
    STATE(4533), 1,
      sym_enum_class_body,
    STATE(8348), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274102] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6872), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [274113] = 5,
    ACTIONS(4748), 1,
      sym_where_keyword,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7167), 1,
      sym__block,
    STATE(8579), 1,
      sym_where_clause,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274130] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10918), 1,
      anon_sym_LBRACE,
    STATE(4571), 1,
      sym_enum_class_body,
    STATE(8338), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274147] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7415), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [274158] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8438), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [274169] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6876), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [274180] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9636), 1,
      anon_sym_LBRACE,
    STATE(4542), 1,
      sym_class_body,
    STATE(8351), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274197] = 4,
    ACTIONS(11715), 1,
      sym__eq_custom,
    STATE(690), 1,
      sym__equal_sign,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11713), 2,
      anon_sym_COMMA,
      anon_sym_RBRACK,
  [274212] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(11036), 1,
      anon_sym_LBRACE,
    STATE(7832), 1,
      sym_protocol_property_requirements,
    STATE(8500), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274229] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11717), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [274240] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10918), 1,
      anon_sym_LBRACE,
    STATE(4587), 1,
      sym_enum_class_body,
    STATE(8353), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274257] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6872), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [274268] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7331), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [274279] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7189), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [274290] = 5,
    ACTIONS(4748), 1,
      sym_where_keyword,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7432), 1,
      sym__block,
    STATE(8388), 1,
      sym_where_clause,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274307] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8442), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [274318] = 5,
    ACTIONS(11595), 1,
      anon_sym_COMMA,
    ACTIONS(11709), 1,
      anon_sym_LBRACE,
    STATE(1180), 1,
      sym__block,
    STATE(7554), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274335] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8410), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [274346] = 3,
    ACTIONS(5831), 1,
      sym__as_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11636), 3,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
  [274359] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11717), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [274370] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(9592), 1,
      anon_sym_LBRACE,
    STATE(7976), 1,
      sym_class_body,
    STATE(8292), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274387] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10910), 1,
      anon_sym_LBRACE,
    STATE(7973), 1,
      sym_protocol_body,
    STATE(8291), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274404] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6872), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [274415] = 5,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(10933), 1,
      anon_sym_LBRACE,
    STATE(7928), 1,
      sym_enum_class_body,
    STATE(8289), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274432] = 5,
    ACTIONS(4748), 1,
      sym_where_keyword,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7191), 1,
      sym__block,
    STATE(8555), 1,
      sym_where_clause,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274449] = 3,
    ACTIONS(7882), 1,
      sym__as_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11634), 3,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_COLON,
  [274462] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11719), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [274473] = 5,
    ACTIONS(4748), 1,
      sym_where_keyword,
    ACTIONS(11199), 1,
      anon_sym_LBRACE,
    STATE(4535), 1,
      sym__block,
    STATE(8287), 1,
      sym_where_clause,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274490] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8434), 4,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
      anon_sym_RBRACE,
  [274501] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7060), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [274511] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8506), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [274521] = 4,
    ACTIONS(959), 1,
      anon_sym_RPAREN,
    ACTIONS(11721), 1,
      anon_sym_COMMA,
    STATE(8223), 1,
      aux_sym__tuple_pattern_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274535] = 4,
    ACTIONS(11723), 1,
      anon_sym_RPAREN,
    ACTIONS(11725), 1,
      anon_sym_COMMA,
    STATE(7447), 1,
      aux_sym_playground_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274549] = 4,
    ACTIONS(11728), 1,
      anon_sym_COMMA,
    ACTIONS(11730), 1,
      anon_sym_RBRACK,
    STATE(7568), 1,
      aux_sym_array_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274563] = 4,
    ACTIONS(11732), 1,
      anon_sym_COMMA,
    ACTIONS(11734), 1,
      anon_sym_RBRACK,
    STATE(7560), 1,
      aux_sym_dictionary_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274577] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3463), 3,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_RBRACK,
  [274587] = 4,
    ACTIONS(11382), 1,
      anon_sym_RPAREN,
    ACTIONS(11736), 1,
      anon_sym_DOT,
    STATE(7451), 1,
      aux_sym__constrained_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274601] = 4,
    ACTIONS(11739), 1,
      anon_sym_RPAREN,
    ACTIONS(11741), 1,
      anon_sym_COMMA,
    STATE(7775), 1,
      aux_sym__function_value_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274615] = 4,
    ACTIONS(11743), 1,
      anon_sym_COMMA,
    ACTIONS(11745), 1,
      anon_sym_GT,
    STATE(7468), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274629] = 4,
    ACTIONS(11747), 1,
      anon_sym_RPAREN,
    ACTIONS(11749), 1,
      anon_sym_COMMA,
    STATE(7469), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274643] = 4,
    ACTIONS(11751), 1,
      anon_sym_RPAREN,
    ACTIONS(11753), 1,
      anon_sym_COMMA,
    STATE(7471), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274657] = 4,
    ACTIONS(11751), 1,
      anon_sym_RBRACK,
    ACTIONS(11755), 1,
      anon_sym_COMMA,
    STATE(7473), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274671] = 4,
    ACTIONS(11583), 1,
      anon_sym_DOT,
    ACTIONS(11757), 1,
      anon_sym_RPAREN,
    STATE(7127), 1,
      aux_sym__availability_argument_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274685] = 4,
    ACTIONS(11759), 1,
      anon_sym_RPAREN,
    ACTIONS(11761), 1,
      anon_sym_COMMA,
    STATE(7504), 1,
      aux_sym_attribute_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274699] = 4,
    ACTIONS(11763), 1,
      anon_sym_RPAREN,
    ACTIONS(11765), 1,
      anon_sym_DOT,
    STATE(7476), 1,
      aux_sym__constrained_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274713] = 4,
    ACTIONS(11767), 1,
      anon_sym_COMMA,
    ACTIONS(11769), 1,
      anon_sym_RBRACK,
    STATE(7477), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274727] = 4,
    ACTIONS(11771), 1,
      anon_sym_COMMA,
    ACTIONS(11773), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274741] = 4,
    ACTIONS(11775), 1,
      anon_sym_RPAREN,
    ACTIONS(11777), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274755] = 4,
    ACTIONS(1425), 1,
      anon_sym_RPAREN,
    ACTIONS(11779), 1,
      anon_sym_COMMA,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274769] = 3,
    STATE(1846), 1,
      sym_lambda_literal,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4589), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [274781] = 4,
    ACTIONS(1421), 1,
      anon_sym_RPAREN,
    ACTIONS(11781), 1,
      anon_sym_COMMA,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274795] = 4,
    ACTIONS(11783), 1,
      anon_sym_RPAREN,
    ACTIONS(11785), 1,
      anon_sym_COMMA,
    STATE(7481), 1,
      aux_sym_attribute_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274809] = 4,
    ACTIONS(941), 1,
      anon_sym_RPAREN,
    ACTIONS(11787), 1,
      anon_sym_COMMA,
    STATE(8223), 1,
      aux_sym__tuple_pattern_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274823] = 4,
    ACTIONS(11789), 1,
      anon_sym_COMMA,
    ACTIONS(11791), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274837] = 4,
    ACTIONS(1519), 1,
      anon_sym_RPAREN,
    ACTIONS(11793), 1,
      anon_sym_COMMA,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274851] = 3,
    STATE(852), 1,
      sym_lambda_literal,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2757), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [274863] = 4,
    ACTIONS(1515), 1,
      anon_sym_RPAREN,
    ACTIONS(11795), 1,
      anon_sym_COMMA,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274877] = 4,
    ACTIONS(1421), 1,
      anon_sym_RBRACK,
    ACTIONS(11797), 1,
      anon_sym_COMMA,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274891] = 4,
    ACTIONS(1515), 1,
      anon_sym_RBRACK,
    ACTIONS(11799), 1,
      anon_sym_COMMA,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274905] = 4,
    ACTIONS(6341), 1,
      anon_sym_while,
    ACTIONS(6343), 1,
      sym__implicit_semi,
    STATE(7632), 1,
      aux_sym_repeat_while_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274919] = 4,
    ACTIONS(11583), 1,
      anon_sym_DOT,
    ACTIONS(11801), 1,
      anon_sym_RPAREN,
    STATE(7485), 1,
      aux_sym__availability_argument_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274933] = 4,
    ACTIONS(11765), 1,
      anon_sym_DOT,
    ACTIONS(11801), 1,
      anon_sym_RPAREN,
    STATE(7451), 1,
      aux_sym__constrained_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274947] = 4,
    ACTIONS(11767), 1,
      anon_sym_COMMA,
    ACTIONS(11803), 1,
      anon_sym_RBRACK,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274961] = 4,
    ACTIONS(11805), 1,
      anon_sym_RPAREN,
    ACTIONS(11807), 1,
      anon_sym_COMMA,
    STATE(7623), 1,
      aux_sym_tuple_expression_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [274975] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7421), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [274985] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3295), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [274995] = 4,
    ACTIONS(1568), 1,
      anon_sym_RPAREN,
    ACTIONS(11809), 1,
      anon_sym_COMMA,
    STATE(8206), 1,
      aux_sym_attribute_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275009] = 4,
    ACTIONS(11583), 1,
      anon_sym_DOT,
    ACTIONS(11811), 1,
      anon_sym_RPAREN,
    STATE(7508), 1,
      aux_sym__availability_argument_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275023] = 4,
    ACTIONS(11765), 1,
      anon_sym_DOT,
    ACTIONS(11811), 1,
      anon_sym_RPAREN,
    STATE(7451), 1,
      aux_sym__constrained_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275037] = 4,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3098), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275051] = 4,
    ACTIONS(11583), 1,
      anon_sym_DOT,
    ACTIONS(11813), 1,
      anon_sym_RPAREN,
    STATE(7127), 1,
      aux_sym__availability_argument_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275065] = 4,
    ACTIONS(11815), 1,
      anon_sym_while,
    ACTIONS(11817), 1,
      sym__implicit_semi,
    STATE(8068), 1,
      aux_sym_repeat_while_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275079] = 4,
    ACTIONS(11819), 1,
      anon_sym_RPAREN,
    ACTIONS(11821), 1,
      anon_sym_COMMA,
    STATE(7462), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275093] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8345), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [275103] = 4,
    ACTIONS(11767), 1,
      anon_sym_COMMA,
    ACTIONS(11823), 1,
      anon_sym_RBRACK,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275117] = 4,
    ACTIONS(9877), 1,
      anon_sym_RPAREN,
    ACTIONS(11825), 1,
      anon_sym_COMMA,
    STATE(7447), 1,
      aux_sym_playground_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275131] = 4,
    ACTIONS(11827), 1,
      anon_sym_RPAREN,
    ACTIONS(11829), 1,
      anon_sym_COMMA,
    STATE(7623), 1,
      aux_sym_tuple_expression_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275145] = 4,
    ACTIONS(11831), 1,
      anon_sym_RPAREN,
    ACTIONS(11833), 1,
      anon_sym_COMMA,
    STATE(7623), 1,
      aux_sym_tuple_expression_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275159] = 4,
    ACTIONS(11835), 1,
      anon_sym_RPAREN,
    ACTIONS(11837), 1,
      anon_sym_COMMA,
    STATE(7512), 1,
      aux_sym_availability_condition_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275173] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(3315), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [275183] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11839), 3,
      sym__eq_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [275193] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11841), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [275203] = 4,
    ACTIONS(4851), 1,
      anon_sym_COMMA,
    ACTIONS(11843), 1,
      anon_sym_RPAREN,
    STATE(7570), 1,
      aux_sym_enum_type_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275217] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2655), 3,
      sym__eq_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [275227] = 4,
    ACTIONS(133), 1,
      sym_raw_str_part,
    ACTIONS(11845), 1,
      sym_raw_str_end_part,
    STATE(7975), 1,
      aux_sym_raw_string_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275241] = 4,
    ACTIONS(4482), 1,
      sym__dot_custom,
    STATE(2735), 1,
      sym_navigation_suffix,
    STATE(5343), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275255] = 4,
    ACTIONS(4482), 1,
      sym__dot_custom,
    STATE(2768), 1,
      sym_navigation_suffix,
    STATE(5343), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275269] = 4,
    ACTIONS(11847), 1,
      anon_sym_COMMA,
    ACTIONS(11849), 1,
      anon_sym_RBRACK,
    STATE(7449), 1,
      aux_sym_dictionary_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275283] = 4,
    ACTIONS(4851), 1,
      anon_sym_COMMA,
    ACTIONS(11851), 1,
      anon_sym_RPAREN,
    STATE(7570), 1,
      aux_sym_enum_type_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275297] = 4,
    ACTIONS(1594), 1,
      anon_sym_RPAREN,
    ACTIONS(11853), 1,
      anon_sym_COMMA,
    STATE(8206), 1,
      aux_sym_attribute_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275311] = 4,
    ACTIONS(8532), 1,
      anon_sym_get,
    ACTIONS(8534), 1,
      anon_sym_set,
    ACTIONS(8536), 1,
      anon_sym__modify,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275325] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7056), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [275335] = 4,
    ACTIONS(11855), 1,
      anon_sym_RPAREN,
    ACTIONS(11857), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275349] = 4,
    ACTIONS(11583), 1,
      anon_sym_DOT,
    ACTIONS(11859), 1,
      anon_sym_RPAREN,
    STATE(7127), 1,
      aux_sym__availability_argument_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275363] = 4,
    ACTIONS(133), 1,
      sym_raw_str_part,
    ACTIONS(11861), 1,
      sym_raw_str_end_part,
    STATE(7975), 1,
      aux_sym_raw_string_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275377] = 4,
    ACTIONS(2883), 1,
      sym__dot_custom,
    STATE(1235), 1,
      sym_navigation_suffix,
    STATE(5398), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275391] = 4,
    ACTIONS(2883), 1,
      sym__dot_custom,
    STATE(1315), 1,
      sym_navigation_suffix,
    STATE(5398), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275405] = 4,
    ACTIONS(9477), 1,
      anon_sym_RPAREN,
    ACTIONS(11863), 1,
      anon_sym_COMMA,
    STATE(7947), 1,
      aux_sym_availability_condition_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275419] = 4,
    ACTIONS(9121), 1,
      anon_sym_RBRACK,
    ACTIONS(11865), 1,
      anon_sym_COMMA,
    STATE(8224), 1,
      aux_sym_capture_list_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275433] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6888), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [275443] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6952), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [275453] = 4,
    ACTIONS(11767), 1,
      anon_sym_COMMA,
    ACTIONS(11867), 1,
      anon_sym_RBRACK,
    STATE(7489), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275467] = 4,
    ACTIONS(4817), 1,
      anon_sym_COMMA,
    ACTIONS(4869), 1,
      anon_sym_COLON,
    STATE(7907), 1,
      aux_sym_switch_entry_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275481] = 4,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(11869), 1,
      anon_sym_LPAREN,
    STATE(4809), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275495] = 4,
    ACTIONS(11871), 1,
      anon_sym_RPAREN,
    ACTIONS(11873), 1,
      anon_sym_COMMA,
    STATE(7536), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275509] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6896), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [275519] = 4,
    ACTIONS(4325), 1,
      anon_sym_while,
    ACTIONS(11817), 1,
      sym__implicit_semi,
    STATE(8068), 1,
      aux_sym_repeat_while_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275533] = 4,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(11875), 1,
      anon_sym_LPAREN,
    STATE(4800), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275547] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6956), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [275557] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6960), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [275567] = 3,
    ACTIONS(11877), 1,
      anon_sym_BANG2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5837), 2,
      sym_where_keyword,
      anon_sym_LBRACE,
  [275579] = 4,
    ACTIONS(9923), 1,
      anon_sym_RPAREN,
    ACTIONS(11879), 1,
      anon_sym_COMMA,
    STATE(7447), 1,
      aux_sym_playground_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275593] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6964), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [275603] = 4,
    ACTIONS(11881), 1,
      anon_sym_COMMA,
    ACTIONS(11883), 1,
      anon_sym_GT,
    STATE(7543), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275617] = 4,
    ACTIONS(11885), 1,
      anon_sym_RPAREN,
    ACTIONS(11887), 1,
      anon_sym_COMMA,
    STATE(7546), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275631] = 4,
    ACTIONS(11885), 1,
      anon_sym_RBRACK,
    ACTIONS(11889), 1,
      anon_sym_COMMA,
    STATE(7548), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275645] = 4,
    ACTIONS(9848), 1,
      anon_sym_RPAREN,
    ACTIONS(11891), 1,
      anon_sym_COMMA,
    STATE(7447), 1,
      aux_sym_playground_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275659] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6916), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [275669] = 4,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3142), 1,
      sym_function_body,
    STATE(3201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275683] = 4,
    ACTIONS(11765), 1,
      anon_sym_DOT,
    ACTIONS(11893), 1,
      anon_sym_RPAREN,
    STATE(7550), 1,
      aux_sym__constrained_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275697] = 4,
    ACTIONS(11765), 1,
      anon_sym_DOT,
    ACTIONS(11895), 1,
      anon_sym_RPAREN,
    STATE(7483), 1,
      aux_sym__constrained_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275711] = 4,
    ACTIONS(11897), 1,
      anon_sym_RPAREN,
    ACTIONS(11899), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275725] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6948), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [275735] = 4,
    ACTIONS(11901), 1,
      anon_sym_COMMA,
    ACTIONS(11903), 1,
      anon_sym_RBRACK,
    STATE(7472), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275749] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6908), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [275759] = 4,
    ACTIONS(10822), 1,
      anon_sym_in,
    ACTIONS(10824), 1,
      sym__arrow_operator_custom,
    STATE(3952), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275773] = 4,
    ACTIONS(11905), 1,
      anon_sym_RPAREN,
    ACTIONS(11907), 1,
      anon_sym_COMMA,
    STATE(7555), 1,
      aux_sym_attribute_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275787] = 4,
    ACTIONS(11583), 1,
      anon_sym_DOT,
    ACTIONS(11909), 1,
      anon_sym_RPAREN,
    STATE(7127), 1,
      aux_sym__availability_argument_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275801] = 4,
    ACTIONS(11911), 1,
      anon_sym_COMMA,
    ACTIONS(11913), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275815] = 3,
    STATE(1024), 1,
      sym_lambda_literal,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2899), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [275827] = 4,
    ACTIONS(11903), 1,
      anon_sym_RPAREN,
    ACTIONS(11915), 1,
      anon_sym_COMMA,
    STATE(7465), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275841] = 4,
    ACTIONS(1491), 1,
      anon_sym_RPAREN,
    ACTIONS(11917), 1,
      anon_sym_COMMA,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275855] = 4,
    ACTIONS(11919), 1,
      anon_sym_RPAREN,
    ACTIONS(11921), 1,
      anon_sym_COMMA,
    STATE(7463), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275869] = 4,
    ACTIONS(1491), 1,
      anon_sym_RBRACK,
    ACTIONS(11923), 1,
      anon_sym_COMMA,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275883] = 4,
    ACTIONS(11583), 1,
      anon_sym_DOT,
    ACTIONS(11925), 1,
      anon_sym_RPAREN,
    STATE(7559), 1,
      aux_sym__availability_argument_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275897] = 4,
    ACTIONS(11765), 1,
      anon_sym_DOT,
    ACTIONS(11925), 1,
      anon_sym_RPAREN,
    STATE(7451), 1,
      aux_sym__constrained_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275911] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6956), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [275921] = 4,
    ACTIONS(4817), 1,
      anon_sym_COMMA,
    ACTIONS(11927), 1,
      anon_sym_COLON,
    STATE(7907), 1,
      aux_sym_switch_entry_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275935] = 4,
    ACTIONS(11929), 1,
      anon_sym_COMMA,
    ACTIONS(11931), 1,
      anon_sym_GT,
    STATE(7461), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275949] = 4,
    ACTIONS(8306), 1,
      anon_sym_LBRACE,
    ACTIONS(11933), 1,
      anon_sym_COMMA,
    STATE(7554), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275963] = 4,
    ACTIONS(1616), 1,
      anon_sym_RPAREN,
    ACTIONS(11936), 1,
      anon_sym_COMMA,
    STATE(8206), 1,
      aux_sym_attribute_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275977] = 4,
    ACTIONS(11938), 1,
      anon_sym_RPAREN,
    ACTIONS(11940), 1,
      anon_sym_COMMA,
    STATE(7452), 1,
      aux_sym__function_value_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [275991] = 4,
    ACTIONS(4915), 1,
      sym__dot_custom,
    STATE(3634), 1,
      sym_navigation_suffix,
    STATE(5492), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276005] = 4,
    ACTIONS(4915), 1,
      sym__dot_custom,
    STATE(3638), 1,
      sym_navigation_suffix,
    STATE(5492), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276019] = 4,
    ACTIONS(11583), 1,
      anon_sym_DOT,
    ACTIONS(11942), 1,
      anon_sym_RPAREN,
    STATE(7127), 1,
      aux_sym__availability_argument_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276033] = 4,
    ACTIONS(11944), 1,
      anon_sym_COMMA,
    ACTIONS(11947), 1,
      anon_sym_RBRACK,
    STATE(7560), 1,
      aux_sym_dictionary_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276047] = 4,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(3201), 1,
      sym__block,
    STATE(3208), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276061] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7495), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [276071] = 4,
    ACTIONS(1630), 1,
      anon_sym_RPAREN,
    ACTIONS(11949), 1,
      anon_sym_COMMA,
    STATE(8206), 1,
      aux_sym_attribute_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276085] = 4,
    ACTIONS(133), 1,
      sym_raw_str_part,
    ACTIONS(11951), 1,
      sym_raw_str_end_part,
    STATE(7975), 1,
      aux_sym_raw_string_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276099] = 4,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(11007), 1,
      anon_sym_LBRACE,
    STATE(8884), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276113] = 4,
    ACTIONS(11953), 1,
      anon_sym_COMMA,
    ACTIONS(11955), 1,
      anon_sym_RBRACK,
    STATE(7607), 1,
      aux_sym_dictionary_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276127] = 4,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(11007), 1,
      anon_sym_LBRACE,
    STATE(8887), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276141] = 4,
    ACTIONS(11957), 1,
      anon_sym_COMMA,
    ACTIONS(11960), 1,
      anon_sym_RBRACK,
    STATE(7568), 1,
      aux_sym_array_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276155] = 4,
    ACTIONS(11962), 1,
      anon_sym_RPAREN,
    ACTIONS(11964), 1,
      anon_sym_COMMA,
    STATE(7623), 1,
      aux_sym_tuple_expression_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276169] = 4,
    ACTIONS(11966), 1,
      anon_sym_RPAREN,
    ACTIONS(11968), 1,
      anon_sym_COMMA,
    STATE(7570), 1,
      aux_sym_enum_type_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276183] = 4,
    ACTIONS(11767), 1,
      anon_sym_COMMA,
    ACTIONS(11971), 1,
      anon_sym_RBRACK,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276197] = 4,
    ACTIONS(11973), 1,
      anon_sym_RPAREN,
    ACTIONS(11975), 1,
      anon_sym_COMMA,
    STATE(7583), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276211] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6896), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [276221] = 4,
    ACTIONS(11977), 1,
      anon_sym_RPAREN,
    ACTIONS(11979), 1,
      anon_sym_COMMA,
    STATE(7446), 1,
      aux_sym__tuple_pattern_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276235] = 4,
    ACTIONS(11765), 1,
      anon_sym_DOT,
    ACTIONS(11981), 1,
      anon_sym_RPAREN,
    STATE(7451), 1,
      aux_sym__constrained_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276249] = 4,
    ACTIONS(11583), 1,
      anon_sym_DOT,
    ACTIONS(11981), 1,
      anon_sym_RPAREN,
    STATE(7542), 1,
      aux_sym__availability_argument_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276263] = 4,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(11017), 1,
      anon_sym_LBRACE,
    STATE(8906), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276277] = 4,
    ACTIONS(9425), 1,
      anon_sym_RPAREN,
    ACTIONS(11983), 1,
      anon_sym_COMMA,
    STATE(7947), 1,
      aux_sym_availability_condition_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276291] = 4,
    ACTIONS(11985), 1,
      anon_sym_COMMA,
    ACTIONS(11987), 1,
      anon_sym_RBRACK,
    STATE(7560), 1,
      aux_sym_dictionary_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276305] = 4,
    ACTIONS(1503), 1,
      anon_sym_RBRACK,
    ACTIONS(11989), 1,
      anon_sym_COMMA,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276319] = 4,
    ACTIONS(11991), 1,
      anon_sym_COMMA,
    ACTIONS(11993), 1,
      anon_sym_GT,
    STATE(7589), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276333] = 4,
    ACTIONS(11995), 1,
      anon_sym_COMMA,
    ACTIONS(11997), 1,
      anon_sym_RBRACK,
    STATE(7568), 1,
      aux_sym_array_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276347] = 4,
    ACTIONS(11999), 1,
      anon_sym_RPAREN,
    ACTIONS(12001), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276361] = 4,
    ACTIONS(4817), 1,
      anon_sym_COMMA,
    ACTIONS(11621), 1,
      anon_sym_COLON,
    STATE(7907), 1,
      aux_sym_switch_entry_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276375] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7525), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [276385] = 4,
    ACTIONS(1503), 1,
      anon_sym_RPAREN,
    ACTIONS(12003), 1,
      anon_sym_COMMA,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276399] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(12005), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [276409] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7006), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [276419] = 4,
    ACTIONS(12007), 1,
      anon_sym_COMMA,
    ACTIONS(12009), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276433] = 4,
    ACTIONS(12011), 1,
      anon_sym_RPAREN,
    ACTIONS(12013), 1,
      anon_sym_COMMA,
    STATE(7623), 1,
      aux_sym_tuple_expression_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276447] = 3,
    STATE(1829), 1,
      sym_lambda_literal,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4546), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [276459] = 4,
    ACTIONS(1501), 1,
      anon_sym_RPAREN,
    ACTIONS(12015), 1,
      anon_sym_COMMA,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276473] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7006), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [276483] = 4,
    ACTIONS(12017), 1,
      anon_sym_RPAREN,
    ACTIONS(12019), 1,
      anon_sym_COMMA,
    STATE(7638), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276497] = 4,
    ACTIONS(12021), 1,
      anon_sym_COMMA,
    ACTIONS(12023), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276511] = 4,
    ACTIONS(4851), 1,
      anon_sym_COMMA,
    ACTIONS(12025), 1,
      anon_sym_RPAREN,
    STATE(7570), 1,
      aux_sym_enum_type_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276525] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(12027), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [276535] = 4,
    ACTIONS(12029), 1,
      anon_sym_COMMA,
    ACTIONS(12031), 1,
      anon_sym_RBRACK,
    STATE(7568), 1,
      aux_sym_array_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276549] = 4,
    ACTIONS(12033), 1,
      anon_sym_RPAREN,
    ACTIONS(12035), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276563] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11629), 3,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_RBRACK,
  [276573] = 4,
    ACTIONS(12037), 1,
      anon_sym_COMMA,
    ACTIONS(12040), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276587] = 4,
    ACTIONS(4851), 1,
      anon_sym_COMMA,
    ACTIONS(12042), 1,
      anon_sym_RPAREN,
    STATE(7570), 1,
      aux_sym_enum_type_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276601] = 4,
    ACTIONS(12044), 1,
      anon_sym_RPAREN,
    ACTIONS(12046), 1,
      anon_sym_COMMA,
    STATE(7563), 1,
      aux_sym_attribute_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276615] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7014), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [276625] = 4,
    ACTIONS(12048), 1,
      anon_sym_RPAREN,
    ACTIONS(12050), 1,
      anon_sym_COMMA,
    STATE(7616), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276639] = 4,
    ACTIONS(12052), 1,
      anon_sym_RPAREN,
    ACTIONS(12054), 1,
      anon_sym_COMMA,
    STATE(7681), 1,
      aux_sym__tuple_pattern_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276653] = 4,
    ACTIONS(12056), 1,
      anon_sym_COMMA,
    ACTIONS(12058), 1,
      anon_sym_RBRACK,
    STATE(7560), 1,
      aux_sym_dictionary_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276667] = 4,
    ACTIONS(4851), 1,
      anon_sym_COMMA,
    ACTIONS(12060), 1,
      anon_sym_RPAREN,
    STATE(7570), 1,
      aux_sym_enum_type_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276681] = 4,
    ACTIONS(12062), 1,
      anon_sym_RPAREN,
    ACTIONS(12064), 1,
      anon_sym_COMMA,
    STATE(7623), 1,
      aux_sym_tuple_expression_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276695] = 4,
    ACTIONS(12066), 1,
      anon_sym_RPAREN,
    ACTIONS(12068), 1,
      anon_sym_COMMA,
    STATE(7687), 1,
      aux_sym__function_value_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276709] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7882), 3,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_LBRACE,
  [276719] = 4,
    ACTIONS(12070), 1,
      anon_sym_COMMA,
    ACTIONS(12072), 1,
      anon_sym_GT,
    STATE(7694), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276733] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5881), 3,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_LBRACE,
  [276743] = 4,
    ACTIONS(12074), 1,
      anon_sym_COMMA,
    ACTIONS(12076), 1,
      anon_sym_GT,
    STATE(7620), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276757] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5831), 3,
      sym_where_keyword,
      sym__as_custom,
      anon_sym_LBRACE,
  [276767] = 4,
    ACTIONS(12078), 1,
      anon_sym_RPAREN,
    ACTIONS(12080), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276781] = 4,
    ACTIONS(12082), 1,
      anon_sym_RPAREN,
    ACTIONS(12084), 1,
      anon_sym_COMMA,
    STATE(7695), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276795] = 4,
    ACTIONS(12086), 1,
      anon_sym_RPAREN,
    ACTIONS(12088), 1,
      anon_sym_COMMA,
    STATE(7699), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276809] = 4,
    ACTIONS(4851), 1,
      anon_sym_COMMA,
    ACTIONS(12090), 1,
      anon_sym_RPAREN,
    STATE(7570), 1,
      aux_sym_enum_type_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276823] = 4,
    ACTIONS(12092), 1,
      anon_sym_COMMA,
    ACTIONS(12094), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276837] = 4,
    ACTIONS(12086), 1,
      anon_sym_RBRACK,
    ACTIONS(12096), 1,
      anon_sym_COMMA,
    STATE(7702), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276851] = 4,
    ACTIONS(1586), 1,
      anon_sym_RPAREN,
    ACTIONS(12098), 1,
      anon_sym_COMMA,
    STATE(8206), 1,
      aux_sym_attribute_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276865] = 4,
    ACTIONS(12100), 1,
      anon_sym_RPAREN,
    ACTIONS(12102), 1,
      anon_sym_COMMA,
    STATE(7623), 1,
      aux_sym_tuple_expression_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276879] = 4,
    ACTIONS(11767), 1,
      anon_sym_COMMA,
    ACTIONS(12105), 1,
      anon_sym_RBRACK,
    STATE(8073), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276893] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7056), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [276903] = 4,
    ACTIONS(12107), 1,
      anon_sym_RPAREN,
    ACTIONS(12109), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276917] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6956), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [276927] = 4,
    ACTIONS(11765), 1,
      anon_sym_DOT,
    ACTIONS(12111), 1,
      anon_sym_RPAREN,
    STATE(7706), 1,
      aux_sym__constrained_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276941] = 4,
    ACTIONS(11767), 1,
      anon_sym_COMMA,
    ACTIONS(12113), 1,
      anon_sym_RBRACK,
    STATE(7571), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276955] = 4,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7331), 1,
      sym__block,
    STATE(7717), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276969] = 4,
    ACTIONS(11765), 1,
      anon_sym_DOT,
    ACTIONS(12115), 1,
      anon_sym_RPAREN,
    STATE(7575), 1,
      aux_sym__constrained_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276983] = 4,
    ACTIONS(6345), 1,
      anon_sym_while,
    ACTIONS(11817), 1,
      sym__implicit_semi,
    STATE(8068), 1,
      aux_sym_repeat_while_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [276997] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7080), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [277007] = 4,
    ACTIONS(11767), 1,
      anon_sym_COMMA,
    ACTIONS(12117), 1,
      anon_sym_RBRACK,
    STATE(7711), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277021] = 4,
    ACTIONS(12119), 1,
      anon_sym_RPAREN,
    ACTIONS(12121), 1,
      anon_sym_COMMA,
    STATE(7645), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277035] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6994), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [277045] = 4,
    ACTIONS(12123), 1,
      anon_sym_in,
    ACTIONS(12125), 1,
      sym__arrow_operator_custom,
    STATE(4003), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277059] = 4,
    ACTIONS(12127), 1,
      anon_sym_RPAREN,
    ACTIONS(12129), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277073] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7010), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [277083] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7479), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [277093] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3471), 3,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      anon_sym_RPAREN,
  [277103] = 4,
    ACTIONS(12131), 1,
      anon_sym_COMMA,
    ACTIONS(12133), 1,
      anon_sym_RBRACK,
    STATE(7580), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277117] = 4,
    ACTIONS(12135), 1,
      anon_sym_COMMA,
    ACTIONS(12137), 1,
      anon_sym_GT,
    STATE(7649), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277131] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7080), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [277141] = 4,
    ACTIONS(12139), 1,
      anon_sym_RPAREN,
    ACTIONS(12141), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277155] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7014), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [277165] = 4,
    ACTIONS(10973), 1,
      anon_sym_RPAREN,
    ACTIONS(12143), 1,
      anon_sym_COMMA,
    STATE(7700), 1,
      aux_sym_lambda_function_type_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277179] = 4,
    ACTIONS(12133), 1,
      anon_sym_RPAREN,
    ACTIONS(12145), 1,
      anon_sym_COMMA,
    STATE(7586), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277193] = 4,
    ACTIONS(12147), 1,
      anon_sym_COMMA,
    ACTIONS(12149), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277207] = 4,
    ACTIONS(12151), 1,
      anon_sym_RPAREN,
    ACTIONS(12153), 1,
      anon_sym_COMMA,
    STATE(7592), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277221] = 4,
    ACTIONS(12155), 1,
      anon_sym_COMMA,
    ACTIONS(12157), 1,
      anon_sym_GT,
    STATE(7595), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277235] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7006), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [277245] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7010), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [277255] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7006), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [277265] = 4,
    ACTIONS(12159), 1,
      anon_sym_RPAREN,
    ACTIONS(12161), 1,
      anon_sym_COMMA,
    STATE(7775), 1,
      aux_sym__function_value_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277279] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6956), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [277289] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7084), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [277299] = 4,
    ACTIONS(12163), 1,
      anon_sym_COMMA,
    ACTIONS(12165), 1,
      anon_sym_RBRACK,
    STATE(7560), 1,
      aux_sym_dictionary_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277313] = 3,
    STATE(5086), 1,
      sym_value_binding_pattern,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3997), 2,
      anon_sym_let,
      anon_sym_var,
  [277325] = 4,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(8045), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277339] = 4,
    ACTIONS(12167), 1,
      anon_sym_COMMA,
    ACTIONS(12169), 1,
      anon_sym_RBRACK,
    STATE(7568), 1,
      aux_sym_array_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277353] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6964), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [277363] = 4,
    ACTIONS(12171), 1,
      anon_sym_RPAREN,
    ACTIONS(12173), 1,
      anon_sym_COMMA,
    STATE(7626), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277377] = 4,
    ACTIONS(12175), 1,
      anon_sym_RPAREN,
    ACTIONS(12177), 1,
      anon_sym_COMMA,
    STATE(7674), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277391] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6960), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [277401] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6896), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [277411] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7129), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [277421] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7137), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [277431] = 4,
    ACTIONS(133), 1,
      sym_raw_str_part,
    ACTIONS(12179), 1,
      sym_raw_str_end_part,
    STATE(7975), 1,
      aux_sym_raw_string_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277445] = 3,
    ACTIONS(12183), 1,
      sym_raw_str_continuing_indicator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(12181), 2,
      sym_raw_str_part,
      sym_raw_str_end_part,
  [277457] = 4,
    ACTIONS(12185), 1,
      anon_sym_RPAREN,
    ACTIONS(12187), 1,
      anon_sym_COMMA,
    STATE(7623), 1,
      aux_sym_tuple_expression_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277471] = 4,
    ACTIONS(12189), 1,
      anon_sym_COMMA,
    ACTIONS(12191), 1,
      anon_sym_GT,
    STATE(7678), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277485] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7151), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [277495] = 4,
    ACTIONS(12193), 1,
      anon_sym_RPAREN,
    ACTIONS(12195), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277509] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6916), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [277519] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7159), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [277529] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6908), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [277539] = 4,
    ACTIONS(12197), 1,
      anon_sym_COMMA,
    ACTIONS(12199), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277553] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7491), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [277563] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6896), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [277573] = 4,
    ACTIONS(943), 1,
      anon_sym_RPAREN,
    ACTIONS(12201), 1,
      anon_sym_COMMA,
    STATE(8223), 1,
      aux_sym__tuple_pattern_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277587] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7163), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [277597] = 4,
    ACTIONS(12203), 1,
      anon_sym_COMMA,
    ACTIONS(12205), 1,
      anon_sym_RBRACK,
    STATE(7658), 1,
      aux_sym_dictionary_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277611] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7189), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [277621] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6944), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [277631] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6940), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [277641] = 4,
    ACTIONS(12207), 1,
      anon_sym_RPAREN,
    ACTIONS(12209), 1,
      anon_sym_COMMA,
    STATE(7775), 1,
      aux_sym__function_value_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277655] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6944), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [277665] = 4,
    ACTIONS(133), 1,
      sym_raw_str_part,
    ACTIONS(12211), 1,
      sym_raw_str_end_part,
    STATE(7975), 1,
      aux_sym_raw_string_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277679] = 4,
    ACTIONS(4566), 1,
      sym__dot_custom,
    STATE(2841), 1,
      sym_navigation_suffix,
    STATE(5373), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277693] = 4,
    ACTIONS(12213), 1,
      anon_sym_RPAREN,
    ACTIONS(12215), 1,
      anon_sym_COMMA,
    STATE(7820), 1,
      aux_sym_attribute_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277707] = 4,
    ACTIONS(4566), 1,
      sym__dot_custom,
    STATE(2945), 1,
      sym_navigation_suffix,
    STATE(5373), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277721] = 4,
    ACTIONS(12217), 1,
      anon_sym_RPAREN,
    ACTIONS(12219), 1,
      anon_sym_COMMA,
    STATE(7703), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277735] = 4,
    ACTIONS(12221), 1,
      anon_sym_COMMA,
    ACTIONS(12223), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277749] = 4,
    ACTIONS(1419), 1,
      anon_sym_RPAREN,
    ACTIONS(12225), 1,
      anon_sym_COMMA,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277763] = 3,
    STATE(1937), 1,
      sym_lambda_literal,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4963), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [277775] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6948), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [277785] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6952), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [277795] = 4,
    ACTIONS(1429), 1,
      anon_sym_RPAREN,
    ACTIONS(12227), 1,
      anon_sym_COMMA,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277809] = 4,
    ACTIONS(9225), 1,
      anon_sym_RPAREN,
    ACTIONS(12229), 1,
      anon_sym_COMMA,
    STATE(7802), 1,
      aux_sym_lambda_function_type_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277823] = 4,
    ACTIONS(12231), 1,
      anon_sym_COMMA,
    ACTIONS(12233), 1,
      anon_sym_GT,
    STATE(7707), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277837] = 4,
    ACTIONS(1429), 1,
      anon_sym_RBRACK,
    ACTIONS(12235), 1,
      anon_sym_COMMA,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277851] = 4,
    ACTIONS(12237), 1,
      anon_sym_RPAREN,
    ACTIONS(12239), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277865] = 4,
    ACTIONS(12241), 1,
      anon_sym_RPAREN,
    ACTIONS(12243), 1,
      anon_sym_COMMA,
    STATE(7507), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277879] = 4,
    ACTIONS(11583), 1,
      anon_sym_DOT,
    ACTIONS(12245), 1,
      anon_sym_RPAREN,
    STATE(7727), 1,
      aux_sym__availability_argument_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277893] = 4,
    ACTIONS(11765), 1,
      anon_sym_DOT,
    ACTIONS(12245), 1,
      anon_sym_RPAREN,
    STATE(7451), 1,
      aux_sym__constrained_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277907] = 4,
    ACTIONS(12247), 1,
      anon_sym_COMMA,
    ACTIONS(12249), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277921] = 4,
    ACTIONS(9830), 1,
      anon_sym_RPAREN,
    ACTIONS(12251), 1,
      anon_sym_COMMA,
    STATE(7447), 1,
      aux_sym_playground_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277935] = 4,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7331), 1,
      sym__block,
    STATE(7697), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277949] = 4,
    ACTIONS(11765), 1,
      anon_sym_DOT,
    ACTIONS(12253), 1,
      anon_sym_RPAREN,
    STATE(8008), 1,
      aux_sym__constrained_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277963] = 4,
    ACTIONS(11767), 1,
      anon_sym_COMMA,
    ACTIONS(12255), 1,
      anon_sym_RBRACK,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277977] = 4,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7331), 1,
      sym__block,
    STATE(7931), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [277991] = 4,
    ACTIONS(9826), 1,
      anon_sym_RPAREN,
    ACTIONS(12257), 1,
      anon_sym_COMMA,
    STATE(7447), 1,
      aux_sym_playground_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278005] = 4,
    ACTIONS(12259), 1,
      anon_sym_RPAREN,
    ACTIONS(12261), 1,
      anon_sym_COMMA,
    STATE(7623), 1,
      aux_sym_tuple_expression_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278019] = 4,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(11120), 1,
      anon_sym_LBRACE,
    STATE(8927), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278033] = 4,
    ACTIONS(12263), 1,
      anon_sym_RPAREN,
    ACTIONS(12265), 1,
      anon_sym_COMMA,
    STATE(7731), 1,
      aux_sym_availability_condition_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278047] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7044), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [278057] = 4,
    ACTIONS(11199), 1,
      anon_sym_LBRACE,
    STATE(4538), 1,
      sym__block,
    STATE(4567), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278071] = 4,
    ACTIONS(12267), 1,
      anon_sym_COMMA,
    ACTIONS(12269), 1,
      anon_sym_RBRACK,
    STATE(8238), 1,
      aux_sym_dictionary_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278085] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7247), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [278095] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7253), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [278105] = 4,
    ACTIONS(12271), 1,
      anon_sym_RPAREN,
    ACTIONS(12273), 1,
      anon_sym_COMMA,
    STATE(7732), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278119] = 4,
    ACTIONS(11583), 1,
      anon_sym_DOT,
    ACTIONS(12275), 1,
      anon_sym_RPAREN,
    STATE(7127), 1,
      aux_sym__availability_argument_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278133] = 4,
    ACTIONS(12277), 1,
      anon_sym_COMMA,
    ACTIONS(12279), 1,
      anon_sym_RBRACK,
    STATE(7579), 1,
      aux_sym_dictionary_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278147] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7257), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [278157] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7610), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [278167] = 4,
    ACTIONS(11583), 1,
      anon_sym_DOT,
    ACTIONS(12281), 1,
      anon_sym_RPAREN,
    STATE(7127), 1,
      aux_sym__availability_argument_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278181] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(12283), 3,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_GT,
  [278191] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7287), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [278201] = 4,
    ACTIONS(12285), 1,
      anon_sym_COMMA,
    ACTIONS(12287), 1,
      anon_sym_GT,
    STATE(7736), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278215] = 4,
    ACTIONS(9482), 1,
      anon_sym_RPAREN,
    ACTIONS(12289), 1,
      anon_sym_COMMA,
    STATE(7947), 1,
      aux_sym_availability_condition_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278229] = 4,
    ACTIONS(12291), 1,
      anon_sym_RPAREN,
    ACTIONS(12293), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278243] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11619), 3,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_GT,
  [278253] = 4,
    ACTIONS(1610), 1,
      anon_sym_RPAREN,
    ACTIONS(12295), 1,
      anon_sym_COMMA,
    STATE(8206), 1,
      aux_sym_attribute_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278267] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(11070), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [278277] = 4,
    ACTIONS(12297), 1,
      anon_sym_COMMA,
    ACTIONS(12299), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278291] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7614), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [278301] = 4,
    ACTIONS(9885), 1,
      anon_sym_RPAREN,
    ACTIONS(12301), 1,
      anon_sym_COMMA,
    STATE(7447), 1,
      aux_sym_playground_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278315] = 4,
    ACTIONS(133), 1,
      sym_raw_str_part,
    ACTIONS(12303), 1,
      sym_raw_str_end_part,
    STATE(7975), 1,
      aux_sym_raw_string_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278329] = 4,
    ACTIONS(12305), 1,
      anon_sym_RPAREN,
    ACTIONS(12307), 1,
      anon_sym_COMMA,
    STATE(7970), 1,
      aux_sym__interpolation_contents_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278343] = 4,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(12309), 1,
      anon_sym_LPAREN,
    STATE(4821), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278357] = 4,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7667), 1,
      sym__block,
    STATE(7668), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278371] = 4,
    ACTIONS(2739), 1,
      sym__dot_custom,
    STATE(895), 1,
      sym_navigation_suffix,
    STATE(5506), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278385] = 4,
    ACTIONS(12311), 1,
      anon_sym_RPAREN,
    ACTIONS(12313), 1,
      anon_sym_COMMA,
    STATE(7623), 1,
      aux_sym_tuple_expression_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278399] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(12315), 3,
      sym_raw_str_part,
      sym_raw_str_continuing_indicator,
      sym_raw_str_end_part,
  [278409] = 4,
    ACTIONS(2739), 1,
      sym__dot_custom,
    STATE(891), 1,
      sym_navigation_suffix,
    STATE(5506), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278423] = 4,
    ACTIONS(11767), 1,
      anon_sym_COMMA,
    ACTIONS(12317), 1,
      anon_sym_RBRACK,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278437] = 4,
    ACTIONS(11765), 1,
      anon_sym_DOT,
    ACTIONS(12319), 1,
      anon_sym_RPAREN,
    STATE(7451), 1,
      aux_sym__constrained_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278451] = 4,
    ACTIONS(11583), 1,
      anon_sym_DOT,
    ACTIONS(12319), 1,
      anon_sym_RPAREN,
    STATE(7723), 1,
      aux_sym__availability_argument_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278465] = 4,
    ACTIONS(1461), 1,
      anon_sym_RBRACK,
    ACTIONS(12321), 1,
      anon_sym_COMMA,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278479] = 4,
    ACTIONS(12323), 1,
      anon_sym_RPAREN,
    ACTIONS(12325), 1,
      anon_sym_COMMA,
    STATE(7761), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278493] = 4,
    ACTIONS(12327), 1,
      anon_sym_RPAREN,
    ACTIONS(12329), 1,
      anon_sym_COMMA,
    STATE(7622), 1,
      aux_sym_attribute_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278507] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(749), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [278517] = 4,
    ACTIONS(1461), 1,
      anon_sym_RPAREN,
    ACTIONS(12331), 1,
      anon_sym_COMMA,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278531] = 3,
    STATE(1030), 1,
      sym_lambda_literal,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(2921), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [278543] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8498), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [278553] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8490), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [278563] = 4,
    ACTIONS(1459), 1,
      anon_sym_RPAREN,
    ACTIONS(12333), 1,
      anon_sym_COMMA,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278577] = 4,
    ACTIONS(12335), 1,
      anon_sym_COMMA,
    ACTIONS(12337), 1,
      anon_sym_GT,
    STATE(7765), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278591] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8486), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [278601] = 4,
    ACTIONS(12339), 1,
      anon_sym_RPAREN,
    ACTIONS(12341), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278615] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8478), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [278625] = 4,
    ACTIONS(12343), 1,
      anon_sym_COMMA,
    ACTIONS(12345), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278639] = 4,
    ACTIONS(12347), 1,
      anon_sym_RPAREN,
    ACTIONS(12349), 1,
      anon_sym_COMMA,
    STATE(7734), 1,
      aux_sym_attribute_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278653] = 4,
    ACTIONS(12351), 1,
      anon_sym_COMMA,
    ACTIONS(12353), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278667] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7485), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [278677] = 4,
    ACTIONS(12355), 1,
      anon_sym_RPAREN,
    ACTIONS(12357), 1,
      anon_sym_COMMA,
    STATE(7775), 1,
      aux_sym__function_value_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278691] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(12359), 3,
      sym__eq_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [278701] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3277), 3,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      anon_sym_RPAREN,
  [278711] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(12361), 3,
      sym__eq_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [278721] = 4,
    ACTIONS(967), 1,
      anon_sym_RPAREN,
    ACTIONS(12363), 1,
      anon_sym_COMMA,
    STATE(8223), 1,
      aux_sym__tuple_pattern_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278735] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8402), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [278745] = 4,
    ACTIONS(1451), 1,
      anon_sym_RPAREN,
    ACTIONS(12365), 1,
      anon_sym_COMMA,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278759] = 3,
    STATE(1807), 1,
      sym_lambda_literal,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4462), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [278771] = 4,
    ACTIONS(12367), 1,
      anon_sym_RPAREN,
    ACTIONS(12369), 1,
      anon_sym_COMMA,
    STATE(7775), 1,
      aux_sym__function_value_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278785] = 4,
    ACTIONS(1447), 1,
      anon_sym_RPAREN,
    ACTIONS(12372), 1,
      anon_sym_COMMA,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278799] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8462), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [278809] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7381), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [278819] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7385), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [278829] = 4,
    ACTIONS(12374), 1,
      anon_sym_RPAREN,
    ACTIONS(12376), 1,
      anon_sym_COMMA,
    STATE(7790), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278843] = 4,
    ACTIONS(1447), 1,
      anon_sym_RBRACK,
    ACTIONS(12378), 1,
      anon_sym_COMMA,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278857] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8458), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [278867] = 4,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7331), 1,
      sym__block,
    STATE(8110), 1,
      sym_function_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278881] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8454), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [278891] = 4,
    ACTIONS(4670), 1,
      sym__dot_custom,
    STATE(3168), 1,
      sym_navigation_suffix,
    STATE(5433), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278905] = 4,
    ACTIONS(4670), 1,
      sym__dot_custom,
    STATE(3154), 1,
      sym_navigation_suffix,
    STATE(5433), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278919] = 4,
    ACTIONS(12380), 1,
      anon_sym_RPAREN,
    ACTIONS(12382), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278933] = 4,
    ACTIONS(12384), 1,
      anon_sym_COMMA,
    ACTIONS(12386), 1,
      anon_sym_GT,
    STATE(7794), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278947] = 4,
    ACTIONS(133), 1,
      sym_raw_str_part,
    ACTIONS(12388), 1,
      sym_raw_str_end_part,
    STATE(7975), 1,
      aux_sym_raw_string_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278961] = 4,
    ACTIONS(12390), 1,
      anon_sym_RPAREN,
    ACTIONS(12392), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278975] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8224), 3,
      sym_where_keyword,
      anon_sym_COLON,
      anon_sym_LBRACE,
  [278985] = 4,
    ACTIONS(8306), 1,
      sym_else,
    ACTIONS(12394), 1,
      anon_sym_COMMA,
    STATE(7792), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [278999] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(12397), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [279009] = 4,
    ACTIONS(12399), 1,
      anon_sym_COMMA,
    ACTIONS(12401), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279023] = 4,
    ACTIONS(11767), 1,
      anon_sym_COMMA,
    ACTIONS(12403), 1,
      anon_sym_RBRACK,
    STATE(7747), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279037] = 4,
    ACTIONS(11765), 1,
      anon_sym_DOT,
    ACTIONS(12405), 1,
      anon_sym_RPAREN,
    STATE(7748), 1,
      aux_sym__constrained_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279051] = 4,
    ACTIONS(12407), 1,
      anon_sym_COMMA,
    ACTIONS(12409), 1,
      sym_else,
    STATE(8183), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279065] = 4,
    ACTIONS(12411), 1,
      anon_sym_COMMA,
    ACTIONS(12413), 1,
      anon_sym_RBRACK,
    STATE(7750), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279079] = 4,
    ACTIONS(12415), 1,
      anon_sym_COMMA,
    ACTIONS(12417), 1,
      anon_sym_RBRACK,
    STATE(7814), 1,
      aux_sym_dictionary_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279093] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6395), 3,
      sym__arrow_operator_custom,
      sym_where_keyword,
      anon_sym_LBRACE,
  [279103] = 4,
    ACTIONS(12419), 1,
      anon_sym_RPAREN,
    ACTIONS(12421), 1,
      anon_sym_COMMA,
    STATE(7623), 1,
      aux_sym_tuple_expression_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279117] = 4,
    ACTIONS(10925), 1,
      anon_sym_RPAREN,
    ACTIONS(12423), 1,
      anon_sym_COMMA,
    STATE(7802), 1,
      aux_sym_lambda_function_type_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279131] = 4,
    ACTIONS(12413), 1,
      anon_sym_RPAREN,
    ACTIONS(12426), 1,
      anon_sym_COMMA,
    STATE(7754), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279145] = 4,
    ACTIONS(12428), 1,
      anon_sym_RPAREN,
    ACTIONS(12430), 1,
      anon_sym_COMMA,
    STATE(7900), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279159] = 4,
    ACTIONS(12432), 1,
      anon_sym_RPAREN,
    ACTIONS(12434), 1,
      anon_sym_COMMA,
    STATE(7758), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279173] = 4,
    ACTIONS(12436), 1,
      anon_sym_COMMA,
    ACTIONS(12438), 1,
      anon_sym_GT,
    STATE(7763), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279187] = 4,
    ACTIONS(12440), 1,
      anon_sym_RPAREN,
    ACTIONS(12442), 1,
      anon_sym_COMMA,
    STATE(7767), 1,
      aux_sym__function_value_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279201] = 4,
    ACTIONS(4319), 1,
      anon_sym_while,
    ACTIONS(4321), 1,
      sym__implicit_semi,
    STATE(7521), 1,
      aux_sym_repeat_while_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279215] = 4,
    ACTIONS(12444), 1,
      anon_sym_RPAREN,
    ACTIONS(12446), 1,
      anon_sym_COMMA,
    STATE(7819), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279229] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7117), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [279239] = 4,
    ACTIONS(12448), 1,
      anon_sym_COMMA,
    ACTIONS(12450), 1,
      anon_sym_RBRACK,
    STATE(7568), 1,
      aux_sym_array_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279253] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(12452), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [279263] = 4,
    ACTIONS(12454), 1,
      anon_sym_RPAREN,
    ACTIONS(12456), 1,
      anon_sym_COMMA,
    STATE(7771), 1,
      aux_sym__tuple_pattern_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279277] = 4,
    ACTIONS(12458), 1,
      anon_sym_COMMA,
    ACTIONS(12460), 1,
      anon_sym_RBRACK,
    STATE(7560), 1,
      aux_sym_dictionary_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279291] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6936), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [279301] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6928), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [279311] = 4,
    ACTIONS(12462), 1,
      anon_sym_COMMA,
    ACTIONS(12464), 1,
      anon_sym_GT,
    STATE(7823), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279325] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(12466), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [279335] = 4,
    ACTIONS(12468), 1,
      anon_sym_RPAREN,
    ACTIONS(12470), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279349] = 4,
    ACTIONS(1566), 1,
      anon_sym_RPAREN,
    ACTIONS(12472), 1,
      anon_sym_COMMA,
    STATE(8206), 1,
      aux_sym_attribute_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279363] = 4,
    ACTIONS(12474), 1,
      anon_sym_RPAREN,
    ACTIONS(12476), 1,
      anon_sym_COMMA,
    STATE(7912), 1,
      aux_sym__tuple_pattern_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279377] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6920), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [279387] = 4,
    ACTIONS(12478), 1,
      anon_sym_COMMA,
    ACTIONS(12480), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279401] = 4,
    ACTIONS(12482), 1,
      anon_sym_COMMA,
    ACTIONS(12484), 1,
      anon_sym_RBRACK,
    STATE(7560), 1,
      aux_sym_dictionary_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279415] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7449), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [279425] = 4,
    ACTIONS(12486), 1,
      anon_sym_COMMA,
    ACTIONS(12488), 1,
      anon_sym_RBRACK,
    STATE(7568), 1,
      aux_sym_array_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279439] = 4,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(11107), 1,
      anon_sym_LBRACE,
    STATE(8800), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279453] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7471), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [279463] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7337), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [279473] = 4,
    ACTIONS(11595), 1,
      anon_sym_COMMA,
    ACTIONS(12490), 1,
      anon_sym_LBRACE,
    STATE(8062), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279487] = 4,
    ACTIONS(10650), 1,
      anon_sym_LPAREN,
    STATE(6319), 1,
      aux_sym__function_value_parameters,
    STATE(6448), 1,
      sym__macro_signature,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279501] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(12452), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [279511] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(12492), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [279521] = 4,
    ACTIONS(12494), 1,
      anon_sym_RPAREN,
    ACTIONS(12496), 1,
      anon_sym_COMMA,
    STATE(7787), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279535] = 4,
    ACTIONS(12498), 1,
      anon_sym_RPAREN,
    ACTIONS(12500), 1,
      anon_sym_COMMA,
    STATE(7844), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279549] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6920), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [279559] = 4,
    ACTIONS(12502), 1,
      anon_sym_COMMA,
    ACTIONS(12504), 1,
      anon_sym_GT,
    STATE(7943), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279573] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7495), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [279583] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7525), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [279593] = 4,
    ACTIONS(12506), 1,
      anon_sym_RPAREN,
    ACTIONS(12508), 1,
      anon_sym_COMMA,
    STATE(7954), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279607] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7534), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [279617] = 4,
    ACTIONS(12510), 1,
      anon_sym_COMMA,
    ACTIONS(12512), 1,
      anon_sym_GT,
    STATE(7848), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279631] = 4,
    ACTIONS(12514), 1,
      anon_sym_RPAREN,
    ACTIONS(12516), 1,
      anon_sym_COMMA,
    STATE(7623), 1,
      aux_sym_tuple_expression_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279645] = 4,
    ACTIONS(12518), 1,
      anon_sym_RPAREN,
    ACTIONS(12520), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279659] = 4,
    ACTIONS(12522), 1,
      anon_sym_RPAREN,
    ACTIONS(12524), 1,
      anon_sym_COMMA,
    STATE(7959), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279673] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7556), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [279683] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11427), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [279693] = 4,
    ACTIONS(12526), 1,
      anon_sym_COMMA,
    ACTIONS(12528), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279707] = 4,
    ACTIONS(12530), 1,
      anon_sym_COMMA,
    ACTIONS(12532), 1,
      anon_sym_RBRACK,
    STATE(7781), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279721] = 4,
    ACTIONS(12522), 1,
      anon_sym_RBRACK,
    ACTIONS(12534), 1,
      anon_sym_COMMA,
    STATE(7981), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279735] = 4,
    ACTIONS(12532), 1,
      anon_sym_RPAREN,
    ACTIONS(12536), 1,
      anon_sym_COMMA,
    STATE(7776), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279749] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11678), 3,
      sym_where_keyword,
      anon_sym_COLON,
      anon_sym_LBRACE,
  [279759] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7574), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [279769] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7552), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [279779] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6920), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [279789] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6912), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [279799] = 4,
    ACTIONS(12538), 1,
      anon_sym_RPAREN,
    ACTIONS(12540), 1,
      anon_sym_COMMA,
    STATE(7773), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279813] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7574), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [279823] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(12542), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [279833] = 4,
    ACTIONS(12544), 1,
      anon_sym_RPAREN,
    ACTIONS(12546), 1,
      anon_sym_COMMA,
    STATE(7869), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279847] = 4,
    ACTIONS(11765), 1,
      anon_sym_DOT,
    ACTIONS(12548), 1,
      anon_sym_RPAREN,
    STATE(7998), 1,
      aux_sym__constrained_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279861] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6892), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [279871] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(12550), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [279881] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7604), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [279891] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6888), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [279901] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7604), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [279911] = 4,
    ACTIONS(12552), 1,
      anon_sym_COMMA,
    ACTIONS(12554), 1,
      anon_sym_GT,
    STATE(7873), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279925] = 4,
    ACTIONS(12556), 1,
      anon_sym_COMMA,
    ACTIONS(12558), 1,
      anon_sym_GT,
    STATE(7916), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279939] = 4,
    ACTIONS(12560), 1,
      anon_sym_RPAREN,
    ACTIONS(12562), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279953] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6884), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [279963] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6876), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [279973] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6876), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [279983] = 4,
    ACTIONS(12564), 1,
      anon_sym_COMMA,
    ACTIONS(12566), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [279997] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6876), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [280007] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7604), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [280017] = 4,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    ACTIONS(12568), 1,
      anon_sym_LPAREN,
    STATE(4816), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280031] = 4,
    ACTIONS(12570), 1,
      anon_sym_COMMA,
    ACTIONS(12572), 1,
      anon_sym_RBRACK,
    STATE(7824), 1,
      aux_sym_dictionary_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280045] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7610), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [280055] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6876), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [280065] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7614), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [280075] = 4,
    ACTIONS(11767), 1,
      anon_sym_COMMA,
    ACTIONS(12574), 1,
      anon_sym_RBRACK,
    STATE(8017), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280089] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6876), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [280099] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7618), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [280109] = 4,
    ACTIONS(133), 1,
      sym_raw_str_part,
    ACTIONS(12576), 1,
      sym_raw_str_end_part,
    STATE(7975), 1,
      aux_sym_raw_string_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280123] = 4,
    ACTIONS(12578), 1,
      anon_sym_RPAREN,
    ACTIONS(12580), 1,
      anon_sym_COMMA,
    STATE(7894), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280137] = 4,
    ACTIONS(2941), 1,
      sym__dot_custom,
    STATE(1416), 1,
      sym_navigation_suffix,
    STATE(5360), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280151] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6876), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [280161] = 4,
    ACTIONS(2941), 1,
      sym__dot_custom,
    STATE(1374), 1,
      sym_navigation_suffix,
    STATE(5360), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280175] = 4,
    ACTIONS(12582), 1,
      anon_sym_RPAREN,
    ACTIONS(12584), 1,
      anon_sym_COMMA,
    STATE(7949), 1,
      aux_sym__tuple_pattern_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280189] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(12586), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [280199] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7155), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [280209] = 4,
    ACTIONS(12588), 1,
      anon_sym_COMMA,
    ACTIONS(12590), 1,
      anon_sym_GT,
    STATE(7898), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280223] = 4,
    ACTIONS(9810), 1,
      anon_sym_RPAREN,
    ACTIONS(12592), 1,
      anon_sym_COMMA,
    STATE(7447), 1,
      aux_sym_playground_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280237] = 4,
    ACTIONS(12594), 1,
      anon_sym_RPAREN,
    ACTIONS(12596), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280251] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6872), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [280261] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7570), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [280271] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6928), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [280281] = 4,
    ACTIONS(12598), 1,
      anon_sym_COMMA,
    ACTIONS(12600), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280295] = 4,
    ACTIONS(11583), 1,
      anon_sym_DOT,
    ACTIONS(12602), 1,
      anon_sym_RPAREN,
    STATE(7127), 1,
      aux_sym__availability_argument_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280309] = 4,
    ACTIONS(12604), 1,
      anon_sym_RPAREN,
    ACTIONS(12606), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280323] = 4,
    ACTIONS(1620), 1,
      anon_sym_RPAREN,
    ACTIONS(12608), 1,
      anon_sym_COMMA,
    STATE(8206), 1,
      aux_sym_attribute_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280337] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6872), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [280347] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6872), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [280357] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(12610), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [280367] = 4,
    ACTIONS(12612), 1,
      anon_sym_RPAREN,
    ACTIONS(12614), 1,
      anon_sym_COMMA,
    STATE(7623), 1,
      aux_sym_tuple_expression_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280381] = 4,
    ACTIONS(11767), 1,
      anon_sym_COMMA,
    ACTIONS(12616), 1,
      anon_sym_RBRACK,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280395] = 4,
    ACTIONS(12618), 1,
      anon_sym_COMMA,
    ACTIONS(12621), 1,
      anon_sym_COLON,
    STATE(7907), 1,
      aux_sym_switch_entry_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280409] = 4,
    ACTIONS(11765), 1,
      anon_sym_DOT,
    ACTIONS(12623), 1,
      anon_sym_RPAREN,
    STATE(7451), 1,
      aux_sym__constrained_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280423] = 4,
    ACTIONS(11583), 1,
      anon_sym_DOT,
    ACTIONS(12623), 1,
      anon_sym_RPAREN,
    STATE(7899), 1,
      aux_sym__availability_argument_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280437] = 4,
    ACTIONS(12625), 1,
      anon_sym_RPAREN,
    ACTIONS(12627), 1,
      anon_sym_COMMA,
    STATE(7919), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280451] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7646), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [280461] = 4,
    ACTIONS(963), 1,
      anon_sym_RPAREN,
    ACTIONS(12629), 1,
      anon_sym_COMMA,
    STATE(8223), 1,
      aux_sym__tuple_pattern_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280475] = 4,
    ACTIONS(1405), 1,
      anon_sym_RBRACK,
    ACTIONS(12631), 1,
      anon_sym_COMMA,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280489] = 4,
    ACTIONS(1405), 1,
      anon_sym_RPAREN,
    ACTIONS(12633), 1,
      anon_sym_COMMA,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280503] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6900), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [280513] = 4,
    ACTIONS(12635), 1,
      anon_sym_COMMA,
    ACTIONS(12637), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280527] = 4,
    ACTIONS(12639), 1,
      anon_sym_COMMA,
    ACTIONS(12641), 1,
      anon_sym_GT,
    STATE(7923), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280541] = 3,
    STATE(1767), 1,
      sym_lambda_literal,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4442), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [280553] = 4,
    ACTIONS(12643), 1,
      anon_sym_RPAREN,
    ACTIONS(12645), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280567] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6904), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [280577] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7646), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [280587] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7640), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [280597] = 4,
    ACTIONS(12647), 1,
      anon_sym_COMMA,
    ACTIONS(12649), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280611] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6880), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [280621] = 4,
    ACTIONS(1415), 1,
      anon_sym_RPAREN,
    ACTIONS(12651), 1,
      anon_sym_COMMA,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280635] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3603), 3,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      anon_sym_RPAREN,
  [280645] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6880), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [280655] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7630), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [280665] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7084), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [280675] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7626), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [280685] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7137), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [280695] = 4,
    ACTIONS(12653), 1,
      anon_sym_COMMA,
    ACTIONS(12655), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280709] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6932), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [280719] = 4,
    ACTIONS(12657), 1,
      anon_sym_RPAREN,
    ACTIONS(12659), 1,
      anon_sym_COMMA,
    STATE(7942), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280733] = 4,
    ACTIONS(12661), 1,
      anon_sym_RPAREN,
    ACTIONS(12663), 1,
      anon_sym_COMMA,
    STATE(7901), 1,
      aux_sym_attribute_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280747] = 4,
    ACTIONS(12665), 1,
      anon_sym_RPAREN,
    ACTIONS(12667), 1,
      anon_sym_COMMA,
    STATE(7775), 1,
      aux_sym__function_value_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280761] = 4,
    ACTIONS(12669), 1,
      anon_sym_RPAREN,
    ACTIONS(12671), 1,
      anon_sym_COMMA,
    STATE(8040), 1,
      aux_sym_attribute_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280775] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7359), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [280785] = 4,
    ACTIONS(4325), 1,
      anon_sym_while,
    ACTIONS(4327), 1,
      sym__implicit_semi,
    STATE(7486), 1,
      aux_sym_repeat_while_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280799] = 4,
    ACTIONS(12673), 1,
      anon_sym_COMMA,
    ACTIONS(12675), 1,
      anon_sym_GT,
    STATE(7946), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280813] = 4,
    ACTIONS(12677), 1,
      anon_sym_RPAREN,
    ACTIONS(12679), 1,
      anon_sym_COMMA,
    STATE(7775), 1,
      aux_sym__function_value_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280827] = 4,
    ACTIONS(12681), 1,
      anon_sym_RPAREN,
    ACTIONS(12683), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280841] = 4,
    ACTIONS(12685), 1,
      anon_sym_COMMA,
    ACTIONS(12687), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280855] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7594), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [280865] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6932), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [280875] = 4,
    ACTIONS(12689), 1,
      anon_sym_COMMA,
    ACTIONS(12691), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280889] = 4,
    ACTIONS(12693), 1,
      anon_sym_RPAREN,
    ACTIONS(12695), 1,
      anon_sym_COMMA,
    STATE(7947), 1,
      aux_sym_availability_condition_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280903] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7590), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [280913] = 4,
    ACTIONS(961), 1,
      anon_sym_RPAREN,
    ACTIONS(12698), 1,
      anon_sym_COMMA,
    STATE(8223), 1,
      aux_sym__tuple_pattern_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280927] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6932), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [280937] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7590), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [280947] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6998), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [280957] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7640), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [280967] = 4,
    ACTIONS(1471), 1,
      anon_sym_RPAREN,
    ACTIONS(12700), 1,
      anon_sym_COMMA,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [280981] = 3,
    STATE(1889), 1,
      sym_lambda_literal,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4746), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [280993] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7586), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281003] = 4,
    ACTIONS(12702), 1,
      anon_sym_RPAREN,
    ACTIONS(12704), 1,
      anon_sym_COMMA,
    STATE(7965), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281017] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7151), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [281027] = 4,
    ACTIONS(1475), 1,
      anon_sym_RPAREN,
    ACTIONS(12706), 1,
      anon_sym_COMMA,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281041] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7586), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281051] = 4,
    ACTIONS(12708), 1,
      anon_sym_RPAREN,
    ACTIONS(12710), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281065] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6990), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281075] = 4,
    ACTIONS(12712), 1,
      anon_sym_COMMA,
    ACTIONS(12714), 1,
      anon_sym_GT,
    STATE(7969), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281089] = 4,
    ACTIONS(12716), 1,
      anon_sym_RPAREN,
    ACTIONS(12718), 1,
      anon_sym_COMMA,
    STATE(7655), 1,
      aux_sym__function_value_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281103] = 4,
    ACTIONS(12720), 1,
      anon_sym_RPAREN,
    ACTIONS(12722), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281117] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6994), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281127] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7586), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281137] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7163), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [281147] = 4,
    ACTIONS(12724), 1,
      anon_sym_COMMA,
    ACTIONS(12726), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281161] = 4,
    ACTIONS(12728), 1,
      anon_sym_RPAREN,
    ACTIONS(12730), 1,
      anon_sym_COMMA,
    STATE(7970), 1,
      aux_sym__interpolation_contents_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281175] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7578), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281185] = 4,
    ACTIONS(11767), 1,
      anon_sym_COMMA,
    ACTIONS(12733), 1,
      anon_sym_RBRACK,
    STATE(7906), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281199] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7570), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281209] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7552), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281219] = 4,
    ACTIONS(12735), 1,
      sym_raw_str_part,
    ACTIONS(12738), 1,
      sym_raw_str_end_part,
    STATE(7975), 1,
      aux_sym_raw_string_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281233] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7546), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281243] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6998), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281253] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7538), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281263] = 4,
    ACTIONS(11765), 1,
      anon_sym_DOT,
    ACTIONS(12740), 1,
      anon_sym_RPAREN,
    STATE(7908), 1,
      aux_sym__constrained_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281277] = 4,
    ACTIONS(12742), 1,
      anon_sym_RPAREN,
    ACTIONS(12744), 1,
      anon_sym_COMMA,
    STATE(7988), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281291] = 4,
    ACTIONS(1475), 1,
      anon_sym_RBRACK,
    ACTIONS(12746), 1,
      anon_sym_COMMA,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281305] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6998), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281315] = 4,
    ACTIONS(12748), 1,
      anon_sym_COMMA,
    ACTIONS(12750), 1,
      anon_sym_RBRACK,
    STATE(7913), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281329] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11638), 3,
      sym_where_keyword,
      anon_sym_COLON,
      anon_sym_LBRACE,
  [281339] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7521), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281349] = 4,
    ACTIONS(12752), 1,
      anon_sym_COMMA,
    ACTIONS(12754), 1,
      anon_sym_GT,
    STATE(7992), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281363] = 4,
    ACTIONS(12750), 1,
      anon_sym_RPAREN,
    ACTIONS(12756), 1,
      anon_sym_COMMA,
    STATE(7914), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281377] = 4,
    ACTIONS(12758), 1,
      anon_sym_RPAREN,
    ACTIONS(12760), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281391] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(12762), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281401] = 4,
    ACTIONS(12764), 1,
      anon_sym_RPAREN,
    ACTIONS(12766), 1,
      anon_sym_COMMA,
    STATE(7925), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281415] = 4,
    ACTIONS(12768), 1,
      anon_sym_COMMA,
    ACTIONS(12770), 1,
      anon_sym_GT,
    STATE(7932), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281429] = 4,
    ACTIONS(12772), 1,
      anon_sym_COMMA,
    ACTIONS(12774), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281443] = 4,
    ACTIONS(12776), 1,
      anon_sym_RPAREN,
    ACTIONS(12778), 1,
      anon_sym_COMMA,
    STATE(7941), 1,
      aux_sym__function_value_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281457] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7359), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281467] = 4,
    ACTIONS(4407), 1,
      sym__dot_custom,
    STATE(2554), 1,
      sym_navigation_suffix,
    STATE(5339), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281481] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7002), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281491] = 4,
    ACTIONS(11583), 1,
      anon_sym_DOT,
    ACTIONS(12780), 1,
      anon_sym_RPAREN,
    STATE(8043), 1,
      aux_sym__availability_argument_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281505] = 4,
    ACTIONS(11765), 1,
      anon_sym_DOT,
    ACTIONS(12780), 1,
      anon_sym_RPAREN,
    STATE(7451), 1,
      aux_sym__constrained_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281519] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7359), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281529] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7253), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [281539] = 4,
    ACTIONS(11583), 1,
      anon_sym_DOT,
    ACTIONS(12782), 1,
      anon_sym_RPAREN,
    STATE(7457), 1,
      aux_sym__availability_argument_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281553] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7359), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281563] = 4,
    ACTIONS(12784), 1,
      anon_sym_RPAREN,
    ACTIONS(12786), 1,
      anon_sym_COMMA,
    STATE(8011), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281577] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6944), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281587] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7002), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281597] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7359), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281607] = 4,
    ACTIONS(12788), 1,
      anon_sym_COMMA,
    ACTIONS(12790), 1,
      anon_sym_RBRACK,
    STATE(7560), 1,
      aux_sym_dictionary_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281621] = 4,
    ACTIONS(11765), 1,
      anon_sym_DOT,
    ACTIONS(12782), 1,
      anon_sym_RPAREN,
    STATE(7451), 1,
      aux_sym__constrained_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281635] = 4,
    ACTIONS(12792), 1,
      anon_sym_COMMA,
    ACTIONS(12794), 1,
      anon_sym_GT,
    STATE(8015), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281649] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7002), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281659] = 4,
    ACTIONS(12796), 1,
      anon_sym_RPAREN,
    ACTIONS(12798), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281673] = 4,
    ACTIONS(12800), 1,
      anon_sym_RPAREN,
    ACTIONS(12802), 1,
      anon_sym_COMMA,
    STATE(7740), 1,
      aux_sym__interpolation_contents_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281687] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7359), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281697] = 4,
    ACTIONS(12804), 1,
      anon_sym_COMMA,
    ACTIONS(12806), 1,
      anon_sym_RBRACK,
    STATE(7568), 1,
      aux_sym_array_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281711] = 4,
    ACTIONS(12808), 1,
      anon_sym_COMMA,
    ACTIONS(12810), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281725] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7002), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281735] = 4,
    ACTIONS(11767), 1,
      anon_sym_COMMA,
    ACTIONS(12812), 1,
      anon_sym_RBRACK,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281749] = 4,
    ACTIONS(12814), 1,
      anon_sym_RPAREN,
    ACTIONS(12816), 1,
      anon_sym_COMMA,
    STATE(7623), 1,
      aux_sym_tuple_expression_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281763] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7503), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281773] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7503), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281783] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(12762), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281793] = 4,
    ACTIONS(12818), 1,
      anon_sym_RPAREN,
    ACTIONS(12820), 1,
      anon_sym_COMMA,
    STATE(7961), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281807] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7503), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281817] = 4,
    ACTIONS(12822), 1,
      anon_sym_RPAREN,
    ACTIONS(12824), 1,
      anon_sym_COMMA,
    STATE(8047), 1,
      aux_sym_availability_condition_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281831] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7491), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281841] = 4,
    ACTIONS(12826), 1,
      anon_sym_RPAREN,
    ACTIONS(12828), 1,
      anon_sym_COMMA,
    STATE(8034), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281855] = 4,
    ACTIONS(12830), 1,
      anon_sym_RPAREN,
    ACTIONS(12832), 1,
      anon_sym_COMMA,
    STATE(7623), 1,
      aux_sym_tuple_expression_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281869] = 4,
    ACTIONS(12834), 1,
      anon_sym_RPAREN,
    ACTIONS(12836), 1,
      anon_sym_COMMA,
    STATE(7936), 1,
      aux_sym__function_value_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281883] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7479), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281893] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6940), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281903] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7465), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281913] = 4,
    ACTIONS(12838), 1,
      anon_sym_COMMA,
    ACTIONS(12840), 1,
      anon_sym_GT,
    STATE(8038), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281927] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7002), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281937] = 4,
    ACTIONS(12842), 1,
      anon_sym_RPAREN,
    ACTIONS(12844), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281951] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(12846), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281961] = 4,
    ACTIONS(12848), 1,
      anon_sym_RPAREN,
    ACTIONS(12850), 1,
      anon_sym_COMMA,
    STATE(7623), 1,
      aux_sym_tuple_expression_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281975] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6944), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [281985] = 4,
    ACTIONS(12852), 1,
      anon_sym_COMMA,
    ACTIONS(12854), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [281999] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7002), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [282009] = 4,
    ACTIONS(1572), 1,
      anon_sym_RPAREN,
    ACTIONS(12856), 1,
      anon_sym_COMMA,
    STATE(8206), 1,
      aux_sym_attribute_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282023] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7052), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [282033] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11601), 3,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_DOT,
  [282043] = 4,
    ACTIONS(11583), 1,
      anon_sym_DOT,
    ACTIONS(12858), 1,
      anon_sym_RPAREN,
    STATE(7127), 1,
      aux_sym__availability_argument_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282057] = 4,
    ACTIONS(12860), 1,
      anon_sym_RPAREN,
    ACTIONS(12862), 1,
      anon_sym_COMMA,
    STATE(7599), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282071] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7044), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [282081] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7247), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [282091] = 4,
    ACTIONS(9445), 1,
      anon_sym_RPAREN,
    ACTIONS(12864), 1,
      anon_sym_COMMA,
    STATE(7947), 1,
      aux_sym_availability_condition_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282105] = 4,
    ACTIONS(12866), 1,
      anon_sym_COMMA,
    ACTIONS(12868), 1,
      anon_sym_RBRACK,
    STATE(8007), 1,
      aux_sym_dictionary_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282119] = 4,
    ACTIONS(12870), 1,
      anon_sym_RPAREN,
    ACTIONS(12872), 1,
      anon_sym_COMMA,
    STATE(8057), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282133] = 4,
    ACTIONS(11595), 1,
      anon_sym_COMMA,
    ACTIONS(12874), 1,
      anon_sym_LBRACE,
    STATE(7554), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282147] = 4,
    ACTIONS(12407), 1,
      anon_sym_COMMA,
    ACTIONS(12876), 1,
      sym_else,
    STATE(7792), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282161] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7351), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [282171] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7064), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [282181] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7068), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [282191] = 4,
    ACTIONS(12878), 1,
      anon_sym_COMMA,
    ACTIONS(12880), 1,
      anon_sym_GT,
    STATE(8061), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282205] = 4,
    ACTIONS(133), 1,
      sym_raw_str_part,
    ACTIONS(12882), 1,
      sym_raw_str_end_part,
    STATE(7975), 1,
      aux_sym_raw_string_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282219] = 4,
    ACTIONS(12884), 1,
      anon_sym_RPAREN,
    ACTIONS(12886), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282233] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7068), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [282243] = 4,
    ACTIONS(4407), 1,
      sym__dot_custom,
    STATE(2549), 1,
      sym_navigation_suffix,
    STATE(5339), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282257] = 4,
    ACTIONS(1505), 1,
      anon_sym_RPAREN,
    ACTIONS(12888), 1,
      anon_sym_COMMA,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282271] = 4,
    ACTIONS(12890), 1,
      anon_sym_COMMA,
    ACTIONS(12892), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282285] = 4,
    ACTIONS(11595), 1,
      anon_sym_COMMA,
    ACTIONS(12894), 1,
      anon_sym_LBRACE,
    STATE(7554), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282299] = 4,
    ACTIONS(9782), 1,
      anon_sym_RPAREN,
    ACTIONS(12896), 1,
      anon_sym_COMMA,
    STATE(7447), 1,
      aux_sym_playground_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282313] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7882), 3,
      sym__as_custom,
      anon_sym_COLON,
      anon_sym_in,
  [282323] = 4,
    ACTIONS(9952), 1,
      anon_sym_LBRACE,
    STATE(7537), 1,
      sym_function_body,
    STATE(7667), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282337] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7429), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [282347] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7072), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [282357] = 4,
    ACTIONS(12898), 1,
      anon_sym_while,
    ACTIONS(12900), 1,
      sym__implicit_semi,
    STATE(8068), 1,
      aux_sym_repeat_while_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282371] = 4,
    ACTIONS(11583), 1,
      anon_sym_DOT,
    ACTIONS(12903), 1,
      anon_sym_RPAREN,
    STATE(7127), 1,
      aux_sym__availability_argument_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282385] = 4,
    ACTIONS(11817), 1,
      sym__implicit_semi,
    ACTIONS(12905), 1,
      anon_sym_while,
    STATE(8068), 1,
      aux_sym_repeat_while_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282399] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7421), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [282409] = 4,
    ACTIONS(12907), 1,
      anon_sym_RPAREN,
    ACTIONS(12909), 1,
      anon_sym_COMMA,
    STATE(8080), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282423] = 4,
    ACTIONS(11767), 1,
      anon_sym_COMMA,
    ACTIONS(12911), 1,
      anon_sym_RBRACK,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282437] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7072), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [282447] = 4,
    ACTIONS(12913), 1,
      anon_sym_RPAREN,
    ACTIONS(12915), 1,
      anon_sym_COMMA,
    STATE(7623), 1,
      aux_sym_tuple_expression_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282461] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7415), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [282471] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3515), 3,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      anon_sym_RPAREN,
  [282481] = 4,
    ACTIONS(12917), 1,
      anon_sym_COMMA,
    ACTIONS(12919), 1,
      anon_sym_GT,
    STATE(8084), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282495] = 4,
    ACTIONS(4817), 1,
      anon_sym_COMMA,
    ACTIONS(4819), 1,
      anon_sym_COLON,
    STATE(7907), 1,
      aux_sym_switch_entry_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282509] = 4,
    ACTIONS(12921), 1,
      anon_sym_RPAREN,
    ACTIONS(12923), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282523] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7072), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [282533] = 4,
    ACTIONS(1570), 1,
      anon_sym_RPAREN,
    ACTIONS(12925), 1,
      anon_sym_COMMA,
    STATE(8206), 1,
      aux_sym_attribute_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282547] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11642), 3,
      sym_where_keyword,
      anon_sym_COLON,
      anon_sym_LBRACE,
  [282557] = 4,
    ACTIONS(12927), 1,
      anon_sym_COMMA,
    ACTIONS(12929), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282571] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5881), 3,
      sym__as_custom,
      anon_sym_COLON,
      anon_sym_in,
  [282581] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7091), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [282591] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5831), 3,
      sym__as_custom,
      anon_sym_COLON,
      anon_sym_in,
  [282601] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7113), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [282611] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7117), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [282621] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7121), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [282631] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7125), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [282641] = 4,
    ACTIONS(11595), 1,
      anon_sym_COMMA,
    ACTIONS(12931), 1,
      anon_sym_LBRACE,
    STATE(8050), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282655] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3204), 3,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      anon_sym_RPAREN,
  [282665] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7397), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [282675] = 4,
    ACTIONS(12933), 1,
      anon_sym_RPAREN,
    ACTIONS(12935), 1,
      anon_sym_COMMA,
    STATE(8103), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282689] = 4,
    ACTIONS(12937), 1,
      anon_sym_RPAREN,
    ACTIONS(12939), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282703] = 4,
    ACTIONS(9856), 1,
      anon_sym_RPAREN,
    ACTIONS(12942), 1,
      anon_sym_COMMA,
    STATE(7447), 1,
      aux_sym_playground_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282717] = 4,
    ACTIONS(12407), 1,
      anon_sym_COMMA,
    ACTIONS(12944), 1,
      sym_else,
    STATE(8051), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282731] = 4,
    ACTIONS(12946), 1,
      anon_sym_RPAREN,
    ACTIONS(12948), 1,
      anon_sym_COMMA,
    STATE(7623), 1,
      aux_sym_tuple_expression_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282745] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7125), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [282755] = 4,
    ACTIONS(12950), 1,
      anon_sym_COMMA,
    ACTIONS(12952), 1,
      anon_sym_GT,
    STATE(8107), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282769] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7125), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [282779] = 4,
    ACTIONS(12954), 1,
      anon_sym_RPAREN,
    ACTIONS(12956), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282793] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7125), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [282803] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(12958), 3,
      sym__eq_custom,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [282813] = 4,
    ACTIONS(11767), 1,
      anon_sym_COMMA,
    ACTIONS(12960), 1,
      anon_sym_RBRACK,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282827] = 4,
    ACTIONS(12962), 1,
      anon_sym_COMMA,
    ACTIONS(12964), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282841] = 4,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(11054), 1,
      anon_sym_LBRACE,
    STATE(8699), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282855] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7369), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [282865] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8474), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [282875] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7125), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [282885] = 4,
    ACTIONS(11765), 1,
      anon_sym_DOT,
    ACTIONS(12966), 1,
      anon_sym_RPAREN,
    STATE(7451), 1,
      aux_sym__constrained_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282899] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7125), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [282909] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7351), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [282919] = 4,
    ACTIONS(11583), 1,
      anon_sym_DOT,
    ACTIONS(12966), 1,
      anon_sym_RPAREN,
    STATE(8069), 1,
      aux_sym__availability_argument_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282933] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7351), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [282943] = 4,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(11052), 1,
      anon_sym_LBRACE,
    STATE(8704), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282957] = 4,
    ACTIONS(12968), 1,
      anon_sym_RPAREN,
    ACTIONS(12970), 1,
      anon_sym_COMMA,
    STATE(8126), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282971] = 4,
    ACTIONS(4628), 1,
      sym__dot_custom,
    STATE(3490), 1,
      sym_navigation_suffix,
    STATE(5389), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [282985] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6924), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [282995] = 4,
    ACTIONS(1505), 1,
      anon_sym_RBRACK,
    ACTIONS(12972), 1,
      anon_sym_COMMA,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283009] = 4,
    ACTIONS(4628), 1,
      sym__dot_custom,
    STATE(3476), 1,
      sym_navigation_suffix,
    STATE(5389), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283023] = 4,
    ACTIONS(12974), 1,
      anon_sym_RPAREN,
    ACTIONS(12976), 1,
      anon_sym_COMMA,
    STATE(7623), 1,
      aux_sym_tuple_expression_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283037] = 4,
    ACTIONS(12978), 1,
      anon_sym_COMMA,
    ACTIONS(12980), 1,
      anon_sym_GT,
    STATE(8130), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283051] = 3,
    STATE(1867), 1,
      sym_lambda_literal,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(4705), 2,
      anon_sym_LBRACE,
      anon_sym_CARET_LBRACE,
  [283063] = 4,
    ACTIONS(12982), 1,
      anon_sym_RPAREN,
    ACTIONS(12984), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283077] = 4,
    ACTIONS(133), 1,
      sym_raw_str_part,
    ACTIONS(12986), 1,
      sym_raw_str_end_part,
    STATE(7975), 1,
      aux_sym_raw_string_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283091] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7351), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [283101] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6924), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [283111] = 4,
    ACTIONS(12988), 1,
      anon_sym_COMMA,
    ACTIONS(12990), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283125] = 4,
    ACTIONS(1521), 1,
      anon_sym_RPAREN,
    ACTIONS(12992), 1,
      anon_sym_COMMA,
    STATE(7175), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283139] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(6924), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [283149] = 4,
    ACTIONS(12994), 1,
      anon_sym_RPAREN,
    ACTIONS(12996), 1,
      anon_sym_COMMA,
    STATE(7467), 1,
      aux_sym__tuple_pattern_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283163] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7351), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [283173] = 4,
    ACTIONS(12998), 1,
      anon_sym_COMMA,
    ACTIONS(13000), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283187] = 4,
    ACTIONS(13002), 1,
      anon_sym_COMMA,
    ACTIONS(13004), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283201] = 4,
    ACTIONS(13006), 1,
      anon_sym_RPAREN,
    ACTIONS(13008), 1,
      anon_sym_COMMA,
    STATE(7578), 1,
      aux_sym_availability_condition_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283215] = 4,
    ACTIONS(13010), 1,
      anon_sym_COMMA,
    ACTIONS(13012), 1,
      anon_sym_RBRACK,
    STATE(7568), 1,
      aux_sym_array_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283229] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7351), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [283239] = 4,
    ACTIONS(13014), 1,
      anon_sym_RPAREN,
    ACTIONS(13016), 1,
      anon_sym_COMMA,
    STATE(8082), 1,
      aux_sym_attribute_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283253] = 4,
    ACTIONS(13018), 1,
      anon_sym_RPAREN,
    ACTIONS(13020), 1,
      anon_sym_COMMA,
    STATE(8149), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283267] = 4,
    ACTIONS(13022), 1,
      anon_sym_RPAREN,
    ACTIONS(13024), 1,
      anon_sym_COMMA,
    STATE(7775), 1,
      aux_sym__function_value_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283281] = 4,
    ACTIONS(13026), 1,
      anon_sym_COMMA,
    ACTIONS(13028), 1,
      anon_sym_GT,
    STATE(8136), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283295] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7133), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [283305] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7133), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [283315] = 4,
    ACTIONS(9061), 1,
      sym_where_keyword,
    ACTIONS(11052), 1,
      anon_sym_LBRACE,
    STATE(8727), 1,
      sym_type_constraints,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283329] = 4,
    ACTIONS(13030), 1,
      anon_sym_COMMA,
    ACTIONS(13032), 1,
      anon_sym_GT,
    STATE(8153), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283343] = 4,
    ACTIONS(13034), 1,
      anon_sym_COMMA,
    ACTIONS(13036), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283357] = 4,
    ACTIONS(13038), 1,
      anon_sym_RPAREN,
    ACTIONS(13040), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283371] = 4,
    ACTIONS(13042), 1,
      anon_sym_COMMA,
    ACTIONS(13044), 1,
      anon_sym_GT,
    STATE(8148), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283385] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7133), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [283395] = 4,
    ACTIONS(949), 1,
      anon_sym_RPAREN,
    ACTIONS(13046), 1,
      anon_sym_COMMA,
    STATE(8223), 1,
      aux_sym__tuple_pattern_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283409] = 4,
    ACTIONS(13048), 1,
      anon_sym_COMMA,
    ACTIONS(13050), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283423] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13052), 3,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_GT,
  [283433] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7337), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [283443] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7331), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [283453] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7325), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [283463] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13054), 3,
      sym_where_keyword,
      anon_sym_COMMA,
      anon_sym_COLON,
  [283473] = 4,
    ACTIONS(13056), 1,
      anon_sym_COMMA,
    ACTIONS(13058), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283487] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11703), 3,
      sym_where_keyword,
      anon_sym_COLON,
      anon_sym_LBRACE,
  [283497] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7321), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [283507] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7321), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [283517] = 4,
    ACTIONS(13060), 1,
      anon_sym_COMMA,
    ACTIONS(13062), 1,
      anon_sym_GT,
    STATE(8159), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283531] = 4,
    ACTIONS(13064), 1,
      anon_sym_COMMA,
    ACTIONS(13066), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283545] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13068), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [283555] = 4,
    ACTIONS(13070), 1,
      anon_sym_COMMA,
    ACTIONS(13072), 1,
      anon_sym_GT,
    STATE(8170), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283569] = 4,
    ACTIONS(13074), 1,
      anon_sym_COMMA,
    ACTIONS(13076), 1,
      anon_sym_GT,
    STATE(8164), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283583] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7321), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [283593] = 4,
    ACTIONS(13078), 1,
      anon_sym_COMMA,
    ACTIONS(13080), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283607] = 4,
    ACTIONS(13082), 1,
      anon_sym_COMMA,
    ACTIONS(13084), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283621] = 4,
    ACTIONS(13086), 1,
      anon_sym_COMMA,
    ACTIONS(13088), 1,
      anon_sym_GT,
    STATE(8169), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283635] = 4,
    ACTIONS(13090), 1,
      anon_sym_RPAREN,
    ACTIONS(13092), 1,
      anon_sym_COMMA,
    STATE(8096), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283649] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7305), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [283659] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7305), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [283669] = 4,
    ACTIONS(13094), 1,
      anon_sym_COMMA,
    ACTIONS(13096), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283683] = 4,
    ACTIONS(13098), 1,
      anon_sym_COMMA,
    ACTIONS(13100), 1,
      anon_sym_RBRACK,
    STATE(8219), 1,
      aux_sym_dictionary_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283697] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7305), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [283707] = 4,
    ACTIONS(11044), 1,
      anon_sym_in,
    ACTIONS(11046), 1,
      sym__arrow_operator_custom,
    STATE(3903), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283721] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7305), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [283731] = 4,
    ACTIONS(13102), 1,
      anon_sym_COMMA,
    ACTIONS(13104), 1,
      anon_sym_GT,
    STATE(8184), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283745] = 4,
    ACTIONS(13106), 1,
      anon_sym_COMMA,
    ACTIONS(13108), 1,
      anon_sym_GT,
    STATE(8175), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283759] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7305), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [283769] = 4,
    ACTIONS(12407), 1,
      anon_sym_COMMA,
    ACTIONS(13110), 1,
      sym_else,
    STATE(7792), 1,
      aux_sym_if_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283783] = 4,
    ACTIONS(13112), 1,
      anon_sym_COMMA,
    ACTIONS(13114), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283797] = 4,
    ACTIONS(11767), 1,
      anon_sym_COMMA,
    ACTIONS(13116), 1,
      anon_sym_RBRACK,
    STATE(8106), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283811] = 4,
    ACTIONS(13118), 1,
      anon_sym_COMMA,
    ACTIONS(13120), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283825] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7305), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [283835] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7295), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [283845] = 4,
    ACTIONS(13122), 1,
      anon_sym_COMMA,
    ACTIONS(13124), 1,
      anon_sym_RBRACK,
    STATE(7513), 1,
      aux_sym_capture_list_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283859] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7283), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [283869] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7275), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [283879] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7267), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [283889] = 4,
    ACTIONS(11765), 1,
      anon_sym_DOT,
    ACTIONS(13126), 1,
      anon_sym_RPAREN,
    STATE(8112), 1,
      aux_sym__constrained_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283903] = 4,
    ACTIONS(13128), 1,
      anon_sym_COMMA,
    ACTIONS(13130), 1,
      anon_sym_GT,
    STATE(8198), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283917] = 4,
    ACTIONS(13132), 1,
      anon_sym_COMMA,
    ACTIONS(13134), 1,
      anon_sym_GT,
    STATE(8186), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283931] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7143), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [283941] = 4,
    ACTIONS(13136), 1,
      anon_sym_COMMA,
    ACTIONS(13138), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283955] = 4,
    ACTIONS(13140), 1,
      anon_sym_COMMA,
    ACTIONS(13142), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283969] = 4,
    ACTIONS(13144), 1,
      anon_sym_LPAREN,
    ACTIONS(13146), 1,
      anon_sym_LBRACK,
    STATE(7248), 1,
      sym_value_arguments,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283983] = 4,
    ACTIONS(13148), 1,
      anon_sym_COMMA,
    ACTIONS(13150), 1,
      anon_sym_RBRACK,
    STATE(8121), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [283997] = 4,
    ACTIONS(13150), 1,
      anon_sym_RPAREN,
    ACTIONS(13152), 1,
      anon_sym_COMMA,
    STATE(8060), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284011] = 4,
    ACTIONS(13154), 1,
      anon_sym_RPAREN,
    ACTIONS(13156), 1,
      anon_sym_COMMA,
    STATE(8131), 1,
      aux_sym__constructor_value_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284025] = 4,
    ACTIONS(13158), 1,
      anon_sym_COMMA,
    ACTIONS(13160), 1,
      anon_sym_GT,
    STATE(8197), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284039] = 4,
    ACTIONS(13162), 1,
      anon_sym_COMMA,
    ACTIONS(13164), 1,
      anon_sym_GT,
    STATE(8135), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284053] = 4,
    ACTIONS(13166), 1,
      anon_sym_RPAREN,
    ACTIONS(13168), 1,
      anon_sym_COMMA,
    STATE(8142), 1,
      aux_sym__function_value_parameters_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284067] = 4,
    ACTIONS(13170), 1,
      anon_sym_RPAREN,
    ACTIONS(13172), 1,
      anon_sym_COMMA,
    STATE(8206), 1,
      aux_sym_attribute_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284081] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7201), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [284091] = 4,
    ACTIONS(13175), 1,
      anon_sym_COMMA,
    ACTIONS(13177), 1,
      anon_sym_GT,
    STATE(8212), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284105] = 4,
    ACTIONS(13179), 1,
      anon_sym_COMMA,
    ACTIONS(13181), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284119] = 4,
    ACTIONS(13183), 1,
      anon_sym_COMMA,
    ACTIONS(13185), 1,
      anon_sym_GT,
    STATE(8209), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284133] = 4,
    ACTIONS(13187), 1,
      anon_sym_RPAREN,
    ACTIONS(13189), 1,
      anon_sym_COMMA,
    STATE(8152), 1,
      aux_sym__tuple_pattern_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284147] = 4,
    ACTIONS(13191), 1,
      anon_sym_COMMA,
    ACTIONS(13193), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284161] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7201), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [284171] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8502), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [284181] = 4,
    ACTIONS(6345), 1,
      anon_sym_while,
    ACTIONS(6347), 1,
      sym__implicit_semi,
    STATE(8070), 1,
      aux_sym_repeat_while_statement_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284195] = 4,
    ACTIONS(13195), 1,
      anon_sym_COMMA,
    ACTIONS(13197), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284209] = 4,
    ACTIONS(13199), 1,
      anon_sym_COMMA,
    ACTIONS(13201), 1,
      anon_sym_GT,
    STATE(8216), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284223] = 4,
    ACTIONS(13203), 1,
      anon_sym_COMMA,
    ACTIONS(13205), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284237] = 4,
    ACTIONS(13207), 1,
      anon_sym_COMMA,
    ACTIONS(13209), 1,
      anon_sym_RBRACK,
    STATE(7560), 1,
      aux_sym_dictionary_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284251] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7167), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [284261] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7167), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [284271] = 4,
    ACTIONS(13211), 1,
      anon_sym_COMMA,
    ACTIONS(13213), 1,
      anon_sym_GT,
    STATE(8226), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284285] = 4,
    ACTIONS(13215), 1,
      anon_sym_RPAREN,
    ACTIONS(13217), 1,
      anon_sym_COMMA,
    STATE(8223), 1,
      aux_sym__tuple_pattern_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284299] = 4,
    ACTIONS(13220), 1,
      anon_sym_COMMA,
    ACTIONS(13223), 1,
      anon_sym_RBRACK,
    STATE(8224), 1,
      aux_sym_capture_list_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284313] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8522), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [284323] = 4,
    ACTIONS(13225), 1,
      anon_sym_COMMA,
    ACTIONS(13227), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284337] = 4,
    ACTIONS(13229), 1,
      anon_sym_COMMA,
    ACTIONS(13231), 1,
      anon_sym_RBRACK,
    STATE(7568), 1,
      aux_sym_array_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284351] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8494), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [284361] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7275), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [284371] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7167), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [284381] = 4,
    ACTIONS(13233), 1,
      anon_sym_COMMA,
    ACTIONS(13235), 1,
      anon_sym_GT,
    STATE(8218), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284395] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(7283), 3,
      sym__implicit_semi,
      sym__explicit_semi,
      ts_builtin_sym_end,
  [284405] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7155), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [284415] = 4,
    ACTIONS(13237), 1,
      anon_sym_COMMA,
    ACTIONS(13239), 1,
      anon_sym_GT,
    STATE(8237), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284429] = 4,
    ACTIONS(10701), 1,
      anon_sym_in,
    ACTIONS(10703), 1,
      sym__arrow_operator_custom,
    STATE(4091), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284443] = 4,
    ACTIONS(13241), 1,
      anon_sym_COMMA,
    ACTIONS(13243), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284457] = 4,
    ACTIONS(13245), 1,
      anon_sym_COMMA,
    ACTIONS(13247), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284471] = 4,
    ACTIONS(13249), 1,
      anon_sym_COMMA,
    ACTIONS(13251), 1,
      anon_sym_RBRACK,
    STATE(7560), 1,
      aux_sym_dictionary_literal_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284485] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(3599), 3,
      sym__conjunction_operator_custom,
      sym__disjunction_operator_custom,
      anon_sym_RPAREN,
  [284495] = 4,
    ACTIONS(13253), 1,
      anon_sym_COMMA,
    ACTIONS(13255), 1,
      anon_sym_GT,
    STATE(8236), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284509] = 4,
    ACTIONS(13257), 1,
      anon_sym_COMMA,
    ACTIONS(13259), 1,
      anon_sym_GT,
    STATE(8244), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284523] = 2,
    ACTIONS(5), 1,
      sym_comment,
    ACTIONS(7147), 4,
      sym_multiline_comment,
      sym__implicit_semi,
      sym__explicit_semi,
      anon_sym_RBRACE,
  [284533] = 4,
    ACTIONS(13261), 1,
      anon_sym_RPAREN,
    ACTIONS(13263), 1,
      anon_sym_COMMA,
    STATE(8172), 1,
      aux_sym_tuple_type_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284547] = 4,
    ACTIONS(13265), 1,
      anon_sym_COMMA,
    ACTIONS(13267), 1,
      anon_sym_GT,
    STATE(7601), 1,
      aux_sym_type_arguments_repeat1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284561] = 3,
    ACTIONS(9037), 1,
      anon_sym_case,
    ACTIONS(13269), 1,
      anon_sym_enum,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284572] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13271), 2,
      anon_sym_COMMA,
      anon_sym_RBRACK,
  [284581] = 3,
    ACTIONS(8552), 1,
      anon_sym_LBRACE,
    STATE(4529), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284592] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13273), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [284601] = 3,
    ACTIONS(9950), 1,
      anon_sym_LPAREN,
    STATE(5598), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284612] = 3,
    ACTIONS(13275), 1,
      anon_sym_COLON,
    ACTIONS(13277), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284623] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13279), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [284632] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11382), 2,
      anon_sym_RPAREN,
      anon_sym_DOT,
  [284641] = 3,
    ACTIONS(13281), 1,
      anon_sym_COLON,
    ACTIONS(13283), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284652] = 3,
    ACTIONS(10709), 1,
      anon_sym_LBRACE,
    STATE(7680), 1,
      sym_computed_property,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284663] = 3,
    ACTIONS(13285), 1,
      anon_sym_COLON,
    ACTIONS(13287), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284674] = 3,
    ACTIONS(10933), 1,
      anon_sym_LBRACE,
    STATE(7928), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284685] = 3,
    ACTIONS(10910), 1,
      anon_sym_LBRACE,
    STATE(7973), 1,
      sym_protocol_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284696] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13223), 2,
      anon_sym_COMMA,
      anon_sym_RBRACK,
  [284705] = 3,
    ACTIONS(9592), 1,
      anon_sym_LBRACE,
    STATE(7976), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284716] = 3,
    ACTIONS(13289), 1,
      anon_sym_COLON,
    ACTIONS(13291), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284727] = 3,
    ACTIONS(8546), 1,
      anon_sym_LBRACE,
    STATE(7057), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284738] = 3,
    ACTIONS(13293), 1,
      anon_sym_COLON,
    ACTIONS(13295), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284749] = 3,
    ACTIONS(10933), 1,
      anon_sym_LBRACE,
    STATE(7978), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284760] = 3,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(4813), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284771] = 3,
    ACTIONS(8546), 1,
      anon_sym_LBRACE,
    STATE(6614), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284782] = 3,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(4814), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284793] = 3,
    ACTIONS(13297), 1,
      anon_sym_COLON,
    ACTIONS(13299), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284804] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13301), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [284813] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13170), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [284822] = 3,
    ACTIONS(10869), 1,
      anon_sym_LBRACE,
    STATE(7891), 1,
      sym_protocol_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284833] = 3,
    ACTIONS(8546), 1,
      anon_sym_LBRACE,
    STATE(6888), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284844] = 3,
    ACTIONS(9950), 1,
      anon_sym_LPAREN,
    STATE(5721), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284855] = 3,
    ACTIONS(10910), 1,
      anon_sym_LBRACE,
    STATE(8071), 1,
      sym_protocol_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284866] = 3,
    ACTIONS(10709), 1,
      anon_sym_LBRACE,
    STATE(7666), 1,
      sym_computed_property,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284877] = 3,
    ACTIONS(13303), 1,
      anon_sym_COLON,
    ACTIONS(13305), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284888] = 3,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7295), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284899] = 3,
    ACTIONS(9592), 1,
      anon_sym_LBRACE,
    STATE(8094), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284910] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11713), 2,
      anon_sym_COMMA,
      anon_sym_RBRACK,
  [284919] = 3,
    ACTIONS(10765), 1,
      anon_sym_LBRACE,
    STATE(8030), 1,
      sym_computed_property,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284930] = 3,
    ACTIONS(13307), 1,
      anon_sym_COLON,
    ACTIONS(13309), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284941] = 3,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7430), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284952] = 3,
    ACTIONS(8552), 1,
      anon_sym_LBRACE,
    STATE(4530), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284963] = 3,
    ACTIONS(9772), 1,
      anon_sym_LPAREN,
    STATE(5338), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284974] = 3,
    ACTIONS(9772), 1,
      anon_sym_LPAREN,
    STATE(5401), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284985] = 3,
    ACTIONS(13311), 1,
      anon_sym_COLON,
    ACTIONS(13313), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [284996] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13215), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [285005] = 3,
    ACTIONS(11199), 1,
      anon_sym_LBRACE,
    STATE(4565), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285016] = 3,
    ACTIONS(13315), 1,
      anon_sym_COLON,
    ACTIONS(13317), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285027] = 3,
    ACTIONS(10933), 1,
      anon_sym_LBRACE,
    STATE(8094), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285038] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8388), 2,
      anon_sym_COMMA,
      anon_sym_LBRACE,
  [285047] = 3,
    ACTIONS(10910), 1,
      anon_sym_LBRACE,
    STATE(8155), 1,
      sym_protocol_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285058] = 3,
    ACTIONS(9592), 1,
      anon_sym_LBRACE,
    STATE(8156), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285069] = 3,
    ACTIONS(10933), 1,
      anon_sym_LBRACE,
    STATE(8157), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285080] = 3,
    ACTIONS(13319), 1,
      anon_sym_COMMA,
    ACTIONS(13321), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285091] = 3,
    ACTIONS(13323), 1,
      anon_sym_COLON,
    ACTIONS(13325), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285102] = 3,
    ACTIONS(10918), 1,
      anon_sym_LBRACE,
    STATE(4587), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285113] = 3,
    ACTIONS(13327), 1,
      anon_sym_COLON,
    ACTIONS(13329), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285124] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8372), 2,
      anon_sym_COMMA,
      anon_sym_LBRACE,
  [285133] = 3,
    ACTIONS(13331), 1,
      sym__arrow_operator_custom,
    STATE(4134), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285144] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8358), 2,
      sym_else,
      anon_sym_COMMA,
  [285153] = 3,
    ACTIONS(13333), 1,
      anon_sym_COLON,
    ACTIONS(13335), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285164] = 3,
    ACTIONS(9950), 1,
      anon_sym_LPAREN,
    STATE(5665), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285175] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13337), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [285184] = 3,
    ACTIONS(13339), 1,
      anon_sym_COMMA,
    ACTIONS(13341), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285195] = 3,
    ACTIONS(13343), 1,
      anon_sym_COLON,
    ACTIONS(13345), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285206] = 3,
    ACTIONS(10910), 1,
      anon_sym_LBRACE,
    STATE(8233), 1,
      sym_protocol_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285217] = 3,
    ACTIONS(13347), 1,
      sym__dot_custom,
    STATE(5654), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285228] = 3,
    ACTIONS(11185), 1,
      sym__arrow_operator_custom,
    STATE(4303), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285239] = 3,
    ACTIONS(13349), 1,
      sym_raw_str_interpolation_start,
    STATE(7670), 1,
      sym_raw_str_interpolation,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285250] = 3,
    ACTIONS(11199), 1,
      anon_sym_LBRACE,
    STATE(4536), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285261] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13351), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [285270] = 3,
    ACTIONS(10707), 1,
      anon_sym_LPAREN,
    STATE(6375), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285281] = 3,
    ACTIONS(9592), 1,
      anon_sym_LBRACE,
    STATE(8196), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285292] = 3,
    ACTIONS(13353), 1,
      anon_sym_COLON,
    ACTIONS(13355), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285303] = 3,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7361), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285314] = 3,
    ACTIONS(11199), 1,
      anon_sym_LBRACE,
    STATE(4537), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285325] = 3,
    ACTIONS(11199), 1,
      anon_sym_LBRACE,
    STATE(4544), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285336] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11101), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [285345] = 3,
    ACTIONS(11199), 1,
      anon_sym_LBRACE,
    STATE(4546), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285356] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13357), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [285365] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8364), 2,
      sym_else,
      anon_sym_COMMA,
  [285374] = 3,
    ACTIONS(10709), 1,
      anon_sym_LBRACE,
    STATE(7686), 1,
      sym_computed_property,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285385] = 3,
    ACTIONS(10933), 1,
      anon_sym_LBRACE,
    STATE(8196), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285396] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13359), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [285405] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13361), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [285414] = 3,
    ACTIONS(9243), 1,
      sym__dot_custom,
    STATE(5685), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285425] = 3,
    ACTIONS(10910), 1,
      anon_sym_LBRACE,
    STATE(8089), 1,
      sym_protocol_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285436] = 3,
    ACTIONS(9592), 1,
      anon_sym_LBRACE,
    STATE(8088), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285447] = 3,
    ACTIONS(10933), 1,
      anon_sym_LBRACE,
    STATE(8086), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285458] = 3,
    ACTIONS(13363), 1,
      anon_sym_COLON,
    ACTIONS(13365), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285469] = 3,
    ACTIONS(10914), 1,
      anon_sym_LBRACE,
    STATE(7212), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285480] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8354), 2,
      anon_sym_COMMA,
      anon_sym_LBRACE,
  [285489] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6395), 2,
      sym__arrow_operator_custom,
      anon_sym_in,
  [285498] = 3,
    ACTIONS(10699), 1,
      sym__as_custom,
    STATE(4203), 1,
      sym__as,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285509] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6008), 2,
      sym_where_keyword,
      anon_sym_LBRACE,
  [285518] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13367), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [285527] = 3,
    ACTIONS(10910), 1,
      anon_sym_LBRACE,
    STATE(7966), 1,
      sym_protocol_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285538] = 3,
    ACTIONS(10918), 1,
      anon_sym_LBRACE,
    STATE(4594), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285549] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13369), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [285558] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13371), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [285567] = 3,
    ACTIONS(9715), 1,
      anon_sym_LBRACE,
    STATE(7187), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285578] = 3,
    ACTIONS(13373), 1,
      anon_sym_COLON,
    ACTIONS(13375), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285589] = 3,
    ACTIONS(10765), 1,
      anon_sym_LBRACE,
    STATE(7588), 1,
      sym_computed_property,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285600] = 3,
    ACTIONS(13377), 1,
      anon_sym_COMMA,
    ACTIONS(13379), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285611] = 3,
    ACTIONS(13381), 1,
      anon_sym_COLON,
    ACTIONS(13383), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285622] = 3,
    ACTIONS(10747), 1,
      anon_sym_LBRACE,
    STATE(3074), 1,
      sym_computed_property,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285633] = 3,
    ACTIONS(11122), 1,
      sym__arrow_operator_custom,
    STATE(4117), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285644] = 3,
    ACTIONS(10918), 1,
      anon_sym_LBRACE,
    STATE(4571), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285655] = 3,
    ACTIONS(10747), 1,
      anon_sym_LBRACE,
    STATE(3092), 1,
      sym_computed_property,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285666] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13385), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [285675] = 3,
    ACTIONS(9636), 1,
      anon_sym_LBRACE,
    STATE(4547), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285686] = 3,
    ACTIONS(13387), 1,
      sym__dot_custom,
    STATE(5544), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285697] = 3,
    ACTIONS(10918), 1,
      anon_sym_LBRACE,
    STATE(4580), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285708] = 3,
    ACTIONS(10707), 1,
      anon_sym_LPAREN,
    STATE(6462), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285719] = 3,
    ACTIONS(13389), 1,
      sym__eq_custom,
    STATE(4103), 1,
      sym__equal_sign,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285730] = 3,
    ACTIONS(10869), 1,
      anon_sym_LBRACE,
    STATE(7636), 1,
      sym_protocol_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285741] = 3,
    ACTIONS(9636), 1,
      anon_sym_LBRACE,
    STATE(4580), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285752] = 3,
    ACTIONS(13391), 1,
      anon_sym_COLON,
    ACTIONS(13393), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285763] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13395), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [285772] = 3,
    ACTIONS(9592), 1,
      anon_sym_LBRACE,
    STATE(7928), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285783] = 3,
    ACTIONS(10869), 1,
      anon_sym_LBRACE,
    STATE(7810), 1,
      sym_protocol_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285794] = 3,
    ACTIONS(13397), 1,
      sym__arrow_operator_custom,
    STATE(4139), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285805] = 3,
    ACTIONS(11399), 1,
      sym__arrow_operator_custom,
    STATE(4137), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285816] = 3,
    ACTIONS(11199), 1,
      anon_sym_LBRACE,
    STATE(4591), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285827] = 3,
    ACTIONS(11199), 1,
      anon_sym_LBRACE,
    STATE(4590), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285838] = 3,
    ACTIONS(13399), 1,
      sym__eq_custom,
    STATE(4131), 1,
      sym__equal_sign,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285849] = 3,
    ACTIONS(13401), 1,
      sym__arrow_operator_custom,
    STATE(4112), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285860] = 3,
    ACTIONS(11036), 1,
      anon_sym_LBRACE,
    STATE(7812), 1,
      sym_protocol_property_requirements,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285871] = 3,
    ACTIONS(9715), 1,
      anon_sym_LBRACE,
    STATE(7388), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285882] = 3,
    ACTIONS(10765), 1,
      anon_sym_LBRACE,
    STATE(7573), 1,
      sym_computed_property,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285893] = 3,
    ACTIONS(11199), 1,
      anon_sym_LBRACE,
    STATE(4588), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285904] = 3,
    ACTIONS(13403), 1,
      sym__arrow_operator_custom,
    STATE(4133), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285915] = 3,
    ACTIONS(11274), 1,
      sym__arrow_operator_custom,
    STATE(4130), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285926] = 3,
    ACTIONS(9772), 1,
      anon_sym_LPAREN,
    STATE(5411), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285937] = 3,
    ACTIONS(10918), 1,
      anon_sym_LBRACE,
    STATE(4533), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285948] = 3,
    ACTIONS(9636), 1,
      anon_sym_LBRACE,
    STATE(4542), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285959] = 3,
    ACTIONS(10933), 1,
      anon_sym_LBRACE,
    STATE(7920), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285970] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(6112), 2,
      sym_where_keyword,
      anon_sym_LBRACE,
  [285979] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13405), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [285988] = 3,
    ACTIONS(10707), 1,
      anon_sym_LPAREN,
    STATE(6461), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [285999] = 3,
    ACTIONS(13407), 1,
      sym__arrow_operator_custom,
    STATE(4114), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286010] = 3,
    ACTIONS(11285), 1,
      sym__arrow_operator_custom,
    STATE(4113), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286021] = 3,
    ACTIONS(10910), 1,
      anon_sym_LBRACE,
    STATE(7865), 1,
      sym_protocol_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286032] = 3,
    ACTIONS(9715), 1,
      anon_sym_LBRACE,
    STATE(7318), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286043] = 3,
    ACTIONS(10747), 1,
      anon_sym_LBRACE,
    STATE(3102), 1,
      sym_computed_property,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286054] = 3,
    ACTIONS(13409), 1,
      anon_sym_COLON,
    ACTIONS(13411), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286065] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13413), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [286074] = 3,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7201), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286085] = 3,
    ACTIONS(10707), 1,
      anon_sym_LPAREN,
    STATE(6471), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286096] = 3,
    ACTIONS(10765), 1,
      anon_sym_LBRACE,
    STATE(7520), 1,
      sym_computed_property,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286107] = 3,
    ACTIONS(10914), 1,
      anon_sym_LBRACE,
    STATE(7318), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286118] = 3,
    ACTIONS(9636), 1,
      anon_sym_LBRACE,
    STATE(4587), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286129] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13415), 2,
      sym_raw_str_part,
      sym_raw_str_end_part,
  [286138] = 3,
    ACTIONS(11036), 1,
      anon_sym_LBRACE,
    STATE(7859), 1,
      sym_protocol_property_requirements,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286149] = 3,
    ACTIONS(10747), 1,
      anon_sym_LBRACE,
    STATE(3103), 1,
      sym_computed_property,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286160] = 3,
    ACTIONS(10869), 1,
      anon_sym_LBRACE,
    STATE(7585), 1,
      sym_protocol_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286171] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13417), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [286180] = 3,
    ACTIONS(13419), 1,
      sym__arrow_operator_custom,
    STATE(4213), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286191] = 3,
    ACTIONS(13421), 1,
      anon_sym_COLON,
    ACTIONS(13423), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286202] = 3,
    ACTIONS(11287), 1,
      sym__arrow_operator_custom,
    STATE(4214), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286213] = 3,
    ACTIONS(11199), 1,
      anon_sym_LBRACE,
    STATE(4595), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286224] = 3,
    ACTIONS(10747), 1,
      anon_sym_LBRACE,
    STATE(3131), 1,
      sym_computed_property,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286235] = 3,
    ACTIONS(10747), 1,
      anon_sym_LBRACE,
    STATE(3135), 1,
      sym_computed_property,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286246] = 3,
    ACTIONS(10747), 1,
      anon_sym_LBRACE,
    STATE(3137), 1,
      sym_computed_property,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286257] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13425), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [286266] = 3,
    ACTIONS(13427), 1,
      sym__arrow_operator_custom,
    STATE(4298), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286277] = 3,
    ACTIONS(9715), 1,
      anon_sym_LBRACE,
    STATE(7338), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286288] = 3,
    ACTIONS(13429), 1,
      anon_sym_COLON,
    ACTIONS(13431), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286299] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13433), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [286308] = 3,
    ACTIONS(11289), 1,
      sym__arrow_operator_custom,
    STATE(4314), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286319] = 3,
    ACTIONS(10765), 1,
      anon_sym_LBRACE,
    STATE(7527), 1,
      sym_computed_property,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286330] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8358), 2,
      anon_sym_COMMA,
      anon_sym_LBRACE,
  [286339] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13435), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [286348] = 3,
    ACTIONS(13437), 1,
      sym__arrow_operator_custom,
    STATE(4339), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286359] = 3,
    ACTIONS(11298), 1,
      sym__arrow_operator_custom,
    STATE(4340), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286370] = 3,
    ACTIONS(10709), 1,
      anon_sym_LBRACE,
    STATE(7665), 1,
      sym_computed_property,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286381] = 3,
    ACTIONS(10709), 1,
      anon_sym_LBRACE,
    STATE(7662), 1,
      sym_computed_property,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286392] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(12693), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [286401] = 3,
    ACTIONS(13439), 1,
      anon_sym_COLON,
    ACTIONS(13441), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286412] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8354), 2,
      sym_else,
      anon_sym_COMMA,
  [286421] = 3,
    ACTIONS(10538), 1,
      sym__as_custom,
    STATE(4170), 1,
      sym__as,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286432] = 3,
    ACTIONS(10869), 1,
      anon_sym_LBRACE,
    STATE(7479), 1,
      sym_protocol_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286443] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(12621), 2,
      anon_sym_COMMA,
      anon_sym_COLON,
  [286452] = 3,
    ACTIONS(10765), 1,
      anon_sym_LBRACE,
    STATE(7593), 1,
      sym_computed_property,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286463] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11081), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [286472] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13443), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [286481] = 3,
    ACTIONS(13445), 1,
      anon_sym_case,
    ACTIONS(13447), 1,
      sym_default_keyword,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286492] = 3,
    ACTIONS(13449), 1,
      sym__arrow_operator_custom,
    STATE(4362), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286503] = 3,
    ACTIONS(11308), 1,
      sym__arrow_operator_custom,
    STATE(4374), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286514] = 3,
    ACTIONS(9950), 1,
      anon_sym_LPAREN,
    STATE(5540), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286525] = 3,
    ACTIONS(10765), 1,
      anon_sym_LBRACE,
    STATE(7524), 1,
      sym_computed_property,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286536] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13054), 2,
      anon_sym_COMMA,
      anon_sym_COLON,
  [286545] = 3,
    ACTIONS(10360), 1,
      anon_sym_LPAREN,
    STATE(6073), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286556] = 3,
    ACTIONS(8532), 1,
      anon_sym_get,
    ACTIONS(8534), 1,
      anon_sym_set,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286567] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8372), 2,
      sym_else,
      anon_sym_COMMA,
  [286576] = 3,
    ACTIONS(10918), 1,
      anon_sym_LBRACE,
    STATE(4574), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286587] = 3,
    ACTIONS(9636), 1,
      anon_sym_LBRACE,
    STATE(4570), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286598] = 3,
    ACTIONS(13451), 1,
      anon_sym_COLON,
    ACTIONS(13453), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286609] = 3,
    ACTIONS(9772), 1,
      anon_sym_LPAREN,
    STATE(5407), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286620] = 3,
    ACTIONS(9772), 1,
      anon_sym_LPAREN,
    STATE(5376), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286631] = 3,
    ACTIONS(13455), 1,
      sym__arrow_operator_custom,
    STATE(4394), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286642] = 3,
    ACTIONS(10918), 1,
      anon_sym_LBRACE,
    STATE(4596), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286653] = 3,
    ACTIONS(11320), 1,
      sym__arrow_operator_custom,
    STATE(4399), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286664] = 3,
    ACTIONS(10914), 1,
      anon_sym_LBRACE,
    STATE(7388), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286675] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13457), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [286684] = 3,
    ACTIONS(13459), 1,
      anon_sym_COLON,
    ACTIONS(13461), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286695] = 3,
    ACTIONS(9592), 1,
      anon_sym_LBRACE,
    STATE(7841), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286706] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8380), 2,
      anon_sym_COMMA,
      anon_sym_LBRACE,
  [286715] = 3,
    ACTIONS(9772), 1,
      anon_sym_LPAREN,
    STATE(5473), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286726] = 3,
    ACTIONS(13269), 1,
      anon_sym_enum,
    ACTIONS(13463), 1,
      anon_sym_case,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286737] = 3,
    ACTIONS(10914), 1,
      anon_sym_LBRACE,
    STATE(7121), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286748] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13465), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [286757] = 3,
    ACTIONS(13467), 1,
      sym__arrow_operator_custom,
    STATE(4421), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286768] = 3,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7381), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286779] = 3,
    ACTIONS(10869), 1,
      anon_sym_LBRACE,
    STATE(7829), 1,
      sym_protocol_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286790] = 3,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7382), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286801] = 3,
    ACTIONS(13469), 1,
      anon_sym_willSet,
    ACTIONS(13471), 1,
      anon_sym_didSet,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286812] = 3,
    ACTIONS(11324), 1,
      sym__arrow_operator_custom,
    STATE(4425), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286823] = 3,
    ACTIONS(13473), 1,
      anon_sym_COLON,
    ACTIONS(13475), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286834] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13477), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [286843] = 3,
    ACTIONS(13479), 1,
      anon_sym_COMMA,
    ACTIONS(13481), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286854] = 3,
    ACTIONS(13483), 1,
      anon_sym_COLON,
    ACTIONS(13485), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286865] = 3,
    ACTIONS(13487), 1,
      anon_sym_COLON,
    ACTIONS(13489), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286876] = 3,
    ACTIONS(10910), 1,
      anon_sym_LBRACE,
    STATE(7839), 1,
      sym_protocol_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286887] = 3,
    ACTIONS(10707), 1,
      anon_sym_LPAREN,
    STATE(6456), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286898] = 3,
    ACTIONS(9636), 1,
      anon_sym_LBRACE,
    STATE(4596), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286909] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11085), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [286918] = 3,
    ACTIONS(9251), 1,
      sym__dot_custom,
    STATE(5772), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286929] = 3,
    ACTIONS(10933), 1,
      anon_sym_LBRACE,
    STATE(7779), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286940] = 3,
    ACTIONS(13491), 1,
      sym__arrow_operator_custom,
    STATE(4442), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286951] = 3,
    ACTIONS(11332), 1,
      sym__arrow_operator_custom,
    STATE(4434), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286962] = 3,
    ACTIONS(13493), 1,
      anon_sym_COMMA,
    ACTIONS(13495), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286973] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13497), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [286982] = 3,
    ACTIONS(10709), 1,
      anon_sym_LBRACE,
    STATE(7654), 1,
      sym_computed_property,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [286993] = 3,
    ACTIONS(10719), 1,
      sym__as_custom,
    STATE(4466), 1,
      sym__as,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287004] = 3,
    ACTIONS(13499), 1,
      anon_sym_COLON,
    ACTIONS(13501), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287015] = 3,
    ACTIONS(10709), 1,
      anon_sym_LBRACE,
    STATE(7652), 1,
      sym_computed_property,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287026] = 3,
    ACTIONS(13503), 1,
      sym__arrow_operator_custom,
    STATE(4306), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287037] = 3,
    ACTIONS(11340), 1,
      sym__arrow_operator_custom,
    STATE(4297), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287048] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13505), 2,
      anon_sym_LPAREN,
      anon_sym_LT,
  [287057] = 3,
    ACTIONS(9950), 1,
      anon_sym_LPAREN,
    STATE(5606), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287068] = 3,
    ACTIONS(13507), 1,
      anon_sym_COLON,
    ACTIONS(13509), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287079] = 3,
    ACTIONS(11209), 1,
      sym__arrow_operator_custom,
    STATE(4237), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287090] = 3,
    ACTIONS(13511), 1,
      sym__dot_custom,
    STATE(5763), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287101] = 3,
    ACTIONS(13513), 1,
      sym__eq_custom,
    STATE(4255), 1,
      sym__equal_sign,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287112] = 3,
    ACTIONS(9715), 1,
      anon_sym_LBRACE,
    STATE(7090), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287123] = 3,
    ACTIONS(13515), 1,
      sym__arrow_operator_custom,
    STATE(4281), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287134] = 3,
    ACTIONS(11356), 1,
      sym__arrow_operator_custom,
    STATE(4278), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287145] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13517), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [287154] = 3,
    ACTIONS(11411), 1,
      sym__arrow_operator_custom,
    STATE(4439), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287165] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13519), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [287174] = 3,
    ACTIONS(13521), 1,
      sym__arrow_operator_custom,
    STATE(4205), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287185] = 3,
    ACTIONS(11358), 1,
      sym__arrow_operator_custom,
    STATE(4199), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287196] = 3,
    ACTIONS(11199), 1,
      anon_sym_LBRACE,
    STATE(4555), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287207] = 3,
    ACTIONS(9636), 1,
      anon_sym_LBRACE,
    STATE(4585), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287218] = 3,
    ACTIONS(13523), 1,
      anon_sym_COMMA,
    ACTIONS(13525), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287229] = 3,
    ACTIONS(13527), 1,
      sym__arrow_operator_custom,
    STATE(4284), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287240] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13529), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [287249] = 3,
    ACTIONS(10918), 1,
      anon_sym_LBRACE,
    STATE(4573), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287260] = 3,
    ACTIONS(11036), 1,
      anon_sym_LBRACE,
    STATE(7496), 1,
      sym_protocol_property_requirements,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287271] = 3,
    ACTIONS(13531), 1,
      anon_sym_COLON,
    ACTIONS(13533), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287282] = 3,
    ACTIONS(10914), 1,
      anon_sym_LBRACE,
    STATE(7090), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287293] = 3,
    ACTIONS(13535), 1,
      sym__arrow_operator_custom,
    STATE(4154), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287304] = 3,
    ACTIONS(11366), 1,
      sym__arrow_operator_custom,
    STATE(4144), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287315] = 3,
    ACTIONS(5307), 1,
      anon_sym_LPAREN,
    STATE(1894), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287326] = 3,
    ACTIONS(10707), 1,
      anon_sym_LPAREN,
    STATE(6443), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287337] = 3,
    ACTIONS(10869), 1,
      anon_sym_LBRACE,
    STATE(7896), 1,
      sym_protocol_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287348] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8364), 2,
      anon_sym_COMMA,
      anon_sym_LBRACE,
  [287357] = 3,
    ACTIONS(13537), 1,
      sym__arrow_operator_custom,
    STATE(4121), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287368] = 3,
    ACTIONS(11380), 1,
      sym__arrow_operator_custom,
    STATE(4120), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287379] = 3,
    ACTIONS(10709), 1,
      anon_sym_LBRACE,
    STATE(7646), 1,
      sym_computed_property,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287390] = 3,
    ACTIONS(13539), 1,
      sym__arrow_operator_custom,
    STATE(4366), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287401] = 3,
    ACTIONS(11036), 1,
      anon_sym_LBRACE,
    STATE(8021), 1,
      sym_protocol_property_requirements,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287412] = 3,
    ACTIONS(13541), 1,
      sym__arrow_operator_custom,
    STATE(4147), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287423] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13543), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [287432] = 3,
    ACTIONS(10914), 1,
      anon_sym_LBRACE,
    STATE(7099), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287443] = 3,
    ACTIONS(9280), 1,
      sym__dot_custom,
    STATE(5559), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287454] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13545), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [287463] = 3,
    ACTIONS(11387), 1,
      sym__arrow_operator_custom,
    STATE(4151), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287474] = 3,
    ACTIONS(9278), 1,
      sym__dot_custom,
    STATE(5552), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287485] = 3,
    ACTIONS(9705), 1,
      anon_sym_LBRACE,
    STATE(3362), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287496] = 3,
    ACTIONS(13547), 1,
      anon_sym_COLON,
    ACTIONS(13549), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287507] = 3,
    ACTIONS(9636), 1,
      anon_sym_LBRACE,
    STATE(4573), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287518] = 3,
    ACTIONS(9715), 1,
      anon_sym_LBRACE,
    STATE(7427), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287529] = 3,
    ACTIONS(13551), 1,
      sym__as_custom,
    STATE(4373), 1,
      sym__as,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287540] = 3,
    ACTIONS(10765), 1,
      anon_sym_LBRACE,
    STATE(7604), 1,
      sym_computed_property,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287551] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(10925), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [287560] = 3,
    ACTIONS(10914), 1,
      anon_sym_LBRACE,
    STATE(7384), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287571] = 3,
    ACTIONS(13553), 1,
      sym__arrow_operator_custom,
    STATE(4173), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287582] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13555), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [287591] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(11011), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [287600] = 3,
    ACTIONS(11378), 1,
      sym__arrow_operator_custom,
    STATE(4457), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287611] = 3,
    ACTIONS(13557), 1,
      sym__dot_custom,
    STATE(5563), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287622] = 3,
    ACTIONS(13559), 1,
      sym__eq_custom,
    STATE(4101), 1,
      sym__equal_sign,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287633] = 3,
    ACTIONS(11434), 1,
      sym__arrow_operator_custom,
    STATE(4175), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287644] = 3,
    ACTIONS(13561), 1,
      anon_sym_COLON,
    ACTIONS(13563), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287655] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13565), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [287664] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13567), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [287673] = 3,
    ACTIONS(13569), 1,
      sym__arrow_operator_custom,
    STATE(4188), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287684] = 3,
    ACTIONS(13571), 1,
      anon_sym_COMMA,
    ACTIONS(13573), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287695] = 3,
    ACTIONS(11413), 1,
      sym__arrow_operator_custom,
    STATE(4191), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287706] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8380), 2,
      sym_else,
      anon_sym_COMMA,
  [287715] = 3,
    ACTIONS(13575), 1,
      anon_sym_COLON,
    ACTIONS(13577), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287726] = 3,
    ACTIONS(13579), 1,
      sym__arrow_operator_custom,
    STATE(4454), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287737] = 3,
    ACTIONS(10747), 1,
      anon_sym_LBRACE,
    STATE(3090), 1,
      sym_computed_property,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287748] = 3,
    ACTIONS(13581), 1,
      sym__arrow_operator_custom,
    STATE(4208), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287759] = 3,
    ACTIONS(10914), 1,
      anon_sym_LBRACE,
    STATE(7409), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287770] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13583), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [287779] = 3,
    ACTIONS(11417), 1,
      sym__arrow_operator_custom,
    STATE(4209), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287790] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13585), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [287799] = 3,
    ACTIONS(13587), 1,
      anon_sym_COLON,
    ACTIONS(13589), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287810] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13591), 2,
      anon_sym_COMMA,
      anon_sym_GT,
  [287819] = 3,
    ACTIONS(13593), 1,
      sym__arrow_operator_custom,
    STATE(4227), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287830] = 3,
    ACTIONS(11419), 1,
      sym__arrow_operator_custom,
    STATE(4254), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287841] = 3,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7123), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287852] = 3,
    ACTIONS(8552), 1,
      anon_sym_LBRACE,
    STATE(4395), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287863] = 3,
    ACTIONS(9715), 1,
      anon_sym_LBRACE,
    STATE(7226), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287874] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13595), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [287883] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13597), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [287892] = 3,
    ACTIONS(9257), 1,
      sym__dot_custom,
    STATE(5658), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287903] = 3,
    ACTIONS(13599), 1,
      anon_sym_COLON,
    ACTIONS(13601), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287914] = 3,
    ACTIONS(13603), 1,
      sym__arrow_operator_custom,
    STATE(4422), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287925] = 3,
    ACTIONS(11142), 1,
      sym__as_custom,
    STATE(4432), 1,
      sym__as,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287936] = 3,
    ACTIONS(11425), 1,
      sym__arrow_operator_custom,
    STATE(4424), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287947] = 3,
    ACTIONS(10878), 1,
      anon_sym_LBRACE,
    STATE(3072), 1,
      sym_protocol_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287958] = 3,
    ACTIONS(5307), 1,
      anon_sym_LPAREN,
    STATE(1917), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287969] = 3,
    ACTIONS(10888), 1,
      anon_sym_LBRACE,
    STATE(3362), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287980] = 3,
    ACTIONS(13605), 1,
      sym__arrow_operator_custom,
    STATE(4450), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [287991] = 3,
    ACTIONS(11423), 1,
      sym__arrow_operator_custom,
    STATE(4369), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288002] = 3,
    ACTIONS(13607), 1,
      sym__dot_custom,
    STATE(5667), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288013] = 3,
    ACTIONS(10888), 1,
      anon_sym_LBRACE,
    STATE(3076), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288024] = 3,
    ACTIONS(11450), 1,
      sym__arrow_operator_custom,
    STATE(4451), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288035] = 3,
    ACTIONS(10878), 1,
      anon_sym_LBRACE,
    STATE(3466), 1,
      sym_protocol_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288046] = 3,
    ACTIONS(9705), 1,
      anon_sym_LBRACE,
    STATE(3471), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288057] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13609), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [288066] = 3,
    ACTIONS(10878), 1,
      anon_sym_LBRACE,
    STATE(3116), 1,
      sym_protocol_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288077] = 3,
    ACTIONS(13611), 1,
      sym__arrow_operator_custom,
    STATE(4363), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288088] = 3,
    ACTIONS(13613), 1,
      sym__arrow_operator_custom,
    STATE(4462), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288099] = 3,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7120), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288110] = 3,
    ACTIONS(13615), 1,
      anon_sym_COMMA,
    ACTIONS(13617), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288121] = 3,
    ACTIONS(11456), 1,
      sym__arrow_operator_custom,
    STATE(4468), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288132] = 3,
    ACTIONS(10888), 1,
      anon_sym_LBRACE,
    STATE(3170), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288143] = 3,
    ACTIONS(9705), 1,
      anon_sym_LBRACE,
    STATE(3181), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288154] = 3,
    ACTIONS(10878), 1,
      anon_sym_LBRACE,
    STATE(3191), 1,
      sym_protocol_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288165] = 3,
    ACTIONS(10888), 1,
      anon_sym_LBRACE,
    STATE(3215), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288176] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8376), 2,
      anon_sym_COMMA,
      anon_sym_LBRACE,
  [288185] = 3,
    ACTIONS(5307), 1,
      anon_sym_LPAREN,
    STATE(1916), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288196] = 3,
    ACTIONS(9237), 1,
      sym__dot_custom,
    STATE(5759), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288207] = 3,
    ACTIONS(13619), 1,
      anon_sym_COLON,
    ACTIONS(13621), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288218] = 3,
    ACTIONS(9705), 1,
      anon_sym_LBRACE,
    STATE(3215), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288229] = 3,
    ACTIONS(13623), 1,
      sym__as_custom,
    STATE(4222), 1,
      sym__as,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288240] = 3,
    ACTIONS(13625), 1,
      sym__arrow_operator_custom,
    STATE(4463), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288251] = 3,
    ACTIONS(11466), 1,
      sym__arrow_operator_custom,
    STATE(4465), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288262] = 3,
    ACTIONS(13627), 1,
      sym__arrow_operator_custom,
    STATE(4411), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288273] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13629), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [288282] = 3,
    ACTIONS(10878), 1,
      anon_sym_LBRACE,
    STATE(3220), 1,
      sym_protocol_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288293] = 3,
    ACTIONS(11476), 1,
      sym__arrow_operator_custom,
    STATE(4307), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288304] = 3,
    ACTIONS(13631), 1,
      sym__dot_custom,
    STATE(5774), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288315] = 3,
    ACTIONS(5307), 1,
      anon_sym_LPAREN,
    STATE(1891), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288326] = 3,
    ACTIONS(11472), 1,
      sym__arrow_operator_custom,
    STATE(4410), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288337] = 3,
    ACTIONS(10869), 1,
      anon_sym_LBRACE,
    STATE(7514), 1,
      sym_protocol_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288348] = 3,
    ACTIONS(13633), 1,
      sym__arrow_operator_custom,
    STATE(4400), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288359] = 3,
    ACTIONS(11474), 1,
      sym__arrow_operator_custom,
    STATE(4397), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288370] = 3,
    ACTIONS(5307), 1,
      anon_sym_LPAREN,
    STATE(1895), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288381] = 3,
    ACTIONS(13635), 1,
      sym__arrow_operator_custom,
    STATE(4287), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288392] = 3,
    ACTIONS(9592), 1,
      anon_sym_LBRACE,
    STATE(7779), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288403] = 3,
    ACTIONS(13637), 1,
      anon_sym_COLON,
    ACTIONS(13639), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288414] = 3,
    ACTIONS(13641), 1,
      sym__arrow_operator_custom,
    STATE(4367), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288425] = 3,
    ACTIONS(11480), 1,
      sym__arrow_operator_custom,
    STATE(4353), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288436] = 3,
    ACTIONS(10888), 1,
      anon_sym_LBRACE,
    STATE(3326), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288447] = 3,
    ACTIONS(9705), 1,
      anon_sym_LBRACE,
    STATE(3551), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288458] = 3,
    ACTIONS(9705), 1,
      anon_sym_LBRACE,
    STATE(3328), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288469] = 3,
    ACTIONS(13643), 1,
      anon_sym_COLON,
    ACTIONS(13645), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288480] = 3,
    ACTIONS(10878), 1,
      anon_sym_LBRACE,
    STATE(3330), 1,
      sym_protocol_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288491] = 3,
    ACTIONS(10888), 1,
      anon_sym_LBRACE,
    STATE(3373), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288502] = 3,
    ACTIONS(9241), 1,
      sym__dot_custom,
    STATE(5770), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288513] = 3,
    ACTIONS(13647), 1,
      sym__arrow_operator_custom,
    STATE(4316), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288524] = 3,
    ACTIONS(11486), 1,
      sym__arrow_operator_custom,
    STATE(4296), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288535] = 3,
    ACTIONS(10977), 1,
      sym__as_custom,
    STATE(4311), 1,
      sym__as,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288546] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13649), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [288555] = 3,
    ACTIONS(13651), 1,
      anon_sym_COLON,
    ACTIONS(13653), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288566] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8376), 2,
      sym_else,
      anon_sym_COMMA,
  [288575] = 3,
    ACTIONS(9715), 1,
      anon_sym_LBRACE,
    STATE(7121), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288586] = 3,
    ACTIONS(13655), 1,
      sym__arrow_operator_custom,
    STATE(4258), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288597] = 3,
    ACTIONS(11547), 1,
      sym__arrow_operator_custom,
    STATE(4217), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288608] = 3,
    ACTIONS(13657), 1,
      sym__dot_custom,
    STATE(5761), 1,
      sym__dot,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288619] = 3,
    ACTIONS(9705), 1,
      anon_sym_LBRACE,
    STATE(3373), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288630] = 3,
    ACTIONS(11496), 1,
      sym__arrow_operator_custom,
    STATE(4196), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288641] = 3,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(4812), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288652] = 3,
    ACTIONS(5309), 1,
      anon_sym_LBRACE,
    STATE(4823), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288663] = 3,
    ACTIONS(13659), 1,
      anon_sym_COLON,
    ACTIONS(13661), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288674] = 3,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7104), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288685] = 3,
    ACTIONS(13663), 1,
      sym__arrow_operator_custom,
    STATE(4198), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288696] = 3,
    ACTIONS(10878), 1,
      anon_sym_LBRACE,
    STATE(3385), 1,
      sym_protocol_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288707] = 3,
    ACTIONS(13665), 1,
      anon_sym_COLON,
    ACTIONS(13667), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288718] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13669), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [288727] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(5848), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [288736] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13671), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [288745] = 3,
    ACTIONS(13673), 1,
      sym__as_custom,
    STATE(4161), 1,
      sym__as,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288756] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(8388), 2,
      sym_else,
      anon_sym_COMMA,
  [288765] = 3,
    ACTIONS(9950), 1,
      anon_sym_LPAREN,
    STATE(5679), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288776] = 3,
    ACTIONS(11577), 1,
      sym__arrow_operator_custom,
    STATE(4156), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288787] = 3,
    ACTIONS(13675), 1,
      anon_sym_COMMA,
    ACTIONS(13677), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288798] = 3,
    ACTIONS(10888), 1,
      anon_sym_LBRACE,
    STATE(3472), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288809] = 3,
    ACTIONS(9705), 1,
      anon_sym_LBRACE,
    STATE(3479), 1,
      sym_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288820] = 3,
    ACTIONS(13679), 1,
      sym__arrow_operator_custom,
    STATE(4145), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288831] = 3,
    ACTIONS(10878), 1,
      anon_sym_LBRACE,
    STATE(3501), 1,
      sym_protocol_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288842] = 3,
    ACTIONS(13681), 1,
      anon_sym_COLON,
    ACTIONS(13683), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288853] = 3,
    ACTIONS(10888), 1,
      anon_sym_LBRACE,
    STATE(3551), 1,
      sym_enum_class_body,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288864] = 3,
    ACTIONS(13685), 1,
      anon_sym_COLON,
    ACTIONS(13687), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288875] = 3,
    ACTIONS(5307), 1,
      anon_sym_LPAREN,
    STATE(1903), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288886] = 3,
    ACTIONS(7844), 1,
      sym__as_custom,
    STATE(4122), 1,
      sym__as,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288897] = 3,
    ACTIONS(9936), 1,
      anon_sym_LPAREN,
    STATE(5696), 1,
      aux_sym__function_value_parameters,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288908] = 3,
    ACTIONS(9774), 1,
      anon_sym_LBRACE,
    STATE(7391), 1,
      sym__block,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288919] = 3,
    ACTIONS(11504), 1,
      sym__arrow_operator_custom,
    STATE(4435), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288930] = 3,
    ACTIONS(13689), 1,
      sym__arrow_operator_custom,
    STATE(4158), 1,
      sym__arrow_operator,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288941] = 2,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
    ACTIONS(13691), 2,
      anon_sym_Type,
      anon_sym_Protocol,
  [288950] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(13693), 1,
      aux_sym__extended_regex_literal_token1,
    ACTIONS(13695), 1,
      aux_sym__multiline_regex_literal_token1,
  [288963] = 2,
    ACTIONS(13697), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288971] = 2,
    ACTIONS(13699), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288979] = 2,
    ACTIONS(13701), 1,
      anon_sym_set,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288987] = 2,
    ACTIONS(13703), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [288995] = 2,
    ACTIONS(13705), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289003] = 2,
    ACTIONS(9109), 1,
      anon_sym_GT,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289011] = 2,
    ACTIONS(13707), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289019] = 2,
    ACTIONS(13709), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289027] = 2,
    ACTIONS(11642), 1,
      sym__eq_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289035] = 2,
    ACTIONS(13711), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289043] = 2,
    ACTIONS(11703), 1,
      sym__eq_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289051] = 2,
    ACTIONS(13713), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289059] = 2,
    ACTIONS(13715), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289067] = 2,
    ACTIONS(13717), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289075] = 2,
    ACTIONS(13719), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289083] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(13721), 1,
      aux_sym__multiline_regex_literal_token2,
  [289093] = 2,
    ACTIONS(13723), 1,
      anon_sym_u,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289101] = 2,
    ACTIONS(9071), 1,
      anon_sym_GT,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289109] = 2,
    ACTIONS(13725), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289117] = 2,
    ACTIONS(13727), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289125] = 2,
    ACTIONS(13729), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289133] = 2,
    ACTIONS(13731), 1,
      sym_integer_literal,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289141] = 2,
    ACTIONS(13733), 1,
      sym_integer_literal,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289149] = 2,
    ACTIONS(13735), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289157] = 2,
    ACTIONS(13737), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289165] = 2,
    ACTIONS(13739), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289173] = 2,
    ACTIONS(13741), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289181] = 2,
    ACTIONS(13743), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289189] = 2,
    ACTIONS(13745), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289197] = 2,
    ACTIONS(13747), 1,
      sym_integer_literal,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289205] = 2,
    ACTIONS(13749), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289213] = 2,
    ACTIONS(13751), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289221] = 2,
    ACTIONS(13753), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289229] = 2,
    ACTIONS(13755), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289237] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(13757), 1,
      aux_sym__multiline_regex_literal_token2,
  [289247] = 2,
    ACTIONS(13759), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289255] = 2,
    ACTIONS(13761), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289263] = 2,
    ACTIONS(13763), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289271] = 2,
    ACTIONS(13765), 1,
      sym_integer_literal,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289279] = 2,
    ACTIONS(13767), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289287] = 2,
    ACTIONS(11719), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289295] = 2,
    ACTIONS(13769), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289303] = 2,
    ACTIONS(13771), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289311] = 2,
    ACTIONS(13773), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289319] = 2,
    ACTIONS(13775), 1,
      sym_integer_literal,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289327] = 2,
    ACTIONS(11717), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289335] = 2,
    ACTIONS(13777), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289343] = 2,
    ACTIONS(10616), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289351] = 2,
    ACTIONS(12115), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289359] = 2,
    ACTIONS(11686), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289367] = 2,
    ACTIONS(12253), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289375] = 2,
    ACTIONS(13779), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289383] = 2,
    ACTIONS(13781), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289391] = 2,
    ACTIONS(13783), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289399] = 2,
    ACTIONS(11678), 1,
      sym__eq_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289407] = 2,
    ACTIONS(13785), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289415] = 2,
    ACTIONS(9057), 1,
      anon_sym_GT,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289423] = 2,
    ACTIONS(12111), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289431] = 2,
    ACTIONS(13787), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289439] = 2,
    ACTIONS(13789), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289447] = 2,
    ACTIONS(13791), 1,
      sym_integer_literal,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289455] = 2,
    ACTIONS(13793), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289463] = 2,
    ACTIONS(13795), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289471] = 2,
    ACTIONS(13797), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289479] = 2,
    ACTIONS(13799), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289487] = 2,
    ACTIONS(13801), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289495] = 2,
    ACTIONS(13803), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289503] = 2,
    ACTIONS(6602), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289511] = 2,
    ACTIONS(11717), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289519] = 2,
    ACTIONS(13805), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289527] = 2,
    ACTIONS(13807), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289535] = 2,
    ACTIONS(6112), 1,
      anon_sym_in,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289543] = 2,
    ACTIONS(13809), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289551] = 2,
    ACTIONS(13811), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289559] = 2,
    ACTIONS(13813), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289567] = 2,
    ACTIONS(13815), 1,
      aux_sym__uni_character_literal_token1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289575] = 2,
    ACTIONS(13817), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289583] = 2,
    ACTIONS(13819), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289591] = 2,
    ACTIONS(13821), 1,
      anon_sym_GT,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289599] = 2,
    ACTIONS(9105), 1,
      anon_sym_GT,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289607] = 2,
    ACTIONS(13823), 1,
      sym_integer_literal,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289615] = 2,
    ACTIONS(13825), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289623] = 2,
    ACTIONS(13827), 1,
      anon_sym_in,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289631] = 2,
    ACTIONS(13829), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289639] = 2,
    ACTIONS(13831), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289647] = 2,
    ACTIONS(13833), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289655] = 2,
    ACTIONS(1193), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289663] = 2,
    ACTIONS(13835), 1,
      anon_sym_in,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289671] = 2,
    ACTIONS(13837), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289679] = 2,
    ACTIONS(13839), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289687] = 2,
    ACTIONS(13841), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289695] = 2,
    ACTIONS(13843), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289703] = 2,
    ACTIONS(13845), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289711] = 2,
    ACTIONS(13847), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289719] = 2,
    ACTIONS(13849), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289727] = 2,
    ACTIONS(13851), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289735] = 2,
    ACTIONS(13853), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289743] = 2,
    ACTIONS(13855), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289751] = 2,
    ACTIONS(13857), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289759] = 2,
    ACTIONS(11648), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289767] = 2,
    ACTIONS(13859), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289775] = 2,
    ACTIONS(13861), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289783] = 2,
    ACTIONS(13863), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289791] = 2,
    ACTIONS(13865), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289799] = 2,
    ACTIONS(10502), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289807] = 2,
    ACTIONS(13867), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289815] = 2,
    ACTIONS(13869), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289823] = 2,
    ACTIONS(13871), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289831] = 2,
    ACTIONS(13873), 1,
      sym_integer_literal,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289839] = 2,
    ACTIONS(13875), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289847] = 2,
    ACTIONS(13877), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289855] = 2,
    ACTIONS(13879), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289863] = 2,
    ACTIONS(13881), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289871] = 2,
    ACTIONS(12405), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289879] = 2,
    ACTIONS(13883), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289887] = 2,
    ACTIONS(13885), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289895] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(13887), 1,
      aux_sym__multiline_regex_literal_token2,
  [289905] = 2,
    ACTIONS(13889), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289913] = 2,
    ACTIONS(13891), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289921] = 2,
    ACTIONS(13893), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289929] = 2,
    ACTIONS(13895), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289937] = 2,
    ACTIONS(13897), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289945] = 2,
    ACTIONS(13899), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289953] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(13901), 1,
      aux_sym__multiline_regex_literal_token2,
  [289963] = 2,
    ACTIONS(13903), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289971] = 2,
    ACTIONS(13905), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289979] = 2,
    ACTIONS(13907), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289987] = 2,
    ACTIONS(11638), 1,
      sym__eq_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [289995] = 2,
    ACTIONS(13909), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290003] = 2,
    ACTIONS(10802), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290011] = 2,
    ACTIONS(13911), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290019] = 2,
    ACTIONS(13913), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290027] = 2,
    ACTIONS(10472), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290035] = 2,
    ACTIONS(13915), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290043] = 2,
    ACTIONS(13917), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290051] = 2,
    ACTIONS(13919), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290059] = 2,
    ACTIONS(10802), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290067] = 2,
    ACTIONS(13921), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290075] = 2,
    ACTIONS(13923), 1,
      sym_integer_literal,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290083] = 2,
    ACTIONS(13925), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290091] = 2,
    ACTIONS(13927), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290099] = 2,
    ACTIONS(11608), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290107] = 2,
    ACTIONS(13929), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290115] = 2,
    ACTIONS(13931), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290123] = 2,
    ACTIONS(11672), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290131] = 2,
    ACTIONS(13933), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290139] = 2,
    ACTIONS(13935), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290147] = 2,
    ACTIONS(10861), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290155] = 2,
    ACTIONS(13937), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290163] = 2,
    ACTIONS(12548), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290171] = 2,
    ACTIONS(10861), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290179] = 2,
    ACTIONS(11612), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290187] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(13939), 1,
      aux_sym__multiline_regex_literal_token2,
  [290197] = 2,
    ACTIONS(13941), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290205] = 2,
    ACTIONS(13943), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290213] = 2,
    ACTIONS(13945), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290221] = 2,
    ACTIONS(13947), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290229] = 2,
    ACTIONS(13949), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290237] = 2,
    ACTIONS(13951), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290245] = 2,
    ACTIONS(9731), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290253] = 2,
    ACTIONS(13953), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290261] = 2,
    ACTIONS(13955), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290269] = 2,
    ACTIONS(13957), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290277] = 2,
    ACTIONS(13959), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290285] = 2,
    ACTIONS(13961), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290293] = 2,
    ACTIONS(13963), 1,
      anon_sym_in,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290301] = 2,
    ACTIONS(13965), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290309] = 2,
    ACTIONS(13967), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290317] = 2,
    ACTIONS(13969), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290325] = 2,
    ACTIONS(13971), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290333] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(13973), 1,
      aux_sym_shebang_line_token1,
  [290343] = 2,
    ACTIONS(13975), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290351] = 2,
    ACTIONS(13977), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290359] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(13979), 1,
      aux_sym__multiline_regex_literal_token2,
  [290369] = 2,
    ACTIONS(13981), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290377] = 2,
    ACTIONS(13983), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290385] = 2,
    ACTIONS(13985), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290393] = 2,
    ACTIONS(13987), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290401] = 2,
    ACTIONS(13989), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290409] = 2,
    ACTIONS(13991), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290417] = 2,
    ACTIONS(13993), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290425] = 2,
    ACTIONS(13471), 1,
      anon_sym_didSet,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290433] = 2,
    ACTIONS(11895), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290441] = 2,
    ACTIONS(13469), 1,
      anon_sym_willSet,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290449] = 2,
    ACTIONS(13995), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290457] = 2,
    ACTIONS(11672), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290465] = 2,
    ACTIONS(13997), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290473] = 2,
    ACTIONS(12740), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290481] = 2,
    ACTIONS(9654), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290489] = 2,
    ACTIONS(13999), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290497] = 2,
    ACTIONS(14001), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290505] = 2,
    ACTIONS(14003), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290513] = 2,
    ACTIONS(14005), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290521] = 2,
    ACTIONS(14007), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290529] = 2,
    ACTIONS(14009), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290537] = 2,
    ACTIONS(11893), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290545] = 2,
    ACTIONS(14011), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290553] = 2,
    ACTIONS(9574), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290561] = 2,
    ACTIONS(14013), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290569] = 2,
    ACTIONS(14015), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290577] = 2,
    ACTIONS(14017), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290585] = 2,
    ACTIONS(14019), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290593] = 2,
    ACTIONS(14021), 1,
      aux_sym__uni_character_literal_token1,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290601] = 2,
    ACTIONS(11660), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290609] = 2,
    ACTIONS(14023), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290617] = 2,
    ACTIONS(14025), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290625] = 2,
    ACTIONS(3147), 1,
      sym__dot_custom,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290633] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(14027), 1,
      aux_sym__multiline_regex_literal_token2,
  [290643] = 2,
    ACTIONS(14029), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290651] = 2,
    ACTIONS(14031), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290659] = 2,
    ACTIONS(14033), 1,
      sym_integer_literal,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290667] = 2,
    ACTIONS(14035), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290675] = 2,
    ACTIONS(14037), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290683] = 2,
    ACTIONS(14039), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290691] = 2,
    ACTIONS(14041), 1,
      anon_sym_in,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290699] = 2,
    ACTIONS(14043), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290707] = 2,
    ACTIONS(14045), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290715] = 2,
    ACTIONS(14047), 1,
      anon_sym_in,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290723] = 2,
    ACTIONS(14049), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290731] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(14051), 1,
      aux_sym__multiline_regex_literal_token2,
  [290741] = 2,
    ACTIONS(14053), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290749] = 2,
    ACTIONS(14055), 1,
      anon_sym_GT,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290757] = 2,
    ACTIONS(14057), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290765] = 2,
    ACTIONS(14059), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290773] = 2,
    ACTIONS(14061), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290781] = 2,
    ACTIONS(11579), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290789] = 2,
    ACTIONS(14063), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290797] = 2,
    ACTIONS(14065), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290805] = 2,
    ACTIONS(11579), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290813] = 2,
    ACTIONS(14067), 1,
      anon_sym_u,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290821] = 2,
    ACTIONS(14069), 1,
      anon_sym_set,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290829] = 2,
    ACTIONS(14071), 1,
      anon_sym_GT,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290837] = 2,
    ACTIONS(14073), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290845] = 2,
    ACTIONS(14075), 1,
      anon_sym_in,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290853] = 2,
    ACTIONS(14077), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290861] = 2,
    ACTIONS(14079), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290869] = 2,
    ACTIONS(14081), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290877] = 2,
    ACTIONS(14083), 1,
      sym_integer_literal,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290885] = 2,
    ACTIONS(14085), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290893] = 2,
    ACTIONS(14087), 1,
      anon_sym_enum,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290901] = 2,
    ACTIONS(14089), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290909] = 2,
    ACTIONS(14091), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290917] = 2,
    ACTIONS(14093), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290925] = 2,
    ACTIONS(14095), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290933] = 2,
    ACTIONS(14097), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290941] = 2,
    ACTIONS(14099), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290949] = 2,
    ACTIONS(14101), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290957] = 2,
    ACTIONS(11656), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290965] = 2,
    ACTIONS(14103), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290973] = 2,
    ACTIONS(14105), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290981] = 2,
    ACTIONS(9069), 1,
      anon_sym_GT,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290989] = 2,
    ACTIONS(14107), 1,
      anon_sym_in,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [290997] = 2,
    ACTIONS(14109), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291005] = 2,
    ACTIONS(14111), 1,
      anon_sym_in,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291013] = 2,
    ACTIONS(14113), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291021] = 2,
    ACTIONS(14115), 1,
      anon_sym_in,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291029] = 2,
    ACTIONS(14117), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291037] = 2,
    ACTIONS(11652), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291045] = 2,
    ACTIONS(14119), 1,
      anon_sym_in,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291053] = 2,
    ACTIONS(14121), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291061] = 2,
    ACTIONS(14123), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291069] = 2,
    ACTIONS(14125), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291077] = 2,
    ACTIONS(14127), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291085] = 2,
    ACTIONS(14129), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291093] = 2,
    ACTIONS(14131), 1,
      ts_builtin_sym_end,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291101] = 2,
    ACTIONS(14133), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291109] = 2,
    ACTIONS(14135), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291117] = 2,
    ACTIONS(14137), 1,
      anon_sym_enum,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291125] = 2,
    ACTIONS(11684), 1,
      anon_sym_LBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291133] = 2,
    ACTIONS(14139), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291141] = 2,
    ACTIONS(14141), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291149] = 2,
    ACTIONS(14143), 1,
      anon_sym_in,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291157] = 2,
    ACTIONS(14145), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291165] = 2,
    ACTIONS(14147), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291173] = 2,
    ACTIONS(14149), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291181] = 2,
    ACTIONS(14151), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291189] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(14153), 1,
      aux_sym__multiline_regex_literal_token2,
  [291199] = 2,
    ACTIONS(14155), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291207] = 2,
    ACTIONS(14157), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291215] = 2,
    ACTIONS(14159), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291223] = 2,
    ACTIONS(14161), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291231] = 2,
    ACTIONS(14163), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291239] = 2,
    ACTIONS(14165), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291247] = 2,
    ACTIONS(14167), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291255] = 2,
    ACTIONS(14169), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291263] = 2,
    ACTIONS(14171), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291271] = 2,
    ACTIONS(14173), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291279] = 2,
    ACTIONS(14175), 1,
      anon_sym_in,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291287] = 2,
    ACTIONS(14177), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291295] = 2,
    ACTIONS(14179), 1,
      anon_sym_enum,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291303] = 2,
    ACTIONS(14181), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291311] = 2,
    ACTIONS(14183), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291319] = 2,
    ACTIONS(14185), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291327] = 2,
    ACTIONS(14187), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291335] = 2,
    ACTIONS(14189), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291343] = 2,
    ACTIONS(13126), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291351] = 2,
    ACTIONS(14191), 1,
      anon_sym_in,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291359] = 2,
    ACTIONS(14193), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291367] = 2,
    ACTIONS(14195), 1,
      anon_sym_in,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291375] = 2,
    ACTIONS(14197), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291383] = 2,
    ACTIONS(14199), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291391] = 2,
    ACTIONS(14201), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291399] = 2,
    ACTIONS(14203), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291407] = 2,
    ACTIONS(14205), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291415] = 2,
    ACTIONS(14207), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291423] = 2,
    ACTIONS(9770), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291431] = 2,
    ACTIONS(14209), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291439] = 2,
    ACTIONS(14211), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291447] = 2,
    ACTIONS(14213), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291455] = 2,
    ACTIONS(14215), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291463] = 2,
    ACTIONS(14217), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291471] = 2,
    ACTIONS(14219), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291479] = 2,
    ACTIONS(14221), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291487] = 2,
    ACTIONS(14223), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291495] = 2,
    ACTIONS(14225), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291503] = 2,
    ACTIONS(14227), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291511] = 2,
    ACTIONS(14229), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291519] = 2,
    ACTIONS(14231), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291527] = 2,
    ACTIONS(14233), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291535] = 2,
    ACTIONS(14235), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291543] = 2,
    ACTIONS(14237), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291551] = 2,
    ACTIONS(14239), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291559] = 2,
    ACTIONS(14241), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291567] = 2,
    ACTIONS(14243), 1,
      anon_sym_in,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291575] = 2,
    ACTIONS(14245), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291583] = 2,
    ACTIONS(14247), 1,
      sym_integer_literal,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291591] = 2,
    ACTIONS(14249), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291599] = 2,
    ACTIONS(14251), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291607] = 2,
    ACTIONS(11763), 1,
      anon_sym_RPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291615] = 2,
    ACTIONS(14253), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291623] = 2,
    ACTIONS(14255), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291631] = 2,
    ACTIONS(14257), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291639] = 2,
    ACTIONS(14259), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291647] = 2,
    ACTIONS(14261), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291655] = 2,
    ACTIONS(14263), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291663] = 2,
    ACTIONS(14265), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291671] = 2,
    ACTIONS(14267), 1,
      anon_sym_in,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291679] = 2,
    ACTIONS(9101), 1,
      anon_sym_GT,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291687] = 2,
    ACTIONS(14269), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291695] = 2,
    ACTIONS(14271), 1,
      anon_sym_in,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291703] = 2,
    ACTIONS(14273), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291711] = 2,
    ACTIONS(14275), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291719] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym_multiline_comment,
    ACTIONS(14277), 1,
      aux_sym__multiline_regex_literal_token2,
  [291729] = 2,
    ACTIONS(14279), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291737] = 2,
    ACTIONS(14281), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291745] = 2,
    ACTIONS(14283), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291753] = 2,
    ACTIONS(14285), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291761] = 2,
    ACTIONS(14287), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291769] = 2,
    ACTIONS(14289), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291777] = 2,
    ACTIONS(14291), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291785] = 2,
    ACTIONS(14293), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291793] = 2,
    ACTIONS(14295), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291801] = 2,
    ACTIONS(14297), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291809] = 2,
    ACTIONS(14299), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291817] = 2,
    ACTIONS(14301), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291825] = 2,
    ACTIONS(14303), 1,
      anon_sym_COLON,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291833] = 2,
    ACTIONS(14305), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291841] = 2,
    ACTIONS(14307), 1,
      anon_sym_RBRACE,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291849] = 2,
    ACTIONS(14309), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291857] = 2,
    ACTIONS(14311), 1,
      anon_sym_RBRACK,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291865] = 2,
    ACTIONS(14313), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291873] = 2,
    ACTIONS(14315), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291881] = 2,
    ACTIONS(14317), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291889] = 2,
    ACTIONS(14319), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291897] = 2,
    ACTIONS(14321), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291905] = 2,
    ACTIONS(14323), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291913] = 2,
    ACTIONS(14325), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291921] = 2,
    ACTIONS(14327), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
  [291929] = 2,
    ACTIONS(14329), 1,
      anon_sym_LPAREN,
    ACTIONS(5), 2,
      sym_multiline_comment,
      sym_comment,
};

static const uint32_t ts_small_parse_table_map[] = {
  [SMALL_STATE(1918)] = 0,
  [SMALL_STATE(1919)] = 89,
  [SMALL_STATE(1920)] = 160,
  [SMALL_STATE(1921)] = 231,
  [SMALL_STATE(1922)] = 308,
  [SMALL_STATE(1923)] = 383,
  [SMALL_STATE(1924)] = 454,
  [SMALL_STATE(1925)] = 525,
  [SMALL_STATE(1926)] = 616,
  [SMALL_STATE(1927)] = 687,
  [SMALL_STATE(1928)] = 758,
  [SMALL_STATE(1929)] = 829,
  [SMALL_STATE(1930)] = 920,
  [SMALL_STATE(1931)] = 1001,
  [SMALL_STATE(1932)] = 1092,
  [SMALL_STATE(1933)] = 1173,
  [SMALL_STATE(1934)] = 1246,
  [SMALL_STATE(1935)] = 1317,
  [SMALL_STATE(1936)] = 1404,
  [SMALL_STATE(1937)] = 1475,
  [SMALL_STATE(1938)] = 1548,
  [SMALL_STATE(1939)] = 1621,
  [SMALL_STATE(1940)] = 1694,
  [SMALL_STATE(1941)] = 1785,
  [SMALL_STATE(1942)] = 1856,
  [SMALL_STATE(1943)] = 1929,
  [SMALL_STATE(1944)] = 2000,
  [SMALL_STATE(1945)] = 2091,
  [SMALL_STATE(1946)] = 2164,
  [SMALL_STATE(1947)] = 2235,
  [SMALL_STATE(1948)] = 2323,
  [SMALL_STATE(1949)] = 2411,
  [SMALL_STATE(1950)] = 2485,
  [SMALL_STATE(1951)] = 2573,
  [SMALL_STATE(1952)] = 2649,
  [SMALL_STATE(1953)] = 2739,
  [SMALL_STATE(1954)] = 2817,
  [SMALL_STATE(1955)] = 2887,
  [SMALL_STATE(1956)] = 2975,
  [SMALL_STATE(1957)] = 3051,
  [SMALL_STATE(1958)] = 3139,
  [SMALL_STATE(1959)] = 3209,
  [SMALL_STATE(1960)] = 3287,
  [SMALL_STATE(1961)] = 3357,
  [SMALL_STATE(1962)] = 3427,
  [SMALL_STATE(1963)] = 3503,
  [SMALL_STATE(1964)] = 3579,
  [SMALL_STATE(1965)] = 3653,
  [SMALL_STATE(1966)] = 3725,
  [SMALL_STATE(1967)] = 3813,
  [SMALL_STATE(1968)] = 3883,
  [SMALL_STATE(1969)] = 3973,
  [SMALL_STATE(1970)] = 4061,
  [SMALL_STATE(1971)] = 4151,
  [SMALL_STATE(1972)] = 4231,
  [SMALL_STATE(1973)] = 4305,
  [SMALL_STATE(1974)] = 4375,
  [SMALL_STATE(1975)] = 4445,
  [SMALL_STATE(1976)] = 4525,
  [SMALL_STATE(1977)] = 4603,
  [SMALL_STATE(1978)] = 4681,
  [SMALL_STATE(1979)] = 4759,
  [SMALL_STATE(1980)] = 4847,
  [SMALL_STATE(1981)] = 4937,
  [SMALL_STATE(1982)] = 5027,
  [SMALL_STATE(1983)] = 5097,
  [SMALL_STATE(1984)] = 5167,
  [SMALL_STATE(1985)] = 5237,
  [SMALL_STATE(1986)] = 5326,
  [SMALL_STATE(1987)] = 5405,
  [SMALL_STATE(1988)] = 5474,
  [SMALL_STATE(1989)] = 5543,
  [SMALL_STATE(1990)] = 5618,
  [SMALL_STATE(1991)] = 5691,
  [SMALL_STATE(1992)] = 5780,
  [SMALL_STATE(1993)] = 5869,
  [SMALL_STATE(1994)] = 5942,
  [SMALL_STATE(1995)] = 6021,
  [SMALL_STATE(1996)] = 6108,
  [SMALL_STATE(1997)] = 6181,
  [SMALL_STATE(1998)] = 6260,
  [SMALL_STATE(1999)] = 6333,
  [SMALL_STATE(2000)] = 6410,
  [SMALL_STATE(2001)] = 6499,
  [SMALL_STATE(2002)] = 6574,
  [SMALL_STATE(2003)] = 6663,
  [SMALL_STATE(2004)] = 6732,
  [SMALL_STATE(2005)] = 6801,
  [SMALL_STATE(2006)] = 6890,
  [SMALL_STATE(2007)] = 6967,
  [SMALL_STATE(2008)] = 7036,
  [SMALL_STATE(2009)] = 7113,
  [SMALL_STATE(2010)] = 7202,
  [SMALL_STATE(2011)] = 7291,
  [SMALL_STATE(2012)] = 7370,
  [SMALL_STATE(2013)] = 7439,
  [SMALL_STATE(2014)] = 7508,
  [SMALL_STATE(2015)] = 7581,
  [SMALL_STATE(2016)] = 7656,
  [SMALL_STATE(2017)] = 7745,
  [SMALL_STATE(2018)] = 7834,
  [SMALL_STATE(2019)] = 7909,
  [SMALL_STATE(2020)] = 7996,
  [SMALL_STATE(2021)] = 8070,
  [SMALL_STATE(2022)] = 8152,
  [SMALL_STATE(2023)] = 8222,
  [SMALL_STATE(2024)] = 8292,
  [SMALL_STATE(2025)] = 8362,
  [SMALL_STATE(2026)] = 8432,
  [SMALL_STATE(2027)] = 8502,
  [SMALL_STATE(2028)] = 8572,
  [SMALL_STATE(2029)] = 8642,
  [SMALL_STATE(2030)] = 8712,
  [SMALL_STATE(2031)] = 8782,
  [SMALL_STATE(2032)] = 8850,
  [SMALL_STATE(2033)] = 8920,
  [SMALL_STATE(2034)] = 8990,
  [SMALL_STATE(2035)] = 9058,
  [SMALL_STATE(2036)] = 9140,
  [SMALL_STATE(2037)] = 9222,
  [SMALL_STATE(2038)] = 9292,
  [SMALL_STATE(2039)] = 9362,
  [SMALL_STATE(2040)] = 9444,
  [SMALL_STATE(2041)] = 9546,
  [SMALL_STATE(2042)] = 9628,
  [SMALL_STATE(2043)] = 9702,
  [SMALL_STATE(2044)] = 9784,
  [SMALL_STATE(2045)] = 9866,
  [SMALL_STATE(2046)] = 9948,
  [SMALL_STATE(2047)] = 10030,
  [SMALL_STATE(2048)] = 10104,
  [SMALL_STATE(2049)] = 10188,
  [SMALL_STATE(2050)] = 10262,
  [SMALL_STATE(2051)] = 10334,
  [SMALL_STATE(2052)] = 10418,
  [SMALL_STATE(2053)] = 10520,
  [SMALL_STATE(2054)] = 10588,
  [SMALL_STATE(2055)] = 10670,
  [SMALL_STATE(2056)] = 10740,
  [SMALL_STATE(2057)] = 10828,
  [SMALL_STATE(2058)] = 10902,
  [SMALL_STATE(2059)] = 10972,
  [SMALL_STATE(2060)] = 11042,
  [SMALL_STATE(2061)] = 11112,
  [SMALL_STATE(2062)] = 11182,
  [SMALL_STATE(2063)] = 11270,
  [SMALL_STATE(2064)] = 11358,
  [SMALL_STATE(2065)] = 11428,
  [SMALL_STATE(2066)] = 11506,
  [SMALL_STATE(2067)] = 11590,
  [SMALL_STATE(2068)] = 11664,
  [SMALL_STATE(2069)] = 11738,
  [SMALL_STATE(2070)] = 11826,
  [SMALL_STATE(2071)] = 11896,
  [SMALL_STATE(2072)] = 11966,
  [SMALL_STATE(2073)] = 12048,
  [SMALL_STATE(2074)] = 12130,
  [SMALL_STATE(2075)] = 12200,
  [SMALL_STATE(2076)] = 12270,
  [SMALL_STATE(2077)] = 12344,
  [SMALL_STATE(2078)] = 12430,
  [SMALL_STATE(2079)] = 12512,
  [SMALL_STATE(2080)] = 12586,
  [SMALL_STATE(2081)] = 12660,
  [SMALL_STATE(2082)] = 12732,
  [SMALL_STATE(2083)] = 12804,
  [SMALL_STATE(2084)] = 12878,
  [SMALL_STATE(2085)] = 12960,
  [SMALL_STATE(2086)] = 13042,
  [SMALL_STATE(2087)] = 13110,
  [SMALL_STATE(2088)] = 13198,
  [SMALL_STATE(2089)] = 13272,
  [SMALL_STATE(2090)] = 13340,
  [SMALL_STATE(2091)] = 13408,
  [SMALL_STATE(2092)] = 13486,
  [SMALL_STATE(2093)] = 13554,
  [SMALL_STATE(2094)] = 13623,
  [SMALL_STATE(2095)] = 13692,
  [SMALL_STATE(2096)] = 13765,
  [SMALL_STATE(2097)] = 13834,
  [SMALL_STATE(2098)] = 13901,
  [SMALL_STATE(2099)] = 13970,
  [SMALL_STATE(2100)] = 14039,
  [SMALL_STATE(2101)] = 14110,
  [SMALL_STATE(2102)] = 14177,
  [SMALL_STATE(2103)] = 14250,
  [SMALL_STATE(2104)] = 14323,
  [SMALL_STATE(2105)] = 14396,
  [SMALL_STATE(2106)] = 14465,
  [SMALL_STATE(2107)] = 14534,
  [SMALL_STATE(2108)] = 14603,
  [SMALL_STATE(2109)] = 14686,
  [SMALL_STATE(2110)] = 14755,
  [SMALL_STATE(2111)] = 14822,
  [SMALL_STATE(2112)] = 14907,
  [SMALL_STATE(2113)] = 14980,
  [SMALL_STATE(2114)] = 15061,
  [SMALL_STATE(2115)] = 15130,
  [SMALL_STATE(2116)] = 15201,
  [SMALL_STATE(2117)] = 15276,
  [SMALL_STATE(2118)] = 15351,
  [SMALL_STATE(2119)] = 15420,
  [SMALL_STATE(2120)] = 15495,
  [SMALL_STATE(2121)] = 15572,
  [SMALL_STATE(2122)] = 15641,
  [SMALL_STATE(2123)] = 15716,
  [SMALL_STATE(2124)] = 15783,
  [SMALL_STATE(2125)] = 15852,
  [SMALL_STATE(2126)] = 15919,
  [SMALL_STATE(2127)] = 15986,
  [SMALL_STATE(2128)] = 16053,
  [SMALL_STATE(2129)] = 16122,
  [SMALL_STATE(2130)] = 16191,
  [SMALL_STATE(2131)] = 16260,
  [SMALL_STATE(2132)] = 16333,
  [SMALL_STATE(2133)] = 16402,
  [SMALL_STATE(2134)] = 16479,
  [SMALL_STATE(2135)] = 16548,
  [SMALL_STATE(2136)] = 16623,
  [SMALL_STATE(2137)] = 16692,
  [SMALL_STATE(2138)] = 16763,
  [SMALL_STATE(2139)] = 16832,
  [SMALL_STATE(2140)] = 16901,
  [SMALL_STATE(2141)] = 16970,
  [SMALL_STATE(2142)] = 17057,
  [SMALL_STATE(2143)] = 17130,
  [SMALL_STATE(2144)] = 17197,
  [SMALL_STATE(2145)] = 17268,
  [SMALL_STATE(2146)] = 17337,
  [SMALL_STATE(2147)] = 17408,
  [SMALL_STATE(2148)] = 17483,
  [SMALL_STATE(2149)] = 17554,
  [SMALL_STATE(2150)] = 17627,
  [SMALL_STATE(2151)] = 17694,
  [SMALL_STATE(2152)] = 17760,
  [SMALL_STATE(2153)] = 17830,
  [SMALL_STATE(2154)] = 17908,
  [SMALL_STATE(2155)] = 17978,
  [SMALL_STATE(2156)] = 18044,
  [SMALL_STATE(2157)] = 18116,
  [SMALL_STATE(2158)] = 18188,
  [SMALL_STATE(2159)] = 18254,
  [SMALL_STATE(2160)] = 18326,
  [SMALL_STATE(2161)] = 18392,
  [SMALL_STATE(2162)] = 18458,
  [SMALL_STATE(2163)] = 18524,
  [SMALL_STATE(2164)] = 18590,
  [SMALL_STATE(2165)] = 18662,
  [SMALL_STATE(2166)] = 18732,
  [SMALL_STATE(2167)] = 18802,
  [SMALL_STATE(2168)] = 18868,
  [SMALL_STATE(2169)] = 18938,
  [SMALL_STATE(2170)] = 19008,
  [SMALL_STATE(2171)] = 19082,
  [SMALL_STATE(2172)] = 19148,
  [SMALL_STATE(2173)] = 19220,
  [SMALL_STATE(2174)] = 19292,
  [SMALL_STATE(2175)] = 19358,
  [SMALL_STATE(2176)] = 19426,
  [SMALL_STATE(2177)] = 19498,
  [SMALL_STATE(2178)] = 19570,
  [SMALL_STATE(2179)] = 19642,
  [SMALL_STATE(2180)] = 19708,
  [SMALL_STATE(2181)] = 19774,
  [SMALL_STATE(2182)] = 19842,
  [SMALL_STATE(2183)] = 19914,
  [SMALL_STATE(2184)] = 19984,
  [SMALL_STATE(2185)] = 20050,
  [SMALL_STATE(2186)] = 20116,
  [SMALL_STATE(2187)] = 20194,
  [SMALL_STATE(2188)] = 20264,
  [SMALL_STATE(2189)] = 20338,
  [SMALL_STATE(2190)] = 20416,
  [SMALL_STATE(2191)] = 20498,
  [SMALL_STATE(2192)] = 20564,
  [SMALL_STATE(2193)] = 20630,
  [SMALL_STATE(2194)] = 20710,
  [SMALL_STATE(2195)] = 20776,
  [SMALL_STATE(2196)] = 20846,
  [SMALL_STATE(2197)] = 20912,
  [SMALL_STATE(2198)] = 20978,
  [SMALL_STATE(2199)] = 21044,
  [SMALL_STATE(2200)] = 21112,
  [SMALL_STATE(2201)] = 21184,
  [SMALL_STATE(2202)] = 21250,
  [SMALL_STATE(2203)] = 21316,
  [SMALL_STATE(2204)] = 21382,
  [SMALL_STATE(2205)] = 21448,
  [SMALL_STATE(2206)] = 21514,
  [SMALL_STATE(2207)] = 21586,
  [SMALL_STATE(2208)] = 21652,
  [SMALL_STATE(2209)] = 21726,
  [SMALL_STATE(2210)] = 21792,
  [SMALL_STATE(2211)] = 21860,
  [SMALL_STATE(2212)] = 21926,
  [SMALL_STATE(2213)] = 22001,
  [SMALL_STATE(2214)] = 22072,
  [SMALL_STATE(2215)] = 22139,
  [SMALL_STATE(2216)] = 22206,
  [SMALL_STATE(2217)] = 22281,
  [SMALL_STATE(2218)] = 22348,
  [SMALL_STATE(2219)] = 22415,
  [SMALL_STATE(2220)] = 22482,
  [SMALL_STATE(2221)] = 22557,
  [SMALL_STATE(2222)] = 22632,
  [SMALL_STATE(2223)] = 22707,
  [SMALL_STATE(2224)] = 22774,
  [SMALL_STATE(2225)] = 22871,
  [SMALL_STATE(2226)] = 22942,
  [SMALL_STATE(2227)] = 23013,
  [SMALL_STATE(2228)] = 23080,
  [SMALL_STATE(2229)] = 23147,
  [SMALL_STATE(2230)] = 23214,
  [SMALL_STATE(2231)] = 23289,
  [SMALL_STATE(2232)] = 23364,
  [SMALL_STATE(2233)] = 23431,
  [SMALL_STATE(2234)] = 23498,
  [SMALL_STATE(2235)] = 23565,
  [SMALL_STATE(2236)] = 23632,
  [SMALL_STATE(2237)] = 23707,
  [SMALL_STATE(2238)] = 23772,
  [SMALL_STATE(2239)] = 23847,
  [SMALL_STATE(2240)] = 23914,
  [SMALL_STATE(2241)] = 23981,
  [SMALL_STATE(2242)] = 24048,
  [SMALL_STATE(2243)] = 24119,
  [SMALL_STATE(2244)] = 24194,
  [SMALL_STATE(2245)] = 24261,
  [SMALL_STATE(2246)] = 24340,
  [SMALL_STATE(2247)] = 24407,
  [SMALL_STATE(2248)] = 24474,
  [SMALL_STATE(2249)] = 24549,
  [SMALL_STATE(2250)] = 24614,
  [SMALL_STATE(2251)] = 24689,
  [SMALL_STATE(2252)] = 24764,
  [SMALL_STATE(2253)] = 24835,
  [SMALL_STATE(2254)] = 24902,
  [SMALL_STATE(2255)] = 24969,
  [SMALL_STATE(2256)] = 25044,
  [SMALL_STATE(2257)] = 25111,
  [SMALL_STATE(2258)] = 25184,
  [SMALL_STATE(2259)] = 25251,
  [SMALL_STATE(2260)] = 25326,
  [SMALL_STATE(2261)] = 25403,
  [SMALL_STATE(2262)] = 25470,
  [SMALL_STATE(2263)] = 25537,
  [SMALL_STATE(2264)] = 25612,
  [SMALL_STATE(2265)] = 25683,
  [SMALL_STATE(2266)] = 25754,
  [SMALL_STATE(2267)] = 25821,
  [SMALL_STATE(2268)] = 25890,
  [SMALL_STATE(2269)] = 25957,
  [SMALL_STATE(2270)] = 26032,
  [SMALL_STATE(2271)] = 26107,
  [SMALL_STATE(2272)] = 26182,
  [SMALL_STATE(2273)] = 26257,
  [SMALL_STATE(2274)] = 26324,
  [SMALL_STATE(2275)] = 26395,
  [SMALL_STATE(2276)] = 26462,
  [SMALL_STATE(2277)] = 26529,
  [SMALL_STATE(2278)] = 26596,
  [SMALL_STATE(2279)] = 26671,
  [SMALL_STATE(2280)] = 26738,
  [SMALL_STATE(2281)] = 26805,
  [SMALL_STATE(2282)] = 26876,
  [SMALL_STATE(2283)] = 26943,
  [SMALL_STATE(2284)] = 27014,
  [SMALL_STATE(2285)] = 27081,
  [SMALL_STATE(2286)] = 27148,
  [SMALL_STATE(2287)] = 27215,
  [SMALL_STATE(2288)] = 27290,
  [SMALL_STATE(2289)] = 27357,
  [SMALL_STATE(2290)] = 27424,
  [SMALL_STATE(2291)] = 27499,
  [SMALL_STATE(2292)] = 27570,
  [SMALL_STATE(2293)] = 27637,
  [SMALL_STATE(2294)] = 27708,
  [SMALL_STATE(2295)] = 27779,
  [SMALL_STATE(2296)] = 27846,
  [SMALL_STATE(2297)] = 27921,
  [SMALL_STATE(2298)] = 27988,
  [SMALL_STATE(2299)] = 28055,
  [SMALL_STATE(2300)] = 28122,
  [SMALL_STATE(2301)] = 28189,
  [SMALL_STATE(2302)] = 28254,
  [SMALL_STATE(2303)] = 28321,
  [SMALL_STATE(2304)] = 28388,
  [SMALL_STATE(2305)] = 28455,
  [SMALL_STATE(2306)] = 28526,
  [SMALL_STATE(2307)] = 28599,
  [SMALL_STATE(2308)] = 28666,
  [SMALL_STATE(2309)] = 28739,
  [SMALL_STATE(2310)] = 28836,
  [SMALL_STATE(2311)] = 28911,
  [SMALL_STATE(2312)] = 28978,
  [SMALL_STATE(2313)] = 29045,
  [SMALL_STATE(2314)] = 29116,
  [SMALL_STATE(2315)] = 29195,
  [SMALL_STATE(2316)] = 29262,
  [SMALL_STATE(2317)] = 29333,
  [SMALL_STATE(2318)] = 29408,
  [SMALL_STATE(2319)] = 29472,
  [SMALL_STATE(2320)] = 29538,
  [SMALL_STATE(2321)] = 29608,
  [SMALL_STATE(2322)] = 29678,
  [SMALL_STATE(2323)] = 29744,
  [SMALL_STATE(2324)] = 29814,
  [SMALL_STATE(2325)] = 29878,
  [SMALL_STATE(2326)] = 29942,
  [SMALL_STATE(2327)] = 30006,
  [SMALL_STATE(2328)] = 30072,
  [SMALL_STATE(2329)] = 30168,
  [SMALL_STATE(2330)] = 30264,
  [SMALL_STATE(2331)] = 30330,
  [SMALL_STATE(2332)] = 30402,
  [SMALL_STATE(2333)] = 30472,
  [SMALL_STATE(2334)] = 30542,
  [SMALL_STATE(2335)] = 30612,
  [SMALL_STATE(2336)] = 30678,
  [SMALL_STATE(2337)] = 30750,
  [SMALL_STATE(2338)] = 30816,
  [SMALL_STATE(2339)] = 30882,
  [SMALL_STATE(2340)] = 30948,
  [SMALL_STATE(2341)] = 31014,
  [SMALL_STATE(2342)] = 31080,
  [SMALL_STATE(2343)] = 31144,
  [SMALL_STATE(2344)] = 31212,
  [SMALL_STATE(2345)] = 31284,
  [SMALL_STATE(2346)] = 31350,
  [SMALL_STATE(2347)] = 31416,
  [SMALL_STATE(2348)] = 31482,
  [SMALL_STATE(2349)] = 31548,
  [SMALL_STATE(2350)] = 31614,
  [SMALL_STATE(2351)] = 31680,
  [SMALL_STATE(2352)] = 31744,
  [SMALL_STATE(2353)] = 31814,
  [SMALL_STATE(2354)] = 31884,
  [SMALL_STATE(2355)] = 31956,
  [SMALL_STATE(2356)] = 32024,
  [SMALL_STATE(2357)] = 32094,
  [SMALL_STATE(2358)] = 32160,
  [SMALL_STATE(2359)] = 32226,
  [SMALL_STATE(2360)] = 32292,
  [SMALL_STATE(2361)] = 32358,
  [SMALL_STATE(2362)] = 32422,
  [SMALL_STATE(2363)] = 32504,
  [SMALL_STATE(2364)] = 32570,
  [SMALL_STATE(2365)] = 32634,
  [SMALL_STATE(2366)] = 32700,
  [SMALL_STATE(2367)] = 32768,
  [SMALL_STATE(2368)] = 32838,
  [SMALL_STATE(2369)] = 32904,
  [SMALL_STATE(2370)] = 32968,
  [SMALL_STATE(2371)] = 33048,
  [SMALL_STATE(2372)] = 33112,
  [SMALL_STATE(2373)] = 33176,
  [SMALL_STATE(2374)] = 33246,
  [SMALL_STATE(2375)] = 33312,
  [SMALL_STATE(2376)] = 33382,
  [SMALL_STATE(2377)] = 33446,
  [SMALL_STATE(2378)] = 33510,
  [SMALL_STATE(2379)] = 33578,
  [SMALL_STATE(2380)] = 33656,
  [SMALL_STATE(2381)] = 33724,
  [SMALL_STATE(2382)] = 33794,
  [SMALL_STATE(2383)] = 33860,
  [SMALL_STATE(2384)] = 33928,
  [SMALL_STATE(2385)] = 34000,
  [SMALL_STATE(2386)] = 34070,
  [SMALL_STATE(2387)] = 34136,
  [SMALL_STATE(2388)] = 34204,
  [SMALL_STATE(2389)] = 34276,
  [SMALL_STATE(2390)] = 34342,
  [SMALL_STATE(2391)] = 34412,
  [SMALL_STATE(2392)] = 34494,
  [SMALL_STATE(2393)] = 34576,
  [SMALL_STATE(2394)] = 34658,
  [SMALL_STATE(2395)] = 34724,
  [SMALL_STATE(2396)] = 34806,
  [SMALL_STATE(2397)] = 34876,
  [SMALL_STATE(2398)] = 34940,
  [SMALL_STATE(2399)] = 35004,
  [SMALL_STATE(2400)] = 35076,
  [SMALL_STATE(2401)] = 35140,
  [SMALL_STATE(2402)] = 35210,
  [SMALL_STATE(2403)] = 35274,
  [SMALL_STATE(2404)] = 35338,
  [SMALL_STATE(2405)] = 35404,
  [SMALL_STATE(2406)] = 35470,
  [SMALL_STATE(2407)] = 35536,
  [SMALL_STATE(2408)] = 35600,
  [SMALL_STATE(2409)] = 35666,
  [SMALL_STATE(2410)] = 35732,
  [SMALL_STATE(2411)] = 35798,
  [SMALL_STATE(2412)] = 35870,
  [SMALL_STATE(2413)] = 35936,
  [SMALL_STATE(2414)] = 36002,
  [SMALL_STATE(2415)] = 36068,
  [SMALL_STATE(2416)] = 36132,
  [SMALL_STATE(2417)] = 36197,
  [SMALL_STATE(2418)] = 36266,
  [SMALL_STATE(2419)] = 36335,
  [SMALL_STATE(2420)] = 36404,
  [SMALL_STATE(2421)] = 36473,
  [SMALL_STATE(2422)] = 36538,
  [SMALL_STATE(2423)] = 36603,
  [SMALL_STATE(2424)] = 36666,
  [SMALL_STATE(2425)] = 36729,
  [SMALL_STATE(2426)] = 36798,
  [SMALL_STATE(2427)] = 36867,
  [SMALL_STATE(2428)] = 36930,
  [SMALL_STATE(2429)] = 36993,
  [SMALL_STATE(2430)] = 37056,
  [SMALL_STATE(2431)] = 37123,
  [SMALL_STATE(2432)] = 37192,
  [SMALL_STATE(2433)] = 37261,
  [SMALL_STATE(2434)] = 37330,
  [SMALL_STATE(2435)] = 37399,
  [SMALL_STATE(2436)] = 37464,
  [SMALL_STATE(2437)] = 37529,
  [SMALL_STATE(2438)] = 37598,
  [SMALL_STATE(2439)] = 37667,
  [SMALL_STATE(2440)] = 37736,
  [SMALL_STATE(2441)] = 37799,
  [SMALL_STATE(2442)] = 37868,
  [SMALL_STATE(2443)] = 37933,
  [SMALL_STATE(2444)] = 38002,
  [SMALL_STATE(2445)] = 38071,
  [SMALL_STATE(2446)] = 38134,
  [SMALL_STATE(2447)] = 38197,
  [SMALL_STATE(2448)] = 38266,
  [SMALL_STATE(2449)] = 38331,
  [SMALL_STATE(2450)] = 38400,
  [SMALL_STATE(2451)] = 38469,
  [SMALL_STATE(2452)] = 38534,
  [SMALL_STATE(2453)] = 38603,
  [SMALL_STATE(2454)] = 38670,
  [SMALL_STATE(2455)] = 38737,
  [SMALL_STATE(2456)] = 38800,
  [SMALL_STATE(2457)] = 38863,
  [SMALL_STATE(2458)] = 38932,
  [SMALL_STATE(2459)] = 38995,
  [SMALL_STATE(2460)] = 39064,
  [SMALL_STATE(2461)] = 39131,
  [SMALL_STATE(2462)] = 39200,
  [SMALL_STATE(2463)] = 39271,
  [SMALL_STATE(2464)] = 39340,
  [SMALL_STATE(2465)] = 39407,
  [SMALL_STATE(2466)] = 39476,
  [SMALL_STATE(2467)] = 39543,
  [SMALL_STATE(2468)] = 39608,
  [SMALL_STATE(2469)] = 39677,
  [SMALL_STATE(2470)] = 39746,
  [SMALL_STATE(2471)] = 39815,
  [SMALL_STATE(2472)] = 39884,
  [SMALL_STATE(2473)] = 39949,
  [SMALL_STATE(2474)] = 40014,
  [SMALL_STATE(2475)] = 40083,
  [SMALL_STATE(2476)] = 40148,
  [SMALL_STATE(2477)] = 40211,
  [SMALL_STATE(2478)] = 40280,
  [SMALL_STATE(2479)] = 40343,
  [SMALL_STATE(2480)] = 40412,
  [SMALL_STATE(2481)] = 40481,
  [SMALL_STATE(2482)] = 40550,
  [SMALL_STATE(2483)] = 40613,
  [SMALL_STATE(2484)] = 40682,
  [SMALL_STATE(2485)] = 40751,
  [SMALL_STATE(2486)] = 40820,
  [SMALL_STATE(2487)] = 40883,
  [SMALL_STATE(2488)] = 40946,
  [SMALL_STATE(2489)] = 41015,
  [SMALL_STATE(2490)] = 41084,
  [SMALL_STATE(2491)] = 41149,
  [SMALL_STATE(2492)] = 41214,
  [SMALL_STATE(2493)] = 41283,
  [SMALL_STATE(2494)] = 41348,
  [SMALL_STATE(2495)] = 41417,
  [SMALL_STATE(2496)] = 41510,
  [SMALL_STATE(2497)] = 41603,
  [SMALL_STATE(2498)] = 41672,
  [SMALL_STATE(2499)] = 41741,
  [SMALL_STATE(2500)] = 41810,
  [SMALL_STATE(2501)] = 41873,
  [SMALL_STATE(2502)] = 41942,
  [SMALL_STATE(2503)] = 42007,
  [SMALL_STATE(2504)] = 42076,
  [SMALL_STATE(2505)] = 42145,
  [SMALL_STATE(2506)] = 42210,
  [SMALL_STATE(2507)] = 42279,
  [SMALL_STATE(2508)] = 42344,
  [SMALL_STATE(2509)] = 42413,
  [SMALL_STATE(2510)] = 42482,
  [SMALL_STATE(2511)] = 42547,
  [SMALL_STATE(2512)] = 42616,
  [SMALL_STATE(2513)] = 42681,
  [SMALL_STATE(2514)] = 42750,
  [SMALL_STATE(2515)] = 42815,
  [SMALL_STATE(2516)] = 42882,
  [SMALL_STATE(2517)] = 42961,
  [SMALL_STATE(2518)] = 43024,
  [SMALL_STATE(2519)] = 43095,
  [SMALL_STATE(2520)] = 43162,
  [SMALL_STATE(2521)] = 43233,
  [SMALL_STATE(2522)] = 43300,
  [SMALL_STATE(2523)] = 43365,
  [SMALL_STATE(2524)] = 43434,
  [SMALL_STATE(2525)] = 43503,
  [SMALL_STATE(2526)] = 43574,
  [SMALL_STATE(2527)] = 43639,
  [SMALL_STATE(2528)] = 43708,
  [SMALL_STATE(2529)] = 43777,
  [SMALL_STATE(2530)] = 43840,
  [SMALL_STATE(2531)] = 43909,
  [SMALL_STATE(2532)] = 43978,
  [SMALL_STATE(2533)] = 44047,
  [SMALL_STATE(2534)] = 44112,
  [SMALL_STATE(2535)] = 44177,
  [SMALL_STATE(2536)] = 44246,
  [SMALL_STATE(2537)] = 44311,
  [SMALL_STATE(2538)] = 44376,
  [SMALL_STATE(2539)] = 44443,
  [SMALL_STATE(2540)] = 44508,
  [SMALL_STATE(2541)] = 44575,
  [SMALL_STATE(2542)] = 44640,
  [SMALL_STATE(2543)] = 44705,
  [SMALL_STATE(2544)] = 44770,
  [SMALL_STATE(2545)] = 44837,
  [SMALL_STATE(2546)] = 44904,
  [SMALL_STATE(2547)] = 44969,
  [SMALL_STATE(2548)] = 45034,
  [SMALL_STATE(2549)] = 45099,
  [SMALL_STATE(2550)] = 45164,
  [SMALL_STATE(2551)] = 45229,
  [SMALL_STATE(2552)] = 45294,
  [SMALL_STATE(2553)] = 45359,
  [SMALL_STATE(2554)] = 45424,
  [SMALL_STATE(2555)] = 45489,
  [SMALL_STATE(2556)] = 45554,
  [SMALL_STATE(2557)] = 45619,
  [SMALL_STATE(2558)] = 45684,
  [SMALL_STATE(2559)] = 45749,
  [SMALL_STATE(2560)] = 45814,
  [SMALL_STATE(2561)] = 45879,
  [SMALL_STATE(2562)] = 45944,
  [SMALL_STATE(2563)] = 46009,
  [SMALL_STATE(2564)] = 46074,
  [SMALL_STATE(2565)] = 46139,
  [SMALL_STATE(2566)] = 46204,
  [SMALL_STATE(2567)] = 46269,
  [SMALL_STATE(2568)] = 46334,
  [SMALL_STATE(2569)] = 46397,
  [SMALL_STATE(2570)] = 46460,
  [SMALL_STATE(2571)] = 46525,
  [SMALL_STATE(2572)] = 46590,
  [SMALL_STATE(2573)] = 46657,
  [SMALL_STATE(2574)] = 46726,
  [SMALL_STATE(2575)] = 46791,
  [SMALL_STATE(2576)] = 46858,
  [SMALL_STATE(2577)] = 46927,
  [SMALL_STATE(2578)] = 46992,
  [SMALL_STATE(2579)] = 47057,
  [SMALL_STATE(2580)] = 47122,
  [SMALL_STATE(2581)] = 47187,
  [SMALL_STATE(2582)] = 47252,
  [SMALL_STATE(2583)] = 47317,
  [SMALL_STATE(2584)] = 47384,
  [SMALL_STATE(2585)] = 47449,
  [SMALL_STATE(2586)] = 47514,
  [SMALL_STATE(2587)] = 47579,
  [SMALL_STATE(2588)] = 47642,
  [SMALL_STATE(2589)] = 47705,
  [SMALL_STATE(2590)] = 47768,
  [SMALL_STATE(2591)] = 47833,
  [SMALL_STATE(2592)] = 47898,
  [SMALL_STATE(2593)] = 47963,
  [SMALL_STATE(2594)] = 48028,
  [SMALL_STATE(2595)] = 48093,
  [SMALL_STATE(2596)] = 48160,
  [SMALL_STATE(2597)] = 48225,
  [SMALL_STATE(2598)] = 48290,
  [SMALL_STATE(2599)] = 48355,
  [SMALL_STATE(2600)] = 48420,
  [SMALL_STATE(2601)] = 48485,
  [SMALL_STATE(2602)] = 48550,
  [SMALL_STATE(2603)] = 48615,
  [SMALL_STATE(2604)] = 48680,
  [SMALL_STATE(2605)] = 48745,
  [SMALL_STATE(2606)] = 48810,
  [SMALL_STATE(2607)] = 48875,
  [SMALL_STATE(2608)] = 48940,
  [SMALL_STATE(2609)] = 49005,
  [SMALL_STATE(2610)] = 49070,
  [SMALL_STATE(2611)] = 49135,
  [SMALL_STATE(2612)] = 49200,
  [SMALL_STATE(2613)] = 49265,
  [SMALL_STATE(2614)] = 49330,
  [SMALL_STATE(2615)] = 49395,
  [SMALL_STATE(2616)] = 49460,
  [SMALL_STATE(2617)] = 49525,
  [SMALL_STATE(2618)] = 49590,
  [SMALL_STATE(2619)] = 49655,
  [SMALL_STATE(2620)] = 49720,
  [SMALL_STATE(2621)] = 49785,
  [SMALL_STATE(2622)] = 49850,
  [SMALL_STATE(2623)] = 49915,
  [SMALL_STATE(2624)] = 49980,
  [SMALL_STATE(2625)] = 50045,
  [SMALL_STATE(2626)] = 50110,
  [SMALL_STATE(2627)] = 50175,
  [SMALL_STATE(2628)] = 50240,
  [SMALL_STATE(2629)] = 50303,
  [SMALL_STATE(2630)] = 50374,
  [SMALL_STATE(2631)] = 50439,
  [SMALL_STATE(2632)] = 50510,
  [SMALL_STATE(2633)] = 50575,
  [SMALL_STATE(2634)] = 50640,
  [SMALL_STATE(2635)] = 50705,
  [SMALL_STATE(2636)] = 50770,
  [SMALL_STATE(2637)] = 50839,
  [SMALL_STATE(2638)] = 50904,
  [SMALL_STATE(2639)] = 50966,
  [SMALL_STATE(2640)] = 51030,
  [SMALL_STATE(2641)] = 51094,
  [SMALL_STATE(2642)] = 51158,
  [SMALL_STATE(2643)] = 51220,
  [SMALL_STATE(2644)] = 51288,
  [SMALL_STATE(2645)] = 51356,
  [SMALL_STATE(2646)] = 51424,
  [SMALL_STATE(2647)] = 51486,
  [SMALL_STATE(2648)] = 51550,
  [SMALL_STATE(2649)] = 51614,
  [SMALL_STATE(2650)] = 51676,
  [SMALL_STATE(2651)] = 51740,
  [SMALL_STATE(2652)] = 51802,
  [SMALL_STATE(2653)] = 51866,
  [SMALL_STATE(2654)] = 51928,
  [SMALL_STATE(2655)] = 51994,
  [SMALL_STATE(2656)] = 52062,
  [SMALL_STATE(2657)] = 52126,
  [SMALL_STATE(2658)] = 52190,
  [SMALL_STATE(2659)] = 52258,
  [SMALL_STATE(2660)] = 52322,
  [SMALL_STATE(2661)] = 52384,
  [SMALL_STATE(2662)] = 52452,
  [SMALL_STATE(2663)] = 52516,
  [SMALL_STATE(2664)] = 52578,
  [SMALL_STATE(2665)] = 52640,
  [SMALL_STATE(2666)] = 52732,
  [SMALL_STATE(2667)] = 52824,
  [SMALL_STATE(2668)] = 52890,
  [SMALL_STATE(2669)] = 52954,
  [SMALL_STATE(2670)] = 53022,
  [SMALL_STATE(2671)] = 53084,
  [SMALL_STATE(2672)] = 53152,
  [SMALL_STATE(2673)] = 53220,
  [SMALL_STATE(2674)] = 53312,
  [SMALL_STATE(2675)] = 53374,
  [SMALL_STATE(2676)] = 53438,
  [SMALL_STATE(2677)] = 53506,
  [SMALL_STATE(2678)] = 53598,
  [SMALL_STATE(2679)] = 53662,
  [SMALL_STATE(2680)] = 53726,
  [SMALL_STATE(2681)] = 53792,
  [SMALL_STATE(2682)] = 53854,
  [SMALL_STATE(2683)] = 53916,
  [SMALL_STATE(2684)] = 53980,
  [SMALL_STATE(2685)] = 54044,
  [SMALL_STATE(2686)] = 54108,
  [SMALL_STATE(2687)] = 54172,
  [SMALL_STATE(2688)] = 54236,
  [SMALL_STATE(2689)] = 54306,
  [SMALL_STATE(2690)] = 54368,
  [SMALL_STATE(2691)] = 54430,
  [SMALL_STATE(2692)] = 54494,
  [SMALL_STATE(2693)] = 54560,
  [SMALL_STATE(2694)] = 54640,
  [SMALL_STATE(2695)] = 54702,
  [SMALL_STATE(2696)] = 54764,
  [SMALL_STATE(2697)] = 54828,
  [SMALL_STATE(2698)] = 54890,
  [SMALL_STATE(2699)] = 54960,
  [SMALL_STATE(2700)] = 55024,
  [SMALL_STATE(2701)] = 55088,
  [SMALL_STATE(2702)] = 55152,
  [SMALL_STATE(2703)] = 55216,
  [SMALL_STATE(2704)] = 55284,
  [SMALL_STATE(2705)] = 55348,
  [SMALL_STATE(2706)] = 55412,
  [SMALL_STATE(2707)] = 55474,
  [SMALL_STATE(2708)] = 55538,
  [SMALL_STATE(2709)] = 55602,
  [SMALL_STATE(2710)] = 55670,
  [SMALL_STATE(2711)] = 55734,
  [SMALL_STATE(2712)] = 55798,
  [SMALL_STATE(2713)] = 55862,
  [SMALL_STATE(2714)] = 55926,
  [SMALL_STATE(2715)] = 55990,
  [SMALL_STATE(2716)] = 56054,
  [SMALL_STATE(2717)] = 56116,
  [SMALL_STATE(2718)] = 56180,
  [SMALL_STATE(2719)] = 56242,
  [SMALL_STATE(2720)] = 56306,
  [SMALL_STATE(2721)] = 56370,
  [SMALL_STATE(2722)] = 56434,
  [SMALL_STATE(2723)] = 56528,
  [SMALL_STATE(2724)] = 56592,
  [SMALL_STATE(2725)] = 56656,
  [SMALL_STATE(2726)] = 56718,
  [SMALL_STATE(2727)] = 56780,
  [SMALL_STATE(2728)] = 56842,
  [SMALL_STATE(2729)] = 56908,
  [SMALL_STATE(2730)] = 56972,
  [SMALL_STATE(2731)] = 57034,
  [SMALL_STATE(2732)] = 57114,
  [SMALL_STATE(2733)] = 57194,
  [SMALL_STATE(2734)] = 57258,
  [SMALL_STATE(2735)] = 57322,
  [SMALL_STATE(2736)] = 57386,
  [SMALL_STATE(2737)] = 57450,
  [SMALL_STATE(2738)] = 57514,
  [SMALL_STATE(2739)] = 57578,
  [SMALL_STATE(2740)] = 57642,
  [SMALL_STATE(2741)] = 57706,
  [SMALL_STATE(2742)] = 57776,
  [SMALL_STATE(2743)] = 57838,
  [SMALL_STATE(2744)] = 57932,
  [SMALL_STATE(2745)] = 57996,
  [SMALL_STATE(2746)] = 58060,
  [SMALL_STATE(2747)] = 58122,
  [SMALL_STATE(2748)] = 58216,
  [SMALL_STATE(2749)] = 58280,
  [SMALL_STATE(2750)] = 58350,
  [SMALL_STATE(2751)] = 58414,
  [SMALL_STATE(2752)] = 58478,
  [SMALL_STATE(2753)] = 58542,
  [SMALL_STATE(2754)] = 58606,
  [SMALL_STATE(2755)] = 58670,
  [SMALL_STATE(2756)] = 58750,
  [SMALL_STATE(2757)] = 58812,
  [SMALL_STATE(2758)] = 58874,
  [SMALL_STATE(2759)] = 58936,
  [SMALL_STATE(2760)] = 59000,
  [SMALL_STATE(2761)] = 59064,
  [SMALL_STATE(2762)] = 59144,
  [SMALL_STATE(2763)] = 59208,
  [SMALL_STATE(2764)] = 59276,
  [SMALL_STATE(2765)] = 59346,
  [SMALL_STATE(2766)] = 59410,
  [SMALL_STATE(2767)] = 59474,
  [SMALL_STATE(2768)] = 59538,
  [SMALL_STATE(2769)] = 59602,
  [SMALL_STATE(2770)] = 59696,
  [SMALL_STATE(2771)] = 59758,
  [SMALL_STATE(2772)] = 59822,
  [SMALL_STATE(2773)] = 59886,
  [SMALL_STATE(2774)] = 59950,
  [SMALL_STATE(2775)] = 60014,
  [SMALL_STATE(2776)] = 60078,
  [SMALL_STATE(2777)] = 60142,
  [SMALL_STATE(2778)] = 60206,
  [SMALL_STATE(2779)] = 60268,
  [SMALL_STATE(2780)] = 60332,
  [SMALL_STATE(2781)] = 60396,
  [SMALL_STATE(2782)] = 60460,
  [SMALL_STATE(2783)] = 60524,
  [SMALL_STATE(2784)] = 60596,
  [SMALL_STATE(2785)] = 60690,
  [SMALL_STATE(2786)] = 60756,
  [SMALL_STATE(2787)] = 60820,
  [SMALL_STATE(2788)] = 60884,
  [SMALL_STATE(2789)] = 60948,
  [SMALL_STATE(2790)] = 61012,
  [SMALL_STATE(2791)] = 61080,
  [SMALL_STATE(2792)] = 61144,
  [SMALL_STATE(2793)] = 61208,
  [SMALL_STATE(2794)] = 61270,
  [SMALL_STATE(2795)] = 61334,
  [SMALL_STATE(2796)] = 61398,
  [SMALL_STATE(2797)] = 61462,
  [SMALL_STATE(2798)] = 61524,
  [SMALL_STATE(2799)] = 61588,
  [SMALL_STATE(2800)] = 61682,
  [SMALL_STATE(2801)] = 61748,
  [SMALL_STATE(2802)] = 61812,
  [SMALL_STATE(2803)] = 61876,
  [SMALL_STATE(2804)] = 61940,
  [SMALL_STATE(2805)] = 62004,
  [SMALL_STATE(2806)] = 62068,
  [SMALL_STATE(2807)] = 62138,
  [SMALL_STATE(2808)] = 62232,
  [SMALL_STATE(2809)] = 62294,
  [SMALL_STATE(2810)] = 62388,
  [SMALL_STATE(2811)] = 62456,
  [SMALL_STATE(2812)] = 62524,
  [SMALL_STATE(2813)] = 62588,
  [SMALL_STATE(2814)] = 62652,
  [SMALL_STATE(2815)] = 62716,
  [SMALL_STATE(2816)] = 62784,
  [SMALL_STATE(2817)] = 62848,
  [SMALL_STATE(2818)] = 62942,
  [SMALL_STATE(2819)] = 63036,
  [SMALL_STATE(2820)] = 63106,
  [SMALL_STATE(2821)] = 63176,
  [SMALL_STATE(2822)] = 63240,
  [SMALL_STATE(2823)] = 63304,
  [SMALL_STATE(2824)] = 63368,
  [SMALL_STATE(2825)] = 63432,
  [SMALL_STATE(2826)] = 63496,
  [SMALL_STATE(2827)] = 63560,
  [SMALL_STATE(2828)] = 63628,
  [SMALL_STATE(2829)] = 63696,
  [SMALL_STATE(2830)] = 63790,
  [SMALL_STATE(2831)] = 63854,
  [SMALL_STATE(2832)] = 63916,
  [SMALL_STATE(2833)] = 63980,
  [SMALL_STATE(2834)] = 64048,
  [SMALL_STATE(2835)] = 64112,
  [SMALL_STATE(2836)] = 64176,
  [SMALL_STATE(2837)] = 64242,
  [SMALL_STATE(2838)] = 64336,
  [SMALL_STATE(2839)] = 64402,
  [SMALL_STATE(2840)] = 64466,
  [SMALL_STATE(2841)] = 64530,
  [SMALL_STATE(2842)] = 64591,
  [SMALL_STATE(2843)] = 64662,
  [SMALL_STATE(2844)] = 64723,
  [SMALL_STATE(2845)] = 64784,
  [SMALL_STATE(2846)] = 64845,
  [SMALL_STATE(2847)] = 64906,
  [SMALL_STATE(2848)] = 64967,
  [SMALL_STATE(2849)] = 65028,
  [SMALL_STATE(2850)] = 65119,
  [SMALL_STATE(2851)] = 65180,
  [SMALL_STATE(2852)] = 65253,
  [SMALL_STATE(2853)] = 65314,
  [SMALL_STATE(2854)] = 65375,
  [SMALL_STATE(2855)] = 65436,
  [SMALL_STATE(2856)] = 65497,
  [SMALL_STATE(2857)] = 65576,
  [SMALL_STATE(2858)] = 65637,
  [SMALL_STATE(2859)] = 65698,
  [SMALL_STATE(2860)] = 65759,
  [SMALL_STATE(2861)] = 65822,
  [SMALL_STATE(2862)] = 65901,
  [SMALL_STATE(2863)] = 65962,
  [SMALL_STATE(2864)] = 66023,
  [SMALL_STATE(2865)] = 66084,
  [SMALL_STATE(2866)] = 66163,
  [SMALL_STATE(2867)] = 66226,
  [SMALL_STATE(2868)] = 66295,
  [SMALL_STATE(2869)] = 66358,
  [SMALL_STATE(2870)] = 66419,
  [SMALL_STATE(2871)] = 66498,
  [SMALL_STATE(2872)] = 66573,
  [SMALL_STATE(2873)] = 66634,
  [SMALL_STATE(2874)] = 66695,
  [SMALL_STATE(2875)] = 66756,
  [SMALL_STATE(2876)] = 66817,
  [SMALL_STATE(2877)] = 66878,
  [SMALL_STATE(2878)] = 66939,
  [SMALL_STATE(2879)] = 67000,
  [SMALL_STATE(2880)] = 67061,
  [SMALL_STATE(2881)] = 67122,
  [SMALL_STATE(2882)] = 67183,
  [SMALL_STATE(2883)] = 67244,
  [SMALL_STATE(2884)] = 67305,
  [SMALL_STATE(2885)] = 67366,
  [SMALL_STATE(2886)] = 67427,
  [SMALL_STATE(2887)] = 67488,
  [SMALL_STATE(2888)] = 67549,
  [SMALL_STATE(2889)] = 67610,
  [SMALL_STATE(2890)] = 67677,
  [SMALL_STATE(2891)] = 67738,
  [SMALL_STATE(2892)] = 67799,
  [SMALL_STATE(2893)] = 67878,
  [SMALL_STATE(2894)] = 67939,
  [SMALL_STATE(2895)] = 68000,
  [SMALL_STATE(2896)] = 68061,
  [SMALL_STATE(2897)] = 68122,
  [SMALL_STATE(2898)] = 68183,
  [SMALL_STATE(2899)] = 68244,
  [SMALL_STATE(2900)] = 68305,
  [SMALL_STATE(2901)] = 68366,
  [SMALL_STATE(2902)] = 68427,
  [SMALL_STATE(2903)] = 68496,
  [SMALL_STATE(2904)] = 68557,
  [SMALL_STATE(2905)] = 68618,
  [SMALL_STATE(2906)] = 68679,
  [SMALL_STATE(2907)] = 68770,
  [SMALL_STATE(2908)] = 68833,
  [SMALL_STATE(2909)] = 68894,
  [SMALL_STATE(2910)] = 68955,
  [SMALL_STATE(2911)] = 69016,
  [SMALL_STATE(2912)] = 69077,
  [SMALL_STATE(2913)] = 69138,
  [SMALL_STATE(2914)] = 69211,
  [SMALL_STATE(2915)] = 69272,
  [SMALL_STATE(2916)] = 69341,
  [SMALL_STATE(2917)] = 69402,
  [SMALL_STATE(2918)] = 69463,
  [SMALL_STATE(2919)] = 69524,
  [SMALL_STATE(2920)] = 69585,
  [SMALL_STATE(2921)] = 69656,
  [SMALL_STATE(2922)] = 69717,
  [SMALL_STATE(2923)] = 69778,
  [SMALL_STATE(2924)] = 69843,
  [SMALL_STATE(2925)] = 69904,
  [SMALL_STATE(2926)] = 69965,
  [SMALL_STATE(2927)] = 70026,
  [SMALL_STATE(2928)] = 70089,
  [SMALL_STATE(2929)] = 70150,
  [SMALL_STATE(2930)] = 70211,
  [SMALL_STATE(2931)] = 70272,
  [SMALL_STATE(2932)] = 70363,
  [SMALL_STATE(2933)] = 70424,
  [SMALL_STATE(2934)] = 70485,
  [SMALL_STATE(2935)] = 70546,
  [SMALL_STATE(2936)] = 70637,
  [SMALL_STATE(2937)] = 70728,
  [SMALL_STATE(2938)] = 70789,
  [SMALL_STATE(2939)] = 70850,
  [SMALL_STATE(2940)] = 70911,
  [SMALL_STATE(2941)] = 70974,
  [SMALL_STATE(2942)] = 71035,
  [SMALL_STATE(2943)] = 71096,
  [SMALL_STATE(2944)] = 71157,
  [SMALL_STATE(2945)] = 71218,
  [SMALL_STATE(2946)] = 71279,
  [SMALL_STATE(2947)] = 71340,
  [SMALL_STATE(2948)] = 71415,
  [SMALL_STATE(2949)] = 71476,
  [SMALL_STATE(2950)] = 71537,
  [SMALL_STATE(2951)] = 71598,
  [SMALL_STATE(2952)] = 71659,
  [SMALL_STATE(2953)] = 71724,
  [SMALL_STATE(2954)] = 71787,
  [SMALL_STATE(2955)] = 71854,
  [SMALL_STATE(2956)] = 71915,
  [SMALL_STATE(2957)] = 71976,
  [SMALL_STATE(2958)] = 72041,
  [SMALL_STATE(2959)] = 72102,
  [SMALL_STATE(2960)] = 72193,
  [SMALL_STATE(2961)] = 72254,
  [SMALL_STATE(2962)] = 72315,
  [SMALL_STATE(2963)] = 72376,
  [SMALL_STATE(2964)] = 72443,
  [SMALL_STATE(2965)] = 72510,
  [SMALL_STATE(2966)] = 72571,
  [SMALL_STATE(2967)] = 72642,
  [SMALL_STATE(2968)] = 72705,
  [SMALL_STATE(2969)] = 72770,
  [SMALL_STATE(2970)] = 72831,
  [SMALL_STATE(2971)] = 72892,
  [SMALL_STATE(2972)] = 72953,
  [SMALL_STATE(2973)] = 73014,
  [SMALL_STATE(2974)] = 73075,
  [SMALL_STATE(2975)] = 73138,
  [SMALL_STATE(2976)] = 73231,
  [SMALL_STATE(2977)] = 73324,
  [SMALL_STATE(2978)] = 73385,
  [SMALL_STATE(2979)] = 73446,
  [SMALL_STATE(2980)] = 73507,
  [SMALL_STATE(2981)] = 73568,
  [SMALL_STATE(2982)] = 73633,
  [SMALL_STATE(2983)] = 73696,
  [SMALL_STATE(2984)] = 73761,
  [SMALL_STATE(2985)] = 73828,
  [SMALL_STATE(2986)] = 73897,
  [SMALL_STATE(2987)] = 73958,
  [SMALL_STATE(2988)] = 74019,
  [SMALL_STATE(2989)] = 74080,
  [SMALL_STATE(2990)] = 74141,
  [SMALL_STATE(2991)] = 74202,
  [SMALL_STATE(2992)] = 74263,
  [SMALL_STATE(2993)] = 74324,
  [SMALL_STATE(2994)] = 74387,
  [SMALL_STATE(2995)] = 74448,
  [SMALL_STATE(2996)] = 74509,
  [SMALL_STATE(2997)] = 74572,
  [SMALL_STATE(2998)] = 74635,
  [SMALL_STATE(2999)] = 74706,
  [SMALL_STATE(3000)] = 74767,
  [SMALL_STATE(3001)] = 74828,
  [SMALL_STATE(3002)] = 74891,
  [SMALL_STATE(3003)] = 74952,
  [SMALL_STATE(3004)] = 75015,
  [SMALL_STATE(3005)] = 75078,
  [SMALL_STATE(3006)] = 75171,
  [SMALL_STATE(3007)] = 75238,
  [SMALL_STATE(3008)] = 75305,
  [SMALL_STATE(3009)] = 75366,
  [SMALL_STATE(3010)] = 75427,
  [SMALL_STATE(3011)] = 75520,
  [SMALL_STATE(3012)] = 75581,
  [SMALL_STATE(3013)] = 75652,
  [SMALL_STATE(3014)] = 75713,
  [SMALL_STATE(3015)] = 75776,
  [SMALL_STATE(3016)] = 75837,
  [SMALL_STATE(3017)] = 75898,
  [SMALL_STATE(3018)] = 75969,
  [SMALL_STATE(3019)] = 76030,
  [SMALL_STATE(3020)] = 76091,
  [SMALL_STATE(3021)] = 76156,
  [SMALL_STATE(3022)] = 76219,
  [SMALL_STATE(3023)] = 76290,
  [SMALL_STATE(3024)] = 76359,
  [SMALL_STATE(3025)] = 76422,
  [SMALL_STATE(3026)] = 76489,
  [SMALL_STATE(3027)] = 76552,
  [SMALL_STATE(3028)] = 76623,
  [SMALL_STATE(3029)] = 76694,
  [SMALL_STATE(3030)] = 76757,
  [SMALL_STATE(3031)] = 76820,
  [SMALL_STATE(3032)] = 76887,
  [SMALL_STATE(3033)] = 76948,
  [SMALL_STATE(3034)] = 77019,
  [SMALL_STATE(3035)] = 77082,
  [SMALL_STATE(3036)] = 77151,
  [SMALL_STATE(3037)] = 77220,
  [SMALL_STATE(3038)] = 77281,
  [SMALL_STATE(3039)] = 77342,
  [SMALL_STATE(3040)] = 77403,
  [SMALL_STATE(3041)] = 77464,
  [SMALL_STATE(3042)] = 77527,
  [SMALL_STATE(3043)] = 77588,
  [SMALL_STATE(3044)] = 77653,
  [SMALL_STATE(3045)] = 77714,
  [SMALL_STATE(3046)] = 77779,
  [SMALL_STATE(3047)] = 77840,
  [SMALL_STATE(3048)] = 77901,
  [SMALL_STATE(3049)] = 77962,
  [SMALL_STATE(3050)] = 78037,
  [SMALL_STATE(3051)] = 78098,
  [SMALL_STATE(3052)] = 78159,
  [SMALL_STATE(3053)] = 78220,
  [SMALL_STATE(3054)] = 78281,
  [SMALL_STATE(3055)] = 78348,
  [SMALL_STATE(3056)] = 78415,
  [SMALL_STATE(3057)] = 78476,
  [SMALL_STATE(3058)] = 78537,
  [SMALL_STATE(3059)] = 78598,
  [SMALL_STATE(3060)] = 78660,
  [SMALL_STATE(3061)] = 78722,
  [SMALL_STATE(3062)] = 78782,
  [SMALL_STATE(3063)] = 78842,
  [SMALL_STATE(3064)] = 78902,
  [SMALL_STATE(3065)] = 78962,
  [SMALL_STATE(3066)] = 79022,
  [SMALL_STATE(3067)] = 79082,
  [SMALL_STATE(3068)] = 79142,
  [SMALL_STATE(3069)] = 79202,
  [SMALL_STATE(3070)] = 79262,
  [SMALL_STATE(3071)] = 79322,
  [SMALL_STATE(3072)] = 79382,
  [SMALL_STATE(3073)] = 79442,
  [SMALL_STATE(3074)] = 79502,
  [SMALL_STATE(3075)] = 79562,
  [SMALL_STATE(3076)] = 79622,
  [SMALL_STATE(3077)] = 79682,
  [SMALL_STATE(3078)] = 79742,
  [SMALL_STATE(3079)] = 79802,
  [SMALL_STATE(3080)] = 79862,
  [SMALL_STATE(3081)] = 79922,
  [SMALL_STATE(3082)] = 79982,
  [SMALL_STATE(3083)] = 80042,
  [SMALL_STATE(3084)] = 80102,
  [SMALL_STATE(3085)] = 80162,
  [SMALL_STATE(3086)] = 80222,
  [SMALL_STATE(3087)] = 80282,
  [SMALL_STATE(3088)] = 80342,
  [SMALL_STATE(3089)] = 80402,
  [SMALL_STATE(3090)] = 80462,
  [SMALL_STATE(3091)] = 80522,
  [SMALL_STATE(3092)] = 80584,
  [SMALL_STATE(3093)] = 80644,
  [SMALL_STATE(3094)] = 80704,
  [SMALL_STATE(3095)] = 80766,
  [SMALL_STATE(3096)] = 80826,
  [SMALL_STATE(3097)] = 80888,
  [SMALL_STATE(3098)] = 80950,
  [SMALL_STATE(3099)] = 81010,
  [SMALL_STATE(3100)] = 81070,
  [SMALL_STATE(3101)] = 81130,
  [SMALL_STATE(3102)] = 81192,
  [SMALL_STATE(3103)] = 81252,
  [SMALL_STATE(3104)] = 81312,
  [SMALL_STATE(3105)] = 81374,
  [SMALL_STATE(3106)] = 81434,
  [SMALL_STATE(3107)] = 81496,
  [SMALL_STATE(3108)] = 81586,
  [SMALL_STATE(3109)] = 81654,
  [SMALL_STATE(3110)] = 81744,
  [SMALL_STATE(3111)] = 81864,
  [SMALL_STATE(3112)] = 81926,
  [SMALL_STATE(3113)] = 81988,
  [SMALL_STATE(3114)] = 82050,
  [SMALL_STATE(3115)] = 82110,
  [SMALL_STATE(3116)] = 82170,
  [SMALL_STATE(3117)] = 82230,
  [SMALL_STATE(3118)] = 82290,
  [SMALL_STATE(3119)] = 82350,
  [SMALL_STATE(3120)] = 82410,
  [SMALL_STATE(3121)] = 82472,
  [SMALL_STATE(3122)] = 82534,
  [SMALL_STATE(3123)] = 82594,
  [SMALL_STATE(3124)] = 82654,
  [SMALL_STATE(3125)] = 82716,
  [SMALL_STATE(3126)] = 82778,
  [SMALL_STATE(3127)] = 82838,
  [SMALL_STATE(3128)] = 82898,
  [SMALL_STATE(3129)] = 82958,
  [SMALL_STATE(3130)] = 83018,
  [SMALL_STATE(3131)] = 83080,
  [SMALL_STATE(3132)] = 83140,
  [SMALL_STATE(3133)] = 83200,
  [SMALL_STATE(3134)] = 83260,
  [SMALL_STATE(3135)] = 83320,
  [SMALL_STATE(3136)] = 83380,
  [SMALL_STATE(3137)] = 83440,
  [SMALL_STATE(3138)] = 83500,
  [SMALL_STATE(3139)] = 83592,
  [SMALL_STATE(3140)] = 83684,
  [SMALL_STATE(3141)] = 83776,
  [SMALL_STATE(3142)] = 83868,
  [SMALL_STATE(3143)] = 83928,
  [SMALL_STATE(3144)] = 83988,
  [SMALL_STATE(3145)] = 84052,
  [SMALL_STATE(3146)] = 84114,
  [SMALL_STATE(3147)] = 84178,
  [SMALL_STATE(3148)] = 84240,
  [SMALL_STATE(3149)] = 84300,
  [SMALL_STATE(3150)] = 84360,
  [SMALL_STATE(3151)] = 84420,
  [SMALL_STATE(3152)] = 84482,
  [SMALL_STATE(3153)] = 84542,
  [SMALL_STATE(3154)] = 84602,
  [SMALL_STATE(3155)] = 84664,
  [SMALL_STATE(3156)] = 84726,
  [SMALL_STATE(3157)] = 84788,
  [SMALL_STATE(3158)] = 84848,
  [SMALL_STATE(3159)] = 84908,
  [SMALL_STATE(3160)] = 84968,
  [SMALL_STATE(3161)] = 85028,
  [SMALL_STATE(3162)] = 85090,
  [SMALL_STATE(3163)] = 85150,
  [SMALL_STATE(3164)] = 85212,
  [SMALL_STATE(3165)] = 85274,
  [SMALL_STATE(3166)] = 85334,
  [SMALL_STATE(3167)] = 85394,
  [SMALL_STATE(3168)] = 85458,
  [SMALL_STATE(3169)] = 85520,
  [SMALL_STATE(3170)] = 85580,
  [SMALL_STATE(3171)] = 85640,
  [SMALL_STATE(3172)] = 85702,
  [SMALL_STATE(3173)] = 85764,
  [SMALL_STATE(3174)] = 85854,
  [SMALL_STATE(3175)] = 85916,
  [SMALL_STATE(3176)] = 85978,
  [SMALL_STATE(3177)] = 86040,
  [SMALL_STATE(3178)] = 86102,
  [SMALL_STATE(3179)] = 86192,
  [SMALL_STATE(3180)] = 86252,
  [SMALL_STATE(3181)] = 86314,
  [SMALL_STATE(3182)] = 86374,
  [SMALL_STATE(3183)] = 86434,
  [SMALL_STATE(3184)] = 86496,
  [SMALL_STATE(3185)] = 86558,
  [SMALL_STATE(3186)] = 86620,
  [SMALL_STATE(3187)] = 86740,
  [SMALL_STATE(3188)] = 86802,
  [SMALL_STATE(3189)] = 86864,
  [SMALL_STATE(3190)] = 86924,
  [SMALL_STATE(3191)] = 86986,
  [SMALL_STATE(3192)] = 87046,
  [SMALL_STATE(3193)] = 87108,
  [SMALL_STATE(3194)] = 87170,
  [SMALL_STATE(3195)] = 87230,
  [SMALL_STATE(3196)] = 87290,
  [SMALL_STATE(3197)] = 87350,
  [SMALL_STATE(3198)] = 87410,
  [SMALL_STATE(3199)] = 87470,
  [SMALL_STATE(3200)] = 87532,
  [SMALL_STATE(3201)] = 87592,
  [SMALL_STATE(3202)] = 87652,
  [SMALL_STATE(3203)] = 87712,
  [SMALL_STATE(3204)] = 87774,
  [SMALL_STATE(3205)] = 87834,
  [SMALL_STATE(3206)] = 87894,
  [SMALL_STATE(3207)] = 87956,
  [SMALL_STATE(3208)] = 88016,
  [SMALL_STATE(3209)] = 88076,
  [SMALL_STATE(3210)] = 88192,
  [SMALL_STATE(3211)] = 88252,
  [SMALL_STATE(3212)] = 88314,
  [SMALL_STATE(3213)] = 88376,
  [SMALL_STATE(3214)] = 88438,
  [SMALL_STATE(3215)] = 88500,
  [SMALL_STATE(3216)] = 88560,
  [SMALL_STATE(3217)] = 88622,
  [SMALL_STATE(3218)] = 88684,
  [SMALL_STATE(3219)] = 88744,
  [SMALL_STATE(3220)] = 88804,
  [SMALL_STATE(3221)] = 88864,
  [SMALL_STATE(3222)] = 88924,
  [SMALL_STATE(3223)] = 88984,
  [SMALL_STATE(3224)] = 89044,
  [SMALL_STATE(3225)] = 89160,
  [SMALL_STATE(3226)] = 89222,
  [SMALL_STATE(3227)] = 89282,
  [SMALL_STATE(3228)] = 89372,
  [SMALL_STATE(3229)] = 89488,
  [SMALL_STATE(3230)] = 89548,
  [SMALL_STATE(3231)] = 89638,
  [SMALL_STATE(3232)] = 89698,
  [SMALL_STATE(3233)] = 89818,
  [SMALL_STATE(3234)] = 89934,
  [SMALL_STATE(3235)] = 89994,
  [SMALL_STATE(3236)] = 90056,
  [SMALL_STATE(3237)] = 90118,
  [SMALL_STATE(3238)] = 90178,
  [SMALL_STATE(3239)] = 90240,
  [SMALL_STATE(3240)] = 90356,
  [SMALL_STATE(3241)] = 90418,
  [SMALL_STATE(3242)] = 90534,
  [SMALL_STATE(3243)] = 90596,
  [SMALL_STATE(3244)] = 90658,
  [SMALL_STATE(3245)] = 90720,
  [SMALL_STATE(3246)] = 90782,
  [SMALL_STATE(3247)] = 90844,
  [SMALL_STATE(3248)] = 90906,
  [SMALL_STATE(3249)] = 91026,
  [SMALL_STATE(3250)] = 91142,
  [SMALL_STATE(3251)] = 91204,
  [SMALL_STATE(3252)] = 91266,
  [SMALL_STATE(3253)] = 91328,
  [SMALL_STATE(3254)] = 91390,
  [SMALL_STATE(3255)] = 91452,
  [SMALL_STATE(3256)] = 91514,
  [SMALL_STATE(3257)] = 91574,
  [SMALL_STATE(3258)] = 91636,
  [SMALL_STATE(3259)] = 91696,
  [SMALL_STATE(3260)] = 91756,
  [SMALL_STATE(3261)] = 91876,
  [SMALL_STATE(3262)] = 91992,
  [SMALL_STATE(3263)] = 92108,
  [SMALL_STATE(3264)] = 92228,
  [SMALL_STATE(3265)] = 92288,
  [SMALL_STATE(3266)] = 92404,
  [SMALL_STATE(3267)] = 92466,
  [SMALL_STATE(3268)] = 92582,
  [SMALL_STATE(3269)] = 92702,
  [SMALL_STATE(3270)] = 92762,
  [SMALL_STATE(3271)] = 92882,
  [SMALL_STATE(3272)] = 92998,
  [SMALL_STATE(3273)] = 93088,
  [SMALL_STATE(3274)] = 93178,
  [SMALL_STATE(3275)] = 93294,
  [SMALL_STATE(3276)] = 93354,
  [SMALL_STATE(3277)] = 93474,
  [SMALL_STATE(3278)] = 93536,
  [SMALL_STATE(3279)] = 93598,
  [SMALL_STATE(3280)] = 93660,
  [SMALL_STATE(3281)] = 93720,
  [SMALL_STATE(3282)] = 93780,
  [SMALL_STATE(3283)] = 93896,
  [SMALL_STATE(3284)] = 94012,
  [SMALL_STATE(3285)] = 94128,
  [SMALL_STATE(3286)] = 94188,
  [SMALL_STATE(3287)] = 94250,
  [SMALL_STATE(3288)] = 94312,
  [SMALL_STATE(3289)] = 94374,
  [SMALL_STATE(3290)] = 94436,
  [SMALL_STATE(3291)] = 94556,
  [SMALL_STATE(3292)] = 94672,
  [SMALL_STATE(3293)] = 94732,
  [SMALL_STATE(3294)] = 94822,
  [SMALL_STATE(3295)] = 94912,
  [SMALL_STATE(3296)] = 94974,
  [SMALL_STATE(3297)] = 95090,
  [SMALL_STATE(3298)] = 95150,
  [SMALL_STATE(3299)] = 95214,
  [SMALL_STATE(3300)] = 95274,
  [SMALL_STATE(3301)] = 95390,
  [SMALL_STATE(3302)] = 95510,
  [SMALL_STATE(3303)] = 95570,
  [SMALL_STATE(3304)] = 95686,
  [SMALL_STATE(3305)] = 95802,
  [SMALL_STATE(3306)] = 95922,
  [SMALL_STATE(3307)] = 95982,
  [SMALL_STATE(3308)] = 96102,
  [SMALL_STATE(3309)] = 96218,
  [SMALL_STATE(3310)] = 96334,
  [SMALL_STATE(3311)] = 96450,
  [SMALL_STATE(3312)] = 96510,
  [SMALL_STATE(3313)] = 96570,
  [SMALL_STATE(3314)] = 96630,
  [SMALL_STATE(3315)] = 96692,
  [SMALL_STATE(3316)] = 96812,
  [SMALL_STATE(3317)] = 96874,
  [SMALL_STATE(3318)] = 96964,
  [SMALL_STATE(3319)] = 97024,
  [SMALL_STATE(3320)] = 97086,
  [SMALL_STATE(3321)] = 97148,
  [SMALL_STATE(3322)] = 97208,
  [SMALL_STATE(3323)] = 97268,
  [SMALL_STATE(3324)] = 97328,
  [SMALL_STATE(3325)] = 97388,
  [SMALL_STATE(3326)] = 97478,
  [SMALL_STATE(3327)] = 97538,
  [SMALL_STATE(3328)] = 97654,
  [SMALL_STATE(3329)] = 97714,
  [SMALL_STATE(3330)] = 97830,
  [SMALL_STATE(3331)] = 97890,
  [SMALL_STATE(3332)] = 98006,
  [SMALL_STATE(3333)] = 98066,
  [SMALL_STATE(3334)] = 98186,
  [SMALL_STATE(3335)] = 98302,
  [SMALL_STATE(3336)] = 98418,
  [SMALL_STATE(3337)] = 98480,
  [SMALL_STATE(3338)] = 98600,
  [SMALL_STATE(3339)] = 98660,
  [SMALL_STATE(3340)] = 98720,
  [SMALL_STATE(3341)] = 98782,
  [SMALL_STATE(3342)] = 98844,
  [SMALL_STATE(3343)] = 98964,
  [SMALL_STATE(3344)] = 99080,
  [SMALL_STATE(3345)] = 99140,
  [SMALL_STATE(3346)] = 99256,
  [SMALL_STATE(3347)] = 99318,
  [SMALL_STATE(3348)] = 99380,
  [SMALL_STATE(3349)] = 99442,
  [SMALL_STATE(3350)] = 99502,
  [SMALL_STATE(3351)] = 99618,
  [SMALL_STATE(3352)] = 99738,
  [SMALL_STATE(3353)] = 99798,
  [SMALL_STATE(3354)] = 99858,
  [SMALL_STATE(3355)] = 99918,
  [SMALL_STATE(3356)] = 99978,
  [SMALL_STATE(3357)] = 100038,
  [SMALL_STATE(3358)] = 100098,
  [SMALL_STATE(3359)] = 100214,
  [SMALL_STATE(3360)] = 100330,
  [SMALL_STATE(3361)] = 100390,
  [SMALL_STATE(3362)] = 100450,
  [SMALL_STATE(3363)] = 100510,
  [SMALL_STATE(3364)] = 100572,
  [SMALL_STATE(3365)] = 100634,
  [SMALL_STATE(3366)] = 100696,
  [SMALL_STATE(3367)] = 100756,
  [SMALL_STATE(3368)] = 100818,
  [SMALL_STATE(3369)] = 100880,
  [SMALL_STATE(3370)] = 100942,
  [SMALL_STATE(3371)] = 101004,
  [SMALL_STATE(3372)] = 101120,
  [SMALL_STATE(3373)] = 101240,
  [SMALL_STATE(3374)] = 101300,
  [SMALL_STATE(3375)] = 101416,
  [SMALL_STATE(3376)] = 101532,
  [SMALL_STATE(3377)] = 101632,
  [SMALL_STATE(3378)] = 101752,
  [SMALL_STATE(3379)] = 101868,
  [SMALL_STATE(3380)] = 101984,
  [SMALL_STATE(3381)] = 102104,
  [SMALL_STATE(3382)] = 102220,
  [SMALL_STATE(3383)] = 102282,
  [SMALL_STATE(3384)] = 102342,
  [SMALL_STATE(3385)] = 102458,
  [SMALL_STATE(3386)] = 102518,
  [SMALL_STATE(3387)] = 102580,
  [SMALL_STATE(3388)] = 102642,
  [SMALL_STATE(3389)] = 102758,
  [SMALL_STATE(3390)] = 102820,
  [SMALL_STATE(3391)] = 102882,
  [SMALL_STATE(3392)] = 102998,
  [SMALL_STATE(3393)] = 103058,
  [SMALL_STATE(3394)] = 103118,
  [SMALL_STATE(3395)] = 103178,
  [SMALL_STATE(3396)] = 103238,
  [SMALL_STATE(3397)] = 103300,
  [SMALL_STATE(3398)] = 103420,
  [SMALL_STATE(3399)] = 103540,
  [SMALL_STATE(3400)] = 103602,
  [SMALL_STATE(3401)] = 103664,
  [SMALL_STATE(3402)] = 103726,
  [SMALL_STATE(3403)] = 103788,
  [SMALL_STATE(3404)] = 103850,
  [SMALL_STATE(3405)] = 103912,
  [SMALL_STATE(3406)] = 103972,
  [SMALL_STATE(3407)] = 104034,
  [SMALL_STATE(3408)] = 104150,
  [SMALL_STATE(3409)] = 104212,
  [SMALL_STATE(3410)] = 104274,
  [SMALL_STATE(3411)] = 104336,
  [SMALL_STATE(3412)] = 104398,
  [SMALL_STATE(3413)] = 104460,
  [SMALL_STATE(3414)] = 104522,
  [SMALL_STATE(3415)] = 104582,
  [SMALL_STATE(3416)] = 104642,
  [SMALL_STATE(3417)] = 104704,
  [SMALL_STATE(3418)] = 104766,
  [SMALL_STATE(3419)] = 104828,
  [SMALL_STATE(3420)] = 104944,
  [SMALL_STATE(3421)] = 105004,
  [SMALL_STATE(3422)] = 105066,
  [SMALL_STATE(3423)] = 105182,
  [SMALL_STATE(3424)] = 105242,
  [SMALL_STATE(3425)] = 105304,
  [SMALL_STATE(3426)] = 105420,
  [SMALL_STATE(3427)] = 105482,
  [SMALL_STATE(3428)] = 105544,
  [SMALL_STATE(3429)] = 105606,
  [SMALL_STATE(3430)] = 105726,
  [SMALL_STATE(3431)] = 105786,
  [SMALL_STATE(3432)] = 105848,
  [SMALL_STATE(3433)] = 105938,
  [SMALL_STATE(3434)] = 106028,
  [SMALL_STATE(3435)] = 106088,
  [SMALL_STATE(3436)] = 106208,
  [SMALL_STATE(3437)] = 106268,
  [SMALL_STATE(3438)] = 106330,
  [SMALL_STATE(3439)] = 106392,
  [SMALL_STATE(3440)] = 106452,
  [SMALL_STATE(3441)] = 106568,
  [SMALL_STATE(3442)] = 106684,
  [SMALL_STATE(3443)] = 106744,
  [SMALL_STATE(3444)] = 106804,
  [SMALL_STATE(3445)] = 106920,
  [SMALL_STATE(3446)] = 106980,
  [SMALL_STATE(3447)] = 107042,
  [SMALL_STATE(3448)] = 107102,
  [SMALL_STATE(3449)] = 107162,
  [SMALL_STATE(3450)] = 107222,
  [SMALL_STATE(3451)] = 107284,
  [SMALL_STATE(3452)] = 107346,
  [SMALL_STATE(3453)] = 107406,
  [SMALL_STATE(3454)] = 107466,
  [SMALL_STATE(3455)] = 107528,
  [SMALL_STATE(3456)] = 107590,
  [SMALL_STATE(3457)] = 107652,
  [SMALL_STATE(3458)] = 107712,
  [SMALL_STATE(3459)] = 107828,
  [SMALL_STATE(3460)] = 107890,
  [SMALL_STATE(3461)] = 107950,
  [SMALL_STATE(3462)] = 108012,
  [SMALL_STATE(3463)] = 108132,
  [SMALL_STATE(3464)] = 108232,
  [SMALL_STATE(3465)] = 108292,
  [SMALL_STATE(3466)] = 108354,
  [SMALL_STATE(3467)] = 108414,
  [SMALL_STATE(3468)] = 108476,
  [SMALL_STATE(3469)] = 108540,
  [SMALL_STATE(3470)] = 108602,
  [SMALL_STATE(3471)] = 108722,
  [SMALL_STATE(3472)] = 108782,
  [SMALL_STATE(3473)] = 108842,
  [SMALL_STATE(3474)] = 108904,
  [SMALL_STATE(3475)] = 109020,
  [SMALL_STATE(3476)] = 109136,
  [SMALL_STATE(3477)] = 109198,
  [SMALL_STATE(3478)] = 109260,
  [SMALL_STATE(3479)] = 109322,
  [SMALL_STATE(3480)] = 109382,
  [SMALL_STATE(3481)] = 109498,
  [SMALL_STATE(3482)] = 109558,
  [SMALL_STATE(3483)] = 109618,
  [SMALL_STATE(3484)] = 109738,
  [SMALL_STATE(3485)] = 109800,
  [SMALL_STATE(3486)] = 109920,
  [SMALL_STATE(3487)] = 109982,
  [SMALL_STATE(3488)] = 110098,
  [SMALL_STATE(3489)] = 110160,
  [SMALL_STATE(3490)] = 110222,
  [SMALL_STATE(3491)] = 110284,
  [SMALL_STATE(3492)] = 110346,
  [SMALL_STATE(3493)] = 110408,
  [SMALL_STATE(3494)] = 110470,
  [SMALL_STATE(3495)] = 110532,
  [SMALL_STATE(3496)] = 110652,
  [SMALL_STATE(3497)] = 110714,
  [SMALL_STATE(3498)] = 110776,
  [SMALL_STATE(3499)] = 110838,
  [SMALL_STATE(3500)] = 110900,
  [SMALL_STATE(3501)] = 111016,
  [SMALL_STATE(3502)] = 111076,
  [SMALL_STATE(3503)] = 111136,
  [SMALL_STATE(3504)] = 111196,
  [SMALL_STATE(3505)] = 111258,
  [SMALL_STATE(3506)] = 111320,
  [SMALL_STATE(3507)] = 111382,
  [SMALL_STATE(3508)] = 111498,
  [SMALL_STATE(3509)] = 111614,
  [SMALL_STATE(3510)] = 111676,
  [SMALL_STATE(3511)] = 111736,
  [SMALL_STATE(3512)] = 111798,
  [SMALL_STATE(3513)] = 111860,
  [SMALL_STATE(3514)] = 111920,
  [SMALL_STATE(3515)] = 111982,
  [SMALL_STATE(3516)] = 112042,
  [SMALL_STATE(3517)] = 112102,
  [SMALL_STATE(3518)] = 112164,
  [SMALL_STATE(3519)] = 112224,
  [SMALL_STATE(3520)] = 112286,
  [SMALL_STATE(3521)] = 112346,
  [SMALL_STATE(3522)] = 112408,
  [SMALL_STATE(3523)] = 112470,
  [SMALL_STATE(3524)] = 112530,
  [SMALL_STATE(3525)] = 112592,
  [SMALL_STATE(3526)] = 112656,
  [SMALL_STATE(3527)] = 112718,
  [SMALL_STATE(3528)] = 112838,
  [SMALL_STATE(3529)] = 112954,
  [SMALL_STATE(3530)] = 113016,
  [SMALL_STATE(3531)] = 113078,
  [SMALL_STATE(3532)] = 113140,
  [SMALL_STATE(3533)] = 113202,
  [SMALL_STATE(3534)] = 113318,
  [SMALL_STATE(3535)] = 113378,
  [SMALL_STATE(3536)] = 113438,
  [SMALL_STATE(3537)] = 113558,
  [SMALL_STATE(3538)] = 113618,
  [SMALL_STATE(3539)] = 113678,
  [SMALL_STATE(3540)] = 113740,
  [SMALL_STATE(3541)] = 113802,
  [SMALL_STATE(3542)] = 113862,
  [SMALL_STATE(3543)] = 113922,
  [SMALL_STATE(3544)] = 114038,
  [SMALL_STATE(3545)] = 114154,
  [SMALL_STATE(3546)] = 114216,
  [SMALL_STATE(3547)] = 114278,
  [SMALL_STATE(3548)] = 114340,
  [SMALL_STATE(3549)] = 114402,
  [SMALL_STATE(3550)] = 114464,
  [SMALL_STATE(3551)] = 114524,
  [SMALL_STATE(3552)] = 114584,
  [SMALL_STATE(3553)] = 114646,
  [SMALL_STATE(3554)] = 114708,
  [SMALL_STATE(3555)] = 114824,
  [SMALL_STATE(3556)] = 114886,
  [SMALL_STATE(3557)] = 114948,
  [SMALL_STATE(3558)] = 115010,
  [SMALL_STATE(3559)] = 115072,
  [SMALL_STATE(3560)] = 115134,
  [SMALL_STATE(3561)] = 115196,
  [SMALL_STATE(3562)] = 115316,
  [SMALL_STATE(3563)] = 115432,
  [SMALL_STATE(3564)] = 115494,
  [SMALL_STATE(3565)] = 115556,
  [SMALL_STATE(3566)] = 115618,
  [SMALL_STATE(3567)] = 115680,
  [SMALL_STATE(3568)] = 115742,
  [SMALL_STATE(3569)] = 115804,
  [SMALL_STATE(3570)] = 115868,
  [SMALL_STATE(3571)] = 115930,
  [SMALL_STATE(3572)] = 115992,
  [SMALL_STATE(3573)] = 116052,
  [SMALL_STATE(3574)] = 116168,
  [SMALL_STATE(3575)] = 116230,
  [SMALL_STATE(3576)] = 116290,
  [SMALL_STATE(3577)] = 116352,
  [SMALL_STATE(3578)] = 116414,
  [SMALL_STATE(3579)] = 116530,
  [SMALL_STATE(3580)] = 116591,
  [SMALL_STATE(3581)] = 116650,
  [SMALL_STATE(3582)] = 116711,
  [SMALL_STATE(3583)] = 116772,
  [SMALL_STATE(3584)] = 116833,
  [SMALL_STATE(3585)] = 116894,
  [SMALL_STATE(3586)] = 116955,
  [SMALL_STATE(3587)] = 117018,
  [SMALL_STATE(3588)] = 117079,
  [SMALL_STATE(3589)] = 117140,
  [SMALL_STATE(3590)] = 117201,
  [SMALL_STATE(3591)] = 117262,
  [SMALL_STATE(3592)] = 117337,
  [SMALL_STATE(3593)] = 117398,
  [SMALL_STATE(3594)] = 117459,
  [SMALL_STATE(3595)] = 117520,
  [SMALL_STATE(3596)] = 117581,
  [SMALL_STATE(3597)] = 117640,
  [SMALL_STATE(3598)] = 117701,
  [SMALL_STATE(3599)] = 117760,
  [SMALL_STATE(3600)] = 117821,
  [SMALL_STATE(3601)] = 117882,
  [SMALL_STATE(3602)] = 117943,
  [SMALL_STATE(3603)] = 118004,
  [SMALL_STATE(3604)] = 118065,
  [SMALL_STATE(3605)] = 118126,
  [SMALL_STATE(3606)] = 118187,
  [SMALL_STATE(3607)] = 118248,
  [SMALL_STATE(3608)] = 118307,
  [SMALL_STATE(3609)] = 118368,
  [SMALL_STATE(3610)] = 118429,
  [SMALL_STATE(3611)] = 118498,
  [SMALL_STATE(3612)] = 118561,
  [SMALL_STATE(3613)] = 118622,
  [SMALL_STATE(3614)] = 118683,
  [SMALL_STATE(3615)] = 118744,
  [SMALL_STATE(3616)] = 118805,
  [SMALL_STATE(3617)] = 118866,
  [SMALL_STATE(3618)] = 118979,
  [SMALL_STATE(3619)] = 119040,
  [SMALL_STATE(3620)] = 119101,
  [SMALL_STATE(3621)] = 119162,
  [SMALL_STATE(3622)] = 119221,
  [SMALL_STATE(3623)] = 119280,
  [SMALL_STATE(3624)] = 119339,
  [SMALL_STATE(3625)] = 119400,
  [SMALL_STATE(3626)] = 119481,
  [SMALL_STATE(3627)] = 119570,
  [SMALL_STATE(3628)] = 119659,
  [SMALL_STATE(3629)] = 119720,
  [SMALL_STATE(3630)] = 119809,
  [SMALL_STATE(3631)] = 119898,
  [SMALL_STATE(3632)] = 119957,
  [SMALL_STATE(3633)] = 120018,
  [SMALL_STATE(3634)] = 120079,
  [SMALL_STATE(3635)] = 120140,
  [SMALL_STATE(3636)] = 120201,
  [SMALL_STATE(3637)] = 120262,
  [SMALL_STATE(3638)] = 120323,
  [SMALL_STATE(3639)] = 120384,
  [SMALL_STATE(3640)] = 120445,
  [SMALL_STATE(3641)] = 120536,
  [SMALL_STATE(3642)] = 120627,
  [SMALL_STATE(3643)] = 120688,
  [SMALL_STATE(3644)] = 120749,
  [SMALL_STATE(3645)] = 120810,
  [SMALL_STATE(3646)] = 120871,
  [SMALL_STATE(3647)] = 120970,
  [SMALL_STATE(3648)] = 121031,
  [SMALL_STATE(3649)] = 121092,
  [SMALL_STATE(3650)] = 121153,
  [SMALL_STATE(3651)] = 121214,
  [SMALL_STATE(3652)] = 121275,
  [SMALL_STATE(3653)] = 121336,
  [SMALL_STATE(3654)] = 121395,
  [SMALL_STATE(3655)] = 121454,
  [SMALL_STATE(3656)] = 121515,
  [SMALL_STATE(3657)] = 121576,
  [SMALL_STATE(3658)] = 121637,
  [SMALL_STATE(3659)] = 121698,
  [SMALL_STATE(3660)] = 121759,
  [SMALL_STATE(3661)] = 121818,
  [SMALL_STATE(3662)] = 121877,
  [SMALL_STATE(3663)] = 121938,
  [SMALL_STATE(3664)] = 121999,
  [SMALL_STATE(3665)] = 122060,
  [SMALL_STATE(3666)] = 122119,
  [SMALL_STATE(3667)] = 122180,
  [SMALL_STATE(3668)] = 122239,
  [SMALL_STATE(3669)] = 122300,
  [SMALL_STATE(3670)] = 122361,
  [SMALL_STATE(3671)] = 122422,
  [SMALL_STATE(3672)] = 122483,
  [SMALL_STATE(3673)] = 122544,
  [SMALL_STATE(3674)] = 122605,
  [SMALL_STATE(3675)] = 122666,
  [SMALL_STATE(3676)] = 122727,
  [SMALL_STATE(3677)] = 122790,
  [SMALL_STATE(3678)] = 122851,
  [SMALL_STATE(3679)] = 122912,
  [SMALL_STATE(3680)] = 122973,
  [SMALL_STATE(3681)] = 123036,
  [SMALL_STATE(3682)] = 123097,
  [SMALL_STATE(3683)] = 123158,
  [SMALL_STATE(3684)] = 123219,
  [SMALL_STATE(3685)] = 123280,
  [SMALL_STATE(3686)] = 123341,
  [SMALL_STATE(3687)] = 123402,
  [SMALL_STATE(3688)] = 123463,
  [SMALL_STATE(3689)] = 123522,
  [SMALL_STATE(3690)] = 123583,
  [SMALL_STATE(3691)] = 123644,
  [SMALL_STATE(3692)] = 123705,
  [SMALL_STATE(3693)] = 123766,
  [SMALL_STATE(3694)] = 123827,
  [SMALL_STATE(3695)] = 123888,
  [SMALL_STATE(3696)] = 123949,
  [SMALL_STATE(3697)] = 124010,
  [SMALL_STATE(3698)] = 124069,
  [SMALL_STATE(3699)] = 124130,
  [SMALL_STATE(3700)] = 124191,
  [SMALL_STATE(3701)] = 124252,
  [SMALL_STATE(3702)] = 124313,
  [SMALL_STATE(3703)] = 124374,
  [SMALL_STATE(3704)] = 124435,
  [SMALL_STATE(3705)] = 124496,
  [SMALL_STATE(3706)] = 124595,
  [SMALL_STATE(3707)] = 124653,
  [SMALL_STATE(3708)] = 124711,
  [SMALL_STATE(3709)] = 124769,
  [SMALL_STATE(3710)] = 124831,
  [SMALL_STATE(3711)] = 124889,
  [SMALL_STATE(3712)] = 124947,
  [SMALL_STATE(3713)] = 125005,
  [SMALL_STATE(3714)] = 125063,
  [SMALL_STATE(3715)] = 125121,
  [SMALL_STATE(3716)] = 125219,
  [SMALL_STATE(3717)] = 125301,
  [SMALL_STATE(3718)] = 125359,
  [SMALL_STATE(3719)] = 125419,
  [SMALL_STATE(3720)] = 125477,
  [SMALL_STATE(3721)] = 125535,
  [SMALL_STATE(3722)] = 125593,
  [SMALL_STATE(3723)] = 125683,
  [SMALL_STATE(3724)] = 125741,
  [SMALL_STATE(3725)] = 125831,
  [SMALL_STATE(3726)] = 125889,
  [SMALL_STATE(3727)] = 125947,
  [SMALL_STATE(3728)] = 126007,
  [SMALL_STATE(3729)] = 126105,
  [SMALL_STATE(3730)] = 126187,
  [SMALL_STATE(3731)] = 126245,
  [SMALL_STATE(3732)] = 126327,
  [SMALL_STATE(3733)] = 126388,
  [SMALL_STATE(3734)] = 126445,
  [SMALL_STATE(3735)] = 126542,
  [SMALL_STATE(3736)] = 126607,
  [SMALL_STATE(3737)] = 126670,
  [SMALL_STATE(3738)] = 126727,
  [SMALL_STATE(3739)] = 126784,
  [SMALL_STATE(3740)] = 126873,
  [SMALL_STATE(3741)] = 126936,
  [SMALL_STATE(3742)] = 127011,
  [SMALL_STATE(3743)] = 127118,
  [SMALL_STATE(3744)] = 127181,
  [SMALL_STATE(3745)] = 127256,
  [SMALL_STATE(3746)] = 127363,
  [SMALL_STATE(3747)] = 127424,
  [SMALL_STATE(3748)] = 127487,
  [SMALL_STATE(3749)] = 127562,
  [SMALL_STATE(3750)] = 127619,
  [SMALL_STATE(3751)] = 127706,
  [SMALL_STATE(3752)] = 127763,
  [SMALL_STATE(3753)] = 127870,
  [SMALL_STATE(3754)] = 127967,
  [SMALL_STATE(3755)] = 128042,
  [SMALL_STATE(3756)] = 128099,
  [SMALL_STATE(3757)] = 128164,
  [SMALL_STATE(3758)] = 128227,
  [SMALL_STATE(3759)] = 128286,
  [SMALL_STATE(3760)] = 128349,
  [SMALL_STATE(3761)] = 128436,
  [SMALL_STATE(3762)] = 128543,
  [SMALL_STATE(3763)] = 128650,
  [SMALL_STATE(3764)] = 128757,
  [SMALL_STATE(3765)] = 128844,
  [SMALL_STATE(3766)] = 128919,
  [SMALL_STATE(3767)] = 129008,
  [SMALL_STATE(3768)] = 129095,
  [SMALL_STATE(3769)] = 129170,
  [SMALL_STATE(3770)] = 129233,
  [SMALL_STATE(3771)] = 129293,
  [SMALL_STATE(3772)] = 129349,
  [SMALL_STATE(3773)] = 129411,
  [SMALL_STATE(3774)] = 129467,
  [SMALL_STATE(3775)] = 129527,
  [SMALL_STATE(3776)] = 129587,
  [SMALL_STATE(3777)] = 129643,
  [SMALL_STATE(3778)] = 129747,
  [SMALL_STATE(3779)] = 129807,
  [SMALL_STATE(3780)] = 129867,
  [SMALL_STATE(3781)] = 129927,
  [SMALL_STATE(3782)] = 129982,
  [SMALL_STATE(3783)] = 130043,
  [SMALL_STATE(3784)] = 130098,
  [SMALL_STATE(3785)] = 130153,
  [SMALL_STATE(3786)] = 130208,
  [SMALL_STATE(3787)] = 130277,
  [SMALL_STATE(3788)] = 130332,
  [SMALL_STATE(3789)] = 130387,
  [SMALL_STATE(3790)] = 130448,
  [SMALL_STATE(3791)] = 130503,
  [SMALL_STATE(3792)] = 130598,
  [SMALL_STATE(3793)] = 130653,
  [SMALL_STATE(3794)] = 130722,
  [SMALL_STATE(3795)] = 130817,
  [SMALL_STATE(3796)] = 130872,
  [SMALL_STATE(3797)] = 130927,
  [SMALL_STATE(3798)] = 130982,
  [SMALL_STATE(3799)] = 131037,
  [SMALL_STATE(3800)] = 131092,
  [SMALL_STATE(3801)] = 131146,
  [SMALL_STATE(3802)] = 131204,
  [SMALL_STATE(3803)] = 131258,
  [SMALL_STATE(3804)] = 131312,
  [SMALL_STATE(3805)] = 131366,
  [SMALL_STATE(3806)] = 131420,
  [SMALL_STATE(3807)] = 131480,
  [SMALL_STATE(3808)] = 131534,
  [SMALL_STATE(3809)] = 131590,
  [SMALL_STATE(3810)] = 131644,
  [SMALL_STATE(3811)] = 131698,
  [SMALL_STATE(3812)] = 131762,
  [SMALL_STATE(3813)] = 131816,
  [SMALL_STATE(3814)] = 131870,
  [SMALL_STATE(3815)] = 131924,
  [SMALL_STATE(3816)] = 131978,
  [SMALL_STATE(3817)] = 132034,
  [SMALL_STATE(3818)] = 132088,
  [SMALL_STATE(3819)] = 132142,
  [SMALL_STATE(3820)] = 132196,
  [SMALL_STATE(3821)] = 132258,
  [SMALL_STATE(3822)] = 132316,
  [SMALL_STATE(3823)] = 132374,
  [SMALL_STATE(3824)] = 132428,
  [SMALL_STATE(3825)] = 132486,
  [SMALL_STATE(3826)] = 132550,
  [SMALL_STATE(3827)] = 132604,
  [SMALL_STATE(3828)] = 132658,
  [SMALL_STATE(3829)] = 132718,
  [SMALL_STATE(3830)] = 132772,
  [SMALL_STATE(3831)] = 132863,
  [SMALL_STATE(3832)] = 132916,
  [SMALL_STATE(3833)] = 132971,
  [SMALL_STATE(3834)] = 133024,
  [SMALL_STATE(3835)] = 133079,
  [SMALL_STATE(3836)] = 133134,
  [SMALL_STATE(3837)] = 133187,
  [SMALL_STATE(3838)] = 133242,
  [SMALL_STATE(3839)] = 133333,
  [SMALL_STATE(3840)] = 133424,
  [SMALL_STATE(3841)] = 133515,
  [SMALL_STATE(3842)] = 133568,
  [SMALL_STATE(3843)] = 133659,
  [SMALL_STATE(3844)] = 133750,
  [SMALL_STATE(3845)] = 133803,
  [SMALL_STATE(3846)] = 133856,
  [SMALL_STATE(3847)] = 133947,
  [SMALL_STATE(3848)] = 134038,
  [SMALL_STATE(3849)] = 134129,
  [SMALL_STATE(3850)] = 134220,
  [SMALL_STATE(3851)] = 134311,
  [SMALL_STATE(3852)] = 134402,
  [SMALL_STATE(3853)] = 134493,
  [SMALL_STATE(3854)] = 134584,
  [SMALL_STATE(3855)] = 134637,
  [SMALL_STATE(3856)] = 134728,
  [SMALL_STATE(3857)] = 134819,
  [SMALL_STATE(3858)] = 134872,
  [SMALL_STATE(3859)] = 134925,
  [SMALL_STATE(3860)] = 134978,
  [SMALL_STATE(3861)] = 135031,
  [SMALL_STATE(3862)] = 135084,
  [SMALL_STATE(3863)] = 135137,
  [SMALL_STATE(3864)] = 135190,
  [SMALL_STATE(3865)] = 135242,
  [SMALL_STATE(3866)] = 135294,
  [SMALL_STATE(3867)] = 135386,
  [SMALL_STATE(3868)] = 135438,
  [SMALL_STATE(3869)] = 135494,
  [SMALL_STATE(3870)] = 135554,
  [SMALL_STATE(3871)] = 135616,
  [SMALL_STATE(3872)] = 135678,
  [SMALL_STATE(3873)] = 135740,
  [SMALL_STATE(3874)] = 135794,
  [SMALL_STATE(3875)] = 135854,
  [SMALL_STATE(3876)] = 135943,
  [SMALL_STATE(3877)] = 136034,
  [SMALL_STATE(3878)] = 136123,
  [SMALL_STATE(3879)] = 136212,
  [SMALL_STATE(3880)] = 136301,
  [SMALL_STATE(3881)] = 136382,
  [SMALL_STATE(3882)] = 136471,
  [SMALL_STATE(3883)] = 136560,
  [SMALL_STATE(3884)] = 136649,
  [SMALL_STATE(3885)] = 136738,
  [SMALL_STATE(3886)] = 136827,
  [SMALL_STATE(3887)] = 136918,
  [SMALL_STATE(3888)] = 137007,
  [SMALL_STATE(3889)] = 137096,
  [SMALL_STATE(3890)] = 137151,
  [SMALL_STATE(3891)] = 137240,
  [SMALL_STATE(3892)] = 137321,
  [SMALL_STATE(3893)] = 137410,
  [SMALL_STATE(3894)] = 137499,
  [SMALL_STATE(3895)] = 137588,
  [SMALL_STATE(3896)] = 137669,
  [SMALL_STATE(3897)] = 137758,
  [SMALL_STATE(3898)] = 137847,
  [SMALL_STATE(3899)] = 137936,
  [SMALL_STATE(3900)] = 138025,
  [SMALL_STATE(3901)] = 138114,
  [SMALL_STATE(3902)] = 138203,
  [SMALL_STATE(3903)] = 138292,
  [SMALL_STATE(3904)] = 138381,
  [SMALL_STATE(3905)] = 138462,
  [SMALL_STATE(3906)] = 138551,
  [SMALL_STATE(3907)] = 138640,
  [SMALL_STATE(3908)] = 138729,
  [SMALL_STATE(3909)] = 138818,
  [SMALL_STATE(3910)] = 138907,
  [SMALL_STATE(3911)] = 138998,
  [SMALL_STATE(3912)] = 139087,
  [SMALL_STATE(3913)] = 139176,
  [SMALL_STATE(3914)] = 139265,
  [SMALL_STATE(3915)] = 139354,
  [SMALL_STATE(3916)] = 139443,
  [SMALL_STATE(3917)] = 139532,
  [SMALL_STATE(3918)] = 139621,
  [SMALL_STATE(3919)] = 139710,
  [SMALL_STATE(3920)] = 139799,
  [SMALL_STATE(3921)] = 139888,
  [SMALL_STATE(3922)] = 139979,
  [SMALL_STATE(3923)] = 140068,
  [SMALL_STATE(3924)] = 140157,
  [SMALL_STATE(3925)] = 140246,
  [SMALL_STATE(3926)] = 140335,
  [SMALL_STATE(3927)] = 140424,
  [SMALL_STATE(3928)] = 140513,
  [SMALL_STATE(3929)] = 140602,
  [SMALL_STATE(3930)] = 140691,
  [SMALL_STATE(3931)] = 140780,
  [SMALL_STATE(3932)] = 140869,
  [SMALL_STATE(3933)] = 140958,
  [SMALL_STATE(3934)] = 141047,
  [SMALL_STATE(3935)] = 141136,
  [SMALL_STATE(3936)] = 141225,
  [SMALL_STATE(3937)] = 141314,
  [SMALL_STATE(3938)] = 141403,
  [SMALL_STATE(3939)] = 141492,
  [SMALL_STATE(3940)] = 141581,
  [SMALL_STATE(3941)] = 141670,
  [SMALL_STATE(3942)] = 141759,
  [SMALL_STATE(3943)] = 141848,
  [SMALL_STATE(3944)] = 141937,
  [SMALL_STATE(3945)] = 142026,
  [SMALL_STATE(3946)] = 142115,
  [SMALL_STATE(3947)] = 142204,
  [SMALL_STATE(3948)] = 142293,
  [SMALL_STATE(3949)] = 142382,
  [SMALL_STATE(3950)] = 142471,
  [SMALL_STATE(3951)] = 142560,
  [SMALL_STATE(3952)] = 142649,
  [SMALL_STATE(3953)] = 142738,
  [SMALL_STATE(3954)] = 142827,
  [SMALL_STATE(3955)] = 142916,
  [SMALL_STATE(3956)] = 143005,
  [SMALL_STATE(3957)] = 143094,
  [SMALL_STATE(3958)] = 143183,
  [SMALL_STATE(3959)] = 143272,
  [SMALL_STATE(3960)] = 143361,
  [SMALL_STATE(3961)] = 143450,
  [SMALL_STATE(3962)] = 143541,
  [SMALL_STATE(3963)] = 143630,
  [SMALL_STATE(3964)] = 143719,
  [SMALL_STATE(3965)] = 143808,
  [SMALL_STATE(3966)] = 143897,
  [SMALL_STATE(3967)] = 143986,
  [SMALL_STATE(3968)] = 144075,
  [SMALL_STATE(3969)] = 144164,
  [SMALL_STATE(3970)] = 144253,
  [SMALL_STATE(3971)] = 144344,
  [SMALL_STATE(3972)] = 144433,
  [SMALL_STATE(3973)] = 144524,
  [SMALL_STATE(3974)] = 144613,
  [SMALL_STATE(3975)] = 144704,
  [SMALL_STATE(3976)] = 144795,
  [SMALL_STATE(3977)] = 144884,
  [SMALL_STATE(3978)] = 144975,
  [SMALL_STATE(3979)] = 145064,
  [SMALL_STATE(3980)] = 145155,
  [SMALL_STATE(3981)] = 145246,
  [SMALL_STATE(3982)] = 145335,
  [SMALL_STATE(3983)] = 145424,
  [SMALL_STATE(3984)] = 145515,
  [SMALL_STATE(3985)] = 145604,
  [SMALL_STATE(3986)] = 145695,
  [SMALL_STATE(3987)] = 145786,
  [SMALL_STATE(3988)] = 145875,
  [SMALL_STATE(3989)] = 145966,
  [SMALL_STATE(3990)] = 146057,
  [SMALL_STATE(3991)] = 146138,
  [SMALL_STATE(3992)] = 146229,
  [SMALL_STATE(3993)] = 146318,
  [SMALL_STATE(3994)] = 146407,
  [SMALL_STATE(3995)] = 146496,
  [SMALL_STATE(3996)] = 146585,
  [SMALL_STATE(3997)] = 146674,
  [SMALL_STATE(3998)] = 146763,
  [SMALL_STATE(3999)] = 146852,
  [SMALL_STATE(4000)] = 146941,
  [SMALL_STATE(4001)] = 147030,
  [SMALL_STATE(4002)] = 147119,
  [SMALL_STATE(4003)] = 147208,
  [SMALL_STATE(4004)] = 147297,
  [SMALL_STATE(4005)] = 147386,
  [SMALL_STATE(4006)] = 147475,
  [SMALL_STATE(4007)] = 147564,
  [SMALL_STATE(4008)] = 147653,
  [SMALL_STATE(4009)] = 147742,
  [SMALL_STATE(4010)] = 147831,
  [SMALL_STATE(4011)] = 147920,
  [SMALL_STATE(4012)] = 148009,
  [SMALL_STATE(4013)] = 148098,
  [SMALL_STATE(4014)] = 148187,
  [SMALL_STATE(4015)] = 148278,
  [SMALL_STATE(4016)] = 148359,
  [SMALL_STATE(4017)] = 148412,
  [SMALL_STATE(4018)] = 148501,
  [SMALL_STATE(4019)] = 148590,
  [SMALL_STATE(4020)] = 148679,
  [SMALL_STATE(4021)] = 148768,
  [SMALL_STATE(4022)] = 148857,
  [SMALL_STATE(4023)] = 148946,
  [SMALL_STATE(4024)] = 149035,
  [SMALL_STATE(4025)] = 149124,
  [SMALL_STATE(4026)] = 149213,
  [SMALL_STATE(4027)] = 149302,
  [SMALL_STATE(4028)] = 149391,
  [SMALL_STATE(4029)] = 149480,
  [SMALL_STATE(4030)] = 149569,
  [SMALL_STATE(4031)] = 149658,
  [SMALL_STATE(4032)] = 149747,
  [SMALL_STATE(4033)] = 149836,
  [SMALL_STATE(4034)] = 149925,
  [SMALL_STATE(4035)] = 150014,
  [SMALL_STATE(4036)] = 150103,
  [SMALL_STATE(4037)] = 150192,
  [SMALL_STATE(4038)] = 150281,
  [SMALL_STATE(4039)] = 150370,
  [SMALL_STATE(4040)] = 150461,
  [SMALL_STATE(4041)] = 150552,
  [SMALL_STATE(4042)] = 150643,
  [SMALL_STATE(4043)] = 150734,
  [SMALL_STATE(4044)] = 150825,
  [SMALL_STATE(4045)] = 150916,
  [SMALL_STATE(4046)] = 151007,
  [SMALL_STATE(4047)] = 151098,
  [SMALL_STATE(4048)] = 151189,
  [SMALL_STATE(4049)] = 151280,
  [SMALL_STATE(4050)] = 151371,
  [SMALL_STATE(4051)] = 151462,
  [SMALL_STATE(4052)] = 151553,
  [SMALL_STATE(4053)] = 151644,
  [SMALL_STATE(4054)] = 151735,
  [SMALL_STATE(4055)] = 151826,
  [SMALL_STATE(4056)] = 151917,
  [SMALL_STATE(4057)] = 152008,
  [SMALL_STATE(4058)] = 152099,
  [SMALL_STATE(4059)] = 152188,
  [SMALL_STATE(4060)] = 152279,
  [SMALL_STATE(4061)] = 152368,
  [SMALL_STATE(4062)] = 152457,
  [SMALL_STATE(4063)] = 152512,
  [SMALL_STATE(4064)] = 152593,
  [SMALL_STATE(4065)] = 152682,
  [SMALL_STATE(4066)] = 152771,
  [SMALL_STATE(4067)] = 152860,
  [SMALL_STATE(4068)] = 152949,
  [SMALL_STATE(4069)] = 153038,
  [SMALL_STATE(4070)] = 153129,
  [SMALL_STATE(4071)] = 153180,
  [SMALL_STATE(4072)] = 153269,
  [SMALL_STATE(4073)] = 153360,
  [SMALL_STATE(4074)] = 153449,
  [SMALL_STATE(4075)] = 153538,
  [SMALL_STATE(4076)] = 153629,
  [SMALL_STATE(4077)] = 153718,
  [SMALL_STATE(4078)] = 153807,
  [SMALL_STATE(4079)] = 153896,
  [SMALL_STATE(4080)] = 153987,
  [SMALL_STATE(4081)] = 154038,
  [SMALL_STATE(4082)] = 154127,
  [SMALL_STATE(4083)] = 154216,
  [SMALL_STATE(4084)] = 154305,
  [SMALL_STATE(4085)] = 154394,
  [SMALL_STATE(4086)] = 154483,
  [SMALL_STATE(4087)] = 154572,
  [SMALL_STATE(4088)] = 154661,
  [SMALL_STATE(4089)] = 154752,
  [SMALL_STATE(4090)] = 154841,
  [SMALL_STATE(4091)] = 154930,
  [SMALL_STATE(4092)] = 155019,
  [SMALL_STATE(4093)] = 155108,
  [SMALL_STATE(4094)] = 155159,
  [SMALL_STATE(4095)] = 155248,
  [SMALL_STATE(4096)] = 155337,
  [SMALL_STATE(4097)] = 155426,
  [SMALL_STATE(4098)] = 155515,
  [SMALL_STATE(4099)] = 155570,
  [SMALL_STATE(4100)] = 155659,
  [SMALL_STATE(4101)] = 155748,
  [SMALL_STATE(4102)] = 155834,
  [SMALL_STATE(4103)] = 155920,
  [SMALL_STATE(4104)] = 156006,
  [SMALL_STATE(4105)] = 156092,
  [SMALL_STATE(4106)] = 156178,
  [SMALL_STATE(4107)] = 156264,
  [SMALL_STATE(4108)] = 156350,
  [SMALL_STATE(4109)] = 156436,
  [SMALL_STATE(4110)] = 156522,
  [SMALL_STATE(4111)] = 156608,
  [SMALL_STATE(4112)] = 156658,
  [SMALL_STATE(4113)] = 156744,
  [SMALL_STATE(4114)] = 156830,
  [SMALL_STATE(4115)] = 156916,
  [SMALL_STATE(4116)] = 157002,
  [SMALL_STATE(4117)] = 157088,
  [SMALL_STATE(4118)] = 157174,
  [SMALL_STATE(4119)] = 157260,
  [SMALL_STATE(4120)] = 157346,
  [SMALL_STATE(4121)] = 157432,
  [SMALL_STATE(4122)] = 157518,
  [SMALL_STATE(4123)] = 157604,
  [SMALL_STATE(4124)] = 157690,
  [SMALL_STATE(4125)] = 157776,
  [SMALL_STATE(4126)] = 157862,
  [SMALL_STATE(4127)] = 157948,
  [SMALL_STATE(4128)] = 158034,
  [SMALL_STATE(4129)] = 158120,
  [SMALL_STATE(4130)] = 158206,
  [SMALL_STATE(4131)] = 158292,
  [SMALL_STATE(4132)] = 158378,
  [SMALL_STATE(4133)] = 158464,
  [SMALL_STATE(4134)] = 158550,
  [SMALL_STATE(4135)] = 158636,
  [SMALL_STATE(4136)] = 158722,
  [SMALL_STATE(4137)] = 158808,
  [SMALL_STATE(4138)] = 158894,
  [SMALL_STATE(4139)] = 158944,
  [SMALL_STATE(4140)] = 159030,
  [SMALL_STATE(4141)] = 159116,
  [SMALL_STATE(4142)] = 159166,
  [SMALL_STATE(4143)] = 159216,
  [SMALL_STATE(4144)] = 159302,
  [SMALL_STATE(4145)] = 159388,
  [SMALL_STATE(4146)] = 159474,
  [SMALL_STATE(4147)] = 159558,
  [SMALL_STATE(4148)] = 159644,
  [SMALL_STATE(4149)] = 159730,
  [SMALL_STATE(4150)] = 159814,
  [SMALL_STATE(4151)] = 159900,
  [SMALL_STATE(4152)] = 159986,
  [SMALL_STATE(4153)] = 160072,
  [SMALL_STATE(4154)] = 160158,
  [SMALL_STATE(4155)] = 160244,
  [SMALL_STATE(4156)] = 160328,
  [SMALL_STATE(4157)] = 160414,
  [SMALL_STATE(4158)] = 160500,
  [SMALL_STATE(4159)] = 160586,
  [SMALL_STATE(4160)] = 160636,
  [SMALL_STATE(4161)] = 160686,
  [SMALL_STATE(4162)] = 160772,
  [SMALL_STATE(4163)] = 160858,
  [SMALL_STATE(4164)] = 160942,
  [SMALL_STATE(4165)] = 161028,
  [SMALL_STATE(4166)] = 161114,
  [SMALL_STATE(4167)] = 161198,
  [SMALL_STATE(4168)] = 161284,
  [SMALL_STATE(4169)] = 161370,
  [SMALL_STATE(4170)] = 161454,
  [SMALL_STATE(4171)] = 161540,
  [SMALL_STATE(4172)] = 161626,
  [SMALL_STATE(4173)] = 161712,
  [SMALL_STATE(4174)] = 161798,
  [SMALL_STATE(4175)] = 161884,
  [SMALL_STATE(4176)] = 161970,
  [SMALL_STATE(4177)] = 162056,
  [SMALL_STATE(4178)] = 162142,
  [SMALL_STATE(4179)] = 162228,
  [SMALL_STATE(4180)] = 162314,
  [SMALL_STATE(4181)] = 162400,
  [SMALL_STATE(4182)] = 162486,
  [SMALL_STATE(4183)] = 162570,
  [SMALL_STATE(4184)] = 162656,
  [SMALL_STATE(4185)] = 162742,
  [SMALL_STATE(4186)] = 162828,
  [SMALL_STATE(4187)] = 162914,
  [SMALL_STATE(4188)] = 163000,
  [SMALL_STATE(4189)] = 163086,
  [SMALL_STATE(4190)] = 163172,
  [SMALL_STATE(4191)] = 163258,
  [SMALL_STATE(4192)] = 163344,
  [SMALL_STATE(4193)] = 163430,
  [SMALL_STATE(4194)] = 163516,
  [SMALL_STATE(4195)] = 163602,
  [SMALL_STATE(4196)] = 163688,
  [SMALL_STATE(4197)] = 163774,
  [SMALL_STATE(4198)] = 163860,
  [SMALL_STATE(4199)] = 163946,
  [SMALL_STATE(4200)] = 164032,
  [SMALL_STATE(4201)] = 164118,
  [SMALL_STATE(4202)] = 164204,
  [SMALL_STATE(4203)] = 164290,
  [SMALL_STATE(4204)] = 164376,
  [SMALL_STATE(4205)] = 164462,
  [SMALL_STATE(4206)] = 164548,
  [SMALL_STATE(4207)] = 164634,
  [SMALL_STATE(4208)] = 164720,
  [SMALL_STATE(4209)] = 164806,
  [SMALL_STATE(4210)] = 164892,
  [SMALL_STATE(4211)] = 164978,
  [SMALL_STATE(4212)] = 165064,
  [SMALL_STATE(4213)] = 165150,
  [SMALL_STATE(4214)] = 165236,
  [SMALL_STATE(4215)] = 165322,
  [SMALL_STATE(4216)] = 165408,
  [SMALL_STATE(4217)] = 165494,
  [SMALL_STATE(4218)] = 165580,
  [SMALL_STATE(4219)] = 165666,
  [SMALL_STATE(4220)] = 165752,
  [SMALL_STATE(4221)] = 165838,
  [SMALL_STATE(4222)] = 165924,
  [SMALL_STATE(4223)] = 166010,
  [SMALL_STATE(4224)] = 166096,
  [SMALL_STATE(4225)] = 166182,
  [SMALL_STATE(4226)] = 166268,
  [SMALL_STATE(4227)] = 166354,
  [SMALL_STATE(4228)] = 166440,
  [SMALL_STATE(4229)] = 166526,
  [SMALL_STATE(4230)] = 166612,
  [SMALL_STATE(4231)] = 166698,
  [SMALL_STATE(4232)] = 166784,
  [SMALL_STATE(4233)] = 166870,
  [SMALL_STATE(4234)] = 166956,
  [SMALL_STATE(4235)] = 167042,
  [SMALL_STATE(4236)] = 167128,
  [SMALL_STATE(4237)] = 167214,
  [SMALL_STATE(4238)] = 167300,
  [SMALL_STATE(4239)] = 167386,
  [SMALL_STATE(4240)] = 167472,
  [SMALL_STATE(4241)] = 167558,
  [SMALL_STATE(4242)] = 167644,
  [SMALL_STATE(4243)] = 167730,
  [SMALL_STATE(4244)] = 167816,
  [SMALL_STATE(4245)] = 167902,
  [SMALL_STATE(4246)] = 167988,
  [SMALL_STATE(4247)] = 168074,
  [SMALL_STATE(4248)] = 168160,
  [SMALL_STATE(4249)] = 168246,
  [SMALL_STATE(4250)] = 168332,
  [SMALL_STATE(4251)] = 168418,
  [SMALL_STATE(4252)] = 168504,
  [SMALL_STATE(4253)] = 168590,
  [SMALL_STATE(4254)] = 168676,
  [SMALL_STATE(4255)] = 168762,
  [SMALL_STATE(4256)] = 168848,
  [SMALL_STATE(4257)] = 168934,
  [SMALL_STATE(4258)] = 169020,
  [SMALL_STATE(4259)] = 169106,
  [SMALL_STATE(4260)] = 169192,
  [SMALL_STATE(4261)] = 169278,
  [SMALL_STATE(4262)] = 169364,
  [SMALL_STATE(4263)] = 169450,
  [SMALL_STATE(4264)] = 169536,
  [SMALL_STATE(4265)] = 169622,
  [SMALL_STATE(4266)] = 169708,
  [SMALL_STATE(4267)] = 169794,
  [SMALL_STATE(4268)] = 169880,
  [SMALL_STATE(4269)] = 169966,
  [SMALL_STATE(4270)] = 170052,
  [SMALL_STATE(4271)] = 170138,
  [SMALL_STATE(4272)] = 170224,
  [SMALL_STATE(4273)] = 170310,
  [SMALL_STATE(4274)] = 170396,
  [SMALL_STATE(4275)] = 170482,
  [SMALL_STATE(4276)] = 170568,
  [SMALL_STATE(4277)] = 170654,
  [SMALL_STATE(4278)] = 170740,
  [SMALL_STATE(4279)] = 170826,
  [SMALL_STATE(4280)] = 170876,
  [SMALL_STATE(4281)] = 170962,
  [SMALL_STATE(4282)] = 171048,
  [SMALL_STATE(4283)] = 171134,
  [SMALL_STATE(4284)] = 171220,
  [SMALL_STATE(4285)] = 171306,
  [SMALL_STATE(4286)] = 171392,
  [SMALL_STATE(4287)] = 171478,
  [SMALL_STATE(4288)] = 171564,
  [SMALL_STATE(4289)] = 171650,
  [SMALL_STATE(4290)] = 171736,
  [SMALL_STATE(4291)] = 171822,
  [SMALL_STATE(4292)] = 171908,
  [SMALL_STATE(4293)] = 171994,
  [SMALL_STATE(4294)] = 172080,
  [SMALL_STATE(4295)] = 172166,
  [SMALL_STATE(4296)] = 172220,
  [SMALL_STATE(4297)] = 172306,
  [SMALL_STATE(4298)] = 172392,
  [SMALL_STATE(4299)] = 172478,
  [SMALL_STATE(4300)] = 172564,
  [SMALL_STATE(4301)] = 172650,
  [SMALL_STATE(4302)] = 172736,
  [SMALL_STATE(4303)] = 172822,
  [SMALL_STATE(4304)] = 172908,
  [SMALL_STATE(4305)] = 172994,
  [SMALL_STATE(4306)] = 173080,
  [SMALL_STATE(4307)] = 173166,
  [SMALL_STATE(4308)] = 173252,
  [SMALL_STATE(4309)] = 173338,
  [SMALL_STATE(4310)] = 173424,
  [SMALL_STATE(4311)] = 173510,
  [SMALL_STATE(4312)] = 173596,
  [SMALL_STATE(4313)] = 173682,
  [SMALL_STATE(4314)] = 173768,
  [SMALL_STATE(4315)] = 173854,
  [SMALL_STATE(4316)] = 173940,
  [SMALL_STATE(4317)] = 174026,
  [SMALL_STATE(4318)] = 174112,
  [SMALL_STATE(4319)] = 174198,
  [SMALL_STATE(4320)] = 174284,
  [SMALL_STATE(4321)] = 174370,
  [SMALL_STATE(4322)] = 174456,
  [SMALL_STATE(4323)] = 174542,
  [SMALL_STATE(4324)] = 174630,
  [SMALL_STATE(4325)] = 174716,
  [SMALL_STATE(4326)] = 174802,
  [SMALL_STATE(4327)] = 174888,
  [SMALL_STATE(4328)] = 174974,
  [SMALL_STATE(4329)] = 175060,
  [SMALL_STATE(4330)] = 175146,
  [SMALL_STATE(4331)] = 175232,
  [SMALL_STATE(4332)] = 175318,
  [SMALL_STATE(4333)] = 175404,
  [SMALL_STATE(4334)] = 175490,
  [SMALL_STATE(4335)] = 175576,
  [SMALL_STATE(4336)] = 175662,
  [SMALL_STATE(4337)] = 175748,
  [SMALL_STATE(4338)] = 175834,
  [SMALL_STATE(4339)] = 175920,
  [SMALL_STATE(4340)] = 176006,
  [SMALL_STATE(4341)] = 176092,
  [SMALL_STATE(4342)] = 176178,
  [SMALL_STATE(4343)] = 176264,
  [SMALL_STATE(4344)] = 176350,
  [SMALL_STATE(4345)] = 176436,
  [SMALL_STATE(4346)] = 176522,
  [SMALL_STATE(4347)] = 176608,
  [SMALL_STATE(4348)] = 176694,
  [SMALL_STATE(4349)] = 176780,
  [SMALL_STATE(4350)] = 176866,
  [SMALL_STATE(4351)] = 176952,
  [SMALL_STATE(4352)] = 177038,
  [SMALL_STATE(4353)] = 177124,
  [SMALL_STATE(4354)] = 177210,
  [SMALL_STATE(4355)] = 177296,
  [SMALL_STATE(4356)] = 177382,
  [SMALL_STATE(4357)] = 177468,
  [SMALL_STATE(4358)] = 177554,
  [SMALL_STATE(4359)] = 177640,
  [SMALL_STATE(4360)] = 177726,
  [SMALL_STATE(4361)] = 177812,
  [SMALL_STATE(4362)] = 177898,
  [SMALL_STATE(4363)] = 177984,
  [SMALL_STATE(4364)] = 178070,
  [SMALL_STATE(4365)] = 178156,
  [SMALL_STATE(4366)] = 178242,
  [SMALL_STATE(4367)] = 178328,
  [SMALL_STATE(4368)] = 178414,
  [SMALL_STATE(4369)] = 178500,
  [SMALL_STATE(4370)] = 178586,
  [SMALL_STATE(4371)] = 178672,
  [SMALL_STATE(4372)] = 178758,
  [SMALL_STATE(4373)] = 178844,
  [SMALL_STATE(4374)] = 178930,
  [SMALL_STATE(4375)] = 179016,
  [SMALL_STATE(4376)] = 179102,
  [SMALL_STATE(4377)] = 179188,
  [SMALL_STATE(4378)] = 179274,
  [SMALL_STATE(4379)] = 179360,
  [SMALL_STATE(4380)] = 179446,
  [SMALL_STATE(4381)] = 179532,
  [SMALL_STATE(4382)] = 179618,
  [SMALL_STATE(4383)] = 179704,
  [SMALL_STATE(4384)] = 179790,
  [SMALL_STATE(4385)] = 179876,
  [SMALL_STATE(4386)] = 179962,
  [SMALL_STATE(4387)] = 180048,
  [SMALL_STATE(4388)] = 180134,
  [SMALL_STATE(4389)] = 180220,
  [SMALL_STATE(4390)] = 180306,
  [SMALL_STATE(4391)] = 180392,
  [SMALL_STATE(4392)] = 180478,
  [SMALL_STATE(4393)] = 180564,
  [SMALL_STATE(4394)] = 180614,
  [SMALL_STATE(4395)] = 180700,
  [SMALL_STATE(4396)] = 180754,
  [SMALL_STATE(4397)] = 180840,
  [SMALL_STATE(4398)] = 180926,
  [SMALL_STATE(4399)] = 181012,
  [SMALL_STATE(4400)] = 181098,
  [SMALL_STATE(4401)] = 181184,
  [SMALL_STATE(4402)] = 181270,
  [SMALL_STATE(4403)] = 181356,
  [SMALL_STATE(4404)] = 181442,
  [SMALL_STATE(4405)] = 181528,
  [SMALL_STATE(4406)] = 181614,
  [SMALL_STATE(4407)] = 181700,
  [SMALL_STATE(4408)] = 181786,
  [SMALL_STATE(4409)] = 181872,
  [SMALL_STATE(4410)] = 181958,
  [SMALL_STATE(4411)] = 182044,
  [SMALL_STATE(4412)] = 182130,
  [SMALL_STATE(4413)] = 182216,
  [SMALL_STATE(4414)] = 182302,
  [SMALL_STATE(4415)] = 182388,
  [SMALL_STATE(4416)] = 182474,
  [SMALL_STATE(4417)] = 182560,
  [SMALL_STATE(4418)] = 182646,
  [SMALL_STATE(4419)] = 182732,
  [SMALL_STATE(4420)] = 182782,
  [SMALL_STATE(4421)] = 182868,
  [SMALL_STATE(4422)] = 182954,
  [SMALL_STATE(4423)] = 183040,
  [SMALL_STATE(4424)] = 183126,
  [SMALL_STATE(4425)] = 183212,
  [SMALL_STATE(4426)] = 183298,
  [SMALL_STATE(4427)] = 183384,
  [SMALL_STATE(4428)] = 183470,
  [SMALL_STATE(4429)] = 183556,
  [SMALL_STATE(4430)] = 183642,
  [SMALL_STATE(4431)] = 183728,
  [SMALL_STATE(4432)] = 183814,
  [SMALL_STATE(4433)] = 183900,
  [SMALL_STATE(4434)] = 183986,
  [SMALL_STATE(4435)] = 184072,
  [SMALL_STATE(4436)] = 184158,
  [SMALL_STATE(4437)] = 184244,
  [SMALL_STATE(4438)] = 184330,
  [SMALL_STATE(4439)] = 184416,
  [SMALL_STATE(4440)] = 184502,
  [SMALL_STATE(4441)] = 184588,
  [SMALL_STATE(4442)] = 184674,
  [SMALL_STATE(4443)] = 184760,
  [SMALL_STATE(4444)] = 184846,
  [SMALL_STATE(4445)] = 184932,
  [SMALL_STATE(4446)] = 185016,
  [SMALL_STATE(4447)] = 185102,
  [SMALL_STATE(4448)] = 185188,
  [SMALL_STATE(4449)] = 185274,
  [SMALL_STATE(4450)] = 185360,
  [SMALL_STATE(4451)] = 185446,
  [SMALL_STATE(4452)] = 185532,
  [SMALL_STATE(4453)] = 185618,
  [SMALL_STATE(4454)] = 185704,
  [SMALL_STATE(4455)] = 185790,
  [SMALL_STATE(4456)] = 185876,
  [SMALL_STATE(4457)] = 185962,
  [SMALL_STATE(4458)] = 186048,
  [SMALL_STATE(4459)] = 186134,
  [SMALL_STATE(4460)] = 186220,
  [SMALL_STATE(4461)] = 186306,
  [SMALL_STATE(4462)] = 186392,
  [SMALL_STATE(4463)] = 186478,
  [SMALL_STATE(4464)] = 186564,
  [SMALL_STATE(4465)] = 186650,
  [SMALL_STATE(4466)] = 186736,
  [SMALL_STATE(4467)] = 186822,
  [SMALL_STATE(4468)] = 186876,
  [SMALL_STATE(4469)] = 186962,
  [SMALL_STATE(4470)] = 187048,
  [SMALL_STATE(4471)] = 187134,
  [SMALL_STATE(4472)] = 187220,
  [SMALL_STATE(4473)] = 187306,
  [SMALL_STATE(4474)] = 187392,
  [SMALL_STATE(4475)] = 187478,
  [SMALL_STATE(4476)] = 187564,
  [SMALL_STATE(4477)] = 187650,
  [SMALL_STATE(4478)] = 187736,
  [SMALL_STATE(4479)] = 187815,
  [SMALL_STATE(4480)] = 187868,
  [SMALL_STATE(4481)] = 187955,
  [SMALL_STATE(4482)] = 188008,
  [SMALL_STATE(4483)] = 188061,
  [SMALL_STATE(4484)] = 188114,
  [SMALL_STATE(4485)] = 188167,
  [SMALL_STATE(4486)] = 188220,
  [SMALL_STATE(4487)] = 188273,
  [SMALL_STATE(4488)] = 188326,
  [SMALL_STATE(4489)] = 188379,
  [SMALL_STATE(4490)] = 188434,
  [SMALL_STATE(4491)] = 188487,
  [SMALL_STATE(4492)] = 188542,
  [SMALL_STATE(4493)] = 188597,
  [SMALL_STATE(4494)] = 188645,
  [SMALL_STATE(4495)] = 188693,
  [SMALL_STATE(4496)] = 188741,
  [SMALL_STATE(4497)] = 188789,
  [SMALL_STATE(4498)] = 188839,
  [SMALL_STATE(4499)] = 188887,
  [SMALL_STATE(4500)] = 188935,
  [SMALL_STATE(4501)] = 188983,
  [SMALL_STATE(4502)] = 189031,
  [SMALL_STATE(4503)] = 189079,
  [SMALL_STATE(4504)] = 189127,
  [SMALL_STATE(4505)] = 189175,
  [SMALL_STATE(4506)] = 189223,
  [SMALL_STATE(4507)] = 189271,
  [SMALL_STATE(4508)] = 189319,
  [SMALL_STATE(4509)] = 189367,
  [SMALL_STATE(4510)] = 189415,
  [SMALL_STATE(4511)] = 189463,
  [SMALL_STATE(4512)] = 189511,
  [SMALL_STATE(4513)] = 189559,
  [SMALL_STATE(4514)] = 189607,
  [SMALL_STATE(4515)] = 189655,
  [SMALL_STATE(4516)] = 189703,
  [SMALL_STATE(4517)] = 189751,
  [SMALL_STATE(4518)] = 189799,
  [SMALL_STATE(4519)] = 189847,
  [SMALL_STATE(4520)] = 189895,
  [SMALL_STATE(4521)] = 189943,
  [SMALL_STATE(4522)] = 189991,
  [SMALL_STATE(4523)] = 190039,
  [SMALL_STATE(4524)] = 190087,
  [SMALL_STATE(4525)] = 190135,
  [SMALL_STATE(4526)] = 190185,
  [SMALL_STATE(4527)] = 190233,
  [SMALL_STATE(4528)] = 190281,
  [SMALL_STATE(4529)] = 190329,
  [SMALL_STATE(4530)] = 190377,
  [SMALL_STATE(4531)] = 190425,
  [SMALL_STATE(4532)] = 190473,
  [SMALL_STATE(4533)] = 190520,
  [SMALL_STATE(4534)] = 190567,
  [SMALL_STATE(4535)] = 190614,
  [SMALL_STATE(4536)] = 190661,
  [SMALL_STATE(4537)] = 190708,
  [SMALL_STATE(4538)] = 190755,
  [SMALL_STATE(4539)] = 190802,
  [SMALL_STATE(4540)] = 190849,
  [SMALL_STATE(4541)] = 190896,
  [SMALL_STATE(4542)] = 190943,
  [SMALL_STATE(4543)] = 190990,
  [SMALL_STATE(4544)] = 191037,
  [SMALL_STATE(4545)] = 191084,
  [SMALL_STATE(4546)] = 191131,
  [SMALL_STATE(4547)] = 191178,
  [SMALL_STATE(4548)] = 191225,
  [SMALL_STATE(4549)] = 191272,
  [SMALL_STATE(4550)] = 191319,
  [SMALL_STATE(4551)] = 191366,
  [SMALL_STATE(4552)] = 191413,
  [SMALL_STATE(4553)] = 191460,
  [SMALL_STATE(4554)] = 191507,
  [SMALL_STATE(4555)] = 191554,
  [SMALL_STATE(4556)] = 191601,
  [SMALL_STATE(4557)] = 191648,
  [SMALL_STATE(4558)] = 191695,
  [SMALL_STATE(4559)] = 191742,
  [SMALL_STATE(4560)] = 191789,
  [SMALL_STATE(4561)] = 191836,
  [SMALL_STATE(4562)] = 191883,
  [SMALL_STATE(4563)] = 191930,
  [SMALL_STATE(4564)] = 191977,
  [SMALL_STATE(4565)] = 192024,
  [SMALL_STATE(4566)] = 192071,
  [SMALL_STATE(4567)] = 192118,
  [SMALL_STATE(4568)] = 192165,
  [SMALL_STATE(4569)] = 192212,
  [SMALL_STATE(4570)] = 192259,
  [SMALL_STATE(4571)] = 192306,
  [SMALL_STATE(4572)] = 192353,
  [SMALL_STATE(4573)] = 192400,
  [SMALL_STATE(4574)] = 192447,
  [SMALL_STATE(4575)] = 192494,
  [SMALL_STATE(4576)] = 192541,
  [SMALL_STATE(4577)] = 192588,
  [SMALL_STATE(4578)] = 192635,
  [SMALL_STATE(4579)] = 192682,
  [SMALL_STATE(4580)] = 192729,
  [SMALL_STATE(4581)] = 192776,
  [SMALL_STATE(4582)] = 192823,
  [SMALL_STATE(4583)] = 192870,
  [SMALL_STATE(4584)] = 192917,
  [SMALL_STATE(4585)] = 192964,
  [SMALL_STATE(4586)] = 193011,
  [SMALL_STATE(4587)] = 193058,
  [SMALL_STATE(4588)] = 193105,
  [SMALL_STATE(4589)] = 193152,
  [SMALL_STATE(4590)] = 193199,
  [SMALL_STATE(4591)] = 193246,
  [SMALL_STATE(4592)] = 193293,
  [SMALL_STATE(4593)] = 193340,
  [SMALL_STATE(4594)] = 193387,
  [SMALL_STATE(4595)] = 193434,
  [SMALL_STATE(4596)] = 193481,
  [SMALL_STATE(4597)] = 193528,
  [SMALL_STATE(4598)] = 193580,
  [SMALL_STATE(4599)] = 193668,
  [SMALL_STATE(4600)] = 193756,
  [SMALL_STATE(4601)] = 193844,
  [SMALL_STATE(4602)] = 193932,
  [SMALL_STATE(4603)] = 194005,
  [SMALL_STATE(4604)] = 194078,
  [SMALL_STATE(4605)] = 194151,
  [SMALL_STATE(4606)] = 194224,
  [SMALL_STATE(4607)] = 194297,
  [SMALL_STATE(4608)] = 194370,
  [SMALL_STATE(4609)] = 194443,
  [SMALL_STATE(4610)] = 194516,
  [SMALL_STATE(4611)] = 194589,
  [SMALL_STATE(4612)] = 194662,
  [SMALL_STATE(4613)] = 194735,
  [SMALL_STATE(4614)] = 194808,
  [SMALL_STATE(4615)] = 194881,
  [SMALL_STATE(4616)] = 194954,
  [SMALL_STATE(4617)] = 195027,
  [SMALL_STATE(4618)] = 195100,
  [SMALL_STATE(4619)] = 195173,
  [SMALL_STATE(4620)] = 195246,
  [SMALL_STATE(4621)] = 195319,
  [SMALL_STATE(4622)] = 195392,
  [SMALL_STATE(4623)] = 195465,
  [SMALL_STATE(4624)] = 195538,
  [SMALL_STATE(4625)] = 195611,
  [SMALL_STATE(4626)] = 195684,
  [SMALL_STATE(4627)] = 195731,
  [SMALL_STATE(4628)] = 195804,
  [SMALL_STATE(4629)] = 195877,
  [SMALL_STATE(4630)] = 195950,
  [SMALL_STATE(4631)] = 196023,
  [SMALL_STATE(4632)] = 196096,
  [SMALL_STATE(4633)] = 196169,
  [SMALL_STATE(4634)] = 196242,
  [SMALL_STATE(4635)] = 196315,
  [SMALL_STATE(4636)] = 196388,
  [SMALL_STATE(4637)] = 196461,
  [SMALL_STATE(4638)] = 196534,
  [SMALL_STATE(4639)] = 196607,
  [SMALL_STATE(4640)] = 196680,
  [SMALL_STATE(4641)] = 196753,
  [SMALL_STATE(4642)] = 196826,
  [SMALL_STATE(4643)] = 196899,
  [SMALL_STATE(4644)] = 196946,
  [SMALL_STATE(4645)] = 197019,
  [SMALL_STATE(4646)] = 197092,
  [SMALL_STATE(4647)] = 197165,
  [SMALL_STATE(4648)] = 197238,
  [SMALL_STATE(4649)] = 197311,
  [SMALL_STATE(4650)] = 197384,
  [SMALL_STATE(4651)] = 197457,
  [SMALL_STATE(4652)] = 197530,
  [SMALL_STATE(4653)] = 197603,
  [SMALL_STATE(4654)] = 197676,
  [SMALL_STATE(4655)] = 197723,
  [SMALL_STATE(4656)] = 197796,
  [SMALL_STATE(4657)] = 197869,
  [SMALL_STATE(4658)] = 197942,
  [SMALL_STATE(4659)] = 198015,
  [SMALL_STATE(4660)] = 198088,
  [SMALL_STATE(4661)] = 198161,
  [SMALL_STATE(4662)] = 198234,
  [SMALL_STATE(4663)] = 198307,
  [SMALL_STATE(4664)] = 198380,
  [SMALL_STATE(4665)] = 198453,
  [SMALL_STATE(4666)] = 198526,
  [SMALL_STATE(4667)] = 198599,
  [SMALL_STATE(4668)] = 198672,
  [SMALL_STATE(4669)] = 198745,
  [SMALL_STATE(4670)] = 198818,
  [SMALL_STATE(4671)] = 198891,
  [SMALL_STATE(4672)] = 198964,
  [SMALL_STATE(4673)] = 199037,
  [SMALL_STATE(4674)] = 199110,
  [SMALL_STATE(4675)] = 199183,
  [SMALL_STATE(4676)] = 199256,
  [SMALL_STATE(4677)] = 199329,
  [SMALL_STATE(4678)] = 199402,
  [SMALL_STATE(4679)] = 199475,
  [SMALL_STATE(4680)] = 199548,
  [SMALL_STATE(4681)] = 199621,
  [SMALL_STATE(4682)] = 199694,
  [SMALL_STATE(4683)] = 199767,
  [SMALL_STATE(4684)] = 199840,
  [SMALL_STATE(4685)] = 199913,
  [SMALL_STATE(4686)] = 199986,
  [SMALL_STATE(4687)] = 200059,
  [SMALL_STATE(4688)] = 200132,
  [SMALL_STATE(4689)] = 200205,
  [SMALL_STATE(4690)] = 200252,
  [SMALL_STATE(4691)] = 200325,
  [SMALL_STATE(4692)] = 200398,
  [SMALL_STATE(4693)] = 200471,
  [SMALL_STATE(4694)] = 200544,
  [SMALL_STATE(4695)] = 200617,
  [SMALL_STATE(4696)] = 200690,
  [SMALL_STATE(4697)] = 200763,
  [SMALL_STATE(4698)] = 200836,
  [SMALL_STATE(4699)] = 200909,
  [SMALL_STATE(4700)] = 200982,
  [SMALL_STATE(4701)] = 201055,
  [SMALL_STATE(4702)] = 201128,
  [SMALL_STATE(4703)] = 201201,
  [SMALL_STATE(4704)] = 201274,
  [SMALL_STATE(4705)] = 201347,
  [SMALL_STATE(4706)] = 201394,
  [SMALL_STATE(4707)] = 201467,
  [SMALL_STATE(4708)] = 201540,
  [SMALL_STATE(4709)] = 201613,
  [SMALL_STATE(4710)] = 201686,
  [SMALL_STATE(4711)] = 201759,
  [SMALL_STATE(4712)] = 201832,
  [SMALL_STATE(4713)] = 201905,
  [SMALL_STATE(4714)] = 201978,
  [SMALL_STATE(4715)] = 202051,
  [SMALL_STATE(4716)] = 202124,
  [SMALL_STATE(4717)] = 202197,
  [SMALL_STATE(4718)] = 202270,
  [SMALL_STATE(4719)] = 202343,
  [SMALL_STATE(4720)] = 202416,
  [SMALL_STATE(4721)] = 202489,
  [SMALL_STATE(4722)] = 202562,
  [SMALL_STATE(4723)] = 202635,
  [SMALL_STATE(4724)] = 202708,
  [SMALL_STATE(4725)] = 202781,
  [SMALL_STATE(4726)] = 202854,
  [SMALL_STATE(4727)] = 202927,
  [SMALL_STATE(4728)] = 203000,
  [SMALL_STATE(4729)] = 203073,
  [SMALL_STATE(4730)] = 203146,
  [SMALL_STATE(4731)] = 203219,
  [SMALL_STATE(4732)] = 203292,
  [SMALL_STATE(4733)] = 203365,
  [SMALL_STATE(4734)] = 203438,
  [SMALL_STATE(4735)] = 203511,
  [SMALL_STATE(4736)] = 203584,
  [SMALL_STATE(4737)] = 203657,
  [SMALL_STATE(4738)] = 203704,
  [SMALL_STATE(4739)] = 203777,
  [SMALL_STATE(4740)] = 203850,
  [SMALL_STATE(4741)] = 203923,
  [SMALL_STATE(4742)] = 203996,
  [SMALL_STATE(4743)] = 204069,
  [SMALL_STATE(4744)] = 204142,
  [SMALL_STATE(4745)] = 204215,
  [SMALL_STATE(4746)] = 204288,
  [SMALL_STATE(4747)] = 204361,
  [SMALL_STATE(4748)] = 204434,
  [SMALL_STATE(4749)] = 204507,
  [SMALL_STATE(4750)] = 204580,
  [SMALL_STATE(4751)] = 204653,
  [SMALL_STATE(4752)] = 204726,
  [SMALL_STATE(4753)] = 204799,
  [SMALL_STATE(4754)] = 204872,
  [SMALL_STATE(4755)] = 204945,
  [SMALL_STATE(4756)] = 205018,
  [SMALL_STATE(4757)] = 205091,
  [SMALL_STATE(4758)] = 205164,
  [SMALL_STATE(4759)] = 205237,
  [SMALL_STATE(4760)] = 205310,
  [SMALL_STATE(4761)] = 205383,
  [SMALL_STATE(4762)] = 205456,
  [SMALL_STATE(4763)] = 205529,
  [SMALL_STATE(4764)] = 205602,
  [SMALL_STATE(4765)] = 205675,
  [SMALL_STATE(4766)] = 205748,
  [SMALL_STATE(4767)] = 205821,
  [SMALL_STATE(4768)] = 205894,
  [SMALL_STATE(4769)] = 205967,
  [SMALL_STATE(4770)] = 206013,
  [SMALL_STATE(4771)] = 206095,
  [SMALL_STATE(4772)] = 206177,
  [SMALL_STATE(4773)] = 206221,
  [SMALL_STATE(4774)] = 206265,
  [SMALL_STATE(4775)] = 206309,
  [SMALL_STATE(4776)] = 206391,
  [SMALL_STATE(4777)] = 206435,
  [SMALL_STATE(4778)] = 206517,
  [SMALL_STATE(4779)] = 206599,
  [SMALL_STATE(4780)] = 206643,
  [SMALL_STATE(4781)] = 206687,
  [SMALL_STATE(4782)] = 206735,
  [SMALL_STATE(4783)] = 206817,
  [SMALL_STATE(4784)] = 206899,
  [SMALL_STATE(4785)] = 206981,
  [SMALL_STATE(4786)] = 207063,
  [SMALL_STATE(4787)] = 207145,
  [SMALL_STATE(4788)] = 207224,
  [SMALL_STATE(4789)] = 207303,
  [SMALL_STATE(4790)] = 207382,
  [SMALL_STATE(4791)] = 207431,
  [SMALL_STATE(4792)] = 207474,
  [SMALL_STATE(4793)] = 207517,
  [SMALL_STATE(4794)] = 207596,
  [SMALL_STATE(4795)] = 207639,
  [SMALL_STATE(4796)] = 207682,
  [SMALL_STATE(4797)] = 207747,
  [SMALL_STATE(4798)] = 207792,
  [SMALL_STATE(4799)] = 207857,
  [SMALL_STATE(4800)] = 207936,
  [SMALL_STATE(4801)] = 207979,
  [SMALL_STATE(4802)] = 208058,
  [SMALL_STATE(4803)] = 208137,
  [SMALL_STATE(4804)] = 208216,
  [SMALL_STATE(4805)] = 208259,
  [SMALL_STATE(4806)] = 208338,
  [SMALL_STATE(4807)] = 208417,
  [SMALL_STATE(4808)] = 208460,
  [SMALL_STATE(4809)] = 208539,
  [SMALL_STATE(4810)] = 208582,
  [SMALL_STATE(4811)] = 208661,
  [SMALL_STATE(4812)] = 208740,
  [SMALL_STATE(4813)] = 208783,
  [SMALL_STATE(4814)] = 208826,
  [SMALL_STATE(4815)] = 208869,
  [SMALL_STATE(4816)] = 208948,
  [SMALL_STATE(4817)] = 208991,
  [SMALL_STATE(4818)] = 209070,
  [SMALL_STATE(4819)] = 209149,
  [SMALL_STATE(4820)] = 209228,
  [SMALL_STATE(4821)] = 209275,
  [SMALL_STATE(4822)] = 209318,
  [SMALL_STATE(4823)] = 209397,
  [SMALL_STATE(4824)] = 209440,
  [SMALL_STATE(4825)] = 209505,
  [SMALL_STATE(4826)] = 209584,
  [SMALL_STATE(4827)] = 209633,
  [SMALL_STATE(4828)] = 209682,
  [SMALL_STATE(4829)] = 209747,
  [SMALL_STATE(4830)] = 209823,
  [SMALL_STATE(4831)] = 209887,
  [SMALL_STATE(4832)] = 209963,
  [SMALL_STATE(4833)] = 210039,
  [SMALL_STATE(4834)] = 210115,
  [SMALL_STATE(4835)] = 210161,
  [SMALL_STATE(4836)] = 210237,
  [SMALL_STATE(4837)] = 210279,
  [SMALL_STATE(4838)] = 210355,
  [SMALL_STATE(4839)] = 210431,
  [SMALL_STATE(4840)] = 210513,
  [SMALL_STATE(4841)] = 210589,
  [SMALL_STATE(4842)] = 210653,
  [SMALL_STATE(4843)] = 210735,
  [SMALL_STATE(4844)] = 210776,
  [SMALL_STATE(4845)] = 210837,
  [SMALL_STATE(4846)] = 210878,
  [SMALL_STATE(4847)] = 210939,
  [SMALL_STATE(4848)] = 210980,
  [SMALL_STATE(4849)] = 211041,
  [SMALL_STATE(4850)] = 211102,
  [SMALL_STATE(4851)] = 211163,
  [SMALL_STATE(4852)] = 211204,
  [SMALL_STATE(4853)] = 211265,
  [SMALL_STATE(4854)] = 211326,
  [SMALL_STATE(4855)] = 211387,
  [SMALL_STATE(4856)] = 211428,
  [SMALL_STATE(4857)] = 211489,
  [SMALL_STATE(4858)] = 211530,
  [SMALL_STATE(4859)] = 211591,
  [SMALL_STATE(4860)] = 211633,
  [SMALL_STATE(4861)] = 211681,
  [SMALL_STATE(4862)] = 211721,
  [SMALL_STATE(4863)] = 211761,
  [SMALL_STATE(4864)] = 211801,
  [SMALL_STATE(4865)] = 211853,
  [SMALL_STATE(4866)] = 211905,
  [SMALL_STATE(4867)] = 211947,
  [SMALL_STATE(4868)] = 211999,
  [SMALL_STATE(4869)] = 212051,
  [SMALL_STATE(4870)] = 212103,
  [SMALL_STATE(4871)] = 212155,
  [SMALL_STATE(4872)] = 212207,
  [SMALL_STATE(4873)] = 212259,
  [SMALL_STATE(4874)] = 212295,
  [SMALL_STATE(4875)] = 212331,
  [SMALL_STATE(4876)] = 212367,
  [SMALL_STATE(4877)] = 212403,
  [SMALL_STATE(4878)] = 212455,
  [SMALL_STATE(4879)] = 212507,
  [SMALL_STATE(4880)] = 212543,
  [SMALL_STATE(4881)] = 212579,
  [SMALL_STATE(4882)] = 212631,
  [SMALL_STATE(4883)] = 212683,
  [SMALL_STATE(4884)] = 212735,
  [SMALL_STATE(4885)] = 212787,
  [SMALL_STATE(4886)] = 212839,
  [SMALL_STATE(4887)] = 212891,
  [SMALL_STATE(4888)] = 212943,
  [SMALL_STATE(4889)] = 212995,
  [SMALL_STATE(4890)] = 213047,
  [SMALL_STATE(4891)] = 213099,
  [SMALL_STATE(4892)] = 213135,
  [SMALL_STATE(4893)] = 213187,
  [SMALL_STATE(4894)] = 213239,
  [SMALL_STATE(4895)] = 213275,
  [SMALL_STATE(4896)] = 213315,
  [SMALL_STATE(4897)] = 213351,
  [SMALL_STATE(4898)] = 213387,
  [SMALL_STATE(4899)] = 213439,
  [SMALL_STATE(4900)] = 213491,
  [SMALL_STATE(4901)] = 213543,
  [SMALL_STATE(4902)] = 213579,
  [SMALL_STATE(4903)] = 213631,
  [SMALL_STATE(4904)] = 213673,
  [SMALL_STATE(4905)] = 213725,
  [SMALL_STATE(4906)] = 213777,
  [SMALL_STATE(4907)] = 213829,
  [SMALL_STATE(4908)] = 213881,
  [SMALL_STATE(4909)] = 213923,
  [SMALL_STATE(4910)] = 213985,
  [SMALL_STATE(4911)] = 214037,
  [SMALL_STATE(4912)] = 214089,
  [SMALL_STATE(4913)] = 214141,
  [SMALL_STATE(4914)] = 214193,
  [SMALL_STATE(4915)] = 214245,
  [SMALL_STATE(4916)] = 214297,
  [SMALL_STATE(4917)] = 214349,
  [SMALL_STATE(4918)] = 214401,
  [SMALL_STATE(4919)] = 214453,
  [SMALL_STATE(4920)] = 214488,
  [SMALL_STATE(4921)] = 214523,
  [SMALL_STATE(4922)] = 214600,
  [SMALL_STATE(4923)] = 214656,
  [SMALL_STATE(4924)] = 214690,
  [SMALL_STATE(4925)] = 214734,
  [SMALL_STATE(4926)] = 214790,
  [SMALL_STATE(4927)] = 214824,
  [SMALL_STATE(4928)] = 214858,
  [SMALL_STATE(4929)] = 214892,
  [SMALL_STATE(4930)] = 214948,
  [SMALL_STATE(4931)] = 214992,
  [SMALL_STATE(4932)] = 215066,
  [SMALL_STATE(4933)] = 215110,
  [SMALL_STATE(4934)] = 215154,
  [SMALL_STATE(4935)] = 215210,
  [SMALL_STATE(4936)] = 215254,
  [SMALL_STATE(4937)] = 215288,
  [SMALL_STATE(4938)] = 215322,
  [SMALL_STATE(4939)] = 215378,
  [SMALL_STATE(4940)] = 215422,
  [SMALL_STATE(4941)] = 215478,
  [SMALL_STATE(4942)] = 215527,
  [SMALL_STATE(4943)] = 215578,
  [SMALL_STATE(4944)] = 215613,
  [SMALL_STATE(4945)] = 215662,
  [SMALL_STATE(4946)] = 215711,
  [SMALL_STATE(4947)] = 215760,
  [SMALL_STATE(4948)] = 215803,
  [SMALL_STATE(4949)] = 215852,
  [SMALL_STATE(4950)] = 215895,
  [SMALL_STATE(4951)] = 215946,
  [SMALL_STATE(4952)] = 215995,
  [SMALL_STATE(4953)] = 216044,
  [SMALL_STATE(4954)] = 216093,
  [SMALL_STATE(4955)] = 216130,
  [SMALL_STATE(4956)] = 216201,
  [SMALL_STATE(4957)] = 216250,
  [SMALL_STATE(4958)] = 216291,
  [SMALL_STATE(4959)] = 216337,
  [SMALL_STATE(4960)] = 216369,
  [SMALL_STATE(4961)] = 216405,
  [SMALL_STATE(4962)] = 216451,
  [SMALL_STATE(4963)] = 216483,
  [SMALL_STATE(4964)] = 216531,
  [SMALL_STATE(4965)] = 216563,
  [SMALL_STATE(4966)] = 216595,
  [SMALL_STATE(4967)] = 216643,
  [SMALL_STATE(4968)] = 216691,
  [SMALL_STATE(4969)] = 216738,
  [SMALL_STATE(4970)] = 216785,
  [SMALL_STATE(4971)] = 216834,
  [SMALL_STATE(4972)] = 216875,
  [SMALL_STATE(4973)] = 216922,
  [SMALL_STATE(4974)] = 216969,
  [SMALL_STATE(4975)] = 217016,
  [SMALL_STATE(4976)] = 217063,
  [SMALL_STATE(4977)] = 217110,
  [SMALL_STATE(4978)] = 217157,
  [SMALL_STATE(4979)] = 217200,
  [SMALL_STATE(4980)] = 217247,
  [SMALL_STATE(4981)] = 217294,
  [SMALL_STATE(4982)] = 217341,
  [SMALL_STATE(4983)] = 217388,
  [SMALL_STATE(4984)] = 217431,
  [SMALL_STATE(4985)] = 217478,
  [SMALL_STATE(4986)] = 217521,
  [SMALL_STATE(4987)] = 217568,
  [SMALL_STATE(4988)] = 217615,
  [SMALL_STATE(4989)] = 217662,
  [SMALL_STATE(4990)] = 217709,
  [SMALL_STATE(4991)] = 217756,
  [SMALL_STATE(4992)] = 217803,
  [SMALL_STATE(4993)] = 217852,
  [SMALL_STATE(4994)] = 217888,
  [SMALL_STATE(4995)] = 217934,
  [SMALL_STATE(4996)] = 217980,
  [SMALL_STATE(4997)] = 218016,
  [SMALL_STATE(4998)] = 218062,
  [SMALL_STATE(4999)] = 218096,
  [SMALL_STATE(5000)] = 218142,
  [SMALL_STATE(5001)] = 218172,
  [SMALL_STATE(5002)] = 218208,
  [SMALL_STATE(5003)] = 218244,
  [SMALL_STATE(5004)] = 218274,
  [SMALL_STATE(5005)] = 218310,
  [SMALL_STATE(5006)] = 218356,
  [SMALL_STATE(5007)] = 218392,
  [SMALL_STATE(5008)] = 218428,
  [SMALL_STATE(5009)] = 218464,
  [SMALL_STATE(5010)] = 218508,
  [SMALL_STATE(5011)] = 218538,
  [SMALL_STATE(5012)] = 218572,
  [SMALL_STATE(5013)] = 218607,
  [SMALL_STATE(5014)] = 218636,
  [SMALL_STATE(5015)] = 218679,
  [SMALL_STATE(5016)] = 218722,
  [SMALL_STATE(5017)] = 218751,
  [SMALL_STATE(5018)] = 218794,
  [SMALL_STATE(5019)] = 218827,
  [SMALL_STATE(5020)] = 218860,
  [SMALL_STATE(5021)] = 218903,
  [SMALL_STATE(5022)] = 218936,
  [SMALL_STATE(5023)] = 218979,
  [SMALL_STATE(5024)] = 219022,
  [SMALL_STATE(5025)] = 219065,
  [SMALL_STATE(5026)] = 219096,
  [SMALL_STATE(5027)] = 219139,
  [SMALL_STATE(5028)] = 219182,
  [SMALL_STATE(5029)] = 219217,
  [SMALL_STATE(5030)] = 219260,
  [SMALL_STATE(5031)] = 219303,
  [SMALL_STATE(5032)] = 219336,
  [SMALL_STATE(5033)] = 219379,
  [SMALL_STATE(5034)] = 219422,
  [SMALL_STATE(5035)] = 219465,
  [SMALL_STATE(5036)] = 219508,
  [SMALL_STATE(5037)] = 219543,
  [SMALL_STATE(5038)] = 219576,
  [SMALL_STATE(5039)] = 219621,
  [SMALL_STATE(5040)] = 219664,
  [SMALL_STATE(5041)] = 219707,
  [SMALL_STATE(5042)] = 219740,
  [SMALL_STATE(5043)] = 219783,
  [SMALL_STATE(5044)] = 219826,
  [SMALL_STATE(5045)] = 219855,
  [SMALL_STATE(5046)] = 219898,
  [SMALL_STATE(5047)] = 219943,
  [SMALL_STATE(5048)] = 219988,
  [SMALL_STATE(5049)] = 220031,
  [SMALL_STATE(5050)] = 220074,
  [SMALL_STATE(5051)] = 220109,
  [SMALL_STATE(5052)] = 220152,
  [SMALL_STATE(5053)] = 220187,
  [SMALL_STATE(5054)] = 220230,
  [SMALL_STATE(5055)] = 220265,
  [SMALL_STATE(5056)] = 220300,
  [SMALL_STATE(5057)] = 220345,
  [SMALL_STATE(5058)] = 220378,
  [SMALL_STATE(5059)] = 220423,
  [SMALL_STATE(5060)] = 220458,
  [SMALL_STATE(5061)] = 220486,
  [SMALL_STATE(5062)] = 220514,
  [SMALL_STATE(5063)] = 220552,
  [SMALL_STATE(5064)] = 220596,
  [SMALL_STATE(5065)] = 220636,
  [SMALL_STATE(5066)] = 220664,
  [SMALL_STATE(5067)] = 220696,
  [SMALL_STATE(5068)] = 220728,
  [SMALL_STATE(5069)] = 220772,
  [SMALL_STATE(5070)] = 220816,
  [SMALL_STATE(5071)] = 220860,
  [SMALL_STATE(5072)] = 220900,
  [SMALL_STATE(5073)] = 220938,
  [SMALL_STATE(5074)] = 220978,
  [SMALL_STATE(5075)] = 221018,
  [SMALL_STATE(5076)] = 221044,
  [SMALL_STATE(5077)] = 221072,
  [SMALL_STATE(5078)] = 221112,
  [SMALL_STATE(5079)] = 221154,
  [SMALL_STATE(5080)] = 221186,
  [SMALL_STATE(5081)] = 221214,
  [SMALL_STATE(5082)] = 221246,
  [SMALL_STATE(5083)] = 221288,
  [SMALL_STATE(5084)] = 221316,
  [SMALL_STATE(5085)] = 221356,
  [SMALL_STATE(5086)] = 221400,
  [SMALL_STATE(5087)] = 221428,
  [SMALL_STATE(5088)] = 221468,
  [SMALL_STATE(5089)] = 221508,
  [SMALL_STATE(5090)] = 221540,
  [SMALL_STATE(5091)] = 221582,
  [SMALL_STATE(5092)] = 221622,
  [SMALL_STATE(5093)] = 221650,
  [SMALL_STATE(5094)] = 221688,
  [SMALL_STATE(5095)] = 221716,
  [SMALL_STATE(5096)] = 221744,
  [SMALL_STATE(5097)] = 221772,
  [SMALL_STATE(5098)] = 221812,
  [SMALL_STATE(5099)] = 221840,
  [SMALL_STATE(5100)] = 221868,
  [SMALL_STATE(5101)] = 221900,
  [SMALL_STATE(5102)] = 221928,
  [SMALL_STATE(5103)] = 221972,
  [SMALL_STATE(5104)] = 222018,
  [SMALL_STATE(5105)] = 222048,
  [SMALL_STATE(5106)] = 222080,
  [SMALL_STATE(5107)] = 222122,
  [SMALL_STATE(5108)] = 222162,
  [SMALL_STATE(5109)] = 222196,
  [SMALL_STATE(5110)] = 222240,
  [SMALL_STATE(5111)] = 222280,
  [SMALL_STATE(5112)] = 222308,
  [SMALL_STATE(5113)] = 222340,
  [SMALL_STATE(5114)] = 222380,
  [SMALL_STATE(5115)] = 222408,
  [SMALL_STATE(5116)] = 222442,
  [SMALL_STATE(5117)] = 222482,
  [SMALL_STATE(5118)] = 222519,
  [SMALL_STATE(5119)] = 222562,
  [SMALL_STATE(5120)] = 222589,
  [SMALL_STATE(5121)] = 222616,
  [SMALL_STATE(5122)] = 222645,
  [SMALL_STATE(5123)] = 222676,
  [SMALL_STATE(5124)] = 222713,
  [SMALL_STATE(5125)] = 222740,
  [SMALL_STATE(5126)] = 222771,
  [SMALL_STATE(5127)] = 222804,
  [SMALL_STATE(5128)] = 222841,
  [SMALL_STATE(5129)] = 222868,
  [SMALL_STATE(5130)] = 222909,
  [SMALL_STATE(5131)] = 222938,
  [SMALL_STATE(5132)] = 222973,
  [SMALL_STATE(5133)] = 223000,
  [SMALL_STATE(5134)] = 223027,
  [SMALL_STATE(5135)] = 223062,
  [SMALL_STATE(5136)] = 223091,
  [SMALL_STATE(5137)] = 223122,
  [SMALL_STATE(5138)] = 223165,
  [SMALL_STATE(5139)] = 223194,
  [SMALL_STATE(5140)] = 223231,
  [SMALL_STATE(5141)] = 223260,
  [SMALL_STATE(5142)] = 223289,
  [SMALL_STATE(5143)] = 223332,
  [SMALL_STATE(5144)] = 223369,
  [SMALL_STATE(5145)] = 223400,
  [SMALL_STATE(5146)] = 223433,
  [SMALL_STATE(5147)] = 223458,
  [SMALL_STATE(5148)] = 223485,
  [SMALL_STATE(5149)] = 223516,
  [SMALL_STATE(5150)] = 223543,
  [SMALL_STATE(5151)] = 223586,
  [SMALL_STATE(5152)] = 223611,
  [SMALL_STATE(5153)] = 223638,
  [SMALL_STATE(5154)] = 223681,
  [SMALL_STATE(5155)] = 223718,
  [SMALL_STATE(5156)] = 223745,
  [SMALL_STATE(5157)] = 223772,
  [SMALL_STATE(5158)] = 223807,
  [SMALL_STATE(5159)] = 223834,
  [SMALL_STATE(5160)] = 223861,
  [SMALL_STATE(5161)] = 223888,
  [SMALL_STATE(5162)] = 223915,
  [SMALL_STATE(5163)] = 223942,
  [SMALL_STATE(5164)] = 223969,
  [SMALL_STATE(5165)] = 223994,
  [SMALL_STATE(5166)] = 224021,
  [SMALL_STATE(5167)] = 224046,
  [SMALL_STATE(5168)] = 224073,
  [SMALL_STATE(5169)] = 224100,
  [SMALL_STATE(5170)] = 224125,
  [SMALL_STATE(5171)] = 224160,
  [SMALL_STATE(5172)] = 224185,
  [SMALL_STATE(5173)] = 224212,
  [SMALL_STATE(5174)] = 224245,
  [SMALL_STATE(5175)] = 224288,
  [SMALL_STATE(5176)] = 224315,
  [SMALL_STATE(5177)] = 224344,
  [SMALL_STATE(5178)] = 224377,
  [SMALL_STATE(5179)] = 224408,
  [SMALL_STATE(5180)] = 224435,
  [SMALL_STATE(5181)] = 224478,
  [SMALL_STATE(5182)] = 224503,
  [SMALL_STATE(5183)] = 224530,
  [SMALL_STATE(5184)] = 224571,
  [SMALL_STATE(5185)] = 224598,
  [SMALL_STATE(5186)] = 224625,
  [SMALL_STATE(5187)] = 224656,
  [SMALL_STATE(5188)] = 224687,
  [SMALL_STATE(5189)] = 224724,
  [SMALL_STATE(5190)] = 224767,
  [SMALL_STATE(5191)] = 224810,
  [SMALL_STATE(5192)] = 224837,
  [SMALL_STATE(5193)] = 224880,
  [SMALL_STATE(5194)] = 224913,
  [SMALL_STATE(5195)] = 224940,
  [SMALL_STATE(5196)] = 224975,
  [SMALL_STATE(5197)] = 225002,
  [SMALL_STATE(5198)] = 225029,
  [SMALL_STATE(5199)] = 225072,
  [SMALL_STATE(5200)] = 225102,
  [SMALL_STATE(5201)] = 225130,
  [SMALL_STATE(5202)] = 225156,
  [SMALL_STATE(5203)] = 225202,
  [SMALL_STATE(5204)] = 225234,
  [SMALL_STATE(5205)] = 225288,
  [SMALL_STATE(5206)] = 225314,
  [SMALL_STATE(5207)] = 225344,
  [SMALL_STATE(5208)] = 225368,
  [SMALL_STATE(5209)] = 225396,
  [SMALL_STATE(5210)] = 225426,
  [SMALL_STATE(5211)] = 225454,
  [SMALL_STATE(5212)] = 225496,
  [SMALL_STATE(5213)] = 225538,
  [SMALL_STATE(5214)] = 225566,
  [SMALL_STATE(5215)] = 225598,
  [SMALL_STATE(5216)] = 225630,
  [SMALL_STATE(5217)] = 225672,
  [SMALL_STATE(5218)] = 225712,
  [SMALL_STATE(5219)] = 225754,
  [SMALL_STATE(5220)] = 225796,
  [SMALL_STATE(5221)] = 225830,
  [SMALL_STATE(5222)] = 225856,
  [SMALL_STATE(5223)] = 225886,
  [SMALL_STATE(5224)] = 225914,
  [SMALL_STATE(5225)] = 225942,
  [SMALL_STATE(5226)] = 225966,
  [SMALL_STATE(5227)] = 226000,
  [SMALL_STATE(5228)] = 226034,
  [SMALL_STATE(5229)] = 226060,
  [SMALL_STATE(5230)] = 226092,
  [SMALL_STATE(5231)] = 226116,
  [SMALL_STATE(5232)] = 226146,
  [SMALL_STATE(5233)] = 226200,
  [SMALL_STATE(5234)] = 226224,
  [SMALL_STATE(5235)] = 226254,
  [SMALL_STATE(5236)] = 226278,
  [SMALL_STATE(5237)] = 226310,
  [SMALL_STATE(5238)] = 226334,
  [SMALL_STATE(5239)] = 226374,
  [SMALL_STATE(5240)] = 226398,
  [SMALL_STATE(5241)] = 226424,
  [SMALL_STATE(5242)] = 226448,
  [SMALL_STATE(5243)] = 226472,
  [SMALL_STATE(5244)] = 226514,
  [SMALL_STATE(5245)] = 226546,
  [SMALL_STATE(5246)] = 226576,
  [SMALL_STATE(5247)] = 226610,
  [SMALL_STATE(5248)] = 226652,
  [SMALL_STATE(5249)] = 226698,
  [SMALL_STATE(5250)] = 226730,
  [SMALL_STATE(5251)] = 226754,
  [SMALL_STATE(5252)] = 226784,
  [SMALL_STATE(5253)] = 226826,
  [SMALL_STATE(5254)] = 226852,
  [SMALL_STATE(5255)] = 226884,
  [SMALL_STATE(5256)] = 226926,
  [SMALL_STATE(5257)] = 226954,
  [SMALL_STATE(5258)] = 226986,
  [SMALL_STATE(5259)] = 227028,
  [SMALL_STATE(5260)] = 227070,
  [SMALL_STATE(5261)] = 227094,
  [SMALL_STATE(5262)] = 227136,
  [SMALL_STATE(5263)] = 227166,
  [SMALL_STATE(5264)] = 227190,
  [SMALL_STATE(5265)] = 227232,
  [SMALL_STATE(5266)] = 227274,
  [SMALL_STATE(5267)] = 227306,
  [SMALL_STATE(5268)] = 227336,
  [SMALL_STATE(5269)] = 227378,
  [SMALL_STATE(5270)] = 227404,
  [SMALL_STATE(5271)] = 227456,
  [SMALL_STATE(5272)] = 227488,
  [SMALL_STATE(5273)] = 227516,
  [SMALL_STATE(5274)] = 227550,
  [SMALL_STATE(5275)] = 227578,
  [SMALL_STATE(5276)] = 227610,
  [SMALL_STATE(5277)] = 227636,
  [SMALL_STATE(5278)] = 227678,
  [SMALL_STATE(5279)] = 227706,
  [SMALL_STATE(5280)] = 227748,
  [SMALL_STATE(5281)] = 227790,
  [SMALL_STATE(5282)] = 227832,
  [SMALL_STATE(5283)] = 227858,
  [SMALL_STATE(5284)] = 227900,
  [SMALL_STATE(5285)] = 227926,
  [SMALL_STATE(5286)] = 227968,
  [SMALL_STATE(5287)] = 227996,
  [SMALL_STATE(5288)] = 228050,
  [SMALL_STATE(5289)] = 228080,
  [SMALL_STATE(5290)] = 228122,
  [SMALL_STATE(5291)] = 228146,
  [SMALL_STATE(5292)] = 228180,
  [SMALL_STATE(5293)] = 228222,
  [SMALL_STATE(5294)] = 228264,
  [SMALL_STATE(5295)] = 228318,
  [SMALL_STATE(5296)] = 228352,
  [SMALL_STATE(5297)] = 228380,
  [SMALL_STATE(5298)] = 228412,
  [SMALL_STATE(5299)] = 228446,
  [SMALL_STATE(5300)] = 228492,
  [SMALL_STATE(5301)] = 228524,
  [SMALL_STATE(5302)] = 228558,
  [SMALL_STATE(5303)] = 228590,
  [SMALL_STATE(5304)] = 228624,
  [SMALL_STATE(5305)] = 228648,
  [SMALL_STATE(5306)] = 228680,
  [SMALL_STATE(5307)] = 228722,
  [SMALL_STATE(5308)] = 228756,
  [SMALL_STATE(5309)] = 228798,
  [SMALL_STATE(5310)] = 228828,
  [SMALL_STATE(5311)] = 228870,
  [SMALL_STATE(5312)] = 228912,
  [SMALL_STATE(5313)] = 228938,
  [SMALL_STATE(5314)] = 228966,
  [SMALL_STATE(5315)] = 229008,
  [SMALL_STATE(5316)] = 229038,
  [SMALL_STATE(5317)] = 229064,
  [SMALL_STATE(5318)] = 229096,
  [SMALL_STATE(5319)] = 229138,
  [SMALL_STATE(5320)] = 229164,
  [SMALL_STATE(5321)] = 229196,
  [SMALL_STATE(5322)] = 229222,
  [SMALL_STATE(5323)] = 229254,
  [SMALL_STATE(5324)] = 229286,
  [SMALL_STATE(5325)] = 229328,
  [SMALL_STATE(5326)] = 229370,
  [SMALL_STATE(5327)] = 229396,
  [SMALL_STATE(5328)] = 229442,
  [SMALL_STATE(5329)] = 229474,
  [SMALL_STATE(5330)] = 229520,
  [SMALL_STATE(5331)] = 229551,
  [SMALL_STATE(5332)] = 229574,
  [SMALL_STATE(5333)] = 229605,
  [SMALL_STATE(5334)] = 229636,
  [SMALL_STATE(5335)] = 229681,
  [SMALL_STATE(5336)] = 229708,
  [SMALL_STATE(5337)] = 229739,
  [SMALL_STATE(5338)] = 229770,
  [SMALL_STATE(5339)] = 229815,
  [SMALL_STATE(5340)] = 229846,
  [SMALL_STATE(5341)] = 229891,
  [SMALL_STATE(5342)] = 229936,
  [SMALL_STATE(5343)] = 229967,
  [SMALL_STATE(5344)] = 229998,
  [SMALL_STATE(5345)] = 230043,
  [SMALL_STATE(5346)] = 230074,
  [SMALL_STATE(5347)] = 230115,
  [SMALL_STATE(5348)] = 230142,
  [SMALL_STATE(5349)] = 230171,
  [SMALL_STATE(5350)] = 230202,
  [SMALL_STATE(5351)] = 230243,
  [SMALL_STATE(5352)] = 230284,
  [SMALL_STATE(5353)] = 230315,
  [SMALL_STATE(5354)] = 230356,
  [SMALL_STATE(5355)] = 230387,
  [SMALL_STATE(5356)] = 230416,
  [SMALL_STATE(5357)] = 230441,
  [SMALL_STATE(5358)] = 230482,
  [SMALL_STATE(5359)] = 230513,
  [SMALL_STATE(5360)] = 230544,
  [SMALL_STATE(5361)] = 230575,
  [SMALL_STATE(5362)] = 230602,
  [SMALL_STATE(5363)] = 230633,
  [SMALL_STATE(5364)] = 230662,
  [SMALL_STATE(5365)] = 230691,
  [SMALL_STATE(5366)] = 230722,
  [SMALL_STATE(5367)] = 230751,
  [SMALL_STATE(5368)] = 230774,
  [SMALL_STATE(5369)] = 230801,
  [SMALL_STATE(5370)] = 230832,
  [SMALL_STATE(5371)] = 230863,
  [SMALL_STATE(5372)] = 230894,
  [SMALL_STATE(5373)] = 230925,
  [SMALL_STATE(5374)] = 230956,
  [SMALL_STATE(5375)] = 230987,
  [SMALL_STATE(5376)] = 231010,
  [SMALL_STATE(5377)] = 231055,
  [SMALL_STATE(5378)] = 231086,
  [SMALL_STATE(5379)] = 231117,
  [SMALL_STATE(5380)] = 231158,
  [SMALL_STATE(5381)] = 231181,
  [SMALL_STATE(5382)] = 231212,
  [SMALL_STATE(5383)] = 231235,
  [SMALL_STATE(5384)] = 231266,
  [SMALL_STATE(5385)] = 231289,
  [SMALL_STATE(5386)] = 231330,
  [SMALL_STATE(5387)] = 231353,
  [SMALL_STATE(5388)] = 231378,
  [SMALL_STATE(5389)] = 231401,
  [SMALL_STATE(5390)] = 231432,
  [SMALL_STATE(5391)] = 231463,
  [SMALL_STATE(5392)] = 231494,
  [SMALL_STATE(5393)] = 231525,
  [SMALL_STATE(5394)] = 231556,
  [SMALL_STATE(5395)] = 231587,
  [SMALL_STATE(5396)] = 231618,
  [SMALL_STATE(5397)] = 231649,
  [SMALL_STATE(5398)] = 231680,
  [SMALL_STATE(5399)] = 231711,
  [SMALL_STATE(5400)] = 231742,
  [SMALL_STATE(5401)] = 231773,
  [SMALL_STATE(5402)] = 231818,
  [SMALL_STATE(5403)] = 231849,
  [SMALL_STATE(5404)] = 231880,
  [SMALL_STATE(5405)] = 231911,
  [SMALL_STATE(5406)] = 231940,
  [SMALL_STATE(5407)] = 231963,
  [SMALL_STATE(5408)] = 232008,
  [SMALL_STATE(5409)] = 232039,
  [SMALL_STATE(5410)] = 232068,
  [SMALL_STATE(5411)] = 232099,
  [SMALL_STATE(5412)] = 232144,
  [SMALL_STATE(5413)] = 232189,
  [SMALL_STATE(5414)] = 232220,
  [SMALL_STATE(5415)] = 232251,
  [SMALL_STATE(5416)] = 232282,
  [SMALL_STATE(5417)] = 232311,
  [SMALL_STATE(5418)] = 232342,
  [SMALL_STATE(5419)] = 232365,
  [SMALL_STATE(5420)] = 232388,
  [SMALL_STATE(5421)] = 232429,
  [SMALL_STATE(5422)] = 232470,
  [SMALL_STATE(5423)] = 232493,
  [SMALL_STATE(5424)] = 232524,
  [SMALL_STATE(5425)] = 232555,
  [SMALL_STATE(5426)] = 232586,
  [SMALL_STATE(5427)] = 232617,
  [SMALL_STATE(5428)] = 232658,
  [SMALL_STATE(5429)] = 232699,
  [SMALL_STATE(5430)] = 232722,
  [SMALL_STATE(5431)] = 232753,
  [SMALL_STATE(5432)] = 232794,
  [SMALL_STATE(5433)] = 232817,
  [SMALL_STATE(5434)] = 232848,
  [SMALL_STATE(5435)] = 232879,
  [SMALL_STATE(5436)] = 232910,
  [SMALL_STATE(5437)] = 232941,
  [SMALL_STATE(5438)] = 232972,
  [SMALL_STATE(5439)] = 233003,
  [SMALL_STATE(5440)] = 233034,
  [SMALL_STATE(5441)] = 233065,
  [SMALL_STATE(5442)] = 233096,
  [SMALL_STATE(5443)] = 233119,
  [SMALL_STATE(5444)] = 233150,
  [SMALL_STATE(5445)] = 233181,
  [SMALL_STATE(5446)] = 233204,
  [SMALL_STATE(5447)] = 233245,
  [SMALL_STATE(5448)] = 233274,
  [SMALL_STATE(5449)] = 233305,
  [SMALL_STATE(5450)] = 233328,
  [SMALL_STATE(5451)] = 233369,
  [SMALL_STATE(5452)] = 233392,
  [SMALL_STATE(5453)] = 233419,
  [SMALL_STATE(5454)] = 233442,
  [SMALL_STATE(5455)] = 233469,
  [SMALL_STATE(5456)] = 233500,
  [SMALL_STATE(5457)] = 233523,
  [SMALL_STATE(5458)] = 233554,
  [SMALL_STATE(5459)] = 233577,
  [SMALL_STATE(5460)] = 233608,
  [SMALL_STATE(5461)] = 233639,
  [SMALL_STATE(5462)] = 233670,
  [SMALL_STATE(5463)] = 233701,
  [SMALL_STATE(5464)] = 233724,
  [SMALL_STATE(5465)] = 233747,
  [SMALL_STATE(5466)] = 233774,
  [SMALL_STATE(5467)] = 233805,
  [SMALL_STATE(5468)] = 233836,
  [SMALL_STATE(5469)] = 233867,
  [SMALL_STATE(5470)] = 233890,
  [SMALL_STATE(5471)] = 233921,
  [SMALL_STATE(5472)] = 233952,
  [SMALL_STATE(5473)] = 233983,
  [SMALL_STATE(5474)] = 234028,
  [SMALL_STATE(5475)] = 234051,
  [SMALL_STATE(5476)] = 234074,
  [SMALL_STATE(5477)] = 234101,
  [SMALL_STATE(5478)] = 234146,
  [SMALL_STATE(5479)] = 234169,
  [SMALL_STATE(5480)] = 234192,
  [SMALL_STATE(5481)] = 234223,
  [SMALL_STATE(5482)] = 234250,
  [SMALL_STATE(5483)] = 234277,
  [SMALL_STATE(5484)] = 234308,
  [SMALL_STATE(5485)] = 234339,
  [SMALL_STATE(5486)] = 234380,
  [SMALL_STATE(5487)] = 234411,
  [SMALL_STATE(5488)] = 234442,
  [SMALL_STATE(5489)] = 234465,
  [SMALL_STATE(5490)] = 234496,
  [SMALL_STATE(5491)] = 234527,
  [SMALL_STATE(5492)] = 234550,
  [SMALL_STATE(5493)] = 234581,
  [SMALL_STATE(5494)] = 234604,
  [SMALL_STATE(5495)] = 234629,
  [SMALL_STATE(5496)] = 234656,
  [SMALL_STATE(5497)] = 234687,
  [SMALL_STATE(5498)] = 234718,
  [SMALL_STATE(5499)] = 234747,
  [SMALL_STATE(5500)] = 234788,
  [SMALL_STATE(5501)] = 234819,
  [SMALL_STATE(5502)] = 234850,
  [SMALL_STATE(5503)] = 234873,
  [SMALL_STATE(5504)] = 234900,
  [SMALL_STATE(5505)] = 234927,
  [SMALL_STATE(5506)] = 234958,
  [SMALL_STATE(5507)] = 234989,
  [SMALL_STATE(5508)] = 235020,
  [SMALL_STATE(5509)] = 235049,
  [SMALL_STATE(5510)] = 235094,
  [SMALL_STATE(5511)] = 235122,
  [SMALL_STATE(5512)] = 235148,
  [SMALL_STATE(5513)] = 235176,
  [SMALL_STATE(5514)] = 235198,
  [SMALL_STATE(5515)] = 235226,
  [SMALL_STATE(5516)] = 235254,
  [SMALL_STATE(5517)] = 235282,
  [SMALL_STATE(5518)] = 235304,
  [SMALL_STATE(5519)] = 235346,
  [SMALL_STATE(5520)] = 235374,
  [SMALL_STATE(5521)] = 235418,
  [SMALL_STATE(5522)] = 235440,
  [SMALL_STATE(5523)] = 235468,
  [SMALL_STATE(5524)] = 235490,
  [SMALL_STATE(5525)] = 235512,
  [SMALL_STATE(5526)] = 235538,
  [SMALL_STATE(5527)] = 235566,
  [SMALL_STATE(5528)] = 235594,
  [SMALL_STATE(5529)] = 235622,
  [SMALL_STATE(5530)] = 235650,
  [SMALL_STATE(5531)] = 235678,
  [SMALL_STATE(5532)] = 235706,
  [SMALL_STATE(5533)] = 235746,
  [SMALL_STATE(5534)] = 235786,
  [SMALL_STATE(5535)] = 235816,
  [SMALL_STATE(5536)] = 235844,
  [SMALL_STATE(5537)] = 235866,
  [SMALL_STATE(5538)] = 235894,
  [SMALL_STATE(5539)] = 235916,
  [SMALL_STATE(5540)] = 235956,
  [SMALL_STATE(5541)] = 236000,
  [SMALL_STATE(5542)] = 236022,
  [SMALL_STATE(5543)] = 236044,
  [SMALL_STATE(5544)] = 236088,
  [SMALL_STATE(5545)] = 236116,
  [SMALL_STATE(5546)] = 236142,
  [SMALL_STATE(5547)] = 236170,
  [SMALL_STATE(5548)] = 236192,
  [SMALL_STATE(5549)] = 236220,
  [SMALL_STATE(5550)] = 236248,
  [SMALL_STATE(5551)] = 236270,
  [SMALL_STATE(5552)] = 236298,
  [SMALL_STATE(5553)] = 236326,
  [SMALL_STATE(5554)] = 236354,
  [SMALL_STATE(5555)] = 236382,
  [SMALL_STATE(5556)] = 236410,
  [SMALL_STATE(5557)] = 236438,
  [SMALL_STATE(5558)] = 236460,
  [SMALL_STATE(5559)] = 236488,
  [SMALL_STATE(5560)] = 236516,
  [SMALL_STATE(5561)] = 236544,
  [SMALL_STATE(5562)] = 236568,
  [SMALL_STATE(5563)] = 236590,
  [SMALL_STATE(5564)] = 236618,
  [SMALL_STATE(5565)] = 236640,
  [SMALL_STATE(5566)] = 236668,
  [SMALL_STATE(5567)] = 236696,
  [SMALL_STATE(5568)] = 236718,
  [SMALL_STATE(5569)] = 236746,
  [SMALL_STATE(5570)] = 236772,
  [SMALL_STATE(5571)] = 236800,
  [SMALL_STATE(5572)] = 236828,
  [SMALL_STATE(5573)] = 236868,
  [SMALL_STATE(5574)] = 236890,
  [SMALL_STATE(5575)] = 236918,
  [SMALL_STATE(5576)] = 236942,
  [SMALL_STATE(5577)] = 236970,
  [SMALL_STATE(5578)] = 236998,
  [SMALL_STATE(5579)] = 237022,
  [SMALL_STATE(5580)] = 237046,
  [SMALL_STATE(5581)] = 237070,
  [SMALL_STATE(5582)] = 237094,
  [SMALL_STATE(5583)] = 237124,
  [SMALL_STATE(5584)] = 237152,
  [SMALL_STATE(5585)] = 237180,
  [SMALL_STATE(5586)] = 237208,
  [SMALL_STATE(5587)] = 237236,
  [SMALL_STATE(5588)] = 237268,
  [SMALL_STATE(5589)] = 237308,
  [SMALL_STATE(5590)] = 237330,
  [SMALL_STATE(5591)] = 237352,
  [SMALL_STATE(5592)] = 237380,
  [SMALL_STATE(5593)] = 237404,
  [SMALL_STATE(5594)] = 237426,
  [SMALL_STATE(5595)] = 237454,
  [SMALL_STATE(5596)] = 237482,
  [SMALL_STATE(5597)] = 237510,
  [SMALL_STATE(5598)] = 237538,
  [SMALL_STATE(5599)] = 237582,
  [SMALL_STATE(5600)] = 237604,
  [SMALL_STATE(5601)] = 237632,
  [SMALL_STATE(5602)] = 237662,
  [SMALL_STATE(5603)] = 237684,
  [SMALL_STATE(5604)] = 237712,
  [SMALL_STATE(5605)] = 237734,
  [SMALL_STATE(5606)] = 237762,
  [SMALL_STATE(5607)] = 237806,
  [SMALL_STATE(5608)] = 237846,
  [SMALL_STATE(5609)] = 237874,
  [SMALL_STATE(5610)] = 237918,
  [SMALL_STATE(5611)] = 237946,
  [SMALL_STATE(5612)] = 237974,
  [SMALL_STATE(5613)] = 237996,
  [SMALL_STATE(5614)] = 238024,
  [SMALL_STATE(5615)] = 238046,
  [SMALL_STATE(5616)] = 238074,
  [SMALL_STATE(5617)] = 238096,
  [SMALL_STATE(5618)] = 238118,
  [SMALL_STATE(5619)] = 238146,
  [SMALL_STATE(5620)] = 238168,
  [SMALL_STATE(5621)] = 238208,
  [SMALL_STATE(5622)] = 238230,
  [SMALL_STATE(5623)] = 238258,
  [SMALL_STATE(5624)] = 238280,
  [SMALL_STATE(5625)] = 238308,
  [SMALL_STATE(5626)] = 238332,
  [SMALL_STATE(5627)] = 238372,
  [SMALL_STATE(5628)] = 238394,
  [SMALL_STATE(5629)] = 238416,
  [SMALL_STATE(5630)] = 238440,
  [SMALL_STATE(5631)] = 238468,
  [SMALL_STATE(5632)] = 238490,
  [SMALL_STATE(5633)] = 238512,
  [SMALL_STATE(5634)] = 238540,
  [SMALL_STATE(5635)] = 238570,
  [SMALL_STATE(5636)] = 238598,
  [SMALL_STATE(5637)] = 238626,
  [SMALL_STATE(5638)] = 238654,
  [SMALL_STATE(5639)] = 238694,
  [SMALL_STATE(5640)] = 238724,
  [SMALL_STATE(5641)] = 238764,
  [SMALL_STATE(5642)] = 238792,
  [SMALL_STATE(5643)] = 238820,
  [SMALL_STATE(5644)] = 238848,
  [SMALL_STATE(5645)] = 238876,
  [SMALL_STATE(5646)] = 238904,
  [SMALL_STATE(5647)] = 238932,
  [SMALL_STATE(5648)] = 238956,
  [SMALL_STATE(5649)] = 238978,
  [SMALL_STATE(5650)] = 239006,
  [SMALL_STATE(5651)] = 239034,
  [SMALL_STATE(5652)] = 239056,
  [SMALL_STATE(5653)] = 239090,
  [SMALL_STATE(5654)] = 239116,
  [SMALL_STATE(5655)] = 239144,
  [SMALL_STATE(5656)] = 239172,
  [SMALL_STATE(5657)] = 239200,
  [SMALL_STATE(5658)] = 239222,
  [SMALL_STATE(5659)] = 239250,
  [SMALL_STATE(5660)] = 239278,
  [SMALL_STATE(5661)] = 239302,
  [SMALL_STATE(5662)] = 239324,
  [SMALL_STATE(5663)] = 239352,
  [SMALL_STATE(5664)] = 239396,
  [SMALL_STATE(5665)] = 239424,
  [SMALL_STATE(5666)] = 239468,
  [SMALL_STATE(5667)] = 239496,
  [SMALL_STATE(5668)] = 239524,
  [SMALL_STATE(5669)] = 239552,
  [SMALL_STATE(5670)] = 239580,
  [SMALL_STATE(5671)] = 239608,
  [SMALL_STATE(5672)] = 239636,
  [SMALL_STATE(5673)] = 239658,
  [SMALL_STATE(5674)] = 239686,
  [SMALL_STATE(5675)] = 239708,
  [SMALL_STATE(5676)] = 239736,
  [SMALL_STATE(5677)] = 239764,
  [SMALL_STATE(5678)] = 239808,
  [SMALL_STATE(5679)] = 239836,
  [SMALL_STATE(5680)] = 239880,
  [SMALL_STATE(5681)] = 239908,
  [SMALL_STATE(5682)] = 239936,
  [SMALL_STATE(5683)] = 239964,
  [SMALL_STATE(5684)] = 239992,
  [SMALL_STATE(5685)] = 240020,
  [SMALL_STATE(5686)] = 240048,
  [SMALL_STATE(5687)] = 240076,
  [SMALL_STATE(5688)] = 240104,
  [SMALL_STATE(5689)] = 240132,
  [SMALL_STATE(5690)] = 240156,
  [SMALL_STATE(5691)] = 240184,
  [SMALL_STATE(5692)] = 240208,
  [SMALL_STATE(5693)] = 240236,
  [SMALL_STATE(5694)] = 240258,
  [SMALL_STATE(5695)] = 240286,
  [SMALL_STATE(5696)] = 240308,
  [SMALL_STATE(5697)] = 240350,
  [SMALL_STATE(5698)] = 240378,
  [SMALL_STATE(5699)] = 240418,
  [SMALL_STATE(5700)] = 240446,
  [SMALL_STATE(5701)] = 240470,
  [SMALL_STATE(5702)] = 240498,
  [SMALL_STATE(5703)] = 240526,
  [SMALL_STATE(5704)] = 240554,
  [SMALL_STATE(5705)] = 240576,
  [SMALL_STATE(5706)] = 240604,
  [SMALL_STATE(5707)] = 240628,
  [SMALL_STATE(5708)] = 240656,
  [SMALL_STATE(5709)] = 240678,
  [SMALL_STATE(5710)] = 240706,
  [SMALL_STATE(5711)] = 240750,
  [SMALL_STATE(5712)] = 240778,
  [SMALL_STATE(5713)] = 240800,
  [SMALL_STATE(5714)] = 240822,
  [SMALL_STATE(5715)] = 240862,
  [SMALL_STATE(5716)] = 240886,
  [SMALL_STATE(5717)] = 240914,
  [SMALL_STATE(5718)] = 240942,
  [SMALL_STATE(5719)] = 240966,
  [SMALL_STATE(5720)] = 241006,
  [SMALL_STATE(5721)] = 241030,
  [SMALL_STATE(5722)] = 241074,
  [SMALL_STATE(5723)] = 241112,
  [SMALL_STATE(5724)] = 241140,
  [SMALL_STATE(5725)] = 241162,
  [SMALL_STATE(5726)] = 241190,
  [SMALL_STATE(5727)] = 241218,
  [SMALL_STATE(5728)] = 241246,
  [SMALL_STATE(5729)] = 241274,
  [SMALL_STATE(5730)] = 241302,
  [SMALL_STATE(5731)] = 241330,
  [SMALL_STATE(5732)] = 241352,
  [SMALL_STATE(5733)] = 241380,
  [SMALL_STATE(5734)] = 241402,
  [SMALL_STATE(5735)] = 241424,
  [SMALL_STATE(5736)] = 241446,
  [SMALL_STATE(5737)] = 241468,
  [SMALL_STATE(5738)] = 241496,
  [SMALL_STATE(5739)] = 241524,
  [SMALL_STATE(5740)] = 241552,
  [SMALL_STATE(5741)] = 241580,
  [SMALL_STATE(5742)] = 241608,
  [SMALL_STATE(5743)] = 241636,
  [SMALL_STATE(5744)] = 241664,
  [SMALL_STATE(5745)] = 241686,
  [SMALL_STATE(5746)] = 241714,
  [SMALL_STATE(5747)] = 241742,
  [SMALL_STATE(5748)] = 241768,
  [SMALL_STATE(5749)] = 241790,
  [SMALL_STATE(5750)] = 241818,
  [SMALL_STATE(5751)] = 241846,
  [SMALL_STATE(5752)] = 241874,
  [SMALL_STATE(5753)] = 241902,
  [SMALL_STATE(5754)] = 241924,
  [SMALL_STATE(5755)] = 241964,
  [SMALL_STATE(5756)] = 242004,
  [SMALL_STATE(5757)] = 242034,
  [SMALL_STATE(5758)] = 242078,
  [SMALL_STATE(5759)] = 242106,
  [SMALL_STATE(5760)] = 242134,
  [SMALL_STATE(5761)] = 242162,
  [SMALL_STATE(5762)] = 242190,
  [SMALL_STATE(5763)] = 242230,
  [SMALL_STATE(5764)] = 242258,
  [SMALL_STATE(5765)] = 242280,
  [SMALL_STATE(5766)] = 242312,
  [SMALL_STATE(5767)] = 242342,
  [SMALL_STATE(5768)] = 242372,
  [SMALL_STATE(5769)] = 242398,
  [SMALL_STATE(5770)] = 242436,
  [SMALL_STATE(5771)] = 242464,
  [SMALL_STATE(5772)] = 242492,
  [SMALL_STATE(5773)] = 242520,
  [SMALL_STATE(5774)] = 242548,
  [SMALL_STATE(5775)] = 242576,
  [SMALL_STATE(5776)] = 242598,
  [SMALL_STATE(5777)] = 242638,
  [SMALL_STATE(5778)] = 242678,
  [SMALL_STATE(5779)] = 242718,
  [SMALL_STATE(5780)] = 242744,
  [SMALL_STATE(5781)] = 242772,
  [SMALL_STATE(5782)] = 242800,
  [SMALL_STATE(5783)] = 242828,
  [SMALL_STATE(5784)] = 242868,
  [SMALL_STATE(5785)] = 242896,
  [SMALL_STATE(5786)] = 242924,
  [SMALL_STATE(5787)] = 242950,
  [SMALL_STATE(5788)] = 242990,
  [SMALL_STATE(5789)] = 243018,
  [SMALL_STATE(5790)] = 243046,
  [SMALL_STATE(5791)] = 243074,
  [SMALL_STATE(5792)] = 243096,
  [SMALL_STATE(5793)] = 243124,
  [SMALL_STATE(5794)] = 243154,
  [SMALL_STATE(5795)] = 243182,
  [SMALL_STATE(5796)] = 243206,
  [SMALL_STATE(5797)] = 243234,
  [SMALL_STATE(5798)] = 243255,
  [SMALL_STATE(5799)] = 243280,
  [SMALL_STATE(5800)] = 243303,
  [SMALL_STATE(5801)] = 243326,
  [SMALL_STATE(5802)] = 243353,
  [SMALL_STATE(5803)] = 243374,
  [SMALL_STATE(5804)] = 243395,
  [SMALL_STATE(5805)] = 243418,
  [SMALL_STATE(5806)] = 243441,
  [SMALL_STATE(5807)] = 243464,
  [SMALL_STATE(5808)] = 243491,
  [SMALL_STATE(5809)] = 243526,
  [SMALL_STATE(5810)] = 243547,
  [SMALL_STATE(5811)] = 243572,
  [SMALL_STATE(5812)] = 243593,
  [SMALL_STATE(5813)] = 243620,
  [SMALL_STATE(5814)] = 243641,
  [SMALL_STATE(5815)] = 243662,
  [SMALL_STATE(5816)] = 243683,
  [SMALL_STATE(5817)] = 243704,
  [SMALL_STATE(5818)] = 243725,
  [SMALL_STATE(5819)] = 243746,
  [SMALL_STATE(5820)] = 243767,
  [SMALL_STATE(5821)] = 243788,
  [SMALL_STATE(5822)] = 243811,
  [SMALL_STATE(5823)] = 243834,
  [SMALL_STATE(5824)] = 243857,
  [SMALL_STATE(5825)] = 243878,
  [SMALL_STATE(5826)] = 243901,
  [SMALL_STATE(5827)] = 243922,
  [SMALL_STATE(5828)] = 243945,
  [SMALL_STATE(5829)] = 243966,
  [SMALL_STATE(5830)] = 243987,
  [SMALL_STATE(5831)] = 244008,
  [SMALL_STATE(5832)] = 244029,
  [SMALL_STATE(5833)] = 244052,
  [SMALL_STATE(5834)] = 244091,
  [SMALL_STATE(5835)] = 244112,
  [SMALL_STATE(5836)] = 244151,
  [SMALL_STATE(5837)] = 244174,
  [SMALL_STATE(5838)] = 244199,
  [SMALL_STATE(5839)] = 244220,
  [SMALL_STATE(5840)] = 244241,
  [SMALL_STATE(5841)] = 244262,
  [SMALL_STATE(5842)] = 244283,
  [SMALL_STATE(5843)] = 244308,
  [SMALL_STATE(5844)] = 244331,
  [SMALL_STATE(5845)] = 244354,
  [SMALL_STATE(5846)] = 244375,
  [SMALL_STATE(5847)] = 244396,
  [SMALL_STATE(5848)] = 244419,
  [SMALL_STATE(5849)] = 244440,
  [SMALL_STATE(5850)] = 244461,
  [SMALL_STATE(5851)] = 244482,
  [SMALL_STATE(5852)] = 244509,
  [SMALL_STATE(5853)] = 244532,
  [SMALL_STATE(5854)] = 244553,
  [SMALL_STATE(5855)] = 244576,
  [SMALL_STATE(5856)] = 244597,
  [SMALL_STATE(5857)] = 244636,
  [SMALL_STATE(5858)] = 244657,
  [SMALL_STATE(5859)] = 244678,
  [SMALL_STATE(5860)] = 244699,
  [SMALL_STATE(5861)] = 244738,
  [SMALL_STATE(5862)] = 244759,
  [SMALL_STATE(5863)] = 244782,
  [SMALL_STATE(5864)] = 244803,
  [SMALL_STATE(5865)] = 244824,
  [SMALL_STATE(5866)] = 244845,
  [SMALL_STATE(5867)] = 244868,
  [SMALL_STATE(5868)] = 244891,
  [SMALL_STATE(5869)] = 244916,
  [SMALL_STATE(5870)] = 244937,
  [SMALL_STATE(5871)] = 244960,
  [SMALL_STATE(5872)] = 244985,
  [SMALL_STATE(5873)] = 245024,
  [SMALL_STATE(5874)] = 245049,
  [SMALL_STATE(5875)] = 245070,
  [SMALL_STATE(5876)] = 245099,
  [SMALL_STATE(5877)] = 245120,
  [SMALL_STATE(5878)] = 245149,
  [SMALL_STATE(5879)] = 245170,
  [SMALL_STATE(5880)] = 245193,
  [SMALL_STATE(5881)] = 245216,
  [SMALL_STATE(5882)] = 245243,
  [SMALL_STATE(5883)] = 245264,
  [SMALL_STATE(5884)] = 245303,
  [SMALL_STATE(5885)] = 245324,
  [SMALL_STATE(5886)] = 245345,
  [SMALL_STATE(5887)] = 245372,
  [SMALL_STATE(5888)] = 245393,
  [SMALL_STATE(5889)] = 245414,
  [SMALL_STATE(5890)] = 245435,
  [SMALL_STATE(5891)] = 245456,
  [SMALL_STATE(5892)] = 245477,
  [SMALL_STATE(5893)] = 245498,
  [SMALL_STATE(5894)] = 245525,
  [SMALL_STATE(5895)] = 245552,
  [SMALL_STATE(5896)] = 245577,
  [SMALL_STATE(5897)] = 245598,
  [SMALL_STATE(5898)] = 245637,
  [SMALL_STATE(5899)] = 245658,
  [SMALL_STATE(5900)] = 245679,
  [SMALL_STATE(5901)] = 245700,
  [SMALL_STATE(5902)] = 245723,
  [SMALL_STATE(5903)] = 245744,
  [SMALL_STATE(5904)] = 245769,
  [SMALL_STATE(5905)] = 245792,
  [SMALL_STATE(5906)] = 245815,
  [SMALL_STATE(5907)] = 245836,
  [SMALL_STATE(5908)] = 245859,
  [SMALL_STATE(5909)] = 245880,
  [SMALL_STATE(5910)] = 245903,
  [SMALL_STATE(5911)] = 245926,
  [SMALL_STATE(5912)] = 245951,
  [SMALL_STATE(5913)] = 245972,
  [SMALL_STATE(5914)] = 245993,
  [SMALL_STATE(5915)] = 246028,
  [SMALL_STATE(5916)] = 246066,
  [SMALL_STATE(5917)] = 246086,
  [SMALL_STATE(5918)] = 246108,
  [SMALL_STATE(5919)] = 246130,
  [SMALL_STATE(5920)] = 246168,
  [SMALL_STATE(5921)] = 246194,
  [SMALL_STATE(5922)] = 246216,
  [SMALL_STATE(5923)] = 246240,
  [SMALL_STATE(5924)] = 246260,
  [SMALL_STATE(5925)] = 246282,
  [SMALL_STATE(5926)] = 246304,
  [SMALL_STATE(5927)] = 246330,
  [SMALL_STATE(5928)] = 246352,
  [SMALL_STATE(5929)] = 246374,
  [SMALL_STATE(5930)] = 246394,
  [SMALL_STATE(5931)] = 246416,
  [SMALL_STATE(5932)] = 246438,
  [SMALL_STATE(5933)] = 246460,
  [SMALL_STATE(5934)] = 246484,
  [SMALL_STATE(5935)] = 246522,
  [SMALL_STATE(5936)] = 246544,
  [SMALL_STATE(5937)] = 246564,
  [SMALL_STATE(5938)] = 246586,
  [SMALL_STATE(5939)] = 246608,
  [SMALL_STATE(5940)] = 246630,
  [SMALL_STATE(5941)] = 246650,
  [SMALL_STATE(5942)] = 246672,
  [SMALL_STATE(5943)] = 246692,
  [SMALL_STATE(5944)] = 246714,
  [SMALL_STATE(5945)] = 246752,
  [SMALL_STATE(5946)] = 246774,
  [SMALL_STATE(5947)] = 246812,
  [SMALL_STATE(5948)] = 246838,
  [SMALL_STATE(5949)] = 246862,
  [SMALL_STATE(5950)] = 246884,
  [SMALL_STATE(5951)] = 246904,
  [SMALL_STATE(5952)] = 246924,
  [SMALL_STATE(5953)] = 246950,
  [SMALL_STATE(5954)] = 246988,
  [SMALL_STATE(5955)] = 247008,
  [SMALL_STATE(5956)] = 247046,
  [SMALL_STATE(5957)] = 247084,
  [SMALL_STATE(5958)] = 247106,
  [SMALL_STATE(5959)] = 247130,
  [SMALL_STATE(5960)] = 247152,
  [SMALL_STATE(5961)] = 247190,
  [SMALL_STATE(5962)] = 247210,
  [SMALL_STATE(5963)] = 247238,
  [SMALL_STATE(5964)] = 247276,
  [SMALL_STATE(5965)] = 247314,
  [SMALL_STATE(5966)] = 247334,
  [SMALL_STATE(5967)] = 247354,
  [SMALL_STATE(5968)] = 247374,
  [SMALL_STATE(5969)] = 247394,
  [SMALL_STATE(5970)] = 247432,
  [SMALL_STATE(5971)] = 247452,
  [SMALL_STATE(5972)] = 247472,
  [SMALL_STATE(5973)] = 247500,
  [SMALL_STATE(5974)] = 247520,
  [SMALL_STATE(5975)] = 247540,
  [SMALL_STATE(5976)] = 247560,
  [SMALL_STATE(5977)] = 247580,
  [SMALL_STATE(5978)] = 247600,
  [SMALL_STATE(5979)] = 247620,
  [SMALL_STATE(5980)] = 247640,
  [SMALL_STATE(5981)] = 247664,
  [SMALL_STATE(5982)] = 247686,
  [SMALL_STATE(5983)] = 247706,
  [SMALL_STATE(5984)] = 247734,
  [SMALL_STATE(5985)] = 247754,
  [SMALL_STATE(5986)] = 247774,
  [SMALL_STATE(5987)] = 247796,
  [SMALL_STATE(5988)] = 247818,
  [SMALL_STATE(5989)] = 247838,
  [SMALL_STATE(5990)] = 247860,
  [SMALL_STATE(5991)] = 247886,
  [SMALL_STATE(5992)] = 247906,
  [SMALL_STATE(5993)] = 247926,
  [SMALL_STATE(5994)] = 247946,
  [SMALL_STATE(5995)] = 247966,
  [SMALL_STATE(5996)] = 247986,
  [SMALL_STATE(5997)] = 248006,
  [SMALL_STATE(5998)] = 248028,
  [SMALL_STATE(5999)] = 248050,
  [SMALL_STATE(6000)] = 248070,
  [SMALL_STATE(6001)] = 248090,
  [SMALL_STATE(6002)] = 248110,
  [SMALL_STATE(6003)] = 248132,
  [SMALL_STATE(6004)] = 248154,
  [SMALL_STATE(6005)] = 248178,
  [SMALL_STATE(6006)] = 248204,
  [SMALL_STATE(6007)] = 248224,
  [SMALL_STATE(6008)] = 248250,
  [SMALL_STATE(6009)] = 248270,
  [SMALL_STATE(6010)] = 248290,
  [SMALL_STATE(6011)] = 248310,
  [SMALL_STATE(6012)] = 248330,
  [SMALL_STATE(6013)] = 248350,
  [SMALL_STATE(6014)] = 248378,
  [SMALL_STATE(6015)] = 248398,
  [SMALL_STATE(6016)] = 248418,
  [SMALL_STATE(6017)] = 248438,
  [SMALL_STATE(6018)] = 248458,
  [SMALL_STATE(6019)] = 248478,
  [SMALL_STATE(6020)] = 248498,
  [SMALL_STATE(6021)] = 248522,
  [SMALL_STATE(6022)] = 248542,
  [SMALL_STATE(6023)] = 248568,
  [SMALL_STATE(6024)] = 248588,
  [SMALL_STATE(6025)] = 248608,
  [SMALL_STATE(6026)] = 248628,
  [SMALL_STATE(6027)] = 248667,
  [SMALL_STATE(6028)] = 248706,
  [SMALL_STATE(6029)] = 248725,
  [SMALL_STATE(6030)] = 248744,
  [SMALL_STATE(6031)] = 248763,
  [SMALL_STATE(6032)] = 248796,
  [SMALL_STATE(6033)] = 248815,
  [SMALL_STATE(6034)] = 248834,
  [SMALL_STATE(6035)] = 248859,
  [SMALL_STATE(6036)] = 248878,
  [SMALL_STATE(6037)] = 248917,
  [SMALL_STATE(6038)] = 248956,
  [SMALL_STATE(6039)] = 248989,
  [SMALL_STATE(6040)] = 249008,
  [SMALL_STATE(6041)] = 249029,
  [SMALL_STATE(6042)] = 249048,
  [SMALL_STATE(6043)] = 249067,
  [SMALL_STATE(6044)] = 249100,
  [SMALL_STATE(6045)] = 249119,
  [SMALL_STATE(6046)] = 249158,
  [SMALL_STATE(6047)] = 249177,
  [SMALL_STATE(6048)] = 249196,
  [SMALL_STATE(6049)] = 249215,
  [SMALL_STATE(6050)] = 249238,
  [SMALL_STATE(6051)] = 249257,
  [SMALL_STATE(6052)] = 249276,
  [SMALL_STATE(6053)] = 249309,
  [SMALL_STATE(6054)] = 249330,
  [SMALL_STATE(6055)] = 249349,
  [SMALL_STATE(6056)] = 249368,
  [SMALL_STATE(6057)] = 249387,
  [SMALL_STATE(6058)] = 249426,
  [SMALL_STATE(6059)] = 249445,
  [SMALL_STATE(6060)] = 249464,
  [SMALL_STATE(6061)] = 249483,
  [SMALL_STATE(6062)] = 249506,
  [SMALL_STATE(6063)] = 249525,
  [SMALL_STATE(6064)] = 249564,
  [SMALL_STATE(6065)] = 249587,
  [SMALL_STATE(6066)] = 249606,
  [SMALL_STATE(6067)] = 249645,
  [SMALL_STATE(6068)] = 249664,
  [SMALL_STATE(6069)] = 249687,
  [SMALL_STATE(6070)] = 249706,
  [SMALL_STATE(6071)] = 249725,
  [SMALL_STATE(6072)] = 249744,
  [SMALL_STATE(6073)] = 249783,
  [SMALL_STATE(6074)] = 249822,
  [SMALL_STATE(6075)] = 249857,
  [SMALL_STATE(6076)] = 249876,
  [SMALL_STATE(6077)] = 249915,
  [SMALL_STATE(6078)] = 249934,
  [SMALL_STATE(6079)] = 249957,
  [SMALL_STATE(6080)] = 249990,
  [SMALL_STATE(6081)] = 250029,
  [SMALL_STATE(6082)] = 250052,
  [SMALL_STATE(6083)] = 250091,
  [SMALL_STATE(6084)] = 250112,
  [SMALL_STATE(6085)] = 250135,
  [SMALL_STATE(6086)] = 250174,
  [SMALL_STATE(6087)] = 250207,
  [SMALL_STATE(6088)] = 250246,
  [SMALL_STATE(6089)] = 250279,
  [SMALL_STATE(6090)] = 250312,
  [SMALL_STATE(6091)] = 250331,
  [SMALL_STATE(6092)] = 250354,
  [SMALL_STATE(6093)] = 250393,
  [SMALL_STATE(6094)] = 250412,
  [SMALL_STATE(6095)] = 250433,
  [SMALL_STATE(6096)] = 250466,
  [SMALL_STATE(6097)] = 250505,
  [SMALL_STATE(6098)] = 250530,
  [SMALL_STATE(6099)] = 250553,
  [SMALL_STATE(6100)] = 250578,
  [SMALL_STATE(6101)] = 250603,
  [SMALL_STATE(6102)] = 250622,
  [SMALL_STATE(6103)] = 250643,
  [SMALL_STATE(6104)] = 250676,
  [SMALL_STATE(6105)] = 250715,
  [SMALL_STATE(6106)] = 250738,
  [SMALL_STATE(6107)] = 250757,
  [SMALL_STATE(6108)] = 250790,
  [SMALL_STATE(6109)] = 250829,
  [SMALL_STATE(6110)] = 250848,
  [SMALL_STATE(6111)] = 250867,
  [SMALL_STATE(6112)] = 250900,
  [SMALL_STATE(6113)] = 250933,
  [SMALL_STATE(6114)] = 250972,
  [SMALL_STATE(6115)] = 251009,
  [SMALL_STATE(6116)] = 251028,
  [SMALL_STATE(6117)] = 251067,
  [SMALL_STATE(6118)] = 251100,
  [SMALL_STATE(6119)] = 251119,
  [SMALL_STATE(6120)] = 251158,
  [SMALL_STATE(6121)] = 251197,
  [SMALL_STATE(6122)] = 251229,
  [SMALL_STATE(6123)] = 251253,
  [SMALL_STATE(6124)] = 251275,
  [SMALL_STATE(6125)] = 251297,
  [SMALL_STATE(6126)] = 251333,
  [SMALL_STATE(6127)] = 251369,
  [SMALL_STATE(6128)] = 251405,
  [SMALL_STATE(6129)] = 251429,
  [SMALL_STATE(6130)] = 251453,
  [SMALL_STATE(6131)] = 251485,
  [SMALL_STATE(6132)] = 251509,
  [SMALL_STATE(6133)] = 251533,
  [SMALL_STATE(6134)] = 251557,
  [SMALL_STATE(6135)] = 251587,
  [SMALL_STATE(6136)] = 251623,
  [SMALL_STATE(6137)] = 251647,
  [SMALL_STATE(6138)] = 251671,
  [SMALL_STATE(6139)] = 251707,
  [SMALL_STATE(6140)] = 251731,
  [SMALL_STATE(6141)] = 251755,
  [SMALL_STATE(6142)] = 251773,
  [SMALL_STATE(6143)] = 251797,
  [SMALL_STATE(6144)] = 251833,
  [SMALL_STATE(6145)] = 251855,
  [SMALL_STATE(6146)] = 251879,
  [SMALL_STATE(6147)] = 251903,
  [SMALL_STATE(6148)] = 251927,
  [SMALL_STATE(6149)] = 251945,
  [SMALL_STATE(6150)] = 251975,
  [SMALL_STATE(6151)] = 252011,
  [SMALL_STATE(6152)] = 252029,
  [SMALL_STATE(6153)] = 252065,
  [SMALL_STATE(6154)] = 252097,
  [SMALL_STATE(6155)] = 252121,
  [SMALL_STATE(6156)] = 252145,
  [SMALL_STATE(6157)] = 252177,
  [SMALL_STATE(6158)] = 252201,
  [SMALL_STATE(6159)] = 252225,
  [SMALL_STATE(6160)] = 252261,
  [SMALL_STATE(6161)] = 252279,
  [SMALL_STATE(6162)] = 252297,
  [SMALL_STATE(6163)] = 252329,
  [SMALL_STATE(6164)] = 252347,
  [SMALL_STATE(6165)] = 252371,
  [SMALL_STATE(6166)] = 252393,
  [SMALL_STATE(6167)] = 252429,
  [SMALL_STATE(6168)] = 252451,
  [SMALL_STATE(6169)] = 252469,
  [SMALL_STATE(6170)] = 252493,
  [SMALL_STATE(6171)] = 252525,
  [SMALL_STATE(6172)] = 252543,
  [SMALL_STATE(6173)] = 252561,
  [SMALL_STATE(6174)] = 252597,
  [SMALL_STATE(6175)] = 252633,
  [SMALL_STATE(6176)] = 252669,
  [SMALL_STATE(6177)] = 252693,
  [SMALL_STATE(6178)] = 252713,
  [SMALL_STATE(6179)] = 252739,
  [SMALL_STATE(6180)] = 252757,
  [SMALL_STATE(6181)] = 252793,
  [SMALL_STATE(6182)] = 252829,
  [SMALL_STATE(6183)] = 252865,
  [SMALL_STATE(6184)] = 252897,
  [SMALL_STATE(6185)] = 252929,
  [SMALL_STATE(6186)] = 252965,
  [SMALL_STATE(6187)] = 252997,
  [SMALL_STATE(6188)] = 253015,
  [SMALL_STATE(6189)] = 253039,
  [SMALL_STATE(6190)] = 253071,
  [SMALL_STATE(6191)] = 253095,
  [SMALL_STATE(6192)] = 253127,
  [SMALL_STATE(6193)] = 253145,
  [SMALL_STATE(6194)] = 253177,
  [SMALL_STATE(6195)] = 253195,
  [SMALL_STATE(6196)] = 253219,
  [SMALL_STATE(6197)] = 253241,
  [SMALL_STATE(6198)] = 253259,
  [SMALL_STATE(6199)] = 253277,
  [SMALL_STATE(6200)] = 253295,
  [SMALL_STATE(6201)] = 253331,
  [SMALL_STATE(6202)] = 253355,
  [SMALL_STATE(6203)] = 253391,
  [SMALL_STATE(6204)] = 253415,
  [SMALL_STATE(6205)] = 253433,
  [SMALL_STATE(6206)] = 253451,
  [SMALL_STATE(6207)] = 253469,
  [SMALL_STATE(6208)] = 253487,
  [SMALL_STATE(6209)] = 253511,
  [SMALL_STATE(6210)] = 253547,
  [SMALL_STATE(6211)] = 253571,
  [SMALL_STATE(6212)] = 253595,
  [SMALL_STATE(6213)] = 253619,
  [SMALL_STATE(6214)] = 253651,
  [SMALL_STATE(6215)] = 253669,
  [SMALL_STATE(6216)] = 253693,
  [SMALL_STATE(6217)] = 253729,
  [SMALL_STATE(6218)] = 253753,
  [SMALL_STATE(6219)] = 253777,
  [SMALL_STATE(6220)] = 253801,
  [SMALL_STATE(6221)] = 253825,
  [SMALL_STATE(6222)] = 253849,
  [SMALL_STATE(6223)] = 253881,
  [SMALL_STATE(6224)] = 253905,
  [SMALL_STATE(6225)] = 253923,
  [SMALL_STATE(6226)] = 253941,
  [SMALL_STATE(6227)] = 253960,
  [SMALL_STATE(6228)] = 253979,
  [SMALL_STATE(6229)] = 253996,
  [SMALL_STATE(6230)] = 254013,
  [SMALL_STATE(6231)] = 254030,
  [SMALL_STATE(6232)] = 254047,
  [SMALL_STATE(6233)] = 254066,
  [SMALL_STATE(6234)] = 254083,
  [SMALL_STATE(6235)] = 254116,
  [SMALL_STATE(6236)] = 254135,
  [SMALL_STATE(6237)] = 254152,
  [SMALL_STATE(6238)] = 254169,
  [SMALL_STATE(6239)] = 254202,
  [SMALL_STATE(6240)] = 254219,
  [SMALL_STATE(6241)] = 254236,
  [SMALL_STATE(6242)] = 254253,
  [SMALL_STATE(6243)] = 254272,
  [SMALL_STATE(6244)] = 254289,
  [SMALL_STATE(6245)] = 254306,
  [SMALL_STATE(6246)] = 254323,
  [SMALL_STATE(6247)] = 254340,
  [SMALL_STATE(6248)] = 254373,
  [SMALL_STATE(6249)] = 254406,
  [SMALL_STATE(6250)] = 254425,
  [SMALL_STATE(6251)] = 254448,
  [SMALL_STATE(6252)] = 254481,
  [SMALL_STATE(6253)] = 254498,
  [SMALL_STATE(6254)] = 254515,
  [SMALL_STATE(6255)] = 254532,
  [SMALL_STATE(6256)] = 254549,
  [SMALL_STATE(6257)] = 254582,
  [SMALL_STATE(6258)] = 254599,
  [SMALL_STATE(6259)] = 254616,
  [SMALL_STATE(6260)] = 254633,
  [SMALL_STATE(6261)] = 254650,
  [SMALL_STATE(6262)] = 254683,
  [SMALL_STATE(6263)] = 254700,
  [SMALL_STATE(6264)] = 254721,
  [SMALL_STATE(6265)] = 254738,
  [SMALL_STATE(6266)] = 254759,
  [SMALL_STATE(6267)] = 254776,
  [SMALL_STATE(6268)] = 254799,
  [SMALL_STATE(6269)] = 254820,
  [SMALL_STATE(6270)] = 254837,
  [SMALL_STATE(6271)] = 254870,
  [SMALL_STATE(6272)] = 254893,
  [SMALL_STATE(6273)] = 254910,
  [SMALL_STATE(6274)] = 254927,
  [SMALL_STATE(6275)] = 254944,
  [SMALL_STATE(6276)] = 254977,
  [SMALL_STATE(6277)] = 254994,
  [SMALL_STATE(6278)] = 255027,
  [SMALL_STATE(6279)] = 255044,
  [SMALL_STATE(6280)] = 255077,
  [SMALL_STATE(6281)] = 255105,
  [SMALL_STATE(6282)] = 255121,
  [SMALL_STATE(6283)] = 255149,
  [SMALL_STATE(6284)] = 255175,
  [SMALL_STATE(6285)] = 255201,
  [SMALL_STATE(6286)] = 255227,
  [SMALL_STATE(6287)] = 255253,
  [SMALL_STATE(6288)] = 255279,
  [SMALL_STATE(6289)] = 255305,
  [SMALL_STATE(6290)] = 255331,
  [SMALL_STATE(6291)] = 255357,
  [SMALL_STATE(6292)] = 255383,
  [SMALL_STATE(6293)] = 255413,
  [SMALL_STATE(6294)] = 255439,
  [SMALL_STATE(6295)] = 255465,
  [SMALL_STATE(6296)] = 255491,
  [SMALL_STATE(6297)] = 255513,
  [SMALL_STATE(6298)] = 255529,
  [SMALL_STATE(6299)] = 255555,
  [SMALL_STATE(6300)] = 255575,
  [SMALL_STATE(6301)] = 255591,
  [SMALL_STATE(6302)] = 255611,
  [SMALL_STATE(6303)] = 255637,
  [SMALL_STATE(6304)] = 255653,
  [SMALL_STATE(6305)] = 255673,
  [SMALL_STATE(6306)] = 255697,
  [SMALL_STATE(6307)] = 255725,
  [SMALL_STATE(6308)] = 255741,
  [SMALL_STATE(6309)] = 255767,
  [SMALL_STATE(6310)] = 255797,
  [SMALL_STATE(6311)] = 255817,
  [SMALL_STATE(6312)] = 255843,
  [SMALL_STATE(6313)] = 255859,
  [SMALL_STATE(6314)] = 255877,
  [SMALL_STATE(6315)] = 255903,
  [SMALL_STATE(6316)] = 255931,
  [SMALL_STATE(6317)] = 255951,
  [SMALL_STATE(6318)] = 255967,
  [SMALL_STATE(6319)] = 255983,
  [SMALL_STATE(6320)] = 256007,
  [SMALL_STATE(6321)] = 256035,
  [SMALL_STATE(6322)] = 256061,
  [SMALL_STATE(6323)] = 256077,
  [SMALL_STATE(6324)] = 256095,
  [SMALL_STATE(6325)] = 256121,
  [SMALL_STATE(6326)] = 256141,
  [SMALL_STATE(6327)] = 256157,
  [SMALL_STATE(6328)] = 256177,
  [SMALL_STATE(6329)] = 256203,
  [SMALL_STATE(6330)] = 256219,
  [SMALL_STATE(6331)] = 256245,
  [SMALL_STATE(6332)] = 256261,
  [SMALL_STATE(6333)] = 256289,
  [SMALL_STATE(6334)] = 256305,
  [SMALL_STATE(6335)] = 256335,
  [SMALL_STATE(6336)] = 256363,
  [SMALL_STATE(6337)] = 256379,
  [SMALL_STATE(6338)] = 256405,
  [SMALL_STATE(6339)] = 256427,
  [SMALL_STATE(6340)] = 256453,
  [SMALL_STATE(6341)] = 256479,
  [SMALL_STATE(6342)] = 256507,
  [SMALL_STATE(6343)] = 256523,
  [SMALL_STATE(6344)] = 256543,
  [SMALL_STATE(6345)] = 256571,
  [SMALL_STATE(6346)] = 256587,
  [SMALL_STATE(6347)] = 256603,
  [SMALL_STATE(6348)] = 256623,
  [SMALL_STATE(6349)] = 256649,
  [SMALL_STATE(6350)] = 256675,
  [SMALL_STATE(6351)] = 256695,
  [SMALL_STATE(6352)] = 256721,
  [SMALL_STATE(6353)] = 256747,
  [SMALL_STATE(6354)] = 256773,
  [SMALL_STATE(6355)] = 256789,
  [SMALL_STATE(6356)] = 256807,
  [SMALL_STATE(6357)] = 256825,
  [SMALL_STATE(6358)] = 256852,
  [SMALL_STATE(6359)] = 256877,
  [SMALL_STATE(6360)] = 256896,
  [SMALL_STATE(6361)] = 256923,
  [SMALL_STATE(6362)] = 256938,
  [SMALL_STATE(6363)] = 256955,
  [SMALL_STATE(6364)] = 256980,
  [SMALL_STATE(6365)] = 256997,
  [SMALL_STATE(6366)] = 257016,
  [SMALL_STATE(6367)] = 257041,
  [SMALL_STATE(6368)] = 257060,
  [SMALL_STATE(6369)] = 257087,
  [SMALL_STATE(6370)] = 257112,
  [SMALL_STATE(6371)] = 257137,
  [SMALL_STATE(6372)] = 257154,
  [SMALL_STATE(6373)] = 257177,
  [SMALL_STATE(6374)] = 257192,
  [SMALL_STATE(6375)] = 257219,
  [SMALL_STATE(6376)] = 257248,
  [SMALL_STATE(6377)] = 257265,
  [SMALL_STATE(6378)] = 257284,
  [SMALL_STATE(6379)] = 257307,
  [SMALL_STATE(6380)] = 257324,
  [SMALL_STATE(6381)] = 257341,
  [SMALL_STATE(6382)] = 257364,
  [SMALL_STATE(6383)] = 257391,
  [SMALL_STATE(6384)] = 257416,
  [SMALL_STATE(6385)] = 257441,
  [SMALL_STATE(6386)] = 257466,
  [SMALL_STATE(6387)] = 257493,
  [SMALL_STATE(6388)] = 257510,
  [SMALL_STATE(6389)] = 257527,
  [SMALL_STATE(6390)] = 257552,
  [SMALL_STATE(6391)] = 257569,
  [SMALL_STATE(6392)] = 257596,
  [SMALL_STATE(6393)] = 257623,
  [SMALL_STATE(6394)] = 257642,
  [SMALL_STATE(6395)] = 257667,
  [SMALL_STATE(6396)] = 257686,
  [SMALL_STATE(6397)] = 257703,
  [SMALL_STATE(6398)] = 257730,
  [SMALL_STATE(6399)] = 257747,
  [SMALL_STATE(6400)] = 257766,
  [SMALL_STATE(6401)] = 257785,
  [SMALL_STATE(6402)] = 257802,
  [SMALL_STATE(6403)] = 257821,
  [SMALL_STATE(6404)] = 257838,
  [SMALL_STATE(6405)] = 257857,
  [SMALL_STATE(6406)] = 257882,
  [SMALL_STATE(6407)] = 257909,
  [SMALL_STATE(6408)] = 257930,
  [SMALL_STATE(6409)] = 257951,
  [SMALL_STATE(6410)] = 257968,
  [SMALL_STATE(6411)] = 257997,
  [SMALL_STATE(6412)] = 258018,
  [SMALL_STATE(6413)] = 258039,
  [SMALL_STATE(6414)] = 258064,
  [SMALL_STATE(6415)] = 258081,
  [SMALL_STATE(6416)] = 258106,
  [SMALL_STATE(6417)] = 258135,
  [SMALL_STATE(6418)] = 258152,
  [SMALL_STATE(6419)] = 258169,
  [SMALL_STATE(6420)] = 258188,
  [SMALL_STATE(6421)] = 258205,
  [SMALL_STATE(6422)] = 258222,
  [SMALL_STATE(6423)] = 258239,
  [SMALL_STATE(6424)] = 258258,
  [SMALL_STATE(6425)] = 258287,
  [SMALL_STATE(6426)] = 258312,
  [SMALL_STATE(6427)] = 258335,
  [SMALL_STATE(6428)] = 258360,
  [SMALL_STATE(6429)] = 258387,
  [SMALL_STATE(6430)] = 258402,
  [SMALL_STATE(6431)] = 258421,
  [SMALL_STATE(6432)] = 258448,
  [SMALL_STATE(6433)] = 258465,
  [SMALL_STATE(6434)] = 258482,
  [SMALL_STATE(6435)] = 258505,
  [SMALL_STATE(6436)] = 258524,
  [SMALL_STATE(6437)] = 258551,
  [SMALL_STATE(6438)] = 258578,
  [SMALL_STATE(6439)] = 258597,
  [SMALL_STATE(6440)] = 258614,
  [SMALL_STATE(6441)] = 258641,
  [SMALL_STATE(6442)] = 258666,
  [SMALL_STATE(6443)] = 258683,
  [SMALL_STATE(6444)] = 258712,
  [SMALL_STATE(6445)] = 258729,
  [SMALL_STATE(6446)] = 258758,
  [SMALL_STATE(6447)] = 258775,
  [SMALL_STATE(6448)] = 258798,
  [SMALL_STATE(6449)] = 258823,
  [SMALL_STATE(6450)] = 258840,
  [SMALL_STATE(6451)] = 258869,
  [SMALL_STATE(6452)] = 258896,
  [SMALL_STATE(6453)] = 258913,
  [SMALL_STATE(6454)] = 258928,
  [SMALL_STATE(6455)] = 258945,
  [SMALL_STATE(6456)] = 258972,
  [SMALL_STATE(6457)] = 259001,
  [SMALL_STATE(6458)] = 259026,
  [SMALL_STATE(6459)] = 259045,
  [SMALL_STATE(6460)] = 259062,
  [SMALL_STATE(6461)] = 259089,
  [SMALL_STATE(6462)] = 259118,
  [SMALL_STATE(6463)] = 259147,
  [SMALL_STATE(6464)] = 259174,
  [SMALL_STATE(6465)] = 259191,
  [SMALL_STATE(6466)] = 259218,
  [SMALL_STATE(6467)] = 259243,
  [SMALL_STATE(6468)] = 259260,
  [SMALL_STATE(6469)] = 259287,
  [SMALL_STATE(6470)] = 259314,
  [SMALL_STATE(6471)] = 259339,
  [SMALL_STATE(6472)] = 259368,
  [SMALL_STATE(6473)] = 259387,
  [SMALL_STATE(6474)] = 259416,
  [SMALL_STATE(6475)] = 259435,
  [SMALL_STATE(6476)] = 259452,
  [SMALL_STATE(6477)] = 259477,
  [SMALL_STATE(6478)] = 259494,
  [SMALL_STATE(6479)] = 259515,
  [SMALL_STATE(6480)] = 259532,
  [SMALL_STATE(6481)] = 259557,
  [SMALL_STATE(6482)] = 259584,
  [SMALL_STATE(6483)] = 259609,
  [SMALL_STATE(6484)] = 259626,
  [SMALL_STATE(6485)] = 259651,
  [SMALL_STATE(6486)] = 259672,
  [SMALL_STATE(6487)] = 259689,
  [SMALL_STATE(6488)] = 259704,
  [SMALL_STATE(6489)] = 259729,
  [SMALL_STATE(6490)] = 259744,
  [SMALL_STATE(6491)] = 259761,
  [SMALL_STATE(6492)] = 259786,
  [SMALL_STATE(6493)] = 259803,
  [SMALL_STATE(6494)] = 259828,
  [SMALL_STATE(6495)] = 259855,
  [SMALL_STATE(6496)] = 259870,
  [SMALL_STATE(6497)] = 259897,
  [SMALL_STATE(6498)] = 259922,
  [SMALL_STATE(6499)] = 259939,
  [SMALL_STATE(6500)] = 259956,
  [SMALL_STATE(6501)] = 259973,
  [SMALL_STATE(6502)] = 259988,
  [SMALL_STATE(6503)] = 260011,
  [SMALL_STATE(6504)] = 260028,
  [SMALL_STATE(6505)] = 260051,
  [SMALL_STATE(6506)] = 260068,
  [SMALL_STATE(6507)] = 260085,
  [SMALL_STATE(6508)] = 260102,
  [SMALL_STATE(6509)] = 260116,
  [SMALL_STATE(6510)] = 260142,
  [SMALL_STATE(6511)] = 260162,
  [SMALL_STATE(6512)] = 260180,
  [SMALL_STATE(6513)] = 260194,
  [SMALL_STATE(6514)] = 260216,
  [SMALL_STATE(6515)] = 260236,
  [SMALL_STATE(6516)] = 260256,
  [SMALL_STATE(6517)] = 260282,
  [SMALL_STATE(6518)] = 260302,
  [SMALL_STATE(6519)] = 260322,
  [SMALL_STATE(6520)] = 260342,
  [SMALL_STATE(6521)] = 260362,
  [SMALL_STATE(6522)] = 260388,
  [SMALL_STATE(6523)] = 260402,
  [SMALL_STATE(6524)] = 260422,
  [SMALL_STATE(6525)] = 260442,
  [SMALL_STATE(6526)] = 260462,
  [SMALL_STATE(6527)] = 260482,
  [SMALL_STATE(6528)] = 260496,
  [SMALL_STATE(6529)] = 260516,
  [SMALL_STATE(6530)] = 260530,
  [SMALL_STATE(6531)] = 260550,
  [SMALL_STATE(6532)] = 260570,
  [SMALL_STATE(6533)] = 260584,
  [SMALL_STATE(6534)] = 260598,
  [SMALL_STATE(6535)] = 260616,
  [SMALL_STATE(6536)] = 260636,
  [SMALL_STATE(6537)] = 260650,
  [SMALL_STATE(6538)] = 260670,
  [SMALL_STATE(6539)] = 260690,
  [SMALL_STATE(6540)] = 260716,
  [SMALL_STATE(6541)] = 260736,
  [SMALL_STATE(6542)] = 260756,
  [SMALL_STATE(6543)] = 260776,
  [SMALL_STATE(6544)] = 260794,
  [SMALL_STATE(6545)] = 260814,
  [SMALL_STATE(6546)] = 260834,
  [SMALL_STATE(6547)] = 260852,
  [SMALL_STATE(6548)] = 260872,
  [SMALL_STATE(6549)] = 260886,
  [SMALL_STATE(6550)] = 260906,
  [SMALL_STATE(6551)] = 260920,
  [SMALL_STATE(6552)] = 260936,
  [SMALL_STATE(6553)] = 260956,
  [SMALL_STATE(6554)] = 260972,
  [SMALL_STATE(6555)] = 260990,
  [SMALL_STATE(6556)] = 261004,
  [SMALL_STATE(6557)] = 261018,
  [SMALL_STATE(6558)] = 261032,
  [SMALL_STATE(6559)] = 261046,
  [SMALL_STATE(6560)] = 261066,
  [SMALL_STATE(6561)] = 261086,
  [SMALL_STATE(6562)] = 261100,
  [SMALL_STATE(6563)] = 261114,
  [SMALL_STATE(6564)] = 261140,
  [SMALL_STATE(6565)] = 261160,
  [SMALL_STATE(6566)] = 261180,
  [SMALL_STATE(6567)] = 261206,
  [SMALL_STATE(6568)] = 261226,
  [SMALL_STATE(6569)] = 261252,
  [SMALL_STATE(6570)] = 261278,
  [SMALL_STATE(6571)] = 261292,
  [SMALL_STATE(6572)] = 261312,
  [SMALL_STATE(6573)] = 261332,
  [SMALL_STATE(6574)] = 261346,
  [SMALL_STATE(6575)] = 261364,
  [SMALL_STATE(6576)] = 261378,
  [SMALL_STATE(6577)] = 261392,
  [SMALL_STATE(6578)] = 261410,
  [SMALL_STATE(6579)] = 261430,
  [SMALL_STATE(6580)] = 261444,
  [SMALL_STATE(6581)] = 261470,
  [SMALL_STATE(6582)] = 261484,
  [SMALL_STATE(6583)] = 261498,
  [SMALL_STATE(6584)] = 261518,
  [SMALL_STATE(6585)] = 261544,
  [SMALL_STATE(6586)] = 261562,
  [SMALL_STATE(6587)] = 261588,
  [SMALL_STATE(6588)] = 261608,
  [SMALL_STATE(6589)] = 261628,
  [SMALL_STATE(6590)] = 261642,
  [SMALL_STATE(6591)] = 261662,
  [SMALL_STATE(6592)] = 261676,
  [SMALL_STATE(6593)] = 261696,
  [SMALL_STATE(6594)] = 261722,
  [SMALL_STATE(6595)] = 261736,
  [SMALL_STATE(6596)] = 261752,
  [SMALL_STATE(6597)] = 261766,
  [SMALL_STATE(6598)] = 261780,
  [SMALL_STATE(6599)] = 261794,
  [SMALL_STATE(6600)] = 261808,
  [SMALL_STATE(6601)] = 261822,
  [SMALL_STATE(6602)] = 261842,
  [SMALL_STATE(6603)] = 261858,
  [SMALL_STATE(6604)] = 261872,
  [SMALL_STATE(6605)] = 261892,
  [SMALL_STATE(6606)] = 261906,
  [SMALL_STATE(6607)] = 261920,
  [SMALL_STATE(6608)] = 261940,
  [SMALL_STATE(6609)] = 261966,
  [SMALL_STATE(6610)] = 261986,
  [SMALL_STATE(6611)] = 262006,
  [SMALL_STATE(6612)] = 262026,
  [SMALL_STATE(6613)] = 262046,
  [SMALL_STATE(6614)] = 262060,
  [SMALL_STATE(6615)] = 262078,
  [SMALL_STATE(6616)] = 262096,
  [SMALL_STATE(6617)] = 262116,
  [SMALL_STATE(6618)] = 262136,
  [SMALL_STATE(6619)] = 262150,
  [SMALL_STATE(6620)] = 262172,
  [SMALL_STATE(6621)] = 262188,
  [SMALL_STATE(6622)] = 262214,
  [SMALL_STATE(6623)] = 262228,
  [SMALL_STATE(6624)] = 262244,
  [SMALL_STATE(6625)] = 262270,
  [SMALL_STATE(6626)] = 262290,
  [SMALL_STATE(6627)] = 262304,
  [SMALL_STATE(6628)] = 262318,
  [SMALL_STATE(6629)] = 262338,
  [SMALL_STATE(6630)] = 262354,
  [SMALL_STATE(6631)] = 262368,
  [SMALL_STATE(6632)] = 262386,
  [SMALL_STATE(6633)] = 262400,
  [SMALL_STATE(6634)] = 262414,
  [SMALL_STATE(6635)] = 262428,
  [SMALL_STATE(6636)] = 262442,
  [SMALL_STATE(6637)] = 262468,
  [SMALL_STATE(6638)] = 262482,
  [SMALL_STATE(6639)] = 262502,
  [SMALL_STATE(6640)] = 262516,
  [SMALL_STATE(6641)] = 262536,
  [SMALL_STATE(6642)] = 262562,
  [SMALL_STATE(6643)] = 262588,
  [SMALL_STATE(6644)] = 262608,
  [SMALL_STATE(6645)] = 262626,
  [SMALL_STATE(6646)] = 262640,
  [SMALL_STATE(6647)] = 262659,
  [SMALL_STATE(6648)] = 262682,
  [SMALL_STATE(6649)] = 262699,
  [SMALL_STATE(6650)] = 262718,
  [SMALL_STATE(6651)] = 262737,
  [SMALL_STATE(6652)] = 262756,
  [SMALL_STATE(6653)] = 262773,
  [SMALL_STATE(6654)] = 262786,
  [SMALL_STATE(6655)] = 262803,
  [SMALL_STATE(6656)] = 262820,
  [SMALL_STATE(6657)] = 262841,
  [SMALL_STATE(6658)] = 262860,
  [SMALL_STATE(6659)] = 262873,
  [SMALL_STATE(6660)] = 262886,
  [SMALL_STATE(6661)] = 262903,
  [SMALL_STATE(6662)] = 262922,
  [SMALL_STATE(6663)] = 262939,
  [SMALL_STATE(6664)] = 262952,
  [SMALL_STATE(6665)] = 262969,
  [SMALL_STATE(6666)] = 262982,
  [SMALL_STATE(6667)] = 262999,
  [SMALL_STATE(6668)] = 263018,
  [SMALL_STATE(6669)] = 263037,
  [SMALL_STATE(6670)] = 263052,
  [SMALL_STATE(6671)] = 263069,
  [SMALL_STATE(6672)] = 263086,
  [SMALL_STATE(6673)] = 263103,
  [SMALL_STATE(6674)] = 263120,
  [SMALL_STATE(6675)] = 263133,
  [SMALL_STATE(6676)] = 263146,
  [SMALL_STATE(6677)] = 263165,
  [SMALL_STATE(6678)] = 263178,
  [SMALL_STATE(6679)] = 263191,
  [SMALL_STATE(6680)] = 263204,
  [SMALL_STATE(6681)] = 263217,
  [SMALL_STATE(6682)] = 263230,
  [SMALL_STATE(6683)] = 263243,
  [SMALL_STATE(6684)] = 263258,
  [SMALL_STATE(6685)] = 263275,
  [SMALL_STATE(6686)] = 263288,
  [SMALL_STATE(6687)] = 263307,
  [SMALL_STATE(6688)] = 263326,
  [SMALL_STATE(6689)] = 263339,
  [SMALL_STATE(6690)] = 263354,
  [SMALL_STATE(6691)] = 263373,
  [SMALL_STATE(6692)] = 263392,
  [SMALL_STATE(6693)] = 263411,
  [SMALL_STATE(6694)] = 263430,
  [SMALL_STATE(6695)] = 263445,
  [SMALL_STATE(6696)] = 263458,
  [SMALL_STATE(6697)] = 263471,
  [SMALL_STATE(6698)] = 263484,
  [SMALL_STATE(6699)] = 263503,
  [SMALL_STATE(6700)] = 263518,
  [SMALL_STATE(6701)] = 263537,
  [SMALL_STATE(6702)] = 263556,
  [SMALL_STATE(6703)] = 263569,
  [SMALL_STATE(6704)] = 263590,
  [SMALL_STATE(6705)] = 263603,
  [SMALL_STATE(6706)] = 263622,
  [SMALL_STATE(6707)] = 263641,
  [SMALL_STATE(6708)] = 263660,
  [SMALL_STATE(6709)] = 263673,
  [SMALL_STATE(6710)] = 263686,
  [SMALL_STATE(6711)] = 263705,
  [SMALL_STATE(6712)] = 263722,
  [SMALL_STATE(6713)] = 263741,
  [SMALL_STATE(6714)] = 263758,
  [SMALL_STATE(6715)] = 263775,
  [SMALL_STATE(6716)] = 263794,
  [SMALL_STATE(6717)] = 263813,
  [SMALL_STATE(6718)] = 263832,
  [SMALL_STATE(6719)] = 263851,
  [SMALL_STATE(6720)] = 263874,
  [SMALL_STATE(6721)] = 263887,
  [SMALL_STATE(6722)] = 263900,
  [SMALL_STATE(6723)] = 263913,
  [SMALL_STATE(6724)] = 263930,
  [SMALL_STATE(6725)] = 263943,
  [SMALL_STATE(6726)] = 263962,
  [SMALL_STATE(6727)] = 263981,
  [SMALL_STATE(6728)] = 264000,
  [SMALL_STATE(6729)] = 264021,
  [SMALL_STATE(6730)] = 264034,
  [SMALL_STATE(6731)] = 264049,
  [SMALL_STATE(6732)] = 264068,
  [SMALL_STATE(6733)] = 264085,
  [SMALL_STATE(6734)] = 264098,
  [SMALL_STATE(6735)] = 264111,
  [SMALL_STATE(6736)] = 264128,
  [SMALL_STATE(6737)] = 264147,
  [SMALL_STATE(6738)] = 264166,
  [SMALL_STATE(6739)] = 264183,
  [SMALL_STATE(6740)] = 264202,
  [SMALL_STATE(6741)] = 264219,
  [SMALL_STATE(6742)] = 264238,
  [SMALL_STATE(6743)] = 264257,
  [SMALL_STATE(6744)] = 264274,
  [SMALL_STATE(6745)] = 264293,
  [SMALL_STATE(6746)] = 264312,
  [SMALL_STATE(6747)] = 264331,
  [SMALL_STATE(6748)] = 264350,
  [SMALL_STATE(6749)] = 264367,
  [SMALL_STATE(6750)] = 264386,
  [SMALL_STATE(6751)] = 264405,
  [SMALL_STATE(6752)] = 264418,
  [SMALL_STATE(6753)] = 264431,
  [SMALL_STATE(6754)] = 264450,
  [SMALL_STATE(6755)] = 264469,
  [SMALL_STATE(6756)] = 264488,
  [SMALL_STATE(6757)] = 264507,
  [SMALL_STATE(6758)] = 264522,
  [SMALL_STATE(6759)] = 264541,
  [SMALL_STATE(6760)] = 264554,
  [SMALL_STATE(6761)] = 264573,
  [SMALL_STATE(6762)] = 264586,
  [SMALL_STATE(6763)] = 264603,
  [SMALL_STATE(6764)] = 264624,
  [SMALL_STATE(6765)] = 264637,
  [SMALL_STATE(6766)] = 264650,
  [SMALL_STATE(6767)] = 264669,
  [SMALL_STATE(6768)] = 264682,
  [SMALL_STATE(6769)] = 264701,
  [SMALL_STATE(6770)] = 264720,
  [SMALL_STATE(6771)] = 264739,
  [SMALL_STATE(6772)] = 264752,
  [SMALL_STATE(6773)] = 264765,
  [SMALL_STATE(6774)] = 264778,
  [SMALL_STATE(6775)] = 264795,
  [SMALL_STATE(6776)] = 264814,
  [SMALL_STATE(6777)] = 264827,
  [SMALL_STATE(6778)] = 264840,
  [SMALL_STATE(6779)] = 264857,
  [SMALL_STATE(6780)] = 264876,
  [SMALL_STATE(6781)] = 264893,
  [SMALL_STATE(6782)] = 264912,
  [SMALL_STATE(6783)] = 264925,
  [SMALL_STATE(6784)] = 264944,
  [SMALL_STATE(6785)] = 264957,
  [SMALL_STATE(6786)] = 264970,
  [SMALL_STATE(6787)] = 264989,
  [SMALL_STATE(6788)] = 265008,
  [SMALL_STATE(6789)] = 265031,
  [SMALL_STATE(6790)] = 265048,
  [SMALL_STATE(6791)] = 265067,
  [SMALL_STATE(6792)] = 265080,
  [SMALL_STATE(6793)] = 265099,
  [SMALL_STATE(6794)] = 265116,
  [SMALL_STATE(6795)] = 265139,
  [SMALL_STATE(6796)] = 265152,
  [SMALL_STATE(6797)] = 265171,
  [SMALL_STATE(6798)] = 265190,
  [SMALL_STATE(6799)] = 265203,
  [SMALL_STATE(6800)] = 265220,
  [SMALL_STATE(6801)] = 265239,
  [SMALL_STATE(6802)] = 265252,
  [SMALL_STATE(6803)] = 265273,
  [SMALL_STATE(6804)] = 265292,
  [SMALL_STATE(6805)] = 265309,
  [SMALL_STATE(6806)] = 265322,
  [SMALL_STATE(6807)] = 265341,
  [SMALL_STATE(6808)] = 265356,
  [SMALL_STATE(6809)] = 265373,
  [SMALL_STATE(6810)] = 265392,
  [SMALL_STATE(6811)] = 265409,
  [SMALL_STATE(6812)] = 265422,
  [SMALL_STATE(6813)] = 265435,
  [SMALL_STATE(6814)] = 265448,
  [SMALL_STATE(6815)] = 265463,
  [SMALL_STATE(6816)] = 265482,
  [SMALL_STATE(6817)] = 265501,
  [SMALL_STATE(6818)] = 265520,
  [SMALL_STATE(6819)] = 265533,
  [SMALL_STATE(6820)] = 265552,
  [SMALL_STATE(6821)] = 265565,
  [SMALL_STATE(6822)] = 265583,
  [SMALL_STATE(6823)] = 265595,
  [SMALL_STATE(6824)] = 265607,
  [SMALL_STATE(6825)] = 265619,
  [SMALL_STATE(6826)] = 265635,
  [SMALL_STATE(6827)] = 265651,
  [SMALL_STATE(6828)] = 265671,
  [SMALL_STATE(6829)] = 265687,
  [SMALL_STATE(6830)] = 265707,
  [SMALL_STATE(6831)] = 265727,
  [SMALL_STATE(6832)] = 265739,
  [SMALL_STATE(6833)] = 265759,
  [SMALL_STATE(6834)] = 265775,
  [SMALL_STATE(6835)] = 265791,
  [SMALL_STATE(6836)] = 265809,
  [SMALL_STATE(6837)] = 265825,
  [SMALL_STATE(6838)] = 265841,
  [SMALL_STATE(6839)] = 265857,
  [SMALL_STATE(6840)] = 265877,
  [SMALL_STATE(6841)] = 265893,
  [SMALL_STATE(6842)] = 265905,
  [SMALL_STATE(6843)] = 265921,
  [SMALL_STATE(6844)] = 265937,
  [SMALL_STATE(6845)] = 265953,
  [SMALL_STATE(6846)] = 265969,
  [SMALL_STATE(6847)] = 265985,
  [SMALL_STATE(6848)] = 266003,
  [SMALL_STATE(6849)] = 266019,
  [SMALL_STATE(6850)] = 266035,
  [SMALL_STATE(6851)] = 266051,
  [SMALL_STATE(6852)] = 266067,
  [SMALL_STATE(6853)] = 266083,
  [SMALL_STATE(6854)] = 266099,
  [SMALL_STATE(6855)] = 266115,
  [SMALL_STATE(6856)] = 266131,
  [SMALL_STATE(6857)] = 266149,
  [SMALL_STATE(6858)] = 266169,
  [SMALL_STATE(6859)] = 266185,
  [SMALL_STATE(6860)] = 266201,
  [SMALL_STATE(6861)] = 266221,
  [SMALL_STATE(6862)] = 266239,
  [SMALL_STATE(6863)] = 266259,
  [SMALL_STATE(6864)] = 266279,
  [SMALL_STATE(6865)] = 266295,
  [SMALL_STATE(6866)] = 266311,
  [SMALL_STATE(6867)] = 266327,
  [SMALL_STATE(6868)] = 266347,
  [SMALL_STATE(6869)] = 266363,
  [SMALL_STATE(6870)] = 266375,
  [SMALL_STATE(6871)] = 266395,
  [SMALL_STATE(6872)] = 266415,
  [SMALL_STATE(6873)] = 266435,
  [SMALL_STATE(6874)] = 266447,
  [SMALL_STATE(6875)] = 266459,
  [SMALL_STATE(6876)] = 266475,
  [SMALL_STATE(6877)] = 266487,
  [SMALL_STATE(6878)] = 266503,
  [SMALL_STATE(6879)] = 266521,
  [SMALL_STATE(6880)] = 266537,
  [SMALL_STATE(6881)] = 266549,
  [SMALL_STATE(6882)] = 266561,
  [SMALL_STATE(6883)] = 266581,
  [SMALL_STATE(6884)] = 266599,
  [SMALL_STATE(6885)] = 266615,
  [SMALL_STATE(6886)] = 266627,
  [SMALL_STATE(6887)] = 266639,
  [SMALL_STATE(6888)] = 266657,
  [SMALL_STATE(6889)] = 266669,
  [SMALL_STATE(6890)] = 266685,
  [SMALL_STATE(6891)] = 266701,
  [SMALL_STATE(6892)] = 266717,
  [SMALL_STATE(6893)] = 266733,
  [SMALL_STATE(6894)] = 266749,
  [SMALL_STATE(6895)] = 266769,
  [SMALL_STATE(6896)] = 266781,
  [SMALL_STATE(6897)] = 266799,
  [SMALL_STATE(6898)] = 266817,
  [SMALL_STATE(6899)] = 266835,
  [SMALL_STATE(6900)] = 266851,
  [SMALL_STATE(6901)] = 266869,
  [SMALL_STATE(6902)] = 266885,
  [SMALL_STATE(6903)] = 266903,
  [SMALL_STATE(6904)] = 266921,
  [SMALL_STATE(6905)] = 266937,
  [SMALL_STATE(6906)] = 266953,
  [SMALL_STATE(6907)] = 266965,
  [SMALL_STATE(6908)] = 266977,
  [SMALL_STATE(6909)] = 266995,
  [SMALL_STATE(6910)] = 267007,
  [SMALL_STATE(6911)] = 267019,
  [SMALL_STATE(6912)] = 267031,
  [SMALL_STATE(6913)] = 267049,
  [SMALL_STATE(6914)] = 267065,
  [SMALL_STATE(6915)] = 267083,
  [SMALL_STATE(6916)] = 267095,
  [SMALL_STATE(6917)] = 267115,
  [SMALL_STATE(6918)] = 267135,
  [SMALL_STATE(6919)] = 267151,
  [SMALL_STATE(6920)] = 267169,
  [SMALL_STATE(6921)] = 267189,
  [SMALL_STATE(6922)] = 267201,
  [SMALL_STATE(6923)] = 267219,
  [SMALL_STATE(6924)] = 267239,
  [SMALL_STATE(6925)] = 267259,
  [SMALL_STATE(6926)] = 267279,
  [SMALL_STATE(6927)] = 267297,
  [SMALL_STATE(6928)] = 267313,
  [SMALL_STATE(6929)] = 267333,
  [SMALL_STATE(6930)] = 267345,
  [SMALL_STATE(6931)] = 267357,
  [SMALL_STATE(6932)] = 267377,
  [SMALL_STATE(6933)] = 267395,
  [SMALL_STATE(6934)] = 267411,
  [SMALL_STATE(6935)] = 267427,
  [SMALL_STATE(6936)] = 267439,
  [SMALL_STATE(6937)] = 267455,
  [SMALL_STATE(6938)] = 267467,
  [SMALL_STATE(6939)] = 267479,
  [SMALL_STATE(6940)] = 267495,
  [SMALL_STATE(6941)] = 267511,
  [SMALL_STATE(6942)] = 267529,
  [SMALL_STATE(6943)] = 267547,
  [SMALL_STATE(6944)] = 267563,
  [SMALL_STATE(6945)] = 267583,
  [SMALL_STATE(6946)] = 267599,
  [SMALL_STATE(6947)] = 267615,
  [SMALL_STATE(6948)] = 267627,
  [SMALL_STATE(6949)] = 267645,
  [SMALL_STATE(6950)] = 267661,
  [SMALL_STATE(6951)] = 267673,
  [SMALL_STATE(6952)] = 267689,
  [SMALL_STATE(6953)] = 267701,
  [SMALL_STATE(6954)] = 267717,
  [SMALL_STATE(6955)] = 267729,
  [SMALL_STATE(6956)] = 267745,
  [SMALL_STATE(6957)] = 267757,
  [SMALL_STATE(6958)] = 267777,
  [SMALL_STATE(6959)] = 267791,
  [SMALL_STATE(6960)] = 267811,
  [SMALL_STATE(6961)] = 267823,
  [SMALL_STATE(6962)] = 267835,
  [SMALL_STATE(6963)] = 267847,
  [SMALL_STATE(6964)] = 267863,
  [SMALL_STATE(6965)] = 267875,
  [SMALL_STATE(6966)] = 267891,
  [SMALL_STATE(6967)] = 267909,
  [SMALL_STATE(6968)] = 267927,
  [SMALL_STATE(6969)] = 267943,
  [SMALL_STATE(6970)] = 267961,
  [SMALL_STATE(6971)] = 267973,
  [SMALL_STATE(6972)] = 267989,
  [SMALL_STATE(6973)] = 268005,
  [SMALL_STATE(6974)] = 268025,
  [SMALL_STATE(6975)] = 268041,
  [SMALL_STATE(6976)] = 268059,
  [SMALL_STATE(6977)] = 268075,
  [SMALL_STATE(6978)] = 268095,
  [SMALL_STATE(6979)] = 268111,
  [SMALL_STATE(6980)] = 268129,
  [SMALL_STATE(6981)] = 268147,
  [SMALL_STATE(6982)] = 268167,
  [SMALL_STATE(6983)] = 268185,
  [SMALL_STATE(6984)] = 268203,
  [SMALL_STATE(6985)] = 268221,
  [SMALL_STATE(6986)] = 268239,
  [SMALL_STATE(6987)] = 268257,
  [SMALL_STATE(6988)] = 268275,
  [SMALL_STATE(6989)] = 268295,
  [SMALL_STATE(6990)] = 268313,
  [SMALL_STATE(6991)] = 268329,
  [SMALL_STATE(6992)] = 268345,
  [SMALL_STATE(6993)] = 268359,
  [SMALL_STATE(6994)] = 268375,
  [SMALL_STATE(6995)] = 268395,
  [SMALL_STATE(6996)] = 268413,
  [SMALL_STATE(6997)] = 268433,
  [SMALL_STATE(6998)] = 268445,
  [SMALL_STATE(6999)] = 268457,
  [SMALL_STATE(7000)] = 268477,
  [SMALL_STATE(7001)] = 268495,
  [SMALL_STATE(7002)] = 268515,
  [SMALL_STATE(7003)] = 268527,
  [SMALL_STATE(7004)] = 268539,
  [SMALL_STATE(7005)] = 268559,
  [SMALL_STATE(7006)] = 268577,
  [SMALL_STATE(7007)] = 268595,
  [SMALL_STATE(7008)] = 268609,
  [SMALL_STATE(7009)] = 268627,
  [SMALL_STATE(7010)] = 268645,
  [SMALL_STATE(7011)] = 268663,
  [SMALL_STATE(7012)] = 268683,
  [SMALL_STATE(7013)] = 268701,
  [SMALL_STATE(7014)] = 268717,
  [SMALL_STATE(7015)] = 268737,
  [SMALL_STATE(7016)] = 268755,
  [SMALL_STATE(7017)] = 268771,
  [SMALL_STATE(7018)] = 268787,
  [SMALL_STATE(7019)] = 268803,
  [SMALL_STATE(7020)] = 268819,
  [SMALL_STATE(7021)] = 268837,
  [SMALL_STATE(7022)] = 268849,
  [SMALL_STATE(7023)] = 268865,
  [SMALL_STATE(7024)] = 268881,
  [SMALL_STATE(7025)] = 268899,
  [SMALL_STATE(7026)] = 268911,
  [SMALL_STATE(7027)] = 268927,
  [SMALL_STATE(7028)] = 268943,
  [SMALL_STATE(7029)] = 268959,
  [SMALL_STATE(7030)] = 268975,
  [SMALL_STATE(7031)] = 268991,
  [SMALL_STATE(7032)] = 269003,
  [SMALL_STATE(7033)] = 269015,
  [SMALL_STATE(7034)] = 269031,
  [SMALL_STATE(7035)] = 269043,
  [SMALL_STATE(7036)] = 269063,
  [SMALL_STATE(7037)] = 269079,
  [SMALL_STATE(7038)] = 269095,
  [SMALL_STATE(7039)] = 269111,
  [SMALL_STATE(7040)] = 269127,
  [SMALL_STATE(7041)] = 269147,
  [SMALL_STATE(7042)] = 269159,
  [SMALL_STATE(7043)] = 269175,
  [SMALL_STATE(7044)] = 269187,
  [SMALL_STATE(7045)] = 269199,
  [SMALL_STATE(7046)] = 269215,
  [SMALL_STATE(7047)] = 269227,
  [SMALL_STATE(7048)] = 269243,
  [SMALL_STATE(7049)] = 269255,
  [SMALL_STATE(7050)] = 269267,
  [SMALL_STATE(7051)] = 269283,
  [SMALL_STATE(7052)] = 269299,
  [SMALL_STATE(7053)] = 269317,
  [SMALL_STATE(7054)] = 269337,
  [SMALL_STATE(7055)] = 269357,
  [SMALL_STATE(7056)] = 269373,
  [SMALL_STATE(7057)] = 269393,
  [SMALL_STATE(7058)] = 269405,
  [SMALL_STATE(7059)] = 269421,
  [SMALL_STATE(7060)] = 269441,
  [SMALL_STATE(7061)] = 269461,
  [SMALL_STATE(7062)] = 269477,
  [SMALL_STATE(7063)] = 269493,
  [SMALL_STATE(7064)] = 269509,
  [SMALL_STATE(7065)] = 269521,
  [SMALL_STATE(7066)] = 269539,
  [SMALL_STATE(7067)] = 269550,
  [SMALL_STATE(7068)] = 269561,
  [SMALL_STATE(7069)] = 269576,
  [SMALL_STATE(7070)] = 269593,
  [SMALL_STATE(7071)] = 269604,
  [SMALL_STATE(7072)] = 269615,
  [SMALL_STATE(7073)] = 269626,
  [SMALL_STATE(7074)] = 269637,
  [SMALL_STATE(7075)] = 269654,
  [SMALL_STATE(7076)] = 269665,
  [SMALL_STATE(7077)] = 269680,
  [SMALL_STATE(7078)] = 269691,
  [SMALL_STATE(7079)] = 269704,
  [SMALL_STATE(7080)] = 269721,
  [SMALL_STATE(7081)] = 269732,
  [SMALL_STATE(7082)] = 269743,
  [SMALL_STATE(7083)] = 269760,
  [SMALL_STATE(7084)] = 269771,
  [SMALL_STATE(7085)] = 269782,
  [SMALL_STATE(7086)] = 269793,
  [SMALL_STATE(7087)] = 269804,
  [SMALL_STATE(7088)] = 269821,
  [SMALL_STATE(7089)] = 269838,
  [SMALL_STATE(7090)] = 269849,
  [SMALL_STATE(7091)] = 269860,
  [SMALL_STATE(7092)] = 269871,
  [SMALL_STATE(7093)] = 269882,
  [SMALL_STATE(7094)] = 269893,
  [SMALL_STATE(7095)] = 269904,
  [SMALL_STATE(7096)] = 269915,
  [SMALL_STATE(7097)] = 269932,
  [SMALL_STATE(7098)] = 269943,
  [SMALL_STATE(7099)] = 269960,
  [SMALL_STATE(7100)] = 269971,
  [SMALL_STATE(7101)] = 269982,
  [SMALL_STATE(7102)] = 269999,
  [SMALL_STATE(7103)] = 270016,
  [SMALL_STATE(7104)] = 270033,
  [SMALL_STATE(7105)] = 270044,
  [SMALL_STATE(7106)] = 270055,
  [SMALL_STATE(7107)] = 270072,
  [SMALL_STATE(7108)] = 270083,
  [SMALL_STATE(7109)] = 270098,
  [SMALL_STATE(7110)] = 270109,
  [SMALL_STATE(7111)] = 270120,
  [SMALL_STATE(7112)] = 270137,
  [SMALL_STATE(7113)] = 270148,
  [SMALL_STATE(7114)] = 270159,
  [SMALL_STATE(7115)] = 270170,
  [SMALL_STATE(7116)] = 270187,
  [SMALL_STATE(7117)] = 270204,
  [SMALL_STATE(7118)] = 270221,
  [SMALL_STATE(7119)] = 270238,
  [SMALL_STATE(7120)] = 270249,
  [SMALL_STATE(7121)] = 270260,
  [SMALL_STATE(7122)] = 270271,
  [SMALL_STATE(7123)] = 270282,
  [SMALL_STATE(7124)] = 270293,
  [SMALL_STATE(7125)] = 270304,
  [SMALL_STATE(7126)] = 270315,
  [SMALL_STATE(7127)] = 270326,
  [SMALL_STATE(7128)] = 270341,
  [SMALL_STATE(7129)] = 270358,
  [SMALL_STATE(7130)] = 270375,
  [SMALL_STATE(7131)] = 270386,
  [SMALL_STATE(7132)] = 270397,
  [SMALL_STATE(7133)] = 270414,
  [SMALL_STATE(7134)] = 270425,
  [SMALL_STATE(7135)] = 270442,
  [SMALL_STATE(7136)] = 270453,
  [SMALL_STATE(7137)] = 270464,
  [SMALL_STATE(7138)] = 270475,
  [SMALL_STATE(7139)] = 270486,
  [SMALL_STATE(7140)] = 270503,
  [SMALL_STATE(7141)] = 270514,
  [SMALL_STATE(7142)] = 270525,
  [SMALL_STATE(7143)] = 270536,
  [SMALL_STATE(7144)] = 270547,
  [SMALL_STATE(7145)] = 270558,
  [SMALL_STATE(7146)] = 270575,
  [SMALL_STATE(7147)] = 270586,
  [SMALL_STATE(7148)] = 270603,
  [SMALL_STATE(7149)] = 270614,
  [SMALL_STATE(7150)] = 270631,
  [SMALL_STATE(7151)] = 270642,
  [SMALL_STATE(7152)] = 270659,
  [SMALL_STATE(7153)] = 270670,
  [SMALL_STATE(7154)] = 270687,
  [SMALL_STATE(7155)] = 270698,
  [SMALL_STATE(7156)] = 270709,
  [SMALL_STATE(7157)] = 270724,
  [SMALL_STATE(7158)] = 270735,
  [SMALL_STATE(7159)] = 270746,
  [SMALL_STATE(7160)] = 270759,
  [SMALL_STATE(7161)] = 270772,
  [SMALL_STATE(7162)] = 270783,
  [SMALL_STATE(7163)] = 270800,
  [SMALL_STATE(7164)] = 270811,
  [SMALL_STATE(7165)] = 270822,
  [SMALL_STATE(7166)] = 270839,
  [SMALL_STATE(7167)] = 270850,
  [SMALL_STATE(7168)] = 270861,
  [SMALL_STATE(7169)] = 270878,
  [SMALL_STATE(7170)] = 270895,
  [SMALL_STATE(7171)] = 270906,
  [SMALL_STATE(7172)] = 270921,
  [SMALL_STATE(7173)] = 270932,
  [SMALL_STATE(7174)] = 270949,
  [SMALL_STATE(7175)] = 270960,
  [SMALL_STATE(7176)] = 270975,
  [SMALL_STATE(7177)] = 270986,
  [SMALL_STATE(7178)] = 271003,
  [SMALL_STATE(7179)] = 271014,
  [SMALL_STATE(7180)] = 271031,
  [SMALL_STATE(7181)] = 271042,
  [SMALL_STATE(7182)] = 271059,
  [SMALL_STATE(7183)] = 271070,
  [SMALL_STATE(7184)] = 271083,
  [SMALL_STATE(7185)] = 271096,
  [SMALL_STATE(7186)] = 271107,
  [SMALL_STATE(7187)] = 271118,
  [SMALL_STATE(7188)] = 271129,
  [SMALL_STATE(7189)] = 271140,
  [SMALL_STATE(7190)] = 271151,
  [SMALL_STATE(7191)] = 271162,
  [SMALL_STATE(7192)] = 271173,
  [SMALL_STATE(7193)] = 271184,
  [SMALL_STATE(7194)] = 271195,
  [SMALL_STATE(7195)] = 271206,
  [SMALL_STATE(7196)] = 271217,
  [SMALL_STATE(7197)] = 271228,
  [SMALL_STATE(7198)] = 271245,
  [SMALL_STATE(7199)] = 271256,
  [SMALL_STATE(7200)] = 271267,
  [SMALL_STATE(7201)] = 271278,
  [SMALL_STATE(7202)] = 271289,
  [SMALL_STATE(7203)] = 271304,
  [SMALL_STATE(7204)] = 271315,
  [SMALL_STATE(7205)] = 271332,
  [SMALL_STATE(7206)] = 271343,
  [SMALL_STATE(7207)] = 271354,
  [SMALL_STATE(7208)] = 271365,
  [SMALL_STATE(7209)] = 271376,
  [SMALL_STATE(7210)] = 271393,
  [SMALL_STATE(7211)] = 271404,
  [SMALL_STATE(7212)] = 271415,
  [SMALL_STATE(7213)] = 271426,
  [SMALL_STATE(7214)] = 271443,
  [SMALL_STATE(7215)] = 271454,
  [SMALL_STATE(7216)] = 271465,
  [SMALL_STATE(7217)] = 271476,
  [SMALL_STATE(7218)] = 271487,
  [SMALL_STATE(7219)] = 271498,
  [SMALL_STATE(7220)] = 271509,
  [SMALL_STATE(7221)] = 271520,
  [SMALL_STATE(7222)] = 271531,
  [SMALL_STATE(7223)] = 271542,
  [SMALL_STATE(7224)] = 271553,
  [SMALL_STATE(7225)] = 271564,
  [SMALL_STATE(7226)] = 271575,
  [SMALL_STATE(7227)] = 271586,
  [SMALL_STATE(7228)] = 271603,
  [SMALL_STATE(7229)] = 271620,
  [SMALL_STATE(7230)] = 271637,
  [SMALL_STATE(7231)] = 271648,
  [SMALL_STATE(7232)] = 271659,
  [SMALL_STATE(7233)] = 271676,
  [SMALL_STATE(7234)] = 271687,
  [SMALL_STATE(7235)] = 271698,
  [SMALL_STATE(7236)] = 271715,
  [SMALL_STATE(7237)] = 271726,
  [SMALL_STATE(7238)] = 271743,
  [SMALL_STATE(7239)] = 271754,
  [SMALL_STATE(7240)] = 271771,
  [SMALL_STATE(7241)] = 271788,
  [SMALL_STATE(7242)] = 271805,
  [SMALL_STATE(7243)] = 271816,
  [SMALL_STATE(7244)] = 271827,
  [SMALL_STATE(7245)] = 271838,
  [SMALL_STATE(7246)] = 271849,
  [SMALL_STATE(7247)] = 271860,
  [SMALL_STATE(7248)] = 271871,
  [SMALL_STATE(7249)] = 271882,
  [SMALL_STATE(7250)] = 271893,
  [SMALL_STATE(7251)] = 271904,
  [SMALL_STATE(7252)] = 271921,
  [SMALL_STATE(7253)] = 271932,
  [SMALL_STATE(7254)] = 271943,
  [SMALL_STATE(7255)] = 271954,
  [SMALL_STATE(7256)] = 271971,
  [SMALL_STATE(7257)] = 271986,
  [SMALL_STATE(7258)] = 271997,
  [SMALL_STATE(7259)] = 272008,
  [SMALL_STATE(7260)] = 272023,
  [SMALL_STATE(7261)] = 272040,
  [SMALL_STATE(7262)] = 272051,
  [SMALL_STATE(7263)] = 272062,
  [SMALL_STATE(7264)] = 272073,
  [SMALL_STATE(7265)] = 272084,
  [SMALL_STATE(7266)] = 272101,
  [SMALL_STATE(7267)] = 272112,
  [SMALL_STATE(7268)] = 272129,
  [SMALL_STATE(7269)] = 272146,
  [SMALL_STATE(7270)] = 272163,
  [SMALL_STATE(7271)] = 272180,
  [SMALL_STATE(7272)] = 272191,
  [SMALL_STATE(7273)] = 272208,
  [SMALL_STATE(7274)] = 272225,
  [SMALL_STATE(7275)] = 272236,
  [SMALL_STATE(7276)] = 272247,
  [SMALL_STATE(7277)] = 272264,
  [SMALL_STATE(7278)] = 272281,
  [SMALL_STATE(7279)] = 272298,
  [SMALL_STATE(7280)] = 272315,
  [SMALL_STATE(7281)] = 272332,
  [SMALL_STATE(7282)] = 272349,
  [SMALL_STATE(7283)] = 272366,
  [SMALL_STATE(7284)] = 272383,
  [SMALL_STATE(7285)] = 272394,
  [SMALL_STATE(7286)] = 272405,
  [SMALL_STATE(7287)] = 272416,
  [SMALL_STATE(7288)] = 272433,
  [SMALL_STATE(7289)] = 272450,
  [SMALL_STATE(7290)] = 272463,
  [SMALL_STATE(7291)] = 272474,
  [SMALL_STATE(7292)] = 272491,
  [SMALL_STATE(7293)] = 272502,
  [SMALL_STATE(7294)] = 272519,
  [SMALL_STATE(7295)] = 272530,
  [SMALL_STATE(7296)] = 272541,
  [SMALL_STATE(7297)] = 272552,
  [SMALL_STATE(7298)] = 272569,
  [SMALL_STATE(7299)] = 272580,
  [SMALL_STATE(7300)] = 272591,
  [SMALL_STATE(7301)] = 272602,
  [SMALL_STATE(7302)] = 272619,
  [SMALL_STATE(7303)] = 272630,
  [SMALL_STATE(7304)] = 272641,
  [SMALL_STATE(7305)] = 272652,
  [SMALL_STATE(7306)] = 272663,
  [SMALL_STATE(7307)] = 272674,
  [SMALL_STATE(7308)] = 272685,
  [SMALL_STATE(7309)] = 272702,
  [SMALL_STATE(7310)] = 272717,
  [SMALL_STATE(7311)] = 272734,
  [SMALL_STATE(7312)] = 272751,
  [SMALL_STATE(7313)] = 272768,
  [SMALL_STATE(7314)] = 272785,
  [SMALL_STATE(7315)] = 272796,
  [SMALL_STATE(7316)] = 272807,
  [SMALL_STATE(7317)] = 272818,
  [SMALL_STATE(7318)] = 272829,
  [SMALL_STATE(7319)] = 272840,
  [SMALL_STATE(7320)] = 272851,
  [SMALL_STATE(7321)] = 272862,
  [SMALL_STATE(7322)] = 272873,
  [SMALL_STATE(7323)] = 272890,
  [SMALL_STATE(7324)] = 272901,
  [SMALL_STATE(7325)] = 272912,
  [SMALL_STATE(7326)] = 272923,
  [SMALL_STATE(7327)] = 272940,
  [SMALL_STATE(7328)] = 272955,
  [SMALL_STATE(7329)] = 272966,
  [SMALL_STATE(7330)] = 272983,
  [SMALL_STATE(7331)] = 272998,
  [SMALL_STATE(7332)] = 273009,
  [SMALL_STATE(7333)] = 273024,
  [SMALL_STATE(7334)] = 273041,
  [SMALL_STATE(7335)] = 273052,
  [SMALL_STATE(7336)] = 273063,
  [SMALL_STATE(7337)] = 273074,
  [SMALL_STATE(7338)] = 273091,
  [SMALL_STATE(7339)] = 273102,
  [SMALL_STATE(7340)] = 273113,
  [SMALL_STATE(7341)] = 273130,
  [SMALL_STATE(7342)] = 273141,
  [SMALL_STATE(7343)] = 273152,
  [SMALL_STATE(7344)] = 273169,
  [SMALL_STATE(7345)] = 273180,
  [SMALL_STATE(7346)] = 273191,
  [SMALL_STATE(7347)] = 273208,
  [SMALL_STATE(7348)] = 273219,
  [SMALL_STATE(7349)] = 273230,
  [SMALL_STATE(7350)] = 273241,
  [SMALL_STATE(7351)] = 273252,
  [SMALL_STATE(7352)] = 273263,
  [SMALL_STATE(7353)] = 273280,
  [SMALL_STATE(7354)] = 273295,
  [SMALL_STATE(7355)] = 273306,
  [SMALL_STATE(7356)] = 273317,
  [SMALL_STATE(7357)] = 273334,
  [SMALL_STATE(7358)] = 273345,
  [SMALL_STATE(7359)] = 273356,
  [SMALL_STATE(7360)] = 273373,
  [SMALL_STATE(7361)] = 273390,
  [SMALL_STATE(7362)] = 273401,
  [SMALL_STATE(7363)] = 273412,
  [SMALL_STATE(7364)] = 273429,
  [SMALL_STATE(7365)] = 273440,
  [SMALL_STATE(7366)] = 273451,
  [SMALL_STATE(7367)] = 273468,
  [SMALL_STATE(7368)] = 273485,
  [SMALL_STATE(7369)] = 273502,
  [SMALL_STATE(7370)] = 273519,
  [SMALL_STATE(7371)] = 273530,
  [SMALL_STATE(7372)] = 273547,
  [SMALL_STATE(7373)] = 273564,
  [SMALL_STATE(7374)] = 273581,
  [SMALL_STATE(7375)] = 273592,
  [SMALL_STATE(7376)] = 273603,
  [SMALL_STATE(7377)] = 273620,
  [SMALL_STATE(7378)] = 273631,
  [SMALL_STATE(7379)] = 273648,
  [SMALL_STATE(7380)] = 273659,
  [SMALL_STATE(7381)] = 273674,
  [SMALL_STATE(7382)] = 273685,
  [SMALL_STATE(7383)] = 273696,
  [SMALL_STATE(7384)] = 273707,
  [SMALL_STATE(7385)] = 273718,
  [SMALL_STATE(7386)] = 273729,
  [SMALL_STATE(7387)] = 273740,
  [SMALL_STATE(7388)] = 273751,
  [SMALL_STATE(7389)] = 273762,
  [SMALL_STATE(7390)] = 273773,
  [SMALL_STATE(7391)] = 273790,
  [SMALL_STATE(7392)] = 273801,
  [SMALL_STATE(7393)] = 273812,
  [SMALL_STATE(7394)] = 273823,
  [SMALL_STATE(7395)] = 273840,
  [SMALL_STATE(7396)] = 273851,
  [SMALL_STATE(7397)] = 273862,
  [SMALL_STATE(7398)] = 273879,
  [SMALL_STATE(7399)] = 273890,
  [SMALL_STATE(7400)] = 273901,
  [SMALL_STATE(7401)] = 273912,
  [SMALL_STATE(7402)] = 273923,
  [SMALL_STATE(7403)] = 273940,
  [SMALL_STATE(7404)] = 273957,
  [SMALL_STATE(7405)] = 273968,
  [SMALL_STATE(7406)] = 273985,
  [SMALL_STATE(7407)] = 273996,
  [SMALL_STATE(7408)] = 274007,
  [SMALL_STATE(7409)] = 274018,
  [SMALL_STATE(7410)] = 274029,
  [SMALL_STATE(7411)] = 274046,
  [SMALL_STATE(7412)] = 274063,
  [SMALL_STATE(7413)] = 274074,
  [SMALL_STATE(7414)] = 274085,
  [SMALL_STATE(7415)] = 274102,
  [SMALL_STATE(7416)] = 274113,
  [SMALL_STATE(7417)] = 274130,
  [SMALL_STATE(7418)] = 274147,
  [SMALL_STATE(7419)] = 274158,
  [SMALL_STATE(7420)] = 274169,
  [SMALL_STATE(7421)] = 274180,
  [SMALL_STATE(7422)] = 274197,
  [SMALL_STATE(7423)] = 274212,
  [SMALL_STATE(7424)] = 274229,
  [SMALL_STATE(7425)] = 274240,
  [SMALL_STATE(7426)] = 274257,
  [SMALL_STATE(7427)] = 274268,
  [SMALL_STATE(7428)] = 274279,
  [SMALL_STATE(7429)] = 274290,
  [SMALL_STATE(7430)] = 274307,
  [SMALL_STATE(7431)] = 274318,
  [SMALL_STATE(7432)] = 274335,
  [SMALL_STATE(7433)] = 274346,
  [SMALL_STATE(7434)] = 274359,
  [SMALL_STATE(7435)] = 274370,
  [SMALL_STATE(7436)] = 274387,
  [SMALL_STATE(7437)] = 274404,
  [SMALL_STATE(7438)] = 274415,
  [SMALL_STATE(7439)] = 274432,
  [SMALL_STATE(7440)] = 274449,
  [SMALL_STATE(7441)] = 274462,
  [SMALL_STATE(7442)] = 274473,
  [SMALL_STATE(7443)] = 274490,
  [SMALL_STATE(7444)] = 274501,
  [SMALL_STATE(7445)] = 274511,
  [SMALL_STATE(7446)] = 274521,
  [SMALL_STATE(7447)] = 274535,
  [SMALL_STATE(7448)] = 274549,
  [SMALL_STATE(7449)] = 274563,
  [SMALL_STATE(7450)] = 274577,
  [SMALL_STATE(7451)] = 274587,
  [SMALL_STATE(7452)] = 274601,
  [SMALL_STATE(7453)] = 274615,
  [SMALL_STATE(7454)] = 274629,
  [SMALL_STATE(7455)] = 274643,
  [SMALL_STATE(7456)] = 274657,
  [SMALL_STATE(7457)] = 274671,
  [SMALL_STATE(7458)] = 274685,
  [SMALL_STATE(7459)] = 274699,
  [SMALL_STATE(7460)] = 274713,
  [SMALL_STATE(7461)] = 274727,
  [SMALL_STATE(7462)] = 274741,
  [SMALL_STATE(7463)] = 274755,
  [SMALL_STATE(7464)] = 274769,
  [SMALL_STATE(7465)] = 274781,
  [SMALL_STATE(7466)] = 274795,
  [SMALL_STATE(7467)] = 274809,
  [SMALL_STATE(7468)] = 274823,
  [SMALL_STATE(7469)] = 274837,
  [SMALL_STATE(7470)] = 274851,
  [SMALL_STATE(7471)] = 274863,
  [SMALL_STATE(7472)] = 274877,
  [SMALL_STATE(7473)] = 274891,
  [SMALL_STATE(7474)] = 274905,
  [SMALL_STATE(7475)] = 274919,
  [SMALL_STATE(7476)] = 274933,
  [SMALL_STATE(7477)] = 274947,
  [SMALL_STATE(7478)] = 274961,
  [SMALL_STATE(7479)] = 274975,
  [SMALL_STATE(7480)] = 274985,
  [SMALL_STATE(7481)] = 274995,
  [SMALL_STATE(7482)] = 275009,
  [SMALL_STATE(7483)] = 275023,
  [SMALL_STATE(7484)] = 275037,
  [SMALL_STATE(7485)] = 275051,
  [SMALL_STATE(7486)] = 275065,
  [SMALL_STATE(7487)] = 275079,
  [SMALL_STATE(7488)] = 275093,
  [SMALL_STATE(7489)] = 275103,
  [SMALL_STATE(7490)] = 275117,
  [SMALL_STATE(7491)] = 275131,
  [SMALL_STATE(7492)] = 275145,
  [SMALL_STATE(7493)] = 275159,
  [SMALL_STATE(7494)] = 275173,
  [SMALL_STATE(7495)] = 275183,
  [SMALL_STATE(7496)] = 275193,
  [SMALL_STATE(7497)] = 275203,
  [SMALL_STATE(7498)] = 275217,
  [SMALL_STATE(7499)] = 275227,
  [SMALL_STATE(7500)] = 275241,
  [SMALL_STATE(7501)] = 275255,
  [SMALL_STATE(7502)] = 275269,
  [SMALL_STATE(7503)] = 275283,
  [SMALL_STATE(7504)] = 275297,
  [SMALL_STATE(7505)] = 275311,
  [SMALL_STATE(7506)] = 275325,
  [SMALL_STATE(7507)] = 275335,
  [SMALL_STATE(7508)] = 275349,
  [SMALL_STATE(7509)] = 275363,
  [SMALL_STATE(7510)] = 275377,
  [SMALL_STATE(7511)] = 275391,
  [SMALL_STATE(7512)] = 275405,
  [SMALL_STATE(7513)] = 275419,
  [SMALL_STATE(7514)] = 275433,
  [SMALL_STATE(7515)] = 275443,
  [SMALL_STATE(7516)] = 275453,
  [SMALL_STATE(7517)] = 275467,
  [SMALL_STATE(7518)] = 275481,
  [SMALL_STATE(7519)] = 275495,
  [SMALL_STATE(7520)] = 275509,
  [SMALL_STATE(7521)] = 275519,
  [SMALL_STATE(7522)] = 275533,
  [SMALL_STATE(7523)] = 275547,
  [SMALL_STATE(7524)] = 275557,
  [SMALL_STATE(7525)] = 275567,
  [SMALL_STATE(7526)] = 275579,
  [SMALL_STATE(7527)] = 275593,
  [SMALL_STATE(7528)] = 275603,
  [SMALL_STATE(7529)] = 275617,
  [SMALL_STATE(7530)] = 275631,
  [SMALL_STATE(7531)] = 275645,
  [SMALL_STATE(7532)] = 275659,
  [SMALL_STATE(7533)] = 275669,
  [SMALL_STATE(7534)] = 275683,
  [SMALL_STATE(7535)] = 275697,
  [SMALL_STATE(7536)] = 275711,
  [SMALL_STATE(7537)] = 275725,
  [SMALL_STATE(7538)] = 275735,
  [SMALL_STATE(7539)] = 275749,
  [SMALL_STATE(7540)] = 275759,
  [SMALL_STATE(7541)] = 275773,
  [SMALL_STATE(7542)] = 275787,
  [SMALL_STATE(7543)] = 275801,
  [SMALL_STATE(7544)] = 275815,
  [SMALL_STATE(7545)] = 275827,
  [SMALL_STATE(7546)] = 275841,
  [SMALL_STATE(7547)] = 275855,
  [SMALL_STATE(7548)] = 275869,
  [SMALL_STATE(7549)] = 275883,
  [SMALL_STATE(7550)] = 275897,
  [SMALL_STATE(7551)] = 275911,
  [SMALL_STATE(7552)] = 275921,
  [SMALL_STATE(7553)] = 275935,
  [SMALL_STATE(7554)] = 275949,
  [SMALL_STATE(7555)] = 275963,
  [SMALL_STATE(7556)] = 275977,
  [SMALL_STATE(7557)] = 275991,
  [SMALL_STATE(7558)] = 276005,
  [SMALL_STATE(7559)] = 276019,
  [SMALL_STATE(7560)] = 276033,
  [SMALL_STATE(7561)] = 276047,
  [SMALL_STATE(7562)] = 276061,
  [SMALL_STATE(7563)] = 276071,
  [SMALL_STATE(7564)] = 276085,
  [SMALL_STATE(7565)] = 276099,
  [SMALL_STATE(7566)] = 276113,
  [SMALL_STATE(7567)] = 276127,
  [SMALL_STATE(7568)] = 276141,
  [SMALL_STATE(7569)] = 276155,
  [SMALL_STATE(7570)] = 276169,
  [SMALL_STATE(7571)] = 276183,
  [SMALL_STATE(7572)] = 276197,
  [SMALL_STATE(7573)] = 276211,
  [SMALL_STATE(7574)] = 276221,
  [SMALL_STATE(7575)] = 276235,
  [SMALL_STATE(7576)] = 276249,
  [SMALL_STATE(7577)] = 276263,
  [SMALL_STATE(7578)] = 276277,
  [SMALL_STATE(7579)] = 276291,
  [SMALL_STATE(7580)] = 276305,
  [SMALL_STATE(7581)] = 276319,
  [SMALL_STATE(7582)] = 276333,
  [SMALL_STATE(7583)] = 276347,
  [SMALL_STATE(7584)] = 276361,
  [SMALL_STATE(7585)] = 276375,
  [SMALL_STATE(7586)] = 276385,
  [SMALL_STATE(7587)] = 276399,
  [SMALL_STATE(7588)] = 276409,
  [SMALL_STATE(7589)] = 276419,
  [SMALL_STATE(7590)] = 276433,
  [SMALL_STATE(7591)] = 276447,
  [SMALL_STATE(7592)] = 276459,
  [SMALL_STATE(7593)] = 276473,
  [SMALL_STATE(7594)] = 276483,
  [SMALL_STATE(7595)] = 276497,
  [SMALL_STATE(7596)] = 276511,
  [SMALL_STATE(7597)] = 276525,
  [SMALL_STATE(7598)] = 276535,
  [SMALL_STATE(7599)] = 276549,
  [SMALL_STATE(7600)] = 276563,
  [SMALL_STATE(7601)] = 276573,
  [SMALL_STATE(7602)] = 276587,
  [SMALL_STATE(7603)] = 276601,
  [SMALL_STATE(7604)] = 276615,
  [SMALL_STATE(7605)] = 276625,
  [SMALL_STATE(7606)] = 276639,
  [SMALL_STATE(7607)] = 276653,
  [SMALL_STATE(7608)] = 276667,
  [SMALL_STATE(7609)] = 276681,
  [SMALL_STATE(7610)] = 276695,
  [SMALL_STATE(7611)] = 276709,
  [SMALL_STATE(7612)] = 276719,
  [SMALL_STATE(7613)] = 276733,
  [SMALL_STATE(7614)] = 276743,
  [SMALL_STATE(7615)] = 276757,
  [SMALL_STATE(7616)] = 276767,
  [SMALL_STATE(7617)] = 276781,
  [SMALL_STATE(7618)] = 276795,
  [SMALL_STATE(7619)] = 276809,
  [SMALL_STATE(7620)] = 276823,
  [SMALL_STATE(7621)] = 276837,
  [SMALL_STATE(7622)] = 276851,
  [SMALL_STATE(7623)] = 276865,
  [SMALL_STATE(7624)] = 276879,
  [SMALL_STATE(7625)] = 276893,
  [SMALL_STATE(7626)] = 276903,
  [SMALL_STATE(7627)] = 276917,
  [SMALL_STATE(7628)] = 276927,
  [SMALL_STATE(7629)] = 276941,
  [SMALL_STATE(7630)] = 276955,
  [SMALL_STATE(7631)] = 276969,
  [SMALL_STATE(7632)] = 276983,
  [SMALL_STATE(7633)] = 276997,
  [SMALL_STATE(7634)] = 277007,
  [SMALL_STATE(7635)] = 277021,
  [SMALL_STATE(7636)] = 277035,
  [SMALL_STATE(7637)] = 277045,
  [SMALL_STATE(7638)] = 277059,
  [SMALL_STATE(7639)] = 277073,
  [SMALL_STATE(7640)] = 277083,
  [SMALL_STATE(7641)] = 277093,
  [SMALL_STATE(7642)] = 277103,
  [SMALL_STATE(7643)] = 277117,
  [SMALL_STATE(7644)] = 277131,
  [SMALL_STATE(7645)] = 277141,
  [SMALL_STATE(7646)] = 277155,
  [SMALL_STATE(7647)] = 277165,
  [SMALL_STATE(7648)] = 277179,
  [SMALL_STATE(7649)] = 277193,
  [SMALL_STATE(7650)] = 277207,
  [SMALL_STATE(7651)] = 277221,
  [SMALL_STATE(7652)] = 277235,
  [SMALL_STATE(7653)] = 277245,
  [SMALL_STATE(7654)] = 277255,
  [SMALL_STATE(7655)] = 277265,
  [SMALL_STATE(7656)] = 277279,
  [SMALL_STATE(7657)] = 277289,
  [SMALL_STATE(7658)] = 277299,
  [SMALL_STATE(7659)] = 277313,
  [SMALL_STATE(7660)] = 277325,
  [SMALL_STATE(7661)] = 277339,
  [SMALL_STATE(7662)] = 277353,
  [SMALL_STATE(7663)] = 277363,
  [SMALL_STATE(7664)] = 277377,
  [SMALL_STATE(7665)] = 277391,
  [SMALL_STATE(7666)] = 277401,
  [SMALL_STATE(7667)] = 277411,
  [SMALL_STATE(7668)] = 277421,
  [SMALL_STATE(7669)] = 277431,
  [SMALL_STATE(7670)] = 277445,
  [SMALL_STATE(7671)] = 277457,
  [SMALL_STATE(7672)] = 277471,
  [SMALL_STATE(7673)] = 277485,
  [SMALL_STATE(7674)] = 277495,
  [SMALL_STATE(7675)] = 277509,
  [SMALL_STATE(7676)] = 277519,
  [SMALL_STATE(7677)] = 277529,
  [SMALL_STATE(7678)] = 277539,
  [SMALL_STATE(7679)] = 277553,
  [SMALL_STATE(7680)] = 277563,
  [SMALL_STATE(7681)] = 277573,
  [SMALL_STATE(7682)] = 277587,
  [SMALL_STATE(7683)] = 277597,
  [SMALL_STATE(7684)] = 277611,
  [SMALL_STATE(7685)] = 277621,
  [SMALL_STATE(7686)] = 277631,
  [SMALL_STATE(7687)] = 277641,
  [SMALL_STATE(7688)] = 277655,
  [SMALL_STATE(7689)] = 277665,
  [SMALL_STATE(7690)] = 277679,
  [SMALL_STATE(7691)] = 277693,
  [SMALL_STATE(7692)] = 277707,
  [SMALL_STATE(7693)] = 277721,
  [SMALL_STATE(7694)] = 277735,
  [SMALL_STATE(7695)] = 277749,
  [SMALL_STATE(7696)] = 277763,
  [SMALL_STATE(7697)] = 277775,
  [SMALL_STATE(7698)] = 277785,
  [SMALL_STATE(7699)] = 277795,
  [SMALL_STATE(7700)] = 277809,
  [SMALL_STATE(7701)] = 277823,
  [SMALL_STATE(7702)] = 277837,
  [SMALL_STATE(7703)] = 277851,
  [SMALL_STATE(7704)] = 277865,
  [SMALL_STATE(7705)] = 277879,
  [SMALL_STATE(7706)] = 277893,
  [SMALL_STATE(7707)] = 277907,
  [SMALL_STATE(7708)] = 277921,
  [SMALL_STATE(7709)] = 277935,
  [SMALL_STATE(7710)] = 277949,
  [SMALL_STATE(7711)] = 277963,
  [SMALL_STATE(7712)] = 277977,
  [SMALL_STATE(7713)] = 277991,
  [SMALL_STATE(7714)] = 278005,
  [SMALL_STATE(7715)] = 278019,
  [SMALL_STATE(7716)] = 278033,
  [SMALL_STATE(7717)] = 278047,
  [SMALL_STATE(7718)] = 278057,
  [SMALL_STATE(7719)] = 278071,
  [SMALL_STATE(7720)] = 278085,
  [SMALL_STATE(7721)] = 278095,
  [SMALL_STATE(7722)] = 278105,
  [SMALL_STATE(7723)] = 278119,
  [SMALL_STATE(7724)] = 278133,
  [SMALL_STATE(7725)] = 278147,
  [SMALL_STATE(7726)] = 278157,
  [SMALL_STATE(7727)] = 278167,
  [SMALL_STATE(7728)] = 278181,
  [SMALL_STATE(7729)] = 278191,
  [SMALL_STATE(7730)] = 278201,
  [SMALL_STATE(7731)] = 278215,
  [SMALL_STATE(7732)] = 278229,
  [SMALL_STATE(7733)] = 278243,
  [SMALL_STATE(7734)] = 278253,
  [SMALL_STATE(7735)] = 278267,
  [SMALL_STATE(7736)] = 278277,
  [SMALL_STATE(7737)] = 278291,
  [SMALL_STATE(7738)] = 278301,
  [SMALL_STATE(7739)] = 278315,
  [SMALL_STATE(7740)] = 278329,
  [SMALL_STATE(7741)] = 278343,
  [SMALL_STATE(7742)] = 278357,
  [SMALL_STATE(7743)] = 278371,
  [SMALL_STATE(7744)] = 278385,
  [SMALL_STATE(7745)] = 278399,
  [SMALL_STATE(7746)] = 278409,
  [SMALL_STATE(7747)] = 278423,
  [SMALL_STATE(7748)] = 278437,
  [SMALL_STATE(7749)] = 278451,
  [SMALL_STATE(7750)] = 278465,
  [SMALL_STATE(7751)] = 278479,
  [SMALL_STATE(7752)] = 278493,
  [SMALL_STATE(7753)] = 278507,
  [SMALL_STATE(7754)] = 278517,
  [SMALL_STATE(7755)] = 278531,
  [SMALL_STATE(7756)] = 278543,
  [SMALL_STATE(7757)] = 278553,
  [SMALL_STATE(7758)] = 278563,
  [SMALL_STATE(7759)] = 278577,
  [SMALL_STATE(7760)] = 278591,
  [SMALL_STATE(7761)] = 278601,
  [SMALL_STATE(7762)] = 278615,
  [SMALL_STATE(7763)] = 278625,
  [SMALL_STATE(7764)] = 278639,
  [SMALL_STATE(7765)] = 278653,
  [SMALL_STATE(7766)] = 278667,
  [SMALL_STATE(7767)] = 278677,
  [SMALL_STATE(7768)] = 278691,
  [SMALL_STATE(7769)] = 278701,
  [SMALL_STATE(7770)] = 278711,
  [SMALL_STATE(7771)] = 278721,
  [SMALL_STATE(7772)] = 278735,
  [SMALL_STATE(7773)] = 278745,
  [SMALL_STATE(7774)] = 278759,
  [SMALL_STATE(7775)] = 278771,
  [SMALL_STATE(7776)] = 278785,
  [SMALL_STATE(7777)] = 278799,
  [SMALL_STATE(7778)] = 278809,
  [SMALL_STATE(7779)] = 278819,
  [SMALL_STATE(7780)] = 278829,
  [SMALL_STATE(7781)] = 278843,
  [SMALL_STATE(7782)] = 278857,
  [SMALL_STATE(7783)] = 278867,
  [SMALL_STATE(7784)] = 278881,
  [SMALL_STATE(7785)] = 278891,
  [SMALL_STATE(7786)] = 278905,
  [SMALL_STATE(7787)] = 278919,
  [SMALL_STATE(7788)] = 278933,
  [SMALL_STATE(7789)] = 278947,
  [SMALL_STATE(7790)] = 278961,
  [SMALL_STATE(7791)] = 278975,
  [SMALL_STATE(7792)] = 278985,
  [SMALL_STATE(7793)] = 278999,
  [SMALL_STATE(7794)] = 279009,
  [SMALL_STATE(7795)] = 279023,
  [SMALL_STATE(7796)] = 279037,
  [SMALL_STATE(7797)] = 279051,
  [SMALL_STATE(7798)] = 279065,
  [SMALL_STATE(7799)] = 279079,
  [SMALL_STATE(7800)] = 279093,
  [SMALL_STATE(7801)] = 279103,
  [SMALL_STATE(7802)] = 279117,
  [SMALL_STATE(7803)] = 279131,
  [SMALL_STATE(7804)] = 279145,
  [SMALL_STATE(7805)] = 279159,
  [SMALL_STATE(7806)] = 279173,
  [SMALL_STATE(7807)] = 279187,
  [SMALL_STATE(7808)] = 279201,
  [SMALL_STATE(7809)] = 279215,
  [SMALL_STATE(7810)] = 279229,
  [SMALL_STATE(7811)] = 279239,
  [SMALL_STATE(7812)] = 279253,
  [SMALL_STATE(7813)] = 279263,
  [SMALL_STATE(7814)] = 279277,
  [SMALL_STATE(7815)] = 279291,
  [SMALL_STATE(7816)] = 279301,
  [SMALL_STATE(7817)] = 279311,
  [SMALL_STATE(7818)] = 279325,
  [SMALL_STATE(7819)] = 279335,
  [SMALL_STATE(7820)] = 279349,
  [SMALL_STATE(7821)] = 279363,
  [SMALL_STATE(7822)] = 279377,
  [SMALL_STATE(7823)] = 279387,
  [SMALL_STATE(7824)] = 279401,
  [SMALL_STATE(7825)] = 279415,
  [SMALL_STATE(7826)] = 279425,
  [SMALL_STATE(7827)] = 279439,
  [SMALL_STATE(7828)] = 279453,
  [SMALL_STATE(7829)] = 279463,
  [SMALL_STATE(7830)] = 279473,
  [SMALL_STATE(7831)] = 279487,
  [SMALL_STATE(7832)] = 279501,
  [SMALL_STATE(7833)] = 279511,
  [SMALL_STATE(7834)] = 279521,
  [SMALL_STATE(7835)] = 279535,
  [SMALL_STATE(7836)] = 279549,
  [SMALL_STATE(7837)] = 279559,
  [SMALL_STATE(7838)] = 279573,
  [SMALL_STATE(7839)] = 279583,
  [SMALL_STATE(7840)] = 279593,
  [SMALL_STATE(7841)] = 279607,
  [SMALL_STATE(7842)] = 279617,
  [SMALL_STATE(7843)] = 279631,
  [SMALL_STATE(7844)] = 279645,
  [SMALL_STATE(7845)] = 279659,
  [SMALL_STATE(7846)] = 279673,
  [SMALL_STATE(7847)] = 279683,
  [SMALL_STATE(7848)] = 279693,
  [SMALL_STATE(7849)] = 279707,
  [SMALL_STATE(7850)] = 279721,
  [SMALL_STATE(7851)] = 279735,
  [SMALL_STATE(7852)] = 279749,
  [SMALL_STATE(7853)] = 279759,
  [SMALL_STATE(7854)] = 279769,
  [SMALL_STATE(7855)] = 279779,
  [SMALL_STATE(7856)] = 279789,
  [SMALL_STATE(7857)] = 279799,
  [SMALL_STATE(7858)] = 279813,
  [SMALL_STATE(7859)] = 279823,
  [SMALL_STATE(7860)] = 279833,
  [SMALL_STATE(7861)] = 279847,
  [SMALL_STATE(7862)] = 279861,
  [SMALL_STATE(7863)] = 279871,
  [SMALL_STATE(7864)] = 279881,
  [SMALL_STATE(7865)] = 279891,
  [SMALL_STATE(7866)] = 279901,
  [SMALL_STATE(7867)] = 279911,
  [SMALL_STATE(7868)] = 279925,
  [SMALL_STATE(7869)] = 279939,
  [SMALL_STATE(7870)] = 279953,
  [SMALL_STATE(7871)] = 279963,
  [SMALL_STATE(7872)] = 279973,
  [SMALL_STATE(7873)] = 279983,
  [SMALL_STATE(7874)] = 279997,
  [SMALL_STATE(7875)] = 280007,
  [SMALL_STATE(7876)] = 280017,
  [SMALL_STATE(7877)] = 280031,
  [SMALL_STATE(7878)] = 280045,
  [SMALL_STATE(7879)] = 280055,
  [SMALL_STATE(7880)] = 280065,
  [SMALL_STATE(7881)] = 280075,
  [SMALL_STATE(7882)] = 280089,
  [SMALL_STATE(7883)] = 280099,
  [SMALL_STATE(7884)] = 280109,
  [SMALL_STATE(7885)] = 280123,
  [SMALL_STATE(7886)] = 280137,
  [SMALL_STATE(7887)] = 280151,
  [SMALL_STATE(7888)] = 280161,
  [SMALL_STATE(7889)] = 280175,
  [SMALL_STATE(7890)] = 280189,
  [SMALL_STATE(7891)] = 280199,
  [SMALL_STATE(7892)] = 280209,
  [SMALL_STATE(7893)] = 280223,
  [SMALL_STATE(7894)] = 280237,
  [SMALL_STATE(7895)] = 280251,
  [SMALL_STATE(7896)] = 280261,
  [SMALL_STATE(7897)] = 280271,
  [SMALL_STATE(7898)] = 280281,
  [SMALL_STATE(7899)] = 280295,
  [SMALL_STATE(7900)] = 280309,
  [SMALL_STATE(7901)] = 280323,
  [SMALL_STATE(7902)] = 280337,
  [SMALL_STATE(7903)] = 280347,
  [SMALL_STATE(7904)] = 280357,
  [SMALL_STATE(7905)] = 280367,
  [SMALL_STATE(7906)] = 280381,
  [SMALL_STATE(7907)] = 280395,
  [SMALL_STATE(7908)] = 280409,
  [SMALL_STATE(7909)] = 280423,
  [SMALL_STATE(7910)] = 280437,
  [SMALL_STATE(7911)] = 280451,
  [SMALL_STATE(7912)] = 280461,
  [SMALL_STATE(7913)] = 280475,
  [SMALL_STATE(7914)] = 280489,
  [SMALL_STATE(7915)] = 280503,
  [SMALL_STATE(7916)] = 280513,
  [SMALL_STATE(7917)] = 280527,
  [SMALL_STATE(7918)] = 280541,
  [SMALL_STATE(7919)] = 280553,
  [SMALL_STATE(7920)] = 280567,
  [SMALL_STATE(7921)] = 280577,
  [SMALL_STATE(7922)] = 280587,
  [SMALL_STATE(7923)] = 280597,
  [SMALL_STATE(7924)] = 280611,
  [SMALL_STATE(7925)] = 280621,
  [SMALL_STATE(7926)] = 280635,
  [SMALL_STATE(7927)] = 280645,
  [SMALL_STATE(7928)] = 280655,
  [SMALL_STATE(7929)] = 280665,
  [SMALL_STATE(7930)] = 280675,
  [SMALL_STATE(7931)] = 280685,
  [SMALL_STATE(7932)] = 280695,
  [SMALL_STATE(7933)] = 280709,
  [SMALL_STATE(7934)] = 280719,
  [SMALL_STATE(7935)] = 280733,
  [SMALL_STATE(7936)] = 280747,
  [SMALL_STATE(7937)] = 280761,
  [SMALL_STATE(7938)] = 280775,
  [SMALL_STATE(7939)] = 280785,
  [SMALL_STATE(7940)] = 280799,
  [SMALL_STATE(7941)] = 280813,
  [SMALL_STATE(7942)] = 280827,
  [SMALL_STATE(7943)] = 280841,
  [SMALL_STATE(7944)] = 280855,
  [SMALL_STATE(7945)] = 280865,
  [SMALL_STATE(7946)] = 280875,
  [SMALL_STATE(7947)] = 280889,
  [SMALL_STATE(7948)] = 280903,
  [SMALL_STATE(7949)] = 280913,
  [SMALL_STATE(7950)] = 280927,
  [SMALL_STATE(7951)] = 280937,
  [SMALL_STATE(7952)] = 280947,
  [SMALL_STATE(7953)] = 280957,
  [SMALL_STATE(7954)] = 280967,
  [SMALL_STATE(7955)] = 280981,
  [SMALL_STATE(7956)] = 280993,
  [SMALL_STATE(7957)] = 281003,
  [SMALL_STATE(7958)] = 281017,
  [SMALL_STATE(7959)] = 281027,
  [SMALL_STATE(7960)] = 281041,
  [SMALL_STATE(7961)] = 281051,
  [SMALL_STATE(7962)] = 281065,
  [SMALL_STATE(7963)] = 281075,
  [SMALL_STATE(7964)] = 281089,
  [SMALL_STATE(7965)] = 281103,
  [SMALL_STATE(7966)] = 281117,
  [SMALL_STATE(7967)] = 281127,
  [SMALL_STATE(7968)] = 281137,
  [SMALL_STATE(7969)] = 281147,
  [SMALL_STATE(7970)] = 281161,
  [SMALL_STATE(7971)] = 281175,
  [SMALL_STATE(7972)] = 281185,
  [SMALL_STATE(7973)] = 281199,
  [SMALL_STATE(7974)] = 281209,
  [SMALL_STATE(7975)] = 281219,
  [SMALL_STATE(7976)] = 281233,
  [SMALL_STATE(7977)] = 281243,
  [SMALL_STATE(7978)] = 281253,
  [SMALL_STATE(7979)] = 281263,
  [SMALL_STATE(7980)] = 281277,
  [SMALL_STATE(7981)] = 281291,
  [SMALL_STATE(7982)] = 281305,
  [SMALL_STATE(7983)] = 281315,
  [SMALL_STATE(7984)] = 281329,
  [SMALL_STATE(7985)] = 281339,
  [SMALL_STATE(7986)] = 281349,
  [SMALL_STATE(7987)] = 281363,
  [SMALL_STATE(7988)] = 281377,
  [SMALL_STATE(7989)] = 281391,
  [SMALL_STATE(7990)] = 281401,
  [SMALL_STATE(7991)] = 281415,
  [SMALL_STATE(7992)] = 281429,
  [SMALL_STATE(7993)] = 281443,
  [SMALL_STATE(7994)] = 281457,
  [SMALL_STATE(7995)] = 281467,
  [SMALL_STATE(7996)] = 281481,
  [SMALL_STATE(7997)] = 281491,
  [SMALL_STATE(7998)] = 281505,
  [SMALL_STATE(7999)] = 281519,
  [SMALL_STATE(8000)] = 281529,
  [SMALL_STATE(8001)] = 281539,
  [SMALL_STATE(8002)] = 281553,
  [SMALL_STATE(8003)] = 281563,
  [SMALL_STATE(8004)] = 281577,
  [SMALL_STATE(8005)] = 281587,
  [SMALL_STATE(8006)] = 281597,
  [SMALL_STATE(8007)] = 281607,
  [SMALL_STATE(8008)] = 281621,
  [SMALL_STATE(8009)] = 281635,
  [SMALL_STATE(8010)] = 281649,
  [SMALL_STATE(8011)] = 281659,
  [SMALL_STATE(8012)] = 281673,
  [SMALL_STATE(8013)] = 281687,
  [SMALL_STATE(8014)] = 281697,
  [SMALL_STATE(8015)] = 281711,
  [SMALL_STATE(8016)] = 281725,
  [SMALL_STATE(8017)] = 281735,
  [SMALL_STATE(8018)] = 281749,
  [SMALL_STATE(8019)] = 281763,
  [SMALL_STATE(8020)] = 281773,
  [SMALL_STATE(8021)] = 281783,
  [SMALL_STATE(8022)] = 281793,
  [SMALL_STATE(8023)] = 281807,
  [SMALL_STATE(8024)] = 281817,
  [SMALL_STATE(8025)] = 281831,
  [SMALL_STATE(8026)] = 281841,
  [SMALL_STATE(8027)] = 281855,
  [SMALL_STATE(8028)] = 281869,
  [SMALL_STATE(8029)] = 281883,
  [SMALL_STATE(8030)] = 281893,
  [SMALL_STATE(8031)] = 281903,
  [SMALL_STATE(8032)] = 281913,
  [SMALL_STATE(8033)] = 281927,
  [SMALL_STATE(8034)] = 281937,
  [SMALL_STATE(8035)] = 281951,
  [SMALL_STATE(8036)] = 281961,
  [SMALL_STATE(8037)] = 281975,
  [SMALL_STATE(8038)] = 281985,
  [SMALL_STATE(8039)] = 281999,
  [SMALL_STATE(8040)] = 282009,
  [SMALL_STATE(8041)] = 282023,
  [SMALL_STATE(8042)] = 282033,
  [SMALL_STATE(8043)] = 282043,
  [SMALL_STATE(8044)] = 282057,
  [SMALL_STATE(8045)] = 282071,
  [SMALL_STATE(8046)] = 282081,
  [SMALL_STATE(8047)] = 282091,
  [SMALL_STATE(8048)] = 282105,
  [SMALL_STATE(8049)] = 282119,
  [SMALL_STATE(8050)] = 282133,
  [SMALL_STATE(8051)] = 282147,
  [SMALL_STATE(8052)] = 282161,
  [SMALL_STATE(8053)] = 282171,
  [SMALL_STATE(8054)] = 282181,
  [SMALL_STATE(8055)] = 282191,
  [SMALL_STATE(8056)] = 282205,
  [SMALL_STATE(8057)] = 282219,
  [SMALL_STATE(8058)] = 282233,
  [SMALL_STATE(8059)] = 282243,
  [SMALL_STATE(8060)] = 282257,
  [SMALL_STATE(8061)] = 282271,
  [SMALL_STATE(8062)] = 282285,
  [SMALL_STATE(8063)] = 282299,
  [SMALL_STATE(8064)] = 282313,
  [SMALL_STATE(8065)] = 282323,
  [SMALL_STATE(8066)] = 282337,
  [SMALL_STATE(8067)] = 282347,
  [SMALL_STATE(8068)] = 282357,
  [SMALL_STATE(8069)] = 282371,
  [SMALL_STATE(8070)] = 282385,
  [SMALL_STATE(8071)] = 282399,
  [SMALL_STATE(8072)] = 282409,
  [SMALL_STATE(8073)] = 282423,
  [SMALL_STATE(8074)] = 282437,
  [SMALL_STATE(8075)] = 282447,
  [SMALL_STATE(8076)] = 282461,
  [SMALL_STATE(8077)] = 282471,
  [SMALL_STATE(8078)] = 282481,
  [SMALL_STATE(8079)] = 282495,
  [SMALL_STATE(8080)] = 282509,
  [SMALL_STATE(8081)] = 282523,
  [SMALL_STATE(8082)] = 282533,
  [SMALL_STATE(8083)] = 282547,
  [SMALL_STATE(8084)] = 282557,
  [SMALL_STATE(8085)] = 282571,
  [SMALL_STATE(8086)] = 282581,
  [SMALL_STATE(8087)] = 282591,
  [SMALL_STATE(8088)] = 282601,
  [SMALL_STATE(8089)] = 282611,
  [SMALL_STATE(8090)] = 282621,
  [SMALL_STATE(8091)] = 282631,
  [SMALL_STATE(8092)] = 282641,
  [SMALL_STATE(8093)] = 282655,
  [SMALL_STATE(8094)] = 282665,
  [SMALL_STATE(8095)] = 282675,
  [SMALL_STATE(8096)] = 282689,
  [SMALL_STATE(8097)] = 282703,
  [SMALL_STATE(8098)] = 282717,
  [SMALL_STATE(8099)] = 282731,
  [SMALL_STATE(8100)] = 282745,
  [SMALL_STATE(8101)] = 282755,
  [SMALL_STATE(8102)] = 282769,
  [SMALL_STATE(8103)] = 282779,
  [SMALL_STATE(8104)] = 282793,
  [SMALL_STATE(8105)] = 282803,
  [SMALL_STATE(8106)] = 282813,
  [SMALL_STATE(8107)] = 282827,
  [SMALL_STATE(8108)] = 282841,
  [SMALL_STATE(8109)] = 282855,
  [SMALL_STATE(8110)] = 282865,
  [SMALL_STATE(8111)] = 282875,
  [SMALL_STATE(8112)] = 282885,
  [SMALL_STATE(8113)] = 282899,
  [SMALL_STATE(8114)] = 282909,
  [SMALL_STATE(8115)] = 282919,
  [SMALL_STATE(8116)] = 282933,
  [SMALL_STATE(8117)] = 282943,
  [SMALL_STATE(8118)] = 282957,
  [SMALL_STATE(8119)] = 282971,
  [SMALL_STATE(8120)] = 282985,
  [SMALL_STATE(8121)] = 282995,
  [SMALL_STATE(8122)] = 283009,
  [SMALL_STATE(8123)] = 283023,
  [SMALL_STATE(8124)] = 283037,
  [SMALL_STATE(8125)] = 283051,
  [SMALL_STATE(8126)] = 283063,
  [SMALL_STATE(8127)] = 283077,
  [SMALL_STATE(8128)] = 283091,
  [SMALL_STATE(8129)] = 283101,
  [SMALL_STATE(8130)] = 283111,
  [SMALL_STATE(8131)] = 283125,
  [SMALL_STATE(8132)] = 283139,
  [SMALL_STATE(8133)] = 283149,
  [SMALL_STATE(8134)] = 283163,
  [SMALL_STATE(8135)] = 283173,
  [SMALL_STATE(8136)] = 283187,
  [SMALL_STATE(8137)] = 283201,
  [SMALL_STATE(8138)] = 283215,
  [SMALL_STATE(8139)] = 283229,
  [SMALL_STATE(8140)] = 283239,
  [SMALL_STATE(8141)] = 283253,
  [SMALL_STATE(8142)] = 283267,
  [SMALL_STATE(8143)] = 283281,
  [SMALL_STATE(8144)] = 283295,
  [SMALL_STATE(8145)] = 283305,
  [SMALL_STATE(8146)] = 283315,
  [SMALL_STATE(8147)] = 283329,
  [SMALL_STATE(8148)] = 283343,
  [SMALL_STATE(8149)] = 283357,
  [SMALL_STATE(8150)] = 283371,
  [SMALL_STATE(8151)] = 283385,
  [SMALL_STATE(8152)] = 283395,
  [SMALL_STATE(8153)] = 283409,
  [SMALL_STATE(8154)] = 283423,
  [SMALL_STATE(8155)] = 283433,
  [SMALL_STATE(8156)] = 283443,
  [SMALL_STATE(8157)] = 283453,
  [SMALL_STATE(8158)] = 283463,
  [SMALL_STATE(8159)] = 283473,
  [SMALL_STATE(8160)] = 283487,
  [SMALL_STATE(8161)] = 283497,
  [SMALL_STATE(8162)] = 283507,
  [SMALL_STATE(8163)] = 283517,
  [SMALL_STATE(8164)] = 283531,
  [SMALL_STATE(8165)] = 283545,
  [SMALL_STATE(8166)] = 283555,
  [SMALL_STATE(8167)] = 283569,
  [SMALL_STATE(8168)] = 283583,
  [SMALL_STATE(8169)] = 283593,
  [SMALL_STATE(8170)] = 283607,
  [SMALL_STATE(8171)] = 283621,
  [SMALL_STATE(8172)] = 283635,
  [SMALL_STATE(8173)] = 283649,
  [SMALL_STATE(8174)] = 283659,
  [SMALL_STATE(8175)] = 283669,
  [SMALL_STATE(8176)] = 283683,
  [SMALL_STATE(8177)] = 283697,
  [SMALL_STATE(8178)] = 283707,
  [SMALL_STATE(8179)] = 283721,
  [SMALL_STATE(8180)] = 283731,
  [SMALL_STATE(8181)] = 283745,
  [SMALL_STATE(8182)] = 283759,
  [SMALL_STATE(8183)] = 283769,
  [SMALL_STATE(8184)] = 283783,
  [SMALL_STATE(8185)] = 283797,
  [SMALL_STATE(8186)] = 283811,
  [SMALL_STATE(8187)] = 283825,
  [SMALL_STATE(8188)] = 283835,
  [SMALL_STATE(8189)] = 283845,
  [SMALL_STATE(8190)] = 283859,
  [SMALL_STATE(8191)] = 283869,
  [SMALL_STATE(8192)] = 283879,
  [SMALL_STATE(8193)] = 283889,
  [SMALL_STATE(8194)] = 283903,
  [SMALL_STATE(8195)] = 283917,
  [SMALL_STATE(8196)] = 283931,
  [SMALL_STATE(8197)] = 283941,
  [SMALL_STATE(8198)] = 283955,
  [SMALL_STATE(8199)] = 283969,
  [SMALL_STATE(8200)] = 283983,
  [SMALL_STATE(8201)] = 283997,
  [SMALL_STATE(8202)] = 284011,
  [SMALL_STATE(8203)] = 284025,
  [SMALL_STATE(8204)] = 284039,
  [SMALL_STATE(8205)] = 284053,
  [SMALL_STATE(8206)] = 284067,
  [SMALL_STATE(8207)] = 284081,
  [SMALL_STATE(8208)] = 284091,
  [SMALL_STATE(8209)] = 284105,
  [SMALL_STATE(8210)] = 284119,
  [SMALL_STATE(8211)] = 284133,
  [SMALL_STATE(8212)] = 284147,
  [SMALL_STATE(8213)] = 284161,
  [SMALL_STATE(8214)] = 284171,
  [SMALL_STATE(8215)] = 284181,
  [SMALL_STATE(8216)] = 284195,
  [SMALL_STATE(8217)] = 284209,
  [SMALL_STATE(8218)] = 284223,
  [SMALL_STATE(8219)] = 284237,
  [SMALL_STATE(8220)] = 284251,
  [SMALL_STATE(8221)] = 284261,
  [SMALL_STATE(8222)] = 284271,
  [SMALL_STATE(8223)] = 284285,
  [SMALL_STATE(8224)] = 284299,
  [SMALL_STATE(8225)] = 284313,
  [SMALL_STATE(8226)] = 284323,
  [SMALL_STATE(8227)] = 284337,
  [SMALL_STATE(8228)] = 284351,
  [SMALL_STATE(8229)] = 284361,
  [SMALL_STATE(8230)] = 284371,
  [SMALL_STATE(8231)] = 284381,
  [SMALL_STATE(8232)] = 284395,
  [SMALL_STATE(8233)] = 284405,
  [SMALL_STATE(8234)] = 284415,
  [SMALL_STATE(8235)] = 284429,
  [SMALL_STATE(8236)] = 284443,
  [SMALL_STATE(8237)] = 284457,
  [SMALL_STATE(8238)] = 284471,
  [SMALL_STATE(8239)] = 284485,
  [SMALL_STATE(8240)] = 284495,
  [SMALL_STATE(8241)] = 284509,
  [SMALL_STATE(8242)] = 284523,
  [SMALL_STATE(8243)] = 284533,
  [SMALL_STATE(8244)] = 284547,
  [SMALL_STATE(8245)] = 284561,
  [SMALL_STATE(8246)] = 284572,
  [SMALL_STATE(8247)] = 284581,
  [SMALL_STATE(8248)] = 284592,
  [SMALL_STATE(8249)] = 284601,
  [SMALL_STATE(8250)] = 284612,
  [SMALL_STATE(8251)] = 284623,
  [SMALL_STATE(8252)] = 284632,
  [SMALL_STATE(8253)] = 284641,
  [SMALL_STATE(8254)] = 284652,
  [SMALL_STATE(8255)] = 284663,
  [SMALL_STATE(8256)] = 284674,
  [SMALL_STATE(8257)] = 284685,
  [SMALL_STATE(8258)] = 284696,
  [SMALL_STATE(8259)] = 284705,
  [SMALL_STATE(8260)] = 284716,
  [SMALL_STATE(8261)] = 284727,
  [SMALL_STATE(8262)] = 284738,
  [SMALL_STATE(8263)] = 284749,
  [SMALL_STATE(8264)] = 284760,
  [SMALL_STATE(8265)] = 284771,
  [SMALL_STATE(8266)] = 284782,
  [SMALL_STATE(8267)] = 284793,
  [SMALL_STATE(8268)] = 284804,
  [SMALL_STATE(8269)] = 284813,
  [SMALL_STATE(8270)] = 284822,
  [SMALL_STATE(8271)] = 284833,
  [SMALL_STATE(8272)] = 284844,
  [SMALL_STATE(8273)] = 284855,
  [SMALL_STATE(8274)] = 284866,
  [SMALL_STATE(8275)] = 284877,
  [SMALL_STATE(8276)] = 284888,
  [SMALL_STATE(8277)] = 284899,
  [SMALL_STATE(8278)] = 284910,
  [SMALL_STATE(8279)] = 284919,
  [SMALL_STATE(8280)] = 284930,
  [SMALL_STATE(8281)] = 284941,
  [SMALL_STATE(8282)] = 284952,
  [SMALL_STATE(8283)] = 284963,
  [SMALL_STATE(8284)] = 284974,
  [SMALL_STATE(8285)] = 284985,
  [SMALL_STATE(8286)] = 284996,
  [SMALL_STATE(8287)] = 285005,
  [SMALL_STATE(8288)] = 285016,
  [SMALL_STATE(8289)] = 285027,
  [SMALL_STATE(8290)] = 285038,
  [SMALL_STATE(8291)] = 285047,
  [SMALL_STATE(8292)] = 285058,
  [SMALL_STATE(8293)] = 285069,
  [SMALL_STATE(8294)] = 285080,
  [SMALL_STATE(8295)] = 285091,
  [SMALL_STATE(8296)] = 285102,
  [SMALL_STATE(8297)] = 285113,
  [SMALL_STATE(8298)] = 285124,
  [SMALL_STATE(8299)] = 285133,
  [SMALL_STATE(8300)] = 285144,
  [SMALL_STATE(8301)] = 285153,
  [SMALL_STATE(8302)] = 285164,
  [SMALL_STATE(8303)] = 285175,
  [SMALL_STATE(8304)] = 285184,
  [SMALL_STATE(8305)] = 285195,
  [SMALL_STATE(8306)] = 285206,
  [SMALL_STATE(8307)] = 285217,
  [SMALL_STATE(8308)] = 285228,
  [SMALL_STATE(8309)] = 285239,
  [SMALL_STATE(8310)] = 285250,
  [SMALL_STATE(8311)] = 285261,
  [SMALL_STATE(8312)] = 285270,
  [SMALL_STATE(8313)] = 285281,
  [SMALL_STATE(8314)] = 285292,
  [SMALL_STATE(8315)] = 285303,
  [SMALL_STATE(8316)] = 285314,
  [SMALL_STATE(8317)] = 285325,
  [SMALL_STATE(8318)] = 285336,
  [SMALL_STATE(8319)] = 285345,
  [SMALL_STATE(8320)] = 285356,
  [SMALL_STATE(8321)] = 285365,
  [SMALL_STATE(8322)] = 285374,
  [SMALL_STATE(8323)] = 285385,
  [SMALL_STATE(8324)] = 285396,
  [SMALL_STATE(8325)] = 285405,
  [SMALL_STATE(8326)] = 285414,
  [SMALL_STATE(8327)] = 285425,
  [SMALL_STATE(8328)] = 285436,
  [SMALL_STATE(8329)] = 285447,
  [SMALL_STATE(8330)] = 285458,
  [SMALL_STATE(8331)] = 285469,
  [SMALL_STATE(8332)] = 285480,
  [SMALL_STATE(8333)] = 285489,
  [SMALL_STATE(8334)] = 285498,
  [SMALL_STATE(8335)] = 285509,
  [SMALL_STATE(8336)] = 285518,
  [SMALL_STATE(8337)] = 285527,
  [SMALL_STATE(8338)] = 285538,
  [SMALL_STATE(8339)] = 285549,
  [SMALL_STATE(8340)] = 285558,
  [SMALL_STATE(8341)] = 285567,
  [SMALL_STATE(8342)] = 285578,
  [SMALL_STATE(8343)] = 285589,
  [SMALL_STATE(8344)] = 285600,
  [SMALL_STATE(8345)] = 285611,
  [SMALL_STATE(8346)] = 285622,
  [SMALL_STATE(8347)] = 285633,
  [SMALL_STATE(8348)] = 285644,
  [SMALL_STATE(8349)] = 285655,
  [SMALL_STATE(8350)] = 285666,
  [SMALL_STATE(8351)] = 285675,
  [SMALL_STATE(8352)] = 285686,
  [SMALL_STATE(8353)] = 285697,
  [SMALL_STATE(8354)] = 285708,
  [SMALL_STATE(8355)] = 285719,
  [SMALL_STATE(8356)] = 285730,
  [SMALL_STATE(8357)] = 285741,
  [SMALL_STATE(8358)] = 285752,
  [SMALL_STATE(8359)] = 285763,
  [SMALL_STATE(8360)] = 285772,
  [SMALL_STATE(8361)] = 285783,
  [SMALL_STATE(8362)] = 285794,
  [SMALL_STATE(8363)] = 285805,
  [SMALL_STATE(8364)] = 285816,
  [SMALL_STATE(8365)] = 285827,
  [SMALL_STATE(8366)] = 285838,
  [SMALL_STATE(8367)] = 285849,
  [SMALL_STATE(8368)] = 285860,
  [SMALL_STATE(8369)] = 285871,
  [SMALL_STATE(8370)] = 285882,
  [SMALL_STATE(8371)] = 285893,
  [SMALL_STATE(8372)] = 285904,
  [SMALL_STATE(8373)] = 285915,
  [SMALL_STATE(8374)] = 285926,
  [SMALL_STATE(8375)] = 285937,
  [SMALL_STATE(8376)] = 285948,
  [SMALL_STATE(8377)] = 285959,
  [SMALL_STATE(8378)] = 285970,
  [SMALL_STATE(8379)] = 285979,
  [SMALL_STATE(8380)] = 285988,
  [SMALL_STATE(8381)] = 285999,
  [SMALL_STATE(8382)] = 286010,
  [SMALL_STATE(8383)] = 286021,
  [SMALL_STATE(8384)] = 286032,
  [SMALL_STATE(8385)] = 286043,
  [SMALL_STATE(8386)] = 286054,
  [SMALL_STATE(8387)] = 286065,
  [SMALL_STATE(8388)] = 286074,
  [SMALL_STATE(8389)] = 286085,
  [SMALL_STATE(8390)] = 286096,
  [SMALL_STATE(8391)] = 286107,
  [SMALL_STATE(8392)] = 286118,
  [SMALL_STATE(8393)] = 286129,
  [SMALL_STATE(8394)] = 286138,
  [SMALL_STATE(8395)] = 286149,
  [SMALL_STATE(8396)] = 286160,
  [SMALL_STATE(8397)] = 286171,
  [SMALL_STATE(8398)] = 286180,
  [SMALL_STATE(8399)] = 286191,
  [SMALL_STATE(8400)] = 286202,
  [SMALL_STATE(8401)] = 286213,
  [SMALL_STATE(8402)] = 286224,
  [SMALL_STATE(8403)] = 286235,
  [SMALL_STATE(8404)] = 286246,
  [SMALL_STATE(8405)] = 286257,
  [SMALL_STATE(8406)] = 286266,
  [SMALL_STATE(8407)] = 286277,
  [SMALL_STATE(8408)] = 286288,
  [SMALL_STATE(8409)] = 286299,
  [SMALL_STATE(8410)] = 286308,
  [SMALL_STATE(8411)] = 286319,
  [SMALL_STATE(8412)] = 286330,
  [SMALL_STATE(8413)] = 286339,
  [SMALL_STATE(8414)] = 286348,
  [SMALL_STATE(8415)] = 286359,
  [SMALL_STATE(8416)] = 286370,
  [SMALL_STATE(8417)] = 286381,
  [SMALL_STATE(8418)] = 286392,
  [SMALL_STATE(8419)] = 286401,
  [SMALL_STATE(8420)] = 286412,
  [SMALL_STATE(8421)] = 286421,
  [SMALL_STATE(8422)] = 286432,
  [SMALL_STATE(8423)] = 286443,
  [SMALL_STATE(8424)] = 286452,
  [SMALL_STATE(8425)] = 286463,
  [SMALL_STATE(8426)] = 286472,
  [SMALL_STATE(8427)] = 286481,
  [SMALL_STATE(8428)] = 286492,
  [SMALL_STATE(8429)] = 286503,
  [SMALL_STATE(8430)] = 286514,
  [SMALL_STATE(8431)] = 286525,
  [SMALL_STATE(8432)] = 286536,
  [SMALL_STATE(8433)] = 286545,
  [SMALL_STATE(8434)] = 286556,
  [SMALL_STATE(8435)] = 286567,
  [SMALL_STATE(8436)] = 286576,
  [SMALL_STATE(8437)] = 286587,
  [SMALL_STATE(8438)] = 286598,
  [SMALL_STATE(8439)] = 286609,
  [SMALL_STATE(8440)] = 286620,
  [SMALL_STATE(8441)] = 286631,
  [SMALL_STATE(8442)] = 286642,
  [SMALL_STATE(8443)] = 286653,
  [SMALL_STATE(8444)] = 286664,
  [SMALL_STATE(8445)] = 286675,
  [SMALL_STATE(8446)] = 286684,
  [SMALL_STATE(8447)] = 286695,
  [SMALL_STATE(8448)] = 286706,
  [SMALL_STATE(8449)] = 286715,
  [SMALL_STATE(8450)] = 286726,
  [SMALL_STATE(8451)] = 286737,
  [SMALL_STATE(8452)] = 286748,
  [SMALL_STATE(8453)] = 286757,
  [SMALL_STATE(8454)] = 286768,
  [SMALL_STATE(8455)] = 286779,
  [SMALL_STATE(8456)] = 286790,
  [SMALL_STATE(8457)] = 286801,
  [SMALL_STATE(8458)] = 286812,
  [SMALL_STATE(8459)] = 286823,
  [SMALL_STATE(8460)] = 286834,
  [SMALL_STATE(8461)] = 286843,
  [SMALL_STATE(8462)] = 286854,
  [SMALL_STATE(8463)] = 286865,
  [SMALL_STATE(8464)] = 286876,
  [SMALL_STATE(8465)] = 286887,
  [SMALL_STATE(8466)] = 286898,
  [SMALL_STATE(8467)] = 286909,
  [SMALL_STATE(8468)] = 286918,
  [SMALL_STATE(8469)] = 286929,
  [SMALL_STATE(8470)] = 286940,
  [SMALL_STATE(8471)] = 286951,
  [SMALL_STATE(8472)] = 286962,
  [SMALL_STATE(8473)] = 286973,
  [SMALL_STATE(8474)] = 286982,
  [SMALL_STATE(8475)] = 286993,
  [SMALL_STATE(8476)] = 287004,
  [SMALL_STATE(8477)] = 287015,
  [SMALL_STATE(8478)] = 287026,
  [SMALL_STATE(8479)] = 287037,
  [SMALL_STATE(8480)] = 287048,
  [SMALL_STATE(8481)] = 287057,
  [SMALL_STATE(8482)] = 287068,
  [SMALL_STATE(8483)] = 287079,
  [SMALL_STATE(8484)] = 287090,
  [SMALL_STATE(8485)] = 287101,
  [SMALL_STATE(8486)] = 287112,
  [SMALL_STATE(8487)] = 287123,
  [SMALL_STATE(8488)] = 287134,
  [SMALL_STATE(8489)] = 287145,
  [SMALL_STATE(8490)] = 287154,
  [SMALL_STATE(8491)] = 287165,
  [SMALL_STATE(8492)] = 287174,
  [SMALL_STATE(8493)] = 287185,
  [SMALL_STATE(8494)] = 287196,
  [SMALL_STATE(8495)] = 287207,
  [SMALL_STATE(8496)] = 287218,
  [SMALL_STATE(8497)] = 287229,
  [SMALL_STATE(8498)] = 287240,
  [SMALL_STATE(8499)] = 287249,
  [SMALL_STATE(8500)] = 287260,
  [SMALL_STATE(8501)] = 287271,
  [SMALL_STATE(8502)] = 287282,
  [SMALL_STATE(8503)] = 287293,
  [SMALL_STATE(8504)] = 287304,
  [SMALL_STATE(8505)] = 287315,
  [SMALL_STATE(8506)] = 287326,
  [SMALL_STATE(8507)] = 287337,
  [SMALL_STATE(8508)] = 287348,
  [SMALL_STATE(8509)] = 287357,
  [SMALL_STATE(8510)] = 287368,
  [SMALL_STATE(8511)] = 287379,
  [SMALL_STATE(8512)] = 287390,
  [SMALL_STATE(8513)] = 287401,
  [SMALL_STATE(8514)] = 287412,
  [SMALL_STATE(8515)] = 287423,
  [SMALL_STATE(8516)] = 287432,
  [SMALL_STATE(8517)] = 287443,
  [SMALL_STATE(8518)] = 287454,
  [SMALL_STATE(8519)] = 287463,
  [SMALL_STATE(8520)] = 287474,
  [SMALL_STATE(8521)] = 287485,
  [SMALL_STATE(8522)] = 287496,
  [SMALL_STATE(8523)] = 287507,
  [SMALL_STATE(8524)] = 287518,
  [SMALL_STATE(8525)] = 287529,
  [SMALL_STATE(8526)] = 287540,
  [SMALL_STATE(8527)] = 287551,
  [SMALL_STATE(8528)] = 287560,
  [SMALL_STATE(8529)] = 287571,
  [SMALL_STATE(8530)] = 287582,
  [SMALL_STATE(8531)] = 287591,
  [SMALL_STATE(8532)] = 287600,
  [SMALL_STATE(8533)] = 287611,
  [SMALL_STATE(8534)] = 287622,
  [SMALL_STATE(8535)] = 287633,
  [SMALL_STATE(8536)] = 287644,
  [SMALL_STATE(8537)] = 287655,
  [SMALL_STATE(8538)] = 287664,
  [SMALL_STATE(8539)] = 287673,
  [SMALL_STATE(8540)] = 287684,
  [SMALL_STATE(8541)] = 287695,
  [SMALL_STATE(8542)] = 287706,
  [SMALL_STATE(8543)] = 287715,
  [SMALL_STATE(8544)] = 287726,
  [SMALL_STATE(8545)] = 287737,
  [SMALL_STATE(8546)] = 287748,
  [SMALL_STATE(8547)] = 287759,
  [SMALL_STATE(8548)] = 287770,
  [SMALL_STATE(8549)] = 287779,
  [SMALL_STATE(8550)] = 287790,
  [SMALL_STATE(8551)] = 287799,
  [SMALL_STATE(8552)] = 287810,
  [SMALL_STATE(8553)] = 287819,
  [SMALL_STATE(8554)] = 287830,
  [SMALL_STATE(8555)] = 287841,
  [SMALL_STATE(8556)] = 287852,
  [SMALL_STATE(8557)] = 287863,
  [SMALL_STATE(8558)] = 287874,
  [SMALL_STATE(8559)] = 287883,
  [SMALL_STATE(8560)] = 287892,
  [SMALL_STATE(8561)] = 287903,
  [SMALL_STATE(8562)] = 287914,
  [SMALL_STATE(8563)] = 287925,
  [SMALL_STATE(8564)] = 287936,
  [SMALL_STATE(8565)] = 287947,
  [SMALL_STATE(8566)] = 287958,
  [SMALL_STATE(8567)] = 287969,
  [SMALL_STATE(8568)] = 287980,
  [SMALL_STATE(8569)] = 287991,
  [SMALL_STATE(8570)] = 288002,
  [SMALL_STATE(8571)] = 288013,
  [SMALL_STATE(8572)] = 288024,
  [SMALL_STATE(8573)] = 288035,
  [SMALL_STATE(8574)] = 288046,
  [SMALL_STATE(8575)] = 288057,
  [SMALL_STATE(8576)] = 288066,
  [SMALL_STATE(8577)] = 288077,
  [SMALL_STATE(8578)] = 288088,
  [SMALL_STATE(8579)] = 288099,
  [SMALL_STATE(8580)] = 288110,
  [SMALL_STATE(8581)] = 288121,
  [SMALL_STATE(8582)] = 288132,
  [SMALL_STATE(8583)] = 288143,
  [SMALL_STATE(8584)] = 288154,
  [SMALL_STATE(8585)] = 288165,
  [SMALL_STATE(8586)] = 288176,
  [SMALL_STATE(8587)] = 288185,
  [SMALL_STATE(8588)] = 288196,
  [SMALL_STATE(8589)] = 288207,
  [SMALL_STATE(8590)] = 288218,
  [SMALL_STATE(8591)] = 288229,
  [SMALL_STATE(8592)] = 288240,
  [SMALL_STATE(8593)] = 288251,
  [SMALL_STATE(8594)] = 288262,
  [SMALL_STATE(8595)] = 288273,
  [SMALL_STATE(8596)] = 288282,
  [SMALL_STATE(8597)] = 288293,
  [SMALL_STATE(8598)] = 288304,
  [SMALL_STATE(8599)] = 288315,
  [SMALL_STATE(8600)] = 288326,
  [SMALL_STATE(8601)] = 288337,
  [SMALL_STATE(8602)] = 288348,
  [SMALL_STATE(8603)] = 288359,
  [SMALL_STATE(8604)] = 288370,
  [SMALL_STATE(8605)] = 288381,
  [SMALL_STATE(8606)] = 288392,
  [SMALL_STATE(8607)] = 288403,
  [SMALL_STATE(8608)] = 288414,
  [SMALL_STATE(8609)] = 288425,
  [SMALL_STATE(8610)] = 288436,
  [SMALL_STATE(8611)] = 288447,
  [SMALL_STATE(8612)] = 288458,
  [SMALL_STATE(8613)] = 288469,
  [SMALL_STATE(8614)] = 288480,
  [SMALL_STATE(8615)] = 288491,
  [SMALL_STATE(8616)] = 288502,
  [SMALL_STATE(8617)] = 288513,
  [SMALL_STATE(8618)] = 288524,
  [SMALL_STATE(8619)] = 288535,
  [SMALL_STATE(8620)] = 288546,
  [SMALL_STATE(8621)] = 288555,
  [SMALL_STATE(8622)] = 288566,
  [SMALL_STATE(8623)] = 288575,
  [SMALL_STATE(8624)] = 288586,
  [SMALL_STATE(8625)] = 288597,
  [SMALL_STATE(8626)] = 288608,
  [SMALL_STATE(8627)] = 288619,
  [SMALL_STATE(8628)] = 288630,
  [SMALL_STATE(8629)] = 288641,
  [SMALL_STATE(8630)] = 288652,
  [SMALL_STATE(8631)] = 288663,
  [SMALL_STATE(8632)] = 288674,
  [SMALL_STATE(8633)] = 288685,
  [SMALL_STATE(8634)] = 288696,
  [SMALL_STATE(8635)] = 288707,
  [SMALL_STATE(8636)] = 288718,
  [SMALL_STATE(8637)] = 288727,
  [SMALL_STATE(8638)] = 288736,
  [SMALL_STATE(8639)] = 288745,
  [SMALL_STATE(8640)] = 288756,
  [SMALL_STATE(8641)] = 288765,
  [SMALL_STATE(8642)] = 288776,
  [SMALL_STATE(8643)] = 288787,
  [SMALL_STATE(8644)] = 288798,
  [SMALL_STATE(8645)] = 288809,
  [SMALL_STATE(8646)] = 288820,
  [SMALL_STATE(8647)] = 288831,
  [SMALL_STATE(8648)] = 288842,
  [SMALL_STATE(8649)] = 288853,
  [SMALL_STATE(8650)] = 288864,
  [SMALL_STATE(8651)] = 288875,
  [SMALL_STATE(8652)] = 288886,
  [SMALL_STATE(8653)] = 288897,
  [SMALL_STATE(8654)] = 288908,
  [SMALL_STATE(8655)] = 288919,
  [SMALL_STATE(8656)] = 288930,
  [SMALL_STATE(8657)] = 288941,
  [SMALL_STATE(8658)] = 288950,
  [SMALL_STATE(8659)] = 288963,
  [SMALL_STATE(8660)] = 288971,
  [SMALL_STATE(8661)] = 288979,
  [SMALL_STATE(8662)] = 288987,
  [SMALL_STATE(8663)] = 288995,
  [SMALL_STATE(8664)] = 289003,
  [SMALL_STATE(8665)] = 289011,
  [SMALL_STATE(8666)] = 289019,
  [SMALL_STATE(8667)] = 289027,
  [SMALL_STATE(8668)] = 289035,
  [SMALL_STATE(8669)] = 289043,
  [SMALL_STATE(8670)] = 289051,
  [SMALL_STATE(8671)] = 289059,
  [SMALL_STATE(8672)] = 289067,
  [SMALL_STATE(8673)] = 289075,
  [SMALL_STATE(8674)] = 289083,
  [SMALL_STATE(8675)] = 289093,
  [SMALL_STATE(8676)] = 289101,
  [SMALL_STATE(8677)] = 289109,
  [SMALL_STATE(8678)] = 289117,
  [SMALL_STATE(8679)] = 289125,
  [SMALL_STATE(8680)] = 289133,
  [SMALL_STATE(8681)] = 289141,
  [SMALL_STATE(8682)] = 289149,
  [SMALL_STATE(8683)] = 289157,
  [SMALL_STATE(8684)] = 289165,
  [SMALL_STATE(8685)] = 289173,
  [SMALL_STATE(8686)] = 289181,
  [SMALL_STATE(8687)] = 289189,
  [SMALL_STATE(8688)] = 289197,
  [SMALL_STATE(8689)] = 289205,
  [SMALL_STATE(8690)] = 289213,
  [SMALL_STATE(8691)] = 289221,
  [SMALL_STATE(8692)] = 289229,
  [SMALL_STATE(8693)] = 289237,
  [SMALL_STATE(8694)] = 289247,
  [SMALL_STATE(8695)] = 289255,
  [SMALL_STATE(8696)] = 289263,
  [SMALL_STATE(8697)] = 289271,
  [SMALL_STATE(8698)] = 289279,
  [SMALL_STATE(8699)] = 289287,
  [SMALL_STATE(8700)] = 289295,
  [SMALL_STATE(8701)] = 289303,
  [SMALL_STATE(8702)] = 289311,
  [SMALL_STATE(8703)] = 289319,
  [SMALL_STATE(8704)] = 289327,
  [SMALL_STATE(8705)] = 289335,
  [SMALL_STATE(8706)] = 289343,
  [SMALL_STATE(8707)] = 289351,
  [SMALL_STATE(8708)] = 289359,
  [SMALL_STATE(8709)] = 289367,
  [SMALL_STATE(8710)] = 289375,
  [SMALL_STATE(8711)] = 289383,
  [SMALL_STATE(8712)] = 289391,
  [SMALL_STATE(8713)] = 289399,
  [SMALL_STATE(8714)] = 289407,
  [SMALL_STATE(8715)] = 289415,
  [SMALL_STATE(8716)] = 289423,
  [SMALL_STATE(8717)] = 289431,
  [SMALL_STATE(8718)] = 289439,
  [SMALL_STATE(8719)] = 289447,
  [SMALL_STATE(8720)] = 289455,
  [SMALL_STATE(8721)] = 289463,
  [SMALL_STATE(8722)] = 289471,
  [SMALL_STATE(8723)] = 289479,
  [SMALL_STATE(8724)] = 289487,
  [SMALL_STATE(8725)] = 289495,
  [SMALL_STATE(8726)] = 289503,
  [SMALL_STATE(8727)] = 289511,
  [SMALL_STATE(8728)] = 289519,
  [SMALL_STATE(8729)] = 289527,
  [SMALL_STATE(8730)] = 289535,
  [SMALL_STATE(8731)] = 289543,
  [SMALL_STATE(8732)] = 289551,
  [SMALL_STATE(8733)] = 289559,
  [SMALL_STATE(8734)] = 289567,
  [SMALL_STATE(8735)] = 289575,
  [SMALL_STATE(8736)] = 289583,
  [SMALL_STATE(8737)] = 289591,
  [SMALL_STATE(8738)] = 289599,
  [SMALL_STATE(8739)] = 289607,
  [SMALL_STATE(8740)] = 289615,
  [SMALL_STATE(8741)] = 289623,
  [SMALL_STATE(8742)] = 289631,
  [SMALL_STATE(8743)] = 289639,
  [SMALL_STATE(8744)] = 289647,
  [SMALL_STATE(8745)] = 289655,
  [SMALL_STATE(8746)] = 289663,
  [SMALL_STATE(8747)] = 289671,
  [SMALL_STATE(8748)] = 289679,
  [SMALL_STATE(8749)] = 289687,
  [SMALL_STATE(8750)] = 289695,
  [SMALL_STATE(8751)] = 289703,
  [SMALL_STATE(8752)] = 289711,
  [SMALL_STATE(8753)] = 289719,
  [SMALL_STATE(8754)] = 289727,
  [SMALL_STATE(8755)] = 289735,
  [SMALL_STATE(8756)] = 289743,
  [SMALL_STATE(8757)] = 289751,
  [SMALL_STATE(8758)] = 289759,
  [SMALL_STATE(8759)] = 289767,
  [SMALL_STATE(8760)] = 289775,
  [SMALL_STATE(8761)] = 289783,
  [SMALL_STATE(8762)] = 289791,
  [SMALL_STATE(8763)] = 289799,
  [SMALL_STATE(8764)] = 289807,
  [SMALL_STATE(8765)] = 289815,
  [SMALL_STATE(8766)] = 289823,
  [SMALL_STATE(8767)] = 289831,
  [SMALL_STATE(8768)] = 289839,
  [SMALL_STATE(8769)] = 289847,
  [SMALL_STATE(8770)] = 289855,
  [SMALL_STATE(8771)] = 289863,
  [SMALL_STATE(8772)] = 289871,
  [SMALL_STATE(8773)] = 289879,
  [SMALL_STATE(8774)] = 289887,
  [SMALL_STATE(8775)] = 289895,
  [SMALL_STATE(8776)] = 289905,
  [SMALL_STATE(8777)] = 289913,
  [SMALL_STATE(8778)] = 289921,
  [SMALL_STATE(8779)] = 289929,
  [SMALL_STATE(8780)] = 289937,
  [SMALL_STATE(8781)] = 289945,
  [SMALL_STATE(8782)] = 289953,
  [SMALL_STATE(8783)] = 289963,
  [SMALL_STATE(8784)] = 289971,
  [SMALL_STATE(8785)] = 289979,
  [SMALL_STATE(8786)] = 289987,
  [SMALL_STATE(8787)] = 289995,
  [SMALL_STATE(8788)] = 290003,
  [SMALL_STATE(8789)] = 290011,
  [SMALL_STATE(8790)] = 290019,
  [SMALL_STATE(8791)] = 290027,
  [SMALL_STATE(8792)] = 290035,
  [SMALL_STATE(8793)] = 290043,
  [SMALL_STATE(8794)] = 290051,
  [SMALL_STATE(8795)] = 290059,
  [SMALL_STATE(8796)] = 290067,
  [SMALL_STATE(8797)] = 290075,
  [SMALL_STATE(8798)] = 290083,
  [SMALL_STATE(8799)] = 290091,
  [SMALL_STATE(8800)] = 290099,
  [SMALL_STATE(8801)] = 290107,
  [SMALL_STATE(8802)] = 290115,
  [SMALL_STATE(8803)] = 290123,
  [SMALL_STATE(8804)] = 290131,
  [SMALL_STATE(8805)] = 290139,
  [SMALL_STATE(8806)] = 290147,
  [SMALL_STATE(8807)] = 290155,
  [SMALL_STATE(8808)] = 290163,
  [SMALL_STATE(8809)] = 290171,
  [SMALL_STATE(8810)] = 290179,
  [SMALL_STATE(8811)] = 290187,
  [SMALL_STATE(8812)] = 290197,
  [SMALL_STATE(8813)] = 290205,
  [SMALL_STATE(8814)] = 290213,
  [SMALL_STATE(8815)] = 290221,
  [SMALL_STATE(8816)] = 290229,
  [SMALL_STATE(8817)] = 290237,
  [SMALL_STATE(8818)] = 290245,
  [SMALL_STATE(8819)] = 290253,
  [SMALL_STATE(8820)] = 290261,
  [SMALL_STATE(8821)] = 290269,
  [SMALL_STATE(8822)] = 290277,
  [SMALL_STATE(8823)] = 290285,
  [SMALL_STATE(8824)] = 290293,
  [SMALL_STATE(8825)] = 290301,
  [SMALL_STATE(8826)] = 290309,
  [SMALL_STATE(8827)] = 290317,
  [SMALL_STATE(8828)] = 290325,
  [SMALL_STATE(8829)] = 290333,
  [SMALL_STATE(8830)] = 290343,
  [SMALL_STATE(8831)] = 290351,
  [SMALL_STATE(8832)] = 290359,
  [SMALL_STATE(8833)] = 290369,
  [SMALL_STATE(8834)] = 290377,
  [SMALL_STATE(8835)] = 290385,
  [SMALL_STATE(8836)] = 290393,
  [SMALL_STATE(8837)] = 290401,
  [SMALL_STATE(8838)] = 290409,
  [SMALL_STATE(8839)] = 290417,
  [SMALL_STATE(8840)] = 290425,
  [SMALL_STATE(8841)] = 290433,
  [SMALL_STATE(8842)] = 290441,
  [SMALL_STATE(8843)] = 290449,
  [SMALL_STATE(8844)] = 290457,
  [SMALL_STATE(8845)] = 290465,
  [SMALL_STATE(8846)] = 290473,
  [SMALL_STATE(8847)] = 290481,
  [SMALL_STATE(8848)] = 290489,
  [SMALL_STATE(8849)] = 290497,
  [SMALL_STATE(8850)] = 290505,
  [SMALL_STATE(8851)] = 290513,
  [SMALL_STATE(8852)] = 290521,
  [SMALL_STATE(8853)] = 290529,
  [SMALL_STATE(8854)] = 290537,
  [SMALL_STATE(8855)] = 290545,
  [SMALL_STATE(8856)] = 290553,
  [SMALL_STATE(8857)] = 290561,
  [SMALL_STATE(8858)] = 290569,
  [SMALL_STATE(8859)] = 290577,
  [SMALL_STATE(8860)] = 290585,
  [SMALL_STATE(8861)] = 290593,
  [SMALL_STATE(8862)] = 290601,
  [SMALL_STATE(8863)] = 290609,
  [SMALL_STATE(8864)] = 290617,
  [SMALL_STATE(8865)] = 290625,
  [SMALL_STATE(8866)] = 290633,
  [SMALL_STATE(8867)] = 290643,
  [SMALL_STATE(8868)] = 290651,
  [SMALL_STATE(8869)] = 290659,
  [SMALL_STATE(8870)] = 290667,
  [SMALL_STATE(8871)] = 290675,
  [SMALL_STATE(8872)] = 290683,
  [SMALL_STATE(8873)] = 290691,
  [SMALL_STATE(8874)] = 290699,
  [SMALL_STATE(8875)] = 290707,
  [SMALL_STATE(8876)] = 290715,
  [SMALL_STATE(8877)] = 290723,
  [SMALL_STATE(8878)] = 290731,
  [SMALL_STATE(8879)] = 290741,
  [SMALL_STATE(8880)] = 290749,
  [SMALL_STATE(8881)] = 290757,
  [SMALL_STATE(8882)] = 290765,
  [SMALL_STATE(8883)] = 290773,
  [SMALL_STATE(8884)] = 290781,
  [SMALL_STATE(8885)] = 290789,
  [SMALL_STATE(8886)] = 290797,
  [SMALL_STATE(8887)] = 290805,
  [SMALL_STATE(8888)] = 290813,
  [SMALL_STATE(8889)] = 290821,
  [SMALL_STATE(8890)] = 290829,
  [SMALL_STATE(8891)] = 290837,
  [SMALL_STATE(8892)] = 290845,
  [SMALL_STATE(8893)] = 290853,
  [SMALL_STATE(8894)] = 290861,
  [SMALL_STATE(8895)] = 290869,
  [SMALL_STATE(8896)] = 290877,
  [SMALL_STATE(8897)] = 290885,
  [SMALL_STATE(8898)] = 290893,
  [SMALL_STATE(8899)] = 290901,
  [SMALL_STATE(8900)] = 290909,
  [SMALL_STATE(8901)] = 290917,
  [SMALL_STATE(8902)] = 290925,
  [SMALL_STATE(8903)] = 290933,
  [SMALL_STATE(8904)] = 290941,
  [SMALL_STATE(8905)] = 290949,
  [SMALL_STATE(8906)] = 290957,
  [SMALL_STATE(8907)] = 290965,
  [SMALL_STATE(8908)] = 290973,
  [SMALL_STATE(8909)] = 290981,
  [SMALL_STATE(8910)] = 290989,
  [SMALL_STATE(8911)] = 290997,
  [SMALL_STATE(8912)] = 291005,
  [SMALL_STATE(8913)] = 291013,
  [SMALL_STATE(8914)] = 291021,
  [SMALL_STATE(8915)] = 291029,
  [SMALL_STATE(8916)] = 291037,
  [SMALL_STATE(8917)] = 291045,
  [SMALL_STATE(8918)] = 291053,
  [SMALL_STATE(8919)] = 291061,
  [SMALL_STATE(8920)] = 291069,
  [SMALL_STATE(8921)] = 291077,
  [SMALL_STATE(8922)] = 291085,
  [SMALL_STATE(8923)] = 291093,
  [SMALL_STATE(8924)] = 291101,
  [SMALL_STATE(8925)] = 291109,
  [SMALL_STATE(8926)] = 291117,
  [SMALL_STATE(8927)] = 291125,
  [SMALL_STATE(8928)] = 291133,
  [SMALL_STATE(8929)] = 291141,
  [SMALL_STATE(8930)] = 291149,
  [SMALL_STATE(8931)] = 291157,
  [SMALL_STATE(8932)] = 291165,
  [SMALL_STATE(8933)] = 291173,
  [SMALL_STATE(8934)] = 291181,
  [SMALL_STATE(8935)] = 291189,
  [SMALL_STATE(8936)] = 291199,
  [SMALL_STATE(8937)] = 291207,
  [SMALL_STATE(8938)] = 291215,
  [SMALL_STATE(8939)] = 291223,
  [SMALL_STATE(8940)] = 291231,
  [SMALL_STATE(8941)] = 291239,
  [SMALL_STATE(8942)] = 291247,
  [SMALL_STATE(8943)] = 291255,
  [SMALL_STATE(8944)] = 291263,
  [SMALL_STATE(8945)] = 291271,
  [SMALL_STATE(8946)] = 291279,
  [SMALL_STATE(8947)] = 291287,
  [SMALL_STATE(8948)] = 291295,
  [SMALL_STATE(8949)] = 291303,
  [SMALL_STATE(8950)] = 291311,
  [SMALL_STATE(8951)] = 291319,
  [SMALL_STATE(8952)] = 291327,
  [SMALL_STATE(8953)] = 291335,
  [SMALL_STATE(8954)] = 291343,
  [SMALL_STATE(8955)] = 291351,
  [SMALL_STATE(8956)] = 291359,
  [SMALL_STATE(8957)] = 291367,
  [SMALL_STATE(8958)] = 291375,
  [SMALL_STATE(8959)] = 291383,
  [SMALL_STATE(8960)] = 291391,
  [SMALL_STATE(8961)] = 291399,
  [SMALL_STATE(8962)] = 291407,
  [SMALL_STATE(8963)] = 291415,
  [SMALL_STATE(8964)] = 291423,
  [SMALL_STATE(8965)] = 291431,
  [SMALL_STATE(8966)] = 291439,
  [SMALL_STATE(8967)] = 291447,
  [SMALL_STATE(8968)] = 291455,
  [SMALL_STATE(8969)] = 291463,
  [SMALL_STATE(8970)] = 291471,
  [SMALL_STATE(8971)] = 291479,
  [SMALL_STATE(8972)] = 291487,
  [SMALL_STATE(8973)] = 291495,
  [SMALL_STATE(8974)] = 291503,
  [SMALL_STATE(8975)] = 291511,
  [SMALL_STATE(8976)] = 291519,
  [SMALL_STATE(8977)] = 291527,
  [SMALL_STATE(8978)] = 291535,
  [SMALL_STATE(8979)] = 291543,
  [SMALL_STATE(8980)] = 291551,
  [SMALL_STATE(8981)] = 291559,
  [SMALL_STATE(8982)] = 291567,
  [SMALL_STATE(8983)] = 291575,
  [SMALL_STATE(8984)] = 291583,
  [SMALL_STATE(8985)] = 291591,
  [SMALL_STATE(8986)] = 291599,
  [SMALL_STATE(8987)] = 291607,
  [SMALL_STATE(8988)] = 291615,
  [SMALL_STATE(8989)] = 291623,
  [SMALL_STATE(8990)] = 291631,
  [SMALL_STATE(8991)] = 291639,
  [SMALL_STATE(8992)] = 291647,
  [SMALL_STATE(8993)] = 291655,
  [SMALL_STATE(8994)] = 291663,
  [SMALL_STATE(8995)] = 291671,
  [SMALL_STATE(8996)] = 291679,
  [SMALL_STATE(8997)] = 291687,
  [SMALL_STATE(8998)] = 291695,
  [SMALL_STATE(8999)] = 291703,
  [SMALL_STATE(9000)] = 291711,
  [SMALL_STATE(9001)] = 291719,
  [SMALL_STATE(9002)] = 291729,
  [SMALL_STATE(9003)] = 291737,
  [SMALL_STATE(9004)] = 291745,
  [SMALL_STATE(9005)] = 291753,
  [SMALL_STATE(9006)] = 291761,
  [SMALL_STATE(9007)] = 291769,
  [SMALL_STATE(9008)] = 291777,
  [SMALL_STATE(9009)] = 291785,
  [SMALL_STATE(9010)] = 291793,
  [SMALL_STATE(9011)] = 291801,
  [SMALL_STATE(9012)] = 291809,
  [SMALL_STATE(9013)] = 291817,
  [SMALL_STATE(9014)] = 291825,
  [SMALL_STATE(9015)] = 291833,
  [SMALL_STATE(9016)] = 291841,
  [SMALL_STATE(9017)] = 291849,
  [SMALL_STATE(9018)] = 291857,
  [SMALL_STATE(9019)] = 291865,
  [SMALL_STATE(9020)] = 291873,
  [SMALL_STATE(9021)] = 291881,
  [SMALL_STATE(9022)] = 291889,
  [SMALL_STATE(9023)] = 291897,
  [SMALL_STATE(9024)] = 291905,
  [SMALL_STATE(9025)] = 291913,
  [SMALL_STATE(9026)] = 291921,
  [SMALL_STATE(9027)] = 291929,
};

static const TSParseActionEntry ts_parse_actions[] = {
  [0] = {.entry = {.count = 0, .reusable = false}},
  [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(),
  [3] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(),
  [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(),
  [7] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0, 0, 0),
  [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1131),
  [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2368),
  [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2368),
  [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1728),
  [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2387),
  [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(187),
  [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(991),
  [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(193),
  [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(990),
  [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1535),
  [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1535),
  [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2641),
  [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6185),
  [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1692),
  [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6063),
  [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2656),
  [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(364),
  [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142),
  [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1138),
  [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(205),
  [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(676),
  [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1126),
  [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(661),
  [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49),
  [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2659),
  [59] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2668),
  [61] = {.entry = {.count = 1, .reusable = false}}, SHIFT(207),
  [63] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8265),
  [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1468),
  [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1125),
  [69] = {.entry = {.count = 1, .reusable = true}}, SHIFT(662),
  [71] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1130),
  [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5914),
  [75] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4600),
  [77] = {.entry = {.count = 1, .reusable = false}}, SHIFT(208),
  [79] = {.entry = {.count = 1, .reusable = false}}, SHIFT(708),
  [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4924),
  [83] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5646),
  [85] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5650),
  [87] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2111),
  [89] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5655),
  [91] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5668),
  [93] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5060),
  [95] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2108),
  [97] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5514),
  [99] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4715),
  [101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8948),
  [103] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6280),
  [105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3758),
  [107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5681),
  [109] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5683),
  [111] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5291),
  [113] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2995),
  [115] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2720),
  [117] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2326),
  [119] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2992),
  [121] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2990),
  [123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2979),
  [125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2979),
  [127] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2977),
  [129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2977),
  [131] = {.entry = {.count = 1, .reusable = false}}, SHIFT(989),
  [133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8309),
  [135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2639),
  [137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(654),
  [139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1131),
  [141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4841),
  [143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4884),
  [145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2640),
  [147] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1586),
  [149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1586),
  [151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7100),
  [153] = {.entry = {.count = 1, .reusable = false}}, SHIFT(375),
  [155] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3825),
  [157] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7741),
  [159] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7876),
  [161] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5801),
  [163] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6307),
  [165] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6501),
  [167] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2890),
  [169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4856),
  [171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2912),
  [173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7003),
  [175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4508),
  [177] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1704),
  [179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1704),
  [181] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1693),
  [183] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1696),
  [185] = {.entry = {.count = 1, .reusable = false}}, SHIFT(153),
  [187] = {.entry = {.count = 1, .reusable = false}}, SHIFT(847),
  [189] = {.entry = {.count = 1, .reusable = false}}, SHIFT(154),
  [191] = {.entry = {.count = 1, .reusable = false}}, SHIFT(998),
  [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(333),
  [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132),
  [197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1825),
  [199] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72),
  [201] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2210),
  [203] = {.entry = {.count = 1, .reusable = false}}, SHIFT(180),
  [205] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3811),
  [207] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4804),
  [209] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5295),
  [211] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4807),
  [213] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4769),
  [215] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4792),
  [217] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4791),
  [219] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3854),
  [221] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4794),
  [223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4794),
  [225] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3841),
  [227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3841),
  [229] = {.entry = {.count = 1, .reusable = false}}, SHIFT(994),
  [231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8831),
  [233] = {.entry = {.count = 1, .reusable = false}}, SHIFT(846),
  [235] = {.entry = {.count = 1, .reusable = false}}, SHIFT(993),
  [237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1028),
  [239] = {.entry = {.count = 1, .reusable = false}}, SHIFT(96),
  [241] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5220),
  [243] = {.entry = {.count = 1, .reusable = false}}, SHIFT(997),
  [245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1865),
  [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1774),
  [249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1855),
  [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1921),
  [253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1045),
  [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1800),
  [257] = {.entry = {.count = 1, .reusable = false}}, SHIFT(88),
  [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1763),
  [261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1854),
  [263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1897),
  [265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1859),
  [267] = {.entry = {.count = 1, .reusable = false}}, SHIFT(100),
  [269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(849),
  [271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1038),
  [273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(851),
  [275] = {.entry = {.count = 1, .reusable = false}}, SHIFT(92),
  [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1023),
  [279] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0),
  [281] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 2, 0, 0),
  [283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 3, 0, 0),
  [285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 4, 0, 0),
  [287] = {.entry = {.count = 1, .reusable = false}}, SHIFT(768),
  [289] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1210),
  [291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1210),
  [293] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1004),
  [295] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1226),
  [297] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122),
  [299] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statements, 3, 0, 0),
  [301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(123),
  [303] = {.entry = {.count = 1, .reusable = false}}, SHIFT(800),
  [305] = {.entry = {.count = 1, .reusable = true}}, SHIFT(800),
  [307] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1387),
  [309] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6135),
  [311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(978),
  [313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6108),
  [315] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1353),
  [317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(340),
  [319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149),
  [321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(770),
  [323] = {.entry = {.count = 1, .reusable = false}}, SHIFT(217),
  [325] = {.entry = {.count = 1, .reusable = false}}, SHIFT(709),
  [327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(769),
  [329] = {.entry = {.count = 1, .reusable = false}}, SHIFT(669),
  [331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38),
  [333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statements, 3, 0, 0),
  [335] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1418),
  [337] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1408),
  [339] = {.entry = {.count = 1, .reusable = false}}, SHIFT(210),
  [341] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8556),
  [343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(771),
  [345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(667),
  [347] = {.entry = {.count = 1, .reusable = false}}, SHIFT(772),
  [349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5808),
  [351] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4601),
  [353] = {.entry = {.count = 1, .reusable = false}}, SHIFT(209),
  [355] = {.entry = {.count = 1, .reusable = false}}, SHIFT(658),
  [357] = {.entry = {.count = 1, .reusable = false}}, SHIFT(124),
  [359] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5676),
  [361] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5644),
  [363] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5642),
  [365] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4612),
  [367] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8926),
  [369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1404),
  [371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(673),
  [373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(768),
  [375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4849),
  [377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4913),
  [379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1382),
  [381] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statements, 2, 0, 0),
  [383] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statements, 2, 0, 0),
  [385] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1708),
  [387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5273),
  [389] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5155),
  [391] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5152),
  [393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5152),
  [395] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1449),
  [397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5298),
  [399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3364),
  [401] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77),
  [403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2520),
  [405] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93),
  [407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1880),
  [409] = {.entry = {.count = 1, .reusable = false}}, SHIFT(58),
  [411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1820),
  [413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1939),
  [415] = {.entry = {.count = 1, .reusable = false}}, SHIFT(63),
  [417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1443),
  [419] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84),
  [421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1345),
  [423] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81),
  [425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1302),
  [427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1765),
  [429] = {.entry = {.count = 1, .reusable = false}}, SHIFT(90),
  [431] = {.entry = {.count = 1, .reusable = true}}, SHIFT(902),
  [433] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98),
  [435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3681),
  [437] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65),
  [439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2980),
  [441] = {.entry = {.count = 1, .reusable = false}}, SHIFT(94),
  [443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3163),
  [445] = {.entry = {.count = 1, .reusable = false}}, SHIFT(78),
  [447] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_prefix_expression, 2, 0, 29),
  [449] = {.entry = {.count = 1, .reusable = false}}, SHIFT(864),
  [451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(864),
  [453] = {.entry = {.count = 1, .reusable = false}}, SHIFT(190),
  [455] = {.entry = {.count = 1, .reusable = false}}, SHIFT(192),
  [457] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1662),
  [459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1662),
  [461] = {.entry = {.count = 1, .reusable = false}}, SHIFT(921),
  [463] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6202),
  [465] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1697),
  [467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6045),
  [469] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prefix_expression, 2, 0, 29),
  [471] = {.entry = {.count = 1, .reusable = false}}, SHIFT(920),
  [473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1169),
  [475] = {.entry = {.count = 1, .reusable = false}}, SHIFT(228),
  [477] = {.entry = {.count = 1, .reusable = false}}, SHIFT(646),
  [479] = {.entry = {.count = 1, .reusable = false}}, SHIFT(656),
  [481] = {.entry = {.count = 1, .reusable = false}}, SHIFT(919),
  [483] = {.entry = {.count = 1, .reusable = false}}, SHIFT(918),
  [485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(927),
  [487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4798),
  [489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4867),
  [491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(926),
  [493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1021),
  [495] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73),
  [497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2422),
  [499] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80),
  [501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2752),
  [503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1871),
  [505] = {.entry = {.count = 1, .reusable = false}}, SHIFT(54),
  [507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1910),
  [509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2357),
  [511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1272),
  [513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1221),
  [515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1899),
  [517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6508),
  [519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7319),
  [521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7494),
  [523] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4534),
  [525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1942),
  [527] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3000),
  [529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3587),
  [531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2619),
  [533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7419),
  [535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1444),
  [537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4553),
  [539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6915),
  [541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2512),
  [543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1836),
  [545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1016),
  [547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(957),
  [549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6929),
  [551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7808),
  [553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3540),
  [555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3113),
  [557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4528),
  [559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2435),
  [561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1347),
  [563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2753),
  [565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3030),
  [567] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1356),
  [569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4527),
  [571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2808),
  [573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(880),
  [575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1791),
  [577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2831),
  [579] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1752),
  [581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4543),
  [583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(848),
  [585] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2687),
  [587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2973),
  [589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1314),
  [591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1037),
  [593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3106),
  [595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(940),
  [597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7258),
  [599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1815),
  [601] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7474),
  [603] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1022),
  [605] = {.entry = {.count = 1, .reusable = false}}, SHIFT(738),
  [607] = {.entry = {.count = 1, .reusable = false}}, SHIFT(107),
  [609] = {.entry = {.count = 1, .reusable = false}}, SHIFT(103),
  [611] = {.entry = {.count = 1, .reusable = false}}, SHIFT(752),
  [613] = {.entry = {.count = 1, .reusable = true}}, SHIFT(752),
  [615] = {.entry = {.count = 1, .reusable = true}}, SHIFT(798),
  [617] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0),
  [619] = {.entry = {.count = 1, .reusable = true}}, SHIFT(359),
  [621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141),
  [623] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0),
  [625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(741),
  [627] = {.entry = {.count = 1, .reusable = false}}, SHIFT(628),
  [629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(737),
  [631] = {.entry = {.count = 1, .reusable = false}}, SHIFT(681),
  [633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42),
  [635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(736),
  [637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(694),
  [639] = {.entry = {.count = 1, .reusable = false}}, SHIFT(740),
  [641] = {.entry = {.count = 1, .reusable = true}}, SHIFT(622),
  [643] = {.entry = {.count = 1, .reusable = true}}, SHIFT(738),
  [645] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4852),
  [647] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1673),
  [649] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1673),
  [651] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4846),
  [653] = {.entry = {.count = 1, .reusable = false}}, SHIFT(746),
  [655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(746),
  [657] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3298),
  [659] = {.entry = {.count = 1, .reusable = false}}, SHIFT(760),
  [661] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1147),
  [663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1147),
  [665] = {.entry = {.count = 1, .reusable = false}}, SHIFT(119),
  [667] = {.entry = {.count = 1, .reusable = false}}, SHIFT(117),
  [669] = {.entry = {.count = 1, .reusable = false}}, SHIFT(785),
  [671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(785),
  [673] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1290),
  [675] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6180),
  [677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(929),
  [679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6113),
  [681] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1286),
  [683] = {.entry = {.count = 1, .reusable = true}}, SHIFT(361),
  [685] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148),
  [687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(759),
  [689] = {.entry = {.count = 1, .reusable = false}}, SHIFT(211),
  [691] = {.entry = {.count = 1, .reusable = false}}, SHIFT(585),
  [693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(762),
  [695] = {.entry = {.count = 1, .reusable = false}}, SHIFT(644),
  [697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39),
  [699] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1289),
  [701] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1317),
  [703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(765),
  [705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(695),
  [707] = {.entry = {.count = 1, .reusable = false}}, SHIFT(766),
  [709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1231),
  [711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(659),
  [713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(760),
  [715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4848),
  [717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4893),
  [719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1251),
  [721] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1679),
  [723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1679),
  [725] = {.entry = {.count = 1, .reusable = false}}, SHIFT(776),
  [727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(776),
  [729] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1680),
  [731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1680),
  [733] = {.entry = {.count = 1, .reusable = false}}, SHIFT(121),
  [735] = {.entry = {.count = 1, .reusable = false}}, SHIFT(792),
  [737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(792),
  [739] = {.entry = {.count = 1, .reusable = false}}, SHIFT(789),
  [741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(789),
  [743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40),
  [745] = {.entry = {.count = 1, .reusable = false}}, SHIFT(801),
  [747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(801),
  [749] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_control_transfer_statement, 1, 0, 0),
  [751] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_control_transfer_statement, 1, 0, 0),
  [753] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1164),
  [755] = {.entry = {.count = 1, .reusable = false}}, SHIFT(845),
  [757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(845),
  [759] = {.entry = {.count = 1, .reusable = false}}, SHIFT(130),
  [761] = {.entry = {.count = 1, .reusable = false}}, SHIFT(125),
  [763] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1483),
  [765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1483),
  [767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131),
  [769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150),
  [771] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4658),
  [773] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4653),
  [775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1070),
  [777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1165),
  [779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1171),
  [781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(657),
  [783] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1155),
  [785] = {.entry = {.count = 1, .reusable = true}}, SHIFT(629),
  [787] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1164),
  [789] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2239),
  [791] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2239),
  [793] = {.entry = {.count = 1, .reusable = false}}, SHIFT(126),
  [795] = {.entry = {.count = 1, .reusable = false}}, SHIFT(127),
  [797] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1519),
  [799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1519),
  [801] = {.entry = {.count = 1, .reusable = false}}, SHIFT(128),
  [803] = {.entry = {.count = 1, .reusable = false}}, SHIFT(129),
  [805] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1545),
  [807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1545),
  [809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5764),
  [811] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5226),
  [813] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5760),
  [815] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5003),
  [817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5003),
  [819] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1684),
  [821] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1521),
  [823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1521),
  [825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8496),
  [827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2795),
  [829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5226),
  [831] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6083),
  [833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6083),
  [835] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4832),
  [837] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1540),
  [839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1540),
  [841] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1683),
  [843] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1514),
  [845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1514),
  [847] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8580),
  [849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(907),
  [851] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1512),
  [853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1512),
  [855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8472),
  [857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3692),
  [859] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1516),
  [861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1516),
  [863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8643),
  [865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2999),
  [867] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1487),
  [869] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1487),
  [871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8344),
  [873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2539),
  [875] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1508),
  [877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1508),
  [879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8294),
  [881] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3451),
  [883] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1520),
  [885] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1520),
  [887] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8540),
  [889] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3125),
  [891] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1485),
  [893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1485),
  [895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8304),
  [897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1336),
  [899] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1522),
  [901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1522),
  [903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8461),
  [905] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1371),
  [907] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1570),
  [909] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1570),
  [911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151),
  [913] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4989),
  [915] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4383),
  [917] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6718),
  [919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1513),
  [921] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1554),
  [923] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1554),
  [925] = {.entry = {.count = 1, .reusable = false}}, SHIFT(184),
  [927] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1471),
  [929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1471),
  [931] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1472),
  [933] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1472),
  [935] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34),
  [937] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1558),
  [939] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1558),
  [941] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6773),
  [943] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2143),
  [945] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6764),
  [947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6733),
  [949] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6708),
  [951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6240),
  [953] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6630),
  [955] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2097),
  [957] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3815),
  [959] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6194),
  [961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6233),
  [963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6598),
  [965] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6205),
  [967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3826),
  [969] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1122),
  [971] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2240),
  [973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2240),
  [975] = {.entry = {.count = 1, .reusable = false}}, SHIFT(171),
  [977] = {.entry = {.count = 1, .reusable = false}}, SHIFT(175),
  [979] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1465),
  [981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1465),
  [983] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2601),
  [985] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6126),
  [987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1687),
  [989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6120),
  [991] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2556),
  [993] = {.entry = {.count = 1, .reusable = true}}, SHIFT(355),
  [995] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145),
  [997] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1097),
  [999] = {.entry = {.count = 1, .reusable = false}}, SHIFT(219),
  [1001] = {.entry = {.count = 1, .reusable = false}}, SHIFT(623),
  [1003] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1110),
  [1005] = {.entry = {.count = 1, .reusable = false}}, SHIFT(575),
  [1007] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48),
  [1009] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2467),
  [1011] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2536),
  [1013] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1101),
  [1015] = {.entry = {.count = 1, .reusable = true}}, SHIFT(576),
  [1017] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1103),
  [1019] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2561),
  [1021] = {.entry = {.count = 1, .reusable = true}}, SHIFT(711),
  [1023] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1122),
  [1025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4850),
  [1027] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4892),
  [1029] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2533),
  [1031] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1219),
  [1033] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2787),
  [1035] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2787),
  [1037] = {.entry = {.count = 1, .reusable = false}}, SHIFT(201),
  [1039] = {.entry = {.count = 1, .reusable = false}}, SHIFT(199),
  [1041] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1528),
  [1043] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1528),
  [1045] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3426),
  [1047] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6200),
  [1049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1699),
  [1051] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6026),
  [1053] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3101),
  [1055] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152),
  [1057] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147),
  [1059] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1194),
  [1061] = {.entry = {.count = 1, .reusable = false}}, SHIFT(226),
  [1063] = {.entry = {.count = 1, .reusable = false}}, SHIFT(727),
  [1065] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1212),
  [1067] = {.entry = {.count = 1, .reusable = false}}, SHIFT(712),
  [1069] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45),
  [1071] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3382),
  [1073] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3104),
  [1075] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4982),
  [1077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1192),
  [1079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(714),
  [1081] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4330),
  [1083] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1190),
  [1085] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6715),
  [1087] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3091),
  [1089] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1501),
  [1091] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1219),
  [1093] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4858),
  [1095] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4900),
  [1097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3094),
  [1099] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1463),
  [1101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1463),
  [1103] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1675),
  [1105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1675),
  [1107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1523),
  [1109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1523),
  [1111] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1530),
  [1113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1530),
  [1115] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1677),
  [1117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1677),
  [1119] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1159),
  [1121] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2445),
  [1123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2445),
  [1125] = {.entry = {.count = 1, .reusable = false}}, SHIFT(189),
  [1127] = {.entry = {.count = 1, .reusable = false}}, SHIFT(195),
  [1129] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1511),
  [1131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1511),
  [1133] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3052),
  [1135] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6152),
  [1137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1694),
  [1139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6087),
  [1141] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2955),
  [1143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(349),
  [1145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144),
  [1147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1170),
  [1149] = {.entry = {.count = 1, .reusable = false}}, SHIFT(215),
  [1151] = {.entry = {.count = 1, .reusable = false}}, SHIFT(696),
  [1153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1156),
  [1155] = {.entry = {.count = 1, .reusable = false}}, SHIFT(716),
  [1157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44),
  [1159] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3053),
  [1161] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3040),
  [1163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1154),
  [1165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(672),
  [1167] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1177),
  [1169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2951),
  [1171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(647),
  [1173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1159),
  [1175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4854),
  [1177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4898),
  [1179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3058),
  [1181] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1682),
  [1183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1682),
  [1185] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1672),
  [1187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1672),
  [1189] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1491),
  [1191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1491),
  [1193] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value_argument_label, 1, 0, 39),
  [1195] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1214),
  [1197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2652),
  [1199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2652),
  [1201] = {.entry = {.count = 1, .reusable = false}}, SHIFT(197),
  [1203] = {.entry = {.count = 1, .reusable = false}}, SHIFT(202),
  [1205] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1524),
  [1207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1524),
  [1209] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3389),
  [1211] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6174),
  [1213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1698),
  [1215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6072),
  [1217] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3428),
  [1219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360),
  [1221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146),
  [1223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1207),
  [1225] = {.entry = {.count = 1, .reusable = false}}, SHIFT(222),
  [1227] = {.entry = {.count = 1, .reusable = false}}, SHIFT(730),
  [1229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1215),
  [1231] = {.entry = {.count = 1, .reusable = false}}, SHIFT(605),
  [1233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33),
  [1235] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3295),
  [1237] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3431),
  [1239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1229),
  [1241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(604),
  [1243] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1227),
  [1245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3418),
  [1247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(616),
  [1249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1214),
  [1251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4844),
  [1253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4917),
  [1255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3421),
  [1257] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1681),
  [1259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1681),
  [1261] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1527),
  [1263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1527),
  [1265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(343),
  [1267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(707),
  [1269] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1678),
  [1271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1678),
  [1273] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1526),
  [1275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1526),
  [1277] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1588),
  [1279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1588),
  [1281] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1674),
  [1283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1674),
  [1285] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1467),
  [1287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1467),
  [1289] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4835),
  [1291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4828),
  [1293] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1318),
  [1295] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2967),
  [1297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2967),
  [1299] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3045),
  [1301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(229),
  [1303] = {.entry = {.count = 1, .reusable = false}}, SHIFT(225),
  [1305] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1598),
  [1307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1598),
  [1309] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3658),
  [1311] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6175),
  [1313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1700),
  [1315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6027),
  [1317] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3663),
  [1319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(351),
  [1321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143),
  [1323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1288),
  [1325] = {.entry = {.count = 1, .reusable = false}}, SHIFT(221),
  [1327] = {.entry = {.count = 1, .reusable = false}}, SHIFT(702),
  [1329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1319),
  [1331] = {.entry = {.count = 1, .reusable = false}}, SHIFT(595),
  [1333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43),
  [1335] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3639),
  [1337] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3666),
  [1339] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4837),
  [1341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1287),
  [1343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(592),
  [1345] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1280),
  [1347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3655),
  [1349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(620),
  [1351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1318),
  [1353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4824),
  [1355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4864),
  [1357] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3656),
  [1359] = {.entry = {.count = 1, .reusable = false}}, SHIFT(797),
  [1361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(797),
  [1363] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4840),
  [1365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4796),
  [1367] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1609),
  [1369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1609),
  [1371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4853),
  [1373] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1599),
  [1375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1599),
  [1377] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1572),
  [1379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1572),
  [1381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1262),
  [1383] = {.entry = {.count = 1, .reusable = false}}, SHIFT(196),
  [1385] = {.entry = {.count = 1, .reusable = false}}, SHIFT(538),
  [1387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5227),
  [1389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2584),
  [1391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2578),
  [1393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2577),
  [1395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2683),
  [1397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2678),
  [1399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3001),
  [1401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3647),
  [1403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2685),
  [1405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2596),
  [1407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3633),
  [1409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2679),
  [1411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(910),
  [1413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1420),
  [1415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2597),
  [1417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(901),
  [1419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3662),
  [1421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(942),
  [1423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1437),
  [1425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(944),
  [1427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2338),
  [1429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3669),
  [1431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__interpolation_contents, 2, 0, 41),
  [1433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1201),
  [1435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2880),
  [1437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(860),
  [1439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(969),
  [1441] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__interpolation_contents, 3, 0, 82),
  [1443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(966),
  [1445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3603),
  [1447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2739),
  [1449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3601),
  [1451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2740),
  [1453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2273),
  [1455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2602),
  [1457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3235),
  [1459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1388),
  [1461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1397),
  [1463] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1311),
  [1465] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1167),
  [1467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3240),
  [1469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2734),
  [1471] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3365),
  [1473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1439),
  [1475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3367),
  [1477] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1441),
  [1479] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3411),
  [1481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1331),
  [1483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3412),
  [1485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2875),
  [1487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7252),
  [1489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2500),
  [1491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1316),
  [1493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3400),
  [1495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3401),
  [1497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1244),
  [1499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3548),
  [1501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2917),
  [1503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7194),
  [1505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3461),
  [1507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3553),
  [1509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2863),
  [1511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2937),
  [1513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2780),
  [1515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3032),
  [1517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7172),
  [1519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1349),
  [1521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3465),
  [1523] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1832),
  [1525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1832),
  [1527] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1563),
  [1529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1563),
  [1531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6374),
  [1533] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__tuple_type_item_identifier, 2, 0, 11), SHIFT(864),
  [1536] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__tuple_type_item_identifier, 2, 0, 11), SHIFT(864),
  [1539] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__tuple_type_item_identifier, 2, 0, 11), SHIFT(190),
  [1542] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__tuple_type_item_identifier, 2, 0, 11), SHIFT(192),
  [1545] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1562),
  [1547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1562),
  [1549] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__tuple_type_item_identifier, 2, 0, 11), SHIFT(359),
  [1552] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__tuple_type_item_identifier, 2, 0, 11), SHIFT(141),
  [1555] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__tuple_type_item_identifier, 2, 0, 11),
  [1557] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__tuple_type_item_identifier, 2, 0, 11), SHIFT(1169),
  [1560] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tuple_type_item_identifier, 2, 0, 11),
  [1562] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1597),
  [1564] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1597),
  [1566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4863),
  [1568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3858),
  [1570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4964),
  [1572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1595),
  [1574] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1533),
  [1576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1533),
  [1578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5128),
  [1580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2476),
  [1582] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1531),
  [1584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1531),
  [1586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2318),
  [1588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2427),
  [1590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5321),
  [1592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5932),
  [1594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5172),
  [1596] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1548),
  [1598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1548),
  [1600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4965),
  [1602] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1547),
  [1604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1547),
  [1606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2407),
  [1608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1624),
  [1610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5917),
  [1612] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1585),
  [1614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1585),
  [1616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2428),
  [1618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3844),
  [1620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5316),
  [1622] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1553),
  [1624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1553),
  [1626] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1590),
  [1628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1590),
  [1630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2478),
  [1632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4862),
  [1634] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1648),
  [1636] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1648),
  [1638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8813),
  [1640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2911),
  [1642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8839),
  [1644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2620),
  [1646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8717),
  [1648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1363),
  [1650] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1667),
  [1652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1667),
  [1654] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__binding_pattern_with_expr, 2, 0, 0),
  [1656] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1560),
  [1658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1560),
  [1660] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_value_argument_repeat1, 2, 0, 81), SHIFT(864),
  [1663] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_value_argument_repeat1, 2, 0, 81), SHIFT(864),
  [1666] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_value_argument_repeat1, 2, 0, 81), SHIFT(190),
  [1669] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_value_argument_repeat1, 2, 0, 81), SHIFT(192),
  [1672] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1538),
  [1674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1538),
  [1676] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_value_argument_repeat1, 2, 0, 81),
  [1678] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_value_argument_repeat1, 2, 0, 81), SHIFT(228),
  [1681] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_value_argument_repeat1, 2, 0, 81), SHIFT(646),
  [1684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8761),
  [1686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1403),
  [1688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8972),
  [1690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1299),
  [1692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8911),
  [1694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(963),
  [1696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8913),
  [1698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3546),
  [1700] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1668),
  [1702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1668),
  [1704] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8750),
  [1706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2878),
  [1708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8807),
  [1710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2803),
  [1712] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1583),
  [1714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1583),
  [1716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8937),
  [1718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(948),
  [1720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8823),
  [1722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3288),
  [1724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8975),
  [1726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1326),
  [1728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8825),
  [1730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2599),
  [1732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8882),
  [1734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3489),
  [1736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8894),
  [1738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2788),
  [1740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8705),
  [1742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3605),
  [1744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8855),
  [1746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3348),
  [1748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8695),
  [1750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3701),
  [1752] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1496),
  [1754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1496),
  [1756] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1481),
  [1758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1481),
  [1760] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1489),
  [1762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1489),
  [1764] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1632),
  [1766] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1632),
  [1768] = {.entry = {.count = 1, .reusable = false}}, SHIFT(728),
  [1770] = {.entry = {.count = 1, .reusable = false}}, SHIFT(743),
  [1772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(743),
  [1774] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1579),
  [1776] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1579),
  [1778] = {.entry = {.count = 1, .reusable = false}}, SHIFT(774),
  [1780] = {.entry = {.count = 1, .reusable = true}}, SHIFT(774),
  [1782] = {.entry = {.count = 1, .reusable = false}}, SHIFT(783),
  [1784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(783),
  [1786] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1561),
  [1788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1561),
  [1790] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1652),
  [1792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1652),
  [1794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(627),
  [1796] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1669),
  [1798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1669),
  [1800] = {.entry = {.count = 1, .reusable = true}}, SHIFT(640),
  [1802] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1645),
  [1804] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1645),
  [1806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(652),
  [1808] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1457),
  [1810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1457),
  [1812] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1630),
  [1814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1630),
  [1816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(591),
  [1818] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1452),
  [1820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1452),
  [1822] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1476),
  [1824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1476),
  [1826] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1642),
  [1828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1642),
  [1830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(705),
  [1832] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1660),
  [1834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1660),
  [1836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(597),
  [1838] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1650),
  [1840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1650),
  [1842] = {.entry = {.count = 1, .reusable = true}}, SHIFT(634),
  [1844] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1634),
  [1846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1634),
  [1848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(602),
  [1850] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__attribute_argument_repeat1, 2, 0, 0), SHIFT(864),
  [1853] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__attribute_argument_repeat1, 2, 0, 0), SHIFT(864),
  [1856] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__attribute_argument_repeat1, 2, 0, 0), SHIFT(190),
  [1859] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__attribute_argument_repeat1, 2, 0, 0), SHIFT(192),
  [1862] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1592),
  [1864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1592),
  [1866] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__attribute_argument_repeat1, 2, 0, 0),
  [1868] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1628),
  [1870] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1628),
  [1872] = {.entry = {.count = 1, .reusable = true}}, SHIFT(733),
  [1874] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1626),
  [1876] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1626),
  [1878] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3060),
  [1880] = {.entry = {.count = 1, .reusable = true}}, SHIFT(951),
  [1882] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2567),
  [1884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2586),
  [1886] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1593),
  [1888] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1593),
  [1890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3599),
  [1892] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1406),
  [1894] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1414),
  [1896] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2605),
  [1898] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2606),
  [1900] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1503),
  [1902] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1503),
  [1904] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4830),
  [1906] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1381),
  [1908] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1384),
  [1910] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2623),
  [1912] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2627),
  [1914] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1424),
  [1916] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3406),
  [1918] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1445),
  [1920] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2711),
  [1922] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2869),
  [1924] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2876),
  [1926] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2900),
  [1928] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2908),
  [1930] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3438),
  [1932] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3699),
  [1934] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2928),
  [1936] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3615),
  [1938] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2939),
  [1940] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1279),
  [1942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(958),
  [1944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1344),
  [1946] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3492),
  [1948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2772),
  [1950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3512),
  [1952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1239),
  [1954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1284),
  [1956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3552),
  [1958] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1236),
  [1960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1313),
  [1962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3593),
  [1964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2801),
  [1966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3408),
  [1968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3386),
  [1970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2791),
  [1972] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3346),
  [1974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3341),
  [1976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3286),
  [1978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3277),
  [1980] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2675),
  [1982] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3702),
  [1984] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3614),
  [1986] = {.entry = {.count = 1, .reusable = true}}, SHIFT(965),
  [1988] = {.entry = {.count = 1, .reusable = true}}, SHIFT(950),
  [1990] = {.entry = {.count = 1, .reusable = true}}, SHIFT(922),
  [1992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2796),
  [1994] = {.entry = {.count = 1, .reusable = true}}, SHIFT(925),
  [1996] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1591),
  [1998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1591),
  [2000] = {.entry = {.count = 1, .reusable = false}}, SHIFT(796),
  [2002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(796),
  [2004] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1461),
  [2006] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1461),
  [2008] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1464),
  [2010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1464),
  [2012] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1549),
  [2014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1549),
  [2016] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1629),
  [2018] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1629),
  [2020] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1500),
  [2022] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1500),
  [2024] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1639),
  [2026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1639),
  [2028] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1534),
  [2030] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1534),
  [2032] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1664),
  [2034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1664),
  [2036] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1641),
  [2038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1641),
  [2040] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1456),
  [2042] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1456),
  [2044] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1659),
  [2046] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1659),
  [2048] = {.entry = {.count = 1, .reusable = false}}, SHIFT(782),
  [2050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(782),
  [2052] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1640),
  [2054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1640),
  [2056] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1493),
  [2058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1493),
  [2060] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1580),
  [2062] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1580),
  [2064] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1663),
  [2066] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1663),
  [2068] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1617),
  [2070] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1617),
  [2072] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1492),
  [2074] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1492),
  [2076] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1479),
  [2078] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1479),
  [2080] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1606),
  [2082] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1606),
  [2084] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1510),
  [2086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1510),
  [2088] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1649),
  [2090] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1649),
  [2092] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1478),
  [2094] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1478),
  [2096] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1576),
  [2098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1576),
  [2100] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1504),
  [2102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1504),
  [2104] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1499),
  [2106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1499),
  [2108] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1653),
  [2110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1653),
  [2112] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1622),
  [2114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1622),
  [2116] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1574),
  [2118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1574),
  [2120] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1587),
  [2122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1587),
  [2124] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1571),
  [2126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1571),
  [2128] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1661),
  [2130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1661),
  [2132] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1460),
  [2134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1460),
  [2136] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1546),
  [2138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1546),
  [2140] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1543),
  [2142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1543),
  [2144] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1604),
  [2146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1604),
  [2148] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1631),
  [2150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1631),
  [2152] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1651),
  [2154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1651),
  [2156] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1573),
  [2158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1573),
  [2160] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1462),
  [2162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1462),
  [2164] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3499),
  [2166] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1568),
  [2168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1568),
  [2170] = {.entry = {.count = 1, .reusable = false}}, SHIFT(139),
  [2172] = {.entry = {.count = 1, .reusable = false}}, SHIFT(198),
  [2174] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1541),
  [2176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1541),
  [2178] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1577),
  [2180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1577),
  [2182] = {.entry = {.count = 1, .reusable = false}}, SHIFT(781),
  [2184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(781),
  [2186] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3618),
  [2188] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1594),
  [2190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1594),
  [2192] = {.entry = {.count = 1, .reusable = false}}, SHIFT(140),
  [2194] = {.entry = {.count = 1, .reusable = false}}, SHIFT(203),
  [2196] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1636),
  [2198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1636),
  [2200] = {.entry = {.count = 1, .reusable = false}}, SHIFT(937),
  [2202] = {.entry = {.count = 1, .reusable = false}}, SHIFT(748),
  [2204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(748),
  [2206] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46),
  [2208] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106),
  [2210] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1654),
  [2212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1654),
  [2214] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1505),
  [2216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1505),
  [2218] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1470),
  [2220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1470),
  [2222] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1656),
  [2224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1656),
  [2226] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1486),
  [2228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1486),
  [2230] = {.entry = {.count = 1, .reusable = false}}, SHIFT(137),
  [2232] = {.entry = {.count = 1, .reusable = false}}, SHIFT(194),
  [2234] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1610),
  [2236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1610),
  [2238] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1557),
  [2240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1557),
  [2242] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1532),
  [2244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1532),
  [2246] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1671),
  [2248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1671),
  [2250] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1627),
  [2252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1627),
  [2254] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1480),
  [2256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1480),
  [2258] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1658),
  [2260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1658),
  [2262] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1458),
  [2264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1458),
  [2266] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1550),
  [2268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1550),
  [2270] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1502),
  [2272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1502),
  [2274] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1637),
  [2276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1637),
  [2278] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1536),
  [2280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1536),
  [2282] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1613),
  [2284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1613),
  [2286] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1529),
  [2288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1529),
  [2290] = {.entry = {.count = 1, .reusable = false}}, SHIFT(779),
  [2292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(779),
  [2294] = {.entry = {.count = 1, .reusable = false}}, SHIFT(778),
  [2296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(778),
  [2298] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2929),
  [2300] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1498),
  [2302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1498),
  [2304] = {.entry = {.count = 1, .reusable = false}}, SHIFT(136),
  [2306] = {.entry = {.count = 1, .reusable = false}}, SHIFT(191),
  [2308] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1466),
  [2310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1466),
  [2312] = {.entry = {.count = 1, .reusable = false}}, SHIFT(753),
  [2314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(753),
  [2316] = {.entry = {.count = 1, .reusable = false}}, SHIFT(775),
  [2318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(775),
  [2320] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1612),
  [2322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1612),
  [2324] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1646),
  [2326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1646),
  [2328] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1477),
  [2330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1477),
  [2332] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2822),
  [2334] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1469),
  [2336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1469),
  [2338] = {.entry = {.count = 1, .reusable = false}}, SHIFT(134),
  [2340] = {.entry = {.count = 1, .reusable = false}}, SHIFT(188),
  [2342] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1665),
  [2344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1665),
  [2346] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1506),
  [2348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1506),
  [2350] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1507),
  [2352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1507),
  [2354] = {.entry = {.count = 1, .reusable = false}}, SHIFT(799),
  [2356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(799),
  [2358] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1265),
  [2360] = {.entry = {.count = 1, .reusable = false}}, SHIFT(784),
  [2362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(784),
  [2364] = {.entry = {.count = 1, .reusable = false}}, SHIFT(114),
  [2366] = {.entry = {.count = 1, .reusable = false}}, SHIFT(118),
  [2368] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1473),
  [2370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1473),
  [2372] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1474),
  [2374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1474),
  [2376] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1475),
  [2378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1475),
  [2380] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1544),
  [2382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1544),
  [2384] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1600),
  [2386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1600),
  [2388] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1602),
  [2390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1602),
  [2392] = {.entry = {.count = 1, .reusable = false}}, SHIFT(745),
  [2394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(745),
  [2396] = {.entry = {.count = 1, .reusable = false}}, SHIFT(793),
  [2398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(793),
  [2400] = {.entry = {.count = 1, .reusable = false}}, SHIFT(754),
  [2402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(754),
  [2404] = {.entry = {.count = 1, .reusable = false}}, SHIFT(794),
  [2406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(794),
  [2408] = {.entry = {.count = 1, .reusable = false}}, SHIFT(787),
  [2410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(787),
  [2412] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1584),
  [2414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1584),
  [2416] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1484),
  [2418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1484),
  [2420] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1419),
  [2422] = {.entry = {.count = 1, .reusable = false}}, SHIFT(795),
  [2424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(795),
  [2426] = {.entry = {.count = 1, .reusable = false}}, SHIFT(116),
  [2428] = {.entry = {.count = 1, .reusable = false}}, SHIFT(120),
  [2430] = {.entry = {.count = 1, .reusable = false}}, SHIFT(747),
  [2432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(747),
  [2434] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1525),
  [2436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1525),
  [2438] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1647),
  [2440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1647),
  [2442] = {.entry = {.count = 1, .reusable = false}}, SHIFT(749),
  [2444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(749),
  [2446] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1614),
  [2448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1614),
  [2450] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1582),
  [2452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1582),
  [2454] = {.entry = {.count = 1, .reusable = false}}, SHIFT(744),
  [2456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(744),
  [2458] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1619),
  [2460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1619),
  [2462] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1643),
  [2464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1643),
  [2466] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1581),
  [2468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1581),
  [2470] = {.entry = {.count = 1, .reusable = false}}, SHIFT(786),
  [2472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(786),
  [2474] = {.entry = {.count = 1, .reusable = false}}, SHIFT(788),
  [2476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(788),
  [2478] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1670),
  [2480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1670),
  [2482] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1542),
  [2484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1542),
  [2486] = {.entry = {.count = 1, .reusable = false}}, SHIFT(777),
  [2488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(777),
  [2490] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1601),
  [2492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1601),
  [2494] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1621),
  [2496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1621),
  [2498] = {.entry = {.count = 1, .reusable = false}}, SHIFT(750),
  [2500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(750),
  [2502] = {.entry = {.count = 1, .reusable = false}}, SHIFT(780),
  [2504] = {.entry = {.count = 1, .reusable = true}}, SHIFT(780),
  [2506] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1575),
  [2508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1575),
  [2510] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1578),
  [2512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1578),
  [2514] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1556),
  [2516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1556),
  [2518] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1539),
  [2520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1539),
  [2522] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1611),
  [2524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1611),
  [2526] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1555),
  [2528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1555),
  [2530] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1666),
  [2532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1666),
  [2534] = {.entry = {.count = 1, .reusable = false}}, SHIFT(790),
  [2536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(790),
  [2538] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3177),
  [2540] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1551),
  [2542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1551),
  [2544] = {.entry = {.count = 1, .reusable = false}}, SHIFT(138),
  [2546] = {.entry = {.count = 1, .reusable = false}}, SHIFT(200),
  [2548] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1517),
  [2550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1517),
  [2552] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1564),
  [2554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1564),
  [2556] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2562),
  [2558] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1459),
  [2560] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1459),
  [2562] = {.entry = {.count = 1, .reusable = false}}, SHIFT(133),
  [2564] = {.entry = {.count = 1, .reusable = false}}, SHIFT(178),
  [2566] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1565),
  [2568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1565),
  [2570] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1566),
  [2572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1566),
  [2574] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1567),
  [2576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1567),
  [2578] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1490),
  [2580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1490),
  [2582] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1569),
  [2584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1569),
  [2586] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1625),
  [2588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1625),
  [2590] = {.entry = {.count = 1, .reusable = false}}, SHIFT(751),
  [2592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(751),
  [2594] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1552),
  [2596] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1552),
  [2598] = {.entry = {.count = 1, .reusable = false}}, SHIFT(791),
  [2600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(791),
  [2602] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1676),
  [2604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1676),
  [2606] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1615),
  [2608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1615),
  [2610] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1455),
  [2612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1455),
  [2614] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1633),
  [2616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1633),
  [2618] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1657),
  [2620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1657),
  [2622] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1638),
  [2624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1638),
  [2626] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1494),
  [2628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1494),
  [2630] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1655),
  [2632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1655),
  [2634] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(845),
  [2637] = {.entry = {.count = 1, .reusable = false}}, SHIFT(734),
  [2639] = {.entry = {.count = 1, .reusable = false}}, SHIFT(735),
  [2641] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(3435),
  [2644] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(4449),
  [2647] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4695),
  [2649] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4699),
  [2651] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5782),
  [2653] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__three_dot_operator, 1, 0, 0),
  [2655] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__three_dot_operator, 1, 0, 0),
  [2657] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_custom_operator, 1, 0, 0),
  [2659] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_custom_operator, 1, 0, 0),
  [2661] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bang, 1, 0, 0),
  [2663] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bang, 1, 0, 0),
  [2665] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__range_operator, 1, 0, 0),
  [2667] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__range_operator, 1, 0, 0),
  [2669] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_open_end_range_expression, 2, 0, 24),
  [2671] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_open_end_range_expression, 2, 0, 24),
  [2673] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__additive_operator, 1, 0, 0), REDUCE(sym__prefix_unary_operator, 1, 0, 0),
  [2676] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__prefix_unary_operator, 1, 0, 0),
  [2678] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__prefix_unary_operator, 1, 0, 0),
  [2680] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__additive_operator, 1, 0, 0),
  [2682] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__additive_operator, 1, 0, 0), REDUCE(sym__prefix_unary_operator, 1, 0, 0),
  [2685] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__additive_operator, 1, 0, 0),
  [2687] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__prefix_unary_operator, 1, 0, 0), REDUCE(sym__referenceable_operator, 1, 0, 0),
  [2690] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__referenceable_operator, 1, 0, 0),
  [2692] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__prefix_unary_operator, 1, 0, 0), REDUCE(sym__referenceable_operator, 1, 0, 0),
  [2695] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__referenceable_operator, 1, 0, 0),
  [2697] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__primary_expression, 1, 0, 4),
  [2699] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__primary_expression, 1, 0, 4),
  [2701] = {.entry = {.count = 1, .reusable = false}}, SHIFT(866),
  [2703] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr_hack_at_ternary_binary_suffix, 1, 0, 0),
  [2705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269),
  [2707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266),
  [2709] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr_hack_at_ternary_binary_suffix, 1, 0, 0),
  [2711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(897),
  [2713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(413),
  [2715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1635),
  [2717] = {.entry = {.count = 1, .reusable = false}}, SHIFT(439),
  [2719] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_directly_assignable_expression, 1, 0, 0),
  [2721] = {.entry = {.count = 1, .reusable = false}}, SHIFT(441),
  [2723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(441),
  [2725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(439),
  [2727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(472),
  [2729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4128),
  [2731] = {.entry = {.count = 1, .reusable = false}}, SHIFT(666),
  [2733] = {.entry = {.count = 1, .reusable = false}}, SHIFT(668),
  [2735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(892),
  [2737] = {.entry = {.count = 1, .reusable = false}}, SHIFT(413),
  [2739] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5506),
  [2741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(408),
  [2743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(407),
  [2745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(406),
  [2747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(666),
  [2749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(866),
  [2751] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5147),
  [2753] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_await_expression, 2, 0, 28),
  [2755] = {.entry = {.count = 1, .reusable = false}}, SHIFT(613),
  [2757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32),
  [2759] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_await_expression, 2, 0, 28),
  [2761] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_additive_expression, 3, 0, 66),
  [2763] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_additive_expression, 3, 0, 66),
  [2765] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value_parameter_pack, 2, 0, 0),
  [2767] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value_parameter_pack, 2, 0, 0),
  [2769] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_without_willset_didset, 2, 0, 46),
  [2771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20),
  [2773] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression_without_willset_didset, 2, 0, 46),
  [2775] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_prefix_expression, 2, 0, 30),
  [2777] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prefix_expression, 2, 0, 30),
  [2779] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_expression, 2, 0, 28),
  [2781] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_expression, 2, 0, 28),
  [2783] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_open_start_range_expression, 2, 0, 27),
  [2785] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_open_start_range_expression, 2, 0, 27),
  [2787] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, 0, 71),
  [2789] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 3, 0, 71),
  [2791] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value_pack_expansion, 2, 0, 0),
  [2793] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value_pack_expansion, 2, 0, 0),
  [2795] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__enum_entry_suffix, 2, 0, 215),
  [2797] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__enum_entry_suffix, 2, 0, 215),
  [2799] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_multiplicative_expression, 3, 0, 66),
  [2801] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_multiplicative_expression, 3, 0, 66),
  [2803] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_shebang_line, 3, 0, 0),
  [2805] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_shebang_line, 3, 0, 0),
  [2807] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1073),
  [2809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1073),
  [2811] = {.entry = {.count = 1, .reusable = false}}, SHIFT(757),
  [2813] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(1073),
  [2816] = {.entry = {.count = 1, .reusable = false}}, SHIFT(756),
  [2818] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(3232),
  [2821] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(4229),
  [2824] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4741),
  [2826] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4740),
  [2828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5595),
  [2830] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1098),
  [2832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1098),
  [2834] = {.entry = {.count = 1, .reusable = false}}, SHIFT(763),
  [2836] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(1098),
  [2839] = {.entry = {.count = 1, .reusable = false}}, SHIFT(764),
  [2841] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(3301),
  [2844] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(4265),
  [2847] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4633),
  [2849] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4646),
  [2851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5649),
  [2853] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1153),
  [2855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312),
  [2857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(311),
  [2859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1285),
  [2861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(414),
  [2863] = {.entry = {.count = 1, .reusable = false}}, SHIFT(490),
  [2865] = {.entry = {.count = 1, .reusable = false}}, SHIFT(485),
  [2867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(485),
  [2869] = {.entry = {.count = 1, .reusable = true}}, SHIFT(490),
  [2871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(461),
  [2873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4172),
  [2875] = {.entry = {.count = 1, .reusable = false}}, SHIFT(689),
  [2877] = {.entry = {.count = 1, .reusable = false}}, SHIFT(685),
  [2879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1341),
  [2881] = {.entry = {.count = 1, .reusable = false}}, SHIFT(414),
  [2883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5398),
  [2885] = {.entry = {.count = 1, .reusable = true}}, SHIFT(425),
  [2887] = {.entry = {.count = 1, .reusable = true}}, SHIFT(427),
  [2889] = {.entry = {.count = 1, .reusable = true}}, SHIFT(434),
  [2891] = {.entry = {.count = 1, .reusable = true}}, SHIFT(689),
  [2893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1153),
  [2895] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__if_let_binding, 3, 0, 13),
  [2897] = {.entry = {.count = 1, .reusable = false}}, SHIFT(636),
  [2899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47),
  [2901] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__if_let_binding, 3, 0, 13),
  [2903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(722),
  [2905] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1195),
  [2907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255),
  [2909] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259),
  [2911] = {.entry = {.count = 1, .reusable = false}}, SHIFT(582),
  [2913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1393),
  [2915] = {.entry = {.count = 1, .reusable = true}}, SHIFT(495),
  [2917] = {.entry = {.count = 1, .reusable = false}}, SHIFT(489),
  [2919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7),
  [2921] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53),
  [2923] = {.entry = {.count = 1, .reusable = false}}, SHIFT(483),
  [2925] = {.entry = {.count = 1, .reusable = true}}, SHIFT(483),
  [2927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(489),
  [2929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(448),
  [2931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4250),
  [2933] = {.entry = {.count = 1, .reusable = false}}, SHIFT(574),
  [2935] = {.entry = {.count = 1, .reusable = false}}, SHIFT(706),
  [2937] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1370),
  [2939] = {.entry = {.count = 1, .reusable = false}}, SHIFT(495),
  [2941] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5360),
  [2943] = {.entry = {.count = 1, .reusable = true}}, SHIFT(505),
  [2945] = {.entry = {.count = 1, .reusable = true}}, SHIFT(426),
  [2947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(424),
  [2949] = {.entry = {.count = 1, .reusable = true}}, SHIFT(574),
  [2951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1195),
  [2953] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_where_clause, 2, 0, 0),
  [2955] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_where_clause, 2, 0, 0),
  [2957] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__if_condition_sequence_item, 1, 0, 0),
  [2959] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__if_condition_sequence_item, 1, 0, 0),
  [2961] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_key_path_expression, 1, 0, 0),
  [2963] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_key_path_expression, 1, 0, 0),
  [2965] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4382),
  [2967] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4956),
  [2969] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__throw_statement, 2, 0, 0),
  [2971] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__throw_statement, 2, 0, 0),
  [2973] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__local_statement, 1, 0, 0),
  [2975] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__local_statement, 1, 0, 0),
  [2977] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_control_transfer_statement, 2, 0, 57),
  [2979] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_control_transfer_statement, 2, 0, 57),
  [2981] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__fn_call_lambda_arguments_repeat1, 2, 0, 119),
  [2983] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__fn_call_lambda_arguments_repeat1, 2, 0, 119), SHIFT_REPEAT(4962),
  [2986] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__fn_call_lambda_arguments_repeat1, 2, 0, 119), SHIFT_REPEAT(4962),
  [2989] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__fn_call_lambda_arguments_repeat1, 2, 0, 119),
  [2991] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0),
  [2993] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0),
  [2995] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5441),
  [2998] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__unannotated_type, 1, 0, 0),
  [3000] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__unannotated_type, 1, 0, 0),
  [3002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(842),
  [3004] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4263),
  [3006] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8333),
  [3008] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6902),
  [3010] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__fn_call_lambda_arguments, 1, 0, 0),
  [3012] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4962),
  [3014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4962),
  [3016] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__fn_call_lambda_arguments, 1, 0, 0), SHIFT(4962),
  [3019] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__fn_call_lambda_arguments, 1, 0, 0),
  [3021] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__fn_call_lambda_arguments, 2, 0, 59),
  [3023] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__fn_call_lambda_arguments, 2, 0, 59), SHIFT(4962),
  [3026] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__fn_call_lambda_arguments, 2, 0, 59),
  [3028] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_optional_type, 2, 0, 50),
  [3030] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_type, 2, 0, 50),
  [3032] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0),
  [3034] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0),
  [3036] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(842),
  [3039] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_user_type, 2, 0, 0),
  [3041] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_user_type, 2, 0, 0),
  [3043] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_user_type, 2, 0, 0), SHIFT(5441),
  [3046] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_user_type, 1, 0, 0),
  [3048] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_user_type, 1, 0, 0),
  [3050] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_user_type, 1, 0, 0), SHIFT(5441),
  [3053] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type, 2, 0, 19),
  [3055] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type, 2, 0, 19),
  [3057] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8387),
  [3059] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4668),
  [3061] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_opaque_type, 2, 0, 0),
  [3063] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_opaque_type, 2, 0, 0),
  [3065] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_existential_type, 2, 0, 0),
  [3067] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_existential_type, 2, 0, 0),
  [3069] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_pack_expansion, 2, 0, 0),
  [3071] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_pack_expansion, 2, 0, 0),
  [3073] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type, 1, 0, 11),
  [3075] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type, 1, 0, 11),
  [3077] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0),
  [3079] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0),
  [3081] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__simple_user_type, 1, 0, 3),
  [3083] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__simple_user_type, 1, 0, 3),
  [3085] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4416),
  [3087] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_parameter_pack, 2, 0, 0),
  [3089] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter_pack, 2, 0, 0),
  [3091] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary_type, 5, 0, 135),
  [3093] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary_type, 5, 0, 135),
  [3095] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_metatype, 3, 0, 0),
  [3097] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_metatype, 3, 0, 0),
  [3099] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__key_path_component, 1, 0, 0),
  [3101] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__key_path_component, 1, 0, 0),
  [3103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(838),
  [3105] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_arguments, 5, 0, 159),
  [3107] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_arguments, 5, 0, 159),
  [3109] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type, 5, 0, 177),
  [3111] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type, 5, 0, 177),
  [3113] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 5, 0, 93),
  [3115] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 5, 0, 93),
  [3117] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_suppressed_constraint, 2, 0, 48),
  [3119] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_suppressed_constraint, 2, 0, 48),
  [3121] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 3, 0, 45),
  [3123] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 3, 0, 45),
  [3125] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_arguments, 4, 0, 159),
  [3127] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_arguments, 4, 0, 159),
  [3129] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 4, 0, 93),
  [3131] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 4, 0, 93),
  [3133] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_arguments, 4, 0, 59),
  [3135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_arguments, 4, 0, 59),
  [3137] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type, 4, 0, 136),
  [3139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type, 4, 0, 136),
  [3141] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 2, 0, 0),
  [3143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 2, 0, 0),
  [3145] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__parenthesized_type, 3, 0, 45),
  [3147] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parenthesized_type, 3, 0, 45),
  [3149] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type, 3, 0, 91),
  [3151] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type, 3, 0, 91),
  [3153] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__key_path_component, 2, 0, 0),
  [3155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__key_path_component, 2, 0, 0),
  [3157] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type, 3, 0, 49),
  [3159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 3, 0, 49),
  [3161] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(866),
  [3164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0),
  [3166] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(265),
  [3169] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0),
  [3171] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(838),
  [3174] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(838),
  [3177] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(866),
  [3180] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 1, 0, 12),
  [3182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 1, 0, 12),
  [3184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(836),
  [3186] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 4, 0, 45),
  [3188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 4, 0, 45),
  [3190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__immediate_quest, 1, 0, 0),
  [3192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__immediate_quest, 1, 0, 0),
  [3194] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__simple_user_type, 2, 0, 3),
  [3196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__simple_user_type, 2, 0, 3),
  [3198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_arguments, 3, 0, 59),
  [3200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_arguments, 3, 0, 59),
  [3202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_simple_identifier, 1, 0, 0),
  [3204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_simple_identifier, 1, 0, 0),
  [3206] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), REDUCE(sym_property_behavior_modifier, 1, 0, 0),
  [3209] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_behavior_modifier, 1, 0, 0),
  [3211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_behavior_modifier, 1, 0, 0),
  [3213] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_literal, 3, 0, 54),
  [3215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_literal, 3, 0, 54),
  [3217] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_statement, 4, 0, 28),
  [3219] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_literal, 2, 0, 0),
  [3221] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_literal, 2, 0, 0),
  [3223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_statement, 4, 0, 28),
  [3225] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_literal, 3, 0, 0),
  [3227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_literal, 3, 0, 0),
  [3229] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__fn_call_lambda_arguments_repeat1, 3, 0, 11),
  [3231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__fn_call_lambda_arguments_repeat1, 3, 0, 11),
  [3233] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_protocol_composition_type, 2, 0, 0),
  [3235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_protocol_composition_type, 2, 0, 0),
  [3237] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_literal, 4, 0, 54),
  [3239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_literal, 4, 0, 54),
  [3241] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4668),
  [3244] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_key_path_expression, 3, 0, 0),
  [3246] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_key_path_expression, 3, 0, 0),
  [3248] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__key_path_postfixes, 3, 0, 0),
  [3250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__key_path_postfixes, 3, 0, 0),
  [3252] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__compilation_condition, 2, 0, 0),
  [3254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__compilation_condition, 2, 0, 0),
  [3256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4890),
  [3258] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4405),
  [3260] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__key_path_postfixes, 2, 0, 0),
  [3262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__key_path_postfixes, 2, 0, 0),
  [3264] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_key_path_expression, 2, 0, 0),
  [3266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_key_path_expression, 2, 0, 0),
  [3268] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_key_path_expression_repeat1, 2, 0, 0),
  [3270] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_key_path_expression_repeat1, 2, 0, 0),
  [3272] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_key_path_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(4956),
  [3275] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__compilation_condition, 3, 0, 0),
  [3277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__compilation_condition, 3, 0, 0),
  [3279] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__key_path_postfixes, 4, 0, 0),
  [3281] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__key_path_postfixes, 4, 0, 0),
  [3283] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_directive, 2, 0, 0),
  [3285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_directive, 2, 0, 0),
  [3287] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 3, 0, 53),
  [3289] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 3, 0, 53),
  [3291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6846),
  [3293] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__block, 3, 0, 0),
  [3295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block, 3, 0, 0),
  [3297] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 4, 0, 97),
  [3299] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 4, 0, 97),
  [3301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6843),
  [3303] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1, 0, 0),
  [3305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0),
  [3307] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__simple_user_type, 1, 0, 3), REDUCE(sym__expression, 1, 0, 0),
  [3310] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__expression, 1, 0, 0), SHIFT(4338),
  [3313] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__block, 2, 0, 0),
  [3315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block, 2, 0, 0),
  [3317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_suffix, 1, -1, 16),
  [3319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_suffix, 1, -1, 16),
  [3321] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_selector_expression, 6, 0, 0),
  [3323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_selector_expression, 6, 0, 0),
  [3325] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__unary_expression, 1, 0, 0), REDUCE(sym_try_expression, 2, 0, 28),
  [3328] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__unary_expression, 1, 0, 0), REDUCE(sym_try_expression, 2, 0, 28),
  [3331] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_playground_literal, 8, 0, 0),
  [3333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_playground_literal, 8, 0, 0),
  [3335] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__expression, 1, 0, 0), REDUCE(sym_try_expression, 2, 1, 28),
  [3338] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), REDUCE(sym_try_expression, 2, 1, 28),
  [3341] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_disjunction_expression, 3, 0, 66),
  [3343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_disjunction_expression, 3, 0, 66),
  [3345] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__unary_expression, 1, 0, 0), REDUCE(sym_await_expression, 2, 0, 28),
  [3348] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__unary_expression, 1, 0, 0), REDUCE(sym_await_expression, 2, 0, 28),
  [3351] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__expression, 1, 0, 0), REDUCE(sym_await_expression, 2, 1, 28),
  [3354] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), REDUCE(sym_await_expression, 2, 1, 28),
  [3357] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_navigation_expression, 2, 0, 26),
  [3359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_navigation_expression, 2, 0, 26),
  [3361] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_postfix_expression, 2, 0, 25),
  [3363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_postfix_expression, 2, 0, 25),
  [3365] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_suffix, 1, -1, 16),
  [3367] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_suffix, 1, -1, 16),
  [3369] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 2, 1, 0),
  [3371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 2, 1, 0),
  [3373] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_navigation_expression, 2, 0, 23),
  [3375] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_navigation_expression, 2, 0, 23),
  [3377] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 2, 0, 0),
  [3379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 2, 0, 0),
  [3381] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_nil_coalescing_expression, 3, 0, 70),
  [3383] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nil_coalescing_expression, 3, 0, 70),
  [3385] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_expression, 2, 0, 22),
  [3387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_expression, 2, 0, 22),
  [3389] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conjunction_expression, 3, 0, 66),
  [3391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conjunction_expression, 3, 0, 66),
  [3393] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__constructor_value_arguments, 5, 0, 0),
  [3395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__constructor_value_arguments, 5, 0, 0),
  [3397] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__extended_regex_literal, 2, 0, 0),
  [3399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__extended_regex_literal, 2, 0, 0),
  [3401] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_special_literal, 2, 0, 0),
  [3403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_special_literal, 2, 0, 0),
  [3405] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_diagnostic, 2, 0, 0),
  [3407] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_diagnostic, 2, 0, 0),
  [3409] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__multiline_regex_literal, 3, 0, 0),
  [3411] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__multiline_regex_literal, 3, 0, 0),
  [3413] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 2, 0, 0),
  [3415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 2, 0, 0),
  [3417] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_multi_line_string_literal, 2, 0, 0),
  [3419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_multi_line_string_literal, 2, 0, 0),
  [3421] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, 0, 97),
  [3423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, 0, 97),
  [3425] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value_arguments, 5, 0, 0),
  [3427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value_arguments, 5, 0, 0),
  [3429] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary_literal, 6, 0, 95),
  [3431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary_literal, 6, 0, 95),
  [3433] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_line_string_literal, 2, 0, 0),
  [3435] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_string_literal, 2, 0, 0),
  [3437] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_raw_string_literal, 2, 0, 37),
  [3439] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_raw_string_literal, 2, 0, 37),
  [3441] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_expression, 6, 0, 176),
  [3443] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_expression, 6, 0, 176),
  [3445] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_line_string_literal, 3, 0, 44),
  [3447] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_string_literal, 3, 0, 44),
  [3449] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_multi_line_string_literal, 3, 0, 44),
  [3451] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_multi_line_string_literal, 3, 0, 44),
  [3453] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_expression, 3, 0, 46),
  [3455] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_expression, 3, 0, 46),
  [3457] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_super_expression, 1, 0, 0),
  [3459] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_super_expression, 1, 0, 0),
  [3461] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_self_expression, 1, 0, 0),
  [3463] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_expression, 1, 0, 0),
  [3465] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_regex_literal, 1, 0, 0),
  [3467] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_regex_literal, 1, 0, 0),
  [3469] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean_literal, 1, 0, 0),
  [3471] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1, 0, 0),
  [3473] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_expression, 6, 0, 133),
  [3475] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_expression, 6, 0, 133),
  [3477] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_macro_invocation, 3, 1, 0),
  [3479] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_invocation, 3, 1, 0),
  [3481] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_expression, 4, 0, 46),
  [3483] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_expression, 4, 0, 46),
  [3485] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_directive, 1, 0, 0),
  [3487] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_directive, 1, 0, 0),
  [3489] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_raw_string_literal, 1, 0, 1),
  [3491] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_raw_string_literal, 1, 0, 1),
  [3493] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary_literal, 3, 0, 0),
  [3495] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary_literal, 3, 0, 0),
  [3497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4232),
  [3499] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4948),
  [3501] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_playground_literal, 9, 0, 0),
  [3503] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_playground_literal, 9, 0, 0),
  [3505] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 3, 0, 45),
  [3507] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 3, 0, 45),
  [3509] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary_literal, 3, 0, 51),
  [3511] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary_literal, 3, 0, 51),
  [3513] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__compilation_condition, 5, 0, 0),
  [3515] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__compilation_condition, 5, 0, 0),
  [3517] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_navigation_suffix, 2, 0, 69),
  [3519] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_navigation_suffix, 2, 0, 69),
  [3521] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_key_path_string_expression, 5, 0, 0),
  [3523] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_key_path_string_expression, 5, 0, 0),
  [3525] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_selector_expression, 5, 0, 0),
  [3527] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_selector_expression, 5, 0, 0),
  [3529] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ternary_expression, 5, 0, 160),
  [3531] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ternary_expression, 5, 0, 160),
  [3533] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_playground_literal, 7, 0, 0),
  [3535] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_playground_literal, 7, 0, 0),
  [3537] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value_arguments, 4, 0, 0),
  [3539] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value_arguments, 4, 0, 0),
  [3541] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__constructor_value_arguments, 4, 0, 0),
  [3543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__constructor_value_arguments, 4, 0, 0),
  [3545] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bitwise_operation, 3, 0, 66),
  [3547] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bitwise_operation, 3, 0, 66),
  [3549] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_statement, 5, 0, 28),
  [3551] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_statement, 5, 0, 28),
  [3553] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, 0, 53),
  [3555] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, 0, 53),
  [3557] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary_literal, 5, 0, 95),
  [3559] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary_literal, 5, 0, 95),
  [3561] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary_literal, 5, 0, 51),
  [3563] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary_literal, 5, 0, 51),
  [3565] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 5, 0, 93),
  [3567] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 5, 0, 93),
  [3569] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_expression, 5, 0, 87),
  [3571] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_expression, 5, 0, 87),
  [3573] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_expression, 5, 0, 133),
  [3575] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_expression, 5, 0, 133),
  [3577] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_macro_invocation, 4, 1, 0),
  [3579] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_invocation, 4, 1, 0),
  [3581] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr_hack_at_ternary_binary_call, 2, 0, 0),
  [3583] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_hack_at_ternary_binary_call, 2, 0, 0),
  [3585] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value_arguments, 3, 0, 0),
  [3587] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value_arguments, 3, 0, 0),
  [3589] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__constructor_value_arguments, 3, 0, 0),
  [3591] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__constructor_value_arguments, 3, 0, 0),
  [3593] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_expression, 7, 0, 176),
  [3595] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_expression, 7, 0, 176),
  [3597] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__compilation_condition, 6, 0, 0),
  [3599] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__compilation_condition, 6, 0, 0),
  [3601] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__compilation_condition, 4, 0, 0),
  [3603] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__compilation_condition, 4, 0, 0),
  [3605] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary_literal, 4, 0, 95),
  [3607] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary_literal, 4, 0, 95),
  [3609] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary_literal, 4, 0, 51),
  [3611] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary_literal, 4, 0, 51),
  [3613] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 4, 0, 93),
  [3615] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 4, 0, 93),
  [3617] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 4, 0, 45),
  [3619] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 4, 0, 45),
  [3621] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__constructor_value_arguments, 2, 0, 0),
  [3623] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__constructor_value_arguments, 2, 0, 0),
  [3625] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_suffix, 2, 0, 59),
  [3627] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_suffix, 2, 0, 59),
  [3629] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary_literal, 4, 0, 0),
  [3631] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary_literal, 4, 0, 0),
  [3633] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value_arguments, 2, 0, 0),
  [3635] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value_arguments, 2, 0, 0),
  [3637] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_range_expression, 3, 0, 65),
  [3639] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range_expression, 3, 0, 65),
  [3641] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_infix_expression, 3, 0, 66),
  [3643] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_infix_expression, 3, 0, 66),
  [3645] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_expression, 4, 0, 87),
  [3647] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_expression, 4, 0, 87),
  [3649] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_suffix, 2, 0, 59),
  [3651] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_suffix, 2, 0, 59),
  [3653] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_equality_expression, 3, 0, 66),
  [3655] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_equality_expression, 3, 0, 66),
  [3657] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comparison_expression, 3, 0, 66),
  [3659] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comparison_expression, 3, 0, 66),
  [3661] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_check_expression, 3, 0, 67),
  [3663] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_check_expression, 3, 0, 67),
  [3665] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_as_expression, 3, 0, 68),
  [3667] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_as_expression, 3, 0, 68),
  [3669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4304),
  [3671] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4953),
  [3673] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lambda_type_declaration, 2, 0, 55),
  [3675] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lambda_type_declaration, 2, 0, 55),
  [3677] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lambda_type_declaration, 2, 0, 56),
  [3679] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lambda_type_declaration, 2, 0, 56),
  [3681] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lambda_type_declaration, 2, 0, 0),
  [3683] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lambda_type_declaration, 2, 0, 0),
  [3685] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_suffix, 1, 0, 0),
  [3687] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_suffix, 1, 0, 0),
  [3689] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_constructor_suffix, 1, 0, 0), SHIFT(32),
  [3692] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_suffix, 1, 0, 0),
  [3694] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_suffix, 1, 0, 0),
  [3696] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_call_suffix, 1, 0, 0), SHIFT(32),
  [3699] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_call_suffix, 1, 0, 0), REDUCE(sym_expr_hack_at_ternary_binary_call_suffix, 1, 0, 0),
  [3702] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_call_suffix, 1, 0, 0), REDUCE(sym_expr_hack_at_ternary_binary_call_suffix, 1, 0, 0),
  [3705] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym_call_suffix, 1, 0, 0), REDUCE(sym_expr_hack_at_ternary_binary_call_suffix, 1, 0, 0), SHIFT(32),
  [3709] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lambda_type_declaration, 3, 0, 100),
  [3711] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lambda_type_declaration, 3, 0, 100),
  [3713] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lambda_type_declaration, 4, 0, 140),
  [3715] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lambda_type_declaration, 4, 0, 140),
  [3717] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lambda_type_declaration, 3, 0, 103),
  [3719] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lambda_type_declaration, 3, 0, 103),
  [3721] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lambda_type_declaration, 3, 0, 102),
  [3723] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lambda_type_declaration, 3, 0, 102),
  [3725] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_modifier, 1, 0, 0),
  [3727] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_modifier, 1, 0, 0),
  [3729] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_visibility_modifier, 1, 0, 0),
  [3731] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(8661),
  [3734] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_visibility_modifier, 1, 0, 0),
  [3736] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), REDUCE(sym_visibility_modifier, 1, 0, 0),
  [3739] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), REDUCE(sym_parameter_modifier, 1, 0, 0),
  [3742] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(8889),
  [3745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1064),
  [3747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4136),
  [3749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6975),
  [3751] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8303),
  [3753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4745),
  [3755] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6812),
  [3757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6812),
  [3759] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(6812),
  [3762] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1734),
  [3764] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1734),
  [3766] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(1734),
  [3769] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1011),
  [3771] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1010),
  [3773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3470),
  [3775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4440),
  [3777] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4696),
  [3779] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4698),
  [3781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5726),
  [3783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1109),
  [3785] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4426),
  [3787] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6926),
  [3789] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8405),
  [3791] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4734),
  [3793] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), REDUCE(sym_property_behavior_modifier, 1, 0, 0),
  [3796] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1806),
  [3798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1806),
  [3800] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(1806),
  [3803] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1029),
  [3805] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1040),
  [3807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3495),
  [3809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4436),
  [3811] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4679),
  [3813] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4678),
  [3815] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5670),
  [3817] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_user_type, 2, 0, 0), SHIFT(5396),
  [3820] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_user_type, 1, 0, 0), SHIFT(5396),
  [3823] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5396),
  [3826] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(1064),
  [3829] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5417),
  [3832] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(1109),
  [3835] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_user_type, 1, 0, 0), SHIFT(5417),
  [3838] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4192),
  [3840] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_user_type, 2, 0, 0), SHIFT(5417),
  [3843] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4745),
  [3846] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1730),
  [3848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1730),
  [3850] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(1730),
  [3853] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1052),
  [3855] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1053),
  [3857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3429),
  [3859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4365),
  [3861] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4763),
  [3863] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4762),
  [3865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5701),
  [3867] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2064),
  [3869] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2064),
  [3871] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1086),
  [3873] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1055),
  [3875] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(3307),
  [3878] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(4276),
  [3881] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4649),
  [3883] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4627),
  [3885] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5796),
  [3887] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1905),
  [3889] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1905),
  [3891] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(1905),
  [3894] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1065),
  [3896] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1061),
  [3898] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3333),
  [3900] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4299),
  [3902] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4725),
  [3904] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4722),
  [3906] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5635),
  [3908] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4734),
  [3911] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4223),
  [3913] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4919),
  [3915] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4919),
  [3917] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(1153),
  [3920] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(285),
  [3923] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(1082),
  [3926] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(1082),
  [3929] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(1153),
  [3932] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1085),
  [3934] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1082),
  [3936] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1107),
  [3938] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2130),
  [3940] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2130),
  [3942] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1105),
  [3944] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1102),
  [3946] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(3305),
  [3949] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(4458),
  [3952] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4645),
  [3954] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4766),
  [3956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5537),
  [3958] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(1195),
  [3961] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(263),
  [3964] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(1107),
  [3967] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(1107),
  [3970] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(1195),
  [3973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1095),
  [3975] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5705),
  [3977] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7659),
  [3979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2858),
  [3981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2720),
  [3983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3434),
  [3985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5703),
  [3987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4930),
  [3989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5686),
  [3991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1995),
  [3993] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5697),
  [3995] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5688),
  [3997] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5060),
  [3999] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2108),
  [4001] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4625),
  [4003] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8245),
  [4005] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6341),
  [4007] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7533),
  [4009] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7367),
  [4011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3704),
  [4013] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5684),
  [4015] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5662),
  [4017] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2995),
  [4019] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2326),
  [4021] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2992),
  [4023] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2990),
  [4025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7370),
  [4027] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7766),
  [4029] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1132),
  [4031] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1128),
  [4033] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4669),
  [4035] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4670),
  [4037] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6039),
  [4039] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6039),
  [4041] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3750),
  [4043] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3764),
  [4045] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_constraints, 4, 0, 0),
  [4047] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3398),
  [4049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4461),
  [4051] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4634),
  [4053] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4636),
  [4055] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5746),
  [4057] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_constraints, 4, 0, 0),
  [4059] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2201),
  [4061] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2201),
  [4063] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1133),
  [4065] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1137),
  [4067] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(3268),
  [4070] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(4248),
  [4073] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4621),
  [4075] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4622),
  [4077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5643),
  [4079] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_constraints, 3, 0, 0),
  [4081] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_constraints, 3, 0, 0),
  [4083] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7971),
  [4085] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7298),
  [4087] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4583),
  [4089] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_class_body_repeat1, 2, 0, 0), SHIFT_REPEAT(5705),
  [4092] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_class_body_repeat1, 2, 0, 0), SHIFT_REPEAT(7659),
  [4095] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_class_body_repeat1, 2, 0, 0), SHIFT_REPEAT(2858),
  [4098] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_class_body_repeat1, 2, 0, 0), SHIFT_REPEAT(2720),
  [4101] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_class_body_repeat1, 2, 0, 0),
  [4103] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_class_body_repeat1, 2, 0, 0), SHIFT_REPEAT(5703),
  [4106] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_class_body_repeat1, 2, 0, 0), SHIFT_REPEAT(4930),
  [4109] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_class_body_repeat1, 2, 0, 0), SHIFT_REPEAT(5686),
  [4112] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_class_body_repeat1, 2, 0, 0), SHIFT_REPEAT(1995),
  [4115] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_class_body_repeat1, 2, 0, 0), SHIFT_REPEAT(5697),
  [4118] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_class_body_repeat1, 2, 0, 0), SHIFT_REPEAT(5688),
  [4121] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_class_body_repeat1, 2, 0, 0), SHIFT_REPEAT(5060),
  [4124] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_class_body_repeat1, 2, 0, 0), SHIFT_REPEAT(2108),
  [4127] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_class_body_repeat1, 2, 0, 0), SHIFT_REPEAT(4625),
  [4130] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_class_body_repeat1, 2, 0, 0), SHIFT_REPEAT(8245),
  [4133] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_class_body_repeat1, 2, 0, 0), SHIFT_REPEAT(6341),
  [4136] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_class_body_repeat1, 2, 0, 0), SHIFT_REPEAT(7533),
  [4139] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_class_body_repeat1, 2, 0, 0), SHIFT_REPEAT(7367),
  [4142] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_class_body_repeat1, 2, 0, 0), SHIFT_REPEAT(3704),
  [4145] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_class_body_repeat1, 2, 0, 0), SHIFT_REPEAT(5684),
  [4148] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_class_body_repeat1, 2, 0, 0), SHIFT_REPEAT(5662),
  [4151] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enum_class_body_repeat1, 2, 0, 0), SHIFT_REPEAT(5291),
  [4154] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_class_body_repeat1, 2, 0, 0), SHIFT_REPEAT(2995),
  [4157] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_class_body_repeat1, 2, 0, 0), SHIFT_REPEAT(2326),
  [4160] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_class_body_repeat1, 2, 0, 0), SHIFT_REPEAT(2992),
  [4163] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_class_body_repeat1, 2, 0, 0), SHIFT_REPEAT(2990),
  [4166] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_class_body_repeat1, 2, 0, 0), SHIFT_REPEAT(2979),
  [4169] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_class_body_repeat1, 2, 0, 0), SHIFT_REPEAT(2977),
  [4172] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enum_class_body_repeat1, 2, 0, 0), SHIFT_REPEAT(2977),
  [4175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3503),
  [4177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4557),
  [4179] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2244),
  [4181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2244),
  [4183] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1158),
  [4185] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1145),
  [4187] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(3377),
  [4190] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(4348),
  [4193] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4686),
  [4195] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4687),
  [4197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5750),
  [4199] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2241),
  [4201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2241),
  [4203] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1148),
  [4205] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1151),
  [4207] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(3380),
  [4210] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(4355),
  [4213] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4681),
  [4215] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4683),
  [4217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5743),
  [4219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4872),
  [4221] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym_call_suffix, 1, 0, 0), REDUCE(sym_expr_hack_at_ternary_binary_call_suffix, 1, 0, 0), SHIFT(47),
  [4225] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_constructor_suffix, 1, 0, 0), SHIFT(47),
  [4228] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4197),
  [4230] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_key_path_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(4948),
  [4233] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_call_suffix, 1, 0, 0), SHIFT(47),
  [4236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6866),
  [4238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4912),
  [4240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5711),
  [4242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7304),
  [4244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4932),
  [4246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5739),
  [4248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2077),
  [4250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5694),
  [4252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5717),
  [4254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4720),
  [4256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8898),
  [4258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6282),
  [4260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7660),
  [4262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7308),
  [4264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3718),
  [4266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5730),
  [4268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5512),
  [4270] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_key_path_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(4953),
  [4273] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_constructor_suffix, 1, 0, 0), SHIFT(53),
  [4276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6865),
  [4278] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2358),
  [4280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2358),
  [4282] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1205),
  [4284] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1203),
  [4286] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(3561),
  [4289] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(4418),
  [4292] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4642),
  [4294] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4631),
  [4296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5584),
  [4298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4572),
  [4300] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym_call_suffix, 1, 0, 0), REDUCE(sym_expr_hack_at_ternary_binary_call_suffix, 1, 0, 0), SHIFT(53),
  [4304] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_call_suffix, 1, 0, 0), SHIFT(53),
  [4307] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4244),
  [4309] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3361),
  [4311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__async_modifier, 1, 0, 0),
  [4313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7778),
  [4315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6855),
  [4317] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__class_member_declarations, 3, 0, 0),
  [4319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230),
  [4321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7521),
  [4323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6868),
  [4325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220),
  [4327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7486),
  [4329] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__class_member_declarations, 2, 0, 0),
  [4331] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2446),
  [4333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2446),
  [4335] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1447),
  [4337] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(2446),
  [4340] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1446),
  [4342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3290),
  [4344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4261),
  [4346] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4731),
  [4348] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4730),
  [4350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5737),
  [4352] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__labeled_statement, 1, 0, 0),
  [4354] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__labeled_statement, 1, 0, 0),
  [4356] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3009),
  [4358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3009),
  [4360] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1451),
  [4362] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(3009),
  [4365] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1450),
  [4367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3260),
  [4369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4242),
  [4371] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4655),
  [4373] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4661),
  [4375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5549),
  [4377] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2246),
  [4379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281),
  [4381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279),
  [4383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2416),
  [4385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(504),
  [4387] = {.entry = {.count = 1, .reusable = false}}, SHIFT(507),
  [4389] = {.entry = {.count = 1, .reusable = false}}, SHIFT(508),
  [4391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(508),
  [4393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(507),
  [4395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(511),
  [4397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4321),
  [4399] = {.entry = {.count = 1, .reusable = false}}, SHIFT(615),
  [4401] = {.entry = {.count = 1, .reusable = false}}, SHIFT(608),
  [4403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2553),
  [4405] = {.entry = {.count = 1, .reusable = false}}, SHIFT(504),
  [4407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5339),
  [4409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(503),
  [4411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(501),
  [4413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(500),
  [4415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(615),
  [4417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2246),
  [4419] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3179),
  [4421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3179),
  [4423] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1454),
  [4425] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(3179),
  [4428] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1453),
  [4430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3248),
  [4432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4239),
  [4434] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4751),
  [4436] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4749),
  [4438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5577),
  [4440] = {.entry = {.count = 1, .reusable = false}}, SHIFT(578),
  [4442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41),
  [4444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(626),
  [4446] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2414),
  [4448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240),
  [4450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241),
  [4452] = {.entry = {.count = 1, .reusable = false}}, SHIFT(583),
  [4454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2766),
  [4456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(477),
  [4458] = {.entry = {.count = 1, .reusable = false}}, SHIFT(486),
  [4460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13),
  [4462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52),
  [4464] = {.entry = {.count = 1, .reusable = false}}, SHIFT(487),
  [4466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(487),
  [4468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(486),
  [4470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(509),
  [4472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4337),
  [4474] = {.entry = {.count = 1, .reusable = false}}, SHIFT(594),
  [4476] = {.entry = {.count = 1, .reusable = false}}, SHIFT(598),
  [4478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2792),
  [4480] = {.entry = {.count = 1, .reusable = false}}, SHIFT(477),
  [4482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5343),
  [4484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(475),
  [4486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(470),
  [4488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(468),
  [4490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(594),
  [4492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2414),
  [4494] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_operator, 1, 0, 0),
  [4496] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_operator, 1, 0, 0),
  [4498] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1644),
  [4500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1644),
  [4502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(491),
  [4504] = {.entry = {.count = 1, .reusable = false}}, SHIFT(488),
  [4506] = {.entry = {.count = 1, .reusable = false}}, SHIFT(482),
  [4508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(482),
  [4510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(488),
  [4512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(478),
  [4514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4252),
  [4516] = {.entry = {.count = 1, .reusable = false}}, SHIFT(593),
  [4518] = {.entry = {.count = 1, .reusable = false}}, SHIFT(589),
  [4520] = {.entry = {.count = 1, .reusable = false}}, SHIFT(491),
  [4522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(512),
  [4524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(514),
  [4526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(515),
  [4528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(593),
  [4530] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2517),
  [4532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296),
  [4534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264),
  [4536] = {.entry = {.count = 1, .reusable = false}}, SHIFT(580),
  [4538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2978),
  [4540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(456),
  [4542] = {.entry = {.count = 1, .reusable = false}}, SHIFT(457),
  [4544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17),
  [4546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51),
  [4548] = {.entry = {.count = 1, .reusable = false}}, SHIFT(400),
  [4550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(400),
  [4552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(457),
  [4554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(460),
  [4556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4171),
  [4558] = {.entry = {.count = 1, .reusable = false}}, SHIFT(600),
  [4560] = {.entry = {.count = 1, .reusable = false}}, SHIFT(601),
  [4562] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2948),
  [4564] = {.entry = {.count = 1, .reusable = false}}, SHIFT(456),
  [4566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5373),
  [4568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(452),
  [4570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(451),
  [4572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(449),
  [4574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(600),
  [4576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2517),
  [4578] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5413),
  [4581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(547),
  [4583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(703),
  [4585] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1339),
  [4587] = {.entry = {.count = 1, .reusable = false}}, SHIFT(713),
  [4589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36),
  [4591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(528),
  [4593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2581),
  [4595] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_user_type, 2, 0, 0), SHIFT(5413),
  [4598] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2700),
  [4600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318),
  [4602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(320),
  [4604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3121),
  [4606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(458),
  [4608] = {.entry = {.count = 1, .reusable = false}}, SHIFT(401),
  [4610] = {.entry = {.count = 1, .reusable = false}}, SHIFT(402),
  [4612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402),
  [4614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(401),
  [4616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410),
  [4618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4380),
  [4620] = {.entry = {.count = 1, .reusable = false}}, SHIFT(697),
  [4622] = {.entry = {.count = 1, .reusable = false}}, SHIFT(698),
  [4624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3486),
  [4626] = {.entry = {.count = 1, .reusable = false}}, SHIFT(458),
  [4628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5389),
  [4630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(428),
  [4632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(430),
  [4634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(438),
  [4636] = {.entry = {.count = 1, .reusable = true}}, SHIFT(697),
  [4638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2700),
  [4640] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2647),
  [4642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(287),
  [4644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(288),
  [4646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3097),
  [4648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(421),
  [4650] = {.entry = {.count = 1, .reusable = false}}, SHIFT(419),
  [4652] = {.entry = {.count = 1, .reusable = false}}, SHIFT(418),
  [4654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418),
  [4656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(419),
  [4658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416),
  [4660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4290),
  [4662] = {.entry = {.count = 1, .reusable = false}}, SHIFT(643),
  [4664] = {.entry = {.count = 1, .reusable = false}}, SHIFT(641),
  [4666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3164),
  [4668] = {.entry = {.count = 1, .reusable = false}}, SHIFT(421),
  [4670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5433),
  [4672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(422),
  [4674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(423),
  [4676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(399),
  [4678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(643),
  [4680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2647),
  [4682] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_modifiers, 1, 0, 0),
  [4684] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_modifiers, 1, 0, 0),
  [4686] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6548),
  [4688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6548),
  [4690] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_definition, 2, 0, 131),
  [4692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(553),
  [4694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3531),
  [4696] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__lambda_type_declaration_repeat1, 2, 0, 0),
  [4698] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__lambda_type_declaration_repeat1, 2, 0, 0),
  [4700] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__lambda_type_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(5227),
  [4703] = {.entry = {.count = 1, .reusable = false}}, SHIFT(621),
  [4705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50),
  [4707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(603),
  [4709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(543),
  [4711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3583),
  [4713] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6599),
  [4715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6599),
  [4717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(568),
  [4719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(931),
  [4721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(535),
  [4723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2873),
  [4725] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_user_type, 1, 0, 0), SHIFT(5413),
  [4728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(563),
  [4730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3213),
  [4732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(557),
  [4734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2708),
  [4736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(522),
  [4738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1392),
  [4740] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__binding_pattern_with_expr, 1, 0, 0),
  [4742] = {.entry = {.count = 1, .reusable = false}}, SHIFT(374),
  [4744] = {.entry = {.count = 1, .reusable = false}}, SHIFT(693),
  [4746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35),
  [4748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(677),
  [4750] = {.entry = {.count = 1, .reusable = false}}, SHIFT(384),
  [4752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3203),
  [4754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(564),
  [4756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3592),
  [4758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(566),
  [4760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1368),
  [4762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(521),
  [4764] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2899),
  [4766] = {.entry = {.count = 1, .reusable = true}}, SHIFT(541),
  [4768] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__top_level_statement, 1, 0, 0),
  [4770] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3771),
  [4772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3771),
  [4774] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1589),
  [4776] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(3771),
  [4779] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1537),
  [4781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3263),
  [4783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4245),
  [4785] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4639),
  [4787] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4640),
  [4789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5568),
  [4791] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value_argument, 4, 0, 133),
  [4793] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3340),
  [4795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(559),
  [4797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2798),
  [4799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(533),
  [4801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2775),
  [4803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5372),
  [4805] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1399),
  [4807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(530),
  [4809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3677),
  [4811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5437),
  [4813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(917),
  [4815] = {.entry = {.count = 1, .reusable = true}}, SHIFT(572),
  [4817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169),
  [4819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111),
  [4821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3590),
  [4823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(540),
  [4825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2891),
  [4827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(534),
  [4829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2607),
  [4831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(519),
  [4833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3413),
  [4835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5400),
  [4837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1427),
  [4839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5369),
  [4841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3521),
  [4843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(516),
  [4845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(941),
  [4847] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5507),
  [4849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2706),
  [4851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4000),
  [4853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1312),
  [4855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5425),
  [4857] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4431),
  [4859] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value_argument, 2, 0, 46),
  [4861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(952),
  [4863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(570),
  [4865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2751),
  [4867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(549),
  [4869] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102),
  [4871] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value_argument, 1, 0, 40),
  [4873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1240),
  [4875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(554),
  [4877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2943),
  [4879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5392),
  [4881] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3514),
  [4883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(539),
  [4885] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3034),
  [4887] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242),
  [4889] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239),
  [4891] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3679),
  [4893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(453),
  [4895] = {.entry = {.count = 1, .reusable = false}}, SHIFT(493),
  [4897] = {.entry = {.count = 1, .reusable = false}}, SHIFT(437),
  [4899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(437),
  [4901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(493),
  [4903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(446),
  [4905] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4181),
  [4907] = {.entry = {.count = 1, .reusable = false}}, SHIFT(651),
  [4909] = {.entry = {.count = 1, .reusable = false}}, SHIFT(642),
  [4911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3635),
  [4913] = {.entry = {.count = 1, .reusable = false}}, SHIFT(453),
  [4915] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5492),
  [4917] = {.entry = {.count = 1, .reusable = true}}, SHIFT(494),
  [4919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(499),
  [4921] = {.entry = {.count = 1, .reusable = true}}, SHIFT(474),
  [4923] = {.entry = {.count = 1, .reusable = true}}, SHIFT(651),
  [4925] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3034),
  [4927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3404),
  [4929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5336),
  [4931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2566),
  [4933] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5358),
  [4935] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2674),
  [4937] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value_argument, 3, 0, 127),
  [4939] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2670),
  [4941] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2574),
  [4943] = {.entry = {.count = 1, .reusable = true}}, SHIFT(529),
  [4945] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1295),
  [4947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(545),
  [4949] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_value_parameter, 3, 0, 153),
  [4951] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attribute_argument, 3, 0, 0),
  [4953] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 45),
  [4955] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute, 6, 0, 0),
  [4957] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 6, 0, 0),
  [4959] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attribute_argument, 1, 0, 0),
  [4961] = {.entry = {.count = 1, .reusable = false}}, SHIFT(607),
  [4963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37),
  [4965] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_type_parameters_repeat1, 7, 0, 253),
  [4967] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_capture_list_item, 3, 0, 127),
  [4969] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_type_parameters_repeat1, 6, 0, 193),
  [4971] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute, 5, 0, 0),
  [4973] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 5, 0, 0),
  [4975] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute, 2, 0, 0),
  [4977] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 2, 0, 0),
  [4979] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_attribute, 2, 0, 0), SHIFT(383),
  [4982] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_value_parameter, 4, 0, 192),
  [4984] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__dictionary_literal_item, 3, 0, 92),
  [4986] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_type_parameters_repeat1, 4, 0, 59),
  [4988] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_playground_literal_repeat1, 4, 0, 0),
  [4990] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 4, 0, 133),
  [4992] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute, 7, 0, 0),
  [4994] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 7, 0, 0),
  [4996] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_capture_list_item, 4, 0, 133),
  [4998] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 46),
  [5000] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3597),
  [5002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1402),
  [5004] = {.entry = {.count = 1, .reusable = true}}, SHIFT(447),
  [5006] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3456),
  [5008] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3455),
  [5010] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_collection, 1, 0, 0),
  [5012] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement_await, 2, 0, 0),
  [5014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2733),
  [5016] = {.entry = {.count = 1, .reusable = true}}, SHIFT(435),
  [5018] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3402),
  [5020] = {.entry = {.count = 1, .reusable = true}}, SHIFT(936),
  [5022] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415),
  [5024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2925),
  [5026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(442),
  [5028] = {.entry = {.count = 1, .reusable = true}}, SHIFT(938),
  [5030] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3675),
  [5032] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_operator, 2, 0, 0),
  [5034] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_operator, 2, 0, 0),
  [5036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2591),
  [5038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2570),
  [5040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2938),
  [5042] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3672),
  [5044] = {.entry = {.count = 1, .reusable = true}}, SHIFT(443),
  [5046] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1263),
  [5048] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2662),
  [5050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1233),
  [5052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1442),
  [5054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1276),
  [5056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1417),
  [5058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(513),
  [5060] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2590),
  [5062] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2924),
  [5064] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411),
  [5066] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3410),
  [5068] = {.entry = {.count = 1, .reusable = true}}, SHIFT(420),
  [5070] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2719),
  [5072] = {.entry = {.count = 1, .reusable = true}}, SHIFT(883),
  [5074] = {.entry = {.count = 1, .reusable = true}}, SHIFT(450),
  [5076] = {.entry = {.count = 1, .reusable = true}}, SHIFT(412),
  [5078] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3369),
  [5080] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3370),
  [5082] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12),
  [5084] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6),
  [5086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18),
  [5088] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11),
  [5090] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14),
  [5092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15),
  [5094] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9),
  [5096] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8),
  [5098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21),
  [5100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19),
  [5102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16),
  [5104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10),
  [5106] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), REDUCE(sym_parameter_modifier, 1, 0, 0),
  [5109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7838),
  [5111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5646),
  [5113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3874),
  [5115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6280),
  [5117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7630),
  [5119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7251),
  [5121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2890),
  [5123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5683),
  [5125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3439),
  [5127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4331),
  [5129] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4951),
  [5131] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_parameter, 1, 0, 11),
  [5133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3745),
  [5135] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_parameter, 1, 0, 11),
  [5137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7562),
  [5139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__protocol_member_declarations, 2, 0, 110),
  [5141] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__protocol_member_declarations, 3, 0, 149),
  [5143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4475),
  [5145] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4946),
  [5147] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__contextual_simple_identifier, 1, 0, 0), SHIFT(6812),
  [5150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4271),
  [5152] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4952),
  [5154] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__async_modifier, 1, 0, 0),
  [5156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4386),
  [5158] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4941),
  [5160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4389),
  [5162] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4944),
  [5164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4401),
  [5166] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4945),
  [5168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1792),
  [5170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4193),
  [5172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6980),
  [5174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8498),
  [5176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4694),
  [5178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5461),
  [5180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1878),
  [5182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4190),
  [5184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6942),
  [5186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4413),
  [5188] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5461),
  [5191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_modifiers_repeat1, 2, 0, 0),
  [5193] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_modifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(2858),
  [5196] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_modifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(2720),
  [5199] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_modifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(2992),
  [5202] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_modifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(2890),
  [5205] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_modifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(5291),
  [5208] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_modifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(2995),
  [5211] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_modifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(2326),
  [5214] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_modifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(2990),
  [5217] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_modifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(2979),
  [5220] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_modifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(2977),
  [5223] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_modifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(2977),
  [5226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4302),
  [5228] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(1792),
  [5231] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), REDUCE(sym_lambda_parameter, 1, 0, 11),
  [5234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135),
  [5236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1823),
  [5238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4109),
  [5240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6900),
  [5242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1958),
  [5244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4140),
  [5246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6948),
  [5248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8452),
  [5250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4708),
  [5252] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5484),
  [5255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5484),
  [5257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4408),
  [5259] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(1823),
  [5262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8595),
  [5264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4727),
  [5266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5455),
  [5268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_modifiers, 1, 0, 0),
  [5270] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_modifiers, 1, 0, 0), SHIFT(2992),
  [5273] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(1878),
  [5276] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4694),
  [5279] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__attribute_argument_repeat2, 1, 0, 0),
  [5281] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__attribute_argument_repeat2, 1, 0, 0),
  [5283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(492),
  [5285] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5455),
  [5288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8445),
  [5290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4743),
  [5292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2055),
  [5294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4294),
  [5296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6932),
  [5298] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5459),
  [5301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5459),
  [5303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4241),
  [5305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 4, 0, 107),
  [5307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5042),
  [5309] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86),
  [5311] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 4, 0, 107),
  [5313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2660),
  [5315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3830),
  [5317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2036),
  [5319] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(1958),
  [5322] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4708),
  [5325] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8413),
  [5327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4656),
  [5329] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 2, 0, 20),
  [5331] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 2, 0, 20),
  [5333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2073),
  [5335] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__single_modifierless_property_declaration, 1, 0, 34),
  [5337] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4013),
  [5339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3),
  [5341] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__single_modifierless_property_declaration, 1, 0, 34),
  [5343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(674),
  [5345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3849),
  [5347] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 3, 0, 60),
  [5349] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 3, 0, 60),
  [5351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2045),
  [5353] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 6, 0, 200),
  [5355] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 6, 0, 200),
  [5357] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2085),
  [5359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 3, 0, 62),
  [5361] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 3, 0, 62),
  [5363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2044),
  [5365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2043),
  [5367] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 5, 0, 166),
  [5369] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 5, 0, 166),
  [5371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2021),
  [5373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2054),
  [5375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2129),
  [5377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4202),
  [5379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6856),
  [5381] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 5, 0, 144),
  [5383] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 5, 0, 144),
  [5385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2046),
  [5387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 4, 0, 126),
  [5389] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 4, 0, 126),
  [5391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2041),
  [5393] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 4, 0, 114),
  [5395] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 4, 0, 114),
  [5397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2084),
  [5399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2035),
  [5401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4312),
  [5403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7010),
  [5405] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4727),
  [5408] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8518),
  [5410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4691),
  [5412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2179),
  [5414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4377),
  [5416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6914),
  [5418] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8350),
  [5420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4615),
  [5422] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4743),
  [5425] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__bound_identifier, 1, 0, 15),
  [5427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4338),
  [5429] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__bound_identifier, 1, 0, 15),
  [5431] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4648),
  [5433] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_user_type, 1, 0, 0), SHIFT(5440),
  [5436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2234),
  [5438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4211),
  [5440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6982),
  [5442] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__single_modifierless_property_declaration, 2, 0, 34),
  [5444] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__single_modifierless_property_declaration, 2, 0, 34),
  [5446] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5342),
  [5449] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(2055),
  [5452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2284),
  [5454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4288),
  [5456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6983),
  [5458] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5440),
  [5461] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_user_type, 2, 0, 0), SHIFT(5440),
  [5464] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8548),
  [5466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4657),
  [5468] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4656),
  [5471] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__case_pattern, 3, 0, 0),
  [5473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181),
  [5475] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__case_pattern, 3, 0, 0),
  [5477] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8515),
  [5479] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4603),
  [5481] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__case_pattern, 2, 0, 0),
  [5483] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__case_pattern, 2, 0, 0),
  [5485] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_property_modifier, 1, 0, 0), SHIFT(6812),
  [5488] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_modifier, 1, 0, 0),
  [5490] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_property_modifier, 1, 0, 0), SHIFT(2108),
  [5493] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_property_modifier, 1, 0, 0), SHIFT(6335),
  [5496] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_modifier, 1, 0, 0),
  [5498] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_user_type, 2, 0, 0), SHIFT(5362),
  [5501] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4231),
  [5503] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5362),
  [5506] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_user_type, 1, 0, 0), SHIFT(5362),
  [5509] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__case_pattern, 4, 0, 0),
  [5511] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__case_pattern, 4, 0, 0),
  [5513] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(2129),
  [5516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2382),
  [5518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4102),
  [5520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7015),
  [5522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2078),
  [5524] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 6, 0, 166),
  [5526] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 6, 0, 166),
  [5528] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 5, 0, 107),
  [5530] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 5, 0, 107),
  [5532] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__single_modifierless_property_declaration, 3, 0, 34),
  [5534] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__single_modifierless_property_declaration, 3, 0, 34),
  [5536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5650),
  [5538] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_modifiers_repeat1, 1, 0, 0),
  [5540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5655),
  [5542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4715),
  [5544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8948),
  [5546] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_modifiers_repeat1, 1, 0, 0),
  [5548] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 5, 0, 126),
  [5550] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 5, 0, 126),
  [5552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5342),
  [5554] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 4, 0, 62),
  [5556] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 4, 0, 62),
  [5558] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 4, 0, 60),
  [5560] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 4, 0, 60),
  [5562] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 6, 0, 144),
  [5564] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 6, 0, 144),
  [5566] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_user_type, 2, 0, 0), SHIFT(5404),
  [5569] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_entry, 3, 0, 188),
  [5571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5546),
  [5573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3866),
  [5575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3366),
  [5577] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_entry, 3, 0, 188),
  [5579] = {.entry = {.count = 1, .reusable = true}}, SHIFT(649),
  [5581] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_entry, 4, 0, 220),
  [5583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3457),
  [5585] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_entry, 4, 0, 220),
  [5587] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8339),
  [5589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4663),
  [5591] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_entry, 2, 0, 19),
  [5593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3159),
  [5595] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_entry, 2, 0, 19),
  [5597] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_user_type, 1, 0, 0), SHIFT(5404),
  [5600] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5404),
  [5603] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 3, 0, 20),
  [5605] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 3, 0, 20),
  [5607] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__no_expr_pattern_already_bound, 1, 0, 16),
  [5609] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2175),
  [5611] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__no_expr_pattern_already_bound, 1, 0, 16),
  [5613] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__binding_pattern_no_expr, 1, 0, 16),
  [5615] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_property_modifier, 1, 0, 0), SHIFT(6320),
  [5618] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(2246),
  [5621] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(278),
  [5624] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(2078),
  [5627] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(2078),
  [5630] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(2246),
  [5633] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__no_expr_pattern_already_bound, 1, 0, 17),
  [5635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2199),
  [5637] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__no_expr_pattern_already_bound, 1, 0, 17),
  [5639] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__binding_pattern_no_expr, 1, 0, 17),
  [5641] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4691),
  [5644] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(2179),
  [5647] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4448),
  [5649] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 5, 0, 114),
  [5651] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 5, 0, 114),
  [5653] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 7, 0, 200),
  [5655] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 7, 0, 200),
  [5657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2020),
  [5659] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4648),
  [5662] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tuple_pattern, 5, 0, 0),
  [5664] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__tuple_pattern, 5, 0, 0),
  [5666] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__function_value_parameters, 2, 0, 64),
  [5668] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__function_value_parameters, 2, 0, 64), SHIFT_REPEAT(5042),
  [5671] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__function_value_parameters, 2, 0, 64),
  [5673] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_casting_pattern, 2, 0, 59),
  [5675] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_casting_pattern, 2, 0, 59),
  [5677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2113),
  [5679] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(2234),
  [5682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2112),
  [5684] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2361),
  [5686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8480),
  [5688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2402),
  [5690] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8480),
  [5692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2361),
  [5694] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__case_pattern, 5, 0, 0),
  [5696] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__case_pattern, 5, 0, 0),
  [5698] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_property_modifier, 1, 0, 0), SHIFT(6315),
  [5701] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(2414),
  [5704] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(257),
  [5707] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(2113),
  [5710] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(2113),
  [5713] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(2414),
  [5716] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_user_type, 1, 0, 0), SHIFT(5365),
  [5719] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_user_type, 2, 0, 0), SHIFT(5365),
  [5722] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5332),
  [5725] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_entry_repeat1, 2, 0, 19),
  [5727] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_enum_entry_repeat1, 2, 0, 19),
  [5729] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_user_type, 1, 0, 0), SHIFT(5332),
  [5732] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__universally_allowed_pattern, 1, 0, 16),
  [5734] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__universally_allowed_pattern, 1, 0, 16),
  [5736] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tuple_pattern, 3, 0, 0),
  [5738] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__tuple_pattern, 3, 0, 0),
  [5740] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_casting_pattern, 3, 0, 105),
  [5742] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_casting_pattern, 3, 0, 105),
  [5744] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__locally_permitted_modifiers, 2, 0, 0),
  [5746] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__locally_permitted_modifiers, 2, 0, 0), SHIFT_REPEAT(2858),
  [5749] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__locally_permitted_modifiers, 2, 0, 0), SHIFT_REPEAT(5291),
  [5752] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__locally_permitted_modifiers, 2, 0, 0), SHIFT_REPEAT(2990),
  [5755] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__locally_permitted_modifiers, 2, 0, 0), SHIFT_REPEAT(2977),
  [5758] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__locally_permitted_modifiers, 2, 0, 0), SHIFT_REPEAT(2977),
  [5761] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5365),
  [5764] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4216),
  [5766] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), REDUCE(sym_capture_list_item, 1, 0, 11),
  [5769] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym__simple_user_type, 1, 0, 3), REDUCE(sym__expression, 1, 0, 0), REDUCE(sym_capture_list_item, 1, 0, 11),
  [5773] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__expression, 1, 0, 0), SHIFT(4360),
  [5776] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), SHIFT(690),
  [5779] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tuple_pattern, 4, 0, 0),
  [5781] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__tuple_pattern, 4, 0, 0),
  [5783] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_user_type, 2, 0, 0), SHIFT(5332),
  [5786] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4615),
  [5789] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(2284),
  [5792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4329),
  [5794] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(2517),
  [5797] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(305),
  [5800] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(2153),
  [5803] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(2153),
  [5806] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(2517),
  [5809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2153),
  [5811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5470),
  [5813] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4657),
  [5816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2154),
  [5818] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_user_type, 1, 0, 0), SHIFT(5374),
  [5821] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(2382),
  [5824] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5430),
  [5827] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__no_expr_pattern_already_bound, 2, 0, 16),
  [5829] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__no_expr_pattern_already_bound, 2, 0, 16),
  [5831] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__binding_pattern_no_expr, 2, 0, 16),
  [5833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5430),
  [5835] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4282),
  [5837] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__possibly_implicitly_unwrapped_type, 1, 0, 16),
  [5839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2301),
  [5841] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__possibly_implicitly_unwrapped_type, 1, 0, 16),
  [5843] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5470),
  [5846] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__primary_expression, 1, 0, 0),
  [5848] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_parameter, 1, 0, 0),
  [5850] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__primary_expression, 1, 0, 0),
  [5852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4228),
  [5854] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5374),
  [5857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2919),
  [5859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4447),
  [5861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6922),
  [5863] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__function_value_parameters, 4, 0, 152),
  [5865] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__function_value_parameters, 4, 0, 152),
  [5867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(335),
  [5869] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__function_value_parameters, 4, 0, 113),
  [5871] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__function_value_parameters, 4, 0, 113),
  [5873] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__function_value_parameters, 5, 0, 152),
  [5875] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__function_value_parameters, 5, 0, 152),
  [5877] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__no_expr_pattern_already_bound, 2, 0, 17),
  [5879] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__no_expr_pattern_already_bound, 2, 0, 17),
  [5881] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__binding_pattern_no_expr, 2, 0, 17),
  [5883] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4270),
  [5885] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__function_value_parameters, 2, 0, 0),
  [5887] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__function_value_parameters, 2, 0, 0),
  [5889] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__function_value_parameters, 3, 0, 113),
  [5891] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__function_value_parameters, 3, 0, 113),
  [5893] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4603),
  [5896] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_user_type, 2, 0, 0), SHIFT(5374),
  [5899] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 7, 0, 166),
  [5901] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 7, 0, 166),
  [5903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2314),
  [5905] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 4, 0, 20),
  [5907] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 4, 0, 20),
  [5909] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_associatedtype_declaration, 2, 0, 21),
  [5911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4212),
  [5913] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_associatedtype_declaration, 2, 0, 21),
  [5915] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4221),
  [5917] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5013),
  [5919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5013),
  [5921] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2309),
  [5923] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2224),
  [5925] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3342),
  [5927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4476),
  [5929] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4606),
  [5931] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4607),
  [5933] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5641),
  [5935] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4889),
  [5937] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2245),
  [5939] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 6, 0, 107),
  [5941] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 6, 0, 107),
  [5943] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2274),
  [5945] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(2700),
  [5948] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(324),
  [5951] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(2245),
  [5954] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(2245),
  [5957] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(2700),
  [5960] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 6, 0, 114),
  [5962] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 6, 0, 114),
  [5964] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4260),
  [5966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2397),
  [5968] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym_call_suffix, 1, 0, 0), REDUCE(sym_expr_hack_at_ternary_binary_call_suffix, 1, 0, 0), SHIFT(41),
  [5972] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_associatedtype_declaration, 3, 0, 79),
  [5974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4268),
  [5976] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_associatedtype_declaration, 3, 0, 79),
  [5978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4269),
  [5980] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2213),
  [5982] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 6, 0, 126),
  [5984] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 6, 0, 126),
  [5986] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 8, 0, 200),
  [5988] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 8, 0, 200),
  [5990] = {.entry = {.count = 1, .reusable = true}}, SHIFT(398),
  [5992] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 5, 0, 62),
  [5994] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 5, 0, 62),
  [5996] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4370),
  [5998] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 5, 0, 60),
  [6000] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 5, 0, 60),
  [6002] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4663),
  [6005] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_key_path_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(4951),
  [6008] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__possibly_implicitly_unwrapped_type, 2, 0, 16),
  [6010] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__possibly_implicitly_unwrapped_type, 2, 0, 16),
  [6012] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_call_suffix, 1, 0, 0), SHIFT(41),
  [6015] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_constructor_suffix, 1, 0, 0), SHIFT(41),
  [6018] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 7, 0, 144),
  [6020] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 7, 0, 144),
  [6022] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(2647),
  [6025] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(289),
  [6028] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(2314),
  [6031] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(2314),
  [6034] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(2647),
  [6037] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4865),
  [6039] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_mutation_modifier, 1, 0, 0),
  [6041] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_mutation_modifier, 1, 0, 0),
  [6043] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5098),
  [6045] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5098),
  [6047] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2328),
  [6049] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2329),
  [6051] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3397),
  [6053] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4358),
  [6055] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4701),
  [6057] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4692),
  [6059] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5727),
  [6061] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2379),
  [6063] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2375),
  [6065] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_constructor_suffix, 1, 0, 0), SHIFT(52),
  [6068] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4219),
  [6070] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_associatedtype_declaration, 4, 0, 117),
  [6072] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_associatedtype_declaration, 4, 0, 117),
  [6074] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4293),
  [6076] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5410),
  [6078] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 2, 0, 0),
  [6080] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 2, 0, 0),
  [6082] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5556),
  [6084] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_constraints, 2, 0, 0),
  [6086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1134),
  [6088] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_constraints, 2, 0, 0),
  [6090] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_identifier_repeat1, 2, 0, 0),
  [6092] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_identifier_repeat1, 2, 0, 0),
  [6094] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_identifier_repeat1, 2, 0, 0), SHIFT_REPEAT(5556),
  [6097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8397),
  [6099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4651),
  [6101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6939),
  [6103] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_key_path_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(4946),
  [6106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3621),
  [6108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4325),
  [6110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6903),
  [6112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_annotation, 2, 0, 90),
  [6114] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_annotation, 2, 0, 90),
  [6116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1129),
  [6118] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(3034),
  [6121] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(238),
  [6124] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(2379),
  [6127] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(2379),
  [6130] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__key_path_component_repeat1, 2, 0, 0), SHIFT_REPEAT(3034),
  [6133] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_constraints_repeat1, 2, 0, 0),
  [6135] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_constraints_repeat1, 2, 0, 0), SHIFT_REPEAT(3848),
  [6138] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_constraints_repeat1, 2, 0, 0),
  [6140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6955),
  [6142] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4174),
  [6144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_associatedtype_declaration, 5, 0, 168),
  [6146] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_associatedtype_declaration, 5, 0, 168),
  [6148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4346),
  [6150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1, 0, 0),
  [6152] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1, 0, 0),
  [6154] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5410),
  [6157] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_call_suffix, 1, 0, 0), SHIFT(52),
  [6160] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym_call_suffix, 1, 0, 0), REDUCE(sym_expr_hack_at_ternary_binary_call_suffix, 1, 0, 0), SHIFT(52),
  [6164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_entry, 6, 0, 248),
  [6166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3360),
  [6168] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_entry, 6, 0, 248),
  [6170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 8, 0, 166),
  [6172] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 8, 0, 166),
  [6174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_equality_constraint, 4, 0, 205),
  [6176] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_equality_constraint, 4, 0, 205),
  [6178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inheritance_constraint, 4, 0, 204),
  [6180] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inheritance_constraint, 4, 0, 204),
  [6182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 9, 0, 200),
  [6184] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 9, 0, 200),
  [6186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 8, 0, 144),
  [6188] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 8, 0, 144),
  [6190] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4225),
  [6192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 7, 0, 126),
  [6194] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 7, 0, 126),
  [6196] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__lambda_type_declaration_repeat1, 1, 0, 0),
  [6198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__lambda_type_declaration_repeat1, 1, 0, 0),
  [6200] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__locally_permitted_modifiers, 1, 0, 0), REDUCE(aux_sym__lambda_type_declaration_repeat1, 1, 0, 0),
  [6203] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__locally_permitted_modifiers, 1, 0, 0),
  [6205] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__locally_permitted_modifiers, 1, 0, 0),
  [6207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_entry, 3, 0, 187),
  [6209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3264),
  [6211] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_entry, 3, 0, 187),
  [6213] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 7, 0, 114),
  [6215] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 7, 0, 114),
  [6217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_entry, 3, 0, 185),
  [6219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3234),
  [6221] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_entry, 3, 0, 185),
  [6223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 7, 0, 107),
  [6225] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 7, 0, 107),
  [6227] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_attribute, 2, 0, 0), SHIFT(380),
  [6230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1228),
  [6232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4904),
  [6234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_equality_constraint, 3, 0, 171),
  [6236] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_equality_constraint, 3, 0, 171),
  [6238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inheritance_constraint, 3, 0, 170),
  [6240] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inheritance_constraint, 3, 0, 170),
  [6242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1222),
  [6244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_entry, 4, 0, 216),
  [6246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3414),
  [6248] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_entry, 4, 0, 216),
  [6250] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_constraints_repeat1, 2, 0, 0), SHIFT_REPEAT(3855),
  [6253] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_entry_repeat1, 2, 0, 217),
  [6255] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_entry_repeat1, 2, 0, 217), SHIFT_REPEAT(5546),
  [6258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_enum_entry_repeat1, 2, 0, 217),
  [6260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 6, 0, 62),
  [6262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 6, 0, 62),
  [6264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_entry, 4, 0, 218),
  [6266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3415),
  [6268] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_entry, 4, 0, 218),
  [6270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2757),
  [6272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_entry, 4, 0, 219),
  [6274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3448),
  [6276] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_entry, 4, 0, 219),
  [6278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 6, 0, 60),
  [6280] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 6, 0, 60),
  [6282] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym_call_suffix, 1, 0, 0), REDUCE(sym_expr_hack_at_ternary_binary_call_suffix, 1, 0, 0), SHIFT(51),
  [6286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_entry, 5, 0, 237),
  [6288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3395),
  [6290] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_entry, 5, 0, 237),
  [6292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 5, 0, 20),
  [6294] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 5, 0, 20),
  [6296] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5151),
  [6298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5151),
  [6300] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2495),
  [6302] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2496),
  [6304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3483),
  [6306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4402),
  [6308] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4682),
  [6310] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4735),
  [6312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5596),
  [6314] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_entry, 5, 0, 238),
  [6316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3394),
  [6318] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_entry, 5, 0, 238),
  [6320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_entry, 5, 0, 239),
  [6322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3393),
  [6324] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_entry, 5, 0, 239),
  [6326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6949),
  [6328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3725),
  [6330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4126),
  [6332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6896),
  [6334] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym_call_suffix, 1, 0, 0), REDUCE(sym_expr_hack_at_ternary_binary_call_suffix, 1, 0, 0), SHIFT(36),
  [6338] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_key_path_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(4952),
  [6341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214),
  [6343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7632),
  [6345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206),
  [6347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8070),
  [6349] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_constraint, 1, 0, 0),
  [6351] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_constraint, 1, 0, 0),
  [6353] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_call_suffix, 1, 0, 0), SHIFT(51),
  [6356] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_constructor_suffix, 1, 0, 0), SHIFT(51),
  [6359] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_attribute, 2, 0, 0), SHIFT(365),
  [6362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6854),
  [6364] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_declaration, 3, 0, 0),
  [6366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5742),
  [6368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3895),
  [6370] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_declaration, 3, 0, 0),
  [6372] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(2919),
  [6375] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_call_suffix, 1, 0, 0), SHIFT(36),
  [6378] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_constructor_suffix, 1, 0, 0), SHIFT(36),
  [6381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4905),
  [6383] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4324),
  [6385] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_property_declaration, 2, 0, 33),
  [6387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4771),
  [6389] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__modifierless_property_declaration, 2, 0, 33),
  [6391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5399),
  [6393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4911),
  [6395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_throws, 1, 0, 0),
  [6397] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_throws, 1, 0, 0),
  [6399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_type_parameters, 9, 0, 258),
  [6401] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_type_parameters, 9, 0, 258),
  [6403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_type_parameters, 8, 0, 257),
  [6405] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_type_parameters, 8, 0, 257),
  [6407] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5239),
  [6409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5239),
  [6411] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2666),
  [6413] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2665),
  [6415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3337),
  [6417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4319),
  [6419] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4756),
  [6421] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4755),
  [6423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5794),
  [6425] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_associatedtype_declaration, 3, 0, 21),
  [6427] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_associatedtype_declaration, 3, 0, 21),
  [6429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4267),
  [6431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_type_parameters, 8, 0, 253),
  [6433] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_type_parameters, 8, 0, 253),
  [6435] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4334),
  [6437] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5241),
  [6439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5241),
  [6441] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2677),
  [6443] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2673),
  [6445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3372),
  [6447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4335),
  [6449] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4709),
  [6451] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4710),
  [6453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5586),
  [6455] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_type_parameters, 7, 0, 193),
  [6457] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_type_parameters, 7, 0, 193),
  [6459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4210),
  [6461] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_type_parameters, 7, 0, 256),
  [6463] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_type_parameters, 7, 0, 256),
  [6465] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_constructor_suffix, 1, 0, 0), SHIFT(35),
  [6468] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_type_parameters, 6, 0, 255),
  [6470] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_type_parameters, 6, 0, 255),
  [6472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_property_declaration, 3, 0, 75),
  [6474] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__modifierless_property_declaration, 3, 0, 75),
  [6476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8325),
  [6478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4644),
  [6480] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_type_parameters, 6, 0, 254),
  [6482] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_type_parameters, 6, 0, 254),
  [6484] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_type_parameters, 6, 0, 253),
  [6486] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_type_parameters, 6, 0, 253),
  [6488] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__enum_entry_suffix, 1, 0, 186),
  [6490] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__enum_entry_suffix, 1, 0, 186),
  [6492] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_call_suffix, 1, 0, 0), SHIFT(35),
  [6495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6826),
  [6497] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_type_parameters, 5, 0, 59),
  [6499] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_type_parameters, 5, 0, 59),
  [6501] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_key_path_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(4944),
  [6504] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_type_parameters, 5, 0, 193),
  [6506] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_type_parameters, 5, 0, 193),
  [6508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8661),
  [6510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3845),
  [6512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4769),
  [6514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(946),
  [6516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180),
  [6518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4791),
  [6520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4804),
  [6522] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5246),
  [6524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4807),
  [6526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4792),
  [6528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3854),
  [6530] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_associatedtype_declaration, 6, 0, 168),
  [6532] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_associatedtype_declaration, 6, 0, 168),
  [6534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4406),
  [6536] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_type_parameters, 2, 0, 0),
  [6538] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_type_parameters, 2, 0, 0),
  [6540] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_type_parameters, 4, 0, 159),
  [6542] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_type_parameters, 4, 0, 159),
  [6544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3609),
  [6546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7185),
  [6548] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym_call_suffix, 1, 0, 0), REDUCE(sym_expr_hack_at_ternary_binary_call_suffix, 1, 0, 0), SHIFT(35),
  [6552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6825),
  [6554] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5399),
  [6557] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym_call_suffix, 1, 0, 0), REDUCE(sym_expr_hack_at_ternary_binary_call_suffix, 1, 0, 0), SHIFT(50),
  [6561] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(3845),
  [6564] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(4769),
  [6567] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0),
  [6569] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(180),
  [6572] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(4791),
  [6575] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(4804),
  [6578] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(5246),
  [6581] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(4807),
  [6584] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(4792),
  [6587] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(3854),
  [6590] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(4794),
  [6593] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(3841),
  [6596] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(3841),
  [6599] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(8831),
  [6602] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value_argument_label, 1, 0, 0),
  [6604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3484),
  [6606] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__modifierless_property_declaration_repeat1, 2, 0, 123),
  [6608] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__modifierless_property_declaration_repeat1, 2, 0, 123), SHIFT_REPEAT(4771),
  [6611] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__modifierless_property_declaration_repeat1, 2, 0, 123),
  [6613] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_entry_repeat1, 3, 0, 185),
  [6615] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_enum_entry_repeat1, 3, 0, 185),
  [6617] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_type_parameters, 3, 0, 59),
  [6619] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_type_parameters, 3, 0, 59),
  [6621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1335),
  [6623] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_associatedtype_declaration, 4, 0, 79),
  [6625] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_associatedtype_declaration, 4, 0, 79),
  [6627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4313),
  [6629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2776),
  [6631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4549),
  [6633] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_key_path_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(4941),
  [6636] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3046),
  [6638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1379),
  [6640] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_call_suffix, 1, 0, 0), SHIFT(50),
  [6643] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_constructor_suffix, 1, 0, 0), SHIFT(50),
  [6646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2552),
  [6648] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_declaration, 5, 0, 0),
  [6650] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_declaration, 5, 0, 0),
  [6652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3216),
  [6654] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_associatedtype_declaration, 5, 0, 117),
  [6656] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_associatedtype_declaration, 5, 0, 117),
  [6658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4341),
  [6660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(725),
  [6662] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5429),
  [6664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5429),
  [6666] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2906),
  [6668] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2849),
  [6670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3276),
  [6672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4256),
  [6674] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4609),
  [6676] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4610),
  [6678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5771),
  [6680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8311),
  [6682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4759),
  [6684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185),
  [6686] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_computed_property, 3, 0, 0),
  [6688] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_computed_property, 3, 0, 0),
  [6690] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_willset_didset_block, 3, 0, 0),
  [6692] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_willset_didset_block, 3, 0, 0),
  [6694] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__single_modifierless_property_declaration, 4, 0, 164),
  [6696] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__single_modifierless_property_declaration, 4, 0, 164),
  [6698] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__single_modifierless_property_declaration, 4, 0, 34),
  [6700] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__single_modifierless_property_declaration, 4, 0, 34),
  [6702] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__single_modifierless_property_declaration, 4, 0, 165),
  [6704] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__single_modifierless_property_declaration, 4, 0, 165),
  [6706] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_with_willset_didset, 3, 1, 46),
  [6708] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression_with_willset_didset, 3, 1, 46),
  [6710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4918),
  [6712] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_modifier, 1, 0, 0),
  [6714] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_modifier, 1, 0, 0),
  [6716] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__single_modifierless_property_declaration, 3, 0, 125),
  [6718] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__single_modifierless_property_declaration, 3, 0, 125),
  [6720] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__single_modifierless_property_declaration, 3, 0, 124),
  [6722] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__single_modifierless_property_declaration, 3, 0, 124),
  [6724] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_computed_property, 2, 0, 0),
  [6726] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_computed_property, 2, 0, 0),
  [6728] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__modifierless_property_declaration_repeat1, 2, 0, 33),
  [6730] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__modifierless_property_declaration_repeat1, 2, 0, 33),
  [6732] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym_call_suffix, 1, 0, 0), REDUCE(sym_expr_hack_at_ternary_binary_call_suffix, 1, 0, 0), SHIFT(37),
  [6736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(691),
  [6738] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_visibility_modifier, 4, 0, 0),
  [6740] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_visibility_modifier, 4, 0, 0),
  [6742] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(3621),
  [6745] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5075),
  [6747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5075),
  [6749] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2959),
  [6751] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2931),
  [6753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3186),
  [6755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4351),
  [6757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5725),
  [6759] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5331),
  [6761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5331),
  [6763] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2936),
  [6765] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2935),
  [6767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3536),
  [6769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4409),
  [6771] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4728),
  [6773] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4732),
  [6775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5519),
  [6777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183),
  [6779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6965),
  [6781] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_willset_didset_block, 4, 0, 0),
  [6783] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_willset_didset_block, 4, 0, 0),
  [6785] = {.entry = {.count = 1, .reusable = true}}, SHIFT(720),
  [6787] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2975),
  [6789] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2976),
  [6791] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4700),
  [6793] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4702),
  [6795] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ownership_modifier, 1, 0, 0),
  [6797] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ownership_modifier, 1, 0, 0),
  [6799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6936),
  [6801] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5397),
  [6804] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inheritance_modifier, 1, 0, 0),
  [6806] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inheritance_modifier, 1, 0, 0),
  [6808] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member_modifier, 1, 0, 0),
  [6810] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_member_modifier, 1, 0, 0),
  [6812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(632),
  [6814] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5356),
  [6816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5356),
  [6818] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3010),
  [6820] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3005),
  [6822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3527),
  [6824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4428),
  [6826] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4667),
  [6828] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4665),
  [6830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5610),
  [6832] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4471),
  [6834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(700),
  [6836] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__single_modifierless_property_declaration, 2, 0, 77),
  [6838] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__single_modifierless_property_declaration, 2, 0, 77),
  [6840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(618),
  [6842] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__single_modifierless_property_declaration, 2, 0, 76),
  [6844] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__single_modifierless_property_declaration, 2, 0, 76),
  [6846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4201),
  [6848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(577),
  [6850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5397),
  [6852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(610),
  [6854] = {.entry = {.count = 1, .reusable = true}}, SHIFT(581),
  [6856] = {.entry = {.count = 1, .reusable = true}}, SHIFT(614),
  [6858] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_constructor_suffix, 1, 0, 0), SHIFT(37),
  [6861] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_call_suffix, 1, 0, 0), SHIFT(37),
  [6864] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4651),
  [6867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186),
  [6869] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_key_path_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(4945),
  [6872] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 8, 0, 242),
  [6874] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 8, 0, 242),
  [6876] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 8, 0, 243),
  [6878] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 8, 0, 243),
  [6880] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 8, 0, 236),
  [6882] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 8, 0, 236),
  [6884] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 8, 0, 244),
  [6886] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 8, 0, 244),
  [6888] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_protocol_declaration, 8, 0, 240),
  [6890] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_protocol_declaration, 8, 0, 240),
  [6892] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_associatedtype_declaration, 8, 0, 245),
  [6894] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_associatedtype_declaration, 8, 0, 245),
  [6896] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_declaration, 5, 0, 72),
  [6898] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_subscript_declaration, 5, 0, 72),
  [6900] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 8, 0, 241),
  [6902] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 8, 0, 241),
  [6904] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_class_declaration, 8, 0, 240),
  [6906] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__modifierless_class_declaration, 8, 0, 240),
  [6908] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_declaration, 5, 0, 231),
  [6910] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_subscript_declaration, 5, 0, 231),
  [6912] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 9, 0, 247),
  [6914] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 9, 0, 247),
  [6916] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_declaration, 5, 0, 121),
  [6918] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_subscript_declaration, 5, 0, 121),
  [6920] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 9, 0, 249),
  [6922] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 9, 0, 249),
  [6924] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 7, 0, 212),
  [6926] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 7, 0, 212),
  [6928] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 9, 0, 250),
  [6930] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 9, 0, 250),
  [6932] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 8, 0, 235),
  [6934] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 8, 0, 235),
  [6936] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 10, 0, 252),
  [6938] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 10, 0, 252),
  [6940] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_declaration, 4, 0, 113),
  [6942] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_subscript_declaration, 4, 0, 113),
  [6944] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_declaration, 4, 0, 72),
  [6946] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_subscript_declaration, 4, 0, 72),
  [6948] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_deinit_declaration, 3, 0, 173),
  [6950] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_deinit_declaration, 3, 0, 173),
  [6952] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_declaration, 3, 0, 113),
  [6954] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_subscript_declaration, 3, 0, 113),
  [6956] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_declaration, 6, 0, 246),
  [6958] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_subscript_declaration, 6, 0, 246),
  [6960] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_declaration, 6, 0, 231),
  [6962] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_subscript_declaration, 6, 0, 231),
  [6964] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_declaration, 6, 0, 121),
  [6966] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_subscript_declaration, 6, 0, 121),
  [6968] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5724),
  [6970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5724),
  [6972] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3107),
  [6974] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3109),
  [6976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3110),
  [6978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4164),
  [6980] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4616),
  [6982] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4620),
  [6984] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5659),
  [6986] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5811),
  [6988] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4797),
  [6990] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_associatedtype_declaration, 7, 0, 230),
  [6992] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_associatedtype_declaration, 7, 0, 230),
  [6994] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_protocol_declaration, 7, 0, 222),
  [6996] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_protocol_declaration, 7, 0, 222),
  [6998] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 7, 0, 229),
  [7000] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 7, 0, 229),
  [7002] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 7, 0, 228),
  [7004] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 7, 0, 228),
  [7006] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_declaration, 7, 0, 246),
  [7008] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_subscript_declaration, 7, 0, 246),
  [7010] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_declaration, 7, 0, 251),
  [7012] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_subscript_declaration, 7, 0, 251),
  [7014] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_declaration, 8, 0, 251),
  [7016] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_subscript_declaration, 8, 0, 251),
  [7018] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5561),
  [7020] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5561),
  [7022] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3138),
  [7024] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3139),
  [7026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3462),
  [7028] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4379),
  [7030] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4605),
  [7032] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4637),
  [7034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5664),
  [7036] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3140),
  [7038] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3141),
  [7040] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4652),
  [7042] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4768),
  [7044] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_deinit_declaration, 2, 0, 131),
  [7046] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_deinit_declaration, 2, 0, 131),
  [7048] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7042),
  [7050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7063),
  [7052] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 7, 0, 227),
  [7054] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 7, 0, 227),
  [7056] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 1, 0, 5),
  [7058] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 1, 0, 5),
  [7060] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typealias_declaration, 1, 0, 6),
  [7062] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_typealias_declaration, 1, 0, 6),
  [7064] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_associatedtype_declaration, 7, 0, 225),
  [7066] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_associatedtype_declaration, 7, 0, 225),
  [7068] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 7, 0, 224),
  [7070] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 7, 0, 224),
  [7072] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 7, 0, 223),
  [7074] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 7, 0, 223),
  [7076] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_entry, 3, 0, 19),
  [7078] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_entry, 3, 0, 19),
  [7080] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 1, 0, 8),
  [7082] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 1, 0, 8),
  [7084] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_declaration, 2, 0, 0),
  [7086] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_declaration, 2, 0, 0),
  [7088] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__primary_expression, 1, 0, 0), REDUCE(sym_capture_list_item, 1, 0, 11),
  [7091] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_class_declaration, 7, 0, 222),
  [7093] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__modifierless_class_declaration, 7, 0, 222),
  [7095] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5542),
  [7097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5542),
  [7099] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3178),
  [7101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3173),
  [7103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3351),
  [7105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4327),
  [7107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4742),
  [7109] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4744),
  [7111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5781),
  [7113] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_class_declaration, 7, 0, 221),
  [7115] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__modifierless_class_declaration, 7, 0, 221),
  [7117] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_protocol_declaration, 7, 0, 206),
  [7119] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_protocol_declaration, 7, 0, 206),
  [7121] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 7, 0, 214),
  [7123] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 7, 0, 214),
  [7125] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 7, 0, 213),
  [7127] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 7, 0, 213),
  [7129] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_body, 1, 0, 0),
  [7131] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_body, 1, 0, 0),
  [7133] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 6, 0, 184),
  [7135] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 6, 0, 184),
  [7137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 2, 0, 31),
  [7139] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 2, 0, 31),
  [7141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5885),
  [7143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_class_declaration, 7, 0, 206),
  [7145] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__modifierless_class_declaration, 7, 0, 206),
  [7147] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_associatedtype_declaration, 6, 0, 203),
  [7149] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_associatedtype_declaration, 6, 0, 203),
  [7151] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_declaration, 2, 0, 33),
  [7153] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_declaration, 2, 0, 33),
  [7155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_protocol_declaration, 6, 0, 191),
  [7157] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_protocol_declaration, 6, 0, 191),
  [7159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typealias_declaration, 2, 0, 35),
  [7161] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_typealias_declaration, 2, 0, 35),
  [7163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 2, 0, 36),
  [7165] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 2, 0, 36),
  [7167] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 6, 0, 202),
  [7169] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 6, 0, 202),
  [7171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1059),
  [7173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7150),
  [7175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7876),
  [7177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1075),
  [7179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7741),
  [7181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1062),
  [7183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5841),
  [7185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_entry, 4, 0, 185),
  [7187] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_entry, 4, 0, 185),
  [7189] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_class_declaration, 3, 0, 43),
  [7191] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__modifierless_class_declaration, 3, 0, 43),
  [7193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3707),
  [7195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3708),
  [7197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3730),
  [7199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3580),
  [7201] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 6, 0, 201),
  [7203] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 6, 0, 201),
  [7205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3660),
  [7207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3829),
  [7209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3817),
  [7211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3809),
  [7213] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_entry, 4, 0, 187),
  [7215] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_entry, 4, 0, 187),
  [7217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2184),
  [7219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2171),
  [7221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2158),
  [7223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5941),
  [7225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5802),
  [7227] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5541),
  [7229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5541),
  [7231] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3272),
  [7233] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3273),
  [7235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3315),
  [7237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4283),
  [7239] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4672),
  [7241] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4666),
  [7243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5709),
  [7245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5803),
  [7247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_declaration, 3, 0, 0),
  [7249] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_declaration, 3, 0, 0),
  [7251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5830),
  [7253] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_protocol_declaration, 3, 0, 43),
  [7255] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_protocol_declaration, 3, 0, 43),
  [7257] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_class_declaration, 3, 0, 61),
  [7259] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__modifierless_class_declaration, 3, 0, 61),
  [7261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3051),
  [7263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5986),
  [7265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3048),
  [7267] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_associatedtype_declaration, 6, 0, 197),
  [7269] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_associatedtype_declaration, 6, 0, 197),
  [7271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3039),
  [7273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1093),
  [7275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_deprecated_operator_declaration_body, 3, 0, 0),
  [7277] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_deprecated_operator_declaration_body, 3, 0, 0),
  [7279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2883),
  [7281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6002),
  [7283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_declaration, 6, 0, 0),
  [7285] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_declaration, 6, 0, 0),
  [7287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 3, 0, 63),
  [7289] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 3, 0, 63),
  [7291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1112),
  [7293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1091),
  [7295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 6, 0, 196),
  [7297] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 6, 0, 196),
  [7299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2023),
  [7301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2026),
  [7303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2107),
  [7305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 6, 0, 195),
  [7307] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 6, 0, 195),
  [7309] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2033),
  [7311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6017),
  [7313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6025),
  [7315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2124),
  [7317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5994),
  [7319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4504),
  [7321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 6, 0, 194),
  [7323] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 6, 0, 194),
  [7325] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_class_declaration, 6, 0, 191),
  [7327] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__modifierless_class_declaration, 6, 0, 191),
  [7329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1967),
  [7331] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_class_declaration, 6, 0, 190),
  [7333] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__modifierless_class_declaration, 6, 0, 190),
  [7335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1974),
  [7337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_protocol_declaration, 6, 0, 172),
  [7339] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_protocol_declaration, 6, 0, 172),
  [7341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2139),
  [7343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1982),
  [7345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5713),
  [7347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5693),
  [7349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5628),
  [7351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 6, 0, 183),
  [7353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 6, 0, 183),
  [7355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5194),
  [7357] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3598),
  [7359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 5, 0, 156),
  [7361] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 5, 0, 156),
  [7363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5961),
  [7365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5974),
  [7367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6001),
  [7369] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 6, 0, 182),
  [7371] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 6, 0, 182),
  [7373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5168),
  [7375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5589),
  [7377] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_entry, 7, 0, 248),
  [7379] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_entry, 7, 0, 248),
  [7381] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_body, 2, 0, 0),
  [7383] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_body, 2, 0, 0),
  [7385] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_class_declaration, 4, 0, 86),
  [7387] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__modifierless_class_declaration, 4, 0, 86),
  [7389] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_entry, 4, 0, 188),
  [7391] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_entry, 4, 0, 188),
  [7393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5651),
  [7395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5736),
  [7397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_class_declaration, 6, 0, 172),
  [7399] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__modifierless_class_declaration, 6, 0, 172),
  [7401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2304),
  [7403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2288),
  [7405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2253),
  [7407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2289),
  [7409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2217),
  [7411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2268),
  [7413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5712),
  [7415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_associatedtype_declaration, 5, 0, 169),
  [7417] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_associatedtype_declaration, 5, 0, 169),
  [7419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5228),
  [7421] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_protocol_declaration, 5, 0, 151),
  [7423] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_protocol_declaration, 5, 0, 151),
  [7425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5161),
  [7427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5201),
  [7429] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 5, 0, 167),
  [7431] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 5, 0, 167),
  [7433] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_entry, 6, 0, 239),
  [7435] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_entry, 6, 0, 239),
  [7437] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_entry, 6, 0, 238),
  [7439] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_entry, 6, 0, 238),
  [7441] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_entry, 6, 0, 237),
  [7443] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_entry, 6, 0, 237),
  [7445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5253),
  [7447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6269),
  [7449] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_typealias_declaration, 4, 0, 106),
  [7451] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__modifierless_typealias_declaration, 4, 0, 106),
  [7453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1840),
  [7455] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_entry, 5, 0, 216),
  [7457] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_entry, 5, 0, 216),
  [7459] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_entry, 5, 0, 218),
  [7461] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_entry, 5, 0, 218),
  [7463] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6254),
  [7465] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_associatedtype_declaration, 5, 0, 158),
  [7467] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_associatedtype_declaration, 5, 0, 158),
  [7469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1842),
  [7471] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 4, 0, 108),
  [7473] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 4, 0, 108),
  [7475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6243),
  [7477] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1850),
  [7479] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_precedence_group_declaration, 5, 0, 0),
  [7481] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_precedence_group_declaration, 5, 0, 0),
  [7483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6909),
  [7485] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_class_body, 2, 0, 0),
  [7487] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_class_body, 2, 0, 0),
  [7489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(833),
  [7491] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_deprecated_operator_declaration_body, 2, 0, 0),
  [7493] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_deprecated_operator_declaration_body, 2, 0, 0),
  [7495] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_protocol_body, 2, 0, 0),
  [7497] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_protocol_body, 2, 0, 0),
  [7499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5949),
  [7501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5937),
  [7503] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 5, 0, 157),
  [7505] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 5, 0, 157),
  [7507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(841),
  [7509] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_entry, 5, 0, 219),
  [7511] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_entry, 5, 0, 219),
  [7513] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_entry, 5, 0, 220),
  [7515] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_entry, 5, 0, 220),
  [7517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(826),
  [7519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5943),
  [7521] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 5, 0, 155),
  [7523] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 5, 0, 155),
  [7525] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_protocol_declaration, 4, 0, 86),
  [7527] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_protocol_declaration, 4, 0, 86),
  [7529] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(3725),
  [7532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1783),
  [7534] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_class_declaration, 4, 0, 111),
  [7536] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__modifierless_class_declaration, 4, 0, 111),
  [7538] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_class_declaration, 5, 0, 151),
  [7540] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__modifierless_class_declaration, 5, 0, 151),
  [7542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5474),
  [7544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1778),
  [7546] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_class_declaration, 5, 0, 150),
  [7548] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__modifierless_class_declaration, 5, 0, 150),
  [7550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5479),
  [7552] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_protocol_body, 3, 0, 148),
  [7554] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_protocol_body, 3, 0, 148),
  [7556] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_class_declaration, 4, 0, 112),
  [7558] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__modifierless_class_declaration, 4, 0, 112),
  [7560] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5493),
  [7562] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6055),
  [7564] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1784),
  [7566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1874),
  [7568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1875),
  [7570] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_protocol_declaration, 5, 0, 130),
  [7572] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_protocol_declaration, 5, 0, 130),
  [7574] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 4, 0, 115),
  [7576] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 4, 0, 115),
  [7578] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_class_body, 3, 0, 0),
  [7580] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_class_body, 3, 0, 0),
  [7582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1873),
  [7584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5831),
  [7586] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 5, 0, 146),
  [7588] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 5, 0, 146),
  [7590] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 5, 0, 145),
  [7592] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 5, 0, 145),
  [7594] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_typealias_declaration, 5, 0, 143),
  [7596] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__modifierless_typealias_declaration, 5, 0, 143),
  [7598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5825),
  [7600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5832),
  [7602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5853),
  [7604] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declaration, 4, 0, 116),
  [7606] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_declaration, 4, 0, 116),
  [7608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5848),
  [7610] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_declaration, 4, 0, 0),
  [7612] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_declaration, 4, 0, 0),
  [7614] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_precedence_group_declaration, 4, 0, 0),
  [7616] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_precedence_group_declaration, 4, 0, 0),
  [7618] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_associatedtype_declaration, 4, 0, 118),
  [7620] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_associatedtype_declaration, 4, 0, 118),
  [7622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6042),
  [7624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5852),
  [7626] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_body, 3, 0, 0),
  [7628] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_body, 3, 0, 0),
  [7630] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_class_declaration, 5, 0, 130),
  [7632] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__modifierless_class_declaration, 5, 0, 130),
  [7634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6046),
  [7636] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2365),
  [7638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2341),
  [7640] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_protocol_declaration, 4, 0, 112),
  [7642] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_protocol_declaration, 4, 0, 112),
  [7644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5674),
  [7646] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_declaration, 4, 0, 0),
  [7648] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_declaration, 4, 0, 0),
  [7650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2319),
  [7652] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__primary_expression, 1, 0, 0), REDUCE(sym_lambda_parameter, 1, 0, 0),
  [7655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3823),
  [7657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4343),
  [7659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6908),
  [7661] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__locally_permitted_modifiers, 2, 0, 0), SHIFT_REPEAT(3845),
  [7664] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__locally_permitted_modifiers, 2, 0, 0), SHIFT_REPEAT(5246),
  [7667] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__locally_permitted_modifiers, 2, 0, 0), SHIFT_REPEAT(3854),
  [7670] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__locally_permitted_modifiers, 2, 0, 0), SHIFT_REPEAT(3841),
  [7673] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__locally_permitted_modifiers, 2, 0, 0), SHIFT_REPEAT(3841),
  [7676] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4644),
  [7679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4037),
  [7681] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5),
  [7683] = {.entry = {.count = 1, .reusable = true}}, SHIFT(619),
  [7685] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3842),
  [7687] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3627),
  [7689] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3626),
  [7691] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4738),
  [7693] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4746),
  [7695] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5876),
  [7697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5876),
  [7699] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3629),
  [7701] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3630),
  [7703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3485),
  [7705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4414),
  [7707] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4619),
  [7709] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4618),
  [7711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5555),
  [7713] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5720),
  [7715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5720),
  [7717] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3640),
  [7719] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3641),
  [7721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3270),
  [7723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4429),
  [7725] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4604),
  [7727] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4685),
  [7729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5699),
  [7731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7047),
  [7733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7023),
  [7735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3872),
  [7737] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4759),
  [7740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3871),
  [7742] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3724),
  [7744] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3722),
  [7746] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4724),
  [7748] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4723),
  [7750] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_modifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(3845),
  [7753] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_modifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(4769),
  [7756] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_modifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(4791),
  [7759] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_modifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(4804),
  [7762] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_modifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(5246),
  [7765] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_modifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(4807),
  [7768] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_modifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(4792),
  [7771] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_modifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(3854),
  [7774] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_modifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(4794),
  [7777] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_modifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(3841),
  [7780] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_modifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(3841),
  [7783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4275),
  [7785] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5403),
  [7788] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3766),
  [7790] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3739),
  [7792] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4719),
  [7794] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4716),
  [7796] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5636),
  [7798] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5345),
  [7801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8340),
  [7803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4628),
  [7805] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4834),
  [7807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4215),
  [7809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5345),
  [7811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3870),
  [7813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5403),
  [7815] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4781),
  [7817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173),
  [7819] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__locally_permitted_modifiers, 1, 0, 0), REDUCE(aux_sym__lambda_type_declaration_repeat1, 1, 0, 0),
  [7822] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(3823),
  [7825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3835),
  [7827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3834),
  [7829] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4628),
  [7832] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__no_expr_pattern_already_bound, 1, 0, 17), SHIFT(3832),
  [7835] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__binding_pattern_no_expr, 1, 0, 17), REDUCE(sym__no_expr_pattern_already_bound, 1, 0, 17),
  [7838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(369),
  [7840] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__direct_or_indirect_binding, 2, 0, 52),
  [7842] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__direct_or_indirect_binding, 2, 0, 52),
  [7844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4122),
  [7846] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__binding_pattern_no_expr, 1, 0, 13),
  [7848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3865),
  [7850] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__binding_pattern_no_expr, 1, 0, 13),
  [7852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3867),
  [7854] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__binding_pattern_no_expr, 1, 0, 17),
  [7856] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3864),
  [7858] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__binding_pattern_no_expr, 1, 0, 16),
  [7860] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__no_expr_pattern_already_bound, 1, 0, 16), SHIFT(3837),
  [7863] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__binding_pattern_no_expr, 1, 0, 16), REDUCE(sym__no_expr_pattern_already_bound, 1, 0, 16),
  [7866] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__binding_pattern, 3, 0, 104),
  [7868] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__binding_pattern, 3, 0, 104),
  [7870] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__binding_pattern_no_expr, 2, 0, 17), REDUCE(sym__no_expr_pattern_already_bound, 2, 0, 17),
  [7873] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__binding_pattern_no_expr, 2, 0, 16), REDUCE(sym__no_expr_pattern_already_bound, 2, 0, 16),
  [7876] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__binding_pattern, 2, 0, 52),
  [7878] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__binding_pattern, 2, 0, 52),
  [7880] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__binding_pattern_no_expr, 2, 0, 16),
  [7882] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__binding_pattern_no_expr, 2, 0, 13),
  [7884] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__binding_pattern_no_expr, 2, 0, 13),
  [7886] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2730),
  [7888] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5784),
  [7890] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__binding_pattern_no_expr, 2, 0, 17),
  [7892] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__direct_or_indirect_binding, 1, 0, 13),
  [7894] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__direct_or_indirect_binding, 1, 0, 13),
  [7896] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__if_let_binding, 1, 0, 13),
  [7898] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__if_let_binding, 1, 0, 13),
  [7900] = {.entry = {.count = 1, .reusable = true}}, SHIFT(650),
  [7902] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6841),
  [7904] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6781),
  [7906] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6886),
  [7908] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6781),
  [7910] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6841),
  [7912] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6954),
  [7914] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6747),
  [7916] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6907),
  [7918] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6747),
  [7920] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6954),
  [7922] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2573),
  [7924] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2573),
  [7926] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4070),
  [7928] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_property_modifier, 1, 0, 0), SHIFT(2108),
  [7931] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_property_modifier, 1, 0, 0), SHIFT(6315),
  [7934] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1199),
  [7936] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3767),
  [7938] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3760),
  [7940] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2312),
  [7942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2493),
  [7944] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4880),
  [7946] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4880),
  [7948] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3990),
  [7950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3990),
  [7952] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4876),
  [7954] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6150),
  [7956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6092),
  [7958] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4874),
  [7960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8025),
  [7962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4873),
  [7964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8658),
  [7966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2297),
  [7968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5451),
  [7970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5445),
  [7972] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2322),
  [7974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3024),
  [7976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2330),
  [7978] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_constraints_repeat1, 2, 0, 0), SHIFT_REPEAT(3840),
  [7981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5892),
  [7983] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4015),
  [7985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4015),
  [7987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8229),
  [7989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5888),
  [7991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5384),
  [7993] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5380),
  [7995] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3904),
  [7997] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3904),
  [7999] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3436),
  [8001] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2376),
  [8003] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1294),
  [8005] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5169),
  [8007] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3292),
  [8009] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1291),
  [8011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1924),
  [8013] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2371),
  [8015] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5181),
  [8017] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1920),
  [8019] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5817),
  [8021] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2996),
  [8023] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5815),
  [8025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2071),
  [8027] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2075),
  [8029] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2982),
  [8031] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5235),
  [8033] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5242),
  [8035] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5612),
  [8037] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5575),
  [8039] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5579),
  [8041] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2403),
  [8043] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2398),
  [8045] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5619),
  [8047] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2718),
  [8049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5101),
  [8051] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2682),
  [8053] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5632),
  [8055] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1119),
  [8057] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5593),
  [8059] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1117),
  [8061] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2642),
  [8063] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2649),
  [8065] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5734),
  [8067] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5731),
  [8069] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2205),
  [8071] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6000),
  [8073] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2198),
  [8075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3799),
  [8077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3788),
  [8079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3126),
  [8081] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3128),
  [8083] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3661),
  [8085] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3667),
  [8087] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1197),
  [8089] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2413),
  [8091] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2408),
  [8093] = {.entry = {.count = 1, .reusable = true}}, SHIFT(881),
  [8095] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1798),
  [8097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1078),
  [8099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1080),
  [8101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5718),
  [8103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5700),
  [8105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5080),
  [8107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5163),
  [8109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5160),
  [8111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3783),
  [8113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2031),
  [8115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8191),
  [8117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2448),
  [8119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4928),
  [8121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(872),
  [8123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4926),
  [8125] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5618),
  [8127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3785),
  [8129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1857),
  [8131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3029),
  [8133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1860),
  [8135] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_deprecated_operator_declaration_body_repeat1, 2, 0, 0), SHIFT_REPEAT(4880),
  [8138] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_deprecated_operator_declaration_body_repeat1, 2, 0, 0), SHIFT_REPEAT(4880),
  [8141] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_deprecated_operator_declaration_body_repeat1, 2, 0, 0), SHIFT_REPEAT(4015),
  [8144] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_deprecated_operator_declaration_body_repeat1, 2, 0, 0), SHIFT_REPEAT(4015),
  [8147] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_deprecated_operator_declaration_body_repeat1, 2, 0, 0), SHIFT_REPEAT(4876),
  [8150] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_deprecated_operator_declaration_body_repeat1, 2, 0, 0), SHIFT_REPEAT(6150),
  [8153] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_deprecated_operator_declaration_body_repeat1, 2, 0, 0), SHIFT_REPEAT(6092),
  [8156] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_deprecated_operator_declaration_body_repeat1, 2, 0, 0), SHIFT_REPEAT(4874),
  [8159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_deprecated_operator_declaration_body_repeat1, 2, 0, 0),
  [8161] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_deprecated_operator_declaration_body_repeat1, 2, 0, 0), SHIFT_REPEAT(8309),
  [8164] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_deprecated_operator_declaration_body_repeat1, 2, 0, 0), SHIFT_REPEAT(4873),
  [8167] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_deprecated_operator_declaration_body_repeat1, 2, 0, 0), SHIFT_REPEAT(8658),
  [8170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4279),
  [8172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4851),
  [8174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5114),
  [8176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2307),
  [8178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2292),
  [8180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6021),
  [8182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5799),
  [8184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1746),
  [8186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1759),
  [8188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2089),
  [8190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4847),
  [8192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1515),
  [8194] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3891),
  [8196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3891),
  [8198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7679),
  [8200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5822),
  [8202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(824),
  [8204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(831),
  [8206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3212),
  [8208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5185),
  [8210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6171),
  [8212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3187),
  [8214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5901),
  [8216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5179),
  [8218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5907),
  [8220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6163),
  [8222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1788),
  [8224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__binding_kind_and_pattern, 2, 0, 52),
  [8226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__binding_kind_and_pattern, 2, 0, 52),
  [8228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2138),
  [8230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1608),
  [8232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2121),
  [8234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1605),
  [8236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1495),
  [8238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5095),
  [8240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3561),
  [8242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4418),
  [8244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3435),
  [8246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4449),
  [8248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3232),
  [8250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4229),
  [8252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3268),
  [8254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4248),
  [8256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3305),
  [8258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4458),
  [8260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3377),
  [8262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4348),
  [8264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3380),
  [8266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4355),
  [8268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3301),
  [8270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4265),
  [8272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3307),
  [8274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4276),
  [8276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_do_statement_repeat1, 2, 0, 0),
  [8278] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_do_statement_repeat1, 2, 0, 0),
  [8280] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_do_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(4599),
  [8283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__direct_or_indirect_binding, 3, 0, 52),
  [8285] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__direct_or_indirect_binding, 3, 0, 52),
  [8287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_statement, 2, 0, 0),
  [8289] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_do_statement, 2, 0, 0),
  [8291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4599),
  [8293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__direct_or_indirect_binding, 2, 0, 13),
  [8295] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__direct_or_indirect_binding, 2, 0, 13),
  [8297] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_statement, 3, 0, 0),
  [8299] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_do_statement, 3, 0, 0),
  [8301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4786),
  [8303] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__modifierless_property_declaration_repeat1, 2, 0, 123), SHIFT_REPEAT(4786),
  [8306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 98),
  [8308] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 98), SHIFT_REPEAT(218),
  [8311] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 98),
  [8313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_while_statement, 5, 0, 132),
  [8315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218),
  [8317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_while_statement, 5, 0, 132),
  [8319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_while_statement, 7, 0, 207),
  [8321] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_while_statement, 7, 0, 207),
  [8323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_while_statement, 7, 0, 208),
  [8325] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_while_statement, 7, 0, 208),
  [8327] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_while_statement, 6, 0, 175),
  [8329] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_while_statement, 6, 0, 175),
  [8331] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_while_statement, 6, 0, 174),
  [8333] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_while_statement, 6, 0, 174),
  [8335] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_while_statement, 8, 0, 232),
  [8337] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_while_statement, 8, 0, 232),
  [8339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statements, 1, 0, 0),
  [8341] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statements, 1, 0, 0),
  [8343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28),
  [8345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_statements_repeat1, 2, 0, 0),
  [8347] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_statements_repeat1, 2, 0, 0),
  [8349] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_statements_repeat1, 2, 0, 0), SHIFT_REPEAT(113),
  [8352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27),
  [8354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_availability_condition, 7, 0, 0),
  [8356] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_availability_condition, 7, 0, 0),
  [8358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_availability_condition, 6, 0, 0),
  [8360] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_availability_condition, 6, 0, 0),
  [8362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6853),
  [8364] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_availability_condition, 5, 0, 0),
  [8366] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_availability_condition, 5, 0, 0),
  [8368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_catch_block, 3, 0, 141),
  [8370] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_catch_block, 3, 0, 141),
  [8372] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__if_let_binding, 4, 0, 13),
  [8374] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__if_let_binding, 4, 0, 13),
  [8376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__if_condition_sequence_item, 1, 0, 13),
  [8378] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__if_condition_sequence_item, 1, 0, 13),
  [8380] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 53),
  [8382] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 53),
  [8384] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_catch_block, 2, 0, 0),
  [8386] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_catch_block, 2, 0, 0),
  [8388] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__if_let_binding, 2, 0, 13),
  [8390] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__if_let_binding, 2, 0, 13),
  [8392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6852),
  [8394] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_catch_block, 3, 0, 0),
  [8396] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_catch_block, 3, 0, 0),
  [8398] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_catch_block, 4, 0, 141),
  [8400] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_catch_block, 4, 0, 141),
  [8402] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__local_property_declaration, 1, 0, 5),
  [8404] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__local_property_declaration, 1, 0, 5),
  [8406] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 5, 0, 97),
  [8408] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 5, 0, 97),
  [8410] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 5, 0, 142),
  [8412] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 5, 0, 142),
  [8414] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_guard_statement, 5, 0, 97),
  [8416] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_guard_statement, 5, 0, 97),
  [8418] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 7, 0, 180),
  [8420] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 7, 0, 180),
  [8422] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 7, 0, 210),
  [8424] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 7, 0, 210),
  [8426] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 7, 0, 211),
  [8428] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 7, 0, 211),
  [8430] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 7, 0, 181),
  [8432] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 7, 0, 181),
  [8434] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 5, 0, 53),
  [8436] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 5, 0, 53),
  [8438] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 4, 0, 53),
  [8440] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 4, 0, 53),
  [8442] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_guard_statement, 4, 0, 53),
  [8444] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_guard_statement, 4, 0, 53),
  [8446] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 6, 0, 180),
  [8448] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 6, 0, 180),
  [8450] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__labeled_statement, 2, 0, 0),
  [8452] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__labeled_statement, 2, 0, 0),
  [8454] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__local_class_declaration, 1, 0, 8),
  [8456] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__local_class_declaration, 1, 0, 8),
  [8458] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__local_function_declaration, 1, 0, 14),
  [8460] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__local_function_declaration, 1, 0, 14),
  [8462] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__local_typealias_declaration, 1, 0, 6),
  [8464] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__local_typealias_declaration, 1, 0, 6),
  [8466] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 6, 0, 142),
  [8468] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 6, 0, 142),
  [8470] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 6, 0, 181),
  [8472] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 6, 0, 181),
  [8474] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_function_declaration, 2, 0, 31),
  [8476] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__modifierless_function_declaration, 2, 0, 31),
  [8478] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__local_declaration, 1, 0, 8),
  [8480] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__local_declaration, 1, 0, 8),
  [8482] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 6, 0, 97),
  [8484] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 6, 0, 97),
  [8486] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__local_declaration, 1, 0, 14),
  [8488] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__local_declaration, 1, 0, 14),
  [8490] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__local_declaration, 1, 0, 6),
  [8492] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__local_declaration, 1, 0, 6),
  [8494] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__local_typealias_declaration, 2, 0, 35),
  [8496] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__local_typealias_declaration, 2, 0, 35),
  [8498] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__local_declaration, 1, 0, 5),
  [8500] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__local_declaration, 1, 0, 5),
  [8502] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__local_class_declaration, 2, 0, 36),
  [8504] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__local_class_declaration, 2, 0, 36),
  [8506] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__local_property_declaration, 2, 0, 33),
  [8508] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__local_property_declaration, 2, 0, 33),
  [8510] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, 0, 210),
  [8512] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, 0, 210),
  [8514] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, 0, 234),
  [8516] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, 0, 234),
  [8518] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, 0, 211),
  [8520] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, 0, 211),
  [8522] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__local_function_declaration, 2, 0, 58),
  [8524] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__local_function_declaration, 2, 0, 58),
  [8526] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 9, 0, 234),
  [8528] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 9, 0, 234),
  [8530] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__non_local_scope_modifier, 1, 0, 0),
  [8532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5893),
  [8534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6333),
  [8536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6453),
  [8538] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__non_local_scope_modifier, 1, 0, 0),
  [8540] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6429),
  [8542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6429),
  [8544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179),
  [8546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75),
  [8548] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7019),
  [8550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5637),
  [8552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85),
  [8554] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6361),
  [8556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6361),
  [8558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170),
  [8560] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4831),
  [8562] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4991),
  [8564] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4954),
  [8566] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4392),
  [8568] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6934),
  [8570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5656),
  [8572] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4838),
  [8574] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_entry, 8, 0, 0),
  [8576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4772),
  [8578] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_entry, 8, 0, 0),
  [8580] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_entry, 7, 0, 0),
  [8582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4773),
  [8584] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_entry, 7, 0, 0),
  [8586] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_entry, 4, 0, 0),
  [8588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4780),
  [8590] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_entry, 4, 0, 0),
  [8592] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_entry, 6, 0, 0),
  [8594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4774),
  [8596] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_entry, 6, 0, 0),
  [8598] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_entry, 3, 0, 0),
  [8600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4776),
  [8602] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_entry, 3, 0, 0),
  [8604] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_entry, 5, 0, 0),
  [8606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4779),
  [8608] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_entry, 5, 0, 0),
  [8610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8889),
  [8612] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4833),
  [8614] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2007),
  [8616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2007),
  [8618] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4990),
  [8620] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4179),
  [8622] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2076),
  [8624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5690),
  [8626] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_entry, 9, 0, 0),
  [8628] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_entry, 9, 0, 0),
  [8630] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4829),
  [8632] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6032),
  [8634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6032),
  [8636] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174),
  [8638] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4968),
  [8640] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4273),
  [8642] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6208),
  [8644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5745),
  [8646] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5996),
  [8648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5996),
  [8650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176),
  [8652] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4974),
  [8654] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4280),
  [8656] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6099),
  [8658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5707),
  [8660] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3776),
  [8662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3776),
  [8664] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4984),
  [8666] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4132),
  [8668] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3789),
  [8670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5785),
  [8672] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6140),
  [8674] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4177),
  [8676] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6412),
  [8678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5381),
  [8680] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6520),
  [8682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1357),
  [8684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8674),
  [8686] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8970),
  [8688] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1364),
  [8690] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9025),
  [8692] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8971),
  [8694] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8945),
  [8696] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1355),
  [8698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(903),
  [8700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8693),
  [8702] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8904),
  [8704] = {.entry = {.count = 1, .reusable = false}}, SHIFT(904),
  [8706] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9020),
  [8708] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8905),
  [8710] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8919),
  [8712] = {.entry = {.count = 1, .reusable = false}}, SHIFT(905),
  [8714] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6318),
  [8716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6318),
  [8718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177),
  [8720] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4987),
  [8722] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4474),
  [8724] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6478),
  [8726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5535),
  [8728] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_willset_clause, 3, 0, 0),
  [8730] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_willset_clause, 3, 0, 0),
  [8732] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3828),
  [8734] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4979),
  [8736] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6524),
  [8738] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_didset_clause, 3, 0, 0),
  [8740] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_didset_clause, 3, 0, 0),
  [8742] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_willset_clause, 5, 0, 0),
  [8744] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_willset_clause, 5, 0, 0),
  [8746] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_willset_clause, 6, 0, 0),
  [8748] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_willset_clause, 6, 0, 0),
  [8750] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_didset_clause, 6, 0, 0),
  [8752] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_didset_clause, 6, 0, 0),
  [8754] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_didset_clause, 2, 0, 0),
  [8756] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_didset_clause, 2, 0, 0),
  [8758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4477),
  [8760] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_willset_clause, 2, 0, 0),
  [8762] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_willset_clause, 2, 0, 0),
  [8764] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6407),
  [8766] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_didset_clause, 5, 0, 0),
  [8768] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_didset_clause, 5, 0, 0),
  [8770] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3616),
  [8772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8782),
  [8774] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8931),
  [8776] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3613),
  [8778] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9021),
  [8780] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8932),
  [8782] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8907),
  [8784] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3612),
  [8786] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6786),
  [8788] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5381),
  [8791] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2821),
  [8793] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8832),
  [8795] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8833),
  [8797] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2816),
  [8799] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8834),
  [8801] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8835),
  [8803] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8934),
  [8805] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2814),
  [8807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2510),
  [8809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8811),
  [8811] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8961),
  [8813] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2563),
  [8815] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9024),
  [8817] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8962),
  [8819] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8199),
  [8821] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2571),
  [8823] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4977),
  [8825] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6393),
  [8827] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4981),
  [8829] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6167),
  [8831] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4986),
  [8833] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6400),
  [8835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5149),
  [8837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5155),
  [8839] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4972),
  [8841] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3824),
  [8843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8829),
  [8845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5644),
  [8847] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5676),
  [8849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5642),
  [8851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4612),
  [8853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8926),
  [8855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3504),
  [8857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9001),
  [8859] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8952),
  [8861] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3505),
  [8863] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9023),
  [8865] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8953),
  [8867] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3506),
  [8869] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1334),
  [8871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8878),
  [8873] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8988),
  [8875] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1261),
  [8877] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9027),
  [8879] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8989),
  [8881] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1247),
  [8883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3044),
  [8885] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8935),
  [8887] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8979),
  [8889] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2918),
  [8891] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9026),
  [8893] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8980),
  [8895] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2916),
  [8897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3183),
  [8899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8775),
  [8901] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8942),
  [8903] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3184),
  [8905] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9022),
  [8907] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8943),
  [8909] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3185),
  [8911] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_attribute, 2, 0, 0), SHIFT(366),
  [8914] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4888),
  [8916] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4878),
  [8918] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8939),
  [8920] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9007),
  [8922] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8940),
  [8924] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4881),
  [8926] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4882),
  [8928] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8672),
  [8930] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8668),
  [8932] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8666),
  [8934] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5448),
  [8936] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4877),
  [8938] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4883),
  [8940] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8928),
  [8942] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9005),
  [8944] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8929),
  [8946] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4871),
  [8948] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8093),
  [8950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8093),
  [8952] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7641),
  [8954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4886),
  [8956] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8900),
  [8958] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8999),
  [8960] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8901),
  [8962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4870),
  [8964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4868),
  [8966] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8993),
  [8968] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9019),
  [8970] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8994),
  [8972] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4885),
  [8974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4915),
  [8976] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8967),
  [8978] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9013),
  [8980] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8968),
  [8982] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4396),
  [8984] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4907),
  [8986] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4887),
  [8988] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8985),
  [8990] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9017),
  [8992] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8986),
  [8994] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4914),
  [8996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4916),
  [8998] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8949),
  [9000] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9009),
  [9002] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8950),
  [9004] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4902),
  [9006] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4899),
  [9008] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8958),
  [9010] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9011),
  [9012] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8959),
  [9014] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5448),
  [9017] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5015),
  [9019] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4963),
  [9021] = {.entry = {.count = 1, .reusable = false}}, SHIFT(981),
  [9023] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6679),
  [9025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5303),
  [9027] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4910),
  [9029] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4869),
  [9031] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8976),
  [9033] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9015),
  [9035] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8977),
  [9037] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5560),
  [9039] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4939),
  [9041] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5073),
  [9043] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5671),
  [9045] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8450),
  [9047] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6335),
  [9049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7484),
  [9051] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7390),
  [9053] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5740),
  [9055] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4478),
  [9057] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8669),
  [9059] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5307),
  [9061] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3856),
  [9063] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7386),
  [9065] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7386),
  [9067] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5333),
  [9069] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8160),
  [9071] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7189),
  [9073] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1877),
  [9075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1877),
  [9077] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5489),
  [9079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4933),
  [9081] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5097),
  [9083] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5728),
  [9085] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6320),
  [9087] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8065),
  [9089] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7181),
  [9091] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5790),
  [9093] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7375),
  [9095] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7375),
  [9097] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5457),
  [9099] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5497),
  [9101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7984),
  [9103] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5383),
  [9105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7365),
  [9107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5466),
  [9109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8786),
  [9111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324),
  [9113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2226),
  [9115] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2226),
  [9117] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2167),
  [9119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2167),
  [9121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5660),
  [9123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7450),
  [9125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(370),
  [9127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(289),
  [9129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2265),
  [9131] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2265),
  [9133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238),
  [9135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2333),
  [9137] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2333),
  [9139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257),
  [9141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2102),
  [9143] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2102),
  [9145] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_modifiers, 1, 0, 0),
  [9147] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_modifiers, 1, 0, 0),
  [9149] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_parameter_modifiers, 1, 0, 0), SHIFT(5003),
  [9152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285),
  [9154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1084),
  [9156] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1084),
  [9158] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__locally_permitted_modifiers, 2, 0, 0), SHIFT_REPEAT(5149),
  [9161] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__locally_permitted_modifiers, 2, 0, 0), SHIFT_REPEAT(5273),
  [9164] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__locally_permitted_modifiers, 2, 0, 0), SHIFT_REPEAT(5155),
  [9167] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__locally_permitted_modifiers, 2, 0, 0), SHIFT_REPEAT(5152),
  [9170] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__locally_permitted_modifiers, 2, 0, 0), SHIFT_REPEAT(5152),
  [9173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5795),
  [9175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278),
  [9177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2057),
  [9179] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2057),
  [9181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(305),
  [9183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2168),
  [9185] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2168),
  [9187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263),
  [9189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1115),
  [9191] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1115),
  [9193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5016),
  [9195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4935),
  [9197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5087),
  [9199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5741),
  [9201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6102),
  [9203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6315),
  [9205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5749),
  [9207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265),
  [9209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(823),
  [9211] = {.entry = {.count = 1, .reusable = false}}, SHIFT(823),
  [9213] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_parameter_modifiers_repeat1, 2, 0, 0),
  [9215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameter_modifiers_repeat1, 2, 0, 0),
  [9217] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_parameter_modifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(5003),
  [9220] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_modifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(5003),
  [9223] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_function_type_parameters, 2, 0, 0),
  [9225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_function_type_parameters, 2, 0, 0),
  [9227] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_function_type_parameters, 3, 0, 0),
  [9229] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_function_type_parameters, 3, 0, 0),
  [9231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5158),
  [9233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4473),
  [9235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6966),
  [9237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5759),
  [9239] = {.entry = {.count = 1, .reusable = false}}, SHIFT(988),
  [9241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5770),
  [9243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5685),
  [9245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270),
  [9247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5627),
  [9249] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__navigable_type_expression, 1, 0, 0),
  [9251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5772),
  [9253] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value_argument, 1, 0, 42),
  [9255] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8745),
  [9257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5658),
  [9259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5319),
  [9261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4427),
  [9263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6986),
  [9265] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_value_argument_repeat1, 2, 0, 84), SHIFT_REPEAT(4962),
  [9268] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_value_argument_repeat1, 2, 0, 84), SHIFT_REPEAT(4962),
  [9271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_value_argument_repeat1, 2, 0, 84),
  [9273] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_value_argument_repeat1, 2, 0, 84), SHIFT_REPEAT(8745),
  [9276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value_argument, 2, 0, 83),
  [9278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5552),
  [9280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5559),
  [9282] = {.entry = {.count = 1, .reusable = false}}, SHIFT(979),
  [9284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5424),
  [9286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8248),
  [9288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4673),
  [9290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5377),
  [9292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4441),
  [9294] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__tuple_type_item_identifier, 3, 0, 19),
  [9296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tuple_type_item_identifier, 3, 0, 19),
  [9298] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5377),
  [9301] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5424),
  [9304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5488),
  [9306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4453),
  [9308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7005),
  [9310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4438),
  [9312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5414),
  [9314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6596),
  [9316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6576),
  [9318] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__lambda_type_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(5226),
  [9321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6336),
  [9323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6276),
  [9325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6326),
  [9327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6262),
  [9329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4360),
  [9331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6236),
  [9333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6246),
  [9335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6561),
  [9337] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2197),
  [9339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6613),
  [9341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2194),
  [9343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6594),
  [9345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5567),
  [9347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4115),
  [9349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6967),
  [9351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4388),
  [9353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8558),
  [9355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4750),
  [9357] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6312),
  [9359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7266),
  [9361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4292),
  [9363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2203),
  [9365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6231),
  [9367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7314),
  [9369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6637),
  [9371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7303),
  [9373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5550),
  [9375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4176),
  [9377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6989),
  [9379] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5414),
  [9382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6272),
  [9384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5467),
  [9386] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5467),
  [9389] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5158),
  [9392] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value_binding_pattern, 1, 0, 2),
  [9394] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value_binding_pattern, 1, 0, 2),
  [9396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7737),
  [9398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4235),
  [9400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7052),
  [9402] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5319),
  [9405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8620),
  [9407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4632),
  [9409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5827),
  [9411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4186),
  [9413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7020),
  [9415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4495),
  [9417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8418),
  [9419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3541),
  [9421] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6306),
  [9423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7021),
  [9425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8412),
  [9427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5906),
  [9429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4433),
  [9431] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6979),
  [9433] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5460),
  [9436] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__lambda_type_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(5303),
  [9439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5840),
  [9441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4404),
  [9443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7008),
  [9445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4496),
  [9447] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__possibly_async_binding_pattern_kind, 2, 0, 0),
  [9449] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__possibly_async_binding_pattern_kind, 2, 0, 0),
  [9451] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6332),
  [9453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5857),
  [9455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4407),
  [9457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6919),
  [9459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8332),
  [9461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7880),
  [9463] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6344),
  [9465] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5462),
  [9467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5968),
  [9469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4347),
  [9471] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4162),
  [9473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6847),
  [9475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8420),
  [9477] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8300),
  [9479] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5462),
  [9482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7025),
  [9484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8460),
  [9486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4757),
  [9488] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_attribute, 2, 0, 0), SHIFT(377),
  [9491] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_user_type, 2, 0, 0), SHIFT(5460),
  [9494] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5435),
  [9497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7493),
  [9499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5916),
  [9501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4259),
  [9503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6941),
  [9505] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_precedence_group_attributes, 1, 0, 0),
  [9507] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5488),
  [9510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5483),
  [9512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4247),
  [9514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7716),
  [9516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4264),
  [9518] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_as_operator, 1, 0, 0),
  [9520] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_as_operator, 1, 0, 0),
  [9522] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_user_type, 1, 0, 0), SHIFT(5460),
  [9525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8024),
  [9527] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__attribute_argument_repeat1, 2, 0, 0), SHIFT_REPEAT(4962),
  [9530] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__attribute_argument_repeat1, 2, 0, 0), SHIFT_REPEAT(4962),
  [9533] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_precedence_group_attributes_repeat1, 2, 0, 0), SHIFT_REPEAT(4962),
  [9536] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_precedence_group_attributes_repeat1, 2, 0, 0), SHIFT_REPEAT(4962),
  [9539] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_precedence_group_attributes_repeat1, 2, 0, 0),
  [9541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5989),
  [9543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4469),
  [9545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7000),
  [9547] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4673),
  [9550] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5931),
  [9552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5435),
  [9554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8491),
  [9556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4706),
  [9558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6016),
  [9560] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4152),
  [9562] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6969),
  [9564] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5483),
  [9567] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8137),
  [9569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3763),
  [9571] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5487),
  [9574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2882),
  [9576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5801),
  [9578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6307),
  [9580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6501),
  [9582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5390),
  [9584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3975),
  [9586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8538),
  [9588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4733),
  [9590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4975),
  [9592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1230),
  [9594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5460),
  [9596] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5550),
  [9599] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4750),
  [9602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4677),
  [9604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8324),
  [9606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4712),
  [9608] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5627),
  [9611] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5390),
  [9614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4165),
  [9616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7065),
  [9618] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2249),
  [9620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2249),
  [9622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5395),
  [9624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4357),
  [9626] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5044),
  [9628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5044),
  [9630] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1620),
  [9632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1620),
  [9634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4053),
  [9636] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1204),
  [9638] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5395),
  [9641] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6067),
  [9643] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4352),
  [9645] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7012),
  [9647] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5408),
  [9650] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3773),
  [9652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3773),
  [9654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4493),
  [9656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4385),
  [9658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8559),
  [9660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4674),
  [9662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5487),
  [9664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8251),
  [9666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4697),
  [9668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5438),
  [9670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4354),
  [9672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7237),
  [9674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7709),
  [9676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7397),
  [9678] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__attribute_argument_repeat2, 2, 0, 0), SHIFT_REPEAT(4962),
  [9681] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__attribute_argument_repeat2, 2, 0, 0), SHIFT_REPEAT(4962),
  [9684] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__attribute_argument_repeat2, 2, 0, 0),
  [9686] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4920),
  [9688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4920),
  [9690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4218),
  [9692] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_attribute, 2, 0, 0), SHIFT(395),
  [9695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8379),
  [9697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4707),
  [9699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4452),
  [9701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6995),
  [9703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4042),
  [9705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1220),
  [9707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5981),
  [9709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4381),
  [9711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7009),
  [9713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3910),
  [9715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1185),
  [9717] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2237),
  [9719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2237),
  [9721] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5567),
  [9724] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5438),
  [9727] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4836),
  [9729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4836),
  [9731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6910),
  [9733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7171),
  [9735] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5099),
  [9737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5099),
  [9739] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5387),
  [9741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5387),
  [9743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5408),
  [9745] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7245),
  [9747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7245),
  [9749] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6300),
  [9751] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_value_argument_repeat1, 2, 0, 81),
  [9753] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_computed_property_repeat1, 2, 0, 0),
  [9755] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_computed_property_repeat1, 2, 0, 0), SHIFT_REPEAT(5801),
  [9758] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_computed_property_repeat1, 2, 0, 0), SHIFT_REPEAT(6307),
  [9761] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_computed_property_repeat1, 2, 0, 0), SHIFT_REPEAT(6501),
  [9764] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_computed_property_repeat1, 2, 0, 0), SHIFT_REPEAT(5273),
  [9767] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_computed_property_repeat1, 2, 0, 0), SHIFT_REPEAT(2326),
  [9770] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7094),
  [9772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5053),
  [9774] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99),
  [9776] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6801),
  [9778] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3838),
  [9780] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6031),
  [9782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3403),
  [9784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3399),
  [9786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6107),
  [9788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2630),
  [9790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6086),
  [9792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6117),
  [9794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2714),
  [9796] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3924),
  [9798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4),
  [9800] = {.entry = {.count = 1, .reusable = true}}, SHIFT(584),
  [9802] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3850),
  [9804] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8426),
  [9806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4675),
  [9808] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4238),
  [9810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2565),
  [9812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2564),
  [9814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1383),
  [9816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4253),
  [9818] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5827),
  [9821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5443),
  [9823] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5906),
  [9826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1366),
  [9828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1407),
  [9830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2812),
  [9832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2846),
  [9834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6079),
  [9836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4194),
  [9838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6821),
  [9840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8473),
  [9842] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4726),
  [9844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3565),
  [9846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3417),
  [9848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2946),
  [9850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5496),
  [9852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2949),
  [9854] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1250),
  [9856] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3416),
  [9858] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6038),
  [9860] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5471),
  [9862] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6089),
  [9864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6052),
  [9866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6043),
  [9868] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2736),
  [9870] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5471),
  [9873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8638),
  [9875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4752),
  [9877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1310),
  [9879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1303),
  [9881] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3252),
  [9883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3600),
  [9885] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3588),
  [9887] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5349),
  [9890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4459),
  [9892] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3762),
  [9894] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5349),
  [9896] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6111),
  [9898] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5840),
  [9901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6103),
  [9903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4391),
  [9905] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3678),
  [9907] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5443),
  [9910] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5496),
  [9913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(930),
  [9915] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5857),
  [9918] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4632),
  [9921] = {.entry = {.count = 1, .reusable = true}}, SHIFT(935),
  [9923] = {.entry = {.count = 1, .reusable = true}}, SHIFT(885),
  [9925] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4318),
  [9927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6088),
  [9929] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4757),
  [9932] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6818),
  [9934] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6818),
  [9936] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5027),
  [9938] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_function_declaration_no_body, 2, 0, 32),
  [9940] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3954),
  [9942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6820),
  [9944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6149),
  [9946] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5985),
  [9948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5985),
  [9950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5039),
  [9952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61),
  [9954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6921),
  [9956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3839),
  [9958] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6153),
  [9960] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5330),
  [9963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4713),
  [9965] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6487),
  [9967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6487),
  [9969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6191),
  [9971] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3950),
  [9973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2),
  [9975] = {.entry = {.count = 1, .reusable = true}}, SHIFT(635),
  [9977] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3846),
  [9979] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6065),
  [9981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6065),
  [9983] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3710),
  [9985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3710),
  [9987] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7188),
  [9989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7188),
  [9991] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6206),
  [9993] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6206),
  [9995] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3833),
  [9997] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3833),
  [9999] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(6016),
  [10002] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5981),
  [10005] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8595),
  [10007] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4650),
  [10009] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3749),
  [10011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3749),
  [10013] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__lambda_type_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(5307),
  [10016] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5829),
  [10018] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5829),
  [10020] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5557),
  [10022] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5557),
  [10024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6222),
  [10026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5486),
  [10028] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6186),
  [10030] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6189),
  [10032] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5982),
  [10034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5982),
  [10036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8489),
  [10038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4624),
  [10040] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_capture_list, 3, 0, 0),
  [10042] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_capture_list, 3, 0, 0),
  [10044] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2012),
  [10046] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2012),
  [10048] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6281),
  [10050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6281),
  [10052] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5225),
  [10054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5225),
  [10056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4423),
  [10058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5682),
  [10060] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4706),
  [10063] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5942),
  [10065] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5942),
  [10067] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_capture_list, 4, 0, 0),
  [10069] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_capture_list, 4, 0, 0),
  [10071] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2440),
  [10073] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2440),
  [10075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6184),
  [10077] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6028),
  [10079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6028),
  [10081] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6130),
  [10083] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1943),
  [10085] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1943),
  [10087] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6193),
  [10089] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6183),
  [10091] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5989),
  [10094] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7246),
  [10096] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7246),
  [10098] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6570),
  [10100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6570),
  [10102] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2053),
  [10104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2053),
  [10106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_function_declaration_no_body, 3, 0, 74),
  [10108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4001),
  [10110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6134),
  [10112] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6058),
  [10114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6058),
  [10116] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1907),
  [10118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1907),
  [10120] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6056),
  [10122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6056),
  [10124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6170),
  [10126] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_parameter_modifiers, 1, 0, 0),
  [10128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter_modifiers, 1, 0, 0),
  [10130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__macro_signature, 3, 0, 73),
  [10132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6162),
  [10134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4123),
  [10136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7024),
  [10138] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1844),
  [10140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1844),
  [10142] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5422),
  [10144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5422),
  [10146] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3169),
  [10148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3169),
  [10150] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3008),
  [10152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3008),
  [10154] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6199),
  [10156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6199),
  [10158] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6354),
  [10160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6354),
  [10162] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7262),
  [10164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7262),
  [10166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5330),
  [10168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8537),
  [10170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4614),
  [10172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6156),
  [10174] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3781),
  [10176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3781),
  [10178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6266),
  [10180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4375),
  [10182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6985),
  [10184] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6011),
  [10186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6011),
  [10188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4361),
  [10190] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6048),
  [10192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6048),
  [10194] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5916),
  [10197] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5486),
  [10200] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5826),
  [10202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5826),
  [10204] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_capture_list, 5, 0, 0),
  [10206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_capture_list, 5, 0, 0),
  [10208] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4697),
  [10211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_getter_specifier, 1, 0, 0),
  [10213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6187),
  [10215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5851),
  [10217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4135),
  [10219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8885),
  [10221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212),
  [10223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(633),
  [10225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210),
  [10227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8556),
  [10229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4601),
  [10231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209),
  [10233] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4707),
  [10236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4693),
  [10238] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4733),
  [10241] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4674),
  [10244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_getter_specifier, 2, 0, 0),
  [10246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5894),
  [10248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(371),
  [10250] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4712),
  [10253] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(6067),
  [10256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4342),
  [10258] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_getter_specifier, 3, 0, 0),
  [10260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5886),
  [10262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__getter_effects, 2, 0, 0),
  [10264] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__getter_effects, 2, 0, 0), SHIFT_REPEAT(6187),
  [10267] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__getter_effects, 2, 0, 0), SHIFT_REPEAT(5894),
  [10270] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4677),
  [10273] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__attribute_argument_repeat1, 2, 0, 0),
  [10275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8773),
  [10277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204),
  [10279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(723),
  [10281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207),
  [10283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8265),
  [10285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4600),
  [10287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208),
  [10289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8657),
  [10291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4613),
  [10293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__constrained_type, 1, 0, 0),
  [10295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5322),
  [10297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5434),
  [10299] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_precedence_group_attribute, 3, 0, 0),
  [10301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_precedence_group_attribute, 3, 0, 0),
  [10303] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4752),
  [10306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4760),
  [10308] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5434),
  [10311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5505),
  [10313] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4726),
  [10316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5010),
  [10318] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4675),
  [10321] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_user_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5505),
  [10324] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6740),
  [10326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6743),
  [10328] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8888),
  [10330] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3124),
  [10332] = {.entry = {.count = 1, .reusable = false}}, SHIFT(321),
  [10334] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6799),
  [10336] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3690),
  [10338] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inheritance_specifier, 1, 0, 85),
  [10340] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2771),
  [10342] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3199),
  [10344] = {.entry = {.count = 1, .reusable = false}}, SHIFT(908),
  [10346] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4624),
  [10349] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1324),
  [10351] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2745),
  [10353] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4713),
  [10356] = {.entry = {.count = 1, .reusable = false}}, SHIFT(916),
  [10358] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3450),
  [10360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5032),
  [10362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4035),
  [10364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7800),
  [10366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6469),
  [10368] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3517),
  [10370] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3594),
  [10372] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_type_repeat1, 2, 0, 0), SHIFT_REPEAT(6266),
  [10375] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2960),
  [10377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3963),
  [10379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6468),
  [10381] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2971),
  [10383] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4879),
  [10385] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4897),
  [10387] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4650),
  [10390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6226),
  [10392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6242),
  [10394] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__macro_head, 2, 0, 0),
  [10396] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__macro_head, 2, 0, 0),
  [10398] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1429),
  [10400] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4614),
  [10403] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1413),
  [10405] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1234),
  [10407] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2490),
  [10409] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_multi_line_string_literal_repeat1, 2, 0, 38), SHIFT_REPEAT(6740),
  [10412] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_multi_line_string_literal_repeat1, 2, 0, 38), SHIFT_REPEAT(6743),
  [10415] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_multi_line_string_literal_repeat1, 2, 0, 38), SHIFT_REPEAT(8888),
  [10418] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_multi_line_string_literal_repeat1, 2, 0, 38),
  [10420] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_multi_line_string_literal_repeat1, 2, 0, 38), SHIFT_REPEAT(321),
  [10423] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_multi_line_string_literal_repeat1, 2, 0, 38), SHIFT_REPEAT(6799),
  [10426] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2542),
  [10428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5927),
  [10430] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__function_value_parameters, 2, 0, 64), SHIFT_REPEAT(5053),
  [10433] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__function_value_parameters, 2, 0, 64), SHIFT_REPEAT(5027),
  [10436] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2502),
  [10438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7038),
  [10440] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8675),
  [10442] = {.entry = {.count = 1, .reusable = false}}, SHIFT(261),
  [10444] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7051),
  [10446] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2547),
  [10448] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_line_string_literal_repeat1, 2, 0, 38),
  [10450] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_line_string_literal_repeat1, 2, 0, 38), SHIFT_REPEAT(7038),
  [10453] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_line_string_literal_repeat1, 2, 0, 38), SHIFT_REPEAT(8675),
  [10456] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_line_string_literal_repeat1, 2, 0, 38), SHIFT_REPEAT(261),
  [10459] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_line_string_literal_repeat1, 2, 0, 38), SHIFT_REPEAT(7051),
  [10462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1984),
  [10464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5748),
  [10466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(834),
  [10468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2303),
  [10470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2207),
  [10472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_function_declaration_no_body, 4, 0, 74),
  [10474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4018),
  [10476] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1350),
  [10478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5845),
  [10480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6241),
  [10482] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1391),
  [10484] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__no_expr_pattern_already_bound, 1, 0, 17), SHIFT(6235),
  [10487] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__no_expr_pattern_already_bound, 1, 0, 16), SHIFT(6249),
  [10490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2058),
  [10492] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4896),
  [10494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6345),
  [10496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5936),
  [10498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5282),
  [10500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1801),
  [10502] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_function_declaration_no_body, 3, 0, 32),
  [10504] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4002),
  [10506] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4875),
  [10508] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2969),
  [10510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3037),
  [10512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2266),
  [10514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5119),
  [10516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1835),
  [10518] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2989),
  [10520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5993),
  [10522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6346),
  [10524] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3604),
  [10526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6342),
  [10528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5599),
  [10530] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3511),
  [10532] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3446),
  [10534] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3687),
  [10536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1912),
  [10538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4170),
  [10540] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1305),
  [10542] = {.entry = {.count = 1, .reusable = false}}, SHIFT(915),
  [10544] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1338),
  [10546] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2744),
  [10548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5957),
  [10550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1116),
  [10552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5910),
  [10554] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4693),
  [10557] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3120),
  [10559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5623),
  [10561] = {.entry = {.count = 1, .reusable = false}}, SHIFT(912),
  [10563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2346),
  [10565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6323),
  [10567] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3193),
  [10569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3810),
  [10571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6355),
  [10573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1081),
  [10575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6029),
  [10577] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2782),
  [10579] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2096),
  [10581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3712),
  [10583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5367),
  [10585] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3697),
  [10587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5864),
  [10589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5882),
  [10591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4969),
  [10593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5692),
  [10595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59),
  [10597] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_computed_setter, 2, 0, 0),
  [10599] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__function_value_parameters, 2, 0, 64), SHIFT_REPEAT(5039),
  [10602] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4760),
  [10605] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_composition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4613),
  [10608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5630),
  [10610] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_computed_setter, 1, 0, 0),
  [10612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7297),
  [10614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7074),
  [10616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8865),
  [10618] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_computed_modify, 1, 0, 0),
  [10620] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_computed_getter, 1, 0, 0),
  [10622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(726),
  [10624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7255),
  [10626] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setter_specifier, 1, 0, 0),
  [10628] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__navigable_type_expression, 1, 0, 0), SHIFT(5559),
  [10631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7904),
  [10633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6373),
  [10635] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_protocol_property_requirements_repeat1, 2, 0, 0),
  [10637] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_property_requirements_repeat1, 2, 0, 0), SHIFT_REPEAT(5801),
  [10640] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_property_requirements_repeat1, 2, 0, 0), SHIFT_REPEAT(6307),
  [10643] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_protocol_property_requirements_repeat1, 2, 0, 0), SHIFT_REPEAT(2326),
  [10646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7117),
  [10648] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__macro_signature, 1, 0, 73),
  [10650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5048),
  [10652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4680),
  [10654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7228),
  [10656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4180),
  [10658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4189),
  [10660] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_computed_getter, 2, 0, 0),
  [10662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7087),
  [10664] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setter_specifier, 2, 0, 0),
  [10666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280),
  [10668] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__navigable_type_expression, 1, 0, 0), SHIFT(5658),
  [10671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7069),
  [10673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4300),
  [10675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4310),
  [10677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7209),
  [10679] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_computed_setter, 4, 0, 0),
  [10681] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7410),
  [10683] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_computed_modify, 2, 0, 0),
  [10685] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7863),
  [10687] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_computed_setter, 5, 0, 0),
  [10689] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248),
  [10691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6512),
  [10693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313),
  [10695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(715),
  [10697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3946),
  [10699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4203),
  [10701] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_function_type, 2, 0, 0),
  [10703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4091),
  [10705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6703),
  [10707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5040),
  [10709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30),
  [10711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4077),
  [10713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4326),
  [10715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(625),
  [10717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3901),
  [10719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4466),
  [10721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302),
  [10723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6721),
  [10725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284),
  [10727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(587),
  [10729] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__lambda_type_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(5273),
  [10732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6665),
  [10734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6659),
  [10736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6653),
  [10738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244),
  [10740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6699),
  [10742] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__no_expr_pattern_already_bound, 1, 0, 17), SHIFT(6551),
  [10745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(724),
  [10747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29),
  [10749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3992),
  [10751] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6694),
  [10753] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__no_expr_pattern_already_bound, 1, 0, 16), SHIFT(6553),
  [10756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4071),
  [10758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(719),
  [10760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(617),
  [10762] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__function_value_parameters, 2, 0, 64), SHIFT_REPEAT(5032),
  [10765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31),
  [10767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4031),
  [10769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4234),
  [10771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6702),
  [10773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6600),
  [10775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(579),
  [10777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4004),
  [10779] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__function_value_parameters, 2, 0, 64), SHIFT_REPEAT(5048),
  [10782] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_function_type, 1, 0, 0),
  [10784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3917),
  [10786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6763),
  [10788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3463),
  [10790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232),
  [10792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4104),
  [10794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4108),
  [10796] = {.entry = {.count = 1, .reusable = true}}, SHIFT(637),
  [10798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4032),
  [10800] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3899),
  [10802] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_function_declaration_no_body, 5, 0, 74),
  [10804] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4082),
  [10806] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_declaration, 4, 0, 121),
  [10808] = {.entry = {.count = 1, .reusable = true}}, SHIFT(525),
  [10810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3995),
  [10812] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_modify_specifier, 2, 0, 0),
  [10814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3969),
  [10816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3376),
  [10818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3994),
  [10820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4100),
  [10822] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_function_type, 3, 0, 0),
  [10824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3952),
  [10826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6728),
  [10828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235),
  [10830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4033),
  [10832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4038),
  [10834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3996),
  [10836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6720),
  [10838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4022),
  [10840] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_constraints_repeat1, 2, 0, 0), SHIFT_REPEAT(3843),
  [10843] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_declaration, 3, 0, 72),
  [10845] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__no_expr_pattern_already_bound, 1, 0, 16), SHIFT(6629),
  [10848] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__no_expr_pattern_already_bound, 1, 0, 17), SHIFT(6620),
  [10851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4150),
  [10853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4148),
  [10855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(686),
  [10857] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_modify_specifier, 1, 0, 0),
  [10859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4023),
  [10861] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_function_declaration_no_body, 4, 0, 32),
  [10863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4027),
  [10865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(653),
  [10867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3886),
  [10869] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1689),
  [10871] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_do_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(4598),
  [10874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4116),
  [10876] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4048),
  [10878] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1686),
  [10880] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__no_expr_pattern_already_bound, 1, 0, 17), SHIFT(6814),
  [10883] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__no_expr_pattern_already_bound, 1, 0, 16), SHIFT(6807),
  [10886] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4047),
  [10888] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1123),
  [10890] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__no_expr_pattern_already_bound, 1, 0, 16), SHIFT(6689),
  [10893] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__no_expr_pattern_already_bound, 1, 0, 17), SHIFT(6683),
  [10896] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_computed_setter, 6, 0, 0),
  [10898] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3705),
  [10900] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3989),
  [10902] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3646),
  [10904] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3715),
  [10906] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4961),
  [10908] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3986),
  [10910] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1685),
  [10912] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3961),
  [10914] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1124),
  [10916] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4057),
  [10918] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1140),
  [10920] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4069),
  [10922] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_lambda_function_type_parameters_repeat1, 2, 0, 0), SHIFT_REPEAT(5143),
  [10925] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_lambda_function_type_parameters_repeat1, 2, 0, 0),
  [10927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4598),
  [10929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3974),
  [10931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3972),
  [10933] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1127),
  [10935] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_constraints_repeat1, 2, 0, 0), SHIFT_REPEAT(3851),
  [10938] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3985),
  [10940] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4039),
  [10942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6696),
  [10944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6772),
  [10946] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4052),
  [10948] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_constraints_repeat1, 2, 0, 0), SHIFT_REPEAT(3847),
  [10951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4127),
  [10953] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4051),
  [10955] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6677),
  [10957] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4014),
  [10959] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3728),
  [10961] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_computed_getter, 3, 0, 0),
  [10963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3970),
  [10965] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_computed_setter, 3, 0, 0),
  [10967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4041),
  [10969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4040),
  [10971] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4958),
  [10973] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_function_type_parameters, 1, 0, 0),
  [10975] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_computed_modify, 3, 0, 0),
  [10977] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4311),
  [10979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5792),
  [10981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1273),
  [10983] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__protocol_member_declaration, 1, 0, 109),
  [10985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216),
  [10987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(675),
  [10989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5738),
  [10991] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__uni_character_literal, 3, 0, 0),
  [10993] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__uni_character_literal, 3, 0, 0),
  [10995] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_constraints_repeat1, 2, 0, 0), SHIFT_REPEAT(3853),
  [10998] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 98), SHIFT_REPEAT(216),
  [11001] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7046),
  [11003] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__interpolation, 3, 0, 80),
  [11005] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__interpolation, 3, 0, 80),
  [11007] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_function_declaration_no_body, 5, 0, 163),
  [11009] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4157),
  [11011] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_parameter, 3, 0, 99),
  [11013] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__class_member_declarations, 1, 0, 0),
  [11015] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1342),
  [11017] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_function_declaration_no_body, 5, 0, 162),
  [11019] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_identifier_repeat1, 2, 0, 0), SHIFT_REPEAT(5792),
  [11022] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__binding_pattern_with_expr, 1, 0, 13),
  [11024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7440),
  [11026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3753),
  [11028] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__binding_pattern_with_expr, 1, 0, 16),
  [11030] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7184),
  [11032] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7433),
  [11034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3920),
  [11036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6311),
  [11038] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_multi_line_string_literal_repeat1, 1, 0, 10),
  [11040] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_multi_line_string_literal_repeat1, 1, 0, 10),
  [11042] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7183),
  [11044] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_function_type, 4, 0, 0),
  [11046] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3903),
  [11048] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6930),
  [11050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4784),
  [11052] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_function_declaration_no_body, 6, 0, 198),
  [11054] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_function_declaration_no_body, 6, 0, 199),
  [11056] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_user_type, 1, 0, 0), SHIFT(5342),
  [11059] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_multi_line_string_literal_repeat1, 1, 0, 1),
  [11061] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_multi_line_string_literal_repeat1, 1, 0, 1),
  [11063] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_identifier_repeat1, 2, 0, 0), SHIFT_REPEAT(5738),
  [11066] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_multi_line_str_text, 1, 0, 0),
  [11068] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_multi_line_str_text, 1, 0, 0),
  [11070] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__class_member_declarations_repeat1, 2, 0, 0),
  [11072] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__class_member_declarations_repeat1, 2, 0, 0), SHIFT_REPEAT(1426),
  [11075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5553),
  [11077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3880),
  [11079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3734),
  [11081] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_parameter, 4, 0, 138),
  [11083] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6911),
  [11085] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_parameter, 4, 0, 139),
  [11087] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4107),
  [11089] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_user_type, 2, 0, 0), SHIFT(5342),
  [11092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4206),
  [11094] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_identifier_repeat1, 2, 0, 0), SHIFT_REPEAT(5682),
  [11097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5751),
  [11099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4063),
  [11101] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_parameter, 5, 0, 179),
  [11103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7160),
  [11105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7159),
  [11107] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_function_declaration_no_body, 4, 0, 122),
  [11109] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_str_escaped_char, 1, 0, 0),
  [11111] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_str_escaped_char, 1, 0, 0),
  [11113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(596),
  [11115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4376),
  [11117] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__modifierless_property_declaration_repeat1, 2, 0, 123), SHIFT_REPEAT(4784),
  [11120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_function_declaration_no_body, 7, 0, 226),
  [11122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4117),
  [11124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215),
  [11126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64),
  [11128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3876),
  [11130] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8697),
  [11132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8697),
  [11134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4925),
  [11136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4088),
  [11138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3877),
  [11140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404),
  [11142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4432),
  [11144] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8680),
  [11146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8680),
  [11148] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8681),
  [11150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8681),
  [11152] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_statements_repeat1, 2, 0, 0), SHIFT_REPEAT(115),
  [11155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2994),
  [11157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4906),
  [11159] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8688),
  [11161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8688),
  [11163] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8719),
  [11165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8719),
  [11167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3991),
  [11169] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8739),
  [11171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8739),
  [11173] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8767),
  [11175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8767),
  [11177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228),
  [11179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74),
  [11181] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8797),
  [11183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8797),
  [11185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4303),
  [11187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 4, 0, 138),
  [11189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7498),
  [11191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 4, 0, 139),
  [11193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1327),
  [11195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4008),
  [11197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4119),
  [11199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91),
  [11201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205),
  [11203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82),
  [11205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217),
  [11207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68),
  [11209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4237),
  [11211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(498),
  [11213] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8703),
  [11215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8703),
  [11217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2748),
  [11219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2716),
  [11221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(680),
  [11223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__protocol_member_declarations, 1, 0, 110),
  [11225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1690),
  [11227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(473),
  [11229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(466),
  [11231] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__inheritance_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(4323),
  [11234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__inheritance_specifiers_repeat1, 2, 0, 0),
  [11236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211),
  [11238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56),
  [11240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2695),
  [11242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(671),
  [11244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3921),
  [11246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4059),
  [11248] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8869),
  [11250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8869),
  [11252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24),
  [11254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(445),
  [11256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23),
  [11258] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__constrained_type, 3, 0, 0),
  [11260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5551),
  [11262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4782),
  [11264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1435),
  [11266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4323),
  [11268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__inheritance_specifiers, 1, 0, 0),
  [11270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3574),
  [11272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4938),
  [11274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4130),
  [11276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__protocol_member_declarations_repeat1, 2, 0, 149),
  [11278] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__protocol_member_declarations_repeat1, 2, 0, 149), SHIFT_REPEAT(1695),
  [11281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112),
  [11283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4129),
  [11285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4113),
  [11287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4214),
  [11289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4314),
  [11291] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__function_value_parameters, 2, 0, 64), SHIFT_REPEAT(5040),
  [11294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4012),
  [11296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4317),
  [11298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4340),
  [11300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__protocol_member_declarations, 2, 0, 149),
  [11302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1691),
  [11304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3911),
  [11306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4315),
  [11308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4374),
  [11310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4934),
  [11312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7852),
  [11314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4030),
  [11316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3902),
  [11318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4272),
  [11320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4399),
  [11322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4056),
  [11324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4425),
  [11326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4055),
  [11328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3983),
  [11330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3980),
  [11332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4434),
  [11334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8064),
  [11336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(464),
  [11338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3979),
  [11340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4297),
  [11342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8085),
  [11344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8087),
  [11346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226),
  [11348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97),
  [11350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219),
  [11352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71),
  [11354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4106),
  [11356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4278),
  [11358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4199),
  [11360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4054),
  [11362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3584),
  [11364] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 5, 0, 179),
  [11366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4144),
  [11368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 3, 0, 99),
  [11370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(465),
  [11372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6889),
  [11374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(469),
  [11376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_declaration, 4, 0, 120),
  [11378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4457),
  [11380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4120),
  [11382] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__constrained_type_repeat1, 2, 0, 0),
  [11384] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__constrained_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5551),
  [11387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4151),
  [11389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(933),
  [11391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_declaration, 5, 0, 161),
  [11393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4043),
  [11395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4089),
  [11397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4455),
  [11399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4137),
  [11401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3960),
  [11403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4105),
  [11405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4029),
  [11407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3937),
  [11409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4443),
  [11411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4439),
  [11413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4191),
  [11415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3964),
  [11417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4209),
  [11419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4254),
  [11421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105),
  [11423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4369),
  [11425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4424),
  [11427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0),
  [11429] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(26),
  [11432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4092),
  [11434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4175),
  [11436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2472),
  [11438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3982),
  [11440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4364),
  [11442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7182),
  [11444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4006),
  [11446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4350),
  [11448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4044),
  [11450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4451),
  [11452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4045),
  [11454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4046),
  [11456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4468),
  [11458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2797),
  [11460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(699),
  [11462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4940),
  [11464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8713),
  [11466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4465),
  [11468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25),
  [11470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6844),
  [11472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4410),
  [11474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4397),
  [11476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4307),
  [11478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3977),
  [11480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4353),
  [11482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7611),
  [11484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4072),
  [11486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4296),
  [11488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7613),
  [11490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7769),
  [11492] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__inheritance_specifiers, 2, 0, 0),
  [11494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7615),
  [11496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4196),
  [11498] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__constrained_type, 4, 0, 0),
  [11500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221),
  [11502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87),
  [11504] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4435),
  [11506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4125),
  [11508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4081),
  [11510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4143),
  [11512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3266),
  [11514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3896),
  [11516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4110),
  [11518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4079),
  [11520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4019),
  [11522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4289),
  [11524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4021),
  [11526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4286),
  [11528] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_line_str_text, 1, 0, 0),
  [11530] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_str_text, 1, 0, 0),
  [11532] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__modifierless_property_declaration_repeat1, 2, 0, 123), SHIFT_REPEAT(4782),
  [11535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4075),
  [11537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222),
  [11539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83),
  [11541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4064),
  [11543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4153),
  [11545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4118),
  [11547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4217),
  [11549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3988),
  [11551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4049),
  [11553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4061),
  [11555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4200),
  [11557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4050),
  [11559] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_line_string_literal_repeat1, 1, 0, 1),
  [11561] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_line_string_literal_repeat1, 1, 0, 1),
  [11563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4922),
  [11565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4929),
  [11567] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7299),
  [11569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4065),
  [11571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4187),
  [11573] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_line_string_literal_repeat1, 1, 0, 10),
  [11575] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_line_string_literal_repeat1, 1, 0, 10),
  [11577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4156),
  [11579] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_function_declaration_no_body, 6, 0, 163),
  [11581] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__availability_argument, 3, 0, 0),
  [11583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8984),
  [11585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_value_parameter, 1, 0, 0),
  [11587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(573),
  [11589] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_parameter_possibly_packed, 1, 0, 3),
  [11591] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter, 1, 0, 0),
  [11593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4178),
  [11595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227),
  [11597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95),
  [11599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3794),
  [11601] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__availability_argument_repeat1, 2, 0, 0),
  [11603] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__availability_argument_repeat1, 2, 0, 0), SHIFT_REPEAT(8984),
  [11606] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__annotated_inheritance_specifier, 2, 0, 0),
  [11608] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_function_declaration_no_body, 5, 0, 122),
  [11610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89),
  [11612] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_function_declaration_no_body, 5, 0, 32),
  [11614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66),
  [11616] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_parameters_repeat1, 2, 0, 0), SHIFT_REPEAT(4973),
  [11619] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_parameters_repeat1, 2, 0, 0),
  [11621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110),
  [11623] = {.entry = {.count = 1, .reusable = true}}, SHIFT(717),
  [11625] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attribute_argument, 2, 0, 0),
  [11627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70),
  [11629] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__constructor_value_arguments_repeat1, 2, 0, 0),
  [11631] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__constructor_value_arguments_repeat1, 2, 0, 0), SHIFT_REPEAT(332),
  [11634] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__binding_pattern_with_expr, 2, 0, 13),
  [11636] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__binding_pattern_with_expr, 2, 0, 16),
  [11638] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameters, 4, 0, 0),
  [11640] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__availability_argument, 2, 0, 0),
  [11642] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameters, 6, 0, 0),
  [11644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4988),
  [11646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4470),
  [11648] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__bodyless_function_declaration, 3, 0, 78),
  [11650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6332),
  [11652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104),
  [11654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(609),
  [11656] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_function_declaration_no_body, 6, 0, 162),
  [11658] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_external_macro_definition, 3, 0, 0),
  [11660] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_function_declaration_no_body, 6, 0, 74),
  [11662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3791),
  [11664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4305),
  [11666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55),
  [11668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4204),
  [11670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79),
  [11672] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__bodyless_function_declaration, 2, 0, 18),
  [11674] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter, 2, 0, 0),
  [11676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4308),
  [11678] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameters, 3, 0, 0),
  [11680] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_value_parameter, 2, 0, 0),
  [11682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(630),
  [11684] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_function_declaration_no_body, 8, 0, 226),
  [11686] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__bodyless_function_declaration, 1, 0, 7),
  [11688] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_constraints_repeat1, 2, 0, 0), SHIFT_REPEAT(3852),
  [11691] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_type_parameters_repeat1, 5, 0, 253),
  [11693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(664),
  [11695] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_type_parameters_repeat1, 4, 0, 193),
  [11697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(665),
  [11699] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_type_parameters_repeat1, 2, 0, 59),
  [11701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(679),
  [11703] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameters, 5, 0, 0),
  [11705] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_capture_list_item, 2, 0, 19),
  [11707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(718),
  [11709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57),
  [11711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4167),
  [11713] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_capture_list_item, 1, 0, 11),
  [11715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(690),
  [11717] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_function_declaration_no_body, 7, 0, 198),
  [11719] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__modifierless_function_declaration_no_body, 7, 0, 199),
  [11721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167),
  [11723] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_playground_literal_repeat1, 2, 0, 0),
  [11725] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_playground_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(5613),
  [11728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(552),
  [11730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1348),
  [11732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(379),
  [11734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1309),
  [11736] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__constrained_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5758),
  [11739] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6575),
  [11741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5017),
  [11743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4083),
  [11745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5844),
  [11747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1300),
  [11749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(329),
  [11751] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3057),
  [11753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(326),
  [11755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325),
  [11757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2650),
  [11759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5124),
  [11761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(348),
  [11763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3056),
  [11765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5758),
  [11767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(332),
  [11769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1161),
  [11771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3993),
  [11773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2491),
  [11775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1892),
  [11777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3507),
  [11779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251),
  [11781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250),
  [11783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3863),
  [11785] = {.entry = {.count = 1, .reusable = true}}, SHIFT(337),
  [11787] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157),
  [11789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4085),
  [11791] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5904),
  [11793] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231),
  [11795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322),
  [11797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246),
  [11799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319),
  [11801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3015),
  [11803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1146),
  [11805] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1237),
  [11807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(555),
  [11809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(357),
  [11811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8077),
  [11813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2898),
  [11815] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213),
  [11817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8068),
  [11819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1900),
  [11821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3500),
  [11823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(865),
  [11825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5426),
  [11827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1306),
  [11829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(551),
  [11831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(914),
  [11833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(546),
  [11835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8321),
  [11837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5110),
  [11839] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 6, 0, 179),
  [11841] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_protocol_property_declaration, 5, 0, 189),
  [11843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2742),
  [11845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1258),
  [11847] = {.entry = {.count = 1, .reusable = true}}, SHIFT(390),
  [11849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1333),
  [11851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2664),
  [11853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341),
  [11855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5887),
  [11857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3233),
  [11859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8239),
  [11861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3011),
  [11863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5107),
  [11865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4950),
  [11867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(857),
  [11869] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5678),
  [11871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5800),
  [11873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3528),
  [11875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5675),
  [11877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8335),
  [11879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5501),
  [11881] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4094),
  [11883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2145),
  [11885] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1259),
  [11887] = {.entry = {.count = 1, .reusable = true}}, SHIFT(309),
  [11889] = {.entry = {.count = 1, .reusable = true}}, SHIFT(306),
  [11891] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5394),
  [11893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1270),
  [11895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7926),
  [11897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5836),
  [11899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3544),
  [11901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253),
  [11903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(955),
  [11905] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2429),
  [11907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(356),
  [11909] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1375),
  [11911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4096),
  [11913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2134),
  [11915] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254),
  [11917] = {.entry = {.count = 1, .reusable = true}}, SHIFT(299),
  [11919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(956),
  [11921] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256),
  [11923] = {.entry = {.count = 1, .reusable = true}}, SHIFT(297),
  [11925] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1320),
  [11927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109),
  [11929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3879),
  [11931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2526),
  [11933] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 98), SHIFT_REPEAT(227),
  [11936] = {.entry = {.count = 1, .reusable = true}}, SHIFT(345),
  [11938] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6556),
  [11940] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5014),
  [11942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1332),
  [11944] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dictionary_literal_repeat1, 2, 0, 96), SHIFT_REPEAT(542),
  [11947] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_dictionary_literal_repeat1, 2, 0, 96),
  [11949] = {.entry = {.count = 1, .reusable = true}}, SHIFT(342),
  [11951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3608),
  [11953] = {.entry = {.count = 1, .reusable = true}}, SHIFT(397),
  [11955] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3585),
  [11957] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 94), SHIFT_REPEAT(701),
  [11960] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 94),
  [11962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2933),
  [11964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(544),
  [11966] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_type_parameters_repeat1, 2, 0, 119),
  [11968] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_type_parameters_repeat1, 2, 0, 119), SHIFT_REPEAT(4000),
  [11971] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2482),
  [11973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2350),
  [11975] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3562),
  [11977] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6141),
  [11979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164),
  [11981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1369),
  [11983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5091),
  [11985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(388),
  [11987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(962),
  [11989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(328),
  [11991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4099),
  [11993] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5076),
  [11995] = {.entry = {.count = 1, .reusable = true}}, SHIFT(569),
  [11997] = {.entry = {.count = 1, .reusable = true}}, SHIFT(964),
  [11999] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2340),
  [12001] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3578),
  [12003] = {.entry = {.count = 1, .reusable = true}}, SHIFT(327),
  [12005] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_declaration, 5, 0, 121),
  [12007] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3973),
  [12009] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5092),
  [12011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3700),
  [12013] = {.entry = {.count = 1, .reusable = true}}, SHIFT(556),
  [12015] = {.entry = {.count = 1, .reusable = true}}, SHIFT(323),
  [12017] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5959),
  [12019] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3283),
  [12021] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4078),
  [12023] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3211),
  [12025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2694),
  [12027] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_declaration, 5, 0, 120),
  [12029] = {.entry = {.count = 1, .reusable = true}}, SHIFT(520),
  [12031] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3651),
  [12033] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5672),
  [12035] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3381),
  [12037] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_arguments_repeat1, 2, 0, 119), SHIFT_REPEAT(4372),
  [12040] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_arguments_repeat1, 2, 0, 119),
  [12042] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2689),
  [12044] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2486),
  [12046] = {.entry = {.count = 1, .reusable = true}}, SHIFT(362),
  [12048] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6050),
  [12050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3554),
  [12052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2125),
  [12054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156),
  [12056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(394),
  [12058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3694),
  [12060] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2681),
  [12062] = {.entry = {.count = 1, .reusable = true}}, SHIFT(972),
  [12064] = {.entry = {.count = 1, .reusable = true}}, SHIFT(517),
  [12066] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6605),
  [12068] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5034),
  [12070] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3900),
  [12072] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5166),
  [12074] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4097),
  [12076] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1618),
  [12078] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6044),
  [12080] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3543),
  [12082] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3595),
  [12084] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252),
  [12086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3581),
  [12088] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258),
  [12090] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2663),
  [12092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4095),
  [12094] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1596),
  [12096] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260),
  [12098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(352),
  [12100] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 88),
  [12102] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 88), SHIFT_REPEAT(692),
  [12105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2404),
  [12107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1776),
  [12109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3487),
  [12111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(961),
  [12113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2487),
  [12115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1351),
  [12117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2868),
  [12119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5846),
  [12121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3533),
  [12123] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_function_type, 5, 0, 0),
  [12125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4003),
  [12127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5987),
  [12129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3296),
  [12131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(316),
  [12133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7223),
  [12135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4087),
  [12137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6161),
  [12139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5838),
  [12141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3508),
  [12143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5113),
  [12145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(315),
  [12147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4076),
  [12149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6168),
  [12151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2881),
  [12153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314),
  [12155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4073),
  [12157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3238),
  [12159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6278),
  [12161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5043),
  [12163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(367),
  [12165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2879),
  [12167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(537),
  [12169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2877),
  [12171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1780),
  [12173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3475),
  [12175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5502),
  [12177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3480),
  [12179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2805),
  [12181] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_raw_string_literal_repeat1, 2, 0, 9),
  [12183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8393),
  [12185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2872),
  [12187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(536),
  [12189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4068),
  [12191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(844),
  [12193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5478),
  [12195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3474),
  [12197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4067),
  [12199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(829),
  [12201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162),
  [12203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(385),
  [12205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2862),
  [12207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6591),
  [12209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5029),
  [12211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1380),
  [12213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4861),
  [12215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(336),
  [12217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5924),
  [12219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3441),
  [12221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3908),
  [12223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5171),
  [12225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271),
  [12227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274),
  [12229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5064),
  [12231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4036),
  [12233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1771),
  [12235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275),
  [12237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5938),
  [12239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3440),
  [12241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5850),
  [12243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3209),
  [12245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(934),
  [12247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4034),
  [12249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1756),
  [12251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5415),
  [12253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2840),
  [12255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2907),
  [12257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5370),
  [12259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3579),
  [12261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(567),
  [12263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7064),
  [12265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5116),
  [12267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(386),
  [12269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2648),
  [12271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1847),
  [12273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3422),
  [12275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2624),
  [12277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(381),
  [12279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(932),
  [12281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(959),
  [12283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter, 3, 0, 154),
  [12285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4011),
  [12287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1858),
  [12289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5074),
  [12291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1841),
  [12293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3407),
  [12295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347),
  [12297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4009),
  [12299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1856),
  [12301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5436),
  [12303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(913),
  [12305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__interpolation_contents, 2, 0, 82),
  [12307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267),
  [12309] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5605),
  [12311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1428),
  [12313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(532),
  [12315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_raw_str_interpolation, 3, 0, 80),
  [12317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1225),
  [12319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2598),
  [12321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294),
  [12323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5221),
  [12325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3391),
  [12327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2325),
  [12329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(344),
  [12331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293),
  [12333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291),
  [12335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3999),
  [12337] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4923),
  [12339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5205),
  [12341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3384),
  [12343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4017),
  [12345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4845),
  [12347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5930),
  [12349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(354),
  [12351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3997),
  [12353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4927),
  [12355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6237),
  [12357] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5024),
  [12359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 5, 0, 139),
  [12361] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 5, 0, 138),
  [12363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163),
  [12365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245),
  [12367] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__function_value_parameters_repeat1, 2, 0, 64),
  [12369] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__function_value_parameters_repeat1, 2, 0, 64), SHIFT_REPEAT(5088),
  [12372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268),
  [12374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2223),
  [12376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3379),
  [12378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237),
  [12380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(830),
  [12382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3458),
  [12384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3981),
  [12386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5159),
  [12388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3190),
  [12390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2215),
  [12392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3378),
  [12394] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 98), SHIFT_REPEAT(224),
  [12397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_declaration, 4, 0, 72),
  [12399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3978),
  [12401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5162),
  [12403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1196),
  [12405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2421),
  [12407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224),
  [12409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8281),
  [12411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286),
  [12413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1400),
  [12415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(389),
  [12417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3214),
  [12419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3278),
  [12421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(562),
  [12423] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_lambda_function_type_parameters_repeat1, 2, 0, 0), SHIFT_REPEAT(5123),
  [12426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283),
  [12428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2094),
  [12430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3310),
  [12432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1409),
  [12434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282),
  [12436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4060),
  [12438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4857),
  [12440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6229),
  [12442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5026),
  [12444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2276),
  [12446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3375),
  [12448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(561),
  [12450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3287),
  [12452] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_protocol_property_declaration, 4, 0, 189),
  [12454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3819),
  [12456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168),
  [12458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(396),
  [12460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3289),
  [12462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3971),
  [12464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5691),
  [12466] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_protocol_property_declaration, 2, 0, 34),
  [12468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2295),
  [12470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3374),
  [12472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(363),
  [12474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6527),
  [12476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166),
  [12478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3968),
  [12480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5706),
  [12482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(373),
  [12484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1401),
  [12486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(527),
  [12488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1432),
  [12490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67),
  [12492] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__protocol_member_declarations_repeat1, 2, 0, 148),
  [12494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(828),
  [12496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3444),
  [12498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5708),
  [12500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3371),
  [12502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3925),
  [12504] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5602),
  [12506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3314),
  [12508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290),
  [12510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3959),
  [12512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2405),
  [12514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1354),
  [12516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(526),
  [12518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5621),
  [12520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3359),
  [12522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3316),
  [12524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292),
  [12526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3958),
  [12528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2409),
  [12530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272),
  [12532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2830),
  [12534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(300),
  [12536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273),
  [12538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2825),
  [12540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276),
  [12542] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_protocol_property_declaration, 4, 0, 34),
  [12544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5965),
  [12546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3350),
  [12548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3648),
  [12550] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_protocol_property_requirements, 3, 0, 0),
  [12552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3945),
  [12554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5988),
  [12556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4058),
  [12558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2034),
  [12560] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5973),
  [12562] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3345),
  [12564] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4026),
  [12566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6008),
  [12568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5645),
  [12570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(378),
  [12572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1411),
  [12574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2762),
  [12576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2505),
  [12578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5657),
  [12580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3335),
  [12582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6259),
  [12584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165),
  [12586] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__protocol_member_declaration, 2, 0, 147),
  [12588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3936),
  [12590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5547),
  [12592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5359),
  [12594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5695),
  [12596] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3334),
  [12598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3934),
  [12600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5604),
  [12602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3180),
  [12604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2128),
  [12606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3331),
  [12608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(346),
  [12610] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_protocol_property_requirements, 2, 0, 0),
  [12612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2585),
  [12614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(518),
  [12616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2247),
  [12618] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_entry_repeat1, 2, 0, 0), SHIFT_REPEAT(169),
  [12621] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_switch_entry_repeat1, 2, 0, 0),
  [12623] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3192),
  [12625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1954),
  [12627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3329),
  [12629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161),
  [12631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236),
  [12633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234),
  [12635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3987),
  [12637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2090),
  [12639] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3927),
  [12641] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5580),
  [12643] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1983),
  [12645] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3327),
  [12647] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3926),
  [12649] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5578),
  [12651] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233),
  [12653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4020),
  [12655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5111),
  [12657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6009),
  [12659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3309),
  [12661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5312),
  [12663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(358),
  [12665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6329),
  [12667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5020),
  [12669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1603),
  [12671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(339),
  [12673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3923),
  [12675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5250),
  [12677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2191),
  [12679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5030),
  [12681] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5923),
  [12683] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3308),
  [12685] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3930),
  [12687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5614),
  [12689] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3922),
  [12691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5237),
  [12693] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_availability_condition_repeat1, 2, 0, 0),
  [12695] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_availability_condition_repeat1, 2, 0, 0), SHIFT_REPEAT(5117),
  [12698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160),
  [12700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(307),
  [12702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2029),
  [12704] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3304),
  [12706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308),
  [12708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6253),
  [12710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3425),
  [12712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3918),
  [12714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2953),
  [12716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6264),
  [12718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5022),
  [12720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2025),
  [12722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3303),
  [12724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3913),
  [12726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2993),
  [12728] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__interpolation_contents_repeat1, 2, 0, 129),
  [12730] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__interpolation_contents_repeat1, 2, 0, 129), SHIFT_REPEAT(334),
  [12733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2298),
  [12735] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_raw_string_literal_repeat1, 2, 0, 38), SHIFT_REPEAT(8309),
  [12738] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_raw_string_literal_repeat1, 2, 0, 38),
  [12740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3225),
  [12742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1090),
  [12744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3300),
  [12746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(310),
  [12748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243),
  [12750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2612),
  [12752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3907),
  [12754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2369),
  [12756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247),
  [12758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1108),
  [12760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3291),
  [12762] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_protocol_property_declaration, 3, 0, 34),
  [12764] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2613),
  [12766] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249),
  [12768] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3932),
  [12770] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5061),
  [12772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3897),
  [12774] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2372),
  [12776] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2204),
  [12778] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5033),
  [12780] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3691),
  [12782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2729),
  [12784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3042),
  [12786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3284),
  [12788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(391),
  [12790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2616),
  [12792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3885),
  [12794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3021),
  [12796] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3050),
  [12798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3282),
  [12800] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__interpolation_contents, 1, 0, 41),
  [12802] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262),
  [12804] = {.entry = {.count = 1, .reusable = true}}, SHIFT(523),
  [12806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2621),
  [12808] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4010),
  [12810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3026),
  [12812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2794),
  [12814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3387),
  [12816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(558),
  [12818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6274),
  [12820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3419),
  [12822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4498),
  [12824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5084),
  [12826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5814),
  [12828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3274),
  [12830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2626),
  [12832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(524),
  [12834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6317),
  [12836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5023),
  [12838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4028),
  [12840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5805),
  [12842] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5809),
  [12844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3271),
  [12846] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_protocol_property_declaration, 3, 0, 189),
  [12848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2774),
  [12850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(571),
  [12852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4066),
  [12854] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5804),
  [12856] = {.entry = {.count = 1, .reusable = true}}, SHIFT(353),
  [12858] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3670),
  [12860] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5573),
  [12862] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3573),
  [12864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5071),
  [12866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(368),
  [12868] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2582),
  [12870] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2163),
  [12872] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3267),
  [12874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62),
  [12876] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8310),
  [12878] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3965),
  [12880] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1794),
  [12882] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4894),
  [12884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2174),
  [12886] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3265),
  [12888] = {.entry = {.count = 1, .reusable = true}}, SHIFT(298),
  [12890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4090),
  [12892] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1797),
  [12894] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60),
  [12896] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5337),
  [12898] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_repeat_while_statement_repeat1, 2, 0, 0),
  [12900] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_repeat_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(8068),
  [12903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3409),
  [12905] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223),
  [12907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3805),
  [12909] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3262),
  [12911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2359),
  [12913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2710),
  [12915] = {.entry = {.count = 1, .reusable = true}}, SHIFT(565),
  [12917] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4084),
  [12919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5175),
  [12921] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3814),
  [12923] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3261),
  [12925] = {.entry = {.count = 1, .reusable = true}}, SHIFT(350),
  [12927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4074),
  [12929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5184),
  [12931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69),
  [12933] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3623),
  [12935] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3343),
  [12937] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_type_repeat1, 2, 0, 94),
  [12939] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_type_repeat1, 2, 0, 94), SHIFT_REPEAT(3617),
  [12942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5391),
  [12944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8494),
  [12946] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3437),
  [12948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(531),
  [12950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4025),
  [12952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2275),
  [12954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3596),
  [12956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3249),
  [12958] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 4, 0, 99),
  [12960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2750),
  [12962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4024),
  [12964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2300),
  [12966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3454),
  [12968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3726),
  [12970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3241),
  [12972] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295),
  [12974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3577),
  [12976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(550),
  [12978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4007),
  [12980] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3790),
  [12982] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3723),
  [12984] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3239),
  [12986] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3509),
  [12988] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3984),
  [12990] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3784),
  [12992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301),
  [12994] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6771),
  [12996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155),
  [12998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3998),
  [13000] = {.entry = {.count = 1, .reusable = true}}, SHIFT(879),
  [13002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3967),
  [13004] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1079),
  [13006] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8508),
  [13008] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5077),
  [13010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(560),
  [13012] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2802),
  [13014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4959),
  [13016] = {.entry = {.count = 1, .reusable = true}}, SHIFT(338),
  [13018] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1066),
  [13020] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3228),
  [13022] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7305),
  [13024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5045),
  [13026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3966),
  [13028] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1077),
  [13030] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3878),
  [13032] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2228),
  [13034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3875),
  [13036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1198),
  [13038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1072),
  [13040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3224),
  [13042] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3957),
  [13044] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1193),
  [13046] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158),
  [13048] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3881),
  [13050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2311),
  [13052] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter, 4, 0, 193),
  [13054] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_pattern, 1, 0, 13),
  [13056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3956),
  [13058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3665),
  [13060] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3955),
  [13062] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3654),
  [13064] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3953),
  [13066] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3127),
  [13068] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_declaration, 6, 0, 161),
  [13070] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3882),
  [13072] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5453),
  [13074] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3951),
  [13076] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3119),
  [13078] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3949),
  [13080] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3787),
  [13082] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3883),
  [13084] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5449),
  [13086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3948),
  [13088] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3792),
  [13090] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5165),
  [13092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3388),
  [13094] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3947),
  [13096] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2202),
  [13098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(382),
  [13100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3532),
  [13102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3884),
  [13104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2410),
  [13106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3944),
  [13108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2211),
  [13110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8276),
  [13112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3887),
  [13114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2327),
  [13116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2760),
  [13118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3943),
  [13120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5733),
  [13122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4942),
  [13124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5629),
  [13126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3519),
  [13128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3890),
  [13130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5900),
  [13132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3942),
  [13134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5735),
  [13136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3941),
  [13138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2646),
  [13140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3892),
  [13142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5891),
  [13144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303),
  [13146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304),
  [13148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(317),
  [13150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3529),
  [13152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(331),
  [13154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3530),
  [13156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330),
  [13158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3939),
  [13160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2651),
  [13162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3962),
  [13164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(873),
  [13166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7296),
  [13168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5049),
  [13170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attribute_repeat1, 2, 0, 0),
  [13172] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_repeat1, 2, 0, 0), SHIFT_REPEAT(372),
  [13175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3893),
  [13177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5386),
  [13179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3938),
  [13181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1118),
  [13183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3935),
  [13185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1121),
  [13187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6813),
  [13189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159),
  [13191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3894),
  [13193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5382),
  [13195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3933),
  [13197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2690),
  [13199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3931),
  [13201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2725),
  [13203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3929),
  [13205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2400),
  [13207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(392),
  [13209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3545),
  [13211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3898),
  [13213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1301),
  [13215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__tuple_pattern_repeat1, 2, 0, 0),
  [13217] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__tuple_pattern_repeat1, 2, 0, 0), SHIFT_REPEAT(182),
  [13220] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_capture_list_repeat1, 2, 0, 0), SHIFT_REPEAT(4966),
  [13223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_capture_list_repeat1, 2, 0, 0),
  [13225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3905),
  [13227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1293),
  [13229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(548),
  [13231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3547),
  [13233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3928),
  [13235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2415),
  [13237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3906),
  [13239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1927),
  [13241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3916),
  [13243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2074),
  [13245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3909),
  [13247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1923),
  [13249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(393),
  [13251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2804),
  [13253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3915),
  [13255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2070),
  [13257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3912),
  [13259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5819),
  [13261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5182),
  [13263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3358),
  [13265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3914),
  [13267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5816),
  [13269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5673),
  [13271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_dictionary_literal_repeat1, 2, 0, 51),
  [13273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5230),
  [13275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4233),
  [13277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3804),
  [13279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6024),
  [13281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4226),
  [13283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3706),
  [13285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4240),
  [13287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2196),
  [13289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4224),
  [13291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1179),
  [13293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4243),
  [13295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5820),
  [13297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4220),
  [13299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1069),
  [13301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tuple_pattern_item, 3, 0, 104),
  [13303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4246),
  [13305] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2986),
  [13307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4249),
  [13309] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1094),
  [13311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4257),
  [13313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2770),
  [13315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4417),
  [13317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5704),
  [13319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8830),
  [13321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3524),
  [13323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4444),
  [13325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5120),
  [13327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4262),
  [13329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2030),
  [13331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4134),
  [13333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4456),
  [13335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2105),
  [13337] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1087),
  [13339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8944),
  [13341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1328),
  [13343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4266),
  [13345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5940),
  [13347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5654),
  [13349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277),
  [13351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3733),
  [13353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4274),
  [13355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1960),
  [13357] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type_item, 3, 0, 134),
  [13359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5861),
  [13361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3717),
  [13363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4277),
  [13365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1292),
  [13367] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_type_repeat1, 2, 0, 45),
  [13369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2349),
  [13371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3862),
  [13373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4291),
  [13375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5616),
  [13377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8858),
  [13379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2579),
  [13381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4446),
  [13383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(875),
  [13385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2162),
  [13387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5544),
  [13389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4103),
  [13391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4301),
  [13393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5971),
  [13395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type_item, 1, 0, 47),
  [13397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4139),
  [13399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4131),
  [13401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4112),
  [13403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4133),
  [13405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6010),
  [13407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4114),
  [13409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4309),
  [13411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2412),
  [13413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(821),
  [13415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_raw_string_literal_repeat1, 3, 0, 9),
  [13417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3189),
  [13419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4213),
  [13421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4322),
  [13423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5538),
  [13425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1114),
  [13427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4298),
  [13429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4328),
  [13431] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2261),
  [13433] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__interpolation_contents_repeat1, 2, 0, 128),
  [13435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2028),
  [13437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4339),
  [13439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4333),
  [13441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2302),
  [13443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6109),
  [13445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172),
  [13447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8916),
  [13449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4362),
  [13451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4336),
  [13453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5284),
  [13455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4394),
  [13457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2004),
  [13459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4349),
  [13461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1818),
  [13463] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5548),
  [13465] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1936),
  [13467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4421),
  [13469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7522),
  [13471] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7518),
  [13473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4437),
  [13475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6244),
  [13477] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5908),
  [13479] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8798),
  [13481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1367),
  [13483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4472),
  [13485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3130),
  [13487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4356),
  [13489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5918),
  [13491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4442),
  [13493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8771),
  [13495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3582),
  [13497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6070),
  [13499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4371),
  [13501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5388),
  [13503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4306),
  [13505] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__non_constructor_function_decl, 2, 0, 19),
  [13507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4359),
  [13509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2997),
  [13511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5763),
  [13513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4255),
  [13515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4281),
  [13517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6197),
  [13519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5884),
  [13521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4205),
  [13523] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8903),
  [13525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2737),
  [13527] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4284),
  [13529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1816),
  [13531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4368),
  [13533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2940),
  [13535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4154),
  [13537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4121),
  [13539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4366),
  [13541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4147),
  [13543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2279),
  [13545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2099),
  [13547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4384),
  [13549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5475),
  [13551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4373),
  [13553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4173),
  [13555] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__function_value_parameters_repeat1, 2, 0, 113),
  [13557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5563),
  [13559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4101),
  [13561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4398),
  [13563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5896),
  [13565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6059),
  [13567] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5975),
  [13569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4188),
  [13571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8778),
  [13573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3206),
  [13575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4430),
  [13577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(837),
  [13579] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4454),
  [13581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4208),
  [13583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2219),
  [13585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type_item, 2, 0, 90),
  [13587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4387),
  [13589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5878),
  [13591] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_arguments_repeat1, 2, 0, 59),
  [13593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4227),
  [13595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5432),
  [13597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5977),
  [13599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4390),
  [13601] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6030),
  [13603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4422),
  [13605] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4450),
  [13607] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5667),
  [13609] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type_item, 2, 0, 89),
  [13611] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4363),
  [13613] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4462),
  [13615] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8751),
  [13617] = {.entry = {.count = 1, .reusable = true}}, SHIFT(928),
  [13619] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4195),
  [13621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2592),
  [13623] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4222),
  [13625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4463),
  [13627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4411),
  [13629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1915),
  [13631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5774),
  [13633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4400),
  [13635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4287),
  [13637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4420),
  [13639] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1789),
  [13641] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4367),
  [13643] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4184),
  [13645] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7404),
  [13647] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4316),
  [13649] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5524),
  [13651] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4403),
  [13653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2394),
  [13655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4258),
  [13657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5761),
  [13659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4415),
  [13661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1884),
  [13663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4198),
  [13665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4230),
  [13667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3622),
  [13669] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tuple_pattern_item, 1, 0, 13),
  [13671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6075),
  [13673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4161),
  [13675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8685),
  [13677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2864),
  [13679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4145),
  [13681] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4464),
  [13683] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5945),
  [13685] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4412),
  [13687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5879),
  [13689] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4158),
  [13691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6300),
  [13693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4891),
  [13695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8866),
  [13697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2921),
  [13699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3481),
  [13701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8659),
  [13703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8266),
  [13705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1032),
  [13707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3111),
  [13709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5789),
  [13711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6858),
  [13713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7591),
  [13715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3539),
  [13717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5788),
  [13719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6350),
  [13721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1422),
  [13723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8861),
  [13725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7470),
  [13727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1896),
  [13729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2360),
  [13731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7475),
  [13733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7576),
  [13735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2970),
  [13737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1031),
  [13739] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2525),
  [13741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2874),
  [13743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3430),
  [13745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2972),
  [13747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7749),
  [13749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3396),
  [13751] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2638),
  [13753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7164),
  [13755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1781),
  [13757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(906),
  [13759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3161),
  [13761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3602),
  [13763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7544),
  [13765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7549),
  [13767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7755),
  [13769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4592),
  [13771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1768),
  [13773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5419),
  [13775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8001),
  [13777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3695),
  [13779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3550),
  [13781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1748),
  [13783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1851),
  [13785] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3761),
  [13787] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1438),
  [13789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(943),
  [13791] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7909),
  [13793] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5935),
  [13795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5000),
  [13797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5326),
  [13799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(820),
  [13801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2965),
  [13803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7918),
  [13805] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4524),
  [13807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1329),
  [13809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1843),
  [13811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1390),
  [13813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4795),
  [13815] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6660),
  [13817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1321),
  [13819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7774),
  [13821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8667),
  [13823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8115),
  [13825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6670),
  [13827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(980),
  [13829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2406),
  [13831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8125),
  [13833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5909),
  [13835] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_function_type, 5, 0, 178),
  [13837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5177),
  [13839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2657),
  [13841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(376),
  [13843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2910),
  [13845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(968),
  [13847] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7640),
  [13849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(850),
  [13851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(854),
  [13853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2727),
  [13855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2534),
  [13857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3682),
  [13859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6101),
  [13861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1340),
  [13863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1378),
  [13865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1359),
  [13867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4345),
  [13869] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1337),
  [13871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4531),
  [13873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7997),
  [13875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5855),
  [13877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7955),
  [13879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6831),
  [13881] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3642),
  [13883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101),
  [13885] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1811),
  [13887] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3257),
  [13889] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7854),
  [13891] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6260),
  [13893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3279),
  [13895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1017),
  [13897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1018),
  [13899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3014),
  [13901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3686),
  [13903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2442),
  [13905] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2514),
  [13907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2696),
  [13909] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3096),
  [13911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5464),
  [13913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(871),
  [13915] = {.entry = {.count = 1, .reusable = true}}, SHIFT(960),
  [13917] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6877),
  [13919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7186),
  [13921] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1782),
  [13923] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7705),
  [13925] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1358),
  [13927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7696),
  [13929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3589),
  [13931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1433),
  [13933] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2436),
  [13935] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2974),
  [13937] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2789),
  [13939] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2473),
  [13941] = {.entry = {.count = 1, .reusable = true}}, SHIFT(688),
  [13943] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2934),
  [13945] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5072),
  [13947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3002),
  [13949] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3003),
  [13951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4554),
  [13953] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3112),
  [13955] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1223),
  [13957] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5939),
  [13959] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5834),
  [13961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3347),
  [13963] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_function_type, 6, 0, 209),
  [13965] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2580),
  [13967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5062),
  [13969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1232),
  [13971] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1814),
  [13973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(755),
  [13975] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3576),
  [13977] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108),
  [13979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2723),
  [13981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(484),
  [13983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5773),
  [13985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(655),
  [13987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5132),
  [13989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6970),
  [13991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5276),
  [13993] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2600),
  [13995] = {.entry = {.count = 1, .reusable = true}}, SHIFT(874),
  [13997] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2227),
  [13999] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2282),
  [14001] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7480),
  [14003] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1938),
  [14005] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7745),
  [14007] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387),
  [14009] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5517),
  [14011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3390),
  [14013] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5880),
  [14015] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2625),
  [14017] = {.entry = {.count = 1, .reusable = true}}, SHIFT(923),
  [14019] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7930),
  [14021] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6879),
  [14023] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2337),
  [14025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1868),
  [14027] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4901),
  [14029] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7192),
  [14031] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4507),
  [14033] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7482),
  [14035] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1933),
  [14037] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7464),
  [14039] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3742),
  [14041] = {.entry = {.count = 1, .reusable = true}}, SHIFT(432),
  [14043] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5954),
  [14045] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5631),
  [14047] = {.entry = {.count = 1, .reusable = true}}, SHIFT(479),
  [14049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8630),
  [14051] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1298),
  [14053] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6343),
  [14055] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8083),
  [14057] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5093),
  [14059] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3427),
  [14061] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8629),
  [14063] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76),
  [14065] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1323),
  [14067] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8734),
  [14069] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8733),
  [14071] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7217),
  [14073] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3813),
  [14075] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_function_type, 3, 0, 101),
  [14077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1913),
  [14079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2702),
  [14081] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1961),
  [14083] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7202),
  [14085] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8264),
  [14087] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5723),
  [14089] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2507),
  [14091] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5729),
  [14093] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5732),
  [14095] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7257),
  [14097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2779),
  [14099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(454),
  [14101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(731),
  [14103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5127),
  [14105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5950),
  [14107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(476),
  [14109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(949),
  [14111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(497),
  [14113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3491),
  [14115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(502),
  [14117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(704),
  [14119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(431),
  [14121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4285),
  [14123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5188),
  [14125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1901),
  [14127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2038),
  [14129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4569),
  [14131] = {.entry = {.count = 1, .reusable = true}},  ACCEPT_INPUT(),
  [14133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6824),
  [14135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5791),
  [14137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5622),
  [14139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5669),
  [14141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5666),
  [14143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_function_type, 4, 0, 137),
  [14145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(481),
  [14147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(683),
  [14149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2758),
  [14151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5139),
  [14153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2987),
  [14155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(663),
  [14157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(911),
  [14159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6463),
  [14161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5603),
  [14163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5510),
  [14165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7443),
  [14167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(436),
  [14169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(687),
  [14171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1254),
  [14173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5154),
  [14175] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_function_type, 7, 0, 233),
  [14177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(638),
  [14179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5687),
  [14181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5594),
  [14183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5591),
  [14185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1104),
  [14187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(444),
  [14189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(612),
  [14191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(986),
  [14193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(590),
  [14195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(987),
  [14197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5570),
  [14199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5566),
  [14201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3752),
  [14203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(440),
  [14205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(586),
  [14207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2813),
  [14209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(684),
  [14211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2988),
  [14213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5554),
  [14215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5574),
  [14217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1838),
  [14219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(506),
  [14221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(729),
  [14223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1238),
  [14225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8215),
  [14227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(721),
  [14229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1296),
  [14231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5531),
  [14233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5530),
  [14235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1071),
  [14237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(467),
  [14239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(588),
  [14241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2114),
  [14243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403),
  [14245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(599),
  [14247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8042),
  [14249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5529),
  [14251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5526),
  [14253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(433),
  [14255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(624),
  [14257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8029),
  [14259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(631),
  [14261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6895),
  [14263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5522),
  [14265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5516),
  [14267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405),
  [14269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1853),
  [14271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(985),
  [14273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6875),
  [14275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1184),
  [14277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3570),
  [14279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7974),
  [14281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5824),
  [14283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3711),
  [14285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6845),
  [14287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2209),
  [14289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6842),
  [14291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6626),
  [14293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6840),
  [14295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1887),
  [14297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6838),
  [14299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4552),
  [14301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6837),
  [14303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(682),
  [14305] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6834),
  [14307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7939),
  [14309] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6833),
  [14311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3631),
  [14313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6828),
  [14315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5615),
  [14317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5611),
  [14319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5608),
  [14321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5597),
  [14323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5576),
  [14325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5558),
  [14327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5528),
  [14329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5515),
};

enum ts_external_scanner_symbol_identifiers {
  ts_external_token_multiline_comment = 0,
  ts_external_token_raw_str_part = 1,
  ts_external_token_raw_str_continuing_indicator = 2,
  ts_external_token_raw_str_end_part = 3,
  ts_external_token__implicit_semi = 4,
  ts_external_token__explicit_semi = 5,
  ts_external_token__arrow_operator_custom = 6,
  ts_external_token__dot_custom = 7,
  ts_external_token__conjunction_operator_custom = 8,
  ts_external_token__disjunction_operator_custom = 9,
  ts_external_token__nil_coalescing_operator_custom = 10,
  ts_external_token__eq_custom = 11,
  ts_external_token__eq_eq_custom = 12,
  ts_external_token__plus_then_ws = 13,
  ts_external_token__minus_then_ws = 14,
  ts_external_token__bang_custom = 15,
  ts_external_token__throws_keyword = 16,
  ts_external_token__rethrows_keyword = 17,
  ts_external_token_default_keyword = 18,
  ts_external_token_where_keyword = 19,
  ts_external_token_else = 20,
  ts_external_token_catch_keyword = 21,
  ts_external_token__as_custom = 22,
  ts_external_token__as_quest_custom = 23,
  ts_external_token__as_bang_custom = 24,
  ts_external_token__async_keyword_custom = 25,
  ts_external_token__custom_operator = 26,
  ts_external_token__hash_symbol_custom = 27,
  ts_external_token__directive_if = 28,
  ts_external_token__directive_elseif = 29,
  ts_external_token__directive_else = 30,
  ts_external_token__directive_endif = 31,
  ts_external_token__fake_try_bang = 32,
};

static const TSSymbol ts_external_scanner_symbol_map[EXTERNAL_TOKEN_COUNT] = {
  [ts_external_token_multiline_comment] = sym_multiline_comment,
  [ts_external_token_raw_str_part] = sym_raw_str_part,
  [ts_external_token_raw_str_continuing_indicator] = sym_raw_str_continuing_indicator,
  [ts_external_token_raw_str_end_part] = sym_raw_str_end_part,
  [ts_external_token__implicit_semi] = sym__implicit_semi,
  [ts_external_token__explicit_semi] = sym__explicit_semi,
  [ts_external_token__arrow_operator_custom] = sym__arrow_operator_custom,
  [ts_external_token__dot_custom] = sym__dot_custom,
  [ts_external_token__conjunction_operator_custom] = sym__conjunction_operator_custom,
  [ts_external_token__disjunction_operator_custom] = sym__disjunction_operator_custom,
  [ts_external_token__nil_coalescing_operator_custom] = sym__nil_coalescing_operator_custom,
  [ts_external_token__eq_custom] = sym__eq_custom,
  [ts_external_token__eq_eq_custom] = sym__eq_eq_custom,
  [ts_external_token__plus_then_ws] = sym__plus_then_ws,
  [ts_external_token__minus_then_ws] = sym__minus_then_ws,
  [ts_external_token__bang_custom] = sym__bang_custom,
  [ts_external_token__throws_keyword] = sym__throws_keyword,
  [ts_external_token__rethrows_keyword] = sym__rethrows_keyword,
  [ts_external_token_default_keyword] = sym_default_keyword,
  [ts_external_token_where_keyword] = sym_where_keyword,
  [ts_external_token_else] = sym_else,
  [ts_external_token_catch_keyword] = sym_catch_keyword,
  [ts_external_token__as_custom] = sym__as_custom,
  [ts_external_token__as_quest_custom] = sym__as_quest_custom,
  [ts_external_token__as_bang_custom] = sym__as_bang_custom,
  [ts_external_token__async_keyword_custom] = sym__async_keyword_custom,
  [ts_external_token__custom_operator] = sym__custom_operator,
  [ts_external_token__hash_symbol_custom] = sym__hash_symbol_custom,
  [ts_external_token__directive_if] = sym__directive_if,
  [ts_external_token__directive_elseif] = sym__directive_elseif,
  [ts_external_token__directive_else] = sym__directive_else,
  [ts_external_token__directive_endif] = sym__directive_endif,
  [ts_external_token__fake_try_bang] = sym__fake_try_bang,
};

static const bool ts_external_scanner_states[132][EXTERNAL_TOKEN_COUNT] = {
  [1] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token_raw_str_part] = true,
    [ts_external_token_raw_str_continuing_indicator] = true,
    [ts_external_token_raw_str_end_part] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_default_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token_else] = true,
    [ts_external_token_catch_keyword] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__async_keyword_custom] = true,
    [ts_external_token__custom_operator] = true,
    [ts_external_token__hash_symbol_custom] = true,
    [ts_external_token__directive_if] = true,
    [ts_external_token__directive_elseif] = true,
    [ts_external_token__directive_else] = true,
    [ts_external_token__directive_endif] = true,
    [ts_external_token__fake_try_bang] = true,
  },
  [2] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token_raw_str_part] = true,
    [ts_external_token_raw_str_end_part] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token__custom_operator] = true,
    [ts_external_token__hash_symbol_custom] = true,
    [ts_external_token__directive_if] = true,
    [ts_external_token__directive_elseif] = true,
    [ts_external_token__directive_else] = true,
    [ts_external_token__directive_endif] = true,
  },
  [3] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token_raw_str_part] = true,
    [ts_external_token_raw_str_end_part] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token_default_keyword] = true,
    [ts_external_token__custom_operator] = true,
    [ts_external_token__hash_symbol_custom] = true,
    [ts_external_token__directive_if] = true,
    [ts_external_token__directive_elseif] = true,
    [ts_external_token__directive_else] = true,
    [ts_external_token__directive_endif] = true,
  },
  [4] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token_raw_str_part] = true,
    [ts_external_token_raw_str_end_part] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__custom_operator] = true,
    [ts_external_token__hash_symbol_custom] = true,
    [ts_external_token__directive_if] = true,
    [ts_external_token__directive_elseif] = true,
    [ts_external_token__directive_else] = true,
    [ts_external_token__directive_endif] = true,
  },
  [5] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token_raw_str_part] = true,
    [ts_external_token_raw_str_end_part] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token_default_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__custom_operator] = true,
    [ts_external_token__hash_symbol_custom] = true,
    [ts_external_token__directive_if] = true,
    [ts_external_token__directive_elseif] = true,
    [ts_external_token__directive_else] = true,
    [ts_external_token__directive_endif] = true,
  },
  [6] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token_raw_str_part] = true,
    [ts_external_token_raw_str_end_part] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token_default_keyword] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__custom_operator] = true,
    [ts_external_token__hash_symbol_custom] = true,
    [ts_external_token__directive_if] = true,
    [ts_external_token__directive_elseif] = true,
    [ts_external_token__directive_else] = true,
    [ts_external_token__directive_endif] = true,
  },
  [7] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token_raw_str_part] = true,
    [ts_external_token_raw_str_end_part] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token_default_keyword] = true,
    [ts_external_token__custom_operator] = true,
    [ts_external_token__hash_symbol_custom] = true,
    [ts_external_token__directive_if] = true,
    [ts_external_token__directive_elseif] = true,
    [ts_external_token__directive_else] = true,
    [ts_external_token__directive_endif] = true,
  },
  [8] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token_raw_str_part] = true,
    [ts_external_token_raw_str_end_part] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__async_keyword_custom] = true,
    [ts_external_token__custom_operator] = true,
    [ts_external_token__hash_symbol_custom] = true,
    [ts_external_token__directive_if] = true,
    [ts_external_token__directive_elseif] = true,
    [ts_external_token__directive_else] = true,
    [ts_external_token__directive_endif] = true,
  },
  [9] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token_raw_str_part] = true,
    [ts_external_token_raw_str_end_part] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__custom_operator] = true,
    [ts_external_token__hash_symbol_custom] = true,
    [ts_external_token__directive_if] = true,
    [ts_external_token__directive_elseif] = true,
    [ts_external_token__directive_else] = true,
    [ts_external_token__directive_endif] = true,
  },
  [10] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token_raw_str_part] = true,
    [ts_external_token_raw_str_end_part] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__custom_operator] = true,
    [ts_external_token__hash_symbol_custom] = true,
    [ts_external_token__directive_if] = true,
    [ts_external_token__directive_elseif] = true,
    [ts_external_token__directive_else] = true,
    [ts_external_token__directive_endif] = true,
  },
  [11] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token_raw_str_part] = true,
    [ts_external_token_raw_str_end_part] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__custom_operator] = true,
    [ts_external_token__hash_symbol_custom] = true,
    [ts_external_token__directive_if] = true,
    [ts_external_token__directive_elseif] = true,
    [ts_external_token__directive_else] = true,
    [ts_external_token__directive_endif] = true,
  },
  [12] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token_raw_str_part] = true,
    [ts_external_token_raw_str_end_part] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token_else] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__custom_operator] = true,
    [ts_external_token__hash_symbol_custom] = true,
    [ts_external_token__directive_if] = true,
    [ts_external_token__directive_elseif] = true,
    [ts_external_token__directive_else] = true,
    [ts_external_token__directive_endif] = true,
  },
  [13] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token_raw_str_part] = true,
    [ts_external_token_raw_str_end_part] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token_else] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__custom_operator] = true,
    [ts_external_token__hash_symbol_custom] = true,
    [ts_external_token__directive_if] = true,
    [ts_external_token__directive_elseif] = true,
    [ts_external_token__directive_else] = true,
    [ts_external_token__directive_endif] = true,
  },
  [14] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token_raw_str_part] = true,
    [ts_external_token_raw_str_end_part] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__async_keyword_custom] = true,
    [ts_external_token__custom_operator] = true,
    [ts_external_token__hash_symbol_custom] = true,
    [ts_external_token__directive_if] = true,
    [ts_external_token__directive_elseif] = true,
    [ts_external_token__directive_else] = true,
    [ts_external_token__directive_endif] = true,
  },
  [15] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token_raw_str_part] = true,
    [ts_external_token_raw_str_end_part] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token__custom_operator] = true,
    [ts_external_token__hash_symbol_custom] = true,
    [ts_external_token__directive_if] = true,
    [ts_external_token__directive_elseif] = true,
    [ts_external_token__directive_else] = true,
    [ts_external_token__directive_endif] = true,
  },
  [16] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token_raw_str_part] = true,
    [ts_external_token_raw_str_end_part] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__custom_operator] = true,
    [ts_external_token__hash_symbol_custom] = true,
    [ts_external_token__directive_if] = true,
    [ts_external_token__directive_elseif] = true,
    [ts_external_token__directive_else] = true,
    [ts_external_token__directive_endif] = true,
  },
  [17] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__async_keyword_custom] = true,
    [ts_external_token__custom_operator] = true,
  },
  [18] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__custom_operator] = true,
  },
  [19] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_default_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__async_keyword_custom] = true,
    [ts_external_token__custom_operator] = true,
  },
  [20] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_default_keyword] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__async_keyword_custom] = true,
    [ts_external_token__custom_operator] = true,
  },
  [21] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token_default_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__custom_operator] = true,
  },
  [22] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token_default_keyword] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__custom_operator] = true,
  },
  [23] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__async_keyword_custom] = true,
    [ts_external_token__custom_operator] = true,
  },
  [24] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token_else] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__custom_operator] = true,
  },
  [25] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__custom_operator] = true,
  },
  [26] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [27] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [28] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [29] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__async_keyword_custom] = true,
    [ts_external_token__custom_operator] = true,
  },
  [30] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [31] = {
    [ts_external_token_multiline_comment] = true,
  },
  [32] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__eq_custom] = true,
  },
  [33] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token_else] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__async_keyword_custom] = true,
    [ts_external_token__custom_operator] = true,
  },
  [34] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__async_keyword_custom] = true,
    [ts_external_token__custom_operator] = true,
  },
  [35] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token_default_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token_else] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__custom_operator] = true,
  },
  [36] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_else] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__async_keyword_custom] = true,
    [ts_external_token__custom_operator] = true,
  },
  [37] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token_default_keyword] = true,
    [ts_external_token_else] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__custom_operator] = true,
  },
  [38] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_default_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [39] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_default_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [40] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__custom_operator] = true,
  },
  [41] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_default_keyword] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [42] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token_raw_str_part] = true,
    [ts_external_token_raw_str_end_part] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token__custom_operator] = true,
    [ts_external_token__hash_symbol_custom] = true,
    [ts_external_token__directive_if] = true,
    [ts_external_token__directive_elseif] = true,
    [ts_external_token__directive_else] = true,
    [ts_external_token__directive_endif] = true,
    [ts_external_token__fake_try_bang] = true,
  },
  [43] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token_else] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__custom_operator] = true,
  },
  [44] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token_default_keyword] = true,
  },
  [45] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__custom_operator] = true,
  },
  [46] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_default_keyword] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [47] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [48] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [49] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [50] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [51] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [52] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__dot_custom] = true,
  },
  [53] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token_where_keyword] = true,
  },
  [54] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__as_custom] = true,
  },
  [55] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__as_custom] = true,
  },
  [56] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_where_keyword] = true,
  },
  [57] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token_default_keyword] = true,
  },
  [58] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token__custom_operator] = true,
  },
  [59] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token_default_keyword] = true,
  },
  [60] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_default_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [61] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token_where_keyword] = true,
  },
  [62] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [63] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token_else] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__custom_operator] = true,
  },
  [64] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_default_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [65] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [66] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
    [ts_external_token__nil_coalescing_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__plus_then_ws] = true,
    [ts_external_token__minus_then_ws] = true,
    [ts_external_token__bang_custom] = true,
    [ts_external_token_else] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__as_quest_custom] = true,
    [ts_external_token__as_bang_custom] = true,
    [ts_external_token__custom_operator] = true,
  },
  [67] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_default_keyword] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [68] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [69] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [70] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token_else] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [71] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [72] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [73] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [74] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__eq_custom] = true,
  },
  [75] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_default_keyword] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [76] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token_default_keyword] = true,
    [ts_external_token_where_keyword] = true,
  },
  [77] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token_else] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [78] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [79] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
  },
  [80] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token_default_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__as_custom] = true,
  },
  [81] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [82] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token_default_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__as_custom] = true,
  },
  [83] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token_raw_str_part] = true,
    [ts_external_token_raw_str_end_part] = true,
    [ts_external_token__hash_symbol_custom] = true,
  },
  [84] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token_default_keyword] = true,
    [ts_external_token_catch_keyword] = true,
  },
  [85] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token_default_keyword] = true,
  },
  [86] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token_default_keyword] = true,
    [ts_external_token_else] = true,
  },
  [87] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token_where_keyword] = true,
  },
  [88] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__bang_custom] = true,
  },
  [89] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__fake_try_bang] = true,
  },
  [90] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [91] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [92] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [93] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token_else] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [94] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [95] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [96] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [97] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [98] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token_else] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [99] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token__as_custom] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [100] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [101] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token_where_keyword] = true,
  },
  [102] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [103] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token__async_keyword_custom] = true,
  },
  [104] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__as_custom] = true,
  },
  [105] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__as_custom] = true,
  },
  [106] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_where_keyword] = true,
  },
  [107] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_where_keyword] = true,
  },
  [108] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token_else] = true,
    [ts_external_token__as_custom] = true,
  },
  [109] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token_where_keyword] = true,
  },
  [110] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__as_custom] = true,
  },
  [111] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token_else] = true,
    [ts_external_token__as_custom] = true,
  },
  [112] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token_where_keyword] = true,
  },
  [113] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__as_custom] = true,
  },
  [114] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token__as_custom] = true,
  },
  [115] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__as_custom] = true,
  },
  [116] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token_where_keyword] = true,
  },
  [117] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token_where_keyword] = true,
  },
  [118] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
    [ts_external_token_where_keyword] = true,
  },
  [119] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token_catch_keyword] = true,
  },
  [120] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token__dot_custom] = true,
  },
  [121] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__arrow_operator_custom] = true,
    [ts_external_token__throws_keyword] = true,
    [ts_external_token__rethrows_keyword] = true,
  },
  [122] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__dot_custom] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
  },
  [123] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token_where_keyword] = true,
    [ts_external_token_else] = true,
  },
  [124] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__conjunction_operator_custom] = true,
    [ts_external_token__disjunction_operator_custom] = true,
  },
  [125] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__eq_custom] = true,
    [ts_external_token__eq_eq_custom] = true,
  },
  [126] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
    [ts_external_token__explicit_semi] = true,
    [ts_external_token_else] = true,
  },
  [127] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__implicit_semi] = true,
  },
  [128] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token_raw_str_part] = true,
    [ts_external_token_raw_str_end_part] = true,
  },
  [129] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token__arrow_operator_custom] = true,
  },
  [130] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token_raw_str_part] = true,
    [ts_external_token_raw_str_continuing_indicator] = true,
    [ts_external_token_raw_str_end_part] = true,
  },
  [131] = {
    [ts_external_token_multiline_comment] = true,
    [ts_external_token_else] = true,
  },
};

#ifdef __cplusplus
extern "C" {
#endif
void *tree_sitter_swift_external_scanner_create(void);
void tree_sitter_swift_external_scanner_destroy(void *);
bool tree_sitter_swift_external_scanner_scan(void *, TSLexer *, const bool *);
unsigned tree_sitter_swift_external_scanner_serialize(void *, char *);
void tree_sitter_swift_external_scanner_deserialize(void *, const char *, unsigned);

#ifdef TREE_SITTER_HIDE_SYMBOLS
#define TS_PUBLIC
#elif defined(_WIN32)
#define TS_PUBLIC __declspec(dllexport)
#else
#define TS_PUBLIC __attribute__((visibility("default")))
#endif

TS_PUBLIC const TSLanguage *tree_sitter_swift(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,
    .external_scanner = {
      &ts_external_scanner_states[0][0],
      ts_external_scanner_symbol_map,
      tree_sitter_swift_external_scanner_create,
      tree_sitter_swift_external_scanner_destroy,
      tree_sitter_swift_external_scanner_scan,
      tree_sitter_swift_external_scanner_serialize,
      tree_sitter_swift_external_scanner_deserialize,
    },
    .primary_state_ids = ts_primary_state_ids,
  };
  return &language;
}
#ifdef __cplusplus
}
#endif
